CN101547206B - 并行IGRS-UPnP - Google Patents
并行IGRS-UPnP Download PDFInfo
- Publication number
- CN101547206B CN101547206B CN200910132866.7A CN200910132866A CN101547206B CN 101547206 B CN101547206 B CN 101547206B CN 200910132866 A CN200910132866 A CN 200910132866A CN 101547206 B CN101547206 B CN 101547206B
- Authority
- CN
- China
- Prior art keywords
- igrs
- upnp
- equipment
- concurrent
- message
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000009471 action Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 101000826116 Homo sapiens Single-stranded DNA-binding protein 3 Proteins 0.000 claims description 2
- 102100023008 Single-stranded DNA-binding protein 3 Human genes 0.000 claims description 2
- 239000000344 soap Substances 0.000 claims description 2
- 230000004044 response Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005755 formation reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/281—Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
- H04L69/085—Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/2847—Home automation networks characterised by the type of home appliance used
- H04L2012/2849—Audio/video appliances
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
在此披露的本发明可用于消费电子设备互用。本发明提供用于处理一个兼容IGRS和UPnP标准的并行IGRS-UPnP体系架构201的系统、装置和方法。
Description
相关申请的交叉引用
到目前为止,本申请没有任何相关的美国专利申请。
技术领域
IGRS是信息设备资源共享协同服务标准(Intelligent Groupingand Resource Sharing,简称IGRS标准),通用即插即用(UPnP)是由通用型即插即用论坛(UPnPTM Forum)提出的一套网络协议。本发明适用于消费电子设备中的设备互用性。更具体地,本发明涉及处理一个兼容IGRS和UPnP标准的并行IGRS-UPnP体系架构。
发明背景
消费电子标准经常是承诺远大于现时实际所能提供的。其它设备标准经常导致设备互用性降低而不是功能性增强。美国专利7,218,243,标题为“自动设置通用远程控制的系统和方法(System and method forautomatically setting up a universal remote contro1),是一个描述自动设置远程控制设备的系统和方法的例子。所述系统和方法与其它引用有一个共同的方面,就是需要一个额外服务器和数据库来上载所需的接口信息。结果可能出现需要外部的服务器连接、安全性问题和设备低效等问题。
同样,美国专利7,206,853,标题为“用于家庭网络应用的内容提取层(Content abstraction layer for use in home network applications),定义了一个用于电子设备网络的网络架构体系,其包括一个使用网络中枢的多个电子设备互连的设备层。在披露的网络架构体系里,许多电子设备各自使用设备本身的通信协议进行运作。为了通过定义的提取层控制电子设备,需要使用一个专用API来实现披露的控制点(Control Point)。
公开的中国专利申请200610021946.1(标题为“家庭网络中间件开发平台及其代码转换方法”)详细描述了中间件的架构体系,其传输用户输入的WSDL文档到IGRS服务,并产生源代码。
公开的中国专利00808405.X(标题为“桥连HAVi子网络和UPnP子网络的方法及实施所述方法的装置”)描述了一种网关,其连接UPnP网络和HAVi网络上的设备,并转换两种协议,从而设备能够通过一个专用网关设备来发现和控制其它不同协议的设备。
发明概述
前述参考文献的问题包括这个事实:没有支持并行的IGRS和UPnP协议。大多数文献要求一个外部网关来将UPnP协议转换为其它协议,并专注于设计一个控制点以便控制具有不同协议的设备。依照本发明提供的设备和相关方法,使用本发明堆栈建立的远程控制可以控制IGRS和UPnP设备,并且不需要额外进行设置。通过任何IGRS或UPnP标准控制点,可以控制使用本发明的设备。依照本发明,一个设定的堆栈能够提供API给开发者,以便注册其回叫(callback)并转换成符合IGRS和UPnP标准的服务。结果,本发明使一种设备能够支持两种协议,且不需要外部设备。另外,一些披露的设备需要额外修改现有的设备,以便能够实施其他的标准。在参考文献里披露的设备需要连接到一个额外服务器和数据库,以便上载所需的接口,其可能导致安全性问题和设备低效。使用有关本发明堆栈而建立的远程控制能够控制IGRS和UPnP设备,而不需要额外进行设置。
通过规避对外部网关的需求,本发明提供的设备能够使用单个控制点来支持IGRS和UPnP应用。一个具有并行IGRS/UPnP堆栈的设备可以通过IGRS或UPnP兼容控制点来控制,而不需要对现有的IGRS/UPnP设备进行改造。IGRS和UPnP都具有相同的目标,因为两个都期望形成一个行业标准来完成跨行业设备融合。这两个标准都专注于相同的消费电子产品,包括家庭和公司环境里使用的智能应用和移动设备。这两个标准都采用相似的分布式、开放的网络架构体系。另外,这两个标准都采用相同的TCP/IP、XML和HTTP标准。只要设备指令和命令没有干扰地在同一网络里出现,本发明就是有用的。
由于不同的消息格式,安全性技术和协议标题,IGRS和UPnP消息经常发生消息冲突和设备错误。在本发明里,使用单个控制点来支持IGRS和UPnP应用。具有并行IGRS/UPnP堆栈的设备可以通过IGRS或UPnP兼容的控制点来控制,而不需要对现有的IGRS/UPnP设备进行改造,并且不需要外部网关。
在线通知当一个设备加入到网络时,它广告/通告其可用性和它能够提供的所有服务。这让控制点知道所有的设备功能性和能够发现设备的所有不同方式。这个通知通过网络被多播出去。
表格3,IGRS在线通知消息
标题(Header) | 是否需要 | 类型 | 描述 |
主机(Host) | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
缓存控制(Cache-Control) | 需要 | 必须有max-age指示 | 指定广告有效的秒数,应该大于3秒 |
位置 | 需要 | 单个URL | 如果设备支持非安全管道,此URL指向 |
IGRS设备描述文档的位置,否则该值应该是http://www.igrs.org/device | |||
NT | 需要 | 通知类型 | 可以采用以下一种格式:uuid:deviceURNserviceTypeURN |
NTS | 需要 | 单个URI | 必须是ssdp:alive |
服务器(server) | 需要 | 字符串 | 串联OS名称、OS版本、IGRS/1.0、产品名称、和产品版本 |
USN | 需要 | 单个URI | 可以采用以下一种格式:uuid:deviceURNuuid:device-URN::serviceTypeURN |
Man | 需要 | 字符串 | 必须是“http://www.igrs.org/spec1.0”;ns=01 |
01-IGRS版本(IGRSVersion) | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型(IGRSMessageType) | 需要 | 字符串 | 必须是以下一值:DeviceOnlineAdvertisementServiceOnlineAdvertisement |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 设备URN |
01-设备类型(DeviceType) | 如果是IGRS设备在线消息,需要 | 单个URI | 设备类型URN |
01-设备名称(DeviceName) | 如果是IGRS设备在线消息,需要 | 字符串 | 设备名称 |
01-服务名称(ServiceName) | 如果是IGRS设备在线消息,需要 | 字符串 | 服务名称 |
01-服务类型(ServiceType) | 如果是IGRS设备在线消息,需要 | 单个URI | 服务类型URN |
01-服务Id(ServiceId) | 如果是IGRS设备在线消息,需要 | 32比特无符号整数(0保留) | 服务号码 |
01-设置Id(ConfigId) | 如果是IGRS设备在线消息,需要 | 32比特无符号整数(0保留) | 无论何时设置发生变化时,此值将增加1;当到达上限时,此值将返回1 |
01-启动Id(BootId) | 如果是IGRS设备在线消息,需要 | 32比特无符号整数(0保留) | 当设备重新启动时,此值将增加1;当到达上限时,此值将返回1 |
01-设备组ID列表(DeviceGroupIdList) | 如果是IGRS设备在线消息,需要 | 字符串 | 设备组ID列表,由“;”间隔开 |
01-设备安全性ID列表(DeviceSecurityIdList) | 如果是IGRS设备在线消息,需要 | 字符串 | 设备安全性ID列表,由“;”间隔开 |
01-服务安全性列表(ServiceSecurityList) | 如果是IGRS设备在线消息,需要 | 字符串 | 服务安全性ID列表,由“;”间隔开 |
01-安全侦听器列表(SecureListenerList) | 可选 | 字符串 | 安全侦听器列表,每个侦听器的格式是“IP address:port”,列表字符串由“;”间隔开 |
01-侦听器列表(ListenerList) | 需要 | 字符串 | 侦听器列表,每个侦听器的格式是“IPaddress:port”,列表字符串由“;”间隔开 |
表格4,UPnP在线通知消息
标题(Header) | 是否需要 | 类型 | 描述 |
主机(Host) | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
缓存控制(Cache-Control) | 需要 | 必须有max-age指示 | 指定广告有效的秒数,应该大于1800秒 |
位置 | 需要 | 单个URL | 如果设备支持非安全管道,此URL指向根设备的UPnP设备描述文档的位置 |
NT | 需要 | 通知类型 | 可以采用以下一种格式:upnp:rootdeviceuuid:deviceURNdeviceTypeURNserviceTypeURN |
NTS | 需要 | 单个URI | 必须是ssdp:alive |
服务器(server) | 需要 | 字符串 | 串联OS名称、OS版本、UPnP/1.0、产品名称、和产品版本 |
USN | 需要 | 单个URI | 可以采用以下一种格式:uuid:deviceURN::upnp:rootdeviceuuid:deviceURNuuid:deviceURN::deviceTypeURNuuid:device-URN::serviceTypeURN |
表格5,并行IGRS-UPnP在线通知消息
标题(Header) | 是否需要 | 类型 | 描述 |
主机(Host) | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
缓存控制(Cache-Control) | 需要 | 必须有max-age指示 | 指定广告有效的秒数,应该大于1800秒 |
位置 | 需要 | 单个URL | 如果设备支持非安全管道,此URL指向并行IGRS-UPnP设备描述文档的位置 |
NT | 需要 | 通知类型 | 可以采用以下一种格式:upnp:rootdeviceuuid:deviceURNdeviceTypeURNserviceTypeURN |
NTS | 需要 | 单个URI | 必须是ssdp:alive |
服务器(server) | 需要 | 字符串 | 串联OS名称、OS版本、协议/1.0、产品名称、和产品版本 |
USN | 需要 | 单个URI | 可以采用以下一种格式:uuid:deviceURN::upnp:rootdeviceuuid:deviceURNuuid:deviceURN::deviceTypeURN |
uuid:device-URN::serviceTypeURN | |||
Man | 需要 | 字符串 | 必须是“http://www.igrs.org/spec1.0”;ns=01 |
01-IGRS版本(IGRSVersion) | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型(IGRSMessageType) | 需要 | 字符串 | 必须是以下一值:DeviceOnlineAdvertisementServiceOnlineAdvertisement |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 设备URN |
01-设备类型(DeviceType) | 如果是IGRS设备在线消息,需要 | 单个URI | 设备类型URN |
01-设备名称(DeviceName) | 如果是IGRS设备在线消息,需要 | 字符串 | 设备名称 |
01-服务名称(ServiceName) | 如果是IGRS设备在线消息,需要 | 字符串 | 服务名称 |
01-服务类型(ServiceType) | 如果是IGRS设备在线消息,需要 | 单个URI | 服务类型URN |
01-服务Id(ServiceId) | 如果是IGRS设备在线消息,需要 | 32比特无符号整数(0保留) | 服务号码 |
01-设置Id(ConfigId) | 如果是IGRS设备在线消息,需要 | 32比特无符号整数(0保留) | 无论何时设置发生变化时,此值将增加1;当到达上限时,此值将返回1 |
01-启动Id(BootId) | 如果是IGRS设备在线消息,需要 | 32比特无符号整数(0保留) | 当设备重新启动时,此值将增加1;当到达上限时,此值将返回1 |
01-设备组ID列表(DeviceGroupIdList) | 如果是IGRS设备在线消息,需要 | 字符串 | 设备组ID列表,由“;”间隔开 |
01-设备安全性ID列表(DeviceSecurityIdList) | 如果是IGRS设备在线消息,需要 | 字符串 | 设备安全性ID列表,由“;”间隔开 |
01-服务安全性ID列表(ServiceSecurityIdList) | 如果是IGRS设备在线消息,需要 | 字符串 | 服务安全性ID列表,由“;”间隔开 |
01-安全侦听器列表(SecureListenerList) | 可选 | 字符串 | 安全侦听器列表,每个侦听器的格式是“IP address:port”,列表字符串由“;”间隔开 |
01-侦听器列表(ListenerList) | 需要 | 字符串 | 侦听器列表,每个侦听器的格式是“IPaddress:port”,列表字符串由“;”间隔开 |
离线通知:当一个设备离开网络时,它通过发送离线通知消息通知控制点它要离开,以对应之前已经发出的每个在线通知。从而通知控制点此设备及其服务将不再可用。这个通知通过网络被多播出去。
表格6,IGRS离线通知消息
标题(Header) | 是否需要 | 类型 | 描述 |
主机 | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
NT | 需要 | 通知类型 | 与对应在线通知消息里的NT标题值相同 |
NTS | 需要 | 单个URI | 必须是ssdp:bye-bye |
USN | 需要 | 单个URI | 与对应在线通知消息里的USN标题值相同 |
Man | 需要 | 字符串 | 必须是“http://www.igrs.org/spec1.0”;ns=01 |
01-IGRS版本(IGRSVersion) | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型(IGRSMessageType) | 需要 | 字符串 | 必须是以下一个值:DeviceOfflineAdvertisementServiceOfflineAdvertisement |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 与对应在线通知消息里的01-SourceDeviceId标题值相同 |
01-服务ID(ServiceId) | 如果是IGRS服务离线消息,需要 | 32比特无符号整数(0保留) | 与对应在线通知消息里的01-ServiceId标题值相同 |
表格7,UPnP离线通知消息
标题(Header) | 是否需要 | 类型 | 描述 |
主机 | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
NT | 需要 | 通知类型 | 与对应在线通知消息里的NT标题值相同 |
NTS | 需要 | 单个URI | 必须是ssdp:bye-bye |
USN | 需要 | 单个URI | 与对应在线通知消息里的USN标题值相同 |
表格8,并行IGRS-UPnP离线通知消息
标题(Header) | 是否需要 | 类型 | 描述 |
主机 | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
NT | 需要 | 通知类型 | 与对应在线通知消息里的NT标题值相同 |
NTS | 需要 | 单个URI | 必须是ssdp:bye-bye |
USN | 需要 | 单个URI | 与对应在线通知消息里的USN标题值相同 |
Man | 需要 | 字符串 | 必须是“http://www.igrs.org/spec1.0”;ns=01 |
01-IGRS版本(IGRSVersion) | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型(IGRSMessageType) | 需要 | 字符串 | 必须是以下一个值:DeviceOfflineAdvertisementServiceOfflineAdvertisement |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 与对应在线通知消息里的01-SourceDeviceId标题值相同 |
01-服务ID(ServiceId) | 如果是IGRS服务离线消息,需要 | 32比特无符号整数(0保留) | 与对应在线通知消息里的01-ServiceId标题值相同 |
当控制点发出发现消息以搜索在网络上的设备和服务并找到一个满足其搜索条件时,发现(discovery)就产生了。
表格9,IGRS发现请求消息(Discovery Request Message):
标题(Header) | 是否需要 | 类型 | 描述 |
主机 | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
Man | 需要 | 字符串 | 必须是ssdp:discover |
MX | 需要 | 整数 | 回应的最大秒数,最大值是120秒 |
ST | 需要 | 单个URI | 必须是以下一个值:urn:schemas-IGRS-org:device:IGRSdevice:1urn:schemas-IGRS-org:service:IGRSservice:1 |
Man | 需要 | 字符串 | 必须是”http://www.igrs.org/spec1.0”;ns=01 |
01-IGRS版本(IGRSVersion) | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型(IGRSMessageType) | 需要 | 字符串 | 必须是以下一个值:SearchDeviceRequestSearchServiceRequest |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 设备URN |
01-序列ID(SequenceId) | 需要 | 32比特无符号整数(0保留) | 搜索请求消息的序列ID |
01-客户机ID(ClientId) | 需要 | 32比特无符号整数(0保留) | 客户机ID |
01-搜索全部(SearchAll) | 可选 | 字符串 | 必须是TRUE |
01-根据设备名称搜索(SearchByDeviceName) | 可选 | 字符串 | 设备名称 |
01-根据设备类型搜索(SearchByDeviceType) | 可选 | 单个URI | 设备类型URN |
01-根据设备ID搜索(SearchByDeviceId) | 可选 | 单个URI | 设备URN |
01-根据设备组ID搜索(SearchByDeviceGroupId) | 可选 | 单个URI | 设备组URN |
01-根据服务类型搜索(SearchByServiceType) | 可选 | 单个URI | 服务类型URN |
01-根据服务名称搜索(SearchByServiceName) | 可选 | 字符串 | 服务名称 |
表格10,UPnP发现请求消息(Discovery Request Message):
标题(Header) | 是否需要 | 类型 | 描述 |
主机 | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
Man | 需要 | 字符串 | 必须是ssdp:discover |
MX | 需要 | 整数 | 回应的最大秒数 |
ST | 需要 | 单个URI | 可以采取以下一种格式:ssdp:allupnp:rootdeviceuuid:deviceURNdeviceTypeURNserviceTypeURN |
表格11,并行IGRS-UPnP发现请求消息(Discovery RequestMessage):
标题(Header) | 是否需要 | 类型 | 描述 |
主机 | 需要 | 多播地址和主机 | 必须是239.255.255.250:1900 |
Man | 需要 | 字符串 | 必须是ssdp:discover |
MX | 需要 | 整数 | 回应的最大秒数,最大值是120秒 |
ST | 需要 | 单个URI | 数值必须是以下格式:ssdp:allupnp:rootdeviceuuid:deviceURNdeviceTypeURNserviceTypeURNurn:schemas-IGRS-org:device:IGRSdevice:1urn:schemas-IGRS-org:service:IGRSservice:1 |
Man | 需要 | 字符串 | 必须是“http://www.igrs.org/spec1.0”;ns=01 |
01-IGRS版本(IGRSVersion) | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型(IGRSMessageType) | 需要 | 字符串 | 必须是以下一个值:SearchDeviceRequestSearchServiceRequest |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 设备URN |
01-序列ID(SequenceId) | 需要 | 32比特无符号整数(0保留) | 搜索请求消息的序列ID |
01-客户机ID(ClientId) | 需要 | 32比特无字符整数(0保留) | 客户机ID |
01-搜索全部(SearchAll) | 可选 | 字符串 | 必须是TRUE |
01-根据设备名称搜索(SearchByDeviceName) | 可选 | 字符串 | 设备名称 |
01-根据设备类型搜索(SearchByDeviceType) | 可选 | 单个URI | 设备类型URN |
01-根据设备ID搜索(SearchByDeviceId) | 可选 | 单个URI | 设备URN |
01-根据设备组ID搜索(SearchByDeviceGroupId) | 可选 | 单个URI | 设备组URN |
01-根据服务类型搜索(SearchByServiceType) | 可选 | 单个URI | 服务类型URN |
01-根据服务名称搜索(SearchByServiceName) | 可选 | 字符串 | 服务名称 |
表格12,IGRS发现回应消息(Discovery Response Message):
标题(Header) | 是否需要 | 类型 | 描述 |
缓存控制(Cache-Control) | 需要 | 必须有max-age指示 | 指定广告有效的秒数,应该大于3秒。 |
Ext | 需要 | 无数值 | |
位置(Location) | 需要 | 单个URL | 如果设备支持非安全管道,此URL指向IGRS设备描述文档的位置,否则值应该是http://www.igrs.org/device |
服务器(Server) | 需要 | 字符串 | 串联OS名称、OS版本、IGRS/1.0、产品名称、和产品版本 |
ST | 需要 | 单个URI | 与在对应请求消息里的ST标题值相同。 |
USN | 需要 | 单个URI | 可以采取以下任何一种格式:uuid:deviceURN::deviceTypeURNuuid:deviceURN::serviceTypeURN |
Man | 需要 | 字符串 | 必须是http://www.igrs.org/spec1.0;ns=01 |
01-IGRS版本 | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型 | 需要 | 字符串 | 必须是以下一个数值:SearchDeviceResponseSearchServiceResponse |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 源设备URN |
01-目标设备ID(TargetDeviceId) | 需要 | 单个URI | 目标设备URN |
01-安全侦听器列表(SecureListenerList) | 可选 | 字符串 | 安全侦听器列表,每个侦听器的格式是“IP address:port”,列表字符串通过“;”间隔开。 |
01-侦听器列表(ListenerList) | 需要 | 字符串 | 侦听器列表,每个侦听器的格式是“IPaddress:port”,列表字符串通过“;”间隔开。 |
01-设备安全性ID列表(DeviceSecurityIdList) | 需要 | 字符串 | 设备安全性ID列表,列表字符串通过“;”间隔开。 |
表格13,UPnP发现回应消息:
标题(Header) | 是否需要 | 类型 | 描述 |
缓存控制(Cache-Contro1) | 需要 | 必须有max-age指示 | 指定广告有效的秒数,应该大于1800秒。 |
日期(Date) | 需要 | RFC 1123 | 当产生回应时 |
Ext | 需要 | 无数值 | |
位置(Location) | 需要 | 单个URL | 此URL指向根设备的UpnP设备描述文档。 |
服务器(Server) | 需要 | 字符串 | 串联OS名称、OS版本、UPnP/1.0、产品名称、和产品版本 |
ST | 需要 | 单个URI | 与在对应请求消息里的ST标题值相同。 |
USN | 需要 | 单个URI | 可以采取以下任何一种格式: |
uuid:deviceURN:upnp-rootdeviceuuid:deviceURNuuid:deviceURN::deviceTypeURNuuid:deviceURN::serviceTypeURN |
表格13,并行IGRS-UPnP发现回应消息(Discovery ResponseMessage):
标题(Header) | 是否需要 | 类型 | 描述 |
缓存控制(Cache-Control) | 需要 | 必须有max-age指示 | 指定广告有效的秒数,应该大于1800秒。 |
Ext | 需要 | 无数值 | |
位置(Location) | 需要 | 单个URL | 如果设备支持非安全管道,此URL指向并行IGRS-UpnP设备描述的位置。 |
服务器(Server) | 需要 | 字符串 | 串联OS名称、OS版本、协议/1.0、产品名称、和产品版本 |
ST | 需要 | 单个URI | 与在对应请求消息里的ST标题值相同。 |
USN | 需要 | 单个URI | 可以采取以下任何一种格式:uuid:deviceURN:upnp-rootdeviceuuid:deviceURNuuid:deviceURN::deviceTypeURNuuid:deviceURN::serviceTypeURN |
Man | 需要 | 字符串 | 必须是http://www.igrs.org/spec1.0;ns=01 |
01-IGRS版本 | 需要 | 字符串 | 必须是IGRS/1.0 |
01-IGRS消息类型 | 需要 | 字符串 | 必须是以下一个数值:SearchDeviceResponseSearchServiceResponse |
01-源设备ID(SourceDeviceId) | 需要 | 单个URI | 源设备URN |
01-目标设备ID(TargetDeviceId) | 需要 | 单个URJ | 目标设备URN |
01-安全侦听器列表(SecureListenerList) | 可选 | 字符串 | 安全侦听器列表,每个侦听器的格式是“IP address:port”,列表字符串通过“;”间隔开。 |
01-侦听器列表(ListenerList) | 需要 | 字符串 | 侦听器列表,每个侦听器的格式是“IPaddress:port”,列表字符串通过“;”间隔开。 |
01-设备安全性ID列表(DeviceSecurityIdList) | 需要 | 字符串 | 设备安全性ID列表,列表字符串通过“;”间隔开。 |
通过实施本发明披露的并行IGRS-UPnP堆栈,可以通过模块再用而使消息合并和降低存储器使用量,从而降低网络流量。作为直接和期望的结果,不需要从各个标准团体获得支持,因为此堆栈是完全兼容标准的。
附图说明
图1是本发明首选实施例的模块图。
图2描述本发明首选实施例结构体系被施加到IGRS、UPnP和并行IGRS-UPnP设备的模块图。
图3描述依照本发明运行的电子设备的示意图。
图4描述本发明的并行IGRS-UPnP设备运行的流程图。
优选实施例描述
图1描述本发明首选实施例的模块示意图。依照图1,设备101、103、105之间的互动是由四个运行阶段即发现(在线)121、描述131、控制141和发现(离线)151掌控。对于IGRS和并行IGRS-UPnP设备,发现(在线)121从实时通知123开始,其中该设备将“设备是活动的”通知给网络上的其它设备。在实时通知之后,进入描述阶段131,其中管道设置133之后,是IGRS设备描述135和IGRS服务描述137。在完成描述阶段131之后,控制阶段141开始会话设置143、动作控制145、会话中止147和管道断开19。发现(离线)151以离线通知153结束。依照本发明的一个实施例,并行IGRS-UPnP设备是一个控制点,通过动作控制145控制网络里IGRS设备的动作。
图1还描述实施到UPnP和并行IGRS-UPnP设备的本发明首选实施例的模块图。对于UPnP设备,设备101、103、105之间的互动同样是由四个运行阶段即发现(在线)121、描述131、控制141和发现(离线)151掌控。对于UPnP和并行IGRS-UPnP设备,发现(在线)121是从实时通知122开始,其中设备将“设备是活动的”通知给网络上的其它设备。在实时通知之后,进入描述阶段131,其中UPnP设备描述134之后是UPnP服务描述136。在完成描述阶段131之后,控制阶段141是从动作控制144开始。发现(离线)151以离线通知154结束。依照本发明的一个实施例,并行IGRS-UPnP设备是一个控制点,通过动作控制144控制网络里UPnP设备的动作。依照本发明的另一个实施例,并行IGRS-UPnP设备充当一个控制点,分别通过动作控制145和动作控制144控制网络里IGRS设备和UPnP设备的动作。
图2描述本发明首选实施例的一个架构体系模块图,其被实施到IGRS、UPnP和并行IGRS-UPnP设备。图2架构体系概览201详细描述端口层210,其具有被连接到迷你服务器(mini-server)214的第一端口211和被连接到多播侦听器(multicast listener)224的第二端口221。包括mini-server 214和多播侦听器224的应用(或API)层220也包括HTTP发送器(sender)228。在应用层220之下是概要处理器(profile handler)会话层230,其中UPnP概要处理器231和IGRS概要处理器233支持迷你服务器214、多播侦听器224和HTTP发送器228。在概要处理器会话层230之下是设备处理器会话层240。设备处理器会话层240包括广告处理器(Advertisement Handler)242、事件处理器(Event Handler)244、描述处理器(Description Handler)246、发现处理器(Discovery Handler)247和IGRS管道/会话管理器248。传输层250包括核心库(Core Library)252,其处理诸如HTTP,XML,SSDP,GENA,SOAP,WSDL和安全性的协议。架构体系概览201也描述了提取层(Abstract Layer)260和硬件平台层(Hardware Platform layer)270。
图3描述本发明电子设备运行的结构示意图。设备群301包括无线IGRS显示器303、无线UPnP音频内容设备307、UPnP显示器309、被连接到并行IGRS-UPnP媒体播放器315的有线和无线网关312、控制点318和安装有IGRS和UPnP软件以便具有合并IGRS和UPnP控制能力的计算机321。
图4描述本发明的并行IGRS-UPnP设备运行的流程图。在在线步骤401,依照本发明的一个实施例,并行IGRS-UPnP设备在一个具有IGRS设备和UPnP设备的网络里发现了其它在线设备;依照本发明的另一个实施例,并行IGRS-UPnP设备通知网络里的一些或所有在线设备:该并行IGRS-UPnP设备就要在线了。
依照本发明的一个实施例,在线步骤401包括构成共同操作消息,该消息包括一部分仅与IGRS协议兼容的内容、一部分仅与UPnP协议兼容的内容、和一部分与IGRS和UPnP协议都兼容的内容,使得整个消息可在网络中的IGRS设备和UPnP设备之间共同操作。然后,并行IGRS-UPnP设备可以被广播或传输这个消息到网络里的其它设备。
依照本发明的一个实施例,并行IGRS-UPnP设备积极主动地广播可共同消息以便发现网络里的其它设备。依照本发明的另一个实施例,并行IGRS-UPnP设备构成并广播共同操作操作消息以便通知网络里其它设备就要在线了。
在描述步骤402,并行IGRS-UPnP设备描述了那些在线设备,它们在发现步骤401被发现的。在控制步骤403,并行IGRS-UPnP设备设备控制一些或所有在线设备。依照本发明的一个实施例,并行IGRS-UPnP设备在控制步骤403里以1对1方式构成并传输以上所述共同操作消息。
在通知步骤404,并行IGRS-UPnP设备通知网络里的一些或所有在线设备:该并行IGRS-UPnP设备就要离线了。依照本发明的一个实施例,并行IGRS-UPnP设备在通知步骤404构成并广播以上所述的共同操作消息。
以上披露与详细描述的技术内容及其发明特征有关。本领域技术人员可以基于所述本发明的披露和建议作出各种改变和替换,而不会脱离本发明的特征。然而,尽管在以上描述里没有完全披露这种改变和替换,但它们属于以下附加权利要求的范围内。
Claims (21)
1.一种在具有至少一个IGRS设备或至少一个UPnP设备或两者都有的网络上运行并行IGRS-UPnP设备的方法,包括步骤:
构成至少一个消息,所述消息包括:
仅与IGRS协议兼容的第一部分内容;
仅与UPnP协议兼容的第二部分内容;和
与IGRS和UPnP协议都兼容的第三部分内容;以及
并行IGRS-UPnP设备广播所述消息到网络上的其它设备;
其中整个消息可在网络中的IGRS设备和UPnP设备之间共同操作;
其中所述并行IGRS-UPnP设备具有并行IGRS-UPnP堆栈,所述并行IGRS-UPnP堆栈提供API以注册回叫并转换成符合IGRS和UPnP标准的服务,
其中使用单个IGRS或UPnP兼容的控制点来支持IGRS和UPnP应用,具有并行IGRS-UPnP堆栈的所述并行IGRS-UPnP设备通过所述IGRS或UPnP兼容的控制点来控制。
2.根据权利要求1所述的并行IGRS-UPnP设备运行方法,另外还包括步骤:
发现在线设备;
描述在线设备;
控制在线设备;和
通知在线设备:有一个指定设备就要离线了;
其中所述广播至少在所述发现步骤、所述控制步骤和所述通知步骤上进行。
3.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述发现步骤还包括一个实时通知(Alive Notification)步骤。
4.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述发现步骤还包括步骤:积极主动地广播消息以便发现所述网络里的其它设备。
5.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述描述步骤还包括一个管道设置(Pipe Setup)步骤。
6.根据权利要求5所述的并行IGRS-UPnP设备运行方法,其中所述描述步骤还包括一个管道断开(Pipe Disconnection)步骤。
7.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述描述步骤还包括一个IGRS设备描述(Device Description)步骤。
8.根据权利要求7所述的并行IGRS-UPnP设备运行方法,其中所述描述步骤还包括一个IGRS服务描述(Service Description)步骤。
9.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述控制步骤还包括一个管道设置步骤。
10.根据权利要求9所述的并行IGRS-UPnP设备运行方法,其中所述控制步骤还包括一个会话设置(Session Setup)步骤。
11.根据权利要求10所述的并行IGRS-UPnP设备运行方法,其中所述控制步骤还包括一个用来控制网络里IGRS设备、UPnP设备或此两种类型设备动作的动作控制(Action Control)步骤。
12.根据权利要求10所述的并行IGRS-UPnP设备运行方法,其中所述控制步骤还包括一个会话中止(Session Termination)步骤。
13.根据权利要求9所述的并行IGRS-UPnP设备运行方法,其中所述控制步骤还包括一个管道断开步骤。
14.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述通知步骤还包括一个离线通知(Offline Notification)步骤。
15.根据权利要求2所述的并行IGRS-UPnP设备运行方法,其中所述控制步骤命令在所述IGRS设备和所述UPnP设备之间的直接数据转换。
16.一个用于具有至少一个IGRS设备或至少一个UPnP设备或两种设备都有的网络里的并行IGRS-UPnP设备,包括:
一个处理单元,用来构成至少一个消息,包括:
仅与IGRS协议兼容的第一部分内容;
仅与UPnP协议兼容的第二部分内容;和
与IGRS和UPnP协议都兼容的第三部分内容;其中整个消息可
在所述网络中的IGRS设备和UPnP设备之间共同操作;
一个存储器单元,用来存储所述消息;和
一个网络接口单元,包括一个用来广播所述消息到网络里其它设备的传输模块;
其中所述并行IGRS-UPnP设备具有并行IGRS-UPnP堆栈,所述并行IGRS-UPnP堆栈提供API以注册回叫并转换成符合IGRS和UPnP标准的服务,
其中所述广播通过所述IGRS或UPnP兼容的控制点来控制。
17.根据权利要求16所述的并行IGRS-UPnP设备,其中所述网络接口单元还包括:
一个收发模块,用来发送消息到网络里的其它设备或从网络里的其它设备接收消息;
一个协议处理器模块,用来翻译与HTTP、XML、SSDP、GENA、SOAP和WSDL协议兼容的消息。
18.根据权利要求16所述的并行IGRS-UPnP设备,还包括至少一个用户接口单元。
19.一个并行IGRS-UPnP系统,包括:
至少一个IGRS设备;
至少一个UPnP设备;
一个IGRS或UPnP兼容的控制点设备,可被操作以广播至少一个消息到所述IGRS和UPnP设备,所述消息包括:
仅与IGRS协议兼容的第一部分内容;
仅与UPnP协议兼容的第二部分内容;和
与IGRS和UPnP协议都兼容的第三部分内容;
其中整个消息可在所述IGRS设备和UPnP设备之间共同操作;
并行IGRS-UPnP设备,其具有并行IGRS-UPnP堆栈,所述并行IGRS-UPnP堆栈提供API以注册回叫并转换成符合IGRS和UPnP标准的服务,
其中具有并行IGRS-UPnP堆栈的所述并行IGRS-UPnP设备通过
所述IGRS或UPnP兼容的控制点设备来控制。
20.根据权利要求19所述的并行IGRS-UPnP系统,其中所述控制点设备还可以被操作以从所述IGRS设备和所述UPnP设备发送或接收消息。
21.根据权利要求20所述的并行IGRS-UPnP系统,其中所述控制点设备还被操作以控制所述IGRS设备和UPnP设备之间的直接数据转换。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/102,184 | 2008-04-14 | ||
US12/102,184 US7962598B2 (en) | 2008-04-14 | 2008-04-14 | Concurrent IGRS-UPnP |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101547206A CN101547206A (zh) | 2009-09-30 |
CN101547206B true CN101547206B (zh) | 2012-09-26 |
Family
ID=41164882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132866.7A Expired - Fee Related CN101547206B (zh) | 2008-04-14 | 2009-04-14 | 并行IGRS-UPnP |
Country Status (2)
Country | Link |
---|---|
US (1) | US7962598B2 (zh) |
CN (1) | CN101547206B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834768B (zh) * | 2010-04-16 | 2012-04-18 | 中山大学 | 数字家庭网络设备间互发现方法 |
KR101885133B1 (ko) | 2011-02-01 | 2018-08-03 | 삼성전자주식회사 | 디지털 디바이스에서 어플리케이션 자동 인스톨 기능을 제공하기 위한 장치 및 방법 |
CN103634627A (zh) * | 2012-09-27 | 2014-03-12 | 深圳市慧之星计算机有限公司 | 一种高清网络电视设备 |
CN103561017A (zh) * | 2013-10-31 | 2014-02-05 | 中国海洋大学 | 一种支持UPnP与IGRS双协议标准的设备互联方法 |
CN104144200A (zh) * | 2013-12-09 | 2014-11-12 | 腾讯科技(深圳)有限公司 | 物联网通信方法、通信端及用户端 |
CN105530277A (zh) * | 2014-09-30 | 2016-04-27 | 宇龙计算机通信科技(深圳)有限公司 | 一种设备间协同工作的方法及设备 |
CN105245595B (zh) * | 2015-09-30 | 2018-07-31 | 小米科技有限责任公司 | 服务响应方法及装置 |
US20230103761A1 (en) * | 2021-04-20 | 2023-04-06 | Metafluent, Llc | Component-aware rest api routing gateway |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075976A (zh) * | 2006-05-18 | 2007-11-21 | 华为技术有限公司 | 一种提供家庭网络设备信息的方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7218243B2 (en) | 1998-07-23 | 2007-05-15 | Universal Electronics Inc. | System and method for automatically setting up a universal remote control |
EP1058422A1 (en) | 1999-06-02 | 2000-12-06 | THOMSON multimedia | Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods |
US7206853B2 (en) | 2000-10-23 | 2007-04-17 | Sony Corporation | content abstraction layer for use in home network applications |
US7069312B2 (en) * | 2002-12-06 | 2006-06-27 | Microsoft Corporation | Network location signature for disambiguating multicast messages in dual-IP stack and/or multi-homed network environments |
US7730482B2 (en) * | 2004-06-08 | 2010-06-01 | Covia Labs, Inc. | Method and system for customized programmatic dynamic creation of interoperability content |
CN100424640C (zh) | 2006-09-26 | 2008-10-08 | 四川长虹电器股份有限公司 | 家庭网络中间件开发装置及其代码转换方法 |
-
2008
- 2008-04-14 US US12/102,184 patent/US7962598B2/en active Active
-
2009
- 2009-04-14 CN CN200910132866.7A patent/CN101547206B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075976A (zh) * | 2006-05-18 | 2007-11-21 | 华为技术有限公司 | 一种提供家庭网络设备信息的方法和系统 |
Non-Patent Citations (2)
Title |
---|
中华人民共和国信息产业部.《信息设备资源共享协同服务第1部分:基础协议》.《SJ/T11310-2005中华人民共和国电子行业标准,信息设备资源共享协同服务第1部分:基础协议》.2005,第1-115页. * |
樊金涛等.《数字家庭系统中IGRS和UPnP双协议栈研究与实现》.《第三届和谐人机环境联合学术会议(HHME2007)论文集》.2007,第232-236页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101547206A (zh) | 2009-09-30 |
US20090259742A1 (en) | 2009-10-15 |
US7962598B2 (en) | 2011-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101547206B (zh) | 并行IGRS-UPnP | |
US10382543B2 (en) | System and device for enabling any network functionality client or server in a HTML5 application | |
US7640329B2 (en) | Scaling and extending UPnP v1.0 device discovery using peer groups | |
US7647394B2 (en) | Scaling UPnP v1.0 device eventing using peer groups | |
JP4759641B2 (ja) | ネットワーク上で遠隔で装置にアクセスする方法及びシステム | |
CN101309233B (zh) | 实现即时通讯tcp连接复用的方法 | |
CN103493500A (zh) | 媒体播放方法、控制点和终端 | |
EP1955489A2 (en) | System and method for using web syndication protocols as an out-of-band upnp service discovery system | |
KR20110039148A (ko) | 리모트 사용자 인터페이스 서버와 제3의 리모트 사용자 인터페이스 클라이언트간의 인터페이스를 위한 장치 및 방법 | |
US9277027B2 (en) | Method for providing message and device therefor | |
US20090254671A1 (en) | Remote control of a device by a terminal | |
JP2004320741A (ja) | 個別に独立して存在するネットワークを接続する装置及び方法 | |
CN1466064A (zh) | 家庭网络中实现动态组网时的设备发现方法 | |
CN103001959B (zh) | 家庭间设备发现方法和系统 | |
Kim et al. | IEEE 1394/UPnP software bridge | |
EP3025475B1 (en) | Xmpp based upnp device architecture for cloud computing in a network environment | |
CN102497364A (zh) | 用于桥接IGRS设备和UPnP设备的桥接器及方法 | |
US20100049804A1 (en) | Instant Messaging | |
Kim et al. | Internet home network electrical appliance control on the internet with the UPnP expansion | |
US20110035432A1 (en) | System, server device, and method for sharing files between server device and client terminal | |
KR20050055134A (ko) | 망관리 정보를 이용한 바이바이 메시지의 대체 전송 장치,시스템 및 그 방법 | |
EP2609713B1 (en) | Method and apparatus for sharing memo by using upnp telephony | |
Kim et al. | Seamless network bridge for supporting interoperability upnp-zigbee | |
EP2131550A1 (en) | method of transmitting a list of services and corresponding method of reception | |
KR20100045081A (ko) | Dpws와 웹서비스의 연동방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120926 |