図1は、本発明の第1の実施例を示し、データセンタリソース配分システムの概要を示すブロック図である。
データセンタリソース配分システムは、一つ以上のサービスネットワーク2と一つ以上の基盤ネットワーク3を介して接続された一つ以上のリソース(計算機リソース)1から成るデータセンタ基盤4と、サービスネットワーク2と基盤ネットワーク3を集中的に管理及び制御するリソース管理装置5とを含む計算機システムである。
リソース管理者は、リソース管理装置5を操作してリソース1やサービスネットワーク2及び基盤ネットワーク3を管理する。
リソース利用者(論理基盤管理者)A、Bは、端末8−A、8−Bに接続されたリソース管理装置5を介してリソース1の割り当てを受け、割り当てられたリソース1を用いて論理基盤7−x、7−yをそれぞれ構築して運用する。
論理基盤利用者a、bは、端末9−A、9−Bを介して、論理基盤7−x、7−yとして提供される計算機リソースを利用する。なお、論理基盤7−xは、リソース利用者Aが生成し、論理基盤利用者aへ提供する。同様に、論理基盤7−yは、リソース利用者Bが生成し、論理基盤利用者bへ提供する。
リソース利用者A、Bは、データセンタ基盤4を管理するリソース管理者に対して計算機リソースの割り当てを要求する。リソース管理者はリソース管理装置5を操作してリソース利用者A、Bの端末8−A、8−Bに、論理的な計算機リソースを割り当てる。リソース利用者A、Bは割り当てられた論理的な計算機リソースから論理基盤X、Yを生成し、論理基盤利用者A、Bの端末9−A、9−Bに提供する。
以下では、端末8−A、8−Bの総称を端末8で表し、論理基盤7−x、7−yの総称を7で表し、同様に、端末9−A、9−Bの総称を端末9で表す。他の構成要素についても、符号の添え字と総称については上記と同様に扱うものとする。
リソース1は、ホストコンピュータ10やストレージ11、アプライアンス12、リソース利用者管理装置13であり、物理的な装置または仮想的な装置で構成することができる。
アプライアンス12は、例えばファイアウォールやロードバランサ、あるいは侵入検知装置等を含む装置である。アプライアンス12は、ネットワークの一機能として提供できる。この場合、論理基盤7を構成する論理ネットワーク70の破線内のリソース1のように、論理ネットワーク70の機能として提供することができる。
リソース利用者管理装置13は、例えば、サーバ管理装置や仮想サーバ管理装置、ストレージ管理装置、ネットワーク管理装置、DHCP(Dynamic Host Configuration Protocol)サーバ、DNS(Domain Name System)サーバ等である。
端末8を利用するリソース利用者A、Bは、例えばクラウド管理者や業務システム管理者であり、リソース1を用いてクラウドサービス基盤や業務システム基盤等の論理基盤7を構築及び運用する。
端末9を利用する論理基盤利用者a、bは、例えばクラウド(データセンタ)の利用者やテナントの管理者、業務システム利用者等である。
端末8を介してリソース利用者が構築した論理基盤(クラウドサービス基盤や業務システム基盤等)7上では、端末9を利用する論理基盤利用者a、bが、仮想化されたテナントシステム(クラウドサービス)の利用や構築、運用や業務システム基盤の利用を行う。
サービスネットワーク2は、論理基盤利用者a、bの端末9及びリソース利用者の端末8とリソース1の間で通信を行うネットワークであり、例えばLAN20(Local Area Network)やWAN21(Wide Area Network)を含む。なお、LAN20やWAN21は、複数のデータセンタにまたがっていても良い。またサービスネットワーク2は、ネットワーク仮想化機能22を有する場合がある。
基盤ネットワーク3は、リソース1とリソース管理装置5を接続して、論理基盤7やデータセンタ基盤4の計算機リソースの管理や監視、制御等の通信を行うネットワークであり、例えばLAN30やWAN31である。なお、LAN30やWAN31は、複数のデータセンタにまたがっていても良い。また、基盤ネットワーク3はネットワーク仮想化機能32を有する。
論理基盤7は、抽象化されたサービスネットワークである論理サービスネットワーク71と、抽象化された基盤ネットワークである論理基盤ネットワーク72を介して接続された一つ以上のリソース1から構成される。論理基盤7が複数存在する場合、論理基盤7同士は互いに論理的に分離される。
論理基盤7は、リソース1のいくつか(例えばストレージ11やアプライアンス12、リソース利用者管理装置13)、及び論理サービスネットワーク71、論理基盤ネットワーク72は論理ネットワーク70を含んで構成することができる。
論理ネットワーク70は、リソース管理者がリソース管理装置5を操作してデータセンタ基盤4のリソース1をリソース利用者A、Bへ提供する際に、リソース1が接続された論理サービスネットワーク71や論理基盤ネットワーク72、及びリソース利用者A、B8が利用するストレージ11やアプライアンス12、リソース利用者管理装置13をまとめてサービスとして提供するための概念である。なお、データセンタ基盤4は、1以上のデータセンタを含む概念である。
図2は、データセンタリソース配分システムの全体構成の一つの例を示している。
本実施例においては、一つ以上のリソース1(図示の例ではリソースm−1(100)やリソースm−2(101)、リソースn−1(102)、リソースn−2(103))が、サービスネットワーク2を構成する一つ以上のサービスネットワーク装置(ここではサービスネットワーク装置p(200−1)やサービスネットワーク装置q(200−2))と、基盤ネットワーク3を構成する一つ以上の基盤ネットワーク装置(ここでは基盤ネットワーク装置r(203−1)や基盤ネットワーク装置s(203−2))に接続される。
例えば、サービスネットワーク装置p(200−1)では物理ポートp−1(301)に、リソースm−1(100)が接続され、物理ポートp−2(302)にリソースm−2(101)が接続され、管理ポート300は基盤ネットワーク装置r(203−1)に接続される。そして、基盤ネットワーク装置r(203−1)の物理ポートr−1(211)にリソースm−1(100)が接続され、物理ポートr−2(212)にリソースm−2(101)が接続される。
また、サービスネットワーク装置q(200−2)では物理ポートq−1(304)に、リソースn−1(102)が接続され、物理ポートq−2(305)にリソースn−2(103)が接続され、管理ポート303は基盤ネットワーク装置s(203−2)に接続される。そして、基盤ネットワーク装置s(203−2)の物理ポートs−1(213)にリソースn−1(102)が接続され、物理ポートs−2(214)にリソースn−2(103)が接続される。
リソース1は、ネットワーク仮想化機能104を有してもよい。例えばリソース1がホストコンピュータであり、リソース1にサーバの仮想化を行うハイパーバイザソフトウェアが導入される場合、当該ハイパーバイザソフトウェアあるいは当該ハイパーバイザソフトウェア上で動作する仮想スイッチソフトウェアが、ネットワーク仮想化機能104として機能することができる。
リソース1がネットワーク仮想化機能104を有する場合、サービスネットワーク2の通信は当該ネットワーク仮想化機能104で仮想化することができる。
ここでネットワーク仮想化機能104とは、通信パケットのカプセル化やタグ付け、識別子等により通信を論理的に分離する手法であり、例えば、VLAN(Virtual Local Area Network)やVXLAN(Virtual Extensible Local Area Network)、GRE(Generic Routing Encapsulation)、NVGRE(Network Virtualization using GRE)、STT(Stateless Transport Tunneling)等のオーバーレイ仮想化や、スライシング等のホップバイホップ仮想化、PBB(Provider Backbone Bridge)、MPLS(Multiprotocol Label Switching)、Q−in−Q、MAC−in−MAC(Media Access Control)等の公知また周知の技術によって実現できる。
またリソース1は、リソース利用者の端末8が当該リソース1を管理及び監視するための管理機能105を有する。
例えば、リソース1がホストコンピュータであり、リソース1にサーバ仮想化を行うハイパーバイザソフトウェアが導入される場合、当該ハイパーバイザソフトウェアを管理及び監視するための機能及びそのインタフェースが図中の管理機能105に相当する。
リソース1の管理機能105は、ネットワーク仮想化機能104を介さずに基盤ネットワーク装置203に接続される。
サービスネットワーク装置200や基盤ネットワーク装置203は通信処理を行う機器であり、例えば、スイッチやルータ等の機器である。
以降、特に区別の必要がない場合はサービスネットワーク装置200と基盤ネットワーク装置203を物理ネットワーク装置と称する。
サービスネットワーク装置200−1、200−2はネットワーク202を介して接続される。また、ネットワーク202には、図1に示した端末8、9も接続される。基盤ネットワーク装置203−1、203−2はネットワーク205を介して接続される。
ネットワーク202や205は、公衆網やインターネット、専用線、LAN等の有線網や、無線LAN、移動通信用基地局、通信用人工衛星等を利用した無線網等によって実現できる。
一部のサービスネットワーク装置(ここではサービスネットワーク装置q(200−2))及び全ての基盤ネットワーク装置203はネットワーク仮想化機能206を有する。
基盤ネットワーク装置203のネットワーク仮想化機能206は、ネットワーク仮想化機能104と同様に、通信パケットにカプセル化やタグ付け、識別子等により通信を論理的に分離する。
本実施例において、サービスネットワーク装置200のネットワーク仮想化機能206は、リソース1がネットワーク仮想化機能104を持たない場合や、リソース1のネットワーク仮想化機能104がサービスネットワーク2の通信を仮想化しない場合にのみ、サービスネットワーク2の通信を仮想化してもよい。
また、リソース1のネットワーク仮想化機能104の有無や、リソース1のネットワーク仮想化機能104がサービスネットワーク2の通信を仮想化するか否かに係わらず、サービスネットワーク装置200のネットワーク仮想化機能206が、サービスネットワーク2の通信を仮想化してもよい。
本実施例では以降、サービスネットワーク装置200のネットワーク仮想化機能206は、リソース1がネットワーク仮想化機能104を持たない場合や、リソース1のネットワーク仮想化機能104がサービスネットワーク2の通信を仮想化しない場合にのみ、サービスネットワーク2の通信を仮想化する場合を説明する。
また本実施例においては、リソース1の管理機能105に関連する基盤ネットワーク3の通信は、基盤ネットワーク装置203のネットワーク仮想化機能206で仮想化される。
サービスネットワーク装置200や基盤ネットワーク装置203、リソース1は直接的あるいは間接的にリソース管理装置5に接続される。
本実施例において、サービスネットワーク装置200は管理ポート300、303から、基盤ネットワーク装置203、ネットワーク205を介してリソース管理装置5に接続される。
また、基盤ネットワーク装置203は、ネットワーク205を介してリソース管理装置5に接続され、リソース1は物理ポートや基盤ネットワーク装置203、及びネットワーク205を介してリソース管理装置5に接続され、各装置はリソース管理装置5で集中的に管理及び制御可能な状態となっている。
なお、図2において、サービスネットワーク装置200−1と、リソースm−1(100)、m−2(101)及び基盤ネットワーク装置203−1が第1のデータセンタに所属し、サービスネットワーク装置200−2と、リソースn−1(102)、n−2(103)及び基盤ネットワーク装置203−2が第2のデータセンタに所属していてもよい。この場合、リソース管理装置5は、第1と第2のデータセンタのリソースを集中的に管理及び制御する。この場合、データセンタ基盤4は複数のデータセンタから構成される。
図3は、データセンタリソース配分システムにおいて、リソース利用者からの視点によるシステムの論理的な構成の一例を示すブロック図である。リソース利用者からの視点とは、リソース利用者A、Bが操作する端末8−A、8−Bからデータセンタ基盤4へアクセスしたときに、端末8−A、8−Bがそれぞれアクセス可能な計算機システムの構成を示す。リソース利用者A、Bは、データセンタ基盤4を管理するリソース管理者から論理的な計算機リソースの割り当てを受け、図1に示す論理基盤X、Yを生成し、論理基盤利用者a、bの端末9へ提供する。
リソース管理装置5によってリソース利用者A、Bが操作する端末8−A、8−Bには、一つ以上のリソース1が割り当てられている。図示の例では、リソース利用者Aにリソースm−1(100)とリソースn−2(103)が割り当てられ、リソース利用者Bにリソースm−2(101)とリソースn−1(102)が割り当てられている。
これらのリソース1と、論理サービスネットワーク装置400、402と論理基盤ネットワーク装置401、403を含む論理基盤X(7−x)、Y(7−y)が構成される。
なお、論理サービスネットワーク装置400、402は、物理的なサービスネットワーク装置200−1、200−2を抽象化(または仮想化)したものであり、同様に、論理基盤ネットワーク装置401、403は、物理的な基盤ネットワーク装置203−1、203−2を抽象化(または仮想化)したものである。
これらの論理サービスネットワーク装置400、402及び論理基盤ネットワーク装置401、403は、リソース管理装置5の論理ネットワーク装置インタフェース機能611が各インタフェースを生成してリソース利用者A、Bの端末8に提供する。論理ネットワーク装置インタフェース機能611は、サービスネットワーク装置200と基盤ネットワーク装置203の物理的なリソースのうち、リソース利用者に割り当てたリソースから論理サービスネットワーク装置400、402及び論理基盤ネットワーク装置401、403を生成し、端末8に提供する。すなわち、論理ネットワーク装置は、複数の物理ネットワーク装置の機能を仮想化してまとめたものである。例えば、図3の論理基盤ネットワーク装置x(401)は、図2に示す基盤ネットワーク装置r(203−1)と基盤ネットワーク装置s(203−2)のうち、物理ポートr−1とs−2を仮想化して論理ポートx−1、x−2として端末8に提供する。
図示の例では、論理サービスネットワーク装置w(400)と論理基盤ネットワーク装置x(401)からリソース利用者Aの端末8−Aが認識する論理基盤X(7−x)の論理ネットワーク70が構成され、論理サービスネットワーク装置y(402)と論理基盤ネットワーク装置z(403)からリソース利用者Bの端末8−Bが認識する論理基盤Y(7−y)の論理ネットワーク70が構成される。
論理サービスネットワーク装置w、yと論理基盤ネットワーク装置x、zは、論理ポートを介してリソース1の構成要素と接続される。
論理基盤Xの論理サービスネットワーク装置w(400)は、論理管理ポート410と、論理ポートw−1(411)、w−2(412)を有する。論理基盤ネットワーク装置x(401)は、論理管理ポート413と、論理ポートx−1(414)、x−2(415)を有する。そして、論理ポートw−1(411)とx−1(414)にはリソースm−1(100)が接続され、論理ポートw−2(412)とx−2(414)にはリソースn−2(103)が接続される。また、論理サービスネットワーク装置wの論理管理ポート410と、論理基盤ネットワーク装置xの論理管理ポート413が端末8−Aに接続される。
論理基盤Yの論理サービスネットワーク装置y(402)は、論理管理ポート416、論理ポートy−1(417)、y−2(418)を有する。論理基盤ネットワーク装置z(403)は、論理管理ポート419と、論理ポートz−1(420)、z−2(421)を有する。そして、論理ポートy−1(417)とz−1(420)にはリソースm−2(101)が接続され、論理ポートy−2(418)とz−2(421)にはリソースn−1(102)が接続される。また、論理サービスネットワーク装置yの論理管理ポート416と、論理基盤ネットワーク装置zの論理管理ポート419が端末8−Bに接続される。
論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403は、抽象化(または仮想化)された論理ネットワーク70を構成しており、リソース管理装置5によって物理的なネットワークであるサービスネットワーク装置200及び基盤ネットワーク装置203との対応関係が管理されている。
リソース管理装置5は、個々のリソース利用者A、Bに、論理サービスネットワーク装置400、402及び論理基盤ネットワーク装置401、403に対して、物理的なサービスネットワーク装置200や基盤ネットワーク装置203と同様の管理インタフェースを提供する。リソース管理装置5は、論理的なネットワーク装置毎に管理インタフェースを提供する。
そして、リソース管理装置5は、物理的なサービスネットワーク装置200及び基盤ネットワーク装置203との対応関係に基づいて、個々のリソース利用者A、Bが上記管理インタフェースを介して行う管理操作の内容を、サービスネットワーク装置200や基盤ネットワーク装置203に反映させる。
これにより、個々のリソース利用者A、Bの端末8からは、個々のリソース利用者A、Bの論理基盤X、Yに含まれる論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403に、個々のリソース利用者A、Bに割り当てられたリソース1が接続されているように識別できる。
論理サービスネットワーク装置400、402及び論理基盤ネットワーク装置401、403の上記管理インタフェースは、CLI(Command Line Interface)やGUI(Graphical User Interface)、API等で実現でき、後述する論理ネットワーク装置のインタフェース機能によって端末8へ提供される。
また、管理インタフェースは、物理的なサービスネットワーク装置200や基盤ネットワーク装置203と同様に論理管理ポート410、413、416、419という形態で提供されてもよい。
例えば、リソース利用者の端末8は、論理管理ポート410や413、416、419を介して、論理サービスネットワーク装置w(400)や論理基盤ネットワーク装置x(401)x、論理サービスネットワーク装置y(402)、論理基盤ネットワーク装置z(403)を管理する。管理インタフェースは、リソース管理装置5に対してリソースの追加や返還を要求することができる。
論理管理ポート410や416が論理基盤ネットワーク装置x(401)や論理基盤ネットワーク装置z(403)に接続され、リソース利用者の端末8が論理管理ポート413や419を介して論理サービスネットワーク装置w(400)や論理サービスネットワーク装置y(402)を管理してもよい。
本発明では、論理基盤利用者の端末9からアクセスされるサービスネットワーク装置200を仮想化した論理サービスネットワーク71と、リソース1を管理する基盤ネットワーク装置203を仮想化した論理基盤ネットワーク72を用いることにより、リソース1を柔軟に利用することができる。
図3に示した論理基盤Xでは、論理基盤ネットワーク装置401の論理ポートx−1は、図2の基盤ネットワーク装置203−1の物理ポートr−1に対応し、論理ポートx−2は、図2の基盤ネットワーク装置203−2の物理ポートs−2に対応する。また、論理サービスネットワーク装置400の論理ポートw−1は、図2のサービスネットワーク装置200−1の物理ポートp−1に対応し、論理ポートw−2は、図2のサービスネットワーク装置200−2の物理ポートq−2に対応する。
すなわち、本発明では、基盤ネットワーク装置203−1と203−2を仮想ネットワークで接続し、また、サービスネットワーク装置200−1と200−2を仮想ネットワークで接続することで、物理的なリソース1の位置に係わらず論理基盤Xに組み込むことが可能となるのである。
なお、図3においては、論理サービスネットワーク装置400には、ネットワーク仮想化機能206が配置されるのに対し、論理サービスネットワーク装置402には配置されていない。これは、論理基盤Xのリソースn−2がネットワーク仮想化機能104を備えていないため、論理サービスネットワーク装置400にはネットワーク仮想化機能206が必要となる。一方、論理サービスネットワーク装置402に接続されたリソースm−2、n−1はそれぞれネットワーク仮想化機能104を備えているため、論理サービスネットワーク装置402ではネットワーク仮想化機能206が不要となる。
図4はリソース1や物理ネットワーク装置(サービスネットワーク装置200、基盤ネットワーク装置203)、リソース管理装置5のハードウェア構成の一例を示している。リソース1が物理装置ではなく仮想装置である場合は、論理的に模擬されたハードウェア構成の一例を示すものである。
本図ではこれらの装置を総称して装置500として表現する。装置500は、CPU(Central Processing Unit)等からなる制御部501と、記憶部502と、通信線507を介してサービスネットワーク装置200や基盤ネットワーク装置203に接続するための通信インタフェース505と、表示部503と、入力部504と、これらを接続するデータバス(またはインターコネクト)506によって構成される。
記憶部502は、半導体メモリ(RAM(Random Access Memory))等の揮発性記憶装置、あるいはハードディスクやSSD(Solid State Drive)等の読み書き可能な不揮発性記憶装置、光磁気メディア等の読み出し専用不揮発性記憶装置等から構成できる。なお、装置500で実行するプログラムは、ハードディスクやSSD等の非一時的データ記憶媒体に格納するようにしてもよい。
装置500において、例えばソフトウェアの実行に伴う演算処理は制御部501によって実行される。
表示部503はCRTディスプレイや液晶ディスプレイ等、入力部504はキーボードやマウス等によって構成できる。
装置500において、例えばソフトウェアの実行に伴う演算処理は制御部501によって実行される。制御部501が実行するプログラムや、プログラムが使用するデータについては、記憶部502に格納されていても良いし、通信線507を介して他の機器から導入されても良い。また、装置500は、表示部503や入力部504を省略した構成にすることもできる。また、装置500は、複数の通信インタフェース505を設けても良い。
図5はリソース管理装置5のソフトウェア構成の一例を示すブロック図である。
リソース管理機能600は、リソース利用者A、Bが操作する端末8からの要求に応じて、リソース1の割り当てや、論理ネットワーク70の構成変更や、物理ネットワーク装置(サービスネットワーク装置200や基盤ネットワーク装置203)の構成変更等を行うプログラムである。
リソース管理テーブル601は、リソース1の種別の情報や利用状況の情報を格納するテーブルである。
物理ネットワーク装置管理テーブル602は、サービスネットワーク装置200や基盤ネットワーク装置203の情報を格納するテーブルである。
物理ネットワーク装置及びリソース間マッピングテーブル603は、サービスネットワーク装置200や基盤ネットワーク装置203とリソース1との接続関係に関する情報を格納するテーブルである。
論理ネットワーク装置管理テーブル604は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403の情報を格納するテーブルである。
論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403と、サービスネットワーク装置200や基盤ネットワーク装置203との対応関係に関する情報を格納するテーブルである。
仮想ネットワーク管理テーブル606は、仮想ネットワークと、仮想化されるリソース利用者のネットワークの対応関係の情報を格納するテーブルである。
VLAN管理テーブル607は、仮想ネットワークと、仮想ネットワークを隔離するVLANとの対応関係に関する情報を格納するテーブルである。
論理ネットワーク装置構成テーブル608は、リソース利用者A、Bが端末8を介して論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403に設定する論理ネットワークの構成情報を格納するテーブルである。
物理ネットワーク構成情報テーブル609は、リソース利用者A、Bが端末8を介して、論理サービスネットワーク装置や論理基盤ネットワーク装置に設定したネットワークの構成情報に基づいて、対応するサービスネットワーク装置200や基盤ネットワーク装置203に設定するネットワークの構成情報を格納するテーブルである。
リソース利用状況基準管理テーブル610は、リソース1の種別毎にリソースの過不足を判定するための基準情報を格納するテーブルである。
論理ネットワーク装置インタフェース機能611は、リソース利用者A、Bの端末8に対して論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403として振る舞い、管理インタフェースを提供するためのプログラムである。
なお、上記論理ネットワーク装置インタフェース機能611は、リソース管理装置5とは異なる装置上で動作しても良く、また、ハードウェアとして提供されてもよい。
ネットワーク仮想化機能206は、論理ネットワーク装置インタフェース機能611に対して、端末8をリソース利用者A、B毎に仮想化された論理サービスネットワーク71や論理基盤ネットワーク72への接続を可能とする。
リソース管理機能600や論理ネットワーク装置インタフェース機能611及びネットワーク仮想化機能612は、プログラムとして記憶部502にロードされる。CPUを備えた制御部501は、プログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、制御部501は、リソース管理プログラムに従って処理することでリソース管理機能600を提供することができる。他のプログラムについても同様である。さらに、制御部501は、プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
また、記憶部502の各テーブル601〜610は、リソース管理装置5の各機能によって所定のタイミングで作成または更新される。
図6は、リソース管理テーブル601の一例を示す図である。リソース管理テーブル601は、リソースID1000と、リソース種別1001と、リソース利用者ID1002からひとつのエントリが構成される。
リソースID1000は、リソース1を一意に識別するための情報(例えば、識別子)である。リソース種別1001は、ホストコンピュータ10やストレージ11、アプライアンス12等、リソース1の種類を示す情報である。また、リソース種別1001には、物理装置と仮想装置の識別を行っておいても良い。
リソース利用者ID1002は、リソース1が割り当てられたリソース利用者A、Bを一意に識別する情報(例えば、識別子)である。
なお、各識別子は、リソース管理装置5が管理する1以上のデータセンタでユニークな値であればよい。
図7は、物理ネットワーク装置管理テーブル602の一例を示す図である。物理ネットワーク装置管理テーブル602は、物理ネットワーク装置IDと、種別1011と、管理アドレス1012からひとつのエントリが構成される。
物理ネットワーク装置ID1010は、サービスネットワーク装置200や基盤ネットワーク装置203を一意に識別するための情報(例えば、識別子)である。
種別1011は、サービスネットワーク装置200や基盤ネットワーク装置203等、物理ネットワーク装置の種類を示す情報である。
管理アドレス1012は、サービスネットワーク装置200や基盤ネットワーク装置203の管理インタフェースに割り当てられたネットワーク識別情報である。
図8は、物理ネットワーク装置及びリソース間マッピングテーブル603の一例を示す図である。物理ネットワーク装置及びリソース間マッピングテーブル603は、物理ネットワーク装置ID1020と、物理ポートID1021と、リソースID1022からひとつのエントリが構成される。
物理ネットワーク装置ID1020は、サービスネットワーク装置200や基盤ネットワーク装置203を一意に識別するための情報(例えば、識別子)である。
物理ポートID1021は、サービスネットワーク装置200や基盤ネットワーク装置203の物理ポートを一意に識別するための情報(例えば、識別子)である。
リソースID1022は、リソース1を一意に識別するための情報(例えば、識別子)である。
図9は、論理ネットワーク装置管理テーブル604の一例を示す図である。論理ネットワーク装置管理テーブル604は、利用者ID1030と、論理ネットワーク装置ID1031と、種別1032と、管理アドレス1033からひとつのエントリが構成される。
利用者ID1030は、リソース利用者A、Bを一意に識別する情報(例えば、識別子)である。
論理ネットワーク装置ID1031は、論理サービスネットワーク装置200や論理基盤ネットワーク装置203を一意に識別するための情報(例えば、識別子)である。
種別1032は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403等、論理ネットワーク装置の種類を示す情報である。
管理アドレス1033は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403の管理インタフェースに割り当てられたネットワーク識別情報(例えば、ネットワークアドレス)である。
図10は、論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605の一例を示す図である。論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605は、論理ネットワーク装置ID1040と、論理ポートID1041と、物理ネットワーク装置ID1042と、物理ポートID4043からひとつのエントリが構成される。
論理ネットワーク装置ID1040は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403を一意に識別するための情報(例えば、識別子)である。
論理ポートID1041は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403の論理ポートw−1〜z−2を一意に識別するための情報(例えば、識別子)である。
物理ネットワーク装置ID1042は、サービスネットワーク装置や基盤ネットワーク装置を一意に識別するための情報(例えば、識別子)である。
物理ポートID1043は、サービスネットワーク装置200や基盤ネットワーク装置203の物理ポートp−1〜s−2を一意に識別するための情報(例えば、識別子)である。
図11は、仮想ネットワーク管理テーブル606の一例を示す図である。仮想ネットワーク管理テーブル606は、ネットワーク種別1050と、仮想ネットワークID1051と、リソース利用者ID1052と、リソース利用者仮想ネットワークID1053と、リソース利用者VLAN1054からひとつのエントリが構成される。
ネットワーク種別1050は、サービスネットワーク2や論理ネットワーク70等、ネットワークの種類を示す情報である。
仮想ネットワークID1051は、リソース管理者が物理的なサービスネットワーク装置200及び基盤ネットワーク装置203において仮想ネットワークを一意に識別する情報(例えば、識別子)である。例えば、仮想ネットワークがVXLANの場合はVNI(VXLAN Network Identifier)が該当する。
リソース利用者ID1052は、リソース利用者を一意に識別する情報(例えば、識別子)である。リソース利用者仮想ネットワークID1053は、リソース利用者が端末8で認識し得る仮想ネットワーク識別情報であり、論理サービスネットワーク装置400や402、論理基盤ネットワーク装置401や403において仮想ネットワークを一意に識別するもの(例えば、識別子)である。
リソース利用者VLAN1054は、ネットワーク仮想化機能104あるいはネットワーク仮想化機能206によって仮想化される、リソース利用者が端末8で認識し得るVLANを一意に識別する情報(例えば、識別子)である。リソース利用者VLANは論理基盤内で使用される。
仮想ネットワークID1051は、物理ネットワーク装置における仮想ネットワークの識別情報であり、リソース利用者仮想ネットワークID1053に対応付けられる。
論理基盤利用者やリソース利用者が使用するVLAN(リソース利用者VLANID(1 054)で識別)は、リソース1の仮想化機能や論理サービスネットワーク装置400 、402と、論理基盤ネットワーク装置401、403で仮想化される。リソース利用 者から(端末8及び論理ネットワーク装置管理インタフェース機能611を通して)見 ると、当該VLANが論理サービスネットワーク装置400、402や論理基盤ネット ワーク装置401、403において仮想化され、仮想化する際の仮想ネットワーク(リ ソース利用者仮想ネットワークIDで識別)と、当該仮想ネットワークのパケットが流 れるVLAN(リソース利用者仮想ネットワーク用VLAN)が見える。当該仮想ネッ トワークのID(1053)や仮想ネットワーク用VLANのID(1063)は、リ ソース利用者間で重複している場合があるが、リソース管理者から見ると、(場合によ っては変換されて)一意に識別される(仮想ネットワークID(1051)及び仮想ネ ットワーク用VLAN ID(1061))。
図12は、VLAN管理テーブル607の一例を示す図である。VLAN管理テーブル607は、ネットワーク種別1060と、仮想ネットワーク用VLAN1061と、リソース利用者ID1062と、リソース利用者仮想ネットワーク用VLAN1063と、仮想ネットワークID1064からひとつのエントリが構成される。
ネットワーク種別1060は、サービスネットワーク2や論理ネットワーク70等、ネットワークの種類を示す情報である。
仮想ネットワーク用VLAN1061は、リソース管理者が物理的なサービスネットワーク装置200及び基盤ネットワーク装置203において仮想ネットワークが利用するVLANを一意に識別する情報(例えば、識別子)である。
リソース利用者ID1062は、端末8を介してリソースを利用するリソース利用者を一意に識別する情報(例えば、識別子)である。
リソース利用者仮想ネットワーク用VLAN1063は、リソース利用者が端末8で認識し得る仮想ネットワーク用VLAN識別情報であり、論理サービスネットワーク装置400や402、論理基盤ネットワーク装置401や403において仮想ネットワーク用VLANを一意に識別するもの(例えば、識別子)である。
仮想ネットワーク用VLAN1061は、物理ネットワーク装置(サービスネットワーク装置200、基盤ネットワーク装置203)における仮想ネットワーク用VLANの識別情報であり、リソース利用者仮想ネットワーク用VLAN1063に対応付けられる。
仮想ネットワークID1064は、仮想ネットワーク用VLAN1051に対応付けられて仮想ネットワークを一意に識別する情報である。
図13は、論理ネットワーク装置構成テーブル608の一例を示す図である。論理ネットワーク装置構成テーブル608は、論理ネットワーク装置ID1070と、論理ポートID1071と、仮想化機能1072と、仮想ネットワークID1073と、仮想ネットワーク用VLAN1074と、リソース利用者VLAN1075からひとつのエントリが構成される。
論理ネットワーク装置ID1070は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403を一意に識別するための情報(例えば、識別子)である。
論理ポートID1071は、論理サービスネットワーク装置400、402や論理基盤ネットワーク装置401、403の論理ポートw−1〜z−2を一意に識別するための情報(例えば、識別子)である。
仮想化機能1072は、論理ネットワーク装置の当該論理ポートID1071における、ネットワーク仮想化機能の有効化あるいは無効化の状態を示す情報である。仮想化機能1072は、「ON」であれば論理ポートID1071では仮想化機能が有効であることを示し、「OFF」であれば仮想化機能が無効であることを示す。
仮想ネットワークID1073は、仮想ネットワークを一意に識別する情報(例えば、仮想ネットワーク番号)である。
仮想ネットワーク用VLAN1074は、論理ポートID1071で仮想ネットワークが利用するVLANを一意に識別する情報(例えば、識別子)である。
リソース利用者VLAN1075は、仮想ネットワークによって仮想化されるリソース利用者のVLANを一意に識別する情報(例えば、VLAN番号)である。
図14は、物理ネットワーク装置構成テーブル609の一例を示す図である。物理ネットワーク装置構成テーブル609は、物理ネットワーク装置ID1080と、物理ポートID1081と、仮想化機能1082と、リソース利用者仮想ネットワークID1083と、仮想ネットワークID1084と、リソース利用者仮想ネットワーク用VLAN1085と、仮想ネットワーク用VLAN1086と、リソース利用者VLAN1087からひとつのエントリが構成される。
物理ネットワーク装置ID1080は、サービスネットワーク装置200や基盤ネットワーク装置203を一意に識別するための情報(例えば、識別子)である。
物理ポートID1081は、サービスネットワーク装置200や基盤ネットワーク装置203の物理ポートを一意に識別するための情報(例えば、識別子)である。
仮想化機能1082は、物理ネットワーク装置ID1080の当該物理ポートID1081における、ネットワーク仮想化機能の有効化あるいは無効化の状態を示す情報である。「ON」であれば物理ポートID1081では仮想化機能が有効であることを示し、「OFF」であれば仮想化機能は無効であることを示す。
リソース利用者仮想ネットワークID1083は、リソース利用者の端末8を識別する仮想ネットワークIDである。
仮想ネットワークID1084は、仮想ネットワークを一意に識別する情報(例えば、識別子)である。
リソース利用者仮想ネットワーク用VLAN1085は、リソース利用者の端末8が識別する仮想ネットワーク用VLANである。
仮想ネットワーク用VLAN1086は、仮想ネットワークが利用するVLANを一意に識別する情報(例えば、識別子)である。
リソース利用者VLAN1087は、仮想ネットワークによって仮想化されるリソース利用者のVLANを一意に識別する情報(例えば、識別子)である。ここで、リソース利用者VLAN1087は、論理基盤利用者やリソース利用者が論理基盤7内で使用するVLANであり、リソース利用者の端末8で認識されるVLANである。
図15は、リソース利用状況基準管理テーブル610の一例を示す図である。リソース利用状況基準管理テーブル610は、リソース利用者ID1090と、リソース種別1091と、利用基準1092からひとつのエントリが構成される。
リソース利用者ID1090は、端末8を使用するリソース利用者を一意に識別する情報(例えば、識別子)である。
リソース種別1091は、ホストコンピュータ10やストレージ11、アプライアンス等、リソースの種類を示す情報である。
利用基準1092は、リソースの過不足等を判定するための基準を示す情報である。
図16は、VXLANやNVGRE、STT等のオーバーレイ仮想化等のネットワーク仮想化機能によって仮想化される前の通信のデータ構造(図中上部)と仮想化された後の通信のデータ構造(図中下部)の一例を示す図である。
本実施例はオーバーレイ仮想化に限るものではなく、ホップバイホップ仮想化のような他のネットワーク仮想化を用いてもよい。
図中において上部は、仮想化される前の通信をイーサネット(登録商標)通信フレーム1100〜1104として示し、当該通信フレームがネットワーク仮想化機能によって図中下部のIP通信パケットによってカプセル化される例を示しているが、本発明は前提とする通信フレーム構造(1100〜1107)やネットワーク仮想化プロトコルに限定されるものではない。
例えば、タグ1107付け等によってネットワーク仮想化を実現してもよいし、プロプライエタリな通信フレームであってもよい。
送信先アドレス1100は、通信相手をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
送信元アドレス1101は、通信元をネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
タグ1102は、通信を分類するための識別情報を格納するフィールドであり、例えばVLAN(Virtual LAN)タグ等のフィールドである。
タイプ1103はプロトコル種別情報を格納するためのフィールドであり、例えばTCPやUDP(User Datagram Protocol)等のプロトコル番号用のフィールドである。
データ1104は通信相手とやり取りする任意のデータを格納するフィールドである。
送信先アドレス1105は、ネットワーク仮想化機能104、206によってカプセル化された後の通信相手を、ネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
送信元アドレス1106は、ネットワーク仮想化機能104、206によってカプセル化された後の通信元を、ネットワーク上で一意に識別するためのネットワーク識別情報を格納するフィールドである。
タグ1107は仮想ネットワークを一意に識別する情報であり、例えばVXLANにおいてはVNIである。
以上の構成により、データセンタ基盤4では、タグ1102のVLANに加えて、フィールド1105〜1107を付加することで仮想ネットワークを構成することができる。
図17は、リソース利用者の端末8がリソース管理装置5に対して論理ネットワーク装置の追加や削除、リソースの追加や返還、リソースの利用状況把握等のリソース構成変更を要求する際の、要求データの一例を示す図である。
メッセージ1200はリソース利用者の端末8がリソース管理装置5に送信する要求データである。
図においては、リソース利用者の端末8がリソース管理装置5に対してリソースの追加要求を送信する例を示している。
メッセージ1200は、CLIやGUI、API等を介して送信される。送信時のプロトコルはTELNET(Telecommunication Network)やSSH(Secure Shell)、HTTP(Hypertext Transfer Protocol)等の公知または周知のものでよいし、プロプライエタリなものでもよい。
メッセージ1200のフォーマットは、XML(Extensible Markup Language)等の公知または周知のものでもよいし、プロプライエタリなものでもよい。
図中においては、XMLを例として示しているが、本発明はプロトコルやフォーマットに限定されるものではない。
図18は、リソース利用者の端末8が論理ネットワーク装置インタフェース機能611に対して論理ネットワーク装置(論理サービスネットワーク装置または論理基盤ネットワーク装置)の構成変更を要求する際の、要求データの一例を示す図である。
メッセージ1300はリソース利用者の端末8が論理ネットワーク装置インタフェース機能611に送信する要求データである。
図においては、リソース利用者の端末8が、論理ネットワーク装置インタフェース機能611に対してVLANの追加要求を送信する例を示している。
メッセージ1300は、CLIやGUI、API等を介して送信される。送信時のプロトコルはTELNETやSSH、HTTP等の公知または周知のものでよいし、プロプライエタリなものでもよい。
メッセージ1300のフォーマットは、XML等の公知または周知のものでもよいし、プロプライエタリなものでもよい。図中においては、XMLを例として示しているが、本発明はプロトコルやフォーマットに限定されるものではない。
図19は、リソース利用者の端末8が、リソース管理装置5を介して論理ネットワーク装置の追加や削除、リソースの追加や返還、論理ネットワーク装置の構成変更、リソースの利用状況の取得を行う全体的なシーケンスの一例を示す図である。
本図においては説明の簡略化のために、一つ以上の基盤ネットワーク装置を基盤ネットワーク装置群2000として、一つ以上のサービスネットワーク装置200をサービスネットワーク装置群2001として示す。
ステップ2100において、リソース利用者の端末8は、論理ネットワーク装置(論理サービスネットワーク装置または論理基盤ネットワーク装置)の追加をリソース管理装置5のリソース管理機能600に要求する。
ステップ2101において、リソース管理装置5のリソース管理機能600は、追加要求に対応する論理ネットワーク装置インタフェース機能611を生成する。
ステップ2102において、リソース利用者の端末8は、リソース1の追加や返還をリソース管理機能600に要求する。
ステップ2103において、リソース管理機能600は、追加要求に基づいて基盤ネットワーク装置203の構成を変更し、リソース利用者の端末8で認識する論理ネットワーク装置にリソース1を接続する。
ステップ2104において、リソース管理機能600は、追加要求に基づいてサービスネットワーク装置200の構成を変更し、リソース利用者の端末8で認識する論理ネットワーク装置にリソース1を接続する。
ステップ2105において、リソース利用者の端末8は、論理ネットワーク装置インタフェース機能611に対して論理ネットワーク装置の構成変更を行う。
ステップ2106において、リソース管理機能600は、論理ネットワーク装置と物理ネットワーク装置の対応関係に基づいて、当該構成変更を基盤ネットワーク装置203に反映させる。
ステップ2107において、リソース管理機能600は、論理ネットワーク装置と物理ネットワーク装置の対応関係に基づいて、当該構成変更をサービスネットワーク装置200に反映させる。
ステップ2108において、リソース利用者の端末8は、論理ネットワーク装置の削除をリソース管理機能600に要求する。
ステップ2109において、リソース管理機能600は、削除要求に基づいて基盤ネットワーク装置203の構成を変更し、削除対象の論理ネットワーク装置に関連する設定を削除する。
ステップ2110において、リソース管理機能600は、削除要求に基づいてサービスネットワーク装置の構成を変更し、削除対象の論理ネットワーク装置に関連する設定を削除する。
ステップ2111において、リソース管理機能600は、上記削除要求に対応する論理ネットワーク装置インタフェース機能611を削除する。
ステップ2112において、リソース利用者の端末8は、リソース管理機能600にリソース利用状況を問い合わせる。
ステップ2113において、リソース管理機能600は、図15に示したリソース利用基準1092に基づいて、リソース利用者の端末8にリソースの過不足やリソースの追加または返還の提案を通知する。
図20は、論理ネットワーク装置及びリソースを追加する処理の一例を示すフローチャートである。このフローチャートは、リソース管理装置5が端末8から追加要求を受信したときに実行される。以下の例では、端末8が論理基盤の追加を要求した例を示す。
ステップ3000において、リソース管理機能600は、リソース利用者の端末8から論理ネットワーク装置の追加要求を受信する。
ステップ3001において、リソース管理機能600は、図9の論理ネットワーク装置管理テーブル604に論理基盤ネットワーク装置(ID1031)のエントリを追加する。また、リソース管理機能600は、論理ネットワーク装置管理テーブル604で追加したエントリに、端末8のリソース利用者へ予め割り当てたIDをリソース利用者ID1030に設定し、論理基盤ネットワーク装置を追加するので種別1032には「基盤」を設定し、管理アドレス1033にはデータセンタ基盤4内でユニークな値を割り当てる。
例えば、図9において、リソース利用者ID1030が「利用者A」で、論理ネットワーク装置(ID1031)が「論理基盤ネットワーク装置x」、管理アドレス1033は「f.f.f.f」となる。
ステップ3002において、リソース管理機能600は、ステップ3001にて追加した論理基盤ネットワーク装置(ID1031)に対応する論理ネットワーク装置インタフェース機能611を生成する。これにより、リソース管理装置5は、端末8が論理基盤ネットワーク装置を設定するためのユーザインタフェースを提供することができる。
ステップ3003において、リソース管理機能600は、論理ネットワーク装置管理テーブル604に論理サービスネットワーク装置(ID1031)を追加する。また、リソース管理機能600は、論理ネットワーク装置管理テーブル604で追加したエントリに、端末8のリソース利用者へ予め割り当てたIDをリソース利用者ID1030に設定し、論理サービスネットワーク装置を追加するので種別1032には「サービス」を設定し、管理アドレス1033にはデータセンタ基盤4内でユニークな値を割り当てる。
例えば、図9において、リソース利用者ID1030が「利用者A」で、論理ネットワーク装置ID1031が「論理サービスネットワーク装置w」、管理アドレス1033は「e.e.e.e」となる。
ステップ3004において、リソース管理機能600は、ステップ3003にて追加した論理サービスネットワーク装置に対応する論理ネットワーク装置インタフェース機能611を作成する。これにより、リソース管理装置5は、端末8が論理サービスネットワーク装置を設定するためのユーザインタフェースを提供することができる。
ステップ3005において、リソース管理機能600は、リソース利用者の端末8からリソース1の追加要求を受信する。ここでは、リソース1の追加要求として、リソースの種別を受け付ける例を示す。
ステップ3006において、リソース管理機能600は、図6のリソース管理テーブル601の利用状況1002を参照して、受信したリソースの種別1001のうち未使用の空きリソースを探索する。
ステップ3007において、リソース管理機能600は、ステップ3006での空きリソースの探索結果に基づいて空きリソースがあるか否かを判定する。空きリソースがある場合はステップ3008に進み、空きリソースが無い場合はステップ3013に進む。
ステップ3008において、リソース管理機能600は、リソース管理テーブル601で空きリソースのリソースID1000を取得する。リソース管理機能600は、図8に示した物理ネットワーク装置及びリソース間マッピングテーブル603のリソースID1022を参照し、取得したリソースIDが接続されている基盤ネットワーク装置203とサービスネットワーク装置200の物理ポートp−1〜s−2を、物理ネットワーク装置ID1020及び物理ポートID1021より特定する。例えば、空きリソースのIDがm−1の場合、物理ネットワーク装置ID1020は、「サービスネットワーク装置p」と「基盤ネットワーク装置r」となり、物理ポートID1021は、「p−1」、「r−1」となる。
ステップ3009において、リソース管理機能600は、上記ステップ3001で生成した論理基盤ネットワーク装置xと、ステップ3203で生成した論理サービスネットワーク装置wに対して、上記ステップ3008で特定した基盤ネットワーク装置203及びサービスネットワーク装置200の物理ポートに対応する論理ポートを生成し、図10に示す論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605に追加する。
上記のように、物理ポートID1021が「p−1」の場合、リソース管理機能600は、論理ネットワーク装置ID1040に、「論理サービスネットワーク装置w」のエントリを加え、物理ポートID1043に「p−1」を設定し、論理ポートID1041=「w−1」、物理ネットワーク装置ID1042に「サービスネットワーク装置p」を設定する。
また、物理ポートID1021が「r−1」の場合、リソース管理機能600は、論理ネットワーク装置ID1040に、「論理基盤ネットワーク装置x」のエントリを加え、物理ポートID1043に「r−1」を設定し、論理ポートID1041=「x−1」、物理ネットワーク装置ID1042に「基盤ネットワーク装置r」を設定する。
ステップ3010において、リソース管理機能600は、図11の仮想ネットワーク管理テーブル606を用いて、空きリソース(m−1)を接続するリソース利用者VLAN1054及び当該VLANに対応する仮想ネットワークID1051を割り当てる。
ここで割り当てるVLANとしては、例えばデフォルトVLAN等を使用できる。リソース管理機能600はさらに、VLAN管理テーブル607を用いて、当該仮想ネットワークが利用する仮想ネットワーク用VLANを割り当てる。
リソース管理機能600は、リソース利用者VLAN1054と仮想ネットワークID1051と、上記仮想ネットワーク用VLANの情報を図13に示した論理ネットワーク装置構成テーブル608に追加する。
ステップ3011において、リソース管理機能600は、図10に示した論理ネットワーク装置と物理ネットワーク装置の対応関係に基づいて、ステップ3010にて論理ネットワーク装置に追加した設定内容を、図14に示した物理ネットワーク装置構成テーブル609に追加する。
ステップ3012において、リソース管理機能600は、ステップ3011で物理ネットワーク装置構成テーブル609に追加した設定内容を、対応する物理ネットワーク装置に設定する。
ステップ3013において、リソース管理機能600は、空きリソースが無い旨を示すエラーをリソース利用者の端末8に応答する。
ステップ3014において、リソース管理機能600は、空きリソースが無い旨を示す警告をリソース管理者が使用する表示部503に通知する。
以上の処理により、リソース利用者の端末8から論理ネットワーク装置とリソース1の追加要求を受信すると、リソース管理装置5のリソース管理機能600は、空きリソースがある場合には、論理ネットワーク(論理サービスネットワーク装置、論理基盤ネットワーク装置)70を生成してリソース1と仮想ネットワークを割り当てる。
図21は、論理基盤ネットワーク装置に対するVLANを追加する処理の一例を示すフローチャートである。この処理は、リソース管理装置5が、端末8から論理基盤ネットワーク装置401、403に対するVLANの追加要求を受信したときに実行する。
ステップ3100において、リソース管理装置5の論理ネットワーク装置インタフェース機能611は、リソース利用者の端末8からVLANの追加要求を受信する。VLANの追加要求としては、図13で示したリソース利用者VLAN1075と論理ネットワーク装置ID1070と、論理ポートID1071を含むものとする。
ステップ3101において、論理ネットワーク装置インタフェース機能611は、図11に示した仮想ネットワーク管理テーブル606において、追加要求のVLAN(リソース利用者VLAN1075)に対応する仮想ネットワークID(1073)を割り当てる。
ステップ3102において、論理ネットワーク装置インタフェース機能611は、図12に示したVLAN管理テーブル607において、追加要求の仮想ネットワークに対応する仮想ネットワーク用VLANを割り当てる。
ステップ3103において、論理ネットワーク装置インタフェース機能611は、図13に示した論理ネットワーク装置構成テーブル608において、追加要求のVLANと仮想ネットワーク、仮想ネットワーク用VLANの情報を、追加要求に対応する論理基盤ネットワーク装置の論理ポートに追加する。
ステップ3104において、論理ネットワーク装置インタフェース機能611は、図10に示した論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605を参照し、当該論理基盤ネットワーク装置401、403の上記論理ポートID1071に対応する基盤ネットワーク装置203及び物理ポート211〜214を特定する。
ステップ3105において、論理ネットワーク装置インタフェース機能611は、論理ネットワーク装置と物理ネットワーク装置の対応関係に基づいて、ステップ3104にて論理ネットワーク装置に追加した設定内容を、図14の物理ネットワーク装置構成テーブル609に追加する。
ステップ3106において、論理ネットワーク装置インタフェース機能611は、ステップ3105で物理ネットワーク装置構成テーブル609に追加した設定内容を、対応する物理ネットワーク装置に設定する。
以上の処理により、例えば、論理基盤ネットワーク装置xの論理ポートx−1にVLAN100が設定される。
図22は、論理サービスネットワーク装置に対する仮想ネットワーク及び仮想ネットワーク用VLANを追加する処理の一例を示すフローチャートである。この処理は、リソース管理装置5が、端末8から論理サービスネットワーク装置400、402に対する仮想ネットワーク番号(仮想ネットワークID1073)と、VLAN番号(リソース利用者VLAN1075)と、当該仮想ネットワーク及びVLANを設定する対象の論理ネットワーク装置ID1070と論理ポートID1071を受信したときに実行する。
ステップ3200において、リソース管理装置5の論理ネットワーク装置インタフェース機能611は、リソース利用者の端末8から仮想ネットワーク、及び/または、仮想ネットワーク用VLANの追加要求を受信する。
ステップ3201において、論理ネットワーク装置インタフェース機能611は、図11の仮想ネットワーク管理テーブル606において、追加要求に対応する仮想ネットワークID1051を割り当てる。リソース利用者ID間で仮想ネットワークIDが重複する場合は、論理ネットワーク装置インタフェース機能611が異なる仮想ネットワークIDを割り当てる。
ステップ3202において、論理ネットワーク装置インタフェース機能611は、図12のVLAN管理テーブル607において、追加要求に対応する仮想ネットワーク用VLAN1061を割り当てる。
すなわち、論理ネットワーク装置インタフェース機能611は、VLAN管理テーブル607に、ネットワーク種別1060がサービスネットワークのエントリを加え、端末8を利用するリソース利用者ID1062と、端末8を利用するリソース利用者仮想ネットワーク用VLAN1063と、上記ステップ3201で割り当てた仮想ネットワークIDを仮想ネットワークID1064に格納する。リソース利用者ID間で仮想ネットワーク用VLAN1064が重複する場合は、異なる仮想ネットワーク用VLANを割り当てる。
ステップ3203において、論理ネットワーク装置インタフェース機能611は、図13の論理ネットワーク装置構成テーブル608において、ステップ3202で割り当てた値を、仮想ネットワーク用VLAN1074と、仮想ネットワークID1073と、端末8を使用するリソース利用者VLAN1075とを、追加要求に含まれる論理ネットワーク装置の論理ポートID1071に追加する。
ステップ3204において、論理ネットワーク装置インタフェース機能611は、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605を参照し、当該論理サービスネットワーク装置400、402の当該論理ポートID1041に対応するサービスネットワーク装置(ID1042)及び物理ポートID1043を特定する。
ステップ3205において、論理ネットワーク装置インタフェース機能611は、図10の論理ネットワーク装置と物理ネットワーク装置の対応関係に基づいて、ステップ3203にて論理ネットワーク装置構成テーブル608に追加した設定内容を、図14の論理物理ネットワーク装置構成テーブル609に追加する。すなわち、論理ネットワーク装置インタフェース機能611は、ステップ3204で特定した物理ポートID1043に対応する物理ポートID1081のエントリを物理ネットワーク装置構成テーブル609で特定し、各仮想ネットワークID及び各VLANの値を設定する。
ステップ3206において、論理ネットワーク装置インタフェース機能611は、ステップ3205で物理ネットワーク装置構成テーブル609に追加した設定内容を、対応する物理ネットワーク装置に設定する。
以上の処理によって、論理サービスネットワーク装置400、402に対する仮想ネットワークID及び仮想ネットワーク用VLANの追加が実行され、論理サービスネットワーク装置と論理基盤ネットワーク装置が生成される。これら論理サービスネットワーク装置と論理基盤ネットワーク装置から論理サービスネットワーク71と論理基盤ネットワークからなる論理ネットワーク70が生成される。そして、リソース管理装置5は、追加要求に応じてリソース1を論理ネットワーク70へ加えることで、論理基盤7をリソース利用者の端末8へ提供する。
図23は、論理基盤ネットワーク装置からVLANを削除する処理の一例を示すフローチャートである。この処理は、リソース管理装置5が、端末8から論理基盤ネットワーク装置401、403のVLANの削除要求を受信したときに実行する。
ステップ3300において、論理ネットワーク装置インタフェース機能611は、リソース利用者の端末8よりVLANの削除要求を受信する。VLANの削除要求には、リソース利用者VLAN1075が含まれる。
ステップ3301において、論理ネットワーク装置インタフェース機能611は、リソース利用者管理装置13に対して、削除対象のVLANの使用状況を問い合わせる。論理ネットワーク装置インタフェース機能611は、使用中のVLANを削除することはできないため、当該VLANが使用中であるか否かをリソース利用者管理装置13に問い合わせる。問合せの内容は、VLANIDと、当該VLANのステータス情報等を含む。なお、問合せの実行は、例えば、リソース利用者管理装置13が予め備えたAPI等のインタフェースを介して行うことができる。
ステップ3302において、上記問合せの結果、削除対象のVLANが使用中であると判定された場合はステップ3303に進み、未使用であると判定された場合はステップ3304に進む。なお、ステップ3301及びステップ3302を省略し、ステップ3304に進んでもよい。
ステップ3303において、論理ネットワーク装置インタフェース機能611は、リソース利用者の端末8に対して、当該VLANが使用中であり削除できない旨のエラーを応答する。
ステップ3304において、論理ネットワーク装置インタフェース機能611は、図13の論理ネットワーク装置構成テーブル608を参照し、削除要求において指定されたリソース利用者VLAN1075から論理ポートID1071を特定する。
ステップ3305において、論理ネットワーク装置インタフェース機能611は、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605を参照し、当該論理ポートIDに対応する物理ネットワーク装置ID1042及び物理ポートID1043を特定する。
ステップ3306において、論理ネットワーク装置インタフェース機能611は、図14の物理ネットワーク装置構成テーブル609を参照し、削除要求で指定されたリソース利用者VLAN1075に対応するエントリを特定する。
ステップ3307において、論理ネットワーク装置インタフェース機能611は、ステップ3306で特定された物理ネットワーク装置に対して、削除要求のVLANに対応する仮想ネットワークの構成変更あるいは削除を指令する。
具体的には、ステップ3306で特定された物理ネットワーク装置IDに対応する仮想ネットワークID1084が、削除要求のVLAN以外のVLANを含んでいる場合は上記仮想ネットワークから当該リソース利用者VLAN1087のみを削除する。
一方、ステップ3306で特定された物理ネットワーク装置IDに対応する仮想ネットワークID1084が、リソース利用者VLAN1087のみを含む場合は当該仮想ネットワーク1084を削除する。
ステップ3308において、論理ネットワーク装置インタフェース機能611は、図14、図13の物理ネットワーク装置構成テーブル609及び論理ネットワーク装置構成テーブル608において、ステップ3307の実施内容に基づいて、削除要求のリソース利用者VLAN1075に対応するエントリを変更あるいは削除する。
ステップ3309において、論理ネットワーク装置インタフェース機能611は、図11の仮想ネットワーク管理テーブル606及び図12のVLAN管理テーブル607において、削除要求のリソース利用者VLAN1075に対応する仮想ネットワーク及び仮想ネットワーク用VLANのエントリを変更あるいは削除する。
図24は、論理サービスネットワーク装置から仮想ネットワーク、及び/または、仮想ネットワーク用VLANを削除する処理の一例を示すフローチャートである。この処理は、リソース管理装置5が、端末8から論理サービスネットワーク装置400、402の仮想ネットワークまたは仮想ネットワーク用VLANの削除要求を受信したときに実行する。
ステップ3400において、論理ネットワーク装置インタフェース機能611は、リソース利用者の端末8より、仮想ネットワーク、及び/あるいは仮想ネットワーク用VLANの削除要求を受信する。
ステップ3401において、論理ネットワーク装置インタフェース機能611は、リソース利用者管理装置13に対して、削除が要求された仮想ネットワーク、及び/または、仮想ネットワーク用VLANの使用状況を問い合わせる。リソース利用者管理装置13は、削除要求の仮想ネットワークまたは仮想ネットワーク用VLANのリソース使用状況をリソース管理装置5に応答する。
ステップ3402において、削除要求の仮想ネットワーク、及び/または、仮想ネットワーク用VLANが使用中であると論理ネットワーク装置インタフェース機能611で判定された場合はステップ3403に進み、未使用であると判定された場合はステップ3404に進む。なお、ステップ3401及びステップ3402を省略し、ステップ3404に進んでもよい。
ステップ3403において、論理ネットワーク装置インタフェース機能611は、リソース利用者の端末8に対して、削除要求の仮想ネットワーク、及び/または、仮想ネットワーク用VLANが使用中であるため削除できない旨のエラーを応答する。
ステップ3404において、論理ネットワーク装置インタフェース機能611は、図13の論理ネットワーク装置構成テーブル608を参照し、削除要求において指定された仮想ネットワークID1073または仮想ネットワーク用VLAN1074に対応する論理ポートID1071を特定する。
ステップ3405において、論理ネットワーク装置インタフェース機能611は、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605を参照し、ステップ3404で特定された論理ポートIDに対応する物理ネットワーク装置ID1042及び物理ポートID1043を特定する。
ステップ3406において、論理ネットワーク装置インタフェース機能611は、図14の物理ネットワーク装置構成テーブル609を参照し、削除要求に対応する物理ポートID1081のエントリを特定する。
ステップ3407において、論理ネットワーク装置インタフェース機能611は、ステップ3406で特定されたエントリの物理ネットワーク装置の物理ポートID1081に対して、削除要求で指定された仮想ネットワーク用VLAN1086に対応する仮想ネットワーク(ID1084)を構成変更あるいは削除する。具体的には、削除要求で指定された仮想ネットワークが仮想ネットワーク用VLAN1086以外のVLANを含んでいる場合は仮想ネットワークから当該VLANのみを削除する。一方、削除要求で指定された仮想ネットワークが当該VLANのみを含む場合、論理ネットワーク装置インタフェース機能611は当該仮想ネットワーク(ID1084)を削除する。
ステップ3408において、論理ネットワーク装置インタフェース機能611は、図14の物理ネットワーク装置構成テーブル609及び図13の論理ネットワーク装置構成テーブル608において、ステップ3407で構成変更または削除を行ったVLANまたは仮想ネットワークに対応するエントリを変更あるいは削除する。
ステップ3409において、論理ネットワーク装置インタフェース機能611は、図11の仮想ネットワーク管理テーブル606及び図12のVLAN管理テーブル607において、削除要求に対応する仮想ネットワーク及び仮想ネットワーク用VLANのエントリを変更あるいは削除する。
図25は、リソースの返還及び論理ネットワーク装置の削除手順の一例を示すフローチャートである。リソース利用者がリソース管理者から割り当てられていた計算機リソースをデータセンタ基盤4へ返還する場合、端末8がリソース管理装置5にリソースの返還要求を送信する。
ステップ3500において、リソース管理装置5のリソース管理機能600は、リソース利用者の端末8からリソースの返還要求を受信する。リソースの返還要求には、返還するリソース1のリソースID1000が含まれる。
ステップ3501において、リソース管理機能600は、リソース利用者管理装置13に対して、返還要求の対象となるリソースの使用状況を問い合わせる。リソース利用者管理装置13は、当該リソースの使用状況を図示しないリソース利用状況テーブルから取得して、リソース管理装置5へ応答する。なお、図示しないリソース利用状況テーブルは、各リソース1毎にリソースの利用状況を定期的に収集したテーブルで、例えば、プロセッサの使用率や、メモリの使用量などを格納したテーブルであり、周知または公知の手法を用いることができる。あるいは、リソース管理装置5が、各リソース1のリソース利用状況を収集してテーブルに格納しても良い。
ステップ3502において、当該リソースが使用中であると判定された場合はステップ3515に進み、未使用であると判定された場合はステップ3503に進む。なお、ステップ3501及びステップ3502を省略し、ステップ3503に進んでもよい。
ステップ3503において、リソース管理機能600は、図8の物理ネットワーク装置及びリソース間マッピングテーブル603を参照し、返還要求で指定されたリソースID1022に対応する物理ネットワーク装置ID1020及び物理ポートID1021を特定する。
ステップ3504において、リソース管理機能600は、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605を参照し、ステップ3504で特定した物理ネットワーク装置ID及び当該物理ポートIDに対応する論理ネットワーク装置ID1040及び論理ポートID1041を特定する。
ステップ3505において、リソース管理機能600は、図13の論理ネットワーク装置構成テーブル608及び図14の物理ネットワーク装置構成テーブル609を参照し、上記特定された物理ポートID1021及び論理ポートID1041に対応するエントリをそれぞれ特定する。
ステップ3506において、リソース管理機能600は、ステップ3505で特定されたエントリに対応するVLAN1085、1086、1087や仮想ネットワークID1083、1084、仮想ネットワーク用VLAN1085を、上記特定された物理ネットワーク装置の物理ポートIDのエントリから削除する。
ステップ3507において、リソース管理機能600は、図11の仮想ネットワーク管理テーブル606及び図12のVLAN管理テーブル607から、ステップ3506で削除したVLANや仮想ネットワーク、仮想ネットワーク用VLANを削除する。
ステップ3508において、リソース管理機能600は、図13の論理ネットワーク装置構成テーブル608及び図14の物理ネットワーク装置構成テーブル609、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605、図8の物理ネットワーク装置及びリソース間マッピングテーブル603を更新し、返還要求のリソースに関するエントリを削除する。
ステップ3509において、リソース管理機能600は、リソース利用者の端末8から論理ネットワーク装置の削除要求を受信する。この削除要求には論理ネットワーク装置のIDが含まれる。
ステップ3510において、リソース管理機能600は、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605及び図8の物理ネットワーク装置及びリソース間マッピングテーブル603を参照し、削除要求の論理ネットワーク装置に接続されているリソースの有無を決定する。
ステップ3511において、削除要求の論理ネットワーク装置にリソースが接続されているとリソース管理機能600で判定された場合はステップ3515に進み、接続されていないと判定された場合はステップ3512に進む。なお、ステップ3510及びステップ3511を省略し、ステップ3512に進んでもよい。
ステップ3512において、リソース管理機能600は、図13の論理ネットワーク装置構成テーブル608及び図14の物理ネットワーク装置構成テーブル609を参照して、削除要求の論理ネットワーク装置に設定されたVLANや仮想ネットワーク、仮想ネットワーク用VLANがあれば物理ネットワーク装置から削除する。
ステップ3513において、リソース管理機能600は、図11の仮想ネットワーク管理テーブル606及び図12のVLAN管理テーブル607を参照し、削除要求の論理ネットワーク装置の仮想ネットワーク及び当該仮想ネットワーク用VLANを含むエントリを削除する。
ステップ3514において、リソース管理機能600は、図13の論理ネットワーク装置構成テーブル608及び図14の物理ネットワーク装置構成テーブル609、図10の論理ネットワーク装置及び物理ネットワーク装置間マッピングテーブル605、図8の物理ネットワーク装置及びリソース間マッピングテーブル603を更新し、削除要求の論理ネットワーク装置に関するエントリを削除する。
ステップ3515において、リソース管理機能600は、リソース利用者の端末8に対して、当該リソースが使用中であり削除できない旨のエラーを応答する。
以上の処理により、端末8が返還を要求した物理リソースの割り当てを解除し、削除要求のあった論理ネットワーク装置を削除することで、リソース利用者はデータセンタ基盤4へリソースを返還することができる。
図26は、リソースの過不足通知及びリソースの追加及び返還提案手順の一例を示すフローチャートである。本フローチャートは定期的、あるいは、リソース管理者が入力部504を操作することによって適宜実施される。
ステップ3600において、リソース管理機能600は、図6のリソース管理テーブル601及び図7のリソース利用状況基準管理テーブル610を参照し、リソース利用者毎の割り当てリソース、及び、当該リソースに対応するリソース利用状況基準1092を取得する。
ステップ3601において、リソース管理機能600は、リソース利用者毎に割り当てたリソースについて当該リソースの実際の利用状況をリソース利用者管理装置13に問い合わせる。リソース管理機能600は、リソース利用者管理装置13が応答したリソースの利用状況を、上記ステップ3600で取得したリソース利用状況基準1092と照らし合わせて、リソースの過不足を判定する。
ステップ3602において、リソース管理機能600は、リソースが不足していると判定した場合はステップ3603に進み、不足していないと判定した場合はステップ3608に進む。
ステップ3603において、リソース管理機能600は、リソース利用者の端末8にリソース不足を警告する。
ステップ3604において、リソース管理機能600は、リソース管理テーブル601を参照し、空きリソースの有無を判定する。
ステップ3605において、リソース管理機能600は、空きリソースがあると判定した場合はステップ3606に進み、空きリソースが無いと判定した場合はステップ3607に進む。
ステップ3606において、リソース管理機能600は、リソース利用者の端末8に上記空きリソースの追加を提案する。
ステップ3607において、リソース管理機能600は、リソース管理装置5の表示部503へ所定の警告を出力し、リソース管理者に空きリソースが不足していることを警告する。
ステップ3608において、リソース管理機能600は、リソース利用者に割り当てたリソースが余剰であるか否かを判定する。リソース管理機能600は、リソースが余っていると判定した場合はステップ3609に進み、余っていないと判定した場合は処理を終了する。
ステップ3609において、リソース管理機能600は、リソース利用者の端末8に余剰リソースの返還を提案する通知を送信する。
以上の処理により、リソース利用者に割り当てたリソースの過不足をリソース利用状況基準1092に基づいて判定して、割り当てたリソースが不足しているリソース利用者にはリソースを追加する提案を端末8に送信し、リソースが余剰のリソース利用者であればリソースを返還する提案を端末8に送信することができる。なお、上記処理は、全てのリソース利用者毎に順次実施することができる。
図27は、リソースの利用者変更処理の一例を示すフローチャートである。本フローチャートは定期的、あるいは、リソース管理者によって適宜実施される。
ステップ3700において、リソース管理機能600は、図6のリソース管理テーブル601及び図15のリソース利用状況基準管理テーブル610を参照し、利用者毎の割り当てリソース、及び、当該リソースに対応するリソース利用状況基準1092を取得する。
ステップ3701において、リソース管理機能600は、ソース利用者毎に割り当てたリソースについて当該リソースの実際の利用状況をリソース利用者管理装置13に問い合わせる。リソース管理機能600は、リソース利用者管理装置13が応答したリソースの利用状況を、上記ステップ3600で取得したリソース利用状況基準1092と照らし合わせて、リソース利用者毎にリソースの過不足を判定する。
ステップ3702において、リソース不足のリソース利用者がいると判定された場合はステップ3703に進み、リソース不足のリソース利用者がいないと判定された場合は本フローを終了する。
ステップ3703において、リソース管理機能600は、リソースが余剰のリソース利用者がいると判定した場合はステップ3704に進み、リソースが余剰のリソース利用者がいないと判定した場合はステップ3708に進む。
ステップ3704において、リソース管理機能600は、リソースが余剰のリソース利用者の端末8にリソースの返還を提案する通知を送信し、リソースが不足のリソース利用者の端末8にはリソースの追加を提案すする通知を送信する。
ステップ3705において、ステップ3704でリソース管理機能600の提案がリソース利用者の端末8で受入れられた場合はステップ3706に進み、受入れられなかった場合は本処理を終了する。
ステップ3706において、リソース管理機能600は、当該リソース、及び、当該リソースに関連するVLANや仮想ネットワーク、仮想ネットワーク用VLAN、論理ネットワーク装置を特定する。そして、リソース管理機能600は、特定したリソース1についてリソースが余剰のリソース利用者の論理ネットワーク70に関する設定を解除し、リソースが不足しているリソース利用者に追加する。リソース1の追加については上記と同様に行えば良い。
以上の処理によって、リソース利用者毎にリソースが余剰のリソース利用者からリソースが不足しているリソース利用者にリソース1の割り当てを変更することが可能となる。
図28A、28Bは、リソース管理装置5における、リソース管理者用の画面の一例を示す図である。なお、リソース管理者は図示のGUIの他、入力部504及び表示部503を利用してリソース管理装置5をCLIやAPIを通して操作してもよい。
図28Aにおいて、画面4000は、リソース管理装置5の表示部503に出力されるリソース一覧を示す画面である。
画面4000内に表示されるリソースID4001は、リソースを一意に識別するための情報(識別子)である。リソース種別4002は、ホストコンピュータ10やアプライアンス12、ストレージ11等のリソースの種類を示す情報である。リソース利用者4003は、リソース利用者を一意に識別する情報(識別子)である。
図28Bにおいて、画面4010は、図2に示した計算機システムの物理的なトポロジを示す画面であり、図2の全体的な構成を明示するためのものである。画面4010内のポップアップ4011は、リソースを割り当てられたリソース利用者の情報を表示する。
図29A、図29Bは、リソース管理装置5における、リソース利用者用の画面の一例を示す図であり、あるリソース利用者に示すためのものである。なお、リソース利用者はリソース管理装置5をCLIやAPIを通して操作してもよい。
図29Aにおいて、画面4020は、当該リソース利用者のリソースの実際の利用状況を示す画面である。グラフ4021は、当該リソース利用者に割り当てられたリソースにおいて、実際に利用中のリソースの割合を示す。リソース追加要求ボタン4022は、リソース管理装置5に対して、リソースの追加要求を送信するためのものである。割り当てリソース一覧表4023は、当該リソース利用者に割り当てられたリソースの一覧、及び、リソース毎の利用状況を示す。リソース返還ボタン4024は、リソース管理装置5に対して、未使用のリソースの返還要求を送信するためのものである。
図29Bにおいて 画面4030は、当該リソース利用者の端末8が認識する計算機システムのトポロジを示す画面であり、図3の論理的な計算機リソースの構成を表示するためのものである。このトポロジは、リソース利用者が操作可能な計算機リソースの構成を示す。
以上、本発明の第一の実施形態を説明した。第一の実施形態によると、データセンタリソース配分システムは、一つ以上のデータセンタを含むデータセンタ基盤4において、リソース1が接続されたネットワーク装置をリソース管理装置5によって集中制御し、論理サービスネットワーク71と連携して論理基盤ネットワーク72を仮想化することで、リソース1を柔軟に繋ぎ合わせてリソース群を構成し、個々の用途に対して提供する。換言すれば、リソース管理装置5は、仮想化された論理サービスネットワーク71及び論理基盤ネットワーク72でリソース1を接続することで、用途(または業務)毎に論理的に分離されたリソースの集合を構成して、リソース利用者の端末8にリソースの集合を提供することができる。
また、論理サービスネットワーク71と連携した論理基盤ネットワーク72の仮想化、及び、リソース間を繋ぐ論理的なネットワーク装置の提供により、用途毎にネットワークを抽象化し、用途毎に論理的に分離されたリソース群を柔軟に提供する。
さらに、リソース管理装置5、及び、論理ネットワーク装置において、リソースや論理ネットワークを構成変更するためのインタフェース(API等)を提供することで、用途毎のオンデマンドでのリソースの追加や返還、リソース間の論理ネットワークの構成変更を行い、物理的なネットワークに反映する。