CN101901149A - 处理信息的设备、方法和程序 - Google Patents

处理信息的设备、方法和程序 Download PDF

Info

Publication number
CN101901149A
CN101901149A CN2010101831396A CN201010183139A CN101901149A CN 101901149 A CN101901149 A CN 101901149A CN 2010101831396 A CN2010101831396 A CN 2010101831396A CN 201010183139 A CN201010183139 A CN 201010183139A CN 101901149 A CN101901149 A CN 101901149A
Authority
CN
China
Prior art keywords
instruction
program
processing unit
information processing
cpu
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.)
Granted
Application number
CN2010101831396A
Other languages
English (en)
Other versions
CN101901149B (zh
Inventor
光泽敦
松山佑司
河合利彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101901149A publication Critical patent/CN101901149A/zh
Application granted granted Critical
Publication of CN101901149B publication Critical patent/CN101901149B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

用于处理信息的设备和方法可由执行程序的源信息处理单元确定是否存在移植条件。当源信息处理单元确定存在移植条件时,目的地信息处理单元可以确定所述程序的要执行的指令是否是预定指令。当目的地信息处理单元的确定结果是预定指令时,由指令模拟器转换要执行的指令。

Description

处理信息的设备、方法和程序
相关申请的交叉引用
该申请要求在2009年5月25日提交的日本专利申请JP 2009-125206的申请日的权益,其公开通过引用合并于此。
技术领域
本发明涉及用于处理信息的设备、方法和程序,并且更具体地,涉及用于有效地执行经过程序的移植(migration)的程序的设备、方法和程序。
背景技术
典型地,使用程序移植、诸如程序移动或程序转换处理。
可获得的用于执行移植的相关技术是模拟(emulation)方法,诸如QEMU(Fabrice Bellard的注册商标)。
还在Ben Serebrin“Cross-vendor migration:What do you mean my ISAisn’t comptabile?”,Xen Summit,2009年2月和(通过因特网在2009年4月23日检索到的)FlexMigration<URL:http://communities.intel.com/openport/docs/DOC-2538>中公开了其他技术。
发明内容
如果仅仅采用上述相关技术,则不能充分满足下述需要。
目前,越来越有必要在不同类型的中央处理单元(CPU)、例如高端CPU和低功耗CPU之间执行当前正运行的程序的移植。程序移植包括程序移动和转换处理。这样的需要没有被充分满足。
由此,期望的是在程序移植之前和之后有效地执行程序。
根据本发明的一个方面,一种用于处理信息的设备包括:源信息处理单元,用于在执行程序时确定是否存在移植条件;以及目的地信息处理单元,用于在所述源信息处理单元确定存在移植条件时确定所述程序的要执行的指令是否是预定指令。
根据本发明的另一方面,用于处理信息的方法包括:由执行程序的源信息处理单元确定是否存在移植条件;以及当所述源信息处理单元确定存在移植条件时,由目的地信息处理单元确定所述程序的要执行的指令是否是预定指令。
根据本发明的另一方面,一种用于执行程序的系统,包括:源信息处理单元,具有实现第一指令集的处理能力,以及可操作用于执行程序;目的地信息处理单元,具有实现第二指令集的处理能力。所述第一指令集包括与所述第二指令集共有的至少一个指令和与所述第二指令集不共有的至少一个指令。所述目的地信息处理单元可操作用于确定所述程序的要执行的指令是否是所述第二指令集共有的。仅当所述要执行的指令不是所述第二指令集共有的时,才由指令模拟器转换所述要执行的指令。当所述要执行的指令是所述第二指令集共有的时,通过所述目的地信息处理单元的处理能力执行所述要执行的指令。
由此在程序的移植之后有效地执行程序。
附图说明
图1是例示了本发明的第一实施例的信息处理设备的框图。
图2是例示了已经在图1的系统中移植的虚拟机的框图。
图3是例示了第一实施例的移植处理的流程图;
图4是例示了根据第一实施例的移植目的地处的指令执行处理的流程图;
图5是例示了根据本发明的第二实施例的信息处理设备的框图。
图6是例示了根据本发明的第三实施例的信息处理设备的框图。
图7例示了程序的结构;
图8例示了不同于图7的程序结构的程序结构;
图9是例示了根据本发明的第三实施例的虚拟机的结构的框图;
图10是例示了根据本发明的第三实施例的移植管理器和数据库的框图;
图11是例示了根据本发明的第三实施例的移植处理的流程图;
图12是例示了在移植目的地处进行的CPU信息检查处理的流程图;
图13是例示了移植预处理的流程图;
图14是例示了移植的执行处理的流程图;以及
图15是例示了根据本发明的一个实施例在信息处理器设备中包括的或驱动信息处理设备的计算机的框图。
具体实施方式
为帮助理解本发明,首先概述相关技术。然后描述本发明的三个实施例(第一至第三实施例)的信息处理设备。
1.相关技术
模拟技术可得到作为如前所述的用于执行程序移植的相关技术。
利用模拟技术,要由实现指令集A的CPU A执行的程序由实现不同于指令集A的指令集B的CPU B执行。更具体地,指令集A的指令被转换为指令集B的指令。CPU B由此可根据转换后的指令集B的指令来执行程序。
模拟技术具有指令集A的指令能被实现完全不同于指令集A的指令集B的CPU B来执行的优点。
模拟技术花费长的处理时间来将指令集A的指令转换为指令集B的指令。转换处理时间与执行转换后的指令集B的时间一样长或比之更长。基于模拟技术的移植处理可能实质上减慢在CPU B上的程序的执行。
尽管指令集A和指令集B共同地共享主指令,但两个指令集彼此仍然有部分差异。即使在这样的情况下,模拟技术也将指令集A的所有指令转换为指令集B的指令。
如果指令集A和指令集B共同共享主指令,而它们之间其他指令中有部分差异,则使用模拟技术是低效的。
还期望的是,实施基于虚拟技术的虚拟机,以及执行虚拟机的移植。
虚拟技术是指使用软件生成虚拟硬件结构并在虚拟硬件结构上运行软件应用程序的技术。
虚拟机是指用于使得操作系统(OS)或应用软件程序类似于物理计算机那样操作的一组软件和数据。虚拟机包括具有等同于中央处理单元(CPU)、存储器、硬盘驱动器(HDD)和网络控制器的那些功能的各种虚拟装置。
虚拟机在物理硬件结构上被创建,并由诸如VMware(VMware公司的注册商标)或Xen(XenSource公司的注册商标)的虚拟机监视器控制。
虚拟机的移植是指虚拟机从一个虚拟机监视器向另一虚拟机监视器的移动。
虚拟机实现与物理CPU的指令集相同的指令集。难以仅仅将正由实现指令集A的CPU A操作的虚拟机移植到实现指令集B的CPU B。
在Ben Serebrin“Cross-vendor migration:What do you mean my ISA isn’tcomptabile?”,Xen Summit,2009年2月中公开了移植程序的另一技术。所公开的技术执行由不同厂商开发的CPU之间的移植。所公开的技术允许程序无论如何都在共同共享主指令集但在其他指令中相互间仍有部分指令差异的CPU之间移植。如果系统包括高端CPU和低端CPU,则仅仅在高端CPU上出现的扩展指令仍然未使用。即使用所公开的技术,高端CPU仍难以实现原始意图的性能。
(通过因特网在2009年4月23日检索到的)FlexMigration<URL:http://communities.intel.com/openport/docs/DOC-2538>公开了由因特尔公司制造的称为FlexMigration的硬件结构。该硬件通过使得新一代CPU看起来像是旧一代CPU,来允许不同代的CPU之间的移植。如果添加了使得新一代CPU执行高端操作的扩展指令,则FlexMigration在使用扩展指令时有困难。新一代CPU无法实现原始意图的性能。
作为程序移植的另一技术,AMD已经提出了称为AMD虚拟化的硬件产品。如FlexMigration、AMD-V(虚拟化)也使得新一代CPU看起来像是旧一代CPU,以便在不同代的CPU之间移植程序。
如同FlexMigration,在AMD-V中,新一代CPU在实现原始意图的性能时有困难。
本发明的发明人已经发明了高效地且维持原始意图的性能地执行在共同共享主指令但仍具有不同的一部分其他指令的CPU之间的程序移植的技术。CPU可以是不同代的或者可由不同厂商制造。下面描述合并了这样的技术的信息处理设备,作为本发明的三个实施例。
2.第一实施例
图1是例示了本发明的第一实施例的信息处理设备的框图。
在本说明书中,文字系统是指包括多个单元和处理单元的整个系统。更具体地,图1中所示的信息处理设备可以由在分离机壳中容纳的多个单元构成。然而,根据第一实施例,信息处理设备是在单个机壳中容纳的单个单元。
图1所示的信息处理设备包括CPU 11A和连接到CPU 11A的存储器12A。存储器12A包括虚拟机13和虚拟机监视器14A。
图1所示的信息处理设备还包括CPU 11B和连接到CPU 11B的存储器12B。存储器12B包括虚拟机监视器14B。虚拟机监视器14B包括指令模拟器15。
CPU 11A实现指令集A。CPU 11B实现指令集B。
指令集A和指令集B共同共享主指令。由指令集A和指令集B共同共享的指令被称为共有指令。指令集A包括指令集B中没有的指令,并且该指令被称为指令X。指令集B包括共有指令但不包括指令X。
虚拟机13包括由指令集A的指令构成的程序。通过与包括虚拟机13的存储器12A连接的CPU 11A的能力来执行虚拟机13的程序。
虚拟机监视器14A和14B被构造为提供虚拟机13的程序,其中执行环境不依赖于硬件。
指令模拟器15是具有将指令集A中出现但在指令集B中不出现的指令X转换为指令集B的指令的功能的程序。后面参照图2描述指令模拟器15的操作。
参照图1,在虚拟机监视器14A的控制下的虚拟机13在存储器12A上操作。通过实现指令集A的CPU 11A的能力来执行虚拟机13的程序。
已经参照图1讨论了第一实施例的信息处理设备的结构。下面参照图2描述虚拟机13的移植。
参照图2,虚拟机13现在可从存储器12A移植到存储器12B。
虚拟机13通过移植处理从存储器12A移动到存储器12B,但虚拟机13执行的程序由指令集A的指令构成。然而,通过移植处理,虚拟机13被移到与实现指令集B的CPU 11B连接的存储器12B。
更具体地,通过CPU 11B的能力执行虚拟机13的程序。尽管如前所述能通过CPU 11B的能力执行共有指令,但CPU 11B在执行不是共有指令的指令时有困难。
在移植处理之后,虚拟机13的程序响应于指令而如下所述地操作。
通过CPU 11B的能力执行作为虚拟机13的程序的主要部分的共有指令。
不通过CPU 11B的能力执行的指令、即不是共有指令的指令,从虚拟机13传送到虚拟机监视器14B。虚拟机监视器14B中的指令模拟器15将不是共有指令的指令(非共有指令)转换为指令集B的指令。以与通过CPU 11A的能力执行非共有指令的方式等效的方式,通过CPU 11B的能力执行由指令模拟器15转换的指令。CPU 11B不执行的指令包括检查CPU的类型的指令(如因特尔公司的CPUID指令,下面简称为CPUID指令)以及指令X。
利用该布置,第一实施例的信息处理设备提供以下优点。
CPU 11A可以是高端CPU但没有高功耗。CPU 11B可以是低端CPU但具有更低功耗。
在这样的情况下,虚拟机13可从具有与其连接的高功耗CPU 11A的存储器12A移植到具有与其连接的低功耗CPU 11B的存储器12B,而不中断程序。
通过CPU 11A的能力执行以高端吞吐量操作的指令,并且通过CPU 11B的能力执行不要求高端吞吐量的指令。利用该布置,第一实施例的信息处理设备实施了实现高端性能和低功耗特征的系统。
图3是例示了参照图2讨论的虚拟机13从存储器12A到存储器12B的移植处理的流程图。
在移植前与虚拟机13所在的存储器12A连接的CPU 11A被称为移植源CPU 11A。通过移植处理与虚拟机13移动到的存储器12B连接的CPU 11B被称为移植目的地CPU 11B。
在步骤S1中,虚拟机13通过移植源CPU 11A的能力执行程序。
在步骤S2中,移植源CPU 11A确定是否满足移植条件。例如,移植条件是用户已经发出移植指令。而且,例如,如果高端CPU 11A正执行高端指令,并且下一指令无需高端吞吐量,则可确定满足移植条件。
如果不满足移植条件,在步骤S2中遵循“否”分支,则处理返回步骤S1以重复步骤S1和后续步骤。
步骤S1和S2一直循环直到通过执行移植源CPU 11A的程序满足移植条件。
如果满足移植条件,在步骤S2中遵循“是”分支,则处理前进到步骤S3。
在步骤S3中,移植源CPU 11A执行移植处理。更具体地,参照图2,虚拟机13从存储器12A移植到存储器12B。
在步骤S4中,虚拟机13通过移植目的地CPU 11B的能力执行程序,且移植处理终止。参照图4描述由虚拟机13通过移植目的地CPU 11B的能力进行的程序执行的处理。
图4是在图3的移植处理的步骤S4中由虚拟机13通过移植目的地CPU11B执行的程序的流程图。该处理在下文中称为在移植目的地处的指令执行处理。
在步骤S11中,移植目的地CPU 11B确定要执行的指令是否为CPUID指令或指令X。可替换地,在步骤11中,移植目的地CPU 11B确定要执行的指令是否为共有指令。
如果要执行的指令既不是CPUID指令也不是指令X,即,要执行的指令是共有指令,在步骤S11中遵循“否”分支,则处理前进到步骤S13。
在步骤S13,虚拟机13通过移植目的地CPU 11B的能力执行指令,并且该处理结束。
如果要执行的指令是CPUID指令或指令X,则在步骤S11中遵循“是”分支。处理前进到步骤S12。
在步骤S12中,指令模拟器15将指令(CPUID指令或指令X)转换为指令集B的指令。另外在步骤S12中,虚拟机13通过移植目的地CPU 11B的能力执行由指令模拟器15转换的指令。
如果指令是CPUID指令或指令X,则指令模拟器15转换该指令。虚拟机13通过CPU 11B的能力执行转换后的指令和主指令。
根据第一实施例,指令模拟器15不转换所有指令。仅仅在要执行的指令不是通过移植目的地CPU 11B的能力执行的指令集所共有的(指令X或CPUID指令)时,指令模拟器15才转换要执行的指令。通过移植目的地CPU11B的能力执行由指令模拟器15转换的要执行的指令。第一实施例的信息处理设备缩短了模拟处理的时间。结果,第一实施例的信息处理设备在虚拟机13的移植之前和之后高效地执行虚拟机13。
已经参照图1至图4讨论了本发明的第一实施例。下面参照图5描述本发明的第二实施例。
3.第二实施例
图5例示了本发明的第二实施例的信息处理设备的功能结构,不同于图1所示的信息处理设备的结构。
参照图5,与图1中所示相同的元素用相同的附图标记指示,并且在这里适当省略其讨论。
图5所示的信息处理设备可被分为在分开的机壳中容纳的多个单元。然而,根据第二实施例,信息处理设备是在单个机壳中容纳的单个单元。
图5所示的信息处理设备包括CPU 11A、CPU 11B、存储器12A和HDD16。CPU 11A和CPU 11B共享存储器12A。HDD 16包括具有指令模拟器15的虚拟机监视器14B。在存储器12A和HDD 16之间,虚拟机监视器14A和14B能互换地彼此替换。
通过下面描述的处理步骤,以此布置来移植虚拟机13。
虚拟机监视器14A被撤离至HDD 16而非存储器12A。然后,虚拟机监视器14B被移动到存储器12A。由此移植虚拟机13。
换言之,通过将虚拟机监视器14A转移到HDD 16以及将虚拟机监视器14B转移到存储器12A,来移植虚拟机13。在移植处理之后,通过CPU 11B的能力执行虚拟机13的程序。
已经参照图5描述了本发明的第二实施例。
4.第三实施例
如上所述,第一和第二实施例仅仅模拟在移植目的地CPU 11B上没有的指令X,由此高效地执行虚拟机13的移植。
相反,在本发明的第三实施例中,在执行移植前,暂停包括指令X的程序。根据第三实施例,仅仅移植包括共有指令的程序,而不移植包括指令X的程序。在移植处理之后,由移植目的地CPU 11B再次恢复包括指令X的程序。
换言之,在第三实施例中,仅仅移植包括共有指令的程序,然后继续在移植目的地上执行。在移植处理之前暂停包括指令X的程序,然后再移植目的地上再次恢复。
图6是根据本发明的第三实施例的信息处理设备的结构的功能框图,不同于图1所示的结构。
参照图6,与图1中所示相同的元素用相同的附图标记指示,并且在这里适当省略其讨论。
图6的信息处理设备可由多个单元构成。然而,根据本实施例,信息处理设备是在单个机壳中容纳的单个单元。
图6的信息处理设备包括虚拟机监视器14A,其包括控制面板17A。虚拟机监视器14B包括控制面板17B。
虚拟机监视器14A和14B能控制各自的虚拟机13。通过控制面板17A和17B的界面来控制虚拟机监视器14A和14B以及虚拟机13。
控制面板17A和17B是实现控制虚拟机监视器14A和14B以及虚拟机13的功能的程序。控制面板17A和17B可经由网络等彼此通信。
虚拟机13可相互访问控制面板17A和17B。
图7和图8例示了由第三实施例的信息处理设备执行的程序21的结构。
图7例示了其中简单并列了由第三实施例的信息处理设备执行的程序21中由指令集A构成的指令串31和由指令集B构成的指令串32的结构。图7所示的程序的例子是通过Power PC(IBM的注册商标)和x86(因特尔公司的注册商标)中的每一个操作的通用二进制位(universal binary)。
图8例示了由第三实施例的信息处理设备执行的程序22。图8所示的程序22是包括指令集A和指令集B的典型程序,其中指令集A和指令集B共同共享主指令,它们的部分其他指令不同。
图8所示的程序22包括作为指令集A和指令集B两者共有的部分的指令串33。另外,图8所示的程序22包括作为指令集A的扩展部分的指令串34。作为指令集A的扩展部分的指令串34是包括出现在指令集A中但指令集B不出现的指令的指令串。图8所示的程序22包括作为指令集B的扩展部分的指令串35。作为指令集B的扩展部分的指令串35是包括出现在指令集B中但指令集A中不出现的指令的指令串。
考虑到共同共享主指令且部分指令集不同的程序的结构,图8的结构在程序大小上比图7的结构更小。在以下讨论中,第三实施例采用具有图8所示的结构的程序。
图8所示的程序包括指令x=ASM(“CPUID;”),以检查每个CPU的类型。
在取决于CPUID指令的结果的值而分支的每个指令串中,例如,在作为指令集A的扩展部分的指令串34和作为指令集B的扩展部分的指令串35中,执行在各个CPU间不同的指令集。
更具体地,如果响应于“如果”(if)指令发现CPU的类型是CPU 11A(X=指令集A的CPU),则执行作为指令集A的扩展部分的指令串34的指令。如果响应于“又如果”(else if)指令发现CPU的类型是CPU 11B(X=指令集B的CPU),则执行作为指令集B的扩展部分的指令串35的指令。
已经参照图7和图8讨论了由第三实施例的信息处理设备执行的程序。根据如上所述的第三实施例,不移植包括移植目的地CPU 11B难以执行的指令的程序。为移植虚拟机13,要确定虚拟机13的程序是否包括移植目的地CPU 11B难以执行的指令。
下面描述了确定是否存在移植目的地CPU 11B难以执行的指令的方法。
两类方法,即静态方法和动态方法可用于确定是否存在移植目的地CPU11B难以执行的指令。
在静态方法中,程序被进行反向设计(reverse-engineered),以确定程序是否包括CPUID指令或X指令。
在动态方法中,确定是否执行了CPUID指令或指令X。
确定是否能移植程序的确定方法包括静态方法、动态方法及其组合。
在图8的程序中的指令x=ASM(“CPUID;”)执行之前可以移植。在指令x=ASM(“CPUID;”)的执行之后且在如果(if)语句执行之前,可通过在移植之后执行指令x=ASM(“CPUID;”)来进行移植。然而,在如果(if)语句的指令串(作为指令集A的扩展部分的指令串34,诸如图8所示)中的指令的执行之后,变得难以移植。
根据第三实施例,如下所述采用静态方法和动态方法的组合。更具体地,对于CPUID指令,信息处理设备确定是否已执行CPUID指令,而对于指令X,信息处理设备对指令X进行反向设计。
已经参照图7和图8讨论了由图6的信息处理设备执行的程序。
图9详细例示了图6的虚拟机13。
虚拟机13包括移植管理器41、操作系统42和应用程序43-1至43-n。
移植管理器41是用于控制移植处理的模块。移植管理器41保持可操作。移植管理器41执行用于移植的一系列控制步骤。下文参照图10详细描述移植管理器41。
操作系统42在虚拟机13上运行。注意,操作系统42由共有指令构成。
应用程序43-1至43-n(n是1或更大的整数)是在虚拟机13上运行的程序。如果不需要区分应用程序43-1至43-n中的每一个,则将应用程序43-1至43-n统称为应用程序43。应用程序43由操作系统42执行。
图10详细例示了移植管理器41以及与移植管理器41通信的数据库44的结构。
移植管理器41包括(要检查的程序的)检查目标程序列表51、(移植目的地上不存在的指令的)不存在的指令列表52和(已完成的程序的)完成程序列表53等。下面详细描述这些列表。
移植管理器41检查在虚拟机13上的所有程序中存在的指令。更具体地,移植管理器41在执行程序之前对每个程序进行反向设计,然后产生在程序中存在的指令的列表。
由此产生的列表被存储在数据库44上,作为要由程序使用的指令列表61-1至61-n(n是等于或大于1的整数)。数据库44可存在于文件系统或网络上。重要的是数据库44存在于移植管理器41能引用的位置。
对于虚拟机13上存在的各个程序,产生要由程序使用的指令列表61-1至61-n。更具体地,要由程序使用的指令列表61-1至61-n的数目等于虚拟机13上存在的程序的数目。如果没必要区分要由程序使用的指令列表61-1至61-n(n是等于或大于1的整数),则这些指令列表统称为要由程序使用的指令列表61。
在与移植的执行无关的任何时刻产生要由程序使用的指令列表61。移植管理器41能在执行移植的指令之前的任何合适的时刻,产生要由程序使用的指令列表61。在执行移植的指令之后,移植管理器41可在执行移植之前即产生指令列表61。
移植管理器41可在任何时间引用数据库44。通过引用要由程序使用的指令列表61,移植管理器41能快速得知作为执行目标的程序中使用的指令。
在图10的情况下,要由程序使用的指令列表61被存储在数据库44中。要由程序使用的指令列表61的存储位置不限于图10所示的位置。例如,要由程序使用的指令列表61可被编码和嵌入程序的头中。
下面描述移植管理器41上的检查目标程序列表51、移植目的地上不存在的不存在的指令列表52以及已完成程序的完成程序列表53。
检查目标程序列表51包括标识已经发出CPUID指令的程序的信息的列表。
移植管理器41监视虚拟机13上存在的所有程序。更具体地,移植管理器41监视是否每个程序已经发出CPUID指令。如果一个运行程序已经发出CPUID指令,则移植管理器41抓取CPUID指令,并将标识该程序的信息添加到检查目标程序列表51。以此方式更新检查目标程序列表51。
如果已经完成了被添加到检查目标程序列表51的程序的执行,则移植管理器41从检查目标程序列表51删除该程序。
移植目的地上不存在的指令的指令列表52包括移植管理器41在移植源CPU 11A上找到但移植管理器41未能在移植目的地CPU 11B上找到的指令。
完成程序列表53包括在移植之前移植管理器41事先完成的程序。移植管理器41事先完成的程序包括难以移植的程序,即,包括在移植目的地上不存在的指令的程序。在移植处理之后,通过移植目的地CPU 11B的能力,启动完成程序列表53中列出的程序。
如此构建的第三实施例的信息处理设备继续执行仅具有共有指令的程序,而不考虑移植。信息处理设备在移植之前停止具有不是共有指令的指令的程序,并通过移植目的地CPU 11B的能力仅恢复使用共有指令的程序。
在包括作为高端但为高功耗CPU的CPU 11A以及作为低端但为低功耗CPU的CPU 12B的系统中提供下面描述的优点。
第三实施例的信息处理设备继续执行仅仅由共有指令构成的程序,不考虑移植。如果程序包括不是共有指令的指令,则信息处理设备在移植之后重新启动该程序。不是共有指令的任何指令都不在CPU 11B上执行。由此,第三实施例的信息处理设备能高效地从高端高功耗CPU向低端低功耗CPU移植虚拟机13。
图11是例示了移植处理的流程图,其中如先前参照图6所讨论的,虚拟机13从存储器12A移植到存储器12B。
在步骤S21中,移植管理器41在移植之前检查移植目的地CPU 11B。该处理在下文中被称为移植目的地的CPU信息检查处理。参照图12详细描述移植目的地的CPU信息检查处理。
在步骤S22中,移植管理器41执行移植预处理。在移植预处理中,移植管理器41确定作为处理目标的程序是否是可移植程序,并且如果处理目标是不可移植程序,则发出指令以退出不可移植程序。下面参照图13详细描述移植预处理。
在步骤S23中,移植管理器41将虚拟机13从存储器12A移植到存储器12B。这样的处理被称为移植执行处理。后面参照图14详细描述移植执行处理。
在步骤S24中,移植管理器41起动在完成程序列表53中列出的所有程序。本发明的第三实施例的移植处理由此完成。
图12是详细例示了图11的移植处理的步骤S21中移植目的地的CPU信息检查处理的流程图。
在步骤S31中,移植管理器41经由控制面板17A向作为移植目的地的虚拟机监视器14B的控制面板17B查询移植目的地的CPU信息。CPU信息包括关于由移植目的地CPU 11B实现的指令的信息。
在步骤S32中,移植管理器41比较移植源的CPU信息和移植目的地的CPU信息。移植管理器41经由控制面板17A和17B获取移植源的CPU信息和移植目的地的CPU信息。
在步骤S33中,移植管理器41确定是否存在在移植目的地CPU 11B上不存在的任何指令。
如果不存在移植目的地CPU 11B上不存在的指令,在步骤S33中遵循“否”分支,则移植目的地的CPU信息检查处理结束。
如果存在移植目的地CPU 11B上不存在的任何指令,在步骤S33中遵循“是”分支,则处理前进到步骤S34。
在步骤S34中,移植管理器41将移植目的地CPU 11B上不存在的指令添加到移植目的地上不存在的指令的不存在的指令列表52。
移植目的地的CPU信息检查处理由此完成。更具体地,图11的步骤21中的处理步骤现在完成。步骤S22中的移植预处理如图13所示开始。
图13是详细例示了图11的移植处理的步骤S22中的移植预处理的流程图。
在步骤S41中,移植管理器41将检查目标程序列表51中存在的程序之一设置为处理目标程序。如前所述,检查目标程序列表51包括标识已经发出CPUID指令的程序的信息的列表。
在步骤S42中,移植管理器41确定处理目标程序是否包括移植目的地上不存在的指令。更具体地,通过引用移植目的地上不存在的程序的不存在程序列表52,移植管理器41确定处理目标程序是否具有在移植目的地上不存在的指令。
如果处理目标程序没有在移植目的地上不存在的指令,在步骤S42中遵循“否”分支,则处理前进到步骤S45。后面描述步骤S45和后续步骤。
如果处理目标程序包括移植目的地上不存在的指令,在步骤S42中遵循“是”分支,则处理前进到步骤S43。
在步骤S43中,移植管理器41将处理目标程序的结束信号传输到移植源CPU 11A。更具体地,移植管理器41按照使得包括移植目的地上不存在的指令的处理目标程序不被移植的方式,在移植之前结束处理目标程序。
在步骤S44中,移植管理器41验证处理目标程序是否已经停止,并将处理目标程序添加到完成程序列表53上。
在步骤S45中,移植管理器41确定检查目标程序列表51上的所有程序是否已经被设置为处理目标程序。
如果确定不是检查目标程序列表51上的所有程序都已经设置为处理目标程序,在步骤S45中遵循“否”分支,则处理返回步骤S41并重复步骤S41和后续步骤。
步骤S41-S44被循环一直到检查目标程序列表51上的所有程序都已经被设置为处理目标程序。换言之,检查目标程序列表51确定检查目标程序列表51中的每个程序是否包括移植目的地上不存在的指令。具有移植目的地上不存在的指令的程序被添加到完成程序列表53。
如果确定检查目标程序列表51上的所有程序都已经被设置为处理目标程序,在步骤S45中遵循“是”分支,则处理结束。
移植预处理由此结束。图11中所示的步骤S22由此完成,之后是图14所示的步骤S23中的移植执行处理。
图14是详细例示图11的移植处理的步骤S23中的移植执行处理的流程图。
在步骤S51中,移植管理器41请求移植目的地的虚拟机监视器14B的控制面板17B执行移植。
如果请求控制面板17B执行移植,则虚拟机监视器14B将虚拟机13从存储器12A移植到存储器12B。在完成移植之后,虚拟机监视器14B向移植管理器41通知移植完成通知。
在步骤S52中,移植管理器41确定是否已经从作为移植目的地的虚拟机监视器14B的控制面板17B接收到移植完成通知。
如果移植管理器41还未从作为移植目的地的虚拟机监视器14B的控制面板17B接收到移植完成通知,则在步骤S52中遵循“否”分支。处理返回步骤S51。
移植执行处理等待准备就绪,直到移植管理器41已经从作为移植目的地的虚拟机监视器14B的控制面板17B接收到移植完成通知。
如果移植管理器41已经从作为移植目的地的虚拟机监视器14B的控制面板17B接收到移植完成通知,则在步骤S52中遵循“是”分支。处理由此结束。
移植执行处理在图11的步骤S23中完成,之后是步骤S24。
本实施例的信息处理设备提供下述优点。
本实施例的信息处理设备在共同共享其主指令但部分指令彼此不同的CPU 11A和11B之间移植虚拟机13,而不中断虚拟机13的程序。
例如,CPU 11A是高端和高功耗CPU,而CPU 11B是低端和低功耗CPU。
第一和第二实施例中每一个的信息处理设备通过CPU 11A的能力执行要以高吞吐量进行的指令程序,并通过CPU 11B的能力执行无需高吞吐量的指令程序。利用此方式,本发明的第一和第二实施例中每一个的信息处理设备产生提供高性能和低功耗两个特征的系统。
第三实施例的信息处理设备在CPU 11A上执行包括仅仅能被CPU 11A执行的指令的程序,并且通过CPU 11B的能力执行仅仅包括共有指令的程序。利用此布置,本发明的第三实施例的信息处理设备产生提供高性能和低功耗两个特征的系统。
第一至第三实施例中每一个的信息处理设备允许将低成本硬件添加到现有系统,并将虚拟机13移植到所得的硬件。
如果根据第一至第三实施例中每一个的信息处理设备在现有系统上添加高端硬件,则在现有硬件上执行移植处理,同时使用高端功能。由此高效地使用现有系统。
在上述实施例中的一个设备内进行移植。可替换地,可在两个设备之间进行移植处理。在说明书中,文字系统是指包括多个设备和控制器的整个系统。
上述处理步骤可使用硬件或软件实现。如果使用软件实现处理步骤,则形成该软件的程序被安装在计算机上。计算机包括专用硬件系统中包括的计算机和利用其上安装的多种程序执行多种功能的通用个人计算机。
图15是例示了执行上述处理步骤的计算机的硬件结构的框图。
在计算机中,CPU 101和102、只读存储器(ROM)103、随机存取存储器(RAM)104经由总线105彼此互连。
总线105连接到输入-输出接口106。还连接到输入-输出接口106的是输入单元107、输出单元108、存储单元109、通信单元110和驱动器111。
输入单元107包括键盘、鼠标、麦克风等。输出单元108包括显示器、扬声器等。存储单元109包括硬盘、非易失性存储器等。通信单元110包括网络接口等。驱动器111驱动可移除介质112,诸如磁盘、光盘或半导体存储器,其可被考虑为非暂时记录介质。
如此构造的计算机中的CPU 101和102通过经由输入-输出接口106和总线105将程序从存储单元109加载到RAM 104上然后执行该程序,来执行上述一系列处理步骤。
在作为封装介质的可移除介质112上提供要由CPU 101和102执行的程序。也可使用有线或无线传输介质,诸如局域网(LAN)、因特网或数字广播卫星,来提供程序。
可通过将可移除介质112加载到驱动器111上,通过输入-输出接口106将程序加载到计算机中的存储单元109上。程序可经由有线或无线传输介质由通信单元110接收,然后被安装到存储单元109上。程序也可被预先安装到ROM 103或存储单元109上。
可由计算机按先前描述的时间序列顺序的处理步骤,或几个处理步骤并行地执行程序,或在进行调用的合适时刻执行程序。
本领域技术人员应理解,根据设计需求和其他因素,可进行各种修改、组合、子组合和替换,只要它们在所附权利要求及其等效物的范围内。

Claims (16)

1.一种用于处理信息的设备,包括:
源信息处理单元,用于在执行程序时确定是否存在移植条件;以及
目的地信息处理单元,用于在所述源信息处理单元确定存在移植条件时确定所述程序的要执行的指令是否是预定指令。
2.如权利要求1所述的设备,还包括:
指令模拟器,用于在所述目的地信息处理单元的确定结果是所述预定指令时转换所述程序的要执行的指令。
3.如权利要求1所述的设备,其中,当所述目的地信息处理单元的确定结果不是所述预定指令时,通过所述目的地信息处理单元的处理能力执行所述要执行的指令。
4.如权利要求1所述的设备,其中所述预定指令是通过所述目的地信息处理单元的处理能力实现的指令集中缺少的指令。
5.如权利要求1所述的设备,其中所述预定指令是用于检查处理能力的类型的指令。
6.一种用于处理信息的方法,包括:
由执行程序的源信息处理单元确定是否存在移植条件;以及
当所述源信息处理单元确定存在移植条件时,由目的地信息处理单元确定所述程序的要执行的指令是否是预定指令。
7.如权利要求6所述的方法,其中,当所述目的地信息处理单元的确定结果是预定指令时,由指令模拟器转换所述要执行的指令。
8.如权利要求6所述的方法,其中,当所述目的地信息处理单元的确定结果不是所述预定指令时,通过所述目的地信息处理单元的处理能力执行所述要执行的指令。
9.如权利要求6所述的方法,其中所述预定指令是通过所述目的地信息处理单元的处理能力实现的指令集中缺少的指令。
10.如权利要求6所述的方法,其中所述预定指令是用于检查处理能力的类型的指令。
11.一种用于执行程序的系统,包括:
源信息处理单元,具有实现第一指令集的处理能力,以及可操作用于执行程序;
目的地信息处理单元,具有实现第二指令集的处理能力,
其中,所述第一指令集包括与所述第二指令集共有的至少一个指令和与所述第二指令集不共有的至少一个指令,
其中,所述目的地信息处理单元可操作用于确定所述程序的要执行的指令是否是所述第二指令集共有的,
其中,仅当所述要执行的指令不是所述第二指令集共有的时,才由指令模拟器转换所述要执行的指令,以及
其中,当所述要执行的指令是所述第二指令集共有的时,通过所述目的地信息处理单元的处理能力执行所述要执行的指令。
12.一种记录有用于处理信息的计算机可读程序的记录介质,所述计算机可读程序包括:
由执行程序的源信息处理单元确定是否存在移植条件;以及
当所述源信息处理单元确定存在移植条件时,由目的地信息处理单元确定所述程序的要执行的指令是否是预定指令。
13.如权利要求12所述的记录介质,其中,当所述目的地信息处理单元的确定结果是所述预定指令时,由指令模拟器转换所述要执行的指令。
14.如权利要求12所述的记录介质,其中,当所述目的地信息处理单元的确定结果不是所述预定指令时,通过所述目的地信息处理单元的处理能力执行所述要执行的指令。
15.如权利要求12所述的记录介质,其中所述预定指令是通过所述目的地信息处理单元的处理能力实现的指令集中缺少的指令。
16.如权利要求12所述的记录介质,其中所述预定指令是用于检查处理能力的类型的指令。
CN201010183139.6A 2009-05-25 2010-05-18 处理信息的设备、方法和程序 Expired - Fee Related CN101901149B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP125206/09 2009-05-25
JP2009125206A JP2010272055A (ja) 2009-05-25 2009-05-25 情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
CN101901149A true CN101901149A (zh) 2010-12-01
CN101901149B CN101901149B (zh) 2014-06-04

Family

ID=42790865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010183139.6A Expired - Fee Related CN101901149B (zh) 2009-05-25 2010-05-18 处理信息的设备、方法和程序

Country Status (6)

Country Link
US (1) US8768684B2 (zh)
EP (1) EP2256629A3 (zh)
JP (1) JP2010272055A (zh)
CN (1) CN101901149B (zh)
HK (1) HK1146130A1 (zh)
TW (1) TWI467488B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455363A (zh) * 2013-08-30 2013-12-18 华为技术有限公司 一种虚拟机的指令处理方法、装置及物理主机
CN104951047A (zh) * 2015-07-12 2015-09-30 佛山博朗德技术有限公司 一种小功耗cpu系统唤醒大功耗cpu系统的设计方法
CN106325819A (zh) * 2015-06-17 2017-01-11 华为技术有限公司 计算机指令处理方法、协处理器和系统
CN107621970A (zh) * 2017-10-16 2018-01-23 郑州云海信息技术有限公司 一种异构cpu的虚拟机迁移方法和装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5593260B2 (ja) * 2011-03-17 2014-09-17 株式会社エヌ・ティ・ティ・データ 移動要求装置、移動要求方法、移動要求プログラム
JP5929353B2 (ja) * 2012-03-14 2016-06-01 富士通株式会社 例外処理方法、プログラム及び装置
JP5953880B2 (ja) * 2012-03-30 2016-07-20 日本電気株式会社 仮想化システム、マイグレーション管理サーバ、マイグレーション管理方法、及びマイグレーション管理プログラム
US9760389B2 (en) * 2013-03-15 2017-09-12 Excalibur Ip, Llc Activity initiated virtual machine migration
JP6056578B2 (ja) * 2013-03-19 2017-01-11 富士通株式会社 仮想マシンの移動終了を検出する装置、方法、及びプログラム
JP6197871B2 (ja) * 2013-07-02 2017-09-20 富士通株式会社 仮想マシン管理方法,仮想マシン管理装置,および仮想マシン管理プログラム
US9336039B2 (en) * 2014-06-26 2016-05-10 Vmware, Inc. Determining status of migrating virtual machines
WO2016074166A1 (en) * 2014-11-12 2016-05-19 Intel Corporation Live migration of virtual machines from/to host computers with graphics virtualization
CN104899022B (zh) * 2015-05-12 2018-01-02 北京京东尚科信息技术有限公司 一种处理指令的方法和装置
US10055208B2 (en) * 2015-08-09 2018-08-21 Oracle International Corporation Extending a virtual machine instruction set architecture
US10331656B2 (en) * 2015-09-25 2019-06-25 Microsoft Technology Licensing, Llc Data migration validation
US9529620B1 (en) * 2015-12-17 2016-12-27 International Business Machines Corporation Transparent virtual machine offloading in a heterogeneous processor
US10419547B1 (en) * 2017-04-10 2019-09-17 Plesk International Gmbh Method and system for composing and executing server migration process

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118499A (zh) * 2006-08-04 2008-02-06 深圳市研祥智能科技股份有限公司 异构硬件体系间软件移植的系统
US7389403B1 (en) * 2005-08-10 2008-06-17 Sun Microsystems, Inc. Adaptive computing ensemble microprocessor architecture
CN101382906A (zh) * 2007-09-06 2009-03-11 戴尔产品有限公司 处理器架构之间的虚拟机迁移

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US20040098419A1 (en) * 2002-11-18 2004-05-20 International Business Machines Corporation Method and apparatus for a migration assistant
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7886172B2 (en) 2007-08-27 2011-02-08 International Business Machines Corporation Method of virtualization and OS-level thermal management and multithreaded processor with virtualization and OS-level thermal management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389403B1 (en) * 2005-08-10 2008-06-17 Sun Microsystems, Inc. Adaptive computing ensemble microprocessor architecture
CN101118499A (zh) * 2006-08-04 2008-02-06 深圳市研祥智能科技股份有限公司 异构硬件体系间软件移植的系统
CN101382906A (zh) * 2007-09-06 2009-03-11 戴尔产品有限公司 处理器架构之间的虚拟机迁移

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PAULO DIAS 等: "Dynamic Evolution in Workflow Management Systems", 《DATABASE AND EXPERT SYSTEMS APPLICATIONS,2003》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455363A (zh) * 2013-08-30 2013-12-18 华为技术有限公司 一种虚拟机的指令处理方法、装置及物理主机
CN103455363B (zh) * 2013-08-30 2017-04-19 华为技术有限公司 一种虚拟机的指令处理方法、装置及物理主机
CN106325819A (zh) * 2015-06-17 2017-01-11 华为技术有限公司 计算机指令处理方法、协处理器和系统
CN106325819B (zh) * 2015-06-17 2019-08-02 华为技术有限公司 计算机指令处理方法、协处理器和系统
US10514929B2 (en) 2015-06-17 2019-12-24 Huawei Technologies Co., Ltd. Computer instruction processing method, coprocessor, and system
CN104951047A (zh) * 2015-07-12 2015-09-30 佛山博朗德技术有限公司 一种小功耗cpu系统唤醒大功耗cpu系统的设计方法
CN107621970A (zh) * 2017-10-16 2018-01-23 郑州云海信息技术有限公司 一种异构cpu的虚拟机迁移方法和装置
CN107621970B (zh) * 2017-10-16 2021-02-05 郑州云海信息技术有限公司 一种异构cpu的虚拟机迁移方法和装置

Also Published As

Publication number Publication date
JP2010272055A (ja) 2010-12-02
US20100299130A1 (en) 2010-11-25
EP2256629A3 (en) 2012-04-11
EP2256629A2 (en) 2010-12-01
TW201110024A (en) 2011-03-16
TWI467488B (zh) 2015-01-01
US8768684B2 (en) 2014-07-01
HK1146130A1 (zh) 2011-05-13
CN101901149B (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN101901149B (zh) 处理信息的设备、方法和程序
KR102310187B1 (ko) 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법
US20190026085A1 (en) Intelligent cloud engineering platform
US9665386B2 (en) Method for leveraging hypervisor functionality for maintaining application consistent snapshots in a virtualization environment
JP5758995B2 (ja) 仮想マシン間で分析の結果を共有するためのシステム、方法及びコンピュータ可読記憶媒体
CN105793822B (zh) 动态混洗重新配置
CN104965757A (zh) 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
WO2020014939A1 (en) Container framework for user-defined functions
CN102693230A (zh) 用于存储区域网络的文件系统
US9317340B2 (en) Intelligent virtual machine (VM) re-location
CN104205780A (zh) 一种存储数据的方法和装置
US9553761B2 (en) Dynamic server to server configuration and initialization
EP3625683B1 (en) System and method for load balancing backup data
US11740827B2 (en) Method, electronic device, and computer program product for recovering data
CN102540966A (zh) 一种光刻机台的控制装置及方法
US9367329B2 (en) Initialization of multi-core processing system
JPWO2009044876A1 (ja) データを処理するシステムおよび方法
CN103631648A (zh) 一种任务处理方法及系统
WO2017145357A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US10776148B1 (en) System and method for utilizing computational power of a server farm
US20230297346A1 (en) Intelligent data processing system with metadata generation from iterative data analysis
CN110765098B (zh) 流程运行预测系统及方法
CN117290013A (zh) 前端应用管理方法、系统、电子设备及介质
CN111414232A (zh) 虚拟机模板数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1146130

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1146130

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140604

Termination date: 20150518

EXPY Termination of patent right or utility model