説明

再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システム

【課題】多様なクライアントに柔軟に対応することを課題とする。
【解決手段】再送判定サーバ10は、クライアント40を識別する識別情報に対応付けて再送判定方式を記憶する再送判定方式情報テーブル21を備える。再送判定サーバ10において、要求メッセージ受信部31は、クライアント40から要求メッセージを受信する。再送判定方式決定部32は、要求メッセージから識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を再送判定方式情報テーブル21から取得することで、再送判定方式を決定する。再送判定実施部33は、決定された再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定する。応答メッセージ送信部34は、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント40に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムに関する。
【背景技術】
【0002】
従来、クライアントが要求メッセージをサーバに送信すると、サーバが要求メッセージの内容に応じた処理を行い、応答メッセージをクライアントに送信するネットワークシステムがある。一般に、クライアントが送信する要求メッセージや、サーバが送信する応答メッセージは、経由するネットワークや、メッセージを中継するネットワーク機器などの状態により、宛先に到達する前に喪失する可能性がある。このため、クライアントは、例えば、所定時間サーバから応答メッセージを受信しない場合に、要求メッセージの送信に失敗したと判定し、前回送信した要求メッセージを再度送信する再送制御を行う。
【0003】
しかし、例えばネットワークの遅延によりメッセージの到達が遅れた場合や、サーバの負荷が高く、処理に時間を要した場合など、実際にはメッセージが喪失していないにも関わらず、クライアントにおいて応答メッセージの受信が遅れることがある。このとき、クライアントは、再送制御を行うので、サーバは、同一の要求メッセージを受信することになる。ネットワークやネットワーク機器の状態が悪く、クライアントによる再送制御が頻発する状況においては、サーバにおいて重複した処理が繰り返し行われるため、結果として、サーバに大きな負荷がかかる。これを防ぐためには、サーバにおいて、クライアントから送信された要求メッセージが再送されたものであるか否かを判定する再送判定を行う必要がある。
【0004】
サーバが再送判定を行うにあたっては、クライアントにおいて、要求メッセージを一意に特定する要素を要求メッセージに記述することが多い。例えば、認証プロトコルとして広く利用されているRADIUS(Remote Authentication Dial In User Service)では、要求メッセージのIP(Internet Protocol)アドレス、ポート番号、Identifier、Authenticatorを判定要素として規定している(RFC(Request For Comment)2865)。クライアントによる再送制御によって送信された要求メッセージがサーバに到達すると、サーバは、要求メッセージに記述されている判定要素から、要求メッセージが再送されたものであるか否かを判定する。この再送判定により、サーバは、処理の重複を防ぐ。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】“Remote Authentication Dial In User Service (RADIUS)”、[online]、[平成22年4月1日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc2865.txt>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術では、多様なクライアントに柔軟に対応することができないという課題がある。上述したように、要求メッセージに記述される判定要素は、プロトコルによって予め規定されていることが多い。ところが、ベンダーによって独自に開発されたクライアントなど、予め規定された判定要素を再送判定で用いることを考慮しないクライアントが存在する。このようなクライアントは、再送する要求メッセージであるにも関わらず、規定に則っていない判定要素を要求メッセージに記述してサーバに再送する。すると、サーバにおいて予め規定された再送判定を実施しても、正しく再送判定することができない。
【0007】
このように、多様なクライアントに柔軟に対応することができないということは、ある限定した範囲のクライアントにしか対応できないということでもあり、また、結果として、サービスの提供エリアを狭め、サービスを利用するユーザ数の増加を妨げることにもなってしまう。
【0008】
開示の技術は、上記に鑑みてなされたものであって、多様なクライアントに柔軟に対応することが可能な再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、一つの態様において、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段とを備える。
【0010】
また、本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、再送判定装置としてのコンピュータは、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部として機能し、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、前記判定肯定による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程とを含む。
【0011】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、コンピュータを再送判定装置として機能させる。
【0012】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムであって、1台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、前記再送判定装置のそれぞれは、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段と、要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶手段と、クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶手段から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御手段とを備える。
【0013】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムにおける再送判定方法であって、1台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、前記再送判定装置としてのコンピュータそれぞれは、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部、および、要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶部として機能し、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、前記判定工程による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程と、クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶部から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御工程とを含む。
【発明の効果】
【0014】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムの一つの態様によれば、多様なクライアントに柔軟に対応することが可能になるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】図1は、実施例1に係る再送判定サーバの構成を説明するための図である。
【図2】図2は、実施例1に係る再送判定方式情報テーブルを説明するための図である。
【図3】図3は、実施例1に係る再送判定サーバによる処理手順を示すフローチャートである。
【図4】図4は、実施例2に係る再送判定システムの構成を説明するための図である。
【図5】図5は、実施例2に係る再送判定システムの概要を説明するための図である。
【図6】図6は、実施例2に係るクライアント識別情報テーブルを説明するための図である。
【図7】図7は、実施例2に係る再送判定方式情報テーブルを説明するための図である。
【図8】図8は、実施例2に係る判定要素テーブルを説明するための図である。
【図9】図9は、実施例2に係る処理結果テーブルを説明するための図である。
【図10】図10は、実施例2に係る再送判定システムによる処理手順を示すシーケンス図である。
【図11】図11は、実施例3に係る再送判定システムの構成を説明するための図である。
【図12】図12は、実施例3に係る同期対象テーブルを説明するための図である。
【図13】図13は、実施例3に係る付加情報テーブルを説明するための図である。
【図14】図14は、実施例3に係る再送判定システムによる処理手順を示すシーケンス図である。
【図15】図15は、実施例4に係る再送判定システムの構成を説明するための図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する再送判定装置(以下、再送判定サーバ)、再送判定方法、再送判定プログラム、及び再送判定システムの実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例1】
【0017】
まず、実施例1に係る再送判定サーバ10を説明する。図1は、実施例1に係る再送判定サーバ10の構成を説明するための図である。図1に例示するように、実施例1においては、再送判定サーバ10とクライアント40とが、ネットワークを介して相互に通信を行うことを想定する。具体的には、クライアント40が要求メッセージを再送判定サーバ10に送信すると、再送判定サーバ10が要求メッセージの内容に応じた処理を行い、要求メッセージに応答する応答メッセージをクライアント40に送信する。なお、図1においては、説明の便宜上、再送判定サーバ10とクライアント40とが1台ずつ例示されているが、開示の技術はこれに限られるものではない。例えば、再送判定サーバ10とクライアント40とが複数台ずつ設置される構成や、1台の再送判定サーバ10と複数台のクライアント40とが設置される構成などにも同様に適用することができる。
【0018】
ここで、実施例1に係る再送判定サーバ10は、図1に例示するように、特に、クライアント情報記憶部20を有し、クライアント情報記憶部20に、再送判定方式情報テーブル21を有する。再送判定方式情報テーブル21は、クライアント40を識別する識別情報に対応付けて、該クライアント40に応じた再送判定方式を記憶する。再送判定方式とは、クライアント40から送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した情報である。
【0019】
図2は、実施例1に係る再送判定方式情報テーブル21を説明するための図である。図2に例示するように、再送判定方式情報テーブル21は、クライアント40を識別する識別情報と再送判定方式とを対応付けて記憶する。例えば、図2に例示する再送判定方式情報テーブル21の1行目は、『クライアントC1』として識別されるクライアント40から送信された要求メッセージは、『再送判定方式R1』に従って、再送されたものであるか否かが判定されることを示す。また、例えば、図2に例示する再送判定方式情報テーブル21の2行目は、『クライアントC2』として識別されるクライアント40から送信された要求メッセージは、『再送判定方式R2』に従って、再送されたものであるか否かが判定されることを示す。このように、クライアント40に応じて再送判定方式が異なる場合がある。
【0020】
図1に戻り、実施例1に係る再送判定サーバ10は、図1に例示するように、特に、要求メッセージ受信部31と、再送判定方式決定部32と、再送判定実施部33と、応答メッセージ送信部34とを有する。
【0021】
要求メッセージ受信部31は、クライアント40から要求メッセージを受信する。再送判定方式決定部32は、再送判定方式を決定する。具体的には、再送判定方式決定部32は、要求メッセージ受信部31によって受信された要求メッセージからクライアント40を識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を再送判定方式情報テーブル21から取得することで、再送判定方式を決定する。
【0022】
再送判定実施部33は、要求メッセージが再送されたものであるか否かを判定する。具体的には、再送判定実施部33は、再送判定方式決定部32によって決定された再送判定方式に従って、要求メッセージ受信部31によって受信された要求メッセージが再送されたものであるか否かを判定する。応答メッセージ送信部34は、応答メッセージをクライアント40に送信する。具体的には、応答メッセージ送信部34は、再送判定実施部33による判定結果に基づいて要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアント40に送信する。
【0023】
図3は、実施例1に係る再送判定サーバ10による処理手順を示すフローチャートである。実施例1に係る再送判定サーバ10は、クライアント40から要求メッセージを受信すると(ステップS1肯定)、該要求メッセージから該クライアント40を識別する識別情報を抽出し、該識別情報を用いて再送判定方式情報テーブル21を参照し、再送判定方式を決定する(ステップS2)。
【0024】
続いて、再送判定サーバ10は、ステップS2において決定された再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定し(ステップS3)、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント40に送信する(ステップS4)。
【0025】
このようなことから、実施例1によれば、再送判定サーバ10は、クライアント40に応じて、適切な再送判定方式を決定してから再送判定を実施することができるので、多様なクライアント40に柔軟に対応することが可能になる。
【実施例2】
【0026】
次に、実施例2に係る再送判定システムを説明する。図4は、実施例2に係る再送判定システムの構成を説明するための図である。図4に例示するように、実施例2において、再送判定システムは、再送判定サーバ100と、データベース200とを含む。すなわち、図4に例示するように、再送判定サーバ100は、主に制御部として機能し、データベース200は、主に記憶部として機能する。もっとも、開示の技術はこれに限られるものではなく、再送判定サーバ100とデータベース200とが物理的に1台の筐体として実現されてもよい。また、実施例1と同様、再送判定サーバ100、データベース200、クライアント300の台数は、1台ずつに限られるものではない。
【0027】
[実施例2に係る再送判定システムの概要]
ここで、実施例2に係る再送判定システムの構成を詳細に説明する前に、図5を用いて、実施例2に係る再送判定システムの概要を説明する。図5は、実施例2に係る再送判定システムの概要を説明するための図である。
【0028】
図5に例示するように、再送判定サーバ100は、クライアント300から送信された要求メッセージを受信すると(ステップS1〜S2)、該要求メッセージから該クライアント300を識別する識別情報『クライアントC1』を抽出し、サービスを提供するクライアント300であるか否かを判定する(ステップS3)。
【0029】
具体的には、再送判定サーバ100は、データベース200のクライアント識別情報テーブルを参照し、識別情報『クライアントC1』がクライアント識別情報テーブルに記憶されているか否かを判定する。クライアント識別情報テーブルに記憶されていれば、サービスを提供するクライアント300であり、記憶されていなければ、サービスを提供するクライアント300ではないことになる。図5の例では、クライアント識別情報テーブルに、識別情報『クライアントC1』及び識別情報『クライアントC2』が記憶されている。このため、再送判定サーバ100は、「サービスを提供するクライアント300である」(図5において『OK』)と判定する。
【0030】
次に、再送判定サーバ100は、要求メッセージから抽出した識別情報『クライアントC1』を用いて、クライアント300に紐づく再送判定方式を決定する(ステップS4)。具体的には、再送判定サーバ100は、データベース200の再送判定方式情報テーブルを参照し、識別情報『クライアントC1』に対応付けて記憶されている再送判定方式を取得することで、再送判定方式を決定する。図5の例では、再送判定方式情報テーブルに、識別情報『クライアントC1』と『再送判定方式R1』とが対応付けて記憶されている。このため、再送判定サーバ100は、『再送判定方式R1』を取得することで、クライアント300に紐づく再送判定方式を決定する。なお、『再送判定方式R1』には、図5に例示するように、『a1』、・・・、『an』が判定要素であることが規定されている。
【0031】
なお、図5に例示したように、クライアント識別情報テーブルは単独で存在していてもよいし、クライアント識別情報テーブルと再送判定方式情報テーブルとが1つのテーブル又は関係しているテーブルであって、再送判定サーバ100とデータベース200との間の2往復の処理を1往復の処理で実施してもよい。すなわち、クライアント識別情報テーブルと再送判定方式情報テーブルとが1つのテーブル又は関係しているテーブルである場合には、再送判定サーバ100が、データベース200を参照して識別情報『クライアントC1』が記憶されているか否かを判定する処理、及び、データベース200を参照して識別情報『クライアントC1』に対応付けて記憶されている再送判定方式を取得する処理、これら併せて2往復の処理を、データベース200を参照して、識別情報『クライアントC1』が記憶されているか否かを判定するとともに識別情報『クライアントC1』に対応付けて記憶されている再送判定方式を取得する1往復の処理で実施してもよい。
【0032】
続いて、再送判定サーバ100は、受信した要求メッセージから判定要素の値を抽出する(ステップS5)。図5の例では、再送判定サーバ100は、判定要素の値として、『m(a1)』、『m(a2)』、・・・、『m(an)』を抽出する。
【0033】
また、再送判定サーバ100は、データベース200から、過去に受信した要求メッセージから抽出された判定要素の値を取得する(ステップS6)。具体的には、再送判定サーバ100は、データベース200の判定要素テーブルを参照し、『クライアントC1用テーブル』に記憶されている判定要素の値を取得する。図5の例では、再送判定サーバ100は、過去の判定要素の値として、{『d1(a1)』、『d1(a2)』、・・・、『d1(an)』}及び{『d2(a1)』、『d2(a2)』、・・・、『d2(an)』}を取得する。
【0034】
そして、再送判定サーバ100は、要求メッセージから抽出した判定要素の値と、データベース200から取得した判定要素の値とを比較し、要求メッセージが再送されたものであるか否かを判定する(ステップS7)。図5の例では、再送判定サーバ100は、要求メッセージから抽出した判定要素の値{『m(a1)』、『m(a2)』、・・・、『m(an)』}と、過去の判定要素の値{『d1(a1)』、『d1(a2)』、・・・、『d1(an)』}及び{『d2(a1)』、『d2(a2)』、・・・、『d2(an)』}とをそれぞれ比較する。要求メッセージから抽出した判定要素の値と、過去の判定要素の値とが一致すれば、要求メッセージは再送されたものであり、一致しなければ、要求メッセージは再送されたものではないことになる。
【0035】
再送判定サーバ100は、「要求メッセージは再送されたものである」と判定した場合には、応答メッセージを作成し(ステップS9)、該応答メッセージをクライアント300に送信する(ステップS10)。一方、再送判定サーバ100は、「要求メッセージは再送されたものではない」と判定した場合には、要求メッセージから抽出した判定要素の値{『m(a1)』、『m(a2)』、・・・、『m(an)』}や、その他付随する情報{『e1(m)』、・・・、『em(m)』}を、データベース200に格納する(ステップS8)。なお、付随する情報については、後に詳述するが、例えば、再送判定サーバ100において要求メッセージの内容に応じて行われた処理の処理結果などが該当する。
【0036】
そして、「要求メッセージは再送されたものである」と判定した場合と同様、再送判定サーバ100は、応答メッセージを作成し(ステップS9)、応答メッセージをクライアント300に送信する(ステップS10)。なお、「要求メッセージは再送されたものである」と判定した場合に作成される応答メッセージと、「要求メッセージは再送されたものではない」と判定した場合に作成される応答メッセージとは、異なる場合がある。例えば、再送判定サーバ100は、要求メッセージが再送されたものである場合には、例えば「既に3回同一の要求メッセージを受信しています」という旨のメッセージを含む応答メッセージを作成するなどしてもよい。
【0037】
[実施例2に係るデータベース200の構成]
さて、上述のような概要の再送判定システムについて、図4及び図6〜10を用いて、詳細に説明する。まず、実施例2に係るデータベース200を説明する。図4に例示するように、実施例2に係るデータベース200は、特に、クライアント識別情報テーブル201と、再送判定方式情報テーブル202と、判定要素テーブル203と、処理結果テーブル204とを有する。
【0038】
クライアント識別情報テーブル201は、サービスを提供する対象のクライアント300の識別情報を記憶する。クライアント識別情報テーブル201が記憶するクライアント300の識別情報は、例えば再送判定システムの運用者などによって予め登録される。また、クライアント識別情報テーブル201が記憶するクライアント300の識別情報は、後述するクライアント判定部102による処理に利用される。
【0039】
図6は、実施例2に係るクライアント識別情報テーブル201を説明するための図である。図6に例示するように、クライアント識別情報テーブル201は、例えば、クライアント300の識別情報として、IPアドレスを記憶する。例えば『IP_C1』は、識別情報『クライアントC1』によって識別されるクライアント300のIPアドレスを示す。
【0040】
再送判定方式情報テーブル202は、クライアント300を識別する識別情報に対応付けて再送判定方式を記憶する。再送判定方式情報テーブル202が記憶する識別情報と再送判定方式との対応付けは、例えば再送判定システムの運用者などによって予め登録される。また、再送判定方式情報テーブル202が記憶する識別情報と再送判定方式との対応付けは、後述する再送判定方式決定部103による処理に利用される。
【0041】
図7は、実施例2に係る再送判定方式情報テーブル202を説明するための図である。図7に例示するように、再送判定方式情報テーブル202は、例えば、識別情報『IP_C1』に対応付けて、再送判定方式として『ポート番号、Identifierは不変、Authenticatorは可変』を記憶する。これは、識別情報『IP_C1』によって識別されるクライアント300から送信された要求メッセージが再送されたものであるか否かを判定する場合には、再送されたものであれば『ポート番号』及び『Identifier』が不変、すなわち過去に受信された要求メッセージと同一となるはずであるので、『ポート番号』及び『Identifier』が同一であるか否かを判定することで、要求メッセージが再送されたものであるか否かを判定することができることを示す。なお、図7に例示した再送判定方式では、要求メッセージから抽出した判定要素の値と、判定要素テーブル203に記憶されている判定要素の値とが同一である場合には再送とみなすとしているが、開示の技術はこれに限られるものではなく、要求メッセージから抽出した判定要素の値が予め規定した条件を満たせば再送とみなすようにしてもよい。
【0042】
一方、図7に例示するように、再送判定方式情報テーブル202は、例えば、識別情報『IP_C2』に対応付けて、再送判定方式として『ポート番号、Identifier、Authenticatorは不変』を記憶する。これは、識別情報『IP_C2』によって識別されるクライアント300から送信された要求メッセージが再送されたものであるか否かを判定する場合には、再送されたものであれば『ポート番号』、『Identifier』及び『Authenticator』が不変、すなわち過去に受信された要求メッセージと同一となるはずであるので、『ポート番号』、『Identifier』及び『Authenticator』が同一であるか否かを判定することで、要求メッセージが再送されたものであるか否かを判定することができることを示す。
【0043】
判定要素テーブル203は、要求メッセージから抽出された判定要素を記憶する。判定要素テーブル203が記憶する判定要素は、後述する判定要素登録部106によって格納され、また、後述する再送判定実施部105による処理に利用される。なお、判定要素テーブル203は、要求メッセージから抽出された判定要素を記憶しているが、判定要素テーブル203の運用管理にあたっては、記憶サイズに上限を設けて、上限を超えた場合には古い情報から手動又は自動で削除してもよい。また、記憶期間を設けて、期間を超えた古い情報を手動又は自動で削除するようにしてもよい。
【0044】
図8は、実施例2に係る判定要素テーブル203を説明するための図である。図8の(A)に例示するように、判定要素テーブル203は、クライアント300毎に、要求メッセージから抽出された判定要素を記憶する。例えば、判定要素テーブル203は、識別情報『IP_C1』によって識別されるクライアント300について、2つの要求メッセージから抽出された判定要素を記憶する。図7の例を用いて説明したように、識別情報『IP_C1』によって識別されるクライアント300の再送判定方式は、『ポート番号』及び『Identifier』が同一であるか否かを判定する方式である。このため、判定要素テーブル203は、例えば『PORT_C1−100』及び『ID_C1−100』の組と、例えば『PORT_C1−2』及び『ID_C1−2』の組とを記憶する。
【0045】
ここで、判定要素テーブル203は、2つの要求メッセージから抽出された判定要素を記憶するが、これは、必ずしも、クライアント300から要求メッセージが送信された回数が2回であることを示すものではない。すなわち、後述するように、実施例2に係る判定要素登録部106は、要求メッセージが再送されたものである場合には、判定要素を判定要素テーブル203に格納しない。したがって、判定要素テーブル203は、再送されたものではない要求メッセージから抽出された判定要素を記憶している。
【0046】
例えば、図8の(B)に例示するように、判定要素テーブル203は、識別情報『IP_C1』によって識別されるクライアント300について、さらに、例えば『PORT_C1−1』及び『ID_C1−1』の組を記憶している(図8の(B)において太枠で示す)。これは、『ポート番号』及び『Identifier』が過去の要求メッセージから抽出された判定要素と同一でなく、「要求メッセージは再送されたものではない」と判定された場合に、判定要素登録部106が、識別情報『IP_C1』に対応付けて、『PORT_C1−1』及び『ID_C1−1』の組を格納したことを示す。
【0047】
処理結果テーブル204は、処理結果を記憶する。処理結果テーブル204が記憶する処理結果は、後述するサービス処理部107によって格納され、また、サービス処理部107による処理に利用される。
【0048】
図9は、実施例2に係る処理結果テーブル204を説明するための図である。図9に例示するように、処理結果テーブル204は、クライアント300毎、かつ、再送されたものではないと判定された要求メッセージ毎に、処理結果を記憶する。すなわち、後述するように、実施例2に係るサービス処理部107は、要求メッセージが再送されたものではない場合には、処理を行い、その処理結果を処理結果テーブル204に格納する。一方、サービス処理部107は、要求メッセージが再送されたものである場合には、改めて処理をすることなく処理結果テーブル204を参照して処理結果を取得する。
【0049】
このため、処理結果テーブル204は、例えば、再送されたものではないと判定された要求メッセージから抽出された判定要素と対応付けて、処理結果を記憶している。例えば、サービス処理部107は、認証を要求する認証要求メッセージであり、認証結果がOKであった場合、処理結果テーブル204に、『PORT_C1−100』及び『ID_C1−100』の組と対応付けて、処理結果『OK』を格納する。なお、処理結果テーブル204は、図9に例示したように単独で存在していてもよいし、判定要素テーブル203に『処理結果』を記憶するための列を追加し、サービス処理部107が、その列に要求メッセージの処理結果を格納してもよい。
【0050】
[実施例2に係る再送判定サーバ100の構成]
次に、実施例2に係る再送判定サーバ100を説明する。図4に例示するように、実施例2に係る再送判定サーバ100は、特に、要求メッセージ受信部101と、クライアント判定部102と、再送判定方式決定部103と、判定要素抽出部104と、再送判定実施部105と、判定要素登録部106と、サービス処理部107と、応答メッセージ送信部108とを有する。
【0051】
要求メッセージ受信部101は、クライアント300から送信された要求メッセージを受信し、受信した要求メッセージをクライアント判定部102に通知する。
【0052】
クライアント判定部102は、要求メッセージを送信したクライアント300が、サービスを提供するクライアント300であるか否かを判定する。具体的には、クライアント判定部102は、要求メッセージ受信部101から要求メッセージを受け取ると、該要求メッセージからクライアント300を識別する識別情報を抽出する。また、クライアント判定部102は、抽出した識別情報を用いてクライアント識別情報テーブル201を参照し、識別情報がクライアント識別情報テーブル201に記憶されているか否かを判定する。
【0053】
そして、クライアント判定部102は、識別情報がクライアント識別情報テーブル201に記憶されている場合には、要求メッセージを送信したクライアント300が、サービスを提供するクライアント300であると判定し、要求メッセージから抽出した識別情報を、再送判定方式決定部103に通知する。一方、クライアント判定部102は、識別情報がクライアント識別情報テーブル201に記憶されていない場合には、要求メッセージを送信したクライアント300が、サービスを提供するクライアント300でないと判定し、判定結果を応答メッセージ送信部108に通知する。
【0054】
再送判定方式決定部103は、クライアント300に紐づく再送判定方式を決定する。具体的には、再送判定方式決定部103は、クライアント判定部102から識別情報を受け取ると、識別情報を用いて再送判定方式情報テーブル202を参照し、識別情報に対応付けて記憶されている再送判定方式を取得することで、再送判定方式を決定する。そして、再送判定方式決定部103は、識別情報及び再送判定方式を、判定要素抽出部104に通知する。
【0055】
判定要素抽出部104は、再送判定方式に従って、要求メッセージから判定要素の値を抽出する。具体的には、判定要素抽出部104は、再送判定方式決定部103から識別情報及び再送判定方式を受け取ると、要求メッセージ受信部101から要求メッセージを受け取り、再送判定方式に規定された判定要素の値を、要求メッセージから抽出する。そして、判定要素抽出部104は、識別情報及び判定要素の値を、再送判定実施部105に通知する。
【0056】
再送判定実施部105は、再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定する。具体的には、再送判定実施部105は、判定要素抽出部104から識別情報及び判定要素の値を受け取ると、識別情報を用いて判定要素テーブル203を参照し、識別情報に対応付けて記憶されている判定要素の値を取得する。これらの判定要素の値は、過去の要求メッセージから抽出されたものである。
【0057】
そして、再送判定実施部105は、判定要素抽出部104から受け取った判定要素の値と、判定要素テーブル203から取得した判定要素の値とを比較し、同一であるか否かを判定する。再送判定実施部105は、同一であると判定した場合には、要求メッセージは再送されたものであるので、その判定結果を、識別情報及び判定要素抽出部104から受け取った判定要素の値とともに、判定要素登録部106に通知する。一方、再送判定実施部105は、同一でないと判定した場合には、要求メッセージは再送されたものではないので、その判定結果を、識別情報及び判定要素抽出部104から受け取った判定要素の値とともに、判定要素登録部106に通知する。
【0058】
判定要素登録部106は、判定要素の値を判定要素テーブル203に格納する。具体的には、判定要素登録部106は、再送判定実施部105から判定結果とともに識別情報及び判定要素の値を受け取ると、その判定結果が、「要求メッセージが再送されたものではない」ことを示す場合には、受け取った判定要素の値を判定要素テーブル203に格納する。すなわち、判定要素登録部106は、再送判定実施部105から受け取った識別情報を用いて判定要素テーブル203を参照し、識別情報に対応付けて、再送判定実施部105から受け取った判定要素の値を格納する。そして、判定要素登録部106は、判定結果とともに識別情報及び判定要素の値を、サービス処理部107に通知する。
【0059】
一方、判定要素登録部106は、判定結果が、「要求メッセージが再送されたものである」ことを示す場合には、判定結果とともに識別情報及び判定要素の値を、サービス処理部107に通知する。
【0060】
サービス処理部107は、要求メッセージの内容に応じた処理を行う。具体的には、サービス処理部107は、判定要素登録部106から判定結果とともに識別情報及び判定要素の値を受け取ると、判定結果が「要求メッセージが再送されたものではない」ことを示す場合には、要求メッセージ受信部101から要求メッセージを受け取り、要求メッセージの内容に応じた処理を行う。そして、サービス処理部107は、処理結果テーブル204を参照し、識別情報に対応付けて、判定要素の値と処理結果とを格納する。また、サービス処理部107は、判定結果及び処理結果を、応答メッセージ送信部108に通知する。
【0061】
一方、サービス処理部107は、判定結果が「要求メッセージが再送されたものである」ことを示す場合には、識別情報及び判定要素の値を用いて処理結果テーブル204を参照し、識別情報及び判定要素の値に対応付けて記憶されている処理結果を取得する。そして、サービス処理部107は、判定結果及び処理結果を、応答メッセージ送信部108に通知する。
【0062】
応答メッセージ送信部108は、サービス処理部107から判定結果及び処理結果を受け取ると、応答メッセージを作成し、クライアント300に送信する。なお、応答メッセージ送信部108は、クライアント判定部102において、サービスを提供するクライアント300でないと判定された場合にも、その判定結果をクライアント判定部102から受け取り、判定結果に応じた応答メッセージを作成し、クライアント300に送信する。
【0063】
[実施例2に係るクライアント300の構成]
次に、実施例2に係るクライアント300を説明する。図4に例示するように、実施例2に係るクライアント300は、特に、要求メッセージ送信部301と、再送制御部302とを有する。要求メッセージ送信部301は、要求メッセージを再送判定サーバ100に対して送信する。再送制御部302は、所定時間、再送判定サーバ100から応答メッセージを受信しない場合に、要求メッセージ送信部301によって前回送信された要求メッセージを再度送信する。
【0064】
[実施例2に係る再送判定システムによる処理手順]
次に、図10を用いて、実施例2に係る再送判定システムによる処理手順を説明する。図10は、実施例2に係る再送判定システムによる処理手順を示すシーケンス図である。なお、ここでは、クライアント300から送信された要求メッセージが、認証を要求する認証要求メッセージであることを想定する。
【0065】
図10に例示するように、クライアント300が、再送判定サーバ100に対して、認証要求メッセージを送信する(ステップS101)。例えば、認証要求メッセージには、図10に例示するように、送信元IPアドレス『IP_C1』、送信元ポート番号『PORT_C1−1』、Identifier『ID_C1−1』、及びAuthenticator『AT_C1−1』が含まれる。
【0066】
再送判定サーバ100において、要求メッセージ受信部101が認証要求メッセージを受信し、クライアント判定部102が、認証要求メッセージから送信元IPアドレス『IP_C1』を抽出し、送信元IPアドレス『IP_C1』によって識別されるクライアント300が、サービスを提供するクライアント300であるか否かを判定する。具体的には、クライアント判定部102は、送信元IPアドレス『IP_C1』を用いてデータベース200のクライアント識別情報テーブル201を参照する(ステップS102)。
【0067】
図10の例では、クライアント識別情報テーブル201に、識別情報『IP_C1』及び識別情報『IP_C2』が記憶されている。このため、クライアント判定部102は、「サービスを提供するクライアント300である」と判定する(ステップS103)。
【0068】
次に、再送判定サーバ100において、再送判定方式決定部103が、送信元IPアドレス『IP_C1』によって識別されるクライアント300に紐づく再送判定方式を決定する。具体的には、再送判定方式決定部103は、送信元IPアドレス『IP_C1』を用いてデータベース200の再送判定方式情報テーブル202を参照する(ステップS104)。
【0069】
図10の例では、再送判定方式情報テーブル202に、識別情報『IP_C1』と『ポート番号、Identifierは不変、Authenticatorは可変』とが対応付けて記憶されている。このため、再送判定方式決定部103は、『ポート番号、Identifierは不変、Authenticatorは可変』を取得することで、再送判定方式を決定する(ステップS105)。
【0070】
続いて、再送判定サーバ100において、判定要素抽出部104が、ステップS105において決定された再送判定方式に従って、認証要求メッセージから判定要素の値を抽出し、再送判定実施部105が、認証要求メッセージが再送されたものであるか否かを判定する。具体的には、再送判定実施部105は、識別情報『IP_C1』を用いて判定要素テーブル203を参照し、識別情報『IP_C1』に対応付けて記憶されている判定要素の値(『PORT_C1−100』及び『ID_C1−100』の組、及び、『PORT_C1−2』及び『ID_C1−2』の組)を取得する。
【0071】
そして、再送判定実施部105は、判定要素抽出部104によって抽出された判定要素の値と、判定要素テーブル203から取得した判定要素の値とを比較し、同一であるか否かを判定する(ステップS106)。図10の例では、再送判定実施部105は、同一でないと判定し(ステップS107)、認証要求メッセージは再送されたものではない(初めて受信した認証要求メッセージである)ので、その判定結果、識別情報及び判定要素抽出部104によって抽出された判定要素の値を、判定要素登録部106に通知する。判定要素登録部106は、図10に例示するように、識別情報『IP_C1』に対応付けて、『PORT_C1−1』及び『ID_C1−1』の組をさらに格納する。
【0072】
続いて、再送判定サーバ100において、サービス処理部107が、認証要求メッセージの内容に応じた処理を行う(ステップS108)。そして、サービス処理部107は、要求メッセージが再送されたものではない場合であるので、データベース200の処理結果テーブル204を参照し、識別情報に対応付けて、判定要素の値と処理結果とを格納する(ステップS109)。すなわち、サービス処理部107は、次に送信される可能性のある要求メッセージの再送判定用のデータとして、処理結果テーブル204に格納する。
【0073】
そして、再送判定サーバ100において、応答メッセージ送信部108が、認証応答メッセージを作成し、クライアント300に送信する(ステップS110)。
【0074】
さて、図10の例では、ステップS110において再送判定サーバ100によって送信された認証応答メッセージが、何らかの事情により、クライアント300に正常に到達しなかったことを想定する。
【0075】
このような場合、クライアント300は、再送制御を行い、認証要求メッセージを再送する(ステップS111)。ここで、ステップS111において再送する認証要求メッセージは、ステップS101において送信した認証要求メッセージの再送である。このため、クライアント300は、送信元ポート番号及びIdentifierを、ステップS101において送信した認証要求メッセージと同一になるように記述する。すなわち、認証要求メッセージには、送信元ポート番号『PORT_C1−1』及びIdentifier『ID_C1−1』が記述される。なお、Authenticator『AT_C1−2』は、ステップS101において送信した認証要求メッセージとは異なる。
【0076】
さて、再送判定サーバ100は、ステップS111において送信された認証要求メッセージを受信すると、上述したステップS102〜S105と同じ処理を行う(ステップS112)。そして、再送判定実施部105は、判定要素抽出部104によって抽出された判定要素の値と、判定要素テーブル203から取得した判定要素の値とを比較し、同一であるか否かを判定する(ステップS113)。
【0077】
すると、再送判定実施部105は、同一であると判定し、認証要求メッセージは再送されたものであるので、その判定結果、識別情報及び判定要素抽出部104によって抽出された判定要素の値を、判定要素登録部106に通知する。
【0078】
続いて、再送判定サーバ100において、サービス処理部107が、認証要求メッセージの内容に応じた処理を行う。ここで、サービス処理部107は、認証要求メッセージが再送されたものである場合であるので、識別情報及び判定要素の値を用いてデータベース200の処理結果テーブル204を参照し、識別情報及び判定要素の値に対応付けて記憶されている処理結果を取得する(ステップS114)。
【0079】
そして、再送判定サーバ100において、応答メッセージ送信部108が、認証応答メッセージを作成し、クライアント300に送信する(ステップS115)。
【0080】
[実施例2の効果]
上述したように、実施例2によれば、再送判定サーバ100は、クライアント300を識別する識別情報に対応付けて再送判定方式を記憶する再送判定方式情報テーブル202を備える。再送判定サーバ100において、要求メッセージ受信部101は、クライアント300から要求メッセージを受信する。再送判定方式決定部103は、要求メッセージから識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を再送判定方式情報テーブル202から取得することで、再送判定方式を決定する。再送判定実施部105は、決定された再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定する。応答メッセージ送信部108は、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント300に送信する。
【0081】
このようなことから、実施例2によれば、再送判定サーバ110は、クライアント300に応じて、適切な再送判定方式を決定してから再送判定を実施することができるので、多様なクライアント300に柔軟に対応することが可能になる。
【0082】
独自のルールで判定要素を要求メッセージにセットするクライアント300をサポートすることが可能になり、結果として、サービス提供エリアを拡大し、ユーザ数の増加が期待される。また、独自の再送制御を行うクライアント300が追加された場合であっても、再送判定サーバ100のモジュールを変更する必要はなく、再送判定方式をデータベース200に追加するだけで、再送判定が可能であるため、比較的、安価、かつ、短期間での新規クライアント300のサポートに結び付く。
【0083】
すなわち、再送判定システムの運用者は、クライアント300が将来的に追加された場合などには、クライアント識別情報テーブル201や再送判定方式情報テーブル202を更新し、追加されたクライアント300に関する識別情報や再送判定方式を追加格納するだけでよいので、簡単に対応することが可能である。なお、クライアント300の削除の場合も同様に、削除されたクライアント300に関する識別情報や再送判定方式を削除するだけでよいので、簡単に対応することが可能である。
【実施例3】
【0084】
次に、実施例3に係る再送判定システムを説明する。図11は、実施例3に係る再送判定システムの構成を説明するための図である。図11に例示するように、実施例3に係る再送判定システムにおいては、複数台の再送判定サーバ110が1台のデータベース210を共用する。例えば、システムの耐障害性などを目的とした場合に、このように、複数台の再送判定サーバ110が配置されることがある。
【0085】
しかしながら、クライアント310が、どの再送判定サーバ110にも要求メッセージを送信することができる状況を想定すると、新たな課題が生じる。すなわち、クライアント310と再送判定サーバ110との間の再送制御は、原則としては、1台の再送判定サーバ110に閉じて行われるものである。言い換えると、例えば、クライアント310から再送された要求メッセージが、前回の要求メッセージを受信した再送判定サーバ110とは異なる再送判定サーバ110によって受信された場合、再送された要求メッセージを受信した再送判定サーバ110は、要求メッセージが再送されたものであるか否かを判定することができない。
【0086】
実施例3に係る再送判定システムにおいては、それぞれの再送判定サーバ100によって行われた処理がデータベース210において連携されるように構成することで、この課題を解決する。以下、具体的に説明する。
【0087】
図11に例示するように、データベース210は、実施例2に係るデータベース200とほぼ同様の構成を有するが、同期対象テーブル214を新たに有し、また、処理結果テーブル204の替わりに付加情報テーブル215を有する点が、実施例2に係るデータベース200と異なる。
【0088】
同期対象テーブル214は、要求メッセージの種類毎に、複数台の再送判定サーバ110間で同期対象とする情報を規定する。同期対象テーブル214が記憶する情報は、例えば再送判定システムの運用者などによって予め登録される。また、同期対象テーブル214が記憶する情報は、サービス処理部117による処理に利用される。
【0089】
図12は、実施例3に係る同期対象テーブル214を説明するための図である。図12に例示するように、同期対象テーブル214は、要求メッセージの種類と、複数台の再送判定サーバ100間で同期対象として規定された情報の内容とを対応付けて記憶する。例えば、要求メッセージの内容が『認証要求』である場合には、サービス処理部117による処理結果、及び、認証失敗回数の累積値を、複数台の再送判定サーバ110間で同期対象とすることを示す。一方、要求メッセージの内容が『サービス要求』である場合には、サービス処理部117による処理結果を、複数台の再送判定サーバ110間で同期対象とすることを示す。
【0090】
付加情報テーブル215は、処理結果に加え、同期対象とする情報そのものを記憶する。付加情報テーブル215が記憶するこれらの情報は、サービス処理部117によって格納され、また、サービス処理部117による処理に利用される。
【0091】
図13は、実施例3に係る付加情報テーブル215を説明するための図である。図13に例示するように、付加情報テーブル215は、クライアント310毎、かつ、再送されたものではないと判定された要求メッセージ毎に、処理結果及び同期対象とする情報を記憶する。なお、付加情報テーブル215は、図13に例示したように単独で存在していてもよいし、判定要素テーブル213に『処理結果』などの付加情報を記憶するための列を追加し、サービス処理部117が、その列に要求メッセージの処理結果などの付加情報を格納してもよい。
【0092】
実施例3に係るサービス処理部117は、要求メッセージの内容に応じた処理を行うと、同期対象テーブル214を参照し、要求メッセージの種別に対応付けて記憶されている同期対象として規定された情報の内容を取得する。そして、サービス処理部117は、処理結果を付加情報テーブル215に格納するとともに、同期対象として規定された情報そのものを付加情報テーブル215に格納する。
【0093】
例えば、サービス処理部117は、要求メッセージの種別が認証要求メッセージであり、かつ、認証要求メッセージが再送されたものではない場合には、認証処理を行い、その処理結果を付加情報テーブル215に格納するとともに、認証処理の結果が認証失敗である場合には、付加情報テーブル215に記憶されている認証失敗回数をカウントアップする。
【0094】
一方、サービス処理部117は、要求メッセージの種別が認証要求メッセージであり、かつ、認証要求メッセージが再送されたものである場合には、改めて認証処理をすることなく付加情報テーブル215を参照して処理結果を取得する。なお、取得した認証処理の結果が認証失敗である場合には、サービス処理部117は、付加情報テーブル215に記憶されている認証失敗回数をカウントアップする。
【0095】
[実施例3に係る再送判定システムによる処理手順]
次に、図14を用いて、実施例3に係る再送判定システムによる処理手順を説明する。図14は、実施例3に係る再送判定システムによる処理手順を示すシーケンス図である。なお、ここでは、クライアント310から送信された要求メッセージが、認証を要求する認証要求メッセージであることを想定する。また、ステップS201〜S208の処理手順は、図10を用いて説明したステップS101〜S108の処理手順と同一であるので、説明を割愛する。
【0096】
サービス処理部117は、ステップS208において認証要求の処理を行うと、データベース210の同期対象テーブル214を参照する(ステップS209)。そして、サービス処理部117は、要求メッセージの内容が『認証要求』である場合には、サービス処理部117による処理結果、及び、認証失敗回数の累積値を、複数台の再送判定サーバ110間で同期対象とすることを取得する(ステップS210)。
【0097】
そして、サービス処理部117は、認証処理の処理結果を付加情報テーブル215に格納するとともに、認証処理の結果が認証失敗である場合であるので、付加情報テーブル215に記憶されている認証失敗回数をカウントアップする(ステップS211)。
【0098】
そして、再送判定サーバ110において、応答メッセージ送信部118が、認証応答メッセージを作成し、クライアント310に送信する(ステップS212)。
【0099】
さて、図14の例では、ステップS212において再送判定サーバ110によって送信された認証応答メッセージが、何らかの事情により、クライアント310に正常に到達しなかったことを想定する。
【0100】
このような場合、クライアント310は、再送制御を行い、認証要求メッセージを再送する(ステップS213)。ここで、ステップS213において再送する認証要求メッセージは、ステップS201において送信した認証要求メッセージの再送である。このため、クライアント310は、送信元ポート番号及びIdentifierを、ステップS201において送信した認証要求メッセージと同一になるように記述する。すなわち、認証要求メッセージには、送信元ポート番号『PORT_C1−1』及びIdentifier『ID_C1−1』が記述される。なお、Authenticator『AT_C1−2』は、ステップS201において送信した認証要求メッセージとは異なる。
【0101】
さて、再送判定サーバ110は、ステップS213において送信された認証要求メッセージを受信すると、上述したステップS202〜S205と同じ処理を行う(ステップS214)。そして、再送判定実施部115は、判定要素抽出部114によって抽出された判定要素の値と、判定要素テーブル213から取得した判定要素の値とを比較し、同一であるか否かを判定する(ステップS215)。
【0102】
すると、再送判定実施部115は、同一であると判定し(ステップS215)、認証要求メッセージは再送されたものであるので、その判定結果、識別情報及び判定要素抽出部114によって抽出された判定要素の値を、判定要素登録部116に通知する。
【0103】
続いて、再送判定サーバ110において、サービス処理部117が、認証要求メッセージの内容に応じた処理を行う。ここで、サービス処理部117は、要求メッセージが再送されたものである場合であるので、識別情報及び判定要素の値を用いてデータベース210の付加情報テーブル215を参照し、識別情報及び判定要素の値に対応付けて記憶されている処理結果を取得する(ステップS216)。また、サービス処理部117は、取得した認証処理の結果が認証失敗である場合には、付加情報テーブル215に記憶されている認証失敗回数をカウントアップする。
【0104】
そして、再送判定サーバ110において、応答メッセージ送信部118が、認証応答メッセージを作成し、クライアント310に送信する(ステップS217)。
【0105】
なお、図14に例示した処理手順では、判定要素抽出部114によって抽出された判定要素の値と、判定要素テーブル213から取得した判定要素の値とが同一である場合には再送とみなすとしているが、開示の技術はこれに限られるものではなく、要求メッセージから抽出した判定要素の値が予め規定した条件を満たせば再送とみなすようにしてもよい。
【0106】
[実施例3の効果]
上述したように、実施例3によれば、複数の再送判定サーバが同時に運用されている場合に、例えば、クライアントから再送された要求メッセージが、前回の要求メッセージを受信した再送判定サーバとは異なる再送判定サーバによって受信された場合であっても、再送された要求メッセージを受信した再送判定サーバは、共用するデータベースを参照することにより、要求メッセージが再送されたものであることを判定することができる。また、同期対象となる判定要素や、要求メッセージの種別毎の情報を、予め再送判定サーバで設定することにより、全ての情報を同期させる場合に比べて、ネットワークの帯域やサーバの処理負荷を軽減できる。
【実施例4】
【0107】
次に、実施例4に係る再送判定システムを説明する。図15は、実施例4に係る再送判定システムの構成を説明するための図である。図15に例示するように、実施例4に係る再送判定システムにおいては、複数台の再送判定サーバ120が、それぞれデータベース220を有する。このため、実施例4に係る再送判定システムにおいては、それぞれのデータベース220が連携されるように構成される。なお、実施例4においては、データベース220が再送判定サーバ120とは異なる筐体として実現されている例を説明するが、開示の技術はこれに限られるものではなく、データベース220と再送判定サーバ120とが1つの筐体として実現されている場合にも、同様に適用することができる。
【0108】
具体的には、実施例4に係る再送判定サーバ120は、実施例3に係る再送判定サーバ110と同様の構成に加え、さらに、サーバ間同期部129を有する。なお、図示を省略したが、再送判定サーバ120は、実施例3に係る再送判定サーバ110と同様、要求メッセージ受信部121、クライアント判定部122、再送判定方式決定部123、判定要素抽出部124、再送判定実施部125、判定要素登録部126、サービス処理部127、及び応答メッセージ送信部128を備える。また、データベース220は、実施例3に係るデータベース210と同様、クライアント識別情報テーブル221、再送判定方式情報テーブル222、同期対象テーブル224を備える。
【0109】
サーバ間同期部129は、複数台のデータベース220間で同期するテーブルとして、判定要素テーブル223及び付加情報テーブル225を監視しており、判定要素テーブル223及び付加情報テーブル225において情報の更新があったことを検知する。
【0110】
そして、サーバ間同期部129は、判定要素テーブル223及び付加情報テーブル225において情報の更新があったことを検知すると、その更新内容を、連携する他方の再送判定サーバ120のサーバ間同期部129に通知する。サーバ間同期部129は、連携する他方の再送判定サーバ120のサーバ間同期部129から更新内容を通知されると、通知された更新内容を、判定要素テーブル223及び付加情報テーブル225に反映する。
【0111】
なお、サーバ間同期部129による同期は、上記手法に限られない。例えば、サーバ間同期部129は、更新を検知するのではなく、所定の時間間隔で判定要素テーブル223及び付加情報テーブル225を監視し、判定要素テーブル223及び付加情報テーブル225に更新が生じていた場合に、連携する他方の再送判定サーバ120のサーバ間同期部129から更新内容を通知してもよい。
【0112】
なお、実施例4においても、要求メッセージから抽出された判定要素の値と、判定要素テーブル223から取得した判定要素の値とが同一である場合に再送とみなす手法に限られず、要求メッセージから抽出した判定要素の値が予め規定した条件を満たせば再送とみなすようにしてもよい。
【0113】
上述したように、実施例4によれば、1台のクライアント320が、要求メッセージを、複数台の再送判定サーバ120に送信し得る場合に、再送判定サーバ120のそれぞれは、クライアント320を識別する識別情報に対応付けて、該クライアント320から送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式として、要求メッセージに含まれる所定の判定要素を記憶する再送判定方式情報テーブル222を備える。また、再送判定サーバ120のそれぞれは、要求メッセージから抽出された判定要素の値を累積して記憶する判定要素テーブル223を備える。要求メッセージ受信部121は、クライアント320から要求メッセージを受信する。再送判定方式決定部123は、要求メッセージからクライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された所定の判定要素を再送判定方式情報テーブル222から取得することで、再送判定方式を決定する。再送判定実施部125は、決定された再送判定方式に従って、要求メッセージから所定の判定要素の値を抽出し、抽出した判定要素の値と、判定要素テーブル223に累積して記憶された判定要素の値それぞれとを比較し、判定要素の値が一致するか否かを判定することで、要求メッセージが再送されたものであるか否かを判定する。判定要素登録部126は、判定に用いられた判定要素の値であって要求メッセージから抽出された判定要素の値を、判定要素テーブル223に格納する。応答メッセージ送信部128は、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント320に送信する。サーバ間同期部129は、複数台の再送判定サーバ120間で、判定要素テーブル223によって記憶された判定要素の値を同期するように制御する。
【0114】
このようなことから、実施例4によれば、複数の再送判定サーバが同時に運用されている場合に、例えば、クライアントから再送された要求メッセージが、前回の要求メッセージを受信した再送判定サーバとは異なる再送判定サーバによって受信された場合であっても、再送された要求メッセージを受信した再送判定サーバは、他の再送判定サーバと同期されたデータベースを参照することにより、要求メッセージが再送されたものであることを判定することができる。
【0115】
また、同期対象となる判定要素や、要求メッセージの種別毎の情報を、予め再送判定サーバで設定することにより、全ての情報を同期させる場合に比べて、ネットワークの帯域やサーバの処理負荷を軽減できる。
【実施例5】
【0116】
さて、上記実施例1〜4を説明してきたが、開示の技術は、上記実施例に限られるものではなく、種々の異なる形態にて実施されてよいものである。
【0117】
上記実施例2〜4においては、再送判定サーバが、要求メッセージを送信したクライアントについて、サービスを提供する対象のクライアントであるか否かを判定することを想定していたが、開示の技術はこれに限られるものではない。例えば、再送判定サーバは、再送判定方式情報テーブルに、クライアントの識別情報と再送判定方式との対応付けを記憶しているが、別途、識別情報を記憶していないその他のクライアントに適用する再送判定方式を予め決定しておく手法を併用してもよい。
【0118】
すなわち、再送判定サーバは、必ずしも、サービスを提供する対象のクライアントであるか否かを判定しなくてもよく、要求メッセージを送信したクライアント全てについて、再送判定を行ってもよい。もっとも、この場合には、再送判定サーバ側でクライアントの識別情報を把握していないクライアントも存在し得ることになる。そこで、そのようなクライアントに適用する再送判定方式(以下、汎用再送判定方式)を予め決定しておき、再送判定サーバは、要求メッセージから抽出した識別情報を記憶していない場合には、予め決定しておいた汎用再送判定方式を適用することにより、再送判定方式を決定してもよい。
【0119】
また、上記実施例2〜4においては、要求メッセージが再送されたものではない場合、再送判定用のデータとして、該要求メッセージから抽出された判定要素の値をデータベースに格納したが、開示の技術はこれに限られるものではない。例えば、要求メッセージの種別によっては、必ずしも、過去の要求メッセージから抽出された判定要素の値を用いずに、再送判定を実施できる場合もある。このため、例えば、再送判定サーバは、クライアントの識別情報に対応付けて再送判定方式を記憶する際に、併せて要求メッセージの種別毎の再送判定方式も記憶し、種別によっては、再送判定に過去の判定要素の値を用いないことを記憶する。そして、再送判定サーバは、クライアントから受信した要求メッセージの種別を判別し、判別した種別が、再送判定に過去の判定要素の値を用いないものである場合には、要求メッセージから抽出した判定要素の値をデータベースに格納しなくてもよい。また、例えば、要求メッセージの種別によっては、再送制御によって再送された要求メッセージであるか否かに関わらず、再送判定サーバでは再送判定を行わず、必ず処理を行う場合がある。この場合、要求メッセージから抽出した判定要素の値をデータベースに格納しなくてもよい。
【0120】
[その他]
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順(図10、図14など)、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0121】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0122】
なお、上記実施例で説明した再送判定方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのIPネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【0123】
10 再送判定サーバ
20 クライアント情報記憶部
21 再送判定方式情報テーブル
31 要求メッセージ受信部
32 再送判定方式決定部
33 再送判定実施部
34 応答メッセージ送信部
40 クライアント

【特許請求の範囲】
【請求項1】
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、
前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段と
を備えたことを特徴とする再送判定装置。
【請求項2】
要求メッセージの種別に対応付けて、複数台の再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶手段と、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶手段から取得し、該同期対象情報に規定された同期すべき情報を複数台の前記再送判定装置間で同期するように制御する同期制御手段と
をさらに備えたことを特徴とする請求項1に記載の再送判定装置。
【請求項3】
再送判定装置としてのコンピュータは、
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部として機能し、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、
前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、
前記判定工程による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程と
を含んだことを特徴とする再送判定方法。
【請求項4】
前記再送判定装置としてのコンピュータは、
要求メッセージの種別に対応付けて、複数台の再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶部としてさらに機能し、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶部から取得し、該同期対象情報に規定された同期すべき情報を複数台の前記再送判定装置間で同期するように制御する同期制御工程をさらに含んだことを特徴とする請求項3に記載の再送判定方法。
【請求項5】
コンピュータを請求項1または2に記載の再送判定装置として機能させることを特徴とする再送判定プログラム。
【請求項6】
クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムであって、
1台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、
前記再送判定装置のそれぞれは、
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、
前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段と、
要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶手段と、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶手段から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御手段と
を備えたことを特徴とする再送判定システム。
【請求項7】
クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムにおける再送判定方法であって、
1台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、
前記再送判定装置としてのコンピュータそれぞれは、
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部、および、要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶部として機能し、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、
前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、
前記判定工程による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程と、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶部から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御工程と
を含んだことを特徴とする再送判定方法。

【図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


【公開番号】特開2011−223414(P2011−223414A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−91696(P2010−91696)
【出願日】平成22年4月12日(2010.4.12)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】