向外部装置提供家庭网络装置服务的方法和设备的制作方法

文档序号:7968746阅读:106来源:国知局
专利名称:向外部装置提供家庭网络装置服务的方法和设备的制作方法
技术领域
本发明的方法和设备涉及由家庭网络装置提供的服务,更具体地说,涉及允许外部装置使用由家庭网络中的家庭网络装置提供的本地服务。
背景技术
web服务技术允许在web(万维网)中分布的系统提供独立于平台、编程语言等的可共同操作的服务。可通过使用诸如XML(可扩展标记语言)、SOAP(简单对象访问协议)、WSDL(web服务描述语言)和UDDI(统一描述、发现和集成)标准的标准实现web服务。图1是用于解释提供web服务的程序的概念示图。参照图1,基本上由服务提供者、服务客户机和服务注册处构建web服务。首先,服务提供者在诸如UDDI注册处的服务注册处中注册服务信息,服务客户机从服务注册处获得所述服务信息。更具体地,服务客户机获得具有描述web服务的文档,也就是,描述服务的WSDL文件的站点的地址。在那之后,服务客户机下载用于服务的WSDL文件。在这里,WSDL文档或文件是用于服务的描述规范,服务客户机使用WSDL文档来获得用于调用服务的信息。更具体地,下载WSDL文件的服务客户机通过使用WSDL文件中的信息产生用于服务调用的SOAP消息。服务客户机将SOAP消息发送到服务提供者来调用服务。
这种web服务技术用于诸如邮政编码搜索服务和内容提供服务的简单服务,或者用于诸如B2B(商户到商户)交易服务的复杂服务。近来,已经将这种web服务技术用于家庭网络装置。由于以智能的方式在网络中构建诸如数字TV、数字音响和数字打印机的家庭网络装置,因此需要使用web服务访问由家庭网络装置提供的家庭网络装置服务的技术,从而控制家庭网络装置并共享内容。
在这种情况下,家庭网络装置必须直接安装web服务引擎,从而通过web服务提供它的服务。web服务引擎表示用于这些诸如XML、SOAP和WSDL技术的基本web服务相关技术的一系列软件应用。
图2和图3是用于解释将家庭网络装置服务提供给家庭网络的外部装置的传统的程序的示图。图2显示家庭网络中的媒体服务器将家庭网络装置服务直接提供给外部客户机的情况。在这种情况下,在家庭网络装置中直接安装提供web服务所需的引擎。这样,提供web服务的家庭网络装置必须将WSDL文档,也就是家庭网络装置服务的规范直接提供给外部装置。因此,家庭网络装置可处理以SOAP消息的形式发送的服务调用。也就是,当家庭网络装置安装支持XML、SOAP和WSDL标准的web服务引擎时,家庭网络装置不需要其它装置的支持就可提供web服务。
图3显示提供家庭网络装置服务的家庭网络装置不具有公共IP(互联网协议)地址的情况。在这种情况下,具有私有IP的家庭网络装置通过具有公共IP地址的家庭网关将家庭网络装置服务提供给外部装置。家庭网关在外部装置和家庭网络装置之间简单执行地址转换处理并路由在服务调用期间发送的消息,并且执行返回处理。在这种情况下,家庭网络装置也必须直接安装web服务引擎。
尽管大多数当前提供的web服务仅采用诸如XML、SOAP和WSDL标准的基本标准,但是必须考虑将来的诸如用于web服务的安全、服务策略和可靠管理的关于高级技术的技术需求。为了满足这些技术需求,家庭网络上的所有家庭网络装置必须安装支持前面所述的高级技术的web服务引擎。因此,因为需要安装web服务引擎,所以不能经济地使用计算资源或盘资源。
具体地说,具有相对少量资源的装置不能直接安装这种web服务引擎。

发明内容
本发明的示例性的、非限制性的实施例克服了上述缺点和其它上面没描述的缺点。另外,本发明不需要克服上述缺点,并且本发明的示例性的、非限制性的实施例可以不克服上述的任何问题。本发明的一方面在于提供一种能够实现OSGi绑定包的设备和方法,其中,所述OSGi绑定包在OSGi家庭网关中提供web服务功能,以允许家庭网络装置通过web服务将家庭网络服务提供给外部装置,而不用直接安装web服务引擎。
根据本发明的实施例的另一方面,提供一种将家庭网络服务提供给外部装置的方法,包括(a)获得关于由家庭网络中的至少一个网络装置提供的本地服务的信息;(b)基于获得的信息产生包括关于web服务的信息的文档以允许外部装置调用本地服务;(c)将产生的文档分配给外部装置,并且接收基于分配的文档产生的web服务调用消息;以及(d)响应于接收的web服务调用消息将本地服务从家庭网络提供给外部装置。
在上述方面,(d)可包括当接收到web服务调用消息时,通过使用至少一个OSGi绑定包调用网络装置的本地服务;通过使用OSGi绑定包接收本地服务作为本地服务调用的结果,并且将本地服务提供给外部装置。另外,该方法还可包括在外部装置中产生处理用于本地服务的web服务调用的第一OSGi绑定包,其中(d)包括(d1)在第一OSGi绑定包中,通过控制本地服务的第二OSGi绑定包调用本地服务;(d2)在第一OSGi绑定包中,从第二OSGi绑定包接收本地服务调用的结果值;(d3)接收从第一OSGi绑定包接收的本地服务调用的结果值;(d4)将接收的结果值转换为与web服务调用消息相应的响应消息;以及(d5)将转换的响应消息发送到发送web服务调用消息的外部装置。
另外,(d1)可包括将调用消息转换为JAVA对象;将转换的JAVA对象发送到第一OSGi绑定包;以及在第一OSGi绑定包中,将发送的JAVA对象发送到第二OSGi绑定包以允许第二OSGi绑定包调用本地服务。
根据本发明的实施例的另一方面,提供一种计算机可读记录介质,该计算机可读记录介质具有包含在其上的当由计算机执行时执行上述方法的程序。
根据本发明的实施例的另一方面,提供一种将家庭网络服务提供给外部装置的设备,包括产生单元,通过使用关于由家庭网络中的至少一个网络装置提供的本地服务的信息产生文档以允许外部装置调用本地服务;分配单元,将产生的文档分配给外部装置;接收单元,从接收分配的文档的外部装置接收基于文档产生的web服务调用消息;以及web服务提供单元,响应于接收的web服务调用消息,将本地服务从家庭网络提供给外部装置。
在本发明的实施例的上述方面中,产生单元可在外部装置中产生处理用于本地服务的web服务调用的第一OSGi绑定包;web服务提供单元可允许第一OSGi绑定包通过控制本地服务的第二OSGi绑定包调用本地服务,从第一OSGi绑定包接收本地服务调用的结果值,所述第一OSGi绑定包从第二OSGi绑定包接收本地服务调用的结果值,将接收的结果值转换为与web服务调用消息相应的响应消息,并将转换的响应消息发送到发送web服务调用消息的外部装置。另外,web服务提供单元可以以JAVA对象的形式接收结果值,并且以SOAP消息的形式将结果值转换为响应消息。


通过下面结合附图对本发明的示例性实施例进行的详细描述,上述和其它特点和优点将会变得更加清楚,其中,相同的标号是指相同的项,其中图1是用于解释提供web服务的程序的概念示图;图2是用于解释家庭网络装置将家庭网络装置服务提供给外部装置的传统程序的示图;图3是用于解释家庭网络装置通过家庭网关将家庭网络装置服务提供给外部装置的传统程序的示图;图4是显示OSGi系统的结构的示图;图5是显示根据本发明的实施例的将家庭网络装置服务提供给外部装置的系统的结构的示图;图6是显示根据本发明的实施例的将家庭网络装置服务提供给外部装置的程序的顺序的流程图;图7是显示根据本发明的实施例的通过OSGi网关提供web服务的绑定包的结构的示图;图8是显示根据本发明的实施例的OSGi网关的结构的示图;图9是显示根据本发明的实施例的web服务驱动器的结构的示图;图10是根据本发明的实施例的用于解释web服务驱动器中使用的API的表;图11是根据本发明的实施例的用于解释将家庭网络装置服务的WSDL文档分配给外部装置的程序的流程图;以及图12是根据本发明的实施例的用于解释外部装置通过web服务使用家庭网络装置服务的程序的流程图。
具体实施例方式
图4是显示OSGi系统的结构的示图。
OSGi提供执行服务的框架。OSGi框架是用于家庭网关的服务的标准API规范。如图4所示,OSGi框架在JAVA虚拟机上操作。在框架上,非常灵活地执行服务分配、服务集成、服务管理等。在框架上OSGi提供诸如HTTP、服务管理和日志服务的基本服务。服务提供者在OSGi框架以OSGi绑定包的形式分配它们自己的服务来提供服务。具体地说,OSGi提供诸如通用即插即用(UPnP)、Jini和HAVi的普通家庭网络技术,从而OSGi系统可保护在支持不同家庭网络技术的不同类型装置之间的互操作。
这里,在OSGi框架上实现执行提供web服务所需的功能的OSGi绑定包,因此,家庭网络装置可通过web服务提供家庭网络装置服务。根据这里描述的系统,家庭网络装置可仅通过使用传统的家庭网络技术通过web服务将家庭网络装置服务提供给外部装置。
图5是显示根据本发明的实施例的将家庭网络装置服务提供给外部装置的系统的结构的示图。在实施例中,假设家庭网络以UPnP技术操作。
如图5所示,在OSGi家庭网关上实现处理web服务相关功能的web服务提供者绑定包,从而OSGi家庭网关代替家庭网络装置执行web服务相关功能。在OSGi家庭网关上实现的web服务提供者绑定包基于关于家庭网络装置服务的信息写出WSDL文档。所述信息是由家庭网络装置以UPnP服务的形式提供的,并且在OSGi家庭网关上的web服务提供者绑定包将WSDL文档分配给外部装置。换句话说,web服务提供者绑定包在UDDI(统一描述、发现和集成)注册处中注册WSDL文档。外部客户机装置下载WSDL文档并根据WSDL文档执行web服务调用。
客户机装置通过发送SOAP消息执行web服务调用。响应于用于web服务调用的SOAP消息,OSGi家庭网关将SOAP消息转换为UPnP动作来调用家庭网络装置的本地服务。OSGi家庭网关将由本地服务调用产生的值转换为SOAP消息,并且将SOAP消息发送到外部客户机装置。
图6是显示根据本发明的实施例的将家庭网络装置服务提供给外部装置的程序的顺序的流程图。
根据本发明的实施例,OSGi家庭网关产生包括关于家庭网络装置的本地服务的信息的WSDL文档,并且将WSDL文档分配给外部装置(610)。当接收到由下载WSDL文档的外部客户机装置发送的web服务调用消息时(620),调用相关的本地服务(630)。将由本地服务调用产生的值转换为SOAP消息(640),并且响应于web服务调用将SOAP消息发送到外部装置(650)。
图7是显示根据本发明的实施例的通过OSGi网关提供web服务的绑定包的结构的示图。
如图7所示,在OSGi框架上驻留处理web服务相关功能的web服务驱动器。web服务驱动器通过使用在OSGi框架中注册的家庭网络装置服务产生WSDL文档和web服务提供者绑定包,并且执行相关的SOAP消息处理。
以UPnP服务的形式将家庭网络装置服务提供给外部装置的家庭网络装置通过UPnP驱动器以OSGi服务的形式注册家庭网络装置服务。同时,UPnP驱动器产生控制家庭网络装置服务的UPnP CP绑定包,并且在OSGi框架中注册由UPnP CP绑定包提供的服务。当注册由UPnP CP绑定包提供的服务时,web服务驱动器产生web服务提供者绑定包和作为由家庭网络装置提供的本地服务的规范的WSDL文档。在这里,在WSDL文档中描述OSGi框架上由web服务提供者绑定包提供的服务的地址,并且外部web服务客户机装置根据在WSDL文档中描述的信息调用web服务提供者绑定包的服务。
图8是显示根据本发明的实施例的OSGi网关的结构的示图。
参照图8,OSGi网关800包括产生单元810、服务注册单元820、分配单元830、接收单元840和web服务提供单元890。web服务提供单元890包括本地服务调用单元850、本地服务接收单元860、转换单元870和发送单元880。
服务注册单元820将家庭网关装置提供的本地服务注册为OSGi服务。产生单元810基于关于在服务注册单元820中注册的本地服务的信息产生WSDL文档。分配单元830将由产生单元810产生的WSDL文档分配给外部装置。
接收单元840从外部web服务客户机装置接收用于web服务调用的SOAP消息。
响应于外部web服务调用,web服务提供单元890调用由家庭网络装置提供的本地服务,并且作为web服务调用的响应返回本地服务调用的结果值。更具体地,当接收单元840接收用于web服务调用的SOAP消息时,本地服务调用单元850调用相关的本地服务。尽管在图中没有显示,但是可包括用于将SOAP消息转换为用于本地服务调用的命令的部件。可通过接收单元840或本地服务调用单元850执行该部件的功能。本地服务接收单元860从家庭网络装置接收由本地服务调用单元850调用产生的值。转换单元870将通过本地服务接收单元860接收的结果值转换为SOAP消息。发送单元880将从转换单元870输出的SOAP消息发送到调用web服务的外部客户机装置。在OSGi网关中以至少一个OSGi绑定包实现这些部件。也就是,可以以执行各个功能的各个绑定包实现所述部件。或者,可以以执行所有功能的单个绑定包实现所述部件。在这种情况下,所述部件包括用于执行相关功能的API。将参照图9描述其详细的示例。
图9是显示根据本发明的实施例的web服务驱动器的结构的示图。
如图9所示,web服务驱动器包括三个部件,也就是WS翻译器910、SOAP处理器920和WS收听器930。另外,web服务驱动器包括web服务部署描述符940,提供用于在OSGi框架上部署的并与设置信息相关的web服务的WSDL文档。
WS翻译器910通过使用在OSGi框架中注册的绑定包产生WSDL文档和web服务提供者绑定包。WS收听器930接收用于从外部装置发送的web服务调用的SOAP消息,并提供处理SOAP消息的功能。SOAP处理器920执行分析和转换SOAP消息的功能。在图10中详细显示使用这些部件的API的示例。
图11是根据本发明的实施例的用于解释将家庭网络装置服务的WSDL文档分配给外部装置的程序的流程图。在实施例中,假设用于家庭网络的中间件技术是基于UPnP的。在图11中涉及的API与传统的API相应,也与图10描述的API相应。
用于将家庭网络装置服务提供给外部装置的家庭网络装置(以下,称为UPnP装置)将家庭网络装置服务广告给UPnP驱动器(1)。由于UPnP驱动器主要作为控制点参与UPnP网络,因此这种方案是可用的。UPnP驱动器导入相关服务(2)并产生用于控制在本地导入的服务而安装的虚拟UPnP CP绑定包(3)。在OSGi服务注册处中注册由UPnP CP绑定包提供的服务(4),并且通过将get Service消息发送到OSGi服务注册处由web服务驱动器识别注册的服务(5)。识别注册的服务的web服务驱动器基于信息和相关信息产生WSDL文档和相关的web服务提供者绑定包(6和7)。在这里,web服务提供者绑定包被构建为执行与由UPnP装置提供的服务中的操作相同的操作。在web服务驱动器注册web服务提供者绑定包(8)和与web服务提供者绑定包相关的服务(9)之后,外部web服务客户机装置下载WSDL文件(10)。作为结果,完成用于将由家庭网络装置提供本地服务导出到外部装置的程序。
图12是根据本发明的实施例的用于解释外部装置通过web服务使用家庭网络装置服务的程序的流程图。图12中涉及的API是指传统的API和图10中描述的API。
在外部web服务客户机通过使用下载的WSDL文件中的信息产生SOAP消息之后,外部web服务客户机装置将SOAP消息发送到包括在WSDL文件中的地址,从而调用与WSDL文件相关的服务(21)。web服务驱动器的WS收听器通过HTTP服务接收SOAP消息(22)并通过使用SOAP处理器将SOAP消息转换为JAVA对象(23)。在那之后,WS收听器将JAVA对象发送到web服务提供者绑定包(24)。当web服务提供者绑定包以OSGi调用方式调用虚拟UPnP CP(25)时,虚拟UPnP CP通过使用UPnP驱动器在内部将相关的服务调用转换为UPnP动作,并且在家庭网络中调用UPnP装置的服务(26和27)。在那之后,以JAVA对象的形式接收服务结果的WS收听器通过使用SOAP处理器将服务的结果转换为SOAP消息,并且将SOAP消息发送到外部web服务客户机装置(28)。
本发明的实施例可被写为计算机程序,并且可在使用计算机可读记录介质执行程序的通用数字计算机中实现。
计算机可读记录介质的示例包括磁存储介质(例如,ROM、软盘、硬盘等)、光记录介质(例如,CD-ROMs或DVD)、和诸如载波的存储介质(例如,通过互联网传输)。
根据本发明,以OSGi家庭网关实现web服务相关功能,从而家庭网络装置可通过web服务将家庭网络装置服务提供给外部装置,而不必在其中直接安装web服务引擎。另外,即使在必须将满足诸如安全、交易处理、可靠管理和服务策略的技术需求的部件添加到web服务引擎的情况下,OSGi家庭网关可充分地满足所述技术需求,从而可以减少家庭网络装置的计算资源和盘资源。
尽管已经参照其示例性实施例详细地显示和描述了本发明,但本领域的技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种改变。示例性实施例应该被认为仅是描述性的而不是用于限制的目的。因此,本发明的范围不是由本发明的详细描述限定的,而是由权利要求来限定,并且在该范围内的所有差异将被解释为包括在本发明中。
权利要求
1.一种将家庭网络服务提供给外部装置的方法,包括(a)获得关于由家庭网络中的至少一个网络装置提供的本地服务的信息;(b)基于获得的信息产生文档,所述文档包括关于web服务的信息以允许外部装置调用本地服务;(c)将产生的文档分配给外部装置,并且接收基于分配的文档产生的web服务调用消息;以及(d)响应于接收web服务调用消息,将本地服务从家庭网络提供给外部装置。
2.如权利要求1所述的方法,其中,家庭网络是UPnP网络,以及在(a)中,基于UPnP广告消息获得关于本地服务的信息。
3.如权利要求1所述的方法,其中在(b)中产生的文档是WSDL文档,以及在(c)中,通过在UDDI注册处中注册WSDL文档来分配WSDL文档。
4.如权利要求1所述的方法,其中(d)包括响应于接收web服务调用消息,至少一个OSGi绑定包调用网路装置的本地服务;使用OSGi绑定包接收本地服务作为本地服务调用的结果,并且将本地服务提供给外部装置。
5.如权利要求4所述的方法,还包括产生处理用于本地服务的web服务调用的第一OSGi绑定包,其中(d)包括(d1)在第一OSGi绑定包中,通过控制本地服务的第二OSGi绑定包调用本地服务;(d2)在第一OSGi绑定包中,从第二OSGi绑定包接收由本地服务调用产生的值;(d3)接收从第一OSGi绑定包接收的本地服务调用结果值;(d4)将接收的本地服务调用结果值转换为与web服务调用消息相应的响应消息;以及(d5)将转换的响应消息发送到外部装置。
6.如权利要求5所述的方法,其中,web服务调用消息和响应消息是SOAP消息。
7.如权利要求6所述的方法,其中(d1)包括将调用消息转换为JAVA对象;将转换的JAVA对象发送到第一OSGi绑定包;以及在第一OSGi绑定包中,将发送的JAVA对象发送到第二OSGi绑定包,以允许第二OSGi绑定包调用本地服务。
8.如权利要求7所述的方法,其中在(d4)中将JAVA对象转换为SOAP消息。
9.一种具有包含在其上的当由计算机执行时执行如权利要求1的方法的程序的计算机可读记录介质。
10.一种将家庭网络装置服务提供给外部装置的设备,包括产生单元,通过使用关于由家庭网络中的至少一个网络装置提供的本地服务的信息产生文档,以允许外部装置调用本地服务;分配单元,将产生的文档分配给外部装置;接收单元,从外部装置接收web服务调用消息,其中,基于分配到外部装置的文档产生web服务调用消息;以及web服务提供单元,响应于接收web服务调用消息的接收单元,将本地服务从家庭网络提供给外部装置。
11.如权利要求10所述的设备,其中,产生单元基于UPnP广告消息获得关于本地服务的信息,家庭网络是UPnP网络。
12.如权利要求10所述的设备,其中,文档是WSDL文档,以及其中,分配单元在UDDI注册处中注册WSDL文档。
13.如权利要求10所述的设备,其中,响应于接收web服务调用消息的接收单元,web服务提供单元通过使用至少一个OSGi绑定包调用网络装置的本地服务,作为本地调用通过使用OSGi绑定包接收本地服务的结果,并且将本地服务提供给外部装置。
14.如权利要求13所述的设备,其中,产生单元产生处理用于外部装置对本地服务的web服务调用的第一OSGi绑定包,以及其中,web服务提供单元允许第一OSGi绑定包通过控制本地服务的第二OSGi绑定包调用本地服务;从第一OSGi绑定包接收本地服务调用的结果值,所述第一OSGi绑定包从第二OSGi绑定包接收本地服务调用的结果值;将接收的结果值转换为与web服务调用消息相应的响应消息;并将转换的响应消息发送到外部装置。
15.如权利要求14所述的设备,其中,web服务调用消息和响应消息是SOAP消息。
16.如权利要求15所述的设备,其中,web服务提供单元将web服务调用消息转换为JAVA对象,并且将转换的JAVA对象发送到第一OSGi绑定包,以允许第一OSGi绑定包使用JAVA对象通过控制本地服务的第二OSGi绑定包调用本地服务。
17.如权利要求16所述的设备,其中,web服务提供单元以JAVA对象的形式接收结果值,并且以SOAP消息的形式将结果值转换为响应消息。
全文摘要
将由家庭网路中的家庭网络装置提供的本地服务提供给外部装置的方法和设备。OSGi网关通过使用关于由家庭网络装置提供的本地服务的信息产生WSDL文件,并且分配WSDL文档以允许外部装置通过使用web服务调用本地服务。响应于从外部装置接收的SOAP消息,在家庭网路中调用家庭网络中的本地服务。将本地服务调用的响应消息转换为SOAP消息,并且将SOAP消息发送到外部装置。因此,家庭网络装置可通过web服务将家庭网络服务提供给外部装置,而不用直接安装web服务引擎。
文档编号H04L29/06GK1949731SQ20061013181
公开日2007年4月18日 申请日期2006年10月12日 优先权日2005年10月12日
发明者金齐旭 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1