专利名称:移动设备平台的制作方法
技术领域:
在此描述的系统和方法涉及移动计算技术,特别是涉及使用移动设备、通信网络和移动设备服务器进行安全、远程移动计算的移动设备平台。
背景技术:
企业和个人均日益要求移动性作为他们的计算环境的特征。对于企业,移动性允许跨全然不同的地理位置进行人员部署,这使得企业能更好地服务它们的客户。例如,大的制药公司可能希望将它们的销售人员部署在靠近目标客户(如医生)的“现场”。在这样的环境中,“现场”人员可能希望通过安全连接能有权使用敏感的销售和市场推广信息及计算应用程序。在目前的解决方案中,这些人员通常被留以麻烦的任务,即在一天结束时将他们的数据通过某一安全的计算机网络连接(如虚拟专用网)与他们的企业网络“同步”。相比较而言,个人在他们的计算环境中寻求移动性是为了获得接近他们的数据和计算应用程序的能力,更重要地,在因特网通信时代始终保持“连通”。
响应于移动计算的需要,计算环境制造商已开发了移动计算技术(如独立、网络和/或嵌入技术),这些技术使人们可在旅途中享受他们的计算环境。这样的移动设备目标在于允许用户一直“携带”他们的文件和应用程序。尽管提供了移动性,但这些设备趋向于边际效应,因为它们的形状因子、处理能力和可携带性均是变化的。由于这样的限制,用户通常不得不拖拉较大的便携式计算机随其左右,以确保他们具有所有需要的文件和计算应用程序。这样的实践以计算系统的内在设计为前提——即采用“以设备为中心的”计算。
对于“以设备为中心的”计算用户,尽管可经远程通信应用(如虚拟专用网)远程且安全地访问文件,但还是不得不将较大的、笨重的计算装置随其携带以检索他们的数据和计算应用程序。更重要地,对于以设备为中心的计算,用户通常被提供给一设备用于他们的企业计算需要(如公司个人计算机、膝上型电脑),并通常在他们的家中具有一个或多个计算环境以用于个人使用目的。在维护多个计算环境时,计算机用户承担在他们的许多不同计算环境之间同步其习惯参数选择和设置的任务。这样的任务非常费劲且经常因不能在许多不同计算环境之间使用想要的数据和/或计算应用程序而使计算机用户失败。
例如,计算机用户可能希望使来自其财务规划和管理计算应用程序(如Quicken、Microsoft Money)的财务规划和管理数据一直随其左右,以处理可能发生的任何支付(如失效的账单)。在目前的解决方案中,计算机用户必须在其每一计算环境上安装财务规划和管理计算应用程序(包括其企业的计算机—这可能违反企业计算政策和程序),以使其可使用所需要的数据。相反,企业可能希望有效且立即结束将被终止雇用关系的雇员对敏感企业数据的所有访问。在基于以设备为中心的计算的当前实践中,雇员被要求上缴他们的计算环境(如膝上型电脑、个人计算机、移动电话、或个人数字助理)。另外,通过终止其企业用户目录信息而限制不久将被终止雇用的雇员使用企业数据。然而,收集这样的设备及终止访问有固定的执行时间。该执行时间可导致该雇员能从企业计算环境拷贝文件以用于其以后使用。如此,在现有实践中,敏感的企业数据可能被泄密。
综上所述,应该意识到有克服现有实践的缺点的需要。
发明内容
本发明提供了允许安全移动计算的移动设备平台。在用以说明的实施方式中,示例性的移动设备平台包括通过通信接口与至少一计算环境通信的移动设备,其中移动设备处理和保存安全的网络服务,通信网络使用网络服务传送数据和计算应用程序,移动设备管理服务器用于产生、处理、保存、传送和加密到移动设备的网络服务。此外,移动设备管理服务器执行一个或多个移动设备管理功能以向协作的移动设备提供加密密钥并鉴别和验证从移动设备管理服务器请求网络服务的协作的移动设备。移动设备管理服务器和移动设备还可使用用户标识和密码信息执行鉴别和验证。
在实践中,示例性的移动设备被配置以在协作计算环境中使用。此外,移动设备与协作的一个或多个移动设备管理服务器建立通信并试图由协作的一个或多个移动设备管理服务器使用所选择的鉴别和验证信息进行鉴别和验证。在鉴别和验证的基础上,协作的一个或多个移动设备管理服务器使用网络服务处理从协作的示例性移动设备请求数据和计算应用的请求。网络服务由协作的一个或多个移动设备管理服务器使用示例性的所选鉴别和验证信息(如密钥)进行加密以使所请求的数据和计算应用在协作的一个或多个移动设备管理服务器和示例性的移动设备之间安全通信。
在此描述的系统和方法的其它特征将在下面进一步描述。
使用的移动设备平台和方法将参考附图进一步描述,其中图1为根据在此描述的系统和方法的示例性计算环境的框图。
图2为根据在此描述的系统和方法的示例性计算网络环境的框图。
图3为根据在此描述的系统和方法的示出示例性计算构件之间的相互作用的框图。
图4为根据在此描述的系统和方法的移动设备平台的例证性实施例的框图。
图5为根据在此描述的系统和方法的移动设备平台的另一例证性实施例的框图。
图6为根据在此描述的系统和方法,配置例证性实施例移动设备平台所执行的处理的流程图。
图7为根据在此描述的系统和方法,例证性实施例移动设备平台所执行的处理的流程图。
图8为根据在此描述的系统和方法,另一例证性实施例移动设备平台所执行的处理的流程图。
图9为根据在此描述的系统和方法,另一例证性实施例移动设备平台所执行的处理的流程图。
具体实施例方式
概述在此描述的系统和方法提供“用户为中心”的计算及移动计算方法。在当前的计算解决方案中,企业或个人,通常使用“设备为中心”的模型进行设计。设备为中心的模型目标在于基于设备分配和标识管理和跟踪用户。例如,在企业计算的情况下,企业计算环境可包括多个服务器计算环境和大量客户机计算环境。通常,企业中的每一用户被提供以客户机计算环境(如个人计算机或膝上型电脑),其通常通过企业通信接口与服务器计算环境形成网络,或者,如果用户远离企业通信网络,通过虚拟专用网(VPN)。另外,在传统的企业计算环境中,通过目录服务结构,用户被提供以用户标识信息和密码信息,目录服务结构将用户权限和特许与某些企业数据和计算应用相关联。
在这样的企业计算环境中,用户通常只被允许用其参数选择和设置自定义提供给其的计算环境,使得如果用户在网络上漫游并登录其自己以外的计算环境,他们将不能使用其自己的习惯参数选择和设置。当希望在企业计算环境和个人计算环境(如家用计算机)之间同步维护参数选择和设置(如浏览器书签、桌面外观、配色方案、应用程序布局、及文件的目录结构)的企业用户通常不得不执行人工同步时也可看出此问题。
此外,对于现有的企业计算环境,大量客户机计算环境的管理是令人畏缩的任务。目前,企业雇请几十个但非几百个信息技术部门来支持许多用户及其计算环境。除了起码的物理管理以外,企业数据的完整性和安全性也是设备为中心的计算模型需考虑的事情。在这种情况下,企业计算用户在拷贝和包含敏感企业数据时通常由他们的意志决定。由于阻止用户未经授权就复制企业文件和数据的任务最令人畏缩,大多数企业均变得对此一无所知。现有实践的这种局限对企业和个人而言均损失惨重。
在此描述的系统和方法目的在于改进现有实践的缺陷,其提供使用“用户为中心”的模型设计的移动设备平台(MDP)。在例证性的实施例中,移动设备平台包括至少一移动设备(MD),其用于通过通信接口(如通用串行总线(USB)、IEEE1394通信接口(火线)、802.XX通信接口、蓝牙通信接口、个人计算机接口、小型计算机串行接口、及无线应用协议(WAP)通信接口)与一个或多个协作的计算环境(如个人计算机、个人数字助理、移动电话、入网的计算机、及其它计算环境)进行通信。另外,移动设备平台包括一个或多个移动设备管理服务器(MDMS),其用于对协作的移动设备及其用户进行鉴别、验证并提供用户管理。
在实施中,移动设备可与调用一个或多个工作区的一个或多个计算环境合作以处理网络服务。网络服务可从MD本机的数据和计算应用进行执行,或者MD可与一个或多个MDMS合作以获得想要的网络服务。MDMS可用于鉴别请求MD以确保它们对所请求的网络服务有权限和特许。另外,MDMS可与第三方网络服务提供商合作以获得所请求的网络服务。在这种情况下,MDMS可用于将非MD本地网络服务格式的网络服务转换为本地MD网络服务。当从MDMS通信网络服务到协作的MD时,MDMS和MD使用用户和设备鉴别及验证信息进行1028位和/或2056为加密(如PKI加密)。MDMS提供给MD的网络服务可包括但不限于计算应用及所需要的数据。另外,MD可将参与用户的自定义设置和参数选择保存到MD本机以使它们一直可为用户使用。
为此,由于移动设备平台用户可遍历任意数量的协作计算环境,他们将能使用他们自定义的设置和参数选择,更重要地,可安全访问他们的计算应用和文件(如网络服务提供的计算应用和文件)。
网络服务在通信网络如因特网上提供的服务,一般被称为网络服务或应用服务,在不断发展。同样,推动这样的服务的技术也在不断发展。网络服务可被定义为任何信息源运营商业逻辑进程,其可方便地打包以供应用程序或终端用户使用。网络服务正日益成为人们可通过其在网络上提供功能性的手段。网络服务通常包括编程和数据的一些组合,其被使得可从应用服务器为终端用户及网络连通的其它应用程序使用。网络服务的范围从如存储管理及客户关系管理这样的服务到更有限的服务如提供股票报价及检查拍卖物的投标。
专注于规定和标准化网络服务的使用的活动包括网络服务描述语言(WSDL)的开发。WSDL是可扩展的置标语言(XML)格式,用于将网络服务描述为对消息的一组端点操作,消息或包含文档导向的信息或包含过程导向的信息。操作和消息均被抽象地描述,并接着与具体的网络协议和消息格式绑定以定义端点。有关的具体端点被结合为抽象的端点(服务)。
目前,所提倡的网络服务使用模型总体上如下所示。
(1)服务在一站点上执行和配置,通常称为服务器端。
(2)服务使用WSDL进行描述并经如UDDI(统一描述、发现和集成)的手段进行公布,其是基于XML的登记,用于全球范围内的商业机构通过他们提供的网络服务而将他们本身列表在因特网上。
(3)客户应用程序通过首先解释一个或多个WSDL文档而在另一地点使用网络服务,通常称为客户端。一旦被解释,客户可理解相关服务的特征。例如,服务特征可包括服务API规范,如(a)输入数据类型,(b)服务输入数据格式,(c)服务接入机制或风格(如RPC对消息接发),及(d)相关的编码格式。
(4)客户应用程序以多个特定网络服务可理解的方式准备其数据。
(5)客户应用程序按照服务指定的方式如在相关的WSDL文档中调用特定的服务。
网络服务之间在输入数据格式及其被调用的方式方面有许多差异。例如,假设一应用服务提供商提供服务getCityWeather,其只要求一个输入参数如常规的城市名称(如,盐湖城则输入SLC)。想要调用该服务的客户应用程序需要被写入,使得应用程序内的数据或应用程序的输出能被分析以提取城市信息。在运行时间,有准备的符号通过使用适当的API传递给getCityWeather服务站点。
然而,假设另一应用服务提供商提供类似的服务,但其要求两个输入参数,如城市名称和邮政编码。因此,如果客户应用程序想要调用该第二种服务,其需要适当地分析和提取其关于所需要的服务输入参数的数据。因此,如果单一应用程序想要调用两个服务,则应用程序不得不被硬编码以服务专用的API信息和规程。此外,如果应用程序想要调用很多服务,则应用程序不得不被硬编码以与其想要调用的每一服务相关的服务专用的API信息和规程。
如上所述,不同的网络服务可提供类似的功能性,但在许多方面不同。在此描述的系统和方法目的在于改进这样的不一致,其通过提供具有移动设备管理服务器的移动设备平台实现,其包括网络服务变换模块,用于从网络服务提供商接受数据并将它们呈现在协作的移动设备本地的网络服务模型中。
简单对象访问协议(SOAP)概述简单对象访问协议(SOAP)是轻便的、基于XML的协议,用于在分散、分布式环境中交换信息。SOAP支持不同类型的信息交换,包括远程过程调用形式(RPC),其允许请求-响应处理,其中端点接收过程导向的消息并用相关的响应消息回答。
消息导向的消息交换,其支持需要交换商务或其它类型的文档的组织和应用,其中消息被发送但发送者并不期望或等待立即响应。
通常,SOAP消息由SOAP包封组成,其包封两个数据结构、SOAP首部和SOAP本体、及用于定义它们的关于名字空间的信息。首部是可选的;当呈现时,其传递关于在SOAP本体中定义的请求的信息。例如,其可包含事务处理、安全性、上下文、或用户简介信息。本体包含网络服务请求或以XML格式回答请求。SOAP消息的高级结构如下面的图中所示。
SOAP消息,当用于携带网络服务请求和响应时,可符合可用网络服务的网络服务定义语言(WSDL)定义。WSDL可定义用于访问网络服务的SOAP消息、该SOAP消息可于其上交换的协议、及这些网络服务可被访问的因特网位置。WSDL描述符可位于UDDI或其它目录服务中,且它们还可经配置或其它手段如在SOAP请求回复的本体中进行提供。
有SOAP规约(如可在www.w3.org找到的w3 SOAP规约)提供编码请求和响应的标准方式。其使用XML模式描述消息有效负载的结构和数据类型。SOAP可用于网络服务的消息和响应的方式为SOAP客户使用符合SOAP规约的XML文档且其包含服务请求。
SOAP客户将文档发送给SOAP服务器,在服务器上运行的SOAP小服务程序使用如HTTP或HTTPS处理文档。
网络服务接收SOAP消息,并将消息作为服务调用分派给提供所请求的服务的应用程序。
来自服务的响应通过再次使用SOAP协议被返回给SOAP服务器,且该消息被返回给始发的SOAP客户。
应该意识到的是,尽管SOAP在此被描述为用于在此描述的系统和方法的通信协议,但其仅是示例性的,因为在此描述的系统和方法可采用不同的通信协议和消息接发标准。
说明性的计算环境图1示出了根据在此描述的系统和方法的示例性计算系统100。计算系统100能够运行各种操作系统180和可在操作系统180上运行的计算应用程序180’(如网络浏览器和移动桌面环境)。示例性的计算系统100主要由计算机可读的指令控制,其可以是软件的形式,这样的软件被保存在哪里或怎样访问。这样的软件可在中央处理单元(CPU)110内运行以使数据处理系统100工作。在许多已知的计算机服务器、工作站和个人计算机中,中央处理单元110由微电子芯片CPU实现,称为微处理器。协处理器115是可选的处理器,不同于主CPU110,其执行另外的功能或帮助CPU110。CPU110可通过互联112连接到协处理器115。一种普通类型的协处理器是浮点协处理器,也称为数值或数学协处理器,其被设计来执行比通用CPU110更快、更好的数值计算。
应意识到的是,尽管示例性的计算环境被示出包括单一CPU110,但这样的描述仅是说明性的,因为计算环境100可包括许多CPU110。另外,计算环境100可通过通信网络160或一些其它数据通信方式(未示出)利用远程CPU(未示出)的资源。
在运行中,CPU110取回、解码并执行指令,及经计算机的主要数据传输途径--系统总线105在其它资源之间传送信息。这样的系统总线连接计算系统100中的组件并定义数据交换的介质。系统总线105通常包括用于发送数据的数据线、用于发送地址的地址线、及用于发送中断及用于操作系统总线的控制线。这样的系统总线的例子是PCT(外围元件互联)总线。目前的一些先进总线提供称为总线仲裁的功能,其通过扩展卡、控制器和CPU110管理对总线的访问。连到这些总线并仲裁取代总线的设备被称为总线主控器。总线主控器支持还允许总线的多处理器结构通过添加总线主控器适配器产生,总线主控器适配器包含处理器及其支持芯片。
连到系统总线105的存储器设备包括随机存取存储器(RAM)125和只读存储器(ROM)130。这样的存储器包括允许信息被保存和检索的电路。ROM130通常包含所保存的、不能被修改的数据。保存在RAM125中的数据可由CPU110或其它硬件设备读取或改变。RAM125和/或ROM130的存取可由存储器控制器120控制。存储器控制器120可提供地址变换功能,其在指令被执行时将虚拟地址转换为物理地址。存储器控制器120还可提供存储器保护功能,其隔离系统内的进程并将系统进程与用户进程隔离。因而,在用户方式运行的程序只可正常地访问其自己的进程虚拟地址空间映射的存储器;其不能访问另一进程的虚拟地址空间内的存储器,除非存储器在已被建立的进程之间共享。
此外,计算系统100可包含外设控制器135,负责将指令从CPU110通信给外围设备,如打印机140、键盘145、鼠标150、及数据存储驱动器155。
显示器165,其由显示器控制器163控制,用于显示计算系统100产生的视觉输出。这样的视觉输出可包括文本、图形、动画图形和视频。显示器165可用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子的平板显示器、触板或其它显示器形式实施。显示器控制器163包括产生发送给显示器165的视频信号所需要的电子元件。
此外,计算系统100可包含网络适配器170,其可用于将计算系统100连接到外部的通信网络160。通信网络160可对计算机用户提供以电子地通信和传输软件及信息的手段。另外,通信网络160可提供分布式的处理,其涉及几个计算机及执行任务时的工作量或合作努力的分享。应意识到的是,所示的网络连接仅是示例性的,在计算机之间建立通信链路的其它手段也可被使用。
应意识到的是,示例性的计算机系统100仅是在此描述的系统和方法可得以起作用的计算环境的例子,并非限制在此描述的系统和方法在具有不同元件和结构的计算环境中的实施,因为在此描述的有创造性的概念可在具有不同元件和结构的不同计算环境中实施。
说明性的计算机网络环境如上所述,计算系统100可被部署作为计算机网络的一部分。通常,上面对计算环境的描述既应用于部署在网络环境中的服务器计算机,也应用于客户计算机。图2示出了示例性的网络计算环境200,服务器经通信网络与客户计算机通信,其中在此描述的系统和方法可被使用。如图2所示,服务器205可经通信网络160(其可以是有线或无线LAN、WAN、内联网、外联网、对等网络、因特网、或其它通信网络之一或其组合)与大量客户计算环境如平板个人计算机210、移动电话215、电话220、个人计算机100及个人数字助理225互连。另外,在此描述的系统和方法可与汽车计算环境(未示出)、消费者电子计算环境(未示出)协作并经通信网络160建立自动化的控制计算环境(未示出)。在通信网络160是因特网的网络环境中,例如,服务器205可以是专用的计算环境服务器,用于经大量已知协议中的任一协议如超文本传输协议(HTTP)、文件传输协议(FTP)、简单对象访问协议(SOAP)或无线应用协议(WAP)在客户计算环境100、210、215、220、和225之间处理并通信网络服务。每一客户计算环境100、210、215、220和225可被装备以浏览器操作系统180,用于支持一个或多个计算应用程序如网络浏览器(未示出)、或移动桌面环境(未示出)以能接入服务器计算环境205。
在运行中,用户(未示出)可与客户计算环境上运行的计算应用程序相互作用以获得想要的数据和/或计算应用程序。数据和/或计算应用程序可被保存在服务器计算环境205上并通过客户计算环境100、210、215、220和225在示例性的通信网络160上传送给协作用户。参与用户可使用网络服务事务请求访问整体或部分包封在服务器计算环境205上的特殊数据和应用程序。这些网络服务事务可在客户计算环境100、210、215、220和225及服务器计算环境之间通信以进行处理和存储。服务器计算环境205可存放用于网络服务的产生、鉴别、加密和通信的计算应用程序、进程及程序,并可与其它服务器计算环境(未示出)、第三方服务提供商(未示出)、网络附加的存储(NAS)及存储区网络(SAN)协作以实现网络服务事务。
因此,在此描述的系统和方法可被使用在具有客户计算环境和服务器计算环境的计算机网络环境中,客户计算环境用于访问网络并与网络相互作用,服务器计算环境用于与客户计算环境相互作用。然而,提供移动设备平台的系统和方法可以多种基于网络的体系结构进行实施,因而不应限于所示的例子。在此描述的系统和方法将结合目前例证性的实施方式进行详细描述。
移动设备平台组件的协作图3示出了示例性的移动设备平台的组件之间的示例性的相互作用。总体上如图3所示,示例性的移动设备平台300,简单地说,可包括使用通信接口305与客户计算环境100协作的移动设备310,通信接口305在所选的通信协议(未示出)上运行。另外,示例性的移动设备平台300还可包括(图1的)通信网络160和服务器计算环境205。
在运行中,移动设备可通过通信接口305与客户计算环境100协作以运行一个或多个源自移动设备310并可为用户显示在客户计算环境100上的计算应用程序180’。计算应用程序180’可包括但不限于提供常规操作系统的观感的浏览器应用程序、字处理应用程序、电子制表软件、数据库应用程序、网络服务应用程序、及用户管理/优选应用程序。另外,移动设备310可使用客户计算环境100经通信网络160与服务器计算环境205协作以获得网络服务形式的数据和/或计算应用程序。
图4示出了示例性的移动设备平台的组件的相互作用。如图4中所示,示例性的移动设备平台400包括移动设备(MD)405、计算环境410、通信网络435、移动设备管理服务器(MDMS)420及第三方网络服务提供商440。另外,如MD分解图中进一步所示,MD405还包括处理单元(PU)、操作系统(OS)、存储存储器(RAM/ROM)、及MD通信接口。同样,MDMS420还包括变换引擎425、网络服务430和加密引擎445。
在运行中,MD405使用一个或多个MD组件PU、OS、RAM/ROM和MD通信接口通过MD/计算环境通信接口410与计算环境415进行通信。当与计算环境415通信时,MD405可装入一个或多个计算应用程序(未示出),其可包括但不限于移动桌面环境、用户自定义和鉴别管理器、及网络服务应用程序作为配置的一部分。一旦被配置好,MD405还可与计算环境415协作以处理一个或多个网络服务(如网络服务数据和/或计算应用程序)。在这样的环境中,MD405还可使用通信网络435从协作的MDMS420请求网络服务数据和/或计算应用程序以处理这样的网络服务。在这种情况下,MDMS420可用于鉴别MD405以确保参与用户(未示出)和移动设备405对所请求的数据和/或计算应用程序具有正确的特许。
如果被适当鉴别,MDMS420还可用于将所请求的数据和/或计算应用程序存放在MDMS420本地并在通信网络435上将这些所请求的数据和/或计算应用程序(如网络服务)提供给经鉴别的MD405,或用于与第三方服务提供商440合作以获得请求的网络服务从而传送给经鉴别的MD405。当与第三方网络服务提供商440合作时,MDMS420可用于使用变换引擎425将源自第三方网络服务提供商440的网络服务430变换为MD本地格式。另外,当满足来自经鉴别的MD405的网络服务请求时,MDMS420可用于使用加密引擎445加密所请求的网络服务。
另外,MDMS420还可用于与使用所选择的加密协议(如PKI加密)的文件系统合作以获得所请求的数据从而传送给MD405。协作的文件系统可包括但不限于文件分配表(FAT)文件系统和新技术文件系统(NTFS)。
图5示出了示例性移动设备平台的另一例证性实施例。如图所示,移动设备平台500包括通过MD/计算环境通信接口510与多个计算环境合作的MD505,多个计算环境包括计算环境“A”515、计算环境“B”525、…、直到计算环境“N”520。另外,移动设备平台500还包括通信网络530、第三方网络服务提供商585、java虚拟机(JVM)仿真器及工具、多个MDMS,其中MDMS“A”535对网络服务540起作用、MDMS“B”对网络服务550起作用、…、MDMS“N”555对网络服务560起作用。此外,在另一例证性的实施方式中,如虚线所示,移动设备平台500还可包括对网络服务580起作用的MDMS“C”、通信网络570、和防火墙565。
在运行中,与一个或多个计算环境515、525、520合作的移动设备505可处理在计算环境515、525、520上导航和控制的网络服务。在这种情况下,MD505可经通信网络530从一个或多个协作的MDMS535、MDMS545、MDMS555请求网络服务540、550或560。当出现这种情况时,MDMS535、545、555中的任何一个鉴别提出请求的MD505以确保MD505具有正确的用户权限、许可及特许从而可获得所请求的网络服务。在成功鉴别和验证的基础上,MDMS535、545、555可处理MD505’的请求并提供所请求的网络服务。MDMS535、545、555还可将所请求的网络服务(如源自第三方网络服务提供商585的网络服务)变换为MD505本地网络服务格式(如果需要)。另外,MDMS535、545、555可使用MD和用户鉴别及验证信息加密所请求的网络服务以确保所请求的网络服务在通信网络530上以安全方式进行传送。
此外,移动设备平台500可通过采用java虚拟机而获得遗留数据和/或计算应用程序。在这种情况下,MD505与动态JVM仿真器及工具(尽管未示出,但其可包括一个或多个MDMS535、545、555的一部分)合作以从遗留系统590请求数据和/或计算应用程序。动态JVM仿真器及工具595可与遗留系统590合作以从提出请求的MD505获得所请求的数据和/或计算应用程序。在这种情况下,动态JVM仿真器及工具可产生一个或多个java虚拟机,其对遗留系统起作用以将所请求的数据和计算应用程序作为网络服务呈现给MD505。同样,类似于MDMS的操作,动态JVM仿真器及工具可在获取所请求的信息之前首先鉴别MD505。
移动设备平台500允许移动设备505使用多个工作区。换言之,单个移动设备505可支持参与用户的多种“个性”。例如,参与用户(未示出)可选择使用同一移动设备用于公司用途和几种私人用途。在这种情况下,移动设备可在移动设备内提供多个“工作区”,使得每一工作区由其自己的用户/设备鉴别和验证信息集控制。因此,当参与用户(未示出)希望从他们的企业网络检索信息时(如假设MDMS“A”535是企业服务器),他们可登录MD505并使用参与用户的企业用户鉴别和身份验证信息激活第一工作区(未示出)。企业MDMS(如MDMS“A”535,仅用于解释说明的目的)基于用户的企业用户鉴别和验证信息鉴别用户,如果通过鉴别,则可经通信网络530(如企业LAN,仅用于解释说明的目的)处理MD505的网络服务请求。由于参与用户是使用企业用户标识和验证信息而在企业MDMS“A”535上得以通过鉴别,在这种情况下提供给MD505的数据和/或计算应用程序被确保安全地传送给经过适当鉴别的参与用户。
类似地,如果参与用户(未示出)希望从企业计算环境访问他们的游戏网络服务提供商(如MDMS“C”580),参与用户可通过激活MD505上的第二工作区(未示出)而切换他/她的“个性”。用户可通过退出他们的企业工作区并使用他/她的游戏用户id和密码(如用户鉴别和验证信息)登录游戏工作区而调用游戏工作区。在这种情况下,参与用户可通过菊花链访问MDMS“C”575,首先通过通信接口530到达MDMS“A”535、接着通过企业防火墙565并经外部通信网络570(如因特网)到达游戏网络服务MDMS“C”580。这样,参与用户可使用具有多个工作区的单一MD通过支持不同的用户鉴别和验证信息而以安全的方式实现他们的企业和个人计算需要。
从上述内容应意识到,移动设备平台500能够以这样的方式运行,即单一移动设备可与多个全异的计算环境相互作用。协作的计算环境的例子包括但不限于独立计算环境、网络化的计算环境、及嵌入式计算环境。在嵌入式计算环境情况下,可采用在此描述的系统和方法以允许与嵌入式汽车计算环境相互作用而定制汽车驾驶和舒适设置(如,移动设备可被配置以使参与用户的驾驶和舒适设置被保存,当参与用户在移动时,移动设备根据所选择的通信接口和协议与嵌入式汽车计算环境合作以根据所保存的设置设定汽车的驾驶和舒适设置)。类似地,在嵌入式电子计算环境的情况下,移动设备可有助于从多个全异的位置查找多媒体。在该例子中,移动设备已将多媒体的数字权限和许可保存于其上并通过所选的通信接口和通信协议(如无线因特网协议)与具有嵌入式计算环境的一个或多个消费者电子产品合作以获得所保存的多媒体。换言之,MP3使能的接收机已保存于其上或有能力通过外部通信网络(如因特网)查找多首MP3歌曲。这些歌曲仅可根据特殊的数字权限管理和/或用户许可访问。因此,通过经网络服务型应用程序将权限和许可传送给协作的MP3使能的接收机,示例性的移动设备平台500可向参与用户提供对这样的歌曲的访问。
应意识到尽管移动设备平台500被示出具有特定的配置并可用于多种构件,但这样的描述仅是例证性的,因为包括示例性的移动设备平台500的在此描述的系统和方法可通过多种另外的配置和构件实现。
图6所示为当为运行而配置示例性的移动设备平台400的构件时,图4的示例性移动设备平台400所执行的处理。如图6中所示,处理开始于程序块600并进行到程序块610,移动设备被配置以与至少一协作的计算环境一起运行。在该步骤中(尽管未示出),示例性的移动设备平台可通过运行所选通信接口协议的所选通信接口启动与至少一计算环境的通信。一旦建立通信,示例性的移动设备平台可指示移动设备运行一个或多个计算应用程序以在连接的计算环境上运行。移动桌面计算环境可被包括在计算应用程序中。处理从程序块610进行到程序块620,在运行示例性的通信网络协议(未示出)的示例性通信网络(未示出)上在MD和协作的MDMS之间建立通信。一旦在MD和MDMS之间建立通信,MD和MDMS用户/设备鉴别和验证值被产生和保存以便随后在程序块630使用。在程序块640,使用这些鉴别和验证值,MDMS能够使文件系统文件与群组设置相关联。文件和群组关联、鉴别和验证值均被保存以便随后在程序块650使用。在程序块660执行检查以确定文件或群组中的任一关联对MDMS上的MD是必需的。如果在程序块660的检查表明MD文件和/或群组关联有变化,处理返回程序块640并从那里继续。
然而,如果在程序块660确定没有MD文件和/或群组关联设置将被设定,处理进行到程序块670,使用所产生和保存的MD和用户鉴别及验证值在MD和MDMS之间执行数据和/或计算应用程序通信。其后,处理在程序块680终止。
图7所示为根据用以说明的实施例,当处理来自图4的协作的示例性移动设备405的网络服务请求时,图4的示例性移动设备平台400所执行的处理。如图7中所示,处理开始于程序块700并进行到程序块705,执行检查以确保示例性的移动设备405与至少一协作的计算环境(图4的415)通信。如果在程序块705的检查表明示例性的移动设备未与至少一协作的计算环境通信,处理返回到程序块700并从那里继续。
然而,如果在程序块705确定示例性的移动设备405已与至少一协作的计算环境建立通信,处理进行到程序块710,执行检查以确定在用户基础上移动设备是否已被鉴别(如参与用户是否提供适当的用户标识和密码信息)。如果基于用户移动设备未被成功鉴别,处理进行到程序块715,产生差错(并可能可显示给参与用户)。在程序块717执行检查以确定是否将再次尝试移动设备的用户鉴别(即参与用户被赋予重新输入其用户标识和密码的能力)。如果在程序块717确定鉴别将被重新执行,处理返回到程序块710并从那里继续。然而,如果在程序块717确定不再尝试用户鉴别,处理于程序块720终止。
然而,如果在程序块710确定基于用户移动设备已被鉴别,处理进行到程序块725,在至少一协作的计算环境上启动移动设备移动桌面环境。处理从那里进行到程序块730,执行检查以确定MD是否有任何请求数据和/或计算应用程序的请求向已鉴别该MD的至少一协作MDMS提出。如果在程序块730的检查表明经鉴别的MD没有请求,处理返回到程序块730的输入。
然而,如果在程序块730确定MD已请求数据和/或计算应用程序,处理进行到程序块735,在MD本地搜索所请求的数据和/或计算应用程序。其后在程序块740执行检查以确定MD的本地搜索是否已满足请求。如果在程序块740的检查表明请求已被MD的本地搜索满足,处理返回到程序块730的输入并从那里继续。
然而,如果在程序块740的检查表明请求尚未被满足,处理进行到程序块745,使用在程序块710提供的用户鉴别信息搜索协作的MDMS。能够鉴别查找MD的协作MDMS使用用户鉴别信息鉴别MD。其后在程序块755执行检查以确定在MD基础上MD是否已使用用户鉴别信息而得以鉴别。如果在程序块755的检查表明MD已被MDMS鉴别,处理进行到程序块760,MDMS将所请求的数据和/或计算应用程序提供给提出请求的、现在已通过鉴别的MD。处理从那里返回到程序块730的输入并从那里继续。
然而,如果在程序块755确定协作的MDMS没有鉴别提出请求的MD,处理进行到程序块765,鉴别差错被提供给提出请求的MD。处理从那里进行到程序块770,执行检查以确定是否再次尝试由协作的MDMS鉴别该MD。如果在程序块770的检查表明将再次尝试鉴别,处理返回到程序块755的输入并从那里继续。
然而,如果在程序块770确定不再由MDMS鉴别,处理进行到程序块775并终止。
图8所示为根据用以说明的另一实施例,当处理来自图4的协作的示例性移动设备405的网络服务请求时,图4的示例性移动设备平台400所执行的处理。如图8中所示,处理开始于程序块800并进行到程序块805,执行检查以确保示例性的移动设备405与至少一协作的计算环境(图4的415)通信。如果在程序块805的检查表明示例性的移动设备未与至少一协作的计算环境通信,处理返回到程序块800并从那里继续。
然而,如果在程序块805确定示例性的移动设备405已与至少一协作的计算环境建立通信,处理进行到程序块810,执行检查以确定在用户基础上移动设备是否已被鉴别(如参与用户是否提供适当的用户标识和密码信息)。如果基于用户移动设备未被成功鉴别,处理进行到程序块815,产生差错(并可能可显示给参与用户)。在程序块817执行检查以确定是否将再次尝试移动设备的用户鉴别(即参与用户被赋予重新输入其用户标识和密码的能力)。如果在程序块817确定鉴别将被重新执行,处理返回到程序块810并从那里继续。然而,如果在程序块817确定不再尝试用户鉴别,处理于程序块820终止。
然而,如果在程序块810确定基于用户移动设备已被鉴别,处理进行到程序块825,在至少一协作的计算环境上启动移动设备移动桌面环境。自此,使用用户鉴别信息和MD专用鉴别及验证信息(如公钥/私钥)启动与至少一协作的MDMS的通信。其后在程序块835执行检查以确定至少一协作的MDMS是否已适当地鉴别MD。如果在程序块835确定MD未被至少一协作的MDMS鉴别,处理进行到程序块840,产生差错(并可能通过移动桌面环境显示给参与用户)。处理自此终止于程序块845。
然而,如果在程序块835确定至少一协作的MDMS已鉴别该移动设备,处理进行到程序块850,执行检查以确定该MD是否有任何请求数据和/或计算应用程序的请求向已鉴别该MD的至少一协作MDMS提出。如果在程序块850的检查表明经鉴别的MD没有请求,处理返回到程序块850的输入。
然而,如果在程序块850确定经鉴别的MD已向已鉴别该MD的至少一协作的MDMS请求数据和/或计算应用程序,处理进行到程序块855,在MD本地搜索所请求的数据和/或计算应用程序。其后在程序块860执行检查以确定MD的本地搜索是否已满足请求。如果在程序块860的检查表明请求已被MD的本地搜索满足,处理返回到程序块850的输入并从那里继续。
然而,如果在程序块860的检查表明请求尚未被满足,处理进行到程序块865,在协作的MDMS查找所请求的数据和/或计算应用程序。其后在程序块870,所请求的数据和/或计算应用程序被提供给请求鉴别的MD。处理从那里返回到程序块850的输入并从那里继续。
图9所示为当与第三方网络服务提供商合作处理来自图4的协作的示例性移动设备405的网络服务请求时,图4的示例性移动设备平台400所执行的处理。如图9中所示,处理开始于程序块900并进行到程序块905,执行检查以确保示例性的移动设备405与至少一协作的计算环境(图4的415)通信。如果在程序块905的检查表明示例性的移动设备未与至少一协作的计算环境通信,处理返回到程序块900并从那里继续。
然而,如果在程序块905确定示例性的移动设备405已与至少一协作的计算环境建立通信,处理进行到程序块910,执行检查以确定在用户基础上移动设备是否已被鉴别(如参与用户是否提供适当的用户标识和密码信息)。如果基于用户移动设备未被成功鉴别,处理进行到程序块915,产生差错(并可能可显示给参与用户)。在程序块917执行检查以确定是否将再次尝试移动设备的用户鉴别(即参与用户被赋予重新输入其用户标识和密码的能力)。如果在程序块917确定鉴别将被重新执行,处理返回到程序块910并从那里继续。然而,如果在程序块917确定不再尝试用户鉴别,处理于程序块920终止。
然而,如果在程序块910确定基于用户移动设备已被鉴别,处理进行到程序块925,在至少一协作的计算环境上启动移动设备移动桌面环境。自此,使用用户鉴别信息和MD专用鉴别及验证信息(如公钥/私钥)启动与至少一协作的MDMS的通信。其后在程序块935执行检查以确定至少一协作的MDMS是否已适当地鉴别MD。如果在程序块935确定MD未被至少一协作的MDMS鉴别,处理进行到程序块940,产生差错(并可能通过移动桌面环境显示给参与用户)。处理自此终止于程序块945。
然而,如果在程序块935确定至少一协作的MDMS已鉴别该移动设备,处理进行到程序块950,执行检查以确定该MD是否有任何请求数据和/或计算应用程序的请求向已鉴别该MD的至少一协作MDMS提出。如果在程序块950的检查表明经鉴别的MD没有请求,处理返回到程序块950的输入。
然而,如果在程序块950确定经鉴别的MD已向已鉴别该MD的至少一协作的MDMS请求数据和/或计算应用程序,处理进行到程序块955,在MD本地搜索所请求的数据和/或计算应用程序。其后在程序块960执行检查以确定MD的本地搜索是否已满足请求。如果在程序块960的检查表明请求已被MD的本地搜索满足,处理返回到程序块950的输入并从那里继续。
然而,如果在程序块960的检查表明请求尚未被满足,处理进行到程序块965,在协作的MDMS查找所请求的数据和/或计算应用程序。处理从那里进行到程序块970,协作的MDMS与第三方网络服务提供商合作以获得所请求的数据和/或计算应用程序。其后在程序块975,所请求的数据和/或计算应用程序被提供给请求鉴别的MD。处理从那里返回到程序块950的输入并从那里继续。
总之,在此描述的系统和方法提供移动设备平台。然而,应理解的是,本发明容许不同的修改和可供选择的结构,并不意为本发明限于在此描述的具体结构。相反,本发明应覆盖所有修改、可供选择的结构、及落在本发明范围和精神之内的等价方案。
还应注意的是,本发明可被实施在多种计算机环境(包括非无线和无线计算机环境)、局部计算环境、和真正的全球环境中。在此描述的不同技术可以硬件或软件或其结合进行实施。优选地,该技术被实施在维护可编程计算机的计算环境中,其包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一输入设备、及至少一输出设备。与不同指令集协作的计算硬件逻辑被应用于数据以执行上述功能并产生输出信息。输出信息被施加到一个或多个输出设备。示例性的计算硬件使用的程序最好以不同的编程语言实现,包括高级程序或对象导向的编程语言,以与计算机系统通信。说明性地,如果需要,在此描述的装置和方法可以组件或机器语言实施。无论如何,语言可以是编译或解释的语言。每一这样的计算机程序最好被保存在存储介质或设备(如ROM或磁盘)上,其可由一般或专用可编程计算机读以配置和运行计算机,当存储介质或设备被计算机读时执行上述规程。装置还可考虑被实施为计算机可读的存储介质,用计算机程序配置,那样配置的存储介质使计算机以特殊及预定的方式运行。
尽管本发明的示例性实施方式已在上面详细描述,本领域的技术人员将容易地意识到,在不本质上脱离本发明的新颖示教和优点的情况下,对示例性的实施例进行许多另外的修改是可能的。因此,这些及所有这样的修改均应包括在本发明的范围之内。本发明可由下面的示例性权利要求更好地定义。
权利要求
1.移动设备平台,包括可与计算环境连接的具有独立计算能力的移动设备;及与移动设备合作以将数据提供给移动设备的移动设备服务器。
2.根据权利要求1的平台,还包括用于在移动设备和移动设备服务器之间传送数据的通信网络。
3.根据权利要求1的平台,还包括当在移动设备和移动设备服务器之间传送数据时由移动设备和移动设备服务器使用的加密协议。
4.根据权利要求3的平台,其中加密协议被应用到移动设备和移动设备服务器使用的数据存储体系结构。
5.根据权利要求4的平台,其中数据存储体系结构包括文件分配表文件系统和新技术文件系统中的任何一个。
6.根据权利要求3的平台,还包括鉴别和验证模块,其允许移动设备和移动设备服务器相互鉴别和验证从而允许传送数据。
7.根据权利要求6的平台,其中鉴别和验证模块基于下列数据运行用户标识信息、用户密码信息、公钥信息和私钥信息。
8.根据权利要求1的平台,还包括用于使移动设备与计算环境连接的通信接口。
9.根据权利要求8的平台,其中通信接口被嵌入在移动设备中。
10.根据权利要求8的平台,其中通信接口包括下列通信接口中的任何一种通用串行总线、IEEE1394通信接口、802.XX通信接口、蓝牙通信接口、个人计算机接口、小型计算机串行接口、及无线应用协议通信接口。
11.根据权利要求10的平台,其中计算环境包括独立计算环境、网络化计算环境及嵌入式计算环境中的任何一种。
12.根据权利要求11的平台,其中计算环境为汽车嵌入式计算环境。
13.根据权利要求11的平台,其中计算环境为消费者电子产品嵌入式计算环境。
14.根据权利要求11的平台,其中计算环境为建筑物自动控制嵌入式计算环境。
15.根据权利要求1的平台,其中数据包括与一个或多个计算应用程序一起使用的任何数据及控制信息。
16.根据权利要求1的平台,其中通信网络包括有线局域网、无线局域网、有线广域网、无线广域网、有线对等通信网络、无线对等通信网络、码分多址通信网络、时分多址通信网络、移动通信全球系统通信网络、无线因特网、及因特网。
17.根据权利要求1的平台,其中移动设备保持多个工作区,以允许移动设备与全异的移动设备服务器合作。
18.根据权利要求17的平台,其中移动设备使用加密协议与全异的移动设备服务器合作。
19.根据权利要求18的平台,其中移动设备对多个工作区中的每一个均使用独立加密的通信通道。
20.根据权利要求19的平台,其中移动设备支持多个工作区中的每一个的独特鉴别和验证。
21.根据权利要求1的平台,其中移动设备与计算环境合作以将用于接收和处理来自参与用户的指令的用户接口显示给计算环境从而控制、操作并管理数据及应用程序。
22.根据权利要求21的平台,其中移动设备管理服务器与其它移动管理设备管理服务器合作以向移动设备提供网络服务。
23.根据权利要求22的平台,其中移动设备管理服务器与第三方网络服务提供商合作以向移动设备提供网络服务。
24.根据权利要求1的平台,其中移动设备包括处理单元、移动设备通信接口单元、ROM存储器、RAM存储器、及操作系统。
25.允许在计算环境中进行安全数据通信的方法,包括提供具有独立计算能力的移动设备,其可与计算环境连接;及提供与移动设备合作的移动设备服务器以将数据提供给移动设备。
26.根据权利要求25的方法,还包括在移动设备和计算环境之间建立通信链路。
27.根据权利要求26的方法,还包括在移动设备和移动设备管理服务器之间建立通信链路。
28.根据权利要求27的方法,还包括在移动设备管理服务器处鉴别移动设备以确定移动设备的权限和特许。
29.根据权利要求28的方法,还包括接收从移动设备到移动设备管理服务器的网络服务请求。
30.根据权利要求29的方法,还包括使用服务器对象访问协议接收从移动设备到移动设备管理服务器的网络服务请求。
31.根据权利要求29的方法,还包括使用移动设备鉴别信息在移动设备管理服务器处查找所请求的网络服务。
32.根据权利要求31的方法,还包括将所查找的网络服务变换为移动设备本地的网络服务格式。
33.根据权利要求31的方法,还包括使用移动设备鉴别信息加密所查找到的网络服务。
34.根据权利要求33的方法,还包括将所查找到的加密的网络服务从移动设备管理服务器传送给移动设备。
35.根据权利要求34的方法,还包括在移动设备处处理所传送的加密的网络服务以在协作的计算环境上显示和控制。
36.具有计算机可读指令的计算机可读介质,所述指令指示计算机执行如权利要求35所述的方法。
37.跨计算环境安全传送网络服务的系统,包括用于与协作的计算环境连接的第一装置,第一装置具有独立的计算能力;及向第一装置安全提供网络服务的第二装置。
38.根据权利要求37的系统,还包括第三装置,用于将第一和第二装置连接在一起。
39.根据权利要求38的系统,还包括第四装置,用于鉴别和验证第一装置从第二装置访问网络服务的权限和特许。
40.根据权利要求39的系统,还包括第五装置,用于与用于鉴别的第四装置合作加密网络服务。
41.根据权利要求40的系统,其中网络服务包括用户管理网络服务、计算应用程序及数据中的任何一种或多种。
42.远程获取安全网络服务的方法,包括配置使用协作的计算环境的移动设备,使得移动设备可运行一个或多个能够在协作的计算环境上运行网络服务的计算应用程序;与至少一协作的移动设备管理服务器建立通信;在移动设备管理服务器处鉴别移动设备以确定移动设备访问移动设备管理服务器上的网络服务的权限、接入和特许;在移动设备管理服务器处从移动设备接收网络服务请求;使用移动设备鉴别信息处理网络服务请求;查找网络服务以满足移动设备的网络服务请求;根据所选择的加密协议加密网络服务;及将请求的移动服务传送给移动设备以在协作的计算环境上运行。
43.根据权利要求42的方法,还包括使用用户标识和用户密码信息在协作的计算环境上鉴别移动设备。
44.根据权利要求42的方法,还包括在配置使用协作的计算环境的移动设备时自运行在移动设备上发现的至少一应用程序或例程。
45.根据权利要求42的方法,还包括与第三方网络服务提供商合作以获得所请求的网络服务。
46.根据权利要求42的方法,还包括与java虚拟机合作以获得遗留应用程序和数据。
47.具有计算机可读指令的计算机可读介质,所述指令指示计算机执行如权利要求42所述的方法。
全文摘要
本发明提供了允许安全移动计算的移动设备平台(500)。在用以说明的实施方式中,示例性的移动设备平台(500)包括用于通过通信接口(510)与至少一计算环境(515)通信的移动设备(505),其中移动设备(505)用于处理和保存安全的网络服务(540、550、560、580),通信网络(530)使用网络服务(540、550、560、580)传送数据和计算应用程序,及移动设备管理服务器(535、545、555、575)用于产生、处理、保存、传送及加密到移动设备(505)的网络服务(540、550、560、580)。此外,移动设备管理服务器(535、545、555、575)用于执行一个或多个移动设备管理功能以向协作的移动设备提供加密密钥并鉴别和验证从移动设备管理服务器(535、545、555、575)请求网络服务的协作的移动设备(505)。移动设备管理服务器(535、545、555、575)和移动设备(505)还可使用用户标识和密码信息执行鉴别和验证。
文档编号H04L29/06GK1890656SQ200480029359
公开日2007年1月3日 申请日期2004年4月30日 优先权日2003年9月29日
发明者彼得·布克曼, 里克·查理斯·怀特 申请人:瑞姆系统公司