多播发现协议使用单播消息的隧道的制作方法

文档序号:7744015阅读:175来源:国知局
专利名称:多播发现协议使用单播消息的隧道的制作方法
技术领域
本发明涉及在多域网络上的发现程序的方面和应用。
背景技术
家庭网络结构,例如HAVi、UPnP、Jini和VESA,典型的包含设备发现协议。这种协议用来实现即插即用功能,也就是,当一个设备被插入到网络当中(或-在无线的情况下-进入范围之内),它就会自动地被所有感兴趣的部分发现,并且能够立即被使用。基于IP的家庭网络例如UPnP和Jini在IP多播之上建立了它们的发现协议。在该情况下,标准的IP地址和端口被标准化为多播信道。加入到网络中并且要向网络中其余设备宣告自己的设备向上述信道发送特定的宣告消息。想要发现新设备的设备只是监听上述信道。
设备的自动发现对于随着携带它们的人一起进入或离开(家庭)网络的无线设备例如PDA或移动电话是特别重要的。然而,自动发现同样与非移动设备相关。这些设备可以被用户随意打开或关闭,并且在这种意义上进入或离开网络。自动发现之所以重要的另一个原因是IP地址的易失性。具有代表性的,IP地址分配方案例如DHCP临时性地为设备分配IP地址。换句话说,昨天被发现使用IP地址“A”的设备明天可能使用IP地址“B”。本发现协议为上述设备宣告自己使用新的地址提供了一种机制,从而确保所有感兴趣的客户知道这一新的地址。即使设备从使用者的观点来看没有离开或进入家庭网络,但从网络的角度上来看它确实离开或进入了家庭网络。因此,发现不仅仅是当设备从商店被带回家并进入家庭网络时一次性执行的活动。相反,它是一个当使用者或应用程序每一次要使用或控制特定类型的设备时都需要执行的设置过程。
基于IP多播的发现引起了一些问题。例如,IP多播不是在所有Internet中普遍被支持。许多IP路由器和防火墙/网关简单地阻塞所有的多播通信。作为另一个有疑问的方面,IP多播不可扩充(scale)。多播消息需要有使用期限(TTL)字段来指定多播消息的范围。TTL字段指定该信息包经过的路由器的数量,并需要避免这些消息在整个Internet中泛滥。IP多播路由协议使用IP数据报的TTL字段来确定给定的多播信息包离开发送主机被转发多“远”。多播数据报的缺省值是统一的,这就导致了多播信息包只前往本地网络中的其他主机。了解两个设备之间的路径中路由器的数量一般是不可能的。因此通常无法预测切合实际的TTL值,并且事先无法保证多播消息会到达所有相关的目的地。
发明人认识到TTL值可以用来指定能够互相发现的设备集群。除了其它方面,本发明的一个方面涉及一种机制,用来通过在扩展发现服务器之间交换的点对点(或单播)消息中的多播消息“隧道”来连接多个这样的集群。其结果就是独立集群中的设备和应用程序现在可以彼此发现和控制,这些设备和应用程序位于相距很远的位置并且通过这些服务器相连。

发明内容
本发明的一方面因此涉及桥接多个多播域的方法。使得产生于特定的域中的多播消息,能够作为单播消息被传递至少另一个域中。然后,使得该多播消息可以由其它域中的单播消息再次产生。
本发明的另一方面涉及在第一多播域中使用的硬件或软件组件,例如,家庭网络的第一部分。此组件可以将多播消息封装为单播消息,用于发送到第二多播域,例如家庭网络的第二部分。
本发明允许通过多播隧道和参考转换来扩展发现协议的范围一个域中多播信道上的搜索消息或宣告消息被封装在发送到第二域中的单播消息之中。在第二域中将该多播消息从单播消息中提取出来,并放入第二域的多播信道中。


