CN103001959B - 家庭间设备发现方法和系统 - Google Patents
家庭间设备发现方法和系统 Download PDFInfo
- Publication number
- CN103001959B CN103001959B CN201210498871.1A CN201210498871A CN103001959B CN 103001959 B CN103001959 B CN 103001959B CN 201210498871 A CN201210498871 A CN 201210498871A CN 103001959 B CN103001959 B CN 103001959B
- Authority
- CN
- China
- Prior art keywords
- dmc
- equipment
- registrar
- family
- description file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种家庭间设备发现方法和系统,其中的方法包括:建立公网注册服务器,通过扩展的DLNA协议完成各家庭DMC设备在注册服务器上的注册,注册服务器中保留有各家庭的DMC设备的注册信息;第一DMC设备从注册服务器获取对端家庭的在线DMC设备列表,并根据列表向注册服务器请求检索列表中的第二DMC设备信息;对端家庭的第二DMC设备根据注册服务器转发的检索请求获取本地家庭内的DMS或者DMR设备的响应,并将响应返回所述注册服务器;其中,扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件。本发明实现了一对多模式的家庭间的设备发现。
Description
技术领域
本发明涉及网络家居技术领域,更为具体地,涉及一种与DLNA协议相兼容的家庭间设备发现方法和系统。
背景技术
随着信息技术的飞速发展,尤其是互联网和传感网(物联网)技术的迅速发展,3C(计算机、通信、家电)合一的加快,形式多样的数字化产品如网络电视、网络收音机、数字视频广播传输与接收系统、网络冰箱、网络DVD、掌上电脑及智能移动电话等正把人们生活的各个角落融入到网络中。数字家庭网络在集成协同环境中把各种计算机、数字电子设备、照明能源控制设备和安全报警控制设备等连接在一起,形成了一个多层次统一的网络,实现了家庭资源的共享和管理。
从数字家庭网络内的设备管理角度来看,基于DLNA协议的家庭间设备发现方法按传输协议可以划分为基于SIP和基于VPN协议两类,现有的家庭间设备发现方法需要建立两个家庭间网关的直接连接,并且需要对设备发现消息中包含的URL进行改写,改写方法为将URL中包含的IP地址和端口号替换为对端家庭有意义的IP和端口号,不同IP地址均替换为对端家庭同一IP,包含不同IP的URL连接在对端家庭以不同的端口号进行区分,因此通常仅能实现一对一的家庭间设备发现。
图1示出了现有技术中基于DLNA协议的一对一模式下家庭间设备发现过程。
如图1所示,当第一家庭内的DMC(Digital Media Controller,数字媒体控制器)设备或DMP(Digital Media Player,数字媒体播放器)设备需要与第二家庭内的DLNA设备建立连接时,首先需要将含有M-SEARCH字段的请求消息通过本地SSDP代理发送至本地SSDP中继,然后经由VPN通道中继该SSDP消息至第二家庭的DSSDP中继,第二家庭的SSDP中继再将该请求消息发送至第二家庭的本地SSDP代理,进而发送至第二家庭中的需要建立连接的DMR和DMS,第二家庭中的DMR和DMS根据该请求消息发出的检索响应再经过同样的路径(本地SSDP代理—本地SSDP中继—VPN隧道—对端家庭的SSDP中继—对端家庭的SSDP代理)才能到达发出请求消息的DMC或者DMP。
可以看出,现有的这种设备发现方法首先需要两个家庭间建立直接的连接,操作较为复杂,尤其是基于VPN进行连接通信,需要预先进行复杂的配置,用户体验不好;另外,现有的这种设备方法通常只能实现一对一的家庭间设备发现,而不能实现多对一或一对多家庭间的设备发现,从而限制了方法的适用范围。
发明内容
鉴于上述问题,本发明的目的是提供一种能够实现一对多以及多对一模式的家庭间设备发现的方法和系统。
根据本发明的一个方面,提供了一种与DLNA协议相兼容的家庭间设备发现方法,包括:建立公网注册服务器,通过扩展的DLNA协议完成各家庭DMC设备在所述注册服务器上的注册,所述注册服务器中保留有各家庭的DMC设备的注册信息;第一DMC设备从所述注册服务器获取对端家庭的在线DMC设备列表,并根据所述列表向所述注册服务器请求检索所述列表中的第二DMC设备信息;所述对端家庭的第二DMC设备根据所述注册服务器转发的检索请求获取本地家庭内的DMS或者DMR设备的响应,并将所述响应返回所述注册服务器;注册服务器将收到的响应返回给第一DMC设备;其中,所述扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件。
根据本发明的另一方面,提供了一种与DLNA协议相兼容的家庭间设备发现系统,所述系统通过公网注册服务器实现分属于不同家庭的第一DMC设备对第二DMC设备的发现,其中,所述注册服务器中保留有各家庭的DMC设备的注册信息,所述注册信息由各家庭DMC设备通过扩展的DLNA协议在所述注册服务器上的注册完成;所述第一DMC设备从所述注册服务器获取对端家庭的在线DMC设备列表,并根据所述列表向所述注册服务器请求检索所述列表中的第二DMC设备信息;所述对端家庭的第二DMC设备根据所述注册服务器转发的检索请求获取本地家庭内的DMS或者DMR设备的响应,并将所述响应返回所述注册服务器;注册服务器将收到的响应转发给第一DMC设备;其中,所述扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件。
本发明提供的针对广域网的环境,对DLNA协议在设备注册、设备查询、设备检索以及服务订阅方面进行了扩展,实现了一对多模式的家庭间的设备发现。与现有技术相比,本发明在以下方面具有优势:
(1)更大的适用范围。现有方法通常只能实现一对一的家庭间设备发现,而本方法可以实现以一对多的模式同时发现多个对端家庭内的DLNA设备,进一步扩大了DLNA协议的适用范围;
(2)良好的用户体验。现有方法需要在两个家庭间建立直接的连接,操作较为复杂,尤其是基于VPN进行连接通信,需要预先进行复杂的配置,用户体验不好;而本发明提出的家庭间设备发现方法和系统不需要复杂的额外配置,提升了操作的简易性与用户体验;
(3)良好的扩展性。现有方法需要对端家庭的代理服务器同时监听多个端口(Port),增加了代理服务器的负担,扩展性不好,也增加了“端口占用”冲突的概率;同时,当家庭内增加新的DLNA设备时,需要与对端家庭的代理服务器协商增加新的监听端口,额外增加了家庭间设备发现的成本;而对于本发明提出的家庭间设备发现的方法和系统,当家庭增加新的DLNA设备或提供的服务发生变化时,对端家庭可以通过设备查询和服务订阅自动获得这些变更,进一步降低了家庭间设备依赖的耦合性,具有良好的扩展性。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
附图说明
通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
图1为现有技术中基于DLNA协议的一对一模式下家庭间设备发现过程示意图;
图2为根据本发明实施例的家庭间设备发现方法的流程图;
图3为根据本发明实施例的一对多模式的家庭间设备发现过程示意图;
图4为根据本发明实施例的DMC设备注册流程示意图;
图5为根据本发明实施例的家庭间设备检索流程示意图;
图6为根据本发明实施例的DMC设备服务订阅流程示意图;
图7为根据本发明实施例的家庭间设备发现系统的方框示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐述了许多具体细节。然而,很明显,也可以在没有这些具体细节的情况下实现这些实施例。在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备以方框图的形式示出。
以下将结合附图对本发明的具体实施例进行详细描述。
在本发明下述实施例所涉及的概念中,DLNA设备是DMC设备、DMR设备以及DMS设备的统称。
图2示出了根据本发明实施例的家庭间设备发现方法的流程图。
如图2所示,本发明提供的家庭间设备发现方法,包括如下步骤:
S210:建立公网注册服务器,通过扩展的DLNA协议完成各家庭DMC设备在注册服务器上的注册,注册服务器保存各家庭的DMC设备的注册信息;
S220:第一DMC设备从注册服务器获取对端家庭的在线DMC设备列表,并根据该列表向注册服务器请求检索列表中的第二DMC设备信息;
S230:对端家庭的第二DMC设备根据注册服务器转发的检索请求获取本地家庭内的DMS(数字媒体服务器)或者DMR(数字媒体渲染器)设备的响应,并将该响应返回所述注册服务器;
S240:注册服务器将收到的响应返回给第一DMC设备。
通过图2所示的流程可以看出,本发明的实现依赖于公网上的DLNA注册服务器的建立,建立了注册服务器后,每个家庭的DMC(Digital MediaController,数字媒体控制器)设备都可以向该注册服务器注册,通过扩展DLNA协议,实现DLNA协议下DMC设备的注册与查询,以及DMC设备发现消息在广域网的传输,从而实现了对端家庭间DMC设备的发现。本方法借助于建立在公网上的注册服务器,能够实现以一对多的模式同时发现多个对端家庭内的DMC设备,进一步扩大了DLNA协议的适用范围。
图3示出了根据本发明实施例的一对多模式的家庭间设备发现过程。
如图3所示,借助于建立在公网上的注册服务器,一个家庭内DMC设备通过注册服务器发现两个对端家庭DMR(数字媒体渲染器)或DMS设备的过程包括四个阶段,分别为设备注册、设备查询、设备检索与服务订阅,这些阶段相辅相成,互为依托,其中设备注册是设备查询的基础,而设备查询是设备检索和服务订阅的基础,以下分别对此展开论述。
设备注册
按照DLNA协议,DMC设备上下线时,不需要对外发布上下线通告,为实现一对多模式的家庭间DMC设备的发现,首先建立用于公网设备注册的注册服务器,然后通过扩展的DLNA协议,完成各家庭DMC设备在服务器上的注册。其中,扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件。
图4示出了根据本发明实施例的DMC设备注册的具体流程。
如图4所示,DMC设备上线(步骤S410)后,首先需要与注册服务器建立websocket连接(步骤S420),如果连接成功,则DMC设备发布上线通告消息给注册服务器(步骤S430),注册服务器解析通告消息并获取该DMC设备的DMC设备描述文件(步骤S440),然后,注册服务器解析DMC设备描述文件,并获取DMC服务描述文件(步骤S450),进而解析DMC服务描述文件,完成注册(步骤S460),最后输出结果,结束注册过程(步骤S470)。
通过上述注册过程,注册服务器保留了各家庭DMC设备的注册信息,从而使得将设备检索消息同时发往多个家庭成为可能,而这个过程并不需要用户的手动配置。
上述对DLNA协议进行的扩展,包括定义DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件。
其中,DMC设备上下线通告消息定义如下:
<notify>
<name>设备名字</name>
<cache-control>设备超时时间</cache-control>
<location>URL</location>
<USN>设备的UUID::ip:port</USN>
<type>alive或byebye</type>
</notify>
上述消息中,“设备的UUID”是由DLNA协议定义的,为确保在广域网的唯一性,扩展为“设备的UUID::ip:port”作为该设备在注册服务器注册时的唯一标识。其中<type>字段的值表明了消息类型,值若为“alive”表明是上线,值若为“byebye”表明是下线。注册服务器若收到下线消息,将相应DMC从注册列表中删除即可。
注册服务器在收到DMC通过websocket发送的上线通告消息之后,对该通告消息进行解析,获得设备的URL,该URL唯一标识了设备描述文件,然后注册服务器发送以下消息获取DMC设备描述文件:
<getDevice>
<location>URL</location>
</getDevice>
DMC设备收到上述消息后,将DMC设备描述文件发送给注册服务器。但在现有的DLNA协议中,仅对DMR和DMS定义了设备描述文件,设备描述文件的格式如下(以下仅列出了DLNA定义的关键字段):
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<URLBase>所有相对URL的前缀</URLBase>
<device>
<deviceType>urn:schemas-upnp-org:device:deviceType:v</deviceType>
<friendlyName>设备名称</friendlyName>
…
<UDN>uuid:UUID</UDN>
<iconList>
<icon>
<mimetype>图标格式</mimetype>
<width>图标宽度</width>
<height>图标高度</height>
<depth>颜色深度</depth>
<url>图标URL</url>
</icon>
…
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:serviceType:v</serviceType>
<serviceId>urn:upnp-org:serviceId:serviceID</serviceId>
<SCPDURL>服务描述文件URL</SCPDURL>
<controlURL>控制URL</controlURL>
<eventSubURL>事件订阅URL</eventSubURL>
</service>
</serviceList>
…
<deviceList>
</deviceList>
<presentationURL>用于展现的URL</presentationURL>
</device>
</root>
由于现有的DLNA协议没有针对DMC定义DMC设备描述文件,为实现家庭间的设备发现,本发明对现有的DLNA协议定义的设备描述文件格式进行修改,在扩展的DLNA协议中额外定义DMC设备描述文件,具体包括:
1)、在<deviceType>字段,增加DMC设备类型;
2)、DMC是控制设备,因此删除<controlURL>字段;
3)、<presentationURL>标识的URL通常只对局域网有意义,因此删除该字段;
4)、<eventSubURL>字段,虽然事件订阅URL仍然保留,但其作用已经发生变化,对于DMR和DMS而言,可以通过该字段获得自身所提供服务相关变量的变更通知,而对于DMC而言,注册服务器通过该字段向DMC订阅事件通知后,若家庭内DMR或DMS发出上线通告消息,则注册服务器可以收到DMC转发的通告消息,具体消息格式将会在面的实施例表述中给出。
注册服务器收到DMC发送的设备描述文件之后,解析提取出<serviceId>和<SCPDURL>字段,然后发送注册服务获取消息给DMC,消息格式定义如下:
<getService>
<SCPDURL>服务描述文件URL</SCPDURL>
</getService>
DMC收到该消息后,将DMC服务描述文件发送给注册服务器。同样,现有的DLNA协议中没有针对DMC定义服务描述文件,在本发明的一个具体实施方式中,在保证与DLNA协议兼容的情况下,对DLNA协议进行了扩展,定义DMC服务描述文件格式如下:
<?xml version="1.0"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<actionList>
<action>
<name>GetDeviceList</name>
<argumentList>
<argument>
<name>deviceType</name>
<direction>in</direction>
<relatedStateVariable>deviceTypeInfo</relatedStateVariable>
</argument>
<argument>
<name>deviceList</name>
<direction>out</direction>
<relatedStateVariable>deviceListInfo</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>SearchDevice</name>
<argumentList>
<argument>
<name>deviceType</name>
<direction>in</direction>
<relatedStateVariable>deviceTypeInfo</relatedStateVariable>
</argument>
<argument>
<name>deviceList</name>
<direction>out</direction>
<relatedStateVariable>deviceListInfo</relatedStateVariable>
</argument>
<argument>
<name>max_time</name>
<direction>in</direction>
<relatedStateVariable>timeInfo</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>deviceTypeInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>deviceListInfo</name>
<dataType>string</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>timeInfo</name>
<dataType>time</dataType>
</stateVariable>
</serviceStateTable>
</scpd>
在上述DMC服务描述文件中,定义了GetDeviceList和SearchDevice两个action,其中,对于GetDeviceList,其参数为:
urn:schemas-upnp-org:device:MediaRender或
urn:schemas-upnp-org:device:MediaServer
用于获取对端家庭内DMC已经发现的DMR或DMS设备的列表;
对于SearchDevice,其参数为“:
urn:schemas-upnp-org:device:MediaRender或
urn:schemas-upnp-org:device:MediaServer
用于搜索对端家庭内DMR或DMS设备的列表。
注册服务器通过对GetDeviceList的调用,获得当前DMC设备已知的DMR或DMS设备列表,具体是哪种设备列表,取决于调用参数deviceType。注册服务器通过对后者的调用,可以让DMC设备发出搜索消息,且该搜索的有效期为max_time,在该有效期内发现的DMR或DMS设备列表都将被反馈给服务器。在服务状态变量中,deviceListInfo变量的sendEvents属性值为“yes”,表明注册服务器可以订阅该变量,如果该变量被订阅,则家庭内任何DMR或DMS上下线的通告消息都将由DMC设备转发给注册服务器。
注册服务器在获取服务描述文件之后,将DMC设备提供的DMC设备描述信息和DMC服务描述信息在注册服务器进行注册。
DMC设备在向对端家庭发送设备检索消息之前,首先需要向注册服务器发送设备查询消息,以从注册服务器获得对端家庭在线DMC的设备列表。其中,DMC设备查询消息的格式定义如下:
<message>
<action>getOnlineDevice</action>
</message>
注册服务器收到上述消息后,向DMC返回当前在线的对端家庭的DMC或DMP设备列表消息,列表中包含对应设备的<USN>字段及其服务描述信息(见前述的DMC服务描述文件),消息格式定义如下:
<message>
<deviceList>
<device>
<USN>设备的UUID::ip:port</USN>
<serviceDescription>服务描述信息</serviceDescription>
</device>
<device>
……
</device>
</deviceList>
</message>
DMC设备上线之后,首先需要从注册服务器获得当前在线的对端家庭DMC设备列表,然后向注册服务器发送设备检索消息,该消息中包括需要检索的对端家庭DMC设备的USN值,以及需要执行的服务操作(action)的名字及相应参数。注册服务器收到检索消息后,匹配其中的USN字段,根据USN字段的值将消息转发给对端家庭的DMC设备,对端家庭DMC收到检索消息后,从中剥离出M-SEARCH消息,并多播来自对端家庭的SSDPM-SEARCH消息,并且获取本地家庭内DMS或DMR设备的响应,之后将响应发送给注册服务器。
每当收到来自对端家庭的检索响应后,注册服务器负责将响应转发给设备检索DMC。
图5示出了根据本发明实施例的家庭间设备检索流程示意图,如图5所示,首先,DMC设备获取对端家庭在线DMC设备列表(步骤S510);然后,DMC设备从该设备列表中选择对端家庭的DMC设备,并通过注册服务器发送针对该DMC设备(对端家庭的)的检索消息(步骤S520);对端家庭收到检索消息后,剥离M-SEARCH消息(步骤S530);判断是否为SearchDevice调用(步骤S540)。
如果是SearchDevice调用,则进入步骤S550:对端家庭多播M-SEARCH消息,并将检索响应返回给注册服务器;反之,如果不是SearchDevice调用,则进入步骤S560:对端家庭返回已知的DMR或者DMS设备列表给注册服务器。
最后,服务器将从对端家庭接收的检索响应转发给提出检索请求的DMC设备(步骤S570)。
在上述流程中,需要对DLNA定义的SSDP M-SEARCH设备检索消息进行扩展,增加如下三个字段:REMOTE-HOME、SERVICE-ACTION和SERVICE-PARAMETERS,这三个字段是可选的,扩展后的消息格式如下:
M-SEARCH*HTTP/1.1
HOST:239.255.255.250:1900
MAN:"ssdp:discover"
MX:seconds to delay response
ST:search target
USER-AGENT:OS/version UPnP/1.1 product/version
REMOTE-HOME:对端家庭USN列表
SERVICE-ACTION:GetDeviceList或者SearchDevice
SERVICE-PARAMETERS:deviceType;max-time或deviceType
对于上述扩展的三个字段,其用法说明如下:
(1)家庭内的DMR或DMS在解析收到的M-SEARCH消息时,应该忽略上述扩展的三个字段;
(2)若DMC仅检索家庭内的DMR或DMS设备,则M-SEARCH消息中需要忽略上述扩展的三个字段;
(3)若DMC需要检索对端家庭内的DMR或DMS设备,则必须附带上述三个字段,并将M-SEARCH消息发往服务器,注册服务器解析该消息,提取REMOTE-HOME字段的值,匹配当前在线的对端家庭DMC设备,根据匹配的结果,将检索消息发送给相应的DMC设备。DMC设备收到消息后,根据SERVICE-ACTION字段的值,调用相关的服务操作,若为GetDeviceList操作,则返回当前已知的DMR或DMS设备,若为SearchDevice,则在家庭内多播SSDP M-SEARCH消息,并且获取本地家庭内DMS或DMR设备的响应,之后将响应发送给注册服务器,多播消息的有效期为max-time。
另外,在本发明的一个优选实施方式中,DMC设备还可以订阅对端家庭内DMC设备提供的服务变量,根据DMC服务描述文件,可进行事件订阅的变量为deviceListInfo。如果订阅了deviceListInfo,则当对端家庭内有DMR或DMS上下线时,多个对端家庭内的DMC也会收到相应的上下线通告。
图6示出了根据本发明实施例的DMC设备服务订阅流程。如图6所示,根据本发明实施例的DMC设备服务订阅流程包括如下步骤:
S610:DMC设备获取对端家庭在线DMC设备列表,获得事件定阅URL;
S620:从DMC设备列表中选择DMC设备,通过注册服务器发送DMC设备订阅消息;
S630:对端家庭收到订阅消息,将订阅者添加至订阅者列表中;
S640:当有DMR/DMS上下线时,检测订阅者列表及其max-time是否超时,max-time是请求的订阅有效时间;如果超时,则进入步骤S650,否则,进入步骤S660;
S650:删除超时的订阅者;
S660:将上述上下线通告通过注册服务器转发给订阅者;
S670:处理结束。
在上述流程中,需要对DLNA协议定义的事件订阅消息格式,以及上下线通告消息格式进行扩展,以使得一个家庭可以同时订阅多个对端家庭内的服务,也可以使得上下线通告消息可以同时被多个对端家庭收到。以下分别对事件订阅消息和上下线消息展开论述。
现有的DLNA协议中定义的事件订阅消息格式如下:
SUBSCRIBE 事件URL HTTP/1.1
HOST:服务所在主机:服务所在主机的端口号
CALLBACK:<服务提供者向订阅者发送消息时采用的URL>
NT:upnp:event
TIMEOUT:Second-请求的订阅有效时间
该消息中CALLBACK字段的值是一个绝对形式的URL。注册服务器要发送事件通知消息时,会向该URL发送HTTP POST请求,将事件消息的内容传递给订阅者。然而对于跨家庭的服务订阅而言,HOST和CALLBACK字段没有意义,因此,在本发明实施例提供的扩展的DLNA协议中,增加了REMOTE-HOME、STATEVARIABLE和LOCAL-HOME字段,删除了HOST和CALLBACK字段,更改后的消息订阅格式如下:
SUBSCRIBE事件URL HTTP/1.1
REMOTE-HOME:对端家庭USN列表
STATEVARIABLE:订阅的服务变量
NT:upnp:event
TIMEOUT:Second-请求的订阅有效时间
LOCAL-HOME:本家庭内DMC的USN
其中TIMEOUT的值对应图6中的max-time。注册服务器在收到订阅消息后,根据REMOTE-HOME字段的值,匹配相应在线的对端家庭DMC(可能有多个),并将订阅消息转发给对端家庭DMC。
对于DMR或DMS的上下线通告消息而言,当对端家庭内DMR或DMS上下线时,会发出上下线通告,现有的DLNA协议定义的上下线通告格式为:
NOTIFY*HTTP/1.1
HOST:239.255.255.250:1900
CACHE-CONTROL:max-age=设备超时时间
LOCATION:设备描述文件URL
NT:检索目标
NTS:ssdp:alive或ssdp:byebye
SERVER:操作系统/版本UPnP/1.0产品/版本
USN:设备的UUID
家庭内的DMC设备收到上线通告后,会附加上自身的USN以及订阅者的USN,然后由注册服务器转发给仍在有效订阅期内的订阅者。其中订阅者的USN对应订阅消息中的LOCAL-HOME字段,DMC设备自身的USN对应上线消息中的LOCAL-HOME字段,订阅者收到的上线消息为扩展后的通告消息,其格式为:
NOTIFY*HTTP/1.1
HOST:239.255.255.250:1900
CACHE-CONTROL:max-age=设备超时时间
LOCATION:设备描述文件URL
NT:检索目标
NTS:ssdp:alive或ssdp:byebye
SERVER:操作系统/版本UPnP/1.0产品/版本
USN:设备的UUID
REMOTE-HOME:订阅者USN
LOCAL-HOME:本家庭内DMC的USN
如上参照附图和具体实施方式描述了根据本发明的家庭间设备发现方法,相应地,本发明还提供一种与该方法想对应的家庭间设备发现系统。
图7示出了根据本发明实施例的家庭间设备发现系统700的方框示意图。如图7所示,家庭间设备发现系统700包括设立在公网的注册服务器710和至少两个家庭间的设备,家庭间设备发现系统700通过注册服务器710实现分属于不同家庭的第一DMC设备720对第二DMC设备730的发现,其中,注册服务器710中保留有各家庭的DMC设备的注册信息,该注册信息由各家庭DMC设备通过扩展的DLNA协议在所述注册服务器上注册完成;第一DMC设备720从注册服务器710获取对端家庭的在线DMC设备列表,并根据该列表向注册服务器710请求检索列表中的第二DMC设备730信息;对端家庭的第二DMC设备730根据注册服务器710转发的检索请求获取本地家庭内的DMS或者DMR设备的响应,并将所获取的响应返回所述注册服务器710;注册服务器将收到的所述响应返回给第一DMC设备;其中,扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件。
如上参照附图以示例的方式描述根据本发明的家庭间设备发现方法和系统。但是,本领域技术人员应当理解,对于上述本发明所提出的家庭间设备发现方法和系统,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
Claims (9)
1.一种家庭间设备发现方法,包括:
建立公网注册服务器,通过扩展的DLNA协议完成各家庭DMC设备在所述注册服务器上的注册,所述注册服务器中保留有各家庭的DMC设备的注册信息;
第一DMC设备从所述注册服务器获取对端家庭的在线DMC设备列表,并根据所述列表向所述注册服务器请求检索所述列表中的第二DMC设备信息;
所述对端家庭的第二DMC设备根据所述注册服务器转发的检索请求获取本地家庭内的DMS或者DMR设备的响应,并将所述响应返回所述注册服务器;
所述注册服务器将收到的所述响应返回给第一DMC设备;其中,
所述扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件;其中,
所述DMC设备上下线通告消息定义了上下线的DMC设备的名称、URL以及所述DMC设备在所述注册服务器注册时的唯一标识;
所述DMC设备描述文件由所述DMC设备的URL唯一标识,在所述DMC设备描述文件的<deviceType>字段中增加了DMC设备类型,删除了<controlURL>字段、<presentationURL>字段,以及将<eventSubURL>字段定义为向订阅事件通知的注册服务器发送DMC设备转发的通告消息;
所述DMC服务描述文件定义了GetDeviceList和SearchDevice两个行为,所述注册服务器通过对所述GetDeviceList的调用获得当前DMC设备已知的DMR或DMS设备列表,所述注册服务器通过对所述SearchDevice的调用让所述DMC设备发出具有有效期的搜索消息;以及,在所述有效期内发现的DMR或DMS设备列表被反馈给所述注册服务器;
所述注册服务器在获取所述DMC服务描述文件之后,将所述DMC设备提供的设备描述信息和服务描述信息在所述注册服务器进行注册。
2.如权利要求1所述的家庭间设备发现方法,其中,通过扩展的DLNA协议完成各家庭DMC设备在所述注册服务器上的注册的过程包括:
所述DMC设备在与所述注册服务器建立连接后向所述注册服务器发布DMC设备上线通告消息;
所述注册服务器根据对所述上线通告消息的解析获取所述DMC设备的DMC设备描述文件;
所述注册服务器根据对所述DMC设备描述文件的解析获取所述DMC设备的DMC服务描述文件;
所述注册服务器根据对所述DMC服务描述文件的解析完成所述DMC设备的注册。
3.如权利要求1所述的家庭间设备发现方法,其中,所述DMC设备上下线通告消息的定义如下:
<notify>
<name>设备名字</name>
<cache-control>设备超时时间</cache-control>
<location>URL</location>
<USN>设备的UUID::ip:port</USN>
</notify>
其中,所述“设备的UUID::ip:port”为所述设备在所述注册服务器注册时的唯一标识。
4.如权利要求1所述的家庭间设备发现方法,其中,所述注册服务器根据对所述DMC设备描述文件的解析获取所述DMC设备的DMC服务描述文件的过程包括:
所述注册服务器收到所述DMC设备发送的DMC设备描述文件之后,解析提取出<serviceId>和<SCPDURL>字段,然后发送如下格式的服务获取消息给所述DMC设备:
<getService>
<SCPDURL>服务描述文件URL</SCPDURL>
<controlURL>控制URL</controlURL>
</getService>
所述DMC设备根据收到的服务获取消息后发送所述DMC服务描述文件给所述注册服务器。
5.如权利要求1所述的家庭间设备发现方法,其中,所述DMC设备上下线通告消息还定义了设备超时时间。
6.如权利要求1所述的家庭间设备发现方法,其中,所述第一DMC设备向所述注册服务器请求检索第二DMC设备信息的过程中,所述第一DMC设备向所述注册服务器发送的设备检索消息包括:
所述第二DMC设备的USN值;以及
所述注册服务器需要执行的服务操作,所述服务操作的名字和参数在所述第二DMC设备提供的服务描述文件中有描述,至少包括以下操作:
(1)“GetDeviceList”服务操作,其参数为“urn:schemas-upnp-org:device:MediaRender”或“urn:schemas-upnp-org:device:MediaServer”,用于获取对端家庭内DMC已经发现的DMR或DMS设备的列表;
(2)“SearchDevice”服务操作,其参数为“urn:schemas-upnp-org:device:MediaRender”或“urn:schemas-upnp-org:device:MediaServer”,用于搜索对端家庭内DMR或DMS设备的列表。
7.如权利要求6所述的家庭间设备发现方法,其中,所述DMC设备通过订阅对端家庭内DMC设备提供的对端家庭内DMC的服务变量获取对端家庭内有DMR或DMS上下线时的上下线通告。
8.如权利要求7所述的家庭间设备发现方法,其中,所述对端家庭内DMC设备在收到家庭内的上下线通告后,附加上自身的USN以及订阅者的USN,然后由所述注册服务器转发给有效订阅期内的订阅者。
9.一种家庭间设备发现系统,所述系统通过公网注册服务器实现分属于不同家庭的第一DMC设备对第二DMC设备的发现,其中,
所述注册服务器中保留有各家庭的DMC设备的注册信息,所述注册信息由各家庭DMC设备通过扩展的DLNA协议在所述注册服务器上的注册完成;
所述第一DMC设备从所述注册服务器获取对端家庭的在线DMC设备列表,并根据所述列表向所述注册服务器请求检索所述列表中的第二DMC设备信息;
所述对端家庭的第二DMC设备根据所述注册服务器转发的检索请求获取本地家庭内的DMS或者DMR设备的响应,并将所述响应返回所述注册服务器;
所述注册服务器将收到的所述响应返回给第一DMC设备;其中,
所述扩展的DLNA协议定义了DMC设备上下线通告消息、DMC设备描述文件以及DMC服务描述文件;其中,
所述DMC设备上下线通告消息定义了上下线的DMC设备的名称、URL以及所述DMC设备在所述注册服务器注册时的唯一标识;
所述DMC设备描述文件由所述DMC设备的URL唯一标识,在所述DMC设备描述文件的<deviceType>字段中增加了DMC设备类型,删除了<controlURL>字段、<presentationURL>字段,以及将<eventSubURL>字段定义为向订阅事件通知的注册服务器发送DMC设备转发的通告消息;
所述DMC服务描述文件定义了GetDeviceList和SearchDevice两个行为,所述注册服务器通过对所述GetDeviceList的调用获得当前DMC设备已知的DMR或DMS设备列表,所述注册服务器通过对所述SearchDevice的调用让所述DMC设备发出具有有效期的搜索消息;以及,在所述有效期内发现的DMR或DMS设备列表被反馈给所述注册服务器;
所述注册服务器在获取所述DMC服务描述文件之后,将所述DMC设备提供的设备描述信息和服务描述信息在所述注册服务器进行注册。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210498871.1A CN103001959B (zh) | 2012-11-29 | 2012-11-29 | 家庭间设备发现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210498871.1A CN103001959B (zh) | 2012-11-29 | 2012-11-29 | 家庭间设备发现方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103001959A CN103001959A (zh) | 2013-03-27 |
CN103001959B true CN103001959B (zh) | 2015-04-15 |
Family
ID=47930103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210498871.1A Active CN103001959B (zh) | 2012-11-29 | 2012-11-29 | 家庭间设备发现方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103001959B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106803989B (zh) * | 2013-06-18 | 2020-03-27 | 华为技术有限公司 | 多屏互动方法、装置及终端设备 |
CN105323125B (zh) * | 2014-07-25 | 2020-03-31 | 中兴通讯股份有限公司 | 一种跨家庭网络的处理方法及http网关、dlna设备 |
KR102335007B1 (ko) | 2015-04-01 | 2021-12-06 | 삼성전자주식회사 | 방송 시스템에서 디바이스들 간에 정보를 송수신하는 방법 및 장치 |
CN106302048B (zh) * | 2016-08-17 | 2020-04-17 | 中国科学院微电子研究所 | 一种dlna受控设备下线通知的方法及dlna网络设备 |
CN107911356B (zh) * | 2017-11-08 | 2020-04-17 | 合肥美菱物联科技有限公司 | 一种智能设备发现方法、装置、控制端及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2445791A (en) * | 2007-01-17 | 2008-07-23 | Electricpocket Ltd | Interconnection of Universal Plug and Play Networks using eXtensible Messaging and Presence Protocol Streams |
CN101355470A (zh) * | 2007-07-26 | 2009-01-28 | 华为技术有限公司 | 家庭网络环境中实现业务连续性的系统、方法和装置 |
CN102123065A (zh) * | 2010-12-29 | 2011-07-13 | 东软集团股份有限公司 | 家庭间dlna设备发现和控制方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110039672A (ko) * | 2009-10-12 | 2011-04-20 | 삼성전자주식회사 | 휴대용 단말기의 디엘엔에이 네트워크를 이용한 컨텐츠 재생 장치 및 방법 |
-
2012
- 2012-11-29 CN CN201210498871.1A patent/CN103001959B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2445791A (en) * | 2007-01-17 | 2008-07-23 | Electricpocket Ltd | Interconnection of Universal Plug and Play Networks using eXtensible Messaging and Presence Protocol Streams |
CN101355470A (zh) * | 2007-07-26 | 2009-01-28 | 华为技术有限公司 | 家庭网络环境中实现业务连续性的系统、方法和装置 |
CN102123065A (zh) * | 2010-12-29 | 2011-07-13 | 东软集团股份有限公司 | 家庭间dlna设备发现和控制方法及装置 |
Non-Patent Citations (1)
Title |
---|
数字家庭间互联互通方法的研究与应用;吴润凯;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120115(第1期);第四章方案二,第4.2节第8-10行,第4.2.1小节、图4-2,4-3 * |
Also Published As
Publication number | Publication date |
---|---|
CN103001959A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050204065A1 (en) | Synchronization method of upnp-based home network | |
US20190394312A1 (en) | Service discovery | |
US7958272B2 (en) | Method and apparatus for outputting a user interface (UI) event of 3rd party device in home network | |
US7292859B2 (en) | Apparatus and method for managing device information through networks | |
CN103001959B (zh) | 家庭间设备发现方法和系统 | |
EP2314059B1 (en) | Method and system for providing input in home network using upnp | |
EP1955489A2 (en) | System and method for using web syndication protocols as an out-of-band upnp service discovery system | |
CN110830841B (zh) | 一种处于不同局域网下的投屏方法、系统及智能装置 | |
US20080263124A1 (en) | Method and Apparatus for Making Devices on a Local Network Remotely-Accessible | |
CN107370648A (zh) | 使用无线保真提供用于无线网络连接的信息的装置和方法 | |
CN101547206B (zh) | 并行IGRS-UPnP | |
AU2011245872A1 (en) | Method for providing message and device therefor | |
US20070118625A1 (en) | Upnp av device interworking method of upnp-based network system | |
US20090254671A1 (en) | Remote control of a device by a terminal | |
US9531561B2 (en) | Apparatus and method for extending network area | |
KR20080005622A (ko) | UPnP 네트워크에서의 제어 포인트 및 그의 선호 기기등록 방법 | |
JP2004320741A (ja) | 個別に独立して存在するネットワークを接続する装置及び方法 | |
US10404485B2 (en) | Method and apparatus for restricting disclosure of network information during remote access service | |
US8700697B2 (en) | Method and apparatus for acquiring RUI-based specialized control user interface | |
KR20050078541A (ko) | 홈네트워크 디바이스 모니터링 및 제어 방법 | |
US7826392B2 (en) | Advertisement search agent | |
Kim et al. | Internet home network electrical appliance control on the internet with the UPnP expansion | |
WO2011119076A1 (en) | Method and arrangement for media access | |
KR100492543B1 (ko) | 홈 네트워크 내의 디바이스 원격 제어 방법 및 시스템 | |
KR20050035038A (ko) | 유피엔피(UPnP) 네트워크의 IP 주소 설정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |