用于在网络上共享服务的设备和方法

文档序号:7600300阅读:195来源:国知局
专利名称:用于在网络上共享服务的设备和方法
技术领域
本发明涉及一种用于在网络上共享服务的设备和方法,更具体地讲,涉及一种用于在每一个网络装置之间共享和管理服务。
背景技术
随着数字技术的快速进步和互联网的快速普及,用于数字家庭的架构在发展中通过实践地使用这些进步为客户的日常生活提供多种有用的和方便的服务。数字家庭技术目的在于除了家庭网络的简单之外通过利用配备完善的外部通信架构提供高质量服务。
数字家庭可以称作通过使不同的IT(信息技术)如家庭网络技术、信息电子器件技术、软件平台、解决方案和内容一体化来培养新服务市场的新范例。
有关具有家庭网络架构的未来家庭的术语可以被举例说明如下联网家庭、智能家庭、数字家庭等为例。虽然多个部分的使用在每一架构中是普通概念,但是互联网家庭强调交互家庭数字器件的连接。更具体地讲,智能家庭非常重视能够本地地或远程地控制/管理交互家庭数字器件的家庭自动控制服务。相反,数字家庭重视共享数字多媒体,如音乐、图像、视频等并且与互联网合作提供数字内容服务。
为了建造数字家庭,需要家庭网络、接入网络、内容和解决办法的若干技术。
家庭网络技术包括有线/无线网络技术,如电力线通信(PLC)、电话线通信、有线LAN(局域网)、IEEE1394、无线LAN、无线1394等;支持即插即用功能的中间件技术,如HAVi(家庭音频视频交互技术),Jini(Java智能网络架构)、UPnP(通用即插即用)等;用于为外部接入网络提供网络终端功能以及调制解调器功能并提供交互网络合作功能的家庭或住宅网关技术;和用于在远程位置经由接入网络发送多个服务到与家庭网络连接的信息电子器件并管理多个服务的服务平台技术。
这里,数字家庭服务平台的例子是OSGi(开放服务网关促进会)服务平台。
术语OSGi是对Open Service Gateway Initiative的缩写。OSGi是由包括爱立信(Ericsson)、Sun公司(Sun Microsystems)和IBM的15家工业领导者在1999年3月成立的非盈利性标准化机构,其目的在于创建一个开放标准,通过其网络上的各种服务被传送到本地网络或装备并该传送的服务的被操作。
OSGi限定了用于服务传送/管理的框架和OSGi包(bundle)。OSGi包是可以被产生和被安装,并与接口、结构信息、可执行代码和数字签名一起打包的单元。
OSGi版本1.0包括基于OSGi标准的框架、日志服务、HTTP服务和装置管理器(Device Manager)组成。该框架允许应用程序服务共享一个Java虚拟机,管理包的生命周期、Java包、资源、包之间的从属等,并具有用于包之间的合作的服务注册。日志服务提供可以写并读在框架中产生的事件的服务。允许HTTP服务提供通过环球网来访问服务平台。并且装置管理器提供动态装置驱动器下载模型。
在2001年10月发布的OSGi版本2中,除了版本1.0的功能之外提供了如打包管理、许可管理和用户管理的服务。
在2003年3月发布的OSGi版本3中,除了版本2的功能之外提供了如起始水平管理(start level management)、Jini和UPnP的服务。另外,很多服务被添加到OSGi版本3以支持用于运载工具的网关和用于SOHO(小型办公室家庭办公室)的网关。
OSGi服务平台通常集中在三个领域第一,服务之间的连接和控制;第二,服务和OSGi框架之间的连接和控制;第三,OSGi框架和外部服务管理系统之间的连接和控制。因此,OSGi服务平台被插入在如高速网络的外部网络和用于连接家庭内部器件的网络之间。
在外部网络环境中,服务提供者执行服务供应和管理。在家庭内部网络环境中,许多器件和不同的协议必须平滑地连接并控制彼此。OSGi服务平台是用于外部和家庭内部网络环境的最终的仲裁人。
OSGi标准被创建以基于Java虚拟机来操作。Java虚拟机起缓冲嵌入OS(操作系统)和嵌入CPU(中央处理器)之间的差异的作用。
所有的OSGi服务包含于称作包的物理包中。
多个OSGi服务可以包含于一个包中,其由用于包的部署和管理的基本单元构成。
其是管理这些包的框架。该框架具有执行服务注册、查询、执行、删除等的服务注册。另外,该框架处理事件、事件的删除和相反处理。这里,事件是基于三类事件的生成程序服务、包和框架的逻辑事件。该事件是逻辑的,不考虑从装备产生的物理事件。
换句话说,OSGi标准可以被称为用于在家庭网络环境中合并、控制并管理不同的装置和服务的中间件。OSGi标准发展到现在可以基于其在物理上连接的家庭网络的环境下单一OSGi服务器位于家庭网关或单一装置来描述。因此,所有服务以块管理,并在OSGi框架中注册的装置和服务在其中易于获得。
图1示出用于在传统的OSGi框架中运行包的方法。
OSGi框架100和150通过包环境110和160的方法来注册并管理包120、130、170和180。每个包环境110和160可以和包的数量一样多,并且因此构成一对一的映射结构。每一个包环境负责安装包和呼叫服务的功能,处理从各自的框架100和150产生的事件,并控制包的执行的详情。
如图1所示,包不在OSGi框架之间共享。因此,单独地期望的包必须在框架自身内安装并注册。单独地期望的包在自身可执行的环境内通过包环境110和160被调用并激活。即使执行相同的功能,直到其向自身的框架注册,才允许相同的包提供适当的服务。例如,当在框架A100中执行包B130需要包C180时,现有技术忽略利用框架B150的资源。因此,在现有技术中,包C180被重复地安装在框架A100中。
因为上述现有技术为单一OSGi框架而设计,所以不可在每一个框架之间共享共同的服务,因此,每一个装置必须在其自身OSGi框架内重复地安装并注册。另外,在包括服务的租赁和销售等的商务模型的情况下,存在不便从而用户或承租人必须为每一装置支付两倍的费用以获得相同服务。而且,当为提供由当前的装置请求的服务而需要另一个服务在由另一个装置正被执行的OSGi框架内注册并管理时,没有当前装置能够向另一个装置请求服务或在其自身OSGi框架中注册服务的方法。由于这个原因,需要用于解决该问题的新方法。

