(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本願に係る通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.通信制御処理の一例〕
まず、
図1を用いて、実施形態に係る通信制御処理の一例について説明する。
図1は、実施形態に係る通信制御処理の一例を示す図である。
図1では、実施形態に係る通信制御装置において、実施形態に係る通信制御プログラムが実行する通信制御処理の一例について説明する。具体的には、
図1では、実施形態に係る通信制御装置の一例であるユーザ端末10が、ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデル(以下、単に「モデル」と表記する場合がある)とを取得し、取得した位置情報とモデルにおける位置情報との比較に基づいて、取得された位置情報のサーバへの送信を制御する処理の一例を示す。
【0012】
図1に示す管理サーバ100は、ユーザ端末10から送信される位置情報を取得し、取得した位置情報を管理するサーバ装置である。また、管理サーバ100は、ユーザ端末10から取得した位置情報に基づいて、当該ユーザ端末10を利用するユーザの日常的な行動を示したモデルであるモデルを生成する。
【0013】
例えば、管理サーバ100は、ユーザが利用するユーザ端末10にインストールされたアプリの機能を介して、ユーザから定期的に位置情報を取得する。実施形態では、管理サーバ100は、例えば、ユーザの位置情報を利用して交通案内を行うナビアプリに係るサービスや、通話やメッセージのやり取り等を行うコミュニケーションアプリに係るサービスや、ログインしたユーザに様々な情報を提供するポータルアプリに係るサービス等を管理する。そして、管理サーバ100は、このようなサービスの利用に伴い、ユーザ端末10から位置情報を定期的かつ継続的に取得する。なお、管理サーバ100は、サービスを提供する事業者等からユーザの位置情報を取得してもよい。
【0014】
図1に示すユーザ端末10は、スマートフォン等の情報処理端末である。実施形態では、ユーザ端末10は、ユーザの一例であるユーザU01によって利用される。以下では、ユーザ端末10をユーザと読み替える場合がある。例えば、「ユーザU01が位置情報を送信する」とは、実際には、「ユーザU01が利用するユーザ端末10が位置情報を送信する」ことを意味する場合がある。
【0015】
ユーザ端末10は、例えばGPS(Global Positioning System)等を利用して、自装置が所在する位置(例えば経度や緯度の数値等)を検知し、検知した位置を示す情報である位置情報を取得する。なお、位置情報は、位置を示す情報のみならず、その位置が検知された時間を含んでもよい。そして、ユーザ端末10は、例えば利用するアプリの制御に従い、検知した位置情報を管理サーバ100に送信する。具体的には、ユーザ端末10は、管理サーバ100によって管理されるアプリであるナビアプリやコミュニケーションアプリの制御(機能)に従い、定期的かつ継続的に位置情報を管理サーバ100に送信する。ユーザ端末10から送信される位置情報は、管理サーバ100が有する記憶部に蓄積され、種々の情報処理に利用される。
【0016】
上記のように、ユーザ端末10は、アプリ等の利用に伴い、位置情報を管理サーバ100に送信する。また、管理サーバ100等のサービス提供者は、送信された位置情報を利用した情報処理を行う。例えば、管理サーバ100は、ユーザの所在地に合わせたナビサービスを提供したり、ユーザの所在地に適したプッシュ通知(広告やクーポン等)を配信したりする。しかしながら、位置情報の取得処理や、取得した位置情報の管理サーバ100への送信処理は、定期的かつ継続的に行われるため、ユーザ端末10のリソース(例えばバッテリーやメモリ等)を消費する。例えば、ユーザ端末10は、ある位置にユーザが所在したことを管理サーバ100に通知するためにバックグラウンドでも位置情報の取得を継続し、継続した位置情報を送信する。このため、ユーザ端末10は、ユーザに意識させることなくユーザ端末10のリソースを消費することがある。このような仕様は、ユーザにアプリのインストールを躊躇させたり、バッテリーを短時間で枯渇させてしまったりといった事態を招くおそれがある。
【0017】
そこで、実施形態に係るユーザ端末10は、ユーザの日常的な行動を示したモデルを取得し、その後、取得した位置情報について、モデルにおける位置情報との比較処理を行う。そして、ユーザ端末10は、新たに取得した位置情報と、モデルにおける位置情報との比較に基づいて、新たに取得した位置情報のサーバへの送信を制御する。
【0018】
詳細は後述するが、管理サーバ100が生成するモデルには、ユーザの日常的な行動に基づき、ユーザが所在すると推定される位置と、所在する時間とを対応付けた位置情報が記憶される。具体的には、モデルには、当該モデルに対応するユーザが、平日の朝7時には自宅に所在し、平日の昼12時には勤務先に所在する、といった当該ユーザの日常的な位置の推移を示す情報が記憶される。すなわち、実施形態に係るモデルとは、モデルに対応するユーザの行動パターンと読み替えてもよい。そして、ユーザ端末10は、当該モデルを管理サーバ100から取得しておき、新たに位置情報を取得した場合には当該モデルの位置情報と比較して、新たに取得した位置情報とモデルとの乖離を判定する。そして、ユーザ端末10は、新たに取得した位置情報と、モデルにおける位置情報とが所定の閾値を超える場合に限り、新たに取得した位置情報を管理サーバ100に送信する。一方、ユーザ端末10は、新たに取得した位置情報と、モデルの位置情報とが所定の閾値未満の場合、新たに取得した位置情報を管理サーバ100に送信しないよう制御する。すなわち、ユーザ端末10は、モデルに基づいて、「ユーザが日常的な行動をとっている」と判定した場合には、位置情報を管理サーバ100に送信する処理を省略する。一方、ユーザ端末10は、モデルに基づいて、「ユーザが日常的な行動をとっていない」と判定した場合には、管理サーバ100との取り決めに従い、位置情報を管理サーバ100に送信する。かかる制御により、ユーザ端末10は、位置情報の送信処理の負荷を抑えることができるため、リソースの消費を軽減することができる。
【0019】
また、管理サーバ100は、本来位置情報の送信が行われるタイミングにおいてユーザ端末10から位置情報が送信されなかった場合に、当該ユーザの位置情報を取得できなかったものとして処理するのではなく、モデルにおいて示される位置にユーザが所在していたと推定する。すなわち、管理サーバ100は、ユーザ端末10から位置情報を取得できなかったと判定せず、ユーザが日常的な行動を行っていたと仮定して、情報処理を実行する。これにより、管理サーバ100は、位置情報が取得できなくとも、日常的にユーザに対して実行している情報処理(例えば、サービスの提供)を待機することなく、通常の処理を実行することができる。すなわち、実施形態による通信制御処理によれば、ユーザ端末10の電力の消費を抑制しつつ、精度の高い位置情報を管理サーバ100が取得することができる。以下、
図1を用いて、実施形態に係る通信制御処理の流れについて説明する。
【0020】
まず、ユーザ端末10は、ユーザU01によってインストールされたアプリ等の制御に従い、位置情報を管理サーバ100に送信する(ステップS01)。例えば、ユーザ端末10は、アプリに設定されたタイミング(例えば、10分毎や15分毎など)で、継続的に位置情報を管理サーバ100に送信する。なお、ユーザ端末10は、管理サーバ100がモデルを生成するために充分な期間(例えば1か月間など)に渡り、定期的に位置情報を送信するものとする。
【0021】
管理サーバ100は、取得した位置情報を位置情報記憶部122に記憶する。そして、管理サーバ100は、モデル生成に充分な情報量が蓄積された場合に、ユーザごとにモデルを生成する(ステップS02)。
図1の例では、管理サーバ100は、ユーザU01に対応するモデルを生成する。例えば、管理サーバ100は、時間帯ごと、また、曜日ごとにユーザU01のモデルを生成する。詳細は後述するが、管理サーバ100は、例えば既知の統計処理に従い、平日の朝11時にはユーザU01が所定領域(例えばユーザU01の勤務先近辺)に所在し、休日の朝11時にはユーザU01が別の領域(例えばユーザU01の自宅近辺)に所在する、といったことを示した、ユーザU01に対応した行動モデルを生成する。管理サーバ100は、時間帯ごと、また、曜日ごとのモデルを生成し、生成したモデルをモデル記憶部123に記憶する。
【0022】
続いて、管理サーバ100は、生成したモデルをユーザ端末10に送信する(ステップS03)。ユーザ端末10は、管理サーバ100からモデルを取得し、モデルテーブル152に記憶する。
【0023】
その後、ユーザ端末10が新たに位置情報を取得した場合、ユーザ端末10は、モデルを利用して位置情報の送信を制御する(ステップS04)。具体的には、ユーザ端末10は、新たに取得した位置情報と、モデルにおける位置情報とにおいて、それぞれが同じ時間帯で異なる位置を示す場合に、互いの位置を示す情報(例えば、緯度や経度の座標を示す数値)が所定の閾値未満の場合には、新たに取得した位置情報を管理サーバ100に送信しないよう、通信処理を制御する。
【0024】
一方、ユーザ端末10は、新たに取得した位置情報と、モデルにおける位置情報とにおいて、それぞれが同じ時間帯で異なる位置を示す場合に、互いの位置を示す情報が所定の閾値を超える場合には、新たに取得した位置情報を管理サーバ100に送信するよう、通信処理を制御する。例えば、ユーザ端末10は、互いの位置を示す情報に基づき、モデルが示す位置と、現在のユーザの所在地とが約百メートルを超えた位置を示している場合等に、新たに取得した位置情報を抽出し、抽出した位置情報のみを管理サーバ100に送信する(ステップS05)。
【0025】
管理サーバ100は、ユーザ端末10から送信された位置情報を取得する(ステップS06)。また、管理サーバ100は、仮に、本来位置情報の送信が行われるタイミングにおいてユーザ端末10から位置情報が送信されなかった場合には、モデルに基づいて、ユーザU01の位置情報を推定し、推定した位置情報を記憶する(ステップS07)。
【0026】
例えば、管理サーバ100は、所定の平日朝7時においてユーザ端末10から位置情報を取得する予定であるにもかかわらず、ユーザ端末10から位置情報が送信されなかったとする。この場合、管理サーバ100は、所定の平日朝7時における位置情報を空白とするのではなく、ユーザU01の「平日朝の時間帯」の行動を示すモデルに基づいて、ユーザU01の所在する位置を推定する。そして、管理サーバ100は、推定した位置に対応する位置情報(日常的にユーザU01が所在する位置を示す情報と、朝7時という時間情報とが対応付けられた情報)を位置情報記憶部122に記憶する。なお、管理サーバ100は、位置情報記憶部122に位置情報を格納する際に、当該位置情報がユーザ端末10から取得した位置情報か、あるいは、モデルに基づいて推定した位置情報であるかを識別する情報を付与してもよい。
【0027】
図1を用いて説明してきたように、実施形態に係るユーザ端末10は、ユーザU01の位置を示す位置情報と、ユーザU01の日常的な行動を示したモデルを取得する。そして、ユーザ端末10は、取得された位置情報とモデルにおける位置情報との比較に基づいて、取得された位置情報のサーバへの送信を制御する。また、実施形態に係る管理サーバ100は、ユーザU01が利用するユーザ端末10から取得した位置情報に基づいて、ユーザU01の日常的な行動を示したモデルを生成する。そして、管理サーバ100は、生成したモデルをユーザ端末10に送信する。さらに、管理サーバ100は、モデルが送信されたユーザ端末10から、所定時間において位置情報が送信されない場合には、モデルにおける当該所定時間に対応した位置情報をユーザU01の位置情報と推定する。
【0028】
これにより、ユーザ端末10は、ユーザU01が日常的な行動を採っている場合には、位置情報を送信する処理を省略できるので、ユーザ端末10のバッテリー等のリソースの低下や、情報処理の負荷を低減することができる。また、管理サーバ100は、ユーザ端末10から位置情報を取得できなくても、モデルに基づいてユーザU01の日常的な行動を推定できるため、ユーザU01の行動に合わせた情報処理(サービスの提供等)を実行することができる。
【0029】
なお、ユーザ端末10は、上述した処理を任意の手法で実現することができる。例えば、ユーザ端末10は、予め上記のような通信制御処理を実行するための制御情報(スクリプト)が含まれたアプリを実行することにより、上記の通信制御処理を実現してもよい。あるいは、ユーザ端末10は、SDK(Software Development Kit)やOS(Operating System)に組み込まれる制御情報を実行することで、上記のような通信制御処理を実行してもよい。なお、このような制御情報は、実施形態に係る通信制御プログラムに対応するものであり、例えば、CSS(Cascading Style Sheets)、JavaScript(登録商標)、HTML、あるいは、上述した通信制御処理を記述可能な任意の言語あるいは任意のプログラムによって実現される。以下、実施形態に係る通信制御プログラムに従って上述した通信制御処理を実行するユーザ端末10や、実施形態に係る管理サーバ100等について、詳細に説明する。
【0030】
〔2.通信制御システムの構成〕
次に、
図2を用いて、実施形態に係る通信制御システム1の構成について説明する。
図2は、実施形態に係る通信制御システム1の構成例を示す図である。
図2に例示するように、実施形態に係る通信制御システム1には、ユーザ端末10と管理サーバ100とが含まれる。これらの各種装置は、ネットワークNを介して、有線又は無線により通信可能に接続される。また、
図2に示す通信制御システム1に含まれる各装置の数は図示したものに限られない。例えば、通信制御システム1には、複数台のユーザ端末10や複数台の管理サーバ100が含まれてもよい。
【0031】
ユーザ端末10は、上述のように、スマートフォンを含む携帯電話機や、タブレット端末や、デスクトップ型PC(Personal Computer)や、ノート型PCや、PDA(Personal Digital Assistant)等の情報処理端末である。また、ユーザ端末10には、眼鏡型や時計型の情報処理端末であるウェアラブルデバイス(wearable device)も含まれる。さらに、ユーザ端末10には、位置情報を取得するための情報処理機能を有する種々のスマート機器が含まれてもよい。例えば、ユーザ端末10には、TV(Television)や冷蔵庫、掃除機などのスマート家電や、自動車などのスマートビークル(Smart vehicle)や、ドローン(drone)、家庭用ロボットなどが含まれてもよい。なお、実施形態に係るアプリは、スマートフォン等のモバイル端末で実行されるアプリに限られず、上記したスマート家電等で実行されるアプリであってもよい。
【0032】
ユーザ端末10は、ユーザによる操作や、ユーザ端末10が有する機能に応じて、自装置の位置情報を取得し、記憶する。例えば、ユーザ端末10は、上述したGPSシステムなどの外部システムと通信を行うことによって位置情報を取得する。そして、ユーザ端末10は、取得した位置情報を管理サーバ100に送信する。
【0033】
管理サーバ100は、ユーザ端末10から取得した位置情報に基づいて、ユーザごとの行動モデルを生成するサーバ装置である。また、管理サーバ100は、取得した位置情報を利用したサービスをユーザに提供するサービスサーバであってもよい。例えば、管理サーバ100は、ユーザの位置情報に基づいて交通案内等を発信するナビアプリに関するサービスや、通話やメッセージのやり取りを行うコミュニケーションアプリに関するサービスや、ポータルアプリに関するポータルサービス等を提供する。なお、管理サーバ100は、上記サービス以外にも、種々のサービスを提供してもよい。また、管理サーバ100は、サービスに係るウェブサイトを提供するウェブサーバとしての機能を有していてもよい。例えば、管理サーバ100は、ポータルサイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関連する各種情報を含むウェブページをユーザ端末10に配信してもよい。
【0034】
〔3.ユーザ端末の構成〕
次に、
図3を用いて、実施形態に係るユーザ端末10の構成について説明する。
図3は、実施形態に係るユーザ端末10の構成例を示す図である。
図3に示すように、ユーザ端末10は、通信部11と、入力部12と、表示部13と、検知部14と、記憶部15と、制御部16とを有する。
【0035】
(通信部11について)
通信部11は、ネットワークNと有線又は無線で接続され、管理サーバ100等との間で情報の送受信を行う。通信部11は、例えばNIC(Network Interface Card)等によって実現される。
【0036】
(入力部12及び表示部13について)
入力部12は、ユーザから各種操作を受け付ける入力装置である。例えば、入力部12は、ユーザ端末10に備えられた操作キー等によって実現される。表示部13は、各種情報を表示するための表示装置である。例えば、表示部13は、液晶ディスプレイ等によって実現される。なお、ユーザ端末10にタッチパネルが採用される場合には、入力部12の一部と表示部13とは一体化される。
【0037】
(検知部14について)
検知部14は、ユーザ端末10に関する各種情報を検知する。具体的には、検知部14は、ユーザ端末10に対するユーザの操作や、ユーザ端末10の所在する位置情報や、ユーザ端末10と接続されている機器に関する情報や、ユーザ端末10における環境等を検知する。
図3に示す例では、検知部14は、操作検知部141と、位置検知部142と、外部装置検知部143と、環境検知部144とを有する。
【0038】
(操作検知部141について)
操作検知部141は、ユーザ端末10に対するユーザの操作を検知する。例えば、操作検知部141は、入力部12に入力された情報に基づいて、ユーザの操作を検知する。すなわち、操作検知部141は、入力部12に画面をタッチする操作の入力があったことや、音声の入力があったこと等を検知する。また、操作検知部141は、ユーザによって所定のアプリが起動されたことを検知してもよい。かかるアプリがユーザ端末10内の撮像装置を動作させるアプリである場合、操作検知部141は、ユーザによって撮像機能が利用されていることを検知する。また、操作検知部141は、ユーザ端末10内に備えられた加速度センサやジャイロセンサ等で検知されたデータに基づき、ユーザ端末10自体が動かされているといった操作を検知してもよい。
【0039】
(位置検知部142について)
位置検知部142は、ユーザ端末10の現在位置を検知する。具体的には、位置検知部142は、GPS衛星から送出される電波を受信し、受信した電波に基づいてユーザ端末10の現在位置を示す位置(例えば、緯度及び経度)を検知する。
【0040】
位置検知部142は、種々の手法により位置を検知することができる。例えば、位置検知部142は、GPS衛星に限らず、ユーザ端末10の様々な通信機能を利用して位置を検知してもよい。
【0041】
例えば、位置検知部142は、ユーザ端末10のWi−Fi(登録商標)通信機能や、各通信会社が備える通信網を利用して、ユーザ端末10の位置を検知する。具体的には、位置検知部142は、Wi−Fi通信等を行い、付近の基地局やアクセスポイントとの距離を測位することにより、自装置の位置を検知する。
【0042】
また、位置検知部142は、ユーザ端末10のBluetooth(登録商標)機能を利用して位置を検知してもよい。例えば、位置検知部142は、Bluetooth機能によって接続されるビーコン(beacon)発信機と接続することにより、自装置の位置を検知する。
【0043】
また、位置検知部142は、加速度センサやジャイロセンサ等を利用したPDR(Pedestrian Dead Reckoning)技術を利用して自装置の位置を検知してもよい。また、位置検知部142は、予め測定された構造物の地磁気のパターンと、自装置が備える地磁気センサとに基づいて、自装置の位置を検知してもよい。
【0044】
また、例えば、ユーザ端末10が駅改札や商店等で使用される非接触型ICカードと同等の機能を備えている場合(もしくは、ユーザ端末10が非接触型ICカードの履歴を読み取る機能を備えている場合)、ユーザ端末10によって駅での乗車料金の決済等が行われた情報とともに、使用された位置が記録される。位置検知部142は、かかる情報を取得することで、ユーザ端末10の位置を検知してもよい。また、位置は、ユーザ端末10が備える光学式センサや、赤外線センサ等によって検知されてもよい。
【0045】
位置検知部142は、上述した手法の一つ又は組合せを用いて、自装置の位置を検知する。そして、後述する取得部161は、位置検知部142が検知した位置と、検知した時間との情報に基づいて、ユーザ端末10の位置情報を取得する。
【0046】
(外部装置検知部143について)
外部装置検知部143は、ユーザ端末10に接続される外部装置を検知する。例えば、外部装置検知部143は、外部装置との相互の通信パケットのやり取りなどに基づいて、外部装置を検知する。そして、外部装置検知部143は、検知した外部装置をユーザ端末10と接続される端末として認識する。また、外部装置検知部143は、外部装置との接続の種類を検知してもよい。例えば、外部装置検知部143は、外部装置と有線で接続されているか、無線通信で接続されているかを検知する。また、外部装置検知部143は、無線通信で用いられている通信方式等を検知してもよい。また、外部装置検知部143は、外部装置が発する電波を検知する電波センサや、電磁波を検知する電磁波センサ等によって取得される情報に基づいて、外部装置を検知してもよい。
【0047】
(環境検知部144について)
環境検知部144は、ユーザ端末10における環境を検知する。環境検知部144は、ユーザ端末10に備えられた各種センサや機能を利用し、環境に関する情報を検知する。例えば、環境検知部144は、ユーザ端末10の周囲の音を収集するマイクロフォンや、ユーザ端末10の周囲の照度を検知する照度センサや、ユーザ端末10の物理的な動きを検知する加速度センサ(又は、ジャイロセンサなど)や、ユーザ端末10の周囲の湿度を検知する湿度センサや、ユーザ端末10の所在位置における磁場を検知する地磁気センサ等を利用する。そして、環境検知部144は、各種センサを用いて、種々の情報を検知する。例えば、環境検知部144は、ユーザ端末10の周囲における騒音レベルや、ユーザ端末10の周囲が撮像に適する照度であるか等を検知する。さらに、環境検知部144は、カメラで撮影された写真や映像に基づいて周囲の環境情報を検知してもよい。
【0048】
なお、環境検知部144は、ユーザ端末10におけるリソースの状況を検知してもよい。例えば、環境検知部144は、リソースの状況として、ユーザ端末10内部のハードウェアに関するリソースを検知する。例えば、環境検知部144は、リソースの状況として、ユーザ端末10のバッテリー残量を検知する。また、環境検知部144は、各アプリのバッテリー(電力)消費量等を検知してもよい。
【0049】
(記憶部15について)
記憶部15は、各種情報を記憶する。記憶部15は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図3に示すように、記憶部15は、データテーブルとして、位置情報テーブル151と、モデルテーブル152とを有する。
【0050】
(位置情報テーブル151について)
位置情報テーブル151は、位置情報を記憶する。ここで、
図4に、実施形態に係る位置情報テーブル151の一例を示す。
図4は、実施形態に係る位置情報テーブル151の一例を示す図である。
図4に示した例では、位置情報テーブル151は、「位置情報ID」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」といった小項目を有する。
【0051】
「位置情報ID」は、位置情報を識別する識別情報を示す。なお、実施形態において、識別情報は、説明に用いる参照符号として用いる場合がある。例えば、位置情報ID「B01」で識別される位置情報は、「位置情報B01」と表記される場合がある。
【0052】
「位置情報」は、検知部14によって検知されたユーザの位置を含む情報を示す。「取得日時」は、位置がユーザ端末10によって検知(取得)された日時を示す。
図4では、取得日時を「T01」といった概念で表記しているが、実際には、取得日時の項目には、ユーザの位置が測位された日時を示す情報や、曜日を示す情報等が記憶される。「位置」は、ユーザ(言い換えればユーザ端末10)の具体的な位置を示す。
図4では、位置を「G01」といった概念で表記しているが、実際には、位置の項目には、ユーザの位置を示す具体的な情報(例えば経度や緯度の座標を示す数値等)が記憶される。なお、位置G01とは、具体的な1点のみの位置を示すものではなく、所定範囲(例えば、ある座標から半径数十メートルなど)の範囲を示す情報であってもよい。
【0053】
「精度」は、ユーザの位置を示す情報の精度を示す。実施形態では、精度は、例えば「低」、「中」、「高」の三段階で示される。精度は、例えば、ユーザ端末10によって位置が検知された際の検知手段に基づき、ユーザの位置を特定することのできる精度に応じて記憶される。具体的には、ユーザの位置を特定する際に数十メートルから数百メートルの誤差が生じるような検知手段(例えば検知手段がGPSのみであった場合等)の場合、取得された位置情報の精度は「低」となる。また、精度が「低」である位置情報と比較して精度の高い検知手段(例えば、検知手段がWi−FiやGPS等を組み合わせたものであった場合等)の場合、当該検知手段によって取得された位置情報の精度は「中」となる。また、精度が「中」である位置情報と比較して精度の高い検知手段(例えば、検知手段がBluetooth(ビーコン)を利用したものであった場合等)の場合、当該検知手段によって取得された位置情報の精度は「高」となる。なお、上記した精度の判定は一例であり、管理サーバ100は、位置情報の検知の技術に応じて柔軟に精度の判定基準を変更してもよい。
【0054】
「各種センサ情報」は、位置が検知された際に、各種センサによって検知された情報を示す。
図4では、各種センサ情報を「X01」といった概念で表記しているが、実際には、各種センサ情報の項目には、ユーザ端末10の加速度や気温や湿度、周辺の音声情報等の各種センサによって取得された具体的な情報が記憶される。
【0055】
すなわち、
図4では、位置情報テーブル151に記憶されるデータの一例として、位置情報ID「B01」で識別される位置情報B11は、取得日時「T01」において位置「G01」にユーザU01が所在し、その位置の精度は「中」であり、各種センサ情報が「X01」であることを示している。
【0056】
なお、
図4での図示は省略したが、位置情報テーブル151には、位置情報とともに、ユーザを識別するための識別情報や属性情報等が記憶されてもよい。
【0057】
ユーザの識別情報は、例えば、管理サーバ100が提供する各サービスにおいてユーザに共通して付与されるサービス用ID(ユーザアカウント)等である。管理サーバ100は、ユーザを一意に識別する識別情報を利用することで、ユーザ端末10から取得した位置情報とユーザとを対応付ける。かかるIDは、管理サーバ100のみならず、管理サーバ100と提携した事業者(所定のサービス提供者)によって発行されてもよい。これにより、管理サーバ100は、一人のユーザが複数のユーザ端末10を利用していたり、異なる環境でサービスにログインしていたりする場合でも、当該ユーザを一意に特定して位置情報を取得することができる。なお、管理サーバ100は、ユーザの識別情報として、サービスを利用した際のクッキー(Cookie)情報や、端末固有の端末ID等を利用してもよい。
【0058】
また、ユーザの属性情報は、ユーザの年齢や性別や職業や年収や居住地等の種々のユーザの属性を示す情報である。また、位置情報テーブル151には、各アプリにおけるユーザの利用履歴等が記憶されてもよい。
【0059】
(モデルテーブル152について)
モデルテーブル152は、管理サーバ100から送信されたモデルであって、ユーザ端末10を利用するユーザの日常的な行動の推移に関する情報を示したモデルを記憶する。ここで、
図5に、実施形態に係るモデルテーブル152の一例を示す。
図5は、実施形態に係るモデルテーブル152の一例を示す図である。
図5に示すように、モデルテーブル152は、「モデルID」、「判定時間帯」といった項目を有する。
【0060】
「モデルID」は、モデルを識別する識別情報を示す。「判定時間帯」は、当該モデルが判定に用いられる時間帯や曜日(平日であるか、あるいは土日や祭日等の休日であるか等)に関する情報を示す。例えば、ユーザ端末10は、モデルを管理サーバ100から受信したのちに、新たに位置情報を取得した場合には、モデルごとの判定時間帯を参照し、取得した日時に対応するモデルを用いて、新たに取得した位置情報を管理サーバ100に送信するか否かを判定する処理を行う。
【0061】
すなわち、
図5では、モデルテーブル152に記憶される情報の一例として、モデルID「M01」で識別されるモデルM01は、判定時間帯が「6時〜10時、平日」であることを示している。
【0062】
(制御部16について)
制御部16は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、ユーザ端末10内部の記憶装置に記憶されている各種プログラム(例えば、実施形態に係る通信制御プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部16は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0063】
図3に示すように、制御部16は、取得部161と、通信制御部162と、送信部163とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部16の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部16が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0064】
上述のように、制御部16に係る各処理部は、制御情報(例えば、実施形態に係る通信制御プログラム)がRAMを作業領域として実行されることにより実現される。すなわち、取得部161が実行する処理は、制御情報が実行させる取得手順により実現され、通信制御部162が実行する処理は、制御情報が実行させる通信制御手順により実現され、送信部163が実行する処理は、制御情報が実行させる送信手順により実現される。
【0065】
(取得部161について)
取得部161は、各種情報を取得する。例えば、取得部161は、各アプリの設定に基づいて検知部14を制御することにより、検知部14によって検知される各種情報を取得する。例えば、取得部161は、位置検知部142によって検知された情報に基づいて、ユーザ端末10の位置情報を取得する。なお、取得部161は、位置情報に限らず、ユーザ端末10の周囲の環境に関する情報等の各種センサ情報を含む、ユーザ端末10のコンテキストに関する情報を取得してもよい。取得部161は、取得した位置情報を位置情報テーブル151に格納する。
【0066】
また、取得部161は、ユーザ端末10を利用するユーザごとの生成された行動モデルを取得する。例えば、取得部161は、時間帯ごとに生成されたモデルや、曜日ごとに生成されたモデルを取得する。取得部161は、取得したモデルをモデルテーブル152に格納する。
【0067】
(通信制御部162について)
通信制御部162は、取得部161によって取得された位置情報とモデルにおける位置情報との比較に基づいて、取得部161によって取得された位置情報の管理サーバ100への送信を制御する。
【0068】
例えば、通信制御部162は、取得部161によって取得された位置情報とモデルにおける位置情報との相違が所定の閾値以上であれば、位置情報を管理サーバ100へ送信するよう制御する。閾値としては、例えば、取得部161によって取得された位置情報の位置を示す情報(例えば、緯度経度の座標を示す数値)と、モデルにおける位置情報の位置を示す情報とを比較した場合に、ユーザが略同一の位置に所在すると判定される数値が適宜設定される。すなわち、通信制御部162は、ユーザが日常的に観測される位置に所在しないことを示す位置情報が取得された場合に、当該位置情報を管理サーバ100に送信する。
【0069】
また、通信制御部162は、取得部161によって取得された位置情報とモデルにおける位置情報との相違が所定の閾値未満の場合には、位置情報を管理サーバ100へ送信しないよう制御する。すなわち、通信制御部162は、ユーザが日常的に観測される位置に所在している場合には、当該位置情報を管理サーバ100に送信する処理を省略する。これにより、通信制御部162は、ユーザ端末10の通信負荷や電力消費を削減することができる。
【0070】
なお、通信制御部162は、取得部161によって取得された位置情報を管理サーバ100へ送信しないよう制御したのちに、ユーザ端末10に対して電力が供給された場合には、当該位置情報を管理サーバ100へ送信するよう制御してもよい。
【0071】
上述のように、通信制御部162は、電力消費量を抑制する観点から、位置情報の管理サーバ100への送信を省略する。このため、通信制御部162は、電力消費を抑制する必要のなくなった場合、具体的にはユーザ端末10に対して電力が供給された場合(例えば、ユーザ端末10が充電器と接続された場合等)に、送信を省略していた位置情報をまとめて管理サーバ100に送信するようにしてもよい。これにより、管理サーバ100は、モデルに基づいて推定していたユーザの位置情報を、正確な位置情報に置き換えることができる。
【0072】
また、通信制御部162は、取得した位置情報の時間帯や曜日に合わせたモデルを用いて通信制御処理を実行する。すなわち、通信制御部162は、取得部161によって位置情報が取得された際の時間帯と、時間帯ごとに生成されたモデルとに基づいて、取得部61によって取得された位置情報の管理サーバ100への送信を制御する。また、通信制御部162は、取得部161によって位置情報が取得された際の曜日と、曜日ごとに生成されたモデルとに基づいて、取得部61によって取得された位置情報の管理サーバ100への送信を制御する。これにより、通信制御部162は、時間帯や曜日ごとに生成された、よりユーザの行動を的確に示したモデルとの比較に基づいて管理サーバ100への通信を制御できる。
【0073】
(送信部163について)
送信部163は、各種情報を送信する。例えば、送信部163は、取得部161によって取得された位置情報を管理サーバ100に送信する。具体的には、送信部163は、検知部14によって検知されたユーザの位置と、検知した日時と、ユーザを識別するための識別情報とを対応付けた位置情報を管理サーバ100に送信する。
【0074】
また、送信部163は、管理サーバ100によってモデルが生成された後には、通信制御部162の処理に従い、管理サーバ100に送信すると判定された位置情報のみを抽出し、抽出した位置情報を管理サーバ100へ送信する。
【0075】
〔4.管理サーバの構成〕
次に、
図6を用いて、実施形態に係る管理サーバ100の構成について説明する。
図6は、実施形態に係る管理サーバ100の構成例を示す図である。
図6に示すように、管理サーバ100は、通信部110と、記憶部120と、制御部130とを有する。なお、管理サーバ100は、管理サーバ100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0076】
(通信部110について)
通信部110は、例えばNIC等によって実現される。通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10等との間で情報の送受信を行う。
【0077】
(記憶部120について)
記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、ユーザ情報記憶部121と、位置情報記憶部122と、モデル記憶部123とを有する。
【0078】
(ユーザ情報記憶部121について)
ユーザ情報記憶部121は、ユーザに関する情報を記憶する。ここで、
図7に、実施形態に係るユーザ情報記憶部121の一例を示す。
図7は、実施形態に係るユーザ情報記憶部121の一例を示す図である。
図7に示すように、ユーザ情報記憶部121は、「ユーザID」、「端末ID」、「属性情報」といった項目を有する。
【0079】
「ユーザID」は、ユーザを識別する識別情報を示す。「端末ID」は、ユーザが利用するユーザ端末10を識別する識別情報を示す。なお、各ユーザは、複数の端末を所有していてもよい。
【0080】
「属性情報」は、ユーザの属性に関する情報を示す。
図7では、属性情報を「D01」といった概念で表記しているが、実際には、属性情報の項目には、ユーザの年齢や性別や職業や年収や居住地等の種々の具体的な情報が記憶される。
【0081】
すなわち、
図7では、ユーザ情報記憶部121に記憶されるデータの一例として、ユーザID「U01」によって示されるユーザU01が、端末ID「C01」で識別されるユーザ端末10を利用していることを示している。また、ユーザU01の属性情報が「D01」であることを示している。
【0082】
なお、
図7での図示は省略したが、ユーザ情報記憶部121には、アプリの利用履歴等に基づいて、ユーザの興味関心情報や、ユーザの行動履歴等が記憶されてもよい。例えば、興味関心情報は、種々のアプリの利用を介して、管理サーバ100によってユーザに設定される情報(ユーザの購買履歴や検索履歴から、ユーザが興味関心を抱いていると想定されるカテゴリや情報の内容等)である。また、行動履歴情報は、種々のアプリにおけるユーザの行動履歴(ナビアプリに基づく移動履歴や目的地の履歴、ウェブページ等の閲覧履歴や、商品の購買履歴や、検索履歴等)である。
【0083】
(位置情報記憶部122について)
位置情報記憶部122は、ユーザ端末10から送信された位置情報を記憶する。ここで、
図8に、実施形態に係る位置情報記憶部122の一例を示す。
図8は、実施形態に係る位置情報記憶部122の一例を示す図である。
図8に示した例では、位置情報記憶部122は、「ユーザID」、「位置情報」といった項目を有する。また、「位置情報」の項目は、「取得日時」、「位置」、「精度」、「各種センサ情報」、「推定情報」といった小項目を有する。
【0084】
「ユーザID」は、
図5に示した同一の項目に対応する。「位置情報」、「取得日時」、「位置」、「精度」及び「各種センサ情報」は、
図4に示した同一の項目に対応する。
【0085】
「推定情報」は、位置情報記憶部122に記憶された情報が、ユーザ端末10から送信された位置情報か、管理サーバ100が推定した位置情報であるかを示す。
図8の例では、位置情報がユーザ端末10から送信されたものである場合、推定情報の項目には「0」が記憶され、位置情報がユーザ端末10から送信されたものでない場合、推定情報の項目には「1」が記憶される。なお、位置情報が管理サーバ100から推定されたものである場合、位置情報には、モデルに基づいて取得日時に対応する時間にユーザが所在すると推定される位置を示す情報が記憶される。この場合、精度や各種センサ情報等の項目の情報は記憶されなくてもよい。
【0086】
すなわち、
図8では、位置情報記憶部122に記憶されるデータの一例として、ユーザID「U01」によって識別されるユーザU01から送信された位置情報の一例として、取得日時「T01」において位置「G01」にユーザU01が所在し、その位置の精度は「中」であり、各種センサ情報が「X01」であることを示している。また、管理サーバ100が推定した位置情報の一例として、取得日時「T11」において位置「G01」にユーザU01が所在していると推定した位置情報が記憶されていることを示している。
【0087】
(モデル記憶部123について)
モデル記憶部123は、ユーザ端末10を利用するユーザの日常的な行動の推移に関する情報を示したモデルを記憶する。ここで、
図9に、実施形態に係るモデル記憶部123の一例を示す。
図9は、実施形態に係るモデル記憶部123の一例を示す図である。
図9に示すように、モデル記憶部123は、「ユーザID」、「モデルID」、「判定時間帯」、「利用データ群」、「推定情報」といった項目を有する。また、推定情報は、「取得日時」、「位置」といった小項目を有する。
【0088】
「ユーザID」は、
図5に示した同一の項目に対応する。「モデルID」及び「判定時間帯」は、
図6に示した同一の項目に対応する。「利用データ群」は、モデルの生成において用いられた位置情報の群を示す。
図9では、利用データ群を「P01」といった概念で表記しているが、実際には、利用データ群の項目には、判定時間帯に対応する複数の位置情報(判定時間帯が「6時〜10時、平日」であれば、所定期間に渡り当該時間帯において取得された複数の位置情報)が記憶される。利用データ群は、モデル生成のための学習データと読み替えてもよい。
【0089】
「推定情報」は、モデルとして記憶されているユーザの位置情報を示す。例えば、推定情報は、取得日時と位置とが対応付けられた情報として記憶される。仮に、管理サーバ100が、ユーザU01が利用するユーザ端末10から「平日の6時」に位置情報を取得する予定であったものとする。このとき、ユーザ端末10から位置情報が送信されなかった場合、管理サーバ100は、「平日の6時」に該当する「推定情報」の項目を参照する。そして、管理サーバ100は、当該位置情報が送信される予定であった日の位置情報を、時間「6時」及び位置「G01」と推定する。そして、管理サーバ100は、推定した位置情報を位置情報記憶部122に格納する。
【0090】
すなわち、
図9では、モデル記憶部123に記憶される情報の一例として、ユーザU01の位置情報の推定に用いられるモデルは、例えば、モデルID「M01」や「M02」や「M11」で識別されるモデルであることを示している。また、モデルM01は、判定時間帯が「6時〜10時、平日」であり、利用データ群が「P01」であることを示している。また、モデルM01の推定情報は、例えば、ユーザ端末10から位置情報を取得する予定日時が平日の「6:00〜6:30」である場合には、ユーザの所在位置を「G01」と推定することを示している。
【0091】
(制御部130について)
制御部130は、例えば、コントローラであり、CPUやMPU等によって、管理サーバ100内部の記憶装置に記憶されている各種プログラム(例えば、実施形態に係る管理プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現される。
【0092】
図6に示すように、制御部130は、取得部131と、生成部132と、送信部133と、推定部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図6に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図6に示した接続関係に限られず、他の接続関係であってもよい。
【0093】
(取得部131について)
取得部131は、ユーザ端末10から位置情報を取得する。例えば、取得部131は、ユーザ端末10にインストールされた各アプリの制御に従ってユーザ端末10によって取得され、ユーザ端末10から送信される位置情報を取得する。
【0094】
なお、取得部131は、位置情報とともに、位置情報に対応するセンサ情報を取得してもよい。センサ情報とは、ユーザ端末10の検知部14によって検知される各種情報である。例えば、ユーザ端末10は、ユーザの位置を検知するとともに、周囲の音声情報や加速度、温度や湿度等を検知する。取得部131は、このように位置とともに検知されたセンサ情報をユーザ端末10から取得する。
【0095】
また、取得部131は、取得した位置情報において、位置が検知された精度を取得してもよい。上述のように、ユーザ端末10は、種々の機能(検知手段)を用いて位置を検知する。そして、一般に、ユーザの位置を示す情報は、検知に用いられる機能によって精度が異なる。例えば、GPSでユーザの位置を検知する場合と、Wi−Fiによる通信機能を用いてユーザの位置を検知する場合と、ビーコンによる通信機能を用いてユーザの位置を検知する場合とでは、ユーザの位置を特定する精度が異なる。例えば、ビーコンによる通信機能を用いてユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった、数メートル範囲の精度でユーザの位置を特定可能である。一方で、GPSでユーザの位置を検知する場合、建物内のどこにユーザが所在しているかといった数メートル範囲の精度でユーザの位置を特定することは難しい。一般に、精度の高い位置情報を利用した方が、よりユーザが移動した地形や経路等を正確に特定できるため、よりユーザビリティの高いサービスの提供を行うことができる。このため、管理サーバ100は、例えば精度の高い位置情報を優先的に取得したり、優先的に蓄積したりしてもよい。
【0096】
また、取得部131は、ユーザ端末10から位置に関する情報を取得する際に、ユーザ端末10が位置を検知した場合の検知手段について取得してもよい。そして、取得部131は、位置情報として、位置と検知手段(言い換えれば、精度)とを対応付けた情報を取得する。この場合、取得部131は、検知手段と精度との関係性を定義した定義情報等を予め取得していてもよい。具体的には、取得部131は、管理サーバ100の管理者等から、ビーコン機能を利用して検知された位置情報の精度が「高」である、といった定義情報を取得しておく。そして、取得部131は、位置に関する情報と検知手段とをユーザ端末10から取得した場合に、当該検知手段に応じた精度の情報を位置と対応付け、対応付けた情報を位置情報として取得する。
【0097】
また、取得部131は、位置情報とともに、ユーザに関する各種情報を取得してもよい。例えば、取得部131は、利用するアプリを介してユーザが各サービスに登録した情報に基づいて、ユーザの属性情報を取得する。また、取得部131は、アプリにおけるユーザの興味関心情報や、ユーザの行動履歴情報を取得してもよい。取得部131は、種々の既存の技術(例えば、ユーザの興味関心や行動に基づいて広告を配信するための広告配信技術等)を利用して、種々の情報を取得してもよい。また、取得部131は、曜日情報を含めた日時情報とともに位置情報を取得するようにしてもよい。
【0098】
また、取得部131は、位置情報として、ユーザ端末10と他の装置における通信の状況を取得してもよい。具体的には、取得部131は、ユーザ端末10がアクセスポイントを介してインターネットなどにアクセスしている通信状況を取得する。この場合、取得部131は、アクセスポイントとの通信状況から検出される情報を位置情報として取得する。具体的には、取得部131は、ユーザ端末10と通信中のアクセスポイントの設置位置を割り出し、割り出したアクセスポイントの設置位置に基づいて、当該ユーザ端末10の位置情報として取得するようにしてもよい。また、取得部131は、駅改札の装置とユーザ端末10との通信を検出することでユーザ端末10の位置を取得したり、ユーザ端末10のIPアドレスに基づいて位置を取得したりしてもよい。
【0099】
取得部131は、取得したユーザに関する情報をユーザ情報記憶部121に格納する。また、取得部131は、取得した位置情報を位置情報記憶部122に格納する。また、取得部131は、適宜、格納したユーザ情報や位置情報を記憶部120内から取得してもよい。
【0100】
(生成部132について)
生成部132は、ユーザが利用するユーザ端末10から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。
【0101】
例えば、生成部132は、所定期間のユーザの位置情報を利用データ群として取得し、取得した情報に基づいて、ユーザが所定のタイミングにおいてどの位置に所在するか、を示すユーザごとの行動モデルを生成する。
【0102】
生成部132は、種々の既知の手法に基づいてモデルを生成してもよい。例えば、生成部132は、位置情報を統計的に解析することによりモデルを生成する。具体的には、生成部132は、特定の時間と当該時間においてユーザが所在していた位置を示す情報とを集積し、ユーザが当該時間において、どの位置に属する確率が高いかを示したモデルを生成する。
【0103】
例えば、
図9の例では、生成部132は、利用データ群P01(ユーザU01から所定期間に渡り取得した位置情報)に基づいて、平日の6時から6時半までの間にはユーザU01が位置G01に所在した履歴が最も多いと判定する。この場合、生成部132は、平日の「6:00〜6:30」におけるユーザU01の所在する位置は「G01」である、と推定するモデルM01を生成する。同様に、生成部132は、時間帯や曜日ごとに、ユーザU01の所在する位置を推定するモデルを生成する。
【0104】
なお、生成部132は、推定する位置が複数存在するモデルを生成してもよい。例えば、生成部132は、位置情報の統計に基づいて、平日の「6:00〜6:30」におけるユーザU01の所在する位置は、「80%」の確率で位置G01であり、「20%」の確率で位置G02である、と推定するモデルを生成してもよい。また、例えば、生成部132があるユーザの利用データ群を参照した場合に、平日の6時から6時半までの間には当該ユーザが所在する位置が、位置G41と位置G42という2つの範囲において略同数で観測されたとする。この場合、生成部132は、平日の「6:00〜6:30」における当該ユーザの所在する位置は、「50%」の確率で位置G41であり、「50%」の確率で位置G42である、と推定するモデルを生成してもよい。
【0105】
また、生成部132は、後述する推定部134によってユーザの位置情報が推定されたのちに、所定時間における位置情報をユーザ端末10から取得した場合には、推定部134によって推定された位置情報と、当該端末装置から取得した位置情報との相違に基づいて、ユーザ行動モデルを更新してもよい。
【0106】
例えば、上述したモデルM01を用いて推定処理が行われた場合、後述する推定部134は、平日の「6:00〜6:30」におけるユーザU01の所在する位置は「G01」である、と推定する。ここで、ユーザ端末10は、例えばユーザU01が帰宅して充電器に接続されたタイミングで、当日の「6:00〜6:30」の間に取得していた位置情報を管理サーバ100に送信する場合がある。かかる情報は、当日のユーザU01の位置を示す正解データといえる。このため、生成部132は、新たに取得した位置情報(正解データ)を用いて、モデルM01を更新する。具体的には、生成部132は、モデルM01を用いて推定された位置情報と、正解データである位置情報との間の相違が所定の閾値を超える場合(例えば、数百メートル以上の誤差がある場合)、正解データである位置情報を新たに利用データ群P01に追加し、モデルを更新する。これにより、生成部132は、モデルを最適化することができる。
【0107】
なお、上述したモデルの生成処理は一例であり、生成部132は、ユーザの行動や位置の推移を推定する様々な既知の生成(学習)処理を用いてモデルを生成してもよい。例えば、生成部132は、ユーザの行動(位置情報)の特徴を学習することにより、ユーザの位置の推移を予測するモデルを生成してもよい。
【0108】
そして、生成部132は、ユーザごと、また、時間帯や曜日ごとに生成したモデルをモデル記憶部123に格納する。
【0109】
(送信部133について)
送信部133は、各種情報を送信する。例えば、送信部133は、生成部132によって生成されたモデルをユーザ端末10に送信する。
【0110】
また、送信部133は、各種サービスに関する情報を送信してもよい。例えば、管理サーバ100が位置情報を利用したナビサービスをユーザに提供している場合、送信部133は、ナビサービスに関する情報(例えば、ユーザの位置情報と地図情報とを対応付けた情報)をユーザ端末10に送信する。
【0111】
(推定部134について)
推定部134は、送信部133によってユーザ行動モデルが送信されたユーザ端末10から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する。
【0112】
例えば、推定部134は、ユーザ端末10にインストールされたアプリを介して、ユーザ端末10から位置情報が送信される予定の時間情報を取得する。そして、推定部134は、位置情報が送信される予定の時間において、ユーザ端末10から位置情報を取得した場合には、取得した位置情報が示す位置を当該ユーザの所在する位置とみなす。一方、推定部134は、位置情報が送信される予定の時間において、ユーザ端末10から位置情報を取得しなかった場合には、判定時間帯に対応するモデルの推定情報を参照し、推定情報に記憶されている位置情報が示す位置を当該ユーザの所在する位置と推定する。推定部134は、位置情報を推定した場合には、当該位置情報が推定された情報であることを付記したうえで、位置情報記憶部122に格納する。
【0113】
なお、推定部134は、推定した位置情報について、その後ユーザ端末10から正解データとなる位置情報を取得した場合には、推定した位置情報を正解データとなる位置情報に置き換えて、位置情報記憶部122に格納するようにしてもよい。
【0114】
〔5.処理手順〕
次に、
図10乃至
図12を用いて、実施形態に係る処理の手順について説明する。まず、
図10を用いて、実施形態に係る管理サーバ100による生成処理の手順について説明する。
図10は、実施形態に係る処理手順を示すフローチャート(1)である。
【0115】
図10に示すように、管理サーバ100は、ユーザ端末10から位置情報を取得する(ステップS101)。そして、管理サーバ100は、モデル生成に充分な位置情報が蓄積されたか否かを判定する(ステップS102)。モデル生成に充分な位置情報が蓄積されていない場合(ステップS102;No)、管理サーバ100は、位置情報を取得する処理を継続する。
【0116】
一方、モデル生成に充分な位置情報が蓄積された場合(ステップS102;Yes)、管理サーバ100は、ユーザごとの行動モデルを生成する(ステップS103)。そして、管理サーバ100は、生成したモデルをユーザに送信する(ステップS104)。
【0117】
続いて、
図11を用いて、実施形態に係るユーザ端末10による取得処理の手順について説明する。
図11は、実施形態に係る処理手順を示すフローチャート(2)である。
【0118】
図11に示すように、ユーザ端末10は、位置情報を取得する(ステップS201)。ユーザ端末10は、位置情報を取得した時間を参照し、時間帯に応じたモデルを選択する(ステップS202)。
【0119】
続いて、ユーザ端末10は、ステップS201において取得した位置情報と、モデルにおける情報との相違が所定の閾値以上であるか否かを判定する(ステップS203)。所定の閾値以上である場合(ステップS203;Yes)、ユーザ端末10は、ステップS201において取得した位置情報を管理サーバ100に送信すると判定する(ステップS204)。そして、ユーザ端末10は、位置情報を管理サーバ100に送信する(ステップS205)。
【0120】
一方、所定の閾値未満の場合(ステップS203;No)、ユーザ端末10は、ステップS201において取得した位置情報を管理サーバ100に送信しないと判定する(ステップS206)。
【0121】
続いて、
図12を用いて、実施形態に係る管理サーバ100による推定処理の手順について説明する。
図12は、実施形態に係る処理手順を示すフローチャート(3)である。
【0122】
図12に示すように、管理サーバ100は、位置情報をユーザ端末10から取得するタイミングが到来したか否かを判定する(ステップS301)。タイミングが到来していない場合(ステップS301;No)、管理サーバ100は、タイミングが到来するまで待機する。
【0123】
一方、タイミングが到来した場合(ステップS301;Yes)、管理サーバ100は、モデルを有する(言い換えれば、管理サーバ100がモデルを送信した)ユーザ端末10から位置情報を取得したか否かを判定する(ステップS302)。
【0124】
位置情報を取得した場合(ステップS302;Yes)、管理サーバ100は、取得した位置情報を位置情報記憶部122に格納する(ステップS303)。
【0125】
一方、位置情報を取得していない場合(ステップS302;No)、管理サーバ100は、当該ユーザの行動モデルに基づいて、当該ユーザの位置情報を推定する(ステップS304)。そして、管理サーバ100は、推定した位置情報を、ステップS301の位置情報取得のタイミングにおける当該ユーザの位置情報と推定して、位置情報記憶部122に格納する(ステップS305)。
【0126】
〔6.変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。以下では、通信制御システム1の他の実施形態について説明する。
【0127】
〔6−1.モデル生成処理〕
上記実施形態では、管理サーバ100がユーザの行動モデルを生成し、生成したモデルをユーザ端末10に送信する例を示した。ここで、モデルは、ユーザ端末10自身によって生成されてもよい。かかる例について、
図13を用いて説明する。
図13は、変形例に係るユーザ端末10Aの構成例を示す図である。
【0128】
図13に示すように、変形例に係るユーザ端末10Aは、管理サーバ100に係る生成部132と同様の処理を行う生成部164を有する。そして、ユーザ端末10Aに係る生成部164は、取得部131によって取得された位置情報に基づいて、自装置を利用するユーザのモデルを生成する。そして、ユーザ端末10Aに係る通信制御部162は、モデルの生成後は、モデルによって示される位置情報に基づいて、新たに取得した位置情報との差異を判定し、差異が所定の閾値以上である位置情報のみを管理サーバ100に送信するよう制御する。
【0129】
この場合、ユーザ端末10Aに係る取得部161は、モデルを管理サーバ100から取得することを要しない。例えば、変形例に係るユーザ端末10Aは、ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する生成部164と、生成部164によってユーザ行動モデルが生成されたのちに、新たにユーザの位置を示す位置情報を取得する取得部161と、取得部161によって取得された新たな位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得部161によって取得された新たな位置情報のサーバへの送信を制御する通信制御部162とを有する構成であってもよい。
【0130】
かかる構成により、変形例に係るユーザ端末10Aは、管理サーバ100からモデルを取得せずとも、実施形態に係る通信制御処理を実行することができる。
【0131】
また、上記のようにユーザ端末10Aがモデル生成を行う場合、管理サーバ100は、ユーザ端末10Aが生成したモデルを取得し、実施形態に係る推定処理を実行してもよい。この場合、変形例に係る管理サーバ100は、生成部132を有さなくてもよい。例えば、変形例に係る管理サーバ100は、ユーザ端末10Aによって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する取得部131と、取得部131によってユーザ行動モデルが取得されたのちに、ユーザ端末10Aから、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する推定部134とを有する構成であってもよい。
【0132】
かかる構成により、変形例に係る管理サーバ100は、自装置でモデル生成処理を行わずとも、実施形態に係る推定処理を実行することができる。
【0133】
〔6−2.位置情報〕
上記実施形態では、位置情報は、ユーザ端末10が取得するGPS情報や、アクセスポイント等から取得することを説明した。しかし、管理サーバ100は、異なる情報からユーザ端末10の位置情報を取得してもよい。
【0134】
例えば、管理サーバ100は、ユーザが各種サービスを利用した履歴に基づいて、ユーザ端末10の位置情報を取得してもよい。具体的には、管理サーバ100は、路線検索サービスにおいて頻繁にユーザ端末10から入力される駅を、ユーザの最寄り駅と推定する。そして、管理サーバ100は、最寄り駅を含む所定範囲をユーザ端末10が所在する地域として取得してもよい。かかる処理によれば、管理サーバ100は、ユーザ端末10が位置情報を取得する機能を有していない場合であっても、ユーザ端末10の位置情報を取得することができる。
【0135】
また、管理サーバ100は、ユーザの各種サービスの利用状況に基づいて、ユーザの位置を推定してもよい。例えば、管理サーバ100は、ユーザが検索を行った際の検索クエリや、SNS(Social Networking Service)の投稿情報等を取得し、取得した情報に基づいて、ユーザの位置を推定してもよい。例えば、管理サーバ100は、日常的に同じ地域のランチに関する検索を行っているユーザは、当該地域を勤務先とするユーザであり、少なくとも昼の時間帯は当該地域に所在すると推定してもよい。また、管理サーバ100は、日常的に同じ地域のニュースを閲覧しているユーザは、当該地域に所在する可能性が高いユーザであると推定してもよい。また、管理サーバ100は、特定の地域に関するSNSへの投稿が多いユーザは、当該特定の地域に所在する可能性が高いユーザであると推定してもよい。このように、管理サーバ100は、ユーザの各種サービスに関する様々な情報を利用して、ユーザの位置情報を取得したり、ユーザの位置を推定したりしてもよい。
【0136】
〔6−3.ユーザ端末の構成〕
上記実施形態では、ユーザ端末10の構成例について
図3を用いて説明した。しかし、ユーザ端末10は、
図3で例示した全ての処理部を備えることを必ずしも要しない。例えば、ユーザ端末10は、入力部12や表示部13を必ずしも備えていなくてもよい。また、ユーザ端末10は、2以上の機器に分離されて
図3に示す構成が実現されてもよい。例えば、ユーザ端末10は、少なくとも検知部14と取得部161とを有する検知装置と、少なくとも通信部11を有する通信装置とが分離された構成を有する、2台以上の機器により実現されてもよい。
【0137】
〔6−4.制御情報〕
上記実施形態では、ユーザ端末10が、実施形態に係る通信制御プログラムが記載された制御情報に従って通信制御処理を実行する例を示した。ここで、制御情報は、ユーザ端末10が実行するアプリに含まれてもよいし、ウェブブラウザソフトウェアの一機能として含まれていてもよいし、ユーザ端末10で表示しようとするアプリに含まれていてもよい。すなわち、制御情報の取得元や配信元は、ユーザ端末10の行う通信制御処理の結果には影響しない。
【0138】
〔6−5.位置の検知手段〕
上記実施形態では、ユーザの位置を検知する手段に応じて、位置を示す情報の精度が異なることを説明した。ここで、検知手段の精度は、上記実施形態で示した例に限らない。例えば、ユーザ端末10が利用する検知手段によっては、Wi−Fiやbeaconを利用した測位よりも、GPSを利用した測位の方が、位置の精度が高い場合もありうる。すなわち、上記で示した検知手段や、検知手段同士の精度の高低は一例であり、実施形態に係る管理サーバ100やユーザ端末10は、各々の検知手段に応じて適切な精度を適宜選択可能なよう、定義情報を適宜更新するようにしてもよい。
【0139】
〔6−6.充電パターンに応じた通信制御処理〕
上記実施形態では、ユーザ端末10が、電力が供給された場合に、それまで蓄積していた位置情報を管理サーバ100へ送信する例を示した。ここで、ユーザ端末10は、電力が供給されるタイミングを推定し、推定した情報に基づいて位置情報を送信してもよい。
【0140】
例えば、ユーザ端末10がスマートフォン等の日常的に充電を繰り返す機器である場合、電力が供給されるタイミングは、ユーザに応じてモデル化することが可能である。例えば、ユーザ端末10は、ユーザが平日の夜10時頃に充電を行い、休日には夜8時頃に充電を行うといった行動情報を取得し、蓄積する。そして、ユーザ端末10は、当該ユーザの充電に関する一定の行動パターンを生成する。続けて、ユーザ端末10は、行動パターンに基づいて、例えば、平日の夜10時を「平日の充電タイミング」と、休日の夜8時を「休日の充電タイミング」と設定する。
【0141】
その後、ユーザ端末10は、位置情報が取得されたタイミングと、充電タイミングまでの時間間隔とに基づいて、通信制御処理を行う。例えば、ユーザ端末10は、位置情報が取得されたタイミングから充電タイミングまでに比較的長い時間間隔(例えば、数時間以上など)がある場合、管理サーバ100に対して位置情報を送信するか否かを判定する閾値を通常時に比べて高く設定する。これにより、ユーザ端末10は、充電まで時間がかかると推定される状況下では、管理サーバ100への位置情報の送信を抑制できるので、電力消費を抑えることができる。
【0142】
一方、ユーザ端末10は、位置情報が取得されたタイミングから充電タイミングまでが比較的短い時間間隔(例えば、10分など)である場合、管理サーバ100に対して位置情報を送信するか否かを判定する閾値を通常時に比べて低く設定する。これにより、ユーザ端末10は、まもなく充電が開始されると推定される状況下では、日常の行動(すなわちユーザ行動モデル)とのわずかなずれが生じたことを示す位置情報でも、積極的に管理サーバ100に送信することができる。言い換えれば、ユーザ端末10は、現時点では電力が供給されていなくとも、数分後には充電されると推定される状況下では、位置情報を積極的に送信するよう閾値を動的に変更してもよい。かかる処理により、ユーザ端末10は、より正確な位置情報を管理サーバ100に提供することができる。
【0143】
このように、ユーザ端末10は、電力が供給される(充電される)パターンに基づいて、管理サーバ100に位置情報を送信するか否かを判定する閾値を調整することにより、各ユーザの日常的な行動に応じて、適切な通信制御処理を行うことができる。
【0144】
〔6−7.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0145】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図3に示した通信制御部162と送信部163とは統合されてもよい。
【0146】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0147】
〔7.ハードウェア構成〕
また、上述してきた実施形態に係るユーザ端末10や管理サーバ100は、例えば
図14に示すような構成のコンピュータ1000によって実現される。以下、ユーザ端末10を例に挙げて説明する。
図14は、ユーザ端末10の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0148】
CPU1100は、ROM1300又はHDD1400に格納されたプログラム(例えば、実施形態に係る通信制御プログラム)に基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0149】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(
図2に示したネットワークNに対応する)を介して他の機器からデータを受信してCPU1100へ送り、また、通信網500を介してCPU1100が生成したデータを他の機器へ送信する。
【0150】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0151】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0152】
例えば、コンピュータ1000が実施形態に係るユーザ端末10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部16の機能を実現する。また、HDD1400には、ユーザ端末10が備える記憶部15内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0153】
〔8.効果〕
上述したように、実施形態に係る通信制御プログラムは、ユーザが利用する端末装置(本願に係る通信制御装置の一例であり、実施形態ではユーザ端末10に対応する)に、取得手順と、通信制御手順とを実行させる。取得手順は、ユーザの位置を示す位置情報と、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルとを取得する。通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得手順によって取得された位置情報のサーバへの送信を制御する。
【0154】
このように、実施形態に係る通信制御プログラムは、ユーザの行動モデルを参照し、行動モデルとの比較に基づいて、位置情報の通信を制御する。すなわち、通信制御プログラムは、位置情報の管理サーバ100への送信処理をユーザの日常の行動等と照らして制御することにより、ユーザ端末10における電力の消費を削減することができる。
【0155】
また、通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との相違が所定の閾値以上であれば、当該位置情報をサーバへ送信するよう制御する。
【0156】
このように、実施形態に係る通信制御プログラムは、ユーザの行動モデルを参照することにより、例えば、端末装置を利用するユーザが日常的な行動を採っている場合には、位置情報を送信する処理を省略できる。これにより、通信制御プログラムは、位置情報の送信等に係る情報処理の負担を軽減できるので、電力の消費を削減することができる。
【0157】
また、通信制御手順は、取得手順によって取得された位置情報とユーザ行動モデルにおける位置情報との相違が所定の閾値未満の場合には、当該位置情報をサーバへ送信しないよう制御する。
【0158】
このように、実施形態に係る通信制御プログラムは、ユーザの行動モデルを参照し、例えば、ユーザが日常的な行動を採っていないと推定される場合に限り、位置情報を送信する。これにより、通信制御プログラムは、ユーザにとって日常的でない行動を採った(例えば、ユーザが日常的に利用する通勤電車に取り遅れた場合など)場合には、その位置情報を管理サーバ100に送信してユーザの現在位置に合わせた適切なサービスを受けられるようにするなど、状況に合わせた適切な制御することができる。
【0159】
また、通信制御手順は、取得手順によって取得された位置情報をサーバへ送信しないよう制御したのちに、端末装置に対して電力が供給された場合には、当該位置情報を当該サーバへ送信するよう制御する。
【0160】
このように、実施形態に係る通信制御プログラムは、例えば外出先など、電力消費にユーザが不安を抱くタイミングでは位置情報を送信せず、ユーザ端末10が充電器に接続された場合など、電力消費の不安がなくなったタイミングで蓄積しておいた位置情報を送信する。これにより、通信制御プログラムは、ユーザ端末10がバッテリー駆動の際には管理サーバ100側で位置情報を推定させておき、ユーザ端末10が充電器に接続されたタイミングで、管理サーバ100側で推定していた情報を正確な位置情報(正解データ)に置き換えさせるなど、状況に応じて柔軟に位置情報の通信制御を行うことができる。
【0161】
また、取得手順は、時間帯ごとに生成されたユーザ行動モデルを取得する。通信制御手順は、取得手順によって位置情報が取得された際の時間帯と、時間帯ごとに生成されたユーザ行動モデルとに基づいて、当該取得手順によって取得された位置情報のサーバへの送信を制御する。
【0162】
このように、実施形態に係る通信制御プログラムは、時間帯ごとに生成された行動モデルを用いることにより、より正確にユーザの行動を判定できるため、推定される位置情報の精度を向上させることができる。
【0163】
また、取得手順は、曜日ごとに生成されたユーザ行動モデルを取得する。通信制御手順は、取得手順によって位置情報が取得された際の曜日と、曜日ごとに生成されたユーザ行動モデルとに基づいて、当該取得手順によって取得された位置情報のサーバへの送信を制御する。
【0164】
このように、実施形態に係る通信制御プログラムは、曜日ごとに生成された行動モデルを用いることにより、より正確にユーザの行動を判定できるため、推定される位置情報の精度を向上させることができる。
【0165】
また、変形例に係る通信制御プログラムは、ユーザが利用する端末装置(本明細書ではユーザ端末10Aに対応する)に、生成手順と、取得手順と、通信制御手順とを実行させてもよい。生成手順は、ユーザの位置を示す位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。取得手順は、生成手順によってユーザ行動モデルが生成されたのちに、新たにユーザの位置を示す位置情報を取得する。通信制御手順は、取得手順によって取得された新たな位置情報とユーザ行動モデルにおける位置情報との比較に基づいて、取得手順によって取得された新たな位置情報のサーバへの送信を制御する。
【0166】
このように、変形例に係る通信制御プログラムは、端末装置側で生成したモデルを用いて通信制御処理を行うことにより、管理サーバからモデルを取得せずとも、端末装置における電力の消費を削減するための処理を行うことができる。
【0167】
また、実施形態に係る管理サーバ100は、生成部132と、送信部133と、推定部134とを有する。生成部132は、ユーザが利用するユーザ端末10から取得した位置情報に基づいて、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを生成する。送信部133は、生成部132によって生成されたユーザ行動モデルをユーザ端末10に送信する。推定部134は、送信部133によってユーザ行動モデルが送信されたユーザ端末10から、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する。
【0168】
このように、実施形態に係る管理サーバ100は、所定時間においてユーザ端末10から位置情報が送信されない場合であっても、モデルにおける所定時間に対応した位置情報をユーザの位置情報と推定することができるため、位置情報を利用したサービスを継続することができる。言い換えれば、管理サーバ100は、ユーザ端末10から位置情報を取得せずとも、仮想的な位置情報のログを蓄積することができる。また、管理サーバ100は、ユーザの日常的な行動に基づいて生成されたモデルを参照するので、無作為な推定と比較して精度の高い位置情報を仮想的なログとして蓄積することができる。すなわち、管理サーバ100は、ユーザ端末10の電力消費を削減しつつ、精度の高い位置情報を取得することができる。
【0169】
また、生成部132は、推定部134によってユーザの位置情報が推定されたのちに、所定時間における位置情報をユーザ端末10から取得した場合には、推定部134によって推定された位置情報と、ユーザ端末10から取得した位置情報との相違に基づいて、ユーザ行動モデルを更新する。
【0170】
このように、実施形態に係る管理サーバ100は、後から正解データがユーザ端末10から送信された場合、かかる正解データに基づいてモデルを更新する。これにより、管理サーバ100は、モデルを最適化することができるため、より精度の高い位置情報を取得し易くなる。
【0171】
また、変形例に係る管理サーバ100は、生成部132を有さなくてもよい。具体的には、変形例に係る管理サーバ100は、取得部131と、推定部134とを有する。取得部131は、ユーザが利用するユーザ端末10Aによって生成されたモデルであって、当該ユーザの日常的な行動を示したモデルであるユーザ行動モデルを取得する。推定部134は、取得部131によってユーザ行動モデルが取得されたのちに、ユーザ端末10Aから、所定時間において位置情報が送信されない場合には、当該ユーザ行動モデルにおける当該所定時間に対応した位置情報を当該ユーザの位置情報と推定する。
【0172】
このように、変形例に係る管理サーバ100は、自装置でモデルを生成せずとも、ユーザ端末10Aによって生成したモデルを利用して、ユーザの位置を推定する推定処理を行うことができる。このため、変形例に係る管理サーバ100は、ユーザ端末10Aの電力消費を削減しつつ、精度の高い位置情報を取得することができる。
【0173】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0174】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。