JP6388455B2 - 仮想データセンタゲストへのサービスの拡大 - Google Patents

仮想データセンタゲストへのサービスの拡大 Download PDF

Info

Publication number
JP6388455B2
JP6388455B2 JP2016501349A JP2016501349A JP6388455B2 JP 6388455 B2 JP6388455 B2 JP 6388455B2 JP 2016501349 A JP2016501349 A JP 2016501349A JP 2016501349 A JP2016501349 A JP 2016501349A JP 6388455 B2 JP6388455 B2 JP 6388455B2
Authority
JP
Japan
Prior art keywords
hypercall
guest
operating system
manager
guest operating
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.)
Active
Application number
JP2016501349A
Other languages
English (en)
Other versions
JP2016515267A (ja
JP2016515267A5 (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.)
Bracket Computing Inc
Original Assignee
Bracket Computing Inc
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 Bracket Computing Inc filed Critical Bracket Computing Inc
Publication of JP2016515267A publication Critical patent/JP2016515267A/ja
Publication of JP2016515267A5 publication Critical patent/JP2016515267A5/ja
Application granted granted Critical
Publication of JP6388455B2 publication Critical patent/JP6388455B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/45583Memory management, e.g. access or allocation
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、概して、仮想マシン及び仮想記憶装置等の仮想データセンタリソースのゲスト利用を強化する技法に関する。
このセクションに記載される手法は、追求された可能性があるが、必ずしも従来から考え出されたか、又は追求されてきた手法ではない。したがって、本明細書に別段のことが示される場合を除き、このセクションに記載される手法は、本願での特許請求の範囲に対する従来技術ではなく、このセクションに含まれることにより従来技術であることを認めるものではない。
多くの企業及びそれらのコンピュータシステムは、クラウドサービスプロバイダ(CSP)等の仮想データセンタと、インターネットを通してアクセス可能な仮想記憶リソース、仮想計算リソース、又は仮想データベースリソース等の他の仮想リソースとによって提供される仮想マシンを利用する。そのようなクラウドサービスは、コスト削減、より容易なスケーラビリティ、及び管理負担低減等の多くの利点をクライアントに提供し得る。しかし、クラウドサービスはまた、セキュリティリスクの増大又は一貫しない性能等のこれらのサービスのクライアントに新しい課題も呈する。そのようなクラウドサービスのクライアントは、必要とされる実施コスト及び努力を低くしながら、そのような欠点を最小化する解決策によって恩恵を受ける。
添付の特許請求の範囲は、本発明を概要する役割を果たし得る。
一実施形態の実施に使用し得るネットワーク化コンピュータシステム構成の一例を示す。 一実施形態の実施に使用し得るネットワーク化コンピュータシステム構成の別の例を示す。 一実施形態によるネットワーク化コンピュータシステム構成の一例のコンテキスト例を示す。 ゲストオペレーティングシステムを開始する方法の一例を示す。 ゲストオペレーティングシステムからのハイパーコールを処理する方法の一例を示す。 本発明の一実施形態を実施し得るコンピュータシステムを示すブロック図である。
仮想データセンタのゲストに対するサービスを拡大する方法が記載される。以下の説明では、説明のために、多くの特定の詳細が、本発明の完全な理解を提供するために記載される。しかし、これらの特定の詳細なしで本発明を実施し得ることが当業者には理解されよう。他の場合、周知の構造及び装置は、本発明を不必要に曖昧にしないように、ブロック図の形態で示されている。
実施形態は、以下の概要に従って本明細書に記載される:
1.0 概説
2.0 構造及び機能の概説
3.0 実施メカニズム − ハードウェア概説
4.0 拡張及び代替
1.0 概説
一実施形態によれば、中間マネージャは、ホストマシンによってホストされ、かつ、ハイパーバイザによって管理される仮想マシン内で動作する。中間マネージャは、仮想マシン内で動作する1つ又は複数のゲストオペレーティングシステムを管理し、仮想データセンタ(VDC)リソースのゲスト利用を強化する1つ又は複数のサービスを実施する。中間マネージャは、VDCによってゲストに提供されるサービスを拡大する様々な利点のうちの1つ又は複数をVDCゲストに提供し得る。これに関連して、仮想データセンタ又はVDCは、任意の1つ又は複数の仮想化企業コンピュータシステム、私設データセンタ内の仮想マシン基盤、プライベートクラウド内の計算、記憶、又はネットワーキングリソース、クラウドサービスプロバイダ(CSP)によって提供されるなどの公開クラウド内のリソース、及びハイブリッドクラウド計算環境を指す。
特に、中間マネージャサービスは、データ暗号化、アンチウィルス監視、及びデータ量制限を含み得る。サービスは、ゲストオペレーティングシステムのリモートVDC管理システムへのより容易なアクセスをゲストに提供することもでき、リモートVDC管理システムは、VDCリソースの性能を管理し、改善する。更に、中間ゲストマネージャは、特定のハイパーバイザと互換性のないゲストオペレーティングシステムが、特定のハイパーバイザによってサポートされる仮想マシン内で実行できるようにし得る。
中間ゲストマネージャは、ゲストオペレーティングシステムから、ホストハイパーバイザに向けられたハイパーコールの少なくとも一部をインターセプトすることにより、幾つかのサービスを提供し得る。サービスの挿入は、土台をなすハイパーバイザ及びVDCのゲストからは不可視であり得、ゲスト又は土台をなすハイパーバイザによるいかなるインストール又は追加の構成も必要とされない。
2.0 構造及び機能の概説
図1は、一実施形態の実施に使用し得るネットワーク化コンピュータシステム構成の一例を示す。仮想マシン100は、ホストマシン120によってホストされ、且つハイパーバイザ122によって管理される仮想マシンである。ゲストOS102、106は、仮想マシン100内のゲストオペレーティングシステムである。ゲストOS102、106は、ホストマシン120のハードウェアリソース又は他のVDC提供リソースを利用し得る。ホストマシン120のリソースは、少なくとも部分的にハイパーバイザ122の支援を受けて、単一のゲストである仮想マシン100用に仮想化し得る。ゲストOS102及び106は、別個の仮想マシンでなくてもよい。例えば、ゲストOS102と106との間にCPU仮想化、厳密なメモリ分離、又はメモリ保護がなくてもよい。他の実施形態は、単一のみのゲストオペレーティングシステムを含んでもよく、又は3つ以上のゲストオペレーティングシステムを含んでもよい。
ゲストOS102及び106は、ゲストアプリケーション104及び108を備える。クライアントは、ホストマシン120のロケーションから離れたクライアントロケーションにおいて、ゲストアプリケーション104及び108等のゲストオペレーティングシステム102及び106上のプロセスを制御し得る。ゲストアプリケーション104、108は様々なハイパーコールを開始し得る。ハイパーコールは、本明細書で使用される場合、メインメモリ132、プロセッサ134、記憶装置136にアクセスする要求及びVDC記憶リソース、VDCデータベースリソース、及びVDC計算リソース等の様々なVDC提供リソースを利用する要求等のホストシステム120のハイパーバイザ122に向けられた要求を含む。
ゲストOS102、106は、少なくとも部分的に、中間ゲストマネージャ110によって管理し得る。中間ゲストマネージャ110は、VDCホスト仮想マシン又は仮想記憶装置等の様々なVDCリソースのゲスト利用を強化するロジックを備え得る。中間ゲストマネージャ110は、ゲストOSイニシエータ112、ハイパーコールプロキシ114、ゲストサービスロジック116、ハイパーコール管理ロジック118のうちの1つ又は複数を含み得る。ゲストOSイニシエータ112は、ゲストOS102、106等のゲストオペレーティングシステムを開始する。ハイパーコールプロキシ114は、ハイパーバイザ122に向け得るゲストアプリケーション104又はゲストアプリケーション108からのハイパーコールをインターセプトする。ゲストサービスロジック116は、VDCリソースのゲスト利用を強化する1つ又は複数のゲストサービスを実行する命令を含む。ハイパーコール管理ロジック118は、ゲストOS102、106によるメモリの利用が、中間ゲストマネージャ110によるメモリの利用に干渉しないことを保証する命令等のハイパーコールを管理する命令を含む。
中間ゲストマネージャ110は、ゲストOS102及び/又はゲストOS106とは異なるタイプのオペレーティングシステムで動作し得る。ゲストOS102及び106は、幾つかの実施形態では、異なるタイプのオペレーティングシステムであってもよい。
ホストマシン120内のハイパーバイザ122は、ハイパーコールハンドラ124を備え得る。ハイパーコールハンドラ124は、ゲストOS102、106及び/又は中間ゲストマネージャ110からコールを受信し得る。ホストマシン120は、メインメモリ132、プロセッサ134、及び/又は記憶装置136に通信可能に結合し得る。ゲストOS102、106内のゲストアプリケーション104、108は、メインメモリ132、プロセッサ134、及び/又は記憶装置136を利用し得る。ハイパーコールハンドラ124によって処理されるハイパーコールは、メインメモリ132、プロセッサ134、及び/又は記憶装置136の利用を要求し得る。
図1のハイパーバイザ122は、様々なハイパーコールをハイパーバイザに通信するソフトウェアインタフェースを提示し得、ハイパーコールは、仮想マシン100内のプロセスによって使用し得る。例えば、ハイパーバイザ122は、XENハイパーバイザであり得、ゲストOS102、106、及び/又は中間ゲストマネージャ110は、ハイパーコールを送信することによってハイパーコールをハイパーバイザ122に発行し得る。XENは現在、Xen.orgコミュニティによって開発されている。
ハイパーバイザ122は、仮想マシン100内の別個のゲストオペレーティングシステムについて通知されないことがあり、中間ゲストマシン110及び/又は他のゲストオペレーティングシステム用に別個のパーテーションを作成するために、仮想マシン100リソースを細分しないことがある。ハイパーバイザ122は、複数のゲストオペレーティングシステム及び/又は中間ゲストマネージャ110から受信したコールを単一のゲストからのものとして解釈し得る。
図2は、一実施形態の実施に使用し得るネットワーク化コンピュータシステム構成の別の例を示す。図2のハイパーバイザ122は、様々なシステム動作を生じさせるゲストからのハイパーコールを受け入れない非準仮想化ハイパーバイザであり得る。ハイパーバイザ122は、LINUX(登録商標) KVM又はMICROSOFT HYPER−V等のハードウェアベースの仮想化を仮想マシン100に提供するハイパーバイザであり得、中間ゲストマネージャ110は、ホストマシン120の物理的ハードウェアにアクセスして、ゲストOS102、106から中間ゲストマネージャによってインターセプトされた様々なハイパーコールを実施し得る。中間ゲストマネージャ110は、ハイパーバイザ122でのハイパーコールハンドラ124を介して、メインメモリ132、プロセッサ134、記憶装置136等のハードウェアリソースにアクセスし得る。
一実施形態では、特定のホストマシンのハイパーバイザと直接動作可能であるように構成されないゲストオペレーティングシステムが、ホストマシンのゲストであり得る。例えば、一実施形態では、図2のゲストOS102、106は、ハイパーコールを介してホストマシン120と通信することが予期される準仮想化ゲストである。中間ゲストマネージャ110は、そのようなオペレーティングシステムが、準仮想化ゲストをサポートせず、ハイパーコールを受け入れないハイパーバイザを有するホストマシンのゲストであっても可能なようにし得る。例えば、図2のゲストOS102、106は、XENハイパーバイザとのみ互換性を有し得、ハイパーバイザ122は、KVM又はHYPER−V等の非準仮想化ハイパーバイザであり得る。そのような実施形態では、中間ゲストマネージャ110は、ゲストOS102又は106からのハイパーコールを受け入れ得、要求されたハイパーコールをエミュレートするか、又はホストマシン120のハードウェアと直接通信して、ハイパーコールを完了させ得る。したがって、中間ゲストマネージャ110は、ゲストオペレーティングシステムが動作し得るホストマシンのタイプを拡大し得る。一実施形態では、ゲストオペレーティングシステム102、106及び中間ゲストマネージャ110は、任意の仮想マシン内にない。代わりに、ゲストオペレーティングシステム及び中間ゲストマネージャは、任意のハイパーバイザを欠く同じホストマシンにあり得る。ゲストオペレーティングシステム102、106はなお、特定のハイパーバイザに向けられたハイパーコールを発行し得、中間ゲストマネージャ110は、ハイパーコールをインターセプトし、ハイパーコールに関連付けられたサービスコードを実行させ得る。
ゲストオペレーティングシステム102、106が、ハイパーコールを受け入れる準仮想化ハイパーバイザを有するホストマシン用に構成されているにも拘わらず、中間ゲストマネージャ110は、ゲストオペレーティングシステムを、非準仮想化ハイパーバイザを有するホストマシン又はハイパーバイザが全くないホストマシンでホストできるようにし得る。ゲストオペレーティングシステム102、106は、準仮想化ハイパーバイザに対する要求を発行し得、中間ゲストマネージャ110は、幾つかの実施形態では、ハイパーバイザではないにも拘わらず、それらのコールをインターセプトし得る。例えば、中間ゲストマネージャ110は、CPU仮想化及び厳密なメモリセグメント化等の仮想マシンを開始し管理するために必要な機能を欠き得る。
ゲストオペレーティングシステム102、106は、XEN又はHYPER−Vを含むが、これらに限定されない様々な任意のホストハイパーバイザと互換性を有するように構成し得る。一実施形態では、ゲストオペレーティングシステム102及び106は準仮想化用に構成される。ゲストオペレーティングシステム102、106は、ハイパーコールを発行することによって特権付き動作の実行を要求し得る。
図3は、一実施形態によるネットワーク化コンピュータシステム構成の一例のコンテキストの一例を示す。クライアント310は、ゲストアプリケーション104、108等のゲストOS102、106内のロジックの実行を制御し得る。マネージャ320は、中間ゲストマネージャ110内のロジックを制御し得る。VDC330は、ハイパーバイザ122のロジックを含め、ホストマシン120内のロジックを制御し得る。
マネージャ320は、VDC330及びクライアント310とは異なるエンティティであり得る。したがって、マネージャ320は、VDC330若しくはクライアント310からのいかなる動作も必要とせずに、又はVDC若しくはクライアントによって制御されるシステム上のいかなるインストールもなく、サービスロジックを中間ゲストマネージャ110内に挿入して、VDCリソースのゲスト利用を強化し得る。
様々な実施形態によれば、図1、図2、図3に示される1つ又は複数の特徴は、省いてもよく、又は他の場所に配置されてもよい。
図4は、ゲストオペレーティングシステムを開始する方法の一例を示す。図4の方法は、中間ゲストマネージャ110内のゲストOSイニシエータ112において、1つ若しくは複数のコンピュータプログラム、他のソフトウェア要素、又は他の機能ロジックを使用して実施し得る。ブロック402において、中間ゲストマネージャ110におけるゲストOSイニシエータ112は、特定のゲストオペレーティングシステムの開始要求を受信する。要求は、異なるゲストオペレーティングシステム又は他の場所で動作するクライアントアプリケーションから受信し得る。
ブロック404において、ゲストOSイニシエータ112は、特定のゲストオペレーティングシステムに割り振るメモリ空間を決定する。ゲストOSイニシエータ112は、ホストマシン120によって仮想マシン100に割り振られたメモリ部分全体に基づいて、割り振るメモリの部分を決定し得る。ゲストOSイニシエータ112は、中間ゲストマネージャ110に対して、仮想マシン100に割り振られたメモリの部分を指定し得、仮想マシン100に割り振られたメモリ空間の残りのうちの少なくとも一部を特定のゲストOSに割り振るべきであると判断し得る。
ブロック406において、ゲストOSイニシエータ112は、特定のゲストオペレーティングシステムを開始する。ゲストOSイニシエータ112は、特定のゲストOSに割り振られたメモリ空間を示し得る。ブロック408において、ゲストOSイニシエータ112は、ハイパーコール定義のセットを特定のゲストOSに提供し、ハイパーコール定義の少なくとも一部は、ゲストハイパーコールの少なくとも一部を中間マネージャに向けさせる。一実施形態では、ゲストOSイニシエータ112は、初期化中、専用ハイパーコールページを、ゲストOSに割り振られたメモリの部分に記憶することにより、ハイパーコール定義のセットを特定のゲストOSに提供する。ゲストOSは、ハイパーコールページで定義される特定のハイパーコールを実行することにより、ハイパーバイザ122に対してハイパーコールし得る。ハイパーコールページは、実行されると、ハイパーコール情報をハイパーバイザ122に通信する関数を定義し得る。専用ハイパーコールページは、1つ又は複数の変更ハイパーコール定義を含み得、変更されたハイパーコール定義は、ハイパーコール情報を、ハイパーバイザ122におけるハイパーコールハンドラ124の代わりに、中間ゲストマネージャ110におけるハイパーコールプロキシ114へ送信させる。専用ハイパーコールページを使用することにより、中間ゲストマネージャ110は、ゲストオペレーティングシステムによって開始された特定のハイパーコールをインターセプトし得る。中間ゲストマネージャ110によってインターセプトされた特定のハイパーコールは、異なる実施形態により様々であり得る。
一実施形態では、ハイパーコール定義のセットは、全てのハイパーコールを、ハイパーバイザ122の代わりに中間ゲストマネージャ110にルーティングさせ得る。そのような一実施形態では、ハイパーバイザ122は、ホストマシン120のゲストがハイパーコールによる動作又は情報を要求できないようにするハイパーバイザであり得る。
他の実施形態では、ハイパーコール定義のセットは、幾つかのシステムコールを中間ゲストマネージャ110にルーティングさせ、幾つかのハイパーコールを直接、ハイパーバイザ122にルーティングさせ得る。例えば、ハイパーコール定義は、メモリにアクセスする全ての要求を中間ゲストマネージャ110へ送信させ得る。中間ゲストマネージャは、ゲストによるメモリ関連要求が、中間ゲストマネージャ110又は他のゲストに属するメモリに影響してないことを保証し得る。
ハイパーコール定義はまた、挿入されたサービスに関連付けられたハイパーコールも中間ゲストマネージャ110へ送信させ得る。例えば、データ入力又は出力動作には、特定の中間サービスが関連付けられ得る。したがって、中間ゲストマネージャ110は、データの読み出し又は記憶を要求する全てのハイパーコールを中間ゲストマネージャ110へ送信させ得る。ハイパーコール定義は、メモリにアクセスせず、サービスに関連付けられていない要求等の他の要求を送信し、ハイパーバイザ122に直接送信させ得る。例えば、ハイパーコール定義のセットは、CPU状態を特定するコール又はコンテキストを切り換えさせるコール等のプロセッサ管理に関連するコールが直接、ハイパーバイザ122へ送信させるべきであることを示し得る。
図5は、ゲストオペレーティングシステムからのハイパーコールを処理する方法の一例を示す。図5の方法の部分は、中間ゲストマネージャ110のハイパーコールプロキシ114、ゲストサービスロジック116、及びハイパーコール管理ロジック118における1つ又は複数のコンピュータプログラム、他のソフトウェア要素、又は他の機能ロジックを使用して実施し得る。
ブロック502において、ハイパーコールプロキシ114は、ゲストオペレーティングシステムからハイパーコールを受信する。ハイパーコールプロキシ114は、ハイパーコールにサービス、管理機能、又は両方が関連付けられているか否かを判断し得る。幾つかのハイパーコールには、サービス及び状態管理機能の両方が関連付けられ得る。他のハイパーコールには、サービスのみ、管理機能のみが関連付けられ得、又はこれらのいずれも関連付けられないことがある。
ブロック504において、ハイパーコールプロキシ114は、ハイパーコールに1つ又は複数のサービスが関連付けられていると判断する。ブロック506において、ハイパーコールプロキシ114は、ハイパーコールに関連付けられた1つ又は複数のサービスに対応するサービスロジックを実行させる。ハイパーコールプロキシ114は、ゲストサービスロジック116を呼び出すことにより、1つ又は複数の関連付けられたサービスを実行させ得る。
ブロック508において、ハイパーコールプロキシ114は、ハイパーコールに1つ又は複数のハイパーコール管理関数が関連付けられていると判断する。ブロック510において、ハイパーコールプロキシ114は、ハイパーコールに関連付けられた1つ又は複数のハイパーコール管理関数に対応するハイパーコール管理ロジックを実行させる。ハイパーコールプロキシ114は、ハイパーコール管理ロジック118の少なくとも一部を実行することにより、1つ又は複数の関連付けられたハイパーコール管理関数を実行させ得る。
管理関数は、1つ又は複数のゲストオペレーティングシステム及び中間ゲストマネージャ110が単一の仮想マシン内で実行できるようにするために、中間ゲストマネージャ110によって実行される関数であり得る。例えば、特定のハイパーコール管理関数には、メモリにアクセスするか、又はメモリに利用する全てのコールに関連付けられ得、特定のハイパーコール管理関数は、ハイパーコールによって利用又はアクセスされるメモリの特定の部分が、異なるゲストOS又は中間ゲストマネージャ110によって使用されていないことを保証することであり得る。
サービスは、仮想マシン100によって実行されて、VDCリソースのゲスト利用を強化する関数であり得る。中間ゲストマネージャ110によって実行される特定のサービスは、異なる実施形態により様々であり得る。
幾つかの実施形態では、中間ゲストマネージャ110は、データ暗号化サービスを実行する。ハイパーコールプロキシ114が、入力コールがデータの記憶又は検索であると判断することに応答して、ハイパーコールプロキシ114は、データ暗号化サービスロジックを呼び出し得る。データを記憶する要求の場合、データ暗号化サービスは、記憶ユニットに保存する前にデータを暗号化し得る。データを検索する要求の場合、データ暗号化サービスは、記憶ユニットからデータを検索した後、データを復号化し得、復号化されたデータを要求側ゲストオペレーティングシステムに戻し得る。中間ゲストマネージャ110は、暗号化及び復号化のための暗号鍵を記憶し得る。暗号鍵を中間ゲストマネージャ110に記憶することは、暗号鍵をゲストオペレーティングシステムに記憶するよりも安全であり得、その理由は、中間ゲストマネージャ110に記憶された暗号鍵には、RAMスクレーパ等のゲストオペレーティングシステムの悪意のある侵入者がアクセス不可能であり得るためである。同様に、他の機密情報は、セキュリティを高めるために、ゲストオペレーティングシステムの代わりに中間ゲストマネージャ110に記憶し得る。
別の実施形態では、中間ゲストマネージャ110は、リソースへのアクセス増大サービスを提供する。ゲストオペレーティングシステム102、106は、VDC記憶ユニット及び/又は他の仮想マシン等の様々なリモートリソースと通信する必要があり得る。例えば、ゲストOS102又は106は、ゲストアプリケーション104又は108によって利用されるゲストデータを記憶するVDC記憶ユニットと通信する必要があり得る。しかし、エンティティは、リモートリソースと通信するために、特別なソフトウェアをインストールし構成することが要求され得る。例えば、エンティティは、iSCSIプロトコルを使用してのみ、VDC記憶ユニット又は仮想マシンと通信し得る。iSCSIプロトコルは、エンティティがリモートリソースと、あたかもローカルに取り付けられた装置であるかのように通信できるようにし得る。しかし、iSCSIプロトコルを介して通信を送信することは、送信側エンティティが、インストールされたiSCSIイニシエータソフトウェアを有し、適宜構成される場合のみ可能であり得、インストール及び構成は面倒なプロセスであることが多い。従来の手法では、iSCSIイニシエータソフトウェアをインストールし構成するように、クライアントシステムを変更する必要がある。
iSCSIイニシエータソフトウェアが中間ゲストマネージャ110にインストールされるシステムでは、ゲストオペレーティングシステム102及び106は、いかなるソフトウェアもインストールする必要なく、iSCSIプロトコルを介してのみ通信を受け入れるリモートリソースと通信できるようにし得る。例えば、ゲストオペレーティングシステム102又は106は、中間ゲストマネージャ110におけるハイパーコールプロキシ114によってインターセプトされるローカルに取り付けられた記憶ユニットと通信する要求を含むハイパーコールを送信することにより、リモートVDC記憶ユニット又は仮想マシンと通信し得る。ハイパーコールをインターセプトすると、中間ゲストマネージャ110は、ゲストオペレーティングシステムの代理として、iSCSIプロトコルを使用してリモートリソースに通信を送信し得る。したがって、ゲストオペレーティングシステムは、あたかもローカルに取り付けられたリソースであるかのように、リモートリソースと通信し得る。中間ゲストマネージャ110はまた、iSCSIプロトコルを介して通信を受信することもでき、そのような通信を適切なゲストオペレーティングシステムに転送し得る。
幾つかの実施形態では、中間ゲストマネージャ110は、ゲストオペレーティングシステム102及び106が、ゲストオペレーティングシステムの代理として、様々なVDC記憶ユニット又は他のVDCリソースを管理するリモート仮想マシンと通信できるようにする。外部仮想マシンは、2013年3月15日に出願されたStorage Unit Selection For Virtualized Storage Unitsという名称の米国特許出願第13/837,375号明細書に記載されるように、リソースアドミニストレータ106であってもよく、又は2013年3月15日に出願されたAutomatic Tuning of Virtual Data Center Resource Utilization Policiesという名称の米国特許出願第13/837,456号明細書に記載されるように、記憶装置アドミニストレータ106であってもよい。
中間ゲストマネージャ110は、ゲストオペレーティングシステムの代理として、リモート仮想マシンに通信を送信するか、又はリモート仮想マシンから通信を受信することにより、ゲストオペレーティングシステム102又は106が外部仮想マシンと通信できるようにし得る。ゲストオペレーティングシステム102、106によるVDCリソースの利用は、リモート管理仮想マシンと通信することによって強化し得、これにより、様々なVDCリソースの品質及び一貫性を改善させ得る。
一実施形態では、中間ゲストマネージャ110は、トラフィック制御サービスを提供する。トラフィック制御サービスは、ゲストオペレーティングシステム102又は106等の1つ又は複数のゲストオペレーティングシステムによって生成されるトラフィックの量又は速度を監視し制御し得る。ハイパーコールプロキシ114は、データを送信するか、又は検索する要求を含む、特定のゲストオペレーティングシステムからのハイパーコールを受信することに応答して、トラフィック制御サービスロジックを呼び出し得る。トラフィック制御サービスは、特定のゲストオペレーティングシステムから生成されるトラフィック量を監視し得、トラフィック量が、所与の時間期間中に許容されるトラフィックの特定の閾値量を超える場合、中間ゲストマネージャ110は、データを送信又は検索する特定のゲストオペレーティングシステムの能力を制限し得る。中間ゲストマネージャ110は、少なくとも部分的に、ゲストオペレーティングシステムによる1つ又は複数のデータ記憶要求又は検索要求の完了を阻止することにより、特定のゲストオペレーティングシステムがトラフィックを生成しないようにし得る。トラフィック量制限サービスは、個々のゲストオペレーティングシステムがリソースの不均衡シェアを利用しないこと、又はゲストオペレーティングシステムへの侵入者が、1つ若しくは複数のターゲットを大量の要求で溢れさせることによりサービスへの接続拒絶を実施させることに成功しないようにすることを保証し得る。
別の例として、中間ゲストマネージャ110は、アンチウィルスサービスを提供し得る。アンチウィルスサービスは、1つ若しくは複数のゲストオペレーティングシステムに割り振られるメモリの部分又はゲストオペレーティングシステムによって利用される様々なVDCリソースをスキャンして、悪意のあるデータ又は侵入の他の証拠を検出し得る。幾つかの実施形態では、中間ゲストマネージャ110は、部分的に、メモリがゲストオペレーティングシステム102、106と中間ゲストマネージャ110との間で厳密に分割されないことに起因して、仮想マシン100内のゲストオペレーティングシステムに割り振られたメモリをスキャンすることが可能である。アンチウィルスサービス等の幾つかのサービスのロジックは、ゲストオペレーティングシステムからのハイパーコールに応答して実行させるのではなく、自動的に実行し得る。
本発明を用いない場合には、仮想マシン100内の各ゲストオペレーティングシステムにインストールする必要があり得るソフトウェアは、代わりに、中間ゲストマネージャ110内のサービスとして、単一のロケーションにインストールし得る。中間ゲストマネージャ110はゲストオペレーティングシステムのハイパーコールをインターセプトし得るため、この手法はなお、ソフトウェアの機能を別個の各ゲストオペレーティングシステムにさらされる。
例えば、アンチウィルスソフトウェアを中間ゲストマネージャ110にインストールすることにより、仮想マシン100内の各ゲストオペレーティングシステムにアンチウィルスソフトウェアをインストールすることよりも優れた多くの利点を提供し得る。アンチウィルスソフトウェアは、中間ゲストマネージャ110内の単一のロケーションにインストールされるため、アンチウィルスソフトウェア開発者は、ゲストサービスロジック116内に配置されたアンチウィルスソフトウェアの単一のバージョンを更新するだけで、全てのゲストオペレーティングシステムに更新されたセキュリティを提供し得る。更に、アンチウィルスソフトウェアは、仮想マシン100内のゲストオペレーティングシステムの1つ又は複数の異なるオペレーティングシステムと互換性を有する必要がない。アンチウィルスソフトウェアは、中間ゲストマネージャ110のオペレーティングシステムのみと互換性を有し得る。
幾つかの実施形態では、中間ゲストマネージャ110は、ハイパーコールによって要求された動作を実行させる。要求された動作は、関連付けられたサービス又はハイパーコール管理関数を実行することによって完了し得るか、又はサービス若しくは管理関数が実行された後に完了し得る。例えば、ハイパーコールが、メモリから読み出す要求である場合、ハイパーコールプロキシ114は、要求された情報をメモリから検索させ、要求ゲストオペレーティングシステムに返し得る。システムコールの受信をサポートするハイパーバイザの場合、ハイパーコールプロキシ114は、少なくとも部分的に、メモリ情報を要求するハイパーコールをハイパーバイザ122に送信することにより、要求された情報をメモリから検索させ、要求ゲストオペレーティングシステムに返し得る。ハイパーバイザ122がハイパーコールを受け入れない実施形態等の他の実施形態では、ハイパーコールプロキシ114は、少なくとも部分的に、ハイパーコールハンドラ124を介してホストマシン120のメモリにアクセスすることにより、要求された情報をメモリから検索させ、要求ゲストオペレーティングシステムに返し得る。
一実施形態では、中間ゲストマネージャ110は、メモリスナップショットサービスを提供する。サービスは、メモリスナップショットとして1つ又は複数のゲストオペレーティングシステム102、106によって利用されるメモリの各部分の状態又はゲストOS102、106及び中間ゲストマネージャ110によって利用されるメモリの部分を含む仮想マシン100によって利用されるメモリの各部分の状態を捕捉し得る。メモリスナップショットは、後に利用して、ゲストオペレーティングシステム102、106を、捕捉された状態と同じ状態で再開させるために利用してもよく、又は異なる目的で使用してもよい。
一実施形態では、メモリスナップショットを利用して、1つ又は複数のゲストオペレーティングシステムを異なる仮想マシン、異なるホストマシン、及び/又は異なるVDCに移行させる。例えば、ホストマシン120は、第1のクラウドサービスプロバイダによってホストされ得、中間ゲストマネージャ110は、第2のクラウドサービスプロバイダによってホストされる新しい仮想マシンに、仮想マシン100と同じ状態を持たせ得る。中間ゲストマネージャ110は、新しい仮想マシンのメモリの状態をメモリスナップショットによって識別される状態と同じにすることにより、新しい仮想マシンに仮想マシン100と同じ状態を持たせ得る。中間ゲストマネージャの移行サービスは、VDCリソースの故障等のトリガー条件の検出に応答して、移行を自動的に発生させ得る。
置換中の仮想マシンは、記憶ユニット等の1つ又は複数のVDCリソースにリンクし得る。中間ゲストマネージャ110は、新しい仮想マシンを同じVDCリソースにリンクさせ得るか、又は新しいVDCリソースのセットを、前のVDCソースの複製として開始させ得る。中間ゲストマネージャ110は、複製VDCリソースを新しい仮想マシンにリンクさせ得る。
様々な実施形態によれば、図4、図5に示される方法の1つ又は複数のステップは、省いてもよく、又は異なる順序で実行してもよい。
3.0 実施のメカニズム − ハードウェア概説
図6は、本発明の一実施形態を実施し得るコンピュータシステム600を示すブロック図である。コンピュータシステム600は、情報を通信するバス602又は他の通信機構と、バス602に結合され、情報を処理するプロセッサ604とを含む。コンピュータシステム600は、バス602に結合され、プロセッサ604によって実行される情報及び命令を記憶する、ランダムアクセスメモリ(RAM)又は他のダイナミック記憶装置等のメインメモリ606も含む。メインメモリ606は、命令の実行中、プロセッサ604によって実行される一時変数又は他の中間情報の記憶にも使用し得る。コンピュータシステム600は、バス602に結合され、プロセッサ604の静的情報及び命令を記憶する、読み取り専用メモリ(ROM)608又は他のスタティック記憶装置を更に含む。磁気ディスク又は光ディスク等の記憶装置610が提供され、バス602に結合されて、情報及び命令を記憶する。
コンピュータシステム600は、バス602を介して、陰極線管(CRT)等のディスプレイ612に結合されて、情報をコンピュータユーザに表示し得る。英数字及び他のキーを含む入力装置614は、バス602に結合され、情報及びコマンド選択をプロセッサ604に通信する。別のタイプのユーザ入力装置は、方向情報及びコマンド選択をプロセッサ604に通信するとともに、ディスプレイ612上のカーソルの移動を制御する、マウス、トラックボール、又はカーソル方向キー等のカーソル制御装置616である。この入力装置は通常、装置が平面において位置を指定できるようにする、第1の軸(例えば、x)及び第2の軸(例えば、y)の2つの軸において2つの自由度を有する。
本発明は、本明細書に記載される技法を実施するコンピュータシステム600の使用に関連する。本発明の一実施形態によれば、それらの技法は、プロセッサ604がメインメモリ606に含まれる1つ又は複数の命令の1つ又は複数のシーケンスを実行することに応答して、コンピュータシステム600によって実行される。そのような命令は、記憶装置610等の別のマシン可読媒体からメインメモリ606に読み込み得る。メインメモリ606に含まれる命令シーケンスの実行は、プロセッサ604に本明細書に記載されるプロセスステップを実行させる。代替の実施形態では、ハードワイヤード回路を、本発明を実施するソフトウェア命令の代替として、又は代わりとして使用し得る。したがって、本発明の実施形態は、ハードウェア回路及びソフトウェアの任意の特定の組合せに限定されない。
「マシン可読媒体」という用語は、本明細書で使用される場合、マシンを特定の様式で動作させるデータを提供することに参加する任意の媒体を指す。コンピュータシステム600を使用して実施される一実施形態では、様々なマシン可読媒体が、例えば、実行のために命令をプロセッサ604に提供することに関わる。そのような媒体は、記憶媒体及び伝送媒体を含むが、これらに限定されない多くの形態を取り得る。記憶媒体は、不揮発性媒体及び揮発性媒体の両方を含む。不揮発性媒体は、例えば、記憶装置610等の光ディスク又は磁気ディスクを含む。揮発性媒体は、メインメモリ606等のダイナミックメモリを含む。伝送媒体は、バス602を構成するワイヤを含め、同軸ケーブル、銅線、及び光ファイバを含む。伝送媒体は、無線波及び赤外線データ通信中に生成されるなどの音響波又は光波の形態をとることもできる。全てのそのような媒体は、媒体によって搬送される命令が、命令をマシンに読み込む物理的機構によって検出できるようにするように有形でなければならない。
マシン可読媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、若しくは任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、紙テープ、パターンになった穴を有する任意の他の物理的媒体、RAM、PROM、及びEPROM、フラッシュ−EPROM、任意の他のメモリチップ若しくはカートリッジ、後述する搬送波、又はコンピュータが読み取ることができる任意の他の媒体を含む。
様々な形態のマシン可読媒体が、実行のために、1つ又は複数の命令の1つ又は複数のシーケンスをプロセッサ604に搬送することに関わり得る。例えば、命令はまず、リモートコンピュータの磁気ディスクで搬送し得る。リモートコンピュータは、命令をダイナミックメモリにロードし、モデムを使用して電話回線を介して命令を送信することができる。コンピュータシステム600にローカルなモデムは、電話回線上でデータを受信し、赤外線送信器を使用してデータを赤外線信号に変換することができる。赤外線検出器は、赤外線信号で搬送されるデータを受信することができ、適切な回路が、データをバス602上に配置することができる。バス602は、データをメインメモリ606に搬送し、メインメモリ606から、プロセッサ604は命令を検索して実行する。メインメモリ606によって受信される命令は、任意選択的に、プロセッサ604による実行前又は実行後に記憶装置610に記憶し得る。
コンピュータシステム600は、バス602に結合される通信インタフェース618も含む。通信インタフェース618は、ローカルネットワーク622に接続されるネットワークリンク620への双方向データ通信結合を提供する。例えば、通信インタフェース618は、データ通信接続を対応するタイプの電話回線に提供する総合デジタル通信網(ISDN)カード又はモデムであり得る。別の例として、通信インタフェース618は、データ通信接続を互換性のあるLANに提供するローカルエリアネットワーク(LAN)カードであり得る。無線リンクを実施することも可能である。任意のそのような実装形態では、通信インタフェース618は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号、又は光信号を送受信する。
ネットワークリンク620は通常、1つ又は複数のネットワークを通して他のデータ装置へのデータ通信を提供する。例えば、ネットワークリンク620は、ローカルネットワーク622を通したホストコンピュータ624又はインターネットサービスプロバイダ(ISP)626によって操作されるデータ機器への接続を提供し得る。そして、ISP626は、現在では一般に「インターネット」628と呼ばれる世界規模パケットデータ通信ネットワークを通してデータ通信サービスを提供する。ローカルネットワーク622及びインターネット628は両方とも、デジタルデータストリームを搬送する電気信号、電磁信号、又は光信号を使用する。デジタルデータをコンピュータシステム600に搬送するとともに、デジタルデータをコンピュータシステム600から搬送する、様々なネットワークを通しての信号及び通信インタフェース618を通してのネットワークリンク620上の信号は、情報を輸送する搬送波の例示的な形態である。
コンピュータシステム600は、ネットワーク、ネットワークリンク620、及び通信インタフェース618を通して、プログラムコードを含め、メッセージを送信し、データを受信することができる。インターネットの例では、サーバ630が、インターネット628、ISP626、ローカルネットワーク622、及び通信インタフェース618を通してアプリケーションプログラムの要求コードを送信し得る。
受信されたコードは、受信時にプロセッサ604によって実行し得、且つ/又は後に実行するために記憶装置610又は他の不揮発性記憶装置に記憶し得る。このようにして、コンピュータシステム600は、搬送波の形態でアプリケーションコードを取得し得る。
4.0 拡張及び代替
上記明細書において、実装形態毎に異なり得る多くの特定の詳細を参照して、本発明の実施形態について説明した。したがって、本発明がどのようなものであり、及び本発明として本出願人らによってどのようなものが意図されるかの唯一且つ排他的な指標は、後続するいかなる補正も含め、請求項が発行される特定の形態で、本願から発行される1組のそのような請求項である。そのような特許請求の範囲に含まれる用語について本明細書で明示的に記載されるいかなる定義も、特許請求の範囲で使用されるそのような用語の意味を支配するものとする。したがって、請求項において明示的な記載されない限定、要素、特性、特徴、利点、又は属性は、そのような請求項の範囲を決して限定しないものとする。したがって、本明細書及び図面は、限定の意味ではなく例示の意味で見なされるべきである。
以下、本発明の実施態様項について説明する。
[実施態様項1]
中間マネージャと同じマシンに配置されるゲストオペレーティングシステムから、前記中間マネージャとは別個の特定のハイパーバイザに向けられたハイパーコールを、前記中間マネージャにおいてインターセプトする工程、
前記中間マネージャは前記特定のハイパーバイザではなく、
特定の中間サービスに前記ハイパーコールが関連付けられていると判断する工程、
前記特定の中間サービスに関連付けられたサービス命令を実行させる工程、
を含み、
1つ又は複数の計算装置によって実行されることを特徴とする方法。
[実施態様項2]
前記ゲストオペレーティングシステム及び前記中間マネージャは、ホストマシンによってホストされ、かつ、ホストハイパーバイザによって管理される仮想マシン内で動作することを特徴とする実施態様項1に記載の方法。
[実施態様項3]
前記中間マネージャは、前記ホストマシンを制御するクラウドサービスプロバイダ及び前記ゲストオペレーティングシステム内のロジックの実行を制御するクライアントとは異なるマネージャによって制御されることを特徴とする実施態様項2に記載の方法。
[実施態様項4]
ハイパーコール関数定義のセットを前記ゲストオペレーティングシステムに提供する工程を更に含み、
少なくとも1つのハイパーコール定義は、対応するハイパーコールを前記中間マネージャへ送信させるものであり、
前記ハイパーコール関数定義のセットの特定のハイパーコール関数定義は、前記特定のハイパーコール関数定義に対応するハイパーコールが前記中間マネージャに送信されるべきであることを示すことを特徴とする実施態様項1に記載の方法。
[実施態様項5]
前記ゲストオペレーティングシステム及び前記中間マネージャは、ホストマシンによってホストされ、かつ、ホストハイパーバイザによって管理される仮想マシン内で動作し、
前記ハイパーコール関数定義のセットは、プロセッサ管理に関連する特定のハイパーコールに特定のハイパーコール関数定義を含み、かつ、前記特定のハイパーコール関数定義は、前記特定のハイパーコール関数定義に対応するハイパーコールが前記ホストハイパーバイザに直接送信されるべきものであることを示すことを特徴とする実施態様項4に記載の方法。
[実施態様項6]
前記ハイパーコールは、ローカルに取り付けられたリソースに対してデータを検索又は記憶する要求であり、かつ、前記サービス命令は、非ローカルに取り付けられたリソースに対してデータを検索又は記憶させることを特徴とする実施態様項1に記載の方法。
[実施態様項7]
前記ハイパーコールは、データの検索要求又は記憶要求であり、かつ、前記サービス命令は、前記データの暗号化又は復号化を実行させることを特徴とする実施態様項1に記載の方法。
[実施態様項8]
前記ハイパーコールは、データ検索要求又はデータ記憶要求であり、かつ、前記サービス命令は、前記ゲストオペレーティングシステムに適用可能なデータ制限に基づいて、前記ゲストオペレーティングシステムから送信される、又は、前記ゲストオペレーティングシステムに送信されるデータの量が許容されるか否かを判断させることを特徴とする実施態様項1に記載の方法。
[実施態様項9]
前記ゲストオペレーティングシステムは、仮想マシン内で動作する複数のゲストオペレーティングシステムの1つであることを特徴とする実施態様項2に記載の方法。
[実施態様項10]
前記ゲストオペレーティングシステムは、前記中間マネージャのオペレーティングシステムとは異なるタイプのオペレーティングシステムであることを特徴とする実施態様項1に記載の方法。
[実施態様項11]
前記ゲストオペレーティングシステムは、前記ホストハイパーバイザと直接動作可能であるように構成されないことを特徴とする実施態様項2に記載の方法。
[実施態様項12]
1つ又は複数の命令シーケンスを含む非一時的コンピュータ可読記憶媒体において、前記1つ又は複数の命令シーケンスは、1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに、
中間マネージャと同じマシンに配置されるゲストオペレーティングシステムから、前記中間マネージャとは別個の特定のハイパーバイザに向けられたハイパーコールを、前記中間マネージャにおいてインターセプトする工程、
前記中間マネージャは前記特定のハイパーバイザではなく、
特定の中間サービスに前記ハイパーコールが関連付けられていると判断する工程、
前記特定の中間サービスに関連付けられたサービス命令を実行させる工程、
を実行させ、
方法は、1つ又は複数の計算装置によって実行されることを特徴とする非一時的コンピュータ可読記憶媒体。
[実施態様項13]
前記ゲストオペレーティングシステム及び前記中間マネージャは、ホストマシンによってホストされ、かつ、ホストハイパーバイザによって管理される仮想マシン内で動作することを特徴とする実施態様項12に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項14]
前記中間マネージャは、前記ホストマシンを制御するクラウドサービスプロバイダ及び前記ゲストオペレーティングシステム内のロジックの実行を制御するクライアントとは異なるマネージャによって制御されることを特徴とする実施態様項13に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項15]
前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに、ハイパーコール関数定義のセットを前記ゲストオペレーティングシステムに提供する工程を実行させる命令シーケンスを備え、
少なくとも1つのハイパーコール定義は、対応するハイパーコールを前記中間マネージャへ送信させるものであり、
前記ハイパーコール関数定義のセットの特定のハイパーコール関数定義は、前記特定のハイパーコール関数定義に対応する前記ハイパーコールが前記中間マネージャに送信されるべきであることを示すことを特徴とする実施態様項12に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項16]
前記ゲストオペレーティングシステム及び前記中間マネージャは、ホストマシンによってホストされ、かつ、ホストハイパーバイザによって管理される仮想マシン内で動作し、
前記ハイパーコール関数定義のセットは、プロセッサ管理に関連する特定のハイパーコールに特定のハイパーコール関数定義を含み、かつ、前記特定のハイパーコール関数定義は、前記特定のハイパーコール関数定義に対応するハイパーコールが前記ホストハイパーバイザに直接送信されるべきであることを示すことを特徴とする実施態様項15に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項17]
前記ハイパーコールは、ローカルに取り付けられたリソースに対してデータを検索又記憶する要求であり、かつ、前記サービス命令は、非ローカルに取り付けられたリソースに対してデータを検索又は記憶させることを特徴とする実施態様項12に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項18]
前記ハイパーコールは、データの検索要求又は記憶要求であり、かつ、前記サービス命令は、前記データの暗号化又は復号化を実行させることを特徴とする実施態様項12に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項19]
前記ハイパーコールは、データ検索要求又はデータ記憶要求であり、かつ、前記サービス命令は、前記ゲストオペレーティングシステムに適用可能なデータ制限に基づいて、前記ゲストオペレーティングシステムから送信されるか、又は前記ゲストオペレーティングシステムに送信されるデータの量が許容されるか否かを判断させることを特徴とする実施態様項12に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項20]
前記ゲストオペレーティングシステムは、仮想マシン内で動作する複数のゲストオペレーティングシステムの1つであることを特徴とする実施態様項13に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項21]
前記ゲストオペレーティングシステムは、前記中間マネージャのオペレーティングシステムとは異なるタイプのオペレーティングシステムであることを特徴とする実施態様項12に記載の非一時的コンピュータ可読記憶媒体。
[実施態様項22]
前記ゲストオペレーティングシステムは、前記ホストハイパーバイザと直接動作可能であるように構成されないことを特徴とする実施態様項13に記載の非一時的コンピュータ可読記憶媒体。