下面通过参考附图以及实例详细说明本发明在下面被详细说明,其中图1和图2是阐明在多播域中搜索和宣告事件的事件框图;图3和图4是阐明两个多播域之间的多播消息的隧道的事件框图;图5和图6是阐明具有UPnP配置的多播域之间的隧道的事件框图;在这些图中,相同的参考数字指示相似或相应的组件或特征。
具体实施例方式
图1和图2是阐明在单一多播域中搜索和宣告事件的事件框图。典型的发现协议包含假定为两种可能的角色之一的设备(或软件应用程序)一方面是被控制的设备或服务器,另一方面是控制器设备或客户应用程序。发现协议通过(特定类型的)被控制设备的控制器设备执行主动的搜索。
在图1中,控制器设备102向多播信道106发送搜索消息104。被控制设备108、110和112监听多播信道106。被控制设备108-112中的相关的设备向设备102发送单播响应114和116,设备102就是搜索消息104的发送者。
在图2中,被控制设备108和208向多播信道106发送宣告消息202和204来宣告它们的存在,例如,周期性地或当发生特定的事件例如设备208“开电”或“进入范围”时。被控制设备110向多播信道106发送宣告消息206来宣告它的即将消失(例如,在关电的情况下)。
搜索响应114和116以及存在宣告202和204包含各自的指向各个被发现设备参考(references)。参考包括,例如IP地址或URL。与被发现设备之间随后发生的相互作用就是基于上述参考。
本发明介绍了在此称为“扩展的发现服务器”(EDS)的软件组件,“扩展的发现服务器”(EDS)可以加入(家庭)网络以便网络中的设备能够发现(或被发现)并被远程设备使用。EDS需要通过互联网或另一个广域网(WAN)和一个或更多远程EDS相连接。需要知道指向这些EDS的全球参考,例如静态全局IP地址或注册的互联网域名。以下分两种情况描述EDS的操作控制器设备搜索相互作用的远程设备,以及被控制设备向远程控制器设备宣告其存在或即将消失。
图3示出域302和域304,分别例如家庭1和家庭2,中的事例的一种情况。域302中有EDS 306,域304中有EDS 308。EDS 306和308能够相互共享其网络,即,域302和304。EDS 306和308都监听多播信道310和312上的消息。图示例中,搜索消息314被域302中的EDS 306探测到。EDS 306将多播消息314和多播发送器,在这里是设备136,的参考一起封装在新的单播消息318中。如果域302中的原始的多播发送器316使用本地参考,此参考通过例如NAT被转化,并被等价的全球参考代替。EDS 306就会通过WAN 326向它想与其共享设备的一个或多个其它EDS发送封装成单播消息的多播消息318。在此例中,相关的其它EDS就是EDS 308。当EDS 308收到到来自EDS 306的消息318时,前者就会提取封装的搜索消息314以及原始多播发送器316的全球参考。EDS 308随后向域304中的多播信道312发送提取的搜索消息320。从而,原始多播消息314在不同的多播域中被再次产生,就好像它是从域302经过WAN 326的隧道进入域304。因为EDS 308是再生的多播消息320的发送者,如果对上述搜索消息有响应,它就会收到该相应。从域304中的设备例如设备322和324,收到的每一响应,将被转发至域302中的原始搜索发送器316。如果上述响应包含本地参考,则这些参考将通过例如NAT被转化,并被等价的全球参考所代替。由于域302中的控制器设备316已经发现它搜索的域304中的被控制设备322,它就可以用收到的参考来与设备322互相作用。实现这些的实际机制是不受本发明约束的。这些机制通常是基于单播,例如HTTP。
图4示出域302和304中的事例的一种情况,其中设备406宣告其存在。EDS 306和308分别监听标准多播信道310和312上的消息。只要宣告消息404被EDS探测到,在此情况中是域304中的EDS 308,相关的EDS就封装整个的多播消息404。如果宣告404包含本地参考,例如指向其发送设备406,此参考就通过例如NAT被转换,并被等价的全球参考代替。EDS 308随后通过WAN 326向一个或多个其它EDS,在此模式中是EDS 306,发送作为单播消息的封装的多播消息408。当EDS 306收到来自EDS 308的单播消息408时,前者从消息408中提取封装的宣告消息404。EDS 306随后向域302的多播信道310发送提取的宣告消息412。从而,原始的多播消息404就在不同的多播域中被再次产生,就好像它是从域304经过WAN 326的隧道到达域302。由于宣告404已经在域302中作为消息412被再次产生,域302中的控制器设备就知道了域304中的新设备406,并且可以通过包含于宣告消息412中的参考与设备406相互作用。实现这些的实际机制是不受本发明约束的。这些机制通常是基于单播,例如HTTP。
本发明允许在单一域中,例如家庭网络或其它有限的区域,能够被发现的实体被远程应用程序以某种可控的方式发现。上述实体可以是设备,例如那些基于UPnP、服务、单段音频/视频(AV)内容信息,或甚至是与个人设备例如PDA或移动电话相关的人。扩展的发现协议的范围是由一组互相知道对方网络地址的EDS决定的。
例如,三个朋友决定要通过在他们的EDS之间建立联系来共享他们的家庭网络。另一实例是在家庭网络的EDS、工作地点的EDS以及度假地点的EDS之间建立了联系的不固定的自由职业者。建立上述联系的实际机制是不依赖于本发明的目标的。
通过EDS机制发现远程实体之后,该实体就可以被使用/控制。例如可以在工作或度假的地方查看家中的保安照相机;可以将存储在朋友家的歌曲或录像下载到自己家中;可以从远程位置对家里的VCR编程;为了节约能源,可以远程关闭设备;家庭网络可以被远程监视,以便于发现入侵/异常活动,例如未经授权的设备消失或应用程序在每天奇数时刻搜索设备。
EDS可以执行过滤机制,以便使仅仅对家中特定的设备,或仅仅是在一天中指定的时期内,或仅仅是对特定的“信任的”远程EDS才能远程访问。上述过滤可以由用户个性化订制。
图5和图6阐明了上述具有UPnP配置的多播域的更详细的内容。UPnP标准定义了称为简单服务发现协议(SSDP)的发现协议。其用来发现UPnP设备或UPnP服务。在UPnP的术语中,服务就是作为UPnP设备的部分的功能组件。SSDP使用标准的多播信道,239.255.255.2501900,并且4.SSDP的TTL定义了下述消息通报(NOTIFY)(ssdpalive)周期性地由被控制设备向多播信道发送,用来宣告其存在。包含指向设备描述文档的URL参考。
通报(NOTIFY)(ssdpbyebye)由被控制设备向多播信道发送,用来宣告其即将消失。
M-SEARCH(<search-target>)由控制器设备向多播信道发送,以便搜索特定设备类型、服务类型、设备实例或所有设备。匹配上述<search-target>的被控设备需要用包含指向设备描述文档的URL参考的消息对搜索的发送器进行响应。
控制器设备利用SSDP发现器感兴趣的设备之后,它就拥有了指向设备文档的URL。它随后可以取得上述文档并解析文档,以便找到指向设备包含的服务(=功能组件)的参考。它可以利用上述参考来与此设备进行实际的相互作用。上述参考是URL的形式,并且相互作用是基于使用控制器设备和被控制设备之间的HTTP协议(通过POST消息)。
在一些家庭中,设备用来宣告自身的URL参考是基于所谓的‘本地’IP地址,意思是上述地址不是全球唯一的,并且该URL参考在全球互联网中是不可用的。在这样的家庭中,至少一个设备—例如,互联网网关—具有全球IP地址。上述互联网网关典型地执行NAT(网络地址转换)或NAPT(网络地址端口转换),NAT和NAPT是把本地IP地址和端口映射到全球IP地址和端口的机制。EDS能够利用上述机制使本地地址被全球地址替换,以便所有离开家的SSDP消息能够在互联网中传送并到达远程家庭。这特别涉及到下述消息本地设备NOTIFY(ssdpalive);对于远程M-SEARCH(<search-target>)消息的响应;本实施例中,用来建立隧道的单播消息是HTTP POST机制。HTTP主体部分包含完整的SSDP消息(SSDP头+主体),如果是SSDP搜索,还要加上发送器的IP地址和端口。后者信息被编码为HTTP头,称为‘ORGIANL-MCAST-SENDER’。本实施例中的EDS以URL参考的形式彼此了解。
更具体地,建立隧道的搜索消息如下所示POST<path of URL of EDS>HTTP/1.1M-SEARCH*HTTP/1.1HOST239.255.255.2501900MAN″ssdpdiscover″MX<seconds to delay response>
ST<search target>
ORGINAL-MCAST-SENDER<global IP address and port of the multicastsender>
存在消息的隧道宣告如下所示POST<path of URL reference of remote EDS>HTTP/1.1NOTIFY*HTTP/1.1HOST239.255.255.2501900CACHE-CONTROLmax-age=<seconds until advertisement expires>
LOCATION<global URL reference to the device>
NT<search target>
NTS″ssdpalive″SERVER<OS/version>UPnP/1.0<product/version>
USN<advertisement UUID>
即将消失消息的建立通道宣告如下所示POST<path of URL of EDS>HTTP/1.1NOTIFY*HTTP/1.1HOST239.255.255.2501900NT<search target>
NT″ssdpbyebye″USN<advertisement UUID>
对于上述消息的HTTP POST响应即为标准OK响应,即HTTP/1.1 200 OK上述括号(“<”和“>”)内的部分消息不应从字面理解,而应被理解为在UPnP SSDP规范中所定义的。
图5和图6是事件框图,示出与图3相应的用于搜索隧道道,以及与图4相应的用于宣告隧道的情况。上述事件的意义已经明确叙述,特别是针对此UPnP/SSDP/HTTP实施例。
权利要求
1.一种桥接多个多播域的方法,该方法包含使能够向至少另一个其它域传递源自所述域的一个特定域的多播消息,作为单播消息;使能够从所述其它域中的单播消息再生所述多播消息。
2.如权利要求1所述的方法,其中所述多播消息包含用来发现设备或服务的搜索消息。
3.如权利要求1所述的方法,其中所述多播消息包含用来宣告设备或服务的存在的宣告消息。
4.如权利要求1所述的方法,其中至少部分所述特定域或所述其它域形成了一个无线网络的一部分。
5.如权利要求1所述的方法,使用IP多播。
6.如权利要求1所述的方法,其中至少一个所述域具有UPnP结构。
7.数据网络中的一种单播消息,被封装在该单播消息中的多播消息。
8.一种用于多播域的组件,该组件可以把从所述多播域中的多播信道收到的多播消息封装在一个单播消息中。
9.一种用于多播域的组件,该组件可以从一个单播消息中提取一个多播消息,向该多播域的一个多播信道转发该多播消息。
全文摘要
网络域中设备和服务的发现协议的范围被扩展。一个域的多播信道上的搜索消息或宣告消息被封装到发送往第二域的单播消息中。多播消息从第二域的单播消息中被提取出来,并被放入第二域的多播信道。
文档编号H04L12/24GK1565104SQ02819501
公开日2005年1月12日 申请日期2002年9月12日 优先权日2001年10月3日
发明者J·R·穆恩 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1