信息处理系统的制作方法

文档序号:6599255阅读:331来源:国知局
专利名称:信息处理系统的制作方法
技术领域
本方面涉及一种信息处理系统。更具体地,本发明涉及用于根据情况在要使用的系统之间切换的技术。
背景技术
一般地,例如,具有高处理能力的系统趋向于消耗大量的功率,并且消耗小量功率 的系统趋向于具有低处理能力。而且,例如,具有大量功能的系统趋向于消耗大量的功率, 并且消耗小量功率的系统趋向于具有有限范围的功能。因而,例如,在具有高处理能力的 系统和消耗小量功率的系统之间存在折衷,并且有必要基于对处理能力和功耗中的哪个给 予更高优先级来选择要使用哪个系统。同样,在具有大量功能的系统和消耗小量功率的系 统之间存在折衷,并且有必要基于对功能性和功耗中的哪个给予更高优先级来选择要使用 哪个系统。因而,有必要依据情况在要使用的系统之间进行切换。在现有技术中,公开了 包括由具有相对高处理能力和宽范围功能的PC(个人计算机)形成的系统(子系统)和由 具有有限范围的功能但是消耗相对小量的功率的设备形成的系统(子系统)两者的系统 (例如,参见“Windows (注册商标)SideShow (注册商标)”,可在2009年2月26日、因特网 URL 为 http://www. microsoft, com/japan/windows/products/windowsvista/features/ details/sideshow, mspx 获得)。

发明内容
尽管在上述的“Windows (注册商标)SideShow (注册商标)”中公开的技术例如使 得能够根据情况在要使用的系统之间切换,但是各个系统提供不同的执行环境。例如,在两 个系统中可能不利用特定的应用。这可能导致用户不便利。鉴于上述,期望提供一种用于在保持相同的执行环境的同时根据情况在要使用的 系统之间灵活切换的新的和改进的技术。根据本发明的实施例,提供了一种信息处理系统,包括第一系统和第二系统,第一 系统和第二系统的每一个包括硬件,第一系统的硬件和第二系统的硬件在本质上彼此不 同;补偿部分,被配置为为使用补偿部分所属于的系统的硬件执行过程提供执行环境;以 及处理部分,被配置为在由补偿部分提供的执行环境中执行预定过程,其中,第一系统的补 偿部分补偿第一系统的硬件和第二系统的硬件之间的差别,以向第一系统的处理部分提供 不受第一系统的硬件和第二系统的硬件之间的差别影响的执行环境,并且第二系统的补偿 部分补偿第一系统的硬件和第二系统的硬件之间的差别,以向第二系统的处理部分提供不 受第一系统的硬件和第二系统的硬件之间的差别影响的执行环境。第一系统可以进一步包括监视部分,被配置为检测指示要从正在执行预定过程 的系统切换的事件的发生,并且当在执行预定过程期间监视部分检测到该事件的发生时, 第一系统的处理部分可以提取存储于在执行预定过程中正使用的硬件中的数据,并且生成 包含所提取的数据的图像文件,以向第二系统输出所生成的图像文件。
第二系统进一步包括监视部分,被配置为检测指示要从正在执行预定过程的系统切换的事件的发生,并且当在执行预定过程期间监视部分检测到该事件的发生时,第二 系统的处理部分可以提取存储于在执行预定过程中正使用的硬件中的数据,并且生成包含 所提取的数据的图像文件,以向第一系统输出所生成的图像文件。当在预定过程的备用期间第一系统的监视部分检测到事件的发生时,第一系统的 处理部分可以接收来自于第二系统的图像文件,并且使得第一系统的硬件存储在所接收的 图像文件中包含的数据,以使用存储数据的硬件执行预定过程。当在预定过程的备用期间第二系统的监视部分检测到事件的发生时,第二系统的 处理部分可以接收来自于第一系统的图像文件,并且使得第二系统的硬件存储在所接收的 图像文件中包含的数据,以使用存储数据的硬件执行预定过程。第一系统的硬件可以在操作期间具有比第二系统的硬件的处理速度低的处 理速度,并且第一系统的监视部分可以监视正施加在第一系统的硬件上的负荷的大小 (magnitude),并且当负荷的大小大于预定值时生成事件。第一系统的硬件可以在操作期间具有比第二系统的硬件的处理速度低的处理速 度,并且第一系统的监视部分可以监视第一系统的操作状态,并且当第一系统正在启动时 生成事件。第二系统的硬件可以在操作期间具有比第一系统的硬件的处理速度低的处理速 度,并且第二系统的监视部分可以监视正施加在第二系统的硬件上的负荷的大小,并且当 负荷的大小小于预定值时生成事件。第二系统的硬件可以在操作期间具有比第一系统的硬件的功耗高的功耗,并且第 二系统的监视部分可以监视第二系统的硬件的操作状态,并且当第二系统的硬件空闲时生 成事件。第二系统的硬件可以在操作期间具有比第一系统的硬件的功耗高的功耗,并且第 二系统的监视部分可以监视第二系统的电池的操作状态,并且当第二系统的电池正被驱动 时生成事件。第一系统的监视部分可以监视在执行预定过程期间由第一系统的处理部分正使 用的第一系统的硬件,并且在有必要使用在第一系统中不存在的硬件或第一系统的硬件出 现故障的情况下生成事件。第一系统的监视部分可以监视在执行预定过程期间第一系统的处理部分正使用 的第一系统的硬件的温度,并且在温度高于预定值的情况下生成事件。第一系统可以进一步包括输入部分,被配置为从用户接收指示要从正在执行预 定过程的系统切换的切换指令信息的输入,并且可以当输入部分接收到切换指令信息时生 成事件。根据上述的本发明,可以在执行预定过程期间根据情况在要用于执行预定过程的 系统之间切换,并且允许预定过程已转移到的系统在执行系统切换的点恢复(resume)预 定过程。


图1示出根据实施例的信息处理系统的功能配置;
图2示出根据实施例的子系统的硬件配置;图3A示出两种类型的虚拟技术中的管理程序(hypervisor)类型的子系统;图3B示出两种类型的虚拟技术中的应用类型的子系统;图4A和图4B是示出从LPSS到HPSS的VM (虚拟机)的移植的示意图;图5是示出在VM执行子系统和非VM执行子系统之间的状态转换图;图6示出根据实施例的信息处理系统的第一示例性系统配置;图7示出根据实施例的信息处理系统的第二示例性系统配置;图8示出VM执行子系统的切换的第一流程;图9示出VM执行子系统的切换的第二流程;图10示出共享用于VM图像的HDD的第一示例;图11示出共享用于VM图像的HDD的第二示例;图12示出共享用于VM图像的HDD的第三示例;图13示出共享用于VM图像的HDD的第四示例;以及图14示出共享用于VM图像的HDD的第五示例。
具体实施例方式下面将参考附图详细描述本发明的优选实施例。在说明书和附图中,通过相同的参考符号表示具有基本相同的功能配置的组成元素以省略重复的描述。将以下面的次序进 行描述。1.第一实施例1-1.信息处理系统的概述1-2.信息处理系统的功能配置1-3.子系统的硬件配置1-4.虚拟技术1-5.虚拟1-6.虚拟的优点1-7.移植1-8.采用移植的执行环境的动态转移1-9.实现信息处理系统所必需的系统的组成元素1-9-1.功耗/处理能力不同的两个或多个子系统1-9-2.子系统之间的通信单元1-9-3.用于在子系统之间共享冊资源的单元1-9-4.用于在子系统之间共享VM图像的单元1-9-5.切换事件检测功能1-9-6.子系统功率控制功能1-10.状态转换图1-10-1. VM 的执行1-10-2.移植备用(VM执行子系统)1-10-3.移植备用(非VM执行子系统)
1-10-4.移植的执行(VM执行子系统)1-10-5.移植的执行(非VM执行子系统)1-10-6.移植的流程1-10-7.实时(live)移植的流程1-10-8.切换备用1-11.第一示例性系统配置1-12.第二示例性系统配置1-13.从 LPSS 到 HPSS 的切换1-14.切换的第一流程1-15.切换的第二流程1-16.共享用于VM图像的HDD的第一示例1-17.共享用于VM图像的HDD的第二示例1-18.共享用于VM图像的HDD的第三示例1-19.共享用于VM图像的HDD的第四示例1-20.共享用于VM图像的HDD的第五示例1-21.子系统不支持同一指令集的情况1-22.未来前景<1.第一实施例>将描述本发明的第一实施例。[1-1.信息处理系统的概述]信息处理系统包括LPSS (低功率子系统)和HPSS (高性能子系统),并在每个子系 统的虚拟机中执行OS (操作系统)。信息处理系统依据诸如任务负荷和功率状态的情况在 LPSS和HPSS之间移植执行过程的虚拟机。例如,信息处理系统使得HPSS在启动和高负荷 任务的处理期间执行过程,并且使得LPSS在电池驱动、空闲和处理低负荷任务期间执行过 程。信息处理系统可以是在单个机壳中具有LPSS和HPSS的集成系统(PC单元),或具有笔 记本PC (LPSS)和台式机(dock) (HPSS)的分离系统。信息处理系统不限于LPSS和HPSS的 组合,并且可以由具有不同硬件配置的两个系统的任意组合形成。[1-2.信息处理系统的功能配置]图1示出根据实施例的信息处理系统的功能配置。如图1中所示,信息处理系统 10包括具有不同硬件配置的两个子系统(第一系统100 (IOOa)和第二系统100 (100b)。虽 然在该实施例中提供了两个子系统,但是可以提供三个或更多个子系统。例如,可以利用在单个机壳(例如笔记本PC)中提供的第一系统IOO(IOOa)和第 二系统100 (IOOb)来形成信息处理系统10,或信息处理系统10可以被形成为包括合并了第 一系统IOO(IOOa)的笔记本PC和合并了第二系统IOO(IOOb)的台式机的分离系统。第一 系统IOO(IOOa)和第二系统IOO(IOOb)可以被合并在经由网络连接的分离机壳中。第一系统IOO(IOOa)和第二系统IOO(IOOb)具有本质上彼此不同的硬件配置。例如,硬件配置之间的差别可以是各种本质的差别,诸如但不特别限于通过硬件获得的 处理速度的差别、通过硬件获得的功耗的差别、由硬件支持的输入/输出接口的差别以及 CPU的指令集体系结构的差别。第一系统IOO(IOOa)包括补偿部分130(130a)和处理部分120 (120a)。类似地,第二系统100 (IOOb)包括补偿部分130 (130b)和处理部分120 (120b)。补偿部分130被配置为为使用补偿部分130所属于的系统的硬件执行过程提供执 行环境。如在此使用的术语“硬件”是指执行过程所需的各种物理设备,例如执行程序所需 的各种设备,诸如CPU(中央处理单元)、诸如RAM(随机存取存储器)的存储器、诸如HDD(硬 盘驱动)的存储设备。例如,由CPU、RAM、HDD等形成补偿部分130,并且由执行从HDD读取 的并且加载在RAM中的VMM(虚拟机监视器)的CPU来实现补偿部分130的功能。例如,VMM 是用于为随后讨论的虚拟机(VM)提供不受硬件差别影响的执行环境的程序。处理部分120被配置为在由补偿部分130提供的执行环境中执行预定过程。预定 过程不被特别限制,并且例如可以是通过执行程序而执行的过程。程序的类型也不被特别 限制,并且例如可以是用于播放内容数据的程序。例如,由CPU、RAM、HDD等形成处理部分 120,并且由执行从HDD读取的并且加载在RAM中的程序的CPU来实现处理部分120。如在 此使用的术语“程序”是指形成通过使用上述的VMM执行的虚拟机(VM)的软件。表述“执 行虚拟机(VM) ”意指CPU执行形成虚拟机(VM)的软件。稍后将详细描述虚拟机(VM)。第一系统IOOa的补偿部分130a补偿第一系统IOOa的硬件和第二系统IOOb的硬 件之间的差别。例如,可以通过随后描述的虚拟技术来实现该功能。以此方式,向第一系统 IOOa的处理部分120a提供不受第一系统IOOa的硬件和第二系统IOOb的硬件之间的差别 影响的执行环境。类似地,第二系统IOOb的补偿部分130b补偿第一系统IOOa的硬件和第二系统 IOOb的硬件之间的差别。以此方式,向第二系统IOOb的处理部分120b提供不受第一系统 IOOa的硬件和第二系统IOOb的硬件之间的差别影响的执行环境。第一系统IOOa可以进一步包括监视部分160a,该监视部分160a被配置为检测指 示要从正在执行预定过程的系统切换的事件的发生。在这样的情况下,当在预定过程的执 行期间监视部分160a检测到事件的发生时,第一系统IOOa的处理部分120a提取存储于在 执行预定过程中正使用的硬件中的数据。第一系统IOOa的处理部分120a生成包含所提取 的数据的图像文件,以向第二系统IOOb输出所生成的图像文件。术语“图像文件”是指其 中与所维持的文件和文件夹结构一起保存存储在硬件(诸如CPU、RAM和HDD)中的数据的 文件。这允许第一系统IOOa在系统切换时将图像文件输出到第二系统100b。例如,通过执 行存储在RAM中的程序的CPU来形成监视部分160a。类似地,第二系统IOOb可以进一步包括监视部分160b,该监视部分160b被配置 为检测指示要从正在执行预定过程的系统切换的事件的发生。在这样的情况下,当在预定 过程的执行期间监视部分160b检测到事件的发生时,第二系统IOOb的处理部分120b提取 存储于在执行预定过程中正使用的硬件中的数据。第二系统IOOb的处理部分120b生成包 含所提取的数据的图像文件,以向第一系统IOOa输出所生成的图像文件。这允许第二系统 IOOb在系统切换时将图像文件输出到第一系统100a。例如,通过执行存储在RAM中的程序 的CPU来形成监视部分160b。当在预定过程的备用期间监视部分160a检测到事件的发生时,第一系统IOOa的 处理部分120a可以从第二系统IOOb接收图像文件。第一系统IOOa的处理部分120a使得 第一系统IOOa的硬件存储在所接收的图像文件中包含的数据,以使用存储该数据的硬件 执行预定过程。这允许第一系统IOOa的处理部分120a在系统切换时开始执行已经由第二系统IOOb的处理部分120b执行的预定过程。类似地,当在预定过程的备用期间监视部分160b检测到事件的发生时,第二系统IOOb的处理部分120b可以从第一系统IOOa接收图像文件。第二系统IOOb的处理部分 120b使得第二系统IOOb的硬件存储在所接收的图像文件中包含的数据,以使用存储该数 据的硬件执行预定过程。这允许第二系统IOOb的处理部分120b在系统切换时开始执行已 经由第一系统IOOa的处理部分120a执行的预定过程。假设第一系统IOOa的硬件在操作期间具有比第二系统IOOb的硬件的处理速度 低的处理速度。在这种情况下,第一系统IOOa的监视部分160a可以监视施加在第一系统 IOOa的硬件上的负荷的大小(magnitude)。当负荷的大小大于预定值时,监视部分160a可 以生成指示要从正在执行预定过程的系统切换的事件。例如,预定值可以被存储在RAM或 HDD 中。在第一系统IOOa的硬件在操作期间具有比第二系统IOOb的硬件的处理速度低的 处理速度的情况下,第一系统IOOa的监视部分160a可以监视由第一系统IOOa的处理部分 120a执行的VM的状态。在这样的情况下,当由第一系统IOOa的处理部分120a执行的VM 被启动时,第一系统IOOa的监视部分160a可以生成指示要从正在执行预定过程的系统切 换的事件。假设第二系统IOOb的硬件在操作期间具有比第一系统IOOa的硬件的处理速度 高的处理速度。在这种情况下,第二系统IOOb的监视部分160b可以监视施加在第二系统 IOOb的硬件上的负荷的大小。当负荷的大小小于预定值时,监视部分160b可以生成指示要 从正在执行预定过程的系统切换的事件。例如,预定值可以被存储在RAM或HDD中。假设第二系统IOOb的硬件在操作期间具有比第一系统IOOa的硬件的功耗高的功 耗。在这种情况下,第二系统IOOb的监视部分160b可以监视第二系统IOOb的操作状态, 并且当第二系统IOOb空闲时,生成指示要从正在执行预定过程的系统切换的事件。假设第二系统IOOb的硬件在操作期间具有比第一系统IOOa的硬件的功耗高的功 耗。在这种情况下,第二系统IOOb的监视部分160b可以监视第二系统IOOb的电池的操作 状态,并且当电池正在被驱动时,生成指示要从正在执行预定过程的系统切换的事件。第一系统IOOa的监视部分160a监视在执行预定过程期间由第一系统IOOa的处 理部分120a正使用的第一系统IOOa的硬件。在有必要使用在第一系统IOOa中不存在的硬 件或第一系统IOOa的硬件出现故障的情况下,第一系统IOOa的监视部分160a于是可以生 成指示要从正在执行预定过程的系统切换的事件。类似地,第二系统IOOb的监视部分160b 可以监视在执行预定过程期间由第二系统IOOb的处理部分120b正使用的第二系统IOOb 的硬件。在有必要使用在第二系统IOOa中不存在的硬件或第二系统IOOb的硬件出现故障 的情况下,第二系统IOOb的监视部分160b于是可以生成指示要从正在执行预定过程的系 统切换的事件。第一系统IOOa的监视部分160a监视在执行预定过程期间由第一系统IOOa的处 理部分120a正使用的第一系统IOOa的硬件的温度。当温度高于预定值时,第一系统IOOa 的监视部分160a于是可以生成指示要从正在执行预定过程的系统切换的事件。类似地,第 二系统IOOb的监视部分160b可以监视在执行预定过程期间由第二系统IOOb的处理部分 120b使用的第二系统IOOb的硬件的温度。当温度高于预定值时,第二系统IOOb的监视部分160b于是可以生成指示要从正在执行预定过程的系统切换的事件。例如,预定值可以被 存储在RAM或HDD中。第一系统IOOa可以进一步包括输入部分170a,该输入部分170a被配置为从用户接收指示要从正在执行预定过程的系统切换的切换指令信息。例如,由输入设备形成输入 部分170a。在这样的情况下,当输入部分170a接收到切换指令信息时,第一系统IOOa的 监视部分160a可以生成指示要从正在执行预定过程的系统切换的事件。类似地,第二系 统IOOb可以进一步包括输入部分170b,该输入部分170b被配置为从用户接收指示要从正 在执行预定过程的系统切换的切换指令信息。在这样的情况下,当输入部分170b接收到切 换指令信息时,第二系统IOOb的监视部分160b可以生成指示要从正在执行预定过程的系 统切换的事件。当用户期望利用安静环境中的系统工作时,例如,用户可以输入切换指令信 息,以便从消耗大量功率(或产生大量热)并且在有必要以高速运行风扇来冷却系统的系 统切换到消耗小量功率(或产生小量热)并且不必要运行风扇(或仅需以低速运行风扇) 来冷却系统的系统。也就是说,可以从产生相对大的风扇转动噪音的系统切换到产生相当 小的风扇转动噪音的系统。在用户期望使得系统执行高速处理的情况下,例如,用户可以输 入切换指令信息,以便从具有相对低的处理速度的系统切换到具有相对高的处理速度的系 统。在用户期望不将电池的剩余容量减少太多的情况下,例如,用户可以输入切换指令信 息,以便从具有相对高的功耗的系统切换到具有相对低的功耗的系统。第一系统IOOa可以进一步包括共享部分140a,该共享部分140a是要与第二系统 IOOb共享的第一系统IOOa的硬件资源的一部分。例如,假定共享140a是键盘或IXD (液 晶显示器)。第一系统IOOa可以进一步包括通信部分110a,该通信部分IlOa允许处理部 分120a与第二系统IOOb交换存储在共享部分140a中的数据和图像文件;以及输出部分 150a,该输出部分150a被配置为输出执行预定过程的结果。类似地,第二系统IOOb可以进 一步包括共享部分140b,该共享部分140b是要与第一系统IOOa共享的第二系统IOOb的硬 件资源的一部分。第二系统IOOb可以进一步包括通信部分110b,该通信部分IlOb允许 处理部分120b与第一系统IOOa交换存储在共享部分140b中的数据和图像文件;以及输出 部分150b,该输出部分150b被配置为输出执行预定过程的结果。[1-3.子系统的硬件配置]图2示出根据实施例的子系统的硬件配置。该子系统对于上述的第一系统IOOa 和第二系统IOOb的每一个是相同的。尽管在所图示的实施例中将第一系统IOOa和第二系 统IOOb提供在经由网络200连接的分离机壳中,但是本发明不限于上面所述。子系统(第一系统IOOa和第二系统IOOb中的每一个)主要包括CPU 901、ROM 903、RAM 905、主机总线907、桥909、外部总线911、接口 913、输入设备915、输出设备917、 存储设备919、驱动921、连接端口 923以及通信设备925。CPU 901充当算术处理单元和控制设备,并且依据存储在ROM 903、RAM 905、存储 设备919或可移动存储介质927中的各种程序来控制在子系统100中执行的所有或部分操 作。ROM 903存储要由CPU 901使用的程序、计算参数等。RAM 905临时存储要由CPU 901 执行的程序、在执行期间变化的计算参数等。ROM 903和RAM 905通过由诸如CPU总线的内 部总线形成的主机总线907彼此连接。主机总线907经由桥909连接到诸如PCI (外围组件互连/接口)总线的外部总线 911。输入设备915是可由用户操作的操作单元,诸如鼠标、键盘、触摸板、按钮、开关或 控制杆。例如,输入设备915可以是利用红外线或其他无线电波、或者利用允许操作子系统 100 (诸如蜂窝电话或PDA)的外部连接设备929的远程控制单元(所谓的遥控器)。输入 设备915进一步包括输入控制电路,该输入控制电路被配置为基于由用户使用上述操作单 元输入的信息而生成输入信号,并且将所生成的信号输出到CPU 901。允许子系统100的用 户通过操作输入设备915来向子系统100输入用于过程操作的各种数据和命令。例如,输出设备917可以是诸如CRT显示设备、液晶显示设备、等离子显示设备、EL 显示设备或灯的显示设备、诸如扬声器或耳机的声音输出设备或诸如打印机设备、蜂窝电 话或传真机的被配置为向用户视觉或听觉地通知所获取的信息的设备。例如,输出设备917 输出由子系统100执行的各种过程的结果。具体地,显示设备通过文本或图像显示由子系 统100执行的各种过程的结果。同时,声音输出设备将所播放的诸如声音数据的音频信号 转换到模拟信号,以输出结果得到的模拟信号。存储设备919是被形成为子系统100的示例性存储部分的数据存储设备,并且例 如可以由诸如HDD(硬盘驱动)的磁存储设备、半导体存储设备、光存储设备或磁光存储设 备形成。存储设备919存储要由CPU 901执行的程序、从外部获取的各种数据、声音信号数 据和图像信号数据等。驱动921是构建在子系统100内或外部的存储介质读取器/写入器。驱动921读 取出存储在诸如磁盘、光盘、磁光盘或半导体存储器的安装到驱动921的可移动存储介质 927中的信息,以向ROM 905输出所读取的信息。驱动921也被配置为将信息写入到诸如磁 盘、光盘、磁光盘或半导体存储器的安装到驱动921的可移动存储介质927中。例如,可移 动存储介质927可以是DVD介质、HD-DVD介质、蓝光介质、压缩闪存(CF 注册商标)、存储 棒或SD存储卡(安全数字存储卡)。例如,可移动存储介质927可以是IC卡(集成电路 卡)或提供有非接触IC芯片的电子设备。例如,连接端口 923是被配置为将设备直接连接到子系统100的端口,诸如 USB (通用串行总线)端口、诸如i. LINK端口的IEEE 1394端口、SCSI (小型计算机系统接 口)端口、RS-232C端口、光学音频端以及HDMI (高清多媒体接口)端口。通过将外部连接 设备929连接到连接端口 923,子系统100直接从外部连接设备929获取声音信号数据和图 像信号数据,并且将声音信号数据和图像信号数据提供给外部连接设备929。例如,通信设备925是由通信设备形成的通信接口,用于连接到网络200。例如, 通信设备925可以是用于有线或无线LAN(局域网)、蓝牙(注册商标)或WUSB(无线USB) 的通信卡、用于光学通信的路由器、用于ADSL(异步数字用户线)的路由器或用于各种类型 的通信的调制解调器。例如,将通信设备925被配置为与因特网或其他通信设备交换声音 信号等。例如,要连接到通信设备925的网络200是通过与线路连接或不连接的网络形成, 并且可以是因特网、本地LAN、红外通信网络、无线电波通信网络或卫星通信网络。上面已经描述了使得能够实现根据本发明的实施例的子系统100的功能的示例 性硬件配置。可以使用通用构件或通过专用于组成元件的各个功能的硬件来形成上述的组 成元件。因此,可以根据实施例的每个实现的技术水平来改变要利用的硬件配置。[1-4.虚拟技术]
虚拟技术是用于使用软件创建虚拟硬件以在所创建的虚拟硬件上运行诸如OS和应用的软件的技术。术语“虚拟机”是指使得能够以与物理计算机相同的方式执行OS和应用的软件和 数据的集合。虚拟机包括诸如CPU、存储器、HDD和网络控制器的虚拟设备。[1-5.虚拟]存在通常在PC世界中使用的两种类型的虚拟技术,即管理程序(hypervisor)类 型和应用类型。图3A和图3B示出这两种类型的虚拟技术。图3A中所示的管理程序类型 的子系统100包括冊(硬件)191、VMM 192、包括主机OS 194的VM 193以及包括访客OS 196的VM 195。图3B中所示的应用类型的子系统100包括HW(硬件)191、主机OS 194,VMM 192以及包括访客OS 196的VM 195。[1-6.虚拟的优点]虚拟的优点是提供允许执行现有软件的“兼容性”。虚拟提供的其他优点包括允 许设立与作为基础的物理硬件完全不同的虚拟机的“仿真”;允许将虚拟机作为一组文件进 行处理的“封装”;允许以与其它软件文件相同的方式将虚拟机从一个位置传递到另一个位 置的“便携性”;允许在单个物理机器上执行多个虚拟机的“分区性”;以及允许各个虚拟机 作为分离的机器运转的“隔离性”。[1-7.移植]术语“移植”是指利用作为上述的虚拟机的特征之一的“便携性”将虚拟机从一个 主机转移到另一个主机。例如,在实施例中,移植对应于图像文件在第一系统IOOa和第二 系统IOOb之间的转移。作为移植的类型的术语“实时移植”是指在(基本)不悬挂执行的 情况下将正在执行的虚拟机从一个主机转移到另一个主机。图4是示出VM从LPSS 191a 到HPSS 191b的移植的示意图。[1-8.采用移植的执行环境的动态转移]现在将描述动态平台切换。动态平台切换是通过将用于动态转移采用移植的执行 环境(实时移植)的技术应用于实施例的技术。OS运行于其上的虚拟机经受在用作第一系 统IOOa的示例的HPSS和用作第二系统IOOb的示例的LPSS之间的动态平台切换(所谓的 “实时移植”)。在以下的描述中,将HPSS和LPSS分别用作第一系统IOOa的示例和第二系 统IOOb的示例。在动态平台切换的示例中,例如,假设当系统启动时和在系统上施加高负荷时使 用HPSS,而在系统空闲时和用电池驱动系统时使用LPSS。在另一示例中,假设仅当必要时 使用HPSS,例如在使用诸如HDMI (高清多媒体接口)的仅由HPSS支持的接口的情况下。还 假设当用户旅行时他/她在移动PC上运行虚拟机,而当用户返回时他/她在桌上型PC上 运行虚拟机。可以使用诸如桌上型PC的分离PC或使用台式机来实现这样的布置。[1-9.实现信息处理系统所必需的系统的组成元件]为了实现根据实施例的信息处理系统10,需要在功耗/处理能力上不同的两个或 更多个子系统作为系统的组成元件。子系统的示例包括低功率子系统(LPSS)和高性能子 系统(HPSS)。系统可以进一步包括子系统之间的通信单元(例如通信部分110)、作为要在 子系统之间共享HW(硬件)资源的共享单元(例如共享部分140)、用于在子系统之间共享 VM图像(例如图像文件)的单元、切换事件检测功能(例如监视部分160的功能)以及子系统功率控制功能。[1-9-1.在功耗/处理能力上不同的两个或更多个子系统]在功耗/处理能力上不同的两个或更多个子系统的每一个被配置为执行主机OS 和VMM。将子系统配置为使得在第一子系统正执行VM时,第二子系统可以启动主机OS和 VMM以接收来自于第一子系统的移植。为了获得这样的配置,子系统的每一个包括CPU、芯 片组和存储器。依赖于配置可以在子系统之间共享存储主机OS和VMM的HDD。因而,HDD 不必属于子系统。[1-9-2.子系统之间的通信单元]子系统之间的通信单元(例如通信部分110)可以支持经由IP (网际协议)网络的 通信方案或使用诸如由USB(通用串行总线)客户端功能提供的虚拟设备的通信方案。子 系统之间的通信单元主要用于允许子系统共享VM快照(snapshot)或同步移植。子系统之 间的通信单元还可以用来允许第一子系统利用第二子系统的共享资源以及允许第二子系 统利用第一子系统的共享资源。[1-9-3.用于在子系统之间共享冊资源的单元]在根据实施例的信息处理系统10中,提供用于通过下面的⑴至⑷或其组合共 享HW资源的单元的HW配置和软件程序是必要的。(1)使用允许一个子系统经由子系统之 间的通信单元向另一个子系统提供功能的技术。例如,可以使用在服务器_客户端模型中 用于通过远程控制提供功能的技术(例如提供服务器-客户端系统中的功能)和用于通过 诸如由USB客户端功能提供的虚拟设备提供功能的技术。(2)使用用于将设备连接到总线或从每个子系统可访问的设备的技术。假设通过 例如i.LINK、SCSI (小型计算机系统接口)或LAN(局域网)的连接。可以使用在来自两个 子系统的访问之间进行仲裁的仲裁控制器。(3)使用用于移植到HW资源所连接到的子系统的技术。例如,假设移植到在LPSS 中不存在的冊资源所连接到的HPSS。(4)使用用于使用开关将HW资源连接到执行VM的子系统的技术。[1-9-4.用于在子系统之间共享VM图像的单元]在根据实施例的信息处理系统10中,提供用于通过下面的⑴至(3)或其组合共 享VM图像的单元的HW配置和软件程序是必要的。(1)使用允许一个子系统向另一个子系 统提供快照的技术。对于此选项,假设使用文件服务器、使用USB客户端功能(允许具有其 中保存VM图像的存储器的子系统对于其他子系统充当一个设备),并且假设使用文件转移 (复制)功能。(2)使用用于将共享存储器部署在相对于子系统的中立位置的技术。对于此选项, 假设通过i. LINK、SCSI或LAN的连接以及使用仲裁控制器。(3)使用允许执行VM的子系统通过使用开关切换存储器连接到哪个子系统来占 用存储器的技术。[1-9-5.切换事件检测功能]在根据实施例的子系统中,执行用于监视VM上的负荷、所使用的设备、用户通过 软件UI (用户接口)执行的选择等的软件程序来作为切换事件检测功能(例如监视部分 160的功能)。而且,在子系统的组件中执行用于监视用户通过硬件UI (诸如机械开关)执行的选择、电源(AC/电池)的改变、系统的温度、HPSS连接状态(在HPSS分离类型的情况 中)的改变等的软件程序。[1-9-6.子系统功率控制功能]在根据实施例的子系统中,用于确定诸如是否正在执行VM的状态以切换子系统的操作状态的方案或软件程序是必要的。当存在不执行VM或不向其他子系统提供功能的 子系统时,可以关断(turn off)该子系统或将其切换到功率节省模式,以降低整个系统的 功耗。当执行移植时和当子系统向其他子系统提供功能时,可以将子系统返回到正常操作 状态。[1-10.状态转换图]图5是在VM执行子系统210和非VM执行子系统220之间的状态转换图。在信息 处理系统10中,存在VM执行子系统和非VM执行子系统。[1-10-1. VM 的执行]在图5中,“VM的执行T110”指示其中正在执行VM的状态,如果其他子系统提供的 功能在“VM的执行T110”中可用,则可以经由子系统之间的通信功能来利用这样的功能。如 果在“VM的执行T110”中检测到切换事件,则VM执行子系统210转换到“移植备用T130”。[1-10-2.移植备用(VM执行子系统210)]在图5中,“移植备用T130 (VM执行子系统210)”指示其中VM执行子系统210 准备移植并且等待其他子系统转换到“移植备用T130”的状态。当建立与移植目的 (migration-destination)子系统的通信以获得同步时,VM执行子系统210转换到“移植 的执行T150”。当没有建立与移植目的子系统的通信时,VM执行子系统210转换到“VM的 执行Tl 10”。[1-10-3.移植备用(非VM执行子系统220)]在图5中,“移植备用T140(非VM执行子系统220)”指示其中非VM执行子 系统220从功率节省状态或功率关断状态返回的状态。在该状态中,非VM执行子系 统220准备接收移植并且等待其他子系统转换到“移植备用Τ130”。当建立与移植起源 (migration-origin)子系统的通信以获得同步时,非VM执行子系统220转换到“移植的执 行T160”。当没有建立与移植起源子系统的通信时,非VM执行子系统220转换到“切换备 用 T120 "ο[1-10-4.移植的执行(VM执行子系统210)]在图5中,“移植的执行(Τ150)”是其中VM被悬挂并被保存的状态。为了降低悬 挂VM的时间,可以差动地(differentially)将VM数据转移到非VM执行子系统220中(实 时移植)。如果成功地完成移植,则VM执行子系统210将已占用的HW资源转移到移植目的 子系统。如果移植失败,则VM执行子系统210转换到“VM的执行T110”。[1-10-5.移植的执行(非VM执行子系统220)]在图5中,“移植的执行(T160)”是其中VM被读取并被执行的状态。为了降低悬 挂VM的时间,可以差动地从VM执行子系统210接收VM数据(实时移植)。如果成功地完 成移植,则非VM执行子系统220接收移植起源子系统已占用的HW资源。如果移植失败,则 非VM执行子系统220转换到“切换备用T120”。[1-10-6.移植的流程]
例如以“移植的开始”、“虚拟机(移植起源)的悬挂”、“虚拟机上的数据的转移(从移植起源到移植目的)”和“虚拟机(移植目的)的恢复”的次序来顺序地执行移植过程。[1-10-7.实时移植的流程]以“移植的开始”、“虚拟机上的数据的转移(从移植起源到移植目的)”、“差动转 移(从移植起源到移植目的)”、“重复差动移植,直到差别足够小”、“虚拟机(移植起源)的 悬挂”、“差动转移(从移植起源到移植目的)”以及“虚拟机(移植目的)的恢复”的次序 顺序地执行实时移植过程。[1-10-8.切换备用]在图5中,“切换备用T120”是其中非VM执行子系统220等待切换事件的状态。在 该状态中,非VM执行子系统被关断、处于功率节省状态或将其自己的HW资源的功能提供给 VM执行子系统。如果在该状态中检测到切换事件,则非VM执行子系统220转换到“移植备 用 T140”。[1-11.第一示例性系统配置]图6示出根据实施例的信息处理系统的第一示例性系统配置。如图6中所示,LPSS 191a 包括 CPU 90la、Mem (存储器)904a、NB (北桥)908a、SB (南桥)909a、HDD 918a 和 LAN 926a。HPSS 191b 包括 CPU 901b、Mem904b、NB 908b, SB 909b、SSD (固态驱动)918b 和 LAN 926b。LPSS 191a 和 HPSS 191b 通过 LAN 926a 和 926b 相连接。LPSS 191a 的 HDD 918a 存 储 LPSS 191a 的主机 OS,VMM 和 VM 图像。HPSS 191b 的 SSD 918b 存储 HPSS191b 的主机 OS 禾口 VMM。HPSS 191b 经由 LAN 926b 访问 HDD 918a。LPSS191a 经由 LAN 926a 与 HPSS 191b 通信。LPSS 191a向SMC(系统管理控制器)906通知切换定时。SMC 906与平台切换同步 地与KBD (键盘)916和IXD 914所连接到的子系统的总线开关进行切换。SMC 906控制对 于HPSS191b的电力提供。[1-12.第二示例性系统配置]图7示出根据实施例的信息处理系统的第二示例性系统配置。如图7中所示,LPSS 191a 和 HPSS 191b 通过 USB 相连接。LPSS 191a 操作为 USB 客户端(USBC 924)。LPSS 191a 的 HDD 918a 存储 LPSS 191a 的主机 0S、VMM 和 VM 图像。HPSS 191b 的 SSD 918b 存储 HPSS 191b 的主机 OS 和 VMM。HPSS 191b 经由 USB 访问 HDD 918a。LPSS 191a 经由 USB 与 HPSS 191b通信。LPSS 191a向SMC 906通知切换定时。SMC 906与平台切换同步地与KBD916和 IXD 914所连接到的子系统的总线开关进行切换。SMC 906控制对于HPSS 191b的电力提 {共。[1-13.从 LPSS 到 HPSS 的切换]为了缩短从生成请求平台切换的事件到开始移植的时间,有必要在生成事件之后 尽可能短的时间内启动HPSS 191b。如果在LPSS 191a的操作期间HPSS 191b被置于备 用中,则HPSS 191b能够快速准备好。在允许HPSS 191b准备好之前花费时间并且期望在 LPSS 191a的操作期间降低功耗、甚至仅仅是稍微降低的情况下,HPSS 191b可以被关断以
节省更多功率。[1-14.切换的第一流程]图8示出VM执行子系统的切换的第一流程。图8图示了在LPSS的操作期间HPSS 被关断的情况。当LPSS检测到HPSS切换事件(310)的生成时,LPSS向HPSS发送启动请求(320)。当HPSS接收到启动请求(320)时,HPSS从关断状态开启(步骤S210),启动其 BIOS (步骤S220),启动其OS (步骤S230),并且启动其VMM (步骤S240)。在HPSS启动之后, 其向LPSS发送移植接收准备完成通知(330)。当LPSS接收到移植接收准备完成通知(330) 时,LPSS悬挂其VM(步骤S250),保存VM(步骤S260),并且发送VM保存完成通知(340)。 当HPSS接收到VM保存完成通知(340)时,HPSS读取从LPSS移植的VM(步骤S270),恢复 所读取的VM(步骤S280),并且发送移植成功通知(350)。在LPSS从HPSS接收到“移植成 功通知”(350)时,LPSS可以转换到“切换备用”或悬挂状态。[1-15.切换的第二流程]图9示出VM执行子系统的切换的第二流程。图9图示了在LPSS的操作期间HPSS 被置于备用的情况。当HPSS接收到启动请求(320)时,HPSS从备用状态开启(步骤S310), 恢复其BIOS (步骤S320),恢复其OS (步骤S330),并且恢复其VMM(步骤S340)。其他过程 与图8中所示的过程相同。在LPSS从HPSS接收到“移植成功通知”(350)之后,LPSS可以 转换到“切换备用”或悬挂状态。[1-16.共享用于VM图像的HDD的第一示例]图10示出共享用于VM图像的HDD的第一示例。如图10中所示,例如,LPSS 191a 和HPSS 191b通过诸如PCIe(PCI Express) 931的本地总线相连接。HDD 918a连接到LPSS 191a。VM 图像 410 被存储在 HDD 918a 中。HPSS 191b 经由 LPSS 191a 使用 HDD 918a。LPSS 191a对于HPSS 191b可以作用为通过本地总线而连接的设备,反之亦然。LPSS 191a和HPSS 191b可以使用本地总线作为网络。[1-17.共享用于VM图像的HDD的第二示例]图11示出共享用于VM图像的HDD的第二示例。如图11中所示,例如,LPSS 191a 和HPSS 191b通过诸如LAN(局域网)926的网络相连接。HDD 918a连接到LPSS 191a。VM 图像410被存储在HDD 918a中。HPSS 191b经由网络访问VM图像410。LPSS 191a的主机 OS和VMM被存储在HDD 918a中。优选地,HPSS 191b还包括具有一定容量的诸如SSD 918b 的存储器,该存储器将用于存储或虚拟存储HPSS 191b的主机OS和VMM。[1-18.共享用于VM图像的HDD的第三示例]图12示出共享用于VM图像的HDD的第三示例。如图12中所示,LPSS191a和HDD 918a 通过 i. LINK (IEEE 1394) 933a 相连接,并且 HPSS 191b 禾P HDD 918a 通过 i. LINK 933b 相连接。VM图像410被存储在HDD 918a中。LPSS 191a和HPSS 191b两者使用i. LINK 933a和933b的协议访问HDD 918a。根据示例,HDD 918a可以被用于存储LPSS 191a和 HPSS 191b的每一个的主机OS和VMM。i. LINK 933a和933b也可以被用于LPSS 191a和 HPSS 191b之间的通信。可以用SCSI、SAS、iSCSI、LAN等来替换i. LINK 933a和933b的每 一个。[1-19.共享用于VM图像的HDD的第四示例]图13示出共享用于VM图像的HDD的第四示例。如图13中所示,HDD918a连接到 具有用于仲裁来自于LPSS 191a和HPSS 191b的访问的功能的HDD控制器941。SATA(串行 ATA) 935可以被用于HDD控制器941和HDD918a之间的连接。为了在平台切换期间同步LPSS 191a和HPSS 191b,LPSS191a和HPSS 191b之间的通信单元是必要的。可以由HDD控制器 941来提供通信单元的功能。HDD控制器941和LPSS 191a可以通过PCIe (PCIExpress) 931a等相连接。HDD控制器941和HPSS 191b可以通过PCIe (PCIExpress) 931b等相 连接。[1-20.共享用于VM图像的HDD的第五示例]图14示出共享用于VM图像的HDD的第五示例。如图14中所示,LPSS191a和HPSS 191b以及HDD 918a通过SATA (串行ATA)935a、935b和935c相连接。总线开关(开关937) 用于确定LPSS 191a和HPSS 191b中的哪一个要连接到HDD 918a。为了在平台切换期间同 步LPSS 191a和HPSS 191b, LPSS 191a和HPSS 191b之间的分离通信单元是必要的。[1-21.子系统不支持同一指令集的情况]描述LPSS和HPSS各自的CPU不支持同一指令集的情况。可能存在LPSS和HPSS 各自的CPU不支持同一功能或指令集的情况。然而,即使在CPU不支持同一功能或指令集 的情况下,也可以使用仿真技术来应用实施例。例如,当X86CPU执行无效命令时,发生例外 (中断)。在这种情况下,虚拟机监视器检查中断过程正在尝试执行什么命令,以仿真该命 令。也可想象到依据支持较少数量的功能或指令集的子系统来准备虚拟机。例如,假设LPSS仅支持x86(x86,32位),并且HPSS除了 x86外还支持x64(x86, 64位),在虚拟上使用64位的Windows (注册商标)7作为OS。在这样的情况下,频繁地执 行要被LPSS仿真的64位命令。然而,通过选择这样的LPSS的CPU使得无需仿真也允许执 行这样的64位命令,即使对于LPSS也能够获得满意的性能。[1-22 未来前景]称为“虚拟装置”的服务正扩展为在服务器侧上利用的虚拟技术。在服务中,在 服务器或客户端上执行位于服务器上的VM图像。在广泛的意义上可以将虚拟装置认为是 LPSS或HPSS。如果VM和虚拟装置服务彼此兼容,则可以在VM和虚拟装置服务之间执行移 植。认为即使在不存在VM执行环境时,也可以通过作为网络服务的虚拟装置来使用VM, 并且利用虚拟服务器增加性能的可缩放性。本申请包含与在2009年3月3日向日本专利局提交的日本优先权专利申请JP 2009-049838中公开的主题相关的主题,在此通过引用而将其全部内容合并于此。尽管已参考附图描述了本发明的优选实施例,但是本发明不限于此。对于本领域 技术人员来说明显的是,在不背离所附权利要求的范围的情况下,可以进行各种改变和修 改。当然应理解,应将这样的改变和修改解释为属于本发明的技术范围。
权利要求
一种信息处理系统,包括第一系统和第二系统,所述第一系统和所述第二系统的每一个包括硬件,所述第一系统的硬件和所述第二系统的硬件在本质上彼此不同;补偿部分,被配置为为使用所述补偿部分所属于的系统的硬件执行过程提供执行环境;以及处理部分,被配置为在由所述补偿部分提供的执行环境中执行预定过程,其中,所述第一系统的补偿部分补偿所述第一系统的硬件和所述第二系统的硬件之间的差别,以向所述第一系统的处理部分提供不受所述第一系统的硬件和所述第二系统的硬件之间的差别影响的执行环境,并且所述第二系统的补偿部分补偿所述第一系统的硬件和所述第二系统的硬件之间的差别,以向所述第二系统的处理部分提供不受所述第一系统的硬件和所述第二系统的硬件之间的差别影响的执行环境。
2.根据权利要求1所述的信息处理系统, 其中,所述第一系统进一步包括监视部分,被配置为检测指示要从正在执行预定过程的系统切换的事件的发生,并且 当在执行所述预定过程期间所述监视部分检测到所述事件的发生时,所述第一系统的 处理部分提取存储于在执行所述预定过程中正使用的硬件中的数据,并且生成包含所提取 的数据的图像文件,以向所述第二系统输出所生成的图像文件。
3.根据权利要求2所述的信息处理系统, 其中,所述第二系统进一步包括监视部分,被配置为检测指示要从正在执行预定过程的系统切换的事件的发生,并且 当在执行所述预定过程期间所述监视部分检测到所述事件的发生时,所述第二系统的 处理部分提取存储于在执行所述预定过程中正使用的硬件中的数据,并且生成包含所提取 的数据的图像文件,以向所述第一系统输出所生成的图像文件。
4.根据权利要求3所述的信息处理系统,其中,当在所述预定过程的备用期间所述第一系统的监视部分检测到所述事件的发生 时,所述第一系统的处理部分接收来自于所述第二系统的图像文件,并且使得所述第一系 统的硬件存储在所接收的图像文件中包含的数据,以使用存储所述数据的所述硬件执行所 述预定过程。
5.根据权利要求4所述的信息处理系统,其中,当在所述预定过程的备用期间所述第二系统的监视部分检测到所述事件的发生 时,所述第二系统的处理部分接收来自于所述第一系统的图像文件,并且使得所述第二系 统的硬件存储在所接收的图像文件中包含的数据,以使用存储所述数据的所述硬件执行所 述预定过程。
6.根据权利要求5所述的信息处理系统,其中,所述第一系统的硬件在操作期间具有比所述第二系统的硬件的处理速度低的处 理速度,并且所述第一系统的监视部分监视正施加在所述第一系统的硬件上的负荷的大小,并且当所述负荷的大小大于预定值时生成所述事件。
7.根据权利要求5所述的信息处理系统,其中,所述第二系统的硬件在操作期间具有比所述第一系统的硬件的处理速度高的处 理速度,并且所述第二系统的监视部分监视正施加在所述第二系统的硬件上的负荷的大小,并且当 所述负荷的大小小于预定值时生成所述事件。
8.根据权利要求5所述的信息处理系统,其中,所述第二系统的硬件在操作期间具有比所述第一系统的硬件的功耗高的功耗,并且所述第二系统的监视部分监视所述第二系统的硬件的操作状态,并且当所述第二系统 的硬件空闲时生成所述事件。
9.根据权利要求5所述的信息处理系统,其中,所述第二系统的硬件在操作期间具有比所述第一系统的硬件的功耗高的功耗,并且所述第二系统的监视部分监视所述第二系统的电池的操作状态,并且当所述第二系统 的电池正被驱动时生成所述事件。
10.根据权利要求5所述的信息处理系统,其中,所述第一系统的监视部分监视在执行所述预定过程期间正由所述第一系统的处 理部分使用的所述第一系统的硬件,并且在其中有必要使用在所述第一系统中不存在的硬 件或所述第一系统的硬件出现故障的情况下生成所述事件。
11.根据权利要求5所述的信息处理系统,其中,所述第一系统的监视部分监视在执行所述预定过程期间正由所述第一系统的处 理部分使用的所述第一系统的硬件的温度,并且在所述温度高于预定值的情况下生成所述 事件。
12.根据权利要求5所述的信息处理系统, 其中,所述第一系统进一步包括输入部分,被配置为从用户接收指示要从正在执行所述预定过程的系统切换的切换指 令信息的输入,并且当所述输入部分接收到所述切换指令信息时,所述第一系统的监视部分生成所述事件。
全文摘要
一种信息处理系统,包括第一系统和第二系统。第一系统和第二系统的每一个包括硬件;补偿部分,被配置为为使用所述补偿部分所属于的系统的硬件执行过程提供执行环境;以及处理部分,被配置为在由补偿部分提供的执行环境中执行预定过程。第一系统的硬件和第二系统的硬件在本质上彼此不同。第一系统和第二系统中的一个的补偿部分补偿第一系统的硬件和第二系统的硬件之间的差别,以向另一个的处理部分提供不受第一系统的硬件和第二系统的硬件之间的差别影响的执行环境。
文档编号G06F9/48GK101826033SQ201010125300
公开日2010年9月8日 申请日期2010年2月24日 优先权日2009年3月3日
发明者增田健 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1