Claims (12)

  1. 中間マネージャと同じマシンに配置されるゲストオペレーティングシステムから、前記中間マネージャとは別個の特定のハイパーバイザに向けられたハイパーコールを、前記中間マネージャにおいてインターセプトする工程、
    定の中間サービスに前記ハイパーコールが関連付けられていると判断する工程、
    前記特定の中間サービスに関連付けられたサービス命令を実行させる工程、
    を含み、
    1つ又は複数の計算装置によって実行されることを特徴とする方法。
  2. 前記ゲストオペレーティングシステム及び前記中間マネージャは、ホストマシンによってホストされ、かつ、ホストハイパーバイザによって管理される仮想マシン内で動作することを特徴とする請求項1に記載の方法。
  3. 前記中間マネージャは、前記ホストマシンを制御するクラウドサービスプロバイダ及び前記ゲストオペレーティングシステム内のロジックの実行を制御するクライアントとは異なるマネージャによって制御されることを特徴とする請求項2に記載の方法。
  4. ハイパーコール関数定義のセットを前記ゲストオペレーティングシステムに提供する工程を更に含み、
    少なくとも1つのハイパーコール関数定義は、対応するハイパーコールを前記中間マネージャへ送信させるものであり、
    前記ハイパーコール関数定義のセットの特定のハイパーコール関数定義は、前記特定のハイパーコール関数定義に対応するハイパーコールが前記中間マネージャに送信されるべきであることを示すことを特徴とする請求項1に記載の方法。
  5. 前記ゲストオペレーティングシステム及び前記中間マネージャは、ホストマシンによってホストされ、かつ、ホストハイパーバイザによって管理される仮想マシン内で動作し、
    前記ハイパーコール関数定義のセットは、プロセッサ管理に関連する別の特定のハイパーコールのための別の特定のハイパーコール関数定義を含み、かつ、前記別の特定のハイパーコール関数定義は、前記別の特定のハイパーコール関数定義に対応するハイパーコールが前記ホストハイパーバイザに直接送信されるべきものであることを示すことを特徴とする請求項4に記載の方法。
  6. 前記ハイパーコールは、ローカルに取り付けられたリソースに対してデータを検索又は記憶する要求であり、かつ、前記サービス命令は、非ローカルに取り付けられたリソースに対してデータを検索又は記憶させることを特徴とする請求項1に記載の方法。
  7. 前記ハイパーコールは、データの検索要求又は記憶要求であり、かつ、前記サービス命令は、前記データの暗号化又は復号化を実行させることを特徴とする請求項1に記載の方法。
  8. 前記ハイパーコールは、データ検索要求又はデータ記憶要求であり、かつ、前記サービス命令は、前記ゲストオペレーティングシステムに適用可能なデータ制限に基づいて、前記ゲストオペレーティングシステムから送信される、又は、前記ゲストオペレーティングシステムに送信されるデータの量が許容されるか否かを判断させることを特徴とする請求項1に記載の方法。
  9. 前記ゲストオペレーティングシステムは、前記仮想マシン内で動作する複数のゲストオペレーティングシステムの1つであることを特徴とする請求項2に記載の方法。
  10. 前記ゲストオペレーティングシステムは、前記中間マネージャのオペレーティングシステムとは異なるタイプのオペレーティングシステムであることを特徴とする請求項1に記載の方法。
  11. 前記ゲストオペレーティングシステムは、前記ホストハイパーバイザと直接動作可能であるように構成されないことを特徴とする請求項2に記載の方法。
  12. 1つ又は複数の命令シーケンスを含む非一時的コンピュータ可読記憶媒体において、前記1つ又は複数の命令シーケンスは、1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに、請求項1から11いずれか1項に記載の方法を実行させることを特徴とする非一時的コンピュータ可読記憶媒体。
