JP2017138909A - 判定プログラム、判定装置、判定システム、及び判定方法 - Google Patents

判定プログラム、判定装置、判定システム、及び判定方法 Download PDF

Info

Publication number
JP2017138909A
JP2017138909A JP2016020982A JP2016020982A JP2017138909A JP 2017138909 A JP2017138909 A JP 2017138909A JP 2016020982 A JP2016020982 A JP 2016020982A JP 2016020982 A JP2016020982 A JP 2016020982A JP 2017138909 A JP2017138909 A JP 2017138909A
Authority
JP
Japan
Prior art keywords
user information
information
user
determination
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016020982A
Other languages
English (en)
Other versions
JP6697279B2 (ja
Inventor
孝太 坪内
Kota Tsubouchi
孝太 坪内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2016020982A priority Critical patent/JP6697279B2/ja
Publication of JP2017138909A publication Critical patent/JP2017138909A/ja
Application granted granted Critical
Publication of JP6697279B2 publication Critical patent/JP6697279B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】情報を分散型の記憶手段に記憶させるかを適切に判定すること。【解決手段】本願に係る判定プログラムは、取得手順と、判定手順とをコンピュータに実行させる。取得手順は、ユーザの行動に関するユーザ情報を取得する。判定手順は、ユーザ情報の履歴と取得手順により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する。また、判定手順は、ユーザ情報の履歴と取得手順により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。【選択図】図1

Description

本発明は、判定プログラム、判定装置、判定システム、及び判定方法に関する。
従来、種々のユーザに関する情報(以下、「ユーザ情報」とする)をユーザが利用する端末装置から収集する技術が提供されている。そのような技術において、ユーザ数が多いサービスでは、収集されるユーザ情報が膨大になるため、例えば、分散処理技術を用いたHadoop(ハドゥープ)等の分散型の記憶手段により、収集したユーザ情報を保存する。
特開2011−028436号公報 特表2015−501976号公報
しかしながら、上記の従来技術では、例えば、各ユーザの端末装置において取得される位置情報等のユーザ情報が分散型の記憶手段に送信される場合、処理するユーザ情報の量が膨大になる。このような分散型の記憶手段をユーザ数が非常に多い(例えば100万ユーザや1000万ユーザ等)サービスにおいて用いる場合、分散型の記憶手段に保存されたユーザ情報の更新や最新のユーザ情報の検索等のリアルタイムのサービスを行うことは難しい。また、リアルタイム用の記憶手段と解析用の記憶手段とを設けた場合、通信負荷やコストの増大につながる。
本願は、上記に鑑みてなされたものであって、情報を分散型の記憶手段に記憶させるかを適切に判定する判定プログラム、判定装置、判定システム、及び判定方法を提供することを目的とする。
本願に係る判定プログラムは、ユーザの行動に関するユーザ情報を取得する取得手順と、ユーザ情報の履歴と前記取得手順により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する判定手順と、をコンピュータに実行させることを特徴とする。
第1の実施形態の一態様によれば、情報を分散型の記憶手段に記憶させるかを適切に判定することができるという効果を奏する。
図1は、第1の実施形態に係る判定処理の一例を示す図である。 図2は、第1の実施形態に係る判定システムの構成例を示す図である。 図3は、第1の実施形態に係る端末装置の構成例を示す図である。 図4は、第1の実施形態に係るルール情報記憶部の一例を示す図である。 図5は、第1の実施形態に係るコンテキスト情報記憶部の一例を示す図である。 図6は、第1の実施形態に係る送信情報記憶部の一例を示す図である。 図7は、第1の実施形態に係る記憶システムの構成の一例を示す図である。 図8は、第1の実施形態に係る判定処理の一例を示すフローチャートである。 図9は、変形例に係る端末装置の構成例を示す図である。 図10は、変形例に係る学習情報記憶部の一例を示す図である。 図11は、第2の実施形態に係る判定システムの構成例を示す図である。 図12は、第2の実施形態に係るサーバ装置の構成例を示す図である。 図13は、第2の実施形態に係るルール情報記憶部の一例を示す図である。 図14は、第2の実施形態に係るコンテキスト情報記憶部の一例を示す図である。 図15は、第2の実施形態に係る送信情報記憶部の一例を示す図である。 図16は、第2の実施形態に係る端末装置の構成例を示す図である。 図17は、第2の実施形態に係る判定処理の一例を示すシーケンス図である。 図18は、判定処理の結果を反映した取得タイミングの一例を示す図である。 図19は、端末装置及びサーバ装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
以下に、本願に係る判定プログラム、判定装置、判定システム、及び判定方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定プログラム、判定装置、判定システム、及び判定方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(第1の実施形態)
〔1.判定処理〕
まず、図1を用いて、第1の実施形態に係る判定処理の一例について説明する。図1は、第1の実施形態に係る判定処理の一例を示す図である。図1では、本願に係るコンピュータにおいて、本願に係る判定プログラムが実行する処理の一例について説明する。具体的には、図1では、本願に係るコンピュータの一例である端末装置10によって、ユーザ情報を分散型の記憶手段に記憶させるかが判定される例を示す。本実施形態において、端末装置10(図3参照)は、センサ部16(図3参照)として、GPS(Global Positioning System)センサを有し、センサ部16から取得した位置情報をユーザ情報として、判定処理を行う。以下の例では、端末装置10を利用するユーザがユーザU1である場合を示す。
また、図1では、端末装置10がコンテキストに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する場合を示す。なお、コンテキストは、ユーザや端末装置10の状況やユーザや端末装置10の環境(背景)を意味する。例えば、コンテキストは、ユーザによって端末装置10が使われている状況や、端末装置10を所持するユーザが置かれている状態に対応する情報である。すなわち、図1におけるコンテキストは、ユーザU1の状況、例えばユーザU1がいる場所の環境に対応する。具体的には、図1におけるコンテキストは、各ユーザ情報が取得した時点におけるユーザU1の状況に対応する。
例えば、コンテキストは、端末装置10が取得したユーザ情報に基づいて推定してもよい。例えば、コンテキストは、ユーザ情報の履歴に基づいて推定したユーザの行動パターンから推定してもよい。また、コンテキストは、端末装置10が取得したユーザ情報に基づいて行動パターンから推定したコンテキストを変更してもよい。
また、図1では、説明を簡単にするため、ユーザが自宅にいるときをコンテキストCN11とし、ユーザが移動中であるときをコンテキストCN12とし、ユーザが会社にいるときをコンテキストCN13とする場合を示す。具体的には、時刻t1〜時刻t2におけるコンテキストCN11は、ユーザU1が自宅にいるコンテキストに対応する。また、時刻t2〜時刻t3におけるコンテキストCN12は、ユーザU1が移動中であるコンテキストに対応する。また、時刻t3以降におけるコンテキストCN13は、ユーザU1が会社にいるコンテキストに対応する。また、図1中の時刻t1以前におけるコンテキストCN10は、コンテキストCN11への変化を示すためのコンテキストであり、例えばコンテキストCN12等の所定のコンテキストであってもよい。
例えば、端末装置10は、ユーザU1のユーザ情報の履歴から推定したユーザU1の行動パターンに基づいてユーザU1のコンテキストを推定する。図1では、端末装置10は、ユーザU1のユーザ情報の履歴に基づいて、例えば、平日において、ユーザU1が時刻t1〜時刻t2は自宅にいて、時刻t3以降には会社にいると推定してもよい。また、例えば、端末装置10は、ユーザU1のユーザ情報の履歴に基づいて推定されたユーザU1の自宅や会社等の位置情報を有してもよい。この場合、端末装置10は、取得したユーザ情報とユーザU1の自宅の位置情報や会社の位置情報とを比較することにより、ユーザU1の所在を推定してもよい。また、例えば、端末装置10は、取得したユーザ情報がユーザU1の自宅の位置情報から所定の範囲内である場合、ユーザU1が自宅にいると推定してもよい。この場合、端末装置10は、ユーザU1のコンテキストをコンテキストCN11と推定してもよい。例えば、端末装置10は、取得したユーザ情報がユーザU1の会社の位置情報から所定の範囲内である場合、ユーザU1が会社にいると推定してもよい。この場合、端末装置10は、ユーザU1のコンテキストをコンテキストCN13と推定してもよい。また、例えば、端末装置10は、取得したユーザ情報が連続して位置が変動している場合、ユーザU1が移動中であると推定してもよい。この場合、端末装置10は、ユーザU1のコンテキストをコンテキストCN12と推定してもよい。なお、上記コンテキストの推定は一例であり、端末装置10は、どのような手段によりコンテコストを推定してもよい。
また、端末装置10は、所定の間隔でユーザ情報IN11〜IN36を取得するものとする。例えば、端末装置10は、センサ部16により所定の間隔でユーザ情報IN11〜IN36を検知するものとする。
図1では、端末装置10は、ユーザU1のコンテキストに基づいて、ユーザ情報IN11〜IN36を記憶システム50(図7参照)に記憶させるかを判定する。
まず、図1に示す例においては、端末装置10は、時刻t11において、ユーザ情報IN11を取得する。そして、端末装置10は、時刻t11において取得したユーザ情報IN11を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN11を記憶システム50に送信するかを判定する(ステップS11)。例えば、端末装置10は、取得したユーザ情報がルール情報記憶部141(図4参照)に記憶されたルールのいずれかを満たすかに応じて、取得したユーザ情報を記憶システム50に記憶させるかを判定する。なお、図1の説明では、説明を簡単にするためコンテキストとその取得したタイミングのみが条件としてルールに含まれるものとして説明する。
図1では、時刻t11において取得されるユーザ情報IN11は、ユーザU1のコンテキストがコンテキストCN10からコンテキストCN11へ変化した後、最初に取得されるユーザ情報である。そのため、ステップS11においては、端末装置10は、ユーザ情報IN11を記憶システム50に記憶させると判定する。すなわち、端末装置10は、ユーザ情報IN11を記憶システム50に送信すると判定する。以下では、ユーザ情報IN11のように、記憶システム50に記憶させると判定されたユーザ情報を送信情報とする場合がある。
次に、端末装置10は、時刻t12において、ユーザ情報IN12を取得する。そして、端末装置10は、時刻t12において取得したユーザ情報IN12を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN12を記憶システム50に送信するかを判定する(ステップS12)。
図1では、時刻t12において取得されるユーザ情報IN12は、ユーザU1のコンテキストがコンテキストCN11へ変化した後、ユーザ情報IN11の次に取得されるユーザ情報である。また、ユーザU1が自宅にいることを示すコンテキストCN11においては、複数のユーザ情報を記憶する必要性は低い。そのため、ステップS12においては、端末装置10は、ユーザ情報IN12を記憶システム50に記憶させる必要はないと判定する。すなわち、端末装置10は、ユーザ情報IN12を記憶システム50に送信しないと判定する。
また、端末装置10は、時刻t12より後において、ユーザ情報IN13〜IN26を取得する。そして、端末装置10は、取得したユーザ情報IN13〜IN26を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN13〜IN26の各々を取得したタイミングで記憶システム50に送信するかを判定する。
上述のように、図1では、時刻t12より後において取得されるユーザ情報IN13〜IN26は、ユーザU1のコンテキストがコンテキストCN11へ変化した後、ユーザ情報IN11の後に取得されるユーザ情報である。また、ユーザU1が自宅にいることを示すコンテキストCN11においては、複数のユーザ情報を記憶する必要性は低い。そのため、端末装置10は、ユーザ情報IN13〜IN26を記憶システム50に記憶させる必要はないと判定する。すなわち、端末装置10は、ユーザ情報IN13〜IN26を記憶システム50に送信しないと判定する。
次に、端末装置10は、時刻t21において、ユーザ情報IN27を取得する。そして、端末装置10は、時刻t21において取得したユーザ情報IN27を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN27を記憶システム50に送信するかを判定する(ステップS21)。
図1では、時刻t21において取得されるユーザ情報IN27は、ユーザU1のコンテキストがコンテキストCN12において取得されるユーザ情報である。例えば、ユーザが移動中において取得されるユーザ情報は、ユーザの移動経路等を推定するために有用な情報であることが多い。例えば、ユーザU1が移動中であることを示すコンテキストCN12において取得されるユーザ情報は、記憶する必要性は高い。そのため、ステップS21においては、端末装置10は、ユーザ情報IN27を記憶システム50に記憶させると判定する。すなわち、端末装置10は、ユーザ情報IN27を記憶システム50に送信すると判定する。
また、端末装置10は、時刻t22において、ユーザ情報IN28を取得する。そして、端末装置10は、時刻t22において取得したユーザ情報IN28を記憶システム50に記憶させるかを判定する。上述のように、ユーザU1が移動中であることを示すコンテキストCN12において取得されるユーザ情報は記憶する必要性は高い。そのため、端末装置10は、ユーザ情報IN28を記憶システム50に記憶させると判定する。すなわち、端末装置10は、ユーザ情報IN28を記憶システム50に送信すると判定する。また、端末装置10は、時刻t22より後に取得されるユーザ情報IN29〜IN31についても、コンテキストCN12において取得されるユーザ情報であるため、記憶システム50に記憶させると判定する。
次に、端末装置10は、時刻t31において、ユーザ情報IN32を取得する。そして、端末装置10は、時刻t31において取得したユーザ情報IN32を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN32を記憶システム50に送信するかを判定する(ステップS31)。
図1では、時刻t31において取得されるユーザ情報IN32は、ユーザU1のコンテキストがコンテキストCN12からコンテキストCN13へ変化した後、最初に取得されるユーザ情報である。そのため、ステップS31においては、端末装置10は、ユーザ情報IN32を記憶システム50に記憶させると判定する。すなわち、端末装置10は、ユーザ情報IN32を記憶システム50に送信すると判定する。
次に、端末装置10は、時刻t32において、ユーザ情報IN33を取得する。そして、端末装置10は、時刻t32において取得したユーザ情報IN33を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN33を記憶システム50に送信するかを判定する(ステップS32)。
図1では、時刻t32において取得されるユーザ情報IN33は、ユーザU1のコンテキストがコンテキストCN13へ変化した後、ユーザ情報IN32の次に取得されるユーザ情報である。また、ユーザU1が会社にいることを示すコンテキストCN13においては、複数のユーザ情報を記憶する必要性は低い。そのため、ステップS32においては、端末装置10は、ユーザ情報IN33を記憶システム50に記憶させる必要はないと判定する。すなわち、端末装置10は、ユーザ情報IN33を記憶システム50に送信しないと判定する。
また、端末装置10は、時刻t32より後において、ユーザ情報IN34〜IN36を取得する。そして、端末装置10は、取得したユーザ情報IN34〜IN36を記憶システム50に記憶させるかを判定する。例えば、端末装置10は、ユーザ情報IN34〜IN36の各々を取得したタイミングで記憶システム50に送信するかを判定する。
上述のように、図1では、時刻t32より後において取得されるユーザ情報IN34〜IN36は、ユーザU1のコンテキストがコンテキストCN13へ変化した後、ユーザ情報IN32の後に取得されるユーザ情報である。また、ユーザU1が会社にいることを示すコンテキストCN13においては、複数のユーザ情報を記憶する必要性は低い。そのため、端末装置10は、ユーザ情報IN34〜IN36を記憶システム50に記憶させる必要はないと判定する。すなわち、端末装置10は、ユーザ情報IN34〜IN36を記憶システム50に送信しないと判定する。
上述したように、端末装置10は、コンテキストに基づいて、ユーザ情報を記憶システム50に記憶させるかを判定することにより、ユーザ情報を記憶システム50に記憶させるかを適切に判定することができる。これにより、端末装置10は、記憶システム50へ送信するユーザ情報の増大を抑制することができるため、記憶システム50の処理負荷を軽減することができる。また、判定システム1(図2参照)は、記憶システム50がどのような分散型の構成であっても、適切に処理を行うことができる。また、判定システムは、判定システム1全体の通信料や負荷の増大を抑制することができる。
例えば、判定システム1において、図1に示すような位置情報は、フィルタリングして記憶システム50に保存することが望まれる。すなわち、記憶システム50には、できる限り不要な情報を保存しないことが望ましい。言い換えると、判定システム1では、有用なタイミングで取得された情報だけを保存することが望ましい。例えば、ユーザが自宅にいる際に取得される位置情報の全てを記憶システム50に保存する必要性は低い。また、例えば、ユーザが移動中に取得される位置情報は、ユーザの移動経路等を推定するために有用なため、できるだけ多く記憶システム50に保存することが望ましい。判定システム1では、上述のようなコンテキストに応じて情報をフィルタリング可能にする。
また、例えば、位置情報に含まれる誤差に関する情報に基づいて、誤差が所定値以上の情報を記憶システム50に保存する情報から除いた場合、必要な情報が記憶システム50に保存されない場合がある。例えば、ユーザが地下鉄等に乗って移動している場合、取得される位置情報の誤差が大きくなる場合がある。しかし、ユーザが移動中に取得される位置情報は、誤差が大きくても記憶システム50に保存することが望ましい。そのため、位置情報に含まれる誤差に関する情報に基づいて、記憶システム50に保存する情報を判定した場合、情報を分散型の記憶手段に記憶させるかを適切に判定することが難しい。しかしながら、図1に示す例においては、端末装置10がコンテキストに応じて、ユーザ情報を記憶システム50に記憶させるかを判定することにより、ユーザ情報を記憶システム50に記憶させるかを適切に判定することができる。
また、例えば、判定システム1では、イレギュラーな情報は価値が高いと判定する。例えば、端末装置10は、天気が雪の日に取得される情報はイレギュラーな情報なので、多く記憶システム50に保存させてもよい。このように、端末装置10は、特殊なコンテキストにおいて取得された情報を、他の情報よりも多く記憶システム50に保存させてもよい。また、端末装置10は、通常のコンテキスト、すなわち頻度の高いコンテキストにおいて取得された情報を、他の情報よりも少なく記憶システム50に保存させてもよい。例えば、端末装置10は、通常のコンテキストにおいて取得された情報を記憶システム50に保存する間隔を他の情報よりも長くしてもよい。
また、センサ部16から取得される位置情報には、例えば、緯度経度に加えて、垂直高度、速度、水平精度、垂直精度、角度、及び誤差に関する情報など種々の種類の情報が含まれる。そのため、端末装置10は、コンテキスト等の位置情報を取得した際の状況に応じて、記憶システム50に保存する情報の種類を選択してもよい。例えば、端末装置10は、所定の状況においては、緯度経度ではなく、高度を記憶システム50に保存する情報として選択してもよい。例えば、端末装置10は、位置情報取得時におけるコンテキストに応じて、緯度経度を記憶システム50に保存する情報として選択したり、緯度経度と高度とを記憶システム50に保存する情報として選択したりしてもよい。例えば、端末装置10は、ユーザが会社等の建物内にいる場合は、高度を記憶システム50に保存する情報として選択してもよい。また、端末装置10は、ユーザが山に登っている場合は、緯度経度に加えて高度を記憶システム50に保存する情報として選択したりしてもよい。
また、判定システム1では、記憶システム50に保存されるユーザ情報の信頼性を向上させるために、記憶システム50に保存するユーザ情報の量を動的に決定されてもよい。例えば、端末装置10は、各コンテキストにおける取得頻度や取得時間に基づいて、各コンテキストにおいて取得された情報を、記憶システム50に記憶させるかを判定してもよい。例えば、端末装置10は、記憶システム50に保存されたユーザ情報の量が少ないコンテキストにおいて取得されたユーザ情報を多く記憶システム50に保存してもよい。これにより、判定システム1は、ユーザ情報の量が少ないコンテキストにおけるユーザ情報の信頼性を向上させることができる。例えば、端末装置10は、記憶システム50に保存されたユーザ情報において、ある期間の条件に該当するユーザ情報の量が少ない場合、期間の条件に該当するユーザ情報を多く記憶システム50に保存してもよい。これにより、判定システム1は、ユーザ情報の量が少ない期間の条件に該当するユーザ情報の信頼性を向上させることができる。
図1では、コンテキストとして、自宅にいるコンテキストCN11、移動中のコンテキストCN12、会社にいるコンテキストCN13の3つのコンテキストを例示したが、コンテキストは、コンテキストCN11〜CN13に限られない。例えば、コンテキストは、ユーザの状況等を分類可能であれば、どのようなものであってもよい。例えば、コンテキストには、ユーザが午前に家にいるコンテキスト、ユーザが午後に家にいるコンテキスト等、時間とユーザの所在とを組み合わせたコンテキストであってもよい。
また、コンテキストのみに基づいて判定処理を行う場合を示したが、判定処理にはどのような情報が用いられてもよい。例えば、端末装置10は、検知精度等種々の情報を適宜用いて判定処理を行ってもよい。
また、上記例においては、ユーザが利用する端末装置10が判定処理を行う例を示したが、判定処理は端末装置10からユーザ情報を取得した外部の情報処理装置が行ってもよい。例えば、判定処理を実行する機能を有するサーバ装置100(図12参照)が端末装置10から取得したユーザ情報を用いて判定処理を行ってもよい。なお、この点については後述する。また、端末装置10は、ユーザ情報が記憶システム50に記憶させる情報と判定される度に、そのユーザ情報を記憶システム50に送信してもよい。また、端末装置10は、所定のタイミングで複数個のユーザ情報を記憶システム50に送信してもよい。なお、記憶システム50は、判定システム1内に設けられてもよいし、判定システム1外に設けられてもよい。
また、ユーザ情報は、位置情報に限らず、種々のセンサ情報であってもよい。また、ユーザ情報は検索クエリに関する情報であってもよい。また、ユーザ情報はユーザ操作に関する情報であってもよい。例えば、ユーザ情報はクリックに関する情報であってもよい。すなわち、ユーザ情報は、例えば、取得タイミングに応じて変動し得るユーザに関する情報であれば、どのような情報であってもよい。また、図1の例では、ユーザ情報として位置情報、すなわち1つの種類の情報が取得される場合が取得された場合を示したが、ユーザ情報が複数の種類の情報であってもよい。例えば、端末装置10は、位置情報や加速度情報や照度情報や気温情報など複数種類のユーザ情報が取得される場合であっても、取得された各情報をコンテキストに応じて、記憶システム50に記憶させるかを判定してもよい。すなわち、判定システム1では、複数種類のユーザ情報が取得される場合であっても、ユーザ情報の種類に依らず、記憶システム50に記憶させるかを適切に判定することができる。
〔2.判定システムの構成〕
図2に示すように、判定システム1は、端末装置10と、記憶システム50とが含まれる。端末装置10と、記憶システム50とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図2は、実施形態に係る判定システムの構成例を示す図である。なお、図2に示した判定システム1には、複数台の端末装置10や、複数台の記憶システム50が含まれてもよい。
端末装置10は、ユーザによって利用される情報処理装置である。例えば、端末装置10は、情報を記憶システム50に記憶させるかを判定する判定装置である。端末装置10は、ユーザ情報の履歴と取得したユーザ情報とに基づいて、取得したユーザ情報を分散型の記憶手段に記憶させるかを判定する判定処理を行う。端末装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。以下では、端末装置10をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置10と読み替えることもできる。
記憶システム50は、分散型の記憶手段である。例えば、記憶システム50は、端末装置10から収集したユーザ情報を保存する。なお、記憶システム50の詳細は後述する。
〔3.端末装置の構成〕
次に、図3を用いて、第1の実施形態に係る端末装置10の構成について説明する。図3は、第1の実施形態に係る端末装置の構成例を示す図である。図3に示すように、端末装置10は、通信部11と、入力部12と、出力部13と、記憶部14と、制御部15と、センサ部16とを有する。
(通信部11)
通信部11は、例えば、通信回路等によって実現される。そして、通信部11は、図示しない所定の通信網と有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。例えば、通信部11は、図示しない所定の通信網と有線または無線で接続され、記憶システム50との間で情報の送受信を行う。
(入力部12)
入力部12は、ユーザから各種操作が入力される。例えば、入力部12は、タッチパネル機能により表示面(例えば出力部13)を介してユーザからの各種操作を受け付けてもよい。また、入力部12は、端末装置10に設けられたボタンや、端末装置10に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
(出力部13)
出力部13は、例えば液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。
(記憶部14)
記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14は、例えば、端末装置10にインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。また、第1の実施形態に係る記憶部14は、図3に示すように、ルール情報記憶部141と、コンテキスト情報記憶部142と、送信情報記憶部143とを有する。
(ルール情報記憶部141)
第1の実施形態に係るルール情報記憶部141は、ルール(規則)に関する情報(以下、「ルール情報」とする場合がある)を記憶する。例えば、ルール情報記憶部141は、判定処理に用いるルール情報を記憶する。図4には、ルール情報記憶部141に記憶されるルール情報の一例を示す。図4に示すように、ルール情報記憶部141は、ルール情報として、「ルールID」、「ルール」といった項目を有する。
「ルールID」は、ルール情報を識別するための識別情報を示す。「ルール」は、判定処理に用いるルールの具体的な内容を示す。「ルール」には、「条件1」や「条件2」等、対応するルールIDにより識別されるルールとして用いられる条件が含まれる。
例えば、図4に示す例において、ルールID「CD11」により識別されるルール情報は、条件1としてコンテキストが「CN11」であることがルールに含まれることを示す。また、ルールID「CD11」により識別されるルール情報は、条件2として「コンテキスト変化後未送信」であることがルールに含まれることを示す。また、例えば、図4に示す例において、ルールID「CD12」により識別されるルール情報は、条件1のみであり、条件1としてコンテキストが「CN12」であることがルールに含まれることを示す。
また、例えば、図4に示す例において、ルールID「CD13」により識別されるルール情報は、条件1としてユーザ情報を取得した日が「平日」であることがルールに含まれることを示す。また、ルールID「CD13」により識別されるルール情報は、条件2として「前回の取得情報との差分がX以上」であることがルールに含まれることを示す。前回の取得情報とは、判定するユーザ情報の取得以前、例えば直前に取得されたユーザ情報をいう。
なお、ルール情報記憶部141は、上記に限らず、目的に応じて種々のルール情報を記憶してもよい。例えば、ルール情報記憶部141は、精度に関する具体的な数値をルールとして記憶してもよい。
(コンテキスト情報記憶部142)
第1の実施形態に係るコンテキスト情報記憶部142は、ユーザのコンテキストに関する情報を記憶する。例えば、コンテキスト情報記憶部142は、現時点におけるユーザのコンテキストがいずれであるかを示す情報を記憶する。図5には、コンテキスト情報記憶部142に記憶されるユーザのコンテキストに関する情報の一例を示す。図5に示すように、コンテキスト情報記憶部142は、ユーザのコンテキストに関する情報として、「コンテキスト」、「状態」といった項目を有する。
「コンテキスト」は、ユーザのコンテキストを識別するための識別情報を示す。図5に示す例において、「コンテキスト」には、コンテキストCN11やコンテキストCN12やコンテキストCN13等が含まれる。また、「状態」は、現時点におけるユーザのコンテキストを示す。図5では、「状態」の値が「1」であるコンテキストが現時点におけるユーザのコンテキストであるものとする。すなわち、図5では、コンテキスト「CN12」により識別されるコンテキストが現時点におけるユーザのコンテキストである。
なお、コンテキスト情報記憶部142は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(送信情報記憶部143)
第1の実施形態に係る送信情報記憶部143は、端末装置10からの送信情報の履歴を記憶する。例えば、送信情報記憶部143は、端末装置10から記憶システム50に送信されたユーザ情報の履歴を記憶する。図6には、送信情報記憶部143に記憶される送信情報の一例を示す。図6に示すように、送信情報記憶部143は、送信情報として、「送信情報ID」、「判定時刻」、「コンテキスト」といった項目を有する。
「送信情報ID」は、送信されたユーザ情報を識別するための識別情報を示す。「判定時刻」は、判定処理が行われた時刻を示す。「コンテキスト」は、判定処理が行われた際のコンテキストを示す。
例えば、図6に示す例において、端末装置10は、送信情報ID「IN11」により識別されるユーザ情報(「ユーザ情報IN11」に相当)を判定時刻t11に記憶システム50へ送信したことを示す。また、端末装置10がユーザ情報IN11を送信したタイミングにおけるコンテキストは、コンテキストCN11であったことを示す。また、図6に示す例において、端末装置10は、送信情報ID「IN27」により識別されるユーザ情報(「ユーザ情報IN27」に相当)を判定時刻t21に記憶システム50へ送信したことを示す。また、端末装置10がユーザ情報IN27を送信したタイミングにおけるコンテキストは、コンテキストCN12であったことを示す。
なお、送信情報記憶部143は、上記に限らず、目的に応じて種々のユーザ情報を記憶してもよい。例えば、送信情報記憶部143は、送信情報に限らず、センサ部16が検知し、取得する情報の履歴を記憶してもよい。例えば、送信情報記憶部143は、ユーザ情報の履歴を記憶してもよい。この場合、送信情報記憶部143は、各ユーザ情報の判定処理の結果を示すフラグを記憶してもよい。これにより、送信情報記憶部143は、各ユーザ情報が送信されたか否かを識別可能に記憶してもよい。
(制御部15)
制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置10内部の記憶部14などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーションのプログラムが含まれる。また、制御部15は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図3に示すように、制御部15は、取得部151と、判定部152と、送信部153と、表示部154とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、図3に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部15が有する各処理部の接続関係は、図3に示した接続関係に限られず、他の接続関係であってもよい。
(取得部151)
取得部151は、ユーザの行動に関するユーザ情報を取得する。例えば、取得部151は、センサ部16により検知された位置情報を取得する。例えば、取得部151は、センサ部16から位置情報を取得する。また、例えば、取得部151は、センサ部16から取得した位置情報を送信情報記憶部143に格納してもよい。また、取得部151は、外部の情報処理装置から種々の情報を取得してもよい。なお、取得部151は、判定部152によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。この点についての詳細は、後述する。
(判定部152)
判定部152は、ユーザ情報の履歴と取得部151により取得されたユーザ情報とに基づいて、ユーザ情報を分散型の記憶手段に記憶させるかを判定する。例えば、判定部152は、ユーザ情報の履歴と取得部151により取得されたユーザ情報とに基づいて、ユーザ情報を記憶システム50に記憶させるかを判定する。例えば、判定部152は、ユーザ情報の履歴と取得部151により取得されたユーザ情報とに基づいて、ユーザ情報を記憶システム50に送信するかを判定する。例えば、判定部152は、ユーザの位置情報の履歴と取得部151により取得された位置情報に基づいて、位置情報を記憶手段に記憶させるかを判定する。例えば、判定部152は、取得部151によりユーザ情報が取得されるタイミングに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
例えば、判定部152は、取得部151によりユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得部151により取得されたユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部152は、ユーザ情報の履歴と取得部151により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
また、判定部152は、取得部151により取得されたユーザ情報の種類に基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部152は、記憶システム50に記憶させるかの判定を過去の履歴に基づく統計や確率により行ってもよい。また、判定部152は、位置情報に自宅/オフィス/などラベルがつく場合、ユーザの位置情報からそれがどういう場所かを判定し、ラベルの連続性から保存すべきかどうかを判定してもよい。また、判定部152は、ユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得されたユーザ情報を記憶手段に記憶させるかを判定してもよい。例えば、判定部152は、過去において時刻t10に取得したユーザ情報の多くが記憶手段に記憶させると判定された場合、時刻t10に取得されるユーザ情報を記憶手段に記憶させるかと判定してもよい。
(送信部153)
送信部153は、外部の情報処理装置へ種々の情報を送信する。送信部153は、判定部152により記憶手段に記憶させると判定されたユーザ情報を、記憶手段に送信する。例えば、送信部153は、判定部152により記憶システム50に記憶させると判定されたユーザ情報を、記憶システム50に送信する。例えば、送信部153は、判定部152によりユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、ユーザ情報を記憶手段に送信する。なお、送信部153は、入力部12により入力されたユーザ操作に従って、外部の情報処理装置へ種々の情報を送信してもよい。
(表示部154)
表示部154は、出力部13を介して各種情報を表示する。例えば、表示部154は、判定処理を行うかどうかをユーザに確認する画面を表示してもよい。また、例えば、表示部154は、判定部152により判定された所定の事象が生じたタイミングに関する情報を外部の情報処理装置へ送信してよいかをユーザに確認する画面を表示してもよい。
なお、上述した制御部15による判定処理等の処理は、所定のアプリケーションにより行われる場合、制御部15の各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部15による判定処理等の処理は、外部の情報処理装置から受信した制御情報により実現されてもよい。また、端末装置10が判定処理を行う専用装置である場合、端末装置10は、入力部12や出力部13や表示部154を有しなくもよい。
(センサ部16)
センサ部16は、所定の情報を検知する。例えば、センサ部16は、端末装置10外の情報を検知する。例えば、センサ部16は、GPSセンサによって実現される。なお、センサ部16は、複数であってもよい。なお、センサ部16は、判定処理に用いる情報を検知可能であれば、どのようなセンサであってもよい。例えば、端末装置10は、カメラ機能により撮像された画像情報を判定処理に用いる場合、センサ部16としてカメラを有してもよい。また、端末装置10の位置情報をユーザ情報として取得する場合、通信を行っている基地局の位置情報や、WiFi(登録商標)(Wireless Fidelity)の電波を用いて推定された端末装置10の位置情報を取得してもよい。
〔4.記憶システムの構成〕
次に、図7を用いて、第1の実施形態に係る記憶システム50の構成について説明する。図7は、第1の実施形態に係る記憶システムの構成の一例を示す図である。例えば、図7では、分散処理技術を用いたHadoopに基づく構成の記憶システム50が用いられた場合を示す。なお、記憶システム50は、分散型の記憶手段であれば、どのような構成であってもよい。
例えば、図7に示す記憶システム50は、HDFS(Hadoop Distributed File System :Hadoop分散ファイルシステム)やHadoopマップリデュースフレームワーク(Hadoop MapReduce Framework)等のモジュールにより構成される。例えば、記憶システム50は、マスタースレーブ型で構成される。図7に示す例では、記憶システム50には、マスターの役割を担当するマスターサーバ51と、スレーブの役割を担当する複数のスレーブサーバ52−1、52−2、52−3等が含まれる。なお、以下では、スレーブサーバ52−1、52−2、52−3等を区別しない場合、スレーブサーバ52と記載する。
例えば、マスターサーバ51は、記憶システム50全体のデータの流れをコントロールする機能を有する。例えば、マスターサーバ51は、NameNode(ネームノード)と称される。また、例えば、スレーブサーバ52は、DataNode(データノード)と称される。なお、マスターサーバ51や各スレーブサーバ52間は、通信可能に接続される。
例えば、記憶システム50は、各スレーブサーバ52の記憶部(例えばハードディスク)を束ねてHDFSを構成する。また、例えば、記憶システム50は、大きなファイル(例えばユーザ情報)を複数のブロック単位に分割して、それらを複数のスレーブサーバ52にまたがり格納する。例えば、ここでいうブロック単位は、64MB、128MB、256MB、またはそれ以上の単位、例えば所定値のGB(128GB等)であってもよい。なお、上記のブロック単位は例示であり、記憶システム50の処理能力や使用目的(使用するサービス)等に応じて適宜のサイズに設定されてもよい。また、例えば、記憶システム50は、複数のスレーブサーバ52を1つのストレージとして処理を行うことができる。これにより、記憶システム50は、情報の保存、すなわちデータの書き込み処理を高速化することができる。
また、例えば、記憶システム50は、ブロック単位に分割したデータをスレーブサーバ52に冗長化して保存する。例えば、記憶システム50は、ブロック単位に分割したデータの各々を複数のスレーブサーバ52に分散して保存する。例えば、記憶システム50は、ブロック単位に分割した1つのデータを3つのスレーブサーバ52に分散して保存する。これにより、記憶システム50は、例えば、スレーブサーバ52にハードウェア等の障害が発生してもデータが失われることなく処理を続行することができる。
上述のように構成された記憶システム50は、例えば、スレーブサーバ52の数を増やすことで、記憶システム50のパフォーマンス(性能)を向上させることができる。すなわち、記憶システム50は、上述のように構成されることにより、いわゆるスケールアウトが可能となる。また、記憶システム50は、上述のように構成されることにより、サービスを利用するユーザ数や負荷の増大に応じて、柔軟に性能や機能を向上させることができる。
〔5.判定処理のフロー〕
次に、図8を用いて、第1の実施形態に係る端末装置10による判定処理の手順について説明する。図8は、第1の実施形態に係る端末装置による判定処理手順を示すフローチャートである。
図8に示すように、端末装置10は、ユーザ情報であるユーザ情報を取得する(ステップS101)。例えば、端末装置10は、センサ部16により検知されたセンサ情報である位置情報を取得する。
そして、端末装置10は、取得したユーザ情報が条件を満たすかを判定する(ステップS102)。例えば、端末装置10は、取得した位置情報等のセンサ情報が、ルール情報記憶部141に記憶されたルールのいずれかを満たすかを判定する。
そして、端末装置10は、取得したユーザ情報が条件を満たす場合(ステップS102:Yes)、取得したユーザ情報を送信する(ステップS103)。一方、端末装置10は、取得したユーザ情報が条件を満さない場合(ステップS102:No)、処理を終了する。
〔6.変形例〕
上述した第1の実施形態に係る端末装置10は、上記の判定処理に限らず、種々の情報や条件に基づいて判定処理を行ってもよい。例えば、端末装置10Aは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、ユーザ情報を記憶手段に記憶させるかを判定してもよい。すなわち、端末装置10Aは、ユーザ情報の履歴に基づいて生成されたモデルを用いて判定処理を行ってもよい。この点について、図9及び図10を用いて説明する。なお、第1の実施形態と同様の構成については、同一の符号を付して説明を省略する。
〔6−1.端末装置の構成〕
次に、図9を用いて、変形例に係る端末装置10Aの構成について説明する。図9は、変形例に係る端末装置の構成例を示す図である。図9に示すように、端末装置10Aは、通信部11と、入力部12と、出力部13と、記憶部14Aと、制御部15Aと、センサ部16とを有する。
(記憶部14A)
記憶部14Aは、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14Aは、例えば、端末装置10Aにインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。また、変形例に係る記憶部14Aは、図9に示すように、学習情報記憶部141Aと、コンテキスト情報記憶部142と、送信情報記憶部143とを有する。
(学習情報記憶部141A)
変形例に係る学習情報記憶部141Aは、学習に関する情報を記憶する。例えば、学習情報記憶部141Aは、判定処理に用いるモデル情報を記憶する。例えば、学習情報記憶部141Aは、学習により生成されたモデル情報を記憶する。図10は、学習情報記憶部141Aに記憶されるモデル情報の一例を示す。図10示すように、学習情報記憶部141Aは、モデル情報として、「素性1」〜「素性3」等といった項目を有する。
例えば、図10に示す例において、モデル情報は、素性1の重みが「0.5」、素性2の重みが「−0.4」、素性3の重みが「0.2」等であることを示す。例えば、モデルの素性(特徴量)がm次元のベクトルで表現される場合、素性数はm個になり、素性1〜素性mの重みが記憶される。
なお、学習情報記憶部141Aは、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。例えば、学習情報記憶部141Aは、複数のモデル情報を記憶してもよい。例えば、学習情報記憶部141Aは、コンテキストごとに生成された複数のモデル情報を記憶してもよい。
(制御部15A)
制御部15Aは、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、端末装置10A内部の記憶部14Aなどの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーションのプログラムが含まれる。また、制御部15Aは、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図9に示すように、制御部15Aは、取得部151と、判定部152Aと、送信部153と、表示部154と、学習部155とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部15Aの内部構成は、図9に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部15Aが有する各処理部の接続関係は、図9に示した接続関係に限られず、他の接続関係であってもよい。
(学習部155)
学習部155は、学習により判定処理に用いるモデルを生成する。例えば、学習部155は、ユーザ情報の履歴に基づいてモデルを生成する。例えば、学習部155は、記憶部14Aに記憶されたユーザ情報の履歴に基づいて、モデルを生成してもよい。例えば、学習部155は、送信情報記憶部143に記憶されたユーザ情報の履歴に基づいて、モデルを生成してもよい。なお、学習部155は、与えられた素性に基づいてモデルを生成してもよい。この場合、学習部155は、与えられた素性ごとの重みを算出し、モデルを生成してもよい。また、習部155は、自動的に素性を抽出し、抽出した素性に基づいてモデルを生成してもよい。この場合、学習部155は、自動的に抽出した素性ごとの重みを算出し、モデルを生成してもよい。なお、各素性は、どのような情報であってもよい。例えば、素性には、「12時」、「木曜」、「位置情報」、「前の位置情報の差分」、「精度」等、どのような情報であってもよい。
例えば、学習部155は、図10中の学習情報記憶部141Aに示す「素性1」〜「素性3」等の重みの組合せを求める。また、学習部155は、学習で用いるアルゴリズムとして、機械学習で用いられる種々のアルゴリズムを適宜用いる。例えば、学習部155は、アルゴリズムとしては、分類木、回帰木、判別分析、k最近傍、単純ベイズ、サポートベクターマシンなどを用いる。また、学習部155は、所定のタイミングで基づいてモデルを生成する。なお、取得部151によりモデル情報が外部の情報処理装置から取得される場合、制御部15Aは、学習部155を有しなくてもよい。
(判定部152A)
判定部152Aは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、取得部151により取得されたユーザ情報を記憶手段に記憶させるかを判定する。例えば、判定部152Aは、学習情報記憶部141Aに記憶されたモデル情報に基づいて、取得部151により取得されたユーザ情報を記憶システム50に記憶させるかを判定する。例えば、判定部152Aは、学習情報記憶部141Aに記憶されたモデル情報に基づいて、取得部151により取得されたユーザ情報を記憶システム50に送信するかを判定する。
なお、上述した制御部15Aによる判定処理等の処理は、所定のアプリケーションにより行われる場合、制御部15Aの各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部15Aによる判定処理等の処理は、外部の情報処理装置から受信した制御情報により実現されてもよい。また、端末装置10Aが判定処理を行う専用装置である場合、端末装置10Aは、入力部12や出力部13や表示部154を有しなくもよい。
(第2の実施形態)
〔7.判定処理〕
上述した例においては、ユーザが利用する端末装置10や端末装置10Aが判定処理を行う場合を示したが、判定処理は、端末装置10や端末装置10A以外の装置により行われてもよい。例えば、ユーザが所持する端末装置以外の装置が判定処理を行ってもよい。この点について、図11〜図17を用いて説明する。図11〜図17が示す例においては、サーバ装置100が図1に示すような判定処理を行う。例えば、第2の実施形態においては、サーバ装置100が図1に示すステップS11、S12、S21、S31、S32のような判定処理を行う。すなわち、第2の実施形態においては、図1に示すステップS11、S12、S21、S31、S32の処理における端末装置10をサーバ装置100と読み替える。なお、第2の実施形態と同様の構成については、同一の符号を付して説明を省略する。
〔8.判定システムの構成〕
図11に示すように、判定システム2は、端末装置20と、記憶システム50と、サーバ装置100とが含まれる。端末装置20と、記憶システム50と、サーバ装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図11は、第2の実施形態に係る判定システムの構成例を示す図である。なお、図11に示した判定システム2には、複数台の端末装置20や、複数台の記憶システム50や、複数台のサーバ装置100が含まれてもよい。
端末装置20は、ユーザによって利用される情報処理装置である。端末装置20は、ユーザ情報の履歴と取得したユーザ情報とに基づいて、取得したユーザ情報を分散型の記憶手段に記憶させるかを判定する判定処理を行う。端末装置20は、例えば、スマートフォンや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDA等により実現される。以下では、端末装置20をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置20と読み替えることもできる。
記憶システム50は、分散型の記憶手段である。例えば、記憶システム50は、端末装置20から収集したユーザ情報を保存する。
サーバ装置100は、ユーザ情報の履歴と端末装置20から取得したユーザ情報とに基づいて、取得したユーザ情報を分散型の記憶手段に記憶させるかを判定する判定処理を行うコンピュータである。例えば、サーバ装置100は、ユーザ情報の履歴と端末装置20から取得したユーザ情報とに基づいて、端末装置20にユーザ情報を記憶システム50へ送信させるかを判定する判定処理を行う。例えば、サーバ装置100は、情報を記憶システム50に記憶させるかを判定する判定装置である。
〔9.サーバ装置の構成〕
次に、図12を用いて、第2の実施形態に係るサーバ装置100の構成について説明する。図12は、第2の実施形態に係るサーバ装置の構成例を示す図である。図12に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを有する。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置20との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第2の実施形態に係る記憶部120は、図12に示すように、ルール情報記憶部121とコンテキスト情報記憶部122と送信情報記憶部123とを有する。
(ルール情報記憶部121)
第2の実施形態に係るルール情報記憶部121は、ルール(規則)に関する情報(以下、「ルール情報」とする場合がある)を記憶する。例えば、ルール情報記憶部121は、判定処理に用いるルール情報を記憶する。図13には、ルール情報記憶部121に記憶されるルール情報の一例を示す。図13に示すように、ルール情報記憶部121は、ルール情報として、「ルールID」、「ルール」といった項目を有する。図13に示すルール情報記憶部121に記憶される情報は、図4に示すルール情報記憶部141に記憶される情報と同様であるため、説明を省略する。
なお、ルール情報記憶部121は、目的に応じて種々のルール情報を記憶してもよい。例えば、ルール情報記憶部121は、ユーザごとや所定のユーザ分類ごとにルール情報を記憶してもよい。
(コンテキスト情報記憶部122)
第2の実施形態に係るコンテキスト情報記憶部122は、各ユーザのコンテキストに関する情報を記憶する。例えば、コンテキスト情報記憶部122は、現時点における各ユーザのコンテキストがいずれであるかを示す情報を記憶する。図14には、コンテキスト情報記憶部122に記憶される各ユーザのコンテキストに関する情報の一例を示す。図14に示すように、コンテキスト情報記憶部122は、各ユーザのコンテキストに関する情報として、「コンテキスト」、「状態」といった項目を有する。
「コンテキスト」は、ユーザのコンテキストを識別するための識別情報を示す。図13では、「コンテキスト」には、コンテキストCN11やコンテキストCN12やコンテキストCN13等が含まれる。また、「状態」は、現時点における各ユーザのコンテキストを示す。また、「状態」には、「ユーザU1」や「ユーザU2」等のユーザごとに対応する項目を有する。また、図13では、「状態」の値が「1」であるコンテキストが対応するユーザの現時点におけるコンテキストであるものとする。すなわち、図14では、コンテキスト「CN12」により識別されるコンテキストがユーザU1の現時点におけるコンテキストである。また、図14では、コンテキスト「CN11」により識別されるコンテキストがユーザU2の現時点におけるコンテキストである。
なお、コンテキスト情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(送信情報記憶部123)
第2の実施形態に係る送信情報記憶部123は、各ユーザの端末装置20からの送信情報の履歴を記憶する。例えば、送信情報記憶部123は、端末装置20から記憶システム50に送信されたユーザ情報の履歴を記憶する。図15には、送信情報記憶部123に記憶される送信情報の一例を示す。図15に示すように、送信情報記憶部123は、送信情報として、「ユーザID」、「送信情報ID」、「判定時刻」、「コンテキスト」といった項目を有する。
「ユーザID」は、ユーザを識別するための識別情報を示す。「送信情報ID」は、送信されたユーザ情報を識別するための識別情報を示す。「判定時刻」は、判定処理が行われた時刻を示す。「コンテキスト」は、判定処理が行われた際のコンテキストを示す。
例えば、図15に示す例において、ユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする)の端末装置20は、送信情報ID「IN11」により識別されるユーザ情報を判定時刻t11に記憶システム50へ送信したことを示す。また、ユーザU1の端末装置20がユーザ情報IN11を送信したタイミングにおけるコンテキストは、コンテキストCN11であったことを示す。また、図15に示す例において、ユーザU1の端末装置20は、送信情報ID「IN27」により識別されるユーザ情報を判定時刻t21に記憶システム50へ送信したことを示す。また、ユーザU1の端末装置20がユーザ情報IN27を送信したタイミングにおけるコンテキストは、コンテキストCN12であったことを示す。
なお、送信情報記憶部123は、上記に限らず、目的に応じて種々のユーザ情報を記憶してもよい。例えば、送信情報記憶部123は、送信情報に限らず、センサ部26が検知し、取得する情報の履歴を記憶してもよい。例えば、送信情報記憶部123は、ユーザ情報の履歴を記憶してもよい。この場合、送信情報記憶部123は、各ユーザ情報の判定処理の結果を示すフラグを記憶してもよい。これにより、送信情報記憶部123は、各ユーザ情報が送信されたか否かを識別可能に記憶してもよい。
(制御部130)
制御部130は、例えば、CPUやMPU等によって、サーバ装置100内部の記憶部120などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、インストールされている旅行アプリのプログラムが含まれる。また、制御部130は、例えば、ASICやFPGA等の集積回路により実現される。
図12に示すように、制御部130は、取得部131と、判定部132と、送信部133とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図12に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、図12に示した接続関係に限られず、他の接続関係であってもよい。
(取得部131)
取得部131は、ユーザの行動に関するユーザ情報を取得する。取得部131は、端末装置20からユーザの行動に関するユーザ情報を取得する。例えば、取得部131は、端末装置20のGPSセンサにより検知された位置情報を取得する。また、例えば、取得部131は、端末装置20から取得した位置情報を送信情報記憶部123に格納してもよい。また、取得部131は、外部の情報処理装置から種々の情報を取得してもよい。なお、取得部131は、判定部132によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、端末装置20からユーザ情報を取得してもよい。取得部131は、判定部132によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて端末装置20に要求することにより、端末装置20からユーザ情報を取得してもよい。この点についての詳細は、後述する。
(判定部132)
判定部132は、ユーザ情報の履歴と取得部131により取得されたユーザ情報とに基づいて、ユーザ情報を分散型の記憶手段に記憶させるかを判定する。例えば、判定部132は、ユーザ情報の履歴と取得部131により取得されたユーザ情報とに基づいて、ユーザ情報を記憶システム50に記憶させるかを判定する。例えば、判定部132は、ユーザ情報の履歴と取得部131により取得されたユーザ情報とに基づいて、端末装置20にユーザ情報を記憶システム50へ送信させるかを判定する。例えば、判定部132は、ユーザの位置情報の履歴と取得部131により取得された位置情報に基づいて、位置情報を記憶手段に記憶させるかを判定する。例えば、判定部132は、取得部131によりユーザ情報が取得されるタイミングに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
例えば、判定部132は、取得部131によりユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得部131により取得されたユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部132は、ユーザ情報の履歴と取得部131により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
また、判定部132は、取得部131により取得されたユーザ情報の種類に基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部132は、記憶システム50に記憶させるかの判定を過去の履歴に基づく統計や確率により行ってもよい。また、判定部132は、位置情報に自宅やオフィスなどのラベルがつく場合、ユーザの位置情報からそれがどういう場所かを判定し、ラベルの連続性から保存すべきかどうかを判定してもよい。
なお、サーバ装置100は、図9及び図10に示す端末装置10Aのように、モデルに基づいて判定処理を行ってもよい。この場合、判定部132は、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、取得部151により取得されたユーザ情報を記憶手段に記憶させるかを判定する。この場合、サーバ装置100は、学習により判定処理に用いるモデルを生成する学習部を有してもよい。そして、サーバ装置100は、学習部により、ユーザ情報の履歴に基づいてモデルを生成する。この場合、サーバ装置100は、複数ユーザに共通したモデルを生成してもよいし、ユーザごとにモデルを生成してもよい。
(送信部133)
送信部133は、外部の情報処理装置へ種々の情報を送信する。送信部133は、判定部132により記憶手段に記憶させると判定されたユーザ情報を、端末装置20に記憶手段へ送信させる指示を送信する。例えば、送信部133は、判定部132により記憶システム50に記憶させると判定されたユーザ情報を示す情報を、端末装置20に送信することにより、端末装置20に記憶手段へユーザ情報を送信させる。例えば、送信部133は、判定部132によりユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、端末装置20にユーザ情報を記憶手段へ送信させる指示を送信する。
〔10.端末装置の構成〕
次に、図16を用いて、第2の実施形態に係る端末装置20の構成について説明する。図16は、第2の実施形態に係る端末装置の構成例を示す図である。なお、図16に示す端末装置20において、図3と同様の構成については、最上位の桁の数値を「1」から「2」に変更した符号(“2*”や“2**”)を付すことにより重複する説明を省略する。図16に示すように、端末装置20は、通信部21と、入力部22と、出力部23と、記憶部24と、制御部25と、センサ部26とを有する。例えば、第2の実施形態に係る端末装置20の構成は、第1の実施形態に係る端末装置10における判定処理の機能を除いた構成となる。以下では、各部の端末装置10と差異がある部分を主に説明する。
(制御部25)
制御部25は、例えば、CPUやMPU等によって、端末装置20内部の記憶部24などの記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーションのプログラムが含まれる。また、制御部25は、例えば、ASICやFPGA等の集積回路により実現される。
図16に示すように、制御部25は、取得部251と、送信部253と、表示部254とを有し、以下に説明する判定処理の機能や作用を実現または実行する。すなわち、端末装置20は、判定部を有しない点において、端末装置10と相違する。なお、制御部25の内部構成は、図16に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部25が有する各処理部の接続関係は、図16に示した接続関係に限られず、他の接続関係であってもよい。
(取得部251)
取得部251は、ユーザの行動に関するユーザ情報を取得する。例えば、取得部251は、センサ部26により検知された位置情報を取得する。例えば、取得部251は、センサ部26から位置情報を取得する。また、取得部251は、外部の情報処理装置から種々の情報を取得してもよい。なお、取得部251は、判定部252によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。この点についての詳細は、後述する。
また、取得部251は、サーバ装置100において記憶手段に記憶させると判定されたユーザ情報を、記憶手段へ送信させる指示をサーバ装置100から取得する。例えば、取得部251は、サーバ装置100において記憶システム50に記憶させると判定されたユーザ情報を示す情報を、サーバ装置100から取得する。例えば、取得部251は、サーバ装置100においてユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、ユーザ情報を記憶手段へ送信させる指示をサーバ装置100から取得する。
(送信部253)
送信部253は、外部の情報処理装置へ種々の情報を送信する。例えば、送信部253は、取得部251から取得したユーザ情報をサーバ装置100に送信する。例えば、送信部253は、センサ部26により検知された位置情報をサーバ装置100に送信する。
例えば、送信部253は、取得部251によりセンサ部26から取得された位置情報をサーバ装置100に送信する。
送信部253は、サーバ装置100において記憶手段に記憶させると判定されたユーザ情報を、記憶手段に送信する。例えば、送信部253は、サーバ装置100において記憶システム50に記憶させると判定されたユーザ情報を、記憶システム50に送信する。例えば、送信部253は、サーバ装置100においてユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、ユーザ情報を記憶手段に送信する。例えば、送信部253は、取得部251により記憶手段へユーザ情報を送信させる指示をサーバ装置100から取得した場合、ユーザ情報を記憶手段に送信する。なお、送信部253は、入力部22により入力されたユーザ操作に従って、外部の情報処理装置へ種々の情報を送信してもよい。
〔11.判定処理のフロー〕
次に、図17を用いて、第2の実施形態に係る判定システム2によるユーザ情報の送受信を含む判定処理の手順について説明する。図17は、第2の実施形態に係る判定処理の一例を示すシーケンス図である。
図17に示すように、端末装置20は、サーバ装置100へユーザ情報を送信する(ステップS101)。例えば、端末装置20は、サーバ装置100へセンサ部26により検知したユーザ情報を送信する。
端末装置20からユーザ情報を取得したサーバ装置100は、判定処理を行う(ステップS102)。例えば、サーバ装置100は、取得したユーザ情報と、ユーザ情報の履歴とに基づいて、判定処理を行う。
その後、サーバ装置100は、判定処理の結果を端末装置20へ送信する(ステップS103)。例えば、判定処理の結果が送信要である場合、サーバ装置100は、判定処理より記憶手段に記憶させると判定されたユーザ情報を、端末装置20に記憶手段へ送信させる指示を送信する。また、例えば、判定処理の結果が送信不要である場合、サーバ装置100は、端末装置20へ情報の送信を行わなくてもよい。この場合、端末装置20は、サーバ装置100へユーザ情報を送信した後、所定の時間が経過した場合、判定処理の結果が送信不要であったとしてもよい。また、例えば、判定処理の結果が送信不要である場合、サーバ装置100は、端末装置20に記憶手段へ送信する必要がないことを示す情報を送信してもよい。
その後、端末装置20は、判定処理の結果が送信要である場合(ステップS104:Yes)、記憶システム50へユーザ情報を送信する(ステップS105)。
そして、端末装置20からユーザ情報を受信した記憶システム50は、受信したユーザ情報を登録する(ステップS106)。例えば、記憶システム50は、受信したユーザ情報を対応するユーザに関連付けて保存する。
一方、端末装置20は、判定処理の結果が送信要でない場合(ステップS104:No)、記憶システム50へユーザ情報を送信することなく、処理を終了する。
〔12.取得タイミングの変更〕
なお、上述した例においては、図1中のユーザ情報IN11〜IN36間の間隔、すなわちユーザ情報IN11〜IN36間を取得するタイミング(以下、「取得タイミング」とする)が同じであったが、タイミングを異ならせてもよい。この点について、図18を用いて説明する。図18は、判定処理の結果を反映した取得タイミングの一例を示す図である。
例えば、端末装置10、10Aの取得部151は、判定部152によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。また、端末装置20の取得部251は、サーバ装置100においてユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。以下では、端末装置10の場合を例に説明する。
図18に示す例においては、時刻t1〜時刻t2におけるコンテキストCN11においては、時刻t51の1回だけユーザ情報IN51を取得する。例えば、端末装置10は、時刻t1〜時刻t2の間では、取得部151によりユーザ情報を取得するタイミングを時刻t51の1回だけにする。例えば、端末装置10は、時刻t1〜時刻t2の間では、センサ部16の検知タイミングを時刻t51の1回だけにする。
また、図18に示す例においては、時刻t2〜時刻t3におけるコンテキストCN12においては、時刻t52におけるユーザ情報IN52を含むユーザ情報IN52〜IN56の5個のユーザ情報を取得する。例えば、端末装置10は、時刻t2〜時刻t3の間では、取得部151によりユーザ情報を取得するタイミングを、時刻t52を含む5回にする。例えば、端末装置10は、時刻t2〜時刻t3の間では、センサ部16の検知タイミングを、時刻t52を含む5回にする。
また、図18に示す例においては、時刻t3以降におけるコンテキストCN13においては、時刻t53の1回だけユーザ情報IN57を取得する。例えば、端末装置10は、時刻t3以降のコンテキストCN13である間では、取得部151によりユーザ情報を取得するタイミングを時刻t53の1回だけにする。例えば、端末装置10は、時刻t3以降のコンテキストCN13である間では、センサ部16の検知タイミングを時刻t53の1回だけにする。
このように、端末装置10は、取得タイミングを異ならせてもよい。これにより、端末装置10は、送信不要なユーザ情報の取得回数が増大することを抑制することにより、消費電力の削減等を実現できる。
〔13.効果〕
上述してきたように、第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100は、取得部151、131と、判定部152、152A、132とを有する。取得部151、131は、ユーザの行動に関するユーザ情報を取得する。また、判定部152、152A、132は、ユーザ情報の履歴と取得部151、131により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段(実施形態においては、「記憶システム50」。以下同じ)に記憶させるかを判定する。
これにより、第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100は、ユーザ情報の履歴と取得したユーザ情報とに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。したがって、判定システム1、2は、記憶システム50へ送信するユーザ情報の増大を抑制することができるため、記憶システム50の処理負荷を軽減することができる。これにより 、判定システム1、2は、記憶システム50がどのような分散型の構成であっても、適切に処理を行うことができる。また、判定システム1、2は、判定システム1、2全体の通信料や負荷の増大を抑制することができる。
また、第1の実施形態に係る端末装置10及び変形例に係る端末装置10Aは、送信部153を有する。判定部152は、ユーザ情報の履歴と取得部151によりユーザ情報が取得されるタイミングに基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。送信部153は、判定部152によりユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、当該ユーザ情報を記憶手段に送信する。
これにより、第1の実施形態に係る端末装置10及び変形例に係る端末装置10Aは、分散型の記憶手段にユーザ情報を適切なタイミングで送信することができる。
また、第1の実施形態に係る端末装置10及び第2の実施形態に係るサーバ装置100において、判定部152、132は、ユーザ情報の履歴と取得部151、131により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。
これにより、第1の実施形態に係る端末装置10及び第2の実施形態に係るサーバ装置100は、ユーザのコンテキストに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
また、第1の実施形態に係る端末装置10及び第2の実施形態に係るサーバ装置100において、判定部152、132は、取得部151、131によりユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得部151、131により取得されたユーザ情報を記憶手段に記憶させるかを判定する。
これにより、第1の実施形態に係る端末装置10及び第2の実施形態に係るサーバ装置100は、過去の行動パターンに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
また、変形例に係る端末装置10Aは、判定部152Aを有する。判定部152Aは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、取得部151により取得されたユーザ情報を記憶手段に記憶させるかを判定する。
これにより、変形例に係る端末装置10Aは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100において、判定部152、152A、132は、取得部151、131により取得されたユーザ情報の種類に基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。
これにより、第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100は、ユーザ情報の種類に基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100において、取得部151、131は、判定部152、152A、132によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得する。
これにより、第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100は、判定処理によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報の取得タイミングを変更することにより、ユーザ情報の取得タイミングを適切に設定することができる。
第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100において、取得部151、131は、ユーザ情報として、ユーザの位置情報を取得する。判定部152、152A、132は、ユーザの位置情報の履歴と取得部151、131により取得された位置情報に基づいて、当該位置情報を記憶手段に記憶させるかを判定する。
これにより、第1の実施形態に係る端末装置10、変形例に係る端末装置10A、及び第2の実施形態に係るサーバ装置100は、位置情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
〔14.プログラム〕
上述してきた端末装置10、10Aやサーバ装置100による処理は、本願に係る判定プログラムにより実現される。例えば、端末装置10に係る判定部152は、端末装置10が有するCPUやMPU等によって、判定プログラムがRAMを作業領域として、判定プログラムに係る判定手順が実行されることにより実現される。端末装置100に係る他の処理部も同様に、判定プログラムによる各手順が実行されることにより実現される。
なお、本願に係る端末装置100が実行する処理は、必ずしも全てが判定プログラムによって実現されるものでなくてもよい。例えば、センサ部16は、端末装置10外の情報を検知する。このとき、端末装置10外の情報等は、端末装置10が有するOS(Operating System)によって検知されてもよい。すなわち、判定プログラム自体が、上述してきたような端末装置10で実行される処理を実行するのではなく、OSによって取得されたデータ(例えば、端末装置10が有するセンサや回路等を利用して取得されるデータ)を受け取ったり、検知したりすることにより、上述してきた端末装置10の処理を実現するようにしてもよい。
〔15.ハードウェア構成〕
上述してきた第1の実施形態に係る端末装置10や変形例に係る端末装置10Aや第2の実施形態に係るサーバ装置100は、例えば図19に示すような構成のコンピュータ1000によって実現される。図19は、端末装置及びサーバ装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定のネットワークを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定のネットワークを介して他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が第1の実施形態に係る端末装置10や変形例に係る端末装置10Aや第2の実施形態に係るサーバ装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部15、15A、130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定のネットワークを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態および変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔16.その他〕
また、上記各実施形態および変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
10 端末装置(コンピュータ)
141 ルール情報記憶部
142 コンテキスト情報記憶部
143 送信情報記憶部
15 制御部
151 取得部
152 判定部
153 送信部
154 表示部
16 センサ
100 サーバ装置(コンピュータ)
121 ルール情報記憶部
122 コンテキスト情報記憶部
123 送信情報記憶部
130 制御部
131 取得部
132 判定部
133 送信部

Claims (11)

  1. ユーザの行動に関するユーザ情報を取得する取得手順と、
    ユーザ情報の履歴と前記取得手順により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する判定手順と、
    をコンピュータに実行させることを特徴とする判定プログラム。
  2. 前記判定手順により前記記憶手段に記憶させると判定されたユーザ情報を、前記記憶手段に送信する送信手順、
    をコンピュータに実行させ、
    前記判定手順は、
    前記取得手順によりユーザ情報が取得されるタイミングに基づいて、当該ユーザ情報を前記記憶手段に記憶させるかを判定し、
    前記送信手順は、
    前記判定手順によりユーザ情報を前記記憶手段に記憶させると判定されるタイミングに基づいて、当該ユーザ情報を前記記憶手段に送信する
    ること特徴とする請求項1に記載の判定プログラム。
  3. 前記判定手順は、
    ユーザ情報の履歴と前記取得手順により取得されたユーザ情報とに基づいて推定される前記ユーザのコンテキストに基づいて、当該ユーザ情報を前記記憶手段に記憶させるかを判定する
    ことを特徴とする請求項1または請求項2に記載の判定プログラム。
  4. 前記判定手順は、
    前記取得手順によりユーザ情報が取得された時刻と、過去に前記記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、前記取得手順により取得されたユーザ情報を前記記憶手段に記憶させるかを判定する
    ことを特徴とする請求項1〜3のいずれか1項に記載の判定プログラム。
  5. 前記判定手順は、
    ユーザ情報の履歴に基づいて生成されたモデルに基づいて、前記取得手順により取得された前記ユーザ情報を前記記憶手段に記憶させるかを判定する
    ことを特徴とする請求項1〜4のいずれか1項に記載の判定プログラム。
  6. 前記判定手順は、
    前記取得手順により取得されたユーザ情報の種類に基づいて、当該ユーザ情報を前記記憶手段に記憶させるかを判定する
    ことを特徴とする請求項1〜5のいずれか1項に記載の判定プログラム。
  7. 前記取得手順は、
    前記判定手順によりユーザ情報を前記記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得する
    ことを特徴とする請求項1〜6のいずれか1項に記載の判定プログラム。
  8. 前記取得手順は、
    ユーザ情報として、前記ユーザの位置情報を取得し、
    前記判定手順は、
    前記ユーザの位置情報の履歴と前記取得手順により取得された位置情報に基づいて、当該位置情報を記憶手段に記憶させるかを判定する
    ことを特徴とする請求項1〜7のいずれか1項に記載の判定プログラム。
  9. ユーザの行動に関するユーザ情報を取得する取得部と、
    ユーザ情報の履歴と前記取得部により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する判定部と、
    を備えることを特徴とする判定装置。
  10. ユーザの行動に関するユーザ情報を取得する取得部と、
    前記ユーザ情報の履歴と前記取得部により取得された前記ユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する判定部と、
    を備えることを特徴とする判定システム。
  11. コンピュータが実行する判定方法であって、
    ユーザの行動に関するユーザ情報を取得する取得工程と、
    前記ユーザ情報の履歴と前記取得工程により取得された前記ユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する判定工程と、
    を含むことを特徴とする判定方法。
JP2016020982A 2016-02-05 2016-02-05 判定プログラム、判定装置、判定システム、及び判定方法 Active JP6697279B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016020982A JP6697279B2 (ja) 2016-02-05 2016-02-05 判定プログラム、判定装置、判定システム、及び判定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016020982A JP6697279B2 (ja) 2016-02-05 2016-02-05 判定プログラム、判定装置、判定システム、及び判定方法

Publications (2)

Publication Number Publication Date
JP2017138909A true JP2017138909A (ja) 2017-08-10
JP6697279B2 JP6697279B2 (ja) 2020-05-20

Family

ID=59566409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016020982A Active JP6697279B2 (ja) 2016-02-05 2016-02-05 判定プログラム、判定装置、判定システム、及び判定方法

Country Status (1)

Country Link
JP (1) JP6697279B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005109933A1 (ja) * 2004-05-06 2005-11-17 Mitsubishi Denki Kabushiki Kaisha 移動体端末及びサーバ及び情報提供システム及び移動体端末の通信方法及びサーバの通信方法及び情報提供システムの情報提供方法
JP2009085798A (ja) * 2007-09-28 2009-04-23 Brother Ind Ltd 位置情報取得システム、同システムにおける位置情報の取得契機決定方法、同システムにおける携帯端末、サーバ装置、携帯端末及びサーバ装置のプログラム
JP2011227763A (ja) * 2010-04-21 2011-11-10 Nissan Motor Co Ltd 携帯型端末器及びその通信制御方法
JP2012526314A (ja) * 2009-05-08 2012-10-25 ゾケム オーワイ 行動およびコンテキストデータを分析するためのシステムおよび方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005109933A1 (ja) * 2004-05-06 2005-11-17 Mitsubishi Denki Kabushiki Kaisha 移動体端末及びサーバ及び情報提供システム及び移動体端末の通信方法及びサーバの通信方法及び情報提供システムの情報提供方法
JP2009085798A (ja) * 2007-09-28 2009-04-23 Brother Ind Ltd 位置情報取得システム、同システムにおける位置情報の取得契機決定方法、同システムにおける携帯端末、サーバ装置、携帯端末及びサーバ装置のプログラム
JP2012526314A (ja) * 2009-05-08 2012-10-25 ゾケム オーワイ 行動およびコンテキストデータを分析するためのシステムおよび方法
JP2011227763A (ja) * 2010-04-21 2011-11-10 Nissan Motor Co Ltd 携帯型端末器及びその通信制御方法

Also Published As

Publication number Publication date
JP6697279B2 (ja) 2020-05-20

Similar Documents

Publication Publication Date Title
CN105357638B (zh) 预测预定时刻的用户位置的方法和装置
US9549286B2 (en) Geo-fence notification management
CN109247070B (zh) 使用能唯一识别且未标记的位置的移动设备上的主动动作
US20170193044A1 (en) Sharing information with other users
CN105453061B (zh) 便于对移动计算设备的动态存储管理的机制
US9400643B2 (en) Methods and systems for updating components on a computing device
EP2904822A1 (en) User behavior modeling for intelligent mobile companions
Al-Turjman Impact of user's habits on smartphones' sensors: An overview
US10028103B2 (en) Position management system, position management apparatus, position management method, and non-transitory computer-readable information recording medium
US8855931B2 (en) Location history filtering
WO2013077987A2 (en) Management of privacy settings for a user device
JP2022103250A (ja) 遅延耐性分散ネットワーク
KR102172367B1 (ko) 사용자 맞춤형 정보를 제공하는 방법 및 장치
EP3106973A1 (en) Context-driven adaptive application launcher grid user interface based on random index predictor for mobile devices
US20140148140A1 (en) Policy-based mobile device management system (mdms) based on access history information
JP6230306B2 (ja) 混雑度パターンの特定及び混雑度の予測のための情報処理装置、情報処理方法及びプログラム
US20210150890A1 (en) Information management apparatus and non-transitory computer-readable recording medium recording program
JP6697279B2 (ja) 判定プログラム、判定装置、判定システム、及び判定方法
WO2013188682A1 (en) Sharing information with other users
JP6698720B2 (ja) 通信制御プログラム、通信制御装置、通信制御方法、管理サーバ、管理方法及び管理プログラム
US20170052793A1 (en) Automatic application control system, automatic application control method, and program recording medium
US10574739B2 (en) System and method for smart event paging
JP7212652B2 (ja) 端末装置、制御方法、制御プログラム、情報処理装置、情報処理方法および情報処理プログラム
KR102252084B1 (ko) 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
US10956690B1 (en) Set-based object management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180727

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180806

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190827

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200424

R150 Certificate of patent or registration of utility model

Ref document number: 6697279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350