将个性化计算环境从源平台移植到目标平台的方法和系统的制作方法

文档序号:6411727阅读:152来源:国知局
专利名称:将个性化计算环境从源平台移植到目标平台的方法和系统的制作方法
技术领域
本发明一般地涉及一种将个性化计算环境从源机器平台移植到目标机器平台的方法和系统,尤其涉及一种通过基于公共信息模型的系统管理基础架构(CIM-based system management infrastructure)将个性化计算环境从源机器平台移植到目标机器平台的方法和系统。
背景技术
通常,计算环境包括具有软件/固件(OS,应用程序等)的一个设备或一组设备以向最终用户提供一组计算服务。而个性化计算环境是指在计算环境的使用期间由最终用户直接或间接产生的硬件/固件/软件的变化。通过再运用这些变化,最终用户可以复原其在某个时间的计算环境的工作状态。而如何在计算机移植中使个性化计算环境得以保留并不是一个简单的过程.通常商用操作系统提供商(比如MicrosoftTM)会希望将一个计算环境(基于Windows2000TM的计算环境)移植到另一个提供商的计算环境(比如基于LinuxTM的计算环境)上,既使不是不可能的事情,也是极其困难的。而且既使是所涉及的计算机正在运行相同操作系统的恰恰相同版本时,这种移植也是非常困难的。例如,如果镜像(或磁盘拷贝)不是一种选择的话,则从WindowsTM的一个计算环境移植到另一个上将是很费劲的工作。
这些不平常的困难可以归因于如下一个事实在系统设计期间,系统的个性化计算环境的定义及可萃性(extractability)几乎从未成为过关注焦点。另外,对于跨平台的个性化计算环境的表达(representation)的缺乏更加恶化了计算环境的可移植性。最后,用户对目标机器平台上的应用程序的不熟悉也是对用户的移植动机的另一个负面影响。
与系统移植相关的现有技术的文献请参见美国专利申请US2003/0067485A1,US 2003/0070061A1和US 2003/0135648A1。
由于移植的复杂性,已开发了一些工具用于帮助实现移植任务。其中,一些工具是用于PC移植目的。它们能够将一个PC(源)上的个性化计算环境移植到另一个PC(目的)上以帮助用户在安装了不同的OS和应用程序设置的目的PC上复原其工作状态,但是,所有这些工具都仅支持运行WindowsTM家族OS(Windows 95TM,Windows 98TM,Windows MeTM,Windows 2000TMor WindowsXpTM)的两个PC间的移植,例如,Aloha Bob PC RelocatorTM,Desktop DNATM,SMATM,IntelliMoverTM,PCSyncTM,PT PROTM,Altiris PC TransplantTM.它们是设计用于WindowsTM的,尤其是其信息探查和信息表达方法是用于WindowsTM的,而不支持跨平台的移植。这是因为在不同的平台上有不同的概念,并且即使是同一个概念在不同的平台上也以不同的形式进行表达。例如,在UnixTM文件系统中并不存在WindowsTM文件系统中“驱动器X”的概念。如果实在要在UnixTM上表示“驱动器X”的概念(使其具有相同的意义),则它将会是如“挂接在目录X下的设备名为/dev/hdxN的磁盘驱动器”的表示。
可见,当前的工具是设计用于特定的两个平台(多为运行同属一系列的操作系统和应用程序的近似平台)的并且大多数仅支持单向的移植(例如支持Windows 95到Windows2000的移植,反之则不支持)。而且,没有帮助用户用其在一个平台的已有应用程序上所形成的概念和经验熟悉在另一个平台上的与该已有应用程序功能相似的一个新应用程序的工具,例如,当用户从MSWordTM移植到OpenOffice WriterTM时。
因此,需要一种全新的不依赖于特定平台的并且不限于仅支持单向移植的移植系统和方法。而且需要一种能够帮助用户用其在一个平台的应用程序上已形成的概念和经验熟悉另一个平台上功能相似的一个新应用程序的机制。

