(57)【要約】【課題】ＶＬＡＮとＶＸＬＡＮとの変換を行う際に使用可能なＶＮＩの数の制限を解消する。【解決手段】管理サーバ１０は、マルチテナントシステム１に含まれるテナントのうち、マルチテナントシステム１内で稼動する仮想マシンを使用するテナントを識別するＶＮＩを割り当てる。また、管理サーバ１０は、マルチテナントシステム１に含まれるテナントのうち、各ＬＡＮ２、４、６で稼動する仮想マシンに対し、ＶＴＥＰごとに、以下の処理を実行する。すなわち、管理サーバ１０は、マルチテナントシステム１内で稼動する仮想マシンを使用するテナントを、各ＬＡＮ２、４、６ごとに識別するＶＬＡＮ番号を割り当てる。また、管理サーバ１０は、各仮想マシンに対して割り当てたＶＮＩとＶＬＡＮ番号とを対応付けた変換情報を、各ＶＴＥＰごとに生成する。そして、管理サーバ１０は、生成した変換情報に従ってパケットをカプセル化するように、各ＶＴＥＰを設定する。【選択図】図１
2014143560.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンが出力したパケットの転送を、第１のネットワークを介して行う複数の終端装置と、前記終端装置の管理を行う管理装置とを有するマルチテナントシステムにおいて、
前記管理装置は、
前記マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てる第１の割り当て部と、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てる第２の割り当て部と、
各仮想マシンに対して前記第１の割り当て部が割り当てた第１の識別子と前記第２の割り当て部が割り当てた第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成する生成部と、
前記生成部が生成した変換情報を各終端装置に配信する配信部とを有し、
前記終端装置は、
前記配信部が配信した変換情報を記憶する記憶部と、
パケットを受信すると、受信した前記パケットを発信した仮想マシンを使用するテナントに割り当てられた第２の識別子と対応付けられた第１の識別子を、前記記憶部が記憶する変換情報から取得する取得部と、
前記取得部が取得した第１の識別子を含むヘッダを前記パケットに付加してカプセル化する変換部と、
前記変換部がカプセル化したパケットを、前記第１のネットワークを介して他の終端装置へ送信する送信部とを有することを特徴とするマルチテナントシステム。
【請求項２】
前記取得部は、
前記他の終端装置からカプセル化されたパケットを受信すると、前記記憶部が記憶する変換情報から、カプセル化された前記パケットに含まれる第１の識別子に対応付けられた第２の識別子を取得し、
前記変換部は、
カプセル化された前記パケットを、前記取得部が取得した第２の識別子で識別される仮想マシン宛のパケットに変換し、
前記送信部は、
前記終端装置が設置された第２のネットワークに対して、前記仮想マシン宛のパケットを送信することを特徴とする請求項１記載のマルチテナントシステム。
【請求項３】
前記第２の割り当て部は、
１つの前記第２のネットワーク内で稼動する仮想マシンのうち、同一テナントに含まれる仮想マシンが複数存在する場合、前記同一テナントに含まれる複数の仮想マシンに対して、同一の第２の識別子を割り当て、
前記変換部は、
前記終端装置が設置された第２のネットワーク内で稼働する仮想マシンのうち、同一の第２の識別子が割り当てられた仮想マシン同士が送受信するパケットについては、カプセル化を行わないことを特徴とする請求項１又は２に記載のマルチテナントシステム。
【請求項４】
前記管理装置は、
前記終端装置を識別する終端装置識別子と、前記終端装置が設置されたネットワーク内で稼働する仮想マシンに割り当てられていない第２の識別子とを対応付けて記憶する識別子記憶部を有し、
前記第２の割り当て部は、
新たなテナントが使用する仮想マシンが稼働する場合は、前記識別子記憶部が記憶する第２の識別子のうち、前記新たなテナントが使用する仮想マシンが稼働する第２のネットワークに設置された終端装置の終端装置識別子に対応付けられた第２の識別子の中から、前記新たなテナントが使用する仮想マシンに割り当てる第２の識別子を選択し、前記選択した第２の識別子を前記新たなテナントが使用する仮想マシンに割り当てることを特徴とする請求項１〜３のいずれか１項に記載のマルチテナントシステム。
【請求項５】
前記管理装置は、
前記終端装置識別子と、当該終端装置識別子が示す終端装置が設置された第２のネットワーク内で稼働する仮想マシンに割り当てられた第２の識別子と、前記第２のネットワーク内で稼働する仮想マシンに割り当てられた第２の識別子を使用する仮想マシンの数とを対応付けて記憶する使用数記憶部と、
仮想マシンを停止させる場合、前記使用数記憶部が記憶する仮想マシンの数のうち、停止させる前記仮想マシンが稼動する第２のネットワークに設置された終端装置を示す終端装置識別子、および、停止させる前記仮想マシンに割り当てられた第２の識別子に対応付けられた仮想マシンの数から１を減算する減算部と、
仮想マシンの数が零である場合、停止させる前記仮想マシンに割り当てられた第２の識別子と、させる前記仮想マシンが稼働する第２のネットワークに設置された終端装置を示す終端装置識別子とを対応付けて前記識別子記憶部に格納する格納部と
を有することを特徴とする請求項４記載のマルチテナントシステム。
【請求項６】
前記ネットワーク内におけるＶＬＡＮ番号、または拡張ＶＬＡＮ番号、または外部ＶＬＡＮ番号を前記第２の識別子とすることを特徴とする請求項１〜５のいずれか１項に記載のマルチテナントシステム。
【請求項７】
前記終端装置は、
前記終端装置が設置されたネットワーク内で稼動する仮想マシンと対応付けられた変換部を複数有し、
前記取得部は、
各変換部と対応付けられた仮想マシンに割り当てられた第２の識別子と対応付けられた第１の識別子を前記変換情報から取得して、取得した前記第１の識別子を各変換部に通知し、
前記変換部は、
前記取得部から通知された第１の識別子を用いて、前記対応付けられた仮想マシンが出力するパケットをカプセル化することを特徴とする請求項１〜６のいずれか１項に記載のマルチテナントシステム。
【請求項８】
マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てる第１の割り当て部と、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てる第２の割り当て部と、
各仮想マシンに対して前記第１の割り当て部が割り当てた第１の識別子と前記第２の割り当て部が割り当てた第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成する生成部と、
前記生成部が生成した変換情報に従って前記パケットをカプセル化するように、各終端装置を設定する設定部と
を有することを特徴とする管理装置。
【請求項９】
コンピュータに、
マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てさせ、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てさせ、
各仮想マシンに対して割り当てた前記第１の識別子と前記第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成させ、
前記生成した変換情報に従って前記パケットをカプセル化するように、各終端装置を設定させることを特徴とする管理プログラム。
【請求項１０】
仮想マシンが出力したパケットの転送を、第１のネットワークを介して行う複数の終端装置と、前記終端装置の管理を行う管理装置とを有するマルチテナントシステムの制御方法において、
前記管理装置が、
前記マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てし、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てし、
各仮想マシンに対して割り当てた前記第１の識別子と前記第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成し、
前記生成した変換情報を各終端装置に配信し、
前記終端装置が、
前記配信部が配信した変換情報を記憶し、
パケットを受信すると、受信した前記パケットを発信した仮想マシンを使用するテナントに割り当てられた第２の識別子と対応付けられた第１の識別子を、前記記憶した変換情報から取得し、
前記取得した第１の識別子を含むヘッダを前記パケットに付加してカプセル化し、
前記カプセル化したパケットを、前記第１のネットワークを介して他の終端装置へ送信することを特徴とするマルチテナントシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法に関する。
【背景技術】
【０００２】
従来、マルチテナント環境を柔軟に実現するため、ネットワークを仮想化する技術が知られている。例えば、仮想マシンが他の仮想マシンと送受信するパケットをカプセル化し、Ｌ（Layer）３ネットワークを介して、カプセル化したパケットの転送を行うＶＸＬＡＮ（Virtual  Extensible  Local  Area  Network）の技術が知られている。
【０００３】
図３８は、ＶＸＬＡＮを説明する図である。図３８に示すマルチテナントシステム６０は、レイヤ３ネットワーク６６を介して接続したサーバ６１とサーバ６７とを有する。また、サーバ６１は、ハイパーバイザ６２を動作させ、ハイパーバイザ６２上で仮想マシンであるＶＭ（Virtual  Machine）６３、６４、およびトンネル終端ポイントであるＶＴＥＰ（Virtual  Tunnel  End  Point）６５を動作させる。また、サーバ６７は、ハイパーバイザ６８を動作させ、ハイパーバイザ６８上でＶＭ６９、７０、ＶＴＥＰ７１を動作させる。
【０００４】
ＶＭ６３、ＶＭ６４、ＶＭ６９、ＶＭ７０は、テナントが使用する仮想マシンであり、使用するテナントごとに異なる２４ビットのＶＮＩ（Visual  Networking  Index）が割り当てられている。また、ＶＴＥＰ６５、およびＶＴＥＰ７１は、各ＶＭ６３、６４、６９、７０が出力したパケットにＶＮＩを含むヘッダを付加してカプセル化し、レイヤ３ネットワーク６６を介して、パケットの転送を行う。
【０００５】
例えば、図３８に示す例では、ＶＭ６３とＶＭ６９とに、ＶＮＩ「２２」が割り当てられており、ＶＭ６４とＶＭ７０とに、ＶＮＩ「３４」が割り当てられている。ＶＴＥＰ６５は、ＶＭ６３がＶＭ６９宛のパケットを発行すると、ＶＭ６３に割り当てられたＶＮＩ「２２」を含むＶＸＬＡＮヘッダをパケットに付加してカプセル化する。
【０００６】
そして、ＶＴＥＰ６５は、レイヤ３ネットワーク６６を介して、カプセル化したパケットをサーバ６７に送信する。一方、ＶＴＥＰ７１は、受信したパケットからＶＸＬＡＮヘッダを削除し、パケットをＶＭ６９に出力する。この結果、マルチテナントシステム６０は、レイヤ３ネットワーク６６を介したパケット通信を実現する。
【０００７】
また、ＶＬＡＮ（Virtual  Local  Area  Network）を利用したネットワークのパケットをスイッチがＶＸＬＡＮに変換する技術が知られている。例えば、図３９は、スイッチでのＶＸＬＡＮ変換を説明する図である。図３９に示す例では、マルチテナントシステム６０は、サーバ６１とレイヤ３ネットワーク６６との間に、ＶＴＥＰ６５の機能を有するスイッチ７２を有する。また、マルチテナントシステム６０は、サーバ６７とレイヤ３ネットワーク６６との間に、ＶＴＥＰ７１の機能を有するスイッチ７３を有する。
【０００８】
また、図３９に示す例では、ＶＭ６３、ＶＭ６４、ＶＭ６９、ＶＭ７０に１２ビットのＶＬＡＮ（Virtual  Local  Area  Network）のＩＤ（Identify）が割り当てられている。例えば、ＶＭ６３とＶＭ６９には、ＶＬＡＮ番号「１０」が割り当てられており、ＶＭ６４とＶＭ７０には、ＶＬＡＮ番号「２０」が割り当てられている。
【０００９】
また、スイッチ７２、７３は、ＶＭ６３、ＶＭ６４、ＶＭ６９、ＶＭ７０に割り当てられたＶＬＡＮ番号をＶＮＩに変換する変換情報を記憶する。そして、スイッチ７２、７３は、ＶＬＡＮ番号とＶＮＩとの変換を行う。例えば、スイッチ７２、７３は、各ＶＭのＶＬＡＮ番号「１０」とＶＮＩ「２２」とを対応付けて記憶し、ＶＬＡＮ番号「２０」とＶＮＩ「３４」とを対応付けて記憶する。そして、スイッチ７２は、ＶＭ６３がＶＭ６９宛のパケットを出力すると、ＶＭ６３に割り当てられたＶＬＡＮ番号「１０」に対応付けられたＶＮＩ「２２」を識別する。
【００１０】
その後、スイッチ７２は、ＶＭ６３が出力したパケットにＶＮＩ「２２」を含むヘッダを付加してカプセル化し、レイヤ３ネットワーク６６を介してパケットをスイッチ７３に送信する。一方、スイッチ７３は、受信したパケットのヘッダに含まれるＶＮＩ「２２」と対応付けられたＶＬＡＮ番号「１０」を識別する。そして、スイッチ７３は、受信したパケットのヘッダを削除し、ＶＬＡＮ番号が「１０」であるＶＭ６９にパケットを出力する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００２−２４７０８９号公報
【特許文献２】特開２０１１−２５４３７８号公報
【特許文献３】特開２００８−２２７６９５号公報
【非特許文献】
【００１２】
【非特許文献１】“VXLAN:  A  Framework  for  Overlaying  Virtualized  Layer  2  Networks  over  Layer  3  Networks  draft-mahalingam-dutt-dcops-vxlan-00.txt”、［online］、［平成２４年１２月２１日検索］、インターネット＜http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-00#page-9＞
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したＶＬＡＮとＶＸＬＡＮの変換を行う技術では、ＶＬＡＮ番号とＶＮＩとを対応付けた同一の変換情報を各スイッチが利用する。このため、マルチテナントシステム全体で使用可能なＶＮＩの数がＶＬＡＮの最大数に制限されてしまうという問題がある。
【００１４】
１つの側面では、ＶＬＡＮとＶＸＬＡＮとの変換を行う際に使用可能なＶＮＩの数の制限を解消する。
【課題を解決するための手段】
【００１５】
１つの側面では、マルチテナントシステムに含まれるテナントのうち、マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てる管理装置である。また、管理装置は、マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、終端装置ごとに、以下の処理を実行する。すなわち、管理装置は、マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てる。また、管理装置は、各仮想マシンに対して割り当てた第１の識別子と第２の識別子とを対応付けた変換情報を、終端装置ごとに生成する。そして、管理装置は、生成した変換情報に従ってパケットをカプセル化するように、各終端装置を設定する。
【発明の効果】
【００１６】
１つの側面では、ＶＬＡＮとＶＸＬＡＮとの変換を行う際に使用可能なＶＮＩの数の制限を解消する。
【図面の簡単な説明】
【００１７】
【図１】図１は、マルチテナントシステムを説明する図である。
【図２】図２は、ネットワークを流れるパケットのフレームフォーマットの一例を説明する図である。
【図３】図３は、管理サーバが実行する処理の一例を説明する図である。
【図４】図４は、実施例１に係るマルチテナントシステムの効果の一例を説明する図である。
【図５】図５は、管理サーバの機能構成の一例を説明する図である。
【図６】図６は、ＶＴＥＰ位置ＤＢが記憶する情報の一例を説明する図である。
【図７】図７は、ＶＭ位置ＤＢが記憶する情報の一例を説明する図である。
【図８】図８は、ＶＭ仮想ネットワークＤＢが記憶する情報の一例を説明する図である。
【図９】図９は、ＶＬＡＮプールが記憶する情報の一例を説明する図である。
【図１０】図１０は、割り当て数管理ＤＢが記憶する情報の一例を説明する図である。
【図１１】図１１は、スイッチが有する機能構成の一例を説明する図である。
【図１２】図１２は、ＶＬＡＮ変換テーブルの一例を説明する図である。
【図１３】図１３は、ＭＡＣテーブルの一例を説明する図である。
【図１４】図１４は、スイッチが実行する変換処理の一例を説明する図である。
【図１５】図１５は、新たに生成したＶＭにＶＮＩとＶＬＡＮ番号とを割り当てる処理の流れを説明するためのフローチャートである。
【図１６】図１６は、ＶＭが移動した際にＶＮＩとＶＬＡＮ番号とを更新する処理の流れを説明するためのフローチャートである。
【図１７】図１７は、ＶＭが停止した際にＶＮＩとＶＬＡＮ番号との割り当てを解除する処理の流れを説明するためのフローチャートである。
【図１８】図１８は、実施例２に係るサーバが有する機能構成の一例を説明する図である。
【図１９】図１９は、実施例２に係るスイッチが有する機能構成の一例を説明する図である。
【図２０】図２０は、実施例２に係るサーバが実行する処理を説明する図である。
【図２１】図２１は、ＶＭの移動先に係るサーバが実行する処理の一例を説明するためのシーケンス図である。
【図２２】図２２は、ＶＭの移動元に係るＶＴＥＰが実行する処理の一例を説明するためのシーケンス図である。
【図２３】図２３は、変換機能を有するＳＲ−ＩＯＶアダプタの一例を説明する図である。
【図２４】図２４は、変換機能を有するＭＰＦアダプタの一例を説明する図である。
【図２５】図２５は、実施例４に係る管理サーバの機能構成の一例を説明する図である。
【図２６】図２６は、拡張ＶＬＡＮプールが記憶する情報の一例を説明する図である。
【図２７】図２７は、実施例４に係る割り当て数管理ＤＢが記憶する情報の一例を説明する図である。
【図２８】図２８は、実施例４に係るサーバの一例を説明する図である。
【図２９】図２９は、実施例４に係るＶＮＩ変換テーブルの一例を説明する図である。
【図３０】図３０は、ＶＦグループ情報定義テーブルの一例を説明する図である。
【図３１】図３１は、実施例４に係るアダプタが送信するパケットのフォーマットの一例を説明する図である。
【図３２】図３２は、実施例４に係るＳＲ−ＩＯＶアダプタが実行する処理の一例を説明する図である。
【図３３】図３３は、実施例４に係るＶＮＩ変換テーブルのバリエーションの一例を説明する図である。
【図３４】図３４は、実施例４に係るＶＦグループ情報定義テーブルのバリエーションの一例を説明する図である。
【図３５】図３５は、実施例４に係るパケットのバリエーションの一例を説明する図である。
【図３６】図３６は、実施例４に係るＳＲ−ＩＯＶアダプタが実行する処理の一例を説明する図である。
【図３７】図３７は、管理プログラムを実行するコンピュータの一例について説明する図である。
【図３８】図３８は、ＶＸＬＡＮを説明する図である。
【図３９】図３９は、スイッチでのＶＸＬＡＮ変換を説明する図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照して本願に係るマルチテナントシステム、管理装置、管理プログラム、およびマルチテナントシステムの制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により開示技術が限定されるものではない。また、各実施例は、矛盾しない範囲で適宜組みあわせてもよい。
【実施例１】
【００１９】
以下の実施例１では、図１を用いて、マルチテナントシステムの一例を説明する。図１は、マルチテナントシステムを説明する図である。図１に示す例では、マルチテナントシステム１は、ＬＡＮ（Local  Area  Network）２、４、６、ファブリック３、５、７、ネットワーク８、管理サーバ１０を有する。
【００２０】
ここで、ＬＡＮ２は、サーバ２ａ、２ｂを有する。また、ＬＡＮ４は、サーバ４ａ、４ｂを有する。また、ＬＡＮ６は、サーバ６ａ、６ｂを有する。また、ファブリック３は、スイッチ３ａを有する。また、ファブリック５は、スイッチ５ａを有する。また、ファブリック７は、スイッチ７ａを有する。
【００２１】
なお、以下の説明では、サーバ２ｂ、サーバ４ａ、サーバ４ｂ、サーバ６ａ、サーバ６ｂは、サーバ２ａと同様の機能を発揮するものとして、説明を省略する。また、スイッチ５ａ、スイッチ７ａは、スイッチ３ａと同様の機能を発揮するものとして、説明を省略する。
【００２２】
サーバ２ａは、仮想マシン（VM:Virtual  Machine）を稼動させる情報処理装置である。詳細には、サーバ２ａは、ＣＰＵ（Central  Processing  Unit）とメモリと通信制御を行う通信制御部とを有し、ＶＭの制御を行うハイパーバイザを動作させ、ハイパーバイザ上で１つ以上のＶＭを稼動させる。
【００２３】
ファブリック３は、１つ以上のスイッチを有するスイッチの集合体であり、各サーバ２ａ、２ｂ、４ａ、４ｂ、６ａ、６ｂ上で稼動するＶＭからは、ファブリック３全体で１つのスイッチとして識別される。なお、図１では、理解を容易にするため、ファブリック３が有するスイッチのうち、スイッチ３ａのみを記載した。また、図１に示す例では、スイッチ３ａは、サーバ２ａ、２ｂ、およびネットワーク８と直接接続されたスイッチであるが、実施例はこれに限定されるものではない。
【００２４】
例えば、スイッチ３ａは、直接サーバ２ａ、２ｂと接続されていなくともよく、ネットワーク８に直接接続されていなくともよい。すなわち、マルチテナントシステム１においては、ファブリック３に含まれる任意のスイッチにスイッチ３ａの機能を発揮させることとしてよい。
【００２５】
スイッチ３ａは、ＶＸＬＡＮ（Virtual  Extensible  Local  Area  Network）の技術を利用して、ネットワーク８を介して転送するパケットの終端処理を行う終端装置である。例えば、スイッチ３ａは、サーバ２ａ、サーバ２ｂ、サーバ４ａ、サーバ４ｂ、サーバ６ａ、サーバ６ｂが稼動させるＶＭが送受信するパケットの転送を行う。例えば、スイッチ３ａは、サーバ２ａ上で稼動するＶＭが、サーバ２ｂ上で稼動するＶＭに対して送信したパケットを受信すると、受信したパケットをサーバ２ｂに転送する。
【００２６】
また、スイッチ３ａは、サーバ２ａ上で稼動するＶＭが、サーバ４ａ上で稼動するＶＭに対して送信したパケットを受信すると、受信したパケットをカプセル化する。そして、スイッチ３ａは、ネットワーク８を介して、カプセル化したパケットをスイッチ５ａに転送する。また、スイッチ３ａは、ネットワーク８を介して、カプセル化したパケットを受信すると、受信したパケットのカプセル化を解除し、カプセル化を解除したパケットをサーバ２ａ、またはサーバ２ｂに出力する。
【００２７】
また、スイッチ３ａは、管理サーバ１０から配信される変換情報を用いて、パケットのカプセル化、およびカプセル化の解除を行う。詳細には、スイッチ３ａは、サーバ２ａ、２ｂ内で稼動するＶＭに対して割り当てられたＶＮＩ（Visual  Network  Identifier）とＶＬＡＮ（Virtual  Local  Area  Network）の番号とが対応付けられた変換情報を管理サーバ１０から受信する。
【００２８】
そして、スイッチ３ａは、サーバ２ａ、２ｂから、送信元となるＶＭに割り当てられたＶＬＡＮ番号を含む内部ヘッダが付与されたパケットを受信する。すると、スイッチ３ａは、内部ヘッダに含まれたＶＬＡＮ番号と対応付けられたＶＮＩを変換情報から取得し、取得したＶＮＩを含む外部ヘッダをパケットに付加することで、パケットをカプセル化する。そして、スイッチ３ａは、ネットワーク８を介して、カプセル化したパケットをスイッチ５ａ、またはスイッチ７ａへ送信する。
【００２９】
一方、スイッチ３ａは、ネットワーク８を介して、カプセル化したパケットを受信すると、受信したパケットの外部ヘッダに含まれるＶＮＩと対応付けられたＶＬＡＮ番号を変換情報から取得する。そして、スイッチ３ａは、外部ヘッダを削除すると、内部ヘッダに格納されたＶＬＡＮ番号を、変換情報から取得したＶＬＡＮ番号に変換する。そして、スイッチ３ａは、ＶＬＡＮ番号を変換したパケットをサーバ２ａ、またはサーバ２ｂに出力する。
【００３０】
ここで、図２を用いて、スイッチ３ａがネットワーク８を介して送受信するパケットのフォーマットについて説明する。図２は、ネットワークを流れるパケットのフレームフォーマットの一例を説明する図である、図２に示すように、ネットワーク８を流れるパケットは、アウターヘッダとインナーヘッダとがデータに付与されたフォーマットを有する。
【００３１】
詳細には、図２中の「Ｄａｔａ」とは、パケットに格納されるデータである。また、インナーヘッダとは、各ＬＡＮ２、４、６内でパケットの送受信を行う際に利用される情報が格納されたヘッダである。具体的には、インナーヘッダには、「Inner  DA（Destination  Address）」、「Inner  SA（Source  Address）」、「C-tag[802.1Q]」が含まれる。また、インナーヘッダには、「IPv（Internet  Protocol  version）4  Header」、「UDP（User  Datagram  Protocol）/TCP（Transmission  Control  Protocol）  Header」が含まれる。
【００３２】
ここで、「Inner  DA（Destination  Address）」には、送信先のＶＭの仮想ＭＡＣアドレスが格納され、「Inner  SA（Source  Address）」には、送信元のＶＭの仮想ＭＡＣアドレスが格納される。また、「C-tag[802.1Q]」とは、ＶＬＡＮ番号を含むＶＬＡＮタグである。また、「IPv4  Header」は、ＩＰパケットのヘッダ、つまりＶＭが出力するパケットのＩＰヘッダであり、「UDP/TCP  Header」は、ＶＭが出力するパケットのＵＤＰ／ＴＣＰヘッダである。
【００３３】
一方、アウターヘッダとは、ネットワーク８を介してパケットを送受信する際に用いるヘッダである。すなわち、スイッチ３ａは、アウターヘッダを付加してパケットをカプセル化し、カプセル化したパケットを転送することで、ネットワーク８上に仮想的なネットワークであるオーバーレイネットワークを形成する。
【００３４】
例えば、図２に示す例では、アウターヘッダには「Outer  DA」、「Outer  SA」、「C-Tag[802.1Q]」、「Ether  Type」、「IPv4Header」、「UDP  Header」、「VXLAN  Header」が含まれる。ここで、「Outer  DA」とは、ネットワーク８においてパケットを送受信する際に用いる送信先のＭＡＣアドレスであり、「Outer  SA」とは、ネットワーク８においてパケットを送受信する際に用いる送信元のＭＡＣアドレスである。また、「C-Tag[802.1Q]」とは、外部ＶＬＡＮ番号を含むタグである。また、「IPv4Header」、および「UDP  Header」とは、ネットワーク８においてパケットの送受信する際に用いるＩＰヘッダ、およびＵＤＰヘッダである。
【００３５】
また、「VXLAN  Header」とは、ＶＸＬＡＮによるパケットの転送を行う際に用いる情報であり、送信元、および送信先のＶＭに付与されたＶＮＩが格納される。詳細には、「VXLAN  Header」は、図２に示すように、８ビットのフラグ「RRRRIRRR」、２４ビットの「Reserved」、２４ビットの「VNI」、８ビットの「Reserved」を有する。ここで、「Reserved」とは、予備領域であり、「VNI」とは、各ＶＭに割り当てられた２４ビットのＶＮＩが格納される領域である。
【００３６】
例えば、スイッチ３ａは、データにインナーヘッダが付加されたパケットをサーバ２ａから受信すると、受信したパケットのインナーヘッダに含まれるＶＬＡＮタグに格納されたＶＬＡＮ番号を取得する。そして、スイッチ３ａは、管理サーバ１０から配布された変換情報に、インナーヘッダから取得したＶＬＡＮ番号と対応付けられたＶＮＩを取得する。その後、スイッチ３ａは、取得したＶＮＩを「VXLAN  Header」に格納したアウターヘッダを付加してパケットをカプセル化し、カプセル化したパケットをネットワーク８に出力する。
【００３７】
また、スイッチ３ａは、カプセル化したパケットを受信すると、受信したパケットのアウターヘッダに含まれる「VXLAN  Header」からＶＮＩを取得し、取得したＶＮＩと対応付けられたＶＬＡＮ番号を変換情報から取得する。そして、スイッチ３ａは、カプセル化されたパケットのアウターヘッダを削除すると、インナーヘッダのＶＬＡＮタグに格納されたＶＬＡＮ番号を、変換情報から取得したＶＬＡＮ情報に変換し、変換後のパケットをサーバ２ａ、またはサーバ２ｂに出力する。
【００３８】
図１に戻って、管理サーバ１０は、マルチテナントシステム１が有するＶＭ、および各スイッチ３ａ、５ａ、７ａの管理を行う管理装置である。具体的には、管理サーバ１０は、マルチテナントシステム１上で稼動する全てのＶＭのうち、ＶＭを使用するテナントを示すＶＮＩを割り当てる。
【００３９】
また、管理サーバ１０は、スイッチごとに、スイッチが設置されたＬＡＮ内でＶＭを使用するテナントを示すＶＬＡＮ番号を選択する。そして、管理サーバ１０は、特定したスイッチごとに、ＶＭに割り当てたＶＮＩと選択したＶＬＡＮ番号とを対応付けた変換情報を生成し、生成した変換情報を特定したスイッチに配布する。
【００４０】
以下、管理サーバ１０が実行する処理の一例を説明する。なお、以下の説明では、あるテナントが使用するＶＭがサーバ２ａ、サーバ２ｂ、およびサーバ４ａで稼動する例について説明する。例えば、管理サーバ１０は、同一のテナントが使用するＶＭに１つのＶＮＩ「Ａ」を割り当てる。次に、管理サーバ１０は、ＶＭが稼動するＬＡＮ２およびＬＡＮ４で終端処理を行うスイッチ３ａ、およびスイッチ５ａを特定する。
【００４１】
次に、管理サーバ１０は、ＬＡＮ２内でＶＭを使用するテナントを示すＶＬＡＮ番号「Ｂ」を選択し、ＬＡＮ３内でＶＭを使用するテナントを示すＶＬＡＮ「Ｃ」を選択する。ここで、管理サーバ１０は、ＶＬＡＮ番号「Ｂ」とＶＬＡＮ番号「Ｃ」とを同じ値にしてもよく、異なる値にしてもよい。つまり、管理サーバ１０は、各スイッチ３ａ、５ａ、７ａが終端処理を行うＬＡＮごとに、ＶＭを使用するテナントを示すＶＬＡＮ番号を選択する。
【００４２】
このため、管理サーバ１０は、同一のテナントが使用するＶＭであっても、ＬＡＮ２内で稼動するＶＭとＬＡＮ４内で稼動するＶＭとに異なるＶＬＡＮ番号を付与する場合がある。その後、管理サーバ１０は、ＶＮＩ「Ａ」とＶＬＡＮ番号「Ｂ」とを対応付けた変換情報をスイッチ３ａに配信し、ＶＮＩ「Ａ」とＶＬＡＮ番号「Ｃ」とを対応付けた変換情報をスイッチ５ａに配信する。この結果、管理サーバ１０は、マルチテナントシステム１全体で利用可能なＶＮＩの数がＶＬＡＮ番号の数に制限されるのを防ぐことができる。
【００４３】
以下、図３を用いて、管理サーバ１０が実行する処理の効果を説明する。ここで、図３は、管理サーバが実行する処理の一例を説明する図である。マルチテナントシステム１上で稼動する全てのＶＭには、ＶＭを使用するテナントを示すＶＮＩが割り当てられている。また、マルチテナントシステム１上で稼動する全てのＶＭには、スイッチ３ａ、５ａ、７ａごとに、ＶＭを使用するテナントを示すＶＬＡＮ番号が付与されている。すなわち、図３に示すように、ＬＡＮ２、ＬＡＮ４、ＬＡＮ６は、それぞれ独立したＶＬＡＮを有し、各ＶＭには、各ＶＬＡＮごとに独立して選択されたＶＬＡＮ番号が付与されている。
【００４４】
また、ファブリック３は、ＬＡＮ２が有するＶＬＡＮが送受信するパケットの終端処理を行うスイッチ３ａ、すなわちＶＴＥＰ（Virtual  Tunnel  End  Point）＃１を有する。また、ファブリック５は、ＬＡＮ４が有するＶＬＡＮが送受信するパケットの終端処理を行うスイッチ５ａ、すなわちＶＴＥＰ＃２を有する。また、ファブリック７は、ＬＡＮ６が有するＶＬＡＮが送受信するパケットの終端処理を行うスイッチ７ａ、すなわちＶＴＥＰ＃３を有する。
【００４５】
そして、管理サーバ１０は、各ＶＴＥＰ＃１〜＃３ごとに、終端処理を行うＶＬＡＮ上で利用するＶＬＡＮ番号とＶＮＩとを対応付けた変換情報をＶＴＥＰ＃１〜＃３へ配信する。詳細には、管理サーバ１０は、ＶＴＥＰ＃１が終端処理を行うＶＬＡＮのＶＬＡＮ番号をＶＮＩに変換する変換情報をＶＴＥＰ＃１へ配信し、ＶＴＥＰ＃２が終端処理を行うＶＬＡＮのＶＬＡＮ番号をＶＮＩに変換する変換情報をＶＴＥＰ＃２へ配信する。また、管理サーバ１０は、ＶＴＥＰ＃３が終端処理を行うＶＬＡＮのＶＬＡＮ番号をＶＮＩに変換する変換情報をＶＴＥＰ＃３へ配信する。
【００４６】
この結果、マルチテナントシステム１において、各ＶＭに付与されるＶＮＩとＶＬＡＮ番号との関係は、図４に示すようにマッピングされる。図４は、実施例１に係るマルチテナントシステムの効果の一例を説明する図である。例えば、ネットワーク８上に設定されるオーバーレイネットワークでは、２４ビットのＶＮＩを用いたパケット通信が行われるため、約１６Ｍ（メガ）個のオーバーレイドメインが設定可能である。また、各ＶＴＥＰ＃１〜＃３が終端処理を行うＶＬＡＮには、４０９６個のドメインが設定可能である。なお、理解を容易にするため、図４に示す例では、各ＶＬＡＮに４０００個のドメインを設定する例について記載した。
【００４７】
ここで、マルチテナントシステム１では、各ＶＴＥＰ＃１〜＃３が終端処理を行うＶＬＡＮごとに独立してＶＬＡＮ番号を選択する。そして、各ＶＴＥＰ＃１〜＃３ごとに、ＶＮＩとＶＬＡＮ番号との変換情報を生成し、生成した変換情報を用いて、ＶＬＡＮ番号とＶＮＩとの変換を行う。この結果、マルチテナントシステム１では、図４に示すように、１つのＶＮＩに対して、ＶＭを配置するＶＬＡＮごとに独立したＶＬＡＮ番号をマッピングする。
【００４８】
つまり、マルチテナントシステム１では、各ＶＬＡＮ内でＶＭに割り当てるＶＬＡＮ番号をマルチテナントシステム１全体で共通化せず、各ＶＬＡＮごとに独立して設定する。このため、ＶＮＩに対してＶＬＡＮをマッピングする位置は、ＶＬＡＮごとに自由な位置にマッピング可能となる。この結果、マルチテナントシステム１では、使用可能なＶＮＩの数がＶＬＡＮの数に制限されるのを防ぐことができる。
【００４９】
例えば、サーバ２ａ、２ｂ、４ａ上で同一のテナントが使用するＶＭが稼動する場合は、各サーバ２ａ、２ｂ、４ａ上で稼動するＶＭに対して、同一のＶＮＩが割り当てられる。また、サーバ２ａ、２ｂ上で稼動するＶＭに対しては、同一のＶＬＡＮ番号が割り当てられ、サーバ４ａ上で稼動するＶＭに対しては、サーバ２ａ、２ｂ上で稼動するＶＭとは異なるＶＬＡＮ番号が割り当てられる。
【００５０】
そして、管理サーバ１０は、マルチテナントシステム１全体で割り当てたＶＮＩと、各スイッチ３ａ、５ａ、７ａごとに選択したＶＬＡＮ番号とを対応付けた変換情報を、各スイッチ３ａ、５ａ、７ａごとに生成する。その後、管理サーバ１０は、生成した変換情報を各スイッチ３ａ、５ａ、７ａへ配信する。このため、各スイッチ３ａ、５ａ、７ａは、マルチテナントシステム１全体で割り当てたＶＮＩと、各ＬＡＮ２、４、６ごとに選択されたＶＬＡＮ番号との変換を行うことができる。この結果、マルチテナントシステム１は、使用可能なＶＮＩの数が制限されるのを防ぐことができる。
【００５１】
なお、マルチテナントシステム１では、１つのテナントが使用するＶＭに対して複数のＶＮＩを付与する場合がある。このような場合にも、マルチテナントシステム１は、各ＶＭに付与されたＶＮＩに応じて、各ＬＡＮ３、４、６内で稼動するＶＭにＶＬＡＮ番号を付与することとなる。
【００５２】
次に、図５を用いて、管理サーバ１０が有する機能構成について説明する。図５は、管理サーバの機能構成の一例を説明する図である。図５に示す例では、管理サーバ１０は、ＶＴＥＰ位置ＤＢ（Database）１１、ＶＭ位置ＤＢ１２、ＶＭ仮想ネットワークＤＢ１３、ＶＬＡＮプール１４、割り当て数管理ＤＢ１５、ＶＮＩプール１６を有する。また、管理サーバ１０は、通信制御部１７、ＶＭ管理部１８、ＶＭネットワーク管理部１９、ＶＴＥＰ管理部２０を有する。また、ＶＭネットワーク管理部１９は、ＶＮＩ割り当て制御部１９ａを有する。また、ＶＴＥＰ管理部２０は、ＶＬＡＮ割り当て制御部２０ａと変換情報生成部２０ｂとを有する。
【００５３】
ＶＴＥＰ位置ＤＢ１１は、各ＶＴＥＰとして動作するスイッチを記憶する。例えば、図６は、ＶＴＥＰ位置ＤＢが記憶する情報の一例を説明する図である。図６に示す例では、ＶＴＥＰ位置ＤＢ１１は、ＶＴＥＰを示すＶＴＥＰＩＤと、各識別子が示すＶＴＥＰとして動作するスイッチを示すスイッチＩＤと、各ＶＴＥＰが終端処理を行うサーバを示すサーバＩＤとを対応付けて記憶する。
【００５４】
例えば、ＶＴＥＰ位置ＤＢ１１は、ＶＴＥＰＩＤ「＃１」と、スイッチ３ａのスイッチＩＤ「＃１」と、サーバ２ａのサーバＩＤ「＃１」、およびサーバ２ｂのサーバＩＤ「＃３」とを対応付けて記憶する。また、ＶＴＥＰ位置ＤＢ１１は、ＶＴＥＰＩＤ「＃２」と、スイッチ５ａのスイッチＩＤ「＃２」とサーバ４ａのサーバＩＤ「＃２」とを対応付けて記憶する。また、ＶＴＥＰ位置ＤＢ１１は、ＶＴＥＰＩＤ「＃３」とスイッチ７ａのスイッチＩＤ「＃３」とサーバ６ａのサーバＩＤ「＃４」とを対応付けて記憶する。
【００５５】
図５に戻り、ＶＭ位置ＤＢ１２は、マルチテナントシステム１内のＶＭをどのサーバが実行しているかを記憶する。例えば、図７は、ＶＭ位置ＤＢが記憶する情報の一例を説明する図である。図７に示す例では、ＶＭ位置ＤＢ１２は、ＶＭの識別子であるＶＭＩＤ（Virtual  Machine  Identifier）とサーバの識別子であるサーバＩＤとを対応付けて記憶する。
【００５６】
例えば、図７に示す例では、ＶＭ位置ＤＢ１２は、ＶＭＩＤ「１−１」とサーバＩＤ「＃１」とを対応付けて記憶し、ＶＭＩＤ「１−２」とサーバＩＤ「＃１」とを対応付けて記憶する。また、ＶＭ位置ＤＢ１２は、ＶＭＩＤ「２−１」とサーバＩＤ「＃２」とを対応付けて記憶し、ＶＭＩＤ「２−２」とサーバＩＤ「＃２」とを対応付けて記憶する。すなわち、ＶＭ位置ＤＢ１２は、ＶＭＩＤ「１−１」、および「１−２」が示すＶＭをサーバ２ａが稼動させる旨を記憶している。また、ＶＭ位置ＤＢ１２は、ＶＭＩＤ「２−１」、および「２−２」が示すＶＭをサーバ４ａが稼動させる旨を記憶している。
【００５７】
図５に戻り、ＶＭ仮想ネットワークＤＢ１３は、各ＶＭに割り当てられたＶＮＩを記憶する。例えば、図８は、ＶＭ仮想ネットワークＤＢが記憶する情報の一例を説明する図である。図８に示す例では、ＶＭ仮想ネットワークＤＢ１３は、ＶＭＩＤと、各ＶＭＩＤが示すＶＭに割り当てられたＶＮＩとを対応付けて記憶する。
【００５８】
例えば、図８に示す例では、ＶＭ仮想ネットワークＤＢ１３は、ＶＭＩＤ「１−１」が示すＶＭにＶＮＩ「２２」が割り当てられている旨を記憶する。また、図８に示す例では、ＶＭ仮想ネットワークＤＢ１３は、ＶＭＩＤ「１−２」が示すＶＭにＶＮＩ「３４」が割り当てられている旨を記憶する。
【００５９】
図５に戻り、ＶＬＡＮプール１４は、各ＶＴＥＰごとに、各ＶＴＥＰがパケットの終端処理を行うＶＬＡＮ内でＶＭに割り当てられていないＶＬＡＮ番号を記憶する。例えば、図９は、ＶＬＡＮプールが記憶する情報の一例を説明する図である。図９に示す例では、ＶＬＡＮプール１４は、ＶＴＥＰＩＤとＶＬＡＮ番号とを対応付けて記憶する。
【００６０】
例えば、図９に示す例では、ＶＬＡＮプール１４は、ＶＴＥＰＩＤ「＃１」とＶＬＡＮ番号「３０、４０…」を対応付けて記憶する。すなわち、ＶＬＡＮプール１４は、ＶＴＥＰＩＤ「＃１」が示すＶＴＥＰが終端処理を行うＶＬＡＮにおいて、ＶＬＡＮ番号「３０」「４０」、その他図示を省略したＶＬＡＮ番号が割り当てられていない旨を記憶する。
【００６１】
図５に戻り、割り当て数管理ＤＢ１５は、各ＶＴＥＰがパケットの終端処理を行うＶＬＡＮ内のＶＭに割り当てられたＶＬＡＮ番号と、各ＶＬＡＮ番号が割り当てられたＶＭの数とを記憶する。例えば、図１０は、割り当て数管理ＤＢが記憶する情報の一例を説明する図である。図１０に示す例では、割り当て数管理ＤＢ１５は、ＶＴＥＰＩＤと、ＶＬＡＮ番号と、割り当て数と、ＶＬＡＮ番号を割り当てたＶＭＩＤとを対応付けて記憶する。
【００６２】
例えば、図１０に示す例では、割り当て数管理ＤＢ１５は、ＶＴＥＰの識別子「＃１」とＶＬＡＮ番号「１０」と割り当て数「２」とＶＭＩＤ「１−１、２−１」とを対応付けて記憶する。また、割り当て数管理ＤＢ１５は、ＶＴＥＰの識別子「＃１」とＶＬＡＮ番号「２０」と割り当て数「１」とＶＭＩＤ「１−２」とを対応付けて記憶する。また、割り当て数管理ＤＢ１５は、ＶＴＥＰの識別子「＃２」とＶＬＡＮ番号「１１０」と割り当て数「１」とＶＭＩＤ「３−１」とを対応付けて記憶する。また、割り当て数管理ＤＢ１５は、ＶＴＥＰの識別子「＃２」とＶＬＡＮ番号「１２０」と割り当て数「１」とＶＭＩＤ「４−１」とを対応付けて記憶する。
【００６３】
すなわち、割り当て数管理ＤＢ１５は、ＶＴＥＰＩＤ「＃１」が示すＶＴＥＰが終端処理を行うＶＬＡＮにおいて、ＶＬＡＮ番号「１０」が割り当てられた２つのＶＭが稼動している旨を記憶する。また、割り当て数管理ＤＢ１５は、ＶＴＥＰＩＤ「＃１」が示すＶＴＥＰが終端処理を行うＶＬＡＮにおいて、ＶＬＡＮ番号「２０」が割り当てられた１つのＶＭが稼動している旨を記憶する。
【００６４】
また、割り当て数管理ＤＢ１５は、ＶＴＥＰＩＤ「＃２」が示すＶＴＥＰが終端処理を行うＶＬＡＮにおいて、ＶＬＡＮ番号「１１０」が割り当てられたＶＭが稼動している旨を記憶する。また、割り当て数管理ＤＢ１５は、ＶＴＥＰＩＤ「＃２」が示すＶＴＥＰが終端処理を行うＶＬＡＮにおいて、ＶＬＡＮ番号「１２０」が割り当てられたＶＭが稼動している旨を記憶する。
【００６５】
図５に戻り、ＶＮＩプール１６は、ＶＭに割り当てられていないＶＮＩを記憶する記憶部である。例えば、ＶＮＩプール１６は、マルチテナントシステム１において、ＶＮＩ「１００」〜「２００」がＶＭに割り当てられている場合は、ＶＮＩ「１００」〜「２００」以外のＶＮＩを記憶する。
【００６６】
通信制御部１７は、ＶＭ管理部１８、およびＶＴＥＰ管理部２０と、各スイッチ３ａ、５ａ、７ａとの間の通信制御を行う制御部である。例えば、通信制御部１７は、ＶＭ管理部１８がＶＭの生成、移動、停止等の指示を出力した場合は、各スイッチ３ａ、５ａ、７ａを介して、ＶＭ管理部１８が出力した指示を各サーバ２ａ、２ｂ、４ａ、４ｂ、６ａ、６ｂへ送信する。また、通信制御部１７は、ＶＴＥＰ管理部２０から各スイッチ３ａ、５ａ、７ａへ配布する変換情報を受信すると、受信した変換情報を各スイッチ３ａ、５ａ、７ａへ配布する。
【００６７】
ＶＭ管理部１８は、マルチテナントシステム１内で稼動するＶＭの管理を行う。すなわち、ＶＭ管理部１８は、各サーバ２ａ、２ｂ、４ａ、４ｂ、６ａ、６ｂの計算資源に応じて、マルチテナントシステム１内で稼動するＶＭの生成、移動、停止等のライブマイグレーションを制御する。そして、ＶＭ管理部１８は、ライブマイグレーションの結果、各サーバ２ａ、２ｂ、４ａ、４ｂ、６ａ、６ｂ上で稼動するＶＭに変更があった場合は、変更結果をＶＭ位置ＤＢ１２に反映させる。その後、ＶＭ管理部１８は、変更内容をＶＭネットワーク管理部１９に通知する。
【００６８】
例えば、ＶＭ管理部１８は、ＶＭＩＤ「１−１」が示すＶＭを停止させる場合は、ＶＭ位置ＤＢ１２が記憶する情報のうち、ＶＭＩＤ「１−１」が格納されたエントリを削除する。そして、ＶＭ管理部１８は、ＶＭＩＤ「１−１」が示すＶＭを停止させる旨をＶＭネットワーク管理部１９に通知する。
【００６９】
また、ＶＭ管理部１８は、新たなＶＭにＶＭＩＤ「１−３」を割り当てて、サーバ２ａ上で稼動させる場合は、以下のエントリをＶＭ位置ＤＢ１２に格納する。すなわち、ＶＭ管理部１８は、ＶＭＩＤ「１−３」とサーバ２ａのサーバＩＤ「＃１」を対応付けてＶＭ位置ＤＢ１２に格納する。そして、ＶＭ管理部１８は、ＶＭＩＤ「１−３」が示すＶＭを生成した旨をＶＭネットワーク管理部１９に通知する。
【００７０】
また、ＶＭ管理部１８は、ＶＭＩＤ「１−１」が示すＶＭがサーバ２ａからサーバ４ａに移動した場合は、ＶＭ位置ＤＢ１２が記憶するサーバの識別子のうち、ＶＭＩＤ「１−１」と対応付けられたサーバＩＤ「＃１」を「＃２」に変換する。そして、ＶＭ管理部１８は、各ＶＴＥＰが終端処理を行うＶＬＡＮを超えてＶＭが移動する場合は、ＶＭネットワーク管理部１９を介して、変換情報の更新指示をＶＴＥＰ管理部２０のＶＬＡＮ割り当て制御部２０ａに出力する。詳細には、ＶＭ管理部１８は、変換情報の更新指示とともに、移動するＶＭのＶＭＩＤと、移動元のサーバを示すサーバＩＤと、移動先のサーバを示すサーバＩＤとを合わせて通知する。
【００７１】
ＶＮＩ割り当て制御部１９ａは、各ＶＭに対してＶＮＩの割り当てを行う。具体的には、ＶＮＩ割り当て制御部１９ａは、ＶＭを生成した旨の通知を受信すると、生成されるＶＭを使用するテナントを識別する。また、ＶＮＩ割り当て制御部１９ａは、識別したテナントが使用するＶＭに割り当てられたＶＮＩを識別する。例えば、ＶＮＩ割り当て制御部１９ａは、識別したテナントが使用するＶＭに対して、既に割り当てられたＶＮＩを識別する処理や、テナントが指定するＶＮＩを識別する。そして、ＶＮＩ割り当て制御部１９ａは、識別したＶＮＩとＶＭ管理部１８から通知されたＶＭＩＤとを対応付けたエントリをＶＭ仮想ネットワークＤＢ１３に格納する。
【００７２】
例えば、ＶＮＩ割り当て制御部１９ａは、新規なテナントから指定されたＶＮＩがＶＮＩプール１６に記憶されているか否かを判別し、指定されたＶＮＩがＶＮＩプール１６に記憶されている場合は、指定されたＶＮＩをＶＮＩプール１６から削除する。そして、ＶＮＩ割り当て制御部１９ａは、ＶＭ管理部１８から通知されたＶＭＩＤと、ＶＮＩプール１６から選択したＶＮＩとを対応付けたエントリをＶＭ仮想ネットワークＤＢ１３に格納する。一方、ＶＮＩ割り当て制御部１９は、指定されたＶＮＩがＶＮＩプール１６に記憶されていない場合は、他のＶＮＩを指定するようテナントに通知する。
【００７３】
また、ＶＮＩ割り当て制御部１９は、既存のテナントからＶＮＩを指定された場合は、指定されたＶＮＩがＶＮＩプール１６に記憶されているか判別し、記憶されている場合は、指定されたＶＮＩをＶＮＩプール１６から削除する。そして、ＶＮＩ割り当て制御部１９ａは、ＶＭ管理部１８から通知されたＶＭＩＤと、ＶＮＩプール１６から選択したＶＮＩとを対応付けたエントリをＶＭ仮想ネットワークＤＢ１３に格納する。
【００７４】
なお、既存のテナントからＶＮＩを指定された場合は、指定されたＶＮＩがＶＮＩプール１６に記憶されていない場合は、既に同一のＶＮＩが同一のテナントに割り当てられている。このため、ＶＮＩ割り当て制御部１９は、ＶＭ管理部１８から通知されたＶＭＩＤと、指定されたＶＮＩとを対応付けたエントリをＶＭ仮想ネットワークＤＢ１３に格納する。
【００７５】
その後、ＶＮＩ割り当て制御部１９ａは、変換情報の生成指示をＶＴＥＰ管理部２０のＶＬＡＮ割り当て制御部２０ａに出力する。詳細には、ＶＮＩ割り当て制御部１９ａは、生成するＶＭのＶＭＩＤと対応付けてＶＭ位置ＤＢ１２が記憶していたサーバＩＤを取得する。そして、ＶＮＩ割り当て制御部１９ａは、変換情報の生成指示とともに、生成するＶＭのＶＭＩＤと、ＶＭを稼動させるサーバのサーバＩＤとをＶＬＡＮ割り当て制御部２０ａに出力する。
【００７６】
一方、ＶＮＩ割り当て制御部１９ａは、ＶＭを停止する場合は、停止するＶＭを示すＶＭＩＤと停止するＶＭに割り当てられたＶＮＩとが対応付けられたエントリをＶＭ仮想ネットワークＤＢ１３から削除する。その後、ＶＮＩ割り当て制御部１９ａは、変換情報の削除指示と、停止するＶＭのＶＭＩＤとをＶＬＡＮ割り当て制御部２０ａに出力する。
【００７７】
なお、ＶＮＩ割り当て制御部１９ａは、ＶＭ仮想ネットワークＤＢ１３から、停止するＶＭと同じＶＮＩが対応付けられたＶＭＩＤが存在するか否かを判定する。そして、ＶＮＩ割り当て制御部１９ａは、停止するＶＭと同じＶＮＩが対応付けられたＶＭＩＤが存在しない場合は、停止するＶＭと対応付けられたＶＭＩＤをＶＮＩプール１６に格納する。
【００７８】
ＶＬＡＮ割り当て制御部２０ａは、ＶＭ管理部１８、またはＶＮＩ割り当て制御部１９ａから変換情報の生成指示を受信した場合は、各ＶＭが動作するＶＬＡＮの終端処理を行うＶＴＥＰを特定する。そして、ＶＬＡＮ割り当て制御部２０ａは、ＶＴＥＰごとに、各ＶＴＥＰが終端処理を行うＶＬＡＮ内で、生成するＶＭを使用するテナントを示すＶＬＡＮ番号を選択し、選択したＶＬＡＮ番号を生成するＶＭに割り当てる。
【００７９】
以下、ＶＬＡＮ割り当て制御部２０ａが実行する処理について詳細に説明する。まず、新たなＶＭを生成する際にＶＬＡＮ割り当て制御部２０ａが実行する処理について説明する。まず、ＶＬＡＮ割り当て制御部２０ａは、生成するＶＭのＶＭＩＤと、ＶＭを稼動させるサーバのサーバＩＤととともに、変換情報の生成指示を受信する。このような場合には、ＶＬＡＮ割り当て制御部２０ａは、受信したサーバＩＤと対応付けられたＶＴＥＰＩＤをＶＴＥＰ位置ＤＢ１１から取得する。つまり、ＶＬＡＮ割り当て制御部２０ａは、生成したＶＭを稼動させるサーバが設置されたネットワークの終端処理を行うＶＴＥＰを特定する。
【００８０】
次に、ＶＬＡＮ割り当て制御部２０ａは、生成するＶＭのＶＭＩＤと、特定したＶＴＥＰとに応じて、生成するＶＭにＶＬＡＮ番号の割り当てを行う。詳細には、ＶＬＡＮ割り当て制御部２０ａは、ＶＴＥＰ位置ＤＢ１１から、特定したＶＴＥＰＩＤに対応付けられたサーバＩＤを識別する。
【００８１】
そして、ＶＬＡＮ割り当て制御部２０ａは、ＶＭ位置ＤＢから、識別したサーバＩＤと対応付けられたＶＭＩＤを識別する。そして、ＶＬＡＮ割り当て制御部２０ａは、ＶＭ仮想ネットワークＤＢ１３を閲覧し、識別したＶＭＩＤの中に、生成するＶＭに割り当てられたＶＮＩと同じＶＮＩが割り当てられたＶＭＩＤが存在するか否かを判定する。すなわち、ＶＬＡＮ割り当て制御部２０ａは、新たに生成するＶＭが送受信するパケットの終端処理を行うＶＴＥＰの配下に、新たに生成するＶＭと同じＶＮＩが割り当てられたＶＭが存在するか否かを判定する。
【００８２】
そして、ＶＬＡＮ割り当て制御部２０ａは、識別したＶＭＩＤの中に、生成するＶＭに割り当てられたＶＮＩと同じＶＮＩが割り当てられたＶＭＩＤが存在する場合は、以下の処理を実行する。すなわち、ＶＬＡＮ割り当て制御部２０ａは、生成するＶＭに割り当てられたＶＮＩと同じＶＮＩが割り当てられたＶＭＩＤを特定し、特定したＶＭＩＤと割り当てられたＶＬＡＮ番号を割り当て数管理ＤＢ１５から識別する。
【００８３】
次に、ＶＬＡＮ割り当て制御部２０ａは、識別したＶＬＡＮ番号と対応付けられた割り当て数に１を加算する。そして、ＶＬＡＮ割り当て制御部２０ａは、生成するＶＭのＶＭＩＤと、特定したＶＴＥＰのＶＴＥＰＩＤと、識別したＶＬＡＮ番号と、変換情報の生成指示とを変換情報生成部２０ｂに出力する。
【００８４】
一方、ＶＬＡＮ割り当て制御部２０ａは、識別したＶＭＩＤの中に、生成するＶＭに割り当てられたＶＮＩと同じＶＮＩが割り当てられたＶＭＩＤが存在しない場合は、以下の処理を実行する。まず、ＶＬＡＮ割り当て制御部２０ａは、ＶＬＡＮプール１４が、特定したＶＴＥＰのＶＴＥＰＩＤと対応付けて記憶するＶＬＡＮ番号の中から、ＶＬＡＮ番号を１つ選択する。次に、ＶＬＡＮ割り当て制御部２０ａは、選択したＶＬＡＮ番号をＶＬＡＮプール１４から削除する。
【００８５】
そして、ＶＬＡＮ割り当て制御部２０ａは、選択したＶＬＡＮ番号と、特定したＶＴＥＰのＶＴＥＰＩＤと、割り当て数１と、新たに生成するＶＭのＶＭＩＤとを対応付けて割り当て数管理ＤＢ１５に格納する。そして、ＶＬＡＮ割り当て制御部２０ａは、生成するＶＭのＶＭＩＤと、特定したＶＴＥＰのＶＴＥＰＩＤと、特定したＶＬＡＮ番号と、変換情報の生成指示とを変換情報生成部２０ｂに出力する。
【００８６】
次に、ＶＭを停止する際にＶＬＡＮ割り当て制御部２０ａが実行する処理について説明する。まず、ＶＬＡＮ割り当て制御部２０ａは、停止するＶＭのＶＭＩＤと変換情報の削除指示を受信する。すると、ＶＬＡＮ割り当て制御部２０ａは、割り当て数管理ＤＢ１５から、受信したＶＭＩＤが格納されたエントリを特定し、特定したエントリの割り当て数から１を減算する。そして、ＶＬＡＮ割り当て制御部２０ａは、割り当て数から１を減算した結果、割り当て数が「０」であるか否かを判定する。
【００８７】
ここで、ＶＬＡＮ割り当て制御部２０ａは、割り当て数から１を減算した結果、割り当て数が「０」である場合は、特定したエントリに格納されたＶＴＥＰＩＤとＶＬＡＮ番号とを記憶し、特定したエントリを削除する。また、ＶＬＡＮ割り当て制御部２０ａは、記憶したＶＬＡＮ番号と、ＶＴＥＰＩＤとを対応付けてＶＬＡＮプール１４に格納する。また、ＶＬＡＮ割り当て制御部２０ａは、記憶したＶＬＡＮ番号とＶＴＥＰＩＤと変換情報の削除指示とを変換情報生成部２０ｂに出力する。
【００８８】
一方、ＶＬＡＮ割り当て制御部２０ａは、割り当て数から１を減算した結果、割り当て数が「０」ではない場合は、特定したエントリの削除、および変換情報の削除指示の出力等を行わずに、処理を終了する。すなわち、割り当て数から１を減算した結果、割り当て数が「０」ではない場合は、ＶＭを停止したサーバと同じＶＬＡＮに、停止したＶＭと同一のＶＬＡＮ番号を有するＶＭが稼動している。このため、ＶＬＡＮ割り当て制御部２０ａは、割り当て数から１を減算した結果、割り当て数が「０」ではない場合は、変換情報の削除指示を出力せずに、処理を終了する。
【００８９】
次に、ＶＭを移動させる際にＶＬＡＮ割り当て制御部２０ａが実行する処理について説明する。まず、ＶＬＡＮ割り当て制御部２０ａは、ＶＭ管理部１８から、変換情報の更新指示とともに、移動するＶＭのＶＭＩＤと、移動元のサーバを示すサーバＩＤと、移動先のサーバを示すサーバＩＤと受信する。
【００９０】
このような場合は、ＶＬＡＮ割り当て制御部２０ａは、移動先のサーバを示すサーバＩＤを、新たなＶＭを生成するサーバのサーバＩＤとみなし、受信したＶＭＩＤを新たなＶＭのＶＭＩＤとみなす。そして、ＶＬＡＮ割り当て制御部２０ａは、上述した新たなＶＭを生成する際の処理を実行する。
【００９１】
次に、ＶＬＡＮ割り当て制御部２０ａは、移動元のサーバを示すサーバＩＤを、停止するＶＭを稼動させていたサーバのサーバＩＤとみなし、受信したＶＭＩＤを、停止するＶＭのＶＭＩＤとみなす。そして、ＶＬＡＮ割り当て制御部２０ａは、上述したＶＭを停止する際の処理を実行する。すなわち、ＶＬＡＮ割り当て制御部２０ａは、ＶＭの移動を行う場合は、ＶＭを生成する際の処理とＶＭを停止させる際の処理とを実行する。
【００９２】
変換情報生成部２０ｂは、ＶＮＩ割り当て制御部１９ａが割り当てたＶＮＩと、ＶＬＡＮ割り当て制御部２０ａが選択したＶＬＡＮ番号とを対応付けた変換情報を生成し、各スイッチ３ａ、５ａ、７ａに配信する。以下、変換情報生成部２０ｂが実行する処理について説明する。
【００９３】
まず、変換情報生成部２０ｂは、ＶＬＡＮ割り当て制御部２０ａから、生成するＶＭのＶＭＩＤと、ＶＴＥＰＩＤと、ＶＬＡＮ番号と、変換情報の生成指示とを受信する。このような場合は、変換情報生成部２０ｂは、生成するＶＭのＶＭＩＤと対応付けられたＶＮＩをＶＭ仮想ネットワークＤＢ１３から取得する。そして、変換情報生成部２０ｂは、ＶＬＡＮ割り当て制御部２０ａから受信したＶＬＡＮ番号と、ＶＭ仮想ネットワークＤＢ１４から取得したＶＮＩとを対応付けた変換情報を生成する。
【００９４】
また、変換情報生成部２０ｂは、ＶＬＡＮ割り当て制御部２０ａから受信したＶＴＥＰＩＤと対応付けられたスイッチＩＤをＶＴＥＰ位置ＤＢ１１から識別する。そして、変換情報生成部２０ｂは、通信制御部１７を介して、識別したスイッチＩＤが示すスイッチに生成した変換情報を配信する。
【００９５】
例えば、変換情報生成部２０ｂは、ＶＬＡＮ割り当て制御部２０ａから、ＶＭＩＤ「１−１」、ＶＴＥＰＩＤ「＃１」、ＶＬＡＮ番号「１０」と変換情報の生成指示とを受信する。すると、変換情報生成部２０ｂは、ＶＭＩＤ「１−１」と対応付けられたＶＮＩ「２２」をＶＭ仮想ネットワークＤＢ１３から取得する。また、変換情報生成部２０ｂは、ＶＴＥＰＩＤ「＃１」と対応付けられたスイッチＩＤ「＃１」をＶＴＥＰ位置ＤＢ１１から取得する。そして、変換情報生成部２０ｂは、ＶＬＡＮ番号「１０」とＶＮＩ「２２」とを対応付けた変更情報をスイッチＩＤ「＃１」が示すスイッチ３ａに配布する。
【００９６】
また、変換情報生成部２０ｂは、ＶＬＡＮ割り当て制御部２０ａから、ＶＬＡＮ番号と、ＶＴＥＰＩＤと変換情報の削除指示とを受信する。このような場合は、変換情報生成部２０ｂは、受信したＶＴＥＰＩＤと対応付けられたスイッチＩＤをＶＴＥＰ位置ＤＢ１１から識別する。そして、変換情報生成部２０ｂは、通信制御部１７を介して、識別したスイッチＩＤが示すスイッチに対し、受信したＶＬＡＮ番号を含む変換情報を削除するよう指示する。
【００９７】
例えば、変換情報生成部２０ｂは、ＶＬＡＮ割り当て制御部２０ａから、ＶＭＩＤ「２−１」、ＶＴＥＰＩＤ「＃２」、ＶＬＡＮ番号「１１０」と変換情報の削除指示とを受信する。このような場合は、変換情報生成部２０ｂは、ＶＴＥＰＩＤ「＃２」と対応付けられたスイッチＩＤ「＃２」をＶＴＥＰ位置ＤＢ１１から識別し、スイッチＩＤ「＃２」が示すスイッチ５ａにＶＬＡＮ番号「１１０」を含む変換情報を削除するよう指示する。
【００９８】
次に、図１１を用いて、スイッチ３ａが有する機能構成について説明する。図１１は、スイッチが有する機能構成の一例を説明する図である。図１１に示す例では、スイッチ３ａは、ＶＬＡＮ変換テーブル３１、ＭＡＣテーブル３２、通信制御部３３、ヘッダ制御部３４を有する。また、ヘッダ制御部３４は、受信部３５、変換部３６、転送部３７、更新部３８を有する。
【００９９】
ＶＬＡＮ変換テーブル３１は、変換情報を記憶する。例えば、図１２は、ＶＬＡＮ変換テーブルの一例を説明する図である。図１２に示す例では、ＶＬＡＮ変換テーブル３１は、ＶＮＩ「２２」とＶＬＡＮ番号「１０」とを対応付けた変換情報、およびＶＮＩ「３４」とＶＬＡＮ番号「２０」とを対応付けた変換情報とを記憶する。
【０１００】
図１１に戻って、ＭＡＣテーブル３２は、スイッチ３ａがパケットの転送を行う際に利用するＭＡＣテーブルを記憶する。例えば、図１３は、ＭＡＣテーブルの一例を説明する図である。図１３に示すように、ＭＡＣテーブル３２は、ＭＡＣアドレスと、ＶＬＡＮ番号と、転送先とを対応付けたＭＡＣテーブルを記憶する。すなわち、ＭＡＣテーブル３２は、パケットの送信先となるＭＡＣアドレス、およびパケットの送信先となるＶＬＡＮ番号に、パケットの転送先を対応付けて記憶する。
【０１０１】
例えば、図１３に示す例では、ＭＡＣテーブル３２は、宛先ＭＡＣアドレスが「ＭＡＣ＃１」、および宛先のＶＬＡＮ番号が「１０」であるパケットをサーバ２ａに転送する旨を記憶する。また、ＭＡＣテーブル３２は、宛先ＭＡＣアドレスが「ＭＡＣ＃２」、および宛先のＶＬＡＮ番号が「２０」であるパケットをサーバ２ｂに転送する旨を記憶する。また、ＭＡＣテーブル３２は、宛先ＭＡＣアドレスが「ＭＡＣ＃３」、または「ＭＡＣ＃４」等であり、宛先のＶＬＡＮ番号が「３０」、「４０」等であるパケットをネットワーク８に転送する旨を記憶する。
【０１０２】
図１１に戻って、通信制御部３３は、各サーバ２ａ、２ｂ、およびネットワーク８から受信すると、受信したパケットを受信部３５に転送する。また、通信制御部３３は、転送部３７からパケットを受信すると、受信したパケットの宛先に応じて、パケットを各サーバ２ａ、２ｂ、またはネットワーク８に転送する。また、通信制御部３３は、管理サーバ１０から、変換情報、または変換情報の削除指示とを受信した場合は、受信した変換情報および変換情報の削除指示を更新部３８に出力する。
【０１０３】
受信部３５は、パケットを受信すると、受信したパケットを変換部３６に出力する。変換部３６は、パケットを受信すると、受信したパケットの変換処理を実行する。具体的には、変換部３６は、受信したパケットのヘッダ部分がインナーヘッダである場合、すなわち受信したパケットがカプセル化されていない場合は、インナーヘッダに格納されたＩｎｎｅｒ  ＳＡから宛先ＭＡＣアドレスを取得する。そして、変換部３６は、ＭＡＣテーブル３２を参照し、取得した宛先ＭＡＣアドレスと対応付けられた転送先が、ネットワーク８であるか否かを判定する。つまり、変換部３６は、ネットワーク８を介してパケットを転送するか否かを判定する。
【０１０４】
また、変換部３６は、取得した宛先ＭＡＣアドレスと対応付けられた転送先が、ネットワーク８である場合、つまりネットワーク８を介してパケットを転送する場合は、パケットのカプセル化を行う。詳細には、変換部３６は、インターヘッダに格納されたＶＬＡＮタグ（Ｃ−ｔａｇ）からＶＬＡＮ番号を取得する。そして、変換部３６は、取得したＶＬＡＮ番号と対応付けられたＶＮＩをＶＬＡＮ変換テーブル３１から取得する。その後、変換部３６は、ＶＬＡＮ変換テーブル３１から取得したＶＮＩが格納されたアウターヘッダをパケットの付加することで、パケットのカプセル化を行う。
【０１０５】
そして、変換部３６は、カプセル化したパケットを転送部３７に出力する。一方、変換部３６は、取得した宛先ＭＡＣアドレスと対応付けられた転送先が、ネットワーク８ではない場合は、受信したパケットのカプセル化を行わずに転送部３７に出力する。
【０１０６】
また、変換部３６は、受信したパケットのヘッダ部分がアウターヘッダである場合、すなわち受信したパケットがカプセル化されている場合は、アウターヘッダに格納されたＣ−ｔａｇからＶＮＩを取得する。そして、変換部３６は、取得したＶＮＩと対応付けられたＶＬＡＮ番号をＶＬＡＮ変換テーブル３１から取得する。その後、変換部３６は、受信したパケットのアウターヘッダを削除し、インナーヘッダのＶＬＡＮタグに格納されたＶＬＡＮ番号を、ＶＬＡＮ変換テーブル３１から取得したＶＬＡＮ番号に変換する。そして、変換部３６は、パケットを転送部３７に出力する。
【０１０７】
転送部３７は、パケットの転送処理を行う。具体的には、転送部３７は、変換部３６からカプセル化されたパケットを受信すると、受信したパケットのインナーヘッダに格納されたＩｎｎｅｒ  ＤＡから宛先ＭＡＣアドレスを取得する。そして、転送部３７は、取得した宛先ＭＡＣアドレスに対応付けられた転送先をＭＡＣテーブル３２から読み出し、読み出した転送先へパケットを転送するよう通信制御部３３に指示する。なお、転送部３７は、カプセル化されたパケットをネットワーク８に出力するよう通信制御部３３に指示することとなる。
【０１０８】
また、転送部３７は、パケット化されていないパケットを受信すると、受信したパケットのＩｎｎｅｒ  ＤＡから宛先ＭＡＣアドレスを取得する。そして、転送部３７は、取得した宛先ＭＡＣアドレスに対応付けられた転送先ＶＴＥＰのＭＡＣアドレスをＭＡＣテーブル３２から読み出し、読み出した転送先へパケットを転送するよう通信制御部３３に指示する。
【０１０９】
更新部３８は、ＶＬＡＮ変換テーブル３１の更新を行う。例えば、更新部３８は、管理サーバ１０から変換情報を受信すると、受信した変換情報をＶＬＡＮ変換テーブル３１に格納する。また、更新部３８は、管理サーバ１０からＶＬＡＮ番号とともに、変換情報の削除指示を受信すると、ＶＬＡＮ変換テーブル３１が記憶する変換情報のうち、受信したＶＬＡＮ番号を含む変換情報を特定する。そして、更新部３８は、特定した変換情報を削除する。
【０１１０】
なお、上述した説明では説明を省略したが、ヘッダ制御部３４は、受信したパケットの送信元ＭＡＣアドレスを用いて、ＭＡＣテーブル３２の学習を行う機能を有していてもよい。例えば、変換部３６は、受信したパケットのＯｕｔｅｒ  ＳＡやＩｎｎｅｒ  ＳＡから送信元ＭＡＣアドレスを識別し、Ｃ−ｔａｇからＶＬＡＮ番号を識別する。そして、変換部３６は、パケットの送信元である装置と、識別した送信元ＭＡＣアドレスと、パケットに格納されたＶＬＡＮ番号とを対応付けて、ＭＡＣテーブル３２に格納してもよい。
【０１１１】
次に、図１４を用いて、スイッチが実行する変換処理の一例について説明する。図１４は、スイッチが実行する変換処理の一例を説明する図である。例えば、図１４に示す例では、サーバ２ａは、ハイパーバイザ２ｃを実行し、ハイパーバイザ２ｃ上でＶＭ２ｄとＶＭ２ｅとを稼動させる。また、サーバ２ｂは、ハイパーバイザ２ｆを実行し、ハイパーバイザ２ｆ上でＶＭ２ｇを稼動させる。また、サーバ４ａは、ハイパーバイザ４ｂを実行し、ハイパーバイザ４ｂ上でＶＭ４ｃとＶＭ４ｄとを稼動させる。
【０１１２】
ここで、スイッチ３ａは、サーバ２ａ、およびサーバ２ｂが送受信するパケットの終端処理を行うＶＴＥＰ３ｂとして動作する。また、スイッチ５ａは、サーバ４ａが送受信するパケットの終端処理を行うＶＴＥＰ５ｂとして動作する。また、ＶＭ２ｄとＶＭ４ｄとは、テナント「Ｂ」が使用するＶＭであり、ＶＭ２ｅ、ＶＭ２ｇ、ＶＭ４ｃとは、テナント「Ａ」が使用するＶＭであるものとする。また、図１４に示す例では、同一テナントが使用するＶＭ同士は、パケット通信を行うことができるが、他のテナントが使用するＶＭ同士は、パケット通信を行うことができないものとする。
【０１１３】
ここで、管理サーバ１０は、マルチテナントシステム１全体で、各ＶＭ２ｄ、２ｅ、２ｇ、４ｃ、４ｄを使用するテナントごとにＶＮＩを割り当てる。例えば、管理サーバ１０は、テナント「Ａ」が使用するＶＭにＶＮＩ「２２」を割り当て、テナント「Ｂ」が使用するＶＭにＶＮＩ「３４」を割り当てる。
【０１１４】
また、管理サーバ１０は、各ＶＴＥＰ３ｂ、５ｂごとに独立して、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮのＶＬＡＮ番号を各ＶＭ２ｄ、２ｅ、２ｇ、４ｃ、４ｄに割り当てる。つまり、管理サーバ１０は、ＶＴＥＰ３ｂが終端処理を行うＶＬＡＮにおいて、各ＶＭ２ｄ、２ｅ、２ｇを使用するテナントごとに一意なＶＬＡＮ番号を選択する。また、管理サーバ１０は、ＶＴＥＰ５ｂが終端処理を行うＶＬＡＮにおいて、各ＶＭ２ｄ、２ｅ、２ｇを使用するテナントごとに一意なＶＬＡＮ番号を選択する。
【０１１５】
この結果、例えば、図１４に示す例では、管理サーバ１０は、ＶＭ２ｄにＶＬＡＮ番号「２０」を割り当て、ＶＭ２ｅおよびＶＭ２ｇにＶＬＡＮ番号「１０」を割り当てる。また、管理サーバ１０は、ＶＭ４ｃにＶＬＡＮ番号「１１０」を割り当て、ＶＭ４ｄにＶＬＡＮ番号「１２０」を割り当てる。すなわち、管理サーバ１０は、同一のテナントが使用するＶＭであっても、異なるＶＴＥＰに含まれるＶＭに対しては、異なるＶＬＡＮ番号の付与を許容する。
【０１１６】
そして、管理サーバ１０は、ＶＴＥＰ３ｂ、５ｂごとに変換情報を生成し、生成した変換情報を各ＶＴＥＰ３ｂ、５ｂに配布する。詳細には、図１４に示す例では、管理サーバ１０は、ＶＮＩ「２２」とＶＬＡＮ「１０」とを対応付け、ＶＮＩ「３４」とＶＬＡＮ「２０」とを対応付けた変換テーブルをＶＴＥＰ３ｂへ配布する。また、管理サーバ１０は、ＶＮＩ「２２」とＶＬＡＮ「１１０」とを対応付け、ＶＮＩ「３４」とＶＬＡＮ「１２０」とを対応付けた変換テーブルをＶＴＥＰ５ｂに配布する。
【０１１７】
ここで、ＶＬＡＮ番号「１０」のＶＭ２ｅがＶＬＡＮ番号「１０」のＶＭ２ｇを宛先とするパケットを出力すると、ＶＴＥＰ３ｂは、パケットをカプセル化せずにそのまま、パケットをサーバ２ｆが稼動させるＶＭ２ｇに転送する。つまり、ＶＴＥＰ３ｂは、通常のＶＬＡＮと同様のパケット転送処理を行うこととなる。
【０１１８】
一方、ＶＭ２ｄは、ＶＭ４ｄを宛先するパケットを出力する場合は、ＶＬＡＮ番号「２０」をインナーヘッダに格納して出力する。このような場合は、ＶＴＥＰ３ｂは、変換情報を参照し、ＶＬＡＮ番号「２０」と対応付けられたＶＮＩ「３４」を取得する。そして、ＶＴＥＰ３ｂは、ＶＮＩ「３４」をアウターヘッダに格納したパケットをネットワーク８を介してＶＴＥＰ５ｂに送信する。
【０１１９】
また、ＶＴＥＰ５ｂは、アウターヘッダにＶＮＩ「３４」が格納されたパケットを受信すると、変換情報を参照し、ＶＮＩ「３４」と対応付けられたＶＬＡＮ番号「１２０」を取得する。そして、ＶＴＥＰ３ｂは、パケットのカプセル化を解除すると、インナーヘッダに格納されたＶＬＡＮ番号「２０」をＶＬＡＮ番号「１２０」に書き換える。そして、ＶＴＥＰ３ｂは、ＶＬＡＮ番号を書き換えたパケットをＶＭ４ｄに出力する。
【０１２０】
こように、マルチテナントシステム１は、ＶＭ２ｄからＶＴＥＰ３ｂまでは、ＶＬＡＮ番号「２０」を用いて、通常のＶＬＡＮと同様のパケット転送処理を行う。また、マルチテナントシステム１は、ＶＴＥＰ３ｂでＶＬＡＮ番号「２０」とＶＮＩ「３４」との変換を行い、ＶＴＥＰ３ｂからＶＴＥＰ５ｂまでは、ＶＮＩ「３４」を用いたＶＸＬＡＮのパケット転送処理を行う。そして、マルチテナントシステム１は、ＶＴＥＰ５ｂでＶＮＩ「３４」とＶＬＡＮ番号「１２０」との変換を行い、ＶＴＥＰ５ｂからＶＭ４ｄまでは、ＶＬＡＮ番号「１２０」を用いて、通常のＶＬＡＮと同様のパケット転送処理を行う。
【０１２１】
このため、マルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂに異なる変換情報を配布した場合にも、同一のテナントが使用するＶＭ同士のパケット通信を実現することができる。
【０１２２】
次に、図１５を用いて、ＶＭを生成する際に管理サーバ１０が実行する処理の流れを説明する。図１５は、新たに生成したＶＭにＶＮＩとＶＬＡＮ番号とを割り当てる処理の流れを説明するためのフローチャートである。まず、管理サーバ１０は、ＶＭを使用するテナントに応じてＶＮＩをＶＭに割り当てる（ステップＳ１０１）。
【０１２３】
次に、管理サーバ１０は、ＶＭを稼動させるサーバの位置からＶＴＥＰを特定する（ステップＳ１０２）。そして、管理サーバ１０は、特定したＶＴＥＰが終端処理を行うＶＬＡＮにおいて同一テナントのＶＭにＶＬＡＮ番号を割り当て済みか否かを判定する（ステップＳ１０３）。そして、管理サーバ１０は、特定したＶＴＥＰが終端処理を行うＶＬＡＮにおいて同一テナントのＶＭにＶＬＡＮ番号を割り当て済みである場合は（ステップＳ１０３肯定）、割り当て済みのＶＬＡＮの割り当て数に１を加算する（ステップＳ１０４）。
【０１２４】
一方、管理サーバ１０は、特定したＶＴＥＰが終端処理を行うＶＬＡＮにおいて同一テナントのＶＭにＶＬＡＮ番号を割り当て済みではない場合は（ステップＳ１０３否定）、ＶＬＡＮ番号の割り当てを行う。すなわち、管理サーバ１０は、ＶＬＡＮプール１４から、特定したＶＴＥＰにおいて、テナントに対するＶＬＡＮ番号の割り当てを行う（ステップＳ１０５）。そして、管理サーバ１０は、特定したＶＴＥＰにおいて、割り当てたＶＬＡＮ番号の割り当て数を「１」にする（ステップＳ１０６）。その後、管理サーバ１０は、ＶＴＥＰに変換情報を配信し（ステップＳ１０７）、処理を終了する。
【０１２５】
次に、図１６を用いて、ＶＭが移動した際に管理サーバ１０が実行する処理の流れを説明する。図１６は、ＶＭが移動した際にＶＮＩとＶＬＡＮ番号とを更新する処理の流れを説明するためのフローチャートである。まず、管理サーバ１０は、ＶＭ移動先のサーバの位置から移動先のサーバの終端処理を行うＶＴＥＰ（以下、移動先ＶＴＥＰと記載する）を特定する（ステップＳ２０１）。
【０１２６】
次に、管理サーバ１０は、移動先ＶＴＥＰが終端処理を行うＶＬＡＮにおいて同一テナントのＶＭにＶＬＡＮ番号を割り当て済みか否かを判定する（ステップＳ２０２）。そして、管理サーバ１０は、移動先ＶＴＥＰが終端処理を行うＶＬＡＮにおいて同一テナントのＶＭにＶＬＡＮ番号を割り当て済みである場合は（ステップＳ２０２肯定）、以下の処理を実行する。すなわち、管理サーバ１０は、移動先ＶＴＥＰにおいて割り当て済みのＶＬＡＮ番号の割り当て数に１を加算する（ステップＳ２０３）。
【０１２７】
一方、管理サーバ１０は、移動先ＶＴＥＰが終端処理を行うＶＬＡＮにおいて同一テナントのＶＭにＶＬＡＮ番号を割り当て済みではない場合は（ステップＳ２０２否定）、ＶＬＡＮ番号の割り当てを行う。すなわち、管理サーバ１０は、ＶＬＡＮプール１４から、移動先ＶＴＥＰにおけるテナントに対するＶＬＡＮ番号の割り当てを行う（ステップＳ２０４）。そして、管理サーバ１０は、移動先ＶＴＥＰにおいて、割り当てたＶＬＡＮ番号の割り当て数を「１」にする（ステップＳ２０５）。その後、管理サーバ１０は、移動先ＶＴＥＰに変換情報を配信する（ステップＳ２０６）。
【０１２８】
続いて、管理サーバ１０は、ＶＭの移動元サーバの終端処理を行うＶＴＥＰ（以下、移動元ＶＴＥＰと記載する）を特定する（ステップＳ２０７）。そして、管理サーバ１０は、特定した移動元ＶＴＥＰにおいて、移動するＶＭに割り当てられたＶＬＡＮ番号の使用するを１減算する（ステップＳ２０８）。
【０１２９】
また、管理サーバ１０は、ＶＬＡＮ番号の割り当て数が「０」であるか否かを判定し（ステップＳ２０９）、「０」である場合は（ステップＳ２０９肯定）、移動元ＶＴＥＰのＶＬＡＮプールにＶＬＡＮ番号を返却する（ステップＳ２１０）。一方、管理サーバ１０は、ＶＬＡＮ番号の割り当て数が「０」ではない場合は（ステップＳ２０９否定）、ステップＳ２１０の処理をスキップする。そして、管理サーバ１０は、移動元ＶＴＥＰの変換情報を更新させ（ステップＳ２１１）、処理を終了する。
【０１３０】
次に、図１７を用いて、ＶＭが停止した際に管理サーバ１０が実行する処理の流れについて説明する。図１７は、ＶＭが停止した際にＶＮＩとＶＬＡＮ番号との割り当てを解除する処理の流れを説明するためのフローチャートである。まず、管理サーバ１０は、停止したＶＭの稼働するサーバの終端処理を行うＶＴＥＰを特定する（ステップＳ３０１）。そして、管理サーバ１０は、特定したＶＴＥＰにおいて、稼働するＶＭに割り当てられたＶＬＡＮ番号の割り当て数を１減算する（ステップＳ３０２）。
【０１３１】
また、管理サーバ１０は、ＶＬＡＮ番号の割り当て数が「０」であるか否かを判定し（ステップＳ３０３）、「０」である場合は（ステップＳ３０３肯定）、特定したＶＴＥＰのＶＬＡＮプールにＶＬＡＮ番号を返却する（ステップＳ３０４）。一方、管理サーバ１０は、ＶＬＡＮ番号の割り当て数が「０」ではない場合は（ステップＳ３０３否定）、ステップＳ３０４の処理をスキップする。そして、管理サーバ１０は、特定したＶＴＥＰの変換情報を更新させ（ステップＳ３０５）、処理を終了する。
【０１３２】
［マルチテナントシステム１の効果］
上述したように、マルチテナントシステム１は、ネットワーク８を介して、ＶＭが出力したパケットを転送する複数のＶＴＥＰ３ｂ、５ｂを有する。また、各ＶＴＥＰ３ｂ、４ｂの管理を行う管理サーバ１０を有する。ここで、管理サーバ１０は、マルチテナントシステム１内で同一テナントが使用するＶＭに対して、ＶＮＩを割り当てる。
【０１３３】
そして、管理サーバ１０は、ＶＴＥＰごとに、各ＶＴＥＰが終端処理を行うＶＬＡＮ内でＶＭを使用するテナントを示すＶＴＥＰ番号を選択する。その後、管理サーバ１０は、ＶＭに割り当てたＶＮＩと選択したＶＬＡＮ番号とを対応付けた変換情報をＶＴＥＰごとに生成し、生成した変換情報を各ＶＴＥＰに配信する。
【０１３４】
一方、各ＶＴＥＰ３ｂ、５ｂは、管理サーバ１０が配信した変換情報を記憶する。そして、各ＶＴＥＰ３ｂ、５ｂは、終端処理を行うＶＬＡＮ内のＶＭからパケットを受信すると、ＶＭのＶＬＡＮ番号と対応付けられたＶＮＩを変換情報から取得する。その後、各ＶＴＥＰ３ｂ、５ｂは、取得したＶＮＩを用いてパケットをカプセル化し、カプセル化したパケットをネットワーク８を介して転送する。
【０１３５】
このため、マルチテナントシステム１は、ＶＬＡＮとＶＸＬＡＮとの変換を行う際に使用可能なＶＮＩの数の制限を解消する。すなわち、マルチテナントシステム１は、マルチテナントシステム１全体で、ＶＭを使用するテナントを示すＶＮＩを設定する。また、マルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮごとに、各ＶＭを使用するテナントを示すＶＬＡＮ番号の割り当てを行う。
【０１３６】
そして、マルチテナントシステム１は、マルチテナントシステム１全体で割り当てを行ったＶＮＩと各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＴＥＰごとに割り当てを行ったＶＬＡＮ番号との対応付けを行う。この結果、マルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＴＥＰごとに、ＶＬＡＮ番号とＶＮＩとのマッピングを自由に設定することができる。この結果、マルチテナントシステム１は、ＶＬＡＮとＶＸＬＡＮとの変換を行う際に使用可能なＶＮＩの数の制限を解消し、マルチテナントシステム１を使用可能なテナントの最大数をＶＮＩの数（２４ビット）まで引き上げることができる。
【０１３７】
また、例えば、ＶＴＥＰ５ｂは、ＶＴＥＰ３ｂからカプセル化したパケットを受信すると、受信したパケットのアウターヘッダに含まれるＶＮＩと対応付けられたＶＬＡＮ番号を変換情報から取得する。そして、ＶＴＥＰ５ｂは、受信したパケットに含まれるＶＬＡＮ番号を変換情報から取得したＶＬＡＮ番号に変換して、ＶＭに転送する。このため、マルチテナントシステム１は、ＶＴＥＰ３ｂ、５ｂが終端処理を行う各ＶＬＡＮ内とで、同一のテナントが使用するＶＭに異なるＶＬＡＮ番号を割り当てる場合にも、同一テナントが使用するＶＭ間のパケット通信を実現することができる。
【０１３８】
また、管理サーバ１０は、ある１つのＶＬＡＮ内において同一テナントが使用するＶＭに同一のＶＬＡＮ番号を割り当てる。そして、各ＶＴＥＰ３ｂ、５ｂは、同一ＶＬＡＮ内において同一テナントが使用するＶＭ同士が送受信するパケットのカプセル化を行わずにＶＬＡＮ内のパケット転送を実行する。
【０１３９】
この結果、マルチテナントシステム１は、１つのＶＴＥＰが終端処理を行うＶＬＡＮ内で、同一のテナントが使用する複数のＶＭの稼動を実現するとともに、ＶＬＡＮ内のパケット転送の速度を向上させることができる。すなわち、マルチテナントシステム１において、ＶＬＡＮ内で転送されるパケットについては、カプセル化を行わないので、パケット転送の速度を向上させることができる。
【０１４０】
また、管理サーバ１０は、各ＶＴＥＰのＶＴＥＰＩＤと、各ＶＴＥＰが終端処理を行うＶＬＡＮ内で割り当てされていないＶＬＡＮ番号とを対応付けたＶＬＡＮプール１４を有する。そして、管理サーバ１０は、新たなテナントが使用するＶＭについては、ＶＭの終端処理を行うＶＴＥＰのＶＴＥＰＩＤと対応付けられたＶＬＡＮ番号から選択されたＶＬＡＮ番号を割り当てる。このため、管理サーバ１０は、各テナントが使用するＶＭに割り当てるＶＬＡＮ番号がＶＬＡＮごとに異なる場合も、複雑な処理を行うことなく、各ＶＭに対して、テナントごとに一意なＶＬＡＮ番号を選択することができる。
【０１４１】
また、管理サーバ１０は、各ＶＴＥＰのＶＴＥＰＩＤと、各ＶＴＥＰが終端処理を行うＶＬＡＮ内のＶＭが使用しているＶＬＡＮ番号と、ＶＬＡＮ番号の割り当て数とを対応付けた割り当て数管理ＤＢ１５を有する。そして、管理サーバ１０は、ＶＭを停止させる際は、停止させるＶＭが使用するＶＬＡＮ番号と対応付けた割り当て数を１減算し、割り当て数が０であるＶＬＡＮ番号については、ＶＬＡＮプール１４に返却する。このため、管理サーバ１０は、ＶＭの停止により生じた割り当て可能なＶＬＡＮ番号をＶＬＡＮプール１４に反映させることができる。
【実施例２】
【０１４２】
例えば、マルチテナントシステム１は、スイッチ３ａにＶＬＡＮプール１４と割り当て数管理ＤＢ１５とを設置し、サーバ２ａが実行するハイパーバイザ上で動作するＶＮＩ変換部からの問い合わせに応じて、スイッチ３ａがＶＬＡＮ番号等の割り当てを行ってもよい。以下、サーバ２ａが実行するハイパーバイザ上でＶＬＡＮ番号の割り当てを行う実施例２について説明する。なお、以下の説明では、サーバ２ｂ、４ａ、４ｂ、６ａ、６ｂについては、サーバ２ａと同様の機能を発揮するものとして、説明を省略する。
【０１４３】
例えば、図１８は、実施例２に係るサーバが有する機能構成の一例を説明する図である。図２に示すように、サーバ２ａは、ハイパーバイザ２ｃを動作させ、ハイパーバイザ２ｃ上で、ＶＭ２ｄ、２ｅを稼動させる。また、ハイパーバイザ２ｃは、ＶＮＩ変換テーブル３１ａ、通信制御部３３、ＶＬＡＮ制御部３６ａ、ＶＮＩ変換部３８ａを有する。なお、通信制御部３３は、図１１に示す通信制御部３３と同様の機能を発揮するものとして、詳細な説明を省略する。
【０１４４】
ＶＮＩ変換テーブル３１ａは、サーバ２ａ上で稼動するＶＭのＶＮＩとＶＬＡＮ番号とを対応付けた変換情報を記憶する。すなわち、マルチテナントシステム１全体で割り当てを行ったＶＮＩをサーバ２ａ上において、一意なＶＬＡＮ番号に対応付けるＶＮＩ変換処理を行うための変換情報を記憶する。なお、ＶＮＩ変換テーブル３１ａが記憶する変換情報は、ＶＬＡＮ変換テーブル３１が記憶する変換情報のうち、サーバ２ａ上で稼動するＶＭのＶＮＩとＶＬＡＮ番号とを対応付けた変換情報となる。
【０１４５】
ＶＬＡＮ制御部３６ａは、図１１に示す受信部３５、変換部３６、転送部３７と同様の機能を発揮する。例えば、ＶＬＡＮ制御部３６ａは、ＶＭ２ｄ、２ｅのＶＮＩと対応付けられたＶＬＡＮ番号をＶＮＩ変換テーブル３１ａから取得し、取得したＶＬＡＮ番号を用いて、パケットにＶＬＡＮタグを付与する。そして、ＶＬＡＮ制御部３６ａは、通信制御部３３を介して、ＶＬＡＮタグを付与したパケットをスイッチ３ａに出力する。
【０１４６】
また、ＶＬＡＮ制御部３６ａは、通信制御部３３を介して、ＶＬＡＮタグ付きパケットを受信すると、ＶＬＡＮタグを削除し、そのパケットをＶＭ２ｄまたはＶＭ２ｅに出力する。
【０１４７】
ＶＮＩ変換部３８ａは、新規なテナントが使用するＶＭをサーバ２ａ上に生成する場合は、生成するＶＭを使用するテナントに割り当てられたＶＮＩとともに、ＶＬＡＮ番号の問い合わせをスイッチ３ａに送信する。ここで、新規なテナントとは、サーバ２ａ上のＶＬＡＮ番号の割り当てが行われていないテナントである。
【０１４８】
また、ＶＮＩ変換部３８ａは、ハイパーバイザ２ｃ上のＶＭを停止する場合は、通信制御部３３を介して、停止するＶＭに割り当てられたＶＬＡＮをスイッチ３ａに通知する。なお、ＶＮＩ変換部３８ａは、新規でないテナントが使用するＶＭをサーバ２ａ上に生成する場合は、すでに変換情報がＶＮＩ変換テーブル３１ａに格納されているので、ＶＬＡＮ番号の問い合わせを行わない。
【０１４９】
また、ＶＮＩ変換部３８ａは、ＶＭの移動を行う際に、サーバ２ａが移動先のサーバとなり、かつ、移動するＶＭを使用するテナントが新規なテナントであるか否かを判定する。そして、ＶＮＩ変換部３８ａは、サーバ２ａが移動先のサーバとなり、かつ、テナントが新規なテナントである場合は、ＶＭを使用するテナントに割り当てられたＶＮＩとともに、ＶＬＡＮ番号の問い合わせをスイッチ３ａに送信する。一方、ＶＮＩ変換部３８ａは、サーバ２ａが移動元のサーバとなる場合は、移動するＶＭを停止するＶＭとみなし、停止するＶＭに割り当てられたＶＬＡＮをスイッチ３ａに通知する。
【０１５０】
次に、図１９を用いて、実施例２に係るスイッチ３ａが有する機能構成について説明する。図１９は、実施例２に係るスイッチが有する機能構成の一例を説明する図である。図１９に示す例では、スイッチ３ａは、図１１に示す機能構成に加えて、ＶＬＡＮプール１４ａ、割り当て数管理ＤＢ１５ａ、ＶＴＥＰ管理部２０ｃを有する。
【０１５１】
ＶＴＥＰ管理部２０ｃは、サーバ２ａからＶＮＩとともにＶＬＡＮの問い合わせを受信すると、受信したＶＮＩ生成するＶＭを使用するテナントに割り当てるＶＬＡＮ番号をＶＬＡＮプール１４ａから選択する。そして、ＶＴＥＰ管理部２０ｃは、選択したＶＬＡＮ番号と取得したＶＮＩとを対応付けた変換情報を生成し、生成した変換情報をサーバ２ａに送信する。この結果、ＶＮＩ変換部３８ａは、スイッチ３ａから、新たな変換情報を受信すると、受信した変換情報をＶＮＩ変換テーブル３１ａに格納する。
【０１５２】
一方、ＶＴＥＰ管理部２０ｃは、サーバ２ａからＶＭを停止する通知を受信すると、割り当て数管理ＤＢ１５ａが記憶する割り当て数のうち、停止するＶＭに有り当てられたＶＬＡＮ番号と対応付けられた割り当て数を１削減する。そして、ＶＴＥＰ管理部２０ｃは、割り当て数が「０」であるＶＬＡＮ番号を含む変換情報を削除するようサーバ２ａに通知する。この結果、ＶＮＩ変換部３８ａは、停止するＶＭに割り当てられたＶＬＡＮ番号を含むエントリをＶＮＩ変換テーブル３１ａから削除する。
【０１５３】
次に、図２０を用いて、実施例２に係るサーバ２ａが実行する処理について説明する。図２０は、実施例２に係るサーバが実行する処理を説明する図である。図２０に示す例では、ハイパーバイザ２ｃ、２ｆ、４ｂ上でＶＮＩ変換処理及びＶＬＡＮ変更処理が動作する。
【０１５４】
例えば、ＶＮＩ番号「３４」のＶＭ２ｄは、ＶＭ４ｄ宛のパケットを出力する。すると、ハイパーバイザ２ｃ上のＶＬＡＮ制御部３６ａは、ＶＮＩ番号「３４」と対応付けられたＶＬＡＮ番号「２０」を用いて、ＶＬＡＮタグを付与し、そのパケットをスイッチ３ａに出力する。すると、スイッチ３ａは、ＶＴＥＰでカプセル化し、ネットワーク８を介して、カプセル化されたパケットをスイッチ５ａへ送信する。
【０１５５】
一方、スイッチ５ａは、カプセル化されたパケットをＶＴＥＰでＶＬＡＮ番号「１２０」に変換し、サーバ４ａに送信する。すると、サーバ４ａが実行するハイパーバイザ４ｂ上のＶＬＡＮ制御部３６ａは、ＶＬＡＮタグを除去して、そのパケットをＶＭ４ｄに出力する。
【０１５６】
一方、ＶＮＩ「２２」のＶＭ２２ｅは、ＶＭ２ｇ宛のパケットを出力する。すると、ハイパーバイザ２ｃ上のＶＬＡＮ制御部３６ａは、ＶＮＩ「２２」と対応付けられたＶＬＡＮ番号「１０」を用いて、パケットにＶＬＡＮタグを付与し、そのパケットをスイッチ３ａに出力する。このような場合には、スイッチ３ａは、ＶＬＡＮ番号「１０」とＭＡＣアドレスとを用いてパケットの転送処理を行い、パケットをサーバ２ｂに出力する。
【０１５７】
そして、サーバ２ｂが実行するハイパーバイザ２ｆ上で動作するＶＬＡＮ制御部は、ＶＬＡＮタグを除去して、そのパケットをＶＭ２ｇに出力する。
【０１５８】
なお、上述した実施例２に係るサーバ２ａは、実施例１に係るマルチテナントシステム１と組み合わせて利用することができる。すなわち、各サーバ２ａ、４ａ、６ａは、ＶＴＥＰを有するスイッチ３ａ、５ａ、７ａにパケットを送信する際にＶＬＡＮ番号が格納されたパケットを送信するのであれば、稼動させるＶＭをＶＮＩで識別してもよいし、ＶＬＡＮ番号で識別してもよい。
【０１５９】
なお、管理サーバ１０は、ＶＴＥＰの位置に関係なく、ＶＴＥＰが終端処理を行うＶＭの集合ごとに、ＶＭを使用するテナントを示すＶＬＡＮ番号を選択すればよい。この結果、管理サーバ１０は、各ＶＴＥＰの設置位置によらず、各ＶＴＥＰに適切な変換処理を実行させることができる。つまり、管理サーバ１０は、各サーバ２ａ、２ｂ、４ａ、４ｂ、６ａ、６ｂが、ＶＴＥＰの機能をオフロードしているか否かに関係なく、変換処理を各ＶＴＥＰに実行させることができる。
【０１６０】
例えば、サーバ２ａは、サーバ４ａにパケットを送信する際に、ＶＴＥＰの機能をスイッチ３ａにオフロードしてもよいし、しなくともよい。また、サーバ４ａは、サーバ２ａからパケットを受信する際に、ＶＴＥＰの機能をスイッチ５ａにオフロードしてもよいし、しなくともよい。
【０１６１】
次に、図２１、２２を用いて、ＶＭを移動させる際にサーバ２ａ、およびスイッチ３ａが実行する処理について説明する。まず、図２１を用いて、ＶＭの移動先となる際にサーバ２ａとスイッチ３ａとが実行する処理の流れについて説明する。図２１は、ＶＭの移動先に係るサーバが実行する処理の一例を説明するためのシーケンス図である。まず、サーバ２ａにＶＭが移動してくる（ステップＳ４０１）。すると、サーバ２ａは、移動したＶＭに対するＶＬＡＮ番号の問い合わせをスイッチ３ａに送信する（ステップＳ４０２）。
【０１６２】
すると、スイッチ３ａは、ＶＬＡＮプール１４ａが記憶するＶＬＡＮ番号から割り当てるＶＬＡＮ番号を選択する（ステップＳ４０３）。また、スイッチ３ａは、選択したＶＬＡＮ番号を使用するＶＭの割り当て数を１つ加算する（ステップＳ４０４）。そして、スイッチ３ａは、新たな変換情報をサーバ２ａに送信する（ステップＳ４０５）。一方、サーバ２ａは、受信した変換情報をＶＮＩ変換テーブル３１ａに格納し（ステップＳ４０６）、処理を終了する。
【０１６３】
次に、図２２を用いて、ＶＭの移動元となる際にサーバ２ａとスイッチ３ａとが実行する処理の流れについて説明する。図２２は、ＶＭの移動先に係るＶＴＥＰが実行する処理の一例を説明するためのシーケンス図である。図２２に示す例では、ＶＬＡＮ番号が「１１０」のＶＭが移動する（ステップＳ５０１）。すると、サーバ２ａは、ＶＭの停止をスイッチ３ａに通知する（ステップＳ５０２）。
【０１６４】
このような場合には、スイッチ３ａは、ＶＬＡＮ「１１０」の割り当て数を１減算し（ステップＳ５０３）、割り当て数が「０」であるか否かを判定する（ステップＳ５０４）。そして、スイッチ３ａは、割り当て数が「０」である場合は（ステップＳ５０４肯定）、ＶＬＡＮ番号「１１０」をＶＬＡＮプールに格納する（ステップＳ５０５）。その後、スイッチ３ａは、変換情報の削除をサーバ２ａに通知する（ステップＳ５０６）。すると、サーバ２ａは、ＶＬＡＮ番号「１１０」の変換情報を削除する（ステップＳ５０７）。一方、スイッチ３ａは、割り当て数が「０」ではない場合は（ステップＳ５０４否定）、ステップＳ５０５、Ｓ５０６をスキップする。
【０１６５】
［スイッチ３ａの効果］
上述したように、スイッチ３ａは、ＶＬＡＮプール１４ａと、割り当て数管理ＤＢ１５ａとを有する。そして、スイッチ３ａは、サーバ２ａ上で動作するＶＴＥＰ３ｂからの要求に応じて、サーバ２ａ上のＶＬＡＮ番号とマルチテナントシステム１全体でのＶＮＩとを対応付けた変換情報をＶＴＥＰ３ｂに送信する。このため、スイッチ３ａは、管理サーバ１０を用いずとも、サーバ２ａがＶＮＩとＶＬＡＮ番号とを変換するヘッダ変換処理を実行するための変換情報を生成することができる。
【実施例３】
【０１６６】
実施例１、２では、マルチテナントシステム１は、スイッチ３ａ、またはサーバ２ａ上でＶＴＥＰ３ｂを動作させる例について説明した。しかし、実施例はこれに限定されるものではない。例えば、マルチテナントシステム１は、ＳＲ−ＩＯＶ（Single  Root  Input  Output  Virtualization）アダプタや、ＭＰＦ（Multiple  Physical  Function）アダプタ等のＮＩＣ（Network  Interface  Card）上にヘッダ変換処理機能をオフロードしてもよい。以下、このようなＮＩＣ上でヘッダ変換処理を動作させる実施例について説明する。
【０１６７】
まず、図面を用いて、ＮＩＣの一例について説明する。まず、図２３を用いて、ＳＲ−ＩＯＶアダプタの一例を説明する。図２３は、ＶＮＩ変換機能を有するＳＲ−ＩＯＶアダプタの一例を説明する図である。例えば、図２３に示す例では、サーバ２ａは、ハイパーバイザ２ｃを動作させており、ハイパーバイザ２ｃ上で、複数のＶＭ２ｄ〜２ｈを稼動させている。
【０１６８】
また、図２３に示す例では、サーバ２ａとスイッチ３ａとの間に、ＳＲ−ＩＯＶアダプタ４０が設置されている。ＳＲ−ＩＯＶアダプタ４０は、１つのＰＦ（Physical  Function）４１と、内部スイッチ４２と、ＶＮＩ変換テーブル３１ａとを有する。また、内部スイッチ４２は、複数のＶＦ（Virtual  Function）４３〜４８を有する。
【０１６９】
ＰＦ４１は、内部スイッチ４２が有する各ＶＦ４３〜４８を動作させる。物理的な情報処理ユニットである。また、各ＶＦ４３〜４８は、仮想的な機能処理ユニットであり、サーバ２ａ上で稼動する各ＶＭ２ｄ〜２ｈが、ハイパーバイザ２ｃを介して直接利用することができる（Direct  Input/Output）ｖＮＩＣ（Virtual  Network  Interface  Card）として動作する。例えば、ＶＭ２ｄは、ＶＦ４３を介して、パケットの送受信を行う。また、ＶＭ２ｅは、ＶＦ４４を介して、パケットの送受信を行う。また、ＶＭ２ｈは、ＶＦ４５を介して、パケットの送受信を行う。
【０１７０】
ここで、ＰＦ４は、各ＶＦ４３〜４８を利用するＶＭ２ｄ〜２ｈに割り当てられたＶＮＩとＶＬＡＮ番号との変換情報をＶＮＩ変換テーブル３１ａから取得し、取得した変換情報を各ＶＦ４３〜４８に割り当てる。そして、各ＶＦ４３〜４８は、割り当てられた変換情報を用いて、パケットの変換処理を行う。例えば、ＰＦ４は、ＶＦ４３をＶＭ２ｄが利用する場合は、ＶＭ２ｄに割り当てられたＶＮＩとＶＬＡＮ番号とを対応付けた変換情報をＶＦ４３に割り当てる。
【０１７１】
すると、ＶＦ４３は、割り当てられた変換情報を用いて、ＶＭ２ｄが送受信するパケットの変換処理を行う。すなわち、各ＶＦ４３〜４８のそれぞれは、サーバ２ａ上で動作するＶＭのうち、対応付けられたＶＭが送受信するパケットのヘッダ変換処理を行う。
【０１７２】
なお、ＳＲ−ＩＯＶアダプタ４０では、レジスタの実装が容易であるので、内部スイッチ４２内で実現するＶＦの数を多く設定することができる。このため、ＳＲ−ＩＯＶアダプタ４０は、サーバ２ａ内で多くのＶＭが動作する場合であっても、容易に各ＶＭが送受信するパケットのヘッダ変換処理を行うことができる。
【０１７３】
また、ＳＲ−ＩＯＶアダプタ４０を利用する場合は、各ＶＦ４３〜４８を各ＶＭ２ｄ〜２ｈが直接利用するため、ハイパーバイザ２ｃをＳＲ−ＩＯＶアダプタ４０に対応させることとなる。すなわち、ハイパーバイザ２ｃは、ＰＦ４１と連携し、サーバ２ａ上で動作する各ＶＭ２ｄ〜２ｈと、各ＶＭ４３〜４８とを対応させる処理や、各ＶＭ２ｄ〜２ｈが各ＶＦ４３〜４８を直接利用するための処理等を行う必要がある。
【０１７４】
ここで、ＳＲ−ＩＯＶアダプタ４０がヘッダ変換処理を行うＶＭの最大数は、内部スイッチ４２内に実現されるＶＦの数の最大数となる。このため、ＳＲ−ＩＯＶアダプタ４０は、大容量のＶＮＩ変換テーブル３１ａを有さずとも、内部スイッチ４２内に実現されるＶＦの数の最大数と同数のエントリを記憶可能な要領のＶＮＩ変換テーブル３１ａを有せばよい。例えば、ＰＣＩ（Peripheral  Components  Interconnect）の使用では、ＶＦの最大数は２５６であるので、ＳＲ−ＩＯＶアダプタ４０は、２５６エントリの変換情報を記憶可能なＶＮＩ変換テーブル３１ａを有せばよい。
【０１７５】
次に、図２４を用いて、ＭＰＦアダプタの一例について説明する。図２４は、変換機能を有するＭＰＦアダプタの一例を説明する図である。図２４に示すようにＭＰＦアダプタ５０は、サーバ２ａとスイッチ３ａとの間に設置されており、サーバ２ａ上で稼動するＶＭが送受信するパケットのヘッダ変換処理を行う。
【０１７６】
ここで、ＭＰＦアダプタ５０は、複数のＰＦ５１〜５４と、ＶＮＩ変換テーブル３１ａとを有する。ここで、各ＰＦ５１〜５４は、それぞれがヘッダ変換処理を行う物理的な情報処理ユニットである。詳細には、各ＰＦ５１〜５４は、ＶＮＩ変換テーブル３１ａが記憶する変換情報を用いて、サーバ２ａ上で稼動する任意のＶＭが送受信するパケットのヘッダ変換処理を行う。すなわちＭＰＦアダプタ５０は、それぞれ変換処理を行う複数のポートを有するＮＩＣとして認識される。
【０１７７】
ここで、ＭＰＦアダプタ５０が有する各ＰＦ５１〜５４は、それぞれ独立して動作する。すなわち、各ＰＦ５１〜５４は、それぞれが、サーバ２ａ上のＶＭが送受信するパケットのヘッダ変換処理を行う。このため、ＭＰＣアダプタ５０は、サーバ２ａが実行するハイパーバイザ２ｃをＭＰＦアダプタ５０に対応させずとも、標準的なデバイスドライバで動作することができる。
【０１７８】
なお、ＭＰＦアダプタ５０では、各ＰＦ５１〜５４は、それぞれ独立したレジスタを有し、実行可能な機能にも制限はなく、ＩＮＴｘやＭＳＩ／ＭＳＩ−Ｘといった割り込み命令を発行可能である。一方、ＳＲ−ＩＯＶアダプタ４０では、ＰＦ４１が各ＶＦ４３〜４８のレジスタをまとめて管理し、各ＶＦ４３〜４８が実行可能な機能にも制限があり、発行可能な割り込み命令もＭＳＩ／ＭＳＩ−Ｘに制限される。なお、ＳＲ−ＩＯＶアダプタ４０、およびＭＰＦアダプタ５０は、イーサーネット用のＮＩＣであってもよく、また、ファイバーチャネル用のＨＢＡ（Host  Bus  Adapter）であってもよい。
【０１７９】
［ヘッダ変換処理をオフロードしたＮＩＣの効果］
上述したように、ＳＲ−ＩＯＶアダプタ４０、およびＭＰＦアダプタ５０は、サーバ２ａ上で稼動するＶＭが送受信するパケットのヘッダ変換処理を行う。すなわち、ＳＲ−ＩＯＶアダプタ４０、およびＭＰＦアダプタ５０は、パケットのヘッダの変換処理をサーバ２ａからオフロードすることができる。この結果、ＳＲ−ＩＯＶアダプタ４０、およびＭＰＦアダプタ５０は、サーバ２ａの負荷を軽減することができる。
【０１８０】
また、ＳＲ−ＩＯＶアダプタ４０は、それぞれが、サーバ２ａ上で稼動するＶＭと対応付けられた複数のＶＦ４３〜４８を有する。そして、各ＶＦ４３〜４８は、それぞれ対応付けられたＶＭが送受信するパケットにＶＮＩに対応すけられたＶＬＡＮ番号を用いてＶＬＡＮタグの付加・削除を行う。このため、ＳＲ−ＩＯＶアダプタ５０は、複数のＶＭが送受信するパケットのＶＮＩとＶＬＡＮ番号との変換処理を同時に実行することができる。
【実施例４】
【０１８１】
上述した実施例１〜３では、各ＶＭに対し、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うネットワークにおいて、ＶＭを使用するテナントを示すＶＬＡＮ番号を有り当てた。しかし、実施例はこれに限定されるものではない。すなわち、マルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うネットワークにおいて、各ＶＭを使用するテナントを示す識別番号としてＶＬＡＮ番号以外の番号を割り当ててもよい。
【０１８２】
以下、各ＶＭを使用するテナントを示す識別番号として、ＳＲ−ＩＯＶアダプタ４０が有する各ＶＦ４３〜４８のグループを示す拡張ＶＬＡＮ番号を付与するマルチテナントシステム１について説明する。なお、マルチテナントシステム１は、図１に例示した構成を有するものとして、詳細な説明を省略する。
【０１８３】
まず、図２５を用いて、実施例４に係るマルチテナントシステム１が有する管理サーバ１０ａの機能構成について説明する。図２５は、実施例４に係る管理サーバの機能構成の一例を説明する図である。図２５に示すように、管理サーバ１０ａは、ＶＴＥＰ位置ＤＢ１１、ＶＭ位置ＤＢ１２、ＶＭ仮想ネットワークＤＢ１３、拡張ＶＬＡＮプール１４ｂ、割り当て数管理ＤＢ１５ｂ、ＶＮＩプール１６を有する。また、管理サーバ１０ａは、通信制御部１７、ＶＭ管理部１８、ＶＭネットワーク管理部１９、ＶＴＥＰ管理部２０を有する。
【０１８４】
なお、ＶＴＥＰ位置ＤＢ１１、ＶＭ位置ＤＢ１２、ＶＭ仮想ネットワークＤＢ１３は、図５に示すＶＴＥＰ位置ＤＢ１１、ＶＭ位置ＤＢ１２、ＶＭ仮想ネットワークＤＢ１３と同じ情報を記憶するものとして、説明を省略する。また、図２５に示す通信制御部１７、ＶＭ管理部１８、ＶＭネットワーク管理部１９、ＶＴＥＰ管理部２０は、図５に示す通信制御部１７、ＶＭ管理部１８、ＶＭネットワーク管理部１９、ＶＴＥＰ管理部２０と同様の処理を実行するものとして、説明を省略する。
【０１８５】
拡張ＶＬＡＮプール１４ｂは、ＶＴＥＰごとに、各ＶＴＥＰが終端処理を行うＶＬＡＮ内においてＶＭを使用するテナントを示す拡張ＶＬＡＮ番号のうち、使用していない拡張ＶＬＡＮ番号を記憶する。例えば、図２６は、拡張ＶＬＡＮプールが記憶する情報の一例を説明する図である。図２６に示す例では、拡張ＶＬＡＮプール１６ｂは、ＶＴＥＰと拡張ＶＬＡＮ番号とを対応付けて記憶する。例えば、図２６に示す例では、拡張ＶＬＡＮプール１６ｂは、ＶＴＥＰＩＤ「＃１」と拡張ＶＬＡＮ番号「１０１」、「１０３」等を対応付けて記憶する。
【０１８６】
次に、図２７を用いて、割り当て数管理ＤＢ１５ｂが記憶する情報について説明する。図２７は、実施例４に係る割り当て数管理ＤＢが記憶する情報の一例を説明する図である。図２７に示す例では、割り当て数管理ＤＢ１５ｂは、ＶＴＥＰＩＤと拡張ＶＬＡＮ番号と割り当て数とを対応付けて記憶する。
【０１８７】
例えば、図２７に示す例では、割り当て数管理ＤＢ１５ｂは、ＶＴＥＰＩＤ「＃１」と拡張ＶＬＡＮ番号「１００」と割り当て数「１」とを対応付けて記憶する。また、割り当て数管理ＤＢ１５ｂは、ＶＴＥＰＩＤ「＃１」と拡張ＶＬＡＮ番号「１０２」と割り当て数「２」とを対応付けて記憶する。また、割り当て数管理ＤＢ１５ｂは、ＶＴＥＰＩＤ「＃２」と拡張ＶＬＡＮ番号「１００」と割り当て数「１」とを対応付けて記憶する。
【０１８８】
このように、管理サーバ１０ａは、管理サーバ１０が管理するＶＬＡＮ番号の代わりに、拡張ＶＬＡＮ番号を管理する。この結果、管理サーバ１０ａは、各ＶＴＥＰが終端処理を実行するＶＮＩごとに、テナントを示す拡張ＶＬＡＮ番号をＶＭに割り当てし、ＶＮＩと拡張ＶＬＡＮ番号とを対応付けた変換情報を各ＶＴＥＰに配信する。このため、管理サーバ１０ａは、マルチテナントシステム１内において、各テナントにＶＬＡＮ番号を自由に設定させることができる。
【０１８９】
すなわち、マルチテナントシステム１にＶＭを移動させるテナントは、従前使用していたＶＬＡＮ番号を継続して利用したい場合がある。このような場合にも、マルチテナントシステム１は、拡張ＶＬＡＮ番号とＶＮＩとを対応付けた変換情報を用いるので、各テナントに自由なＶＬＡＮ番号を使用させることができる。
【０１９０】
なお、拡張ＶＬＡＮ番号とＶＮＩとを対応付けた変換情報を用いてパケットの変換を行うＶＴＥＰは、任意の位置に配置することができる。そこで、以下の説明では、管理サーバ１０ａが配信する変換情報を用いて、サーバ２ａとスイッチ３ａとの間に設置されたＳＲ−ＩＯＶアダプタ４０がパケットの変換を行う処理の一例を説明する。
【０１９１】
図２８は、実施例４に係るサーバの一例を説明する図である。図２８に示す例では、サーバ２ａとスイッチ３ａとの間に、ＳＲ−ＩＯＶアダプタ４０が設置されている。また、ＳＲ−ＩＯＶアダプタ４０は、ＰＦ４１ａ、内部スイッチ４２、ＶＮＩ変換テーブル３１ｂ、ＶＦグループ情報定義テーブル３１ｃを有する。また、内部スイッチ４２は、複数のＶＦ４３〜４８を有する。
【０１９２】
ＶＮＩ変換テーブル３１ｂは、変換情報を記憶する。例えば、図２９は、実施例４に係るＶＬＡＮ変換テーブルの一例を説明する図である。図２９に示すように、ＶＮＩ変換テーブル３１ｂは、各ＶＭ２ｄ〜２ｈに割り当てられたＶＮＩと、各ＶＭ２ｄ〜２ｈが使用するＶＬＡＮ番号と、各ＶＭ２ｄ〜２ｈに割り当てられた拡張ＶＬＡＮ番号とを対応付けて記憶する。
【０１９３】
例えば、図２９に示す例では、ＶＮＩ変換テーブル３１ｂは、ＶＮＩ「２２」とＶＬＡＮ番号「１０」と拡張ＶＬＡＮ番号「１００」とを対応付けて記憶し、ＶＮＩ「３４」とＶＬＡＮ番号「２０」と拡張ＶＬＡＮ番号「１０１」とを対応付けて記憶する。また、ＶＮＩ変換テーブル３１ｂは、ＶＮＩ「５０」とＶＬＡＮ番号「１０」と拡張ＶＬＡＮ番号「１０２」とを対応付けて記憶する。なお、ＶＮＩ変換テーブル３１ｂは、内部スイッチ４２が有するＶＦの数だけ変換情報を記憶することができる。
【０１９４】
ここで、ＶＸＬＡＮを用いたパケット通信を行う場合は、拡張ＶＬＡＮ番号をインナーヘッダに格納する必要がある。このため、管理サーバ１０ａがＶＮＩと拡張ＶＬＡＮ番号とを対応付けた変換情報を配布し、ハイパーバイザ２ｃが、各ＶＭが使用するＶＬＡＮ番号を変換情報に追加することで、図２９に示すＶＮＩ変換テーブル３１ｂを作成する。なお、管理サーバ１０ａが各ＶＭに割り当てたＶＮＩを拡張ＶＬＡＮ番号とあわせて記憶し、ＶＮＩと拡張ＶＬＡＮ番号と、ＶＬＡＮ番号とを対応付けた変換情報を配布することとしてもよい。
【０１９５】
図２８に戻って、ＶＦグループ情報定義テーブル３１ｃは、各拡張ＶＬＡＮ番号が示すＶＦのグループ、すなわち、通信可能なＶＭと対応付けられたＶＦを示すグループ情報を記憶する。例えば、図３０は、ＶＦグループ情報定義テーブルの一例を説明する図である。図３０に示すように、ＶＦグループ情報定義テーブルは、各拡張ＶＬＡＮ番号と、グループ情報とを対応付けて記憶する。
【０１９６】
ここで、グループ情報は、ＳＲ−ＩＯＶアダプタ４０が有する各ＶＦ４３〜４８を使用するＶＭが、パケット通信可能か否かを示すビット列である。例えば、図３０に示す例では、グループ情報は、各ＶＦ４３〜４８の識別子「１」〜「６」と対応付けられたビットを有する。そして、図３０に示す例では、ＶＦグループ情報定義テーブル３１ｃは、拡張ＶＬＡＮ「１００」と、ビット列「１００１１０」とを対応付けて記憶する。すなわち、ＶＦグループ情報定義テーブル３１ｃは、識別子が「１」、「４」、「５」であるＶＦ４３、４６、４７を使用するＶＭが、拡張ＶＬＡＮ番号「１００」が格納されたパケットを送受信可能である旨を記憶する。
【０１９７】
また、ＶＦグループ情報定義テーブル３１ｃは、識別子が「２」、「６」であるＶＦ４４、４８を使用するＶＭが、拡張ＶＬＡＮ番号「１０１」が格納されたパケットを送受信可能である旨を記憶する。また、ＶＦグループ情報定義テーブル３１ｃは、識別子が「３」であるＶＦ４５を使用するＶＭが、拡張ＶＬＡＮ番号「１０２」が格納されたパケットを送受信可能である旨を記憶する。
【０１９８】
図２８に戻って、ＰＦ４１ａは、各ＶＦと対応付けられたＶＭの拡張ＶＬＡＮとを用いて、ＶＦグループ情報定義テーブル３１ｃを作成する。例えば、ＰＦ４１ａは、各拡張ＶＬＡＮ番号について、同じ拡張ＶＬＡＮ番号が付与されたＶＭと対応付けられたＶＦを識別する。そして、ＰＦ４１ａは、識別したＶＦと対応するビットを「１」としたグループ情報を拡張ＶＬＡＮ番号と対応付けてＶＦグループ情報定義テーブル３１ｃに格納する。そして、ＰＦ４１ａは、各ＶＦ４３〜４８と対応付けられたＶＭの拡張ＶＬＡＮ番号とを含む変換情報をＶＮＩ変換テーブル３１ｂから取得し、取得した変換情報を各ＶＦ４３〜４８に割り当てる。
【０１９９】
ＶＦ４３は、ＶＭ２ｄが送受信するパケットのヘッダ変換処理を行う。具体的には、ＶＦ４３は、ＶＭ２ｄからパケットを受信すると、ＰＦ４１ａから割り当てられた変換情報を用いて、パケットのＶＬＡＮタグを付与し、拡張ＶＬＡＮ番号を格納する。ここで、図３１は、実施例４に係るアダプタが送信するパケットのフォーマットの一例を説明する図である。
【０２００】
図３１に示すように、ＶＦ４３は、インナーヘッダに含まれる４バイトのＶＬＡＮタグの中に、ベースＶＬＡＮタグと拡張ＶＬＡＮ番号とＶＬＡＮ番号とを格納する。その後、ＶＦ４３は、割り当てられた変換情報のＶＮＩを含むアウターヘッダをパケットに付加してカプセル化し、カプセル化したパケットをスイッチ３ａへ送信する。なお、以下の説明では、拡張ＶＬＡＮ番号とベールＶＬＡＮタグとを含む２バイトのタグをＴタグ（テナントタグ）と記載する。
【０２０１】
また、ＶＦ４３は、Ｔタグを付与したパケットをスイッチ３ａから受信すると、受信したパケットのＴタグから拡張ＶＬＡＮ番号を取得する。そして、ＶＦ４３は、取得した拡張ＶＬＡＮ番号が示すグループ情報をＶＦグループ情報定義テーブル３１ｃから識別し、識別したグループ情報のうちＶＦ４３に対応するビットが「１」であるか否かを判定する。その後、ＶＦ４３は、識別したグループ情報のうちＶＦ４３に対応するビットが「１」である場合は、パケット通信可能であると判定し、割り当てられた変換情報を用いて、パケットのＴタグを削除し、そのパケットをＶＭ２ｄに送信する。
【０２０２】
次に、図３２を用いて、実施例４に係るＳＲ−ＩＯＶアダプタ４０が実行する処理の一例を説明する。図３２は、実施例４に係るＳＲ−ＩＯＶアダプタが実行する処理の一例を説明する図である。なお、図３２に示す例では、ＳＲ−ＩＯＶアダプタ４０の各ＶＦ４３〜４８は、サーバ２ａ上で稼動するＶＭのヘッダ変換処理を行う。また、サーバ２ｂとスイッチ３ａとの間には、ＳＲ−ＩＯＶアダプタ４０ａを有する。
【０２０３】
また、ＶＭ２ｄは、ＶＬＡＮ番号「１０」を使用し、ＶＮＩ「２２」が割り当てられている。また、ＶＭ２ｅは、ＶＬＡＮ番号「１０」を使用し、ＶＮＩ「５０」が割り当てられている。また、ＶＭ２ｇは、ＶＬＡＮ番号「１０」を使用し、ＶＮＩ「２２」が割り当てられている。ＶＮＩ「２２」は、拡張ＶＬＡＮ番号「１００」が割り当てられている。また、ＶＮＩ「５０」は、拡張ＶＬＡＮ番号「１０２」が割り当てられている。
【０２０４】
例えば、ＳＲ−ＩＯＶアダプタ４０は、ＶＭ２ｅからパケットを受信すると、変換情報から、ＶＭ２ｅのＶＬＡＮ番号「１０」とＶＮＩ「５０」に対応付けられた拡張ＶＬＡＮ番号「１０２」を取得する。そして、ＳＲ−ＩＯＶアダプタ４０は、パケットに拡張ＶＬＡＮ番号「１０２」を格納したＴタグを生成し、その後、ＳＲ−ＩＯＶアダプタ４０は、スイッチ３ａを介して、パケットをネットワーク８へ出力する。
【０２０５】
一方、ＳＲ−ＩＯＶアダプタ４０は、Ｔタグを付与したパケットを受信すると、受信したパケットのＴタグから拡張ＶＬＡＮ番号「１０２」を取得する。そして、取得した拡張ＶＬＡＮ番号が示すグループ情報をＶＦグループ情報定義テーブルから識別し、パケット通信可能であるか判定した後、パケットのＴタグ削除する。パケット通信可能であると判断した場合、ＳＲ−ＩＯＶアダプタ４０は、パケットをＶＭ２ｅに送信する。
【０２０６】
また、ＳＲ−ＩＯＶアダプタ４０は、ＶＭ２ｄがＶＭ２ｇ宛のパケットを出力すると、変換情報を用いて変換処理を行う。この結果、ＳＲ−ＩＯＶアダプタ４０は、ＶＬＡＮ番号「１０」、ＶＮＩ「２２」に対応する拡張ＶＬＡＮ番号「１００」が格納されたパケットを送信する。
【０２０７】
ここで、スイッチ３ａは、パケットに格納された、宛先ＭＡＣアドレス、ＶＬＡＮ番号「１０」、拡張ＶＬＡＮ番号「１００」を用いて転送処理を行うため、ＭＡＣテーブル３２に、拡張ＶＬＡＮ番号をあわせて記憶する。そして、スイッチ３ａは、パケットに格納された、宛先ＭＡＣアドレス、ＶＬＡＮ番号「１０」、拡張ＶＬＡＮ番号「１００」を用いて転送処理を行う。この結果、スイッチ３ａは、パケットをＳＲ−ＩＯＶアダプタ４０ａを介して、ＶＭ２ｇまで転送する。
【０２０８】
このように、実施例４に係るマルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮ内において、各仮想マシンを使用するテナントを示すため、ＶＬＡＮ番号ではなく、拡張ＶＬＡＮ番号を付与した。この結果、実施例４に係るマルチテナントシステム１は、各テナントが使用する仮想マシンに対して、自由にＶＬＡＮ番号を付与することができる。
【０２０９】
なお、実施例４に係るマルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮ内において、各仮想マシンを使用するテナントを示すことができるのであれば、他の情報を付与してもよい。すなわち、実施例４に係るマルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮ内において、各仮想マシンを使用するテナントを示すため、ＶＬＡＮ番号と外部ＶＬＡＮ番号とを用いた２重タグを利用してもよい。
【０２１０】
例えば、図３３は、実施例４に係るＶＬＡＮ変換テーブルのバリエーションの一例を説明する図である。図３３に示す例では、ＶＮＩ変換テーブル３１ｂは、ＶＮＩとＶＬＡＮ番号と、外部ＶＬＡＮ番号とを対応付けた変換テーブルを記憶する。つまり、ＶＮＩ変換テーブル３１ｂは、図２９に例示した変換情報の拡張ＶＬＡＮ番号を外部ＶＬＡＮ番号に置き換えた情報を記憶する。
【０２１１】
また、図３４は、実施例４に係るＶＦグループ情報定義テーブルのバリエーションの一例を説明する図である。図３４に示す例では、ＶＦグループ情報定義テーブル３１ｃは、グループ情報と外部ＶＬＡＮ番号とを対応付けて記憶する。つまり、ＶＦグループ情報定義テーブル３１ｃは、図３０に例示するように、拡張ＶＬＡＮ番号ではなく、外部ＶＬＡＮ番号と対応付けてグループ情報を記憶する。
【０２１２】
ＳＲ−ＩＯＶアダプタ４０は、図３３、および図３４に示すように、拡張ＶＬＡＮの代わりに外部ＶＬＡＮを用いて、各ＶＬＡＮ内のＶＭを使用するテナントを識別する場合は、拡張ＶＬＡＮ番号の変わりに、外部ＶＬＡＮ番号をＶＬＡＮタグに格納する。例えば、図３５は、実施例４に係るパケットのバリエーションの一例を説明する図である。図３５に示すように、ＳＲ−ＩＯＶアダプタ４０は、ＶＬＡＮタグに、ベースＶＬＡＮタグと外部ＶＬＡＮ番号とＶＬＡＮ番号とを格納する。
【０２１３】
すなわち、ＳＲ−ＩＯＶアダプタ４０は、図３１に示すＴタグの代わりに、ベースＶＬＡＮタグと外部ＶＬＡＮ番号とが格納されたＳタグをパケットに格納する。この結果、スイッチ３ｂは、パケットに格納された宛先ＭＡＣアドレスとＳタグの外部ＶＬＡＮ番号とＶＬＡＮ番号とを用いて、パケットの転送処理を行う。
【０２１４】
次に、図３６を用いて、実施例４に係るＳＲ−ＩＯＶアダプタ４０が実行する処理のバリエーションを説明する。図３６は、実施例４に係るＳＲ−ＩＯＶアダプタが実行する処理の一例を説明する図である。図３６に示す例では、ＶＭ２ｄは、ＶＬＡＮ番号「１０」を使用し、ＶＮＩ「２２」が割り当てられている。また、ＶＭ２ｅは、ＶＬＡＮ番号「１０」を使用し、ＶＮＩ「５０」が割り当てられている。また、ＶＭ２ｇは、ＶＬＡＮ番号「１０」を使用し、ＶＮＩ「２２」が割り当てられている。ＶＮＩ「２２」は、外部ＶＬＡＮ番号「１００」が割り当てられている。また、ＶＮＩ「５０」は、外部ＶＬＡＮ番号「１０２」が割り当てられている。
【０２１５】
例えば、ＳＲ−ＩＯＶアダプタ４０は、ＶＭ２ｅからパケットを受信すると、ＶＬＡＮ番号「１０」とＶＮＩ「５０」に対応付けられた外部ＶＬＡＮ番号「１０２」を用いてパケットに２重タグを付与し、ネットワーク８へ出力する。一方、ＳＲ−ＩＯＶアダプタ４０は、２重タグが付与されたパケットを受信すると、ＶＮＩ「５０」と対応付けられた外部ＶＬＡＮ番号「１０２」とＶＬＡＮ番号「１０」を用いてパケットの通信可否を判断する。通信可能な場合、ＳＲ−ＩＯＶアダプタ４０は、２重タグを除去してパケットをＶＭ２ｅに送信する。
【０２１６】
また、スイッチ３ａは、パケットに格納された、宛先ＭＡＣアドレス、ＶＬＡＮ番号「１０」、外部ＶＬＡＮ番号「１００」を用いて転送処理を行う。そして、スイッチ３ａは、パケットに格納された、宛先ＭＡＣアドレス、ＶＬＡＮ番号「１０」、外部ＶＬＡＮ番号「１００」を用いて転送処理を行う。
【０２１７】
［実施例４に係るマルチテナントシステム１の効果］
上述したように、マルチテナントシステム１は、マルチテナントシステム１全体においてテナントを示すＶＮＩをＶＭに割り当てる。また、マルチテナントシステム１は、ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮにおいて、テナントを示す拡張ＶＬＡＮ番号、または外部ＶＬＡＮ番号をＶＭに割り当てる。また、マルチテナントシステム１は、ＶＮＩと拡張ＶＬＡＮ、またはＶＮＩと外部ＶＬＡＮを対応付けた変換情報を配布し、ＶＴＥＰ３ｂ、５ｂにおいて、変換処理を実行させる。
【０２１８】
このため、マルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮにおいて、各テナントが使用するＶＭに任意のＶＬＡＮ番号を付与させることができる。この結果、マルチテナントシステム１は、各ＶＴＥＰ３ｂ、５ｂが終端処理を行うＶＬＡＮにおいて、各ＶＭを使用するテナントを識別しつつ、重複したＶＬＡＮ番号を使用するＶＭを混在させることができる。
【実施例５】
【０２１９】
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例５として本発明に含まれる他の実施例を説明する。
【０２２０】
（１）ＶＴＥＰについて
上述した実施例１では、ファブリック３、５、７内のスイッチをＶＴＥＰとして動作させた。しかし、実施例はこれに限定されるものではなく、ＶＴＥＰが終端処理を行う仮想マシンの組に応じて、任意のスイッチをＶＴＥＰとして動作させることができる。
【０２２１】
また、１つの物理ファブリック内に複数の論理ファブリックを収容し、論理ファブリックごとにＶＴＥＰを設置してもよい。また、１つのサーバ内で稼動するＶＭを使用するテナントに対しては、ＶＬＡＮ番号が重複しないように割り当てを行ってもよい。
【０２２２】
（２）機能構成について
上述した処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０２２３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、いわゆるクラウドネットワーク上における情報処理装置が、管理サーバ１０、１０ａの機能の一部ずつを実行することで、管理サーバ１０、１０ａの機能を発揮させてもよい。
【０２２４】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０２２５】
（３）プログラム
上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図３７を用いて、上記の管理サーバ１０と同様の機能を有する管理プログラムを実行するコンピュータの一例について説明する。
【０２２６】
図３７は、管理プログラムを実行するコンピュータの一例について説明する図である。図３７に示すように、コンピュータ１００は、ＨＤＤ（Hard  Disk  Drive）１５０と、ＲＯＭ（Read  Only  Memory）１６０と、ＲＡＭ（Random  Access  Memory）１７０と、ＣＰＵ（Central  Processing  Unit）１８０、Ｉ／Ｏ（Input/Output）１９０を有する。これら１５０〜１９０の各部はバス１４０を介して接続される。
【０２２７】
ＲＡＭ１７０には、管理サーバ１０の機能をＣＰＵ１８０に発揮させる管理プログラム１７０ａがあらかじめ記憶される。また、ＲＡＭ１７０には、ＶＴＥＰ位置ＤＢ１７０ｂ、ＶＭ位置ＤＢ１７０ｃ、ＶＭ仮想ネットワークＤＢ１７０ｄ、ＶＬＡＮプール１７０ｅ、割り当て数管理ＤＢ１７０ｆ、ＶＮＩプール１７０ｇがあらかじめ記憶される。なお、管理プログラム１７０ａについては、実施例１で示した各構成要素と同様、適宜統合または分離してもよい。
【０２２８】
また、ＶＴＥＰ位置ＤＢ１７０ｂ、ＶＭ位置ＤＢ１７０ｃ、ＶＭ仮想ネットワークＤＢ１７０ｄは、図５に例示したＶＴＥＰ位置ＤＢ１１、ＶＭ位置ＤＢ１２、ＶＭ仮想ネットワークＤＢ１３が記憶する情報と同じ情報である。また、ＶＬＡＮプール１７０ｅ、割り当て数管理ＤＢ１７０ｆ、ＶＮＩプール１７０ｇは、図５に示す割り当て数管理ＤＢ１５、ＶＮＩプール１６、ＶＬＡＮプール１４が記憶する情報と同じ情報である。
【０２２９】
そして、ＣＰＵ１８０が、管理プログラム１７０ａを読み出して展開して実行することにより、管理プログラム１７０ａは、管理プロセス１８０ａとして機能する。この管理プロセス１８０ａは、ＲＡＭ１７０から、ＶＴＥＰ位置ＤＢ１７０ｂ、ＶＭ位置ＤＢ１７０ｃ、ＶＭ仮想ネットワークＤＢ１７０ｄ、ＶＬＡＮプール１７０ｅ、割り当て数管理ＤＢ１７０ｆ、ＶＮＩプール１７０ｇに基づいて各種処理を実行する。
【０２３０】
なお、管理プロセス１８０ａを実行したＣＰＵ１８０は、ＶＭ管理部１８、ＶＭネットワーク管理部１９、ＶＴＥＰ管理部２０と同様の処理を実行する。また、ＣＰＵ１８０上で仮想的に実現される各処理は、常に全ての処理部がＣＰＵ１８０上で稼動する必要はなく、処理に必要な処理のみが仮想的に実現されればよい。
【０２３１】
なお、上記の管理プログラム１７０ａについては、必ずしも最初からＲＡＭ１７０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ（Flexible  Disk）、ＣＤ（Compact  Disk）−ＲＯＭ、ＤＶＤ（Digital  Video  Disk）、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。
【０２３２】
そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介して他のコンピュータまたはサーバ装置などに記憶させた各プログラムを、コンピュータ１００が取得して実行するようにしてもよい。
【０２３３】
なお、図３７に示すコンピュータ１００は、管理プログラム１７０ａ以外にも、例えば、管理サーバ１０ａと同様の機能を有する管理プログラムを実行することができる。
【０２３４】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２３５】
（付記１）仮想マシンが出力したパケットの転送を、第１のネットワークを介して行う複数の終端装置と、前記終端装置の管理を行う管理装置とを有するマルチテナントシステムにおいて、
前記管理装置は、
前記マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てる第１の割り当て部と、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てる第２の割り当て部と、
各仮想マシンに対して前記第１の割り当て部が割り当てた第１の識別子と前記第２の割り当て部が割り当てた第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成する生成部と、
前記生成部が生成した変換情報を各終端装置に配信する配信部とを有し、
前記終端装置は、
前記配信部が配信した変換情報を記憶する記憶部と、
パケットを受信すると、受信した前記パケットを発信した仮想マシンを使用するテナントに割り当てられた第２の識別子と対応付けられた第１の識別子を、前記記憶部が記憶する変換情報から取得する取得部と、
前記取得部が取得した第１の識別子を含むヘッダを前記パケットに付加してカプセル化する変換部と、
前記変換部がカプセル化したパケットを、前記第１のネットワークを介して他の終端装置へ送信する送信部とを有することを特徴とするマルチテナントシステム。
【０２３６】
（付記２）前記取得部は、
前記他の終端装置からカプセル化されたパケットを受信すると、前記記憶部が記憶する変換情報から、カプセル化された前記パケットに含まれる第１の識別子に対応付けられた第２の識別子を取得し、
前記変換部は、
カプセル化された前記パケットを、前記取得部が取得した第２の識別子で識別される仮想マシン宛のパケットに変換し、
前記送信部は、
前記終端装置が設置された第２のネットワークに対して、前記仮想マシン宛のパケットを送信することを特徴とする付記１記載のマルチテナントシステム。
【０２３７】
（付記３）前記第２の割り当て部は、
１つの前記第２のネットワーク内で稼動する仮想マシンのうち、同一テナントに含まれる仮想マシンが複数存在する場合、前記同一テナントに含まれる複数の仮想マシンに対して、同一の第２の識別子を割り当て、
前記変換部は、
前記終端装置が設置された第２のネットワーク内で稼働する仮想マシンのうち、同一の第２の識別子が割り当てられた仮想マシン同士が送受信するパケットについては、カプセル化を行わないことを特徴とする付記１又は２に記載のマルチテナントシステム。
【０２３８】
（付記４）前記管理装置は、
前記終端装置を識別する終端装置識別子と、前記終端装置が設置されたネットワーク内で稼働する仮想マシンに割り当てられていない第２の識別子とを対応付けて記憶する識別子記憶部を有し、
前記第２の割り当て部は、
新たなテナントが使用する仮想マシンが稼働する場合は、前記識別子記憶部が記憶する第２の識別子のうち、前記新たなテナントが使用する仮想マシンが稼働する第２のネットワークに設置された終端装置の終端装置識別子に対応付けられた第２の識別子の中から、前記新たなテナントが使用する仮想マシンに割り当てる第２の識別子を選択し、前記選択した第２の識別子を前記新たなテナントが使用する仮想マシンに割り当てることを特徴とする付記１〜３のいずれか１項に記載のマルチテナントシステム。
【０２３９】
（付記５）前記管理装置は、
前記終端装置識別子と、当該終端装置識別子が示す終端装置が設置された第２のネットワーク内で稼働する仮想マシンに割り当てられた第２の識別子と、前記第２のネットワーク内で稼働する仮想マシンに割り当てられた第２の識別子を使用する仮想マシンの数とを対応付けて記憶する使用数記憶部と、
仮想マシンを停止させる場合、前記使用数記憶部が記憶する仮想マシンの数のうち、停止させる前記仮想マシンが稼動する第２のネットワークに設置された終端装置を示す終端装置識別子、および、停止させる前記仮想マシンに割り当てられた第２の識別子に対応付けられた仮想マシンの数から１を減算する減算部と、
仮想マシンの数が零である場合、停止させる前記仮想マシンに割り当てられた第２の識別子と、させる前記仮想マシンが稼働する第２のネットワークに設置された終端装置を示す終端装置識別子とを対応付けて前記識別子記憶部に格納する格納部と
を有することを特徴とする付記４記載のマルチテナントシステム。
【０２４０】
（付記６）前記ネットワーク内におけるＶＬＡＮ番号、または拡張ＶＬＡＮ番号、または外部ＶＬＡＮ番号を前記第２の識別子とすることを特徴とする付記１〜５のいずれか１項に記載のマルチテナントシステム。
【０２４１】
（付記７）前記終端装置は、
前記終端装置が設置されたネットワーク内で稼動する仮想マシンと対応付けられた変換部を複数有し、
前記取得部は、
各変換部と対応付けられた仮想マシンに割り当てられた第２の識別子と対応付けられた第１の識別子を前記変換情報から取得して、取得した前記第１の識別子を各変換部に通知し、
前記変換部は、
前記取得部から通知された第１の識別子を用いて、前記対応付けられた仮想マシンが出力するパケットをカプセル化することを特徴とする付記１〜６のいずれか１項に記載のマルチテナントシステム。
【０２４２】
（付記８）マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てる第１の割り当て部と、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てる第２の割り当て部と、
各仮想マシンに対して前記第１の割り当て部が割り当てた第１の識別子と前記第２の割り当て部が割り当てた第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成する生成部と、
前記生成部が生成した変換情報に従って前記パケットをカプセル化するように、各終端装置を設定する設定部と
を有することを特徴とする管理装置。
【０２４３】
（付記９）コンピュータに、
マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てさせ、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てさせ、
各仮想マシンに対して割り当てた前記第１の識別子と前記第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成させ、
前記生成した変換情報に従って前記パケットをカプセル化するように、各終端装置を設定させることを特徴とする管理プログラム。
【０２４４】
（付記１０）仮想マシンが出力したパケットの転送を、第１のネットワークを介して行う複数の終端装置と、前記終端装置の管理を行う管理装置とを有するマルチテナントシステムの制御方法において、
前記管理装置が、
前記マルチテナントシステムに含まれるテナントのうち、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第１の識別子を割り当てし、
前記マルチテナントシステムに含まれるテナントのうち、終端装置が設置された第２のネットワーク内で稼動する仮想マシンに対し、前記終端装置ごとに、前記マルチテナントシステム内で稼動する仮想マシンを使用するテナントを識別する第２の識別子を割り当てし、
各仮想マシンに対して割り当てた前記第１の識別子と前記第２の識別子とを対応付けた変換情報を、前記終端装置ごとに生成し、
前記生成した変換情報を各終端装置に配信し、
前記終端装置が、
前記配信部が配信した変換情報を記憶し、
パケットを受信すると、受信した前記パケットを発信した仮想マシンを使用するテナントに割り当てられた第２の識別子と対応付けられた第１の識別子を、前記記憶した変換情報から取得し、
前記取得した第１の識別子を含むヘッダを前記パケットに付加してカプセル化し、
前記カプセル化したパケットを、前記第１のネットワークを介して他の終端装置へ送信することを特徴とするマルチテナントシステムの制御方法。
【符号の説明】
【０２４５】
１、６０  マルチテナントシステム
２、４、６  ＬＡＮ
２ａ、２ｂ、４ａ、４ｂ、６ａ、６ｂ、６１、６７  サーバ
２ｃ、２ｆ、６２、６８  ハイパーバイザ
２ｄ、２ｅ、２ｇ、２ｈ、４ｃ、４ｄ、６３、６４、６９、７０  ＶＭ
３、５、７  ファブリック
３ａ、５ａ、７ａ  スイッチ
３ｂ、５ｂ、３ｃ、６５、７１  ＶＴＥＰ
８  ネットワーク
１０  管理サーバ
１１  ＶＴＥＰ位置ＤＢ
１２  ＶＭ位置ＤＢ
１３  ＶＭ仮想ネットワークＤＢ
１４、１４ａ、１４ｂ  ＶＬＡＮプール
１５、１５ａ、１５ｂ  割り当て数管理ＤＢ
１６  ＶＮＩプール
１７  通信制御部
１８  ＶＭ管理部
１９  ＶＭネットワーク管理部
１９ａ  ＶＭＩ割り当て制御部
２０、２０ｃ  ＶＴＥＰ管理部
２０ａ  ＶＬＡＮ割り当て制御部
２０ｂ  変換情報生成部
３１  ＶＬＡＮ変換テーブル
３１ａ、３１ｂ  ＶＮＩ変換テーブル
３１ｃ  ＶＦグループ情報定義テーブル
３２  ＭＡＣテーブル
３３  通信制御部
３４  ヘッダ制御部
３５  受信部
３６  変換部
３６ａ  ＶＬＡＮ制御部
３７  転送部
３８  更新部
３８ａ  ＶＮＩ変換部
４０  ＳＲ−ＩＯＶアダプタ
４１、５１〜５４  ＰＦ
４２  内部スイッチ
４３〜４８  ＶＦ
５０  ＭＰＦアダプタ
７２、７３  スイッチ
【図１】
2014143560.tif 000003
【図２】
2014143560.tif 000004
【図３】
2014143560.tif 000005
【図４】
2014143560.tif 000006
【図５】
2014143560.tif 000007
【図６】
2014143560.tif 000008
【図７】
2014143560.tif 000009
【図８】
2014143560.tif 000010
【図９】
2014143560.tif 000011
【図１０】
2014143560.tif 000012
【図１１】
2014143560.tif 000013
【図１２】
2014143560.tif 000014
【図１３】
2014143560.tif 000015
【図１４】
2014143560.tif 000016
【図１５】
2014143560.tif 000017
【図１６】
2014143560.tif 000018
【図１７】
2014143560.tif 000019
【図１８】
2014143560.tif 000020
【図１９】
2014143560.tif 000021
【図２０】
2014143560.tif 000022
【図２１】
2014143560.tif 000023
【図２２】
2014143560.tif 000024
【図２３】
2014143560.tif 000025
【図２４】
2014143560.tif 000026
【図２５】
2014143560.tif 000027
【図２６】
2014143560.tif 000028
【図２７】
2014143560.tif 000029
【図２８】
2014143560.tif 000030
【図２９】
2014143560.tif 000031
【図３０】
2014143560.tif 000032
【図３１】
2014143560.tif 000033
【図３２】
2014143560.tif 000034
【図３３】
2014143560.tif 000035
【図３４】
2014143560.tif 000036
【図３５】
2014143560.tif 000037
【図３６】
2014143560.tif 000038
【図３７】
2014143560.tif 000039
【図３８】
2014143560.tif 000040
【図３９】
2014143560.tif 000041