用于提供受控设备列表的网络设备、系统与方法

文档序号:6398411阅读:99来源:国知局
专利名称:用于提供受控设备列表的网络设备、系统与方法
技术领域
本发明涉及一种用于提供受控设备列表的网络设备、系统与方法,更具体地,涉及一种用于提供受控设备列表的网络设备、系统与方法,其中连接在网络中的每个受控设备都具有其他受控设备列表,并且在从控制点收到搜索特定受控设备的消息时,该受控设备可代表该特定受控设备发送响应消息给该控制点。
背景技术
一般地,家用网络由基于因特网协议(IP)的专用网络构成,并且通过把它们连接在单一的网络中,控制各种装置,诸如在家里室内使用的所有类型的个人计算机,智能产品与无线装置。
至于家用网络方法,已经提出了一种方法,其中就专用网络中现有的装备而言建立被称为“中间件”的公共虚拟计算环境,并且向该中间件提供应用程序。中间件允许家用网络中各种类型装备之间的通信。至于中间件,目前为止已经提出了家用AV互操作性(Nome AV Interoperability)(HAVI),通用即插即用(UPnP),Jini,以及家用万维网(HWW)。
家用网络中的各种装备通过这类家用中间件借助对等类型网络(Peer-to-Peer type network)相互连接,并且各种设备使用由动态主机配置协议(此后称为“DHCP”)服务器分配的或者通过自动'指定函数(Auto IP)选择的IP地址。
即,当开始连接到家用网络时,每一设备搜索DHCP服务器,并且根据来自DHCP服务器的响应取得所分配地址或者在其中没有DHCP服务器运行的网络情况下,通过使用Auto IP在预定范围内自动选择IP地址。
这些使用由DHCP服务器分配的或者由Auto IP选择的IP地址的装备与网络中其他装备通过使用发送控制协议/互连网协议(TCP/IP)通信,并且可以在网络中通过IP地址被搜索与引用。
另外,在诸如UPnP等家用网络中间件中,诸如简单服务发现协议(此后称为“SSDP”)等协议被用做搜索该家用网络中现有装备的方法。此处,SSDP可以大致分为两种类型多播搜索(M-搜索)消息,用来搜索控制点(此后称为“CP”)所希望的给定类型的受控设备(此后称为“CD”);以及在CD通报其自身状态时使用的通报消息(notify information)。对于通报消息,有在CD被连接到网络并且被分配了其自身的IP之后发送的通报有效消息,以及在CD被从网络中正常移除时发送的通报离开消息。即,如果CD被连接到网络,则通过Auto-IP方式或者由DHCP服务器分配IP地址给该CD,然后通过用户数据报协议(UDP)多播,该CD发送通报有效消息以通报该CD已经被添加到了网络上。然而,因为该CD不知道UDP包是否被正确地传送,所以该CD反复发送几次同一通报有效消息给同一多播地址。
另外,如果CD从用户或者应用程序接收到进行特定服务的命令,则该CD创建用于搜索进行相关服务必须的给定类型CD的多播搜索消息,并且通过UDP多播发送该多播搜索消息。类似于刚才就DC反复发送通报有效消息所讨论的情况,根据UDP多播,因为该CP不知道所发送的多播搜索消息的传送状态,所以该CP多于一次地反复发送同一多播搜索消息到同一多播地址。
另外,如果该CD的类型符合该CP所请求的类型,则已从CP接收到多播搜索消息的CD生成并且发送多播搜索响应消息给该CP。然后,该CP收集对其所发送的多播搜索消息的响应消息,选择特定CD并且如果需要的话,在该CP高速缓存中存储有关于所选择的CD的信息。此后,该CP可以通过所收集的CD信息与存储在其高速缓存中的CD信息来控制进行相关服务所需CD。
同时,如果CD被从网络中正常移除,则该CD首先生成通报离开消息并且通过UPD多播发送该消息。然后,已经接收到该消息的CP删除存储在其高速缓存中的相关CD消息。
图1为显示现有技术中控制家用网络现有UPnP受控设备的操作过程的图。控制点CP1-CP3各自进行用于搜索连接到网络的设备的发现处理,以使用所希望的服务。每个发现处理都使用用来发送多播包到所有连接到网络的设备的多播搜索方法。然而根据所使用的UDP方法,不可能确定该多播包是否已经被接收。
首先,如果CP 2000到2200各自进行用于搜索所希望的设备的发现处理,则连接到网络的CD 1000到1500回应作为设备包的响应消息。然而,当有关包被丢失时,从CP2 2100发送的寻找CD 1000到1500的多播搜索消息可能不会被传送到CD2 1100,或者已经接收到该多播搜索消息的CD3 1200可能不能发送多播搜索响应消息到CP2 2100。在这种情况下,CP2 2100不能发现有关CD。
图2为显示这样一种情况的图在现有技术的家用网络中,控制点没有收到已经由受控设备CD2(1100)发送的、对于从控制点CP1(2000)发送的设备包的响应消息100。图3为显示这样一种情况的图在现有技术的家用网络中,受控设备CD2(1100)没有收到从控制点CP1(2000)发送的设备包200。
图4为显示这样一种情况的图在现有技术的家用网络中,控制点CP1(2000)不知道已被非正常移除的受控设备CD1(1000)的状态。如果CD 1000到1200被从网络中正常移除,则CD 1000到1200准备其通报离开消息,并且将它们通过UDP多播发送。然后,已经接到通报离开消息的CP 2000从其高速缓存2010中删除有关相关CD的信息。由此,CP可以知道相关CD在网络中不存在。
然而,在CD 1000到1200中已经连接并且运行的任意一个非正常地终止其运行的情况下,该CD不能发送通报离开消息,并且由此CP 2000的高速缓存2010会错误地认为相关CD仍然有效。这些错误的缓存信息保持到经过了与该信息一起记录在CP 2000的高速缓存2010中的的该CD的有效期。即,因为UPnP发现机制能够只有通过由相关CD发送的通报有效消息或者通报离开消息才能知道保存在高速缓存中的CD信息,所以如果相关CD被非正常地终止,则没有办法来通知CP相关CD的这些非正常移除。
因此,需要一种方法与设备,其中连接到UPnP的CD能够多播通报消息以相互通报CD自身的状态,或者也能够解决缓存一致性问题,即在相关CD非正常地停止操作的情况下,即因为保存在CP 2000中的缓存中的其有效期,相关CD被识别为运行的。

