(57)【特許請求の範囲】
【請求項１】
応答を必要とする情報を配信するサーバ装置と、前記サーバ装置にネットワークを介して接続され、配信された情報に対する応答を入力する複数のクライアント装置とを備え、
前記クライアント装置は、それぞれ、
前記サーバ装置から前記ネットワークを介して配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、
前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段と、
前記時間データ送信手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段と、を備え、
前記サーバ装置は、
前記クライアント装置の情報受信手段が受信すべき応答を必要とする情報を、前記ネットワークを介して配信する情報配信手段と、
前記時間データ送信手段から前記ネットワークを介して送信された時間データを受信する時間データ受信手段と、
前記時間データ受信手段が受信した時間データに基づいて、前記クライアント装置において情報が出力されてから応答が入力されるまでの時間を認証する時間認証手段とを備える、
ことを特徴とする時間認証システム。
【請求項２】
応答を必要とする情報を配信するサーバ装置と、前記サーバ装置にネットワークを介して接続され、配信された情報に対する応答を入力する複数のクライアント装置と、前記サーバ装置と前記クライアント装置との間のネットワーク上に存在し、前記クライアント装置から前記サーバ装置への時間データの送信を中継する中継装置と、を備え、
前記クライアント装置は、それぞれ、
前記サーバ装置から前記ネットワークを介して配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、
前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段とを備え、
前記サーバ装置は、
前記クライアント装置の情報受信手段が受信すべき応答を必要とする情報を、前記ネットワークを介して配信する情報配信手段と、
前記時間データ送信手段から前記ネットワークを介して送信された時間データを受信する時間データ受信手段と、
前記時間データ受信手段が受信した時間データに基づいて、前記クライアント装置において情報が出力されてから応答が入力されるまでの時間を認証する時間認証手段とを備え、
前記中継装置は、前記時間データ送信手段から前記ネットワークに送出された時間データを受信する手段と、該手段が受信した時間データを前記ネットワークから前記サーバ装置に送信する手段と、該手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段を備える
ことを特徴とする時間認証システム。
【請求項３】
前記サーバ装置は、
クライアント装置に、前記応答を必要とする情報と共に前記クライアント装置において応答を要する情報に対するユーザの応答時間を測定するための時間測定プログラムとを、ネットワークを介して配信する情報配信手段、を備え、
クライアント装置より時間データと前記時間測定プログラムとを受信し、送信した時間測定プログラムと受信した時間測定プログラムとが一致するか否かを判別し、一致する場合に、受信した時間データは正当なものであると認証する、
ことを特徴とする請求項１又は２に記載の時間認証システム。
【請求項４】
ネットワークを介してクライアント装置に接続されたサーバ装置であって、
クライアント装置に、応答を必要とする情報と前記クライアント装置において応答を要する情報に対するユーザの応答時間を測定するための時間測定プログラムとを、ネットワークを介して配信する情報配信手段と、
前記時間データ送信手段から前記ネットワークを介して送信された応答と時間データとを受信する受信手段と、
前記時間データ受信手段が受信した時間データに基づいて、前記クライアント装置において応答を要する情報が出力されてから応答が入力されるまでの時間を認証する時間認証手段と、
を備え、
クライアント装置より時間データと前記時間測定プログラムとを受信し、送信した時間測定プログラムと受信した時間測定プログラムとが一致するか否かを判別し、一致する場合に、受信した時間データは正当なものであると認証する、
ことを特徴とするサーバ装置。
【請求項５】
前記情報配信手段は、前記情報及び前記時間測定プログラムと共に、複数のクライアント装置からの時間データを受け取るタイミングが分散するように、複数のクライアント装置又はネットワーク上の中継装置に、このサーバ装置に時間データを送信するタイミングをスケジューリングさせるスケジューリングプログラムを送信する、ことを特徴とする請求項４に記載のサーバ装置。
【請求項６】
前記時間測定プログラムは、再実行不可プログラムである、ことを特徴とする請求項４又は５に記載のサーバ装置。
【請求項７】
サーバ装置にネットワークを介して接続され、サーバ装置から配信された情報に対する応答を入力する複数のクライアント装置と、前記サーバ装置と前記クライアント装置にネットワークを介して接続され、前記クライアント装置から前記サーバ装置への時間データの送信を中継する中継装置と、を備えるネットワークシステムであって、
前記クライアント装置は、それぞれ、
前記サーバ装置から前記ネットワークを介して配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段と、を備え、
前記中継装置は、
前記時間データ送信手段から前記ネットワークに送出された時間データを受信する手段と、
該手段が受信した時間データを前記ネットワークから前記サーバ装置に送信する手段と、
該手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段と、を備え、
サーバ装置の過負荷を予防しつつ、サーバ装置による、クライアント装置において情報が出力されてから応答が入力されるまでの時間の認証を可能とした、
ことを特徴とするネットワークシステム。
【請求項８】
コンピュータを、
サーバ装置にネットワークを介して接続されたクライアント装置であって、
前記サーバ装置から前記ネットワークを介して複数のクライアント装置に配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、
前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段と、
前記時間データ送信手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段と、を備え、
サーバ装置の過負荷を予防しつつ、サーバ装置による、クライアント装置において情報が出力されてから応答が入力されるまでの時間の認証を可能とした、
ことを特徴とするクライアント装置として機能させるコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特にオンラインで提供される情報に対する応答時間を認証するのに好適な時間認証システム、ネットワークシステム、該システムに適用されるサーバ装置、並びにそのためのプログラム等を記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、コンピュータの普及に伴って、インターネットを介して様々な情報が提供されるようになっている。このようなインターネットを介した情報の提供は、従来、サーバ装置からクライアント装置へ片方向で行われるのが一般的であったが、最近では双方向通信により提供する情報にユーザを参加させるものが登場してきている。このような双方向システムを利用した場合、ユーザの応答を必要とするもの、例えば、クイズを情報として提供することができる。
【０００３】
ここで、さらに一歩進めて、情報を提供してから応答があるまでの応答時間を測定することによって、例えば、早押しクイズなども実現することができる。このような場合に応答時間を測定する方法として、従来、サーバ装置からインターネットを介してクライアント装置に情報を配信してから、その情報に対してクライアント装置において入力された応答をサーバ装置が受け取るまでの時間を測定することが考えられてきた。すなわち、応答時間の測定は、サーバ装置が行うものとしていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、サーバ装置から情報を配信してからクライアント装置がこれを実際に受信するまでの時間には、通信路の状況やクライアント装置の性能等により、差が生じうる。また、クライアント装置から応答を入力してからサーバ装置がそれを実際に受け取るまでの時間にも、同様の問題により差が生じうる。
【０００５】
ところが、サーバ装置において、インターネットを経由した通信処理に要した時間とクライアント装置内での処理に要した時間とを切り分けるのは困難である。従って、サーバ装置で測定した応答時間は、ユーザが応答を入力するのに必要とされた時間ということができず、その測定結果には不公平が生じていた。
【０００６】
また、上記のような方法で応答時間を測定しようとする場合に、クライアント装置からの応答が一度に集中してサーバ装置に達することとなる。このため、上記の方法は、通信路やサーバ装置に過大な負荷がかかり、通信の輻輳が生じたり、サーバ装置がダウンしてしまうという問題も抱えていた。
【０００７】
このように、従来は、サーバ装置から配信された情報に対してクライアント装置からユーザが応答を入力するまでの時間を正確に測定し、サーバ装置で収集することができるシステムがなかった。このため、例えば、制限時間を付してオンラインで試験を行ったり、時間認証にタイトである商取引をネットワークを介して行ったりということを実現し得なかった。
【０００８】
本発明の目的は、ネットワークを介して配信した情報に対して応答が入力されるまでの時間を、公平かつ正確に認証することにある。
【０００９】
本発明の他の目的は、ネットワークを介して配信した情報に対する応答を、ネットワークなどの資源に過大な負荷をかけずに収集することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点にかかる時間認証システムは、応答を必要とする情報を配信するサーバ装置と、前記サーバ装置にネットワークを介して接続され、配信された情報に対する応答を入力する複数のクライアント装置とを備え、
前記クライアント装置は、それぞれ、
前記サーバ装置から前記ネットワークを介して配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、
前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段と、
前記時間データ送信手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段と、を備え、
前記サーバ装置は、
前記クライアント装置の情報受信手段が受信すべき応答を必要とする情報を、前記ネットワークを介して配信する情報配信手段と、
前記時間データ送信手段から前記ネットワークを介して送信された時間データを受信する時間データ受信手段と、
前記時間データ受信手段が受信した時間データに基づいて、前記クライアント装置において情報が出力されてから応答が入力されるまでの時間を認証する時間認証手段とを備える、
ことを特徴とする。
【００１１】
上記目的を達成するため、本発明の第２の観点にかかる時間認証システムは、応答を必要とする情報を配信するサーバ装置と、前記サーバ装置にネットワークを介して接続され、配信された情報に対する応答を入力する複数のクライアント装置と、前記サーバ装置と前記クライアント装置との間のネットワーク上に存在し、前記クライアント装置から前記サーバ装置への時間データの送信を中継する中継装置と、を備え、
前記クライアント装置は、それぞれ、
前記サーバ装置から前記ネットワークを介して配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、
前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段とを備え、
前記サーバ装置は、
前記クライアント装置の情報受信手段が受信すべき応答を必要とする情報を、前記ネットワークを介して配信する情報配信手段と、
前記時間データ送信手段から前記ネットワークを介して送信された時間データを受信する時間データ受信手段と、
前記時間データ受信手段が受信した時間データに基づいて、前記クライアント装置において情報が出力されてから応答が入力されるまでの時間を認証する時間認証手段とを備え、
前記中継装置は、前記時間データ送信手段から前記ネットワークに送出された時間データを受信する手段と、該手段が受信した時間データを前記ネットワークから前記サーバ装置に送信する手段と、該手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段を備える
ことを特徴とする。
【００１２】
例えば、前記サーバ装置は、クライアント装置に、前記応答を必要とする情報と共に前記クライアント装置において応答を要する情報に対するユーザの応答時間を測定するための時間測定プログラムとを、ネットワークを介して配信する情報配信手段、を備え、クライアント装置より時間データと前記時間測定プログラムとを受信し、送信した時間測定プログラムと受信した時間測定プログラムとが一致するか否かを判別し、一致する場合に、受信した時間データは正当なものであると認証する、ように構成してもよい。
【００１３】
上記目的を達成するため、本発明の第３の観点にかかるサーバ装置は、
ネットワークを介してクライアント装置に接続されたサーバ装置であって、
クライアント装置に、応答を必要とする情報と前記クライアント装置において応答を要する情報に対するユーザの応答時間を測定するための時間測定プログラムとを、ネットワークを介して配信する情報配信手段と、
前記時間データ送信手段から前記ネットワークを介して送信された応答と時間データとを受信する受信手段と、
前記時間データ受信手段が受信した時間データに基づいて、前記クライアント装置において応答を要する情報が出力されてから応答が入力されるまでの時間を認証する時間認証手段と、
を備え、
クライアント装置より時間データと前記時間測定プログラムとを受信し、送信した時間測定プログラムと受信した時間測定プログラムとが一致するか否かを判別し、一致する場合に、受信した時間データは正当なものであると認証する、
ことを特徴とする。
【００１４】
前記情報配信手段は、例えば、前記情報及び前記時間測定プログラムと共に、複数のクライアント装置からの時間データを受け取るタイミングが分散するように、複数のクライアント装置又はネットワーク上の中継装置に、このサーバ装置に時間データを送信するタイミングをスケジューリングさせるスケジューリングプログラムを送信する。
【００１５】
前記時間測定プログラムは、例えば、再実行不可プログラムである。
【００１６】
上記目的を達成するため、本発明の第３の観点にかかるネットワークシステムは、
サーバ装置にネットワークを介して接続され、サーバ装置から配信された情報に対する応答を入力する複数のクライアント装置と、前記サーバ装置と前記クライアント装置にネットワークを介して接続され、前記クライアント装置から前記サーバ装置への時間データの送信を中継する中継装置と、を備えるネットワークシステムであって、
前記クライアント装置は、それぞれ、
前記サーバ装置から前記ネットワークを介して配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段と、を備え、
前記中継装置は、
前記時間データ送信手段から前記ネットワークに送出された時間データを受信する手段と、該手段が受信した時間データを前記ネットワークから前記サーバ装置に送信する手段と、
該手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段と、を備え、
サーバ装置の過負荷を予防しつつ、サーバ装置による、クライアント装置において情報が出力されてから応答が入力されるまでの時間の認証を可能とした、
ことを特徴とする。
【００１７】
上記目的を達成するため、本発明の第４の観点にかかる記録媒体は、
コンピュータを、
サーバ装置にネットワークを介して接続されたクライアント装置であって、
前記サーバ装置から前記ネットワークを介して複数のクライアント装置に配信された情報を受信する情報受信手段と、
前記情報受信手段が受信した情報を出力する出力手段と、
前記出力手段が出力した情報に対する応答を入力する応答入力手段と、
前記出力手段から情報が出力されてから前記応答入力手段に応答が入力されるまでの時間を測定する時間測定手段と、
前記時間測定手段が測定した時間を含む時間データを前記ネットワークを介して前記サーバ装置に送信する時間データ送信手段と、
前記時間データ送信手段による時間データの前記サーバ装置への送信タイミングを、前記サーバ装置が前記複数のクライアント装置からの時間データを受け取るタイミングが分散するように、スケジューリングするスケジューリング手段と、を備え、
サーバ装置の過負荷を予防しつつ、サーバ装置による、クライアント装置において情報が出力されてから応答が入力されるまでの時間の認証を可能とした、
ことを特徴とするクライアント装置として機能させるコンピュータプログラムを記録したことを特徴とする。
【００１８】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００１９】
図１は、この実施の形態にかかる時間認証システムの構成を示すブロック図である。図示するように、この時間認証システムは、サーバ装置１と、サーバ装置１にインターネット３を介して接続された複数のクライアント装置２とから構成されている。
【００２０】
サーバ装置１は、プロセッサ、メモリ及び通信装置等を備える汎用のコンピュータシステムによって構成され、コンテンツ提供部１１、復号化部１２、操作時間認証部１３、結果処理部１４、プログラム監査部１５、プログラム提供部１６、システム調整部１７及び通信処理部１８の各機能を備える。
【００２１】
コンテンツ提供部１１は、サーバ装置１に論理的に接続されたクライアント装置２に対して、固定ディスク等に予め記憶されたコンテンツを、結果処理部１４からの指示に従って必要な場合には改変を加えて、提供する。提供するコンテンツは、通信処理部１８に渡され、クライアント装置２に配信される。コンテンツ提供部１１が提供するコンテンツは、後述するようにその内容に対してクライアント装置２のユーザが応答を入力する必要のある情報を含んでいる。
【００２２】
復号化部１２は、通信処理部１８がクライアント装置２から受信した、後述する暗号化カプセルデータを復号化して、操作時間認証部１３に渡す。操作時間認証部１３は、復号化されたデータの内容とプログラム監査部１５による監査結果とに基づいて、クライアント装置２における操作時間（後述）を認証する。
【００２３】
結果処理部１４は、操作時間認証部１３によるクライアント装置２における操作時間の認証結果に従って、コンテンツ提供部１１に、コンテンツとして提供する情報を調整するための指示を与える。
【００２４】
プログラム監査部１５は、通信処理部１８がクライアント装置２から受信した、後述するプログラムカプセルデータを解凍し、これをプログラム提供部１６が提供したプログラムと比較することにより、提供したプログラムが不正に改竄されていないかを監査する。プログラム監査部１５は、その監査結果を操作時間認証部１３に渡す。
【００２５】
プログラム提供部１６は、サーバ装置１に論理的に接続されたクライアント装置２に対して、操作時間測定プログラム、暗号化プログラム及びスケジューリングプログラム（いずれも後述）を提供する。提供するこれらのプログラムは、通信処理部１８に渡され、クライアント装置２に配信される。
【００２６】
システム調整部１７は、コンテンツ提供部１１、プログラム監査部１５及びプログラム提供部１６の動作を制御する。具体的には、コンテンツ提供部１１がコンテンツとして応答を必要とする情報を提供するのに先立って、プログラム提供部１６に操作時間計算プログラム、暗号化プログラム及びスケジューリングプログラムを提供させる。また、プログラム監査部１５がプログラムの正当性を監査する際に、プログラム提供部１６からプログラム監査部１５にプログラムを渡させる。
【００２７】
通信処理部１８は、コンテンツ提供部１１が提供するコンテンツ、及びプログラム提供部１６が提供する操作時間計算プログラム、暗号化プログラム及びスケジューリングプログラムを、インターネット３を介してクライアント装置２に送信する。通信処理部１８は、また、インターネット３を介してクライアント装置２から送信されてきた暗号化カプセルデータ及びプログラムカプセルデータ（いずれも後述）を受信し、それぞれ復号化部１２、プログラム監査部１５に渡す。
【００２８】
クライアント装置２は、プロセッサ、メモリ、入力装置、表示装置及び通信装置等を備える端末装置によって構成され、表示部２１、入力部２２、操作時間計算部２３、暗号化部２４、通信スケジュール部２５、プログラム管理部２６及び通信処理部２７の各機能を備える。
【００２９】
表示部２１は、サーバ装置１のコンテンツ提供部１１から提供されたコンテンツを表示する。表示部２１は、入力部２２からの表示切替入力をトリガとして、表示するコンテンツの内容を初期ページのそのままの情報からユーザが応答を必要とする情報に切り替える。
【００３０】
入力部２２は、ユーザの操作によって、表示部２１が表示するコンテンツの内容を切り替えるための表示切換入力を入力する。入力部２２は、また、ユーザの操作によって、コンテンツとして表示された応答を必要とする情報に対する応答を入力する。
【００３１】
操作時間計算部２３は、プログラム管理部２６が管理する時間計算プログラムによって構築され、クライアント装置２のユーザが入力部２２に開始操作をしてから応答操作をするまでの間の時間（以下、操作時間という）を、例えば、内部タイマを用いて計算する。操作時間計算部２３は、計算した操作時間を暗号化部２４に渡す。
【００３２】
暗号化部２４は、プログラム管理部２６が管理する暗号化プログラムによって構築され、操作時間計算部２３から渡された操作時間を、コンテンツの識別情報及びクライアント装置２或いはそのユーザの識別情報、さらに必要であれば入力された応答を示す情報と結合して、これを暗号化する。以下、この暗号化されたデータを暗号化カプセルデータと呼ぶ。暗号化部２４は、生成した暗号化カプセルデータを通信スケジュール部２５に渡す。
【００３３】
通信スケジュール部２５は、プログラム管理部２６が管理するスケジューリングプログラムによって構築され、暗号化部２４から渡された暗号化カプセルデータ及びプログラム管理部２６から渡されたプログラムカプセルデータ（後述）のサーバ装置１への送信タイミングをスケジューリングする。
【００３４】
プログラム管理部２６は、サーバ装置１のプログラム提供部１６が提供し、通信処理部２７が受信した操作時間計算プログラム、暗号化プログラム及びスケジューリングプログラムを管理し、これらのプログラムを用いて操作時間計算部２３、暗号化部２４及び通信スケジュール部２５をそれぞれ構築する。プログラム管理部２６は、また、操作時間の計算や暗号化のための処理が行われたときに、そのプログラムを、コンテンツの識別情報及びクライアント装置２或いはそのユーザの識別情報と結合して、これを圧縮する。以下、この圧縮されたプログラムを、プログラムカプセルデータと呼ぶ。プログラム管理部２６は、生成したプログラムカプセルデータを通信スケジュール部２５に渡す。
【００３５】
通信処理部２７は、インターネット３を介してサーバ装置１から送信されてきたコンテンツ及び各プログラムを受信し、それぞれ表示部２１、プログラム管理部２６に渡す。通信処理部２７は、また、通信スケジュール部２５から渡された暗号化カプセルデータ及びプログラムカプセルデータをインターネット３を介してサーバ装置１に送信する。
【００３６】
以下、この実施の形態にかかる時間認証システムにおける動作について説明する。最初に、この時間認証システムを構成するサーバ装置１とクライアント装置２のそれぞれにおいて、操作時間を認証するために実行される処理について説明する。
【００３７】
図２は、図１のサーバ装置１における処理を示すフローチャートである。コンテンツとしてユーザの応答を必要とする情報を接続されているクライアント装置２に配信する場合には、まず、プログラム提供部１６は、時間計算プログラム、暗号化プログラム及びスケジューリングプログラムを提供し、通信処理部１８に送信させる（ステップＳ１０１）。
【００３８】
次に、コンテンツ提供部１１は、予め作成され、固定ディスク装置等に格納されているユーザの応答を必要とする情報を提供し、サーバ装置１に接続されているすべてのクライアント装置２を宛先として、通信処理部１８に送信させる（ステップＳ１０２）。
【００３９】
その後、サーバ装置１は、通信処理部１８によるクライアント装置２からの暗号化カプセルデータ及びプログラムカプセルデータの受信待ち動作に入る。すなわち、配信したスケジューリングプログラムで設定している送信スケジュール及びインターネット３上での通信の遅延時間等を考慮した所定時間だけ、クライアント装置２からの暗号化カプセルデータ及びプログラムカプセルデータの受信動作を続ける（ステップＳ１０３、Ｓ１０４）。
【００４０】
受信待ちの所定時間が経過すると、サーバ装置１では、受信した暗号化カプセルデータをそれぞれ復号化部１２が復号化して、操作時間認証部１３に渡す（ステップＳ１０５）。また、受信したプログラムカプセルデータをそれぞれプログラム監査部１５が解凍し、プログラム提供部１６が提供したプログラムと比較することで、クライアント装置２において操作時間の測定に使用したプログラムが正当なものであるかどうかを監査し、その監査結果を操作時間認証部１３に渡す（ステップＳ１０６）。
【００４１】
次に、操作時間認証部１３は、復号化されたカプセルデータとプログラム監査部１５における監査結果とに基づいて、クライアント装置２で測定した操作時間の認証を行う。具体的には、暗号化カプセルデータが正しく復号化でき、監査結果がプログラムの一致を示しているときは、当該クライアント装置２で測定した操作時間は正当なものであると認証する（ステップＳ１０７）。
【００４２】
次に、結果処理部１４は、操作時間認証部１３における操作時間の認証結果を受け取り、それに基づいて所定の処理を行う（ステップＳ１０８）。そして、その処理の結果から、コンテンツ提供部１１が提供するコンテンツの内容を更新する必要があるかどうかを判断する（ステップＳ１０９）。
【００４３】
コンテンツの内容を更新する必要がある場合には、結果処理部１４は、その処理結果をコンテンツ提供部１１に渡し、これに基づいてコンテンツ提供部１１がコンテンツの内容を更新する（ステップＳ１１０）。そして、このフローチャートの処理を終了する。一方、コンテンツの内容を更新する必要がない場合には、そのままこのフローチャートの処理を終了する。
【００４４】
図３は、図１のクライアント装置２における処理を示すフローチャートである。まず、通信処理部２７は、ステップＳ１０１でサーバ装置１から配信された時間計算プログラム、暗号化プログラム及びスケジューリングプログラムを受信し、これをプログラム管理部２６に渡す（ステップＳ２０１）。プログラム管理部２６は、通信処理部２７から時間計算プログラム、暗号化プログラム及びスケジューリングプログラムを受け取ると、それぞれのプログラムに基づいて操作時間計算部２３、暗号化部２４及び通信スケジュール部２５を構築させる（ステップＳ２０２）。
【００４５】
次に、通信処理部２７は、ステップＳ１０２でサーバ装置１から配信されたコンテンツを受信し、表示部２１に渡す（ステップＳ２０３）。表示部２１は、受け取ったコンテンツを表示する。もっとも、受け取ったコンテンツには、ユーザの応答を必要とする情報は含まれているものの、この段階ではそのような情報が表示部２１に表示されることはない（ステップＳ２０４）。
【００４６】
次に、クライアント装置２のユーザは、入力部２２を操作して、表示切替入力を行う（ステップＳ２０５）。入力部２２は、表示切替入力があったかどうかを判定する（ステップＳ２０６）。表示切替入力があるまでは、ステップＳ２０５、Ｓ２０６の処理を繰り返す。
【００４７】
表示切替入力があったと判定すると、入力部２２は、その旨を示す情報を操作時間計算部２３と表示部２１とに渡す。これにより、操作時間計算部２３は、内部タイマが計時している現在の時間を取得し（ステップＳ２０７）、また、表示部２１は、表示を切り替えて、ユーザの応答を必要とする情報を表示する（ステップＳ２０８）。
【００４８】
次に、クライアント装置２のユーザは、表示されている情報に応じて入力部２を操作して、応答を入力する（ステップＳ２０９）。入力部２２は、この応答が入力されたかどうかを判定する（ステップＳ２１０）。応答が入力されるまでは、ステップＳ２０９、Ｓ２１０の処理を繰り返す。
【００４９】
応答が入力されたと判定すると、入力部２２は、その旨を示す情報を操作時間計算部２３に渡す。これにより、操作時間計算部２３は、内部タイマが計時している現在の時間を取得し（ステップＳ２１１）、これとステップＳ２０７で取得した時間との差を求めて操作時間を計算する。そして、計算した操作時間を暗号化部２４に渡す（ステップＳ２１２）。
【００５０】
次に、暗号化部２４は、操作時間計算部２４から受け取った操作時間を、コンテンツの識別情報及びクライアント装置２或いはそのユーザの識別情報、さらに必要であれば、ステップＳ２０９で入力部２２から入力された応答を示す情報と結合する。そして、暗号化部２４は、この結合した情報を暗号化して暗号化カプセルデータを生成し、通信スケジュール部２５に渡す（ステップＳ２１３）。
【００５１】
さらに、プログラム管理部２６は、操作時間計算部２３を構築するのに用いた操作時間の計算に実際に使用したプログラムと、暗号化部２４を構築するのに用いた暗号化カプセルデータの生成に使用したプログラムとのうちで必要なモジュールを取得する。そして、プログラム管理部２６は、取得したモジュールを圧縮してプログラムカプセルデータを生成し、通信スケジュール部２５に渡す（ステップＳ２１４）。
【００５２】
暗号化部２４から暗号化カプセルデータを受け取り、プログラム管理部２６からプログラムカプセルデータを受け取ると、通信スケジュール部２５は、スケジューリングプログラムによって設定されている送信タイミングとなったかどうかを判定する（ステップＳ２１５）。送信タイミングとなるまでは、このステップＳ２１５の処理を繰り返す。
【００５３】
送信タイミングになったと判定すると、通信スケジュール部２５は、暗号化部２４から受け取った暗号化カプセルデータとプログラム管理部２６から受け取ったプログラムカプセルデータとを、通信処理部２７からインターネット３を介してサーバ装置１に送信させる（ステップＳ２１６）。そして、このフローチャートの処理を終了する。
【００５４】
以下、この実施の形態にかかる時間認証システムにおいて、サーバ装置１からクライアント装置２に情報を配信してから当該情報に対する各クライアント装置２での操作時間を認証するまでの流れについて、図４のタイミングチャートに基づいて説明する。ここでは、クライアント装置２としてＡ〜Ｄまでの４つがサーバ装置１に接続されているものとし、時間計算プログラム、暗号化プログラム及びスケジューリングプログラムは予め配信されて、Ａ〜Ｄの４つのクライアント装置２には、操作時間計算部２３、暗号化部２４及び通信スケジュール部２５が構築されているものとする。
【００５５】
サーバ装置１は、時間０において、接続されている４つのクライアント装置２にコンテンツとしてユーザの応答を必要とする情報を配信する（図中、○で示す）。配信した情報は、インターネット３を介して各クライアント装置２の通信処理部２７が受信することとなるが、インターネット３上の通信経路や、通信処理部２７（より詳細には、これを構成する通信装置）の性能の違いにより、Ａ〜Ｄの４つのクライアント装置２が情報の受信を完了する時間は、それぞれ４ｔ、３ｔ、２ｔ、２ｔとなる（図中、●で示す）。
【００５６】
この段階では、Ａ〜Ｄの各クライアント装置２では、応答を必要とする情報が表示部２１に表示されておらず、それぞれのユーザが入力部２２から表示切替入力を行う必要がある。ここで、Ａ〜Ｄの４つのクライアント装置２で表示切替入力がされた時間が、それぞれ７ｔ、６ｔ、５ｔ、４ｔであったとする（図中、◆で示す）。この時点で初めて、Ａ〜Ｄの４つのクライアント装置２のそれぞれの表示部２１に、応答を必要とする情報が表示される。
【００５７】
次に、Ａ〜Ｄの各クライアント装置２のユーザは、表示部２１に表示された情報に基づいて入力部２２を操作して、応答を入力する。ここで、Ａ〜Ｄの４つのクライアント装置２で応答が入力された時間が、それぞれ２０ｔ、２０ｔ、１９ｔ、１９ｔであったとする（図中、◇で示す）。これにより、Ａ〜Ｄの４つのクライアント装置２の操作時間計算部２３は、それぞれ１３ｔ、１４ｔ、１４ｔ、１５ｔを操作時間として求める。
【００５８】
次に、Ａ〜Ｄの４つのクライアント装置２の暗号化部２４は、求めた操作時間を含む暗号化カプセルデータを生成し、通信スケジュール部２５に渡す。また、プログラムカプセルデータも通信スケジュール部２５に渡される。Ａ〜Ｄの各クライアント装置２の通信スケジュール部２５は、送信タイミングをスケジューリングし、それぞれ２７ｔ、３０ｔ、２４ｔ、２１ｔで暗号化カプセルデータとプログラムカプセルデータとをサーバ装置１に送信する（図中、△で示す）。
【００５９】
サーバ装置１は、Ａ〜Ｄの各クライアント装置２から送信された暗号化カプセルデータとプログラムカプセルデータとを、インターネット３上の通信経路の長さやその状況の違いにより、それぞれ３１ｔ、３３ｔ、２６ｔ、２３ｔで受信する（図中、▽で示す）。そして、サーバ装置１では、操作時間認証部１３が、受信した暗号化カプセルデータとプログラムカプセルデータとに基づいて、Ａ〜Ｄの４つのクライアント装置２におけるそれぞれの操作時間を１３ｔ、１４ｔ、１４ｔ、１５ｔと認証する。
【００６０】
上記の説明から分かるように、各クライアント装置２で入力部２２から応答が入力された時間的な順序は、ＣとＤ（同時）、ＡとＢ（同時）の順になっている。サーバ装置１が各クライアント装置２からのデータを受信した時間的な順序は、Ｄ、Ｃ、Ａ、Ｂの順になっている。しかし、サーバ装置１が認証した各クライアント装置２における操作時間は、表示切替入力から応答の入力までの時間に等しく、Ａ、ＢとＣ（同時）、Ｄの順となっている。
【００６１】
また、Ａ〜Ｄの各クライアント装置２で入力部２２から応答が入力された時間は、それぞれ２０ｔ、２０ｔ、１９ｔ、１９ｔと非常に近いが、通信スケジュール部２５によるスケジューリングにより、サーバ装置１がＡ〜Ｄの各クライアント装置２から暗号化カプセルデータ及びプログラムカプセルデータを受信する時間は、それぞれ３１ｔ、３３ｔ、２６ｔ、２３ｔと分散されていることが分かる。
【００６２】
以上説明したように、この実施の形態にかかる時間認証システムによれば、応答を必要とする情報が表示部２１に表示されてからそれに対する応答が入力部２２から入力されるまでの操作時間を、クライアント装置２内に構築された操作時間計算部２３が求めている。このため、インターネット３の通信経路やクライアント装置２の通信処理部２７等の性能の違いによって、配信された情報が表示部２１に表示されるまでの時間に遅延が生じたり、データをサーバ装置１に返却するまでの時間に遅延が生じても、サーバ装置１では、クライアント装置２における実際の操作時間のみを認証することができる。このため、操作時間認証部１３は、情報が出力されてから応答が入力されるまでの時間を正確かつ公平に認証することができる。
【００６３】
また、サーバ装置１内には、プログラム監査部１５を設け、クライアント装置２において操作時間を計算したプログラム等が改変されていないかを監査させている。これにより、不正に計算された操作時間を正当な操作時間として認証しないことができるようになるため、操作時間認証部１３は、情報が出力されてから応答が入力されるまでの時間をさらに正確かつ公平に認証することができる。
【００６４】
また、サーバ装置１からクライアント装置２に配信した暗号化プログラムによって暗号化部２４を構築し、操作時間計算部２３が計算した操作時間を含むデータを暗号化している。これにより、インターネット３上で操作時間のデータが改竄されるのを防ぐことができ、操作時間認証部１３は、情報が出力されてから応答が入力されるまでの時間をさらに正確かつ公平に認証することができる。
【００６５】
さらに、この実施の形態にかかる時間認証システムでは、サーバ装置１からクライアント装置２にスケジューリングプログラムを配信し、クライアント装置２内に通信スケジュール部２５を構築している。そして、構築された通信スケジュール部２５がサーバ装置１への暗号化カプセルデータ及びプログラムカプセルデータの送信をスケジューリングしている。このため、サーバ装置１による暗号化カプセルデータ及びプログラムカプセルデータの受信が集中することがなくなるので、サーバ装置１やこれに接続される通信路に過大な負荷がかかることがなく、システムがダウンしてしまうという事態を防ぐことができる。
【００６６】
特に、この実施の形態にかかる時間認証システムにおいてクライアント装置２からサーバ装置１へ送信するデータは、時間の測定結果として確定したものである点、暗号化した暗号化カプセルデータとしている点において、その送信タイミングをスケジューリングするのに格好のデータである。
【００６７】
なお、クライアント装置２が有する内部タイマが計時している時間は、一致していない場合が多い。しかし、操作時間計算部２３は、表示切替入力がされたときの時間と応答が入力されたときの時間とを内部タイマから取得し、その差を操作時間として求めているので、内部タイマが計時する時間の不一致によって問題が生じることがない。また、内部タイマは、通常、発振周期がかなり正確な水晶パルス発振器によって時間を計時するため、表示切替入力から応答の入力まで程度の時間では、問題となるような誤差が発生することもない。
【００６８】
本発明は、上記の実施の形態に限られず、種々の変形が可能である。以下、上記の実施の形態にかかる時間認証システムの変形例について説明する。
【００６９】
上記の実施の形態では、操作時間計算部２３は、入力部２２から表示切替入力があったときと、応答の入力があったときに内部タイマが計時している時間を取得し、その差を求めることによって操作時間を計算していた。しかしながら、操作時間を求めるのは、この方法に限られない。例えば、操作時間計算部２３が所定時間間隔毎にアップカウントまたはダウンカウントするカウンタを備えるものとしてもよい。単純にこのカウンタのカウント値を用いても、操作時間の長短を比較することは可能である。
【００７０】
上記の実施の形態では、入力部２２からの表示切替入力をトリガとして、応答を必要とする情報を表示部２１に表示するものとしていた。しかしながら、応答を必要とする情報の表示を開始させるのは、このような入力をトリガとする場合に限らない。
【００７１】
上記の実施の形態では、操作時間の測定に不正がされていないことを検証するため、サーバ装置１にプログラム監査部１５を設け、クライアント装置２の操作時間計算部２３を構築するのに用いたプログラム等を監査していた。これに対し、操作時間の測定に不正がされるのを防止するためには、サーバ装置１のプログラム提供部１６は、コンテンツ提供部１１が応答を必要とする情報を提供する直前に、時間測定プログラムを提供するものとし、しかもこの時間測定プログラムを再実行不可能なものとすることもできる。
【００７２】
上記の実施の形態では、プログラム管理部２６は、操作時間計算部２３等を構築するのに用いたプログラムのうち必要なモジュールを圧縮して、プログラムカプセルデータを生成するのみで通信スケジュール部２５に渡していた。これに対して、プログラム管理部２６が生成したプログラムカプセルデータを暗号化部２４にて暗号化してから、通信スケジュール部２５に渡すものとしてもよい。また、プログラム管理部２６は、特にデータ量の少ない場合などには、プログラムカプセルデータを圧縮も暗号化もせずに通信スケジュール部２５に渡すものとしてもよい。
【００７３】
上記の実施の形態では、サーバ装置１は、インターネット３を介して論理的にも接続されているすべてのクライアント装置２に一斉に、応答を必要とする情報を含むコンテンツを配信することとしていた。しかしながら、サーバ装置１は、クライアント装置２から要求があった場合に、応答を必要とする情報を含むコンテンツを配信するものとしてもよい。
【００７４】
上記の実施の形態では、クライアント装置２における操作時間計算部２３、暗号化部２４及び通信スケジュール部２５を構築するためのプログラムは、サーバ装置１からインターネット３を介して配信するものとしていた。しかしながら、これらのプログラムは、ＣＤ−ＲＯＭ等の記録媒体に格納して提供してもよい。この場合において、サーバ装置１は、暗号化部２４が暗号化を行う際に使用する暗号鍵と通信スケジュール部２５による送信スケジュールを示す情報をクライアント装置２に送信するものとすることができる。
【００７５】
上記の実施の形態では、コンテンツ提供部１１による応答を必要とする情報の提供とプログラム提供部１６による操作時間計算プログラム、暗号化プログラム及びスケジューリングプログラムの提供は、それぞれ別個に行われるものとしていた。しかしながら、このような情報とプログラムとは、一体のものとしてサーバ装置１からインターネット３を介してクライアント装置２に配信されるものとしてもよい。
【００７６】
例えば、ブラウザソフト上で動作するコンテンツを応答を必要とする情報と、Java（登録商標） Script等の記述によるプログラムとの双方を含むものとして構成し、これをクライアント装置２のブラウザソフトの制御の下に実行することによって、上記の時間認証システムを実現することもできる。このコンテンツは、サーバ装置１の固定ディスクに格納され、ここから読み出されてクライアント装置２に配信される。また、このような場合も、時間測定に関わる部分のプログラムを、再実行不可能なものとすることができる。
【００７７】
上記の実施の形態では、応答を必要とする情報は１種類で、クライアント装置２のユーザが応答を入力する回数も１回であることを前提にして、時間認証システムの説明を行った。しかし、応答を必要とする情報が複数種類あり、ユーザが複数回応答を入力しなければならないようなものも実現可能である。例えば、入力部２２から表示切替入力がされたときに、複数種類の応答を必要とする情報を順次表示部２１に表示させ、各情報に対する応答をユーザに入力させる。或いは、表示切替入力がされたときに、応答を必要とする最初の情報を表示部２１に表示させ、入力部２２から応答が入力される度に、次の情報を表示部２１に表示させる。そして、操作時間計算部２３は、すべての応答が入力された段階で、内部タイマが計時している時間を取得し、これと表示切替入力がされたときに取得したときの時間との差を求めて、操作時間を計算してもよい。
【００７８】
上記の実施の形態では、クライアント装置２内に通信スケジュール部２５を構築し、暗号化カプセルデータ及びプログラムカプセルデータのサーバ装置１への送信タイミングのスケジューリングをクライアント装置２にて行っていた。これに対して、図５に示すように、クライアント装置２とサーバ装置１との間の通信路上に設けられた中継装置４が、暗号化カプセルデータ及びプログラムカプセルデータの送信タイミングをスケジューリングしてもよい。
【００７９】
この場合、サーバ装置１は、中継装置４にスケジューリングプログラムを配信し、中継装置４内に通信スケジュール部を構築させるものとすることができる。そして、中継装置４は、クライアント装置２から送信された暗号化カプセルデータ及びプログラムカプセルデータを受信し、これの送出タイミングを通信スケジュール部がスケジューリングして、サーバ装置１に送信するものとすることができる。
【００８０】
上記の実施の形態では、本発明をインターネット３を介して接続されたクライアント−サーバシステムで適用した場合を例として説明した。しかしながら、本発明は、クローズドな商用ネットワークを介して接続されたクライアント−サーバシステムや、ＬＡＮ（Local Area Network）を介して接続されたクライアント−サーバシステムにおいても適用することができる。さらには、携帯電話網をネットワークとして利用し、携帯電話をクライアント装置とする場合にも適用することができる。
【００８１】
また、以上説明した時間認証システムは、インターネットなどのネットワークを通じてサービスを提供する様々なネットワークシステムに適用することができる。以下、上述した時間認証システムを適用したネットワークシステムの例について説明する。
【００８２】
第１に、ネットワークシステムを活用した双方向通信による早押しクイズを実現するために、上記の時間認証システムを適用することができる。すなわち、サーバ装置から配信したクイズの問題をクライアント装置で表示させ、その表示から解答を入力するまでの時間を測定し、正解者の中でその時間が最も短い者をクイズの勝者として認定することができる。
【００８３】
第２に、制限時間を設けてクイズやテストを行う場合に、上記の時間認証システムを適用することができる。すなわち、クライアント装置においてその問題を提示してから解答が入力されるまでの時間を計測し、計測した時間が制限時間内であったとサーバ装置において判定した場合にのみ、その解答を有効とすることができる。この場合、問題を複数出題し、それぞれについての解答を求めるものであってもよい。
【００８４】
第３に、オークションにおいて、商品の購入に関して同一価格での入札に競合が生じた場合、落札者を決定するために、上記の時間認証システムを適用することができる。すなわち、入札の意思を示す情報と共に新たな提示価格がクライアント装置で表示されてから入札の意思を示す情報を入力するまでの時間を測定し、その時間が最も短い者を落札者として決定することができる。また、先着Ｘ個限定で商品を販売する場合にも、同様に適用することができる。
【００８５】
第４に、操作時間に期限を設けた処理に、上記の時間認証システムを適用することができる。例えば、オンラインショッピングで扱う商品に対して所定時間以内に購入の意思を指名した場合にのみ当該商品を販売する場合には、商品の情報をクライアント装置に表示してから商品の購入の意思を示す情報を入力するまでの時間を測定し、サーバ装置においてこの時間が所定時間以内であると認証できた者のみに対して、商品の販売を可能とすることができる。
【００８６】
第５に、期限内であれば特定の操作をキャンセルするという処理に、上記の時間認証システムを適用することができる。例えば、オンライン証券取引において、売買すると決定したことに対して所定時間以内にキャンセルの入力をすれば、その取消を許可するということである。この場合、クライアント装置において売買の決定を示す情報を入力したときとキャンセルの入力をしたときとに内部タイマが計時する時間を取得し、その間の時間を測定すればよい。
【００８７】
第６に、特殊な入力装置を使用して入力部２２を構成することによって、運動能力の判定を判定するような場合にも、上記の時間認証システムを適用することができる。例えば、特定の動きの指示を表示してからその指示に応じてユーザが入力を完了するまでの時間を計測し、これをサーバ装置において認証することで、認証した時間に基づいて運動能力を判定することも可能となる。
【００８８】
【発明の効果】
以上説明したように、本発明によれば、情報が出力されてから応答が入力されるまでの時間を正確かつ公平に認証することができるようになる。
【００８９】
また、測定した時間を含む時間データを暗号化することによって、この時間データがネットワーク上等で改竄されるのを防ぐことができる。
【００９０】
さらに、時間データの送信タイミングをスケジューリングすることによって、ネットワーク等の資源に過重な負荷がかかり、システムがダウンしてしまうことを防ぐことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかる時間認証システムの構成を示すブロック図である。
【図２】図１のサーバ装置が実行する処理を示すフローチャートである。
【図３】図１のクライアント装置が実行する処理を示すフローチャートである。
【図４】本発明の実施の形態における時間認証の流れを示すタイミングチャートである。
【図５】本発明の実施の形態の変形にかかる時間認証システムの構成を示すブロック図である。
【符号の説明】
１    サーバ装置
２    クライアント装置
３    インターネット
４    中継装置
１１  コンテンツ提供部
１２  復号化部
１３  操作時間認証部
１４  結果処理部
１５  プログラム監査部
１６  プログラム提供部
１７  システム調整部
１８  通信処理部
２１  表示部
２２  入力部
２３  操作時間計算部
２４  暗号化部
２５  通信スケジュール部
２６  プログラム管理部
２７  通信処理部
【図１】
0004336515.tif 000002
【図２】
0004336515.tif 000003
【図３】
0004336515.tif 000004
【図４】
0004336515.tif 000005
【図５】
0004336515.tif 000006