设备向服务器注册的系统及方法

申请号 CN200680012715.2 申请日 2006-04-18 公开(公告)号 CN101204039B 公开(公告)日 2012-05-30
申请人 捷讯研究有限公司; 发明人 肯尼思·沃利斯; 菲拉·比布尔; 肖恩·保罗·泰勒; 布伦杜沙·弗里奇; 卡门·维塔诺夫; 杰夫·罗杰斯;
摘要 提供了一种用于向中介器服务(702)注册无线设备(102)的设备向 服务器 注册系统和方法,所述中介器服务(702)负责允许无线设备(102)与后端服务(108)进行通信。设备向服务器注册系统包括:设备向服务器注册模 块 (700),用于与无线设备(102)的设备管理服务(706)进行通信;以及中介器服务(702)的设备注册模块(704),用于向中介器服务(702)注册无线设备(102)。设备注册模块(704)与设备向服务器注册模块(700)进行通信。该方法包括步骤:与无线设备的设备管理服务进行通信以获得容器应用的状态(802);以及与中介器服务的设备注册模块进行通信以向中介器服务进行注册(804)。
权利要求

1.一种用于向服务器上的中介器服务注册无线设备的设备向服务器注册系统,所述中介器服务负责允许所述无线设备上的应用与后端服务进行通信,所述设备向服务器注册系统包括:
每一个无线设备上的容器应用的设备向服务器注册模,用于从每一个无线设备上的管理服务获得关于中介器服务的配置信息,以便容器应用发起与中介器服务的安全性握手,接收握手成功的确认,并向服务器上的中介器服务提供每一个无线设备上的容器应用的状态信息,容器应用使用获得的配置信息开始注册过程;以及
所述中介器服务上提供的设备注册模块,用于根据来自每一个无线设备的容器应用的状态信息,向中介器服务注册每一个无线设备,并向每一个无线设备的设备向服务器注册模块提供管理信息,所述管理信息用作无线设备和中介器服务之间的系统的操作的上下文,以使每一个无线设备能够与相应的后端服务进行通信;
其中,所述状态信息提供了设备注册模块所需的、各个无线设备的容器应用的相关信息。
2.如权利要求1所述的设备向服务器注册系统,其中所述后端服务是Web服务。
3.如权利要求1所述的设备向服务器注册系统,其中所述后端服务是数据存储库
4.如权利要求1所述的设备向服务器注册系统,其中所述后端服务是企业应用。
5.如权利要求1所述的设备向服务器注册系统,其中所述设备向服务器注册模块包括:
设备管理服务接口模块,用于与无线设备上的设备管理服务进行通信,以获得配置信息;以及
中介器服务接口模块,用于与中介器服务的设备注册模块进行通信。
6.如权利要求1所述的设备向服务器注册系统,还包括安全性服务,用于管理所述中介器服务和无线设备之间的安全通信。
7.如权利要求1所述的设备向服务器注册系统,其中将无线设备上的特定应用注册到特定中介器服务。
8.如权利要求1所述的设备向服务器注册系统,其中所述容器应用是运行时间环境。
9.一种用于向服务器上的中介器服务注册无线设备的设备向服务器注册方法,所述中介器服务负责允许所述无线设备上的应用与后端服务进行通信,所述方法在无线设备上执行,包括步骤:
从无线设备上的管理服务获得关于中介器服务的配置信息;
获得无线设备上的容器应用的状态信息,所述状态信息提供了设备注册模块所需的容器应用的相关信息;
在无线设备上的容器应用的设备向服务器注册模块与中介器服务之间发起安全性握手;
接收握手成功的确认;
与中介器服务的设备注册模块进行通信,以通过提供状态信息,向所述中介器服务进行注册;以及
接收来自中介器服务的、要用作无线设备和中介器服务之间的系统的操作的上下文的管理信息,以使无线设备能够与相应的后端服务进行通信。
10.如权利要求9所述的方法,其中所述容器应用是运行时间环境。

说明书全文

设备向服务器注册的系统及方法

技术领域

[0001] 本发明公开总体涉及向多个设备提供通信的通信系统,具体涉及设备向服务器注册的系统和方法。

背景技术