发明内容
本发明用来解决上述问题。本发明的目的在于提供一种网络设备、系统与方法,用来提供受控设备列表,其中连接到网络中的每个受控设备都具有其他受控设备列表,并且在从控制点收到搜索特定受控设备的消息时,该受控设备能够代表特定受控设备发送响应消息给该控制点。
本发明的另一目的在于提供一种网络设备、系统与方法,用来提供受控设备列表,其中当受控设备更新其自身的其他受控设备列表时发现特定受控设备在网络中不存在时,它们通报控制点该不存在,以从该控制点的高速缓存中删除在该网络中不再存在的该控制设备,由此能够识别当前运行的受控设备的准确状态。
根据达到这些目的的本发明的一个方面,提供了一种网络设备,包括消息接收模块,用来接收从连接在网络中的受控设备发送的通报消息;设备列表管理模块,用来收集有关连接在该网络中受控设备的信息,并且创建和管理所有连接在该网络中的受控设备的服务信息的列表;以及控制模块,用来在所述设备列表管理模块中搜索已经被控制点请求的特定受控设备的服务信息,并且发送所搜索的信息。
根据本发明的另一方面,提供了一种用于提供受控设备列表的方法,包括接收从连接在网络中的受控设备发送的通报消息;通过所接收的通报消息,收集有关连接在该网络中受控设备的信息,并且生成受控设备列表;接收对于特定受控设备的信息请求消息;在所生成的列表中,搜索有关特定受控设备的信息,对于该特定受控设备来说收到信息请求消息;以及发送有关所搜索的特定受控设备的信息。


