(57)【要約】仮想マシンネットワークにおいて仮想スイッチの構成を管理する技法が開示される。実施形態では、仮想スイッチを含む仮想マシンネットワークは、構成変更により、ＶＭ管理システムと被管理ノードとの接続が失われる場合、保存されたネットワーク構成に戻るように構成される。例えば、任意の構成変更が行われる前、アクティブ構成が保存される。新しい構成が、被管理ノードとＶＭ管理システムとの作業接続をサポートする場合、保存された構成はもはや必要ではなく、メモリからフラッシュされることができる。しかし、新しい構成が、被管理ノードをＶＭ管理システムから切断させる場合、システムは、機能することが前に知られていた保存された構成に戻る。ネットワークが引き続き機能するように、保存された構成が使用されて、接続が再確立される。
2016536901.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンネットワーク内で中央仮想マシン管理システムから仮想スイッチの構成を管理するプログラム命令を含む非一時的コンピュータ可読記憶媒体であって、
前記プログラム命令は、１つ又は複数のプロセッサによって実行されると、前記１つ又は複数のプロセッサに、
第１の構成を使用して仮想スイッチと仮想マシン管理システムとの通信接続を確立するステップと、
前記第１の構成を保存するステップと、
前記仮想マシン管理システムを介して第１の構成から第２の構成に前記構成を変更するステップと、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断するステップと、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であると判断される場合、保存された第１の構成をフラッシュするステップと、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能ではないと判断される場合、前記保存された構成を使用して前記構成を前記第２の構成から前記第１の構成に戻し、前記第１の構成を使用して前記仮想マシン管理システムを前記仮想スイッチに再接続するステップと、を含むステップを実行させる、非一時的コンピュータ可読記憶媒体。
【請求項２】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムと前記仮想スイッチとの間の構成メッセージプロトコルを監視することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項３】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムと前記仮想スイッチとの間の構成メッセージプロトコルを監視して、特定の確認メッセージが受信されるかを認知することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項４】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムと前記仮想スイッチとの間の構成メッセージプロトコルを監視して、特定の確認メッセージが予め構成される時間切れ期間内に受信されるかを認知することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項５】
前記予め構成される時間切れ期間は、５秒〜６０秒の範囲である、請求項４に記載の非一時的コンピュータ可読記憶媒体。
【請求項６】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムと前記仮想スイッチとの間の構成メッセージプロトコルを監視して、特定の確認メッセージが予め構成される時間切れ期間内に受信されるかを認知することを含み、
前記構成は、レイヤ２イーサネット構成であり、
構成を変更することは、仮想分散スイッチの構成を変更することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項７】
前記構成は、レイヤ２構成である、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項８】
前記構成は、レイヤ２イーサネット構成である、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項９】
構成を変更することは、
仮想標準スイッチの構成を変更することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１０】
構成を変更することは、
仮想分散スイッチの構成を変更することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記第１の構成は、前記仮想スイッチがインスタンス化されるホスト計算デバイスに保存される、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記第１の構成は、前記仮想スイッチがインスタンス化されるホスト計算デバイスに保存され、前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であると判断される場合、前記ホスト計算デバイスからフラッシュされる、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記仮想スイッチと前記仮想マシン管理システムとの間に確立される通信接続は、イーサネットを利用する、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムが、イーサネットを使用して前記仮想スイッチと通信可能であるかを判断することを含む、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
仮想マシンネットワーク内で中央仮想マシン管理システムから仮想スイッチの構成を管理する方法であって、
第１の構成を使用して仮想スイッチと仮想マシン管理システムとの通信接続を確立すること、
前記第１の構成を保存すること、
前記仮想マシン管理システムを介して第１の構成から第２の構成に前記構成を変更すること、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断すること、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であると判断される場合、保存された第１の構成をフラッシュすること、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能ではないと判断される場合、前記保存された構成を使用して前記構成を前記第２の構成から前記第１の構成に戻し、前記第１の構成を使用して前記仮想マシン管理システムを前記仮想スイッチに再接続することを備える方法。
【請求項１６】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムと前記仮想スイッチとの間の構成メッセージプロトコルを監視して、特定の確認メッセージが予め構成される時間切れ期間内に受信されるかを認知することを含む、請求項１５に記載の方法。
【請求項１７】
前記第１の構成は、前記仮想スイッチがインスタンス化されるホスト計算デバイスに保存され、前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であると判断される場合、前記ホスト計算デバイスからフラッシュされる、請求項１５に記載の方法。
【請求項１８】
コンピュータシステムであって、
インスタンス化された仮想マシン及びインスタンス化された仮想スイッチを実行するプロセッサ及びメモリを含む少なくとも１つのホスト計算デバイスと、
前記仮想マシン及び前記仮想スイッチを管理するように構成される仮想マシン管理システムとを備え、
前記少なくとも１つの計算デバイス及び前記仮想マシン管理システムは、
第１の構成を使用して仮想スイッチと仮想マシン管理システムとの通信接続を確立すること、
前記第１の構成を保存すること、
前記仮想マシン管理システムを介して第１の構成から第２の構成に構成を変更すること、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断すること、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であると判断される場合、保存された第１の構成をフラッシュすること、
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能ではないと判断される場合、前記保存された構成を使用して前記構成を第２の構成から前記第１の構成に戻し、前記第１の構成を使用して前記仮想マシン管理システムを前記仮想スイッチに再接続することを実行するように構成される、コンピュータシステム。
【請求項１９】
前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であるかを判断することは、
前記仮想マシン管理システムと前記仮想スイッチとの間の構成メッセージプロトコルを監視して、特定の確認メッセージが予め構成される時間切れ期間内に受信されるかを見ることを含む、請求項１８に記載のコンピュータシステム。
【請求項２０】
前記第１の構成は、前記仮想スイッチがインスタンス化されるホスト計算デバイスに保存され、前記仮想マシン管理システムが、前記構成が変更された後、前記仮想スイッチと通信可能であると判断される場合、前記ホスト計算デバイスからフラッシュされる、請求項１８に記載のコンピュータシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
仮想マシン（ＶＭ）等のソフトウェアアプリケーションは、ホスト計算デバイスのグループ又は「クラスタ」によって実行され得る。各ＶＭは、ＶＭを実行するホストのプロセッサ及びメモリ等の物理的計算リソースの抽象を作成し、「ゲスト」オペレーティングシステムを実行し、「ゲスト」オペレーティングシステムは１つ又は複数のソフトウェアアプリケーションを実行する。ゲストオペレーティングシステム及びソフトウェアアプリケーションに対して、抽象化リソースは、基本となる物理的リソースと機能的に区別不可能であり得る。
【０００２】
特定のホスト計算デバイス内で、仮想スイッチが使用されて、ＶＭとネットワーク内の他のノードとの間でデータパケットを通信することができる。例えば、物理的イーサネット（Ｅｔｈｅｒｎｅｔ）スイッチをエミュレートする仮想スイッチが、ホスト計算デバイス内で実施されて、ＶＭ間のデータパケットの通信を可能にしている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
物理的データパケットスイッチと同様に、仮想スイッチも、ノード間に作業接続を確立するために構成されるべき特定のネットワーキングパラメータを必要とする。数百ものホスト計算デバイス及び数千ものＶＭを含むことができる大規模ネットワークでは、中央管理システムが開発されて、管理者がネットワーク構成タスクを管理できるようにしている。中央管理システムは、構成情報を通信するために、仮想スイッチと管理システムとの間に作業ネットワーク接続を必要とする。しかし、幾つかの場合、管理システムから呼び出された構成変更は、管理システムと仮想スイッチとの接続を失わせることがある。仮想スイッチが管理システムから切断されることになる場合、管理への仮想スイッチの再接続は通常、労力集約的であり、面倒な作業である。
【課題を解決するための手段】
【０００４】
仮想マシンネットワークにおいて仮想スイッチの構成を管理する技法が開示される。実施形態では、仮想スイッチを含む仮想マシンネットワークは、構成変更により、ＶＭ管理システムと被管理ノード（例えば、仮想スイッチ）との接続が失われることになる場合、保存されたネットワーク構成に戻るように構成される。例えば、任意の構成変更が行われる前、アクティブ構成が保存される。新しい構成が、被管理ノードとＶＭ管理システムとの作業接続をサポートする場合、保存された構成はもはや必要ではなく、メモリからフラッシュされることができる。しかし、新しい構成が、被管理ノードをＶＭ管理システムから切断させる場合、システムは、機能することが前に知られていた保存された構成に戻る。ネットワークが引き続き機能するように、保存された構成が使用されて、接続が再確立される。接続失敗の場合に保存された構成にネットワークを戻せることは、通常、被管理ノードに再接続するために使用される従来の労力集約的で面倒な作業への効率的な代替を提供する。
【０００５】
実施形態では、仮想マシンネットワーク内で中央仮想マシン管理システムから仮想スイッチの構成を管理するプログラム命令を含む非一時的コンピュータ可読記憶媒体が開示される。１つ又は複数のプロセッサによるプログラム命令の実行は、１つ又は複数のプロセッサに、第１の構成を使用して仮想スイッチと仮想マシン管理システムとの通信接続を確立するステップと、第１の構成を保存するステップと、仮想マシン管理システムを介して第１の構成から第２の構成に構成を変更するステップと、仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であるかを判断するステップとを含むステップを実行させる。仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であると判断される場合、保存された第１の構成はフラッシュされる。仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能ではないと判断される場合、構成は、保存された構成を使用して第２の構成から第１の構成に戻され、仮想マシン管理システムは、第１の構成を使用して仮想スイッチに再接続される。
【０００６】
別の実施形態では、仮想マシンネットワーク内で中央仮想マシン管理システムから仮想スイッチの構成を管理する方法が開示される。本方法は、第１の構成を使用して仮想スイッチと仮想マシン管理システムとの通信接続を確立することと、第１の構成を保存することと、仮想マシン管理システムを介して第１の構成から第２の構成に構成を変更することと、仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であるかを判断することとを含む。仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であると判断される場合、本方法は、保存された第１の構成をフラッシュすることを含む。仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能ではないと判断される場合、本方法は、保存された構成を使用して構成を第２の構成から第１の構成に戻され、第１の構成を使用して仮想マシン管理システムを仮想スイッチに再接続することを含む。
【０００７】
別の実施形態では、コンピュータシステムが開示される。本コンピュータシステムは、インスタンス化仮想マシン及びインスタンス化仮想スイッチを実行するプロセッサ及びメモリを含む少なくとも１つのホスト計算デバイスと、仮想マシン及び仮想スイッチを管理するように構成される仮想マシン管理システムとを含む。少なくとも１つの計算デバイス及び仮想マシン管理システムは、第１の構成を使用して仮想スイッチと仮想マシン管理システムとの通信接続を確立することと、第１の構成を保存することと、仮想マシン管理システムを介して第１の構成から第２の構成に構成を変更することと、仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であるかを判断することとを実行するように構成される。仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であると判断される場合、保存された第１の構成はフラッシュされる。仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能ではないと判断される場合、構成は、保存された構成を使用して第２の構成から第１の構成に戻され、仮想マシン管理システムは、第１の構成を使用して仮想スイッチに再接続される。
【０００８】
本発明の実施形態の他の態様及び利点は、本発明の原理の例として示される添付図面と併せて解釈される以下の詳細な説明から明らかになろう。
【図面の簡単な説明】
【０００９】
【図１】仮想マシンをサポートするホスト計算デバイスのブロック図である。
【図２】仮想マシン（ＶＭ）管理システムにそれぞれ接続された複数のホスト計算デバイスを含むコンピュータネットワークの実施形態を示す。
【図３】複数のインスタンス化ＶＭを有するホスト計算デバイスでの仮想切り換えの概念を示す。
【図４】２つの異なるホスト計算デバイスで実施される２つの異なる仮想標準スイッチ（ＶＳＳ）の概念図を提供する。
【図５】２つの異なるホスト計算デバイスにわたって実施される仮想分散スイッチ（ＶＤＳ）の概念図を提供する。
【図６】本発明の実施形態による、構成変更がＶＭ管理システムとホスト計算デバイスとの作業接続を残すトランザクションワークフローを示す。
【図７】本発明の実施形態による、仮想分散スイッチの構成変更がＶＭ管理システムと被管理ノードとの接続を失わせるトランザクションワークフローを示す。
【図８】本発明の実施形態による、仮想標準スイッチの構成変更がＶＭ管理システムと被管理ノードとの接続を失わせる別のトランザクションワークフローを示す。
【図９】本発明の実施形態による、仮想マシン環境において中央管理システムから仮想スイッチの構成を管理する技法のプロセス流れ図である。
【発明を実施するための形態】
【００１０】
説明全体を通して、同様の参照符号は同様の要素の識別に使用し得る。
本明細書に概説され、添付図に示されるような実施形態の構成要素が、広範囲の異なる構成で配置され設計されることが可能なことが容易に理解されよう。したがって、図に表されるように、様々な実施形態の以下のより詳細な説明は、本開示の範囲の限定を意図せず、様々な実施形態の単なる代表である。実施形態の様々な態様が図面に提示されるが、図面は、特に示される場合を除き、必ずしも一定の縮尺で描かれていない。
【００１１】
本発明は、趣旨又は本質的な特徴から逸脱せずに、他の特定の形態で実施し得る。説明される実施形態は、全ての点で限定ではなく例示として見なされるべきである。したがって、本発明の範囲は、この詳細な説明ではなくむしろ添付の特許請求の範囲によって示される。特許請求の範囲の均等な意味及び範囲内にある全ての変更は、範囲内に包括されるものである。
【００１２】
特徴、利点、又は同様の用語への本明細書全体を通しての参照は、本発明を用いて実現し得る全ての特徴及び利点が、本発明の任意の単一の実施形態内にあるべき又はあることを暗に示すものではない。むしろ、特徴及び利点を参照する用語は、実施形態に関連して説明される特定の特徴、利点、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味するものとして理解される。したがって、特徴及び利点並びに同様の用語の考察は、本明細書全体を通して、同じ実施形態を指し得るが、必ずしもそうである必要はない。
【００１３】
さらに、説明される本発明の特徴、利点、及び特性は、１つ又は複数の実施形態において任意の適する様式で組み合わせられ得る。本明細書の記載に鑑みて、本発明が、特定の実施形態の特定の特徴又は利点のうちの１つ又は複数の特徴又は利点なしで実施可能であることを当業者は認識しよう。他の場合、本発明の全ての実施形態に存在しなくてもよい追加の特徴及び利点が、特定の実施形態で認識され得る。
【００１４】
「一実施形態」、「実施形態」、又は同様の用語への本明細書全体を通しての参照は、示される実施形態に関連して説明される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体を通しての「一実施形態では」、「実施形態では」という語句、及び同様の用語は全て、同じ実施形態を参照し得るが、必ずしもそうである必要はない。
【００１５】
図１は、計算デバイス１００にインスタンス化された仮想マシン（ＶＭ）２３５１、２３５２、・・・、２３５Ｎのブロック図を示し、計算デバイス１００は「ホスト計算デバイス」、「ホスト」、又は「ホストサーバ」と呼ばれ得る。ホスト計算デバイス１００は、ｘ８６アーキテクチャプラットフォーム等のハードウェア・プラットフォーム２０５を含む。ハードウェア・プラットフォーム２０５は、プロセッサ１０２、メモリ１０４、ネットワーク通信インターフェース１１２、ユーザ入力デバイス１１０、及び表示デバイス等の他の入／出力（Ｉ／Ｏ）デバイスを含み得る。仮想化ソフトウェア・レイヤは、以下、ハイパーバイザ２１０とも呼ばれ、ハードウェア・プラットフォーム２０５にインストールされる。
【００１６】
仮想化ソフトウェア・レイヤは、複数の仮想マシン（ＶＭ２３５１〜２３５Ｎ）が同時にインスタンス化され実行され得る仮想マシン実行空間２３０をサポートする。ハイパーバイザ２１０は、デバイスドライバ・レイヤ２１５を含み、ＶＭ２３５１〜２３５Ｎのそれぞれが各自の仮想ハードウェア・プラットフォーム（例えば、仮想ハードウェア・プラットフォーム２４０１〜２４０Ｎの対応する１つ）を有するように、ハードウェア・プラットフォーム２０５の物理的リソース（例えば、プロセッサ１０２、メモリ１０４、ネットワーク通信インターフェース１１２、及び／又はユーザ入力デバイス１１０）をＶＭ２３５１〜２３５Ｎのそれぞれの「仮想」リソースにマッピングする。各仮想ハードウェア・プラットフォームは、それ自体のエミュレートされたハードウェア（プロセッサ２４５、メモリ２５０、ネットワーク通信インターフェース２５５、及びユーザ入力デバイス２６０等）を含む。
【００１７】
幾つかの実施形態では、第１の仮想ハードウェア・プラットフォーム２４０１内のメモリ２５０は、ホスト計算デバイス１００のメモリ１０４（例えば、ハードディスク又は固体状態ディスク）に記憶された１つ又は複数の仮想ディスクイメージに関連付けられるか、又は「マッピング」される仮想ディスクを含む。仮想ディスクイメージは、第１の仮想マシン２３５１によって使用されるファイルシステム（例えば、ディレクトリ及びファイルの階層）を表す。追加又は代替として、仮想ディスクイメージは、ストレージエリアネットワーク（ＳＡＮ）等の１つ又は複数のリモート計算デバイスのメモリに記憶され得る。
【００１８】
ホスト計算デバイス１００の仮想ハードウェア・プラットフォーム２４０１〜２４０Ｎは、任意のｘ８６互換性デスクトップオペレーティングシステム（例えば、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）ウィンドウズ（ＷＩＮＤＯＷＳ）商標オペレーティングシステム、リナックス（ＬＩＮＵＸ）商標オペレーティングシステム、ソラリス（ＳＯＬＡＲＩＳ）商標オペレーティングシステム、ネットウェア（ＮＥＴＷＡＲＥ）、又はフリーＢＳＤ（ＦＲＥＥＢＳＤ））が、インスタンス化ＶＭ、例えば、ＶＭ２３５１〜２３５Ｎのアプリケーション２７０を実行するために、ゲストオペレーティングシステム（ＯＳ）２６５としてインストールされ得るように、標準ｘ８６ハードウェアアーキテクチャの均等物として機能し得る。仮想ハードウェア・プラットフォーム２４０１〜２４０Ｎは、仮想マシンモニタ（ＶＭＭ）２７５１〜２７５Ｎの一部であるとみなされ得、ＶＭＭは、ハイパーバイザ２１０と対応するＶＭ２３５１〜２３５Ｎとの間の動作を調整する仮想システムサポートを実施する。図１のホスト計算デバイス内の仮想化構成要素を説明するために使用される様々な用語、レイヤ、及びカテゴリが、機能又は本開示の趣旨若しくは範囲から逸脱せずに別様に呼ばれ得ることが当業者は認識しよう。例えば、仮想ハードウェア・プラットフォーム２４０１〜２４０Ｎは、ＶＭＭ２７５１〜２７５Ｎとは別個であると見なされることもでき、ＶＭＭ２７５１〜２７５Ｎは、ハイパーバイザ２１０とは別個であると見なされ得る。本開示の実施形態で使用され得るハイパーバイザ２１０の一例は、ＶＭウェア社（ＶＭＷＡＲＥ，ＩＮＣ．）から市販されているＶＭウェアＥＳＸ（ＶＭＷＡＲＥ  ＥＳＸ）商標ソフトウェア内の構成要素として含まれる。
【００１９】
図１の実施形態では、ホスト計算デバイス１００のデバイスドライバ・レイヤ２１５は、ネットワーク通信インターフェース１１２と対話して、例えば、ホスト計算デバイス１００に接続されたローカルエリアネットワーク（ＬＡＮ）とデータをやりとりする通信インターフェース・ドライバ２２０を含む。通信インターフェース・ドライバ２２０は、物理ネットワークでデータパケット（例えば、レイヤ２イーサネットパケット、ここで、ネットワークレイヤの概念は、国際標準化組織（ＩＳＯ）によって定義されるオープンシステム相互接続（ＯＳＩ）モデルに記載されている）の切り換えをエミュレートする仮想スイッチ２２５も含む。例えば、仮想スイッチは、同じホスト計算デバイス上の異なるＶＭ間でイーサネットパケットを切り換え得るか、又はネットワーク通信インターフェース１１２で受信したイーサネットパケットをＶＭ２３５１〜２３５Ｎの通信インターフェース２５５に切り換え得る。実施形態では、ネットワーク通信インターフェース１１２は、物理的ネットワークアダプタ（例えば、イーサネット・ネットワーク・インターフェースカード（ＮＩＣ））であり、一方、通信インターフェース２５５は仮想ネットワークアダプタ（例えば、仮想イーサネットＮＩＣ）である。物理的イーサネットＮＩＣと同様に、各仮想通信インターフェースには、一意の媒体アクセス制御（ＭＡＣ）アドレスが割り当てられ、ＭＡＣアドレスにより、仮想スイッチ２２５はイーサネットパケットをＶＭに及びＶＭから切り換えることができる。仮想ネットワークアダプタ及び仮想スイッチについてより詳細に後述する。
【００２０】
実施形態では、ホスト計算デバイス１００は、データセンタに一般に見られるサーバである。例として、ホスト計算デバイスは、１つ又は複数のサーバラック内の複数の他のホスト計算デバイスと共に設置され得る。通常、ホスト計算デバイスは、同じサーバラック内に配置される「クラスタ」に一緒にグループ化される。
【００２１】
図２は、例えば、ＬＡＮ及び／又はＷＡＮ接続１２２を介してＶＭ管理システム１２０にそれぞれ接続された複数のホスト計算デバイス１００を含むコンピュータネットワークの実施形態を示す。ホスト計算デバイスは、図１を参照して上述した仮想化ベースサービスを提供するように構成され、ＶＭ管理システムは、ホスト計算デバイス、各ホスト計算デバイス内で実行中の仮想マシン、ホスト計算デバイス内のネットワーク構成、プロビジョニング、移行、リソース割り振り等の管理を含め、仮想基盤を管理するように構成される。本開示の実施形態で使用され得るＶＭ管理システムの一例は、ＶＭウェア社（ＶＭＷＡＲＥ，ＩＮＣ．）から市販されているＶセンタサーバ（ＶＣＥＮＴＥＲ  ＳＥＲＶＥＲ）商標ソフトウェアである。実施形態では、ＶＭ管理システムは、ホスト計算デバイスとは物理的に別個のサーバマシンで実行されるが、ＶＭ管理システムがホスト計算デバイスのうちの１つで実行されることが可能である。実施形態では、ＶＭ管理システムは、ＶＭ管理システムクライアント１３０を通してユーザによってアクセス可能である。一実施形態では、クライアントは、スタンドアロンクライアント・アプリケーションであり、別の実施形態では、クライアントは、任意のネットワーク接続されたデバイスからの管理アクセスを提供するウェブブラウザ・アプリケーションとして提供される。ＶＭ管理システムクライアントにより、管理者は、ホスト計算デバイス、各ホスト計算デバイス内で実行中の仮想マシン、ネットワーク構成、プロビジョニング、移行、リソース割り振り等の管理を含め、仮想基盤を能動的に管理することができる。
【００２２】
図１を参照して上述したように、ホスト計算デバイス１００は仮想スイッチ２２５を含む。実施形態では、仮想スイッチにより、物理的なマシンが接続されるのと同じ方法で仮想マシンをネットワーク接続することができる。例えば、仮想スイッチにより、ホスト計算デバイス（例えば、ＥＳＸサーバ）上の仮想マシンは、追加のネットワーク接続されたハードウェアの必要なく、物理的スイッチを介して使用される同じプロトコルを使用して、互いに通信することができる。仮想スイッチは、標準ＶＬＡＮ実施と同等の仮想ＬＡＮ（ＶＬＡＮ）もサポートする。単一のホスト計算デバイスが複数の異なる仮想スイッチを含むことも可能である。
【００２３】
図３は、複数のインスタンス化ＶＭを有するホスト計算デバイスでの仮想切り替えの概念を示す。図３の概念図では、ホスト計算デバイス１００は、複数のインスタンス化ＶＭ（ＶＭ２３５１〜ＶＭ２３５Ｎ）、サービスコンソール２８０、複数の仮想通信インターフェース２５５（例えば、仮想イーサネットアダプタ）、複数の仮想スイッチ２２５、及び複数のネットワーク通信インターフェース１１２（例えば、物理的イーサネットアダプタ）を含む。仮想イーサネットアダプタ、仮想スイッチ、及び物理的イーサネットアダプタは、括弧付き行３０２、３０４、及び３０６でそれぞれ示される。ホスト計算デバイスの物理的イーサネットアダプタにより、ホスト計算デバイスは、製造ＬＡＮ（production LAN）３８２及び管理ＬＡＮ３８４を含め、異なる外部ＬＡＮに接続することができる。実施形態では、仮想イーサネットアダプタは、各自のＭＡＣアドレスと、ユニキャスト、マルチキャスト、及び／又はブロードキャストフィルタを有し、仮想イーサネットアダプタはレイヤ２デバイスである。図３に示されるように、仮想マシンに、１つ又は複数の仮想イーサネットアダプタが構成されることができ、各仮想イーサネットアダプタは、一意のＩＰアドレス及びＭＡＣアドレスを有する。仮想イーサネットアダプタの例は以下が挙げられる。
【００２４】
ｖｍｘｎｅｔ−ＶＭウェア（ＶＭｗａｒｅ）ツールがゲストオペレーティングシステムにインストールされている場合のみ機能する準仮想化デバイス。準仮想化デバイスは、仮想化環境で実行中の特定のアウェアネス（awareness）で設計されたデバイスである。
【００２５】
ｖｌａｎｃｅ−ＡＭＤ  ＬＡＮＣＥ  ＰＣＮｅｔ３２イーサネットアダプタの厳密なエミュレーションを提供する仮想デバイス。大半の３２ビットゲストオペレーティングシステムと互換である。このアダプタは、フレキシブルネットワークアダプタが選択されるが、ＶＭウェア（ＶＭｗａｒｅ）ツールがゲストオペレーティングシステムにインストールされていない場合、使用される。
【００２６】
ｅ１０００−インテル（ＩＮＴＥＬ）Ｅ１０００イーサネットアダプタの厳密なエミュレーションを提供する仮想デバイス。これは、６４ビット仮想マシンで使用される仮想イーサネットアダプタである。３２ビット仮想マシンでも利用可能である。
【００２７】
ｖｓｗｉｆ−ＥＳＸサーバサービスコンソールによってのみ使用されるｖｍｘｎｅｔアダプタと同様の準仮想化デバイス。
ｖｍｋｎｉｃ−ＥＳＸサーバホスト上の大半の物理的リソースを管理するソフトウェア・レイヤであるＶＭｋｅｒｎｅｌ内の仮想デバイス。ｖｍｋｎｉｃアダプタは、ＶＭｏｔｉｏｎ、ＮＦＳ、ＶＭｋｅｒｎｅｌレベルで実行されるソフトウェアｉＳＣＳＩクライアント、及びリモートコンソールトラフィックにサービスするＴＣＰ／ＩＰスタックによって使用される。実施形態では、ＶＭｋｅｒｎｅｌは、ＥＳＸサーバにネットワーク接続を提供するネットワーキングインターフェースである。
【００２８】
仮想スイッチ２２５は、計算デバイス１００（例えば、ＥＳＸサーバ）で実施されるように、物理的イーサネットスイッチと略同じように機能する。例えば、各仮想スイッチは、ＭＡＣ：ポート転送テーブルを保持し、各到着パケットの宛先ＭＡＣアドレスについての検索を実行し、次に、送信のためにパケットを１つ又は複数のポートに転送する。実施形態では、最高で２４８個の異なる仮想スイッチが作成されることができ、各ホスト計算デバイスで同時に実行することができる。
【００２９】
実施形態では、各スイッチは、仮想標準スイッチ（ＶＳＳ）又は仮想分散スイッチ（ＶＤＳ）の何れかとして実施することができる。図４は、２つの異なるホスト計算デバイスで実施される２つの異なるＶＳＳの概念図を提供する。図４に示されるように、「ホスト１」として識別されるホスト計算デバイス１００は、ハイパーバイザ２１０（例えば、ＥＳＸサーバ）を実行し、ＶＳＳ４２５はハイパーバイザに実装される。ＶＳＳは、２つのプレーン：データプレーン４２６及び管理プレーン４２７を有するものとして考えることができる。データプレーンは、実際のパケット切り換え、フィルタリング、タグ付け等を実施し、管理プレーンは、管理者がデータプレーン機能を構成できるようにするために使用される制御構造である。「ホスト２」として識別されるホスト計算デバイスは、同様のＶＳＳを含む。各ＶＳＳのデータプレーン及び管理プレーンは、各ホスト計算デバイスに存在し、管理者は、各ＶＳＳを個々に構成し保持しなければならない。
【００３０】
図５は、「ホスト１」及び「ホスト２」として識別される２つの異なるホスト計算デバイス１００にわたって実施されるＶＤＳ５２５の概念図を提供する。ＶＤＳは、関連付けられた全てのホスト計算デバイスにわたる単一の仮想スイッチとして機能する。複数のホスト計算デバイスにわたるＶＤＳを実施することの一利点は、ＶＤＳにより、複数のホスト計算デバイスにわたってＶＭが移行する際、仮想マシンが一貫したネットワーク構成を維持できることである。図５に示されるように、両方のホスト計算デバイスはハイパーバイザ２１０（例えば、ＥＳＸサーバ）を実行し、ＶＤＳは両ハイパーバイザにわたって実施される。ＶＤＳも、データプレーン５２６及び管理プレーン５２７を有するものとして考えることができ、データプレーンは各ハイパーバイザにローカルなままであるが、管理プレーンはＶＭ管理システム１２０に中央化される。ＶＤＳの実施は、個々のホストレベル仮想スイッチが、複数のホストにわたる単一の大きなＶＤＳにまとめられる集約リソースとしてネットワークを扱うことにより、ホスト毎の仮想スイッチ構成という管理負担を容易にすることができる。実施形態では、各ＶＭ管理システム（例えば、各Ｖセンター（ＶＣＥＮＴＥＲ）サーバインスタンス）は、最高で１２８個の異なるＶＤＳをサポートすることができ、各ＶＤＳは最高で５００個の異なるホスト計算デバイスにわたって分散することができる。
【００３１】
実施形態では、ＶＳＳ及びＶＤＳの両方によって実施される機能は、Ｌ２パケットの転送、ＶＬＡＮへのトラフィックのセグメント化、ＩＥＥＥ８０２．１ｑ  ＶＬＡＮカプセル化の使用及び理解、並びにアウトバウンド（ＴＸ）トラフィックのトラフィック整形（traffic shaping）を含む。実施形態では、ＶＤＳのみによって実施される機能は、インバウンド（ＲＸ）トラフィック整形、Ｖセンタ（ＶＣＥＮＴＥＲ）サーバを通しての中央化された統一管理インターフェース、及びプライベートＶＬＡＮ（ＰＶＬＡＮ）を含む。
【００３２】
再び図３を参照すると、仮想スイッチ２２５は、ＶＳＳであれ、又はＶＤＳであれ、通常、中央化ＶＭ管理システム１２０から管理される。ＶＭ管理システムと被管理ノード（例えば、ホスト計算デバイス及び／又は仮想スイッチ）との接続が失われる場合、被管理ノードはもはやＶＭ管理システムと通信することができない。
【００３３】
様々な異なるイベントが、ＶＭ管理システムと被管理ノードとの接続を失わせることがある。これらのイベントは、例えば、２つのカテゴリにグループ化することができる：ホストネットワーキングイベント（例えば、ＶＳＳに関連）及び分散スイッチイベント（例えば、ＶＤＳに関連）。接続を失わせることになり得るホストネットワーキングイベントは、物理的ＮＩＣの速度又はデュプレックス（duplex）の更新、ＤＮＳ及びルーティング設定の更新、管理ＶＭｋｅｒｎｅｌネットワークアダプタを含む標準ポートグループのチーム編成及びフェイルオーバポリシー又はトラフィック整形ポリシーの更新、管理ＶＭｋｅｒｎｅｌネットワークアダプタを含む標準ポートグループのＶＬＡＮの更新、管理ＶＭｋｅｒｎｅｌネットワークアダプタ及び対応する仮想スイッチの最大送信単位（MTU : maximum transmission unit）の物理的基盤によってサポートされない値への更新、管理ＶＭｋｅｒｎｅｌネットワークアダプタのＩＰ設定の変更、並びにＶＳＳ又はＶＤＳからの管理ＶＭｋｅｒｎｅｌネットワークアダプタの除去を含む。接続を失わせることになり得る分散スイッチイベントは、分散スイッチのＭＴＵの変更、管理ＶＭｋｅｒｎｅｌネットワークアダプタの分散ポートグループ内の設定（チーム編成及びフェイルオーバ、ＶＬＡＮ、トラフィック整形）の変更、管理ＶＭｋｅｒｎｅｌネットワークアダプタを含む分散ポートグループ内の全てのポートの遮断、及び管理ＶＭｋｅｒｎｅｌネットワークアダプタが接続される分散ポートの上記ポリシーのオーバーライドを含む。
【００３４】
仮想化環境が、数百の異なるホスト計算デバイスで実行中の数千の異なるＶＭを含む場合、１つ又は複数のホストをＶＭ管理システムから切断させる構成変更は、ネットワーク内の深刻な混乱を生じさせることがある。これは、ＶＤＳを実行中の場合、特に重要である。複数のホスト計算デバイスに同じＶＤＳが関連付けられたＶＤＳ環境では、管理ポートグループの任意のネットワーク故障又は構成誤りは潜在的に、ＶＭ管理システムから全てのホスト計算デバイスを切断させることがある。この状況では、ＶＭ管理システムは、中央からＶＤＳ構成（例えば、ＶＤＳポートグループ）へのいかなる変更も行うことができず、それらの変更をホスト計算デバイスにプッシュする（push）ことができない。そのような切断から回復する主な方法は、個々のホスト計算デバイスに行き、適切な管理ネットワーク構成を有するＶＳＳを構築することによる。影響を受けたホストの全ての管理ネットワークにＶＳＳが構成されており、管理ネットワーク上で通信可能な場合、ＶＭ管理システムは再び、ホスト計算デバイスを管理し、ＶＤＳを再構成することができる。
【００３５】
本発明の実施形態によれば、仮想スイッチを含む仮想マシンネットワークは、構成変更が、ＶＭ管理システムと被管理ノード（例えば、ＶＳＳ又はＶＤＳ）との接続を失わせる場合、保存されたネットワーク構成に戻すように構成される。例えば、任意の構成変更が行われる前、アクティブ構成が保存される。新しい構成が被管理ノードとＶＭ管理システムとの作業接続をサポートする場合、保存された構成はもはや必要なく、対応するホスト計算デバイスのメモリからフラッシュする（flush）ことができる。しかし、新しい構成が被管理ノードをＶＭ管理システムから切断させる場合、システムは、前に機能することが分かっていた保存された構成に戻る。ネットワークが引き続き機能するように、保存された構成が使用されて、接続が再確立される。接続が失敗した場合、ネットワークが保存された構成に戻ることができるようにすることは、通常、被管理ノードの再接続に使用される従来の労力集約的で面倒な作業への効率的な代替を提供する。
【００３６】
様々な技法が使用されて、ＶＭ管理システムが被管理ノードに接続され、したがって、被管理ノードと通信可能であるかを判断することができる。実施形態では、ＶＭ管理システムと被管理ノードとの間での既知の構成メッセージプロトコルが監視されて、ＶＭ管理システムと被管理ノードとの接続のステータスを特定する。例えば、被管理ノードへの構成呼び出しを行った後、ＶＭ管理システムは、所定量の時間だけ待ち、作業接続を示す特定の確認メッセージが受信されるかどうかを認知する。同様に、ＶＭ管理システムから構成呼び出しを受信した後、被管理ノードは、所定量の時間だけ待ち、特定の確認メッセージが受信されるかどうかを認知する。特定の予期されるメッセージが受信されるかどうかに応じて、ＶＭ管理システム及び／又は被管理ノードは、作業接続が存在する場合、保存された構成をフラッシュすることができ、又は接続が失われる場合、保存された構成に戻り、再接続することができる。
【００３７】
図６〜図８は、上述した技法を利用して、ＶＭ管理システムと被管理ノード（例えば、図１を参照して説明したようなホスト計算デバイス１００及び／又は仮想スイッチ２２５）との接続を保証するトランザクションワークフローを示す。図６は、構成変更がＶＭ管理システムと被管理ノードとの作業接続を残す場合を示し、図７及び図８は、構成変更がＶＭ管理システムと被管理ノードとの接続を失わせる２つの場合を示す。
【００３８】
図６は、ＶＭ管理システムクライアント１３０、ＶＭ管理システム１３０、及び図２に示されるホスト計算デバイス１００の１つの間のメッセージフローを示す。実施形態では、図６のメッセージフローは、ＶＭ管理システムを通して行われたＶＤＳ又はポートグループ構成変更に適用可能である。第１の動作において、構成コマンド（ＶＤＳ．Ｒｅｃｏｎｆｉｇｕｒｅ（））が、ＶＭ管理システムクライアントからＶＭ管理システムに送信される。次の動作において、ＶＭ管理システムは、「トランザクション呼び出し」コール（ＨｏｓｔＶＤＳ．Ｒｅｃｏｎｆｉｇｕｒｅ（））をホスト計算デバイスに送信する。実施形態では、コールは、構成コマンドと、ＶＭ管理システムがコールを作成したときに作成されるトランザクションＩＤとを含む。ホスト計算デバイスでの構成に任意の変更を実施する前に、現在の構成はホスト計算デバイスに保存される。
【００３９】
現在の構成をホスト計算デバイスに保存した後、ホスト計算デバイス及びＶＭ管理システムは、新しい構成を適用する。新しい構成が適用されると、ホスト計算デバイスは、同じトランザクションＩＤを含むリターンメッセージ（再構成成功）を発行する。ＶＭ管理システムがリターンメッセージをホスト計算デバイスから受信し、同じトランザクションＩＤに対応するものとしてメッセージを識別すると、ＶＭ管理システムは、コミットコール（Ｃｏｍｍｉｔ（ｔｒａｎｓａｃｔｉｏｎＩＤ））をホスト計算デバイスに発行する。ホスト計算デバイスがコミットコールを受信すると、ＶＭ管理システムとホスト計算デバイスとの接続が確認され、保存された構成はホスト計算デバイスからフラッシュされる。ホスト計算デバイスはまた、コミットコール（コミット成功）をＶＭ管理システムに返し、ＶＭ管理システムはトランザクションをＶＭ管理システムで完了させる。最後の動作において、ＶＭ管理システムは、メッセージ（ＶＤＳ．Ｒｅｃｏｎｆｉｇｕｒｅ（）Ｃｏｍｐｌｅｔｅｄ）をＶＭ管理システムクライアントに発行して、新しい構成が首尾良く実施されたことを示す。
【００４０】
幾つかの場合、上述した理由により、要求された構成変更は、ＶＭ管理システムとホスト計算デバイスとの接続を失わせることがある。図７は、構成変更がＶＭ管理システムとホスト計算デバイスとの接続を失わせる場合でのＶＭ管理システムクライアント１３０、ＶＭ管理システム１２０、及び図２のホスト計算デバイス１００のうちの１つの間のメッセージフローを示す。構成変更は接続を失わせるが、ロールバックメカニズム（rollback mechanism）により、システムは保存された構成に戻り、前に機能していた接続を復元することができる。図７の実施形態では、メッセージフローは、ＶＭ管理システムを通して行われたＶＤＳ又はポートグループ構成変更に適用可能である。
【００４１】
第１の動作において、構成コマンド（ＶＤＳ．Ｒｅｃｏｎｆｉｇｕｒａｔｉｏｎ）は、ＶＭ管理システムクライアント１３０からＶＭ管理システム１２０に送信される。次の動作において、ＶＭ管理システムは、「トランザクション呼び出し」コール（ＨｏｓｔＶＤＳ．Ｒｅｃｏｎｆｉｇｕｒｅ）をホスト計算デバイス１００に送信する。上述したように、コールは、構成コマンドと、ＶＭ管理システムがコールを作成したときに作成されるトランザクションＩＤとを含む。ホスト計算デバイスでの構成に任意の変更を実施する前に、現在の構成はホスト計算デバイスに保存される。現在の構成を保存した後、ホスト計算デバイス及びＶＭ管理システムは、新しい構成を適用する。この場合、新しい構成は、ＶＭ管理システムとホスト計算デバイスとの接続を失わせる。幾つかの場合、ＶＭ管理システムとホスト計算デバイスとの接続は、方向性を有し得る。すなわち、ＶＭ管理システムからホスト計算デバイスへの接続のみが失われる接続であり得、一方、ホスト計算デバイスからＶＭ管理システムへの接続はなお機能中である。実施形態では、主な考慮事項は、ホスト計算デバイスからＶＭ管理システムへの作業接続ではなく、ＶＭ管理システムからホスト計算デバイスへの作業接続があるかどうかである。ＶＭ管理システムからホスト計算デバイスへの作業接続がなお、ホスト計算デバイスへの構成情報の通信をサポートするため、これが当てはまる。
【００４２】
ホスト計算デバイスからＶＭ管理システムへの接続がなお機能中である場合、トランザクション呼び出しコールはホスト計算デバイスから返り得る。トランザクション呼び出しコールが返される場合、コミットコール（Ｃｏｍｍｉｔ（ｔｒａｎｓａｃｔｉｏｎＩＤ））がＶＭ管理システムから発行されるが、ホスト計算デバイスは到達不可能であるため、コミットコールはホスト計算デバイスに決して到達しない。トランザクション毎に設定可能な予め構成される時間切れ期間にわたって待った後、ホスト計算デバイスは時間切れし、ホスト計算デバイスの構成状態は、保存された状態に戻る。トランザクション呼び出しコールがＶＭ管理システムに返されない場合、ＶＭ管理システムは時間切れし、前の状態に戻る。何れの場合でも、ＶＭ管理システムが被管理ノードと通信することができるように、保存された構成が使用されて、ＶＭ管理システムを被管理ノードに再接続することができる。さらに、図７に示されるように、ＶＭ管理システム１２０は、ホストが同期していないことをＶＭ管理システムクライアント１３０に報告する。
【００４３】
実施形態では、予め構成された時間切れ期間は約３０秒であるが、５秒〜６０秒の範囲内の時間切れ期間が可能である。さらに、実施に応じて他の時間切れ期間も可能である。
図６及び図７のメッセージフローはＶＤＳに対応する。同様の手法は、ＶＳＳの構成変更にも適用可能である。図８は、管理センタＵＩ１３０、ＶＭ管理システム１２０、及びＶＳＳが実施される図２からのホスト計算デバイス１００のうちの１つの間のメッセージフローを示す。
【００４４】
第１の動作において、構成コマンド（Ｎ／ｗＳｙｓ．ＵｐｄａｔｅＣｏｎｆ（））が、ＶＭ管理システムクライアント１３０からＶＭ管理システム１２０に送信される。次の動作において、ＶＭ管理システムは、「トランザクション呼び出し」コール（Ｎ／ｗＳｙｓ．ＵｐｄａｔｅＣｏｎｆ（））がホスト計算デバイス１００に送信する。ホスト計算デバイスでの構成に任意の変更を実施する前に、現在の構成はホスト計算デバイスに保存される。現在の構成を保存した後、ホスト計算デバイスは、新しい構成を適用し、コミットコールをＶＭ管理システムから受信するのを待つ。しかし、この場合、新しい構成は、ＶＭ管理システムとホスト計算デバイスとの接続を失わせる。したがって、ホスト計算デバイスは、ＶＭ管理システムからのコミットコールを受信しない。トランザクション毎に設定可能な予め構成された時間切れ期間にわたって待った後、ホスト計算デバイスは時間切れし、ホスト計算デバイスの構成状態は、保存された構成を使用して保存された構成に戻される。ホスト計算デバイスは、保存された構成を使用してＶＭ管理システムに再接続し、同期メッセージ（ホスト同期）をＶＭ管理システムに送信する。同期メッセージに応答して、ＶＭ管理システムは、メッセージをＵＩに送信して、ホスト計算デバイスが構成の更新に失敗したことをＵＩに通知する。
【００４５】
本発明の実施形態による中央仮想マシン管理システムから仮想スイッチの構成を管理する方法が、図９の流れ図を参照して説明される。ブロック９０２において、第１の構成を使用して、通信接続が仮想スイッチと仮想マシン管理システムとの間に確立される。ブロック９０４において、第１の構成は保存される。ブロック９０６において、構成は、仮想マシン管理システムを介して第１の構成から第２の構成に変更される。ブロック９０８において、仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であるかが判断される。ブロック９１０において、仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能であると判断される場合、保存された第１の構成はフラッシュされる。ブロック９１２において、仮想マシン管理システムが、構成が変更された後、仮想スイッチと通信可能ではないと判断される場合、構成は、保存された構成を使用して第２の構成から第１の構成に戻され、仮想マシン管理システムは、第１の構成を使用して仮想スイッチに再接続される。
【００４６】
本明細書での方法の動作は、特定の順序で示され説明されているが、各方法の動作の順序は、特定の動作が逆の順序で実行され得るように、又は特定の動作が少なくとも部分的に他の動作と同時に実行され得るように変更され得る。別の実施形態では、別個の動作の命令又はサブ動作は、断続的及び／又は交互に実施され得る。
【００４７】
方法の動作の少なくとも幾つかが、コンピュータによる実行のためにコンピュータ使用可能記憶媒体に記憶されたソフトウェア命令を使用して実施され得ることにも留意されたい。例として、コンピュータプログラム製品の実施形態は、コンピュータで実行されると、本明細書に記載されるように、動作をコンピュータに実行させるコンピュータ可読プログラムを記憶するコンピュータ可読記憶媒体を含む。
【００４８】
さらに、本発明の少なくともある部分の実施形態は、コンピュータ又は任意の命令実行システムによって使用されるか、又は関連して使用されるプログラムコードを提供するコンピュータ使用可能又はコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明では、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって使用されるか、又は関連して使用されるプログラムの包含、記憶、通信、伝搬、又は搬送を行うことができる任意の装置とすることができる。
【００４９】
コンピュータ使用可能又はコンピュータ可読媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム（装置又はデバイス）、又は伝搬媒体とすることができる。コンピュータ可読媒体の例としては、半導体又は固体状態メモリ、磁気テープ、リムーバブルコンピュータディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、及び光ディスクが挙げられる。光ディスクの現在の例としては、読み取り専用メモリコンパクトディスク（ＣＤ−ＲＯＭ）、読み／書きコンパクトディスク（ＣＤ−Ｒ／Ｗ）、デジタルビデオディスク（ＤＶＤ）、及びブルーレイディスクが挙げられる。
【００５０】
上記説明では、様々な実施形態の特定の詳細が提供される。しかし、幾つかの実施形態は、これらの特定の詳細の全て未満で実施し得る。他の場合、特定の方法、手順、構成要素、構造、及び／又は機能は、簡略且つ明確にするために、本発明の様々な実施形態を可能にするための詳細を超えて説明されていない。
【００５１】
本発明の特定の実施形態が説明され示されたが、本発明は、説明され説明された部品の特定の形態又は構成に限定されるべきではない。本発明の範囲は、本明細書に添付される特許請求の範囲及び均等物によって規定されるべきである。
【図１】
2016536901.tif 000003
【図２】
2016536901.tif 000004
【図３】
2016536901.tif 000005
【図４】
2016536901.tif 000006
【図５】
2016536901.tif 000007
【図６】
2016536901.tif 000008
【図７】
2016536901.tif 000009
【図８】
2016536901.tif 000010
【図９】
2016536901.tif 000011
【国際調査報告】
2016536901.tif 000012
2016536901.tif 000013