(57)【特許請求の範囲】
【請求項１】
互いに通信接続可能なクライアントとサーバとを含む情報処理システムであって、
前記サーバは、
処理結果識別情報を前記クライアントに送信するとともに、当該送信する処理結果識別情報を送信済み識別情報として記録する処理結果識別情報送信手段と、
前記クライアントから、前記クライアントが所定処理を実行した結果を示す処理結果情報を、処理結果識別情報とともに受信する処理結果情報受信手段と、
前記クライアントから受信した処理結果識別情報が前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該送信済み識別情報を無効化する処理結果情報受け入れ手段と、
を含み、
前記クライアントは、
前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録する処理結果識別情報受信手段と、
前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、前記所定処理を実行し、実行結果を示す処理結果情報を前記受信した処理結果識別情報と関連づけて記録する処理実行手段と、
前記記録された処理結果情報を、当該処理結果識別情報に関連づけて記録された処理結果識別情報とともに前記サーバに送信する処理結果情報送信手段と、
を含み、
前記処理実行手段は、前記所定処理の実行に先立って、前記処理結果識別情報受信手段により前記処理結果識別情報が記録済みか否かを判定し、当該判定の結果、前記処理結果識別情報が記録済みの場合に前記所定処理を実行し、当該判定の結果、前記処理結果識別情報が記録されていない場合には、処理結果識別情報の送信を前記サーバに要求し、当該要求に応じて前記サーバから送信される前記処理結果識別情報を前記処理結果識別情報受信手段が受信してから前記所定処理を実行する
ことを特徴とする情報処理システム。
【請求項２】
請求項１記載の情報処理システムにおいて、
前記処理結果識別情報送信手段は、前記処理結果情報受信手段が前記クライアントから処理結果情報を受信した場合に、前記処理結果情報受け入れ手段が当該受信した処理結果情報の受け入れ処理を行うか否かに関わらず、新たな処理結果識別情報を前記クライアントに送信し、
前記処理結果識別情報受信手段は、前記新たな処理結果識別情報を受信した場合に、過去に記録した処理結果識別情報を無効化して、当該受信した新たな処理結果識別情報を記録する
ことを特徴とする情報処理システム。
【請求項３】
請求項２記載の情報処理システムにおいて、
前記処理結果識別情報受信手段は、前記受信した新たな処理結果識別情報を記録するとともに、前記記録されている処理結果情報を初期化し、
前記処理実行手段は、前記所定処理を実行するごとに、前記記録されている処理結果情報を、当該記録されている処理結果情報と、新たな実行結果と、に応じた情報により更新する
ことを特徴とする情報処理システム。
【請求項４】
請求項３記載の情報処理システムにおいて、
前記処理結果情報受け入れ手段は、前記処理結果情報の受け入れ処理として、前記サーバに記録されている前記所定処理の処理結果に関する情報を、当該情報と、前記受信した処理結果情報と、に応じた情報により更新する処理を実行する
ことを特徴とする情報処理システム。
【請求項５】
請求項４記載の情報処理システムにおいて、
前記処理結果情報は、数値情報であって、
前記処理結果情報受け入れ手段は、前記処理結果情報の受け入れ処理として、前記サーバに記録されている数値情報に、前記受信した処理結果情報により示される数値を加算することにより、当該サーバに記録されている数値情報を更新する処理を実行し、
前記処理結果識別情報受信手段は、前記受信した新たな処理結果識別情報を記録するとともに、前記記録されている処理結果情報を０に初期化し、
前記処理実行手段は、前記所定処理を実行するごとに、前記記録されている処理結果情報により示される数値に、新たな実行結果に応じた数値を加算することにより、前記記録されている処理結果情報を更新する
ことを特徴とする情報処理システム。
【請求項６】
請求項１から５のいずれか一項記載の情報処理システムにおいて、
前記処理結果識別情報送信手段は、前記処理結果識別情報を、当該処理結果識別情報の送信対象となるユーザと関連付けて前記送信済み識別情報として記録し、
前記処理結果情報受信手段は、ユーザを特定するユーザ関連情報とともに前記処理結果情報を受信し、
前記処理結果情報受け入れ手段は、前記クライアントから受信した処理結果識別情報が、当該処理結果識別情報とともに受信したユーザ関連情報により特定されるユーザと関連付けて前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該ユーザと関連付けて記録されている前記送信済み識別情報を無効化し、
前記処理結果識別情報受信手段は、前記サーバから受信した処理結果識別情報を、当該処理結果識別情報の送信対象となったユーザと関連付けて記録し、
前記処理実行手段は、前記処理結果情報を、前記所定処理の対象となるユーザと関連付けて記録し、
前記処理結果情報送信手段は、前記記録された処理結果情報を、当該処理結果情報が関連付けられているユーザに関連付けて記録された前記処理結果識別情報、及び当該ユーザを特定するユーザ関連情報とともに、前記サーバに送信する
ことを特徴とする情報処理システム。
【請求項７】
クライアントと通信接続可能なサーバであって、
前記クライアントによる所定処理の実行に先立って、前記クライアントからの要求に応じて、処理結果識別情報を前記クライアントに送信するとともに、当該送信する処理結果識別情報を送信済み識別情報として記録する処理結果識別情報送信手段と、
前記クライアントから、前記所定処理を実行した結果を示す処理結果情報を、当該処理結果情報を記録する際に前記クライアントが当該処理結果情報に関連づけた処理結果識別情報とともに受信する処理結果情報受信手段と、
前記クライアントから受信した処理結果識別情報が前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該送信済み識別情報を無効化する処理結果情報受け入れ手段と、
を含むことを特徴とするサーバ。
【請求項８】
サーバと通信接続可能なクライアントであって、
前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録する処理結果識別情報受信手段と、
前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、所定処理を実行し、実行結果を示す処理結果情報を前記受信した処理結果識別情報と関連づけて記録する処理実行手段と、
前記記録された処理結果情報を、当該処理結果識別情報に関連づけて記録された処理結果識別情報とともに前記サーバに送信する処理結果情報送信手段と、
を含み、
前記処理実行手段は、前記所定処理の実行に先立って、前記処理結果識別情報受信手段により前記処理結果識別情報が記録済みか否かを判定し、当該判定の結果、前記処理結果識別情報が記録済みの場合に前記所定処理を実行し、当該判定の結果、前記処理結果識別情報が記録されていない場合には、処理結果識別情報の送信を前記サーバに要求し、当該要求に応じて前記サーバから送信される前記処理結果識別情報を前記処理結果識別情報受信手段が受信してから前記所定処理を実行し、
前記送信した処理結果識別情報が、前記サーバによる前記送信した処理結果情報の受け入れ処理を行うか否かの判定に用いられる
ことを特徴とするクライアント。
【請求項９】
クライアントと通信接続可能なコンピュータを用いた情報処理方法であって、
前記クライアントによる所定処理の実行に先立って、前記クライアントからの要求に応じて、処理結果識別情報を前記クライアントに送信するとともに、当該送信する処理結果識別情報を送信済み識別情報として記録するステップと、
前記クライアントから、前記所定処理を実行した結果を示す処理結果情報を、当該処理結果情報を記録する際に前記クライアントが当該処理結果情報に関連づけた処理結果識別情報とともに受信するステップと、
前記クライアントから受信した処理結果識別情報が前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該送信済み識別情報を無効化するステップと、
を含むことを特徴とする情報処理方法。
【請求項１０】
サーバと通信接続可能なコンピュータを用いた情報処理方法であって、
前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録するステップと、
前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、所定処理を実行し、実行結果を示す処理結果情報を前記受信した処理結果識別情報と関連づけて記録するステップと、
前記記録された処理結果情報を、当該処理結果識別情報に関連づけて記録された処理結果識別情報とともに前記サーバに送信するステップと、
を含み、
前記処理結果情報を記録するステップでは、前記所定処理の実行に先立って、前記処理結果識別情報受信手段により前記処理結果識別情報が記録済みか否かを判定し、当該判定の結果、前記処理結果識別情報が記録済みの場合に前記所定処理を実行し、当該判定の結果、前記処理結果識別情報が記録されていない場合には、処理結果識別情報の送信を前記サーバに要求し、当該要求に応じて前記サーバから送信される前記処理結果識別情報を前記処理結果識別情報受信手段が受信してから前記所定処理を実行し、
前記送信した処理結果識別情報が、前記サーバによる前記送信した処理結果情報の受け入れ処理を行うか否かの判定に用いられる
ことを特徴とする情報処理方法。
【請求項１１】
サーバと通信接続可能なコンピュータを、
前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録する処理結果識別情報受信手段、
前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、所定処理を実行し、実行結果を示す処理結果情報を前記受信した処理結果識別情報と関連づけて記録する処理実行手段、及び
前記記録された処理結果情報を、当該処理結果識別情報に関連づけて記録された処理結果識別情報とともに前記サーバに送信する処理結果情報送信手段、
として機能させるプログラムであって、
前記処理実行手段は、前記所定処理の実行に先立って、前記処理結果識別情報受信手段により前記処理結果識別情報が記録済みか否かを判定し、当該判定の結果、前記処理結果識別情報が記録済みの場合に前記所定処理を実行し、当該判定の結果、前記処理結果識別情報が記録されていない場合には、処理結果識別情報の送信を前記サーバに要求し、当該要求に応じて前記サーバから送信される前記処理結果識別情報を前記処理結果識別情報受信手段が受信してから前記所定処理を実行し、
前記送信した処理結果識別情報が、前記サーバによる前記送信した処理結果情報の受け入れ処理を行うか否かの判定に用いられる
ことを特徴とするプログラム。
【請求項１２】
請求項１１記載のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントが実行した処理の結果をサーバで管理する情報処理システム、当該情報処理システムを構成するクライアント及びサーバ、情報処理方法、プログラム、並びに情報記憶媒体に関する。
【背景技術】
【０００２】
クライアントとサーバとの間で処理を分散して実行するクライアント／サーバ型の情報処理システムが知られている。このような情報処理システムの利用例としては、複数のクライアントがそれぞれ所定の処理を実行して、その処理結果をサーバに送信し、サーバが各クライアントから送信された処理結果を記録するなどして、サーバ側で処理結果の一元管理を行う例が挙げられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来例の技術においては、クライアントとサーバとがネットワークを介して通信接続された状態が常に維持されることを前提としている。しかしながら、特にクライアント側での処理が長時間にわたったり、複数回に分けて実行されたりする場合など、クライアントが実行する処理の内容によっては、通信接続が常時維持されないこともあり得る。このような場合、クライアントは、所定処理を実行して得られる処理結果を一時的に記録しておき、サーバとの間で通信接続が確立された状態になったときに、記録されている処理結果を送信することとなる。この場合において、例えば利用者の不正な操作や、クライアントとサーバとの間の通信障害などに起因して、記録された処理結果をクライアントが複数回繰り返してサーバに対して送信してしまうと、サーバがクライアントの一つの処理結果を重複して受け入れてしまうことが起こり得る。
【０００４】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、クライアントが実行する処理の結果をサーバで管理する場合に、サーバが一つの処理結果を重複して受け入れないようにすることのできる情報処理システム、クライアント、サーバ、情報処理方法、プログラム並びに情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明に係る情報処理システムは、互いに通信接続可能なクライアントとサーバとを含む情報処理システムであって、前記サーバは、処理結果識別情報を前記クライアントに送信するとともに、当該送信する処理結果識別情報を送信済み識別情報として記録する処理結果識別情報送信手段と、前記クライアントから、前記クライアントが所定処理を実行した結果を示す処理結果情報を、処理結果識別情報とともに受信する処理結果情報受信手段と、前記クライアントから受信した処理結果識別情報が前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該送信済み識別情報を無効化する処理結果情報受け入れ手段と、を含み、前記クライアントは、前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録する処理結果識別情報受信手段と、前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、前記所定処理を実行し、実行結果を示す処理結果情報を記録する処理実行手段と、前記記録された処理結果情報を、前記記録された処理結果識別情報とともに前記サーバに送信する処理結果情報送信手段と、を含むことを特徴とする。
【０００６】
また、上記情報処理システムにおいて、前記処理結果識別情報送信手段は、前記処理結果情報受信手段が前記クライアントから処理結果情報を受信した場合に、前記処理結果情報受け入れ手段が当該受信した処理結果情報の受け入れ処理を行うか否かに関わらず、新たな処理結果識別情報を前記クライアントに送信し、前記処理結果識別情報受信手段は、前記新たな処理結果識別情報を受信した場合に、過去に記録した処理結果識別情報を無効化して、当該受信した新たな処理結果識別情報を記録することとしてもよい。
【０００７】
さらに、上記情報処理システムにおいて、前記処理結果識別情報受信手段は、前記受信した新たな処理結果識別情報を記録するとともに、前記記録されている処理結果情報を初期化し、前記処理実行手段は、前記所定処理を実行するごとに、前記記録されている処理結果情報を、当該記録されている処理結果情報と、新たな実行結果と、に応じた情報により更新することとしてもよい。
【０００８】
さらに、上記情報処理システムにおいて、前記処理結果情報受け入れ手段は、前記処理結果情報の受け入れ処理として、前記サーバに記録されている前記所定処理の処理結果に関する情報を、当該情報と、前記受信した処理結果情報と、に応じた情報により更新する処理を実行することとしてもよい。
【０００９】
さらに、上記情報処理システムにおいて、前記処理結果情報は、数値情報であって、前記処理結果情報受け入れ手段は、前記処理結果情報の受け入れ処理として、前記サーバに記録されている数値情報に、前記受信した処理結果情報により示される数値を加算することにより、当該サーバに記録されている数値情報を更新する処理を実行し、前記処理結果識別情報受信手段は、前記受信した新たな処理結果識別情報を記録するとともに、前記記録されている処理結果情報を０に初期化し、前記処理実行手段は、前記所定処理を実行するごとに、前記記録されている処理結果情報により示される数値に、新たな実行結果に応じた数値を加算することにより、前記記録されている処理結果情報を更新することとしてもよい。
【００１０】
また、上記情報処理システムにおいて、前記処理結果識別情報送信手段は、前記処理結果識別情報を、当該処理結果識別情報の送信対象となるユーザと関連付けて前記送信済み識別情報として記録し、前記処理結果情報受信手段は、ユーザを特定するユーザ関連情報とともに前記処理結果情報を受信し、前記処理結果情報受け入れ手段は、前記クライアントから受信した処理結果識別情報が、当該処理結果識別情報とともに受信したユーザ関連情報により特定されるユーザと関連付けて前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該ユーザと関連付けて記録されている前記送信済み識別情報を無効化し、前記処理結果識別情報受信手段は、前記サーバから受信した処理結果識別情報を、当該処理結果識別情報の送信対象となったユーザと関連付けて記録し、前記処理実行手段は、前記処理結果情報を、前記所定処理の対象となるユーザと関連付けて記録し、前記処理結果情報送信手段は、前記記録された処理結果情報を、当該処理結果情報が関連付けられているユーザに関連付けて記録された前記処理結果識別情報、及び当該ユーザを特定するユーザ関連情報とともに、前記サーバに送信することとしてもよい。
【００１１】
また、本発明に係るサーバは、クライアントと通信接続可能なサーバであって、前記クライアントによる所定処理の実行に先立って、処理結果識別情報を前記クライアントに送信するとともに、当該送信する処理結果識別情報を送信済み識別情報として記録する処理結果識別情報送信手段と、前記クライアントから、前記所定処理を実行した結果を示す処理結果情報を、処理結果識別情報とともに受信する処理結果情報受信手段と、前記クライアントから受信した処理結果識別情報が前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該送信済み識別情報を無効化する処理結果情報受け入れ手段と、を含むことを特徴とする。
【００１２】
また、本発明に係るクライアントは、サーバと通信接続可能なクライアントであって、前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録する処理結果識別情報受信手段と、前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、所定処理を実行し、実行結果を示す処理結果情報を記録する処理実行手段と、前記記録された処理結果情報を、前記記録された処理結果識別情報とともに前記サーバに送信する処理結果情報送信手段と、を含み、前記送信した処理結果識別情報が、前記サーバによる前記送信した処理結果情報の受け入れ処理を行うか否かの判定に用いられることを特徴とする。
【００１３】
また、本発明に係る情報処理方法は、クライアントと通信接続可能なコンピュータを用いた情報処理方法であって、前記クライアントによる所定処理の実行に先立って、処理結果識別情報を前記クライアントに送信するとともに、当該送信する処理結果識別情報を送信済み識別情報として記録するステップと、前記クライアントから、前記所定処理を実行した結果を示す処理結果情報を、処理結果識別情報とともに受信するステップと、前記クライアントから受信した処理結果識別情報が前記送信済み識別情報として記録されている場合に、当該処理結果識別情報とともに受信した前記処理結果情報の受け入れ処理を行うとともに、当該送信済み識別情報を無効化するステップと、を含むことを特徴とする。
【００１４】
また、本発明に係る別の情報処理方法は、サーバと通信接続可能なコンピュータを用いた情報処理方法であって、前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録するステップと、前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、所定処理を実行し、実行結果を示す処理結果情報を記録するステップと、前記記録された処理結果情報を、前記記録された処理結果識別情報とともに前記サーバに送信するステップと、を含み、前記送信した処理結果識別情報が、前記サーバによる前記送信した処理結果情報の受け入れ処理を行うか否かの判定に用いられることを特徴とする。
【００１５】
また、本発明に係るプログラムは、サーバと通信接続可能なコンピュータを、前記サーバから処理結果識別情報を受信し、当該受信した処理結果識別情報を記録する処理結果識別情報受信手段、前記受信した処理結果識別情報を記録した状態において、前記サーバとの通信接続の状態に関わらず、所定処理を実行し、実行結果を示す処理結果情報を記録する処理実行手段、及び前記記録された処理結果情報を、前記記録された処理結果識別情報とともに前記サーバに送信する処理結果情報送信手段、として機能させ、前記送信した処理結果識別情報が、前記サーバによる前記送信した処理結果情報の受け入れ処理を行うか否かの判定に用いられることを特徴とする。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態について、図面を参照しながら説明する。
【００１７】
本発明の一実施形態に係る情報処理システム１は、図１に示すように、サーバ２と、複数のクライアント３と、認証装置４と、を含んで構成されている。サーバ２と各クライアント３とは、インターネット等の通信ネットワークを介して相互に通信接続可能になっている。また、サーバ２及び各クライアント３は、いずれも認証装置４と相互に通信接続可能になっている。
【００１８】
本実施形態では、情報処理システム１は、ポイント管理システムとして動作することとする。すなわち、各クライアント３は、当該情報処理システム１を利用するユーザに関連付けてポイントを発生させる処理を実行し、サーバ２は、各クライアント３から送信される情報に基づいて、各ユーザに対してポイントを付与するとともに、各ユーザに付与されたポイントを一元管理する。ここで、ポイントは、各クライアント３がユーザの指示に応じた処理を実行することで生成される数値情報であって、例えばゲームの成績を示す得点などであってもよいし、各種の処理の実行時間や処理量などに関する数値情報であってもよい。
【００１９】
サーバ２は、本実施形態に係る情報処理システム１を利用する各ユーザに対して付与されるポイントを管理する情報処理装置である。サーバ２は、サーバコンピュータ等であって、図１に示すように、制御部１１と、記憶部１２と、通信部１３と、を含んで構成されている。
【００２０】
制御部１１は、例えばＣＰＵ等であって、記憶部１２に記憶されているプログラムに従って各種の情報処理を行う。本実施形態において制御部１１が実行する処理の具体例については、後述する。
【００２１】
記憶部１２は、ＲＡＭやＲＯＭ等のメモリ素子や、ハードディスク等を含んで構成され、制御部１１によって実行されるプログラムを記憶する。また、記憶部１２は、制御部１１のワークメモリとしても動作する。
【００２２】
通信部１３は、例えばＬＡＮカード等の通信インタフェースであって、制御部１１からの指示に従って、通信ネットワークを介して情報を送信する。また、通信部１３は、通信ネットワークを介して到来する情報を受信して制御部１１に出力する。
【００２３】
各クライアント３は、本実施形態に係る情報処理システム１を利用するユーザが使用する情報処理装置である。クライアント３は、例えば家庭用ゲーム機やパーソナルコンピュータなどであって、図１に示すように、制御部２１と、記憶部２２と、通信部２３と、を含んで構成されている。制御部２１、記憶部２２、及び通信部２３は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様の構成であってよい。なお、各ユーザは、一人で複数のクライアント３を使用してもよい。また、一つのクライアント３を複数のユーザが共用してもよい。
【００２４】
認証装置４は、例えばサーバコンピュータ等であって、クライアント３からの要求に応じて、当該クライアント３を使用するユーザを認証する認証処理を行う。また、認証装置４は、シングルサインオンなどの技術を用いて、クライアント３とサーバ２との間の通信接続の制御を行う。
【００２５】
具体的に、本実施形態では、サーバ２とクライアント３とが通信接続を確立して、相互にデータ通信を行う場合には、まずクライアント３を使用するユーザが認証装置４の認証を受けることとする。この場合、クライアント３は、ユーザの指示操作に従って、パスワード等の当該ユーザを認証するための認証情報を認証装置４に送信する。認証装置４は、送信された認証情報を自身が記憶するデータベース内の情報と照合してユーザの認証を行い、認証結果とともに、認証状態識別情報（セッション識別情報）を返信する。クライアント３は、サーバ２との間で通信接続（セッション）を開始する際に、この認証状態識別情報を併せて送信することとする。
【００２６】
クライアント３から認証状態識別情報を受信したサーバ２は、受信した認証状態識別情報を認証装置４に送信して問い合わせを行うことにより、クライアント３を使用中のユーザが認証装置４による認証を受けた正規のユーザであることを確認する。また、この問い合わせに対する返信として当該ユーザを識別するためのユーザ識別情報（ユーザＩＤ）を受信することとすれば、クライアント３とユーザとが一対一に対応していない場合でも、サーバ２はクライアント３から受信した情報の送信を指示しているユーザを特定できる。すなわち、クライアント３から送信される認証状態識別情報が、情報の送信を指示しているユーザを特定するためのユーザ関連情報として機能することとなる。ここで、サーバ２が認証装置４に問い合わせを行った際に、認証装置４において認証状態識別情報が既に無効となっていれば、サーバ２はクライアント３から受信した情報を受け入れずに、クライアント３からの接続が許可されない旨を返信する。なお、認証装置４は、例えばクライアント３からの明示の指示や、所定時間の経過などに応じて、保持している認証状態識別情報を無効にすることとする。こうすれば、認証装置４によって認証状態識別情報が保持されている間だけ、クライアント３はサーバ２との間で通信接続を確立して、相互にデータ通信を行うことができる。なお、以下では、認証装置４に認証状態識別情報が有効に保持されて、サーバ２とクライアント３との間の通信接続が確立された状態を、サインイン状態という。また、このとき認証装置４による認証を受けたユーザ（すなわち、サインインしたユーザ）を、認証ユーザという。
【００２７】
以下、上記構成を有する情報処理システム１が実現する機能の具体例について、説明する。情報処理システム１は、機能的に、図２に示すように、処理結果識別情報送信部３１と、処理結果識別情報受信部３２と、処理実行部３３と、処理結果情報送信部３４と、処理結果情報受信部３５と、処理結果受け入れ部３６と、を含んで構成される。これらの機能のうち、処理結果識別情報送信部３１、処理結果情報受信部３５、及び処理結果受け入れ部３６は、サーバ２の制御部１１が記憶部１２に格納されたプログラムを実行することにより、実現される。また、処理結果識別情報受信部３２、処理実行部３３、及び処理結果情報送信部３４は、クライアント３の制御部２１が記憶部２２に格納されたプログラムを実行することにより、実現される。なお、これらのプログラムは、例えば光ディスク等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワークを介して提供されてもよい。
【００２８】
サーバ２の処理結果識別情報送信部３１は、所定のタイミングで、処理結果識別情報Ｉｐを発行する。そして、発行した処理結果識別情報Ｉｐをクライアント３に対して送信するとともに、当該送信する処理結果識別情報Ｉｐを送信済み識別情報Ｉｓとして記録する。具体例として、処理結果識別情報送信部３１は、クライアント３から新たな処理結果識別情報Ｉｐの発行要求を受信した場合、及び後述する処理結果情報受信部３５が処理結果情報Ｄｐを受信した場合に、処理結果識別情報Ｉｐを発行する。
【００２９】
処理結果識別情報Ｉｐは、処理結果受け入れ部３６による処理結果の受け入れ処理の際に、受け入れ対象となる処理結果情報Ｄｐを識別するための情報であって、一つの処理結果情報Ｄｐの重複した受け入れを防止するために用いられる。この処理結果識別情報Ｉｐは、例えばランダムに生成された数値や文字列などであってよい。この場合、処理結果識別情報送信部３１は、所定の乱数生成関数により、処理結果識別情報Ｉｐを生成する。このように処理結果識別情報Ｉｐとして乱数を用いることで、処理結果識別情報送信部３１が発行する処理結果識別情報Ｉｐを、不正な利用者に推測されにくくすることができる。なお、このとき生成する乱数の取り得る値の範囲（数値や文字列の桁数）を、ポイント管理対象となるユーザ数や接続されるクライアント３の数に応じて十分大きな範囲とすることにより、発行される処理結果識別情報Ｉｐが重複してしまうことを防ぐことができる。あるいは、処理結果識別情報送信部３１は、新たな処理結果識別情報Ｉｐを発行する際に、既に発行されて送信済み識別情報Ｉｓとして記録されている処理結果識別情報Ｉｐとは異なる値を持つように、新たな処理結果識別情報Ｉｐを生成してもよい。
【００３０】
処理結果識別情報送信部３１がクライアント３に対して送信する処理結果識別情報Ｉｐは、送信済み識別情報Ｉｓとして、記憶部１２に記録される。ここで、処理結果識別情報送信部３１による処理結果識別情報Ｉｐの送信は、認証ユーザがサインインしてサーバ２−クライアント３間の通信接続が確立した状態で行われる。そこで、本実施形態では、処理結果識別情報送信部３１は、この認証ユーザを処理結果識別情報Ｉｐの送信対象となるユーザとして、送信済み識別情報Ｉｓを、認証ユーザのユーザＩＤと関連付けて記録することとする。例えば処理結果識別情報送信部３１は、図３に例示するようなテーブルを記憶部１２内に保持し、新たな処理結果識別情報Ｉｐを発行した際には、当該処理結果識別情報Ｉｐを送信済み識別情報Ｉｓとしてこのテーブルに追加する。
【００３１】
なお、処理結果識別情報送信部３１は、一人のユーザに関連付けて、複数の処理結果識別情報Ｉｐを発行してもよい。具体的に、例えば前述したように一人のユーザが複数のクライアント３を使用している場合、この複数のクライアント３のそれぞれが独立に、当該ユーザが認証ユーザとしてサインインした状態で処理結果識別情報Ｉｐの発行要求をサーバ２に対して送信することがある。この場合、送信処理結果識別情報送信部３１は、これら発行要求のそれぞれに対して、互いに異なる処理結果識別情報Ｉｐを送信し、これらの処理結果識別情報Ｉｐを同じユーザＩＤと関連付けて送信済み識別情報Ｉｓとして記録する。
【００３２】
クライアント３の処理結果識別情報受信部３２は、所定処理（以下、ポイント発生処理Ｐという）の実行に先立って、サーバ２の処理結果識別情報送信部３１が送信する処理結果識別情報Ｉｐを受信する。そして、受信した処理結果識別情報Ｉｐを記憶部２２に記録する。なお、本実施形態では、処理結果識別情報受信部３２は、処理結果識別情報Ｉｐを受信した際の認証ユーザ、すなわち処理結果識別情報送信部３１が処理結果識別情報Ｉｐの送信対象としたユーザと関連付けて、受信した処理結果識別情報Ｉｐを記録することとする。
【００３３】
具体的に、例えば処理結果識別情報受信部３２は、所定のタイミングにおいて、当該クライアント３を使用中のユーザに関連付けて処理結果識別情報Ｉｐが記憶部２２に記録されているか否か判定する。そして、記録されていない場合には、処理結果識別情報Ｉｐの発行要求をサーバ２に対して送信する。処理結果識別情報受信部３２は、この発行要求に応じて処理結果識別情報送信部３１が送信する処理結果識別情報Ｉｐを受信し、当該ユーザと関連付けて記憶部２２に記録する。本実施形態では、処理結果識別情報受信部３２は、クライアント３を使用するユーザごとに、それぞれ別個のデータファイルＦを生成し、当該データファイルＦ内に処理結果識別情報Ｉｐを書き込むこととする。こうすれば、クライアント３は、当該クライアント３を使用するユーザが複数いる場合に、ユーザごとに処理結果識別情報Ｉｐを記録できる。なお、ここでは、データファイルＦは、ユーザの指示に応じてクライアント３が実行する複写や削除などのデータ操作の単位となるデータの集合を示している。
【００３４】
ここで、処理結果識別情報受信部３２が発行要求を送信するか否か判定する所定のタイミングとしては、例えばクライアント３がユーザからの指示操作などに応じて、ポイント発生処理Ｐを実行しようとするタイミングが挙げられる。すなわち、処理結果識別情報受信部３２は、ポイント発生処理Ｐが実行される場合に、当該ポイント発生処理Ｐの実行に先立って、処理結果識別情報Ｉｐの発行要求を送信する。また、処理結果識別情報受信部３２は、ユーザがクライアント３の使用を開始したタイミングで、当該ユーザについて発行要求を送信するか否か判定してもよい。さらに、所定時間おきに、クライアント３を使用中のユーザについて発行要求を送信するか否か判定してもよい。
【００３５】
クライアント３の処理実行部３３は、ポイント発生処理Ｐを実行して、その実行結果を示す処理結果情報Ｄｐを記録する。本実施形態では、このポイント発生処理Ｐは、サーバ２による管理対象となるポイントを発生させ、処理結果情報Ｄｐとして記録する処理であって、例えばコンピュータゲームなど、各種のアプリケーションプログラムによって実現される処理であってよい。具体例として、処理実行部３３は、例えばゲーム処理を実行して、その成績などを示す数値をポイントとして発生させる。あるいは、処理実行部３３は、所定のプロセスなどが終了するタイミングでポイント発生処理Ｐを実行し、当該プロセスなどの実行時間や実行結果に関する数値情報をポイントとして発生させてもよい。なお、処理実行部３３は、当該ポイント発生処理Ｐの対象となるユーザ（例えば当該ポイント発生処理Ｐの実行を指示したユーザや、当該ポイント発生処理Ｐ実行の際にクライアント３を使用中のユーザなど）と関連付けて、発生させたポイントを示す数値情報を処理結果情報Ｄｐとして記録する。
【００３６】
ここで、処理実行部３３は、クライアント３とサーバ２との間の通信接続の状態に関わらず、ポイント発生処理Ｐを実行してよい。すなわち、処理実行部３３は、クライアント３を使用するユーザが認証装置４による認証を受けておらず、サインイン状態にない場合でも、当該ユーザを対象とするポイント発生処理Ｐを実行することができる。ただし、前述したように処理結果識別情報受信部３２が処理結果識別情報Ｉｐを受信し、当該ユーザに関連付けて記録した状態でポイント発生処理Ｐを実行する必要がある。このように、ポイント発生処理Ｐの実行にユーザの認証操作が不要となることで、例えばポイント発生処理Ｐがユーザの操作を必要としない処理の場合、ユーザの操作を受け付けずに処理実行部３３は所定のタイミングでポイント発生処理Ｐを自動実行できる。
【００３７】
本実施形態では、処理実行部３３は、ポイント発生処理Ｐの実行によって、ポイントを示す処理結果情報Ｄｐを、当該ポイント発生処理Ｐの対象となったユーザに関連付けて処理結果識別情報受信部３２が処理結果識別情報Ｉｐを格納したデータファイルＦ内に記録することとする。これにより、クライアント３を使用するユーザごとに、処理結果情報Ｄｐと処理結果識別情報Ｉｐとが互いに関連付けられて同じデータファイルＦ内に記録される。こうすれば、同じユーザに関連付けられた処理結果識別情報Ｉｐと処理結果情報Ｄｐとを一体的に取り扱うことができ、不正な意図を持ったユーザが、処理結果識別情報Ｉｐとは別に処理結果情報Ｄｐだけを他の記憶領域に複写しておくなどの操作を実行しにくくなる。
【００３８】
なお、処理実行部３３は、処理結果情報送信部３４による処理結果情報Ｄｐの送信処理を実行していない状態で、１又は複数のユーザのそれぞれを対象とするポイント発生処理Ｐを、複数回実行してもよい。この場合、処理実行部３３は、ポイント発生処理Ｐを実行するごとに、記憶部２２に記録されている処理結果情報Ｄｐを、当該記録されている処理結果情報Ｄｐと、新たに実行したポイント発生処理Ｐの実行結果と、に応じた情報により更新する。これにより、各ユーザに関連付けられた処理結果情報Ｄｐは、当該ユーザについて処理結果識別情報Ｉｐを受信した時点を基準として、後述する処理結果情報送信部３４による処理結果情報Ｄｐの送信の時点までに複数回実行されたポイント発生処理Ｐの実行結果を累積した情報となる。ここでは具体的に、処理実行部３３は、記憶部２２に記録されている処理結果情報Ｄｐにより示されるポイントに対して、新たなポイント発生処理Ｐの実行結果に応じて発生したポイントを加算した値により、処理結果情報Ｄｐを更新する。これにより、処理結果情報Ｄｐは、複数回のポイント発生処理Ｐによって発生したポイントの累計値となる。
【００３９】
クライアント３の処理結果情報送信部３４は、クライアント３がサーバ２と通信接続された状態で、処理実行部３３によって記録された処理結果情報Ｄｐを、処理結果識別情報受信部３２によって記録された処理結果識別情報Ｉｐとともに、サーバ２に対して送信する。このとき、処理結果情報送信部３４は、同じユーザに関連付けて記録されている処理結果情報Ｄｐと処理結果識別情報Ｉｐの組を、当該ユーザを特定するユーザ関連情報（例えば当該ユーザのサインインにより認証装置４から送信された認証状態識別情報）とともに、サーバ２に送信する。
【００４０】
具体的に、処理結果情報送信部３４は、所定のタイミングで、クライアント３とサーバ２との間の通信接続が確立されているか否か判定し、確立されている場合（すなわち、サインイン状態の場合）に、認証ユーザに関連付けて記録されている処理結果情報Ｄｐと処理結果識別情報Ｉｐの組を、サーバ２に対して送信する。なお、このとき、処理結果情報送信部３４は、認証装置４より受信した認証状態識別情報も併せて送信することとする。
【００４１】
サーバ２の処理結果情報受信部３５は、クライアント３の処理結果情報送信部３４が送信する処理結果情報Ｄｐを、処理結果識別情報Ｉｐ及びユーザを特定するためのユーザ関連情報とともに受信する。
【００４２】
サーバ２の処理結果受け入れ部３６は、処理結果情報受信部３５がクライアント３から処理結果情報Ｄｐと処理結果識別情報Ｉｐの組を受信した場合に、受信した処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記憶部１２内に記録されているか否かの判定を行う。このとき、処理結果受け入れ部３６は、単に処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記録されているか否かだけではなく、処理結果情報受信部３５が受信したユーザ関連情報により特定されるユーザと関連付けて送信済み識別情報Ｉｓとして記録されているか否かを判定することとする。そして、判定の結果、受信した処理結果識別情報Ｉｐが有効な送信済み識別情報Ｉｓとして記録されていると判定される場合に、処理結果情報受信部３５が受信した処理結果情報Ｄｐの受け入れ処理を行うとともに、記録されている送信済み識別情報Ｉｓを無効化する処理を行う。一方、判定の結果、受信した処理結果識別情報Ｉｐが有効な送信済み識別情報Ｉｓとして記録されていないと判定される場合には、受信した処理結果情報Ｄｐの受け入れ処理を行わずに、処理を終了する。
【００４３】
ここで、サーバ２は、ポイント発生処理Ｐの処理結果に関する情報（以下、サーバ管理情報という）を記憶部１２に記憶しているものとする。そして、処理結果情報Ｄｐの受け入れ処理とは、処理結果情報Ｄｐの示す処理結果を受け入れて、その内容を反映してサーバ管理情報を更新する処理である。具体例として、処理結果受け入れ部３６は、受け入れ処理として、ユーザ関連情報により特定されるユーザに関連付けて記録されているサーバ管理情報を、当該サーバ管理情報と、新たに受信した処理結果情報Ｄｐと、に応じた情報により更新する処理を実行する。これにより、サーバ管理情報は、ユーザごとに、複数回にわたってクライアント３から受け入れた処理結果情報Ｄｐを累積した情報となる。この場合、クライアント３は、過去実行されたポイント発生処理Ｐの処理結果を継続して記憶し続ける必要はなく、サーバ２が処理結果情報Ｄｐの受け入れ処理を前回実行した時点以降のポイント発生処理Ｐの処理結果を示す差分情報だけを、処理結果情報Ｄｐの送信を次に行う時点まで記憶しておけばよいことになる。
【００４４】
具体的に、本実施形態では、サーバ２は、サーバ管理情報として、記憶部１２内に処理結果管理データベース（ＤＢ）を記憶している。この処理結果管理データベースには、図４に例示するように、各ユーザのユーザＩＤと、当該ユーザに付与されたポイントと、を関連付ける情報が格納されている。処理結果受け入れ部３６は、受け入れ処理として、処理結果管理ＤＢにおいてポイント付与対象となったユーザに関連付けて記録されているポイントに対して、受信した処理結果情報Ｄｐにより示されるポイントを加算する処理を行う。これにより、サーバ２で管理されているポイント情報に対して、クライアント３で実行されたポイント発生処理Ｐの処理結果が反映され、クライアント３のポイント発生処理Ｐによって発生したポイントがユーザに対して付与される。
【００４５】
さらに、処理結果受け入れ部３６は、送信済み識別情報Ｉｓを無効化する無効化処理を行う。具体的には、記憶部１２内に記録されたテーブルから、送信済み識別情報Ｉｓを削除する。あるいは処理結果受け入れ部３６は、当該送信済み識別情報Ｉｓに関連付けられたフラグ情報を、受け入れ処理を実行済みであることを示す値に更新することによって、当該送信済み識別情報Ｉｓを無効化してもよい。この無効化処理によって、それ以降に無効化された送信済み識別情報Ｉｓと同じ値の処理結果識別情報Ｉｐを再び処理結果情報受信部３５が受信したとしても、処理結果受け入れ部３６は、処理結果情報Ｄｐの受け入れ処理を行わない。これにより、サーバ２は、ユーザの不正な操作などによって一つの処理結果情報Ｄｐを重複して受け入れてしまうことを防ぐことができる。
【００４６】
なお、処理結果情報Ｄｐの受け入れ処理と、当該処理結果情報Ｄｐとともに受信した処理結果識別情報Ｉｐを無効化する無効化処理と、は、併せて実行される。すなわち、例えばエラーの発生等により受け入れ処理と無効化処理のいずれか一方が失敗した場合には、他方の処理も一旦実行前の状態に戻し、例えば所定時間経過後に再度両方の処理を実行することとする。こうすれば、受け入れ処理と無効化処理の不整合を防ぐことができる。
【００４７】
さらに、処理結果受け入れ部３６による受け入れ処理及び無効化処理が実行されると、処理結果識別情報送信部３１は、無効化された処理結果識別情報Ｉｐの代わりに新たな処理結果識別情報Ｉｐを発行し、発行した新たな処理結果識別情報Ｉｐを送信済み識別情報Ｉｓとして記録する。また、この新たな処理結果識別情報Ｉｐを、受け入れ処理の完了通知とともにクライアント３に対して送信する。
【００４８】
これに応じて、クライアント３の処理結果識別情報受信部３２は、既に記録されている処理結果識別情報Ｉｐを無効化して、新たに受信した処理結果識別情報Ｉｐを記憶部２２に記録する。また、併せて処理結果識別情報受信部３２は、この無効化された処理結果識別情報Ｉｐと関連付けて記録されている処理結果情報Ｄｐを初期化する処理を行う。具体例として、処理結果識別情報受信部３２は、認証ユーザに関連付けて記録されている処理結果情報Ｄｐにより示されるポイントを０にリセットするとともに、認証ユーザに関連付けて記録されている処理結果識別情報Ｉｐを、新たに受信した処理結果識別情報Ｉｐで上書きする。これにより、処理結果情報Ｄｐが複数回実行されたポイント発生処理Ｐの実行結果を累積して得られる差分情報である場合に、処理結果情報Ｄｐが有効な処理結果識別情報Ｉｐを受信した以降のポイント発生処理Ｐの実行結果だけを反映するように制御できる。
【００４９】
以下では、本実施の形態に係る情報処理システム１において、サーバ２及びクライアント３が実行する処理の流れの具体例について、説明する。
【００５０】
まず、サーバ２及びクライアント３が実行する処理の流れの概要について、図５のフロー図に基づいて説明する。なお、具体的な処理の詳細については、サーバ２及びクライアント３のそれぞれについて、後述する。
【００５１】
図５の上段は、クライアント３でポイント発生処理Ｐを実行してポイントを発生させる際に実行される処理の流れ（以下、ポイント発生時処理フローという）の一例を示している。同図に示すように、まずクライアント３は、処理結果識別情報Ｉｐが記憶部２２内に記録されているか否か判定する（Ｓ１）。Ｓ１で処理結果識別情報Ｉｐが記録されていないと判定された場合、処理結果識別情報Ｉｐの発行要求が、クライアント３からサーバ２に対して送信される（Ｓ２）。Ｓ２で送信された発行要求を受けて、サーバ２は、処理結果識別情報発行処理を実行する（Ｓ３）。この処理結果識別情報発行処理は、処理結果識別情報Ｉｐを発行してクライアント３に送信するとともに、当該発行した処理結果識別情報Ｉｐを送信済み識別情報Ｉｓとして記憶部１２に記憶する一連の処理である。クライアント３は、この処理結果識別情報発行処理によりサーバ２から送信される処理結果識別情報Ｉｐを受信する（Ｓ４）。Ｓ１で処理結果識別情報Ｉｐが記録されていると判定した場合、又はＳ４で送信された処理結果識別情報Ｉｐを記録した場合に、クライアント３はポイント発生処理Ｐを実行して、処理結果情報Ｄｐを記録する（Ｓ５）。
【００５２】
次に、図５の下段は、前述したポイント発生時処理フローにより発生したポイントをサーバ２の処理結果管理データベースに反映させることにより、ユーザにポイントを付与する際に実行される処理の流れ（以下、ポイント付与時処理フローという）の一例を示している。なお、このポイント付与時処理フローは、ポイント発生時処理フローが実行されるごとに実行される必要はなく、ポイント発生時処理フローが複数回実行された後に実行されてもよい。
【００５３】
図５に示すように、ポイント付与時処理フローにおいては、まずクライアント３が、付与対象となるポイントを示す処理結果情報Ｄｐが記録されているか否か判定する（Ｓ１１）。Ｓ１１で送信すべき処理結果情報Ｄｐが記録されていないと判定されれば、クライアント３は処理を終了する。一方、Ｓ１１で送信すべき処理結果情報Ｄｐが記録されていると判定された場合、当該処理結果情報Ｄｐが、処理結果識別情報Ｉｐとともにクライアント３からサーバ２に対して送信される（Ｓ１２）。Ｓ１２で送信された情報を受信したサーバ２は、受信した処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記録されているか否かによって、受信した処理結果識別情報Ｄｐを受け入れ可能か否か判定する（Ｓ１３）。Ｓ１３で受け入れ可能と判定した場合、サーバ２は、ポイント付与処理を実行する（Ｓ１４）。このポイント付与処理は、処理結果情報Ｄｐの受け入れ処理を実行して処理結果管理データベースを更新するとともに、当該処理結果情報Ｄｐの重複受け入れを防止するためにＳ１３で判定の対象となった送信済み識別情報Ｉｓを無効化する一連の処理である。
【００５４】
Ｓ１３で処理結果識別情報Ｄｐの受け入れが不可能と判定された場合、及び受け入れ可能と判定されてＳ１４の処理が実行された場合のいずれの場合においても、続いてサーバ２は、処理結果識別情報発行処理を実行する（Ｓ１５）。この処理結果識別情報発行処理は、前述したＳ３の処理と同様のものである。これにより、Ｓ１４のポイント付与処理が実行されたか否かを示す受け入れ結果情報とともに、新たにＳ１５で発行された処理結果識別情報Ｉｐがサーバ２からクライアント３に対して送信される（Ｓ１６）。Ｓ１６で送信された情報を受信したクライアント３は、処理結果初期化処理を実行する（Ｓ１７）。この処理結果初期化処理は、Ｓ１２で送信対象となった処理結果情報Ｄｐを初期化するとともに、Ｓ１２で送信対象となった処理結果識別情報ＩｐをＳ１６で受信した処理結果識別情報Ｉｐにより更新する一連の処理である。
【００５５】
ここで、図５のフロー中におけるサーバ２とクライアント３との間の通信が失敗した場合に、サーバ２及びクライアント３が実行する処理の一例について、説明する。まず、Ｓ２で送信された処理結果識別情報Ｉｐの発行要求が通信エラーによってサーバ２に到達しなかった場合、処理結果識別情報発行処理（Ｓ３）は実行されず、クライアント３はＳ４で処理結果識別情報Ｉｐを受信することができない。この場合、クライアント３はポイント発生処理Ｐ（Ｓ５）を実行せずに、例えば所定時間経過後にＳ１に戻って再度ポイント発生時処理フローを実行し、処理結果識別情報Ｉｐの取得を試みる。これにより、クライアント３は、処理結果識別情報Ｉｐが記録された状態でポイント発生処理Ｐを実行することができる。
【００５６】
また、Ｓ４で送信された処理結果識別情報Ｉｐが通信エラーによってクライアント３に到達しなかった場合も、クライアント３から見ればＳ２で通信エラーが生じた場合と同様に、Ｓ２の送信処理後、Ｓ４の処理結果識別情報Ｉｐを受信できないことになる。そのため、Ｓ２で通信エラーが生じた場合と同様に、再度ポイント発生時処理フローを実行して、処理結果識別情報Ｉｐの取得を試みる。ただし、Ｓ４で通信エラーが生じた場合には、サーバ２は処理結果識別情報発行処理（Ｓ３）を既に実行しており、通信エラーによりクライアント３に到達しなかった処理結果識別情報Ｉｐを送信済み識別情報Ｉｓとして記録してしまっている。この記録された送信済み識別情報Ｉｓは、Ｓ１２でクライアント３から送信される対象とはなり得ないため、ポイント付与処理（Ｓ１３）によって無効化されずに、有効な送信済み識別情報Ｉｓとしてサーバ２に記憶され続けることになる。そこで、サーバ２は、例えば所定時間が経過するごとに、発行されてから所定時間以上経過している送信済み識別情報Ｉｓがないかを検索して、このような送信済み識別情報Ｉｓを無効化することとしてもよい。
【００５７】
また、Ｓ１２で通信エラーが生じた場合、クライアント３はＳ１６で受け入れ結果情報を受信できない。この場合、クライアント３は、処理結果初期化処理（Ｓ１７）を実行せずに、例えば所定時間経過後にＳ１１に戻って再度ポイント付与時処理フローを実行し、処理結果情報Ｄｐの送信を試みる。なお、このようにポイント付与に成功しない間も、クライアント３は有効な処理結果識別情報Ｉｐを記憶しているので、ポイント発生時処理フローを実行して、新たな処理結果識別情報Ｉｐの発行を受けることなくポイント発生処理Ｐを実行することができる。これにより、クライアント３は、サーバ２への処理結果情報Ｄｐ送信に成功しない間に発生したポイントを処理結果情報Ｄｐに反映させ続けて、最終的に処理結果情報Ｄｐのサーバ２への送信が可能になった状態で、ポイント付与時処理フローを実行し、発生したポイントをサーバ２の処理結果管理データベースに反映させることができる。
【００５８】
また、Ｓ１６で通信エラーが生じた場合、やはりクライアント３は処理結果初期化処理（Ｓ１７）を実行せずに、Ｓ１２で送信対象とした処理結果識別情報Ｉｐを記憶し続ける。ところが、この場合には、サーバ２はポイント付与処理（Ｓ１４）を実行しており、Ｓ１２で送信された処理結果識別情報Ｉｐを無効化してしまっている。そのため、Ｓ１６で通信エラーが発生した後にポイント発生時処理フローが実行されると、クライアント３は有効な処理結果識別情報Ｉｐを記憶していない状態でポイント発生処理Ｐを実行することとなる。しかし、この場合でも、通信エラー発生から所定時間経過後に再びポイント付与時処理フローを実行することにより、クライアント３は新たに有効な処理結果識別情報Ｉｐの発行を受けることができる。なぜなら、図５のフローに示すように、サーバ２はポイント付与処理（Ｓ１４）により処理結果情報Ｄｐの受け入れ処理が行われたか否かに関わらず、処理結果識別情報発行処理（Ｓ１５）を実行して新たな処理結果識別情報Ｉｐを発行し、クライアント３に対して送信するからである。
【００５９】
なお、Ｓ１２で処理結果情報Ｄｐを送信した後、所定時間内にＳ１６により新たな処理結果識別情報Ｉｐを受信できない事象が発生した状態で、その後にポイント発生時処理フローを実行する場合、クライアント３は、Ｓ１の処理において、処理結果識別情報Ｉｐが記録されているにも関わらず、処理結果識別情報Ｉｐの発行要求をサーバ２に対して送信することとしてもよい。こうすれば、クライアント３は、新たに発生したポイントの受け入れがサーバ２側で拒絶される可能性がある状態でポイント発生処理Ｐを実行することを避けることができる。
【００６０】
次に、図５で例示したポイント発生時処理フロー及びポイント付与時処理フローのそれぞれにおいて、クライアント３及びサーバ２のそれぞれが実行する処理の詳細について、説明する。
【００６１】
まず、あるユーザ（以下、対象ユーザという）を対象としたポイント発生時処理フローにおいて、クライアント３が実行する処理の流れの例について、図６のフロー図に基づいて説明する。
【００６２】
クライアント３の処理結果識別情報受信部３２は、まず記憶部２２内に対象ユーザに関連付けて処理結果識別情報Ｉｐが記録されているか否かを判定する（Ｓ１）。Ｓ１で処理結果識別情報Ｉｐが記録されていると判定された場合には、処理実行部３３が、ポイント発生処理Ｐを実行して、実行結果を示す処理結果情報Ｄｐを当該処理結果識別情報Ｉｐと関連付けて記憶部２２内に記録し（Ｓ５−１）、処理を終了する（正常終了）。この場合には、対象ユーザが認証ユーザとしてサインインしていない状態であっても、ポイント発生処理Ｐは正常に完了することとなる。
【００６３】
一方、Ｓ１で処理結果識別情報Ｉｐが記録されていないと判定された場合には、処理結果識別情報受信部３２は、サインイン状態か否か（すなわち、対象ユーザが認証ユーザとしてサインインしているか否か）を判定する（Ｓ２−１）。Ｓ２−１でサインイン状態でないと判定された場合、処理結果識別情報受信部３２は、処理結果識別情報Ｉｐをサーバ２から受信することができないため、ポイント発生処理Ｐを実行せずに処理を終了する（異常終了）。この場合、クライアント３は、前述したＳ２で通信エラーが発生した場合と同様に、所定時間経過後に再度図６に示す処理を実行することになる。なお、この場合において、クライアント３の制御部２１は、例えばポイント発生処理Ｐを実行できない旨のメッセージを表示して、サインインの実行を対象ユーザに促すなど、所定のエラー処理を実行してもよい。
【００６４】
一方、Ｓ２−１でサインイン状態と判定された場合、処理結果識別情報受信部３２は、サーバ２に対して処理結果識別情報Ｉｐの発行要求を送信する（Ｓ２−２）。このとき、処理結果識別情報受信部３２は、ユーザのサインインによって認証装置４から発行された認証状態識別情報とともに発行要求を送信する。そして、Ｓ２−２の発行要求に応じてサーバ２から送信される処理結果識別情報Ｉｐを受信する（Ｓ４）。
【００６５】
その後、処理実行部３３がポイント発生処理Ｐを実行して、実行結果を示す処理結果情報Ｄｐを、Ｓ４で受信した処理結果識別情報Ｉｐと関連付けて、記憶部２２に記録する（Ｓ５−２）。これにより、クライアント３におけるポイント発生処理Ｐが完了する（正常終了）。
【００６６】
次に、上述した図６におけるＳ２−２の処理でクライアント３が送信した発行要求を受信した際に、Ｓ４でクライアント３が受信する処理結果識別情報Ｉｐを送信するためにサーバ２が実行する処理の例について、図７のフロー図に基づいて説明する。
【００６７】
まず、処理結果識別情報送信部３１は、受信した発行要求に含まれる認証状態識別情報を用いて、認証装置４に対して問い合わせを行うことにより、当該認証状態識別情報が有効か否かを検証する（Ｓ２−３）。Ｓ２−３で検証に失敗した場合、サーバ２は発行要求を受け付けずに処理を終了する。この場合も、図５のフローにおけるＳ２で通信エラーが発生した場合と同様に、処理の再実行が行われることとなる。
【００６８】
一方、Ｓ２−３で検証に成功した場合、処理結果識別情報送信部３１は、処理結果識別情報発行処理を実行する（Ｓ３）。すなわち、まず新たな処理結果識別情報Ｉｐを発行する（Ｓ３−１）。そして、発行した処理結果識別情報Ｉｐを対象ユーザのユーザＩＤと関連付けて、送信済み識別情報Ｉｓとして記憶部１２内に記録する（Ｓ３−２）。このとき、処理結果識別情報送信部３１は、対象ユーザのユーザＩＤを、Ｓ２−３の検証処理において認証装置４から取得してもよい。あるいは、クライアント３が、図６のＳ２−２の処理において発行要求とともにユーザＩＤを送信することとしてもよい。続いて、処理結果識別情報送信部３１は、Ｓ１２で発行した処理結果識別情報Ｉｐを、発行要求を送信したクライアント３に対して送信し（Ｓ３−３）、処理を終了する。
【００６９】
なお、前述したように、クライアント３は、Ｓ１で対象ユーザに関連付けて処理結果識別情報Ｉｐが記録されていないと判定した場合には、Ｓ２−２で新たな処理結果識別情報Ｉｐの発行をサーバ２に対して要求する。そのため、例えば対象ユーザが既にあるクライアント３を使用して処理結果識別情報Ｉｐの発行を受けていたとしても、初めて他のクライアント３を使用する場合には、当該他のクライアント３は新たに処理結果識別情報Ｉｐの発行をサーバ２に要求することとなる。また、サーバ２は、ユーザごとに一つの処理結果識別情報Ｉｐを発行するのではなく、一人のユーザが複数のクライアント３を使用する場合には、これに応じて一人のユーザに関連付けて複数の処理結果識別情報Ｉｐを発行し、これらの処理結果識別情報Ｉｐをそれぞれ送信済み識別情報Ｉｓとして記録する。そのため、サーバ２は、各クライアント３からの処理結果識別情報Ｉｐの発行要求を受信した場合には、ユーザごとに既に送信済み識別情報Ｉｓを記録しているか否かを判定する必要はなく、図７に示したような同一の処理により処理結果識別情報Ｉｐの発行を行うことができる。
【００７０】
次に、ポイント発生時処理フローにおいて、クライアント３が実行する処理の流れの例について、図８のフロー図に基づいて説明する。なお、ここで説明する処理は、例えばクライアント３を使用する各ユーザについて所定時間おきに実行されてもよいし、あるいは対象ユーザについてポイント発生処理Ｐが完了した時点などにおいて実行されることとしてもよい。
【００７１】
まず、処理結果情報送信部３４は、処理実行部３３によって出力される処理結果情報Ｄｐが、記憶部２２に記録されているか否か判定する（Ｓ１１）。Ｓ１１により処理結果情報Ｄｐが記録されていないと判定された場合、サーバ２に送信すべき処理結果情報Ｄｐは存在しないので、処理結果情報送信部３４は処理を中止する（異常終了）。
【００７２】
一方、Ｓ１１により処理結果情報Ｄｐが記録されていると判定された場合、処理結果情報送信部３４は、さらに対象ユーザが認証ユーザとしてサインインしてサインイン状態になっているか否かを判定する（Ｓ１２−１）。Ｓ１２−１によりサインイン状態にないと判定された場合、処理結果情報Ｄｐをサーバ２に送信することができないため、処理結果情報送信部３４は処理を中止する（異常終了）。この場合、図５のフローにおけるＳ１２で通信エラーが発生した場合と同様に、処理の再実行が行われることとなる。
【００７３】
一方、Ｓ１２−１により対象ユーザがサインイン状態にあると判定された場合、処理結果情報送信部３４は、前述した図６のフローにおけるＳ５−１又はＳ５−２の処理により互いに関連付けて記録されている処理結果情報Ｄｐと処理結果識別情報Ｉｐとを、サーバ２に対して送信する（Ｓ１２−２）。このとき、処理結果情報送信部３４は、認証装置４より受信した認証状態識別情報を併せて送信する。
【００７４】
次に、クライアント３は、Ｓ１２−２で送信した情報に対するサーバ２の応答を受信する（Ｓ１６−１）。この応答には、Ｓ１２−２で送信した処理結果情報Ｄｐに対する受け入れ処理が成功したか否かを示す受け入れ結果情報と、新たに発行された処理結果識別情報Ｉｐと、が含まれている。
【００７５】
続いてクライアント３の処理結果識別情報受信部３２は、Ｓ１６−１で受信した受け入れ結果情報が、受け入れ処理の成功を示しているか否かを判定する（Ｓ１６−２）。Ｓ１６−２により、サーバ２から処理結果情報Ｄｐの受け入れ失敗の応答があったと判定された場合には、クライアント３は、所定のメッセージを出力して、対象ユーザにポイントの受け入れがされなかった旨を提示する（Ｓ１６−３）。
【００７６】
Ｓ１６−２で受け入れ成功の応答があったと判定された場合、及び受け入れ失敗の応答に応じてＳ１６−３でメッセージ出力がなされた場合のいずれの場合にも、続いて処理結果識別情報受信部３２は、処理結果初期化処理を実行する（Ｓ１７）。具体的に、処理結果識別情報受信部３２は、対象ユーザに関連付けて記憶部２２に記録されている処理結果識別情報Ｉｐ（すなわち、Ｓ１２−２で送信対象とした処理結果識別情報Ｉｐ）をＳ１６−１で受信した処理結果識別情報Ｉｐにより更新する（Ｓ１７−１）。さらに、対象ユーザに関連付けて記憶部２２に記録されている処理結果情報Ｄｐにより示されるポイントを、０に初期化して（Ｓ１７−２）、処理を終了する（正常終了）。
【００７７】
続いて、上述した図７のフローにおけるＳ１２−２の処理でクライアント３が送信した情報を受信した際に、Ｓ１６−１でクライアント３が受信する応答を送信するためにサーバ２が実行する処理の例について、図９のフロー図に基づいて説明する。
【００７８】
まず、処理結果情報受信部３５は、受信した情報に含まれる認証状態識別情報を用いて、認証装置４に対して問い合わせを行うことにより、当該認証状態識別情報が有効か否かを検証する（Ｓ１２−３）。Ｓ１２−３で検証に失敗した場合、サーバ２は処理を終了する。この場合も、図５のフローにおけるＳ１２で通信エラーが発生した場合と同様に、処理の再実行が行われることとなる。
【００７９】
一方、Ｓ１２−３で検証に成功した場合、処理結果受け入れ部３６は、クライアント３から受信した情報に含まれる処理結果識別情報Ｉｐが、送信済み識別情報Ｉｓとして記憶部１２内に記録されているか否か判定する（Ｓ１３）。
【００８０】
Ｓ１３の処理により、受信した処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記録されていると判定された場合、処理結果受け入れ部３６は、ポイント付与処理を実行する（Ｓ１４）。具体的に、まず処理結果受け入れ部３６は、クライアント３から当該処理結果識別情報Ｉｐとともに受信した処理結果情報Ｄｐの受け入れ処理を行う（Ｓ１４−１）。すなわち、当該処理結果情報Ｄｐにより示されるポイントを、認証ユーザのユーザＩＤと関連付けてサーバ２が記録しているポイントに対して、加算する処理を行う。続いて、処理結果受け入れ部３６は、送信済み識別情報Ｉｓを無効化する無効化処理を行う（Ｓ１４−２）。
【００８１】
Ｓ１３で処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記録されていないと判定された場合、及び処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記録されていると判定されＳ１４の処理が実行された場合のいずれの場合においても、処理結果識別情報送信部３１が、処理結果識別情報発行処理を実行する（Ｓ１５）。すなわち、まず処理結果識別情報送信部３１は、新たな処理結果識別情報Ｉｐを発行する（Ｓ１５−１）。そして、発行した処理結果識別情報Ｉｐを認証ユーザのユーザＩＤと関連付けて、送信済み識別情報Ｉｓとして記憶部１２内に記録する（Ｓ１５−２）。さらに、処理結果識別情報送信部３１は、Ｓ１５−１で発行した処理結果識別情報Ｉｐを、Ｓ１４−１の受け入れ処理を実行したか否かを示す受け入れ結果情報とともに、処理結果情報Ｄｐの送信を行ったクライアント３に対する応答として送信し（Ｓ１５−３）、処理を終了する。
【００８２】
以上説明した本実施の形態によれば、サーバ２がクライアント３に送信する処理結果識別情報Ｉｐを送信済み識別情報Ｉｓとして記録しておき、クライアント３から処理結果情報Ｄｐを受信した際には、当該処理結果情報Ｄｐとともに受信した処理結果識別情報Ｉｐが送信済み識別情報Ｉｓとして記録されている場合に当該処理結果情報Ｄｐの受け入れ処理を行う。これにより、ユーザの不正な操作やネットワークトラブルなどによって一つの処理結果情報Ｄｐを重複してサーバ２が受け入れないようにすることができる。
【００８３】
なお、本発明の実施形態は、以上説明したものに限られない。例えば以上の説明においては、各クライアント３は所定処理として各ユーザについてポイントを発生させる処理を実行し、サーバ２は各ユーザに付与されるポイントを管理することとしたが、これに限らず、サーバ２は、クライアント３が実行する各種の処理の結果を受け入れて、管理することとしてもよい。また、本実施形態では、ユーザが認証装置４による認証を受けることによってサーバ２とクライアント３との間の接続が確立されることとしたが、サーバ２及びクライアント３は、認証装置４を介さずに直接接続を確立して互いにデータ通信を行うこととしてもよい。
【００８４】
また、以上の説明において、クライアント３は、処理結果識別情報Ｉｐと処理結果情報Ｄｐとを関連付けて記録するデータファイルＦを暗号化した状態で記憶部１２に記憶することとしてもよい。また、ユーザによるデータファイルＦの改ざんや複写を制限する制御を実行してもよい。これらの機能により、ユーザが、データファイルＦに記憶された処理結果情報Ｄｐを重複してサーバ２に受け入れさせる不正な操作を実行することをさらに困難にすることができる。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態に係る情報処理システムの全体構成例を示す概要図である。
【図２】本発明の実施の形態に係る情報処理システムによって実現される機能例を示す機能ブロック図である。
【図３】サーバに記録される送信済み識別情報の一例を示す図である。
【図４】処理結果管理データベース内に格納される情報の一例を示す図である。
【図５】本発明の実施の形態に係る情報処理システムが実行する処理の流れの概要を示す図である。
【図６】ポイント発生時フローにおいてクライアントが実行する処理の流れの一例を示すフロー図である。
【図７】ポイント発生時フローにおいてサーバが実行する処理の流れの一例を示すフロー図である。
【図８】ポイント付与時フローにおいてクライアントが実行する処理の流れの一例を示すフロー図である。
【図９】ポイント付与時フローにおいてサーバが実行する処理の流れの一例を示すフロー図である。
【符号の説明】
【００８６】
１  情報処理システム、２  サーバ、３  クライアント、４  認証装置、１１，２１  制御部、１２，２２  記憶部、１３，２３  通信部、３１  処理結果識別情報送信部、３２  処理結果識別情報受信部、３３  処理実行部、３４  処理結果情報送信部、３５  処理結果情報受信部、３６  処理結果受け入れ部。
【図１】
0004672038.tif 000002
【図２】
0004672038.tif 000003
【図３】
0004672038.tif 000004
【図４】
0004672038.tif 000005
【図５】
0004672038.tif 000006
【図６】
0004672038.tif 000007
【図７】
0004672038.tif 000008
【図８】
0004672038.tif 000009
【図９】
0004672038.tif 000010