(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、図面を参照し、本発明のプログラム、および端末装置の制御方法の実施形態について説明する。本実施形態のプログラムは、端末装置にインストールされ、端末装置のプロセッサによって実行される。プログラムは、いわゆるアプリケーションプログラムである。端末装置のプロセッサは、このプログラムを実行することにより、用途に応じた処理を行いつつ、通信装置を用いてサーバ装置に端末装置の位置情報を送信する。位置情報の送信は、プログラムが表示画面を制御しているフォアグラウンド状態だけでなく、プログラムがバックグラウンドで動作しているバックグラウンド状態でも行われてよい。実施形態では、これらの双方の状態を「起動状態」と称する。
【0010】
プログラムは、位置情報をサーバ装置に送信させる際に、特定の他プログラムと重複して位置情報を送信しないように端末装置を制御する。特定の他プログラムとは、以下に説明するように、例えば、上記のサーバ装置に位置情報を送信するプログラムである。このように、重複する位置情報をサーバ装置に送信しないようにすることにより、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【0011】
<第1の実施形態>
<1.情報処理システムの構成>
図1は、情報処理システム1の構成を示す図である。情報処理システム1は、例えば、一以上の端末装置10と、一以上のサーバ装置100と、一以上の情報提供サーバ装置200とを備える。これらの構成要素は、互いにネットワークNWを介して通信する。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダなどを含む。
【0012】
サーバ装置100は、例えば制御部102と、記憶部104とを備える。制御部102は、CPU(Central Processing Unit)などのハードウェアプロセッサが、記憶部104に記憶されたプログラム(ソフトウェア)を実行することにより実現される。制御部102は、LSI(Large Scale Integrated Circuit)や、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェア(回路部;circuitryを含む)の協働によって実現されてもよい。記憶部104は、例えば、例えば、NAS(Network Attached Storage)、HDD(Hard Disk Drive)、フラッシュメモリ、RAM(Random Access Memory)等によって実現される。
【0013】
制御部102は、端末装置10により送信された依頼に対して、所定の処理を実行し、依頼に対する応答情報を生成し、生成した応答情報を端末装置10に送信する。記憶部104には、制御部102により実行されるプログラムや情報提供サーバ装置200により送信された情報等が記憶されている。
【0014】
情報提供サーバ装置200は、例えば、公共交通機関の交通情報を提供するサーバ装置や、気象情報を提供するサーバ装置である。
【0015】
<2.端末装置の構成>
図2は、アプリケーションプログラムがインストールされた端末装置10の構成の一例を示す図である。端末装置10は、例えば、プロセッサ12、ROM20、RAM22、フラッシュメモリなどの二次記憶装置30、無線通信モジュール40、位置測位装置42、およびタッチパネル44を備える。これらの構成要素は、内部バスあるいは専用通信線によって互いに接続されている。
【0016】
プロセッサ12は、CPUなどのハードウェアプロセッサである。プロセッサ12は、例えば、端末制御部14と、第1処理部16と、第2処理部18とを実現する。これらの機能部は、プロセッサ12が、ROM20、RAM22、または二次記憶装置30に記憶されたプログラム(ソフトウェア)を実行することにより実現される。端末制御部14は、無線通信モジュール40、位置測位装置42、およびタッチパネル44などを制御する。
【0017】
以下、一例として、後述する乗換アプリ32−1が実行されることで第1処理部16が実現され、後述するお天気アプリ32−2が実行されることで後述する第2処理部18が実現されることを前提として説明する。なお、第3処理部、第4処理部、…のように、より多くの処理部が実現されてもよい。例えば、上記のアプリは、位置測位装置42により取得された位置情報をサーバ装置100に所定間隔ごとに送信する処理を実行するプログラムである。
【0018】
<3.第1処理部>
第1処理部16は、例えば、二次記憶装置30に記憶された乗換アプリ32−1が実行されることにより実現される。第1処理部16は、例えば、端末装置10が存在する領域の公共交通機関の運行情報を含むインターフェース画面をタッチパネル44の表示部に表示させたり、インターフェース画面を介して入力された目的地情報を処理し、現在地(或いは出発地)から目的地までの経路を含むインターフェース画面をタッチパネル44の表示部に表示させたりする。
【0019】
第1処理部16は、例えば、現在地(或いは出発地)から目的地までの情報をサーバ装置100に送信し、現在地から目的地までの経路の検索をサーバ装置100に依頼する。そして、第1処理部16は、サーバ装置100から検索結果を取得し、取得した検索結果を表示部に表示させる。また、例えば、乗換アプリ32−1が起動状態になると、第1処理部16は、位置測位装置42により取得された位置情報をサーバ装置100に送信させる処理を開始する。
【0020】
ただし、第1処理部16は、特定の他プログラム(例えばお天気アプリ32−2)がサーバ装置100に位置情報を送信している場合、位置情報をサーバ装置100に送信する処理を行わない。詳細は後述する。
【0021】
<4.第2処理部>
第2処理部18は、二次記憶装置30に記憶されたお天気アプリ32−2が実行されることにより実現される。第2処理部18は、端末装置10が存在する領域の気象情報や、その領域に雨雲が接近していることを示す情報を含むインターフェース画面をタッチパネル44の表示部に表示させたり、インターフェース画面を介して入力された情報を処理したりする。
【0022】
第2処理部18は、例えば、端末装置10が位置する領域の天気予報を送信するようにサーバ装置100に依頼する。そして、第2処理部18は、サーバ装置100から検索結果を取得し、取得した検索結果を表示部に表示させる。また、お天気アプリ32−2が起動状態になると、第2処理部18は、位置測位装置42により取得された位置情報をサーバ装置100に送信する処理を開始する。
【0023】
ただし、第2処理部18は、特定の他プログラムがサーバ装置100に位置情報を送信している場合、位置情報をサーバ装置100に送信する処理を行わない。
【0024】
<5.その他の構成>
無線通信モジュール40は、端末制御部14の制御に従って、ネットワークNWを介してサーバ装置100と通信する。
【0025】
位置測位装置42は、GPS(Global Positioning System)受信機を備える。位置測位装置42は、GPS受信機が衛星から受信した電波に基づく測位を行って、端末装置10の位置(すなわち利用者の位置)を特定する。また、端末装置10は、無線通信モジュール40が接続した無線基地局の位置から端末装置10の位置を推定してもよい。
【0026】
タッチパネル44は、利用者からの操作入力を受け付ける受付部と、情報を表示するディスプレイとを備える。
【0027】
<6.位置情報送信の調停について>
<6−1.他のプログラムが起動状態でない場合の処理>
図3は、端末装置10により実行される処理の内容を示すシーケンス図(その1)である。本処理では、例えば、第2処理部18は、位置情報をサーバ装置100に送信していない状態(起動していない状態)であるものとする。
【0028】
まず、利用者が端末装置10を操作することにより、乗換アプリ32−1が起動状態になる(S100)。次に、第1処理部16が、第2処理部18に位置情報を送信しているか否かを問い合わせる(S102)。すなわち、第2処理部18が、自プログラムの起動時に、特定の他プログラムが起動状態であるか否かを問い合わせる。「問い合わせる」とは、第2処理部18が設定する仮想的ポートに問い合わせ情報を出力することであり、より具体的には仮想的ポートを構成するRAM18の所定領域に問い合わせ情報を書き込むことである。
【0029】
次に、第1処理部16は、第2処理部18に問い合わせを行った結果、所定時間内に応答がなかった場合、自プログラムの起動時にお天気アプリ32−2が起動状態でないとみなす(S104)。次に、第1処理部16は、第2処理部18が位置情報を送信していないため、位置測位装置42から位置情報を取得し(S106)、取得した位置情報をサーバ装置100に送信する(S108)。
【0030】
上述したように、第1処理部16は、特定の他プログラムが位置情報を送信していない場合、サーバ装置100に位置情報を送信する。
【0031】
<6−2.他のプログラムが起動状態である場合の処理>
図4は、端末装置10により実行される処理の内容を示すシーケンス図(その2)である。本処理では、例えば、第2処理部18は、位置情報をサーバ装置100に送信している状態(起動状態)であるものとする。
【0032】
まず、利用者が端末装置10を操作することにより、乗換アプリ32−1が起動状態になる(S200)。次に、第1処理部16が、第2処理部18に位置情報を送信しているか否かを問い合わせる(S202)。すなわち、自プログラムの起動時に、第2処理部18が起動状態であるか否かを問い合わせる。次に、第2処理部18が、問い合わせに対する応答情報を生成し(S204)、生成した応答情報を第1処理部16に送信する(S206)。例えば、第2処理部18は、RAM18の所定領域を参照して応答情報を生成する。次に、第1処理部16が、第2処理部18から応答情報として位置情報をサーバ装置100に送信していることを示す情報を取得する(S208)。第1処理部16は、自プログラムの起動時に位置情報を送信するかを判定した結果、第2処理部18が位置情報を送信している場合、位置情報をサーバ装置100に送信する処理を行わない。
【0033】
上述したように、第1処理部16は、特定の他プログラムが位置情報を送信している場合、サーバ装置100に位置情報を送信しない。これにより、端末装置10の消費電力を抑制することができる。
【0034】
<7.その他>
また、第1処理部16または第2処理部18は、予め設定された優先度に基づいて、位置情報をサーバ装置100に送信するか否かを決定してもよい。優先度とは、位置情報をサーバ装置100に送信する優先度である。この場合、上述した
図4のシーケンス図のS206の処理において、第2処理部18は、予め設定された優先度を含めた応答情報を第1処理部16に送信する。第1処理部16は、第2処理部18により送信された優先度と、第1処理部16に対して予め設定された優先度とを比較する。第1処理部16は、第1処理部16の優先度が、第2処理部の優先度に比して高い場合、第2処理部18に位置情報の送信を中止するように依頼し、位置情報をサーバ装置100に送信する。これにより、優先度に応じて、位置情報がサーバ装置100に送信される。
【0035】
上記の優先度は、例えばプログラムにより位置情報が送信される送信周期に基づいて設定されてもよい。例えば、送信周期が短いプログラムは、送信周期が長いプログラムに比して、優先度が高く設定されてもよいし、これとは反対に優先度が低く設定されてもよい。また、優先度を第1処理部16および第2処理部18が定めてもよい。この場合、第1処理部16および第2処理部18が送信周期を送信し合うことにより、送信周期を設定する。
【0036】
また、優先度は、例えば、送信周期に応じた端末装置10の消費電力、およびサーバ装置100で利用する位置情報の粒度(精度)の一方または双方に基づいて設定されてもよい。例えば、優先度は、予め設定された基準に基づいて導出された、送信周期に応じた単位時間あたりの端末装置10の消費電力に対する第1スコアと、送信周期に応じた位置情報の粒度に対応する第2スコアとを統計処理して、スコアが高くなる方のプログラムに対して高く設定される。なお、第1スコアが高い程、消費電力が小さく、第2のスコアが高い程、位置情報の粒度が高い。また、例えば、第1処理部16、または第2処理部18が上記のスコアを導出して優先度を設定してもよい。これにより、端末装置10は、消費電力を抑制すると共に、実行されるプログラムで利用される位置情報に適した粒度で位置情報をサーバ装置100に送信することができる。
【0037】
<8.まとめ>
以上説明した第1の実施形態によれば、端末装置10は、プログラム間において通信を行うことによって、重複して位置情報をサーバ装置100に送信することを抑制するため、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【0038】
<9.第2の実施形態>
以下、第2の実施形態について説明する。第1の実施形態では、第1処理部16が、第2処理部18と通信を行って、位置情報をサーバ装置100に送信するか否かを判定するものした。第2の実施形態では、第1処理部16が、二次記憶装置30Aに設けられた共通記憶領域に記憶された情報に基づいて、位置情報をサーバ装置100に送信するか否かを判定する。以下、この点を中心に説明する。
【0039】
<10.第2の実施形態の端末装置の構成>
図5は、第2の実施形態の端末装置10Aの機能構成を示す図である。第2の実施形態の端末装置10Aは、第1の実施形態の端末装置10の二次記憶装置30に代えて、二次記憶装置30Aを備える。二次記憶装置30Aは、乗換アプリ32−1、お天気アプリ32−2に加え、更に共通領域34を備える。共通領域34とは、第1処理部16と第2処理部18との双方が、情報を書き可能、および参照可能な領域である。
【0040】
<11.共通領域に記憶される情報>
図6は、共通領域34に記憶されるプログラムの状態情報の内容の一例を示す図である。共通領域34には、プログラムの種別に対して、そのプログラムが起動状態であるか否かを示す情報と、位置情報をサーバ装置100に送信しているか否かを示す情報等が対応付けられて記憶されている。例えば、乗換アプリ32−1が起動状態になると、第1処理部16が、乗換アプリ32−1が起動したことを示す情報を共通領域34に記憶させ、その後、位置情報をサーバ装置100に送信すると、位置情報の送信を開始したことを示す情報を共通領域34に記憶させる。
【0041】
第1処理部16または第2処理部18は、共通領域34に記憶された情報を参照し、他方の処理部が位置情報をサーバ装置100に送信しているか否かを判定する。
【0042】
<12.第2の実施形態の端末装置の処理>
図7は、第2の実施形態の端末装置10Aにより実行される処理の内容を示すシーケンス図である。本処理では、お天気アプリ32−2が起動状態になった後に、乗換アプリ32−1が起動した場合の処理について説明する。
【0043】
まず、利用者が端末装置10Aを操作することにより、お天気アプリ32−2が起動状態になる(S300)。次に、第2処理部18が、お天気アプリ32−2が起動状態になったことを示す情報を、共通領域34に記憶させる(S302)。次に、第2処理部18が、位置測位装置42から位置情報を取得し(S304)、取得した位置情報をサーバ装置100に送信する(S306)。次に、第2処理部18が、位置情報を送信したことを示す情報を、共通領域34に記憶させる(S308)。
【0044】
次に、利用者が端末装置10Aを操作することにより、乗換アプリ32−1が起動状態になる(S310)。次に、第1処理部16が、共通領域34に記憶された情報を参照して、特定の他プログラムが起動状態であり、位置情報をサーバ装置100に送信しているか否かを判定する(S312)。本処理のように第2処理部18が、既に位置情報を送信していることを示す情報が共通領域34に記憶されている場合、第1処理部16は、位置情報をサーバ装置100に送信しない。位置情報を送信していることを示す情報が共通領域34に記憶されていない場合、第1処理部16は、位置情報をサーバ装置100に送信する。
【0045】
上述したように、第1処理部16は、特定の他プログラムが起動状態である場合、位置情報を送信する処理を行わないため、端末装置10の位置情報をサーバ装置100に送信する際の処理負荷や通信負荷を抑制することができる。
【0046】
<13.その他>
また、第1処理部16または第2処理部18は、予め設定された優先度に基づいて、位置情報をサーバ装置100に送信してもよい。この場合、端末装置10Aには、共通領域34Aが設けられる。
図8は、共通領域34Aに記憶されるプログラムの状態情報の内容の一例を示す図である。共通領域34Aには、共通領域34に記憶された情報に加えて、プログラムの種別に対して、位置情報を送信する優先度等が対応付けられて記憶されている。例えば、第1処理部16は、共通領域34Aに記憶された情報を参照し、乗換アプリ32−1に設定された優先度に比して高い優先度が設定されたプログラムが起動状態である場合、位置情報を送信する処理を実行しない。これに対して、第1処理部16は、乗換アプリ32−1に設定された優先度に比して低い優先度が設定されたプログラムが起動状態である場合、低い優先度が設定されているプログラムに依頼して位置情報の送信を停止させる。そして、第1処理部16が位置情報をサーバ装置100に送信する。
【0047】
<14.まとめ>
以上説明した第2の実施形態によれば、端末装置10Aは、共通領域34を参照することにより、第1の実施形態が奏する効果と同様の効果を奏することができる。
【0048】
<15.第3の実施形態>
以下、第3の実施形態について説明する。第2の実施形態では、共通領域が二次記憶装置30Aに設けられるものとした。第3の実施形態では、共通領域がサーバ装置100の記憶部104に設けられる。以下、この点を中心に説明する。
【0049】
<16.第3の実施形態のサーバ装置の構成>
第3の実施形態では、サーバ装置100の記憶部104に共通領域106が設けられる。
図9は、共通領域106に記憶される情報の内容の一例を示す図である。共通領域106には、端末装置10ごとのプログラムの状態情報が記憶されている。
【0050】
<17.第3の実施形態の端末装置の処理>
図10は、第3の実施形態の端末装置10により実行される処理の内容を示すシーケンス図である。まず、利用者が端末装置10を操作することにより、お天気アプリ32−2が起動状態となる(S400)。次に、第2処理部18が、サーバ装置100の共通領域106にアクセスして、端末装置10の特定の他プログラムの状態情報を取得する(S402)。特定の他プログラムが起動状態でない場合(またはプログラムが置情報を送信していない場合)、第2処理部18は、位置測位装置42から位置情報を取得し(S404)、取得した位置情報、および端末装置10の識別情報をサーバ装置100に送信する(S406)。次に、サーバ装置100が、位置情報を取得し、更に共通領域106に端末装置10のお天気アプリ32−2が位置情報を送信していることを示す情報を記憶させる(S408)。
【0051】
次に、乗換アプリ32−1が起動状態になると(S410)、第1処理部16が、サーバ装置100の共通領域106にアクセスして、端末装置10の特定の他プログラムの状態情報を取得する(S412)。本処理のように第2処理部18が、既に位置情報を送信していることを示す情報が共通領域106に記憶されている場合、第1処理部16は、位置情報をサーバ装置100に送信しない。位置情報を送信していることを示す情報が共通領域106に記憶されていない場合、第1処理部16は、位置情報をサーバ装置100に送信する。
【0052】
<18.まとめ>
以上説明した第3の実施形態によれば、端末装置10は、共通領域106を参照することにより、第1の実施形態が奏する効果と同様の効果を奏することができる。
【0053】
<19.第4の実施形態>
以下、第4の実施形態について説明する。第3の実施形態では、第1処理部16が、サーバ装置100の共通領域106に記憶された情報を参照し、位置情報を送信する否かを判定するものとした。第4の実施形態では、第1処理部16または第2処理部18が、サーバ装置100に他の処理部が位置情報を送信しているか否かを問い合わせ、問い合わせ結果に基づいて位置情報を送信する否かを判定する。以下、この点を中心に説明する。
【0054】
<20.第4の実施形態のサーバ装置の構成>
第4の実施形態では、サーバ装置100の記憶部104には、端末装置10ごとに、端末装置10が位置情報を送信しているか否かを示す情報が記憶されている。
【0055】
第4の実施形態の制御部102は、端末装置10により位置情報が送信されているか否かの問い合わせに対して、記憶部104に記憶された情報を参照して、応答情報を端末装置10に返信する。
【0056】
図11は、第4の実施形態の端末装置10により実行される処理の内容を示すシーケンス図である。まず、利用者が端末装置10を操作することにより、お天気アプリ32−2が起動状態となる(S500)。次に、第2処理部18が、サーバ装置100に第1処理部16が位置情報を送信しているか否かを問い合わせる(S502)。
【0057】
次に、サーバ装置100の制御部102は、記憶部104に記憶された情報を参照して、第1処理部16が位置情報を送信しているか否かを示す情報を返信する(S504)。次に、第2処理部18は、第1処理部16が位置情報をサーバ装置100に送信していないことを示す情報を取得すると、位置測位装置42から位置情報を取得し(S506)、取得した位置情報をサーバ装置100に送信する(S508)。
【0058】
次に、乗換アプリ32−1が起動状態になると(S510)、第1処理部16が、サーバ装置100に第2処理部18が位置情報を送信しているか否かを問い合わせる(S512)。
【0059】
次に、サーバ装置100の制御部102は、記憶部104に記憶された情報を参照して、第2処理部18が位置情報を送信しているか否かを示す情報を返信する(S514)。第1処理部16が、既に第2処理部18により位置情報がサーバ装置100に送信されていることを示す情報を取得した場合、第1処理部16は、位置情報をサーバ装置100に送信しない。
【0060】
なお、サーバ装置100は、第2処理部18から予め設定された期間において位置情報を取得することができなかった場合、第1処理部16に位置情報を送信することを要求してもよい。これにより、第2処理部18の処理に不具合が生じたり、利用者の操作によって位置情報の送信が制限されたりした場合であっても、サーバ装置100は、端末装置10の位置情報を取得することができる。
【0061】
<21.まとめ>
以上説明した第4の実施形態によれば、端末装置10は、サーバ装置100に位置情報が送信されているか否かを問い合わせることにより、第1の実施形態が奏する効果と同様の効果を奏することができる。
【0062】
<22.第5の実施形態>
以下、第5の実施形態について説明する。第1〜4の実施形態では、乗換アプリ32−1およびお天気アプリ32−2が、1つの端末装置10に記憶されているものとした。これに対して、第5の実施形態では、乗換アプリ32−1と、天気アプリ32−2とが、異なる端末装置10に記憶され、異なる端末装置10間で位置情報の送信を調停する。第5の実施形態は、例えば、テザリング機能によって複数の端末装置10が通信し、親機に相当する端末装置10−1がサーバ装置100に位置情報を送信する際に実行される処理である。以下、この点を中心に説明する。
【0063】
<23.第5の実施形態の端末装置の機能構成>
図12は、第5の実施形態の情報処理システム1Aの機能構成を示す図である。情報処理システム1Aは、端末装置10に代えて、端末装置10−1および端末装置10−2を備える。
【0064】
図13は、端末装置10−1および端末装置10−2の機能構成を示す図である。端末装置10−1は、端末装置10のプロセッサ12および二次記憶装置30に代えて、プロセッサ12−1および二次記憶装置30−1を備える。また、端末装置10−1は、例えば端末装置10−2と短距離無線通信(例えばbluetooth(登録商標)を利用して無線通信を行う短距離無線通信部46−1を更に備える。なお、端末装置10−1と10−2とは、有線を用いて通信(例えばテザリング機能)を実現してもよい。
【0065】
プロセッサ12−1は、端末制御部14−1、および第1処理部16を備える。端末制御部14−1は、端末装置10−1を統合的に制御する。端末制御部14−1は、短距離無線通信部46−1を制御する。端末制御部14−1は、端末装置10−2からテザリングの実行の依頼を取得すると、親機として端末装置10−2から取得した情報をサーバ装置100に送信する。二次記憶装置30−1には、乗換アプリ32−1が記憶されている。
【0066】
端末装置10−2は、端末装置10のプロセッサ12および二次記憶装置30に代えて、プロセッサ12−2および二次記憶装置30−2を備える。また、端末装置10−2は、端末装置10−1と短距離無線通信を利用して無線通信を行う短距離無線通信部46−2を更に備える。
【0067】
プロセッサ12−2は、端末制御部14−2、および第2処理部18を備える。端末制御部14−2は、端末装置10−2を統合的に制御する。端末制御部14−2は、短距離無線通信部46−2を制御する。端末制御部14−2は、利用者の操作に応じてテザリングの実行の依頼を端末装置10−1に依頼する。二次記憶装置30−2には、お天気アプリ32−2が記憶されている。
【0068】
なお、
図13では、第1の実施形態の機能構成と同様の機能構成については同様の名称を付し、それぞれ第1の実施形態において付した符号の後に、ハイフンおよび端末装置を示す符号(「1」または「2」)を付している。
【0069】
<24.第5の実施形態の処理>
例えば、テザリング機能が適用されて、端末装置10−1が親機であり、端末装置10−2が子機である場合の処理について説明する。また、以下、乗換アプリ32−1が起動状態になった後に開始される処理について説明する。
【0070】
端末装置10−1の第1処理部16は、位置情報を送信する場合、第2処理部18に位置情報を送信しているか否かを問い合わせる。第1処理部16は、端末装置10−1を介して第2処理部18が位置情報をサーバ装置100に送信していることを示す応答情報を、第2処理部18から受信した場合、自装置で位置情報を取得せずに、自装置の位置情報をサーバ装置100に送信しない。第1処理部16は、端末装置10−1を介して第2処理部18が位置情報をサーバ装置100に送信していないことを示す応答情報を、第2処理部18から受信した場合、自装置で位置情報を取得し、自装置の位置情報をサーバ装置100に送信する。
【0071】
なお、上述した処理に代えて、第1処理部16は、端末装置10−1を介して第2処理部18が位置情報をサーバ装置100に送信していることを示す応答情報を、第2処理部18から受信した場合、第2処理部18に位置情報を送信することを停止させ、端末装置10−1の位置情報をサーバ装置100に送信してもよい。
【0072】
また、上述した例では、テザリングがされている場合の処理について説明したが、これに代えて、端末装置10−1と10−2とが連携している場合においても、所定期間の間、端末装置10−1または10−2のいずれか一方が位置情報を取得し、取得した位置情報をサーバ装置100に送信してもよい。連携とは、例えば端末装置10−1と10−2とが無線通信することによって行われたり、所定の情報が端末装置10に入力されたりした場合に行われる。
【0073】
また、連携した後に、端末装置10−1が、自装置の位置情報をサーバ装置100に送信している場合において、所定時間後に端末装置10−2から端末装置10−2の位置情報を取得し、取得した位置情報と、端末装置10−1の位置情報とが同一であるか否かを判定し、位置情報が同一である場合には、端末装置10−1または10−2とのうちいずれか一方の情報をサーバ装置100に送信してもよい。また、位置情報が異なる場合は、端末装置10−1および10−2がそれぞれ自装置の位置情報をサーバ装置100に送信する。
【0074】
<25.まとめ>
以上説明した第5の実施形態によれば、異なる端末装置間において、調停を行うことにより、第1の実施形態が奏する効果と同様の効果を奏することができる。
【0075】
<26.第6の実施形態>
以下、第6の実施形態について説明する。第5の実施形態では、端末装置10−1が、端末装置10−2に位置情報を送信しているかを問い合わせ、位置情報の送信を調停するものとした。これに対して、第6の実施形態では、端末装置10−1は、二次記憶装置30−1に共通領域を備え、共通領域に記憶された情報に基づいて、位置情報を送信する否かを判定する。以下、この点を中心に説明する。
【0076】
共通領域には、端末装置10−1を介して端末装置10−2が位置情報をサーバ装置100に送信しているか否かを示す情報が記憶されている。端末装置10−2の第2処理部18は、端末装置10−2が自装置の位置情報をサーバ装置100に送信していることを示す情報を端末装置10−1の共通領域に記憶させることを端末装置10−1に依頼する。端末装置10−1の端末制御部14−1は、上記の依頼に応じて、端末装置10−2の位置情報を共通領域に記憶する。
【0077】
乗換アプリ32−1が起動状態になった後、第1処理部16は、共通領域34に記憶された情報を参照することで、自装置を介して端末装置10−2が位置情報をサーバ装置100に送信しているか否かを判定する。テザリング機能によって端末装置10−2が位置情報をサーバ装置100に送信している場合、第1処理部16は、自装置の位置情報を取得せずに、位置情報をサーバ装置100に送信しない。テザリング機能によって端末装置10−2が位置情報をサーバ装置100に送信していない場合、第1処理部16は、自装置の位置情報を取得し、取得した位置情報をサーバ装置100に送信する。なお、第2処理部18も同様に、起動時に共通領域に記憶された情報に基づいて、サーバ装置100に位置情報を送信するか否かを決定する。
【0078】
<27.まとめ>
以上説明した第6の実施形態によれば、端末装置10は、共通領域34を参照することにより、第1の実施形態が奏する効果と同様の効果を奏することができる。
【0079】
<28.第7の実施形態>
以下、第7の実施形態について説明する。第6の実施形態では、共通領域が二次記憶装置30−1に設けられるものとした。第6の実施形態では、共通領域がサーバ装置100の記憶部104に設けられる。以下、この点を中心に説明する。
【0080】
図14は、共通領域106に記憶されるプログラムの状態情報の内容の一例を示す図である。共通領域106には、サービスIDごとのプログラムの状態情報が記憶されている。サービスIDは、サーバ装置100により提供されるサービスに対応する情報である。例えばサービスIDは、サーバ装置100にアクセスして、ログインする際に用いられる情報である。
【0081】
サーバ装置100の制御部102は、端末装置10−1または10−2から位置情報と、位置情報を送信しているプログラムの種別と、プログラムの起動状態と、サービスIDとを取得し、取得した情報をプログラムの状態情報として共通領域に記憶させる。
【0082】
<29.第7の実施形態の処理>
図15は、第7の実施形態の情報処理システム1により実行される処理の内容を示すシーケンス図である。本処理では、テザリング機能が適用され端末装置10−1が親機であり、端末装置10−2が子機であるものとする。
【0083】
まず、お天気アプリ32−2が起動状態になると、第2処理部18が、端末装置10−1を介して(S600)、サーバ装置100の共通領域にアクセスして、お天気アプリ32−2に対応するサービスIDと同じサービスIDを有するプログラムが位置情報を送信しているかを判定する(S602)。
【0084】
お天気アプリ32−2に対応するサービスIDと同じサービスIDを有するプログラムが位置情報を送信していない場合、第2処理部18は、端末装置10−1に端末装置10−2の位置情報、サービスID、およびプログラムの種別を送信する(S604)。次に、端末装置10−1は、端末装置10−2に送信された位置情報、サービスID、およびプログラムの種別をサーバ装置100に送信する(S606)。次に、サーバ装置100は、端末装置10−1に送信されたサービスID、およびプログラムの種別を共通領域に記憶させる(S608)。
【0085】
次に、乗換アプリ32−1が起動状態になると(S610)、第1処理部16が、サーバ装置100の共通領域にアクセスして、乗換アプリ32−1に対応するサービスIDと同じサービスIDを有する特定の他プログラムの状態情報を取得する(S612)。乗換アプリ32−1に対応するサービスIDと同じサービスIDを有する特定の他プログラムが起動状態である場合(またはプログラムが位置情報を送信している場合)、第1処理部16は、位置情報をサーバ装置100に送信しない。乗換アプリ32−1に対応するサービスIDと同じサービスIDを有する特定の他プログラムが起動状態でない場合(またはプログラムが位置情報を送信していない場合)、第1処理部16は、位置情報をサーバ装置100に送信する。
【0086】
<30.まとめ>
以上説明した第7の実施形態によれば、端末装置10は、共通領域106を参照することにより、第1の実施形態が奏する効果と同様の効果を奏することができる。
【0087】
<31.第7の実施形態の変形例1>
上記の第7の実施形態では、端末装置10が共通領域106にアクセスして、他の端末装置10が位置情報を送信しているか否かを判定するものとしたが、これに代えて端末装置10が、サーバ装置100に同様のサービスIDに対応付けられた位置情報を送信しているか否かを問い合わせてもよい。この場合、サーバ装置100は、問い合わせに応じて応答情報を端末装置10に返信する。
【0088】
<32.第7の実施形態の変形例2>
また、上記の例では、サービスIDがサーバ装置100に送信されるものとして説明したが、これに代えて(または加えて)サービスIDとは異なるIDがサーバ装置100に送信されてもよい。異なるIDとは、例えば端末装置10−1と端末装置10−2との間でテザリングが成立した場合に、設定されるテザリング情報である。
【0089】
<33.その他>
上述した実施形態では、第1処理部16が、位置情報を送信するか否かを決定する処理を中心に説明したが、第2処理部18も、第1処理部16と同等の処理を行い、位置情報を送信するか否かを決定する。
【0090】
また、サーバ装置100は、複数の同じ位置情報を所定期間以内に取得した場合、それらの位置情報を送信している端末装置10のうち、1つの端末装置10に位置情報を送信させ、他の端末装置10には位置情報を送信しないように指示してもよい。
【0091】
また、サーバ装置100は、同じIPアドレスが付与された複数の位置情報を所定期間以内に取得した数に基づいて、調停処理を行ってもよい。例えば、サーバ装置100は、同じIPアドレスが付与された複数の位置情報を所定期間以内に取得した数が所定数(例えば5)以下の場合、例えばそれらの位置情報を送信している端末装置10を1つのグループとみなし、グループとみなした端末装置のうち、1つの端末装置10に位置情報を送信することを要求し、他の端末装置10には位置情報を送信する必要がないことを示す情報を送信する。同じIPアドレスが付与された複数の位置情報を所定期間以内に取得した数が所定数以下の場合、家庭用または個人用として使用されているルータであり、個人的にそのルータを使用している可能性が高いためである。また、上記の例において、IPアドレスが同じであることに加え、位置情報が同じ(所定の範囲内)であることが条件とされてもよい。
【0092】
以上説明した実施形態によれば、プログラムは、端末装置の位置情報をサーバ装置に送信する処理を実行させ、起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、起動状態である場合、自プログラムと特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させることにより、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【0093】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【解決手段】本発明の一態様は、端末装置に、前記端末装置の位置情報をサーバ装置に送信する処理を実行させ、起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させるプログラムである。