(57)【特許請求の範囲】
【請求項１】
複数のネットワーク装置、及び前記複数のネットワーク装置を制御する制御装置を備えるネットワークシステムであって、
前記複数のネットワーク装置の各々は、
複数のネットワーク機能を実現する制御部と、
ネットワーク機能を稼働させるために必要な複数のリソースと、を有し、
前記制御装置は、
一つ以上のネットワーク装置を用いて構築されるネットワークの要件を管理するネットワーク要求情報、前記複数のネットワーク装置の各々の設定内容を管理する設定情報、及び任意の条件を満たすネットワーク機能に関する情報を管理する機能情報を記憶する記憶部と、
前記ネットワーク装置のリソースを管理する第１のリソース管理部と、を有し、
前記設定情報は、前記ネットワーク機能の識別情報及び前記ネットワーク機能を稼働するために必要な複数のパラメータの値から構成されるエントリを含み、
前記機能情報は、前記ネットワーク機能の識別情報、前記ネットワーク機能の条件、及び前記複数のパラメータの少なくとも一つを独立変数とする関数であり、かつ、前記任意の条件を満たすネットワーク機能によって使用されるリソース使用量を算出するための使用量関数から構成されるエントリを含み、
前記第１のリソース管理部は、
対象のネットワーク装置を特定し、
前記機能情報及び前記ネットワーク要求情報に基づいて、前記対象のネットワーク装置によって構築されるネットワークにおいて必要となる対象のネットワーク機能を特定し、
前記対象のネットワーク機能に基づいて前記機能情報を参照して、前記対象のネットワーク機能に対応する前記使用量関数を特定し、
前記対象のネットワーク機能に基づいて前記設定情報を参照して、前記特定された使用量関数に関連するパラメータの値を取得し、
前記特定された使用量関数に前記取得されたパラメータの値を代入することによって、前記対象のネットワーク装置の前記対象のネットワーク機能によるリソース使用量を算出することを特徴とするネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記記憶部は、さらに、前記複数のネットワーク装置の各々の所定のネットワーク機能の稼働に伴うリソースの使用状況を管理するリソース使用状況情報を記憶し、
前記リソース使用状況情報は、前記ネットワーク装置の識別情報、前記リソースの識別情報、前記リソースの総量、前記リソースの余剰量、及び前記ネットワーク機能の識別情報から構成されるエントリを含み、
前記第１のリソース管理部は、
前記対象のネットワーク機能によって使用されるリソースを特定し、
前記リソース使用状況情報に含まれるエントリの中から、前記ネットワーク装置の識別情報、前記リソースの識別情報、及び前記ネットワーク機能の識別情報が、前記対象のネットワーク装置の識別情報、前記特定されたリソースの識別情報、及び前記対象のネットワーク機能の識別情報と一致するエントリを検索し、
前記検索されたエントリの前記リソースの総量から前記対象のネットワーク機能によるリソース使用量を減算することによって、前記リソースの余剰量を算出し、
前記算出されたリソースの余剰量を前記検索されたエントリに設定することを特徴とするネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記制御部は、前記ネットワーク装置上で稼働する前記ネットワーク機能毎のリソースの使用状況を管理する第２のリソース管理部を含み、
前記第１のリソース管理部は、
前記パラメータに対応する独立変数を一つ以上含み、かつ、第１の定数を一つ以上含む候補関数を複数保持し、
前記使用量関数は、前記複数の候補関数及び複数の第２の定数から定義され、
前記第１のリソース管理部は、
対象のネットワーク機能を選択し、
前記パラメータの設定内容を前記ネットワーク装置に送信し、
前記第２のリソース管理部から前記対象のネットワーク機能によって使用されるリソースの使用量を受信し、
前記受信したリソースの使用量に基づいて、前記第１の定数及び前記第２の定数を算出することによって、前記使用量関数を生成することを特徴とするネットワークシステム。
【請求項４】
複数のネットワーク装置、及び前記複数のネットワーク装置を制御する制御装置を備えるネットワークシステムにおけるリソース管理方法であって、
前記複数のネットワーク装置の各々は、
複数のネットワーク機能を実現する制御部と、
ネットワーク機能を稼働させるために必要な複数のリソースと、を有し、
前記制御装置は、
一つ以上のネットワーク装置を用いて構築されるネットワークの要件を管理するネットワーク要求情報、前記複数のネットワーク装置の各々の設定内容を管理する設定情報、及び任意の条件を満たすネットワーク機能に関する情報を管理する機能情報を記憶する記憶部と、
前記ネットワーク装置のリソースを管理する第１のリソース管理部と、を有し、
前記設定情報は、前記ネットワーク機能の識別情報及び前記ネットワーク機能を稼働するために必要な複数のパラメータの値から構成されるエントリを含み、
前記機能情報は、前記ネットワーク機能の識別情報、前記ネットワーク機能の条件、及び前記複数のパラメータの少なくとも一つを独立変数とする関数であり、かつ、前記任意の条件を満たすネットワーク機能によって使用されるリソース使用量を算出するための使用量関数から構成されるエントリを含み、
前記リソース管理方法は、
前記第１のリソース管理部が、対象のネットワーク装置を特定するステップと、
前記第１のリソース管理部が、前記機能情報及び前記ネットワーク要求情報に基づいて、前記対象のネットワーク装置によって構築されるネットワークにおいて必要となる対象のネットワーク機能を特定するステップと、
前記第１のリソース管理部が、前記対象のネットワーク機能に基づいて前記機能情報を参照して、前記対象のネットワーク機能に対応する前記使用量関数を特定するステップと、
前記第１のリソース管理部が、前記対象のネットワーク機能に基づいて前記設定情報を参照して、前記特定された使用量関数に関連するパラメータの値を取得するステップと、
前記第１のリソース管理部が、前記特定された使用量関数に前記取得されたパラメータの値を代入することによって、前記対象のネットワーク装置の前記対象のネットワーク機能によるリソース使用量を算出するステップと、を含むことを特徴とするリソース管理方法。
【請求項５】
請求項４に記載のリソース管理方法であって、
前記記憶部は、さらに、前記複数のネットワーク装置の各々の所定のネットワーク機能の稼働に伴うリソースの使用状況を管理するリソース使用状況情報を記憶し、
前記リソース使用状況情報は、前記ネットワーク装置の識別情報、前記リソースの識別情報、前記リソースの総量、前記リソースの余剰量、及び前記ネットワーク機能の識別情報から構成されるエントリを含み、
前記リソース管理方法は、
前記第１のリソース管理部が、前記対象のネットワーク機能によって使用されるリソースを特定するステップと、
前記第１のリソース管理部が、前記リソース使用状況情報に含まれるエントリの中から、前記ネットワーク装置の識別情報、前記リソースの識別情報、及び前記ネットワーク機能の識別情報が、前記対象のネットワーク装置の識別情報、前記特定されたリソースの識別情報、及び前記対象のネットワーク機能の識別情報と一致するエントリを検索するステップと、
前記第１のリソース管理部が、前記検索されたエントリの前記リソースの総量から前記対象のネットワーク機能によるリソース使用量を減算することによって、前記リソースの余剰量を算出するステップと、
前記第１のリソース管理部が、前記算出されたリソースの余剰量を前記検索されたエントリに設定するステップと、を含むことを特徴とするリソース管理方法。
【請求項６】
請求項５に記載のリソース管理方法であって、
前記制御部は、前記ネットワーク装置上で稼働する前記ネットワーク機能毎のリソースの使用状況を管理する第２のリソース管理部を含み、
前記第１のリソース管理部は、前記パラメータに対応する独立変数を一つ以上含み、かつ、第１の定数を一つ以上含む候補関数を複数保持し、
前記使用量関数は、前記複数の候補関数及び複数の第２の定数から定義され、
前記リソース管理方法は、
前記第１のリソース管理部が、対象のネットワーク機能を選択するステップと、
前記第１のリソース管理部が、前記パラメータの設定内容を前記ネットワーク装置に送信するステップと、
前記第１のリソース管理部が、前記第２のリソース管理部から前記対象のネットワーク機能によって使用されるリソースの使用量を受信するステップと、
前記第１のリソース管理部が、前記受信したリソースの使用量に基づいて、前記第１の定数及び前記第２の定数を算出することによって、前記使用量関数を生成するステップと、を含むことを特徴とするリソース管理方法。
【請求項７】
複数のネットワーク機能を実現する制御部と、ネットワーク機能を稼働させるために必要な複数のリソースと、を有する複数のネットワーク装置に接続される制御装置であって、
一つ以上のネットワーク装置を用いて構築されるネットワークの要件を管理するネットワーク要求情報、前記複数のネットワーク装置の各々の設定内容を管理する設定情報、及び任意の条件を満たすネットワーク機能に関する情報を管理する機能情報を記憶する記憶部と、
前記ネットワーク装置のリソースを管理するリソース管理部と、を備え、
前記設定情報は、前記ネットワーク機能の識別情報及び前記ネットワーク機能を稼働するために必要な複数のパラメータの値から構成されるエントリを含み、
前記機能情報は、前記ネットワーク機能の識別情報、前記ネットワーク機能の条件、及び前記複数のパラメータの少なくとも一つを独立変数とする関数であり、かつ、前記任意の条件を満たすネットワーク機能によって使用されるリソース使用量を算出するための使用量関数から構成されるエントリを含み、
前記リソース管理部は、
対象のネットワーク装置を特定し、
前記機能情報及び前記ネットワーク要求情報に基づいて、前記対象のネットワーク装置によって構築されるネットワークにおいて必要となる対象のネットワーク機能を特定し、
前記対象のネットワーク機能に基づいて前記機能情報を参照して、前記対象のネットワーク機能に対応する前記使用量関数を特定し、
前記対象のネットワーク機能に基づいて前記設定情報を参照して、前記特定された使用量関数に関連するパラメータの値を取得し、
前記特定された使用量関数に前記取得されたパラメータの値を代入することによって、前記対象のネットワーク装置の前記対象のネットワーク機能によるリソース使用量を算出することを特徴とする制御装置。
【請求項８】
請求項７に記載の制御装置であって、
前記記憶部は、さらに、前記複数のネットワーク装置の各々の所定のネットワーク機能の稼働に伴うリソースの使用状況を管理するリソース使用状況情報を記憶し、
前記リソース使用状況情報は、前記ネットワーク装置の識別情報、前記リソースの識別情報、前記リソースの総量、前記リソースの余剰量、及び前記ネットワーク機能の識別情報から構成されるエントリを含み、
前記リソース管理部は、
前記対象のネットワーク機能によって使用されるリソースを特定し、
前記リソース使用状況情報に含まれるエントリの中から、前記ネットワーク装置の識別情報、前記リソースの識別情報、及び前記ネットワーク機能の識別情報が、前記対象のネットワーク装置の識別情報、前記特定されたリソースの識別情報、及び前記対象のネットワーク機能の識別情報と一致するエントリを検索し、
前記検索されたエントリの前記リソースの総量から前記対象のネットワーク機能によるリソース使用量を減算することによって、前記リソースの余剰量を算出し、
前記算出されたリソースの余剰量を前記検索されたエントリに設定することを特徴とする制御装置。
【請求項９】
請求項８に記載の制御装置であって、
前記リソース管理部は、前記パラメータに対応する独立変数を一つ以上含み、かつ、第１の定数を一つ以上含む候補関数を複数保持し、
前記使用量関数は、前記複数の候補関数及び複数の第２の定数から定義され、
前記リソース管理部は、
対象のネットワーク機能を選択し、
前記パラメータの設定内容を前記ネットワーク装置に送信し、
前記ネットワーク装置から前記対象のネットワーク機能によって使用されるリソースの使用量を受信し、
前記受信したリソースの使用量に基づいて、前記第１の定数及び前記第２の定数を算出することによって、前記使用量関数を生成することを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のネットワーク装置のリソース量を管理する装置、方法及びシステムに関する。
【背景技術】
【０００２】
近年、開発コスト削減などを目的として、プロトコル専用のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）ではなく、汎用のＬＳＩ又はＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔｓ）を用いた通信装置の開発が行われている。前述の通信装置は、プロトコルに限定されないため、異なる複数のネットワーク機能を稼働させることができる。
【０００３】
ここで、プロトコルとは、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）、ＭＰＬＳ−ＴＰ（ＭＰＬＳ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｆｉｌｅ）、ＶｘＬＡＮ（ｖｉｒｔｕａｌ  ｅｘｔｅｎｓｉｂｌｅ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、及びＰＢＢ（Ｐｒｏｖｉｄｅｒ  Ｂｏｒｄｅｒ  Ｂｒｉｄｇｉｎｇ）等である。
【０００４】
しかし、仮想ネットワークの利用数の増加等に伴い、通信装置がプロトコルで既定された設定数（タグ数又はラベル数、装置数等）又は通信量をそのまま設定できない状態が発生している。すなわち、ネットワーク機能の稼働に必要なタグ数又は通信量等のリソースの不足が問題となっている。
【０００５】
前述したような状態では、プロトコルで規定された制限又は標準として規定された機能の制限に達していない場合でも、ネットワーク装置の性能が低下し、機能が正常に動作せず、また、本来設定可能な通信経路若しくは仮想ネットワークを事前に設定できない等の問題が生じる。
【０００６】
通信装置の制御及び管理の関連技術として、Ｃ／Ｕ分離して集中制御型のアーキテクチャを採用するＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋｉｎｇ）又はＮＭＳ（Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）等がある。このような、課題に対して特許文献１及び特許文献２に開示された技術が知られている。
【０００７】
特許文献１には、「管理サーバ１０は、ルチテナントシステム１に含まれるテナントのうち、マルチテナントシステム１内で稼動する仮想マシンを使用するテナントを識別するＶＮＩを割り当てる。また、管理サーバ１０は、マルチテナントシステム１に含まれるテナントのうち、各ＬＡＮ２、４、６で稼動する仮想マシンに対し、ＶＴＥＰごとに、以下の処理を実行する。すなわち、管理サーバ１０は、マルチテナントシステム１内で稼動する仮想マシンを使用するテナントを、各ＬＡＮ２、４、６ごとに識別するＶＬＡＮ番号を割り当てる。また、管理サーバ１０は、各仮想マシンに対して割り当てたＶＮＩとＶＬＡＮ番号とを対応付けた変換情報を、各ＶＴＥＰごとに生成する。そして、管理サーバ１０は、生成した変換情報に従ってパケットをカプセル化するように、各ＶＴＥＰを設定する」システムが提案されている（例えば、要約を参照）。
【０００８】
特許文献２には、「ネットワークに接続する複数のポートを有し、ポートで受信したフレームを宛先の端末が接続されているポートに中継するためのスイッチングハブにおいて、ＶＬＡＮドメインを識別するＶＬＡＮドメインＩＤを登録する登録機能と、ＶＬＡＮドメインＩＤ（Ａ）とそのＶＬＡＮドメイン内のＶＬＡＮグループ（２）を識別するＶＬＡＮ−ＩＤとを設定した拡張ＶＬＡＮタグをフレーム（７１２）に付加するタグ付加機能と、登録されているＶＬＡＮドメインＩＤ（Ａ）が設定されている拡張ＶＬＡＮタグが付加されたフレーム（７１８）を受信したときに、該拡張ＶＬＡＮタグに設定されているＶＬＡＮ−ＩＤ（２）に基づいて中継を行う中継機能とを備えた」システムが提案されている（例えば、要約を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１４−１４３５６０号公報
【特許文献２】特開２００３−３１８９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１及び特許文献２に記載の技術は、プロトコルのみを考慮しており、通信装置の設定数及び通信量のリソースが考慮されていない。したがって、プロトコルだけではなく、通信装置のリソース使用量及び余剰リソース量等を正確に把握したネットワークの制御技術が望まれている。
【００１１】
前述した問題に解決するためには、通信装置のリソース使用量及び余剰リソース量等を把握する必要がある。特に、ネットワーク機能毎の通信装置のリソース使用量及び余剰リソース量等を把握する必要がある。
【００１２】
複数のネットワーク機能が稼働可能な通信装置においては、要求されたネットワーク機能を稼働させるために、予めリソースの使用方法等が定義されていない。また、ネットワーク機能の種類によって使用されるリソースの種類等も異なる。そのため、通信装置自体の設定及び連携する通信装置の設定によって、リソース使用量が異なる。すなわち、同一のネットワーク機能が稼働するネットワーク装置であっても、リソース使用量が異なる。
【００１３】
通信装置のネットワーク機能毎のリソース使用量（余剰リソース量）を把握するためには、通信装置の設定及び関連する通信装置の設定等を解析する必要があり、容易に、かつ、短時間に把握することが困難である。特に、大規模なネットワークシステムでは、前述したような問題が顕在化する。
【００１４】
すなわち、複雑な解析を行うことなく、また、短時間に通信装置のネットワーク機能毎のリソース使用量を算出する制御を実現するという課題がある。
【課題を解決するための手段】
【００１５】
本発明は、制御装置が、ネットワーク機能及び当該ネットワーク機能が使用するリソース等の情報に基づいて、ネットワーク装置におけるリソースの使用形態である使用モデルを特定し、使用モデルに基づいてネットワーク装置における各ネットワーク機能のリソース使用量を算出するシステムを提供する。
【００１６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のネットワーク装置、及び前記複数のネットワーク装置を制御する制御装置を備えるネットワークシステムであって、前記複数のネットワーク装置の各々は、複数のネットワーク機能を実現する制御部と、ネットワーク機能を稼働させるために必要な複数のリソースと、を有し、前記制御装置は、一つ以上のネットワーク装置を用いて構築されるネットワークの要件を管理するネットワーク要求情報、前記複数のネットワーク装置の各々の設定内容を管理する設定情報、及び任意の条件を満たすネットワーク機能に関する情報を管理する機能情報を記憶する記憶部と、前記ネットワーク装置のリソースを管理する第１のリソース管理部と、を有し、前記設定情報は、前記ネットワーク機能の識別情報及び前記ネットワーク機能を稼働するために必要な複数のパラメータの値から構成されるエントリを含み、前記機能情報は、前記ネットワーク機能の識別情報、前記ネットワーク機能の条件、及び前記複数のパラメータの少なくとも一つを独立変数とする関数であり、かつ、前記任意の条件を満たすネットワーク機能によって使用されるリソース使用量を算出するための使用量関数から構成されるエントリを含み、前記第１のリソース管理部は、対象のネットワーク装置を特定し、前記機能情報及び前記ネットワーク要求情報に基づいて、前記対象のネットワーク装置によって構築されるネットワークにおいて必要となる対象のネットワーク機能を特定し、前記対象のネットワーク機能に基づいて前記機能情報を参照して、前記対象のネットワーク機能に対応する前記使用量関数を特定し、前記対象のネットワーク機能に基づいて前記設定情報を参照して、前記特定された使用量関数に関連するパラメータの値を取得し、前記特定された使用量関数に前記取得されたパラメータの値を代入することによって、前記対象のネットワーク装置の前記対象のネットワーク機能によるリソース使用量を算出することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ネットワーク装置のネットワーク機能毎のリソース使用量（余剰リソース量）を正確に把握できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１８】
【図１】実施例１のネットワークシステムの構成例を示す説明図である。
【図２】実施例１のネットワーク制御装置の構成例を説明するブロック図である。
【図３】実施例１のネットワーク装置の構成例を説明するブロック図である。
【図４】実施例１のネットワーク装置リソース情報記憶部に格納されるネットワーク装置リソース使用状況情報の一例を示す説明図である。
【図５】実施例１のネットワーク装置リソース情報記憶部に格納されるネットワーク装置リソース特性情報の一例を示す説明図である。
【図６】実施例１のネットワーク装置リソース情報記憶部に格納されるネットワーク装置設定情報の一例を示す説明図である。
【図７】実施例１のネットワーク装置リソース情報記憶部に格納されるネットワーク機能情報の一例を示す説明図である。
【図８】実施例１の仮想ネットワーク情報記憶部に格納される仮想ネットワーク要求情報の一例を示す説明図である。
【図９】実施例１のネットワークシステムにおけるユースケースの一例を示す説明図である。
【図１０】実施例１のネットワークシステムにおけるユースケースの一例を示す説明図である。
【図１１】実施例１のネットワークシステムにおけるユースケースの一例を示す説明図である。
【図１２】実施例１のネットワークシステムにおけるユースケースの一例を示す説明図である。
【図１３】実施例１のネットワークシステムにおける仮想ネットワークの設定時の処理の流れの一例を説明するシーケンス図である。
【図１４】実施例１のネットワークシステムにおける新規ネットワーク装置の追加時の処理の流れの一例を説明するシーケンス図である。
【図１５】実施例１のネットワーク制御装置が実行する余剰リソース確認処理を説明するフローチャートである。
【図１６】実施例１のネットワーク制御装置が実行する制御方法判定処理を説明するフローチャートである。
【図１７】実施例１のリソース使用量関数の決定方法を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面を参照して実施例の詳細を説明する。
【実施例１】
【００２０】
本実施例における用語の定義を示す。
【００２１】
プロトコルで既定されるネットワーク装置等に設定可能な数（例えば、タグ数、ラベル数、接続可能なネットワーク装置数等）、及び、ネットワーク装置が処理可能な通信量をリソースと呼ぶ。仮想ネットワークは、物理的なネットワーク構成に依存しない仮想的なネットワークであり、ＭＰＬＳ又はＰＢＢ−ＴＥ、ＭＰＬＳ−ＴＰ、ＧＭＰＬＳ（Ｇｅｎｅｒａｌｉｚｅｄ  ＭＰＬＳ）、ＶＬＡＮ、及びＶｘＬＡＮ等のプロトコルを用いて実現される。また、仮想ネットワークのうち、互いにアイソレートされた、すなわち、相互接続されず、また、性能又は可用性などの面で相互に影響されない単位をスライスと呼ぶ。通信パスは、ＭＰＬＳ又はＭＰＬＳ−ＴＰ、及びＶｘＬＡＮ等の仮想ネットワークのスライスを構築する要素であり、他の関係のない通信とアイソレートされた通信トンネルである。なお、通信パスをパスと呼ぶこともある。ネットワーク機能は、ネットワーク装置が有する機能であり、例えば、パケットの転送処理機能、ＯＳＰＦ及びＲＳＶＰ−ＴＥ等のシグナリング機能、ＶＬＡＮをＶｘＬＡＮに変換又はカプセル化し、ＶｘＬＡＮをＶＬＡＮに変換又はディカプセル化する終端機能、ＭＡＣラーニング機能、スタック機能、優先制御機能、廃棄制御機能、ＥＣＭＰ等の経路分散機能、リンクアグリゲーション機能、アクセラレーション機能等のレイヤ２スイッチ又はレイヤ３スイッチ、及び、ＭＰＬＳやＭＰＬＳ−ＴＰ、ＰＢＢ−ＴＥ、ＶｘＬＡＮ等の伝送装置、ルータ、及び、ＷＡＮアクセラレータ、ファイアフォール又はロードバランサ等のミドルボックスが備える機能が含まれる。ネットワーク機能を機能と呼ぶこともある。他の用語は実施例の中で個別に説明する。特に説明がない用語に関しては一般的な定義に従う。
【００２２】
図１は、実施例１のネットワークシステムの構成例を示す説明図である。
【００２３】
実施例１のネットワークシステムは、ネットワーク制御装置１００、７００、ネットワーク管理システム２００、ネットワーク３００、３１０、サーバ４００、ネットワーク装置５００、８００、及びネットワークアプリケーション６００を備える。
【００２４】
また、実施例１のネットワークシステムを構成する上記各要素は、仮想的に実装されてもよい。また、ネットワーク制御装置１００とネットワーク管理システム２００、ネットワークアプリケーション６００はネットワーク３００の外側に配置されているが、ネットワーク３００内に配置されていてもよい。また、ネットワーク制御装置１００とネットワーク管理システム２００とは別々の構成としているが、どちらか一方が両方の機能を備えてもよい。ネットワーク３００、３１０以外のものは、プロセッサ、通信装置、揮発性の記憶装置（ＤＲＡＭ等）、及び、不揮発性の記憶装置（フラッシュメモリ、ハードディスクドライブ等）等を備える計算機によって実現可能である。
【００２５】
ネットワーク制御装置１００は、ネットワーク３００に含まれるネットワーク装置５００を制御する。ネットワーク制御装置１００の構成については図２を用いて後述する。ネットワーク制御装置７００は、ネットワーク３１０に含まれるネットワーク装置８００を制御する。なお、ネットワーク制御装置１００は、複数の計算機から構成されるネットワーク制御システムであってもよい。
【００２６】
ネットワーク管理システム２００は、ネットワーク制御装置１００、ネットワーク３００、３１０、ネットワーク装置５００等を監視し、これらに設定された制御情報等を管理する。ネットワーク管理システム２００は、画面表示及びシステム操作の手段を、ネットワーク管理者等に提供する管理端末を備える。本実施例においては、ネットワーク管理システム２００が送信する要求は、ネットワーク管理者が画面表示を見ながら操作することを例に記載するが、ネットワーク管理システム２００が自ら要求を出力してもよい。
【００２７】
ネットワーク３００は、複数のサーバ４００を接続するネットワークである。ネットワーク３００は、一つ以上のネットワーク装置５００、及び、ネットワーク装置５００との間及びネットワーク装置５００とサーバ４００との間を接続するリンクから構成される。ネットワーク３００は、広域網、又はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。広域網の例として、ＩＳＰ網（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ網）、専用線、広域イーサ等が挙げられる。ネットワーク３００は、ＭＰＬＳ、ＭＰＬＳ−ＴＰ、及びＰＢＢ−ＴＥ等によって複数の仮想ネットワークを構築できるネットワークであってもよく、また、構築された一つの仮想ネットワークのスライス（すなわち、他の関係のない通信から影響されない、アイソレートされたネットワーク）であってもよい。
【００２８】
ネットワーク３１０は、ネットワーク３００と同様に、複数のサーバ４００を接続するネットワークである点でネットワーク３００と同様である。但し、ネットワーク３１０は、ネットワーク制御装置１００の制御対象とならない点がネットワーク３００と異なる。なお、制御対象とならないネットワークとは、ネットワーク制御装置１００が制御できないネットワーク、又は、ネットワーク制御装置１００が制御しないネットワークを示す。ネットワーク３１０の詳細は、ネットワーク３００と同様であるため説明を省略する。
【００２９】
サーバ４００は、データ処理機能等を動作させるための計算資源を提供する計算機であり、ＣＰＵ、メモリ、及びストレージ装置を備える。ここで、データ処理機能とは、データ処理を行うプログラムがあり、例えば、ウェブサーバ、アプリケーションサーバ、又はＤＢ（Ｄａｔａ  Ｂａｓｅ）サーバ等のプログラムが挙げられる。
【００３０】
なお、データ処理機能はＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）を用いて実現されてもよい。ＶＭを用いる場合、サーバ４００内のＶＭ間を接続するネットワークはネットワーク３００に属してもよく、すなわち、サーバ４００内のネットワークの構成要素であるソフトウェアスイッチはネットワーク装置５００であってもよい。
【００３１】
なお、サーバ４００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯端末、又はタブレット等の端末であってもよい。
【００３２】
ネットワーク装置５００は、主にパケットの転送処理を行う装置である。ネットワーク装置５００は、仮想ネットワークを構築するための通信パスの転送又は終端する機能、並びに、通信パスを確立するためのＯＳＰＦ、ＢＧＰ、ＲＳＶＰ−ＴＥ、及びＬＤＰ等のシグナリング等のネットワーク機能を備える。
【００３３】
ネットワーク装置５００−１、５００−２及び５００−５、５００−６は、サーバ４００とネットワーク３００とを接続するネットワーク３００の終端点であり、プロトコルの変換、カプセル化、及びディカプセル化等を行う。ネットワーク装置５００−２、５００−４は、ネットワーク３１０に含まれるネットワーク装置８００とネットワーク３００とを接続する接続点であり、ネットワーク装置８００と相互接続を行い、必要に応じてプロトコル変換、カプセル化、及びディカプセル化を行う。
【００３４】
ネットワークアプリケーション６００は、ネットワーク制御装置１００に対して、仮想ネットワークの作成、削除、変更、及び参照等を要求するシステムである。ネットワークアプリケーション６００は、サーバ４００上で動作するデータ処理機能、データ処理機能を管理する管理システム、サーバを管理する管理システム、端末、又は端末の管理システムを用いて実現される。
【００３５】
ネットワーク制御装置７００は、ネットワーク制御装置１００と同様のものである。ただし、ネットワーク制御装置７００は、ネットワーク３１０を制御する点がネットワーク制御装置１００と異なる。ネットワーク制御装置７００の詳細はネットワーク制御装置１００と同一であるため説明を省略する。
【００３６】
ネットワーク装置８００は、ネットワーク装置５００と同様のものである。ただし、ネットワーク３１０を構成する要素である点がネットワーク装置５００とは異なる。ネットワーク装置８００の詳細はネットワーク装置５００と同様であるため説明を省略する。
【００３７】
図２は、実施例１のネットワーク制御装置１００の構成例を説明するブロック図である。
【００３８】
ネットワーク制御装置１００は、ハードウェア構成としてＣＰＵ１０１、メモリ１０２、通信用ＩＦ１０３、及び受付用ＩＦ１０４を備える。なお、ネットワーク制御装置１００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の不揮発性の記憶装置を備えてもよい。
【００３９】
ＣＰＵ１０１は、メモリ１０２に格納されるプログラムにしたがって、所定の演算処理を実行する。ＣＰＵ１０１がプログラムに基づいて演算処理を実行することによって、ネットワーク制御装置１００が備える機能を実現できる。
【００４０】
メモリ１０２は、ＣＰＵ１０１によって実行されるプログラム及びプログラムを実行するために必要な情報を格納する。メモリ１０２に格納されるプログラム及び情報については後述する。
【００４１】
通信用ＩＦ１０３は、直接又はＥＭＳ（Ｅｌｅｍｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を介して、ネットワーク装置５００に仮想ネットワークの設定、削除、又は変更を通知する。また、通信用ＩＦ１０３は、ネットワーク装置５００が保持する情報を含むメッセージをネットワーク装置５００に送信し、また、情報を含むメッセージをネットワーク装置５００から受信する。
【００４２】
受付用ＩＦ１０４は、ネットワーク制御装置１００に接続されるネットワーク管理システム２００の操作画面等を介して、ネットワーク管理者が仮想ネットワーク若しくはネットワーク装置５００のリソースの使用状況等を参照するため、又は、ネットワークアプリケーション６００が仮想ネットワークの作成等を行うためのノースバンドインタフェースである。
【００４３】
ここで、メモリ１０２に格納されるプログラム及び情報について説明する。メモリ１０２は、制御処理部１１０、ネットワークリソース情報記憶部１２１、ネットワーク装置リソース情報記憶部１２２、及び仮想ネットワーク情報記憶部１２３を実現するプログラムを格納する。
【００４４】
制御処理部１１０は、複数のプログラムモジュールから構成され、ネットワーク制御装置１００全体を制御する。制御処理部１１０は、ネットワークリソース管理部１１１、ネットワーク装置リソース管理部１１２、変更要求部１１３、ネットワーク装置制御部１１４、及び仮想ネットワーク制御部１１５を含む。なお、三つの記憶部を一つ又は二つの記憶部にまとめてもよい。
【００４５】
ネットワークリソース管理部１１１は、ネットワーク３００全体のリソースを管理する。ネットワーク装置リソース管理部１１２は、ネットワーク３００に含まれるネットワーク装置５００のリソースを管理する。変更要求部１１３は、ネットワーク３００全体のリソース及びネットワーク装置５００のリソースに基づいて、ネットワーク３１０の構成を変更するための変更要求情報を生成し、変更要求情報をネットワーク制御装置７００に送信する。ネットワーク装置制御部１１４は、ネットワーク装置５００の設定を制御する。仮想ネットワーク制御部１１５は、仮想ネットワークの設定を制御する。
【００４６】
ネットワークリソース情報記憶部１２１は、ネットワーク３００全体として、プロトコル等のルールに基づいて規定されたリソースの情報を保持する記憶部である。具体的には、ネットワークリソース情報記憶部１２１は、各プロトコルで規定されるドメイン（ＶＬＡＮドメイン又はＶｘＬＡＮドメイン等）毎のリソースの情報を保持する。
【００４７】
例えば、プロトコルがＶＬＡＮのネットワークである場合、ＶＬＡＮのタグ数の上限数「４０９６個」に対して使用されているタグ数、各ユーザとタグとの対応関係等の情報が格納される。また、プロトコルがＶｘＬＡＮの場合は、ＶｘＬＡＮのタグであるＶＮＩの上限数「約１６００万個」に対して、どれだけのタグ数が使用されているか、どのタグが使用されているか等の情報がネットワークリソース情報記憶部１２１に格納される。ＭＰＬＳやＰＢＢ−ＴＥ等も同様であり、ネットワーク３００で一意に決定されるタグやラベル等の情報がネットワークリソース情報記憶部１２１に格納される。ネットワークリソース情報記憶部１２１は既存のネットワーク管理システム等のタグやラベルを管理する情報記憶装置、又は、記憶部によって実現できる。
【００４８】
ネットワーク装置リソース情報記憶部１２２は、ネットワーク装置５００のリソースの情報を保持する記憶部である。ネットワーク装置リソース情報記憶部１２２には、ネットワーク装置リソース使用状況情報１０００、ネットワーク装置リソース特性情報１１００、ネットワーク装置設定情報１２００、及びネットワーク機能情報１３００が格納される。ネットワーク装置リソース情報記憶部１２２に格納される情報については、図４から図７を用いて後述する。
【００４９】
仮想ネットワーク情報記憶部１２３は、仮想ネットワークの情報を保持する記憶部である。仮想ネットワーク情報記憶部１２３には、仮想ネットワーク要求情報１４００が格納される。仮想ネットワーク情報記憶部１２３に格納される情報については、図８を用いて後述する。
【００５０】
図３は、実施例１のネットワーク装置５００の構成例を説明するブロック図である。
【００５１】
ネットワーク装置５００は、ハードウェア構成として、ＣＰＵ５０１、メモリ５０２、及びポート５０３を備える。なお、ネットワーク装置５００は、不揮発性の記憶装置を備えてもよい。
【００５２】
ＣＰＵ５０１及びメモリ５０２は、ＣＰＵ１０１及びメモリ１０２と同一のものであるため説明を省略する。ポート５０３は、物理的なポートである。ポート５０３は、リンクを介して、他のネットワーク装置５００又はサーバ４００に接続される。
【００５３】
メモリ５０２は、制御部５１０、パケット操作部５２０、及び転送処理部５３０を実現するプログラムを格納する。また、メモリ５０２は、パケットの転送等に用いる制御用テーブル５４０を格納する。
【００５４】
制御部５１０は、受信された通信パケットの処理方法を判定する。制御部５１０は、制御方法判定部５１１及びリソース管理部５１２を含む。
【００５５】
制御方法判定部５１１は、シグナリングプロトコルによるネットワーク装置５００間での広告に基づいて制御方法を決定し、また、ネットワーク制御装置１００からの設定等に基づいて転送処理及び優先制御方法を決定する。リソース管理部５１２は、制御用テーブル５４０の等のネットワーク装置５００のリソースの使用状況等を管理する。また、リソース管理部５１２は、ネットワーク制御装置１００からリソース参照要求を受信した場合、所定のリソースの使用状況を通知する。なお、全てのネットワーク装置５００がリソース管理部５１２を備えていなくてもよい。
【００５６】
パケット操作部５２０は、パケット処理部５２１を含む。パケット処理部５２１は、パケットの処理を行う。ここで、パケットの処理とは、ＭＡＣアドレス等のレイヤ２のヘッダの変換、ＶｘＬＡＮとＶＬＡＮとの間のヘッダ変換、ＭＰＬＳ等のラベルスワップ、キューイング、優先制御、及び廃棄制御等である。なお、ヘッダ変換には、カプセル化、及びディカプセル化が含まれる。
【００５７】
転送処理部５３０は、宛先アドレスやタグ又はラベル等の通信パケットのヘッダ情報に基づいて、出力先のポートから通信パケットを出力する。
【００５８】
制御用テーブル５４０は、各種情報を格納する記憶領域（リソース）である。本実施例の制御用テーブル５４０は、制御方法判定部５１１及びパケット処理部５２１等が処理に用いる各種情報を格納する。
【００５９】
図３に示す例では、パケット処理部５２１が参照する制御用テーブルＡ５４０−１及び制御用テーブルＢ５４０−２と、制御方法判定部５１１が参照する制御用テーブルＣ５４０−３とが存在する。制御用テーブルＣ５４０−３には、制御方法判定部５１１が制御方法を決定するための情報、又は、決定した制御方法の情報が格納される。また、制御用テーブルＡ５４０−１及び制御用テーブルＢ５４０−２には、ネットワーク機能の稼働に必要な情報を格納する。
【００６０】
パケット処理部５２１が参照する制御用テーブル５４０として制御用テーブルＡ５４０−１及び制御用テーブルＢ５４０−２とに分けて記載しているが、実態としては一つのメモリによって実現されてもよい。この場合、制御用テーブルＡ５４０−１と制御用テーブルＢ５４０−２との間で、それぞれに割当てられるメモリ量、すなわち、テーブルサイズは動的であってもよいし、静的であってもよい。
【００６１】
動的とは、ネットワーク装置５００において二つの制御用テーブル５４０の境界を区別しておらず、実態としては一つのテーブルを論理的に二つに分割して二つの制御用テーブル５４０を実現されている場合、すなわち、二つの制御用テーブル５４０のテーブルサイズの合計値のみ規定されている場合であって、各制御用テーブル５４０のテーブルサイズが規定されていない状態を示す。
【００６２】
静的とは、ネットワーク装置５００において二つの制御用テーブル５４０の境界が区別されている状態、すなわち、二つの制御用テーブル５４０のテーブルサイズが規定されている状態である。
【００６３】
次に、図４から図８を用いて、ネットワーク制御装置１００が保持する情報について説明する。
【００６４】
図４は、実施例１のネットワーク装置リソース情報記憶部１２２に格納されるネットワーク装置リソース使用状況情報１０００の一例を示す説明図である。
【００６５】
ネットワーク装置リソース使用状況情報１０００は、ネットワーク３００内のネットワーク装置５００のリソースの使用状況に関する情報を格納する。ネットワーク装置リソース使用状況情報１０００は、例えば、後述する余剰リソース確認処理の実行時（ステップＳ２０３０）又はリソース使用量関数の決定時に生成される（ステップＳ３３４０）。
【００６６】
ネットワーク装置リソース使用状況情報１０００は、リソースの種別及び当該リソースを使用するネットワーク機能によって識別可能な複数のエントリを含む。当該エントリは、ネットワーク装置識別子１００１、リソース識別子１００２、サブリソース識別子１００３、リソース総量１００４、余剰リソース量１００５、機能識別子１００６、リソース使用量１００７、最小リソース量１００８、最大リソース量１００９から構成される。なお、エントリは、前述した情報以外のカラムを含んでもよい。
【００６７】
ネットワーク装置識別子１００１は、ネットワーク３００内のネットワーク装置５００を一意に識別するための識別子である。
【００６８】
リソース識別子１００２は、ネットワーク装置５００が有するリソースを一意に識別するための識別子である。ここで、リソースは、ＣＰＵ及び制御用テーブル（メモリ）等の、ネットワーク装置５００がネットワーク機能を動作させるために必要な計算機資源である。
【００６９】
サブリソース識別子１００３は、ネットワーク装置５００が有するサブリソースを一意に識別するための識別子である。ここで、サブリソースは、論理的に物理的なリソースを分割されたリソースである。例えば、リソースが制御用テーブルである場合、用途に応じて当該制御用テーブルが複数の論理的な制御用テーブルに分割される。分割された制御用テーブルは、それぞれに用途に応じて使用される。
【００７０】
リソース総量１００４は、リソース又はサブリソースの総量である。例えば、リソースが制御用テーブルの場合には制御用テーブルのテーブルサイズがリソース総量１００４に格納され、リソースがＣＰＵのプロセッサ数又はスレッド等がリソース総量１００４に格納される。
【００７１】
余剰リソース量１００５は、使用されていないリソースの量、又は、サブリソースの量である。例えば、リソースが制御用テーブルの場合には、使用されていないサイズが余剰リソース量１００５に格納され、リソースがＣＰＵの場合には、使用されていないプロセッサ数又はスレッド数等が余剰リソース量１００５に格納される。
【００７２】
機能識別子１００６は、ネットワーク装置５００が有するネットワーク機能を一意に識別するための識別子である。
【００７３】
リソース使用量とは、機能識別子１００６に対応するネットワーク機能によって使用されるリソース又はサブリソースの使用量である。最小リソース量は、機能識別子１００６に対応するネットワーク機能を動作させるために必要な最小のリソースの量又はサブリソースの量である。最大リソース量は、機能識別子１００６に対応するネットワーク機能において使用可能な最大のリソースの量又はサブリソースの量である。
【００７４】
図５は、実施例１のネットワーク装置リソース情報記憶部１２２に格納されるネットワーク装置リソース特性情報１１００の一例を示す説明図である。
【００７５】
ネットワーク装置リソース特性情報１１００は、ネットワーク装置５００のリソースの特性に関する情報を格納する。ネットワークリソース情報記憶部１２１には、ネットワーク装置５００毎にネットワーク装置リソース特性情報１１００が格納される。ネットワーク装置リソース特性情報１１００は、例えば、後述するリソース使用量関数の決定時（ステップＳ３３８０）に生成される。
【００７６】
ネットワーク装置リソース特性情報１１００は、リソースの種別及び当該リソースを使用するネットワーク機能によって識別可能な複数のエントリを含む。当該エントリは、リソース識別子１１０１、サブリソース識別子１１０２、リソース種別１１０３、機能識別子１１０４から構成される。なお、エントリは、前述した情報以外のカラムを含んでもよい。
【００７７】
リソース識別子１１０１、サブリソース識別子１１０２、及び機能識別子１１０４は、リソース識別子１００２、サブリソース識別子１００３、及び機能識別子１００６と同一のものである。
【００７８】
リソース種別１１０３は、リソースの種別を表わす。例えば、リソース種別１１０３には、「ＣＰＵ」及び「制御用テーブル」等が格納される。
【００７９】
図６は、実施例１のネットワーク装置リソース情報記憶部１２２に格納されるネットワーク装置設定情報１２００の一例を示す説明図である。
【００８０】
ネットワーク装置設定情報１２００は、ネットワーク機能毎に複数の設定情報を含む。ネットワークリソース情報記憶部１２１は、ネットワーク機能の識別子と対応付けて各設定情報を管理する。ネットワーク装置設定情報１２００は、例えば、後述する設定要求情報の送信時（ステップＳ２０５０）又は構成変更要求情報の送信時（ステップＳ２０７０）に生成される。
【００８１】
各ネットワーク機能の設定情報には、ネットワーク機能を稼働させるために必要な各種パラメータの値が格納される。図６では、ＶＬＡＮに対応するネットワーク機能の設定情報１２１０を示している。ＶＬＡＮの設定情報１２１０は、ネットワーク装置識別子１２１１、ＶＬＡＮタグ１２１２、及びポート番号１２１３を含む。なお、設定情報１１１０は、前述した情報以外のカラムを含んでもよい。
【００８２】
ネットワーク装置識別子１２１１は、ネットワーク装置識別子１００１と同一のものである。ＶＬＡＮタグ１２１２は、ＶＬＡＮを識別するための識別子である。ポート番号１２１３は、ＶＬＡＮタグが割り当てられたポート５０３の識別番号である。
【００８３】
図７は、実施例１のネットワーク装置リソース情報記憶部１２２に格納されるネットワーク機能情報１３００の一例を示す説明図である。
【００８４】
ネットワーク機能情報１３００は、任意の条件を満たすネットワーク機能に関する情報を格納する。ネットワーク機能情報１３００は、ネットワーク制御装置１００の導入時に設定されている。ただし、リソース使用量関数１３０４は、後述するリソース使用量関数の決定時に生成される。
【００８５】
ネットワーク機能情報１３００は、ネットワーク機能の識別子及び条件の組み合わせによって識別可能な複数のエントリを含む。当該エントリは、機能識別子１３０１、停止可否１３０２、縮退可否１３０３、リソース使用量関数１３０４、関連機能識別子１３０５、通信帯域１３０６、通信遅延１３０７、経路冗長数１３０８、装置冗長数１３０９、復旧時間１３１０、及び帯域保証１３１１から構成される。機能識別子１３０１は、機能識別子１００６と同一のものである。
【００８６】
停止可否１３０２は、ネットワーク機能を停止可能か、否かを示すフラグである。
【００８７】
縮退可否１３０３は、ネットワーク機能を縮退可能か、否かを示すフラグである。なお、縮退可否は、可否の代わりに、縮退可能な場合で、かつ、縮退するレベルとして複数段階ある場合は縮退レベルを示してもよい。
【００８８】
リソース使用量関数１３０４は、ネットワーク機能によって使用されるリソースの使用量、又は、サブリソースの使用量を算出するための関数が格納される。リソース使用量関数１３０４には、例えば、下式（１）又は下式（２）に示すような関数が格納される。
【００８９】
【数１】
0006403621.tif 000002
【００９０】
【数２】
0006403621.tif 000003
【００９１】
式（１）は、リソース識別子又はサブリソース識別子が「１」のリソース又はサブリソースの使用量を算出するための関数である。また、式（２）は、リソース識別子又はサブリソース識別子が「２」のリソース又はサブリソースの使用量を算出するための関数である。
【００９２】
ここで、ｘｉ及びｙｉはＶＬＡＮタグの数を表す。ｐはＶＬＡＮタグが割り当てられるポート５０３の数を表す。ｎは、ＶＬＡＮタグが割り当てられる仮想ネットワークが接続するネットワーク装置５００の数を表し、任意のＶＬＡＮタグが割り当てられる仮想ネットワークにおいてネットワーク装置５００がＭＡＣアドレスを学習するサーバ４００及びネットワーク装置５００の数に対応する。
【００９３】
リソース使用量関数１３０４に設定される関数は、図１７に示すように、ネットワーク制御装置１００によって算出される。なお、管理者等が直接設定してもよい。
【００９４】
関連機能識別子１３０５は、機能識別子１３０１に対応するネットワーク機能と同一のリソースを共用するネットワーク機能の識別子である。すなわち、関連機能識別子１３０５は、機能識別子１３０１に対応するネットワーク機能が停止又は縮退した場合に、使用可能なリソース量に影響を与えるネットワーク機能を示す。
【００９５】
通信帯域１３０６は、通信可能な帯域である。例えば、リンクアグリゲーションを使用するネットワーク機能において、当該リンクアグリゲーションを停止した場合、通信帯域１３０６の値が減少する。
【００９６】
通信遅延１３０７は、通信にかかる時間（装置による転送遅延とリンクを通信パケットが移動するのに要する伝送遅延の合計）である。通信遅延１３０７には、例えば、ＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）が格納される。
【００９７】
経路冗長数１３０８は、通信経路の冗長数である。例えば、ＥＣＭＰによって複数の経路に負荷分散される場合、ＥＣＭＰの経路数を減らすと経路冗長数１３０８の値が減少する。
【００９８】
装置冗長数１３０９は、冗長化されるネットワーク装置５００の数である。例えば、装置冗長数１３０９には、アクティブ状態のネットワーク装置５００に対するスタンバイ状態のネットワーク装置５００の数、又は、マルチシャーシスタック等のアクティブ／アクティブ構成で動作するネットワーク装置５００の数が格納される。
【００９９】
復旧時間１３１０は、ネットワーク装置５００の障害又はリンクの障害によって通信断になってから通信が復旧までに要する時間である。例えば、通信パスの局所的な切り替えによって瞬断切換えが可能なＦＲＲ（Ｆａｓｔ  ＲｅＲｏｕｔｅ）等のローカルリペア機能とエンドエンドで通信パスを切り替えるグローバルリペア機能とが動作している場合に、ローカルリペア機能を停止した場合、復旧時間１３１０の値が大きくなる。
【０１００】
帯域保証１３１１は、帯域を保証の可否をフラグである。例えば、優先クラスを分けるマーキング、及びＰＱ（Ｐｒｉｏｒｉｔｙ  Ｑｕｅｉｎｇ）等の機能を停止することによって、保証不可になる。
【０１０１】
図８は、実施例１の仮想ネットワーク情報記憶部１２３に格納される仮想ネットワーク要求情報１４００の一例を示す説明図である。
【０１０２】
仮想ネットワーク要求情報１４００は、仮想ネットワークの要件に関する情報を格納する。仮想ネットワーク要求情報１４００は、ネットワークアプリケーション６００等から仮想ネットワーク設定要求を受信したときに生成される。
【０１０３】
仮想ネットワーク要求情報１４００は、仮想ネットワークの識別子によって識別可能な複数のエントリを含む。当該エントリは、仮想ネットワーク識別子１４０１、経由ネットワーク装置識別子１４０２、機能要件１４０３、通信帯域１４０４、通信遅延１４０５、経路冗長数１４０６、装置冗長数１４０７、復旧時間１４０８、及び帯域保証１４０９から構成される。
【０１０４】
仮想ネットワーク識別子１４０１は、仮想ネットワークを一意に識別するための識別子である。
【０１０５】
経由ネットワーク装置識別子１４０２は、仮想ネットワークが経由するネットワーク装置５００の識別子である。仮想ネットワークが経由するネットワーク装置とは、仮想ネットワークの始点及び終点となるネットワーク装置５００を含む仮想ネットワークを構成するパスが経由する複数のネットワーク装置５００を示す。
【０１０６】
機能要件１４０３は、仮想ネットワークにおいて要求されるネットワーク機能である。機能要件１４０３には、機能識別子１００６等に格納される識別子が一つ以上格納される。
【０１０７】
通信帯域１４０４、通信遅延１４０５、経路冗長数１４０６、装置冗長数１４０７、復旧時間１４０８、及び帯域保証１４０９は、通信帯域１３０６、通信遅延１３０７、経路冗長数１３０８、装置冗長数１３０９、復旧時間１３１０、及び帯域保証１３１１と同一のものである。
【０１０８】
以上で述べたように、ネットワーク制御装置１００は、前述した各種情報を用いてネットワーク３００を制御する。具体的には、各情報に基づいて以下のような制御が行われる。
【０１０９】
ネットワーク制御装置１００は、ネットワーク装置リソース使用状況情報１０００及びネットワーク装置設定情報１２００に基づいて、ネットワーク装置の余剰リソースを把握できる。これによって、ネットワーク制御装置１００は、ネットワーク装置５００の余剰リソースを管理し、リソースの使用量に応じて、経路数、及び終端となるネットワーク装置５００を制御できる。
【０１１０】
また、ネットワーク制御装置１００は、ネットワーク３００にネットワーク装置５００が追加される場合に、ネットワーク装置リソース使用状況情報１０００に基づいて、追加されたネットワーク装置５００と論理的に接続される他のネットワーク装置５００においてリソース使用量の増加に伴う余剰リソースの不足に起因するネットワーク機能等の動作の異常を特定できる。
【０１１１】
また、ネットワーク制御装置１００は、各ネットワーク機能のリソース使用量、最小リソース量、及び最大リソース量を管理することによって、各機能が使用するリソース量を特定でき、優先度の高い機能を動作させるために、どのネットワーク機能を停止又は縮退させることによって、十分な余剰リソース量を確保できるかを特定できる。
【０１１２】
また、ネットワーク制御装置１００は、各ネットワーク機能のリソース使用量、最小リソース量、及び最大リソース量を管理することによって、リソースの使用量が多いネットワーク機能の特定、当該ネットワーク機能を処理するネットワーク装置５００の特定が可能となる。これによって、一部のネットワーク装置５００への処理集中に起因して設定可能な仮想ネットワーク数が減少する場合に、リソース使用量が多いネットワーク機能を、余剰リソースが多いネットワーク装置５００において動作させるように制御できる。これによって、設定可能な仮想ネットワーク数を増加できる。
【０１１３】
また、ネットワーク制御装置１００は、各ネットワーク装置５００で動作するネットワーク機能と、各ネットワーク機能のリソース使用量、最小リソース量、最大リソース量、及び、ネットワーク機能情報１３００の停止可否１３０２及び縮退可否１３０３等を管理することによって、複数のネットワーク装置５００において重複するネットワーク機能を一部のネットワーク装置５００に集約でき、さらに、重複するネットワーク機能のうち、リソース使用量が多いネットワーク機能を特定できる。これによって、停止又は縮退が可能なネットワーク機能を特定でき、また、リソース使用量が多いネットワーク機能を特定できるため、ネットワーク機能を停止又は縮退することによって、ネットワーク装置５００のリソースが効率的に利用され、仮想ネットワークの設定数を増やすことができる。
【０１１４】
ネットワーク制御装置１００は、ネットワーク装置リソース特性情報１１００に基づいて、任意のネットワーク機能を任意のネットワーク装置５００で新たに動作させる場合に、確認するリソース及びサブリソースを特定できる。また、ネットワーク制御装置１００は、ネットワーク装置リソース特性情報１１００に基づいて、同一のリソース又はサブリソースを共用するネットワーク機能を特定できるため、任意のネットワーク機能が使用するリソースが不足している場合に、停止又は縮退させるネットワーク機能を特定でき、また、任意の機能のリソース使用量が増えた場合に、リソースを削減するネットワーク機能を特定できる。
【０１１５】
ネットワーク制御装置１００は、ネットワーク機能情報１３００に基づいて、任意のネットワーク機能の停止又は縮退が可能か否かを判定できる。また、ネットワーク制御装置１００は、前述の判定の際に、仮想ネットワーク要求情報１４００と併せて判定することによって、仮想ネットワークの要件を満たすことが可能な範囲で停止又は縮退させるネットワーク機能を特定できる。
【０１１６】
また、ネットワーク制御装置１００は、ネットワーク３００へ新規ネットワーク装置５００を追加することによって新規ネットワーク装置５００と論理的に接続される他のネットワーク装置５００においてリソース使用量の増加に伴う余剰リソースの不足に起因するネットワーク機能等の動作の異常が発生する場合に、どのネットワーク装置５００のネットワーク機能を停止又は縮退させれば、ネットワーク３００に新規ネットワーク装置５００を設置できるかを判定できる。
【０１１７】
次に、実施例１のネットワークシステムにおけるユースケース毎の効果について説明する。図９、図１０、図１１、及び図１２は、実施例１のネットワークシステムにおけるユースケースの一例を示す説明図である。図９から図１２において、点線は変更前の通信経路を示し、実線は変更後の通信経路を示す。
【０１１８】
図９は、経路数が削減されるユースケースを示す説明図である。
【０１１９】
経路数が変更される前、サーバ４００−１とサーバ４００−３との間では、点線で示すパスＡ−１及びパスＡ−２の二つの通信経路を用いて通信が行われている。ネットワーク制御装置１００は、ネットワーク装置５００−１のリソースの不足を検出した場合、通信経路数を削減する。具体的には、ネットワーク制御装置１００は、通信経路数を２から１に削減して、一つの通信経路に変更することによってネットワーク装置５００−１のリソース不足が解消されると判定した場合、二つのパスＡ−１、Ａ−２から実線で示すパスＡ’へと通信経路が削減される。これによって、ネットワーク装置５００−１のリソースの不足が解消される。
【０１２０】
図１０は、一部のネットワーク装置５００へのネットワーク機能の集中によるリソース不足が発生した場合にネットワーク装置５００の負荷を分散させるユースケースを示す説明図である。
【０１２１】
経路が変更される前、ネットワーク装置５００−２及びネットワーク装置５００−５のリソースが不足している状態である。ネットワーク装置５００−２はサーバ４００−４とネットワーク３００とを繋ぐ終端点であり、かつ、ネットワーク３１０とを繋ぐ終端点でもある。経路変更前では、ネットワーク装置５００−２では複数の異なるネットワーク機能が動作するため、リソースが不足した状態となっている。また、ネットワーク装置５００−５は、パスＢ及びパスＣに示すように多数の仮想ネットワークを終端するためにリソースが不足した状態となっている。
【０１２２】
そこで、ネットワーク制御装置１００は、パスＣをパスＣ’に変更する。これによって、ネットワーク装置５００−２及びネットワーク装置５００−５を経由する通信経路数が削減されるため、ネットワーク装置５００−２及びネットワーク装置５００−５のリソースの不足が解消される。
【０１２３】
図１１は、一部のネットワーク装置５００へのネットワーク機能の集中によってリソースが不足した場合に不要な仮想ネットワークを削除するユースケースを示す説明図である。
【０１２４】
例えば、任意の仮想ネットワークのパスＤが未使用の状態である場合、ネットワーク制御装置１００は、パスＤを削除する。これによって、新規パスＥが設定可能になる。
【０１２５】
図１２は、ネットワーク３００への新規ネットワーク装置５００の追加又はサーバ４００の追加に伴うユースケースを示す説明図である。
【０１２６】
ネットワーク制御装置１００は、ネットワーク３００への新規ネットワーク装置５００の追加、又は、ネットワーク３００に接続するサーバ４００の追加に伴ってリソースが不足するネットワーク装置５００を特定し、既存のネットワーク装置５００への影響の有無を判定する。
【０１２７】
図１３は、実施例１のネットワークシステムにおける仮想ネットワークの設定時の処理の流れの一例を説明するシーケンス図である。
【０１２８】
ネットワークアプリケーション６００は、ネットワーク制御装置１００に仮想ネットワーク設定要求を送信する（ステップＳ２０１０）。仮想ネットワーク設定要求には、仮想ネットワーク要求情報１４００の各カラムに対応する情報等が含まれる。ネットワーク制御装置１００は、仮想ネットワーク設定要求を受信した場合、仮想ネットワーク設定要求に基づいて仮想ネットワーク要求情報１４００を更新する。具体的には、ネットワーク制御装置１００は、仮想ネットワーク要求情報１４００に新たなエントリを追加し、追加されたエントリのカラムに仮想ネットワーク設定要求に含まれる情報を設定する。
【０１２９】
なお、実施例１では、ネットワークアプリケーション６００が仮想ネットワークの設定要求をネットワーク制御装置１００に送信するが、ネットワーク管理システム２００、又はネットワーク３１０のネットワーク制御装置７００が送信してもよい。
【０１３０】
次に、ネットワーク制御装置１００のネットワークリソース管理部１１１は、仮想ネットワーク設定要求を受信した後、ネットワーク３００のリソースの使用状況を確認する（ステップＳ２０１５）。ここでは、ネットワーク装置５００のリソース量は考慮されず、ネットワーク３００全体として、プロトコル等で規定されたリソース量（例えば、ＶＬＡＮの場合は４０９６個のＶＬＡＮタグ数）に空きがあるか否かが確認される。ここでは、ネットワーク３００全体のリソース量は十分足りているものとする。なお、ステップＳ２０１５の処理は既存の技術を用いればよいため説明を省略する。
【０１３１】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ネットワーク装置５００に対して、リソース参照要求を送信する（ステップＳ２０２０）。これによって、ネットワーク制御装置１００は、ネットワーク装置５００の各ネットワーク機能のリソース使用量等を把握できる。
【０１３２】
ネットワーク装置５００は、リソース参照要求を受信した場合、以下のような処理を実行する。ネットワーク装置５００がリソース管理部５１２を備える場合、リソース管理部５１２が、ネットワーク装置５００の識別子、リソースの識別子、サブリソースの識別子、リソース総量、余剰リソース量、ネットワーク機能の識別子、及びネットワーク機能毎のリソース使用量等を含む応答をネットワーク制御装置１００に送信する。ネットワーク装置５００がリソース管理部５１２を備えていない場合、制御部５１０が、エラー等をネットワーク制御装置１００に通知する。
【０１３３】
ネットワーク制御装置１００は、ネットワーク装置５００からリソース参照要求に対する応答を受信した場合、ネットワーク装置リソース使用状況情報１０００を参照して、ネットワーク装置識別子１００１、リソース識別子１００２、及びサブリソース識別子１００３が、応答に含まれるネットワーク装置の識別子、リソースの識別子、及びサブリソースの識別子に対応するエントリを検索する。ネットワーク制御装置１００は、検索されたエントリのリソース総量１００４、余剰リソース量１００５、機能識別子１００６、リソース使用量１００７に応答に含まれる値を設定する。
【０１３４】
なお、ネットワーク制御装置１００は、ネットワーク装置５００にリソース参照要求を必ずしも送信しなくてもよい。例えば、ネットワーク制御装置１００が、別途の方法によりネットワーク装置５００のリソースの使用状況を把握できる場合、ネットワーク装置５００のリソースの使用状況を把握しなくても仮想ネットワークを設定可能である場合等が考えられる。ネットワーク装置５００のリソースの使用状況を把握しなくても仮想ネットワークを設定可能である場合には、ネットワーク３００上に初めて仮想ネットワークが設定される場合が考えられる。
【０１３５】
次に、ネットワーク制御装置１００は、リソース参照要求に対する応答がないネットワーク装置５００又はエラーを通知したネットワーク装置５００に対して、余剰リソース確認処理を実行する（ステップＳ２０３０）。なお、一部のリソースに対する応答のみを送信したネットワーク装置５００に対しても余剰リソース確認処理が実行される。
【０１３６】
余剰リソース確認処理では、ネットワーク制御装置１００が、余剰リソースが不足するネットワーク装置５００、リソース識別子、サブリソース識別子、及び、仮想ネットワークの設定に必要な機能識別子等を特定する。具体的な処理については、図１５を用いて説明する。
【０１３７】
次に、ネットワーク制御装置１００は、制御方法判定処理を実行する（ステップＳ２０４０）。制御方法判定処理の詳細を、図１６を用いて説明する。
【０１３８】
なお、制御方法判定処理は、リソースの余剰リソース量が不足している場合、サブリソースの余剰リソース量の不足している場合、リソースの余剰リソース量の不足が予想される場合、又は、サブリソースの余剰リソース量の不足が予想される場合の何れにも該当しない場合、必ずしも実行する必要はない。
【０１３９】
ネットワーク制御装置１００は、制御方法判定処理の結果、ネットワーク機能を停止又は縮退すると判定したネットワーク装置５００に対して、ネットワーク機能を停止又は縮退する設定変更を行う（ステップＳ２０５０）。このとき、設定内容に応じてネットワーク装置設定情報１２００が更新される。なお、ネットワーク装置設定情報１２００の更新方法は既存のものであるため詳細な説明は省略する。
【０１４０】
ネットワーク３１０にまたがってネットワーク装置５００及びネットワーク装置８００の設定を変更する必要がある場合、ステップＳ２０６０からステップＳ２０９０の処理が実行される。
【０１４１】
まず、ネットワーク制御装置１００の変更要求部１１３は、ネットワーク３１０のネットワーク制御装置７００に送信する構成変更要求情報を生成する（ステップＳ２０６０）。なお、構成変更要求情報を生成する方法は、ドメイン間のインターワークに関する既存技術を適用すればよいため、詳細な説明を省略する。
【０１４２】
次に、ネットワーク制御装置１００の変更要求部１１３は、ネットワーク３１０のネットワーク制御装置７００に構成変更要求情報を送信する（ステップＳ２０７０）。
【０１４３】
ネットワーク３１０のネットワーク制御装置７００は、ネットワーク装置８００に対して設定変更を行う（ステップＳ２０８０）。また、ネットワーク３１０のネットワーク制御装置７００は、ネットワーク制御装置１００に対して、構成変更の結果を通知する（ステップＳ２０９０）。
【０１４４】
ネットワーク制御装置１００は、ネットワーク３００の設定変更に伴って、ネットワーク装置リソース使用状況情報１０００、及びネットワーク装置設定情報１２００を更新する（ステップＳ２１００）。ネットワーク制御装置１００は、仮想ネットワークの設定結果をネットワークアプリケーション６００に通知する（ステップＳ２１１０）。
【０１４５】
以上のような処理によって、図９から図１１に示すようなユースケースの制御が実現される。
【０１４６】
図１４は、実施例１のネットワークシステムにおける新規ネットワーク装置５００の追加時の処理の流れの一例を説明するシーケンス図である。
【０１４７】
ネットワーク管理システム２００は、ネットワーク装置５００の追加確認要求をネットワーク制御装置１００に送信する（ステップＳ２２１０）。
【０１４８】
ネットワーク制御装置１００は、ネットワーク装置５００の追加確認要求を受信した後、ネットワーク装置５００にリソース参照要求を送信し（ステップＳ２２２０）、余剰リソース確認処理を実行し（ステップＳ２２３０）、また、制御方法判定処理を実行する（ステップＳ２２４０）。ステップＳ２２２０、ステップＳ２２３０、及びステップＳ２２４０の処理は、ステップＳ２０２０、ステップＳ２０３０、及びステップＳ２０４０の処理と同一のものである。
【０１４９】
ネットワーク制御装置１００は。ネットワーク管理システム２００に、制御方法確認要求を送信する（ステップＳ２２５０）。ここで、制御方法確認要求は、制御方法判定処理において決定された制御方法を実行してもよいか否かを確認するための要求である。例えば、停止又は縮退と判定されたネットワーク機能を実際に停止又は縮退してもよいか否かを確認する制御方法確認要求が送信される要求である。
【０１５０】
ネットワーク管理システム２００は、制御方法確認要求に対する応答をネットワーク制御装置１００に送信する（ステップＳ２２６０）。当該応答が、制御方法の実行を許可しない旨の応答である場合、ネットワーク制御装置１００は、制御を行うことなく処理を終了する。
【０１５１】
制御方法の実行を許可する旨の応答である場合、ネットワーク制御装置１００は、制御方法判定処理の結果に基づいて、ネットワーク装置５００に対して設定変更を行う（ステップＳ２２７０）。
【０１５２】
次に、ネットワーク制御装置１００は、ネットワーク装置リソース使用状況情報１０００、及びネットワーク装置設定情報１２００を更新する（ステップＳ２２８０）。ステップＳ２２８０の処理はステップＳ２１００の処理と同一のものである。
【０１５３】
次に、ネットワーク制御装置１００は、仮想ネットワーク設定結果をネットワーク管理システム２００に通知する（ステップＳ２２９０）。
【０１５４】
以上のような処理によって、図１２に示すようなユースケースの制御が実現される。
【０１５５】
なお、本実施例では、ネットワーク制御装置１００は、仮想ネットワークの構築時、又は、新規ネットワーク装置５００の追加時等に、余剰リソース確認処理を実行しているが、これに限定されない。例えば、ネットワーク制御装置１００は、ネットワークアプリケーション６００から余剰リソース確認処理の実行指示を受信した場合、又は、周期的に、余剰リソース確認処理を実行してもよい。
【０１５６】
図１５は、実施例１のネットワーク制御装置１００が実行する余剰リソース確認処理を説明するフローチャートである。
【０１５７】
ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、仮想ネットワークの設定又は変更によって影響を受けるネットワーク装置５００を特定する（ステップＳ３０１０）。具体的には、ネットワーク装置リソース管理部１１２は、仮想ネットワーク要求情報１４００を参照して、受信した仮想ネットワーク要求情報に対応するエントリの経由ネットワーク装置識別子１４０２から、全ての識別子を取得する。ネットワーク装置リソース管理部１１２は、取得されたネットワーク装置５００の識別子をメモリ１０２に一時的に保持する。
【０１５８】
ネットワーク制御装置１００の仮想ネットワーク制御部１１５は、仮想ネットワーク要求情報１４００に基づいて、仮想ネットワークに必要なネットワーク機能を特定する（ステップＳ３０２０）。具体的には、以下のような処理が実行される。
【０１５９】
仮想ネットワーク制御部１１５は、仮想ネットワーク要求情報１４００の対応するエントリの機能要件１４０３から、ネットワーク機能の識別子を取得する。
【０１６０】
また、仮想ネットワーク制御部１１５は、当該エントリの通信帯域１４０４、通信遅延１４０５、経路冗長数１４０６、装置冗長数１４０７、復旧時間１４０８、及び帯域保証１４０９と、ネットワーク機能情報１３００の通信帯域１３０６、通信遅延１３０７、経路冗長数１３０８、装置冗長数１３０９、復旧時間１３１０、及び帯域保証１３１１とを比較し、要求される要件を全て満たすネットワーク機能の識別子を全て検索する。
【０１６１】
例えば、経路冗長数１４０６が「２」である場合、ネットワーク機能情報１３００の経路冗長数１３０８が「２」以上であるエントリ、すなわち、ネットワーク機能が検索される。経路冗長数１４０６以外にも値が設定されている場合、全ての値を満たすネットワーク機能が検索される。
【０１６２】
ネットワーク制御装置１００は、以上の処理によって取得されたネットワーク機能の識別子をメモリ１０２上に一時的に保持する。以上がステップＳ３０２０の処理の説明である。
【０１６３】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ネットワーク装置リソース特性情報１１００に基づいて、特定された各ネットワーク機能に関連するリソース及びサブリソースを特定する（ステップＳ３０３０）。
【０１６４】
具体的には、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース特性情報１１００の機能識別子１１０４が、ステップＳ３０２０において特定された各ネットワーク機能の識別子と一致するエントリを検索し、検索されたエントリのリソース識別子１１０１、及びサブリソース識別子１１０２を取得する。ネットワーク装置リソース管理部１１２は、ネットワーク機能の識別子、リソースの識別子、及びサブリソースの識別子を対応付けてメモリ１０２に一時的に保持する。
【０１６５】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ネットワーク装置５００のループ処理を開始する（ステップＳ３０４０）。具体的には、ネットワーク装置リソース管理部１１２は、ステップＳ３０１０において取得されたネットワーク装置５００の識別子の中から、対象のネットワーク装置５００の識別子を選択する。
【０１６６】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ネットワーク機能のループ処理を開始する（ステップＳ３０５０）。具体的には、ネットワーク装置リソース管理部１１２は、ステップＳ３０２０において特定されたネットワーク機能の識別子の中から、対象のネットワーク機能の識別子を選択する。
【０１６７】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、対象のネットワーク装置５００の対象のネットワーク機能によるリソース使用量を算出する（ステップＳ３０６０）。具体的には、以下のような処理が実行される。
【０１６８】
ネットワーク装置リソース管理部１１２は、ネットワーク機能情報１３００を参照して、機能識別子１３０１が対象のネットワーク機能の識別子と一致するエントリを検索し、検索されたエントリのリソース使用量関数１３０４から関数を取得する。
【０１６９】
また、ネットワーク装置リソース管理部１１２は、対象のネットワーク装置５００の識別子、及び対象のネットワーク機能の識別子に基づいて、ネットワーク装置設定情報１２００から所定の設定情報を取得する。ネットワーク装置リソース管理部１１２は、取得された設定情報から各種パラメータを取得する。ネットワーク装置リソース管理部１１２は、設定情報から取得されたパラメータを関数に代入することによって、リソース又はサブリソースの使用量を算出する。
【０１７０】
ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース使用状況情報１０００を参照して、ネットワーク装置識別子１００１が対象のネットワーク装置５００の識別子と一致し、かつ、リソース識別子１００２、サブリソース識別子１００３、及び機能識別子１００６が、ステップＳ３０３０において特定されたリソースの識別子、サブリソースの識別子、及びネットワーク機能の識別子と一致するエントリを検索する。ネットワーク装置リソース管理部１１２は、検索されたエントリのリソース使用量１００７に、関数を用いて算出された値を設定する。以上がステップＳ３０６０の処理の説明である。
【０１７１】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、対象のネットワーク装置５００の対象のネットワーク機能における余剰リソース量を算出する（ステップＳ３０７０）。
【０１７２】
具体的には、ネットワーク装置リソース管理部１１２は、ステップＳ３０６０において、ネットワーク装置リソース使用状況情報１０００から検索されたエントリのリソース総量１００４の値からリソース使用量１００７の値を減算することによって余剰リソース量１００５を算出する。ネットワーク装置リソース管理部１１２は、算出された値を検索されたエントリの余剰リソース量１００５に設定する。
【０１７３】
また、ネットワーク装置リソース管理部１１２は、余剰リソース量１００５の値から予め規定された値を減算することによって、余剰リソース量の推定値を算出してもよい。これによって、余剰リソース量の不足の予測が可能となる。
【０１７４】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、余剰リソース量が不足するか否かを判定する（ステップＳ３０８０）。
【０１７５】
具体的には、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース使用状況情報１０００から検索されたエントリの余剰リソース量１００５の値及びリソース使用量１００７の値を取得し、余剰リソース量１００５の値がリソース使用量１００７の値より大きいか否かを判定する。余剰リソース量１００５の値がリソース使用量１００７の値以下の場合、ネットワーク装置リソース管理部１１２は、余剰リソース量が不足すると判定する。
【０１７６】
余剰リソース量が不足すると判定された場合、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、対象のネットワーク装置５００をリソース量が不足するネットワーク装置５００として登録する（ステップＳ３０９０）。その後、ネットワーク制御装置１００は、ステップＳ３１２０に進む。
【０１７７】
具体的には、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース使用状況情報１０００から検索されたエントリのリソース使用量１００７の値から余剰リソース量１００５の値を減算して、不足リソース量を算出する。また、ネットワーク装置リソース管理部１１２は、当該エントリのネットワーク装置識別子１００１、リソース識別子１００２、サブリソース識別子１００３、機能識別子１００６、及び、不足リソース量を対応付けた情報をメモリ１０２に一時的に保持する。
【０１７８】
余剰リソース量が不足しないと判定された場合、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、余剰リソース量の不足が予想されるか否かを判定する（ステップＳ３１００）。
【０１７９】
具体的には、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース使用状況情報１０００から検索されたエントリのリソース使用量１００７の値を取得し、余剰リソース量の推定値がリソース使用量１００７の値より大きいか否かを判定する。余剰リソース量の推定値がリソース使用量１００７の値以下の場合、ネットワーク装置リソース管理部１１２は、余剰リソース量の不足が予想されると判定する。
【０１８０】
余剰リソース量の不足が予想されると判定された場合、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、対象のネットワーク装置５００をリソース量の不足が予想されるネットワーク装置５００として登録する（ステップＳ３１１０）。その後、ネットワーク制御装置１００は、ステップＳ３１２０に進む。
【０１８１】
具体的には、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース使用状況情報１０００から検索されたエントリのリソース使用量１００７の値から余剰リソース量の推定値を減算して、不足リソース量の推定値を算出する。また、ネットワーク装置リソース管理部１１２は、当該エントリのネットワーク装置識別子１００１、リソース識別子１００２、サブリソース識別子１００３、機能識別子１００６、及び、不足リソース量の推定値を対応付けた情報をメモリ１０２に一時的に保持する。
【０１８２】
ステップＳ３０９０、ステップＳ３１００、又はステップＳ３１１１の処理の後、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、対象のネットワーク装置５００について全てのネットワーク機能に関する処理が完了したか否かを判定する（ステップＳ３１２０）。
【０１８３】
対象のネットワーク装置５００について全てのネットワーク機能に関する処理が完了していないと判定された場合、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ステップＳ３０５０に戻り、同様の処理を実行する。
【０１８４】
対象のネットワーク装置５００について全てのネットワーク機能に関する処理が完了したと判定された場合、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ステップＳ３０１０において特定された全てのネットワーク装置５００について処理が完了したか否かを判定する（ステップＳ３１３０）。
【０１８５】
なお、ネットワークアプリケーション６００から余剰リソース確認処理の実行指示を受信した場合又は周期的に余剰リソース確認処理が行われる場合、ステップＳ３０１０では、ネットワークアプリケーション６００等が指定したネットワーク装置５００又はネットワーク３００内の全てのネットワーク装置５００が対象となる。
【０１８６】
図１６は、実施例１のネットワーク制御装置１００が実行する制御方法判定処理を説明するフローチャートである。
【０１８７】
ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、リソース量が不足するネットワーク装置５００及びリソース量の不足が予想されるネットワーク装置５００を特定する（ステップＳ３２１０）。
【０１８８】
具体的には、ネットワーク装置リソース管理部１１２は、ステップＳ３０９０及びステップＳ３１１０においてメモリ１０２に一時的に格納された情報を取得する。
【０１８９】
次に、ネットワーク制御装置１００のネットワーク装置制御部１１４は、停止候補又は縮退候補のネットワーク装置５００を特定する（ステップＳ３２２０）。ここで、停止候補のネットワーク装置５００は、ネットワーク機能の停止が可能なネットワーク装置５００であり、縮退候補のネットワーク装置５００は、ネットワーク機能の縮退が可能なネットワーク装置５００である。具体的には、以下のような処理が実行される。
【０１９０】
ネットワーク装置制御部１１４は、ステップＳ３２１０において特定されたネットワーク装置５００の中から対象のネットワーク装置５００を選択する。ネットワーク装置制御部１１４は、対象のネットワーク装置５００の識別子に対応付けられるネットワーク機能の識別子を特定する。ネットワーク装置制御部１１４は、ネットワーク機能情報１３００を参照して、機能識別子１３０１が特定されたネットワーク機能の識別子と一致するエントリを検索する。ネットワーク装置制御部１１４は、検索された行の停止可否１３０２又は縮退可否１３０３の少なくともいずれかに「可」が設定されるエントリを抽出する。ネットワーク装置制御部１１４は、抽出されたエントリの機能識別子１３０１を停止又は縮退が可能なネットワーク機能の識別子として一時的にメモリ１０２に保持する。また、ネットワーク装置制御部１１４は、抽出されたエントリの通信帯域１３０６、通信遅延１３０７、経路冗長数１３０８、装置冗長数１３０９、復旧時間１３１０、及び帯域保証１３１１を、停止又は縮退が可能なネットワーク機能の要件としてメモリ１０２に一時的に保持する。ステップＳ３２１０において特定されたネットワーク装置５００に対して前述した処理が繰り返し実行される。
【０１９１】
ネットワーク装置制御部１１４は、ネットワーク装置リソース使用状況情報１０００を参照し、ネットワーク装置識別子１００１がステップＳ３０９０及びステップＳ３１１０において特定されたネットワーク装置５００の識別子と一致し、かつ、機能識別子１００６が停止又は縮退が可能なネットワーク機能の識別子と一致するエントリを検索する。ネットワーク装置制御部１１４は、検索されたエントリに対応するネットワーク装置５００を停止候補又は縮退候補のネットワーク装置５００として特定する。以上がステップ３２２０の処理の説明である。
【０１９２】
次に、ネットワーク制御装置１００の仮想ネットワーク制御部１１５は、影響仮想ネットワークを特定する（ステップＳ３２３０）。ここで、影響仮想ネットワークとは、停止候補又は縮退候補のネットワーク装置５００を経由する仮想ネットワークである。
【０１９３】
具体的には、仮想ネットワーク制御部１１５は、仮想ネットワーク要求情報１４００の経由ネットワーク装置識別子１４０２に、停止候補又は縮退候補のネットワーク装置５００の識別子が設定されるエントリを検索する。仮想ネットワーク制御部１１５は、検索されたエントリの仮想ネットワーク識別子１４０１を、影響仮想ネットワークの識別子としてメモリ１０２に一時的に保持する。また、仮想ネットワーク制御部１１５は、検索されたエントリの通信帯域１４０４、通信遅延１４０５、経路冗長数１４０６、装置冗長数１４０７、復旧時間１４０８、及び帯域保証１４０９を影響要件としてメモリ１０２に一時的に保持する。影響要件とはネットワーク機能の停止又は縮退によって影響を受ける可能性がある要件を示す。
【０１９４】
次に、ネットワーク制御装置１００の仮想ネットワーク制御部１１５は、停止又は縮退が可能なネットワーク機能を停止又は縮退させた場合に、影響要件を満たすネットワーク機能を特定する（ステップＳ３２４０）。具体的には、以下のような処理が実行される。
【０１９５】
仮想ネットワーク制御部１１５は、ネットワーク機能情報１３００の通信帯域１３０６、通信遅延１３０７、経路冗長数１３０８、装置冗長数１３０９、復旧時間１３１０、及び帯域保証１３１１と、影響要件の通信帯域１４０４、通信遅延１４０５、経路冗長数１４０６、装置冗長数１４０７、復旧時間１４０８、及び帯域保証１４０９とを比較し、ネットワーク機能を停止又は縮退させた場合に影響要件を満たすネットワーク機能を特定する。
【０１９６】
例えば、影響要件の経路冗長数１４０６が「２」である場合、経路冗長数１３０８が「２」以上であるエントリの機能識別子１３０１が前述したネットワーク機能として特定される。なお、影響要件に複数の値が含まれる場合、全ての値を満たすネットワーク機能が特定される。
【０１９７】
仮想ネットワーク制御部１１５は、特定されたネットワーク機能のうち、影響仮想ネットワークに対応するエントリの機能要件１４０３に含まれないネットワーク機能を、影響要件を満たすネットワーク機能の識別子としてメモリ１０２に一時的に保持する。以上がステップＳ３２４０の処理である。
【０１９８】
次に、ネットワーク制御装置１００のネットワーク装置リソース管理部１１２は、ネットワーク機能を停止又は縮退させることによって必要な余剰リソース量を確保できるか否かを判定する（ステップＳ３２５０）。具体的には、以下のような処理が実行される。
【０１９９】
ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース使用状況情報１０００のネットワーク装置識別子１００１、リソース識別子１００２、及びサブリソース識別子１００３の組み合わせが、ステップＳ３２１０において特定されたネットワーク装置５００の識別子、リソースの識別子、及びサブリソースの識別子と一致し、かつ、機能識別子１００６が影響要件を満たすネットワーク機能の識別子と一致するエントリを検索する。ネットワーク装置リソース管理部１１２は、検索されたエントリを制御対象エントリとしてメモリ１０２に一時的に保持する。
【０２００】
ネットワーク装置リソース管理部１１２は、ネットワーク機能情報１３００の機能識別子１３０１が影響要件を満たすネットワーク機能の識別子と一致するエントリを検索し、当該エントリのリソース使用量関数１３０４を読み出す。また、ネットワーク装置設定情報１２００から必要なパラメータを取得する。ネットワーク装置リソース管理部１１２は、影響要件を満たすネットワーク機能を停止又は縮退させることによって削減されるリソース量を算出する。
【０２０１】
ネットワーク装置リソース管理部１１２は、削減されるリソース量が不足リソース量又は不足リソース量の推定値より大きいか否かを判定する。削減されるリソース量が不足リソース量又は不足リソース量の推定値以上場合、ネットワーク装置リソース管理部１１２は、必要な余剰リソース量を確保できると判定する。一方、削減されるリソース量が不足リソース量又は不足リソース量の推定値より小さい場合、ネットワーク装置リソース管理部１１２は、必要な余剰リソース量を確保できないと判定する。以上が、ステップＳ３２５０の処理の説明である。
【０２０２】
必要な余剰リソース量を確保できないと判定された場合、ネットワーク制御装置１００は、エラーを示す仮想ネットワーク設定結果を送信し（ステップＳ３２７０）、処理を終了する。
【０２０３】
必要な余剰リソース量を確保できると判定された場合、ネットワーク制御装置１００の変更要求部１１３は、制御対象でないネットワーク、すなわち、ネットワーク３１０のネットワーク制御装置７００に構成変更を要求する必要があるか否かを判定する（ステップＳ３２６０）。
【０２０４】
例えば、変更要求部１１３は、影響仮想ネットワークの端点がネットワーク装置８００であり、かつ、端点が変更された場合、ネットワーク制御装置７００を介したネットワーク装置８００への通知が必要であると判定する。なお、仮想ネットワークの端点を変更する方法に関してはドメイン間のインターワークに関する既存技術を適用可能なため、詳細な説明を省略する。
【０２０５】
ネットワーク３１０のネットワーク制御装置７００に構成変更を要求する必要がないと判定された場合、ネットワーク制御装置１００は処理を終了する。
【０２０６】
ネットワーク３１０のネットワーク制御装置７００に構成変更を要求する必要があると判定された場合、変更要求部１１３は、構成変更要求情報を生成し（ステップＳ３２８０、ステップＳ２０６０）、処理を終了する。
【０２０７】
次に、ネットワーク機能情報１３００のリソース使用量関数１３０４の決定方法について説明する。
【０２０８】
図１７は、実施例１のリソース使用量関数の決定方法を説明するフローチャートである。図１７では、リソースのリソース使用量関数の決定方法について説明する。なお、サブリソースのリソース使用量関数も同様の決定方法を用いることによって決定できる。
【０２０９】
ネットワーク装置リソース管理部１１２は、対象のネットワーク機能を選択する（ステップＳ３３１０）。全てのネットワーク機能に対して、以下で説明する処理が繰り返し実行される。
【０２１０】
ここでは、説明の簡単のため、ＶＬＡＮとＶｘＬＡＮとを変換するネットワーク機能を一例として説明する。なお、ＥＣＭＰ等の経路を冗長化する機能、仮想ネットワークを終端する機能、カプセル化されたパケット（仮想ネットワーク上のパケット）を転送する機能、現用パス及び予備パスの機能、及びＯＳＰＦなどのシグナリング等の他の機能についても、独立変数を変えれば、基本的な計算手順は同様である。
【０２１１】
ネットワーク装置リソース管理部１１２は、リソースの識別子がｉであるリソースに対する候補関数を特定し、変更対象の独立変数を選択する（ステップＳ３３２０）。具体的には以下のような処理が実行される。
【０２１２】
ネットワーク装置リソース管理部１１２は、複数の候補関数を保持する。候補関数は、独立変数として設定内容のパラメータを含む。例えば、ネットワーク装置リソース管理部１１２は、ｎ個の関数ｇ１〜ｇｎを保持し、その一例として下式（３）に示すようなものが考えられる。
【０２１３】
【数３】
0006403621.tif 000004
【０２１４】
ここで、Ｐｄ、Ｐｕ、Ｎｖ、Ｎｘ、Ｐｉ、Ｎｇは独立変数である。具体的には、Ｐｄはダウンリンクポート数、Ｐｕはアップリンクポート数、ＮｖはＶＬＡＮタグ数、ＮｘはＶｘＬＡＮタグ数、Ｐｉは任意のＶＬＡＮタグに割り当てられるリンク割当数、接続先ＮｇはＶＴＥＰ数を表す。また、ａｋは定数であり、ｋは正の整数である。
【０２１５】
このとき、前述したネットワーク機能を使用するための設定が識別子ｉのリソースに及ぼす影響、すなわち、リソース使用量関数ｆｉは下式（４）で与えられるものとする。なお、ｃｊは定数であり、ｊは正の整数である。
【０２１６】
【数４】
0006403621.tif 000005
【０２１７】
この場合、リソース使用量関数ｆｉを計算することは、定数ａｋ及びｃｊ求めることと同義である。
【０２１８】
なお、識別子ｉのリソースのリソース使用量の上限値をｒｉと定義した場合、リソース使用量が余剰リソース量より大きい、すなわち、前述のネットワーク機能を稼働させるための条件は下式（５）で与えられる。すなわち、リソース使用関数の値が上限値ｒｉより小さくなるように、ネットワーク装置５００には各種設定が行われる。
【０２１９】
【数５】
0006403621.tif 000006
【０２２０】
以下の説明では、ネットワーク装置リソース管理部１１２は、変更対象の独立変数として、Ｎｖを選択するものとする。
【０２２１】
次に、ネットワーク装置リソース管理部１１２は、独立変数が変更されるように設定内容を決定する（ステップＳ３３３０）。変更対象の独立変数がＮｖの場合、ＶＬＡＮタグ数を増やすことになるため、ネットワーク装置リソース管理部１１２は、ＶＬＡＮを１つ追加設定することを決定する。
【０２２２】
ネットワーク装置制御部１１４は、決定された設定内容をネットワーク装置５００に設定する（ステップＳ３３４０）。このとき、以下のような処理が実行される。
【０２２３】
ネットワーク装置制御部１１４は、リソース管理部５１２を介してネットワーク装置５００の全てのリソース量を取得する。ネットワーク装置制御部１１４は、ネットワーク装置リソース使用状況情報１０００を参照して、リソース識別子１００２が識別子ｉと一致し、かつ、機能識別子１００６がステップＳ３３１０において選択されたネットワーク機能の識別子と一致するエントリを検索する。
【０２２４】
ネットワーク装置制御部１１４は、検索されたエントリの最小リソース量１００８の値と取得されたリソース量とを比較し、取得されたリソース量が最小リソース量１００８の値より小さい場合、最小リソース量１００８に取得されたリソース量を設定する。また、ネットワーク装置制御部１１４は、検索されたエントリの最大リソース量１００９の値と取得されたリソース量とを比較し、取得されたリソース量が最大リソース量１００９の値より大きい場合、最大リソース量１００９に取得されたリソース量を設定する。以上がステップＳ３３４０の処理の説明である。
【０２２５】
次に、ネットワーク装置制御部１１４は、決定された設定内容をネットワーク装置５００に設定できたか否かを判定する（ステップＳ３３５０）。
【０２２６】
例えば、ネットワーク装置制御部１１４は、ネットワーク装置５００から設定エラー等の応答を受信した場合、決定された設定内容をネットワーク装置５００に設定できないと判定する。一方、ネットワーク装置５００から設定エラー等の応答がない場合、決定された設定内容をネットワーク装置５００に設定できたと判定する。
【０２２７】
なお、決定された設定内容をネットワーク装置５００に設定できないと判定された場合、ネットワーク装置制御部１１４は、リソース使用量関数ｆｉの値を上限値ｒｉに設定する。
【０２２８】
決定された設定内容をネットワーク装置５００に設定できたと判定された場合、ネットワーク装置リソース管理部１１２は、ステップＳ３３３０に戻り、同様の処理を実行する。このとき、ネットワーク装置リソース管理部１１２は、候補関数に含まれる独立変数の値が増えるように設定内容を決定する。例えば、独立変数がＮｖである場合、ＶＬＡＮタグ数をふやすことになるため、ＶＬＡＮを一つ追加することを決定する。
【０２２９】
決定された設定内容をネットワーク装置５００に設定できないと判定された場合、ネットワーク装置リソース管理部１１２は、各候補関数に含まれる全ての独立変数について処理が完了したか否かを判定する（ステップＳ３３６０）。
【０２３０】
各候補関数に含まれる全ての独立変数について処理が実行されていないと判定された場合、ネットワーク装置リソース管理部１１２は、ステップＳ３３２０に戻り、新たな独立変数を選択し、同様の処理を実行する。
【０２３１】
各候補関数に含まれる全ての独立変数について処理が実行されたと判定された場合、ネットワーク装置リソース管理部１１２は、各候補関数に含まれる全ての独立変数の組み合わせについて処理が完了したか否かを判定する（ステップＳ３３７０）。
【０２３２】
各候補関数に含まれる全ての独立変数の組み合わせについて処理が実行されていないと判定された場合、ネットワーク装置リソース管理部１１２は、ステップＳ３３２０に戻り、新たな独立変数の組み合わせ、例えばＰｄ及びＮｖを選択し、同様の処理を実行する。
【０２３３】
各候補関数に含まれる全ての独立変数の組み合わせについて処理が実行されたと判定された場合、ネットワーク装置リソース管理部１１２は、定数ａｋ、ｃｊ、ｒｉを算出することによって、リソース使用量関数ｆｉを算出し（ステップＳ３３８０）、その後、処理を終了する。
【０２３４】
具体的には、ネットワーク装置リソース管理部１１２は、ステップ３６４０において決定された数式ｆｉ＝ｒｉが満たされるように、定数を算出する。なお、最小二乗法等を用いれば前述した数式を算出できるため、詳細な算出方法の説明は省略する。ネットワーク装置リソース管理部１１２は、ネットワーク機能情報１３００を参照し、機能識別子１３０１が対象のネットワーク機能の識別子と一致するエントリのリソース使用量関数１３０４に、算出された定数によって定まるリソース使用量関数ｆｉを設定する。
【０２３５】
数式ｆｉ＝ｒｉの解が存在しない場合、すなわち、識別子ｉのリソース量の上限が存在しない場合、対象のネットワーク機能は識別子ｉのリソースを使用していないことを示す。
【０２３６】
一方、数式ｆｉ＝ｒｉの解が存在する場合、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース特性情報１１００を参照し、リソース識別子１１０１が当該識別子ｉと一致するエントリを検索し、当該エントリの機能識別子１１０４に、対象のネットワーク機能の識別子を設定する。また、一致するエントリが存在しない場合、ネットワーク装置リソース管理部１１２は、ネットワーク装置リソース特性情報１１００に新たなエントリを追加し、リソース識別子１１０１又はサブリソース識別子１１０２に識別子ｉを設定する。
【０２３７】
制御処理部１１０は、全てのネットワーク機能に対してステップＳ３３２０からステップＳ３３８０までの処理を繰り返し実行する。
【０２３８】
実施例1によれば、ネットワーク制御装置１００は、ネットワーク装置５００の各ネットワーク機能ごとのリソース使用量及び余剰リソース量を正確に把握できる。したがって、プロトコルの制限だけではなく、各ネットワーク装置５００の余剰リソース量の不足を回避するネットワーク制御が可能となる。
【０２３９】
（変形例）
実施例１では、リソースとして制御用テーブル（メモリ）を中心に処理を説明したが、本発明はこれに限定されない。例えば、ネットワーク機能毎のＣＰＵ５０１（例えば、スレッド）の使用量を同様に算出できる。この場合、ネットワーク装置リソース使用状況情報１０００のリソース識別子１００２にはＣＰＵ又はＣＰＵコアの識別番号が格納され、サブリソース識別子１００３には、仮想ＣＰＵ又はスレッド等の識別番号が格納される。また、余剰リソース量１００５には使用されていない仮想ＣＰＵ又はスレッドの数、又は、周波数等が格納される。
【０２４０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２４１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるＣＰＵが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２４２】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２４３】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるＣＰＵが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２４４】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２４５】
１００、７００  ネットワーク制御装置
１１０  制御処理部
１１１  ネットワークリソース管理部
１１２  ネットワーク装置リソース管理部
１１３  変更要求部
１１４  ネットワーク装置制御部
１１５  仮想ネットワーク制御部
１２１  ネットワークリソース情報記憶部
１２２  ネットワーク装置リソース情報記憶部
１２３  仮想ネットワーク情報記憶部
２００  ネットワーク管理システム
３００、３１０  ネットワーク
４００  サーバ
５００、８００  ネットワーク装置
５１０  制御部
５１１  制御方法判定部
５１２  リソース管理部
５２０  パケット操作部
５２１  パケット処理部
５３０  転送処理部
５４０  制御用テーブル
６００  ネットワークアプリケーション
１０００  ネットワーク装置リソース使用状況情報
１１００  ネットワーク装置リソース特性情報
１２００  ネットワーク装置設定情報
１３００  ネットワーク機能情報
１４００  仮想ネットワーク要求情報
【図１】
0006403621.tif 000007
【図２】
0006403621.tif 000008
【図３】
0006403621.tif 000009
【図４】
0006403621.tif 000010
【図５】
0006403621.tif 000011
【図６】
0006403621.tif 000012
【図７】
0006403621.tif 000013
【図８】
0006403621.tif 000014
【図９】
0006403621.tif 000015
【図１０】
0006403621.tif 000016
【図１１】
0006403621.tif 000017
【図１２】
0006403621.tif 000018
【図１３】
0006403621.tif 000019
【図１４】
0006403621.tif 000020
【図１５】
0006403621.tif 000021
【図１６】
0006403621.tif 000022
【図１７】
0006403621.tif 000023