(57)【特許請求の範囲】
【請求項１】
データセンタ（ＤＣ）内でネットワークサービスをインスタンス化するための方法であって、
検出された計算イベントに応答して生成された登録イベントと関連付けられたポリシー情報を、クラウドネットワーク自動化（ＣＮＡ）エンティティによって取り出して、それにより、関連するタイプのサービスを識別するステップと、
検出された計算イベントが承認される場合、ＣＮＡエンティティによって、関連するタイプのサービスを提供するようにＤＣサービスを構成するステップと
を含み、
前記登録イベントが、仮想マシン（ＶＭ）をインスタンス化するように適合されたハイパーバイザを含む複数のＤＣサーバと関連するスイッチ内の仮想スイッチ制御モジュール（ＶＣＭ）によって作成され、
前記計算イベントが、前記ハイパーバイザが仮想マシン（ＶＭ）をインスタンス化することに応答して、ハイパーバイザ内でインスタンス化される仮想エージェント（ＶＡｇ）によって検出される、方法。
【請求項２】
検出された計算イベントと関連する要求側テナントを識別するステップと、
要求側テナントと関連付けられたポリシー情報を取り出して、それにより、検出された計算イベントが承認されるかどうかを判定するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ハイパーバイザが、計算マネージャポータルを介して提供されるテナント定義のＶＭパラメータに応答してＶＭをインスタンス化する、請求項１に記載の方法。
【請求項４】
前記ＶＣＭが、承認された計算イベントと関連する制御プロトコルサービスをインスタンス化し、
それに応じて、前記ＶＣＭが、インスタンス化された制御プロトコルサービスが新しいルートを識別することに応答して仮想スイッチ（ＶＳＷ）に新しい転送エントリをプログラムし、ルーティングは、前記ポリシー情報によって確立されるルールに基づく、
請求項１に記載の方法。
【請求項５】
ＶＭがシャットダウンされるべきであるというＶＡｇからの通知に応答して、前記ＶＣＭが、シャットダウンされるべきであるＶＭと関連するＶＳＷ中の状態情報をクリアし、前記ＶＭはもはやポートにアタッチされていないことを前記ＣＮＡに通知し、前記通知は、前記ＣＮＡに前記ＶＭと関連する状態を更新させるように適合される、
請求項１に記載の方法。
【請求項６】
前記計算イベントが、仮想計算リソース、仮想ストレージリソース、および仮想計算リソースもしくはストレージリソースを使用するアクセスされる機器のうちの少なくとも１つを追加するまたは削除するよう求める要求を示す対話を含む、請求項１に記載の方法。
【請求項７】
データセンタ（ＤＣ）内でネットワークサービスをインスタンス化するためのシステムであって、
ハイパーバイザが仮想マシン（ＶＭ）をインスタンス化することに応答して、前記ハイパーバイザ内でインスタンス化される仮想エージェント（ＶＡｇ）によって検出された計算イベントに応答して、登録イベントを作成する、仮想マシン（ＶＭ）をインスタンス化するように適合されたハイパーバイザを含む複数のＤＣサーバと関連するスイッチ内の仮想スイッチ制御モジュール（ＶＣＭ）と、
検出された計算イベントと関連付けられたポリシー情報を取り出して、それにより、関連するタイプのサービスを識別する手段と、
検出された計算イベントが承認される場合、関連するタイプのサービスを提供するようにＤＣサービスを構成する手段
を含む、システム。
【請求項８】
コンピュータによって実行されるとき、データセンタ（ＤＣ）内でネットワークサービスをインスタンス化するための方法を行うようにコンピュータの動作を適合させる命令を格納する、有形の非一時的コンピュータ可読記憶媒体であって、方法が、
検出された計算イベントに応答して生成された登録イベントと関連付けられたポリシー情報を、クラウドネットワーク自動化（ＣＮＡ）エンティティによって取り出して、それにより、関連するタイプのサービスを識別するステップと、
検出された計算イベントが承認される場合、ＣＮＡエンティティによって、関連するタイプのサービスを提供するようにＤＣサービスを構成するステップと
を含み、
前記登録イベントが、仮想マシン（ＶＭ）をインスタンス化するように適合されたハイパーバイザを含む複数のＤＣサーバと関連するスイッチ内の仮想スイッチ制御モジュール（ＶＣＭ）によって作成され、
前記計算イベントが、前記ハイパーバイザが仮想マシン（ＶＭ）をインスタンス化することに応答して、ハイパーバイザ内でインスタンス化される仮想エージェント（ＶＡｇ）によって検出される、コンピュータ可読記憶媒体。
【請求項９】
ネットワーク要素のプロセッサによって実行されるとき、データセンタ（ＤＣ）内でネットワークサービスをインスタンス化するための方法を提供するようにネットワーク要素の動作を適合させるコンピュータプログラムであって、方法が、
検出された計算イベントに応答して生成された登録イベントと関連付けられたポリシー情報を、クラウドネットワーク自動化（ＣＮＡ）エンティティによって取り出して、それにより、関連するタイプのサービスを識別するステップと、
検出された計算イベントが承認される場合、ＣＮＡエンティティによって、関連するタイプのサービスを提供するようにＤＣサービスを構成するステップと
を含み、
前記登録イベントが、仮想マシン（ＶＭ）をインスタンス化するように適合されたハイパーバイザを含む複数のＤＣサーバと関連するスイッチ内の仮想スイッチ制御モジュール（ＶＣＭ）によって作成され、
前記計算イベントが、前記ハイパーバイザが仮想マシン（ＶＭ）をインスタンス化することに応答して、ハイパーバイザ内でインスタンス化される仮想エージェント（ＶＡｇ）によって検出される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
出願人は、その全体が参照により本明細書に組み込まれている、２０１２年８月２８日に出願された、ＳＹＳＴＥＭ，ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＤＡＴＡ  ＣＥＮＴＥＲ  ＡＵＴＯＭＡＴＩＯＮという名称の先行仮特許出願第６１／６９３，９９６号の利益を主張する。
【０００２】
本発明は、データセンタの分野に関し、より詳細には、以下に限定するものではないが、安全なデータセンタの管理に関する。
【背景技術】
【０００３】
データセンタ（ＤＣ）アーキテクチャは、一般的には、スケーラブルなレイヤ２またはレイヤ３インフラストラクチャにより相互に接続された多数の計算リソースおよびストレージリソースからなる。ハードウェアデバイス上で動作するこのネットワーキングインフラストラクチャに加えて、ＤＣネットワークは、汎用コンピュータ、およびロードバランサ、ＡＤＣ、ファイアウォール、ＩＰＳ／ＩＤＳシステムなどの特定のネットワークサービスを供給する専用ハードウェア機器上で動作するソフトウェアネットワーキングコンポーネント（ｖｓｗｉｔｃｈｅ）を含む。ＤＣインフラストラクチャは、企業によって、またはサービスプロバイダ（クラウドサービスプロバイダすなわちＣＳＰと呼ばれる）によって所有され、いくつかのテナントによって共有されることが可能である。計算およびストレージインフラストラクチャは、様々なテナントが同じリソースを共有できるようにするために仮想化される。各テナントは動的に、グローバルプールからのリソースを、その個々のサービスに追加する／その個々のサービスから削除することができる。
【０００４】
ＤＣネットワークは、様々なテナント（例えば、様々な会社）間の厳密なパフォーマンス分離を維持しながら、各テナントにリソースを動的に割り当てることができなければならない。その上テナントは、サブテナント（例えば、様々な企業部門）にさらに分割され、それらの間でも厳密に分離される可能性がある。例えば、企業が、様々な部門間で分割されたＣＳＰ  ＤＣのリソースを必要とする。
【０００５】
残念ながら、何千ものノードの制御プレーン管理のための既存の力ずくの（ｂｒｕｔｅ  ｆｏｒｃｅ）技法、または「管理者の管理者（ｍａｎａｇｅｒ  ｏｆ  ｍａｎａｇｅｒｓ）」技法は、ＤＣインフラストラクチャがより大きくなるにつれて、効率が悪く、過度に費用のかかるものになっている。
【０００６】
具体的には、一般的なデータセンタ管理は、ストレージ管理システム、計算管理システム、およびネットワーク要素管理システムの複雑な編成（ｏｒｃｈｅｓｔｒａｔｉｏｎ）を必要とする。ネットワーク要素管理システムは、データセンタを実装するために使用されるネットワークインフラストラクチャ、ならびにその中のネットワーク要素への様々なＤＣ計算サーバ／ストレージサーバの結合（ｂｉｎｄｉｎｇ）を発見しなければならない。コンピュータ管理システムおよびストレージ管理システムは、新しい仮想マシンを作成し、ＶＭ計算リソースおよびストレージリソースのすべてをプロビジョニングして、ネットワークインフラストラクチャを介してテナントに利用可能にされるように動作する。ＶＭ関連リソースの障害の場合には、新しいＶＭを作成し、様々なＶＭ計算およびストレージリソースをプロビジョニングするプロセス全体が、繰り返されなければならない。これは複雑で、遅く、効率の悪いプロセスである。
【発明の概要】
【課題を解決するための手段】
【０００７】
従来の技術における様々な欠点は、ハイパーバイザで計算イベント（例えば、ＶＭインスタンス化要求）を検出し、それに応じて、イベント承認およびデータセンタ（ＤＣ）リソース割当てに関してポリシーベースの決定が行われる登録イベントを生成することによって、ＤＣ内にネットワークリソースのポリシーベースの管理を実装するシステム、方法、アーキテクチャ、機構および／または装置によって対処される。例えば、様々な実施形態では、（機器アクセスのための）ＶＭの各ハイパーバイザインスタンス化／終了が、ハイパーバイザ内でインスタンス化された仮想スイッチエージェント（ＶｉｒｔｕａｌＳｗｉｔｃｈ  Ａｇｅｎｔ：ＶＡｇ）によって検出され、ＶＡｇが、スイッチ上で動作している仮想スイッチ制御モジュール（ＶＣＭ）に計算イベントを通知する。ＶＣＭは、ポリシー情報（例えば、サービスレベル合意）にアクセスすることができる管理エンティティと通信し、管理エンティティがポリシー情報を使用して、ＶＭが承認されるかどうかを判定し、それに応じて適切なリソースをプロビジョニングする。
【０００８】
データセンタ（ＤＣ）内でネットワークサービスをインスタンス化するための１つの実施形態による方法は、検出された計算イベントに応答して登録イベントを作成することと、検出された計算イベントと関連付けられたポリシー情報を取り出して、それにより、関連するタイプのサービスを識別することと、検出された計算イベントが承認される場合、関連するタイプのサービスを提供するようにＤＣサービスを構成することとを含む。
【０００９】
本明細書の教示は、添付の図面と併せて次の詳細な説明を考察することによって容易に理解されることが可能であろう。
【図面の簡単な説明】
【００１０】
【図１】様々な実施形態から恩恵を受けるシステムのハイレベルブロック図である。
【図２】一実施形態による方法の流れ図である。
【図３】一実施形態による方法の流れ図である。
【図４】一実施形態による方法の流れ図である。
【図５】一実施形態による方法の流れ図である。
【図６】本明細書に記載した諸機能を実行する際に使用するのに適したコンピューティングデバイスのハイレベルブロック図である。
【発明を実施するための形態】
【００１１】
理解を容易化するために、図に共通している同一の要素を示すため、可能であれば同一の参照符号が使用されている。
【００１２】
本発明は、ハイパーバイザレベルで計算イベント（例えば、ＶＭインスタンス化要求）を検出し、それに応じて、イベント承認およびデータセンタ（ＤＣ）リソース割当てに関してポリシーベースの決定が行われる登録イベントを生成することによって、データセンタ（ＤＣ）内でネットワークリソースのポリシーベースの管理を実行するシステム、方法、アーキテクチャ、機構、および／または装置に関連して説明される。しかしながら、本発明は、様々な実施形態に関して本明細書に記載するよりも広義の適用可能性を有することが当業者には理解されよう。
【００１３】
さらに、特定の機器構成、プロトコル、機構などに関連させて、様々な実施形態が説明されるが、さらに多くの様々な機器構成、プロトコル、機構なども、様々な実施形態内で使用するために適用できるものとして、発明者により考えられる。例えば、様々な実施形態は、ＶＭ上もしくはＴｏＲ制御プレーンモジュール内で動作している集中コントローラと、１つもしくは複数の物理サーバまたはサーバ要素とを含んだデータセンタ（ＤＣ）機器ラックに関連させて説明されることになる。
【００１４】
一般的に言えば、物理サーバまたはサーバ要素のそれぞれが、ホストマシンを含み、このホストマシン上で、計算リソース／ストレージリソースを使用する仮想サービスが、サーバ上で動作している、またはサーバと関連付けられた、ハイパーバイザまたは仮想マシンモニタ（ＶＭＭ）によってインスタンス化される。ハイパーバイザは、サーバ上で１つまたは複数の仮想化されたサービスをインスタンス化する、終了させる、および他の方法で制御するように適合されたソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せを含む。様々な実施形態では、単一ラックと関連付けられたサーバは、例示的には４０個の仮想スイッチ（ＶＳＷ）のインスタンス化をサポートするように集合的に動作可能である。より多くのまたはより少ないサーバ、インスタンス化されたスイッチなどが、ＤＣ内の特定の機器ラックまたはクラスタ内に設けられてもよいことは理解されよう。したがって、時には仕様図は、特定の機能に対して４０個の通信経路が使用されていることを示す。容易に理解されるであろうが、４０個よりも多いまたは少ない通信経路が使用されることも可能であり、より多いまたはより少ないＶＳＷが使用されることも可能であり、その他同様である。
【００１５】
本明細書で説明する仮想化されたサービスは、概して、テナントに提供されることが可能である任意のタイプの仮想化された計算リソースおよび／またはストレージリソースを述べた。さらに、仮想化されたサービスは、仮想化された計算リソース／ストレージリソース、データセンタネットワークインフラストラクチャなどを使用する非仮想機器または他の装置へのアクセスも含む。
【００１６】
図１は、様々な実施形態から恩恵を受けるシステムのハイレベルブロック図を示す。具体的には図１は、１つまたは複数のネットワーク１０２を介して住宅サイトおよび／または企業サイトでアプリケーション要求を有する数多くの顧客１０５に計算リソースおよびストレージリソースを提供するように動作可能な複数のデータセンタ（ＤＣ）１０１−１から１０１−Ｘ（集合的にデータセンタ１０１）を含んだシステム１００を示す。
【００１７】
住宅サイトおよび／または企業サイトでアプリケーション要求を有する顧客１０５は、任意の標準的な有線または無線アクセスネットワークを介してネットワーク１０２と対話して、ローカルクライアントデバイス（例えば、コンピュータ、モバイルデバイス、セットトップボックス（ＳＴＢ）、ストレージエリアネットワーク構成要素、顧客エッジ（ＣＥ）ルータ、アクセスポイントなど）がデータセンタ１０１の１つまたは複数で仮想化された計算リソースおよびストレージリソースにアクセスできるようにする。
【００１８】
ネットワーク１０２は、仮想プライベートネットワーク（ＶＰＮ）、ロングタームエボリューション（ＬＴＥ）、ボーダネットワークゲートウェイ（ＢＮＧ）、インターネットネットワークなど、複数の利用可能なアクセスネットワークおよび／またはコアネットワークトポロジおよびプロトコルのいずれかを、単独で、または任意の組合せで、含むことができる。
【００１９】
様々な実施形態は、一般的に、プロバイダエッジ（ＰＥ）ノード１０８間の通信を可能にするＩＰネットワークに関連させて述べられる。ＰＥノード１０８のそれぞれが、複数のデータセンタ１０１をサポートすることができる。すなわち、ネットワーク１０２とＤＣ１０１−Ｘとの間の通信として図１に示される２つのＰＥノード１０８−１および１０８−２もまた、複数の他のデータセンタ１０１をサポートするように使用されることが可能である。
【００２０】
データセンタ１０１（例示的にはＤＣ１０１−Ｘ）は、複数のコアスイッチ１１０と、複数のサービス機器１２０と、第１のリソースクラスタ１３０と、第２のリソースクラスタ１４０と、第３のリソースクラスタ１５０とを含むものとして示される。
【００２１】
例示的に、２つのＰＥノード１０８−１および１０８−２のそれぞれは、例示的に、２つのコアスイッチ１１０−１および１１０−２のそれぞれに接続される。より多いまたはより少ないＰＥノード１０８および／またはコアスイッチ１１０が使用されることもあり、一般的には冗長またはバックアップ能力が望まれる。ＰＥルータ１０８は、ＤＣ１０１をネットワーク１０２と相互に接続し、それによって他のＤＣ１０１およびエンドユーザ１０５と接続する。ＤＣ１０１は、一般的にセルにまとめられ、各セルが、何千ものサーバおよび仮想マシンをサポートすることができる。
【００２２】
コアスイッチ１１０−１および１１０−２のそれぞれが、それぞれの（オプションの）サービス機器１２０−１および１２０−２と関連付けられる。サービス機器１２０は、ファイアウォールを提供する、ロードバランシングタスクを行うなど、上位層ネットワーキング機能を提供するために使用される。
【００２３】
リソースクラスタ１３０−１５０は、マルチサーバブレードシャーシによって、または個々のサーバによって実装されたサーバのラックとして構成された計算リソースおよび／またはストレージリソースとして示されている。各ラックが、（アーキテクチャによって決まる）いくつかのサーバを保持し、各サーバが、いくつかのプロセッサをサポートすることができる。ネットワーク接続のセットが、サーバをトップオブラック（Ｔｏｐ−ｏｆ−Ｒａｃｋ：ＴｏＲ）、またはエンドオブラック（Ｅｎｄ−ｏｆ−Ｒａｃｋ：ＥｏＲ）スイッチと接続する。本明細書では３つのリソースクラスタ１３０−１５０のみが示されているが、何百、何千ものリソースクラスタが使用されることも可能である。さらに、図示したリソースクラスタの構成は、説明のためのものであり、当業者には、より多くの多様なリソースクラスタ構成が知られている。また、ＤＣ１０１での関連で、特定の（すなわち、クラスタ化されていない）リソースが使用されて、計算リソースおよび／またはストレージリソースを提供することも可能である。
【００２４】
例示のリソースクラスタ１３０は、（１つまたは複数の）大容量記憶装置またはストレージエリアネットワーク（ＳＡＮ）１３３ならびに例示的には仮想マシン（ＶＭ）をサポートするように適合された複数のサーバブレード１３５と通信しているＴｏＲスイッチ１３１を含んでいるとして示される。例示のリソースクラスタ１４０は、複数の別々のサーバ１４５と通信しているＥｏＲスイッチ１４１を含んでいるとして示される。例示のリソースクラスタ１５０は、例示的にはＶＭベースの機器をサポートするように適合された複数の仮想スイッチ１５５と通信しているＴｏＲスイッチ１５１を含んでいるとして示される。
【００２５】
様々な実施形態では、ＴｏＲスイッチ／ＥｏＲスイッチは、ＰＥルータ１０８と直接接続される。様々な実施形態では、コアスイッチまたは集約スイッチ１２０は、ＴｏＲスイッチ／ＥｏＲスイッチをＰＥルータ１０８に接続するために使用される。様々な実施形態では、コアスイッチまたは集約スイッチ１２０は、ＴｏＲスイッチ／ＥｏＲスイッチを相互に接続するために使用される。様々な実施形態では、ＴｏＲスイッチ／ＥｏＲスイッチの一部または全部の間で直接通信が行われることが可能である。
【００２６】
以下にさらに詳細に述べるように、ＴｏＲスイッチ内で動作している仮想スイッチ制御モジュール（ＶｉｒｔｕａｌＳｗｉｔｃｈ  Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅ  ：ＶＣＭ）が、ＤＣ内部および外部の他のルータおよびネットワーク要素から、接続性、ルーティング、到達可能性、および他の制御プレーン情報を収集する。ＶＣＭは、通常のサーバに配置されたＶＭ上でも動作することができる。ＶＣＭは、仮想スイッチと関連付けられた仮想マシン（ＶＭ）に関連する特定のルーティング情報を用いて、仮想スイッチのそれぞれをプログラムする。このプログラミングは、仮想スイッチ内のＬ２および／またはＬ３転送テーブルまたは他のデータ構造を更新することによって行われることが可能である。このように、仮想スイッチで受信されたトラフィックは、ＩＰトンネルを使用して発信元ハイパーバイザと宛先ハイパーバイザとの間のトンネルを通じて仮想スイッチから適切な次のホップへ伝搬される。ＴｏＲスイッチは、サービスアドレス指定を意識することなく、単にトンネル転送を行う。
【００２７】
一般的に言えば、内部ＤＣネットワークのための「エンドユーザ／顧客エッジ均等物」は、ＶＭまたはサーバブレードホスト、サービス機器、および／またはストレージエリアを含む。同様に、データセンタゲートウェイ装置（例えば、ＰＥサーバ１０８）は、外部の世界、すなわちインターネット、ＶＰＮ（ＩＰ  ＶＰＮ／ＶＰＬＳ／ＶＰＷＳ）、他のＤＣ位置、企業プライベートネットワークもしくは（住宅）加入者配備（ＢＮＧ、無線（ＬＴＥ他）、ケーブル）などへの接続性を提供する。
【００２８】
ポリシー自動化機能
上述の様々な要素および機能に加えて、図１のシステム１００はさらに、ポリシーおよび自動化マネージャ１９２、ならびにコンピュータマネージャ１９４を含む。
【００２９】
ポリシーおよび自動化マネージャ１９２は、次に述べるように、様々なポリシーベースのデータセンタネットワーク自動化機能をサポートするように適合される。
【００３０】
ポリシーベースのデータセンタネットワーク自動化機能は、ポリシーに準拠した方法でデータセンタ内の計算リソースおよび／またはストレージリソースを使用する仮想マシン（ＶＭ）または仮想サービスの迅速なインスタンス化を可能にするように適合される。様々な実施形態は、ポリシーベースのサービス発見およびバインディング機能により、効率的なデータセンタ管理を提供する。
【００３１】
前述の仮想スイッチ制御モジュール（ＶＣＭ）および仮想スイッチエージェント（ＶＡｇ）は、次の説明に特に興味深いものである。ＶＣＭは、ＴｏＲもしくはＥｏＲスイッチ（もしくは何らかの他のスイッチ）内に含まれることが可能であり、または、独立した処理装置であることが可能である。１つまたは複数のＶＣＭは、各データセンタに、データセンタのサイズおよび各ＶＣＭの容量に応じて配備されることが可能である。ＶＡｇは、ＶＳＷ内に含まれてもよい。
【００３２】
テナントＶＭが、サーバにあるハイパーバイザにアタッチする。ＶＭがハイパーバイザにアタッチするとき、ＶＭを特定のテナントネットワークインスタンスにマッピングするための機構が必要とされる。この機構は、ＶＭに関する状態情報を配布し、この状態情報が使用されて、ＶＭを特定のテナントネットワークセレクタにアタッチし、それによって必要なポリシーを提供する。
【００３３】
テナントＶＭは、ＴｏＲまたはＥｏＲスイッチに直接アタッチすることもでき、同様のテナントセレクタ機能が、テナントトラフィックを特定のＶＲＦ（ｖｉｒｔｕａｌ  ｆｏｒｗａｒｄｉｎｇ  ｉｎｓｔａｎｃｅｓ：仮想転送インスタンス）にマッピングする。トラフィックが、ある形式のトンネルヘッダでカプセル化され、トンネルセレクタ間で伝送される。制御層プロトコルにより、トンネルセレクタがパケットをそれらの宛先に基づいて特定のトンネルにマッピングできるようになる。ネットワークのコアでは、制御プレーンが使用されて、トンネルセレクタ間のトラフィックのルーティングが可能になる。選択された技術に応じて、パケットとトンネルとの間のマッピングは、一般に、Ｌ２もしくはＬ３ヘッダ、またはパケットヘッダ中のフィールドの任意の組合せに基づくことができる。
【００３４】
様々な実施形態は、複数の構成ステップなしでサービスのインスタンス化を可能にする、スケーラブルなマルチテナントネットワークサービスを提供する。様々な実施形態は、テナント固有情報が拡張性のあるポリシーサーバに格納されるという原理に基づいている。ネットワーク要素が、サーバ、ストレージ、または他の構成要素によるネットワークサービスの要求を表す「イベント」を検出する。これらのイベントに基づいて、ネットワーク要素は、ポリシーサーバで要求を確認した後、要求されるサービスを自動的にセットアップする。
【００３５】
具体的には、様々な実施形態は、エンドユーザが、クラウド管理ツールにより、計算リソース、ストレージリソース、および／または他のリソースを要求する仮想サービスをインスタンス化することを考える。所与のテナントだけが、その自身の特定のリソースにアクセスできるように、これらのリソースは、複数のテナントネットワークを通って相互に接続されなければならない。ＤＣソリューションは、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ：アプリケーションプログラミングインタフェース）を使用してインフラストラクチャ構成要素または他のパケット情報を計算し、格納することによって、これらのイベントを取り込むように構成されなければならず、さらにＤＣソリューションは、テナントネットワークを自動的にインスタンス化しなければならない。ネットワークのエッジで仮想コントローラモジュールによってイベントが検出されるとき、ポリシーサーバは、正しいアクションプロファイルを識別するために調べられる。イベントが仮想マシンインスタンス化である場合、ポリシーサーバは、この仮想マシンと関連付けられたネットワークに使用されなければならない必要な情報を提供することになる。仮想コントローラモジュールは、この情報を使用して、ネットワークのエッジでポリシーを実施し、適切なヘッダでトラフィックをカプセル化する。
【００３６】
ポリシー実施およびトラフィックカプセル化は、そのような機能性がエッジノードで利用できない場合は、対応するサーバにあるＶＳＷ、またはＴｏＲスイッチにおいてインスタンス化されることが可能である。
【００３７】
本明細書で述べるデータセンタ（ＤＣ）１０１などのデータセンタ（ＤＣ）が、一般的に、サーバのラックを介して提供される計算リソース／ストレージリソースを含み、各サーバラックが、トップオブラック（ＴｏＲ）またはエンドオブラック（ＥｏＲ）スイッチなどの物理スイッチをそれと関連付ける。
【００３８】
１つまたは複数の仮想スイッチ（ＶＳＷ）は、例えば仮想化されたネットワーキングが配備されるとき、各サーバ内のそれぞれのハイパーバイザまたは仮想マシンマネージャを介してサーバのそれぞれの中でインスタンス化される。ＶＳＷエージェント（ＶＡｇ）が、各ＶＳＷと関連付けられる。ＶＡｇは、インスタンス化されて、ＶＳＷと同じマシンで動作することができ、またはＶＡｇは、異なるマシンで動作し、ハイパーバイザによって提供されるＡＰＩを利用してＶＳＷに届くことが可能である。
【００３９】
ＴｏＲまたはＥｏＲスイッチは、例示的には、高密度の１０Ｇ／４０Ｇ／１００Ｇイーサネット（登録商標）スイッチングソリューションを提供する物理スイッチである。ＴｏＲスイッチは、特定のＴｏＲにアタッチされたすべてのＶＳＷを制御することを担当する仮想スイッチコントローラモジュール（ＶＣＭ）を含む。ＶＣＭは、ネットワーク管理者が対応するＶＳＷの挙動を監視し、変更できるようにするインタフェースを提供する。ＶＣＭはまた、ＶＳＭおよびＴｏＲが統合されたスイッチクラスタとして動作できるようにする様々なプロトコル能力も含む。例えば、ＢＧＰ  ＩＰＶＰＮトンネルの場合、ＶＳＷは、トンネルカプセル化を行うが、ＶＣＭはＢＧＰプロトコルに加わり、ＶＳＷへの正しいルートをプログラムする。ルートのプログラミングは、ＶＣＭとＶＡｇとの間の通信経路（ＶＳＷ制御）を有効にすることによって行われる。
【００４０】
ＴｏＲは、ＰＣを他のネットワークにつなげているプロバイダエッジ（ＰＥ）ルータと、またはＴｏＲとＰＥルータとの間のＤＣネットワークを形成している集約ルータ／コアルータと、直接通信する。集約ルータ／コアルータは、Ｌ２／Ｌ３スイッチング機能をサポートする大容量のイーサネットスイッチとして実装されることが可能である。
【００４１】
ポリシーおよび自動化マネージャ１９２が、クラウドネットワーク自動化（ＣＮＡ）エンティティとして動作し、ネットワークの動作を自動化するために構成された様々なソフトウェア構成要素を含んでいる。ＣＮＡは、ユーザ管理データベース、ポリシー構成および保守、システム間インタフェース、ならびに外部との接触（ｅｘｐｏｓｕｒｅ）を担当する。ＣＮＡは、各テナントと関連付けられたすべてのポリシーを保持するポリシーサーバを含み、そのポリシーは、プロファイルを新しいネットワークサービスまたはＶＭと関連付けるために、新しいネットワークサービスまたはＶＭがインスタンス化されなければならないとき、ＶＣＭまたはＴｏＲによってアクセスされる。ＣＮＡは、すべてのテナントトラフィックに単一の管理インタフェースを提供するソリューションのテナントごとの表示を提供することができる。
【００４２】
例えばコンピュータマネージャ１９４によって提供される、複数の知られている計算管理ポータルまたはツールのいずれかが、ＶＭｗａｒｅ  ｖＣｅｎｔｅｒ／ｖＣｌｏｕｄ、ＨＰ  ＣＳＡ、Ｎｉｍｂｕｌａ、Ｃｌｏｕｄ．ｃｏｍ、Ｏｒａｃｌｅなど、計算マシンおよび仮想マシン管理に使用されることが可能である。具体的には、本明細書に記載する様々な実施形態は、一般的に、様々な計算管理ポータルまたはツールで動作可能である。計算マネージャおよび計算管理ポータルという用語は、ある実施形態においては異なるエンティティを指し、他の実施形態においては同じエンティティを指す可能性があることは理解されよう。すなわち、これらの２つの機能は、ある実施形態では結合されるが、他の実施形態では分けられる。
【００４３】
一般的に言えば、様々な実施形態は、次により詳細に説明するように、分散された機構を使用してデータセンタ内でネットワークサービスのインスタンス化を自動化するように動作する。簡単に言えば、この機構は、部分的に次の原理に基づく：
（１）ネットワークサービスが、エッジネットワークデバイスによって常に自動インスタンス化される。
（２）ネットワークにあるインテリジェント機構が、仮想マシンまたはストレージ構成要素の追加／削除など、ネットワークのエッジにおける「計算イベント」を検出する。
（３）このようなイベントが検出されるとき、ＣＮＡは、検出された計算イベントに応答して１つまたは複数のネットワーク要素を介して提供されなければならないサービスのタイプを識別するために調べられる。
（４）ＣＮＡは、クラウド管理または他の管理ツールからの情報を投入されている。
（５）ネットワークサービスおよび関連するポリシーが識別されると、これらがネットワーク要素によって分散された方法で適用／提供され、ＣＮＡは、システムの各テナントに適用されたサービス、およびこれらのサービスに含まれるすべての物理要素および仮想要素の一貫性のある視点を維持する。
【００４４】
図２は、一実施形態による方法の流れ図を示す。具体的には、図２は、データセンタ内でネットワークサービスを自動的にインスタンス化するための方法２００の流れ図を示す。
【００４５】
ステップ２１０において、ＶＣＭは、ＤＣネットワークのエッジにおいて、検出された計算イベントに応答して登録イベントを作成する。検出された計算イベントは、仮想計算リソースまたはストレージリソースを追加するまたは削除するよう求める要求を示す対話を含む。計算イベントは、仮想計算リソースまたはストレージリソースを使用するアクセスされる機器などを追加するまたは削除するよう求める要求を示す対話を含むこともある。ボックス２１５を参照すると、例えば計算管理ポータルまたはツール（または他の機構）を介して、仮想マシン（ＶＭ）、エッジデバイス、または他の仮想サービスをインスタンス化するようハイパーバイザに要求が行われるとき、ハイパーバイザ内でインスタンス化されたＶＡｇによって計算イベントが検出されることが可能である。ＶＡｇは、取り込まれた計算イベントに関する情報をＶＣＭに転送し、ＶＣＭはそれに応じて、登録イベントまたは機構を呼び出す。
【００４６】
ステップ２２０において、ＶＣＭは要求側テナントを識別し、テナント識別子および計算イベントパラメータをＣＮＡに伝える。ボックス２２５を参照すると、要求側テナントは、テナント識別子により明示的に、または発信元アドレスもしくは他の情報により暗黙的に、識別されることが可能である。計算イベントパラメータは、追加される、削除される、またはその他の処理をされる仮想計算リソースまたはストレージリソースを定義する。
【００４７】
ステップ２３０において、ＣＮＡは、検出された計算イベントと関連付けられたポリシー情報、ならびに識別されたテナントと関連付けられたポリシー情報を取り出す。ボックス２３５を参照すると、検出されたイベントポリシー情報は、計算イベントに応答して様々なネットワーク要素によって提供されるサービスのタイプを識別し、テナントポリシー情報は、例えばサービスレベル合意（ＳＬＡ）などによって定義される、識別されたテナントと関連付けられたポリシーを識別する。
【００４８】
ステップ２４０において、ＣＮＡは、識別されたテナントが、要求されたサービス、ならびに要求されたサービスを提供するための仮想化された計算リソース／ストレージリソースの適切なプロビジョニングを受け取ることを承認されるかどうかを判定する。
【００４９】
ステップ２５０において、テナントが、要求されたサービスを受け取ることを承認される場合、ＣＮＡは、要求されたサービスをテナントに提供するための様々な計算サービス／ストレージサービスを構成する。
【００５０】
本明細書に記載する様々な実施形態は、ＴｏＲまたは他の物理スイッチにあるＶＣＭを考えていることに留意されたい。しかしながら、様々な実施形態では、ＶＣＭは、他の物理的位置または仮想的位置にある。
【００５１】
上述の方法は、様々な仮想サービスまたはマシンを実装するために計算リソース／ストレージリソースを要求しているＤＣテナントの自動アドミッション制御を提供する。
【００５２】
オンボードテナントおよびゲストテナント。様々な実施形態では、自動化、およびミッション制御を、ＤＣサービスプロバイダに知られているＤＣテナントに提供することが望ましい。これらの実施形態では、任意の機能がネットワークで行われる前に、テナントはシステムにオンボードされなければならない。このプロセスは、複数のインタフェースの１つを使用することができる。
【００５３】
オンボードプロセスの主な目標は、ＣＮＡのポリシーサーバにテナント関連情報を投入するようになされる。テナントオンボードが使用されない様々な実施形態では、ポリシーのデフォルトセットが、未知のまたは「ゲスト」テナントに適用されることが可能である。
【００５４】
テナント関連情報は、次のうちの１つまたは複数など、複数のポリシーを含むことができる：
（１）テナントユーザおよび／またはグループ。この情報は、ユーザ間の関係を提供し、これが使用されてポリシー決定を推進する。例えば、企業が、そのユーザを開発グループ、運営グループ、および経営グループに分割することができ、グループ毎に異なるポリシーを関連付けることができる。
（２）特定のユーザおよびグループと関連付けられたセキュリティポリシー。このようなポリシーが、例えば、特定のユーザによってインスタンス化されたＶＭが、システム中の他のＶＭと、または外部の世界と、通信することができるかどうかを定義する。セキュリティポリシーは、ＶＭ、アプリケーション、プロトコルおよびプロトコル番号、または任意の他の機構に基づくことができる。
（３）特定のユーザまたはグループと関連付けられたサービス品質（帯域幅、損失率、待ち時間）要件、例えば、ＶＭがネットワークから要求することができる最大帯域幅、またはグループに属しているユーザの集合が要求することができる最大帯域幅など。
（４）ユーザがインスタンス化することができるＶＭまたはネットワークの最大数、または使用されるネットワークの最大数など、クォータ（ｑｕｏｔａ）パラメータ。
【００５５】
図３は、一実施形態による方法の流れ図を示す。具体的には、図３は、一実施形態によるテナントインスタンス化および新しい仮想マシンのネットワーク接続のための方法の流れ図を示す。この説明のために、１つのテナントが新しい仮想マシンをインスタンス化すること、および新しい仮想マシンをネットワークに接続することを必要とする単純なシナリオを仮定する。
【００５６】
ステップ３１０において、計算管理ポータルまたはツール（または他の機構）により、テナントが、新しい仮想マシンおよびその関連するパラメータを定義する。例えば、テナントは、使用されなければならないＣＰＵの数、ＶＭと関連するメモリ、ＶＭのディスクなどを定義することができる。テナントは、マシンのネットワークインタフェースを定義することもできる。様々な実施形態では、計算マネージャもまた、この仮想マシンと関連する（１つまたは複数の）ネットワークを定義する。これらのネットワークのそれぞれに対して、ユーザは、特定のＱｏＳおよび／またはセキュリティサービスを要求することができる。定義中のパラメータが、ＱｏＳ要件、マシンへのＬ３アクセスのためのＡＣＬ、レートシェーパ、ネットフロー（ｎｅｔｆｌｏｗ）パラメータ、サブネットのＩＰアドレスなどを含むことができる。様々な実施形態では、仮想マシン定義は、次のサンプルＸＭＬファイルなどのＸＭＬファイルＸＭＬファイルにカプセル化される：
【００５７】
【数１】
0005976942.tif 000002
0005976942.tif 000003
【００５８】
ステップ３２０において、コンピュータマネージャは、定義された仮想マシンを特定のサーバと関連付ける。１つの実施形態では、構成プロセスは、構成ファイル（ステップ３１０に関して上述した例示のＸＭＬファイルなど）を対応するハイパーバイザに送信することによって起動される。ＶＡｇは、ハイパーバイザに登録し、このようなインスタンス化が行われるとき、ＶＡｇは、仮想マシンｉｄ、仮想マシン名、ネットワーク名、およびテナント関連情報を含む、構成パラメータを取り出す。この情報は、ＶＭが属するテナント、およびテナントが希望するサービスを明示的に識別する。
【００５９】
ステップ３３０において、ＶＡｇが専用通信チャネルを介して、対応する仮想スイッチコントローラに新しいイベントを知らせる。このプロセスでは、ＶＣＭは、特定のテナントからのＶＭが、ネットワークで起動され、特定のネットワークに接続する必要があることを知らされる。
【００６０】
ステップ３４０において、ＶＣＭは、これが本当に受け入れ可能であるかどうか、および特定のテナントとの関連するポリシーに基づいて実施されなければならないポートプロファイルパラメータは何であるかを判定するために、ポリシーサーバにインスタンス化要求を送信する。ＶＣＭによってＴｏＲに送信される情報は、ＶＭをインスタンス化するために使用されたフィールドの実質的にすべてを含む。
【００６１】
【数２】
0005976942.tif 000004
0005976942.tif 000005
0005976942.tif 000006
【００６２】
ステップ３５０において、ＣＮＡまたはポリシーサーバは、受信される情報を使用して、この要求に関連する適切なポリシーまたはサービスを識別する。例えば、ポリシーサーバは、これは新しいネットワークであり、このネットワークに任意のネットワーク識別番号を割り当てることができると判定することができる。ポリシーサーバはまた、既存のポリシーのために、ＶＭのＱｏＳまたはＡＣＬ要求の一部は拒否されなければならない一方で、追加パラメータが設定されなければならないと判定することもできる。したがって、ポリシーサーバは、ＰＢＢカプセル化のためのＩＳＩＤ番号、またはＭＰＬＳカプセル化のためのラベル値、またはＱｏＳパラメータ、ＡＣＬ、レート制限パラメータなどのようなパラメータを決定することになる。Ｌ３設計については、ポリシーは、ＶＲＦ構成、ＶＰＮ  ｉｄ、ルートターゲットなどを含むことになる。ポリシーサーバがすべての情報を決定すると、ポリシーサーバは対応するポリシーをもとのＶＣＭに送信する。送信される情報の一例を、次のＸＭＬ記述に示す：
【００６３】
【数３】
0005976942.tif 000007
【００６４】
ステップ３６０において、ＶＣＭがこの情報を受け取るとき、ＶＣＭは対応する制御／ルーティングプロトコルサービスをインスタンス化する。例えば、上記の説明は、ポリシーサーバが、ルート識別子を１０００：１に等しく、ルートターゲットを２０００：１に等しくしてＢＧＰ  ＶＲＦサービスをインスタンス化することを必要とする。これらの制御／ルーティングサービスは、正しいルートを投入するためにネットワークの他のＶＣＭと情報を交換する。ＶＣＭはまた、ポリシーサーバによって受信された命令により任意のＡＣＬまたはＱｏＳパラメータをインスタンス化する。これらのインスタンス化は、ハイパーバイザにあるＶＳＷにＶＣＭプログラミング固有のエントリをもたらすことに留意されたい。ＶＣＭは、例示的には、ＶＡｇと通信し、適切な情報を伝搬することによってこれを達成する。
【００６５】
ステップ３７０において、前のステップの間にインスタンス化された制御／ルーティングプロトコルが新しいルートまたは他のパラメータを識別する（例えば、システムにおいて特定のＶＭが別のＶＭと通信するために、パケットは特定のトンネルヘッダでカプセル化されなければならないことを判定する）いかなるときにも、ＶＣＭは、それに応じてＶＳＷにおいて対応する転送エントリをプログラムする。
【００６６】
ステップ３８０において、現在、ＶＳＷ転送エントリのプログラムが作成されているので、ＶＭがパケットの送信を開始するとき、パケットは、ポリシーサーバによって確立されたルールに基づいて転送されることになる。
【００６７】
ステップ３９０において、代替的実行では、トンネルへのパケットのカプセル化は、ＴｏＲスイッチによって行われ、したがって転送エントリは、単にＴｏＲスイッチでプログラムされる。
【００６８】
図４は、一実施形態による方法の流れ図を示す。具体的には、図４は、一実施形態によるＶＭの削除のための方法４００の流れ図を示す。ＶＭ消去（ｄｅｌｅｔｉｏｎ）と関連するステップは、図９の方法９００に関して上述したように、ＶＭインスタンス化と関連するステップとフロート（ｆｌｏａｔ）が同様である。
【００６９】
ステップ４１０において、コンピュータ管理ポータルまたはツール（または他の機構）により、エンドユーザは、ＶＭ削除プロセスを起動する。
【００７０】
ステップ４２０において、最も近いＶＡｇが、ＶＭがシャットダウンまたは削除されることになるハイパーバイザから通知を受け取る。
【００７１】
ステップ４３０において、ＶＡｇは、イベントについてＶＣＭに通知し、ＶＣＭは、削除されるＶＭと関連するいかなる状態もクリアする。ＶＣＭはまた、このＶＭのためにＶＳＷに構成されたいかなる状態もクリアする。
【００７２】
ステップ４４０において、これが特定のＴｏＲスイッチに届くテナントセグメントの最後のＶＭである場合、制御層プロトコル（例えばＢＧＰ）は、対応するルートが取り消されるように通知されることが可能である。
【００７３】
ステップ４５０において、ＶＣＭは、ＶＭはもはやそのポートの１つとアタッチされないことをＣＮＡに通知する。
【００７４】
ステップ４６０において、ＣＮＡは、そのローカルデータベースに仮想マシン状態に関するいかなる正確な状態も保持する。
【００７５】
様々なデータセンタ環境において、要求の１つは、ライブＶＭを新しいサーバへ移行できるようにすることである。ＶＭ移行の使用事例は、通常、サーバにおける負荷再分配、エネルギー節約、および潜在的には障害回復などである。いくつかの例では、問題は、ライブマイグレーションによってではなく、新しいマシンでのウォームリブートによって対処されるが、ライブマイグレーションの利便性により、ライブマイグレーションは非常に普及した。したがって、様々な実施形態は、新しいサーバに対してＶＭのこのようなライブマイグレーションをサポートする。一般的に言えば、ライブＶＭの移行は、一般的に、ＶＭ消去およびＶＭインスタンス化を含む。
【００７６】
図５は、１つの実施形態による方法の流れ図を示す。具体的には、図５は、ＶＭのライブマイグレーションのための方法５００の流れ図を示す。
【００７７】
ステップ５１０において、ライブマイグレーションが、新しい物理マシンにおいてリソースを割り当て、その後元のマシンと新しいマシンとの間でメモリコピーを開始する計算マネージャによって起動される。
【００７８】
ステップ５２０において、計算マネージャが、対応するハイパーバイザに構成命令を送信する。ステップ５２０は、ステップ５１０と同時に行われてもよい。
【００７９】
ステップ５３０において、最も近いＶＡｇがこれらの要求を取り込み、新しいハイパーバイザのためのＶＣＭを構成するプロセスを起動する。これにより、ＶＣＭは、対応するプロファイルをセットアップし、トラフィックフローを有効にすることができる。新しいＶＣＭにおいてネットワークサービスを設定するプロセスは、他の仮想マシンインスタンス化中と同じものである。唯一の違いは、ＶＣＭがＣＮＡに、これは仮想マシンの移行であり、したがってＣＮＡはそのローカルデータベースに動作の記録をつけることができることを通知することである。
【００８０】
ステップ５４０において、新しいマシンへのＶＭメモリコピー動作が完了した後、ＶＭは、新しいマシン上で有効になる。
【００８１】
ステップ５５０において、以前のマシンのＶＭは、停止されるおよび／または強制停止される（ｄｅｓｔｒｏｙｅｄ）。
【００８２】
ステップ５６０において、以前のマシンのＶＡｇは、強制停止コマンドを取り込み、ＶＣＭにメッセージを送信する。ＶＣＭは、いかなるローカル状態もクリアし、それが他の仮想マシン削除に役立つであろうから、ＣＮＡに通知する。
【００８３】
上述の方法５００は、ＶＭ画像ファイルシステムが、元のハイパーバイザとターゲットのハイパーバイザの両方にすでに実装されていると考える。要求に応じてファイルシステムをマウントすることは、ストレージオプションの概要を述べた後に説明するいくつかの追加アクションを必要とすることになる。これは、「ストレージ移行」のカテゴリに入る。
【００８４】
上述の様々な実施形態は、インスタンス化、削除、移行などの、ＶＭ関連機能を考える。しかしながら、ＶＭ関連機能に加えて、様々な実施形態は、仮想技術に依存しない機器の領域を処理することもできる。例えば、このような機器は、ロードバランサ、ファイアウォール、トラフィックアクセラレータなどのネットワークサービス機器、ならびに、ベアメタルサーバ、ブレードシステム、ストレージシステム、グラフィックプロセッサアレイなどの、ネットワークサービスを消費する必要のある計算関連機器を含むことがある。これらの事例のそれぞれにおいて、本明細書に記載する様々な自動化方法および機構は、このような機器に対してＤＣネットワークサービスをインスタンス化し、相互に接続するように適合されることが可能である。
【００８５】
図６は、本明細書に記載する機能を実行する際に使用するのに好適な、通信またはデータセンタネットワーク要素中のプロセッサのようなコンピューティングデバイスの高レベルブロック図を示す。具体的には、本明細書に記載するコンピューティングデバイス６００は、様々なデータセンタ（ＤＣ）要素、ネットワーク要素、ノード、ルータ、管理エンティティなどに関して上述した様々な機能を、ならびに様々な図に関して述べた方法／機構を実行するようによく構成されている。
【００８６】
図６に示すように、コンピューティングデバイス６００は、プロセッサ要素６０３（例えば、中央処理装置（ＣＰＵ）および／または（１つまたは複数の）他の好適なプロセッサ）と、メモリ６０４（例えば、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）など）と、連携モジュール／プロセス６０５と、様々な入力／出力装置６０６（例えば、ユーザ入力装置（例えばキーボード、キーパッド、マウスなど）、ユーザ出力装置（例えばディスプレイ、スピーカなど）、入力ポート、出力ポート、受信機、送信機、および記憶装置（例えば、永続的ソリッドステートドライブ、ハードディスクドライブ、コンパクトディスクドライブなど））とを含む。
【００８７】
本明細書に示して説明した機能は、ソフトウェアで、および／またはソフトウェアとハードウェアの組合せで、例えば汎用コンピュータ、１つもしくは複数の特定用途向け集積回路（ＡＳＩＣ）、および／またはその他のハードウェア均等物を使用して、実装されることが可能であることは理解されよう。１つの実施形態では、連携プロセス６０５は、メモリ６０４にロードされ、プロセッサ６０３によって実行されて本明細書に説明する機能を実行することができる。したがって、連携プロセス６０５（関連するデータ構造を含む）は、例えばＲＡＭメモリ、磁気または光学式ドライブまたはディスケットなど、コンピュータ可読記憶媒体に記憶されることが可能である。
【００８８】
図６に示されるコンピューティングデバイス６００は、本明細書に記載する機能要素または本明細書に記載する機能要素の一部を実行するために好適な、一般的なアーキテクチャおよび機能性を提供することは理解されよう。
【００８９】
ソフトウェアの方法として本明細書に記載した諸ステップのいくつかは、例えばプロセッサと協力して様々な方法のステップを実行する回路として、ハードウェアの中に実装されることが可能であると考えられる。本明細書に記載する機能／要素の一部は、コンピュータ命令が、コンピューティングデバイスによって処理されるとき、本明細書に記載する方法および／または技法が呼び出される、または他の方法で提供されるようにコンピューティングデバイスの動作を構成する、コンピュータプログラム製品として実装されることが可能である。発明の方法を呼び出すための命令は、固定された、もしくは取り外し可能な媒体もしくはメモリなど、有形の非一時的コンピュータ可読媒体に格納される、ブロードキャストの、もしくは他の信号を載せる媒体の有形もしくは無形のデータストリームによって送信される、および／または命令により動作するコンピュータデバイス内のメモリ内に記憶されることが可能である。
【００９０】
本発明の教示を組み込む様々な実施形態を本明細書で詳細に示して説明したが、これらの教示を依然として組み込んだ他の多くの変更形態を、当業者は容易に考案することができる。したがって、前述の内容は、本発明の様々な実施形態を対象としているが、本発明の基本的な範囲から逸脱することなく、本発明の他のさらなる実施形態が考案されることが可能である。したがって、本発明の適切な範囲は、特許請求の範囲により定められなければならない。
【図１】
0005976942.tif 000008
【図２】
0005976942.tif 000009
【図３】
0005976942.tif 000010
【図４】
0005976942.tif 000011
【図５】
0005976942.tif 000012
【図６】
0005976942.tif 000013