以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
<ネットワークシステムの全体構成と動作概要>
まず、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とについて説明する。図1は、本実施の形態にかかるネットワークシステム1の全体構成を示すイメージ図である。図2は、本実施の形態にかかるネットワークシステム1の動作概要を示すイメージ図である。なお、図2は、ゼッケン番号とアイコンの数字とが一致している場合を示す。
図1を参照して、ネットワークシステム1の全体構成について簡単に説明する。ネットワークシステム1は、主に、複数のクライアント端末100と、サーバ200を含む。複数のクライアント端末100は、スマートフォン、タブレット、ノートパソコン、カーナビなどの通信機能を有する装置である。サーバ200は、複数のクライアント端末100のそれぞれとデータ通信することができる。
そして、本実施の形態においては、複数のクライアント端末100のうちの少なくとも2台(図1における100A,100Bなど)は、GPS機能を利用することによって自身の現在位置を取得することができる。そのようなクライアント端末100は、自分の現在位置をサーバ200に送信することができる。
また、複数のクライアント端末100のうちの少なくとも1台(図1における100A,100B,100C)は、ディスプレイを利用して文字や画像を表示することができる。そのようなクライアント端末100は、サーバ200からのデータ(後述する走者データ)に基づいて、上記のGPS機能を有するクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置を表示することができる。
続いて、図1および図2を参照して、ネットワークシステム1の動作概要について簡単に説明する。たとえば、複数のクライアント端末100のユーザは、互いに、自転車レースなどのチームのメンバーである。
レース中、各チームに属する複数のメンバーの複数のクライアント端末100の各々は、GPS機能を利用することによって自分の現在位置を取得して、サーバ200にアップロードする。そして、サーバ200は、各チームに関して、複数のクライアント端末100からの位置情報を受信して、走者のみの現在位置を地図上に示すための走者データをチームのメンバーのクライアント端末100に送信する。
より詳細には、全部のクライアント端末100の位置を表示すると、限られたスペースの画面に多くの情報が表示され過ぎて、現在の走者が保持するクライアント端末100といった、位置の把握が望まれるクライアント端末100の位置が把握しにくくなってしまう。たとえば、現在コースで走っていない、たとえば休憩中のチームのメンバーなどの位置も表示されてしまう。つまり、必要な情報が把握し難くなってしまう。
具体的には、サーバ200は、複数のクライアント端末100の各々からの情報に基づいて、所定の条件を満たす一部のクライアント端末100の位置を表示するためのデータを複数のクライアント端末100に送信する。特に、本実施の形態においては、サーバ200は、各々のクライアント端末100からの第1の命令に応じて、当該クライアント端末100のユーザが属するチームに属するメンバーのうちの走行中のメンバーが保持するものと判断されたクライアント端末100の位置だけを、当該クライアント端末100に送信する。
これによって、ネットワークシステム1にGPS機能を有する複数の端末が含まれる場合であっても、位置の把握が望まれる走者のクライアント端末100の位置がチームのメンバーのクライアント端末100のディスプレイ上で目立つようになる。その結果、チームのメンバーは、現在の走者の位置が解りやすくなり、走者がいつごろピッチに帰ってくるか予想し易くなる。また、他の必要な情報、すなわち待機者の位置を示す情報よりも重要度が高い情報、もチームのメンバーが把握し易くなる。以下では、このような機能を実現するためのネットワークシステム1について詳細に説明する。
<クライアント端末100のハードウェア構成>
まず、クライアント端末100のハードウェア構成の一態様について説明する。図3は、本実施の形態にかかるクライアント端末100のハードウェア構成を表わすブロック図である。
図3を参照して、クライアント端末100は、主たる構成要素として、CPU110と、メモリ120と、タッチパネル150(ディスプレイ130とポインティングデバイス140)と、通信インターフェイス160と、GPS部170とを含む。
CPU110は、メモリ120あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、クライアント端末100の各部を制御する。すなわち、CPU110は、メモリ120に格納されているプログラムを実行することによって、各種の処理、たとえば図4、図6などに記載の各ステップを実行する。
メモリ120は、各種のRAM(Random Access Memory)、各種のROM(Read-Only Memory)、フラッシュメモリーなどによって実現される。なお、メモリ120は、インターフェイスを介して利用される、USB(Universal Serial Bus)(登録商標)メモリ、CD(Compact Disc)、DVD(Digital Versatile Disk)、メモリカード、ハードディスク、IC(Integrated Circuit)カード、光カード、マスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの記憶媒体などによっても実現される。
メモリ120は、CPU110によって実行されるプログラムや、CPU110によるプログラムの実行により生成されたデータ、ポインティングデバイス140を介して入力されたデータ、サーバ200から受信したデータ、地図を表示するための地図データ、レースに使用されるピッチの位置および/またはエリアを示す緯度・経度情報などを記憶する。
ディスプレイ130は、CPU110からの信号に基づいて、文字や画像を出力する。ポインティングデバイス140は、ユーザからの命令を受け付けて、当該命令をCPU110に入力する。なお、本実施の形態においては、クライアント端末100は、ディスプレイ130とポインティングデバイス140とが組み合わされたタッチパネル150を有する。
通信インターフェイス160は、アンテナやコネクタによって実現される。通信インターフェイス160は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。CPU110は、通信インターフェイス160を介して、後述する位置データ、その他のテキストデータ、その他の画像データなどを、サーバ200などの他の装置に送信する。また、CPU110は、通信インターフェイス160を介して、チームのメンバーのうちの走者が持っているクライアント端末100の位置を示すための位置データ、プログラム、制御命令、画像データ、テキストデータなどを、サーバ200などの他の装置から受信する。
GPS部170は、外部の衛星と信号をやり取りする。CPU110は、GPS部170が取得した信号に基づいて、クライアント端末100の現在位置、すなわち現在の緯度と経度とを取得する。
<クライアント端末100におけるメンバー登録処理>
次に、本実施の形態にかかるクライアント端末100におけるメンバー登録処理について説明する。図4は、本実施の形態にかかるクライアント端末100におけるメンバー登録処理を示すイメージ図である。
図4を参照して、CPU110は、ユーザからの命令に基づいて、通信インターフェイス160を介して、レースのホームページからレース用のアプリケーションをメモリ120にダウンロードする。CPU110は、当該アプリケーションをクライアント端末100にインストールする。CPU110は、当該アプリケーションに基づいて、主に、以下の処理を実行する。
まず、CPU110は、タッチパネル150に、レースの選択画面を表示させる。ユーザは、タッチパネル150を介してレースを選択する。CPU110は、通信インターフェイス160を介して、レースを特定する情報をサーバ200に送信する。CPU110は、選択されたレースのデータを受信する。CPU110は、タッチパネル150に、ゼッケン番号の入力画面を表示させる。
ユーザは、タッチパネル150を介してゼッケン番号を入力する。ユーザが更新ボタン151を押すと、CPU110は、通信インターフェイス160を介して、ゼッケン番号をサーバ200に送信する。サーバ200は、ゼッケン番号に対応する予め登録されているチーム名を返してくる。CPU110は、タッチパネル150にチーム名を表示させる。これによって、ユーザは、誤って、違うチームのゼッケン番号を入力していないかを確認することができる。
ユーザが、スタートボタン152を押すと、CPU110は、GPS部170を利用して現在位置を取得し始める。CPU110は、現在位置を示す情報を取得すると、サーバ200に送信するための位置データを作成する。ここで、クライアント端末100からサーバ200に送信される位置データ101は、図5に示すように、チームの識別情報(たとえば、ゼッケン番号)と、クライアント端末100の状態と、緯度と、経度と、高度と、精度と、スピードと、移動方向と、時刻とを含む。CPU110は、通信インターフェイス160を介して位置データ101をサーバ200に送信する。
図4に戻って、レース中は、すなわちGPSによって現在位置を計測中は、CPU110は、タッチパネル150の端部にレースアプリケーションが実行中であることを示すアイコンなどを表示しておくことが好ましい。なお、ユーザが、当該アイコンにタッチすると、CPU110は、再びゼッケン番号の入力画面に戻る。
本実施の形態にかかるゼッケン番号の入力画面には、設定ボタン153としてのソフトウェアボタンが表示されている。CPU110は、設定ボタン153が押されると、現在位置の計測の頻度、すなわち更新間隔、の変更命令を受け付けるための画面をタッチパネル150に表示させる。ユーザは、タッチパネル150を介して、5秒、10秒、30秒の中から所望する更新間隔を選択する。
<クライアント端末100における位置データ送信処理>
次に、本実施の形態にかかるクライアント端末100における位置データ送信処理について説明する。図6は、本実施の形態にかかるクライアント端末100における位置データ送信処理を示すフローチャートである。
図6を参照して、クライアント端末100のCPU110は、まずタイマーをリセットする(ステップS110)。CPU110は、メモリ120から位置データの更新間隔を取得する(ステップS112)。
CPU110は、タイマーの値が更新間隔を超えているか否かを判断する(ステップS113)。タイマーの値が更新間隔を超えていない場合(ステップS113においてNOである場合)、ステップS113の処理を繰り返す。
CPU110は、タイマーの値が更新間隔を超えている場合(ステップS113においてYESである場合)、GPS部170を利用して、クライアント端末100の現在位置、速度、方向などを取得する(ステップS114)。CPU110は、現在位置、速度、方向などに基づいて位置データ101を作成する(ステップS115)。CPU110は、通信インターフェイス160を利用することによって、位置データD111をサーバ200に送信する(ステップS116)。CPU110は、ステップS110からの処理を繰り返す。
<サーバ200のハードウェア構成>
次に、サーバ200のハードウェア構成の一態様について説明する。図7は、本実施の形態にかかるサーバ200のハードウェア構成を表わすブロック図である。
図7を参照して、サーバ200は、主たる構成要素として、CPU210と、メモリ220と、通信インターフェイス260とを含む。
CPU210は、メモリ220あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ200の各部を制御する。すなわち、CPU210は、メモリ220に格納されているプログラムを実行することによって、各種の処理、たとえば図9、図10などに記載の各ステップを実行する。
メモリ220は、各種のRAM、各種のROM、フラッシュメモリーなどによって実現される。なお、メモリ120は、インターフェイスを介して利用される、USB(登録商標)メモリ、CD、DVD、メモリカード、ハードディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの記憶媒体などによっても実現される。
メモリ220は、CPU210によって実行されるプログラムや、CPU210によるプログラムの実行により生成されたデータ、入出力部を介して入力されたデータ、複数のクライアント端末100から受信したデータ、後述する各種のデータベース、地図を表示するための地図データ、レースに使用されるピッチの位置および/またはエリアを示す緯度・経度情報などを記憶する。
通信インターフェイス260は、アンテナやコネクタによって実現される。通信インターフェイス260は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。CPU210は、通信インターフェイス260を介して、クライアント端末100の位置データ、制御命令、画像データ、テキストデータなどをクライアント端末100などの他の装置から受信する。また、CPU210は、通信インターフェイス260を介して、チーム毎の走者の位置を表示するためのデータ、その他のテキストデータ、その他の画像データなどを、複数のクライアント端末100などの他の装置に送信する。
<走者の交代>
次に、本実施の形態にかかるリレー形式のレースにおける走者の交代について説明する。図8は、本実施の形態にかかるレースにおける走者が変わっていく様子を示したイメージ図である。
たとえば、自転車レース、バイクレース、駅伝などのように、複数人が交代で走るレースがある。具体的には、8時間耐久レースのように、複数のチームのメンバーが協力して、所定のコースを所定の時間内に何周回れるかを競うものがある。しかしながら、チームのメンバーのそれぞれがスマートフォンなどのGPS機能を有したクライアント端末100を所持している可能性がある。そのような場合に、ネットワークシステム1に含まれる全てのクライアント端末100の位置を各々のクライアント端末100で表示してしまうと、クライアント端末100を示すアイコンなどが多過ぎて、欲しい情報が把握し難くなってしまう。
そこで、本願発明者は、図8に示すように、コースを走っているメンバー、すなわち走者、のクライアント端末100のみを表示することを考え出した。すなわち、チームAに関して、ゼッケン番号3の第1の選手がコースを走っているときは、当該第1の選手のスマートフォンの現在位置をチームAに所属するメンバーのクライアント端末100に表示し、他の選手のスマートフォンの現在位置をチームAに所属するメンバーのクライアント端末100に表示しないことが好ましい。
そして、第1の選手がピットに入り、第2の選手がコースを走り始めると、当該第2の選手のスマートフォンの現在位置をチームAに所属するメンバーのクライアント端末100に表示し、他の選手のスマートフォンの現在位置をチームAに所属するメンバーのクライアント端末100に表示しないことが好ましい。
同様に、第2の選手がピットに入り、第3の選手がコースを走り始めると、当該第3の選手のスマートフォンの現在位置をチームAに所属するメンバーのクライアント端末100に表示し、他の選手のスマートフォンの現在位置をチームAに所属するメンバーのクライアント端末100に表示しないことが好ましい。
<走者の判断処理>
次に、チームのメンバーのうちのコース上の走者を選んで表示するための具体的な判断処理について説明する。図9は、本実施の形態にかかるサーバ200における走者と待機者との判断処理を示すフローチャートである。
図9を参照して、CPU210は、通信インターフェイス160を介して、クライアント端末100から位置データ101を受信すると、以下の処理を実行する。CPU210は、第1の条件として、受信した位置データ101に関して、一定時間以内に、当該位置データ101に含まれるゼッケン番号に対応する位置データ101がサーバに登録されているか否かを判断する(ステップS121)。
一定時間以内に受信した位置データ101がサーバに登録されていない場合(ステップS121においてNOである場合)、CPU210は受信した位置データ101を走者の位置データ、すなわち走者データとして判断する(ステップS125)。CPU210は、走者データをメモリ220に記憶する(ステップS129)。そして、次の位置データ101の受信を待ち受ける。
CPU210は、受信した位置データ101に関して、一定時間以内に、当該位置データ101に含まれるゼッケン番号に対応する位置データ101がサーバに登録されている場合(ステップS121においてYESである場合)、第2の条件として、位置データ101に基づいてクライアント端末100の速度が所定値以上であるか否かを判断する(ステップS122)。
クライアント端末100の速度が所定値以上である場合(ステップS122においてYESである場合)、CPU210は受信した位置データ101を走者の位置データ、すなわち走者データとして判断する(ステップS125)。CPU210は、走者データをメモリ220に記憶する(ステップS129)。そして、次の位置データ101の受信を待ち受ける。
CPU210は、クライアント端末100の速度が所定値未満である場合(ステップS122においてNOである場合)、第3の条件として、クライアント端末100がピットから所定距離以上離れているか否か、すなわちコース内にいるか否かを判断する(ステップS123)。クライアント端末100がコース内にいる場合(ステップS123においてYESである場合)、CPU210は受信した位置データ101を走者の位置データ、すなわち走者データとして判断する(ステップS125)。CPU210は、走者データをメモリ220に記憶する(ステップS129)。そして、次の位置データ101の受信を待ち受ける。
一方、クライアント端末100がピットエリア内にいる場合(ステップS123においてNOである場合)、CPU210は受信した位置データ101を待機者の位置データ、すなわち待機データとして判断する(ステップS127)。CPU210は、待機データをメモリ220に記憶する(ステップS129)。そして、次の位置データ101の受信を待ち受ける。
このようにして、サーバ200は、それぞれのゼッケン番号の走者の位置データと待機者の位置データとを区別してデータベースに登録することができる。
<サーバ200における走者データ送信処理>
次に、本実施の形態にかかるサーバ200における走者データ送信処理について説明する。図10は、本実施の形態にかかるサーバ200における走者データ送信処理を示すフローチャートである。
図10を参照して、CPU210は、クライアント端末100からのリクエストを待ち受ける(ステップS131)。CPU210は、クライアント端末100からのリクエストを受信すると(ステップS131にてYESである場合)、データベースを参照して、当該リクエストに含まれるゼッケン番号に対応する走者データを取得する(ステップS132)。
CPU210は、通信インターフェイス260を介して、走者データをクライアント端末100に送信する(ステップS133)。すなわち、CPU210は、通信インターフェイス160を介して、各チームのメンバーのクライアント端末100に、当該チームの走者の位置を示すための情報、すなわち緯度および経度など、を送信する。そして、CPU210は、クライアント端末100から次のリクエストを待ち受ける。
換言すれば、本実施の形態においては、CPU210は、各チームのメンバーのクライアント端末100に、当該チームの走者のクライアント端末100以外の位置を示すための情報は送信しない。
ただし、サーバ200のCPU210が通信インターフェイス260を介して、全チームの走者の位置を示すための情報、すなわち緯度および経度など、を送信してもよい。この場合は、クライアント端末100のCPU110が自分のチームのものを抽出して、自分のチームの走者の位置をタッチパネル150の地図上に表示させる。
このように、本実施の形態においては、サーバ200は、クライアント端末100に対して、当該クライアント端末100のユーザのチームに所属するメンバーのクライアント端末100のうちの、所定の条件を満たすと判断されたもの、たとえばレースの走者のクライアント端末100であると判断されたもの、の位置を示す情報を送信するものである。
そして、クライアント端末100のCPU110は、通信インターフェイス160を介して、サーバ200から当該情報を受信する。これによって、CPU110は、当該クライアント端末100のユーザのチームに所属するメンバーのクライアント端末100のうちの、所定の条件を満たすと判断されたものの位置だけをタッチパネル150の地図上に表示させる。
このように、本実施の形態にかかるネットワークシステム1では、GPS機能を有する複数のクライアント端末100がある場合であっても、所定の条件を満たすクライアント端末100だけが表示されるため、位置の把握が望まれる走者に対するクライアント端末100の位置やその他の情報が把握し易くなる。
<第2の実施の形態>
第1の実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに所属するメンバーのクライアント端末100のうちの、所定の条件を満たすと判断されたものだけの位置が表示されるものであった。しかしながら、本実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームのメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置だけでなく、レースに参加中の他のチームに所属するメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置が表示されるものである。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第1の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第1の実施の形態と大きく異なる部分のみについて説明するものとする。
<ネットワークシステムの動作概要>
まず、本実施の形態にかかるネットワークシステム1の動作概要について説明する。図11は、本実施の形態にかかるネットワークシステム1の動作概要を示すイメージ図である。なお、図11は、ゼッケン番号とアイコンの数字とが一致している場合を示す。
たとえば、複数のクライアント端末100のユーザは、互いに、自転車レースなどのチームのメンバーである。レース中、各チームに属する複数のメンバーの複数のクライアント端末100の各々は、GPS機能を利用することによって自分の現在位置を取得して、サーバ200にアップロードする。そして、サーバ200は、各チームに関して、複数のクライアント端末100からの位置情報を受信して、走者のクライアント端末100のみの現在位置を地図上に示すためのデータをチームのメンバーのクライアント端末100に送信する。
具体的には、サーバ200は、複数のクライアント端末100の各々からの情報に基づいて、所定の条件を満たす一部のクライアント端末100の位置のみを表示するためのデータを複数のクライアント端末100に送信する。特に、本実施の形態においては、サーバ200は、各々のクライアント端末100からの第2の命令に応じて、複数のチーム毎のメンバーのうちの走行中のメンバーが有するものと判断されたクライアント端末100の位置だけを、当該クライアント端末100に送信する。すなわち、サーバ200は、全てのチームの走者のクライアント端末100の位置を複数のクライアント端末100に表示させるものである。
<クライアント端末100について>
本実施の形態にかかるクライアント端末100のハードウェア構成、メンバー登録処理、位置データ送信処理については第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200について>
本実施の形態にかかるサーバ200のハードウェア構成、走者の交代、走者の判断処理は第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200における走者データ送信処理>
ここでは、本実施の形態にかかるサーバ200における走者データ送信処理について説明する。図12は、本実施の形態にかかるサーバ200における走者データ送信処理を示すフローチャートである。
図12を参照して、CPU210は、クライアント端末100からのリクエストを待ち受ける(ステップS141)。CPU210は、クライアント端末100からのリクエストを受信すると(ステップS141にてYESである場合)、データベースを参照して、当該リクエストに含まれるゼッケン番号に対応する走者データを取得する(ステップS142)。さらに、本実施の形態においては、CPU110は、他のゼッケン番号に対応する走者データも取得する(ステップS143)。
CPU210は、通信インターフェイス260を介して、全チームの走者データをクライアント端末100に送信する(ステップS144)。図における2種類というのは、自分のチームのものと他のチームのものと意味している。すなわち、CPU210は、通信インターフェイス160を介して、クライアント端末100に、全チームの走者の位置を示すための情報、すなわち緯度および経度など、を送信する。
換言すれば、本実施の形態においては、CPU210は、走者のクライアント端末100以外の位置を示すための情報は送信しない。
このように、本実施の形態においては、サーバ200は、クライアント端末100に対して、全チームのクライアント端末100のうちの、所定の条件を満たすと判断されたもの、たとえばレースの走者のクライアント端末100であると判断されたもの、の位置を示す情報を送信する。そして、クライアント端末100のCPU110は、全チームに関して、複数のクライアント端末100のうちの所定の条件を満たすと判断されたものの位置だけをタッチパネル150の地図上に表示させる。
<第3の実施の形態>
第1の実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに所属するユーザのクライアント端末100のうちの、所定の条件を満たすと判断されたものだけの位置が表示されるものであった。しかしながら、本実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームのメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置だけでなく、当該クライアント端末100のユーザに指定された他のチームに所属するメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置も表示されるものである。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第1の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第1の実施の形態と大きく異なる部分のみについて説明するものとする。
<ネットワークシステムの動作概要>
まず、本実施の形態にかかるネットワークシステム1の動作概要について説明する。図13は、本実施の形態にかかるネットワークシステム1の動作概要を示すイメージ図である。ここでは、多くのチーム(たとえば、20チーム以上)がレースに参加しているものとする。また、ゼッケン番号とアイコンの数字とが一致していない場合を示す。
図13を参照して、たとえば、複数のクライアント端末100のユーザは、互いに、自転車レースなどのチームのメンバーである。レース中、各チームに属する複数のユーザの複数のクライアント端末100の各々は、GPS機能を利用することによって自分の現在位置を取得して、サーバ200にアップロードする。そして、サーバ200は、各チームに関して、複数のクライアント端末100からの位置情報を受信して、走者のみの現在位置を地図上に示すためのデータをチームのメンバーのクライアント端末100に送信する。
具体的には、サーバ200は、複数のクライアント端末100の各々からの情報に基づいて、所定の条件を満たす一部のクライアント端末100の位置のみを表示するためのデータを複数のクライアント端末100に送信する。特に、本実施の形態においては、クライアント端末100が他のチームを指定するための第3の命令をサーバ200に送信する。サーバ200は、各々のクライアント端末100からの第3の命令に応じて、指定されたチーム毎のメンバーのうちの走行中のメンバーが有するものと判断されたクライアント端末100の位置だけを、当該クライアント端末100に送信する。すなわち、クライアント端末100は、指定されたチームの走者のクライアント端末100の位置をタッチパネルに表示するものである。
<クライアント端末100について>
本実施の形態にかかるクライアント端末100のハードウェア構成、メンバー登録処理、位置データ送信処理については第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<クライアント端末100におけるチーム指定処理>
次に、本実施の形態にかかるクライアント端末100におけるチーム指定処理について説明する。図14は、本実施の形態にかかるクライアント端末100におけるチーム指定時におけるタッチパネル150を示すイメージ図である。
たとえば図4におけるゼッケン番号の入力画面において、ユーザがチーム指定ボタン(図示せず。)などを押すことによって、CPU110は、図14に示すような他のチームを指定するための画面を表示させる。CPU110は、タッチパネル150を介して、他のチームのゼッケン番号の入力を受け付ける。CPU110は、指定されたゼッケン番号を、自分のゼッケン番号に対応付けてサーバ200に送信する。
<サーバ200について>
本実施の形態にかかるサーバ200のハードウェア構成、走者の交代、走者の判断処理は第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200における走者データ送信処理>
ここでは、本実施の形態にかかるサーバ200における走者データ送信処理について説明する。図15は、本実施の形態にかかるサーバ200における走者データ送信処理を示すフローチャートである。
図15を参照して、CPU210は、クライアント端末100からのリクエストを待ち受ける(ステップS151)。CPU210は、クライアント端末100からのリクエストを受信すると(ステップS151にてYESである場合)、データベースを参照して、当該リクエストに含まれるゼッケン番号に対応する走者データを取得する(ステップS152)。ここで、サーバ200のデータベースには、ゼッケン番号毎に指定された複数のゼッケン番号が格納されている。そして、本実施の形態においては、CPU110は、受信したゼッケン番号に対応する指定されたゼッケン番号の走者データも取得する(ステップS153)。
CPU210は、通信インターフェイス260を介して、受信したゼッケン番号の走者データと指定チームの走者データとをクライアント端末100に送信する(ステップS154)。図における2種類というのは、自分のチームのものと他のチームのものと意味している。すなわち、CPU210は、通信インターフェイス160を介して、クライアント端末100に、受信したゼッケン番号のチームの走者の位置を示すための情報、すなわち緯度および経度など、と指定されたチームの走者の位置を示すための情報とを送信する。
換言すれば、本実施の形態においては、CPU210は、走者のクライアント端末100以外の位置を示すための情報は送信しない。
ただし、サーバ200のCPU210が通信インターフェイス260を介して、全チームの走者の位置を示すための情報、すなわち緯度および経度など、を送信してもよい。この場合は、クライアント端末100のCPU110が自分のチームのものと指定されたチームのものとを抽出して、自分のチームの走者の位置と指定されたチームの走者の位置とをタッチパネル150に表示させる。なお、この場合は、クライアント端末100は、チームの指定をサーバ200に送信する必要がなく、チームの指定は自身のメモリ120に格納しておけばよい。
このように、本実施の形態においては、サーバ200は、クライアント端末100に対して、自分のチームと指定されたチームのクライアント端末100のうちの、所定の条件を満たすと判断されたもの、たとえばレースの走者のクライアント端末100であると判断されたもの、の位置を示す情報を送信する。そして、クライアント端末100のCPU110は、自分のチームと指定されたチームのクライアント端末100のうちの、所定の条件を満たすと判断されたものの位置だけをタッチパネル150の地図上に表示させる。
なお、本実施の形態においては、図13に示すように、レース中は、CPU110は、指定されたゼッケン番号と表示されるアイコンとの対応関係を、タッチパネル150に表示させる。
<第4の実施の形態>
第1の実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに所属するユーザのクライアント端末100のうちの、所定の条件を満たすと判断されたものだけの位置が表示されるものであった。しかしながら、本実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームのメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置だけでなく、参加中のレースで現在一位のチームに所属するメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置も表示されるものである。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第1の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第1の実施の形態と大きく異なる部分のみについて説明するものとする。
<ネットワークシステムの動作概要>
まず、本実施の形態にかかるネットワークシステム1の動作概要について説明する。図16は、本実施の形態にかかるネットワークシステム1の動作概要を示すイメージ図である。なお、図16は、ゼッケン番号とアイコンの数字とが一致している場合を示す。
図16を参照して、たとえば、複数のクライアント端末100のユーザは、互いに、自転車レースなどのチームのメンバーである。レース中、各チームに属する複数のメンバーの複数のクライアント端末100の各々は、GPS機能を利用することによって自分の現在位置を取得して、サーバ200にアップロードする。そして、サーバ200は、各チームに関して、複数のクライアント端末100からの位置情報を受信して、走者のみの現在位置を地図上に示すためのデータをチームのメンバーのクライアント端末100に送信する。
具体的には、サーバ200は、複数のクライアント端末100の各々からの情報に基づいて、所定の条件を満たす一部のクライアント端末100の位置のみを表示するためのデータを複数のクライアント端末100に送信する。特に、本実施の形態においては、サーバ200は、各々のクライアント端末100からの第4の命令に応じて、当該クライアント端末100のチームのメンバーとレースで一位のチームのメンバーのうちの走行中のメンバーが有するものであると判断されたクライアント端末100の位置だけを、当該チームのメンバーのクライアント端末100に送信する。
<クライアント端末100について>
本実施の形態にかかるクライアント端末100のハードウェア構成、メンバー登録処理、位置データ送信処理については第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200について>
本実施の形態にかかるサーバ200のハードウェア構成、走者の交代、走者の判断処理は第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200における走者データ送信処理>
ここでは、本実施の形態にかかるサーバ200における走者データ送信処理について説明する。図17は、本実施の形態にかかるサーバ200における走者データ送信処理を示すフローチャートである。
図17を参照して、CPU210は、クライアント端末100からのリクエストを待ち受ける(ステップS161)。CPU210は、クライアント端末100からのリクエストを受信すると(ステップS161にてYESである場合)、データベースを参照して、当該リクエストに含まれるゼッケン番号に対応する走者データを取得する(ステップS162)。ここで、サーバ200のデータベースには、ゼッケン番号毎に走者の位置データだけでなく、何周目を走っているかを示すデータも格納されている。具体的には、サーバ200は、他のデータベースから当該データを取得したり、自ら演算して当該データを取得したりする。そして、本実施の形態においては、CPU110は、一位のチームに対応する走者データも取得する(ステップS163)。
CPU210は、通信インターフェイス260を介して、受信したゼッケン番号の走者データと一位のチームの走者データとをクライアント端末100に送信する(ステップS164)。図における2種類というのは、自分のチームのものと他のチームのものと意味している。すなわち、CPU210は、通信インターフェイス160を介して、クライアント端末100に、受信したゼッケン番号のチームの走者の位置を示すための情報、すなわち緯度および経度など、と現在一位のチームの走者の位置を示すための情報とを送信する。
換言すれば、本実施の形態においては、CPU210は、走者のクライアント端末100以外の位置を示すための情報は送信しない。
ただし、サーバ200のCPU210が通信インターフェイス260を介して、全チームの走者の位置を示すための情報と、各チームが何周走ったかを示す情報とを送信してもよい。この場合は、クライアント端末100のCPU110は、上記情報から1位のチームを特定する。そして、CPU110は、自分のチームの走者の位置と1位のチームの走者の位置とを抽出して、自分のチームの走者の位置と1位のチームの走者の位置とをタッチパネル150に表示させる。
このように、本実施の形態においては、サーバ200は、クライアント端末100に対して、自分のチームと一位のチームのクライアント端末100のうちの、所定の条件を満たすと判断されたもの、たとえばレースの走者のクライアント端末100であると判断されたもの、の位置を示す情報を送信する。そして、クライアント端末100のCPU110は、自分のチームと一位のチームのクライアント端末100のうちの、所定の条件を満たすと判断されたものの位置だけをタッチパネル150の地図上に表示させる。
<第5の実施の形態>
第1の実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに所属するユーザのクライアント端末100のうちの、所定の条件を満たすと判断されたものだけの位置が表示されるものであった。しかしながら、本実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームのメンバーのクライアント端末100のうちの所定の条件を満たすクライアント端末100の位置だけでなく、当該クライアント端末100のユーザのチームに近い順位のチームに所属するメンバーのクライアント端末100のうちの、所定の条件を満たすクライアント端末100の位置が表示されるものである。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第1の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第1の実施の形態と大きく異なる部分のみについて説明するものとする。
<ネットワークシステムの動作概要>
まず、本実施の形態にかかるネットワークシステム1の動作概要について説明する。図18は、本実施の形態にかかるネットワークシステム1の動作概要を示すイメージ図である。なお、図18は、ゼッケン番号とアイコンの数字とが一致している場合を示す。
図18を参照して、たとえば、複数のクライアント端末100のユーザは、互いに、自転車レースなどのチームのメンバーである。レース中、各チームに属する複数のユーザの複数のクライアント端末100の各々は、GPS機能を利用することによって自分の現在位置を取得して、サーバ200にアップロードする。そして、サーバ200は、各チームに関して、複数のクライアント端末100からの位置情報を受信して、走者のみの現在位置を地図上に示すためのデータをチームのメンバーのクライアント端末100に送信する。
具体的には、サーバ200は、複数のクライアント端末100の各々からの情報に基づいて、所定の条件を満たす一部のクライアント端末100の位置のみを表示するためのデータを複数のクライアント端末100に送信する。特に、本実施の形態においては、サーバ200は、各々のクライアント端末100からの第5の命令に応じて、当該クライアント端末100のチームのメンバーと当該クライアント端末100のチームに近い順位のチームのメンバーのうちの走行中のメンバーが有するものと判断されたクライアント端末100の位置だけを、当該クライアント端末100に送信する。
<クライアント端末100について>
本実施の形態にかかるクライアント端末100のハードウェア構成、メンバー登録処理、位置データ送信処理については第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200について>
本実施の形態にかかるサーバ200のハードウェア構成、走者の交代、走者の判断処理は第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200における走者データ送信処理>
ここでは、本実施の形態にかかるサーバ200における走者データ送信処理について説明する。図19は、本実施の形態にかかるサーバ200における走者データ送信処理を示すフローチャートである。
図19を参照して、CPU210は、クライアント端末100からのリクエストを待ち受ける(ステップS171)。CPU210は、クライアント端末100からのリクエストを受信すると(ステップS171にてYESである場合)、データベースを参照して、当該リクエストに含まれるゼッケン番号に対応する走者データを取得する(ステップS172)。ここで、サーバ200のデータベースには、ゼッケン番号毎に走者の位置データだけでなく、何周目を走っているかを示すデータおよび順位を示すデータも格納されている。具体的には、サーバ200は、他のデータベースから当該データを取得したり、自ら演算して当該データを取得したりする。そして、本実施の形態においては、CPU110は、受信したリクエストのチームに近い順位のチームの走者データも取得する(ステップS173)。
CPU210は、通信インターフェイス260を介して、受信したゼッケン番号の走者データと当該ゼッケン番号のチームに近い順位のチームの走者データとをクライアント端末100に送信する(ステップS174)。図における2種類というのは、自分のチームのものと他のチームのものと意味している。すなわち、CPU210は、通信インターフェイス160を介して、クライアント端末100に、受信したゼッケン番号のチームの走者の位置を示すための情報、すなわち緯度および経度など、と当該チームに近い順位のチームの走者の位置を示すための情報とを送信する。
換言すれば、本実施の形態においては、CPU210は、走者のクライアント端末100以外の位置を示すための情報は送信しない。
ただし、サーバ200のCPU210が通信インターフェイス260を介して、全チームの走者の位置を示すための情報と、各チームが何周走ったかを示す情報および/あるいは各チームの順位を示す情報とを送信してもよい。この場合は、クライアント端末100のCPU110は、上記情報から自分のチームに近い順位のチームを特定する。そして、CPU110は、自分のチームの走者の位置と自分のチームに近い順位のチームの走者の位置とを抽出して、自分のチームの走者の位置と自分のチームに近い順位のチームの走者の位置とをタッチパネル150に表示させる。
このように、本実施の形態においては、サーバ200は、クライアント端末100に対して、自分のチームと自分のチームと近い順位のチームのクライアント端末100のうちの、所定の条件を満たすと判断されたもの、たとえばレースの走者のクライアント端末100であると判断されたもの、の位置を示す情報を送信する。そして、クライアント端末100のCPU110は、自分のチームと自分のチームに近い順位のチームのクライアント端末100のうちの、所定の条件を満たすと判断されたものの位置だけをタッチパネル150の地図上に表示させる。
<第6の実施の形態>
第1〜5の実施の形態においては、サーバ200は、同じチーム(同じゼッケン番号)のクライアント端末100を区別せずに扱うものであった。しかしながら、本実施の形態においては、クライアント端末100は、データ送信時に、走者名や選手番号のようなクライアント端末100を識別するための情報を送るものである。なお、サーバ200側で、クライアント端末100からクライアント端末100に固有のアドレスを取得して、当該アドレスによって各クライアント端末100を識別しても良い。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第1〜5の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第1〜5の実施の形態と大きく異なる部分のみについて説明するものとする。
<ネットワークシステムの動作概要>
本実施の形態にかかるネットワークシステム1の動作概要は、第1〜5の実施の形態にかかるそれと同様であるため、ここでは説明を繰り返さない。
<クライアント端末100について>
本実施の形態にかかるクライアント端末100のハードウェア構成、位置データ送信処理については第1〜5の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<クライアント端末100におけるメンバー登録処理>
次に、本実施の形態にかかるクライアント端末100におけるメンバー登録処理について説明する。図20は、本実施の形態にかかるクライアント端末100におけるメンバー登録処理を示すイメージ図である。
図20を参照して、CPU110は、ユーザからの命令に基づいて、通信インターフェイス160を介して、レースのホームページからレース用のアプリケーションをメモリ120にダウンロードする。CPU110は、当該アプリケーションをクライアント端末100にインストールする。CPU110は、当該アプリケーションに基づいて、主に、以下の処理を実行する。
まず、CPU110は、タッチパネル150に、レースの選択画面を表示させる。ユーザは、タッチパネル150を介してレースを選択する。CPU110は、通信インターフェイス160を介して、レースを特定する情報をサーバ200に送信する。CPU110は、選択されたレースのデータを受信する。CPU110は、タッチパネル150に、ゼッケン番号と走者名の入力画面を表示させる。ただし、走者名の代わりに、ニックネーム、走者番号、その他の識別情報を利用してもよい。
ユーザは、タッチパネル150を介してゼッケン番号と走者名とを入力する。ユーザが更新ボタン151を押すと、CPU110は、通信インターフェイス160を介して、ゼッケン番号と走者名とをサーバ200に送信する。サーバ200は、ゼッケン番号に対応する予め登録されているチーム名を返してくる。CPU110は、タッチパネル150にチーム名を表示させる。これによって、ユーザは、誤って、違うチームのゼッケン番号を入力していないかを確認することができる。
ユーザが、スタートボタン152を押すと、CPU110は、GPS部170を利用して現在位置を取得し始める。CPU110は、現在位置を示す情報を取得すると、サーバ200に送信するための位置データを作成する。ここで、クライアント端末100からサーバ200に送信される位置データ201は、図21に示すように、チームの識別情報(たとえば、ゼッケン番号)と、走者名と、クライアント端末100の状態と、緯度と、経度と、高度と、精度と、スピードと、移動方向と、時刻とを含む。CPU110は、通信インターフェイス160を介して位置データ201をサーバ200に送信する。
図4に戻って、レース中は、すなわちGPSによって現在位置を計測中は、CPU110は、タッチパネル150の端部にレースアプリケーションが実行中であることを示すアイコンなどを表示しておくことが好ましい。なお、ユーザが、当該アイコンにタッチすると、CPU110は、再びゼッケン番号と走者名の入力画面に戻る。
本実施の形態にかかるゼッケン番号と走者名の入力画面には、設定ボタン153としてのソフトウェアボタンが表示されている。CPU110は、設定ボタン153が押されると、現在位置の計測の頻度、すなわち更新間隔、の変更命令を受け付けるための画面をタッチパネル150の地図上に表示させる。
<サーバ200について>
本実施の形態にかかるサーバ200のハードウェア構成、走者の交代、走者データ送信処理は、第1〜5の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<走者の判断処理>
次に、本実施の形態にかかる、チームのメンバーのうちのコース上の走者を選んで表示するための具体的な判断処理について説明する。図22は、本実施の形態にかかるサーバ200における走者と待機者との判断処理を示すフローチャートである。
図22を参照して、CPU210は、通信インターフェイス160を介して、クライアント端末100から位置データ101を受信すると、以下の処理を実行する。CPU210は、第1の条件として、受信した位置データ101に関して、一定時間以内に、同じゼッケン番号に対応する位置データ101がサーバに登録されているか否かを判断する(ステップS221)。一定時間以内に受信した位置データ101がサーバに登録されていない場合(ステップS221においてNOである場合)、CPU210は受信した位置データ101を走者の位置データ、すなわち走者データとして判断する(ステップS225)。
ここで、本実施の形態においては、サーバ200がクライアント端末100を識別できるため、図23に示すように、そのデータベース221にメンバー毎の位置データを格納する。CPU210は、チーム毎に、一人のメンバーを走者に設定すると(ステップS225)、他のメンバーを待機者に変更する(ステップS227)。CPU210は、走者データをメモリ220に記憶する(ステップS229)。そして、次の位置データ101の受信を待ち受ける。
CPU210は、受信した位置データ101に関して、一定時間以内に、同じゼッケン番号に対応する位置データ101がサーバに登録されている場合(ステップS221においてYESである場合)、第2の条件として、位置データ101に基づいてクライアント端末100の速度が所定値以上であるか否かを判断する(ステップS222)。クライアント端末100の速度が所定値以上である場合(ステップS222においてYESである場合)、CPU210は受信した位置データ101を走者の位置データ、すなわち走者データとして判断する(ステップS225)。CPU210は、チーム毎に、一人のメンバーを走者に設定すると、他のメンバーを待機者に変更する(ステップS227)。CPU210は、走者データをメモリ220に記憶する(ステップS229)。そして、次の位置データ101の受信を待ち受ける。
CPU210は、クライアント端末100の速度が所定値未満である場合(ステップS222においてNOである場合)、第3の条件として、クライアント端末100がピットから所定距離以上離れているか否か、すなわちコース内にいるか否かを判断する(ステップS223)。クライアント端末100がコース内にいる場合(ステップS223においてYESである場合)、CPU210は受信した位置データ101を走者の位置データ、すなわち走者データとして判断する(ステップS225)。CPU210は、チーム毎に、一人のメンバーを走者に設定すると、他のメンバーを待機者に変更する(ステップS227)。CPU210は、走者データをメモリ220に記憶する(ステップS229)。そして、次の位置データ101の受信を待ち受ける。
一方、クライアント端末100がピットエリア内にいる場合(ステップS223においてNOである場合)、CPU210は次の位置データ101の受信を待ち受ける。
このようにして、サーバ200は、それぞれのゼッケン番号の走者の位置データと待機者の位置データとを区別してデータベースに登録することができる。
<第7の実施の形態>
第1〜6の実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに所属するメンバーのクライアント端末100のうちの、所定の条件を満たすと判断されたものだけの位置が表示されるものであった。しかしながら、本実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに関しては、全メンバー(待機者を含む)の位置を表示し、他のチームの表示に関しては、第2〜6の実施の形態と同様の動作にする。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第6の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第6の実施の形態と大きく異なる部分のみについて説明するものとする。
<ネットワークシステムの動作概要>
まず、本実施の形態にかかるネットワークシステム1の動作概要について説明する。
たとえば、複数のクライアント端末100のユーザは、互いに、自転車レースなどのチームのメンバーである。レース中、各チームに属する複数のユーザの複数のクライアント端末100の各々は、GPS機能を利用することによって自分の現在位置を取得して、サーバ200にアップロードする。そして、サーバ200は、各チームに関して、複数のクライアント端末100からの位置情報を受信して、チーム内のメンバーの現在位置と他のチームのメンバーのうちの所定の条件を満たすメンバーの現在位置とを地図上に示すためのデータをチームのメンバーのクライアント端末100に送信する。
サーバ200は、複数のクライアント端末100の各々からの情報に基づいて、所定の条件を満たす一部のクライアント端末100の位置のみを表示するためのデータを複数のクライアント端末100に送信する。特に、本実施の形態においては、サーバ200は、各々のクライアント端末100からの第7の命令に応じて、当該クライアント端末100のチームのメンバーのクライアント端末100の位置と、他のチームのメンバーのうちの走行中のメンバーが有すると判断されたクライアント端末100の位置とを当該クライアント端末100に送信する。
<クライアント端末100について>
本実施の形態にかかるクライアント端末100のハードウェア構成、メンバー登録処理、位置データ送信処理については第6の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200について>
本実施の形態にかかるサーバ200のハードウェア構成、走者の交代、走者の判断処理は第6の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
<サーバ200における走者データ送信処理>
ここでは、本実施の形態にかかるサーバ200における走者データ送信処理について説明する。図24は、本実施の形態にかかるサーバ200における走者データ送信処理を示すフローチャートである。
図24を参照して、CPU210は、クライアント端末100からのリクエストを待ち受ける(ステップS241)。CPU210は、クライアント端末100からのリクエストを受信すると(ステップS241にてYESである場合)、データベースを参照して、当該リクエストに含まれるゼッケン番号に対応する走者データと待機データとを取得する(ステップS242)。ここで、サーバ200のデータベースには、ゼッケン番号毎に走者の位置データだけでなく、何周目を走っているかを示すデータも格納されている。そして、本実施の形態においては、CPU110は、他のチームの走者データも取得する(ステップS243)。他のチームの走者データの取得は、第2〜5の実施の形態のステップS143、ステップS153、ステップS163、ステップS173などと同様であるため、ここでは説明を繰り返さない。
CPU210は、通信インターフェイス260を介して、受信したゼッケン番号の走者データと待機者データと他のチームの走者データとをクライアント端末100に送信する(ステップS244)。図における2種類というのは、自分のチームのものと他のチームのものと意味している。すなわち、CPU210は、通信インターフェイス160を介して、クライアント端末100に、受信したゼッケン番号のチームの走者と待機者の位置を示すための情報、すなわち緯度および経度など、と他のチームの走者の位置を示すための情報とを送信する。
換言すれば、本実施の形態においては、CPU210は、走者のクライアント端末100以外の位置を示すための情報は送信しない。
このように、本実施の形態においては、サーバ200は、クライアント端末100に対して、自分のチームのクライアント端末100と、他のチームのクライアント端末100のうちの所定の条件を満たすと判断されたもの、たとえばレースの走者のクライアント端末100であると判断されたもの、の位置を示す情報を送信する。そして、クライアント端末100のCPU110は、タッチパネル150の地図上に、自分のチームの走者の位置を第1の表示態様(色、形、大きさ)で表示させ、自分のチームの待機者の位置を第2の表示態様(色、形、大きさ)で表示させ、他のチームの走者の位置を第3の表示態様(色、形、大きさ)で表示させる。
<第8の実施の形態>
第1〜7の実施の形態においては、クライアント端末100の各々のタッチパネル150には、当該クライアント端末100のユーザのチームに所属するユーザのクライアント端末100のうちの、サーバ200において所定の条件を満たすと判断されたものだけの位置が表示されるものであった。しかしながら、本実施の形態においては、クライアント端末100が走者の指定を受け付けるものである。すなわち、各チームに関して、サーバ200は、最後に走者の指定を受け付けたという条件を満たすクライアント端末100の現在位置を、当該チームのメンバーに送信するものである。
なお、本実施の形態にかかるネットワークシステム1の全体構成、各装置のハードウェア構成などは、第6の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。換言すれば、以下では、第6の実施の形態と大きく異なる部分のみについて説明するものとする。
具体的には、本実施の形態においては、図25に示すように、CPU110は、ゼッケン番号と走者名の入力画面中に、タッチパネル150に走者ボタン154を表示させる。そして、ユーザが、走者ボタン154を押すと、CPU110は、通信インターフェイス160を介して、走者に指定された旨の情報をサーバ200に送信する。サーバ200のCPU210は、クライアント端末100からの当該情報に基づいて、位置データベース221における当該クライアント端末100の状態を走者(run)に変更する。このとき、CPU210は、位置データベース221における他のメンバーの状態を待機者(pit)に設定する。
なお、本実施の形態においては、サーバ200における図22に示す判断処理は不要になる。
<第9の実施の形態>
第1〜8の実施の形態においては、クライアント端末100は、ユーザの命令に基づいて、GPSによる現在位置測定の間隔を設定するものであった。しかしながら、本実施の形態においては、クライアント端末100は、電池残量に基づいて、GPSによる現在位置測定の間隔を変更する。
具体的には、図6と比較して、図26に示すように、クライアント端末100のCPU110は、電池残量を取得する処理を実行する(ステップS111−1)。そして、CPU110は、電池残量が多い場合には、GPSによる現在位置測定の間隔を短めに設定する。逆に、CPU110は、電池残量が少ない場合には、GPSによる現在位置測定の間隔を短めに設定する。
たとえば、CPU110は、電池残量が半分(所定値)以上である場合には、GPSによる現在位置測定の間隔を3秒に設定する。逆に、CPU110は、電池残量が半分未満(所定値)である場合には、GPSによる現在位置測定の間隔を10秒に設定する。なお、CPU110は、電池残量が1/4未満である場合には、GPSによる現在位置測定の間隔を30秒に設定してもよい。
<第10の実施の形態>
第1〜8の実施の形態においては、クライアント端末100は、ユーザの命令に基づいて、GPSによる現在位置測定の間隔を設定するものであった。しかしながら、本実施の形態においては、クライアント端末100は、速度に基づいて、GPSによる現在位置測定の間隔を変更する。
具体的には、図6と比較して、図27に示すように、クライアント端末100のCPU110は、たとえば最後に取得された位置データ101,201に基づいて、クライアント端末100の速度を取得する処理を実行する(ステップS111−2)。そして、CPU110は、クライアント端末100の速度が速い場合には、GPSによる現在位置測定の間隔を短めに設定する。逆に、CPU110は、速度が遅い場合には、GPSによる現在位置測定の間隔を短めに設定する。
たとえば、CPU110は、速度が40km/h(所定値)以上である場合には、GPSによる現在位置測定の間隔を3秒に設定する。逆に、CPU110は、速度が40km/h(所定値)未満である場合には、GPSによる現在位置測定の間隔を10秒に設定する。なお、CPU110は、速度が20km/h未満である場合には、GPSによる現在位置測定の間隔を30秒に設定してもよい。
<第11の実施の形態>
第1〜8の実施の形態においては、クライアント端末100は、ユーザの命令に基づいて、GPSによる現在位置測定の間隔を設定するものであった。しかしながら、本実施の形態においては、クライアント端末100は、ピットエリアからの距離に基づいて、GPSによる現在位置測定の間隔を変更する。
具体的には、図6と比較して、図28に示すように、クライアント端末100のCPU110は、たとえば最後に取得された位置データ101,201に基づいて、クライアント端末100の所定の位置(たとえば、ピットエリアの中心など)からの距離を取得する処理を実行する(ステップS111−3)。そして、CPU110は、クライアント端末100は、ピットエリアからの距離が近い場合には、GPSによる現在位置測定の間隔を短めに設定する。逆に、CPU110は、ピットエリアからの距離が遠い場合には、GPSによる現在位置測定の間隔を短めに設定する。
たとえば、CPU110は、ピットエリアからの距離が500m(所定値)未満である場合には、GPSによる現在位置測定の間隔を3秒に設定する。逆に、CPU110は、ピットエリアからの距離が500m(所定値)以上である場合には、GPSによる現在位置測定の間隔を10秒に設定する。
<第12の実施の形態>
第2〜11の実施の形態においては、クライアント端末100は、自分のチームの走者の位置を表示するものであった。しかしながら、本実施の形態においては、クライアント端末100には、他のチームの走者のみが表示される。
具体的には、第2の実施の形態において説明したように、サーバ200は、他の全てのチームの走者と判断されるクライアント端末100の位置データ(走者データ)をクライアント端末100に送信してもよい。あるいは、第3の実施の形態において説明したように、サーバ200は、指定されたチームの走者と判断されるクライアント端末100の位置データ(走者データ)をクライアント端末100に送信してもよい。あるいは、第4の実施の形態において説明したように、サーバ200は、一位のチームの走者と判断されるクライアント端末100の位置データ(走者データ)をクライアント端末100に送信してもよい。あるいは、第5の実施の形態において説明したように、サーバ200は、近い順位のチームの走者と判断されるクライアント端末100の位置データ(走者データ)をクライアント端末100に送信してもよい。
<その他の応用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体(あるいはメモリ)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。