(57)【要約】【課題】多様なクライアントに柔軟に対応することを課題とする。【解決手段】再送判定サーバ１０は、クライアント４０を識別する識別情報に対応付けて再送判定方式を記憶する再送判定方式情報テーブル２１を備える。再送判定サーバ１０において、要求メッセージ受信部３１は、クライアント４０から要求メッセージを受信する。再送判定方式決定部３２は、要求メッセージから識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を再送判定方式情報テーブル２１から取得することで、再送判定方式を決定する。再送判定実施部３３は、決定された再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定する。応答メッセージ送信部３４は、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント４０に送信する。【選択図】図１
2011223414.tif 000002
【特許請求の範囲】
【請求項１】
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、
前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段と
を備えたことを特徴とする再送判定装置。
【請求項２】
要求メッセージの種別に対応付けて、複数台の再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶手段と、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶手段から取得し、該同期対象情報に規定された同期すべき情報を複数台の前記再送判定装置間で同期するように制御する同期制御手段と
をさらに備えたことを特徴とする請求項１に記載の再送判定装置。
【請求項３】
再送判定装置としてのコンピュータは、
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部として機能し、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、
前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、
前記判定工程による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程と
を含んだことを特徴とする再送判定方法。
【請求項４】
前記再送判定装置としてのコンピュータは、
要求メッセージの種別に対応付けて、複数台の再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶部としてさらに機能し、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶部から取得し、該同期対象情報に規定された同期すべき情報を複数台の前記再送判定装置間で同期するように制御する同期制御工程をさらに含んだことを特徴とする請求項３に記載の再送判定方法。
【請求項５】
コンピュータを請求項１または２に記載の再送判定装置として機能させることを特徴とする再送判定プログラム。
【請求項６】
クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムであって、
１台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、
前記再送判定装置のそれぞれは、
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、
前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段と、
要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶手段と、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶手段から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御手段と
を備えたことを特徴とする再送判定システム。
【請求項７】
クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムにおける再送判定方法であって、
１台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、
前記再送判定装置としてのコンピュータそれぞれは、
クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部、および、要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶部として機能し、
クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、
前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、
前記判定工程による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程と、
クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶部から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御工程と
を含んだことを特徴とする再送判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムに関する。
【背景技術】
【０００２】
従来、クライアントが要求メッセージをサーバに送信すると、サーバが要求メッセージの内容に応じた処理を行い、応答メッセージをクライアントに送信するネットワークシステムがある。一般に、クライアントが送信する要求メッセージや、サーバが送信する応答メッセージは、経由するネットワークや、メッセージを中継するネットワーク機器などの状態により、宛先に到達する前に喪失する可能性がある。このため、クライアントは、例えば、所定時間サーバから応答メッセージを受信しない場合に、要求メッセージの送信に失敗したと判定し、前回送信した要求メッセージを再度送信する再送制御を行う。
【０００３】
しかし、例えばネットワークの遅延によりメッセージの到達が遅れた場合や、サーバの負荷が高く、処理に時間を要した場合など、実際にはメッセージが喪失していないにも関わらず、クライアントにおいて応答メッセージの受信が遅れることがある。このとき、クライアントは、再送制御を行うので、サーバは、同一の要求メッセージを受信することになる。ネットワークやネットワーク機器の状態が悪く、クライアントによる再送制御が頻発する状況においては、サーバにおいて重複した処理が繰り返し行われるため、結果として、サーバに大きな負荷がかかる。これを防ぐためには、サーバにおいて、クライアントから送信された要求メッセージが再送されたものであるか否かを判定する再送判定を行う必要がある。
【０００４】
サーバが再送判定を行うにあたっては、クライアントにおいて、要求メッセージを一意に特定する要素を要求メッセージに記述することが多い。例えば、認証プロトコルとして広く利用されているＲＡＤＩＵＳ（Remote  Authentication  Dial  In  User  Service）では、要求メッセージのＩＰ（Internet  Protocol）アドレス、ポート番号、Identifier、Authenticatorを判定要素として規定している（ＲＦＣ（Request  For  Comment）２８６５）。クライアントによる再送制御によって送信された要求メッセージがサーバに到達すると、サーバは、要求メッセージに記述されている判定要素から、要求メッセージが再送されたものであるか否かを判定する。この再送判定により、サーバは、処理の重複を防ぐ。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“Remote  Authentication  Dial  In  User  Service  (RADIUS)”、［online］、［平成２２年４月１日検索］、インターネット＜URL：http://www.ietf.org/rfc/rfc2865.txt＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、多様なクライアントに柔軟に対応することができないという課題がある。上述したように、要求メッセージに記述される判定要素は、プロトコルによって予め規定されていることが多い。ところが、ベンダーによって独自に開発されたクライアントなど、予め規定された判定要素を再送判定で用いることを考慮しないクライアントが存在する。このようなクライアントは、再送する要求メッセージであるにも関わらず、規定に則っていない判定要素を要求メッセージに記述してサーバに再送する。すると、サーバにおいて予め規定された再送判定を実施しても、正しく再送判定することができない。
【０００７】
このように、多様なクライアントに柔軟に対応することができないということは、ある限定した範囲のクライアントにしか対応できないということでもあり、また、結果として、サービスの提供エリアを狭め、サービスを利用するユーザ数の増加を妨げることにもなってしまう。
【０００８】
開示の技術は、上記に鑑みてなされたものであって、多様なクライアントに柔軟に対応することが可能な再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、一つの態様において、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段とを備える。
【００１０】
また、本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、再送判定装置としてのコンピュータは、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部として機能し、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、前記判定肯定による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程とを含む。
【００１１】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、コンピュータを再送判定装置として機能させる。
【００１２】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムであって、１台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、前記再送判定装置のそれぞれは、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶手段と、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶手段から取得することで、再送判定方式を決定する決定手段と、前記決定手段によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定手段と、前記判定手段による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信手段と、要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶手段と、クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶手段から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御手段とを備える。
【００１３】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムは、他の態様において、クライアントから送信された要求メッセージに応じて処理を行い、処理の結果を含む応答メッセージを該クライアントに送信する再送判定装置を含む再送判定システムにおける再送判定方法であって、１台のクライアントが、要求メッセージを、複数台の前記再送判定装置に送信し得る場合に、前記再送判定装置としてのコンピュータそれぞれは、クライアントを識別する識別情報に対応付けて、該クライアントから送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式を記憶する記憶部、および、要求メッセージの種別に対応付けて、複数台の前記再送判定装置間で同期すべき情報を規定した同期対象情報を記憶する同期対象記憶部として機能し、クライアントから要求メッセージを受信すると、該要求メッセージから該クライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を前記記憶部から取得することで、再送判定方式を決定する決定工程と、前記決定工程によって決定された再送判定方式に従って、前記要求メッセージが再送されたものであるか否かを判定する判定工程と、前記判定工程による判定結果に基づいて前記要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアントに送信する送信工程と、クライアントから受信した前記要求メッセージから該要求メッセージの種別を抽出し、該種別に対応付けて記憶された同期対象情報を前記同期対象記憶部から取得し、該同期対象情報に規定された同期すべき情報を複数台の該再送判定装置間で同期するように制御する同期制御工程とを含む。
【発明の効果】
【００１４】
本願の開示する再送判定装置、再送判定方法、再送判定プログラム、及び再送判定システムの一つの態様によれば、多様なクライアントに柔軟に対応することが可能になるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る再送判定サーバの構成を説明するための図である。
【図２】図２は、実施例１に係る再送判定方式情報テーブルを説明するための図である。
【図３】図３は、実施例１に係る再送判定サーバによる処理手順を示すフローチャートである。
【図４】図４は、実施例２に係る再送判定システムの構成を説明するための図である。
【図５】図５は、実施例２に係る再送判定システムの概要を説明するための図である。
【図６】図６は、実施例２に係るクライアント識別情報テーブルを説明するための図である。
【図７】図７は、実施例２に係る再送判定方式情報テーブルを説明するための図である。
【図８】図８は、実施例２に係る判定要素テーブルを説明するための図である。
【図９】図９は、実施例２に係る処理結果テーブルを説明するための図である。
【図１０】図１０は、実施例２に係る再送判定システムによる処理手順を示すシーケンス図である。
【図１１】図１１は、実施例３に係る再送判定システムの構成を説明するための図である。
【図１２】図１２は、実施例３に係る同期対象テーブルを説明するための図である。
【図１３】図１３は、実施例３に係る付加情報テーブルを説明するための図である。
【図１４】図１４は、実施例３に係る再送判定システムによる処理手順を示すシーケンス図である。
【図１５】図１５は、実施例４に係る再送判定システムの構成を説明するための図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する再送判定装置（以下、再送判定サーバ）、再送判定方法、再送判定プログラム、及び再送判定システムの実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００１７】
まず、実施例１に係る再送判定サーバ１０を説明する。図１は、実施例１に係る再送判定サーバ１０の構成を説明するための図である。図１に例示するように、実施例１においては、再送判定サーバ１０とクライアント４０とが、ネットワークを介して相互に通信を行うことを想定する。具体的には、クライアント４０が要求メッセージを再送判定サーバ１０に送信すると、再送判定サーバ１０が要求メッセージの内容に応じた処理を行い、要求メッセージに応答する応答メッセージをクライアント４０に送信する。なお、図１においては、説明の便宜上、再送判定サーバ１０とクライアント４０とが１台ずつ例示されているが、開示の技術はこれに限られるものではない。例えば、再送判定サーバ１０とクライアント４０とが複数台ずつ設置される構成や、１台の再送判定サーバ１０と複数台のクライアント４０とが設置される構成などにも同様に適用することができる。
【００１８】
ここで、実施例１に係る再送判定サーバ１０は、図１に例示するように、特に、クライアント情報記憶部２０を有し、クライアント情報記憶部２０に、再送判定方式情報テーブル２１を有する。再送判定方式情報テーブル２１は、クライアント４０を識別する識別情報に対応付けて、該クライアント４０に応じた再送判定方式を記憶する。再送判定方式とは、クライアント４０から送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した情報である。
【００１９】
図２は、実施例１に係る再送判定方式情報テーブル２１を説明するための図である。図２に例示するように、再送判定方式情報テーブル２１は、クライアント４０を識別する識別情報と再送判定方式とを対応付けて記憶する。例えば、図２に例示する再送判定方式情報テーブル２１の１行目は、『クライアントＣ１』として識別されるクライアント４０から送信された要求メッセージは、『再送判定方式Ｒ１』に従って、再送されたものであるか否かが判定されることを示す。また、例えば、図２に例示する再送判定方式情報テーブル２１の２行目は、『クライアントＣ２』として識別されるクライアント４０から送信された要求メッセージは、『再送判定方式Ｒ２』に従って、再送されたものであるか否かが判定されることを示す。このように、クライアント４０に応じて再送判定方式が異なる場合がある。
【００２０】
図１に戻り、実施例１に係る再送判定サーバ１０は、図１に例示するように、特に、要求メッセージ受信部３１と、再送判定方式決定部３２と、再送判定実施部３３と、応答メッセージ送信部３４とを有する。
【００２１】
要求メッセージ受信部３１は、クライアント４０から要求メッセージを受信する。再送判定方式決定部３２は、再送判定方式を決定する。具体的には、再送判定方式決定部３２は、要求メッセージ受信部３１によって受信された要求メッセージからクライアント４０を識別する識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を再送判定方式情報テーブル２１から取得することで、再送判定方式を決定する。
【００２２】
再送判定実施部３３は、要求メッセージが再送されたものであるか否かを判定する。具体的には、再送判定実施部３３は、再送判定方式決定部３２によって決定された再送判定方式に従って、要求メッセージ受信部３１によって受信された要求メッセージが再送されたものであるか否かを判定する。応答メッセージ送信部３４は、応答メッセージをクライアント４０に送信する。具体的には、応答メッセージ送信部３４は、再送判定実施部３３による判定結果に基づいて要求メッセージに応答する応答メッセージを作成し、該応答メッセージを該要求メッセージを送信したクライアント４０に送信する。
【００２３】
図３は、実施例１に係る再送判定サーバ１０による処理手順を示すフローチャートである。実施例１に係る再送判定サーバ１０は、クライアント４０から要求メッセージを受信すると（ステップＳ１肯定）、該要求メッセージから該クライアント４０を識別する識別情報を抽出し、該識別情報を用いて再送判定方式情報テーブル２１を参照し、再送判定方式を決定する（ステップＳ２）。
【００２４】
続いて、再送判定サーバ１０は、ステップＳ２において決定された再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定し（ステップＳ３）、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント４０に送信する（ステップＳ４）。
【００２５】
このようなことから、実施例１によれば、再送判定サーバ１０は、クライアント４０に応じて、適切な再送判定方式を決定してから再送判定を実施することができるので、多様なクライアント４０に柔軟に対応することが可能になる。
【実施例２】
【００２６】
次に、実施例２に係る再送判定システムを説明する。図４は、実施例２に係る再送判定システムの構成を説明するための図である。図４に例示するように、実施例２において、再送判定システムは、再送判定サーバ１００と、データベース２００とを含む。すなわち、図４に例示するように、再送判定サーバ１００は、主に制御部として機能し、データベース２００は、主に記憶部として機能する。もっとも、開示の技術はこれに限られるものではなく、再送判定サーバ１００とデータベース２００とが物理的に１台の筐体として実現されてもよい。また、実施例１と同様、再送判定サーバ１００、データベース２００、クライアント３００の台数は、１台ずつに限られるものではない。
【００２７】
［実施例２に係る再送判定システムの概要］
ここで、実施例２に係る再送判定システムの構成を詳細に説明する前に、図５を用いて、実施例２に係る再送判定システムの概要を説明する。図５は、実施例２に係る再送判定システムの概要を説明するための図である。
【００２８】
図５に例示するように、再送判定サーバ１００は、クライアント３００から送信された要求メッセージを受信すると（ステップＳ１〜Ｓ２）、該要求メッセージから該クライアント３００を識別する識別情報『クライアントＣ１』を抽出し、サービスを提供するクライアント３００であるか否かを判定する（ステップＳ３）。
【００２９】
具体的には、再送判定サーバ１００は、データベース２００のクライアント識別情報テーブルを参照し、識別情報『クライアントＣ１』がクライアント識別情報テーブルに記憶されているか否かを判定する。クライアント識別情報テーブルに記憶されていれば、サービスを提供するクライアント３００であり、記憶されていなければ、サービスを提供するクライアント３００ではないことになる。図５の例では、クライアント識別情報テーブルに、識別情報『クライアントＣ１』及び識別情報『クライアントＣ２』が記憶されている。このため、再送判定サーバ１００は、「サービスを提供するクライアント３００である」（図５において『ＯＫ』）と判定する。
【００３０】
次に、再送判定サーバ１００は、要求メッセージから抽出した識別情報『クライアントＣ１』を用いて、クライアント３００に紐づく再送判定方式を決定する（ステップＳ４）。具体的には、再送判定サーバ１００は、データベース２００の再送判定方式情報テーブルを参照し、識別情報『クライアントＣ１』に対応付けて記憶されている再送判定方式を取得することで、再送判定方式を決定する。図５の例では、再送判定方式情報テーブルに、識別情報『クライアントＣ１』と『再送判定方式Ｒ１』とが対応付けて記憶されている。このため、再送判定サーバ１００は、『再送判定方式Ｒ１』を取得することで、クライアント３００に紐づく再送判定方式を決定する。なお、『再送判定方式Ｒ１』には、図５に例示するように、『ａ１』、・・・、『ａｎ』が判定要素であることが規定されている。
【００３１】
なお、図５に例示したように、クライアント識別情報テーブルは単独で存在していてもよいし、クライアント識別情報テーブルと再送判定方式情報テーブルとが１つのテーブル又は関係しているテーブルであって、再送判定サーバ１００とデータベース２００との間の２往復の処理を１往復の処理で実施してもよい。すなわち、クライアント識別情報テーブルと再送判定方式情報テーブルとが１つのテーブル又は関係しているテーブルである場合には、再送判定サーバ１００が、データベース２００を参照して識別情報『クライアントＣ１』が記憶されているか否かを判定する処理、及び、データベース２００を参照して識別情報『クライアントＣ１』に対応付けて記憶されている再送判定方式を取得する処理、これら併せて２往復の処理を、データベース２００を参照して、識別情報『クライアントＣ１』が記憶されているか否かを判定するとともに識別情報『クライアントＣ１』に対応付けて記憶されている再送判定方式を取得する１往復の処理で実施してもよい。
【００３２】
続いて、再送判定サーバ１００は、受信した要求メッセージから判定要素の値を抽出する（ステップＳ５）。図５の例では、再送判定サーバ１００は、判定要素の値として、『ｍ（ａ１）』、『ｍ（ａ２）』、・・・、『ｍ（ａｎ）』を抽出する。
【００３３】
また、再送判定サーバ１００は、データベース２００から、過去に受信した要求メッセージから抽出された判定要素の値を取得する（ステップＳ６）。具体的には、再送判定サーバ１００は、データベース２００の判定要素テーブルを参照し、『クライアントＣ１用テーブル』に記憶されている判定要素の値を取得する。図５の例では、再送判定サーバ１００は、過去の判定要素の値として、｛『ｄ１（ａ１）』、『ｄ１（ａ２）』、・・・、『ｄ１（ａｎ）』｝及び｛『ｄ２（ａ１）』、『ｄ２（ａ２）』、・・・、『ｄ２（ａｎ）』｝を取得する。
【００３４】
そして、再送判定サーバ１００は、要求メッセージから抽出した判定要素の値と、データベース２００から取得した判定要素の値とを比較し、要求メッセージが再送されたものであるか否かを判定する（ステップＳ７）。図５の例では、再送判定サーバ１００は、要求メッセージから抽出した判定要素の値｛『ｍ（ａ１）』、『ｍ（ａ２）』、・・・、『ｍ（ａｎ）』｝と、過去の判定要素の値｛『ｄ１（ａ１）』、『ｄ１（ａ２）』、・・・、『ｄ１（ａｎ）』｝及び｛『ｄ２（ａ１）』、『ｄ２（ａ２）』、・・・、『ｄ２（ａｎ）』｝とをそれぞれ比較する。要求メッセージから抽出した判定要素の値と、過去の判定要素の値とが一致すれば、要求メッセージは再送されたものであり、一致しなければ、要求メッセージは再送されたものではないことになる。
【００３５】
再送判定サーバ１００は、「要求メッセージは再送されたものである」と判定した場合には、応答メッセージを作成し（ステップＳ９）、該応答メッセージをクライアント３００に送信する（ステップＳ１０）。一方、再送判定サーバ１００は、「要求メッセージは再送されたものではない」と判定した場合には、要求メッセージから抽出した判定要素の値｛『ｍ（ａ１）』、『ｍ（ａ２）』、・・・、『ｍ（ａｎ）』｝や、その他付随する情報｛『ｅ１（ｍ）』、・・・、『ｅｍ（ｍ）』｝を、データベース２００に格納する（ステップＳ８）。なお、付随する情報については、後に詳述するが、例えば、再送判定サーバ１００において要求メッセージの内容に応じて行われた処理の処理結果などが該当する。
【００３６】
そして、「要求メッセージは再送されたものである」と判定した場合と同様、再送判定サーバ１００は、応答メッセージを作成し（ステップＳ９）、応答メッセージをクライアント３００に送信する（ステップＳ１０）。なお、「要求メッセージは再送されたものである」と判定した場合に作成される応答メッセージと、「要求メッセージは再送されたものではない」と判定した場合に作成される応答メッセージとは、異なる場合がある。例えば、再送判定サーバ１００は、要求メッセージが再送されたものである場合には、例えば「既に３回同一の要求メッセージを受信しています」という旨のメッセージを含む応答メッセージを作成するなどしてもよい。
【００３７】
［実施例２に係るデータベース２００の構成］
さて、上述のような概要の再送判定システムについて、図４及び図６〜１０を用いて、詳細に説明する。まず、実施例２に係るデータベース２００を説明する。図４に例示するように、実施例２に係るデータベース２００は、特に、クライアント識別情報テーブル２０１と、再送判定方式情報テーブル２０２と、判定要素テーブル２０３と、処理結果テーブル２０４とを有する。
【００３８】
クライアント識別情報テーブル２０１は、サービスを提供する対象のクライアント３００の識別情報を記憶する。クライアント識別情報テーブル２０１が記憶するクライアント３００の識別情報は、例えば再送判定システムの運用者などによって予め登録される。また、クライアント識別情報テーブル２０１が記憶するクライアント３００の識別情報は、後述するクライアント判定部１０２による処理に利用される。
【００３９】
図６は、実施例２に係るクライアント識別情報テーブル２０１を説明するための図である。図６に例示するように、クライアント識別情報テーブル２０１は、例えば、クライアント３００の識別情報として、ＩＰアドレスを記憶する。例えば『ＩＰ＿Ｃ１』は、識別情報『クライアントＣ１』によって識別されるクライアント３００のＩＰアドレスを示す。
【００４０】
再送判定方式情報テーブル２０２は、クライアント３００を識別する識別情報に対応付けて再送判定方式を記憶する。再送判定方式情報テーブル２０２が記憶する識別情報と再送判定方式との対応付けは、例えば再送判定システムの運用者などによって予め登録される。また、再送判定方式情報テーブル２０２が記憶する識別情報と再送判定方式との対応付けは、後述する再送判定方式決定部１０３による処理に利用される。
【００４１】
図７は、実施例２に係る再送判定方式情報テーブル２０２を説明するための図である。図７に例示するように、再送判定方式情報テーブル２０２は、例えば、識別情報『ＩＰ＿Ｃ１』に対応付けて、再送判定方式として『ポート番号、Identifierは不変、Authenticatorは可変』を記憶する。これは、識別情報『ＩＰ＿Ｃ１』によって識別されるクライアント３００から送信された要求メッセージが再送されたものであるか否かを判定する場合には、再送されたものであれば『ポート番号』及び『Identifier』が不変、すなわち過去に受信された要求メッセージと同一となるはずであるので、『ポート番号』及び『Identifier』が同一であるか否かを判定することで、要求メッセージが再送されたものであるか否かを判定することができることを示す。なお、図７に例示した再送判定方式では、要求メッセージから抽出した判定要素の値と、判定要素テーブル２０３に記憶されている判定要素の値とが同一である場合には再送とみなすとしているが、開示の技術はこれに限られるものではなく、要求メッセージから抽出した判定要素の値が予め規定した条件を満たせば再送とみなすようにしてもよい。
【００４２】
一方、図７に例示するように、再送判定方式情報テーブル２０２は、例えば、識別情報『ＩＰ＿Ｃ２』に対応付けて、再送判定方式として『ポート番号、Identifier、Authenticatorは不変』を記憶する。これは、識別情報『ＩＰ＿Ｃ２』によって識別されるクライアント３００から送信された要求メッセージが再送されたものであるか否かを判定する場合には、再送されたものであれば『ポート番号』、『Identifier』及び『Authenticator』が不変、すなわち過去に受信された要求メッセージと同一となるはずであるので、『ポート番号』、『Identifier』及び『Authenticator』が同一であるか否かを判定することで、要求メッセージが再送されたものであるか否かを判定することができることを示す。
【００４３】
判定要素テーブル２０３は、要求メッセージから抽出された判定要素を記憶する。判定要素テーブル２０３が記憶する判定要素は、後述する判定要素登録部１０６によって格納され、また、後述する再送判定実施部１０５による処理に利用される。なお、判定要素テーブル２０３は、要求メッセージから抽出された判定要素を記憶しているが、判定要素テーブル２０３の運用管理にあたっては、記憶サイズに上限を設けて、上限を超えた場合には古い情報から手動又は自動で削除してもよい。また、記憶期間を設けて、期間を超えた古い情報を手動又は自動で削除するようにしてもよい。
【００４４】
図８は、実施例２に係る判定要素テーブル２０３を説明するための図である。図８の（Ａ）に例示するように、判定要素テーブル２０３は、クライアント３００毎に、要求メッセージから抽出された判定要素を記憶する。例えば、判定要素テーブル２０３は、識別情報『ＩＰ＿Ｃ１』によって識別されるクライアント３００について、２つの要求メッセージから抽出された判定要素を記憶する。図７の例を用いて説明したように、識別情報『ＩＰ＿Ｃ１』によって識別されるクライアント３００の再送判定方式は、『ポート番号』及び『Identifier』が同一であるか否かを判定する方式である。このため、判定要素テーブル２０３は、例えば『ＰＯＲＴ＿Ｃ１−１００』及び『ＩＤ＿Ｃ１−１００』の組と、例えば『ＰＯＲＴ＿Ｃ１−２』及び『ＩＤ＿Ｃ１−２』の組とを記憶する。
【００４５】
ここで、判定要素テーブル２０３は、２つの要求メッセージから抽出された判定要素を記憶するが、これは、必ずしも、クライアント３００から要求メッセージが送信された回数が２回であることを示すものではない。すなわち、後述するように、実施例２に係る判定要素登録部１０６は、要求メッセージが再送されたものである場合には、判定要素を判定要素テーブル２０３に格納しない。したがって、判定要素テーブル２０３は、再送されたものではない要求メッセージから抽出された判定要素を記憶している。
【００４６】
例えば、図８の（Ｂ）に例示するように、判定要素テーブル２０３は、識別情報『ＩＰ＿Ｃ１』によって識別されるクライアント３００について、さらに、例えば『ＰＯＲＴ＿Ｃ１−１』及び『ＩＤ＿Ｃ１−１』の組を記憶している（図８の（Ｂ）において太枠で示す）。これは、『ポート番号』及び『Identifier』が過去の要求メッセージから抽出された判定要素と同一でなく、「要求メッセージは再送されたものではない」と判定された場合に、判定要素登録部１０６が、識別情報『ＩＰ＿Ｃ１』に対応付けて、『ＰＯＲＴ＿Ｃ１−１』及び『ＩＤ＿Ｃ１−１』の組を格納したことを示す。
【００４７】
処理結果テーブル２０４は、処理結果を記憶する。処理結果テーブル２０４が記憶する処理結果は、後述するサービス処理部１０７によって格納され、また、サービス処理部１０７による処理に利用される。
【００４８】
図９は、実施例２に係る処理結果テーブル２０４を説明するための図である。図９に例示するように、処理結果テーブル２０４は、クライアント３００毎、かつ、再送されたものではないと判定された要求メッセージ毎に、処理結果を記憶する。すなわち、後述するように、実施例２に係るサービス処理部１０７は、要求メッセージが再送されたものではない場合には、処理を行い、その処理結果を処理結果テーブル２０４に格納する。一方、サービス処理部１０７は、要求メッセージが再送されたものである場合には、改めて処理をすることなく処理結果テーブル２０４を参照して処理結果を取得する。
【００４９】
このため、処理結果テーブル２０４は、例えば、再送されたものではないと判定された要求メッセージから抽出された判定要素と対応付けて、処理結果を記憶している。例えば、サービス処理部１０７は、認証を要求する認証要求メッセージであり、認証結果がＯＫであった場合、処理結果テーブル２０４に、『ＰＯＲＴ＿Ｃ１−１００』及び『ＩＤ＿Ｃ１−１００』の組と対応付けて、処理結果『ＯＫ』を格納する。なお、処理結果テーブル２０４は、図９に例示したように単独で存在していてもよいし、判定要素テーブル２０３に『処理結果』を記憶するための列を追加し、サービス処理部１０７が、その列に要求メッセージの処理結果を格納してもよい。
【００５０】
［実施例２に係る再送判定サーバ１００の構成］
次に、実施例２に係る再送判定サーバ１００を説明する。図４に例示するように、実施例２に係る再送判定サーバ１００は、特に、要求メッセージ受信部１０１と、クライアント判定部１０２と、再送判定方式決定部１０３と、判定要素抽出部１０４と、再送判定実施部１０５と、判定要素登録部１０６と、サービス処理部１０７と、応答メッセージ送信部１０８とを有する。
【００５１】
要求メッセージ受信部１０１は、クライアント３００から送信された要求メッセージを受信し、受信した要求メッセージをクライアント判定部１０２に通知する。
【００５２】
クライアント判定部１０２は、要求メッセージを送信したクライアント３００が、サービスを提供するクライアント３００であるか否かを判定する。具体的には、クライアント判定部１０２は、要求メッセージ受信部１０１から要求メッセージを受け取ると、該要求メッセージからクライアント３００を識別する識別情報を抽出する。また、クライアント判定部１０２は、抽出した識別情報を用いてクライアント識別情報テーブル２０１を参照し、識別情報がクライアント識別情報テーブル２０１に記憶されているか否かを判定する。
【００５３】
そして、クライアント判定部１０２は、識別情報がクライアント識別情報テーブル２０１に記憶されている場合には、要求メッセージを送信したクライアント３００が、サービスを提供するクライアント３００であると判定し、要求メッセージから抽出した識別情報を、再送判定方式決定部１０３に通知する。一方、クライアント判定部１０２は、識別情報がクライアント識別情報テーブル２０１に記憶されていない場合には、要求メッセージを送信したクライアント３００が、サービスを提供するクライアント３００でないと判定し、判定結果を応答メッセージ送信部１０８に通知する。
【００５４】
再送判定方式決定部１０３は、クライアント３００に紐づく再送判定方式を決定する。具体的には、再送判定方式決定部１０３は、クライアント判定部１０２から識別情報を受け取ると、識別情報を用いて再送判定方式情報テーブル２０２を参照し、識別情報に対応付けて記憶されている再送判定方式を取得することで、再送判定方式を決定する。そして、再送判定方式決定部１０３は、識別情報及び再送判定方式を、判定要素抽出部１０４に通知する。
【００５５】
判定要素抽出部１０４は、再送判定方式に従って、要求メッセージから判定要素の値を抽出する。具体的には、判定要素抽出部１０４は、再送判定方式決定部１０３から識別情報及び再送判定方式を受け取ると、要求メッセージ受信部１０１から要求メッセージを受け取り、再送判定方式に規定された判定要素の値を、要求メッセージから抽出する。そして、判定要素抽出部１０４は、識別情報及び判定要素の値を、再送判定実施部１０５に通知する。
【００５６】
再送判定実施部１０５は、再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定する。具体的には、再送判定実施部１０５は、判定要素抽出部１０４から識別情報及び判定要素の値を受け取ると、識別情報を用いて判定要素テーブル２０３を参照し、識別情報に対応付けて記憶されている判定要素の値を取得する。これらの判定要素の値は、過去の要求メッセージから抽出されたものである。
【００５７】
そして、再送判定実施部１０５は、判定要素抽出部１０４から受け取った判定要素の値と、判定要素テーブル２０３から取得した判定要素の値とを比較し、同一であるか否かを判定する。再送判定実施部１０５は、同一であると判定した場合には、要求メッセージは再送されたものであるので、その判定結果を、識別情報及び判定要素抽出部１０４から受け取った判定要素の値とともに、判定要素登録部１０６に通知する。一方、再送判定実施部１０５は、同一でないと判定した場合には、要求メッセージは再送されたものではないので、その判定結果を、識別情報及び判定要素抽出部１０４から受け取った判定要素の値とともに、判定要素登録部１０６に通知する。
【００５８】
判定要素登録部１０６は、判定要素の値を判定要素テーブル２０３に格納する。具体的には、判定要素登録部１０６は、再送判定実施部１０５から判定結果とともに識別情報及び判定要素の値を受け取ると、その判定結果が、「要求メッセージが再送されたものではない」ことを示す場合には、受け取った判定要素の値を判定要素テーブル２０３に格納する。すなわち、判定要素登録部１０６は、再送判定実施部１０５から受け取った識別情報を用いて判定要素テーブル２０３を参照し、識別情報に対応付けて、再送判定実施部１０５から受け取った判定要素の値を格納する。そして、判定要素登録部１０６は、判定結果とともに識別情報及び判定要素の値を、サービス処理部１０７に通知する。
【００５９】
一方、判定要素登録部１０６は、判定結果が、「要求メッセージが再送されたものである」ことを示す場合には、判定結果とともに識別情報及び判定要素の値を、サービス処理部１０７に通知する。
【００６０】
サービス処理部１０７は、要求メッセージの内容に応じた処理を行う。具体的には、サービス処理部１０７は、判定要素登録部１０６から判定結果とともに識別情報及び判定要素の値を受け取ると、判定結果が「要求メッセージが再送されたものではない」ことを示す場合には、要求メッセージ受信部１０１から要求メッセージを受け取り、要求メッセージの内容に応じた処理を行う。そして、サービス処理部１０７は、処理結果テーブル２０４を参照し、識別情報に対応付けて、判定要素の値と処理結果とを格納する。また、サービス処理部１０７は、判定結果及び処理結果を、応答メッセージ送信部１０８に通知する。
【００６１】
一方、サービス処理部１０７は、判定結果が「要求メッセージが再送されたものである」ことを示す場合には、識別情報及び判定要素の値を用いて処理結果テーブル２０４を参照し、識別情報及び判定要素の値に対応付けて記憶されている処理結果を取得する。そして、サービス処理部１０７は、判定結果及び処理結果を、応答メッセージ送信部１０８に通知する。
【００６２】
応答メッセージ送信部１０８は、サービス処理部１０７から判定結果及び処理結果を受け取ると、応答メッセージを作成し、クライアント３００に送信する。なお、応答メッセージ送信部１０８は、クライアント判定部１０２において、サービスを提供するクライアント３００でないと判定された場合にも、その判定結果をクライアント判定部１０２から受け取り、判定結果に応じた応答メッセージを作成し、クライアント３００に送信する。
【００６３】
［実施例２に係るクライアント３００の構成］
次に、実施例２に係るクライアント３００を説明する。図４に例示するように、実施例２に係るクライアント３００は、特に、要求メッセージ送信部３０１と、再送制御部３０２とを有する。要求メッセージ送信部３０１は、要求メッセージを再送判定サーバ１００に対して送信する。再送制御部３０２は、所定時間、再送判定サーバ１００から応答メッセージを受信しない場合に、要求メッセージ送信部３０１によって前回送信された要求メッセージを再度送信する。
【００６４】
［実施例２に係る再送判定システムによる処理手順］
次に、図１０を用いて、実施例２に係る再送判定システムによる処理手順を説明する。図１０は、実施例２に係る再送判定システムによる処理手順を示すシーケンス図である。なお、ここでは、クライアント３００から送信された要求メッセージが、認証を要求する認証要求メッセージであることを想定する。
【００６５】
図１０に例示するように、クライアント３００が、再送判定サーバ１００に対して、認証要求メッセージを送信する（ステップＳ１０１）。例えば、認証要求メッセージには、図１０に例示するように、送信元ＩＰアドレス『ＩＰ＿Ｃ１』、送信元ポート番号『ＰＯＲＴ＿Ｃ１−１』、Identifier『ＩＤ＿Ｃ１−１』、及びAuthenticator『ＡＴ＿Ｃ１−１』が含まれる。
【００６６】
再送判定サーバ１００において、要求メッセージ受信部１０１が認証要求メッセージを受信し、クライアント判定部１０２が、認証要求メッセージから送信元ＩＰアドレス『ＩＰ＿Ｃ１』を抽出し、送信元ＩＰアドレス『ＩＰ＿Ｃ１』によって識別されるクライアント３００が、サービスを提供するクライアント３００であるか否かを判定する。具体的には、クライアント判定部１０２は、送信元ＩＰアドレス『ＩＰ＿Ｃ１』を用いてデータベース２００のクライアント識別情報テーブル２０１を参照する（ステップＳ１０２）。
【００６７】
図１０の例では、クライアント識別情報テーブル２０１に、識別情報『ＩＰ＿Ｃ１』及び識別情報『ＩＰ＿Ｃ２』が記憶されている。このため、クライアント判定部１０２は、「サービスを提供するクライアント３００である」と判定する（ステップＳ１０３）。
【００６８】
次に、再送判定サーバ１００において、再送判定方式決定部１０３が、送信元ＩＰアドレス『ＩＰ＿Ｃ１』によって識別されるクライアント３００に紐づく再送判定方式を決定する。具体的には、再送判定方式決定部１０３は、送信元ＩＰアドレス『ＩＰ＿Ｃ１』を用いてデータベース２００の再送判定方式情報テーブル２０２を参照する（ステップＳ１０４）。
【００６９】
図１０の例では、再送判定方式情報テーブル２０２に、識別情報『ＩＰ＿Ｃ１』と『ポート番号、Identifierは不変、Authenticatorは可変』とが対応付けて記憶されている。このため、再送判定方式決定部１０３は、『ポート番号、Identifierは不変、Authenticatorは可変』を取得することで、再送判定方式を決定する（ステップＳ１０５）。
【００７０】
続いて、再送判定サーバ１００において、判定要素抽出部１０４が、ステップＳ１０５において決定された再送判定方式に従って、認証要求メッセージから判定要素の値を抽出し、再送判定実施部１０５が、認証要求メッセージが再送されたものであるか否かを判定する。具体的には、再送判定実施部１０５は、識別情報『ＩＰ＿Ｃ１』を用いて判定要素テーブル２０３を参照し、識別情報『ＩＰ＿Ｃ１』に対応付けて記憶されている判定要素の値（『ＰＯＲＴ＿Ｃ１−１００』及び『ＩＤ＿Ｃ１−１００』の組、及び、『ＰＯＲＴ＿Ｃ１−２』及び『ＩＤ＿Ｃ１−２』の組）を取得する。
【００７１】
そして、再送判定実施部１０５は、判定要素抽出部１０４によって抽出された判定要素の値と、判定要素テーブル２０３から取得した判定要素の値とを比較し、同一であるか否かを判定する（ステップＳ１０６）。図１０の例では、再送判定実施部１０５は、同一でないと判定し（ステップＳ１０７）、認証要求メッセージは再送されたものではない（初めて受信した認証要求メッセージである）ので、その判定結果、識別情報及び判定要素抽出部１０４によって抽出された判定要素の値を、判定要素登録部１０６に通知する。判定要素登録部１０６は、図１０に例示するように、識別情報『ＩＰ＿Ｃ１』に対応付けて、『ＰＯＲＴ＿Ｃ１−１』及び『ＩＤ＿Ｃ１−１』の組をさらに格納する。
【００７２】
続いて、再送判定サーバ１００において、サービス処理部１０７が、認証要求メッセージの内容に応じた処理を行う（ステップＳ１０８）。そして、サービス処理部１０７は、要求メッセージが再送されたものではない場合であるので、データベース２００の処理結果テーブル２０４を参照し、識別情報に対応付けて、判定要素の値と処理結果とを格納する（ステップＳ１０９）。すなわち、サービス処理部１０７は、次に送信される可能性のある要求メッセージの再送判定用のデータとして、処理結果テーブル２０４に格納する。
【００７３】
そして、再送判定サーバ１００において、応答メッセージ送信部１０８が、認証応答メッセージを作成し、クライアント３００に送信する（ステップＳ１１０）。
【００７４】
さて、図１０の例では、ステップＳ１１０において再送判定サーバ１００によって送信された認証応答メッセージが、何らかの事情により、クライアント３００に正常に到達しなかったことを想定する。
【００７５】
このような場合、クライアント３００は、再送制御を行い、認証要求メッセージを再送する（ステップＳ１１１）。ここで、ステップＳ１１１において再送する認証要求メッセージは、ステップＳ１０１において送信した認証要求メッセージの再送である。このため、クライアント３００は、送信元ポート番号及びIdentifierを、ステップＳ１０１において送信した認証要求メッセージと同一になるように記述する。すなわち、認証要求メッセージには、送信元ポート番号『ＰＯＲＴ＿Ｃ１−１』及びIdentifier『ＩＤ＿Ｃ１−１』が記述される。なお、Authenticator『ＡＴ＿Ｃ１−２』は、ステップＳ１０１において送信した認証要求メッセージとは異なる。
【００７６】
さて、再送判定サーバ１００は、ステップＳ１１１において送信された認証要求メッセージを受信すると、上述したステップＳ１０２〜Ｓ１０５と同じ処理を行う（ステップＳ１１２）。そして、再送判定実施部１０５は、判定要素抽出部１０４によって抽出された判定要素の値と、判定要素テーブル２０３から取得した判定要素の値とを比較し、同一であるか否かを判定する（ステップＳ１１３）。
【００７７】
すると、再送判定実施部１０５は、同一であると判定し、認証要求メッセージは再送されたものであるので、その判定結果、識別情報及び判定要素抽出部１０４によって抽出された判定要素の値を、判定要素登録部１０６に通知する。
【００７８】
続いて、再送判定サーバ１００において、サービス処理部１０７が、認証要求メッセージの内容に応じた処理を行う。ここで、サービス処理部１０７は、認証要求メッセージが再送されたものである場合であるので、識別情報及び判定要素の値を用いてデータベース２００の処理結果テーブル２０４を参照し、識別情報及び判定要素の値に対応付けて記憶されている処理結果を取得する（ステップＳ１１４）。
【００７９】
そして、再送判定サーバ１００において、応答メッセージ送信部１０８が、認証応答メッセージを作成し、クライアント３００に送信する（ステップＳ１１５）。
【００８０】
［実施例２の効果］
上述したように、実施例２によれば、再送判定サーバ１００は、クライアント３００を識別する識別情報に対応付けて再送判定方式を記憶する再送判定方式情報テーブル２０２を備える。再送判定サーバ１００において、要求メッセージ受信部１０１は、クライアント３００から要求メッセージを受信する。再送判定方式決定部１０３は、要求メッセージから識別情報を抽出し、該識別情報に対応付けて記憶された再送判定方式を再送判定方式情報テーブル２０２から取得することで、再送判定方式を決定する。再送判定実施部１０５は、決定された再送判定方式に従って、要求メッセージが再送されたものであるか否かを判定する。応答メッセージ送信部１０８は、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント３００に送信する。
【００８１】
このようなことから、実施例２によれば、再送判定サーバ１１０は、クライアント３００に応じて、適切な再送判定方式を決定してから再送判定を実施することができるので、多様なクライアント３００に柔軟に対応することが可能になる。
【００８２】
独自のルールで判定要素を要求メッセージにセットするクライアント３００をサポートすることが可能になり、結果として、サービス提供エリアを拡大し、ユーザ数の増加が期待される。また、独自の再送制御を行うクライアント３００が追加された場合であっても、再送判定サーバ１００のモジュールを変更する必要はなく、再送判定方式をデータベース２００に追加するだけで、再送判定が可能であるため、比較的、安価、かつ、短期間での新規クライアント３００のサポートに結び付く。
【００８３】
すなわち、再送判定システムの運用者は、クライアント３００が将来的に追加された場合などには、クライアント識別情報テーブル２０１や再送判定方式情報テーブル２０２を更新し、追加されたクライアント３００に関する識別情報や再送判定方式を追加格納するだけでよいので、簡単に対応することが可能である。なお、クライアント３００の削除の場合も同様に、削除されたクライアント３００に関する識別情報や再送判定方式を削除するだけでよいので、簡単に対応することが可能である。
【実施例３】
【００８４】
次に、実施例３に係る再送判定システムを説明する。図１１は、実施例３に係る再送判定システムの構成を説明するための図である。図１１に例示するように、実施例３に係る再送判定システムにおいては、複数台の再送判定サーバ１１０が１台のデータベース２１０を共用する。例えば、システムの耐障害性などを目的とした場合に、このように、複数台の再送判定サーバ１１０が配置されることがある。
【００８５】
しかしながら、クライアント３１０が、どの再送判定サーバ１１０にも要求メッセージを送信することができる状況を想定すると、新たな課題が生じる。すなわち、クライアント３１０と再送判定サーバ１１０との間の再送制御は、原則としては、１台の再送判定サーバ１１０に閉じて行われるものである。言い換えると、例えば、クライアント３１０から再送された要求メッセージが、前回の要求メッセージを受信した再送判定サーバ１１０とは異なる再送判定サーバ１１０によって受信された場合、再送された要求メッセージを受信した再送判定サーバ１１０は、要求メッセージが再送されたものであるか否かを判定することができない。
【００８６】
実施例３に係る再送判定システムにおいては、それぞれの再送判定サーバ１００によって行われた処理がデータベース２１０において連携されるように構成することで、この課題を解決する。以下、具体的に説明する。
【００８７】
図１１に例示するように、データベース２１０は、実施例２に係るデータベース２００とほぼ同様の構成を有するが、同期対象テーブル２１４を新たに有し、また、処理結果テーブル２０４の替わりに付加情報テーブル２１５を有する点が、実施例２に係るデータベース２００と異なる。
【００８８】
同期対象テーブル２１４は、要求メッセージの種類毎に、複数台の再送判定サーバ１１０間で同期対象とする情報を規定する。同期対象テーブル２１４が記憶する情報は、例えば再送判定システムの運用者などによって予め登録される。また、同期対象テーブル２１４が記憶する情報は、サービス処理部１１７による処理に利用される。
【００８９】
図１２は、実施例３に係る同期対象テーブル２１４を説明するための図である。図１２に例示するように、同期対象テーブル２１４は、要求メッセージの種類と、複数台の再送判定サーバ１００間で同期対象として規定された情報の内容とを対応付けて記憶する。例えば、要求メッセージの内容が『認証要求』である場合には、サービス処理部１１７による処理結果、及び、認証失敗回数の累積値を、複数台の再送判定サーバ１１０間で同期対象とすることを示す。一方、要求メッセージの内容が『サービス要求』である場合には、サービス処理部１１７による処理結果を、複数台の再送判定サーバ１１０間で同期対象とすることを示す。
【００９０】
付加情報テーブル２１５は、処理結果に加え、同期対象とする情報そのものを記憶する。付加情報テーブル２１５が記憶するこれらの情報は、サービス処理部１１７によって格納され、また、サービス処理部１１７による処理に利用される。
【００９１】
図１３は、実施例３に係る付加情報テーブル２１５を説明するための図である。図１３に例示するように、付加情報テーブル２１５は、クライアント３１０毎、かつ、再送されたものではないと判定された要求メッセージ毎に、処理結果及び同期対象とする情報を記憶する。なお、付加情報テーブル２１５は、図１３に例示したように単独で存在していてもよいし、判定要素テーブル２１３に『処理結果』などの付加情報を記憶するための列を追加し、サービス処理部１１７が、その列に要求メッセージの処理結果などの付加情報を格納してもよい。
【００９２】
実施例３に係るサービス処理部１１７は、要求メッセージの内容に応じた処理を行うと、同期対象テーブル２１４を参照し、要求メッセージの種別に対応付けて記憶されている同期対象として規定された情報の内容を取得する。そして、サービス処理部１１７は、処理結果を付加情報テーブル２１５に格納するとともに、同期対象として規定された情報そのものを付加情報テーブル２１５に格納する。
【００９３】
例えば、サービス処理部１１７は、要求メッセージの種別が認証要求メッセージであり、かつ、認証要求メッセージが再送されたものではない場合には、認証処理を行い、その処理結果を付加情報テーブル２１５に格納するとともに、認証処理の結果が認証失敗である場合には、付加情報テーブル２１５に記憶されている認証失敗回数をカウントアップする。
【００９４】
一方、サービス処理部１１７は、要求メッセージの種別が認証要求メッセージであり、かつ、認証要求メッセージが再送されたものである場合には、改めて認証処理をすることなく付加情報テーブル２１５を参照して処理結果を取得する。なお、取得した認証処理の結果が認証失敗である場合には、サービス処理部１１７は、付加情報テーブル２１５に記憶されている認証失敗回数をカウントアップする。
【００９５】
［実施例３に係る再送判定システムによる処理手順］
次に、図１４を用いて、実施例３に係る再送判定システムによる処理手順を説明する。図１４は、実施例３に係る再送判定システムによる処理手順を示すシーケンス図である。なお、ここでは、クライアント３１０から送信された要求メッセージが、認証を要求する認証要求メッセージであることを想定する。また、ステップＳ２０１〜Ｓ２０８の処理手順は、図１０を用いて説明したステップＳ１０１〜Ｓ１０８の処理手順と同一であるので、説明を割愛する。
【００９６】
サービス処理部１１７は、ステップＳ２０８において認証要求の処理を行うと、データベース２１０の同期対象テーブル２１４を参照する（ステップＳ２０９）。そして、サービス処理部１１７は、要求メッセージの内容が『認証要求』である場合には、サービス処理部１１７による処理結果、及び、認証失敗回数の累積値を、複数台の再送判定サーバ１１０間で同期対象とすることを取得する（ステップＳ２１０）。
【００９７】
そして、サービス処理部１１７は、認証処理の処理結果を付加情報テーブル２１５に格納するとともに、認証処理の結果が認証失敗である場合であるので、付加情報テーブル２１５に記憶されている認証失敗回数をカウントアップする（ステップＳ２１１）。
【００９８】
そして、再送判定サーバ１１０において、応答メッセージ送信部１１８が、認証応答メッセージを作成し、クライアント３１０に送信する（ステップＳ２１２）。
【００９９】
さて、図１４の例では、ステップＳ２１２において再送判定サーバ１１０によって送信された認証応答メッセージが、何らかの事情により、クライアント３１０に正常に到達しなかったことを想定する。
【０１００】
このような場合、クライアント３１０は、再送制御を行い、認証要求メッセージを再送する（ステップＳ２１３）。ここで、ステップＳ２１３において再送する認証要求メッセージは、ステップＳ２０１において送信した認証要求メッセージの再送である。このため、クライアント３１０は、送信元ポート番号及びIdentifierを、ステップＳ２０１において送信した認証要求メッセージと同一になるように記述する。すなわち、認証要求メッセージには、送信元ポート番号『ＰＯＲＴ＿Ｃ１−１』及びIdentifier『ＩＤ＿Ｃ１−１』が記述される。なお、Authenticator『ＡＴ＿Ｃ１−２』は、ステップＳ２０１において送信した認証要求メッセージとは異なる。
【０１０１】
さて、再送判定サーバ１１０は、ステップＳ２１３において送信された認証要求メッセージを受信すると、上述したステップＳ２０２〜Ｓ２０５と同じ処理を行う（ステップＳ２１４）。そして、再送判定実施部１１５は、判定要素抽出部１１４によって抽出された判定要素の値と、判定要素テーブル２１３から取得した判定要素の値とを比較し、同一であるか否かを判定する（ステップＳ２１５）。
【０１０２】
すると、再送判定実施部１１５は、同一であると判定し（ステップＳ２１５）、認証要求メッセージは再送されたものであるので、その判定結果、識別情報及び判定要素抽出部１１４によって抽出された判定要素の値を、判定要素登録部１１６に通知する。
【０１０３】
続いて、再送判定サーバ１１０において、サービス処理部１１７が、認証要求メッセージの内容に応じた処理を行う。ここで、サービス処理部１１７は、要求メッセージが再送されたものである場合であるので、識別情報及び判定要素の値を用いてデータベース２１０の付加情報テーブル２１５を参照し、識別情報及び判定要素の値に対応付けて記憶されている処理結果を取得する（ステップＳ２１６）。また、サービス処理部１１７は、取得した認証処理の結果が認証失敗である場合には、付加情報テーブル２１５に記憶されている認証失敗回数をカウントアップする。
【０１０４】
そして、再送判定サーバ１１０において、応答メッセージ送信部１１８が、認証応答メッセージを作成し、クライアント３１０に送信する（ステップＳ２１７）。
【０１０５】
なお、図１４に例示した処理手順では、判定要素抽出部１１４によって抽出された判定要素の値と、判定要素テーブル２１３から取得した判定要素の値とが同一である場合には再送とみなすとしているが、開示の技術はこれに限られるものではなく、要求メッセージから抽出した判定要素の値が予め規定した条件を満たせば再送とみなすようにしてもよい。
【０１０６】
［実施例３の効果］
上述したように、実施例３によれば、複数の再送判定サーバが同時に運用されている場合に、例えば、クライアントから再送された要求メッセージが、前回の要求メッセージを受信した再送判定サーバとは異なる再送判定サーバによって受信された場合であっても、再送された要求メッセージを受信した再送判定サーバは、共用するデータベースを参照することにより、要求メッセージが再送されたものであることを判定することができる。また、同期対象となる判定要素や、要求メッセージの種別毎の情報を、予め再送判定サーバで設定することにより、全ての情報を同期させる場合に比べて、ネットワークの帯域やサーバの処理負荷を軽減できる。
【実施例４】
【０１０７】
次に、実施例４に係る再送判定システムを説明する。図１５は、実施例４に係る再送判定システムの構成を説明するための図である。図１５に例示するように、実施例４に係る再送判定システムにおいては、複数台の再送判定サーバ１２０が、それぞれデータベース２２０を有する。このため、実施例４に係る再送判定システムにおいては、それぞれのデータベース２２０が連携されるように構成される。なお、実施例４においては、データベース２２０が再送判定サーバ１２０とは異なる筐体として実現されている例を説明するが、開示の技術はこれに限られるものではなく、データベース２２０と再送判定サーバ１２０とが１つの筐体として実現されている場合にも、同様に適用することができる。
【０１０８】
具体的には、実施例４に係る再送判定サーバ１２０は、実施例３に係る再送判定サーバ１１０と同様の構成に加え、さらに、サーバ間同期部１２９を有する。なお、図示を省略したが、再送判定サーバ１２０は、実施例３に係る再送判定サーバ１１０と同様、要求メッセージ受信部１２１、クライアント判定部１２２、再送判定方式決定部１２３、判定要素抽出部１２４、再送判定実施部１２５、判定要素登録部１２６、サービス処理部１２７、及び応答メッセージ送信部１２８を備える。また、データベース２２０は、実施例３に係るデータベース２１０と同様、クライアント識別情報テーブル２２１、再送判定方式情報テーブル２２２、同期対象テーブル２２４を備える。
【０１０９】
サーバ間同期部１２９は、複数台のデータベース２２０間で同期するテーブルとして、判定要素テーブル２２３及び付加情報テーブル２２５を監視しており、判定要素テーブル２２３及び付加情報テーブル２２５において情報の更新があったことを検知する。
【０１１０】
そして、サーバ間同期部１２９は、判定要素テーブル２２３及び付加情報テーブル２２５において情報の更新があったことを検知すると、その更新内容を、連携する他方の再送判定サーバ１２０のサーバ間同期部１２９に通知する。サーバ間同期部１２９は、連携する他方の再送判定サーバ１２０のサーバ間同期部１２９から更新内容を通知されると、通知された更新内容を、判定要素テーブル２２３及び付加情報テーブル２２５に反映する。
【０１１１】
なお、サーバ間同期部１２９による同期は、上記手法に限られない。例えば、サーバ間同期部１２９は、更新を検知するのではなく、所定の時間間隔で判定要素テーブル２２３及び付加情報テーブル２２５を監視し、判定要素テーブル２２３及び付加情報テーブル２２５に更新が生じていた場合に、連携する他方の再送判定サーバ１２０のサーバ間同期部１２９から更新内容を通知してもよい。
【０１１２】
なお、実施例４においても、要求メッセージから抽出された判定要素の値と、判定要素テーブル２２３から取得した判定要素の値とが同一である場合に再送とみなす手法に限られず、要求メッセージから抽出した判定要素の値が予め規定した条件を満たせば再送とみなすようにしてもよい。
【０１１３】
上述したように、実施例４によれば、１台のクライアント３２０が、要求メッセージを、複数台の再送判定サーバ１２０に送信し得る場合に、再送判定サーバ１２０のそれぞれは、クライアント３２０を識別する識別情報に対応付けて、該クライアント３２０から送信された要求メッセージが再送されたものであるか否かを判定する方式を規定した再送判定方式として、要求メッセージに含まれる所定の判定要素を記憶する再送判定方式情報テーブル２２２を備える。また、再送判定サーバ１２０のそれぞれは、要求メッセージから抽出された判定要素の値を累積して記憶する判定要素テーブル２２３を備える。要求メッセージ受信部１２１は、クライアント３２０から要求メッセージを受信する。再送判定方式決定部１２３は、要求メッセージからクライアントを識別する識別情報を抽出し、該識別情報に対応付けて記憶された所定の判定要素を再送判定方式情報テーブル２２２から取得することで、再送判定方式を決定する。再送判定実施部１２５は、決定された再送判定方式に従って、要求メッセージから所定の判定要素の値を抽出し、抽出した判定要素の値と、判定要素テーブル２２３に累積して記憶された判定要素の値それぞれとを比較し、判定要素の値が一致するか否かを判定することで、要求メッセージが再送されたものであるか否かを判定する。判定要素登録部１２６は、判定に用いられた判定要素の値であって要求メッセージから抽出された判定要素の値を、判定要素テーブル２２３に格納する。応答メッセージ送信部１２８は、判定結果に基づいて応答メッセージを作成し、該応答メッセージをクライアント３２０に送信する。サーバ間同期部１２９は、複数台の再送判定サーバ１２０間で、判定要素テーブル２２３によって記憶された判定要素の値を同期するように制御する。
【０１１４】
このようなことから、実施例４によれば、複数の再送判定サーバが同時に運用されている場合に、例えば、クライアントから再送された要求メッセージが、前回の要求メッセージを受信した再送判定サーバとは異なる再送判定サーバによって受信された場合であっても、再送された要求メッセージを受信した再送判定サーバは、他の再送判定サーバと同期されたデータベースを参照することにより、要求メッセージが再送されたものであることを判定することができる。
【０１１５】
また、同期対象となる判定要素や、要求メッセージの種別毎の情報を、予め再送判定サーバで設定することにより、全ての情報を同期させる場合に比べて、ネットワークの帯域やサーバの処理負荷を軽減できる。
【実施例５】
【０１１６】
さて、上記実施例１〜４を説明してきたが、開示の技術は、上記実施例に限られるものではなく、種々の異なる形態にて実施されてよいものである。
【０１１７】
上記実施例２〜４においては、再送判定サーバが、要求メッセージを送信したクライアントについて、サービスを提供する対象のクライアントであるか否かを判定することを想定していたが、開示の技術はこれに限られるものではない。例えば、再送判定サーバは、再送判定方式情報テーブルに、クライアントの識別情報と再送判定方式との対応付けを記憶しているが、別途、識別情報を記憶していないその他のクライアントに適用する再送判定方式を予め決定しておく手法を併用してもよい。
【０１１８】
すなわち、再送判定サーバは、必ずしも、サービスを提供する対象のクライアントであるか否かを判定しなくてもよく、要求メッセージを送信したクライアント全てについて、再送判定を行ってもよい。もっとも、この場合には、再送判定サーバ側でクライアントの識別情報を把握していないクライアントも存在し得ることになる。そこで、そのようなクライアントに適用する再送判定方式（以下、汎用再送判定方式）を予め決定しておき、再送判定サーバは、要求メッセージから抽出した識別情報を記憶していない場合には、予め決定しておいた汎用再送判定方式を適用することにより、再送判定方式を決定してもよい。
【０１１９】
また、上記実施例２〜４においては、要求メッセージが再送されたものではない場合、再送判定用のデータとして、該要求メッセージから抽出された判定要素の値をデータベースに格納したが、開示の技術はこれに限られるものではない。例えば、要求メッセージの種別によっては、必ずしも、過去の要求メッセージから抽出された判定要素の値を用いずに、再送判定を実施できる場合もある。このため、例えば、再送判定サーバは、クライアントの識別情報に対応付けて再送判定方式を記憶する際に、併せて要求メッセージの種別毎の再送判定方式も記憶し、種別によっては、再送判定に過去の判定要素の値を用いないことを記憶する。そして、再送判定サーバは、クライアントから受信した要求メッセージの種別を判別し、判別した種別が、再送判定に過去の判定要素の値を用いないものである場合には、要求メッセージから抽出した判定要素の値をデータベースに格納しなくてもよい。また、例えば、要求メッセージの種別によっては、再送制御によって再送された要求メッセージであるか否かに関わらず、再送判定サーバでは再送判定を行わず、必ず処理を行う場合がある。この場合、要求メッセージから抽出した判定要素の値をデータベースに格納しなくてもよい。
【０１２０】
［その他］
また、上記実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順（図１０、図１４など）、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２２】
なお、上記実施例で説明した再送判定方法は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのＩＰネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＭＯ（Magneto-Optical  disk）、ＤＶＤ（Digital  Versatile  Disk）などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【０１２３】
１０  再送判定サーバ
２０  クライアント情報記憶部
２１  再送判定方式情報テーブル
３１  要求メッセージ受信部
３２  再送判定方式決定部
３３  再送判定実施部
３４  応答メッセージ送信部
４０  クライアント
【図１】
2011223414.tif 000003
【図２】
2011223414.tif 000004
【図３】
2011223414.tif 000005
【図４】
2011223414.tif 000006
【図５】
2011223414.tif 000007
【図６】
2011223414.tif 000008
【図７】
2011223414.tif 000009
【図８】
2011223414.tif 000010
【図９】
2011223414.tif 000011
【図１０】
2011223414.tif 000012
【図１１】
2011223414.tif 000013
【図１２】
2011223414.tif 000014
【図１３】
2011223414.tif 000015
【図１４】
2011223414.tif 000016
【図１５】
2011223414.tif 000017