特表2015-532814(P2015-532814A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヴイエムウェア インコーポレイテッドの特許一覧

特表2015-532814仮想ネットワークにおけるネットワーキングおよびセキュリティサービスのためのフレームワーク
<>
  • 特表2015532814-仮想ネットワークにおけるネットワーキングおよびセキュリティサービスのためのフレームワーク 図000003
  • 特表2015532814-仮想ネットワークにおけるネットワーキングおよびセキュリティサービスのためのフレームワーク 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2015-532814(P2015-532814A)
(43)【公表日】2015年11月12日
(54)【発明の名称】仮想ネットワークにおけるネットワーキングおよびセキュリティサービスのためのフレームワーク
(51)【国際特許分類】
   H04L 12/70 20130101AFI20151016BHJP
   G06F 9/46 20060101ALI20151016BHJP
   H04L 12/717 20130101ALI20151016BHJP
【FI】
   H04L12/70 D
   G06F9/46 350
   H04L12/717
【審査請求】有
【予備審査請求】未請求
【全頁数】20
(21)【出願番号】特願2015-529796(P2015-529796)
(86)(22)【出願日】2013年5月30日
(85)【翻訳文提出日】2015年3月26日
(86)【国際出願番号】US2013043446
(87)【国際公開番号】WO2014035509
(87)【国際公開日】20140306
(31)【優先権主張番号】61/693,630
(32)【優先日】2012年8月27日
(33)【優先権主張国】US
(31)【優先権主張番号】13/833,095
(32)【優先日】2013年3月15日
(33)【優先権主張国】US
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ,VC
(71)【出願人】
【識別番号】510149482
【氏名又は名称】ヴイエムウェア インコーポレイテッド
【氏名又は名称原語表記】VMware,Inc.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】カガンティ、ラジュ
(72)【発明者】
【氏名】ニュー、アレックス
(72)【発明者】
【氏名】スー、チー−シャン
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA04
5K030HA08
5K030LB07
5K030LE10
5K030MD08
(57)【要約】
本明細書で説明される方法、コンピュータ可読記憶媒体、システムは、仮想ネットワーク上でのネットワークサービスの登録と利用を容易にする。仮想マシン管理サーバ(VMMS)は、ネットワークサービスに関連するサービス定義を受け取るように構成される。VMMSは、そのサービス定義に基づいて1つまたは複数のサービスプロファイルを作成する。VMMSは、1つまたは複数のサービスプロファイルに基づいて複数のホストを、そのネットワークサービスが、1つまたは複数のホストの中の1つまたは複数の仮想マシンによって仮想ネットワークを介して使用可能となるように設定する。
【特許請求の範囲】
【請求項1】
仮想インフラストラクチャであって、
仮想ネットワーク内の、各々が仮想スイッチを有する複数のホストと、
仮想マシン管理サーバ(VMMS)であって、
ネットワークサービスに関連するサービス定義を受け取り、
前記サービス定義に基づいて1つまたは複数のサービスプロファイルを作成し、
前記1つまたは複数のサービスプロファイルに基づいて前記複数のホストを、前記ネットワークサービスが前記複数のホスト内の1つまたは複数の仮想マシンによって前記仮想ネットワークを介して使用可能となるように設定する
ように構成された前記仮想マシン管理サーバと、
を備える仮想インフラストラクチャ。
【請求項2】
前記仮想マシン管理サーバが、前記1つまたは複数のサービスプロファイルをネットワークサービスのディレクトリに追加するようにさらに構成される、請求項1に記載の仮想インフラストラクチャ。
【請求項3】
前記サービス定義が、挿入位置の参照情報を含む、請求項1に記載の仮想インフラストラクチャ。
【請求項4】
前記挿入位置が、前記複数のホストの各々の前記仮想スイッチである、請求項3に記載の仮想インフラストラクチャ。
【請求項5】
前記挿入位置が、前記仮想ネットワーク上にある、請求項3に記載の仮想インフラストラクチャ。
【請求項6】
前記挿入位置が、前記仮想ネットワークの外にある、請求項3に記載の仮想インフラストラクチャ。
【請求項7】
前記サービス定義が、1つまたは複数のサービスレベルを含む、請求項1に記載の仮想インフラストラクチャ。
【請求項8】
前記複数のホストを設定することは、
前記複数のホスト上の各仮想スイッチを設定することを含む、請求項1に記載の仮想インフラストラクチャ。
【請求項9】
コンピュータ実行可能インストラクションが具現化されている少なくとも1つのコンピュータ可読記憶媒体であって、少なくとも1つのプロセッサにより実行された場合に前記コンピュータ実行可能インストラクションが前記少なくとも1つのプロセッサに、
ネットワークサービスに関連するサービス定義を受け取ること、
前記サービス定義に基づいて1つまたは複数のサービスプロファイルを作成すること、
前記1つまたは複数のサービスプロファイルに基づいて複数のホストを、前記ネットワークサービスが前記複数のホスト内の1つまたは複数の仮想マシンによって仮想ネットワークを介して使用可能になるように設定することを実行させ、
前記複数のホストの各々は、前記仮想ネットワーク内の仮想スイッチを有する、少なくとも1つのコンピュータ可読記憶媒体。
【請求項10】
前記コンピュータ実行可能インストラクションが、前記少なくとも1つのプロセッサに、前記1つまたは複数のサービスプロファイルをネットワークサービスのディレクトリに追加することをさらに実行させる、請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
【請求項11】
前記サービス定義が、挿入位置の参照情報を含む、請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
【請求項12】
前記挿入位置が、前記複数のホストの各々の前記仮想スイッチである、請求項11に記載のコンピュータ可読記憶媒体。
【請求項13】
前記挿入位置が、前記仮想ネットワーク上にある、請求項11に記載の少なくとも1つのコンピュータ可読記憶媒体。
【請求項14】
前記挿入位置が、前記仮想ネットワークの外にある、請求項11に記載の少なくとも1つのコンピュータ可読記憶媒体。
【請求項15】
複数のホストを構成する前記コンピュータ実行可能インストラクションが、前記少なくとも1つのプロセッサに前記複数のホスト上の各仮想スイッチを構成することをさらに実行させる、請求項9に記載の少なくとも1つのコンピュータ可読記憶媒体。
【請求項16】
仮想ネットワーク上でネットワークサービスを登録する方法であって、
ネットワークサービスに関連するサービス定義を受け取ること、
前記サービス定義に基づいて1つまたは複数のサービスプロファイルを作成すること、
前記1つまたは複数のサービスプロファイルに基づいて複数のホストを、前記ネットワークサービスが前記複数のホスト内の1つまたは複数の仮想マシンによって仮想ネットワークを介して使用可能となるように設定することを備え、
前記複数のホストの各々が、前記仮想ネットワーク内の仮想スイッチを有する、方法。
【請求項17】
前記1つまたは複数のサービスプロファイルをネットワークサービスのディレクトリに追加することをさらに備える、請求項16に記載の方法。
【請求項18】
サービス定義を受け取ることは、
挿入位置の参照情報を含むサービス定義を受け取るステップを含む、請求項16に記載の方法。
【請求項19】
複数のホストを設定することは、
前記複数のホスト上の各仮想スイッチを設定することを含む、請求項16に記載の方法。
【請求項20】
イネーブルメントコマンドを前記複数のホストのうちの少なくとも1つに送ることをさらに備える、請求項16に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
仮想マシンは、物理コンピューティングリソースを抽象化したものであり、ネットワークを使って他の仮想マシンと通信できる。このネットワークは、物理ネットワークを抽象化、または仮想化した仮想ネットワークであってもよい。仮想ネットワークは、複数の仮想マシン間のOSIモデル内のレイヤ2として動作してもよい。物理ネットワークと異なり、仮想ネットワークは物理的なリンクやトポロジの制約を受けない。それゆえ、仮想ネットワーク内の仮想マシンは、ある物理コンピュータから別のコンピュータへと移動でき、その際、仮想ネットワーク内の通信に影響を与えない。このような仮想ネットワークの1つがVirtual Extensible LAN(VXLAN)であり、これは本明細書と共に提出され、その全文が参照によって援用される(非特許文献1)に記載されている。
【先行技術文献】
【非特許文献】
【0002】
【非特許文献1】白書「Cisco Nexus 1000VシリーズスイッチとVXLANを用いたスケーラブルクラウドネットワーキング(Scalable Cloud Networking with Cisco Nexus 1000V Series Switches and VXLAN)」
【発明の概要】
【発明が解決しようとする課題】
【0003】
ロードバランサ、ファイアウォール、ウイルススキャナ、その他、多くのネットワーキングおよびセキュリティサービスが物理ネットワークのために提供されている。サービスの中にはネットワーク内で動作するものもあれば、ネットワークのゲートウェイまたは外部で動作するものもある。このようなサービスは仮想ネットワークと通信できない場合があり、仮想ネットワークはこのようなサービスがネットワーク上に存在することに気付かない場合もある。仮想ネットワークと通信できるサービスもあるが、現在、仮想ネットワーク内にこのようなサービスを一律に導入し、利用する方法はない。そこで、仮想ネットワークで使用するためにネットワークサービスを導入し、利用するための一律な方法が求められている。
【課題を解決するための手段】
【0004】
本明細書で説明される方法、コンピュータ可読記憶媒体、システムは、仮想ネットワーク上でのネットワークサービスの登録と利用を容易にする。仮想マシン管理サーバ(VMMS:virtual machine management server)は、あるネットワークサービスに関連するサービス定義を受け取るように構成される。VMMSは、そのサービス定義に基づいて1つまたは複数のサービスプロファイルを作成する。VMMSは、1つまたは複数のサービスプロファイルに基づいて複数のホストを作成し、そのネットワークサービスが、複数のホストの中の1つまたは複数の仮想マシンによって仮想ネットワークを介して使用可能となるようにする。
【図面の簡単な説明】
【0005】
図1】仮想ネットワークを有する、例示的な仮想インフラストラクチャのブロック図である。
図2図1の仮想インフラストラクチャを使ってネットワークサービスを登録して利用する例示的方法のスイムレーン図である。
【発明を実施するための形態】
【0006】
図1は、例示的な仮想インフラストラクチャ(virtual infrastructure)100であり、この仮想インフラストラクチャは分散された仮想ネットワーキングと、まとめてクラスタ116と呼ばれる物理コンピュータシステム、すなわちホスト110と114上の複数の仮想マシン(VM:virtual machine)105を有する。仮想インフラストラクチャ100はクラウドベースのアーキテクチャであってもよく、この場合、仮想インフラストラクチャ100の複数のユーザがVM 105をインスタンス化し、管理することができる。それゆえ、仮想インフラストラクチャ100はマルチテナント環境(multi- tenant environment)であってもよく、そのテナント、すなわちユーザのニーズや目的は様々である。
【0007】
各VM 105は仮想環境を提供し、その仮想環境にはゲストオペレーティングシステム(図示せず)が存在し、動作してもよい。各物理コンピュータ110と114は、ハードウェア120と、ハードウェア120上で実行される仮想化ソフトウェアすなわちマネージャ124と、仮想化ソフトウェア124によってハードウェア120上で動作する1つまたは複数のVM 105と、を含む。従って、仮想化ソフトウェア124は、論理的にハードウェア120とVM 105の間に介在し、ハードウェア120とVM 105とインタフェースで接続する。仮想化ソフトウェア124は完全に、または部分的にハードウェアで、例えばシステム・オン・チップ、ファームウェア、FPGAその他として実装されてもよい。ハードウェア120は少なくとも1つのプロセッサ(図示せず)を含み、各プロセッサはマイクロプロセッサチップ上の実行ユニット、すなわち「コア」である。ハードウェア120はまた、システムメモリ(図示せず)も含み、システムメモリは一般的な揮発性ランダムアクセスメモリ(RAM:random access memory)、ネットワークインタフェースポート(NIC:network interface port)126、記憶システム(図示せず)およびその他のデバイスである。NIC 126は、物理NICと呼ばれることがあり、イーサネット(登録商標)ネットワークインタフェースまたは同様のインタフェースであってもよい。
【0008】
仮想化ソフトウェア124はハイパーバイザと呼ばれることがあり、ハードウェアリソースを管理するためのソフトウェアコンポーネントと物理デバイスを仮想化またはエミュレートするためのソフトウェアコンポーネントを含み、各VM 105のための仮想デバイス、例えば仮想ディスク、仮想プロセッサ、仮想ネットワークインタフェース、その他を提供する。この例示的実施形態において、各VM 105は物理コンピュータシステムを抽象化したものであり、マイクロソフトウィンドウズ(Microsoft Windows)(登録商標)等のオペレーティングシステム(OS:operating system)およびアプリケーションを含んでいてもよく、これらはそれぞれ「ゲストOS」および「ゲストアプリケーション」と呼ばれ、「ゲスト」という用語は、それがVM内にあるソフトウェアエンティティであることを示す。マイクロソフトウィンドウズ(Microsoft Windows)(登録商標)は、ワシントン州レッドモンドのマイクロソフト(Microsoft Corporation)の登録商標である。
【0009】
仮想マシン管理サーバ(VMMS)125はソフトウェアインタフェース127を提供し、これによってとりわけ、ユーザおよびその他のプログラムが、物理コンピュータ110と114の上で動作し、VMMS 125によって管理されるVM 105のライフサイクルを管理することができる。VMMS 125は、本明細書で具体的に述べられているもの以外のVM管理と操作を提供してもよい。
【0010】
各VM 105は1つまたは複数の仮想NIC 128を含んでいてもよく、1つまたは複数の仮想NIC 128は仮想スイッチ130に連結される。仮想化ソフトウェア124は仮想スイッチ130を提供して管理し、仮想化ソフトウェア124は複数の仮想スイッチを提供してもよい。ホスト110と114の中の各仮想スイッチ130は、論理的に1つにまとめて、仮想ネットワーク132を形成してもよい。仮想ネットワーク132は物理ネットワークを抽象化したものであり、仮想レイヤ2、すなわちデータリンク層を提供してもよく、仮想ネットワーク132にはとりわけフレームへのネットワークレイヤデータパケットのカプセル化、フレーム同期、媒体アクセス制御等のサービスが含まれる。仮想ネットワーク132は1つまたは複数の物理ネットワークにわたっていてもよく、基礎となる物理トポロジや物理ネットワークの組織に関係なく組織化されてもよい。この例示的ネットワークにおいて、仮想ネットワーク132は、ホスト110を含む第一のネットワーク136とホスト114を含む第二のネットワーク138にわたっている。第一と第二のネットワーク136と138は、同一の物理ネットワーク上の、ルータ、VPN、および/またはスイッチを介して接続された異なるサブネット(図示せず)であってもよく、または、この例示的実施形態ではインターネットを含んでいてもよいネットワーク140を介してネットワーク接続されていてもよい。仮想スイッチ130と仮想ネットワーク132は、VMMS 125によって管理されてもよい。複数の物理ホストにわたるある例示的な仮想ネットワークは分散型仮想スイッチと呼ばれ、ランベス(Lambeth)らの米国特許第8,195,774号に記載されており、その全文を参照によって本明細書に援用する。
【0011】
ネットワークサービス150、例えばロードバランサ、プロキシ、ファイアウォール、ウイルススキャナ、または物理ネットワーク上で実行されてもよい他のあらゆるサービスを仮想ネットワーク132と統合してもよい。ネットワークサービス150は、ソフトウェアおよび/またはハードウェアで実装してもよい。本明細書においてより詳しく説明するように、ネットワークサービス150を仮想ネットワーク132とそのコンポーネント、例えばVM 105に提供するためのプラットフォームが提供される。インストール、または挿入位置(insertion point)は仮想ネットワーク132とネットワークサービス150の間のインタフェースとして提供される。ネットワークサービス、例えばネットワークサービス150は、1つまたは複数の挿入位置にインストールしてもよい。この例示的実施形態においては、3つの挿入位置が例として設けられている。
【0012】
第一の挿入位置155は仮想スイッチ130の中に存在していてもよい。ネットワークサービスの中にはパケットの検査または操作、例えばヘッダ変更、フォワーディング(forwarding)、カプセル化、その他を必要とするものがある。したがって、ネットワークサービス150は、仮想スイッチ130の中に1つまたは複数のルールまたはフィルタをインストールすることによって、ネットワークサービス150をイネーブルしてもよい。ルールは、ipchains型またはiptables型ルールと同様であってもよい。一例において、ネットワークサービス150はファイアウォールを実装し、仮想スイッチ130上で、所定のポートで入ってくるトラフィックをブロックする1つまたは複数のルールをインストールする。さらに、ネットワークサービス150は、仮想ソフトウェア124の中にインストールされるか、仮想ソフトウェア124と通信してもよく、第一の挿入位置155の中にあると考えてもよい。例えば、ネットワークサービス150は、仮想ソフトウェア124の中のモジュールとして実行されるコードを含んでいてもよい。それゆえ、ネットワークサービス150は、第一の挿入位置155を使って各ホスト内にインストールされてもよい。
【0013】
他の例では、ネットワークサービス150をイネーブルするために追加の処理が必要となりうる。例えば、ネットワークサービス150は仮想スイッチ130の中に、一部またはすべてのトラフィックをエンドポイントに送り、さらに分析するルールをインストールしてもよい。エンドポイントは、物理ネットワークデバイスでも、1つまたは複数のVM 105上のゲストOS内で実行されるソフトウェアでも、および/または1つまたは複数のVM 105上で動作する仮想アプライアンス(virtual appliance)(図示せず)でもよい。仮想アプライアンスは、特定の1つまたは複数のタスクを実行するための特殊化された仮想マシンである。仮想アプライアンスは、事前設定されたオペレーティングシステムと1つのアプリケーションを含んでいてもよく、これらオペレーティングシステムとアプリケーションは仮想マシンイメージ、例えばオープン仮想化フォーマット(OVF:Open Virtualization Format)ファイルのようにまとめてパッケージされる。
【0014】
第二の挿入位置160は仮想ネットワーク132の中に存在していてもよい。ネットワークサービス150はロードバランサ(load balancer)等のエッジサービス(edge service)であってもよく、これは仮想ネットワーク132と共に、その中で動作する。ネットワークサービス150は、ネットワーク136と138とネットワーク接続された物理デバイスを含み、仮想ネットワーク132が到達する何れの場所にも、またはVMとしても実装してよい。ネットワークサービス150は、仮想ネットワーク132の中に挿入されると、仮想ネットワーキングを理解しなければならない。特に、ネットワークサービス150は、仮想ネットワーク132を使ってVM 105および仮想ネットワーク132の他のメンバーとどのように通信するかを知るべきである。
【0015】
第三の挿入位置165は仮想ネットワーク132および物理ネットワーク136と138の外部の遠隔システム167上に存在し、この例示的実施形態では、ネットワーク140を介してアクセス可能である。たとえば、第三の挿入位置165はインターネット上で利用可能なウェブまたはクラウドベースのサービスであってもよい。遠隔システム167上のネットワークサービス150にアクセスするためには、VM 105からのデータがカプセル化されて、レイヤ3で遠隔システム167に送られてもよい。あるいは、VM 105または仮想ネットワーク132からのパケットが遠隔システム167に送られてもよい。
【0016】
例えば、遠隔システム167上で利用可能なネットワークサービス150は、ウェブトラフィックをフィルタにかけて悪意あるデータおよびブロックされたユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)を除去するウェブセキュリティサービスであってもよい。仮想ネットワーク132および/またはVM 105からのウェブリクエストは遠隔システム167へとリダイレクトされ、ネットワークサービス150によって処理されてもよい。ネットワークサービス150は、要求されたウェブリソースを取得し、フィルタ処理を行い、その後、フィルタ処理されたデータを仮想ネットワーク132上のリクエスタ(requester)に返してもよい。
【0017】
いくつかの実施形態において、ネットワークサービス150は、ソフトウェアインタフェース127を介してネットワークサービス170のディレクトリに接続されたネットワークサービスマネージャ169から管理されてもよい。ネットワークサービスマネージャ169は、仮想ネットワーク132および/または物理ネットワーク136と138を介してネットワークサービス150と通信してもよい。ネットワークサービスマネージャ169は、ネットワークサービス150を管理するための管理用インタフェースを提供する。例えば、ネットワークサービスマネージャ169は、ネットワークサービス150によって提供されるロードバランサを設定するためのウェブインタフェースを提供してもよい。この例示的実施形態において、ネットワークサービスマネージャ169はVMMS 125とは別のコンポーネントとして示されており、VMMS 125と通信して本明細書に記載されているように機能する。しかしながら、いくつかの実施形態では、ネットワークサービスマネージャ169はVMMS 125の中に組み込まれ、VMMS 125が本明細書に記載された機能を果たすことができるようにしてもよい。
【0018】
いくつかの挿入位置とネットワークサービスは例として提供されているが、より多くの挿入位置が利用可能であり、他のネットワークサービスが提供されうることも想定される。例えば、挿入位置は仮想ネットワーク132からルーティング可能な物理ネットワーク上に存在していてもよいが、この物理ネットワークはネットワーク136、138、140とは異なる。ネットワークサービスはまた、仮想ネットワークのドメインネームシステム(DNS:Domain Name System)、ダイナミック・ホスト・コンフィギュレーション・プロトコル(DHCP:Dynamic Host Configuration Protocol)、ネットワークファイルシステム(NFS:network file system)、シンプル・ネットワーク・マネージメント・プロトコル(SNMP:Simple Network Management Protocol)、ディレクトリおよび認証サービス、その他を含んでいてもよい。
【0019】
一実施形態において、ネットワークサービスマネージャ169はVMMS 125と通信して、VMMS 125がネットワークサービスのディレクトリ170を作成して利用可能にするように構成される。ネットワークサービスのディレクトリ170はデータベースまたはその他のデータストア、例えばフラットファイルとして実装されてもよく、VMMS 125の中にあっても、外にあってもよい。まず、VMMS 125はネットワークサービス150からのサービス定義を受け取る。サービス定義は、ネットワークサービスのディスレクトリ170に含めるべきネットワークサービス150に関する情報、例えばサービス名やサービスの内容を含む。サービス定義はまた、ネットワークサービス150に使用するホスト110と114を設定するための構成インストラクションおよび/またはデータも含む。VMMS 125は、本明細書においてより詳しく説明するように、ホスト110と114および仮装ネットワーク132を、ネットワークサービス150を使用可能に設定するように構成される。VMMS 125により、場合により各VM 105の管理者の裁量で、VM 105がネットワークサービス150を使用できる。
【0020】
一実施形態において、VMMS 125はサービス定義に基づいて1つまたは複数のサービスプロファイルを作成する。VMMS 125の管理者は、サービスプロファイルが作成されるようにしてもよい。サービスプロファイルは、仮想ネットワークサービス132上および/またはクラスタ116内でネットワークサービス150から利用可能なサービスを説明するために使用される。それゆえ、VMMS 125の管理者はネットワークサービス150をカスタム化してもよい。VMMS 125の管理者はまた、VMMS 125を使って、選択的にサービスプロファイルを仮想ネットワーク、ホスト、クラスタ、VMS、VMの集合、例えばVMのプールおよび/またはユーザグループが利用できるようにする。あるサービスプロファイルがVM 105の1つによって利用可能か否かは、ネットワークサービスのディレクトリ170の中で示される。ネットワークサービスは、そのネットワークサービスに基づくサービスプロファイルがネットワークサービスのディレクトリ170に追加される前に「登録」される。
【0021】
仮想ネットワーク132上のサービスプロファイルとネットワークサービス150をイネーブルするために、VMMS 125はサービス定義の中の構成インストラクションを使ってホスト110と114を設定する。ホスト110と114の構成には、仮想ソフトウェア124および/または仮想スイッチ130を、ネットワークサービス150が到達可能、使用可能となるように設定することが含まれていてもよい。例えば、仮想スイッチ130、または仮想スイッチ130のポートは、VM 105からのパケットをネットワークサービス150に送るルールおよび/またはフィルタで構成されてもよい。ネットワークサービス150は、VMMS 125によってイネーブルされるまでVM 105により使用不能であり、ホストは、ホストが仮想ネットワーク132内にある場合に、ネットワークサービス150を使用するように構成されてもよい。
【0022】
ネットワークサービス150を利用するために、VM 105の管理者、すなわちクラウドユーザはVMMS 125を使ってネットワークサービスのディレクトリ170をブラウズし、利用可能なネットワークサービス、すなわちサービスプロファイルを探す。管理者は、例えばネットワークサービス150にとって利用可能なサービスプロファイルを選択し、VMMS 125にそのネットワークサービスをイネーブルさせる。ネットワークサービス150は、VMMS 125により、イネーブルメントコマンドを仮想ソフトウェア124に送信することによって、選択されたVM 105についてイネーブルされる。
【0023】
図2は仮想ネットワーク132等の仮想ネットワークで使用されるネットワークサービス150等のネットワークサービス(図1に示される)を登録し、利用するための、例示的方法200のスイムレーン図(swimlane diagram)である。ネットワークサービス150は、VM 105、仮想スイッチ130、仮想ネットワーク132がネットワークサービス150を利用できるように登録されて利用可能とされる。まず、ネットワークサービス150はサービス定義を、例えばネットワークサービスマネージャ169を介してVMMS 125に送信する(205)。ネットワークービス150はネットワークサービス150を提供するベンダ(vender)を参照してもよく、この場合、ベンダがサービス定義をVMMS 125に送信する(205)。サービス定義は、VMMS 125によって、API、ウェブサービスコール、ファイルアップロード、その他を使って受信されてもよく、ファイル、ストリング、一連のプロシージャコール、その他で具現化されてもよい。サービス定義はベンダ名、サービス名、サービスの内容、管理者連絡先情報、1つまたは複数のサービスエンドポイント、例えばURL、IPアドレス、その他、および/または1つまたは複数のサービスレベルが含まれていてもよく、これらに限定されない。より具体的には、この例示的実施形態において、サービス定義には、ネットワークサービス150をVM 105、仮想スイッチ130、および/または仮想ネットワーク132が使用するのに必要な情報が含まれる。この例示的実施形態において、ネットワークサービス150はサービス定義が送信される(205)まで動作不能である。サービス定義には、異なる製品、サービスの種類、ユーザの数、またはその他の可変的なサービスレベルに対応してもよいサービスレベルが含まれていてもよい。サービス定義には、VM 105、仮想スイッチ130、および/または仮想ネットワーク132の構成において使用するための構成インストラクションおよび/またはデータが含まれる。例えば、構成インストラクションには、仮想スイッチ130を設定するためのルールおよび/またはフィルタが含まれていてもよい。第一の挿入位置155の場合、構成インストラクションには仮想ソフトウェア124内で実行されるモジュールが含まれていてもよい。
【0024】
この例示的実施形態において、VMMS 125の管理者は、サービス定義を使って、1つまたは複数のサービスプロファイルを作成する(215)。サービスプロファイルには、VMMS 125によって管理されるVM 105上で使用するためのサービスの構成またはパラメータが含まれる。VMMS 125の管理者は、サービスプロファイルを通じてどのネットワークサービスが利用可能とされるかを選択できる。選択されたサービス定義は、サービスプロファイル内で、例えばいくつかまたはすべてのサービスレベルを選択するようにさらに構成できる。より具体的には、サービスプロファイルによって、VMMS 125の管理者はネットワークサービスを許可/拒否し、ネットワークサービスを構成することが可能となる。
【0025】
VMMS 125の管理者は、動作217中にネットワークサービス150が仮想化ソフトウェア124によって利用できるようにし、これには仮想化ソフトウェア124および/または仮想スイッチ130を1つまたは複数のサービスプロファイルで構成することが含まれる。ネットワークサービス150は1つまたは複数の挿入位置155、160、165(図1に示される)に存在してもよいため、仮想化ソフトウェア124および/または仮想スイッチ130は挿入位置においてネットワークサービスと相互作用するように構成される。動作220において、サービスプロフィルがネットワークサービスのディレクトリ170に追加される。
【0026】
サービスプロファイルは、VMMS 125によって、イネーブルメントコマンド(enablement command)を仮想ソフトウェア124に送信することにより、1つまたは複数のVM 105についてイネーブルされる(225)。仮想ソフトウェア124は、仮想スイッチ130を使ってトラフィックをネットワークサービス150により使用される1つまたは複数の挿入位置155、160、165へと、および/またはそこから導くことによってサービスプロファイルをイネーブルする。最終的に、ネットワークサービス150が1つまたは複数のVM 105によって利用される(230)。
【0027】
前述のように、方法200はVMMS 125がネットワークサービス150に関連するサービス定義を受け取り、VMMS 125がそのサービス定義に基づいて1つまたは複数のサービスプロファイルを作ることを示している。方法200はまた、VMMS 125がサービスプロファイルに基づいて複数のホストを設定し(configure)、ネットワークサービス150がその複数のホスト内の1つまたは複数のVM 105が仮想ネットワークを介して使用可能となるようにすることを示している。一実施形態において、ネットワークサービスマネージャ169はVMMS 125と通信して、VMMS 125が方法200で説明したVMMS 125の機能を実行できるようにしてもよい。あるいは、ネットワークサービスマネージャ169が方法200で説明したVMMS 125の機能を直接実行してもよい。
【0028】
本明細書において説明された各種の実施形態は、コンピュータシステムの中に保存されたデータに係る様々なコンピュータ実装可能動作を利用してもよい。例えば、これらの動作には物理的数量の物理的操作が必要である場合もあり、通常、ただし必ずではないが、これらの数量は電気または磁気信号の形態をとってもよく、これら、またはこれらの表現を保存、転送、合成、比較、またはそれ以外に操作することができる。さらに、このような操作はしばしば、例えば生成、特定、判定、または比較等の用語で呼ばれる。本明細書において説明された、本発明の1つまたは複数の実施形態の一部を構成する何れの動作も、有用な機械動作であってよい。これに加えて、本発明の1つまたは複数の実施形態はまた、これらの動作を実行するための機器または装置にも関する。この装置は、具体的な要求される目的のために特に構築されてもよく、またはコンピュータ内に保存されたコンピュータプログラムによって選択的に起動され、または構成される汎用コンピュータであってもよい。特に、各種の汎用マシンを本明細書の教示に従って書かれたコンピュータプログラムと共に使用してもよく、または必要な動作を実行するための、より特殊化された装置を構築することがより好都合になりうる。
【0029】
本明細書において説明された各種の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な民生用電子機器、マイクロコンピュータ、メインフレームコンピュータ、およびその他を含む他のコンピュータシステム構成で実施されてもよい。
【0030】
本発明の1つまたは複数の実施形態は、1つまたは複数のコンピュータプログラムとして、または1つまたは複数のコンピュータ可読媒体において具現化される1つまたは複数のコンピュータプログラムモジュールとして実装されてもよい。コンピュータ可読媒体という用語は、後にコンピュータシステム内に入力可能なデータを保存できる何れのデータ記憶装置を指してもよく、コンピュータ可読媒体は、コンピュータプログラムを、これらがコンピュータによって読み取られるような方法で具現化するための何れの既存の、または今後開発される技術に基づいていてもよい。コンピュータ可読媒体の例としては、ハードドライブ、ネットワークアタッチトストレージ(NAS:network attached storage)、リードオンリメモリ、ランダムアクセスメモリ(例えば、フラッシュメモリデバイス)、CD(Compact Discs)、例えばCD−ROM、CD−RまたはCD−RW、DVD(デジタル多目的ディスク:Digital Versatile Disc)、磁気テープ、およびその他の光および光以外のデータ記憶装置が挙げられる。コンピュータ可読媒体はまた、ネットワークに接続されたコンピュータシステム上で分散させてコンピュータ可読コードが分散式に保存され、実行されるようにすることもできる。
【0031】
本発明の1つまたは複数の実施形態について、明瞭に理解できるようにある程度詳しく説明したが、当然のことながら、特許請求項の範囲内で特定の変更や改変を加えてもよい。したがって、説明された実施形態は例示であって、限定的と考えるべきではなく、特許請求項の範囲は本明細書中に記載された詳細に限定されるものではなく、請求項の範囲と均等物の中で改変されてもよい。特許請求の範囲において、明示的に述べられる場合を除き、要素および/またはステップは、何らかの特定の動作の順序を示唆するものではない。
【0032】
これに加えて、説明された仮想化方法は一般に、仮想マシンが特定のハードウェアシステムに適合するインタフェースを提供することを前提としているが、当業者であればわかるように、説明された方法は特定のハードウェアシステムに直接対応していない仮想化に使用してもよい。ホストされた実施形態、ホストされていない実施形態、またはこれら2つの間の境界があいまいとなりがちな実施形態として実装された各種の実施形態による仮想化システムは、すべて想定される。さらに、各種の仮想化動作は全体または一部がハードウェアで実装されても、従来の仮想化または準仮想化技術を用いて実装されてもよい。仮想化の程度に関係なく、多くの変更、改変、追加、改良が可能である。したがって、仮想化ソフトウェアは、仮想化機能を実行するホスト、コンソール、またはゲストオペレーティングシステムのコンポーネントを含むことができる。本明細書の中で単独のインスタントとして説明されたコンポーネント、動作または構造について、複数のインスタンスが提供されてもよい。最後に、各種のコンポーネント、動作およびデータストア間の境界は幾分任意であり、特定の動作が具体的な例示的構成に関して示されている。機能のその他の割当も想定され、本発明の範囲内に含まれうる。一般に、例示的な構成の中で別々のコンポーネントとして示された構造と機能は、一体化された構造またはコンポーネントとして実装されてもよい。同様に、単独のコンポーネントとして示された構造と機能は、別々のコンポーネントとして実装されてもよい。上記およびその他の変更形態、改変形態、追加形態、改良形態が、付属の特許請求の範囲内に含まれてもよい。
図1
図2
【国際調査報告】