(57)【要約】【課題】電力の消費を削減すること。【解決手段】本願に係る通信制御プログラムは、取得手順と、通信制御手順とをユーザが利用する端末装置に実行させる。取得手順は、ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する。通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得手順によって取得された位置情報のサーバへの送信を制御する。【選択図】図１
2019145882.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが利用する端末装置で実行される通信制御プログラムであって、
前記ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する取得手順と、
前記取得手順によって取得された位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得手順によって取得された位置情報のサーバへの送信を制御する通信制御手順と、
を前記端末装置に実行させることを特徴とする通信制御プログラム。
【請求項２】
前記通信制御手順は、
前記取得手順によって取得された位置情報と前記ユーザ行動モデルにおける位置情報との相違が所定の閾値以上であれば、当該位置情報をサーバへ送信するよう制御する、
ことを特徴とする請求項１に記載の通信制御プログラム。
【請求項３】
前記通信制御手順は、
前記取得手順によって取得された位置情報と前記ユーザ行動モデルにおける位置情報との相違が所定の閾値未満の場合には、当該位置情報をサーバへ送信しないよう制御する、
ことを特徴とする請求項１又は２に記載の通信制御プログラム。
【請求項４】
前記通信制御手順は、
前記取得手順によって取得された位置情報を前記サーバへ送信しないよう制御したのちに、前記端末装置に対して電力が供給された場合には、当該位置情報を当該サーバへ送信するよう制御する、
ことを特徴とする請求項３に記載の通信制御プログラム。
【請求項５】
前記取得手順は、
時間帯ごとに生成された前記ユーザ行動モデルを取得し、
前記通信制御手順は、
前記取得手順によって位置情報が取得された際の時間帯と、時間帯ごとに生成された前記ユーザ行動モデルとに基づいて、当該取得手順によって取得された位置情報のサーバへの送信を制御する、
ことを特徴とする請求項１〜４のいずれか一つに記載の通信制御プログラム。
【請求項６】
前記取得手順は、
曜日ごとに生成された前記ユーザ行動モデルを取得し、
前記通信制御手順は、
前記取得手順によって位置情報が取得された際の曜日と、曜日ごとに生成された前記ユーザ行動モデルとに基づいて、当該取得手順によって取得された位置情報のサーバへの送信を制御する、
ことを特徴とする請求項１〜５のいずれか一つに記載の通信制御プログラム。
【請求項７】
ユーザが利用する端末装置で実行される通信制御プログラムであって、
前記ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成手順と、
前記生成手順によってユーザ行動モデルが生成されたのちに、新たに前記ユーザの位置を示す位置情報を取得する取得手順と、
前記取得手順によって取得された新たな位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得手順によって取得された新たな位置情報のサーバへの送信を制御する通信制御手順と、
を前記端末装置に実行させることを特徴とする通信制御プログラム。
【請求項８】
ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する取得部と、
前記取得部によって取得された位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得部によって取得された位置情報のサーバへの送信を制御する通信制御部と、
を備えたことを特徴とする通信制御装置。
【請求項９】
ユーザが利用する端末装置が実行する通信制御方法であって、
前記ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する取得工程と、
前記取得工程によって取得された位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得工程によって取得された位置情報のサーバへの送信を制御する通信制御工程と、
を含んだことを特徴とする通信制御方法。
【請求項１０】
ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成部と、
前記生成部によってユーザ行動モデルが生成されたのちに、新たに前記ユーザの位置を示す位置情報を取得する取得部と、
前記取得部によって取得された新たな位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得部によって取得された新たな位置情報のサーバへの送信を制御する通信制御部と、
を備えたことを特徴とする通信制御装置。
【請求項１１】
ユーザが利用する端末装置が実行する通信制御方法であって、
前記ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成工程と、
前記生成工程によってユーザ行動モデルが生成されたのちに、新たに前記ユーザの位置を示す位置情報を取得する取得工程と、
前記取得工程によって取得された新たな位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得工程によって取得された新たな位置情報のサーバへの送信を制御する通信制御工程と、
を含んだことを特徴とする通信制御方法。
【請求項１２】
ユーザが利用する端末装置から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成部と、
前記生成部によって生成されたユーザ行動モデルを前記端末装置に送信する送信部と、
前記送信部によって前記ユーザ行動モデルが送信された端末装置から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定部と、
を備えたことを特徴とする管理サーバ。
【請求項１３】
前記生成部は、
前記推定部によって前記ユーザの位置情報が推定されたのちに、前記所定時間における位置情報を前記端末装置から取得した場合には、当該推定部によって推定された位置情報と、当該端末装置から取得した位置情報との相違に基づいて、前記ユーザ行動モデルを更新する、
ことを特徴とする請求項１２に記載の管理サーバ。
【請求項１４】
ユーザが利用する端末装置によって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する取得部と、
前記取得部によってユーザ行動モデルが取得されたのちに、前記端末装置から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定部と、
を備えたことを特徴とする管理サーバ。
【請求項１５】
コンピュータが実行する管理方法であって、
ユーザが利用する端末装置から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成工程と、
前記生成工程によって生成されたユーザ行動モデルを前記端末装置に送信する送信工程と、
前記送信工程によって前記ユーザ行動モデルが送信された端末装置から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定工程と、
を含んだことを特徴とする管理方法。
【請求項１６】
ユーザが利用する端末装置から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成手順と、
前記生成手順によって生成されたユーザ行動モデルを前記端末装置に送信する送信手順と、
前記送信手順によって前記ユーザ行動モデルが送信された端末装置から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定手順と、
をコンピュータに実行させることを特徴とする管理プログラム。
【請求項１７】
コンピュータが実行する管理方法であって、
ユーザが利用する端末装置によって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する取得工程と、
前記取得工程によってユーザ行動モデルが取得されたのちに、前記端末装置から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定工程と、
を含んだことを特徴とする管理方法。
【請求項１８】
ユーザが利用する端末装置によって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する取得手順と、
前記取得手順によってユーザ行動モデルが取得されたのちに、前記端末装置から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定手順と、
をコンピュータに実行させることを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラムに関する。
【背景技術】
【０００２】
従来、ユーザが所有する端末装置から位置情報を取得し、取得した位置情報に基づいて各種情報処理を行う技術が提案されている。
【０００３】
位置情報に関する技術として、被監視者が通常の位置にいるか否かを伝達することで、被監視者の状態を的確にかつ適時的に知ることのできる行動監視システムが知られている。また、ユーザの移動経路に基づいて現在位置を計測する間隔を調整することで、計測に費やす消費電力を低減させる技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２８１６９４号公報
【特許文献２】特開２０１５−２１９１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術には改善の余地がある。具体的には、位置情報を利用した情報処理を行う場合、端末装置は、位置情報を取得したり位置情報をサーバに送信したりといった処理を常時行うことになるため、電力を消耗する。しかしながら、位置情報を取得する機会を減らしたり、取得のタイミングを長くしたりすると、位置情報を用いた情報処理の精度が低下するおそれがある。
【０００６】
本願は、上記に鑑みてなされたものであって、電力の消費を削減することができる通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る通信制御プログラムは、ユーザが利用する端末装置で実行される通信制御プログラムであって、前記ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する取得手順と、前記取得手順によって取得された位置情報と前記ユーザ行動モデルにおける位置情報との比較に基づいて、前記取得手順によって取得された位置情報のサーバへの送信を制御する通信制御手順と、を前記端末装置に実行させることを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、電力の消費を削減することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る通信制御処理の一例を示す図である。
【図２】図２は、実施形態に係る通信制御システムの構成例を示す図である。
【図３】図３は、実施形態に係るユーザ端末の構成例を示す図である。
【図４】図４は、実施形態に係る位置情報テーブルの一例を示す図である。
【図５】図５は、実施形態に係るモデルテーブルの一例を示す図である。
【図６】図６は、実施形態に係る管理サーバの構成例を示す図である。
【図７】図７は、実施形態に係るユーザ情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係る位置情報記憶部の一例を示す図である。
【図９】図９は、実施形態に係るモデル記憶部の一例を示す図である。
【図１０】図１０は、実施形態に係る処理手順を示すフローチャート（１）である。
【図１１】図１１は、実施形態に係る処理手順を示すフローチャート（２）である。
【図１２】図１２は、実施形態に係る処理手順を示すフローチャート（３）である。
【図１３】図１３は、変形例に係るユーザ端末の構成例を示す図である。
【図１４】図１４は、ユーザ端末の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
〔１．通信制御処理の一例〕
まず、図１を用いて、実施形態に係る通信制御処理の一例について説明する。図１は、実施形態に係る通信制御処理の一例を示す図である。図１では、実施形態に係る通信制御装置において、実施形態に係る通信制御プログラムが実行する通信制御処理の一例について説明する。具体的には、図１では、実施形態に係る通信制御装置の一例であるユーザ端末１０が、ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデル（以下、単に「モデル」と表記する場合がある）とを取得し、取得した位置情報とモデルにおける位置情報との比較に基づいて、取得された位置情報のサーバへの送信を制御する処理の一例を示す。
【００１２】
図１に示す管理サーバ１００は、ユーザ端末１０から送信される位置情報を取得し、取得した位置情報を管理するサーバ装置である。また、管理サーバ１００は、ユーザ端末１０から取得した位置情報に基づいて、当該ユーザ端末１０を利用するユーザの日常的な行動を示したモデルであるモデルを生成する。
【００１３】
例えば、管理サーバ１００は、ユーザが利用するユーザ端末１０にインストールされたアプリの機能を介して、ユーザから定期的に位置情報を取得する。実施形態では、管理サーバ１００は、例えば、ユーザの位置情報を利用して交通案内を行うナビアプリに係るサービスや、通話やメッセージのやり取り等を行うコミュニケーションアプリに係るサービスや、ログインしたユーザに様々な情報を提供するポータルアプリに係るサービス等を管理する。そして、管理サーバ１００は、このようなサービスの利用に伴い、ユーザ端末１０から位置情報を定期的かつ継続的に取得する。なお、管理サーバ１００は、サービスを提供する事業者等からユーザの位置情報を取得してもよい。
【００１４】
図１に示すユーザ端末１０は、スマートフォン等の情報処理端末である。実施形態では、ユーザ端末１０は、ユーザの一例であるユーザＵ０１によって利用される。以下では、ユーザ端末１０をユーザと読み替える場合がある。例えば、「ユーザＵ０１が位置情報を送信する」とは、実際には、「ユーザＵ０１が利用するユーザ端末１０が位置情報を送信する」ことを意味する場合がある。
【００１５】
ユーザ端末１０は、例えばＧＰＳ（Global  Positioning  System）等を利用して、自装置が所在する位置（例えば経度や緯度の数値等）を検知し、検知した位置を示す情報である位置情報を取得する。なお、位置情報は、位置を示す情報のみならず、その位置が検知された時間を含んでもよい。そして、ユーザ端末１０は、例えば利用するアプリの制御に従い、検知した位置情報を管理サーバ１００に送信する。具体的には、ユーザ端末１０は、管理サーバ１００によって管理されるアプリであるナビアプリやコミュニケーションアプリの制御（機能）に従い、定期的かつ継続的に位置情報を管理サーバ１００に送信する。ユーザ端末１０から送信される位置情報は、管理サーバ１００が有する記憶部に蓄積され、種々の情報処理に利用される。
【００１６】
上記のように、ユーザ端末１０は、アプリ等の利用に伴い、位置情報を管理サーバ１００に送信する。また、管理サーバ１００等のサービス提供者は、送信された位置情報を利用した情報処理を行う。例えば、管理サーバ１００は、ユーザの所在地に合わせたナビサービスを提供したり、ユーザの所在地に適したプッシュ通知（広告やクーポン等）を配信したりする。しかしながら、位置情報の取得処理や、取得した位置情報の管理サーバ１００への送信処理は、定期的かつ継続的に行われるため、ユーザ端末１０のリソース（例えばバッテリーやメモリ等）を消費する。例えば、ユーザ端末１０は、ある位置にユーザが所在したことを管理サーバ１００に通知するためにバックグラウンドでも位置情報の取得を継続し、継続した位置情報を送信する。このため、ユーザ端末１０は、ユーザに意識させることなくユーザ端末１０のリソースを消費することがある。このような仕様は、ユーザにアプリのインストールを躊躇させたり、バッテリーを短時間で枯渇させてしまったりといった事態を招くおそれがある。
【００１７】
そこで、実施形態に係るユーザ端末１０は、ユーザの日常的な行動を示したモデルを取得し、その後、取得した位置情報について、モデルにおける位置情報との比較処理を行う。そして、ユーザ端末１０は、新たに取得した位置情報と、モデルにおける位置情報との比較に基づいて、新たに取得した位置情報のサーバへの送信を制御する。
【００１８】
詳細は後述するが、管理サーバ１００が生成するモデルには、ユーザの日常的な行動に基づき、ユーザが所在すると推定される位置と、所在する時間とを対応付けた位置情報が記憶される。具体的には、モデルには、当該モデルに対応するユーザが、平日の朝７時には自宅に所在し、平日の昼１２時には勤務先に所在する、といった当該ユーザの日常的な位置の推移を示す情報が記憶される。すなわち、実施形態に係るモデルとは、モデルに対応するユーザの行動パターンと読み替えてもよい。そして、ユーザ端末１０は、当該モデルを管理サーバ１００から取得しておき、新たに位置情報を取得した場合には当該モデルの位置情報と比較して、新たに取得した位置情報とモデルとの乖離を判定する。そして、ユーザ端末１０は、新たに取得した位置情報と、モデルにおける位置情報とが所定の閾値を超える場合に限り、新たに取得した位置情報を管理サーバ１００に送信する。一方、ユーザ端末１０は、新たに取得した位置情報と、モデルの位置情報とが所定の閾値未満の場合、新たに取得した位置情報を管理サーバ１００に送信しないよう制御する。すなわち、ユーザ端末１０は、モデルに基づいて、「ユーザが日常的な行動をとっている」と判定した場合には、位置情報を管理サーバ１００に送信する処理を省略する。一方、ユーザ端末１０は、モデルに基づいて、「ユーザが日常的な行動をとっていない」と判定した場合には、管理サーバ１００との取り決めに従い、位置情報を管理サーバ１００に送信する。かかる制御により、ユーザ端末１０は、位置情報の送信処理の負荷を抑えることができるため、リソースの消費を軽減することができる。
【００１９】
また、管理サーバ１００は、本来位置情報の送信が行われるタイミングにおいてユーザ端末１０から位置情報が送信されなかった場合に、当該ユーザの位置情報を取得できなかったものとして処理するのではなく、モデルにおいて示される位置にユーザが所在していたと推定する。すなわち、管理サーバ１００は、ユーザ端末１０から位置情報を取得できなかったと判定せず、ユーザが日常的な行動を行っていたと仮定して、情報処理を実行する。これにより、管理サーバ１００は、位置情報が取得できなくとも、日常的にユーザに対して実行している情報処理（例えば、サービスの提供）を待機することなく、通常の処理を実行することができる。すなわち、実施形態による通信制御処理によれば、ユーザ端末１０の電力の消費を抑制しつつ、精度の高い位置情報を管理サーバ１００が取得することができる。以下、図１を用いて、実施形態に係る通信制御処理の流れについて説明する。
【００２０】
まず、ユーザ端末１０は、ユーザＵ０１によってインストールされたアプリ等の制御に従い、位置情報を管理サーバ１００に送信する（ステップＳ０１）。例えば、ユーザ端末１０は、アプリに設定されたタイミング（例えば、１０分毎や１５分毎など）で、継続的に位置情報を管理サーバ１００に送信する。なお、ユーザ端末１０は、管理サーバ１００がモデルを生成するために充分な期間（例えば１か月間など）に渡り、定期的に位置情報を送信するものとする。
【００２１】
管理サーバ１００は、取得した位置情報を位置情報記憶部１２２に記憶する。そして、管理サーバ１００は、モデル生成に充分な情報量が蓄積された場合に、ユーザごとにモデルを生成する（ステップＳ０２）。図１の例では、管理サーバ１００は、ユーザＵ０１に対応するモデルを生成する。例えば、管理サーバ１００は、時間帯ごと、また、曜日ごとにユーザＵ０１のモデルを生成する。詳細は後述するが、管理サーバ１００は、例えば既知の統計処理に従い、平日の朝１１時にはユーザＵ０１が所定領域（例えばユーザＵ０１の勤務先近辺）に所在し、休日の朝１１時にはユーザＵ０１が別の領域（例えばユーザＵ０１の自宅近辺）に所在する、といったことを示した、ユーザＵ０１に対応した行動モデルを生成する。管理サーバ１００は、時間帯ごと、また、曜日ごとのモデルを生成し、生成したモデルをモデル記憶部１２３に記憶する。
【００２２】
続いて、管理サーバ１００は、生成したモデルをユーザ端末１０に送信する（ステップＳ０３）。ユーザ端末１０は、管理サーバ１００からモデルを取得し、モデルテーブル１５２に記憶する。
【００２３】
その後、ユーザ端末１０が新たに位置情報を取得した場合、ユーザ端末１０は、モデルを利用して位置情報の送信を制御する（ステップＳ０４）。具体的には、ユーザ端末１０は、新たに取得した位置情報と、モデルにおける位置情報とにおいて、それぞれが同じ時間帯で異なる位置を示す場合に、互いの位置を示す情報（例えば、緯度や経度の座標を示す数値）が所定の閾値未満の場合には、新たに取得した位置情報を管理サーバ１００に送信しないよう、通信処理を制御する。
【００２４】
一方、ユーザ端末１０は、新たに取得した位置情報と、モデルにおける位置情報とにおいて、それぞれが同じ時間帯で異なる位置を示す場合に、互いの位置を示す情報が所定の閾値を超える場合には、新たに取得した位置情報を管理サーバ１００に送信するよう、通信処理を制御する。例えば、ユーザ端末１０は、互いの位置を示す情報に基づき、モデルが示す位置と、現在のユーザの所在地とが約百メートルを超えた位置を示している場合等に、新たに取得した位置情報を抽出し、抽出した位置情報のみを管理サーバ１００に送信する（ステップＳ０５）。
【００２５】
管理サーバ１００は、ユーザ端末１０から送信された位置情報を取得する（ステップＳ０６）。また、管理サーバ１００は、仮に、本来位置情報の送信が行われるタイミングにおいてユーザ端末１０から位置情報が送信されなかった場合には、モデルに基づいて、ユーザＵ０１の位置情報を推定し、推定した位置情報を記憶する（ステップＳ０７）。
【００２６】
例えば、管理サーバ１００は、所定の平日朝７時においてユーザ端末１０から位置情報を取得する予定であるにもかかわらず、ユーザ端末１０から位置情報が送信されなかったとする。この場合、管理サーバ１００は、所定の平日朝７時における位置情報を空白とするのではなく、ユーザＵ０１の「平日朝の時間帯」の行動を示すモデルに基づいて、ユーザＵ０１の所在する位置を推定する。そして、管理サーバ１００は、推定した位置に対応する位置情報（日常的にユーザＵ０１が所在する位置を示す情報と、朝７時という時間情報とが対応付けられた情報）を位置情報記憶部１２２に記憶する。なお、管理サーバ１００は、位置情報記憶部１２２に位置情報を格納する際に、当該位置情報がユーザ端末１０から取得した位置情報か、あるいは、モデルに基づいて推定した位置情報であるかを識別する情報を付与してもよい。
【００２７】
図１を用いて説明してきたように、実施形態に係るユーザ端末１０は、ユーザＵ０１の位置を示す位置情報と、ユーザＵ０１の日常的な行動を示したモデルを取得する。そして、ユーザ端末１０は、取得された位置情報とモデルにおける位置情報との比較に基づいて、取得された位置情報のサーバへの送信を制御する。また、実施形態に係る管理サーバ１００は、ユーザＵ０１が利用するユーザ端末１０から取得した位置情報に基づいて、ユーザＵ０１の日常的な行動を示したモデルを生成する。そして、管理サーバ１００は、生成したモデルをユーザ端末１０に送信する。さらに、管理サーバ１００は、モデルが送信されたユーザ端末１０から、所定時間において位置情報が送信されない場合には、モデルにおける当該所定時間に対応した位置情報をユーザＵ０１の位置情報と推定する。
【００２８】
これにより、ユーザ端末１０は、ユーザＵ０１が日常的な行動を採っている場合には、位置情報を送信する処理を省略できるので、ユーザ端末１０のバッテリー等のリソースの低下や、情報処理の負荷を低減することができる。また、管理サーバ１００は、ユーザ端末１０から位置情報を取得できなくても、モデルに基づいてユーザＵ０１の日常的な行動を推定できるため、ユーザＵ０１の行動に合わせた情報処理（サービスの提供等）を実行することができる。
【００２９】
なお、ユーザ端末１０は、上述した処理を任意の手法で実現することができる。例えば、ユーザ端末１０は、予め上記のような通信制御処理を実行するための制御情報（スクリプト）が含まれたアプリを実行することにより、上記の通信制御処理を実現してもよい。あるいは、ユーザ端末１０は、ＳＤＫ（Software  Development  Kit）やＯＳ（Operating  System）に組み込まれる制御情報を実行することで、上記のような通信制御処理を実行してもよい。なお、このような制御情報は、実施形態に係る通信制御プログラムに対応するものであり、例えば、ＣＳＳ（Cascading  Style  Sheets）、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＨＴＭＬ、あるいは、上述した通信制御処理を記述可能な任意の言語あるいは任意のプログラムによって実現される。以下、実施形態に係る通信制御プログラムに従って上述した通信制御処理を実行するユーザ端末１０や、実施形態に係る管理サーバ１００等について、詳細に説明する。
【００３０】
〔２．通信制御システムの構成〕
次に、図２を用いて、実施形態に係る通信制御システム１の構成について説明する。図２は、実施形態に係る通信制御システム１の構成例を示す図である。図２に例示するように、実施形態に係る通信制御システム１には、ユーザ端末１０と管理サーバ１００とが含まれる。これらの各種装置は、ネットワークＮを介して、有線又は無線により通信可能に接続される。また、図２に示す通信制御システム１に含まれる各装置の数は図示したものに限られない。例えば、通信制御システム１には、複数台のユーザ端末１０や複数台の管理サーバ１００が含まれてもよい。
【００３１】
ユーザ端末１０は、上述のように、スマートフォンを含む携帯電話機や、タブレット端末や、デスクトップ型ＰＣ（Personal  Computer）や、ノート型ＰＣや、ＰＤＡ（Personal  Digital  Assistant）等の情報処理端末である。また、ユーザ端末１０には、眼鏡型や時計型の情報処理端末であるウェアラブルデバイス（wearable  device）も含まれる。さらに、ユーザ端末１０には、位置情報を取得するための情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末１０には、ＴＶ（Television）や冷蔵庫、掃除機などのスマート家電や、自動車などのスマートビークル（Smart  vehicle）や、ドローン（drone）、家庭用ロボットなどが含まれてもよい。なお、実施形態に係るアプリは、スマートフォン等のモバイル端末で実行されるアプリに限られず、上記したスマート家電等で実行されるアプリであってもよい。
【００３２】
ユーザ端末１０は、ユーザによる操作や、ユーザ端末１０が有する機能に応じて、自装置の位置情報を取得し、記憶する。例えば、ユーザ端末１０は、上述したＧＰＳシステムなどの外部システムと通信を行うことによって位置情報を取得する。そして、ユーザ端末１０は、取得した位置情報を管理サーバ１００に送信する。
【００３３】
管理サーバ１００は、ユーザ端末１０から取得した位置情報に基づいて、ユーザごとの行動モデルを生成するサーバ装置である。また、管理サーバ１００は、取得した位置情報を利用したサービスをユーザに提供するサービスサーバであってもよい。例えば、管理サーバ１００は、ユーザの位置情報に基づいて交通案内等を発信するナビアプリに関するサービスや、通話やメッセージのやり取りを行うコミュニケーションアプリに関するサービスや、ポータルアプリに関するポータルサービス等を提供する。なお、管理サーバ１００は、上記サービス以外にも、種々のサービスを提供してもよい。また、管理サーバ１００は、サービスに係るウェブサイトを提供するウェブサーバとしての機能を有していてもよい。例えば、管理サーバ１００は、ポータルサイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス（株価）サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関連する各種情報を含むウェブページをユーザ端末１０に配信してもよい。
【００３４】
〔３．ユーザ端末の構成〕
次に、図３を用いて、実施形態に係るユーザ端末１０の構成について説明する。図３は、実施形態に係るユーザ端末１０の構成例を示す図である。図３に示すように、ユーザ端末１０は、通信部１１と、入力部１２と、表示部１３と、検知部１４と、記憶部１５と、制御部１６とを有する。
【００３５】
（通信部１１について）
通信部１１は、ネットワークＮと有線又は無線で接続され、管理サーバ１００等との間で情報の送受信を行う。通信部１１は、例えばＮＩＣ（Network  Interface  Card）等によって実現される。
【００３６】
（入力部１２及び表示部１３について）
入力部１２は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部１２は、ユーザ端末１０に備えられた操作キー等によって実現される。表示部１３は、各種情報を表示するための表示装置である。例えば、表示部１３は、液晶ディスプレイ等によって実現される。なお、ユーザ端末１０にタッチパネルが採用される場合には、入力部１２の一部と表示部１３とは一体化される。
【００３７】
（検知部１４について）
検知部１４は、ユーザ端末１０に関する各種情報を検知する。具体的には、検知部１４は、ユーザ端末１０に対するユーザの操作や、ユーザ端末１０の所在する位置情報や、ユーザ端末１０と接続されている機器に関する情報や、ユーザ端末１０における環境等を検知する。図３に示す例では、検知部１４は、操作検知部１４１と、位置検知部１４２と、外部装置検知部１４３と、環境検知部１４４とを有する。
【００３８】
（操作検知部１４１について）
操作検知部１４１は、ユーザ端末１０に対するユーザの操作を検知する。例えば、操作検知部１４１は、入力部１２に入力された情報に基づいて、ユーザの操作を検知する。すなわち、操作検知部１４１は、入力部１２に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、操作検知部１４１は、ユーザによって所定のアプリが起動されたことを検知してもよい。かかるアプリがユーザ端末１０内の撮像装置を動作させるアプリである場合、操作検知部１４１は、ユーザによって撮像機能が利用されていることを検知する。また、操作検知部１４１は、ユーザ端末１０内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末１０自体が動かされているといった操作を検知してもよい。
【００３９】
（位置検知部１４２について）
位置検知部１４２は、ユーザ端末１０の現在位置を検知する。具体的には、位置検知部１４２は、ＧＰＳ衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末１０の現在位置を示す位置（例えば、緯度及び経度）を検知する。
【００４０】
位置検知部１４２は、種々の手法により位置を検知することができる。例えば、位置検知部１４２は、ＧＰＳ衛星に限らず、ユーザ端末１０の様々な通信機能を利用して位置を検知してもよい。
【００４１】
例えば、位置検知部１４２は、ユーザ端末１０のＷｉ−Ｆｉ（登録商標）通信機能や、各通信会社が備える通信網を利用して、ユーザ端末１０の位置を検知する。具体的には、位置検知部１４２は、Ｗｉ−Ｆｉ通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、自装置の位置を検知する。
【００４２】
また、位置検知部１４２は、ユーザ端末１０のＢｌｕｅｔｏｏｔｈ（登録商標）機能を利用して位置を検知してもよい。例えば、位置検知部１４２は、Ｂｌｕｅｔｏｏｔｈ機能によって接続されるビーコン（ｂｅａｃｏｎ）発信機と接続することにより、自装置の位置を検知する。
【００４３】
また、位置検知部１４２は、加速度センサやジャイロセンサ等を利用したＰＤＲ（Pedestrian  Dead  Reckoning）技術を利用して自装置の位置を検知してもよい。また、位置検知部１４２は、予め測定された構造物の地磁気のパターンと、自装置が備える地磁気センサとに基づいて、自装置の位置を検知してもよい。
【００４４】
また、例えば、ユーザ端末１０が駅改札や商店等で使用される非接触型ＩＣカードと同等の機能を備えている場合（もしくは、ユーザ端末１０が非接触型ＩＣカードの履歴を読み取る機能を備えている場合）、ユーザ端末１０によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。位置検知部１４２は、かかる情報を取得することで、ユーザ端末１０の位置を検知してもよい。また、位置は、ユーザ端末１０が備える光学式センサや、赤外線センサ等によって検知されてもよい。
【００４５】
位置検知部１４２は、上述した手法の一つ又は組合せを用いて、自装置の位置を検知する。そして、後述する取得部１６１は、位置検知部１４２が検知した位置と、検知した時間との情報に基づいて、ユーザ端末１０の位置情報を取得する。
【００４６】
（外部装置検知部１４３について）
外部装置検知部１４３は、ユーザ端末１０に接続される外部装置を検知する。例えば、外部装置検知部１４３は、外部装置との相互の通信パケットのやり取りなどに基づいて、外部装置を検知する。そして、外部装置検知部１４３は、検知した外部装置をユーザ端末１０と接続される端末として認識する。また、外部装置検知部１４３は、外部装置との接続の種類を検知してもよい。例えば、外部装置検知部１４３は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、外部装置検知部１４３は、無線通信で用いられている通信方式等を検知してもよい。また、外部装置検知部１４３は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
【００４７】
（環境検知部１４４について）
環境検知部１４４は、ユーザ端末１０における環境を検知する。環境検知部１４４は、ユーザ端末１０に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、環境検知部１４４は、ユーザ端末１０の周囲の音を収集するマイクロフォンや、ユーザ端末１０の周囲の照度を検知する照度センサや、ユーザ端末１０の物理的な動きを検知する加速度センサ（又は、ジャイロセンサなど）や、ユーザ端末１０の周囲の湿度を検知する湿度センサや、ユーザ端末１０の所在位置における磁場を検知する地磁気センサ等を利用する。そして、環境検知部１４４は、各種センサを用いて、種々の情報を検知する。例えば、環境検知部１４４は、ユーザ端末１０の周囲における騒音レベルや、ユーザ端末１０の周囲が撮像に適する照度であるか等を検知する。さらに、環境検知部１４４は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。
【００４８】
なお、環境検知部１４４は、ユーザ端末１０におけるリソースの状況を検知してもよい。例えば、環境検知部１４４は、リソースの状況として、ユーザ端末１０内部のハードウェアに関するリソースを検知する。例えば、環境検知部１４４は、リソースの状況として、ユーザ端末１０のバッテリー残量を検知する。また、環境検知部１４４は、各アプリのバッテリー（電力）消費量等を検知してもよい。
【００４９】
（記憶部１５について）
記憶部１５は、各種情報を記憶する。記憶部１５は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図３に示すように、記憶部１５は、データテーブルとして、位置情報テーブル１５１と、モデルテーブル１５２とを有する。
【００５０】
（位置情報テーブル１５１について）
位置情報テーブル１５１は、位置情報を記憶する。ここで、図４に、実施形態に係る位置情報テーブル１５１の一例を示す。図４は、実施形態に係る位置情報テーブル１５１の一例を示す図である。図４に示した例では、位置情報テーブル１５１は、「位置情報ＩＤ」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」といった小項目を有する。
【００５１】
「位置情報ＩＤ」は、位置情報を識別する識別情報を示す。なお、実施形態において、識別情報は、説明に用いる参照符号として用いる場合がある。例えば、位置情報ＩＤ「Ｂ０１」で識別される位置情報は、「位置情報Ｂ０１」と表記される場合がある。
【００５２】
「位置情報」は、検知部１４によって検知されたユーザの位置を含む情報を示す。「取得日時」は、位置がユーザ端末１０によって検知（取得）された日時を示す。図４では、取得日時を「Ｔ０１」といった概念で表記しているが、実際には、取得日時の項目には、ユーザの位置が測位された日時を示す情報や、曜日を示す情報等が記憶される。「位置」は、ユーザ（言い換えればユーザ端末１０）の具体的な位置を示す。図４では、位置を「Ｇ０１」といった概念で表記しているが、実際には、位置の項目には、ユーザの位置を示す具体的な情報（例えば経度や緯度の座標を示す数値等）が記憶される。なお、位置Ｇ０１とは、具体的な１点のみの位置を示すものではなく、所定範囲（例えば、ある座標から半径数十メートルなど）の範囲を示す情報であってもよい。
【００５３】
「精度」は、ユーザの位置を示す情報の精度を示す。実施形態では、精度は、例えば「低」、「中」、「高」の三段階で示される。精度は、例えば、ユーザ端末１０によって位置が検知された際の検知手段に基づき、ユーザの位置を特定することのできる精度に応じて記憶される。具体的には、ユーザの位置を特定する際に数十メートルから数百メートルの誤差が生じるような検知手段（例えば検知手段がＧＰＳのみであった場合等）の場合、取得された位置情報の精度は「低」となる。また、精度が「低」である位置情報と比較して精度の高い検知手段（例えば、検知手段がＷｉ−ＦｉやＧＰＳ等を組み合わせたものであった場合等）の場合、当該検知手段によって取得された位置情報の精度は「中」となる。また、精度が「中」である位置情報と比較して精度の高い検知手段（例えば、検知手段がＢｌｕｅｔｏｏｔｈ（ビーコン）を利用したものであった場合等）の場合、当該検知手段によって取得された位置情報の精度は「高」となる。なお、上記した精度の判定は一例であり、管理サーバ１００は、位置情報の検知の技術に応じて柔軟に精度の判定基準を変更してもよい。
【００５４】
「各種センサ情報」は、位置が検知された際に、各種センサによって検知された情報を示す。図４では、各種センサ情報を「Ｘ０１」といった概念で表記しているが、実際には、各種センサ情報の項目には、ユーザ端末１０の加速度や気温や湿度、周辺の音声情報等の各種センサによって取得された具体的な情報が記憶される。
【００５５】
すなわち、図４では、位置情報テーブル１５１に記憶されるデータの一例として、位置情報ＩＤ「Ｂ０１」で識別される位置情報Ｂ１１は、取得日時「Ｔ０１」において位置「Ｇ０１」にユーザＵ０１が所在し、その位置の精度は「中」であり、各種センサ情報が「Ｘ０１」であることを示している。
【００５６】
なお、図４での図示は省略したが、位置情報テーブル１５１には、位置情報とともに、ユーザを識別するための識別情報や属性情報等が記憶されてもよい。
【００５７】
ユーザの識別情報は、例えば、管理サーバ１００が提供する各サービスにおいてユーザに共通して付与されるサービス用ＩＤ（ユーザアカウント）等である。管理サーバ１００は、ユーザを一意に識別する識別情報を利用することで、ユーザ端末１０から取得した位置情報とユーザとを対応付ける。かかるＩＤは、管理サーバ１００のみならず、管理サーバ１００と提携した事業者（所定のサービス提供者）によって発行されてもよい。これにより、管理サーバ１００は、一人のユーザが複数のユーザ端末１０を利用していたり、異なる環境でサービスにログインしていたりする場合でも、当該ユーザを一意に特定して位置情報を取得することができる。なお、管理サーバ１００は、ユーザの識別情報として、サービスを利用した際のクッキー（Cookie）情報や、端末固有の端末ＩＤ等を利用してもよい。
【００５８】
また、ユーザの属性情報は、ユーザの年齢や性別や職業や年収や居住地等の種々のユーザの属性を示す情報である。また、位置情報テーブル１５１には、各アプリにおけるユーザの利用履歴等が記憶されてもよい。
【００５９】
（モデルテーブル１５２について）
モデルテーブル１５２は、管理サーバ１００から送信されたモデルであって、ユーザ端末１０を利用するユーザの日常的な行動の推移に関する情報を示したモデルを記憶する。ここで、図５に、実施形態に係るモデルテーブル１５２の一例を示す。図５は、実施形態に係るモデルテーブル１５２の一例を示す図である。図５に示すように、モデルテーブル１５２は、「モデルＩＤ」、「判定時間帯」といった項目を有する。
【００６０】
「モデルＩＤ」は、モデルを識別する識別情報を示す。「判定時間帯」は、当該モデルが判定に用いられる時間帯や曜日（平日であるか、あるいは土日や祭日等の休日であるか等）に関する情報を示す。例えば、ユーザ端末１０は、モデルを管理サーバ１００から受信したのちに、新たに位置情報を取得した場合には、モデルごとの判定時間帯を参照し、取得した日時に対応するモデルを用いて、新たに取得した位置情報を管理サーバ１００に送信するか否かを判定する処理を行う。
【００６１】
すなわち、図５では、モデルテーブル１５２に記憶される情報の一例として、モデルＩＤ「Ｍ０１」で識別されるモデルＭ０１は、判定時間帯が「６時〜１０時、平日」であることを示している。
【００６２】
（制御部１６について）
制御部１６は、例えば、コントローラ（controller）であり、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、ユーザ端末１０内部の記憶装置に記憶されている各種プログラム（例えば、実施形態に係る通信制御プログラム）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１６は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００６３】
図３に示すように、制御部１６は、取得部１６１と、通信制御部１６２と、送信部１６３とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１６の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１６が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００６４】
上述のように、制御部１６に係る各処理部は、制御情報（例えば、実施形態に係る通信制御プログラム）がＲＡＭを作業領域として実行されることにより実現される。すなわち、取得部１６１が実行する処理は、制御情報が実行させる取得手順により実現され、通信制御部１６２が実行する処理は、制御情報が実行させる通信制御手順により実現され、送信部１６３が実行する処理は、制御情報が実行させる送信手順により実現される。
【００６５】
（取得部１６１について）
取得部１６１は、各種情報を取得する。例えば、取得部１６１は、各アプリの設定に基づいて検知部１４を制御することにより、検知部１４によって検知される各種情報を取得する。例えば、取得部１６１は、位置検知部１４２によって検知された情報に基づいて、ユーザ端末１０の位置情報を取得する。なお、取得部１６１は、位置情報に限らず、ユーザ端末１０の周囲の環境に関する情報等の各種センサ情報を含む、ユーザ端末１０のコンテキストに関する情報を取得してもよい。取得部１６１は、取得した位置情報を位置情報テーブル１５１に格納する。
【００６６】
また、取得部１６１は、ユーザ端末１０を利用するユーザごとの生成された行動モデルを取得する。例えば、取得部１６１は、時間帯ごとに生成されたモデルや、曜日ごとに生成されたモデルを取得する。取得部１６１は、取得したモデルをモデルテーブル１５２に格納する。
【００６７】
（通信制御部１６２について）
通信制御部１６２は、取得部１６１によって取得された位置情報とモデルにおける位置情報との比較に基づいて、取得部１６１によって取得された位置情報の管理サーバ１００への送信を制御する。
【００６８】
例えば、通信制御部１６２は、取得部１６１によって取得された位置情報とモデルにおける位置情報との相違が所定の閾値以上であれば、位置情報を管理サーバ１００へ送信するよう制御する。閾値としては、例えば、取得部１６１によって取得された位置情報の位置を示す情報（例えば、緯度経度の座標を示す数値）と、モデルにおける位置情報の位置を示す情報とを比較した場合に、ユーザが略同一の位置に所在すると判定される数値が適宜設定される。すなわち、通信制御部１６２は、ユーザが日常的に観測される位置に所在しないことを示す位置情報が取得された場合に、当該位置情報を管理サーバ１００に送信する。
【００６９】
また、通信制御部１６２は、取得部１６１によって取得された位置情報とモデルにおける位置情報との相違が所定の閾値未満の場合には、位置情報を管理サーバ１００へ送信しないよう制御する。すなわち、通信制御部１６２は、ユーザが日常的に観測される位置に所在している場合には、当該位置情報を管理サーバ１００に送信する処理を省略する。これにより、通信制御部１６２は、ユーザ端末１０の通信負荷や電力消費を削減することができる。
【００７０】
なお、通信制御部１６２は、取得部１６１によって取得された位置情報を管理サーバ１００へ送信しないよう制御したのちに、ユーザ端末１０に対して電力が供給された場合には、当該位置情報を管理サーバ１００へ送信するよう制御してもよい。
【００７１】
上述のように、通信制御部１６２は、電力消費量を抑制する観点から、位置情報の管理サーバ１００への送信を省略する。このため、通信制御部１６２は、電力消費を抑制する必要のなくなった場合、具体的にはユーザ端末１０に対して電力が供給された場合（例えば、ユーザ端末１０が充電器と接続された場合等）に、送信を省略していた位置情報をまとめて管理サーバ１００に送信するようにしてもよい。これにより、管理サーバ１００は、モデルに基づいて推定していたユーザの位置情報を、正確な位置情報に置き換えることができる。
【００７２】
また、通信制御部１６２は、取得した位置情報の時間帯や曜日に合わせたモデルを用いて通信制御処理を実行する。すなわち、通信制御部１６２は、取得部１６１によって位置情報が取得された際の時間帯と、時間帯ごとに生成されたモデルとに基づいて、取得部６１によって取得された位置情報の管理サーバ１００への送信を制御する。また、通信制御部１６２は、取得部１６１によって位置情報が取得された際の曜日と、曜日ごとに生成されたモデルとに基づいて、取得部６１によって取得された位置情報の管理サーバ１００への送信を制御する。これにより、通信制御部１６２は、時間帯や曜日ごとに生成された、よりユーザの行動を的確に示したモデルとの比較に基づいて管理サーバ１００への通信を制御できる。
【００７３】
（送信部１６３について）
送信部１６３は、各種情報を送信する。例えば、送信部１６３は、取得部１６１によって取得された位置情報を管理サーバ１００に送信する。具体的には、送信部１６３は、検知部１４によって検知されたユーザの位置と、検知した日時と、ユーザを識別するための識別情報とを対応付けた位置情報を管理サーバ１００に送信する。
【００７４】
また、送信部１６３は、管理サーバ１００によってモデルが生成された後には、通信制御部１６２の処理に従い、管理サーバ１００に送信すると判定された位置情報のみを抽出し、抽出した位置情報を管理サーバ１００へ送信する。
【００７５】
〔４．管理サーバの構成〕
次に、図６を用いて、実施形態に係る管理サーバ１００の構成について説明する。図６は、実施形態に係る管理サーバ１００の構成例を示す図である。図６に示すように、管理サーバ１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、管理サーバ１００は、管理サーバ１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００７６】
（通信部１１０について）
通信部１１０は、例えばＮＩＣ等によって実現される。通信部１１０は、ネットワークＮと有線又は無線で接続され、ネットワークＮを介して、ユーザ端末１０等との間で情報の送受信を行う。
【００７７】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、ユーザ情報記憶部１２１と、位置情報記憶部１２２と、モデル記憶部１２３とを有する。
【００７８】
（ユーザ情報記憶部１２１について）
ユーザ情報記憶部１２１は、ユーザに関する情報を記憶する。ここで、図７に、実施形態に係るユーザ情報記憶部１２１の一例を示す。図７は、実施形態に係るユーザ情報記憶部１２１の一例を示す図である。図７に示すように、ユーザ情報記憶部１２１は、「ユーザＩＤ」、「端末ＩＤ」、「属性情報」といった項目を有する。
【００７９】
「ユーザＩＤ」は、ユーザを識別する識別情報を示す。「端末ＩＤ」は、ユーザが利用するユーザ端末１０を識別する識別情報を示す。なお、各ユーザは、複数の端末を所有していてもよい。
【００８０】
「属性情報」は、ユーザの属性に関する情報を示す。図７では、属性情報を「Ｄ０１」といった概念で表記しているが、実際には、属性情報の項目には、ユーザの年齢や性別や職業や年収や居住地等の種々の具体的な情報が記憶される。
【００８１】
すなわち、図７では、ユーザ情報記憶部１２１に記憶されるデータの一例として、ユーザＩＤ「Ｕ０１」によって示されるユーザＵ０１が、端末ＩＤ「Ｃ０１」で識別されるユーザ端末１０を利用していることを示している。また、ユーザＵ０１の属性情報が「Ｄ０１」であることを示している。
【００８２】
なお、図７での図示は省略したが、ユーザ情報記憶部１２１には、アプリの利用履歴等に基づいて、ユーザの興味関心情報や、ユーザの行動履歴等が記憶されてもよい。例えば、興味関心情報は、種々のアプリの利用を介して、管理サーバ１００によってユーザに設定される情報（ユーザの購買履歴や検索履歴から、ユーザが興味関心を抱いていると想定されるカテゴリや情報の内容等）である。また、行動履歴情報は、種々のアプリにおけるユーザの行動履歴（ナビアプリに基づく移動履歴や目的地の履歴、ウェブページ等の閲覧履歴や、商品の購買履歴や、検索履歴等）である。
【００８３】
（位置情報記憶部１２２について）
位置情報記憶部１２２は、ユーザ端末１０から送信された位置情報を記憶する。ここで、図８に、実施形態に係る位置情報記憶部１２２の一例を示す。図８は、実施形態に係る位置情報記憶部１２２の一例を示す図である。図８に示した例では、位置情報記憶部１２２は、「ユーザＩＤ」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」、「推定情報」といった小項目を有する。
【００８４】
「ユーザＩＤ」は、図５に示した同一の項目に対応する。「位置情報」、「取得日時」、「位置」、「精度」及び「各種センサ情報」は、図４に示した同一の項目に対応する。
【００８５】
「推定情報」は、位置情報記憶部１２２に記憶された情報が、ユーザ端末１０から送信された位置情報か、管理サーバ１００が推定した位置情報であるかを示す。図８の例では、位置情報がユーザ端末１０から送信されたものである場合、推定情報の項目には「０」が記憶され、位置情報がユーザ端末１０から送信されたものでない場合、推定情報の項目には「１」が記憶される。なお、位置情報が管理サーバ１００から推定されたものである場合、位置情報には、モデルに基づいて取得日時に対応する時間にユーザが所在すると推定される位置を示す情報が記憶される。この場合、精度や各種センサ情報等の項目の情報は記憶されなくてもよい。
【００８６】
すなわち、図８では、位置情報記憶部１２２に記憶されるデータの一例として、ユーザＩＤ「Ｕ０１」によって識別されるユーザＵ０１から送信された位置情報の一例として、取得日時「Ｔ０１」において位置「Ｇ０１」にユーザＵ０１が所在し、その位置の精度は「中」であり、各種センサ情報が「Ｘ０１」であることを示している。また、管理サーバ１００が推定した位置情報の一例として、取得日時「Ｔ１１」において位置「Ｇ０１」にユーザＵ０１が所在していると推定した位置情報が記憶されていることを示している。
【００８７】
（モデル記憶部１２３について）
モデル記憶部１２３は、ユーザ端末１０を利用するユーザの日常的な行動の推移に関する情報を示したモデルを記憶する。ここで、図９に、実施形態に係るモデル記憶部１２３の一例を示す。図９は、実施形態に係るモデル記憶部１２３の一例を示す図である。図９に示すように、モデル記憶部１２３は、「ユーザＩＤ」、「モデルＩＤ」、「判定時間帯」、「利用データ群」、「推定情報」といった項目を有する。また、推定情報は、「取得日時」、「位置」といった小項目を有する。
【００８８】
「ユーザＩＤ」は、図５に示した同一の項目に対応する。「モデルＩＤ」及び「判定時間帯」は、図６に示した同一の項目に対応する。「利用データ群」は、モデルの生成において用いられた位置情報の群を示す。図９では、利用データ群を「Ｐ０１」といった概念で表記しているが、実際には、利用データ群の項目には、判定時間帯に対応する複数の位置情報（判定時間帯が「６時〜１０時、平日」であれば、所定期間に渡り当該時間帯において取得された複数の位置情報）が記憶される。利用データ群は、モデル生成のための学習データと読み替えてもよい。
【００８９】
「推定情報」は、モデルとして記憶されているユーザの位置情報を示す。例えば、推定情報は、取得日時と位置とが対応付けられた情報として記憶される。仮に、管理サーバ１００が、ユーザＵ０１が利用するユーザ端末１０から「平日の６時」に位置情報を取得する予定であったものとする。このとき、ユーザ端末１０から位置情報が送信されなかった場合、管理サーバ１００は、「平日の６時」に該当する「推定情報」の項目を参照する。そして、管理サーバ１００は、当該位置情報が送信される予定であった日の位置情報を、時間「６時」及び位置「Ｇ０１」と推定する。そして、管理サーバ１００は、推定した位置情報を位置情報記憶部１２２に格納する。
【００９０】
すなわち、図９では、モデル記憶部１２３に記憶される情報の一例として、ユーザＵ０１の位置情報の推定に用いられるモデルは、例えば、モデルＩＤ「Ｍ０１」や「Ｍ０２」や「Ｍ１１」で識別されるモデルであることを示している。また、モデルＭ０１は、判定時間帯が「６時〜１０時、平日」であり、利用データ群が「Ｐ０１」であることを示している。また、モデルＭ０１の推定情報は、例えば、ユーザ端末１０から位置情報を取得する予定日時が平日の「６：００〜６：３０」である場合には、ユーザの所在位置を「Ｇ０１」と推定することを示している。
【００９１】
（制御部１３０について）
制御部１３０は、例えば、コントローラであり、ＣＰＵやＭＰＵ等によって、管理サーバ１００内部の記憶装置に記憶されている各種プログラム（例えば、実施形態に係る管理プログラム）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【００９２】
図６に示すように、制御部１３０は、取得部１３１と、生成部１３２と、送信部１３３と、推定部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図６に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図６に示した接続関係に限られず、他の接続関係であってもよい。
【００９３】
（取得部１３１について）
取得部１３１は、ユーザ端末１０から位置情報を取得する。例えば、取得部１３１は、ユーザ端末１０にインストールされた各アプリの制御に従ってユーザ端末１０によって取得され、ユーザ端末１０から送信される位置情報を取得する。
【００９４】
なお、取得部１３１は、位置情報とともに、位置情報に対応するセンサ情報を取得してもよい。センサ情報とは、ユーザ端末１０の検知部１４によって検知される各種情報である。例えば、ユーザ端末１０は、ユーザの位置を検知するとともに、周囲の音声情報や加速度、温度や湿度等を検知する。取得部１３１は、このように位置とともに検知されたセンサ情報をユーザ端末１０から取得する。
【００９５】
また、取得部１３１は、取得した位置情報において、位置が検知された精度を取得してもよい。上述のように、ユーザ端末１０は、種々の機能（検知手段）を用いて位置を検知する。そして、一般に、ユーザの位置を示す情報は、検知に用いられる機能によって精度が異なる。例えば、ＧＰＳでユーザの位置を検知する場合と、Ｗｉ−Ｆｉによる通信機能を用いてユーザの位置を検知する場合と、ビーコンによる通信機能を用いてユーザの位置を検知する場合とでは、ユーザの位置を特定する精度が異なる。例えば、ビーコンによる通信機能を用いてユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった、数メートル範囲の精度でユーザの位置を特定可能である。一方で、ＧＰＳでユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった数メートル範囲の精度でユーザの位置を特定することは難しい。一般に、精度の高い位置情報を利用した方が、よりユーザが移動した地形や経路等を正確に特定できるため、よりユーザビリティの高いサービスの提供を行うことができる。このため、管理サーバ１００は、例えば精度の高い位置情報を優先的に取得したり、優先的に蓄積したりしてもよい。
【００９６】
また、取得部１３１は、ユーザ端末１０から位置に関する情報を取得する際に、ユーザ端末１０が位置を検知した場合の検知手段について取得してもよい。そして、取得部１３１は、位置情報として、位置と検知手段（言い換えれば、精度）とを対応付けた情報を取得する。この場合、取得部１３１は、検知手段と精度との関係性を定義した定義情報等を予め取得していてもよい。具体的には、取得部１３１は、管理サーバ１００の管理者等から、ビーコン機能を利用して検知された位置情報の精度が「高」である、といった定義情報を取得しておく。そして、取得部１３１は、位置に関する情報と検知手段とをユーザ端末１０から取得した場合に、当該検知手段に応じた精度の情報を位置と対応付け、対応付けた情報を位置情報として取得する。
【００９７】
また、取得部１３１は、位置情報とともに、ユーザに関する各種情報を取得してもよい。例えば、取得部１３１は、利用するアプリを介してユーザが各サービスに登録した情報に基づいて、ユーザの属性情報を取得する。また、取得部１３１は、アプリにおけるユーザの興味関心情報や、ユーザの行動履歴情報を取得してもよい。取得部１３１は、種々の既存の技術（例えば、ユーザの興味関心や行動に基づいて広告を配信するための広告配信技術等）を利用して、種々の情報を取得してもよい。また、取得部１３１は、曜日情報を含めた日時情報とともに位置情報を取得するようにしてもよい。
【００９８】
また、取得部１３１は、位置情報として、ユーザ端末１０と他の装置における通信の状況を取得してもよい。具体的には、取得部１３１は、ユーザ端末１０がアクセスポイントを介してインターネットなどにアクセスしている通信状況を取得する。この場合、取得部１３１は、アクセスポイントとの通信状況から検出される情報を位置情報として取得する。具体的には、取得部１３１は、ユーザ端末１０と通信中のアクセスポイントの設置位置を割り出し、割り出したアクセスポイントの設置位置に基づいて、当該ユーザ端末１０の位置情報として取得するようにしてもよい。また、取得部１３１は、駅改札の装置とユーザ端末１０との通信を検出することでユーザ端末１０の位置を取得したり、ユーザ端末１０のＩＰアドレスに基づいて位置を取得したりしてもよい。
【００９９】
取得部１３１は、取得したユーザに関する情報をユーザ情報記憶部１２１に格納する。また、取得部１３１は、取得した位置情報を位置情報記憶部１２２に格納する。また、取得部１３１は、適宜、格納したユーザ情報や位置情報を記憶部１２０内から取得してもよい。
【０１００】
（生成部１３２について）
生成部１３２は、ユーザが利用するユーザ端末１０から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。
【０１０１】
例えば、生成部１３２は、所定期間のユーザの位置情報を利用データ群として取得し、取得した情報に基づいて、ユーザが所定のタイミングにおいてどの位置に所在するか、を示すユーザごとの行動モデルを生成する。
【０１０２】
生成部１３２は、種々の既知の手法に基づいてモデルを生成してもよい。例えば、生成部１３２は、位置情報を統計的に解析することによりモデルを生成する。具体的には、生成部１３２は、特定の時間と当該時間においてユーザが所在していた位置を示す情報とを集積し、ユーザが当該時間において、どの位置に属する確率が高いかを示したモデルを生成する。
【０１０３】
例えば、図９の例では、生成部１３２は、利用データ群Ｐ０１（ユーザＵ０１から所定期間に渡り取得した位置情報）に基づいて、平日の６時から６時半までの間にはユーザＵ０１が位置Ｇ０１に所在した履歴が最も多いと判定する。この場合、生成部１３２は、平日の「６：００〜６：３０」におけるユーザＵ０１の所在する位置は「Ｇ０１」である、と推定するモデルＭ０１を生成する。同様に、生成部１３２は、時間帯や曜日ごとに、ユーザＵ０１の所在する位置を推定するモデルを生成する。
【０１０４】
なお、生成部１３２は、推定する位置が複数存在するモデルを生成してもよい。例えば、生成部１３２は、位置情報の統計に基づいて、平日の「６：００〜６：３０」におけるユーザＵ０１の所在する位置は、「８０％」の確率で位置Ｇ０１であり、「２０％」の確率で位置Ｇ０２である、と推定するモデルを生成してもよい。また、例えば、生成部１３２があるユーザの利用データ群を参照した場合に、平日の６時から６時半までの間には当該ユーザが所在する位置が、位置Ｇ４１と位置Ｇ４２という２つの範囲において略同数で観測されたとする。この場合、生成部１３２は、平日の「６：００〜６：３０」における当該ユーザの所在する位置は、「５０％」の確率で位置Ｇ４１であり、「５０％」の確率で位置Ｇ４２である、と推定するモデルを生成してもよい。
【０１０５】
また、生成部１３２は、後述する推定部１３４によってユーザの位置情報が推定されたのちに、所定時間における位置情報をユーザ端末１０から取得した場合には、推定部１３４によって推定された位置情報と、当該端末装置から取得した位置情報との相違に基づいて、ユーザ行動モデルを更新してもよい。
【０１０６】
例えば、上述したモデルＭ０１を用いて推定処理が行われた場合、後述する推定部１３４は、平日の「６：００〜６：３０」におけるユーザＵ０１の所在する位置は「Ｇ０１」である、と推定する。ここで、ユーザ端末１０は、例えばユーザＵ０１が帰宅して充電器に接続されたタイミングで、当日の「６：００〜６：３０」の間に取得していた位置情報を管理サーバ１００に送信する場合がある。かかる情報は、当日のユーザＵ０１の位置を示す正解データといえる。このため、生成部１３２は、新たに取得した位置情報（正解データ）を用いて、モデルＭ０１を更新する。具体的には、生成部１３２は、モデルＭ０１を用いて推定された位置情報と、正解データである位置情報との間の相違が所定の閾値を超える場合（例えば、数百メートル以上の誤差がある場合）、正解データである位置情報を新たに利用データ群Ｐ０１に追加し、モデルを更新する。これにより、生成部１３２は、モデルを最適化することができる。
【０１０７】
なお、上述したモデルの生成処理は一例であり、生成部１３２は、ユーザの行動や位置の推移を推定する様々な既知の生成（学習）処理を用いてモデルを生成してもよい。例えば、生成部１３２は、ユーザの行動（位置情報）の特徴を学習することにより、ユーザの位置の推移を予測するモデルを生成してもよい。
【０１０８】
そして、生成部１３２は、ユーザごと、また、時間帯や曜日ごとに生成したモデルをモデル記憶部１２３に格納する。
【０１０９】
（送信部１３３について）
送信部１３３は、各種情報を送信する。例えば、送信部１３３は、生成部１３２によって生成されたモデルをユーザ端末１０に送信する。
【０１１０】
また、送信部１３３は、各種サービスに関する情報を送信してもよい。例えば、管理サーバ１００が位置情報を利用したナビサービスをユーザに提供している場合、送信部１３３は、ナビサービスに関する情報（例えば、ユーザの位置情報と地図情報とを対応付けた情報）をユーザ端末１０に送信する。
【０１１１】
（推定部１３４について）
推定部１３４は、送信部１３３によってユーザ行動モデルが送信されたユーザ端末１０から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する。
【０１１２】
例えば、推定部１３４は、ユーザ端末１０にインストールされたアプリを介して、ユーザ端末１０から位置情報が送信される予定の時間情報を取得する。そして、推定部１３４は、位置情報が送信される予定の時間において、ユーザ端末１０から位置情報を取得した場合には、取得した位置情報が示す位置を当該ユーザの所在する位置とみなす。一方、推定部１３４は、位置情報が送信される予定の時間において、ユーザ端末１０から位置情報を取得しなかった場合には、判定時間帯に対応するモデルの推定情報を参照し、推定情報に記憶されている位置情報が示す位置を当該ユーザの所在する位置と推定する。推定部１３４は、位置情報を推定した場合には、当該位置情報が推定された情報であることを付記したうえで、位置情報記憶部１２２に格納する。
【０１１３】
なお、推定部１３４は、推定した位置情報について、その後ユーザ端末１０から正解データとなる位置情報を取得した場合には、推定した位置情報を正解データとなる位置情報に置き換えて、位置情報記憶部１２２に格納するようにしてもよい。
【０１１４】
〔５．処理手順〕
次に、図１０乃至図１２を用いて、実施形態に係る処理の手順について説明する。まず、図１０を用いて、実施形態に係る管理サーバ１００による生成処理の手順について説明する。図１０は、実施形態に係る処理手順を示すフローチャート（１）である。
【０１１５】
図１０に示すように、管理サーバ１００は、ユーザ端末１０から位置情報を取得する（ステップＳ１０１）。そして、管理サーバ１００は、モデル生成に充分な位置情報が蓄積されたか否かを判定する（ステップＳ１０２）。モデル生成に充分な位置情報が蓄積されていない場合（ステップＳ１０２；Ｎｏ）、管理サーバ１００は、位置情報を取得する処理を継続する。
【０１１６】
一方、モデル生成に充分な位置情報が蓄積された場合（ステップＳ１０２；Ｙｅｓ）、管理サーバ１００は、ユーザごとの行動モデルを生成する（ステップＳ１０３）。そして、管理サーバ１００は、生成したモデルをユーザに送信する（ステップＳ１０４）。
【０１１７】
続いて、図１１を用いて、実施形態に係るユーザ端末１０による取得処理の手順について説明する。図１１は、実施形態に係る処理手順を示すフローチャート（２）である。
【０１１８】
図１１に示すように、ユーザ端末１０は、位置情報を取得する（ステップＳ２０１）。ユーザ端末１０は、位置情報を取得した時間を参照し、時間帯に応じたモデルを選択する（ステップＳ２０２）。
【０１１９】
続いて、ユーザ端末１０は、ステップＳ２０１において取得した位置情報と、モデルにおける情報との相違が所定の閾値以上であるか否かを判定する（ステップＳ２０３）。所定の閾値以上である場合（ステップＳ２０３；Ｙｅｓ）、ユーザ端末１０は、ステップＳ２０１において取得した位置情報を管理サーバ１００に送信すると判定する（ステップＳ２０４）。そして、ユーザ端末１０は、位置情報を管理サーバ１００に送信する（ステップＳ２０５）。
【０１２０】
一方、所定の閾値未満の場合（ステップＳ２０３；Ｎｏ）、ユーザ端末１０は、ステップＳ２０１において取得した位置情報を管理サーバ１００に送信しないと判定する（ステップＳ２０６）。
【０１２１】
続いて、図１２を用いて、実施形態に係る管理サーバ１００による推定処理の手順について説明する。図１２は、実施形態に係る処理手順を示すフローチャート（３）である。
【０１２２】
図１２に示すように、管理サーバ１００は、位置情報をユーザ端末１０から取得するタイミングが到来したか否かを判定する（ステップＳ３０１）。タイミングが到来していない場合（ステップＳ３０１；Ｎｏ）、管理サーバ１００は、タイミングが到来するまで待機する。
【０１２３】
一方、タイミングが到来した場合（ステップＳ３０１；Ｙｅｓ）、管理サーバ１００は、モデルを有する（言い換えれば、管理サーバ１００がモデルを送信した）ユーザ端末１０から位置情報を取得したか否かを判定する（ステップＳ３０２）。
【０１２４】
位置情報を取得した場合（ステップＳ３０２；Ｙｅｓ）、管理サーバ１００は、取得した位置情報を位置情報記憶部１２２に格納する（ステップＳ３０３）。
【０１２５】
一方、位置情報を取得していない場合（ステップＳ３０２；Ｎｏ）、管理サーバ１００は、当該ユーザの行動モデルに基づいて、当該ユーザの位置情報を推定する（ステップＳ３０４）。そして、管理サーバ１００は、推定した位置情報を、ステップＳ３０１の位置情報取得のタイミングにおける当該ユーザの位置情報と推定して、位置情報記憶部１２２に格納する（ステップＳ３０５）。
【０１２６】
〔６．変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。以下では、通信制御システム１の他の実施形態について説明する。
【０１２７】
〔６−１．モデル生成処理〕
上記実施形態では、管理サーバ１００がユーザの行動モデルを生成し、生成したモデルをユーザ端末１０に送信する例を示した。ここで、モデルは、ユーザ端末１０自身によって生成されてもよい。かかる例について、図１３を用いて説明する。図１３は、変形例に係るユーザ端末１０Ａの構成例を示す図である。
【０１２８】
図１３に示すように、変形例に係るユーザ端末１０Ａは、管理サーバ１００に係る生成部１３２と同様の処理を行う生成部１６４を有する。そして、ユーザ端末１０Ａに係る生成部１６４は、取得部１３１によって取得された位置情報に基づいて、自装置を利用するユーザのモデルを生成する。そして、ユーザ端末１０Ａに係る通信制御部１６２は、モデルの生成後は、モデルによって示される位置情報に基づいて、新たに取得した位置情報との差異を判定し、差異が所定の閾値以上である位置情報のみを管理サーバ１００に送信するよう制御する。
【０１２９】
この場合、ユーザ端末１０Ａに係る取得部１６１は、モデルを管理サーバ１００から取得することを要しない。例えば、変形例に係るユーザ端末１０Ａは、ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成部１６４と、生成部１６４によってユーザ行動モデルが生成されたのちに、新たにユーザの位置を示す位置情報を取得する取得部１６１と、取得部１６１によって取得された新たな位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得部１６１によって取得された新たな位置情報のサーバへの送信を制御する通信制御部１６２とを有する構成であってもよい。
【０１３０】
かかる構成により、変形例に係るユーザ端末１０Ａは、管理サーバ１００からモデルを取得せずとも、実施形態に係る通信制御処理を実行することができる。
【０１３１】
また、上記のようにユーザ端末１０Ａがモデル生成を行う場合、管理サーバ１００は、ユーザ端末１０Ａが生成したモデルを取得し、実施形態に係る推定処理を実行してもよい。この場合、変形例に係る管理サーバ１００は、生成部１３２を有さなくてもよい。例えば、変形例に係る管理サーバ１００は、ユーザ端末１０Ａによって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する取得部１３１と、取得部１３１によってユーザ行動モデルが取得されたのちに、ユーザ端末１０Ａから、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定部１３４とを有する構成であってもよい。
【０１３２】
かかる構成により、変形例に係る管理サーバ１００は、自装置でモデル生成処理を行わずとも、実施形態に係る推定処理を実行することができる。
【０１３３】
〔６−２．位置情報〕
上記実施形態では、位置情報は、ユーザ端末１０が取得するＧＰＳ情報や、アクセスポイント等から取得することを説明した。しかし、管理サーバ１００は、異なる情報からユーザ端末１０の位置情報を取得してもよい。
【０１３４】
例えば、管理サーバ１００は、ユーザが各種サービスを利用した履歴に基づいて、ユーザ端末１０の位置情報を取得してもよい。具体的には、管理サーバ１００は、路線検索サービスにおいて頻繁にユーザ端末１０から入力される駅を、ユーザの最寄り駅と推定する。そして、管理サーバ１００は、最寄り駅を含む所定範囲をユーザ端末１０が所在する地域として取得してもよい。かかる処理によれば、管理サーバ１００は、ユーザ端末１０が位置情報を取得する機能を有していない場合であっても、ユーザ端末１０の位置情報を取得することができる。
【０１３５】
また、管理サーバ１００は、ユーザの各種サービスの利用状況に基づいて、ユーザの位置を推定してもよい。例えば、管理サーバ１００は、ユーザが検索を行った際の検索クエリや、ＳＮＳ（Social  Networking  Service）の投稿情報等を取得し、取得した情報に基づいて、ユーザの位置を推定してもよい。例えば、管理サーバ１００は、日常的に同じ地域のランチに関する検索を行っているユーザは、当該地域を勤務先とするユーザであり、少なくとも昼の時間帯は当該地域に所在すると推定してもよい。また、管理サーバ１００は、日常的に同じ地域のニュースを閲覧しているユーザは、当該地域に所在する可能性が高いユーザであると推定してもよい。また、管理サーバ１００は、特定の地域に関するＳＮＳへの投稿が多いユーザは、当該特定の地域に所在する可能性が高いユーザであると推定してもよい。このように、管理サーバ１００は、ユーザの各種サービスに関する様々な情報を利用して、ユーザの位置情報を取得したり、ユーザの位置を推定したりしてもよい。
【０１３６】
〔６−３．ユーザ端末の構成〕
上記実施形態では、ユーザ端末１０の構成例について図３を用いて説明した。しかし、ユーザ端末１０は、図３で例示した全ての処理部を備えることを必ずしも要しない。例えば、ユーザ端末１０は、入力部１２や表示部１３を必ずしも備えていなくてもよい。また、ユーザ端末１０は、２以上の機器に分離されて図３に示す構成が実現されてもよい。例えば、ユーザ端末１０は、少なくとも検知部１４と取得部１６１とを有する検知装置と、少なくとも通信部１１を有する通信装置とが分離された構成を有する、２台以上の機器により実現されてもよい。
【０１３７】
〔６−４．制御情報〕
上記実施形態では、ユーザ端末１０が、実施形態に係る通信制御プログラムが記載された制御情報に従って通信制御処理を実行する例を示した。ここで、制御情報は、ユーザ端末１０が実行するアプリに含まれてもよいし、ウェブブラウザソフトウェアの一機能として含まれていてもよいし、ユーザ端末１０で表示しようとするアプリに含まれていてもよい。すなわち、制御情報の取得元や配信元は、ユーザ端末１０の行う通信制御処理の結果には影響しない。
【０１３８】
〔６−５．位置の検知手段〕
上記実施形態では、ユーザの位置を検知する手段に応じて、位置を示す情報の精度が異なることを説明した。ここで、検知手段の精度は、上記実施形態で示した例に限らない。例えば、ユーザ端末１０が利用する検知手段によっては、Ｗｉ−Ｆｉやｂｅａｃｏｎを利用した測位よりも、ＧＰＳを利用した測位の方が、位置の精度が高い場合もありうる。すなわち、上記で示した検知手段や、検知手段同士の精度の高低は一例であり、実施形態に係る管理サーバ１００やユーザ端末１０は、各々の検知手段に応じて適切な精度を適宜選択可能なよう、定義情報を適宜更新するようにしてもよい。
【０１３９】
〔６−６．充電パターンに応じた通信制御処理〕
上記実施形態では、ユーザ端末１０が、電力が供給された場合に、それまで蓄積していた位置情報を管理サーバ１００へ送信する例を示した。ここで、ユーザ端末１０は、電力が供給されるタイミングを推定し、推定した情報に基づいて位置情報を送信してもよい。
【０１４０】
例えば、ユーザ端末１０がスマートフォン等の日常的に充電を繰り返す機器である場合、電力が供給されるタイミングは、ユーザに応じてモデル化することが可能である。例えば、ユーザ端末１０は、ユーザが平日の夜１０時頃に充電を行い、休日には夜８時頃に充電を行うといった行動情報を取得し、蓄積する。そして、ユーザ端末１０は、当該ユーザの充電に関する一定の行動パターンを生成する。続けて、ユーザ端末１０は、行動パターンに基づいて、例えば、平日の夜１０時を「平日の充電タイミング」と、休日の夜８時を「休日の充電タイミング」と設定する。
【０１４１】
その後、ユーザ端末１０は、位置情報が取得されたタイミングと、充電タイミングまでの時間間隔とに基づいて、通信制御処理を行う。例えば、ユーザ端末１０は、位置情報が取得されたタイミングから充電タイミングまでに比較的長い時間間隔（例えば、数時間以上など）がある場合、管理サーバ１００に対して位置情報を送信するか否かを判定する閾値を通常時に比べて高く設定する。これにより、ユーザ端末１０は、充電まで時間がかかると推定される状況下では、管理サーバ１００への位置情報の送信を抑制できるので、電力消費を抑えることができる。
【０１４２】
一方、ユーザ端末１０は、位置情報が取得されたタイミングから充電タイミングまでが比較的短い時間間隔（例えば、１０分など）である場合、管理サーバ１００に対して位置情報を送信するか否かを判定する閾値を通常時に比べて低く設定する。これにより、ユーザ端末１０は、まもなく充電が開始されると推定される状況下では、日常の行動（すなわちユーザ行動モデル）とのわずかなずれが生じたことを示す位置情報でも、積極的に管理サーバ１００に送信することができる。言い換えれば、ユーザ端末１０は、現時点では電力が供給されていなくとも、数分後には充電されると推定される状況下では、位置情報を積極的に送信するよう閾値を動的に変更してもよい。かかる処理により、ユーザ端末１０は、より正確な位置情報を管理サーバ１００に提供することができる。
【０１４３】
このように、ユーザ端末１０は、電力が供給される（充電される）パターンに基づいて、管理サーバ１００に位置情報を送信するか否かを判定する閾値を調整することにより、各ユーザの日常的な行動に応じて、適切な通信制御処理を行うことができる。
【０１４４】
〔６−７．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１４５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図３に示した通信制御部１６２と送信部１６３とは統合されてもよい。
【０１４６】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１４７】
〔７．ハードウェア構成〕
また、上述してきた実施形態に係るユーザ端末１０や管理サーバ１００は、例えば図１４に示すような構成のコンピュータ１０００によって実現される。以下、ユーザ端末１０を例に挙げて説明する。図１４は、ユーザ端末１０の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１４８】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラム（例えば、実施形態に係る通信制御プログラム）に基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１４９】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス１５００は、通信網５００（図２に示したネットワークＮに対応する）を介して他の機器からデータを受信してＣＰＵ１１００へ送り、また、通信網５００を介してＣＰＵ１１００が生成したデータを他の機器へ送信する。
【０１５０】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して生成したデータを出力装置へ出力する。
【０１５１】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１５２】
例えば、コンピュータ１０００が実施形態に係るユーザ端末１０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１６の機能を実現する。また、ＨＤＤ１４００には、ユーザ端末１０が備える記憶部１５内のデータが格納される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【０１５３】
〔８．効果〕
上述したように、実施形態に係る通信制御プログラムは、ユーザが利用する端末装置（本願に係る通信制御装置の一例であり、実施形態ではユーザ端末１０に対応する）に、取得手順と、通信制御手順とを実行させる。取得手順は、ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する。通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得手順によって取得された位置情報のサーバへの送信を制御する。
【０１５４】
このように、実施形態に係る通信制御プログラムは、ユーザの行動モデルを参照し、行動モデルとの比較に基づいて、位置情報の通信を制御する。すなわち、通信制御プログラムは、位置情報の管理サーバ１００への送信処理をユーザの日常の行動等と照らして制御することにより、ユーザ端末１０における電力の消費を削減することができる。
【０１５５】
また、通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との相違が所定の閾値以上であれば、当該位置情報をサーバへ送信するよう制御する。
【０１５６】
このように、実施形態に係る通信制御プログラムは、ユーザの行動モデルを参照することにより、例えば、端末装置を利用するユーザが日常的な行動を採っている場合には、位置情報を送信する処理を省略できる。これにより、通信制御プログラムは、位置情報の送信等に係る情報処理の負担を軽減できるので、電力の消費を削減することができる。
【０１５７】
また、通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との相違が所定の閾値未満の場合には、当該位置情報をサーバへ送信しないよう制御する。
【０１５８】
このように、実施形態に係る通信制御プログラムは、ユーザの行動モデルを参照し、例えば、ユーザが日常的な行動を採っていないと推定される場合に限り、位置情報を送信する。これにより、通信制御プログラムは、ユーザにとって日常的でない行動を採った（例えば、ユーザが日常的に利用する通勤電車に取り遅れた場合など）場合には、その位置情報を管理サーバ１００に送信してユーザの現在位置に合わせた適切なサービスを受けられるようにするなど、状況に合わせた適切な制御することができる。
【０１５９】
また、通信制御手順は、取得手順によって取得された位置情報をサーバへ送信しないよう制御したのちに、端末装置に対して電力が供給された場合には、当該位置情報を当該サーバへ送信するよう制御する。
【０１６０】
このように、実施形態に係る通信制御プログラムは、例えば外出先など、電力消費にユーザが不安を抱くタイミングでは位置情報を送信せず、ユーザ端末１０が充電器に接続された場合など、電力消費の不安がなくなったタイミングで蓄積しておいた位置情報を送信する。これにより、通信制御プログラムは、ユーザ端末１０がバッテリー駆動の際には管理サーバ１００側で位置情報を推定させておき、ユーザ端末１０が充電器に接続されたタイミングで、管理サーバ１００側で推定していた情報を正確な位置情報（正解データ）に置き換えさせるなど、状況に応じて柔軟に位置情報の通信制御を行うことができる。
【０１６１】
また、取得手順は、時間帯ごとに生成されたユーザ行動モデルを取得する。通信制御手順は、取得手順によって位置情報が取得された際の時間帯と、時間帯ごとに生成されたユーザ行動モデルとに基づいて、当該取得手順によって取得された位置情報のサーバへの送信を制御する。
【０１６２】
このように、実施形態に係る通信制御プログラムは、時間帯ごとに生成された行動モデルを用いることにより、より正確にユーザの行動を判定できるため、推定される位置情報の精度を向上させることができる。
【０１６３】
また、取得手順は、曜日ごとに生成されたユーザ行動モデルを取得する。通信制御手順は、取得手順によって位置情報が取得された際の曜日と、曜日ごとに生成されたユーザ行動モデルとに基づいて、当該取得手順によって取得された位置情報のサーバへの送信を制御する。
【０１６４】
このように、実施形態に係る通信制御プログラムは、曜日ごとに生成された行動モデルを用いることにより、より正確にユーザの行動を判定できるため、推定される位置情報の精度を向上させることができる。
【０１６５】
また、変形例に係る通信制御プログラムは、ユーザが利用する端末装置（本明細書ではユーザ端末１０Ａに対応する）に、生成手順と、取得手順と、通信制御手順とを実行させてもよい。生成手順は、ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。取得手順は、生成手順によってユーザ行動モデルが生成されたのちに、新たにユーザの位置を示す位置情報を取得する。通信制御手順は、取得手順によって取得された新たな位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得手順によって取得された新たな位置情報のサーバへの送信を制御する。
【０１６６】
このように、変形例に係る通信制御プログラムは、端末装置側で生成したモデルを用いて通信制御処理を行うことにより、管理サーバからモデルを取得せずとも、端末装置における電力の消費を削減するための処理を行うことができる。
【０１６７】
また、実施形態に係る管理サーバ１００は、生成部１３２と、送信部１３３と、推定部１３４とを有する。生成部１３２は、ユーザが利用するユーザ端末１０から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。送信部１３３は、生成部１３２によって生成されたユーザ行動モデルをユーザ端末１０に送信する。推定部１３４は、送信部１３３によってユーザ行動モデルが送信されたユーザ端末１０から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する。
【０１６８】
このように、実施形態に係る管理サーバ１００は、所定時間においてユーザ端末１０から位置情報が送信されない場合であっても、モデルにおける所定時間に対応した位置情報をユーザの位置情報と推定することができるため、位置情報を利用したサービスを継続することができる。言い換えれば、管理サーバ１００は、ユーザ端末１０から位置情報を取得せずとも、仮想的な位置情報のログを蓄積することができる。また、管理サーバ１００は、ユーザの日常的な行動に基づいて生成されたモデルを参照するので、無作為な推定と比較して精度の高い位置情報を仮想的なログとして蓄積することができる。すなわち、管理サーバ１００は、ユーザ端末１０の電力消費を削減しつつ、精度の高い位置情報を取得することができる。
【０１６９】
また、生成部１３２は、推定部１３４によってユーザの位置情報が推定されたのちに、所定時間における位置情報をユーザ端末１０から取得した場合には、推定部１３４によって推定された位置情報と、ユーザ端末１０から取得した位置情報との相違に基づいて、ユーザ行動モデルを更新する。
【０１７０】
このように、実施形態に係る管理サーバ１００は、後から正解データがユーザ端末１０から送信された場合、かかる正解データに基づいてモデルを更新する。これにより、管理サーバ１００は、モデルを最適化することができるため、より精度の高い位置情報を取得し易くなる。
【０１７１】
また、変形例に係る管理サーバ１００は、生成部１３２を有さなくてもよい。具体的には、変形例に係る管理サーバ１００は、取得部１３１と、推定部１３４とを有する。取得部１３１は、ユーザが利用するユーザ端末１０Ａによって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する。推定部１３４は、取得部１３１によってユーザ行動モデルが取得されたのちに、ユーザ端末１０Ａから、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する。
【０１７２】
このように、変形例に係る管理サーバ１００は、自装置でモデルを生成せずとも、ユーザ端末１０Ａによって生成したモデルを利用して、ユーザの位置を推定する推定処理を行うことができる。このため、変形例に係る管理サーバ１００は、ユーザ端末１０Ａの電力消費を削減しつつ、精度の高い位置情報を取得することができる。
【０１７３】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１７４】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１７５】
１  通信制御システム
１０  ユーザ端末
１５  記憶部
１５１  位置情報テーブル
１５２  モデルテーブル
１６  制御部
１６１  取得部
１６２  通信制御部
１６３  送信部
１６４  生成部
１００  管理サーバ
１１０  通信部
１２０  記憶部
１２１  ユーザ情報記憶部
１２２  位置情報記憶部
１２３  モデル記憶部
１３０  制御部
１３１  取得部
１３２  生成部
１３３  送信部
１３４  推定部
【図１】
2019145882.tif 000003
【図２】
2019145882.tif 000004
【図３】
2019145882.tif 000005
【図４】
2019145882.tif 000006
【図５】
2019145882.tif 000007
【図６】
2019145882.tif 000008
【図７】
2019145882.tif 000009
【図８】
2019145882.tif 000010
【図９】
2019145882.tif 000011
【図１０】
2019145882.tif 000012
【図１１】
2019145882.tif 000013
【図１２】
2019145882.tif 000014
【図１３】
2019145882.tif 000015
【図１４】
2019145882.tif 000016