[0002] 由于无线网络的发展,当前使用的无线设备的数量也持续增多。这些设备包括移动电话、具有无线通信能个人数字助理(PDA),双向传呼机以及类似设备。目前,随着可用无线通信设备的增加,运行在这些设备上的软件应用的用途也提高了。举例来说,无线设备可以包括检索所需城市列表的天气预报的应用或者允许用户购买商品的应用。除了语音通信之外,这些软件应用还利用无线网络传输数据的能力,以为用户提供实时有用的服务。然而,由于设备种类的繁多、一些设备资源的有限以及传送大量数据到设备的复杂性,软件应用的开发仍是困难耗时的任务。
[0003] 目前,将设备配置来通过基于互联网的浏览器和/或本地应用与Web服务进行通信。浏览器具有适合在跨平台的基础上针对多种不同设备进行操作的优点,但具有向Web服务请求页面(HTML中的屏幕定义)的缺点,这妨碍了屏幕上数据的持久性。浏览器的另一个缺点就是屏幕在运行时间上呈现,这会导致资源密集。浏览器的应用是设计平台独立应用的有效工具。相应地,无论平台如何,不同的运行环境执行同样的应用。然而,由于不同的无线设备具备不同的能力和形状因素,可能无法按需执行或显示应用。进一步来说,基于浏览器的应用通常要求充分的传输带宽以高效地执行,这对于一些无线设备来说成本较高或者甚至无法获得。
[0004] 另一方面,针对特定无线设备平台开发了本地应用,从而为该平 台上运行的运行时间环境提供相对优化应用程序。然而,依赖于平台的应用程序会带来一些缺点,包括必须开发同一应用的多种版本并且大小相对较大,因而耗费无线设备存储资源。此外,应用开发者需要具有诸如JAVA和C++等编程语言经验,以构造这样的本地应用。
[0005] 现有的向中介器服务(MS)注册无线设备(WD)的方法一般基于两种途径之一:预先配置中介器或预先配置应用。预先配置中介器服务是指需要用WD的信息预先配置中介器服务的系统,并且中介器发起注册过程。预先配置应用是指在必须用发起注册所需的信息配置WD上的应用或者该信息必须由用户提供的系统。
[0006] 预先配置中介器服务的缺点包括该中介器服务必须被提供与所有设备连接的信息。一个缺点就是中介器服务必须发起注册,但由于无线设备可能关闭、不在覆盖区、没有加载合适的客户端程序或因为任何原因无法访问,中介器服务可能不得不尝试多次。如果设备不具备客户端软件,一旦设备具备客户端程序时,中介服务无法获知如何重试。如果设备具备注册过程的升级版本,由于WD上的存储和处理限制,就需要限制所需的后向兼容代码的量,在这种情况下中介器服务发起注册,设备可能需要一定量的后向兼容支持。而设备发起注册就把这个负担加给MS,MS典型地具有更多的资源来处理该事件。 [0007] 预先配置应用的缺点包括,这可能要求应用定义需要MS的标识信息,或者至少具备相关配置文件。或者,为了切换MS’而改变MS标识的方法需要应用或文件更新。这都将花费信息技术(IT)人员的时间或空中接口(OTA)的无线费用。可选择地,该标识信息可以由用户提供。这样缺少用户友好性,IT人员对设备的控制减少,并会引入用户错误。 发明内容
[0008] 本发明公开提供了一种向中介器服务(MS)认证和注册无线设备(WD)的系统和方法。该中介器服务使WD能够与服务提供商(SP)进行通信。典型的设备向服务器注册过程中具体实现了多种构思。从根本上而言,在系统可以正确并且安全的方式运行之前,所述的WD和MS都需要与彼此有关的一些信息。
[0009] 根据本发明公开的实施例,提供了一种用于向中介器服务注册无线设备的设备向服务器注册系统,所述中介器服务通过负责允许所述无线设备与后端服务进行通信。所述设备向服务器注册系统包括:设备向服务器注册模,用于与所述无线设备的设备管理服务进行通信;以及中介器服务的设备注册模块,用于向所述中介器服务注册无线设备,所述设备注册模块与所述设备向服务器注册模块进行通信。
[0010] 根据本发明公开的另一实施例,提供了一种用于向中介器服务注册无线设备的设备向服务器注册方法。该方法包括步骤:与无线设备的设备管理服务进行通信以获得关于所述中介器服务的信息;以及与所述中介器服务的设备注册模块进行通信以向所述中介器服务进行注册。
[0011] 根据本发明公开的另一实施例,提供了一种存储指令或语句的计算机可读介质,所述指令或语句用于在计算机中执行向中介器服务注册无线设备的设备向服务器注册方法。所述方法包含以下步骤:与无线设备的设备管理服务进行通信以获得关于所述中介器服务的信息;以及与所述中介器服务的设备注册模块进行通信以向所述中介器服务进行注册。
[0012] 根据本发明公开的另一实施例,提供了一种承载有包含计算机可执行指令的信号的传播信号载波,所述计算机可执行指令能够由计算机读取并执行。所述计算机可执行指令用于执行向中介器服务注册无线设备的设备向服务器注册方法。所述方法包括以下步骤:与无线设备的设备管理服务进行通信以获得关于所述中介器服务的信息;以及与所述中介器服务的设备注册模块进行通信以向所述中介器服务进行注册。附图说明
[0013] 本发明公开的实施例仅作为示例并参照下列附图来进行说明: [0014] 图1示出了便利无线组件应用的网络的示例示意图;
[0015] 图2示出了无线组件应用通信模型的示例流程图
[0016] 图3示出了图1中应用网关的示例的详细组件图;
[0017] 图4示出了安全子系统的示例的接口图;
[0018] 图5示出了生命周期子系统的示例的更详细接口图;
[0019] 图6示出了管理子系统的示例的更详细接口图;
[0020] 图7示出了无线组件应用程序的运行时间环境结构的示例的构成图; [0021] 图8示出了根据本发明公开实施例的设备向服务器注册环境的示例构成图; [0022] 图9示出了根据本发明公开实施例的设备向服务器注册系统的示例构成图; [0023] 图10示出了根据设备向服务器注册系统的实施例、通过中介器服务向Web服务服务器注册无线设备的设备向服务器注册方法的示例流程图;
[0024] 图11示出了根据设备向服务器注册系统的实施例、设备向服务器注册方法的更详细的示例流程图;
[0025] 图12示出了在通用缺省中介器服务的情况下上述设备向服务器注册系统的实施的序列图;
[0026] 图13示出了在专用中介器服务的情况下上述设备向服务器注册系统的另一实施的序列图。

