説明

通信システム、冗長化構成の切替方法

【課題】冗長化構成を備える通信システムにおける冗長化構成の切替に際して、ネットワークへの影響を好適に抑制する。
【解決手段】通信システムは、通信パケットの送受信および中継の少なくとも1つを行う通信部と、各々が通信部を制御可能に冗長化された第1の制御部および第2の制御部とを備える。第1の制御部および第2の制御部のうちの一方は、運用系として設定され、他方は、待機系として設定される。この通信システムは、通信部が扱う通信パケットのうちのプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出し、算出したトラフィック指標値に基づいた所定のタイミングで、運用系と待機系とを自動的に切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システムについての冗長化構成の切替技術に関する。
【背景技術】
【0002】
通信システムでは、通信の信頼性を向上させるために、装置または装置内の特定部位を冗長化する技術が知られている。例えば、2系統に冗長化された装置または特定部位は、一方が運用系として設定され、他方が待機系として設定される。運用系と待機系とは、所定のタイミングで切り替えられる(かかる切り替えを以下、冗長切替ともいう)。かかる冗長切替は、従来、以下のように行われていた。
【0003】
第1の例としては、ネットワークの保守者が、監視サーバを用いて、冗長化構成を備える通信システムのトラフィック量の少ない時刻を確認して、その時刻周期で冗長切替を定期的に実施する設定を、当該通信システムに対して行う。トラフィック量は、SNMP(Simple Network Management Protocol)のGET REQUESTなどを用いて、定期的に取得することができる。第2の例としては、保守者が、監視サーバを用いて、トラフィック量の少ない時刻に、冗長化構成を備える通信システムに対して冗長切替コマンドを投入し、手動操作によって冗長切替を行う。
【0004】
これらのように、トラフィック量の少ない時刻に冗長切替を行うことによって、冗長切替に伴うネットワークへの影響を抑制することができる。しかしながら、ネットワークへの影響を抑制することは、重要な課題であり、さらなる改善が求められていた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−239645号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の問題の少なくとも一部を考慮し、本発明が解決しようとする課題は、冗長化構成を備える通信システムにおける冗長化構成の切替に際して、ネットワークへの影響を好適に抑制することである。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0008】
[適用例1]通信システムであって、
通信パケットの送受信および中継の少なくとも1つを行う通信部と、
各々が前記通信部を制御可能な第1の制御部および第2の制御部と、
前記通信部が扱う通信パケットのうちの所定のプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出する算出部と、
前記第1の制御部および前記第2の制御部のうちの一方に設定された運用系と、他方に設定された待機系とを、前記算出したトラフィック指標値に基づいた所定のタイミングで、自動的に切り替える切替部と
を備えた通信システム。
【0009】
プロトコルパケットは、ネットワークの経路構築や、保守・運用を行う上で、重要な役割を担っている。適用例1の通信システムによれば、所定期間ごとのプロトコルパケットのトラフィック指標値に基づいたタイミングで、運用系と待機系とを切り替えるので、当該切替に伴うネットワークへの影響を好適に抑制することができる。例えば、通信パケットの種別を考慮せずに、トラフィック量に基づいたタイミングで、運用系と待機系とを切り替える構成と比べて、ネットワークへの影響をいっそう抑制することができる。しかも、適用例1の通信システムによれば、運用系と待機系とは、自動的に切り替えられるので、ユーザは、必ずしも、手動操作で切替を行う必要がない。その結果、ユーザの管理負担を軽減することができる。
【0010】
[適用例2]前記算出部は、前記所定のプロトコルパケットの種類に応じて設定された重み付け値を用いて、前記トラフィック量を重み付けて、前記トラフィック指標値を算出する適用例1記載の通信システム。
【0011】
かかる構成の通信システムによれば、運用系と待機系との切替のタイミングは、プロトコルパケットの種類に応じたネットワークへの影響度を反映したものとすることができる。したがって、運用系と待機系との切替に伴うネットワークへの影響を、より精度良く抑制することができる。
【0012】
[適用例3]前記切替部は、前記算出部の算出結果の更新に伴い、該更新された算出結果に応じて、前記所定のタイミングを変更する適用例1または適用例2記載の通信システム。
【0013】
かかる構成の通信システムによれば、ネットワークにおけるプロトコルパケットのトラフィック量の時間的な偏りの特性が変化した場合にも、その変化に好適に追随して、運用系と待機系との切替に伴うネットワークへの影響を好適に抑制することができる。
【0014】
[適用例4]適用例1ないし適用例3のいずれか記載の通信システムであって、前記算出部の算出結果に基づく情報を出力する出力部と、ユーザ操作に基づいて入力される、前記運用系と前記待機系との切替指示を受け付ける受付部とを備え、前記切替部は、前記受付部が前記切替指示を受け付けた場合に、該切替指示に基づくタイミングで前記切替を行う通信システム。
【0015】
かかる構成の通信システムによれば、ユーザは、出力された、算出結果に基づく情報を確認して、運用系と待機系との切替のタイミングを決定し、手動操作に基づいて切替指示を行って、決定した所望のタイミングで、運用系と待機系との切替を行うことができる。なお、算出部の算出結果に基づく情報とは、例えば、トラフィック指標値そのものであってもよいし、トラフィック指標値に基づいて設定された、運用系と待機系との切替のタイミングを表す情報であってもよい。
【0016】
[適用例5]適用例4記載の通信システムであって、前記切替部は、前記所定のタイミングを、階層的な時間情報として設定し、前記受付部が前記切替指示を受け付けた場合に、前記階層的な時間情報のうちの、最上位の階層を除く1以上の所定の階層で規定される時間に達したときを、前記切替指示に基づくタイミングとして、前記切替を行う通信システム。
【0017】
かかる構成の通信システムによれば、ユーザの手動操作に基づいて運用系と待機系との切替を行う際にも、トラフィック指標値に基づいたタイミングを一部反映させたタイミングで切替を行うことができる。その結果、切替に伴うネットワークへの影響を抑制することができる。また、ユーザの操作負担が軽減される。
【0018】
[適用例6]前記通信システムは、前記第1の制御部と前記第2の制御部とを備えた単一の装置である適用例1ないし適用例5のいずれか記載の通信システム。
【0019】
通信システムは、単一の装置として構成することができる。
【0020】
[適用例7]適用例1ないし適用例5のいずれか記載の通信システムであって、前記通信システムは、第1の装置と第2の装置とを備え、前記第1の装置は、前記第1の制御部と、該第1の制御部によって制御される、前記通信部としての第1の通信部と、前記算出部と、前記切替部とを備え、前記第2の装置は、前記第2の制御部と、該第2の制御部によって制御される、前記通信部としての第2の通信部と、前記算出部と、前記切替部とを備える通信システム。
【0021】
通信システムは、複数の装置として構成することもできる。
【0022】
[適用例8]通信システムであって、通信パケットの送受信および中継の少なくとも1つを行う通信部と、各々が前記通信部を制御可能な第1の制御部および第2の制御部と、前記通信部が扱う通信パケットのうちの所定のプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出する算出部と、前記算出部の算出結果に基づく情報を出力する出力部と、ユーザ操作に基づいて入力される、前記第1の制御部および前記第2の制御部に設定された運用系と待機系との切替指示を受け付ける受付部と、前記第1の制御部および前記第2の制御部のうちの一方に設定された運用系と、他方に設定された待機系とを、前記受け付けた切替指示に基づくタイミングで切り替える切替部とを備えた通信システム。
【0023】
かかる構成の通信システムによれば、ユーザは、出力された、設定された期間ごとのトラフィック指標値に基づく情報を確認して、運用系と待機系との切替のタイミングを決定し、手動操作に基づいて切替指示を行って、決定した所望のタイミングで、運用系と待機系との切替を行うことができる。ユーザは、設定された期間ごとのトラフィック指標値に基づく情報を確認できるので、ネットワークへの影響を抑制できるタイミングを決定することができる。
【0024】
[適用例9]通信システムであって、通信パケットの送受信および中継の少なくとも1つを行う通信部と、各々が前記通信部を制御可能な第1の制御部および第2の制御部と、前記通信部が扱う通信パケットのうちの、所定のプロトコルパケットと、該所定のプロトコルパケット以外の前記通信パケットである非プロトコルパケットとを少なくとも区分し、該区分に応じて設定された重み付け値を用いて前記通信パケットの所定期間ごとのトラフィック量を重み付けて、予め設定された期間ごとにトラフィック指標値を算出する算出部と、前記第1の制御部および前記第2の制御部のうちの一方に設定された運用系と、他方に設定された待機系とを、前記算出したトラフィック指標値に基づいた所定のタイミングで、自動的に切り替える切替部とを備えた通信システム。
【0025】
かかる通信システムによれば、非プロトコルパケットに係る通信に与える影響についても反映したタイミングで、運用系と待機系とを切り替えることができる。
【0026】
また、本発明は、適用例10の冗長化構成の切替方法としても実現することができる。
[適用例10]通信パケットの送受信および中継の少なくとも1つを行う通信部と、各々が前記通信部を制御可能な第1の制御部および第2の制御部とを備える通信システムにおいて、前記第1の制御部および前記第2の制御部に設定される運用系と待機系とを切り替える冗長化構成の切替方法であって、前記通信部が扱う通信パケットのうちの所定のプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出し、前記算出したトラフィック指標値に基づいた所定のタイミングで、前記運用系と前記待機系とを切り替える冗長化構成の切替方法。
【0027】
また、本発明は、上述した通信システムに用いるプログラム、当該プログラムを記録した記録媒体などとしても実現することができる。
【図面の簡単な説明】
【0028】
【図1】本発明の通信システムの第1実施例としての中継装置40を用いたネットワークシステム30の概略構成を示す説明図である。
【図2】中継装置40の概略構成を示す説明図である。
【図3】解析フローテーブル131の具体例を示す説明図である。
【図4】コンフィグレーションテーブル132の具体例を示す説明図である。
【図5】解析データテーブル140の具体例を示す説明図である。
【図6】受信処理部111の処理の流れを示すフローチャートである。
【図7】送信処理部112の処理の流れを示すフローチャートである。
【図8】中継処理部113の処理の流れを示すフローチャートである。
【図9】解析データテーブル140が更新された様子を示す説明図である。
【図10】集計用単位毎計算結果テーブル161の具体例を示す説明図である。
【図11】集計用単位毎計算結果テーブル162の具体例を示す説明図である。
【図12】平均計算処理部121の処理の流れを示すフローチャートである。
【図13】集計用単位毎計算結果テーブル161が更新された様子を示す説明図である。
【図14】集計用単位毎計算結果テーブル162が更新された様子を示す説明図である。
【図15】冗長切替タイミング計算処理部123の処理の流れを示すフローチャートである。
【図16】冗長切替タイミング保持テーブル170の具体例を示す説明図である。
【図17】冗長切替タイミング保持テーブル170が更新された様子を示す説明図である。
【図18】冗長切替制御部124の処理(第1の処理)の流れを示すフローチャートである。
【図19】冗長切替制御部124の処理(第2の処理)の流れを示すフローチャートである。
【図20】冗長切替タイミング出力部122の処理の流れを示すフローチャートである。
【図21】本発明の通信システムの第2実施例としての中継装置40a,40bを用いたネットワークシステム30aの概略構成を示す説明図である。
【図22】中継装置40aの概略構成を示す説明図である。
【図23】コンフィグレーションテーブル132aの具体例を示す説明図である。
【図24】冗長切替制御部124aの処理(第1の処理)の流れを示すフローチャートである。
【図25】VRRP制御部180aの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0029】
A.第1実施例:
A−1.システム構成:
本発明の通信システムの第1実施例としての中継装置40を用いたネットワークシステム30の概略構成を図1に示す。ネットワークシステム30は、中継装置40,50,60と、監視サーバ70とを備えている。中継装置50は、中継装置40と接続され、中継装置40は、中継装置60と接続されている。
【0030】
中継装置40,50,60は、通信パケットを受信し、受信した通信パケットを所定の宛先に中継する中継装置である。なお、本願における通信パケットとは、OSI参照モデルにおけるデータリンク層(レイヤ2)で扱われるフレームと、ネットワーク層(レイヤ3)で扱われる狭義のパケットと、トランスポート層(レイヤ4)で扱われるフレームとを含む、データの転送単位の総称である。本実施例においては、中継装置40,50,60は、レイヤ3で通信パケットを中継するルータである。ただし、中継装置40,50,60は、ルータに限られるものではなく、レイヤ3で通信パケットを中継するレイヤ3スイッチであってもよい。もとより、中継装置40,50,60は、レイヤ2で通信パケットを中継する中継装置や、レイヤ4でトラフィックの分散化等を行うレイヤ4スイッチなどであってもよい。
【0031】
かかる中継装置40,50,60は、図1にトラフィックT1として図示するように、図示しない端末等の送受信する通信パケットを中継する。また、中継装置40,50,60は、図1にトラフィックT2,T3として図示するように、隣接する中継装置間で、トラフィックT1の通信を行うためのプロトコルパケットを相互に送受信している。プロトコルパケットとは、通信経路の構築、ネットワークの保守・運用などを目的としてノード間で交換される、レイヤ2、レイヤ3、または、レイヤ4の制御パケットである。こうしたプロトコルパケットとしては、例えば、ARP(Address Resolution Protocol)、NDP(Neighbour Discovery Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Routing Protocol)などのプロトコルの通信パケットを例示することができる。
【0032】
かかる中継装置40,50,60のうちの、本発明の通信システムの実施例としての中継装置40は、第1の制御部100と第2の制御部200とを備えている。第1の制御部100および第2の制御部200は、各々が単独で、中継装置40が備える回線部300の制御を行う機能を備えている。第1の制御部100と第2の制御部200とは、同一の構成を備えている。つまり、第1の制御部100および第2の制御部200は、中継装置40の動作の信頼性を向上させるために、冗長化された構成を有している。第1の制御部100および第2の制御部200のうちの一方は、運用系として設定され、他方は、待機系として設定される。図1では、第1の制御部100が運用系として設定され、第2の制御部200が待機系として設定されている様子を示している。以下では、第1の制御部100が運用系として設定され、第2の制御部200が待機系として設定されているものとして、説明する。なお、中継装置50,60は、本実施例では、汎用の中継装置である。
【0033】
かかる中継装置40,50,60の各々には、監視サーバ70が接続されている。監視サーバ70は、中継装置40,50,60の各々についての、トラフィック量を監視する。この監視サーバ70は、例えば、図1に示すトラフィックT4によって、SNMP GET REQUESTなどを用いて、中継装置40のトラフィック量を取得することができる。また、監視サーバ70は、トラフィックT4によって、中継装置40に対して、運用系と待機系とを切り替える冗長切替指示を送信することができる。中継装置40は、冗長切替指示を受信すると、当該指示に基づいて、第1の制御部100と第2の制御部200との間で冗長切替を実行する。また、中継装置40は、監視サーバ70からの指示に関係なく、自動的に冗長切替を行うことも可能である。この自動的な冗長切替の構成については、後述する。
【0034】
A−2.中継装置40の構成:
中継装置40の概略構成を図2に示す。図示するように、中継装置40は、第1の制御部100と第2の制御部200と回線部300とを備えている。回線部300は、複数の物理ポートを備え、通信パケットの送受信を行うインタフェースである。第1の制御部100および第2の制御部200は、CPUとメモリとを備える制御回路として構成され、回線部300の動作を制御する。
【0035】
第1の制御部100および第2の制御部200は、上述の通り、冗長化された構成を有している。本実施例では、第1の制御部100と第2の制御部200とは、同一の構成であり、図2では、第1の制御部100の構成のみを詳細に示し、第2の制御部200の詳細については、図示を省略している。なお、第1の制御部100と第2の制御部200とは、必ずしも同一の構成を有する必要はなく、下に説明する第1の制御部100の構成を、第1の制御部100および第2の制御部200が共に備えていればよい。第1の制御部100と第2の制御部200は、中継装置40が処理したプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間(上述の所定期間と同一の期間でもよいし、当該所定期間よりも長い期間でもよい)ごとのトラフィック指標値を算出し、その算出結果に基づいて、冗長切替のタイミングを設定し、その設定したタイミングでの自動的な冗長切替を制御する。
【0036】
第1の制御部100は、図2に示すように、パケット解析処理部110、平均計算処理部121、冗長切替タイミング出力部122、冗長切替タイミング計算処理部123、冗長切替制御部124を備えている。これらの機能は、第1の制御部100が備えるCPUが、所定のプログラムを実行することによって、実現される。
【0037】
なお、パケット解析処理部110および平均計算処理部121は、請求項の算出部に該当する。冗長切替タイミング計算処理部123および冗長切替制御部124は、請求項の切替部に該当する。冗長切替タイミング出力部122は、請求項の出力部に該当する。また、上述した回線部300は、請求項の通信部および受付部に該当する。
【0038】
第1の制御部100が備えるメモリ領域には、コンフィグレーション領域130と、解析データテーブル140と、計算結果データ領域150とが確保されている。コンフィグレーション領域130には、解析フローテーブル131と、コンフィグレーションテーブル132とが確保されている。解析フローテーブル131およびコンフィグレーションテーブル132には、ユーザが入力した設定情報が格納される。
【0039】
解析フローテーブル131には、冗長切替のタイミングを設定するための基礎データとなるプロトコルパケットの種別と、重み付け値とが格納される。解析フローテーブル131の具体例を図3に示す。図示する例では、解析フローテーブル131には、項番と、解析パケット種別と、重み付け値とが対応付けられて記録されている。解析パケット種別は、トラフィック指標値の算出対象となるプロトコルパケットの種別を示す。重み付け値は、プロトコルパケットの種別の重要度に応じて設定する重み付けの値である。図3に示す例では、例えば、ARPパケットに重み付け値「2」が設定されている。なお、重み付けは、必須ではなく、重み付けを行わない場合には、ユーザは、解析パケット種別のみを解析フローテーブル131に登録してもよい。
【0040】
コンフィグレーションテーブル132には、プロトコルパケットのトラフィック量の集計を行うための設定情報と、自動的な冗長切替の機能の設定を行うための情報とが格納される。コンフィグレーションテーブル132の具体例を図4に示す。図示する例では、コンフィグレーションテーブル132は、サンプリング周期と、集計用コンフィグと、自動冗長切替機能とが設定可能に構成されている。サンプリング周期は、所定期間ごとにプロトコルパケットのトラフィック量を計算する際の計算単位時間を示す。図4に示す例では、1時間毎に、プロトコルパケットのトラフィック量が計算される。つまり、プロトコルパケットの1時間ごとのトラフィック量が抽出可能に設定されている。なお、サンプリング周期は、後述する集計用サンプリング周期と同じ、または、当該周期よりも短く適宜設定すればよい。
【0041】
集計用コンフィグは、プロトコルパケットのトラフィック量に基づいて、トラフィック指標値の集計を行うための設定情報である。具体的には、集計用コンフィグは、項番と、集計用サンプリング周期と、集計用単位とを対応付けて設定可能に構成されている。項番は、後述する平均計算結果テーブル160を構成する集計用単位毎計算結果テーブル161,162のテーブル番号を示している。本実施例では、項番「1」は、集計用単位毎計算結果テーブル161に対応し、項番「2」は、集計用単位毎計算結果テーブル162に対応している。集計用サンプリング周期は、項番に対応する集計用単位毎計算結果テーブルに格納するプロトコルパケットのトラフィック指標値のサンプリング(集計)周期を示している。
【0042】
集計用単位は、集計用単位毎計算結果テーブルに格納される集計結果の1周期(集計を行う期間単位)を示している。図4に示す例では、例えば、項番1、集計用サンプリング周期「1時間」、集計用単位「1日」のエントリに基づいて、集計用単位毎計算結果テーブル161に1時間毎のプロトコルパケットのトラフィック指標値が1日分、格納される。集計用単位毎計算結果テーブル161,162の詳細については後述する。なお、集計用単位は、上述の例に限るものではない。例えば、集計用単位に1年や曜日などを設定してもよい。もとより、集計用単位は、暦に基づくものではなく、例えば、2日、8時間などと設定してもよい。
【0043】
自動冗長切替機能は、自動的な冗長切替の機能の設定を行うための情報である。具体的には、自動冗長切替機能は、有効設定と、冗長切替時刻条件とを設定可能に構成されている。有効設定は、自動冗長切替機能が有効であるか無効であるかを表す。冗長切替時刻条件は、冗長切替のタイミングを設定するための条件を表す。図4に示す例では、自動冗長切替機能は「有効」に設定されている。また、冗長切替時刻条件として、「集計用単位全て」が設定されている。「集計用単位全て」とは、集計用コンフィグの各エントリの論理積が冗長切替時刻条件となることを示している。つまり、図4に示す例では、集計用単位「1月」のうちの所定日という条件と、集計用単位「1日」のうちの所定時という条件との論理積が、冗長切替のタイミングとして設定されることを示している。換言すれば、冗長切替のタイミングは、毎月の所定日の所定時として設定される。なお、冗長切替時刻条件は、複数のエントリの排他的論理和で設定されてもよいし、3以上のエントリのうちの、一部分の複数のエントリについての論理積で設定されてもよい。
【0044】
パケット解析処理部110は、通信パケットの受信、送信、または、中継時に、プロトコルパケットのトラフィック量に基づくトラフィック指標値を算出するための所定の計算処理を実行し、その計算結果を解析データテーブル140に格納する。このパケット解析処理部110は、通信パケットの処理の種別に応じて、受信処理部111、送信処理部112、中継処理部113として機能する。これらの機能部の詳細については、解析データテーブル140の説明の後に説明する。
【0045】
解析データテーブル140には、上述したように、パケット解析処理部110による計算処理の結果が格納される。解析データテーブル140の具体例を図5に示す。図示する解析データテーブル140では、項番と、サンプリング期間と、重み付け計算結果とが、対応付けられて記録される。サンプリング期間は、コンフィグレーションテーブル132のサンプリング周期を単位として区切られた期間である。図4に示したコンフィグレーションテーブル132では、サンプリング周期として1時間が設定されているので、解析データテーブル140の各エントリのサンプリング期間は、1時間単位となる。本実施例では、解析データテーブル140の各エントリのサンプリング期間は、サンプリング周期で設定された時間の単位よりも1段階上の概念の時間の単位(ここでは日単位)を周期として繰り返される。つまり、サンプリング期間は、0時〜23時を1単位とする周期で繰り返される。
【0046】
重み付け計算結果は、解析フローテーブル131の項番ごと、つまり、設定されたプロトコルパケットの種類ごとに用意される。重み付け計算結果の各々には、解析フローテーブル131の項番に対応するプロトコルパケットをパケット解析処理部110が処理した数に、当該項番に対応する解析フローテーブル131の重み付け値を乗じた値が、結果的に格納される。例えば、解析フローテーブル131の項番「1」に対応する重み付け計算結果には、項番「1」のサンプリング期間「0」(時刻0時〜1時の間)の期間において、10個のARPパケットがパケット解析処理部110で処理され、その処理数に重み付け値「2」を乗じた値20が、サンプリング期間「0」に対応するエントリに格納されている。なお、解析データテーブル140に格納されるデータは、格納されてから所定期間の経過後、古いものから順次廃棄されてもよい。こうすれば、有限のメモリ容量を効率的に使用することができる。また、解析データテーブル140に格納されたデータを、所望の期間内におけるネットワークのトラフィック状況のみが反映されたものとすることができる。換言すれば、ネットワークの構成や運用方法が大きく変化するなどして、サンプリング期間ごとのトラフィック量の偏りが大きく変化した場合に、変化前の状況がいつまでも解析データテーブル140に反映されることがない。
【0047】
かかる解析データテーブル140に計算結果を格納するパケット解析処理部110の処理について説明する。パケット解析処理部110の受信処理部111の処理の流れを図6に示す。受信処理部111の処理は、回線部300が中継装置40宛の通信パケットを受信した際に開始される。受信処理部111の処理が開始されると、図6に示すように、受信処理部111は、まず、解析フローテーブル131の解析パケット種別のフィールドを検索し、受信した通信パケットの種別に該当するエントリがあるか否かを判断する(ステップS411)。
【0048】
判断の結果、受信した通信パケットに該当するエントリがなければ(ステップS411:NO)、受信処理部111は、処理を終了する。一方、受信した通信パケットに該当するエントリがあれば(ステップS411:YES)、受信処理部111は、解析フローテーブル131の当該エントリの項番を取得する(ステップS412)。項番を取得すると、受信処理部111は、通信パケットを受信した時刻を取得し、当該受信時刻に対応するサンプリング期間を解析データテーブル140から取得する(ステップS413)。
【0049】
サンプリング期間を取得すると、受信処理部111は、解析データテーブル140のうちの、上記ステップS412で取得した項番に対応する重み付け計算結果フィールドの、上記ステップS413で取得したサンプリング期間に対応する箇所の値に、上記ステップS412で取得した項番に対応する解析フローテーブル131の重み付け値を加算する(ステップS414)。こうして、受信処理部111の処理は終了となる。
【0050】
パケット解析処理部110の送信処理部112における処理の流れを図7に示す。送信処理部112の処理は、回線部300が通信パケットを送信した際に開始される。ここでの通信パケットの送信とは、通信パケットの中継を含まない。つまり、送信とは、中継装置40が送信元となる通信パケットの送信を意味する。図9に示すように、ステップS421〜S424の処理は、受信パケットについて行った受信処理部111の処理(上記ステップS411〜S414)を、送信パケットについて行うものである。
【0051】
パケット解析処理部110の中継処理部113における処理の流れを図8に示す。中継処理部113の処理は、回線部300が通信パケットを中継した際に開始される。図8に示すように、ステップS431〜S434の処理は、受信パケットについて行った受信処理部111の処理(上記ステップS411〜S414)を、中継パケットについて行うものである。
【0052】
かかるパケット解析処理部110の処理によって、解析データテーブル140のデータは、回線部300が、解析フローテーブル131に設定されたプロトコルパケットを新たに送受信または中継した際に、随時更新される。解析データテーブル140が更新された様子を図9に示す。図9では、図5に示した解析データテーブル140に対して、一部のデータが更新された様子を示している。具体的には、回線部300が、解析フローテーブル131の項番nとして設定されたプロトコルパケットを、サンプリング期間「3」で新たに1つ送受信または中継したことに伴い、パケット解析処理部110によって、当該項番nに対応する重み付け計算結果フィールドのうちの、項番「28」、サンプリング期間「3」の値が「147」から「150」に更新されている。つまり、更新前の値「147」に対して、項番nの重み付け値「3」が加算されている。
【0053】
ここで、説明を図2に戻す。計算結果データ領域150には、平均計算結果テーブル160と冗長切替タイミング保持テーブル170とが確保されている。平均計算結果テーブル160には、コンフィグレーションテーブル132で設定された集計用単位の数と同数だけ集計用単位毎計算結果テーブルが用意される。図2に示す例では、2つの集計用単位毎計算結果テーブル161,162が用意されている状態を示している。集計用単位毎計算結果テーブル161は、コンフィグレーションテーブル132で設定された集計用単位「1日」に対応し、集計用単位毎計算結果テーブル162は、コンフィグレーションテーブル132で設定された集計用単位「1月」に対応している。
【0054】
平均計算処理部121は、解析データテーブル140に格納された値を用いて、コンフィグレーションテーブル132で設定された集計用サンプリング周期ごとの平均計算処理を実行し、その計算結果を、当該集計用サンプリング周期と対応付けられた集計用単位に対応する集計用単位毎計算結果テーブル161,162に格納する。平均計算処理部121の処理の詳細については、集計用単位毎計算結果テーブル161,162の説明の後に説明する。
【0055】
集計用単位毎計算結果テーブル161の具体例を図10に示す。図示する集計用単位毎計算結果テーブル161では、項番と、集計用サンプリング期間と、平均計算結果とが、対応付けられて記録される。集計用サンプリング期間は、集計用単位毎計算結果テーブル161に対応するコンフィグレーションテーブル132の項番「1」に対応する集計用単位(1日)を、当該集計用単位に対応する集計用サンプリング周期(1時間)ごとに区切った各々の期間である。例えば、集計用サンプリング期間「1」は、時刻1時〜2時の1時間の期間であることを示す。平均計算結果は、解析データテーブル140に格納された重み付け計算結果の和の、集計用サンプリング期間ごと(ここでは時間単位)の平均値である。例えば、集計用サンプリング期間「1」の平均計算結果は、解析データテーブル140のサンプリング期間「1」に対応するエントリごとに、重み付け計算結果の各々の和を算出し、当該和を、複数の日のサンプリング期間「1」の間で、つまり、サンプリング期間「1」の各々のエントリ間で平均した値である。図5に示した例を用いれば、集計用サンプリング期間「1」の平均計算結果は、項番2の重み付け計算結果の和(40+30+・・・+150)と、項番26の重み付け計算結果の和(38+30+・・・+150)との平均値である。集計用サンプリング期間「1」の平均計算結果「73.3」は、時刻1時〜2時の1時間の期間における重み付け計算結果の和の日ごとの値の平均値が値73.3であることを示している。
【0056】
この平均計算結果は、上述したトラフィック指標値に該当する。つまり、本実施例におけるトラフィック指標値とは、プロトコルパケットのトラフィック量を、プロトコルパケットの種別に応じた重み付け値で重み付けた値の平均値である。図10では、各々の集計用サンプリング期間の平均計算結果のうちの最小値(値56.7)をハッチングで表示している。詳しくは後述するが、この最小値に対応する集計用サンプリング期間(ここでは「0」)は、冗長切替のタイミングを設定するために用いられる。
【0057】
集計用単位毎計算結果テーブル162の具体例を図11に示す。図示する集計用単位毎計算結果テーブル162では、集計用サンプリング期間は、集計用単位毎計算結果テーブル162の項番「2」に対応するコンフィグレーションテーブル132の集計用単位(1月)を、当該集計用単位に対応する集計用サンプリング周期(1日)ごとに区切った各々の期間である。例えば、集計用サンプリング期間「1」は、暦の1日であることを示す。平均計算結果は、解析データテーブル140に格納された重み付け計算結果の和の、集計用サンプリング期間ごと(ここでは日単位)の平均値である。例えば、集計用サンプリング期間「1」の平均計算結果は、解析データテーブル140の暦1日に対応する24個のエントリにおける重み付け計算結果の各々の和を、複数の月の暦1日間で平均した値である。集計用サンプリング期間「1」の平均計算結果「4213.3」は、暦の1日における重み付け計算結果の和の月ごとの値の平均値が値4213.3であることを示している。
【0058】
この平均計算結果は、上述したトラフィック指標値に該当する。図11では、各々の集計用サンプリング期間の平均計算結果のうちの最小値(値3973.3)をハッチングで表示している。詳しくは後述するが、この最小値に対応する集計用サンプリング期間(ここでは「2」)は、冗長切替のタイミングを設定するために用いられる。
【0059】
かかる集計用単位毎計算結果テーブル161,162に平均計算結果を格納する平均計算処理部121の処理について説明する。平均計算処理部121の処理の流れを図12に示す。平均計算処理部121の処理は、コンフィグレーションテーブル132のいずれかの集計用単位に相当する時間が経過するたびに、繰り返し実行される。平均計算処理部121の処理が開始されると、図12に示すように、平均計算処理部121は、まず、コンフィグレーションテーブル132の集計用単位の項番のうちの、未選択の項番の1つを選択する(ステップS510)。
【0060】
項番の1つを選択すると、平均計算処理部121は、解析データテーブル140に格納されたデータを用いて、コンフィグレーションテーブル132の上記ステップS510で選択した項番に対応する集計用サンプリング周期ごとに平均値を計算する(ステップS520)。例えば、上記ステップS510で項番1を選択した場合には、集計用サンプリング周期「1時間」ごとに、すなわち、集計用単位毎計算結果テーブル161の集計用サンプリング期間の各々について、当該集計用サンプリング期間に対応する解析データテーブル140の全ての項番の重み付け計算結果を用いて、平均値を集計用単位「1日」分算出する。
【0061】
平均値を算出すると、平均計算処理部121は、平均計算結果テーブル160に格納された集計用単位毎計算結果テーブルのうちの、上記ステップS510で選択した項番に対応する集計用単位毎計算結果テーブルに対して、対応する集計用サンプリング期間の平均計算結果の領域に、算出した平均値を登録する(ステップS530)。
【0062】
平均値を登録すると、平均計算処理部121は、上記ステップS510において、コンフィグレーションテーブル132の集計用単位の全ての項番を選択するまで、上記ステップS510〜530の処理を繰り返す(ステップS540)。こうして、平均計算処理部121の処理は終了となる。
【0063】
かかる平均計算処理部121の処理によって、集計用単位毎計算結果テーブル161,162のデータは、平均計算処理部121の処理が実行されるたびに、随時更新される。集計用単位毎計算結果テーブル161が更新された様子を図13に示す。図示するように、集計用単位毎計算結果テーブル161における平均計算結果の最小値は、図10に示した集計用サンプリング期間「0」における値56.7から、集計用サンプリング期間「3」における値63.4に変化している。同様に、集計用単位毎計算結果テーブル162が更新された様子を図14に示す。図示するように、集計用単位毎計算結果テーブル162における平均計算結果の最小値は、図11に示した集計用サンプリング期間「2」における値3973.3から、集計用サンプリング期間「5」における値3950.7に変化している。
【0064】
ここで説明を図2に戻す。冗長切替タイミング計算処理部123は、平均計算結果テーブル160の値を用いて最適な冗長切替タイミングを計算し、冗長切替タイミング保持テーブル170に格納する。
【0065】
かかる冗長切替タイミング計算処理部123の処理の流れを図15に示す。冗長切替タイミング計算処理部123の処理は、平均計算処理部121の処理が終了した際に開始される。冗長切替タイミング計算処理部123の処理が開始されると、図15に示すように、冗長切替タイミング計算処理部123は、まず、平均計算結果テーブル160に用意された各々の集計用単位毎計算結果テーブル161,162のうちの、未選択の集計用単位毎計算結果テーブルの1つを選択する(ステップS610)。
【0066】
1つの集計用単位毎計算結果テーブルを選択すると、冗長切替タイミング計算処理部123は、選択した集計用単位毎計算結果テーブルの平均計算結果の最小値を検索する(ステップS620)。最小値を検索すると、冗長切替タイミング計算処理部123は、検索した最小値に対応する集計用サンプリング期間に相当する時間情報を冗長切替タイミング保持テーブル170に登録する(ステップS630)。集計用サンプリング期間を登録すると、冗長切替タイミング計算処理部123は、上記ステップS610において、全ての集計用単位毎計算結果テーブルを選択するまで、上記ステップS610〜630の処理を繰り返す(ステップS640)。こうして、平均計算処理部121の処理は終了となる。
【0067】
かかる冗長切替タイミング計算処理部123の処理によって、集計用サンプリング期間が登録される冗長切替タイミング保持テーブル170の具体例を図16に示す。図示するように、冗長切替タイミング保持テーブル170には、項番と冗長切替タイミングとが対応付けられて記録される。項番は、コンフィグレーションテーブル132の項番、換言すれば、集計用単位毎計算結果テーブル161,162に対応している。具体的には、項番「1」は、集計用単位毎計算結果テーブル161に対応し、項番「2」は、集計用単位毎計算結果テーブル162に対応している。冗長切替タイミングは、項番に対応する集計用単位毎計算結果テーブルの平均計算結果の各々の値のうちの最小値に対応する集計用サンプリング期間、すなわち、上記ステップS630で登録する集計用サンプリング期間である。
【0068】
図16に示す例では、項番「1」の冗長切替タイミングとして、図10に示した集計用単位毎計算結果テーブル161の平均計算結果の最小値「56.7」に対応する集計用サンプリング期間「0」に相当する「0時」が格納されている。本実施例では、集計用サンプリング期間「0」は、上述したように、0〜1時の時間を示すが、本実施例では、集計用サンプリング期間「0」が示す期間の始期を、冗長切替タイミングとして登録する構成としている。ただし、冗長切替タイミングとして登録する時間情報は、集計用サンプリング期間「0」が示す期間中で設定すればよく、例えば、終期で設定してもよいし、中央時刻で設定してもよい。また、図16に示す例では、項番「2」の冗長切替タイミングとして、図11に示した集計用単位毎計算結果テーブル162の平均計算結果の最小値「3973.3」に対応する集計用サンプリング期間「2」に相当する「2日」が格納されている。
【0069】
本実施例においては、コンフィグレーションテーブル132の冗長切替時刻条件には、「集計用単位全て」が設定されている。このため、冗長切替タイミング保持テーブル170には、図16に示したように、コンフィグレーションテーブル132に設定された項番1,2の集計用単位の各々に対応する冗長切替タイミングの値が格納される。コンフィグレーションテーブル132の冗長切替時刻条件が、例えば、1つの集計用単位を指定するものであれば、冗長切替タイミング保持テーブル170には、指定された集計用単位に対応する冗長切替タイミングの値のみが格納される。冗長切替タイミング保持テーブル170に複数の冗長切替タイミングの値が設定される場合、第1の制御部100と第2の制御部200との冗長切替タイミングは、当該複数の値の論理積を意味する。つまり、図16に例示した冗長切替タイミング保持テーブル170の登録内容は、第1の制御部100と第2の制御部200との冗長切替のタイミングが、毎月の2日の0時であることを示している。
【0070】
かかる冗長切替タイミング保持テーブル170の登録内容は、冗長切替タイミング計算処理部123の処理が実行されるたびに、随時更新される。冗長切替タイミング保持テーブル170が更新された様子を図17に示す。図示するように、冗長切替タイミング保持テーブル170における冗長切替タイミングは、図16に示した冗長切替タイミングから更新されている。この更新後の内容は、図13および図14に示した、更新後の集計用単位毎計算結果テーブル161,162に基づいて、更新されたものである。具体的には、集計用単位毎計算結果テーブル161の更新後の最小値に対応する集計用サンプリング期間「3」に相当する「3時」と、集計用単位毎計算結果テーブル162の更新後の最小値に対応する集計用サンプリング期間「5」に相当する「5日」に更新されている。
【0071】
ここで、説明を図2に戻す。冗長切替制御部124は、中継装置40の初期設定に基づいて、第1の制御部100を運用系、または、待機系に設定する。また、冗長切替制御部124は、第1の制御部100と第2の制御部200との冗長切替の制御を行う。この冗長切替制御部124が冗長切替を制御する処理は、コンフィグレーションテーブル132の設定に基づいて自動的な冗長切替を行う処理(以下、第1の処理ともいう)と、ユーザ操作に基づいて、監視サーバ70から切替指示を受信し、当該切替指示に基づいて冗長切替を行う処理(以下、第2の処理ともいう)とに分類することができる。以下、第1の処理と第2の処理とについて説明する。なお、中継装置40がパーソナルコンピュータに接続可能なインタフェースを備える場合には、切替指示は、当該インタフェースに接続されたパーソナルコンピュータから受け付けてもよい。あるいは、中継装置40がタッチパネル式ディスプレイなどの種々の入力機構を備える場合には、切替指示は、当該入力機構から受け付けてもよい。
【0072】
冗長切替制御部124における第1の処理の流れを図18に示す。第1の処理は、中継装置40の起動と共に開始され、その後、繰り返し実行される。図示するように、第1の処理が開始されると、冗長切替制御部124は、まず、コンフィグレーションテーブル132の自動冗長切替機能の有効設定の値を取得し、自動冗長切替機能が有効に設定されているか否かを判断する(ステップS710)。判断の結果、自動冗長切替機能が無効であれば(ステップS710:NO)、冗長切替制御部124は、第1の処理を終了する。
【0073】
一方、自動冗長切替機能が有効であれば(ステップS710:YES)、冗長切替制御部124は、冗長切替タイミング保持テーブル170を参照して、冗長切替タイミングが登録されているか否かを判断する(ステップS720)。この判断は、コンフィグレーションテーブル132の冗長切替時刻条件で設定された全ての集計用単位の項番に対して冗長切替タイミングが登録されているか否かを判断するものである。
【0074】
判断の結果、冗長切替タイミングが登録されていなければ(ステップS720:NO)、平均計算結果テーブル160への平均計算結果の蓄積が十分ではないということである。換言すれば、中継装置40の使用が開始されてから、ユーザが意図する冗長切替の周期に相当する期間が経過していないということである。そのため、この段階では、冗長切替を実行する必要がない。そこで、冗長切替制御部124は、第1の処理を終了する。
【0075】
一方、冗長切替タイミングが登録されていれば(ステップS720:YES)、冗長切替制御部124は、現在時刻を取得し(ステップS730)、冗長切替タイミング保持テーブル170に登録された冗長切替タイミングに達しているか否かを判断する(ステップS740)。その結果、冗長切替タイミングに達していなければ(ステップS740:NO)、冗長切替制御部124は、第1の処理を終了する。一方、冗長切替タイミングに達していれば(ステップS740:YES)、冗長切替制御部124は、第1の制御部100と第2の制御部200との冗長切替を実行する(ステップS750)。具体的には、冗長切替制御部124は、第2の制御部200に対して、待機系から運用系に切り替わるように指示を出すと共に、第1の制御部100を運用系から待機系に切り替える。
【0076】
こうして、第1の処理は、終了となる。第1の処理は、繰り返し実行されるので、第1の処理は、第1の制御部100を運用系とした中継装置40の使用が一定期間、つまり、ユーザがコンフィグレーションテーブル132に設定した集計用単位の最大値に相当する期間に達した後、冗長切替タイミング保持テーブル170に登録された冗長切替タイミングで冗長切替を実行することを意味している。なお、本実施例においては、コンフィグレーションテーブル132の自動冗長切替機能の有効設定が「無効」に設定されている場合であっても、上述したパケット解析処理部110、平均計算処理部121、冗長切替タイミング計算処理部123の処理は実行されるものとした。こうすれば、中継装置40の使用途中で、自動冗長切替機能の有効設定を無効から有効に切り替えたとしても、当該切替時には、既に、トラフィック指標値(平均計算結果テーブル160の平均計算結果)が蓄積され、冗長切替タイミング保持テーブル170に冗長切替タイミングが格納されていることになる。その結果、自動冗長切替を円滑に開始することができる。ただし、自動冗長切替機能の有効設定が「無効」に設定されている場合には、パケット解析処理部110、平均計算処理部121、冗長切替タイミング計算処理部123の処理は実行されないものとしてもよい。勿論、何れか一方の構成を選択的に設定できるものであってもよい。
【0077】
冗長切替制御部124における第2の処理の流れを図19に示す。第2の処理は、監視サーバ70においてユーザが入力した冗長切替指示を、中継装置40が監視サーバ70から受信した際に開始される。冗長切替制御部124の処理が開始されると、冗長切替制御部124は、まず、コンフィグレーションテーブル132の自動冗長切替機能の有効設定の値を取得し、自動冗長切替機能が有効に設定されているか否かを判断する(ステップS810)。判断の結果、自動冗長切替機能が無効であれば(ステップS810:NO)、冗長切替制御部124は、即刻、冗長切替を実行する(ステップS880)。なお、受信した切替指示に、冗長切替を実行する時間情報が含まれている場合には、当該時間情報に基づく時間に冗長切替を実行してもよい。
【0078】
一方、自動冗長切替機能が有効であれば(ステップS810:YES)、冗長切替制御部124は、冗長切替タイミング保持テーブル170を参照して、冗長切替タイミングが登録されているか否かを判断する(ステップS820)。ここでの判断は、上記ステップS720とは異なる。具体的には、ステップS820では、コンフィグレーションテーブル132の集計用コンフィグに設定された、所定の集計用単位に対応する項番に対して、冗長切替タイミング保持テーブル170に冗長切替タイミングが登録されているか否かを判断する。
【0079】
所定の集計用単位とは、本実施例においては、コンフィグレーションテーブル132の集計用コンフィグに設定された集計用単位の最小値(図4の例では1日)である。つまり、ステップS820では、図16に示した冗長切替タイミング保持テーブル170を用いれば、項番「1」に対して、冗長切替タイミングが登録されているか否かを判断する。なお、所定の集計用単位は、コンフィグレーションテーブル132の集計用コンフィグに設定された集計用単位の最小値に限るものではない。冗長切替タイミング保持テーブル170に登録される冗長切替タイミングが、階層的な時間情報、例えば、月/日/時や、月/曜日/時として登録される場合には、冗長切替タイミングが最上位の階層(最も長い期間の階層)を除く1以上の階層で規定される時間となるように適宜設定すればよい。例えば、冗長切替タイミングが、月/日/時で設定される場合、つまり、コンフィグレーションテーブル132の集計用単位が1年,1月および1日で設定される場合には、所定の集計用単位は、1月および1日としてもよい。このとき、所定の集計用単位に対応する冗長切替タイミングは、日/時で規定される時間となる。あるいは、所定の集計用単位は、1月としてもよい。このとき、所定の集計用単位に対応する冗長切替タイミングは、日のみで規定される時間となる。
【0080】
判断の結果、冗長切替タイミングが登録されていれば(ステップS820:YES)、冗長切替制御部124は、所定の集計用単位に対応する項番に対して冗長切替タイミング保持テーブル170に登録された冗長切替タイミングを、受信した切替指示に基づく冗長切替実行タイミングとして設定する(ステップS830)。本実施例では、所定の集計用単位は、コンフィグレーションテーブル132の集計用コンフィグに設定された集計用単位の最小値であるから、図4および図16の例を用いれば、冗長切替実行タイミングは、最小値「1日」(項番「1」)に対応する「0時」となる。
【0081】
このようにして冗長切替実行タイミングを設定すれば、ユーザの手動操作に基づいて冗長切替を行う際にも、トラフィック指標値が小さい時間帯で、冗長切替を行うことができるので、冗長切替に起因するネットワークへの影響を抑制することができる。また、ユーザの操作負担が軽減される。例えば、時間に関係なく、その日のうちに冗長切替を行えばよい状況において、ユーザは、時間を気にすることなく、冗長切替指示を送信するための操作を行えばよい。あるいは、ユーザは、冗長切替指示を送信するための操作を行う際に、トラフィック指標値が小さい時間帯を調べて、当該時間帯を指定する必要がない。
【0082】
一方、冗長切替タイミングが登録されていなければ(ステップS820:NO)、冗長切替制御部124は、解析データテーブル140を参照して、エントリ内の重み付け計算結果の和の最小値を検索する(ステップS840)。最小値を検索すると、冗長切替制御部124は、検索した最小値に対応するエントリのサンプリング期間を、受信した切替指示に基づく冗長切替実行タイミングとして設定する(ステップS850)。
【0083】
このようにして冗長切替実行タイミングを設定すれば、平均計算結果テーブル160への平均計算結果の蓄積が十分ではない場合、例えば、中継装置40の初期使用時においても、トラフィック指標値が小さくなる時間帯で冗長切替を行うことができる。
【0084】
上記ステップS830またはS850で冗長切替実行タイミングを設定すると、冗長切替制御部124は、現在時刻を取得し、設定された冗長切替実行タイミングに達しているか否かを判断する処理を繰り返し(ステップS860,S870)、冗長切替実行タイミングに達した際に(ステップS870:YES)、冗長切替を実行する(ステップS880)。こうして、第2の処理は終了となる。
【0085】
ここで、説明を図2に戻す。冗長切替タイミング出力部122は、ユーザ操作に基づいて監視サーバ70が送信した出力指示を中継装置40が受信した際に、平均計算結果テーブル160に格納されたプロトコルパケットの集計結果に基づく情報を出力する。冗長切替タイミング出力部122の処理を図20に示す。冗長切替タイミング出力部122の処理は、出力指示を受信することによって開始される。なお、中継装置40がパーソナルコンピュータに接続可能なインタフェースを備える場合には、出力指示は、当該インタフェースに接続されたパーソナルコンピュータから受け付けてもよい。あるいは、中継装置40がタッチパネル式ディスプレイなどの種々の入力機構を備える場合には、切替指示は、当該入力機構から受け付けてもよい。
【0086】
冗長切替タイミング出力部122の処理が開始されると、冗長切替タイミング出力部122は、まず、入力された出力指示の内容を判断する(ステップS910)。本実施例においては、監視サーバ70は、冗長切替タイミング表示と、データテーブル全表示とのうちのいずれかを指定して、出力指示を送信可能に構成されている。また、監視サーバ70は、集計用サンプリング周期を指定して、出力指示を送信可能に構成されている。ステップS910では、冗長切替タイミング出力部122は、入力された出力指示が、冗長切替タイミング表示と、データテーブル全表示とのうちのいずれを指定するものかを判断する。
【0087】
判断の結果、出力指示が冗長切替タイミング表示を指定するものであれば(S910:冗長切替タイミング表示)、冗長切替タイミング出力部122は、冗長切替タイミング保持テーブル170を参照して、指定された集計用サンプリング周期に対応する冗長切替タイミングを取得し、出力する(ステップS920)。ここでの出力とは、取得した冗長切替タイミングを表示可能なデータを、監視サーバ70に送信することである。ただし、出力の態様は、データ送信に限られるものではない。例えば、中継装置40が、出力指示を直接的に受付可能なインタフェースと、ディスプレイとを備えている場合には、冗長切替タイミング出力部122は、取得した冗長切替タイミングをディスプレイに表示してもよい。なお、集計用サンプリング周期の指定がない場合には、冗長切替タイミング出力部122は、冗長切替タイミング保持テーブル170に格納された全ての冗長切替タイミングを出力する。
【0088】
一方、出力指示がデータテーブル全表示を指定するものであれば(S910:データテーブル全表示)、冗長切替タイミング出力部122は、平均計算結果テーブル160を参照して、指定された集計用サンプリング周期に対応する集計用単位毎計算結果テーブルを取得するとともに、冗長切替タイミング保持テーブル170を参照して、指定された集計用サンプリング周期に対応する冗長切替タイミングを取得し、取得結果を出力する(ステップS930)。
【0089】
なお、出力対象は、上述の例に限らず、プロトコルパケットのトラフィック量の集計結果に基づくものであればよい。例えば、平均計算結果テーブルのみを出力するものであってもよい。あるいは、解析データテーブル140を出力するものであってもよい。
【0090】
かかる冗長切替タイミング出力部122の処理によれば、ユーザは、手動操作に基づいて冗長切替を行いたい場合に、所望の時間周期における、重み付けられたプロトコルパケットのトラフィック量、すなわち、トラフィック指標値を確認することができる。したがって、ネットワークへの影響が小さい時間帯に、あるいは、ネットワークへの影響が小さい時間帯を指定して、中継装置40に冗長切替指示を与えることができる。
【0091】
A−3.効果:
上述した中継装置40によれば、ネットワークの経路構築や、保守・運用を行う上で、重要な役割を担っているプロトコルパケットに基づいて、所定期間ごとのトラフィック指標値を算出し、当該トラフィック指標値に基づいたタイミングで、第1の制御部100と第2の制御部200との間での冗長切替を行うので、冗長切替に伴うネットワークへの影響を好適に抑制することができる。例えば、通信パケットの種別を考慮せずに、トラフィック量に基づいたタイミングで、冗長切替を行う構成と比べて、ネットワークへの影響をいっそう抑制することができる。つまり、単なるトラフィック量ではなく、各々のトラフィックの重要性を考慮して、冗長切替のタイミングを設定することができる。しかも、冗長切替は、自動的に行われるので、ユーザは、必ずしも手動操作で切替を行う必要がない。その結果、ユーザの管理負担を軽減することができる。
【0092】
また、中継装置40によれば、プロトコルパケットの種類に応じて、重み付けを行ってトラフィック指標値を算出するので、プロトコルパケットの種類に応じたネットワークへの影響度を反映したタイミングで、冗長切替を行うことができる。したがって、冗長切替に伴うネットワークへの影響を、より精度良く抑制することができる。
【0093】
また、中継装置40によれば、時間の経過に伴って、中継装置40内に蓄積されるトラフィック指標値が更新されると、当該更新結果に応じて、冗長切替タイミングが随時変更される。したがって、ネットワーク構成の変更や、運用方法の変更に伴って、ネットワークにおけるプロトコルパケットのトラフィック量の時間的な偏りの特性が変化した場合にも、その変化に好適に追随して、冗長切替に伴うネットワークへの影響を好適に抑制することができる。
【0094】
B.第2実施例:
本発明の通信システムの第2実施例としての中継装置40a,40bを用いたネットワークシステム30aの概略構成を図21に示す。図21において、第1実施例のネットワークシステム30(図1参照)と同一の構成については、図1と同一の符号を付して、説明を省略し、第1実施例と異なる点についてのみ説明する。ネットワークシステム30aは、中継装置40a,40bと中継装置60と監視サーバ70とを備えている。中継装置40a,40bは、装置単位で冗長化された冗長構成を備えている。本実施例においては、中継装置40aと中継装置40bとは、VRRP(Virtual Router Redundancy Protocol)を用いて、一方がマスタ(運用系)に設定され、他方がバックアップ(待機系)に設定される。図21では、中継装置40aがマスタとして設定され、中継装置40bがバックアップとして設定された様子を示している。以下では、中継装置40aがマスタとして設定され、中継装置40bがバックアップとして設定されているものとして説明する。
【0095】
VRRPは、周知の技術であるので、詳しい説明は省略するが、VRRPでは、同一のVRRPグループ内の中継装置間で、自機に設定された優先度を含むADVERTISEMENTパケットをやり取りし、優先度が最も高い中継装置がマスタとして動作し、その他の中継装置はバックアップとして動作する。
【0096】
図21に示すように、中継装置40a,40b,60は、トラフィックT11,T12によって、図示しない端末の送受信する通信パケットを中継する。また、中継装置40a,40bは、トラフィックT13〜T16によって、中継装置60や、ネットワークNT内の通信装置(図示省略)との間で、プロトコルパケットを相互に送受信している。また、監視サーバ70は、トラフィックT17,T18によって、中継装置40a,40bのトラフィック量を取得することができる。
【0097】
本実施例では、中継装置40a,40bは、同一の構成を備えている。中継装置40a,40bを代表して、中継装置40aの構成について説明する。中継装置40aの概略構成を図22に示す。中継装置40aは、以下に説明する点を除き、第1実施例として示した中継装置40と同一の構成を備えている。図22において、第1実施例の中継装置40(図2参照)と同一の構成については、図2と同一の符号を付して、説明を省略し、異なる点についてのみ説明する。図22に示すように、中継装置40aは、第1の制御部100a、第2の制御部200aを備えている。第1の制御部100aと第2の制御部200aとは、同一の構成であり、図22において、第2の制御部200aの詳細は、図示を省略している。
【0098】
図22に示すように、第1の制御部100aは、コンフィグレーション領域130aと、冗長切替制御部124aと、VRRP制御部180aとを備えている。コンフィグレーション領域130aには、コンフィグレーションテーブル132aが確保されている。コンフィグレーションテーブル132aの具体例を図23に示す。図示するように、コンフィグレーションテーブル132aは、第1実施例として示したコンフィグレーションテーブル132(図4参照)に対して、VRRP連携機能が格納されている。VRRP連携機能は、VRRPを用いて、第1実施例で説明したトラフィック指標値に基づいたタイミングで、中継装置40aと中継装置40bとの間での冗長切替を行う機能についての設定情報である。
【0099】
VRRP連携機能は、有効設定と、バックアップ優先度とを設定可能に構成されている。有効設定は、VRRP連携機能が有効であるか無効であるかを表す。バックアップ優先度は、自機(中継装置40a)が、マスタからバックアップに移行する際に、自機に設定する優先度を表す。図23に示す例では、VRRP連携機能は「有効」に設定されている。また、バックアップ優先度は、優先度が最も低い値1に設定されている。中継装置40aが、優先度が最も低い値1を自機の優先度として設定し、当該優先度を含むADVERTISEMENTパケットを送信すれば、中継装置40aがマスタからバックアップに移行するとともに、中継装置40bがバックアップからマスタに移行する冗長切替を確実に実行することができる。
【0100】
冗長切替制御部124aは、第1実施例としての冗長切替制御部124と同様に、第1の処理と第2の処理とを実行するが、第1の処理の内容の一部が、第1実施例と異なる。その他の点については、第1実施例と同様である。以下、第1実施例としての第1の処理(図18参照)と異なる点についてのみ説明する。冗長切替制御部124aが実行する第1の処理の流れを図24に示す。図24において、図18と同一の処理については、図18と同一の符号を付している。図24に示すように、冗長切替タイミングが登録されているか否かの判断の結果、冗長切替タイミングが登録されていれば(ステップS720:YES)、冗長切替制御部124aは、コンフィグレーションテーブル132aのVRRP連携機能の有効設定の値を取得し、VRRP連携機能が有効に設定されているか否かを判断する(ステップS1010)。
【0101】
判断の結果、VRRP連携機能が無効であれば(ステップS1010:NO)、冗長切替制御部124aは、上述したステップS730に処理を進める。一方、VRRP連携機能が有効であれば(ステップS1010:YES)、冗長切替制御部124aは、冗長切替タイミング保持テーブル170に格納された冗長切替タイミングをVRRP制御部180aに通知して(ステップS1020)、第1の処理を終了する。
【0102】
VRRP制御部180aの処理を図25に示す。VRRP制御部180aの処理は、冗長切替制御部124aから上述の通知(上記ステップS1020参照)を受け取ることによって開始される。図25に示すように、VRRP制御部180aの処理が開始されると、VRRP制御部180aは、まず、コンフィグレーションテーブル132aを参照して、VRRP連携機能のバックアップ優先度を取得する(ステップS1110)。
【0103】
バックアップ優先度を取得すると、VRRP制御部180aは、冗長切替制御部124aから通知された冗長切替タイミングになるまで待機し、当該タイミングになったときに、上記ステップS1110で取得したバックアップ優先度を自機に設定するとともに、当該バックアップ優先度を設定したADVERTISEMENTパケットをマルチキャストで送信する(ステップS1120)。これによって、中継装置40aは、マスタからバックアップに移行するとともに、中継装置40bがバックアップからマスタに移行する。こうして、VRRP制御部180aの処理は終了となる。
【0104】
なお、中継装置40a,40bに設定される優先度は、所定のタイミングで、もとの値に戻せばよい。かかる優先度の変更は、手動操作で行ってもよいし、タイマ制御などで、自動的に行ってもよい。所定のタイミングは、例えば、コンフィグレーションテーブル132に設定された集計用単位の最大値の期間が経過した後としてもよい。こうすれば、ユーザが所望する切替周期で冗長切替を行うことができる。また、自動的に優先度を変更する場合には、中継装置40aは、冗長切替制御部124aから通知された冗長切替タイミングを記憶しておき、次回の当該冗長切替タイミングで、優先度の変更を行ってもよい。
【0105】
上述の説明からも明らかなように、トラフィック指標値に基づいたタイミングでの冗長切替は、1つの装置内の冗長構成に限らず、装置単位での冗長構成にも適用することができる。第2実施例では、中継装置40aにおける第1の制御部100aと第2の制御部200aとの間での冗長切替と、中継装置40aと中継装置40bとの間での冗長切替とを選択的に実行できる構成を示したが、トラフィック指標値に基づいたタイミングで、中継装置40aと中継装置40bとの間での冗長切替を行う構成のみを備えていてもよいことは勿論である。また、利用する冗長化プロトコルは、VRRPに限らず、種々のプロトコルを利用することができる。例えば、GSRP(Gigabit Switch Redundancy Protocol)やCARP(Common Address Redundancy Protocol)などを利用してもよい。
【0106】
C.変形例:
上述の実施例の変形例について説明する。
C−1.変形例1:
上述の実施形態においては、設定したプロトコルパケットのトラフィック量のみに基づいて、トラフィック指標値を算出し、当該トラフィック指標値に基づいたタイミングで冗長切替を実行する構成について示したが、トラフィック指標値の算出対象は、プロトコルパケットに限るものではない。プロトコルパケット以外の通信パケット、例えば、データパケットについても、算出対象としてもよい。例えば、設定したプロトコルパケットと、設定したプロトコルパケット以外の通信パケット(以下、非プロトコルパケットともいう)とを区分して、区分に応じて設定した重み付け値を用いて、所定期間ごとのトラフィック量を重み付けて、設定された期間ごとにトラフィック指標値を算出してもよい。こうすれば、非プロトコルパケットに係る通信に与える影響についても反映したタイミングで、冗長切替を行うことができる。プロトコルパケットは、データパケットなどと比べて、冗長切替に伴うネットワークへの影響が大きいので、プロトコルパケットの重み付け値を、非プロトコルパケットの重み付け値よりも小さく設定してもよい。なお、プロトコルパケットの重み付け値は、一律の値で設定してもよいし、図3に示したように、プロトコルパケットの種類に応じて、さらに細分化した区分を設定して、当該区分ごとに設定してもよい。
【0107】
C−2.変形例2:
上述の実施形態においては、平均計算結果テーブル160を用いて、集計用サンプリング期間ごとに、所定の重み付け値で重み付けたトラフィック量の平均値を算出し、それをトラフィック指標値とする構成について示したが、トラフィック指標値は、必ずしも平均値を用いる必要はない。上述したコンフィグレーションテーブル132は、集計用単位に1月を含んでいるが、1月は、例えば、30日の月と31日の月とがある。そのため、上述の実施形態では、月ごとの日数の違いを揃えるために、すなわち、正規化するために、平均値を用いる構成について示した。こうすれば、冗長切替に伴うネットワークへの影響度をより精度良く評価できる。ただし、求められる精度によっては、正規化を行う必要はない。あるいは、例えば、集計用単位が「1週間」と「1日」とで設定される場合には正規化を行う必要はない。トラフィック指標値は、所定の重み付け値(重み付け値が全て同一、つまり、重み付けなしを含む)で重み付けたトラフィック量の大小関係が反映される指標として適宜設定すればよい。
【0108】
C−3.変形例3:
上述の実施形態においては、運用系として設定された第1の制御部100または中継装置40aは、第1の制御部100または中継装置40aに蓄積されたトラフィック指標値のみに基づいて、冗長切替タイミングを設定する構成について示した。しかし、かかる構成に限られるものではない。運用系として設定された第1の制御部100または中継装置40aは、待機系として設定された第2の制御部200または中継装置40bに蓄積されたトラフィック指標値も加味して、冗長切替タイミングを設定してもよい。かかる構成は、例えば、第2の制御部200が運用系から待機系に切り替わる際に、第1の制御部100に対して、第2の制御部200のメモリに蓄積されたトラフィック指標値(解析データテーブル140の重み付け計算結果であってもよい)を出力することで実現できる。また、待機系側においても、通信パケットを扱い、かつ、自系列が扱う通信パケットに基づいて、トラフィック指標値を蓄積可能な構成とする場合には、待機系として設定された際に蓄積したトラフィック指標値も加味してもよい。これらのようにすれば、より多くのトラフィック量に基づいたトラフィック指標値を用いて、冗長切替タイミングを設定することができるので、特異値を吸収しやすくなる。
【0109】
C−4.変形例4:
上述の実施形態においては、冗長切替タイミング保持テーブル170に登録された冗長切替タイミングに基づいて、冗長切替を自動的に行う構成について示したが、冗長切替は、切替指示のみに基づいて行う構成としてもよい。こうしても、ユーザは、冗長切替タイミング出力部122の処理を利用して、ネットワークへの影響が小さい時間帯を確認し、切替指示を行うことができる。
【0110】
C−5.変形例5:
上述の実施形態においては、冗長切替タイミング保持テーブル170に格納される冗長切替タイミングは、平均計算結果テーブル160に格納される平均処理結果(トラフィック指標値)の最小値に対応するサンプリング期間であったが、必ずしも、最小値を採用する必要はない。例えば、2番目に小さい値に対応するサンプリング期間を、冗長切替タイミングとして、冗長切替タイミング保持テーブル170に格納してもよい。平均処理結果が小さい値であるほど、冗長切替タイミングとして望ましいことは勿論であるが、平均処理結果が、各サンプリング期間の中で相対的に小さい期間、例えば、各サンプリング期間の平均処理結果の中央値よりも小さい値、または、平均値よりも小さい値のうちから、冗長切替タイミングとして採用するサンプリング期間を設定してもよい。こうしても、所定程度の効果を奏することができる。
【0111】
C−6.変形例6:
上述の実施形態においては、2系列に冗長化された冗長化構成について示したが、冗長化構成は3系列以上であってもよい。その場合には、各系列に、次回、自系列の次に運用系に切り替えられる系列を設定しておいてもよい。こうすれば、所定の規則に従った順序で、各系列を均等に運用系として設定することができる。
【0112】
C−7.変形例7:
上述の実施形態においては、冗長化構成を備える通信システムとして、中継装置によって構成されるシステムを例示したが、冗長化構成は、中継装置に限るものではない。例えば、サーバや、NAS(Network Attached Storage)などであってもよい。つまり、通信パケットの送受信および中継の少なくとも1つを行う通信部を備える装置であればよい。通信部は、装置内に内蔵されていてもよいし、着脱可能に接続されていてもよい。
【0113】
C−8.変形例8:
上述の実施形態においては、トラフィック指標値を随時更新していくことで、冗長切替タイミングを動的に設定する構成について示したが、トラフィック指標値の算出は、所定期間の経過後に停止してもよい。こうすれば、中継装置の演算負荷を軽減することができる。所定期間は、例えば、コンフィグレーションテーブル132に設定された集計用単位の最大値の1倍、5倍など設定することができる。所定期間を、集計用単位の最大値の数倍以上確保すれば、集計用単位で規定される期間ごとのトラフィック量の変動を吸収することができる。
【0114】
C−9.変形例9:
上述の実施形態においては、プロトコルパケットのトラフィック量に着目して、冗長切替のタイミングを設定する構成について示したが、通信パケットの種別に関係なく、全ての通信パケットのトラフィック量に基づいて、冗長切替のタイミングを設定してもよい。この場合、例えば、解析データテーブル140には、サンプリング期間ごとのトラフィック量を格納すればよい。こうすれば、平均計算結果テーブル160の平均計算結果の更新に伴い、更新された平均計算結果に応じて、冗長切替タイミング保持テーブル170の登録内容が変更され、その結果、冗長切替を実行するタイミングも変更されることとなる。かかる構成によれば、通信パケットの通信量に基づいて、ネットワークへの影響の少ない時間帯に、冗長切替を実行することができる。しかも、冗長切替タイミングは、動的に設定されるので、ネットワークにおけるトラフィック量の時間的な偏りの特性が変化した場合にも、その変化に好適に対応することができる。その結果、冗長切替コマンドによって冗長切替を行う従来手法において問題となっていた、ユーザの管理負担を軽減するという課題を解決することができる。
【0115】
以上、本発明の実施形態について説明したが、上述した実施形態における構成要素のうち、独立クレームに記載された要素に対応する要素以外の要素は、付加的な要素であり、適宜省略、または、組み合わせが可能である。また、本発明はこうした実施形態に限られるものではなく、本発明の要旨を脱しない範囲において、種々なる態様で実施できることは勿論である。例えば、本発明は、通信システムとしての構成のほか、通信システムに用いるプログラム、当該プログラムを記録した記憶媒体、冗長化構成の切替方法等としても実現することができる。
【符号の説明】
【0116】
30,30a…ネットワークシステム
40,40a,40b,50,60…中継装置
70…監視サーバ
100,100a…第1の制御部
110…パケット解析処理部
111…受信処理部
112…送信処理部
113…中継処理部
121…平均計算処理部
122…冗長切替タイミング出力部
123…冗長切替タイミング計算処理部
124,124a…冗長切替制御部
130,130a…コンフィグレーション領域
131…解析フローテーブル
132,132a…コンフィグレーションテーブル
140…解析データテーブル
150…計算結果データ領域
160…平均計算結果テーブル
161…集計用単位毎計算結果テーブル
162…集計用単位毎計算結果テーブル
170…冗長切替タイミング保持テーブル
180a…VRRP制御部
200,200a…第2の制御部
300…回線部
T1〜T4,T11〜T18…トラフィック

