JP5960161B2 - 仮想マシンの分岐および並列実行 - Google Patents
仮想マシンの分岐および並列実行 Download PDFInfo
- Publication number
- JP5960161B2 JP5960161B2 JP2013544715A JP2013544715A JP5960161B2 JP 5960161 B2 JP5960161 B2 JP 5960161B2 JP 2013544715 A JP2013544715 A JP 2013544715A JP 2013544715 A JP2013544715 A JP 2013544715A JP 5960161 B2 JP5960161 B2 JP 5960161B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- branch
- clone
- original
- state
- 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.)
- Expired - Fee Related
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Description
分岐とは、コンピュータプログラムにおける任意のポイントであって、実行が複数の可能性のある経路に進むポイントを意味する。コンピュータ科学には様々なタイプの分岐が存在する。機械レベルでは、ソフトウェアアセンブリ言語命令には、条件付き飛越しが含まれることが多い。条件が成立すると、プロセッサはジャンプにより指定される場所のコードを実行するであろう。条件が失敗すると、プロセッサはジャンプの後に続くコードの実行を継続するであろう。今日の重度にパイプライン化されたマルチコアプロセッサでは、分岐した両方の経路の実行を投機的に開始することがよくある。実行が分岐条件に到達し、条件が評価されると、分岐条件が成立する分岐を保持し、投機的に実行した他方の分岐の中間結果をフラッシュする。分岐はプロセスレベルでも発生する。UNIX(登録商標)のようなオペレーティングシステムには、アプリケーションプログラミングインターフェース(API)が含まれ、例えば、fork()があり、これは、プロセスのコピーを作成して新しいプロセスの実行を継続するものである。これを使用して、マルチスレッディング又はプロセスの分岐する可能性のある経路の追跡を行うことが可能である。
Claims (17)
- オリジナル仮想マシンから1つまたは複数のクローン仮想マシンに分岐させて分岐する状態を考察するためのコンピュータに実装される方法であって、
前記オリジナル仮想マシン上の実行用のアプリケーションコードを受け取るステップであって、前記アプリケーションコードは、前記オリジナル仮想マシンの2つまたはそれ以上の可能な状態をもたらす少なくとも1つの分岐を含む、ステップと、
前記受け取ったアプリケーションコードを含む前記オリジナル仮想マシンを実行するステップと、
前記アプリケーションコードが複数の可能な状態に分岐するであろう場所を示す情報を、前記アプリケーションコードから得ることにより、前記オリジナル仮想マシンの2つまたはそれ以上の可能な状態をもたらす前記オリジナル仮想マシン上で稼働する前記アプリケーションコード内の分岐を識別するステップと、
1つまたは複数のクローン仮想マシンを作成するステップであって、前記クローン仮想マシンは、前記オリジナル仮想マシンの現在の状態を複製し、次に、それぞれが前記分岐の1つの経路を処理して、作成された当該クローン仮想マシンにおける後続の状態を探索する、ステップと、
前記識別された分岐の異なる経路を実行するために、各クローン仮想マシンをセットアップするステップと、
前記識別された分岐の少なくとも2つの経路を並列して探索するために、前記オリジナル仮想マシンおよびクローン化仮想マシンを実行するステップと、
前記クローン化仮想マシンから少なくとも1つの実行結果を受け取るステップと、
を含み、
前述のステップが少なくとも1つのプロセッサにより実行され、
前記オリジナル仮想マシンを実行するステップが、
所定の動作の実行により前記オリジナル仮想マシンの状態を変化させる可能性がある分岐が識別されるまで前記オリジナル仮想マシンを実行するステップと、
前記クローン化仮想マシンが、前記オリジナル仮想マシンのインスタンスの外部の任意のリソースに影響を与えることになるかどうかを判定するステップと、
を含む、
方法。 - 前記アプリケーションコードを受け取るステップが、前記オリジナル仮想マシンの前記状態を変化させ、かつ、ランタイムで評価される条件に基づく分岐を含む、アプリケーションコードを受け取るステップを含む、請求項1に記載の方法。
- 前記オリジナル仮想マシンを実行するステップが、同じ物理リソースを共有する複数の仮想マシンの実行を指示するハイパーバイザを含む、請求項1に記載の方法。
- 前記分岐を識別するステップが、コード解析ツールを使用して前記分岐を自動的に識別するステップを含む、請求項1に記載の方法。
- 前記分岐を識別するステップは、アプリケーションプログラミングインターフェース(API)を起動するステップであって、該APIにより2つまたはそれ以上の分岐経路が識別される、ステップを含む、請求項1に記載の方法。
- クローン仮想マシンを作成するステップが、仮想ハードウェアを識別する1つまたは複数の仮想マシン仕様をセットアップするステップと、前記オリジナル仮想マシンのメモリの状態をコピーするステップと、前記オリジナル仮想マシンにアタッチされた1つまたは複数のディスクをコピーするステップとを含む、請求項1に記載の方法。
- 前記クローン仮想マシンを作成するステップが、前記オリジナル仮想マシンの実行を中断するステップと、前記オリジナル仮想マシンに関連する1つまたは複数の物理マシンファイルをコピーするステップとを含む、請求項1に記載の方法。
- 各クローンをセットアップするステップが、各クローンがどの経路を探索する責任があるのかについての情報を用いて前記クローンをセットアップするステップと、次に、前記クローンおよびオリジナル仮想マシンそれぞれにその割り当てられた経路を探索させるために、クローンおよびオリジナル仮想マシンそれぞれを実行するステップとを含む、請求項1に記載の方法。
- 各クローンをセットアップするステップが、前記クローン仮想マシンが実行するであろうソフトウェアコードを識別するステップと、前記クローン仮想マシンの命令ポインタ及びレジスタの状態を、特定の場所に設定するステップとを含む、請求項1に記載の方法。
- 前記少なくとも1つの実行結果は、前記クローン化仮想マシンが到達した状態を含む、請求項1に記載の方法。
- 仮想マシンの分岐および並列実行のためのコンピュータシステムであって、
以下のコンポーネント内で具現化されるソフトウェア命令を実行するべく構成されるプロセッサおよびメモリと、
2つまたはそれ以上の仮想マシンに物理コンピュータ装置のリソースを割り当て、かつ、仮想マシンをクローン化するためのサポートを提供するハイパーバイザコンポーネントと、
物理マシン上でのリソース使用と、オリジナル仮想マシンおよびクローン化仮想マシンを含む2つまたはそれ以上の仮想マシン間のリソース分離と、のスケジューリングを提供するスケジューリングコンポーネントと、
2つまたはそれ以上の仮想マシン間に1つまたは複数の通信のチャネルを提供するVM通信コンポーネントと、
1つまたは複数のクローン仮想マシンにおいて後続の状態を評価するために、ソフトウェアコードを実行するオリジナル仮想マシンを分岐させるための候補である、現在の状態と、前記ソフトウェアコードの1つまたは複数の前記後続の状態を識別する、分岐識別コンポーネントと、
状態情報を前記オリジナル仮想マシンからコピーして、同様の状態を有する1つまたは複数のクローン仮想マシンを作成する、状態クローニングコンポーネントと、
各作成された前記クローン仮想マシンを開始させ、かつ、各クローンが追跡する実行の分岐を識別することにより、前記分岐を実行するVM分岐コンポーネントと、
各クローン仮想マシンおよび前記オリジナル仮想マシンの動作を調整して、不要な分岐の廃棄または分岐結果の統合を可能にするクローン調整コンポーネントと、
各仮想マシンが生成する結果を処理し、その結果を前記クローン調整コンポーネントに提供する結果処理コンポーネントと
を備え、
前記VM分岐コンポーネントは、
所定の動作の実行により前記オリジナル仮想マシンを変化させる可能性がある分岐が識別されるまで前記オリジナル仮想マシンを実行し、
前記クローン化仮想マシンが、前記オリジナル仮想マシンのインスタンスの外部の任意のリソースに影響を与えることになるかどうかを判定する、
システム。 - 前記VM通信コンポーネントが、前記オリジナル仮想マシンから調整情報を受け取り、調整命令を1つまたは複数のクローン仮想マシンに提供する、請求項11に記載のシステム。
- 前記分岐識別コンポーネントは、前記ソフトウェアコードを解析することにより前記ハイパーバイザコンポーネントを介して潜在的な分岐を自動的に識別する、請求項11に記載のシステム。
- 状態クローニングコンポーネントは、各クローンが追跡するであろう分岐する状態を探索に使用される前記オリジナル仮想マシンの前記状態情報のサブセットを選択し、前記選択したサブセットを複製する、請求項11に記載のシステム。
- 前記VM分岐コンポーネントは、各クローン仮想マシンに、自身が考察する分岐を知らせ、次に、各仮想マシンに前記分岐の後の状態の探索を実行させる、請求項11に記載のシステム。
- 前記クローン調整コンポーネントは、各クローン仮想マシンの結果を考察し、前記状態の探索が完了した後に、前記オリジナル仮想マシンに実行を戻す、請求項11に記載のシステム。
- 前記各仮想マシンが生成する結果は、各仮想マシンに対して発生するさらなる状態変化を含む、請求項11に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/972,424 US8677355B2 (en) | 2010-12-17 | 2010-12-17 | Virtual machine branching and parallel execution |
US12/972,424 | 2010-12-17 | ||
PCT/US2011/064754 WO2012082811A2 (en) | 2010-12-17 | 2011-12-14 | Virtual machine branching and parallel execution |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013546103A JP2013546103A (ja) | 2013-12-26 |
JP2013546103A5 JP2013546103A5 (ja) | 2015-01-15 |
JP5960161B2 true JP5960161B2 (ja) | 2016-08-02 |
Family
ID=46236241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013544715A Expired - Fee Related JP5960161B2 (ja) | 2010-12-17 | 2011-12-14 | 仮想マシンの分岐および並列実行 |
Country Status (9)
Country | Link |
---|---|
US (2) | US8677355B2 (ja) |
EP (1) | EP2652600B1 (ja) |
JP (1) | JP5960161B2 (ja) |
KR (1) | KR101957533B1 (ja) |
CN (1) | CN102609296B (ja) |
AR (1) | AR084048A1 (ja) |
HK (1) | HK1174405A1 (ja) |
TW (1) | TWI534709B (ja) |
WO (1) | WO2012082811A2 (ja) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2477109B1 (en) | 2006-04-12 | 2016-07-13 | Soft Machines, Inc. | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
EP2523101B1 (en) | 2006-11-14 | 2014-06-04 | Soft Machines, Inc. | Apparatus and method for processing complex instruction formats in a multi- threaded architecture supporting various context switch modes and virtualization schemes |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8407804B2 (en) * | 2010-09-13 | 2013-03-26 | Sophos Plc | System and method of whitelisting parent virtual images |
EP2616928B1 (en) | 2010-09-17 | 2016-11-02 | Soft Machines, Inc. | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
US8489929B2 (en) * | 2010-09-30 | 2013-07-16 | Salesforce.Com, Inc. | Facilitating large-scale testing using virtualization technology in a multi-tenant database environment |
WO2012135041A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
EP2689326B1 (en) | 2011-03-25 | 2022-11-16 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
WO2012135031A2 (en) | 2011-03-25 | 2012-10-04 | Soft Machines, Inc. | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
CN103649932B (zh) | 2011-05-20 | 2017-09-26 | 英特尔公司 | 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构 |
WO2012162189A1 (en) | 2011-05-20 | 2012-11-29 | Soft Machines, Inc. | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
KR101703401B1 (ko) | 2011-11-22 | 2017-02-06 | 소프트 머신즈, 인크. | 다중 엔진 마이크로프로세서용 가속 코드 최적화기 |
US20150039859A1 (en) | 2011-11-22 | 2015-02-05 | Soft Machines, Inc. | Microprocessor accelerated code optimizer |
US9811371B2 (en) | 2012-06-29 | 2017-11-07 | International Business Machines Corporation | Concurrent execution of a computer software application along multiple decision paths |
WO2014031100A1 (en) * | 2012-08-21 | 2014-02-27 | Empire Technology Development Llc | Detection and mitigation of side-channel attacks |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
WO2014100954A1 (zh) * | 2012-12-24 | 2014-07-03 | 华为技术有限公司 | 数据控制方法及系统 |
WO2014150991A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for implementing a reduced size register view data structure in a microprocessor |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9632825B2 (en) | 2013-03-15 | 2017-04-25 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
KR102063656B1 (ko) | 2013-03-15 | 2020-01-09 | 소프트 머신즈, 인크. | 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법 |
WO2014150971A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for dependency broadcasting through a block organized source view data structure |
WO2014150806A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines, Inc. | A method for populating register view data structure by using register template snapshots |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
KR102083390B1 (ko) | 2013-03-15 | 2020-03-02 | 인텔 코포레이션 | 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법 |
CN104216793B (zh) * | 2013-05-31 | 2017-10-17 | 国际商业机器公司 | 应用程序备份、恢复的方法及设备 |
US9852000B2 (en) * | 2013-08-27 | 2017-12-26 | Empire Technology Development Llc | Consolidating operations associated with a plurality of host devices |
US10339236B2 (en) * | 2013-09-10 | 2019-07-02 | Vmware, Inc. | Techniques for improving computational throughput by using virtual machines |
US20150121374A1 (en) * | 2013-10-30 | 2015-04-30 | Alistair Black | Application Processing Systems and Methods |
CN104598776B (zh) * | 2013-10-31 | 2018-11-23 | 深圳市腾讯计算机系统有限公司 | 一种对软件进行测试的方法及装置 |
US9323565B2 (en) | 2013-12-20 | 2016-04-26 | Vmware, Inc. | Provisioning customized virtual machines without rebooting |
US10977063B2 (en) | 2013-12-20 | 2021-04-13 | Vmware, Inc. | Elastic compute fabric using virtual machine templates |
US9575792B2 (en) * | 2014-03-14 | 2017-02-21 | Netapp, Inc. | Method and system for replicating virtual machines |
JP2015212920A (ja) * | 2014-04-16 | 2015-11-26 | 俊介 山内 | 先行画像生成プログラム、仮想マシーン制御プログラムおよびコンピュータ可読記憶媒体 |
US9619268B2 (en) * | 2014-08-23 | 2017-04-11 | Vmware, Inc. | Rapid suspend/resume for virtual machines via resource sharing |
US9513948B2 (en) * | 2015-02-05 | 2016-12-06 | International Business Machines Corporation | Automated virtual machine provisioning based on defect state |
US20160378521A1 (en) * | 2015-06-24 | 2016-12-29 | International Business Machines Corporation | Automated test optimization |
US20170052866A1 (en) * | 2015-08-21 | 2017-02-23 | International Business Machines Corporation | Managing a shared pool of configurable computing resources which uses a set of dynamically-assigned resources |
US10846117B1 (en) * | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US20180275871A1 (en) * | 2017-03-22 | 2018-09-27 | Intel Corporation | Simulation of a plurality of storage devices from a single storage device coupled to a computational device |
US10310966B1 (en) * | 2017-06-01 | 2019-06-04 | Amazon Technologies, Inc. | Automatic test stack creation via production system replication |
US10789139B2 (en) | 2018-04-12 | 2020-09-29 | Vmware, Inc. | Method of rebuilding real world storage environment |
US10936354B2 (en) * | 2018-04-13 | 2021-03-02 | Vmware, Inc. | Rebuilding a virtual infrastructure based on user data |
CN110389857B (zh) * | 2018-04-20 | 2023-04-21 | 伊姆西Ip控股有限责任公司 | 数据备份的方法、设备和非瞬态计算机存储介质 |
CN112948234B (zh) * | 2020-08-26 | 2023-02-21 | 深圳市明源云链互联网科技有限公司 | 接口测试方法、装置及电子设备 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5313647A (en) * | 1991-09-20 | 1994-05-17 | Kendall Square Research Corporation | Digital data processor with improved checkpointing and forking |
JPH06222913A (ja) * | 1993-01-25 | 1994-08-12 | Fujitsu Ltd | プログラム解析装置 |
US5905855A (en) * | 1997-02-28 | 1999-05-18 | Transmeta Corporation | Method and apparatus for correcting errors in computer systems |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US8631066B2 (en) * | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
US6944754B2 (en) * | 2002-10-02 | 2005-09-13 | Wisconsin Alumni Research Foundation | Method and apparatus for parallel execution of computer software using a distilled program |
US7299468B2 (en) | 2003-04-29 | 2007-11-20 | International Business Machines Corporation | Management of virtual machines to utilize shared resources |
US7849462B2 (en) * | 2005-01-07 | 2010-12-07 | Microsoft Corporation | Image server |
JP4585463B2 (ja) | 2006-02-15 | 2010-11-24 | 富士通株式会社 | 仮想計算機システムを機能させるためのプログラム |
US7664626B1 (en) | 2006-03-24 | 2010-02-16 | Symantec Corporation | Ambiguous-state support in virtual machine emulators |
US8296759B1 (en) * | 2006-03-31 | 2012-10-23 | Vmware, Inc. | Offloading operations to a replicate virtual machine |
US8151263B1 (en) * | 2006-03-31 | 2012-04-03 | Vmware, Inc. | Real time cloning of a virtual machine |
US8458695B2 (en) * | 2006-10-17 | 2013-06-04 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8234640B1 (en) * | 2006-10-17 | 2012-07-31 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US8336046B2 (en) * | 2006-12-29 | 2012-12-18 | Intel Corporation | Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources |
US20090037885A1 (en) | 2007-07-30 | 2009-02-05 | Microsoft Cororation | Emulating execution of divergent program execution paths |
US8949585B2 (en) * | 2007-10-09 | 2015-02-03 | Vmware, Inc. | In-place conversion of virtual machine state |
US7844954B2 (en) * | 2007-11-06 | 2010-11-30 | Vmware, Inc. | Using branch instruction counts to facilitate replay of virtual machine instruction execution |
US9009020B1 (en) * | 2007-12-12 | 2015-04-14 | F5 Networks, Inc. | Automatic identification of interesting interleavings in a multithreaded program |
US8495636B2 (en) * | 2007-12-19 | 2013-07-23 | International Business Machines Corporation | Parallelizing single threaded programs by performing look ahead operation on the single threaded program to identify plurality of instruction threads prior to execution |
US8281318B2 (en) * | 2008-03-31 | 2012-10-02 | Vmware, Inc. | Systems and methods for inter process communication based on queues |
US20090307763A1 (en) * | 2008-06-05 | 2009-12-10 | Fiberlink Communications Corporation | Automated Test Management System and Method |
US8473946B2 (en) | 2008-07-03 | 2013-06-25 | Vmware, Inc. | Efficient recording and replaying of non-deterministic instructions in a virtual machine and CPU therefor |
JP2010026572A (ja) * | 2008-07-15 | 2010-02-04 | Hitachi Ltd | 仮想計算機の現出方法、この方法を実行するためのプログラム、及びこの方法を実行するサーバ |
US20100070678A1 (en) | 2008-09-12 | 2010-03-18 | Vmware, Inc. | Saving and Restoring State Information for Virtualized Computer Systems |
US20100083251A1 (en) * | 2008-09-12 | 2010-04-01 | Hyper9, Inc. | Techniques For Identifying And Comparing Virtual Machines In A Virtual Machine System |
JP5104958B2 (ja) * | 2008-10-03 | 2012-12-19 | 富士通株式会社 | 仮想計算機システムのテスト方法、テストプログラム並びにその記録媒体、仮想計算機システム |
US9141381B2 (en) | 2008-10-27 | 2015-09-22 | Vmware, Inc. | Version control environment for virtual machines |
JP5352848B2 (ja) | 2008-11-28 | 2013-11-27 | 株式会社日立製作所 | 仮想計算機の制御方法及び計算機装置 |
US9817695B2 (en) * | 2009-04-01 | 2017-11-14 | Vmware, Inc. | Method and system for migrating processes between virtual machines |
US8656222B2 (en) * | 2009-07-30 | 2014-02-18 | Vmware, Inc. | Method and system for recording a selected computer process for subsequent replay |
US8572613B1 (en) * | 2009-12-28 | 2013-10-29 | Amazon Technologies, Inc. | Comparison of virtual computing states by performing identified repeatable computations in a changing virtual computing environment |
US9002972B2 (en) * | 2010-01-29 | 2015-04-07 | Symantec Corporation | Systems and methods for sharing the results of computing operations among related computing systems |
US8990813B2 (en) * | 2010-03-29 | 2015-03-24 | Red Hat, Inc. | Automated virtual machine image deployment and testing by accessing downloadable test packages and dynamically-changing test parameters |
US8898668B1 (en) * | 2010-03-31 | 2014-11-25 | Netapp, Inc. | Redeploying baseline virtual machine to update a child virtual machine by creating and swapping a virtual disk comprising a clone of the baseline virtual machine |
US8489929B2 (en) * | 2010-09-30 | 2013-07-16 | Salesforce.Com, Inc. | Facilitating large-scale testing using virtualization technology in a multi-tenant database environment |
US9165136B1 (en) * | 2010-10-27 | 2015-10-20 | Amazon Technologies, Inc. | Supervising execution of untrusted code |
US8443365B2 (en) * | 2010-11-03 | 2013-05-14 | Hewlett-Packard Development Company, L.P. | Methods and systems to clone a virtual machine instance |
-
2010
- 2010-12-17 US US12/972,424 patent/US8677355B2/en active Active
-
2011
- 2011-11-09 TW TW100140904A patent/TWI534709B/zh not_active IP Right Cessation
- 2011-11-30 AR ARP110104455A patent/AR084048A1/es not_active Application Discontinuation
- 2011-12-14 JP JP2013544715A patent/JP5960161B2/ja not_active Expired - Fee Related
- 2011-12-14 WO PCT/US2011/064754 patent/WO2012082811A2/en active Application Filing
- 2011-12-14 KR KR1020137015588A patent/KR101957533B1/ko active IP Right Grant
- 2011-12-14 EP EP11847934.4A patent/EP2652600B1/en active Active
- 2011-12-16 CN CN201110443423.7A patent/CN102609296B/zh active Active
-
2013
- 2013-01-25 HK HK13101157.2A patent/HK1174405A1/xx unknown
-
2014
- 2014-03-15 US US14/214,798 patent/US20140201739A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
TW201227520A (en) | 2012-07-01 |
JP2013546103A (ja) | 2013-12-26 |
KR101957533B1 (ko) | 2019-03-12 |
WO2012082811A3 (en) | 2012-09-27 |
CN102609296A (zh) | 2012-07-25 |
US20140201739A1 (en) | 2014-07-17 |
CN102609296B (zh) | 2015-04-01 |
EP2652600B1 (en) | 2017-09-06 |
KR20130126938A (ko) | 2013-11-21 |
TWI534709B (zh) | 2016-05-21 |
WO2012082811A2 (en) | 2012-06-21 |
EP2652600A4 (en) | 2014-07-09 |
US8677355B2 (en) | 2014-03-18 |
EP2652600A2 (en) | 2013-10-23 |
HK1174405A1 (en) | 2013-06-07 |
US20120159478A1 (en) | 2012-06-21 |
AR084048A1 (es) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5960161B2 (ja) | 仮想マシンの分岐および並列実行 | |
Guanciale et al. | Inspectre: Breaking and fixing microarchitectural vulnerabilities by formal analysis | |
JP5904993B2 (ja) | マルチスレッド・コードをデバッグする方法、システム、及びコンピュータ・プログラム | |
US10871982B2 (en) | Virtual processor scheduling via memory monitoring | |
JP2013546103A5 (ja) | ||
EP2988242B1 (en) | Information processing device, and information processing method | |
Zuo et al. | Performance tuning towards a KVM-based low latency virtualization system | |
US20130247007A1 (en) | Making debugger behavior conditional on past program state | |
US11361077B2 (en) | Kernel-based proactive engine for malware detection | |
US20120284695A1 (en) | Error simulation | |
Weng et al. | Argus: Debugging performance issues in modern desktop applications with annotated causal tracing | |
Burns et al. | KairosVM: Deterministic introspection for real-time virtual machine hierarchical scheduling | |
Stojkovic et al. | Specfaas: Accelerating serverless applications with speculative function execution | |
US11392482B2 (en) | Data breakpoints on certain kinds of functions | |
US11954023B2 (en) | Garbage collection prefetching state machine | |
Lv et al. | Static worst-case execution time analysis of the μ C/OS-II real-time kernel | |
US20230418509A1 (en) | Switching memory consistency models in accordance with execution privilege level | |
Bhargava et al. | Run-time performance analysis of non-agent based solution for Inter Process Synchronization problem | |
Carnà et al. | Strategies and software support for the management of hardware performance counters | |
Lin et al. | A Spin-based model checking for the simple concurrent program on a preemptive RTOS | |
Kim et al. | HD-FUZZ: Hardware dependency-aware firmware fuzzing via hybrid MMIO modeling | |
Anderson et al. | Comparison of Bootstrapping and Finite State Machine Simulations of a Scheduling Benchmark | |
Carnà | HOP-Hardware-based Online Profiling of multi-threaded applications via AMD Instruction-Based Sampling | |
Das et al. | Improving Energy Efficiency of Mobile Execution Exploiting Similarity of Application Control Flow | |
Banister et al. | Fast Thread Migration in a Heterogeneous ISA System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130905 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141120 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20150523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160422 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160622 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5960161 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |