(57)【特許請求の範囲】
【請求項１】
少なくとも２つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法であって、各コンピュータデバイスは、中央処理装置およびメモリを有し、前記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、前記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、負荷バランシングサービスを起動する仮想マシンが、前記第２のコンピュータデバイス上で作動し、前記負荷バランシング方法は、
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、前記負荷バランサの前記構成情報は、前記負荷バランサの識別子と、前記負荷バランサの仮想ＩＰアドレス（ＶＩＰ）とを含み、前記負荷バランサの前記ＶＩＰは、前記負荷バランシングサービスを示す、段階と、
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイスに、前記構成情報に従って前記負荷バランサを生成するように命令する段階と、
前記第１のコンピュータデバイスが、前記負荷バランシングサービスの転送モードを前記第２のコンピュータデバイスに構成する段階であって、前記転送モードにおいて、前記負荷バランシングサービスを起動する、前記第２のコンピュータデバイスの前記仮想マシンにより起動された前記負荷バランシングサービスのサービスパケットが、前記負荷バランサに指向されて転送される、段階と、
前記第２のコンピュータデバイスの前記負荷バランサが、前記負荷バランシングサービスを起動する、前記第２のコンピュータデバイスの前記仮想マシンから、前記サービスパケットを受信する段階と、
前記第２のコンピュータデバイスの前記負荷バランサが、前記負荷バランシングサービスを実行するように、少なくとも１つのバックエンドサーバを選択する段階と
を備える負荷バランシング方法。
【請求項２】
前記第１のコンピュータデバイスが、前記負荷バランシングサービスの転送モードを前記第２のコンピュータデバイスに構成する前記段階は、
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイス上で配備された仮想スイッチを構成する段階と、
前記仮想スイッチが、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに送信する段階とを含み、
前記サービスパケットの宛先アドレスは、前記負荷バランサの前記ＭＡＣアドレスである、請求項１に記載の負荷バランシング方法。
【請求項３】
前記仮想スイッチが、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに送信する前記段階は、
前記負荷バランシングサービスを起動する前記仮想マシンが、制御パケットを前記仮想スイッチに送信する段階であって、前記制御パケットは、前記ＶＩＰを保持する、段階と、
前記仮想スイッチが、前記制御パケットの応答メッセージを、前記負荷バランシングサービスを起動する前記仮想マシンに送信する段階であって、前記応答メッセージは、前記負荷バランサの前記ＭＡＣアドレスを保持する、段階とを含む、請求項２に記載の負荷バランシング方法。
【請求項４】
前記第１のコンピュータデバイスが、前記負荷バランシングサービスの転送モードを前記第２のコンピュータデバイスに構成する前記段階は、
前記第１のコンピュータデバイスが、前記負荷バランサに、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに送信するように命令する段階を含む、請求項１に記載の負荷バランシング方法。
【請求項５】
前記第１のコンピュータデバイスが、前記負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成する前記段階は、
前記第１のコンピュータデバイスが、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに構成する段階を含む、請求項１に記載の負荷バランシング方法。
【請求項６】
少なくとも２つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法であって、各コンピュータデバイスは、中央処理装置およびメモリを有し、前記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、前記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、負荷バランシングサービスを起動する仮想マシンが、前記第２のコンピュータデバイス上で作動し、前記負荷バランシング方法は、
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、前記負荷バランサの前記構成情報は、前記負荷バランサの識別子と、前記負荷バランサの仮想ＩＰアドレス（ＶＩＰ）とを含み、前記負荷バランサの前記ＶＩＰは、前記負荷バランシングサービスを示す、段階と、
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイスに、前記構成情報に従って前記負荷バランサを生成するように命令し、かつ、前記第１のコンピュータデバイスが、前記負荷バランシングサービスの転送モードを前記第２のコンピュータデバイスに構成する段階であって、前記転送モードにおいて、前記負荷バランシングサービスを起動する、前記第２のコンピュータデバイスの前記仮想マシンにより起動された前記負荷バランシングサービスのサービスパケットが、前記負荷バランサに指向されて転送され、これにより、前記サービスパケットを受信した後に、前記負荷バランサは、前記負荷バランシングサービスを実行するバックエンドサーバを選択する、段階と
を備える負荷バランシング方法。
【請求項７】
前記第１のコンピュータデバイスが、前記負荷バランシングサービスの転送モードを、前記第２のコンピュータデバイスに構成する前記段階は、
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイス上で配備された仮想スイッチを構成する段階と、
前記仮想スイッチが、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに送信する段階であって、これにより、前記負荷バランシングサービスを起動する前記仮想マシンは、前記負荷バランサの前記ＭＡＣアドレスが宛先アドレスとして用いられる前記サービスパケットを送信する、段階とを含む、請求項６に記載の負荷バランシング方法。
【請求項８】
前記仮想スイッチが、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに送信する前記段階は、
前記負荷バランシングサービスを起動する前記仮想マシンが、制御パケットを前記仮想スイッチに送信する段階であって、前記制御パケットは、前記ＶＩＰを保持する、段階と、
前記仮想スイッチが、前記制御パケットの応答メッセージを、前記負荷バランシングサービスを起動する前記仮想マシンに送信する段階であって、前記応答メッセージは、前記負荷バランサの前記ＭＡＣアドレスを保持する、段階を含む、請求項７に記載の負荷バランシング方法。
【請求項９】
少なくとも２つのコンピュータデバイスを備える負荷バランシングコンピュータシステムであって、各コンピュータデバイスは、中央処理装置およびメモリを有し、前記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、前記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、負荷バランシングサービスを起動する仮想マシンが、前記第２のコンピュータデバイス上で作動し、
前記第１のコンピュータデバイスは、前記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、前記負荷バランサの前記構成情報は、前記負荷バランサの識別子と、前記負荷バランサの仮想ＩＰアドレス（ＶＩＰ）とを含み、前記負荷バランサの前記ＶＩＰは、前記負荷バランシングサービスを示し、
前記第１のコンピュータデバイスは、前記第２のコンピュータデバイスに、前記構成情報に従って前記負荷バランサを生成するように命令し、
前記第１のコンピュータデバイスは、前記負荷バランシングサービスの転送モードを前記第２のコンピュータデバイスに構成し、前記転送モードにおいて、前記負荷バランシングサービスを起動する、前記第２のコンピュータデバイスの前記仮想マシンにより起動された前記負荷バランシングサービスのサービスパケットが、前記負荷バランサに指向されて転送され、
前記第２のコンピュータデバイスの前記負荷バランサは、前記負荷バランシングサービスを起動する、前記第２のコンピュータデバイスの前記仮想マシンから、前記サービスパケットを受信し、
前記第２のコンピュータデバイスの前記負荷バランサは、前記負荷バランシングサービスを実行するように、少なくとも１つのバックエンドサーバを選択する、
負荷バランシングコンピュータシステム。
【請求項１０】
前記第１のコンピュータデバイスが、前記第２のコンピュータデバイス上で配備された仮想スイッチを構成し、
前記仮想スイッチが、前記負荷バランサのＭＡＣアドレスを、前記負荷バランシングサービスを起動する前記仮想マシンに送信し、
前記サービスパケットの宛先アドレスが、前記負荷バランサの前記ＭＡＣアドレスである、請求項９に記載の負荷バランシングコンピュータシステム。
【請求項１１】
前記負荷バランシングサービスを起動する前記仮想マシンは、制御パケットを前記仮想スイッチに送信し、前記制御パケットは、前記ＶＩＰを保持し、
前記仮想スイッチは、前記制御パケットの応答メッセージを、前記負荷バランシングサービスを起動する前記仮想マシンに送信し、前記応答メッセージは、前記負荷バランサの前記ＭＡＣアドレスを保持する、請求項１０に記載の負荷バランシングコンピュータシステム。
【請求項１２】
コンピュータデバイスであって、前記コンピュータデバイスは、コンピュータプロセッサおよびメモリを備え、ハイパーバイザが、前記コンピュータデバイス上で作動し、前記ハイパーバイザは、負荷バランサおよび少なくとも１つの仮想マシンを支持し、前記負荷バランサは、前記仮想マシンのための負荷バランシングサービスを前記コンピュータデバイス上で提供し、
前記ハイパーバイザは、前記負荷バランサの構成情報を受信し、前記負荷バランサの前記構成情報は、前記負荷バランサの識別子と、前記負荷バランサの仮想ＩＰアドレス（ＶＩＰ）とを含み、前記負荷バランサの前記ＶＩＰは、前記負荷バランシングサービスを示し、
前記ハイパーバイザはさらに、前記構成情報に従って、前記負荷バランサを生成し、
前記負荷バランシングサービスの転送モードは、前記コンピュータデバイスにおいて構成され、前記転送モードにおいて、前記負荷バランシングサービスを起動する、前記コンピュータデバイスの前記仮想マシンにより起動された前記負荷バランシングサービスのサービスパケットが、前記負荷バランサに指向されて転送され、
前記コンピュータデバイスの前記負荷バランサは、前記負荷バランシングサービスを起動する、前記コンピュータデバイスの前記仮想マシンから、前記サービスパケットを受信し、
前記コンピュータデバイスの前記負荷バランサはさらに、前記コンピュータデバイス上で前記仮想マシンのための前記負荷バランシングサービスを実行するように、少なくとも１つのバックエンドサーバを選択する、
コンピュータデバイス。
【請求項１３】
前記コンピュータデバイス上で配備された仮想スイッチが、前記仮想マシンから、制御パケットを受信し、前記制御パケットは、前記ＶＩＰを保持し、
前記仮想スイッチはさらに、前記制御パケットの応答メッセージを、前記負荷バランシングサービスを起動する前記仮想マシンに送信し、前記応答メッセージは、前記負荷バランサのＭＡＣアドレスを保持する、請求項１２に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報技術に関し、特に、負荷バランシングコンピュータデバイス、システム、および方法に関する。
【背景技術】
【０００２】
負荷バランサは、対称に構成される複数のサーバを含むサーバセットであり、全てのサーバは、同等の地位を有し、各サーバは、別のサーバからの支援なしで、外部サービスを独立に提供し得る。負荷共有技術において、外部から送信される要求が、対称構造におけるサーバに均等に割り当てられ、要求を受信するサーバは、クライアントの要求に独立に応答する。負荷バランシングにおいて、クライアントの要求は、サーバ配列に均等に割り当てられることができ、これにより、重要なデータが迅速に取得され、大量の同時アクセスの問題が解決される。このクラスタリング技術において、メインフレームの性能に近似する性能が、最少の投資で達成できる。
【０００３】
クラウドコンピューティング技術の発展に伴い、様々なサービスがクラウド環境に移行され、クラウド化の要求が負荷バランサに対して課されてもいる。従って、仮想負荷バランサ（ｖＬＢ、Ｖｉｒｔｕａｌ  Ｌｏａｄ  Ｂａｌａｎｃｅｒ）が現れる。
【０００４】
現在、ほとんどの仮想負荷バランサは、仮想化された、ソフトウェア定義の従来の負荷バランサである。これは、ｖＬＢに対する高信頼性、水平拡張、および高帯域幅といったクラウドコンピューティングの要求を満たすことができない。ｖＬＢサービスの信頼性を向上させるために、サービスは通常、一次−二次の関係における２つのｖＬＢを用いることによって、提供される。ハートビート情報は、仮想ルータ冗長プロトコル（ＶＲＲＰ、Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ  Ｒｅｄｕｎｄａｎｃｙ  Ｐｒｏｔｏｃｏｌ）を用いることによって、一次ｖＬＢと二次ｖＬＢとの間で伝送され、一次ｖＬＢがダウンしたことを二次ｖＬＢが発見したとき、二次ｖＬＢは、一次ｖＬＢに代わって動作を続ける。ＶＲＲＰを用いることによって実装される一次−二次の関係において、一次ｖＬＢがダウンした後に、二次ｖＬＢは、動作を続ける。アクティブ／スタンバイスイッチオーバには、時間を費やす必要があり、このことは、スイッチオーバ処理においてトラフィック中断を引き起こす。加えて、１つの負荷バランシングノードで全ての負荷バランシングサービスに対して負荷バランシングを実行する必要がある。負荷バランシングアクセストラフィックが大きいとき、集中負荷バランシングノードの帯域幅がボトルネックとなり、サービス輻輳および遅延が引き起こされる。
【発明の概要】
【０００５】
本発明の実施形態は、負荷バランシングコンピュータデバイス、システム、および方法を提供し、これにより、アクティブ負荷バランシングモードとスタンバイ負荷バランシングモードとの間のスイッチオーバによって引き起こされるサービス中断、および集中負荷バランシングによって引き起こされる輻輳といった従来技術の問題を解決する。
【０００６】
一態様において、本発明の実施形態は、少なくとも２つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法を提供し、ここで、各コンピュータデバイスは、中央処理装置およびメモリを有し、当該少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、第２のコンピュータデバイス上で作動し、サービスは、負荷バランシングサービスであり、当該負荷バランシング方法は、第１のコンピュータデバイスが、第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、負荷バランサの構成情報は、負荷バランサの識別子と、負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、負荷バランサのＶＩＰは、負荷バランシングサービスを示す、段階と、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成する段階と、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成する段階であって、転送モードにおいて、サービスを起動する、第２のコンピュータデバイスの仮想マシンにより起動された負荷バランシングサービスのサービスパケットが、負荷バランサに指向的に転送される、段階と、サービスを起動する、第２のコンピュータデバイスの仮想マシンが、転送モードに従って、サービスパケットを負荷バランサへ送信する段階と、サービスパケットを受信した後に、第２のコンピュータデバイスの負荷バランサが、サービスを実行するように、少なくとも１つのバックエンドサーバを選択する段階であって、バックエンドサーバは、負荷バランシングサービスを実行するために用いられる、段階とを備える。
【０００７】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成する段階は、第１のコンピュータデバイスが、第２のコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信する、段階を含み、サービスを起動する、第２のコンピュータデバイスの仮想マシンが、転送モードに従って、サービスパケットを負荷バランサへ送信する段階は、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信し、仮想スイッチが、サービスパケットの宛先アドレスに従って、サービスパケットを負荷バランサへ送信する段階を含む。
【０００８】
可能な設計において、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信する段階の前に、方法は、サービスを起動する仮想マシンが、制御パケットを仮想スイッチへ送信する段階であって、制御パケットは、ＶＩＰを保持する、段階と、仮想スイッチが、制御パケットの応答メッセージを、サービスを起動する仮想マシンへ送信する段階であって、応答メッセージは、負荷バランサのＭＡＣアドレスを保持する、段階とをさらに備える。
【０００９】
可能な設計において、制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである。
【００１０】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成する段階は、第１のコンピュータデバイスが、負荷バランサに、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信するように命令する段階、または、第１のコンピュータデバイスが、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンに構成する段階を含み、それに対応して、サービスを起動する、第２のコンピュータデバイスの仮想マシンが、転送モードに従って、サービスパケットを負荷バランサへ送信する段階は、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信し、第２のコンピュータデバイス上に配備された仮想スイッチが、サービスパケットの宛先アドレスに従って、サービスパケットを負荷バランサへ送信する段階を含む。
【００１１】
可能な設計において、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成する段階は、第１のコンピュータデバイスが、負荷バランシングサービスを起動する第１の仮想マシンを第２のコンピュータデバイス上で生成した後に、負荷バランサを生成する段階を含む。
【００１２】
可能な設計において、方法は、第１のコンピュータデバイスが、負荷バランシングサービスを起動する、第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、生成された負荷バランサを削除する段階をさらに備える。
【００１３】
可能な設計において、方法は、選択されたバックエンドサーバが、サービスの実行結果を、サービスを起動する仮想マシンに直接返す段階、または、選択されたバックエンドサーバが、サービスの実行結果を、負荷バランサに返し、負荷バランサが、実行結果を、サービスを起動する仮想マシンに返す段階をさらに備える。
【００１４】
別の態様において、本発明の実施形態は、少なくとも３つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法を提供し、ここで、各コンピュータデバイスは、中央処理装置およびメモリを有し、当該少なくとも３つのコンピュータデバイスは、第１のコンピュータデバイスを含み、第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、当該少なくとも３つのコンピュータデバイスにおける、第１のコンピュータデバイス以外のコンピュータデバイスは、サービスコンピュータデバイスとして用いられ、サービスを起動する仮想マシンが、各サービスコンピュータデバイス上で作動し、サービスは、負荷バランシングサービスであり、当該負荷バランシング方法は、第１のコンピュータデバイスが、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、負荷バランサの構成情報は、負荷バランサの識別子と、負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、負荷バランサのＶＩＰは、負荷バランシングサービスを示す、段階と、第１のコンピュータデバイスが、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報に従って、各サービスコンピュータデバイスのローカル負荷バランサを、各サービスコンピュータデバイス上で生成する段階と、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを、各サービスコンピュータデバイスに構成する段階であって、転送モードにおいて、サービスを起動する、各サービスコンピュータデバイスの仮想マシンにより起動された負荷バランシングサービスのサービスパケットは、ローカル負荷バランサに指向的に転送され、これにより、各サービスコンピュータデバイスのローカル負荷バランサは、サービスを起動する、サービスコンピュータデバイスの仮想マシンにより起動されたサービスパケットに対して負荷バランシング処理を実行する、段階とを備える。
【００１５】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを各サービスコンピュータデバイスに構成する段階は、第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、ローカル負荷バランサのＭＡＣアドレスを、サービスを起動するローカル仮想マシンへ送信する、段階を含む。
【００１６】
可能な設計において、第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、ローカル負荷バランサのＭＡＣアドレスを、サービスを起動するローカル仮想マシンへ送信する、段階の後に、方法は、サービスを起動する、各サービスコンピュータデバイスの仮想マシンが、制御パケットをローカル仮想スイッチへ送信する段階であって、制御パケットは、ＶＩＰを保持する、段階と、各サービスコンピュータデバイスのローカル仮想スイッチが、制御パケットの応答メッセージを、サービスを起動するローカル仮想マシンへ送信する段階であって、応答メッセージは、ローカル負荷バランサのＭＡＣアドレスを保持する、段階とをさらに備える。
【００１７】
可能な設計において、第１のコンピュータデバイスが、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報に従って、各サービスコンピュータデバイスのローカル負荷バランサを、各サービスコンピュータデバイス上で生成する段階は、第１のコンピュータデバイスが、サービスを起動する第１の仮想マシンが第１のサービスコンピュータデバイス上で生成されたことを知り、各サービスコンピュータデバイスのローカル負荷バランサが各サービスコンピュータデバイス上で生成されるまで、第１のサービスコンピュータデバイスの負荷バランサを第１のサービスコンピュータデバイス上で生成する段階を含む。
【００１８】
可能な設計において、負荷バランサは、負荷バランシング仮想マシン、負荷バランシングコンテナ、または負荷バランシングネームスペースを含む。
【００１９】
別の態様において、本発明の実施形態は、少なくとも２つのコンピュータデバイスを含むコンピュータシステムに適用される負荷バランシング方法を提供し、ここで、各コンピュータデバイスは、中央処理装置およびメモリを含み、少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、第２のコンピュータデバイス上で作動し、サービスは、負荷バランシングサービスであり、当該負荷バランシング方法は、第１のコンピュータデバイスが、第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、負荷バランサの構成情報は、負荷バランサの識別子と、負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、負荷バランサのＶＩＰは、負荷バランシングサービスを示す、段階と、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成する段階と、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを、第２のコンピュータデバイスに構成する段階であって、転送モードにおいて、サービスを起動する、第２のコンピュータデバイスの仮想マシンにより起動された負荷バランシングサービスのサービスパケットは、負荷バランサに指向的に転送され、これにより、サービスパケットを受信した後に、負荷バランサは、サービスを実行するバックエンドサーバを選択する、段階とを備える。
【００２０】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成する段階は、第１のコンピュータデバイスが、第２のコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信し、これにより、サービスを起動する仮想マシンは、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信する、段階を含む。
【００２１】
可能な設計において、第１のコンピュータデバイスが、第２のコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信する、段階の後に、方法は、サービスを起動する仮想マシンが、制御パケットを仮想スイッチへ送信する段階であって、制御パケットは、ＶＩＰを保持する、段階と、仮想スイッチが、制御パケットの応答メッセージを、サービスを起動する仮想マシンへ送信する段階であって、応答メッセージは、負荷バランサのＭＡＣアドレスを保持する、段階とをさらに備える。
【００２２】
可能な設計において、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成する段階は、第１のコンピュータデバイスが、負荷バランシングサービスを起動する第１の仮想マシンを第２のコンピュータデバイス上で生成した後に、負荷バランサを生成する段階を含む。
【００２３】
可能な設計において、方法は、第１のコンピュータデバイスが、負荷バランシングサービスを起動する、第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、生成された負荷バランサを削除する段階をさらに備える。
【００２４】
別の態様において、本発明の実施形態は、少なくとも２つのコンピュータデバイスを備える負荷バランシングコンピュータシステムを提供し、ここで、各コンピュータデバイスは、中央処理装置およびメモリを有し、当該少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、第２のコンピュータデバイス上で作動し、サービスは、負荷バランシングサービスであり、ここで、第１のコンピュータデバイスは、第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、ここで、負荷バランサの構成情報は、負荷バランサの識別子と、負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、負荷バランサのＶＩＰは、負荷バランシングサービスを示す。第１のコンピュータデバイスは、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成し、第１のコンピュータデバイスは、負荷バランシングサービスの転送モードを、第２のコンピュータデバイスに構成し、ここで、転送モードにおいて、サービスを起動する、第２のコンピュータデバイスの仮想マシンにより起動された負荷バランシングサービスのサービスパケットは、負荷バランサに指向的に転送される。サービスを起動する、第２のコンピュータデバイスの仮想マシンは、転送モードに従って、サービスパケットを負荷バランサへ送信し、第２のコンピュータデバイスの負荷バランサは、サービスパケットを受信した後に、サービスを実行するように、少なくとも１つのバックエンドサーバを選択し、ここで、バックエンドサーバは、負荷バランシングサービスを実行するために用いられる。
【００２５】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成することは、第１のコンピュータデバイスが、第２のコンピュータデバイス上に配備された仮想スイッチを構成し、これにより、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信することを含み、サービスを起動する、第２のコンピュータデバイスの仮想マシンが、転送モードに従って、サービスパケットを負荷バランサへ送信することは、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信し、仮想スイッチが、サービスパケットの宛先アドレスに従って、サービスパケットを負荷バランサへ送信することを含む。
【００２６】
可能な設計において、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信する前に、サービスを起動する仮想マシンは、制御パケットを仮想スイッチへ送信し、ここで、制御パケットは、ＶＩＰを保持する。仮想スイッチは、制御パケットの応答メッセージを、サービスを起動する仮想マシンへ送信し、ここで、応答メッセージは、負荷バランサのＭＡＣアドレスを保持する。
【００２７】
可能な設計において、制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである。
【００２８】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成することは、第１のコンピュータデバイスが、負荷バランサに、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信するように命令すること、または、第１のコンピュータデバイスが、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンに構成することを含み、それに対応して、サービスを起動する、第２のコンピュータデバイスの仮想マシンが、転送モードに従って、サービスパケットを負荷バランサへ送信することは、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信し、第２のコンピュータデバイス上に配備された仮想スイッチが、サービスパケットの宛先アドレスに従って、サービスパケットを負荷バランサへ送信することを含む。
【００２９】
可能な設計において、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成することは、第１のコンピュータデバイスが、負荷バランシングサービスを起動する第１の仮想マシンを、第２のコンピュータデバイス上で生成した後に、負荷バランサを生成することを含む。
【００３０】
可能な設計において、第１のコンピュータデバイスは、負荷バランシングサービスを起動する、第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、生成された負荷バランサを削除する。
【００３１】
可能な設計において、選択されたバックエンドサーバは、サービスの実行結果を、サービスを起動する仮想マシンに直接返す、または、選択されたバックエンドサーバは、サービスの実行結果を、負荷バランサに返し、負荷バランサは、実行結果を、サービスを起動する仮想マシンに返す。
【００３２】
別の態様において、本発明の実施形態は、負荷バランシングコンピュータシステムを提供し、ここで、コンピュータシステムは、少なくとも３つのコンピュータデバイスを備え、各コンピュータデバイスは、中央処理装置およびメモリを有し、当該少なくとも３つのコンピュータデバイスは、第１のコンピュータデバイスを含み、第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、当該少なくとも３つのコンピュータデバイスにおける、第１のコンピュータデバイス以外のコンピュータデバイスは、サービスコンピュータデバイスとして用いられ、サービスを起動する仮想マシンが、各サービスコンピュータデバイス上で作動し、サービスは、負荷バランシングサービスであり、ここで、第１のコンピュータデバイスは、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、ここで、負荷バランサの構成情報は、負荷バランサの識別子と、負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、負荷バランサのＶＩＰは、負荷バランシングサービスを示し、第１のコンピュータデバイスは、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報に従って、各サービスコンピュータデバイスのローカル負荷バランサを、各サービスコンピュータデバイス上で生成し、第１のコンピュータデバイスは、負荷バランシングサービスの転送モードを、各サービスコンピュータデバイスに構成し、ここで、転送モードにおいて、サービスを起動する、各サービスコンピュータデバイスの仮想マシンにより起動された負荷バランシングサービスのサービスパケットが、ローカル負荷バランサに指向的に転送され、これにより、各サービスコンピュータデバイスのローカル負荷バランサは、サービスを起動する、サービスコンピュータデバイスの仮想マシンにより起動されたサービスパケットに対して負荷バランシング処理を実行する。
【００３３】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを、各サービスコンピュータデバイスに構成することは、第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成し、これにより、ローカル負荷バランサのＭＡＣアドレスを、サービスを起動するローカル仮想マシンへ送信することを含む。
【００３４】
可能な設計において、第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成し、ローカル負荷バランサのＭＡＣアドレスを、サービスを起動するローカル仮想マシンへ送信した後に、サービスを起動する、各サービスコンピュータデバイスの仮想マシンは、制御パケットをローカル仮想スイッチへ送信し、ここで、制御パケットは、ＶＩＰを保持し、各サービスコンピュータデバイスのローカル仮想スイッチは、制御パケットの応答メッセージを、サービスを起動するローカル仮想マシンへ送信し、ここで、応答メッセージは、ローカル負荷バランサのＭＡＣアドレスを保持する。
【００３５】
可能な設計において、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを各サービスコンピュータデバイス上で生成する前に、第１のコンピュータデバイスは、サービスを起動する第１の仮想マシンが、第１のサービスコンピュータデバイス上で生成されたことを知り、各サービスコンピュータデバイスのローカル負荷バランサが各サービスコンピュータデバイス上で生成されるまで、第１のサービスコンピュータデバイスの負荷バランサを、第１のサービスコンピュータデバイス上で生成する。
【００３６】
可能な設計において、負荷バランサは、負荷バランシング仮想マシン、負荷バランシングコンテナ、または負荷バランシングネームスペースを含む。
【００３７】
別の態様において、本発明の実施形態は、負荷バランシングコンピュータシステムを提供し、ここで、コンピュータシステムは、少なくとも２つのコンピュータデバイスを備え、各コンピュータデバイスは、中央処理装置およびメモリを有し、当該少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、第２のコンピュータデバイス上で作動し、サービスは、負荷バランシングサービスであり、ここで、第１のコンピュータデバイスは、第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、ここで、負荷バランサの構成情報は、負荷バランサの識別子と、負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、負荷バランサのＶＩＰは、負荷バランシングサービスを示し、第１のコンピュータデバイスは、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成し、第１のコンピュータデバイスは、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成し、ここで、転送モードにおいて、サービスを起動する、第２のコンピュータデバイスの仮想マシンにより起動された負荷バランシングサービスのサービスパケットが、負荷バランサに指向的に転送され、これにより、サービスパケットを受信した後に、負荷バランサは、サービスを実行するバックエンドサーバを選択する。
【００３８】
可能な設計において、第１のコンピュータデバイスが、負荷バランシングサービスの転送モードを第２のコンピュータデバイスに構成することは、第１のコンピュータデバイスが、第２のコンピュータデバイス上に配備された仮想スイッチを構成し、これにより、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信し、これにより、サービスを起動する仮想マシンが、負荷バランサのＭＡＣアドレスが宛先アドレスとして用いられるサービスパケットを送信することを含む。
【００３９】
可能な設計において、第１のコンピュータデバイスが、第２のコンピュータデバイス上に配備された仮想スイッチを構成し、負荷バランサのＭＡＣアドレスを、サービスを起動する仮想マシンへ送信した後に、サービスを起動する仮想マシンは、制御パケットを仮想スイッチへ送信し、ここで、制御パケットは、ＶＩＰを保持する。仮想スイッチは、制御パケットの応答メッセージを、サービスを起動する仮想マシンに送信し、ここで、応答メッセージは、負荷バランサのＭＡＣアドレスを保持する。
【００４０】
可能な設計において、第１のコンピュータデバイスが、構成情報に従って、負荷バランサを第２のコンピュータデバイス上で生成することは、第１のコンピュータデバイスが、負荷バランシングサービスを起動する第１の仮想マシンを、第２のコンピュータデバイス上で生成した後に、負荷バランサを生成することを含む。
【００４１】
可能な設計において、第１のコンピュータデバイスは、負荷バランシングサービスを起動する、第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、生成された負荷バランサを削除する。
【００４２】
先述の目的を達成するために、本発明の実施形態の第１の態様は、中央処理装置ＣＰＵと、メモリと、ストレージ装置とを備えるコンピュータデバイスを提供し、ここで、コンピュータデバイスは、第１の仮想マシンと、負荷バランシング仮想マシンと、仮想スイッチとをさらに備え、第１の仮想マシンおよび負荷バランシング仮想マシンは、コンピュータデバイス上で生成される仮想マシンであり、ここで、第１の仮想マシンは、サービスパケットを送信するよう構成される。仮想スイッチは、第１の仮想マシンにより送信されたサービスパケットを受信し、かつ、サービスパケットに対して負荷バランシング処理を実行する必要があるとき、負荷バランシング仮想マシンのみにサービスパケットを転送するよう構成され、負荷バランシング仮想マシンは、仮想スイッチにより転送されたサービスパケットを受信し、かつ、負荷バランシング方式でサービスパケットを転送するよう構成される。
【００４３】
負荷バランシング仮想マシンが、負荷バランシング方式でサービスパケットを転送することは、以下の通りであってよい。サービスパケットを受信した後に、負荷バランシング仮想マシンはまず、バックエンドサーバが、サービスパケットにサービスするようにサービスパケットに割り当てられているかを判断し、バックエンドサーバが割り当てられている場合、サービスパケットを、割り当てられているバックエンドサーバへ送信する。バックエンドサーバがまだ割り当てられていない場合、負荷バランシングアルゴリズムを用いることによって、サービスパケットにサービスするようにバックエンドサーバを選択する。負荷バランシングアルゴリズムは、ラウンドロビン、重み付きラウンドロビン、ランダムアルゴリズム、リーストコネクション、ソースアドレスハッシュ、または位置に基づく重み付きラウンドロビンを含むが、これらに限定されるものではない。位置に基づく重み付きラウンドロビン方式において、サービスパケットを起動する仮想マシンが位置するコンピュータデバイスのバックエンドサーバは、優先的に選択されてよい。このように、バックエンドサーバによるサービスパケットの処理速度を増加でき、ネットワーク帯域幅を節約できる。
【００４４】
第１の態様に関連して、本発明の実施形態の第１の態様の第１の可能な実装方式において、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンのみに転送することは、仮想スイッチが、負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンに転送すること、または、負荷バランシング仮想マシンが、負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチが、サービスパケットを、負荷バランシング仮想マシンに転送すること、または、第１の仮想マシンが、負荷バランシング仮想マシンの予め構成されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチが、サービスパケットを、負荷バランシング仮想マシンに転送することを含む。
【００４５】
第１の態様の第１の可能な実装方式に関連して、本発明の実施形態の第１の態様の第２の可能な実装方式において、仮想スイッチが、負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信することは、仮想スイッチが、第１の仮想マシンにより送信された制御パケットを受信し、制御応答パケットを第１の仮想マシンに返すことを含み、ここで、制御応答パケットは、負荷バランシング仮想マシンのＭＡＣアドレスを含む。すなわち、仮想スイッチは、構成された転送モードに従って、第１の仮想マシンのサービスパケットに対して指向性処理を実行してよく、これにより、仮想スイッチは、サービスパケットを負荷バランシング仮想マシンに転送する。
【００４６】
第１の態様の第２の可能な実装方式に関連して、本発明の実施形態の第１の態様の第３の可能な実装方式において、制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである。例えば、制御パケットは、アドレス解決プロトコルＡＲＰパケットであってよく、転送モードは、ＡＲＰキャッシュモードであってよく、第１の仮想マシンは、ＡＲＰキャッシュモードにおいて、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信してよい。任意で、制御パケットがＩＣＭＰパケットである場合、転送モードは、近隣探索プロトコルＮＤＰキャッシュモードであってよい。
【００４７】
第１の態様、または第１の態様の第１、第２、もしくは第３の可能な実装方式に関連して、本発明の実施形態の第１の態様の第４の可能な実装方式において、コンピュータデバイスは、仮想負荷バランシング代行ユニットをさらに備え、ここで、仮想負荷バランシング代行ユニットは、負荷バランシング仮想マシンを生成するための構成情報を受信し、当該負荷バランシング仮想マシンの生成または削除を制御し、かつ、負荷バランシング仮想マシンと仮想スイッチとの間の接続の確立を制御するよう構成される。
【００４８】
仮想マシン管理ユニットに、負荷バランシング仮想マシンを生成するための構成情報に従って第１の負荷バランシング仮想マシンを生成するように命令するとき、仮想負荷バランシング代行ユニットは、通知情報を仮想マシン管理ユニットへ送信する。通知情報は、第１の負荷バランシング仮想マシンを生成するための仮想マシンパラメータ情報を含む。第１の負荷バランシング仮想マシンの仮想マシンパラメータ情報は、仮想中央処理装置の数量、仮想メモリのサイズ、負荷バランシング仮想マシンが位置する論理ネットワークなどの情報を含むが、これらに限定されるものではない。
【００４９】
負荷バランシング仮想マシンを生成するための構成情報は、ユーザにより、クラウド管理プラットフォーム（第２のコンピュータデバイス）を用いることによって送られる。構成情報は、負荷バランシング仮想マシンの識別子、負荷バランシング仮想マシンのＩＰアドレス、および負荷バランシング仮想マシンに関連するバックエンドサーバについての情報を含むが、これらに限定されるものではない。バックエンドサーバについての情報は、バックエンドサーバの識別子、バックエンドサーバのインターネットプロトコル（ＩＰ、Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレス、またはバックエンドサーバのヘルスチェック方法を含むが、これらに限定されるものではない。バックエンドサーバのヘルスチェック方法は、負荷バランシング仮想マシンがバックエンドサーバの健康状態をチェックする方法を指す。バックエンドサーバは、具体的なサービスを提供するサーバである。負荷バランシング仮想マシンは、負荷バランシング方式で、例えば、負荷バランシングアルゴリズムを用いることによって、受信されたサービスパケットに従って、バックエンドサーバから１つのサーバを、サービスパケットを処理するサーバとして選択する。本発明の実施形態において、バックエンドサーバは、仮想マシンであってよく、または具体的な物理サーバであってよい。
【００５０】
任意で、第１の仮想マシンが、負荷バランシング仮想マシンを生成するユーザにより生成される仮想マシンであり、かつ、第１の仮想マシンが、ユーザにより第１のコンピュータデバイス上で生成される第１の仮想マシンである場合、仮想負荷バランシング代行ユニットは、負荷バランシング仮想マシンの生成を開始する。同様に、仮想負荷バランシングサービスを構成しているユーザにより構成された最後の仮想マシンが削除されたとき、第１の仮想負荷バランシング代行ユニットは、負荷バランシング仮想マシンの削除を開始する。
【００５１】
第１の態様、または、第１の態様の第１、第２、第３、もしくは第４の可能な実装方式に関連して、本発明の実施形態の第１の態様の第５の可能な実装方式において、コンピュータデバイスは、第２の仮想マシンをさらに含み、第２の仮想マシンは、第１の仮想マシンのサービスパケットを処理する能力を有し、ここで、負荷バランシング仮想マシンは、負荷バランシングアルゴリズムを用いることによって、第２の仮想マシンが第１の仮想マシンのサービスパケットを処理すると判断したとき、第２の仮想マシンは、負荷バランシング仮想マシンにより転送されたサービスパケットを受信し、サービスパケットの処理結果を負荷バランシング仮想マシンへ送信する。負荷バランシング仮想マシンは、仮想スイッチを用いることによって、第２の仮想マシンによるサービスパケットの処理結果を、第１の仮想マシンへ送信するようさらに構成される。
【００５２】
本発明の実施形態の第２の態様は、第１のコンピュータデバイスと第２のコンピュータデバイスとを備えるコンピュータシステムを提供し、ここで、第１のコンピュータデバイスおよび第２のコンピュータデバイスはそれぞれ、中央処理装置ＣＰＵと、メモリと、ストレージ装置とを含み、第１のコンピュータデバイスは、第１の仮想マシンと、第１の負荷バランシング仮想マシンと、第１の仮想スイッチとをさらに含み、第１の仮想マシンおよび第１の負荷バランシング仮想マシンは、第１のコンピュータデバイス上で生成される仮想マシンであり、ここで、第１の仮想マシンは、サービスパケットを送信するよう構成され、第１の仮想スイッチは、第１の仮想マシンにより送信されたサービスパケットを受信し、かつ、サービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットを、第１の負荷バランシング仮想マシンのみに転送するよう構成される。第１の負荷バランシング仮想マシンは、第１の仮想スイッチにより転送されたサービスパケットを受信し、かつ、負荷バランシング方式でサービスパケットを転送するよう構成される。
【００５３】
第１の負荷バランシング仮想マシンが負荷バランシング方式でサービスパケットを転送することは、以下の通りであってよい。サービスパケットを受信した後に、第１の負荷バランシング仮想マシンはまず、バックエンドサーバが、サービスパケットにサービスするようにサービスパケットに割り当てられているかを判断し、バックエンドサーバが割り当てられている場合、サービスパケットを、割り当てられているバックエンドサーバへ送信する。バックエンドサーバがまだ割り当てられていない場合、負荷バランシングアルゴリズムを用いることによって、サービスパケットにサービスするようにバックエンドサーバを選択する。負荷バランシングアルゴリズムは、ラウンドロビン、重み付きラウンドロビン、ランダムアルゴリズム、リーストコネクション、ソースアドレスハッシュ、または位置に基づく重み付きラウンドロビンを含むが、これらに限定されるものではない。位置に基づく重み付きラウンドロビン方式において、サービスパケットを起動する仮想マシンが位置するコンピュータデバイスのバックエンドサーバは、優先的に選択されてよい。このように、バックエンドサーバによるサービスパケットの処理速度を増加でき、ネットワーク帯域幅を節約できる。
【００５４】
第２のコンピュータデバイスは、コンピュータシステムにおけるクラウドプラットフォーム管理デバイスであってよく、第１のコンピュータデバイスに対する管理および構成を実装する。管理および構成は、第１のコンピュータデバイスの仮想マシンに対する構成および管理を実行することを含む。
【００５５】
第２の態様に関連して、本発明の実施形態の第２の態様の第１の可能な実装方式において、第１の仮想スイッチがサービスパケットを第１の負荷バランシング仮想マシンのみに転送することは、第１の仮想スイッチが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、第１の負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送すること、または、第１の負荷バランシング仮想マシンが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、第１の負荷バランシング仮想マシンのＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送すること、または、第１の仮想マシンが、第１の負荷バランシング仮想マシンの予め構成されたＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送することを含む。
【００５６】
第２の態様の第１の可能な実装方式に関連して、本発明の実施形態の第２の態様の第２の可能な実装方式において、第１の仮想スイッチが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信することは、第１の仮想スイッチが、第１の仮想マシンにより送信された制御パケットを受信し、制御応答パケットを第１の仮想マシンに返すことを含み、ここで、制御応答パケットは、第１の負荷バランシング仮想マシンのＭＡＣアドレスを含む。すなわち、仮想マシン管理ユニットは、第１の仮想スイッチの転送モードを構成してよい。第１の仮想スイッチは、構成された転送モードに従って、第１の仮想マシンのサービスパケットに対して指向性処理を実行し、これにより、第１の仮想スイッチは、サービスパケットを第１の負荷バランシング仮想マシンに転送する。
【００５７】
第２の態様の第２の可能な実装方式に関連して、本発明の実施形態の第２の態様の第３の可能な実装方式において、制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである。例えば、制御パケットは、アドレス解決プロトコルＡＲＰパケットであってよく、転送モードは、ＡＲＰキャッシュモードであってよく、第１の仮想マシンは、ＡＲＰキャッシュモードにおいて、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信してよい。任意で、制御パケットがＩＣＭＰパケットである場合、転送モードは、近隣探索プロトコルＮＤＰキャッシュモードであってよい。
【００５８】
第２の態様、または、第２の態様の第１、第２、もしくは第３の可能な実装方式に関連して、本発明の実施形態の第２の態様の第４の可能な実装方式において、第１のコンピュータデバイスは、第１の仮想負荷バランシング代行ユニットをさらに含み、第２のコンピュータデバイスは、仮想負荷バランシング管理ユニットおよび仮想マシン管理ユニットをさらに含み、ここで、仮想負荷バランシング管理ユニットは、第１の負荷バランシング仮想マシンを生成するための構成情報を受信し、第１の負荷バランシング仮想マシンを生成するための構成情報を、第１の仮想負荷バランシング代行ユニットへ送信するよう構成され、第１の仮想負荷バランシング代行ユニットは、第１の負荷バランシング仮想マシンを生成するための構成情報を受信し、仮想マシン管理ユニットに、第１の負荷バランシング仮想マシンを生成するための構成情報に従って第１の負荷バランシング仮想マシンを生成するように命令するよう構成される。
【００５９】
仮想マシン管理ユニットに、負荷バランシング仮想マシンを生成するための構成情報に従って第１の負荷バランシング仮想マシンを生成するように命令するとき、第１の仮想負荷バランシング代行ユニットは、通知情報を仮想マシン管理ユニットへ送信する。通知情報は、第１の負荷バランシング仮想マシンを生成するための仮想マシンパラメータ情報を含む。第１の負荷バランシング仮想マシンの仮想マシンパラメータ情報は、仮想中央処理装置の数量、仮想メモリのサイズ、負荷バランシング仮想マシンが位置する論理ネットワークなどの情報を含むが、これらに限定されるものではない。
【００６０】
任意で、仮想負荷バランシング管理ユニットは、第１の負荷バランシング仮想マシンを生成するための構成情報に従って、第１の負荷バランシング仮想マシンを生成するように、仮想マシン管理ユニットに直接命令してよい。
【００６１】
第１の負荷バランシング仮想マシンを生成するための構成情報は、ユーザにより、クラウド管理プラットフォーム（第２のコンピュータデバイス）を用いることによって送られる。構成情報は、負荷バランシング仮想マシンの識別子、負荷バランシング仮想マシンのＩＰアドレス、および負荷バランシング仮想マシンに関連するバックエンドサーバについての情報を含むが、これらに限定されるものではない。バックエンドサーバについての情報は、バックエンドサーバの識別子、バックエンドサーバのインターネットプロトコル（ＩＰ、Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレス、またはバックエンドサーバのヘルスチェック方法を含むが、これらに限定されるものではない。バックエンドサーバのヘルスチェック方法は、負荷バランシング仮想マシンがバックエンドサーバの健康状態をチェックする方法を指す。バックエンドサーバは、具体的なサービスを提供するサーバである。負荷バランシング仮想マシンは、負荷バランシング方式で、例えば、負荷バランシングアルゴリズムを用いることによって、受信されたサービスパケットに従って、バックエンドサーバから１つのサーバを、サービスパケットを処理するサーバとして選択する。本発明の実施形態において、バックエンドサーバは、仮想マシンであってよく、または具体的な物理サーバであってよい。
【００６２】
第２の態様の第４の可能な実装方式に関連して、本発明の実施形態の第２の態様の第５の可能な実装方式において、第１の仮想負荷バランシング代行ユニットは、仮想マシン管理ユニットに、第１の負荷バランシング仮想マシンのための第１の仮想ネットワークインターフェースカードを構成して第１の仮想ネットワークインターフェースカードと第１の仮想スイッチとの間の接続を確立するように命令するようさらに構成される。仮想マシン管理ユニットは、仮想スイッチのネットワーク識別子を構成することによって、第１の仮想ネットワークインターフェースカードと第１の仮想スイッチとの間の接続を確立してよく、ネットワーク識別子は、仮想スイッチのネットワークインターフェースの識別子である。加えて、第１の仮想負荷バランシング代行ユニットの命令に従って、第１の仮想ネットワークインターフェースカードを確立するとき、仮想マシン管理ユニットはさらに、負荷バランシング仮想マシンを生成するための構成情報に従って、ＩＰアドレスおよびＭＡＣアドレスを、生成された第１の仮想ネットワークインターフェースカードに割り当ててよい。
【００６３】
第２の態様の第４または第５の可能な実装方式に関連して、本発明の実施形態の第２の態様の第６の可能な実装方式において、第１の仮想マシンは、第１の負荷バランシング仮想マシンを生成するユーザにより生成される仮想マシンであり、仮想負荷バランシング管理ユニットはさらに、第１の仮想マシンを生成するための構成情報を受信し、第１の仮想マシンが、ユーザにより第１のコンピュータデバイス上で生成された第１の仮想マシンであると判断されたとき、第１の仮想マシンを生成するための情報を、第１の仮想負荷バランシング代行ユニットに通知するよう構成され、第１の仮想負荷バランシング代行ユニットは、仮想負荷バランシング管理ユニットにより送信された、第１の仮想マシンを生成するための通知を受信したとき、仮想マシン管理ユニットに、第１の負荷バランシング仮想マシンを生成するように命令するよう構成される。仮想負荷バランシング管理ユニットは、第１の負荷バランシング仮想マシンを生成するように、仮想マシン管理ユニットに直接命令してよい。
【００６４】
同様に、仮想負荷バランシングサービスを構成しているユーザにより構成された最後の仮想マシンが削除されたとき、仮想負荷バランシング管理ユニットは、第１の仮想負荷バランシング代行ユニットに、仮想マシン管理ユニットに第１の負荷バランシング仮想マシンを削除するように命令するように命令する、または、仮想マシン管理ユニットに、第１の負荷バランシング仮想マシンを削除するように直接命令する。
【００６５】
第２の態様または第２の態様の第１から第６の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第２の態様の第７の可能な実装方式において、第１のコンピュータデバイスは、第２の仮想マシンをさらに含み、第２の仮想マシンは、第１の仮想マシンのサービスパケットを処理する能力を有し、ここで、第１の負荷バランシング仮想マシンが、第２の仮想マシンが第１の仮想マシンのサービスパケットを処理すると負荷バランシング方式で判断したとき、第２の仮想マシンは、第１の負荷バランシング仮想マシンにより転送されたサービスパケットを受信し、サービスパケットの処理結果を、第１の負荷バランシング仮想マシンへ送信する。第１の負荷バランシング仮想マシンは、第２の仮想マシンによるサービスパケットの処理結果を、第１の仮想スイッチを用いることによって第１の仮想マシンへ送信するようさらに構成される。
【００６６】
第２の態様または第２の態様の第１から第７の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第２の態様の第８の可能な実装方式において、コンピュータシステムは、第３のコンピュータデバイスをさらに含み、第３のコンピュータデバイスは、第２の仮想負荷バランシング代行ユニットと、第２の仮想スイッチと、第３の仮想マシンとを含み、ここで、第２の仮想負荷バランシング代行ユニットは、仮想負荷バランシング管理ユニットにより送信された、第２の負荷バランシング仮想マシンを生成するための構成情報を受信し、仮想マシン管理ユニットに、第２の負荷バランシング仮想マシンを生成するための構成情報に基づいて、第２の負荷バランシング仮想マシンを生成するように命令し、仮想マシン管理ユニットに、第２の負荷バランシング仮想マシンのための第２の仮想ネットワークインターフェースカードを構成して第２の仮想ネットワークインターフェースカードと第２の仮想スイッチとの間の接続を確立するように命令するよう構成される。第２の仮想スイッチは、第３の仮想マシンにより起動された第２のサービスパケットを受信し、第２のサービスパケットに対して負荷バランシング処理を実行する必要があるとき、第２のサービスパケットを、第２の負荷バランシング仮想マシンのみに転送するよう構成され、第２の負荷バランシング仮想マシンは、第２の仮想スイッチにより転送される第２のサービスパケットを受信し、負荷バランシング方式で第２のサービスパケットを転送するよう構成される。
【００６７】
第２の態様の第８の可能な実装方式に関連して、本発明の実施形態の第２の態様の第９の可能な実装方式において、仮想マシン管理ユニットは、第１の負荷バランシング仮想マシンのための第１のＩＰアドレスおよび第１のＭＡＣアドレスを構成し、第２の負荷バランシング仮想マシンのための第２のＩＰアドレスおよび第２のＭＡＣアドレスを構成する。第１のＩＰアドレスは、第２のＩＰアドレスと同じであり、または、第１のＭＡＣアドレスは、第２のＭＡＣアドレスと同じである。
【００６８】
任意で、中央処理装置ＣＰＵと、メモリと、ストレージ装置とに加えて、第１のコンピュータデバイスは、ネットワークハードウェアなどのハードウェアデバイスを含んでよい。ネットワークハードウェアは、（ネットワークインターフェースカードなどの）スイッチングデバイス、ルータ、および／または別のネットワークデバイスであってよく、複数のデバイス間の通信を実装するよう構成される。複数のデバイスは、無線または有線方式で接続されてよい。
【００６９】
第２の態様または第２の態様の第１から第９の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第２の態様の第１０の可能な実装方式において、第２のコンピュータデバイスは、負荷バランシング仮想マシンを生成するための構成情報を記憶するよう構成された仮想負荷バランシングストレージ装置をさらに含む。仮想負荷バランシングストレージ装置は、第２のコンピュータデバイスのストレージ装置であってよく、または第２のコンピュータデバイスから独立したストレージ装置であってよい。
【００７０】
本発明の実施形態の第３の態様は、第１のコンピュータデバイスと、第２のコンピュータデバイスと、第３のコンピュータデバイスとを備えるコンピュータシステムを提供し、ここで、第１のコンピュータデバイス、第２のコンピュータデバイス、および第３のコンピュータデバイスはそれぞれ、中央処理装置ＣＰＵと、メモリと、ストレージ装置とを含み、第２のコンピュータデバイスは、第１のコンピュータデバイスの仮想マシンおよび第３のコンピュータデバイスの仮想マシンに対する構成および管理を実行し、第１のコンピュータデバイスは、第１の仮想スイッチを含み、第３のコンピュータデバイスは、第２の仮想スイッチを含み、第２のコンピュータデバイスは、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成するための構成情報を受信し、第１の負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成し、第１の負荷バランシング仮想マシンと第１の仮想スイッチとの間の接続を確立し、かつ、負荷バランシング仮想マシンを第３のコンピュータデバイス上で生成するための構成情報を受信し、第２の負荷バランシング仮想マシンを第３のコンピュータデバイス上で生成し、第２の負荷バランシング仮想マシンと、第２の仮想スイッチとの間の接続を確立するよう構成され、第１の仮想スイッチは、第１のコンピュータデバイスの第１の仮想マシンにより送信された第１のサービスパケットを受信し、第１のサービスパケットに対して負荷バランシング処理を実行する必要があるとき、第１の負荷バランシング仮想マシンのみに第１のサービスパケットを転送するよう構成され、第２の仮想スイッチは、第３のコンピュータデバイスの第２の仮想マシンにより送信された第２のサービスパケットを受信し、かつ、第２のサービスパケットに対して負荷バランシング処理を実行する必要があるとき、第２の負荷バランシング仮想マシンのみに第２のサービスパケットを転送するよう構成される。
【００７１】
第３の態様に関連して、本発明の実施形態の第３の態様の第１の可能な実装方式において、第１の仮想スイッチが、第１のサービスパケットを第１の負荷バランシング仮想マシンのみに転送することは、第１の仮想スイッチが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、第１の負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送すること、または、第１の負荷バランシング仮想マシンが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、第１の負荷バランシング仮想マシンのＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送すること、または、第１の仮想マシンが、第１の負荷バランシング仮想マシンの予め構成されたＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送することを含む。
【００７２】
第３の態様の第１の可能な実装方式に関連して、本発明の実施形態の第３の態様の第２の可能な実装方式において、第１の仮想スイッチが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信することは、第１の仮想スイッチが、第１の仮想マシンにより送信された制御パケットを受信し、制御応答パケットを第１の仮想マシンに返すことを含み、ここで、制御応答パケットは、第１の負荷バランシング仮想マシンのＭＡＣアドレスを含む。すなわち、仮想マシン管理ユニットは、第１の仮想スイッチの転送モードを構成してよい。第１の仮想スイッチは、構成された転送モードに従って、第１の仮想マシンのサービスパケットに対して指向性処理を実行し、これにより、第１の仮想スイッチは、サービスパケットを第１の負荷バランシング仮想マシンに転送する。
【００７３】
第３の態様の第２の可能な実装方式に関連して、本発明の実施形態の第３の態様の第３の可能な実装方式において、制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである。例えば、制御パケットは、アドレス解決プロトコルＡＲＰパケットであってよく、転送モードは、ＡＲＰキャッシュモードであってよく、第１の仮想マシンは、ＡＲＰキャッシュモードにおいて、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信してよい。任意で、制御パケットがＩＣＭＰパケットである場合、転送モードは、近隣探索プロトコルＮＤＰキャッシュモードであってよい。
【００７４】
第３の態様または第３の態様の第１から第３の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第３の態様の第４の可能な実装方式において、第１のコンピュータデバイスは、第２の仮想マシンをさらに含み、第２の仮想マシンは、第１の仮想マシンのサービスパケットを処理する能力を有し、ここで、第１の負荷バランシング仮想マシンが、第２の仮想マシンが第１の仮想マシンのサービスパケットを処理すると負荷バランシング方式で判断したとき、第２の仮想マシンは、第１の負荷バランシング仮想マシンにより転送されたサービスパケットを受信し、サービスパケットの処理結果を、第１の負荷バランシング仮想マシンへ送信する。第１の負荷バランシング仮想マシンは、第２の仮想マシンによるサービスパケットの処理結果を、第１の仮想スイッチを用いることによって第１の仮想マシンへ送信するようさらに構成される。
【００７５】
第３の態様または第３の態様の第１から第４の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第３の態様の第５の可能な実装方式において、第１の負荷バランシング仮想マシンのＩＰアドレスは、第２の負荷バランシング仮想マシンのＩＰアドレスと同じであり、または、第１の負荷バランシング仮想マシンのＭＡＣアドレスは、第２の負荷バランシング仮想マシンのＭＡＣアドレスと同じである。
【００７６】
本発明の実施形態の第４の態様は、負荷バランシング方法を提供し、当該負荷バランシング方法は、第２のコンピュータデバイスが、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成するための構成情報を受信する段階であって、第１のコンピュータデバイスは、中央処理装置ＣＰＵと、メモリと、ストレージ装置とを含み、第１のコンピュータデバイスは、第１の仮想マシンおよび仮想スイッチをさらに含む、段階と、第２のコンピュータデバイスが、構成情報に従って、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成し、第１のコンピュータデバイスの負荷バランシング仮想マシンと仮想スイッチとの間の接続を確立する段階と、仮想スイッチが、第１の仮想マシンにより送信されたサービスパケットを受信し、サービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットを負荷バランシング仮想マシンのみに転送する段階と、負荷バランシング仮想マシンが、第１の仮想スイッチにより転送されたサービスパケットを受信し、負荷バランシング方式でサービスパケットを転送する段階とを備える。
【００７７】
負荷バランシング仮想マシンが、負荷バランシング方式でサービスパケットを転送する段階は、以下の通りであってよい。サービスパケットを受信した後に、負荷バランシング仮想マシンはまず、バックエンドサーバが、サービスパケットにサービスするようにサービスパケットに割り当てられているかを判断し、バックエンドサーバが割り当てられている場合、サービスパケットを、割り当てられているバックエンドサーバへ送信する。バックエンドサーバがまだ割り当てられていない場合、負荷バランシングアルゴリズムを用いることによって、サービスパケットにサービスするようにバックエンドサーバを選択する。負荷バランシングアルゴリズムは、ラウンドロビン、重み付きラウンドロビン、ランダムアルゴリズム、リーストコネクション、ソースアドレスハッシュ、または位置に基づく重み付きラウンドロビンを含むが、これらに限定されるものではない。位置に基づく重み付きラウンドロビン方式において、サービスパケットを起動する仮想マシンが位置するコンピュータデバイスのバックエンドサーバは、優先的に選択されてよい。このように、バックエンドサーバによるサービスパケットの処理速度を増加でき、ネットワーク帯域幅を節約できる。
【００７８】
第４の態様に関連して、本発明の実施形態の第４の態様の第１の可能な実装方式において、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンのみに転送する段階は、仮想スイッチが、負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信する段階であって、これにより、第１の仮想マシンは、負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチは、サービスパケットを負荷バランシング仮想マシンに転送する、段階、または、負荷バランシング仮想マシンが、負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信する段階であって、これにより、第１の仮想マシンは、負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチは、サービスパケットを負荷バランシング仮想マシンに転送する、段階、または、第１の仮想マシンが、負荷バランシング仮想マシンの予め構成されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンに転送する段階を含む。
【００７９】
第４の態様の第１の可能な実装方式に関連して、本発明の実施形態の第４の態様の第２の可能な実装方式において、仮想スイッチが、負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信する段階は、仮想スイッチが、第１の仮想マシンにより送信された制御パケットを受信し、制御応答パケットを第１の仮想マシンに返す段階を含み、ここで、制御応答パケットは、負荷バランシング仮想マシンのＭＡＣアドレスを含む。すなわち、仮想スイッチの転送モードは、構成されてよい。仮想スイッチは、構成された転送モードに従って、第１の仮想マシンのサービスパケットに対して指向性処理を実行し、これにより、仮想スイッチは、サービスパケットを負荷バランシング仮想マシンに転送する。
【００８０】
第４の態様の第２の可能な実装方式に関連して、本発明の実施形態の第４の態様の第３の可能な実装方式において、制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである。例えば、制御パケットは、アドレス解決プロトコルＡＲＰパケットであってよく、転送モードは、ＡＲＰキャッシュモードであってよく、第１の仮想マシンは、ＡＲＰキャッシュモードにおいて、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信してよい。任意で、制御パケットがＩＣＭＰパケットである場合、転送モードは、近隣探索プロトコルＮＤＰキャッシュモードであってよい。
【００８１】
第４の態様または第４の態様の第１から第３の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第４の態様の第４の可能な実装方式において、第２のコンピュータデバイスが、構成情報に従って、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成する前に、方法は、第２のコンピュータデバイスが、構成情報を第１のコンピュータデバイスへ送信する段階と、第１のコンピュータデバイスが、負荷バランシング仮想マシンを生成するための構成情報を受信し、第２のコンピュータデバイスに、負荷バランシング仮想マシンを生成するように命令する段階とをさらに備える。任意で、第２のコンピュータデバイスは、構成情報に従って、負荷バランシング仮想マシンを直接的に第２のコンピュータデバイス上で生成してよい。
【００８２】
負荷バランシング仮想マシンを生成するための構成情報は、ユーザにより、クラウド管理プラットフォーム（第２のコンピュータデバイス）を用いることによって送られる。構成情報は、負荷バランシング仮想マシンの識別子、負荷バランシング仮想マシンのＩＰアドレス、および負荷バランシング仮想マシンに関連するバックエンドサーバについての情報を含むが、これらに限定されるものではない。バックエンドサーバについての情報は、バックエンドサーバの識別子、バックエンドサーバのインターネットプロトコル（ＩＰ、Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレス、またはバックエンドサーバのヘルスチェック方法を含むが、これらに限定されるものではない。バックエンドサーバのヘルスチェック方法は、負荷バランシング仮想マシンが、バックエンドサーバの健康状態をチェックする方法を指す。バックエンドサーバは、具体的なサービスを提供するサーバである。負荷バランシング仮想マシンは、負荷バランシング方式で、例えば、負荷バランシングアルゴリズムを用いることによって、受信されたサービスパケットに従って、バックエンドサーバから１つのサーバを、サービスパケットを処理するサーバとして選択する。本発明の実施形態において、バックエンドサーバは、仮想マシンであってよく、または具体的な物理サーバであってよい。
【００８３】
第４の態様または第４の態様の第１から第４の可能な実装方式のいずれかの１つに関連して、本発明の実施形態の第４の態様の第５の可能な実装方式において、第２のコンピュータデバイスは、第２の仮想マシンをさらに含み、第２の仮想マシンは、第１の仮想マシンのサービスパケットを処理する能力を有し、方法は、負荷バランシング仮想マシンが、負荷バランシングアルゴリズムを用いることによって、第２の仮想マシンが第１の仮想マシンのサービスパケットを処理すると判断したとき、第２の仮想マシンが、負荷バランシング仮想マシンにより転送されたサービスパケットを受信し、サービスパケットの処理結果を、負荷バランシング仮想マシンへ送信する段階と、負荷バランシング仮想マシンが、仮想スイッチを用いることによって、第２の仮想マシンによるサービスパケットの処理結果を、第１の仮想マシンへ送信する段階とをさらに備える。
【００８４】
本発明の実施形態において提供されるコンピュータデバイス、システム、および負荷バランシング方法によれば、負荷バランシング仮想マシンが、各コンピュータデバイス上で生成され、コンピュータデバイスの仮想マシンのサービスに対して負荷バランシング処理を実行する必要があるとき、関連するサービスパケットが、負荷バランシング処理を実行するように、コンピュータデバイスの負荷バランシング仮想マシンのみへ送信される。関連するサービスパケットの負荷バランシングがコンピュータデバイスにおいて実装されるので、複数のコンピュータデバイス上の全てのサービスパケットが１つの負荷バランシングノードにより処理されるような場合は存在せず、それにより、集中負荷バランシングの輻輳によって引き起こされる処理遅延を回避する。加えて、コンピュータデバイスが障害を発生したとき、コンピュータデバイスの仮想マシンは、それに応じてオフラインとなり、負荷バランシングの要求はこれ以上発生しない。従って、単一のコンピュータデバイスの障害が負荷バランシング仮想マシンの障害を引き起こしたとき、別のコンピュータデバイスの負荷バランシング仮想マシンは影響を受けず、負荷バランシング仮想マシンの障害によるアクティブ／スタンバイスイッチオーバによって引き起こされるサービス中断も存在しない。
【図面の簡単な説明】
【００８５】
本発明の実施形態または従来技術における技術的解決手段を、より明確に説明するために、以下では、実施形態または従来技術を説明するために必要とされる添付の図面を簡潔に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎず、当業者は、創造努力なしで、これらの添付の図面から他の図面をなお導き出し得る。
【００８６】
【図１】従来技術における負荷バランシング構造の概略図である。
【００８７】
【図２Ａ】本発明の実施形態に係る仮想負荷バランシング構造の概略図である。
【図２Ｂ】本発明の実施形態に係る仮想負荷バランシング構造の概略図である。
【００８８】
【図３】本発明の実施形態に係るコンピュータデバイスの概略構造図である。
【００８９】
【図４】本発明の実施形態に係るコンピュータデバイスの具体的な実装構造のエンティティ図である。
【００９０】
【図５】本発明の実施形態に係る第１種のコンピュータシステムの実装方式の概略構造図である。
【００９１】
【図６】本発明の実施形態に係る第１種のコンピュータシステムの具体的な実装構造のエンティティ図である。
【００９２】
【図７Ａ】本発明の実施形態に係る第１種のコンピュータシステムの別の具体的な実装構造のエンティティ図である。
【図７Ｂ】本発明の実施形態に係る第１種のコンピュータシステムの別の具体的な実装構造のエンティティ図である。
【００９３】
【図８】本発明の実施形態に係る負荷バランシング方法の概略フローチャートである。
【００９４】
【図９】本発明の実施形態に係る別の負荷バランシング方法の概略フローチャートである。
【発明を実施するための形態】
【００９５】
以下では、本発明の実施形態における添付の図面に関連して、本発明の実施形態における技術的解決手段を明確に説明する。明らかに、説明される実施形態は、本発明のいくつかの実施形態であり、全ての実施形態ではない。当業者により、創造努力なしで、本発明の実施形態に基づいて取得される全ての他の実施形態は、本発明の保護範囲内に含まれるものとする。
【００９６】
図１を参照すると、図１は、従来技術における負荷バランシング構造の概略図である。図１において、コンピュータデバイス１０１、コンピュータデバイス１０２、コンピュータデバイス１０３、一次負荷バランサ１０４、および二次負荷バランサ１０５が含まれる。コンピュータデバイス１０１は、クラウド管理プラットフォームとして用いられ、中央処理装置（ＣＰＵ、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１１、および（ハードディスクまたはソリッドステートドライブなどの）ストレージ装置１０１２などの構成要素を含む。クラウド管理プラットフォームに関連するプログラムが、コンピュータデバイス１０１上で作動し、コンピュータデバイス１０２およびコンピュータデバイス１０３などのノードに対する管理および構成を実装する。コンピュータデバイス１０２およびコンピュータデバイス１０３は、ネットワークを用いることによって接続される。コンピュータデバイス１０１は、仮想マシンの生成に関連する受信された構成情報に従って、対応する仮想マシンを、コンピュータデバイス１０２またはコンピュータデバイス１０３上で生成してよい。
【００９７】
図１において、各コンピュータデバイスが２つの仮想マシンを含む例が、説明のために用いられる。例えば、コンピュータデバイス１０２は、仮想マシン１０２１１および仮想マシン１０２１２を含み、コンピュータデバイス１０３は、仮想マシン１０３１１および仮想マシン１０３１２を含む。一次負荷バランサ１０４および二次負荷バランサ１０５は、アクティブ／スタンバイ方式で、負荷バランシングサービスを、コンピュータデバイス１０２またはコンピュータデバイス１０３の仮想マシンに提供する。一次負荷バランサ１０４および二次負荷バランサ１０５は、ハートビート検出方式で接続される。一次負荷バランサ１０４が障害を発生したとき、二次負荷バランサ１０５は、一次負荷バランサ１０４に代わって、負荷バランシングサービスを、仮想マシンに提供し続ける。
【００９８】
この負荷バランシング方式において、一次負荷バランシングノード１０４が障害を発生し、二次負荷バランシングノードへの切り替えを実行する必要があるとき、切り替えの間に負荷バランシングサービスを提供する負荷バランサは、存在しない。従って、負荷バランシング処理を実行する必要があるサービスパケットは、処理されることができない。加えて、１つの負荷バランサ（負荷バランサ１０４または１０５）のみが、全ての仮想マシンのサービスパケットを処理する。このことは、仮想負荷バランサ上のオーバーロードおよび輻輳を引き起こしやすく、それにより、要求されるサービスをタイムリーに処理することに影響を及ぼす、ユーザエクスペリエンスを低下させる。
【００９９】
アクティブ／スタンバイ方式が仮想負荷バランシングのために用いられる場合に切り替えの間に引き起こされる中断、および全てのサービスパケットが１つの仮想負荷バランシングノードにより処理される場合に引き起こされる輻輳を回避するために、本発明の実施形態は、仮想負荷バランシング方法、デバイス、およびシステムを提供する。分散型負荷バランシング仮想マシンが生成され、負荷バランシング機能が、アクティブ／スタンバイスイッチオーバが実行される集中負荷バランシングモードなしで、各ノードデバイスにオフロードされ、これにより、アクティブ／スタンバイスイッチオーバの間に引き起こされる中断、および集中負荷バランシングによって引き起こされる輻輳を回避する。
【０１００】
技術的解決手段を明確に説明するために、本発明の実施形態において、１つのクラウド管理プラットフォームと、２つのコンピュータデバイスノードとを含むネットワークが、説明のための例として用いられる。図２Ａおよび図２Ｂに示されているように、図２Ａおよび図２Ｂは、本発明の実施形態に係る仮想負荷バランシング構造の概略図である。コンピュータデバイス２０１は、クラウド管理プラットフォームとして用いられ、コンピュータデバイス２０２およびコンピュータデバイス２０３に対する仮想管理および構成を実装する。図２Ａおよび図２Ｂにおいて、２つのコンピュータデバイスが、本発明のこの実施形態の解決手段を説明するための例として用いられることに注意すべきである。具体的な実装の間に、クラウド管理プラットフォームとして用いられるコンピュータデバイス２０１は、少なくとも２つのコンピュータデバイスを構成して管理し得る。具体的な数量のコンピュータデバイスは、本発明のこの実施形態において限定されるものではない。
【０１０１】
本発明のこの実施形態におけるコンピュータデバイスの構成要素は、例として図２Ｂにおけるコンピュータデバイス２０２を用いることによって説明される。コンピュータデバイス２０２は、コンピューティングハードウェア２０２３１と、ストレージハードウェア２０２３２と、ネットワークハードウェア２０２３３とを含むハードウェアリソース層２０２３を有してよい。コンピューティングハードウェア２０２３１は、処理機能およびコンピューティング機能を提供するために用いられる専用プロセッサまたは汎用プロセッサであってよい。ストレージハードウェア２０２３２は、ストレージ能力を提供するよう構成され、ストレージ能力は、（サーバのローカルメモリまたはローカルハードディスクなどの）ストレージハードウェア２０２３２により提供されてよく、または、ネットワークを用いることによって提供されてよい（例えば、サーバが、ネットワークを用いることによってネットワークストレージ装置に接続される）。ネットワークハードウェア２０２３３は、（ネットワークインターフェースカードなどの）スイッチングデバイス、ルータ、および／または別のネットワークデバイスであってよく、ネットワークハードウェア２０２３３は、複数のデバイス間の通信を実装するよう構成される。複数のデバイスは、無線または有線方式で接続される。コンピュータデバイス２０２の仮想化層が、ハードウェアリソース層でハードウェアリソースを抽象化するために用いられ、これにより、仮想リソースを提供する。コンピュータデバイス２０２のオペレーティングシステム２０２２は、仮想化管理のために用いられる仮想化層ハイパーバイザ２０２２１と、仮想スイッチ２０２２２とを含むが、これらに限定されるものではない。仮想化層ハイパーバイザ２０２２１は、コンピュータデバイス２０２の仮想マシン（仮想マシン２０２１３など）を管理する。仮想スイッチ２０２２２は、ハイパーバイザ２０２２１により管理される仮想マシン間のネットワーク接続機能を提供し、仮想マシンと物理ネットワークとの間のネットワーク接続機能を提供する。仮想負荷バランシング代行ユニット２０２１１は、仮想化層ハイパーバイザ２０２２１を用いることによって、コンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２に対する構成および管理を実行する。
【０１０２】
コンピュータデバイス２０１は、クラウド管理プラットフォームとして用いられる。クラウド管理プラットフォームに関連するプログラムが、コンピュータデバイス２０１上で作動し、コンピュータデバイス２０２およびコンピュータデバイス２０３に対する管理および構成を実装し、当該管理および当該構成は、コンピュータデバイス２０２の仮想マシンおよびコンピュータデバイス２０３の仮想マシンに対する管理および構成を含む。コンピュータデバイス２０２およびコンピュータデバイス２０３は、クラウド管理プラットフォームの制御下のデバイスノードとして用いられ、仮想マシンなどに関連するサービスを提供する。
【０１０３】
図２Ａにおいて、コンピュータデバイス２０１は、コンピューティングハードウェア２０１３１と、ストレージハードウェア２０１３２と、ネットワークハードウェア２０１３３とを有するハードウェアリソース層２０１３を備えることに注意すべきである。コンピューティングハードウェア２０１３１は、処理機能およびコンピューティング機能を提供するために用いられる専用プロセッサまたは汎用プロセッサであってよい。ストレージハードウェア２０１３２は、ストレージ能力を提供するよう構成され、ストレージ能力は、（サーバのローカルメモリまたはローカルハードディスクなどの）ストレージハードウェア２０１３２により提供されてよく、またはネットワークを用いることによって提供されてよい（例えば、サーバが、ネットワークを用いることによってネットワークストレージ装置に接続される）。ネットワークハードウェア２０１３３は、（ネットワークインターフェースカードなどの）スイッチングデバイス、ルータ、および／または別のネットワークデバイスであってよく、ネットワークハードウェア２０１３３は、複数のデバイス間の通信を実装するよう構成される。複数のデバイスは、無線または有線方式で接続される。コンピュータデバイス２０１の仮想化層が、ハードウェアリソース層でハードウェアリソースを抽象化するために用いられ、これにより、仮想リソースを提供する。コンピュータデバイス２０１のオペレーティングシステム２０１２は、仮想化管理のために用いられる仮想化層ハイパーバイザ２０１２１を含むが、これに限定されるものではない。
【０１０４】
ユーザが、クラウド管理プラットフォームを用いることによってコンピュータデバイス２０２の仮想マシンを申請し、申請された仮想マシンのサービスパケットに対して負荷バランシング処理を実行する必要があるという例を用いることによって、以下では、本発明のこの実施形態において提供される負荷バランシング方式を説明する。
【０１０５】
本発明のこの実施形態において、負荷バランシング処理は、負荷バランサを用いることによって、申請された仮想マシンのサービスパケットに対して実行されてよく、すなわち、負荷バランシング処理は、負荷バランサを生成することによって、申請された仮想マシンのサービスパケットに対して実行されてよい。負荷バランサは、仮想マシン、ネームスペース、およびコンテナなどの実装方式を含むが、これらに限定されるものではない。本発明のこの実施形態において、仮想マシンが負荷バランサとして用いられる例が、説明のために用いられる。ネームスペースまたはコンテナが負荷バランサとして用いられる実装方式について、仮想マシンは、負荷バランサとして用いられる実装方式を参照することが、理解され得る。
【０１０６】
本発明のこの実施形態において、クラウド管理プラットフォームは、ネットワーク、ストレージ、およびコンピューティングなどの、リソースに対する統一されたスケジューリングおよび管理を実装し、当該統一されたスケジューリングおよび管理に基づいて、サービスの自動化およびオーケストレーションを実装し、課金、手順、ロギング、およびアプリケーション配信などの動作機能を実装し、最後に、「使った分だけ支払う」モデルで、利用可能で簡便な所望のネットワークアクセスを、ユーザおよび管理者に提供し、これにより、ユーザおよび管理者は、構成可能なコンピューティングリソース共有プールにアクセスすることができる（リソースは、ネットワーク、サーバ、ストレージ、アプリケーションソフトウェア、サービスなどを含む）。
【０１０７】
図２Ａを参照すると、クラウド管理プラットフォームとして用いられるコンピュータデバイス２０１は、仮想負荷バランシング管理ユニット２０１１１と仮想マシン管理ユニット２０１１２とを含む。
【０１０８】
仮想負荷バランシング管理ユニット２０１１１は、負荷バランシング仮想マシンを生成するための構成情報を受信し、負荷バランシング仮想マシンを生成するための構成情報を、仮想負荷バランシングデータデバイス２０１１４に記憶するよう構成される。仮想負荷バランシング管理ユニット２０１１１はさらに、負荷バランシング仮想マシンを生成するための構成情報を、仮想負荷バランシング代行ユニット２０２１１へ送信してよい。
【０１０９】
仮想マシン管理ユニット２０１１２は、負荷バランシング仮想マシンを生成するための構成情報に従って、負荷バランシング仮想マシン２０２１２を生成または削除するよう構成される。
【０１１０】
負荷バランシング仮想マシンを生成するための構成情報は、ユーザにより、クラウド管理プラットフォームを用いることによって送られる。構成情報は、負荷バランシング仮想マシンの識別子、仮想ＩＰ（ＶＩＰ、Ｖｉｒｔｕａｌ  ＩＰ  Ａｄｄｒｅｓｓ）アドレス、および負荷バランシング仮想マシンに関連するバックエンドサーバについての情報などの負荷バランシング仮想マシンのＩＰアドレスを含むが、これらに限定されるものではない。負荷バランシング仮想マシンのＶＩＰアドレスは、負荷バランシング仮想マシンのＩＰアドレスである。バックエンドサーバについての情報は、バックエンドサーバの識別子、バックエンドサーバのインターネットプロトコル（ＩＰ、Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレス、またはバックエンドサーバのヘルスチェック方法を含むが、これらに限定されるものではない。バックエンドサーバのヘルスチェック方法は、負荷バランシング仮想マシンがバックエンドサーバの健康状態をチェックする方法を指す。バックエンドサーバは、具体的なサービスを提供するサーバである。負荷バランシング仮想マシンは、負荷バランシング方式で、例えば、負荷バランシングアルゴリズムを用いることによって、受信されたサービスパケットに従って、バックエンドサーバから１つのサーバを、サービスパケットを処理するサーバとして選択する。本発明のこの実施形態において、バックエンドサーバは、仮想マシンであってよく、または具体的な物理サーバであってよい。
【０１１１】
図２Ａにおいて、仮想負荷バランシングデータデバイス２０１１４は、負荷バランシング仮想マシンを生成するための構成情報を記憶するよう構成され、コンピュータデバイス２０１のストレージ装置であってよく、またはコンピュータデバイス２０１から独立したストレージ装置であってよい。本発明のこの実施形態は、負荷バランシング仮想マシンを生成するための構成情報が記憶される具体的な態様に限定を課さない。
【０１１２】
仮想マシン管理ユニット２０１１２は、仮想負荷バランシング管理ユニット２０１１１の命令に従って、負荷バランシング仮想マシン２０２１２を直接的に生成または削除してよく、またはコンピュータデバイス２０２の仮想負荷バランシング代行ユニット２０２１１の命令に従って、負荷バランシング仮想マシン２０２１２を生成または削除してよい。
【０１１３】
仮想マシン管理ユニット２０１１２は、ユーザにより送られた、仮想マシンをコンピュータデバイス２０２上で生成するための構成情報に従って、対応する仮想マシンを生成するようさらに構成される。例えば、コンピュータデバイス２０１が、ユーザにより送られた、仮想マシンをコンピュータデバイス２０２上で生成するための構成情報を受信したとき、仮想マシン管理ユニット２０１１２は、仮想マシン２０２１３をコンピュータデバイス２０２上で生成する。同様に、コンピュータデバイス２０１がユーザにより送られた、バックエンドサーバとして用いられる仮想マシンをコンピュータデバイス２０２上で生成するための構成情報を受信したとき、仮想マシン管理ユニット２０１１２は、バックエンドサーバとして用いられる対応する仮想マシンを生成し、例えば、仮想マシン２０２１４を生成する。
【０１１４】
任意選択の実装方式において、コンピュータデバイス２０２は、仮想負荷バランシング代行ユニット２０２１１をさらに含んでよく、仮想負荷バランシング代行ユニット２０２１１は、負荷バランシング仮想マシンを生成するための構成情報を、仮想負荷バランシング管理ユニット２０１１１から取得し、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシンを生成するための構成情報に従って負荷バランシング仮想マシン２０２１２を生成するように命令するよう構成される。
【０１１５】
仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシンを生成するための構成情報に従って負荷バランシング仮想マシン２０２１２を生成するように命令するとき、仮想負荷バランシング代行ユニット２０２１１は、通知情報を仮想マシン管理ユニット２０１１２へ送信する。通知情報は、負荷バランシング仮想マシン２０２１２を生成するための仮想マシンパラメータ情報をさらに含む。負荷バランシング仮想マシン２０２１２の仮想マシンパラメータ情報は、仮想中央処理装置の数量、仮想メモリのサイズ、および負荷バランシング仮想マシン２０２１２が位置する論理ネットワークなどの情報を含むが、これらに限定されるものではない。
【０１１６】
仮想マシン管理ユニット２０１１２が負荷バランシング仮想マシン２０２１２を生成する処理は、以下の通りであってよい。仮想マシン管理ユニット２０１１２は、仮想マシンを生成するためのアプリケーション・プログラミング・インターフェース（ＡＰＩ、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を呼び出し、負荷バランシングモジュールを有するミラーを指定することによって、負荷バランシング仮想マシン２０２１２を生成する。ＡＰＩが、仮想マシンを生成するために呼び出されたとき、仮想マシンパラメータ情報は、用いられ、これにより、仮想マシンパラメータ情報に従って、仮想マシンを生成する。負荷バランシングモジュールを有するミラーが指定され、これにより、生成された仮想マシンは、負荷バランシングモジュールを有し、構成情報は、仮想マシンの負荷バランシングモジュールへ送信される。
【０１１７】
仮想負荷バランシング管理ユニット２０１１１が、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２を生成するように直接命令するとき、仮想負荷バランシング管理ユニット２０１１１は、通知メッセージを仮想マシン管理ユニット２０１１２へ送信し、これにより、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２の生成を開始するように命令する。通知メッセージは、負荷バランシング仮想マシン２０２１２を生成するために必要とされる構成情報および仮想マシンパラメータ情報を含む。負荷バランシング仮想マシン２０２１２がコンピュータデバイス２０２上で生成された後に、負荷バランシング仮想マシン２０２１２は、仮想スイッチ２０２２２を用いることによって、コンピュータデバイス２０２の仮想マシン２０２１３などの仮想マシンにより送信されたサービスパケットを受信し、負荷バランシング方式で受信されたサービスパケットを処理するよう構成される。
【０１１８】
負荷バランシング仮想マシン２０２１２が、負荷バランシング方式で、コンピュータデバイス２０２の仮想マシンのサービスパケットを処理することは、以下の通りであってよい。サービスパケットを受信した後に、負荷バランシング仮想マシン２０２１２はまず、バックエンドサーバが、サービスパケットにサービスするようにサービスパケットに割り当てられているかを判断し、バックエンドサーバが割り当てられている場合、サービスパケットを割り当てられているバックエンドサーバへ送信する。バックエンドサーバがまだ割り当てられていない場合、負荷バランシングアルゴリズムを用いることによって、サービスパケットにサービスするようにバックエンドサーバを選択する。負荷バランシングアルゴリズムは、ラウンドロビン、重み付きラウンドロビン、ランダムアルゴリズム、リーストコネクション、ソースアドレスハッシュ、または位置に基づく重み付きラウンドロビンを含むが、これらに限定されるものではない。位置に基づく重み付きラウンドロビン方式において、サービスパケットを起動する仮想マシンが位置するコンピュータデバイスのバックエンドサーバは、優先的に選択されてよい。このように、バックエンドサーバによるサービスパケットの処理速度を増加でき、ネットワーク帯域幅を節約できる。
【０１１９】
本発明のこの実施形態において、ラウンドロビンアルゴリズムは、バックエンドサーバが負荷バランシング仮想マシン２０２１２のために選択される方式を説明するための例として用いられる。負荷バランシング仮想マシン２０２１２のバックエンドサーバが、仮想マシン２０２１４および仮想マシン２０３１４を含む場合、負荷バランシング仮想マシン２０２１２は、全てのバックエンドサーバ（仮想マシン２０２１４および仮想マシン２０３１４）をリストにグループ化し、次に、リストにおいて、処理される必要があるサービスパケットを割り当てる。負荷バランシング仮想マシン２０２１２が、仮想マシン２０２１３により送信された第１のサービスパケットを受信したとき、仮想マシン２０２１４は、サービスを提供するバックエンドサーバとして用いられ、第１のサービスパケットは、仮想マシン２０２１４へ送信される。仮想マシン２０２１３から第２のサービスパケットが受信されたとき、仮想マシン２０３１４は、サービスを提供するバックエンドサーバとして用いられ、第２のサービスパケットは、仮想マシン２０３１４へ送信される。負荷バランシング仮想マシン２０２１２が、仮想マシン２０２１３により送信された第３のサービスパケットを受信したとき、仮想マシン２０２１４は、サービスを提供するバックエンドサーバとして用いられ、第３のサービスパケットは、仮想マシン２０２１４へ送信される。先述の動作は、循環して繰り返される。
【０１２０】
負荷バランシング方式は、ユーザが、クラウド管理プラットフォームを用いることによって、サービスを起動する、コンピュータデバイス２０２の仮想マシンを申請し、申請された仮想マシンのサービス要求に対して負荷バランシング処理を実行する必要がある例を用いて説明される。ユーザが、クラウド管理プラットフォームを用いることによって、サービスを起動するコンピュータデバイス２０３の仮想マシンを申請し、申請された仮想マシンのサービス要求に対して負荷バランシング処理を実行する必要があるとき、この実装方式については、上述した実装方式と同様であることが理解され得る。負荷バランシングユニットが全てのコンピュータデバイス上に分散されるので、集中負荷バランシングノードが存在せず、負荷バランシング処理は、各コンピュータデバイスにおいて、負荷バランシングに関連するサービスパケットに対して実装され、サービスパケットの輻輳によって引き起こされる処理遅延は発生しない。さらに、負荷バランサは、コンピュータデバイス２０２およびコンピュータデバイス２０３の両方上に配備される。コンピュータデバイスが障害を発生したとき、コンピューティングデバイスの仮想マシンは、それに応じてオフラインとなり、負荷バランシングの要求はこれ以上、発生しない。従って、単一のコンピュータデバイスの障害が負荷バランシングユニットの障害を引き起こしたとき、別の負荷バランシングサービスの処理は、影響を受けず、負荷バランシングノードの障害によるアクティブ／スタンバイスイッチオーバによって引き起こされるサービス中断も存在しない。
【０１２１】
本発明のこの実施形態において、仮想負荷バランシング管理ユニット２０１１１から仮想負荷バランシング代行ユニット２０２１１により取得される、負荷バランシング仮想マシン２０２１２の構成情報は、負荷バランシング仮想マシン２０２１２のネットワーク情報をさらに含んでよい。仮想負荷バランシング代行ユニット２０２１１は、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシンを生成するための構成情報におけるネットワーク情報に従って、負荷バランシング仮想マシン２０２１２のための仮想ネットワークインターフェースカードを生成するように命令し、仮想マシン管理ユニット２０１１２に、仮想ネットワークインターフェースカードと仮想スイッチ２０２２２との間の接続を確立するように命令するようさらに構成される。仮想負荷バランシング代行ユニット２０２１１の命令に従って、仮想ネットワークインターフェースカードを生成するとき、仮想マシン管理ユニット２０１１２はさらに、負荷バランシング仮想マシンを生成するための構成情報に従って、ＩＰアドレスおよびＭＡＣアドレスを、生成された仮想ネットワークインターフェースカードに割り当ててよい。任意で、仮想負荷バランシング管理ユニット２０１１１は、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２のための仮想ネットワークインターフェースカードを生成して仮想ネットワークインターフェースカードと仮想スイッチ２０２２２との間の接続を確立するように命令してよい。
【０１２２】
仮想ネットワークインターフェースカードと仮想スイッチ２０２２２との間の接続は、仮想スイッチのネットワーク識別子を構成することによって確立され得る。仮想スイッチのネットワーク識別子は、仮想スイッチのネットワークインターフェースの識別子であり、仮想マシンのネットワークインターフェースの識別子が、仮想スイッチのネットワークインターフェースの識別子と同じであるときのみ、接続は、仮想マシンと仮想スイッチとの間で確立できる。本発明のこの実施形態において、仮想マシン管理ユニット２０１１２は、仮想スイッチ２０２２２のネットワーク識別子を構成することによって、負荷バランシング仮想マシン２０２１２と仮想スイッチ２０２２２との間の接続を確立する。例えば、仮想スイッチ２０２２２は、それらのネットワーク識別子が１００である３つのネットワークインターフェースを有する。負荷バランシング仮想マシン２０２１２および仮想マシン２０２１３の仮想ネットワークインターフェースカードが、それらのネットワーク識別子が１００であるインターフェースを有するとき、仮想マシン２０２１３は、そのネットワーク識別子が１００であるインターフェースと、そのネットワーク識別子が１００である、負荷バランシング仮想マシン２０２１２のインターフェースとを用いることによって、通信し得る。仮想マシン管理ユニット２０１１２は、仮想負荷バランシング代行ユニット２０２１１または仮想負荷バランシング管理ユニット２０１１１の命令に従って、仮想スイッチ２０２２２のためのネットワーク識別子を構成してよい。仮想スイッチ２０２２２の３つのネットワークインターフェースは単に例であることが理解され得る。具体的な実装の間に、仮想スイッチ２０２２２はまた、別のネットワークインターフェースを含んでよい。例えば、仮想スイッチ２０２２２は、１００個のネットワークインターフェースを含み、ネットワークインターフェースのうちの３つのネットワーク識別子が１００である。
【０１２３】
仮想マシン管理ユニット２０１１２が、仮想負荷バランシング代行ユニット２０２１１の命令に従って、仮想ネットワークインターフェースカードと仮想スイッチ２０２２２との間の接続を確立した後に、仮想負荷バランシング代行ユニット２０２１１は、仮想マシン管理ユニット２０１１２に、仮想スイッチ２０２２２の転送モードを構成するように命令するようさらに構成される。仮想スイッチ２０２２２は、仮想マシン２０２１３のサービスパケットに対して指向性転送処理を実行し、これにより、仮想マシン２０２１３は、負荷バランシング仮想マシン２０２１２をサービスパケットへ送信する。任意で、仮想負荷バランシング管理ユニット２０１１１は、仮想マシン管理ユニット２０１１２に、仮想スイッチ２０２２２の転送モードを構成するように命令してよい。
【０１２４】
仮想スイッチ２０２２２の転送モードは、アドレス解決プロトコル（ＡＲＰ、Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）キャッシュモード、または近隣探索プロトコル（ＮＤＰ、Ｎｅｉｇｈｂｏｒ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）キャッシュモードであってよく、すなわち、仮想スイッチ２０２２２が、サービスパケットに対して指向性転送処理を実行する方式は、ＡＲＰまたはＮＤＰキャッシュモードである。本発明のこの実施形態において、ＡＲＰキャッシュ技術の実装方式は、例として、ＯｐｅｎＳｔａｃｋをサポートするクラウドプラットフォームを用いることによって説明される。
【０１２５】
ＡＲＰキャッシュ技術は、フローテーブルを用いることによって実装される。フローテーブル技術は通常、マッチング条件および動作といった２つの部分を含む。ＡＲＰキャッシュフローテーブルのマッチング条件は以下の通りである。プロトコル種別がＡＲＰであり、ＡＲＰ宛先プロトコルアドレスが仮想ＩＰアドレス（ＶＩＰ、Ｖｉｒｔｕａｌ  ＩＰ  Ａｄｄｒｅｓｓ）であり、ＶＩＰは、負荷バランシング仮想マシンによりアクセスされることができるＩＰアドレスであり、ＡＲＰ動作種別が、ＡＲＰ要求である。動作は、以下を含む。１．受信されたＡＲＰパケットの宛先メディアアクセス制御（ＭＡＣ、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが、パケットのソースＭＡＣアドレスに変更される。２．受信されたＡＲＰパケットのソースＭＡＣアドレスは、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスに変更される。３．受信されたＡＲＰパケットのＡＲＰ動作種別が、ＡＲＰ返答に変更される。４．受信されたＡＲＰパケットのＡＲＰ宛先プロトコルアドレスが、ＡＲＰパケットのＡＲＰソースプロトコルアドレスに変更され、プロトコルアドレスは、ＡＲＰプロトコルにおける用語であり、ＩＰアドレスを指す。５．受信されたＡＲＰパケットのＡＲＰソースプロトコルアドレスは、負荷バランシング仮想マシン２０２１２のＩＰアドレスに変更される。６．受信されたＡＲＰパケットのＡＲＰ宛先ハードウェアアドレスが、パケットのＡＲＰソースハードウェアアドレスに変更され、ハードウェアアドレスは、ＡＲＰプロトコルにおける用語であり、ＭＡＣアドレスを指す。７．受信されたＡＲＰパケットのＡＲＰソースハードウェアアドレスは、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスに変更される。フローテーブルにおける動作は必ずしも全て実行されるわけではなく、当業者は、動作２が必須であることを知り得る。そして、変更されたＡＲＰパケットは、仮想スイッチ２０２２２に送られ、仮想スイッチ２０２２２を用いることによって、仮想マシン２０２１３へ送信される。仮想スイッチ２０２２２のＡＲＰキャッシュモードにおいて、仮想マシン２０２１３は、ＶＩＰに対応するＭＡＣアドレスを取得でき、取得されたＭＡＣアドレスに基づいてサービスパケットを送信でき、これにより、コンピュータデバイス２０２の仮想マシンにより送信された、負荷バランシング処理を実行する必要があるサービスパケットは、コンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のみへ送信される。
【０１２６】
仮想スイッチ２０２２２がＡＲＰ返答パケットを仮想マシン２０２１３へ送信した後に、仮想マシン２０２１３は、サービス要求パケットを構築し、サービス要求パケットのＩＰアドレスは、ＶＩＰアドレスであり、サービス要求パケットのＭＡＣアドレスは、仮想スイッチ２０２２２のＡＲＰ返答から取得される負荷バランシング仮想マシン２０２１２のＭＡＣアドレスである。仮想マシン２０２１３は、構築されたサービス要求パケットを仮想スイッチ２０２２２へ送信し、仮想スイッチ２０２２２は、サービス要求パケットのＩＰアドレスおよびＭＡＣアドレスに従って、サービス要求パケットを負荷バランシング仮想マシン２０２１２へ送信する。
【０１２７】
仮想マシン２０２１３により送信される、負荷バランシング処理を実行する必要がないパケットのＩＰアドレスは、ＶＩＰアドレスではなく、仮想スイッチ２０２２２は、一般的な転送モードにおいてパケットを転送してよい。
【０１２８】
仮想スイッチ２０２２２により受信される、仮想マシン２０２１３により起動されたサービスパケットに対して負荷バランシング処理を実行する必要があるとき、仮想スイッチ２０２２２は、ＡＲＰキャッシュ技術を用いることによって、仮想マシン２０２１３のサービスパケットを負荷バランシング仮想マシン２０２１２へ送信する。別のコンピュータデバイス（コンピュータデバイス２０３など）の負荷バランシング仮想マシン（負荷バランシング仮想マシン２０３１２など）は、ＡＲＰ要求を受信せず、コンピュータデバイス２０２の仮想マシン２０２１３により送信されたサービスパケットを受信しない。従って、以下の目的が達成される。各コンピュータデバイスの仮想マシンのサービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットは、コンピュータデバイスの負荷バランシング仮想マシンのみに対して実装される。
【０１２９】
コンピュータデバイス２０２上での負荷バランシング仮想マシン２０２１２の生成と同様に、負荷バランシング仮想マシン２０３１２は、コンピュータデバイス２０３上で生成され得る。各コンピュータデバイスの仮想マシンにより送信される、負荷バランシング処理を実行する必要があるサービスパケットが、コンピュータデバイス上で生成された負荷バランシング仮想マシンのみに転送され、処理するための別のコンピュータデバイスの負荷バランシング仮想マシンに転送されないので、コンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のＩＰアドレスは、コンピュータデバイス２０３の負荷バランシング仮想マシン２０３１２のＩＰアドレスと同じであってよい。同様に、コンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のＭＡＣアドレスは、コンピュータデバイス２０３の負荷バランシング仮想マシン２０３１２のＭＡＣアドレスと同じであってよい。このように、コンピュータデバイスを含むネットワークにおけるＩＰアドレスリソースおよび／またはＭＡＣアドレスリソースを節約できる。
【０１３０】
本発明のこの実施形態において、負荷バランシングサービスを配備するユーザが、第１の仮想マシンをコンピュータデバイス２０２上で生成するとき、仮想負荷バランシング代行ユニット２０２１１は、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２を生成するように命令し得る。このように、コンピュータデバイス２０２におけるリソースが節約でき、負荷バランシングサービスが必要とされないときの負荷バランシング仮想マシンの生成によって引き起こされるハードウェアリソース浪費が回避できる。負荷バランシングサービスを配備するユーザが、第１の仮想マシンをコンピュータデバイス２０２上で生成したという状況は、以下のように判断されてよい。仮想マシン管理ユニット２０１１２が（仮想マシン２０２１３などの）仮想マシンを生成した場合、仮想負荷バランシング管理ユニット２０１１１は、生成された仮想マシンが、仮想負荷バランシングサービスを構成しているユーザにより構成された第１の仮想マシンであるかを判断する。生成された仮想マシンが、仮想負荷バランシングサービスを構成しているユーザにより構成された第１の仮想マシンである場合、仮想負荷バランシング管理ユニット２０１１１は、仮想負荷バランシング代行ユニットに、仮想マシン管理ユニット２０１１２に負荷バランシング仮想マシン２０２１２を生成するように命令するように、命令する。あるいは、仮想負荷バランシング管理ユニット２０１１１は、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２を生成するように直接命令してよい。仮想負荷バランシングサービスを構成しているユーザにより構成された最後の仮想マシンが削除されたとき、仮想負荷バランシング管理ユニット２０１１１は、仮想負荷バランシング代行ユニットに、仮想マシン管理ユニット２０１１２に負荷バランシング仮想マシン２０２１２を削除するように命令するように、命令する、または、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２を削除するように直接命令する。
【０１３１】
第１の仮想マシンを生成したとき、仮想負荷バランシングサービスを構成しているユーザは、負荷バランシング仮想マシン２０２１２を生成し、同じユーザにより構成された最後の仮想マシンが削除されたとき、負荷バランシング仮想マシン２０２１２は削除され、これにより、コンピュータデバイス２０２における仮想リソースが減少でき、コンピュータデバイス２０２のリソース利用率が増加できる。
【０１３２】
コンピュータデバイス２０２の仮想負荷バランシング代行ユニット２０２１１は、コンピュータデバイス２０１の仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２を生成して構成するように命令する。具体的な実装の間に、コンピュータデバイス２０２は、仮想負荷バランシング代行ユニット２０２１１を含まなくてもよい。負荷バランシング仮想マシン２０２１２を生成するための構成情報を受信したとき、コンピュータデバイス２０１の仮想負荷バランシング管理ユニット２０１１１は、仮想マシン管理ユニット２０１１２に、負荷バランシング仮想マシン２０２１２を生成するように直接命令してよい。本発明のこの実施形態は、負荷バランシング仮想マシン２０２１２を生成する具体的な態様に対して限定を課さない。
【０１３３】
ユーザが、クラウド管理プラットフォームを用いることによって、仮想マシン２０２１３を申請し、仮想マシン２０２１３を用いることによって映像サービスにアクセスする。本発明のこの実施形態における負荷バランシング方式は、映像サービスが、仮想マシン２０２１４または仮想マシン２０３１４などのバックエンドサーバにより提供され得る例を用いることによって説明される。図２Ａおよび図２Ｂに示されている実施形態に関連して、クラウド管理プラットフォーム（コンピュータデバイス２０１）は別々に、負荷バランシング仮想マシン２０２１２をコンピュータデバイス２０２上で生成し、負荷バランシング仮想マシン２０３１２をコンピュータデバイス２０３上で生成する。仮想マシン２０２１３が映像サービスにアクセスするためにサービスパケットを起動するとき、サービスパケットは、仮想スイッチ２０２２２により、コンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のみに転送され、ネットワークを用いることによってコンピュータデバイス２０２に接続されるコンピュータデバイス２０３の負荷バランシング仮想マシン２０３１２は、仮想マシン２０２１３により送信されたサービスパケットを受信せず、これにより、負荷バランシング処理は、コンピュータデバイス２０２のみにおいて、コンピュータデバイス２０２において起動された、負荷バランシング処理を実行する必要があるサービスパケットに対して実装される。映像サービスに関連し、仮想スイッチ２０２２２により転送される、仮想マシン２０２１３のサービスパケットを受信した後に、負荷バランシング仮想マシン２０２１２は、負荷バランシングアルゴリズムを用いることによって、サービスパケットを処理する。仮想マシン２０２１４または仮想マシン２０３１４のうちの一方は、映像サービスを仮想マシン２０２１３に提供するためのバックエンドサーバとして選択されてよい。好ましくは、負荷バランシング仮想マシン２０２１２は、仮想マシン２０２１４を、映像サービスを仮想マシン２０２１３に提供するためのバックエンドサーバとして選択してよい。このように、ネットワーク帯域幅を節約でき、バックエンドサーバがサービスパケットに応答する効率を向上できる。
【０１３４】
図３を参照すると、図３は、本発明の実施形態に係るコンピュータデバイス３００の概略構造図である。図３において、コンピュータデバイス３００は、中央処理装置ＣＰＵ３０３１と、メモリ３０３２と、ストレージ装置３０３３とを有し、コンピュータデバイス３００のハードウェアに基づいて仮想化された後に生成される第１の仮想マシン３０４と、負荷バランシング仮想マシン３０１と、仮想スイッチ３０２２とをさらに有する。第１の仮想マシン３０４および負荷バランシング仮想マシン３０１は、コンピュータデバイス３００上で生成される仮想マシンである。
【０１３５】
第１の仮想マシン３０４は、サービスパケットを送信するよう構成される。
【０１３６】
仮想スイッチ３０２２は、第１の仮想マシン３０４により送信されたサービスパケットを受信し、サービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットを、負荷バランシング仮想マシン３０１のみに転送するよう構成される。
【０１３７】
負荷バランシング仮想マシン３０１は、仮想スイッチ３０２２により転送されたサービスパケットを受信し、負荷バランシング方式でサービスパケットを転送するよう構成される。
【０１３８】
コンピュータデバイス３００は、負荷バランシング仮想マシン３０１を含む。コンピュータデバイス３００の仮想マシンにより起動されたサービスに対して負荷バランシング処理を実行する必要があるとき、関連するサービスパケットが、コンピュータデバイス３００の負荷バランシング仮想マシン３０１のみへ送信され、これにより、負荷バランシング処理を実行する。関連するサービスパケットの負荷バランシングがコンピュータデバイスにおいて実装されるので、複数のコンピュータデバイス上の全てのサービスパケットが１つの負荷バランシングノードにより処理されるような場合は存在せず、それにより、集中負荷バランシングの輻輳によって引き起こされる処理遅延を回避する。加えて、コンピュータデバイス３００が障害を発生したとき、コンピュータデバイス３００の仮想マシンは、それに応じてオフラインとなり、負荷バランシングの要求はこれ以上、発生しない。従って、単一のコンピュータデバイスの障害が負荷バランシング仮想マシンの障害を引き起こしたとき、別のコンピュータデバイスの負荷バランシング仮想マシンは影響を受けず、負荷バランシング仮想マシンの障害によるアクティブ／スタンバイスイッチオーバによって引き起こされるサービス中断も存在しない。
【０１３９】
本発明のこの実施形態において、中央処理装置ＣＰＵ３０３１、メモリ３０３２、およびストレージ装置３０３３に加えて、コンピュータデバイス３００は、ネットワークハードウェア（不図示）などのハードウェアデバイスを含んでよい。ネットワークハードウェアは、（ネットワークインターフェースカードなどの）スイッチングデバイス、ルータ、および／または別のネットワークデバイスであってよく、複数のデバイス間の通信を実装するよう構成される。複数のデバイスは、無線または有線方式で接続されてよい。
【０１４０】
任意で、仮想スイッチ３０２２が、サービスパケットを、負荷バランシング仮想マシン３０１のみに転送することは、仮想スイッチ３０２２が、負荷バランシング仮想マシン３０１のＭＡＣアドレスを、第１の仮想マシン３０４へ送信し、これにより、第１の仮想マシン３０４が、負荷バランシング仮想マシン３０１の取得されたＭＡＣアドレスに基づいてサービスパケットを送信し、仮想スイッチ３０２２が、サービスパケットを負荷バランシング仮想マシン３０１に転送すること、もしくは、負荷バランシング仮想マシン３０１が、負荷バランシング仮想マシン３０１のＭＡＣアドレスを第１の仮想マシン３０４へ送信し、これにより、第１の仮想マシン３０４が、負荷バランシング仮想マシン３０１の取得されたＭＡＣアドレスに基づいてサービスパケットを送信し、仮想スイッチ３０２２が、サービスパケットを負荷バランシング仮想マシン３０１に転送すること、または、第１の仮想マシン３０４が、負荷バランシング仮想マシン３０１の予め構成されたＭＡＣアドレスに基づいてサービスパケットを送信し、仮想スイッチ３０２２が、サービスパケットを負荷バランシング仮想マシン３０１に転送することを含んでよい。
【０１４１】
仮想スイッチ３０２２が、負荷バランシング仮想マシン３０１のＭＡＣアドレスを第１の仮想マシン３０４へ送信することは、仮想スイッチ３０２２が、第１の仮想マシン３０４により送信された制御パケットを受信し、制御応答パケットを第１の仮想マシン３０４に返すことを含んでよく、ここで、制御応答パケットは、負荷バランシング仮想マシン３０１のＭＡＣアドレスを含む。
【０１４２】
制御パケットは、ＡＲＰパケット、またはインターネット制御メッセージプロトコル（ＩＣＭＰ、Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）パケットであってよく、ＩＣＭＰパケットは、ＩＣＭＰｖ６バージョン６パケットであってよい。例えば、コンピュータデバイス３００は、ＩＰｖ４プロトコルを用いる。第１の仮想マシン３０４がサービスパケットを送信する必要があるとき、第１の仮想マシン３０４はまず、ＡＲＰパケットを仮想スイッチ３０２２へ送信する。仮想スイッチ３０２２は、ＡＲＰキャッシュを実行し、負荷バランシング仮想マシン３０１のＭＡＣアドレスを、第１の仮想マシン３０４へ送信する。第１の仮想マシン３０４は、負荷バランシング仮想マシン３０１の取得されたＭＡＣアドレスに従って、負荷バランシング仮想マシン３０１の取得されたＩＰアドレスなどの情報に関連して、仮想スイッチ３０２２を用いることによって、サービスパケットを負荷バランシング仮想マシン３０１へ送信する。この方式で、第１の仮想マシン３０４により送信されたサービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットは、コンピュータデバイス３００の負荷バランシング仮想マシン３０１のみへ送信される。
【０１４３】
図４を参照すると、図４は、本発明の実施形態に係るコンピュータデバイス３００の具体的な実装構造のエンティティ図である。図４において、仮想化管理のために用いられる仮想化層ハイパーバイザ３０２１、および仮想スイッチ３０２２が、コンピュータデバイス３００のオペレーティングシステム３０２上で作動する。仮想化層ハイパーバイザ３０２１は、コンピュータデバイス３００の仮想マシン（第１の仮想マシン３０４など）を管理する。仮想スイッチ３０２２は、ハイパーバイザ３０２１により管理される仮想マシン間のネットワーク接続機能を提供し、仮想マシンと物理ネットワークとの間のネットワーク接続機能を提供する。仮想負荷バランシング代行ユニット３０２３は、仮想化層ハイパーバイザ３０２１を用いることによって、コンピュータデバイス３００の負荷バランシング仮想マシン３０１に対する構成および管理を実行する。
【０１４４】
仮想負荷バランシング代行ユニット３０２３は、負荷バランシング仮想マシン３０１を生成するための構成情報を受信し、負荷バランシング仮想マシン３０１の生成または削除を制御し、負荷バランシング仮想マシン３０１と仮想スイッチ３０２２との間の接続の確立を制御するよう構成される。
【０１４５】
仮想負荷バランシング代行ユニット３０２３は、負荷バランシング仮想マシン３０１を生成するユーザが、（第１の仮想マシン３０４などの）第１の仮想マシンをコンピュータデバイス３００上で生成したとき、負荷バランシング仮想マシン３０１の生成を開始してよい。コンピュータデバイス３００上で負荷バランシング仮想マシン３０１を生成するユーザにより生成された最後の仮想マシンが削除されたとき、仮想負荷バランシング代行ユニット３０２３は、負荷バランシング仮想マシン３０１を削除するように命令する。このように、コンピュータデバイス３００におけるリソースが節約でき、負荷バランシングサービスが必要とされないときの負荷バランシング仮想マシンの生成によって引き起こされるハードウェアリソース浪費が回避できる。具体的には、仮想負荷バランシング代行ユニット３０２３は、図２Ｂにおける仮想負荷バランシング代行ユニット２０２１１の実装方式に関連して実装されてよい。詳細は、再び説明されない。
【０１４６】
任意で、コンピュータデバイス３００は、第２の仮想マシン３０５をさらに含み、第２の仮想マシン３０５は、第１の仮想マシン３０４のサービスパケットを処理する能力を有する。
【０１４７】
負荷バランシング仮想マシン３０１が、負荷バランシングアルゴリズムを用いることによって、第２の仮想マシン３０５が第１の仮想マシン３０４のサービスパケットを処理すると判断したとき、第２の仮想マシン３０５は、負荷バランシング仮想マシン３０１により転送されたサービスパケットを受信し、サービスパケットの処理結果を負荷バランシング仮想マシン３０１へ送信する。
【０１４８】
負荷バランシング仮想マシン３０１は、仮想スイッチ３０２２を用いることによって、第２の仮想マシン３０５によるサービスパケットの処理結果を第１の仮想マシン３０４へ送信するようさらに構成される。任意選択の実装方式において、第２の仮想マシン３０５は、サービスパケットの処理結果を、第１の仮想マシン３０４に直接送信してよく、すなわち、第２の仮想マシン３０５は、負荷バランシング仮想マシン３０１を用いることなく、サービスパケットの処理結果を第１の仮想マシン３０４へ送信する。
【０１４９】
負荷バランシング仮想マシン３０１は、処理のために、ある方式で、例えば、負荷バランシングアルゴリズムを用いることによって、第１の仮想マシン３０４のサービスパケットをバックエンドサーバ（第２の仮想マシン３０５）に転送し、バックエンドサーバの処理結果は、第１の仮想マシン３０４へ送信される。従って、以下の目的が達成される。コンピュータデバイス３００において、コンピュータデバイス３００上で生成された負荷バランシング仮想マシンは、コンピュータデバイス３００のデバイスに対して、負荷バランシングサービスを実装する。負荷バランシング処理効率が向上する。
【０１５０】
図５を参照すると、図５は、本発明の実施形態に係る第１種のコンピュータシステムの実装方式の概略構造図である。システムは、第１のコンピュータデバイス５０２および第２のコンピュータデバイス５０１を備える。第２のコンピュータデバイス５０１は、中央処理装置ＣＰＵ５０１３１と、メモリ５０１３２と、ストレージ装置５０１３３とを有する。第１のコンピュータデバイス５０２は、中央処理装置ＣＰＵ５０２３１と、メモリ５０２３２と、ストレージ装置５０２３３とを有する。第１のコンピュータデバイス５０２は、ハードウェアベースの仮想化後に生成される第１の仮想マシン５０２１３と、第１の負荷バランシング仮想マシン５０２１２と、仮想スイッチ５０２２２とをさらに有する。第１の仮想マシン５０２１３および第１の負荷バランシング仮想マシン５０２１２は、コンピュータデバイス５０２上で生成される仮想マシンである。
【０１５１】
第１の仮想マシン５０２１３は、サービスパケットを送信するよう構成される。
【０１５２】
第１の仮想スイッチ５０２２２は、第１の仮想マシン５０２１３により送信されたサービスパケットを受信し、サービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットを、第１の負荷バランシング仮想マシン５０２１２のみに転送するよう構成される。
【０１５３】
第１の負荷バランシング仮想マシン５０２１２は、第１の仮想スイッチ５０２２２により転送されたサービスパケットを受信し、負荷バランシング方式でサービスパケットを転送するよう構成される。
【０１５４】
第１のコンピュータデバイス５０２は、第１の負荷バランシング仮想マシン５０２１２を含む。第１のコンピュータデバイス５０２の仮想マシンのサービスに対して負荷バランシング処理を実行する必要があるとき、負荷バランシング処理を実行するように、関連するサービスパケットが、第１のコンピュータデバイス５０２の第１の負荷バランシング仮想マシン５０２１２のみへ送信される。関連するサービスパケットの負荷バランシングがコンピュータデバイスにおいて実装されるので、複数のコンピュータデバイス上の全てのサービスパケットが１つの負荷バランシングノードにより処理されるような場合は存在せず、それにより、集中負荷バランシングの輻輳によって引き起こされる処理遅延を回避する。加えて、第１のコンピュータデバイス５０２が障害を発生したとき、第１のコンピュータデバイス５０２の仮想マシンは、それに応じてオフラインとなり、負荷バランシングの要求はこれ以上、発生しない。従って、単一のコンピュータデバイスの障害が、負荷バランシング仮想マシンの障害を引き起こしたとき、別のコンピュータデバイスの負荷バランシング仮想マシンは影響を受けず、負荷バランシング仮想マシンの障害によるアクティブ／スタンバイスイッチオーバによって引き起こされるサービス中断も存在しない。
【０１５５】
本発明のこの実施形態において、中央処理装置ＣＰＵ５０１３１と、メモリ５０１３２と、ストレージ装置５０１３３とに加えて、第２のコンピュータデバイス５０１は、ネットワークハードウェア（不図示）などのハードウェアデバイスを含んでよい。ネットワークハードウェアは、（ネットワークインターフェースカードなどの）スイッチングデバイス、ルータ、および／または別のネットワークデバイスであってよく、複数のデバイス間の通信を実装するよう構成される。複数のデバイスは、無線または有線方式で接続されてよい。
【０１５６】
任意で、第１の仮想スイッチ５０２２２は、サービスパケットを第１の負荷バランシング仮想マシン５０２１２のみに転送することは、第１の仮想スイッチ５０２２２が、第１の負荷バランシング仮想マシン５０２１２のＭＡＣアドレスを第１の仮想マシン５０２１３へ送信し、これにより、第１の仮想マシン５０２１３が、第１の負荷バランシング仮想マシン５０２１２の取得されたＭＡＣアドレスに基づいてサービスパケットを送信し、第１の仮想スイッチ５０２２２が、サービスパケットを第１の負荷バランシング仮想マシン５０２１２に転送すること、または、第１の負荷バランシング仮想マシン５０２１２が、第１の負荷バランシング仮想マシン５０２１２のＭＡＣアドレスを第１の仮想マシン５０２１３へ送信し、これにより、第１の仮想マシン５０２１３が、第１の負荷バランシング仮想マシン５０２１２のＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチ５０２２２が、サービスパケットを第１の負荷バランシング仮想マシン５０２１２に転送すること、または、第１の仮想マシン５０２１３が、第１の負荷バランシング仮想マシン５０２１２の予め構成されたＭＡＣアドレスに基づいてサービスパケットを送信し、第１の仮想スイッチ５０２２２が、サービスパケットを第１の負荷バランシング仮想マシン５０２１２に転送することを含んでよい。
【０１５７】
第１の仮想スイッチ５０２２２が、第１の負荷バランシング仮想マシン５０２１２のＭＡＣアドレスを第１の仮想マシン５０２１３へ送信することは、第１の仮想スイッチ５０２２２が、第１の仮想マシン５０２１３により送信された制御パケットを受信し、制御応答パケットを第１の仮想マシン５０２１３に返すことを含み、ここで、制御応答パケットは、第１の負荷バランシング仮想マシン５０２１２のＭＡＣアドレスを含む。
【０１５８】
制御パケットは、ＡＲＰパケット、またはＩＣＭＰｖ６パケットであってよい。例えば、第１のコンピュータデバイス５０２は、ＩＰｖ４プロトコルを用いる。第１の仮想マシン５０２１３が、サービスパケットを送信する必要があるとき、第１の仮想マシン５０２１３はまず、ＡＲＰパケットを第１の仮想スイッチ５０２２２へ送信する。第１の仮想スイッチ５０２２２は、ＡＲＰキャッシュを実行し、第１の負荷バランシング仮想マシン５０２１２のＭＡＣアドレスを、第１の仮想マシン５０２１３へ送信する。第１の仮想マシン５０２１３は、第１の負荷バランシング仮想マシン５０２１２の取得されたＭＡＣアドレスに従って、第１の負荷バランシング仮想マシン５０２１２の取得されたＩＰアドレスなどの情報に関連して、第１の仮想スイッチ５０２２２を用いることによって、サービスパケットを第１の負荷バランシング仮想マシン５０２１２へ送信する。この方式で、第１の仮想マシン５０２１３により送信されたサービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットは、第１のコンピュータデバイス５０２の第１の負荷バランシング仮想マシン５０２１２のみへ送信される。
【０１５９】
図６を参照すると、図６は、本発明の実施形態に係る第１種のコンピュータシステムの具体的な実装構造のエンティティ図である。図６において、仮想化管理のために用いられる仮想化層ハイパーバイザ５０２２１、および第１の仮想スイッチ５０２２２が、第１のコンピュータデバイス５０２のオペレーティングシステム５０２２上で作動する。仮想化層ハイパーバイザ５０２２１は、第１のコンピュータデバイス５０２の仮想マシン（第１の仮想マシン５０２１３など）を管理する。第１の仮想スイッチ５０２２２は、ハイパーバイザ５０２２１により管理される仮想マシン間のネットワーク接続機能を提供し、仮想マシンと物理ネットワークとの間のネットワーク接続機能を提供する。仮想負荷バランシング代行ユニット５０１１１は、仮想化層ハイパーバイザ５０２２１を用いることによって、第１のコンピュータデバイス５０２の第１の負荷バランシング仮想マシン５０２１２に対する構成および管理を実行する。第２のコンピュータデバイス５０１は、コンピュータシステムにおいてクラウド管理プラットフォームとして用いられ、仮想化管理のために用いられる仮想化層ハイパーバイザ５０１２１は、第２のコンピュータデバイス５０１のオペレーティングシステム５０１２上で作動する。第２のコンピュータデバイス５０１は、仮想マシン管理ユニット５０１１２および仮想負荷バランシング管理ユニット５０１１１をさらに含む。仮想マシン管理ユニット５０１１２は、第２のコンピュータデバイス５０２の仮想マシンに対する構成および管理を実装する。仮想負荷バランシング管理ユニット５０１１１は、ユーザにより送られた、負荷バランシング仮想マシンまたは仮想マシンを生成するための構成情報を受信し、仮想負荷バランシングデータデバイス５０１１４に、当該関連構成情報を記憶し、負荷バランシング仮想マシンを生成するための構成情報を記憶するよう構成される。第１のコンピュータデバイス５０２は、第１の仮想負荷バランシング代行ユニット５０２１１をさらに含む。
【０１６０】
仮想負荷バランシング管理ユニット５０１１１は、第１の負荷バランシング仮想マシン５０２１２を生成するための構成情報を受信し、第１の負荷バランシング仮想マシン５０２１２を生成するための構成情報を、第１の仮想負荷バランシング代行ユニット５０２１１へ送信するよう構成される。
【０１６１】
第１の仮想負荷バランシング代行ユニット５０２１１は、第１の負荷バランシング仮想マシン５０２１２を生成するための構成情報を受信し、仮想マシン管理ユニットに、第１の負荷バランシング仮想マシン５０２１２を生成するための構成情報に従って、第１の負荷バランシング仮想マシン５０２１２を生成するように命令するよう構成される。
【０１６２】
第１の仮想負荷バランシング代行ユニット５０２１１は、第１の負荷バランシング仮想マシン５０２１２を生成するユーザが、（第１の仮想マシン５０２１３などの）第１の仮想マシンを第１のコンピュータデバイス５０２上で生成したとき、仮想マシン管理ユニット５０１１２に、第１の負荷バランシング仮想マシン５０２１２を生成するように命令してよい。第１の負荷バランシング仮想マシン５０２１２を生成するユーザにより第１のコンピュータデバイス５０２上で生成された最後の仮想マシンが削除されたとき、第１の仮想負荷バランシング代行ユニット５０２１１は、仮想マシン管理ユニット５０１１２に、第１の負荷バランシング仮想マシン５０２１２を削除するように命令する。このように、第１のコンピュータデバイス５０２におけるリソースが節約でき、負荷バランシングサービスが必要とされないときの負荷バランシング仮想マシンの生成によって引き起こされるハードウェアリソース浪費が回避できる。具体的には、第１の仮想負荷バランシング代行ユニット５０２１１は、図２Ｂにおける仮想負荷バランシング代行ユニット２０２１１の実装方式に関連して実装されてよい。詳細は、再び説明されない。
【０１６３】
この実施形態において、第１の仮想負荷バランシング代行ユニット５０２１１は、仮想マシン管理ユニット５０１１２に、第１の負荷バランシング仮想マシン５０２１２のための第１の仮想ネットワークインターフェースカードを構成して第１の仮想ネットワークインターフェースカードと第１の仮想スイッチ５０２２２との間の接続を確立するように、命令するようさらに構成される。
【０１６４】
仮想マシン管理ユニット５０１１２は、第１の仮想スイッチ５０２２２のネットワーク識別子を構成することによって、仮想ネットワークインターフェースカードと、第１の仮想スイッチ５０２２２との間の接続を確立し得る。例えば、第１の仮想スイッチ５０２２２は、それらのネットワーク識別子が１００である３つのネットワークインターフェースを有する。第１の負荷バランシング仮想マシン５０２１２および第１の仮想マシン５０２１３の仮想ネットワークインターフェースカードが、それらのネットワーク識別子が１００であるインターフェースを有するとき、第１の仮想マシン５０２１３は、そのネットワーク識別子が１００であるインターフェース、およびそれらのネットワーク識別子が１００である、負荷バランシング仮想マシン２０２１２のインターフェースを用いることによって、通信してよい。仮想マシン管理ユニット５０１１２は、第１の仮想負荷バランシング代行ユニット５０２１１または仮想負荷バランシング管理ユニット５０１１１の命令に従って、第１の仮想スイッチ５０２２２のためのネットワーク識別子を構成してよい。
【０１６５】
本発明のこの実施形態において、第１の仮想マシン５０２１３は、第１の負荷バランシング仮想マシン５０２１２の構成情報を生成するユーザにより生成される仮想マシンである。仮想負荷バランシング管理ユニット５０１１１は、第１の仮想マシン５０２１３を生成するための構成情報を受信し、第１の仮想マシン５０２１３が、ユーザにより第１のコンピュータデバイス５０２上で生成された第１の仮想マシンであると判断されたとき、第１の仮想マシン５０２１３を生成するための情報を、第１の仮想負荷バランシング代行ユニット５０２１１に通知する。仮想負荷バランシング管理ユニットにより送信された、第１の仮想マシン５０２１３を生成するための通知を受信したとき、第１の仮想負荷バランシング代行ユニット５０２１１は、仮想マシン管理ユニット５０１１２に、第１の負荷バランシング仮想マシン５０２１２を生成するように命令する。このように、コンピュータデバイス５０２におけるリソースが節約でき、負荷バランシングサービスが必要とされないときの負荷バランシング仮想マシンの生成によって引き起こされるハードウェアリソースの占有および浪費が回避できる。同様に、第１の負荷バランシング仮想マシン５０２１２の構成情報を生成するユーザにより生成された、コンピュータデバイス５０２の最後の仮想マシンが削除されたとき、仮想負荷バランシング管理ユニット５０１１１は、第１の仮想負荷バランシング代行ユニット５０２１１に通知し、第１の仮想負荷バランシング代行ユニット５０２１１は、仮想マシン管理ユニット５０１１２に、第１の負荷バランシング仮想マシン５０２１２を削除するように命令する。このように、コンピュータデバイス５０２におけるリソースも節約でき、負荷バランシングサービスが必要とされないときの負荷バランシング仮想マシンによって引き起こされるハードウェアリソースの占有および浪費が、回避できる。
【０１６６】
先述において、仮想負荷バランシング管理ユニット５０１１１は、第１の仮想負荷バランシング代行ユニット５０２１１に、仮想マシン管理ユニット５０１１２に第１の負荷バランシング仮想マシン５０２１２を生成または削除するように命令するように、命令する。具体的な実装の間に、仮想負荷バランシング管理ユニット５０１１１は、仮想マシン管理ユニット５０１１２に、第１の負荷バランシング仮想マシン５０２１２を生成または削除するように命令してよい。詳細は、説明されない。
【０１６７】
任意で、第１のコンピュータデバイス５０２は、第２の仮想マシン５０２１４をさらに含む。第２の仮想マシン５０２１４は、第１の仮想マシン５０２１３のサービスパケットを処理する能力を有する。第１の負荷バランシング仮想マシン５０２１２が、負荷バランシング方式で、第２の仮想マシン５０２１４が第１の仮想マシン５０２１３のサービスパケットを処理すると判断したとき、第２の仮想マシン５０２１４は、第１の負荷バランシング仮想マシン５０２１２により転送されたサービスパケットを受信し、サービスパケットの処理結果を第１の負荷バランシング仮想マシン５０２１２へ送信する。第１の負荷バランシング仮想マシン５０２１２は、第１の仮想スイッチ５０２２２を用いることによって、第２の仮想マシン５０２１４によるサービスパケットの処理結果を、第１の仮想マシン５０２１３へ送信する。
【０１６８】
第１の負荷バランシング仮想マシン５０２１２は、処理のために、ある方式で、例えば、負荷バランシングアルゴリズムを用いることによって、第１の仮想マシン５０２１３のサービスパケットを、バックエンドサーバ（第２の仮想マシン５０２１４）に転送し、バックエンドサーバの処理結果は、第１の仮想マシン５０２１３へ送信される。従って、以下の目的が達成される。コンピュータデバイス５０２において、コンピュータデバイス５０２上で生成される負荷バランシング仮想マシンは、コンピュータデバイス５０２のデバイスに対して負荷バランシングサービスを実装する。負荷バランシング処理効率が向上する。
【０１６９】
本発明のこの実施形態における第１コンピュータシステムは、第３のコンピュータデバイスをさらに含んでよい。図７Ｂに示されているように、第３のコンピュータデバイス５０３は、コンピュータデバイス５０２と同様であり、第２の仮想負荷バランシング代行ユニット５０３１１と、第２の仮想スイッチ５０３２２と、第３の仮想マシン５０３１３とを有する。
【０１７０】
第２の仮想負荷バランシング代行ユニット５０３１１は、仮想負荷バランシング管理ユニット５０１１１により送信された、第２の負荷バランシング仮想マシン５０３１２を生成するための構成情報を受信し、仮想マシン管理ユニット５０１１２に、第２の負荷バランシング仮想マシン５０３１２を生成するための構成情報に基づいて、第２の負荷バランシング仮想マシン５０３１２を生成するように命令し、仮想マシン管理ユニット５０１１２に、第２の負荷バランシング仮想マシン５０３１２のための第２の仮想ネットワークインターフェースカードを構成して第２の仮想ネットワークインターフェースカードと第２の仮想スイッチ５０３２２との間の接続を確立するように、命令するよう構成される。
【０１７１】
第２の仮想スイッチ５０３２２は、第３の仮想マシン５０３１３により起動された第２のサービスパケットを受信し、第２のサービスパケットに対して負荷バランシング処理を実行する必要があるとき、第２のサービスパケットを第２の負荷バランシング仮想マシン５０３１２のみに転送するよう構成される。
【０１７２】
第２の負荷バランシング仮想マシン５０３１２は、第２の仮想スイッチ５０３２２により転送された第２のサービスパケットを受信し、負荷バランシング方式で第２のサービスパケットを転送するよう構成される。
【０１７３】
それに対応して、仮想マシン管理ユニット５０１１２は、第１の負荷バランシング仮想マシン５０２１２のための第１のＩＰアドレスおよび第１のＭＡＣアドレスを構成してよく、第２の負荷バランシング仮想マシンのための第２のＩＰアドレスおよび第２のＭＡＣアドレスを構成してよい。第１のＩＰアドレスは、第２のＩＰアドレスと同じであってよく、または第１のＭＡＣアドレスは、第２のＭＡＣアドレスと同じであってよい。このように、コンピュータデバイスを含むネットワークにおけるＩＰアドレスリソースまたはＭＡＣアドレスリソースが節約でき、ＩＰアドレスリソースまたはＭＡＣアドレスリソースの利用率が増加できる。
【０１７４】
図５、図６、図７Ａ、および図７Ｂに示されている実施形態は、図２Ａおよび図２Ｂにおける具体的な実装方式に関連して実装されてよい。詳細は、再び説明されない。
【０１７５】
任意で、本発明の実施形態は、（図２Ｂにおけるコンピュータデバイス２０２、または図７Ｂにおけるコンピュータデバイス５０２などの）第１のコンピュータデバイスと、（図２Ａにおけるコンピュータデバイス２０１、または図７Ａにおけるコンピュータデバイス５０１などの）第２のコンピュータデバイスと、（図２Ｂにおけるコンピュータデバイス２０３、または図７Ｂにおけるコンピュータデバイス５０３などの）第３のコンピュータデバイスとを備える第２種のコンピュータシステムをさらに提供する。第１のコンピュータデバイス、第２のコンピュータデバイス、および第３のコンピュータデバイスはそれぞれ、中央処理装置ＣＰＵと、メモリと、ストレージ装置とを有する。第２のコンピュータデバイスは、第１のコンピュータデバイスおよび第３のコンピュータデバイスの仮想マシンに対する構成および管理を実行する。第１のコンピュータデバイスは、第１の仮想スイッチを含む。第３のコンピュータデバイスは、第２の仮想スイッチを含む。
【０１７６】
第２のコンピュータデバイスは、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成するための構成情報を受信し、第１の負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成し、第１の負荷バランシング仮想マシンと第１の仮想スイッチとの間の接続を確立し、かつ、負荷バランシング仮想マシンを第３のコンピュータデバイス上で生成するための構成情報を受信し、第２の負荷バランシング仮想マシンを第３のコンピュータデバイス上で生成し、第２の負荷バランシング仮想マシンと第２の仮想スイッチとの間の接続を確立するよう構成される。
【０１７７】
第１の仮想スイッチは、第１のコンピュータデバイスの第１の仮想マシンにより送信された第１のサービスパケットを受信し、第１のサービスパケットに対して負荷バランシング処理を実行する必要があるとき、第１のサービスパケットを第１の負荷バランシング仮想マシンのみに転送するよう構成される。
【０１７８】
第２の仮想スイッチは、第３のコンピュータデバイスの第２の仮想マシンにより送信された第２のサービスパケットを受信し、第２のサービスパケットに対して負荷バランシング処理を実行する必要があるとき、第２のサービスパケットを第２の負荷バランシング仮想マシンのみに転送するよう構成される。
【０１７９】
第２のコンピュータシステムは、第１のコンピュータデバイスと、第２のコンピュータデバイスと、第３のコンピュータデバイスとを備える。第２のコンピュータデバイスは別々に、第１の負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成し、第２の負荷バランシング仮想マシンを第３のコンピュータデバイス上で生成し、これにより、各コンピュータデバイスは、コンピュータデバイスに対して負荷バランシングサービスを処理する負荷バランシング仮想マシンを有し、各コンピュータデバイスの仮想マシンにより送信されるサービスパケットの負荷バランシング処理は、コンピュータデバイスの負荷バランシング仮想マシンのみに対して実行される。このように、複数のコンピュータデバイス上の全てのサービスパケットが１つの負荷バランシングノードにより処理されるような場合は存在せず、それにより、集中負荷バランシングの輻輳によって引き起こされる処理遅延を回避する。加えて、コンピュータデバイスが障害を発生したとき、コンピュータデバイスの仮想マシンは、それに応じてオフラインとなり、負荷バランシングの要求はこれ以上、発生しない。従って、単一のコンピュータデバイスの障害が負荷バランシング仮想マシンの障害を引き起こしたとき、別のコンピュータデバイスの負荷バランシング仮想マシンは影響を受けず、負荷バランシング仮想マシンの障害によるアクティブ／スタンバイスイッチオーバによって引き起こされるサービス中断も存在しない。
【０１８０】
第２のコンピュータシステムにおいて、第１の仮想スイッチが、第１のサービスパケットを第１の負荷バランシング仮想マシンのみに転送することは、第１の仮想スイッチが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、第１の負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送すること、もしくは、第１の負荷バランシング仮想マシンが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信し、これにより、第１の仮想マシンが、第１の負荷バランシング仮想マシンのＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送すること、または、第１の仮想マシンが、第１の負荷バランシング仮想マシンの予め構成されたＭＡＣアドレスに基づいて、サービスパケットを送信し、第１の仮想スイッチが、サービスパケットを第１の負荷バランシング仮想マシンに転送することを含む。
【０１８１】
それに対応して、第１の仮想スイッチが、第１の負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信することは、第１の仮想スイッチが、第１の仮想マシンにより送信された制御パケットを受信し、制御応答パケットを第１の仮想マシンに返すことを含み、ここで、制御応答パケットは、第１の負荷バランシング仮想マシンのＭＡＣアドレスを含む。制御パケットは、ＡＲＰパケット、またはＩＣＭＰｖ６パケットであってよい。
【０１８２】
任意で、第１のコンピュータデバイスは、第２の仮想マシンをさらに含み、第２の仮想マシンは、第１の仮想マシンのサービスパケットを処理する能力を有する。
【０１８３】
第１の負荷バランシング仮想マシンが、負荷バランシング方式で、第２の仮想マシンが第１の仮想マシンのサービスパケットを処理すると判断したとき、第２の仮想マシンは、第１の負荷バランシング仮想マシンにより転送されたサービスパケットを受信し、サービスパケットの処理結果を、第１の負荷バランシング仮想マシンへ送信する。
【０１８４】
第１の負荷バランシング仮想マシンは、第１の仮想スイッチを用いることによって、第２の仮想マシンによるサービスパケットの処理結果を、第１の仮想マシンへ送信するようさらに構成される。
【０１８５】
本発明のこの実施形態において、第１の負荷バランシング仮想マシンのＩＰアドレスは、第２の負荷バランシング仮想マシンのＩＰアドレスと同じであり、または、第１の負荷バランシング仮想マシンのＭＡＣアドレスは、第２の負荷バランシング仮想マシンのＭＡＣアドレスと同じである。このように、第２のコンピュータシステムにおいてＩＰアドレスリソースまたはＭＡＣアドレスリソースが節約でき、リソース利用率が増加できる。
【０１８６】
図８を参照すると、図８は、本発明の実施形態に係る負荷バランシング方法の概略フローチャートである。図８に示されているように、方法は、以下の段階を備える。
【０１８７】
段階８００：第２のコンピュータデバイスが、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成するための構成情報を受信する段階であって、第１のコンピュータデバイスは、中央処理装置ＣＰＵと、メモリと、ストレージ装置とを有し、第１のコンピュータデバイスは、第１の仮想マシンと仮想スイッチをさらに有する、段階である。
【０１８８】
段階８０２：第２のコンピュータデバイスが、構成情報に従って、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成し、第１のコンピュータデバイスの負荷バランシング仮想マシンと仮想スイッチとの間の接続を確立する段階である。
【０１８９】
段階８０４：仮想スイッチが、第１の仮想マシンにより送信されたサービスパケットを受信し、サービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットを、負荷バランシング仮想マシンのみに転送する段階である。
【０１９０】
段階８０６：負荷バランシング仮想マシンが、仮想スイッチにより転送されたサービスパケットを受信し、負荷バランシング方式でサービスパケットを転送する段階である。
【０１９１】
先述の方法において、第１のコンピュータデバイスは、負荷バランシング仮想マシンを有する。第１のコンピュータデバイスの仮想マシンにより起動されたサービスに対して負荷バランシング処理を実行する必要があるとき、関連するサービスパケットが、第１のコンピュータデバイスの負荷バランシング仮想マシンのみへ送信され、これにより、負荷バランシング処理を実行する。関連するサービスパケットの負荷バランシングがコンピュータデバイスにおいて実装されるので、複数のコンピュータデバイス上の全てのサービスパケットが１つの負荷バランシングノードにより処理されるような場合は存在せず、それにより、集中負荷バランシングの輻輳によって引き起こされる処理遅延を回避する。加えて、第１のコンピュータデバイスが障害を発生したとき、第１のコンピュータデバイスの仮想マシンは、それに応じてオフラインとなり、負荷バランシングの要求はこれ以上、発生しない。従って、単一のコンピュータデバイスの障害が負荷バランシング仮想マシンの障害を引き起こしたとき、別のコンピュータデバイスの負荷バランシング仮想マシンは影響を受けず、負荷バランシング仮想マシンの障害によるアクティブ／スタンバイスイッチオーバによって引き起こされるサービス中断も存在しない。
【０１９２】
任意で、先述の段階８０４において、仮想スイッチがサービスパケットを負荷バランシング仮想マシンのみに転送する段階は、仮想スイッチが、負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信する段階であって、これにより、第１の仮想マシンが、負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいてサービスパケットを送信し、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンに転送する、段階、もしくは、負荷バランシング仮想マシンが、負荷バランシング仮想マシンのＭＡＣアドレスを、第１の仮想マシンへ送信する段階であって、これにより、第１の仮想マシンが、負荷バランシング仮想マシンの取得されたＭＡＣアドレスに基づいてサービスパケットを送信し、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンに転送する、段階、または、第１の仮想マシンが、負荷バランシング仮想マシンの予め構成されたＭＡＣアドレスに基づいて、サービスパケットを送信し、仮想スイッチが、サービスパケットを負荷バランシング仮想マシンに転送する段階を含む。
【０１９３】
仮想スイッチが、負荷バランシング仮想マシンのＭＡＣアドレスを第１の仮想マシンへ送信する段階は、仮想スイッチが、第１の仮想マシンにより送信された制御パケットを受信し、制御応答パケットを第１の仮想マシンに返す段階であって、制御応答パケットは負荷バランシング仮想マシンのＭＡＣアドレスを含む、段階を含んでよい。制御パケットは、ＡＲＰパケット、またはＩＣＭＰｖ６パケットであってよい。
【０１９４】
第２のコンピュータデバイスが、構成情報に従って、負荷バランシング仮想マシンを第１のコンピュータデバイス上で生成する前に、方法は、第２のコンピュータデバイスが、構成情報を第１のコンピュータデバイスへ送信する段階と、第１のコンピュータデバイスが、負荷バランシング仮想マシンを生成するための構成情報を受信し、第２のコンピュータデバイスに、負荷バランシング仮想マシンを生成するように命令する段階とをさらに備える。
【０１９５】
本発明のこの実施形態において、第２のコンピュータデバイスは、第２の仮想マシンをさらに含み、第２の仮想マシンは、第１の仮想マシンのサービスパケットを処理する能力を有し、方法は、負荷バランシング仮想マシンが、負荷バランシングアルゴリズムを用いることによって、第２の仮想マシンが第１の仮想マシンのサービスパケットを処理すると判断したとき、第２の仮想マシンが、負荷バランシング仮想マシンにより転送されたサービスパケットを受信し、サービスパケットの処理結果を負荷バランシング仮想マシンへ送信する段階と、負荷バランシング仮想マシンが、仮想スイッチを用いることによって、第２の仮想マシンによるサービスパケットの処理結果を第１の仮想マシンへ送信する段階とをさらに備える。
【０１９６】
第２の仮想マシンおよび第１の仮想マシンは、１つのコンピュータデバイス上に位置する。このように、コンピュータデバイス間のサービス処理によって引き起こされる帯域幅の占有が減少でき、サービス処理効率を向上できる。
【０１９７】
本発明の実施形態における方法の実施形態は、図２Ａおよび図２Ｂに示されている実施形態の実装方式に関連して実装されてよい。詳細は、再び説明されない。
【０１９８】
以下では、図２Ａおよび図２Ｂに示されている応用シナリオに関連して、以下の例を用いることによって、本発明のこの実施形態における負荷バランシング方法の実装方式を詳細に説明する。ユーザが、コンピュータデバイス２０２の仮想マシン２０２１３を申請し、仮想マシン２０２１３は、具体的なサービス（例えば、映像サービスにアクセスすること）を実行するために用いられ、サービスは、コンピュータデバイス２０２の仮想マシン２０２１４、またはコンピュータデバイス２０３の仮想マシン２０３１４などのバックエンドサーバにより処理されてよく、負荷バランシングは、仮想マシン２０２１４と仮想マシン２０３１４との間で、仮想マシン２０２１３により起動されたサービスに対して実行される必要がある。
【０１９９】
図９は、実装プロセスの概略フローチャートである。図９に示されている実装プロセスは、負荷バランシング機能を有する仮想マシンが負荷バランサとして用いられる実装方式を依然として用いることによって、説明されることに注意すべきである。負荷バランサが、コンテナ、ネームスペース、または同様のものを用いることによって実装される実装方式は、仮想マシンが負荷バランサとして用いられる以下の実装方式に関連して実装されてよい。
【０２００】
図９に示されているように、本発明の実施形態において負荷バランシングサービスを実装するための方法は、以下の段階を備える。
【０２０１】
段階９００：コンピュータデバイス２０１が、負荷バランシング仮想マシンをコンピュータデバイス２０２上で生成するための構成情報を取得する段階である。
【０２０２】
段階９０２：コンピュータデバイス２０１が、負荷バランシング仮想マシンの取得された構成情報に従って、負荷バランシング仮想マシン２０２１２をコンピュータデバイス２０２上で生成する段階である。
【０２０３】
段階９０４：負荷バランシングサービスの転送モードをコンピュータデバイス２０２に構成し、これにより、仮想マシン２０２１３により起動されたサービスが、コンピュータデバイス２０２上で生成された負荷バランシング仮想マシン２０２１２のみに転送され、これにより、負荷バランシング処理を実行する段階である。
【０２０４】
仮想マシン２０２１３により起動されたサービスは、負荷バランシングサービスであり、負荷バランシングサービスは、負荷バランシング処理を実行する必要があるサービスである。
【０２０５】
段階９０６：負荷バランシング仮想マシン２０２１２が、仮想マシン２０２１３により送信されたサービスを受信し、仮想マシン２０２１３により起動されたサービスを処理するように、バックエンドサーバを選択する段階である。
【０２０６】
段階９０８：バックエンドサーバが、仮想マシン２０２１３により起動された、処理されたサービスを仮想マシン２０２１３に返す段階である。
【０２０７】
段階９００において、コンピュータデバイス２０１は、例えば、ユーザにより、コンピュータデバイス２０１上で作動する、クラウド管理プラットフォームに関連するソフトウェアを用いることによって送られる負荷バランシング仮想マシンを生成するための構成情報、または、コンピュータデバイス２０１に予め記憶された負荷バランシング仮想マシンの構成情報などの、クラウド管理プラットフォームとして用いられ、生成される必要がある負荷バランシング仮想マシンの構成情報を取得できる。加えて、コンピュータデバイス２０１は、クラウド管理プラットフォームとして用いられ、コンピュータデバイス２０２の仮想マシン２０２１３などの別のサービス仮想マシンの構成情報をさらに取得してよい。コンピュータデバイス２０１がサービス仮想マシンの構成情報を取得する方式はまた、コンピュータデバイス２０１に予め記憶された構成情報、またはユーザにより、クラウド管理プラットフォームに関連するソフトウェアを用いることによって送られる構成情報を受信することを含む。
【０２０８】
ユーザが、本発明のこの実施形態におけるクラウド管理プラットフォームを用いることによって、コンピュータデバイス２０２の仮想マシン２０２１３を申請するので、負荷バランシング処理は、仮想マシン２０２１３により起動されたサービス要求に対して実行される必要がある。集中負荷バランシングノードによって引き起こされる輻輳などの従来技術の欠点を回避するために、本発明のこの実施形態において、負荷バランシング仮想マシン２０２１２は、コンピュータデバイス２０２上で生成され、負荷バランシング仮想マシン２０２１２は、仮想マシン２０２１３により起動された、負荷バランシング処理を実行する必要があるサービス要求を処理する。従って、段階９００において、コンピュータデバイス２０１は、負荷バランシング仮想マシンをコンピュータデバイス２０２上で生成するための構成情報、すなわち、負荷バランシング仮想マシン２０２１２の構成情報を取得する必要があり、負荷バランシング仮想マシンの取得された構成情報に従って、負荷バランシング仮想マシンをコンピュータデバイス２０２に構成する。
【０２０９】
本発明のこの実施形態において、負荷バランシング仮想マシンの構成情報は、負荷バランシング仮想マシン２０２１２の識別子、または負荷バランシング仮想マシン２０２１２のＶＩＰアドレスを含むが、これらに限定されるものではない。負荷バランシング仮想マシン２０２１２のＶＩＰは、負荷バランシングサービスを示す。例えば、負荷バランシング仮想マシン２０２１２のＩＰアドレスが、ＶＩＰとして構成されるとき、負荷バランシング仮想マシン２０２１２は、負荷バランシングサービスを処理するノードとして用いられることができ、アドレス指定されることができる。任意で、本発明のこの実施形態において、負荷バランシング仮想マシンの構成情報は、負荷バランシング仮想マシン２０２１２または同様のものに関連するバックエンドサーバについての情報をさらに含む。
【０２１０】
任意で、構成情報は、仮想マシンパラメータ情報をさらに含んでよい。仮想マシンパラメータ情報は、仮想中央処理装置の数量、仮想メモリのサイズ、負荷バランシング仮想マシン２０２１２が位置する論理ネットワークなどの情報を含むが、これらに限定されるものではない。仮想マシンパラメータ情報は、予め構成されたパラメータリストであってよく、異なるパラメータリストは、異なる要求に従って選択されてよい。パラメータリストは、ユーザが構成情報を送る場合に指定されてよく、または、コンピュータデバイス２０１により、予め設定されたポリシーに従って、記憶された構成情報リストから取得されてよい。本発明のこの実施形態は、負荷バランシング仮想マシン２０２１２の仮想マシンパラメータ情報を取得する方式に対して限定を課さない。
【０２１１】
段階９０２において、コンピュータデバイス２０１は、負荷バランシング仮想マシンの取得された構成情報に従って、負荷バランシング仮想マシン２０２１２を生成する。
【０２１２】
コンピュータデバイス２０１は、クラウド管理プラットフォームとして用いられ、通常の仮想マシンをコンピュータデバイス２０２上で生成することができ、負荷バランシング仮想マシンを生成することもできる。コンピュータデバイス２０１は、負荷バランシング仮想マシン２０２１２の取得された構成情報に従って、負荷バランシング仮想マシン２０２１２をコンピュータデバイス２０２上で生成することができる。
【０２１３】
任意で、方法は、コンピュータデバイス２０１が仮想マシン２０２１３をコンピュータデバイス２０２上で生成するという段階９０１をさらに備えてよい。仮想マシン２０２１３は、ユーザにより生成されるサービス仮想マシンであり、仮想マシン２０２１３は、サービスを起動する仮想マシンである。仮想マシン２０２１３により起動されるサービスは、負荷バランシングサービスを含み、すなわち、仮想マシン２０２１３により起動される負荷バランシングサービスは、負荷バランシング処理を実行する必要があるサービスである。
【０２１４】
負荷バランシング仮想マシンを生成するための構成情報を送るユーザが、第１の仮想マシンをコンピュータデバイス２０２上で生成したとき、例えば、負荷バランシングサービスを起動する第１の仮想マシン２０２１３を生成したとき、コンピュータデバイス２０１は、負荷バランシング仮想マシン２０２１２を生成する。ユーザにより生成された最後の仮想マシンが削除されたとき、例えば、負荷バランシングサービスを起動する最後の仮想マシン２０２１３が削除されたとき、コンピュータデバイス２０１は、負荷バランシング仮想マシン２０２１２を削除する。このように、負荷バランシング仮想マシン２０２１２は、ユーザが負荷バランシングサービスを起動する仮想マシンを生成した場合のみに生成され、これにより、ユーザが仮想マシンを生成しないときのコンピュータデバイス２０２におけるリソースの占有が、負荷バランシング仮想マシンの生成によって引き起こされるといった問題が回避でき、コンピュータデバイス２０２のリソース利用率が増加できる。
【０２１５】
コンピュータデバイス２０１は、ユーザの識別情報などのユーザについての情報に従って、生成された仮想マシンが、仮想負荷バランシングサービスを構成しているユーザにより生成された第１のサービス仮想マシンであるかを判断してよい。
【０２１６】
同様に、ユーザについての情報に従って、仮想負荷バランシングサービスを構成しているユーザにより生成された最後のサービス仮想マシンが削除されたかも判断されてよい。詳細は、説明されない。
【０２１７】
段階９０２において、コンピュータデバイス２０１が、負荷バランシング仮想マシンの取得された構成情報に従って、負荷バランシング仮想マシン２０２１２を生成する段階は、コンピュータデバイス２０１が、負荷バランシング仮想マシンの構成情報におけるネットワーク情報に従って、負荷バランシング仮想マシン２０２１２のための仮想ネットワークインターフェースカードを構成する段階をさらに含む。
【０２１８】
段階９０４において、コンピュータデバイス２０１は、負荷バランシングサービスの転送モードをコンピュータデバイス２０２に構成してよい。転送モードにおいて、サービスを起動する、コンピュータデバイス２０２の仮想マシン２０２１３などの仮想マシンにより起動された負荷バランシングサービスのサービスパケットは、負荷バランシング仮想マシン２０２１２に指向的に転送される。
【０２１９】
コンピュータデバイス２０１は、コンピュータデバイス２０２の仮想スイッチの転送モードを構成することによって、負荷バランシングサービスの転送モードをコンピュータデバイス２０２に構成してよい。コンピュータデバイス２０２の仮想スイッチは、仮想スイッチ２０２２２である。仮想スイッチ２０２２２の構成される転送モードにおいて、指向性転送処理は、負荷バランシング処理を実行する必要がある、仮想マシン２０２１３により送信されたサービスパケットに対して実行され、負荷バランシング処理を実行する必要がある、仮想マシン２０２１３により送信されたサービスパケットは、コンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のみへ送信される。任意で、仮想スイッチ２０２２２の転送モードは、ＡＲＰまたはＮＤＰキャッシュモードであってよく、すなわち、仮想スイッチ２０２２２は、ＡＲＰまたはＮＤＰキャッシュモードにおいて、サービスパケットを指向的に転送する。
【０２２０】
仮想マシン２０２１３が負荷バランシングサービスのサービスパケットを起動するとき、仮想マシン２０２１３は、負荷バランシングサービスの転送モードに従って、負荷バランシングサービスのサービスパケットを負荷バランシング仮想マシン２０２１２へ送信する。具体的には、負荷バランシング処理を実行する必要がある負荷バランシングサービスを起動するとき、仮想マシン２０２１３はまず、ＶＩＰが宛先ＩＰとして用いられる制御パケットを送信してよい。制御パケットは、負荷バランシングサービスのブロードキャストパケットであってよい。通常、ＶＩＰが宛先ＩＰとして用いられる、仮想マシン２０２１３により起動された制御パケットは、それらのＩＰアドレスがＶＩＰである全ての負荷バランシングノード（負荷バランサなど）に転送される。しかしながら、本発明のこの実施形態において、コンピュータデバイス２０１が、負荷バランシングサービスの転送モードをコンピュータデバイス２０２に構成するので、仮想マシン２０２１３により送信された制御パケットを受信した後に、コンピュータデバイス２０２の仮想スイッチ２０２２２は、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスを、仮想マシン２０２１３のみへ送信する。仮想マシン２０２１３は、負荷バランシング仮想マシン２０２１２の取得されたＭＡＣアドレスに従って、負荷バランシングサービスのサービスパケットを負荷バランシング仮想マシン２０２１２へ送信する。従って、仮想マシン２０２１３により起動されたサービスは、コンピュータデバイス２０２上で生成された負荷バランシング仮想マシン２０２１２のみに転送され、これにより、負荷バランシング処理を実行する。
【０２２１】
任意で、仮想スイッチ２０２１３が、サービスパケットを送信する前に仮想スイッチ２０２２２へ送信する制御パケットは、ＡＲＰパケット、またはＩＣＭＰパケットであってよい。
【０２２２】
本発明のこの実施形態において、ＡＲＰキャッシュ技術の実装方式は、例として、ＯｐｅｎＳｔａｃｋをサポートするクラウドプラットフォームを用いることによって説明される。負荷バランシング処理が実行されたサービスを初めて起動するとき、仮想マシン２０２１３はまず、制御パケットを仮想スイッチ２０２２２へ送信し、例えば、まず、ＡＲＰ要求パケットを仮想スイッチ２０２２２へ送信し、仮想スイッチ２０２２２は、ＡＲＰキャッシュを実行する。仮想マシン２０２１３が、負荷バランシング処理が実行されたサービスを初めて起動するとき、仮想マシン２０２１３は、負荷バランシングサービスを処理する負荷バランシング仮想マシンのＭＡＣアドレスを認識しておらず、負荷バランシングサービスのＶＩＰアドレスのみを認識する。従って、負荷バランシング処理が実行されたサービスを初めて起動するとき、仮想マシン２０２１３はまず、ＡＲＰ要求を送信し、これにより、負荷バランシングサービスを処理する負荷バランシング仮想マシンのＭＡＣアドレスを取得する。
【０２２３】
ＡＲＰ要求パケットの宛先ＩＰは、ＶＩＰである。ＶＩＰは、負荷バランシング仮想マシンによりアクセスされることができるＩＰアドレスである。ＡＲＰ要求パケットの宛先ＭＡＣアドレスは、汎用負荷バランシング仮想マシンのＭＡＣアドレスであってよい。ＭＡＣは、具体的な負荷バランシング仮想マシンのＭＡＣアドレスではなく、宛先ＭＡＣアドレスは空きであってよい。ＡＲＰキャッシュ技術は、フローテーブルを用いることによって実装される。フローテーブル技術は通常、マッチング条件および動作といった２つの部分を含む。ＡＲＰキャッシュフローテーブルのマッチング条件は、以下の通りである。プロトコル種別がＡＲＰであり、ＡＲＰ宛先プロトコルアドレスが、ＶＩＰであり、ＶＩＰは、負荷バランシング仮想マシンによりアクセスされることができるＩＰアドレスであり、ＡＲＰ動作種別が、ＡＲＰ要求である。仮想マシン２０２１３により送信されたＡＲＰ要求に対してＡＲＰキャッシュを実行するとき、仮想スイッチ２０２２２は、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスを仮想マシン２０２１３に返す。
【０２２４】
仮想スイッチ２０２２２がＡＲＰ返答パケットを仮想マシン２０２１３へ送信した後に、仮想マシン２０２１３は、負荷バランシング処理を実行する必要があるサービスパケットを送信し、サービスパケットのＩＰアドレスが、ＶＩＰアドレスであり、サービスパケットのＭＡＣアドレスが、仮想スイッチ２０２２２のＡＲＰ返答から取得される、負荷バランシング仮想マシン２０２１２のＭＡＣである。仮想マシン２０２１３は、サービスパケットを仮想スイッチ２０２２２へ送信する。仮想マシン２０２１３により送信されたサービスパケットを受信した後に、仮想スイッチ２０２２２は、サービスパケットにおいて保持されているＭＡＣアドレスに従って、サービスパケットを負荷バランシング仮想マシン２０２１２へ送信する。
【０２２５】
仮想スイッチ２０２２２は、仮想マシン２０２１３により送信されたサービスパケットを受信し、サービスパケットのＩＰアドレスおよびＭＡＣアドレスに従って、サービスパケットを負荷バランシング仮想マシン２０２１２へ送信する。別のコンピュータデバイス（コンピュータデバイス２０３など）の負荷バランシング仮想マシン（負荷バランシング仮想マシン２０３１２など）は、仮想マシン２０２１３のサービスパケットを受信せず、負荷バランシング処理を実行する必要がある、仮想マシン２０２１３により送信されたサービスパケットを処理しない。従って、以下の目的が達成される。各コンピュータデバイスの仮想マシンのサービスパケットに対して負荷バランシング処理を実行する必要があるとき、サービスパケットは、コンピュータデバイスの負荷バランシング仮想マシンのみに対して実装される。
【０２２６】
任意選択の実装方式において、コンピュータデバイス２０１は、以下の方式で、負荷バランシングサービスの転送モードをコンピュータデバイス２０２に構成してよい。
【０２２７】
コンピュータデバイス２０１は、負荷バランシング仮想マシン２０２１２に、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスを、サービスを起動する仮想マシン（仮想マシン２０２１３など）へ送信するように、命令する、または、コンピュータデバイス２０１は、サービスを起動する仮想マシン（仮想マシン２０２１３など）の負荷バランシング仮想マシン２０２１２のＭＡＣアドレスを構成する。
【０２２８】
コンピュータデバイス２０１が、負荷バランシング仮想マシン２０２１２に、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスを、サービスを起動する仮想マシン（仮想マシン２０２１３など）へ送信するように、命令する場合、サービスを起動する仮想マシン（仮想マシン２０２１３など）は、負荷バランシング仮想マシン２０２１２の受信されたＭＡＣアドレスを、負荷バランシングサービスが起動されるときに用いられる宛先ＭＡＣアドレスとして用いる。コンピュータデバイス２０１が、負荷バランシング仮想マシン２０２１２のＭＡＣアドレスを、サービスを起動する仮想マシン（仮想マシン２０２１３など）に構成するとき、負荷バランシング仮想マシン２０２１２の構成されるＭＡＣアドレスは、サービスを起動する仮想マシン（仮想マシン２０２１３など）が負荷バランシングサービスを送信する場合に用いられる宛先ＭＡＣアドレスである。
【０２２９】
段階９０６において、負荷バランシング仮想マシン２０２１２が、仮想マシン２０２１３によって送信されたサービスを受信し、仮想マシン２０２１３により起動されたサービスを処理するように、バックエンドサーバを選択する段階は、以下の実装方式の段階を含んでよい。サービスパケットを受信した後に、負荷バランシング仮想マシン２０２１２はまず、サービスパケットにサービスするようにバックエンドサーバがサービスパケットに割り当てられているかを判断し、バックエンドサーバが割り当てられている場合、サービスパケットを、割り当てられているバックエンドサーバへ送信する段階である。バックエンドサーバがまだ割り当てられていない場合、サービスパケットにサービスするように、負荷バランシングアルゴリズムを用いることによってバックエンドサーバを選択する段階である。負荷バランシングアルゴリズムは、ラウンドロビン、重み付きラウンドロビン、ランダムアルゴリズム、リーストコネクション、ソースアドレスハッシュ、または位置に基づく重み付きラウンドロビンを含むが、これらに限定されるものではない。位置に基づく重み付きラウンドロビン方式では、サービスパケットを起動する仮想マシンが位置するコンピュータデバイスのバックエンドサーバは、優先的に選択されてよく、すなわち、コンピュータデバイス２０２の仮想マシン２０２１４は、仮想マシン２０２１３のサービスを処理するバックエンドサーバとして用いられる。このように、バックエンドサーバによるサービスパケットの処理速度を増加でき、ネットワーク帯域幅を節約できる。もちろん、段階９０６において、代替的に、負荷バランシング仮想マシン２０２１２は、負荷バランシングアルゴリズムを用いることによって、仮想マシン２０２１３のサービス要求を処理してよく、そして、サービス要求をコンピュータデバイス２０３の仮想マシン２０３１４へ送信する。仮想マシン２０３１４は、仮想マシン２０２１３のサービスを処理するバックエンドサーバとして用いられ、仮想マシン２０２１３により起動されたサービスを処理する。
【０２３０】
図９における段階９０６の破線は、ある選択的なものを示していることに注意すべきであり、すなわち、負荷バランシング仮想マシン２０２１２は、仮想マシン２０２１３により起動されたサービスを、コンピュータデバイス２０２のバックエンドサーバ、つまり、仮想マシン２０２１４に転送してよく、または、サービスを、コンピュータデバイス２０３のバックエンドサーバ、つまり、仮想マシン２０３１４に転送してよい。
【０２３１】
段階９０８において、バックエンドサーバは、以下の２つの方式で、処理されたサービス要求を仮想マシン２０２１３に返してよい。
【０２３２】
方式１：仮想マシン２０２１３のサービス要求を処理するバックエンドサーバは、負荷バランシング仮想マシン２０２１２を用いることによって、処理結果を仮想マシン２０２１３に返す方式である。
【０２３３】
方式２：仮想マシン２０２１３のサービス要求を処理するバックエンドサーバは、負荷バランシング仮想マシン２０２１２を用いることなく、仮想マシン２０２１３の処理結果を直接返す方式である。
【０２３４】
方式１において、仮想マシン２０２１３のサービス要求を、仮想マシン２０２１３のサービス要求を処理するバックエンドサーバに転送する場合、負荷バランシング仮想マシン２０２１２は、サービス要求の（ＩＰアドレス、ＭＡＣアドレス、および同様のものを含む）ソースアドレスを、負荷バランシング仮想マシン２０２１２のアドレスとして書き込み、宛先アドレスを、仮想マシン２０２１３のサービス要求を処理するバックエンドサーバのアドレスとして書き込む。このように、仮想マシン２０２１３のサービス要求を処理するバックエンドサーバは、サービス要求が受信された場合に保持されているソースアドレスに従って、サービス要求の処理結果を、負荷バランシング仮想マシン２０２１２に返し、そして、負荷バランシング仮想マシン２０２１２は、受信されて処理されたサービス要求を仮想マシン２０２１３に返す。
【０２３５】
方式２において、仮想マシン２０２１３のサービス要求を、仮想マシン２０２１３のサービス要求を処理するバックエンドサーバに転送する場合、負荷バランシング仮想マシン２０２１２は、（ＩＰアドレス、ＭＡＣアドレス、および同様のものを含む）ソースアドレスを、仮想マシン２０２１３のアドレスとして書き込み、宛先アドレスを、仮想マシン２０２１３のサービス要求を処理するバックエンドサーバのアドレスとして書き込む。このように、仮想マシン２０２１３のサービス要求を処理するバックエンドサーバは、サービス要求が受信される場合に保持されているソースアドレスに従って、サービス要求の処理結果を、仮想マシン２０２１３に返す。
【０２３６】
図９における段階９０８の破線は、ある選択的なものを示していることに注意すべきであり、すなわち、負荷バランシング仮想マシン２０２１２が、仮想マシン２０２１３により起動されたサービスを、コンピュータデバイス２０２のバックエンドサーバ、つまり、段階９０６における仮想マシン２０２１４に転送する場合、仮想マシン２０２１４は、処理されたサービス要求を仮想マシン２０２１３に返す。負荷バランシング仮想マシン２０２１２が、仮想マシン２０２１３により起動されたサービスを、コンピュータデバイス２０３のバックエンドサーバ、つまり、段階９０６における仮想マシン２０３１４に転送する場合、仮想マシン２０３１４は、処理されたサービス要求を仮想マシン２０２１３に返す。
【０２３７】
本発明のこの実施形態において、コンピュータデバイス２０２およびコンピュータデバイス２０３は、サービスコンピュータデバイスとも称される。コンピュータデバイス２０２またはコンピュータデバイス２０３上で、もしくはその両方で作動する仮想マシン、例えば、仮想マシン２０２１３は、サービスを起動する仮想マシンとも称され、当該仮想マシンにより起動されるサービスは、負荷バランシングサービスを含む。
【０２３８】
段階９００から段階９０８の実装プロセスは、クラウド管理プラットフォームとして用いられるコンピュータデバイス２０１が、負荷バランシング仮想マシン２０２１２をコンピュータデバイス２０２上で生成するという例を用いることによって説明される。コンピュータデバイス２０１が負荷バランシング仮想マシン２０３１２をコンピュータデバイス２０３上で生成する処理は、先述の処理と同様であることが、理解され得る。詳細は、再び説明されない。
【０２３９】
このように、コンピュータデバイス２０１は別々に負荷バランシング仮想マシンをコンピュータデバイス２０２およびコンピュータデバイス２０３上で生成することができる。各サービスコンピュータデバイス（コンピュータデバイス２０２およびコンピュータデバイス２０３など）のサービス仮想マシン（仮想マシン２０２１３または仮想マシン２０３１３など）により起動された負荷バランシングサービスのサービスパケットは、ローカル負荷バランシング仮想マシンに指向的に転送される。すなわち、サービスコンピュータデバイス２０２のサービス仮想マシン２０２１３により起動された負荷バランシングサービスは、コンピュータデバイス２０２のローカル負荷バランシング仮想マシン（すなわち、負荷バランシング仮想マシン２０２１２）のみに転送され、これにより、負荷バランシングサービスを実行する。サービスコンピュータデバイス２０３のサービス仮想マシン２０３１３により起動された負荷バランシングサービスは、コンピュータデバイス２０３のローカル負荷バランシング仮想マシン（すなわち、負荷バランシング仮想マシン２０３１２）のみに転送され、これにより、負荷バランシングサービスを実行する。
【０２４０】
従って、サービスコンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のＩＰアドレスは、サービスコンピュータデバイス２０３の負荷バランシング仮想マシン２０３１２のＩＰアドレスと同じであってよい。同様に、サービスコンピュータデバイス２０２の負荷バランシング仮想マシン２０２１２のＭＡＣアドレスは、サービスコンピュータデバイス２０３の負荷バランシング仮想マシン２０３１２のＭＡＣアドレスと同じであってよい。このように、コンピュータデバイスを含むネットワークにおけるＩＰアドレスリソースおよび／またはＭＡＣアドレスリソースを節約できる。
【０２４１】
当業者は、本明細書において開示されている実施形態に関連して説明されている例におけるユニットおよび段階は電子ハードウェア、コンピュータソフトウェア、またはこれらの組み合わせにより実装されてよいことを認識し得る。ハードウェアとソフトウェアとの間の互換性を明確に説明するために、先述では、機能に従って各例の構成および段階について一般的に説明している。機能が、ハードウェアまたはソフトウェアのいずれによって実行されるかは、技術的解決手段の特定の用途および設計上の制約条件に依存する。当業者は、それぞれの特定の用途に対して、異なる方法を用いて、説明されている機能を実装してよいが、その実装方式は、本発明の範囲を越えるものとみなされるべきではない。
【０２４２】
説明の簡便性および簡潔性の目的のために、先述のシステム、装置、およびユニットの詳細な動作処理は、先述の方法の実施形態における対応する処理を指すことが、当業者により明確に理解され得て、その詳細について、ここでは再び説明されない。
【０２４３】
この出願において提供される実施形態において、開示されているシステム、装置、および方法は、他の方式で実装され得ることが理解されるべきである。例えば、説明されている装置の実施形態は単に例である。例えば、ユニットの区分は、論理機能の区分に過ぎず、実際の実装の間においては他の区分であってよい。例えば、複数のユニット、または構成要素は、別のシステムと組み合わされても、またはそれに統合されてもよく、または、いくつかの特徴が、無視されてよく、または実行されなくてよい。加えて、表示されている、または述べられている相互連結、または直接連結、もしくは通信接続は、いくつかのインターフェース、装置またはユニットの間における間接連結または通信接続、または、電気的接続、機械的接続、もしくは他の形態の接続を用いることによって実装されてよい。
【０２４４】
別個の部分として説明されているユニットは、物理的に別個のものであってよく、またはそうでなくてもよく、ユニットとして表示されている部分は、物理的なユニットであってよく、またはそうでなくてもよく、１つの場所に位置してよく、または複数のネットワークユニット上に分散されてよい。ユニットの一部、またはその全ては、本発明の実施形態の解決手段の目的を達成するために実際の必要性に応じて選択されてよい。
【０２４５】
さらに、本発明の実施形態における機能的なユニットは、１つの処理ユニットに統合されてよく、または、ユニットのそれぞれは、物理的に単独で存在してよく、または、２つまたはそれより多くのユニットは、１つのユニットに統合される。統合されたユニットは、ハードウェアの形態に実装されてよく、または、ソフトウェア機能ユニットの形態に実装されてよい。
【０２４６】
統合されたユニットが、ソフトウェア機能ユニットの形態に実装され、独立した製品として、販売されるまたは用いられる場合、当該統合されたユニットは、コンピュータ可読ストレージ媒体に記憶されてよい。そのような理解に基づいて、本発明の技術的解決手段は本質的に、または従来技術に寄与する部分、または技術的解決手段の全てもしくは一部は、ソフトウェア製品の形態に実装されてよい。ソフトウェア製品は、ストレージ媒体に記憶され、本発明の実施形態において説明されている方法の段階の全てまたは一部を実行するように、（パーソナルコンピュータ、サーバ、またはネットワークデバイスであってよい）コンピュータデバイスに命令するための命令を含む。先述のストレージ媒体は、ＵＳＢフラッシュドライブ、取り外し可能ハードディスク、リードオンリメモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク、または光ディスクなど、プログラムコードを記憶できるあらゆる媒体を含む。
【０２４７】
先述の説明は、本発明の具体的な実施形態に過ぎず、本発明の保護範囲を限定することを意図するものではない。当業者により、本発明において開示されている技術的範囲内に容易に想到する任意の変更または置換は、本発明の保護範囲内に含まれるものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。
（項目１）
少なくとも２つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法であって、各コンピュータデバイスは、中央処理装置およびメモリを有し、上記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、上記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、上記第２のコンピュータデバイス上で作動し、上記サービスは、負荷バランシングサービスであり、
上記第１のコンピュータデバイスが、上記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、上記負荷バランサの上記構成情報は、上記負荷バランサの識別子と、上記負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、上記負荷バランサの上記ＶＩＰは、上記負荷バランシングサービスを示す、段階と、
上記第１のコンピュータデバイスが、上記構成情報に従って、上記第２のコンピュータデバイス上で上記負荷バランサを生成する段階と、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成する段階であって、上記転送モードにおいて、上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンにより起動された上記負荷バランシングサービスのサービスパケットが、上記負荷バランサに指向的に転送される、段階と、
上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンが、上記転送モードに従って、上記サービスパケットを上記負荷バランサへ送信する段階と、
上記サービスパケットを受信した後に、上記第２のコンピュータデバイスの上記負荷バランサが、上記サービスを実行するように、少なくとも１つのバックエンドサーバを選択する段階であって、上記バックエンドサーバは、上記負荷バランシングサービスを実行するために用いられる、段階と
を備える負荷バランシング方法。
（項目２）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成する上記段階は、
上記第１のコンピュータデバイスが、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信するように、上記第２のコンピュータデバイス上に配備された仮想スイッチを構成する段階を含み、
上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンが、上記転送モードに従って、上記サービスパケットを上記負荷バランサへ送信する上記段階は、
上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを送信し、かつ、上記仮想スイッチが、上記サービスパケットの上記宛先アドレスに従って、上記サービスパケットを上記負荷バランサへ送信する段階とを含む、項目１に記載の方法。
（項目３）
上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを上記負荷バランサへ送信する上記段階の前に、上記方法は、
上記サービスを起動する上記仮想マシンが、制御パケットを上記仮想スイッチへ送信する段階であって、上記制御パケットは、上記ＶＩＰを保持する、段階と、
上記仮想スイッチが、上記制御パケットの応答メッセージを、上記サービスを起動する上記仮想マシンへ送信する段階であって、上記応答メッセージは、上記負荷バランサの上記ＭＡＣアドレスを保持する、段階とをさらに備える、項目２に記載の方法。
（項目４）
上記制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである、項目３に記載の方法。
（項目５）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成する上記段階は、
上記第１のコンピュータデバイスが、上記負荷バランサに、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信するように、命令する段階、または、
上記第１のコンピュータデバイスが、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンに構成する段階を含み、
それに対応して、上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンが、上記転送モードに従って、上記サービスパケットを上記負荷バランサへ送信する上記段階は、
上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを送信し、かつ、上記第２のコンピュータデバイス上に配備された仮想スイッチが、上記サービスパケットの上記宛先アドレスに従って、上記サービスパケットを上記負荷バランサへ送信する段階とを含む、項目１に記載の方法。
（項目６）
上記第１のコンピュータデバイスが、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成する上記段階は、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスを起動する上記第１の仮想マシンを、上記第２のコンピュータデバイス上で生成した後に、上記負荷バランサを生成する段階を含む、項目１から５のいずれか一項に記載の方法。
（項目７）
上記方法は、上記負荷バランシングサービスを起動する、上記第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、第１のコンピュータデバイスが、上記生成された負荷バランサを削除する段階をさらに備える、項目１から６のいずれか一項に記載の方法。
（項目８）
上記方法は、
上記選択されたバックエンドサーバが、上記サービスの実行結果を、上記サービスを起動する上記仮想マシンに直接返す段階、または、
上記選択されたバックエンドサーバが、上記サービスの実行結果を、上記負荷バランサに返し、かつ、上記負荷バランサが、上記実行結果を、上記サービスを起動する上記仮想マシンに返す段階をさらに備える、項目１から７のいずれか一項に記載の方法。
（項目９）
少なくとも３つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法であって、各コンピュータデバイスは、中央処理装置およびメモリを有し、上記少なくとも３つのコンピュータデバイスは、第１のコンピュータデバイスを含み、上記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、上記少なくとも３つのコンピュータデバイスにおける、上記第１のコンピュータデバイス以外のコンピュータデバイスは、サービスコンピュータデバイスとして用いられ、サービスを起動する仮想マシンが、各サービスコンピュータデバイス上で作動し、上記サービスは、負荷バランシングサービスであり、
上記第１のコンピュータデバイスが、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、上記負荷バランサの上記構成情報は、上記負荷バランサの識別子と、上記負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、上記負荷バランサの上記ＶＩＰは、上記負荷バランシングサービスを示す、段階と、
上記第１のコンピュータデバイスが、各サービスコンピュータデバイス上で生成されるべき上記負荷バランサの上記構成情報に従って、各サービスコンピュータデバイスの上記ローカル負荷バランサを各サービスコンピュータデバイス上で生成する段階と、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを各サービスコンピュータデバイスに構成する段階であって、上記転送モードにおいて、上記サービスを起動する、各サービスコンピュータデバイスの上記仮想マシンにより起動された上記負荷バランシングサービスのサービスパケットが、上記ローカル負荷バランサに指向的に転送され、これにより、各サービスコンピュータデバイスの上記ローカル負荷バランサは、上記サービスを起動する、上記サービスコンピュータデバイスの上記仮想マシンにより起動された上記サービスパケットに対して負荷バランシング処理を実行する、段階と
を備える負荷バランシング方法。
（項目１０）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを各サービスコンピュータデバイスに構成する上記段階は、
上記第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、上記ローカル負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記ローカル仮想マシンへ送信する、段階を含む、項目９に記載の方法。
（項目１１）
上記第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成する上記段階であって、これにより、上記ローカル負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記ローカル仮想マシンへ送信する、上記段階の後に、
上記サービスを起動する、各サービスコンピュータデバイスの上記仮想マシンが、制御パケットを上記ローカル仮想スイッチへ送信する段階であって、上記制御パケットは、上記ＶＩＰを保持する、段階と、
各サービスコンピュータデバイスの上記ローカル仮想スイッチが、上記制御パケットの応答メッセージを、上記サービスを起動する上記ローカル仮想マシンへ送信する段階であって、上記応答メッセージは、上記ローカル負荷バランサの上記ＭＡＣアドレスを保持する、段階とをさらに備える、項目１０に記載の方法。
（項目１２）
上記第１のコンピュータデバイスが、上記構成情報に従って、各サービスコンピュータデバイス上で上記負荷バランサを生成する上記段階の前に、
上記第１のコンピュータデバイスが、上記サービスを起動する上記第１の仮想マシンが第１のサービスコンピュータデバイス上で生成されたことを知り、かつ、各サービスコンピュータデバイスの上記ローカル負荷バランサが各サービスコンピュータデバイス上で生成されるまで、上記第１のサービスコンピュータデバイス上で上記第１のサービスコンピュータデバイスの負荷バランサを生成する段階をさらに備える、項目９から１１のいずれか一項に記載の方法。
（項目１３）
上記負荷バランサは、負荷バランシング仮想マシン、負荷バランシングコンテナ、または負荷バランシングネームスペースを含む、項目９から１２のいずれか一項に記載の方法。
（項目１４）
少なくとも２つのコンピュータデバイスを備えるコンピュータシステムに適用される負荷バランシング方法であって、各コンピュータデバイスは、中央処理装置およびメモリを有し、上記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、上記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、上記第２のコンピュータデバイス上で作動し、上記サービスは、負荷バランシングサービスであり、
上記第１のコンピュータデバイスが、上記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得する段階であって、上記負荷バランサの上記構成情報は、上記負荷バランサの識別子と、上記負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、上記負荷バランサの上記ＶＩＰは、上記負荷バランシングサービスを示す、段階と、
上記第１のコンピュータデバイスが、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成する段階と、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成する段階であって、上記転送モードにおいて、上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンにより起動された上記負荷バランシングサービスのサービスパケットが、上記負荷バランサに指向的に転送され、これにより、上記サービスパケットを受信した後に、上記負荷バランサは、上記サービスを実行するバックエンドサーバを選択する、段階と
を備える負荷バランシング方法。
（項目１５）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを、上記第２のコンピュータデバイスに構成する上記段階は、
上記第１のコンピュータデバイスが、上記第２のコンピュータデバイス上に配備された仮想スイッチを構成する段階であって、これにより、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信し、これにより、上記サービスを起動する上記仮想マシンは、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを送信する、段階を含む、項目１４に記載の方法。
（項目１６）
上記第１のコンピュータデバイスが、上記第２のコンピュータデバイス上に配備された仮想スイッチを構成する上記段階であって、これにより、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信する、上記段階の後に、
上記サービスを起動する上記仮想マシンが、制御パケットを上記仮想スイッチへ送信する段階であって、上記制御パケットは、上記ＶＩＰを保持する、段階と、
上記仮想スイッチが、上記制御パケットの応答メッセージを、上記サービスを起動する上記仮想マシンへ送信する段階であって、上記応答メッセージは、上記負荷バランサの上記ＭＡＣアドレスを保持する、段階をさらに備える、項目１５に記載の方法。
（項目１７）
上記第１のコンピュータデバイスが、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成する上記段階は、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスを起動する上記第１の仮想マシンを、上記第２のコンピュータデバイス上で生成した後に、上記負荷バランサを生成する段階を含む、項目１４から１６のいずれか一項に記載の方法。
（項目１８）
上記方法は、上記第１のコンピュータデバイスが、上記負荷バランシングサービスを起動する、上記第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、上記生成された負荷バランサを削除する段階をさらに備える、項目１４から１７のいずれか一項に記載の方法。
（項目１９）
少なくとも２つのコンピュータデバイスを備える負荷バランシングコンピュータシステムであって、各コンピュータデバイスは、中央処理装置およびメモリを有し、上記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、上記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、上記第２のコンピュータデバイス上で作動し、上記サービスは、負荷バランシングサービスであり、
上記第１のコンピュータデバイスは、上記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、上記負荷バランサの上記構成情報は、上記負荷バランサの識別子と、上記負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、上記負荷バランサの上記ＶＩＰは、上記負荷バランシングサービスを示し、
上記第１のコンピュータデバイスは、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成し、
上記第１のコンピュータデバイスは、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成し、上記転送モードにおいて、上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンにより起動された上記負荷バランシングサービスのサービスパケットが、上記負荷バランサに指向的に転送され、
上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンは、上記転送モードに従って、上記サービスパケットを上記負荷バランサへ送信し、
上記サービスパケットを受信した後に、上記第２のコンピュータデバイスの上記負荷バランサは、上記サービスを実行するように、少なくとも１つのバックエンドサーバを選択し、上記バックエンドサーバは、上記負荷バランシングサービスを実行するために用いられる、
負荷バランシングコンピュータシステム。
（項目２０）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成することは、
上記第１のコンピュータデバイスが、上記第２のコンピュータデバイス上に配備された仮想スイッチを構成し、これにより、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信することを含み、
上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンが、上記転送モードに従って、上記サービスパケットを上記負荷バランサへ送信することは、
上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを送信し、上記仮想スイッチが、上記サービスパケットの上記宛先アドレスに従って、上記サービスパケットを上記負荷バランサへ送信することを含む、項目１９に記載のコンピュータシステム。
（項目２１）
上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが上記宛先アドレスとして用いられる上記サービスパケットを送信する前に、
上記サービスを起動する上記仮想マシンは、制御パケットを上記仮想スイッチへ送信し、上記制御パケットは、上記ＶＩＰを保持し、
上記仮想スイッチは、上記制御パケットの応答メッセージを、上記サービスを起動する上記仮想マシンへ送信し、上記応答メッセージは、上記負荷バランサの上記ＭＡＣアドレスを保持する、項目２０に記載のコンピュータシステム。
（項目２２）
上記制御パケットは、アドレス解決プロトコルＡＲＰパケット、またはインターネット制御メッセージプロトコルＩＣＭＰパケットである、項目２１に記載のコンピュータシステム。
（項目２３）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成することは、
上記第１のコンピュータデバイスが、上記負荷バランサに、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信するように、命令すること、または、
上記第１のコンピュータデバイスが、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンに構成することを含み、
それに対応して、上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンが、上記転送モードに従って、上記サービスパケットを上記負荷バランサへ送信することは、
上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを送信し、上記第２のコンピュータデバイス上に配備された仮想スイッチが、上記サービスパケットの上記宛先アドレスに従って、上記サービスパケットを上記負荷バランサへ送信することを含む、項目１９に記載のコンピュータシステム。
（項目２４）
上記第１のコンピュータデバイスが、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成することは、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスを起動する上記第１の仮想マシンを上記第２のコンピュータデバイス上で生成した後に、上記負荷バランサを生成することを含む、項目１９から２３のいずれか一項に記載のコンピュータシステム。
（項目２５）
上記第１のコンピュータデバイスは、上記負荷バランシングサービスを起動する、上記第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、上記生成された負荷バランサを削除する、項目１９から２４のいずれか一項に記載のコンピュータシステム。
（項目２６）
上記選択されたバックエンドサーバは、上記サービスの実行結果を、上記サービスを起動する上記仮想マシンに直接返す、または、
上記選択されたバックエンドサーバは、上記サービスの実行結果を、上記負荷バランサに返し、上記負荷バランサは、上記実行結果を、上記サービスを起動する上記仮想マシンに返す、項目１９から２５のいずれか一項に記載のコンピュータシステム。
（項目２７）
負荷バランシングコンピュータシステムであって、上記コンピュータシステムは、少なくとも３つのコンピュータデバイスを備え、各コンピュータデバイスは、中央処理装置およびメモリを有し、上記少なくとも３つのコンピュータデバイスは、第１のコンピュータデバイスを含み、上記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、上記少なくとも３つのコンピュータデバイスにおける、上記第１のコンピュータデバイス以外のコンピュータデバイスは、サービスコンピュータデバイスとして用いられ、サービスを起動する仮想マシンが、各サービスコンピュータデバイス上で作動し、上記サービスは、負荷バランシングサービスであり、
上記第１のコンピュータデバイスは、各サービスコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、上記負荷バランサの上記構成情報は、上記負荷バランサの識別子と、上記負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、上記負荷バランサの上記ＶＩＰは、上記負荷バランシングサービスを示し、
上記第１のコンピュータデバイスは、各サービスコンピュータデバイス上で生成されるべき上記負荷バランサの上記構成情報に従って、各サービスコンピュータデバイスの上記ローカル負荷バランサを、各サービスコンピュータデバイス上で生成し、
上記第１のコンピュータデバイスは、上記負荷バランシングサービスの転送モードを各サービスコンピュータデバイスに構成し、上記転送モードにおいて、上記サービスを起動する、各サービスコンピュータデバイスの上記仮想マシンにより起動された上記負荷バランシングサービスのサービスパケットが、上記ローカル負荷バランサに指向的に転送され、これにより、各サービスコンピュータデバイスの上記ローカル負荷バランサは、上記サービスを起動する、上記サービスコンピュータデバイスの上記仮想マシンにより起動された上記サービスパケットに対して負荷バランシング処理を実行する、
負荷バランシングコンピュータシステム。
（項目２８）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを、各サービスコンピュータデバイスに構成することは、
上記第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された仮想スイッチを構成し、これにより、上記ローカル負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記ローカル仮想マシンへ送信することを含む、項目２７に記載のコンピュータシステム。
（項目２９）
上記第１のコンピュータデバイスが、各サービスコンピュータデバイス上に配備された上記仮想スイッチを構成し、上記ローカル負荷バランサの上記ＭＡＣアドレスを、上記サービスを起動する上記ローカル仮想マシンへ送信した後に、
上記サービスを起動する、各サービスコンピュータデバイスの上記仮想マシンは、制御パケットを上記ローカル仮想スイッチへ送信し、上記制御パケットは、上記ＶＩＰを保持し、
各サービスコンピュータデバイスの上記ローカル仮想スイッチは、上記制御パケットの応答メッセージを、上記サービスを起動する上記ローカル仮想マシンへ送信し、上記応答メッセージは、上記ローカル負荷バランサの上記ＭＡＣアドレスを保持する、項目２８に記載のコンピュータシステム。
（項目３０）
上記第１のコンピュータデバイスが、上記構成情報に従って、上記負荷バランサを各サービスコンピュータデバイス上で生成する前に、
上記第１のコンピュータデバイスは、上記サービスを起動する上記第１の仮想マシンが、第１のサービスコンピュータデバイス上で生成されたことを知り、各サービスコンピュータデバイスの上記ローカル負荷バランサが各サービスコンピュータデバイス上で生成されるまで、上記第１のサービスコンピュータデバイスの負荷バランサを、上記第１のサービスコンピュータデバイス上で生成する、項目２７から２９のいずれか一項に記載のコンピュータシステム。
（項目３１）
上記負荷バランサは、負荷バランシング仮想マシン、負荷バランシングコンテナ、または負荷バランシングネームスペースを含む、項目２７から３０のいずれか一項に記載のコンピュータシステム。
（項目３２）
負荷バランシングコンピュータシステムであって上記コンピュータシステムは、少なくとも２つのコンピュータデバイスを備え、各コンピュータデバイスは、中央処理装置およびメモリを有し、上記少なくとも２つのコンピュータデバイスは、第１のコンピュータデバイスおよび第２のコンピュータデバイスを含み、上記第１のコンピュータデバイスは、クラウド管理プラットフォームとして用いられ、サービスを起動する仮想マシンが、上記第２のコンピュータデバイス上で作動し、上記サービスは、負荷バランシングサービスであり、
上記第１のコンピュータデバイスは、上記第２のコンピュータデバイス上で生成されるべき負荷バランサの構成情報を取得し、上記負荷バランサの上記構成情報は、上記負荷バランサの識別子と、上記負荷バランサの仮想ＩＰアドレスＶＩＰとを含み、上記負荷バランサの上記ＶＩＰは、上記負荷バランシングサービスを示し、
上記第１のコンピュータデバイスは、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成し、
上記第１のコンピュータデバイスは、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成し、上記転送モードにおいて、上記サービスを起動する、上記第２のコンピュータデバイスの上記仮想マシンにより起動された上記負荷バランシングサービスのサービスパケットが、上記負荷バランサに指向的に転送され、これにより、上記サービスパケットを受信した後に、上記負荷バランサは、上記サービスを実行するバックエンドサーバを選択する、
負荷バランシングコンピュータシステム。
（項目３３）
上記第１のコンピュータデバイスが、上記負荷バランシングサービスの転送モードを上記第２のコンピュータデバイスに構成することは、
上記第１のコンピュータデバイスは、上記第２のコンピュータデバイス上に配備された仮想スイッチを構成し、これにより、上記負荷バランサのＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信し、これにより、上記サービスを起動する上記仮想マシンが、上記負荷バランサの上記ＭＡＣアドレスが宛先アドレスとして用いられる上記サービスパケットを送信することを含む、項目３２に記載のコンピュータシステム。
（項目３４）
上記第１のコンピュータデバイスが、上記第２のコンピュータデバイス上に配備された上記仮想スイッチを構成し、上記負荷バランサの上記ＭＡＣアドレスを、上記サービスを起動する上記仮想マシンへ送信した後に、
上記サービスを起動する上記仮想マシンは、制御パケットを上記仮想スイッチへ送信し、上記制御パケットは、上記ＶＩＰを保持し、
上記仮想スイッチは、上記制御パケットの応答メッセージを、上記サービスを起動する上記仮想マシンへ送信し、上記応答メッセージは、上記負荷バランサの上記ＭＡＣアドレスを保持する、項目３２に記載のコンピュータシステム。
（項目３５）
上記第１のコンピュータデバイスが、上記構成情報に従って、上記負荷バランサを上記第２のコンピュータデバイス上で生成することは、
上記第１のコンピュータデバイスが、上記負荷バランシングサービスを起動する上記第１の仮想マシンを上記第２のコンピュータデバイス上で生成した後に、上記負荷バランサを生成することを含む、項目３２から３４のいずれか一項に記載のコンピュータシステム。
（項目３６）
上記第１のコンピュータデバイスは、上記負荷バランシングサービスを起動する、上記第２のコンピュータデバイス上で生成された最後の仮想マシンが削除された後に、上記生成された負荷バランサを削除する、項目３２から３５のいずれか一項に記載のコンピュータシステム。
【図１】
0006544872.tif 000002
【図２Ａ】
0006544872.tif 000003
【図２Ｂ】
0006544872.tif 000004
【図３】
0006544872.tif 000005
【図４】
0006544872.tif 000006
【図５】
0006544872.tif 000007
【図６】
0006544872.tif 000008
【図７Ａ】
0006544872.tif 000009
【図７Ｂ】
0006544872.tif 000010
【図８】
0006544872.tif 000011
【図９】
0006544872.tif 000012