(57)【要約】【課題】緊急事態等が発生した場合であっても、データが消失する可能性をより抑えられるようにする技術を提供する。【解決手段】転送エンジン４６のパケット判別部４６１は、何れかの下線インタフェース部４４が受信したパケットがレプリカ複製パケットか否かの判別を行い、受信パケットがレプリカ複製パケットと判別した場合、その旨をＣＰＵ４１に通知する。ＣＰＵ４１は、自ＬＡＮ内に存在するサーバ１２を認識し、その認識結果を用いて、候補サーバテーブル４２２を作成・更新するサーバ認識部４１１、及びレプリカ複製パケットの転送先を決定する転送制御部４１２を備える。転送制御部４１２による転送先の決定は、候補サーバテーブル４２２、転送先となりうるルータ１１が登録された候補ルータテーブル４２３、及び各ルータ１１の地理空間情報を格納したジオテーブル４２４を参照して行われる。【選択図】図４
2014106930.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを用いてデータの複製を配置するための方法であって、
ネットワークと接続された第１の情報処理装置が、配置対象とするデータが格納され、宛先を不定とする第１のメッセージを送信し、
ネットワーク間のメッセージを中継可能な各中継装置が、前記第１のメッセージ中のデータの配置先となる可能性のある第２の情報処理装置を認識し、該第１のメッセージを受信した場合に、該第１のメッセージの転送先を、該認識した第２の情報処理装置、及び他の中継装置のなかから選択することにより、前記配置対象とするデータの複製を前記第１のメッセージの転送経路上の中継装置が選択する第２の情報処理装置に配置させる、
ことを特徴とするデータ配置方法。
【請求項２】
前記第１の情報処理装置は、前記第１のメッセージ中に、前記配置対象とするデータの配置に要求される条件を指定する条件データを格納し、
前記各中継装置は、前記第１のメッセージ中の前記条件データを参照して、該第１のメッセージの転送先を選択する、
ことを特徴とする請求項１記載のデータ保存方法。
【請求項３】
複数のネットワークとメッセージを送受信可能な送受信部と、
前記送受信部を用いて、前記複数のネットワークのうちの一つである自ネットワーク上に存在する第２の情報処理装置を認識する認識部と、
第１の情報処理装置から送信された、配置対象とするデータが格納され、宛先を不定とする第１のメッセージを前記送受信部が受信した場合に、該第１のメッセージの転送先を、前記認識部が認識した第２の情報処理装置、及び該送受信部により前記メッセージを送受信可能な他の中継装置のなかから選択する転送制御部と、
を有することを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のデータの複製を別の情報処理装置上に配置するための技術に関する。
【背景技術】
【０００２】
ネットワークと接続されたサーバ等の情報処理装置では、データの信頼性の向上、或いは処理性能の向上等のために、データの複製（レプリカ）をそのネットワーク上の１台以上の情報処理装置に配置することが行われている。そのようにデータの複製を別の情報処理装置に配置させた場合、ネットワークの障害、及びデータを保存する記憶装置の故障などによるデータの消失が発生する危険性を低下させることができる。
【０００３】
複製の配置（保存）先は、予め決定されるのが普通である。データの消失は、自然災害、或いはテロリズム等の人為的災害などの突発的な緊急事態により発生する可能性がある。緊急事態となる場所（範囲）を予め予想するのは困難である。そのため、緊急事態となった場合、複製の配置先にデータを配置できない可能性がある。このことから、データが消失する可能性をより抑えられるようにするのが望ましいと考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１４６２９３号公報
【特許文献２】特開２００３−３２２９０号公報
【特許文献３】特開２００５−４２４３号公報
【特許文献４】ＷＯ０４／０５３６９６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の１側面は、緊急事態等が発生した場合であっても、データが消失する可能性をより抑えられるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明を適用した１システムでは、ネットワークと接続された第１の情報処理装置が、配置対象とするデータが格納され、宛先を不定とする第１のメッセージを送信し、ネットワーク間のメッセージを中継可能な各中継装置が、第１のメッセージ中のデータの配置先となる可能性のある第２の情報処理装置を認識し、該第１のメッセージを受信した場合に、該第１のメッセージの転送先を、該認識した第２の情報処理装置、及び他の中継装置のなかから選択することにより、配置対象とするデータの複製を第１のメッセージの転送経路上の中継装置が選択する第２の情報処理装置に配置させる。
【発明の効果】
【０００７】
本発明を適用した場合には、緊急事態等が発生した場合であっても、データが消失する可能性をより抑えることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態によるデータ配置方法が適用可能なネットワークシステムの構成例を説明する図である。
【図２】レプリカ複製パケットの構成例を説明する図である。
【図３】サーバの構成例を表す図である。
【図４】本実施形態による中継装置であるルータの構成例を表す図である。
【図５】候補サーバテーブルの構成例を説明する図である。
【図６】通信統計データの取得方法を説明する図である。
【図７】ジオテーブルの構成例を説明する図である。
【図８】転送制御処理のフローチャートである。
【図９】レプリカ複製パケットの転送シーケンス例を説明する図である（その１）。
【図１０】レプリカ複製パケットの転送シーケンス例を説明する図である（その２）。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態によるデータ配置方法が適用可能なネットワークシステムの構成例を説明する図である。
【００１０】
本実施形態によるデータ配置方法では、任意の情報処理装置が配置対象とするデータを、そのデータの配置先として適切と云える別の情報処理装置を自動的に特定し、特定した情報処理装置にデータを配置させることを可能にする。そのデータ配置方法が適用可能なネットワークシステムは、例えば図１に表すように、複数のＬＡＮ（Local Area Network）１（１−１、１−２）を含むＷＡＮ（Wide Area Network）２である。
【００１１】
各ＬＡＮ１は、ルータ１１を介してＷＡＮ２と接続されている。各ＬＡＮ１には、１台以上のサーバ１２が含まれている。各ＬＡＮ１には、ルータ１１以外の中継装置としてスイッチ２１等が含まれる。
【００１２】
ＬＡＮ１−１には、配置すべきデータの送信元となるサーバ（以降「レプリカ送信元サーバ」）１２−１が含まれ、ＬＡＮ１−２には、そのデータの配置先となるサーバ（以降「レプリカ配置先サーバ」）１２−２が含まれている。それにより、図１では、ＬＡＮ１−１及び１−２をＷＡＮ２とは別に表している。ここでは便宜的に、保存対象とするデータを有する情報処理装置、及びそのデータの配置先となる情報処理装置としてサーバ１２のみを想定する。また、特に限定する必要のない場合、レプリカ送信元サーバ、レプリカ配置先サーバの符号としては「１２」を用いる。
【００１３】
本実施形態では、配置対象のデータを送信するレプリカ送信元サーバ１２には、そのデータを格納したメッセージとして、図２に表すような構成のレプリカ複製パケット２０を送信させるようにしている。そのレプリカ複製パケット２０は、図２に表すように、ヘッダ部２１、及びデータ部２２を備えている。データ部２２には、配置対象となるデータの他に、複製管理データ２５、及び評価条件式データ２６が格納される。配置対象となるデータは以降「対象データ」と表記する。
【００１４】
図２に表すようなレプリカ複製パケット２０の作成・送信は、例えばオペレータにより指示されたサーバ１２に行わせれば良い。予め定めた条件が満たされた場合に、各サーバ１２に自動的にレプリカ複製パケット２０の作成・送信を行わせるようにしても良い。
【００１５】
複製管理データ２５は、レプリカ送信元サーバ１２を識別可能な識別データ、及びデータ部２２に格納された対象データの例えば種類を特定するためのシーケンス番号、等を含む。それにより、複製管理データ２５は、レプリカ配置先サーバ１２が決定した場合に、レプリカ送信元サーバ１２とレプリカ配置先サーバ１２間の通信を可能にすると共に、レプリカ配置先サーバ１２での対象データの適切な保存を可能にする。
【００１６】
本実施形態では、上記識別データとして、ＵＵＩＤ（Universally Unique Identifier）を採用している。これは、ＵＵＩＤには、どこかが統制を取らなくとも、一意に特定可能なものを作成できるからである。
【００１７】
データの消失を避けるためには、満たすべき条件が存在する場合がある。例えば地震、洪水等の自然災害により緊急事態となった場合、レプリカ送信元サーバ１２から離れた場所に存在するサーバ１２をレプリカ配置先サーバ１２とする必要がある。また、緊急事態では、通常、時間的な余裕は小さい。そのため、対象データが比較的に大きい場合、或る程度のスループットは確保しなければならない。このようなことから、本実施形態では、レプリカ配置先サーバ１２として望ましいサーバ１２を特定できるように、評価条件式データ２６をデータ部２２に格納可能とさせている。
【００１８】
評価条件式データ２６に含めるデータとしては、遅延時間、信頼度、スループット、保存コスト、及び上限時間等を挙げることができる。遅延時間、及びスループットは、対象データの配置を完了するうえでレプリカ配置先サーバ１２に求められる条件を指定する。信頼度は、対象データの重要性を表している。それにより、信頼度は、レプリカ配置先サーバ１２が満たすべき確実性、例えば稼働率、或いはＭＴＢＦ（Mean Time Between Failure）等を指定する。保存コストは、対象データの配置にかかるコストにより、レプリカ配置先サーバ１２を制限する。上限時間は、対象データの複製の完了に要する時間の最大時間である。この上限時間の指定は、レプリカ配置先サーバ１２として選択可能なサーバ１２の範囲を制限する。この上限時間を高所するのは、緊急事態では、レプリカ送信元サーバ１２−１によるパケット送信が行える時間は限られていると見なすのが相当だからである。
【００１９】
図３は、サーバの構成例を表す図である。レプリカ送信元サーバ１２、或いはレプリカ配置先サーバ１２として用いることが可能なサーバ１２は、図３に表すように、ＣＰＵ（Central Processing Unit）３１、ＦＷＨ（FirmWare Hub）３２、メモリ（メモリモジュール）３３、ＮＩＣ（Network Interface Card）３４、ハードディスク装置（ＨＤ）３５、コントローラ３６、及びＢＭＣ（Baseboard Management Controller）３７を備えている。このような構成は１例であり、サーバ１２の構成として限定されるものではない。
【００２０】
ＦＷＨ３２は、ＢＩＯＳ（Basic Input/Output System）を格納したメモリである。このＢＩＯＳは、ＣＰＵ３１によってメモリ３３に読み出され実行される。ハードディスク装置３５には、ＯＳ（Operating System）、及び各種アプリケーション・プログラム（以降「アプリ」と略記）が格納されており、ＣＰＵ３１は、ＢＩＯＳの起動が完了した後、コントローラ３６を介してハードディスク装置３５からＯＳを読み出して実行することができる。ＮＩＣ３４を介した通信は、ＢＩＯＳの起動によって可能となる。
【００２１】
レプリカ複製パケット２０の作成・送信のためのプログラム、或いはレプリカ複製パケット２０の受信により対象データを保存するためのプログラムは、例えばＯＳに組み込ませることが考えられる。それらのプログラムは、何らかのアプリとして、或いはアプリに組み込むサブプログラムとして実現させても良い。
【００２２】
ＢＭＣ３７は、サーバ１２の管理用の装置である。ＢＭＣ３７は、通信機能を備え、不図示の通信回線を介してコンソール、或いは外部管理装置と通信を行うことができる。緊急事態の発生の通知、或いは緊急事態への対応の指示、等は、例えばＢＭＣ３７に行うことが考えられる。つまり、緊急事態への対応は、例えばＢＭＣ３７を介した指示により、ＣＰＵ３１に行わせれば良い。
【００２３】
図４は、本実施形態による中継装置であるルータの構成例を表す図である。図４に表すように、ルータ１１は、ＣＰＵ４１、メモリ４２、ＴＣＡＭ（Ternary Content Addressable Memory）４３と、複数の回線インタフェース部２４と、データバス２５と、転送エンジン２６とを備えている。
【００２４】
ＣＰＵ４１は、例えばメモリ４２に格納されているプログラム（以降「ファームウェア」）を実行する。そのファームウェアは、ＣＰＵ４１上に、サーバ認識部４１１、及び転送制御部４１２を実現させる。サーバ認識部４１１、及び転送制御部４１２についての詳細は後述する。
【００２５】
メモリ４２は、上記ファームウェアの格納に用いられる以外に、ルータ１１内部で使用する各種データの格納に用いられる。データとしては、ルーティングテーブル４２１、候補サーバテーブル４２２、候補ルータテーブル４２３、及びジオテーブル４２４等がある。
【００２６】
ルーティングテーブル４２１は、転送エンジン４６によるルーティング処理を行う際に参照すべきルーティング情報を格納するテーブルである。
【００２７】
候補サーバテーブル４２２は、自ＬＡＮ１内でレプリカ複製パケット２０の転送先となりうるサーバ１２の認識結果が保存されるテーブルである。この候補サーバテーブル４２２は、上記サーバ認識部４１１によって作成、或いは更新される。
【００２８】
図５は、候補サーバテーブルの構成例を説明する図である。
図５に表すように、候補サーバテーブル４２２には、認識されたサーバ１２別にエントリ（レコード）が格納される。各エントリには、サーバ名、遅延時間、スループット、信頼度、等の各データが格納される。
【００２９】
サーバ名は認識されたサーバ１２を一意に表す識別データである。本実施形態では、サーバ名としてＩＰ（Internet Protocol）アドレスを採用している。
【００３０】
遅延時間は、認識したサーバ１２にメッセージを送信してからそのサーバ１２のレスポンスを受信するまでの時間である。スループットは、認識したサーバ１２が単位時間当たりに処理可能なデータ量である。信頼度は、例えば稼働率（０〜１までの間の数値）である。これら各データは、既存のネットワーク診断プログラムを用いることで取得することができる通信統計データである。
【００３１】
図６は、通信統計データの取得方法を説明する図である。図６に表すように、各種通信統計データは、ルータ１１から認識したサーバ１２に対し、メッセージを送信することで取得することができる。図６に表す例では、ルータ１１とサーバ１２間のメッセージの送信は２つのスイッチ２１を介して行われる。
【００３２】
候補ルータテーブル４２３は、自ルータ１１が直接、通信可能なルータ１１別に、ルータ名、各種通信統計データを格納したテーブルである。各種通信統計データは、既存のネットワーク診断プログラムを用いて取得することができる。
【００３３】
ジオテーブル４２４は、ＷＡＮ２上のルータ１１別に、そのルータ１１の地理空間情報を格納したテーブルである。図７は、ジオテーブル４２４の構成例を説明する図であり、各エントリには、ルータ名（ＩＰアドレス）と、その設置場所を表す地理空間情報とが格納されている。
【００３４】
図７では、地理空間情報として、「福岡」「大阪」を表記している。これは、ルータ１１の設置場所の例を分かりやすくするためである。地理空間情報を表す装置をルータ１１としているのは、ルータ１１は自ネットワーク上を流れるパケットを別のネットワークに中継する、ルータ１１が属するネットワーク上のサーバ１２の設置場所は、そのルータ１１と離れていないのが普通である、等の理由からである。
【００３５】
ジオテーブル４２４は、常に最新の状態とするのが望ましい。このことから、新たに追加されたルータ１１、或いは置き換えられたルータ１１は、地理空間情報を他のルータ１１と送受信するようにさせても良い。
【００３６】
ＴＣＡＭ４３は、ルーティングテーブル４２１に格納されているルーティング情報が、ルータ１１による実際のルーティング時に読みだされるメモリである。従って、ルータ１１は、ルーティングを行う際には、ＴＣＡＭ４３に読みだされているルーティング情報を検索することで、パケットの実際の転送先を決定する。
【００３７】
各回線インタフェース部４４は、ルータ１１が直接、パケットを送受信可能な外部装置との接続に用いられる。外部装置とは、他のルータ１１、スイッチ２１、或いはサーバ１２等である。ルータ１１は、何れかの回線インタフェース部４４を用いて、外部装置との間で通信を行う。
【００３８】
データバス４５は、ＣＰＵ４１と、メモリ４２と、ＴＣＡＭ４３と、各回線インタフェース部４４と、転送エンジン４６とを相互に接続する。
【００３９】
転送エンジン４６は、１つの回線インタフェース部２４がパケットを受信した場合に、ＴＣＡＭ２３に格納されているルーティング情報を参照して、そのパケットの転送先を決定し、決定した転送先に対応する回線インタフェース部４４に、そのパケットを送信させる。そのようなルーティングを行うために、転送エンジン４６は、パケット転送処理部４６２を備えている。
【００４０】
転送エンジン４６は、他に、パケット判別部４６１を備えている。このパケット判別部４６１は、何れかの回線インタフェース部４４が受信したパケットがレプリカ複製パケット２０か否かの判別を行う機能を備えている。それにより、パケット転送処理部４６２によるルーティングは、何れかの回線インタフェース部４４が受信したパケットがレプリカ複製パケット２０でないとパケット判別部４６１が判定した場合に行われる。
【００４１】
そのパケットがレプリカ複製パケット２０とパケット判別部４６１が判定した場合、そのレプリカ複製パケット２０はＣＰＵ４１によって処理される。ＣＰＵ４１上に実現された転送制御部４１２は、レプリカ複製パケット２０の転送先を決定し、決定した転送先にそのレプリカ複製パケット２０を転送させる。
【００４２】
図８は、転送制御処理のフローチャートである。この転送制御処理は、転送エンジン４６からレプリカ複製パケット２０の受信が通知されることを契機にＣＰＵ４１が実行する処理である。転送制御部４１２は、ＣＰＵ４１がこの転送制御処理を実行することで実現される。次に図８を参照して、この転送制御処理について詳細に説明する。
【００４３】
先ず、ＣＰＵ４１は、受信されたレプリカ複製パケット２０のヘッダ部２１に送信元アドレスとして格納されていたＩＰアドレスを例えば転送エンジン４６から取得する（Ｓ１）。ここで取得するＩＰアドレスは、自ＬＡＮ１内にレプリカ送信元サーバ１２が存在するルータ１１では、そのレプリカ送信元サーバ１２のもののみである。自ＬＡＮ１内にレプリカ送信元サーバ１２が存在しないルータ１１では、そのレプリカ送信元サーバ１２のものに、直前にレプリカ複製パケット２０を中継したルータ１１のＩＰアドレスが加わる。以降は、特に拘らない限り、自ネットワーク内にレプリカ複製パケット２０が存在しないルータ１１を想定する。
【００４４】
次にＣＰＵ４１は、ジオテーブル４２４を参照し、２つのルータ１１の地理空間情報を取得する（Ｓ２）。この２つの地理空間情報は、レプリカ送信元サーバ１２のＩＰアドレスからそのレプリカ送信元サーバ１２が自ネットワークに存在するルータ１１のＩＰアドレス、転送経路上、直前に位置するルータ１１のＩＰアドレス、により取得される。
【００４５】
次にＣＰＵ４１は、２つの地理空間情報を結ぶ平面上の直線をレプリカ複製パケット２０の転送経路のベクトル（以降「第１のベクトル」）として求める（Ｓ３）。その後、ＣＰＵ４１は、候補ルータテーブル４２３を参照して、候補ルータの一覧を作成し、ジオテーブル４２４を参照して、候補ルータ１１毎に、その候補ルータ１１の地理空間情報、及び自ルータ１１とその候補ルータ１１を結ぶ直線であるベクトル（以降「第２のベクトル」）を取得する（Ｓ４）。候補ルータ１１別に、地理空間情報、及び第２のベクトルを取得した後はＳ５に移行する。
【００４６】
Ｓ５では、ＣＰＵ４１は、候補ルータ１１毎に、取得した第２のベクトルの評価を行う。その評価は、第１のベクトルと第２のベクトルの成す角度を計算し、計算した角度が０に近いほど高い値とし、その角度が１８０度に近いほど低い値とすることで行う。それにより、レプリカ複製パケット２０がレプリカ送信元サーバ１２からより遠いルータ１１に転送されるようにする。
【００４７】
次にＣＰＵ４１は、レプリカ複製パケット２０の条件評価式データ２６、候補ルータテーブル４２３、及びベクトル評価値を参照し、候補ルータ１１の一覧のなかから転送先として考えられるルータ１１を更に抽出する（Ｓ６）。抽出するルータ１１は、設定条件式データ２６中で指定された上限時間内、或いは予め設定された上限時間内に対象データの配置が完了すると推定されるルータ１１である。これは、緊急事態では、レプリカ送信元サーバ１２−１によるパケット送信が行える時間は限られていると見なすのが相当であるためである。抽出したルータ１１の集合は「候補集合Ｓ」と表記する。ベクトル評価値は、条件評価式データ２６中の各データに乗算する重み（係数）として用いることができる。
【００４８】
自ＬＡＮ１内にレプリカ送信元サーバ１２が存在するルータ１１は、そのレプリカ送信元サーバ１２が送信したレプリカ複製パケット２０を直ちに受信する。第１のベクトルを求める必要性は無い。このことから、自ＬＡＮ１内にレプリカ送信元サーバ１２が存在するルータ１１では、通常、候補ルータテーブル４２３に登録されているルータ１１が全て抽出される。それにより、Ｓ１〜Ｓ５の処理は事実上、行う必要はない。
【００４９】
候補集合Ｓを作成したＣＰＵ４１は、次に、その候補集合Ｓが空集合か否か判定する（Ｓ７）。候補集合Ｓが空集合であった場合、つまり転送先として考えられるルータ１１が存在しない場合、Ｓ７の判定はｙとなってＳ８に移行する。転送先として考えられるルータ１１が存在する場合、Ｓ７の判定はｎとなってＳ９に移行する。
【００５０】
Ｓ８では、ＣＰＵ４１は、候補サーバテーブル４２２を参照し、自ＬＡＮ１内で動作中のサーバ１２のなかで最適なサーバ１２を選択し、選択したサーバ１２にレプリカ複製パケット２０を転送する。その後、この転送制御処理が終了する。候補集合Ｓが空集合となった場合に、自ＬＡＮ１内で動作中のサーバ１２のなかで最適なサーバ１２を選択することで、レプリカ送信元サーバ１２からより遠い場所に存在するサーバ１２にレプリカ複製パケット２０を転送することができる。
【００５１】
一方、Ｓ９では、ＣＰＵ４１は、候補集合Ｓのなかから転送先とするルータ１１（図８中「ルータｅ」と表記）を決定し、決定したルータ１１を候補集合Ｓから削除する。次にＣＰＵ４１は、決定したルータ１１に、レプリカ転送パケット２０を転送する（Ｓ１０）。その転送を行ったＣＰＵ４１は、ルータ１１からのレスポンスを監視することにより、転送が成功したか否か判定する。レプリカ複製パケット２０を転送したルータ２０から成功した旨のレスポンスを受信した場合、Ｓ１１の判定はｙとなり、ここで転送制御処理が終了する。レプリカ複製パケット２０を転送したルータ２０からレスポンスを受信しないような場合、Ｓ１１の判定はｎとなり、上記Ｓ７に戻る。それにより、候補集合Ｓが空集合になる、或いはレプリカ複製パケット２０の転送が終了するまで、レプリカ複製パケット２０の他のルータ１１を対象にした転送が行われる。この結果、レプリカ送信元サーバ１２から離れる方向にレプリカ複製パケット２０が転送されていくこととなる。
【００５２】
次に、図９、及び図１０を参照し、ルータ１１間の中継によって実現されるレプリカ複製パケットの転送シーケンスについて具体的に説明する。
図９は、レプリカ複製パケットの転送が全て適切に行われた場合のレプリカ複製パケットの転送シーケンス例を説明する図である。図９では、レプリカ送信元サーバ１２としてサーバ１２−１、レプリカ配置先サーバ１２としてサーバ１２−２を想定している。レプリカ送信元サーバ１２−１とレプリカ配置先サーバ１２−２間でレプリカ複製パケット２０の中継を行ったルータ１１として、レプリカ複製パケット２０の転送経路上、レプリカ配置先サーバ１２−２から２つ前までのルータ１１Ａ、１１−２を想定している。その図９を参照して、レプリカ送信元サーバ１２−１、２つのルータ１１Ａ、１１−２、及びレプリカ配置先サーバ１２−２の動作例を具体的に説明する。
【００５３】
レプリカ送信元サーバ１２−１は、オペレータらの指示により、対象データを格納した図２に表すようなレプリカ複製パケット２０を作成し送信する。レプリカ複製パケット２０を受信した各ルータ１１のＣＰＵ４１は、上記転送制御処理を実行する。それにより、ルータ１１Ａに、レプリカ複製パケット２０が転送される（ＳＳ１）。
【００５４】
レプリカ複製パケット２０が転送されたルータ１１Ａでは、そのレプリカ複製パケット２０を受信し、その旨がＣＰＵ４１に通知される（ＳＰ１）。それにより、ＣＰＵ４１は、転送制御処理の実行を開始し、候補集合Ｓを作成する（ＳＰ２）。候補集合Ｓの作成後、ＣＰＵ４１は、候補集合Ｓのなかからレプリカ複製パケット２０の転送先としてルータ１２−２を決定する（ＳＰ３）。この結果、ルータ１１Ａからルータ１１−２にレプリカ複製パケット２０が転送される（ＳＳ２）。
【００５５】
ルータ１１−２では、ルータ１２−１と同様に、ＣＰＵ４１が転送制御処理の実行を開始する。しかし、候補集合Ｓが空集合となり、ＣＰＵ４１は、候補サーバテーブル４２２に登録されたサーバ１２のなかから最適と云えるサーバ１２をレプリカ配置先サーバ１２−２として決定する。その結果、ルータ１１−２からレプリカ配置先サーバ１２−２にレプリカ配置先サーバ１２−２が転送される（ＳＳ３）。
【００５６】
レプリカ配置先サーバ１２−２は、レプリカ複製パケット２０のデータ部２２内に格納された対象データを取り出し、取り出した対象データを記憶装置に格納する。レプリカ配置先サーバ１２−２が図３に表すような構成であった場合、レプリカ複製パケット２０はＮＩＣ３４によって受信され、ＮＩＣ３４からＣＰＵ３１に出力される。ＣＰＵ３１は、ＮＩＣ３４から入力したレプリカ複製パケット２０のデータ部２２内に格納された対象データを取り出し、コントローラ３６を介して、取り出した対象データをハードディスク装置３５に格納させる。その後、ＣＰＵ３１は、レプリカ複製パケット２０のレスポンスとして、対象データの複製が完了した旨を表すメッセージ（図９では「複製完了パケット」と表記）をＮＩＣ３４に送信させる。この結果、レプリカ配置先サーバ１２−２からルータ１１−２に複製完了パケットが送信される（ＳＳ４）。
【００５７】
複製完了パケットを受信したルータ１１−２は、受信した複製完了パケットをルータ１１Ａに転送する（ＳＳ４）。ルータ１１Ａも、受信した複製完了パケットを、レプリカ複製パケット２０の転送経路上、ルータ１１Ａの直前に位置する別のルータ１１に転送する。そのようにして、複製完了パケットは、レプリカ複製パケット２０の転送経路を逆に辿るようにして、レプリカ送信元サーバ１２−１まで転送される（ＳＳ６）。
【００５８】
複製完了パケットを受信したレプリカ送信元サーバ１２−１は、送信したレプリカ複製パケット２０が１つのみであった場合、対象データの複製が完了したとする（ＳＲ１）。通常、対象データは１パケットで全て送信することはできない。このため、対象データの複製が完了したとの判断は、対象データを格納したパケットを適切に処理したことを表すパケット（レスポンス）を全て受信できた場合に行われる。
【００５９】
対象データのレプリカ複製パケット２０に分けての送信では、全ての対象データを送信する前に、複製完了パケットを受信する可能性がある。その場合、残りの対象データの送信は、複製完了パケットから特定されるレプリカ配置先サーバ１２−２を宛先とする通常のパケットを用いて行うようにしても良い。
【００６０】
図１０は、レプリカ複製パケットの転送に失敗があった場合のレプリカ複製パケットの転送シーケンス例を説明する図である。図１０に表す転送シーケンス例は、ルータ１１−２でのレプリカ複製パケット２０のレプリカ配置先サーバ１２−２への転送が失敗した場合のものである。この転送の失敗部分に着目して、図１０では、ルータ１１Ａ、１１−２の他に、ルータ１１−２に代わる転送先として決定されたルータ１１Ｂのみを表している。この図１０を参照しての説明は、レプリカ複製パケット２０の転送の失敗した以降についてのみ行う。
【００６１】
図９でレプリカ配置先サーバ１１−２とされたサーバ１２が正常に動作していない場合、つまりそのサーバ１２が動作していない、或いはそのサーバ１２に故障が発生している、等の場合、ルータ１１−２は複製完了パケットを受信することができない。それにより、ルータ１１−２は、レプリカ複製パケット２０の転送が失敗した旨を表すレスポンスをルータ１１Ａに送信する（ＳＳ１１）。この結果、ルータ１１Ａは、候補集合Ｓのなかから別のルータ１１Ｂをレプリカ複製パケット２０の転送先として決定し、転送を行う（ＳＰ１１）。この結果、ルータ１１Ａからルータ１１Ｂにレプリカ複製パケット２０が転送される（ＳＳ１２）。
【００６２】
ルータ１１−２は、レプリカ配置先サーバ１２−２以外のサーバ１２を認識していた場合、レプリカ複製パケット２０の転送先として選択可能なサーバ１２を選択し、選択したサーバ１２にレプリカ複製パケット２０を転送する。このことから、図１０に表す転送の失敗は、ルータ１１−２はレプリカ複製パケット２０の転送先として選択可能な全てのサーバ１２がレプリカ複製パケット２０を正常に処理できない状態であることを意味する。
【００６３】
図１に表す例では、レプリカ送信元サーバ１２−１から送信されたレプリカ複製パケット２０は、ルータ１１−１→ルータ１１−３→スイッチ２１に転送されている。スイッチ２１は、直接、或いは間接的に接続されたサーバ１２−３〜１２−５を認識している。しかし、レプリカ複製パケット２０は、サーバ１２−３〜１２−５の何れにも転送されず、ルータ１１−４に転送されている。それにより、レプリカ複製パケット２０は、ルータ１１−４及び１１−２を介して、レプリカ配置先サーバ１２−２に転送されている。ルータ１１−４への転送が失敗した場合、スイッチ２１は、ルータ１１−５にレプリカ複製パケット２０を次の転送先として選択することができる。
【００６４】
なお、本実施形態では、レプリカ複製パケット２０の転送はよりレプリカ送信元サーバ１２から離れるように行っているが、必ずしもそうしなくとも良い。例えばレプリカ送信元サーバ１２が配置された場所から、レプリカ複製パケット２０を処理させても良いと推定される境界を決定し、その境界を越えた位置に存在するサーバ１２にレプリカ複製パケット２０を処理させるようにしても良い。その場合、レプリカ送信元サーバ１２の設置場所を表すデータを評価条件式データ２６内に格納可能としても良い。或いは評価条件式データ２６中に、レプリカ複製パケット２０を処理させても良い地域の範囲を特定可能な地域データを挿入可能として、その地域データに従って、レプリカ複製パケット２０を処理させるサーバ１２を選択するようにしても良い。
【符号の説明】
【００６５】
１、１−１、１−２    ＬＡＮ
２    ＷＡＮ
１１、１１−１〜５    ルータ
１２、１２−１〜５    サーバ
２１    スイッチ
４１    ＣＰＵ
４２    メモリ
４４    回線インタフェース部
４６    転送エンジン
４１１    サーバ認識部
４１２    転送制御部
４６１    パケット判別部
【図１】
2014106930.tif 000003
【図２】
2014106930.tif 000004
【図３】
2014106930.tif 000005
【図４】
2014106930.tif 000006
【図５】
2014106930.tif 000007
【図６】
2014106930.tif 000008
【図７】
2014106930.tif 000009
【図８】
2014106930.tif 000010
【図９】
2014106930.tif 000011
【図１０】
2014106930.tif 000012