(57)【要約】  本発明は、ＭＡＣアドレスの重複を許容し、大規模ネットワークの構築の容易化に貢献する。通信システムは、ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部と、前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てるアドレス管理部と、を備える。
2014142258.tif 000002
【特許請求の範囲】
【請求項１】
ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部と、
前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てるアドレス管理部と、
を備える通信システム。
【請求項２】
前記ホストの位置情報は、ホストが接続するスイッチの識別子とポート情報との組を示す情報である請求項１の通信システム。
【請求項３】
さらに、前記スイッチからのパケット受信通知から前記ホストの位置情報を抽出するパケット解析部を備える請求項２の通信システム。
【請求項４】
アドレスの割り当て要求を受けた場合、前記割り当て済みアドレス記憶部から、前記位置情報に対応するアドレスを検索して得られたアドレスがある場合、当該アドレスを割り当てる請求項１から３いずれか一の通信システム。
【請求項５】
前記アドレス管理部は、さらに、前記割り当て済みアドレス記憶部に、前記位置情報と、前記割り当てたアドレスとの組を登録する機能を備える請求項１から４いずれか一の通信システム。
【請求項６】
さらに、未使用アドレスを管理する未使用アドレス記憶部を備え、
前記アドレス管理部は、前記未使用アドレス記憶部から、未使用のアドレスを取り出して使用する請求項１から５いずれか一の通信システム。
【請求項７】
さらに、前記ホストの位置情報を用いて仮想ＭＡＣアドレスを生成し、外部のＤＨＣＰサーバに未使用のＩＰアドレスの割り当てを要求する仮想ＭＡＣアドレス生成部を備える請求項１から５いずれか一の通信システム。
【請求項８】
ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部と、
前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てるアドレス管理部と、
を備える制御装置。
【請求項９】
前記ホストの位置情報は、ホストが接続するスイッチの識別子とポート情報との組を示す情報である請求項８の制御装置。
【請求項１０】
さらに、前記スイッチからのパケット受信通知から前記ホストの位置情報を抽出するパケット解析部を備える請求項９の制御装置。
【請求項１１】
アドレスの割り当て要求を受けた場合、前記割り当て済みアドレス記憶部から、前記位置情報に対応するアドレスを検索して得られたアドレスがある場合、当該アドレスを割り当てる請求項８から１０いずれか一の制御装置。
【請求項１２】
前記アドレス管理部は、さらに、前記割り当て済みアドレス記憶部に、前記位置情報と、前記割り当てたアドレスとの組を登録する機能を備える請求項８から１１いずれか一の制御装置。
【請求項１３】
さらに、未使用アドレスを管理する未使用アドレス記憶部を備え、
前記アドレス管理部は、前記未使用アドレス記憶部から、未使用のアドレスを取り出して使用する請求項８から１２いずれか一の制御装置。
【請求項１４】
さらに、前記ホストの位置情報を用いて仮想ＭＡＣアドレスを生成し、外部のＤＨＣＰサーバに未使用のＩＰアドレスの割り当てを要求する仮想ＭＡＣアドレス生成部を備える請求項８から１２いずれか一の制御装置。
【請求項１５】
ホストの位置情報を用いて一意のアドレスを割り当てるアドレス割当ステップを含むことを特徴とするアドレス割当方法。
【請求項１６】
前記ホストの位置情報は、ホストが接続するスイッチの識別子とポート情報との組を示す情報である請求項１５のアドレス割当方法。
【請求項１７】
前記スイッチからのパケット受信通知から前記位置情報を抽出する請求項１６のアドレス割当方法。
【請求項１８】
ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部から、前記位置情報に対応するアドレスを検索して得られたアドレスを割り当てる請求項１５から１７いずれか一のアドレス割当方法。
【請求項１９】
さらに、前記発行済みアドレスデータベースに、前記位置情報と、前記割り当てられたアドレスとの組を登録するステップを含む請求項１５から１８いずれか一のアドレス割当方法。
【請求項２０】
前記ホストに割り当てるアドレスは、未使用アドレスを管理する未使用アドレスデータベースから、払い出されたアドレスである請求項１５から１９いずれか一のアドレス割当方法。
【請求項２１】
前記ホストの位置情報を用いて仮想ＭＡＣアドレスを生成し、外部のＤＨＣＰサーバに対し、未使用のＩＰアドレスの割り当てを要求するステップを含む請求項１５から１９いずれか一のアドレス割当方法。
【請求項２２】
ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部を備えたコンピュータに、
アドレス割り当て要求に応じて、前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられているか否かを確認する処理と、
前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てる処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１３−０５１８６０号（２０１３年０３月１４日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システム、制御装置、アドレス割当方法及びプログラムに関し、特に、アドレス割当サービスを提供する通信システム、制御装置、アドレス割当方法及びプログラムに関する。
【背景技術】
【０００２】
インターネットプロトコル（ＩＰｖ４、ＩＰｖ６を含む）を用いるコンピュータネットワークは、一般に、ＩＰネットワークと呼ばれている。ＩＰネットワークでは、ホスト機器は、ＩＰアドレス（３２ビットのＩＰｖ４アドレス又は１２８ビットのＩＰｖ６アドレス）によって特定される。ＩＰアドレスの増大に伴い、大規模ネットワークにおいては、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）が広く用いられている（非特許文献１、２参照）。【０００３】
マイクロソフト社のウィンドウズ（登録商標）サーバ２００８Ｒ２のＨｙｐｅｒ−Ｖアーキテクチャにおいては、Ｈｙｐｅｒ−Ｖを起動している各サーバ上の仮想ネットワークマネージャは、同一ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｏｒｏｌ）アドレスとならないよう使用可能なＭＡＣアドレスについて、それぞれ異なる範囲が定められている（非特許文献３参照）。【０００４】
ＶＭＷａｒｅ（登録商標）仮想インフラストラクチャでは、仮想マシンと切り離されたＭＡＣアドレスが所定のサーバ内で用いられている。ＶＭＷａｒｅは、クラスタ内でのＭＡＣアドレスの一意性を保証している。その代わりに、管理者は、クラスタ間においてもすべてのＭＡＣアドレスの一意性を保証するＶＭＷａｒｅの仮想センタを使用することができる（非特許文献４参照）。【０００５】
これらは、Ｈｙｐｅｒ−ＶとＶＭＷａｒｅ仮想インフラストラクチャとの双方が同一ＭＡＣアドレスを許容するネットワークをサポートしていないことを示している。その代わりとして、これらのアーキテクチャは、ユニークな仮想ＭＡＣアドレスの生成と使用が可能となっている。さらに、これらのアーキテクチャでは、データセンタネットワーク管理者やアドミニストレータに、同一ＭＡＣアドレス問題に対応するための検出ツールを提供している。【０００６】
特許文献１に、ＤＨＣＰまたはＤＨＣＰ−ＰＤ（Ｐｒｅｆｉｘ  Ｄｅｌｅｇａｔｉｏｎ）を用いてユーザ装置の設定を行うＩＰネットワークにおいて、ユーザ装置を交換した場合であっても、直ちに通信できるようにしたＤＨＣＰ情報管理システムが開示されている。【０００７】
また、非特許文献５、６にオープンフロー（ＯｐｅｎＦｌｏｗ）という技術が提案されている。非特許文献６に仕様化されているオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するマッチ条件（Ｍａｔｃｈ  Ｆｉｅｌｄｓ）と、フロー統計情報（Ｃｏｕｎｔｅｒｓ）と、処理内容を定義したインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎｓ）と、の組が定義される（非特許文献６の「５．２  Ｆｌｏｗ  Ｔａｂｌｅ」の項参照）。【０００８】
例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件（非特許文献６の「５．３  Ｍａｔｃｈｉｎｇ」参照）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、フロー統計情報（カウンタ）を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容（指定ポートからのパケット送信、フラッディング、廃棄等）を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対してエントリ設定の要求、即ち、受信パケットを処理するための制御情報の送信要求（Ｐａｃｋｅｔ−Ｉｎメッセージ）を送信する。オープンフロースイッチは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、オープンフロースイッチは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２４１８３１号公報
【非特許文献】
【００１０】
【非特許文献１】Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ，  ＲＦＣ  １５４１，  Ｏｃｔ  １９９３
【非特許文献２】Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＩＰｖ６  （ＤＨＣＰｖ６），  ＲＦＣ  ３３１５
【非特許文献３】Ｍｉｃｒｏｓｏｆｔ、“Ｃｏｎｆｉｇｕｒｉｎｇ  Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年３月７日検索］、インターネット〈URL:http://technet.microsoft.com/en-us/library/cc816585%28WS.10%29.aspx〉
【非特許文献４】ＶＭＷａｒｅ、“Ｖｉｒｔｕａｌ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ：  Ｓｅｒｖｅｒ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｇｕｉｄｅ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年３月７日検索］、インターネット〈URL:http://www.vmware.com/pdf/server_config.pdf〉
【非特許文献５】Ｎｉｃｋ  ＭｃＫｅｏｗｎほか７名、“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ”、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年２月１８日検索］、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉
【非特許文献６】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”  Ｖｅｒｓｉｏｎ  １．３．１  （Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０４）、［ｏｎｌｉｎｅ］、［平成２５（２０１３）年２月１８日検索］、インターネット〈URL:http://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以下の分析は、本発明によって与えられたものである。上述したＤＨＣＰサービスは、ＭＡＣアドレスを装置の識別に利用しているため、重複するＭＡＣアドレスの存在は許容されていない。また、その他仮想ネットワークアーキテクチャにおいても、仮想ＭＡＣアドレスの一意性を保証できるに止まっている。【００１２】
本発明は、ＭＡＣアドレスの重複を許容し、大規模ネットワークの構築の容易化に貢献する通信システム、制御装置、アドレス割当方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の視点によれば、ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部と、前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てるアドレス管理部と、を備える通信システムが提供される。【００１４】
本発明の第２の視点によれば、ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部と、前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てるアドレス管理部と、を備える制御装置が提供される。【００１５】
本発明の第３の視点によれば、ホストの位置情報を用いて一意のアドレスを割り当てるアドレス割当ステップを含むことを特徴とするアドレス割当方法が提供される。本方法は、ホストからの要求に応じてアドレスを割り当てるコンピュータという、特定の機械に結びつけられている。【００１６】
本発明の第４の視点によれば、ホストの位置情報を用いて割り当てたアドレスを格納する割り当て済みアドレス記憶部を備えたコンピュータに、アドレス割り当て要求に応じて、前記割り当て済みアドレス記憶部を参照して、前記アドレスが割り当てられているか否かを確認する処理と、前記アドレスが割り当てられていないホストに対し、前記ホストの位置情報を用いてアドレスを割り当てる処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１７】
本発明によれば、ＭＡＣアドレスの重複を許容し、大規模ネットワークの構築の容易化に貢献することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の第１の実施形態の制御装置の構成を示す図である。
【図３】本発明の第１の実施形態の制御装置の割り当て済みアドレス管理ＤＢに保持されるエントリの構成を示す図である。
【図４】本発明の第１の実施形態の制御装置の動作を示す流れ図である。
【図５】本発明の第２の実施形態の制御装置の構成を示す図である。
【図６】本発明の第２の実施形態の制御装置の割り当て済みアドレス管理ＤＢに保持されるエントリの構成を示す図である。
【図７】本発明の第２の実施形態の制御装置の動作を示す流れ図である。
【発明を実施するための形態】
【００１９】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２０】
本発明は、その一実施形態において、クラウドネットワーク環境向けの位置情報ベースのＤＨＣＰサービスを提供する方法を提供する。この位置情報ベースのＤＨＣＰサービス方法は、オープンフローネットワークにおけるオープンフローコントローラの動作と好適に組み合わせられる。
【００２１】
オープンフローネットワークにおいては、仮想マシン（以下、「ＶＭ」と記す。）インスタンスが、データプレーンにＤＨＣＰ要求メッセージを送出すると、オープンフローコントローラが、オープンフロースイッチから、ＤＨＣＰ要求メッセージをペイロードに格納したＰａｃｋｅｔ−Ｉｎメッセージを受信する。
【００２２】
本実施形態の通信システム乃至制御装置は、その一実施形態において、図１に示すように割り当て済みアドレス記憶部１１と、アドレス管理部１２とを含む構成にて実現できる。アドレス管理部１２は、例えば、前記Ｐａｃｋｅｔ−Ｉｎメッセージから、位置情報として、データパスＩＤとポート番号との組を抽出する。そして、アドレス管理部１２は、割り当て済みアドレス記憶部１１を参照して、アドレスが割り当てられていないクライアント機器に対し、前記抽出した位置情報をベースとしたアドレスを割り当てる。
【００２３】
以上のように、位置ベースのＤＨＣＰサービスを提供することが可能となる。また、このＤＨＣＰサービスにおいては、ＭＡＣアドレスを利用しないため、ＭＡＣアドレスの重複を許容することができる。
【００２４】
また、本発明は、その他の実施形態において、制御装置と、内部ネットワーク上で独立して動作するＤＨＣＰサーバとが連携して動作する構成とすることもできる。この実施形態においては、例えば、所定のハッシュ関数により、前記位置情報（例えば、３２ビットデータパスＩＤと２ビットのポート番号）から４８ビットの仮想ＭＡＣアドレスが生成される。
【００２５】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。なお、以降の記述において、多くの具体的事項は、説明のため、本発明の理解を助けるためになされたものである。
【００２６】
図２は、本発明の第１の実施形態の制御装置の構成を表したブロック図である。図２を参照すると、制御装置１００は、６つの機能モジュールと、２つのデータベースを含んでいる。また、制御装置１００は、非特許文献６のオープンフロースイッチ（以下、単に「スイッチ」とも記す。）を制御するオープンフローコントローラとしても機能し、スイッチから、適合するマッチ条件を持つエントリを有していないパケットを受信したことを通知するＰａｃｋｅｔ−Ｉｎメッセージを受信可能となっている。
【００２７】
より具体的には、本実施形態の制御装置１００は、前記Ｐａｃｋｅｔ−Ｉｎメッセージを受信する制御メッセージ受信部１０１と、ＤＨＣＰメッセージ解析部１０２と、上記アドレス管理部に相当する動作を行うアドレス検索部１０３と、ＤＨＣＰ応答生成部１０４と、制御メッセージ生成部１０５と、制御メッセージ送信部１０６と、プロトコル通信部１０７とを備えている。
【００２８】
また、本実施形態の制御装置１００は、未使用ＩＰアドレスＤＢ（データベース）１１０と、割り当て済みアドレス管理ＤＢ１１１（上記割り当て済みアドレス記憶部に相当）とを備えている。なお、未使用ＩＰアドレスＤＢ１１０は、背景技術に記載した一般的なＤＨＣＰサービスに用いられているものと同様の構成でよい。
【００２９】
ＤＨＣＰメッセージ解析部１０２は、制御メッセージ受信部１０１から送られたＤＨＣＰメッセージを解析して、送信元のスイッチのＩＤ（データパスＩＤ）と、ポート番号とを抽出してアドレス検索部１０３に送る。
【００３０】
アドレス検索部１０３は、ＤＨＣＰメッセージ解析部１０２からスイッチのＩＤ（データパスＩＤ）と、ポート番号とを受け取ると、割り当て済みアドレス管理ＤＢ１１１を検索して、該当するホスト（当該スイッチのポートに接続されているホスト）に、すでにＩＰアドレスを割り当て済みであるか否かを確認する。前記確認の結果、該当するホスト（当該スイッチのポートに接続されているホスト）にＩＰアドレスが未割り当てである場合、アドレス検索部１０３は、未使用ＩＰアドレスＤＢ１１０から未割当のＩＰアドレスを取り出して、ＤＨＣＰ応答生成部１０４に前記ＩＰアドレスを含んだ応答指示を送信する。また、該当するホスト（当該スイッチのポートに接続されているホスト）にＩＰアドレスが割り当て済みである場合、アドレス検索部１０３は、ＤＨＣＰ応答生成部１０４に前記割り当て済みのＩＰアドレスを含んだ応答指示を送信する。
【００３１】
ＤＨＣＰ応答生成部１０４は、アドレス検索部１０３からＩＰアドレスを含んだ応答指示受け取ると、ＤＨＣＰ応答パケットを生成し、制御メッセージ生成部１０５に送る。
【００３２】
制御メッセージ生成部１０５は、ＤＨＣＰ応答生成部１０４からＤＨＣＰ応答パケットを受け取ると、位置情報に対応するホストに対し、ＤＨＣＰ応答パケットを届けるための制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を生成し、制御メッセージ送信部１０６に送る。具体的には、制御メッセージ生成部１０５は、Ｐａｃｋｅｔ−Ｉｎメッセージの送信元のスイッチにＰａｃｋｅｔ−Ｉｎメッセージの送信契機となったパケットを受信したポートから、前記ＤＨＣＰ応答パケットを出力させる制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を生成する。
【００３３】
制御メッセージ送信部１０６はプロトコル通信部１０７を介して、制御メッセージ生成部１０５にて生成された制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を送信する。
【００３４】
プロトコル通信部１０７は、制御チャネルを介して接続されたスイッチと制御メッセージを授受するための必要な処理を行う。
【００３５】
割り当て済みアドレス管理ＤＢ１１１は、少なくとも、図３に示すように、スイッチのＩＤであるデータパスＩＤと、当該スイッチのポート番号と、割り当て済みのＤＨＣＰ  ＩＰアドレスとを対応付けたエントリを保持している。
【００３６】
なお、上記のような制御装置１００は、制御対象のスイッチから、ＤＨＣＰ要求パケットの受信を契機とする制御メッセージ（Ｐａｃｋｅｔ−Ｉｎメッセージ）を受信するオープンフローコントローラに、アドレス割り当て機能をアドオンすることで構成することもできる。
【００３７】
なお、図２に示した制御装置１００の機能モジュールは、制御装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００３８】
続いて、本実施形態の動作について説明する。図４は、本発明の第１の実施形態の制御装置の動作を示す流れ図である。
【００３９】
上記オープンフロースイッチに接続されたＶＭインスタンス（ホスト）がＤＨＣＰ要求メッセージを生成し、アドレスを要求すると、このメッセージが含まれたパケットを受信したスイッチは、オープンフローのＰａｃｋｅｔ−Ｉｎメッセージを生成し、制御装置１００に送信する。
【００４０】
制御装置１００の制御メッセージ受信部１０１は、Ｐａｃｋｅｔ−Ｉｎメッセージを受信すると（図４のステップＳ０１）、Ｐａｃｋｅｔ−Ｉｎメッセージのペイロード部に含まれているＤＨＣＰメッセージを取り出し、ＤＨＣＰメッセージ解析部１０２に送信する。
【００４１】
ＤＨＣＰメッセージ解析部１０２は、ＤＨＣＰメッセージを構文解析し、データパスＩＤとポート番号を抽出し、アドレス検索部１０３にこれらを出力する（図４のステップＳ０２）。このデータパスＩＤとポート番号の抽出により、ＶＭインスタンス（ホスト）の位置が特定されることになる。
【００４２】
アドレス検索部１０３は、割り当て済みアドレス管理ＤＢ１１１から前記データパスＩＤとポート番号に対応するエントリを検索する（図４のステップＳ０３）。
【００４３】
（１）前記検索の結果、該当するエントリが見つかった場合（図４のステップＳ０３のＹＥＳ）、該当ＶＭインスタンス（ホスト）に対するＩＰアドレスは割り当て済みであることになる。この場合、アドレス検索部１０３は、ＤＨＣＰ応答生成部１０４に対し、ＤＨＣＰ  ＩＰアドレスを含むエントリの内容を出力する（図４のステップＳ０４）。
【００４４】
（２）一方、前記検索の結果、該当するエントリが見つからなかった場合、アドレス検索部１０３は、さらに、未使用ＩＰアドレスＤＢ１１０から、未使用のＩＰアドレスを取り出す。そして、アドレス検索部１０３は、データパスＩＤ、ポート番号、前記未使用のＤＨＣＰアドレスを対応付けた新規エントリを生成し、割り当て済みアドレス管理ＤＢ１１１に追加する（図４のステップＳ０５）。また、アドレス検索部１０３は、前記未使用ＩＰアドレスＤＢ１１０から取り出した未使用のＩＰアドレスと、データパスＩＤと、ポート番号とを、ＤＨＣＰ応答生成部１０４に出力する（図４のステップＳ０６）。
【００４５】
ＤＨＣＰ応答生成部１０４は、アドレス検索部１０３から受け取ったＩＰアドレスを元にＤＨＣＰ応答メッセージを生成する。また、ＤＨＣＰ応答生成部１０４は、制御メッセージ生成部１０５に対し、前記アドレス検索部１０３から受けとったデータパスＩＤとポート番号とともに、前記ＤＨＣＰ応答メッセージを出力する（図４のステップＳ０７）。
【００４６】
制御メッセージ生成部１０５は、ＤＨＣＰ応答メッセージの出力を指示する制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を生成し、制御メッセージ送信部１０６に送る（図４のステップＳ０８）。また、その際に、制御メッセージ生成部１０５は、ＤＨＣＰ応答生成部１０４から受け取ったデータパスＩＤとポート番号を元に、制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）の送信対象のスイッチと、ＤＨＣＰ応答メッセージを出力する当該スイッチのポートを指定する。
【００４７】
制御メッセージ送信部１０６は、制御メッセージ生成部１０５より指定されたデータパスＩＤとポート番号に従い、制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を送信する（図４のステップＳ０９）。
【００４８】
以上により、本実施形態によれば、ＭＡＣアドレスを用いずにアドレスを割り当てることが可能となる。特に、本実施形態は、オープンフロー等の仕組みを用いて、いくつかの仮想マシンインスタンスが同一ＭＡＣアドレスを共有するようなクラウド環境に好適に適用可能であり、その際のアドレス割り当て手段を提供することが可能となる。
【００４９】
［第２の実施形態］
続いて、上記した未使用ＩＰアドレスＤＢ１１０の代わりにＤＨＣＰサーバを用意し、ＤＨＣＰサーバと制御装置とが連携して動作するようにした第２の実施形態について説明する。図５は、本発明の第２の実施形態の構成を表したブロック図である。図５を参照すると、制御装置１００Ａと、ＤＨＣＰサーバ１３０とを含む構成が示されている。
【００５０】
図５において、制御装置１００Ａと、ＤＨＣＰサーバ１３０とは、ＤＨＣＰ要求メッセージやＤＨＣＰ応答メッセージ等のＤＨＣＰメッセージを転送可能な内部ネットワークを介して接続されている。
【００５１】
図５の制御装置１００Ａは、８つの機能モジュールと、１つのデータベースとを含んでいる。
【００５２】
より具体的には、本実施形態の制御装置１００Ａは、スイッチからＰａｃｋｅｔ−Ｉｎメッセージを受信する制御メッセージ受信部１０１と、ＤＨＣＰメッセージ解析部１０２と、アドレス検索部１０３と、ＤＨＣＰ応答生成部１０４と、制御メッセージ生成部１０５と、制御メッセージ送信部１０６と、プロトコル通信部１０７と、仮想ＭＡＣアドレス生成部１２１と、ＤＨＣＰ応答解析部１２２とを備えている。即ち、第１の実施形態の構成に対し、仮想ＭＡＣアドレス生成部１２１と、ＤＨＣＰ応答解析部１２２とが追加された構成となっている。以下、第１の実施形態との相違点を中心に説明する。
【００５３】
仮想ＭＡＣアドレス生成部１２１は、アドレス検索部１０３からの要求に応じて仮想ＭＡＣアドレスを生成し、この仮想ＭＡＣアドレスを用いてＤＨＣＰサーバ１３０に対してＤＨＣＰ要求メッセージを送信する。
【００５４】
ＤＨＣＰ応答解析部１２２は、前記ＤＨＣＰ要求メッセージに対するＤＨＣＰサーバ１３０からのＤＨＣＰ応答メッセージを解析し、割り当て済みアドレス管理ＤＢ１１１への登録と、ＤＨＣＰ応答生成部１０４へのＤＨＣＰ応答メッセージの転送を行う。
【００５５】
また、本実施形態の制御装置１００Ａの割り当て済みアドレス管理ＤＢ１１１Ａは、図６に示すように、少なくとも、データパスＩＤと、ポート番号と、仮想ＭＡＣアドレスと、発行済みのＤＨＣＰアドレスとを対応付けたエントリを保持している。即ち、第１の実施形態の割り当て済みアドレス管理ＤＢ１１１が保持するエントリ（図３参照）に、仮想ＭＡＣアドレスフィールドを追加した構成となっている。
【００５６】
その他の構成は第１の実施形態と同様であるので説明を省略する。
【００５７】
続いて、本実施形態の動作について説明する。図７は、本発明の第２の実施形態の制御装置の動作を示す流れ図である。
【００５８】
上記オープンフロースイッチに接続されたＶＭインスタンス（ホスト）がＤＨＣＰ要求メッセージを生成し、アドレスを要求すると、このメッセージが含まれたパケットを受信したスイッチは、オープンフローのＰａｃｋｅｔ−Ｉｎメッセージを生成し、制御装置１００Ａに送信する。
【００５９】
制御装置１００Ａの制御メッセージ受信部１０１は、Ｐａｃｋｅｔ−Ｉｎメッセージを受信すると（図７のステップＳ０１）、Ｐａｃｋｅｔ−Ｉｎメッセージのペイロード部に含まれているＤＨＣＰメッセージを取り出し、ＤＨＣＰメッセージ解析部１０２に送信する。
【００６０】
ＤＨＣＰメッセージ解析部１０２は、ＤＨＣＰメッセージを構文解析し、データパスＩＤとポート番号を抽出し、アドレス検索部１０３にこれらを出力する（図７のステップＳ０２）。
【００６１】
アドレス検索部１０３は、割り当て済みアドレス管理ＤＢ１１１Ａから前記データパスＩＤとポート番号に対応するエントリを検索する（図７のステップＳ０３）。
【００６２】
（１）前記検索の結果、該当するエントリが見つかった場合（図７のステップＳ０３のＹＥＳ）、該当ＶＭインスタンス（ホスト）に対するＩＰアドレスは割り当て済みであることになる。この場合、アドレス検索部１０３は、ＤＨＣＰ応答生成部１０４に対し、ＤＨＣＰ  ＩＰアドレスを含むエントリの内容を出力する（図７のステップＳ０４）。
【００６３】
（２）一方、前記検索の結果、該当するエントリが見つからなかった場合、アドレス検索部１０３は、仮想ＭＡＣアドレス生成部１２１に対し、データパスＩＤとポート番号との組を送信し、仮想ＭＡＣアドレスの生成を依頼する。
【００６４】
仮想ＭＡＣアドレス生成部１２１は、前記データパスＩＤとポート番号との組から仮想ＭＡＣアドレスを生成する。データパスＩＤは、３２ビットの符号なし整数であり、ポート番号は、８ビットの符号なし整数で表すことのできる２５６以下の数値である。例えば、仮想ＭＡＣアドレス生成部１２１は、８ビットのポート番号の上位８ビットのパディング（オール０値とする）を行い１６ビットのポート番号に拡張することにより、４８ビットの仮想的なＭＡＣアドレスを生成する。
【００６５】
そして、仮想ＭＡＣアドレス生成部１２１は、前述のＤＨＣＰ要求メッセージに、前記生成した仮想ＭＡＣアドレスを追記して、ＤＨＣＰサーバ１３０に送信する（図７のステップＳ１１）。
【００６６】
ＤＨＣＰサーバ１３０から前記ＤＨＣＰ要求メッセージに対する応答が返されると、ＤＨＣＰ応答解析部１２２は、ＤＨＣＰ応答パケットを解析し、データパスＩＤ、ポート番号、仮想ＭＡＣアドレス、ＤＨＣＰサーバにて割り当てた未使用のＩＰアドレスの組を抽出して、割り当て済みアドレス管理ＤＢ１１１に登録する。また、ＤＨＣＰ応答解析部１２２は、ＤＨＣＰ応答生成部１０４に対し、前記ＤＨＣＰサーバ１３０から受け取ったＩＰアドレスを、ＤＨＣＰ応答生成部１０４に出力する（図７のステップＳ０６）。また、アドレス検索部１０３は、ＤＨＣＰ応答生成部１０４に対しステップＳ０２で特定したデータパスＩＤとポート番号とを送信する。
【００６７】
ＤＨＣＰ応答生成部１０４は、アドレス検索部１０３又はＤＨＣＰ応答解析部１２２から受け取ったＩＰアドレスを元にＤＨＣＰ応答メッセージを生成する。また、ＤＨＣＰ応答生成部１０４は、制御メッセージ生成部１０５に対し、前記アドレス検索部１０３から受けとったデータパスＩＤとポート番号とともに、前記ＤＨＣＰ応答メッセージを出力する（図７のステップＳ０７）。
【００６８】
制御メッセージ生成部１０５は、ＤＨＣＰ応答メッセージの出力を指示する制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を生成し、制御メッセージ送信部１０６に送る（図７のステップＳ０８）。また、その際に、制御メッセージ生成部１０５は、ＤＨＣＰ応答生成部１０４から受け取ったデータパスＩＤとポート番号を元に、制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）の送信対象のスイッチと、ＤＨＣＰ応答メッセージを出力される当該スイッチのポートを指定する。
【００６９】
制御メッセージ送信部１０６は、制御メッセージ生成部１０５より指定されたデータパスＩＤとポート番号に従い、制御メッセージ（Ｐａｃｋｅｔ−Ｏｕｔメッセージ）を送信する（図７のステップＳ０９）。
【００７０】
以上のように、ＤＨＣＰサーバ（未使用ＩＰアドレスＤＢ）がビルトインされていない本実施形態の構成によっても、ＭＡＣアドレスを用いずにアドレスを割り当てることが可能となる。
【００７１】
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、第１、第２の実施形態で説明した制御装置は、図２、図５に示す機能モジュール及びデータベースを有する複数の装置にて実現することもできる。
【００７２】
また例えば、上記した実施形態に示した仮想ＭＡＣアドレスの生成方法は、あくまで簡単な一例であり、その他方式により、仮想ＭＡＣアドレスを作成する方法を採用することも可能である。
【００７３】
また、上記した実施形態では、ＭＡＣアドレスの重複を許容する環境を前提に、ＶＭインスタンス（ホスト）からのＤＨＣＰ要求メッセージを受信したことを契機とした一連の動作を説明したが、当然のことながら、ＤＨＣＰ要求メッセージの送信元は、ＶＭインスタンス（ホスト）に限られない。本発明は、ＭＡＣアドレスが重複することを前提としない環境にも適用可能であり、その他ユーザ端末や、サーバからＤＨＣＰ要求メッセージを受信した場合にも、同様の動作を行っても良い。
【００７４】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による通信システム参照）
［第２の形態］
第１の形態の通信システムにおいて、
前記ホストの位置情報は、ホストが接続するスイッチの識別子とポート情報との組を示す情報である通信システム。
［第３の形態］
第２の形態の通信システムにおいて、
さらに、前記スイッチからのパケット受信通知から前記ホストの位置情報を抽出するパケット解析部を備える通信システム。
［第４の形態］
第１から第３いずれか一の形態の通信システムにおいて、
アドレスの割り当て要求を受けた場合、前記割り当て済みアドレス記憶部から、前記位置情報に対応するアドレスを検索して得られたアドレスがある場合、当該アドレスを割り当てる通信システム。
［第５の形態］
第１から第４いずれか一の形態の通信システムにおいて、
前記アドレス管理部は、さらに、前記割り当て済みアドレス記憶部に、前記位置情報と、前記割り当てたアドレスとの組を登録する機能を備える通信システム。
［第６の形態］
第１から第５いずれか一の形態の通信システムにおいて、
さらに、未使用アドレスを管理する未使用アドレス記憶部を備え、
前記アドレス管理部は、前記未使用アドレス記憶部から、未使用のアドレスを取り出して使用する通信システム。
［第７の形態］
第１から第５いずれか一の形態の通信システムにおいて、
さらに、前記ホストの位置情報を用いて仮想ＭＡＣアドレスを生成し、外部のＤＨＣＰサーバに未使用のＩＰアドレスの割り当てを要求する仮想ＭＡＣアドレス生成部を備える通信システム。
［第８の形態］
（上記第２の視点による制御装置参照）
［第９の形態］
（上記第３の視点によるアドレス割当方法参照）
［第１０の形態］
（上記第４の視点によるプログラム参照）
なお、上記第８〜第１０の形態は、第１の形態と同様に、第２〜第７の形態に展開することが可能である。
【００７５】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７６】
１１  割り当て済みアドレス記憶部
１２  アドレス管理部
１００、１００Ａ  制御装置
１０１  制御メッセージ受信部
１０２  ＤＨＣＰメッセージ解析部
１０３  アドレス検索部
１０４  ＤＨＣＰ応答生成部
１０５  制御メッセージ生成部
１０６  制御メッセージ送信部
１０７  プロトコル通信部
１１０  未使用ＩＰアドレスデータベース（ＤＢ）
１１１、１１１Ａ  割り当て済みアドレス管理データベース（ＤＢ）
１２１  仮想ＭＡＣアドレス生成部
１２２  ＤＨＣＰ応答解析部
１３０  ＤＨＣＰサーバ
【図１】
2014142258.tif 000003
【図２】
2014142258.tif 000004
【図３】
2014142258.tif 000005
【図４】
2014142258.tif 000006
【図５】
2014142258.tif 000007
【図６】
2014142258.tif 000008
【図７】
2014142258.tif 000009
【国際調査報告】
2014142258.tif 000010
2014142258.tif 000011
2014142258.tif 000012