(57)【要約】【課題】端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制する。【解決手段】本発明の一態様は、端末装置に、前記端末装置の位置情報をサーバ装置に送信する処理を実行させ、起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させるプログラムである。【選択図】図２
2019020941.tif 000002
【特許請求の範囲】
【請求項１】
端末装置に、
前記端末装置の位置情報をサーバ装置に送信する処理を実行させ、
起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
プログラム。
【請求項２】
前記端末装置に、前記決定させる際に、
前記特定の他プログラムが起動状態であるか否かを問い合わせ先に問い合わせさせ、問い合わせ結果に基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項１に記載のプログラム。
【請求項３】
前記問い合わせ先は、前記特定の他プログラム、またはサーバ装置である、
請求項２に記載のプログラム。
【請求項４】
前記端末装置に、前記決定させる際に、
自プログラムと前記特定の他プログラムとの双方が参照可能な共通領域を参照させ、
前記特定の他プログラムが起動状態であることを示す情報が前記共通領域に記憶されているか否かに基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項１に記載のプログラム。
【請求項５】
前記共通領域は、前記端末装置、または前記サーバ装置の記憶装置に設けられる、
請求項４に記載のプログラム。
【請求項６】
前記端末装置に、前記決定させる際に、
前記特定の他プログラムが前記起動状態である場合、自プログラムが前記端末装置の位置情報を送信しないと決定させる、
請求項１から５のうちいずれか１項に記載のプログラム。
【請求項７】
前記端末装置に、
自プログラムの起動時に、前記特定の他プログラムが前記起動状態であるか否かを判定させる、
請求項６に記載のプログラム。
【請求項８】
前記端末装置に、前記決定させる際に、
前記特定の他プログラムが前記起動状態である場合、前記特定の他プログラムおよび自プログラムに対して、それぞれ設定された優先度に基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項１から５のうちいずれか１項に記載のプログラム。
【請求項９】
前記端末装置に、
自プログラムの起動時に、前記優先度に基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項８に記載のプログラム。
【請求項１０】
前記端末装置に、
自プログラムに設定された優先度が、前記特定の他プログラムに設定された優先度に比して高い場合、前記特定の他プログラムに端末装置の位置情報を送信しないように指示する、
請求項８または請求項９に記載のプログラム。
【請求項１１】
前記特定の他プログラムは、自プログラムと同じ端末装置により実行されるプログラムである、
請求項１から１０のうちいずれか１項に記載のプログラム。
【請求項１２】
前記特定の他プログラムは、自プログラムとは異なる端末装置であって、自プログラムが実行される端末装置にテザリング機能を提供する、または前記端末装置からテザリング機能の提供を受ける端末装置により実行されるプログラムである、
請求項１から１０のうちいずれか１項に記載のプログラム。
【請求項１３】
端末装置が、
前記端末装置の位置情報をサーバ装置に送信する処理を実行し、
起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定する、
端末装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、および端末装置の制御方法に関する。
【背景技術】
【０００２】
従来、発言者の送信元携帯端末機が、位置情報通知サービスシステムから間欠的に自装置の位置情報データを取得するステップと、受信者の送信元携帯端末機が、送信の開始タイミングで、取得した自装置の位置情報データをサーバに送信するステップと、送信先携帯端末機が、位置情報データを受信したサーバから、セッション確立のタイミングで当該位置情報データを受信するステップと、送信先携帯端末機が、発言者を判別するために、位置情報データに基づいて、送信元携帯端末機の現在位置情報を画面上に表示するステップと有することを特徴とする通話方法が開示されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８３５８７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術では、位置情報をサーバ装置に送信する際の効率性について考慮されていない。
【０００５】
本発明は、このような事情を考慮してなされたものであり、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができるプログラム、および端末装置の制御方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、端末装置に、前記端末装置の位置情報をサーバ装置に送信する処理を実行させ、起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させるプログラムである。
【発明の効果】
【０００７】
本発明の一態様によれば、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システム１の構成を示す図である。
【図２】アプリケーションプログラムがインストールされた端末装置１０の構成の一例を示す図である。
【図３】端末装置１０により実行される処理の内容を示すシーケンス図（その１）である。
【図４】端末装置１０により実行される処理の内容を示すシーケンス図（その２）である。
【図５】第２の実施形態の端末装置１０Ａの機能構成を示す図である。
【図６】共通領域３４に記憶されるプログラムの状態情報の内容の一例を示す図である。
【図７】第２の実施形態の端末装置１０Ａにより実行される処理の内容を示すシーケンス図である。
【図８】共通領域３４Ａに記憶されるプログラムの状態情報の内容の一例を示す図である。
【図９】共通領域１０６に記憶される情報の内容の一例を示す図である。
【図１０】第３の実施形態の端末装置１０により実行される処理の内容を示すシーケンス図である。
【図１１】第４の実施形態の端末装置１０により実行される処理の内容を示すシーケンス図である。
【図１２】第５の実施形態の情報処理システム１Ａの機能構成を示す図である。
【図１３】端末装置１０−１および端末装置１０−２の機能構成を示す図である。
【図１４】共通領域１０６に記憶されるプログラムの状態情報の内容の一例を示す図である。
【図１５】第７の実施形態の情報処理システム１により実行される処理の内容を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、本発明のプログラム、および端末装置の制御方法の実施形態について説明する。本実施形態のプログラムは、端末装置にインストールされ、端末装置のプロセッサによって実行される。プログラムは、いわゆるアプリケーションプログラムである。端末装置のプロセッサは、このプログラムを実行することにより、用途に応じた処理を行いつつ、通信装置を用いてサーバ装置に端末装置の位置情報を送信する。位置情報の送信は、プログラムが表示画面を制御しているフォアグラウンド状態だけでなく、プログラムがバックグラウンドで動作しているバックグラウンド状態でも行われてよい。実施形態では、これらの双方の状態を「起動状態」と称する。
【００１０】
プログラムは、位置情報をサーバ装置に送信させる際に、特定の他プログラムと重複して位置情報を送信しないように端末装置を制御する。特定の他プログラムとは、以下に説明するように、例えば、上記のサーバ装置に位置情報を送信するプログラムである。このように、重複する位置情報をサーバ装置に送信しないようにすることにより、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【００１１】
＜第１の実施形態＞
＜１．情報処理システムの構成＞
図１は、情報処理システム１の構成を示す図である。情報処理システム１は、例えば、一以上の端末装置１０と、一以上のサーバ装置１００と、一以上の情報提供サーバ装置２００とを備える。これらの構成要素は、互いにネットワークＮＷを介して通信する。ネットワークＮＷは、例えば、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）、インターネット、専用回線、無線基地局、プロバイダなどを含む。
【００１２】
サーバ装置１００は、例えば制御部１０２と、記憶部１０４とを備える。制御部１０２は、ＣＰＵ（Central Processing Unit）などのハードウェアプロセッサが、記憶部１０４に記憶されたプログラム（ソフトウェア）を実行することにより実現される。制御部１０２は、ＬＳＩ（Large Scale Integrated Circuit）や、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェア（回路部；circuitryを含む）の協働によって実現されてもよい。記憶部１０４は、例えば、例えば、ＮＡＳ（Network Attached Storage）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、ＲＡＭ（Random Access Memory）等によって実現される。
【００１３】
制御部１０２は、端末装置１０により送信された依頼に対して、所定の処理を実行し、依頼に対する応答情報を生成し、生成した応答情報を端末装置１０に送信する。記憶部１０４には、制御部１０２により実行されるプログラムや情報提供サーバ装置２００により送信された情報等が記憶されている。
【００１４】
情報提供サーバ装置２００は、例えば、公共交通機関の交通情報を提供するサーバ装置や、気象情報を提供するサーバ装置である。
【００１５】
＜２．端末装置の構成＞
図２は、アプリケーションプログラムがインストールされた端末装置１０の構成の一例を示す図である。端末装置１０は、例えば、プロセッサ１２、ＲＯＭ２０、ＲＡＭ２２、フラッシュメモリなどの二次記憶装置３０、無線通信モジュール４０、位置測位装置４２、およびタッチパネル４４を備える。これらの構成要素は、内部バスあるいは専用通信線によって互いに接続されている。
【００１６】
プロセッサ１２は、ＣＰＵなどのハードウェアプロセッサである。プロセッサ１２は、例えば、端末制御部１４と、第１処理部１６と、第２処理部１８とを実現する。これらの機能部は、プロセッサ１２が、ＲＯＭ２０、ＲＡＭ２２、または二次記憶装置３０に記憶されたプログラム（ソフトウェア）を実行することにより実現される。端末制御部１４は、無線通信モジュール４０、位置測位装置４２、およびタッチパネル４４などを制御する。
【００１７】
以下、一例として、後述する乗換アプリ３２−１が実行されることで第１処理部１６が実現され、後述するお天気アプリ３２−２が実行されることで後述する第２処理部１８が実現されることを前提として説明する。なお、第３処理部、第４処理部、…のように、より多くの処理部が実現されてもよい。例えば、上記のアプリは、位置測位装置４２により取得された位置情報をサーバ装置１００に所定間隔ごとに送信する処理を実行するプログラムである。
【００１８】
＜３．第１処理部＞
第１処理部１６は、例えば、二次記憶装置３０に記憶された乗換アプリ３２−１が実行されることにより実現される。第１処理部１６は、例えば、端末装置１０が存在する領域の公共交通機関の運行情報を含むインターフェース画面をタッチパネル４４の表示部に表示させたり、インターフェース画面を介して入力された目的地情報を処理し、現在地（或いは出発地）から目的地までの経路を含むインターフェース画面をタッチパネル４４の表示部に表示させたりする。
【００１９】
第１処理部１６は、例えば、現在地（或いは出発地）から目的地までの情報をサーバ装置１００に送信し、現在地から目的地までの経路の検索をサーバ装置１００に依頼する。そして、第１処理部１６は、サーバ装置１００から検索結果を取得し、取得した検索結果を表示部に表示させる。また、例えば、乗換アプリ３２−１が起動状態になると、第１処理部１６は、位置測位装置４２により取得された位置情報をサーバ装置１００に送信させる処理を開始する。
【００２０】
ただし、第１処理部１６は、特定の他プログラム（例えばお天気アプリ３２−２）がサーバ装置１００に位置情報を送信している場合、位置情報をサーバ装置１００に送信する処理を行わない。詳細は後述する。
【００２１】
＜４．第２処理部＞
第２処理部１８は、二次記憶装置３０に記憶されたお天気アプリ３２−２が実行されることにより実現される。第２処理部１８は、端末装置１０が存在する領域の気象情報や、その領域に雨雲が接近していることを示す情報を含むインターフェース画面をタッチパネル４４の表示部に表示させたり、インターフェース画面を介して入力された情報を処理したりする。
【００２２】
第２処理部１８は、例えば、端末装置１０が位置する領域の天気予報を送信するようにサーバ装置１００に依頼する。そして、第２処理部１８は、サーバ装置１００から検索結果を取得し、取得した検索結果を表示部に表示させる。また、お天気アプリ３２−２が起動状態になると、第２処理部１８は、位置測位装置４２により取得された位置情報をサーバ装置１００に送信する処理を開始する。
【００２３】
ただし、第２処理部１８は、特定の他プログラムがサーバ装置１００に位置情報を送信している場合、位置情報をサーバ装置１００に送信する処理を行わない。
【００２４】
＜５．その他の構成＞
無線通信モジュール４０は、端末制御部１４の制御に従って、ネットワークＮＷを介してサーバ装置１００と通信する。
【００２５】
位置測位装置４２は、ＧＰＳ（Global Positioning System）受信機を備える。位置測位装置４２は、ＧＰＳ受信機が衛星から受信した電波に基づく測位を行って、端末装置１０の位置（すなわち利用者の位置）を特定する。また、端末装置１０は、無線通信モジュール４０が接続した無線基地局の位置から端末装置１０の位置を推定してもよい。
【００２６】
タッチパネル４４は、利用者からの操作入力を受け付ける受付部と、情報を表示するディスプレイとを備える。
【００２７】
＜６．位置情報送信の調停について＞
＜６−１．他のプログラムが起動状態でない場合の処理＞
図３は、端末装置１０により実行される処理の内容を示すシーケンス図（その１）である。本処理では、例えば、第２処理部１８は、位置情報をサーバ装置１００に送信していない状態（起動していない状態）であるものとする。
【００２８】
まず、利用者が端末装置１０を操作することにより、乗換アプリ３２−１が起動状態になる（Ｓ１００）。次に、第１処理部１６が、第２処理部１８に位置情報を送信しているか否かを問い合わせる（Ｓ１０２）。すなわち、第２処理部１８が、自プログラムの起動時に、特定の他プログラムが起動状態であるか否かを問い合わせる。「問い合わせる」とは、第２処理部１８が設定する仮想的ポートに問い合わせ情報を出力することであり、より具体的には仮想的ポートを構成するＲＡＭ１８の所定領域に問い合わせ情報を書き込むことである。
【００２９】
次に、第１処理部１６は、第２処理部１８に問い合わせを行った結果、所定時間内に応答がなかった場合、自プログラムの起動時にお天気アプリ３２−２が起動状態でないとみなす（Ｓ１０４）。次に、第１処理部１６は、第２処理部１８が位置情報を送信していないため、位置測位装置４２から位置情報を取得し（Ｓ１０６）、取得した位置情報をサーバ装置１００に送信する（Ｓ１０８）。
【００３０】
上述したように、第１処理部１６は、特定の他プログラムが位置情報を送信していない場合、サーバ装置１００に位置情報を送信する。
【００３１】
＜６−２．他のプログラムが起動状態である場合の処理＞
図４は、端末装置１０により実行される処理の内容を示すシーケンス図（その２）である。本処理では、例えば、第２処理部１８は、位置情報をサーバ装置１００に送信している状態（起動状態）であるものとする。
【００３２】
まず、利用者が端末装置１０を操作することにより、乗換アプリ３２−１が起動状態になる（Ｓ２００）。次に、第１処理部１６が、第２処理部１８に位置情報を送信しているか否かを問い合わせる（Ｓ２０２）。すなわち、自プログラムの起動時に、第２処理部１８が起動状態であるか否かを問い合わせる。次に、第２処理部１８が、問い合わせに対する応答情報を生成し（Ｓ２０４）、生成した応答情報を第１処理部１６に送信する（Ｓ２０６）。例えば、第２処理部１８は、ＲＡＭ１８の所定領域を参照して応答情報を生成する。次に、第１処理部１６が、第２処理部１８から応答情報として位置情報をサーバ装置１００に送信していることを示す情報を取得する（Ｓ２０８）。第１処理部１６は、自プログラムの起動時に位置情報を送信するかを判定した結果、第２処理部１８が位置情報を送信している場合、位置情報をサーバ装置１００に送信する処理を行わない。
【００３３】
上述したように、第１処理部１６は、特定の他プログラムが位置情報を送信している場合、サーバ装置１００に位置情報を送信しない。これにより、端末装置１０の消費電力を抑制することができる。
【００３４】
＜７．その他＞
また、第１処理部１６または第２処理部１８は、予め設定された優先度に基づいて、位置情報をサーバ装置１００に送信するか否かを決定してもよい。優先度とは、位置情報をサーバ装置１００に送信する優先度である。この場合、上述した図４のシーケンス図のＳ２０６の処理において、第２処理部１８は、予め設定された優先度を含めた応答情報を第１処理部１６に送信する。第１処理部１６は、第２処理部１８により送信された優先度と、第１処理部１６に対して予め設定された優先度とを比較する。第１処理部１６は、第１処理部１６の優先度が、第２処理部の優先度に比して高い場合、第２処理部１８に位置情報の送信を中止するように依頼し、位置情報をサーバ装置１００に送信する。これにより、優先度に応じて、位置情報がサーバ装置１００に送信される。
【００３５】
上記の優先度は、例えばプログラムにより位置情報が送信される送信周期に基づいて設定されてもよい。例えば、送信周期が短いプログラムは、送信周期が長いプログラムに比して、優先度が高く設定されてもよいし、これとは反対に優先度が低く設定されてもよい。また、優先度を第１処理部１６および第２処理部１８が定めてもよい。この場合、第１処理部１６および第２処理部１８が送信周期を送信し合うことにより、送信周期を設定する。
【００３６】
また、優先度は、例えば、送信周期に応じた端末装置１０の消費電力、およびサーバ装置１００で利用する位置情報の粒度（精度）の一方または双方に基づいて設定されてもよい。例えば、優先度は、予め設定された基準に基づいて導出された、送信周期に応じた単位時間あたりの端末装置１０の消費電力に対する第１スコアと、送信周期に応じた位置情報の粒度に対応する第２スコアとを統計処理して、スコアが高くなる方のプログラムに対して高く設定される。なお、第１スコアが高い程、消費電力が小さく、第２のスコアが高い程、位置情報の粒度が高い。また、例えば、第１処理部１６、または第２処理部１８が上記のスコアを導出して優先度を設定してもよい。これにより、端末装置１０は、消費電力を抑制すると共に、実行されるプログラムで利用される位置情報に適した粒度で位置情報をサーバ装置１００に送信することができる。
【００３７】
＜８．まとめ＞
以上説明した第１の実施形態によれば、端末装置１０は、プログラム間において通信を行うことによって、重複して位置情報をサーバ装置１００に送信することを抑制するため、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【００３８】
＜９．第２の実施形態＞
以下、第２の実施形態について説明する。第１の実施形態では、第１処理部１６が、第２処理部１８と通信を行って、位置情報をサーバ装置１００に送信するか否かを判定するものした。第２の実施形態では、第１処理部１６が、二次記憶装置３０Ａに設けられた共通記憶領域に記憶された情報に基づいて、位置情報をサーバ装置１００に送信するか否かを判定する。以下、この点を中心に説明する。
【００３９】
＜１０．第２の実施形態の端末装置の構成＞
図５は、第２の実施形態の端末装置１０Ａの機能構成を示す図である。第２の実施形態の端末装置１０Ａは、第１の実施形態の端末装置１０の二次記憶装置３０に代えて、二次記憶装置３０Ａを備える。二次記憶装置３０Ａは、乗換アプリ３２−１、お天気アプリ３２−２に加え、更に共通領域３４を備える。共通領域３４とは、第１処理部１６と第２処理部１８との双方が、情報を書き可能、および参照可能な領域である。
【００４０】
＜１１．共通領域に記憶される情報＞
図６は、共通領域３４に記憶されるプログラムの状態情報の内容の一例を示す図である。共通領域３４には、プログラムの種別に対して、そのプログラムが起動状態であるか否かを示す情報と、位置情報をサーバ装置１００に送信しているか否かを示す情報等が対応付けられて記憶されている。例えば、乗換アプリ３２−１が起動状態になると、第１処理部１６が、乗換アプリ３２−１が起動したことを示す情報を共通領域３４に記憶させ、その後、位置情報をサーバ装置１００に送信すると、位置情報の送信を開始したことを示す情報を共通領域３４に記憶させる。
【００４１】
第１処理部１６または第２処理部１８は、共通領域３４に記憶された情報を参照し、他方の処理部が位置情報をサーバ装置１００に送信しているか否かを判定する。
【００４２】
＜１２．第２の実施形態の端末装置の処理＞
図７は、第２の実施形態の端末装置１０Ａにより実行される処理の内容を示すシーケンス図である。本処理では、お天気アプリ３２−２が起動状態になった後に、乗換アプリ３２−１が起動した場合の処理について説明する。
【００４３】
まず、利用者が端末装置１０Ａを操作することにより、お天気アプリ３２−２が起動状態になる（Ｓ３００）。次に、第２処理部１８が、お天気アプリ３２−２が起動状態になったことを示す情報を、共通領域３４に記憶させる（Ｓ３０２）。次に、第２処理部１８が、位置測位装置４２から位置情報を取得し（Ｓ３０４）、取得した位置情報をサーバ装置１００に送信する（Ｓ３０６）。次に、第２処理部１８が、位置情報を送信したことを示す情報を、共通領域３４に記憶させる（Ｓ３０８）。
【００４４】
次に、利用者が端末装置１０Ａを操作することにより、乗換アプリ３２−１が起動状態になる（Ｓ３１０）。次に、第１処理部１６が、共通領域３４に記憶された情報を参照して、特定の他プログラムが起動状態であり、位置情報をサーバ装置１００に送信しているか否かを判定する（Ｓ３１２）。本処理のように第２処理部１８が、既に位置情報を送信していることを示す情報が共通領域３４に記憶されている場合、第１処理部１６は、位置情報をサーバ装置１００に送信しない。位置情報を送信していることを示す情報が共通領域３４に記憶されていない場合、第１処理部１６は、位置情報をサーバ装置１００に送信する。
【００４５】
上述したように、第１処理部１６は、特定の他プログラムが起動状態である場合、位置情報を送信する処理を行わないため、端末装置１０の位置情報をサーバ装置１００に送信する際の処理負荷や通信負荷を抑制することができる。
【００４６】
＜１３．その他＞
また、第１処理部１６または第２処理部１８は、予め設定された優先度に基づいて、位置情報をサーバ装置１００に送信してもよい。この場合、端末装置１０Ａには、共通領域３４Ａが設けられる。図８は、共通領域３４Ａに記憶されるプログラムの状態情報の内容の一例を示す図である。共通領域３４Ａには、共通領域３４に記憶された情報に加えて、プログラムの種別に対して、位置情報を送信する優先度等が対応付けられて記憶されている。例えば、第１処理部１６は、共通領域３４Ａに記憶された情報を参照し、乗換アプリ３２−１に設定された優先度に比して高い優先度が設定されたプログラムが起動状態である場合、位置情報を送信する処理を実行しない。これに対して、第１処理部１６は、乗換アプリ３２−１に設定された優先度に比して低い優先度が設定されたプログラムが起動状態である場合、低い優先度が設定されているプログラムに依頼して位置情報の送信を停止させる。そして、第１処理部１６が位置情報をサーバ装置１００に送信する。
【００４７】
＜１４．まとめ＞
以上説明した第２の実施形態によれば、端末装置１０Ａは、共通領域３４を参照することにより、第１の実施形態が奏する効果と同様の効果を奏することができる。
【００４８】
＜１５．第３の実施形態＞
以下、第３の実施形態について説明する。第２の実施形態では、共通領域が二次記憶装置３０Ａに設けられるものとした。第３の実施形態では、共通領域がサーバ装置１００の記憶部１０４に設けられる。以下、この点を中心に説明する。
【００４９】
＜１６．第３の実施形態のサーバ装置の構成＞
第３の実施形態では、サーバ装置１００の記憶部１０４に共通領域１０６が設けられる。図９は、共通領域１０６に記憶される情報の内容の一例を示す図である。共通領域１０６には、端末装置１０ごとのプログラムの状態情報が記憶されている。
【００５０】
＜１７．第３の実施形態の端末装置の処理＞
図１０は、第３の実施形態の端末装置１０により実行される処理の内容を示すシーケンス図である。まず、利用者が端末装置１０を操作することにより、お天気アプリ３２−２が起動状態となる（Ｓ４００）。次に、第２処理部１８が、サーバ装置１００の共通領域１０６にアクセスして、端末装置１０の特定の他プログラムの状態情報を取得する（Ｓ４０２）。特定の他プログラムが起動状態でない場合（またはプログラムが置情報を送信していない場合）、第２処理部１８は、位置測位装置４２から位置情報を取得し（Ｓ４０４）、取得した位置情報、および端末装置１０の識別情報をサーバ装置１００に送信する（Ｓ４０６）。次に、サーバ装置１００が、位置情報を取得し、更に共通領域１０６に端末装置１０のお天気アプリ３２−２が位置情報を送信していることを示す情報を記憶させる（Ｓ４０８）。
【００５１】
次に、乗換アプリ３２−１が起動状態になると（Ｓ４１０）、第１処理部１６が、サーバ装置１００の共通領域１０６にアクセスして、端末装置１０の特定の他プログラムの状態情報を取得する（Ｓ４１２）。本処理のように第２処理部１８が、既に位置情報を送信していることを示す情報が共通領域１０６に記憶されている場合、第１処理部１６は、位置情報をサーバ装置１００に送信しない。位置情報を送信していることを示す情報が共通領域１０６に記憶されていない場合、第１処理部１６は、位置情報をサーバ装置１００に送信する。
【００５２】
＜１８．まとめ＞
以上説明した第３の実施形態によれば、端末装置１０は、共通領域１０６を参照することにより、第１の実施形態が奏する効果と同様の効果を奏することができる。
【００５３】
＜１９．第４の実施形態＞
以下、第４の実施形態について説明する。第３の実施形態では、第１処理部１６が、サーバ装置１００の共通領域１０６に記憶された情報を参照し、位置情報を送信する否かを判定するものとした。第４の実施形態では、第１処理部１６または第２処理部１８が、サーバ装置１００に他の処理部が位置情報を送信しているか否かを問い合わせ、問い合わせ結果に基づいて位置情報を送信する否かを判定する。以下、この点を中心に説明する。
【００５４】
＜２０．第４の実施形態のサーバ装置の構成＞
第４の実施形態では、サーバ装置１００の記憶部１０４には、端末装置１０ごとに、端末装置１０が位置情報を送信しているか否かを示す情報が記憶されている。
【００５５】
第４の実施形態の制御部１０２は、端末装置１０により位置情報が送信されているか否かの問い合わせに対して、記憶部１０４に記憶された情報を参照して、応答情報を端末装置１０に返信する。
【００５６】
図１１は、第４の実施形態の端末装置１０により実行される処理の内容を示すシーケンス図である。まず、利用者が端末装置１０を操作することにより、お天気アプリ３２−２が起動状態となる（Ｓ５００）。次に、第２処理部１８が、サーバ装置１００に第１処理部１６が位置情報を送信しているか否かを問い合わせる（Ｓ５０２）。
【００５７】
次に、サーバ装置１００の制御部１０２は、記憶部１０４に記憶された情報を参照して、第１処理部１６が位置情報を送信しているか否かを示す情報を返信する（Ｓ５０４）。次に、第２処理部１８は、第１処理部１６が位置情報をサーバ装置１００に送信していないことを示す情報を取得すると、位置測位装置４２から位置情報を取得し（Ｓ５０６）、取得した位置情報をサーバ装置１００に送信する（Ｓ５０８）。
【００５８】
次に、乗換アプリ３２−１が起動状態になると（Ｓ５１０）、第１処理部１６が、サーバ装置１００に第２処理部１８が位置情報を送信しているか否かを問い合わせる（Ｓ５１２）。
【００５９】
次に、サーバ装置１００の制御部１０２は、記憶部１０４に記憶された情報を参照して、第２処理部１８が位置情報を送信しているか否かを示す情報を返信する（Ｓ５１４）。第１処理部１６が、既に第２処理部１８により位置情報がサーバ装置１００に送信されていることを示す情報を取得した場合、第１処理部１６は、位置情報をサーバ装置１００に送信しない。
【００６０】
なお、サーバ装置１００は、第２処理部１８から予め設定された期間において位置情報を取得することができなかった場合、第１処理部１６に位置情報を送信することを要求してもよい。これにより、第２処理部１８の処理に不具合が生じたり、利用者の操作によって位置情報の送信が制限されたりした場合であっても、サーバ装置１００は、端末装置１０の位置情報を取得することができる。
【００６１】
＜２１．まとめ＞
以上説明した第４の実施形態によれば、端末装置１０は、サーバ装置１００に位置情報が送信されているか否かを問い合わせることにより、第１の実施形態が奏する効果と同様の効果を奏することができる。
【００６２】
＜２２．第５の実施形態＞
以下、第５の実施形態について説明する。第１〜４の実施形態では、乗換アプリ３２−１およびお天気アプリ３２−２が、１つの端末装置１０に記憶されているものとした。これに対して、第５の実施形態では、乗換アプリ３２−１と、天気アプリ３２−２とが、異なる端末装置１０に記憶され、異なる端末装置１０間で位置情報の送信を調停する。第５の実施形態は、例えば、テザリング機能によって複数の端末装置１０が通信し、親機に相当する端末装置１０−１がサーバ装置１００に位置情報を送信する際に実行される処理である。以下、この点を中心に説明する。
【００６３】
＜２３．第５の実施形態の端末装置の機能構成＞
図１２は、第５の実施形態の情報処理システム１Ａの機能構成を示す図である。情報処理システム１Ａは、端末装置１０に代えて、端末装置１０−１および端末装置１０−２を備える。
【００６４】
図１３は、端末装置１０−１および端末装置１０−２の機能構成を示す図である。端末装置１０−１は、端末装置１０のプロセッサ１２および二次記憶装置３０に代えて、プロセッサ１２−１および二次記憶装置３０−１を備える。また、端末装置１０−１は、例えば端末装置１０−２と短距離無線通信（例えばbluetooth（登録商標）を利用して無線通信を行う短距離無線通信部４６−１を更に備える。なお、端末装置１０−１と１０−２とは、有線を用いて通信（例えばテザリング機能）を実現してもよい。
【００６５】
プロセッサ１２−１は、端末制御部１４−１、および第１処理部１６を備える。端末制御部１４−１は、端末装置１０−１を統合的に制御する。端末制御部１４−１は、短距離無線通信部４６−１を制御する。端末制御部１４−１は、端末装置１０−２からテザリングの実行の依頼を取得すると、親機として端末装置１０−２から取得した情報をサーバ装置１００に送信する。二次記憶装置３０−１には、乗換アプリ３２−１が記憶されている。
【００６６】
端末装置１０−２は、端末装置１０のプロセッサ１２および二次記憶装置３０に代えて、プロセッサ１２−２および二次記憶装置３０−２を備える。また、端末装置１０−２は、端末装置１０−１と短距離無線通信を利用して無線通信を行う短距離無線通信部４６−２を更に備える。
【００６７】
プロセッサ１２−２は、端末制御部１４−２、および第２処理部１８を備える。端末制御部１４−２は、端末装置１０−２を統合的に制御する。端末制御部１４−２は、短距離無線通信部４６−２を制御する。端末制御部１４−２は、利用者の操作に応じてテザリングの実行の依頼を端末装置１０−１に依頼する。二次記憶装置３０−２には、お天気アプリ３２−２が記憶されている。
【００６８】
なお、図１３では、第１の実施形態の機能構成と同様の機能構成については同様の名称を付し、それぞれ第１の実施形態において付した符号の後に、ハイフンおよび端末装置を示す符号（「１」または「２」）を付している。
【００６９】
＜２４．第５の実施形態の処理＞
例えば、テザリング機能が適用されて、端末装置１０−１が親機であり、端末装置１０−２が子機である場合の処理について説明する。また、以下、乗換アプリ３２−１が起動状態になった後に開始される処理について説明する。
【００７０】
端末装置１０−１の第１処理部１６は、位置情報を送信する場合、第２処理部１８に位置情報を送信しているか否かを問い合わせる。第１処理部１６は、端末装置１０−１を介して第２処理部１８が位置情報をサーバ装置１００に送信していることを示す応答情報を、第２処理部１８から受信した場合、自装置で位置情報を取得せずに、自装置の位置情報をサーバ装置１００に送信しない。第１処理部１６は、端末装置１０−１を介して第２処理部１８が位置情報をサーバ装置１００に送信していないことを示す応答情報を、第２処理部１８から受信した場合、自装置で位置情報を取得し、自装置の位置情報をサーバ装置１００に送信する。
【００７１】
なお、上述した処理に代えて、第１処理部１６は、端末装置１０−１を介して第２処理部１８が位置情報をサーバ装置１００に送信していることを示す応答情報を、第２処理部１８から受信した場合、第２処理部１８に位置情報を送信することを停止させ、端末装置１０−１の位置情報をサーバ装置１００に送信してもよい。
【００７２】
また、上述した例では、テザリングがされている場合の処理について説明したが、これに代えて、端末装置１０−１と１０−２とが連携している場合においても、所定期間の間、端末装置１０−１または１０−２のいずれか一方が位置情報を取得し、取得した位置情報をサーバ装置１００に送信してもよい。連携とは、例えば端末装置１０−１と１０−２とが無線通信することによって行われたり、所定の情報が端末装置１０に入力されたりした場合に行われる。
【００７３】
また、連携した後に、端末装置１０−１が、自装置の位置情報をサーバ装置１００に送信している場合において、所定時間後に端末装置１０−２から端末装置１０−２の位置情報を取得し、取得した位置情報と、端末装置１０−１の位置情報とが同一であるか否かを判定し、位置情報が同一である場合には、端末装置１０−１または１０−２とのうちいずれか一方の情報をサーバ装置１００に送信してもよい。また、位置情報が異なる場合は、端末装置１０−１および１０−２がそれぞれ自装置の位置情報をサーバ装置１００に送信する。
【００７４】
＜２５．まとめ＞
以上説明した第５の実施形態によれば、異なる端末装置間において、調停を行うことにより、第１の実施形態が奏する効果と同様の効果を奏することができる。
【００７５】
＜２６．第６の実施形態＞
以下、第６の実施形態について説明する。第５の実施形態では、端末装置１０−１が、端末装置１０−２に位置情報を送信しているかを問い合わせ、位置情報の送信を調停するものとした。これに対して、第６の実施形態では、端末装置１０−１は、二次記憶装置３０−１に共通領域を備え、共通領域に記憶された情報に基づいて、位置情報を送信する否かを判定する。以下、この点を中心に説明する。
【００７６】
共通領域には、端末装置１０−１を介して端末装置１０−２が位置情報をサーバ装置１００に送信しているか否かを示す情報が記憶されている。端末装置１０−２の第２処理部１８は、端末装置１０−２が自装置の位置情報をサーバ装置１００に送信していることを示す情報を端末装置１０−１の共通領域に記憶させることを端末装置１０−１に依頼する。端末装置１０−１の端末制御部１４−１は、上記の依頼に応じて、端末装置１０−２の位置情報を共通領域に記憶する。
【００７７】
乗換アプリ３２−１が起動状態になった後、第１処理部１６は、共通領域３４に記憶された情報を参照することで、自装置を介して端末装置１０−２が位置情報をサーバ装置１００に送信しているか否かを判定する。テザリング機能によって端末装置１０−２が位置情報をサーバ装置１００に送信している場合、第１処理部１６は、自装置の位置情報を取得せずに、位置情報をサーバ装置１００に送信しない。テザリング機能によって端末装置１０−２が位置情報をサーバ装置１００に送信していない場合、第１処理部１６は、自装置の位置情報を取得し、取得した位置情報をサーバ装置１００に送信する。なお、第２処理部１８も同様に、起動時に共通領域に記憶された情報に基づいて、サーバ装置１００に位置情報を送信するか否かを決定する。
【００７８】
＜２７．まとめ＞
以上説明した第６の実施形態によれば、端末装置１０は、共通領域３４を参照することにより、第１の実施形態が奏する効果と同様の効果を奏することができる。
【００７９】
＜２８．第７の実施形態＞
以下、第７の実施形態について説明する。第６の実施形態では、共通領域が二次記憶装置３０−１に設けられるものとした。第６の実施形態では、共通領域がサーバ装置１００の記憶部１０４に設けられる。以下、この点を中心に説明する。
【００８０】
図１４は、共通領域１０６に記憶されるプログラムの状態情報の内容の一例を示す図である。共通領域１０６には、サービスＩＤごとのプログラムの状態情報が記憶されている。サービスＩＤは、サーバ装置１００により提供されるサービスに対応する情報である。例えばサービスＩＤは、サーバ装置１００にアクセスして、ログインする際に用いられる情報である。
【００８１】
サーバ装置１００の制御部１０２は、端末装置１０−１または１０−２から位置情報と、位置情報を送信しているプログラムの種別と、プログラムの起動状態と、サービスＩＤとを取得し、取得した情報をプログラムの状態情報として共通領域に記憶させる。
【００８２】
＜２９．第７の実施形態の処理＞
図１５は、第７の実施形態の情報処理システム１により実行される処理の内容を示すシーケンス図である。本処理では、テザリング機能が適用され端末装置１０−１が親機であり、端末装置１０−２が子機であるものとする。
【００８３】
まず、お天気アプリ３２−２が起動状態になると、第２処理部１８が、端末装置１０−１を介して（Ｓ６００）、サーバ装置１００の共通領域にアクセスして、お天気アプリ３２−２に対応するサービスＩＤと同じサービスＩＤを有するプログラムが位置情報を送信しているかを判定する（Ｓ６０２）。
【００８４】
お天気アプリ３２−２に対応するサービスＩＤと同じサービスＩＤを有するプログラムが位置情報を送信していない場合、第２処理部１８は、端末装置１０−１に端末装置１０−２の位置情報、サービスＩＤ、およびプログラムの種別を送信する（Ｓ６０４）。次に、端末装置１０−１は、端末装置１０−２に送信された位置情報、サービスＩＤ、およびプログラムの種別をサーバ装置１００に送信する（Ｓ６０６）。次に、サーバ装置１００は、端末装置１０−１に送信されたサービスＩＤ、およびプログラムの種別を共通領域に記憶させる（Ｓ６０８）。
【００８５】
次に、乗換アプリ３２−１が起動状態になると（Ｓ６１０）、第１処理部１６が、サーバ装置１００の共通領域にアクセスして、乗換アプリ３２−１に対応するサービスＩＤと同じサービスＩＤを有する特定の他プログラムの状態情報を取得する（Ｓ６１２）。乗換アプリ３２−１に対応するサービスＩＤと同じサービスＩＤを有する特定の他プログラムが起動状態である場合（またはプログラムが位置情報を送信している場合）、第１処理部１６は、位置情報をサーバ装置１００に送信しない。乗換アプリ３２−１に対応するサービスＩＤと同じサービスＩＤを有する特定の他プログラムが起動状態でない場合（またはプログラムが位置情報を送信していない場合）、第１処理部１６は、位置情報をサーバ装置１００に送信する。
【００８６】
＜３０．まとめ＞
以上説明した第７の実施形態によれば、端末装置１０は、共通領域１０６を参照することにより、第１の実施形態が奏する効果と同様の効果を奏することができる。
【００８７】
＜３１．第７の実施形態の変形例１＞
上記の第７の実施形態では、端末装置１０が共通領域１０６にアクセスして、他の端末装置１０が位置情報を送信しているか否かを判定するものとしたが、これに代えて端末装置１０が、サーバ装置１００に同様のサービスＩＤに対応付けられた位置情報を送信しているか否かを問い合わせてもよい。この場合、サーバ装置１００は、問い合わせに応じて応答情報を端末装置１０に返信する。
【００８８】
＜３２．第７の実施形態の変形例２＞
また、上記の例では、サービスＩＤがサーバ装置１００に送信されるものとして説明したが、これに代えて（または加えて）サービスＩＤとは異なるＩＤがサーバ装置１００に送信されてもよい。異なるＩＤとは、例えば端末装置１０−１と端末装置１０−２との間でテザリングが成立した場合に、設定されるテザリング情報である。
【００８９】
＜３３．その他＞
上述した実施形態では、第１処理部１６が、位置情報を送信するか否かを決定する処理を中心に説明したが、第２処理部１８も、第１処理部１６と同等の処理を行い、位置情報を送信するか否かを決定する。
【００９０】
また、サーバ装置１００は、複数の同じ位置情報を所定期間以内に取得した場合、それらの位置情報を送信している端末装置１０のうち、１つの端末装置１０に位置情報を送信させ、他の端末装置１０には位置情報を送信しないように指示してもよい。
【００９１】
また、サーバ装置１００は、同じＩＰアドレスが付与された複数の位置情報を所定期間以内に取得した数に基づいて、調停処理を行ってもよい。例えば、サーバ装置１００は、同じＩＰアドレスが付与された複数の位置情報を所定期間以内に取得した数が所定数（例えば５）以下の場合、例えばそれらの位置情報を送信している端末装置１０を１つのグループとみなし、グループとみなした端末装置のうち、１つの端末装置１０に位置情報を送信することを要求し、他の端末装置１０には位置情報を送信する必要がないことを示す情報を送信する。同じＩＰアドレスが付与された複数の位置情報を所定期間以内に取得した数が所定数以下の場合、家庭用または個人用として使用されているルータであり、個人的にそのルータを使用している可能性が高いためである。また、上記の例において、ＩＰアドレスが同じであることに加え、位置情報が同じ（所定の範囲内）であることが条件とされてもよい。
【００９２】
以上説明した実施形態によれば、プログラムは、端末装置の位置情報をサーバ装置に送信する処理を実行させ、起動状態において端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、起動状態である場合、自プログラムと特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させることにより、端末装置の位置情報をサーバ装置に送信する際の処理負荷や通信負荷を抑制することができる。
【００９３】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００９４】
１  情報処理システム、１０、１０−１、１０−２，１０Ａ…端末装置、１２、１２−１、１２−２…プロセッサ、１４…端末制御部、１６…第１処理部、１８…第２処理部、３０，３０Ａ…二次記憶装置、３２−１…乗換アプリ３２−２、３２−２…お天気アプリ、３４…共通領域、４０…無線通信モジュール、４２…位置測位装置、４６−１…短距離無線通信部、１００…サーバ装置、１０２…制御部、１０２…例えば制御部、１０４…記憶部、１０６…共通領域、２００…サーバ装置
【図１】
2019020941.tif 000003
【図２】
2019020941.tif 000004
【図３】
2019020941.tif 000005
【図４】
2019020941.tif 000006
【図５】
2019020941.tif 000007
【図６】
2019020941.tif 000008
【図７】
2019020941.tif 000009
【図８】
2019020941.tif 000010
【図９】
2019020941.tif 000011
【図１０】
2019020941.tif 000012
【図１１】
2019020941.tif 000013
【図１２】
2019020941.tif 000014
【図１３】
2019020941.tif 000015
【図１４】
2019020941.tif 000016
【図１５】
2019020941.tif 000017
【手続補正書】
【提出日】平成30年2月15日(2018.2.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末装置に、
起動状態において前記端末装置の位置情報を取得する取得部により取得された前記端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させ、
前記自プログラムが位置情報を送信すると決定した場合、前記自プログラムの処理によって、前記端末装置の位置情報を通信部を用いて前記サーバ装置に送信させ、
前記特定の他プログラムが位置情報を送信すると決定した場合、前記自プログラムの処理によっては、前記端末装置の位置情報を通信部を用いて前記サーバ装置に送信させないと決定させる、
プログラム。
【請求項２】
前記端末装置に、前記決定させる際に、
前記特定の他プログラムが起動状態であるか否かを問い合わせ先に問い合わせさせ、問い合わせ結果に基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項１に記載のプログラム。
【請求項３】
前記問い合わせ先は、前記特定の他プログラム、またはサーバ装置である、
請求項２に記載のプログラム。
【請求項４】
前記端末装置に、前記決定させる際に、
自プログラムと前記特定の他プログラムとの双方が参照可能な共通領域を参照させ、
前記特定の他プログラムが起動状態であることを示す情報が前記共通領域に記憶されているか否かに基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項１に記載のプログラム。
【請求項５】
前記共通領域は、前記端末装置、または前記サーバ装置の記憶装置に設けられる、
請求項４に記載のプログラム。
【請求項６】
前記端末装置に、前記決定させる際に、
前記特定の他プログラムが前記起動状態である場合、自プログラムが前記端末装置の位置情報を送信しないと決定させる、
請求項１から５のうちいずれか１項に記載のプログラム。
【請求項７】
前記端末装置に、
自プログラムの起動時に、前記特定の他プログラムが前記起動状態であるか否かを判定させる、
請求項６に記載のプログラム。
【請求項８】
前記端末装置に、前記決定させる際に、
前記特定の他プログラムが前記起動状態である場合、前記特定の他プログラムおよび自プログラムに対して、それぞれ設定された優先度に基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項１から５のうちいずれか１項に記載のプログラム。
【請求項９】
前記端末装置に、
自プログラムの起動時に、前記優先度に基づいて、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定させる、
請求項８に記載のプログラム。
【請求項１０】
前記端末装置に、
自プログラムに設定された優先度が、前記特定の他プログラムに設定された優先度に比して高い場合、前記特定の他プログラムに端末装置の位置情報を送信しないように指示する、
請求項８または請求項９に記載のプログラム。
【請求項１１】
前記特定の他プログラムは、自プログラムと同じ端末装置により実行されるプログラムである、
請求項１から１０のうちいずれか１項に記載のプログラム。
【請求項１２】
前記特定の他プログラムは、自プログラムが実行される端末装置とは異なる特定端末装置であって、自プログラムが実行される端末装置にテザリング機能を提供する、または前記端末装置からテザリング機能の提供を受ける特定端末装置により実行されるプログラムである、
請求項１から１０のうちいずれか１項に記載のプログラム。
【請求項１３】
端末装置が、
起動状態において前記端末装置の位置情報を取得する取得部により取得された前記端末装置の位置情報をサーバ装置に送信するように動作する特定の他プログラムが、前記起動状態である場合、自プログラムと前記特定の他プログラムのいずれが端末装置の位置情報を送信するかを決定し、
前記自プログラムが位置情報を送信すると決定した場合、前記自プログラムの処理によって、前記端末装置の位置情報を通信部を用いて前記サーバ装置に送信し、
前記特定の他プログラムが位置情報を送信すると決定した場合、前記自プログラムの処理によっては、前記端末装置の位置情報を通信部を用いて前記サーバ装置に送信しないと決定する、
端末装置の制御方法。