(57)【要約】【課題】制御装置での処理負荷を軽減する。【解決手段】制御装置は、複数の通信装置を含むネットワークを制御し、受信部、生成部、制御部、送信部を備える。受信部は、転送経路の設定要求および複数の通信装置の各々からパケットを受信可能であることを通知する通知パケットを受信する。生成部は、転送経路を設計するとともに、複数の通信装置のうちで転送経路の生成に使用する通信装置の各々に対して、通信装置に設定する設定情報を生成する。制御部は、設定情報の各々について、設定情報の設定先となる通信装置からパケットを受信可能であることを通知する通知パケットを受信すると、設定情報を含む応答パケットを生成する。送信部は、応答パケットを設定情報の設定先となる通信装置へ送信する。【選択図】図２
2018019172.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置を含むネットワークを制御する制御装置であって、
転送経路の設定要求および前記複数の通信装置の各々からパケットを受信可能であることを通知する通知パケットを受信する受信部と、
前記転送経路を設計するとともに、前記複数の通信装置のうちで前記転送経路の生成に使用する通信装置の各々に対して、当該通信装置に設定する設定情報を生成する生成部と、
前記設定情報の各々について、当該設定情報の設定先となる通信装置から当該通信装置がパケットを受信可能であることを通知する通知パケットを受信すると、当該設定情報を含む応答パケットを生成する制御部と、
前記応答パケットを前記設定情報の設定先となる通信装置へ送信する送信部
を備えることを特徴とする制御装置。
【請求項２】
前記制御部は、
前記通知パケットの送信元に設定する設定情報が生成されていない場合、前記通知パケットに対する応答を送信するタイミングを遅延可能な期間を特定し、
前記遅延可能な期間が経過するまでに、前記通知パケットの送信元に設定する設定情報が生成されると、前記通知パケットの送信元に設定する設定情報を含めた応答パケットを生成する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記通知パケットは、前記通知パケットの送信元での設定処理の結果を含み、
前記制御部は、前記通知パケットの送信元に設定する設定情報のうちで、設定処理が終了したことが前記通知パケットで通知されていない情報を、前記応答パケットに含める
ことを特徴とする請求項１または２に記載の制御装置。
【請求項４】
複数の通信装置が複数のグループに分類され、各グループについて、当該グループに属する通信装置に宛てた応答パケットを遅延可能な期間が決定されている場合、前記制御部は、前記通知パケットの送信元を含むグループに対応付けられた期間を、前記通知パケットの送信元に宛てた応答パケットを送信するタイミングを遅延可能な期間として決定する
ことを特徴とする請求項２または３に記載の制御装置。
【請求項５】
ネットワークを制御する制御装置と通信可能な通信装置であって、
前記通信装置での処理負荷が、前記通信装置に対する設定情報を含むパケットの受信が可能な場合の負荷を表す閾値未満である場合、前記制御装置宛てに、パケットを受信可能であることを通知する通知パケットを生成する制御部と、
前記通知パケットを前記制御装置に送信する送信部と、
前記通知パケットに応答する応答パケットを受信する受信部と、
前記応答パケットに含まれている設定情報を用いた設定処理を行う設定処理部
を備えることを特徴とする通信装置。
【請求項６】
複数の通信装置を含むネットワークを制御する制御装置が、
転送経路の設定要求および前記複数の通信装置の各々からパケットを受信可能であることを通知する通知パケットを受信し、
前記転送経路を設計するとともに、前記複数の通信装置のうちで前記転送経路の生成に使用する通信装置の各々に対して、当該通信装置に設定する設定情報を生成し、
前記設定情報の各々について、当該設定情報の設定先となる通信装置から当該通信装置がパケットを受信可能であることを通知する通知パケットを受信すると、当該設定情報を含む応答パケットを生成し、
前記応答パケットを前記設定情報の設定先となる通信装置へ送信する
処理を行うことを特徴とするネットワークの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、通信装置、および、ネットワークの設定方法に関する。
【背景技術】
【０００２】
制御サーバが複数の通信装置を制御するネットワークでは、ユーザからの通信経路の設定の要求に応じて、制御サーバが経路計算を行うと共に、ネットワーク中の制御対象の装置に設定処理を行うことがある。
【０００３】
図１は、ネットワークで行われる設定処理の例である。まず、ユーザ端末５（５ａ、５ｂ）から、通信経路の設定要求がオペレーションシステム１５中の制御サーバ１０（１０ａ、１０ｂ）に対して送信される（矢印Ａ１）。例えば、制御サーバ１０ａが設定要求を受信したとする。すると、制御サーバ１０ａは、ネットワーク１１中の制御対象装置２０のトポロジ情報などを用いて、設定要求で指定されている通信経路を計算する。制御サーバ１０ａは、設定対象の通信経路に含まれる制御対象装置２０に対して、経路の計算結果に応じた設定を行うための情報を通知する（矢印Ａ２）。このとき、制御サーバ１０ａは、設定処理の対象となる制御対象装置２０の各々に対して、一斉に設定対象の情報を送信する。なお、図１の例では、制御サーバ１０ａと制御サーバ１０ｂがオペレーションシステム１５に含まれているが、オペレーションシステム１５中の制御サーバ１０の数は、設定処理の量などに応じて任意に変更され得る。
【０００４】
さらに、近年、ＳＤＮ（Software-Defined Networking）を用いて、物理ネットワーク上に、論理ネットワークが設定されることも増えてきている。このため、個々の制御対象装置２０に設定する情報の量も増加傾向にある上、ネットワーク１１中の制御対象装置２０の数も増加傾向にある。また、ＳＤＮのユーザの数が増えれば、制御サーバ１０が受信する設定要求の数も大きくなる。このため、制御サーバ１０で処理するデータ量が増大していることに伴って、オペレーションシステム１５に設置される制御サーバ１０の数も増加する傾向にある。
【０００５】
関連する技術として、複数のローカル制御装置の各々がセンターサーバに周期的にアクセスして、制御対象の機器に対する制御要求コマンドを取得することにより、センターサーバへのアクセスの集中を防止するシステムが提案されている（例えば、特許文献１）。情報処理装置が自装置宛のデータを中継サーバに問合わせるシステムにおいて、中継サーバの過負荷状態が検出されると、中継サーバは、問合せ時期を制限させる情報を情報処理装置に送信することも提案されている（例えば、特許文献２）。アプリケーションに割り当てられた計算機やネットワーク装置などの装置の負荷状態を示す値が閾値を超えると、他の装置の負荷状況に基づいて、アプリケーションの処理に新たに装置を割り当てる方法も提案されている（例えば、特許文献３）。複数の仮想サーバを含むキャッシュサーバから各仮想サーバの情報を取得し、負荷がかかっていないと判定された仮想サーバをアクセスの振分先に指定するアクセス振分装置も提案されている（例えば、特許文献４）。送達通知のタイミングを決定する条件が受信データに含まれていると、通知された条件に基づいて、通知データの送信のタイミングを定める送信手段を有する通信装置も提案されている（例えば、特許文献５）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１６８９０号公報
【特許文献２】特開２００７−２４９８２９号公報
【特許文献３】特開２０１１−４８５３９号公報
【特許文献４】特開２００９−２５９２０６号公報
【特許文献５】特開２００４−３２３２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
制御サーバが、設定対象の通信装置の各々に対して求めた設定情報を、制御対象の通信装置の各々に一斉に送信すると、設定情報の送信の際に、制御サーバの処理負荷が高くなる。さらに、制御サーバから通信装置に制御情報を送信しても、通信装置側で制御情報の受信に失敗すると、制御装置は制御情報を再送するため、制御装置の処理負荷は、さらに大きくなってしまう。しかし、背景技術に使用したいずれの技術を用いても、設定情報の送信や再送による制御サーバの処理負荷を軽減することは困難である。
【０００８】
本発明は、制御装置での処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
ある１つの態様にかかる制御装置は、複数の通信装置を含むネットワークを制御し、受信部、生成部、制御部、送信部を備える。受信部は、転送経路の設定要求および前記複数の通信装置の各々からパケットを受信可能であることを通知する通知パケットを受信する。生成部は、前記転送経路を設計するとともに、前記複数の通信装置のうちで前記転送経路の生成に使用する通信装置の各々に対して、当該通信装置に設定する設定情報を生成する。制御部は、前記設定情報の各々について、当該設定情報の設定先となる通信装置から当該通信装置がパケットを受信可能であることを通知する通知パケットを受信すると、当該設定情報を含む応答パケットを生成する。送信部は、前記応答パケットを前記設定情報の設定先となる通信装置へ送信する。
【発明の効果】
【００１０】
制御装置の処理負荷が軽減される。
【図面の簡単な説明】
【００１１】
【図１】設定処理の例を説明する図である。
【図２】実施形態にかかる設定処理の例を説明する図である。
【図３】制御サーバの構成の例を説明する図である。
【図４】通信装置の構成の例を説明する図である。
【図５】制御サーバと通信装置のハードウェア構成の例を説明する図である。
【図６】設定要求と設定情報テーブルの例を説明する図である。
【図７】ポーリング要求とポーリング応答のフォーマットの例を説明する図である。
【図８】ポーリング要求を用いた設定処理の例を説明するシーケンス図である。
【図９】設定情報テーブルの例を説明する図である。
【図１０】ポーリング要求を用いた設定処理の例を説明するシーケンス図である。
【図１１】ポーリング受付中テーブルの例を説明する図である。
【図１２】ユーザからの設定要求前にポーリング要求が行われた場合の処理の例を説明するシーケンス図である。
【図１３】ポーリング応答の受信に失敗した場合の処理の例を説明するシーケンス図である。
【図１４】通信装置がポーリング要求を送信する際の処理の例を説明するフローチャートである。
【図１５】通信装置がポーリング応答を受信した際の処理の例を説明するフローチャートである。
【図１６】制御サーバが設定要求を受信したときの処理の例を説明するフローチャートである。
【図１７】制御サーバが通信装置から設定結果を受信したときの処理の例を説明するフローチャートである。
【図１８Ａ】ポーリング要求を受信したときの制御サーバの処理の例を説明するフローチャートである。
【図１８Ｂ】ポーリング要求を受信したときの制御サーバの処理の例を説明するフローチャートである。
【図１９】応答保留時間の制御例を説明するシーケンス図である。
【図２０】仮想装置が用いられる場合の例を説明する図である。
【図２１】設定情報テーブルの例を説明する図である。
【発明を実施するための形態】
【００１２】
図２は、実施形態にかかる設定処理の例を説明する図である。実施形態にかかるシステムでは、オペレーションシステム３中に、１台以上の制御サーバ（制御装置）３０が備えられている。実施形態にかかる設定処理でも、まず、ユーザ端末５（５ａ、５ｂ）から、通信経路の設定要求がオペレーションシステム３中の制御サーバ３０（３０ａ、３０ｂ）に対して送信される（矢印Ａ１１）。
【００１３】
設定要求を受信した制御サーバ３０は、ネットワーク中の通信装置６０（６０ａ、６０ｂ）のトポロジ情報などを用いて、設定要求で要求された通信経路を生成するための設定情報を生成する。しかし、制御サーバ３０は、通信装置６０への設定情報の通知や通信経路の設定通知は行わずに、設定処理に使用する情報を、その情報の設定先に対応付けて記憶する。
【００１４】
個々の通信装置６０は、自装置が経路の設定情報やパケットの転送先の設定に関する情報などを受信可能な状態である場合、制御サーバ３０に対して、パケットの受信が可能であることを通知する通知パケットを送信する。例えば、各通信装置６０は、制御サーバ３０から設定情報などが含まれているパケットを受信してもバッファオーバーフローが発生しないと見込まれる場合に、設定情報を受信可能であると判定できる。なお、通知パケットとして、通信装置６０がパケットを受信可能であることを制御サーバ３０に認識させるために使用可能な任意のパケットが使用され得る。例えば、通知パケットとして、ポーリング要求が用いられても良い。
【００１５】
制御サーバ３０は、通知パケットを受信すると、通知パケットの送信元に対応付けられている設定情報を、通知パケットの送信元に送信する。例えば、通信装置６０ａは、設定情報を受信可能であるため、制御サーバ３０に対して通知パケットを送信したとする。制御サーバ３０は、通知パケットを受信すると、通信装置６０ａはパケットの受信が可能であると判定する。そこで、制御サーバ３０は、通信装置６０ａに対応付けて記憶している設定情報や経路情報などの情報を、通知パケットに応答する応答パケットに含めて、通信装置６０ａに送信する（矢印Ａ１２）。
【００１６】
ここで、応答パケットは、通知パケットに応答して送信されているが、通知パケットの送信元の通信装置６０ａは、制御サーバ３０からのパケットを受信可能な程度の負荷の処理を行っているときに、通知パケットを送信する。従って、応答パケットが通信装置６０ａに到達すれば、通信装置６０ａは設定情報を含む応答パケットを受信できる。このため、制御サーバ３０と通信装置６０ａの間でのパケットの送受信の失敗に起因するパケットの再送が防止される。
【００１７】
通信装置６０ｂも、通信装置６０ａと同様に、通信装置６０ｂ宛の設定情報を含むパケットを受信可能な場合に、制御サーバ３０に対して通知パケットを送信する。すると、制御サーバ３０は、通信装置６０ｂからの通知パケットに応じて、通信装置６０ｂでの設定に使用される情報を含む応答パケットを通信装置６０ｂに送信する（矢印Ａ１３）。このため、制御サーバ３０と通信装置６０ｂの間でも、通信装置６０ｂでのパケットの受信の失敗に起因するパケットの再送が予防される。
【００１８】
このように、実施形態にかかる方法では、制御サーバ３０が設定用の情報を含むパケットを通信装置６０に送信する際に、通信装置６０でのパケットの廃棄や通信装置６０でのバッファオーバーフローなどによるパケットの受信の失敗が防止される。このため、実施形態にかかる方法では、制御サーバ３０からの通信装置６０へのパケットの再送を防止でき、制御サーバ３０での処理負荷を低減させることができる。さらに、設定情報を一斉に送信する場合に比べて、制御サーバ３０からの設定情報の送信のタイミングが複数の通信装置６０で重なる可能性も低くなる。従って、制御サーバ３０での処理負荷が平滑化されやすい。
【００１９】
以上の説明は、ユーザ端末５から要求された１つ経路の設定が行われる場合を例として説明したが、ＳＤＮのユーザの数が増えれば、制御サーバ３０に設定が要求される経路の数も大きくなることが予想される。このため、設定対象となっている経路の各々で、制御サーバ３０と通信装置６０の間でのパケットの再送を防止することで、制御サーバ３０にかかる負荷の増大を防ぐことにもなる。また、制御サーバ３０にかかる負荷の増大を防ぐことで、システム中に設定される制御サーバ３０の台数を抑えることもできる。
【００２０】
＜装置構成＞
以下、通知パケットとしてポーリング要求が用いられ、応答パケットとしてポーリング応答が用いられる場合を例として説明する。
【００２１】
図３は、制御サーバ３０の構成の例を説明する図である。制御サーバ３０は、通信部３１、制御部４０、記憶部５０を備える。通信部３１は、送信部３２と受信部３３を有する。制御部４０は、要求受付部４１、生成部４２、ポーリング制御部４３を有する。記憶部５０は、設定要求情報５１、設定情報テーブル５２、および、ポーリング受付中テーブル５３を有する。さらに、記憶部５０は、制御サーバ３０の処理対象となる通信装置６０を含むネットワークのトポロジ情報５４も保持する。
【００２２】
送信部３２は、通信装置６０やユーザ端末５などの他の装置にパケットを送信する。受信部３３は、通信装置６０やユーザ端末５等の他の装置からパケットを受信する。受信部３３は、ユーザ端末５から受信した設定要求を要求受付部４１に出力し、通信装置６０から受信したパケットをポーリング制御部４３に出力する。要求受付部４１は、設定要求を識別する識別情報を生成し、識別情報と共に設定要求を設定要求情報５１として、記憶部５０に格納する。生成部４２は、設定要求情報５１中の情報とトポロジ情報５４を参照して、要求された経路を生成するための設定情報を生成する。なお、生成部４２は、設定要求情報５１を参照する代わりに、要求受付部４１から設定要求を取得しても良い。生成部４２は、得られた設定情報を、設定情報テーブル５２に格納する。このとき、生成部４２は、各設定情報を、その情報を設定する設定先の装置の情報と対応付けて設定情報テーブル５２に記録する。
【００２３】
ポーリング制御部４３は、通信装置６０から送信されたポーリング要求を取得すると、ポーリング要求の送信元の通信装置６０に対応付けられた設定情報が設定情報テーブル５２に含まれているかを判定する。ポーリング要求の送信元の通信装置６０に対応付けられた設定情報が設定情報テーブル５２に含まれている場合、ポーリング制御部４３は、ポーリング要求の送信元の通信装置６０に設定される設定情報をポーリング応答に含める。ポーリング制御部４３は、生成したポーリング応答を、送信部３２を介して、通信装置６０に送信する。一方、ポーリング要求の送信元の通信装置６０に対応付けられた設定情報が設定情報テーブル５２に含まれていない場合、ポーリング制御部４３は、ポーリング応答を送信するタイミングを遅らせることを決定する。ポーリング制御部４３は、ポーリング応答を送信するタイミングを遅らせる場合、ポーリング要求の送信元の情報をポーリング受付中テーブル５３に記録する。
【００２４】
図４は、通信装置６０の構成の例を説明する図である。通信装置６０は、通信部６１、制御部７０、記憶部８０を備える。通信部６１は、送信部６２と受信部６３を有する。制御部７０は、ポーリング制御部７１、設定処理部７２、判定部７３を有する。記憶部８０は、収集情報テーブル８１と閾値情報８２を保持する。
【００２５】
送信部６２は、制御サーバ３０などの他の装置にパケットを送信する。受信部６３は、通信装置６０などの他の装置からパケットを受信する。受信部６３は、制御サーバ３０から受信したポーリング応答をポーリング制御部７１に出力する。
【００２６】
ポーリング制御部７１は、ポーリング応答中に設定情報が含まれているかを判定する。ポーリング応答に設定情報が含まれている場合、ポーリング制御部７１は、設定情報を設定処理部７２に出力する。設定処理部７２は、ポーリング制御部７１から取得した情報を処理する。設定処理部７２は、処理結果と処理に使用した情報を収集情報テーブル８１に記録する。
【００２７】
判定部７３は、通信装置６０での処理負荷が閾値情報８２を下回っているかを判定する。閾値情報８２は、通信装置６０が制御サーバ３０から送信されたパケットの受信処理が可能であるかの判定に使用可能な任意の値とすることができる。すなわち、閾値情報８２は、通信装置６０に対する設定情報を含むパケットの受信が可能な場合の負荷を表す任意の値であるといえる。例えば、閾値情報８２は、通信装置６０が備えるプロセッサの使用率が用いられてもよく、通信装置６０が備えるメモリの空き容量のメモリの全容量に対する割合が使用されても良い。
【００２８】
通信装置６０において制御サーバ３０から送信されたパケットの受信処理が可能であると判定部７３が判定すると、ポーリング制御部７１は、ポーリング要求の生成を行う。ポーリング制御部７１は、ポーリング要求を生成する際に、収集情報テーブル８１を参照する。収集情報テーブル８１に処理結果が記録されている場合、ポーリング制御部７１は、処理結果を含むポーリング要求を生成する。ポーリング制御部７１は、生成したポーリング要求を、送信部６２を介して、制御サーバ３０に送信する。なお、ポーリング制御部７１は、ポーリング要求に含めた処理結果を収集情報テーブル８１から削除する。
【００２９】
図５は、制御サーバ３０と通信装置６０のハードウェア構成の例を説明する図である。制御サーバ３０と通信装置６０のいずれも、プロセッサ１０１、メモリ１０２、バス１０３、記憶装置１０４、回線インタフェース１０５を備え、オプションとして、媒体駆動装置を備えてもよい。プロセッサ１０１は、任意のプロセッサとすることができ、例えば、ＣＰＵ（Central Processing Unit）とすることができる。メモリ１０２は、ＲＡＭ（Random Access Memory）とＲＯＭ（Read Only Memory）を備えており、プロセッサ１０１での処理に使用される情報やプロセッサ１０１で得られた情報などを記録する。また、メモリ１０２や記憶装置１０４は、プロセッサ１０１が実行するプログラムを記憶する。回線インタフェース１０５は、ネットワークに接続し、他の装置との通信のための処理を行う。バス１０３は、プロセッサ１０１、メモリ１０２、記憶装置１０４、回線インタフェース１０５を、互いにデータを入出力可能になるように接続する。媒体駆動装置は、メモリ１０２や記憶装置１０４のデータを、コンピュータが読み込み可能な可搬記憶媒体に出力でき、可搬記憶媒体から、プログラムやデータを読み出すことができる。
【００３０】
制御サーバ３０において、通信部３１は、回線インタフェース１０５とプロセッサ１０１によって実現される。制御部４０は、プロセッサ１０１によって実現される。さらに、記憶部５０は、メモリ１０２と記憶装置１０４によって実現される。
【００３１】
通信装置６０において、通信部６１は回線インタフェース１０５とプロセッサ１０１によって実現される。制御部７０は、プロセッサ１０１によって実現される。メモリ１０２と記憶装置１０４は、記憶部８０として動作する。
【００３２】
＜第１の実施形態＞
図６は、設定要求と設定情報テーブル５２の例を説明する図である。以下、ユーザ端末５から制御サーバ３０に対して送信された設定要求により、通信装置６０ａ〜６０ｆを含むネットワークＮ１での設定処理が行われる場合を例として説明する。ネットワークＮ１では、データの送受信に使用される接続を実線で示している。例えば、通信装置６０ａは通信装置６０ｂ〜６０ｄに接続されている。なお、制御サーバ３０が保持するトポロジ情報５４には、ネットワークＮ１に示すとおりの通信装置６０の接続状況が記録されている。図６には制御サーバ３０を図示していないが、制御サーバ３０は、通信装置６０ａ〜６０ｆの各々と、制御回線を用いた通信が可能であるとする。
【００３３】
通信装置６０の各々には、各通信装置６０を識別するための装置ＩＤが設定されている。以下の説明では、通信装置６０ａの装置ＩＤはＡ、通信装置６０ｂの装置ＩＤはＢ、通信装置６０ｃの装置ＩＤはＣ、通信装置６０ｄの装置ＩＤはＤ、通信装置６０ｅの装置ＩＤはＥ、通信装置６０ｆの装置ＩＤはＦであるとする。図を見やすくするために、ネットワークＮ１では、各通信装置６０を表わす四角中に、括弧書きでその通信装置６０の装置ＩＤを示す。
【００３４】
以下の説明では、いずれの通信装置６０による処理であるかを分かりやすくするために、符号の末尾に処理を実行する通信装置６０の符号の末尾と同じアルファベットを付けて記載することがある。例えば、ポーリング制御部７１ａは通信装置６０ａ中のポーリング制御部７１であり、ポーリング制御部７１ｂは通信装置６０ｂ中のポーリング制御部７１である。さらに、以下の説明では、テーブルの番号の後にアンダースコアに数字を続けて、テーブルの更新状態などを説明することもある。
【００３５】
制御サーバ３０の受信部３３は、ユーザ端末５から設定要求を受信すると、要求受付部４１に出力する。ここで、設定要求は、通信装置６０ａから通信装置６０ｆに至る通信経路と冗長経路を設定することであるとする。要求受付部４１は、設定要求を識別する際に使用する設定要求ＩＤを生成する。この例では、要求受付部４１は、設定要求ＩＤ＝１を生成したとする。要求受付部４１は、取得した設定要求と設定要求ＩＤの組み合わせを設定要求情報５１として格納すると共に、生成部４２に出力する。
【００３６】
生成部４２は、設定要求と設定要求ＩＤを取得すると、設定要求で要求されている経路を計算する。生成部４２は、経路計算の際に、適宜、ネットワークＮ１のトポロジ情報５４を使用するものとする。図６の例では、生成部４２は、通信装置６０ａから通信装置６０ｆに至る通信経路として経路Ｒ１を計算し、通信装置６０ａから通信装置６０ｆに至る冗長経路として経路Ｒ２を計算したとする。経路Ｒ１は、通信装置６０ａから通信装置６０ｂ、通信装置６０ｅを介して、通信装置６０ｆに至る経路である。一方、経路Ｒ２は、通信装置６０ａから通信装置６０ｃ、通信装置６０ｄを介して、通信装置６０ｆに至る経路である。
【００３７】
生成部４２は、計算した通信経路と冗長経路を生成するために、各通信装置６０に設定する情報を設定情報テーブル５２に格納する。設定情報テーブル５２は、設定要求ＩＤ、オーダＩＤ、装置ＩＤ、設定、オーダ状態を含む。設定情報テーブル５２＿１では、設定される経路と設定情報の設定先の装置の組み合わせごとに１つのエントリが生成されている。オーダＩＤは各エントリの識別に使用される。装置ＩＤは、エントリ中の設定情報の設定先となる通信装置６０に割り当てられた装置ＩＤである。設定は、エントリ中の装置ＩＤで識別される通信装置６０に設定される設定情報である。
【００３８】
例えば、オーダＩＤ＝１００のエントリの情報は、経路Ｒ１を生成するための通信装置６０ａ（装置ＩＤ＝Ａ）への設定内容である。経路Ｒ１による通信では、通信装置６０ａは通信装置６０ｆ宛のパケットを通信装置６０ｂに転送することになる。そこで、オーダＩＤ＝１００での設定内容は、「Ｆ（通信装置６０ｆ）宛のパケットの転送先をＢ（通信装置６０ｂ）に設定」となる。生成部４２が通信経路の計算をした段階では、設定情報を通信装置６０ａに通知していないので、オーダ状態は「未処理」に設定される。また、オーダＩＤ＝１００は設定要求ＩＤ＝１に対応付けられている。
【００３９】
オーダＩＤ＝１０１〜１０５の設定も同様に経路情報を表わしている。例えば、オーダＩＤ＝１０１のエントリは、通信装置６０ａ（Ａ）において、通信装置６０ｆ（Ｆ）宛てのパケットの転送に用いる冗長経路での転送先を通信装置６０ｃ（Ｃ）に設定することを表わす。オーダＩＤ＝１０２のエントリは、通信装置６０ｂ（Ｂ）において、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｅ（Ｅ）に設定することを表わす。オーダＩＤ＝１０３のエントリは、通信装置６０ｅ（Ｅ）において、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｆ（Ｆ）に設定することを表わす。オーダＩＤ＝１０４のエントリは、通信装置６０ｃ（Ｃ）において、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｄ（Ｄ）に設定することを表わす。オーダＩＤ＝１０５のエントリは、通信装置６０ｄ（Ｄ）において、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｆ（Ｆ）に設定することを表わす。従って、経路Ｒ１の生成の際に使用される情報は、オーダＩＤ＝１００、１０２、１０３の設定情報である。一方、冗長経路Ｒ２の生成の際に使用される情報は、オーダＩＤ＝１０１、１０４、１０５の設定情報である。
【００４０】
オーダ状態は、設定情報の設定先への設定の要求状態や設定先の通信装置６０での設定結果などを表わす。オーダ状態は、「未処理」、「処理中」、「処理済」のいずれかの値を取るものとする。オーダ状態＝未処理は、エントリ中の設定情報が設定先の通信装置６０に通知されていないことを表わす。オーダ状態＝処理中は、エントリ中の設定情報を設定先の通信装置６０に宛てたパケットに含めて送信したが、処理結果が制御サーバ３０に報告されていないことを表わす。オーダ状態＝処理済は、エントリ中の設定情報について、設定先の通信装置６０から設定の完了が通知されたことを表わす。
【００４１】
図７は、ポーリング要求とポーリング応答のフォーマットの例を説明する図である。図７中のＦ１は、通信装置６０から制御サーバ３０に送信されるポーリング要求のフォーマットの例である。ポーリング要求は、ＩＰ（Internet Protocol）ヘッダ、ＴＣＰ（Transmission Control Protocol）ヘッダ、ポーリング要求の送信元の通信装置６０に割り当てられた装置ＩＤを含む。さらに、ポーリング要求には、設定結果が含められ得る。設定結果は、以前に通信装置６０に対して送信された設定情報の設定結果と、処理対象となった設定情報の識別に用いられる情報の組み合わせである。処理対象となった設定情報は、オーダＩＤと設定要求ＩＤの組合せで識別されるものとする。通信装置６０がポーリング要求を送信する際に、制御サーバ３０に処理結果を通知していない設定情報がある場合、ポーリング要求に設定結果が含められる。一方、ポーリング要求を送信する際に、制御サーバ３０に処理結果を通知していない設定情報を有していない場合、通信装置６０は、ポーリング要求に設定結果を含めない。
【００４２】
例えば、通信装置６０ｂは、ポーリング要求を送信する際に、これまでに制御サーバ３０から通知された設定情報の全てについて、処理結果を制御サーバ３０に通知しているとする。この場合、通信装置６０ｂは、Ｆ２に示すように、設定結果を含まないポーリング要求を送信する。
【００４３】
一方、設定要求ＩＤ＝１とオーダＩＤ＝１０２の組合せで特定される設定情報が通信装置６０ｂで処理された後、処理結果を通知していない状態のときに、通信装置６０ｂがポーリング要求を送信しようとしたとする。この場合、通信装置６０ｂは、Ｆ３に示すように、設定要求ＩＤ＝１とオーダＩＤ＝１０２の組合せで特定される設定情報の設定結果を、ポーリング要求に含める。なお、Ｆ３の例では、通信装置６０ｂにおいて、設定要求ＩＤ＝１とオーダＩＤ＝１０２の組合せで特定される設定情報の設定が成功している。
【００４４】
Ｆ４は、制御サーバ３０から通信装置６０に送信されるポーリング応答のフォーマットの例である。ポーリング応答は、ＩＰヘッダ、ＴＣＰヘッダ、設定内容と設定内容の識別に使用される情報が含められる。設定内容は、ポーリング応答の宛先となる通信装置６０の設定に使用される設定情報である。図７に示すポーリング応答では、設定内容の識別に使用される情報として、オーダＩＤと設定要求ＩＤの組合せが使用されるものとする。
【００４５】
Ｆ５は、ルーティングテーブルの変更により、装置ＩＤ＝Ｆ宛のパケットを装置ＩＤ＝Ｅの装置に転送することが、通信装置６０ｂに対する設定情報として通知される場合のポーリング応答の例である。さらに、Ｆ５に示すポーリング応答には、通信装置６０ｂに通知される設定情報が設定要求ＩＤ＝１、オーダＩＤ＝１０２の組合せで特定される設定情報であることも含められている。
【００４６】
なお、図７のＦ４とＦ５には、設定要求ＩＤとオーダＩＤの１つの組み合わせに対する設定情報がポーリング応答に含まれている場合を例としているが、設定要求ＩＤとオーダＩＤの複数の組み合わせに対する設定情報が１つのポーリング応答に含まれても良い。同様に、１つのポーリング要求には、複数の設定情報についての設定結果が含まれていても良い。
【００４７】
以下、第１の実施形態での通信の例を、設定情報の決定後にポーリング要求が送信された場合、設定情報の決定前にポーリング要求が送信された場合、ポーリング応答の受信に失敗した場合の３つのケースに分けて説明する。なお、いずれの場合でも、図６を参照しながら説明したように、通信装置６０ａから通信装置６０ｆに至る通信経路と冗長経路の設定が要求された場合を例とする。
【００４８】
（１）設定情報の決定後にポーリング要求が送信された場合
図８は、ポーリング要求を用いた設定処理の例を説明するシーケンス図である。図９は、設定情報テーブル５２の例を説明する図である。以下、図８と図９を参照しながら、制御サーバ３０と通信装置６０の各々で行われる処理の例を説明する。なお、図８では、図を見やすくするために、複数の通信装置６０のうち、通信装置６０ｂだけを示しているが、ネットワークＮ１中にはその他の通信装置６０も含まれている。
【００４９】
ステップＳ１において、ユーザ端末５から設定要求が制御サーバ３０に送信される。制御サーバ３０中の受信部３３は、設定要求を受信する。生成部４２は、設定要求で要求された通信経路を生成するために使用する設定情報を求める。生成部４２は、設定要求に応じて求めた設定を設定情報テーブル５２に登録する（ステップＳ２）。ここでは、図６を参照しながら説明した処理が生成部４２によって行われたため、設定情報テーブル５２は、設定情報テーブル５２＿１（図６）の通りになったとする。要求受付部４１は、設定要求に対する応答（要求受付応答）を生成し、送信部３２を介して、ユーザ端末５に要求受付応答を送信する（ステップＳ３）。なお、要求受付応答には、制御サーバ３０が設定要求を受信したことがユーザ端末５で認識される任意の情報要素が用いられ得る。
【００５０】
その後、通信装置６０ｂ中の判定部７３ｂが、通信装置６０ｂでの処理負荷は、通信装置６０ｂがパケットを受信可能な程度であると判定したとする。判定部７３ｂは、ポーリング制御部７１ｂに判定結果を通知する。ポーリング制御部７１ｂは、制御サーバ３０に宛てて、ポーリング要求を生成する。このとき、通信装置６０ｂは、制御サーバ３０に未通知の設定結果を保持していないとする。すると、ポーリング制御部７１ｂは、設定結果を含まないポーリング要求を生成する。図８の例では、ポーリング制御部７１ｂは、図７のＦ２に示すポーリング要求を生成したとする。ポーリング制御部７１ｂは、送信部６２ｂを介して、ポーリング要求を制御サーバ３０に送信する（ステップＳ４）。
【００５１】
制御サーバ３０の受信部３３は、ポーリング要求を受信すると、ポーリング要求をポーリング制御部４３に出力する。ポーリング制御部４３は、通信装置６０ｂから送信されたポーリング要求を取得すると、通信装置６０ｂに対応付けられた設定情報であって、設定処理が完了していない情報が設定情報テーブル５２＿１（図６）に含まれているかを判定する。設定処理が完了しているかの判定には、オーダ状態の値が使用される。このとき、オーダ状態＝処理済の場合、設定処理が完了していると判定される。設定情報テーブル５２＿１では、設定要求ＩＤ＝１、オーダＩＤ＝１０２の情報が、装置ＩＤ＝Ｂに対応付けられており、オーダ状態＝未処理に設定されている。そこで、ポーリング制御部４３は、設定要求ＩＤ＝１、オーダＩＤ＝１０２の情報を含めたポーリング応答を、通信装置６０ｂ宛に生成する。すなわち、通信装置６０ｂ宛てに、ルーティングテーブルにおいて、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｅ（Ｅ）に設定することを設定情報として通知するポーリング応答が生成される。さらに、ポーリング応答には、通知している設定が設定要求ＩＤ＝１、オーダＩＤ＝１０２で特定される情報であることも含められる。従って、ポーリング制御部４３は、図７のＦ５に示すポーリング応答を生成する。ポーリング制御部４３は、生成したポーリング応答を、送信部３２を介して、通信装置６０ｂに送信する（ステップＳ５）。
【００５２】
ポーリング応答の生成が終わると、ポーリング制御部４３は、設定情報テーブル５２に、設定要求ＩＤ＝１、オーダＩＤ＝１０２の情報が処理中であることを記録する（ステップＳ６）。
【００５３】
図９の設定情報テーブル５２＿２は、設定情報テーブル５２の変更例である。設定情報テーブル５２＿２は、設定情報テーブル５２＿１中の設定要求ＩＤ＝１、オーダＩＤ＝１０２のエントリのオーダ状態を、ポーリング制御部４３が「処理中」に設定した場合の例である。
【００５４】
通信装置６０ｂの受信部６３ｂは、ステップＳ５において制御サーバ３０から送信されたポーリング応答を受信する。ポーリング制御部７１ｂは、制御サーバ３０から送信されたポーリング応答を取得し、ポーリング応答中に設定情報が含まれているかを判定する。図８の例では、ポーリング応答中に設定情報が含まれているので、ポーリング制御部７１ｂは、設定情報を設定処理部７２ｂに通知する。設定処理部７２ｂは、ポーリング制御部７１ｂから取得した情報を用いて設定処理を行う（ステップＳ７）。この例では、通信装置６０ｂ宛のポーリング応答に含められている設定情報は、ルーティングテーブルを更新することにより、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｅ（Ｅ）に設定することである。そこで、設定処理部７２ｂは、通信装置６０ｂが転送処理に使用するルーティングテーブルを変更することにより、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｅ（Ｅ）に設定する。設定処理が終わると、設定処理部７２ｂは、処理結果と処理に使用した情報を収集情報テーブル８１ｂに記録する。従って、収集情報テーブル８１ｂには、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定情報の設定が完了したことが記録される。
【００５５】
ステップＳ４でのポーリング要求の送信から所定の期間が経過した時点で、通信装置６０ｂでの処理負荷は、通信装置６０ｂが制御サーバ３０からパケットを受信可能な程度であると判定されているとする。すると、ポーリング制御部７１ｂは、制御サーバ３０に宛てて、ポーリング要求を生成する。このとき、ポーリング制御部７１ｂは、収集情報テーブル８１ｂに含まれている処理結果を、ポーリング要求に含める。このため、ポーリング制御部７１ｂは、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定情報の設定が完了したことを設定結果として含むポーリング要求を生成する。生成されたポーリング要求は、図７のＦ３に示す通りであるとする。ポーリング制御部７１ｂは、送信部６２ｂを介して、ポーリング要求を制御サーバ３０に送信する（ステップＳ８）。
【００５６】
制御サーバ３０のポーリング制御部４３は、受信部３３を介して、ポーリング要求を取得する。ポーリング制御部４３は、通信装置６０ｂから送信されたポーリング要求を取得すると、ポーリング要求に設定結果が含まれているかを判定する。ステップＳ８で送信されたポーリング要求（図７のＦ３）には、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定情報の設定が完了したことを示す設定結果が含まれている。そこで、ポーリング制御部４３は、設定結果を用いて、設定情報テーブル５２＿２（図９）を変更する。すなわち、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定が完了したことを、設定情報テーブル５２に記録する（ステップＳ９）。
【００５７】
図９を参照しながら、ステップＳ９の処理例を説明する。設定情報テーブル５２＿２には、設定要求ＩＤ＝１、オーダＩＤ＝１０２のエントリでは、オーダ状態が「処理中」に設定されている。ポーリング制御部４３は、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定条件についての設定の完了が通知されたので、このエントリ中のオーダ状態を「処理済」に変更する。このため、設定情報テーブル５２＿２は、設定情報テーブル５２＿３に示すように更新される。
【００５８】
さらに、制御サーバ３０中のポーリング制御部４３は、ポーリング応答を送信するタイミングを決定するために、通信装置６０ｂが設定対象となっている設定情報で、処理の完了が確認されていない情報があるかを判定する。すなわち、ポーリング制御部４３は、通信装置６０ｂ宛でオーダ状態＝処理済となっていない設定情報が、設定情報テーブル５２＿３（図９）に含まれているかを判定する。設定情報テーブル５２＿３には、通信装置６０ｂ宛の設定情報であって、処理の完了が確認されていない情報は含まれていない。そこで、ポーリング制御部４３は、新たに通信装置６０ｂ宛の設定情報が発生した場合にポーリング応答に設定情報を含めて通信装置６０ｂに送信するために、通信装置６０ｂ宛のポーリング応答の送信タイミングを遅らせる。以後の処理を、図１０を参照しながら説明する。なお、ポーリング制御部４３は、通信装置６０ｂへのポーリング応答を遅らせていることを、ポーリング受付中テーブル５３中に記録している。
【００５９】
図１０は、ポーリング要求を用いた設定処理の例を説明するシーケンス図である。図１０でも、図を見やすくするために、制御サーバ３０の制御対象の通信装置６０のうちの一部を示している。図１０のシーケンス図は図８のシーケンス図で説明したステップＳ８以降の処理の例である。図８、図９を参照しながら説明したように、ステップＳ８でのポーリング要求の受信の際に、制御サーバ３０は、通信装置６０ｂ宛に通知する設定情報を有していない。そこで、ポーリング制御部４３は、通信装置６０ｂ宛のポーリング応答の送信タイミングを遅らせることを決定する。ポーリング応答の送信タイミングは、ポーリング要求の受信から所定期間が経過する時刻と、通信装置６０ｂ宛の新たな設定が得られた時刻の何れか早い時刻まで遅らせられる。
【００６０】
一方、通信装置６０ａにおいて、通信装置６０ａの処理負荷がパケットを受信可能な程度であると判定されたため、ポーリング制御部７１ａは、制御サーバ３０宛てに、設定結果を含まないポーリング要求を生成したとする。ポーリング制御部７１ａは、送信部６２ａを介して、ポーリング要求を制御サーバ３０に送信する（ステップＳ２１）。
【００６１】
制御サーバ３０中のポーリング制御部４３は、通信装置６０ａから送信されたポーリング要求を、受信部３３を介して取得する。ポーリング要求に設定結果が含まれていないので、ポーリング制御部４３は、この時点では、設定情報テーブル５２を更新しない。ポーリング制御部４３は、設定情報テーブル５２＿３（図９）を参照して、通信装置６０ａ宛であり、かつ、オーダ状態が未処理か処理中の設定情報があるかを判定する。設定情報テーブル５２＿３の例では、設定要求ＩＤ＝１、オーダＩＤ＝１００の設定情報と、設定要求ＩＤ＝１、オーダＩＤ＝１０１の設定情報が未処理であり、設定先が通信装置６０ａである。そこで、ポーリング制御部４３は、これらの情報を含めたポーリング応答を通信装置６０ａ宛てに生成する。ポーリング制御部４３は、送信部３２を介して、ポーリング応答を通信装置６０ａに送信する（ステップＳ２２）。
【００６２】
ステップＳ２３において、ポーリング制御部４３は、設定要求ＩＤ＝１、オーダＩＤ＝１００の設定情報と、設定要求ＩＤ＝１、オーダＩＤ＝１０１の設定情報が処理中であることを、設定情報テーブル５２に記録する。このとき行われる処理は、図９を参照しながら説明した処理と同様である。すなわち、ポーリング応答に含まれている設定情報を格納したエントリ中のオーダ状態が「処理中」に設定される。
【００６３】
一方、ポーリング応答を受信した通信装置６０ａ中の設定処理部７２は、制御サーバ３０から通知された設定情報の設定処理を行う（ステップＳ２４）。ステップＳ２４で行われる処理の詳細は、図８のステップＳ７を参照しながら説明した処理と同様である。
【００６４】
制御サーバ３０において、ポーリング制御部４３は、ポーリング受付中テーブル５３にポーリング応答を遅らせていることが記録されている各通信装置６０について、その通信装置６０から受信したポーリング要求の受信時刻からの経過時間を計測している。図１０の例では、通信装置６０ｂへのポーリング応答を遅らせていることがポーリング受付中テーブル５３に記録されているので、ポーリング制御部４３は、最後に通信装置６０ｂから受信したポーリング要求の受信時刻からの経過時間を計測する。最後に通信装置６０ｂから受信したポーリング要求の受信時刻からの経過時間が所定の期間に達しても、新たに通信装置６０ｂに通知する設定情報が生成されていない場合、ポーリング制御部４３は、設定情報を含まないポーリング応答を生成する。ポーリング制御部４３は、生成したポーリング応答を、送信部３２経由で通信装置６０ｂに送信する（ステップＳ２５）。
【００６５】
ステップＳ２５以降も、制御サーバ３０は、通信装置６０ａや通信装置６０ｂ以外の通信装置６０との間で、ポーリング要求の受信やポーリング応答の送信を行う。このため、図８〜図１０を参照しながら説明した処理と同様の処理により、制御サーバ３０は、各通信装置６０に設定情報を通知できると共に、各通信装置６０での設定情報の設定結果を取得することができる。
【００６６】
制御サーバ３０中の要求受付部４１は、定期的に設定情報テーブル５２を参照することにより、設定要求ＩＤごとに、その設定要求ＩＤに対応付けられている全てのエントリでのオーダ状態が「処理済」になっているかを判定している。その後、制御サーバ３０が通信装置６０ａ〜６０ｅの各々へ設定情報を通知し、通信装置６０ａ〜６０ｅの各々から設定完了の通知を含むポーリング要求を受信したとする。この場合、要求受付部４１は、設定要求ＩＤ＝１に対応付けられている全てのエントリでのオーダ状態が「処理済」になっていることを検出する（ステップＳ２６）。すると、要求受付部４１は、設定要求ＩＤ＝１の設定要求で要求された設定処理が完了したと判定する。要求受付部４１は、設定要求情報５１を参照することにより、設定要求ＩＤ＝１の設定要求の要求元のユーザ端末５を特定する。さらに、要求受付部４１は、要求された設定が完了したことを通知する通知（設定要求結果通知）を、送信部３２経由でユーザ端末５に送信する（ステップＳ２７）。設定要求結果通知を受信したユーザ端末５では、要求した設定処理が終わったと認識する。
【００６７】
このように、ネットワークＮ１中の各通信装置６０には、その通信装置６０が設定情報を受信可能な状況にあるときに、ポーリング応答を用いて設定情報が通知される。このため、通信装置６０での処理負荷が高いために通信装置６０が設定情報の受信に失敗することや、設定情報の通知の失敗による再送処理の発生を予防することができる。
【００６８】
（２）設定情報の決定前にポーリング要求が送信された場合
次に、ユーザからの設定要求前など、設定情報が決定される前にポーリング要求が送信された場合の処理の例を説明する。設定情報が決定される前にポーリング要求が送信された場合、設定情報を決定した後の早い時点で、ポーリング要求の送信元に設定情報を通知するために、ポーリング受付中テーブル５３が使用される。
【００６９】
図１１は、ポーリング受付中テーブル５３の例を説明する図である。ポーリング受付中テーブル５３は、ポーリング要求を受信したときに、ポーリング要求の送信元に通知する設定情報が無いなどの理由により、ポーリング応答の送信タイミングを遅らせる場合に使用される。図１１に示すポーリング受付中テーブル５３は、送信タイミングが遅らせられているポーリング応答の宛先の装置ＩＤと、ポーリング応答の処理を行っているスレッドのＩＤを含む。なお、ポーリング応答の処理を行っているスレッドは、ポーリング制御部４３の一部として動作している。例えば、通信装置６０ｃ（装置ＩＤ＝Ｃ）から制御サーバ３０がポーリング要求を受信したとき、ポーリング制御部４３として動作しているスレッドＩＤ＝１００のスレッドがポーリング要求を処理したとする。すると、ポーリング受付中テーブル５３には、図１１に示すように、装置ＩＤ＝Ｃに対応付けて、スレッドＩＤ＝１００が記録される。
【００７０】
図１２は、ユーザ端末５からの設定要求前に、ポーリング要求が行われた場合の処理の例を説明するシーケンス図である。なお、図１２は一例であり、処理の手順は実装に応じて変更され得る。例えば、ステップＳ３４とステップＳ３５の順序は互いに変更されても良い。また、ステップＳ３６とステップＳ３７の処理の順序も互いに変更され得る。
【００７１】
ステップＳ３０において、通信装置６０ｃが制御サーバ３０からのパケットを受信できる状態になると、ポーリング要求を送信する。なお、このときには、ユーザ端末５からの設定要求がまだ送信されていなかったとする。このため、通信装置６０ｃには、設定情報が通知されておらず、通信装置６０ｃが送信するポーリング要求には設定結果が含まれていない。通信装置６０ｃから送信されたポーリング要求を制御サーバ３０が受信した時点でも、制御サーバ３０は、ユーザ端末５から設定要求を受信していないとする。すると、通信装置６０ｃへ通知する設定情報が無いため、ポーリング制御部４３は、通信装置６０ｃへのポーリング応答を遅らせる（応答保留）ことを決定する（ステップＳ３１）。ポーリング制御部４３は、通信装置６０ｃの装置ＩＤ（Ｃ）を、通信装置６０ｃからのポーリング要求を処理しているスレッドＩＤに対応付けて、ポーリング受付中テーブル５３に記録する。
【００７２】
ステップＳ３２〜Ｓ３４の処理は、図８を参照しながら説明したステップＳ１〜Ｓ３の処理と同様である。なお、図１２の例でも、設定要求に対する処理によって、設定情報テーブル５２＿１（図６）が得られたとする。
【００７３】
ポーリング制御部４３は、ポーリング受付中テーブル５３中に記録されている通信装置６０に対して通知する設定情報が設定情報テーブル５２＿１に含まれているかを判定する。設定情報テーブル５２＿１には、通信装置６０ｃ宛の設定情報として、設定要求ＩＤ＝１、オーダＩＤ＝１０４のエントリに、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｄ（Ｄ）に設定することが記録されている。そこで、ポーリング制御部４３は、スレッドＩＤ＝１００のスレッドにより、通信装置６０ｃ宛のポーリング応答を生成する。通信装置６０ｃ宛のポーリング応答には、設定情報として、通信装置６０ｆ（Ｆ）宛てのパケットの転送先を通信装置６０ｄ（Ｄ）に設定することが記録され、設定情報が設定要求ＩＤ＝１とオーダＩＤ＝１０４の組合せで特定されることも記録される。ポーリング制御部４３は、生成したポーリング応答を、通信装置６０ｃに送信する（ステップＳ３５）。
【００７４】
ポーリング制御部４３は、通信装置６０ｃ宛のポーリング応答を送信すると、ポーリング受付中テーブル５３から、通信装置６０ｃに関するエントリを削除する（ステップＳ３６）。この処理により、通信装置６０ｃ宛のポーリング応答の応答保留状態が解消される。さらに、ポーリング制御部４３は、設定要求ＩＤ＝１かつオーダＩＤ＝１０４の情報の設定処理中であることを、設定情報テーブル５２に記録する（ステップＳ３７）。
【００７５】
通信装置６０ｃの受信部６３ｃは、制御サーバ３０からのポーリング応答を受信する。ポーリング応答の受信に伴い、設定処理部７２ｃはポーリング応答で通知された設定情報の設定処理を行う（ステップＳ３８）。図８のステップＳ７で説明した処理と同様の処理により、収集情報テーブル８１ｃには、設定処理の結果等が記録される。
【００７６】
その後、通信装置６０ｃから再度、ポーリング要求を制御サーバ３０に送信するタイミングになったとする。このとき、ポーリング制御部７１ｃは、設定要求ＩＤ＝１かつオーダＩＤ＝１０４の情報の設定が完了したことを、ポーリング要求に含める。送信部６２ｃは、ポーリング要求を制御サーバ３０に送信する（ステップＳ３９）。
【００７７】
制御サーバ３０中のポーリング制御部４３は、ポーリング要求を受信すると、設定要求ＩＤ＝１かつオーダＩＤ＝１０４の情報の設定が完了したことを、設定情報テーブル５２に記録する（ステップＳ４０）。ステップＳ４０の処理により、設定要求ＩＤ＝１かつオーダＩＤ＝１０４のエントリ中のオーダ状態は「処理済」となる。この時点では、通信装置６０ｃへ通知する対象となる設定情報が無いため、ポーリング制御部４３は、通信装置６０ｃへのポーリング応答を遅らせることを決定する（ステップＳ４１）。なお、通信装置６０ｃへ通知する対象となる設定情報は、オーダ状態が未処理か処理中の情報である。通信装置６０ｃ宛のポーリング応答を保留するため、ポーリング制御部４３は、通信装置６０ｃの装置ＩＤと、通信装置６０ｃからのポーリング要求を処理しているスレッドのスレッドＩＤをポーリング受付中テーブル５３に記録する。
【００７８】
ステップＳ３９で受信したポーリング要求の受信から所定の期間中に通信装置６０ｃ宛の設定情報が発生しない場合、ポーリング制御部４３は、通信装置６０ｃからのポーリング要求を処理したスレッドにより、設定情報を含まないポーリング応答を生成する。ポーリング制御部４３は、送信部３２を介して、ポーリング応答を通信装置６０ｃに送信する（ステップＳ４２）。
【００７９】
このように、ポーリング要求が送信されたときにポーリング要求の送信元の通信装置６０に設定する情報が無い場合、制御サーバ３０は、ポーリング応答を保留する。また、ポーリング要求の送信元の通信装置６０宛の設定情報を生成すると、設定情報を含めてポーリング応答を送信する。このため、経路設定前にポーリング要求が行われた場合でも、制御サーバ３０と通信装置６０の間で送受信される制御パケットの数を増加させずに、設定情報を通信装置６０に通知できる。
【００８０】
（３）ポーリング応答の受信に失敗した場合
通信装置６０での処理負荷が制御サーバ３０からのパケットを受信可能な程度であっても、通信装置６０と制御サーバ３０の間の通信経路に輻輳が発生した場合などに、ポーリング応答の受信に失敗する可能性もある。そこで、１回目のポーリング応答の受信が失敗した場合の処理の例を、図１３を参照しながら説明する。
【００８１】
図１３は、ポーリング応答の受信に失敗した場合の処理の例を説明するシーケンス図である。ステップＳ５１〜Ｓ５５の処理は、図８を参照しながら説明したステップＳ１〜Ｓ５と同様である。図１３の例でも、設定要求に対する処理によって、ステップＳ５２では、設定情報テーブル５２＿１（図６）が得られたとする。また、制御サーバ３０から通信装置６０ｂに送信されるポーリング応答には、設定情報テーブル５２＿１（図６）中の設定要求ＩＤ＝１、オーダＩＤ＝１０２のエントリの情報が含められているとする。
【００８２】
しかし、ステップＳ５５で送信されたポーリング応答は、制御サーバ３０と通信装置６０ｂの間の通信経路に輻輳が発生したことにより、通信装置６０ｂに到達しなかったとする。一方、制御サーバ３０では、通信装置６０ｂにポーリング応答が到達したかに関係なく、設定要求ＩＤ＝１、オーダＩＤ＝１０２のエントリの情報が設定処理中であることが設定情報テーブル５２に記録される（ステップＳ５６）。このため、ステップＳ５６の処理により、制御サーバ３０は、設定情報テーブル５２＿２（図９）を保持することになる。
【００８３】
通信装置６０ｂは、ステップＳ５４で送信したポーリング要求に対するポーリング応答を待ち合わせるが、ポーリング応答を待ち合わせる期間が経過（タイムアウト）しても、ポーリング応答を受信しなかったとする（ステップＳ５７）。すると、ポーリング制御部４３ｂは、ポーリング要求を再度、制御サーバ３０に送信する（ステップＳ５８）。なお、通信装置６０ｂには設定情報が通知されていないので、ステップＳ５８で送信されるポーリング要求には、設定結果が含まれていない。
【００８４】
制御サーバ３０中のポーリング制御部４３は、通信装置６０ｂから送信されたポーリング要求を、受信部３３を介して取得する。ポーリング要求に設定結果が含まれていないので、ポーリング制御部４３は、この時点では設定情報テーブル５２を更新しない。ポーリング制御部４３は、設定情報テーブル５２＿２（図９）を参照して、通信装置６０ｂ宛の設定情報のうち、未処理か処理中の設定情報があるかを判定する。設定情報テーブル５２＿２の例では、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定情報が処理中である。そこで、ポーリング制御部４３は、設定要求ＩＤ＝１、オーダＩＤ＝１０２の設定情報を含めたポーリング応答を通信装置６０ｂに送信する（ステップＳ５９）。
【００８５】
ステップＳ５９で送信されたポーリング応答は通信装置６０ｂに到達したとする。すると、ステップＳ６０では、図８のステップＳ７を参照しながら説明した処理と同様に設定処理が行われる。ステップＳ６１とＳ６２の処理は、図８のステップＳ８、Ｓ９を参照しながら説明した処理と同様である。このため、制御サーバ３０が保持する設定情報テーブル５２は、設定情報テーブル５２＿３（図９）に示す状態になる。ステップＳ６１で通信装置６０ｂからポーリング要求が送信されたときに、通信装置６０ｂ宛に送信する設定情報が無いので、ポーリング制御部４３は、通信装置６０ｂ宛のポーリング応答を保留する（ステップＳ６３）。その後、所定期間中に通信装置６０ｂ宛の設定情報が生成されない場合、ポーリング制御部４３は、設定情報を含まないポーリング応答を通信装置６０ｂに送信する（ステップＳ６４）。
【００８６】
このように、ポーリング制御部４３は、設定情報テーブル５２中でオーダ状態が未処理か処理中に設定されている情報を、ポーリング応答に含めてポーリング要求の送信元に送信する。このため、通信装置６０がポーリング応答の受信に失敗しても、次のポーリング要求に対する応答が通信装置６０に到達すれば、設定処理が行われる。また、いずれのポーリング応答も、通信装置６０からのポーリング要求に対する応答であるので、通信装置６０での処理負荷が高くないときに送信される。このため、通信装置６０での処理負荷が高いことが原因でポーリング応答が破棄されるおそれは無い。このため、制御サーバ３０から通信装置６０へのパケットの再送が発生しにくくすることができる。従って、制御サーバ３０での処理負荷が増大しにくい。
【００８７】
（４）処理フロー
以下、図１４〜図１８のフローチャートを参照しながら、制御サーバ３０と通信装置６０の処理の例を説明する。
【００８８】
図１４は、通信装置６０がポーリング要求を送信する際の処理の例を説明するフローチャートである。図１４では、通信装置６０に備えられているＣＰＵの負荷に応じて、判定部７３がポーリング要求を送信するかを判定する場合と例として説明する。
【００８９】
判定部７３は、通信装置６０が備えるＣＰＵの負荷を取得する（ステップＳ７１）。ＣＰＵ負荷の取得方法は、任意の既知の方法のいずれかを使用するものとする。判定部７３は、得られたＣＰＵ負荷が閾値情報８２中の閾値未満であるかを判定する（ステップＳ７２）。得られたＣＰＵ負荷が閾値未満である場合、ポーリング制御部７１は、設定処理の結果のうち、制御サーバ３０に未通知のものがあるかを判定する（ステップＳ７２でＹｅｓ、ステップＳ７３）。制御サーバ３０に未通知の結果がある場合、ポーリング制御部７１は、未通知の設定処理の結果を取得する（ステップＳ７３でＹｅｓ、ステップＳ７４）。ポーリング制御部７１は、取得した結果を設定結果として含むポーリング要求を生成し、制御サーバ３０に向けて送信する（ステップＳ７５）。
【００９０】
一方、制御サーバ３０に未通知の結果がない場合、ポーリング制御部７１は、設定結果を含まないポーリング要求を生成し、制御サーバ３０に向けて送信する（ステップＳ７３でＮｏ、ステップＳ７６）。また、ステップＳ７２でＣＰＵ負荷が閾値以上である場合、判定部７３は処理を終了する（ステップＳ７２でＮｏ）。
【００９１】
図１５は、通信装置６０がポーリング応答を受信した際の処理の例を説明するフローチャートである。受信部６３は、ポーリング応答を受信する（ステップＳ８１）。ポーリング制御部７１は、ポーリング要求を用いて制御サーバ３０に通知した設定結果を、収集情報テーブル８１から削除する（ステップＳ８２）。ポーリング制御部７１は、ポーリング応答中に設定情報が含まれているかを判定する（ステップＳ８３）。ポーリング応答中に設定情報が含まれている場合、設定処理部７２は、設定情報に沿って設定処理を行う（ステップＳ８３でＹｅｓ、ステップＳ８４）。設定処理部７２は、設定処理の結果を収集情報テーブル８１に記録する（ステップＳ８５）。一方、ポーリング応答中に設定情報が含まれていない場合、ポーリング制御部７１は処理を終了する（ステップＳ８３でＮｏ）。
【００９２】
図１６は、制御サーバ３０が設定要求を受信したときの処理の例を説明するフローチャートである。受信部３３は、ユーザ端末５から設定要求を受信する（ステップＳ９１）。生成部４２は、設定要求を解析して、設定処理の対象となる通信装置６０と、各通信装置６０への設定内容を特定する（ステップＳ９２）。生成部４２は、特定した情報を、設定情報テーブル５２に記録する（ステップＳ９３）。要求受付部４１は、ユーザ端末５に要求受付応答を送信する（ステップＳ９４）。ポーリング制御部４３は、ポーリング受付中テーブル５３を用いて、ポーリング応答を保留している通信装置６０の情報を取得する（ステップＳ９５）。ポーリング制御部４３は、取得した情報を用いて、ポーリング応答を保留中の通信装置６０に設定する設定情報があるかを判定する（ステップＳ９６）。ポーリング応答を保留中の通信装置６０に設定する設定情報がある場合、ポーリング制御部４３は、ポーリング応答を保留中の通信装置６０に宛てて、設定情報を含むポーリング応答を生成する（ステップＳ９６でＹｅｓ）。送信部３２は、設定情報を含むポーリング応答を、ポーリング応答の宛先の通信装置６０に送信する（ステップＳ９７）。一方、ポーリング応答を保留中の通信装置６０に設定する設定情報がない場合、ポーリング制御部４３は処理を終了する（ステップＳ９６でＮｏ）。
【００９３】
図１７は、制御サーバ３０が通信装置６０から設定結果を受信したときの処理の例を説明するフローチャートである。受信部３３は、通信装置６０から設定結果を含むポーリング要求を受信する（ステップＳ１０１）。ポーリング制御部４３は、設定情報テーブル５２中で、設定が完了したエントリのオーダ状態を「処理済」に設定する（ステップＳ１０２）。要求受付部４１は、設定要求ＩＤに対応付けられた全てのエントリで、オーダ状態が「処理済」であるかを判定する（ステップＳ１０３）。全てのエントリで、オーダ状態が「処理済」ではない場合、ステップＳ１０１に戻る（ステップＳ１０３でＮｏ）。全てのエントリで、オーダ状態が「処理済」の場合、要求受付部４１は、ユーザ端末５に、設定要求結果応答を送信する（ステップＳ１０３でＹｅｓ、ステップＳ１０４）。なお、ステップＳ１０４での設定要求結果応答の宛先は、設定要求ＩＤに対応付けられた設定要求を送信したユーザ端末５であり、要求受付部４１は、適宜、設定要求情報５１を用いて設定要求結果応答の宛先を特定する。
【００９４】
図１８Ａと図１８Ｂは、ポーリング要求を受信したときの制御サーバ３０の処理の例を説明するフローチャートである。受信部３３は、ポーリング要求を受信する（ステップＳ１１１）。ポーリング制御部４３は、ポーリング要求に設定結果が含まれているかを判定する（ステップＳ１１２）。ポーリング要求に設定結果が含まれている場合、ポーリング制御部４３ｂは、設定情報テーブル５２を更新する（ステップＳ１１２でＹｅｓ、ステップＳ１１３）。ステップＳ１１２でＮｏと判定した場合かステップＳ１１３の処理後、ポーリング制御部４３は、設定情報テーブル５２から、ポーリング要求の送信元に設定する情報で、オーダ状態が「未処理」か「処理中」である情報を抽出する（ステップＳ１１４）。ポーリング制御部４３は、条件に合う情報が抽出されたかを判定する（ステップＳ１１５）。情報が抽出できた場合、抽出した情報のオーダ状態を「処理中」に設定する（ステップＳ１１５でＹｅｓ、ステップＳ１１６）。ポーリング制御部４３は、抽出した情報を含むポーリング応答を、ポーリング要求の送信元に送信する（ステップＳ１１７）。
【００９５】
一方、ポーリング要求の送信元に設定する情報で、オーダ状態が「未処理」または「処理中」である情報が抽出されなかった場合、ポーリング受付中テーブル５３に、ポーリング要求の送信元の情報を設定する（ステップＳ１１５でＮｏ、ステップＳ１１８）。なお、このとき、ポーリング受付中テーブル５３には、ポーリング要求の送信元の情報に対応付けて、ポーリング制御部４３がポーリング要求の処理に使用しているスレッドのＩＤも記録される。ポーリング制御部４３は、ポーリング応答を遅らせる時間を算出する（ステップＳ１１９）。ポーリング制御部４３は、ポーリング応答を遅らせる時間を、ポーリング要求の処理に使用されているスレッドに記憶させる。ポーリング要求の処理に使用されているスレッドは、ポーリング要求の受信からの経過時間を計測しながら、ポーリング応答を送信するタイミングまで待機する。
【００９６】
ポーリング制御部４３は、受信部３３がユーザ端末５からの設定要求を受信しているかを判定する（ステップＳ１２０）。受信部３３がユーザ端末５からの設定要求を受信している場合、生成部４２は、設定要求を処理することにより、設定情報テーブル５２を更新する（ステップＳ１２１）。ポーリング制御部４３は、更新後の設定情報テーブル５２中に、ポーリングを遅らせている通信装置６０宛ての設定情報があるかを判定する（ステップＳ１２２）。ポーリングを遅らせている通信装置６０宛ての設定情報が設定情報テーブル５２に含まれている場合、設定情報が得られた通信装置６０の情報をポーリング受付中テーブル５３から削除する（ステップＳ１２２でＹｅｓ、ステップＳ１２３）。このとき、ポーリング制御部４３は、設定情報が得られた通信装置６０宛てのポーリング要求を処理したスレッドを用いて、ポーリング応答を送信することを決定する。その後、ステップＳ１１６以降の処理が行われる。
【００９７】
次に、ポーリング応答を遅らせている通信装置６０宛ての設定情報が更新後の設定情報テーブル５２にない場合（ステップＳ１２２でＮｏ）と、設定要求を受信していない場合（ステップＳ１２０でＮｏ）に行われる処理について述べる。ポーリング制御部４３中の各スレッドは、そのスレッドが処理したポーリング要求の受信からの経過時間が、ポーリング応答を遅延させる期間以上になったか（タイムアウトしたか）を判定する（ステップＳ１２４）。スレッドにおいてタイムアウトしていないと判定した場合、そのスレッドで処理されているポーリング応答については、ステップＳ１２０以降の処理が行われる（ステップＳ１２４でＮｏ）。一方、ポーリング制御部４３中のあるスレッドにおいてタイムアウトしたと判定した場合、ポーリング制御部４３は、タイムアウトしたと判定したスレッドに対応付けられた情報をポーリング受付中テーブル５３から削除する（ステップＳ１２５）。さらに、ポーリング制御部４３は、タイムアウトしたと判定したスレッドで処理したポーリング要求に対して、設定情報を含まないポーリング応答を送信する（ステップＳ１２６）。
【００９８】
このように、第１の実施形態では、通信装置６０が設定情報を受信可能な状況にあるときに、ポーリング応答を用いて設定情報が通知される。このため、通信装置６０での処理負荷が高いために通信装置６０が設定情報の受信に失敗することや、設定情報の通知の失敗による再送処理の発生を予防することができる。さらに、経路の輻輳などによって通信装置６０がポーリング応答の受信に失敗しても、通信装置６０への設定情報は、次のポーリング要求に対する応答で通信装置６０に通知される。なお、次のポーリング要求も通信装置６０が設定情報を受信可能な状況にあるときに送信されるので、通信装置６０が設定情報を受信可能な状況にあるときに、設定情報を含むポーリング応答が通信装置６０で受信される。
【００９９】
従って、第１の実施形態によると、制御サーバ３０から通信装置６０への設定情報の再送処理が行われる回数を小さくすることができる。さらに、個々の通信装置６０での処理状況に応じて、制御サーバ３０にポーリング要求が送信されるので、多数の通信装置６０からのポーリング要求が同時期に制御サーバ３０に集中する可能性が低い。すなわち、第１の実施形態によると、制御サーバ３０は、設定対象の通信装置６０の各々に対して同時期に設定情報を送信する場合に比べて、単位時間当たりでの制御サーバ３０への負荷が高くなりにくい。
【０１００】
このため、設定情報の送信処理に伴って制御サーバ３０にかかる単位時間当たりの負荷や、設定情報の再送処理に伴って制御サーバ３０にかかる負荷は、小さくなる。従って、１台の制御サーバ３０が処理対象とすることができる通信装置６０の数は、設定条件が一斉に設定先の装置に通知されるケースに比べて、大きくなる。このため、第１の実施形態によって、ネットワーク中に備える制御サーバ３０の数を抑えることもできる。
【０１０１】
＜第２の実施形態＞
第２の実施形態では、装置によって、ポーリング応答の保留時間を変更する場合について説明する。
【０１０２】
図１９は、応答保留時間の制御例を説明するシーケンス図である。例えば、通信装置６０ａからのポーリング要求に対してポーリング応答を保留する場合に、Ｔ１の期間だけポーリング応答を遅延させることが計算されたとする。また、通信装置６０ｂからのポーリング要求に対してポーリング応答を保留する場合に、ポーリング応答の遅延期間がＴ２と計算されたとする。さらに、通信装置６０ｃ、６０ｄからのポーリング要求に対してポーリング応答を保留する場合に、ポーリング応答の遅延期間がＴ３と計算されたとする。
【０１０３】
この状態で、通信装置６０ａから制御サーバ３０に向けて、設定結果を含まないポーリング要求が送信されとする（ステップＳ１３１）。制御サーバ３０中のポーリング制御部４３は、通信装置６０ａから送信されたポーリング要求を、スレッド１を用いて処理するとする。スレッド１は、通信装置６０ａに宛てて送信する設定情報があるかを判定する。通信装置６０ａ宛ての設定情報がないと判定すると、スレッド１は、通信装置６０ａへのポーリング応答の送信タイミングを遅らせることを決定する。このとき、スレッド１は、通信装置６０ａからのポーリング要求を受信した時刻から時間Ｔ１が経過した時刻か、通信装置６０ａ宛ての設定情報が生成された時刻のいずれか早いほうまで、ポーリング応答の送信を遅らせることを決定する。
【０１０４】
ステップＳ１３２において、通信装置６０ｂからも制御サーバ３０に向けて、設定結果を含まないポーリング要求が送信されたとする。ポーリング制御部４３は、通信装置６０ｂから送信されたポーリング要求を、スレッド２を用いて処理するとする。スレッド２は、通信装置６０ｂに宛てて送信する設定情報があるかを判定する。通信装置６０ｂ宛ての設定情報がないと判定すると、スレッド２は、通信装置６０ｂへのポーリング応答の送信タイミングを遅らせることを決定する。このとき、スレッド２は、通信装置６０ｂからのポーリング要求を受信した時刻から時間Ｔ２が経過した時刻か、通信装置６０ｂ宛ての設定情報が生成された時刻のいずれか早いほうまで、通信装置６０ｂ宛てのポーリング応答の送信を遅らせることを決定する。
【０１０５】
その後、ユーザ端末５からの設定要求が行われなかったため、通信装置６０ａ宛ての設定情報が生成されるよりも前に、通信装置６０ａからのポーリング要求を受信した時刻から時間Ｔ１が経過したとする。すると、スレッド１は、通信装置６０ａ宛てのポーリング応答を送信する（ステップＳ１３３）。なお、ポーリング応答の送信の際の処理の詳細は、第１の実施形態と同様である。
【０１０６】
通信装置６０ａから再度、ポーリング要求が制御サーバ３０に送信されたとする（ステップＳ１３４）。制御サーバ３０は、通信装置６０ａからポーリング要求を受信すると、ステップＳ１３１の際の処理と同様の処理を、ポーリング制御部４３のスレッド１で行う。従って、スレッド１は、通信装置６０ａからのポーリング要求を受信した時刻から時間Ｔ１が経過した時刻か、通信装置６０ａ宛ての設定情報が生成された時刻のいずれか早い方まで、ポーリング応答の送信を遅らせることを決定する。
【０１０７】
通信装置６０ｂについても、通信装置６０ｂ宛ての設定情報が生成されるよりも前に、通信装置６０ｂからのポーリング要求を受信した時刻から時間Ｔ２が経過したとする。すると、スレッド２は、通信装置６０ｂ宛てのポーリング応答の送信を行う（ステップＳ１３５）。
【０１０８】
通信装置６０ｂは、ポーリング応答を受信後に、再度、制御サーバ３０にポーリング要求を送信する（ステップＳ１３６）。制御サーバ３０は、通信装置６０ｂからポーリング要求を受信すると、ステップＳ１３２の際の処理と同様に処理する。従って、ポーリング制御部４３中のスレッド２は、通信装置６０ｂからのポーリング要求の受信時刻から時間Ｔ２が経過した時刻か、通信装置６０ｂ宛ての設定情報が生成された時刻のいずれか早い方まで、ポーリング応答の送信を遅らせることを決定する。
【０１０９】
その後も、ユーザ端末５からの設定要求が行われなかったとする。すると、ポーリング制御部４３中のスレッド１は、通信装置６０ａからの最新のポーリング要求の受信時刻から時間Ｔ１が経過すると、通信装置６０ａ宛てのポーリング応答を送信する（ステップＳ１３７）。同様に、ポーリング制御部４３中のスレッド２は、通信装置６０ｂからの最新のポーリング要求の受信時刻から時間Ｔ２が経過すると、通信装置６０ｂ宛てのポーリング応答を送信する（ステップＳ１３８）。
【０１１０】
第２の実施形態を参照しながら説明したように、通信装置６０ごとにポーリング応答を送信するまでの待ち時間を異なる時間とすると、ポーリング応答の送信時刻が複数の通信装置６０の間で重複しづらくなる。その結果、制御サーバ３０から通信装置６０にポーリング応答を送信するタイミングが、通信装置６０によって異なるため、制御サーバ３０に一時的に高い負荷がかかることを防止できる。すなわち、通信装置６０から制御サーバ３０に対して設定情報を問合わせるタイミングを通信装置６０によって異なる時間とすることにより、制御サーバ３０にかかる処理負荷を平滑化できる。
【０１１１】
＜第３の実施形態＞
第３の実施形態では、仮想サーバや仮想ルータなどの仮想装置を用いて、制御サーバ３０が経路を生成する場合について説明する。
【０１１２】
図２０は、仮想装置が用いられる場合の例を説明する図である。ケースＣ１は、仮想装置が用いられる場合の、通信装置６０と仮想装置の配置の例を示す。ケースＣ１では、通信装置６０ａと通信装置６０ｆが制御サーバ３０に接続されており、さらに、通信装置６０ａと通信装置６０ａが互いに接続されているとする。通信装置６０ａには、仮想サーバａと仮想ルータｂ〜ｄが配置されているとする。一方、通信装置６０ｆには、仮想サーバｆと仮想ルータｅ、仮想ルータｇ、仮想ルータｈが配置されているとする。
【０１１３】
ネットワークＮ１１は、通信装置６０ａと通信装置６０ｆで実現される仮想サーバと仮想ルータによって生成されるネットワークの例である。ネットワークＮ１１において、パケットの送受信が行われるリンクを実線で示している。
【０１１４】
ネットワークＮ１１が形成されている状態で、制御サーバ３０がユーザ端末５から設定要求を受信したとする。ここで、設定要求によって、仮想サーバａから仮想サーバｆに至る経路を設計することが要求されたとする。
【０１１５】
制御サーバ３０では、要求受付部４１は、第１の実施形態と同様に、ユーザ端末５からの設定要求の受付処理を行う。また、生成部４２は、第１の実施形態で説明した処理と同様に、トポロジ情報５４を用いて、設定対象の経路を計算する。なお、トポロジ情報５４には、各通信装置６０で実現される仮想装置の種類を識別する情報も含まれているとする。以下、仮想サーバａから仮想サーバｆに至る経路として、経路Ｒ１１が計算されたとする。生成部４２は、仮想サーバや仮想ルータへの設定情報を、設定情報の設定対象となる装置を実現する通信装置６０に対応付けて、設定情報テーブル５２に記録する。
【０１１６】
図２１は、要求蓄積テーブルの例を説明する図である。図２１の例では、仮想サーバａから仮想サーバｆに至る経路の生成の設定要求に対して、設定要求ＩＤ＝２が割り当てられているとする。生成部４２は、各仮想装置への設定内容ごとに、オーダＩＤを割り当て、設定対象の装置を識別する装置ＩＤに対応付けている。さらに、設定内容と、オーダ状態も、設定情報テーブル５２のエントリ中に含められている。
【０１１７】
例えば、経路Ｒ１１を実現するためには、仮想サーバａは、仮想サーバｆ宛てのパケットの転送先を仮想ルータｂに設定することになる。ここで、仮想サーバａは、通信装置６０ａによって実現される。このため、仮想サーバａにおいて仮想サーバｆ宛てのパケットの転送先を仮想ルータｂに設定することは、装置ＩＤ＝Ａ（通信装置６０ａ）に対応付けて設定情報テーブル５２に記録される。
【０１１８】
また、経路Ｒ１１を実現する際には、仮想ルータｂは、仮想サーバｆ宛てのパケットの転送先を仮想ルータｃに設定することになる。ここで、仮想ルータｂは、通信装置６０ａによって実現される。このため、仮想ルータｂにおいて仮想サーバｆ宛てのパケットの転送先を仮想ルータｃに設定することも、装置ＩＤ＝Ａ（通信装置６０ａ）に対応付けて設定情報テーブル５２に記録される。
【０１１９】
さらに、経路Ｒ１１を実現する際には、仮想ルータｃは、仮想サーバｆ宛てのパケットの転送先を仮想ルータｇに設定することになる。ここで、仮想ルータｃは、通信装置６０ａによって実現される。このため、仮想ルータｃにおいて仮想サーバｆ宛てのパケットの転送先を仮想ルータｇに設定することも、装置ＩＤ＝Ａ（通信装置６０ａ）に対応付けて設定情報テーブル５２に記録される。
【０１２０】
同様に、経路Ｒ１１を実現する際には、仮想ルータｇは、仮想サーバｆ宛てのパケットの転送先を仮想サーバｆに設定することになる。ここで、仮想ルータｇは、通信装置６０ｆによって実現される。このため、仮想ルータｇにおいて仮想サーバｆ宛てのパケットの転送先を仮想サーバｆに設定することは、装置ＩＤ＝Ｆ（通信装置６０ｆ）に対応付けて設定情報テーブル５２に記録される。
【０１２１】
設定情報テーブル５２の生成後の処理は、第３の実施形態でも、第１の実施形態と同様に行われる。すなわち、制御サーバ３０が通信装置６０からポーリング要求を受信すると、ポーリング要求の送信元を識別する装置ＩＤに対応付けて設定情報テーブル５２に記録されている設定情報を含むポーリング応答が、ポーリング要求の送信元に送信される。図２１の例では、制御サーバ３０は、通信装置６０ａからポーリング要求を受信すると、オーダＩＤ＝２００〜２０２の情報をポーリング応答に含めて、通信装置６０ａ宛てに送信する。従って、通信装置６０ａには、仮想サーバａ、仮想ルータｂ、仮想ルータｃの設定情報が送信される。一方、制御サーバ３０は、通信装置６０ｆからのポーリング要求への応答の際に、仮想ルータｇに設定する情報（オーダＩＤ＝２０３）を含める。
【０１２２】
各通信装置６０は、自装置が実現する仮想サーバや仮想ルータに対する設定処理を、設定処理部７２によって行う。ポーリング制御部７１は、自装置が実現する仮想サーバや仮想ルータに対する設定処理の結果を、次のポーリング要求に含めて制御サーバ３０に通知する。このため、制御サーバ３０中のポーリング制御部４３がポーリング要求を処理すると、第１の実施形態と同様に、設定情報テーブル５２が更新される。従って、全ての設定が終了すると、要求受付部４１は、ユーザ端末５に対して設定の終了を通知できる。
【０１２３】
このように、仮想ネットワークが設定対象である場合、制御サーバ３０は、仮想ネットワーク中の仮想装置を実現する通信装置６０に対して、その通信装置６０が実現する仮想装置の情報を通知する。このため、仮想ネットワークでの設定処理であっても、通信装置６０が受信処理を行うことができる程度の負荷である場合に、制御サーバ３０から設定情報を含むパケットが通信装置６０に送信される。従って、第１の実施形態と同様に、通信装置６０での処理負荷が大きいために通信装置６０がパケットの受信に失敗することが防止される。このため、制御サーバ３０の処理負荷が抑制できる。
【０１２４】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１２５】
以上の説明で述べたパケットやテーブル中の情報要素は、一例であり、実装に応じて、パケットやテーブルに含められる情報要素は変更されうる。また、トポロジ情報５４には、制御対象の通信装置６０に割り当てられた装置ＩＤやアドレス等が含められても良い。
【０１２６】
第２の実施形態と第３の実施形態が組み合わせて使用されてもよい。この場合、仮想装置に対する設定内容を含むポーリング応答の送信のタイミングの最大の遅延時間は、通信装置６０に応じて設定される。
【０１２７】
第２の実施形態において、通信装置６０のグループごとに、ポーリング応答を遅延可能な期間が決められていてもよい。この場合、通信装置６０は、複数のグループに分けられ、各グループについて、ポーリング応答の送信についての最大の遅延時間が決められている。すなわち、ポーリング制御部４３は、ポーリング応答を遅延させる場合、ポーリング応答の送信先に対応付けられた期間を特定し、特定した期間までの間はポーリング応答を遅延させることができると判定する。例えば、図１９の装置ＩＤと待機時間の対応テーブルが予め制御サーバ３０に保持されているとする。この場合は、装置ＩＤ＝Ａのグループ、装置ＩＤ＝Ｂのグループ、装置ＩＤ＝ＣまたはＤのグループの各々に、ポーリング応答を遅延可能な期間が決められていることになる。
【０１２８】
このように、グループごとに異なる遅延時間が用いられる場合、ポーリング応答の送信のタイミングが集中しづらく、制御サーバ３０での処理負荷が平滑化される。また、予め、通信装置６０ごとにその通信装置６０から送信されたポーリング応答の送信を遅らせる最大の遅延時間が決められている場合、送信タイミングを遅らせる期間の計算が行われなくてもよいので、ポーリング制御部４３での処理を軽減できる。
【０１２９】
上述の第１〜第４の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
複数の通信装置を含むネットワークを制御する制御装置であって、
転送経路の設定要求および前記複数の通信装置の各々からパケットを受信可能であることを通知する通知パケットを受信する受信部と、
前記転送経路を設計するとともに、前記複数の通信装置のうちで前記転送経路の生成に使用する通信装置の各々に対して、当該通信装置に設定する設定情報を生成する生成部と、
前記設定情報の各々について、当該設定情報の設定先となる通信装置から当該通信装置がパケットを受信可能であることを通知する通知パケットを受信すると、当該設定情報を含む応答パケットを生成する制御部と、
前記応答パケットを前記設定情報の設定先となる通信装置へ送信する送信部
を備えることを特徴とする制御装置。
（付記２）
前記制御部は、
前記通知パケットの送信元に設定する設定情報が生成されていない場合、前記通知パケットに対する応答を送信するタイミングを遅延可能な期間を特定し、
前記遅延可能な期間が経過するまでに、前記通知パケットの送信元に設定する設定情報が生成されると、前記通知パケットの送信元に設定する設定情報を含めた応答パケットを生成する
ことを特徴とする付記１に記載の制御装置。
（付記３）
前記通知パケットは、前記通知パケットの送信元での設定処理の結果を含み、
前記制御部は、前記通知パケットの送信元に設定する設定情報のうちで、設定処理が終了したことが前記通知パケットで通知されていない情報を、前記応答パケットに含める  ことを特徴とする付記１または２に記載の制御装置。
（付記４）
複数の通信装置が複数のグループに分類され、各グループについて、当該グループに属する通信装置に宛てた応答パケットを遅延可能な期間が決定されている場合、前記制御部は、前記通知パケットの送信元を含むグループに対応付けられた期間を、前記通知パケットの送信元に宛てた応答パケットを送信するタイミングを遅延可能な期間として決定する
ことを特徴とする付記２または３に記載の制御装置。
（付記５）
ネットワークを制御する制御装置と通信可能な通信装置であって、
前記通信装置での処理負荷が、前記通信装置に対する設定情報を含むパケットの受信が可能な場合の負荷を表す閾値未満である場合、前記制御装置宛てに、パケットを受信可能であることを通知する通知パケットを生成する制御部と、
前記通知パケットを前記制御装置に送信する送信部と、
前記通知パケットに応答する応答パケットを受信する受信部と、
前記応答パケットに含まれている設定情報を用いた設定処理を行う設定処理部
を備えることを特徴とする通信装置。
（付記６）
前記設定処理部での設定処理の結果を記憶する記憶部をさらに備え、
前記制御部は、前記応答パケットの受信後に前記通信装置での処理負荷が前記閾値未満であることを通知するために生成される他の通知パケットに、前記設定結果を含める
ことを特徴とする付記５に記載の通信装置。
（付記７）
複数の通信装置を含むネットワークを制御する制御装置が、
転送経路の設定要求および前記複数の通信装置の各々からパケットを受信可能であることを通知する通知パケットを受信し、
前記転送経路を設計するとともに、前記複数の通信装置のうちで前記転送経路の生成に使用する通信装置の各々に対して、当該通信装置に設定する設定情報を生成し、
前記設定情報の各々について、当該設定情報の設定先となる通信装置から当該通信装置がパケットを受信可能であることを通知する通知パケットを受信すると、当該設定情報を含む応答パケットを生成し、
前記応答パケットを前記設定情報の設定先となる通信装置へ送信する
処理を行うことを特徴とするネットワークの設定方法。
（付記８）
前記制御装置は、
前記通知パケットの送信元に設定する設定情報が生成されていない場合、前記通知パケットに対する応答を送信するタイミングを遅延可能な期間を特定し、
前記遅延可能な期間が経過するまでに、前記通知パケットの送信元に設定する設定情報を生成すると、前記通知パケットの送信元に設定する設定情報を含めた応答パケットを生成する
ことを特徴とする付記７に記載の設定方法。
（付記９）
前記通知パケットは、前記通知パケットの送信元での設定処理の結果を含み、
前記制御装置は、前記通知パケットの送信元に設定する設定情報のうちで、設定処理が終了したことが前記通知パケットで通知されていない情報を、前記応答パケットに含める
ことを特徴とする付記７または８に記載の設定方法。
（付記１０）
前記制御装置は、
複数の通信装置が複数のグループに分類され、各グループについて、当該グループに属する通信装置に宛てた応答パケットを遅延可能な期間が決定されている場合、前記通知パケットの送信元を含むグループに対応付けられた期間を、前記通知パケットの送信元に宛てた応答パケットを送信するタイミングを遅延可能な期間とする
ことを特徴とする付記８または９に記載の設定方法。
【符号の説明】
【０１３０】
３、１５  オペレーションシステム
５  ユーザ端末
１０  制御サーバ
１１  ネットワーク
２０  制御対象装置
３０  制御サーバ
３１、６１  通信部
３２、６２  送信部
３３、６３  受信部
４０、７０  制御部
４１  要求受付部
４２  生成部
４３  ポーリング制御部
５０、８０  記憶部
５１  設定要求情報
５２  設定情報テーブル
５３  ポーリング受付中テーブル
５４  トポロジ情報
６０  通信装置
７１  ポーリング制御部
７２  設定処理部
７３  判定部
８１  収集情報テーブル
８２  閾値情報
１０１  プロセッサ
１０２  メモリ
１０３  バス
１０４  記憶装置
１０５  回線インタフェース
【図１】
2018019172.tif 000003
【図２】
2018019172.tif 000004
【図３】
2018019172.tif 000005
【図４】
2018019172.tif 000006
【図５】
2018019172.tif 000007
【図６】
2018019172.tif 000008
【図７】
2018019172.tif 000009
【図８】
2018019172.tif 000010
【図９】
2018019172.tif 000011
【図１０】
2018019172.tif 000012
【図１１】
2018019172.tif 000013
【図１２】
2018019172.tif 000014
【図１３】
2018019172.tif 000015
【図１４】
2018019172.tif 000016
【図１５】
2018019172.tif 000017
【図１６】
2018019172.tif 000018
【図１７】
2018019172.tif 000019
【図１８Ａ】
2018019172.tif 000020
【図１８Ｂ】
2018019172.tif 000021
【図１９】
2018019172.tif 000022
【図２０】
2018019172.tif 000023
【図２１】
2018019172.tif 000024