CN103853594A - 信息处理装置、信息处理方法和计算机程序 - Google Patents
信息处理装置、信息处理方法和计算机程序 Download PDFInfo
- Publication number
- CN103853594A CN103853594A CN201310593983.XA CN201310593983A CN103853594A CN 103853594 A CN103853594 A CN 103853594A CN 201310593983 A CN201310593983 A CN 201310593983A CN 103853594 A CN103853594 A CN 103853594A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- application program
- signal conditioning
- unit
- conditioning package
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5014—Reservation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
提供一种信息处理装置、信息处理方法和计算机程序。信息处理装置包括:指令生成单元,被配置为生成用于运行应用程序的指令;以及虚拟机管理单元,被配置为响应于由指令生成单元生成运行指令来保留计算机资源,该计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机中的每个虚拟机。
Description
相关申请的交叉引用
本申请要求于2012年11月28日提交的日本在先专利申请JP2012-259574的优先权,其全部内容通过引用合并于此。
技术领域
本公开涉及一种信息处理装置、信息处理方法和计算机程序。
背景技术
存在执行于个人计算机、智能手机、平板终端、电视机以及其它设备中、具有特定功能的应用程序。这种应用程序也被称作“App”,并且已经提供了各种类型的应用程序。
此外,存在把某一设备中使用的应用程序继续使用于另一设备中的需求,以及已经公开了满足该需求的技术,例如,针对将智能手机中执行的游戏应用程序迁移到平板终端、电视机等中以便于在更大的显示器上玩游戏的情形。如上所述,作为使得应用程序可以在另一设备中被继续使用的技术,存在过程迁移和VM(虚拟机)迁移。
这些技术是通过对由应用程序使用的计算机资源的内容进行传送以在另一设备中继续使用该应用程序的应用程序的迁移。过程迁移能够高速地将单独的应用程序迁移到另一设备,而不能对依赖于硬件的应用程序进行迁移。另一方面,VM迁移能够将任何应用程序迁移到另一设备,但是进行该迁移需要时间。这是因为多个应用程序运行在一个VM上,从而独立于目标应用程序的应用程序也被迁移,使得传送量增大。
已经公开了用于加快VM迁移中的应用程序传送的技术(JP2010-231684A、JP2009-116859A以及Post-Copy Based Live VirtualMachine Migration Using Adaptive Pre-Paging and DynamicSelf-Ballooning)。Post-Copy Based Live Virtual Machine Migration UsingAdaptive Pre-Paging and Dynamic Self-Ballooning公开了一种技术,通过该技术防止对VM不使用的存储区域进行传送以减少VM迁移中的存储传送量。在JP2010-231684A中,公开了一种技术,通过该技术,当布置在迁移目的地中的VM具有与待迁移的VM的存储页相同的存储页时,防止对该存储页的传送。在JP2009-116859A中公开了一种技术,通过该技术,服务器以集成的方式对计算机资源诸如用于VM的存储进行管理,在VM迁移前和VM迁移后都对计算机资源进行连续地使用,从而减小了VM迁移中的传送量。
发明内容
上述技术中的每个技术是用于加快VM迁移的技术,但是如上文对VM迁移的描述中所提到的,该技术仍然对甚至包括独立于目标应用程序的应用程序的应用程序进行迁移。因此,鉴于这种情况,在加快应用程序迁移方面存在改进的空间。
鉴于上述情况,期望提供新颖的、改进的并且可以在能够对甚至依赖于硬件的应用程序进行迁移的VM迁移中高速地传送应用程序的一种信息处理装置、信息处理方法以及计算机程序。
根据本公开的实施例,提供一种信息处理装置,包括:指令生成单元,被配置为生成用于运行应用程序的指令;以及虚拟机管理单元,被配置为响应于由指令生成单元生成运行指令来对计算机资源进行保留,计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机中的每一个。
根据本公开的实施例,提供一种信息处理方法,包括:生成用于运行应用程序的指令;以及响应于指令生成步骤中运行指令的生成来对虚拟机进行管理,以保留计算机资源,计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机。
根据本公开的实施例,提供一种计算机程序,使计算机执行:生成用于运行应用程序的指令;以及响应于指令生成步骤中运行指令的生成来对虚拟机进行管理,以保留计算机资源,计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机。
根据如上所述的本公开实施例,可以提供新颖的、改进的并且可以在能够对甚至依赖于硬件的应用程序进行迁移的VM迁移中高速地传送应用程序的一种信息处理装置、信息处理方法以及计算机程序。
附图说明
图1是例示根据本公开实施例的信息处理装置的功能配置示例的说明图;
图2是例示在根据本公开实施例的信息处理装置100中运行的AppVM140的功能配置示例的说明图;
图3是例示在根据本公开实施例的信息处理装置100中运行的主VM130的功能配置示例的说明图;
图4是例示根据本公开实施例的信息处理装置100中包括的VM管理单元121的功能配置示例的说明图;
图5是例示根据本公开实施例的信息处理装置100的操作的流程图;
图6是例示根据本公开实施例的信息处理装置100的操作的流程图;
图7是例示根据本公开实施例的信息处理装置100的操作的流程图;
图8是例示根据本公开实施例的信息处理装置100的操作的流程图;
图9是例示根据本公开实施例的信息处理装置100的修改的说明图;
图10是例示根据本公开实施例的信息处理装置100的修改的说明图;以及
图11是例示信息处理装置的硬件配置示例的说明图。
具体实施方式
在下文中,将参照附图对本公开的优选实施例进行详细地描述。请注意:在本说明书和附图中,用相同的附图标记来表示基本上具有相同的功能和结构的结构元件,并且省略了对这些结构元件的重复说明。
请注意将按照以下顺序进行描述。
<1.本公开实施例>
[信息处理装置的功能配置示例]
[APP VM的功能配置示例]
[主VM的功能配置示例]
[VM管理单元的功能配置示例]
[信息处理装置的操作示例]
[修改]
<2.硬件配置示例>
<3.总结>
<1.本公开实施例>
[信息处理装置的功能配置示例]
首先,将参照附图对根据本公开实施例的信息处理装置的功能配置示例进行描述。图1是例示根据本公开实施例的信息处理装置的功能配置示例的说明图。在下文中,将通过使用图1对根据本公开实施例的信息处理装置的功能配置示例进行描述。
如图1所示,根据本公开实施例的信息处理装置100-1包括计算机资源单元110和虚拟化机构单元120。根据本公开实施例的信息处理装置100-1是能够通过使用虚拟机(VM)迁移将应用程序迁移到另一信息处理装置100-2的装置。在可想到的模式的示例中,信息处理装置100-1是平板信息处理装置,而信息处理装置100-2是智能手机(高功能移动电话)。
这里,当在以下描述中不是特别必要进行彼此区分时,信息处理装置100-1和信息处理装置100-2简称为信息处理装置100。
计算机资源单元110包括由通过虚拟化机构单元120运行的各虚拟机(VM)使用的存储器、CPU(中央处理单元)、网络资源等。包括在计算机资源单元110中的存储器包括易失性存储器和非易失性存储器两者。
虚拟化机构单元120进行启动信息处理装置100内部的虚拟机并且使虚拟机运行应用程序的控制。如图1所示,虚拟化机构单元120包括VM管理单元121。VM管理单元121对关于每个虚拟机启动的信息和关于要由该虚拟机执行的对应的应用程序的信息进行管理。例如,可以以软件模块的模式来提供VM管理单元121。VM管理单元121在用户指示迁移的情况下根据需要来通过使用虚拟机(VM)迁移将运行的虚拟机迁移到其它的信息处理装置100-2。
有两种由信息处理装置100内部的虚拟化机构单元120操作的虚拟机。所述虚拟机中的一种用图1中的附图标记140表示并且以一对一的形式被分配给应用程序。在本实施例中,以一对一的形式被分配给应用程序的虚拟机被称为“App VM”。所述虚拟机中的另一种用图1中的附图标记130表示,并且每个该类型的虚拟机被配置为使用户选择应用程序,并将所选择的应用程序的执行文件、要由该应用程序使用的数据等传送给对应的App VM。在本实施例中,这种虚拟机被称为“主VM”。
图1例示运行在信息处理装置100内部的主VM和App VM。虽然图1例示一个App VM运行在信息处理装置100-1内部的情形,但是如上所述,多个App VM是以一对一的形式分配给应用程序的虚拟机,并且针对信息处理装置100-1中的相应应用程序而存在。
可以根据用户的指令来将App VM从信息处理装置100-1传送给信息处理装置100-2。根据本公开实施例的信息处理装置100为各个应用程序准备App VM,并且以App VM为单位将应用程序传送到另外的装置,从而使得能够进行高速的应用程序传送。
至此,通过使用图1对根据本公开实施例的信息处理装置的功能配置示例进行了描述。接下来,对根据本公开实施例的信息处理装置100中运行的每个App VM的功能配置示例进行描述。
[App VM的功能配置示例]
图2是例示在根据本公开实施例的信息处理装置100中运行的每个App VM140的功能配置示例的说明图。在下文中,通过使用图2来对根据本公开实施例的信息处理装置100中运行的App VM140的功能配置示例进行描述。
如图2所示,根据本公开实施例的信息处理装置100中运行的AppVM140包括客OS141和应用程序147。客OS141是用于使App VM140运行应用程序147的操作系统。
如图2所示,客OS141包括应用程序运行单元142、应用程序终止单元143、存储管理单元144、计算机资源分配量控制单元145以及应用程序间通信单元146。
应用程序运行单元142在App VM140上运行由用户指定为运行目标的应用程序。当用户终止在App VM140上运行的应用程序时,应用程序终止单元143通知VM管理单元121该应用程序被终止。
存储管理单元144管理从包括在计算机资源单元110中的存储器(硬盘驱动器、非易失性存储器等)中对由应用程序运行单元142运行的应用程序所使用的数据的读取,以及所述数据到所述存储器的写入。虽然后面将描述具体的过程,但是存储管理单元144在运行应用程序时从主VM130接收应用程序的执行文件和要由该应用程序使用的数据,并将接收到的文件和数据写到要由App VM140使用的计算机资源单元110的一部分中。在应用程序终止的时候,存储管理单元144对被写入到由App VM140使用的计算机资源单元110的所述部分的文件和数据进行读取,并将所读取的数据和文件发送给主VM130。即使当某一App VM中执行的应用程序被在另一App VM上执行时,存储管理单元144仍然以这种方式操作,从而可以继续使用由该应用程序使用的数据。
计算机资源分配量控制单元145对由App VM140使用的计算机资源单元110的分配量进行控制。图1中所示的虚拟化机构单元120的VM管理单元121不能对App VM140上的应用程序使用多少计算机资源进行检测。因而,VM管理单元121不能独自给App VM140分配最小的必需的计算机资源。因此,在本实施例中,VM管理单元121通过计算机资源分配量控制单元145来对由App VM140上执行的应用程序使用的计算机资源的量进行监视。换句话说,计算机资源分配量控制单元145具有对由App VM140上执行的应用程序使用的计算机资源的量进行监视并且将关于使用量的信息提供给VM管理单元121的功能。计算机资源分配量控制单元145可以基于App VM140的计算机资源使用状态来关于给AppVM140的计算机资源分配的量的改变进行控制。例如,当对计算机资源使用的量的监视表明运行的App VM140的计算机资源使用量超过了预定阈值时,计算机资源分配量控制单元145可以执行增加给App VM140的计算机资源分配的量的控制。此外,例如,当在监视计算机资源使用的量的过程中可以预测出运行的App VM140的计算机资源使用量的增加的趋势时,计算机资源分配量控制单元145可以执行增加给App VM140的计算机资源分配的量的控制。
应用程序间通信单元146进行运行在同一信息处理装置100上却互不相同的App VM140之间的通信。当在各个App VM上执行应用程序时,在相关技术中不能进行应用程序间的通信。这是因为,尽管各App VM运行在同一信息处理装置100上,在各App VM的每个客OS看来好像相对应的App VM仍然运行在不同的装置上(物理计算机)。因此,需要支持运行在同一信息处理装置100上的各自不同的App VM140上执行的应用程序之间的通信。应用程序间通信单元146支持在各自不同的App VM140上执行的应用程序之间的通信。为了使得运行在同一信息处理装置100上的多个不同的App VM140上执行的应用程序间之间可以通信,应用程序间通信单元146起到了对应用程序之间的通信进行介入的作用。后面将对使用应用程序间通信单元146的应用程序间的通信处理进行详细地描述。
至此,通过使用图2对根据本公开实施例的信息处理装置100中运行的App VM140的功能配置示例进行了描述。接下来,对根据本公开实施例的信息处理装置100中运行的主VM130的功能配置示例进行描述。
[主VM的功能配置示例]
图3是例示在根据本公开实施例的信息处理装置100中运行的主VM130的功能配置示例的说明图。在下文中,通过使用图3来对根据本公开实施例的信息处理装置100中运行的主VM130的功能配置示例进行描述。
如图3所示,根据本公开实施例的信息处理装置100中运行的主VM130包括客OS131和清单显示单元133。客OS131是用于在主VM130上执行各种处理的操作系统。作为由主VM130执行的处理,这里示出以下处理:使得用户选择应用程序的处理;以及将所选择的应用程序的执行文件和要由该应用程序使用的数据传送给在其上执行该应用程序的对应的App VM140的处理。不言而喻,由主VM130执行的处理不限于这些。
清单显示单元133将可以由信息处理装置100提供给用户的应用程序的清单显示在信息处理装置100的屏幕(未示出)上。清单显示单元133可以以多种格式将应用程序清单显示在屏幕上。例如,清单显示单元133可以以列表的格式或者以如排列图标这种格式将应用程序清单显示在屏幕上。清单显示单元133生成用于运行由用户所选择的应用程序的指令,并且将所生成的运行指令发送给VM管理单元121。因此清单显示单元133具有例示为根据本公开实施例的指令生成单元的功能。
如图3所示,主VM130的客OS131包括主存储管理单元132。主存储管理单元132执行如下处理:从计算机资源单元110读取应用程序的执行文件和要由该应用程序使用的数据,其中,由清单显示单元133将该应用程序显示在信息处理装置100的屏幕(未示出)上并且由用户进行选择;以及将执行文件和数据传送给在其上执行应用程序的App VM140。当App VM140被终止时,主存储管理单元132还执行取回被传送给AppVM140的数据的处理。
至此,通过使用图3对根据本公开实施例的信息处理装置100中运行的主VM130的功能配置示例进行了描述。接下来,对根据本公开实施例的信息处理装置100中包括的VM管理单元121的功能配置示例进行描述。
[VM管理单元的功能配置示例]
图4是例示根据本公开实施例的信息处理装置100中包括的VM管理单元121的功能配置示例的说明图。通过使用图4,以下将对根据本公开实施例的信息处理装置100中包括的VM管理单元121的功能配置示例进行描述。
如图4所示,VM管理单元121包括使用历史管理单元122和对应关系列表管理单元123。
使用历史管理单元122对由在对应的App VM140上执行的每个应用程序使用的、计算机资源单元110中的计算机资源的使用历史进行管理。由使用历史管理单元122管理的计算机资源的使用历史被用于确定在App VM140启动时或者在App VM140运行期间要被分配给App VM140的计算机资源的量。
对应关系列表管理单元123对各App VM与各应用程序之间的对应关系的列表进行管理。即,对应关系列表管理单元123对示出哪个App VM执行哪个应用程序的对应关系列表进行管理。由对应关系列表管理单元123管理的对应关系列表被应用程序间通信单元146用于应用程序间通信处理。
至此,通过使用图4对根据本公开实施例的信息处理装置100中包括的VM管理单元121的功能配置示例进行了描述。接下来,对根据本公开实施例的信息处理装置100的操作示例进行描述。
[信息处理装置的操作示例]
作为根据本公开实施例的信息处理装置100的操作示例,对以下处理进行描述:应用程序运行处理;应用程序终止处理;对给App VM的计算机资源分配的量进行控制的处理;以及应用程序间通信处理。
(1)应用程序运行处理
图5是例示根据本公开实施例的信息处理装置100的操作的流程图。图5中所示的操作是当在信息处理装置100内部保留App VM140之一以在该App VM140上运行应用程序时,信息处理装置100是如何操作的。在下文中,通过使用图5来对根据本公开实施例的信息处理装置100的操作进行描述。
当用户从由主VM130的清单显示单元133显示在信息处理装置100的屏幕上的应用程序中选择要运行的应用程序时(步骤S101),清单显示单元133将所选择的应用程序通知VM管理单元121。
在收到来自清单显示单元133的所选择的应用程序的通知时,VM管理单元121基于由使用历史管理单元122管理的、计算机资源单元110中的计算机资源使用历史来确定分配给用于选择的应用程序的App VM140的计算机资源的量,并对App VM140的运行的可行性进行判断(步骤S102)。VM管理单元121基于待由选择的应用程序使用的、计算机资源单元110中的计算机资源的保留的可行性来判断App VM140的运行的可行性。
如果在上述步骤102中判断出步骤S101中所选择的应用程序的AppVM140的运行是可行的,则VM管理单元121通过使用虚拟机快照技术来运行所选择的应用程序的App VM140(步骤S104)。请注意:VM管理单元121不仅可以使用虚拟机快照技术,而且如果存在处于暂停状态的虚拟机还可以恢复该虚拟机。处于暂停状态的虚拟机指的是处于虚拟机已经被加载到存储器中但尚未被执行的状态的虚拟机。
另一方面,如果在上述步骤S102中判断出由于App VM140中的另一个已经运行的App VM140使用计算机资源的原因,使得步骤S101中所选择的应用程序的App VM140的运行不可行,则VM管理单元121对分配给已经运行的App VM140的、计算机资源单元110中的计算机资源的量进行改变(步骤S103)。当由于在步骤S103中对分配给已经运行的App VM140的、计算机资源单元110中的计算机资源的量进行改变而使得步骤S101中所选择的应用程序的App VM140的运行变得可行时,VM管理单元121通过使用虚拟机快照技术来运行所选择的应用程序的App VM140(步骤S104)。
请注意:如果即使在步骤S103中对分配给已经运行的App VM140的、计算机资源单元110中的计算机资源的量进行了修改,步骤S101中所选择的应用程序的App VM140的运行仍不可行,则VM管理单元121可以将指示由已经运行的App VM140所执行的应用程序的终止的消息显示在信息处理装置100的屏幕上。
在上述步骤S104中运行App VM140之后,VM管理单元121随后通过使主VM130的主存储管理单元132与App VM140的存储管理单元144彼此合作,将步骤S101中所选择的应用程序的执行文件和要由该应用程序使用的数据从主VM130传送到App VM140(步骤S105)。
在上述步骤S105中将在步骤S101中所选择的应用程序的执行文件和要由该应用程序使用的数据从主VM130传送到App VM140之后,VM管理单元121将步骤S101中所选择的应用程序通知步骤S104中运行的App VM140的应用程序运行单元142。在从VM管理单元121收到步骤S101中所选择的应用程序的通知时,应用程序运行单元142通过使用上述步骤S105中所传送的执行文件来运行步骤S101中所选择的应用程序(步骤S106)。
在上述步骤S106中,当应用程序运行单元142运行步骤S101中所选择的应用程序时,VM管理单元121对由对应关系列表管理单元123管理的应用程序和App VM之间的对应关系列表进行更新(步骤S107)。
根据本公开实施例的信息处理装置100执行如图5中所示的操作,从而可以以应用程序为单位操作App VM140。而且,执行对应的应用程序147的每个App VM140被传送到另一信息处理装置(例如,图1中例示的信息处理装置100-2),从而根据本公开实施例的信息处理装置100(例如,图1中例示的信息处理装置100-1)可以在能够甚至对依赖于硬件的应用程序进行迁移的VM迁移中高速地传送应用程序。
至此,通过使用图5对当在信息处理装置100内部保留App VM140以在该App VM140上运行应用程序时,信息处理装置100如何操作进行了描述。
(2)应用程序终止处理
图6是例示根据本公开实施例的信息处理装置100的操作的流程图。图6中例示的操作是对App VM140上执行的应用程序进行终止的操作。在下文中,将通过使用图6来对根据本公开实施例的信息处理装置100的操作进行描述。
当用户终止App VM140上执行的应用程序时,并且当App VM140的应用程序终止单元143对应用程序的终止进行检测时,应用程序终止单元143将应用程序的终止通知VM管理单元121(步骤S111)。
从应用程序终止单元143接收到应用程序终止的通知的VM管理单元121将由该应用程序使用的数据写回到主VM130(步骤S112)。具体地,VM管理单元121从执行该应用程序的App VM140的存储管理单元144中获取由该应用程序使用的数据,并将数据递送给主VM130的主存储管理单元132,从而将由该应用程序使用的数据写回到主VM130。
在上述步骤S112中VM管理单元121将数据写回到主VM130之后,VM管理单元121随后对由对应关系列表管理单元123管理的应用程序与App VM之间的对应关系列表进行更新(步骤S113)。本文中,VM管理单元121例如以如下方式来对由对应关系列表管理单元123管理的对应关系列表进行更新,所述方式是将已终止应用程序和对应的App VM之间的对应关系从对应关系列表中擦除。
在上述步骤S113中对对应关系列表进行更新之后,VM管理单元121使得执行已终止的应用程序的App VM140停止(步骤S114)。
请注意:在上述步骤S114中VM管理单元121使得执行已终止的应用程序的App VM140停止,但是本公开实施例不限于该示例。例如,VM管理单元121可以使执行已终止的应用程序的App VM140进入暂停状态,即进入到App VM140准备重用于另一应用程序的状态,而不是使执行已终止的应用程序的App VM140停止。
至此,通过使用图6对App VM140上执行的应用程序被终止时信息处理装置100如何操作进行了描述。
(3)资源分配量改变处理
图7是例示根据本公开实施例的信息处理装置100的操作的流程图。图7中例示的操作是对分配给App VM140的、计算机资源单元110中的计算机资源的量进行控制的操作。在下文中,将通过使用图7来对根据本公开实施例的信息处理装置100的操作进行描述。这里,通过将存储器作为计算机资源单元110中的计算机资源的示例来进行描述。
VM管理单元121通过包括在App VM140的客OS141中的计算机资源分配量控制单元145,借助于对由App VM140执行的应用程序使用的存储器使用量进行检查来定期获取由App VM140执行的应用程序使用的存储器使用量(步骤S121)。
在上述步骤S121中获取由App VM140执行的应用程序使用的内存使用量之后,VM管理单元121使使用历史管理单元122对在上述步骤S121中所获取的值进行管理(步骤S122)。
然后,VM管理单元121基于由使用历史管理单元122管理的、计算机资源单元110的计算机资源的使用历史来确定并控制分配给用于应用程序的App VM140的计算机资源的量(步骤S123)。
在上述步骤S123中确定并控制分配给App VM140的计算机资源的量之后,VM管理单元121等待预定的时间(步骤S124)之后返回至上述步骤S121。
请注意:VM管理单元121定期执行图7中的资源分配量改变处理,但是本公开实施例并不限于该示例。例如,VM管理单元121可以被配置为:在由信息处理装置100执行的整个系统处在剩余的计算机资源低于预定阈值的计算机资源短缺状态时,或在App VM140中的任一App VM140处在计算机资源短缺状态时,执行资源分配量改变处理。当然,VM管理单元121可以被配置为对定期进行的资源分配量改变处理和取决于计算机资源使用状态进行的资源分配量改变处理进行结合和执行。
至此,通过使用图7给出了在对给App VM140的、计算机资源单元100中的计算机资源的分配量进行控制的处理中,根据本公开实施例的信息处理装置100如何操作的描述。
(4)应用程序间的通信处理
图8是例示根据本公开实施例的信息处理装置100的操作的流程图。图8中例示的操作是当运行在同一信息处理装置100上的各App VM140上执行的不同应用程序之间进行通信时进行的操作。通过使用图8,下面对根据本公开实施例的信息处理装置100的操作进行描述。
为了使得在App VM140上执行的应用程序之间能够进行通信,包括在根据本公开实施例的信息处理装置100中的每个App VM140的客OS141中的应用程序间通信单元146对应用程序间的通信进行介入。在本实施例的描述中,以管道通信作为应用程序间通信的示例。应用程序间通信单元146对应用程序间的通信进行介入从而使得通信相当于在同一OS上执行应用程序的情形下进行的通信。
首先,对应的App VM140上执行的应用程序147之一启动与对应的App VM140上执行的另一应用程序147的管道通信(步骤S131)。
上述步骤S131中应用程序147启动与另一应用程序147的管道通信之后,通信源的应用程序间通信单元146向VM管理单元121询问AppVM140中的哪一个运行通信目的地应用程序147,其中通信源应用程序147试图与该通信目的地应用程序147进行通信(步骤S132)。
VM管理单元121参照由对应关系列表管理单元123管理的应用程序与App VM之间的对应关系列表,并将关于执行通信目的地应用程序147的App VM140的信息返回给通信源应用程序间通信单元146(步骤S132)。
从VM管理单元121接收到关于执行通信目的地应用程序147的AppVM140的信息的通信源应用程序间通信单元146将上述步骤S131中由通信源应用程序147所启动的管道通信的格式转换为套接字通信格式(步骤S133)。
然后,通信源应用程序间通信单元146将上述步骤S133中转换的套接字通信的内容传送给执行通信目的地应用程序147的App VM140,在上述步骤132中从VM管理单元121中获取该App VM140(步骤S134)。
当执行通信目的地应用程序147的通信目的地App VM140收到来自通信源应用程序间通信单元146的传送时,通信目的地App VM140的应用程序间通信单元146将套接字通信的格式转换为管道通信的格式(步骤S135)。
在上述步骤S135中将套接字通信的格式转换为管道通信的格式之后,通信目的地App VM140的应用程序间通信单元146将经转换的内容传送给由通信目的地App VM140执行的应用程序147(步骤S136)。
根据本公开实施例的信息处理装置100执行如图8中示出的一系列的步骤,从而使得各App VM140上执行的不同的应用程序147之间能够进行通信。
[修改]
随后,给出对根据本公开实施例的信息处理装置100的修改的描述。以上给出了对其中主VM130包括主存储管理单元132和清单显示单元133的配置的描述,但是本公开实施例并不限于该示例。
图9是例示根据本公开实施例的信息处理装置100的修改之一的说明图。图9中的修改例示VM管理单元121包括主存储管理单元132和清单显示单元133的情形。如上所述,VM管理单元121可以包括主存储管理单元132和清单显示单元133。
此外,主存储管理单元132的功能和清单显示单元133的功能可以作为应用程序实现。图10是例示根据本公开实施例的信息处理装置100的修改中的另一修改的说明图。图10中的修改例示在App VM140上运行主存储管理单元132和清单显示单元133的情形。如上所述,不同于其中主VM130与App VM140彼此分开的图1中的配置,根据本公开实施例的信息处理装置100通过将主存储管理单元132的功能和清单显示单元133的功能作为应用程序来实现可以具有图10中的配置。
<2.硬件配置示例>
可以通过使用例如图11中例示的信息处理装置的硬件配置来执行上述算法。换句话说,通过使用计算机程序对图11中例示的硬件进行控制来实现算法中的处理。请注意:该硬件可以为任何模式,包括例如:移动信息终端,诸如个人计算机、移动电话、PHS和PDA;游戏机;接触式IC芯片和非接触式IC芯片;以及各种个人数字电子产品。请注意:上述的PHS代表个人手持电话系统;并且PDA代表个人数字助理。
如图11所示,硬件主要包括CPU902、ROM904、RAM906、主机总线908以及桥910。硬件还包括外部总线912、接口914、输入单元916、输出单元918、存储器单元920、驱动器922、连接端口924以及通信单元926。请注意:上述CPU代表中央处理单元;ROM代表只读存储器;并且RAM代表随机存取存储器。
CPU902起到例如算术处理单元或者控制设备的作用,并且基于记录在ROM904、RAM906、存储单元920或者可移除记录介质928中的各种程序对组件的全部操作或者部分操作进行控制。ROM904是被配置为对要由CPU902读取的程序、用于计算的数据等进行存储的设备。RAM906对要由CPU902读取的程序、在执行程序处理中适当地变化的各种参数等进行临时地或者永久地存储。
这些组件例如通过能够进行高速数据传输的主机总线908相互连接。主机总线908例如通过桥910连接到具有相对低的数据传输速度的外部总线912。鼠标、键盘、触摸面板、按钮、开关、控制杆等被用作输入单元916。能够通过使用红外线或者其它电子波传输控制信号的远程控制器有时也被用作输入单元916。
输出单元918是能够从视觉上或者听觉上通知用户所获得的信息的设备,包括:显示设备诸如CRT、LCD、PDP以及ELD;音频输出设备诸如扬声器和耳机;打印机;移动电话;传真机等。请注意:上述CRT代表阴极射线管;LCD代表液晶显示器;PDP代表等离子显示面板;以及ELD代表电致发光显示器。
存储单元920是用于存储各种数据片段的设备。磁存储设备诸如HDD、半导体存储设备、光存储设备、磁光存储设备等被用作存储单元920。请注意:上述HDD代表硬盘驱动器。
驱动器922是被配置为对记录在可移除记录介质928诸如磁盘、光盘、磁光盘或者半导体存储器中的信息进行读取,或者被配置为将信息写到可移除记录介质928的设备。可移除记录介质928是DVD介质、蓝光介质、HD DVD介质、各种半导体存储介质中的任何半导体存储介质等。当然,可移除记录介质928可以是电子设备、其上安装有非接触式IC芯片的IC卡等。请注意:上述IC代表集成电路。
连接端口924是用于连接外部连接设备930的端口,诸如USB端口、IEEE1394端口、SCSI、RS-232C端口或者光学音频端子。外部连接设备930是打印机、便携式音乐播放器、数字相机、数字摄像机、IC记录器等。请注意:上述USB代表通用串行总线;SCSI代表小型计算机系统接口。
通信单元926是用于连接至网络932的通信设备,诸如用于有线LAN或无线LAN、蓝牙(注册商标)或者WUSB的通信卡、用于光通信的路由器、用于ADSL的路由器,或者用于接触式或非接触式通信的设备。连接到通信单元926的网络932被配置为以有线或者无线的方式进行连接的网络,并且是因特网、家庭无线LAN、红外线通信、可见光通信、广播、卫星通信等。请注意:上述LAN代表局域网;WUSB代表无线USB;ADSL代表非对称数字用户线路。
<3.总结>
根据如上所述的本公开实施例,为各应用程序准备App VM并且以App VM为单位将应用程序传送给另一装置,从而可以提供能够将应用程序高速传送到另一装置的信息处理装置100。
在本说明书中由每个装置执行的每个处理的步骤不一定必须以按照序列图或者流程图中所描述的步骤的顺序的时间序列进行。例如,由每个装置执行的处理步骤可以按照与流程图中所描述的顺序不同的顺序进行或者可以并行地进行。
还可以生成用于使硬件诸如内置在每个装置中的CPU、ROM以及RAM发挥与上述装置的配置中的功能相当的功能的计算机程序。还可以提供对计算机程序进行存储的存储器介质。还可以由硬件对功能框图中示出的每个功能块进行配置,由硬件来实现一系列处理。
本领域的技术人员应当理解的是,可以根据设计需要和其它因素进行多种修改、组合、子组合以及变更,只要这些修改、组合、子组合以及变更在所附权利要求或其等同方案的范围内即可。
此外,本技术还可以配置如下。
(1)一种信息处理装置,包括:
指令生成单元,被配置为生成用于运行应用程序的指令;以及
虚拟机管理单元,被配置为响应于由指令生成单元生成运行指令来对计算机资源进行保留,计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机中的每一个。
(2)根据(1)的信息处理装置,其中,
虚拟机管理单元通过使用保留的计算机资源来运行虚拟机,之后在虚拟机上运行作为运行指令目标的对应的应用程序,以及
信息处理装置还包括数据管理单元,数据管理单元被配置为向由虚拟机管理单元在虚拟机上运行的应用程序提供要由应用程序使用的数据。
(3)根据(1)或(2)的信息处理装置,还包括:
计算机资源分配量控制单元,被配置为对分配给虚拟机的计算机资源的量进行改变。
(4)根据(3)的信息处理装置,其中,
当虚拟机管理单元不能保留使得虚拟机运行的计算机资源时,计算机资源分配量控制单元对分配给虚拟机中的另一虚拟机的计算机资源的量进行改变。
(5)根据(3)的信息处理装置,其中,
计算机资源分配量控制单元基于虚拟机的计算机资源使用状态来对分配给运行的虚拟机的计算机资源的量进行改变。
(6)根据(2)的信息处理装置,其中,
当终止执行运行在虚拟机上的应用程序时,虚拟机管理单元取回由应用程序使用的数据。
(7)根据(6)的信息处理装置,其中,
数据管理单元获取由虚拟机管理单元取回的数据。
(8)根据(2)至(7)中任一个的信息处理装置,其中,
当终止执行运行在虚拟机上的应用程序时,虚拟机管理单元停止虚拟机。
(9)根据(2)至(8)中任一个的信息处理装置,其中,
当终止执行运行在虚拟机上的应用程序时,虚拟机管理单元将虚拟机重新用于应用程序中的另一应用程序。
(10)根据(2)至(9)中任一个的信息处理装置,其中,
虚拟机管理单元包括对应关系列表管理单元,对应关系列表管理单元被配置为对描述运行在各虚拟机上的各应用程序的对应关系的列表进行管理。
(11)据(10)的信息处理装置,其中,
虚拟机管理单元通过使用由对应关系列表管理单元管理的列表来对运行在虚拟机上的应用程序之间的通信进行干预。
(12)根据(2)至(11)中任一个的信息处理装置,其中,
虚拟机管理单元包括使用历史管理单元,使用历史管理单元被配置为对运行的虚拟机的计算机资源的使用历史进行管理。
(13)根据(12)的信息处理装置,其中,
虚拟机管理单元基于由使用历史管理单元管理的使用历史来确定分配给虚拟机的计算机资源的量。
(14)根据(12)的信息处理装置,其中,
虚拟机管理单元基于由使用历史管理单元管理的使用历史来确定分配给正在运行的虚拟机的计算机资源的量。
(15)根据(2)至(14)中任一个的信息处理装置,其中,
虚拟机管理单元将运行的虚拟机迁移到另一装置。
(16)一种信息处理方法,包括:
生成用于运行应用程序的指令;以及
响应于指令生成步骤中运行指令的生成来对虚拟机进行管理,以保留计算机资源,该计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机。
(17)一种计算机程序,使计算机执行:
生成用于运行应用程序的指令;以及
响应于指令生成步骤中运行指令的生成来对虚拟机进行管理,以保留计算机资源,该计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机。
Claims (18)
1.一种信息处理装置,包括:
指令生成单元,被配置为生成用于运行应用程序的指令;以及
虚拟机管理单元,被配置为响应于由所述指令生成单元生成所述运行指令来对计算机资源进行保留,所述计算机资源用于运行与作为运行指令目标的应用程序相对应的虚拟机中的每一个。
2.根据权利要求1所述的信息处理装置,其中,
所述虚拟机管理单元通过使用保留的所述计算机资源来运行所述虚拟机,之后在所述虚拟机上运行作为所述运行指令目标的对应的应用程序,以及
所述信息处理装置还包括数据管理单元,所述数据管理单元被配置为向由所述虚拟机管理单元在所述虚拟机上运行的所述应用程序提供要由所述应用程序使用的数据。
3.根据权利要求1所述的信息处理装置,还包括:
计算机资源分配量控制单元,被配置为对分配给所述虚拟机的所述计算机资源的量进行改变。
4.根据权利要求3所述的信息处理装置,其中,
当所述虚拟机管理单元不能保留使得所述虚拟机能够运行的所述计算机资源时,所述计算机资源分配量控制单元对分配给所述虚拟机中的另一虚拟机的所述计算机资源的量进行改变。
5.根据权利要求3所述的信息处理装置,其中,
所述计算机资源分配量控制单元基于所述虚拟机的计算机资源使用状态来对分配给运行的虚拟机的所述计算机资源的量进行改变。
6.根据权利要求2所述的信息处理装置,其中,
当终止执行运行在所述虚拟机上的所述应用程序时,所述虚拟机管理单元取回由所述应用程序使用的数据。
7.根据权利要求6所述的信息处理装置,其中,
所述数据管理单元获取由所述虚拟机管理单元取回的所述数据。
8.根据权利要求2所述的信息处理装置,其中,
当终止执行运行在所述虚拟机上的所述应用程序时,所述虚拟机管理单元停止所述虚拟机。
9.根据权利要求2所述的信息处理装置,其中,
当终止执行运行在所述虚拟机上的所述应用程序时,所述虚拟机管理单元将所述虚拟机重新用于所述应用程序中的另一应用程序。
10.根据权利要求2所述的信息处理装置,其中,
所述虚拟机管理单元包括对应关系列表管理单元,所述对应关系列表管理单元被配置为对描述运行在所述虚拟机上的所述应用程序的对应关系的列表进行管理。
11.根据权利要求10所述的信息处理装置,其中,
所述虚拟机管理单元通过使用由所述对应关系列表管理单元管理的所述列表来介入运行在所述虚拟机上的所述应用程序之间的通信。
12.根据权利要求10所述的信息处理装置,其中,
终止执行运行在所述虚拟机上的所述应用程序时,所述虚拟机管理单元更新所述列表。
13.根据权利要求2所述的信息处理装置,其中,
所述虚拟机管理单元包括使用历史管理单元,所述使用历史管理单元被配置为对运行的虚拟机的所述计算机资源的使用历史进行管理。
14.根据权利要求13所述的信息处理装置,其中,
当运行所述虚拟机时,所述虚拟机管理单元基于由所述使用历史管理单元管理的所述使用历史来确定分配给所述虚拟机的所述计算机资源的量。
15.根据权利要求13所述的信息处理装置,其中,
所述虚拟机管理单元基于由所述使用历史管理单元管理的所述使用历史来确定分配给正在运行的所述虚拟机的所述计算机资源的量。
16.根据权利要求2所述的信息处理装置,其中,
所述虚拟机管理单元将运行的虚拟机迁移到另一装置。
17.一种信息处理方法,包括:
生成用于运行应用程序的指令;以及
响应于指令生成步骤中所述运行指令的生成来对虚拟机进行管理,以保留计算机资源,所述计算机资源用于运行与作为运行指令目标的所述应用程序相对应的所述虚拟机。
18.一种计算机程序,使计算机执行:
生成用于运行应用程序的指令;以及
响应于指令生成步骤中所述运行指令的生成来对虚拟机进行管理,以保留计算机资源,所述计算机资源用于运行与作为运行指令目标的所述应用程序相对应的所述虚拟机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012259574A JP2014106767A (ja) | 2012-11-28 | 2012-11-28 | 情報処理装置、情報処理方法及びコンピュータプログラム |
JP2012-259574 | 2012-11-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103853594A true CN103853594A (zh) | 2014-06-11 |
Family
ID=50774498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310593983.XA Pending CN103853594A (zh) | 2012-11-28 | 2013-11-21 | 信息处理装置、信息处理方法和计算机程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140149984A1 (zh) |
JP (1) | JP2014106767A (zh) |
CN (1) | CN103853594A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015197845A (ja) * | 2014-04-02 | 2015-11-09 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
US9854041B1 (en) | 2014-09-30 | 2017-12-26 | Amazon Technologies, Inc. | Reducing network traffic when replicating memory data across hosts |
JP6394455B2 (ja) * | 2015-03-24 | 2018-09-26 | 富士通株式会社 | 情報処理システム、管理装置およびプログラム |
US10452442B2 (en) * | 2015-11-27 | 2019-10-22 | Huawei Technologies Co., Ltd. | System and method for resource management |
JP7402643B2 (ja) * | 2019-09-18 | 2023-12-21 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
US11409619B2 (en) | 2020-04-29 | 2022-08-09 | The Research Foundation For The State University Of New York | Recovering a virtual machine after failure of post-copy live migration |
US20220269521A1 (en) * | 2021-02-25 | 2022-08-25 | Red Hat, Inc. | Memory page copying for virtual machine migration |
US11836052B2 (en) * | 2021-07-27 | 2023-12-05 | Rubrik, Inc. | Data backup and recovery management using allocated data blocks |
CN114968272A (zh) * | 2022-05-31 | 2022-08-30 | 京东方科技集团股份有限公司 | 一种算法运行方法、装置、设备、存储介质 |
-
2012
- 2012-11-28 JP JP2012259574A patent/JP2014106767A/ja active Pending
-
2013
- 2013-10-18 US US14/057,411 patent/US20140149984A1/en not_active Abandoned
- 2013-11-21 CN CN201310593983.XA patent/CN103853594A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2014106767A (ja) | 2014-06-09 |
US20140149984A1 (en) | 2014-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103853594A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
EP3568789B1 (en) | Signature verification of field-programmable gate array programs | |
EP2972746B1 (en) | Storage unit selection for virtualized storage units | |
CN107534653B (zh) | 基于云的跨设备的数字笔配对 | |
US10536322B2 (en) | Resource management for services | |
US9760413B2 (en) | Power efficient brokered communication supporting notification blocking | |
CN110651269A (zh) | 隔离的容器事件监视 | |
CN101622600A (zh) | 多个具有引导能力的设备之间的引导协商 | |
CN105580383A (zh) | 用于在无线装置之间实时共享多媒体内容的方法和设备 | |
CN103339607A (zh) | 利用单个手势输入来锁定和解锁多个操作系统环境的方法和设备 | |
US20120102187A1 (en) | Storage Workload Balancing | |
CN107395473B (zh) | 家用电器的组网方法、装置和终端设备 | |
CN103473037A (zh) | 信息处理装置、信息处理方法和程序 | |
CN107835984B (zh) | 热减轻用户体验 | |
CN104335136A (zh) | 信息处理装置 | |
CN110109706B (zh) | 在平台中实现组件库存和合规性的系统和方法 | |
CN101321166A (zh) | 使用者讯息管理方法及系统 | |
CN105335192B (zh) | 一种信息处理方法及电子设备 | |
US20140244545A1 (en) | System, method, and recording medium | |
US20220308938A1 (en) | Systems and methods for power management for modern workspaces | |
CN113110883A (zh) | 区块链系统的启动方法、装置、设备和存储介质 | |
US20160070320A1 (en) | Individual Device Reset and Recovery in a Computer | |
JP7235295B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及びプログラム | |
US11662973B2 (en) | Systems and methods for orchestrated audio session management for modern workspaces | |
US20240028730A1 (en) | Revoked firmware rollback prevention |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140611 |