仮想マシン130、135、140、145を複製するための方法であって、ネットワーク要素によって、仮想マシンに関連するデータパケットに対応するクラスを判定するステップS520、S625と、判定されたクラスに基づいて、データパケットをバッファするステップS530、S635およびデータパケットを送信するステップS535、S640のうちの1つとを含む、方法。クラスが、データパケットのタイプに基づいて判定され、タイプが、制御メッセージを含むデータパケットおよびデータのみを含むデータパケットのうちの1つである、請求項1に記載の方法。判定されたクラスを、データパケットのクラスおよびタイプに基づく複数のルールを含むルールセットと比較するステップをさらに含む、請求項2に記載の方法。制御メッセージを含むデータパケットがバッファされ、データのみを含むデータパケットが送信される、請求項3に記載の方法。ネットワーク要素がネットワークスイッチである、請求項1に記載の方法。ネットワークスイッチによって、仮想マシンをホストする制御モジュールから制御メッセージおよびプロトコルメッセージを受信するステップS615と、ネットワークスイッチによって、仮想マシンをホストする制御モジュールからデータパケットを受信するステップS620であって、制御メッセージおよびプロトコルメッセージが、データパケットに対応するクラスを判定するために使用される、ステップとをさらに含む、請求項5に記載の方法。仮想マシンのホストに関連する制御モジュール150であって、データパケットをバッファするように構成されたメモリ225と、仮想マシンに関連するデータパケットに対応するクラスを判定するように構成され、判定されたクラスに基づいて、メモリにデータパケットをバッファすること、およびデータパケットを送信することのうちの1つを行うように構成されたパケット分類器215とを含む、制御モジュール。クラスが、パケットのタイプに基づいて判定され、タイプが、制御メッセージを含むデータパケットおよびデータのみを含むデータパケットのうちの1つであり、制御メッセージを含むデータパケットがバッファされ、データのみを含むデータパケットが送信される、請求項7に記載の制御モジュール。仮想マシンをホストする制御モジュールから、仮想マシンに関連するデータパケットに対応するプロトコル情報および制御情報を含むメッセージを受信するように構成されたモジュール410と、プロトコル情報および制御情報に基づいてクラスを判定するように構成され、判定されたクラスに基づいて、データパケットをバッファすること、およびデータパケットを送信することのうちの1つを行うように構成されたパケット分類器425とを含む、ネットワークスイッチ110。クラスが、データパケットのタイプに基づいて判定され、タイプが、制御メッセージを含むデータパケットおよびデータのみを含むデータパケットのうちの1つであり、制御メッセージを含むデータパケットがバッファされ、データのみを含むデータパケットが送信される、請求項9に記載のネットワークスイッチ。例示的な実施形態は、仮想マシンの非同期複製に関する。一実施形態は、仮想マシンを複製するための方法を含む。方法は、仮想マシンに関連するデータパケットに対応するクラスを判定するステップと、判定されたクラスに基づいて、パケットをバッファするステップおよびパケットを送信するステップのうちの1つとを含む。別の実施形態は、仮想マシンのホストに関連する制御モジュールを含む。制御モジュールは、データパケットをバッファするように構成されたメモリを含む。制御モジュールは、仮想マシンに関連するパケットに対応するクラスを判定するように構成され、判定されたクラスに基づいて、メモリにパケットをバッファすること、およびパケットを送信することのうちの1つを行うように構成されたパケット分類器を含む。別の実施形態は、ネットワークスイッチを含む。ネットワークスイッチは、仮想マシンをホストする制御モジュールから、仮想マシンに関連するパケットに対応するプロトコル情報および制御情報を含むメッセージを受信するように構成されたモジュールを含む。ネットワークスイッチは、プロトコル情報および制御情報に基づいてクラスを判定するように構成され、判定されたクラスに基づいて、パケットをバッファすること、およびパケットを送信することのうちの1つを行うように構成されたパケット分類器をさらに含む。本発明は、本明細書において以下に与えられる詳細な説明および添付の図面から、より完全に理解されるようになる。同様の要素は同様の参照番号によって表され、これは例示として与えられるものであるに過ぎず、したがって、本発明を限定するものではない。これらの図面は、いくつかの例示的な実施形態で利用される方法、構造および/または材料の一般的な特性を示し、以下に提供される説明を補足することを意図するものであることに留意されたい。ただし、これらの図面は縮尺通りではなく、任意の所与の実施形態の正確な構造またはパフォーマンス特性を正確に反映しないことがあり、例示的な実施形態によって包含される値の範囲または性質を定義するまたは限定するものとして解釈されるべきではない。例えば、分子、層、領域および/または構造要素の相対的な厚さおよび位置付けは、明確にするために縮小されるか、誇張され得る。様々な図面における類似または同一の参照番号の使用は、類似または同一の要素または特徴の存在を示すことを意図するものである。例示的な実施形態は様々な修正形態および代替の形態が可能であるが、その実施形態は図面において実施例として示され、本明細書において詳細に説明される。ただし、例示的な実施形態を開示された特定の形態に限定する意図はなく、逆に、例示的な実施形態は、特許請求の範囲の範囲内に入るすべての修正形態、等価形態、および代替形態を網羅するものであることを理解されたい。同様の番号は、図面の説明全体を通して同様の要素を指す。例示的な実施形態についてより詳細に述べる前に、いくつかの例示的な実施形態はフローチャートに図示されたプロセスまたは方法として説明されることに留意されたい。フローチャートは連続したプロセスとしての動作を説明するが、動作の多くは並行して、または同時にconcurrentlyorsimultaneously実行され得る。加えて、動作の順序を並べ替えることができる。プロセスは、その動作が完了したときに終了し得るが、図に含まれない追加のステップも有し得る。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応し得る。いくつかがフローチャートによって示される以下に述べる方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組合せによって実施され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実施されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、ストレージ媒体などのマシンまたはコンピュータ可読媒体に記憶される。1つまたは複数のプロセッサは必要なタスクを実行する。本明細書に開示される特定の構造上および機能上の詳細は、本発明の例示的な実施形態を説明する目的を表すものにすぎない。ただし、この発明を多くの代替の形態で具体化することができ、本明細書に記載の実施形態のみに限定されるものとして解釈されるべきではない。第1のfirst、第2のsecondなどの用語は本明細書において様々な要素を説明するために使用され得るが、これらの要素はこれらの用語によって限定されるべきではないことを理解されたい。これらの用語は、ある要素を別の要素と区別するためのみに使用される。例えば、例示的な実施形態の範囲を逸脱することなく、第1の要素を第2の要素と称することができ、同様に、第2の要素を第1の要素と称することができる。本明細書において使用される場合、および/またはという用語は、関連する列挙された項目の1つまたは複数の任意のおよびすべての組合せを含む。要素が別の要素に接続されているまたは結合されていると言われるとき、この要素を他方の要素に直接接続するまたは結合することができるか、介在要素が存在する場合があることを理解されたい。対照的に、要素が別の要素に直接接続されているまたは直接結合されていると言われるとき、介在要素は存在しない。要素間の関係を説明するために使用される他の語は、同様の方法例えば、間に対直接間に、隣接した対直接隣接したなどで解釈されるべきである。本明細書において使用される専門用語は、特定の実施形態を説明することのみを目的とするものであり、例示的な実施形態を限定することを意図するものではない。本明細書において使用される場合、単数形a、anおよびtheは、文脈がそうではないことを明確に示さない限り、複数形も含むことを意図する。用語含むcomprises、comprising、includesおよび/またはincludingという用語は、本明細書において使用されるとき、述べられた特徴、整数、ステップ、動作、要素および/または構成要素の存在を明記するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素および/またはこれらのグループの存在または追加を除外しないことをさらに理解されたい。いくつかの代替実装形態では、示された機能/行為は図に示された順序ではない順序で行われ得ることにも留意されたい。例えば、連続して示された2つの図は、実際には、関与する機能性/行為に応じて、同時に実行され得るか、時として逆の順序で実行され得る。別途定義されていない限り、本明細書において使用されるすべての用語技術用語および科学用語を含むは、例示的な実施形態が属する当業者によって一般的に理解されるものと同じ意味を有する。用語、例えば、一般的に使用される辞書に定義される用語は、関連分野の文脈における意味と一致する意味を有するものとして解釈されるべきであり、本明細書においてそのように明確に定義されていない限り、理想化されたまたは過度に形式的な意味で解釈されないことをさらに理解されたい。例示的な実施形態の部分および対応する詳細な説明は、ソフトウェア、またはコンピュータメモリ内のデータビット上での動作のアルゴリズムおよび記号表現の観点で提示される。これらの説明および表現は、当業者が自分の作業の内容を他の当業者に効率的に伝えるものである。アルゴリズムは、この用語がここで使用されるとき、また、この用語が一般的に使用されるとき、所望の結果をもたらす自己矛盾のない一連のステップであるものと考えられる。ステップは、物理量の物理的操作を必要とするものである。通常、必ずではないが、これらの量は、記憶、伝送、結合、比較、およびそうでなければ操作することが可能な光信号、電気信号、または磁気信号の形をとる。主に共通使用の理由から、これらの信号をビット、値、要素、シンボル、文字、項、数字などと呼ぶことが時には好都合であることが証明されている。以下の説明では、特定のタスクを実行し、または特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含めて、プログラムモジュールまたは機能プロセスとして実装することができ、既存のネットワーク要素で既存のハードウェアを使用して実施される行為および動作の記号表現例えば、フローチャートの形を参照しながら、例示的な実施形態ついて説明される。そのような既存のハードウェアは、1つまたは複数の中央処理装置CPU、デジタル信号プロセッサDSP、特定用途向け集積回路、フィールドプログラマブルゲートアレイFPGAコンピュータなどの少なくとも1つを含む。ただし、これらの用語および類似の用語のすべては、適切な物理量に関連するものであり、これらの量に適用される便利なラベルにすぎないことを念頭においておくべきである。そうではないことが具体的に述べられていない限り、または説明から明らかなように、処理するprocessingまたは計算するcomputingまたは算出するcalculatingまたは表示displayingを判定するdeterminingなどの用語は、コンピュータシステムのレジスタおよびメモリ内の物理的な電子量として表されるデータを操作し、コンピュータシステムメモリもしくはレジスタまたは他のそのような情報記憶デバイス、送信デバイスもしくはディスプレイデバイス内の物理量として同様に表される他のデータに変換する、コンピュータシステムまたは類似の電子コンピューティングデバイスのアクションおよびプロセスを指す。例示的な実施形態のソフトウェア実施態様は、典型的には、何らかの形のプログラム/非一時的記憶媒体上で符号化されるか、何らかのタイプの送信媒体を介して実施されることにも留意されたい。プログラム記憶媒体は、磁気例えば、フロッピーディスクまたはハードドライブまたは光学例えば、コンパクトディスク読取り専用メモリ、すなわちCDROMであってもよく、読取り専用またはランダムアクセスであってもよい。同様に、送信媒体は、ツイストワイヤペア、同軸ケーブル、光ファイバ、または当技術分野で知られている何らかの他の適切な送信媒体であってもよい。例示的な実施形態は、任意の所与の実装形態のこれらの態様によって限定されない。本明細書において使用される場合、クライアントという用語を、モバイル、モバイルユニット、移動局、ユーザ機器、リモート局、アクセス端末、受信機などと同義とみなすことができ、この用語は、以降では時折、モバイル、モバイルユニット、移動局、ユーザ機器、リモート局、アクセス端末、受信機などと呼ばれることがあり、通信ネットワークにおける有線または無線リソースのリモートユーザを説明することがある。本明細書において使用される場合、物理マシンという用語を、サーバ、ネットワークデバイス、ネットワークコンピュータなどと同義とみなすことができ、この用語は、以降では時折、サーバ、ネットワークデバイス、ネットワークコンピュータなどと呼ばれることがあり、有線または無線通信ネットワークの、仮想マシンをホストするように構成された物理コンピューティングデバイスを説明することがある。図1は、例示的な実施形態によるネットワークを示す。図1に示されるように、クライアント105は、スイッチ110以下の図4に関連してより詳細に説明されると相互接続され得る。1つのクライアントだけが示されているが、例示的な実施形態は1つのクライアント105に限定されないことを理解されたい。スイッチ110は、ネットワーク環境115に含まれる。ネットワーク環境115は、1つまたは複数の物理マシン120、125を含む。物理マシン120、125は、制御モジュール150、155を含み得る。物理マシン120、125は、1つまたは複数の仮想マシン130、135、140、145を含み得る。例えば、物理マシン120は制御モジュール150および単一の仮想マシン130を含み、物理マシン125は制御モジュール155および3つの仮想マシン135、140、145を含む。制御モジュール150、155は、例えば、ハイパーバイザまたは仮想マシンマネージャVMMとして当業者に知られていることがある。制御モジュール150、155は、1つまたは複数の仮想マシン130、135、140、145をホストするように構成され得る。以下の図2および図3に関連して、制御モジュール150、155がより詳細に説明される。当業者に知られているように、仮想マシン130、135、140、145は、仮想マシン130、135、140、145が物理マシンであるかのようにソフトウェアを実行するマシンのソフトウェア実装である。複数の仮想マシン130、135、140、145は、物理マシン120、125上で実行され得る。複数のプログラムが物理マシン120、125上で同時に実行することをオペレーティングシステムがどのように可能にし得るかに類似して、制御モジュール150、155またはハイパーバイザは、複数の仮想マシン130、135、140、145が物理マシン120、125上で同時に実行することを可能にし得る。簡潔にするために、仮想マシン130、135、140、145の一般的な動作はさらに説明されない。ネットワーク環境115は当業者に知られている。一般的に、ネットワーク環境115は、互いに通信し、クライアント105にサービスを提供するように機能する複数の構成要素例えば、サーバ、データベース、ルータおよびマルチプレクサからなる。サービスとしては、例えば、音声、メディア、アプリケーション、コンピューティングリソースなどが挙げられる。ネットワーク環境115は、柔軟なコンピューティングリソースを多くのクライアント105に提供する。当業者に知られているように、ネットワーク環境115は、パブリックネットワーク、プライベートネットワークおよび/またはハイブリッドパブリック/プライベートネットワークであってもよい。図2は、例示的な実施形態による制御モジュール150を示す。図2に示されるように、制御モジュール150は、仮想マシンインターフェース210、パケット分類器215、ルールセットデータベース220、送信バッファ225およびネットワークインターフェース230を含み得る。仮想マシンインターフェース210は、1つまたは複数の仮想マシンに送信され、1つまたは複数の仮想マシンから受信されるパケットおよび信号用のインターフェースとして機能する。ネットワークインターフェース230は、1つまたは複数のネットワーク要素例えば、ルータ、スイッチ、クライアントなどに送信され、1つまたは複数のネットワーク要素から受信されるパケットおよび信号用のインターフェースとして機能する。インターフェース例えば、仮想マシンインターフェース210およびネットワークインターフェース230は当業者に知られており、簡潔にするために、さらに説明されない。パケット分類器215は、入力として、仮想マシンインターフェース210を介して仮想マシン例えば、仮想マシン130から受信されたデータパケットを受信し、データパケットに対応する判定されたクラスおよび仮想マシンの状態に基づいてデータパケットを転送することができる。データパケットは、判定に基づいて送信バッファ225またはネットワークインターフェース230のいずれかに転送される。送信バッファ225は、メモリ例えば、ROM、RAM、SDRAM、DDRなどであってもよい。例えば、パケット分類器215は、複製された仮想マシンの外部から見える状態を変更しないいずれのデータパケットもバッファされないように、複製された仮想マシンに関連するデータパケットが例えば、送信バッファ225でバッファされるべきかどうかを判定する。一方、複製された仮想マシンの外部から見える状態を変更するデータパケットは、バッファされる。外部から見える状態は、クライアントに見える仮想マシン状態であってもよい。複製された仮想マシンの外部から見える状態を変更しないデータパケットは、例えば、転送されたデータパケット例えば、仮想マシンから発信されたものではないデータパケットおよびデータのみを含むデータパケットであってもよい。複製された仮想マシンの外部から見える状態を変更するデータパケットは、例えば、制御メッセージを含むデータパケットであってもよい。ルールセットデータベース220は、例えば、データパケットのタイプ例えば、データまたは制御をクラスに関連付けるデータテーブルを含み得る。それぞれのクラスは、データパケットがバッファされるべきかどうかを定義し得る。ルールセットデータベース220をいつでも変更することができ、制御モジュール150に関連するアプリケーションおよび/または仮想マシンに関連するアプリケーションによって制御することができる。例えば、制御モジュール150が仮想マシン130から2つのデータパケットを受信し、その仮想マシン130が複製された仮想マシンであると仮定する。第1のデータパケットはクラス1に関連し、第2のデータパケットはクラス2に関連する。ルールセットデータベース220は、クラス1がデータのみのデータパケットであり、クラス2が制御メッセージを含むデータパケットであるような関連付けを含む。パケット分類器215は、ルールセットデータベース220からの関連付けを使用して、データのみのデータパケットであって、複製された仮想マシン130の外部から見える状態を変更しないデータパケットであるクラス1の関連付けに基づいて、第1のデータパケットがバッファされるべきではないと判定する。パケット分類器215は、ルールセットデータベース220からの関連付けを使用して、制御メッセージを含むデータパケットであって、複製された仮想マシン130の外部から見える状態を変更するデータパケットであるクラス2の関連付けに基づいて、第2のデータパケットがバッファされるべきであると判定する。したがって、パケット分類器215は、第1のデータパケットをネットワークインターフェース230に直接転送し、第2のデータパケットを送信バッファ225に転送する。図3は、例示的な実施形態による代替の制御モジュール155を示す。図3に示されるように、制御モジュール155は、仮想マシンインターフェース310、制御インターフェース315、制御およびプロトコルモジュール320ならびにネットワークインターフェース325を含み得る。仮想マシンインターフェース310は、1つまたは複数の仮想マシンに送信され、1つまたは複数の仮想マシンから受信される信号用のインターフェースとして機能する。制御インターフェース315は、1つまたは複数のスイッチ例えば、スイッチ110に送信され、1つまたは複数のスイッチから受信されるパケットおよび信号用のインターフェースとして機能する。ネットワークインターフェース325は、1つまたは複数のネットワーク要素例えば、ルータ、スイッチ、クライアントなどに送信され、1つまたは複数のネットワーク要素から受信されるパケットおよび信号用のインターフェースとして機能する。インターフェース例えば、仮想マシンインターフェース310、制御インターフェース315およびネットワークインターフェース325は当業者に知られており、簡潔にするために、さらに説明されない。制御およびプロトコルモジュール320は、制御モジュール155を介して送信されたデータパケットを監視する。制御およびプロトコルモジュール320はデータパケットを監視して、データパケットに関連する情報を判定する。例えば、制御およびプロトコルモジュール320は、パケットを監視して、データパケットが制御メッセージを含むデータパケットかどうかを判定し得る。例えば、制御およびプロトコルモジュール320は、パケットを監視して、データパケットに関連するプロトコルを判定し得る。制御およびプロトコルモジュール320は、情報を制御インターフェース315に通信する。制御インターフェース315は、この情報を別のネットワーク要素例えば、スイッチ110に通信する。図4は、例示的な実施形態によるスイッチ110を示す。図4に示されるように、スイッチ110は、制御モジュールインターフェース410、制御インターフェース415、制御およびプロトコルモジュール420、パケット分類器425、ルールセットデータベース430、送信バッファ435ならびにネットワークインターフェース440を含み得る。制御モジュールインターフェース410は、1つまたは複数の制御モジュール例えば、制御モジュール155に送信され、1つまたは複数の制御モジュールから受信されるパケットおよび信号用のインターフェースとして機能する。制御インターフェース415は、1つまたは複数の制御モジュール例えば、制御モジュール155に送信され、1つまたは複数の制御モジュールから受信される信号用のインターフェースとして機能する。ネットワークインターフェース440は、1つまたは複数のネットワーク要素例えば、ルータ、スイッチ、クライアントなどに送信され、1つまたは複数のネットワーク要素から受信されるパケットおよび信号用のインターフェースとして機能する。インターフェース例えば、制御モジュールインターフェース410、制御インターフェース415およびネットワークインターフェース440は当業者に知られており、簡潔にするために、さらに説明されない。制御およびプロトコルモジュール420は、データパケットに関連するパケット情報を受信し得る。データパケットは、制御モジュールインターフェース410を介して制御モジュール例えば、制御モジュール155から受信され得る。パケット情報は、制御インターフェース415を介して制御モジュール例えば、制御モジュール155から受信され得る。制御およびプロトコルモジュール420は、パケット情報に基づいて、データパケットが制御メッセージを含むデータパケットかどうか、データパケットがデータのみを含むデータパケットかまたはデータパケットに関連するプロトコルかを判定し得る。制御およびプロトコルモジュール420は、判定をパケット分類器425および送信バッファ435に通信し得る。パケット分類器425は、入力として、制御モジュールインターフェース410を介して制御モジュール例えば、制御モジュール155から受信されたデータパケットを受信することができ、パケット分類器425は、データパケットに対応する判定されたクラスおよび仮想マシンの状態に基づいて、データパケットを転送することができる。データパケットは、判定に基づいて送信バッファ435またはネットワークインターフェース440のいずれかに転送される。例えば、パケット分類器425は、複製された仮想マシンの外部から見える状態を変更しないいずれのデータパケットもバッファされないように、複製された仮想マシンに関連するデータパケットが例えば、送信バッファ435でバッファされるべきかどうかを判定する。一方、複製された仮想マシンの外部から見える状態を変更するデータパケットは、バッファされる。送信バッファ435は、メモリ例えば、ROM、RAM、SDRAM、DDRなどであってもよい。複製された仮想マシンの外部から見える状態を変更しないデータパケットは、例えば、転送されたデータパケット例えば、仮想マシンから発信されたものではないデータパケットおよびデータのみを含むデータパケットであってもよい。複製された仮想マシンの外部から見える状態を変更するデータパケットは、例えば、制御メッセージを含むデータパケットであってもよい。ルールセットデータベース430は、例えば、データパケットのタイプ例えば、データまたは制御をクラスに関連付けるデータテーブルを含み得る。それぞれのクラスは、データパケットがバッファされるべきかどうかを定義し得る。ルールセットデータベース430をいつでも変更することができ、スイッチ110に関連するアプリケーションおよび/または仮想マシン例えば、仮想マシン135に関連するアプリケーションによって制御することができる。例えば、スイッチ110が制御モジュール例えば、制御モジュール155から2つのデータパケットを受信し、その仮想マシン135が複製された仮想マシンであると仮定する。第1のデータパケットはクラス1に関連し、第2のデータパケットはクラス2に関連する。ルールセットデータベース430は、クラス1がデータのみのデータパケットであり、クラス2が制御メッセージを含むデータパケットであるような関連付けを含む。制御およびプロトコルモジュール420は、第1のデータパケットおよび第2のデータパケットに関連する第1のパケット情報を受信する。制御およびプロトコルモジュール420は、仮想マシン130が第1のデータパケットおよび第2のデータパケットのソースであることを示す第2のパケット情報も受信する。第1のパケット情報は、少なくとも、第1のデータパケットがクラス1に関連し、第2のデータパケットがクラス2に関連するという指示を含む。第2のパケット情報は、少なくとも、仮想マシン130が複製された仮想マシンであるという指示を含む。制御およびプロトコルモジュール420は、第1のおよび第2のパケット情報またはクラスおよび複製についての判定をパケット分類器425に通信する。パケット分類器425は、ルールセットデータベース430からの関連付けを使用して、データのみのデータパケットであって、複製された仮想マシン135の外部から見える状態を変更しないデータパケットであるクラス1の関連付けに基づいて、第1のデータパケットがバッファされるべきではないと判定する。パケット分類器425は、ルールセットデータベース430からの関連付けを使用して、制御メッセージを含むデータパケットであって、複製された仮想マシン135の外部から見える状態を変更するデータパケットであるクラス2の関連付けに基づいて、第2のデータパケットがバッファされるべきであると判定する。したがって、パケット分類器は、第1のデータパケットをネットワークインターフェース440に直接転送し、第2のデータパケットを送信バッファ435に転送する。図5は、例示的な実施形態による非同期仮想マシン複製のための方法を示す。図5に関連する方法のステップについて説明する際、図1のネットワークおよび図2の制御モジュール150を参照する。図5を参照すると、ステップS505で、仮想マシンをホストする制御モジュールは、仮想マシンが複製されるべきであると判定する。ステップS510で、制御モジュールは、仮想マシンの複製を開始する。仮想マシンが複製されるべきであると判定し、仮想マシンの複製を開始することは当業者に知られており、簡潔にするために、さらに説明されない。ステップS515で、制御モジュールは、複製された仮想マシンからデータパケットを受信する。例えば、制御モジュール150は、仮想マシン130仮想マシン130は複製された仮想マシンであると仮定するからデータパケットを受信し得る。図2に示されるように、制御モジュール150は、仮想マシンインターフェース210を介してデータパケットを受信し得る。ステップS520で、制御モジュール150は、データパケットに関連するクラスを判定する。例えば、パケット分類器215は、複製された仮想マシンの外部から見える状態を変更しないいずれのデータパケットもバッファされないように、複製された仮想マシンに関連するデータパケットが例えば、送信バッファ225でバッファされるべきかどうかに基づいて、データパケットに関連するクラスを判定し得る。一方、複製された仮想マシンの外部から見える状態を変更するデータパケットは、バッファされる。複製された仮想マシンの外部から見える状態を変更しないデータパケットは、例えば、転送されたデータパケット例えば、仮想マシンから発信されたものではないデータパケットおよびデータのみを含むデータパケットであってもよい。複製された仮想マシンの外部から見える状態を変更するデータパケットは、例えば、制御メッセージを含むデータパケットであってもよい。例えば、上記に説明されたように、ルールセットデータベース220は、データパケットのタイプ例えば、データまたは制御をクラスに関連付けるデータテーブルを含み得る。それぞれのクラスは、データパケットがバッファされるべきかどうかを定義し得る。パケット分類器215は、ステップS520で、データパケットとクラスとの間の関連付けを使用して、複製された仮想マシンに関連するデータパケットがバッファされるべきかどうかを判定し得る。ステップS525で、制御モジュール150は、クラスが状態変更を引き起こす例えば、データパケットが制御メッセージを含むかどうかを判定する。クラスが状態変更を引き起こす場合、ステップS530で、データパケットが例えば、送信バッファ225でバッファされる。そうでなければ、ステップS535で、データパケットが例えば、ネットワークインターフェース230を介して送信される。図2に関連して上記に説明されたように、ステップS520およびS525は、パケット分類器215によって実行され得る。ステップS540で、制御モジュール150は、複製が完了したかどうかを判定する。複製が完了していない場合、処理はステップS515に戻る。そうでない場合、ステップS545で、データパケットは通常の知られている処理を使用して処理される。複製が完了したかどうかを判定することおよびデータパケットの通常の処理は当業者に知られており、簡潔にするために、さらに説明されない。図6は、例示的な実施形態による非同期仮想マシン複製のための方法を示す。図6に関連する方法のステップについて説明する際、図1のネットワーク、図3の制御モジュール155および図4のスイッチ110を参照する。図6を参照すると、ステップS605で、仮想マシンをホストする制御モジュールは、仮想マシンが複製されるべきであると判定する。ステップS610で、制御モジュールは、仮想マシンの複製を開始する。仮想マシンが複製されるべきであると判定し、仮想マシンの複製を開始することは当業者に知られており、簡潔にするために、さらに説明されない。ステップS615で、スイッチ110は、制御モジュール例えば、制御モジュール155からメッセージを受信する。メッセージは、データパケットに関連するプロトコルおよび制御情報を含む。プロトコルおよび制御情報は、データパケットに関連するプロトコル、データパケットに関連する上記に説明されたクラス、データパケットに関連する制御メッセージ情報および/またはデータパケットに関連するデータタイプ情報を含み得る。例えば、図3に関連して上記に説明されたように、制御モジュール155はプロトコルおよび制御情報を判定することができる。制御モジュール115は、制御インターフェース315を介してシグナリングメッセージをスイッチ110に送信し得る。次いで、図4に関連して上記に説明されたように、スイッチ110は制御インターフェース415を介してシグナリングメッセージを受信することができ、制御およびプロトコルモジュール420はシグナリングメッセージを処理する。ステップS620で、スイッチ110は、複製された仮想マシンをホストする制御モジュール例えば、制御モジュール155からデータパケットを受信する。例えば、スイッチ110は、仮想マシン135仮想マシン135は複製された仮想マシンであると仮定するからデータパケットを受信し得る。データパケットは制御モジュール155を介して受信され得る。図4に示されるように、スイッチ110は、制御モジュールインターフェース410を介してデータパケットを受信し得る。ステップS625で、スイッチ110は、データパケットに関連するクラスを判定する。例えば、パケット分類器425は、複製された仮想マシンの外部から見える状態を変更しないいずれのデータパケットもバッファされないように、複製された仮想マシンに関連するデータパケットが例えば、送信バッファ435でバッファされるべきかどうかに基づいて、データパケットに関連するクラスを判定し得る。一方、複製された仮想マシンの外部から見える状態を変更するデータパケットは、バッファされる。複製された仮想マシンの外部から見える状態を変更しないデータパケットは、例えば、転送されたデータパケット例えば、仮想マシンから発信されたものではないデータパケットおよびデータのみを含むデータパケットであってもよい。複製された仮想マシンの外部から見える状態を変更するデータパケットは、例えば、制御メッセージを含むデータパケットであってもよい。例えば、上記に説明されたように、ルールセットデータベース220は、データパケットのタイプ例えば、データまたは制御をクラスに関連付けるデータテーブルを含み得る。それぞれのクラスは、データパケットがバッファされるべきかどうかを定義し得る。パケット分類器215は、ステップS625で、データパケットとクラスとの間の関連付けを使用して、複製された仮想マシンに関連するデータパケットがバッファされるべきかどうかを判定し得る。ステップS630で、スイッチ110は、クラスが状態変更を引き起こす例えば、データパケットが制御メッセージを含むかどうかを判定する。クラスが状態変更を引き起こす場合、ステップS635で、データパケットが例えば、送信バッファ435でバッファされる。そうでなければ、ステップS640で、データパケットが例えば、ネットワークインターフェース440を介して送信される。図4に関連して上記に説明されたように、ステップS625およびS630は、パケット分類器425によって実行され得る。ステップS645で、スイッチ110は、複製が完了したかどうかを判定する。複製が完了していない場合、処理はステップS615に戻る。そうでない場合、ステップS650で、データパケットは通常の知られている処理を使用して処理される。複製が完了したかどうかを判定することおよびデータパケットの通常の処理は当業者に知られており、簡潔にするために、さらに説明されない。例示的な実施形態は、非同期仮想マシン複製の間にデータパケットをバッファすることを含む新しい方法例えば、図5および図6を説明しているが、例示的な実施形態はこれに限定されない。例えば、仮想マシンを複製して、バックアップまたはスタンバイ仮想マシンを作成することができる。バックアップまたはスタンバイ仮想マシンに関連するデータパケットは、上記に説明されたものと同じ方法を使用して、また、同じ装置を使用して、処理され得る。例えば、図5の方法は、プライマリ仮想マシンおよびプライマリ仮想マシンのバックアップである仮想マシンの観点から実行され得る。この例では、複製された仮想マシンはプライマリ仮想マシンになり、ステップS540はバックアップ仮想マシンを使用し続けるかどうかを尋ねることに置き換えられる。類似の代替の例示的な実施形態は、図6に基づき得る。本発明の代替実施形態は、コンピュータシステムとともに使用するためのコンピュータプログラム製品、例えば、ディスケット、CD-ROM、ROM、または固定ディスクなどの、有形または非一時的データ記録媒体コンピュータ可読媒体に記憶された一連のコンピュータ命令、コードセグメントまたはプログラムセグメントであるコンピュータプログラム製品として実施されるか、有形媒体または無線媒体、例えば、マイクロ波または赤外線を介して送信されるコンピュータデータ信号で具体化され得る。一連のコンピュータ命令、コードセグメントまたはプログラムセグメントは、上記に説明された例示的な実施形態の方法の機能のすべてまたは一部を構成することができ、また、半導体、磁気、光学または他のメモリデバイスなどの、揮発性または不揮発性の任意のメモリデバイスに記憶され得る。知られている方法では、すべてのデータパケットが複製された仮想マシンからバッファされるので、例示的な実施形態は、仮想マシンの非同期複製のための改善された解決策を提供する。知られている方法では、すべてのデータパケットがバッファされるので、パケットはデフォルト時間間隔Tepoch毎にしか送信されず、したがって、間隔の期間に比例する係数で有効帯域幅を低減する。さらに、知られている方法では、外のクライアントは、バッファ解放の間の非常に高いネットワークトラフィックの短い期間が続くパケットバッファリングの間、無活動の期間を経験する。さらに、知られている方法では、複製された仮想マシンからの応答は、平均してTepoch/2だけ遅れる。例示的な実施形態を特に示し、説明してきたが、特許請求の範囲の趣旨および範囲から逸脱することなく、形態および詳細における変形が実施形態においてなされ得ることが当業者に理解されよう。本発明はこのように説明されているが、本発明が様々な方法で変化し得ることは明らかであろう。そのような変形形態は本発明を逸脱するものとしてみなされるべきではなく、すべてのそのような修正形態は、本発明の範囲内に含まれることを意図するものである。