黄全明+张丰源+杨夫星
摘 要: 在数字家庭网络中,UPnP与IGRS都能实现不同设备间无缝联接,但这两种协议存在差异,无法互联互通。针对该问题,从寻址、发现、描述、控制、事件几个方面着手,找出两个协议间的联系和区别,然后提出了一种新的方法:基于UPnP与IGRS互操作双协议框架。围绕该框架,详细描述了转换桥、虚设备管理以及UPnP/IGRS 设备管理三个模块的实现过程。将基于双协议框架开发的程序运行在PC上,使其与IGRS设备和 UPnP设备交互。通过实验结果发现,PC能够发现这两种设备,而且这两种设备间也能够互相发现,共享资源。提出的基于UPnP与IGRS互操作双协议框架能够有效实现这两种协议间的互操作。
关键字: IGRS; UPnP; 互操作; 双协议框架
中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)14?0032?04
Research on interoperability technology of UPnP and IGRS protocols in digital home environment
HUANG Quan?ming1, ZHANG Feng?yuan1, YANG Fu?xing2
(1. College of Information Science and Engineering, Ocean University of China, Qingdao 266100, China; 2. Hisense Group Co., Ltd., Qingdao 266071, China)
Abstract: In the digital home network environment, UPnP and IGRS can achieve the seamless connection among different devices, but these two protocols are different so that they cant interact with each other. Aiming at this problem, proceeding from addressing, discovery, description, control and event, the differences and similarities of these two protocols are found out. A new approach called interoperation dual?protocol architecture based on UPnP and IGRS is proposed in this paper. Three modules of conversion bridge, virtual device management and UPnP/IGRS device management are described in detail according to the architecture. The program developed on the basis of the dual?protocol architecture is run in PC, and interacted with IGRS device and UPnP device. The experimental results show the PC can find these two devices, and these two devices can find each other. The resource sharing is realized finally. Therefore, the proposed interoperability dual?protocol architecture based on UPnP and IGRS protocols can achieve the interoperation between these two protocols.
Keywords: IGRS; UPnP; interoperability; dual?protocol architecture
0 引 言
随着移动互联网以及3C融合技术的快速发展[1],智能家电、智能终端等消费类电子产品不断普及,人们希望家庭设备的能够无缝互联,共享资源、协同服务。为了实现这个目标,人们研究了许多协议标准[2?3],其中UPnP[4]和IGRS[5]已经发展成为了主流协议标准。它们都采用了许多标准协议机制,如HTTP,SOAP等,但在服务描述、消息格式上存在很大的差异。因此,基于UPnP 和IGRS协议的设备之间不能互联互通。本文提出了一种UPnP和IGRS互操作双协议框架,通过设计转换桥和虚设备管理模块,基于这两种协议的消息能够相互转换,并生成相应的虚设备实现设备间互操作。
1 UPnP和IGRS协议分析
UPnP和IGRS协议工作过程包含以下几步:寻址、发现、描述、控制和事件[6?9]。以下通过分析各个机制的实现过程,可以发现两个协议互操作的可行性。
1.1 寻址
UPnP协议基于IP寻址,IGRS协议没有限定设备间寻址的方式。所以两个协议都支持设备使用静态 IP、动态DHCP 和Auto?IP 的寻址方式。
1.2 发现
UPnP的设备服务发现机制使用SSDP协议,以UDP多播为基础。IGRS基于全局对等组的设备服务发现机制建立在SSDP协议基础上。因此,通过SSDP协议,IGRS 与UPnP 可以实现设备服务的相互发现。
1.3 描述
UPnP和IGRS 都采用XML 模板定义了设备描述模板,但两种模板在格式定义上有所区别。IGRS 使用 WSDL 作为服务描述模板,而UPnP使用自定义服务描述模板,这两种模板格式也存在较大差异。由于IGRS设备服务描述模板都是可扩展的,所以可以在IGRS的设备服务描述中加入相应的UPnP 描述扩展,实现设备服务的相互发现。
1.4 控制
UPnP 服务控制调用机制采用SOAP 协议机制,IGRS则定义了基于会话的服务控制调用机制,同时支持基于非安全管道的客户/服务间交互作为扩展接口。IGRS 服务可以在IGRS 设备描述文档中的服务描述中加入相应的UPnP调用接口描述,从而实现与UPnP客户间的交互和控制。
1.5 事件
UPnP 采用 GENA 机制,而IGRS采用基于管道(安全/非安全)的机制实现。但通过非安全管道机制,IGRS服务可以向UPnP客户暴露事件访问接口,实现服务的事件订阅和事件通知。
2 UPnP和IGRS互操作框架
为了实现数字家庭网络中基于UPnP和IGRS协议设备间的互联互通,本文提出了一种互操作协议框架,如图1所示。
图1 UPnP和IGRS互操作框架
该框架接受UPnP和 IGRS 各种类型的请求和响应消息(例如发现消息、控制消息、事件消息等),并做出相应处理。通过实现框架中描述的转换桥和虚设备管理模块,家庭网络中的UPnP设备和IGRS 设备就可以相互发现控制。因为该框架底层主要以UPnP协议和IGRS 协议为基础,所以还可单独和UPnP设备或者IGRS设备进行交互。所以为了实现该框架,重点在于研究设计转换桥、虚设备管理模块和UPnP/IGRS 设备管理模块。
2.1 转换桥
转换桥是具体的UPnP设备或IGRS 设备抽象化虚拟IGRS 设备或UPnP设备的基础。它的内部结构如图2所示。转换桥由各种类型转换模块和控制点组成。转换模块类型包括宣告、发现、描述、控制、事件等。转换模块的功能是转换服务描述文档和翻译家庭网络中分发的UPnP消息和IGRS 消息。控制点主要负责接收底层消息,同时分发上层传递的消息。
图2 转换桥内部结构
通过对比分析IGRS 和UPnP各种消息格式,转换模块进行消息头和消息内容的融合和替换,生成相应协议的消息,然后控制点进行消息转发。下面以转换桥处理上线宣告消息和离线宣告消息过程为例,介绍转换桥的工作原理。根据上线宣告消息中Location字段描述的URL地址,控制点可以获取UPnP设备的描述文档。转换模块再把它转换成IGRS设备描述文档,并且保存在本地,同时把UPnP设备的IP地址和端口号以及其他信息提交给虚设备管理模块。
虚设备管理模块注册生成一个针对UPnP设备的虚拟IGRS设备,并生成它的上线宣告消息,然后控制点宣告上线消息。以此实现UPnP/IGRS设备上线广播消息转换。对于UPnP设备的离线消息,可以根据相应的消息格式进行相关信息融合和替换,虚设备管理模块转换成IGRS设备的离线消息,同时控制点宣告此离线消息。通过这种方式,其他的IGRS设备就可以感知UPnP设备离线。
由于IGRS通过WSDL描述服务,UPnP则自定义了一套服务描述模板,所以实现两者的转化对于各自服务接口的调用十分重要,它们间转换过程描述如下[10]:
IGRS 的WSDL转换为UPnP服务描述文档主要是把操作字段转化生成动作列表字段,消息字段转换生成服务状态表信息,消息和操作字段转换生成输入或输入参数信息;UPnP服务描述文档转换为IGRS的WSDL,主要是把UPnP设备服务描述文档的动作列表字段转换成端口类型信息,动作列表信息和服务状态表信息生成消息字段。
2.2 虚设备管理模块
虚设备管理模块以转换桥为基础。它管理IGRS或UPnP虚设备,并支持IGRS和UPnP设备间的互操作。它由设备管理、服务管理、控制管理以及事件管理四个模块组成,其内部结构如图3所示。
图3 虚设备管理模块内部结构
设备管理模块主要将具体设备和虚拟设备绑定在一起,在虚拟设备结构中,保存着具体设备的IP地址,端口号,设备ID,类型,名称等信息。服务管理模块记录具体设备和对应虚拟设备的服务信息,同时保存具体设备的服务接口信息。控制管理模块主要负责IGRS设备和UPnP设备间服务调用和会话管理。事件管理模块主要负责事件订阅和事件通知。这些模块不是孤立存在的,它们之间有着紧密的联系。下面描述了这两种设备间交互过程。
当转换桥把一个家庭网络UPnP设备映射成IGRS虚设备,虚拟设备管理模块会绑定它们的设备服务信息,其他的IGRS设备也会发现这个虚设备。当这个虚设备收到具体IGRS设备服务请求信息时,它会根据UPnP服务调用机制生成新的请求消息,并将它发送给具体的UPnP设备(它的IP和端口信息已经保存在设备管理结构中)。然后,UPnP设备发送相应的响应消息。当IGRS虚设备收到响应消息,它会根据IGRS服务调用机制生成新的响应消息,并把它发送给IGRS设备。通过这种方式,IGRS设备可以控制家庭网络中UPnP设备,反之亦然。
2.3 UPnP/IGRS 设备管理模块
UPnP/IGRS 设备管理模块可以作为一个控制点,单独与UPnP设备或者IGRS设备进行交互。它也包括设备管理、服务管理、控制管理以及事件管理四个模块。它的内部结构如图4所示。
设备管理主要保存控制点发现的设备信息和服务信息。服务管理通过控制点获取的设备服务的描述文档,得到设备的服务功能调用接口。根据服务管理保存的不同服务的功能调用接口,控制管理模块可以管理会话,处理服务调用请求和响应消息。事件管理主要负责事件订阅和事件通知。
图4 UPnP/IGRS设备管理模块
3 UPnP和IGRS互操作框架应用场景
图5描述了数字家庭网络中基于UPnP和IGRS互操作框架下设备间交互应用场景。安装有UPnP和IGRS互操作协议框架的设备翻译转换IGRS设备和UPnP设备间不同类型的消息,UPnP控制点和IGRS控制点可以发现浏览彼此的多媒体资源和共享服务内容,同时它们可以通过建立在设备和媒体服务器之间带外连接实现音频视频资源的播控。这样,用户便可以方便共享基于不同协议设备间资源。
图5 UPnP和IGRS互操作框架应用场景
4 实验分析
4.1 实验环境
实验测试的PC的CPU主频是2.8 GHz,拥有4 GB 内存,搭载的操作系统是Ubuntu,内核版本是2.6.32。在此平台上开发了基于UPnP和IGRS互操作框架应用程序。除此之外,实验设备还包括装有IGRS协议海信平板电脑,和装有UPnP协议三星手机。通过局域网,PC、平板、手机实现交互。
4.2 实验结果
首先运行将基于双协议框架开发的程序在PC上运行,然后将装有UPnP协议三星手机加入网络。这时PC可以发现三星手机上提供的共享资源。再将装有IGRS协议海信平板电脑加入网络,PC上显示海信平板电脑上提供的共享资源,同时海信平板电脑显示三星手机上提供的共享资源,三星手机发现海信平板电脑提供的共享资源。在海信平板电脑上,IGRS播放器可以正常播控三星手机提供的视频。同样,在三星手机上,UPnP播放器可以正常播控海信平板电脑提供的视频。这说明UPnP和IGRS互操作框架能够实现UPnP设备和IGRS设备互联互通,可以单独和UPnP设备或IGRS设备进行交互。为了测试双协议框架的性能,做了60次上述实验,以每10次为增量统计了UPnP设备和IGRS设备互相发现的平均时间,如表1所示。由于网络的负载不确定时地增加,有时统计的平均时间会出现较大波动,但会控制在1 s以内,这表明该协议框架能够有效实现这两种协议间的互操作。
表1 UPnP设备和IGRS设备互相发现的平均时间 s
5 结 语
本文针对家庭网络中大量IGRS 和UPnP设备不能互操作的问题,提出一种新方法:基于UPnP与IGRS互操作双协议框架,并且通过实验验证了该协议框架的可行性。今后将在该协议框架基础上进行扩展,使之解决更多基于不同协议设备间的互操作问题。
参考文献
[1] 张连芳.3C 技术在数字家电上的应用研究[D].天津:天津大学,2006.
[2] 雷春艳.数字家庭网络及未来展望[J].通信与信息技术,2008(4):62?64.
[3] 吴峰凯,张勤.数字家庭中互联互通协议的探讨[J].有线电视技术,2006(8):14?16.
[4] Anon. UPnP device architecture 1.0 [EB/OL]. [2009?11?10]. http://www.UpnP.org/resourees/ documents.
[5] 闪联工作组.闪联应用白皮书[M].北京:闪联工作组,2003.
[6] 徐刚,邓中亮,王军.IGRS 和 UPnP 协议互连机制分析[J].电子设计应用,2006(1):82?84.
[7] 谭 珏,何哲,陈援非,等. IGRS 与UPnP 设备互连的安全机制研究[J].计算机应用研究,2010,27(7):2411?2413.
[8] 张全,朱珍民,罗海勇,等.泛在设备互联桥接器设计及实现[J].计算机工程,2011,37(20):230?232.
[9] 樊金涛.数字家庭系统中IGRS 和UPnP 双协议栈研究与实现[C]//第三届和谐人机环境联合学术会议(HHME2007)论文集.北京:中国计算机学会多媒体技术专业委员会,2007:232?238.
[10] 胡艳萍,朱珍民,陈援非,等.IGRS 和UPnP 协议转换引擎的设计实现[J].计算机工程,2011,37(19):1?4.
设备管理主要保存控制点发现的设备信息和服务信息。服务管理通过控制点获取的设备服务的描述文档,得到设备的服务功能调用接口。根据服务管理保存的不同服务的功能调用接口,控制管理模块可以管理会话,处理服务调用请求和响应消息。事件管理主要负责事件订阅和事件通知。
图4 UPnP/IGRS设备管理模块
3 UPnP和IGRS互操作框架应用场景
图5描述了数字家庭网络中基于UPnP和IGRS互操作框架下设备间交互应用场景。安装有UPnP和IGRS互操作协议框架的设备翻译转换IGRS设备和UPnP设备间不同类型的消息,UPnP控制点和IGRS控制点可以发现浏览彼此的多媒体资源和共享服务内容,同时它们可以通过建立在设备和媒体服务器之间带外连接实现音频视频资源的播控。这样,用户便可以方便共享基于不同协议设备间资源。
图5 UPnP和IGRS互操作框架应用场景
4 实验分析
4.1 实验环境
实验测试的PC的CPU主频是2.8 GHz,拥有4 GB 内存,搭载的操作系统是Ubuntu,内核版本是2.6.32。在此平台上开发了基于UPnP和IGRS互操作框架应用程序。除此之外,实验设备还包括装有IGRS协议海信平板电脑,和装有UPnP协议三星手机。通过局域网,PC、平板、手机实现交互。
4.2 实验结果
首先运行将基于双协议框架开发的程序在PC上运行,然后将装有UPnP协议三星手机加入网络。这时PC可以发现三星手机上提供的共享资源。再将装有IGRS协议海信平板电脑加入网络,PC上显示海信平板电脑上提供的共享资源,同时海信平板电脑显示三星手机上提供的共享资源,三星手机发现海信平板电脑提供的共享资源。在海信平板电脑上,IGRS播放器可以正常播控三星手机提供的视频。同样,在三星手机上,UPnP播放器可以正常播控海信平板电脑提供的视频。这说明UPnP和IGRS互操作框架能够实现UPnP设备和IGRS设备互联互通,可以单独和UPnP设备或IGRS设备进行交互。为了测试双协议框架的性能,做了60次上述实验,以每10次为增量统计了UPnP设备和IGRS设备互相发现的平均时间,如表1所示。由于网络的负载不确定时地增加,有时统计的平均时间会出现较大波动,但会控制在1 s以内,这表明该协议框架能够有效实现这两种协议间的互操作。
表1 UPnP设备和IGRS设备互相发现的平均时间 s
5 结 语
本文针对家庭网络中大量IGRS 和UPnP设备不能互操作的问题,提出一种新方法:基于UPnP与IGRS互操作双协议框架,并且通过实验验证了该协议框架的可行性。今后将在该协议框架基础上进行扩展,使之解决更多基于不同协议设备间的互操作问题。
参考文献
[1] 张连芳.3C 技术在数字家电上的应用研究[D].天津:天津大学,2006.
[2] 雷春艳.数字家庭网络及未来展望[J].通信与信息技术,2008(4):62?64.
[3] 吴峰凯,张勤.数字家庭中互联互通协议的探讨[J].有线电视技术,2006(8):14?16.
[4] Anon. UPnP device architecture 1.0 [EB/OL]. [2009?11?10]. http://www.UpnP.org/resourees/ documents.
[5] 闪联工作组.闪联应用白皮书[M].北京:闪联工作组,2003.
[6] 徐刚,邓中亮,王军.IGRS 和 UPnP 协议互连机制分析[J].电子设计应用,2006(1):82?84.
[7] 谭 珏,何哲,陈援非,等. IGRS 与UPnP 设备互连的安全机制研究[J].计算机应用研究,2010,27(7):2411?2413.
[8] 张全,朱珍民,罗海勇,等.泛在设备互联桥接器设计及实现[J].计算机工程,2011,37(20):230?232.
[9] 樊金涛.数字家庭系统中IGRS 和UPnP 双协议栈研究与实现[C]//第三届和谐人机环境联合学术会议(HHME2007)论文集.北京:中国计算机学会多媒体技术专业委员会,2007:232?238.
[10] 胡艳萍,朱珍民,陈援非,等.IGRS 和UPnP 协议转换引擎的设计实现[J].计算机工程,2011,37(19):1?4.
设备管理主要保存控制点发现的设备信息和服务信息。服务管理通过控制点获取的设备服务的描述文档,得到设备的服务功能调用接口。根据服务管理保存的不同服务的功能调用接口,控制管理模块可以管理会话,处理服务调用请求和响应消息。事件管理主要负责事件订阅和事件通知。
图4 UPnP/IGRS设备管理模块
3 UPnP和IGRS互操作框架应用场景
图5描述了数字家庭网络中基于UPnP和IGRS互操作框架下设备间交互应用场景。安装有UPnP和IGRS互操作协议框架的设备翻译转换IGRS设备和UPnP设备间不同类型的消息,UPnP控制点和IGRS控制点可以发现浏览彼此的多媒体资源和共享服务内容,同时它们可以通过建立在设备和媒体服务器之间带外连接实现音频视频资源的播控。这样,用户便可以方便共享基于不同协议设备间资源。
图5 UPnP和IGRS互操作框架应用场景
4 实验分析
4.1 实验环境
实验测试的PC的CPU主频是2.8 GHz,拥有4 GB 内存,搭载的操作系统是Ubuntu,内核版本是2.6.32。在此平台上开发了基于UPnP和IGRS互操作框架应用程序。除此之外,实验设备还包括装有IGRS协议海信平板电脑,和装有UPnP协议三星手机。通过局域网,PC、平板、手机实现交互。
4.2 实验结果
首先运行将基于双协议框架开发的程序在PC上运行,然后将装有UPnP协议三星手机加入网络。这时PC可以发现三星手机上提供的共享资源。再将装有IGRS协议海信平板电脑加入网络,PC上显示海信平板电脑上提供的共享资源,同时海信平板电脑显示三星手机上提供的共享资源,三星手机发现海信平板电脑提供的共享资源。在海信平板电脑上,IGRS播放器可以正常播控三星手机提供的视频。同样,在三星手机上,UPnP播放器可以正常播控海信平板电脑提供的视频。这说明UPnP和IGRS互操作框架能够实现UPnP设备和IGRS设备互联互通,可以单独和UPnP设备或IGRS设备进行交互。为了测试双协议框架的性能,做了60次上述实验,以每10次为增量统计了UPnP设备和IGRS设备互相发现的平均时间,如表1所示。由于网络的负载不确定时地增加,有时统计的平均时间会出现较大波动,但会控制在1 s以内,这表明该协议框架能够有效实现这两种协议间的互操作。
表1 UPnP设备和IGRS设备互相发现的平均时间 s
5 结 语
本文针对家庭网络中大量IGRS 和UPnP设备不能互操作的问题,提出一种新方法:基于UPnP与IGRS互操作双协议框架,并且通过实验验证了该协议框架的可行性。今后将在该协议框架基础上进行扩展,使之解决更多基于不同协议设备间的互操作问题。
参考文献
[1] 张连芳.3C 技术在数字家电上的应用研究[D].天津:天津大学,2006.
[2] 雷春艳.数字家庭网络及未来展望[J].通信与信息技术,2008(4):62?64.
[3] 吴峰凯,张勤.数字家庭中互联互通协议的探讨[J].有线电视技术,2006(8):14?16.
[4] Anon. UPnP device architecture 1.0 [EB/OL]. [2009?11?10]. http://www.UpnP.org/resourees/ documents.
[5] 闪联工作组.闪联应用白皮书[M].北京:闪联工作组,2003.
[6] 徐刚,邓中亮,王军.IGRS 和 UPnP 协议互连机制分析[J].电子设计应用,2006(1):82?84.
[7] 谭 珏,何哲,陈援非,等. IGRS 与UPnP 设备互连的安全机制研究[J].计算机应用研究,2010,27(7):2411?2413.
[8] 张全,朱珍民,罗海勇,等.泛在设备互联桥接器设计及实现[J].计算机工程,2011,37(20):230?232.
[9] 樊金涛.数字家庭系统中IGRS 和UPnP 双协议栈研究与实现[C]//第三届和谐人机环境联合学术会议(HHME2007)论文集.北京:中国计算机学会多媒体技术专业委员会,2007:232?238.
[10] 胡艳萍,朱珍民,陈援非,等.IGRS 和UPnP 协议转换引擎的设计实现[J].计算机工程,2011,37(19):1?4.