发明内容
鉴于上述技术状态,本发明的目的是提供一种在任何两个不同或相同的平台之间移植计算环境而不丢失其个性化的移植系统及方法。
在本发明中,提出了一种依赖于基于CIM(Common Information Model,公共信息模型)标准的系统管理基础架构的新的体系结构(architecture),该体系结构能够允许进行跨平台的个性化计算环境移植。其中CIM标准是一种新近提出的用于对企业计算环境中的所有元素建模的标准,CIM模型是不限于特定实现的用于描述管理的概念性信息模型。该标准允许在管理系统和应用之间进行管理信息的相互交换。这种信息交换可以是为分布式系统管理提供的从“代理到管理者”的通信,也可以是为分布式系统管理提供的从“管理者到管理者”的通信。CIM分为两部分CIM规范和CIM方案。其详细说明请参见http//www.dmtf.org/standard s/cim。
并且本发明还提出了一种新的机制,双面用户界面导航器,以便通过在用户所熟悉的应用程序的知识和新的应用程序的知识之间搭建一个桥梁而在线地帮助用户熟悉新的应用程序。
根据本发明的一个方面,提供了一种将个性化计算环境从源机器平台移植到目标机器平台的方法,其中所述源机器平台和目标机器平台均具有在基于CIM的系统管理基础架构之上提取出来的CIM对象,该方法包括a.在一个数据库中提供多个平台之间的CIM对象移植规则;b.从所述数据库中提取所述源机器平台和目标机器平台之间的CIM对象移植规则;c.根据所提取的移植规则,从所述源机器平台提取与所述个性化计算环境相关的CIM对象;d.根据所提取的移植规则,从目标机器平台提取与所述提取的源机器平台的CIM对象相应的CIM对象;e.根据所提取的移植规则,产生对所述提取的目标机器平台的CIM对象要执行的移植任务;f.对所述提取的目标机器平台的CIM对象执行所产生的移植任务。
根据本发明的另一个方面,提供了一种将个性化计算环境从源机器平台移植到目标机器平台的系统,所述源机器平台和目标机器平台均具有在基于公共信息模型的系统管理基础架构之上提取出来的CIM对象,所述系统包括数据库,其中记录了多个平台之间的CIM对象移植规则;移植规则提取器,用于从所述数据库中提取所述源机器平台和目标机器平台之间的CIM对象移植规则;CIM对象提取器,用于根据所述移植规则提取器所提取的移植规则,从所述源机器平台提取与所述个性化计算环境相关的CIM对象,并且根据所提取的移植规则,从目标机器平台提取与所述提取的源机器平台的CIM对象相应的CIM对象;移植任务产生器,用于根据所提取的移植规则产生对所述CIM对象提取器所提取的目标机器平台的CIM对象要执行的移植任务;以及移植任务执行器,用于对所述CIM对象提取器所提取的目标机器平台的CIM对象执行所述移植任务产生器所产生的移植任务。
从而,根据本发明所提供的移植系统和方法,能够在任何类型的两个机器平台之间进行个性化计算环境的移植,并且支持双向的移植。


图1示出了根据本发明的实施例的将个性化计算环境从源机器平台移植到目标机器平台的一个示例及其基本操作过程;图2是示出实现根据本发明的实施例的将个性化计算环境从源机器平台移植到目标机器平台的系统的基本组成的方框图;图3是说明根据本发明的实施例的CIM对象类型的继承关系的示意图;图4是说明根据本发明的实施例的映射路径的组成的示意图;图5是说明根据本发明的另一个实施例实现的移植工具的组成的方框图;图6是说明根据本发明的实施例的映射路径间的依赖关系检查的示意图;图7示出了根据本发明的另一个实施例的将个性化计算环境从源机器平台移植到目标机器平台的一个示例及其操作过程;图8示出了图7所示的双面用户界面导航器(Double-face UI Navigator)的组成及其工作过程;图9是说明根据本发明的实施例的将个性化计算环境从源机器平台移植到目标机器平台的方法的流程图。
具体实施例方式
下面将参照

