JP2013514588A - 仮想記憶ターゲットオフロード技術 - Google Patents

仮想記憶ターゲットオフロード技術 Download PDF

Info

Publication number
JP2013514588A
JP2013514588A JP2012544559A JP2012544559A JP2013514588A JP 2013514588 A JP2013514588 A JP 2013514588A JP 2012544559 A JP2012544559 A JP 2012544559A JP 2012544559 A JP2012544559 A JP 2012544559A JP 2013514588 A JP2013514588 A JP 2013514588A
Authority
JP
Japan
Prior art keywords
storage service
partition
virtual machine
virtual
adapter
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
JP2012544559A
Other languages
English (en)
Other versions
JP2013514588A5 (ja
JP6055310B2 (ja
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013514588A publication Critical patent/JP2013514588A/ja
Publication of JP2013514588A5 publication Critical patent/JP2013514588A5/ja
Application granted granted Critical
Publication of JP6055310B2 publication Critical patent/JP6055310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/45537Provision of facilities of other operating environments, e.g. WINE
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

仮想マシンストレージサービスは一意のネットワーク識別子を使用することができ、SR−IOV対応デバイスは仮想マシンと仮想マシンストレージサービスとの間で入出力を運ぶために使用することができる。仮想マシンストレージサービスは、子パーティションにオフロードすることができ又は一意のネットワーク識別子を備えた別の物理マシンに移行させることができる。

Description

本発明は、仮想記憶ターゲットオフロード技術に関する。
[0001]仮想マシン技術は、ワークロードをパッケージ化し、データセンターにそれを移動させるために使用することができる。1つの物理ホストから別の物理ホストへワークロードを移動させるこの機能は、ハードウェアコスト及び管理コストをはるかに低くすることにつながる動的なマシンの統合を可能にするため、ユーザーにとって大きな利点である。仮想マシンは、通常、ハイパーバイザー、管理パーティション又はそれらの組み合わせ内に位置するストレージ仮想化を処理するモジュールを介してストレージにアクセスする。このモデルでは、仮想マシンは、通常、参照により全体としてその内容が本明細書に組み込まれる「パーティションバス」と題した米国特許出願第11/128,647号に記載される例示的なパーティションバスのようなパーティション間通信バスなどのソフトウェア通信経路を介してモジュールへストレージ入出力要求を送信する。
仮想マシンとハイパーバイザー(又は管理パーティション)との間の通信は、通信経路の実行及びメッセージを転送するときに発生するコンテキストスイッチによって、CPUサイクルコストを被る。したがって、CPUコストを減少させることによって入出力要求を処理する効率を高めるための技術が望まれる。
[0002]本開示の1つの実施例は方法について記載する。この例において、当該方法は、移行可能なストレージサービスをもたらすステップであって、当該移行可能なストレージサービスは子パーティションについての仮想ハードディスクの入出力要求を管理するように構成され、当該移行可能なストレージサービスはネットワークの独自のネットワーク識別子が割り当てられる、ステップと、ネットワーク内のストレージターゲットとして移行ストレージサービスを構成するステップとを含むが、これに限定されない。上記に加えて、他の態様が、特許請求の範囲、図面、及び本開示の一部を形成する記述に記載されている。
[0003]本開示の例示的な実施例は方法について記述する。この例において、方法は、子パーティションについての仮想ハードドライブディスク入出力要求を管理するように構成されたストレージサービスに、ネットワークアダプターの第1の一意のネットワーク識別子をアタッチ(attach)するステップと、ネットワークアダプターによってもたらされる仮想関数を子パーティションにアタッチするステップであって、当該仮想関数が第2の一意のネットワーク識別子を含む、ステップとを含むが、これに限定されない。上記に加えて、他の態様は、特許請求の範囲、図面、及び本開示の一部を形成する記述に記載される。
[0004]本開示の例示的な実施例は方法について記述する。この例において、当該方法は、子パーティションにおいてストレージサービスを実行するステップであって、当該ストレージサービスは第2の子パーティションについての仮想ハードドライブディスク入出力要求を管理するように構成され、当該記憶装置にネットワーク内で一意のネットワーク識別子が割り当てられる、ステップを含むが、これに限定されない。上記に加えて、他の態様は、特許請求の範囲、図面、及び本開示の一部を形成する記述に記載される。
[0005]当業者であれば、本開示の1つ又は複数の様々な態様が、本開示についての本明細書にて参照される態様を達成する回路及び/又はプログラミングに限定されず、当該回路及び/又はプログラミングが、システム設計者の設計の選択肢に応じて、本明細書にて参照される態様を達成するように構成された、ハードウェア、ソフトウェア、及び/又はファームウェアの実質的に任意の組み合わせであってもよいことを認識することができる。
[0006]上記は概要であり、したがって必然的に、単純化、一般化及び詳細についての省略を含んでいる。当業者であれば、この概要が例示的なものにすぎず、いかなるようにも限定的であるようには意図されていないことを理解するであろう。
[0007]本開示の態様を実施することができる例示的なコンピューターシステムを示す。 [0008]本開示の態様を実施するための動作環境を示す。 [0009]本開示の態様を実施するための動作環境を示す。 [0010]SR−IOVに準拠したネットワークデバイスを含むコンピューターシステムを示す。 [0011]仮想化環境でのメモリー間の関係を示す。 [0012]本開示の実施例を示す。 [0013]本開示の態様を説明するための動作環境を示す。 [0014]本開示の態様を実施するための動作手順を示す。 [0015]図8の動作手順の代替的な実施例を示す。 [0016]本開示の態様を実施するための動作手順を示す。 [0017]図10の動作手順の代替的な実施例を示す。 [0018]本開示の態様を実施するための動作手順を示す。 [0019]図12の動作手順の代替的な実施例を示す。
[0020]実施例は1つ又は複数のコンピューターシステム上で実行することができる。図1及び以下の説明は、本開示を実施することができる適切なコンピューティング環境の簡潔な一般的な説明を提供することを目的とする。
[0021]本開示にわたって使用される回路という用語は、ハードウェア割り込みコントローラー、ハードドライブ、ネットワークアダプター、グラフィックプロセッサー、ハードウェアベースの動画/音声コーデック、及びこのようなハードウェアを動作させるために使用されるファームウェアなどのハードウェアコンポーネントを含んでもよい。回路という用語はまた、マイクロプロセッサー、特定用途向け集積回路、及び/又は1つもしくは複数の論理プロセッサー、例えば、ファームウェア及び/又はソフトウェアによって構成されたマルチコアの一般的な処理装置の1つ又は複数のコアを含んでもよい。論理プロセッサーは、RAM、ROMなどのメモリー、ファームウェア、及び/又はマスストレージからロードされる機能を実行するように動作可能な論理を具体化する命令によって構成することができる。回路がハードウェアとソフトウェアの組み合わせを含む例示的な実施例において、開発者は、論理プロセッサーによって実行できるマシン読み取り可能なコードへとその後にコンパイルされる論理を具体化するソースコードを書いてもよい。当業者であれば、最先端の技術がハードウェアにより実施される機能とソフトウェアにより実施される機能との間にほとんど差がないところまで進化してきたことを理解することができるので、本明細書に記載される機能を達成するためのハードウェアとソフトウェアの選択は、設計上の選択にすぎない。換言すれば、当業者は、ソフトウェア処理を等価なハードウェア構造へと変換することができ、ハードウェア構造自体を等価なソフトウェア処理へと変換することができることを理解し得るので、ハードウェアによる実施とソフトウェアによる実施との選択は開発者に委ねられる。
[0022]図1を参照すると、例示的なコンピューティングシステム100が示されている。コンピューターシステム100は、論理プロセッサー102、例えば、実行コアのハイパースレッドを含んでもよい。1つの論理プロセッサー102が示されているが、他の実施例では、コンピューターシステム100は、複数の論理プロセッサー、例えば、プロセッサー基板及び/又は各々が複数の実行コアを持つことができる複数のプロセッサー基板あたり、複数の実行コアを有してもよい。図で示すように、様々なコンピューター読み取り可能な記憶媒体110は、様々なシステムコンポーネントを論理プロセッサー102に結合する1つ又は複数のシステムバスによって相互接続することができる。システムバスは、メモリーバスもしくはメモリーコントローラー、周辺バス、及び各種のバスアーキテクチャーうちの任意のものを使用するローカルバスを含む、幾つかの種類のバス構造のうちの任意のものであってもよい。例示的な実施例において、コンピューター読み取り可能な記憶媒体110は、例えば、ランダムアクセスメモリー(RAM)104、例えば電気機械ハードドライブ、固体ハードドライブなどの記憶装置106、ファームウェア108、例えばフラッシュRAM又はROM、例えばCD−ROM、フロッピーディスク、DVD、フラッシュドライブ、外付け記憶装置などの取り外し可能な記憶装置118を含んでもよい。取り外し可能な記憶装置は、磁気カセット、フラッシュメモリーカード、デジタルビデオディスク、ベルヌーイカートリッジなどの、他の種類のコンピューター読み取り可能な記憶媒体を使用できることが当業者にとって理解されるべきである。
[0023]コンピューター読み取り可能な記憶媒体110は、プロセッサー実行可能な命令122の不揮発性及び揮発性の記憶装置、データ構造、プログラムモジュール、及びコンピューター100のための他のデータを提供することができる。起動中にコンピューター・システム100内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム(BIOS)120は、ファームウェア108に格納することができる。多くのプログラムを、ファームウェア108、記憶装置106、RAM104、及び/又は取り外し可能な記憶装置118に格納することができ、また、オペレーティングシステム及び/又はアプリケーションプログラムを含む論理プロセッサー102によって実行することができる。
[0024]コマンド及び情報は、キーボード及びポインティングデバイスを含み得るがこれらに限定されない入力装置116を介してコンピューター100によって受信されてもよい。他の入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、スキャナーなどを含んでもよい。これら及び他の入力装置は、システムバスに結合され、しばしばユニバーサルシリアルバスポート(USB)などの他のインターフェイスによって接続される、シリアルポートインターフェースを介して論理プロセッサー102に接続することができる。ディスプレイや他の種類の表示装置はまた、グラフィックプロセッサー112の一部であるか又はグラフィックスプロセッサー112に接続することができる、ビデオアダプターなどのインターフェースを介してシステムバスに接続することができる。ディスプレイに加えて、コンピューターは、通常、スピーカーやプリンターなどの他の周辺出力装置(図示せず)を含む。図1の例示的なシステムはまた、ホストアダプター、小型コンピューターシステムインターフェース(SCSI)バス、及びSCSIバスに接続された外部記憶装置を含んでもよい。
[0025]コンピューターシステム100は、リモートコンピューターへの論理接続を使用してネットワーク環境で動作することができる。リモートコンピューターは、別のコンピューター、サーバー、ルーター、ネットワークPC、ピアデバイス又は他の共通ネットワークノードであってもよく、通常、コンピューターシステム100に関連して上述した要素のうちの多く又はすべてを含んでもよい。
[0026]LAN又はWANネットワーキング環境で使用される場合、コンピューターシステム100は、ネットワークインターフェースカード114を介してLAN又はWANに接続することができる。内蔵であっても又は外付けであってもよいNIC114は、論理プロセッサーに接続することができる。ネットワーク環境において、コンピューターシステム100に関連して示したプログラムモジュール又はその一部は、リモートメモリー記憶装置に格納することができる。ここで説明するネットワーク接続が例示的なものであって、コンピューター間の通信リンクを確立する他の手段を使用することができることが理解されるであろう。さらに、本発明の多数の実施例は特にコンピューター化されたシステムに適していることを想定しているが、本明細書のいかなる記載も本発明をそのような実施例に限定することを意図されてはいない。
[0027]図2及び3を参照すると、仮想マシンをもたらすように構成されたコンピューターシステム200及び300の高レベルのブロック図を示す。本開示の例示的な実施例において、コンピューターシステム200及び300は、図1に記載した要素を含んでもよく、仮想マシンを達成するように動作可能なコンポーネントを含んでもよい。図2に移ると、1つのそのようなコンポーネントは、当技術分野で仮想マシンモニターと呼ばれることもあるハイパーバイザー202である。図示された実施例のハイパーバイザー202は、コンピューターシステム100のハードウェアへのアクセスを制御して解決するように構成されてもよい。概して、ハイパーバイザー202は、パーティションと呼ばれる実行環境、例えば仮想マシン、を生成することができる。実施例において、子パーティションは、ハイパーバイザー202によってサポートされる分離の基本単位と見なすことができる。すなわち、各々の子パーティション(246及び248)は、ハイパーバイザー202及び/又は親パーティションの制御下にあるハードウェア資源の組、例えばメモリー、デバイス、論理的なプロセッサーサイクルなど、にマッピングすることができ、ハイパーバイザー202は、別のパーティションのリソースへのアクセスから1つのパーティション内の処理を分離することができ、例えば、1つのパーティション内のゲストオペレーティングシステムは、別のパーティションのメモリーから分離することができる。実施例において、ハイパーバイザー202は、スタンドアロンのソフトウェア製品、オペレーティングシステムの一部であってもよく、マザーボードのファームウェアに埋め込まれてもよく、特殊な集積回路であってもよく、又はこれらの組み合わせであってもよい。
[0028]図示された例において、コンピューターシステム100は、オープンソースコミュニティにおけるドメイン0に類似したものとも考えることができる、親パーティション204を含む。親パーティション204は、通常はオープンソースコミュニティのバックエンドドライバーと呼ばれる仮想化サービスプロバイダー228(VSPに)を使用して、子パーティションにおいて実行されるゲストオペレーティング・システムにリソースを提供するように構成することができる。この例のアーキテクチャーにおいて、親パーティション204は、基盤となるハードウェアへのアクセスをゲート制御することができる。概して、VSP228は、仮想サービスクライアント(VSC)(通常、オープンソースコミュニティのフロントエンドドライバーと呼ばれる)によって、ハードウェア資源へのインターフェースを多重化するのに使用することができる。各々の子パーティションは、ゲストオペレーティングシステム220から222がその上で実行するスレッドを管理しスケジュールすることができる、仮想プロセッサー230から232などの1つ又は複数の仮想プロセッサーを含んでもよい。一般に、仮想プロセッサー230から232は、特定のアーキテクチャーを備えた物理プロセッサーの表現を提供する実行可能な命令及び関連する状態情報である。例えば、1つの子パーティションがIntel x86プロセッサーの特徴を有する仮想プロセッサーを有し得る一方、別の仮想プロセッサーはPowerPCプロセッサーの特徴を有してもよい。この例における仮想プロセッサーは、命令についての仮想プロセッサーの実行が論理プロセッサーによってバックアップされるように、コンピューターシステムの論理プロセッサーにマッピングすることができる。したがって、これらの例示的な実施例では、たとえば、別の論理プロセッサーがハイパーバイザーの命令を実行している間に、複数の仮想プロセッサーが同時に実行することができる。仮想プロセッサー、様々なVSC、及びパーティション内のメモリーの組み合わせを、仮想マシンと考えることができる。
[0029]ゲストオペレーティングシステム220から222は、例えば、マイクロソフト(登録商標)、アップル(登録商標)、オープンソースコミュニティからオペレーティングシステムなどの任意のオペレーティングシステムを含んでもよい。ゲストオペレーティングシステムは、動作のユーザー/カーネルモードを使用することができ、スケジューラー、メモリーマネージャーなどを含み得るカーネルを有してもよい。各ゲストオペレーティングシステム220から222は、ターミナルサーバー、電子商取引サーバー、電子メールサーバーなど、及びゲストオペレーティングシステム自体などの、格納されたアプリケーションを有し得る関連付けられたファイルシステムを有してもよい。ゲストオペレーティングシステム220から222は仮想プロセッサー230から232上で実行するスレッドをスケジュールすることができ、そのようなアプリケーションのインスタンスを達成することができる。
[0030]ここで図3を参照すると、図2における上記のものに対する代替的なアーキテクチャーを示す。図3は図2と同様のコンポーネントを示す。しかし、この例示的な実施例において、ハイパーバイザー202は、仮想化サービスプロバイダー228及びデバイスドライバー224を含んでもよく、親パーティション204は設定ユーティリティ236を含んでもよい。このアーキテクチャーにおいて、ハイパーバイザー202は、図2のハイパーバイザー202と同一又は類似の機能を実行することができる。図3のハイパーバイザー202は、スタンドアローンのソフトウェア製品、オペレーティングシステムの一部であってもよく、マザーボードのファームウェア内に埋め込まれてもよく、また、ハイパーバイザー202の一部は、特殊な集積回路によって達成することができる。この例では、親パーティション204は、ハイパーバイザー202を設定するために使用できる命令を有してもよいが、ハードウェアへのアクセス要求は親パーティション204に渡される代わりにハイパーバイザー202によって扱われてもよい。
[0031]本開示の実施例において、参照によりその全体が明確に本明細書に組み込まれる「単一ルート入出力仮想化仕様」リビジョン1.0に準拠したネットワークアダプターは、図面に記載されるものなどのコンピューター・システムにインストールすることができる。例示的なアダプターは、インテル(登録商標)の「ギガビットETデュアルポートサーバーアダプター」であってもよい。SR−IOV対応のネットワークデバイスは、物理的な機能に対するインターフェースを仮想化することによって、例えば仮想マシン間の入出力アダプター又は任意の他の処理を共有することができるハードウェアデバイスである。仮想関数(VF)としても知られる各々の仮想インターフェースは、おおまかに言って、コンピューターシステムのPCI−Expressバス上の別個のネットワークインターフェースカードのように見える。たとえば、各仮想関数は、エミュレートされたPCI設定スペースと、独自のネットワーク識別子、例えば、メディアアクセス制御アドレス(MACアドレス)、ワールドワイドな名前(world wide name)などを有してもよい。したがって、各仮想関数は、物理関数へアクセスするために、一意にアドレス指定され、強力に分離された別個のパスをサポートすることができる。
[0032]図4に目を向けると、SR−IOVに準拠したアダプター402(「アダプター」)を含むコンピューターシステム400を示す。上記のものと同様に、コンピューターシステム400は、図1−3に関して上記と同様のコンポーネントを含んでもよい。アダプター402は、ネットワーク及び内部ルーター412に接続することができる、ポートに対応できる物理関数410を含んでもよい。内部ルーター412は、例えば、各々が仮想ポートを備えた仮想アダプターなど、仮想関数404又は406に割り当てられるものなどの、アダプター402のネットワーク識別子420から424へ、又はそれらから、データをルーティングするように構成することができる。
[0033]例示的な実施例において、ネットワークアダプター402はイーサネット(登録商標)アダプターであってもよく、仮想関数は仮想イーサネットアダプターであってもよい。この例では、仮想関数の一意の識別子はイーサネットMACアドレスである。ファイバーチャネルの例では、アダプター402はファイバーチャネルホストバスアダプターであってもよく、仮想関数は、ワールドワイドノード名及びワールドワイドポート名を含むワールドワイド名を有する仮想ファイバーチャネルホストバスアダプターであってもよい。インフィニバンド(商標)の例では、仮想関数は、グローバル識別子を有する仮想インフィニバンドエンドポイントであってもよい。
[0034]ネットワーク識別子424は、ファイバーチャネルホストバスアダプター又はイーサネットアダプターなどの特定のネットワークアダプターが複数の一意の識別子が単一の物理ポートを共有することを可能にすることを示し、破線で示される。ファイバーチャネルでは、この能力は、NポートID仮想化又はNPIVと呼ばれ、イーサネットにおいて、アダプターはプロミスキャス(promiscuous)モードと呼ばれるものにおいて動作し、埋め込まれた仮想スイッチを含み、又は、メモリーバッファーを分離するために、特定のMACアドレスに対してアドレス指定されるデータをフィルタリングしルーティングしてもよい。
[0035]各々のネットワーク識別子は、ネットワークを介して送信できるように情報をフォーマットするように構成されたソフトウェアプロトコルスタック(414−418)に関連付けることができる。特定のTCP/IPの例において、プロセスは、アプリケーション層のポートを介してTCP/IPスタックのアプリケーション層のインスタンスに結合することができる。最終的に、プロトコルスタックの異なる機能によって処理される情報は、ファブリックを介して送信できるデータのフレームの組立を担当しているメディアアクセス制御層として知られるものに存在する、一群の関数によって処理することができる。プロトコルスタックのこの層は、ネットワーク上で送信されるフレームに、仮想関数のためのメディアアクセス制御アドレスを追加する。その後、プロトコルスタックは、フレーム内の情報を電気信号に変換してネットワークへ当該フレームを送信するように構成される物理層に、組み立てられたフレームを渡す。
[0036]入出力メモリー管理ユニット426(I/O−MMU)は、PCI−Expressインターコネクトなどの直接メモリーアクセス動作をRAMに対して実行できる入出力相互接続を結合するために使用することができる。本開示の実施例において、I/O−MMU426は、パーティションからのゲスト物理アドレスをシステム物理アドレスに変換するハイパーバイザー202からのページテーブルを含んでもよい。I/O−MMU426は、コンピューターシステム400内の複数の位置に存在することができることを示し、破線で示される。たとえば、I/O−MMUは、マザーボード上のチップ又は論理プロセッサーのコンポーネントであってもよい。
[0037]図5は、本開示の実施例における、ゲスト物理アドレスとシステム物理アドレスとの間の関係を示す。ゲストメモリーはハイパーバイザー202によって制御されるメモリーの表示である。ゲストメモリーはゲストオペレーティングシステムに割り当てられ、それらのメモリーマネージャーによって制御することができる。ゲスト物理アドレスは、システムの物理アドレス(SPA)、例えばハイパーバイザー202によって管理される物理的なコンピューターシステムのメモリー、によってバックアップすることができる。図面によって示すように、実施例において、GPA及びSPAは、メモリー・ブロック、例えば、メモリーの1つ又は複数のページ、へと配置することができる。GPAとSPAとの関係は、その内容が参照により全体として本明細書に組み込まれる、「強化されたシャドウページテーブルアルゴリズム」なるタイトルの、同一出願人による米国特許出願第11/128,665号に記載されるものなどのシャドウページテーブルによって維持することができる。動作において、ゲスト・オペレーティングシステムがGPAブロック1内にデータを格納するとき、データは実際にはシステム上のブロック6などの異なるSPAに格納することができる。本開示の実施例において、I/O−MMU426は、1つのGPA空間から別のGPA空間に直接的にストレージデータを移動するために、入出力動作中に変換を行うことができる。この実施例では、論理プロセッサーサイクルは、これらの変換を達成するための命令をハイパーバイザーにおいて実行する必要なくして、保存することができる。
[0038]図6は仮想ストレージターゲットオフロード技術を記述する高レベルの動作環境を示す。図6は、SR−IOVネットワークアダプター402とその仮想関数406を介してストレージの仮想化クライアント604と通信する、仮想マシンストレージサービス602を示す。図に示すように、本開示のこの実施例において、SR−IOVネットワークアダプター402は、ソフトウェア通信経路をバイパスすることにより、仮想マシンと仮想マシンのストレージサービスとの間の入出力を伝送するために使用することができる。これは、仮想マシンの入出力を実行するために使用されるCPUサイクルの量を減らし、ストレージ・サービス602に移行する能力を高め、潜在的に、親パーティションにおいて実行されるホストオペレーティングシステムの負担及び/又はハイパーバイザー202の負担を低減する。
[0039]仮想マシンストレージサービス602は、SANによって提供される論理ユニット番号(LUN)、例えば、子パーティションの代わりに他のストレージ仮想化技術によって既に仮想化されてもよいダーク(dirk)、などの物理的な記憶装置と通信するように構成することができる。1つの例では、これは、仮想マシンから入出力要求を受信しLUNへルーティングするように、仮想マシンストレージサービス602を構成することを含んでもよい。別の例では、LUNがサブ割り当てされる場合、仮想マシンストレージサービス602は、仮想ハードドライブを生成し、仮想マシンにそれらを公開(エクスポーズ)し、LUN又は物理ドライブ上の仮想ハードドライブ(VHD)ファイルとしてそれらを格納するように構成することができる。VHDファイルは単一のファイル内にカプセル化することができる仮想マシンハードディスクを表す。仮想マシンストレージサービス602は、ファイルを解析し、物理的なストレージであるかのようにゲストオペレーティングシステム220にさらすことができるディスクをもたらすことができる。仮想マシンストレージサービス602によって生成された仮想ハードディスクは、ローカルであるように見えるような方法でゲストオペレーティングシステムにアクセス可能であるバスに対して表すことができる。
[0040]本開示の実施例において、仮想マシンストレージサービス602は、一意のネットワーク識別子を仮想マシンストレージサービス602に付加し、例えば、データセンター内のストレージターゲットとして仮想マシンストレージサービス602をアドバタイズするために使用されるストレージターゲットパラメーターを設定することによって、ネットワーク内のファイバーチャネルターゲット又はインターネットスモールコンピューターシステムインターフェース(iSCSI)ターゲットなどの、ストレージターゲットであるように構成することができる。iSCSIの例示的な環境において、仮想マシンストレージサービス602は、インターネットプロトコルを介して子パーティションにアクセス可能なLUNをもたらすことによって、iSCSIターゲットを実施することができる。仮想マシンストレージクライアント604又はゲストオペレーティングシステムは、仮想マシンストレージサービス602のアドレスを取得することができ、SCSIハードディスクへの接続をエミュレートする接続を設定することができる。SCSI又はハードドライブ及び仮想マシンストレージサービス602が子パーティションに仮想ハードドライブを提供するのと同じ方法で、仮想マシンストレージクライアント604は仮想マシンストレージサービス602を扱うことができる。この例では、仮想マシンストレージクライアント604は、ネットワークファイルシステム環境で行われるようにリモートディレクトリーをマウントする必要なく、仮想マシンストレージサービス602によって提供される仮想ディスク上のファイルシステムを直接的に作成及び管理することができる。ゲストOS220の観点から、それはハードドライブと同様の方法で機能する1つ又は複数の論理ユニットに結合されるネットワークに結合されたネットワークアダプターを有する。
[0041]図7は、本開示の態様を実施するための例示的な動作環境を示す。図6と同様に、1つ又は複数のSR−IOVネットワークアダプターが、仮想マシンと仮想マシンストレージサービスとの間の入出力を転送するために使用することができ、これによって、ソフトウェア通信パスを使用して入出力を送信する必要性をなくすことができる。これにより、仮想マシンの入出力を実行するために使用されるCPUサイクルの量が低減され、ストレージサービス602に移行する能力が高められ、ホストオペレーティングシステム上の負担及び/又はハイパーバイザー202上の負担が潜在的に低減される。
[0042]この例の環境においては、2つのコンピューターシステム700及び702を含むデータセンターがスイッチ704に接続されて図示されている(2つのコンピューターシステムが示されるが、当業者であれば、データセンターがより多くのコンピューターシステムを有し得ることを理解することができる)。コンピューターシステム700及び702は図1−4に記載されるものと同様のコンポーネントを有してもよく、スイッチ704は相互接続されたスイッチ及びルーターの全体的なインフラストラクチャーであってもよい。さらに、コンピューターシステム700及び702は、本明細書に開示される技術をより明確に説明するために、特定の機能を含むように示されており、本発明は、示されたトポロジーにおいて実施されるものには限定されない。
[0043]コンピューターシステム700は、本明細書に記載された技術に従ってストレージサービス602に移行するように構成されるマネージャー250を含んでもよく、したがって、仮想マシンストレージサービス602は、同一の又は異なるコンピューターシステムにおいて1つのパーティションから別のパーティションに移行することができることを示すように点線で示される。仮想関数706及び708は、特定の実施例において仮想マシンストレージサービス602が仮想関数を介してアクセスする必要なしにSR−IOVアダプター402とインターフェースすることができることを示すように、点線で示される。この例示的な実施例において、親パーティション204及び712は物理ハードウェアの制御を有することができ、仮想関数は必要とされない。
[0044]続けて図面について概括すると、仮想マシンストレージサービス602は、本開示の実施例において、割り当てられた一意の識別子を抽出し、任意の必要な状態情報と共に当該識別子を異なるパーティションに移動することによって、移行させることができる。1つの例では、このプロセスは、マネージャー250を実行する論理プロセッサーが一意の識別子を抽出すること、マネージャー250を実行する論理プロセッサーが、アダプター(402又は718)に、異なるパーティションにおける仮想関数に一意の識別子を加えるよう指示すること、及び、マネージャー250を実行する論理プロセッサーが、仮想マシンストレージサービス602のインスタンスに、それ自身を仮想関数に加えることを含んでもよい。別の例において、このプロセスは、マネージャー250を実行する論理プロセッサーが一意の識別子を抽出すること、マネージャー250を実行する論理プロセッサーが、アダプター(402又は718)に、当該アダプター(402又は718)に一意の識別子を付加するよう指示すること、及び、マネージャー250を実行する論理プロセッサーが、ファブリック上で通信するために一意の識別子を使用するよう、異なるパーティションにおいてインスタンスを作成された仮想マシンストレージサービス602のインスタンスに指示することを含んでもよい。
[0045]以下は動作手順を示す一連のフローチャートである。理解を容易にするために、フローチャートは、最初のフローチャートが全体の「全体像」の視点を介して実施を示し、後続のフローチャートがさらなる追加及び/又は詳細を提供するように構成される。さらに、当業者であれば、破線で描かれた動作が任意のものであると考えられることを理解することができるであろう。
[0046]図8を参照すると、本開示の態様を実施するための動作手順が示される。図に示すように、動作800が動作手順を開始し、動作802は移行ストレージサービスを達成する(effectuate)ことを示し、当該移行可能なストレージサービスは子パーティションについての仮想ハードディスク入出力要求を管理するように構成され、移行可能なストレージサービスにはネットワークについての一意のネットワーク識別子が割り当てられる。例えば、図6に移ると、仮想マシンストレージサービス602などの移行可能なストレージサービスは、コンピューターシステムによって達成することができる。つまり、仮想マシンストレージサービス602を示す命令は論理プロセッサーによって実行することができる。仮想マシンストレージサービス602は、一意のネットワーク識別子に接続され、1つのパーティションから別のものへと、それ自体によって、すなわち他の管理モジュールを移動させることなく、移動させることができるので、仮想マシンストレージサービス602は移行可能であると考えられる。
[0047]例示的な実施例において、仮想マシンストレージサービス602はネットワーク上で一意の識別子を排他的に使用することができる、例えば、それは、データセンター内の一意のネットワークアドレスを使用して通信する唯一のプロセスであってもよい。この例において、仮想マシンストレージサービス602は、状態情報が異なるパーティションに送信されて仮想マシンストレージサービス602の別のインスタンスを構成するのに使用できるように、自身の状態をシリアル化する(serialize)ように構成することができる。別の例示的な実施例において、仮想マシンストレージサービス602は、仮想関数に接続される仮想マシンにおいて実行することができる。この例では、仮想マシンストレージサービス602はまた、一意の識別子を使用してネットワークにおいて排他的に通信することができる。仮想マシンストレージサービス602を移行させることは、仮想マシンストレージサービス602を含む仮想マシンの状態をシリアル化すること、及びそれを別のパーティションに送信することを含んでもよい。
[0048]具体的な例では、図7に移ると、仮想マシンストレージサービス602は、親パーティション204から子パーティション246へ移行させることができる。この特定の例では、論理プロセッサーはマネージャー250を実行することができる、すなわち、論理プロセッサーは、マネージャー250を示す命令を実行することができ、データセンター内で通信するために、仮想マシンストレージサービス602によって使用される一意の識別子を抽出することができる。その後、当該一意の識別子は子パーティション246に送信することができ、仮想マシンストレージサービス602のインスタンスを開始することができる。アダプター402中のルーティングテーブルを更新することができ、入出力要求は、親パーティション204の代わりに、子パーティション246へと、アダプター402によってルーティングすることができる。この例では、子パーティション246は、既に使用されている任意の他の一意の識別子に加えて一意の識別子を使用するように構成することができる。
[0049]図8の説明を続けると、動作804は、移行ストレージサービスをネットワーク内のストレージターゲットとして設定することを示す。例えば、本開示の実施例において、仮想マシンストレージ・サービス602は、データセンター内のストレージターゲットであるように構成することができる。上記と同様に、仮想マシンストレージサービス602は、ネットワーク内で一意のネットワーク識別子に接続され、ゲストOS220によってストレージターゲットとして検出することができる。通信セッションをゲストOS220と仮想マシンストレージサービス602との間に開くことができ、ゲストOS220は、仮想マシンストレージサービス602によって公開される仮想ハードドライブを検出し、ローカルハードドライブであるかのように仮想ディスクを使用することができる。特定の例において、仮想マシンストレージサービス602は、上述のようにiSCSIターゲットをエミュレートすることができる。この例では、仮想マシンストレージサービス602は、物理ディスクの代わりに仮想ディスクを公開することができ、LUN又は物理ディスクに対して読み取り又は書き込みをすることによって仮想マシンからの入出力を処理することができる。
[0050]図9に移ると、図8の動作手順の代替的な実施例が示されている。動作906は、移行可能なストレージサービスをリモートコンピューターシステムへ移行させることを示す。例えば、図6に目を向けると、実施例において、移行可能なストレージサービス、たとえば仮想マシンストレージサービス602は、データセンター内のリモートコンピューターシステムに移行させることができる。例えば、1つの実施例において、リモートコンピューターシステムは、仮想マシンストレージサービス602を現在ホスティングしているコンピューターシステムよりも多くの入出力帯域幅を利用可能にしてもよく、ストレージサービス602を移動する決定をすることができる。この例では、論理プロセッサーは、マネージャー250を実行し、ストレージサービス602に割り当てられる一意の識別子を抽出し、それをリモートコンピューターに送信することができる。その後、リモートコンピューターのマネージャー250は、ストレージサービス602のインスタンスに一意の識別子を付加することができる。
[0051]特定の例において、図7に目を向けると、仮想マシンストレージサービス602は、子パーティション246から親パーティション712へと移行させることができる。この特定の例において、コンピューターシステム700のマネージャー250は、仮想マシンストレージサービス602に付加された一意の識別子を抽出し、それをコンピューターシステム702に送信することができる。コンピューターシステム702のマネージャー250は、論理プロセッサー上で実行することができ、親パーティション712において実行される仮想マシンストレージサービス602のインスタンスに一意の識別子を付加することができる。この例において、仮想ストレージサービス602は、仮想関数708を使用して又は使用せずに子パーティション246において仮想マシンストレージサービス602によってサービスを提供されたクライアントからの入出力を送信/受信するときに、一意の識別子を使用することができる。
[0052]この特定の例において、仮想マシンストレージサービス602の状態情報及びプロトコルスタックは、入出力サービスを中断することができないように、コンピューターシステム702に送信することができる。たとえば、コンピューターシステム700のプロトコルスタックの少なくとも機能的に等価な状態を反映するよう、コンピューターシステム702のマネージャー250がプロトコルスタックを構成することを可能にするのに十分な情報を、コンピューターシステム702に送信することができる。状態情報は、送信されることになっている次のパケットの数(番号)、使用されるソケット番号、最大バッファーサイズ、サーバーのポート番号、クライアントのポート番号などを含んでもよい。状態情報はまた、より高レベルのプロトコル情報などの情報を含んでもよい。他の例は、使用される暗号化プロトコルに関連する情報であってもよい。
[0053]この例示的な実施例においては、クライアントの観点から接続が断たれる代わりに休止されたため、クライアントに対するサービスは中断されずに動作する。例えば、仮想マシンストレージサービス602が移行される場合、プロトコルスタックは、例えば現在の動作を完了させるか又はキャンセルすることによって、それが実行している現在の動作を終えることができ、必要に応じて、プロトコルが短い期間の間情報を送信することを控えることを要求する仮想マシンストレージクライアント604にバインドされるプロトコルに対して、バックオフメッセージを送信することができる。コンピューターシステム702上のプロトコルスタックがインスタンス化される場合、それは、コンピューターシステム700のプロトコルスタックと同等の状態を有することができ、以前にコンピューターシステム700に関連付けられていた一意の識別子を用いてネットワーク上で通信することができる。コンピューターシステム702上で新たに設定されたプロトコルスタックは、必要に応じて再開(resume)メッセージを送信するよう構成することができ、仮想マシンストレージクライアント604にサービス提供するプロトコルは入出力の送信を再開することができる。スイッチ704は、コンピューターシステム702上の仮想マシンストレージサービス602にプロトコルメッセージが送信されるように、ルーティングを解決することができる。
[0054]図9の説明を続けると、動作908は、子パーティションについての入出力要求に関連付けられるゲスト物理アドレスをシステムの物理アドレスへ変換するように、入出力メモリー管理ユニットを構成することを示す。例えば、図7を参照すると、本発明の実施例において、コンピューターシステム700の入出力メモリー管理ユニット426は、ゲスト物理アドレスをシステム物理アドレスに変換するために使用することができる。たとえば、ゲストオペレーティングシステム220が入出力動作、例えば読み取り又は書き込み、を開始する場合、ゲストオペレーティングシステム220は、システム物理アドレスに変換する必要があり得るゲスト物理アドレスを含むコマンドを生成する。例示的な実施例において、これらの変換はMMUの代わりにI/O−MMU426において生じてもよい。I/O−MMU426にメモリー変換をオフロードすることによって、ハイパーバイザー202及び/又は親パーティション204の負担が低減される。たとえば、ゲストOS220は、ディスクオフセットをゲストメモリーアドレスへ読み込む要求を含む、読み取り動作を発行することができる。この例では、入出力メモリー管理ユニット426は、子パーティション248のゲストメモリーアドレスをシステムアドレスにマッピングするテーブルを使用することができ、ゲストが読み取りを始めることを望むゲストメモリーアドレスを物理的に支持するシステムアドレスへとゲストメモリーアドレスに変換することができる。仮想マシンストレージサービス602は、要求を受信し、クライアントが要求する情報を取得し、以前に要求されたデータを含む応答メッセージを提供することができる。当該応答はゲストメモリーアドレスとして指定されたバッファー内に提供することができ、その場合、アダプター402及びI/O−MMU426は提供されたゲストメモリーアドレスをシステム物理アドレスに変換することができ、次いで、アダプター402は、クライアントの要求を満たすために、応答バッファーからの応答データを要求バッファーにコピーすることができる。
[0055]この技術は、クライアントが仮想マシンストレージサービス602と同じ物理コンピューター上にある場合に周辺装置によって実行されるメモリー間直接メモリーアクセス(DMA)動作に類似する。この例示的な実施例において、ネットワークアダプター402は、システム物理アドレスの1つのブロックから情報を取り出し、それを、仮想マシンストレージクライアント604又は仮想マシンストレージサービス602に代わってシステム物理アドレスの別のブロックに移動するので、入出力動作はメモリー間のDMA動作に類似したものとなり得る。特定の例は、仮想マシンストレージクライアント604によって発行される読み取り動作を含んでもよい。この例では、仮想マシンストレージクライアント604は、それが制御するメモリーページに読み込むことを望むストレージデータのページを指定する、読み取り動作を発行することができる。この例では、データのページは、要求を満たすために、仮想マシンストレージサービス602によって使用されるページへとコピーされ、次いで、仮想マシンストレージクライアント604によって指定されたメモリーページに当該データをコピーする。
[0056]図9の説明を続けると、動作910は、子パーティションから入出力ジョブ要求を受信することを示し、当該子パーティションは、ネットワークの第2の一意のネットワーク識別子を含む仮想関数に接続される。たとえば、図6に示すように、実施例において、子パーティション248は仮想関数406を含んでもよい。この例では、子パーティション248は仮想関数406を介してSR−IOVアダプター402に排他的にインターフェースすることができ、入出力要求を送信することができる。アダプター402は、コマンドが仮想マシンストレージサービス602に関連付けられた一意の識別子にアドレス指定されていると判断して、それに対してコマンドを送信することができる。この場合、子パーティション248からの入出力コマンドは、ハイパーバイザー202又はパーティション間の通信インターフェースを介して要求を送信させることなく、仮想マシンストレージサービス602に送信することができる。さらに、アダプター402は、どのメモリーページをバッファーとして使用するか、従って、どのアドレス空間の間でデータをコピーするか、を決定する際に、クライアント604及び仮想マシンストレージサービス602の一意の識別子を使用することができる。
[0057]具体的な例において、入出力要求は、(ゲスト物理アドレスにおける)データの位置及びデータが書き込まれるべき仮想ハードドライブ上の位置を指定する、書き込み動作であってもよい。この例において、ストレージ仮想化クライアント604は、仮想マシンストレージサービス602の一意の識別子に宛てた情報の1つ又は複数のパケットに、当該要求を配置することができる。この例では、アダプター402は、要求を受信して仮想マシンストレージサービス602に送信することができる。アダプター402は、さらに、データを子パーティションのゲスト物理アドレスから仮想マシンストレージサービス602に割り当てられるシステム物理アドレスに移動することができる。つまり、アダプター402及びI/O−MMU426は、送信バッファー及び受信バッファーの両方をゲスト物理アドレスからシステム物理アドレスへ変換するようにこうせいすることができ、アダプター402は、その後、システム物理アドレスの観点から内部で、データを内部の送信バッファーから受信バッファーにコピーすることができる。その後、仮想マシンストレージサービス602は、その仮想ハードドライブの実施と一貫した適切な位置にデータを格納することができる。当業者であれば理解することができるように、これは仮想ハードドライブファイルを使用することを含んでもよく、LUN上にデータを格納することを含んでもよく、又は、おそらくは冗長的に、データを格納するための他の技術及び位置を含んでもよい。
[0058]図9の説明を続けると、動作912は、第1のパーティションにおいて移行可能なストレージサービスを実行すること、第2のパーティションにおいて仮想マシンを管理するように構成される管理サービスを実行することを示し、子パーティションは第3のパーティションである。例えば、1つの実施例において、仮想マシンストレージサービス602は子パーティション246などの第1のパーティションにおいて実行することができ、親パーティション204は管理サービスを実行することができ、仮想マシンストレージクライアント604はパーティション248において実行することができる。この例示的な実施例では、仮想マシンストレージサービス602は、管理プロセスとは別個のパーティションにある。この構成において、子パーティション246は、SANターゲットのように動作する専用のストレージパーティションのように効果的に動作してもよい。この構成により、ハイパーバイザー202及び親パーティション上の負担を低減することができる。たとえば、親パーティションからストレージサービスを分離することによって、オペレーティングシステム内のロッキング(locking)を低減することができる。さらに、このようにしてコンピューターシステムを構成することにより、ハイパーバイザースケジューラー上の負担は、パーティション間で送信する必要があるメッセージの数を減らすことによって低減される。
[0059]図9の説明を続けると、動作914は、移行可能なストレージサービスを一意のネットワーク識別子を含むネットワークアダプターの仮想関数と関連付けること、及びネットワークアダプターの第2の仮想関数に子パーティションを接続することを示す。例えば、図7に目を向けると、実施例において、仮想マシンストレージサービス602は、仮想関数404などの仮想関数に関連付けることができる。仮想マシンストレージサービス602が子パーティション246において実行される例において、仮想関数404は、制御された方法で、すなわち、子パーティション246における任意のプロセスがそのパーティションの外側にあるデータにアクセスしないことを確実にする方法で、アダプター402にアクセスするように使用することができる。さらに、仮想マシンのスナップショット動作を、仮想マシンストレージサービス602を移行するために使用することができる。
[0060]図9の説明を続けると、動作916は、子パーティションから入出力ジョブ要求を受信することに応答して論理プロセッサーに通知を送信すること、及び論理プロセッサーが移行可能なストレージサービスを実行していることを決定することを示す。例えば、1つの実施例において、入出力ジョブがソフトウェア処理を必要とする場合、ハイパーバイザー202は割り込みを受信して実行することができる。ハイパーバイザー202は、仮想マシンストレージサービス602を実行しているか又は実行することになっている論理プロセッサーを識別することができ、割り込み又は軽量の(lightweight)通知を送信することによって、その論理プロセッサーに通知することができる。仮想マシンストレージサービス602が子パーティションに位置する場合、割り込みは、メッセージを処理するために管理パーティションを開始する必要なしに、論理プロセッサーに送信することができる。仮想マシンストレージサービス602が現在コンテキストを実行している場合、仮想マシンストレージサービス602への切り替えは、生じる必要はなく、代わりに軽量な通知を使用することができるように、中断することもない。
[0061]図9の説明を続けると、動作918は、入出力トラフィックがネットワークアダプターを介して独自のネットワーク識別子と少なくとも1つの他の一意のネットワーク識別子との間で運ばれるときに、入出力トラフィックがセキュリティポリシーに準拠していることを決定することを示す。例えば、実施例において、アダプター402はネットワークトラフィックのセキュリティポリシーを含んでもよい。この例示的な実施例において、アダプター402は、仮想マシンストレージサービス602と例えば仮想マシンに付加される別の一意の識別子との間で送信される入出力トラフィックがセキュリティポリシーに従うことを決定するように構成することができる。特定の例において、セキュリティポリシーは、すべての入出力トラフィックが暗号化されることを必要とするかもしれない。この例では、アダプター402は、仮想ハードドライブへの書き込みが平文であるか暗号化されているかを決定するように構成することができる。別の例では、セキュリティポリシーは、仮想ローカルエリアネットワークが完全に別々に保持され、異なる仮想ローカルエリアネットワーク内のエンドポイント間でデータトラフィックが許可されないことを要求してもよい。
[0062]次に図10に移ると、動作1000、1002、及び1004を含む本開示の態様を実施するための動作手順を示す。動作1000は動作手順を開始し、動作1002は、ネットワークアダプターの第1の一意のネットワーク識別子を、子パーティションについての仮想ハードドライブディスク入出力要求を管理するように構成されたストレージサービスへ付加することを示す。例えば、図6に目を向けると、本開示の実施例において、SR−IOVアダプター402は、複数のネットワーク識別子をもたらすことができ、それらのうちの1つを仮想マシンストレージサービス602に割り当てることができる。ファイバーチャネルの例では、ファイバーチャネルホストバスアダプターは、複数の一意の識別子が同じポートで使用できるようにするために、NポートID仮想化又は(NPIV)を使用することができる。このファイバーチャネルの例では、仮想マシンストレージサービス602は、ファブリック上で通信するために、割り当てられたNPIVアドレスを排他的に使用することができる。
[0063]図10の説明を続けると、動作1004は、ネットワークアダプターによってもたらされる仮想関数を子パーティションに付加することを示し、仮想関数は第2の一意のネットワーク識別子を含む。例えば、再び図6を参照すると、SR−IOVアダプター402は、一意のネットワーク識別子を含む仮想関数406をインスタンス化して、仮想マシンに付加することができる。この例示的な実施例において、アダプター402は、ハイパーバイザー202をバイパスしてアダプターを介して入出力要求をストレージサービス602へルーティングするスイッチ、又は別個のパーティション間通信機構として機能するように構成される。今度はこれによって、パーティションに通知しパーティションを切り替えるために論理プロセッサー上で命令を実行するのに使用される時間を減らすことができる。
[0064]次に図11に移ると、追加の動作1106、1108、1110、1112、1114を含む図10の動作手順の代替的な実施例を示す。動作1106は、第1の一意のネットワーク識別子を含むように第2の仮想関数を構成する要求を、第2のネットワークアダプターを含むリモートコンピューターシステムへ送信することを示す。例えば、1つの実施例において、論理プロセッサーは、マネージャー250において命令を実行することができ、仮想マシンストレージ・サービス602に付加された一意のネットワーク識別子を含む別のアダプターを有するリモートコンピューターシステムにおいて仮想関数を構成する要求を生成することができる。図7に目を向けると、特定の例において、コンピューターシステム700のマネージャー250は、アダプター718を有するコンピューターシステム702へ、生成された要求を送信することができる。この例における要求は、仮想関数710をインスタンス化し、仮想マシンストレージサービス602のインスタンスに関連付けられた一意の識別子を含むように命じるために、コンピューターシステム702のマネージャー250によって使用することができる。
[0065]図11の説明を続けると、動作1108は、子パーティションにストレージサービスを移行すること、及び子パーティションに割り当てられる第2の仮想関数を、第1の一意のネットワーク識別子を使用するように構成することを示す。例えば、図7に目を向けると、論理プロセッサーは、マネージャー250を実行し、例えば親パーティション204から子パーティション246へと仮想マシンストレージサービス602を移行させることができる。この例では、論理プロセッサーは、マネージャー250を実行し、仮想マシンストレージサービス602に関連付けられる一意の識別子を抽出し、それをアダプター402に送信することができる。アダプター402は、仮想関数404をインスタンス化し、それに一意の識別子を付加することができる。その後、マネージャー250は、仮想マシンストレージサービス602のインスタンスに一意の識別子を付加することができる。この例示的な実施例において、仮想マシンストレージサービス602は、管理プロセスとは別個のパーティションにあり、事実上、iSCSIターゲットのように動作する専用のストレージパーティションとなっている。
[0066]動作1110に移ると、入出力メモリー管理ユニットによって、子パーティションからの入出力要求に関連付けられるゲスト物理アドレスをシステム物理アドレスに変換することを示す。例えば、図7を参照すると、本開示の実施例において、コンピューターシステム700の入出力メモリー管理ユニット426は、ゲスト物理アドレスをシステム物理アドレスに変換するために使用することができる。たとえば、ゲストオペレーティングシステム220が入出力動作、例えば読み取り又は書き込みを開始するとき、ゲストオペレーティングシステム220はゲスト物理アドレスを含むコマンドを生成する。この例では、入出力メモリー管理ユニット426は、子パーティション246のゲストメモリーアドレスを親パーティション204によって使用されるシステムアドレスにマッピングするテーブルを使用することができる。アダプター402及びI/O−MMU426は、送信バッファー及び受信バッファーの両方をゲスト物理アドレスからシステム物理アドレスに変換するように構成することができ、次いで、アダプター402は、内部の送信バッファーから内部の受信バッファーへデータをコピーすること及びその逆を行うことができる。
[0067]動作1112に移ると、入出力トラフィックが一意のネットワーク識別子と第2の一意のネットワーク識別子との間で運ばれるときに入出力トラフィックのセキュリティポリシーへの準拠を監視するようにネットワークアダプターを構成することを示す。例えば、実施例では、アダプター402はネットワークトラフィックのセキュリティポリシーを含んでもよい。この例示的な実施例において、アダプター402は、仮想マシンストレージサービス602と例えば仮想マシンに付加されるものなどの別の一意の識別子との間で送信される入出力トラフィックがセキュリティポリシーに準拠していることを決定するように構成することができる。特定の例は、特定の仮想マシンがネットワークにおいて特定の一意の識別子を使用して入出力を送信することを要求するセキュリティポリシーを含んでもよい。この例におけるアダプター402は、仮想マシンからの情報のパケットを監視し、それらがセキュリティポリシーに準拠しているかどうかを決定することができる。
[0068]動作1114に移ると、所定のしきい値を超える量の入出力要求がリモートコンピューターシステムから受信されたという決定に応答して、ストレージサービスをインスタンス化してストレージサービスに第1の一意のネットワーク識別子を割り当てる要求を、リモートコンピューターシステムに送信することを示す。例えば、本開示の1つの実施例において、論理プロセッサーは、マネージャー250を示す命令を実行して、仮想マシンストレージサービス602のインスタンスを作成してそれを一意の識別子に付加するようコンピューターシステム702などのリモートコンピューターシステムに指示する要求を送信することができる。論理プロセッサーは、入ってくる入出力要求に関連付けられた一意の識別子を監視し、しきい値を超える数の要求がコンピューターシステム702から受信されたことを決定した後に、この要求を生成することができる。特定の例において、マネージャー250は、過去30分にわたって入出力要求の60%がコンピューターシステム702に現在関連付けられる一意の識別子から受信されたと決定したかもしれない。この例では、マネージャー250は、仮想マシンストレージサービス602がコンピューターシステム702上でローカルに実行して、それを移行させる場合に、データセンターの性能を増加することができると決定することができる。
[0069]ここで図12に移ると、動作1200及び1202を含む動作手順が示される。動作1200は動作手順を開始し、動作1202は子パーティションにおいてストレージサービスを実行することを示し、記憶装置は第2の子パーティションについての仮想ハードドライブディスク入出力要求を管理するように構成され、記憶装置にはネットワーク内の独自のネットワーク識別子が割り当てられる。例えば、1つの実施例において、仮想マシンストレージサービス602は、子パーティション、例えば子パーティション246においてもたらすことができ、ネットワーク内の一意の識別子、例えばワールドワイドな名前を割り当てることができる。この例示的な実施例における子パーティション246は、ハイパーバイザー202及び/又は親パーティション204によって制御することができる。この構成において、子パーティション246は、事実上、iSCSIターゲットのように動作する専用のストレージパーティションとなり得る。
[0070]ここで図13に移ると、動作1304、1306、1308、1310、及び1312を含む図12の動作手順の代替的な実施例が示される。動作1304を見ると、所定のしきい値を超える量の入出力要求がリモートコンピューターシステムから受信されたという決定に応答して、ストレージサービスをインスタンス化してストレージサービスに第1の一意のネットワーク識別子を割り当てる要求をリモートコンピューターシステムに送信することを示す。例えば、本開示の1つの実施例において、論理プロセッサーは、マネージャー250を示す命令を実行し、仮想マシンストレージサービス602のインスタンスを作成してそれを一意の識別子に付加することをコンピューターシステム702などのリモートコンピューターシステムに指示する要求を送信することができる。論理プロセッサーは、入ってくる入出力要求に関連付けられた一意の識別子を監視し、しきい値を超える数の要求がコンピューターシステム702から受信されたと決定した後に、この要求を生成することができる。特定の例において、マネージャー250は、過去30分にわたる入出力要求の60%がコンピューターシステム702に現在関連付けられる一意の識別子から受信されたと決定するかもしれない。この例では、マネージャー250は、仮想マシンストレージサービス602がコンピューターシステム702上でローカルに実行して、それを移行させる場合に、データセンターの性能を増加することができると決定することができる。
[0071]図13の説明を続けると、動作1306はストレージサービスをハイパーバイザーへ移行することを示す。例えば、図7に目を向けると、実施例において、仮想マシンストレージサービス602はハイパーバイザー202に移行することができる。この例示的な実施例において、コンピューターシステム702は図3に示すものと同様のアーキテクチャーを有してもよく、ストレージ・サービス602を子パーティション246からハイパーバイザー202に移動させる決定がなされてもよい。この例では、論理プロセッサーは、マネージャー250を実行して仮想マシンストレージサービス602に関連付けられる一意の識別子を抽出することができ、ハイパーバイザー202は、仮想マシンストレージサービス602のインスタンスにそれを付加するることができる。例示的な実施例において、ハイパーバイザー202はハードウェアを制御するので、それは、アダプター402の物理的な機能にアクセスするように構成することができる。ファイバーチャネルの例においては、ファイバーチャネルホストバスコントローラーは、アダプター402を介して入出力コマンドを送受信するべく、一意の識別子を使用するためにNPIVを使用することができる。
[0072]図13の説明を続けると、動作1308は、ストレージサービスを親パーティションに移行することを示す。例えば、図7に目を向けると、実施例において、仮想マシンストレージサービス602は子パーティション246から親パーティション204又は712に移行することができる。この例では、論理プロセッサーは、マネージャー250を実行し、仮想マシンストレージサービス602に関連付けられる一意の識別子を抽出し、また、リモートコンピューター又はローカルコンピューターシステム上の親パーティション204にそれを送信することができる。その後、一意の識別子はストレージサービス602のインスタンスに付加することができる。
[0073]図13の説明を続けると、動作1310は、ハイパーバイザーにストレージサービスを割り当てることを示す。この例示的な実施例において、仮想関数406は、子パーティション248に接続することができ、ネットワーク上の第2の一意のネットワーク識別子を有することができる。図に示すように、この例示的な実施例において、子パーティション246及び248の両方は同じSR−IOVアダプター402に接続することができる。したがって、この例示的な実施例において、入出力要求は、ハイパーバイザー202を介する代わりにSR−IOVアダプター402を介して、又はスイッチ704を介して入出力を送信する必要なしにパーティション間通信機構を介して、渡すことができる。
[0074]図13の説明を続けると、動作1312は、子パーティションについての入出力要求に関連付けられるゲスト物理アドレスをシステム物理アドレスへ変換するように入出力メモリー管理ユニットを構成することを示す。例えば、図7を参照すると、本開示の実施例において、コンピューターシステム700の入出力メモリー管理ユニット426は、ゲスト物理アドレスをシステム物理アドレスに変換するために使用することができる。たとえば、ゲストオペレーティングシステム220が入出力動作、例えば読み取り又は書き込み、を開始する場合、ゲストオペレーティングシステム220はゲスト物理アドレスを含むコマンドを生成する。この例では、入出力メモリー管理ユニット426は、子パーティション248のゲストメモリーアドレスを親パーティションによって使用されるシステムアドレスへマッピングするテーブルを使用することができる。アダプター402及びI/O−MMU426は、送信バッファー及び受信バッファーの両方をゲスト物理アドレスからシステム物理アドレスに変換するように構成することができ、次いで、アダプター402は、内部の送信バッファーから内部の受信バッファーへデータをコピーすること及びその逆を行うことができる。
[0075]前述の詳細な説明においては、例及び/又は動作図によってシステム及び/又はプロセスの様々な実施例を記載してきた。そのようなブロック図及び/又は実施例が1つ又は複数の機能及び/又は動作を含む限りにおいて、当業者には、そのようなブロック図や例における各々の機能及び/又は動作を、ハードウェア、ソフトウェア、ファームウェア、又はそれらの実質的に任意の組み合わせの広い範囲によって、個別に及び/又は集合的に実施することができることが理解されよう。
[0076]本明細書に記載された本願の主題の特定の態様が示され、記載されたが、本明細書の教示に基づいて、本明細書に記載された主題及びそのより広い態様を逸脱することなく変更及び修正をなすことができ、したがって、添付の特許請求の範囲は、本明細書に記載された主題の真の趣旨及び範囲内にあるようにすべてそのような変更及び修正をその範囲内に包含するものであることは、当業者にとって明らかであろう。

Claims (15)

  1. 移行可能なストレージサービスをもたらす回路であって、前記移行可能なストレージサービスは子パーティションについての仮想ハードディスク入出力要求を管理するように構成され、前記移行可能なストレージサービスにネットワークの一意のネットワーク識別子が割り当てられる、回路と、
    前記移行可能なストレージサービスをネットワーク内のストレージターゲットとして設定する回路と
    を備えるシステム。
  2. 前記移行可能なストレージサービスをリモートコンピューターシステムに移行させる回路をさらに備える請求項1に記載のシステム。
  3. 前記子パーティションについての前記入出力要求に関連付けられるゲスト物理アドレスをシステム物理アドレスへ変換する入出力メモリー管理ユニットを構成する回路をさらに備える請求項1に記載のシステム。
  4. 前記子パーティションからの入出力ジョブ要求を受信する回路をさらに備え、前記子パーティションが前記ネットワークの第2の一意のネットワーク識別子を含む仮想関数に接続される請求項1に記載のシステム。
  5. 第1のパーティションにおいて前記移行可能なストレージサービスを実行し、第2のパーティションにおいて仮想マシンを管理するように構成される管理サービスを実行する回路をさらに備え、前記子パーティションは第3のパーティションである請求項1に記載のシステム。
  6. 前記一意のネットワーク識別子を含むネットワークアダプターの仮想関数に前記移行可能なストレージサービスを関連付け、前記子パーティションを前記ネットワークアダプターの第2の仮想関数に接続する回路をさらに備える請求項1に記載のシステム。
  7. 前記子パーティションからの入出力ジョブ要求を受信することに応答して論理プロセッサーに通知を送信し、前記論理プロセッサーが前記移行可能なストレージサービスを実行していることを決定する回路をさらに備える請求項1に記載のシステム。
  8. 前記入出力トラフィックがネットワークアダプターを介して前記一意のネットワーク識別子と少なくとも1つの他の一意のネットワーク識別子との間で運ばれるときに、前記入出力トラフィックがセキュリティポリシーに準拠することを決定する回路をさらに備える請求項1に記載のシステム。
  9. コンピューター方法であって、
    子パーティションについての仮想ハードドライブディスク入出力要求を管理するように構成されたストレージサービスに、ネットワークアダプターの第1の一意のネットワーク識別子を付加するステップと、
    前記ネットワークアダプターによりもたらされる仮想関数を前記子パーティションに付加するステップであって、前記仮想関数が第2の一意のネットワーク識別子を含む、ステップと
    を含む方法。
  10. 前記第1の一意のネットワーク識別子を含むように第2の仮想関数を構成する要求を、第2のネットワークアダプターを含むリモートコンピューターシステムに送信するステップをさらに含む請求項9に記載のコンピューター方法。
  11. 子パーティションに前記ストレージサービスを移行し、前記子パーティションに割り当てられる第2の仮想関数を前記第1の一意のネットワーク識別子を使用するように構成するステップをさらに含む請求項9に記載のコンピューター方法。
  12. 入出力メモリー管理ユニットが、前記子パーティションからの前記入出力要求に関連付けられるゲスト物理アドレスをシステム物理アドレスに変換するステップをさらに含む請求項9に記載のコンピューター方法。
  13. 入出力トラフィックが前記一意のネットワーク識別子と前記第2の一意のネットワーク識別子との間で運ばれるときに、前記入出力トラフィックのセキュリティポリシーへの準拠を監視するように、前記ネットワークアダプターを構成するステップをさらに含む請求項9に記載のコンピューター方法。
  14. 所定の閾値を超える量の入出力要求がリモートコンピューターシステムから受信されたと決定することに応答して、前記ストレージサービスをインスタンス化して前記ストレージサービスに前記第1の一意のネットワーク識別子を割り当てる要求を、前記リモートコンピューターシステムに送信するステップをさらに含む請求項9に記載のコンピューター方法。
  15. 前記ストレージサービスをハイパーバイザーに移行させるステップと、前記第1の一意のネットワーク識別子を使用するように第2の仮想関数を構成するステップとをさらに含む請求項9に記載のコンピューター方法。
JP2012544559A 2009-12-17 2010-11-23 仮想記憶ターゲットオフロード技術 Active JP6055310B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/640,272 2009-12-17
US12/640,272 US9389895B2 (en) 2009-12-17 2009-12-17 Virtual storage target offload techniques
PCT/US2010/057871 WO2011084257A2 (en) 2009-12-17 2010-11-23 Virtual storage target offload techniques

Publications (3)

Publication Number Publication Date
JP2013514588A true JP2013514588A (ja) 2013-04-25
JP2013514588A5 JP2013514588A5 (ja) 2013-11-28
JP6055310B2 JP6055310B2 (ja) 2016-12-27

Family

ID=44152997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012544559A Active JP6055310B2 (ja) 2009-12-17 2010-11-23 仮想記憶ターゲットオフロード技術

Country Status (7)

Country Link
US (2) US9389895B2 (ja)
EP (1) EP2513784A4 (ja)
JP (1) JP6055310B2 (ja)
KR (1) KR101782342B1 (ja)
CN (1) CN102652305B (ja)
RU (1) RU2562436C2 (ja)
WO (1) WO2011084257A2 (ja)

Families Citing this family (197)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1738258A4 (en) 2004-03-13 2009-10-28 Cluster Resources Inc SYSTEM AND METHOD IMPLEMENTING OBJECT TRIGGERS
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8566640B2 (en) * 2010-07-19 2013-10-22 Veeam Software Ag Systems, methods, and computer program products for instant recovery of image level backups
US9331963B2 (en) * 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
EP2466486A1 (en) * 2010-12-16 2012-06-20 STMicroelectronics (Grenoble 2) SAS An arrangement
US8447891B2 (en) * 2011-01-11 2013-05-21 International Business Machines Corporation Dynamically assigning virtual functions to client applications
US9043562B2 (en) * 2011-04-20 2015-05-26 Microsoft Technology Licensing, Llc Virtual machine trigger
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
WO2012151392A1 (en) * 2011-05-04 2012-11-08 Citrix Systems, Inc. Systems and methods for sr-iov pass-thru via an intermediary device
FR2977116A1 (fr) * 2011-06-27 2012-12-28 France Telecom Procede de fourniture de service d'execution de logiciel a la demande
US8769533B2 (en) 2011-07-18 2014-07-01 International Business Machines Corporation Check-point based high availability: network packet buffering in hardware
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US8863124B1 (en) 2011-08-10 2014-10-14 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US8549518B1 (en) 2011-08-10 2013-10-01 Nutanix, Inc. Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment
US8756601B2 (en) * 2011-09-23 2014-06-17 Qualcomm Incorporated Memory coherency acceleration via virtual machine migration
US9400722B2 (en) * 2011-11-15 2016-07-26 Ge Aviation Systems Llc Method of providing high integrity processing
US9092274B2 (en) * 2011-12-07 2015-07-28 International Business Machines Corporation Acceleration for virtual bridged hosts
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9397954B2 (en) 2012-03-26 2016-07-19 Oracle International Corporation System and method for supporting live migration of virtual machines in an infiniband network
JP5891900B2 (ja) * 2012-03-29 2016-03-23 富士通株式会社 アクセス制御方法、サーバ装置およびストレージ装置
CN102650976B (zh) * 2012-04-01 2014-07-09 中国科学院计算技术研究所 一种支持单根io虚拟化用户级接口控制装置及其方法
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9086929B2 (en) 2012-04-06 2015-07-21 International Business Machines Corporation Dynamic allocation of a workload across a plurality of clouds
US9071613B2 (en) 2012-04-06 2015-06-30 International Business Machines Corporation Dynamic allocation of workload deployment units across a plurality of clouds
US20140165196A1 (en) 2012-05-22 2014-06-12 Xockets IP, LLC Efficient packet handling, redirection, and inspection using offload processors
WO2013177310A2 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
WO2014100273A1 (en) * 2012-12-18 2014-06-26 Dynavisor, Inc. Dynamic device virtualization
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9407601B1 (en) 2012-12-21 2016-08-02 Emc Corporation Reliable client transport over fibre channel using a block device access model
US9473589B1 (en) * 2012-12-21 2016-10-18 Emc Corporation Server communication over fibre channel using a block device access model
US9514151B1 (en) 2012-12-21 2016-12-06 Emc Corporation System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9591099B1 (en) 2012-12-21 2017-03-07 EMC IP Holding Company LLC Server connection establishment over fibre channel using a block device access model
US9270786B1 (en) 2012-12-21 2016-02-23 Emc Corporation System and method for proxying TCP connections over a SCSI-based transport
US9647905B1 (en) 2012-12-21 2017-05-09 EMC IP Holding Company LLC System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
US9232000B1 (en) 2012-12-21 2016-01-05 Emc Corporation Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server
US9473591B1 (en) * 2012-12-21 2016-10-18 Emc Corporation Reliable server transport over fibre channel using a block device access model
US9473590B1 (en) * 2012-12-21 2016-10-18 Emc Corporation Client connection establishment over fibre channel using a block device access model
US9712427B1 (en) 2012-12-21 2017-07-18 EMC IP Holding Company LLC Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US9237057B1 (en) 2012-12-21 2016-01-12 Emc Corporation Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9531765B1 (en) 2012-12-21 2016-12-27 Emc Corporation System and method for maximizing system data cache efficiency in a connection-oriented data proxy service
US9509797B1 (en) * 2012-12-21 2016-11-29 Emc Corporation Client communication over fibre channel using a block device access model
US11132277B2 (en) 2012-12-28 2021-09-28 Iii Holdings 2, Llc System and method for continuous low-overhead monitoring of distributed applications running on a cluster of data processing nodes
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
US9250954B2 (en) 2013-01-17 2016-02-02 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems
KR101628436B1 (ko) * 2013-02-01 2016-06-09 단국대학교 산학협력단 가상 머신의 데이터 처리 방법
US9569223B2 (en) * 2013-02-13 2017-02-14 Red Hat Israel, Ltd. Mixed shared/non-shared memory transport for virtual machines
US9448830B2 (en) * 2013-03-14 2016-09-20 Google Inc. Service bridges
US9720717B2 (en) * 2013-03-14 2017-08-01 Sandisk Technologies Llc Virtualization support for storage devices
US9990221B2 (en) 2013-03-15 2018-06-05 Oracle International Corporation System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment
US10230794B2 (en) 2013-03-15 2019-03-12 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
US10075470B2 (en) * 2013-04-19 2018-09-11 Nicira, Inc. Framework for coordination between endpoint security and network security services
US9229761B2 (en) * 2013-06-03 2016-01-05 Intel Corporation Generating, at least in part, at least one packet indicating, at least in part, at least one command and/or issuing, at least in part, at least one result of execution, at least in part, of the at least one command
US9294391B1 (en) * 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
US9548888B1 (en) * 2013-06-24 2017-01-17 EMC IP Holding Company LLC Technique for setting WWNN scope for multi-port fibre channel SCSI target deduplication appliances
US10216754B1 (en) 2013-09-26 2019-02-26 EMC IP Holding Company LLC System and method for balancing compression and read performance in a storage system
US10838990B1 (en) 2013-09-26 2020-11-17 EMC IP Holding Company LLC System and method for improving data compression of a storage system using coarse and fine grained similarity
US9305009B1 (en) * 2013-09-30 2016-04-05 Emc Corporation Synchronous replication of virtualized storage processors
US9104637B2 (en) * 2013-12-04 2015-08-11 Oracle International Corporation System and method for managing host bus adaptor (HBA) over infiniband (IB) using a single external memory interface
US9311044B2 (en) 2013-12-04 2016-04-12 Oracle International Corporation System and method for supporting efficient buffer usage with a single external memory interface
KR102209525B1 (ko) * 2014-01-06 2021-01-29 삼성전자주식회사 마이크로 서버, mac 주소 할당 방법 및 컴퓨터 판독가능 기록매체
US9424059B1 (en) * 2014-03-12 2016-08-23 Nutanix, Inc. System and methods for implementing quality of service in a networked virtualization environment for storage management
US9858058B2 (en) * 2014-03-31 2018-01-02 International Business Machines Corporation Partition mobility for partitions with extended code
US9483290B1 (en) * 2014-04-29 2016-11-01 Qlogic, Corporation Method and system for virtual machine communication
US20150319250A1 (en) * 2014-04-30 2015-11-05 Anil Vasudevan Technologies for accelerating network virtualization
CN105302641B (zh) * 2014-06-04 2019-03-22 杭州海康威视数字技术股份有限公司 虚拟化集群中进行节点调度的方法及装置
US9959203B2 (en) 2014-06-23 2018-05-01 Google Llc Managing storage devices
US9851998B2 (en) * 2014-07-30 2017-12-26 Microsoft Technology Licensing, Llc Hypervisor-hosted virtual machine forensics
KR102308782B1 (ko) 2014-08-19 2021-10-05 삼성전자주식회사 메모리 컨트롤러, 스토리지 디바이스, 서버 가상화 시스템 및 서버 가상화 시스템에서의 스토리지 디바이스 인식 방법
US9389901B2 (en) 2014-09-09 2016-07-12 Vmware, Inc. Load balancing of cloned virtual machines
WO2016041173A1 (en) 2014-09-18 2016-03-24 Intel Corporation Supporting multiple operating system environments in computing device without contents conversion
CN104461958B (zh) 2014-10-31 2018-08-21 华为技术有限公司 支持sr-iov的存储资源访问方法、存储控制器及存储设备
FR3029311B1 (fr) * 2014-11-27 2017-01-06 Thales Sa Procede de gestion d'une architecture et architecture associee
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US10129081B1 (en) * 2015-03-30 2018-11-13 EMC IP Holding Company LLC Dynamic configuration of NPIV virtual ports in a fibre channel network
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US11036533B2 (en) 2015-04-17 2021-06-15 Samsung Electronics Co., Ltd. Mechanism to dynamically allocate physical storage device resources in virtualized environments
US10838852B2 (en) 2015-04-17 2020-11-17 Samsung Electronics Co., Ltd. System and method to extend NVME queues to user space
US9727359B2 (en) * 2015-04-27 2017-08-08 Red Hat Israel, Ltd. Virtual machine function based sub-page base address register access for peripheral component interconnect device assignment
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
CN106302322B (zh) * 2015-05-19 2020-05-26 腾讯科技(深圳)有限公司 一种虚拟机数据流管理方法和系统
US9378043B1 (en) * 2015-05-28 2016-06-28 Altera Corporation Multilayer quality of service (QOS) for network functions virtualization platforms
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
KR102371916B1 (ko) 2015-07-22 2022-03-07 삼성전자주식회사 가상 머신을 지원하는 스토리지 장치, 그것을 포함하는 스토리지 시스템 및 그것의 동작 방법
US20170031838A1 (en) * 2015-07-28 2017-02-02 Qualcomm Incorporated Method and apparatus for using context information to protect virtual machine security
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US10852954B1 (en) * 2015-09-23 2020-12-01 EMC IP Holding Company LLC Running an enterprise storage subsystem as a virtual machine
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
CN107209681B (zh) 2015-10-21 2020-07-07 华为技术有限公司 一种存储设备访问方法、装置和系统
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US11163597B2 (en) * 2016-01-20 2021-11-02 Unisys Corporation Persistent guest and software-defined storage in computing fabric
CN105808167B (zh) * 2016-03-10 2018-12-21 深圳市杉岩数据技术有限公司 一种基于sr-iov的链接克隆的方法、存储设备及系统
US10467103B1 (en) 2016-03-25 2019-11-05 Nutanix, Inc. Efficient change block training
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10019288B2 (en) 2016-09-12 2018-07-10 Mediatek, Inc. Fast and stable mechanism for allocating contiguous memory
CN106502721B (zh) * 2016-09-26 2019-11-15 华为技术有限公司 一种命令卸载方法、装置及物理机
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
US10558250B2 (en) * 2016-12-23 2020-02-11 Oracle International Corporation System and method for coordinated link up handling following switch reset in a high performance computing network
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
CN106909443A (zh) * 2017-02-28 2017-06-30 郑州云海信息技术有限公司 一种虚拟机的配置方法及装置
US10942758B2 (en) * 2017-04-17 2021-03-09 Hewlett Packard Enterprise Development Lp Migrating virtual host bus adaptors between sets of host bus adaptors of a target device in order to reallocate bandwidth to enable virtual machine migration
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10917496B2 (en) * 2017-09-05 2021-02-09 Amazon Technologies, Inc. Networked storage architecture
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US11693792B2 (en) * 2018-01-04 2023-07-04 Google Llc Infernal storage in cloud disk to support encrypted hard drive and other stateful features
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10802983B2 (en) * 2018-05-31 2020-10-13 Vmware, Inc. Programmable block storage addressing using embedded virtual machines
US10841291B2 (en) * 2018-05-31 2020-11-17 Vmware, Inc. Method for block authentication using embedded virtual machines
US11372580B2 (en) 2018-08-07 2022-06-28 Marvell Asia Pte, Ltd. Enabling virtual functions on storage media
US11656775B2 (en) 2018-08-07 2023-05-23 Marvell Asia Pte, Ltd. Virtualizing isolation areas of solid-state storage media
TWI811461B (zh) * 2018-09-27 2023-08-11 日商水道機工股份有限公司 陰離子性凝集劑、陰離子性凝集劑之製造方法、及處理方法
US11010314B2 (en) 2018-10-30 2021-05-18 Marvell Asia Pte. Ltd. Artificial intelligence-enabled management of storage media access
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US11481118B2 (en) 2019-01-11 2022-10-25 Marvell Asia Pte, Ltd. Storage media programming with adaptive write buffer release
CN113490924A (zh) * 2019-02-22 2021-10-08 英特尔公司 用于运行时处理器验证的ept和影子页表之间的动态切换
US11106481B2 (en) * 2019-04-19 2021-08-31 Red Hat, Inc. Safe hyper-threading for virtual machines
CN110704163A (zh) * 2019-09-29 2020-01-17 浪潮商用机器有限公司 一种服务器及其虚拟化存储方法和装置
CN114070755B (zh) * 2020-07-29 2023-08-01 中移(苏州)软件技术有限公司 虚拟机网络流量确定方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013454A (ja) * 2002-06-06 2004-01-15 Hitachi Ltd データマッピング管理装置
JP2007102633A (ja) * 2005-10-06 2007-04-19 Hitachi Ltd 計算機システム、管理計算機及び管理計算機のボリューム割当変更方法
JP2007122432A (ja) * 2005-10-28 2007-05-17 Hitachi Ltd 仮想ボリュームを識別する情報を引き継ぐ方法及びその方法を用いたストレージシステム
JP2007328611A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd ストレージ仮想化システム及び方法
JP2009026295A (ja) * 2007-07-18 2009-02-05 Hitachi Ltd ストレージシステム上の仮想ポートを管理するための方法および装置
US20090037941A1 (en) * 2007-08-02 2009-02-05 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
WO2009025381A1 (ja) * 2007-08-23 2009-02-26 Nec Corporation I/oシステムおよびi/o制御方法
JP2009123217A (ja) * 2007-11-15 2009-06-04 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP2009259108A (ja) * 2008-04-18 2009-11-05 Toshiba Corp 情報処理装置および情報処理装置の制御方法
JP2010009396A (ja) * 2008-06-27 2010-01-14 Toshiba Corp 計算機システム、および計算機システムのデバイス制御方法

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239647A (en) * 1990-09-07 1993-08-24 International Business Machines Corporation Data storage hierarchy with shared storage level
EP1032886B1 (en) 1997-11-14 2009-03-18 Microsoft Corporation Server operating system for supporting multiple client-server sessions and dynamic reconnection of users to previous sessions
US6360281B1 (en) 1998-05-29 2002-03-19 3Com Corporation System and method for communicating with a serial communications device using multiple virtual ports
US7756986B2 (en) * 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US6845395B1 (en) * 1999-06-30 2005-01-18 Emc Corporation Method and apparatus for identifying network devices on a storage network
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
WO2002065309A1 (en) * 2001-02-13 2002-08-22 Candera, Inc. System and method for policy based storage provisioning and management
IL145104A (en) 2001-08-23 2007-02-11 Gregory Bondar A method and system for balancing the load on a computer resource between computers
US6990604B2 (en) 2001-12-28 2006-01-24 Storage Technology Corporation Virtual storage status coalescing with a plurality of physical storage devices
US20030187853A1 (en) * 2002-01-24 2003-10-02 Hensley Roy Austin Distributed data storage system and method
US7403996B2 (en) * 2002-02-21 2008-07-22 Bea Systems, Inc. Systems and methods for migratable services
US7093038B2 (en) * 2002-05-06 2006-08-15 Ivivity, Inc. Application program interface-access to hardware services for storage management applications
US7124320B1 (en) * 2002-08-06 2006-10-17 Novell, Inc. Cluster failover via distributed configuration repository
US7379990B2 (en) 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
US7080225B1 (en) 2002-12-10 2006-07-18 Emc Corporation Method and apparatus for managing migration of data in a computer system
US7606239B2 (en) * 2003-01-31 2009-10-20 Brocade Communications Systems, Inc. Method and apparatus for providing virtual ports with attached virtual devices in a storage area network
JP4256693B2 (ja) * 2003-02-18 2009-04-22 株式会社日立製作所 計算機システム、i/oデバイス及びi/oデバイスの仮想共有方法
US7085867B2 (en) * 2003-08-06 2006-08-01 Lsi Logic Corporation Methods and structure for SCSI2 to SCSI3 reservation protocol mapping
US20050080982A1 (en) 2003-08-20 2005-04-14 Vasilevsky Alexander D. Virtual host bus adapter and method
US7437730B2 (en) 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
US20050198303A1 (en) 2004-01-02 2005-09-08 Robert Knauerhase Dynamic virtual machine service provider allocation
JP4555036B2 (ja) * 2004-09-16 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のデバイス切替制御方法
US20060085530A1 (en) * 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups using web services
US20060085668A1 (en) * 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups
US7523286B2 (en) 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US7308551B2 (en) 2005-02-25 2007-12-11 International Business Machines Corporation System and method for managing metrics table per virtual port in a logically partitioned data processing system
US7334076B2 (en) 2005-03-08 2008-02-19 Microsoft Corporation Method and system for a guest physical address virtualization in a virtual machine environment
US7870317B2 (en) * 2005-04-29 2011-01-11 Network Appliance, Inc. Storage processor for handling disparate requests to transmit in a storage appliance
US7689800B2 (en) 2005-05-12 2010-03-30 Microsoft Corporation Partition bus
US7299337B2 (en) 2005-05-12 2007-11-20 Traut Eric P Enhanced shadow page table algorithms
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US8327353B2 (en) * 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
US7525957B2 (en) 2005-09-01 2009-04-28 Emulex Design & Manufacturing Corporation Input/output router for storage networks
US8549098B2 (en) * 2006-01-12 2013-10-01 Broadcom Israel Research, Ltd. Method and system for protocol offload and direct I/O with I/O sharing in a virtualized network environment
US20070168525A1 (en) 2006-01-18 2007-07-19 Deleon Baltazar Iii Method for improved virtual adapter performance using multiple virtual interrupts
US8230153B2 (en) * 2006-01-20 2012-07-24 Broadcom Corporation Method and system for HBA assisted storage virtualization
US7484029B2 (en) 2006-02-09 2009-01-27 International Business Machines Corporation Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
US9032164B2 (en) * 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US20070260702A1 (en) 2006-05-03 2007-11-08 University Of Washington Web browser architecture for virtual machine access
US8171466B2 (en) * 2006-05-16 2012-05-01 Oracle International Corporation Hitless application upgrade for SIP server architecture
US8473566B1 (en) * 2006-06-30 2013-06-25 Emc Corporation Methods systems, and computer program products for managing quality-of-service associated with storage shared by computing grids and clusters with a plurality of nodes
US7877760B2 (en) * 2006-09-29 2011-01-25 Microsoft Corporation Distributed hardware state management in virtual machines
US7793101B2 (en) 2006-10-19 2010-09-07 Novell, Inc. Verifiable virtualized storage port assignments for virtual machines
JP4724640B2 (ja) 2006-10-30 2011-07-13 富士通株式会社 ストレージ仮想化スイッチ
US7761612B2 (en) * 2006-12-07 2010-07-20 International Business Machines Corporation Migrating domains from one physical data processing system to another
US7844851B2 (en) * 2006-12-13 2010-11-30 Oracle International Corporation System and method for protecting against failure through geo-redundancy in a SIP server
US7624262B2 (en) * 2006-12-20 2009-11-24 International Business Machines Corporation Apparatus, system, and method for booting using an external disk through a virtual SCSI connection
US7689862B1 (en) * 2007-01-23 2010-03-30 Emc Corporation Application failover in a cluster environment
US20080186990A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US20080201455A1 (en) 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US8458430B2 (en) * 2007-03-26 2013-06-04 Archion, Inc. Configurable and scalable storage system
JP5117748B2 (ja) * 2007-03-29 2013-01-16 株式会社日立製作所 暗号化機能を備えたストレージ仮想化装置
CN101290583B (zh) * 2007-04-19 2011-03-16 国际商业机器公司 为虚拟机供应图像的方法和系统
US20090006537A1 (en) 2007-06-29 2009-01-01 Microsoft Corporation Virtual Desktop Integration with Terminal Services
JP5446076B2 (ja) 2007-07-17 2014-03-19 株式会社ニコン デジタルカメラ
US8239646B2 (en) * 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US8161243B1 (en) 2007-09-28 2012-04-17 Intel Corporation Address translation caching and I/O cache performance improvement in virtualized environments
US8191063B2 (en) 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US20090089498A1 (en) 2007-10-02 2009-04-02 Michael Cameron Hay Transparently migrating ongoing I/O to virtualized storage
US8949585B2 (en) * 2007-10-09 2015-02-03 Vmware, Inc. In-place conversion of virtual machine state
JP2009146106A (ja) 2007-12-13 2009-07-02 Hitachi Ltd 物理的な通信ポートに付加される仮想的な通信ポートを移行する機能を有したストレージシステム
US7890504B2 (en) * 2007-12-19 2011-02-15 Netapp, Inc. Using the LUN type for storage allocation
US8560593B2 (en) 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment
US8392482B1 (en) * 2008-03-31 2013-03-05 Amazon Technologies, Inc. Versioning of database partition maps
US8386540B1 (en) * 2008-03-31 2013-02-26 Amazon Technologies, Inc. Scalable relational database service
US8127086B2 (en) * 2008-06-06 2012-02-28 International Business Machines Corporation Transparent hypervisor pinning of critical memory areas in a shared memory partition data processing system
US8037280B2 (en) 2008-06-11 2011-10-11 Vmware, Inc. System and method for improving memory locality of virtual machines
JP4934642B2 (ja) * 2008-06-11 2012-05-16 株式会社日立製作所 計算機システム
US8151032B2 (en) * 2008-06-26 2012-04-03 Microsoft Corporation Direct memory access filter for virtualized operating systems
US8230155B2 (en) * 2008-06-26 2012-07-24 Microsoft Corporation Direct memory access filter for virtualized operating systems
US20100011368A1 (en) * 2008-07-09 2010-01-14 Hiroshi Arakawa Methods, systems and programs for partitioned storage resources and services in dynamically reorganized storage platforms
US8122225B2 (en) * 2008-08-12 2012-02-21 International Business Machines Corporation LUN masking/mapping in a SR-IOV enabled SAS adapter
US8924961B2 (en) * 2008-10-29 2014-12-30 Dell Products L.P. Virtual machine scheduling methods and systems
US8117487B1 (en) * 2008-12-29 2012-02-14 Symantec Corporation Method and apparatus for proactively monitoring application health data to achieve workload management and high availability
US9740517B2 (en) * 2008-12-29 2017-08-22 Microsoft Technology Licensing, Llc Dynamic virtual machine memory management
US8489721B1 (en) * 2008-12-30 2013-07-16 Symantec Corporation Method and apparatus for providing high availabilty to service groups within a datacenter
US8331362B2 (en) * 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8990800B2 (en) * 2009-01-14 2015-03-24 Dell Products L.P. System and method for increased system availability to network storage in virtualized environments
US9529636B2 (en) * 2009-03-26 2016-12-27 Microsoft Technology Licensing, Llc System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine
US8443156B2 (en) * 2009-03-27 2013-05-14 Vmware, Inc. Virtualization system using hardware assistance for shadow page table coherence
US8122213B2 (en) * 2009-05-05 2012-02-21 Dell Products L.P. System and method for migration of data
US8054763B2 (en) * 2009-05-15 2011-11-08 Hewlett-Packard Development Company, L.P. Migration of switch in a storage area network
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US9130903B2 (en) 2009-07-01 2015-09-08 Citrix Systems, Inc. Unified out of band management system for desktop and server sessions
US8873375B2 (en) * 2009-07-22 2014-10-28 Broadcom Corporation Method and system for fault tolerance and resilience for virtualized machines in a network
US8613085B2 (en) * 2009-07-22 2013-12-17 Broadcom Corporation Method and system for traffic management via virtual machine migration
US8402461B2 (en) * 2009-11-15 2013-03-19 Hewlett-Packard Development Company, L. P. Switching between direct mode and indirect mode for virtual machine I/O requests
US8468345B2 (en) * 2009-11-16 2013-06-18 Microsoft Corporation Containerless data for trustworthy computing and data services
US20110126197A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US8812799B2 (en) * 2009-12-11 2014-08-19 International Business Machines Corporation Cluster families for cluster selection and cooperative replication
US8850426B2 (en) * 2009-12-13 2014-09-30 International Business Machines Corporation Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US10146566B2 (en) 2009-12-21 2018-12-04 Microsoft Technology Licensing, Llc Enabling virtual desktop connections to remote clients

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004013454A (ja) * 2002-06-06 2004-01-15 Hitachi Ltd データマッピング管理装置
JP2007102633A (ja) * 2005-10-06 2007-04-19 Hitachi Ltd 計算機システム、管理計算機及び管理計算機のボリューム割当変更方法
JP2007122432A (ja) * 2005-10-28 2007-05-17 Hitachi Ltd 仮想ボリュームを識別する情報を引き継ぐ方法及びその方法を用いたストレージシステム
JP2007328611A (ja) * 2006-06-08 2007-12-20 Hitachi Ltd ストレージ仮想化システム及び方法
JP2009026295A (ja) * 2007-07-18 2009-02-05 Hitachi Ltd ストレージシステム上の仮想ポートを管理するための方法および装置
US20090037941A1 (en) * 2007-08-02 2009-02-05 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
WO2009025381A1 (ja) * 2007-08-23 2009-02-26 Nec Corporation I/oシステムおよびi/o制御方法
JP2009123217A (ja) * 2007-11-15 2009-06-04 Internatl Business Mach Corp <Ibm> データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP2009259108A (ja) * 2008-04-18 2009-11-05 Toshiba Corp 情報処理装置および情報処理装置の制御方法
JP2010009396A (ja) * 2008-06-27 2010-01-14 Toshiba Corp 計算機システム、および計算機システムのデバイス制御方法

Also Published As

Publication number Publication date
RU2562436C2 (ru) 2015-09-10
EP2513784A4 (en) 2014-03-12
US20170017422A1 (en) 2017-01-19
WO2011084257A3 (en) 2011-11-17
US10248334B2 (en) 2019-04-02
CN102652305A (zh) 2012-08-29
KR20120115519A (ko) 2012-10-18
JP6055310B2 (ja) 2016-12-27
US20110154318A1 (en) 2011-06-23
WO2011084257A2 (en) 2011-07-14
EP2513784A2 (en) 2012-10-24
CN102652305B (zh) 2015-10-07
US9389895B2 (en) 2016-07-12
RU2012130056A (ru) 2014-01-27
KR101782342B1 (ko) 2017-09-27

Similar Documents

Publication Publication Date Title
JP6055310B2 (ja) 仮想記憶ターゲットオフロード技術
US11061712B2 (en) Hot-plugging of virtual functions in a virtualized environment
US20110153715A1 (en) Lightweight service migration
US9817695B2 (en) Method and system for migrating processes between virtual machines
US9588807B2 (en) Live logical partition migration with stateful offload connections using context extraction and insertion
US8830870B2 (en) Network adapter hardware state migration discovery in a stateful environment
EP3985504B1 (en) Virtual machine migration
KR101956411B1 (ko) 복수의 서버로부터 클라이언트로의 단일 최종 사용자 경험 전달 기법
KR101602519B1 (ko) 가상화된 저장소 할당 방법
US8201190B2 (en) Sharing a network I/O adapter between logical partitions
US20070061441A1 (en) Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US20120290630A1 (en) Scalable storage for virtual machines
US20100211946A1 (en) Method and system for network abstraction and virtualization for a single operating system (os)
JP2007508623A (ja) 複数のノードにわたってシステムリソースを割り当てて管理する仮想データセンタ
CN116260776A (zh) 硬件辅助的虚拟交换机
WO2022143717A1 (zh) 一种虚拟机迁移方法、装置及系统
Kumar et al. Netchannel: a VMM-level mechanism for continuous, transparentdevice access during VM migration
US10313190B2 (en) Techniques of preserving and restoring customized configurations of thin client at restore time points
Guay et al. Early experiences with live migration of SR-IOV enabled InfiniBand
US11829792B1 (en) In-place live migration of compute instances for efficient host domain patching
JP2011191948A (ja) ネットワークブートデバイス及びネットワークブート方法
Phase Virtualization Overview

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131009

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150403

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150501

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150511

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160502

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: 20161104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161202

R150 Certificate of patent or registration of utility model

Ref document number: 6055310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250