(57)【特許請求の範囲】
【請求項１】
複数のルータを含んで構成された一つ以上の物理ネットワークを用いて構成され、ユーザが通信するための通信システム間を接続する論理的なネットワークである仮想ネットワークを管理する仮想ネットワーク管理サーバであって、
前記物理ネットワークをそれぞれ管理する一つ以上の物理ネットワーク管理サーバと接続し、
前記仮想ネットワークを構成するための仮想ネットワーク設定情報を保持し、
前記各物理ネットワーク管理サーバから、前記物理ネットワークの構成を示す物理ネットワーク構成情報を取得し、
前記取得された物理ネットワーク構成情報に基づいて、前記一つ以上の物理ネットワークを一つの抽象化ネットワークとして管理するための情報であり、かつ、前記仮想ネットワークを構成するための前記ルータを抽象化した抽象ノードに関する情報を格納する抽象化ネットワーク管理情報を生成し、
前記各物理ネットワーク管理サーバ及び前記各ルータに対して、前記生成された抽象化ネットワーク管理情報を送出し、
前記通信システム及び前記ルータに関する入力情報を含む仮想ネットワーク生成要求を受信した場合に、前記入力情報を前記仮想ネットワークを構成するための仮想ネットワーク定義情報に変換し、
前記仮想ネットワーク定義情報に基づいて構成される仮想ネットワークを構成するために用いる前記抽象ノードを、前記抽象化ネットワーク管理情報から選択し、
前記入力情報に基づき前記仮想ネットワークを構成するために、前記仮想ネットワーク設定情報を更新し、
前記更新された仮想ネットワーク設定情報を前記抽象ノードとして選択された前記ルータ及び前記仮想ネットワーク設定情報に基づいて特定される物理サーバに送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項２】
請求項１に記載の仮想ネットワーク管理サーバであって、
前記物理ネットワーク構成情報は、前記物理ネットワークにおける前記ルータの配置位置を表す第１の位置情報、及び、前記ルータが対応可能なトランスポート機能を表す第１のトランスポート機能情報を含み、
前記仮想ネットワーク管理サーバは、
前記抽象化ネットワーク管理情報を生成する場合に、前記ルータを、前記抽象化ネットワークを構成する抽象ノードとして一意に識別するための抽象ノード識別情報を生成し、
前記物理ネットワーク構成情報に基づいて、前記抽象化ネットワークにおける前記抽象ノードの配置位置を表す第２の位置情報を生成し、
前記物理ネットワーク構成情報に基づいて、前記抽象化ネットワークにおける前記抽象ノードが対応可能なトランスポート機能を表す第２のトランスポート機能情報を生成し、
同一の前記物理ネットワークに含まれる前記各ルータに対応する前記抽象ノードを含んで構成される一つのネットワークグループを生成して、前記ネットワークグループを識別するためのネットワークグループ識別情報を生成し、
前記抽象ノード識別情報、前記第２の位置情報、前記第２のトランスポート機能情報及び前記ネットワークグループ識別情報を対応づけることによって前記抽象化ネットワーク管理情報を生成することを特徴とする仮想ネットワーク管理サーバ。
【請求項３】
請求項２に記載の仮想ネットワーク管理サーバであって、
前記入力情報は、前記仮想ネットワークの生成を要求するユーザを識別するためのユーザ識別情報と、前記物理ネットワークにおける前記通信システムの配置位置を表す第３の位置情報と、前記仮想ネットワークに用いられるトランスポート機能を表す第３のトランスポート機能情報とを含み、
前記仮想ネットワーク管理サーバは、
前記入力情報を前記仮想ネットワーク定義情報に変換する場合に、前記入力情報に含まれる前記ユーザ識別情報に基づいて、生成される前記仮想ネットワークを識別するための仮想ネットワーク識別情報を生成し、
前記物理ネットワーク構成情報を参照して、前記入力情報に含まれる前記第３のトランスポート機能情報を、前記抽象化ネットワークにおける前記抽象ノードが対応可能なトランスポート機能を表す第４のトランスポート機能情報に変換し、
前記物理ネットワーク構成情報を参照して、前記入力情報に含まれる前記第３の位置情報を、前記抽象化ネットワークにおける前記抽象ノードの配置位置を表す第４の位置情報に変換し、
前記仮想ネットワーク識別情報、前記第４のトランスポート機能情報及び前記第４の位置情報に基づいて、前記仮想ネットワーク定義情報を生成し、
前記抽象化ネットワーク管理情報から前記抽象ノードを選択する場合に、前記第４のトランスポート機能情報に基づいて前記抽象化ネットワーク管理情報を参照して、前記受信した仮想ネットワーク生成要求に対応する前記仮想ネットワークを設定可能な前記ネットワークグループを選択し、
前記第４の位置情報に基づいて前記抽象化ネットワーク管理情報を参照して、前記選択されたネットワークグループの中から、前記仮想ネットワークを構成可能な前記抽象ノードを選択することを特徴とする仮想ネットワーク管理サーバ。
【請求項４】
請求項３に記載の仮想ネットワーク管理サーバであって、
前記仮想ネットワーク設定情報を更新する場合に、前記選択されたネットワークグループ及び前記選択された抽象ノードに基づいて、前記抽象化ネットワーク管理情報への前記受信した仮想ネットワーク生成要求に対応する前記仮想ネットワークのマッピングを決定し、
前記仮想ネットワーク識別情報、前記仮想ネットワークに用いられるトランスポート機能を表す第５のトランスポート機能情報、及び前記決定された仮想ネットワークのマッピングの結果に基づいて、前記仮想ネットワーク設定情報を更新して、前記各物理ネットワーク管理サーバ及び前記ルータに送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項５】
請求項４に記載の仮想ネットワーク管理サーバであって、
前記物理ネットワーク構成情報は、仮想的な計算機又は仮想的なスイッチを実現するための仮想機能を表す第１の仮想機能情報を含み、
前記入力情報は、前記仮想ネットワークにおいて要求される仮想機能を表す第２の仮想機能情報を含み、
前記仮想ネットワーク管理サーバは、
前記入力情報を前記仮想ネットワーク定義情報に変換する場合に、さらに、前記入力情報に含まれる前記第２の仮想機能情報を、前記抽象化ネットワークにおける前記抽象ノードが備える前記仮想機能を表す第３の仮想機能情報に変換し、
前記抽象化ネットワーク管理情報から前記抽象ノードを選択する場合に、さらに、前記第３の仮想機能情報に基づいて前記抽象化ネットワーク管理情報を参照して、前記仮想ネットワークを構成する前記抽象ノードとして選択された前記抽象ノードの中から、前記第２の仮想機能情報に対応する前記仮想機能を備える前記抽象ノードを選択することを特徴とする仮想ネットワーク管理サーバ。
【請求項６】
請求項２に記載の仮想ネットワーク管理サーバであって、
前記ルータは異なる前記物理ネットワーク間を接続するエッジルータを含み、
前記仮想ネットワーク管理サーバは、
前記エッジルータが、前記仮想ネットワーク設定情報を受信した後に、隣接する前記物理ネットワークに含まれる他の前記エッジルータから取得した、当該他のエッジルータに対応する前記抽象ノードを含んで構成される前記ネットワークグループを識別するための情報である隣接ネットワークグループ識別情報を取得し、
前記取得した隣接ネットワークグループ識別情報を前記抽象化ネットワーク管理情報に格納することを特徴とする仮想ネットワーク管理サーバ。
【請求項７】
請求項６に記載の仮想ネットワーク管理サーバであって、
前記仮想ネットワーク設定情報を更新した後に、さらに、前記抽象化ネットワークにおける前記抽象ノードのアドレスを表す第１のアドレスを管理するための第１のアドレス管理情報を生成し、
前記第１のアドレス管理情報を前記エッジルータに送出し、
前記各物理ネットワーク管理サーバ及び前記エッジルータから当該物理ネットワークにおける前記エッジルータのアドレスを表す第２のアドレスを管理するための第２のアドレス管理情報を取得し、
前記取得された第２のアドレス管理情報、及び、前記第１のアドレス管理情報に基づいて前記抽象化ネットワークにおけるルーティング情報を生成し、
前記生成されたルーティング情報を、前記各物理ネットワーク管理サーバ及び前記各エッジルータに送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項８】
請求項１に記載の仮想ネットワーク管理サーバであって、
前記物理ネットワーク管理サーバが管理する前記物理ネットワークに新規ルータが追加された場合に、前記物理ネットワーク管理サーバによって前記新規ルータから取得された当該新規ルータの構成情報を、前記物理ネットワーク管理サーバから前記物理ネットワーク構成情報として受信し、
前記受信した物理ネットワーク構成情報に基づいて、前記抽象化ネットワーク管理情報を生成し、
前記新規ルータが含まれる前記物理ネットワークを管理する前記物理ネットワーク管理サーバ及び前記新規ルータに、前記生成された抽象化ネットワーク管理情報を送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項９】
請求項１に記載の仮想ネットワーク管理サーバであって、
前記仮想ネットワーク設定情報の変更要求を受信した場合に、前記仮想ネットワーク設定情報を変更することによって前記仮想ネットワークに影響があるか否かを判定し、
前記仮想ネットワーク設定情報を変更することによって前記仮想ネットワークに影響があると判定された場合、前記仮想ネットワークにおける影響を許可するか否かを判定し、
前記仮想ネットワークにおける影響を許可すると判定された場合、前記仮想ネットワーク設定情報を変更し、
前記物理ネットワーク管理サーバに前記仮想ネットワーク設定情報の変更が完了した旨の通知を送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項１０】
請求項９に記載の仮想ネットワーク管理サーバであって、
前記仮想ネットワーク設定情報の変更要求は、前記ルータの削除要求に伴うものであり、
前記仮想ネットワークにおける影響を許可しないと判定された場合、前記物理ネットワーク管理サーバに、削除対象のルータの削除を中止させるための中止命令を送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項１１】
請求項１に記載の仮想ネットワーク管理サーバであって、
新規通信システムの追加要求を受信し、
前記仮想ネットワーク設定情報を更新できるか否かを判定し、
前記仮想ネットワーク設定情報を更新できると判定された場合、前記仮想ネットワーク設定情報を更新することによって前記仮想ネットワークに影響があるか否かを判定し、
前記仮想ネットワーク設定情報を更新することによって前記仮想ネットワークに影響があると判定された場合、前記仮想ネットワークにおける影響を許可するか否かを判定し、
前記仮想ネットワークにおける影響を許可すると判定された場合、前記仮想ネットワーク設定情報を更新し、
前記物理ネットワーク管理サーバ及び前記ルータに前記更新された仮想ネットワーク設定情報を送出することを特徴とする仮想ネットワーク管理サーバ。
【請求項１２】
請求項１１に記載の仮想ネットワーク管理サーバであって、
前記仮想ネットワークにおける影響を許可しないと判定された場合、前記仮想ネットワーク設定情報の更新失敗の通知を行うことを特徴とする仮想ネットワーク管理サーバ。
【請求項１３】
請求項２から請求項７のいずれか一に記載の仮想ネットワーク管理サーバであって、
前記トランスポート機能は、ネットワークレイヤ、プロトコル、及び仮想ネットワーク技術の少なくともいずれかであることを特徴とする仮想ネットワーク管理サーバ。
【請求項１４】
複数のルータを含んで構成される複数の物理ネットワークに含まれ、異なる前記物理ネットワーク間を接続するエッジルータであって、
一つ以上の前記物理ネットワークを用いて構成され、ユーザが通信するための通信システム間を接続する論理的なネットワークである仮想ネットワークを管理し、前記複数の物理ネットワークを一つの抽象化ネットワークとして管理するための情報であり、かつ、前記仮想ネットワークを構成するための前記ルータを抽象化した抽象ノードに関する情報を格納する抽象化ネットワーク管理情報を前記複数のルータに送出し、また、前記抽象化ネットワーク管理情報に基づいて前記仮想ネットワークの構成に用いる前記抽象ノードを選択することによって、前記仮想ネットワークを構成するための仮想ネットワーク設定情報を生成し、前記生成された仮想ネットワーク設定情報を前記複数のルータに対して送出する仮想ネットワーク管理サーバと接続され、
前記エッジルータは、
前記抽象化ネットワーク管理情報を保持し、
前記物理ネットワークにおける通信パケットを転送する物理ネットワーク転送機能部と、
前記抽象化ネットワーク管理情報に基づいて、前記抽象化ネットワークを管理する抽象化層管理部と、を備え、
前記抽象化層管理部は、
前記仮想ネットワーク管理サーバから前記抽象化ネットワーク管理情報を受信した場合に、前記保持される抽象化ネットワーク管理情報を更新し、
当該エッジルータによって構成される前記物理ネットワークに隣接する他の前記物理ネットワークを構成する他の前記エッジルータと接続されているか否かを判定し、
前記隣接する他の物理ネットワークを構成する他のエッジルータと接続されていると判定された場合、前記他のエッジルータとの間で前記抽象化ネットワーク管理情報を送受信し、
前記保持される抽象化ネットワーク管理情報を前記仮想ネットワーク管理サーバに送信することを特徴とするエッジルータ。
【請求項１５】
請求項１４に記載のエッジルータであって、
ディスカバリ信号を用いたディスカバリ処理を実行することによって、前記隣接する他の物理ネットワークを構成する他のエッジルータと接続されているか否かを判定することを特徴とするエッジルータ。
【請求項１６】
請求項１４に記載のエッジルータであって、
前記抽象化ネットワーク管理情報は、当該エッジルータを含んで構成される前記物理ネットワークに含まれる前記各ルータに対応する前記抽象ノードを含んで構成されるネットワークグループを識別するためのネットワークグループ識別情報と、前記隣接する他の物理ネットワークに含まれる前記各ルータに対応する前記抽象ノードを含んで構成される隣接ネットワークグループを識別するための隣接ネットワークグループ識別情報と、前記抽象ノードの識別情報とが対応付けられた情報であり、
前記エッジルータは、
前記隣接する他の物理ネットワークを構成する他のエッジルータから受信した前記抽象化ネットワーク管理情報から、当該他のエッジルータに対応する前記抽象ノードを含んで構成されるネットワークグループの前記ネットワークグループ識別情報を取得し、
前記取得されたネットワークグループ識別情報を、前記隣接ネットワークグループ識別情報として前記保持される抽象化ネットワーク管理情報に設定し、
前記隣接ネットワークグループ識別情報が設定された前記抽象化ネットワーク管理情報を前記仮想ネットワーク管理サーバに送信することを特徴とするエッジルータ。
【請求項１７】
請求項１６に記載のエッジルータであって、
前記抽象化ネットワークにおける前記抽象ノードのアドレスを表す第１のアドレスを管理するための第１のアドレス管理情報を、前記仮想ネットワーク管理サーバから受信し、
前記第１のアドレス管理情報と、前記物理ネットワークにおける前記エッジルータのアドレスを表す第２のアドレスを管理するための第２のアドレス管理情報とに基づいて生成された、前記抽象化ネットワークにおけるルーティング情報を前記仮想ネットワーク管理サーバから受信し、
前記ルーティング情報を受信した後に前記通信システムから通信パケットを受信した場合に、前記受信した通信パケットを解析し、
前記第１のアドレス管理情報及び前記ルーティング情報に基づいて、前記受信した通信パケットに前記第１のアドレスを付与し、
前記第１のアドレスに基づいて、前記抽象化ネットワークにおけるルーティング処理を実行することを特徴とするエッジルータ。
【請求項１８】
請求項１４に記載のエッジルータであって、
前記物理ネットワーク転送機能部は、前記通信システムから受信した通信パケットをカプセル化し、また、カプセル化された前記通信パケットのカプセル化を解除する機能を有することを特徴とするエッジルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザがネットワークを共有でき、ユーザ間は互いに独立した論理的なネットワークを構築する仮想ネットワーク技術に関する。特に、異なる制御方法の物理ネットワークにおける仮想ネットワークの管理方法に関する。
【背景技術】
【０００２】
都市間のように距離的に離れた場所にある企業等のユーザの情報システム、いわゆる拠点間を接続する通信サービスを広域ネットワークサービスという。近年、企業業務のＩＴ化が著しく進展し、様々な情報が電子化され、これらの情報が企業の拠点間で通信を用いて扱われるようになってきている。
【０００３】
前述したような需要に応えるため、低コストでユーザの情報システムと接続しやすい広域イーサネット（イーサネット及びＥｔｈｅｒｎｅｔは登録商標、以下同じ。）、又はＩＰ−ＶＰＮ等のＩＰ・イーサネットベースの広域ネットワークサービスが利用されるようになってきている（例えば、特許文献１参照）。
【０００４】
ＩＰ・イーサネットベースの広域ネットワークは、ユーザの情報システムで用いられるネットワーク標準プロトコルであるＩＰ及びイーサネット技術を用いたルータ装置（以下、ルータと呼ぶ）を利用することによって、ユーザの拠点との接続容易性を提供している。
【０００５】
また、ルータ間を接続するインタフェースには１０Ｇｂｐｓの広帯域の伝送技術が用いられ、ＩＰ・イーサネットベースの広域ネットワークでは前述した広帯域のインタフェースを複数のユーザで共有することによって、サービスを低コストで提供可能となっている。
【０００６】
ＩＰ・イーサネットベースの広域ネットワークは、広域ネットワークの基幹を構成するコアルータ群とユーザの拠点を接続するルータであるエッジルータとから構成される物理ネットワークによって実現される。以下、物理ネットワークは、広域ネットワークを構成する基盤となるネットワークを表すものとする。
【０００７】
ユーザの拠点間の通信に用いられる通信パケットは、エッジルータにおいてカプセル化され、コア網内の通信に使われるコア網ヘッダが通信パケットに追加される。コア網内のルータはコア網ヘッダを参照して通信パケットの転送するため、元のユーザの通信パケットを変更することなく広域ネットワークを用いた通信ができる。
【０００８】
複数のユーザで広域ネットワークを共有するために、コア網ヘッダ内にはユーザを識別するためのユーザ識別ラベルが付与される。コア網内のルータ及びエッジルータは、コア網ヘッダ内のユーザ識別ラベルに基づいて、ユーザ毎の仮想的なプライベートネットワークを形成し、ユーザ間の通信パケットが互いに混在しないようにセキュリティを保っている。
【０００９】
広域ネットワークサービスのサービス性の向上に伴って、提供される機能及びユーザの利用形態が変化している。
【００１０】
広域ネットワークサービスが提供する機能としては、ユーザの通信パケットをカプセル化するときにカプセル化対象となる通信プロトコルの種類の多様化及びユーザ毎に分離されたサーバ機能・ネットワーク機能の提供等がある。
【００１１】
また、ユーザの利用形態の変化としては、従来、主に企業ユーザの拠点間の通信に用いられていたが、サービスプロバイダ、コンテンツプロバイダ等の事業者のデータセンタと企業ユーザの拠点との間の通信にも用いられるようになってきている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許第７３０７９９０号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１３】
前述したように広域ネットワークサービスの提供機能の変化、又は、ユーザの利用形態の変化に伴って、広域ネットワークの構成が複雑になる。したがって、ネットワークの管理方法、又は、前記ルータ装置で動作するネットワークプロトコルが異なる複数の物理ネットワークをまたがって仮想的なプライベートネットワーク、すなわち、仮想ネットワークを構成する必要がある。
【００１４】
複数の物理ネットワークをまたがって仮想ネットワークを構成するには、次のような問題点がある。
【００１５】
個々の物理ネットワークは、ネットワーク管理システムと呼ばれる管理ソフトウェアによって、独自に管理される。そのため、仮想ネットワークを構成する場合に、個々の物理ネットワーク毎に、提供機能及び名称の管理方法、物理ネットワークのロケーション管理方法、並びに、ユーザ拠点のネットワークアドレスと物理ネットワーク内のアドレスとの対応づけの方法が異なる。
【００１６】
したがって、個々の物理ネットワーク毎に異なる手法を用いて仮想ネットワークと物理ネットワークとを対応づけなければならない。そのため、仮想ネットワークと物理ネットワークとの変換制御の複雑化し、仮想ネットワークを管理するサーバ及び物理ネットワーク内のエッジルータが管理する変換テーブルのサイズが増大する。したがって、迅速な仮想ネットワークの生成ができず、また、仮想ネットワークを管理する運用管理コストが増大するという課題がある。
【００１７】
本発明の目的とは、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１８】
本発明の代表的な一例を示せば以下の通りである。すなわち、複数のルータを含んで構成された一つ以上の物理ネットワークを用いて構成され、ユーザが通信するための通信システム間を接続する論理的なネットワークである仮想ネットワークを管理する仮想ネットワーク管理サーバであって、前記物理ネットワークをそれぞれ管理する一つ以上の物理ネットワーク管理サーバと接続し、前記仮想ネットワークを構成するための仮想ネットワーク設定情報を保持し、前記各物理ネットワーク管理サーバから、前記物理ネットワークの構成を示す物理ネットワーク構成情報を取得し、前記取得された物理ネットワーク構成情報に基づいて、前記一つ以上の物理ネットワークを一つの抽象化ネットワークとして管理するための情報であり、かつ、前記仮想ネットワークを構成するための前記ルータを抽象化した抽象ノードに関する情報を格納する抽象化ネットワーク管理情報を生成し、前記各物理ネットワーク管理サーバ及び前記各ルータに対して、前記生成された抽象化ネットワーク管理情報を送出し、前記通信システム及び前記ルータに関する入力情報を含む仮想ネットワーク生成要求を受信した場合に、前記入力情報を前記仮想ネットワークを構成するための仮想ネットワーク定義情報に変換し、前記仮想ネットワーク定義情報に基づいて構成される仮想ネットワークを構成するために用いる前記抽象ノードを、前記抽象化ネットワーク管理情報から選択し、前記入力情報に基づき前記仮想ネットワークを構成するために、前記仮想ネットワーク設定情報を更新し、前記更新された仮想ネットワーク設定情報を前記抽象ノードとして選択された前記ルータ及び前記仮想ネットワーク設定情報に基づいて特定される物理サーバに送出することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、複数の物理ネットワークを一つのネットワークである抽象化ネットワークとして一元管理する。複数の物理ネットワークをまたがった仮想ネットワークを生成する場合に、仮想ネットワーク管理サーバが物理ネットワークの情報を抽象化ネットワークの情報に変換して仮想ネットワークの情報を生成できる。したがって、ユーザは個々の物理ネットワークの構成を把握する必要がなく、容易に、かつ、迅速に仮想ネットワークが生成できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態の仮想ネットワークシステムの基盤となる物理ネットワークの構成例を説明するブロック図である。
【図２】本発明の第１の実施形態の物理ネットワークの構成を説明するブロック図である。
【図３Ａ】本発明の第１の実施形態の仮想ネットワークシステムにおける仮想ネットワークの構成の一例を示す説明図である。
【図３Ｂ】本発明の第１の実施形態の仮想ネットワークシステムにおける仮想ネットワークの構成の一例を示す説明図である。
【図３Ｃ】本発明の第１の実施形態の仮想ネットワークシステムにおける仮想ネットワークの構成の一例を示す説明図である。
【図４】本発明の第１の実施形態のエッジルータのハードウェア構成を説明するブロック図である。
【図５】本発明の第１の実施形態の仮想ネットワーク管理サーバのソフトウェア構成を説明するブロック図である。
【図６】本発明の第１の実施形態のユーザ要求によって生成される仮想ネットワークの一例を示す説明図である。
【図７】本発明の第１の実施形態の仮想ネットワークシステムを抽象化した抽象化ネットワークを示す説明図である。
【図８】本発明の第１の実施形態のユーザ要求情報の一例を示す説明図である。
【図９】本発明の第１の実施形態の仮想ネットワーク定義情報の一例を示す説明図である。
【図１０】本発明の第１の実施形態の仮想ネットワーク割当情報の一例を示す説明図である。
【図１１】本発明の第１の実施形態のマッピング情報の一例を示す説明図である。
【図１２】本発明の第１の実施形態の抽象化層情報の一例を示す説明図である。
【図１３】本発明の第１の実施形態の物理ネットワーク管理サーバのソフトウェア構成を説明するブロック図である。
【図１４Ａ】本発明の第１の実施形態の抽象化層情報の一例を示す説明図である。
【図１４Ｂ】本発明の第１の実施形態の物理ネットワーク構成情報の一例を示す説明図である。
【図１５】本発明の第１の実施形態によるエッジルータのソフトウェア構成を説明するブロック図である。
【図１６】本発明の第１の実施形態の抽象化層情報の一例を示す説明図である。
【図１７Ａ】本発明の第１の実施形態における仮想ネットワークシステムの初期化処理の一例を説明するフローチャートである。
【図１７Ｂ】本発明の第１の実施形態における仮想ネットワークシステムの初期化処理の一例を説明するフローチャートである。
【図１８】本発明の第１の実施形態における仮想ネットワークの生成処理の一例を説明するフローチャートである。
【図１９Ａ】本発明の第１の実施形態における仮想ネットワークシステムにエッジルータが追加された場合に実行される仮想ネットワークシステムの変更処理の一例を説明するフローチャートである。
【図１９Ｂ】本発明の第１の実施形態における仮想ネットワークシステムにエッジルータが追加された場合に実行される仮想ネットワークシステムの変更処理の一例を説明するフローチャートである。
【図２０】本発明の第１の実施形態における仮想ネットワークシステムから物理ルータが削除される場合に実行される削除処理の一例を説明するフローチャートである。
【図２１】本発明の第１の実施形態の仮想ネットワークシステムにおける仮想ネットワーク３０１にユーザ拠点を追加する場合に実行されるユーザ拠点の追加処理の一例を説明するフローチャートである。
【図２２】本発明の第１の実施形態のエッジルータのソフトウェアの実装例を示すブロック図である。
【図２３】本発明の第１の実施形態における、異なる物理ネットワークを接続する二つのエッジルータ間の構成の一例を示すブロック図である。
【図２４】本発明の第１の実施形態における、物理ネットワーク及びユーザ拠点を接続するエッジルータの構成の一例を示すブロック図である。
【図２５】本発明の第２の実施形態のエッジルータのソフトウェア構成を説明するブロック図である。
【図２６Ａ】本発明の第２の実施形態の抽象化層アドレス変換情報の一例を示す説明図である。
【図２６Ｂ】本発明の第２の実施形態の抽象化層アドレス対応情報の一例を示す説明図である。
【図２７】本発明の第２の実施形態の抽象化層情報の一例を示す説明図である。
【図２８】本発明の第２の実施形態における仮想ネットワークシステムの初期化処理の一例を説明するフローチャートである。
【図２９】本発明の第２の実施形態の仮想ネットワークシステムにおけるユーザＢの拠点間の通信パケットの通信経路の一例を示す説明図である。
【図３０】本発明の第２の実施形態における物理ネットワークの通信パケットの構造の一例を示した説明図である。
【図３１】本発明の第２の実施形態における物理ネットワークの通信パケットの構造の一例を示した説明図である。
【図３２】本発明の第３の実施形態における物理ネットワークの構成を説明するブロック図である。
【図３３Ａ】本発明の第３の実施形態の仮想ネットワークシステムにおけるユーザ毎の仮想ネットワークの構成の一例を示す説明図である。
【図３３Ｂ】本発明の第３の実施形態の仮想ネットワークシステムにおけるユーザ毎の仮想ネットワークの構成の一例を示す説明図である。
【図３３Ｃ】本発明の第３の実施形態の仮想ネットワークシステムにおけるユーザ毎の仮想ネットワークの構成の一例を示す説明図である。
【図３４】本発明の第３の実施形態の仮想ネットワークシステムを抽象化した抽象化ネットワークを示す説明図である。
【図３５】本発明の第３の実施形態の抽象化層情報の一例を示す説明図である。
【図３６】本発明の第３の実施形態のユーザ要求情報の一例を示す説明図である。
【図３７】本発明の第３の実施形態の仮想ネットワーク定義情報の一例を示す説明図である。
【図３８】本発明の第３の実施形態のマッピング情報の一例を示す説明図である。
【図３９】本発明の第３の実施形態の抽象化層情報の一例を示す説明図である。
【図４０】本発明の第３の実施形態のルータのソフトウェア構成を説明するブロック図である。
【図４１】本発明の第３の実施形態のルータが備える抽象化層情報の一例を示す説明図である。
【図４２】本発明の第３の実施形態の仮想ネットワークシステムにおける仮想ネットワークの生成処理の一例を説明するフローチャートである。
【図４３】本発明の第４の実施形態のエッジルータのソフトウェアの実装例を示すブロック図である。
【図４４】本発明の第５の実施形態のエッジルータのソフトウェアの実行例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施形態を説明する図において、同一の構成には原則として同一の符号を付し、統一の符号が付された構成の説明は省略する。
【００２２】
［第１の実施形態］
本発明の第１実施形態による仮想ネットワークシステムについて説明する。
【００２３】
仮想ネットワークシステムは、基盤となる一以上の物理ネットワークから構成される。図１〜図３を用いて本発明の第１の実施形態の仮想ネットワークシステムの基盤である物理ネットワークの構成について説明する。
【００２４】
図１は、本発明の第１の実施形態の仮想ネットワークシステムの基盤となる物理ネットワークの構成例を説明するブロック図である。
【００２５】
図１に示すように、本実施形態において仮想ネットワークシステムは、複数の物理ネットワーク１（１０１１）、物理ネットワークワーク２（１０１２）及び物理ネットワーク３から構成される。各物理ネットワーク１０１１、１０１２、１０１３は、各物理ネットワーク１０１１、１０１２、１０１３のエッジに配置されるエッジルータ１０２を経由して相互に接続される。
【００２６】
図１では簡単のため、物理ネットワーク１０１１、１０１２、１０１３がすべて互いに接続されている。なお、物理ネットワーク１０１１、１０１２、１０１３の構成については、図２を用いて後述する。
【００２７】
また、物理ネットワーク１０１１、１０１２、１０１３は、エッジルータ１０２を経由して、仮想ネットワークシステムを利用するユーザの通信システムが配置されるユーザ拠点と接続される。
【００２８】
図１では簡単のため、ユーザＡのユーザ拠点１０３１、ユーザＢのユーザ拠点１０３２、及びユーザＣのユーザ拠点１０３３が接続されている。それぞれの物理ネットワーク１０１１、１０１２、１０１３におけるユーザＡのユーザ拠点１０３１は、同一の構成でもよいし、異なる構成でもよい。ユーザＢのユーザ拠点１０３２、ユーザＣのユーザ拠点１０３３についても同様である。
【００２９】
仮想ネットワークシステムは、物理ネットワーク１（１０１１）を管理する物理ネットワーク管理サーバ１０４１、物理ネットワーク２（１０１２）を管理する物理ネットワーク管理サーバ１０４２、物理ネットワーク３（１０１３）を管理する物理ネットワーク管理サーバ１０４３を備える。
【００３０】
また、仮想ネットワークシステムは、仮想ネットワークシステム全体を管理する仮想ネットワーク管理サーバ１０５を備える。
【００３１】
各物理ネットワーク管理サーバ１０４１、１０４２、１０４３は、管理ネットワーク１０６を介して、それぞれの物理ネットワーク１０１１、１０１２、１０１３と接続される。また、仮想ネットワーク管理サーバ１０５は、管理ネットワーク１０６を介して各物理ネットワーク管理サーバ１０４１、１０４２、１０４３と接続される。
【００３２】
各物理ネットワーク１０１１、１０１２、１０１３は、仮想ネットワークを構成する方式が異なるため、各物理ネットワーク管理サーバ１０４１、１０４２、１０４３は、異なる方法を用いて仮想ネットワークを管理する。
【００３３】
物理ネットワーク１０１１、１０１２、１０１３における仮想ネットワークの構成方式及び仮想ネットワークの管理方法は、例えば、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）、ＩＥＥＥ８０２．１Ｑ  Ｔａｇ−ＶＬＡＮ、ＩＥＥＥ８０２．１ａｈ  ＥｏＥ（Ｅｔｈｅｒｎｅｔ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ）（Ｅｔｈｅｒｎｅｔは登録商標。以下同じ）等を用いることができる。
【００３４】
次に、個々の物理ネットワーク１０１１、１０１２、１０１３の内部構成について説明する。
【００３５】
以下、物理ネットワーク１０１１、１０１２、１０１３を区別しない場合には物理ネットワーク１０１と記載し、物理ネットワーク管理サーバ１０４１、１０４２、１０４３を区別しない場合には物理ネットワーク管理サーバ１０４と記載する。また、各ユーザの拠点１０３１、１０３２、１０３３を区別しない場合にはユーザ拠点１０３と記載する。
【００３６】
図２は、本発明の第１の実施形態の物理ネットワーク１０１の構成を説明するブロック図である。図２に示す例では物理ネットワーク１（１０１１）の構成を示す図である。
【００３７】
物理ネットワーク１（１０１１）は、物理ネットワーク１（１０１１）のエッジに配置されるエッジルータ１０２と、各エッジルータ１０２間を接続するコアルータ２０１とから構成される。
【００３８】
前述したように物理ネットワーク１（１０１１）には、物理ネットワーク管理サーバ１０４１が接続される。図２に示す例では、物理ネットワーク１（１０１１）に含まれるコアルータ２０１と物理ネットワーク管理サーバ１０４１とが接続される。
【００３９】
物理ネットワーク管理サーバ１０４１は、物理ネットワーク１（１０１１）を構成する全コアルータ２０１及び全エッジルータ１０２と管理ネットワーク１０６を介して通信が可能である。物理ネットワーク管理サーバ１０４１は、管理ネットワーク１０６を介してコアルータ２０１及びエッジルータ１０２を制御する。
【００４０】
図３Ａ、図３Ｂ及び図３Ｃは、本発明の第１の実施形態の仮想ネットワークシステムにおける仮想ネットワークの構成の一例を示す説明図である。
【００４１】
本実施形態では、仮想ネットワークシステム上にユーザ毎の仮想ネットワークが構成される。
【００４２】
図３Ａは、ユーザＡの仮想ネットワーク３０１１を示した説明図である。図３Ｂは、ユーザＢの仮想ネットワーク３０１２を示した説明図である。図３Ｃは、ユーザＣの仮想ネットワーク３０１３を示した説明図である。以下、仮想ネットワーク３０１１、３０１２、３０１３を区別しない場合には仮想ネットワーク３０１と記載する。
【００４３】
図３Ａ〜図３Ｃに示すように、各ユーザの仮想ネットワーク３０１は、各ユーザのユーザ拠点１０３を個別に接続するネットワークとして提供される。すなわち、仮想ネットワーク３０１は、各ユーザに論理的に分割されたネットワークとして提供される。
【００４４】
例えば、ユーザＡの仮想ネットワーク３０１１を生成するには、まず、各物理ネットワーク１０１上にユーザＡの仮想ネットワークが構成される。次に、各物理ネットワーク１０１上で構成されたユーザＡの仮想ネットワークがエッジルータ１０２を介して接続され、各物理ネットワーク１０１をまたがった仮想ネットワークが構成される。また、ユーザＡの仮想ネットワークとユーザＡの拠点１０３１とがエッジルータ１０２を介して接続されることによって、図３に示すユーザＡの仮想ネットワーク３０１１が構成される。
【００４５】
なお、本実施形態ではユーザ毎に別々の仮想ネットワーク３０１が割り当てられることを前提としているが、キャリア若しくはサービスプロバイダが提供するサービス毎、又は、ユーザが保有するアプリケーション毎等に基づいて仮想ネットワークが割り当てられてもよい。
【００４６】
以下、物理ネットワーク管理サーバ１０４、仮想ネットワーク管理サーバ１０５及びエッジルータ１０２のハードウェア構成について説明する。
【００４７】
仮想ネットワーク管理サーバ１０５は、プロセッサ（図示省略）、メモリ（図示省略）、不揮発性記憶媒体（図示省略）、及びネットワークインタフェース（図示省略）を備え、これらの構成は内部バス（図示省略）等を介して接続される。なお、仮想ネットワーク管理サーバ１０５は、他の構成を備えていてもよい。
【００４８】
メモリ（図示省略）上に格納されるプログラムを実行することによって、仮想ネットワーク管理サーバ１０５が備える機能を実現できる。仮想ネットワーク管理サーバ１０５が備えるソフトウェアの構成については図５を用いて後述する。
【００４９】
物理ネットワーク管理サーバ１０４は、プロセッサ（図示省略）、メモリ（図示省略）、不揮発性記憶媒体（図示省略）、及びネットワークインタフェース（図示省略）を備え、これらの構成は内部バス（図示省略）等を介して接続される。なお、物理ネットワーク管理サーバ１０４は、他の構成を備えていてもよい。
【００５０】
メモリ（図示省略）上に格納されるプログラムを実行することによって、物理ネットワーク管理サーバ１０４が備える機能を実現できる。物理ネットワーク管理サーバ１０４が備えるソフトウェアの構成については図１３を用いて後述する。
【００５１】
図４は、本発明の第１の実施形態のエッジルータ１０２のハードウェア構成を説明するブロック図である。
【００５２】
エッジルータ１０２は、パケット処理ボード３９０４、スイッチ３９０３及びネットワークインタフェース（ＮＩＦ）３９０２を備える。
【００５３】
ネットワークインタフェース（ＮＩＦ）３９０２は、外部の装置と通信するためのインタフェースであり、外部と通信するためのポート（ＰＯＲＴ）３９０５を備える。ポート３９０５には、光ケーブル、又はメタルケーブル等の通信ケーブル３９０６が接続される。
【００５４】
スイッチ３９０３は、内部配線３９０７を介して、ネットワークインタフェース（ＮＩＦ）３９０２とパケット処理ボード３９０４とを相互に接続する。これによって、通信パケット及び装置内部の制御情報を互いに通信することができる。
【００５５】
パケット処理ボード３９０４は、通信パケットを処理する。パケット処理ボード３９０４は、例えば、プログラム可能なプロセッサであるネットワークプロセッサ（ＮＰＵ）３９０９、メモリ３９１０、及びスイッチ３９０３と接続するためのインタフェース（Ｉ／Ｏ）３９０８から構成される。パケット処理ボード３９０４は、ネットワークプロセッサ（ＮＰＵ）３９０９、及びメモリ３９１０を複数備えてもよい。
【００５６】
なお、エッジルータ１０２は、パケット処理ボード３９０４及びネットワークインタフェース（ＮＩＦ）３９０２を一以上備えてもよい。
【００５７】
なお、エッジルータ１０２のソフトウェアの構成については図１５を用いて後述する。
【００５８】
図５は、本発明の第１の実施形態の仮想ネットワーク管理サーバ１０５のソフトウェア構成を説明するブロック図である。
【００５９】
仮想ネットワーク管理サーバ１０５は、機能ブロックとして、ユーザ要求受付部４０１、仮想ネットワーク割当管理部４０２、仮想ネットワーク管理部４０３及び抽象化層管理部４０４を備える。
【００６０】
また、仮想ネットワーク管理サーバ１０５は、仮想ネットワークシステムの管理情報として、ユーザ要求情報４０５、仮想ネットワーク定義情報４０６、仮想ネットワーク割当情報４０７、マッピング情報４０８、及び抽象化層情報４０９を保持する。
【００６１】
仮想ネットワーク受付部４０１は、仮想ネットワークを管理するオペレータから仮想ネットワーク３０１の生成、削除又は変更等のユーザ要求を受け付ける。以下、仮想ネットワークを管理するオペレータを単にオペレータと記載する。
【００６２】
具体的には、仮想ネットワーク受付部４０１は、仮想ネットワーク３０１を構成するための構成情報が含まれるユーザ要求を受け付け、受け付けたユーザ要求に含まれる構成情報をユーザ要求情報４０５に格納する。また、仮想ネットワーク受付部４０１は、ユーザ要求情報４０５に格納される情報を抽象化層の情報に変換し、抽象化層の情報を仮想ネットワーク定義情報４０６に格納する。
【００６３】
オペレータは、仮想ネットワーク３０１を生成する場合に、例えば、図６に示すような構成情報が含まれるユーザ要求を送信することによって仮想ネットワーク３０１の生成を要求する。
【００６４】
図６は、本発明の第１の実施形態のユーザ要求によって生成される仮想ネットワーク３０１の一例を示す説明図である。図６では、ユーザＢの仮想ネットワーク３０１２を生成するための構成情報を示す。
【００６５】
図６に示す例では、ユーザＢのユーザ拠点１０３２は、それぞれ、都市１（１０３２１）、都市２（１０３２２）、及び都市４（１０３２３）に配置される。ユーザ拠点１０３２１、１０３２２、１０３２３の間は、Ｌ２ネットワーク８０１で構成される。また、都市３に配置された中継拠点８０２を経由してＬ２ネットワーク８０１が中継又は分離される。
【００６６】
なお、ここでは場所を示す情報は都市１、都市２、都市３等の都市名称である。また、トランスポート機能を示す情報は、Ｌ２ネットワークである。ただし、オペレータが要求する仮想ネットワーク３０１の構成情報は、一般的に、仮想ネットワーク３０１を用いたサービスの種類によって異なる。例えば、場所を示す情報としては、物理ネットワーク１０１毎に異なる識別子、独自の名称、地名、都市名等が用いられる。また、トランスポート機能を示す情報としては、Ｌ２、Ｌ３等のネットワークのレイヤ名、イーサネット、ＩＰ等のプロトコル種類名、ＭＰＬＳ、及びＥｏＥ等の仮想ネットワークの技術名称が用いられる。
【００６７】
図５の説明に戻る。
【００６８】
仮想ネットワーク割当管理部４０２は、仮想ネットワーク定義情報４０６及び抽象化層情報４０９に基づいて、仮想ネットワーク３０１の割当てを管理する。具体的には、仮想ネットワーク割当管理部４０２は、ユーザに割当てる仮想ネットワーク３０１を、各物理ネットワーク１０１へマッピングし、当該マッピング結果をマッピング情報４０８に格納する。
【００６９】
仮想ネットワーク管理部４０３は、仮想ネットワークシステム上に構築された仮想ネットワーク３０１を管理する。具体的には、仮想ネットワーク管理部４０３は、各物理ネットワーク管理サーバ１０４及びエッジルータ１０２から必要な情報を取得し、取得された情報に基づいて、仮想ネットワーク３０１の構成を制御する。
【００７０】
抽象化層管理部４０４は、仮想ネットワークシステムを抽象化ネットワークとして管理する。ここで、抽象化ネットワークについて説明する。
【００７１】
図７は、本発明の第１の実施形態の仮想ネットワークシステムを抽象化した抽象化ネットワークを示す説明図である。
【００７２】
抽象化ネットワークでは、図１に示すような仮想ネットワークシステムの各物理ネットワーク１０１を接続するエッジルータ１０２が、一つのネットワークとして共通の抽象ノード７０２として管理される。一方で、抽象ノード７０２が、どの物理ネットワーク１０１に属するエッジルータ１０２であるかを管理するために、同一の物理ネットワーク１０１に属するエッジルータ１０２に対応する抽象ノード７０２がネットワークグループとして管理される。
【００７３】
図７に示す例では、物理ネットワーク１（１０１１）はネットワークグループ１（７０１１）、物理ネットワーク２（１０１２）はネットワークグループ２（７０１２）、物理ネットワーク３（１０１３）はネットワークグループ３（７０１３）にグルーピングされる。以下、ネットワークグループ７０１１、７０１２、７０１３を区別しない場合にはネットワークグループ７０１と記載する。
【００７４】
すなわち、本発明では、複数の物理ネットワーク１０１から構成される仮想ネットワークシステムが、抽象ノード７０２とネットワークグループ７０１とから構成される一つの抽象化ネットワークが構成される。
【００７５】
本発明は、図６に示すような物理ネットワーク１０１における情報と、仮想ネットワーク３０１における情報との間に、抽象化層情報を備えることを特徴とする。抽象化層情報を用いることによって、物理ネットワーク１０１と仮想ネットワーク３０１との間のマッピングを容易に管理することが可能となる。
【００７６】
図５の説明に戻る。
【００７７】
ユーザ要求情報４０５は、オペレータから受け付けたユーザ要求に含まれる構成情報を格納する。ユーザ要求情報４０５の詳細については、図８を用いて後述する。
【００７８】
仮想ネットワーク定義情報４０６は、ユーザ要求情報４０５に格納される情報が変換された抽象化層の情報を格納する。仮想ネットワーク定義情報４０６の詳細については、図９を用いて後述する。
【００７９】
仮想ネットワーク割当情報４０７は、仮想ネットワーク３０１とユーザとの対応関係を格納する。仮想ネットワーク割当情報４０７の詳細については、図１０を用いて後述する。
【００８０】
マッピング情報４０８は、抽象化ネットワークへの仮想ネットワーク３０１のマッピング結果を格納する。マッピング情報４０８の詳細については、図１１を用いて後述する。
【００８１】
抽象化層情報４０９は、抽象化ネットワークの構成情報を格納する。抽象化層情報４０９の詳細については図１２を用いて後述する。
【００８２】
本実施形態では、後述する処理によって、予め、複数の物理ネットワーク１０１から構成される仮想ネットワークシステムが、一つのネットワーク、すなわち、抽象化ネットワークとして管理される。
【００８３】
以下、仮想ネットワーク管理サーバ１０５が保持する情報について説明する。
【００８４】
図８は、本発明の第１の実施形態のユーザ要求情報４０５の一例を示す説明図である。図８に示す例では、図６に示す仮想ネットワーク３０１２を生成するための構成情報が格納される。
【００８５】
本実施形態では、ユーザ要求情報４０５は表形式Ｔ９０１のデータとして表される。
【００８６】
ユーザ要求情報４０５は、ユーザ名（Ｋ９０２）、トランスポート機能（Ｋ９０３）、ユーザ拠点（Ｋ９０４）及び中継拠点（Ｋ９０５）を含む。
【００８７】
ユーザ名（Ｋ９０２）は、仮想ネットワーク３０１が割当てられるユーザを識別するための情報を格納する。
【００８８】
トランスポート機能（Ｋ９０３）は、仮想ネットワーク３０１に用いられるプロトコルの種類を識別するための情報を格納する。
【００８９】
ユーザ拠点（Ｋ９０４）は、ユーザ拠点１０３を識別するための情報を格納する。本実施形態では、都市名が格納される。
【００９０】
中継拠点（Ｋ９０５）は、中継拠点を識別するための情報を格納する。本実施形態では都市名が格納される。
【００９１】
図８に示すようにユーザ要求情報４０５には、ユーザが要求する仮想ネットワーク３０１を構成するために必要な情報が格納される。
【００９２】
図９は、本発明の第１の実施形態の仮想ネットワーク定義情報４０６の一例を示す説明図である。
【００９３】
本実施形態では、仮想ネットワーク定義情報４０６は表形式Ｔ１００１のデータとして表される。
【００９４】
仮想ネットワーク定義情報４０６は、仮想ネットワークＩＤ（Ｋ１００２）、トランスポート機能（Ｋ１００３）、ユーザ拠点ＬＩＤ（Ｋ１００４）、及び中継拠点ＬＩＤ（Ｋ１００５）を含む。
【００９５】
仮想ネットワークＩＤ（Ｋ１００２）は、仮想ネットワーク３０１を識別するための識別子を格納する。
【００９６】
トランスポート機能（Ｋ１００３）は、仮想ネットワーク３０１に用いられるプロトコルの種類を識別するための情報を格納する。トランスポート機能（Ｋ１００３）は、トランスポート機能（Ｋ９０３）と同一のものである。
【００９７】
ユーザ拠点ＬＩＤ（Ｋ１００４）は、ユーザ拠点の場所を抽象層の情報として表した識別子であるＬＩＤ（Ｌｏｃａｔｉｏｎ  ＩＤ）を格納する。
【００９８】
中継拠点ＬＩＤ（Ｋ１００５）は、中継拠点の場所を抽象層の情報として表した識別子であるＬＩＤを格納する。
【００９９】
図９に示すように、仮想ネットワーク定義情報４０６は、物理ネットワーク１０１における情報を、抽象化ネットワークの情報に変換した情報を格納する。
【０１００】
図１０は、本発明の第１の実施形態の仮想ネットワーク割当情報４０７の一例を示す説明図である。
【０１０１】
本実施形態では、仮想ネットワーク割当情報４０７は、表形式Ｔ１１０１のデータとして表される。
【０１０２】
仮想ネットワーク割当情報４０７は、仮想ネットワークＩＤ（Ｋ１１０２）及びユーザ名（Ｋ１１０３）を含む。
【０１０３】
仮想ネットワークＩＤ（Ｋ１１０２）は、仮想ネットワーク３０１を識別するための識別子を格納する。仮想ネットワークＩＤ（Ｋ１１０２）は、仮想ネットワークＩＤ（Ｋ１００２）と同一のものである。
【０１０４】
ユーザ名（Ｋ１１０３）は、仮想ネットワーク３０１が割り当てられるユーザを識別するための情報を格納する。ユーザ名（Ｋ１１０３）は、ユーザ名（Ｋ９０２）と同一のものである。
【０１０５】
図１１は、本発明の第１の実施形態のマッピング情報４０８の一例を示す説明図である。図１１では、ユーザＢに割り当てられる仮想ネットワーク３０１２に関する情報が格納されたマッピング情報４０８を示す。
【０１０６】
本実施形態では、マッピング情報４０８は、表形式Ｔ１２０１のデータとして表される。
【０１０７】
マッピング情報４０８は、仮想ネットワークＩＤ（Ｋ１２０２）、トランスポート機能（Ｋ１２０３）、及びマッピング情報（Ｋ１２０４）を含む。
【０１０８】
仮想ネットワークＩＤ（Ｋ１２０２）は、仮想ネットワーク３０１を識別するための識別子を格納する。仮想ネットワークＩＤ（Ｋ１２０２）は、仮想ネットワークＩＤ（Ｋ１００２）と同一のものである。
【０１０９】
トランスポート機能（Ｋ１２０３）は、仮想ネットワーク３０１に用いられるプロトコルの種類を識別するための情報を格納する。トランスポート機能（Ｋ１２０３）は、トランスポート機能（Ｋ９０３）と同一のものである。
【０１１０】
マッピング情報（Ｋ１２０４）は、仮想ネットワーク３０１に割当てられる抽象ノード７０２とユーザ拠点又は中継拠点との対応関係を表す情報を格納する。具体的には、マッピング情報（Ｋ１２０４）は、拠点ＬＩＤ（Ｋ１２０５）及び抽象ノードＩＤ（Ｋ１２０６）を含む。
【０１１１】
拠点ＬＩＤ（Ｋ１２０５）は、ユーザ拠点の場所又は中継拠点の場所を抽象化層の情報として表したＬＩＤを格納する。抽象ノードＩＤ（Ｋ１２０６）は、拠点ＬＩＤ（Ｋ１２０５）がマッピングされた抽象ノード７０２を識別するための識別子を格納する。
【０１１２】
図１１に示す例では、トランスポート機能（Ｋ１２０３）には、ユーザＢに割当てられる仮想ネットワーク３０１２において用いられるプロトコルとして「Ｅｔｈｅｒｎｅｔ」が格納される。
【０１１３】
また、マッピング情報Ｋ１２０４の拠点ＬＩＤ（Ｋ１２０５）には図８の都市１のユーザ拠点１０３２１を表す「１」が格納され、対応するマッピング情報（Ｋ１２０４）の抽象ノードＩＤ（Ｋ１２０６）には「１」が格納される。
【０１１４】
マッピング情報（Ｋ１２０４）の拠点ＬＩＤ（Ｋ１２０５）には図８の都市２のユーザ拠点１０３２２を表す「１０２」が格納され、対応するマッピング情報Ｋ１２０４の抽象ノードＩＤ（Ｋ１２０６）には「３」が格納される。
【０１１５】
マッピング情報Ｋ１２０４の拠点ＬＩＤ（Ｋ１２０５）には図８の都市３のユーザ拠点１０３２３を表す「１０４」が格納され、対応するマッピング情報（Ｋ１２０４）の抽象ノードＩＤ（Ｋ１２０６）には「１１」が格納される。マッピング情報（Ｋ１２０４）の拠点ＬＩＤ（Ｋ１２０５）には、図８の都市３の中継拠点８０２を表す「１０３」が格納され、対応するマッピング情報（Ｋ１２０４）の抽象ノードＩＤ（Ｋ１２０６）には「４」及び「１０」が格納される。
【０１１６】
図１１に示すように、マッピング情報４０８には、抽象化ネットワークの情報と、仮想ネットワークの情報とが対応づけられて格納される。
【０１１７】
図１２は、本発明の第１の実施形態の抽象化層情報４０９の一例を示す説明図である。
【０１１８】
本実施形態では、抽象化層情報４０９は、表形式Ｔ１３０１として表される。
【０１１９】
抽象化層情報４０９は、抽象ノードＩＤ（Ｋ１３０２）、トランスポート機能（Ｋ１３０３）、ＬＩＤ（Ｋ１３０４）、ネットワークグループ（Ｋ１３０５）、及び物理ネットワーク接続（Ｋ１３０６）を含む。
【０１２０】
抽象ノードＩＤ（Ｋ１３０２）は、抽象ノード７０２を識別するための識別子を格納する。
【０１２１】
トランスポート機能（Ｋ１３０３）は、抽象ノードＩＤ（Ｋ１３０２）に対応する抽象ノード７０２が扱うことができるプロトコルの種類を格納する。
【０１２２】
ＬＩＤ（Ｋ１３０４）は、抽象化ネットワークにおいて、抽象ノードＩＤ（Ｋ１３０２）に対応する抽象ノード７０２が配置される場所を示す識別情報を格納する。
【０１２３】
ネットワークグループ（Ｋ１３０５）は、抽象ノードＩＤ（Ｋ１３０２）に対応する抽象ノード７０２が属するネットワークグループ７０１を識別するための識別子を格納する。
【０１２４】
物理ネットワーク接続（Ｋ１３０６）は、抽象ノードＩＤ（Ｋ１３０２）に対応する抽象ノード７０２と接続される隣接物理ネットワーク１０１を識別するための識別子を格納する。
【０１２５】
本発明は、図１２に示すように、仮想ネットワークシステムを構成する各物理ネットワーク１０１に含まれるエッジルータ１０２を、抽象化ネットワークにおいて共通の抽象ノード７０２として一元管理することに特徴がある。
【０１２６】
なお、抽象化ネットワークを構成する場合には、少なくとも、トランスポート機能（Ｋ１３０３）、又は、ＬＩＤ（Ｋ１３０４）のいずれかの情報があればよい。
【０１２７】
次に、物理ネットワーク管理サーバ１０４のソフトウェア構成について説明する。
【０１２８】
図１３は、本発明の第１の実施形態の物理ネットワーク管理サーバ１０４のソフトウェア構成を説明するブロック図である。
【０１２９】
物理ネットワーク管理サーバ１０４は、機能ブロックとして、仮想ネットワーク管理インタフェース５０１及び物理ネットワーク管理部５０２を備える。
【０１３０】
また、物理ネットワーク管理サーバ１０４は、物理ネットワーク１０１の管理情報として、抽象化層情報５０３及び物理ネットワーク構成情報５０４を保持する。
【０１３１】
仮想ネットワーク管理インタフェース５０１は、仮想ネットワーク管理サーバ１０５と通信するためのインタフェースである。仮想ネットワーク管理インタフェース５０１によって、仮想ネットワーク管理サーバ１０５へ物理ネットワーク１０１の構成情報を送信し、また、仮想ネットワーク管理サーバ１０５から仮想ネットワーク３０１の生成、削除又は変更するための制御情報又は抽象化ネットワークに関する情報を受信する。
【０１３２】
物理ネットワーク管理部５０２は、物理ネットワーク管理サーバ１０４が接続される物理ネットワーク１０１、すなわち、管理対象の物理ネットワーク１０１上に仮想ネットワーク３０１を構成するための管理を行う。
【０１３３】
また、物理ネットワーク管理部５０２は、仮想ネットワーク３０１を構成するために、物理ネットワーク１０１内のエッジルータ１０２及びコアルータ２０１の構成情報の取得し、また、エッジルータ１０２及びコアルータ２０１に仮想ネットワーク３０１を構成するための情報を設定する。
【０１３４】
なお、仮想ネットワーク３０１を管理するための情報は物理ネットワーク構成情報５０４に格納される。
【０１３５】
抽象化層情報５０３は、抽象化ネットワークの構成情報を格納する。抽象化層情報５０３の詳細については、図１４Ａを用いて後述する。
【０１３６】
物理ネットワーク構成情報５０４は、物理ネットワーク管理サーバ１０４が管理する物理ネットワーク１０１のエッジルータ１０２及びコアルータ２０１の構成情報を格納する。物理ネットワーク構成情報５０４の詳細については、図１４Ｂを用いて後述する。
【０１３７】
物理ネットワーク管理部５０２及び物理ネットワーク構成情報５０４は、物理ネットワーク１０１を管理するための構成であり、物理ネットワーク１０１毎に管理方法が異なる。
【０１３８】
一方、仮想ネットワーク管理インタフェース５０１及び抽象化層情報５０３は、仮想ネットワーク管理サーバ１０５が複数の物理ネットワーク１０１にまたがって仮想ネットワーク３０１を生成するための構成であり、本発明の特徴の一つである。
【０１３９】
図１４Ａは、本発明の第１の実施形態の抽象化層情報５０３の一例を示す説明図である。図１４Ａは、物理ネットワーク１（１０１１）を管理する物理ネットワーク管理サーバ１０４１が保持する抽象化層情報５０３を示す。
【０１４０】
本実施形態では、抽象化層情報５０３は、表形式Ｔ１５０１のデータとして表される。
【０１４１】
抽象化層情報５０３は、物理ノードＩＤ（Ｋ１５０２）、抽象ノードＩＤ（Ｋ１５０３）、トランスポート機能（Ｋ１５０４）、ＬＩＤ（Ｋ１５０５）、及びネットワークグループ（Ｋ１５０６）を含む。
【０１４２】
物理ノードＩＤ（Ｋ１５０２）は、物理ネットワーク１（１０１１）内のエッジルータ１０２等の物理ノードを識別するための識別子を格納する。
【０１４３】
抽象ノードＩＤ（Ｋ１５０３）は、物理ノードＩＤ（Ｋ１５０２）に対応する物理ノードを抽象化層の抽象ノード７０２として識別するための識別子を格納する。
【０１４４】
トランスポート機能Ｋ１５０４は、物理ノードＩＤ（Ｋ１５０２）に対応する物理ノードが扱うことができるプロトコル種類を格納する。
【０１４５】
ＬＩＤ（Ｋ１５０５）は、抽象化ネットワークにおいて、物理ノードＩＤ（Ｋ１５０２）に対応する物理ノードが配置され場所を表す識別子を格納する。
【０１４６】
ネットワークグループ（Ｋ１５０６）は、抽象化ネットワークにおいて、物理ノードＩＤ（Ｋ１５０２）に対応する物理ノードが属するネットワークグループ７０１を識別するための識別子を格納する。
【０１４７】
図１４Ｂは、本発明の第１の実施形態の物理ネットワーク構成情報５０４の一例を示す説明図である。
【０１４８】
物理ネットワーク構成情報５０４は、ノードＩＤ（Ｋ１５１２）、種類（Ｋ１５１３）、配置場所（Ｋ１５１４）、隣接ノード（Ｋ１５１５）、トランスポート機能（Ｋ１５１６）、ＬＩＤ（Ｋ１５１７）、物理ネットワークアドレス（Ｋ１５１８）を含む。
【０１４９】
ノードＩＤ（Ｋ１５１２）は、物理ネットワーク１（１０１１）内のエッジルータ１０２等の物理ノードを識別するための識別子を格納する。
【０１５０】
種類（Ｋ１５１３）は、ノードＩＤ（Ｋ１５１２）に対応する物理ノードの種別を格納する。
【０１５１】
配置場所（Ｋ１５１４）は、物理ネットワーク１０１において、ノードＩＤ（Ｋ１５１２）に対応する物理ノードが配置されている場所を表す情報を格納する。
【０１５２】
隣接ノード（Ｋ１５１５）は、ノードＩＤ（Ｋ１５１２）に対応する物理ノードと隣接する他の物理ノードの識別子を格納する。
【０１５３】
トランスポート機能（Ｋ１５１６）は、ノードＩＤ（Ｋ１５１２）に対応する物理ノードが扱うことができるプロトコル種類を格納する。
【０１５４】
ＬＩＤ（Ｋ１５１７）は、物理ネットワーク１０１における、ノードＩＤ（Ｋ１５１２）に対応する物理ノードの配置場所を表す識別情報である。ＬＩＤ（Ｋ１５１７）は、例えば、物理ネットワーク１０１の構成時に決定される識別情報である。
【０１５５】
物理ネットワークアドレス（Ｋ１５１８）は、物理ネットワーク１０１における、ノードＩＤ（Ｋ１５１２）に対応する物理ノードのアドレス情報である。
【０１５６】
次に、エッジルータ１０２のソフトウェア構成について説明する。
【０１５７】
図１５は、本発明の第１の実施形態によるエッジルータ１０２のソフトウェア構成を説明するブロック図である。
【０１５８】
エッジルータ１０２は、機能ブロックとして、抽象化層処理部６０１及び物理ネットワークエッジ機能部６０２を備える。
【０１５９】
また、エッジルータ１０２は、管理情報として、抽象化層情報６０３及びエッジルータ構成情報６０４を保持する。
【０１６０】
抽象化層処理部６０１は、抽象化層情報６０３に基づいて、抽象化ネットワークを管理する。なお、仮想ネットワーク管理サーバ１０５からの要求によって、抽象化層処理部６０１が有効化される。
【０１６１】
物理ネットワークエッジ機能部６０２は、物理ネットワーク１０１に外部から流入する通信パケットを当該物理ネットワーク１０１内で正しくルーティングするためのルーティングの解決機能と、物理ネットワーク１０１内で通信パケットをカプセル化するカプセル化機能とを備える。
【０１６２】
ここで、カプセル化機能とは、流入通信パケットをカプセル化し、また、流出通信パケットのカプセル化を解除する機能である。
【０１６３】
抽象化層情報６０３は、抽象化ネットワークにおけるエッジルータ１０２の情報を格納する。抽象化層情報６０３の詳細については、図１６を用いて後述する。
【０１６４】
エッジルータ構成情報６０４は、物理ネットワークエッジ機能部６０２が備えるルーティングの解決機能及びカプセル化機能を実現するために必要となる物理ネットワーク１０１の構成情報を格納する。
【０１６５】
物理ネットワークエッジ機能部６０２及びエッジルータ構成情報６０４は、物理ネットワーク１０１を構成するエッジルータ１０２として機能するための構成であり、物理ネットワーク１０１毎に提供する機能が異なる。
【０１６６】
一方、抽象化層処理部６０１及び抽象化層情報６０３は、仮想ネットワーク管理サーバ１０５が複数の物理ネットワーク１０１にまたがって仮想ネットワーク３０１を生成するための構成であり、本発明の特徴の一つである。
【０１６７】
図１６は、本発明の第１の実施形態の抽象化層情報６０３の一例を示す説明図である。図１６は、物理ネットワーク１（１０１１）を構成するエッジルータ１０２が保持する抽象化層情報６０３を示す。
【０１６８】
本実施形態では、抽象化層情報６０３は、表形式Ｔ１４０１のデータとして表される。
【０１６９】
抽象化層情報６０３は、抽象ノードＩＤ（Ｋ１４０２）、トランスポート機能（Ｋ１４０３）、ＬＩＤ（Ｋ１４０４）、ネットワークグループ（Ｋ１４０５）、及び物理ネットワーク接続（Ｋ１４０６）を含む。
【０１７０】
抽象ノードＩＤ（Ｋ１４０２）は、抽象化ネットワークにおける当該エッジルータ１０２を抽象ノード７０２として識別するための識別子を格納する。
【０１７１】
トランスポート機能（Ｋ１４０３）は、エッジルータ１０２が扱うことができるプロトコル種類を格納する。
【０１７２】
ＬＩＤ（Ｋ１４０４）は、抽象化ネットワークにおいて、エッジルータ１０２が配置される場所を表す識別子を格納する。
【０１７３】
ネットワークグループ（Ｋ１４０５）は、抽象化ネットワークにおいて、エッジルータ１０２が属するネットワークグループ７０１を識別するための識別子を格納する。
【０１７４】
物理ネットワーク接続（Ｋ１４０６）は、エッジルータ１０２が接続する隣接物理ネットワーク１０１をネットワークグループ７０１として識別するための識別子を格納する。
【０１７５】
次に、仮想ネットワークシステムにおける仮想ネットワーク３０１の管理方法について説明する。
【０１７６】
まず、本実施形態における仮想ネットワークシステムの初期化処理について説明する。
【０１７７】
図１７Ａ及び図１７Ｂは、本発明の第１の実施形態における仮想ネットワークシステムの初期化処理の一例を説明するフローチャートである。
【０１７８】
図１７Ａ及び図１７Ｂでは、簡単のため物理ネットワーク１（１０１１）及び物理ネットワーク２（１０１２）について記載する。
【０１７９】
仮想ネットワーク管理サーバ１０５は、オペレータからシステム初期化要求が入力された場合に、仮想ネットワークシステムの初期化処理を開始する。
【０１８０】
まず、仮想ネットワーク管理サーバ１０５は、物理ネットワーク管理サーバ１０４１及び物理ネットワーク管理サーバ１０４２のそれぞれに、物理ネットワーク１（１０１１）及び物理ネットワーク２（１０１２）の構成情報の取得要求を送信する（ステップ１６０１）。
【０１８１】
仮想ネットワーク管理サーバ１０５からの取得要求を受信した物理ネットワーク管理サーバ１０４１及び物理ネットワーク管理サーバ１０４２は、仮想ネットワーク管理サーバ１０５に、それぞれの物理ネットワーク１（１０１１）及び物理ネットワーク２（１０１２）の構成情報を送信する（ステップ１６０２）。具体的には、物理ネットワーク１０１内のエッジルータ１０２に関する情報が送信される。物理ネットワーク１０１内のエッジルータ１０２に関する情報は、例えば、物理ネットワーク構成情報５０４、及び、エッジルータ構成情報６０４が考えられる。
【０１８２】
ここで、仮想ネットワーク管理サーバ１０５に送信される情報には、少なくとも、各物理ネットワーク１０１内のエッジルータ１０２の配置場所を示す識別情報（例えば、拠点名）及びエッジルータ１０２が対応可能なトランスポート機能の情報が含まれる。
【０１８３】
仮想ネットワーク管理サーバ１０５は、物理ネットワーク管理サーバ１０４１及び物理ネットワーク管理サーバ１０４２から受信したエッジルータ１０２に関する情報に基づいて、抽象化層情報を決定する（ステップ１６０３）。すなわち、抽象化ネットワークの情報が生成される。
【０１８４】
具体的には、仮想ネットワーク管理サーバ１０５は、抽象化ネットワークにおいて、エッジルータ１０２を識別するための抽象ノード７０２の識別子、すなわち、抽象ノードＩＤ（Ｋ１３０２）を決定する。抽象ノードＩＤ（Ｋ１３０２）の決定方法は、例えば、仮想ネットワーク管理サーバ１０５から近いエッジルータ１０２から順に識別子を割り当てる方法が考えられる。ただし、抽象ノードＩＤ（Ｋ１３０２）の決定方法はどのような方法を用いてもよい。
【０１８５】
また、仮想ネットワーク管理サーバ１０５は、物理ネットワーク管理サーバ１０４から受信したエッジルータ１０２に関する情報に基づいて、当該エッジルータ１０２が提供可能なトランスポート機能、すなわち、トランスポート機能（Ｋ１３０３）を決定する。
【０１８６】
また、仮想ネットワーク管理サーバ１０５は、物理ネットワーク管理サーバ１０４から受信したエッジルータ１０２に関する情報に基づいて、抽象化ネットワークにおける、エッジルータ１０２の配置場所を表す識別子、すなわち、ＬＩＤ（Ｋ１３０４）を決定する。
【０１８７】
さらに、仮想ネットワーク管理サーバ１０５は、抽象化ネットワークにおいて、エッジルータ１０２が属する物理ネットワーク１０１を識別するための識別子、すなわち、ネットワークグループ（Ｋ１３０５）を決定する。
【０１８８】
仮想ネットワーク管理サーバ１０５は、決定された抽象ノードＩＤ（Ｋ１３０２）、トランスポート機能（Ｋ１３０３）、ＬＩＤ（Ｋ１３０４）及びネットワークグループＫ１３０５を抽象化層情報４０９に格納する。
【０１８９】
なお、この時点では、物理ネットワーク接続（Ｋ１３０６）には情報が格納されていない。
【０１９０】
次に、仮想ネットワーク管理サーバ１０５は、決定された抽象化層情報を各物理ネットワーク１０１に設定する（ステップ１６０４）。
【０１９１】
具体的には、仮想ネットワーク管理サーバ１０５は、決定された抽象化層情報を物理ネットワーク管理サーバ１０４１及び物理ネットワーク管理サーバ１０４２のそれぞれに送信する。物理ネットワーク管理サーバ１０４１及び物理ネットワーク管理サーバ１０４２は、受信した抽象化層情報をそれぞれ抽象化層情報５０３に格納する。
【０１９２】
なお、物理ネットワーク管理サーバ１０４は、管理対象の物理ネットワーク１０１内のエッジルータ１０２の識別情報、すなわち、物理ノードＩＤ（Ｋ１５０２）は保持しているため、当該物理ノードＩＤ（Ｋ１５０２）と、受信した抽象化層情報とを対応づけて格納する。これによって、物理ネットワーク管理サーバ１０４は、図１４Ａに示すような抽象化層情報５０３を保持できる。
【０１９３】
次に、仮想ネットワーク管理サーバ１０５は、エッジルータ１０２１、１０２２、１０２３、１０２４等の物理ネットワーク１（１０１１）及び物理ネットワーク２（１０１２）に含まれる全エッジルータ１０２に対して、抽象化層処理部６０１を有効化するための有効化要求を送信する（ステップ１６０５）。これによって、エッジルータ１０２が備える抽象化層処理部６０１が処理を開始する。
【０１９４】
仮想ネットワーク管理サーバ１０５は、物理ネットワーク１（１０１１）及び物理ネットワーク２（１０１２）に含まれる全エッジルータ１０２に、ステップ１６０３において決定された抽象化層情報を設定する（ステップ１６０６）。具体的には、仮想ネットワーク管理サーバ１０５は、各エッジルータ１０２に決定された抽象化層情報を送信する。
【０１９５】
仮想ネットワーク管理サーバ１０５から抽象化層情報を受信した各エッジルータ１０２は、必要な情報を抽象化層情報６０３に格納する。具体的には、抽象ノードＩＤ（Ｋ１４０２）、ＬＩＤ（Ｋ１４０４）、及びネットワークグループ（Ｋ１４０５）に情報が格納される。なお、トランスポート機能（Ｋ１４０３）は、エッジルータ１０２が予め保持する。また、この時点では、物理ネットワーク接続（Ｋ１４０６）には情報が格納されていない。
【０１９６】
抽象化層処理部６０１が有効化されたエッジルータ１０２は、隣接する物理ネットワーク１０１のエッジルータ１０２（隣接エッジルータ１０２）と接続されているか否かを判定するためにディスカバリ処理を実行する（ステップ１６０７、ステップ１６１１）。
【０１９７】
具体的には、エッジルータ１０２はディスカバリ信号を送信し、当該信号の応答があった場合には、隣接エッジルータ１０２が接続されると判定する。
【０１９８】
隣接エッジルータ１０２が接続されていないと判定された場合、エッジルータ１０２は、ディスカバリ処理を終了する。一方、隣接エッジルータ１０２接続されていると判定された場合、エッジルータ１０２間で通信する。
【０１９９】
図１７Ｂでは、エッジルータ１０２１からのディスカバリ信号を受信したエッジルータ１０２３は、エッジルータ１０２１に応答信号を送信する(ステップ１６０８)。
【０２００】
また、エッジルータ１０２１及びエッジルータ１０２３は、自身が保持する抽象化層情報６０３を互いに送信する（ステップ１６０９、ステップ１６１０）。
【０２０１】
これによって、隣接するネットワークグループ７０１を把握することができる。すなわち、エッジルータ１０２は、受信した抽象化層情報６０３のネットワークグループ（Ｋ１４０５）の識別情報を自身が保持する抽象化層情報６０３の物理ネットワーク接続（Ｋ１４０５）に格納する。
【０２０２】
仮想ネットワーク管理サーバ１０５は、例えば、ポーリングなどによってディスカバリ処理の状況を確認し、全エッジルータ１０２に対して抽象化層情報６０３の取得要求を送信する（ステップ１６１２）。
【０２０３】
抽象化層情報６０３の取得要求を受信した各エッジルータ１０２は、それぞれ、仮想ネットワーク管理サーバ１０５に抽象化層情報６０３を送信する（ステップ１６１３）。具体的には、抽象化層情報６０３の物理ネットワーク接続（Ｋ１４０５）に関する情報が送信される。
【０２０４】
これによって、抽象化層情報４０９の物理ネットワーク接続（Ｋ１３０６）に情報が格納される。
【０２０５】
仮想ネットワーク管理サーバ１０５は、仮想ネットワーク３０１を提供する機能を有効化し、仮想ネットワークシステムの初期処理が終了する（ステップ１６１４）。
【０２０６】
以上の処理によって、仮想ネットワーク管理サーバ１０５の抽象化層情報４０９、物理ネットワーク管理サーバ１０４の抽象化層情報５０３、及びエッジルータ１０２の抽象化層情報６０３が設定される。すなわち、抽象化ネットワークの情報が生成される。
【０２０７】
本実施形態では、抽象化ネットワークの情報を用いて仮想ネットワーク３０１と物理ネットワーク１０１とのマッピングが実行される。
【０２０８】
図１７Ａ及び図１７Ｂに示す処理によって、抽象化層情報４０９、抽象化層情報５０９及び抽象化層情報６０３が設定される。
【０２０９】
次に、本実施形態において仮想ネットワークシステム上に新たに仮想ネットワーク３０１を生成する時に実行される処理について説明する。
【０２１０】
図１８は、本発明の第１の実施形態における仮想ネットワーク３０１の生成処理の一例を説明するフローチャートである。
【０２１１】
仮想ネットワーク管理サーバ１０５は、仮想ネットワークシステムのオペレータから仮想ネットワーク生成要求が入力された場合に処理を開始する（ステップ１７０１）。
【０２１２】
まず、仮想ネットワーク管理サーバ１０５は、入力された仮想ネットワーク生成要求に基づいてユーザ要求情報４０５を更新する（ステップ１７０２）。具体的には、入力された仮想ネットワーク生成要求に含まれる情報がユーザ要求情報４０５に格納される。
【０２１３】
仮想ネットワーク管理サーバ１０５は、さらに、ユーザ要求情報４０５に格納される情報に基づいて、仮想ネットワーク定義情報４０６を更新する（ステップ１７０３）。
【０２１４】
例えば、仮想ネットワーク管理サーバ１０５は、各物理ネットワーク管理サーバ１０４から物理ネットワーク構成情報５０４を取得し、取得された物理ネットワーク構成情報５０４とユーザ要求情報４０５とに基づいて、ユーザ要求情報４０５に格納される情報を仮想ネットワークを設定するための情報に変換し、当該情報を仮想ネットワーク定義情報４０６に格納する。なお、仮想ネットワーク管理サーバ１０５は、エッジルータ構成情報６０４も合わせて取得してもよい。
【０２１５】
例えば、仮想ネットワーク管理サーバ１０５は、ユーザ要求情報４０５のユーザ拠点（Ｋ９０４）に対応する拠点名のエントリを、取得された物理ネットワーク構成情報５０３から検索する。そして、仮想ネットワーク管理サーバ１０５は、ユーザ要求情報４０５のトランスポート機能（Ｋ９０３）をトランスポート機能（Ｋ１５１６）に変換し、また、ユーザ拠点（Ｋ９０４）をそれぞれ対応するＬＩＤ（Ｋ１５１７）に変換する。
【０２１６】
仮想ネットワーク管理サーバ１０５は、仮想ネットワーク定義情報４０６及び抽象化層情報４０９を参照して、要求された仮想ネットワーク３０１を生成するためのネットワークグループ７０１を選択する（ステップ１７０４）。すなわち、仮想ネットワーク管理サーバ１０５は、トランスポート機能（Ｋ１００３）と一致するトランスポート機能が提供できるネットワークグループ７０１を選択する。
【０２１７】
具体的には、仮想ネットワーク管理サーバ１０５は、トランスポート機能（Ｋ１３０３）を参照して、トランスポート機能（Ｋ１００３）と一致するトランスポート機能を含むエントリのネットワークグループ（Ｋ１３０５）を、仮想ネットワーク３０１を生成するためのネットワークグループ７０１として選択する。
【０２１８】
仮想ネットワーク管理サーバ１０５は、抽象化層情報４０９を参照して、要求された仮想ネットワーク３０１のユーザ拠点ＬＩＤ（Ｋ１００４）及び中継拠点ＬＩＤ（Ｋ１００５）と一致するＬＩＤを有する抽象ノード７０２を選択する（ステップ１７０５）。
【０２１９】
具体的には、仮想ネットワーク管理サーバ１０５は、ＬＩＤ（Ｋ１３０４）を参照して、選択されたネットワークグループ７０１に含まれる抽象化ノード７０２のうち、仮想ネットワーク３０１を生成するための抽象ノード７０２を選択する。
【０２２０】
次に、仮想ネットワーク管理サーバ１０５は、ステップ１７０３及びステップ１０５において選択されたネットワークグループ７０１及び抽象ノード７０２に基づいて、要求された仮想ネットワーク３０１を抽象化層情報４０９にマッピングできるか否かを判定する（ステップ１７０６）。
【０２２１】
マッピングができないと判定された場合、仮想ネットワーク管理サーバ１０５は、オペレータに要求された仮想ネットワーク３０１の生成に失敗した旨を通知し（ステップ１７１１）、処理を終了する。
【０２２２】
マッピングできたと判定された場合、仮想ネットワーク管理サーバ１０５は、マッピング結果に基づいて、マッピング情報４０８を更新する（ステップ１７０７）。具体的には、仮想ネットワーク管理サーバ１０５は、マッピング情報４０８にマッピング結果を格納する。
【０２２３】
仮想ネットワーク管理サーバ１０５は、要求された仮想ネットワーク３０１がマッピングされた抽象ノード７０２に対して仮想ネットワーク３０１の設定情報を送信する（ステップ１７０８）。
【０２２４】
なお、仮想ネットワーク３０１の設定情情報には、少なくとも、仮想ネットワークＩＤ、トランスポート機能、及びマッピング情報が含まれる。
【０２２５】
仮想ネットワーク管理サーバ１０５は、要求された仮想ネットワークがマッピングされたネットワークグループ７０１の物理ネットワーク管理サーバ１０４に仮想ネットワーク３０１の設定情報を送信する（ステップ１７０９）。
【０２２６】
以上の処理によって、仮想ネットワークシステム上に複数の物理ネットワーク１０１をまたがった仮想ネットワーク３０１が生成される。
【０２２７】
仮想ネットワーク管理サーバ１０５は、オペレータに仮想ネットワークの生成が完了した旨を通知し（ステップ１７１０）、処理を終了する。
【０２２８】
なお、ステップ１７０６において、要求された仮想ネットワーク３０１を抽象化層情報４０９にマッピングする候補が複数ある場合、その中のいずれか一つが選択される。複数の候補を選択する方法としては、オペレータが直接選択する方法、又は、仮想ネットワーク管理サーバ１０５が、ネットワークコスト又はネットワークの混雑度等の情報に基づいて自動的に選択する方法等が考えられるが、本実施形態ではいずれの方法を用いてもよい。
【０２２９】
次に、本実施形態において運用中の仮想ネットワークシステム上に新たにエッジルータ１８０２が追加された時に実行される仮想ネットワークシステムの変更処理について説明する。
【０２３０】
図１９Ａ及び図１９Ｂは、本発明の第１の実施形態における仮想ネットワークシステムにエッジルータ１０２が追加された場合に実行される仮想ネットワークシステムの変更処理の一例を説明するフローチャートである。
【０２３１】
図１９Ａ及び図１９Ｂでは、簡単のため物理ネットワーク１（１０１１）及び物理ネットワーク２（１０１２）について記載する。
【０２３２】
以下、物理ネットワーク１（１０１１）にエッジルータ１８０１が追加された場合について説明する。
【０２３３】
物理ネットワーク管理サーバ１０４１は、物理ネットワーク１（１０１１）にエッジルータ１８０１が新たに追加された場合に、エッジルータ１８０１に対して当該エッジルータ１８０１の情報を取得するための取得要求を送信する（ステップ１８０１）。
【０２３４】
取得要求を受信したエッジルータ１８０１は、エッジルータ構成情報６０４を物理ネットワーク管理サーバ１０４１に送信する（ステップ１８０２）。
【０２３５】
物理ネットワーク管理サーバ１０４１は、仮想ネットワーク管理サーバ１０５に取得されたエッジルータ構成情報６０４を送信する（ステップ１８０３）。
【０２３６】
仮想ネットワーク管理サーバ１０５は、受信したエッジルータ構成情報６０４に基づいて、抽象化層情報を決定する（ステップ１８０４）。ステップ１８０４の処理は、ステップ１６０３と同一の方法を用いることができる。
【０２３７】
これによって、抽象ノードＩＤ（Ｋ１３０２）、トランスポート機能（Ｋ１３０３）、ＬＩＤ（Ｋ１３０４）及びネットワークグループ（Ｋ１３０５）が決定される。さらに、決定された抽象ノードＩＤ（Ｋ１３０２）、トランスポート機能（Ｋ１３０３）、ＬＩＤ（Ｋ１３０４）及びネットワークグループ（Ｋ１３０５）が抽象化層情報４０９に格納される。
【０２３８】
仮想ネットワーク管理サーバ１０５は、決定された抽象化層情報を物理ネットワーク管理サーバ１０４１に設定する（ステップ１８０５）。
【０２３９】
具体的には、仮想ネットワーク管理サーバ１０５は、決定された抽象化層情報を物理ネットワーク管理サーバ１０４１に送信する。物理ネットワーク管理サーバ１０４１は、受信した抽象化層情報を抽象化層情報５０３に格納する。
【０２４０】
仮想ネットワーク管理サーバ１０５は、エッジルータ１８０１に対して、抽象化層処理部６０１を有効化するための有効化要求を送信する（ステップ１８０６）。これによって、エッジルータ１０２が備える抽象化層処理部６０１が処理を開始する。
【０２４１】
仮想ネットワーク管理サーバ１０５は、エッジルータ１８０１に、抽象化層情報４０９に格納される抽象化層情報を設定する（ステップ１８０７）。
【０２４２】
具体的には、仮想ネットワーク管理サーバ１０５は、エッジルータ１８０１に、抽象化層情報４０９に格納される抽象化層情報を送信する。仮想ネットワーク管理サーバ１０５から抽象化層情報を受信したエッジルータ１８０１は、必要な情報を抽象化層情報６０３に格納する。
【０２４３】
なお、ステップ１８０７における処理はステップ１６０６と同一の処理である。
【０２４４】
次に、エッジルータ１８０１は、隣接する物理ネットワーク１０１のエッジルータ１０２と接続されているか否かを判定するためにディスカバリ処理を実行する（ステップ１８０８）。ステップ１８０８の処理は、ステップ１６０９及びステップ１６１０と同一の処理である。
【０２４５】
隣接エッジルータ１０２が接続されていないと判定された場合、エッジルータ１８０１は、ディスカバリ処理を終了する。一方、隣接エッジルータ１０２が接続されていると判定された場合、エッジルータ１８０１とエッジルータ１０２４は互いに通信する。
【０２４６】
図１８Ｂでは、エッジルータ１８０１からのディスカバリ信号を受信したエッジルータ１０２４は、エッジルータ１８０１に応答信号を送信する(ステップ１８０９)。ステップ１８０９の処理は、ステップ１６０８と同一の処理である。
【０２４７】
エッジルータ１８０１及びエッジルータ１０２４は、自身が保持する抽象化層情報６０３を互いに送信する（ステップ１８１０、ステップ１８１１）。ステップ１８１０及びステップ１８１１の処理は、ステップ１６０９及びステップ１６１０と同一の処理である。
【０２４８】
仮想ネットワーク管理サーバ１０５は、例えば、ポーリングなどによってディスカバリ処理の状況を確認し、追加されたエッジルータ１８０１に対して抽象化層情報６０３の取得要求を送信する（ステップ１８１２）。ステップ１８１２の処理は、ステップ１６１２と同一の処理である。
【０２４９】
抽象化層情報６０３の取得要求を受信したエッジルータ１８０１は、仮想ネットワーク管理サーバ１０５に抽象化層情報６０３の物理ネットワーク接続（Ｋ１４０５）を送信する（ステップ１８１３）。ステップ１８１３の処理はステップ１６１３と同一の処理である。
【０２５０】
以上の処理によって、仮想ネットワークシステムへのエッジルータ１８０１の追加処理が完了する。
【０２５１】
仮想ネットワーク管理サーバ１０５は、追加されたエッジルータ１８０１を含む仮想ネットワークシステムにおける仮想ネットワーク３０１を提供する機能を有効化し、処理を終了する（ステップ１８１４）。ステップ１８１４はステップ１６１４と同一の処理である。
【０２５２】
次に、本実施形態の仮想ネットワークシステムからエッジルータ１０２又はコアルータ２０１等の物理ルータを削除する削除処理について説明する。
【０２５３】
図２０は、本発明の第１の実施形態における仮想ネットワークシステムから物理ルータが削除される場合に実行される削除処理の一例を説明するフローチャートである。
【０２５４】
物理ネットワーク管理サーバ１０４は、オペレータから物理ルータの削除要求を受け付けると処理を開始する（ステップ１９０１）。なお、オペレータは、仮想ネットワーク管理サーバ１０５を用いて、削除される物理ルータが属する物理ネットワーク１０１の物理ネットワーク管理サーバ１０４に削除要求を送信する。
【０２５５】
削除要求を受信した物理ネットワーク管理サーバ１０４は、削除対象である物理ルータを削除すると仮想ネットワーク３０１に影響があるか否かを判定する（ステップ１９０２）。
【０２５６】
例えば、仮想ネットワーク３０１を構成するエッジルータ１０２である場合には、当該エッジルータ１０２を削除すると仮想ネットワーク３０１に影響があると判定される。
【０２５７】
物理ルータを削除しても仮想ネットワーク３０１に影響がないと判定された場合、物理ネットワーク管理サーバ１０４は、物理ネットワーク１０１の構成を変更し（ステップ１９０３）、その後、削除対象の物理ルータを削除して処理を終了する（ステップ１９０８）。
【０２５８】
物理ルータを削除すると仮想ネットワーク３０１に影響があると判定された場合、物理ネットワーク管理サーバ１０４は、仮想ネットワーク管理サーバ１０５に仮想ネットワーク３０１のマッピングの変更を要求する（ステップ１９０４）。具体的には、物理ネットワーク管理サーバ１０４は、仮想ネットワーク管理サーバ１０５にマッピング変更要求を送信する。
【０２５９】
マッピング変更要求を受信した仮想ネットワーク管理サーバ１０５は、影響がある仮想ネットワーク３０１について抽象化層情報４０９へのマッピングを再度実行する。
【０２６０】
仮想ネットワーク管理サーバ１０５は、再度実行したマッピングの結果、ネットワークの切断又は性能低下等、仮想ネットワーク３０１に影響が発生するか否かを判定する（ステップ１９０５）。
【０２６１】
仮想ネットワーク３０１に影響が発生すると判定された場合、仮想ネットワーク管理サーバ１０５は、仮想ネットワーク３０１を利用するユーザに影響がある旨を通知し、当該仮想ネットワーク３０１への影響を許可するか否かを判定する（ステップ１９０６）。
【０２６２】
当該判定は、例えば、ユーザから仮想ネットワーク３０１への影響を許可する旨の通知を受信した場合に、仮想ネットワーク３０１への影響が許可されたと判定される。
【０２６３】
ステップ１９０５において仮想ネットワーク３０１に影響が発生しないと判定された場合、又は、ステップ１９０６において仮想ネットワーク３０１への影響が許可された場合、仮想ネットワーク管理サーバ１０５は、仮想ネットワーク３０１のマッピングを変更する（ステップ１９０７）。
【０２６４】
具体的には、仮想ネットワーク管理サーバ１０５は、ステップ１９０４におけるマッピング結果をマッピング情報４０８に反映させる。
【０２６５】
仮想ネットワーク管理サーバ１０５は、マッピングの変更が完了した旨を物理ネットワーク管理サーバ１０４に通知する。
【０２６６】
マッピングの変更が完了した旨の通知を受信した物理ネットワーク管理サーバ１０４は、物理ルータを削除し、処理を終了する（ステップ１９０８）。
【０２６７】
ステップ１９０６の判定において、仮想ネットワーク３０１への影響が許可されないと判定された場合、仮想ネットワーク管理サーバ１０５は、物理ルータの削除を中止させるため、物理ネットワーク管理サーバ１０４に削除中止命令を送信し、処理を終了する（ステップ１９０９）。
【０２６８】
次に、本実施形態の仮想ネットワークシステムにおける仮想ネットワーク３０１に新たにユーザ拠点１０３を追加する時に実行されるユーザ拠点の追加処理について説明する。
【０２６９】
図２１は、本発明の第１の実施形態の仮想ネットワークシステムにおける仮想ネットワーク３０１にユーザ拠点を追加する場合に実行されるユーザ拠点の追加処理の一例を説明するフローチャートである。
【０２７０】
仮想ネットワーク管理サーバ１０５は、オペレータから仮想ネットワーク３０１への新たなユーザ拠点１０３の追加要求を受け付けると処理を開始する（ステップ２００１）。
【０２７１】
以下、仮想ネットワーク管理サーバ１０５は、ユーザ拠点１０３が追加された仮想ネットワーク３０１を抽象化層情報４０９にマッピングし、マッピングができたか否かを判定する処理は、図１８のステップ１７０２〜ステップ１７０７と同一であるため、説明を省略する。以下、図１８との差異を中心に説明する。
【０２７２】
ステップ１７０６において、要求された仮想ネットワーク３０１を抽象化層情報４０９にマッピングできないと判定された場合、仮想ネットワーク管理サーバ１０５は、オペレータに対して仮想ネットワーク３０１の変更が失敗した旨を通知し、処理を終了する（ステップ２００７）。
【０２７３】
ステップ１７０７において、要求された仮想ネットワーク３０１を抽象化層情報４０９にマッピングできたと判定された場合、仮想ネットワーク管理サーバ１０５は、マッピングを変更した場合に、仮想ネットワーク３０１への影響があるか否かを判定する（ステップ２００２）。
【０２７４】
仮想ネットワーク３０１への影響があると判定された場合、仮想ネットワーク管理サーバ１０５は、仮想ネットワーク３０１を利用するユーザに仮想ネットワーク３０１への影響がある旨を通知し、当該仮想ネットワーク３０１への影響を許可するか否かを判定する（ステップ２００３）。
【０２７５】
仮想ネットワーク３０１への影響が許可されない場合、仮想ネットワーク管理サーバ１０５は、オペレータに対して仮想ネットワーク３０１の変更が失敗した旨を通知し、処理を終了する（ステップ２００７）。
【０２７６】
ステップ２００２において、仮想ネットワーク３０１への影響がないと判定された場合、又は、ステップ２００３において仮想ネットワーク３０１への影響が許可された場合、仮想ネットワーク管理サーバ１０５は、マッピング結果に基づいて、マッピング情報４０８を更新する（ステップ１７０７）。
【０２７７】
仮想ネットワーク管理サーバ１０５は、仮想ネットワーク３０１がマッピングされたエッジルータ１０２に仮想ネットワーク３０１の設定情報を送信する（ステップ２００４）。
【０２７８】
また、仮想ネットワーク管理サーバ１０５は、仮想ネットワークがマッピングされたネットワークグループ７０１を管理する物理ネットワーク管理サーバ１０４に仮想ネットワーク３０１の設定情報を送信する（ステップ２００５）。
【０２７９】
以上の処理によって、ユーザ拠点１０３が追加された仮想ネットワーク３０１を構成することができる。
【０２８０】
仮想ネットワーク管理サーバ１０５は、オペレータに対して仮想ネットワーク３０１の変更が完了した旨を通知し、処理を終了する（ステップ２００６）。
【０２８１】
なお、ステップ１７０６において、要求された仮想ネットワーク３０１を抽象化層情報４０９にマッピングする候補が複数ある場合、その中のいずれか一つが選択される。複数の候補を選択する方法としては、オペレータが直接選択する方法、又は、仮想ネットワーク管理サーバ１０５が、ネットワークコスト又はネットワークの混雑度等の情報に基づいて自動的に選択する方法が考えられるが、本実施形態ではいずれの方法を用いてもよい。
【０２８２】
次に、第１の実施形態の仮想ネットワークシステムにおけるエッジルータ１０２の構成について説明する。
【０２８３】
図２２は、本発明の第１の実施形態のエッジルータ１０２のソフトウェアの実装例を示すブロック図である。図２２は、物理ネットワーク１（１０１１）におけるエッジルータ１０２を示した図である。
【０２８４】
図２２に示すように、エッジルータ１０２は、ポート３９０５を経由して物理ネットワーク１（１０１１）と接続する。
【０２８５】
エッジルータ１０２のネットワークインタフェース３９０２は、物理ネットワーク１（１０１１）の物理ネットワークエッジ機能部６０２及びエッジルータ構成情報６０４を備える。また、エッジルータ１０２のパケット処理ボード３９０４は、抽象化層処理部６０１及び抽象化層情報６０３を備える。
【０２８６】
図２３は、本発明の第１の実施形態における、異なる物理ネットワーク１０１を接続する二つのエッジルータ１０２間の構成の一例を示すブロック図である。
【０２８７】
図２３に示すように、エッジルータ１０２１は物理ネットワーク１（１０１１）と接続されるエッジルータであり、エッジルータ１０２２は物理ネットワーク２（１０１２）と接続されるエッジルータである。それぞれのエッジルータ１０２１、１０２２は、通信ケーブル３９０６を介して互いに接続される。
【０２８８】
なお、エッジルータ１０２２のネットワークインタフェース３９０２は、物理ネットワーク２（１０２２）の物理ネットワークエッジ機能部６０２及びエッジルータ構成情報６０４を備える。
【０２８９】
図２４は、本発明の第１の実施形態における、物理ネットワーク１０１及びユーザ拠点１０３を接続するエッジルータ１０２の構成の一例を示すブロック図である。
【０２９０】
エッジルータ１０２が、物理ネットワーク１（１０１１）及びユーザＢのユーザ拠点１０３２と接続する場合、図２４に示すように、ネットワークインタフェース３９０２に、ユーザＢのユーザ拠点１０３２が接続される。
【０２９１】
従来は、仮想ネットワーク３０１を生成する場合には、各物理ネットワーク１０１の構成を確認して、マッピングをする必要があり、また、物理ネットワーク１０１毎に管理する情報又は管理方法が異なる形式である場合に、それぞれの情報を正確に把握する必要があった。
【０２９２】
しかし、本発明の第１の実施形態によれば、抽象化ネットワークを設定することによって、複数の物理ネットワーク１０１から構成される仮想ネットワークシステムを共通の情報で一元管理することが可能となる。したがって、従来技術のような煩雑さを解消することができる。
【０２９３】
すなわち、複数の物理ネットワーク１０１が共通の情報を用いた抽象化ネットワークとして管理されるため、オペレータの要求を満たす仮想ネットワーク３０１を自動的に、かつ、迅速に生成することが可能となる。
【０２９４】
［第２の実施形態］
本発明の第２の実施形態の仮想ネットワークシステムについて説明する。
【０２９５】
第２の実施形態では、仮想ネットワークシステムにおいて一意な抽象化層アドレスを処理するための機能が抽象ノード７０２に追加される。その他の構成は第１の実施形態と同一であるため、以下では第１の実施形態と異なる部分を中心に説明する。
【０２９６】
図２５は、本発明の第２の実施形態のエッジルータ１０２のソフトウェア構成を説明するブロック図である。
【０２９７】
第２の実施形態のエッジルータ１０２は、第１の実施形態におけるエッジルータ１０２の抽象化層処理部６０１にさらに転送アドレス解決部２１０２が追加され、また、抽象化層情報６０３に抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４が追加される。
【０２９８】
転送アドレス解決部２１０２は、通信パケットに抽象化アドレスの付与又は削除する。また、転送アドレス解決部２１０２は、抽象化層アドレスを用いたアドレス解決をするための処理部である。転送アドレス解決部２１０２が実行する処理の詳細については、図３０を用いて後述する。
【０２９９】
抽象化層アドレス変換情報２１０３は、仮想ネットワークシステム内において、抽象ノード７０２を一意に識別するための抽象化層アドレスを格納する。抽象化層アドレス変換情報２１０３の詳細については、図２６Ａを用いて後述する。
【０３００】
抽象化層アドレス対応情報抽象化層アドレス対応情報２１０４は、抽象化アドレスとエッジルータ１０２に接続されるユーザ拠点１０３との対応関係を格納する。抽象化層アドレス対応情報２１０４の詳細については、図２６Ｂを用いて後述する。
【０３０１】
図２６Ａは、本発明の第２の実施形態の抽象化層アドレス変換情報２１０３の一例を示す説明図である。
【０３０２】
本実施形態では、抽象化層アドレス変換情報２１０３は、表形式Ｔ２３０１のデータとして表される。
【０３０３】
抽象化層アドレス変換情報２１０３は、抽象化層アドレス（Ｋ１３０２）及び物理ネットワークアドレス（Ｋ１３０３）を含む。
【０３０４】
抽象化層アドレス（Ｋ１３０２）は、抽象化ネットワークにおいて、ネットワークグループ７０１に含まれる抽象ノード７０２を一意に識別するためのアドレスを格納する。
【０３０５】
物理ネットワークアドレス（Ｋ１３０３）は、抽象ノード７０２に対応するエッジルータ１０２等のノードの物理ネットワーク１０１内におけるアドレスを格納する。
【０３０６】
このとき、抽象化層情報４０９には、抽象化層アドレスに関する情報がさらに追加される。
【０３０７】
図２６Ｂは、本発明の第２の実施形態の抽象化層アドレス対応情報２１０４の一例を示す説明図である。
【０３０８】
本実施形態では、抽象化層アドレス対応情報２１０４は、表形式Ｔ２４０１のデータとして表される。
【０３０９】
抽象化層アドレス対応情報２１０４は、ＭＡＣアドレス（Ｋ２４０２）及び抽象化層アドレス（Ｋ２４０３）を含む。
【０３１０】
ＭＡＣアドレス（Ｋ２４０２）は、エッジルータ１０２に接続されるユーザ拠点１０３を識別するためのＭＡＣアドレスを格納する。
【０３１１】
抽象化層アドレス（Ｋ２４０３）は、抽象化層アドレス（Ｋ１３０２）と同一のものである。
【０３１２】
本実施形態では、エッジルータ１０２は、抽象化層アドレス対応情報２１０４を参照して通信パケットに抽象化アドレスを付与する。
【０３１３】
なお、抽象化層アドレス対応情報２１０４は、エッジルータ１０２が通信パケットを学習して生成する方法、又は、オペレータが予め設定した情報を用いる方法が考えられる。以下の説明では、オペレータが予め設定した情報を用いる場合について説明する。
【０３１４】
なお、本実施形態では、ＭＡＣアドレスを用いたが、本発明はこれに限定されない。例えば、ポート、ＶＬＡＮ又は上位レイヤの情報等に基づく対応情報を用いてもよい。
【０３１５】
なお、エッジルータ１０２は、抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４を一つの管理情報として保持してもよい。
【０３１６】
図２７は、本発明の第２の実施形態の抽象化層情報４０９の一例を示す説明図である。
【０３１７】
本実施形態では、抽象化層情報４０９は、表形式Ｔ２２０１のデータとして表される。
【０３１８】
抽象化層情報４０９は、抽象ノードＩＤ（Ｋ１３０２）、トランスポート機能（Ｋ１３０３）、ＬＩＤ（Ｋ１３０４）、ネットワークグループ（Ｋ１３０５）、物理ネットワーク接続（Ｋ１３０６）及び抽象化層アドレス（Ｋ２２０２）を含む。図２７に示すように、抽象化層アドレスを格納する抽象化層アドレス（Ｋ２２０２）のカラムが新たに追加されている点が第１の実施形態と異なる。
【０３１９】
次に、第２の実施形態における仮想ネットワークシステムの初期化処理について説明する。
【０３２０】
図２８は、本発明の第２の実施形態における仮想ネットワークシステムの初期化処理の一例を説明するフローチャートである。
【０３２１】
まず、図１７に示す初期化処理（ステップ１６０１〜ステップ１６１４）が実行される。その後、以下の処理が実行される。
【０３２２】
仮想ネットワーク管理サーバ１０５は、予めオペレータによって設定された情報に基づいて各抽象ノード７０２の抽象化層アドレスを決定し、決定された抽象化層アドレスを抽象化層情報４０９の抽象化層アドレス（Ｋ２２０２）に格納する（ステップ２４０１）。
【０３２３】
仮想ネットワーク管理サーバ１０５は、ユーザ拠点１０３と接続するエッジルータ２４０１１、２４０１２に、決定された抽象化層アドレスを設定する（ステップ２４０２）。
【０３２４】
具体的には、決定された抽象化層アドレスがエッジルータ２４０１１、２４０１２に送信される。エッジルータ２４０１１、２４０１２は、抽象化層アドレス変換情報２１０３の抽象化アドレス（Ｋ２３０２）及び抽象化層アドレス対応情報２１０４の抽象化アドレス（Ｋ２４０２）に、受信した抽象化アドレスを格納する。
【０３２５】
仮想ネットワーク管理サーバ１０５は、各エッジルータ１０２１、１０２３、２４０１１、２４０１２に対して、物理ネットワーク１０１における当該エッジルータ１０２１、１０２３、２４０１１、２４０１２のアドレス情報の取得要求を送信する（ステップ２４０３）。
【０３２６】
アドレス情報の取得要求を受信した各エッジルータ１０２１、１０２３、２４０１１、２４０１２は、仮想ネットワーク管理サーバ１０５に、物理ネットワーク１０１におけるアドレス情報を送信する（ステップ２４０４）。
【０３２７】
仮想ネットワーク管理サーバ１０５は、抽象化層アドレスと、物理ネットワーク１０１におけるアドレスとに基づいて、抽象化ネットワークにおけるルーティング情報を算出する（ステップ２４０５）。
【０３２８】
仮想ネットワーク管理サーバ１０５は、各エッジルータ１０２１、１０２３、２４０１１、２４０１２に、算出されたルーティン情報を送信する（ステップ２４０６）。
【０３２９】
各エッジルータ１０２１、１０２３、２４０１１、２４０１２は、受信したルーティング情報を抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４に格納する。
【０３３０】
以上の処理によって、各エッジルータ１０２１、１０２３、２４０１１、２４０１２の抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４の設定が完了する。これによって、抽象化層アドレスと、物理ネットワーク１０１におけるアドレスとの対応関係を把握することが可能となる。
【０３３１】
次に、第２の実施形態におけるエッジルータ２１０１の転送アドレス解決部２１０２によって実行される処理について説明する。
【０３３２】
図２９は、本発明の第２の実施形態の仮想ネットワークシステムにおけるユーザＢの拠点１０３２間の通信パケットの通信経路の一例を示す説明図である。
【０３３３】
ユーザＢの拠点１０３２間を接続する仮想ネットワーク３０１は、物理ネットワーク１（１０１１）及び物理ネットワーク３（１０１３）から構成される。このとき、ユーザＢの通信パケットは、例えば、図２９の通信経路２５０１のようにユーザＢの拠点１０３２間で転送される。
【０３３４】
物理ネットワーク１０１内では、物理ネットワーク１０１毎に異なる方法で仮想ネットワークが構成される。例えば、物理ネットワーク１（１０１１）内では、エッジルータ１０２１、１０２２の物理ネットワークエッジ機能部６０２が、抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４に基づいて、物理ネットワーク１（１０１１）において転送可能な通信パケット２５０２に通信パケットを変更する。
【０３３５】
同様に、物理ネットワーク３（１０１３）内では、エッジルータ１０２３、１０２４の物理ネットワークエッジ機能部６０２が、抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４に基づいて、物理ネットワーク３（１０１３）において転送可能な通信パケット２５０３に通信パケットを変更する。
【０３３６】
本実施形態では、仮想ネットワークシステム内を流れる通信パケットには、仮想ネットワーク内で変更されないヘッダ情報が付加される。以下、本実施形態における通信パケットの構造について説明する。
【０３３７】
図３０は、本発明の第２の実施形態における物理ネットワーク１（１０１１）の通信パケット２５０２の構造の一例を示した説明図である。図３１は、本発明の第２の実施形態における物理ネットワーク３（１０１３）の通信パケット２５０３の構造の一例を示した説明図である。
【０３３８】
通信パケット２５０２は、ユーザパケット２６０１、抽象化層ヘッダ２６０２、及び物理ネットワーク１のヘッダ２６０３を含む。
【０３３９】
ユーザパケット２６０１は、ユーザ拠点１０３内でのユーザの通信パケットである。
【０３４０】
抽象化層ヘッダ２６０２は、仮想ネットワーク３０１内で変更されないヘッダ情報である。例えば、抽象化層ヘッダ２６０２は、仮想ネットワーク３０１内における宛先のユーザＢの拠点１０３２に接続されたエッジルータ１０２４の抽象化層アドレスＥ（宛先アドレス）２６０６と、送信元のユーザＢの拠点１０３２に接続されたエッジルータ１０２１の抽象化層アドレスＢ（送信元アドレス）２６０５と、その他の制御情報として仮想ネットワーク識別子２６０４とが含まれる。
【０３４１】
物理ネットワーク１のヘッダ２６０３は、物理ネットワーク１（１０１１）内のヘッダ情報である。例えば、物理ネットワーク１のヘッダ２６０３には、宛先アドレスとして物理ネットワーク１（１０１１）内のアドレス「Ａ４」が含まれる。
【０３４２】
通信パケット２５０３は、ユーザパケット２７０１、抽象化層ヘッダ２６０２、及び物理ネットワーク３のヘッダ２７０３を含む。
【０３４３】
抽象化層ヘッダ２６０２には、仮想ネットワーク３０１内で宛先のユーザＢの拠点１０３２に接続されたエッジルータ１０２４の抽象化層アドレスＥ（宛先アドレス）２６０６と、送信元のユーザＢの拠点１０３２に接続されたエッジルータ１０２１の抽象化層アドレスＢ（送信元アドレス）２６０５と、その他の制御情報として仮想ネットワーク識別子２６０４とが含まれる。
【０３４４】
図３１に示すように、抽象化層ヘッダ２６０２は、いずれの物理ネットワーク１０１であっても変化しない。
【０３４５】
物理ネットワーク３のヘッダ２７０３は、宛先アドレスとして物理ネットワーク３（１０１３）内のアドレス「Ｂ３」が含まれる。
【０３４６】
なお、本実施形態における各エッジルータ１０２１、１０２２、１０２３、１０２４は、以下のような抽象化層アドレスと、物理ネットワーク１０１内アドレスとを持つものとする。
【０３４７】
エッジルータ１０２１は、物理ネットワーク１内のアドレス「Ａ２」と、抽象化層アドレス「Ｂ」とを保持する。
【０３４８】
エッジルータ１０２２は、物理ネットワーク１内のアドレス「Ａ４」を保持するが、抽象化層アドレスは保持しない。
【０３４９】
エッジルータ１０２３は、物理ネットワーク３内のアドレス「Ｄ３」を保持するが、抽象化層アドレスは保持しない。
【０３５０】
エッジルータ１０２４は、物理ネットワーク３内のアドレス「Ｂ２」と、抽象化層アドレス「Ｄ」とを保持する。
【０３５１】
エッジルータ１０２３の転送アドレス解決部２１０２は、通信パケット内の抽象化層ヘッダ２６０２に基づいて抽象化層アドレス変換情報２１０３を参照し、通信パケットの物理ネットワーク３（１０１３）内のルーティングを解決する。
【０３５２】
例えば、通信パケット内の抽象化層ヘッダ２６０２の宛先アドレス２６０６が「Ｅ」である場合、エッジルータ１０２３の転送アドレス解決部２１０２は、抽象化層アドレス変換情報２１０３の抽象化層アドレスＫ１３０２が「Ｅ」の行から、物理ネットワーク３（１０１３）のアドレスを「Ｂ３」と特定し、通信パケット２５０３の物理ネットワーク３（１０１３）内のヘッダ２７０３の宛先アドレスをＢ３としてルーティング処理を実行する。
【０３５３】
なお、エッジルータ１０２が抽象化アドレスを付与する方法は、例えば、以下の通りである。
【０３５４】
まず、エッジルータ１０２は、受信した通信パケットを解析する。次に、エッジルータは、当該解析結果に基づいて、抽象化層アドレス変換情報２１０３及び抽象化層アドレス対応情報２１０４を参照し、受信した通信パケットに抽象化アドレスを含む抽象化層ヘッダを付与する。
【０３５５】
また、エッジルータ１０２は、各拠点１０３に通信パケットを送信するときに、当該通信パケットから抽象化層ヘッダを削除する。
【０３５６】
従来は、各エッジルータ１０２がユーザ空間のアドレスと、当該エッジルータが属する物理ネットワーク１０１におけるアドレスとを保持する必要がある。そのため、エッジルータ１０２がアドレス解決のために保持するテーブル容量が膨大になることがあった。すなわち、エッジルータ、ユーザアドレス数及びユーザ数を乗算した数のエントリが必要となる。
【０３５７】
しかし、本発明の第２の実施形態によれば、複数の物理ネットワークから構成される仮想ネットワークシステム全体で一意な抽象化層アドレスを用い、通信パケットに抽象化層アドレスの抽象化ヘッダを追加することによって、仮想ネットワークシステム内において抽象化層アドレスを用いたアドレス解決ができる。そのため、仮想ネットワークシステム内で管理するアドレス変換情報量を削減でき、ルータ装置及び運用管理面のコストダウンが可能である。
【０３５８】
［第３の実施形態］
本発明の第３の実施形態の仮想ネットワークシステムについて説明する。
【０３５９】
第３の実施形態の仮想ネットワークシステムは、第１の実施形態の仮想ネットワークシステムにおいて、物理ネットワーク１０１が、仮想的な計算機（サーバ）、又は仮想的なスイッチ等の仮想機能を備えるルータが追加される。その他の構成は第１の実施形態と同一であるため、以下では第１の実施形態と異なる部分を中心に説明する。
【０３６０】
図３Ａ〜図３Ｃに示すように、ユーザ毎の仮想ネットワーク３０１１、３０１２、３０１３は、各ユーザのユーザ拠点１０３１、１０３２、１０３３を個別に接続する論理的に分離されたネットワークを提供する。
【０３６１】
例えば、ユーザＡの仮想ネットワーク３０１１を構成するには、まず、物理ネットワーク１（１０１１）、物理ネットワーク２（１０１２）、物理ネットワーク３（１０１３）のそれぞれ物理ネットワークにおいてユーザＡの仮想ネットワークが構成される。そして、各物理ネットワーク１（１０１１）、物理ネットワーク２（１０１２）、物理ネットワーク３（１０１３）上で構成されたユーザＡの仮想ネットワークがエッジルータ１０２を介して接続されることによって、各物理ネットワーク１０１１、１０１２、１０１３をまたがった仮想ネットワークが構成される。また、構成されたユーザＡの仮想ネットワークとユーザＡの拠点１０３１とがエッジルータ１０２を介して接続されることによって、図３に示すユーザＡの仮想ネットワーク３０１１が構成される。
【０３６２】
なお、本実施形態ではユーザ毎に別々の仮想ネットワーク３０１を割り当てることを前提としているが、ユーザ毎でなく、キャリア若しくはサービスプロバイダが提供するサービス毎、又は、ユーザが保有するアプリケーション毎等の分類に基づいて仮想ネットワーク３０１が割り当てられてもよい。
【０３６３】
図３２は、本発明の第３の実施形態における物理ネットワーク１０１の構成を説明するブロック図である。
【０３６４】
図３２に示すように、第３の実施形態では物理ネットワーク１（１０１１）には、仮想的な計算機、又は仮想的なスイッチ等の仮想機能を備えるルータ２８０１が含まれる。
【０３６５】
図３３Ａ、図３３Ｂ及び図３３Ｃは、本発明の第３の実施形態の仮想ネットワークシステムにおけるユーザ毎の仮想ネットワーク３０１の構成の一例を示す説明図である。
【０３６６】
各仮想ネットワーク３０１１、３０１２、３０１３は、図３Ａ〜Ｃと同様に各ユーザのユーザ拠点１０３１、１０３２、１０３３を接続する論理的に分離されたネットワークを提供する。
【０３６７】
本実施形態では、さらに、ルータ２８０１が備える仮想機能によって提供される機能によって、仮想Ｌ３スイッチ２９０１及び仮想サーバ２９０２等がユーザ毎の仮想ネットワーク３０１１、３０１２、３０１３上に接続される。
【０３６８】
図３３Ｂに示す例では、ユーザＢの仮想ネットワーク３０１２では、仮想Ｌ３スイッチ２９０１と仮想サーバ２９０２との機能を使用することができる。
【０３６９】
なお、説明を簡単にするため、物理ネットワーク１（１０１１）にルータ２８０１が追加される例を用いているが、他の物理ネットワーク１０１２、１０１３がルータ２８０１を備えてもよい。
【０３７０】
次に、本発明の第３の実施形態の仮想ネットワークシステムを構成する各装置が備えるソフトウェア構成について説明する。
【０３７１】
図３４は、本発明の第３の実施形態の仮想ネットワークシステムを抽象化した抽象化ネットワークを示す説明図である。
【０３７２】
仮想ネットワーク管理サーバ１０５の抽象化層管理部４０４は、抽象化層情報４０９に基づいて、図３２に示すような物理ネットワーク１０１から構成される仮想ネットワークシステムを、図３４に示すような抽象化ネットワークとして管理する。
【０３７３】
本実施形態での抽象化ネットワークでは、ルータ２８０１はエッジルータ１０２と同様に抽象ノード３１０１として管理される。
【０３７４】
以下、仮想ネットワーク管理サーバ１０５が備える情報について説明する。
【０３７５】
第３の実施形態の仮想ネットワーク管理サーバ１０５は、第１の実施形態の仮想ネットワーク管理サーバ１０５と同一のハードウェア構成である。第３の実施形態の仮想ネットワーク管理サーバ１０５は、ルータ２８０１が提供する仮想機能の情報を保持する点が異なる。
【０３７６】
図３５は、本発明の第３の実施形態の抽象化層情報４０９の一例を示す説明図である。
【０３７７】
本実施形態では、抽象化層情報４０９は、表形式Ｔ３５０１として表される。
【０３７８】
第１の実施形態の抽象化層情報４０９（図１２参照）と比較して、新たに、仮想機能（Ｋ３５０２）のカラムが追加されている点が異なる。
【０３７９】
仮想機能（Ｋ３５０２）は、抽象ノード３１０１に対応するルータ２８０１が提供する仮想機能の情報を格納する。
【０３８０】
図３５に示すように、仮想ネットワークシステムを構成する全ての抽象ノード７０２、３１０１を、抽象化ネットワークにおいて共通の情報で管理することができることが本発明の特徴である。
【０３８１】
図３６は、本発明の第３の実施形態のユーザ要求情報４０５の一例を示す説明図である。
【０３８２】
本実施形態では、ユーザ要求情報４０５は表形式Ｔ３２０１のデータとして表される。
【０３８３】
ユーザ要求情報４０５には、オペレータから受け付けた仮想ネットワーク３０１の要求の他に、要求される仮想機能の情報が格納される。
【０３８４】
第１の実施形態のユーザ要求情報４０５（図８参照）と比較して、新たに、仮想機能（Ｋ３２０２）のカラムが追加されている点が異なる。
【０３８５】
仮想機能（Ｋ３２０２）は、オペレータが要求する仮想機能に関する情報を格納する。すなわち、オペレータが要求する仮想ネットワーク３０１に接続される仮想機能を表す。
【０３８６】
図３７は、本発明の第３の実施形態の仮想ネットワーク定義情報４０６の一例を示す説明図である。
【０３８７】
本実施形態では、仮想ネットワーク定義情報４０６は表形式Ｔ３３０１のデータとして表される。
【０３８８】
仮想ネットワーク定義情報４０６は、仮想ネットワーク受付部４０１がユーザ要求情報４０５に格納される情報を抽象化ネットワークの情報に変換した情報を格納する。
【０３８９】
第１の実施形態の仮想ネットワーク定義情報４０６（図９参照）と比較して、新たに仮想化機能（Ｋ３３０２）のカラムが追加されている点が異なる。
【０３９０】
仮想化機能（Ｋ３３０２）は、抽象化ネットワークにおいて、オペレータが要求する仮想機能に関する情報を格納する。すなわち、オペレータが要求する仮想ネットワーク３０１に接続される仮想機能を表す。
【０３９１】
図３８は、本発明の第３の実施形態のマッピング情報４０８の一例を示す説明図である。図３８は、ユーザＢに割り当てられる仮想ネットワーク３０１２のマッピング情報４０８を示したものである。
【０３９２】
本実施形態では、マッピング情報４０８は表形式Ｔ３４０１のデータとして表される。
【０３９３】
仮想ネットワーク割当管理部４０２は、ユーザに割り当てる仮想ネットワーク３０１を、抽象化ネットワークへマッピングし、当該マッピング結果をマッピング情報４０８に格納する。
【０３９４】
第１の実施形態のマッピング情報４０８（図１１参照）と比較して、第３の実施形態のマッピング情報４０８は、新たに、仮想機能マッピング情報（Ｋ３４０２）のカラムが追加されている点が異なる。
【０３９５】
仮想機能マッピング情報（Ｋ３４０２）は、仮想ネットワーク３０１に割り当てられる抽象ノード３１０１によって提供される仮想機能に関する情報を格納する。
【０３９６】
仮想機能マッピング情報（Ｋ３４０２）は、仮想機能（Ｋ３４０３）及び抽象ノードＩＤ（Ｋ３４０４）を含む。
【０３９７】
仮想機能（Ｋ３４０３）は、抽象化ネットワークにおいて、オペレータが要求する仮想機能に関する情報を格納する。すなわち、オペレータが要求する仮想ネットワーク３０１に接続される仮想機能を表す。
【０３９８】
抽象ノードＩＤ（Ｋ３４０４）は、仮想機能（Ｋ３４０３）に対応する仮想機能を提供する抽象ノード３１０１を識別するための識別子を格納する。
【０３９９】
図３８に示す例では、仮想Ｌ３スイッチ機能を提供する抽象ノード３１０１の抽象ノードＩＤ（Ｋ３４０４）は「１０１」であり、また、仮想サーバ機能を提供する抽象ノード３１０１の抽象ノードＩＤ（Ｋ３４０４）は「１０２」であることを示す。
【０４００】
次に、物理ネットワーク管理サーバ１０４について説明する。
【０４０１】
第３の実施形態の物理ネットワーク管理サーバ１０４は、ルータ２８０１が提供する仮想機能に関する情報を抽象化層情報５０３に保持する。
【０４０２】
図３９は、本発明の第３の実施形態の抽象化層情報５０３の一例を示す説明図である。
【０４０３】
本実施形態では、抽象化層情報５０３は表形式Ｔ３７０１のデータとして表される。
【０４０４】
第１の実施形態の抽象化層情報５０３（図１４Ａ参照）と比較して、第３の実施形態の抽象化層情報５０３は、新たに、仮想機能（Ｋ３７０２）が追加される。
【０４０５】
仮想機能（Ｋ３７０２）は、抽象化ネットワークにおいて、ルータ２８０１が提供する仮想機能に関する情報を格納する。すなわち、仮想ネットワーク３０１に接続される仮想機能を表す。
【０４０６】
図３９に示す例では、物理ノードＩＤ（Ｋ１５０２）が「ルータｅ」のルータ２８０１は、抽象ノードＩＤ（Ｋ１５０３）が「１０１」、仮想機能（Ｋ３５０２）が「仮想Ｌ３スイッチ」であることを表す。また、物理ノードＩＤ（Ｋ１５０２）が「ルータｆ」のルータ２８０１は、抽象ノードＩＤ（Ｋ１５０３）が「１０２」、仮想機能（Ｋ３５０２）が「仮想サーバ」であることがわかる。
【０４０７】
次に、ルータ２８０１について説明する。
【０４０８】
ルータ２８０１のハードウェア構成は、エッジルータ１０２と同一であるため説明を省略する。
【０４０９】
図４０は、本発明の第３の実施形態のルータ２８０１のソフトウェア構成を説明するブロック図である。
【０４１０】
ルータ２８０１は、仮想機能部３００２を備える点がエッジルータ１０２と異なる。
【０４１１】
仮想機能部３００２は、仮想ネットワーク３０１に対して、仮想機能、例えば、仮想スイッチ又は仮想サーバ等を提供する機能を備える。また、ルータ２８０１の抽象化層情報６０３は、エッジルータ１０２の抽象化層情報６０３と異なる情報を含む。
【０４１２】
図４１は、本発明の第３の実施形態のルータ２８０１が備える抽象化層情報６０３の一例を示す説明図である。
【０４１３】
本実施形態では、ルータ２８０１が備える抽象化層情報６０３は、表形式Ｔ３６０１として表される。
【０４１４】
第１の実施形態の抽象化層情報６０３（図１６参照）と比較して、第３の実施形態の抽象化層情報６０３は、新たに、仮想機能（Ｋ３６０２）のカラムが追加される。
【０４１５】
仮想機能（Ｋ３６０２）は、抽象化ネットワークにおいて、ルータ２８０１が提供する仮想機能に関する情報を格納する。すなわち、仮想ネットワーク３０１に接続される仮想機能を表す。
【０４１６】
なお、本実施形態では、エッジルータ１０２が仮想機能部３００２を備える構成となっているが、エッジルータ１０２とは別の装置が仮想機能部３００２を備えていてもよい。例えば、物理ネットワーク１０１に含まれるサーバ装置が仮想機能部３００２を備えていてもよい。
【０４１７】
次に、第３の実施形態の仮想ネットワークシステムにおける仮想ネットワーク３０１の生成処理について説明する。
【０４１８】
図４２は、本発明の第３の実施形態の仮想ネットワークシステムにおける仮想ネットワーク３０１の生成処理の一例を説明するフローチャートである。
【０４１９】
ステップ１７０１〜ステップ１７１１の処理は第１の実施形態と同一であるため説明を省略する。
【０４２０】
第３の実施形態では、ステップ１７０５の後に、仮想ネットワーク管理サーバ１０５が、抽象化層情報４０９を参照し、ステップ１７０５において選択された抽象ノード３０１０の中から、要求された仮想機能を提供可能な抽象ノード３１０１を選択する処理が含まれる。
【０４２１】
ステップ１７０６では、ステップ１７０４において選択されたネットワークグループ７０１、及びステップ３８０１において選択された抽象ノード３１０１に基づいて仮想ネットワーク３０１のマッピングを実行する。
【０４２２】
［第４の実施形態］
本発明の第４の実施形態における仮想ネットワークシステムについて説明する。
【０４２３】
第４の実施形態における仮想ネットワークシステムは、エッジルータ１０２の機能ブロックの搭載方法が異なる。以下、第１の実施形態との差異を中心に説明する。
【０４２４】
図４３は、本発明の第４の実施形態のエッジルータ１０２のソフトウェアの実装例を示すブロック図である。
【０４２５】
第４の実施形態におけるエッジルータ１０２は、複数の物理ネットワークエッジ機能部６０２を備える。
【０４２６】
図４３に示す例では、エッジルータ１０２は、物理ネットワーク１０１１及び物理ネットワーク１０１２に接続される。
【０４２７】
物理ネットワーク１（１０１１）に接続されるネットワークインタフェース３９０２１は、物理ネットワーク１（１０１１）に対応する物理ネットワークエッジ機能部６０２１及びエッジルータ構成情報６０４を備える。また、物理ネットワーク２（１０１２）に接続されるネットワークインタフェース３９０２２は、物理ネットワーク２（１０１２）に対応する物理ネットワークエッジ機能部６０２及びエッジルータ構成情報６０４を備える。また、パケット処理ボード３９０４が、抽象化層処理部６０１及び抽象化層情報６０３を備える。
【０４２８】
［第５の実施形態］
本発明の第５の実施形態における仮想ネットワークシステムについて説明する。
【０４２９】
第５の実施形態の仮想ネットワークシステムは、エッジルータ１０２の機能ブロックの搭載方法が異なる。以下、第１の実施形態との差異を中心に説明する。
【０４３０】
図４４は、本発明の第５の実施形態のエッジルータ１０２のソフトウェアの実行例を示すブロック図である。
【０４３１】
第５の実施形態では、エッジルータ１０２のネットワークインタフェース３９０２に物理ネットワーク１（１０１１）の物理ネットワークエッジ機能部６０２及びエッジルータ構成情報６０４が搭載される。
【０４３２】
一方、抽象化層処理部６０１及び抽象化層情報６０３は、通信ケーブル３９０６を介してエッジルータ１０２と接続される計算機４４０２が備える。計算機４４０２は、プロセッサ（図示省略）、メモリ（図示省略）、及びネットワークインタフェース（図示省略）を備える。
【０４３３】
図４４に示す例では、エッジルータ１０２はパケット処理ボード３９０４を備えていないが、エッジルータ１０２がパケット処理ボード３９０４を備える構成であってもよい。
【０４３４】
以上、本発明を各実施形態に基づき具体的に説明したが、本発明は前述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０４３５】
本発明の一形態によれば以下のような効果が得られる。
【０４３６】
（１）ネットワークの構成手段及び管理方法が異なる複数の物理ネットワークにまたがって仮想ネットワークを構成する場合に、仮想ネットワーク管理サーバ１０５が複数の物理ネットワーク１０１から構成される仮想ネットワークシステムを抽象化ネットワークとして一括管理することができる。これによって、オペレータの要求に適合した仮想ネットワーク３０１をオンデマンドに生成することができる。
【０４３７】
（２）仮想ネットワーク管理サーバ１０５は、複数の物理ネットワーク１０１で構成される仮想ネットワークシステムを抽象化ネットワークとして一括管理できるため、仮想ネットワーク３０１全体の状態を管理することができる。したがって、リアルタイム、かつ、詳細なネットワーク状態を把握することができ、高信頼な仮想ネットワーク３０１を構築することができる。
【０４３８】
（３）複数の物理ネットワーク１０１から構成される仮想ネットワークシステム全体で一意な抽象化層アドレスを含む抽象化ヘッダを通信パケットに追加することによって、仮想ネットワークシステム内で抽象化層アドレスを用いたアドレス解決ができる。したがって、アドレス解決のために必要となるアドレス変換情報量を削減でき、ルータ装置及び運用管理面のコスト削減が可能となる。
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。
（１）複数のルータを含んで構成された一つ以上の物理ネットワークをそれぞれ管理する一つ以上の物理ネットワーク管理サーバと、前記一つ以上の物理ネットワークを用いて構成され、ユーザが通信するための通信システム間を接続する論理的なネットワークである仮想ネットワークを管理する仮想ネットワーク管理サーバと、を備えるネットワークシステムであって、
前記各物理ネットワーク管理サーバは、それぞれ、前記仮想ネットワーク管理サーバと接続し、
前記仮想ネットワーク管理サーバは、
前記仮想ネットワークを構成するための仮想ネットワーク設定情報を保持し、
前記各物理ネットワーク管理サーバから、前記物理ネットワークの構成を示す物理ネットワーク構成情報を取得し、
前記取得された物理ネットワーク構成情報に基づいて、前記一つ以上の物理ネットワークを一つの抽象化ネットワークとして管理するための情報であり、かつ、前記仮想ネットワークを構成するための前記ルータを抽象化した抽象ノードに関する情報を格納する抽象化ネットワーク管理情報を生成し、
前記各物理ネットワーク管理サーバ及び前記各ルータは、前記仮想ネットワーク管理サーバによって生成された前記抽象化ネットワーク管理情報を受信し、
前記仮想ネットワーク管理サーバは、
前記通信システム及び前記ルータに関する入力情報を含む仮想ネットワーク生成要求を受信した場合に、前記入力情報を前記仮想ネットワークを構成するための仮想ネットワーク定義情報に変換し、
前記仮想ネットワーク定義情報に基づいて構成される仮想ネットワークを構成するために用いる前記抽象ノードを、前記抽象化ネットワーク管理情報から選択し、
前記入力情報に基づき前記仮想ネットワークを構成するために、前記仮想ネットワーク設定情報を更新し、
前記更新された仮想ネットワーク設定情報を前記抽象ノードとして選択された前記ルータ及び前記仮想ネットワーク設定情報に基づいて特定される物理ネットワーク管理サーバに送信することを特徴とするネットワークシステム。
（２）前記物理ネットワーク構成情報は、前記物理ネットワークにおける前記ルータの配置位置を表す第１の位置情報、及び、前記ルータが対応可能な通信機能を表す第１の通信機能情報を含み、
前記仮想ネットワーク管理サーバは、
前記抽象化ネットワーク管理情報を生成する場合に、前記ルータを、前記抽象化ネットワークを構成する抽象ノードとして一意に識別するための抽象ノード識別情報を生成し、
前記物理ネットワーク構成情報に基づいて、前記抽象化ネットワークにおける前記抽象ノードの配置位置を表す第２の位置情報を生成し、
前記物理ネットワーク構成情報に基づいて、前記抽象化ネットワークにおける前記抽象ノードが対応可能な通信機能を表す第２の通信機能情報を生成し、
同一の前記物理ネットワークに含まれる前記各ルータに対応する前記抽象ノードから構成される一つのネットワークグループを生成して、前記ネットワークグループを識別するためのネットワークグループ識別情報を生成し、
前記抽象ノード識別情報、前記第２の位置情報、前記第２の通信機能情報及び前記ネットワークグループ識別情報を対応づけることによって前記抽象化ネットワーク管理情報を生成することを特徴とする（１）に記載のネットワークシステム。
（３）前記入力情報は、前記仮想ネットワークの生成を要求するユーザを識別するためのユーザ識別情報と、前記物理ネットワークにおける前記通信システムの配置位置を表す第３の位置情報と、前記仮想ネットワークに用いられる通信機能を表す第３の通信機能情報とを含み、
前記仮想ネットワーク管理サーバは、
前記入力情報を前記仮想ネットワーク定義情報に変換する場合に、前記入力情報に含まれる前記ユーザ識別情報に基づいて、生成される前記仮想ネットワークを識別するための仮想ネットワーク識別情報を生成し、
前記物理ネットワーク構成情報を参照して、前記入力情報に含まれる前記第３の通信機能情報を、前記抽象化ネットワークにおける前記抽象ノードが対応可能な通信機能を表す第４の通信機能情報に変換し、
前記物理ネットワーク構成情報を参照して、前記入力情報に含まれる前記第３の位置情報を、前記抽象化ネットワークにおける前記抽象ノードの配置位置を表す第４の位置情報に変換し、
前記仮想ネットワーク識別情報、前記第４の通信機能情報及び前記第４の位置情報に基づいて、前記仮想ネットワーク定義情報を生成し、
前記抽象化ネットワーク管理情報から前記抽象ノードを選択する場合に、前記第４の通信機能情報に基づいて前記抽象化ネットワーク管理情報を参照して、前記受信した仮想ネットワーク生成要求に対応する前記仮想ネットワークを設定可能な前記ネットワークグループを選択し、
前記第４の位置情報に基づいて前記抽象化ネットワーク管理情報を参照して、前記選択されたネットワークグループの中から、前記仮想ネットワークを構成可能な前記抽象ノードを選択することを特徴とする（２）に記載のネットワークシステム。
（４）前記仮想ネットワーク管理サーバは、
前記仮想ネットワーク設定情報を更新する場合に、前記選択されたネットワークグループ及び前記選択された抽象ノードに基づいて、前記抽象化ネットワーク管理情報への前記受信した仮想ネットワーク生成要求に対応する前記仮想ネットワークのマッピングを決定し、
前記仮想ネットワーク識別情報、前記仮想ネットワークに用いられる通信機能を表す第５の通信機能情報、及び前記決定された仮想ネットワークのマッピングの結果に基づいて、前記仮想ネットワーク設定情報を更新して、前記各物理ネットワーク管理サーバ及び前記ルータに送信することを特徴とする（３）に記載のネットワークシステム。
（５）前記物理ネットワーク構成情報は、仮想的な計算機又は仮想的なスイッチを実現するための仮想機能を表す第１の仮想機能情報を含み、
前記入力情報は、前記仮想ネットワークにおいて要求される仮想機能を表す第２の仮想機能情報を含み、
前記仮想ネットワーク管理サーバは、
前記入力情報を前記仮想ネットワーク定義情報に変換する場合に、さらに、前記入力情報に含まれる前記第２の仮想機能情報を、前記抽象化ネットワークにおける前記抽象ノードが備える前記仮想機能を表す第３の仮想機能情報に変換し、
前記抽象化ネットワーク管理情報から前記抽象ノードを選択する場合に、さらに、前記第３の仮想機能情報に基づいて前記抽象化ネットワーク管理情報を参照して、前記仮想ネットワークを構成する前記抽象ノードとして選択された前記抽象ノードの中から、前記第２の仮想機能情報に対応する前記仮想機能を備える前記抽象ノードを選択することを特徴とする（４）に記載のネットワークシステム。
（６）前記ルータは異なる前記物理ネットワーク間を接続するエッジルータを含み、
前記抽象化ネットワーク管理情報及び前記仮想ネットワーク設定情報は、前記エッジルータに送信され、
前記エッジルータは、
前記仮想ネットワーク設定情報を受信した後に、隣接する前記物理ネットワークに含まれる他の前記エッジルータから、当該他のエッジルータに対応する前記抽象ノードから構成される前記ネットワークグループを識別するための情報である隣接ネットワークグループ識別情報を取得し、
前記仮想ネットワーク管理サーバに、前記取得された隣接ネットワークグループ識別情報を送信し、
前記仮想ネットワーク管理サーバは、さらに、前記隣接ネットワークグループ識別情報を、前記抽象化ネットワーク管理情報に格納することを特徴とする（２）に記載のネットワークシステム。
（７）前記仮想ネットワーク管理サーバは、前記仮想ネットワーク設定情報を更新した後に、さらに、前記抽象化ネットワークにおける前記抽象ノードのアドレスを表す第１のアドレスを管理するための第１のアドレス管理情報を生成し、
前記第１のアドレス管理情報を前記エッジルータに送信し、
前記各物理ネットワーク管理サーバ及び前記エッジルータから当該物理ネットワークにおける前記エッジルータのアドレスを表す第２のアドレスを管理するための第２のアドレス管理情報を取得し、
前記取得された第２のアドレス管理情報、及び、前記第１のアドレス管理情報に基づいて前記抽象化ネットワークにおけるルーティング情報を生成し、
前記生成されたルーティング情報を、前記各物理ネットワーク管理サーバ及び前記各エッジルータに送信することを特徴とする（６）に記載のネットワークシステム。
（８）前記エッジルータは、
前記通信システムから通信パケットを受信した場合に、前記受信した通信パケットを解析し、
前記第１のアドレス管理情報及び前記ルーティング情報に基づいて、前記受信した通信パケットに前記第１のアドレスを付与し、
前記第１のアドレスに基づいて、前記抽象化ネットワークにおけるルーティング処理を実行することを特徴とする（７）に記載のネットワークシステム。
（９）前記各物理ネットワーク管理サーバは、前記仮想ネットワーク管理サーバから前記抽象化ネットワーク管理情報を受信した場合に、当該物理ネットワーク管理サーバが管理する前記ルータの識別情報と、前記仮想ネットワーク管理サーバから受信した前記抽象化ネットワーク管理情報とを対応付けて保持することを特徴とする（１）に記載のネットワークシステム。
（１０）前記物理ネットワーク管理サーバは、当該物理ネットワーク管理サーバが管理する前記物理ネットワークに新規ルータが追加された場合に、前記新規ルータに対して当該新規ルータの構成情報を取得するための取得要求を送信し、
前記新規ルータは、前記新規ルータの構成情報を前記物理ネットワーク管理サーバに送信し、
前記物理ネットワーク管理サーバは、前記仮想ネットワーク管理サーバに、前記新規ルータの構成情報を前記物理ネットワーク構成情報として送信し、
前記仮想ネットワーク管理サーバは、
前記取得された物理ネットワーク構成情報に基づいて、前記抽象化ネットワーク管理情報を生成し、
前記新規ルータが含まれる前記物理ネットワークを管理する前記物理ネットワーク管理サーバ及び前記新規ルータに、前記生成された抽象化ネットワーク管理情報を送信することを特徴とする（１）に記載のネットワークシステム。
（１１）前記物理ネットワーク管理サーバは、
前記ルータの削除要求を受信し、
削除対象のルータを当該物理ネットワーク管理サーバが管理する前記物理ネットワークから削除することによって、前記仮想ネットワークに影響を与えるか否かを判定し、
前記仮想ネットワークに影響を与えないと判定された場合に、当該物理ネットワーク管理サーバが管理する前記物理ネットワークの構成を変更し、
前記削除対象のルータを削除することを特徴とする（１）に記載のネットワークシステム。
（１２）前記物理ネットワーク管理サーバは、前記仮想ネットワークに影響があると判定された場合、前記仮想ネットワーク管理サーバに前記仮想ネットワーク設定情報の変更要求を送信し、
前記仮想ネットワーク管理サーバは、
前記仮想ネットワーク設定情報の変更要求を受信した場合に、前記仮想ネットワーク設定情報を変更することによって前記仮想ネットワークに影響があるか否かを判定し、
前記仮想ネットワーク設定情報を変更することによって前記仮想ネットワークに影響があると判定された場合、前記仮想ネットワークにおける影響を許可するか否かを判定し、
前記仮想ネットワークにおける影響を許可すると判定された場合、前記仮想ネットワーク設定情報を変更し、
前記物理ネットワーク管理サーバに前記仮想ネットワーク設定情報の変更が完了した旨の通知を送信し、
前記物理ネットワーク管理サーバは、前記仮想ネットワーク設定情報の変更が完了した旨の通知を受信した後に、前記削除対象のルータを削除することを特徴とする（１１）に記載のネットワークシステム。
（１３）前記仮想ネットワーク管理サーバは、前記仮想ネットワークにおける影響を許可しないと判定された場合、前記物理ネットワーク管理サーバに、前記削除対象のルータの削除を中止させるための中止命令を送信することを特徴とする（１２）に記載のネットワークシステム。
（１４）前記仮想ネットワーク管理サーバは、
新規通信システムの追加要求を受信し、
前記仮想ネットワーク設定情報を更新できるか否かを判定し、
前記仮想ネットワーク設定情報を更新できると判定された場合、前記仮想ネットワーク設定情報を更新することによって前記仮想ネットワークに影響があるか否かを判定し、
前記仮想ネットワーク設定情報を更新することによって前記仮想ネットワークに影響があると判定された場合、前記仮想ネットワークにおける影響を許可するか否かを判定し、
前記仮想ネットワークにおける影響を許可すると判定された場合、前記仮想ネットワーク設定情報を更新し、
前記物理ネットワーク管理サーバ及び前記ルータに前記更新された仮想ネットワーク設定情報を送信することを特徴とする（１）に記載のネットワークシステム。
（１５）前記仮想ネットワーク管理サーバは、前記仮想ネットワークにおける影響を許可しないと判定された場合、前記仮想ネットワーク設定情報の更新失敗の通知を行うことを特徴とする（１４）に記載のネットワークシステム。
（１６）複数のルータを含んで構成された一つ以上の物理ネットワークをそれぞれ管理する一つ以上の物理ネットワーク管理サーバと、前記一つ以上の物理ネットワークを用いて構成され、ユーザが通信するための通信システム間を接続する論理的なネットワークである仮想ネットワークを管理する仮想ネットワーク管理サーバと、を備えるネットワークシステムにおける仮想ネットワーク管理方法であって、
前記各物理ネットワーク管理サーバは、それぞれ、前記仮想ネットワーク管理サーバと接続し、
前記仮想ネットワーク管理サーバは、前記仮想ネットワークを構成するための仮想ネットワーク設定情報を保持し、
前記方法は、
前記仮想ネットワーク管理サーバが、前記各物理ネットワーク管理サーバから、前記物理ネットワークの構成を示す物理ネットワーク構成情報を取得する第１のステップと、
前記仮想ネットワーク管理サーバが、前記取得された物理ネットワーク構成情報に基づいて、前記一つ以上の物理ネットワークを一つの抽象化ネットワークとして管理するための情報であり、かつ、前記仮想ネットワークを構成するためのルータを抽象化した抽象ノードに関する情報を格納する抽象化ネットワーク管理情報を生成する第２のステップと、
前記各物理ネットワーク管理サーバ及び前記各ルータが、前記仮想ネットワーク管理サーバによって生成された前記抽象化ネットワーク管理情報を受信する第３のステップと、
前記仮想ネットワーク管理サーバが、前記通信システム及び前記ルータに関する入力情報を含む仮想ネットワーク生成要求を受信した場合に、前記入力情報を前記仮想ネットワークを構成するための仮想ネットワーク定義情報に変換する第４のステップと、
前記仮想ネットワーク管理サーバが、前記仮想ネットワーク定義情報に基づいて構成される仮想ネットワークを構成するために用いる前記抽象ノードを、前記抽象化ネットワーク管理情報から選択する第５のステップと、
前記仮想ネットワーク管理サーバが、前記入力情報に基づき前記仮想ネットワークを構成するために、前記仮想ネットワーク設定情報を更新する第６のステップと、
前記仮想ネットワーク管理サーバが、前記更新された仮想ネットワーク設定情報を前記抽象ノードとして選択された前記ルータに送信する第７のステップと、
前記仮想ネットワーク管理サーバが、前記仮想ネットワーク設定情報に基づいて特定される物理ネットワーク管理サーバに、前記仮想ネットワーク設定情報を送信する第８のステップと、
を含むことを特徴とする仮想ネットワーク管理方法。
【符号の説明】
【０４３９】
１０１  物理ネットワーク
１０２  エッジルータ
１０３  ユーザ拠点
１０４  物理ネットワーク管理サーバ
１０５  仮想ネットワーク管理サーバ
１０６  管理ネットワーク
２０１  コアルータ
３０１  仮想ネットワーク
４０１  仮想ネットワーク受付部
４０２  仮想ネットワーク割当管理部
４０３  仮想ネットワーク管理部
４０４  抽象化層管理部
４０５  ユーザ要求情報
４０６  仮想ネットワーク定義情報
４０７  仮想ネットワーク割当情報
４０８  マッピング情報
４０９  抽象化層情報
５０１  仮想ネットワーク管理インタフェース
５０２  物理ネットワーク管理部
５０３  抽象化層情報
５０４  物理ネットワーク構成情報
５０９  抽象化層情報
６０１  抽象化層処理部
６０２  物理ネットワークエッジ機能部
６０３  抽象化層情報
６０４  エッジルータ構成情報
７０１  ネットワークグループ
７０２  抽象ノード
８０１  Ｌ２ネットワーク
８０２  中継拠点
３９０２  ネットワークインタフェース（ＮＩＦ）
３９０３  スイッチ
３９０４  パケット処理ボード
３９０５  ポート（ＰＯＲＴ）
３９０６  通信ケーブル
３９０７  内部配線
３９０８  インタフェース（Ｉ／Ｏ）
３９０９  ネットワークプロセッサ（ＮＰＵ）
３９１０  メモリ
【図１】
0005911620.tif 000002
【図２】
0005911620.tif 000003
【図３Ａ】
0005911620.tif 000004
【図３Ｂ】
0005911620.tif 000005
【図３Ｃ】
0005911620.tif 000006
【図４】
0005911620.tif 000007
【図５】
0005911620.tif 000008
【図６】
0005911620.tif 000009
【図７】
0005911620.tif 000010
【図８】
0005911620.tif 000011
【図９】
0005911620.tif 000012
【図１０】
0005911620.tif 000013
【図１１】
0005911620.tif 000014
【図１２】
0005911620.tif 000015
【図１３】
0005911620.tif 000016
【図１４Ａ】
0005911620.tif 000017
【図１４Ｂ】
0005911620.tif 000018
【図１５】
0005911620.tif 000019
【図１６】
0005911620.tif 000020
【図１７Ａ】
0005911620.tif 000021
【図１７Ｂ】
0005911620.tif 000022
【図１８】
0005911620.tif 000023
【図１９Ａ】
0005911620.tif 000024
【図１９Ｂ】
0005911620.tif 000025
【図２０】
0005911620.tif 000026
【図２１】
0005911620.tif 000027
【図２２】
0005911620.tif 000028
【図２３】
0005911620.tif 000029
【図２４】
0005911620.tif 000030
【図２５】
0005911620.tif 000031
【図２６Ａ】
0005911620.tif 000032
【図２６Ｂ】
0005911620.tif 000033
【図２７】
0005911620.tif 000034
【図２８】
0005911620.tif 000035
【図２９】
0005911620.tif 000036
【図３０】
0005911620.tif 000037
【図３１】
0005911620.tif 000038
【図３２】
0005911620.tif 000039
【図３３Ａ】
0005911620.tif 000040
【図３３Ｂ】
0005911620.tif 000041
【図３３Ｃ】
0005911620.tif 000042
【図３４】
0005911620.tif 000043
【図３５】
0005911620.tif 000044
【図３６】
0005911620.tif 000045
【図３７】
0005911620.tif 000046
【図３８】
0005911620.tif 000047
【図３９】
0005911620.tif 000048
【図４０】
0005911620.tif 000049
【図４１】
0005911620.tif 000050
【図４２】
0005911620.tif 000051
【図４３】
0005911620.tif 000052
【図４４】
0005911620.tif 000053