(57)【要約】【課題】冗長系再構築において負荷分散の高精度化を図ること。【解決手段】データ処理を実行するデータ処理部の各々が複数の運用データ群と複数の冗長データ群とを記憶する。管理装置１００は、複数のデータ処理部の中のいずれかのデータ処理部のデータ移行指示を検出し、対応情報１２２を参照して、いずれかのデータ処理部が記憶する複数の運用データ群が所属する複数のグループを特定し、グループ情報を参照することにより、特定された各グループに対応する複数のデータ処理部を特定し、特定された複数のデータ処理部の各々について、いずれかのデータ処理部が記憶する運用データ群と同一グループの冗長データ群を運用データ群に変更する。【選択図】図１
2014149592.tif 000002
【特許請求の範囲】
【請求項１】
運用データ群の集合および前記運用データ群の各々と同一である冗長データ群の集合について、データ処理を実行するデータ処理部の各々が他のデータ処理部とはグループの異なる複数の運用データ群を記憶し、前記データ処理部の各々が前記他のデータ処理部とはグループの異なる複数の冗長データ群を記憶し、前記データ処理部の各々に記憶される前記複数の運用データ群の各所属グループおよび前記複数の冗長データ群の各所属グループが異なるグループである複数のデータ処理部と、
前記複数のデータ処理部の中のいずれかのデータ処理部のデータ移行指示を検出する検出部と、
前記検出部によって前記データ移行指示が検出された場合、前記グループと前記データ処理部とを対応付けた対応情報を参照することにより、前記いずれかのデータ処理部が記憶する複数の運用データ群が所属する複数のグループを特定する第１の特定部と、
前記複数のデータ処理部の各々と当該各データ処理部が記憶する複数の冗長データ群の所属グループとを対応付けたグループ情報を参照することにより、前記第１の特定部によって特定された各グループに対応する複数のデータ処理部を特定する第２の特定部と、
前記第２の特定部によって特定された複数のデータ処理部の各々について、前記いずれかのデータ処理部が記憶する運用データ群と同一グループの冗長データ群を運用データ群に変更する変更部と、
を有することを特徴とする管理装置。
【請求項２】
前記変更部による変更後において、前記冗長データ群の集合について、前記いずれかのデータ処理部を除いた残余のデータ処理部の各々がグループの異なる冗長データ群を複数記憶し、前記残余のデータ処理部の各々に記憶される運用データ群の所属グループおよび冗長データ群の所属グループが異なるグループとなるように構築する構築部を有することを特徴とする請求項１に記載の管理装置。
【請求項３】
前記構築部による構築結果にしたがって前記グループ情報を更新する更新部を有することを特徴とする請求項２に記載の管理装置。
【請求項４】
入力データの特徴情報に基づいて、前記入力データに関する運用データの所属グループを決定する決定部と、
前記対応情報を参照することにより、前記決定部によって決定された前記入力データに関する運用データの所属グループに対応するデータ処理部を特定する第３の特定部と、
前記第３の特定部によって特定されたデータ処理部に前記入力データを転送する転送部と、
を有することを特徴とする請求項１に記載の管理装置。
【請求項５】
前記変更部による変更結果にしたがって前記対応情報を更新する更新部を有することを特徴とする請求項１に記載の管理装置。
【請求項６】
前記グループ情報、前記検出部、前記第１の特定部、前記第２の特定部、および前記変更部は、前記複数のデータ処理部の各々が有することを特徴とする請求項１に記載の管理装置。
【請求項７】
運用データ群の集合および前記運用データ群の各々と同一である冗長データ群の集合のうち、データ処理を実行するデータ処理部の各々が他のデータ処理部とはグループの異なる複数の運用データ群を記憶する複数のデータ処理部と、
前記冗長データ群の集合を記憶する記憶装置と、
前記複数のデータ処理部の中のいずれかのデータ処理部のデータ移行指示を検出する検出部と、
前記検出部によって前記データ移行指示が検出された場合、前記グループと前記データ処理部とを対応付けた対応情報を参照することにより、前記いずれかのデータ処理部が記憶する複数の運用データ群が所属する複数のグループを特定する第１の特定部と、
前記複数のデータ処理部の各々と当該各データ処理部が記憶する複数の冗長データ群の所属グループとを対応付けたグループ情報を参照することにより、前記第１の特定部によって特定された各グループに対応する複数のデータ処理部を特定する第２の特定部と、
前記第２の特定部によって特定された複数のデータ処理部の各々について、前記いずれかのデータ処理部が記憶する運用データ群と同一グループの冗長データ群を、前記記憶装置から抽出し、抽出した冗長データ群の所属グループに対応するデータ処理部に運用データ群として格納する格納部と、
を有することを特徴とする管理装置。
【請求項８】
運用データ群の集合および前記運用データ群の各々と同一である冗長データ群の集合について、データ処理を実行するデータ処理部の各々が他のデータ処理部とはグループの異なる複数の運用データ群を記憶し、前記データ処理部の各々が前記他のデータ処理部とはグループの異なる複数の冗長データ群を記憶し、前記データ処理部の各々に記憶される前記複数の運用データ群の各所属グループおよび前記複数の冗長データ群の各所属グループが異なるグループである複数のデータ処理部と、
データ処理部の追加を検出する検出部と、
前記検出部によって前記データ処理部の追加が検出された場合、グループ総数と追加されたデータ処理部を含むデータ処理部の総数とに基づいて、前記追加されたデータ処理部が記憶すべき運用データ群のグループ数および冗長データ群のグループ数を算出する算出部と、
前記算出部によって算出されたグループ数にしたがって、前記追加されたデータ処理部を含む複数のデータ処理部の各々が当該データ処理部以外の他のデータ処理部とはグループの異なる複数の運用データ群を記憶し、前記追加されたデータ処理部を含む複数のデータ処理部の各々が当該データ処理部以外の他のデータ処理部とはグループの異なる複数の冗長データ群を記憶し、前記追加されたデータ処理部を含む複数のデータ処理部の各々に記憶される前記複数の運用データ群の各所属グループおよび前記複数の冗長データ群の各所属グループが異なるグループとなるように構築する構築部と、
を有することを特徴とする管理装置。
【請求項９】
前記複数のデータ処理部の各々と当該各データ処理部が記憶する複数の冗長データ群の所属グループとを対応付けたグループ情報を、前記構築部による構築結果にしたがって更新する更新部を有することを特徴とする請求項８に記載の管理装置。
【請求項１０】
入力データが保持する特徴情報に基づいて、前記入力データの所属グループを決定する決定部と、
前記グループと前記データ処理部とを対応付けた対応情報を参照することにより、前記決定部によって決定された前記入力データに関する運用データの所属グループに対応するデータ処理部を特定する特定部と、
前記特定部によって特定されたデータ処理部に前記入力データを転送する転送部と、
を有することを特徴とする請求項８または９に記載の管理装置。
【請求項１１】
前記構築部によって構築された場合、前記追加されたデータ処理部に移行された運用データ群の所属グループと、前記移行された運用データ群の移行元のデータ処理部および前記追加されたデータ処理部と、を対応付けることにより、前記対応情報を更新する更新部を有することを特徴とする請求項１０に記載の管理装置。
【請求項１２】
前記更新部は、前記対応情報の更新後所定時間経過後に、前記追加されたデータ処理部に移行された運用データ群の所属グループに対応付けられた前記移行元のデータ処理部を特定する情報を削除することにより、前記対応情報を更新することを特徴とする請求項１１に記載の管理装置。
【請求項１３】
前記検出部、前記算出部、および前記構築部は、前記複数のデータ処理部の各々が有することを特徴とする請求項８に記載の管理装置。
【請求項１４】
運用データ群の集合および前記運用データ群の各々と同一である冗長データ群の集合のうち、データ処理を実行するデータ処理部の各々が他のデータ処理部とはグループの異なる複数の運用データ群を記憶する複数のデータ処理部と、
前記冗長データ群の集合を記憶する記憶装置と、
データ処理部の追加を検出する検出部と、
前記検出部によって前記データ処理部の追加が検出された場合、グループ総数と追加されたデータ処理部を含むデータ処理部の総数とに基づいて、前記追加されたデータ処理部が担当すべき運用データ群のグループ数および冗長データ群のグループ数を算出する算出部と、
前記算出部によって算出されたグループ数にしたがって、前記追加されたデータ処理部を含む複数のデータ処理部の各々が当該データ処理部以外の他のデータ処理部とはグループの異なる複数の運用データ群を記憶し、前記追加されたデータ処理部を含む複数のデータ処理部の各々が当該データ処理部以外の他のデータ処理部とはグループの異なる複数の冗長データ群にアクセス可能となるように前記記憶装置に記憶し、前記追加されたデータ処理部を含む複数のデータ処理部の各々が前記複数の運用データ群の各所属グループおよび前記複数の冗長データ群の各所属グループが異なるグループとなるように構築する構築部と、
を有することを特徴とする管理装置。
【請求項１５】
データ処理を実行する複数のデータ処理装置と前記複数のデータ処理装置を管理する管理装置とが通信可能に接続された管理システムであって、
前記複数のデータ処理装置の各々は、
運用データ群の集合および前記運用データ群の各々と同一である冗長データ群の集合について、データ処理を実行するデータ処理部の各々が他のデータ処理部とはグループの異なる複数の運用データ群を記憶し、前記データ処理部の各々が前記他のデータ処理部とはグループの異なる複数の冗長データ群を記憶し、前記データ処理部の各々に記憶される前記複数の運用データ群の各所属グループおよび前記複数の冗長データ群の各所属グループが異なるグループであり、
前記管理装置は、
前記複数のデータ処理装置の中のいずれかのデータ処理装置のデータ移行指示を検出する検出部と、
前記検出部によって前記データ移行指示が検出された場合、前記グループと前記データ処理部とを対応付けた対応情報を参照することにより、前記いずれかのデータ処理部が記憶する複数の運用データ群が所属する複数のグループを特定する第１の特定部と、
前記複数のデータ処理部の各々と当該各データ処理部が記憶する複数の冗長データ群の所属グループとを対応付けたグループ情報を参照することにより、前記第１の特定部によって特定された各グループに対応する複数のデータ処理部を特定する第２の特定部と、
前記第２の特定部によって特定された複数のデータ処理装置の各々について、前記いずれかのデータ処理装置が記憶する運用データ群と同一グループの冗長データ群を運用データ群に変更する変更部と、
を有することを特徴とする管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを管理する管理装置、管理方法、および管理システムに関する。
【背景技術】
【０００２】
従来、負荷分散方法と冗長系再構築方法の両方を備えた装置が開示される（下記特許文献１、２を参照。）。
【０００３】
特許文献１のストレージシステムは、論理ボリューム内でデータを二重化し、物理モジュールの役割を固定せずに論理ボリュームの割当てを行う。特許文献１のストレージシステムでは、統合管理モジュールは、クライアントからの要求に基づき、指定された範囲のストレージ装置を持つモジュールをスライスデータの割当対象として選択する。統合管理モジュールは、プライマリ論理ボリュームを未割当のスライス領域を持つモジュールに対してひとつずつラウンドロビンで必要な数分割当てる。統合管理モジュールは、セカンダリ論理ボリュームを同じデータ領域を担当するプライマリ論理ボリュームを持つモジュールとは同じモジュールにならないという制約条件の下で、所定の評価関数で選択されたモジュールに必要な数分割り当てる。
【０００４】
特許文献２のゲートウェイ装置は、ゲートウェイ装置の処理能力をトラフィックの増加に合わせて段階的に向上させる。制御対象にするパケットを特定するための宛先範囲および制御内容を含んだポリシーが入力されると、設定コントローラは、セッションボーダーコントローラ（ＳＢＣ）の負荷が均等になるように、アクト系及びスタンバイ系ＳＢＣを決定してポリシーを設定する。設定コントローラは、分配ルータ内のフォワーディングテーブルに、上記宛先範囲と、アクト系及びスタンバイ系ＳＢＣを示す送信先情報とを対応付けて登録する。また、設定コントローラは、新たなＳＢＣが追加された場合は、追加されたＳＢＣも含めた各ＳＢＣの負荷が均等になるように、ポリシーの設定先にするアクト系およびスタンバイ系ＳＢＣを変更する。また、設定コントローラは、分配ルータ内のフォワーディングテーブルの内容を、ポリシーの設定先変更後の状態に合ったものに変更する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−００４６８１号公報
【特許文献２】特開２００７−２８８７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
冗長系再構築において、複数の格納先モジュールの中のある格納先モジュールが故障すると、故障した格納先モジュール内の運用データの冗長データを格納する他の格納先モジュールが、当該冗長データを運用データとして利用する。
【０００７】
しかしながら、冗長データの格納先モジュールが１台の格納先モジュールである場合、当該格納先モジュールは、自モジュールの運用データのほか、故障した格納先モジュールの冗長データを運用データとして扱うことになる。したがって、当該格納先モジュールに負荷が集中するという問題がある。特許文献１では、論理ボリュームを分割してラウンドロビンより複数のモジュールに割り当て、さらに二重化することにより、モジュール故障の際のデータ復元処理時の負荷分散を図ることができるが、ユーザからのモジュールへのデータ参照に対する負荷分散を目的としておらず、モジュール故障後に特定のモジュールに対してユーザからのデータ参照が集中し、負荷が集中する可能性がある。
【０００８】
また、冗長系再構築において、複数の格納先モジュールに新たに格納先モジュールを増設する場合、増設した格納先モジュールが故障した場合に備えて、増設した格納先モジュールについても上述した負荷の集中を回避しておく必要がある。特許文献２では、ＳＢＣの増減設に応じて、各ＳＢＣの負荷が均等になるように、ポリシーの設定先にするアクト系およびスタンバイ系ＳＢＣを変更するが、運用データ、冗長データの保持や、アクト系およびスタンバイ系ＳＢＣの変更に伴う運用データ、冗長データの再配置を考慮していない。
【０００９】
本発明は、冗長系再構築において負荷分散の高精度化を図ることができる管理装置および管理システムを提供することを一つの目的とする。
【課題を解決するための手段】
【００１０】
本願において開示される発明の一側面となる管理装置は、運用データ群の集合および前記運用データ群の各々と同一である冗長データ群の集合について、データ処理を実行するデータ処理部の各々が他のデータ処理部とはグループの異なる複数の運用データ群を記憶し、前記データ処理部の各々が前記他のデータ処理部とはグループの異なる複数の冗長データ群を記憶し、前記データ処理部の各々に記憶される前記複数の運用データ群の各所属グループおよび前記複数の冗長データ群の各所属グループが異なるグループである複数のデータ処理部と、前記複数のデータ処理部の中のいずれかのデータ処理部のデータ移行指示を検出する検出部と、前記検出部によって前記データ移行指示が検出された場合、前記グループと前記データ処理部とを対応付けた対応情報を参照することにより、前記いずれかのデータ処理部が記憶する複数の運用データ群が所属する複数のグループを特定する第１の特定部と、前記複数のデータ処理部の各々と当該各データ処理部が記憶する複数の冗長データ群の所属グループとを対応付けたグループ情報を参照することにより、前記第１の特定部によって特定された各グループに対応する複数のデータ処理部を特定する第２の特定部と、前記第２の特定部によって特定された複数のデータ処理部の各々について、前記いずれかのデータ処理部が記憶する運用データ群と同一グループの冗長データ群を運用データ群に変更する変更部と、を有する。
【発明の効果】
【００１１】
本発明の代表的な実施の形態によれば、冗長系再構築において負荷分散の高精度化を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１にかかる管理装置を示すブロック図である。
【図２】分散処理部によるグループの決定処理およびパケットの割当処理を示す説明図である。
【図３】グループを用いない場合の冗長系再構築例を示す説明図である。
【図４】実施例１にかかるグループを用いる場合の冗長系再構築例を示す説明図である。
【図５】制御部、分散処理部、およびデータ処理部のハードウェア構成例を示すブロック図である。
【図６】実施例１にかかる制御部および分散処理部の機能的構成例１を示すブロック図である。
【図７】グループ情報の一例を示す説明図である。
【図８】あるデータ処理部の障害発生時における動作を示す説明図である。
【図９】あるデータ処理部の障害発生時における動作手順例を示すフローチャートである。
【図１０】図８による復旧後の冗長化再構築例を示す説明図である。
【図１１】図１０による冗長化再構築によるグループ情報の更新後の状態を示す説明図である。
【図１２】図１０に示した構築部による冗長化再構築処理手順例を示すフローチャートである。
【図１３】図１２に示した配置先決定処理の詳細な処理手順例を示すフローチャートである。
【図１４】実施例１にかかる制御部および分散処理部の機能的構成例２を示すブロック図である。
【図１５】データ処理部の増設時における冗長化再構築例を示す説明図（その１）である。
【図１６】データ処理部の増設時における冗長化再構築例を示す説明図（その２）である。
【図１７】グループ情報の更新例を示す説明図である。
【図１８】運用データ群の冗長化再構築処理手順例を示すフローチャートである。
【図１９】冗長データ群の冗長化再構築処理手順例を示すフローチャートである。
【図２０】冗長化再構築の他の例を示す説明図である。
【図２１】対応情報１２２の切替例を示す説明図である。
【図２２】実施例２における管理装置を示すブロック図である。
【図２３】実施例３にかかる管理装置の構成を示すブロック図である。
【図２４】実施例３にかかる制御部および分散処理部の機能的構成例１を示すブロック図である。
【図２５】実施例３にかかる制御部および分散処理部の機能的構成例２を示すブロック図である。
【図２６】実施例４にかかる管理システムを示すブロック図である。
【図２７】実施例５にかかる管理システムを示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を用いて、本発明にかかる管理装置の実施例について説明する。以下の実施例では、本発明にかかる管理装置の一例として、ゲートウェイ装置を例に挙げて説明する。なお、本明細書で「運用データ」とは現在扱われているデータである。また、「冗長データ」とは、運用データの複製データである。
【００１４】
（実施例１）
図１は、実施例１にかかる管理装置を示すブロック図である。管理装置１００は、制御部１０１と、複数の分散処理部１０２−１〜１０２−Ｍ（Ｍは１以上の整数）と、複数のデータ処理部１０３−１〜１０３−Ｎ（Ｎは３以上の整数）と、がスイッチ部１０４を介して接続される。制御部１０１は、管理装置１００全体を管理し、冗長系再構築処理を実行する。冗長系再構築処理とは、複数のデータ処理部１０３−１〜１０３−Ｎのうちあるデータ処理部１０３−ｊ（ｊは１≦ｊ≦Ｎとなる整数）が故障した場合、現存するデータ処理部１０３−ｋ（ｋ≠ｊ）で故障したデータ処理部１０３−ｊのデータ処理を引き継ぐ処理であり、これにより、データ処理に応じたサービスを継続することができる。また、現存するデータ処理部１０３−ｋ間で冗長系を再構築することで次の故障に対応することができる。
【００１５】
複数の分散処理部１０２−１〜１０２−Ｍは、パケットの送受信をおこなう。分散処理部１０２−ｉ（ｉは１≦ｉ≦Ｍとなる整数）は、受信したパケットを当該パケットの特徴情報に基づいて、所属すべきグループを決定する。グループについては後述する。特徴情報としては、ゲートウェイ装置の場合、たとえば、パケットの宛先アドレスが用いられる。なお、特徴情報として採用される情報は、宛先アドレスに限定されず、適用される装置やプロトコル、サービスに応じた情報を採用すればよい。また、分散処理部１０２−ｉは、グループが割り当てられたパケットを、当該パケットが所属すべきグループを担当するデータ処理部１０３−ｊに転送する。グループの決定およびパケットの割り当てについては、図２で説明する。また、分散処理部１０２−ｉは、パケット処理部１３０においてパケット処理されたパケットを外部に転送する。各分散処理部１０２−ｉは、同一機能を実現する。
【００１６】
複数のデータ処理部１０３−１〜１０３−Ｎは、分散処理部１０２−ｉから転送されてくるパケットのセッション情報を管理する。データ処理部１０３−ｊは、パケット処理部１３０と、運用データ群集合Ｒ１−ｊと、冗長データ群集合Ｒ２−ｊと、を有する。ｊはデータ処理部１０３−ｊを特定する番号（データ処理部番号）となる。パケット処理部１３０は、パケットを解析して、パケットの宛先アドレスや送信元アドレスなどパケットの特徴となる情報であるセッション情報を抽出する。パケット処理部１３０は、抽出したセッション情報を運用データとして保存する。
【００１７】
運用データ群集合Ｒ１−ｊとは、運用データ群の集合である。運用データ群とは、同一グループに所属する運用データの集合である。たとえば、データ処理部１０３−１に記憶される運用データ群集合Ｒ１−１には、運用データ群として、グループ１のセッション情報群Ｓ１−１と、グループ２のセッション情報群Ｓ２−１が格納される。
【００１８】
冗長データ群集合Ｒ２−ｊとは、冗長データ群の集合である。冗長データ群とは、同一グループに所属する冗長データの集合である。たとえば、データ処理部１０３−１に記憶される冗長データ群集合Ｒ２−１には、冗長データ群として、グループ３のセッション情報群Ｓ３−２と、グループ４のセッション情報群Ｓ４−２が格納される。
【００１９】
また、あるデータ処理部１０３−ｊのある運用データ群が更新されると、当該運用データ群に対応する冗長データ群も更新される。たとえば、データ処理部１０３−１の運用データ群集合Ｒ１−１内のグループ１のセッション情報群Ｓ１−１が更新されると、データ処理部１０３−２の冗長データ群集合Ｒ２−２内のグループ１のセッション情報群Ｓ１−２も更新される。この同期処理は、制御部１０１を介して実行されてもよく、データ処理部１０３−ｊ間で制御部１０１を介さずに実行されてもよい。
【００２０】
ここで、管理装置１００による外部へのパケット転送例について説明する。データ処理部１０３−ｊによって転送されたパケットは、スイッチ部１０４に入力される。スイッチ部１０４は、転送されたパケットの宛先アドレスに基づいて、宛先アドレスに近いネットワークに転送できる分散処理部１０２−ｉを選択し、転送されたパケットを当該分散処理部１０２−ｉに転送する。分散処理部１０２−ｉは、転送されたパケットを外部へ転送する。
【００２１】
図２は、分散処理部１０２−ｉによるグループの決定処理およびパケットの割当処理を示す説明図である。分散処理部１０２−ｉは、ハッシュ関数１２１と、対応情報１２２と、を有する。分散処理部１０２−ｉは、ハッシュ関数１２１を用いて、入力されたパケットから特徴情報を抽出する。具体的には、たとえば、分散処理部１０２−ｉは、セッションを識別するパケットの宛先アドレスをハッシュ関数１２１に与え、ハッシュ値を抽出する。
【００２２】
対応情報１２２は、グループ番号とデータ処理部番号ｊとを対応付けたテーブルである。グループ番号とは、セッション情報に割り当てられるグループを特定する情報である。また、データ処理部番号ｊとは、データ処理部１０３−ｊを特定する情報である。
【００２３】
データ処理部１０３−ｊの負荷状態を監視する指標の例として、データ処理部１０３−ｊのプロセッサ使用率や、データ処理部１０３−ｊの処理しているセッション情報の数がある。本実施例では、管理装置１００は、入力されたパケットの宛先アドレスなどのセッションに関する特徴情報に基づき、入力されたパケットを、グループというデータ処理部１０３−ｊへの振り分けに使用する単位に分類する。
【００２４】
すなわち、グループとは、パケットの属するセッション情報を複数集約した単位であり、より具体的には、セッションに関する特徴情報についてのハッシュ値が共通するセッション情報の集合である。すなわち、対応情報１２２におけるグループ番号とは、ハッシュ値の取りうる値である。
【００２５】
図２では、説明の便宜上、グループ数を「８」とし、データ処理部の台数を「４」とする。パケットが分散処理部１０２−ｉに入力されると、ハッシュ関数１２１により、パケットから、たとえば、ハッシュ値であるグループ番号「３」が抽出されたとする。対応情報１２２において、グループ番号「３」に対応するデータ処理部番号ｊは「３」である。したがって、分散処理部１０２−ｉは、パケットの転送先をデータ処理部１０３−３に決定し、データ処理部１０３−３に転送する。
【００２６】
データ処理部１０３−３は、転送されてきたパケットをパケット処理部１３０にて処理し、セッション情報を抽出する。抽出したセッション情報はグループ３のセッション情報である。そして、データ処理部１０３−３は、抽出したセッション情報をグループ３のセッション情報群Ｓ３−１に追加する。
【００２７】
このように、分散処理部１０２−ｉでは、ハッシュ関数１２１を使用した１回のハッシュ値計算と対応情報１２２を使用した１回のテーブル検索とにより、パケットの転送先となるデータ処理部１０３−ｊを決定する。したがって、パケットの振り分け処理を簡易化することができ、低ハードウェアコストにより分散処理部１０２−ｉを実装することができる。
【００２８】
また、データ処理部１０３−ｊの増減設時には、対応情報１２２におけるデータ処理部番号ｊを書き換えるだけで転送先を変更することができる。したがって、ハッシュ関数１２１の出力結果の変更や対応情報１２２のテーブルサイズを変更する必要がない。
【００２９】
たとえば、図２において、データ処理部１０３−３が故障し、グループ番号：３の場合の転送先のデータ処理部１０３−ｊを、データ処理部１０３−３からデータ処理部１０３−１に変更する場合、対応情報１２２のグループ番号：３のレコードにおけるデータ処理部番号ｊを「３」から「１」に書き換えるだけでよい。したがって、分散処理部１０２−ｉが管理する情報の量は、処理中のセッション数やパケット数によって増減せず、安定した高速処理を実現することができる。
【００３０】
なお、グループ数は、たとえば、分散処理部１０２−ｉのメモリ量および計算能力と、データ処理部１０３−ｊの最小使用数や最大使用数を考慮して決定される。グループ数が少ないほど、対応情報１２２のテーブルサイズが小さくなるため、分散処理部１０２−ｉの使用メモリ量の削減やテーブル検索に関する計算量を削減することができるが、振り分けが均一に行われず負荷分散性能が劣化する可能性が高い。
【００３１】
一方、グループ数が多いほど、高い負荷分散性能を実現することができるが、対応情報１２２のテーブルサイズが増大し、テーブル検索に関するステップ数も増加する。したがって、高速処理を実現するために分散処理部１０２−ｉに必要となるハードウェア資源が高機能となり、ハードウェアコストが増加する可能性が高い。
【００３２】
また、グループ数をセッション数と同数にすることが可能であるが、例えば、管理装置１００で同時に処理するセッション数が１００万セッションであるとすると、１００万エントリを保持する対応情報１２２を用意する必要があり、使用メモリ量やテーブル検索時間が増大する。
【００３３】
このため、中庸の値をグループ数として設定するのが望ましい。たとえば、データ処理部１０３−ｊの最大使用数の１０倍から１００倍程度のグループ数を設定するのが好ましい。運用データ群および冗長データ群は、セッション情報をグループ毎に分割されて管理される。
【００３４】
図２の例では、データ処理部１０３−１は、グループ１のセッション情報群Ｓ１−１を運用データ群として保持する。また、データ処理部１０３−１は、グループ５のセッション情報群Ｓ５−２を運用データ群として保持する。データ処理部１０３−１は、グループ４のセッション情報群Ｓ４−２を冗長データ群として保持する。また、データ処理部１０３−１は、グループ７のセッション情報群Ｓ７−２を冗長データ群として保持する。
【００３５】
また、各データ処理部１０３−ｊにおいて、運用データ群は、互いにグループが重複しないように格納される。同様に、各データ処理部１０３−ｊにおいて、冗長データ群は、互いにグループが重複しないように格納される。また、各データ処理部１０３−ｊにおいて格納される運用データ群集合Ｒ１−ｊおよび冗長データ群集合Ｒ２−ｊ間でもグループが重複しないように格納される。
【００３６】
図３は、グループを用いない場合の冗長系再構築例を示す説明図である。説明の理解の容易のため、データ処理部の台数を４台とする。（ａ）は、障害発生前の状態であり、（ｂ）は障害発生後の状態である。（ａ）および（ｂ）において、左列のセッション情報群が運用データ群であり、右列のセッション情報群が冗長データ群である。
【００３７】
データ処理部３に障害が発生すると、データ処理部３において運用データ群として運用されていたセッション情報群Ｄ３−１が利用できなくなるため、セッション情報群Ｄ３−１の複製（冗長データ群）であるセッション情報Ｄ３−２を保持するデータ処理部２がデータ処理部３の処理を引き継ぐ。この場合、データ処理部２は、セッション情報群Ｄ２−１とセッション情報群Ｄ３−２の各々のデータ処理を実行することになり、他のデータ処理部１，３に比べて負荷が増大する。
【００３８】
図４は、実施例１にかかるグループを用いる場合の冗長系再構築例を示す説明図である。説明の理解の容易のため、データ処理部１０３−ｊの台数を４台とし、グループ総数を８とする。（ａ）は、障害発生前の状態であり、（ｂ）は障害発生後の状態である。
【００３９】
データ処理部１０３−３に障害が発生すると、データ処理部１０３−３において運用データ群集合Ｒ１−３内のセッション情報群Ｓ３−１が利用できなくなる。このため、セッション情報群Ｓ３−１の複製（冗長データ群）であるセッション情報群Ｓ３−２を保持するデータ処理部１０３−４がデータ処理部１０３−３の処理を引き継ぐ。また、データ処理部１０３−３において運用データ群集合Ｒ１−３内のセッション情報群Ｓ７−１が利用できなくなる。このため、セッション情報群Ｓ７−１の複製（冗長データ群）であるセッション情報群Ｓ７−２を保持するデータ処理部１０３−１がデータ処理部１０３−３の処理を引き継ぐ。これにより、データ処理部１０３−３が故障したとしても、グループごとにセッション情報群が分散して引き継がれるため、残存するデータ処理部１０３−ｊの一部に負荷が集中せず、負荷分散の高精度化を図ることができる。
【００４０】
つぎに、図４の（ａ）を用いて運用データ群および冗長データ群の初期配置例について説明する。管理装置１００は、最初に運用データ群の初期配置を行う。管理装置１００は、グループをグループ番号順にデータ処理部１０３−ｊにラウンドロビンで割り当てる。たとえば、図４ではデータ処理部１０３−ｊの台数が「４」で、グループ数が「８」である。このため、グループ１をデータ処理部１０３−１、グループ２をデータ処理部１０３−２、グループ３をデータ処理部１０３−３、グループ４をデータ処理部１０３−４、グループ５をデータ処理部１０３−１、グループ６をデータ処理部１０３−２、グループ７をデータ処理部１０３−３、グループ８をデータ処理部１０３−４に割り当てる。
【００４１】
つぎに、管理装置１００は、冗長データ群の初期配置を行う。管理装置１００は、各データ処理部１０３−ｊにおいて、運用データ群とその複製である冗長データ群とは同一のデータ処理部に配置されないように配置する。たとえば、管理装置１００は、データ処理部１０３−１に運用データ群であるグループ１のセッション情報群Ｓ１−１が配置されるため、その冗長データ群であるグループ１のセッション情報Ｓ１−２を、データ処理部１０３−１に配置させない。
【００４２】
このように、運用データ群とその複製である冗長データ群とは同一のデータ処理部に配置されないように配置するために、管理装置１００は、データ処理部毎に運用データ群の複製の割り当てを行い、複製元のデータ処理部１０３−ｊの次の番号のデータ処理部をスタートとして、グループ番号順にラウンドロビンで割り当てる。複製元のデータ処理部１０３−ｊを変更する毎にラウンドロビンのスタートを変更することにより、冗長データ群の偏りを平準化することができる。たとえば、管理装置１００は、最初にデータ処理部１０３−１の運用データ群であるグループ１、グループ５の複製をデータ処理部１０３−１を除くデータ処理部１０３−ｊに割り当てる。データ処理部１０３−２をスタートとするラウンドロビンにより、グループ１をデータ処理部１０３−２、グループ５をデータ処理部１０３−３に割り当てる。次に、管理装置１００はデータ処理部１０３−２の運用データ群であるグループ２、グループ６の複製をデータ処理部１０３−２を除くデータ処理部１０３−ｊに割り当てる。データ処理部１０３−３をスタートとするラウンドロビンにより、グループ２をデータ処理部１０３−３に、グループ６をデータ処理部１０３−４に割り当てる。続いて、管理装置１００はデータ処理部１０３−３の運用データ群であるグループ３、グループ７の複製をデータ処理部１０３−３を除くデータ処理部１０３−ｊに割り当てる。データ処理部１０３−４をスタートとするラウンドロビンにより、グループ３をデータ処理部１０３−４に、グループ７をデータ処理部１０３−１に割り当てる。最後に、管理装置１００はデータ処理部１０３−４の運用データ群であるグループ４、グループ８の複製をデータ処理部１０３−４を除くデータ処理部１０３−ｊに割り当てる。データ処理部１０３−１をスタートとするラウンドロビンにより、グループ４をデータ処理部１０３−１に、グループ８をデータ処理部１０３−２に割り当てる。この配置方法は一例であり、これ以外にも種々の方法を採用することができる。
【００４３】
図５は、制御部１０１、分散処理部１０２−ｉ、およびデータ処理部１０３−ｊのハードウェア構成例を示すブロック図である。制御部１０１、分散処理部１０２−ｉ、およびデータ処理部１０３−ｊ（コンピュータ５００）は、プロセッサ５０１と記憶装置５０２とインターフェース５０３とバス５０４とを有する。プロセッサ５０１と記憶装置５０２とインターフェース５０３とはバス５０４を介して接続される。プロセッサ５０１は、記憶装置５０２に格納されたプログラムを読み込んで当該プログラムに応じた処理を実行する。記憶装置５０２は、制御部１０１、分散処理部１０２−ｉおよびデータ処理部１０３−ｊによる処理を実現するためのプログラムを格納する。また、記憶装置５０２は、プログラムの実行時に参照されるテーブルを格納する。インターフェース５０３は、データの入出力をおこなう。
【００４４】
図６は、実施例１にかかる制御部１０１および分散処理部１０２−ｉの機能的構成例１を示すブロック図である。制御部１０１は、グループ情報６１０と、検出部６００と、第１の特定部６０１と、第２の特定部６０２と、変更部６０３と、構築部６０４と、グループ情報更新部６０５と、を有する。グループ情報６１０は、図５に示した記憶装置５０２に格納される情報である。
【００４５】
図７は、グループ情報６１０の一例を示す説明図である。グループ情報６１０は、複数のデータ処理部１０３−１〜１０３−Ｎの各々と当該各データ処理部１０３−ｊが記憶する複数の冗長データ群の所属グループとを対応付けたテーブルである。
【００４６】
また、図６に戻り、検出部６００、第１の特定部６０１、第２の特定部６０２、変更部６０３、構築部６０４、およびグループ情報更新部６０５は、具体的には、たとえば、図５に示した記憶装置５０２に記憶されたプログラムをプロセッサ５０１に実行させることにより、その機能を実現する。
【００４７】
検出部６００は、複数のデータ処理部１０３−１〜１０３−Ｎの中のいずれかのデータ処理部１０３−ｊのデータ移行指示を検出する。具体的には、たとえば、検出部６００は、複数のデータ処理部１０３−１〜１０３−Ｎの中のいずれかのデータ処理部１０３−ｊにおいて障害が発生した場合、障害が発生したデータ処理部１０３−ｊからの障害発生通知をデータ移行指示として検出する。また、検出部６００は、障害だけではなく、データ処理部１０３−ｊの管理装置１００からの脱抜をデータ移行指示として検出することとしてもよい。
【００４８】
第１の特定部６０１は、検出部６００によってデータ移行指示が検出された場合、対応情報１２２を参照することにより、いずれかのデータ処理部１０３−ｊが記憶する複数の運用データ群が所属する複数のグループを特定する。具体的には、たとえば、第１の特定部６０１は、データ処理部１０３−３の故障が検出された場合、図２に示したように、故障したデータ処理部１０３−３のデータ処理部番号「３」に対応するグループ番号「３」、「７」を特定する。図６の例では、第１の特定部６０１が、分散処理部１０２−ｉの保持する対応情報１２２を参照するが、制御部１０１が対応情報１２２を保持し、第１の特定部６０１が制御部１０１の保持する対応情報１２２を参照するという機能構成を取ることもできる。この機能構成では、制御部１０１と分散処理部１０２−ｉの間の情報転送を行うことなく、制御部１０１内で閉じた形で、情報の参照ができるため、図６の機能構成と比較して情報参照にかかる時間を削減できるという利点がある。
【００４９】
第２の特定部６０２は、グループ情報６１０を参照することにより、第１の特定部６０１によって特定された各グループに対応する複数のデータ処理部１０３−１〜１０３−Ｎを特定する。具体的には、たとえば、第１の特定部６０１によりグループ番号「３」、「７」が特定された場合、第２の特定部６０２は、グループ情報６１０を参照して、グループ番号「３」に対応するデータ処理部番号ｊ４のデータ処理部１０３−４と、グループ番号「７」に対応するデータ処理部番号ｊ１のデータ処理部１０３−１と、を特定する。
【００５０】
変更部６０３は、第２の特定部６０２によって特定された複数のデータ処理部１０３−１〜１０３−Ｎの各々について、いずれかのデータ処理部１０３−ｊが記憶する運用データ群と同一グループの冗長データ群を運用データ群に変更する。具体的には、たとえば、図４に示したように、変更部６０３は、第２の特定部６０２により特定されたデータ処理部１０３−１について、障害が発生したデータ処理部１０３−３が記憶する運用データ群であるグループ７のセッション情報群Ｓ７−１と同一の冗長データ群Ｓ７−２を、運用データ群に変更する。
【００５１】
同様に、変更部６０３は、第２の特定部６０２により特定されたデータ処理部１０３−４について、障害が発生したデータ処理部１０３−３が記憶する運用データ群であるグループ３のセッション情報群Ｓ３−１と同一の冗長データ群Ｓ３−２を、運用データ群に変更する。この変更は、たとえば、冗長データ群の各々に設定された運用／冗長を識別するフラグを変更することにより実行される。したがって、データ転送が発生しない。
【００５２】
構築部６０４は、変更部６０３による変更後において、運用データ群集合Ｒ１−ｊおよび冗長データ群集合Ｒ２−ｊについて冗長系再構築処理を実行する。具体的には、たとえば、構築部６０４は、変更部６０３による変更後において、冗長データ群集合について、いずれかのデータ処理部１０３−ｊを除いた残余のデータ処理部１０３−ｋの各々がグループの異なる冗長データ群を複数記憶し、残余のデータ処理部１０３−ｋの各々に記憶される運用データ群の所属グループおよび冗長データ群の所属グループが異なるグループとなるように構築する。
【００５３】
より具体的には、たとえば、構築部６０４は、故障したデータ処理部１０３−３において冗長データ群として記憶されていたグループ２のセッション情報群Ｓ２−２およびグループ５のセッション情報群Ｓ５−２の複製元であるグループ２のセッション情報群Ｓ２−１およびグループ５のセッション情報群Ｓ５−１を特定する。そして、構築部６０４は、特定したセッション情報群Ｓ２−１、Ｓ５−１を複製して、残存するデータ処理部１０３−ｋに格納する。
【００５４】
また、グループ３のセッション情報群Ｓ３−２およびグループ７のセッション情報群Ｓ７−２は、運用データ群に昇格したため、冗長化する必要がある。したがって、構築部６０４は、グループ３のセッション情報群Ｓ３−２およびグループ７のセッション情報群Ｓ７−２の各々を複製する。そして、構築部６０４は、複製したグループ３のセッション情報群Ｓ３−３およびグループ７のセッション情報群Ｓ７−３を、残存するデータ処理部１０３−ｋに格納する。
【００５５】
この場合、構築部６０４は、残存する各データ処理部１０３−ｋにおいて、冗長データ群の所属グループが互いに異なるように、かつ、同一のデータ処理部において、運用データ群の所属グループと冗長データ群の所属グループとが異なるように、構築する。
【００５６】
グループ情報更新部６０５は、構築部６０４による構築結果にしたがってグループ情報６１０を更新する。更新の具体例については後述するが、グループ情報６１０の更新により、更新後においても、グループ情報６１０を参照することにより、構築後に障害が発生した場合にも対応することができる。
【００５７】
また、分散処理部１０２−ｉは、対応情報１２２と、決定部６１１と、第３の特定部６１２と、転送部６１３と、対応情報更新部６１４と、を有する。対応情報１２２は、図５に示した記憶装置５０２に格納される情報である。決定部６１１、第３の特定部６１２、転送部６１３、および対応情報更新部６１４は、具体的には、たとえば、図５に示した記憶装置５０２に記憶されたプログラムをプロセッサ５０１に実行させることにより、その機能を実現する。
【００５８】
決定部６１１は、入力データの特徴情報に基づいて、入力データに関する運用データの所属グループを決定する。入力データとは、たとえば、外部から受信されるパケットである。入力データの特徴情報とは、たとえば、パケットに含まれる宛先アドレスなどのセッション識別子である。入力データに関する運用データとは、たとえば、セッション情報である。
【００５９】
決定部６１１は、宛先アドレスなどの入力データの特徴情報をハッシュ関数１２１に与えてハッシュ値を求める。求められたハッシュ値は、グループ番号である。これにより、入力データに関する運用データの所属グループが決定される。
【００６０】
第３の特定部６１２は、対応情報１２２を参照することにより、決定部６１１によって決定された入力データに関する運用データの所属グループに対応するデータ処理部１０３−ｊを特定する。具体的には、たとえば、第３の特定部６１２は、所属グループのグループ番号が「３」である場合、グループ番号「３」に対応するデータ処理部番号「３」を引くことにより、所属グループに対応するデータ処理部１０３−３を特定する。
【００６１】
転送部６１３は、第３の特定部６１２によって特定されたデータ処理部に入力データを転送する。具体的には、たとえば、転送部６１３は、第３の特定部６１２により所属グループに対応するデータ処理部１０３−３が特定された場合、入力データをデータ処理部１０３−３に転送する。入力データを受信したデータ処理部１０３−３は、入力データを処理し、入力データのセッション情報を、運用データであるグループ３のセッション情報として、データ処理部１０３−３の運用データ群集合Ｒ１−３に追加する。
【００６２】
対応情報更新部６１４は、変更部６０３による変更結果にしたがって対応情報１２２を更新する。具体的には、たとえば、図４に示したように、データ処理部１０３−３に障害が発生した場合、データ処理部１０３−３の運用データ群集合Ｒ１−３内のグループ３のセッション情報群Ｓ３−１の冗長データであるグループ３のセッション情報群Ｓ３−２が、データ処理部１０３−４において、冗長データから運用データに変更される。対応情報更新部６１４は、この変更にしたがって、対応情報１２２のグループ番号「３」のエントリにおけるデータ処理部番号ｊを「３」から「４」に更新する。
【００６３】
図８は、あるデータ処理部の障害発生時における動作を示す説明図であり、図９は、あるデータ処理部の障害発生時における動作手順例を示すフローチャートである。図８では、データ処理部１０３−３に障害が発生したものとする。制御部１０１は、データ処理部１０３−１〜１０３−４を監視し（ステップＳ９０１：Ｎｏ）、データ処理部１０３−３に障害を検出すると（ステップＳ９０１：Ｙｅｓ）、第１の特定部６０１により分散処理部１０２−ｉの対応情報１２２にアクセスして、対応情報１２２におけるデータ処理部番号「３」に対応するグループ番号「３」、「７」を特定する（ステップＳ９０２）。特定されたグループ番号は、グループ情報６１０において、冗長データ群の所属グループを示す番号となる。
【００６４】
そして、制御部１０１は、第２の特定部６０２によりグループ情報６１０を参照して、特定されたグループ番号「３」、「７」に対応するデータ処理部番号ｊを特定する（ステップＳ９０３）。これにより、データ処理部１０３−３の運用データ群集合Ｒ１−３内のグループ３のセッション情報群Ｓ３−１、グループ７のセッション情報群Ｓ７−１の複製であるグループ３のセッション情報群Ｓ３−２、グループ７のセッション情報群Ｓ７−２の格納先が、データ処理部１０３−４、１０３−１に特定される。
【００６５】
このあと、制御部１０１は、特定されたデータ処理部１０３−４に対し、データの移行指示を送信する（ステップＳ９０４）。これにより、データ処理部１０３−４は、冗長データ群集合Ｒ２−４内のグループ３のセッション情報群Ｓ３−２を、運用データ群となるグループ３のセッション情報群Ｓ３−１に変更する。同様に、制御部１０１は、特定されたデータ処理部１０３−１に対し、データの移行指示を送信する（ステップＳ９０４）。これにより、データ処理部１０３−１は、冗長データ群集合Ｒ２−１内のグループ７のセッション情報群Ｓ７−２を、運用データ群となるグループ７のセッション情報群Ｓ７−１に変更する。
【００６６】
各データ処理部１０３−４，１０３−１による変更が完了すると、制御部１０１は、分散処理部１０２−ｉに対し対応情報１２２の更新を指示する。分散処理部１０２−ｉは、対応情報１２２更新部により、グループ番号「３」に対応するデータ処理部番号ｊ「３」を「４」に更新し、グループ番号「７」に対応するデータ処理部番号ｊ「３」を「１」に更新する（ステップＳ９０５）。これにより、冗長データ群の変更後における状態が対応情報１２２に反映される。
【００６７】
このあと、パケットが受信されると、分散処理部１０２−ｉは、宛先アドレスなどのパケットの特徴情報をハッシュ関数１２１に与え、ハッシュ値を算出する。ここでは、ハッシュ関数１２１によりハッシュ値「３」が算出されたものとする。そして、分散処理部１０２−ｉは、対応情報１２２を参照することにより、ハッシュ値であるグループ番号「３」に対応するデータ処理部番号「４」を引く。これにより、分散処理部１０２−ｉは、パケットをデータ処理部１０３−４に転送する。データ処理部１０３−４は、転送されてきたパケットをパケット処理部１３０により処理し、得られたセッション情報をグループ３のセッション情報群に追加または更新する。これにより、データ処理部１０３−３の障害発生にともなう復旧作業が完了する。
【００６８】
図１０は、図８による復旧後の冗長化再構築例を示す説明図である。図８では、データ処理部１０３−３の障害発生による復旧がなされたが、残存するデータ処理部１０３−１，１０３−２，１０３−４のいずれかに障害が発生した場合、復旧ができなくなる。そのため、残存するデータ処理部１０３−１，１０３−２，１０３−４による冗長化再構築が必要となる。
【００６９】
図８の復旧後の状態では、データ処理部１０３−３が保持していたグループ２，３，５，７のセッション情報群についての冗長データ群が欠落している。したがって、管理装置１００は、残存するデータ処理部１０３−１，１０３−２，１０３−４に記憶されている運用データ群を複製することにより、冗長化再構築を実行する。冗長データ群が欠落している運用データ群のみを複製して、冗長か再構築を実行することにより、データ転送量を必要最低限に抑えることができる。この際、冗長データ群の偏りを平準化するため、冗長データ群が少ないデータ処理部から順に、複製された冗長データ群を割り当てるのが好ましい。
【００７０】
制御部１０１は、データ処理部１０３−１に冗長化再構築の指示を出すことにより、当該指示を受けたデータ処理部１０３−１は、他のデータ処理部１０３−２，１０３−４に複製する運用データ群を選択する。グループ１のセッション情報群Ｓ１−１は、データ処理部１０３−２においてグループ１のセッション情報群Ｓ１−２としてすでに冗長化されているため、グループ１のセッション情報群Ｓ１−１は複製されない。
【００７１】
グループ５のセッション情報群Ｓ５−１の冗長データ群は、どのデータ処理部にも格納されていないため、データ処理部１０３−１はグループ５のセッション情報群Ｓ５−１を複製した冗長データ群であるグループ５のセッション情報群Ｓ５−２を、冗長データ群が少ないデータ処理部１０３−４に書き込む。
【００７２】
同様に、グループ７のセッション情報群Ｓ７−１の冗長データ群は、どのデータ処理部にも格納されていないため、データ処理部１０３−１はグループ７のセッション情報群Ｓ７−１を複製した冗長データ群であるグループ７のセッション情報群Ｓ７−２を、データ処理部１０３−２に書き込む。
【００７３】
また、制御部１０１は、データ処理部１０３−２に冗長化再構築の指示を出すことにより、当該指示を受けたデータ処理部１０３−２は、他のデータ処理部１０３−１，１０３−４に複製する運用データ群を選択する。グループ６のセッション情報群Ｓ６−１は、データ処理部１０３−４においてグループ６のセッション情報群Ｓ６−２としてすでに冗長化されているため、グループ６のセッション情報群Ｓ６−１は複製されない。
【００７４】
グループ２のセッション情報群Ｓ２−１の冗長データ群は、どのデータ処理部１０３−ｊにも格納されていないため、データ処理部１０３−２はグループ２のセッション情報群Ｓ２−１を複製した冗長データ群であるグループ２のセッション情報群Ｓ２−２を、冗長データ群が少ないデータ処理部１０３−１に書き込む。
【００７５】
また、制御部１０１は、データ処理部１０３−４に冗長化再構築の指示を出すことにより、当該指示を受けたデータ処理部１０３−４は、他のデータ処理部１０３−１，１０３−２に複製する運用データ群を選択する。グループ４のセッション情報群Ｓ４−１は、データ処理部１０３−１においてグループ４のセッション情報群Ｓ４−２としてすでに冗長化されているため、グループ４のセッション情報群Ｓ４−１は複製されない。
【００７６】
また、グループ８のセッション情報群Ｓ８−１は、データ処理部１０３−２においてグループ８のセッション情報群Ｓ８−２としてすでに冗長化されているため、グループ８のセッション情報群Ｓ８−１は複製されない。
【００７７】
グループ３のセッション情報群Ｓ３−１の冗長データ群は、どのデータ処理部１０３−ｊにも格納されていないため、データ処理部１０３−４はグループ３のセッション情報群Ｓ３−１を複製した冗長データ群であるグループ３のセッション情報群Ｓ３−２を、データ処理部１０３−２に書き込む。セッション情報群の数が同じであるため、データ処理部１０３−１に書き込まれてもよい。このあと、制御部１０１は、グループ情報６１０を更新する。
【００７８】
図１１は、図１０による冗長化再構築によるグループ情報６１０の更新後の状態を示す説明図である。これにより、データ処理部１０３−３の障害発生後において、さらに残存するデータ処理部のいずれかに障害が発生した場合でも、復旧することができる。
【００７９】
図１２は、構築部６０４による図１０に示した冗長化再構築処理手順例を示すフローチャートである。まず、構築部６０４は、複製元のデータ処理部が保持する運用データ群の所属グループ番号を特定する（ステップＳ１２０１）。図１０の更新後の対応情報１２２を参照することにより、構築部６０４は、どのデータ処理部１０３−ｊがどのグループの運用データ群を記憶しているかを特定することができる。
【００８０】
つぎに、構築部６０４は、未選択のグループがあるか否かを判断し（ステップＳ１２０２）、未選択のグループがある場合（ステップＳ１２０２：Ｙｅｓ）、未選択のグループを１つ選択するグループ選択処理を実行する（ステップＳ１２０３）。選択基準としては、たとえば、グループ番号の昇順または降順でもよく、また、データ処理部番号ｊの昇順または降順で選択されたデータ処理部１０３−ｊが担当するグループのグループ番号でもよい。また、グループ内のセッション情報の数の少ない順でもよい。
【００８１】
このあと、構築部６０４は、配置先決定処理を実行する（ステップＳ１２０４）。配置先決定処理（ステップＳ１２０４）の詳細については後述するが、配置先決定処理（ステップＳ１２０４）では、構築部６０４は、各データ処理部１０３−ｊの負荷が均等になるように、選択グループに所属する運用データ群の複製である冗長データ群の配置先を決定する。
【００８２】
そして、構築部６０４は、選択グループに所属する運用データ群を複製し、複製である冗長データ群を、決定された配置先に配置する（ステップＳ１２０５）。このあと、グループ情報更新部６０５は、図１１に示したように、配置後の状態となるようにグループ情報６１０を更新して（ステップＳ１２０６）、ステップＳ１２０２に戻る。ステップＳ１２０２において、未選択のグループがない場合（ステップＳ１２０２：Ｎｏ）、冗長化再構築処理を終了する。
【００８３】
図１３は、図１２に示した配置先決定処理（ステップＳ１２０４）の詳細な処理手順例を示すフローチャートである。まず、構築部６０４は、選択グループの運用データ群が冗長化済みであるか否かを判断する（ステップＳ１３０１）。冗長化済みである場合（ステップＳ１３０１：Ｙｅｓ）、選択グループについての配置先決定処理（ステップＳ１２０４）を終了して、ステップＳ１２０５に移行する。
【００８４】
一方、冗長化済みでない場合（ステップＳ１３０１：Ｎｏ）、構築部６０４は、選択グループを運用データ群として保持するデータ処理部１０３−ｊを特定する（ステップＳ１３０２）。たとえば、グループ５の場合、図１０では、構築部６０４は、運用データ群であるグループ５のセッション情報群Ｓ５−１はデータ処理部１０３−１に格納されていることを、対応情報１２２を参照することにより特定する。
【００８５】
つぎに、構築部６０４は、選択グループを冗長データ群として保持していないデータ処理部１０３−ｊの中から、冗長データ群の配置先となるデータ処理部１０３−ｊを決定する（ステップＳ１３０３）。具体的には、たとえば、構築部６０４は、データ処理部番号ｊの降順または昇順で配置先となるデータ処理部１０３−ｊを決定する。また、構築部６０４は、冗長データ群の個数が少ないデータ処理部１０３−ｊを配置先に決定してもよい。また、データ処理部１０３−ｊのスペックが高い順やデータ処理部のＣＰＵ利用率の低い順でもよい。
【００８６】
たとえば、グループ５の場合、図１０では、グループ５のセッション情報群Ｓ５−１の冗長データ群であるグループ５のセッション情報群Ｓ５−２の配置先候補として、データ処理部１０３−２，１０３−４があるが、図１０では、冗長データ群の個数が少ない方のデータ処理部１０３−４が選択される。これにより、配置先決定処理（ステップＳ１２０４）を終了する。
【００８７】
このように、実施例１によれば、データ処理部１０３−ｊの負荷分散の高精度化を図ることができる。また、実施例１では、障害が発生したことにより復旧および冗長化再構築を実行したが、メンテナンスのためにあるデータ処理部を停止させる場合にも適用することができる。
【００８８】
つぎに、データ処理部１０３−ｊが増設される場合の冗長化再構築について説明する。データ処理部１０３−ｊが増加される場合、追加されたデータ処理部１０３−ｊにはグループが割り当てられていないため、管理装置１００は、全体として負荷が均等になるように、追加したデータ処理部１０３−ｊに対し運用データ群および冗長データ群を配置する。これにより、データ処理部１０３−ｊが増設された後に障害が発生した場合やメンテナンスを行う場合であっても、実施例１のように復旧および冗長化再構築をおこなうことができる。
【００８９】
図１４は、実施例１にかかる制御部１０１および分散処理部１０２−ｉの機能的構成例２を示すブロック図である。制御部１０１は、グループ情報６１０と、検出部６００と、算出部１４１１と、構築部６０４と、グループ情報更新部６０５と、を有する。検出部１４００および算出部１４１１は、具体的には、たとえば、図５に示した記憶装置５０２に記憶されたプログラムをプロセッサ５０１に実行させることにより、その機能を実現する。
【００９０】
検出部１４００は、データ処理部１０３−ｊの追加を検出する。具体的には、たとえば、検出部１４００は、スイッチ部１０４の空きスロットにデータ処理部１０３−ｊが追加された場合に、当該追加を検出する。
【００９１】
算出部１４１１は、検出部１４００によってデータ処理部１０３−ｋの追加が検出された場合、グループ総数と追加されたデータ処理部１０３−ｋを含むデータ処理部１０３−ｊの総数とに基づいて、追加されたデータ処理部１０３−ｋが記憶すべき運用データ群のグループ数および冗長データ群のグループ数を算出する。具体的には、たとえば、算出部１４１１は、グループ総数を、追加されたデータ処理部１０３−ｋを含むデータ処理部１０３−ｊの総数で除することにより、追加されたデータ処理部１０３−ｋが記憶すべき運用データ群のグループ数および冗長データ群のグループ数を算出する。追加されたデータ処理部１０３−ｋが記憶すべきグループ数を算出し、算出グループ数のみの運用データ群と冗長データ群を移行することにより、冗長系再構築にかかるデータ転送量を抑制することができる。
【００９２】
グループ総数とは、複数のデータ処理部１０３−１〜１０３−Ｎにより格納されている運用データ群の所属グループの総数である。実施例１を例に挙げると、グループ総数は「８」である。また、追加前のデータ処理部１０３−ｊの総数が「３」の場合、データ処理部が１台追加されると、追加されたデータ処理部１０３−ｋを含むデータ処理部１０３−ｊの総数は「４」になる。
【００９３】
したがって、算出部１４１１は、グループ総数「８」を追加されたデータ処理部１０３−ｋを含むデータ処理部１０３−ｊの総数「４」で除した「２」を、追加されたデータ処理部１０３−ｋが記憶すべき運用データ群のグループ数および冗長データ群のグループ数として算出する。
【００９４】
構築部６０４は、算出部１４１１による算出結果にしたがって、冗長化再構築処理を実行する。冗長化再構築処理の処理内容は、実施例１と同一であるが、各データ処理部１０３−ｊにおける運用データ群のグループ数と冗長データ群のグループ数にしたがって、冗長化再構築が実行される。上記の算出例の場合、各データ処理部１０３−１〜１０３−４では、運用データ群のグループ数は「２」、冗長データ群のグループ数は「２」となる。また、実施例１と同等、各データ処理部においては、運用データ群のグループと冗長データ群のグループは異なるように構築される。
【００９５】
図１５は、データ処理部１０３−ｊの増設時における冗長化再構築例を示す説明図（その１）である。図１５では、冗長化再構築前の状態を示す。データ処理部１０３−１〜１０３−３は既設のデータ処理部である。分散処理部１０２−ｉでパケットが受信されると、分散処理部１０２−ｉは、宛先アドレスなどのパケットの特徴情報をハッシュ関数１２１に与え、ハッシュ値を算出する。ここでは、ハッシュ関数１２１によりハッシュ値「７」が算出されたものとする。そして、分散処理部１０２−ｉは、対応情報１２２を参照することにより、ハッシュ値であるグループ番号「７」に対応するデータ処理部番号ｊ「１」を引く。これにより、分散処理部１０２−ｉは、パケットをデータ処理部１０３−１に転送する。データ処理部１０３−１は、転送されてきたパケットをパケット処理部１３０により処理し、得られたセッション情報をグループ７のセッション情報群に追加または更新する。
【００９６】
図１６は、データ処理部の増設時における冗長化再構築例を示す説明図（その２）である。図１６は、図１５の次状態を示す。データ処理部１０３−４が新規に増設されたデータ処理部である。制御部１０１は、既設のデータ処理部１０３−１に対し、データ移行指示を送信する。データ処理部１０３−１は、運用データ群のグループ数および冗長データ群のグループ数を確認する。グループ数は「２」に変更されるため、運用データ群集合Ｒ１−１から１つの運用データ群が移行される。図１６の場合、たとえば、データ処理部１０３−１は、運用データ群であるグループ７のセッション情報Ｓ７−１を、増設したデータ処理部１０３−４に移行させる。
【００９７】
また、制御部１０１は、既設のデータ処理部１０３−２に対し、データ移行指示を送信する。データ処理部１０３−２は、運用データ群のグループ数および冗長データ群のグループ数を確認する。グループ数は「２」に変更されるため、運用データ群の集合から１つの運用データ群が移行される。図１６の場合、たとえば、データ処理部１０３−２は、運用データ群であるグループ８のセッション情報Ｓ８−１を、増設したデータ処理部１０３−４に移行させる。
【００９８】
また、冗長データ群集合Ｒ２−ｊから１つの冗長データ群が移行される。図１６の場合、たとえば、データ処理部１０３−２は、冗長データ群であるグループ１のセッション情報Ｓ１−２を、増設したデータ処理部１０３−４に移行させる。
【００９９】
また、制御部１０１は、既設のデータ処理部１０３−３に対し、データ移行指示を送信する。データ処理部１０３−３は、運用データ群のグループ数および冗長データ群のグループ数を確認する。グループ数は「２」に変更されるため、冗長データ群の集合から１つの運用データ群が移行される。図１６の場合、たとえば、データ処理部１０３−３は、冗長データ群であるグループ２のセッション情報Ｓ２−２を、増設したデータ処理部１０３−４に移行させる。
【０１００】
このあと、制御部１０１は、対応情報１２２の更新指示を分散処理部１０２−ｉに送信する。分散処理部１０２−ｉは、グループ番号「７」に対応するデータ処理部番号ｊを「１」から増設したデータ処理部のデータ処理部番号「４」に更新する。同様に、分散処理部１０２−ｉは、グループ番号「８」に対応するデータ処理部番号ｊを「２」から増設したデータ処理部のデータ処理部番号「４」に更新する。このあと、制御部１０１は、グループ情報６１０を更新する。
【０１０１】
図１７は、グループ情報６１０の更新例を示す説明図である。図１７において、（Ａ）は更新前の状態を示し、図１５に対応する。（Ｂ）は更新後の状態を示し、図１６に対応する。
【０１０２】
図１８は、運用データ群の冗長化再構築処理手順例を示すフローチャートである。まず、制御部１０１は、検出部１４００によりデータ処理部１０３−ｋが追加されたか否かを監視し（ステップＳ１８０１：Ｎｏ）、追加が検出された場合（ステップＳ１８０１：Ｙｅｓ）、算出部１４１１により、追加されたデータ処理部１０３−ｋに移行させる運用データ群のグループ数を算出する（ステップＳ１８０２）。
【０１０３】
そして、制御部１０１は、算出されたグループ数を移行可能グループ数に設定する（ステップＳ１８０３）。移行可能グループ数とは、算出されたグループ数を上限として、運用データ群が割り当てられる都度、減少する値である。移行可能グループ数が０になると（ステップＳ１８０４：Ｙｅｓ）、移行させるべき運用データ群が存在しないことになるため、冗長化再構築処理が終了する。
【０１０４】
移行可能グループ数が０でない場合（ステップＳ１８０４：Ｎｏ）、構築部６０４は、既設のデータ処理部の中から運用データ群として保持するグループ数が最大のデータ処理部を選択する（ステップＳ１８０５）。図１６の場合、データ処理部１０３−１またはデータ処理部１０３−２が選択される。
【０１０５】
つぎに、構築部６０４は、選択されたデータ処理部１０３−ｊにおいて、追加されたデータ処理部１０３−ｋに移行させる運用データ群を選択する（ステップＳ１８０６）。図１６の場合、データ処理部１０３−１が選択されたとすると、グループ７のセッション情報群Ｓ７−１が選択される。
【０１０６】
そして、構築部６０４は、選択されたデータ処理部１０３−ｊにより、選択された運用データ群を、追加されたデータ処理部に移行させる（ステップＳ１８０７）。図１６の場合、選択されたグループ７のセッション情報群Ｓ７−１が、追加されたデータ処理部１０３−４に移行させられる。
【０１０７】
このあと、構築部６０４は、移行可能グループ数を１つデクリメントし（ステップＳ１８０８）、対応情報更新部６１４が、図１６に示したように、対応情報１２２を更新して（ステップＳ１８０９）、ステップＳ１８０３に戻る。ステップＳ１８０３において、移行可能グループ数が０になった場合（ステップＳ１８０４：Ｙｅｓ）、一連の処理を終了する。これにより、算出されたグループ数となるように運用データ群が分散化される。
【０１０８】
図１９は、冗長データ群の冗長化再構築処理手順例を示すフローチャートである。まず、制御部１０１は、検出部１４００によりデータ処理部１０３−ｋが追加されたか否かを監視し（ステップＳ１９０１：Ｎｏ）、追加が検出された場合（ステップＳ１９０１：Ｙｅｓ）、算出部１４１１により、追加されたデータ処理部１０３−ｋに移行させる冗長データ群のグループ数を算出する（ステップＳ１９０２）。
【０１０９】
そして、制御部１０１は、算出されたグループ数を移行可能グループ数に設定する（ステップＳ１９０３）。移行可能グループ数とは、算出されたグループ数を上限として、冗長データ群が割り当てられる都度、減少する値である。移行可能グループ数が０になると（ステップＳ１９０４：Ｙｅｓ）、移行させるべき冗長データ群が存在しないことになるため、冗長化再構築処理が終了する。
【０１１０】
移行可能グループ数が０でない場合（ステップＳ１９０４：Ｎｏ）、構築部６０４は、既設のデータ処理部１０３−ｊの中から冗長データ群として保持するグループ数が最大のデータ処理部１０３−ｊを選択する（ステップＳ１９０５）。図１６の場合、データ処理部１０３−２またはデータ処理部１０３−３が選択される。
【０１１１】
つぎに、構築部６０４は、選択されたデータ処理部１０３−ｊにおいて、追加されたデータ処理部１０３−ｋに移行させる冗長データ群を選択する（ステップＳ１９０６）。図１６の場合、データ処理部１０３−２が選択されたとすると、グループ１のセッション情報群Ｓ１−２が選択される。
【０１１２】
そして、構築部６０４は、選択されたデータ処理部１０３−ｊにより、選択された冗長データ群を、追加されたデータ処理部１０３−ｋに移行させる（ステップＳ１９０７）。図１６の場合、選択されたグループ１のセッション情報群Ｓ１−２が、追加されたデータ処理部１０３−４に移行させられる。
【０１１３】
このあと、構築部６０４は、移行可能グループ数を１つデクリメントし（ステップＳ１９０８）、グループ情報更新部６０５が、図１７に示したように、グループ情報６１０を更新して（ステップＳ１９０９）、ステップＳ１９０３に戻る。ステップＳ１９０３において、移行可能グループ数が０になった場合（ステップＳ１９０４：Ｙｅｓ）、一連の処理を終了する。これにより、算出されたグループ数となるように冗長データ群が分散化される。
【０１１４】
なお、図１８および図１９では、グループ数が均等になるように冗長化再構築をおこなったが、セッション情報の数やＣＰＵ使用率が均等になるように冗長化再構築をおこなってもよい。
【０１１５】
図２０は、冗長化再構築の他の例を示す説明図である。図１６では、冗長化再構築後に、分散処理部１０２−ｉが対応情報１２２を再構築結果にしたがって更新したが、対応情報１２２の更新中は、分散処理部１０２−ｉは、パケットをデータ処理部１０３−ｊに転送できず、パケットが損失する可能性がある。このため、新たなデータ処理部番号ｊが追加された場合、対応情報更新部６１４は、旧データ処理部番号ｊを削除せずに一定期間保持させる。これにより、更新中は、旧データ処理部番号ｊを参照することができ、パケット損失を抑制することができる。また、更新後は、新データ処理部番号ｊが参照される。更新後一定期間経過した場合、対応情報更新部６１４は、旧データ処理部番号ｊを削除する。
【０１１６】
また、上述した実施例１では、１つの対応情報１２２を用いて参照や更新をおこなったが、対応情報１２２は、参照用と更新用の２種類用意しておき、更新の都度、参照用と更新用とを切り替える構成としてもよい。
【０１１７】
図２１は、対応情報１２２の切替例を示す説明図である。分散処理部１０２−ｉは、第１の対応情報１２２Ａと第２の対応情報１２２Ｂとを有する。（Ａ）では、第１の対応情報１２２Ａが更新用の対応情報１２２であり、第２の対応情報１２２Ｂが参照用の対応情報１２２である。分散処理部１０２−ｉは、参照用である第２の対応情報１２２Ｂを参照して、受信したパケットの転送先となるデータ処理部を決定して、決定したデータ処理部にパケットを転送する。第１の対応情報１２２Ａの更新が発生すると、第１の対応情報１２２Ａが更新される。更新中は、分散処理部１０２−ｉは、第２の対応情報１２２Ｂを参照する。
【０１１８】
更新が完了すると、制御部１０１は、参照用と更新用とを切り替える。すなわち、制御部１０１は、第１の対応情報１２２Ａを参照用に切り替え、第２の対応情報１２２Ｂを更新用に切り替えて、（Ｂ）の状態となる。これにより、対応情報１２２を切り替える時間だけ、分散処理部１０２−ｉにおいてパケットをバッファリングすることができるため、パケット損失の発生を抑制することができる。
【０１１９】
（実施例２）
実施例２について説明する。実施例１では、管理装置１００には単一の制御部１０１を含む構成としたが、実施例２は、各データ処理部に同一機能の制御部１０１を実装した例である。すなわち、実施例２では、制御部１０１専用のハードウェア資源を用意することなく、複数のデータ処理部１０３−１〜１０３−Ｎが分散制御による構成管理を行う。なお、実施例１と同一構成には同一符号を付し、その説明を省略する。
【０１２０】
図２２は、実施例２における管理装置１００を示すブロック図である。各データ処理部１０３−ｊには、制御部１０１−ｊが搭載される。制御部１０１−ｊの機能は、実施例１の制御部１０１と同一である。制御部１０１−ｊのアルゴリズムは、実行するデータ処理部や実行する時刻に依存せず、参照する情報の内容が同一であれば同一の計算結果が得られる。
【０１２１】
任意のデータ処理部１０３−ｊが故障した場合は、現存する各データ処理部１０３−ｋ（ｋ≠ｊ）の各制御部１０１−ｋが復旧や冗長系再構築を実行する。各データ処理部１０３−ｋは同一の結果を取得し、必要なセッション情報の複製を行う。
【０１２２】
また、新規にデータ処理部が追加される場合は、新規追加したデータ処理部が、新規追加を示す情報を既存のデータ処理部１０３−ｊに通知し、各データ処理部１０３−ｊの制御部１０１−ｋが冗長系再構築を行う。また、他の例として、複数の制御部１０１−ｊのうち代表となる制御部１０１−ｊを設定しておき、代表となる制御部１０１−ｊが他の制御部１０１のグループ情報６１０を更新することとしてもよい。また、ある制御部１０１−ｊのグループ情報６１０を更新対象として、他の制御部１０１−ｊが更新することとしてもよい。
【０１２３】
このように、実施例２によれば、制御部１０１専用のハードウェア資源を用意することなく管理装置１００を構成することができる。また、１個の制御部１０１による集中制御ではなく、複数のデータ処理部１０３−１〜１０３−Ｎによる分散制御を行うことで、構成管理に関する耐障害性の向上を低コストで図ることができる。
【０１２４】
（実施例３）
実施例３について説明する。実施例３は、各データ処理部１０３−ｊにおける冗長データ群集合を記憶装置５０２に記憶させた例である。これにより、各データ処理部１０３−ｊのメモリ量を削減することができる。
【０１２５】
図２３は、実施例３にかかる管理装置１００の構成を示すブロック図である。管理装置１００は、各データ処理部１０３−ｊの冗長データ群集合Ｒ２−１〜Ｒ２−Ｎである冗長データ集合Ｒ２を記憶する記憶装置２３００を有する。記憶装置２３００は、スイッチ部１０４に接続される。
【０１２６】
図２４は、実施例３にかかる制御部１０１および分散処理部１０２−ｉの機能的構成例１を示すブロック図である。図２４は、実施例１の図６の機能的構成例１に対応する。図６と同一機能には同一符号を付し、その説明を省略する。なお、データ処理部１０３−ｊは、冗長データ群を記憶していないものとする。
【０１２７】
制御部１０１は、変更部６０３に替えて格納部２４０３を有する。格納部２４０３は、第２の特定部６０２によって特定された複数のデータ処理部１０３−１〜１０３−Ｎの各々について、いずれかのデータ処理部１０３−ｊが記憶する運用データ群と同一グループの冗長データ群を、記憶装置２３００から抽出する。そして、格納部２４０３は、抽出した冗長データ群の所属グループに対応するデータ処理部に、抽出した冗長データ群を運用データ群として格納する。
【０１２８】
すなわち、実施例３では、冗長データ群集合Ｒ２−ｊがすべて記憶装置２３００に記憶されるため、実施例１のような、変更部６０３による運用／冗長の設定変更ではなく、記憶装置２３００からデータ処理部１０３−ｊへのデータ転送により、冗長データ群が運用データ群として格納される。
【０１２９】
図２５は、実施例３にかかる制御部１０１および分散処理部１０２−ｉの機能的構成例２を示すブロック図である。図２５は、実施例１の図１４の機能的構成例２に対応する。図１４と同一機能には同一符号を付し、その説明を省略する。実施例１では、制御部１０１は、構築部６０４により、各データ処理部１０３−ｊに冗長データ群を構築したが、実施例３では、冗長データ群の構築先が記憶装置２３００となる。
【０１３０】
このように、実施例３では、冗長データ群集合Ｒ２−ｊをデータ処理部１０３−ｊとは異なる記憶装置５０２に記憶させるため、各データ処理部１０３−ｊのメモリ量を削減することができる。
【０１３１】
（実施例４）
つぎに、実施例４について説明する。実施例１は管理装置１００について説明したが、実施例４は、実施例１の制御部１０１、分散処理部１０２−ｉ、およびデータ処理部１０３−ｊを、独立した装置である制御装置２６０１、分散処理装置２６０２−ｉ、およびデータ処理装置２６０３−ｉとする管理システム２６００である。
【０１３２】
図２６は、実施例４にかかる管理システムを示すブロック図である。管理システム２６００は、制御装置２６０１、分散処理装置２６０２−ｉ、およびデータ処理装置２６０３−ｊを有する。制御装置２６０１、分散処理装置２６０２−ｉ、およびデータ処理装置２６０３−ｊは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２６０４により通信可能に接続される。管理システム２６００の処理内容は、実施例１と同様である。なお、実施例２，３の構成は、実施例４の管理システム２６００にも適用可能である。これにより、各装置が分散化された場合にも冗長化再構築を適用することができる。
【０１３３】
（実施例５）
つぎに、実施例５について説明する。実施例５は、実施例１の管理装置１００の制御部１０１を独立した制御装置２６０１とし、制御部１０１が除かれた管理装置１００を処理装置２７０１とする管理システム２７００である。
【０１３４】
図２７は、実施例５にかかる管理システムを示すブロック図である。管理システム２７００は、制御装置２６０１と複数の処理装置２７０１とがＬＡＮ、インターネットなどのネットワーク２６０４により通信可能に接続されたシステムである。管理システム２６００の処理内容は、実施例１と同様である。制御部１０１は、処理装置２７０１を管理することになる。なお、実施例２，３の構成は、実施例５の管理システム２６００にも適用可能である。実施例３に適用する場合、記憶装置５０２は処理装置の内部に配備してもよく、外部に配備してもよい。このように、１台の制御装置２６０１が複数の処理装置を管理することができるため、設備増設コストを低減することができる。
【０１３５】
以上に説明したように、本発明の実施例１〜５によれば、冗長系再構築において負荷分散の高精度化を図ることができる。具体的には、データ処理部の増減設の際に、必要以上のデータ転送を発生させることなく、各データ処理部の負荷が均等になるように振り分け先を変更することと、冗長系を再構築することとの両方を実現することができる。
【０１３６】
また、分散処理部では簡易な工程により、入力パケットの振り分けを実行することが可能であり、高速な振り分け処理が可能となる。したがって、分散処理部を低コストで実装することができる。
【０１３７】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【符号の説明】
【０１３８】
１００  管理装置
１０１  制御部
１０２−ｉ  分散処理部
１０３−ｊ  データ処理部
１２２  対応情報
６００  検出部
６０１  第１の特定部
６０２  第２の特定部
６０３  変更部
６０４  構築部
６０５  グループ情報更新部
６１０  グループ情報
６１１  決定部
６１２  第３の特定部
６１３  転送部
６１４  対応情報更新部
１４００  検出部
１４１１  算出部
【図１】
2014149592.tif 000003
【図２】
2014149592.tif 000004
【図３】
2014149592.tif 000005
【図４】
2014149592.tif 000006
【図５】
2014149592.tif 000007
【図６】
2014149592.tif 000008
【図７】
2014149592.tif 000009
【図８】
2014149592.tif 000010
【図９】
2014149592.tif 000011
【図１０】
2014149592.tif 000012
【図１１】
2014149592.tif 000013
【図１２】
2014149592.tif 000014
【図１３】
2014149592.tif 000015
【図１４】
2014149592.tif 000016
【図１５】
2014149592.tif 000017
【図１６】
2014149592.tif 000018
【図１７】
2014149592.tif 000019
【図１８】
2014149592.tif 000020
【図１９】
2014149592.tif 000021
【図２０】
2014149592.tif 000022
【図２１】
2014149592.tif 000023
【図２２】
2014149592.tif 000024
【図２３】
2014149592.tif 000025
【図２４】
2014149592.tif 000026
【図２５】
2014149592.tif 000027
【図２６】
2014149592.tif 000028
【図２７】
2014149592.tif 000029