移动设备服务器的制作方法

文档序号:7608298阅读:249来源:国知局
专利名称:移动设备服务器的制作方法
技术领域
在此描述的系统和方法涉及移动计算技术,特别是涉及允许安全、远程移动计算的移动设备管理服务器。
背景技术
企业和个人均日益要求移动性作为他们的计算环境的特征。对于企业,移动性允许跨全然不同的地理位置进行人员部署,这使得企业能更好地服务它们的客户。例如,大的制药公司可能希望将它们的销售人员部署在靠近目标客户(如医生)的“现场”。在这样的环境中,“现场”人员可能希望通过安全连接能有权使用敏感的销售和市场推广信息及计算应用程序。在目前的解决方案中,这些人员通常被留以麻烦的任务,即在一天结束时将他们的数据通过某一安全的计算机网络连接(如虚拟专用网)与他们的企业网络“同步”。相比较而言,个人在他们的计算环境中寻求移动性是为了获得接近他们的数据和计算应用程序的能力,更重要地,在因特网通信时代始终保持“连通”。
响应于移动计算的需要,计算环境制造商已开发了移动计算技术(如独立、网络和/或嵌入技术),这些技术使人们可在旅途中享受他们的计算环境。这样的移动设备目标在于允许用户一直“携带”他们的文件和应用程序。尽管提供了移动性,但这些设备趋向于边际效应,因为它们的形状因子、处理能力和可携带性均是变化的。由于这样的限制,用户通常不得不拖拉较大的便携式计算机随其左右,以确保他们具有所有需要的文件和计算应用程序。这样的实践以计算系统的内在设计为前提——即采用“以设备为中心的”计算。
对于“以设备为中心的”计算用户,尽管可经远程通信应用(如虚拟专用网)远程且安全地访问文件,但还是不得不将较大的、笨重的计算装置随其携带以检索他们的数据和计算应用程序。更重要地,对于以设备为中心的计算,用户通常被提供给一设备用于他们的企业计算需要(如公司个人计算机、膝上型电脑),并通常在他们的家中具有一个或多个计算环境以用于个人使用目的。在维护多个计算环境时,计算机用户承担在他们的许多不同计算环境之间同步其习惯参数选择和设置的任务。这样的任务非常费劲且经常因不能在许多不同计算环境之间使用想要的数据和/或计算应用程序而使计算机用户失败。
例如,计算机用户可能希望使来自其财务规划和管理计算应用程序(如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找到的w3SOAP规约)提供编码请求和响应的标准方式。其使用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示出了部署在说明性的网络计算环境中的说明性的移动设备管理服务器(MDMS)的示例性组件的框图。如图所示,说明性的网络计算环境包括站点A、站点B和站点C,分别具有示例性的MDMS和组件。站点A包括MDMS502,MDMS502本身包括操作系统504。操作系统(OS)504被示出可支持java虚拟机(JVM)506,继而可支持MDMS.java代码508。那里的MDMS.java代码508包括SOAP链538和服务548。另外,操作系统504用于支持和与用户数据库510、密钥数据库512和文件存储器514合作。同样,操作系统504用于支持和与驻留应用程序550、JVM552、和JVM554合作。此外,OS504用于支持和与加密驱动器、通信接口驱动器和网络驱动器合作。镜像OS504、MDMS502维护硬件如硬件加速器、通信接口端口、及在MDMS502运行期间与加密驱动器、通信接口驱动器和网络驱动器合作的网络接口卡(NIC)。
另外,如图所示,MDMS包括存储区网络(SAN)/网络附加存储(NAS)接口516,其用于将MDMS502连接到协作的文件/数据存储518和协作的MDMS520和522。SAN/NAS接口516可通过通信网络519连到协作的文件/数据存储器和MDMS520和522。同样,如图所示,MDMS502可与驻留在MDMS502本地或地理上与其全异的其它MDMS环境536和528合作。MDMS环境536可包括MDMS534和文件/数据存储522。类似地,MDMS环境528可包括用于连到文件/数据存储524的MDMS526和MDMS530。
在SOAP链模块538内可驻留许多子模块,其包括但不限于用于监视数据通信的封包探测器、用于维护数据特许和访问的安全实施、用于计量服务使用的使用/监控、及用于缓存网络服务以与请求组件(如经鉴别的MD,未示出)协作的网络服务代理。这些子模块可由一个或多个子模块应用程序控制,其可包括但不限于用于封包探测器子模块的管理调试程序、用于安全/实施子模块的安全管理程序、用于使用/监控子模块的计量管理程序、及用于网络服务代理的代理管理程序。
在服务模块548内可驻留很多服务,其可包括但不限于移动设备管理器、加密管理器(PKCS管理器)、文件传输服务、网络服务管理器、网络服务接入控制服务、网络服务计量服务、统一、描述、发现和集成目录(UDDI目录)服务、UDDI储存库服务、文件系统(如Omni文件系统)、SOAP代理服务、网络服务变换器服务、及用于执行包括但不限于负责均衡、MDMS热交换和故障转移等功能的服务操作的质量。
驻留程序550可包括但不限于安全、路由器、SAN/NAS控制、和加密控制。JVM552可包括用于处理加密信息(如密钥信息)、用户鉴别、服务分配、及MDMS java操作的代码。而JVM554可包括允许其仿真移动设备硬件结构的java代码。
在运行中,MDMS补充支持一个或多个上述组件以处理网络服务请求并将使用加密进程的网络服务安全地提供给使用鉴别和验证信息的请求协作组件。MDMS502可与其它MDMS环境如MDMS环境536和528合作以满足网络服务的请求。
在说明性的实施方式中,MDMS501提供用户数据的安全管理、应用程序和服务的注册、及存储器的协调。在运行中,MDMS501支持用户访问和管理功能。例如,移动桌面用户可通过MDMS501连接到其应用程序和数据。在这种情况下,在连接的基础上,MDMS501检查用户鉴别和参数选择。访问控制可被自动地施加,“皮肤”可被应用到应用程序和服务,使得它们适合参与用户的环境。请求应用程序和数据可以本地设备的速度进行处理并可为了系统改善而进行监视。
此外,MDMS502用于使用户能够访问他们有权访问的文件存储器(如518、532和524),并将文件公布给个人、群组或整个世界。在这种情况下,MDMS502可使用不同的MDMS组件以提供文件、应用程序/服务(548和550)及海量存储器的管理。此外,MDMS502允许更强的管理,因为其向管理员提供从远程位置使用协作的移动设备(未示出)连接到MDMS502的能力。
如图5所示,MDMS502可包括很多功能组件和模块。这些组件和模块可用于提供下述功能,包括但不限于安全性、移动设备管理、加密密钥跟踪和管理、事务的计量、文件系统管理、应用程序/服务管理、应用程序预约管理、网络服务监视、继承基础设施扩展、数据存储管理、及机群部署和管理。
图6示出了当示例性的MDMS502与协作的MDMS和MD协作以处理网络服务时其所执行的处理。如图所示,处理开始于分程序块600,并进入程序块605,执行检查以确定协作的MD授权是否需要被创建或更新。如果在程序块605的检查指示MD授权不需要被建立或更新,处理返回程序块600并继续从那里开始。
然而,如果在程序块605的检查表明MD授权需要被建立或更新,处理进行到程序块610,执行检查以确定协作的MD对MDMS而言是否是新的MD及是否要求MDMS进行初始鉴别。如果在程序块610的检查表明需要对新MD鉴别,处理进行到程序块615,MDMS为新的MD产生鉴别信息。处理从那里进行到程序块620,加密密钥被产生并传送给正被鉴别的MD。鉴别和加密信息接着在程序块625被传送给正被鉴别的协作MD。MDMS接着使用鉴别和加密信息将MD的组员与协作的文件系统相关联。接着在程序块635执行检查以确定鉴别是否成功。如果在635确定检查未被视为成功,则处理进行到程序块640,产生差错。鉴别错误接着在程序块645被矫正。处理从那里返回到程序块635的输入并从那里继续。
然而,如果在程序块635,确定已通过鉴别测试,处理进行到程序块650,执行检查以确定对协作的MD是否要求许可变化。如果在程序块650的检查表明许可变化被要求,处理进行到程序块655,鉴别和/或加密信息被更新。处理从那里返回到程序块635的输入并从那里继续。
然而,如果在程序块650的检查表明没有许可变化被需要,处理进行到程序块650,MD鉴别配置结束。同样,如果在程序块610的检查表明其不是要求鉴别的新MD,处理进行到程序块650的输入并从那里继续。
图7示出了在处理网络服务的说明性实施方式中示例性的移动设备管理服务器502执行的处理。如图7中所示,处理开始于程序块700并进行到程序块705,执行检查以确定MDMS是否已开始与协作的通信网络进行通信。如果在程序块705的检查表明通信尚未被占用,处理返回到程序块700并从那里继续。然而,如果在程序块705确定通信已由MDMS卷入协作的通信网络中,处理进行到程序块710,执行检查以确定一个或多个协作的MD是否已从MDMS请求一个或多个网络服务。如果在程序块710的检查表明没有MD请求网络服务,处理返回到程序块710的输入并从那里继续。
然而,如果在程序块710的检查表明一个或多个协作的MD有网络服务请求,处理进行到程序块715,MD被MDMS使用MD安全和鉴别服务进行鉴别。接着在程序块720执行检查以确定MD是否已被鉴别。如果MD已被鉴别,处理进行到程序块735,网络服务请求被处理。网络服务接着在程序块740和745由MDMS和MD执行。
然而,如果在程序块720的检查表明MD尚未被鉴别,处理进行到程序块725,产生差错。处理从那里进行到程序块727,执行检查确定是否将再次尝试被鉴别。如果在程序块727的检查表明MD鉴别将被重试,处理返回到程序块720并从那里继续。然而,如果在程序块727的检查表明MD鉴别将不被重试,处理在程序块730终止。
图8示出了在网络服务处理的另一实施方式中示例性的移动设备管理服务器502执行的处理。如图8中所示,处理开始于程序块800并进行到程序块805,执行检查以确定一个或多个经鉴别的MD是否已请求一个或多个网络服务。如果在程序块805确定没有来自经鉴别的MD的网络服务请求,处理返回到程序块800并从那里开始。然而,如果在程序块805确定有来自一个或多个经鉴别的MD的网络服务请求,出来进行到程序块810,MDMS从协作的文件存储器、协作的网络服务提供商和其它协作的MDMS中的任一个检索数据和/或计算应用程序。从那里在程序块815执行检查以确定所检索的网络服务是否要求变换为MD本地网络服务格式。如果程序块815表明不需要变换,处理进行到程序块825,所请求的数据和/或计算应用程序按所选择的加密协议(如使用公钥/私钥)进行加密。处理从那里进行到程序块830,加密的数据和/或计算应用程序被传送给请求鉴别的MD。自此,在程序块835,MD操作被计量以由MDMS获得使用、行为、相似性及类似的度量。计量数据接着在程序块840被保存以供随后使用。接着在程序块845执行检查以确定保存的计量数据是否将被报告。如果在程序块845的检查表明计量数据将被报告,处理进行到程序块845,计量数据被分析以产生计量报告。处理接着在程序块855终止。
然而,如果程序块815处的检查表明要求变换,处理进行到程序块820,所请求的网络服务被变换为MD本地网络服务。处理从此进行到程序块825并从那里继续。
图9示出了在网络服务处理的另一实施方式中示例性的MDMS502执行的处理。如图9中所示,处理开始于程序块900并进行到程序块905,执行检查以确定一个或多个经鉴别的MD是否已请求一个或多个网络服务。如果在程序块905确定没有来自经鉴别的MD的网络服务请求,处理返回到程序块900并从那里开始。然而,如果在程序块905确定有来自一个或多个经鉴别的MD的网络服务请求,出来进行到程序块910,MDMS从协作的文件存储器、协作的网络服务提供商和其它协作的MDMS中的任一个检索数据和/或计算应用程序。从那里在程序块915执行检查以确定所检索的网络服务是否要求变换为MD本地网络服务格式。如果程序块915表明不需要变换,处理进行到程序块925,所请求的数据和/或计算应用程序按所选择的加密协议(如使用公钥/私钥)进行加密。处理从那里进行到程序块930,加密的数据和/或计算应用程序被传送给请求鉴别的MD。自此,在程序块935执行检查以确定MDMS和协作的MD之间的通信链路是否为工作链路。
如果在程序块935的检查表明链路是活动链路,处理进行到程序块945,任何已缓存的事务均被同步。自此,在程序块950,MD操作被计量以由MDMS获得使用、行为、相似性及类似的度量。计量数据接着在程序块955被保存以供随后使用。接着在程序块960执行检查以确定保存的计量数据是否将被报告。如果在程序块960的检查表明计量数据将被报告,处理进行到程序块965,计量数据被分析以产生计量报告。处理接着在程序块970终止。
然而,如果程序块935的检查表明通信链路不是工作链路,处理进行到程序块940,所请求的网络服务被缓存。处理从那里进行到程序块935的输入并从那里继续。同样,如果程序块915的检查表明要求变换,处理进行到程序块920,所请求的网络服务被变换为MD本地网络服务。处理从此进行到程序块925并从那里继续。
总之,在此描述的系统和方法提供移动设备管理服务器用作移动设备平台的一部分。然而,应理解的是,本发明容许不同的修改和可供选择的结构,并不意为本发明限于在此描述的具体结构。相反,本发明应覆盖所有修改、可供选择的结构、及落在本发明范围和精神之内的等价方案。
还应注意的是,本发明可被实施在多种计算机环境(包括非无线和无线计算机环境)、局部计算环境、和真正的全球环境中。在此描述的不同技术可以硬件或软件或其结合进行实施。优选地,该技术被实施在维护可编程计算机的计算环境中,其包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一输入设备、及至少一输出设备。与不同指令集协作的计算硬件逻辑被应用于数据以执行上述功能并产生输出信息。输出信息被施加到一个或多个输出设备。示例性的计算硬件使用的程序最好以不同的编程语言实现,包括高级程序或对象导向的编程语言,以与计算机系统通信。说明性地,如果需要,在此描述的装置和方法可以组件或机器语言实施。无论如何,语言可以是编译或解释的语言。每一这样的计算机程序最好被保存在存储介质或设备(如ROM或磁盘)上,其可由一般或专用可编程计算机读以配置和运行计算机,当存储介质或设备被计算机读时执行上述规程。装置还可考虑被实施为计算机可读的存储介质,用计算机程序配置,那样配置的存储介质使计算机以特殊及预定的方式运行。
尽管本发明的示例性实施方式已在上面详细描述,本领域的技术人员将容易地意识到,在不本质上脱离本发明的新颖示教和优点的情况下,对示例性的实施例进行许多另外的修改是可能的。因此,这些及所有这样的修改均应包括在本发明的范围之内。本发明可由下面的示例性权利要求更好地定义。
权利要求
1.提供网络服务的服务器计算环境,包括用于运行操作系统的硬件平台;用于在服务器计算环境和协作的组件之间通信网络服务和相关的网络服务事务数据的通信接口;能够将网络服务变换为能被协作的组件处理的本地格式的变换模块;及用于使用协作的组件的鉴别和验证信息加密包括在一个或多个网络服务中的数据和计算应用程序的加密模块。
2.根据权利要求1的服务器计算环境,还包括驻留的网络服务,其包括移动设备管理器、加密管理器、文件传输管理器、网络服务管理器、网络服务访问、网络服务计量、UDDI目录、UDDI储存库、文件系统、SOAP代理、变换器、及服务质量。
3.根据权利要求2的服务器计算环境,还包括驻留的应用程序,其包括鉴别协作的组件的安全应用程序、通信路由器、存储区网络(SAN)/网络附加存储(NAS)控制器应用程序、及加密控制。
4.根据权利要求3的服务器计算环境,还包括用于提供至少一指令集的java虚拟机,至少一指令集指示服务器计算环境执行下述操作,包括移动设备硬件仿真程序、加密控制、用户鉴别、服务控制及服务器计算环境控制。
5.根据权利要求4的服务器计算环境,还包括用户数据库,其具有参与用户运行协作的组件的数据表示。
6.根据权利要求5的服务器计算环境,还包括密钥数据库,其具有服务器计算环境在一个或多个加密进程中使用的加密密钥的数据表示。
7.根据权利要求6的服务器计算环境,还包括用于保存文件的文件存储数据存储器。
8.根据权利要求7的服务器计算环境,其中文件存储数据存储器用于保存和处理加密的文件。
9.根据权利要求8的服务器计算环境,其中文件存储数据存储器包括文件分配表(FAT)或新技术文件系统(NTFS)文件系统。
10.根据权利要求9的服务器计算环境,还包括SAN/NAS通信接口,用于将服务器计算环境连接到协作的数据存储器。
11.根据权利要求10的服务器计算环境,还包括加密驱动器,用于在处理网络服务时处理加密指令。
12.根据权利要求11的服务器计算环境,还包括通信接口驱动器,用于与协作的通信硬件组件连接以传送网络服务。
13.根据权利要求12的服务器计算环境,其中服务器计算环境调用一个或多个服务器计算环境子模块以处理网络服务请求,其中子模块包括驻留的服务、驻留的应用程序、SOAP链、及java虚拟机。
14.根据权利要求1的服务器计算环境,其中服务器计算环境与至少一提供网络服务请求的移动设备合作。
15.根据权利要求的服务器计算环境,还包括能够鉴别移动设备的管理模块。
16.在协作的计算环境之间安全传送数据和计算应用程序的方法,包括提供能够处理网络服务的服务器计算环境;在服务器计算环境和请求网络服务的协作的组件之间建立通信;鉴别协作的组件以确保它们对所请求的网络服务有权限并得到许可;及将网络服务通信给经鉴别的协作的组件。
17.根据权利要求16的方法,还包括加密作为网络服务一部分的数据及计算应用程序。
18.根据权利要求16的方法,还包括将所请求的网络服务变换为协作的请求网络服务的组件本地的格式。
19.根据权利要求16的方法,还包括对通信给经鉴别的协作的组件的网络服务执行计量操作。
20.处理网络服务的方法,包括从协作的组件接收网络服务请求;鉴别协作的组件以确定协作的组件对所请求的网络服务是否有权限和特许;基于鉴别协作的组件,加密通信给请求组件的网络服务;及将所请求的网络服务通信给经鉴别的协作的组件。
21.根据权利要求20的方法,还包括将所请求的网络服务变换为请求组件本地的格式。
22.根据权利要求21的方法,还包括对通信给经鉴别的协作的组件的网络服务执行计量操作。
23.具有计算机可读指令的计算机可读介质,所述指令指示计算机执行包括下述步骤的方法从协作的组件接收网络服务请求;鉴别协作的组件以确定协作的组件对所请求的网络服务是否有权限和特许;基于鉴别协作的组件,加密通信给请求组件的网络服务;及将所请求的网络服务通信给经鉴别的协作的组件。
24.安全通信网络服务的系统,包括用于处理网络服务的第一装置;用于保存网络服务及相关的网络服务事务数据的第二装置;用于使用协作的组件提供的鉴别和验证信息加密网络服务的第三装置;用于将网络服务变换为能被协作的组件处理的本地格式的第四装置;用于将网络服务通信给协作的组件的第五装置。
25.根据权利要求24的系统,还包括用于计量协作的组件的网络服务使用的第五装置。
26.根据权利要求25的系统,还包括用于鉴别协作的组件的第六装置。
全文摘要
本发明提供了用作允许安全移动计算的移动设备平台(400)一部分的移动设备管理服务器(MDMS)(502)。在说明性的实施方式中,示例性的移动设备平台(MDP)(400)包括用于通过通信接(410)与至少一计算环境通信的移动设备(MD)(405),其中MD(405)用于处理和保存安全网络服务(430),通信网络(435)用于使用网络服务(430)通信数据和计算应用程序(180’),MDMS(502)用于产生、处理、保存、通信并加密到MD(405)的网络服务(430)。此外,MDMS(502)用于执行一个或多个移动设备管理功能以向协作的MD(405)提供加密密钥(552)并鉴别和验证从MDMS(502)请求网络服务(430)的协作的MD(405)。MDMS(502)还可用于执行计量功能并可用于支持其自身和协作的MD(405)之间的间歇性连接。
文档编号H04W12/02GK1894897SQ200480028276
公开日2007年1月10日 申请日期2004年4月30日 优先权日2003年9月29日
发明者彼得·布克曼, 里克·查理斯·怀特 申请人:瑞姆系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1