一种动态组网以实现资源共享的方法 【技术领域】
本发明涉及计算机网络与分布式计算技术领域,更确切地说是涉及一种在有限范围网络环境中,用于支持网络设备间的互联互通,包括动态组网进而实现资源共享的方法。背景技术
传统的网络技术为网络设备提供了基本的通讯和寻址方法,如传输控制协议/网际协议(TCP/IP协议)族,但尚缺乏一种与之相配套的、可以实现动态组网和资源共享的体系结构和方法。
本发明所涉及的动态组网包括三个含义:一是网络中的设备无需事先通过手工方式进行网络参数配置;二是可以动态地从网络中选择相关设备组成一个节点,节点可以用于实现单一设备无法完成的功能,或提高这些单一设备原功能的性能;三是两个节点之间可以直接通信和资源共享以扩展单一节点功能。
本发明所涉及的资源共享是指在不增加网络设备的前提下,网络中的设备能够方便地发布自身所能提供的资源,并能方便地检索并利用其他设备所能提供地资源。
国际上有多个组织和公司为分布式计算技术提出了不少标准和方法,不同程度地实现了网络设备间的动态组网和资源共享。
UPNP论坛提出过一套着眼于控制家电设备的网络体系结构,基于UPNP的网络设备可以动态地形成一个对等网络,网络中的各个设备可以动态地发布自身的资源和检索网络中其他设备的资源,但UPNP提供的是作为控制点的一个设备控制另一个设备的方法,不是实现多个设备间动态组网与资源共享的方法。
CORBA是由国际对象管理集团提出的一种跨平台的分布式计算技术,该技术要求网络中有一个专门的用以实现对象检索的中央服务器,其应用模型比较适合于客户/服务器(Client/Server)模式,不能很好地支持多个设备间的动态组网与资源共享及协作。
微软公司提出的DCOM分布式计算技术,但其实施仅限于微软的系统平台上,而且也只是提供了一个新的Client/Server计算平台。
目前兴起的各种Peer-to-Peer技术,着重考虑的是在因特网环境条件下,如何不依赖中央服务器实现资源共享,其中典型的技术方案有Freenet、Gnutella、和Napster,但它们所能实现的共享资源范围都太小,且大多局限于静态文件共享。
Grid提出了一种在跨组织或跨公司的网络环境中实现资源共享的技术,但到目前为止,该技术还仅是一种发展框架,未能给出动态组网与资源共享的具体实施方法。
综上所述,目前存在的各种分布式计算技术,虽然对于单个设备的特定资源发布与检索已经给出了多种解决方案,但都未能解决多个设备间动态组网与实现各种资源共享与协作的问题。发明内容
本文明的目的是设计一种动态组网以实现资源共享的方法,在有限范围网络(如IPV4网络)中,实现网络设备间的动态组网,资源共享,该方法能够实现多个设备的动态组网与资源共享。网络中的设备无需进行网络参数的预置,就可动态地自由组成节点;网络中的每个设备,既可发布自己的资源,也可检索并利用其它设备的资源。
本发明所述的设备包括台式计算机、笔记本电脑、个人数字助理机(PDA)、计算机外部设备以及一些智能家用电器等,通过设备代理和协议网关,这些设备还可以与一些传统的家用电器设备进行交互。
为了实现上述的目的,本发明提供了一种动态组网以实现资源共享的方法,其特征在于包括以下步骤:
A.在有限范围网络中同一广播域内的每个需要实现动态组网与资源共享的设备上安装一动态组网与资源共享软件,包括:网络传输层模块,负责数据发送与接收;设备管理层模块,建立设备间连接关系的控制与管理;服务管理层模块,实现设备自身或节点的服务管理,这些设备以广播方式定期地向网络传送设备宣告消息;
B.由一个设备充当公共节点控制设备,创建公共节点,并以广播方式宣告其存在消息;
C.要求加入公共节点的设备,向公共节点的节点控制设备注册本设备所能提供的服务信息;
D.加入公共节点的设备通过向公共节点控制设备索引或侦听专用节点宣告消息的方式,以获取需要的服务信息创建一个新的专用节点或加入一个已有的专用节点,专用节点的节点控制设备以广播方式宣告其存在消息;
E.在不存在公共节点控制设备的广播域中,设备通过广播和多播方式查找或侦听所需要的服务信息或专用节点宣告消息,以创建一个新的专用节点或加入一个已有的专用节点,专用节点的节点控制设备以广播方式宣告其存在消息;
F.专用节点的节点控制设备,索引公共节点的节点控制设备,查询并获取网络中存在的服务信息;
G.专用节点的节点控制设备,根据查询结果邀请具有所需要服务信息的设备加入专用节点;
H.专用节点的节点控制设备向加入专用节点的设备发送服务调用信息和服务之间的协同控制信息。
本发明通过创建公共节点与专用节点,对多个服务(设备)进行动态组合,以实现资源共享;一个公共节点存在一个能够完成节点管理的服务实体(设备),该公共节点的其余服务(设备)均向此服务(设备)注册,并接受该实体(设备)的管理;缺省属于统一公共节点的所有服务实体(设备),都可以创建一个公共节点外的专用节点,可以邀请其它服务实体(设备)加入到新创建的专用节点中;一个新的公共或专用节点创建后,由其节点管理服务实体负责向网络宣告其存在消息,其它服务实体在收听到该公共或专用节点宣告消息后,就可以向公共或专用节点的管理服务实体(设备)提出加入申请。从而实现了网络中的每个设备,既可发布自已资源,也可检索并利用其它设备资源的发明目的。
本发明的一种动态组网以实现资源共享的方法,其特征在于进一步包括公共节点或专用节点间的通讯方法:包括:
I.分别由源公共节点或专用节点控制设备、目标公共节点或专用节点控制设备向网络发送各自节点的节点宣告消息;
J.源公共节点或专用节点控制设备、目标公共节点或专用节点控制设备分别通过发起请求和接收请求的过程,建立起两公共节点或专用节点间的资源共享关系并交换资源信息;
K.源公共节点或专用节点内的设备向源公共节点或专用节点控制设备发起并经目标公共节点或专用节点控制设备转发调用目标公共节点或专用节点内设备资源的请求;
L.由目标公共节点或专用节点内设备向目标公共节点或专用节点控制设备发回并经源公共节点或专用节点控制设备转发给源公共节点或专用节点内设备的资源调用响应。
本发明通过两个节点间(包括公共节点与公共节点间、专用节点与专用节点间和公共节点与专用节点间)的通讯机制,建立起资源共享关系,就可以相互交换节点资源信息,两个节点中的设备就可以通过各自的节点控制设备进行资源共享。附图说明
图1是将各种物理网络设备在本发明中从功能角度抽象为一个逻辑设备的设备逻辑模型结构示意图;
图2是本发明设备公共节点的构成示意图;
图3是本发明的节点(公共与专用)生成过程示意图;
图4是本发明节点间通讯过程示意图;
图5是本发明节点生成机制用于家庭网络时的结构示意图;
图6是本发明节点生成机制用于会议室时的结构示意图。具体实施方式
本发明的方法不需要在网络原有设备基础上增加任何新的设备,只需要在希望具备动态组网和资源共享功能的设备上安装额外的软件,由该软件实现本发明在有限范围网络环境下的动态组网与资源共享:一个设备可以智能地与其它设备建立底层通讯链路;向其它设备宣告自身相关的信息;发现网络中其它具有该软件的设备,动态地与它们按需要智能地形成一个节点(多个服务的组合),从而支持分布在多个设备上的服务共享与集成,该服务由具有一定功能的资源实体提供,包括软件或硬件或软件与硬件的协作,如打印机通过打印驱动程序由打印机物理设备自身提供打印服务。
参见图1,是实施本发明方法中各种物理网络设备从功能角度抽象为一个逻辑设备的模型结构,由上而下包括服务管理层11、设备管理层12和网络传输层13。其中,网络传输层13负责数据的发送与接收;设备管理层12实现对设备间连接关系建立的控制与管理,如实现设备间的身份认证等;服务管理层11实现设备本身或设备节点的服务管理,如对服务调用安全性的检查等。
实施本发明的方法需要在网络中形成由多个设备构成的节点,在该节点中需要有一个设备实现节点管理功能,这个实现节点管理功能的设备就是节点控制设备,也即一个节点由一个节点控制设备和可能的多个设备构成。节点控制设备上必须存在一个能够完成节点管理功能的服务实体,实施本发明方法的每个设备上,都可以存在能够完成该节点管理功能的服务实体,但在一个节点内部,同一时刻只有一个设备上的节点管理服务实体处于活动状态。
节点控制设备可以由用户指定也可以动态产生。
本发明的节点包括公共节点和专用节点两种节点类型,同一广播域中所有的服务实体都缺省属于一个统一的公共节点,而任何一个服务实体均可创建一个公共节点外的专用节点。
参见图2,是实施本发明方法的节点构成示意图,设备1、设备2、设备3和设备4连接在局域网或无线局域网(LAN/WLAN)上,椭圆内的设备1、设备2和设备3构成了一个节点。设备1上存在一个管理本节点的服务实体NMS1(NodeManager Service),形成节点控制设备,设备2和设备3分别为服务器(Service)1和服务器(Service)2。
参见图3,图中,设备1、设备2、设备3和设备4连接在局域网或无线局域网(LAN/WLAN)上,其中GNMS(Global Node Manage Service)为设备1上的一个实现公共节点管理的服务实体,SNMS(Specific Node Manage Service)为设备2上一个实现专用节点管理的服务实体,Service 1是设备3上的一个服务,Service 2是设备4上的一个服务。
图中各个步骤含义如下:
步骤1,设备1创建公共节点,并向网络LAN/WLAN宣告其公共节点消息;
步骤2、步骤3和步骤4,分别为设备2、设备3和设备4将自身加入公共节点;
步骤5,设备2创建一个新的专用节点,并向网络宣告相关专用节点消息;
步骤6,设备2通过公共节点查询网络中存在的服务信息;
步骤7,设备1向专用设备2返回相关服务信息;
步骤8,设备2邀请Service 1所在的设备3加入专用节点;
步骤9,设备3加入专用节点;
步骤10,设备2邀请Service 2所在的设备4加入专用节点;
步骤11,设备4加入专用节点;
步骤12,设备2向Service 1发送服务调用信息;
步骤13,设备2向Service 2发送服务调用信息。
图3中示出一个节点的生成过程(一个完整的节点生成和解散过程应包括:设备寻址,设备宣告,节点创建,节点扩充,节点销毁,公共节点管理和设备选举等步骤)。
在上述步骤中,处于同一个广播域的所有设备都缺省属于一个统一的公共节点。任何设备在其自身能力允许的条件下,都可以充当公共节点的节点控制设备,但同一时刻,同一广播域中只允许存在一个公共节点控制设备,如设备1。公共节点的生存周期是在网络中不存在控制设备的时候自动消失。
如果设备所处的广播域中存在公共节点,则该设备应加入该公共节点。设备加入公共节点后,应向该公共节点的控制设备注册本设备的服务信息。由公共节点控制设备管理节点内所有设备的服务,公共节点对各设备服务的管理仅仅起服务索引作用。
网络中的任何一个设备均可创建一个公共节点外的专用节点,如设备2,该设备可以邀请其他设备加入到新创建的专用节点中。除了公共节点的控制设备外,一个设备在同一时刻只能在一个节点中处于活动状态,而专用节点的生存周期则由创建该专用节点的节点控制设备维护。
节点的生命周期由节点的控制设备控制,如设备1、设备2,当控制设备决定销毁先前创建的节点时,应向节点中的各个设备发送节点退出通知。一个设备退出所参与的节点时,应在公共节点的控制设备上注销所有本设备的服务信息。
一个新的节点(包括公共和专用节点)创建后,由该节点的节点控制设备,即图中的设备1、设备2负责向网络宣告该节点的存在信息,节点宣告消息以广播形式发送。其他设备收听到该节点宣告信息后,就可以向该节点的节点控制设备,如设备1、设备2提出加入申请。
网络中的所有设备以广播方式进行设备信息宣告,它们定期地向网络多播传送设备宣告消息,在消息中指明设备类型、设备名称和设备标识符等相关属性信息,供其它设备据此获取该设备的相关信息。设备寻址时,采用由IETF的ZEROCONF工作组提出的本地IP地址配置方法,为设备的每个网络接口增加一个169.254/16网段的IP地址,其IP地址的分配机制可以有效地保证在一个广播域内不会产生IP地址冲突现象,同时也省去了原本用户所需要的手工网络参数配置。
节点控制设备定期地向网络宣告自身的存在消息,节点宣告消息应包括节点控制设备的IP地址,该节点的节点类型、该节点的节点标识符及相关属性信息。节点宣告消息以广播形式发送,节点宣告消息中包含节点控制设备的169.254/16网段地址。如果节点控制设备上还具有可路由的IP地址,则应同时以多播形式发送包含可路由IP地址信息的节点宣告消息。
网络中的任何设备都可以通过主动或被动的方式来查找网络中存在的节点。其中的主动方式是设备以广播形式或多播形式(具有可路由IP时)向网络发送节点查找消息。符合查找条件的节点控制设备则以单播形式向该查找设备发送节点宣告消息;被动方式是设备侦听指定的广播地址和多播地址,以获取处于同一广播域或处于不同广播域中的节点的消息。
一个设备发现网络中存在有节点消息时,可以向该节点的控制设备发起节点加入请求,由节点控制设备决定是否允许该设备加入节点,即实现节点扩充。
节点控制设备也可以通过侦听网络上的设备宣告消息以获取当前网络上的设备信息,节点控制设备可以向设备发起节点加入邀请,由设备决定是否加入该节点。
参见图4,图中示出节点间的通讯机制。设备1、设备2、设备3和设备4连接在局域网或宽带局域网(LAN/WLAN)上,其中NMS1(Node Manage Service)为设备2上的一个实现公共或专用节点1管理的服务实体,NMS2(Node ManageService)为设备3上一个实现公共或专用节点2管理的服务实体,SerVice 1是节点1中设备1上的一个服务,Service 2是节点2中设备4上的一个服务。NMS1与NMS2实现节点间通讯机制的步骤如下:
步骤1,设备2向网络中发送节点1的节点宣告消息;
步骤2,设备3向网络中发送节点2的节点宣告消息;
步骤3,节点1向节点2发起资源共享请求;
步骤4,节点2接受节点1资源共享请求,节点1和节点2间建立节点间资源共享关系;
步骤5,节点1与节点2交换节点资源信息;
步骤6,节点1中设备1上的Service 1向节点1控制设备发起到节点2中设备4上Service 2的调用请求;
步骤7,节点1控制设备转发调用请求给节点2控制设备;
步骤8,节点2控制设备转发调用请求给设备4;
步骤9,设备4的Service 2将调用响应发回给节点2控制设备;
步骤10,节点2控制设备转发调用响应给节点1控制设备;
步骤11,节点1控制设备转发调用响应给设备1。
上述步骤中,两个不同公共或专用节点间的通讯机制通过各自的节点控制设备实现。两个节点的控制设备可以通过对方的节点宣告消息发现对方。一个节点的控制设备(称为源节点控制设备)可以向另一个节点的控制设备(称为目标节点控制设备)发起资源共享请求。目标节点控制设备根据自身的安全策略,作出允许或拒绝源节点的节点资源共享请求。两个节点建立起资源共享关系后,可以相互交换节点资源信息。两个节点中的设备可以通过各自的节点控制设备进行资源共享。其中的调用响应包括服务调用信息和服务之间的协同控制信息。
参见图5,虚线框内示意出采用本发明方法组成的家庭网络系统结构,可以实现家庭内部网络的动态组网以及对家电的智能控制。图中,51为家庭网关设备,52为电灯装置,53为电视装置,54为音响装置,55为PC设备,56为提供无线接入的AP设备,通过无线局域网连接移动设备58(包括PDA,笔记本等)。其中的家庭网关51具有低功耗,不断电的性能,此外还应具有多种网络接口,如接口1为外部因特网接口,连接因特网;接口2为RS232接口,连接电灯52、电视53及音响54等;接口3为以太网接口,连接PC机55、AP机56等。可以人为指定家庭网关51为该网络中的公共节点控制设备。
家庭中的网络设备,如PC设备55、移动设备58进入以太网后即可通过侦听公共节点消息发现以家庭网关51为控制设备的公共节点。
家庭中的传统家用电器设备,如电灯52、电视53、音响54等可以通过标准的家庭网络协议,如CEBus等,通过各种家庭网络标准接口,如RS232接口接到家庭网关51上。家庭网关51上通过运行一个CEBus网络代理服务实体实现对CEBus网络服务的发布和控制。
PC机55或移动设备58加入公共节点后,即可通过公共节点控制设备-家庭网关51提供的节点服务、检索服务,发现家庭网络中的各个设备,可通过创建专用节点或在公共节点控制设备的管理下,进而对其实施控制。如可用PC机55、移动设备58的PDA控制电视53、音响54等。
同理,采用本发明的节点生成机制,本家庭外的设备也可通过因特网、家庭网关51提供的网络接入服务,接入到本家庭网络中,进而加入本家庭网络节点中,实现对家庭电器的远程控制。
参见图6,图中示意出将本发明方法应用于会议室环境中,可组成智能会议室结构。图中,61为提供无线接入的AP设备,62为网络打印机,67为PC设备,AP设备61、网络打印机62及PC设备通过以太网连接;参会笔记本1(63)、参会笔记本2(64)、...参会笔记本N(65),无线投影仪66及PDA、手机等(图中未示出)作为移动设备,并通过无线局域网与AP设备连接。
图中所示的会议室环境中,提供了无线接入的AP设备61、网络打印机62和PC设备67,无线投影仪66为会议室常驻设备,就AP设备61、网络打印机62和无线投影仪66的功能和性能来说,均不足以充当公共节点控制设备。当多个(如N个,N为正整数)参会笔记本进入会议室环境后,由会议管理员从PC设备67和N个参会笔记本中指定一个设备作为公共节点控制设备。
网络打印机62和无线投影仪66通过侦听公共节点宣告消息可以将自身的服务注册到该公共节点控制设备上。
公共节点形成后,所有参会笔记本无需事先安装打印机驱动程序,也无需直接连接到无线投影仪上,即可实现对它们的有序控制,包括各个参会笔记本,通过创建专用节点,均会在公共节点控制设备控制下,使用无线投影仪66和网络打印机62,不会发生冲突。
本发明设备所能提供的服务,均可基于标准的WSDL语言进行描述,并可根据规范做一定的扩展。