【特許請求の範囲】
【請求項1】
通信システムであって、
通信パケットの送受信および中継の少なくとも1つを行う通信部と、
各々が前記通信部を制御可能な第1の制御部および第2の制御部と、
前記通信部が扱う通信パケットのうちの所定のプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出する算出部と、
前記第1の制御部および前記第2の制御部のうちの一方に設定された運用系と、他方に設定された待機系とを、前記算出したトラフィック指標値に基づいた所定のタイミングで、自動的に切り替える切替部と
を備えた通信システム。
【請求項2】
前記算出部は、前記所定のプロトコルパケットの種類に応じて設定された重み付け値を用いて、前記トラフィック量を重み付けて、前記トラフィック指標値を算出する請求項1記載の通信システム。
【請求項3】
前記切替部は、前記算出部の算出結果の更新に伴い、該更新された算出結果に応じて、前記所定のタイミングを変更する請求項1または請求項2記載の通信システム。
【請求項4】
請求項1ないし請求項3のいずれか記載の通信システムであって、
前記算出部の算出結果に基づく情報を出力する出力部と、
ユーザ操作に基づいて入力される、前記運用系と前記待機系との切替指示を受け付ける受付部と
を備え、
前記切替部は、前記受付部が前記切替指示を受け付けた場合に、該切替指示に基づくタイミングで前記切替を行う
通信システム。
【請求項5】
請求項4記載の通信システムであって、
前記切替部は、
前記所定のタイミングを、階層的な時間情報として設定し、
前記受付部が前記切替指示を受け付けた場合に、前記階層的な時間情報のうちの、最上位の階層を除く1以上の所定の階層で規定される時間に達したときを、前記切替指示に基づくタイミングとして、前記切替を行う
通信システム。
【請求項6】
前記通信システムは、前記第1の制御部と前記第2の制御部とを備えた単一の装置である請求項1ないし請求項5のいずれか記載の通信システム。
【請求項7】
請求項1ないし請求項5のいずれか記載の通信システムであって、
前記通信システムは、第1の装置と第2の装置とを備え、
前記第1の装置は、前記第1の制御部と、該第1の制御部によって制御される、前記通信部としての第1の通信部と、前記算出部と、前記切替部とを備え、
前記第2の装置は、前記第2の制御部と、該第2の制御部によって制御される、前記通信部としての第2の通信部と、前記算出部と、前記切替部とを備える
通信システム。
【請求項8】
通信システムであって、
通信パケットの送受信および中継の少なくとも1つを行う通信部と、
各々が前記通信部を制御可能な第1の制御部および第2の制御部と、
前記通信部が扱う通信パケットのうちの所定のプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出する算出部と、
前記算出部の算出結果に基づく情報を出力する出力部と、
ユーザ操作に基づいて入力される、前記第1の制御部および前記第2の制御部に設定された運用系と待機系との切替指示を受け付ける受付部と、
前記第1の制御部および前記第2の制御部のうちの一方に設定された運用系と、他方に設定された待機系とを、前記受け付けた切替指示に基づくタイミングで切り替える切替部と
を備えた通信システム。
【請求項9】
通信システムであって、
通信パケットの送受信および中継の少なくとも1つを行う通信部と、
各々が前記通信部を制御可能な第1の制御部および第2の制御部と、
前記通信部が扱う通信パケットのうちの、所定のプロトコルパケットと、該所定のプロトコルパケット以外の前記通信パケットである非プロトコルパケットとを少なくとも区分し、該区分に応じて設定された重み付け値を用いて前記通信パケットの所定期間ごとのトラフィック量を重み付けて、予め設定された期間ごとにトラフィック指標値を算出する算出部と、
前記第1の制御部および前記第2の制御部のうちの一方に設定された運用系と、他方に設定された待機系とを、前記算出したトラフィック指標値に基づいた所定のタイミングで、自動的に切り替える切替部と
を備えた通信システム。
【請求項10】
通信パケットの送受信および中継の少なくとも1つを行う通信部と、各々が前記通信部を制御可能な第1の制御部および第2の制御部とを備える通信システムにおいて、前記第1の制御部および前記第2の制御部に設定される運用系と待機系とを切り替える冗長化構成の切替方法であって、
前記通信部が扱う通信パケットのうちの所定のプロトコルパケットの所定期間ごとのトラフィック量に基づいて、予め設定された期間ごとにトラフィック指標値を算出し、
前記算出したトラフィック指標値に基づいた所定のタイミングで、前記運用系と前記待機系とを切り替える
冗長化構成の切替方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate