(57)【要約】【課題】既存のクラウドネットワークの拡張性の限界を改善するためのクラウドネットワークシステムを提供すること。【解決手段】本発明の実施形態に係るクラウドネットワークシステムは、クラウドネットワークの外部との連結のためのルータ、複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザ、および前記複数のスコープそれぞれに割り当てられてスコープ内部で送受信されるパケットをスイッチングし、スコープ間で送受信されるパケットまたはスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケットをルーティングするスコープコントローラを含み、データリンク階層（Ｌａｙｅｒ  ２）の通信領域を、スコープを利用して隔離することにより、拡張性を増加させることができる。【選択図】図５
2019075785.tif 000002
【特許請求の範囲】
【請求項１】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置であって、
コンピュータで読み取り可能な命令を格納するメモリ、および
前記命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザのうちで第１スコープに分類されたハイパーバイザによって生成された仮想マシン間で送受信されるパケット、または前記第１スコープの外部から受信されたパケットを、前記スコープコントローラが含む仮想スイッチを利用してスイッチングし、
前記スコープコントローラと前記クラウドネットワークの外部との連結のためのルータ間で送受信されるパケット、または前記スコープコントローラとは異なるスコープに割り当てられた他のスコープコントローラ間で送受信されるパケットを、前記スコープコントローラが含む仮想ルータを利用してルーティングすること
を特徴とする、コンピュータ装置。
【請求項２】
前記少なくとも１つのプロセッサは、
前記仮想マシン間のデータリンク階層の通信または前記仮想マシンによって形成される前記第１スコープの内部テナント（ｔｅｎａｎｔ）間のデータリンク階層の通信を、前記仮想スイッチを利用したＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）によって処理すること
を特徴とする、請求項１に記載のコンピュータ装置。
【請求項３】
前記少なくとも１つのプロセッサは、
前記スコープコントローラと前記他のスコープコントローラ間のネットワーク階層の通信を、前記スコープコントローラが含む仮想ルータと前記他のスコープコントローラが含む仮想ルータ間のＶｘＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  ＬＡＮ）によって処理すること
を特徴とする、請求項１に記載のコンピュータ装置。
【請求項４】
前記複数のスコープそれぞれの内部では、データリンク階層の通信が他のデータリンク階層と隔離されて処理されることを特徴とする、請求項１に記載のコンピュータ装置。
【請求項５】
クラウドネットワークの外部との連結のためのルータ、
複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザ、および
前記複数のスコープそれぞれに割り当てられてスコープ内部で送受信されるパケットをスイッチングし、スコープ間で送受信されるパケットまたはスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケットをルーティングするスコープコントローラ
を含むことを特徴とする、クラウドネットワークシステム。
【請求項６】
前記スコープコントローラそれぞれは、
対応するスコープに分類されたハイパーバイザによって生成された仮想マシン間で送受信されるパケットに対するデータリンク階層の通信、または前記対応するスコープの外部から受信されたパケットを前記仮想マシンのうちの少なくとも１つに伝達するためのデータリンク階層の通信をスイッチングする仮想スイッチ、および
前記対応するスコープとは異なるスコープ間のネットワーク階層の通信または前記対応するスコープと前記クラウドネットワーク外部との連結のためのルータ間のネットワーク階層の通信をルーティングする仮想ルータ
を含むことを特徴とする、請求項５に記載のクラウドネットワークシステム。
【請求項７】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置の動作方法であって、
複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザのうちで第１スコープに分類されたハイパーバイザによって生成された仮想マシンのうちの１つから第１パケットを受信するか、または前記第１スコープの外部から第２パケットを受信する段階、
前記第１パケットが受信された場合、前記受信した第１パケットのエンドポイントのスコープに基づき、前記第１スコープ内部または前記第１スコープ外部に前記受信した第１パケットを伝達する段階、および
前記第２パケットが受信された場合、前記第１スコープ内部で前記第２パケットを伝達する段階
を含むことを特徴とする、コンピュータ装置の動作方法。
【請求項８】
前記受信された第１パケットを伝達する段階は、
前記受信された第１パケットのエンドポイントのスコープを、前記スコープコントローラが含むエンドポイントデータベースで確認する段階、
前記受信された第１パケットのエンドポイントが前記第１スコープである場合、前記スコープコントローラが含む仮想スイッチを利用し、前記受信された第１パケットを前記エンドポイントに対応する前記第１スコープの仮想マシンにスイッチングする段階、および
前記受信された第１パケットのエンドポイントが他のスコープであるか、または前記クラウドネットワークの外部である場合、前記スコープコントローラが含む仮想ルータを利用し、前記受信された第１パケットを前記他のスコープまたは前記クラウドネットワークの外部との連結のためのルータによってルーティングする段階
を含むことを特徴とする、請求項７に記載のコンピュータ装置の動作方法。
【請求項９】
前記第２パケットを伝達する段階は、
前記受信された第２パケットを、前記スコープコントローラが含む仮想スイッチを利用して前記仮想マシンのうちの１つにスイッチングする段階
を含むことを特徴とする、請求項７に記載のコンピュータ装置の動作方法。
【請求項１０】
前記第１パケットは、データリンク階層でのパケットを含み、
前記第２パケットは、ネットワーク階層でのパケットを含むことを特徴とする、請求項７に記載のコンピュータ装置の動作方法。
【請求項１１】
前記複数のスコープそれぞれの内部では、データリンク階層の通信が他のデータリンク階層と隔離されて処理されることを特徴とする、請求項１０に記載のコンピュータ装置の動作方法。
【請求項１２】
コンピュータと結合して請求項７〜１１のうちのいずれか一項に記載の動作方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項１３】
請求項７〜１１項のうちのいずれか一項に記載の動作方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、クラウドネットワーク構成に関し、より詳細には、拡張性の限界を改善するためのクラウドネットワークシステム、前記クラウドネットワークシステムに含まれるスコープコントローラ、前記スコープコントローラの動作方法、そしてコンピュータと結合して前記動作方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムとその記録媒体に関する。
【背景技術】
【０００２】
クラウドネットワークとは、クラウドコンピューティングのインフラ内に存在するかクラウドコンピューティングのインフラの一部であるコンピュータネットワークであって、クラウド基盤またはクラウドサポート応用プログラム、サービス、およびソリューション間にネットワークの相互連結機能を提供するコンピュータネットワークである。特許文献１は、公開クラウドとオンプレミスネットワークの連結技法に関する技術あって、ＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）タグを備え、顧客のための指定された仮想ネットワーク内のテナント（ｔｅｎａｎｔ）を識別するパケットを受信してエンカプセレートする技術について開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】韓国公開特許第１０−２０１４−００９９４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
既存のクラウドネットワークの拡張性の限界を改善するためのクラウドネットワークシステム、前記クラウドネットワークシステムに含まれるスコープコントローラ、前記スコープコントローラの動作方法、そしてコンピュータと結合して前記動作方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムとその記録媒体を提供する。
【課題を解決するための手段】
【０００５】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置であって、コンピュータで読み取り可能な命令を格納するメモリ、および前記命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザのうちで第１スコープに分類されたハイパーバイザによって生成された仮想マシン間で送受信されるパケットまたは前記第１スコープの外部から受信されたパケットを、前記スコープコントローラが含む仮想スイッチを利用してスイッチングし、前記スコープコントローラと前記クラウドネットワークの外部との連結のためのルータ間で送受信されるパケットまたは前記スコープコントローラとは異なるスコープに割り当てられた他のスコープコントローラ間で送受信されるパケットを、前記スコープコントローラが含む仮想ルータを利用してルーティングすることを特徴とする、コンピュータ装置を提供する。
【０００６】
一側によると、前記少なくとも１つのプロセッサは、前記仮想マシン間のデータリンク階層の通信または前記仮想マシンによって形成される前記第１スコープの内部テナント（ｔｅｎａｎｔ）間のデータリンク階層の通信を、前記仮想スイッチを利用したＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）によって処理することを特徴としてよい。
【０００７】
他の側面によると、前記少なくとも１つのプロセッサは、前記スコープコントローラと前記他のスコープコントローラ間のネットワーク階層の通信を、前記スコープコントローラが含む仮想ルータと前記他のスコープコントローラが含む仮想ルータ間のＶｘＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  ＬＡＮ）によって処理することを特徴としてよい。
【０００８】
また他の側面によると、前記複数のスコープそれぞれの内部では、データリンク階層の通信が他のデータリンク階層と隔離されて処理されることを特徴としてよい。
【０００９】
クラウドネットワークシステムであって、クラウドネットワークの外部との連結のためのルータ、複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザ、および前記複数のスコープそれぞれに割り当てられてスコープ内部で送受信されるパケットをスイッチングしてスコープ間で送受信されるパケットまたはスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケットをルーティングするスコープコントローラを含むことを特徴とする、クラウドネットワークシステムを提供する。
【００１０】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置の動作方法であって、複数のスコープ（ｓｃｏｐｅ）に分類されたハイパーバイザのうちで第１スコープに分類されたハイパーバイザによって生成された仮想マシンのうちの１つから第１パケットを受信するか、または前記第１スコープの外部から第２パケットを受信する段階、前記第１パケットが受信された場合、前記受信された第１パケットのエンドポイントのスコープに基づいて前記第１スコープ内部または前記第１スコープ外部に前記受信された第１パケットを伝達する段階、および前記第２パケットが受信された場合、前記第１スコープ内部に前記第２パケットを伝達する段階を含むことを特徴とする、コンピュータ装置の動作方法を提供する。
【００１１】
コンピュータと結合して前記コンピュータ装置の動作方法をコンピュータに実行させるためのコンピュータプログラムを提供する。
【００１２】
前記コンピュータ装置の動作方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【００１３】
クラウドネットワークにおいて、データリンク階層（Ｌａｙｅｒ  ２）の通信領域を、スコープを利用して他のデータリンク階層の通信領域と隔離することによって拡張性を増加させることができる。また、スコープ間の通信がネットワーク階層（Ｌａｙｅｒ  ３）の通信領域によってなされることにより、スコープ単位の装備が局所的に低下していたとしても動作できるようにすることができる。
【００１４】
ハイパーバイザが仮想スイッチや仮想ルータを含まなくてもよいため、ハイパーバイザの性能を向上させることができ、スコープコントローラによって、スコープ単位でスコープ間の通信や外部トラフィックが処理されるにより、特定の装備に発生した障害が全体の障害にまで拡張しないようにすることができる。
【図面の簡単な説明】
【００１５】
【図１】ＣＶＲ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図２】ＣＶＲ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図３】ＤＶＲ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図４】ＤＶＲ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図５】本発明の一実施形態における、ＳＶＲ（Ｓｃｏｐｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図６】本発明の一実施形態における、ＳＶＲ（Ｓｃｏｐｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図７】本発明の一実施形態における、ＳＶＲ（Ｓｃｏｐｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）クラウドネットワーク環境の例を示した図である。
【図８】本発明の一実施形態における、スコープコントローラの動作方法の例を示したフローチャートである。
【図９】本発明の一実施形態における、第１パケットの処理過程の例を示したフローチャートである。
【図１０】本発明の一実施形態における、コンピュータ装置の内部構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１６】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１７】
図１および図２は、ＣＶＲ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）構成のクラウドネットワーク環境の例を示した図である。
【００１８】
図１は、ルータ１１０、ネットワークノード１２０、および複数のハイパーバイザ（Ｈｙｐｅｒ  ｖｉｓｏｒｓ）１３０を示している。また、図２は、図１に示すルータ１１０およびネットワークノード１２０、および複数のハイパーバイザ１３０のうちの１つのハイパーバイザ２１０の内部構成を示している。このようなＣＶＲ構成では、ネットワークノード１２０が仮想ルータ１２１を含み、ハイパーバイザ２１０は、仮想スイッチ２１１と複数のＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅｓ）２１２を含む。このとき、複数のハイパーバイザ１３０それぞれは、ハイパーバイザ２１０と同一または類似の構成を含んでよい。
【００１９】
ハイパーバイザ２１０が含む複数のＶＭ２１２は、ハイパーバイザ２１０が含む仮想スイッチ２１１によって互いに通信を実行する。また、ハイパーバイザ２１０の内部テナント（ｔｅｎａｎｔ）間の通信は、ハイパーバイザ２１０の仮想スイッチ２１１が内部で伝達する。一方、外部に出るトラフィックに対する通信は、ネットワークノード１２０が含む仮想ルータ１２１を利用して実行される。
【００２０】
このようなＣＶＲ構成は、単に集中化された方式であり、トラフィックの管理が円滑であるという長所がある。しかし、このようなＣＶＲ構成では、ネットワークノード１２０によって外部とのトラフィックに対する通信がなされるため、ネットワークノード１２０に障害が発生した場合には、全面障害までもが発生する恐れがある。言い換えれば、障害ポイントが集中してしまう恐れがある。さらに、新たなハイパーバイザが増加するほどネットワークノード１２０の負荷が増加するため、分散処理が困難になり、これによって拡張性に限界が生じるという問題がある。
【００２１】
図３および図４は、ＤＶＲ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）構成のクラウドネットワーク環境の例を示した図である。
【００２２】
図３は、ルータ３１０、ネットワークノード３２０、および複数のハイパーバイザ３３０を示している。また、図４は、図３に示されたルータ３１０、ネットワークノード３２０、および複数のハイパーバイザ３３０のうちの１つのハイパーバイザ４１０の内部構成を示している。このようなＤＶＲ構成でも、ネットワークノード１２０が仮想ルータ１２１を含む。一方、ハイパーバイザ４１０は、仮想スイッチ４１１、仮想ルータ４１２、および複数のＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅｓ）４１３を含む。このとき、複数のハイパーバイザ３３０それぞれは、ハイパーバイザ４１０と同一または類似の構成を含んでよい。
【００２３】
ハイパーバイザ４１０が含む複数のＶＭ４１３は、ハイパーバイザ４１０が含む仮想スイッチ４１１によって互いに通信を実行する。また、ＤＶＲ構成でも、ＣＶＲ構成と同じように、ハイパーバイザ４１０の内部テナント（ｔｅｎａｎｔ）間の通信は、ハイパーバイザ４１０の仮想スイッチ４１１が内部で伝達する。ところが、ＤＶＲ構成において、複数のハイパーバイザ３３０のうちの少なくとも一部のハイパーバイザには、外部との通信のためのＩＰアドレスが割り当てられ、ＩＰアドレスが割り当てられたハイパーバイザから外部に出るトラフィックに対する通信は、ネットワークノード３２０が含む仮想ルータ３２１ではなく、ハイパーバイザ４１０が含む仮想ルータ４１２を利用して実行される。このとき、複数のハイパーバイザ３３０のうち、外部との通信のためのＩＰアドレスが割り当てられていないハイパーバイザの場合には、ネットワークノード３２０の仮想ルータ３２１を利用することで、外部に出るトラフィックに対する通信を実行することが可能となる。
【００２４】
このようなＤＶＲ構成は、ネットワークノード３１０に障害が発生した場合でも、ＩＰアドレスが割り当てられたハイパーバイザが自身に含まれる仮想ルータ（一例として、ハイパーバイザ４１０の仮想ルータ４１２）を利用して外部との通信を実行するため、ＩＰアドレスが割り当てられていない一部の装備だけに問題が発生するようになる。さらに、ＤＶＲ構成は、分散したルータ形態を有するため、障害の克服が容易であるという長所がある。しかし、ＤＶＲ構成は、ルータがネットワーク全体に広がった形態を有するため、データリンク階層（Ｌａｙｅｒ  ２；Ｌ２）の通信効率が低いという問題がある。さらに、ＶＭの数が増えるほど性能低下が酷く発生するため、拡張性に限界があるという問題も抱えている。
【００２５】
図５〜図７は、本発明の一実施形態における、ＳＶＲ（Ｓｃｏｐｅｄ  Ｖｉｒｔｕａｌ  Ｒｏｕｔｅｒ）構成のクラウドネットワーク環境の例を示した図である。
【００２６】
図５は、ルータ５１０と複数のスコープコントローラ（Ｓｃｏｐｅ  Ｃｏｎｔｒｏｌｌｅｒｓ）５２１、５２２、５２３、および複数のハイパーバイザ５３１、５３２、５３３を示している。このとき、本発明の実施形態に係るクラウドネットワークシステムでは、複数のハイパーバイザ５３１、５３２、５３３が複数のスコープに分類され、複数のスコープそれぞれには１つのスコープコントローラが割り当てられる。例えば、図５において、第１点線ボックス５４１は、第１スコープコントローラ５２１と５つのハイパーバイザ５３１が第１スコープを形成することを、第２点線ボックス５４２は、第２スコープコントローラ５２２と５つのハイパーバイザ５３２が第２スコープを形成することを、第３点線ボックス５４３は、第３スコープコントローラ５２３と５つのハイパーバイザ５３３が第３スコープを形成することをそれぞれ示している。複数のスコープコントローラ５２１、５２２、５２３それぞれは、自身に割り当てられたスコープのハイパーバイザの通信を制御することができ、このために仮想スイッチと仮想ルータを含む。このとき、スコープ内部の通信はＬ２通信を利用し、スコープ外部の通信はネットワーク階層（Ｌａｙｅｒ  ３：Ｌ３）の通信を利用する。図５では、３つのスコープと３つのスコープそれぞれに５つのハイパーバイザが分類された例について説明しているが、スコープの数やスコープに含まれるハイパーバイザの数が制限されることはない。Ｌ２通信がスコープ内部の通信として隔離されたため、拡張が容易となる。
【００２７】
図６は、ルータ５１０、第１スコープコントローラ５２１、および同じスコープのハイパーバイザ６２０を示している。このとき、第１スコープコントローラ５２１は、仮想スイッチ６１１と仮想ルータ６１２を含む。ハイパーバイザ６２０で生成されたＶＭ６２１間の通信は、ハイパーバイザ６２０をそのまま通過してＬ２通信によって処理され、ハイパーバイザ６２０内部のテナント間の通信（アカウント間の通信とも言える）は、該当となるスコープ内のＬ２スイッチ（上述した仮想スイッチ６１１）がＶＬＡＮ（Ｖｉｒｔｕａｌ  ＬＡＮ）を利用して処理する。言い換えれば、第１スコープコントローラ５２１は、スコープ内部の仮想マシン間で送受信されるパケットに対するＬ２通信および前記第１スコープコントローラ５２１がスコープ外部から受信したパケットを仮想マシンのうちの少なくとも１つに伝達するためのＬ２通信を、仮想スイッチ６１１を利用してスイッチングすることができる。一方、スコープ外部に存在する同一のテナント間の通信は、ＶｘＬＡＮ（Ｖｉｒｔｕａｌ  Ｅｘｔｅｎｓｉｂｌｅ  ＬＡＮ）によって処理することができ、外部に出るトラフィックは、スコープコントローラ５２１が含む仮想ルータ６１２によって処理されるようになる。また、他のスコープへの通信も、仮想ルータ６１２によって処理されるようになる。言い換えれば、第１スコープコントローラ５２１は、第１スコープコントローラ５２１とは異なるスコープコントローラ間で送受信されるパケットに対するＬ３通信および第１スコープコントローラ５２１とクラウドネットワークの外部への連結のためのルータ５１０間で送受信されるパケットに対するＬ３通信を、仮想ルータ６１２によってルーティングすることが可能となる。
【００２８】
ハイパーバイザ６２０には、ＣＶＲ構造のハイパーバイザ（一例として、図２を参照しながら説明したハイパーバイザ２１０）のように仮想スイッチが含まれる必要がなく、さらにＤＶＲ構造のハイパーバイザ（一例として、図４を参照しながら説明したハイパーバイザ４１０）のように仮想スイッチと仮想ルータが含まれる必要がないため、ハイパーバイザそれぞれの性能を向上させることができる。
【００２９】
また、１つのスコープコントローラに障害が発生したとしても、該当のスコープの装備に影響が出るだけで、全体の装備には障害が発生せず、スコープ内部の通信に対してはＶＬＡＮを利用するだけで、スコープ外部に存在する同一のテナント間の通信はＶｘＬＡＮによって処理されるため、スコープ単位の装備が互いに地域的に離れていても動作が可能であるという長所がある。
【００３０】
図７は、スコープコントローラ７１０の内部構成を説明するための実施形態であって、スコープルータ７１１、ファイアウォール（Ｆｉｒｅｗａｌｌ）７１２、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒ）７１３、仮想スイッチ７１４、トンネリングモジュール７１５、およびエンドポイントデータベース７１６を含む例を示している。
【００３１】
スコープルータ７１１は、上述した仮想ルータ６１２に対応し、外部トラフィックに対する通信を、図５および図６を参照しながら説明したルータ５１０との通信によって処理することができる。また、スコープルータ７１１は、スコープ外部に存在する同一のテナントとの通信をＶｘＬＡＮによって処理するように動作することもできる。動的ＩＰアドレスは、ハイパーテキスト全体に散らばっているため、ネットワークの観点から見ると、エンドポイントが多くて全体的にブロードキャストが多くなる。したがって、スコープごとにスコープルータが存在するようになる。図７のスコープルータ７１１は、ルーティングテーブルとしての動的ＩＰテーブルを利用してＶＭの動的ＩＰアドレスを管理する。この場合、動的ＩＰアドレスのためのＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）エントリーを最小に維持することが可能となる。
【００３２】
ファイアウォール７１２は、スコープ外部からスコープ内部、またはスコープ内部からスコープ外部の通信網への不法アクセスを遮断するためのシステムであり、このようなファイアウォール７１２の活用は、通常の技術者であれば、周知の技術によって容易に理解することができるであろう。
【００３３】
ＮＡＴ７１３は、外部ＩＰアドレスを内部ＩＰアドレスに、または内部ＩＰアドレスを外部ＩＰアドレスに変換するためのシステムであり、このようなＮＡＴ７１３の活用は、通常の技術者であれば、周知の技術によって容易に理解することができるであろう。
【００３４】
仮想スイッチ７１４は、パケットをＬ２スイッチに伝達する。上述したように、内部テナント間の通信は、スコープ内のＬ２スイッチがＶＬＡＮを利用して処理する。また、外部から取り込まれたパケットの外部ＩＰアドレスがＮＡＴ７１３によって内部ＩＰアドレスに変換される場合、内部ＩＰアドレスに変換されたパケットもＬ２スイッチに伝達され、Ｌ２スイッチによってパケットが目的としているＶＭに伝達される。
【００３５】
トンネリングモジュール７１５は、Ｌ２通信のためのパケットを、Ｌ３通信を利用して他のスコープや外部に伝達するためにパケットをトンネリングするために活用される。トンネリングは、１つのネットワークで他のネットワークの接続を経てデータを送信するためにネットワークで運送されるパケット内にネットワークプロトコルをカプセル化するための技術であって、このようなトンネリングモジュール７１５の活用も、通常の技術者であれば、周知の技術によって容易に理解することができるであろう。
【００３６】
エンドポイントデータベース７１６は、パケットが目的とするＶＭが、どのスコープに存在するかに関する情報を格納および管理する。例えば、仮想スイッチ７１４は、受信したパケットをどのスコープに伝達しなければならないかに関する情報を、エンドポイントデータベース７１６に格納された情報を利用して決定してよい。
【００３７】
図８は、本発明の一実施形態における、スコープコントローラの動作方法の例を示したフローチャートである。本実施形態に係るスコープコントローラは、コンピュータ装置によって構成されてよく、本実施形態に係るスコープコントローラの動作方法は、実質的にコンピュータ装置によって実行されてよい。
【００３８】
段階８１０で、コンピュータ装置は、複数のスコープに分類されたハイパーバイザのうちで第１スコープに分類されたハイパーバイザによって生成された仮想マシンのうちの１つから第１パケットを受信するか、または前記第１スコープの外部から第２パケットを受信する。第１パケットは、第１スコープ内部でスコープコントローラによって伝達されたデータリンク階層のパケットであってよく、第２パケットは、第１スコープの外部からスコープコントローラによって伝達されたネットワーク階層のパケットであってよい。
【００３９】
段階８２０で、コンピュータ装置は、受信したパケットが第１パケットであるか第２パケットであるかにより、第１パケットの場合には段階８３０を、第２パケットの場合には段階８４０を実行する。
【００４０】
段階８３０で、コンピュータ装置は、受信した第１パケットのエンドポイントのスコープに基づき、第１スコープ内部または第１スコープ外部に受信した第１パケットを伝達する。このような第１パケットの伝達については、図９を参照しながらさらに詳しく説明する。
【００４１】
段階８４０で、コンピュータ装置は、第１スコープ内部に第２パケットを伝達する。この場合、コンピュータ装置は、受信した第２パケットを、スコープコントローラが含む仮想スイッチを利用して第１スコープの仮想マシンのうちの１つにスイッチングする。このようなスイッチングによる第２パケットの伝達は、Ｌ２通信（一例として、ＶＬＡＮ）によってなされる。
【００４２】
図９は、本発明の一実施形態における、第１パケットの処理過程の例を示したフローチャートである。図９の段階９１０〜９４０は、図８の段階８３０に含まれて実行されてよい。
【００４３】
段階９１０で、コンピュータ装置は、受信した第１パケットのエンドポイントのスコープを、スコープコントローラが含むエンドポイントデータベースで確認する。ここで、エンドポイントデータベースは、図７を参照しながら説明したエンドポイントデータベース７１６に対応してよい。
【００４４】
段階９２０で、コンピュータ装置は、第１パケットのエンドポイントが第１スコープであるか確認し、第１スコープの場合には段階９３０を、第１スコープではない他のスコープであるか、またはクラウドネットワークの外部の場合には段階９４０を実行する。
【００４５】
段階９３０で、コンピュータ装置は、スコープコントローラが含む仮想スイッチを利用し、受信した第１パケットをエンドポイントに対応する第１スコープの仮想マシンにスイッチングする。第１パケットのエンドポイントが第１スコープである場合とは、第１スコープの内部通信（第１スコープの仮想マシン間の通信または第１スコープの内部テナント間の通信）を意味する。したがって、コンピュータ装置は、仮想スイッチを利用したＬ２通信（一例として、ＶＬＡＮを利用した通信）により、第１パケットを目的とする仮想マシンに伝達することができる。
【００４６】
段階９４０で、コンピュータ装置は、スコープコントローラが含む仮想ルータを利用し、受信した第１パケットを他のスコープまたはクラウドネットワークの外部との連結のためのルータによってルーティングする。第１パケットのエンドポイントが他のスコープに含まれた仮想マシン（またはテナント）やクラウドネットワークの外部であるということは、第１パケットが第１スコープの外部に伝達されることを意味する。このとき、コンピュータ装置は、第１パケットを該当するスコープに割り当てられたスコープコントローラに伝達されるようにルーティングするか、またはクラウドネットワークの外部に第１パケットを伝達するためにルータ（一例として、図５および図６を参照しながら説明したルータ５１０）によって第１パケットをルーティングしてよい。
【００４７】
図１０は、本発明の一実施形態における、コンピュータ装置の内部構成を説明するためのブロック図である。コンピュータ装置１０００は、メモリ１０１０、プロセッサ１０２０、通信インタフェース１０３０、および入力／出力インタフェース１０４０を含んでよい。メモリ１０１０は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。ここで、ＲＯＭやディスクドライブのような永久大容量記憶装置は、メモリ１０１０とは区分される別の永久格納装置としてコンピュータ装置１０００に含まれてもよい。また、メモリ１０１０には、オペレーティングシステムと、少なくとも１つのプログラムコードが格納されてよい。このようなソフトウェア構成要素は、メモリ１０１０とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信インタフェース１０３０を通じてメモリ１０１０にロードされてよい。例えば、ソフトウェア構成要素は、ネットワーク１０６０を介して受信されるファイルによってインストールされるコンピュータプログラムを基盤としてコンピュータ装置１０００のメモリ１０１０にロードされてよい。
【００４８】
プロセッサ１０２０は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ１０１０または通信インタフェース１０３０によって、プロセッサ１０２０に提供されてよい。例えば、プロセッサ１０２０は、メモリ１０１０のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００４９】
通信インタフェース１０３０は、ネットワーク１０６０を介してコンピュータ装置１０００が他の装置（一例として、上述した格納装置）と互いに通信するための機能を提供してよい。一例として、コンピュータ装置１０００のプロセッサ１０２０がメモリ１０１０のような記録装置に格納されたプログラムコードによって生成した要請や命令、データ、ファイルなどが、通信インタフェース１０３０の制御にしたがってネットワーク１０６０を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク１０６０を介してコンピュータ装置１０００の通信インタフェース１０３０によってコンピュータ装置１０００に受信されてよい。通信インタフェース１０３０によって受信された信号や命令、データなどは、プロセッサ１０２０やメモリ１０１０に伝達されてよく、ファイルなどは、コンピュータ装置１０００がさらに含むことのできる格納媒体（上述した永久格納装置）に格納されてよい。
【００５０】
入力／出力インタフェース１０４０は、入力／出力装置１０５０とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を含んでよく、出力装置は、ディスプレイやスピーカのような装置を含んでよい。他の例として、入力／出力インタフェース１０４０は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置１０５０は、コンピュータ装置１０００と１つの装置で構成されてもよい。
【００５１】
また、他の実施形態において、コンピュータ装置１０００は、図１０の構成要素よりも多くの構成要素を含んでもよい。例えば、コンピュータ装置１０００は、上述した入力／出力装置１０５０のうちの少なくとも一部を含むように実現されてもよいし、トランシーバやデータベースなどのような他の構成要素をさらに含んでもよい。
【００５２】
このように、本発明の実施形態によると、クラウドネットワークにおいて、Ｌ２通信領域を、スコープを利用して隔離することによって拡張性を増加させることができ、スコープ間の通信がＬ３通信領域によってなされることにより、スコープ単位の装備が局所的に低下していたとしても動作できるようにすることができる。また、ハイパーバイザが仮想スイッチや仮想ルータを含む必要がなくなるため、ハイパーバイザの性能を向上させることができ、スコープコントローラによって、スコープ単位でスコープ間の通信や外部トラフィックが処理されることにより、特定の装備に発生した障害が全体障害にまで拡張しないようにすることができる。
【００５３】
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００５４】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、所望の動作を行うように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置によって解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
【００５５】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。媒体は、コンピュータによって実行可能なプログラムを継続して格納するものであってもよいし、実行またはダウンロードのために臨時格納するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令語が格納されるように構成されたものであってよい。また、他の媒体の例として、アプリケーションを流通させるアプリストアやその他の多様なソフトウェアを供給したり流通したりするサイト、サーバなどで管理する記録媒体や格納媒体が挙げられてもよい。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【００５６】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００５７】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００５８】
５１０：ルータ
５２１、５２２、５２３：スコープコントローラ
５３１、５３２、５３３：ハイパーバイザ
【図１】
2019075785.tif 000003
【図２】
2019075785.tif 000004
【図３】
2019075785.tif 000005
【図４】
2019075785.tif 000006
【図５】
2019075785.tif 000007
【図６】
2019075785.tif 000008
【図７】
2019075785.tif 000009
【図８】
2019075785.tif 000010
【図９】
2019075785.tif 000011
【図１０】
2019075785.tif 000012