Source: https://patents.google.com/patent/US9235707
Timestamp: 2018-03-23 22:50:32
Document Index: 249668394

Matched Legal Cases: ['Application No. 2007101537964', 'Application No. 07253768', 'Application No. 07253768', 'Application No. 07253768', 'application No. 2007', 'Application No. 10', 'Application No. 10', 'Application No. 1', 'Application No. 200710153796', 'Application No. 200710153796', 'Application No. 07253768']

US9235707B2 - Methods and arrangements to launch trusted, coexisting environments - Google Patents
Methods and arrangements to launch trusted, coexisting environments Download PDF
US9235707B2
US9235707B2 US13963803 US201313963803A US9235707B2 US 9235707 B2 US9235707 B2 US 9235707B2 US 13963803 US13963803 US 13963803 US 201313963803 A US201313963803 A US 201313963803A US 9235707 B2 US9235707 B2 US 9235707B2
US13963803
US20130326216A1 (en )
Lyle Cool
Methods and arrangements to launch trusted, distinct, co-existing environments are disclosed. Embodiments may launch trusted, distinct, co-existing environments in pre-OS space with high assurance. A hardware-enforced isolation scheme may isolate the partitions to facilitate storage and execution of code and data. In many embodiments, the system may launch a partition manager to establish embedded and main partitions. Embedded partitions may not be visible to the main OS and may host critical operations. A main partition may host a general-purpose OS and user applications, and may manage resources that are not assigned to the embedded partitions. Trustworthiness in the launch of the embedded partition is established by comparing integrity metrics for the runtime environment against integrity measurements of a trusted runtime environment for the embedded partition, e.g., by sealing a cryptographic key with the integrity metrics in a trusted platform module. Other embodiments are described and claimed.
The present invention is in the field of the computer security. More particularly, the present invention relates to methods and arrangements to launch two or more trusted, distinct, co-existing environments.
Data stored on computers may have high value in monetary terms and/or in relation to an ability to compete or do business. The data may include trade secrets such as decryption codes and secret processes as well as other confidential business data or personal information such as social security numbers and credit card numbers. With the aim of enhancing the security of such data in disparate processing systems, the Trusted Computing Group (TCG), a not-for-profit industry-standards organization, has formed and adopted specifications for more secure computing environments. TCG specifications include, for instance, TCG trusted platform module (TPM) Specification Version 1.2 Revision 94, Part I Design Principles, dated Mar. 29, 2006, and TCG Main Specification Version 1.1b, dated TCG Main Specification Version 1.1b.
Integrity metrics for a trusted processing system facilitate a determination regarding whether a processing system operates in a safe, or “trusted”, configuration of hardware and software when it has access to sensitive data. Integrity metrics may be established by measuring the runtime configuration of the processing system at a point at which the configuration can be trusted, such as at the time of manufacture, and sealing the sensitive data to that configuration. Furthermore, measurements and demonstrations for trustworthiness are implemented in hardware with authenticated or trusted code. The hardware such as processor(s), chipsets, and TPMs may include functionality to assure that certain transactions may only be initiated by the authenticated code and may verify that the code is not tampered with or compromised via measurement of integrity metrics. Trustworthiness is typically established upon boot or reset of the processing system by establishing a protected core of data and code prior to booting the OS. Each time the processing system is powered down or reset, the protected core is reinitialized and authenticated minimize an attacker's ability to compromise protected data by changing the code when the processing system is powered down or reset. Establishing the protected core prior to booting the OS is also a security measure to minimize an attacker's ability to tamper with the security protocols.
In a typical processing system, firmware provides the machine instructions that control the pre-OS, or pre-boot, operations of the system between powering-up/resetting the processing system and booting of an operating system (OS) on the processing system. The OS then takes over primary functionality of the processing system. For instance, in some systems a virtual machine monitor (VMM) or hypervisor code may assume control of over the system's resources such as central processing units (CPUs), memory, hard drives, and other components. The VMM can launch and manage virtual environments and launch a higher-level OS, such as Microsoft™ Windows, Linux™, Unix™, etc., in each of the virtual environments.
Generally speaking, methods and arrangements to launch two or more trusted, distinct, co-existing environments are contemplated. Embodiments may launch two or more trusted, co-existing environments in pre-OS space with high assurance. Each trusted environment or partition may be assigned hardware resources that are isolated from other processing system resources via a hardware-enforced isolation scheme to facilitate storage and execution of code and data. In many embodiments, the system may launch a partition manager to establish embedded and main partitions. Embedded or sequestered partitions may not be visible to the main OS and may be used for a wide variety of applications such as host critical operations, I/O offloading, soft peripherals, platform manageability, and/or fault prediction. For instance, an embedded partition may include a runtime for, e.g., EFI, embedded Linux®, Microsoft® Windows® Compact Edition (WinCE), other Real Time Operating Systems (RTOS), and etc., to host critical operations such as a personal video recorder or set-top box, which must vet for premium content download. Trustworthiness in the launch of the embedded partition is established by comparing integrity metrics for the runtime environment against integrity measurements of a trusted runtime environment for the embedded partition.
Upon establishing trustworthiness, content for the embedded partition may be unsealed and additional embedded partitions may be launched before invocation of a main partition. The main partition may host a general purpose OS (e.g., one of the various Windows®-based OSs, a Linux®-based OS, etc.) and one or more user applications (e.g., a web server, a business application, etc.). Trustworthiness may also be established in the launch of the main partition by, e.g., executing authenticated code via firmware and measuring trustworthiness of critical commands with the authenticated code and trusted hardware during operation via, e.g., a trusted platform module (TPM).
In some embodiments, the embedded and the main partitions may not interact. In other words, operations performed by the embedded partition(s) may be independent of operations in the main partition. For example, an embedded partition may act like a “hardware device” such as a network circuit-breaker or a hardware firewall.
EP loader 146 may load embedded system 145 from I/O devices 184 and release control to embedded system 145. Embedded system 145 may comprise embedded Linux®, Microsoft® Windows® Compact Edition (WinCE), other Real Time Operating Systems (RTOS), to host operations within embedded partition 142. In other embodiments, embedded system 145 may comprise a specialized software designed to perform specific functionality. For instance, embedded system 145 may comprise software to emulate a graphics accelerator card.
PCR7 may comprise a hash of a trusted image of the runtime environment for embedded partition 142. For example, hardware layer 150 may comprise MAE identifier 162 to identify a signal or a short that may be indicative of a manufacturer approved environment (MAE). TPM 190 may recognize the existence of the manufacturer approved environment and, rather than unsealing a key in response to an extension of the integrity metrics for embedded partition 142 into PCR7, TPM 190 may generate and seal a key for embedded partition 142 with the integrity metrics. In some embodiments, EP loader 146 may then encrypt protected content 144 in HPA 186 with the key or a corresponding asymmetric key.
Upon configuring VM 114, VMM 136 may load a basic input-output system (BIOS) 120. VMM 136 may then verify the integrity of VM 114 and pass control over software loading to BIOS 120. BIOS 120 may launch OS 118. Each VM can leverage an OS runtime across a number of cores 158, offering several runtime environments in different partitions. For example, VM 114 may host a general purpose OS 118 (e.g., one of the various Windows®-based OSs, a Linux®-based OS, etc.) and one or more user applications 116 (e.g., a web server, a business application, etc.). VM 112 may host similar software.
Hardware layer 150 comprises processor(s) 152, controller hub(s) 160 coupled with random access memory (RAM) 164, read only memory (ROM) 174, a network interface card (NIC) 182, input-output (I/O) devices 184, and TPM 190. Processor(s) 152 represent one or more processors for a system such as Intel®'s Pentium® processors, Xeon® processors, Itanium® processors, Celeron® processors, or the like. In the present embodiment, processor(s) 152 comprise multiple processing units, such as processing unit (PU) 154, processing unit 156, and processing unit 157. Processing units 154, 156, and 157 are physical or logical assignments of processing capabilities to embedded partitions 138, 140, and 142. In some embodiments, for instance, processing unit 154 may represent one or more of cores dedicated for usage by the embedded partition 138. Processing unit 156 may represent a logical unit such as a hyper-thread. Main partition 111 may generally manage cores 158 to the extent that they are not hidden or sequestered for embedded partitions 138, 140, and 142.
For SRTM, a chain of trust that is started by computer system reset or reboot, which places processor(s) 152 in a known state. The first code executed, the core root of trust for measurement (CRTM), such as partition manager loader 178, measures the next code to be executed, partition manager 180. Once trust is lost such as by recognition of compromised or unknown code, system 100 may be rebooted or reset to regain trust in system 100.
Processor(s) 152 communicatively couple with RAM 164, ROM 174, NIC 182, I/O devices 184, and TPM 190 via buses and controller hub(s) 160. Processor(s) 152 may also be communicatively coupled with additional components (not shown) of hardware layer 150, such as one or more video controllers, SCSI controllers, network controllers, universal serial bus (USB) controllers, I/O ports, input devices such as a camera, etc. Furthermore, hardware layer 150 may include one or more bridges, such as a peripheral component interconnect (PCI) root bridge, etc., for communicatively coupling system components. As used herein, the term “bus” includes pathways that may be shared by more than two devices, as well as point-to-point pathways.
Controller hub(s) 160 represent a chipset such as Intel®'s 975X Express Chipset, 865P Chipset, 845G Chipset, 855GM Chipset, E7525 Chipset, E8870 Chipset, 852GME Chipset, 537EP Chipset, 854 Chipset, or the like. For instance, controller hub(s) 160 may comprise a memory controller hub and an I/O controller hub.
In some embodiments, controller hub(s) 160 may use configuration constructs to block configuration cycles for certain devices to hide those devices. In further embodiments, ACPI parameters for main partition 111 may be used to hide processing units and one or more portions of RAM 164 from OS 118, while ACPI parameters for embedded partitions such as embedded partitions 138, 140, and 142 may be used to hide processing units and other portions of RAM 164 from embedded systems such as embedded system 145. Additional details about device hide registers and related topics may be obtained from the Intel® I/O Controller Hub 6 (ICH6) Family Datasheet, dated January 2004 (the “ICH6 datasheet”). The ICH6 datasheet may be obtained from http://www.intel.com/design/chipsets/datashts/301473.htm. Additional details about ACPI parameters and related topics may be obtained from Revision 3.0a of the Advanced Configuration And Power Interface Specification, dated Dec. 30, 2005 (the “ACPI specification”). The ACPI specification may be obtained from www.acpi.info/spec.htm.
TPM 190 may be a microcontroller that can store secured information. TPM 190 may comprise a chip embedded on the motherboard of system 100 that can be used to authenticate a hardware device or code. TPM 190 offers facilities for secure generation of cryptographic keys, the abilities to limit the use of keys (to either signing/verification or encryption/decryption), as well as a hardware-based random number generator. Features of TPM 190 may comprise remote attestation, binding, and sealing. Remote attestation may comprise measurement of a runtime environment to create a substantially unforgeable summary of the runtime environment to allow a third party such as a premium content provider to verify that the runtime environment has not been compromised. Sealing may encrypt data in a way that prevents the data from being decrypted unless the runtime environment is substantially the same at the time of decryption. And binding may encrypt data using the TPM Endorsement Key, which may be a unique RSA key put in the chip during its production) or another ‘trusted’ key. RSA is the represents the surnames of Ron Rivest, Adi Shamir and Len Adleman whom publicly described the algorithm.
For purposes of this disclosure, the term “code” covers a broad range of software components and constructs, including applications, drivers, processes, routines, methods, modules, firmware, microcode, and subprograms. Thus, the term “code” may be used to refer to any collection of instructions which, when executed by a processing system, perform a desired operation or operations. For instance, RAM 164, ROM 174, and I/O devices 184 may include various sets of instructions which, when executed, perform various operations. Such sets of instructions may be referred to in general as software or code.
Once the main environment, or at least a protected core of the main environment, is configured, a trust verification module such as a TPM may measure current integrity metrics of the main environment (element 345). Measuring the main environment may include hashing the software and hardware resources of the environment to create a summary of the environment.
After measuring the current integrity metrics, the trust verification module may extend the current integrity metrics into a register of the trust verification module (element 350). Extension of the current integrity metrics into the register may hash the current integrity metrics with the content of the register. If the current integrity metrics match the trusted integrity metrics for the main environment, the trust verification module may release a key and the main environment may then decrypt the protected content for usage within the protected core of the main environment and launch an OS within the main environment (element 355).
After activating the MAE or substantially simultaneously with establishing a MAE, the processing system may launch a trusted version of the first environment (element 415). For instance, a compact disk (CD) may be inserted into a drive of the processing system to configure the first environment and install a clean, trusted version of the software for the first environment. A TPM of the processing system may then measure integrity metrics for the first environment and generate a first key for the first environment (element 420). After generating the first key, the TPM may seal the first key with the integrity metrics for the first environment in a platform configuration register (PCR) such as PCR7 (element 425). The first environment integrity metrics may be stored in PCR7 in some embodiments because the content of PCR7 is substantially left to the control of the manufacturer of the processing system or at least important components thereof such as processors and chipsets.
After activating the MAE or substantially simultaneously with establishing a MAE, the processing system may also launch a trusted version of the second environment (element 430). For instance, the compact disk (CD) may also configure the second environment and install a clean, trusted version of the software for the second environment. The TPM of the processing system may then measure integrity metrics for the second environment and generate a second key for the second environment (element 435). After generating the second key, the TPM may seal the second key with the integrity metrics for the second environment in a platform configuration register (PCR) such as PCR4 (element 440).
1. A system to launch trusted, co-existing environments, the system comprising:
resources to support partitions for at least a first embedded environment and a second embedded environment, the resources comprising data storage with a first protected area and a second protected area;
a trusted platform module (TPM) comprising hardware, the TPM comprising a first register, the TPM to unseal a first key in response to extension of a measurement of integrity metrics of a first embedded environment into the first register and to unseal a second key in response to extension of a measurement of integrity metrics of a second embedded environment into the first register; and
a partition manager to request extension of the measurement of integrity metrics of the first embedded environment into the first register, to decrypt data in the first protected area with the first key, to request extension of the measurement of integrity metrics of the second embedded environment into the first register, and to decrypt data in the second protected area with the second key, wherein the partition manager comprises logic to define an order of operations to launch the embedded environments, wherein the order of operations comprises extension of measurement of integrity metrics of each of the embedded environments sequentially.
2. The system of claim 1, further comprising an approved environment identifier to identify an indication of an approved environment.
3. The system of claim 2, wherein the TPM is configured to recognize the existence of the approved environment identified by the approved environment identifier and to generate and seal the first key for the first embedded environment with the integrity metrics in response to an extension of a measurement of the integrity metrics for first embedded environment into the first register.
4. The system of claim 2, wherein the TPM is configured to seal the first key by encryption of the first key with a hash of integrity metrics of a trusted version of the first embedded environment.
5. The system of claim 2, wherein the TPM is further configured to seal one or more additional keys in the first register for one or more additional embedded environments, wherein control over content of the first register is designated for a manufacturer associated with the processing system.
6. The system of claim 2, wherein the approved environment identifier is configured to identify the approved environment in response to connection of contacts on a board of the processing system.
7. The system of claim 1, wherein the data storage comprises a host-protected access (HPA) region of a hard disk.
8. The system of claim 1, wherein the TPM comprises platform configuration registers, wherein the first register comprises platform configuration register seven (PCR7) or platform configuration register four (PCR4).
9. The system of claim 1, wherein the partition manager comprises firmware.
10. The system of claim 1, wherein the partition manager comprises microcode of a processor in the system.
11. The system of claim 1, wherein the partition manager comprises logic to launch the first embedded environment, the second embedded environment, and one or more additional coexistent embedded environments before releasing control of remaining resources to an operating system in a main environment.
12. A machine-accessible storage medium, wherein the medium is not a signal, the medium containing instructions, which when executed by a processing system, cause the processing system to perform operations, the operations comprising:
configuring a first embedded environment on a processing system, the first embedded environment to manage access to protected content of the first embedded environment;
extending a measurement of current integrity metrics of the first embedded environment into a first register of a trusted platform module (TPM) to compare the current integrity metrics of the first embedded environment against trusted integrity metrics for the first embedded environment, the TPM to unseal a first key in response to verification of the measurement of the current integrity metrics of the first embedded environment, wherein the TPM comprises hardware;
decrypting the protected content for the first embedded environment via the first key; and
launching a second embedded environment after the verification of the measurement of the current integrity metrics of the first embedded environment, after verification of a measurement of current integrity metrics for the second embedded environment, the TPM to unseal a second key in response to extension of the measurement of the current integrity metrics of the second embedded environment into the first register, the second embedded environment to coexist with the first embedded environment on the processing system,
wherein the embedded environments are launched in accordance with an order of operations, wherein the order of operations comprises extension of measurement of integrity metrics of each of the embedded environments sequentially.
13. The machine-accessible storage medium of claim 12, wherein the operations further comprise receiving one or more additional keys for one or more additional embedded environments after extending current integrity metrics for one or more additional embedded environments.
14. The machine-accessible storage medium of claim 12, wherein configuring the first embedded environment comprises hiding the resources assigned to the first embedded environment.
15. The machine-accessible storage medium of claim 12, wherein extending the measurement of the current integrity metrics of the first embedded environment comprises extending the measurement of the current integrity metrics into platform configuration register seven (PCR7) of the TPM and wherein launching the second embedded environment comprises extending the measurement of integrity metrics of the second embedded environment into PCR7 of the TPM.
16. The machine-accessible storage medium of claim 12, wherein launching the second environment comprises:
configuring the second embedded environment to coexist with the first embedded environment and
extending a hash of integrity metrics of the second embedded environment into PCR4 of the TPM after extending the current integrity metrics of the first embedded environment into PCR4 of the TPM.
US13963803 2006-09-26 2013-08-09 Methods and arrangements to launch trusted, coexisting environments Active US9235707B2 (en)
US11527180 US8510859B2 (en) 2006-09-26 2006-09-26 Methods and arrangements to launch trusted, co-existing environments
US13963803 US9235707B2 (en) 2006-09-26 2013-08-09 Methods and arrangements to launch trusted, coexisting environments
US11527180 Division US8510859B2 (en) 2006-09-26 2006-09-26 Methods and arrangements to launch trusted, co-existing environments
US20130326216A1 true US20130326216A1 (en) 2013-12-05
US9235707B2 true US9235707B2 (en) 2016-01-12
ID=38750411
US11527180 Active 2029-06-11 US8510859B2 (en) 2006-09-26 2006-09-26 Methods and arrangements to launch trusted, co-existing environments
US13963803 Active US9235707B2 (en) 2006-09-26 2013-08-09 Methods and arrangements to launch trusted, coexisting environments
US (2) US8510859B2 (en)
EP (1) EP1906333B1 (en)
KR (1) KR100989977B1 (en)
CN (1) CN101154256B (en)
US20080270652A1 (en) * 2007-04-30 2008-10-30 Jeffrey Kevin Jeansonne System and method of tamper-resistant control
KR100932274B1 (en) * 2007-12-18 2009-12-16 한국전자통신연구원 Software integrity verification of the mobile terminal device and method
JP5035182B2 (en) * 2008-08-27 2012-09-26 富士通株式会社 Access control system, access control method, an access control program, and a recording medium recording an access control program
DE102010025652A1 (en) 2010-02-23 2011-08-25 Rohde & Schwarz GmbH & Co. KG, 81671 Communication system with a static separation-kernel operating system and associated operating method
CN101872304A (en) * 2010-06-10 2010-10-27 复旦大学 Clustered operation system technology based method for improving scalability of many-core application program
WO2012092706A1 (en) * 2011-01-04 2012-07-12 Motorola Mobility, Inc. Hybrid operating system media integration
CN102567233B (en) * 2011-12-23 2014-07-02 福建升腾资讯有限公司 Data protection method of USB storage device based on magnetic disc virtual technology
CN103294578B (en) * 2012-03-02 2016-08-24 纬创资通股份有限公司 Way to get instructions trigger functions
CN103023922B (en) * 2012-12-05 2014-07-02 清华大学 Control flow model behavior based dynamic remote attestation method
GB201222583D0 (en) * 2012-12-14 2013-01-30 Ibm User trusted device for detecting a virtualized environment
CN103607645B (en) * 2013-11-22 2017-06-23 深圳市九洲电器有限公司 A set top box anti-piracy methods and set-top boxes
US9734325B1 (en) * 2013-12-09 2017-08-15 Forcepoint Federal Llc Hypervisor-based binding of data to cloud environment for improved security
CN103971057B (en) * 2014-04-17 2017-12-19 兴唐通信科技有限公司 A mobile communication terminal intelligent trusted path method and system
WO2016188578A1 (en) * 2015-05-28 2016-12-01 Telefonaktiebolaget Lm Ericsson (Publ) METHOD FOR ENABLING SIMULTANEOUS CONTROL OF A PLURALITY OF TPMs AND RELATED COMPONENTS
US5619658A (en) 1995-05-15 1997-04-08 Nvidia Corporation Method and apparatus for trapping unimplemented operations in input/output devices
US20030061494A1 (en) 2001-09-26 2003-03-27 Girard Luke E. Method and system for protecting data on a pc platform using bulk non-volatile storage
US20050081065A1 (en) 2003-10-14 2005-04-14 Ernie Brickell Method for securely delegating trusted platform module ownership
US20050138434A1 (en) 2003-12-23 2005-06-23 International Business Machines Corporation Apparatus, system, and method for secure communications from a human interface device
US20060075264A1 (en) 2004-09-30 2006-04-06 Microsoft Corporation Security state watcher
JP2006323814A (en) 2005-01-07 2006-11-30 Microsoft Corp System and method for safely booting computer having reliable processing module
JP2007257197A (en) 2006-03-22 2007-10-04 Fujitsu Ltd Information processor having start verification function
US20080069361A1 (en) 2006-05-26 2008-03-20 Cho Kyung-Min Methods of managing a key cache
US20080077993A1 (en) 2006-09-26 2008-03-27 Zimmer Vincent J Methods and arrangements to launch trusted, co-existing environments
US20080159541A1 (en) 2006-12-29 2008-07-03 Kumar Mohan J Methods and apparatus for protecting data
US20080163383A1 (en) 2006-12-29 2008-07-03 Kumar Mohan J Methods and apparatus for authenticating components of processing systems
US20090044187A1 (en) 2007-08-10 2009-02-12 Smith Ned M Methods And Apparatus For Creating An Isolated Partition For A Virtual Trusted Platform Module
US7543283B2 (en) 2000-11-17 2009-06-02 Imperial College Innovations Limited Flexible instruction processor systems and methods
US20090165117A1 (en) 2007-12-21 2009-06-25 Tasneem Brutch Methods And Apparatus Supporting Access To Physical And Virtual Trusted Platform Modules
US20090172639A1 (en) 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
US7658874B2 (en) * 2003-07-30 2010-02-09 E.I. Du Pont De Nemours And Company Polymer pelletization process and apparatus
US20080155702A1 (en) 2001-07-13 2008-06-26 Liquid Machines, Inc. Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent
US7581097B2 (en) 2003-12-23 2009-08-25 Lenovo Pte Ltd Apparatus, system, and method for secure communications from a human interface device
US7574610B2 (en) 2004-09-30 2009-08-11 Microsoft Corporation Security state watcher
KR100989977B1 (en) 2006-09-26 2010-10-26 인텔 코오퍼레이션 Methods and arrangements to launch trusted, co-existing environments
Berger et al.,"IBM Research Report RC23879, vTPM: Virtualizing the Trusted Platform Module," IBM Research Report No. RC23879, Feb. 14, 2006, pp. 1-18.
Chinese Office Action Received for Chinese Patent Application No. 2007101537964, mailed on May 22, 2009,6 Pages of Office Action including 2 pages of English Translation.
European Office Action Received for European Patent Application No. 07253768.1, Mailed on Mar. 19, 2013, 4 pages.
European Office Action Received for European Patent Application No. 07253768.1, Mailed on Oct. 26, 2012, 4 pages.
European Search Report received for European Patent Application No. 07253768.1, mailed Oct. 7, 2010, 7 pgs.
Japanese Office Action received for Japanese Patent application No. 2007-273185, mailed on Jan. 18, 2011, 5 pages of Office Action including 2 pages of English Translation.
Korean Office Action Received Korean Patent Application No. 10-2007-0097608, mailed on Dec. 17, 2009, 4 Pages including 2 pages of English Translation.
Korean Office Action Received Korean Patent Application No. 10-2007-0097608, mailed on May 18, 2009, 11 Pages including 5 pages of English Translation.
Letters Patent Received for Korean Patent Application No. 1 0-2007-97608, issued on Oct. 19, 2010.
Office Action Received for Chinese Patent Application No. 200710153796.4, mailed on Nov. 29, 2010,8 Pages of Office Action and 14 Pages of English Translation.
Office Action Received for Chinese Patent Application No. 200710153796.4, mailed on Sep. 1, 2011, 3 pages of Office Action and 1 page of English Translation.
Office Action Received for European Patent Application No. 07253768.1, mailed on Nov. 15, 2010 2 pages.
EP1906333A2 (en) 2008-04-02 application
KR100989977B1 (en) 2010-10-26 grant
EP1906333A3 (en) 2010-11-10 application
KR20080028340A (en) 2008-03-31 application
CN101154256B (en) 2012-08-22 grant
US20080077993A1 (en) 2008-03-27 application
US20130326216A1 (en) 2013-12-05 application
US8510859B2 (en) 2013-08-13 grant
EP1906333B1 (en) 2014-10-22 grant
CN101154256A (en) 2008-04-02 application
US20120246641A1 (en) 2012-09-27 Method for Switching Between Virtualized and Non-Virtualized System Operation