(57)【要約】      （修正有）【課題】コースが複数のルートを含む場合にルートにかかる時間を自動的に測定することができるネットワークシステム、サーバ、情報処理方向、端末、およびプログラムを提供する。【解決手段】現在位置情報を取得することが可能な端末３００Ａ、３００Ｂ、３００Ｃと、端末３００Ａ、３００Ｂ、３００Ｃの現在位置情報に基づいて、複数のルートを含むコースのうちの端末３００Ａ、３００Ｂ、３００Ｃが移動中のルートを特定し、当該ルートにかかった時間を測定するためのサーバ１００と、を備えるネットワークシステム１。【選択図】図１
2018059880.tif 000002
【特許請求の範囲】
【請求項１】
現在位置情報を取得することが可能な端末と、
前記端末の現在位置情報に基づいて、複数のルートを含むコースのうちの前記端末が移動中のルートを特定し、当該ルートにかかった時間を測定するためのサーバと、を備えるネットワークシステム。
【請求項２】
前記複数のルートの各々は当該ルートの終わりの部分の第１のエリアが指定されており、
前記サーバは、前記端末が前記第１のエリアに入った場合に、
続きのルートがない場合は、前記第１のエリアに入ったときに、当該ルートにかかった時間を特定し、
続きのルートがある場合は、前記第１のエリアを出たとき又は次のルートに入ったときに、当該ルートにかかった時間を特定する、請求項１に記載のネットワークシステム。
【請求項３】
前記コースは、前記複数のルートとして、少なくとも１つの周回する第１のルートと、少なくとも１つの周回しない第２のルートと、を含み、
前記サーバは、前記かかった時間としての前記第１のルートの周回毎のラップタイムと周回数と、前記第２のルートにかかった時間とを測定する、請求項１または２に記載のネットワークシステム。
【請求項４】
前記複数のルートの各々は当該ルートの始まりの部分の第２のエリアが指定されており、
前記サーバは、前記端末が前記第２のエリアに入った際に、当該ルートにかかった時間の測定を開始する、請求項１から３のいずれか１項に記載のネットワークシステム。
【請求項５】
前記サーバは、前記端末の位置と前記ルートの位置の少なくともいずれかをメッシュ化することによって、前記端末の前記ルート上の位置を特定する、請求項１から４のいずれか１項に記載のネットワークシステム。
【請求項６】
複数の端末と通信するための通信インターフェイスと、
複数のルートを含むコースのデータを記憶するためのメモリと、
前記通信インターフェイスを介して端末の現在位置情報を取得し、前記端末が移動中のルートを特定し、前記端末の前記ルートにかかった時間を測定するためのプロセッサと、を備えるサーバ。
【請求項７】
プロセッサが、通信インターフェイスを介して端末の現在位置情報を取得するステップと、
前記プロセッサが、複数のルートを含むコースのデータに基づいて、前記端末が移動中のルートを特定するステップと、
前記プロセッサが、前記端末の前記ルートにかかった時間を測定するステップと、を備えるサーバにおける情報処理方法。
【請求項８】
端末であって、
複数のルートを含むコースのデータを記憶するためのメモリと、
前記端末の現在位置情報を取得するための位置取得部と、
複数のルートを含むコースのデータに基づいて、前記端末の現在のルートを特定し、当該ルートにかかった時間を測定するためのプロセッサと、を備える端末。
【請求項９】
端末のためのプログラムであって、
前記端末の現在位置情報を取得するステップと、
前記複数のルートを含むコースのデータに基づいて、前記端末の現在のルートを特定するステップと、
前記ルートにかかった時間を測定するステップと、をプロセッサに実行させる端末のためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の開示は、少なくとも１つの端末の位置に関する情報を利用するためのネットワークシステム、サーバ、情報処理方向、端末、およびプログラムに関する。
【背景技術】
【０００２】
従来から、端末の位置情報を取得するための機能が知られている。たとえば、ＧＰＳ（Global Positioning System）などがそれである。そして、サーバを利用することによって、レース中の複数の端末のコース上の位置を複数の機器で表示するためのネットワークシステムも知られている。
【０００３】
たとえば、特開２０１５−１６２２４２号公報（特許文献１）には、ネットワークシステム、通信方法、サーバ、サーバ用プログラム、端末、端末用プログラムが開示されている。特許文献１によると、ネットワークシステムは、ＧＰＳを利用することによって現在位置を取得することが可能であり、同じ識別情報が割り当てられる複数の端末と、前記複数の端末のうちの所定の条件を満たす少なくとも１つの端末の位置を表示させるためのデータを前記複数の端末に送信するためのサーバとを備える。
【０００４】
また、特開２０１２−８８１３６号公報（特許文献２）には、車載ラップタイム計測装置およびラップタイム計測方法が開示されている。特許文献２によると、車両の現在位置を表す位置情報を取得する車両位置取得部と、周回コース内のゴール地点に車両が到達したことを表すゴール到達信号を入力する信号入力部と、車両の位置情報の微小変化に基づき前記車両の移動方向を検出すると共に、前記ゴール到達信号が入力されたタイミングと、前記車両位置取得部が取得した車両の位置情報と、検出された前記車両の移動方向とに基づいて、前記ゴール地点を含む直線状のゴールラインを特定する直線式を算出するゴールライン算出部と、前記直線式と車両の位置情報とに基づき時間を計測するラップタイム計測部とを備え、ゴール地点で車両進行方向と直交する方向にゴールラインが存在すると仮定して計算する。
【０００５】
また、特開２０１３−２９５１３号公報（特許文献３）には、通過判定装置、通過判定方法、プログラムが開示されている。特許文献３によると、予め設定されたコースを任意の手段で走行するトレーニングを行うユーザが携帯する通過判定装置に適用される。通過判定装置は、記憶部と、所定間隔で自装置の位置を取得する位置情報取得部と、ユーザにより予め設定されたコースおよび当該コース上の通過ポイントの位置を前記記憶部に記憶させると共に、前記位置情報取得部により取得された位置を、当該位置が取得された時刻と共に前記記憶部に記憶させる制御部と、を有し、前記制御部は、自装置の位置が前記通過ポイントの所定範囲内に入った場合、取得した当該所定範囲内の位置のうち当該通過ポイントに最も近い位置と、当該位置を取得した時刻と、に基づいて、当該通過ポイントを通過した通過時刻を判定する。
【０００６】
また、特開２０１１−１６９８４４号公報（特許文献４）には、走行時間計測装置、計測ライン設定装置、及び、プログラムが開示されている。特許文献４によると、走行時間計測装置では、垂線設定部は、情報取得部が取得した地図情報が表す地図上において、情報取得手段が取得した経路情報が表す経路上の所定点をユーザの操作に基づいて特定し、特定した所定点を通り経路に垂直な垂線を計測ラインとして設定し、計測部は、自車位置特定部が順次特定する自車の位置が計測ラインを横切ったときを計測の基準として走行時間を計測する。
【０００７】
また、特開２０１３−１９２６８６号公報（特許文献５）には、所要時間算出システム、所要時間算出プログラム及び所要時間算出方法が開示されている。特許文献５によると、所要時間算出システムは、第１のセンサによって検出された実測経路上を移動する人体の当該実測経路上の各位置の位置情報および高度情報から求められる当該実測経路の地形データの中から、複数の区間に分割された算出経路のうちの一の区間の各位置の位置情報および高度情報から求められる当該算出経路の一の区間の地形データに類似又は一致する前記実測経路の一部の区間の地形データを抽出して、抽出された当該実測経路の一部の区間を前記人体が移動するのに要した時間に基づいて、前記算出経路の一の区間を前記人体が移動するのに要する時間を算出する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１５−１６２２４２号公報
【特許文献２】特開２０１２−８８１３６号公報
【特許文献３】特開２０１３−２９５１３号公報
【特許文献４】特開２０１１−１６９８４４号公報
【特許文献５】特開２０１３−１９２６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、レースのコースが複雑なルートを含む場合にルートにかかる時間を自動的に測定することが困難であった。本発明の一態様の目的は、コースが複数のルートを含む場合にルートにかかる時間を自動的に測定することができるネットワークシステム、サーバ、情報処理方向、端末、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
この発明のある態様に従うと、現在位置情報を取得することが可能な端末と、端末の現在位置情報に基づいて、複数のルートを含むコースのうちの端末が移動中のルートを特定し、当該ルートにかかった時間を測定するためのサーバと、を備えるネットワークシステムが提供される。
【００１１】
好ましくは、複数のルートの各々は当該ルートの終わりの部分の第１のエリアが指定されている。サーバは、端末が第１のエリアに入った場合に、続きのルートがない場合は、第１のエリアに入ったときに、当該ルートにかかった時間を特定し、続きのルートがある場合は、第１のエリアを出たとき又は次のルートに入ったときに、当該ルートにかかった時間を特定する。
【００１２】
好ましくは、コースは、複数のルートとして、少なくとも１つの周回する第１のルートと、少なくとも１つの周回しない第２のルートと、を含む。サーバは、かかった時間としての第１のルートの周回毎のラップタイムと、第２のルートにかかった時間とを測定する。なお、ルートの周回毎のラップタイムや周回数などを周回情報とも言う。
【００１３】
好ましくは、複数のルートの各々は当該ルートの始まりの部分の第２のエリアが指定されている。サーバは、端末が第２のエリアに入った際に、当該ルートにかかった時間の測定を開始する。
【００１４】
好ましくは、サーバは、端末の位置とルートの位置の少なくともいずれかをメッシュ化することによって、端末のルート上の位置を特定する。
【００１５】
この発明の別の局面に従うと、複数の端末と通信するための通信インターフェイスと、複数のルートを含むコースのデータを記憶するためのメモリと、通信インターフェイスを介して端末の現在位置情報を取得し、端末が移動中のルートを特定し、端末のルートにかかった時間を測定するためのプロセッサと、を備えるサーバが提供される。
【００１６】
この発明の別の局面に従うと、プロセッサが、通信インターフェイスを介して端末の現在位置情報を取得するステップと、プロセッサが、複数のルートを含むコースのデータに基づいて、端末が移動中のルートを特定するステップと、プロセッサが、端末のルートにかかった時間を測定するステップと、を備えるサーバにおける情報処理方法が提供される。
【００１７】
この発明の別の局面に従うと、端末が提供される。端末は、複数のルートを含むコースのデータを記憶するためのメモリと、端末の現在位置情報を取得するための位置情報取得部と、複数のルートを含むコースのデータに基づいて、端末の現在のルートを特定し、当該ルートにかかった時間を測定するためのプロセッサと、を備える。
【００１８】
この発明の別の局面に従うと、端末のためのプログラムが提供される。プログラムは、端末の現在位置情報を取得するステップと、複数のルートを含むコースのデータに基づいて、端末の現在のルートを特定するステップと、ルートにかかった時間を測定するステップと、をプロセッサに実行させる。
【発明の効果】
【００１９】
以上のように、本発明の一態様によれば、コースが複雑なルートを含む場合にルートにかかる時間を自動的に測定することができるネットワークシステム、サーバ、情報処理方向、通信端末、およびプログラムが提供される。
【図面の簡単な説明】
【００２０】
【図１】第１の実施の形態にかかるネットワークシステム１の全体構成を示すイメージ図である。
【図２】第１の実施の形態にかかるコースを示すイメージ図である。
【図３】第１の実施の形態にかかるネットワークシステム１の動作概要を示すフローチャートである。
【図４】第１の実施の形態にかかる通信端末３００のレース登録時の画面推移を示すイメージ図である。
【図５】第１の実施の形態にかかる通信端末３００の第１のレースの第１の画面例を示すイメージ図である。
【図６】第１の実施の形態にかかる通信端末３００の第１のレースの第２の画面例を示すイメージ図である。
【図７】第１の実施の形態にかかる通信端末３００の第１のレースの結果画面を示すイメージ図である。
【図８】第１の実施の形態にかかる通信端末３００の第２のレースの第１の画面例を示すイメージ図である。
【図９】第１の実施の形態にかかる通信端末３００の第２のレースの第２の画面例を示すイメージ図である。
【図１０】第１の実施の形態にかかる通信端末３００の第２のレースの結果画面を示すイメージ図である。
【図１１】第１の実施の形態にかかるサーバ１００の構成を表わすブロック図である。
【図１２】第１の実施の形態にかかる各コースに関する情報を示すイメージ図である。
【図１３】第１の実施の形態にかかるレース情報データベース１２１を示すイメージ図である。
【図１４】第１の実施の形態にかかるルート情報データベース１２２を示すイメージ図である。
【図１５】第１の実施の形態にかかるメッシュデータを利用して通信端末３００のルート上の位置の特定する方法を示すイメージ図である。
【図１６】第１の実施の形態にかかる現在位置情報データベース１２３を示すイメージ図である。
【図１７】第１の実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【図１８】第１の実施の形態にかかる通信端末３００の構成を表わすブロック図である。
【図１９】第１の実施の形態にかかる通信端末３００の第１の情報処理を示すフローチャートである。
【図２０】第１の実施の形態にかかる通信端末３００の第２の情報処理を示すフローチャートである。
【図２１】第２の実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【図２２】第３の実施の形態にかかる各コースに関する情報を示すイメージ図である。
【図２３】第３の実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【図２４】第４の実施の形態にかかる各コースに関する情報を示すイメージ図である。
【図２５】第４の実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【図２６】第５の実施の形態にかかる各コースに関する情報を示すイメージ図である。
【図２７】第５の実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【図２８】第６の実施の形態にかかる各コースに関する情報を示すイメージ図である。
【図２９】第６の実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【図３０】第７の実施の形態にかかるユーザによるオーダーメイドのルートおよびコースの設定を示すイメージ図である。
【図３１】第８の実施の形態にかかる通信端末３００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
＜ネットワークシステム１の全体構成＞
【００２２】
まず、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とについて説明する。図１は、本実施の形態にかかるネットワークシステム１の全体構成を示すイメージ図である。
【００２３】
図１を参照して、ネットワークシステム１の全体構成について簡単に説明する。ネットワークシステム１は、主に、サーバ１００と、通信事業者網やインターネットなどのネットワークを介して当該サーバ１００と接続可能な複数の通信端末３００Ａ、３００Ｂ、３００Ｃとを含む。なお、以下では、通信端末３００Ａ、３００Ｂ、３００Ｃを総称して、通信端末３００ともいう。
【００２４】
本実施の形態にかかる複数の通信端末３００のうちのいずれか（図１における３００Ａなど）は、スマートフォン、タブレット、ゲーム機、ウェアラブル端末、ノートパソコン、カーナビゲーションシステムなどの現在位置情報を取得可能な装置である。より詳細には、通信端末３００の各々は、サーバ１００などから位置取得用のアプリケーションをダウンロードして、当該位置取得用のアプリケーションをインストールしている。
【００２５】
たとえば、複数の通信端末３００のうちのいずれか（図１における３００Ａなど）は、ＧＰＳ（Global Positioning System）やＧＮＳＳ（Global Navigation Satellite System）などの位置取得機能を利用することによって自身の現在位置を取得することができる。そして、通信端末３００は、自分の現在位置を示す情報をサーバ１００に送信する。
【００２６】
また、複数の通信端末３００のうちのいずれか（図１における通信端末３００Ａ、３００Ｂ、３００Ｃなど）は、ディスプレイを利用して文字や画像を表示することができる。そのような通信端末３００Ａ、３００Ｂ、３００Ｃは、サーバ１００からのデータに基づいて、上記の位置取得機能を有する通信端末３００Ａの現在位置を表示することができる。
＜ネットワークシステム１の動作概要＞
【００２７】
次に、図２〜図１０を参照して、本実施の形態にかかるネットワークシステム１の動作概要について説明する。なお、図２は、本実施の形態にかかるコースを示すイメージ図である。図３は、本実施の形態にかかるネットワークシステム１の動作概要を示すフローチャートである。図４は、本実施の形態にかかる通信端末３００のレース登録時の画面推移を示すイメージ図である。図５は、本実施の形態にかかる通信端末３００の第１のレースの第１の画面例を示すイメージ図である。図６は、本実施の形態にかかる通信端末３００の第１のレースの第２の画面例を示すイメージ図である。図７は、本実施の形態にかかる通信端末３００の第１のレースの結果画面を示すイメージ図である。図８は、本実施の形態にかかる通信端末３００の第２のレースの第１の画面例を示すイメージ図である。図９は、本実施の形態にかかる通信端末３００の第２のレースの第２の画面例を示すイメージ図である。図１０は、本実施の形態にかかる通信端末３００の第２のレースの結果画面を示すイメージ図である。
【００２８】
図２を参照して、本実施の形態にかかるネットワークシステム１によって提供される情報提供サービスは、複数のルートを含むコースを走行する１または複数のユーザに利用される。より詳細には、情報提供サービスは、複数のユーザが参加するレースに利用されるものであってもよいし、１または複数のユーザのトレーニング用のコースに利用されてもよい。
【００２９】
図３を参照して、本実施の形態においては、予めレース開始毎やトレーニング開始前に、ネットワークシステム１に、１または複数のルートを含むコースに関する情報が登録される（ステップＳ１０１）。
【００３０】
サーバ１００は、登録された情報に基づいて、ルート毎にかかった時間（以下ではラップタイムともいう。）を測定するためのデータを作成したり、変換したり、取得したりする（ステップＳ１０２）。これによって、図４に示すように、ユーザがコースやルートを指定することが可能になる。
【００３１】
レースが開始されると、通信端末３００は、現在位置情報を取得してサーバ１００に送信する（ステップＳ１０３）。
【００３２】
サーバ１００は、コースやルートに関する情報と通信端末３００の現在位置情報とに基づいて、ユーザまたはユーザの端末が現在どのルートを走行中か特定する（ステップＳ１０４）。
【００３３】
本実施の形態においては特に、ユーザが各ルートを完走するたびに、あるいは複数周回するルートに関してはユーザが１周まわるたびに、サーバ１００は、ルートのラップタイムを計算する（ステップＳ１０５）。
【００３４】
そして、図５に示すように、通信端末３００は、地図上に通信端末３００の現在位置やルート毎のラップタイムまたは走行済みのルートのうちの最速のラップタイムなどを出力する（ステップＳ１０６）。なお、本実施の形態においては、図６に示すように、指定されたユーザの通信端末３００の現在位置やルート毎のラップタイムをルートの標高を示す画面上に表示することもできる。ユーザは、これらの画面を切り替えることができる。そして、レース、すなわち全てのルートを完走すると、図７に示すように、通信端末３００は、ルート毎のラップタイムを表示する。
【００３５】
なお、コースに含まれるいずれかのルートを複数回走行する場合には、図８に示すように、通信端末３００は、地図上に通信端末３００の現在位置やルートの周回毎のラップタイムまたは走行済みのルートのうちの最速のラップタイムなどを出力する（ステップＳ１０６）。なお、本実施の形態においては、図９に示すように、指定されたユーザの通信端末３００の現在位置やルートの周回毎のラップタイムをルートの標高を示す画面上に表示することもできる。ユーザは、これらの画面を切り替えることができる。そして、レース、すなわち全てのルートを完走すると、図１０に示すように、通信端末３００は、ルートの周回毎のラップタイムを表示する。
【００３６】
これによって、本実施の形態にかかるネットワークシステム１は、ユーザに、複数のルートを含むコースに関する、ルート毎または周回毎の情報を提供することが可能である。以下では、このような機能を実現するネットワークシステム１の各装置の構成について詳述する。
＜サーバ１００の構成＞
【００３７】
まず、サーバ１００の構成の一態様について説明する。なお、図１１は、本実施の形態にかかるサーバ１００の構成を表わすブロック図である。
【００３８】
図１１を参照しながら、本実施の形態にかかるサーバ１００は、主たる構成要素として、ＣＰＵ１１０と、メモリ１２０と、通信インターフェイス１６０とを含む。
【００３９】
ＣＰＵ１１０は、メモリ１２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ１００の各部を制御する。すなわち、ＣＰＵ１１０は、メモリ１２０などに格納されているプログラムを実行することによって、各種の処理、たとえば後述する様々な処理を実行する。
【００４０】
メモリ１２０は、各種のＲＡＭ（Random Access Memory）、各種のＲＯＭ（Read-Only Memory）などによって実現される。メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、キーボードなどの入出力部を介して入力されたデータ、複数の通信端末３００から受信したデータ、地図を表示するための地図データ、ルートおよびコースの位置や形状を示すデータ、レースに使用されるピッチの位置や形状を示すデータ、レース情報データベース１２１・ルート情報データベース１２２・現在位置情報データベース１２３、その他の各種のデータベース、などを記憶する。ただし、これらのデータは、サーバ１００が記憶してもよいし、サーバ１００がネットワークなどを介してアクセス可能な他の装置に格納されてもよい。
【００４１】
ここで、図１２は、本実施の形態にかかる各コースに関する情報を示すイメージ図である。図１２を参照して、本実施の形態においては、各コースは、１または複数のルートを含む。そして、各ルートは、ルートのスタートエリアと、ルートのゴールエリアと、ルートの通常走行エリアとから構成される。すなわち、サーバ１００は、各コースに関する情報として、複数のルート毎の、ルートの位置を示す情報と、スタートエリアを示す情報と、ルートのゴールエリアを示す情報と、ルートの通常走行エリアを示す情報とを記憶する。
【００４２】
図１３に示すように、サーバ１００のメモリ１２０は、レース情報データベース１２１を記憶する。レース情報データベース１２１は、レース毎に、レース名と、１または複数のルート情報とを含む。ルート情報は、たとえば、ルートのＩＤと当該ルートの周回数を含む。
【００４３】
図１４に示すように、サーバ１００のメモリ１２０は、ルート情報データベース１２２を記憶する。ルート情報データベース１２２は、ルート毎に、ルート名と、ルートの位置を示すための座標情報と、スタートエリアを示す情報と、ゴールエリアを示す情報とを格納する。
【００４４】
そして特に本実施の形態においては、サーバ１００は、図１５（Ａ）に示すように、各ルートの位置を示すためのメッシュデータを記憶する。たとえば、サーバ１００は、ルートのスタートエリアを示すメッシュデータ、ルートのゴールエリアを示すメッシュデータと、ルートの通常走行エリアを示すメッシュデータとを記憶する。これによって、図１５（Ｂ）に示すように、ユーザの通信端末３００の現在位置がルート上から少しずれた位置に検知されても、サーバ１００は、ユーザの通信端末３００の現在位置が属するメッシュの隣のメッシュを特定し（図１５（Ｂ））、特定されたメッシュに属するルート上をユーザが走行中であると判断する（図１５（Ｃ）。
【００４５】
また、図１６は、本実施の形態にかかる現在位置情報データベース１２３を示すイメージ図である。図１６を参照して、現在位置情報データベース１２３は、ユーザＩＤと、ニックネームと、ユーザＩＤに対応する通信端末３００の現在位置を示す情報と、現在位置情報を取得した最終の日時と、ユーザＩＤに対応する通信端末３００のアドレスと、ユーザが指定したコースのＩＤと、ユーザの通信端末３００が現在位置しているルートのＩＤとの対応関係を格納する。
【００４６】
図１１に戻って、通信インターフェイス１６０は、アンテナやコネクタによって実現される。通信インターフェイス１６０は、有線通信あるいは無線通信によって他の装置（通信端末３００を含む）との間でデータをやり取りする。ＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末３００の位置データ、制御命令、画像データ、テキストデータなどを通信端末３００などの他の装置から受信する。また、ＣＰＵ１１０は、通信インターフェイス１６０を介して、チーム毎の走者の位置を表示するためのデータ、その他のテキストデータ、その他の画像データなどを、通信端末３００などの他の装置に送信する。
＜サーバ１００における情報処理方法＞
【００４７】
次に、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理について説明する。図１７は、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【００４８】
なお、レースやコースのスタート、つまりコースに含まれる１番最初のルートのスタートに関しては、サーバ１００は、通信端末３００からレースやコースのスタート命令を受け付けた際に以下の処理を実行する。あるいは、サーバ１００は、サービスの運用者からレースやコースのスタート命令を受け付けた際に以下の処理を実行する。ただし、レースやコースのスタートのタイミングの決定方法や指定方法などはこのようなものに限られない。
【００４９】
図１７を参照して、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末３００から現在位置情報を受信する（ステップＳ１１２）。ＣＰＵ１１０は、現在位置情報データベース１２３を参照して、通信端末３００の識別情報から通信端末３００のユーザに指定されたコースを特定する。そして、ＣＰＵ１１０は、レース情報データベース１２１およびルート情報データベース１２２を参照して、通信端末３００の現在位置から通信端末３００が走行中のルートを特定する（ステップＳ１１４）。
【００５０】
ＣＰＵ１１０は、通信端末３００の現在位置と、ルートのスタートエリアを示す情報やルートのゴールエリアを示す情報に基づいて、通信端末３００がルートの中間、すなわち通常の走行エリアに位置するか否かを判断する（ステップＳ１１６）。換言すれば、ＣＰＵ１１０は、通信端末３００が、ルートのスタートエリアやゴールエリアに位置していないか否かを判断する。
【００５１】
通信端末３００が、ルートの中間に位置する場合（ステップＳ１１６においてＹＥＳである場合）、ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００５２】
通信端末３００がルートのスタートエリアやゴールエリアに位置する場合（ステップＳ１１６においてＮＯである場合）、ＣＰＵ１１０は、通信端末３００がルートのゴールエリアに位置するか否かを判断する（ステップＳ１２２）。通信端末３００がルートのゴールエリアに位置する場合（ステップＳ１２２においてＹＥＳである場合）、ＣＰＵ１１０は、コースに関する情報に基づいて、当該コースが現在のルートの続きのルートを有するか否かを判断する（ステップＳ１２４）。
【００５３】
当該コースが現在のルートの続きのルートを有しない場合（ステップＳ１２４においてＮＯである場合）、ＣＰＵ１１０は、タイマの時間に基づいて、通信端末３００の当該ルートのラップタイムを取得する（ステップＳ１２６）。ＣＰＵ１１０は、当該コースに関するそれまでのラップタイムの合計からレースの合計タイムを取得する（ステップＳ１２８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に当該ルートのラップタイムと当該レースのレースタイムとを送信する（ステップＳ１３０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００５４】
当該コースが現在のルートの続きのルートを有する場合（ステップＳ１２４においてＹＥＳである場合）、ＣＰＵ１１０は、メモリ１２０のゴールフラグをＯＮする（ステップＳ１３２）。ＣＰＵ１１０は、タイマの時間に基づいて通信端末３００のゴールエリアへの到達タイムを記憶する（ステップＳ１３４）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００５５】
通信端末３００がルートのゴールエリアに位置しない場合（ステップＳ１２２においてＮＯである場合）、ＣＰＵ１１０は、通信端末３００がルートのスタートエリアに位置するか否かを判断する（ステップＳ１４２）。通信端末３００がルートのスタートエリアに位置する場合（ステップＳ１４２においてＹＥＳである場合）、ＣＰＵ１１０は、ゴールフラグがＯＮであるか否かを判断する（ステップＳ１４４）。
【００５６】
ゴールフラグがＯＮである場合（ステップＳ１４４においてＹＥＳである場合）、ＣＰＵ１１０は、タイマの時間とゴールエリア到達タイムとから完走したばかりのルートのラップタイムを計算する（ステップＳ１４６）。より詳細には、ＣＰＵ１１０は、現在のタイマの時間とゴールエリア到達タイムと現在の位置とゴールエリアに到達した際の位置とに基づいて、通信端末３００がゴールエリアとスタートエリアの境界に到達した時間を計算することによってラップタイムを補正してもよい。
【００５７】
ＣＰＵ１１０、タイマをリセットする（ステップＳ１４８）。より詳細には、補正後のラップタイムに基づいて、新たなルートに入ったときからの現在までの時間によってタイマの値を補正してスタートさせてもよい。なお、ゴールフラグは、ルート毎または周回毎に準備されてもよいし、レースに共通のゴールフラグを、ステップＳ１４８においてＣＰＵ１１０がＯＦＦしてもよい。
【００５８】
ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に通過したばかりのルートのラップタイムを送信する（ステップＳ１５０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００５９】
通信端末３００がルートのスタートエリアに位置しない場合（ステップＳ１４２においてＮＯである場合）、またはゴールフラグがＯＮでなかった場合（ステップＳ１４４においてＮＯである場合）、ＣＰＵ１１０は、ラップタイムの計測に関するエラー情報を通信端末３００に送信する（ステップＳ１５２）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
＜通信端末３００の構成＞
【００６０】
まず、通信端末３００の構成の一態様について説明する。図１８は、本実施の形態にかかる通信端末３００の構成を表わすブロック図である。
【００６１】
図１８を参照して、通信端末３００は、主たる構成要素として、ＣＰＵ３１０と、メモリ３２０と、タッチパネル３５０（ディスプレイ３３０とポインティングデバイスなどの操作部３４０を含む）と、通信インターフェイス３６０と、位置情報取得部３７０とを含む。
【００６２】
ＣＰＵ３１０は、メモリ３２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、通信端末３００の各部を制御する。すなわち、ＣＰＵ３１０は、メモリ３２０などに格納されているプログラムを実行することによって、各種の処理、たとえば図１９や図２０などに記載の各ステップを実行する。
【００６３】
メモリ３２０は、各種のＲＡＭ、各種のＲＯＭなどによって実現される。メモリ３２０は、ＣＰＵ３１０によって実行されるラップタイム取得アプリケーションプログラムやその他のプログラムや、ＣＰＵ３１０によるプログラムの実行により生成されたデータ、操作部３４０を介して入力されたデータ、サーバ１００から受信したデータ、地図を表示するための地図データ、レースに使用されるピッチの位置および／またはエリアを示す緯度・経度情報などを記憶する。
【００６４】
ディスプレイ３３０は、ＣＰＵ３１０からの信号に基づいて、文字や画像を出力する。操作部３４０は、ユーザからの命令を受け付けて、当該命令をＣＰＵ３１０に入力する。なお、本実施の形態においては、通信端末３００としてのスマートフォンやタッチパッドは、ディスプレイ３３０と操作部３４０とが組み合わされたタッチパネル３５０を有する。そして、タッチパネル３５０は、ＣＰＵ３１０からの信号に基づいてソフトウェアボタンを表示したり、ソフトウェアボタンへのタッチをＣＰＵ３１０へ入力したりする。
【００６５】
通信インターフェイス３６０は、アンテナやコネクタによって実現される。通信インターフェイス３６０は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。ＣＰＵ３１０は、通信インターフェイス３６０を介して、現在位置のデータ、その他のテキストデータ、その他の画像データなどを、サーバ１００などの他の装置に送信する。また、ＣＰＵ３１０は、通信インターフェイス３６０を介して、チームのメンバーの通信端末３００の現在位置やラップタイムを示すためのデータ、プログラム、制御命令、画像データ、テキストデータなどを、サーバ１００などの他の装置から受信する。
【００６６】
位置情報取得部３７０は、外部の衛星と信号をやり取りする。ＣＰＵ３１０は、位置情報取得部３７０が取得した信号に基づいて、通信端末３００の現在位置、すなわち現在の緯度と経度とを取得する。位置情報に関しては、上記ＧＰＳ情報以外に、例えば、公衆通信網の基地局情報や、ビーコンから受信する位置情報等でも良い。
【００６７】
加速度センサ３８０は、通信端末３００の加速度を測定する。ＣＰＵ３１０は、加速度センサ３８０からの測定データに基づいて通信端末３００の姿勢や移動方向や距離などを取得することができる。そして、ＣＰＵ３１０は、そのような情報に基づいて、現在位置を補間したり補正したりすることができる。
＜通信端末３００の情報処理＞
【００６８】
次に、本実施の形態にかかる通信端末３００におけるＣＰＵ３１０がラップタイム取得アプリケーションプログラムに従って実行する処理について説明する。図１９は、本実施の形態にかかる通信端末３００の第１の情報処理を示すフローチャートである。図２０は、本実施の形態にかかる通信端末３００の第２の情報処理を示すフローチャートである。
【００６９】
図１９を参照して、通信端末３００は、現在位置を取得する際に以下の処理を実行する。通信端末３００のＣＰＵ３１０は、位置情報取得部３７０を利用して定期的に現在位置を取得する（ステップＳ１６２）。ＣＰＵ３１０は、通信インターフェイス３６０を介して、現在位置情報をサーバ１００に送信する（ステップＳ１６４）。ＣＰＵ３１０は、ディスプレイ３３０に地図を表示させるとともに、地図上に通信端末３００の現在位置を表示させる（ステップＳ１６６）。
【００７０】
図２０を参照して、ＣＰＵ３１０は、サーバ１００からデータを受信した際に以下の処理を実行する。ＣＰＵ３１０は、通信インターフェイス３６０を介してサーバ１００から通信端末３００のルート毎および周回毎のラップタイムやレース全体のレースタイムを受信する（ステップＳ１７２）。ＣＰＵ３１０は、ディスプレイ３３０を介して、通信端末３００のユーザのルート毎および周回毎のラップタイムや参加したレースのレースタイムを地図上や結果画面などに表示する（ステップＳ１７４、たとえば図５〜図１０などを参照。）。
＜第２の実施の形態＞
【００７１】
第１の実施の形態においては、図１７のステップＳ１４４において、通信端末３００がゴールエリアに到達したことが確認できた場合にラップタイムを確定するものであった。しかしながら、そのような構成には限られない。本実施の形態においては、サーバ１００は、通信端末３００がルートのスタートエリアに達した場合に、通信端末３００がその前のルートを完走したと判断するものである。
【００７２】
以下では、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理について説明する。サーバ１００や通信端末３００の構成や通信端末３００の情報処理などについては第１の実施の形態のそれらと同様であるためここでは説明を繰り返さない。
【００７３】
図２１は、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。なお以下では、第１の実施の形態の処理と異なる処理について説明するものとし、他の処理については説明を繰り返さない。
【００７４】
図２１を参照して、サーバ１００のＣＰＵ１１０は、コースが現在のルートの続きのルートを有する場合（ステップＳ１２４においてＮＯである場合）、次の通信端末３００から現在位置情報を待ち受ける。
【００７５】
そして、通信端末３００がルートのスタートエリアに位置する場合（ステップＳ１４２においてＹＥＳである場合）、ＣＰＵ１１０は、現在のタイマの時間と通信端末３００の現在の位置と前回のタイマの時間と前回の通信端末３００の位置とに基づいて、現在のルートとその前のルートとの境界を通信端末３００が通過したラップタイムを計算する（ステップＳ２４６）。
＜第３の実施の形態＞
【００７６】
第１および第２の実施の形態においては、ルート毎にスタートエリアとゴールエリアとが設定されるものであった。しかしながら、このような構成には限られない。
【００７７】
本実施の形態においては、図２２に示すように、各コースは、１または複数のルートを含む。そして、各ルートは、ルートのゴールエリアと、ルートの通常走行エリアとから構成される。すなわち、サーバ１００は、各コースに関する情報として、複数のルート毎の、ルートの位置を示す情報と、ルートのゴールエリアを示す情報と、ルートの通常走行エリアを示す情報とを記憶する。
【００７８】
以下では、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理について説明する。サーバ１００や通信端末３００の構成や通信端末３００の情報処理などについては第１の実施の形態のそれらと同様であるためここでは説明を繰り返さない。図２３は、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【００７９】
図２３を参照して、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末３００から現在位置情報を受信する（ステップＳ１１２）。ＣＰＵ１１０は、通信端末３００の識別情報から通信端末３００のユーザに指定されたコースを特定し、通信端末３００の現在位置から通信端末３００が位置するルートを特定する（ステップＳ１１４）。
【００８０】
ＣＰＵ１１０は、通信端末３００の現在位置と、ルートのゴールエリアを示す情報に基づいて、通信端末３００がルートのゴールエリアに位置するか否かを判断する（ステップＳ１２２）。通信端末３００がルートのゴールエリアに位置する場合（ステップＳ１２２においてＹＥＳである場合）、ＣＰＵ１１０は、コースに関する情報に基づいて、当該コースが通信端末３００の現在のルートの続きのルートを有するか否かを判断する（ステップＳ１２４）。
【００８１】
当該コースが現在のルートの続きのルートを有しない場合（ステップＳ１２４においてＮＯである場合）、ＣＰＵ１１０は、タイマの時間に基づいて、通信端末３００の当該ルートのラップタイムを取得する（ステップＳ１２６）。ＣＰＵ１１０は、当該コースに関するそれまでのラップタイムの合計からレースの合計タイムを取得する（ステップＳ１２８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に当該ルートのラップタイムと当該レースのレースタイムとを送信する（ステップＳ１３０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００８２】
当該コースが現在のルートの続きのルートを有する場合（ステップＳ１２４においてＹＥＳである場合）、ＣＰＵ１１０は、メモリ１２０のゴールフラグをＯＮする（ステップＳ１３２）。ＣＰＵ１１０は、タイマの時間に基づいて通信端末３００のゴールエリアへの到達タイムを記憶する（ステップＳ１３４）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００８３】
通信端末３００がルートのゴールエリアに位置しない場合（ステップＳ１２２においてＮＯである場合）、ＣＰＵ１１０は、ゴールフラグがＯＮであるか否かを判断する（ステップＳ１４４）。
【００８４】
ゴールフラグがＯＮである場合（ステップＳ１４４においてＹＥＳである場合）、ＣＰＵ１１０は、タイマの時間とゴールエリア到達タイムとから通過したばかりのルートのラップタイムを計算する（ステップＳ１４６）。より詳細には、ＣＰＵ１１０は、現在のタイマの時間とゴールエリア到達タイムと現在の位置とゴールエリアに到達した際の位置とに基づいて、通信端末３００がゴールエリアとスタートエリアの境界に到達した時間を計算することによってラップタイムを補正してもよい。
【００８５】
ＣＰＵ１１０、タイマをリセットする（ステップＳ１４８）。より詳細には、補正後のラップタイムに基づいて、新たなルートに入った瞬間からの現在までの時間によってタイマの値を補正してスタートさせてもよい。なお、ゴールフラグは、ルート毎または周回毎に準備されてもよいし、ＣＰＵ１１０がステップＳ１４８においてレースに共通のゴールフラグをＯＦＦしてもよい。
【００８６】
ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に通過したばかりのルートのラップタイムを送信する（ステップＳ１５０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００８７】
ゴールフラグがＯＮでなかった場合（ステップＳ１４４においてＮＯである場合）、ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
＜第４の実施の形態＞
【００８８】
第１および第２の実施の形態においては、ルート毎にスタートエリアとゴールエリアとが設定されるものであった。しかしながら、このような構成には限られない。
【００８９】
本実施の形態においては、図２４に示すように、各コースは、１または複数のルートを含む。そして、各ルートは、ルートのスタートエリアと、ルートの通常走行エリアとから構成される。すなわち、サーバ１００は、各コースに関する情報として、複数のルート毎の、ルートの位置を示す情報と、スタートエリアを示す情報と、ルートの通常走行エリアを示す情報とを記憶する。ただし、最後のルートのみに関しては、ゴールエリアが設定される。
【００９０】
以下では、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理について説明する。サーバ１００や通信端末３００の構成や通信端末３００の情報処理などについては第１の実施の形態のそれらと同様であるためここでは説明を繰り返さない。図２５は、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【００９１】
図２５を参照して、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末３００から現在位置情報を受信する（ステップＳ１１２）。ＣＰＵ１１０は、通信端末３００の識別情報から通信端末３００のユーザに指定されたコースを特定し、通信端末３００の現在位置から通信端末３００が位置するルートを特定する（ステップＳ１１４）。
【００９２】
ＣＰＵ１１０は、通信端末３００の現在位置と、ルートのスタートエリアを示す情報やルートのゴールエリアを示す情報に基づいて、通信端末３００がルートの中間に位置するか否かを判断する（ステップＳ１１６）。すなわち、ＣＰＵ１１０は、通信端末３００が、ルートのスタートエリアやゴールエリアに位置していないか否かを判断する。
【００９３】
通信端末３００が、ルートのスタートエリアやゴールエリアに中間に位置する場合（ステップＳ１１６においてＹＥＳである場合）、ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００９４】
通信端末３００がルートのスタートエリアやゴールエリアに位置する場合（ステップＳ１１６においてＮＯである場合）、ＣＰＵ１１０は、通信端末３００がルートのゴールエリアに位置するか否かを判断する（ステップＳ１２２）。通信端末３００がルートのゴールエリアに位置する場合（ステップＳ１２２においてＹＥＳである場合）、ＣＰＵ１１０は、タイマの時間に基づいて、通信端末３００の当該ルートのラップタイムを取得する（ステップＳ１２６）。ＣＰＵ１１０は、当該コースに関するそれまでのラップタイムの合計からレースの合計タイムを取得する（ステップＳ１２８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に当該ルートのラップタイムと当該レースのレースタイムとを送信する（ステップＳ１３０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００９５】
通信端末３００がルートのゴールエリアに位置しない場合（ステップＳ１２２においてＮＯである場合）、ＣＰＵ１１０は、通信端末３００がルートのスタートエリアに位置するか否かを判断する（ステップＳ１４２）。通信端末３００がルートのスタートエリアに位置する場合（ステップＳ１４２においてＹＥＳである場合）、ＣＰＵ１１０は、現在のタイマの時間と通信端末３００の現在の位置と前回のタイマの時間と通信端末３００の前回の位置とに基づいて、ルートの境界を通信端末３００が通過したラップタイムを計算する（ステップＳ２４６）。
【００９６】
ＣＰＵ１１０、タイマをリセットする（ステップＳ１４８）。より詳細には、補正後のラップタイムに基づいて、新たなルートに入った瞬間からの現在までの時間によってタイマの値を補正してスタートさせてもよい。
【００９７】
ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に通過したばかりのルートのラップタイムを送信する（ステップＳ１５０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【００９８】
通信端末３００がルートのスタートエリアに位置しない場合（ステップＳ１４２においてＮＯである場合）、ＣＰＵ１１０は、ラップタイムの計測に関するエラー情報を通信端末３００に送信する（ステップＳ１５２）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
＜第５の実施の形態＞
【００９９】
第１および第２の実施の形態においては、ルート毎にスタートエリアとゴールエリアとが設定されるものであった。しかしながら、このような構成には限られない。
【０１００】
本実施の形態においては、図２６に示すように、各コースは、１または複数のルートを含む。そして、各ルートは、ルートの端部エリアと、ルートの通常走行エリアとから構成される。すなわち、サーバ１００は、各コースに関する情報として、複数のルート毎の、ルートの位置を示す情報と、ルートの端部エリアを示す情報と、ルートの通常走行エリアを示す情報とを記憶する。
【０１０１】
以下では、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理について説明する。サーバ１００や通信端末３００の構成や通信端末３００の情報処理などについては第１の実施の形態のそれらと同様であるためここでは説明を繰り返さない。図２７は、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【０１０２】
図２７を参照して、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末３００から現在位置情報を受信する（ステップＳ１１２）。ＣＰＵ１１０は、通信端末３００の識別情報から通信端末３００のユーザに指定されたコースを特定し、通信端末３００の現在位置から通信端末３００が位置するルートを特定する（ステップＳ１１４）。
【０１０３】
ＣＰＵ１１０は、通信端末３００の現在位置と、ルートの端部エリアを示す情報とに基づいて、通信端末３００がルートの端部エリアに位置するか否かを判断する（ステップＳ５２２）。通信端末３００がルートの端部エリアに位置する場合（ステップＳ５２２においてＹＥＳである場合）、ＣＰＵ１１０は、コースに関する情報に基づいて、当該コースが現在のルートの続きのルートを有するか否かを判断する（ステップＳ１２４）。
【０１０４】
当該コースが現在のルートの続きのルートを有しない場合（ステップＳ１２４においてＮＯである場合）、ＣＰＵ１１０は、タイマの時間に基づいて、通信端末３００の当該ルートのラップタイムを取得する（ステップＳ１２６）。ＣＰＵ１１０は、当該コースに関するそれまでのラップタイムの合計からレースの合計タイムを取得する（ステップＳ１２８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に当該ルートのラップタイムと当該レースのレースタイムとを送信する（ステップＳ１３０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【０１０５】
当該コースが現在のルートの続きのルートを有する場合（ステップＳ１２４においてＹＥＳである場合）、ＣＰＵ１１０は、メモリ１２０の端部フラグをＯＮする（ステップＳ５３２）。ＣＰＵ１１０は、タイマの時間に基づいて通信端末３００の端部エリアへの到達タイムを記憶する（ステップＳ５３４）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【０１０６】
通信端末３００がルートの端部エリアに位置しない場合（ステップＳ５２２においてＮＯである場合）、ＣＰＵ１１０は、端部フラグがＯＮであるか否かを判断する（ステップＳ５４４）。
【０１０７】
端部フラグがＯＮである場合（ステップＳ５４４においてＹＥＳである場合）、ＣＰＵ１１０は、タイマの時間と端部エリア到達タイムとから通過したばかりのルートのラップタイムを計算する（ステップＳ５４６）。より詳細には、ＣＰＵ１１０は、現在のタイマの時間と端部エリア到達タイムと通信端末３００の現在の位置と端部エリアに到達した際の通信端末３００の位置とに基づいて、通信端末３００がルートの境界に到達した時間を計算することによってラップタイムを補正してもよい。
【０１０８】
ＣＰＵ１１０は、端部フラグをＯＦＦにするとともに、タイマをリセットする（ステップＳ１４８）。より詳細には、補正後のラップタイムに基づいて、新たなルートに入った瞬間からの現在までの時間によってタイマの値を補正してスタートさせてもよい。なお、端部フラグは、ルート毎または周回毎に準備されてもよいし、ＣＰＵ１１０がステップＳ１４８においてレースに共通の端部フラグをＯＦＦしてもよい。
【０１０９】
ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に通過したばかりのルートのラップタイムを送信する（ステップＳ１５０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
＜第６の実施の形態＞
【０１１０】
第１および第２の実施の形態においては、ルート毎にスタートエリアとゴールエリアとが設定されるものであった。しかしながら、このような構成には限られない。
【０１１１】
本実施の形態においては、図２８に示すように、各コースは、複数のルート毎の情報とを含む。
【０１１２】
以下では、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理について説明する。サーバ１００や通信端末３００の構成や通信端末３００の情報処理などについては第１の実施の形態のそれらと同様であるためここでは説明を繰り返さない。図２９は、本実施の形態にかかるサーバ１００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【０１１３】
図２９を参照して、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、通信端末３００から現在位置情報を受信する（ステップＳ１１２）。ＣＰＵ１１０は、通信端末３００の識別情報から通信端末３００のユーザに指定されたコースを特定し、通信端末３００の現在位置から通信端末３００が位置するルートを特定する（ステップＳ１１４）。
【０１１４】
ＣＰＵ１１０は、通信端末３００の現在位置と、ルートの境界を示す情報とに基づいて、通信端末３００がルートの境界から所定の距離以内に位置するか否かを判断する（ステップＳ６２２）。通信端末３００がルートの境界から所定の距離以内に位置する場合（ステップＳ６２２においてＹＥＳである場合）、ＣＰＵ１１０は、コースに関する情報に基づいて、当該コースが通信端末３００が現在走行中のルートの続きのルートを有するか否かを判断する（ステップＳ１２４）。
【０１１５】
当該コースが現在のルートの続きのルートを有しない場合（ステップＳ１２４においてＮＯである場合）、ＣＰＵ１１０は、タイマの時間に基づいて、通信端末３００の当該ルートのラップタイムを取得する（ステップＳ１２６）。ＣＰＵ１１０は、当該コースに関するそれまでのラップタイムの合計からレースの合計タイムを取得する（ステップＳ１２８）。ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に当該ルートのラップタイムと当該レースのレースタイムとを送信する（ステップＳ１３０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【０１１６】
通信端末３００がルートの境界から所定の距離以内に位置しない場合（ステップＳ６２２においてＮＯである場合）、あるいは当該コースが現在のルートの続きのルートを有する場合（ステップＳ１２４においてＹＥＳである場合）、ＣＰＵ１１０は、通信端末３００の前回の位置から今回の位置の間にルートの境界があるか否かを判断する（ステップＳ６４４）。
【０１１７】
通信端末３００の前回の位置から今回の位置の間にルートの境界がある場合（ステップＳ６４４においてＹＥＳである場合）、ＣＰＵ１１０は、現在のタイマの時間と通信端末３００の現在の位置と前回のタイマの時間と通信端末３００の前回の位置とに基づいて、通信端末３００がルートの境界を通過したラップタイムを計算する（ステップＳ６４６）。
【０１１８】
ＣＰＵ１１０、タイマをリセットする（ステップＳ１４８）。より詳細には、補正後のラップタイムに基づいて、新たなルートに入った瞬間からの現在までの時間によってタイマの値を補正してスタートさせてもよい。
【０１１９】
ＣＰＵ１１０は、通信インターフェイス１６０を介して通信端末３００に通過したばかりのルートのラップタイムを送信する（ステップＳ１５０）。ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
【０１２０】
通信端末３００の前回の位置から今回の位置の間にルートの境界がない場合（ステップＳ６４４においてＮＯである場合）、ＣＰＵ１１０は、次の通信端末３００から現在位置情報を待ち受ける。
＜第７の実施の形態＞
【０１２１】
第１から第６の実施の形態においては、サービス側が事前にコースに関する情報、たとえばコースに含まれるルート毎の情報などを登録しておき、ユーザが参加するレースを選択するものであった。しかしながら、このような構成には限られない。
【０１２２】
たとえば、ユーザが、通信端末３００を介して、複数のルートを選択して、ルート毎の周回数を設定することによってサービスに自分のコースを登録してから、スタートしてもよい。
【０１２３】
あるいは、レース用に登録されているルートを利用せずに、地図アプリケーションなどを利用してルート自体をユーザが設計してサービスに登録してもよい。たとえば、図３０に示すように、ユーザが通信端末３００に、コースに含まれる複数のルート毎のルートの座標やルートの周回数を入力してもよい。この場合は、通信端末３００が当該データをサーバ１００に送信する。そして、サーバ１００が当該データをラップタイムの計算ができるように変換するものであってもよい。
＜第８の実施の形態＞
【０１２４】
第１から第７の実施の形態においては、通信端末３００が現在位置情報をサーバ１００にアップロードして、サーバ１００が通信端末３００の現在走行中のルートを特定したりルート毎のラップタイムを計算したりして、通信端末３００が計算結果に基づいて地図上に通信端末３００の現在位置やラップタイムを表示するものであった。しかしながら、第１〜第７の実施の形態のネットワークシステム１の各装置の役割の一部または全部を他の装置が実行してもよい。
【０１２５】
たとえば、サーバ１００が通信端末３００の役割の一部を担ったりしてもよい。より詳細には、ＡＳＰ型のサービスのように、通信端末３００はブラウザソフトを利用してサーバ１００にアクセスし、サーバ１００が、地図上に通信端末３００の現在位置やラップタイムを表示するＷｅｂページを通信端末３００に提供してもよい。
【０１２６】
逆に、サーバ１００の役割の一部または全部をクラウド上の複数の装置が担ったり、通信端末３００がサーバ１００の役割の一部または全部を担ったりしてもよい。
【０１２７】
以下では、通信端末３００が通信端末３００の現在のルートを特定したり、ルート毎のラップタイムを計測したりする形態に関して、通信端末３００におけるラップタイム取得に関する情報処理について説明する。サーバ１００や通信端末３００の構成などについては第１の実施の形態のそれらと同様であるためここでは説明を繰り返さない。図３１は、本実施の形態にかかる通信端末３００におけるラップタイム取得に関する情報処理を示すフローチャートである。
【０１２８】
図３１を参照して、通信端末３００のＣＰＵ３１０は、位置情報取得部３７０を介して現在位置情報を取得する（ステップＳ８１２）。ＣＰＵ３１０は、現在の参加レースとして登録されているコースを特定し、通信端末３００の現在位置から通信端末３００が走行中するルートを特定する（ステップＳ８１４）。
【０１２９】
ＣＰＵ３１０は、通信端末３００の現在位置と、ルートのスタートエリアを示す情報やルートのゴールエリアを示す情報に基づいて、通信端末３００がルートの中間に位置するか否かを判断する（ステップＳ８１６）。すなわち、ＣＰＵ３１０は、通信端末３００が、ルートのスタートエリアやゴールエリアに位置していないか否かを判断する。
【０１３０】
通信端末３００が、ルートの中間に位置する場合（ステップＳ８１６においてＹＥＳである場合）、ＣＰＵ３１０は、次の現在位置情報の取得タイミングまで待機する。
【０１３１】
通信端末３００がルートの中間位置に位置しない場合（ステップＳ８１６においてＮＯである場合）、ＣＰＵ３１０は、通信端末３００がルートのゴールエリアに位置するか否かを判断する（ステップＳ８２２）。通信端末３００がルートのゴールエリアに位置する場合（ステップＳ８２２においてＹＥＳである場合）、ＣＰＵ３１０は、コースに関する情報に基づいて、当該コースが現在のルートの続きのルートを有するか否かを判断する（ステップＳ８２４）。
【０１３２】
当該コースが現在のルートの続きのルートを有しない場合（ステップＳ８２４においてＮＯである場合）、ＣＰＵ３１０は、タイマの時間に基づいて、通信端末３００の当該ルートのラップタイムを取得する（ステップＳ８２６）。ＣＰＵ３１０は、当該コースに関するそれまでのラップタイムの合計からレースの合計タイムを取得する（ステップＳ８２８）。ＣＰＵ３１０は、ディスプレイ３３０を介して、当該ルートのラップタイムと当該レースのレースタイムとを地図上に表示する（ステップＳ８３０）。ＣＰＵ３１０は、次の現在位置情報の取得タイミングまで待機する。
【０１３３】
当該コースが現在のルートの続きのルートを有する場合（ステップＳ８２４においてＹＥＳである場合）、ＣＰＵ３１０は、メモリ１２０のゴールフラグをＯＮする（ステップＳ８３２）。ＣＰＵ３１０は、タイマの時間に基づいて通信端末３００のゴールエリアへの到達タイムを記憶する（ステップＳ８３４）。ＣＰＵ３１０は、次の現在位置情報の取得タイミングまで待機する。
【０１３４】
通信端末３００がルートのゴールエリアに位置しない場合（ステップＳ８２２においてＮＯである場合）、ＣＰＵ３１０は、通信端末３００がルートのスタートエリアに位置するか否かを判断する（ステップＳ８４２）。通信端末３００がルートのスタートエリアに位置する場合（ステップＳ８４２においてＹＥＳである場合）、ＣＰＵ３１０は、ゴールフラグがＯＮであるか否かを判断する（ステップＳ８４４）。
【０１３５】
ゴールフラグがＯＮである場合（ステップＳ８４４においてＹＥＳである場合）、ＣＰＵ３１０は、タイマの時間とゴールエリア到達タイムとから通過したばかりのルートのラップタイムを計算する（ステップＳ８４６）。より詳細には、ＣＰＵ３１０は、現在のタイマの時間とゴールエリア到達タイムと現在の位置とゴールエリアに到達した際の現在位置とに基づいて、通信端末３００がゴールエリアとスタートエリアの境界に到達した時間を計算することによってラップタイムを補正してもよい。
【０１３６】
ＣＰＵ３１０、タイマをリセットする（ステップＳ８４８）。より詳細には、補正後のラップタイムに基づいて、新たなルートに入った瞬間からの現在までの時間によってタイマの値を補正してスタートさせてもよい。なお、ゴールフラグは、ルート毎または周回毎に準備されてもよいし、ＣＰＵ３１０がステップＳ８４８においてレースに共通のゴールフラグをＯＦＦしてもよい。
【０１３７】
ＣＰＵ３１０は、ディスプレイ３３０を介して、地図上に通信端末３００に通過したばかりのルートのラップタイムを送信する（ステップＳ８５０）。ＣＰＵ３１０は、次の現在位置情報の取得タイミングまで待機する。
【０１３８】
通信端末３００がルートのスタートエリアに位置しない場合（ステップＳ８４２においてＮＯである場合）、またはゴールフラグがＯＮでなかった場合（ステップＳ８４４においてＮＯである場合）、ＣＰＵ３１０は、ラップタイムの計測に関するエラー情報を出力する（ステップＳ８５２）。ＣＰＵ３１０は、次の現在位置情報の取得タイミングまで待機する。
＜その他の応用例＞
【０１３９】
本発明の一態様は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明の一態様を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体（あるいはメモリ）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の一態様の効果を享受することが可能となる。
【０１４０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明の一態様を構成することになる。
【０１４１】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１４２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
＜上記の複数の実施の形態のまとめ＞
【０１４３】
上記の第１〜第８の実施の形態においては、現在位置情報を取得することが可能な端末３００と、端末３００の現在位置情報に基づいて、複数のルートを含むコースのうちの端末３００が移動中のルートを特定し、当該ルートにかかった時間を測定するためのサーバ１００と、を備えるネットワークシステム１が提供される。
【０１４４】
好ましくは、複数のルートの各々は当該ルートの終わりの部分の第１のエリアが指定されている。サーバ１００は、端末３００が第１のエリアに入った場合に、続きのルートがない場合は、第１のエリアに入ったときに、当該ルートにかかった時間を特定し、続きのルートがある場合は、第１のエリアを出たとき又は次のルートに入ったときに、当該ルートにかかった時間を特定する。
【０１４５】
好ましくは、コースは、複数のルートとして、少なくとも１つの周回する第１のルートと、少なくとも１つの周回しない第２のルートと、を含む。サーバ１００は、かかった時間としての第１のルートの周回毎のラップタイムと、第２のルートにかかった時間とを測定する。
【０１４６】
好ましくは、複数のルートの各々は当該ルートの始まりの部分の第２のエリアが指定されている。サーバ１００は、端末が第２のエリアに入った際に、当該ルートにかかった時間の測定を開始する。
【０１４７】
好ましくは、サーバ１００は、端末３００の位置とルートの位置の少なくともいずれかをメッシュ化することによって、端末３００のルート上の位置を特定する。
【０１４８】
この発明の別の局面に従うと、複数の端末３００と通信するための通信インターフェイス１６０と、複数のルートを含むコースのデータを記憶するためのメモリと、通信インターフェイス１６０を介して端末３００の現在位置情報を取得し、端末３００が移動中のルートを特定し、端末３００のルートにかかった時間を測定するためのプロセッサ１１０と、を備えるサーバ１００が提供される。
【０１４９】
この発明の別の局面に従うと、プロセッサ１１０が、通信インターフェイス１６０を介して端末３００の現在位置情報を取得するステップと、プロセッサ１１０が、複数のルートを含むコースのデータに基づいて、端末３００が移動中のルートを特定するステップと、プロセッサ１１０が、端末３００のルートにかかった時間を測定するステップと、を備えるサーバ１００における情報処理方法が提供される。
【０１５０】
この発明の別の局面に従うと、端末３００が提供される。端末３００は、複数のルートを含むコースのデータを記憶するためのメモリ３２０と、端末３００の現在位置情報を取得するための位置情報取得部３７０と、複数のルートを含むコースのデータに基づいて、端末３００の現在のルートを特定し、当該ルートにかかった時間を測定するためのプロセッサ３１０と、を備える。
【０１５１】
この発明の別の局面に従うと、端末３００のためのプログラムが提供される。プログラムは、端末３００の現在位置情報を取得するステップと、複数のルートを含むコースのデータに基づいて、端末３００の現在のルートを特定するステップと、ルートにかかった時間を測定するステップと、をプロセッサ３１０に実行させる。
【０１５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５３】
１        ：ネットワークシステム
１００    ：サーバ
１１０    ：ＣＰＵ（プロセッサ）
１２０    ：メモリ
１２１    ：レース情報データベース
１２２    ：ルート情報データベース
１２３    ：現在位置情報データベース
１６０    ：通信インターフェイス
３００    ：通信端末
３００Ａ  ：通信端末
３００Ｂ  ：通信端末
３００Ｃ  ：通信端末
３１０    ：ＣＰＵ（プロセッサ）
３２０    ：メモリ
３３０    ：ディスプレイ
３４０    ：操作部
３５０    ：タッチパネル
３６０    ：通信インターフェイス
３７０    ：位置情報取得部
３８０    ：加速度センサ
【図１】
2018059880.tif 000003
【図２】
2018059880.tif 000004
【図３】
2018059880.tif 000005
【図４】
2018059880.tif 000006
【図５】
2018059880.tif 000007
【図６】
2018059880.tif 000008
【図７】
2018059880.tif 000009
【図８】
2018059880.tif 000010
【図９】
2018059880.tif 000011
【図１０】
2018059880.tif 000012
【図１１】
2018059880.tif 000013
【図１２】
2018059880.tif 000014
【図１３】
2018059880.tif 000015
【図１４】
2018059880.tif 000016
【図１５】
2018059880.tif 000017
【図１６】
2018059880.tif 000018
【図１７】
2018059880.tif 000019
【図１８】
2018059880.tif 000020
【図１９】
2018059880.tif 000021
【図２０】
2018059880.tif 000022
【図２１】
2018059880.tif 000023
【図２２】
2018059880.tif 000024
【図２３】
2018059880.tif 000025
【図２４】
2018059880.tif 000026
【図２５】
2018059880.tif 000027
【図２６】
2018059880.tif 000028
【図２７】
2018059880.tif 000029
【図２８】
2018059880.tif 000030
【図２９】
2018059880.tif 000031
【図３０】
2018059880.tif 000032
【図３１】
2018059880.tif 000033