具体实施方式

[0027] 本发明公开提供了一种向中介器服务(MS)认证并注册无线设备(WD)的方法和系统。中介器服务使WD能够和服务提供商(SP)进行通信。典型的设备向服务器注册过程中具体实现了多种构思。从根本上而言,在系统可以正确并且安全的方式运行之前,所述的WD和MS都需要与彼此有关的一些信息。
[0028] 有利地,设备向服务器注册系统只需要执行一次和中介器服务的握手。需要通过中介器服务进行访问的单独应用并不需要被配置,也不需要执行自身的握手/注册过程。通过空中接口(OTA)或有线连接,可以在任何时候更新由设备管理服务提供的信息。对于中介器服务,简化了会话管理。此外,本发明公开消除了对关于中介器服务的预先配置信息的需要,这不仅是对于无线设备,也是对于需要通过中介器 服务进行访问的无线设备上的所有应用。
[0029] 将参照如何最优实现和使用实施例的多个示例来说明本发明公开的系统和方法。方便起见,整个说明中和附图中的相同参考数字不用于指示相同或相应的部分,多种元件不一定是按照比例绘制的。
[0030] 提供了一种向中介器服务(MS)认证并注册无线设备(WD)的系统和方法。中介器服务使得WD可以和服务提供商(SP)之间进行通信。典型的设备向服务器注册过程中具体实现了多种构思。从根本上而言,所述的WD和MS都需要与彼此有关的一些信息,以便系统可以正确并且安全的方式运行。
[0031] WD需要关于如下内容的信息:
[0032] ●如何定位MS。
[0033] ●在哪里发送服务相关消息。
[0034] ●服务的设备端组件具备什么管理特权。
[0035] ●如果可应用,针对MS的加密密钥。
[0036] MS需要关于如下内容的信息:
[0037] ●如何定位WD。
[0038] ●什么版本的设备端组件在WD上运行。
[0039] ●WD组件的当前状态。
[0040] ●如果适合,针对WD的加密密钥。
[0041] 参照图1,数字100总体示出了通信基础设施的示例。通信基础设施100包括多个无线设备102、通信网络104,应用网关106以及多个后端服务(或系统)108。 [0042] 无线设备102典型地可为个人数字助理(PDAs),但也可包括其它设备。每一个无线设备102都包括运行时间环境,其能够承接多个组件应用。
[0043] 组件应用包括一个或更多个数据组件、表示组件和/或消息组件,它们是采用结构化定义语言编写的,例如采用可扩展标记语言(XML)代码。组件应用还可包括工作流组件,工作流组件包含采用例如ECMAScript子集编写的指令序列,并且在某些实施中还可以嵌入到XML代码中。因此,由于应用的划分,可以通过提供相应的表示组件来为多个设备编写共用的应用,而不必重写其它组件。此外,典型应 用的大部分责任都被传送到组件应用的运行时间环境。在下面将进一步描述组件应用的细节。
[0044] 无线设备102通过通信网络104与应用网关106进行通信。相应地,通信网络104可包含多个组件,例如无线网络110、中继器112、集体服务器114和/或用于中继无线设备102和应用网关106之间的数据的移动数据服务器(MDS)116。
[0045] 应用网关106包括网关服务器118、供应服务器120和发现服务器122。网关服务器118作为无线设备102上的运行时间环境和后端服务108之间的消息代理。网关服务器118与供应服务器120和发现服务器122均进行通信。网关服务器110还通过适当的链接与多个后端服务108之间进行通信,后端服务108为例如Web服务108a,数据库服务108b,以及其它企业服务108c。举例来说,网关服务器118分别通过简单对象访问协议(SOAP)和Java数据库连接(JDBC)与Web服务108a和数据库服务108b进行通信。其它形式的后端
108及其相应的链接均可以连接到网关服务器118。
[0046] 优选地,初始就向每个无线设备102提供服务簿或IT政策设施,以建立多种协议和设置,包括针对集体服务器114和/或移动数据服务器116的连接性信息。这些参数可以包含应用网关服务器118的统一资源定位符(URL)以及它的加密密钥。可选地,如果初始未向无线设备102提供URL和加密密钥,可以经由移动数据服务器116将URL和加密密钥推送给无线设备102。然后,移动设备102可以经由应用网关服务器118的URL与应用网关106连接。
[0047] 参考图2,示出了无线组件应用通信模型150的示例流程图。从高层度来看,整个无线组件应用基础设施150包括运行在设备102上的无线组件应用运行时间环境(设备RE)和运行在服务器118上的无线组件应用网关(AG)106。
[0048] AG106用作在由RE执行的无线组件应用(在本公开中有时称作应用)和该应用与之通信的一个或更多个后端服务108之间的中介器。通常,预期的后端服务是使用HTTP或HTTPS上SOAP(SOAP over HTTP或HTTPS)作为传输协议的Web服务108a。由于Web服务是最普遍预期的后端服务108,所以在本公开全文中,术语Web服务可与后端服务108互换。然而,要理解,其它类型的后端服务也可以适用于本发明。图2以与后端服务108的同步链接为例。然而,应该理解,AG106可以通过异步链接与后端服务108进行通信。
[0049] 无线组件应用通信模型150基于异步消息收发的范例。在这个模型中,应用网关(AG)106建立设备102和后端服务108之间的连接并作为该连接的中介,从而实现如下效果:
[0050] 4、在资源管理方面达到更大灵活性;
[0051] 5、在设备102和后端服务108之间提供可靠的通信链接,以处理无线覆盖区不稳定时的情况;
[0052] 6、在设备102和AG106之间有效地分配工作负荷。
[0053] 参照附图3,更详细地示出了应用网关106的示例。应用网关服务器118包括三层服务:基本服务层202,应用网关服务层204和应用服务层206。应用网关服务器118进一步包括管理服务208。
[0054] 供应服务器120和发现服务器120分别提供供应服务210和发现服务212。 [0055] 在最低层,基本服务层202向高层的其他组件提供基本的域独立系统服务。因此,举例来说,应用网关服务层204和应用服务层206中的所有子系统可以利用并与基本服务层202的子系统进行协作。在本实施例中,基本服务层202包含公用(utilities)子系统211、安全子系统213、配置子系统214和日志子系统216。
[0056] 应用网关服务层204提供无线组件应用域专用的服务。这些服务提供高效的消息转换和至后端服务108的传递,并且提供无线设备102和组件应用生命周期管理。在本实施例中,应用网关服务层204包含生命周期子系统220、连接器子系统222、消息收发子系统224和转换子系统226。
[0057] 应用服务层206位于构架的项层,使用低层提供的子系统来提供外部程序接口和用户接口。例如,例如服务提供商生命周期应用、打包封装应用和消息监听应用等多种应用提供外部程序接口,这是因为它们主要与外部系统上的应用进行通信。类似地,管理应用通过向用户提供访问并可能修改应用网关数据和/或参数的能力,提供用户接口。 [0058] 管理服务208负责管理系统消息、无线设备102的管理、应用网关子系统的运行时间管理、支持和显示系统诊断、以及供应和发现服务的缺省实施的管理。 [0059] 消息收发监听应用(或消息收发监听器232)提供用于从无线设备102和外部源接收消息并将消息转发至消息收发子系统的接口。进一步地,消息监听应用232典型地认证消息源是有效的。
[0060] 参照附图4,更详细地示出了消息监听应用232示例。该消息监听应用232包含三个监听器:通知监听器302、压缩消息监听器304和移动数据服务确认监听器306。通知监听器302通过通知接口303接收来自于事件源108c的通知和响应消息。也可以增加其它消息监听器接口。
[0061] 在一个实施例中,可以用Web服务(WS)事件发生(Web ServiceEventing)来实现通知接口303。当在如事件源等其他服务和应用中发生事件时,Web服务通常希望接收消息。在现有技术中采用WS订购(Subscription)来提供注册兴趣机制。WS订购定义了用于一个称作订户的Web服务向另一称作事件源的Web服务注册兴趣的协议,该事件源用于接收事件的有关消息,此处称作通知。当事件源通知订户事件时,称作WS事件发生。 [0062] 压缩消息监听器304通过压缩消息接口305接收来自于移动设备102的消息。移动数据服务确认监听器306通过移动数据服务接口307接收并确认来自移动数据服务116的通知。三个监听器302、304和306每一个都通过监听器管理接口309接收来自管理服务208的管理消息。
[0063] 在本实施例中,监听器接口303、305、307和309都是采用超文本传输协议/安全套接字层上的超文本传输协议(HTTP/HTTPS)来配置的。然而,这些协议作为设计选择,当需要时可以使用其它协议。相应地,外部系统发送HTTP/HTTPS请求,HTTP/HTTPS请求由恰当的监听器接收。该监听器获取该消息,进行最少转换,并将其转发到消息收发子系统224。该转换包括将HTTP报头信息复制到消息对象字段。例如,HTTP报头信息可以标识该消息起源的移动数据服务116和无线设备102。
[0064] 如前所述,消息监听应用认证消息源是有效的,消息源可以是移动数据服务116、无线设备102或事件源108,。
[0065] 此外,如果需要可靠的消息收发,就要确保服务可用性,并且监听器要处理针对可用性攻击的解决方案。为了便于进行,消息收发子系统定义了在给定时间段上来自任何后端服务108、组件应用或无线设备的消息和连接的最大数目的阈值。管理员可以根据需要修改这个阈值,并通过管理服务208允许特定的异常。
[0066] 此外,由于可能发生消息截获和重放攻击,监听器采用识别重放消息的机制来检测并禁止该攻击。这些机制典型包括不重性(nonce)的使用。不重性定义为随时间而变化的参数。不重性可以是旨在限制或阻止未授权重放或再现消息的时戳或其他特殊标记。因为不重性随着时间改变,所以它可以用于确定消息是否是原始的,还是原始消息的重放或再现。使用不重性来阻止截获和重放攻击是本领域熟知的,在这里就不进行详细叙述,这是因为采用标准的实施方式。
[0067] 此外,除了时戳技术之外或取代时戳技术,其它的技术,例如序列化,也能用来阻止应用消息的重放。同样,这样的技术也是本领域熟知的,在这里就不进行详细叙述,这是因为采用标准的实施方式。
[0068] 参照图5,详细地示出了生命周期子系统220的示例。该生命周期子系统包含生命周期服务402和设备仓库404。
[0069] 生命周期服务402处理涉及无线设备104、运行时间环境生命周期和组件应用生命周期的设备发起消息。例如,这些消息可以涉及无线设备注册或挂起、无线设备交换、无线设备可用性、组件应用安装、升级或删除、以及运行时间环境升级。通过设备系统消息处理接口403将这些消息通信至连接器子系统222或从其通信来。
[0070] 生命周期服务402还利用多种过滤器来提供查询无线设备和组件应用的能力。为了方便这个特征,生命周期服务402通过设备信息查询/更新接口405与消息子系统224和管理子系统208进行通信。在本实施例中,使用Java应用程序接口(API)集合来实现设备信息查询/更新接口405以查询和更新设备信息。典型的接口包括那些用于管理无线设备的安全和客户管理政策的接口。
[0071] 生命周期子系统220管理设备仓库404中向应用网关106注册的 每一个无线设备104的安全性简档。每个安全性简档包括每个设备的安全对称密钥。该密钥用于无线设备104和应用网关106之间的安全通信。
[0072] 客户管理政策包括获取无线设备的状态、查找满足特定可修改准则的组件应用、以及查找满足特定可修改准则的设备。例如,可能希望确定哪个组件应用安装在所有的无线设备上或者哪些无线设备安装了特定组件应用。
[0073] 然而进一步地,提供生命周期管理接口407以使管理子系统408方便地管理生命周期子系统402和设备仓库404。例如,该管理子系统可以指示组件应用新版本的可用性或运行时间环境。
[0074] 相应地,生命周期服务402管理已分配的多个无线设备102中每一个的状态,包括存储在其中的运行时间环境和组件应用。例如运行时间环境、组件应用状态和无线设备安全性设置等信息都存储在设备仓库404中。例如,安全性设置可包括,客户管理政策和无线设备的加密密钥。
[0075] 应用网关服务器118也允许使用第三方生命周期组件,也称作生命周期服务提供商,其典型地位于应用网关106的外部。为了方便生命周期服务提供商,在应用服务层提供生命周期服务提供商监听器。生命周期服务提供商监听器负责接收对来自生命周期服务提供商的所有生命周期系统消息的通知并且将其传输到管理子系统208用于处理。此外,生命周期服务提供商可以访问管理服务以配置应用网关服务器118或发送系统消息。 [0076] 管理子系统208管理系统消息、系统设备、应用网关子系统、系统诊断以及供应和发现服务的缺省实施。参照图6,示出了管理子系统208的示例详图。管理子系统208包括管理服务502、管理控制台504和管理应用506。管理应用506包括Java管理扩展应用(JMX)508和Web服务应用510。
[0077] 浏览器接口505将管理员与管理员控制台502连接,以管理应用网关106。管理员接口503将管理服务502与消息收发子系统224连接,以传递管理系统消息。管理应用506通过合适的接口连接到各自的第三方管理应用。例如,JMX应用508通过JMX接口509连接, Web服务应用510通过Web服务接口511连接。
[0078] 管理服务502处理组件应用程序和由管理员或生命周期服务提供商通过生命周期管理接口发起的运行时间环境事件。这些事件的示例包括使用推送供应来安装组件应用、刷新加密密钥、升级组件应用或运行时间组件、移除组件应用、隔离检疫组件应用和从隔离检疫区中除组件应用、应用组件应用清理脚本、查询状态更新的运行时间环境、以及更新客户管理政策。
[0079] 管理服务502也负责管理无线设备104。相应地,管理服务502能响应无线设备注册系统消息并保持无线设备设置,例如安全性密钥、移动数据服务URL、运行时间版本和状态。管理服务502还支持根据预先定义的过滤器特性来列举设备的能力,例如通过向设备查询组件应用和运行时间环境设置并查询特定设备上的组件应用。
[0080] 管理服务502也向管理员提供访问应用网关子系统运行时间信息和设置的能力(如果可用,对于每个集群节点),并执行系统相关的任务。这些任务包括查看消息子系统224的运行时间信息(包括每个无线设备12和每个组件应用的消息信息、以及队列中消息的数目)、和特定类型的集合对象的数目的快照。管理员能够修改在运行时间的特定设置,也能够删除或者重新调度过期消息。
[0081] 由管理服务502提供的其它信息和设置包括下面这些。应用网关子系统参数是可修改的。因此,例如,管理员可启用或禁用运行时间的多种特征。数据库设置可以是针对集中式应用网关数据库而配置的。该数据库可包含所有子系统仓库。应用网关URL可配置成可被外部系统访问。例如,可以给管理应用程序506分配URL以允许被第三方访问。此外URL也能分配给封装应用以允许被供应服务访问。
[0082] 管理服务502也可以存储发现服务证书、服务提供商证书、移动数据服务参数和安全性参数。发现服务证书可可用于在收到组件应用是可用的通知消息时对发现服务进行认证。类似地,服务提供商证书(包括它的URL),可用于在收到组件应用或运行时间环境生命周期消息时认证服务提供商。移动数据服务参数可以用于将管理员连接到移动数据服务,并包含它的IP地址、用户标识和口令。应用网关安全性参数和设置,例如应用网关的公钥、私钥和密钥刷新政策,都用于 对应用网关和外部应用之间的通信进行加密。 [0083] 管理服务502也可用于注册其它子系统,例如顾客连接器和生命周期监听器等等。
[0084] 如果需要,Web服务应用510利用Web服务,以将服务提供商发起的系统消息定向到管理服务502用于处理并传递到设备。
[0085] 类似地,如果需要,JMX应用508将服务提供商发起的系统消息定向到管理服务502用于处理并传递到设备。但是,JMX接口509是任何管理系统销售商都可以影响的开放接口。管理基础设施基于JMX技术,JMX技术是用于系统管理和监控的开放技术。每个管理系统实现Mbeans对象集合,以便成为可配置的。根据JMX规范,这些对象必须向运行在对象处理空间的MbeanServer注册。
[0086] 由于应用网关106可能运行于分布式的环境,即一些子系统可以运行在不同的应用服务器上,所以每个应用服务器需要自己实现MbeanServer。此外,需要使用由相应的应用服务器提供的分离的管理控制台、或使用知道如何访问由MbeanServer提供的功能的第三方控制台,来配置每个子系统。
[0087] 运行时间环境框架容器是客户驻留容器,在该容器中,在设备上执行应用。该容器管理设备上的应用生命周期(供应、执行、删除等)并负责将表示应用的元数据(XML)翻译成在设备上可有效执行的形式。该容器为应用提供服务集合,也为可选的JavaScript提供支持。这些服务包括支持UI控制、数据持久性和异步客户-服务器消息收发,等等。 [0088] 图7示出了运行时间环境框架600的示例。运行时间环境框架600包括应用服务模块602、管理模块604、供应和生命周期管理(PLM)服务模块606、消息收发模块608、以及基本服务模块610。可以从运行时间环境框架600移除或向其增加组件。运行时间环境框架600与无线组件应用守护进程612进行通信。
[0089] 应用服务模块602包括用于提供当前运行应用和用户之间的接口的屏幕服务614、用于提供应用的执行环境的解译服务616、用于处理并中介与应用元数据的相关访问的元数据服务618、和允许应用访问设备102上的其他应用的访问服务620。 [0090] 管理模块604包括控制中心622,用于处理无线组件应用运行时间环境框架600的用户接口,处理用户和无线组件应用运行时间环境框架600之间的交互,并将无线组件应用运行时间环境框架600与网络系统100集成。
[0091] PLM服务模块606包括用于协调RE容器升级、备份/恢复过程并实施RE框架600的缺省错误处理机制的RE容器624、用于在应用库中定位应用的发现服务模块626、用于应用供应(包括应用下载、安装和升级)的供应服务628、和用于注册应用、保持应用的信息并管理应用的生命周期服务630。
[0092] 消息收发模块608包括消息收发模块632,用于消息排队、消息(解)压缩、和消息分发。
[0093] 基本服务模块610包括持久性服务634,用于存储RE简档(包括它的版本、目录、客户管理政策、应用管理政策、安全性密钥、可用的升级等等),存储应用简档(包括它的版本、元数据、应用持久性数据组件、应用可持久全局数据和应用资源、可用的升级等等),并且存储可靠消息(包括由于在覆盖区之外而等待传递的输出消息、以及等待处理的输入可靠消息)。基本服务模块610还包括安全性服务636,用于限制对RE服务的访问,提供消息认证、完整性和加密。基本服务模块610还包括通信服务638,用于发送消息到设备102和接收来自于设备102的消息、从适当的库中下载资源和文件、并把无线覆盖事件通知给相关RE服务。
[0094] 无线组件应用守护进程模块612包括守护进程640,用于在发生致命异常导致无线组件应用进程停止时对其重新启动。
[0095] 图8示出了根据本发明公开实施例的设备向服务器注册环境700的示例构成图。设备向服务器注册环境包括无线设备(WD)102、用于将WD102与后端服务108联系的中介器服务(MS)702。后台服务可以为一个Web服务、数据库、企业应用程序或任何其它类型信息或功能提供服务。无线设备102包括设备管理服务706、和用于向中介器服务702注册WD102的设备向服务器注册模块751。优选地,设备向服务器注册模块751在容器应用中实现。中介器服务702包括用于向中介器服务702注册WD102的设备注册模块704。设备向服务器 注册模块751和设备注册模块704可视为设备向服务器注册系统750。 [0096] 注册过程在WD102和MS702之间进行。优选地,后端服务108并不知道WD102,也就是说,WD102向MS702进行注册,在一个示例中,MS702可以为应用网关106。优选地,中介器服务702在应用网关106中实现,并且中介器服务702在应用网关服务器118中实现。 [0097] 图9示出了根据本发明公开实施例的设备向服务器注册模块751的示例构成图。
设备向服务器注册模块751包括用于与设备管理服务706进行通信的管理接口模块752、与设备注册模块704进行通信的中介器服务接口模块754。其它组件也可添加到设备向服务器注册模块751,包括安全性服务层。设备向服务器注册模块751使用安全性服务来生成WD安全性密钥(如果需要)并处理使注册过程开始的同步安全性握手。安全性服务接收到作为握手响应中一部分的MS安全性密钥(如果需要)并将其提供给其余的运行时间环境。 [0098] 通过与管理服务接口模块752进行通信,设备管理器在任何时候通过空中接口(OTA)或有线方式,提供配置信息给WD。WD102的中心容器应用(持有设备向服务器注册模块751)获取该信息并发起同MS702的安全握手,并可能交换安全性密钥(这是否进行依赖于MS设置)。优选地,此时只发送安全性密钥以便将其用于加密任何其他消息。当MS702发出握手成功的响应时,中心容器应用发送用于提供中心容器应用目前状态的所需相关消息的状态消息。一旦MS702接收到该消息,就发送管理信息给中心容器应用程序,以用作中心容器应用和该特定MS702之间的系统的操作的上下文。此时,注册过程就完成了。 [0099] 有利地,WD102上的中心容器应用向MS702注册。采用这种方式,中心容器应用仅仅需要同MS702执行一次握手。需要通过MS702访问的单独应用不需要被配置并且也不需要执行它们自身的握手/注册过程。
[0100] 设备向服务器注册系统750的另一个优点就是执行注册所需要的信息由设备管理员提供而不是由用户提供。因此,MS702没有该WD102的任何初始信息。在设备配置时由管理器提供这些信息,设备向服务器注册系统750获取该信息并发起注册。 [0101] 设备向服务器注册系统750的另一个优点就是可以在任何时候通过空中接口(OTA)或有线连接更新由管理员提供的信息。容器应用被自动通知信息可能已经改变。如果需要,该容器接着可以执行另一个注册过程。这就导致向容器应用注册不同的MS,或者将该容器应用连接到同一MS702的不同通信端口。
[0102] 容器应用的另一个优点就是具备管理设备上的所有程序并负责注册过程的中心容器应用,简化了与MS702的会话管理。MS管理员可以针对不适合逐个应用地使用的系统管理功能,从整体上管理会话/WD。此外,该注册过程去除了对MS702上的预先配置信息的需要,这不仅是对于WD102,也是对于WD102上所有需要通过MS702访问的应用程序而言的。 [0103] 图10示出了根据设备向服务器注册系统750的实施例,向中介器服务702注册WD102的设备向服务器注册方法(800)的示例流程图。该方法(800)包括与设备管理模块706进行通信以获得容器应用的状态信息的步骤(802),以及同设备注册模块704进行通信的步骤(804)。
[0104] 图11示出了根据设备向服务器注册系统750的实施例、设备向服务器注册方法(850)的更详细的示例流程图。通信步骤(802)包括获得关于MS702的配置信息的步骤(852)。与设备注册模块704通信的步骤(804)包括步骤:发起同MS704的安全性握手(854);接收握手成功的确认(856);发送关于WD的状态的信息给MS(858);并且接收来自MS的管理信息,以用作WD(和容器应用)和MS之间的系统的操作的上下文(860)。其它步骤也可添加到该方法(850)中。来自MS的管理信息还可包括用作容器应用和WD自身之间的操作的上下文的信息,以及与单独的应用和WD自身之间操作相关的信息。 [0105] 有利地,可以通过空中接口(OTA)在任何时候发起WD102向MS702注册的过程。这就意味着系统管理员(SA)可以不必访问WD102就发起注册过程。该发起过程使得SA具备改变WD102注册的哪个MS702或完全地撤销注册WD102(即禁用WD上的服务)的功能。 [0106] 图12示出了在通用缺省MS702的情况下,上述设备向服务器注册系统750的实施方式900图示。该实施方式900示出了用于将配置 信息902提供给WD102的容器应用或设备向服务器注册模块751的管理服务622。该信息可存储于WD102的内部配置存储器904。优选地,这些配置信息可以是用于提供WD信息的一些外部设施的一部分,并且该外部设施可存储在设备中成为其自身正常的功能。当向容器应用通知该信息已经到达,容器应用获取该信息,使用该信息来开始注册过程,并将其存储在内部以在发生意外错误时重新开始注册过程,从而比较新的配置信息以确定是否要开始新的注册过程,或对于整个系统功能所需的任何其它动作。设备向服务器注册模块751发起同MS702的设备注册模块704的握手和密钥交换。WD102的标识信息存储于设备注册模块704中。如果握手成功,WD102的状态信息就会从设备向服务器注册模块751发送到设备注册模块704,在此使用该信息来更新MS702中的WD102状态信息。从设备注册模块704将管理信息发送到设备向服务器注册模块751。
[0107] WD102上的特定应用可以和专用于这个特定应用的分离的MS702进行通信,而不是注册有容器应用(或设备向服务器注册模块751)的缺省MS。在这种情况下使用缩略的注册过程。不使用WD102整体上接收到的配置信息,这是因为该信息并不是专用MS702的地址信息。优选地,用于定址和连接到专用MS的信息处于配置描述符中,配置描述符是描述容器应用中容纳的特定应用的信息绑(bundle),用于在WD102上安装该应用。该信息可以其它的方式获取或访问到。
[0108] 一旦安装了应用,容器应用(或者设备向服务器注册模块751)就通知该应用希望使用专用MS702,因此,容器应用发起与主要的注册过程相同的安全性握手过程,但是不与专用MS702握手。与缺省MS702注册过程相反,这是在专用MS情况下全部所需要的。有利地,特定应用与其专用MS702的操作不需要设备状态和管理信息。优选地,容器应用751使用配置描述符中提供的专用MS702地址,并使用由与专用MS702的握手而产生的安全性密钥,通过专用MS702重新路由至SP的针对该应用的任何消息。
[0109] 图13示出了在专用MS702情况下,上述设备向服务器注册系统750的另一种实施方式950的图示。实施方式950示出了用于将应用信息954(或者发现的配置描述符)提供给WD102的容器应用或设备 向服务器注册模块751的应用库952。应用信息902包括与MS702相关的信息。设备向服务器注册模块751发起与MS702的设备注册模块704的握手和密钥交换。WD102的身份标识信息记录在设备注册模块704中。
[0110] 根据本发明公开的系统和方法可以由具备上述功能的任何硬件、软件或硬件与软件的组合来实现。软件代码,无论是整体或是其中部分,均可存储于计算机可读存储器中。此外,可以通过通信网络传输表示软件代码的并可以嵌入在载波中的计算机数据信号。这样的计算机可读存储器和计算机数据信号以及硬件、软件以及硬件和软件的组合都在本发明公开的范围之内。
[0111] 示出并显示了本发明公开的特定实施例,但在在不背离本发明公开的真实范围的前提下,可以对这些实施例进行改变或修改。
QQ群二维码
意见反馈