(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】コンピュータ装置及びその動作方法、コンピュータプログラム、記録媒体並びにクラウドネットワークシステム
(51)【国際特許分類】
H04L 41/40 20220101AFI20231108BHJP
【FI】
H04L41/40
(21)【出願番号】P 2018193422
(22)【出願日】2018-10-12
【審査請求日】2021-09-28
(31)【優先権主張番号】10-2017-0133034
(32)【優先日】2017-10-13
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】522257469
【氏名又は名称】エヌエイチエヌ クラウド コーポレーション
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】パク ソンウ
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2016-100739(JP,A)
【文献】特表2015-530818(JP,A)
【文献】特開2013-110656(JP,A)
【文献】特開2015-076643(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/40
(57)【特許請求の範囲】
【請求項1】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置であって、
コンピュータで読み取り可能な命令を格納するメモリ、および
前記命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
複数のハイパーバイザを複数のスコープ(scope)に分類するとともに当該複数のスコープのそれぞれに1つのスコープコントローラを割り当て、
前記複数のスコー
プに分類されたハイパーバイザのうちで第1スコープに分類されたハイパーバイザによって生成された仮想マシン間で送受信されるパケット、または前記第1スコープの内部テナント(tenant)間で送受信されるパケットに対するデータリンク階層の通信を、前記
第1スコープに割り当てられたスコープコントローラが含む仮想スイッチを利用したVLAN(Virtual LAN)によって処理し、
前記スコープコントローラと前記クラウドネットワークの外部との連結のためのルータ間で送受信されるパケット、または前記スコープコントローラとは異なるスコープに割り当てられた他のスコープコントローラ間で送受信されるパケットに対するネットワーク階層の通信を、前記スコープコントローラが含む仮想ルータ間のVxLAN(Virtual Extensible LAN)によって処理
し、
前記スコープコントローラが含む仮想スイッチおよび前記スコープコントローラが含む仮想ルータは、ハイパーバイザの外部にあることを特徴とする、コンピュータ装置。
【請求項2】
前記複数のスコープそれぞれの内部では、データリンク階層の通信が他のデータリンク階層と隔離されて処理されることを特徴とする、請求項1に記載のコンピュータ装置。
【請求項3】
クラウドネットワークの外部との連結のためのルータ、
複数のスコープ(scope)に分類された
複数のハイパーバイザ、および
前記複数のスコープそれぞれに
1つずつ割り当てられ
、スコープ内部で送受信されるパケットをスイッチングし、スコープ間で送受信されるパケットまたはスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケットをルーティングするスコープコントローラを含み、
前記スコープコントローラそれぞれは、
対応するスコープに分類されたハイパーバイザによって生成された仮想マシン間で送受信されるパケット、または前記対応するスコープの内部テナント(tenant)間で送受信されるパケットに対するデータリンク階層の通信をVLAN(Virtual LAN)によって処理する仮想スイッチ、および
前記対応するスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケット、または前記対応するスコープとは異なるスコープ間で送受信されるパケットに対するネットワーク階層の通信をVxLAN(Virtual Extensible LAN)によって処理する仮想ルータを含み、
前記仮想スイッチ及び前記仮想ルータがハイパーバイザの外部にあることを特徴とする、クラウドネットワークシステム。
【請求項4】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置の動作方法であって、
前記コンピュータ装置は、複数のスコープ(scope)に分類された複数のハイパーバイザ、および前記複数のスコープそれぞれに1つ割り当てられ、スコープ内部で送受信されるパケットをスイッチングし、スコープ間で送受信されるパケットまたはスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケットをルーティングする前記スコープコントローラを含み、
前記スコープコントローラが、
複数のスコープ(scope)に分類されたハイパーバイザのうちで第1スコープに分類されたハイパーバイザによって生成された仮想マシンのうちの1つから第1パケットを受信するか、または前記第1スコープの外部から第2パケットを受信する段階、
前記第1パケットが受信された場合、前記受信した第1パケットのエンドポイントのスコープに基づき、前記第1スコープ内部または前記第1スコープ外部に前記受信した第1パケットを伝達する段階、および
前記第2パケットが受信された場合、前記第1スコープ内部で前記第2パケットを伝達する段階を含み、
前記受信された第1パケットを伝達する段階は、
前記受信された第1パケットのエンドポイントが前記第1スコープである場合、データリンク階層の通信を前記スコープコントローラが含む仮想スイッチを利用したVLAN(Virtual LAN)によって処理し、前記受信された第1パケットを前記エンドポイントに対応する前記第1スコープの仮想マシンにスイッチングする段階、および
前記受信された第1パケットのエンドポイントが他のスコープであるか、または前記クラウドネットワークの外部である場合、ネットワーク階層の通信を前記スコープコントローラが含む仮想ルータを利用したVxLAN(Virtual Extensible LAN)によって処理し、前記受信された第1パケットを前記他のスコープまたは前記クラウドネットワークの外部との連結のためのルータによってルーティングする段階を含み、
前記仮想スイッチ及び前記仮想ルータがハイパーバイザの外部にあることを特徴とする、コンピュータ装置の動作方法。
【請求項5】
前記受信された第1パケットを伝達する段階は、
前記受信された第1パケットのエンドポイントのスコープを、前記スコープコントローラが含むエンドポイントデータベースで確認する段階を含むことを特徴とする、請求項4に記載のコンピュータ装置の動作方法。
【請求項6】
前記第2パケットを伝達する段階は、
前記受信された第2パケットを、前記スコープコントローラが含む仮想スイッチを利用して前記仮想マシンのうちの1つにスイッチングする段階を含むことを特徴とする、請求項4に記載のコンピュータ装置の動作方法。
【請求項7】
前記第1パケットは、データリンク階層でのパケットを含み、
前記第2パケットは、ネットワーク階層でのパケットを含むことを特徴とする、請求項4に記載のコンピュータ装置の動作方法。
【請求項8】
前記複数のスコープそれぞれの内部では、データリンク階層の通信が他のデータリンク階層と隔離されて処理されることを特徴とする、請求項7に記載のコンピュータ装置の動作方法。
【請求項9】
コンピュータと結合して請求項4~8のうちのいずれか一項に記載の動作方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項10】
請求項4~
8のうちのいずれか一項に記載の動作方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、クラウドネットワーク構成に関し、より詳細には、拡張性の限界を改善するためのクラウドネットワークシステム、前記クラウドネットワークシステムに含まれるスコープコントローラ、前記スコープコントローラの動作方法、そしてコンピュータと結合して前記動作方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムとその記録媒体に関する。
【背景技術】
【0002】
クラウドネットワークとは、クラウドコンピューティングのインフラ内に存在するかクラウドコンピューティングのインフラの一部であるコンピュータネットワークであって、クラウド基盤またはクラウドサポート応用プログラム、サービス、およびソリューション間にネットワークの相互連結機能を提供するコンピュータネットワークである。特許文献1は、公開クラウドとオンプレミスネットワークの連結技法に関する技術あって、VLAN(Virtual LAN)タグを備え、顧客のための指定された仮想ネットワーク内のテナント(tenant)を識別するパケットを受信してエンカプセレートする技術について開示している。
【先行技術文献】
【特許文献】
【0003】
【文献】韓国公開特許第10-2014-0099464号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
既存のクラウドネットワークの拡張性の限界を改善するためのクラウドネットワークシステム、前記クラウドネットワークシステムに含まれるスコープコントローラ、前記スコープコントローラの動作方法、そしてコンピュータと結合して前記動作方法をコンピュータに実行させるためにコンピュータで読み取り可能な記録媒体に格納されたコンピュータプログラムとその記録媒体を提供する。
【課題を解決するための手段】
【0005】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置であって、コンピュータで読み取り可能な命令を格納するメモリ、および前記命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、複数のスコープ(scope)に分類されたハイパーバイザのうちで第1スコープに分類されたハイパーバイザによって生成された仮想マシン間で送受信されるパケットまたは前記第1スコープの外部から受信されたパケットを、前記スコープコントローラが含む仮想スイッチを利用してスイッチングし、前記スコープコントローラと前記クラウドネットワークの外部との連結のためのルータ間で送受信されるパケットまたは前記スコープコントローラとは異なるスコープに割り当てられた他のスコープコントローラ間で送受信されるパケットを、前記スコープコントローラが含む仮想ルータを利用してルーティングすることを特徴とする、コンピュータ装置を提供する。
【0006】
一側によると、前記少なくとも1つのプロセッサは、前記仮想マシン間のデータリンク階層の通信または前記仮想マシンによって形成される前記第1スコープの内部テナント(tenant)間のデータリンク階層の通信を、前記仮想スイッチを利用したVLAN(Virtual LAN)によって処理することを特徴としてよい。
【0007】
他の側面によると、前記少なくとも1つのプロセッサは、前記スコープコントローラと前記他のスコープコントローラ間のネットワーク階層の通信を、前記スコープコントローラが含む仮想ルータと前記他のスコープコントローラが含む仮想ルータ間のVxLAN(Virtual Extensible LAN)によって処理することを特徴としてよい。
【0008】
また他の側面によると、前記複数のスコープそれぞれの内部では、データリンク階層の通信が他のデータリンク階層と隔離されて処理されることを特徴としてよい。
【0009】
クラウドネットワークシステムであって、クラウドネットワークの外部との連結のためのルータ、複数のスコープ(scope)に分類されたハイパーバイザ、および前記複数のスコープそれぞれに割り当てられてスコープ内部で送受信されるパケットをスイッチングしてスコープ間で送受信されるパケットまたはスコープと前記クラウドネットワーク外部との連結のためのルータ間で送受信されるパケットをルーティングするスコープコントローラを含むことを特徴とする、クラウドネットワークシステムを提供する。
【0010】
クラウドネットワークのためのスコープコントローラを構成するコンピュータ装置の動作方法であって、複数のスコープ(scope)に分類されたハイパーバイザのうちで第1スコープに分類されたハイパーバイザによって生成された仮想マシンのうちの1つから第1パケットを受信するか、または前記第1スコープの外部から第2パケットを受信する段階、前記第1パケットが受信された場合、前記受信された第1パケットのエンドポイントのスコープに基づいて前記第1スコープ内部または前記第1スコープ外部に前記受信された第1パケットを伝達する段階、および前記第2パケットが受信された場合、前記第1スコープ内部に前記第2パケットを伝達する段階を含むことを特徴とする、コンピュータ装置の動作方法を提供する。
【0011】
コンピュータと結合して前記コンピュータ装置の動作方法をコンピュータに実行させるためのコンピュータプログラムを提供する。
【0012】
前記コンピュータ装置の動作方法をコンピュータに実行させるためのプログラムが記録されていることを特徴とする、コンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【0013】
クラウドネットワークにおいて、データリンク階層(Layer 2)の通信領域を、スコープを利用して他のデータリンク階層の通信領域と隔離することによって拡張性を増加させることができる。また、スコープ間の通信がネットワーク階層(Layer 3)の通信領域によってなされることにより、スコープ単位の装備が局所的に低下していたとしても動作できるようにすることができる。
【0014】
ハイパーバイザが仮想スイッチや仮想ルータを含まなくてもよいため、ハイパーバイザの性能を向上させることができ、スコープコントローラによって、スコープ単位でスコープ間の通信や外部トラフィックが処理されるにより、特定の装備に発生した障害が全体の障害にまで拡張しないようにすることができる。
【図面の簡単な説明】
【0015】
【
図1】CVR(Centralized Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図2】CVR(Centralized Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図3】DVR(Distributed Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図4】DVR(Distributed Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図5】本発明の一実施形態における、SVR(Scoped Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図6】本発明の一実施形態における、SVR(Scoped Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図7】本発明の一実施形態における、SVR(Scoped Virtual Router)クラウドネットワーク環境の例を示した図である。
【
図8】本発明の一実施形態における、スコープコントローラの動作方法の例を示したフローチャートである。
【
図9】本発明の一実施形態における、第1パケットの処理過程の例を示したフローチャートである。
【
図10】本発明の一実施形態における、コンピュータ装置の内部構成を説明するためのブロック図である。
【発明を実施するための形態】
【0016】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0017】
図1および
図2は、CVR(Centralized Virtual Router)構成のクラウドネットワーク環境の例を示した図である。
【0018】
図1は、ルータ110、ネットワークノード120、および複数のハイパーバイザ(Hyper visors)130を示している。また、
図2は、
図1に示すルータ110およびネットワークノード120、および複数のハイパーバイザ130のうちの1つのハイパーバイザ210の内部構成を示している。このようなCVR構成では、ネットワークノード120が仮想ルータ121を含み、ハイパーバイザ210は、仮想スイッチ211と複数のVM(Virtual Machines)212を含む。このとき、複数のハイパーバイザ130それぞれは、ハイパーバイザ210と同一または類似の構成を含んでよい。
【0019】
ハイパーバイザ210が含む複数のVM212は、ハイパーバイザ210が含む仮想スイッチ211によって互いに通信を実行する。また、ハイパーバイザ210の内部テナント(tenant)間の通信は、ハイパーバイザ210の仮想スイッチ211が内部で伝達する。一方、外部に出るトラフィックに対する通信は、ネットワークノード120が含む仮想ルータ121を利用して実行される。
【0020】
このようなCVR構成は、単に集中化された方式であり、トラフィックの管理が円滑であるという長所がある。しかし、このようなCVR構成では、ネットワークノード120によって外部とのトラフィックに対する通信がなされるため、ネットワークノード120に障害が発生した場合には、全面障害までもが発生する恐れがある。言い換えれば、障害ポイントが集中してしまう恐れがある。さらに、新たなハイパーバイザが増加するほどネットワークノード120の負荷が増加するため、分散処理が困難になり、これによって拡張性に限界が生じるという問題がある。
【0021】
図3および
図4は、DVR(Distributed Virtual Router)構成のクラウドネットワーク環境の例を示した図である。
【0022】
図3は、ルータ310、ネットワークノード320、および複数のハイパーバイザ330を示している。また、
図4は、
図3に示されたルータ310、ネットワークノード320、および複数のハイパーバイザ330のうちの1つのハイパーバイザ410の内部構成を示している。このようなDVR構成でも、ネットワークノード120が仮想ルータ121を含む。一方、ハイパーバイザ410は、仮想スイッチ411、仮想ルータ412、および複数のVM(Virtual Machines)413を含む。このとき、複数のハイパーバイザ330それぞれは、ハイパーバイザ410と同一または類似の構成を含んでよい。
【0023】
ハイパーバイザ410が含む複数のVM413は、ハイパーバイザ410が含む仮想スイッチ411によって互いに通信を実行する。また、DVR構成でも、CVR構成と同じように、ハイパーバイザ410の内部テナント(tenant)間の通信は、ハイパーバイザ410の仮想スイッチ411が内部で伝達する。ところが、DVR構成において、複数のハイパーバイザ330のうちの少なくとも一部のハイパーバイザには、外部との通信のためのIPアドレスが割り当てられ、IPアドレスが割り当てられたハイパーバイザから外部に出るトラフィックに対する通信は、ネットワークノード320が含む仮想ルータ321ではなく、ハイパーバイザ410が含む仮想ルータ412を利用して実行される。このとき、複数のハイパーバイザ330のうち、外部との通信のためのIPアドレスが割り当てられていないハイパーバイザの場合には、ネットワークノード320の仮想ルータ321を利用することで、外部に出るトラフィックに対する通信を実行することが可能となる。
【0024】
このようなDVR構成は、ネットワークノード310に障害が発生した場合でも、IPアドレスが割り当てられたハイパーバイザが自身に含まれる仮想ルータ(一例として、ハイパーバイザ410の仮想ルータ412)を利用して外部との通信を実行するため、IPアドレスが割り当てられていない一部の装備だけに問題が発生するようになる。さらに、DVR構成は、分散したルータ形態を有するため、障害の克服が容易であるという長所がある。しかし、DVR構成は、ルータがネットワーク全体に広がった形態を有するため、データリンク階層(Layer 2;L2)の通信効率が低いという問題がある。さらに、VMの数が増えるほど性能低下が酷く発生するため、拡張性に限界があるという問題も抱えている。
【0025】
図5~
図7は、本発明の一実施形態における、SVR(Scoped Virtual Router)構成のクラウドネットワーク環境の例を示した図である。
【0026】
図5は、ルータ510と複数のスコープコントローラ(Scope Controllers)521、522、523、および複数のハイパーバイザ531、532、533を示している。このとき、本発明の実施形態に係るクラウドネットワークシステムでは、複数のハイパーバイザ531、532、533が複数のスコープに分類され、複数のスコープそれぞれには1つのスコープコントローラが割り当てられる。例えば、
図5において、第1点線ボックス541は、第1スコープコントローラ521と5つのハイパーバイザ531が第1スコープを形成することを、第2点線ボックス542は、第2スコープコントローラ522と5つのハイパーバイザ532が第2スコープを形成することを、第3点線ボックス543は、第3スコープコントローラ523と5つのハイパーバイザ533が第3スコープを形成することをそれぞれ示している。複数のスコープコントローラ521、522、523それぞれは、自身に割り当てられたスコープのハイパーバイザの通信を制御することができ、このために仮想スイッチと仮想ルータを含む。このとき、スコープ内部の通信はL2通信を利用し、スコープ外部の通信はネットワーク階層(Layer 3:L3)の通信を利用する。
図5では、3つのスコープと3つのスコープそれぞれに5つのハイパーバイザが分類された例について説明しているが、スコープの数やスコープに含まれるハイパーバイザの数が制限されることはない。L2通信がスコープ内部の通信として隔離されたため、拡張が容易となる。
【0027】
図6は、ルータ510、第1スコープコントローラ521、および同じスコープのハイパーバイザ620を示している。このとき、第1スコープコントローラ521は、仮想スイッチ611と仮想ルータ612を含む。ハイパーバイザ620で生成されたVM621間の通信は、ハイパーバイザ620をそのまま通過してL2通信によって処理され、ハイパーバイザ620内部のテナント間の通信(アカウント間の通信とも言える)は、該当となるスコープ内のL2スイッチ(上述した仮想スイッチ611)がVLAN(Virtual LAN)を利用して処理する。言い換えれば、第1スコープコントローラ521は、スコープ内部の仮想マシン間で送受信されるパケットに対するL2通信および前記第1スコープコントローラ521がスコープ外部から受信したパケットを仮想マシンのうちの少なくとも1つに伝達するためのL2通信を、仮想スイッチ611を利用してスイッチングすることができる。一方、スコープ外部に存在する同一のテナント間の通信は、VxLAN(Virtual Extensible LAN)によって処理することができ、外部に出るトラフィックは、スコープコントローラ521が含む仮想ルータ612によって処理されるようになる。また、他のスコープへの通信も、仮想ルータ612によって処理されるようになる。言い換えれば、第1スコープコントローラ521は、第1スコープコントローラ521とは異なるスコープコントローラ間で送受信されるパケットに対するL3通信および第1スコープコントローラ521とクラウドネットワークの外部への連結のためのルータ510間で送受信されるパケットに対するL3通信を、仮想ルータ612によってルーティングすることが可能となる。
【0028】
ハイパーバイザ620には、CVR構造のハイパーバイザ(一例として、
図2を参照しながら説明したハイパーバイザ210)のように仮想スイッチが含まれる必要がなく、さらにDVR構造のハイパーバイザ(一例として、
図4を参照しながら説明したハイパーバイザ410)のように仮想スイッチと仮想ルータが含まれる必要がないため、ハイパーバイザそれぞれの性能を向上させることができる。
【0029】
また、1つのスコープコントローラに障害が発生したとしても、該当のスコープの装備に影響が出るだけで、全体の装備には障害が発生せず、スコープ内部の通信に対してはVLANを利用するだけで、スコープ外部に存在する同一のテナント間の通信はVxLANによって処理されるため、スコープ単位の装備が互いに地域的に離れていても動作が可能であるという長所がある。
【0030】
図7は、スコープコントローラ710の内部構成を説明するための実施形態であって、スコープルータ711、ファイアウォール(Firewall)712、NAT(Network Address Translator)713、仮想スイッチ714、トンネリングモジュール715、およびエンドポイントデータベース716を含む例を示している。
【0031】
スコープルータ711は、上述した仮想ルータ612に対応し、外部トラフィックに対する通信を、
図5および
図6を参照しながら説明したルータ510との通信によって処理することができる。また、スコープルータ711は、スコープ外部に存在する同一のテナントとの通信をVxLANによって処理するように動作することもできる。動的IPアドレスは、ハイパーテキスト全体に散らばっているため、ネットワークの観点から見ると、エンドポイントが多くて全体的にブロードキャストが多くなる。したがって、スコープごとにスコープルータが存在するようになる。
図7のスコープルータ711は、ルーティングテーブルとしての動的IPテーブルを利用してVMの動的IPアドレスを管理する。この場合、動的IPアドレスのためのARP(Address Resolution Protocol)エントリーを最小に維持することが可能となる。
【0032】
ファイアウォール712は、スコープ外部からスコープ内部、またはスコープ内部からスコープ外部の通信網への不法アクセスを遮断するためのシステムであり、このようなファイアウォール712の活用は、通常の技術者であれば、周知の技術によって容易に理解することができるであろう。
【0033】
NAT713は、外部IPアドレスを内部IPアドレスに、または内部IPアドレスを外部IPアドレスに変換するためのシステムであり、このようなNAT713の活用は、通常の技術者であれば、周知の技術によって容易に理解することができるであろう。
【0034】
仮想スイッチ714は、パケットをL2スイッチに伝達する。上述したように、内部テナント間の通信は、スコープ内のL2スイッチがVLANを利用して処理する。また、外部から取り込まれたパケットの外部IPアドレスがNAT713によって内部IPアドレスに変換される場合、内部IPアドレスに変換されたパケットもL2スイッチに伝達され、L2スイッチによってパケットが目的としているVMに伝達される。
【0035】
トンネリングモジュール715は、L2通信のためのパケットを、L3通信を利用して他のスコープや外部に伝達するためにパケットをトンネリングするために活用される。トンネリングは、1つのネットワークで他のネットワークの接続を経てデータを送信するためにネットワークで運送されるパケット内にネットワークプロトコルをカプセル化するための技術であって、このようなトンネリングモジュール715の活用も、通常の技術者であれば、周知の技術によって容易に理解することができるであろう。
【0036】
エンドポイントデータベース716は、パケットが目的とするVMが、どのスコープに存在するかに関する情報を格納および管理する。例えば、仮想スイッチ714は、受信したパケットをどのスコープに伝達しなければならないかに関する情報を、エンドポイントデータベース716に格納された情報を利用して決定してよい。
【0037】
図8は、本発明の一実施形態における、スコープコントローラの動作方法の例を示したフローチャートである。本実施形態に係るスコープコントローラは、コンピュータ装置によって構成されてよく、本実施形態に係るスコープコントローラの動作方法は、実質的にコンピュータ装置によって実行されてよい。
【0038】
段階810で、コンピュータ装置は、複数のスコープに分類されたハイパーバイザのうちで第1スコープに分類されたハイパーバイザによって生成された仮想マシンのうちの1つから第1パケットを受信するか、または前記第1スコープの外部から第2パケットを受信する。第1パケットは、第1スコープ内部でスコープコントローラによって伝達されたデータリンク階層のパケットであってよく、第2パケットは、第1スコープの外部からスコープコントローラによって伝達されたネットワーク階層のパケットであってよい。
【0039】
段階820で、コンピュータ装置は、受信したパケットが第1パケットであるか第2パケットであるかにより、第1パケットの場合には段階830を、第2パケットの場合には段階840を実行する。
【0040】
段階830で、コンピュータ装置は、受信した第1パケットのエンドポイントのスコープに基づき、第1スコープ内部または第1スコープ外部に受信した第1パケットを伝達する。このような第1パケットの伝達については、
図9を参照しながらさらに詳しく説明する。
【0041】
段階840で、コンピュータ装置は、第1スコープ内部に第2パケットを伝達する。この場合、コンピュータ装置は、受信した第2パケットを、スコープコントローラが含む仮想スイッチを利用して第1スコープの仮想マシンのうちの1つにスイッチングする。このようなスイッチングによる第2パケットの伝達は、L2通信(一例として、VLAN)によってなされる。
【0042】
図9は、本発明の一実施形態における、第1パケットの処理過程の例を示したフローチャートである。
図9の段階910~940は、
図8の段階830に含まれて実行されてよい。
【0043】
段階910で、コンピュータ装置は、受信した第1パケットのエンドポイントのスコープを、スコープコントローラが含むエンドポイントデータベースで確認する。ここで、エンドポイントデータベースは、
図7を参照しながら説明したエンドポイントデータベース716に対応してよい。
【0044】
段階920で、コンピュータ装置は、第1パケットのエンドポイントが第1スコープであるか確認し、第1スコープの場合には段階930を、第1スコープではない他のスコープであるか、またはクラウドネットワークの外部の場合には段階940を実行する。
【0045】
段階930で、コンピュータ装置は、スコープコントローラが含む仮想スイッチを利用し、受信した第1パケットをエンドポイントに対応する第1スコープの仮想マシンにスイッチングする。第1パケットのエンドポイントが第1スコープである場合とは、第1スコープの内部通信(第1スコープの仮想マシン間の通信または第1スコープの内部テナント間の通信)を意味する。したがって、コンピュータ装置は、仮想スイッチを利用したL2通信(一例として、VLANを利用した通信)により、第1パケットを目的とする仮想マシンに伝達することができる。
【0046】
段階940で、コンピュータ装置は、スコープコントローラが含む仮想ルータを利用し、受信した第1パケットを他のスコープまたはクラウドネットワークの外部との連結のためのルータによってルーティングする。第1パケットのエンドポイントが他のスコープに含まれた仮想マシン(またはテナント)やクラウドネットワークの外部であるということは、第1パケットが第1スコープの外部に伝達されることを意味する。このとき、コンピュータ装置は、第1パケットを該当するスコープに割り当てられたスコープコントローラに伝達されるようにルーティングするか、またはクラウドネットワークの外部に第1パケットを伝達するためにルータ(一例として、
図5および
図6を参照しながら説明したルータ510)によって第1パケットをルーティングしてよい。
【0047】
図10は、本発明の一実施形態における、コンピュータ装置の内部構成を説明するためのブロック図である。コンピュータ装置1000は、メモリ1010、プロセッサ1020、通信インタフェース1030、および入力/出力インタフェース1040を含んでよい。メモリ1010は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永久大容量記憶装置(permanent mass storage device)を含んでよい。ここで、ROMやディスクドライブのような永久大容量記憶装置は、メモリ1010とは区分される別の永久格納装置としてコンピュータ装置1000に含まれてもよい。また、メモリ1010には、オペレーティングシステムと、少なくとも1つのプログラムコードが格納されてよい。このようなソフトウェア構成要素は、メモリ1010とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信インタフェース1030を通じてメモリ1010にロードされてよい。例えば、ソフトウェア構成要素は、ネットワーク1060を介して受信されるファイルによってインストールされるコンピュータプログラムを基盤としてコンピュータ装置1000のメモリ1010にロードされてよい。
【0048】
プロセッサ1020は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ1010または通信インタフェース1030によって、プロセッサ1020に提供されてよい。例えば、プロセッサ1020は、メモリ1010のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0049】
通信インタフェース1030は、ネットワーク1060を介してコンピュータ装置1000が他の装置(一例として、上述した格納装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置1000のプロセッサ1020がメモリ1010のような記録装置に格納されたプログラムコードによって生成した要請や命令、データ、ファイルなどが、通信インタフェース1030の制御にしたがってネットワーク1060を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク1060を介してコンピュータ装置1000の通信インタフェース1030によってコンピュータ装置1000に受信されてよい。通信インタフェース1030によって受信された信号や命令、データなどは、プロセッサ1020やメモリ1010に伝達されてよく、ファイルなどは、コンピュータ装置1000がさらに含むことのできる格納媒体(上述した永久格納装置)に格納されてよい。
【0050】
入力/出力インタフェース1040は、入力/出力装置1050とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を含んでよく、出力装置は、ディスプレイやスピーカのような装置を含んでよい。他の例として、入力/出力インタフェース1040は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置1050は、コンピュータ装置1000と1つの装置で構成されてもよい。
【0051】
また、他の実施形態において、コンピュータ装置1000は、
図10の構成要素よりも多くの構成要素を含んでもよい。例えば、コンピュータ装置1000は、上述した入力/出力装置1050のうちの少なくとも一部を含むように実現されてもよいし、トランシーバやデータベースなどのような他の構成要素をさらに含んでもよい。
【0052】
このように、本発明の実施形態によると、クラウドネットワークにおいて、L2通信領域を、スコープを利用して隔離することによって拡張性を増加させることができ、スコープ間の通信がL3通信領域によってなされることにより、スコープ単位の装備が局所的に低下していたとしても動作できるようにすることができる。また、ハイパーバイザが仮想スイッチや仮想ルータを含む必要がなくなるため、ハイパーバイザの性能を向上させることができ、スコープコントローラによって、スコープ単位でスコープ間の通信や外部トラフィックが処理されることにより、特定の装備に発生した障害が全体障害にまで拡張しないようにすることができる。
【0053】
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)および前記OS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0054】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、所望の動作を行うように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置によって解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
【0055】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでよい。媒体は、コンピュータによって実行可能なプログラムを継続して格納するものであってもよいし、実行またはダウンロードのために臨時格納するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令語が格納されるように構成されたものであってよい。また、他の媒体の例として、アプリケーションを流通させるアプリストアやその他の多様なソフトウェアを供給したり流通したりするサイト、サーバなどで管理する記録媒体や格納媒体が挙げられてもよい。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。
【0056】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0057】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0058】
510:ルータ
521、522、523:スコープコントローラ
531、532、533:ハイパーバイザ