(57)【特許請求の範囲】
【請求項１】
複数の物理装置を含むネットワークインフラ上に生成される仮想ネットワークの仮想マシン間を接続する仮想リンクを構成する機能部を冗長化した複数の機能部のうち稼働系の機能部及び残りの待機系の機能部のそれぞれを物理装置に割り当てる仮想リンクの機能部割当装置であって、
割当済である稼働系の機能部と、前記物理装置との対応を記憶する記憶手段と、
前記対応から、割当対象の仮想リンクの機能部が割り当てられた前記物理装置を除く、他の物理装置の中から、前記他の物理装置に割り当てられている、前記割当対象の仮想リンクとは異なる仮想リンクの稼働系の機能部に基づいて、前記割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する機能部割当手段と、
を備え、
前記記憶手段は、割当済であると共に優先度が設定された待機系の機能部と、前記物理装置との対応を記憶し、
機能部割当手段は、前記他の物理装置に割り当てられている、前記異なる仮想リンクの待機系の機能部の優先度にも基づいて、前記割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する、機能部割当装置。
【請求項２】
前記機能部割当手段は、前記他の物理装置に割り当てられている前記異なる仮想リンクの機能部の優先度を、前記割当対象の仮想リンクの機能部が割り当てられた前記物理装置を除いたことに応じて繰り上げ、当該繰り上げによって稼働系とされた機能部を含む、前記異なる仮想リンクの稼働系の機能部を特定し、特定された稼働系の機能部に基づいて、前記割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する請求項１に記載の機能部割当装置。
【請求項３】
前記機能部割当手段は、前記他の物理装置に割り当てられ、かつ前記繰り上げによって稼働系とされた機能部を含む、前記異なる仮想リンクの稼働系の機能部の数を特定し、特定された稼働系の機能部の数に基づいて、前記割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する請求項２に記載の機能部割当装置。
【請求項４】
前記機能部割当手段は、前記対応から、各物理装置に割り当てられている前記異なる仮想リンクの稼働系の機能部を特定し、特定された、各物理装置に割り当てられている稼働系の機能部に基づいて、前記割当対象の仮想リンクの稼働系の機能部を割り当てる物理装置を決定する請求項１〜３の何れか一項に記載の機能部割当装置。
【請求項５】
前記機能部割当手段は、前記他の物理装置に割り当てられている前記異なる仮想リンクの機能部を優先度毎に特定し、特定された優先度毎かつ優先度が高い順の機能部に基づいて、割当対象となる物理装置を限定して、前記仮想リンクの機能部を割り当てる物理装置を決定する請求項１に記載の機能部割当装置。
【請求項６】
前記機能部割当手段は、前記他の物理装置に割り当てられている前記異なる仮想リンクの機能部の数を優先度毎に特定し、特定された優先度毎かつ優先度が高い順の機能部の数に基づいて、割当対象となる物理装置を限定して、前記割当対象の仮想リンクの機能部を割り当てる物理装置を決定する請求項５に記載の機能部割当装置。
【請求項７】
前記記憶手段は、機能部に対応付けて当該機能部によって利用されるリソースの量を記憶し、
前記機能部割当手段は、前記他の物理装置に割り当てられている前記異なる仮想リンクの機能部によって利用されるリソースの量を優先度毎に特定し、特定された優先度毎かつ優先度が高い順の機能部によって利用されるリソースの量に基づいて、割当対象となる物理装置を限定して、前記割当対象の仮想リンクの機能部を割り当てる物理装置を決定する、請求項５又は６に記載の機能部割当装置。
【請求項８】
前記機能部割当手段によって、機能部を割り当てる物理装置として決定された物理装置に当該機能部を配備する機能部配備手段を更に備える請求項１〜７の何れか一項に記載の機能部割当装置。
【請求項９】
機能部割当手段は、何れかの仮想リンクの待機系の機能部が、稼働系の機能部に切り替えられたことをトリガーとして、前記仮想リンクの機能部を割り当てる物理装置を決定する請求項１〜８の何れか一項に記載の機能部割当装置。
【請求項１０】
複数の物理装置を含むネットワークインフラ上に生成される仮想ネットワークの仮想マシン間を接続する仮想リンクを構成する機能部を冗長化した複数の機能部のうち稼働系の機能部及び残りの待機系の機能部のそれぞれを物理装置に割り当てる処理がネットワークインフラ上で実行される仮想リンクの機能部割当装置の動作方法である機能部割当方法であって、
割当済である稼働系の機能部と、前記物理装置との対応が記憶された記憶手段から前記対応を読み込む第１ステップと、
前記対応から、割当対象の仮想リンクの機能部が割り当てられた前記物理装置を除く、他の物理装置の中から、前記他の物理装置に割り当てられている、前記割当対象の仮想リンクとは異なる仮想リンクの稼働系の機能部に基づいて、前記割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する第２ステップと、
を含み、
割当済であると共に優先度が設定された待機系の機能部と、前記物理装置との対応が、前記記憶手段に記憶され、
前記第２ステップにおいて、前記他の物理装置に割り当てられている、前記異なる仮想リンクの待機系の機能部の優先度にも基づいて、前記割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する、機能部割当方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理装置に機能部を割り当てる機能部割当装置及び機能部割当方法に関する。
【背景技術】
【０００２】
ネットワークを提供する事業者のネットワークシステム運用コスト削減のために、ＮＦＶ（Network Functions Virtualization）という技術が利用されるようになっている。ＮＦＶは、従来、専用装置を使って実現されていたネットワーク機能の一部を汎用サーバ装置の仮想マシンを使って実現し、仮想マシン間を仮想的なリンクである仮想リンクで接続するものである（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ETSI Group Specification（ETSI GS NFV-MAN 001v1.1.1（2014.12））：“NetworkFunctions Virtualisation（NFV）；Managementand Orchestration”
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記背景技術に係る仮想リンクを構成する各機能部は、装置の故障に対する耐性を高めるために、冗長化されることがある。このような機能部の一つにデフォルトゲートウェイ機能（以降、ＧＷ）がある。ＧＷを冗長化する従来のプロトコルとして、例えば、ＶＲＲＰ／ＨＳＲＰ／ＧＬＢＰ（Virtual Router Redundancy Protocol／HotStandby Router Protocol／Gateway Load Balancing Protocol）が存在する。ＧＷを冗長化する際には、通常、複数のＧＷがそれぞれ異なる物理装置に配備される。それらの複数のＧＷのうち、いくつかが稼働系（以降、ＧＷ  ＡＣＴ）とされ、残りが待機系（以降、ＧＷ  ＳＢＹ）とされる。
【０００５】
ここで、共通の物理装置で複数の仮想リンクが実現される場合、各物理装置にはそれぞれの仮想リンクのＧＷ  ＡＣＴ又はＧＷ  ＳＢＹが配備される。物理装置の負荷の観点から、ＧＷ  ＡＣＴが実現される物理装置に偏りが生じないことが望ましい。
【０００６】
ＧＷ  ＳＢＹが複数配備される場合、ＧＷ  ＡＣＴが配備された物理装置で故障が発生した際には、複数配備されたＧＷ  ＳＢＹの何れかが系切り替えによってＧＷ  ＡＣＴとなる。この際、ＧＷ  ＳＢＹの配備のされ方、及び系切り替えの仕方によっては、特定の物理装置にＧＷ  ＡＣＴが集中してしまうおそれがある。
【０００７】
本発明は、上記に鑑みてなされたものであり、系切り替えが発生した場合でも、稼働系の機能部が特定の物理装置に集中することを防止するように複数の物理装置上に待機系の機能部を配備する機能部割当装置及び機能部割当方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る機能部割当装置は、複数の物理装置を含むネットワークインフラ上に生成される仮想ネットワークの仮想マシン間を接続する仮想リンクを構成する機能部を冗長化した複数の機能部のうち稼働系の機能部及び残りの待機系の機能部のそれぞれを物理装置に割り当てる仮想リンクの機能部割当装置であって、割当済である稼働系の機能部と、物理装置との対応を記憶する記憶手段と、対応から、割当対象の仮想リンクの機能部が割り当てられた物理装置を除く、他の物理装置の中から、他の物理装置に割り当てられている、割当対象の仮想リンクとは異なる仮想リンクの稼働系の機能部に基づいて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する機能部割当手段と、を備え、記憶手段は、割当済であると共に優先度が設定された待機系の機能部と、物理装置との対応を記憶し、機能部割当手段は、他の物理装置に割り当てられている、異なる仮想リンクの待機系の機能部の優先度にも基づいて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する。
【０００９】
本発明に係る機能部割当装置では、割当対象の仮想リンクの機能部が配備された物理装置が除かれ、残った各物理装置に割り当てられた割当対象の仮想リンクとは異なる仮想リンクの稼働系の機能部及び待機系の機能部の優先度が考慮されて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置が決定される。従って、本発明に係る機能部割当装置によれば、系切り替えが発生した場合でも、稼働系の機能部が特定の物理装置に集中することを防止するように複数の物理装置上に待機系の機能部を配備することができる。
【００１０】
機能部割当手段は、他の物理装置に割り当てられている異なる仮想リンクの機能部の優先度を、割当対象の仮想リンクの機能部が割り当てられた物理装置を除いたことに応じて繰り上げ、当該繰り上げによって稼働系とされた機能部を含む、異なる仮想リンクの稼働系の機能部を特定し、特定された稼働系の機能部に基づいて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定することとしてもよい。この構成では、割当対象の仮想リンクの機能部が配備された物理装置が除かれ、残った各物理装置に割り当てられた割当対象の仮想リンクとは異なる仮想リンクの機能部の優先度が当該除かれたことに応じて繰り上げられて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置が決定される。これにより、割当対象の仮想リンクの機能部が割り当てられた物理装置に故障が発生した場合の優先度の繰り上げ、即ち、系切り替えの発生が考慮されて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置が決定される。従って、この構成によれば、系切り替えが発生した場合でも、稼働系の機能部が特定の物理装置に集中することを確実に防止するように複数の物理装置上に待機系の機能部を配備することができる。
【００１１】
機能部割当手段は、他の物理装置に割り当てられ、かつ繰り上げによって稼働系とされた機能部を含む、異なる仮想リンクの稼働系の機能部の数を特定し、特定された稼働系の機能部の数に基づいて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定することとしてもよい。この構成によれば、系切り替えが発生した場合の各物理装置での稼働系の機能部の数に基づいて、適切に割当対象の仮想リンクの待機系の機能部を配備することができる。
【００１２】
機能部割当手段は、対応から、各物理装置に割り当てられている異なる仮想リンクの稼働系の機能部を特定し、特定された、各物理装置に割り当てられている稼働系の機能部に基づいて、割当対象の仮想リンクの稼働系の機能部を割り当てる物理装置を決定することとしてもよい。この構成によれば、割当対象の仮想リンクの待機系の機能部のみならず、割当対象の仮想リンクの稼働系の機能部も適切に配備することができる。
【００１３】
機能部割当手段は、他の物理装置に割り当てられている異なる仮想リンクの機能部を優先度毎に特定し、特定された優先度毎かつ優先度が高い順の機能部に基づいて、割当対象となる物理装置を限定して、仮想リンクの機能部を割り当てる物理装置を決定することとしてもよい。この構成では、割当対象の仮想リンクの機能部が配備された物理装置が除かれ、残った各物理装置に割り当てられた割当対象の仮想リンクとは異なる仮想リンクの機能部の優先度毎に当該異なる仮想リンクの機能部が特定される。特定された優先度毎かつ優先度が高い順の機能部に基づいて、割当対象となる物理装置が限定されて、割当対象の仮想リンクの機能部を割り当てる物理装置が決定される。これにより、高い優先度の機能部の配備が少ない物理装置が、割当対象の仮想リンクの機能部を割り当てる物理装置として決定される。従って、この構成によれば、系切り替えが発生した場合でも、稼働系の機能部が特定の物理装置に集中することを確実に防止するように複数の物理装置上に待機系の機能部を配備することができる。
【００１４】
機能部割当手段は、他の物理装置に割り当てられている異なる仮想リンクの機能部の数を優先度毎に特定し、特定された優先度毎かつ優先度が高い順の機能部の数に基づいて、割当対象となる物理装置を限定して、割当対象の仮想リンクの機能部を割り当てる物理装置を決定することとしてもよい。この構成によれば、各物理装置での優先度毎の機能部の数に基づいて、割当対象となる物理装置が限定されて、割当対象の仮想リンクの機能部を割り当てる物理装置が決定される。従って、各物理装置での優先度毎の機能部の数に基づいて、適切に割当対象の仮想リンクの機能を配備することができる。
【００１５】
記憶手段は、機能部に対応付けて当該機能部によって利用されるリソースの量を記憶し、機能部割当手段は、他の物理装置に割り当てられている異なる仮想リンクの機能部によって利用されるリソースの量を優先度毎に特定し、特定された優先度毎かつ優先度が高い順の機能部によって利用されるリソースの量に基づいて、割当対象となる物理装置を限定して、割当対象の仮想リンクの機能部を割り当てる物理装置を決定する、こととしてもよい。この構成によれば、各物理装置での優先度毎の機能部によって利用されるリソースの量に基づいて、割当対象となる物理装置が限定されて、割当対象の仮想リンクの機能部を割り当てる物理装置が決定される。従って、各物理装置での優先度毎の機能部によって利用されるリソースの量に基づいて、適切に割当対象の仮想リンクの機能部を配備することができる。
【００１６】
機能部割当装置は、機能部割当手段によって、機能部を割り当てる物理装置として決定された物理装置に当該機能部を配備する機能部配備手段を更に備えることとしてもよい。この構成によれば、確実に機能部の配備を行うことができる。
【００１７】
機能部割当手段は、何れかの仮想リンクの待機系の機能部が、稼働系の機能部に切り替えられたことをトリガーとして、仮想リンクの機能部を割り当てる物理装置を決定することとしてもよい。この構成によれば、適切なタイミングで機能部の配備を行うことができる。
【００１８】
ところで、本発明は、上記のように機能部割当装置の発明として記述できる他に、以下のように機能部割当方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。
【００１９】
即ち、本発明に係る機能部割当方法は、複数の物理装置を含むネットワークインフラ上に生成される仮想ネットワークの仮想マシン間を接続する仮想リンクを構成する機能部を冗長化した複数の機能部のうち稼働系の機能部及び残りの待機系の機能部のそれぞれを物理装置に割り当てる処理がネットワークインフラ上で実行される仮想リンクの機能部割当装置の動作方法である機能部割当方法であって、割当済である稼働系の機能部と、物理装置との対応が記憶された記憶手段から対応を読み込む第１ステップと、対応から、割当対象の仮想リンクの機能部が割り当てられた物理装置を除く、他の物理装置の中から、他の物理装置に割り当てられている、割当対象の仮想リンクとは異なる仮想リンクの稼働系の機能部に基づいて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する第２ステップと、を含み、割当済であると共に優先度が設定された待機系の機能部と、物理装置との対応が、記憶手段に記憶され、第２ステップにおいて、他の物理装置に割り当てられている、異なる仮想リンクの待機系の機能部の優先度にも基づいて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置を決定する。
【発明の効果】
【００２０】
本発明では、割当対象の仮想リンクの機能部が配備された物理装置が除かれ、残った各物理装置に割り当てられた割当対象の仮想リンクとは異なる仮想リンクの稼働系の機能部及び待機系の機能部の優先度が考慮されて、割当対象の仮想リンクの待機系の機能部を割り当てる物理装置が決定される。従って、本発明によれば、系切り替えが発生した場合でも、稼働系の機能部が特定の物理装置に集中することを防止するように複数の物理装置上に待機系の機能部を配備することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る機能部割当装置である制御装置、及び当該制御装置を含むネットワークシステムの構成を示す図である。
【図２】制御装置で保持されるＧＷ配備表の例を示す図である。
【図３】制御装置で保持されるＧＷ属性表の例を示す図である。
【図４】ＧＷ配備表の複製における稼働優先度の繰り上げを示す図である。
【図５】本発明の実施形態に係る機能部割当装置である制御装置のハードウェア構成を示す図である。
【図６】第１実施形態に係る機能部割当装置である制御装置で、新たな仮想リンクを生成する際に実行される処理（機能部割当方法）を示すフローチャートである。
【図７】第１実施形態に係る機能部割当装置である制御装置で、配備済の仮想ルータの再配備の際に実行される処理（機能部割当方法）を示すフローチャートである。
【図８】第２実施形態に係る機能部割当装置である制御装置で、新たな仮想リンクを生成する際に実行される処理（機能部割当方法）を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面と共に本発明に係る機能部割当装置及び機能部割当方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２３】
［第１実施形態］
図１に本実施形態に係る機能部割当装置である制御装置１０、及び当該制御装置１０を含むネットワークシステム１の構成を示す。ネットワークシステム１は、図示しない移動通信端末に移動体通信の機能を提供するシステムである。図１に示すように、ネットワークシステム１は、制御装置１０の他に、複数の中継装置２０と、前後段装置群３０と、操作端末４０とを含んで構成されている。
【００２４】
ネットワークシステム１は、互いに異なる複数の仮想リンクを含んで構成される。移動通信端末は、ネットワークシステム１に含まれる複数の仮想リンクの何れかに接続することで移動体通信を行う。仮想リンクは、複数の中継装置２０上で実現される仮想ルータ５０を含んで実現される（構成される）。複数の中継装置２０は、それぞれが仮想ルータ５０を実現できる（実行可能な）サーバ装置等の物理装置により構成されている。物理装置のハードウェアは、従来と同様のものでよい。仮想ルータ５０は、移動通信端末に移動体通信の機能を提供するためのネットワーク機能の一部であるネットワークシステム１におけるＧＷを構成する。仮想ルータ５０は、仮想化技術によって中継装置２０上で動作する仮想マシンである。例えば、仮想ルータ５０は、従来のネットワークシステムと同様に例えば、上述したＮＦＶによって実現される。即ち、ネットワークシステム１は、複数の物理装置２０を含むネットワークインフラ上に生成される仮想ネットワークにより構成される。仮想リンクは、当該仮想ネットワークの仮想マシン間を接続するものである。
【００２５】
各仮想リンクの仮想ルータ５０は、複数の中継装置２０のうち、何れかの中継装置で実現（動作）していればよい。各仮想リンクの仮想ルータ５０は、中継装置２０の故障に対する耐性を高めるために冗長化される。この冗長化では、複数の仮想ルータ５０が中継装置２０で実現される。複数の仮想ルータ５０のうち稼働系（ＡＣＴ）の仮想ルータ５０であるＧＷ  ＡＣＴ５０ａと残りの待機系（ＳＢＹ）の仮想ルータ５０であるＧＷ  ＳＢＹ５０ｂとのそれぞれが、中継装置２０に割り当てられて実現される。ＧＷ  ＡＣＴ５０ａ及びＧＷ  ＳＢＹ５０ｂは、仮想リンクに１つ以上設けられる。ＧＷ  ＡＣＴ５０ａ及びＧＷ  ＳＢＹ５０ｂは、それぞれ仮想リンクに複数設けられてもよい。ＧＷ  ＡＣＴ５０ａ及びＧＷ  ＳＢＹ５０ｂの数は、予め仮想リンク毎に設定されている。それぞれの中継装置２０は、複数の仮想ルータ５０を実現（実行）することができる。中継装置２０での障害等を考慮し、同一の仮想リンクの複数の仮想ルータ５０は、同一の中継装置２０で実現しない。即ち、同一の仮想リンクを構成する複数の仮想ルータ５０は、互いに異なる中継装置２０で実現される。
【００２６】
各仮想ルータ５０には、仮想ルータ５０の稼働の優先度である稼働優先度が設定されている。稼働優先度が１の仮想ルータ５０は、ＧＷ  ＡＣＴ５０ａである。稼働優先度が２以降の仮想ルータ５０は、ＧＷ  ＳＢＹ５０ｂである。稼働優先度が１の仮想ルータ５０が実現されている中継装置２０に故障が発生した場合等、稼働優先度が１の仮想ルータ５０が動作しない状態となった場合、系切り替えが生じ、ＧＷ  ＳＢＹ５０ｂが、稼働優先度の値が小さい順にＧＷ  ＡＣＴ５０ａとなる。ＧＷ  ＳＢＹ５０ｂの稼働優先度は、例えば、２，３，４…というように一つずつ数値が大きくなるように設定される。上記のように稼働優先度は、その値が小さいほど、稼働優先度が高いことを示している。
【００２７】
仮想ルータ５０は、中継装置２０が備えるリソース、例えば、通信リソースを使用してＧＷとしての機能部を実現する。後述するように、仮想ルータ５０によって使用される中継装置２０が備えるリソースの量は、例えば、帯域（ｂｐｓ）によって表される。仮想リンクを構成する仮想ルータ５０の数、及び当該仮想ルータ５０によって利用される帯域は、仮想リンク毎に異なっていてもよい。
【００２８】
前後段装置群３０は、ネットワークシステム１におけるＧＷ以外のネットワーク機能を実現する装置群である。前後段装置群３０は、各中継装置２０に接続されており、中継装置２０と共に動作することでネットワークシステム１のネットワーク機能が実現される。なお、中継装置２０及び前後段装置群３０は、従来のネットワークシステムに含まれる装置と同様の構成である。
【００２９】
制御装置１０は、各中継装置２０に接続されている。制御装置１０は、中継装置２０に仮想ルータ５０を割り当て、割り当てた仮想ルータ５０を中継装置２０に配備（配置）する制御を行う装置である。制御装置１０は、仮想リンク単位で仮想ルータ５０の中継装置２０への割当を行う。制御装置１０による仮想ルータ５０の中継装置２０への割当によって、新規の仮想リンクが生成される。操作端末４０は、制御装置１０に接続されている。操作端末４０は、ネットワークシステム１を提供する事業者等によって用いられ、制御装置１０に対して制御の指示を行う装置である。
【００３０】
引き続いて、制御装置１０の本実施形態に係る機能を説明する。図１に示すように制御装置１０は、ＧＷ配備表１１と、ＧＷ属性表１２と、機能部割当部１３と、割当候補決定部１４と、機能部配備部１５とを備えて構成される。
【００３１】
ＧＷ配備表１１は、中継装置２０と、当該中継装置２０に割当済である稼働優先度がそれぞれ設定された仮想ルータ５０（ＧＷ  ＡＣＴ５０ａ並びにＧＷ  ＳＢＹ５０ｂ）との対応を記憶する記憶手段の一つである。図２に、ＧＷ配備表１１を示す。図２に示すように、ＧＷ配備表１１は、仮想ルータ識別子、配備ＧＷ稼働優先度、所属仮想リンク識別子及び配備先中継装置識別子を対応付けて記憶している。仮想ルータ識別子は、仮想ルータ５０を特定する情報である。仮想ルータ識別子は、例えば、仮想ルータ５０が所属する仮想リンク（仮想ルータ５０が構成する仮想リンク）と仮想ルータ５０が配備される中継装置２０とに基づいて定められる。具体的には、仮想ルータ識別子は、「仮想ルータＸ．Ｙ」であり、Ｘは、仮想ルータ５０が所属する仮想リンクを特定する番号であり、Ｙは、仮想ルータ５０が配備される中継装置２０を特定する番号である。例えば、仮想ルータ識別子が「仮想ルータ１．２」の仮想ルータ５０は、仮想リンク識別子が「仮想リンク１」の仮想リンクに所属し、中継装置識別子が「中継装置２」の中継装置２０に配備されたものである。
【００３２】
配備ＧＷ稼働優先度は、配備済の仮想ルータ５０の稼働優先度を示す数値である。所属仮想リンク識別子は、仮想ルータ５０が所属する仮想リンクを特定する情報である仮想リンク識別子である。例えば、仮想リンク識別子は、「仮想リンク１」である。配備先中継装置識別子は、仮想ルータ５０が配備される中継装置を特定する情報である中継装置識別子である。例えば、中継装置識別子は、「中継装置１」である。また、ＧＷ配備表１１は、稼働優先度が設定されていない仮想ルータ５０の情報が記憶されていてもよい。図２に示す配備ＧＷ稼働優先度が「未割当」となっている情報である。
【００３３】
ＧＷ属性表１２は、配備される仮想ルータ５０に関する情報を仮想リンク毎に記憶する記憶手段の一つである。図３に、ＧＷ属性表１２を示す。図３に示すようにＧＷ属性表１２は、仮想リンク識別子、冗長度、ＡＣＴ数及び帯域を対応付けて記憶している。冗長度は、仮想リンクに所属する仮想ルータ５０の数を示す。ＡＣＴ数は、仮想リンクに所属する仮想ルータ５０のうち、ＧＷ  ＡＣＴ５０ａとなる数を示す。例えば、冗長度７、ＡＣＴ数３の仮想リンクでは、配備される仮想ルータ５０の稼働優先度は、｛１，１，１，２，３，４，５｝となる。帯域は、仮想ルータ５０によって利用される帯域である。即ち、ＧＷ属性表１２は、仮想ルータ５０に対応付けて当該仮想ルータ５０によって利用されるリソースの量を記憶する。なお、上述した従来のＧＷを冗長化するプロトコルでは、ＡＣＴ数が一定以下の制限（例えば、１以下や４以下）を持つ。そのため、従来のネットワークシステムでは、ＧＷが配備される中継装置２０間で負荷の偏りが生じえる。
【００３４】
機能部割当部１３は、割当対象の仮想リンクの仮想ルータ５０を割り当てる中継装置２０を決定する機能部割当手段の一機能である。具体的には、機能部割当部１３は、以下の機能を有する。
【００３５】
機能部割当部１３は、新規の仮想リンクの生成を要求するＧＷ配備要求を操作端末４０から受信する。ＧＷ配備要求は、新規に生成される仮想リンクの仮想リンク識別子、ＧＷの冗長度及びＡＣＴ数を含む。また、ＧＷ配備要求は、帯域を示す情報を含んでいてもよい。操作端末４０から制御装置１０へのＧＷ配備要求は、例えば、ネットワークシステム１における中継機能を強化するために、ネットワークシステム１を提供する事業者等による操作端末４０に対する操作によって行われる。機能部割当部１３は、受信したＧＷ配備要求に含まれる各情報を新規の仮想リンクのエントリとしてＧＷ属性表１２に追加する。機能部割当部１３は、以降の処理を追加したＧＷ属性表１２のエントリに基づいて行う。
【００３６】
機能部割当部１３は、以下のように新規の仮想リンクの稼働優先度１の仮想ルータ５０（ＧＷ  ＡＣＴ５０ａ）を割り当てる中継装置２０を決定する。機能部割当部１３は、ＧＷ配備表１１を参照して（ＧＷ配備表１１から中継装置２０と仮想ルータ５０との対応を読み込んで）、各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンク（割当対象である新規の仮想リンクとは異なる仮想リンク）のＧＷ  ＡＣＴ５０ａを特定する。具体的には、機能部割当部１３は、新規の仮想リンク以外の仮想リンクのＧＷ  ＡＣＴ５０ａの数を特定する。即ち、機能部割当部１３は、各中継装置２０について、配備ＧＷ稼働優先度が１の出現回数を算出する。機能部割当部１３は、算出した出現回数が最も少ない中継装置２０を選択して、新規の仮想リンクの稼働優先度１の仮想ルータ５０を割り当てる中継装置２０（新規の仮想リンクの稼働優先度１のＧＷの配備先）に決定する。
【００３７】
もし、出現回数が最も少ない中継装置２０が複数ある場合には、その中から任意の中継装置２０を選択して新規の仮想リンクの稼働優先度１の仮想ルータ５０を割り当てる中継装置２０に決定する。あるいは、それらの中継装置２０のうち、配備ＧＷ稼働優先度が２の出現回数が最も少ない中継装置２０を選択してもよい。候補となる中継装置２０が更に複数ある場合には、それ以降の配備ＧＷ稼働優先度毎の出現回数が最も少ない中継装置２０を選択してもよい。機能部割当部１３は、稼働優先度１の仮想ルータ５０を割り当てる中継装置２０を決定すると、当該仮想ルータ５０についての仮想ルータ識別子を新規に作成して、ＧＷ配備表１１に当該仮想ルータ５０のエントリを追加する。
【００３８】
新規の仮想リンクのＡＣＴ数が２以上である場合には、機能部割当部１３は、算出した出現回数が次に少ない中継装置２０を、新規の仮想リンクの稼働優先度１の仮想ルータ５０を割り当てる中継装置２０に決定し、ＧＷ配備表１１にエントリを追加する。即ち、当該新規の仮想リンクの仮想ルータ５０を割当済の中継装置２０を除いた中継装置２０の中から、仮想ルータ５０を割り当てる中継装置２０を決定する。機能部割当部１３は、稼働優先度１の仮想ルータ５０の割当を、新規の仮想リンクのＡＣＴ数（稼働優先度１の数）だけ繰り返す。
【００３９】
稼働優先度１の仮想ルータ５０の割当が完了すると、機能部割当部１３は、稼働優先度２以降（２以下）の仮想ルータ５０の割当のために、ＧＷ配備表１１の複製を作成する。ＧＷ配備表１１の複製を作成するのは、割当処理において、後述するようにＧＷ配備表１１に記憶されているエントリの削除及び変更を行うため、割当済のエントリの情報に影響を及ぼさないようにするためである。以降では、仮想ルータ５０を割り当てる中継装置２０を決定する演算には複製を用い、割当に係るエントリを複製でないＧＷ配備表１１に追加する。
【００４０】
割当候補決定部１４は、ＧＷ配備表１１によって記憶されたエントリから、割当対象である新規の仮想リンクの仮想ルータ５０が割り当てられた中継装置２０を除き、残った他の各中継装置２０を仮想ルータ５０の割当候補とする機能部割当手段の一機能である。具体的には、割当候補決定部１４は、機能部割当部１３によって生成されたＧＷ配備表１１の複製から中継装置２０と仮想ルータ５０との対応を読み込んで、当該複製から、新規の仮想リンクの仮想ルータ５０が割り当てられた中継装置２０のエントリを全て削除する。例えば、新規の仮想リンクの仮想ルータ５０が、「中継装置２」の中継装置２０に割り当てられた場合、配備先中継装置識別子が「中継装置２」となっている全てのエントリを複製から削除する。
【００４１】
機能部割当部１３によって、稼働優先度１の仮想ルータ５０の割当がされた場合、割当候補決定部１４は、稼働優先度１の仮想ルータ５０が割り当てられた中継装置２０のエントリを複製から全て削除する。また、後述するように稼働優先度２以降の仮想ルータ５０の割当がされた場合、当該割当がなされる度に割当候補決定部１４は、当該稼働優先度の仮想ルータ５０が割り当てられた中継装置２０のエントリを複製から全て削除する。割当候補決定部１４に削除された複製に含まれるエントリの中継装置２０が、仮想ルータ５０の割当候補となる。
【００４２】
機能部割当部１３は、以下のように新規の仮想リンクの稼働優先度２以降の仮想ルータ５０（ＧＷ  ＳＢＹ５０ｂ）を割り当てる中継装置２０を決定する。機能部割当部１３は、割当候補決定部１４によって割当候補とされた各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクのＧＷ  ＡＣＴ５０ａに基づいて、新規の仮想リンクのＧＷ  ＳＢＹ５０ｂを割り当てる中継装置２０を決定する。機能部割当部１３は、割当候補決定部１４によって割当候補とされた各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクの稼働優先度毎のＧＷ  ＳＢＹ５０ｂにも基づいて、新規の仮想リンクのＧＷ  ＳＢＹ５０ｂを割り当てる中継装置２０を決定する。
【００４３】
機能部割当部１３は、割当候補決定部１４によって割当候補とされた各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクの仮想ルータ５０の稼働優先度を、物理装置２０が割当候補決定部１４によって除かれたことに応じて繰り上げ、当該繰り上げによってＧＷ  ＡＣＴ５０ａとされた仮想ルータ５０を含む、当該新規の仮想リンク以外の仮想リンクのＧＷ  ＡＣＴ５０ａの数を特定し、特定されたＧＷ  ＡＣＴ５０ａの数に基づいて、新規の仮想リンクのＧＷ  ＳＢＹ５０ｂを割り当てる中継装置２０を決定する。
【００４４】
具体的には、割当候補決定部１４によってＧＷ配備表１１の複製からエントリの削除が行われると、機能部割当部１３は、エントリが削除されたＧＷ配備表１１の複製において、割当対象である新規の仮想リンク以外の仮想リンクの仮想ルータ５０の配備ＧＷ稼働優先度を仮想リンク毎に繰り上げる。割当候補決定部１４によってＧＷ配備表１１の複製からエントリの削除が行われると、割当対象である新規の仮想リンク以外の仮想リンクにおいて配備ＧＷ稼働優先度の欠番が生じる。例えば、図４（ａ）に示すように「中継装置２」のエントリが削除されると、「仮想リンク１」の仮想リンクの配備ＧＷ稼働優先度２が欠番となる。機能部割当部１３は、仮想リンク毎に欠番となった配備ＧＷ稼働優先度を埋めるようにそれ以降の配備ＧＷ稼働優先度を繰り上げる。例えば、図４（ｂ）に示すように配備ＧＷ稼働優先度２が欠番となったら、機能部割当部１３は、３以降の配備ＧＷ稼働優先度をそれぞれ一つずつ繰り上げる。なお、配備ＧＷ稼働優先度２が繰り上がった場合、配備ＧＷ稼働優先度１となる。即ち、当該エントリは、繰り上げによってＧＷ  ＡＣＴ５０ａのエントリとみなされる。上記の繰り上げは、エントリが削除された中継装置２０に故障が発生した場合等の系切り替えに相当する。
【００４５】
機能部割当部１３は、配備ＧＷ稼働優先度の繰り上げを行ったＧＷ配備表１１の複製を参照して（ＧＷ配備表１１の複製から中継装置２０と仮想ルータ５０との対応を読み込んで）、各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクのＧＷ  ＡＣＴ５０ａを特定する。具体的には、機能部割当部１３は、新規の仮想リンク以外の仮想リンクのＧＷ  ＡＣＴ５０ａの数を特定する。即ち、機能部割当部１３は、各中継装置２０について、配備ＧＷ稼働優先度が１の出現回数を算出する。機能部割当部１３は、算出した出現回数が最も少ない中継装置２０を選択して、新規の仮想リンクの未割当の稼働優先度のうち最も高い稼働優先度の仮想ルータ５０を割り当てる中継装置２０（新規の仮想リンクの当該稼働優先度のＧＷの配備先）に決定する。
【００４６】
もし、出現回数が最も少ない中継装置２０が複数ある場合には、その中から任意の中継装置２０を選択して新規の仮想リンクの当該稼働優先度の仮想ルータ５０を割り当てる中継装置２０に決定する。あるいは、それらの中継装置２０のうち、配備ＧＷ稼働優先度が２の出現回数が最も少ない中継装置２０を選択してもよい。それで更に候補となる中継装置２０が複数ある場合には、それ以降の配備ＧＷ稼働優先度毎の出現回数が最も少ない中継装置２０を選択してもよい。機能部割当部１３は、当該稼働優先度の仮想ルータ５０を割り当てる中継装置２０を決定すると、当該仮想ルータ５０についての仮想ルータ識別子を新規に作成して、ＧＷ配備表１１に当該仮想ルータ５０のエントリを追加する。
【００４７】
機能部割当部１３によって２以降の何れかの稼働優先度の仮想ルータ５０の中継装置２０への割当が行われると、続いて、割当候補決定部１４は、仮想ルータ５０が割り当てられた中継装置２０のエントリをＧＷ配備表１１の複製から全て削除する。機能部割当部１３は、エントリの削除が行われたＧＷ配備表１１の複製を用いて、上記と同様に次の稼働優先度の仮想ルータ５０を割り当てる中継装置２０を決定する。機能部割当部１３及び割当候補決定部１４は、新規の仮想リンクの全ての稼働優先度（冗長度分の）の仮想ルータ５０の割当が完了するまで上記を繰り返し実行する。この繰り返しは、稼働優先度の値が高い順に行われる。即ち、稼働優先度の値が、２、３、４…という順で仮想ルータ５０の割当が行われる。機能部割当部１３は、新規の仮想リンクの全ての稼働優先度の仮想ルータ５０の割当を完了すると、その旨を機能配備部１５に通知する。
【００４８】
機能部割当部１３及び割当候補決定部１４の上記の機能は、新たな仮想リンクを生成するためのものであったが、中継装置２０に配備済の仮想ルータ５０の再配備に用いられてもよい。仮想ルータ５０の再配備は、例えば、後述するように中継装置２０の故障が発生して系切り替えが生じた際に、更に系切り替えが発生した場合でも、稼働優先度１の仮想ルータ５０が特定の中継装置２０に集中することを防止するためのものである。即ち、機能部割当部１３及び割当候補決定部１４は、何れかの仮想リンクの稼働優先度が２以降の仮想ルータ５０が、稼働優先度１に切り替えられたことをトリガーとして、仮想リンクの仮想ルータ５０を割り当てる物理装置を決定することとしてもよい。この構成によれば、適切なタイミングで仮想ルータ５０の配備を行うことができる。この場合、機能部割当部１３は、以下の機能を有する。
【００４９】
機能部割当部１３は、中継装置２０の故障等の中継装置２０で実現されている仮想ルータ５０が動作できなくなる状態を検知する。中継装置２０の故障等の検知は、従来技術によって行うことができる。機能部割当部１３は、中継装置２０の故障等を検知すると、配備先中継装置識別子が当該中継装置２０の中継装置識別子となっている全てのエントリをＧＷ配備表１１から削除する。機能部割当部１３は、エントリが削除されたＧＷ配備表１１において削除によって欠番となった配備済の仮想ルータ５０の配備ＧＷ稼働優先度を仮想リンク毎に繰り上げる。この配備ＧＷ稼働優先度の繰り上げは、上述した方法と同様に行われる。
【００５０】
機能部割当部１３は、配備ＧＷ稼働優先度の繰り上げを行ったＧＷ配備表１１を用いて、仮想リンク毎に順番に仮想ルータ５０の再配備を行う。仮想ルータ５０の再配備では、機能部割当部１３は、再配備対象の仮想リンクのエントリをＧＷ配備表１１から削除する。即ち、機能部割当部１３は、所属仮想リンク識別子が、再配備対象の仮想リンクの仮想リンク識別子となっているエントリをＧＷ配備表１１から削除する。機能部割当部１３は、上述した新たな仮想リンクを生成する場合と同様にエントリを削除した仮想リンクの仮想ルータ５０を割り当てる中継装置２０を決定する。機能部割当部１３は、当該処理を、ＧＷ属性表１２の再配備対象の仮想リンクのエントリに基づいて行う。機能部割当部１３は、上記の仮想ルータ５０の再配備を全ての仮想リンクについて行う。
【００５１】
機能部配備部１５は、機能部割当部１３によって、仮想ルータ５０を割り当てる中継装置２０として決定された中継装置２０に当該仮想ルータ５０を配備する機能部配備手段である。仮想ルータ５０の配備は、中継装置２０に制御信号を送信することで行われる。具体的には、機能部配備部１５は、機能部割当部１３によってＧＷ配備表１１に追加されたエントリ（新規の又は再配備された仮想リンクのエントリ）に従って、仮想ルータ５０の配備先となった中継装置２０のそれぞれに仮想ルータ５０の新規作成要求を送信する。なお、仮想ルータ５０の新規作成要求には、配備する仮想ルータ５０の仮想ルータ識別子が含まれる。各中継装置２０は、新規作成要求を受信して、当該新規作成要求に従って仮想ルータ５０を作成（実行）する。機能部配備部１５は、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、中継装置２０において新たに作成された仮想ルータ５０にＧＷ設定要求を送信する。ＧＷ設定要求には、稼働優先度が含まれる。各中継装置２０の仮想ルータ５０は、ＧＷ設定要求を受信して、当該ＧＷ設定要求に従って自身をＧＷ  ＡＣＴ５０ａ又はＧＷ  ＳＢＹ５０ｂとして動作させる。なお、上記の仮想ルータ５０の生成等は、従来のネットワークシステムと同様に行われる。
【００５２】
中継装置２０に配備済の仮想ルータ５０の再配備が行われる場合には、機能部配備部１５は、仮想ルータ５０の新規作成要求を送信と合わせて（通常、新規作成要求の前に）、配備済の仮想ルータ５０の配備先である中継装置２０のそれぞれに仮想ルータ５０の削除要求を送信する。各中継装置２０は、削除要求を受信して、当該削除要求に従って仮想ルータ５０を削除する。以上が、本実施形態に係る制御装置１０の機能である。
【００５３】
図５に本実施形態に係る制御装置１０のハードウェア構成を示す。図５に示すように制御装置１０は、ＣＰＵ（Central Processing Unit）１０１、主記憶装置であるＲＡＭ（RandomAccess Memory）１０２及びＲＯＭ（Read Only Memory）１０３、通信を行うための通信モジュール１０４、並びにハードディスク等の補助記憶装置１０５等のハードウェアを備えるコンピュータを含むものとして構成される。これらの構成要素がプログラム等により動作することにより、上述した制御装置１０の機能が発揮される。以上が、制御装置１０の構成である。
【００５４】
引き続いて、図６及び図７のフローチャートを用いて、本実施形態に係る制御装置１０で実行される処理（制御装置１０の動作方法）である機能部割当方法を説明する。まず、図６のフローチャートを用いて、新たな仮想リンクを生成する際の処理を説明し、その後、図７のフローチャートを用いて、配備済の仮想ルータ５０の再配備の際の処理を説明する。
【００５５】
図６に示すように、本処理では、まず、機能部割当部１３によって、操作端末４０から送信されたＧＷ配備要求が受信される（Ｓ０１）。続いて、機能部割当部１３によって、受信されたＧＷ配備要求に含まれる各情報が新規の仮想リンクのエントリとしてＧＷ属性表１２に追加される（Ｓ０２）。続いて、当該新規の仮想リンクの仮想ルータ５０を割り当てる中継装置２０を決定するＧＷ配備表エントリ作成フロー（Ｓ０３〜Ｓ０９）が行われる。
【００５６】
ＧＷ配備表エントリ作成フローでは、まず、機能部割当部１３によって、ＧＷ配備表１１が参照されて（ＧＷ配備表１１から中継装置２０と仮想ルータ５０との対応が読み込まれて）、各中継装置２０について、配備ＧＷ稼働優先度が１の出現回数が算出される（Ｓ０３）。続いて、以下のように新規の仮想リンクの稼働優先度１の仮想ルータ５０（ＧＷ  ＡＣＴ５０ａ）を割り当てる中継装置２０を決定するループが実行される。具体的には、機能部割当部１３によって、算出された出現回数が最も少ない中継装置２０が選択されて、新規の仮想リンクの稼働優先度１の仮想ルータ５０を割り当てる中継装置２０（新規の仮想リンクの稼働優先度１のＧＷの配備先）に決定される（Ｓ０４）。稼働優先度１の仮想ルータ５０を割り当てる中継装置２０が決定されると、機能部割当部１３によって、当該仮想ルータ５０についての仮想ルータ識別子が新規に作成されて、ＧＷ配備表１１に当該仮想ルータ５０のエントリが追加される。Ｓ０４のループの処理は、新規の仮想リンクのＡＣＴ数（稼働優先度１の数）だけ繰り返し行われる。なお、新規の仮想リンクの稼働優先度１の仮想ルータ５０を割り当てる中継装置２０として決定された中継装置２０は、以降の繰り返しでの割当候補から除かれる。即ち、算出した出現回数が次に少ない中継装置２０が、新規の仮想リンクの稼働優先度１の仮想ルータ５０を割り当てる中継装置２０に決定される。
【００５７】
新規の仮想リンクのＡＣＴ数だけ、稼働優先度１の仮想ルータ５０の割当が完了すると、機能部割当部１３によって、ＧＷ配備表１１の複製が作成される（Ｓ０５）。続いて、以下のように新規の仮想リンクの稼働優先度２以降の仮想ルータ５０（ＧＷ  ＳＢＹ５０ｂ）を割り当てる中継装置２０を決定するループが実行される。当該ループは、稼働優先度が高い順、即ち、稼働優先度の値が小さい順に行われる。従って、最初のループでは、稼働優先度２の仮想ルータ５０の割当が行われる。具体的には、割当候補決定部１４によって、ＧＷ配備表１１の複製が読み込まれて、当該複製から、新規の仮想リンクの仮想ルータ５０が割り当てられた中継装置２０のエントリが全て削除される（Ｓ０６、第１ステップ、第２ステップ）。当該ループの１回目では、新規の仮想リンクの稼働優先度１の仮想ルータ５０が割り当てられた中継装置２０のエントリが全て削除され、当該ループの２回目以降では、その前のループで仮想ルータ５０が割り当てられた中継装置２０のエントリが全て削除される。
【００５８】
続いて、機能部割当部１３によって、エントリが削除されたＧＷ配備表１１の複製において、新規の仮想リンク以外の仮想リンクの仮想ルータ５０の配備ＧＷ稼働優先度が仮想リンク毎に繰り上げられる（Ｓ０７、第２ステップ）。続いて、機能部割当部１３によって、ＧＷ配備表１１の複製が参照されて、各中継装置２０について、上記の繰り上げによって稼働優先度が１となったものを含む、配備ＧＷ稼働優先度が１の出現回数が算出される（Ｓ０８、第２ステップ）。続いて、機能部割当部１３によって、算出された出現回数が最も少ない中継装置２０が選択されて、新規の仮想リンクの当該稼働優先度の仮想ルータ５０を割り当てる中継装置２０（新規の仮想リンクの当該稼働優先度のＧＷの配備先）に決定される（Ｓ０９、第２ステップ）。当該稼働優先度の仮想ルータ５０を割り当てる中継装置２０が決定されると、機能部割当部１３によって、当該仮想ルータ５０についての仮想ルータ識別子が新規に作成されて、ＧＷ配備表１１に当該仮想ルータ５０のエントリが追加される。Ｓ０６〜Ｓ０９のループの処理は、新規の仮想リンクの冗長数−ＡＣＴ数（稼働優先度２以降の数）だけ繰り返し行われる。
【００５９】
新規の仮想リンクの全ての稼働優先度の仮想ルータ５０の割当が完了すると、機能部割当部１３によって、その旨が機能部配備部１５に通知される。続いて、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、機能部配備部１５によって、仮想ルータ５０の配備先となった中継装置２０のそれぞれに仮想ルータ５０の新規作成要求が送信される（Ｓ１０）。各中継装置２０では、新規作成要求が受信されて、当該新規作成要求に従って仮想ルータ５０が作成される。続いて、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、機能部配備部１５によって、中継装置２０において新たに作成された仮想ルータ５０にＧＷ設定要求が送信される（Ｓ１１）。各中継装置２０の仮想ルータ５０では、ＧＷ設定要求が受信されて、当該ＧＷ設定要求に従って自身がＧＷ  ＡＣＴ５０ａ又はＧＷ  ＳＢＹ５０ｂとして動作する。以上が、新たな仮想リンクを生成する際の処理である。
【００６０】
続いて、図７のフローチャートを用いて、配備済の仮想ルータ５０の再配備の際の処理を説明する。本処理では、まず、機能部割当部１３によって、中継装置２０の故障が検知される（Ｓ２１）。続いて、機能部割当部１３によって、配備先中継装置識別子が当該中継装置２０の中継装置識別子となっている全てのエントリがＧＷ配備表１１から削除される（Ｓ２２）。続いて、機能部割当部１３によって、エントリが削除されたＧＷ配備表１１において削除によって欠番となった配備済の仮想ルータ５０の配備ＧＷ稼働優先度が仮想リンク毎に繰り上げられる（Ｓ２３）。
【００６１】
続いて、仮想リンクの仮想ルータ５０の再配備ループが実施される。この再配備ループは、仮想リンク毎に全ての仮想リンクについて行われる。例えば、仮想リンク識別子の番号が小さい順に行われる。再配備ループでは、まず、機能部割当部１３によって、再配備対象の仮想リンクのエントリがＧＷ配備表１１から削除される（Ｓ２４）。続いて、図６のフローチャートで説明したＧＷ配備表エントリ作成フロー（Ｓ０３〜Ｓ０９、第１ステップ、第２ステップ）が行われる。なお、図６のフローチャートにおける新規の仮想リンクが、ここでは再配備対象の仮想リンクである。
【００６２】
再配備対象の仮想リンクの全ての稼働優先度の仮想ルータ５０の割当が完了すると、機能部割当部１３によって、その旨が機能部配備部１５に通知される。続いて、機能部配備部１５によって、配備済の（再配備前の）仮想ルータ５０の配備先である中継装置２０のそれぞれに仮想ルータ５０の削除要求を送信する（Ｓ２６）。各中継装置２０では、削除要求が受信されて、当該削除要求に従って仮想ルータ５０が削除される。続いて、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、機能部配備部１５によって、仮想ルータ５０の再配備先となった中継装置２０のそれぞれに仮想ルータ５０の新規作成要求が送信される（Ｓ２６）。各中継装置２０では、新規作成要求が受信されて、当該新規作成要求に従って仮想ルータ５０が作成される。続いて、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、機能部配備部１５によって、中継装置２０において新たに作成された仮想ルータ５０にＧＷ設定要求が送信される（Ｓ２６）。各中継装置２０の仮想ルータ５０では、ＧＷ設定要求が受信されて、当該ＧＷ設定要求に従って自身がＧＷ  ＡＣＴ５０ａ又はＧＷ  ＳＢＹ５０ｂとして動作する。以上が、配備済の仮想ルータ５０の再配備の際の処理である。
【００６３】
上述したように本実施形態では、割当対象となる仮想リンクの仮想ルータ５０が配備された中継装置２０が除かれ、残った各中継装置２０に割り当てられた割当対象となる仮想リンク以外の仮想リンクの仮想ルータ５０の稼働優先度が考慮されて、稼働優先度２以降の仮想ルータ５０を割り当てる中継装置２０が決定される。従って、本実施形態によれば、系切り替えが発生した場合でも、稼働優先度１の仮想ルータ５０、即ち、ＧＷ  ＡＣＴ５０ａが特定の中継装置２０に集中することを防止するように複数の中継装置２０上に稼働優先度２以降の仮想ルータ５０を配備することができる。これにより、系切り替えが発生した場合でも、特定の中継装置に負荷が偏ることを防止することができる。特に本実施形態のように、配備ＧＷ稼働優先度の繰り上げを行うことで、確実に上記の配置を行うことができる。
【００６４】
また、本実施形態のように、各中継装置２０での稼働優先度１のエントリの数に基づいて、仮想ルータ５０を割り当てる中継装置２０を決定することとしてもよい。この構成によれば、系切り替えが発生した場合の各中継装置２０での稼働優先度１の仮想ルータ５０の数に基づいて、適切に仮想ルータ５０を配備することができる。また、本実施形態のように、稼働優先度１の仮想ルータ５０を割り当てる中継装置２０を決定することとしてもよい。この構成によれば、稼働優先度２以降の仮想ルータ５０のみならず、稼働優先度１の仮想ルータ５０も偏りなく、適切に配備することができる。即ち、仮想ルータ５０が配置される中継装置２０間に負荷の偏りが生じることを防止することができる。
【００６５】
このように本実施形態によれば、従来の冗長化プロトコルをそのまま利用することができ、かつ、従来技術の冗長化プロトコルの制約による負荷の偏りを減らして資源利用効率を高めることができる。
【００６６】
［第２実施形態］
上述した第１実施形態では、配備ＧＷ稼働優先度の繰り上げを行って、仮想ルータ５０の中継装置２０への割当を行うものであったが、本実施形態では、配備ＧＷ稼働優先度の繰り上げは行わずに仮想ルータ５０の中継装置２０への割当を行う。本実施形態は、以下に説明する点以外は、第１実施形態と同様の構成である。本実施形態では、仮想ルータ５０の中継装置２０への割当の機能として、以下の機能を有する。
【００６７】
機能部割当部１３は、以下のように新規の仮想リンクの仮想ルータ５０（ＧＷ  ＡＣＴ５０ａ及びＧＷ  ＳＢＹ５０ｂ）を割り当てる中継装置２０を決定する。機能部割当部１３は、割当候補決定部１４によって割当候補とされた各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクの仮想ルータ５０を稼働優先度毎に特定し、特定された稼働優先度毎かつ稼働優先度が高い順の機能部に基づいて、割当対象となる中継装置２０を限定して、仮想リンクの仮想ルータ５０を割り当てる中継装置２０を決定する。
【００６８】
機能部割当部１３は、配備ＧＷ稼働優先度毎の仮想ルータ５０の数、又は当該仮想ルータ５０によって利用される帯域に基づいて、仮想ルータ５０を割り当てる中継装置２０を決定する。仮想ルータ５０の数を用いるか、仮想ルータ５０によって利用される帯域を用いるかは、予め、ネットワークシステム１を提供する事業者等によって設定されており、機能部割当部１３に記憶されている。
【００６９】
具体的には、仮想ルータ５０の数を用いる場合、機能部割当部１３は、ＧＷ配備表１１を参照して、各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクの配備ＧＷ稼働優先度毎の仮想ルータ５０の数を特定する。即ち、機能部割当部１３は、各中継装置２０について、配備ＧＷ稼働優先度毎の出現回数を算出する。
【００７０】
仮想ルータ５０によって利用される帯域を用いる場合、機能部割当部１３は、ＧＷ配備表１１及びＧＷ属性表１２を参照して、各中継装置２０に割り当てられている、割当対象である新規の仮想リンク以外の仮想リンクの配備ＧＷ稼働優先度毎の仮想ルータ５０によって利用される帯域の積算値を算出する。帯域の積算値は、当該中継装置２０における、当該配備ＧＷ稼働優先度の全ての仮想ルータ５０の帯域を積算したものである。
【００７１】
機能部割当部１３は、稼働優先度の仮想ルータ５０を割り当てる中継装置２０を決定する前にＧＷ配備表１１の複製を作成する。ＧＷ配備表１１の複製は、割当対象となる仮想ルータ５０の数だけ、即ち、冗長度の数だけ行われる。機能部割当部１３が、ＧＷ配備表１１の複製を作成すると、割当候補決定部１４は、それまで割当が行われた全ての稼働優先度の仮想ルータ５０が割り当てられた中継装置２０のエントリをＧＷ配備表１１の複製から全て削除する。割当候補決定部１４に削除された複製に含まれるエントリの中継装置２０が、仮想ルータ５０の割当候補となる。
【００７２】
機能部割当部１３は、以下のように割当候補決定部１４によって割当候補とされた中継装置２０を更に絞り込む（限定する）。配備ＧＷ稼働優先度毎の仮想ルータ５０の数に基づいて、仮想ルータ５０を割り当てる中継装置２０を決定する場合、機能部割当部１３は、配備ＧＷ稼働優先度が高い順に、即ち、配備ＧＷ稼働優先度１から順に当該配備ＧＷ稼働優先度の出現回数が最低値より大きい中継装置２０のエントリをＧＷ配備表１１の複製から削除する。より具体的には、まず、機能部割当部１３は、各中継装置２０の配備ＧＷ稼働優先度１の出現回数のうちの最低値を特定する。機能部割当部１３は、出願回数が最小値より大きい中継装置２０のエントリをＧＷ配備表１１の複製から削除する。続いて、機能部割当部１３は、削除されたエントリに係る中継装置２０を除いた中継装置２０、即ち、残った各中継装置２０の配備ＧＷ稼働優先度２の出現回数のうちの最低値を特定する。機能部割当部１３は、出願回数が最小値より大きい中継装置２０のエントリをＧＷ配備表１１の複製から削除する。続いて、配備ＧＷ稼働優先度の値を順に大きくして、エントリの削除を繰り返し行う。
【００７３】
仮想ルータ５０によって利用される帯域に基づいて、仮想ルータ５０を割り当てる中継装置２０を決定する場合、機能部割当部１３は、配備ＧＷ稼働優先度が高い順に、即ち、配備ＧＷ稼働優先度１から順に帯域の積算値が最低値より大きい中継装置２０のエントリをＧＷ配備表１１の複製から削除する。より具体的には、まず、機能部割当部１３は、各中継装置２０の配備ＧＷ稼働優先度１の帯域の積算値のうちの最低値を特定する。機能部割当部１３は、帯域の積算値が最小値より大きい中継装置２０のエントリをＧＷ配備表１１の複製から削除する。続いて、機能部割当部１３は、削除されたエントリに係る中継装置２０を除いた中継装置２０、即ち、残った各中継装置２０の配備ＧＷ稼働優先度２の帯域の積算値のうちの最低値を特定する。機能部割当部１３は、帯域の積算値が最小値より大きい中継装置２０のエントリをＧＷ配備表１１の複製から削除する。続いて、配備ＧＷ稼働優先度の値を順に大きくして、エントリの削除を繰り返し行う。
【００７４】
機能部割当部１３は、上記の配備ＧＷ稼働優先度毎のエントリの削除を行うたびに、ＧＷ配備表１１の複製にエントリが存在しなくなった場合、ＧＷ配備表１１の複製に存在するエントリが一つの中継装置２０に係るもののみとなった場合、及びＧＷ配備表１１の複製に存在するエントリにエントリの削除に用いた配備ＧＷ稼働優先度以上のものが存在しなくなった場合の何れかに該当するか否かを判断する。機能部割当部１３は、それらの場合の何れかに該当すると判断した場合、エントリの削除を終了する。
【００７５】
エントリの削除を終了すると、機能部割当部１３は、エントリの削除結果に基づき、新規の仮想リンクの割当対象の稼働優先度の仮想ルータ５０を割り当てる中継装置２０を決定する。ＧＷ配備表１１の複製にエントリが存在しなくなったと判断された場合には、機能部割当部１３は、最後に削除されたエントリに係る中継装置２０を、仮想ルータ５０を割り当てる中継装置２０に決定する。もし、そのような中継装置２０が複数ある場合には、その中から任意の中継装置２０を選択して仮想ルータ５０を割り当てる中継装置２０に決定する。
【００７６】
ＧＷ配備表１１の複製に存在するエントリが一つの中継装置２０に係るもののみとなったと判断された場合には、機能部割当部１３は、当該一つの中継装置２０を、仮想ルータ５０を割り当てる中継装置２０に決定する。ＧＷ配備表１１の複製に存在するエントリにエントリの削除に用いた配備ＧＷ稼働優先度以上のエントリが存在しなくなったＧＷ配備表１１の複製に存在するエントリがエントリの削除に用いた配備ＧＷ稼働優先度以上のものが存在しなくなったと判断された場合には、機能部割当部１３は、ＧＷ配備表１１の複製に存在するエントリに係る中継装置２０を、仮想ルータ５０を割り当てる中継装置２０に決定する。もし、そのような中継装置２０が複数ある場合には、その中から任意の中継装置２０を選択して仮想ルータ５０を割り当てる中継装置２０に決定する。
【００７７】
機能部割当部１３は、仮想ルータ５０を割り当てる中継装置２０を決定すると、当該仮想ルータ５０についての仮想ルータ識別子を新規に作成して、ＧＷ配備表１１に当該仮想ルータ５０のエントリを追加する。機能部割当部１３は、仮想ルータ５０の中継装置２０への割当を行うと、割当を行った仮想ルータ５０の次に高い稼働優先度の仮想ルータ５０の中継装置２０への割当処理を行う。なお、割当が行われた仮想ルータ５０と同一の稼働優先度を持ち、未割当の仮想ルータ５０がある場合（例えば、稼働優先度１の仮想ルータ５０が複数ある場合）には、当該仮想ルータ５０についての割当を行う。次の仮想ルータ５０の中継装置２０への割当処理は、上記のＧＷ配備表１１の複製から行われる。
【００７８】
機能部割当部１３及び割当候補決定部１４は、新規の仮想リンクの全ての稼働優先度（冗長度分の）の仮想ルータ５０の割当が完了するまで上記を繰り返し実行する。機能部割当部１３は、新規の仮想リンクの全ての稼働優先度の仮想ルータ５０の割当を完了すると、その旨を機能部配備部１５に通知する。以上が、本実施形態に係る制御装置１０の機能である。
【００７９】
引き続いて、図８のフローチャートを用いて、本実施形態に係る制御装置１０で実行される処理（制御装置１０の動作方法）である機能部割当方法を説明する。本処理は、新たな仮想リンクを生成する際の処理である。本処理では、まず、機能部割当部１３によって、操作端末４０から送信されたＧＷ配備要求が受信される（Ｓ４１）。続いて、機能部割当部１３によって、受信されたＧＷ配備要求に含まれる各情報が新規の仮想リンクのエントリとしてＧＷ属性表１２に追加される（Ｓ４２）。続いて、当該新規の仮想リンクの仮想ルータ５０を割り当てる中継装置２０を決定するＧＷ配備表エントリ作成フロー（Ｓ４３〜Ｓ４９）が行われる。
【００８０】
ＧＷ配備表エントリ作成フローでは、まず、機能部割当部１３によって、ＧＷ配備表１１及びＧＷ属性表１２が参照されて（ＧＷ配備表１１から中継装置２０と仮想ルータ５０との対応が読み込まれて）、各中継装置２０について、配備ＧＷ稼働優先度毎の仮想ルータ５０の数、又は仮想ルータ５０によって利用される帯域の積算値が算出される（Ｓ４３、第１ステップ、第２ステップ）。続いて、以下のように新規の仮想リンクの各稼働優先度の仮想ルータ５０を割り当てる中継装置２０を決定するループが実行される。当該ループの開始時には、稼働優先度１の仮想ルータ５０を割り当てる中継装置２０を決定する処理が実行される。当該ループは、稼働優先度が高い順、即ち、稼働優先度の値が小さい順に行われる。
【００８１】
当該ループでは、具体的には、機能部割当部１３によって、ＧＷ配備表１１の複製が作成される（Ｓ４４、第２ステップ）。続いて、割当候補決定部１４によって、ＧＷ配備表１１の複製が読み込まれて、当該複製から、新規の仮想リンクの仮想ルータ５０が割り当てられた中継装置２０のエントリが全て削除される（Ｓ４５、第１ステップ、第２ステップ）。当該ループの１回目では、まだ、新規の仮想リンクの仮想ルータ５０の中継装置２０への割当が行われていないので、エントリの削除は行われない。当該ループの２回目以降では、その前以前のループで仮想ルータ５０が割り当てられた中継装置２０のエントリが全て削除される。
【００８２】
続いて、機能部割当部１３によって、以下のように割当候補決定部１４によって割当候補とされた中継装置２０を絞り込むループが実行される。まず、このループで用いられる値Ｊの初期値として１が設定される。続いて、配備ＧＷ稼働優先度毎の仮想ルータ５０の数に基づいて、仮想ルータ５０を割り当てる中継装置２０を決定する場合（配備基準が稼働優先度である場合）、機能部割当部１３によって、配備ＧＷ稼働優先度Ｊの出現回数が最低値より大きい中継装置２０のエントリがＧＷ配備表１１の複製から削除される（Ｓ４６、第２ステップ）。一方、仮想ルータ５０によって利用される帯域に基づいて、仮想ルータ５０を割り当てる中継装置２０を決定する場合（配備基準が帯域である場合）、機能部割当部１３によって、配備ＧＷ稼働優先度Ｊの帯域の積算値が最低値より大きい中継装置２０のエントリがＧＷ配備表１１の複製から削除される（Ｓ４７、第２ステップ）。
【００８３】
Ｓ４６及びＳ４７の後、機能部割当部１３によって、ＧＷ配備表１１の複製にエントリが存在しなくなった場合、ＧＷ配備表１１の複製に存在するエントリが一つの中継装置２０に係るもののみとなった場合、及びＧＷ配備表１１の複製に存在するエントリにエントリの削除に用いた配備ＧＷ稼働優先度以上のものが存在しなくなった場合の何れかに該当するか否かが判断される（Ｓ４８、第２ステップ）。機能部割当部１３によって、それらの場合の何れにも該当しないと判断された場合、Ｊの値に１が加算されて、中継装置２０の絞り込むループが繰り返し実行される。
【００８４】
一方で、機能部割当部１３によって、それらの場合の何れかに該当すると判断された場合、機能部割当部１３によって、エントリの削除結果に基づき、新規の仮想リンクの割当対象の稼働優先度の仮想ルータ５０を割り当てる中継装置２０が決定される（Ｓ４９、第２ステップ）。当該仮想ルータ５０を割り当てる中継装置２０が決定されると、機能部割当部１３によって、当該仮想ルータ５０についての仮想ルータ識別子が新規に作成されて、ＧＷ配備表１１に当該仮想ルータ５０のエントリが追加される。Ｓ４４〜Ｓ４９のループの処理は、新規の仮想リンクの冗長数だけ、稼働優先度が高い順、即ち、稼働優先度の値が小さい順に稼働優先度毎に繰り返し行われる。
【００８５】
新規の仮想リンクの全ての稼働優先度の仮想ルータ５０の割当が完了すると、機能部割当部１３によって、その旨が機能部配備部１５に通知される。続いて、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、機能配備部１５によって、仮想ルータ５０の配備先となった中継装置２０のそれぞれに仮想ルータ５０の新規作成要求が送信される（Ｓ５０）。各中継装置２０では、新規作成要求が受信されて、当該新規作成要求に従って仮想ルータ５０が作成される。続いて、機能部割当部１３によってＧＷ配備表１１に追加されたエントリに従って、機能部配備部１５によって、中継装置２０において新たに作成された仮想ルータ５０にＧＷ設定要求が送信される（Ｓ５１）。各中継装置２０の仮想ルータ５０では、ＧＷ設定要求が受信されて、当該ＧＷ設定要求に従って自身がＧＷ  ＡＣＴ５０ａ又はＧＷ  ＳＢＹ５０ｂとして動作する。以上が、本実施形態に係る制御装置１０で実行される処理である。
【００８６】
上述した処理は、新たな仮想リンクを生成する際の処理であったが、本実施形態においても、配備済の仮想ルータ５０の再配備の際の処理も、上記のＧＷ配備表エントリ作成フローを用いることで、図７のフローチャートに示した処理と同様に行うことができる。
【００８７】
上述したように本実施形態でも、割当対象となる仮想リンクの仮想ルータ５０が配備された中継装置２０が除かれ、残った各中継装置２０に割り当てられた割当対象となる仮想リンク以外の仮想リンクの仮想ルータ５０の稼働優先度が考慮されて、稼働優先度２以降の仮想ルータ５０を割り当てる中継装置２０が決定される。従って、本実施形態によっても、系切り替えが発生した場合でも、稼働優先度１の仮想ルータ５０、即ち、ＧＷ  ＡＣＴ５０ａが特定の中継装置２０に集中することを防止するように複数の中継装置２０上に稼働優先度２以降の仮想ルータ５０を配備することができる。特に本実施形態のように、配備ＧＷ稼働優先度毎の仮想ルータ５０の数、又は仮想ルータ５０によって利用される帯域に基づいて、割当対象となる中継装置２０の限定を行うことで、確実に上記の配置を行うことができる。これは、高い優先度の仮想ルータ５０の配備数が少ない中継装置２０は、故障が起きた時にもＧＷ  ＡＣＴ５０ａとなる仮想ルータ５０が少ないことを利用している。
【００８８】
なお、第１実施形態では、割り当てられた配備ＧＷ稼働優先度１の仮想ルータ５０が最も少ない中継装置２０を配備先として決定したが、割り当てられた配備ＧＷ稼働優先度１の仮想ルータ５０によって利用される帯域の積算値が最も少ない中継装置２０を配備先として決定してもよい。
【００８９】
また、上述した実施形態では、物理装置である中継装置２０へ割り当てる機能部は、ネットワークシステム１の仮想リンクの仮想ルータ５０であることとしたが、物理装置に割り当てられる機能部は必ずしも仮想ルータ５０である必要はない。複数の物理装置に冗長化されて割り当てられる仮想リンクの機能部であれば、任意の機能部に対して本発明を適用することができる。
【符号の説明】
【００９０】
１…ネットワークシステム、１０…制御装置、１１…ＧＷ配備表、１２…ＧＷ属性表、１３…機能部割当部、１４…割当候補決定部、１５…機能部配備部、１０１…ＣＰＵ、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…通信モジュール、１０５…補助記憶装置、２０…中継装置、３０…前後段装置群、４０…操作端末、５０…仮想ルータ。
【図１】
0006472312.tif 000002
【図２】
0006472312.tif 000003
【図３】
0006472312.tif 000004
【図４】
0006472312.tif 000005
【図５】
0006472312.tif 000006
【図６】
0006472312.tif 000007
【図７】
0006472312.tif 000008
【図８】
0006472312.tif 000009