本发明的以上及其他目的、特征与优点将从结合附图的、对优选实施方式的下面描述中变得显而易见,其中图1为显示控制现有技术的家用网络中现有UPnP受控设备的操作过程的图;图2为显示这样一种情况的图在现有技术的家用网络中,控制点没有收到已经由受控设备发送的、对于从控制点发送的设备包的响应消息;图3为显示这样一种情况的图在现有技术的家用网络中,受控设备没有收到从控制点发送的设备包;图4为显示这样一种情况的图在现有技术的家用网络中,控制点(2000)不知道已被非正常移除的受控设备的状态;图5为示意性地显示根据本发明的用来提供受控设备列表的网络系统的整体结构的图;图6为显示根据本发明用于提供受控设备列表的、网络系统的受控设备的内部配置的图;图7为泛泛地显示根据本发明的提供受控设备列表的方法的流程图;图8为显示在根据本发明提供受控设备列表的方法中初始化过程的图;图9为显示在根据本发明提供受控设备列表的方法中,通过受控设备接收从其他受控设备发送的通告有效消息的过程的图;图10为显示在根据本发明的提供受控设备列表的方法中,通过受控设备接收从控制点发送的搜索消息的过程的图;图11为显示在根据本发明提供受控设备列表的方法中,确定是否生成令牌的过程的图;图12为显示在根据本发明提供受控设备列表的方法中,生成并且传送令牌的过程的图;图13为显示在根据本发明提供受控设备列表的方法中,由前一个受控设备发送令牌到受控设备的过程的图;图14为显示在根据本发明提供受控设备列表的方法中协商过程的图;图15为显示在根据本发明提供受控设备列表的方法中,代表其他受控设备发送通报离开消息的过程的图;图16为显示在根据本发明的提供受控设备列表的网络系统的运行中,受控设备与其他受控设备的连接操作的图;图17为显示在根据本发明的提供受控设备列表的网络系统的运行中,由受控设备对从控制点发送的搜索消息作出响应的操作的图;图18为显示在根据本发明的提供受控设备列表的网络系统的运行中,发送令牌与列表的操作的图;图19为显示在根据本发明的提供受控设备列表的网络系统的运行中,受控设备之间协商操作的图;图20A与20B为显示在根据本发明的提供受控设备列表的网络系统的运行中,代表其他受控设备发送通报离开消息的操作的图。
具体实施例方式
现在参照附图详细描述本发明的优选实施方式。
图5为示意性地显示根据本发明的用来提供受控设备列表的网络系统的整体结构的图。该网络系统包括接入点3000,控制点(CP)2000到2200,以及受控设备(CD)1000到1500。
接入点3000为用来将控制点2000到2200连接到受控设备1000到1500的设备,受控设备1000到1500通过无线通信网络与该接入点连接。
通过发送搜索网络中现有的受控设备1000到1500的发现包并且接收有关的响应消息,控制点2000控制网络中现有的受控设备1000到1500。
受控设备1000接收从连接到网络中的其他受控设备1100到1500发送的通报消息,生成并且管理所有连接到网络中的受控设备1000到1500的信息列表,并且搜索和发送有关由控制点2000请求的特定受控设备的信息。受控设备的配置与运行此后将参照附图6更详细地描述。
图6为显示在根据本发明的用于提供受控设备列表的该网络系统的受控设备1000的内部配置的图。受控设备1000包括设备列表管理模块1021,协商模块1022,消息接收模块1023,令牌管理模块1024,定时器管理模块1025,以及控制模块1026。
消息接收模块1023接收从连接到网络的受控设备1000到1500发送的通告消息,以及从控制点2000(图5)发送的搜索(M-搜索)消息。
设备列表管理模块1021收集有关连接到网络的受控设备1000到1500的信息,并且生成并管理连接到网络的所有受控设备1000到1500的服务信息列表。
控制模块1026在设备列表管理模块1021之内并且从其中搜索并发送有关控制点2000所请求的特定受控设备的服务信息。另外,通过检查在受控设备中是否存在令牌,控制模块1026响应来自控制点2000的信息请求消息,并且在检查了是否存在令牌之后,检查有关该受控设备的状态信息。此处,可以将状态信息认为是初始状态、有效状态或者停止状态。初始状态指包括在由受控设备自身所保持的受控设备列表中的受控设备的数目为1的状态(即,在列表中只有该设备自身),并且是只能够在该受控设备的初始状态中取得的状态。当受控设备列表被更新并且因此受控设备数目从初始状态变为多于2时,受控设备1000将其自身的状态变为有效状态。有效状态指其中受控设备自身目前具有令牌并且正在进行服务的状态。停止状态为其中受控设备完成服务执行并且当前未运行的状态。同时,检查是否存在令牌通过使用状态信息来进行,令牌管理模块1024生成令牌,发送所生成的令牌到另一受控设备并且管理令牌。
定时器管理模块1025生成自定时器与等待定时器。在由令牌管理模块1024所管理的令牌被传送给另一受控设备的情况下,自定时器检查另一受控设备的响应时间,令牌向所述另一受控设备发送。即,当把令牌交给另一受控设备或者等待响应(ACK)时,每个受控设备开始运行其自定时器,并且在接收到来自其他受控设备的响应时终止该自定时器。另外,当自定时器运行时,如果没从其他受控设备接到响应(例如),则在经过了特定时间段后,该受控设备重试自定时器的运行(例如三次)。如果即使在自定时器已经重试运行三次之后仍然没有收到响应,则该受控设备代表其他受控设备发送通知离开消息,从其自身的列表中删除其他受控设备,并且进行下一操作。
同时,等待定时器检查对于网络中现有受控设备的令牌总循环时间。即,等待定时器为这样的定时器其使特定受控设备预测运行终止定时,该定时与保持在该特定受控设备所保持的受控设备列表中的受控设备的数目成比例的,并且在特定受控设备正常地完成其服务运行之后,使该特定受控设备准备就绪而等待一段时间直至所预测的定时。如果经过了由等待定时器设定的时间,则生成新的令牌,并且将该令牌与列表发送给下一个受控设备。另外,所有保持在停止状态中的受控设备有运行其等待定时器。在当应该运行其等待定时器的时刻包含在由相关受控设备所保持的列表中的受控设备的数目为1的情况下,在改变其状态为停止状态之后,相关受控设备发送通报有效消息给其他受控设备并且运行等待定时器,以通报其他受控设备相关设备为有效。
同时,自定时器与等待定时器不同时运行,并且只有与受控设备1000的当前状态相适合的定时器运行。
如果在网络中现有受控设备中存在多个令牌,则协商模块1022控制每个令牌的有效性。此处,协商模块1022使用每个受控设备的令牌来确定是否存在多个令牌。另外,通过相互比较包括在存储在具有令牌的受控设备中受控设备列表中的受控设备的数目,协商模块1022控制每个令牌的有效性。如果作为比较的结果,包括在受控设备的各个列表中的受控设备的数目相等,则协商模块1022通过相互比较在列表中注册的各个受控设备的网络剩余持续时间的合来控制每个令牌的有效性。此处,当每个受控设备发送通报有效消息时,每个受控设备的网络剩余持续时间的合被一起发送,并且根据每个受控设备的持续时间来计算。
图7为泛泛地显示根据本发明的提供受控设备列表的方法的流程图。首先,通过接收来自连接到网络的其他受控设备(1100到1500)的通报消息,受控设备1000(图6)进行准备其他受控设备列表的初始化过程(S100)。
此后,受控设备1000进行生成令牌的令牌生成确定过程,传送所生成的令牌给另一受控设备的令牌传送过程,以及接收令牌的令牌接收过程(S200、S300、S400)。在网络现有受控设备1000到1500中存在多个令牌的情况下,执行控制每个令牌的有效性的协商过程(S500)。在未以其他受控设备发送响应消息的条件下,执行用于通知控制点2000特定受控设备1000被从网络中移除的通报离开消息传送过程(S600),并且还执行用于从控制点2000接收搜索消息的搜索消息接收过程,该搜索消息接收过程搜索有关特定受控设备的信息的搜索消息。此处,上面描述的每个过程都可以根据环境并行进行。此后将参照图8至15更详细地描述提供受控设备列表的方法。
图8为显示在根据本发明提供受控设备列表的方法中初始化过程的图。首先,如果受控设备1000(图6)被连接到到网络,则受控设备1000多播受控设备1000被连接到网络的消息(S110)。然后,作为对从受控设备1000所发送的消息的响应,已经连接到网络的其他设备1100到1500发送传送有关其自身的信息的通告有效消息(S120)。
此后,通过收集有关连接到网络的其他受控设备1100到1500的信息,借助所发送的通报有效消息,受控设备1000生成受控设备列表(S130)。
此处,其中从受控设备1000到1500接收通告有效消息的过程“A”,以及其中从控制点接收搜索消息的过程“B”,可以与初始化过程并行进行。
图9为显示在根据本发明提供受控设备列表的方法中,通过受控设备接收从其他受控设备发送的通告有效消息的过程图,其相应于图8的步骤S120或者过程“A”。
此处,其他受控设备1100到1500发生通告有效消息给受控设备1000(S121),并且受控设备1000检查是否从其他受控设备1100到1500接收到通告有效消息(S122)。如果从其他受控设备1100到1500接收到通告有效消息,则受控设备1000向受控设备1000的设备列表管理模块1021添加其他已经发送了通告有效消息的受控设备(S123)。
图10为显示在根据本发明的提供受控设备列表的方法中,通过受控设备接收从控制点发送的搜索消息的过程的图,其相应于图8的过程“B”。
首先,如果控制点2000向受控设备1000多播搜索消息(S151),则受控设备1000检查是否从控制点S2000接收到搜索消息(S152)。如果从控制点S2000接收到搜索消息,则受控设备1000进行搜索以确定在其设备列表管理模块1021中是否存在由所接收的搜索消息所请求的受控设备类型(S153)。
此后,受控设备1000确定其自身的状态是否为有效状态(S154)。此处,有效状态指受控设备1000保持令牌的状态。
如果受控设备1000处于有效状态,则受控设备1000向控制点2000发送相关受控设备的信息消息(S155)。
同时,如果在受控设备1000设备列表管理模块1021中不存在控制点2000所请求的受控设备,或者受控设备1000未处于有效状态,则受控设备1000不能向控制点2000发送响应消息。
图11为显示在根据本发明提供受控设备列表的方法中,确定是否生成令牌的过程的图。检查通过初始化过程所准备的包括在受控设备列表中的受控设备的数目(S201)。如果包括在受控设备列表中的受控设备的数目大于2,则受控设备1000检查其自身的状态信息(S202、S203)。此处,可以将状态信息当作初始状态、有效状态或者停止状态。
如果包括在受控设备列表中的受控设备的数目小于2,则重复执行步骤S201与S202直至受控设备的数目变为大于2。
此后,如果作为状态信息的检查的结果,受控设备1000处于初始状态,则受控设备1000改变自身的状态到有效状态,并且进行生成并且发送令牌的过程(即过程“L”)(S204)。
如果作为状态信息的检查的结果,受控设备1000处于停止状态,则受控设备1000运行等待定时器,并且确定是否将重试运行等待定时器(例如三次)(S205)。即,运行受控设备1000的等待定时器(S206),并且确定是否从前一个受控设备接收到令牌与受控设备列表(S207)。此处,如果已经从前一个受控设备接收到令牌与受控设备列表,则进行到令牌传送过程(即,过程“C”)。
同时,如果还未从前一个受控设备接收到令牌与受控设备列表,则确定是否经过了受控设备1000的等待定时器所设定的时间。此处,如果未经过等待定时器所设定的时间,则继续运行等待定时器。如果经过等待定时器所设定的时间,则检查等待定时器运行的次数,然后再次运行等待定时器(S209)。此处,多次运行等待定时器(例如三次)。如果等待定时器重复其运行如所设定的次数,则受控设备1000自动生成令牌(即过程“L”)。
图12为显示在根据本发明提供受控设备列表的方法中,生成并且传送令牌的过程的图。首先受控设备1000生成令牌(S301),确定下一个受控设备是否连接其上,并且检查下一个受控设备的状态(S302、S303)。此处,如果下一个受控设备未连接其上,则受控设备1000进行通报离开消息发送过程(即过程“D”)。将参照图15详细描述通告离开消息发送过程。
此后,如果确定下一个受控设备未处于停止状态,则进行协商过程(即过程“F”)。将参照图14详细描述协商过程。
同时,如果检查到下一个受控设备处于停止状态(S304),则受控设备1000传送令牌与受控设备列表给下一个受控设备(S305)。此处,已经传送列表的受控设备1000被修改成为受控设备列表中最后一个,并且被记录为修改后列表的第一个的受控设备是被确定为将向其传送列表的下一个受控设备。
此后,已经发送令牌与列表的受控设备1000运行自定时器,并且确定是否从下一个受控设备接收到响应(ACK)消息(S307、S308)。
如果从下一个受控设备接收到响应消息,则受控设备1000向下一个受控设备发送通报其自身状态已经被改变为停止状态的响应消息,然后改变其自身状态为停止状态(S311,S312)(即状态“W”)。
同时,如果未从下一个受控设备接收到响应消息,则受控设备1000确定是否经过了自定时器的设定时间(S309)。此处,如果未经过自定时器的设定时间,则继续运行自定时器。如果经过了自定时器的设定时间,则受控设备1000检查自定时器的重复运行次数,并且再次运行自定时器(S310)。此处,自定时器的重复运行次数设置为三次,并且用户可以任意改变该重复运行次数。
另外,如果自定时器的重复运行次数大于3(S306),则受控设备1000为下一个受控设备进行通报离开消息发送过程(即过程“D”)。将参照图15详细描述该通报离开消息发送过程。
图13为显示在根据本发明提供受控设备列表的方法中,由前一个受控设备发送令牌到受控设备的过程的图。首先受控设备1000接收从前一个受控设备发送来的令牌与列表(S401)。
此后,受控设备1000向前一个受控设备发送响应消息,并且运行自定时器(S402,S404)。
然后,受控设备1000检查是否已经从前一个受控设备接收到通报前一个受控设备的状态已经变为停止状态的响应消息(S405)。
如果检查到已经从前一个受控设备接收到该响应消息,则受控设备1000准备发送令牌与列表给下一个受控设备(即过程“Q”)。如果确定还未从前一个受控设备接收到该响应消息,则受控设备1000确定是否经过了自定时器的设定时间(S406)。此处,如果未经过自定时器的设定时间,则受控设备1000继续运行自定时器。如果经过了自定时器的设定时间,则受控设备1000检查自定时器的重复运行次数,并且再次运行自定时器(S407)。此处,自定时器的重复运行次数被设置为三次,并且用户可以任意所设定的变重复运行次数。
此后,如果作为该检查的结果,自定时器的重复运行次数大于3(S403),则受控设备1000进行通报离开消息发送过程(即过程“D”)。将参照图15详细描述该通报离开消息发送过程。
图14为显示在根据本发明提供受控设备列表的方法中协商过程的图,该过程将与上述的图12的步骤S304一道描述。
受控设备1000检查下一个受控设备,以向下一个受控设备发送令牌与受控设备列表。此时,如果下一个受控设备未处于停止状态,即下一个受控设备具有令牌,则受控设备1000进行协商过程。
首先,受控设备1000相互比较包括在存储于受控设备1000与下一个受控设备的设备列表管理模块1021的受控设备列表中的受控设备的数目。如果包括在由下一个受控设备保存的受控设备列表中的受控设备的数目大于包括在由该受控设备1000保存的列表中数目,则受控设备1000将其自身的状态改变为停止状态(S501,S502)。
同时,如果作为比较的结果,下一个受控设备在其列表中具有与受控设备1000相同数目的受控设备,则相互比较存储在受控设备1000与下一个受控设备中的受控设备的网络剩余持续时间的合(S503)。此处,如果存储在下一个受控设备中的列表中的受控设备的网络剩余有效时间的合大于存储在受控设备1000中的列表中的合,则受控设备1000改变其自身的状态为停止状态(S502)。相反,如果存储在下一个受控设备中的列表中的受控设备的网络剩余有效时间的合小于存储在受控设备1000中的列表中的合,则下一个受控设备的状态被改变为停止状态(S504)。因此,在网络中只存在一个具有令牌的受控设备。
图15为显示在根据本发明提供受控设备列表的方法中,代表其他受控设备发送通报离开消息的过程的图。在以下情况下,进行由受控设备1000代表代表其他受控设备发送通报离开消息当检查下一个受控设备以向下一个受控设备发送令牌与列表时,不能检查下一个受控设备的状态,即下一个受控设备未连接;或者受控设备还没有收到来自下一个受控设备的响应消息,即即使经过了受控设备1000的自定时器的设定时间之后,还未从下一个受控设备收到响应消息。
如果受控设备1000未连接到下一个受控设备或者没有从下一个受控设备收到响应消息,则受控设备1000代表下一个受控设备多播通报离开消息(S601)并且从存储在设备列表管理模块1021中的列表中删除下一个受控设备(S602)。此处,因为受控设备代表下一个受控设备多播通报离开消息,所以控制点2000可以知道有关已经非正常终止的特定受控设备的信息,并且由此取得有关连接到网络的受控设备的正确信息,由此有效地控制受控设备。
此后,受控设备1000检查存储在设备列表管理模块1021中的列表中的受控设备的数目,并且多播其自身的通报有效消息,并且如果在所存储列表中的受控设备的数目为1(即状态“E”),则改变其自身状态为停止状态(S603,S607,S608)。如果所存储列表中的受控设备的数目大于1,则受控设备1000准备发送令牌与列表给下一个受控设备(即过程“Q”)。
同时,在存储在受控设备1000的设备列表管理模块1021中的列表中的受控设备的数目大于1并且网络中只存在两个受控设备的情况下,即网络中只存在受控设备1000与下一个受控设备时,受控设备1000与下一个受控设备重复相互发送令牌与同一列表的不必要过程。
因此,在这种情况下,受控设备1000向下一个受控设备发送使下一个受控设备将其自身状态改变为停止状态的消息。相应地,作为其响应,下一个受控设备将其自身状态改变为停止状态(S604到S606)。
此后,受控设备1000将其自身状态改变为停止状态并且运行等待定时器(即状态“Q”)(S605,S606)。
此后,因为存储在设备列表管理模块1021中的列表中的受控设备的数目被变为1,所以受控设备1000多播其自身的通告有效消息,并且将其自身状态改变为停止状态(即状态“E”)(S607,S608)。
图16为显示在根据本发明的提供受控设备列表的网络系统的运行中,受控设备与其他受控设备的连接操作的图,该操作将结合参照图8与9所解释的初始化过程与通报有效消息接收过程进行描述。
首先,如果受控设备(此后称为“第一受控设备”)被连接到网络,则第一受控设备发送向另一受控设备(此后称为“第二受控设备”)通知其自身的消息。
此后,第一受控设备在其设备列表管理模块1021中存储有关其自身的信息,并且在设备列表管理模块1021中存储有关第二受控设备的信息,该设备已经响应于所发送的消息发送了通报有效消息。由此,第一受控设备可以通过控制点2000有关网络中现有的第二受控设备的信息。
图17为显示在根据本发明的提供受控设备列表的网络系统的运行中,由受控设备对从控制点发送的搜索消息作出响应的操作的图,其将结合参照图10所解释的由受控设备接收从控制点发送的搜索消息的过程进行描述。
如果控制点2000多播寻找第二受控设备的搜索消息,则网络中现有的所有受控设备(例如第一、第二与第三受控设备)当其接收到控制点2000的多播消息时都对控制点2000作出响应,并且比较该搜索消息所请求的搜索类型与其自身的类型,并且作为比较结果,其响应第二受控设备。
然而,如果因为网络的不稳定性,只有第三受控设备1200接收了由控制点2000多播的消息,则在设备列表管理模块1221中第三受控设备搜索控制点2000要寻找的第二受控设备,并且代表第二受控设备1100构造并且发送响应消息给控制点2000。
图18为显示在根据本发明的提供受控设备列表的网络系统的运行中,发送令牌与列表的操作的图,其将结合参照图12的用于生成并发送令牌的过程进行描述。
首先,第一受控设备1000生成令牌,然后检查第二受控设备的状态。如果第二受控设备处于停止状态,则第一受控设备1000进行改变其设备列表管理模块的顺序,并且向第二受控设备发送令牌与列表。此后,第二受控设备运行自定时器并且等待来自第二受控设备的响应。
在第二受控设备使用从第一受控设备1000发送的令牌与列表更新了设备列表管理模块1121之后,第二受控设备发送响应消息给第一受控设备1000,并且运行自定时器。
此后,第一受控设备1000接收来自第二受控设备的响应消息,终止自定时器,并且运行等待定时器。
然后,如果第一受控设备1000通知第二受控设备第一受控设备自身已经运行其等待定时器的实际情况,则第二受控设备相应地接收来自第一受控设备的响应消息并且终止其自定时器。
图19为显示在根据本发明的提供受控设备列表的网络系统的运行中,受控设备之间协商操作的图,其将结合参照图14所解释的协商过程进行描述。
如图19所示,在第三受控设备1200发送令牌与列表给第四受控设备1300之前,第三受控设备1200检查第四受控设备1300的状态。如果发现第四受控设备处于有效状态,则第三受控设备1200进行协商过程。
首先,第三受控设备1200比较存储在第三受控设备1200的设备列表管理模块1221中的受控设备列表中受控设备的数目与保存在第四受控设备1300的设备列表管理模块1221中的受控设备列表中受控设备的数目。此时,其列表中受控设备数目大的受控设备获胜。即,因为由第四受控设备1300所保存的列表中的受控设备的数目大于由第三受控设备1200所保存的列表中的受控设备的数目,所以第三受控设备1200的状态被变为停止状态。
如果由第四受控设备1300所保存的列表中的受控设备的数目等于由第五受控设备1400所保存的列表中的受控设备的数目,则存储在第四受控设备1300中的受控设备的网络剩余持续时间的合与存储在第五受控设备1400中的受控设备的网络剩余持续时间的合进行比较。此时,其剩余持续时间的合大的受控设备获胜。即,因为存储在第四受控设备1300中的受控设备的网络剩余持续时间的合大于第五受控设备1400的合,所以第五受控设备1400的状态被改变为停止状态。
图20A与20B为显示在根据本发明的提供受控设备列表的网络系统的运行中,代表其他受控设备发送通报离开消息的操作的图,其将结合参照图15所解释的代表其他受控设备发送通报离开消息的过程进行描述。
图20A为显示在第一受控设备不能发现第二受控设备的情况下,由第一受控设备代表第二受控设备多播第二受控设备的通报离开消息的操作的图。
首先,第一受控设备1000检查第二受控设备1100的状态,以发送令牌与列表给第二受控设备1100。此处,如果不检查第二受控设备1100的状态,即如果第二受控设备1100与第一受控设备1000没有相互连接,则第一受控设备1000从存储在设备列表管理模块1021中删除第二受控设备。
此后,第一受控设备1000多播第二受控设备1100的通报离开消息。
同时,如果从存储在第一受控设备1000的设备列表管理模块1021中的列表中删除第二受控设备,则只有第一受控设备自身保持在存储在其设备列表管理模块1021中的列表中。由此,第一受控设备1000多播其自身的通报离开消息并且改变其自身状态为停止状态。
图20b显示在第一受控设备未从第二受控设备接收到响应消息的情况下,由第一受控设备代表第二受控设备多播第二受控设备的通报离开消息的操作的图。
首先,第一受控设备1000生成令牌,发送令牌与列表给第二受控设备1100,运行自定时器并且等待来自第二受控设备的响应消息。相应地,第二受控设备1100发送响应消息给第一受控设备1000,并且运行其自定时器。
此后,第一受控设备1000收到来自第二受控设备1100的响应,并且终止其自定时器。
然后,第二受控设备1100运行自定时器并且等待来自第一受控设备1000的响应消息,该消息通知第一受控设备1000已经终止了其自定时器。如果直到经过了第二受控设备1100的自定时器的设定时间也没有收到来自第一受控设备1000的响应,则第二受控设备1100多播第一受控设备1000的通报离开消息。
另外,第二受控设备1100从存储在设备列表管理模块1121中的列表中删除第一受控设备。
因此,因为只有第二受控设备被保持在存储在第二受控设备1100的设备列表管理模块1121中的列表中,因此,第二受控设备1100多播其自身的通报有效消息并且改变其自身状态为停止状态。
根据本发明,因为受控设备具有其他连接到网络的受控设备列表,所以当已经从控制点接收到搜索特定受控设备的消息时,即使该特定受控设备不能接收来自该控制点的消息,另一受控设备也可以代表该特定受控设备发送响应消息给控制点。由此具有即使网络不稳定控制点也可以有效控制受控设备的优点。
另外,如果受控设备在更新其受控设备列表时发现在网络中不存在特定受控设备的实际情况,则它们通知控制点该实际情况。由此,控制点可以正确地得知有关网络中不存在的受控设备的信息,由此有效地控制该受控设备。
虽然已经结合其优选实施方式对本发明进行了描述,但对于本领域技术人员而言,显然可以对其进行各种变化与修改,而不脱离权利要求所限定的本发明的原理与范围。因此,对于本发明优选实施例的简单改动将落入本发明的范围之内。
权利要求
1.一种网络设备,包括消息接收模块,用来接收从连接在网络中的受控设备发送的通报消息;设备列表管理模块,用来收集有关连接在该网络中受控设备的信息,并且创建和管理所有连接在该网络中的受控设备的服务信息的列表;以及控制模块,用来在所述设备列表管理模块中搜索已经被控制点请求的特定受控设备的服务信息,并且发送所搜索的信息。
2.如权利要求1所述的设备,其中所述消息接收模块接收从控制点发送的搜索消息。
3.如权利要求1所述的设备,还包括令牌管理模块,用来生成令牌,发送所生成的令牌给另一受控设备,并且管理该令牌。
4.如权利要求3所述的设备,其中所述控制模块通过检查在受控设备中是否存在令牌,来对来自控制点的信息请求消息作出响应。
5.如权利要求4所述的设备,其中所述对令牌存在的检查通过使用受控设备的状态信息来进行。
6.如权利要求5所述的设备,其中所述状态信息为以下任意一个初始状态、有效状态、以及停止状态。
7.如权利要求1所述的设备,还包括定时器管理模块,用来创建自定时器,其中当令牌管理模块所管理的令牌被发送到另一受控设备时,所述自定时器检查接收令牌的所述另一受控设备的响应时间。
8.如权利要求7所述的设备,其中所述定时器管理模块创建等待定时器,并且该等待定时器检查令牌对于网络中现有受控设备的总循环时间。
9.如权利要求1所述的设备,还包括协商模块,用来当在网络现有的受控设备中存在多个令牌时,控制每个令牌的有效性。
10.如权利要求9所述的设备,其中所述协商模块通过使用每个受控设备的状态信息来确定是否存在多个令牌。
11.如权利要求9所述的设备,其中所述协商模块用来通过比较存储在各个具有令牌的受控设备的受控设备列表中受控设备的数目来控制每一令牌的有效性。
12.如权利要求11所述的设备,其中如果所比较的由各个受控设备所保存的列表中的受控设备的数目相同,则所述协商模块通过比较在这些列表中登记的各个受控设备的网络剩余持续时间的合来控制每一令牌的有效性。
13.一种网络系统,包括控制点,用来发送搜索网络中现有设备的发现包,接收对其的响应消息,并且控制所述网络中现有设备;以及受控设备,每个受控设备都接收从其他连接在网络中的受控设备发送的通报消息,生成并且管理有关所有连接在所述网络中的受控设备的信息的列表,并且搜索和发送有关由所述控制点所请求的受控设备的信息。
14.如权利要求13所述的系统,其中每个受控设备包括消息接收模块,用来接收从连接在网络中的受控设备发送的通报消息;设备列表管理模块,用来收集有关连接在该网络中受控设备的信息,并且创建和管理所有连接在该网络中的受控设备的服务信息的列表;以及控制模块,用来在所述设备列表管理模块中搜索已经被控制点请求的特定受控设备的服务信息,并且发送所搜索的信息。
15.如权利要求14所述的系统,其中所述消息接收模块接收从控制点发送的搜索消息。
16.如权利要求13所述的系统,其中每个受控设备还包括令牌管理模块,用来生成令牌,发送所生成的令牌给另一受控设备,并且管理该令牌。
17.如权利要求16所述的系统,其中所述控制模块通过检查在受控设备中是否存在令牌,来对来自控制点的信息请求消息作出响应。
18.如权利要求17所述的系统,其中所述对令牌存在的检查包括使用关于受控设备的状态信息。
19.如权利要求18所述的系统,其中所述状态信息为以下任意一个初始状态、有效状态、以及停止状态。
20.如权利要求16所述的系统,其中每个受控设备还包括定时器管理模块,用来创建自定时器,其中当令牌管理模块所管理的令牌被发送到另一受控设备时,所述自定时器检查接收令牌的所述另一受控设备的响应时间。
21.如权利要求20所述的系统,其中所述定时器管理模块用来创建等待定时器,并且该等待定时器用来检查令牌对于网络中现有受控设备的总循环时间。
22.如权利要求16所述的系统,其中每个受控设备还包括协商模块,用来当在网络现有的受控设备中存在多个令牌时,控制每个令牌的有效性。
23.如权利要求22所述的系统,其中所述协商模块用来通过使用每个受控设备的状态信息来确定是否存在多个令牌。
24.如权利要求22所述的系统,其中所述协商模块用来通过比较存储在各个具有令牌的受控设备的受控设备列表中受控设备的数目来控制每一令牌的有效性。
25.如权利要求24所述的系统,其中如果所比较的由各个受控设备所保存的列表中的受控设备的数目相同,则所述协商模块通过比较在这些列表中登记的各个受控设备的网络剩余持续时间的合来控制每一令牌的有效性。
26.一种用于提供受控设备列表的方法,包括接收从连接在网络中的受控设备发送的通报消息;通过所接收的通报消息,收集有关连接在该网络中受控设备的信息,并且生成受控设备列表;接收对于特定受控设备的信息请求消息;在所生成的列表中,搜索有关特定受控设备的信息,对于该特定受控设备来说收到信息请求消息;以及发送有关所搜索的特定受控设备的信息。
27.如权利要求26所述的方法,还包括由每个受控设备生成令牌。
28.如权利要求27所述的方法,其中作为对在受控设备中是否存在令牌的检查的结果,当在受控设备中存在令牌时,进行所述搜索。
29.如权利要求27所述的方法,还包括传送所述令牌给另一受控设备。
30.如权利要求29所述的方法,其中所述令牌传送还包括由所述受控设备检查存储在该受控设备的设备列表管理模块中的受控设备列表中受控设备的数目;如果确定所述列表中受控设备的数目大于2,则传送所述令牌与所存储的受控设备列表给另一受控设备;检查是否收到来自所述另一受控设备的响应消息,并且运行所述受控设备的自定时器;以及如果从所述另一受控设备接收到所述响应消息,则停止所述自定时器,并且运行所述受控设备的等待定时器。
31.如权利要求30所述的方法,其中所述列表传送包括修改受控设备列表使已经传送该列表的所述控制设备成为该列表中最后一个,并且确定已经记录为修改后列表中第一个的受控设备作为该列表将要发往的受控设备。
32.如权利要求30所述的方法,其中所述自定时器确定所述令牌所发往的另一受控设备的响应时间。
33.如权利要求30所述的方法,其中所述等待定时器确定令牌对于网络中现有受控设备的总循环时间。
34.如权利要求30所述的方法,还包括如果即使在所述等待定时器的运行完成之后,还没有收到来自其他受控设备的令牌,则自动生成令牌。
35.如权利要求30所述的方法,还包括如果没有接收到来自所述另一受控设备的所述响应消息则由所述受控设备从存储在设备列表管理模块中的受控设备列表中删除还没有发送所述响应消息的受控设备;以及由所述受控设备通告控制点在网络中不存在还没有发送所述响应消息的受控设备。
36.如权利要求35所述的方法,还包括如果没有接收到来自所述另一受控设备的所述响应消息,则由所述受控设备传送所述令牌与所存储的受控设备列表给另外一个受控设备。
37.如权利要求30所述的方法,还包括如果在网络现有的受控设备中存在多个令牌,则进行协商以控制每个令牌的有效性。
38.如权利要求37所述的方法,其中所述协商包括通过比较由各个具有令牌的受控设备所保存的受控设备列表中受控设备的数目来控制每一令牌的有效性。
39.如权利要求38所述的方法,其中所述协商包括如果作为比较的结果,所述受控设备列表中的受控设备的数目相同,则通过比较在这些列表中登记的各个受控设备的网络剩余持续时间的合来控制每一令牌的有效性。
40.一种用于提供受控设备列表的方法,包括在受控设备中接收来自连接在网络中的其他受控设备的通报消息;通过所接收的通报消息,收集有关连接在该网络中受控设备的信息,并且生成受控设备列表;由控制点请求有关特定受控设备的信息;由所述受控设备在所生成的列表中搜索有关特定受控设备的信息,对于该特定受控设备来说收到信息请求消息;以及发送有关所搜索的特定受控设备的信息。
41.如权利要求40所述的方法,还包括由每个受控设备生成令牌。
42.如权利要求41所述的方法,其中作为对在受控设备中是否存在令牌的检查的结果,当在受控设备中存在令牌时,进行所述搜索。
43.如权利要求41所述的方法,还包括传送所述令牌给另一受控设备。
44.如权利要求43所述的方法,其中所述令牌传送还包括由所述受控设备检查存储在该受控设备的设备列表管理模块中的受控设备列表中受控设备的数目;如果确定所述列表中受控设备的数目大于2,则传送所述令牌与所存储的受控设备列表给另一受控设备;检查是否收到来自所述另一受控设备的响应消息,并且运行所述受控设备的自定时器;以及如果从所述另一受控设备接收到所述响应消息,则停止所述自定时器,并且运行所述受控设备的等待定时器。
45.如权利要求44所述的方法,其中所述列表传送包括修改受控设备列表使已经传送该列表的所述控制设备成为该列表中最后一个,并且确定已经被记录为修改后列表中第一个的受控设备作为该列表将要发往的受控设备。
46.如权利要求44所述的方法,其中所述自定时器检查所述令牌所发往的另一受控设备的响应时间。
47.如权利要求44所述的方法,其中所述等待定时器检查令牌对于网络中现有受控设备的总循环时间。
48.如权利要求44所述的方法,还包括如果即使在所述等待定时器的运行完成之后,还没有收到来自其他受控设备的令牌,则自动生成令牌。
49.如权利要求44所述的方法,还包括如果没有接收到来自所述另一受控设备的所述响应消息则由所述受控设备从存储在设备列表管理模块中的受控设备列表中删除还没有发送所述响应消息的受控设备;以及由所述受控设备通告控制点在网络中不存在还没有发送所述响应消息的受控设备。
50.如权利要求49所述的方法,还包括如果没有接收到来自所述另一受控设备的所述响应消息,则由所述受控设备传送所述令牌与受控设备列表给另外一个受控设备。
51.如权利要求46所述的方法,还包括如果在网络现有的受控设备中存在多个令牌,则进行协商以控制每个令牌的有效性。
52.如权利要求51所述的方法,其中所述协商包括通过比较由各个具有令牌的受控设备所保存的受控设备列表中受控设备的数目来控制每一令牌的有效性。
53.如权利要求52所述的方法,其中所述协商包括如果作为比较的结果,所述受控设备列表中的受控设备的数目相同,则通过比较在这些列表中登记的各个受控设备的网络剩余持续时间的合来控制每一令牌的有效性。
全文摘要
一种网络设备,具有消息接收模块,用来接收从连接在网络中的受控设备发送的通报消息;设备列表管理模块,用来收集有关连接在该网络中受控设备的信息,并且创建和管理所有连接在该网络中的受控设备的服务信息的列表;以及控制模块,用来在所述设备列表管理模块中搜索已经被控制点请求的特定受控设备的服务信息,并且发送所搜索的信息。因为受控设备具有网络中连接其上的其他受控设备列表,所以当从控制点已经接收到搜索特定受控设备的消息时,即使该特定受控设备不能接收来自该控制点的消息,另一受控设备也可以代表该特定受控设备发送响应消息给该控制点。
文档编号G06F13/00GK1538688SQ20041003465
公开日2004年10月20日 申请日期2004年4月16日 优先权日2003年4月16日
发明者郑东信, 李京训, 陆贤圭, 尹铉植 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1