发明内容
为了解决上述问题,本发明的目的在于提供一种用于当每一个框架在独立的装置被操作时,共享和循环利用在多个OSGi框架之间的需要的资源和服务包的方法。
为了实现这个目标,提供了一种用于在网络上共享服务的方法,其包括第一步骤,在第一嵌入的装置,发送请求至少一个服务的消息到至少一个与网络上第一嵌入装置连接的嵌入装置;第二步骤,在第一嵌入的装置,从接收消息的嵌入的装置接收用于实现该服务的代码信息;第三步骤,在第一嵌入的装置,执行代码信息并实现该服务,和第四步骤,在第一嵌入的装置,当服务的实现在第三步骤中被完成时注册关于服务的服务信息。这里,代码信息最好是以Java语言描述的代码信息,并服务信息是发送代码信息的嵌入的装置的网络标识信息。
另外,第二步骤包括子步骤,当第一嵌入的装置重复地接收用于实现服务的代码信息时,忽略重复接收的代码信息。
另外,第四步骤包括存储预定次数的代码信息的子步骤。
另外,第四步骤包括删除接收的代码信息的子步骤。
为了实现这个目的,提供了一种用于在网络上共享服务的方法,包括第一步骤,在第一嵌入的装置,从预定信息存储区搜索关于至少一个服务的服务信息;第二步骤,发送请求服务的消息到由在第一步骤中搜索的服务信息标识的第二嵌入的装置;第三步骤,在第一嵌入的装置,从第二嵌入的装置接收用于实现服务的代码信息;第四步骤,在第一嵌入的装置,执行代码信息以实现服务。这里,代码信息是以Java语言描述的代码信息,并且该服务信息是发送代码信息的嵌入的装置的网络标识信息。
第四步骤包括在实现服务后,存储接收的预定次数的代码信息的子步骤。
第四步骤还包括在实现服务后,删除接收到的代码信息的子步骤。
为了实现该目标,提供了一种用于在网络上共享服务的方法,其包括第一步骤,在第一嵌入的装置,从至少一个在网络上与第一嵌入的装置连接的嵌入的装置接收请求至少一个服务的消息;第二步骤,在第一嵌入的装置,接收请求服务的消息,检查第一嵌入的装置保留服务与否;和第三步骤,当服务在第二步骤中被保留时,发送用于实现服务的代码信息到请求服务的嵌入的装置。这里,用于实现服务的代码信息是以Java语言描述的代码信息。
为了实现目标,提供一种用于在网络上共享服务的设备,包括服务收发器单元,用于发送用于请求预定的服务的消息到在网络上连接的嵌入的装置,并接收用于实现服务的代码信息;服务解析单元,用于搜索关于服务的服务信息被包含与否;和服务装载单元,用于装载从服务收发器单元接收的代码信息或卸载该装载的代码信息。这里,用于实现服务的代码信息是以Java语言描述的代码信息,并且服务信息是具有用于实现服务的代码信息的嵌入的装置的网络标识信息。
为了实现该目标,提供了一种用于在网络上共享服务的装置,该装置包括接收单元,用于从在网络上连接的嵌入的装置接收请求预定的服务的消息;和检查单元,用于检查用于实现服务的代码信息被保留与否,其中当服务被保留时,发送代码信息到嵌入的装置。这里,用于实现服务的代码信息最好是以Java语言描述的代码信息。