JP2016501349A 2013-03-15 2014-03-11 仮想データセンタゲストへのサービスの拡大 Active JP6388455B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/842,670 2013-03-15
US13/842,670 US9292331B2 (en) 2013-03-15 2013-03-15 Expansion of services for a virtual data center guest
PCT/US2014/023811 WO2014150619A1 (en) 2013-03-15 2014-03-11 Expansion of services for a virtual data center guest

Publications (3)

Publication Number Publication Date
JP2016515267A JP2016515267A (ja) 2016-05-26
JP2016515267A5 JP2016515267A5 (ja) 2016-09-08
JP6388455B2 true JP6388455B2 (ja) 2018-09-12

Family

ID=50513452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016501349A Active JP6388455B2 (ja) 2013-03-15 2014-03-11 仮想データセンタゲストへのサービスの拡大

Country Status (10)

Country Link
US (2) US9292331B2 (ja)
EP (1) EP2972833B1 (ja)
JP (1) JP6388455B2 (ja)
KR (1) KR20150132861A (ja)
AU (1) AU2014235789A1 (ja)
BR (1) BR112015023588A2 (ja)
CA (1) CA2906424A1 (ja)
IL (1) IL241625B (ja)
TW (1) TWI620126B (ja)
WO (1) WO2014150619A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292331B2 (en) * 2013-03-15 2016-03-22 Bracket Computing, Inc. Expansion of services for a virtual data center guest
US20150205531A1 (en) * 2014-01-20 2015-07-23 Seagate Technology Llc Adding Storage Capacity to an Object Storage System
US9417927B2 (en) * 2014-04-01 2016-08-16 International Business Machines Corporation Runtime capacity planning in a simultaneous multithreading (SMT) environment
US9361159B2 (en) 2014-04-01 2016-06-07 International Business Machines Corporation Runtime chargeback in a simultaneous multithreading (SMT) environment
US9294567B2 (en) * 2014-05-02 2016-03-22 Cavium, Inc. Systems and methods for enabling access to extensible storage devices over a network as local storage via NVME controller
US9430268B2 (en) 2014-05-02 2016-08-30 Cavium, Inc. Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via NVMe controllers
US9529773B2 (en) * 2014-05-02 2016-12-27 Cavium, Inc. Systems and methods for enabling access to extensible remote storage over a network as local storage via a logical storage controller
US10191762B2 (en) * 2017-01-31 2019-01-29 Vmware, Inc. Transparent deployment of intermediary manager into guest operating system network traffic
US10171487B2 (en) * 2017-02-15 2019-01-01 International Business Machines Corporation Generating a virtual database to test data security of a real database
US10810032B2 (en) 2017-02-22 2020-10-20 Red Hat, Inc. System and method for dynamic guest-controlled halt polling using a CPU governor
US10579412B2 (en) * 2017-04-07 2020-03-03 Nec Corporation Method for operating virtual machines on a virtualization platform and corresponding virtualization platform
US9892256B1 (en) * 2017-04-10 2018-02-13 Bracket Computing, Inc. Threat defense techniques
US11218535B2 (en) 2017-04-12 2022-01-04 Sony Corporation Information processing apparatus, information processing method, and computer program
US10356128B1 (en) 2017-07-27 2019-07-16 Vmware, Inc. Tag-based policy architecture
US10652281B1 (en) 2017-08-31 2020-05-12 Vmware, Inc. Network policy implementation in a tag-based policy architecture
US10509914B1 (en) 2017-10-27 2019-12-17 Vmware, Inc. Data policy implementation in a tag-based policy architecture
CN112700580B (zh) * 2020-12-21 2023-02-21 新疆品宣生物科技有限责任公司 智慧通行管理门禁系统及智慧通行管理方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529985B1 (en) * 2000-02-04 2003-03-04 Ensim Corporation Selective interception of system calls
WO2005036806A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Scalable partition memory mapping system
US7647589B1 (en) * 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
US8286162B2 (en) * 2005-12-30 2012-10-09 Intel Corporation Delivering interrupts directly to a virtual processor
JP5328087B2 (ja) * 2006-09-27 2013-10-30 ヤマハ株式会社 ルータ装置
US8151264B2 (en) * 2007-06-29 2012-04-03 Intel Corporation Injecting virtualization events in a layered virtualization architecture
JP4782871B2 (ja) * 2007-10-03 2011-09-28 富士通株式会社 デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置
US8555081B2 (en) * 2007-10-30 2013-10-08 Vmware, Inc. Cryptographic multi-shadowing with integrity verification
US8032680B2 (en) * 2008-06-27 2011-10-04 Microsoft Corporation Lazy handling of end of interrupt messages in a virtualized environment
JP2011048661A (ja) * 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
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
US8812871B2 (en) * 2010-05-27 2014-08-19 Cisco Technology, Inc. Method and apparatus for trusted execution in infrastructure as a service cloud environments
WO2011159842A2 (en) * 2010-06-15 2011-12-22 Nimbula, Inc. Virtual computing infrastructure
US8327373B2 (en) * 2010-08-24 2012-12-04 Novell, Inc. System and method for structuring self-provisioning workloads deployed in virtualized data centers
US8874823B2 (en) * 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
JP5439435B2 (ja) * 2011-06-14 2014-03-12 株式会社日立製作所 計算機システムおよびその計算機システムにおけるディスク共有方法
US9489396B2 (en) * 2011-07-01 2016-11-08 V3 Systems Holdings, Inc. Intermediation of hypervisor file system and storage device models
US8775773B2 (en) * 2011-08-26 2014-07-08 Vmware, Inc. Object storage system
US8881145B2 (en) * 2011-12-15 2014-11-04 Industrial Technology Research Institute System and method for generating application-level dependencies in one or more virtual machines
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
US9306978B2 (en) * 2013-03-15 2016-04-05 Bracket Computing, Inc. Automatic tuning of virtual data center resource utilization policies
US9335932B2 (en) * 2013-03-15 2016-05-10 Bracket Computing, Inc. Storage unit selection for virtualized storage units
US9292331B2 (en) 2013-03-15 2016-03-22 Bracket Computing, Inc. Expansion of services for a virtual data center guest