本发明的优选实施例。
图1示出了根据本发明的实施例的将个性化计算环境从源机器平台移植到目标机器平台的一个示例及其基本操作过程。在本发明中,应该理解的是从源机器平台(以下简称为“源平台”)到目标机器平台(以下简称为“目标平台”)的个性化计算环境移植是在基于CIM的系统管理基础架构之上进行的。如图1中所示,在该示例中,源平台例如是基于WindowsTM的系统,目标平台例如是基于LinuxTM的系统,但是根据本发明的源平台和目标平台的操作系统的类型并不限于此,而是可以为其它的任何一种类型的操作系统,比如,SolarisTM、MacOSTM、PalmTM等等。而且,根据本发明的源机器和目标机器也不仅限于为计算机,而是可以是其它任何具有一定计算能力的设备,比如,个人数字助理、记事本、移动电话等等。并且在该示例中,源平台和目标平台在基于CIM的系统管理基础架构之上分别由其中的CIM对象提供器抽象出各自的CIM对象。
为了将个性化计算环境从源机器传送到目标机器,移植系统将根据源机器中的CIM对象中所包含的个性化内容对目标机器中的CIM对象执行一组操作。如我们可以从CIM标准中学习到的,不同的平台共享在CIM公共方案中定义的对象类型并且区别于在特定于平台的CIM扩展方案中定义的对象类型。因此,我们需要CIM对象映射规则(在下文中,有时也称为“移植规则”)以指导所述操作。
这些CIM对象映射规则通常是由资深专家根据经验而制定出来,并且被记录在数据库中,故该数据库也被称为是基于知识的对象映射数据库(Knowledge-based Object Mapping Database,以下简称为KOMD),它实际上是一组以特定数据格式组织的CIM对象映射规则。在本发明的KOMD中,记录了不限于特定平台的多种类型的多个源平台与目标平台之间的CIM对象映射规则。并且该KOMD可以位于移植工具所能够访问到的任何地方,例如其可以位于源平台、目标平台上,也可以位于源平台和目标平台之外的服务器上。
也就是说,在KOMD中被提供了多个平台之间的CIM对象移植规则,如图1中所示,例如包含有WindowsTM和LinuxTM之间的CIM对象移植规则。
首先,用户向移植工具发出移植请求。在该移植请求消息中,指定了所涉及的源机器和目标机器,即,如上所述的基于WindowsTM的源机器和基于LinuxTM的目标机器。当该请求到达时,移植工具从KOMD中找到对应于源及目标平台类型的移植规则集合,即,所述WindowsTM和LinuxTM之间的移植规则集合并提取移植规则,然后根据这些移植规则通过基于CIM的系统管理基础架构从源机器提取与个性化计算环境相关的CIM对象,然后在移植规则的指导下,移植工具通过基于CIM的系统管理基础架构从目标机器提取相应的CIM对象,并根据该移植规则产生对目标CIM对象所要执行的移植任务,以及对目标CIM对象执行这些移植任务。当所有的移植任务都被执行了时,就意味着移植已经完成。
在上述的工作流程中,移植工具相当于发明内容部分中所描述的移植规则提取器、CIM对象提取器、移植任务产生器及移植任务执行器,该移植工具通过对CIM对象的操作与用户交互和进行移植。而这些操作是在数据库中的移植规则的指导下进行的。
图2是示出实现根据本发明的实施例的将个性化计算环境从源平台移植到目标平台的系统的基本组成的方框图。该移植系统包括数据库,其中记录有多个平台之间的CIM对象移植规则;和用于根据数据库中的移植规则实现移植的移植工具,其中又包含有4个基本模块,即,移植规则提取器、CIM对象提取器、移植任务产生器及移植任务执行器。
移植工具工作在基于CIM的系统管理基础架构之上。其如同在WBEM(WebBased Enterprise Management,基于Web的企业管理)中定义的管理应用程序那样起作用。其中WBEM是一种标准的CIM管理体系结构,有关其详细说明请参见http//www.dmtf.org/standards/wbem。该移植工具所能够看到的是表示特定机器,即,源机器和目标机器上的个性化计算环境(除用户数据外)的一组CIM对象。移植工具是基于移植API(Application Interface,应用程序接口)实现的,而移植API是用于移植目的的CIM API的抽象层和其他的API。这里,值得注意的是移植工具是在基于CIM的系统管理基础架构之上工作。通过标准的CIM API,移植工具使用KOMD中的映射规则在移植逻辑的指导下对这些CIM对象执行操作。如图2中所示,移植工具中的4个基本模块分别如下进行操作。响应于用户的移植请求,移植规则提取器从KOMD中找到对应于源平台和目标平台类型的移植规则集合,并从中获取移植规则。根据这些移植规则,CIM对象提取器通过基于CIM的系统管理基础架构从源机器提取与个性化移植环境相关的CIM对象。接着在移植规则的指导下,CIM对象提取器通过基于CIM的系统管理基础架构获取目标机器上与所提取的源平台的CIM对象相应的CIM对象。移植任务产生器则根据移植规则产生要对所提取的在目标平台侧的CIM对象执行的移植任务。而移植任务执行器负责执行这些移植任务。
以上对用4个基本模块实现移植工具的情形进行了描述,但本发明并不仅限于此,在实现移植工具时,也可以将上述模块进行组合或分解为更详细的模块,或者还可以如下文中将要描述的那样、更进一步地包括实现移植功能的其它附加模块,只要这些模块组合起来能够实现如发明内容部分所述的移植工具的功能即可。
下面将参考图3和图4对映射机制进行详细描述。如图3中CIM对象类型的继承关系的示意图所示,源机器和目标机器共享在CIM公共方案中定义的对象类型A和B,而它们在CIM扩展方案中定义的对象类型分别为源机器中的CIM对象类型C、及目标机器中的CIM对象类型D和E。当如图3中所示的源机器上的CIM对象类型C在目标机器上的对应CIM对象类型为E时,除了它们均继承的B中的内容外,所有C的属性和方法都将被映射到E。当C在目标机器上的对应对象类型为D时,除了它们均继承的A中的内容外,所有B和C中的属性和方法都将被映射到D。映射规则包含映射路径。如图4所示,每个映射路径包含一对源元素和目标元素。该元素可以是对象类型、属性或方法。在每个映射路径中存在一系列函数(也称为“映射函数列表”),并且将为每个映射路径检查一对前/后条件。该映射函数列表及对前/后条件的检查决定了对目标CIM对象所要执行的移植任务。
图5是说明根据本发明的另一个实施例实现的移植工具的组成的方框图。与图2中所示的移植工具相比较,除了移植规则提取器、CIM对象提取器、移植任务产生器及移植任务执行器4个模块(其已在前面参考图2进行了说明,在该实施例中将省略对其基本功能的描述)之外,图5中的移植工具还额外地包含有两个模块用于处理用户的移植请求的移植请求处理器,和用于存储由移植任务产生器所产生的移植任务的移植子任务队列。
应该注意到,根据本发明的移植工具是工作在基于CIM的系统管理基础架构之上的。在该实施例中,当用户发出移植请求(其中指定了要进行移植的源机器和目标机器)时,由移植请求处理器处理该请求。它将验证请求者在下面的移植活动中对所指定的源机器和目标机器的访问权限。在验证成功了之后,移植请求处理器分别将源机器和目标机器的访问入口地址提供给移植规则提取器、CIM对象提取器及移植任务产生器,以便能够使用该入口地址对源机器和目的机器的CIM对象执行操作。并且其中CIM对象提取器在进行操作时,它首先询问源机器侧的与个性化移植环境相关的CIM对象的类型。这些类型是不依赖于源机器平台的(在CIM中的核心或公共方案中进行描述)或是对于源机器平台为特定的(在CIM中的扩展方案中进行描述)。然后CIM对象提取器根据这些类型通过基于CIM的系统管理基础架构从源机器提取类型匹配的CIM对象。
而且移植任务产生器在产生要放入到移植子任务队列中的移植任务时,首先解析包含在由移植规则提取器从KOMD获得的移植规则中的映射路径之间的依赖关系,并根据解析出的依赖关系由CIM对象提取器进一步从所述源平台和目标平台提取CIM对象,直到不存在进一步的依赖关系为止,最后,由移植任务产生器根据映射路径间的依赖性(例如是在用户数据移植之前应确保目标机器上的磁盘空间等)产生具有与所述依赖关系一致的顺序的移植子任务,并将这些子任务塞入到移植子任务队列中。在大多数情况下,子任务是一组CIM操作并通过CIM API得以执行。而移植子任务队列以符合上述依赖性的顺序保存所有的移植子任务,从而将这些子任务提供到移植任务执行器而不破坏这些子任务之间的依赖性。当所有的移植子任务都也被塞入到了移植子任务队列中时,移植任务产生器就插入一个结束标志。
这样,移植任务执行器通过移植API从移植子任务队列中一个个地取出子任务并执行这些子任务,直到到达该结束标志时,就意味着移植已完成了。
下面将参考图6说明根据本发明的实施例的映射路径间的依赖关系检查。当移植任务产生器按顺序产生子任务以提供到移植子任务队列时,它将检查和解析相关于每个子任务的映射路径之间的依赖性并且在不破坏该依赖规则的情况下将子任务输入到移植子任务队列中。例如,如图6中所示,X、Y、Z为源平台上的对象。其中X是表示用于VPN网络连接的虚拟设备驱动器的对象。Y是表示X和Z的依赖关系(X依赖于Z)的对象。图6中所示箭头则表示对象Y的引用。引用告诉我们在依赖关系中涉及哪个对象。x,y,z为目标平台上的相应对象。从而,我们得到了3个如下表示的子任务X→x,Y→y,Z→z。当移植任务产生器产生子任务X→x时,它将发现X→x与Y→y具有依赖关系,然后又发现Z→z。则移植任务产生器将首先把Z→z输入到任务队列中,然后是X→x,最后是Y→y。
图7示出了根据本发明的另一个实施例的将个性化计算环境从源平台移植到目标平台的一个示例及其操作过程。其中移植系统的基本组成部分及其功能与图1中的相同。故这里对于参考图1已描述过的相同的组成部分及其功能不再赘述。图7中与图1中的示例的区别之处在于图7中的移植工具还包括一个双面用户界面导航器。该双面用户界面导航器通过在用户所熟悉的应用程序的知识和新的应用程序的知识之间搭建一个桥梁而在线地帮助用户熟悉该新的应用程序。
为了帮助对用户所熟悉的应用程序的移植,双面用户界面导航器提供了一种全新的在线帮助机制以有利于移植工作的顺利进行。我们假定1.用户非常熟悉源机器上的应用程序的使用,但是对目标机器上的应用程序却不甚熟悉。2.一对应用程序,其中一个为源机器上的应用程序、另一个为目标机器上的应用程序,它们具有相似的功能,例如,MS WordTM和OpenOffice WriterTM。对于MS WordTM用户移植到OpenOffice WriterTM的主要障碍是不同的用户界面。这里,MS WordTM和OpenOffice WriterTM仅为示例性的,根据本发明的这样一对源机器和目标机器上的应用程序可以是任何其它一对功能相似的应用程序。
当激活了目标机器上的应用程序,例如为X(假定其在源机器上的相应应用程序为Y,并且Y是为用户所熟悉的)时,双面用户界面导航器将根据应用程序Y的用户界面描述提供一个覆盖应用程序X的用户界面的半透明用户界面。该半透明用户界面与用户在源机器上所熟悉的相应应用程序Y的用户界面相同,通过该半透明用户界面,用户可以根据其关于Y的知识使用X并且在Y风格的使用期间学习如何使用X。
双面用户界面导航器的组成及其工作过程可以参考图8进行描述。参照图8,其中,标记为Sapp的应用程序为源机器上的应用程序,并且标记为Capp的应用程序为Sapp在目标机器上的对等应用程序。假定用户非常熟悉应用程序Sapp的使用,而对目标机器上的应用程序Capp却不甚熟悉。
双面用户界面导航器由用户界面产生器(UI Producer)、动作导航器(Action Navigator)及帮助引擎(Help Engine)组成。其中,用户界面产生器用于根据关于Sapp的用户界面描述产生一个覆盖在Capp的用户界面上的半透明用户界面。动作导航器用于控制将由半透明用户界面触发的事件导航到Capp的用户界面的过程并且执行所产生的导航行为。帮助引擎用于产生运行时的用户界面描述,并将其提供到用户界面产生器以动态地改变Sapp的半透明用户界面。
当激活了目标机器上的应用程序Capp时,用户界面产生器从KOMD读取用户界面描述,该用户界面描述以特定格式(例如,UIML)描述了Sapp的用户界面。根据该描述,用户界面产生器创建一个半透明用户界面,该半透明用户界面覆盖在目标机器上的Capp的用户界面上。从而,用户将看到覆盖了Sapp的半透明用户界面的Capp的用户界面。用户将在Sapp的半透明用户界面上执行操作。由该半透明用户界面触发的相应事件将被导航到Capp的用户界面并产生正确地相应动作。该导航是在动作导航器的控制下进行。动作导航器根据在KOMD中描述的映射规则执行导航行为,该导航行为是一种映射。为了帮助用户学习Capp的使用,我们将帮助引擎插入到导航路径中。通过预编码的帮助指导方案,帮助引擎能够产生运行时的用户界面描述,然后提供到用户界面产生器以动态地改变Sapp的半透明用户界面。通过该机制,双面用户界面导航器能够关于用户操作并在帮助指导方案的指导下在半透明用户界面上显示帮助主题。
因此,综上所述,通过双面用户界面导航器,用户可以根据其已有的在源机器应用程序上的知识使用和学习如何使用目标机器上的功能相似的新应用程序。
另外,在图7所示的示例子中,移植工具在执行完所产生的所有移植任务后,还进一步从源平台中收集在用户请求中所指定的用户数据,并将所收集的用户数据传送到目标平台。
图9是说明根据本发明的实施例的将个性化计算环境从源平台移植到目标平台的方法的流程图。
如前面参照图1所述的那样,在开始移植前,KOMD中已被提供了多个平台之间的CIM对象移植规则。
参考图9,在步骤S100,用户发出移植请求,在该请求中指定了源平台及目标平台的类型信息。在步骤S101,如图5中所示的移植请求处理器接收用户的移植请求并且对其进行处理。它首先对发出请求的用户的访问权限进行验证,当验证成功后,移植请求处理器就将源平台及目标平台的访问入口地址提供给移植工具中所包含的其它模块,以便能够使用该入口地址对源机器和目的机器的CIM对象执行操作。接着,如图5中所示的移植规则提取器在步骤S102从KOMD中找到对应于源平台和目标平台类型的移植规则集合,并且在步骤S103从KOMD获取源平台和目标平台之间的CIM对象移植规则。
在步骤S104,如图5中所示的CIM对象提取器根据在步骤S103中所获取的CIM对象移植规则得到源平台侧的CIM对象的类型。并且在步骤S105通过基于公共信息模型的系统管理基础架构从源平台提取与该类型匹配的CIM对象。然后在步骤S106,CIM对象提取器进一步从目标平台侧提取与步骤S105中所提取的源平台侧的CIM对象相应的CIM对象。
接着,在步骤S107,如图5中所示的移植任务产生器检查并解析当前移植规则中所包含的映射路径是否与其它映射路径之间存在依赖关系。如果解析结果为“是”,则处理返回到步骤S103,以进一步提取移植规则以及源平台和目标平台上的CIM对象,并从而进一步解析所提取的移植规则中所包含的映射路径是否与其它映射路径之间存在依赖关系。如果在步骤S107中的解析结果为“否”,则意味着当前映射路径不存在与其它映射路径之间依赖关系,那么处理继续进行到步骤S108。在步骤S108,移植任务产生器产生与所解析出的依赖关系一致的正确顺序的子任务并将其插入到如图5中所示的移植子任务队列中。并且当所有的子任务都已被插入时,插入一个结束标志。
然后,在步骤S109如图5中所示的移植任务执行器从移植子任务队列中取出一个子任务,并且在步骤S110判断所取出的是否为结束标志。如果判断出取出的是结束标志,则意味着移植完成。而如果判断出取出的是一个子任务,则处理进行到下一个步骤S111,在该步骤中移植任务执行器执行该子任务。并且接着处理返回到步骤S109,以进一步从移植子任务队列中取出子任务并重复如上所述的过程,直到从移植子任务队列中取出的为结束标志为止。
以上已结合图9和图5对根据本发明的一个实施例的将个性化计算环境从源平台移植到目标平台的方法的操作过程进行了描述。但本发明的将个性化计算环境从源平台移植到目标平台的方法并不仅限于此。例如,在实现本发明的移植方法的另一个实施例中,当移植任务执行器执行完移植任务产生器所产生的所有的移植任务后,还进一步包括一个将用户数据从源平台发送到目标平台的步骤。又例如,在实现本发明的移植方法的再一个实施例中,引入双面用户界面导航机制。即,移植过程进一步包括下面步骤当用户激活了目标平台上的一个应用程序(假定用户对该应用程序不熟悉)时,双面用户界面导航机制根据对该应用程序在源平台上的功能相似的相应应用程序(假定用户对该应用程序非常熟悉)的用户界面的描述、在该应用程序的用户界面上产生一个半透明用户界面,该半透明用户界面与源平台上的功能相似的相应应用程序的用户界面相同。
下面再给出根据本发明的将个性化计算环境从源平台移植到目标平台的一个具体实例。
在KOMD中,存在一组用于WindowsTM到LinuxTM用户移植的映射路径。这些路径在下列表1中列出表1用户相关的映射路径


