(57)【要約】【課題】複数の装置が連携してサービスを提供する仮想化されたネットワークシステムにおいて、局所的に負荷が高い装置やネットワークの発生を低減する。【解決手段】  選択対象ネットワークのトポロジ情報、および、トラヒックが選択対象ネットワークにおいて利用する機能を特定する情報を含むトラヒック情報が記憶される記憶手段と、リンクの負荷情報を収集するリンク負荷情報収集手段と、装置の負荷情報を収集する装置負荷情報収集手段と、トラヒックが利用する機能を、トラヒック情報を参照して特定し、その特定した機能を備える装置を、トポロジ情報を参照して抽出し、当該装置と装置間のリンクから構成される対象トポロジを生成する対象トポロジ生成手段と、対象トポロジを構成する装置およびリンクの負荷情報それぞれをリンクコストとして置き換え、最小コストの経路を計算する経路計算手段と、から構成される装置選択手段を備える。【選択図】図２
2015154325.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークサービスを提供する複数の機能のうちの１つを備える１つ以上の装置と、前記装置間を接続するリンクとを備える選択対象ネットワークの中から、トラヒックが利用する前記機能を備える装置を経由する経路を計算する装置選択ネットワークシステムであって、
前記機能を実行する装置それぞれと当該装置間を接続するリンクとから構成される選択対象ネットワークのトポロジ情報、および、処理対象となるトラヒックが前記選択対象ネットワークにおいて利用する１つ以上の機能を特定するための情報を含むトラヒック情報が記憶される記憶手段と、
前記選択対象ネットワークを構成するリンクそれぞれの負荷の状態を示す負荷情報を取得するリンク負荷情報収集手段と、
前記選択対象ネットワークを構成する装置それぞれの負荷の状態を示す負荷情報を取得する装置負荷情報収集手段と、
処理対象の前記トラヒックが利用する前記機能を、前記トラヒック情報を参照して特定し、前記特定した機能を備える装置を、前記トポロジ情報を参照して抽出し、前記抽出した装置と当該装置間のリンクから構成される対象トポロジを生成する対象トポロジ生成手段と、
前記生成した対象トポロジを構成する装置およびリンクの前記負荷情報それぞれをリンクコストとして置き換え、前記特定した機能を備える装置を経由し、前記リンクコストの合計が最小となる経路を計算する経路計算手段と、
を備えることを特徴とする装置選択ネットワークシステム。
【請求項２】
前記対象トポロジ生成手段は、前記特定した機能を備える装置および当該装置間のリンクの負荷情報が、所定の上限値を超える装置およびリンクを除いて、前記対象トポロジを生成すること
を特徴とする請求項１に記載の装置選択ネットワークシステム。
【請求項３】
前記リンク負荷情報収集手段および前記装置負荷情報収集手段は、前記負荷情報としてリソース使用率の情報を収集し、
前記経路計算手段は、前記対象トポロジを構成する装置およびリンクの前記リソース使用率それぞれを前記リンクコストとして、前記経路を計算すること
を特徴とする請求項１または請求項２に記載の装置選択ネットワークシステム。
【請求項４】
前記リンク負荷情報収集手段および前記装置負荷情報収集手段は、前記負荷情報としてリソース使用率の情報を収集し、
前記経路計算手段は、前記対象トポロジを構成する装置およびリンクの前記リソース使用率それぞれについての残余使用率を計算し、前記計算した残余使用率の逆数を前記リンクコストとして、前記経路を計算すること
を特徴とする請求項１または請求項２に記載の装置選択ネットワークシステム。
【請求項５】
ネットワークサービスを提供する複数の機能のうちの１つを備える１つ以上の装置と、前記装置間を接続するリンクとを備える選択対象ネットワークの中から、トラヒックが利用する前記機能を備える装置を経由する経路を計算する装置選択サーバであって、
前記機能を実行する装置それぞれと当該装置間を接続するリンクとから構成される選択対象ネットワークのトポロジ情報、および、処理対象となるトラヒックが前記選択対象ネットワークにおいて利用する１つ以上の機能を特定するための情報を含むトラヒック情報が記憶される記憶部と、
前記選択対象ネットワークを構成するリンクそれぞれの負荷の状態を示す負荷情報を取得するリンク負荷情報収集部と、
前記選択対象ネットワークを構成する装置それぞれの負荷の状態を示す負荷情報を取得する装置負荷情報収集部と、
処理対象の前記トラヒックが利用する前記機能を、前記トラヒック情報を参照して特定し、前記特定した機能を備える装置を、前記トポロジ情報を参照して抽出し、前記抽出した装置と当該装置間のリンクから構成される対象トポロジを生成する対象トポロジ生成部と、
前記生成した対象トポロジを構成する装置およびリンクの前記負荷情報それぞれをリンクコストとして置き換え、前記特定した機能を備える装置を経由し、前記リンクコストの合計が最小となる経路を計算する経路計算部と、
を備えることを特徴とする装置選択サーバ。
【請求項６】
ネットワークサービスを提供する複数の機能のうちの１つを備える１つ以上の装置と、前記装置間を接続するリンクとを備える選択対象ネットワークの中から、トラヒックが利用する前記機能を備える装置を経由する経路を計算するコンピュータを、
前記機能を実行する装置それぞれと当該装置間を接続するリンクとから構成される選択対象ネットワークのトポロジ情報、および、処理対象となるトラヒックが前記選択対象ネットワークにおいて利用する１つ以上の機能を特定するための情報を含むトラヒック情報が記憶される記憶手段、
前記選択対象ネットワークを構成するリンクそれぞれの負荷の状態を示す負荷情報を取得するリンク負荷情報収集手段、
前記選択対象ネットワークを構成する装置それぞれの負荷の状態を示す負荷情報を取得する装置負荷情報収集手段、
処理対象の前記トラヒックが利用する前記機能を、前記トラヒック情報を参照して特定し、前記特定した機能を備える装置を、前記トポロジ情報を参照して抽出し、前記抽出した装置と当該装置間のリンクから構成される対象トポロジを生成する対象トポロジ生成手段、
前記生成した対象トポロジを構成する装置およびリンクの前記負荷情報それぞれをリンクコストとして置き換え、前記特定した機能を備える装置を経由し、前記リンクコストの合計が最小となる経路を計算する経路計算手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末から要求されたネットワークサービス処理を、ネットワークを介した複数の装置で実現する技術に関する。
【背景技術】
【０００２】
ネットワークには、アドレス変換や認証、ファイアウォールといったネットワークサービス機能が存在する。従来、それらの機能は専用装置に実装され、ユーザの加入条件にしたがって、パケットに処理を施すことで、ネットワークサービス機能を提供している。図１０（ａ）に示す、非仮想化方式のネットワークサービスでは、専用装置が機能Ａ、機能Ｂ、機能Ｃを備えることにより、ネットワーク機能を実現している。これに関し、近年では、専用装置で処理が行われていたネットワーク機能を仮想化し、その機能の一部を専用装置の外にあるクラウドで処理する仮想化方式が実現されている。図１０（ｂ）に示す、仮想化方式のネットワークサービスでは、図１０（ａ）に示す専用装置が備える、機能Ａ、機能Ｂ、機能Ｃのうち、機能Ｂおよび機能Ｃをクラウド内の装置に実装し、それらを仮想的に1つのシステムとみなすことで、ネットワークサービス機能を実現する。また、複数の装置に実装された機能を連携させ、一連のネットワークサービスを提供するサービスチェイニングの技術が検討されている。
【０００３】
従来の非仮想化方式においては、同じ機能を提供する装置が複数存在する場合には、トラヒック毎にその複数の装置のうちのどの装置にアクセスするか選択する必要があるため、その複数の装置それぞれの収容可能なトラヒック量やユーザ数にしたがって、トラヒックと装置とを固定的に設定していた。つまり、図１１に例示するように、ある専用装置（＃１，＃２）毎に、収容するユーザ端末が固定的に設定されていた。すなわち、専用装置（＃１，＃２）それぞれの負荷やリンクの負荷が考慮されていなかった。この問題を解決するため、負荷分散装置を用いることにより、装置と装置につながるリンクの負荷状況に応じて、トラヒック毎に動的に１台の装置を選択し、装置間の負荷均等を実現する技術が開示されている（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】古谷快、他５名、「コンテンツ配信ネットワークにおける負荷分散を考慮したサーバ選択法に関する一考察」、社団法人電子情報通信学会、2010年電子情報通信学会通信ソサイエティ大会、B-6-61、通信講演論文集２、p.61、2010年9月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、仮想化方式においては、各装置間には仮想化されたネットワークが存在し、複数の装置が連携して、ネットワークサービスを提供する。しかしながら、この仮想化方式の場合、装置単体の負荷やそれにつながるリンクの負荷のそれぞれのみを考慮して装置を選択すると、局所的に負荷が高い装置やネットワークが存在する可能性がある。例えば、図１２に例示するように、装置Ｂ１のトラヒックの収容数が上限に達していなくても、装置Ｂ１につながるネットワーク、具体的にはそのネットワークのリンクの使用率が限度近くまで上昇した場合には、そのネットワークの負荷が高まってしまう可能性がある。
【０００６】
このような背景を鑑みて本発明がなされたのであり、本発明は、複数の装置が連携してサービスを提供する仮想化されたネットワークシステムにおいて、局所的に負荷が高い装置やネットワークの発生を低減することができる、装置選択ネットワークシステム、装置選択サーバおよびプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決するため、本発明は、ネットワークサービスを提供する機能を実行する装置それぞれと当該装置間を接続するリンクとから構成される選択対象ネットワークのトポロジ情報、および、処理対象となるトラヒックが選択対象ネットワークにおいて利用する１つ以上の機能を特定するための情報を含むトラヒック情報が記憶される記憶手段と、選択対象ネットワークを構成するリンクそれぞれの負荷情報を取得するリンク負荷情報収集手段と、選択対象ネットワークを構成する装置それぞれの負荷情報を取得する装置負荷情報収集手段と、処理対象のトラヒックが利用する機能を、トラヒック情報を参照して特定し、その特定した機能を備える装置を、トポロジ情報を参照して抽出し、その抽出した装置と当該装置間のリンクから構成される対象トポロジを生成する対象トポロジ生成手段と、対象トポロジを構成する装置およびリンクの負荷情報それぞれをリンクコストとして置き換え、リンクコストの合計が最小となる経路を計算する経路計算手段と、から構成される装置選択手段を備える装置選択ネットワークシステムとした。
また、本発明は、前記した装置選択手段を備える装置選択サーバおよびプログラムとした。
【０００８】
このようにすることで、本発明によれば、処理対象となるトラヒックが利用する機能を備えた装置と当該装置間のリンクとから構成される対象トポロジを生成し、その対象トポロジを構成する装置およびリンクの負荷情報をリンクコストに置き換えるため、装置の負荷情報とリンクの負荷情報の両方を考慮し、トータルで負荷が最小となる経路を計算することができる。よって、局所的に負荷が高い装置やネットワークの発生を低減させることができる。
【発明の効果】
【０００９】
本発明によれば、複数の装置が連携してサービスを提供する仮想化されたネットワークシステムにおいて、局所的に負荷が高い装置やネットワークの発生を低減する、装置選択ネットワークシステム、装置選択サーバおよびプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】従来技術と本実施形態との相違を説明するための図である。
【図２】本実施形態におけるリンクコストを用いた経路計算を説明するための図である。
【図３】本実施形態に係る装置選択ネットワークシステムの構成例を示す図である。
【図４】本実施形態に係る装置選択サーバの構成例を示す機能ブロック図である。
【図５】本実施形態におけるコスト計算方式（パターン１：リソース使用率方式）を説明するための図である。
【図６】本実施形態におけるコスト計算方式（パターン２：逆数方式）を説明するための図である。
【図７】本実施形態に係る装置選択サーバが実行するトラヒックの経路（装置）選択処理の流れを示すフローチャートである。
【図８】本実施形態に係る選択対象ネットワークのトポロジの一例と、選択対象ネットワーク内の装置およびリンクのリソース使用率を示す図である。
【図９】本実施形態における対象トポロジの一例を示す図である。
【図１０】従来技術におけるネットワークサービスを示す図である。
【図１１】非仮想化方式のネットワークサービスを示す図である。
【図１２】仮想化方式のネットワークサービスを示す図である。
【発明を実施するための形態】
【００１１】
次に、本発明を実施するための形態（以下、「本実施形態」と称する。）について説明する。
【００１２】
＜概要＞
まず、本実施形態に係る装置選択ネットワークシステム１００（図３参照）、装置選択サーバ１０（図３，図４参照）およびプログラムにおいて実行する処理の概要について説明する。
【００１３】
本実施形態に係る装置選択ネットワークシステム１００、装置選択サーバ１０およびプログラムは、処理対象となるトラヒックが利用する機能（サービス）毎に、ネットワーク内に設定された同じ機能を備える１つ以上の装置のうちから１つの装置を選択する装置選択手段１（図３参照）を備える。そして、この装置選択手段１は、ネットワーク（後記する「選択対象ネットワーク５０」）内の各装置およびネットワークの全体として、負荷が最も低減される経路（装置）を選択する。より具体的には、装置選択手段１は、各機能を処理する装置の負荷状態だけでなく、各機能を備える装置間のリンク（以下、「ネットワークリンク」と称する。）の残帯域を考慮して、トラヒックが利用する装置を選択する。これにより、装置およびネットワークのトータルで負荷が最も低い経路を選択することが可能となる。
なお、本実施形態においては、１つの機能（サービス）が１つの装置に備えられているものとして説明する。また、トラヒックが利用する機能（ネットワーク機能）は、例えば、アドレス変換機能、ファイアウォール機能、コーディング機能等であるが、これらに限られず、ユーザやネットワーク管理者等の設定により様々な機能（サービス）が利用可能である。以下、図１および図２を参照して詳細に説明する。
【００１４】
図１は、従来技術と本実施形態との相違を説明するための図である。
図１（ａ）は、機能Ａ、機能Ｂ、機能Ｃのサービスを利用するトラヒック（サービスパターン：Ａ→Ｂ→Ｃ）を収容するネットワークを示す。ここでは、機能Ｂの処理を実行するために２つの装置（装置Ｂ１，装置Ｂ２）が存在し、装置Ｂ１のＣＰＵ使用率が２０％であり、装置Ｂ２のＣＰＵ使用率が４０％であるものとする。また、各ネットワークリンクの残帯域の大きさをリンクの太さ（リンクの太さが太い程残帯域が多い）で表現している。つまり、装置Ｂ１へつながるネットワークリンクの残帯域は少なく、装置Ｂ２へつながるネットワークリンクの残帯域は多いものとする。
【００１５】
このようなネットワークの状況において、機能Ａ、機能Ｂ、機能Ｃのサービスを利用する新たなトラヒックの経路について、装置の負荷状態だけを考慮して経路を決定した場合には、図１（ｂ）に示すように、ＣＰＵ使用率が低い装置Ｂ１へのトラヒックが増加し、ネットワークの負荷が増大してしまう。
【００１６】
これに対し、本実施形態に係る装置選択手段１においては、選択可能な装置およびネットワーク（ネットワークリンク）の組み合わせの中から、負荷が最も低い経路を選択する。例えば、図１（ｃ）に示すように、図１（ａ）に示すネットワークの状態においても、ネットワークリンクの負荷を考慮し、たとえ同じ機能を備える他の装置（装置Ｂ１）よりＣＰＵ使用率が高くても装置Ｂ２を経由する経路を選択する。このようにすることで、局所的に負荷が高い装置やネットワーク（ネットワークリンク）の発生を低減することができる。
【００１７】
また、本実施形態に係る装置選択手段１は、トラヒックが通過する装置およびネットワーク（ネットワークリンク）の両方を考慮して経路を決定するために、そのトラヒックが通過する可能性のあるリソース（装置・ネットワークリンク）をトポロジ（後記する「対象トポロジ」）に書き直す。つまり、そのトラヒックが通過する可能性のないリソース（装置・ネットワークリンク）を削除したトポロジ（対象トポロジ）を作成する。その際に、各装置とネットワークリンクとが、最適経路の選択対象として、同等の構成として処理対象となるようにする。本実施形態においては、以下に説明するように、各装置をリンクに置き換えて表現し、処理対象とする。
【００１８】
具体的には、図２（ａ）に例示するような、ネットワークの構成と状況において、装置およびネットワークのリソース使用率をリンクコストとして表現する。つまり、図２（ｂ）に示すように、ネットワークリンクのリソース使用率（帯域使用率）と共に、装置（装置Ｂ１，Ｂ２）のＣＰＵ使用率（２０％，４０％）も、リンクコストとして表すようにする。そして、図２（ｂ）のように表現されたリンクコストに基づき、例えば、ダイクストラアルゴリズムを用いて、最小コストの経路を計算する。このようにすることにより、図２（ｃ）に示すように、リンクコストの合計がより小さい、装置Ｂ２→装置Ｃの経路が選択される。
よって、装置およびネットワークのトータルで負荷が最も低い経路を選択することが可能となる。
【００１９】
＜構成＞
次に、本実施形態に係る装置選択手段１を含む装置選択ネットワークシステム１００、装置選択サーバ１０等の構成について説明する。
本実施形態に係る装置選択手段１は、選択対象となるネットワーク（以下「選択対象ネットワーク５０」と称する。）の内部または外部の装置に設定される。また、この装置選択手段１は、装置選択手段１単体が実装された装置として配備されてもよいし、装置選択ネットワークシステム１００内の他の装置（例えば、振分装置５）に実装されて配備されてもよい。
【００２０】
図３は、本実施形態に係る装置選択ネットワークシステム１００（１００ａ，１００ｂ）の構成例を示す図である。この装置選択ネットワークシステム１００は、各機能（機能Ａ，Ｂ，Ｃ，…）の処理を実行するための装置とその装置間を接続するリンク（ネットワークリンク）から構成される選択対象ネットワーク５０と、装置選択手段１と、振分装置５とから構成される。図３（ａ）は、パケット転送網から受信したトラヒックを選択対象ネットワーク５０の各装置に振り分ける振分装置５が、装置選択手段１を備える場合の装置選択ネットワークシステム１００（１００ａ）を示した図である。図３（ｂ）は、装置選択手段１単体が実装された装置選択サーバ１０が、振分装置５に接続されて配置される場合の装置選択ネットワークシステム１００（１００ｂ）を示した図である。
なお、選択対象となる装置は、図３に示すように、単一の選択対象ネットワーク５０に属している装置群でもよいし、複数の選択対象ネットワーク５０に分散配置された装置群（不図示）でもよい。
【００２１】
図３（ａ）に示すように、装置選択手段１が振分装置５に備えられる場合には、装置選択手段１により算出された最適な経路（装置）の情報に基づき、振分装置５がトラヒックの経路制御を実行する。一方、図３（ｂ）に示したように、装置選択手段１が単体の装置である装置選択サーバ１０として設けられる場合には、装置選択サーバ１０が装置選択手段１により算出した最適な経路（装置）の情報を振分装置５に送信し、その情報に基づき、振分装置５がトラヒックの経路制御を実行する。
なお、トラヒックの経路制御は、例えば、振分装置５において、パケットに、装置選択手段１が経路として決定した装置を識別するヘッダを付与し、各装置においては、そのヘッダに対応する転送先の装置が記載されたテーブルを参照すること等により、当該パケットを転送することにより行われる。
以下、装置選択手段１が、単体の装置である装置選択サーバ１０に備わる場合を例に、その具体的な構成を説明する。
【００２２】
≪装置選択サーバ≫
図４は、本実施形態に係る装置選択サーバ１０の構成例を示す機能ブロック図である。
この装置選択サーバ１０は、ネットワーク全体を管理するネットワーク管理装置（不図示）や、図３に示した振分装置５、選択対象ネットワーク５０内の各機能の処理を実行するための装置それぞれ等と接続されることにより（直接接続されていなくてもよく、ネットワーク的に到達性があればよい。）、各装置やネットワークリンクに関する情報（リソース使用率）や、トラヒックに関する情報を取得し、装置およびネットワークのトータルで負荷が最も低い経路（装置）を選択する。そして、装置選択サーバ１０は、図４に示すように、処理部１１と、入出力部１２と、記憶部１３（記憶手段）とを含んで構成される。
【００２３】
入出力部１２は、ネットワーク管理装置（不図示）や、振分装置５、選択対象ネットワーク５０を構成する各装置等との間の情報の入出力を行う。また、この入出力部１２は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で入出力を行う入出力インタフェースとから構成される。
【００２４】
処理部１１は、装置選択サーバ１０全体の制御を司り、トラヒック毎にそのトラヒックにおいて要求される機能を実行する装置を選択するための経路計算を実行する。そして、この処理部１１は、情報入力部１１１、リンク負荷情報収集部１１２、装置負荷情報収集部１１３、対象トポロジ生成部１１４、経路計算部１１５、情報出力部１１６を含んで構成される。なお、この処理部１１は、例えば、記憶部１３に格納されたプログラムをＣＰＵ（Central Processing Unit）がＲＡＭ（Random Access Memory）に展開し実行することで実現される。
また、本実施形態における装置選択手段１は、具体的には、リンク負荷情報収集部１１２（リンク負荷情報収集手段）、装置負荷情報収集部１１３（装置負荷情報収集手段）、対象トポロジ生成部１１４（対象トポロジ生成手段）、経路計算部１１５（経路計算手段）、および、記憶部１３（記憶手段）に格納される各情報により構成される。よって、装置選択手段１が、振分装置５等の他の装置に配備される場合には、これらの各手段がその装置に備わるものとなる。
【００２５】
情報入力部１１１は、選択対象ネットワーク５０内の各装置や、ネットワーク管理装置（不図示）等から、入出力部１２を介して、選択対象ネットワーク５０内のリンク負荷情報１３３や、各装置の装置負荷情報１３４を受信し、記憶部１３に記憶する。
また、情報入力部１１１は、振分装置５やネットワーク管理装置（不図示）等から処理対象となるトラヒックに関する情報（トラヒック情報１３１）や、選択対象ネットワーク５０の装置間全体の接続関係を示すトポロジ情報１３２等を受信し、記憶部１３に記憶しておく。
なお、トラヒック情報１３１は、処理対象となるトラヒックが、選択対象ネットワーク５０において利用する１つ以上の機能を特定するための情報を含むものである。
【００２６】
リンク負荷情報収集部１１２（リンク負荷情報収集手段）は、選択対象ネットワーク５０内のネットワークリンクの負荷状態を監視し、各装置やネットワーク管理装置（不図示）から、各ネットワークリンクのリンク負荷情報１３３、ここでは、帯域使用率の情報を取得する。そして、リンク負荷情報収集部１１２は、そのリンク負荷情報１３３（帯域使用率）の情報を、記憶部１３に記憶しておく。なお、リンク負荷情報収集部１１２は、各ネットワークリンクの最大帯域の情報と、送受信トラヒック量の情報に基づき、帯域使用率の値を算出し、記憶部１３に記憶してもよいし、ネットワーク管理装置（不図示）等から、各ネットワークリンクの帯域使用率の情報を取得して、記憶部１３に記憶するようにしてもよい。
【００２７】
装置負荷情報収集部１１３（装置負荷情報収集手段）は、選択対象ネットワーク５０内の各装置の負荷状態を監視し、各装置やネットワーク管理装置（不図示）から、各装置の装置負荷情報１３４を取得し、記憶部１３に記憶する。各装置の装置負荷情報１３４としては、例えば、ＣＰＵ使用率やメモリ使用率等を用いることができる。なお、以下の説明においては、装置負荷情報１３４としてＣＰＵ使用率を用いる場合を例に説明する。
【００２８】
対象トポロジ生成部１１４（対象トポロジ生成手段）は、処理対象のトラヒックが利用する機能を、トラヒック情報１３１を参照して特定し、その特定した機能を備える装置を、トポロジ情報１３２を参照して抽出し、抽出した装置と当該装置間のネットワークリンクから構成されるトポロジ、つまり、処理対象となるトラヒックが利用する可能性のある装置（機能）およびネットワークリンクから構成されるトポロジを生成する。ここで、対象トポロジ生成部１１４が生成した、処理対象となるトラヒックそれぞれに対応するトポロジを、「対象トポロジ」と称する。
【００２９】
なお、対象トポロジ生成部１１４は、トラヒック情報１３１から、当該トラヒックの送信元となるユーザ（ユーザ端末）の識別情報（選択対象ネットワーク５０において利用する１つ以上の機能を特定するための情報）を取得し、その識別情報と各機能（機能Ａ，Ｂ，Ｃ，…）との対応情報（対応テーブル）等を参照することにより、当該トラヒックが利用する機能（例えば、機能Ａ，Ｂ，Ｃ）を特定できるものとする。この場合、ユーザの識別情報と各機能との対応情報（対応テーブル）が装置選択サーバ１０の記憶部１３（記憶手段）に記憶される。
【００３０】
また、このトラヒック情報１３１には、当該トラヒックの利用する帯域（トラヒック量）に関する情報が含まれる。そして、トポロジ情報１３２には、選択対象ネットワーク５０内の各装置間の接続関係、当該装置間のネットワークリンク（リンク）の最大帯域の情報、および、各装置（機能）の処理トラヒック量とリソース使用率の関係（例えば、機能Ａ：１Ｍｂｐｓあたり０．２％、機能Ｂ：１Ｍｂｐｓあたり０．１％、機能Ｃ：１Ｍｂｐｓあたり０．１２５％）の情報が含まれる。
【００３１】
この対象トポロジ生成部１１４は、処理対象となるトラヒックが要求する機能を備えていない装置と、当該装置に接続されたネットワークリンクを、取得したトポロジ情報１３２から削除することにより対象トポロジを生成する。その際、対象トポロジ生成部１１４は、リンク負荷情報１３３と装置負荷情報１３４とを参照し、各装置やネットワークリンクのリソース使用率（ＣＰＵ使用率や帯域使用率等）に基づき、リソース使用率が予め設定した上限値（例えば、９０％）を超える装置やネットワークリンクを削除する。このようにすることにより、トラヒックの帯域あふれや装置の処理能力低下を未然に防ぐことができる。
【００３２】
また、対象トポロジ生成部１１４は、リンク負荷情報１３３と装置負荷情報１３４とを参照し、各装置やネットワークリンクで使用可能なリソース量が、当該トラヒックの処理に必要なリソース量より小さい装置やネットワークリンクを、取得したトポロジ情報１３２から削除するようにしてもよい。さらに、対象トポロジ生成部１１４は、当該トラヒックの処理を加えると、リソース使用率が予め設定した上限値（例えば、９０％）を超える装置やネットワークリンクを削除するようにしてもよい。このようにすることにより、トラヒックの帯域あふれや装置の処理能力低下をさらに未然に防ぐことができる。
【００３３】
経路計算部１１５（経路計算手段）は、対象トポロジ生成部１１４が生成した対象トポロジを構成する装置およびネットワークリンクそれぞれの負荷情報（装置負荷情報１３４，リンク負荷情報１３３）をリンクコストとして置き換え、ネットワークの始点・終点間で最小コストとなる経路を計算し、計算した経路上の装置を当該トラヒックが経由する装置として選択する。なお、経路計算部１１５は、対象トポロジ上のリンクコストを、例えば、以下に示す２つの方式により計算する。
【００３４】
≪コスト計算方式≫
経路計算部１１５は、対象トポロジ生成部１１４が生成した処理対象となるトラヒックの対象トポロジについてのリンクコストを、（パターン１）リソース使用率方式、または、（パターン２）逆数方式により計算する。
【００３５】
［パターン１：リソース使用率方式］
リソース使用率方式は、ＣＰＵ使用率やメモリ使用率（装置の場合）、帯域使用率（ネットワークリンクの場合）といったリソース使用率を示すパラメータを、そのままリンクコストとする。このリソース使用率方式により、リソースのボトルネックの発生を防ぐことができる。
【００３６】
このリソース使用率方式には、装置間の負荷均等を優先するか、ネットワーク間（ネットワークリンク）の負荷均等を優先するか、両方を同等に扱うかにより、以下に示す３つのタイプがある。
【００３７】
図５は、本実施形態におけるコスト計算方式（パターン１：リソース使用率方式）を説明するための図である。
まず、対象トポロジ生成部１１４が生成した対象トポロジ上の装置とネットワークリンクのリソース使用率が図５（ａ）に示す状態であったものとする。ここで、経路計算部１１５は、各装置をリンクとして表現し、各装置のリソース使用率（ここでは、ＣＰＵ使用率）をリンクコストとして、図５（ｂ）に示すように、リンクコストを計算する。
【００３８】
このとき、経路計算部１１５は、（タイプ１）装置優先方式として、図５（ｃ）に示すように、各装置のＣＰＵ使用率に重みＷ１（Ｗ１＞１）＝１０を乗算することにより、装置間の負荷均等を優先する。
【００３９】
図５（ｄ）に示すように、（タイプ２）ネットワーク優先方式として、各ネットワークリンクの使用率に重みＷ２（Ｗ２＞１）＝１０を乗算することにより、ネットワーク間の負荷均等を優先する。
【００４０】
また、図５（ｅ）に示すように、（タイプ３）同等方式として、重みを乗算せずに、リソース使用率をそのままコストとして使用することにより、装置およびネットワークのトータルの負荷均等を優先する。
【００４１】
［パターン２：逆数方式］
逆数方式は、各装置・ネットワークリンクの残余使用率（＝１００−使用率）を求め、その逆数をリンクコストとする。この逆数方式によれば、使用率の合計が小さい経路であっても、経路上に残余使用率が極端に低い装置・ネットワークリンクがある場合には、その経路を選択しないようにすることができる。よって、（パターン１）のリソース使用率方式と比較して、リソースのボトルネックの発生をさらに抑えることができる。この（パターン２）の逆数方式においても、（パターン１）のリソース使用率方式と同様に、タイプ１〜３がある。
【００４２】
図６は、本実施形態におけるコスト計算方式（パターン２：逆数方式）を説明するための図である。
まず、対象トポロジ生成部１１４が生成した対象トポロジ上の装置とネットワークリンクのリソース使用率が図６（ａ）に示す状態であったものとする。ここで、経路計算部１１５は、各装置・ネットワークリンクの残余使用率（＝１００−使用率）を求め、その逆数をリンクコストとする（図６（ｂ）参照）。
【００４３】
このとき、経路計算部１１５は、（タイプ１）装置優先方式として、図６（ｃ）に示すように、各装置のＣＰＵ使用率に重みＷ３（Ｗ３＞１）＝１０を乗算することにより、装置間の負荷均等を優先する。
【００４４】
図６（ｄ）に示すように、（タイプ２）ネットワーク優先方式として、各ネットワークリンクの使用率に重みＷ４（Ｗ４＞１）＝１０００を乗算することにより、ネットワーク間の負荷均等を優先する。
【００４５】
また、図６（ｅ）に示すように、（タイプ３）同等方式として、重みを乗算せずに、各装置・ネットワークリンクの残余使用率の逆数をそのままコストとして使用することにより、装置およびネットワークのトータルの負荷均等を優先する。
【００４６】
このようにすることで、経路計算部１１５は、対象トポロジ情報に基づくリンクコストを、（パターン１）リソース使用率方式、または、（パターン２）逆数方式により計算し、処理対象となるトラヒックの経路（装置）を決定することができる。
【００４７】
図４に戻り、情報出力部１１６は、経路計算部１１５が計算した各トラヒックに対する経路情報を、入出力部１２を介して、振分装置５やネットワーク管理装置（不図示）等に出力する。
【００４８】
記憶部１３は、ハードディスクやフラッシュメモリ、ＲＡＭ等の記憶手段からなり、前記したトラヒック情報１３１、トポロジ情報１３２、リンク負荷情報１３３、装置負荷情報１３４等が記憶される。
【００４９】
＜処理の流れ＞
次に、本実施形態に係る装置選択手段１を含む装置選択サーバ１０等が実行する処理の流れについて説明する。
図７は、本実施形態に係る装置選択サーバ１０が実行するトラヒックの経路（装置）選択処理の流れを示すフローチャートである。
ここでは、装置選択サーバ１０の記憶部１３に、処理対象となるトラヒックに関するトラヒック情報１３１、および、選択対象ネットワーク５０に関するトポロジ情報１３２が予め記憶されているものとする。なお、このトラヒック情報１３１は、前記したように、そのトラヒックが使用する機能（サービス）を特定するための情報と、そのトラヒックの利用する帯域量（トラヒック量）とが含まれる。また、選択対象ネットワーク５０に関するトポロジ情報１３２には、前記したように、選択対象ネットワーク５０内の各装置間の接続関係、当該装置間のネットワークリンク（リンク）の最大帯域の情報、および、各装置（機能）の処理トラヒック量とリソース使用率の関係（例えば、機能Ａ：１Ｍｂｐｓあたり０．２％、機能Ｂ：１Ｍｂｐｓあたり０．１％、機能Ｃ：１Ｍｂｐｓあたり０．１２５％）の情報が含まれる。
【００５０】
まず、リンク負荷情報収集部１１２（リンク負荷情報収集手段）は、選択対象ネットワーク５０内の各ネットワークリンクのリンク負荷情報１３３（例えば、帯域使用率）を、各装置やネットワーク管理装置（不図示）等から収集し、記憶部１３に記憶する（ステップＳ１）。なお、このリンク負荷情報収集部１１２が、リンク負荷情報１３３を収集するタイミングは、所定の時間間隔毎に、各装置やネットワーク管理装置等から取得するようにしてもよいし、記憶部１３に、処理対象となるトラヒックに関する新たなトラヒック情報１３１が記憶される度に、その時点のリンク負荷情報１３３を、各装置やネットワーク管理装置等から取得するようにしてもよい。
【００５１】
次に、装置負荷情報収集部１１３（装置負荷情報収集手段）は、選択対象ネットワーク５０内の各装置の装置負荷情報１３４（例えば、ＣＰＵ使用率）を、各装置やネットワーク管理装置（不図示）等から収集し、記憶部１３に記憶する（ステップＳ２）。なお、この装置負荷情報収集部１１３が、装置負荷情報１３４を収集するタイミングは、所定の時間間隔毎に、各装置やネットワーク管理装置等から取得するようにしてもよいし、記憶部１３に、処理対象となるトラヒックに関する新たなトラヒック情報１３１が記憶される度に、その時点の装置負荷情報１３４を、各装置やネットワーク管理装置等から取得するようにしてもよい。
【００５２】
リンク負荷情報収集部１１２によるステップＳ１の処理と、装置負荷情報収集部１１３によるステップＳ２の処理は、順序が逆でもよいし、同時並行で行われてもよい。
【００５３】
続いて、対象トポロジ生成部１１４（対象トポロジ生成手段）は、例えば、処理対象となるトラヒックに関する新たなトラヒック情報１３１が記憶部１３に記憶されたことを契機として、以下に示す、対象トポロジ生成処理を実行する。
【００５４】
具体的には、対象トポロジ生成部１１４は、記憶部１３から、処理対象となるトラヒックのトラヒック情報１３１と、選択対象ネットワーク５０内の装置全体の接続関係を示すトポロジ情報１３２とを取得する（ステップＳ３）。
【００５５】
そして、対象トポロジ生成部１１４は、取得したトラヒック情報１３１から、当該トラヒックが利用する機能（例えば、機能Ａ，Ｂ，Ｃ）を特定し、当該特定した機能を備えていない装置と、その装置に接続されたネットワークリンク（リンク）とを、選択対象ネットワーク５０全体のトポロジ情報１３２から削除する（ステップＳ４）。
【００５６】
次に、対象トポロジ生成部１１４は、ステップＳ４で生成したトポロジから、リソース使用率（ＣＰＵ使用率、帯域使用率等）が予め設定した上限値（例えば、９０％）を超えている、当該新たなトラヒックを追加すると上限値を超える、のいずれかに該当する装置とそのネットワークリンク（リンク）とを削除する（ステップＳ５）。なお、対象トポロジ生成部１１４は、新たなトラヒックを追加した場合にリソース使用率が上限値を超えるか否かを、トポロジ情報１３２に含まれる、各ネットワークリンク（リンク）の最大帯域の情報や、各装置（機能）の処理トラヒック量とリソース使用率の関係の情報に基づき計算することにより判定する。また、対象トポロジ生成部１１４は、装置を削除する場合には、その装置に接続されたネットワークリンクも削除する。
このステップＳ３〜Ｓ５の処理を実行することにより、対象トポロジ生成部１１４は、処理対象となるトラヒックの対象トポロジを生成する。
【００５７】
続いて、経路計算部１１５（経路計算手段）は、予め設定されたコスト計算方式に基づき、各装置をリンクとして表現することにより、装置のリソース使用率をリンクコストに置き換えて、対象トポロジの各リンクのコストを計算する（ステップＳ６）。
なお、経路計算部１１５には、図５に示した（パターン１）のリソース使用率方式のタイプ１〜３、図６に示した（パターン２）の逆数方式のタイプ１〜３のうちの、いずれかのコスト計算方式が予めネットワーク管理者等により設定される。
【００５８】
そして、経路計算部１１５は、対象トポロジにおいて、始点・終点間でコストが最小となる経路を計算し（ステップＳ７）、処理を終える。
なお、図３（ｂ）に示すように、装置選択手段１単体を備える装置選択サーバ１０が、振分装置５等と接続されている構成の場合には、装置選択サーバ１０の情報出力部１１６が、経路計算部１１５が計算した当該トラヒックの経路、つまり、当該トラヒックが経由する装置の情報を振分装置５等に送信する。
【００５９】
＜対象トポロジの生成とコスト計算例＞
次に、対象トポロジ生成部１１４（対象トポロジ生成手段）が生成する対象トポロジの例と、その対象トポロジを用いて、経路計算部１１５（経路計算手段）が実行する、コスト計算の具体例について、図８および図９を参照して、より詳細に説明する。なお、ここでは、コスト算出方式として、（パターン１）のリソース使用率方式のタイプ３（同等方式）を例に説明する。
【００６０】
図８は、本実施形態に係る選択対象ネットワーク５０のトポロジ（トポロジ情報１３２）の一例と、選択対象ネットワーク５０内の装置とネットワークリンクの負荷情報としてのリソース使用率（ＣＰＵ使用率、帯域使用率）とを示している。
【００６１】
処理対象となるトラヒックは、図８に示す、パケット転送網「１」から振分装置５に配備された装置選択手段１により、処理を実行する機能（装置）が決定される。当該トラヒックは、決定された装置に転送され、各装置が備える機能により処理された後、振分装置５により、パケット転送網「２」に転送される。
【００６２】
例えば、処理されるトラヒックの帯域が「１００Ｍｂｐｓ」であり、機能「Ａ」→機能「Ｂ」のサービスを受ける場合、対象トポロジ生成部１１４は、図９に示すような対象トポロジを生成する。なお、ここで、リソース使用率の上限値は、装置・ネットワークリンク共に９０％とする。
【００６３】
図９においては、図８において示されるように、装置Ａ２のリソース使用率（ＣＰＵ使用率）が９５％であり、上限値を超えるため、対象トポロジ生成部１１４は、装置Ａ２とその装置Ａ２に接続されるネットワークリンクを削除して、対象トポロジを生成する。
そして、この対象トポロジとリンクコストに基づき、経路計算部１１５は、最小コストの経路として、装置Ａ３→装置Ｂ２を経由する経路を選択する。
【００６４】
以上説明したように、本実施形態に係る装置選択手段１を含む装置選択ネットワークシステム１００、装置選択サーバ１０およびプログラムによれば、複数の装置が連携してサービスを提供する仮想化されたネットワークシステムにおいて、局所的に負荷が高い装置やネットワークの発生を低減し、装置およびネットワークのトータルで負荷が最も低い経路を選択することが可能となる。
【符号の説明】
【００６５】
１      装置選択手段
１０    装置選択サーバ
１１    処理部
１２    入出力部
１３    記憶部（記憶手段）
１００  装置選択ネットワークシステム
１１１  情報入力部
１１２  リンク負荷情報収集部（リンク負荷情報収集手段）
１１３  装置負荷情報収集部（装置負荷情報収集手段）
１１４  対象トポロジ生成部（対象トポロジ生成手段）
１１５  経路計算部（経路計算手段）
１１６  情報出力部
１３１  トラヒック情報
１３２  トポロジ情報
１３３  リンク負荷情報
１３４  装置負荷情報
【図１】
2015154325.tif 000003
【図２】
2015154325.tif 000004
【図３】
2015154325.tif 000005
【図４】
2015154325.tif 000006
【図５】
2015154325.tif 000007
【図６】
2015154325.tif 000008
【図７】
2015154325.tif 000009
【図８】
2015154325.tif 000010
【図９】
2015154325.tif 000011
【図１０】
2015154325.tif 000012
【図１１】
2015154325.tif 000013
【図１２】
2015154325.tif 000014