通过下面当采用结合附图时的详细描述,本发明的上述目的、特点和优点将会变得更加清楚,其中图1示出用于在传统的OSGi框架中运行包的方法;图2示出与本发明的实施例一致的整体模块结构;图3示出与本发明的实施例一致的动态远程包装载器的配置;图4示出与本发明的实施例一致的在不同的动态远程包装载器之间的操作;图5示出与本发明的实施例一致的整体系统操作;和图6示出根据本发明的示例性实施例的用于在网络上共享服务的设备的方框图。
具体实施例方式
以下,参照附图来描述与本发明的实施例一致的用于在网络中共享服务的设备和方法。
为了便于理解本发明,将使用基于OSGi框架的系统作为例子来描述本发明,但是它可以应用到具有与OSGi框架相似的功能的中间件。
图2示出与本发明的实施例一致的整体模型结构。
本地装置200包括框架205、包环境220和222、包230和232、分别属于包的服务240、242、244和246,和动态远程包装载器210。同样地,远程装置250包括框架255、包环境270和272、包280和282、分别属于包的服务290、292和294,和动态远程包装载器260。这里,每个模块代表下面的功能。
每个框架205和255代表OSGi框架。在此,请求包的装置的框架被称为“本地框架”,同时接收该包的请求的装置的框架被称为“远程框架”。
每个本地包环境220和222是在向其注册当前执行的包和服务的本地框架205中管理包的安装和注册、呼叫服务等的模块。每个本地包环境校验由在执行中的服务请求的包注册与否。当请求的包已经存在于当前本地框架205中时,每个本地包环境传送那个存在于本地装置200中的包的参考位置。然而,当请求的包目前在本地框架205中没有注册时,本地包环境通知动态远程包装载器210本地包环境自身需要请求的包,并等待响应。
远程包环境270和272根据由在远程框架方的动态远程装载器260接收的包的请求来检查在远程装置250注册的包的列表。然后,当确定与请求的包相对应的包存在时,每个远程包环境发送那个包的参考位置到本地装置200的动态远程包装载器210。
每个包230、232、280和282是一个或多个可以被称为一组服务的相关的服务的包。这里,服务在每个装置之间以包为单位被共享。
每个动态远程包装载器210和260是通过与包环境220、222、270和272交换消息来执行包的请求和其响应功能的模块。在请求包的本地装置200方,关于每个包环境220和222请求的包的说明被发送到远程装置250。在远程装置250方,由包环境270和272提供的包被发送到本地装置200。
图3示出与本发明的实施例一致的动态远程包装载器的配置。
动态远程包装载器300包括包收发器单元310、包解析单元320、包装载器330和包卸载器340。包装载器330和包卸载器340都可以是单独的模块。以下,将对关于动态远程包装载器300的组件的功能进行下述描述。
包收发器单元310是负责消息的发送、包的请求、或请求的包的发送/接收的单元。请求包的消息被多点传送到遍及连接到家庭网络的整体范围。在接收请求的消息的另一装置的框架中,检查请求的包被包含与否,并作为该请求的响应,该包含的包自身通过HTTP服务被发送到已经请求该包的装置的包收发器单元。请求方的装置接收发送的包并在其自身的框架中执行接收的包的安装和注册。包收发器单元310可以包括包多点传送发送模块(未显示)和包多点传送接收模块(未显示),其中包多点传送发送模块负责请求包的装置的请求消息的发送和接收包的请求的装置的包的发送,同时包多点传送接收模块起从请求方接收请求消息和从响应方接收包的作用。
包解析单元320检查请求的包的说明,并请求包环境以搜索与请求的包的说明匹配的并且可以在请求包的装置的框架环境下正确地实现的包。因为存在根据框架和系统资源被其操作的操作系统,请求的包在请求包的装置上可能不被实现的可能性,所以需要检查请求的包的说明的处理。另外,包解析单元320发送该搜索的包的参考位置到包收发器单元310以允许该包被发送。
包装载器330是用于在框架内安装并注册接收的包的模块。一旦包在框架内注册,根据请求包的服务,注册的包被实现。
如果实现的包仍然保留在框架内,则存在可能引起由于其占用未预料到的系统资源导致的问题的可能性。因此,完成其任务的包再次从框架移走并从存储器完全地删除,因此框架必须被恢复到当包被请求时的最初状态。此功能由包卸载器340来执行。这里,任务一完成,包就可以从框架中移走,但是根据系统资源在期望的条件或预定的时间内可以在框架中保留该包。
图4示出在与本发明的实施例一致的不同的动态远程包装载器之间的操作。
动态远程包装载器A(400)以多点传送的方式向其它的每一个与整个网络连接的装置的动态远程包装载器B、C和D(410、420和430)请求其自身需要的包(450)。每一动态远程包装载器B、C和D(410、420和430)分别检查其是否含有请求的包,然后当请求的包存在时,解析该请求的包是否适合在已经请求该包的动态远程包装载器A(400)被实现(452)。由于这个原因,当请求消息被发送时,关于其中动态远程包装载器A(400)被操作的系统的信息包含于该请求消息中。
在这种情况下,动态远程包装载器A(400)处于待命状态直到从其它动态远程包装载器B、C和D(410、420和430)产生响应(454)。
在其它动态远程包装载器B、C和D(410、420和430)中,任一个包含与请求的包匹配的包的动态远程包装载器发送该匹配的包到动态远程包装载器A(400)以响应。在这种情况下,动态远程包装载器A(400)接收发送的第一响应(456),而忽略接下来的响应(458和460)。
当接收请求的包时,动态远程包装载器A(400)注册接收的包(462)。随后,动态远程包装载器A(400)通过使用注册的包来实现服务(464),并且当该服务实现被完成时撤销该注册的包的注册(466)。
图5示出与本发明的实施例一致的整个系统操作。
在图5中,本地装置方和远程装置方由在动态远程包装载器A(520)和动态远程包装载器B(530)之间纵向地指示的粗虚线彼此分割。这里,远程装置方指的不是单独的装置或系统,而是与网络中的本地装置连接的并包括动态链接包装载器的所有装置。为了方便的目的,将采用单独的装置作为例子对图5进行描述。
当开始其操作时(552),本地框架500实现预定的服务(554)。这里,服务指的是不仅以复合的方式借助于另一服务,而且不以独立的方式借助于另一服务执行功能的所有种类的服务。当它需要实现第二服务时,本地框架500请求本地包环境510发送用于第二服务的包(556)。然后,本地包环境510搜索包的列表(558)。当请求的包存在时,该请求的包在本地框架500中注册。因此,第二服务被再次实现(582)。
然而,当请求的包在步骤558中还没有被注册时,本地框架500停止实现第二服务,解析第二服务的特点,并且产生请求用于解析服务的包的事件。该事件被发送到动态远程包装载器A(520)。
动态远程包装载器A(520)的包解析单元562搜索其关联的包的历史(564)。具体地讲,在先前已经从另一装置接收到相同的包的情况下,接收的包的信息被单独地存储。因此,当再次请求时,使用相同的包。
当不存在关于当其历史搜索后包解析单元562打算请求的包的信息时,包收发器单元566以多点传送的方式发送包请求消息。
然而,当该包的信息存在时,包收发器单元566以单点传送的方式发送包请求消息。为这个目的,包的信息可以包含在网络上的位置信息,如保留包的装置的统一资源定位器(URL)和包的简要说明。当由于在网络的配置的改变和异常对单点传送没有响应时,包请求消息被再次以多点传送的方式被发送。
在位于与在网络中的本地框架500连接的另一框架的动态远程包装载器B(530)的包收发器单元568中,该发送的包请求消息被接收,并被发送到包解析单元570。
在检查该请求的包的说明后,包解析单元570引起远程包环境540搜索该请求包(572)。远程包环境540搜索注册的包的列表(574)。当发现与请求的包匹配的注册的包之一时,远程包环境540发送发现的包的参考位置到包收发器单元568(576)。
在接收到发现的包的参考位置后,包收发器单元568通过使用接收到的发现的包的参考位置发送该发现的包自身到已经请求该发现的包的装置。这里,发送的包最好地是以Java语言描述的并可利用HTTP服务的代码。请求包的动态远程包装载器A(520)的包收发器单元566接收对包请求消息的第一响应,并忽略其它响应直到从响应方发送的包在其自身框架内正常注册。
当请求的包的传送完成时,作为响应的结果,请求包的动态远程包装载器A(520)的包装载器578引起本地包环境510在本地框架500内注册接收的包(580)。然而,当对请求没有响应时,执行预定次数的重试处理。当在重试后没有响应,不可以在本地框架500中实现关联的服务。该信息被发送到在其本地框架500被操作的装置的操作系统。重试的次数可由单独的处理来设置。
当请求的包的安装和注册在本地框架500中被完成时,初始已经请求的包并且其实现已经被停止的服务被再次调用并被实现。在本地框架500内注册的包执行与请求包的服务的需求一致的操作(582)。当一系列服务终止时(584),本地框架500通知动态远程包装载器A(520)的包卸载器588服务已经终止(586)。包卸载器588引起本地包环境510移走在本地框架500内注册的包。这里,请求的包从本地框架500移走并在存储器上删除。目的是为了持续保持本地框架500的系统资源并保持系统管理的一致性。
包卸载器588记录关于请求包的服务的信息,和请求的包的说明和响应位置信息一起(592)。然后,当对于相同包的请求存在时,动态远程包装载器A(520)通过使用关于记录的包的信息来确定请求消息是直接地以单点传送方式发送还是以多点方式须经搜索处理。
图6示出根据本发明的示例性实施例的用于在网络上共享服务的设备600的方框图。设备600包括分别用于从与整个网络连接的嵌入装置接收请求预定服务的消息和用于检查用于实现服务的代码信息被保留与否的接收单元610和检查单元620。当该服务被保留时,代码信息被发送到嵌入的装置。用于实现服务的代码信息可以以Java语言来描述。
根据本发明,没有在当前框架注册的服务可以自动被实现而不需用户的干涉,从而可以不断的提供服务。只有在其实现期间服务被注册并使用,并在其实现后被自动移走,从而系统环境没有被改变。另外,可以在OSGi框架操作其的装置之间共享需要的相同的服务包。当保持存在的OSGi框架的结构时,该装置通过利用由框架提供的包来操作。因此,为了实现该功能,不需要单独的修正。
尽管本发明是参照其特定的实施例来描述的,但本领域的技术人员应该理解,在本发明的范围内可以进行不同的替换、修改和改变。因此,应该理解前述的实施例在所有方面只被认为是示出性的,并不是限定性的。
权利要求
1.一种用于在网络上共享服务的方法,包括A)在第一嵌入的装置,发送请求至少一个服务的消息到至少一个在网络上与第一嵌入的装置连接的嵌入的装置;B)在第一嵌入的装置,从至少一个接收消息的嵌入的装置接收用于实现服务的代码信息;C)在第一嵌入的装置,执行代码信息并实现服务;和D)在第一嵌入的装置,当在步骤C中服务的实现完成时注册关于服务的服务信息。
2.根据权利要求1所述的方法,其中,代码信息是以Java语言描述的代码信息。
3.根据权利要求1所述的方法,其中,服务信息是至少一个发送代码信息的嵌入的装置的网络标识信息。
4.根据权利要求1所述的方法,其中,步骤B包括,当第一嵌入的装置重复地接收用于实现服务的代码信息时,忽略重复地接收的代码信息。
5.根据权利要求1所述的方法,其中,步骤D包括存储接收的预定次数的代码信息。
6.根据权利要求1所述的方法,其中,步骤D包括删除接收的代码信息。
7.一种用于在网络上共享服务的方法,包括A)在第一嵌入的装置,从预定的信息存储区搜索关于至少一个服务的服务信息;B)发送请求服务的消息到由在步骤A中搜索的服务信息标识的第二嵌入的装置;C)在第一嵌入的装置,从第二嵌入的装置接收用于实现服务的代码信息;和D)在第一嵌入的装置,执行代码信息以实现服务。
8.根据权利要求7所述的方法,其中,代码信息是以Java语言描述的代码信息。
9.根据权利要求7所述的方法,其中,服务信息是发送代码信息的第二嵌入的装置的网络标识信息。
10.根据权利要求7所述的方法,其中,步骤D包括,在实现服务后,存储接收的预定次数的代码信息。
11.根据权利要求7所述的方法,其中,步骤D包括,在实现服务后,删除接收的代码信息。
12.一种用于在网络上共享服务的方法,其包括A)在第一嵌入的装置,从至少一个在网络上与第一嵌入的装置连接的嵌入的装置接收请求至少一个服务的消息;B)在第一嵌入的装置,接收请求服务的消息,检查第一嵌入的装置保留服务与否;和C)当在步骤B中服务被保留时,发送用于实现服务的代码信息到至少一个请求服务的嵌入的装置。
13.根据权利要求12所述的方法,其中,用于实现服务的代码信息以Java语言来描述。
14.一种用于在网络中共享服务的设备,其包括服务收发器单元,用于发送用于请求预定的服务的消息到在网络上连接的嵌入的装置,并接收用于实现服务的代码信息;服务解析单元,用于搜索关于服务的服务信息被保留与否;和服务装载器单元,用于可操作的装载从服务收发器单元接收的代码信息或卸载该装载的代码信息。
15.根据权利要求14所述的设备,其中,用于实现服务的代码信息以Java语言来描述。
16.根据权利要求14所述的设备,其中,服务信息是具有用于实现服务的代码信息的嵌入的装置的网络标识信息。
17.一种用于在网络上共享服务的设备,该设备包括接收单元,用于从在网络上连接的嵌入的装置接收请求预定的服务的消息;和检查单元,用于检查用于实现服务的代码信息被保留与否,其中当该服务被保留时,代码信息被发送到嵌入的装置。
18.根据权利要求17所述的装置,其中,用于实现服务的代码信息以Java语言来描述。
全文摘要
一种用于在网络上共享服务的方法和设备。该方法包括步骤A)在第一嵌入的装置,发送请求至少一个服务的消息到至少一个在网络上与第一嵌入的装置连接的嵌入的装置,B)在第一嵌入的装置,从接收消息的嵌入的装置接收用于实现服务的代码信息,C)在第一嵌入的装置,执行代码信息并实现服务;和D)在第一嵌入的装置,当在步骤C中服务的实现被完成时,注册关于服务的服务信息。
文档编号H04L12/28GK1627720SQ200410096959
公开日2005年6月15日 申请日期2004年12月8日 优先权日2003年12月8日
发明者孙炅镐, 郑东信, 李在晨 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1