其中GroupUser,DomainUser和DomainGroup表示出了User,Group和Domain之间的依赖性。其依赖方向如下所示·User依赖于Group,·User依赖于Domain,·Group依赖于Domain。
当KOMD已准备好了之后,移植如下进行I.当移植请求被发出时,将由移植请求处理器获取源机器和目标机器的平台信息。移植请求处理器将这些信息变换为内部变量,比如为包含当前源机器登陆用户的姓名字符串的“%SrcCurrentLoginUserName%”。所有这些变量都将被发送到移植处理器作为移植准备。
II.通过这些初始信息,移植处理器首先确定对应于源机器和目标机器的平台类型的路径的集合。这里,表1中的路径集合将被用于WindowsTM到LinuxTM的移植。
III.然后,移植处理器从KOMD中读取第一条路径,即,表1中路径号为1的路径(以下将其称为路径1,同样地,在下文中称路径号为2的路径称为路径2,以此类推)。根据该路径1,移植处理器将从WindowsTM机器询问对象Win32_UserAccount.Name=”%SrcCurrentLoginUserName%”,然后从Linux机器查找对象Linux_UserAccount.Name=”%SrcCurrentLoginUserName%”。这里我们假设WindowsTM当前登陆用户在LinuxTM机器上并不存在。因此,移植处理器将从WindowsTM机器获得到对象,而不能够从LinuxTM机器上获得到对象。
IV.在移植处理器将路径1插入到移植子任务队列中之前(这里需要说明的是,一条路径相应于多个子任务,插入路径相当于插入相应于该路径的多个子任务,或当将该多个子任务看作为一个子任务时,即为插入了子任务),移植处理器将咨询KOMD。它将会发现相关于路径1的对象存在着几条依赖路径。与路径1存在着依赖关系的路径分别为路径4和路径5。因此,移植处理器将跳到路径4。
V.移植处理器将从KOMD读取路径4。已经获取了路径1的对象,移植处理器将通过为路径4中的Win32_GroupUser.PartComponent=”%PathNo.1%”以及Linux_GroupUser.PartComponent=”%PathNo.1%”分别询问源机器和目标机器而获取多组对象,即,Win32_GroupUser,Linux_GroupUser,Win32_GroupAccount和Linux_GroupAccount。然后,在移植处理器在能够继续到路径4之前将会发现需要先为Win32_GroupAccount和Linux_GroupAccount对象完成路径2。
VI.移植处理器将通过其从路径4中的询问中得到的Win32_GroupAccount和Linux_GroupAccount对象处理路径2。如已在上述步骤III中所述的那样,移植处理器将路径2插入到移植子任务队列中之前将询问KOMD。它将进而发现与路径2存在依赖关系的路径路径6。然后,移植处理器进行与步骤IV和V中相似的处理并最终处理到路径3。路径号3∷1(PathNo.3∷1)使用∷1以区分相关于路径6的路径3对象和相关于路径5的路径3对象。
从而,表1的路径处理的总的顺序可以被如下列出P1→P4→P2→P6→P3∷2→P3∷2itq→P6itq→P2itq→P4itq→P1→P5→P3∷1→P3∷1itq→P5itq→P1itq,其中的下标itq意思是“插入到任务队列中”。
VII.当移植子任务队列不为空时,移植任务执行器将从移植子任务队列中获取路径(子任务)并且激活在该路径中指定的映射函数列表。该映射函数列表中的函数将改变LinuxTM机器的一些方面。例如,用WindowsTM的当前登陆用户的用户名及口令创建LinuxTM上的用户帐户。
VIII.当移植处理器已处理了KOMD中所有的路径并且移植子任务队列中的所有子任务都被移植任务执行器执行了时,就完成了移植。
在上述具体实例中,需要进一步说明的是,这里的移植处理器实际上对应于在本说明书的发明内容部分中所述的移植规则提取器、CIM对象提取器以及移植任务产生器的组合。
虽然已参考本发明的示例性实施例特别示出和描述了本发明,但是本领域的技术人员应当理解,在不背离由所附权利要求定义的本发明的精神和范围的情况下,可以对本发明在形式和细节上做出各种变化。
权利要求
1.一种将个性化计算环境从源机器平台移植到目标机器平台的方法,其中所述源机器平台和目标机器平台均具有在基于公共信息模型(CIM)的系统管理基础架构之上提取出来的CIM对象,该方法包括a.在一个数据库中提供多个平台之间的CIM对象移植规则;b.从所述数据库中提取所述源机器平台和目标机器平台之间的CIM对象移植规则;c.根据所提取的移植规则,从所述源机器平台提取与所述个性化计算环境相关的CIM对象;d.根据所提取的移植规则,从目标机器平台提取与所述提取的源机器平台的CIM对象相应的C IM对象;e.根据所提取的移植规则,产生对所述提取的目标机器平台的CIM对象要执行的移植任务;f.对所述提取的目标机器平台的CIM对象执行所产生的移植任务。
2.如权利要求1所述的方法,其中所述移植规则包含映射路径,该映射路径对应于一对源机器平台CIM对象和目标机器平台CIM对象,并且所述步骤e进一步包括e1.解析所述映射路径之间的依赖关系,并根据解析出的依赖关系重复步骤b至d,直到不存在进一步的依赖关系为止;e2.产生具有与所述依赖关系一致的顺序的移植子任务队列;e3.当根据在步骤b所获取的所有CIM对象移植规则产生了所有的移植子任务队列之后,插入一个结束标志。
3.如权利要求2所述的方法,其中所述步骤f进一步包括f1.从所述移植子任务队列中获取一个移植子任务;f2.执行所获取的移植子任务;f3.重复步骤f1和f2,直到到达所述结束标志为止。
4.如权利要求1所述的方法,其中所述步骤c进一步包括c1.根据所提取的移植规则,获取与所述个性化计算环境相关的源机器平台CIM对象的类型;c2.从所述源机器平台中提取与所获取的类型匹配的CIM对象。
5.如权利要求1所述的方法,还包括用户发出移植请求的步骤,其中在该移植请求中指定了移植所涉及的源机器平台和目标机器平台,以及用户数据。
6.如权利要求5所述的方法,还包括将用户数据从所述源机器平台发送到所述目标机器平台的步骤。
7.如权利要求1所述的方法,还包括下面步骤当目标机器平台上的一个应用程序被激活时,在该应用程序的用户界面上产生一个半透明用户界面,该界面与所述目标机器平台的应用程序在源机器平台上的功能相似的相应应用程序的界面相同。
8.一种将个性化计算环境从源机器平台移植到目标机器平台的系统,所述源机器平台和目标机器平台均具有在基于公共信息模型的系统管理基础架构之上提取出来的CIM对象,所述系统包括数据库,其中记录了多个平台之间的CIM对象移植规则;移植规则提取器,用于从所述数据库中提取所述源机器平台和目标机器平台之间的CIM对象移植规则;CIM对象提取器,用于根据所述移植规则提取器所提取的移植规则,从所述源机器平台提取与所述个性化计算环境相关的CIM对象,并且根据所提取的移植规则,从目标机器平台提取与所述提取的源机器平台的CIM对象相应的CIM对象;移植任务产生器,用于根据所提取的移植规则产生对所述CIM对象提取器所提取的目标机器平台的CIM对象要执行的移植任务;以及移植任务执行器,用于对所述CIM对象提取器所提取的目标机器平台的CIM对象执行所述移植任务产生器所产生的移植任务。
9.如权利要求8所述的系统,其中所述移植规则包含映射路径,该映射路径对应于一对源机器平台CIM对象和目标机器平台CIM对象,并且所述移植任务产生器在产生移植任务时,解析所述映射路径之间的依赖关系,并根据解析出的依赖关系由所述CIM对象提取器进一步从所述源机器平台和目标机器平台提取CIM对象,直到不存在进一步的依赖关系为止,然后所述移植任务产生器产生具有与所述依赖关系一致的顺序的移植子任务。
10.如权利要求9所述的系统,还进一步包括移植子任务队列,用于存储由所述移植任务产生器所产生的移植子任务;并且其中当所述移植任务产生器产生了移植子任务时,就将其塞入该移植子任务队列,当塞入了所有的移植子任务时,就插入一个结束标志。
11.如权利要求10所述的系统,其中当所述移植任务执行器执行移植任务时,从所述移植子任务队列中一个一个地获取移植子任务并执行,直到到达所述结束标志为止。
12.如权利要求8所述的系统,其中所述CIM对象提取器在从所述源机器平台提取CIM对象时,首先根据所述移植规则获取与所述个性化计算环境相关的源机器平台CIM对象的类型,再从源机器平台中提取与所获取的类型匹配的CIM对象;并且所述CIM对象提取器在从所述目标机器平台提取CIM对象时,首先根据所述移植规则获取与源机器平台CIM对象的类型相应的目标机器平台CIM对象的类型,然后从目标机器平台中提取与该目标机器平台CIM对象类型匹配的CIM对象。
13.如权利要求8所述的系统,还包括移植请求处理器,用于处理用户的移植请求。
14.如权利要求8所述的系统,还包括双面用户界面导航器,用于当目标机器平台上的一个应用程序被激活时,在该应用程序的用户界面上产生一个半透明用户界面,该界面与所述目标机器平台的应用程序在源机器平台上的功能相似的相应应用程序的界面相同。
全文摘要
公开了一种通过基于CIM的系统管理基础架构将个性化计算环境从源机器平台移植到目标机器平台的方法和系统。该系统包括记录有多个平台之间的CIM对象移植规则的数据库;和根据数据库中的移植规则实现移植的移植工具,其包含4个基本模块,即,移植规则提取器、CIM对象提取器、移植任务产生器及移植任务执行器。其中CIM对象提取器根据移植规则提取器从数据库中提取的移植规则,从所述源机器平台提取与所述个性化计算环境相关的CIM对象,并且从目标机器平台提取与所述提取的源机器平台的CIM对象相应的CIM对象。移植任务产生器根据所提取的移植规则产生移植任务。移植任务执行器对目标平台的CIM对象执行所产生的移植任务。
文档编号G06F9/46GK1728089SQ20041005493
公开日2006年2月1日 申请日期2004年7月26日 优先权日2004年7月26日
发明者顾光导, 苏辉, 王哲鹏, 过晓冰 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1