专利名称:移动电话应用平台的制作方法
背景技术:
1.发明领域本发明涉及一种给移动手持设备提供信息服务的系统和方法。更具体地说,本发明涉及一种能提供服务给具有有限的或不同的板载资源的移动电话的系统和方法。
2.背景信息的讨论存在增强提供给移动手机的信息服务的需要。信息服务是不同于点到点电话(语音)服务的服务,并且包括例如新闻、股票价格或者其他信息的接收、对游戏或者其他娱乐内容的访问以及计算能力如电子表格处理。移动手持设备系统如蜂窝电话网可能具有不同型号的手持设备,这些手持设备各自具有不同的板载存储器和板载处理能力。期望为用户提供不同水平的服务选项,包括需要相对较高处理和存储资源的选项,即使用户手持设备的性能可以变化。
发明概述根据本发明的一个实施例,在通信网络中提供了一个应用平台(AP)。该应用平台可以和移动手持设备通信。手持设备可利用AP的存储器和处理资源。
在AP上的用户存储管理器(USM)和手持设备的本地资源管理器协作管理将AP资源存储空间分配用于特定用户(和用户的关联手持设备)。USM进程在AP服务器端执行。USM从本地资源管理器接收用户特定的存储请求。USM为特定(移动)用户分配AP存储空间并且通知本地资源管理器。USM处理来自本地资源管理器的读写请求并且从用户特定的存储空间读取数据或向其写入数据。用户特定的存储空间被用于存储状态数据,也就是依赖于特定用户和相关服务的数据。USM还检验用户继续访问的权限和空间权限。
根据本发明的另一个实施例,提供一种公共存储管理器(CSM)。CSM维护可以被全部用户访问的无状态数据的存储空间。此公共数据可以是在手持设备中结合特定服务一起执行的“代码”。它也可以包括随用户不同而不同的“联系”部分。CSM从本地资源管理器接收“读”请求,并检验继续访问的权限。
根据本发明的另一个实施例,AP上设有处理管理器(PM)。PM处理各个用户的执行时计算资源分配。PM管理来自本地资源管理器的计算或者服务请求。根据请求类型、用户设备类型和用户类型(例如基本或有奖预订),PM可以在服务器上分配适当的计算资源。计算资源通常包括确定AP服务器上分配的“CPU”和“RAM”使用的进程。查表或算法判决或二者的组合至少部分确定适当的处理。资源分配至少可以部分地通过选择从AP下载到手持设备的多个可执行代码版本之一来确定。
根据本发明的另一个实施例,在移动手持设备上设有引导处理器。引导处理器(BS)控制手持设备的启动并开始信息服务。BS发送注册请求到AP服务器端并且在服务器上注册用户。作为响应,AP上的处理管理器使适当的本地资源管理器和适当的用户界面管理器可用。该本地资源管理器发送到设备并且主要在设备上执行。本地资源管理器和用户界面管理器可具有专用于特定用户的状态,例如手持设备可用服务等级的有关状态信息。用户界面管理器(UIM)是一个在AP服务器端执行的进程,它确定分配给特定用户的本地资源管理器的AP CPU和RAM量。这样完成BP的注册进程并使设备可以使用AP服务器计算能力(CPU)和存储器(RAM)。
根据本发明的另一个实施例,在手持设备上设有本地资源管理器(LRM)。LRM分配移动设备上的所有资源并且与AP上的用户存储管理器、公共存储管理器和处理器管理器协作。LRM发送对用户特定存储空间的请求到用户存储管理器。LRM发送读写请求到AP,以便读取和写入用户特定数据。LRM还发送对公共数据的读请求到AP公共数据管理器。LRM发送服务请求到AP PM,这导致在服务器端分配CPU和RAM。LRM与用户界面管理器交互,以便向用户呈示适当的用户界面元素。LRM还可以调用用于显示多语言数据的多语言处理器。
通过审阅本公开和附图可以查明本发明的其他示范实施例和优点。
附图简述以下参考多个说明本发明的一些实施例的非限制性示例的加注解的附图来对本发明作进一步的描述,附图中同样的标记表示附图中几个视图中的同样元素,其中
图1是一个提供一个拥有应用平台的通信系统的实施例概观的示意图;图2是一个应用平台的示意图;图3是一个显示继用户注册后的某些特征的应用平台的示意图;图4是一个显示与服务选择相关的某些特征的应用平台的示意图;图5是一个发现应用服务器的示意图;图6是一个蜂窝电话用户界面的图解;图7是一个蜂窝电话的存储器映射图;图8是一个说明引导程序的流程图;图9是一个说明服务器端菜单推送到客户的流程图;图10是一个说明客户端服务请求的流程图;图11是一个说明服务器端代码和数据推送到客户的流程图;图12是一个说明客户端多语言显示进程的流程图;图13是一个说明客户溢出代码和数据的服务器端存储的流程图;图14是一个说明客户进程的服务器端计算的流程图。
示范实施例的详述这里显示的细节是示范性的,仅仅用于本发明实施例的说明性讨论,之所以呈示这些细节,是为了提供据信是对本发明的原理和概念方面最有用且最易理解的描述的内容。就此而言,未尝试以比从根本上理解本发明所必需的更详细的方式来描述本发明的结构细节,结合附图理解本说明书,本领域技术人员会明白可用以实施本发明的若干形式。
图1图示了一个通信系统。其组成包括一个信道100和多个用户105。信道100可以为码分多址(CDMA)1xRT(无线)系统。每个用户105有一个移动通信设备110,如蜂窝电话、个人数字助理(PDA)或其他能够通过信道100进行通信的设备。
一个应用平台(AP)115通过信道100与用户设备110进行通信。传输的某些形式,例如数据120,可以通过基站控制器(BSC)125和数据网络从用户传输到AP 115。其他数据形式,例如短消息服务(SMS)145或者语音通信135可以通过SMS网关140从用户105传输到AP 115。
一个分组数据服务节点(PDSN)130建立、维持并且终止到移动设备110的链路层,优选的是在网络层上。PDSN 130还启动认证、授权和计费(AAA)150。一旦业务得到授权,PDSN 150便在IP网络上将其路由到一个可感知应用协议的网关155,网关155接着将业务路由到AP 115。PDSN150还可以为计费目的收集使用数据。
AP 115还链接到外部服务提供者160和其他内容资源,如因特网165。和AP 115相关联的操作支持系统/商业支持系统(OSS/BSS)计费引擎170维护信道上所提供的服务的帐户。
在通常操作中,用户设备110通过信道100向AP 115传送,并且反之亦然。用户设备110可响应人类操作者105的操作而启动到AP 115的通信。用户设备110内的某些进程可以不需操作者启动便可启动通信。AP 115还可以启动到手持设备110的通信。AP可用作网关,通过它用户105可以访问来自外部服务提供者160或者其他内容资源如因特网165的信息服务。
图2显示了图示了一个AP 205和来自图1的其他代表性要素。AP 205包括一个服务选择网关(SSG)210、一个发现应用服务器(DA服务器)215、一个下载服务器220、多个框架组件(如应用框架组件225、内容框架组件230和消息传送框架组件235)以及应用服务器。它也拥有到用于客户管理、计费和其他系统管理活动的各种智能商业系统(IBS)(例如OSS/BSS 240)组件的接口。
启动之后,大部分从用户设备250到AP 205的通信是启动、使用或者终止一个信息服务。SSG 210充当一个“允许”或者“拒绝”服务请求的点。SSG 210通过参考中央存储库260内的有关用户的信息,可以确定一个特定用户255是否可以访问所请求的服务。中央存储库260是一个包含所有AP公共参数连同应用特定参数的数据库。如果信息服务的主机是AP,则SSG 210可以检查保持在中央存储库260的订户配置文件。如果服务的主机在外部,则SSG 210也可以和外部主机265通信。AP 205的各单元将维护AP公共参数。不同的应用维护应用偏好。应用可以是用户可用的任何服务,并且应用偏好可以是任何与之相关的参数。例如,用户在他/她首先得到一台设备时,通常会选择一组服务。初始选择的服务及可以获得所述服务的位置的标识可以存储于中央存储库260中。一旦授权一个服务请求,则SSG 210便会从用户将服务相关通信路由到服务接口。
SSG 210还处理移动客户应用和相关服务组件的交互并最终触发数据服务的终止。(移动客户应用可以是为特定服务推送到手持设备的应用特定进程,如软件,而服务组件为常驻于AP或外部主机中的应用特定进程。)一旦“获得允许”,服务请求便传送到AP框架(如225、230、235)或外部内容提供者265。AP框架是一个以AP为主机的服务,例如电子邮件270或者AP提供的多媒体内容分发服务280。一旦SSG 210已经识别并授权了一个请求,就将其导向信息娱乐节目(如通过多媒体框架组件280)、信息传送(如通过电子邮件框架组件270)、事务处理(如通过客户应用框架组件275)、Web基础结构和其他服务组件。一个公共存储库(图5中的520)利于不同系统之间的通信。
图3说明继用户注册后AP对移动设备进行配置例如下载不同于常驻于移动设备存储器中的增强功能。当用户设备345激活(例如在首次使用或者在开机之后)时,它具有存储在永久存储器中的有限功能。用户设备345发送会话发起请求到AP。该发起请求被路由到DA服务器305。DA服务器305通过检查中央存储库310来检验该服务是否可为用户所利用,并以可用用户服务列表响应该会话发起。
通常,注册进程从AP注册315开始。从那里,服务管理器320检查IBS注册325。一旦服务管理器320执行IBS确认330,DA服务器305促使管理服务器335强制传递服务器340清空用户设备高速缓存。用户设备345请求一个菜单,该菜单使用校验和机制触发升级355。用户设备345可从下载服务器中下载一个midlet(如JAR,JAD文件),或者可以直接从通过因特网365连接的企业服务器360下载该midlet。
图4是一个描述和服务选择相关的某些特征的应用平台示意图。驻留在AP 405中的服务选择网关(SSG)410首先通过请求设备ID(如MSID)来识别415用户设备。在经由PDSN 425进行认证、授权和计费(AAA)420之后,SSG 410进而430通过轻型目录访问协议(LDAP)从客户关系管理器(CRM)445获取用户信息。SSG 410还通过LDAP接收440服务选择信息,以确定用户可用的服务。
服务部分按用户分组进行分组。例如,一个特殊组的所有用户可以访问考勤单(time sheet)应用。另一组用户可以访问销售人员自动服务和计费应用服务。特殊组的所有用户的服务包被激活,这允许DA服务器下载定制菜单到用户手持设备等上。
发现应用管理服务器(图3的335)根据订户预订的组、语言偏好和在用设备类型为特定移动设备生成服务组。也就是说,DA管理服务器选择要下载到用户手持设备的客户进程(软件)包。这些组考虑了设备客户应用的位置(假设此特定服务需要设备应用)和设备的任何语言特定的特征。AP将此类别传送给设备以便显示给用户。设备客户应用的位置指的是可以检索到设备客户应用和相关组件的位置,这样,便可以将它们发送回显式地请求它们的移动设备。DA管理服务器从中央存储库中得到位置信息,中央存储库包括允许提取有关预订详情的全部应用平台公共参数,如订户信息、服务信息和服务包信息。
图5显示了DA。DA菜单服务器505根据从用户配置文件存储装置525检索到的用户相关服务包为用户设备准备并提供菜单。DA服务器结构包括DA管理服务器和DA菜单服务器505。优选的是,DA服务器尽可能多地进行高速缓存,以便优化服务响应时间,同时避免高速缓存重复性材料。
DA服务器可将用于对应服务的附加的可执行应用客户程序下载用户。一旦使某个服务可为用户所利用,则DA服务器可以潜在地将一个移动客户版本“推送”到电话。如果客户程序不在移动设备上,则可将移动客户应用推送到移动设备。DA服务器还可以推送个移动应用客户程序的更新版本。
如果用户设备没有足够的存储空间用于存储新请求的应用服务,则用户设备将最近使用最少的代码或者数据上载到发现应用备份服务器510以便存储。作为非限制性示例,假设一个用户拥有用于五个服务的一个客户应用,请求第六个,但缺少可利用的手持设备存储空间。还假设用户在先前的24小时内已经使用了五个资源中的四个,但在数日之内没有使用第五个。本地资源管理器将把第五服务的客户的状态上载到AP,并覆盖它的应用客户程序。当用户下一次请求第五服务时,他的设备将与持久性管理器515合作,以下载客户程序并在他的设备中恢复该服务的状态。
因此,DA服务器将控制对需要将应用推送到移动设备的服务的所有OTA(无线))下载启动。一旦选定期望的客户应用,则与所请求的服务相关联的客户应用会从下载服务器无线下载到移动设备。当成功下载时,移动客户应用准备好供使用。
图6显示了一个用户设备605的用户界面。用户设备605包括一个能显示服务菜单的屏幕和一个能够输入信息的键盘。
图7是用户设备的存储器映射图。和用户设备的本地应用705(如用于提供蜂窝语音通信的应用)一起的是一个引导进程存储器部分710(引导程序扩展)、多语言存储器部分715(多语言扩展)以及其他扩展720(如用户界面、联网等)。本地资源管理器和客户应用也驻留在这些区域中。还包括用于存储如下信息的存储器部分MDP配置文件、Java2 Micro EditionCLDC、kVM(kJava虚拟机)、用户界面任务、MC任务、HS任务、DS任务、PS任务、REX(操作系统)以及用于将各种进程和存储器部分绑定在一起的native glue(本地胶联逻辑)。
图8是说明用户设备引导程序的流程图。kJava虚拟机在设备启动时激活。用户设备系统接着检查扩展的发现应用(eDA)是否驻留在用户设备中。eDA是一组允许用户设备与AP通信、下载菜单服务客户应用、多语言扩展、状态数据和其池扩展的进程。如果缺少eDA,则系统向DA服务器发送用户设备识别请求。如果服务器接受这个请求,则它将eDA代码(例如可执行代码)和用户特定数据(例如参数)推送到用户设备。然而,在这样做之前,系统检查用户设备是否拥有足够的存储空间用于存储代码和数据,如果存储空间不够,则将最近使用最少的代码上载到DA下载管理器和/或将最近使用最少的数据上载到用户存储管理器。一旦用户设备成功地存储了eDA代码和数据,则启动了eDA,并且系统检查设备的注册是否有效。如果注册无效,则用户设备将包含用户和设备标识的请求转发给服务器。服务器确认用户设备请求(如果有效)并且将可用服务更新推送到用户设备,必要时上载用户设备存储器溢出来存储。一旦用户设配备了激活的eDA并且其注册是有效的,则它显示用户适当的用户界面特征、文本、图形和多媒体选项等。用户设备随后准备好从用户接收服务请求。
图9是一个说明向客户推送服务器端菜单的流程图。当服务器成功地确认了用户设备注册时(参见图8),用户设备中的eDA发送格式化的请求到DA传送服务器上。服务器从输入的请求中提取设备信息、订户信息、时间戳、语言信息以及版本参数,并检索相关的预订信息(如包信息)。服务器如下参与三步AAA确认首先,服务器检查设备识别是否成功;第二,验证订户识别和认证;第三,就有效性检查时间戳和版本。如果三项确认中任何一项没有通过,则服务器发送错误响应给用户设备。如果所有这三项确认全部通过,则服务器根据从输入的eDA请求中提取的信息,从公共存储库(图5中的520)中检出一个给用户设备的预先生成的n级菜单。服务器将这个菜单推送到等待用户菜单选择的用户设备eDA客户程序。
图10是一个说明客户端服务请求的流程图。当用户在用户设备上选择了一项服务(如服务“A”)时,流程开始。驻留在用户设备上的本地资源管理器收到此请求。如果服务A的代码和数据不在用户设备上,则设备发送服务请求到DA服务器。DA服务器在接收到请求时,发送适当的代码和数据到用户设备,如果需要的话,上载用户设备代码和数据存储器溢出到DA备份服务器。(下面参考图11进一步说明接收和处理对代码和数据的客户请求的服务器处理进程。)一旦用户设备获得了适当的代码和数据,它就确定是否需要服务器端处理来执行服务A。如果用户设备能够执行服务A的代码,它便这样做,并将控制移交给服务A代码。如果用户设备没有足够的资源来运行服务A代码,它就发送服务器处理器分配请求到服务器(如下参照图14详述)。服务器处理器管理器处理这个请求并在服务器上远程执行服务A的代码,为用户设备提供任何需要的结果。在用户设备和RA之间的处理器和存储器分配可以在应用客户和RA之间进行协商。或者,它可以是选定的用于下载的客户应用版本中固有的。例如,RA可以将应用客户的一个版本到处理能力相对较低的设备,而RA也可以将同一应用客户的不同版本推送到另一个能力更强的设备。
图11是一个说明向客户(即用户设备)推送服务器端代码和数据的流程图。当客户需要用于特定服务的代码和数据时,它就发送请求到驻留在SSG上的服务选择控制器(SSC)组件(参见图2)。SSC从输入请求中提取设备信息、订户信息、语言、服务信息、服务类型信息(例如允许的服务包)以及版本参数。SSC从存储库中检索与提取的信息相关的预订信息并将其转发给访问权限管理器。该服务器接着进行三步AAA确认,如以上参照图9所述那样。通过AAA确认之后,服务器将服务细节转发到下载服务器控制器,由该控制器使用用户帐户管理器和存储管理器形成包含对应服务代码和数据的响应。SSG接着通过SSG将此响应传播到客户,并等待其他客户请求。
图12是一个说明客户端多语言显示进程的流程图。每个客户能够显示至少一种语言的至少一种字体。它可以包含多语言字体能力,其中一种被指定为默认的。为了显示以不同语言接收的文本,客户首先将待显示的文本解析成数据块,使得每块数据属于一种语言。以允许语言识别的统一代码(Unicode)传送文本。客户随后由这些块形成一个队列,将这样的第一块标记为“ddata”并且将其对应的语言标记为“Lang”,然后确定Lang是否为默认语言。如果是这样,则客户继续显示该块并将该块从队列中删除。如果默认显示语言与所考虑的块不兼容,则处理进程检查相关的显示代码在用户设备上是否可用,如果是则选择它,显示该块并将该块从队列中删除。如果用户设备没有所需的可用显示代码,则它向AP发送请求,下载并执行适当的显示代码,显示所考虑的块,并且从队列中删除该块。在每个块都被从队列中删除之后,处理进程将队列中的下一个块(如果有的话)标记为“ddata”,并且将其对应的语言标记为“lang”,一直重复到队列变空为止。
图13是一个说明用户设备溢出代码和数据的AP存储的流程图。如果任何时候用户设备缺乏存储空间来存储需要的代码或数据,则它会将最近使用最少的代码和/或数据上载到AP,以释放存储空间。图13描述了这个进程。这个进程开始于AP的DA备份服务器从用户设备接收代码和数据备份服务请求,并且从中提取设备信息、订户信息、语言、服务信息、服务类型信息和版本参数。服务器从公共存储库中检索预订信息并参加AAA确认。一旦经过确认,服务器就将要备份的代码和数据转发到持久性管理器,由该管理器存储该信息。服务器然后形成一个成功更新响应,并将其传送给客户,然后等待其他的代码和数据备份请求。
图14是一个说明客户进程的服务器端计算的流程图。如果客户缺少足够的资源来在本地完成任务,则客户可以利用服务器的处理能力。所述客户传送一个处理请求到SSG的SSC组件(参见图2),由其从该请求中提取设备信息、订户信息、语言、服务信息、服务类型信息和版本参数。服务器然后激活AAA确认。在成功确认之后,SSC通过应用网关将该请求发送到适当的应用进程容器,即所请求的服务进程的主机。所请求的服务进程处理该请求并且形成一个响应,该响应通过服务选择控制器发送到请求客户。服务选择控制器继续等待其他的处理请求。
根据本发明的各种实施例,管理器(如USM、CSM、PM、BS、UIM和LRM)可以驻留在系统的不同硬件和软件组件中。管理器可以包括分布在系统内的进程,并不一定驻留在任何单个系统部分中。此外,AP和手持设备进程均可由多个组件协同执行。
应该指出的是,上文提供的例子仅仅用于解释,而决不应视为限制本发明。虽然已参考某些实施例对本发明进行了描述,但应理解,本文所用用语是描述和说明性用语,而非限制用语。可以在目前所述和修改的公开范围内,在不背离本发明精神和范围的前提下,作出各种改变。虽然已参照特定装置、材料和实施例对本发明进行了描述,但本发明并非旨在局限于本文所公开的细节;确切地说,本发明涵盖所有功能上等效的结构、方法和用途。
权利要求
1.一种移动电话系统,包括多个移动电话设备,至少某些移动设备具有不同数量的数据处理资源;第一移动应用;和与所述移动电话设备通信的服务器,所述服务器和第一移动设备共同执行所述第一移动应用,其中所述服务器在执行所述第一移动应用时利用的数据处理资源量可随所述第一移动设备可用的数据处理资源量而变化。
2.如权利要求1所述的移动电话系统,其中所述服务器包含用户存储管理器,其为多个移动设备的每一个分配数据存储资源。
3.如权利要求1所述的移动电话系统,其中所述服务器包含公共存储管理器,其维护所述多个移动设备中每一个的数据的存储。
4.如权利要求1所述的移动电话系统,其中所述服务器包含处理器管理器,其为所述多个移动设备中每一个分配计算资源。
5.如权利要求1所述的移动电话系统,其中移动设备包含本地资源管理器,其监测所述移动设备上的数据处理资源量,并与所述服务器通信。
6.如权利要求1所述的移动电话系统,其中移动设备包含引导处理器,其启动所述第一移动应用。
7.如权利要求1所述的移动电话系统,还包括第二移动应用,其中所述第一移动设备将所述第一客户应用挂起,向所述服务器上载有关所述第二移动应用的状态的信息,并且在请求执行所述第二移动应用时下载有关所述第二移动应用的状态的信息。
8.如权利要求1所述的移动电话系统,其中移动设备和所述服务器共同分配资源给所述第一移动应用,从而使该移动设备能执行超出该移动设备数据处理能力的移动应用。
9.一种与多个移动电话设备通信的移动电话应用平台,所述移动电话应用平台包含用户存储管理器,其将固定位置上的数据存储资源分配给多个移动设备中的每一个;和公共存储管理器,其维护从多个移动设备中的每一个接收到的应用数据的存储。
10.如权利要求9所述的移动电话应用平台,还包含处理器管理器,其分配计算资源以便处理多个移动设备中每一个的数据。
11.如权利要求9所述的移动电话应用平台,其中移动设备上的本地资源管理器与所述移动电话应用平台通信,其所述移动电话应用平台为所述移动设备提供数据处理资源,从而使该移动设备能够提供所需资源大于该移动设备的可用空闲资源的移动应用。
12.如权利要求9所述的移动电话应用平台,其中所述移动设备包含引导处理器,其启动所述移动客户应用。
13.一种移动电话系统,包含(i)第一移动应用;(ii)移动设备,其包含(a)本地资源管理器,其为所述第一移动客户应用分配所述移动设备上的资源;和(b)引导处理器,其启动所述第一移动客户应用;和应用平台,其包含(iii)用户存储管理器,其为所述移动设备分配所述应用平台上的资源;(iv)公共存储管理器,其维护所述移动设备的无状态数据,和(v)处理器管理器,其分配计算资源给所述移动设备。
14.如权利要求13所述的系统,其中所述移动设备上载有关所述第一客户应用的状态的信息到所述应用平台,以便为第二移动应用安排可用资源。
15.如权利要求13所述的系统,其中所述移动设备和所述应用平台共同执行所述移动应用,从而允许所述第一移动应用超出所述移动设备的资源。
16.一种移动电话设备,包含能够执行至少一部分第一移动应用的数据处理资源;和引导处理器,其结合服务器启动所述移动应用,所述服务器使用在远离所述移动设备的位置上的数据处理资源来执行至少一部分所述应用。
17.如权利要求16所述的移动电话设备,其能发送有关所述第一移动应用的状态的信息到所述远程位置。
18.如权利要求16所述的移动电话设备,其能从所述远程位置接收有关第二移动应用的状态的信息。
19.如权利要求16所述的移动电话设备,其能够响应执行第二移动应用的请求而发送有关所述第一移动应用的状态的信息到所述远程位置;从所述远程位置接收有关第二移动应用的状态的信息;使用所述接收到的状态信息启动所述第二移动应用。
全文摘要
公开了一种使用低成本小存储器蜂窝手持设备的蜂窝电话系统和方法。该系统和方法允许蜂窝电话中便宜的“哑的”蜂窝电话可以从应用平台上请求代码、数据和处理能力。应用平台也能将代码、数据和处理能力等推送到蜂窝电话。
文档编号H04L29/08GK1748402SQ200480003388
公开日2006年3月15日 申请日期2004年2月4日 优先权日2003年2月4日
发明者V·瓦苏德文 申请人:信任资讯有限公司