(57)【要約】【課題】  ネットワークを介したタイムトライアルにおいて、ユーザに判定が公平に行われることを期待させるとともに、高速かつ高品質な通信手段を要することなく、容易にタイムトライアルに参加することを可能とするシステムを提供する。【解決手段】  サーバ１は、カウンタチェックプログラムを記憶するカウンタチェックプログラム記憶部１２と、カウンタチェックプログラムと「入力データ」とをクライアント端末に送信するサーバ側送信部１５と、サーバ側送信部１５が送信したカウンタチェックプログラムがクライアント端末で実行されることによりクライアント端末から入力開始時カウンタ値と入力終了時カウンタ値とを受信するサーバ側受信部１６と、サーバ側受信部１６が受信した入力開始時カウンタ値と入力終了時カウンタ値とに基づいて、「入力データ」に対する入力時間を計算するタイムトライアル判定部１１とを備えた。【選択図】        図１
2006254971.tif 000002
【特許請求の範囲】
【請求項１】
カウンタを備える端末装置にトライアルの対象となるトライアル情報を配信するトライアル情報配信サーバにおいて、
前記端末装置で実行されることにより、前記端末装置が受信した前記トライアル情報にユーザが取り組んだ場合の取り組み開始時における前記カウンタの開始時カウンタ値と、取り組み終了時における前記カウンタの終了時カウンタ値とを取得して送信するカウンタチェックプログラムを記憶するサーバ側プログラム記憶部と、
前記サーバ側プログラム記憶部が記憶する前記カウンタチェックプログラムと前記トライアル情報とを前記端末装置に送信するサーバ側送信部と、
前記サーバ側送信部が送信した前記カウンタチェックプログラムが前記端末装置で実行されることにより前記端末装置から前記開始時カウンタ値と前記終了時カウンタ値とを受信するサーバ側受信部と、
前記サーバ側受信部が受信した前記開始時カウンタ値と前記終了時カウンタ値とに基づいて、前記トライアル情報に対する前記取り組み開始時から前記取り組み終了時までの経過時間を計算する経過時間計算部と
を備えたことを特徴とするトライアル情報配信サーバ。
【請求項２】
前記サーバ側プログラム記憶部が記憶する前記カウンタチェックプログラムは、
前記端末装置で実行されることにより、前記端末装置の備える前記カウンタの種別を取得して送信し、
前記サーバ側受信部は、
前記カウンタチェックプログラムが前記端末装置で実行されることにより前記端末装置から前記カウンタの種別を受信し、
前記トライアル情報配信サーバは、さらに、
カウンタの種別ごとにカウンタ特性を記憶するカウンタ特性記憶部と、
前記サーバ側受信部が受信した前記カウンタの種別と、前記カウンタ特性記憶部が記憶するカウンタ特性とから、前記サーバ側受信部が受信した前記カウンタの種別に係る前記カウンタのカウンタ特性を確認するカウンタ確認部と
を備え、
前記経過時間計算部は、
前記カウンタ確認部が確認した確認結果と前記サーバ側受信部が受信した前記開始時カウンタ値と前記終了時カウンタ値とに基づいて、前記トライアル情報に対する前記取り組み開始時から前記取り組み終了時までの経過時間を計算することを特徴とする請求項１記載のトライアル情報配信サーバ。
【請求項３】
前記カウンタチェックプログラムは、
前記端末装置で実行されることにより、前記トライアル情報配信サーバから前記カウンタの示すカウンタ値の取得要求を受けた場合に前記カウンタ値を取得し、取得した前記カウンタ値を前記トライアル情報配信サーバに送信し、
前記サーバ側送信部は、
前記取得要求を前記端末装置に送信し、
前記サーバ側受信部は、
前記カウンタチェックプログラムが前記端末装置で実行されることにより、前記送信部が送信した前記取得要求に応答する前記端末装置から前記カウンタの示すカウンタ値を前記取得要求に応答する応答カウンタ値として受信し、
前記カウンタ確認部は、
前記サーバ側受信部が受信した前記応答カウンタ値と、カウンタ特性の前記確認結果とに基づいて、応答カウンタ値が期待される値かどうかを判定することを特徴とする請求項２記載のトライアル情報配信サーバ。
【請求項４】
カウンタを備える端末装置にトライアルの対象となるトライアル情報を配信するトライアル情報配信サーバにおいて、
前記端末装置で実行されることにより、少なくとも前記カウンタの種別と前記カウンタの示すカウンタ値とを取得して送信するとともに前記カウンタの示すカウンタ値が特定の値の場合に前記端末装置が受信した前記トライアル情報へのアクセスを認めるカウンタチェックプログラムを記憶するサーバ側プログラム記憶部と、
前記サーバ側プログラム記憶部が記憶する前記カウンタチェックプログラムを前記端末装置に送信するサーバ側送信部と、
前記サーバ側送信部が送信した前記カウンタチェックプログラムが前記端末装置で実行されることにより、前記端末装置から前記カウンタの種別と前記カウンタの示すカウンタ値とを受信するサーバ側受信部と、
カウンタの種別ごとにカウンタ特性を記憶するカウンタ特性記憶部と、
前記サーバ側受信部が受信した前記カウンタの種別と前記カウンタ特性記憶部が記憶するカウンタ特性とから、前記サーバ側受信部が受信した前記カウンタの種別に係る前記カウンタのカウンタ特性を確認するカウンタ確認部と、
前記カウンタ確認部が確認した確認結果と前記サーバ側受信部が受信した前記カウンタ値とに基づいて、前記カウンタチェックプログラムにより前記トライアル情報へのアクセスが認められる前記特定の値を示す特定カウンタ値を決定する特定カウンタ値決定部と
を備え、
前記サーバ側送信部は、
前記特定カウンタ値決定部が決定した前記特定カウンタ値と前記トライアル情報とを前記端末装置に送信することを特徴とするトライアル情報配信サーバ。
【請求項５】
所定の情報を受信する端末装置において、
一定の周期で特定の値ずつ変化するカウンタ値を生成するカウンタと、
トライアルの対象となるトライアル情報と、前記トライアル情報にユーザが取り組んだ場合の取り組み開始時における前記カウンタ値を示す開始時カウンタ値と取り組み終了時における前記カウンタ値を示す終了時カウンタ値とを取得するカウンタチェックプログラムとを受信する端末側受信部と、
前記端末側受信部が受信した前記トライアル情報と前記カウンタチェックプログラムとを記憶する端末側記憶部と、
前記端末側記憶部が記憶した前記トライアル情報へのユーザによる取り組みを受け付ける取り組み受付部と、
前記取り組み受付部がユーザによる前記取り組みを受け付けた場合に、前記端末側記憶部が記憶した前記カウンタチェックプログラムを実行することにより、前記開始時カウンタ値と前記終了時カウンタ値とを取得するカウンタチェックプログラム実行部と、
前記カウンタチェックプログラム実行部が取得した前記開始時カウンタ値と前記終了時カウンタ値とを送信する端末側送信部と
を備えたことを特徴とする端末装置。
【請求項６】
前記端末側受信部が受信する前記カウンタチェックプログラムは、
前記カウンタチェックプログラム実行部に、前記カウンタの種別を取得させ、
前記端末側送信部は、
前記カウンタチェックプログラム実行部が取得した前記カウンタの種別を送信することを特徴とする請求項５記載の端末装置。
【請求項７】
前記カウンタが生成する前記カウンタ値は、
変更が可能であり、
前記端末装置は、さらに、
前記カウンタの示す前記カウンタ値の変更履歴を記憶する変更履歴記憶部を備え、
前記端末側送信部は、
前記変更履歴記憶部が記憶する前記変更履歴を送信することを特徴とする請求項５記載の端末装置。
【請求項８】
前記カウンタと変更履歴記憶部とは、
前記端末装置から分離可能であることを特徴とする請求項７記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、イベントやゲームにおいて、クイズ問題の回答やゲームの所定の面のクリアなどに要した時間を競う「タイムトライアル」に関する。
【背景技術】
【０００２】
現在、ネットワークを介して複数のユーザが参加するイベントやゲームなどのサービスが提供されている。イベントやゲームにおいて、クイズ問題の回答やゲームの所定の面のクリアなどに要した時間を競う「タイムトライアル」が頻繁に行われる。参加するユーザは、このタイムトライアルが公平に行われることを期待している。
【０００３】
一方、ネットワークを介した場合は、「タイムトライアル」を行いたい時間の前後に通信時間が入る。このため、ユーザに対して公平でない印象をあたえる。「タイムトライアル」の勝者が得る賞品は、ユーザが参加料を支払うか、あるいはスポンサが出資するかなどして提供されるものである。よって、公平な判定を行うことにより、より多くのユーザが参加するようにすることが求められる。
【０００４】
この通信時間の問題に対し、例えば、特許文献１では、懸賞抽選システムにおいて懸賞情報にタイマープログラムを組み込み、回答時間をユーザの端末でカウントし、その回答時間を比較することで当選を判定することによって、通信時間にかかわらずタイムトライアルを行っていた。
【０００５】
しかし、上記のようなタイムトライアル方式では、ユーザが端末の時計を変更してしまうことがある。このため、ユーザは、不正が行われる印象を捨てきれず、参加をためらうことになる。
【０００６】
これに対して、サーバで通信時間を考慮したうえで判定を行うことによって、公正を保ってタイムトライアルを行うことも考えられるが、一定の通信品質が保証された通信手段を用意する必要があるなど、ユーザにとって敷居は高くなる。このことは、多くのユーザが参加することを望む運営側にとっても問題である。
【特許文献１】特開２００２−５６１４３号公報  第３０頁〜３１頁、第１０図
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は上記のような問題点を解決するためになされたもので、ユーザに判定が公平に行われることを期待させるとともに、高速かつ高品質な通信手段を用意することなく参加することを可能とするタイムトライアルシステムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明のトライアル情報配信サーバは、
カウンタを備える端末装置にトライアルの対象となるトライアル情報を配信するトライアル情報配信サーバにおいて、
前記端末装置で実行されることにより、前記端末装置が受信した前記トライアル情報にユーザが取り組んだ場合の取り組み開始時における前記カウンタの開始時カウンタ値と、取り組み終了時における前記カウンタの終了時カウンタ値とを取得して送信するカウンタチェックプログラムを記憶するサーバ側プログラム記憶部と、
前記サーバ側プログラム記憶部が記憶する前記カウンタチェックプログラムと前記トライアル情報とを前記端末装置に送信するサーバ側送信部と、
前記サーバ側送信部が送信した前記カウンタチェックプログラムが前記端末装置で実行されることにより前記端末装置から前記開始時カウンタ値と前記終了時カウンタ値とを受信するサーバ側受信部と、
前記サーバ側受信部が受信した前記開始時カウンタ値と前記終了時カウンタ値とに基づいて、前記トライアル情報に対する前記取り組み開始時から前記取り組み終了時までの経過時間を計算する経過時間計算部と
を備えたことを特徴とする。
【発明の効果】
【０００９】
本発明により、タイムトライアルにおいて、各ユーザに対して公平性を担保することができる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１は、本実施の形態１に係るタイムトライアルシステム１０００の構成図である。
【００１１】
図１において、タイムトライアルシステム１０００は、複数のクライアント端末２Ａ，２Ｂ（端末装置）等、サーバ１（トライアル情報配信サーバ）、及びネットワーク３とを備えている。
【００１２】
サーバ１は、カウンタを備えるクライアント端２Ａ等にトライアルの対象となる情報（トライアル情報）を配信し、クライアント端末同士によるタイムトライアルの結果を判定する。
【００１３】
クライアント端末２Ａ、２Ｂ、２Ｃ等は、タイムトライアルに参加するユーザが使用する端末である。サーバ１とクライアント端末２Ａ、２Ｂ、２Ｃは、ネットワーク３を介して通信を行なう。
【００１４】
図２は、実施の形態１におけるサーバ１の外観の一例を示す図である。図２において、サーバ１は、システムユニット１５０、液晶ディスプレイ装置１７１（表示部）、キーボード１７２（入力部）、マウス１７３（入力部）、コンパクトディスク装置（ＣＤＤ）１７４、プリンタ装置１７５を備える。これらはケーブルで接続されている。さらに、サーバ１は、また、ローカルエリアネットワーク（ＬＡＮ）２００、ゲートウェイを介してインターネット３００（例えば図１のネットワーク３に対応）に接続されている。
【００１５】
図３は、実施の形態１におけるサーバ１のハードウェア構成図である。図３において、サーバ１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５５を備えている。ＣＰＵ１５５は、バス１５６を介してＲＯＭ１５２、ＲＡＭ１５３、通信ボード１５４（送信部、受信部）、液晶ディスプレイ装置１７１、Ｋ／Ｂ１７２、マウス１７３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）１５１、ＣＤＤ１７４、プリンタ装置１７５、磁気ディスク装置１６０（記憶部）、と接続されている。
【００１６】
磁気ディスク装置１６０には、オペレーティングシステム（ＯＳ）１６１、ウィンドウシステム１６２、プログラム群１６３、ファイル群１６４が記憶されている。プログラム群１６３は、ＣＰＵ１５５、ＯＳ１６１、ウィンドウシステム１６２により実行される。
【００１７】
上記プログラム群１６３には、以下に述べる実施の形態の説明において「〜部」、として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ１５５により読み出され実行される。ファイル群１６４には、例えば以下に述べるカウンタ情報ＤＢが記憶されている。
【００１８】
また、以下に述べる実施の形態の説明において「〜部」、として説明するものは、ＲＯＭ１５２に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００１９】
また、以下に述べる実施の形態を実施するプログラムは、また、磁気ディスク装置１６０、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【００２０】
なお、クライアント端末２Ａ等もサーバ１と同様のコンピュータシステムを含み、構成は図２、図３と同様である。
【００２１】
次に、図１を参照して、サーバ１とクライアント端末２Ａの構成を説明する。まずサーバ１の構成を説明する。サーバ１は、入力時間を計算して結果を判定するタイムトライアル判定部１１（経過時間計算部）と、クライアント端末の備えるカウンタをチェックするクライアントカウンタチェック部１２（カウンタ確認部）と、カウンタチェックプログラムを記憶するカウンタチェックプログラム記憶部１３（サーバ側プログラム記憶部）と、カウンタの情報を記憶するカウンタ情報ＤＢ記憶部１４（カウンタ特性記憶部）と、データを送信するサーバ側送信部１５と、データを受信するサーバ側受信部１６とを備える。
【００２２】
（１）カウンタチェックプログラム記憶部１３は、カウンタチェックプログラムを記憶する。カウンタチェックプログラムは、クライアント端末装置で実行されるプログラムである。カウンタチェックプログラムは、クライアント端末が受信した後述の「入力データ」（トライアル情報）にユーザが取り組んだ場合の取り組み開始時における入力開始時カウンタ値、取り組み終了時における入力終了時カウンタ値、及びクライアント端末が備えるカウンタの種別等を取得して、サーバ１に送信する。
（２）サーバ側送信部１５は、カウンタチェックプログラム記憶部１３が記憶するカウンタチェックプログラムと後述の「入力データ」とをクライアント端末２Ａ等に送信する。
（３）サーバ側受信部１６は、サーバ側送信部１５が送信したカウンタチェックプログラムがクライアント端末で実行されることによりクライアント端末から入力開始時カウンタ値、入力終了時カウンタ値、クライアント端末が備えるカウンタの種別などを受信する。
（４）カウンタ情報ＤＢ記憶部１４は、カウンタの種別ごとにカウンタ特性をＤＢ（データベース）として記憶する。カウンタ特性とは、例えばカウンタの精度や周期である。
（５）クライアントカウンタチェック部１２は、サーバ側受信部１６が受信したカウンタの種別と、カウンタ情報ＤＢ記憶部１４が記憶するカウンタ特性とから、サーバ側受信部１６が受信したカウンタの種別に係るカウンタのカウンタ特性を確認する。
（６）タイムトライアル判定部１１は、サーバ側受信部１６が受信した入力開始時カウンタ値、入力終了時カウンタ値、クライアントカウンタチェック部１２が確認したカウンタ特性の確認結果等とに基づいて、後述の「入力データ」に対する取り組み開始時から取り組み終了時までの入力時間（経過時間）を計算する。
【００２３】
クライアント端末２Ａ、２Ｂ、２Ｃは、構成は同様である。クライアント端末２Ａを例に説明する。クライアント端末２Ａは、一定の周期で特定の値ずつ変化（例えば増加、減少しても構わない）するカウンタ２１Ａと、データを受信する端末側受信部２２Ａと、カウンタプログラムや入力データを記憶する端末側記憶部２３Ａと、ユーザからのトライアルへの取り組みを受け付ける取り組み受付部２４Ａと、カウンタチェックプログラムを実行するカウンタチェックプログラム実行部２５Ａと、データを送信する端末側送信部２６Ａと、データを表示する表示部２７Ａとを備える。
【００２４】
図１に示すクライアント端末２Ａでは、
（１）カウンタ２１Ａは、一定の周期で特定の値ずつ変化するカウンタ値を生成する。
（２）端末側受信部２２は、トライアルの対象となる後述の「入力データ」（トライアル情報）と、カウンタチェックプログラムとサーバ１から受信する。カウンタチェックプログラムは、「入力データ」にユーザが取り組んだ場合の取り組み開始時におけるカウンタ値を示す「入力開始時カウンタ値」と取り組み終了時におけるカウンタ値を示す「入力終了時カウンタ値」とを取得する。
（３）端末側記憶部２３Ａは、端末側受信部２２Ａが受信した「入力データ」とカウンタチェックプログラムとを記憶する。
（４）取り組み受付部２４Ａは、端末側記憶部２３Ａが記憶した「入力データ」へのユーザによる取り組みを受け付ける。
（５）カウンタチェックプログラム実行部２５Ａは、取り組み受付部２４Ａがユーザによる取り組みを受け付けた場合に、端末側記憶部２３Ａが記憶したカウンタチェックプログラムを実行することにより、「入力開始時カウンタ値」と「入力終了時カウンタ値」とを取得する。
（６）端末側送信部は、カウンタチェックプログラム実行部２５Ａが取得した「入力開始時カウンタ値と「入力終了時カウンタ値」とをサーバ１に送信する。
【００２５】
次に、図４を用いてタイムトライアルシステム１０００におけるサーバとクライアント端末との動作を説明する。クライアント端末はクライアント端末２Ａを例に説明する。
（１）まず、クライアント端末２Ａは、サーバ１にアクセスしてカウンタチェックプログラムを端末側受信部２２Ａにより受信する（Ｓ１、Ｓ２）。カウンタチェックプログラムは、端末側記憶部２３Ａが記憶する。
（２）この受信したカウンタチェックプログラムをカウンタチェックプログラム実行部２５Ａによって実行することにより、カウンタ２１Ａの種別と、そのカウンタ値とを取得し（Ｓ３）、これらをカウンタ情報として、端末側送信部２６Ａを介してサーバ１へ送信する（Ｓ４）。
【００２６】
（３）サーバ１は、サーバ側受信部１６によりカウンタ情報を受信する。このカウンタ情報を受信したサーバ１は（Ｓ５）、クライアントカウンタチェック部１２によってカウンタ情報ＤＢ記憶部１４の記憶するカウンタ情報を参照し、期待されるカウンタ精度などをもとに参加資格があるかどうかを判定する（Ｓ６）。本判定に不合格の場合、クライアント端末２Ａはサービスを利用できない。
（４）先の参加資格の判定に合格すると、サーバ１は、クイズの問題やゲームのステージ情報などのタイムトライアルの対象となるデータ（トライアル情報）（以降、「入力データ」という）をクライアント端末２Ａへ送信する（Ｓ７）。
【００２７】
（５）クライアント端末２Ａは、この「入力データ」を受信し（Ｓ８）、ユーザが問題の回答やゲームなどを実行できるよう表示部２７Ａに画面を表示する（Ｓ９）。
（６）続けて、先に受信したカウンタチェックプログラムを用いてユーザの入力開始時のカウンタ値を取得し保持する（Ｓ１０）。
（７）ユーザが回答を入力やゲームのクリアをもって入力終了とし、入力開始時と同様にカウンタチェックプログラムを用いて入力終了時のカウンタ値を取得し保持する（Ｓ１１）。
（８）そしてユーザが入力した回答やゲームのクリア状態（以下、「回答データ」という）を、入力開始時カウンタ値（開始時カウンタ値）、入力終了時カウンタ値（終了時カウンタ値）とともにサーバ１へ送信する（Ｓ１２）。
【００２８】
（９）サーバ１は、この回答データを受信すると（Ｓ１３）、回答データが正解かどうかを判定し、入力開始時カウンタ値と入力終了時カウンタ値を保持する（Ｓ１４）。
（１０）締め切り時刻になると、サーバはタイムトライアル判定部１１を用いて、（ａ）カウンタ種別と（ｂ）入力開始時カウンタ値と（ｃ）入力終了時カウンタ値とから、比較可能な入力時間（経過時間）を計算し（Ｓ１５）、この入力時間を比較することによって勝者の決定や順位付けなどの判定を行う（Ｓ１６）。
（１１）さらに、サーバ１は、判定結果をクライアント端末２Ａへ送信する（Ｓ１７）。
【００２９】
（１２）サーバ１から判定結果を受信したクライアント端末２Ａは（Ｓ１８）、表示部２７Ａに画面に結果を表示し（Ｓ１９）、ユーザは結果を確認できる。
【００３０】
以上のように、入力時間の計算をサーバで行い、その計算に使用するカウンタ種別と入力開始時カウンタ値と入力終了時カウンタ値とをサーバから送信するカウンタチェックプログラムによって行うようにしているので、不正なユーザが入力時間を短くみせることが困難となり、ユーザに対して公平性を提供することができる。
【００３１】
また、カウンタチェックプログラムはクライアント端末で動作するためネットワークを介した通信にかかる時間は入力時間に含まれず、ユーザは通信環境の違いを気にすることなく参加することができる。
【００３２】
実施の形態２．
以上の実施形態１では、カウンタチェックプログラムをサーバから送信しクライアント端末で実行することでカウンタの改変を困難にするようにしたものである。これに対して、本実施の形態２は、サーバとクライアント端末とが参加から結果判定までの期間定期的に通信可能な場合に、通信を利用してサーバがクライアント端末のカウンタをチェックする実施形態である。実施の形態のシステム構成は、図１に示す実施の形態１と同様である。
【００３３】
図５は、このような場合のサーバとクライアント端末との動作について示したものである。実施の形態１の動作を示す図４に対して、Ｓ１〜Ｓ６は同様である。図５は破線で囲まれたループ部分が特徴である。
（１）実施形態１と同様に、サーバ１は、クライアント端末２Ａからカウンタ２１の種別と、カウンタ値とを取得し参加資格の判定を行う（Ｓ６）。
（２）さらに、サーバ１はタイムトライアルの結果が出るまで、参加中のクライアント端末２Ａに対して、周期的にカウンタのチェック要求（カウンタ値の取得要求）を送信する（図５の破線で囲まれたループ部分）。
【００３４】
（３）クライアント端末２Ａは、カウンタのチェック要求を受信（Ｓ２０４）すると、カウンタチェックプログラムによってカウンタ値を取得し（Ｓ２０５）、サーバ１へカウンタ値を送信する（Ｓ２０６）。
【００３５】
サーバ１はカウンタ値（応答カウンタ値）を受信すると（Ｓ２０８）、クライアントカウンタチェック部１２によってカウンタ情報ＤＢを参照し、カウンタ値（応答カウンタ値）が期待される値かどうかを判定する（Ｓ２０９）。この判定が不合格となった場合およびカウンタのチェック要求に対して一定時間応答を受信しない場合、そのクライアント端末の参加資格を削除する。
【００３６】
以上のように、入力開始時と入力終了時以外にカウンタ値をサーバでチェックすることによって、カウンタ改変の手間を複雑にし、不正を行いにくくしている。
【００３７】
実施の形態３．
以上の実施形態では、クライアント端末が備えるカウンタを用いるものであるが、本実施の形態３は、クライアント端末が外部のカウンタを用いる実施形態である。実施の形態３のシステム構成は、図１に示す実施の形態１の構成と同様である。
【００３８】
図６は、このような実施形態におけるクライアント端末の構成図である。
【００３９】
図６において、クライアント端末４は、タイムトライアルに参加するユーザが使用する端末である。カウント装置５は、クライアント端末４に接続しカウント値を取得するための装置である。図７は、クライアント端末４の外観の一例を示す。図７では、クライアント端末４の一例として携帯電話５５を示している。また、図７では携帯電話５５に接続されるカウント装置５は、カード状である。
【００４０】
カウント装置５は、カウンタ５１と、カウンタ値の外部からの変更記録を保持する修正記録メモリ５２（変更履歴記憶部）と、カウンタ値の修正とカウンタ値の取得を行うカウンタ値入出力部５３とを備える。カウンタ値を外部から修正する場合、カウンタ値入出力部５３は、カウンタ５１を修正し、修正記録メモリ５２の内容を修正前と別の値に書き換える。
【００４１】
次に動作について図８を用いて説明する。実施の形態１を示す図４に対して、図８のＳ３０４，Ｓ３０８、Ｓ３１４、Ｓ３１７が特徴である。
【００４２】
実施形態１と同様に、クライアント端末４は、サーバ１からカウンタチェックプログラムを受信し（Ｓ３０２）、カウンタチェックプログラムを用いてカウント装置５から「カウンタ種別」と「カウンタ値」とを取得する（Ｓ３０２）。さらに、クライアント端末４は、カウント装置５からカウンタ修正記録を取得し（Ｓ３０４）、カウンタ種別とカウンタ値とともにサーバ１へ送信する（Ｓ３０５）。
【００４３】
この情報を受信したサーバ１は（Ｓ３０６）、参加資格判定を行う（Ｓ３０７）とともに、カウンタ値とカウンタ修正記録とを保持する（Ｓ３０８）。Ｓ３０９〜Ｓ３１２は、実施の形態１を示す図４のＳ７〜Ｓ１１と同じであり、説明は省略する。
【００４４】
そして、クライアント端末４は入力終了時のカウンタ値を取得（Ｓ３１３）すると、カウント装置５からカウンタ修正記録を取得（Ｓ３１４）し、回答データ、入力開始時カウンタ値、入力終了時カウンタ値とともにサーバ１へ送信する（Ｓ３１５）。
【００４５】
サーバ１はこの回答データを受信すると（Ｓ３１６）、カウンタ修正記録を確認し（Ｓ３１７）、参加判定した時点から変更がないことを確認する。その後、回答データが正解かどうかを判定し、入力開始時カウンタ値と入力終了時カウンタ値を保持する（Ｓ３１８）（Ｓ３１８〜Ｓ３２３は図２と同様）。
【００４６】
以上のように、カウンタ値を修正した場合に修正前と別の値に書き換える修正記録メモリを備えたカウント装置を用いてカウンタ値を取得することによって、タイムトライアルの期間中にカウンタ修正を行うことを困難にし、やはりユーザに対して公平性を提供できる。この実施の形態３では、参加資格判定から入力終了までの期間、常に通信する必要がなく、このこともより多くのユーザが参加しやすくすることにつながる。
【００４７】
また、本実施の形態３のカウント装置５を分解に手間がかかる装置として作成することや、修正記録メモリ５２の内容を保護することによって、カウンタ値の信頼性を向上させることは容易である。
【００４８】
実施の形態４．
以上の実施の形態では、「入力データ」を受信してすぐにクライアント端末はユーザ入力画面を表示することができる。しかしながら、例えば、パズルを解くような場合に、ユーザがあるクライアント端末でパズルを解いた後、そのユーザが別のクライアント端末から参加して、あたかも短時間で回答できたかのような不正が行われることがある。これを防ぐ一つの手段として、いずれのクライアント端末においても、同時刻にユーザ入力ができるようになる実施形態（ある時刻までは、いずれのユーザも入力できない実施形態）について示す。実施の形態４の構成は図１の実施の形態１同様である。
【００４９】
図９は、このような実施形態におけるサーバの構成図である。図１に示すサーバ１の構成に対して、あらたに、開封カウンタ値決定部６５（特定カウンタ値決定部）が追加された構成である。サーバ６は、タイムトライアル判定部１１と、クライアントカウンタチェック部１２と、カウンタチェックプログラム記憶部１３と、カウンタ情報ＤＢ記憶部１４と、開封カウンタ値決定部６５とを備えている。
【００５０】
図９において、
（１）カウンタチェックプログラム記憶部１３は、カウンタチェックプログラムを記憶する。カウンタチェックプログラムはクライアント端末で実行されることにより、少なくともクライアントの備えるカウンタの種別とカウンタの示すカウンタ値とを取得して送信するとともにカウンタの示すカウンタ値が「開封カウンタ値」（特定の値）の場合に、クライアント端末が受信した「入力データ」（トライアル情報）へのアクセスを認める。
（２）サーバ側送信部１５は、カウンタチェックプログラム記憶部１３が記憶するカウンタチェックプログラムをクライアント端末に送信するとともに、後述の開封カウンタ値をクライアント端末に送信する。
（３）サーバ側受信部１６は、サーバ側送信部１５が送信したカウンタチェックプログラムがクライアント端末で実行されることにより、クライアント端末からこのクライアント端末の備えるカウンタの種別とカウンタの示すカウンタ値とを受信する。
（４）カウンタ情報ＤＢ記憶部１４は、カウンタの種別ごとにカウンタ特性をＤＢ（データベース）として記憶する。
（５）クライアントカウンタチェック部１２は、サーバ側受信部１６が受信したカウンタの種別と、カウンタ情報ＤＢ記憶部１４が記憶するカウンタ特性とから、サーバ側受信部１６が受信したカウンタの種別に係るカウンタのカウンタ特性を確認する。
（６）開封カウンタ値決定部６５（特定カウンタ値決定部）は、クライアントカウンタチェック部１２が確認した確認結果と、サーバ側受信部１６が受信したカウンタ値とに基づいて、カウンタチェックプログラムにより「入力データ」（トライアル情報）へのアクセスが認められる「開封カウンタ値」（特定カウンタ値）を決定する。
【００５１】
次に、動作について図１０を用いて説明する。前記のように実施の形態４の構成は図１の実施の形態１同様である。クライアント端末はクライアント端末２Ａを例に説明する。図１０において、Ｓ１〜Ｓ６までは実施の形態１の動作を示す図４と同様である。
【００５２】
（１）サーバ６は、クライアント端末２Ａに「入力データ」を送信（Ｓ７）する前に、開封カウンタ値決定部６５を用いて、クライアント端末２Ａのカウンタ種別とカウンタ値およびクライアント端末２Ａのカウンタ情報を受信した時刻およびユーザ入力画面を表示可能としたい時刻（以降、開封時刻）から、開封時刻に期待されるカウンタ値（以降、開封カウンタ値）（特定カウンタ値）を決定する（Ｓ４０１）。
（２）そして「入力データ」とともに「開封カウンタ値」をクライアント端末２Ａへ送信する（Ｓ７）。
【００５３】
（３）クライアント端末２Ａでは、「入力データ」、「開封カウンタ値」を受信すると（Ｓ８）、カウンタチェックプログラムによって、カウンタ値と受信した「開封カウンタ値」とを比較し、受信した「入力データ」を入力画面表示としてよいかどうかを判定する（Ｓ４０２）。入力画面表示できないと判定した場合は、一定時間経過後再度判定を行う（Ｓ４０３）。なお、例えばクイズの問題などで、「入力データ」が表示用のプログラムによらなくてもテキストとして判読できるような場合は、テキストを暗号化して「入力データ」として送信し、カウンタチェックプログラムによって復号化するようにしてもよい。
【００５４】
以上のように、特定の時刻にクライアント端末のカウンタ値として期待される値を指定して「入力データ」を送信することによって、クライアント端末間で同時にユーザ入力が可能となるようにすることが可能となる。これにより、先に述べたような回答を知ってから別のクライアント端末で参加する不正を防止し、公平性を確保できる。
【００５５】
また、「入力データ」が大きくなる場合、「入力データ」の受信に時間がかかったり、多くのクライアント端末が同時に「入力データ」を受信するためサーバやネットワークの負荷が増大したりする問題があるが、本実施の形態によれば「入力データ」の受信完了時刻の前後に関係なく同時にスタートできるため、「入力データ」の受信を分散して行うようにすれば、公平性を保ったままこの問題を解決することが出来る。
【００５６】
以上の実施の形態のタイムトライアルシステムは、サーバに、クライアント端末で動作するカウンタチェックプログラムと、このカウンタチェックプログラムと通信しカウンタのチェックを行うカウンタチェック手段とを備え、入力時間の計算をサーバで行ってタイムトライアルの結果を判定し、その計算に使用する入力開始時カウンタ値と入力終了時カウンタ値とをサーバから送信するカウンタチェックプログラムによって行うことを特徴とする。
【００５７】
以上の実施の形態のタイムトライアルシステムは、前記サーバは、カウンタ種別毎に精度や周期などの情報を保持したカウンタ種別ＤＢをさらに備え、入力時間の計算にカウンタ種別と入力開始時カウンタ値と入力終了時カウンタ値とを使用することを特徴とする。
【００５８】
以上の実施の形態のタイムトライアルシステムは、入力開始時と入力終了時以外にカウンタ値をサーバでチェックすること特徴とする。
【００５９】
以上の実施の形態のタイムトライアルシステムは、カウンタと、カウンタ値を修正した場合に修正前と別の値に書き換える修正記録メモリと、カウンタ値の修正とカウンタ値の取得を行うカウンタ値入出力手段とを備えたカウンタ装置をクライアント端末と接続し、参加時と判定時に修正記録を確認することを特徴とする。
【００６０】
以上の実施の形態のタイムトライアルシステムは、クライアント端末間で同時にユーザ入力が可能となるように、クライアント端末の備えるカウンタ種別とカウンタ値とから、特定の時刻にクライアント端末のカウンタ値として期待される値を決定し、その期待される値を指定して入力データを送信することを特徴とする。
【図面の簡単な説明】
【００６１】
【図１】実施の形態１における、タイムトライアルシステムの構成図である。
【図２】実施の形態１における、サーバの外観の一例を示す。
【図３】実施の形態１における、サーバのハードウェア構成の一例を示す。
【図４】実施の形態１における、サーバとクライアント端末のシーケンスを示す。
【図５】実施の形態２における、サーバとクライアント端末のシーケンスを示す。
【図６】実施の形態３における、クライアント端末の構成を示す。
【図７】実施の形態３における、クライアント端末の外観の例を示す。
【図８】実施の形態３における、サーバとクライアント端末のシーケンスを示す。
【図９】実施の形態４における、サーバの構成を示す。
【図１０】実施の形態３における、サーバとクライアント端末のシーケンスを示す。
【符号の説明】
【００６２】
１  サーバ、１１  タイムトライアル判定部、１２  クライアントカウンタチェック部、１３  カウンタチェックプログラム記憶部、１４  カウンタ情報ＤＢ記憶部、１５  サーバ側送信部、１６  サーバ側受信部、１５０  システムユニット、１５１  ＦＤＤ、１５２  ＲＯＭ、１５３  ＲＡＭ、１５４  通信ボード、１５５  ＣＰＵ、１５６  バス、１６０  磁気ディスク装置、１６１  ＯＳ、１６２  ウィンドウシステム、１６３  プログラム群、１６４  ファイル群、１７１  液晶ディスプレイ装置、１７２  キーボード、１７３  マウス、１７４  ＣＤＤ、１７５  プリンタ装置、２００  ＬＡＮ、３００  インターネット、１０００  タイムトライアルシステム、２Ａ，２Ｂ，２Ｃ  クライアント端末、２１Ａ  カウンタ、２２Ａ  端末側受信部、２３Ａ  端末側記憶部、２４Ａ  取り組み受付部、２５Ａ  カウンタチェックプログラム実行部、２６Ａ  端末側送信部、２７Ａ  表示部、３  ネットワーク、４  クライアント端末、５  カウント装置、５１  カウンタ、５２  修正記録メモリ、５３  カウンタ値入出力部、５５  携帯電話、６  サーバ、６５  開封カウンタ値決定部。
【図１】
2006254971.tif 000003
【図２】
2006254971.tif 000004
【図３】
2006254971.tif 000005
【図４】
2006254971.tif 000006
【図５】
2006254971.tif 000007
【図６】
2006254971.tif 000008
【図７】
2006254971.tif 000009
【図８】
2006254971.tif 000010
【図９】
2006254971.tif 000011
【図１０】
2006254971.tif 000012