Also Published As

Publication number Publication date
TWI620126B (zh) 2018-04-01
TW201439917A (zh) 2014-10-16
WO2014150619A1 (en) 2014-09-25
US9292331B2 (en) 2016-03-22
AU2014235789A1 (en) 2015-11-05
EP2972833B1 (en) 2020-05-27
IL241625B (en) 2018-06-28
CA2906424A1 (en) 2014-09-25
US9535741B1 (en) 2017-01-03
EP2972833A1 (en) 2016-01-20
JP2016515267A (ja) 2016-05-26
KR20150132861A (ko) 2015-11-26
BR112015023588A2 (pt) 2017-07-18
US20140282521A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
JP6388455B2 (ja) 仮想データセンタゲストへのサービスの拡大
JP2016515267A5 (ja)
EP2880589B1 (en) Trusted execution environment virtual machine cloning
US9928101B2 (en) Certificate based connection to cloud virtual machine
US10262130B2 (en) System and method for providing cryptographic operation service in virtualization environment
US11153297B2 (en) Systems and methods to facilitate certificate and trust management across a distributed environment
US10540499B2 (en) Method for monitoring the security of a virtual machine in a cloud computing architecture
EP3289750B1 (en) Autonomous private key recovery
US11080408B2 (en) Secure information storage
US10581823B2 (en) Web client plugin manager in vCenter managed object browser
AU2020235010B2 (en) Starting a secure guest using an initial program load mechanism
US20130061219A1 (en) System and Method for Self-Aware Virtual Machine Image Deployment Enforcement
Yao et al. CryptVMI: A flexible and encrypted virtual machine introspection system in the cloud
US11025594B2 (en) Secret information distribution method and device
Mishra et al. Virtualization Security
CN116560787A (zh) 用存储在虚拟安全处理器中的实例元数据来配置实例
Jyothsna Virtualization Layer Security in Cloud Architecture

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171101

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180813

R150 Certificate of patent or registration of utility model

Ref document number: 6388455

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350