(57)【特許請求の範囲】
【請求項１】
コンピュータが実行する判定プログラムであって、
ユーザ情報を取得し、記憶部に記憶されたユーザ情報履歴であって、過去に分散型の記憶手段に前記コンピュータから送信されたユーザ情報履歴を前記記憶部から取得する取得手順と、
前記取得手順により取得されたユーザ情報のコンテキストに対応するデータの量であって、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量未満であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させると判定し、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量以上であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させないと判定することにより、当該ユーザ情報を前記分散型の記憶手段に記憶させるかを判定する判定手順と、
をコンピュータに実行させることを特徴とする判定プログラム。
【請求項２】
前記判定手順により前記分散型の記憶手段に記憶させると判定されたユーザ情報を、前記分散型の記憶手段に送信する送信手順、
をコンピュータに実行させ、
前記判定手順は、
前記取得手順によりユーザ情報が取得されるタイミングで、当該ユーザ情報を前記分散型の記憶手段に記憶させるかを判定し、
前記送信手順は、
前記判定手順によりユーザ情報を前記分散型の記憶手段に記憶させると判定されるタイミングに基づいて、当該ユーザ情報を前記分散型の記憶手段に送信する
ること特徴とする請求項１に記載の判定プログラム。
【請求項３】
前記判定手順は、
ユーザ情報の履歴と前記取得手順により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、当該ユーザ情報を前記分散型の記憶手段に記憶させるかを判定する
ことを特徴とする請求項１または請求項２に記載の判定プログラム。
【請求項４】
前記判定手順は、
前記取得手順によりユーザ情報が取得された時刻と、過去に前記分散型の記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、前記取得手順により取得されたユーザ情報を前記分散型の記憶手段に記憶させるかを判定する
ことを特徴とする請求項１〜３のいずれか１項に記載の判定プログラム。
【請求項５】
前記判定手順は、
ユーザ情報の履歴に基づいて生成されたモデルに基づいて、前記取得手順により取得された前記ユーザ情報を前記分散型の記憶手段に記憶させるかを判定する
ことを特徴とする請求項１〜４のいずれか１項に記載の判定プログラム。
【請求項６】
前記取得手順は、
前記判定手順によりユーザ情報を前記分散型の記憶手段に記憶させるタイミングで、ユーザ情報を取得する
ことを特徴とする請求項１〜５のいずれか１項に記載の判定プログラム。
【請求項７】
前記取得手順は、
ユーザ情報として、ユーザの位置情報を取得し、
前記判定手順は、
当該ユーザの位置情報の履歴と前記取得手順により取得された位置情報に基づいて、当該位置情報を前記分散型の記憶手段に記憶させるかを判定する
ことを特徴とする請求項１〜６のいずれか１項に記載の判定プログラム。
【請求項８】
判定装置であって、
ユーザ情報を取得し、記憶部に記憶されたユーザ情報履歴であって、過去に分散型の記憶手段に前記判定装置から送信されたユーザ情報履歴を前記記憶部から取得する取得部と、
前記取得部により取得されたユーザ情報のコンテキストに対応するデータの量であって、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量未満であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させると判定し、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量以上であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させないと判定することにより、当該ユーザ情報を前記分散型の記憶手段に記憶させるかを判定する判定部と、
を備えることを特徴とする判定装置。
【請求項９】
判定システムであって、
ユーザ情報を取得し、記憶部に記憶されたユーザ情報履歴であって、過去に分散型の記憶手段に前記判定システムから送信されたユーザ情報履歴を前記記憶部から取得する取得する取得部と、
前記取得部により取得されたユーザ情報のコンテキストに対応するデータの量であって、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量未満であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させると判定し、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量以上であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させないと判定することにより、当該ユーザ情報を前記分散型の記憶手段に記憶させるかを判定する判定部と、
を備えることを特徴とする判定システム。
【請求項１０】
コンピュータが実行する判定方法であって、
ユーザ情報を取得し、記憶部に記憶されたユーザ情報履歴であって、過去に分散型の記憶手段に前記コンピュータから送信されたユーザ情報履歴を前記記憶部から取得する取得工程と、
前記取得工程により取得されたユーザ情報のコンテキストに対応するデータの量であって、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量未満であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させると判定し、前記ユーザ情報履歴のうち、前記コンテキストと一致するデータの量が所定量以上であると判定した場合、当該ユーザ情報を前記分散型の記憶手段に記憶させないと判定することにより、当該ユーザ情報を前記分散型の記憶手段に記憶させるかを判定する判定工程と、
を含むことを特徴とする判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定プログラム、判定装置、判定システム、及び判定方法に関する。
【背景技術】
【０００２】
従来、種々のユーザに関する情報（以下、「ユーザ情報」とする）をユーザが利用する端末装置から収集する技術が提供されている。そのような技術において、ユーザ数が多いサービスでは、収集されるユーザ情報が膨大になるため、例えば、分散処理技術を用いたＨａｄｏｏｐ（ハドゥープ）等の分散型の記憶手段により、収集したユーザ情報を保存する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０２８４３６号公報
【特許文献２】特表２０１５−５０１９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、例えば、各ユーザの端末装置において取得される位置情報等のユーザ情報が分散型の記憶手段に送信される場合、処理するユーザ情報の量が膨大になる。このような分散型の記憶手段をユーザ数が非常に多い（例えば１００万ユーザや１０００万ユーザ等）サービスにおいて用いる場合、分散型の記憶手段に保存されたユーザ情報の更新や最新のユーザ情報の検索等のリアルタイムのサービスを行うことは難しい。また、リアルタイム用の記憶手段と解析用の記憶手段とを設けた場合、通信負荷やコストの増大につながる。
【０００５】
本願は、上記に鑑みてなされたものであって、情報を分散型の記憶手段に記憶させるかを適切に判定する判定プログラム、判定装置、判定システム、及び判定方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る判定プログラムは、ユーザの行動に関するユーザ情報を取得する取得手順と、ユーザ情報の履歴と前記取得手順により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段に記憶させるかを判定する判定手順と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００７】
第１の実施形態の一態様によれば、情報を分散型の記憶手段に記憶させるかを適切に判定することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る判定処理の一例を示す図である。
【図２】図２は、第１の実施形態に係る判定システムの構成例を示す図である。
【図３】図３は、第１の実施形態に係る端末装置の構成例を示す図である。
【図４】図４は、第１の実施形態に係るルール情報記憶部の一例を示す図である。
【図５】図５は、第１の実施形態に係るコンテキスト情報記憶部の一例を示す図である。
【図６】図６は、第１の実施形態に係る送信情報記憶部の一例を示す図である。
【図７】図７は、第１の実施形態に係る記憶システムの構成の一例を示す図である。
【図８】図８は、第１の実施形態に係る判定処理の一例を示すフローチャートである。
【図９】図９は、変形例に係る端末装置の構成例を示す図である。
【図１０】図１０は、変形例に係る学習情報記憶部の一例を示す図である。
【図１１】図１１は、第２の実施形態に係る判定システムの構成例を示す図である。
【図１２】図１２は、第２の実施形態に係るサーバ装置の構成例を示す図である。
【図１３】図１３は、第２の実施形態に係るルール情報記憶部の一例を示す図である。
【図１４】図１４は、第２の実施形態に係るコンテキスト情報記憶部の一例を示す図である。
【図１５】図１５は、第２の実施形態に係る送信情報記憶部の一例を示す図である。
【図１６】図１６は、第２の実施形態に係る端末装置の構成例を示す図である。
【図１７】図１７は、第２の実施形態に係る判定処理の一例を示すシーケンス図である。
【図１８】図１８は、判定処理の結果を反映した取得タイミングの一例を示す図である。
【図１９】図１９は、端末装置及びサーバ装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る判定プログラム、判定装置、判定システム、及び判定方法を実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定プログラム、判定装置、判定システム、及び判定方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
（第１の実施形態）
〔１．判定処理〕
まず、図１を用いて、第１の実施形態に係る判定処理の一例について説明する。図１は、第１の実施形態に係る判定処理の一例を示す図である。図１では、本願に係るコンピュータにおいて、本願に係る判定プログラムが実行する処理の一例について説明する。具体的には、図１では、本願に係るコンピュータの一例である端末装置１０によって、ユーザ情報を分散型の記憶手段に記憶させるかが判定される例を示す。本実施形態において、端末装置１０（図３参照）は、センサ部１６（図３参照）として、ＧＰＳ（Global  Positioning  System）センサを有し、センサ部１６から取得した位置情報をユーザ情報として、判定処理を行う。以下の例では、端末装置１０を利用するユーザがユーザＵ１である場合を示す。
【００１１】
また、図１では、端末装置１０がコンテキストに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する場合を示す。なお、コンテキストは、ユーザや端末装置１０の状況やユーザや端末装置１０の環境（背景）を意味する。例えば、コンテキストは、ユーザによって端末装置１０が使われている状況や、端末装置１０を所持するユーザが置かれている状態に対応する情報である。すなわち、図１におけるコンテキストは、ユーザＵ１の状況、例えばユーザＵ１がいる場所の環境に対応する。具体的には、図１におけるコンテキストは、各ユーザ情報が取得した時点におけるユーザＵ１の状況に対応する。
【００１２】
例えば、コンテキストは、端末装置１０が取得したユーザ情報に基づいて推定してもよい。例えば、コンテキストは、ユーザ情報の履歴に基づいて推定したユーザの行動パターンから推定してもよい。また、コンテキストは、端末装置１０が取得したユーザ情報に基づいて行動パターンから推定したコンテキストを変更してもよい。
【００１３】
また、図１では、説明を簡単にするため、ユーザが自宅にいるときをコンテキストＣＮ１１とし、ユーザが移動中であるときをコンテキストＣＮ１２とし、ユーザが会社にいるときをコンテキストＣＮ１３とする場合を示す。具体的には、時刻ｔ１〜時刻ｔ２におけるコンテキストＣＮ１１は、ユーザＵ１が自宅にいるコンテキストに対応する。また、時刻ｔ２〜時刻ｔ３におけるコンテキストＣＮ１２は、ユーザＵ１が移動中であるコンテキストに対応する。また、時刻ｔ３以降におけるコンテキストＣＮ１３は、ユーザＵ１が会社にいるコンテキストに対応する。また、図１中の時刻ｔ１以前におけるコンテキストＣＮ１０は、コンテキストＣＮ１１への変化を示すためのコンテキストであり、例えばコンテキストＣＮ１２等の所定のコンテキストであってもよい。
【００１４】
例えば、端末装置１０は、ユーザＵ１のユーザ情報の履歴から推定したユーザＵ１の行動パターンに基づいてユーザＵ１のコンテキストを推定する。図１では、端末装置１０は、ユーザＵ１のユーザ情報の履歴に基づいて、例えば、平日において、ユーザＵ１が時刻ｔ１〜時刻ｔ２は自宅にいて、時刻ｔ３以降には会社にいると推定してもよい。また、例えば、端末装置１０は、ユーザＵ１のユーザ情報の履歴に基づいて推定されたユーザＵ１の自宅や会社等の位置情報を有してもよい。この場合、端末装置１０は、取得したユーザ情報とユーザＵ１の自宅の位置情報や会社の位置情報とを比較することにより、ユーザＵ１の所在を推定してもよい。また、例えば、端末装置１０は、取得したユーザ情報がユーザＵ１の自宅の位置情報から所定の範囲内である場合、ユーザＵ１が自宅にいると推定してもよい。この場合、端末装置１０は、ユーザＵ１のコンテキストをコンテキストＣＮ１１と推定してもよい。例えば、端末装置１０は、取得したユーザ情報がユーザＵ１の会社の位置情報から所定の範囲内である場合、ユーザＵ１が会社にいると推定してもよい。この場合、端末装置１０は、ユーザＵ１のコンテキストをコンテキストＣＮ１３と推定してもよい。また、例えば、端末装置１０は、取得したユーザ情報が連続して位置が変動している場合、ユーザＵ１が移動中であると推定してもよい。この場合、端末装置１０は、ユーザＵ１のコンテキストをコンテキストＣＮ１２と推定してもよい。なお、上記コンテキストの推定は一例であり、端末装置１０は、どのような手段によりコンテコストを推定してもよい。
【００１５】
また、端末装置１０は、所定の間隔でユーザ情報ＩＮ１１〜ＩＮ３６を取得するものとする。例えば、端末装置１０は、センサ部１６により所定の間隔でユーザ情報ＩＮ１１〜ＩＮ３６を検知するものとする。
【００１６】
図１では、端末装置１０は、ユーザＵ１のコンテキストに基づいて、ユーザ情報ＩＮ１１〜ＩＮ３６を記憶システム５０（図７参照）に記憶させるかを判定する。
【００１７】
まず、図１に示す例においては、端末装置１０は、時刻ｔ１１において、ユーザ情報ＩＮ１１を取得する。そして、端末装置１０は、時刻ｔ１１において取得したユーザ情報ＩＮ１１を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ１１を記憶システム５０に送信するかを判定する（ステップＳ１１）。例えば、端末装置１０は、取得したユーザ情報がルール情報記憶部１４１（図４参照）に記憶されたルールのいずれかを満たすかに応じて、取得したユーザ情報を記憶システム５０に記憶させるかを判定する。なお、図１の説明では、説明を簡単にするためコンテキストとその取得したタイミングのみが条件としてルールに含まれるものとして説明する。
【００１８】
図１では、時刻ｔ１１において取得されるユーザ情報ＩＮ１１は、ユーザＵ１のコンテキストがコンテキストＣＮ１０からコンテキストＣＮ１１へ変化した後、最初に取得されるユーザ情報である。そのため、ステップＳ１１においては、端末装置１０は、ユーザ情報ＩＮ１１を記憶システム５０に記憶させると判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ１１を記憶システム５０に送信すると判定する。以下では、ユーザ情報ＩＮ１１のように、記憶システム５０に記憶させると判定されたユーザ情報を送信情報とする場合がある。
【００１９】
次に、端末装置１０は、時刻ｔ１２において、ユーザ情報ＩＮ１２を取得する。そして、端末装置１０は、時刻ｔ１２において取得したユーザ情報ＩＮ１２を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ１２を記憶システム５０に送信するかを判定する（ステップＳ１２）。
【００２０】
図１では、時刻ｔ１２において取得されるユーザ情報ＩＮ１２は、ユーザＵ１のコンテキストがコンテキストＣＮ１１へ変化した後、ユーザ情報ＩＮ１１の次に取得されるユーザ情報である。また、ユーザＵ１が自宅にいることを示すコンテキストＣＮ１１においては、複数のユーザ情報を記憶する必要性は低い。そのため、ステップＳ１２においては、端末装置１０は、ユーザ情報ＩＮ１２を記憶システム５０に記憶させる必要はないと判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ１２を記憶システム５０に送信しないと判定する。
【００２１】
また、端末装置１０は、時刻ｔ１２より後において、ユーザ情報ＩＮ１３〜ＩＮ２６を取得する。そして、端末装置１０は、取得したユーザ情報ＩＮ１３〜ＩＮ２６を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ１３〜ＩＮ２６の各々を取得したタイミングで記憶システム５０に送信するかを判定する。
【００２２】
上述のように、図１では、時刻ｔ１２より後において取得されるユーザ情報ＩＮ１３〜ＩＮ２６は、ユーザＵ１のコンテキストがコンテキストＣＮ１１へ変化した後、ユーザ情報ＩＮ１１の後に取得されるユーザ情報である。また、ユーザＵ１が自宅にいることを示すコンテキストＣＮ１１においては、複数のユーザ情報を記憶する必要性は低い。そのため、端末装置１０は、ユーザ情報ＩＮ１３〜ＩＮ２６を記憶システム５０に記憶させる必要はないと判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ１３〜ＩＮ２６を記憶システム５０に送信しないと判定する。
【００２３】
次に、端末装置１０は、時刻ｔ２１において、ユーザ情報ＩＮ２７を取得する。そして、端末装置１０は、時刻ｔ２１において取得したユーザ情報ＩＮ２７を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ２７を記憶システム５０に送信するかを判定する（ステップＳ２１）。
【００２４】
図１では、時刻ｔ２１において取得されるユーザ情報ＩＮ２７は、ユーザＵ１のコンテキストがコンテキストＣＮ１２において取得されるユーザ情報である。例えば、ユーザが移動中において取得されるユーザ情報は、ユーザの移動経路等を推定するために有用な情報であることが多い。例えば、ユーザＵ１が移動中であることを示すコンテキストＣＮ１２において取得されるユーザ情報は、記憶する必要性は高い。そのため、ステップＳ２１においては、端末装置１０は、ユーザ情報ＩＮ２７を記憶システム５０に記憶させると判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ２７を記憶システム５０に送信すると判定する。
【００２５】
また、端末装置１０は、時刻ｔ２２において、ユーザ情報ＩＮ２８を取得する。そして、端末装置１０は、時刻ｔ２２において取得したユーザ情報ＩＮ２８を記憶システム５０に記憶させるかを判定する。上述のように、ユーザＵ１が移動中であることを示すコンテキストＣＮ１２において取得されるユーザ情報は記憶する必要性は高い。そのため、端末装置１０は、ユーザ情報ＩＮ２８を記憶システム５０に記憶させると判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ２８を記憶システム５０に送信すると判定する。また、端末装置１０は、時刻ｔ２２より後に取得されるユーザ情報ＩＮ２９〜ＩＮ３１についても、コンテキストＣＮ１２において取得されるユーザ情報であるため、記憶システム５０に記憶させると判定する。
【００２６】
次に、端末装置１０は、時刻ｔ３１において、ユーザ情報ＩＮ３２を取得する。そして、端末装置１０は、時刻ｔ３１において取得したユーザ情報ＩＮ３２を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ３２を記憶システム５０に送信するかを判定する（ステップＳ３１）。
【００２７】
図１では、時刻ｔ３１において取得されるユーザ情報ＩＮ３２は、ユーザＵ１のコンテキストがコンテキストＣＮ１２からコンテキストＣＮ１３へ変化した後、最初に取得されるユーザ情報である。そのため、ステップＳ３１においては、端末装置１０は、ユーザ情報ＩＮ３２を記憶システム５０に記憶させると判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ３２を記憶システム５０に送信すると判定する。
【００２８】
次に、端末装置１０は、時刻ｔ３２において、ユーザ情報ＩＮ３３を取得する。そして、端末装置１０は、時刻ｔ３２において取得したユーザ情報ＩＮ３３を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ３３を記憶システム５０に送信するかを判定する（ステップＳ３２）。
【００２９】
図１では、時刻ｔ３２において取得されるユーザ情報ＩＮ３３は、ユーザＵ１のコンテキストがコンテキストＣＮ１３へ変化した後、ユーザ情報ＩＮ３２の次に取得されるユーザ情報である。また、ユーザＵ１が会社にいることを示すコンテキストＣＮ１３においては、複数のユーザ情報を記憶する必要性は低い。そのため、ステップＳ３２においては、端末装置１０は、ユーザ情報ＩＮ３３を記憶システム５０に記憶させる必要はないと判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ３３を記憶システム５０に送信しないと判定する。
【００３０】
また、端末装置１０は、時刻ｔ３２より後において、ユーザ情報ＩＮ３４〜ＩＮ３６を取得する。そして、端末装置１０は、取得したユーザ情報ＩＮ３４〜ＩＮ３６を記憶システム５０に記憶させるかを判定する。例えば、端末装置１０は、ユーザ情報ＩＮ３４〜ＩＮ３６の各々を取得したタイミングで記憶システム５０に送信するかを判定する。
【００３１】
上述のように、図１では、時刻ｔ３２より後において取得されるユーザ情報ＩＮ３４〜ＩＮ３６は、ユーザＵ１のコンテキストがコンテキストＣＮ１３へ変化した後、ユーザ情報ＩＮ３２の後に取得されるユーザ情報である。また、ユーザＵ１が会社にいることを示すコンテキストＣＮ１３においては、複数のユーザ情報を記憶する必要性は低い。そのため、端末装置１０は、ユーザ情報ＩＮ３４〜ＩＮ３６を記憶システム５０に記憶させる必要はないと判定する。すなわち、端末装置１０は、ユーザ情報ＩＮ３４〜ＩＮ３６を記憶システム５０に送信しないと判定する。
【００３２】
上述したように、端末装置１０は、コンテキストに基づいて、ユーザ情報を記憶システム５０に記憶させるかを判定することにより、ユーザ情報を記憶システム５０に記憶させるかを適切に判定することができる。これにより、端末装置１０は、記憶システム５０へ送信するユーザ情報の増大を抑制することができるため、記憶システム５０の処理負荷を軽減することができる。また、判定システム１（図２参照）は、記憶システム５０がどのような分散型の構成であっても、適切に処理を行うことができる。また、判定システムは、判定システム１全体の通信料や負荷の増大を抑制することができる。
【００３３】
例えば、判定システム１において、図１に示すような位置情報は、フィルタリングして記憶システム５０に保存することが望まれる。すなわち、記憶システム５０には、できる限り不要な情報を保存しないことが望ましい。言い換えると、判定システム１では、有用なタイミングで取得された情報だけを保存することが望ましい。例えば、ユーザが自宅にいる際に取得される位置情報の全てを記憶システム５０に保存する必要性は低い。また、例えば、ユーザが移動中に取得される位置情報は、ユーザの移動経路等を推定するために有用なため、できるだけ多く記憶システム５０に保存することが望ましい。判定システム１では、上述のようなコンテキストに応じて情報をフィルタリング可能にする。
【００３４】
また、例えば、位置情報に含まれる誤差に関する情報に基づいて、誤差が所定値以上の情報を記憶システム５０に保存する情報から除いた場合、必要な情報が記憶システム５０に保存されない場合がある。例えば、ユーザが地下鉄等に乗って移動している場合、取得される位置情報の誤差が大きくなる場合がある。しかし、ユーザが移動中に取得される位置情報は、誤差が大きくても記憶システム５０に保存することが望ましい。そのため、位置情報に含まれる誤差に関する情報に基づいて、記憶システム５０に保存する情報を判定した場合、情報を分散型の記憶手段に記憶させるかを適切に判定することが難しい。しかしながら、図１に示す例においては、端末装置１０がコンテキストに応じて、ユーザ情報を記憶システム５０に記憶させるかを判定することにより、ユーザ情報を記憶システム５０に記憶させるかを適切に判定することができる。
【００３５】
また、例えば、判定システム１では、イレギュラーな情報は価値が高いと判定する。例えば、端末装置１０は、天気が雪の日に取得される情報はイレギュラーな情報なので、多く記憶システム５０に保存させてもよい。このように、端末装置１０は、特殊なコンテキストにおいて取得された情報を、他の情報よりも多く記憶システム５０に保存させてもよい。また、端末装置１０は、通常のコンテキスト、すなわち頻度の高いコンテキストにおいて取得された情報を、他の情報よりも少なく記憶システム５０に保存させてもよい。例えば、端末装置１０は、通常のコンテキストにおいて取得された情報を記憶システム５０に保存する間隔を他の情報よりも長くしてもよい。
【００３６】
また、センサ部１６から取得される位置情報には、例えば、緯度経度に加えて、垂直高度、速度、水平精度、垂直精度、角度、及び誤差に関する情報など種々の種類の情報が含まれる。そのため、端末装置１０は、コンテキスト等の位置情報を取得した際の状況に応じて、記憶システム５０に保存する情報の種類を選択してもよい。例えば、端末装置１０は、所定の状況においては、緯度経度ではなく、高度を記憶システム５０に保存する情報として選択してもよい。例えば、端末装置１０は、位置情報取得時におけるコンテキストに応じて、緯度経度を記憶システム５０に保存する情報として選択したり、緯度経度と高度とを記憶システム５０に保存する情報として選択したりしてもよい。例えば、端末装置１０は、ユーザが会社等の建物内にいる場合は、高度を記憶システム５０に保存する情報として選択してもよい。また、端末装置１０は、ユーザが山に登っている場合は、緯度経度に加えて高度を記憶システム５０に保存する情報として選択したりしてもよい。
【００３７】
また、判定システム１では、記憶システム５０に保存されるユーザ情報の信頼性を向上させるために、記憶システム５０に保存するユーザ情報の量を動的に決定されてもよい。例えば、端末装置１０は、各コンテキストにおける取得頻度や取得時間に基づいて、各コンテキストにおいて取得された情報を、記憶システム５０に記憶させるかを判定してもよい。例えば、端末装置１０は、記憶システム５０に保存されたユーザ情報の量が少ないコンテキストにおいて取得されたユーザ情報を多く記憶システム５０に保存してもよい。これにより、判定システム１は、ユーザ情報の量が少ないコンテキストにおけるユーザ情報の信頼性を向上させることができる。例えば、端末装置１０は、記憶システム５０に保存されたユーザ情報において、ある期間の条件に該当するユーザ情報の量が少ない場合、期間の条件に該当するユーザ情報を多く記憶システム５０に保存してもよい。これにより、判定システム１は、ユーザ情報の量が少ない期間の条件に該当するユーザ情報の信頼性を向上させることができる。
【００３８】
図１では、コンテキストとして、自宅にいるコンテキストＣＮ１１、移動中のコンテキストＣＮ１２、会社にいるコンテキストＣＮ１３の３つのコンテキストを例示したが、コンテキストは、コンテキストＣＮ１１〜ＣＮ１３に限られない。例えば、コンテキストは、ユーザの状況等を分類可能であれば、どのようなものであってもよい。例えば、コンテキストには、ユーザが午前に家にいるコンテキスト、ユーザが午後に家にいるコンテキスト等、時間とユーザの所在とを組み合わせたコンテキストであってもよい。
【００３９】
また、コンテキストのみに基づいて判定処理を行う場合を示したが、判定処理にはどのような情報が用いられてもよい。例えば、端末装置１０は、検知精度等種々の情報を適宜用いて判定処理を行ってもよい。
【００４０】
また、上記例においては、ユーザが利用する端末装置１０が判定処理を行う例を示したが、判定処理は端末装置１０からユーザ情報を取得した外部の情報処理装置が行ってもよい。例えば、判定処理を実行する機能を有するサーバ装置１００（図１２参照）が端末装置１０から取得したユーザ情報を用いて判定処理を行ってもよい。なお、この点については後述する。また、端末装置１０は、ユーザ情報が記憶システム５０に記憶させる情報と判定される度に、そのユーザ情報を記憶システム５０に送信してもよい。また、端末装置１０は、所定のタイミングで複数個のユーザ情報を記憶システム５０に送信してもよい。なお、記憶システム５０は、判定システム１内に設けられてもよいし、判定システム１外に設けられてもよい。
【００４１】
また、ユーザ情報は、位置情報に限らず、種々のセンサ情報であってもよい。また、ユーザ情報は検索クエリに関する情報であってもよい。また、ユーザ情報はユーザ操作に関する情報であってもよい。例えば、ユーザ情報はクリックに関する情報であってもよい。すなわち、ユーザ情報は、例えば、取得タイミングに応じて変動し得るユーザに関する情報であれば、どのような情報であってもよい。また、図１の例では、ユーザ情報として位置情報、すなわち１つの種類の情報が取得される場合が取得された場合を示したが、ユーザ情報が複数の種類の情報であってもよい。例えば、端末装置１０は、位置情報や加速度情報や照度情報や気温情報など複数種類のユーザ情報が取得される場合であっても、取得された各情報をコンテキストに応じて、記憶システム５０に記憶させるかを判定してもよい。すなわち、判定システム１では、複数種類のユーザ情報が取得される場合であっても、ユーザ情報の種類に依らず、記憶システム５０に記憶させるかを適切に判定することができる。
【００４２】
〔２．判定システムの構成〕
図２に示すように、判定システム１は、端末装置１０と、記憶システム５０とが含まれる。端末装置１０と、記憶システム５０とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。図２は、実施形態に係る判定システムの構成例を示す図である。なお、図２に示した判定システム１には、複数台の端末装置１０や、複数台の記憶システム５０が含まれてもよい。
【００４３】
端末装置１０は、ユーザによって利用される情報処理装置である。例えば、端末装置１０は、情報を記憶システム５０に記憶させるかを判定する判定装置である。端末装置１０は、ユーザ情報の履歴と取得したユーザ情報とに基づいて、取得したユーザ情報を分散型の記憶手段に記憶させるかを判定する判定処理を行う。端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、デスクトップＰＣや、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。以下では、端末装置１０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置１０と読み替えることもできる。
【００４４】
記憶システム５０は、分散型の記憶手段である。例えば、記憶システム５０は、端末装置１０から収集したユーザ情報を保存する。なお、記憶システム５０の詳細は後述する。
【００４５】
〔３．端末装置の構成〕
次に、図３を用いて、第１の実施形態に係る端末装置１０の構成について説明する。図３は、第１の実施形態に係る端末装置の構成例を示す図である。図３に示すように、端末装置１０は、通信部１１と、入力部１２と、出力部１３と、記憶部１４と、制御部１５と、センサ部１６とを有する。
【００４６】
（通信部１１）
通信部１１は、例えば、通信回路等によって実現される。そして、通信部１１は、図示しない所定の通信網と有線または無線で接続され、外部の情報処理装置との間で情報の送受信を行う。例えば、通信部１１は、図示しない所定の通信網と有線または無線で接続され、記憶システム５０との間で情報の送受信を行う。
【００４７】
（入力部１２）
入力部１２は、ユーザから各種操作が入力される。例えば、入力部１２は、タッチパネル機能により表示面（例えば出力部１３）を介してユーザからの各種操作を受け付けてもよい。また、入力部１２は、端末装置１０に設けられたボタンや、端末装置１０に接続されたキーボードやマウスからの各種操作を受け付けてもよい。
【００４８】
（出力部１３）
出力部１３は、例えば液晶ディスプレイや有機ＥＬ（Electro-Luminescence）ディスプレイ等によって実現されるタブレット端末等の表示画面であり、各種情報を表示するための表示装置である。
【００４９】
（記憶部１４）
記憶部１４は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４は、例えば、端末装置１０にインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。また、第１の実施形態に係る記憶部１４は、図３に示すように、ルール情報記憶部１４１と、コンテキスト情報記憶部１４２と、送信情報記憶部１４３とを有する。
【００５０】
（ルール情報記憶部１４１）
第１の実施形態に係るルール情報記憶部１４１は、ルール（規則）に関する情報（以下、「ルール情報」とする場合がある）を記憶する。例えば、ルール情報記憶部１４１は、判定処理に用いるルール情報を記憶する。図４には、ルール情報記憶部１４１に記憶されるルール情報の一例を示す。図４に示すように、ルール情報記憶部１４１は、ルール情報として、「ルールＩＤ」、「ルール」といった項目を有する。
【００５１】
「ルールＩＤ」は、ルール情報を識別するための識別情報を示す。「ルール」は、判定処理に用いるルールの具体的な内容を示す。「ルール」には、「条件１」や「条件２」等、対応するルールＩＤにより識別されるルールとして用いられる条件が含まれる。
【００５２】
例えば、図４に示す例において、ルールＩＤ「ＣＤ１１」により識別されるルール情報は、条件１としてコンテキストが「ＣＮ１１」であることがルールに含まれることを示す。また、ルールＩＤ「ＣＤ１１」により識別されるルール情報は、条件２として「コンテキスト変化後未送信」であることがルールに含まれることを示す。また、例えば、図４に示す例において、ルールＩＤ「ＣＤ１２」により識別されるルール情報は、条件１のみであり、条件１としてコンテキストが「ＣＮ１２」であることがルールに含まれることを示す。
【００５３】
また、例えば、図４に示す例において、ルールＩＤ「ＣＤ１３」により識別されるルール情報は、条件１としてユーザ情報を取得した日が「平日」であることがルールに含まれることを示す。また、ルールＩＤ「ＣＤ１３」により識別されるルール情報は、条件２として「前回の取得情報との差分がＸ以上」であることがルールに含まれることを示す。前回の取得情報とは、判定するユーザ情報の取得以前、例えば直前に取得されたユーザ情報をいう。
【００５４】
なお、ルール情報記憶部１４１は、上記に限らず、目的に応じて種々のルール情報を記憶してもよい。例えば、ルール情報記憶部１４１は、精度に関する具体的な数値をルールとして記憶してもよい。
【００５５】
（コンテキスト情報記憶部１４２）
第１の実施形態に係るコンテキスト情報記憶部１４２は、ユーザのコンテキストに関する情報を記憶する。例えば、コンテキスト情報記憶部１４２は、現時点におけるユーザのコンテキストがいずれであるかを示す情報を記憶する。図５には、コンテキスト情報記憶部１４２に記憶されるユーザのコンテキストに関する情報の一例を示す。図５に示すように、コンテキスト情報記憶部１４２は、ユーザのコンテキストに関する情報として、「コンテキスト」、「状態」といった項目を有する。
【００５６】
「コンテキスト」は、ユーザのコンテキストを識別するための識別情報を示す。図５に示す例において、「コンテキスト」には、コンテキストＣＮ１１やコンテキストＣＮ１２やコンテキストＣＮ１３等が含まれる。また、「状態」は、現時点におけるユーザのコンテキストを示す。図５では、「状態」の値が「１」であるコンテキストが現時点におけるユーザのコンテキストであるものとする。すなわち、図５では、コンテキスト「ＣＮ１２」により識別されるコンテキストが現時点におけるユーザのコンテキストである。
【００５７】
なお、コンテキスト情報記憶部１４２は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【００５８】
（送信情報記憶部１４３）
第１の実施形態に係る送信情報記憶部１４３は、端末装置１０からの送信情報の履歴を記憶する。例えば、送信情報記憶部１４３は、端末装置１０から記憶システム５０に送信されたユーザ情報の履歴を記憶する。図６には、送信情報記憶部１４３に記憶される送信情報の一例を示す。図６に示すように、送信情報記憶部１４３は、送信情報として、「送信情報ＩＤ」、「判定時刻」、「コンテキスト」といった項目を有する。
【００５９】
「送信情報ＩＤ」は、送信されたユーザ情報を識別するための識別情報を示す。「判定時刻」は、判定処理が行われた時刻を示す。「コンテキスト」は、判定処理が行われた際のコンテキストを示す。
【００６０】
例えば、図６に示す例において、端末装置１０は、送信情報ＩＤ「ＩＮ１１」により識別されるユーザ情報（「ユーザ情報ＩＮ１１」に相当）を判定時刻ｔ１１に記憶システム５０へ送信したことを示す。また、端末装置１０がユーザ情報ＩＮ１１を送信したタイミングにおけるコンテキストは、コンテキストＣＮ１１であったことを示す。また、図６に示す例において、端末装置１０は、送信情報ＩＤ「ＩＮ２７」により識別されるユーザ情報（「ユーザ情報ＩＮ２７」に相当）を判定時刻ｔ２１に記憶システム５０へ送信したことを示す。また、端末装置１０がユーザ情報ＩＮ２７を送信したタイミングにおけるコンテキストは、コンテキストＣＮ１２であったことを示す。
【００６１】
なお、送信情報記憶部１４３は、上記に限らず、目的に応じて種々のユーザ情報を記憶してもよい。例えば、送信情報記憶部１４３は、送信情報に限らず、センサ部１６が検知し、取得する情報の履歴を記憶してもよい。例えば、送信情報記憶部１４３は、ユーザ情報の履歴を記憶してもよい。この場合、送信情報記憶部１４３は、各ユーザ情報の判定処理の結果を示すフラグを記憶してもよい。これにより、送信情報記憶部１４３は、各ユーザ情報が送信されたか否かを識別可能に記憶してもよい。
【００６２】
（制御部１５）
制御部１５は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、端末装置１０内部の記憶部１４などの記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーションのプログラムが含まれる。また、制御部１５は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００６３】
図３に示すように、制御部１５は、取得部１５１と、判定部１５２と、送信部１５３と、表示部１５４とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部１５の内部構成は、図３に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部１５が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００６４】
（取得部１５１）
取得部１５１は、ユーザの行動に関するユーザ情報を取得する。例えば、取得部１５１は、センサ部１６により検知された位置情報を取得する。例えば、取得部１５１は、センサ部１６から位置情報を取得する。また、例えば、取得部１５１は、センサ部１６から取得した位置情報を送信情報記憶部１４３に格納してもよい。また、取得部１５１は、外部の情報処理装置から種々の情報を取得してもよい。なお、取得部１５１は、判定部１５２によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。この点についての詳細は、後述する。
【００６５】
（判定部１５２）
判定部１５２は、ユーザ情報の履歴と取得部１５１により取得されたユーザ情報とに基づいて、ユーザ情報を分散型の記憶手段に記憶させるかを判定する。例えば、判定部１５２は、ユーザ情報の履歴と取得部１５１により取得されたユーザ情報とに基づいて、ユーザ情報を記憶システム５０に記憶させるかを判定する。例えば、判定部１５２は、ユーザ情報の履歴と取得部１５１により取得されたユーザ情報とに基づいて、ユーザ情報を記憶システム５０に送信するかを判定する。例えば、判定部１５２は、ユーザの位置情報の履歴と取得部１５１により取得された位置情報に基づいて、位置情報を記憶手段に記憶させるかを判定する。例えば、判定部１５２は、取得部１５１によりユーザ情報が取得されるタイミングに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
【００６６】
例えば、判定部１５２は、取得部１５１によりユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得部１５１により取得されたユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部１５２は、ユーザ情報の履歴と取得部１５１により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
【００６７】
また、判定部１５２は、取得部１５１により取得されたユーザ情報の種類に基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部１５２は、記憶システム５０に記憶させるかの判定を過去の履歴に基づく統計や確率により行ってもよい。また、判定部１５２は、位置情報に自宅/オフィス/などラベルがつく場合、ユーザの位置情報からそれがどういう場所かを判定し、ラベルの連続性から保存すべきかどうかを判定してもよい。また、判定部１５２は、ユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得されたユーザ情報を記憶手段に記憶させるかを判定してもよい。例えば、判定部１５２は、過去において時刻ｔ１０に取得したユーザ情報の多くが記憶手段に記憶させると判定された場合、時刻ｔ１０に取得されるユーザ情報を記憶手段に記憶させるかと判定してもよい。
【００６８】
（送信部１５３）
送信部１５３は、外部の情報処理装置へ種々の情報を送信する。送信部１５３は、判定部１５２により記憶手段に記憶させると判定されたユーザ情報を、記憶手段に送信する。例えば、送信部１５３は、判定部１５２により記憶システム５０に記憶させると判定されたユーザ情報を、記憶システム５０に送信する。例えば、送信部１５３は、判定部１５２によりユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、ユーザ情報を記憶手段に送信する。なお、送信部１５３は、入力部１２により入力されたユーザ操作に従って、外部の情報処理装置へ種々の情報を送信してもよい。
【００６９】
（表示部１５４）
表示部１５４は、出力部１３を介して各種情報を表示する。例えば、表示部１５４は、判定処理を行うかどうかをユーザに確認する画面を表示してもよい。また、例えば、表示部１５４は、判定部１５２により判定された所定の事象が生じたタイミングに関する情報を外部の情報処理装置へ送信してよいかをユーザに確認する画面を表示してもよい。
【００７０】
なお、上述した制御部１５による判定処理等の処理は、所定のアプリケーションにより行われる場合、制御部１５の各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部１５による判定処理等の処理は、外部の情報処理装置から受信した制御情報により実現されてもよい。また、端末装置１０が判定処理を行う専用装置である場合、端末装置１０は、入力部１２や出力部１３や表示部１５４を有しなくもよい。
【００７１】
（センサ部１６）
センサ部１６は、所定の情報を検知する。例えば、センサ部１６は、端末装置１０外の情報を検知する。例えば、センサ部１６は、ＧＰＳセンサによって実現される。なお、センサ部１６は、複数であってもよい。なお、センサ部１６は、判定処理に用いる情報を検知可能であれば、どのようなセンサであってもよい。例えば、端末装置１０は、カメラ機能により撮像された画像情報を判定処理に用いる場合、センサ部１６としてカメラを有してもよい。また、端末装置１０の位置情報をユーザ情報として取得する場合、通信を行っている基地局の位置情報や、ＷｉＦｉ（登録商標）（Wireless  Fidelity）の電波を用いて推定された端末装置１０の位置情報を取得してもよい。
【００７２】
〔４．記憶システムの構成〕
次に、図７を用いて、第１の実施形態に係る記憶システム５０の構成について説明する。図７は、第１の実施形態に係る記憶システムの構成の一例を示す図である。例えば、図７では、分散処理技術を用いたＨａｄｏｏｐに基づく構成の記憶システム５０が用いられた場合を示す。なお、記憶システム５０は、分散型の記憶手段であれば、どのような構成であってもよい。
【００７３】
例えば、図７に示す記憶システム５０は、ＨＤＦＳ(Hadoop  Distributed  File  System  ：Ｈａｄｏｏｐ分散ファイルシステム)やＨａｄｏｏｐマップリデュースフレームワーク（Hadoop  MapReduce  Framework）等のモジュールにより構成される。例えば、記憶システム５０は、マスタースレーブ型で構成される。図７に示す例では、記憶システム５０には、マスターの役割を担当するマスターサーバ５１と、スレーブの役割を担当する複数のスレーブサーバ５２−１、５２−２、５２−３等が含まれる。なお、以下では、スレーブサーバ５２−１、５２−２、５２−３等を区別しない場合、スレーブサーバ５２と記載する。
【００７４】
例えば、マスターサーバ５１は、記憶システム５０全体のデータの流れをコントロールする機能を有する。例えば、マスターサーバ５１は、ＮａｍｅＮｏｄｅ（ネームノード）と称される。また、例えば、スレーブサーバ５２は、ＤａｔａＮｏｄｅ（データノード）と称される。なお、マスターサーバ５１や各スレーブサーバ５２間は、通信可能に接続される。
【００７５】
例えば、記憶システム５０は、各スレーブサーバ５２の記憶部（例えばハードディスク）を束ねてＨＤＦＳを構成する。また、例えば、記憶システム５０は、大きなファイル（例えばユーザ情報）を複数のブロック単位に分割して、それらを複数のスレーブサーバ５２にまたがり格納する。例えば、ここでいうブロック単位は、６４ＭＢ、１２８ＭＢ、２５６ＭＢ、またはそれ以上の単位、例えば所定値のＧＢ（１２８ＧＢ等）であってもよい。なお、上記のブロック単位は例示であり、記憶システム５０の処理能力や使用目的（使用するサービス）等に応じて適宜のサイズに設定されてもよい。また、例えば、記憶システム５０は、複数のスレーブサーバ５２を１つのストレージとして処理を行うことができる。これにより、記憶システム５０は、情報の保存、すなわちデータの書き込み処理を高速化することができる。
【００７６】
また、例えば、記憶システム５０は、ブロック単位に分割したデータをスレーブサーバ５２に冗長化して保存する。例えば、記憶システム５０は、ブロック単位に分割したデータの各々を複数のスレーブサーバ５２に分散して保存する。例えば、記憶システム５０は、ブロック単位に分割した１つのデータを３つのスレーブサーバ５２に分散して保存する。これにより、記憶システム５０は、例えば、スレーブサーバ５２にハードウェア等の障害が発生してもデータが失われることなく処理を続行することができる。
【００７７】
上述のように構成された記憶システム５０は、例えば、スレーブサーバ５２の数を増やすことで、記憶システム５０のパフォーマンス（性能）を向上させることができる。すなわち、記憶システム５０は、上述のように構成されることにより、いわゆるスケールアウトが可能となる。また、記憶システム５０は、上述のように構成されることにより、サービスを利用するユーザ数や負荷の増大に応じて、柔軟に性能や機能を向上させることができる。
【００７８】
〔５．判定処理のフロー〕
次に、図８を用いて、第１の実施形態に係る端末装置１０による判定処理の手順について説明する。図８は、第１の実施形態に係る端末装置による判定処理手順を示すフローチャートである。
【００７９】
図８に示すように、端末装置１０は、ユーザ情報であるユーザ情報を取得する（ステップＳ１０１）。例えば、端末装置１０は、センサ部１６により検知されたセンサ情報である位置情報を取得する。
【００８０】
そして、端末装置１０は、取得したユーザ情報が条件を満たすかを判定する（ステップＳ１０２）。例えば、端末装置１０は、取得した位置情報等のセンサ情報が、ルール情報記憶部１４１に記憶されたルールのいずれかを満たすかを判定する。
【００８１】
そして、端末装置１０は、取得したユーザ情報が条件を満たす場合（ステップＳ１０２：Ｙｅｓ）、取得したユーザ情報を送信する（ステップＳ１０３）。一方、端末装置１０は、取得したユーザ情報が条件を満さない場合（ステップＳ１０２：Ｎｏ）、処理を終了する。
【００８２】
〔６．変形例〕
上述した第１の実施形態に係る端末装置１０は、上記の判定処理に限らず、種々の情報や条件に基づいて判定処理を行ってもよい。例えば、端末装置１０Ａは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、ユーザ情報を記憶手段に記憶させるかを判定してもよい。すなわち、端末装置１０Ａは、ユーザ情報の履歴に基づいて生成されたモデルを用いて判定処理を行ってもよい。この点について、図９及び図１０を用いて説明する。なお、第１の実施形態と同様の構成については、同一の符号を付して説明を省略する。
【００８３】
〔６−１．端末装置の構成〕
次に、図９を用いて、変形例に係る端末装置１０Ａの構成について説明する。図９は、変形例に係る端末装置の構成例を示す図である。図９に示すように、端末装置１０Ａは、通信部１１と、入力部１２と、出力部１３と、記憶部１４Ａと、制御部１５Ａと、センサ部１６とを有する。
【００８４】
（記憶部１４Ａ）
記憶部１４Ａは、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１４Ａは、例えば、端末装置１０Ａにインストールされているアプリケーションに関する情報、例えばプログラム等を記憶する。また、変形例に係る記憶部１４Ａは、図９に示すように、学習情報記憶部１４１Ａと、コンテキスト情報記憶部１４２と、送信情報記憶部１４３とを有する。
【００８５】
（学習情報記憶部１４１Ａ）
変形例に係る学習情報記憶部１４１Ａは、学習に関する情報を記憶する。例えば、学習情報記憶部１４１Ａは、判定処理に用いるモデル情報を記憶する。例えば、学習情報記憶部１４１Ａは、学習により生成されたモデル情報を記憶する。図１０は、学習情報記憶部１４１Ａに記憶されるモデル情報の一例を示す。図１０示すように、学習情報記憶部１４１Ａは、モデル情報として、「素性１」〜「素性３」等といった項目を有する。
【００８６】
例えば、図１０に示す例において、モデル情報は、素性１の重みが「０．５」、素性２の重みが「−０．４」、素性３の重みが「０．２」等であることを示す。例えば、モデルの素性（特徴量）がｍ次元のベクトルで表現される場合、素性数はｍ個になり、素性１〜素性ｍの重みが記憶される。
【００８７】
なお、学習情報記憶部１４１Ａは、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。例えば、学習情報記憶部１４１Ａは、複数のモデル情報を記憶してもよい。例えば、学習情報記憶部１４１Ａは、コンテキストごとに生成された複数のモデル情報を記憶してもよい。
【００８８】
（制御部１５Ａ）
制御部１５Ａは、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、端末装置１０Ａ内部の記憶部１４Ａなどの記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーションのプログラムが含まれる。また、制御部１５Ａは、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００８９】
図９に示すように、制御部１５Ａは、取得部１５１と、判定部１５２Ａと、送信部１５３と、表示部１５４と、学習部１５５とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部１５Ａの内部構成は、図９に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部１５Ａが有する各処理部の接続関係は、図９に示した接続関係に限られず、他の接続関係であってもよい。
【００９０】
（学習部１５５）
学習部１５５は、学習により判定処理に用いるモデルを生成する。例えば、学習部１５５は、ユーザ情報の履歴に基づいてモデルを生成する。例えば、学習部１５５は、記憶部１４Ａに記憶されたユーザ情報の履歴に基づいて、モデルを生成してもよい。例えば、学習部１５５は、送信情報記憶部１４３に記憶されたユーザ情報の履歴に基づいて、モデルを生成してもよい。なお、学習部１５５は、与えられた素性に基づいてモデルを生成してもよい。この場合、学習部１５５は、与えられた素性ごとの重みを算出し、モデルを生成してもよい。また、習部１５５は、自動的に素性を抽出し、抽出した素性に基づいてモデルを生成してもよい。この場合、学習部１５５は、自動的に抽出した素性ごとの重みを算出し、モデルを生成してもよい。なお、各素性は、どのような情報であってもよい。例えば、素性には、「１２時」、「木曜」、「位置情報」、「前の位置情報の差分」、「精度」等、どのような情報であってもよい。
【００９１】
例えば、学習部１５５は、図１０中の学習情報記憶部１４１Ａに示す「素性１」〜「素性３」等の重みの組合せを求める。また、学習部１５５は、学習で用いるアルゴリズムとして、機械学習で用いられる種々のアルゴリズムを適宜用いる。例えば、学習部１５５は、アルゴリズムとしては、分類木、回帰木、判別分析、ｋ最近傍、単純ベイズ、サポートベクターマシンなどを用いる。また、学習部１５５は、所定のタイミングで基づいてモデルを生成する。なお、取得部１５１によりモデル情報が外部の情報処理装置から取得される場合、制御部１５Ａは、学習部１５５を有しなくてもよい。
【００９２】
（判定部１５２Ａ）
判定部１５２Ａは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、取得部１５１により取得されたユーザ情報を記憶手段に記憶させるかを判定する。例えば、判定部１５２Ａは、学習情報記憶部１４１Ａに記憶されたモデル情報に基づいて、取得部１５１により取得されたユーザ情報を記憶システム５０に記憶させるかを判定する。例えば、判定部１５２Ａは、学習情報記憶部１４１Ａに記憶されたモデル情報に基づいて、取得部１５１により取得されたユーザ情報を記憶システム５０に送信するかを判定する。
【００９３】
なお、上述した制御部１５Ａによる判定処理等の処理は、所定のアプリケーションにより行われる場合、制御部１５Ａの各部は、例えば、所定のアプリケーションにより実現されてもよい。例えば、制御部１５Ａによる判定処理等の処理は、外部の情報処理装置から受信した制御情報により実現されてもよい。また、端末装置１０Ａが判定処理を行う専用装置である場合、端末装置１０Ａは、入力部１２や出力部１３や表示部１５４を有しなくもよい。
【００９４】
（第２の実施形態）
〔７．判定処理〕
上述した例においては、ユーザが利用する端末装置１０や端末装置１０Ａが判定処理を行う場合を示したが、判定処理は、端末装置１０や端末装置１０Ａ以外の装置により行われてもよい。例えば、ユーザが所持する端末装置以外の装置が判定処理を行ってもよい。この点について、図１１〜図１７を用いて説明する。図１１〜図１７が示す例においては、サーバ装置１００が図１に示すような判定処理を行う。例えば、第２の実施形態においては、サーバ装置１００が図１に示すステップＳ１１、Ｓ１２、Ｓ２１、Ｓ３１、Ｓ３２のような判定処理を行う。すなわち、第２の実施形態においては、図１に示すステップＳ１１、Ｓ１２、Ｓ２１、Ｓ３１、Ｓ３２の処理における端末装置１０をサーバ装置１００と読み替える。なお、第２の実施形態と同様の構成については、同一の符号を付して説明を省略する。
【００９５】
〔８．判定システムの構成〕
図１１に示すように、判定システム２は、端末装置２０と、記憶システム５０と、サーバ装置１００とが含まれる。端末装置２０と、記憶システム５０と、サーバ装置１００とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。図１１は、第２の実施形態に係る判定システムの構成例を示す図である。なお、図１１に示した判定システム２には、複数台の端末装置２０や、複数台の記憶システム５０や、複数台のサーバ装置１００が含まれてもよい。
【００９６】
端末装置２０は、ユーザによって利用される情報処理装置である。端末装置２０は、ユーザ情報の履歴と取得したユーザ情報とに基づいて、取得したユーザ情報を分散型の記憶手段に記憶させるかを判定する判定処理を行う。端末装置２０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣや、デスクトップＰＣや、携帯電話機や、ＰＤＡ等により実現される。以下では、端末装置２０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置２０と読み替えることもできる。
【００９７】
記憶システム５０は、分散型の記憶手段である。例えば、記憶システム５０は、端末装置２０から収集したユーザ情報を保存する。
【００９８】
サーバ装置１００は、ユーザ情報の履歴と端末装置２０から取得したユーザ情報とに基づいて、取得したユーザ情報を分散型の記憶手段に記憶させるかを判定する判定処理を行うコンピュータである。例えば、サーバ装置１００は、ユーザ情報の履歴と端末装置２０から取得したユーザ情報とに基づいて、端末装置２０にユーザ情報を記憶システム５０へ送信させるかを判定する判定処理を行う。例えば、サーバ装置１００は、情報を記憶システム５０に記憶させるかを判定する判定装置である。
【００９９】
〔９．サーバ装置の構成〕
次に、図１２を用いて、第２の実施形態に係るサーバ装置１００の構成について説明する。図１２は、第２の実施形態に係るサーバ装置の構成例を示す図である。図１２に示すように、サーバ装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。
【０１００】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワークと有線または無線で接続され、端末装置２０との間で情報の送受信を行う。
【０１０１】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。第２の実施形態に係る記憶部１２０は、図１２に示すように、ルール情報記憶部１２１とコンテキスト情報記憶部１２２と送信情報記憶部１２３とを有する。
【０１０２】
（ルール情報記憶部１２１）
第２の実施形態に係るルール情報記憶部１２１は、ルール（規則）に関する情報（以下、「ルール情報」とする場合がある）を記憶する。例えば、ルール情報記憶部１２１は、判定処理に用いるルール情報を記憶する。図１３には、ルール情報記憶部１２１に記憶されるルール情報の一例を示す。図１３に示すように、ルール情報記憶部１２１は、ルール情報として、「ルールＩＤ」、「ルール」といった項目を有する。図１３に示すルール情報記憶部１２１に記憶される情報は、図４に示すルール情報記憶部１４１に記憶される情報と同様であるため、説明を省略する。
【０１０３】
なお、ルール情報記憶部１２１は、目的に応じて種々のルール情報を記憶してもよい。例えば、ルール情報記憶部１２１は、ユーザごとや所定のユーザ分類ごとにルール情報を記憶してもよい。
【０１０４】
（コンテキスト情報記憶部１２２）
第２の実施形態に係るコンテキスト情報記憶部１２２は、各ユーザのコンテキストに関する情報を記憶する。例えば、コンテキスト情報記憶部１２２は、現時点における各ユーザのコンテキストがいずれであるかを示す情報を記憶する。図１４には、コンテキスト情報記憶部１２２に記憶される各ユーザのコンテキストに関する情報の一例を示す。図１４に示すように、コンテキスト情報記憶部１２２は、各ユーザのコンテキストに関する情報として、「コンテキスト」、「状態」といった項目を有する。
【０１０５】
「コンテキスト」は、ユーザのコンテキストを識別するための識別情報を示す。図１３では、「コンテキスト」には、コンテキストＣＮ１１やコンテキストＣＮ１２やコンテキストＣＮ１３等が含まれる。また、「状態」は、現時点における各ユーザのコンテキストを示す。また、「状態」には、「ユーザＵ１」や「ユーザＵ２」等のユーザごとに対応する項目を有する。また、図１３では、「状態」の値が「１」であるコンテキストが対応するユーザの現時点におけるコンテキストであるものとする。すなわち、図１４では、コンテキスト「ＣＮ１２」により識別されるコンテキストがユーザＵ１の現時点におけるコンテキストである。また、図１４では、コンテキスト「ＣＮ１１」により識別されるコンテキストがユーザＵ２の現時点におけるコンテキストである。
【０１０６】
なお、コンテキスト情報記憶部１２２は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【０１０７】
（送信情報記憶部１２３）
第２の実施形態に係る送信情報記憶部１２３は、各ユーザの端末装置２０からの送信情報の履歴を記憶する。例えば、送信情報記憶部１２３は、端末装置２０から記憶システム５０に送信されたユーザ情報の履歴を記憶する。図１５には、送信情報記憶部１２３に記憶される送信情報の一例を示す。図１５に示すように、送信情報記憶部１２３は、送信情報として、「ユーザＩＤ」、「送信情報ＩＤ」、「判定時刻」、「コンテキスト」といった項目を有する。
【０１０８】
「ユーザＩＤ」は、ユーザを識別するための識別情報を示す。「送信情報ＩＤ」は、送信されたユーザ情報を識別するための識別情報を示す。「判定時刻」は、判定処理が行われた時刻を示す。「コンテキスト」は、判定処理が行われた際のコンテキストを示す。
【０１０９】
例えば、図１５に示す例において、ユーザＩＤ「Ｕ１」により識別されるユーザ（以下、「ユーザＵ１」とする）の端末装置２０は、送信情報ＩＤ「ＩＮ１１」により識別されるユーザ情報を判定時刻ｔ１１に記憶システム５０へ送信したことを示す。また、ユーザＵ１の端末装置２０がユーザ情報ＩＮ１１を送信したタイミングにおけるコンテキストは、コンテキストＣＮ１１であったことを示す。また、図１５に示す例において、ユーザＵ１の端末装置２０は、送信情報ＩＤ「ＩＮ２７」により識別されるユーザ情報を判定時刻ｔ２１に記憶システム５０へ送信したことを示す。また、ユーザＵ１の端末装置２０がユーザ情報ＩＮ２７を送信したタイミングにおけるコンテキストは、コンテキストＣＮ１２であったことを示す。
【０１１０】
なお、送信情報記憶部１２３は、上記に限らず、目的に応じて種々のユーザ情報を記憶してもよい。例えば、送信情報記憶部１２３は、送信情報に限らず、センサ部２６が検知し、取得する情報の履歴を記憶してもよい。例えば、送信情報記憶部１２３は、ユーザ情報の履歴を記憶してもよい。この場合、送信情報記憶部１２３は、各ユーザ情報の判定処理の結果を示すフラグを記憶してもよい。これにより、送信情報記憶部１２３は、各ユーザ情報が送信されたか否かを識別可能に記憶してもよい。
【０１１１】
（制御部１３０）
制御部１３０は、例えば、ＣＰＵやＭＰＵ等によって、サーバ装置１００内部の記憶部１２０などの記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。例えば、この各種プログラムは、インストールされている旅行アプリのプログラムが含まれる。また、制御部１３０は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【０１１２】
図１２に示すように、制御部１３０は、取得部１３１と、判定部１３２と、送信部１３３とを有し、以下に説明する判定処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１２に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図１２に示した接続関係に限られず、他の接続関係であってもよい。
【０１１３】
（取得部１３１）
取得部１３１は、ユーザの行動に関するユーザ情報を取得する。取得部１３１は、端末装置２０からユーザの行動に関するユーザ情報を取得する。例えば、取得部１３１は、端末装置２０のＧＰＳセンサにより検知された位置情報を取得する。また、例えば、取得部１３１は、端末装置２０から取得した位置情報を送信情報記憶部１２３に格納してもよい。また、取得部１３１は、外部の情報処理装置から種々の情報を取得してもよい。なお、取得部１３１は、判定部１３２によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、端末装置２０からユーザ情報を取得してもよい。取得部１３１は、判定部１３２によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて端末装置２０に要求することにより、端末装置２０からユーザ情報を取得してもよい。この点についての詳細は、後述する。
【０１１４】
（判定部１３２）
判定部１３２は、ユーザ情報の履歴と取得部１３１により取得されたユーザ情報とに基づいて、ユーザ情報を分散型の記憶手段に記憶させるかを判定する。例えば、判定部１３２は、ユーザ情報の履歴と取得部１３１により取得されたユーザ情報とに基づいて、ユーザ情報を記憶システム５０に記憶させるかを判定する。例えば、判定部１３２は、ユーザ情報の履歴と取得部１３１により取得されたユーザ情報とに基づいて、端末装置２０にユーザ情報を記憶システム５０へ送信させるかを判定する。例えば、判定部１３２は、ユーザの位置情報の履歴と取得部１３１により取得された位置情報に基づいて、位置情報を記憶手段に記憶させるかを判定する。例えば、判定部１３２は、取得部１３１によりユーザ情報が取得されるタイミングに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
【０１１５】
例えば、判定部１３２は、取得部１３１によりユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得部１３１により取得されたユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部１３２は、ユーザ情報の履歴と取得部１３１により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。
【０１１６】
また、判定部１３２は、取得部１３１により取得されたユーザ情報の種類に基づいて、ユーザ情報を記憶手段に記憶させるかを判定する。また、例えば、判定部１３２は、記憶システム５０に記憶させるかの判定を過去の履歴に基づく統計や確率により行ってもよい。また、判定部１３２は、位置情報に自宅やオフィスなどのラベルがつく場合、ユーザの位置情報からそれがどういう場所かを判定し、ラベルの連続性から保存すべきかどうかを判定してもよい。
【０１１７】
なお、サーバ装置１００は、図９及び図１０に示す端末装置１０Ａのように、モデルに基づいて判定処理を行ってもよい。この場合、判定部１３２は、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、取得部１５１により取得されたユーザ情報を記憶手段に記憶させるかを判定する。この場合、サーバ装置１００は、学習により判定処理に用いるモデルを生成する学習部を有してもよい。そして、サーバ装置１００は、学習部により、ユーザ情報の履歴に基づいてモデルを生成する。この場合、サーバ装置１００は、複数ユーザに共通したモデルを生成してもよいし、ユーザごとにモデルを生成してもよい。
【０１１８】
（送信部１３３）
送信部１３３は、外部の情報処理装置へ種々の情報を送信する。送信部１３３は、判定部１３２により記憶手段に記憶させると判定されたユーザ情報を、端末装置２０に記憶手段へ送信させる指示を送信する。例えば、送信部１３３は、判定部１３２により記憶システム５０に記憶させると判定されたユーザ情報を示す情報を、端末装置２０に送信することにより、端末装置２０に記憶手段へユーザ情報を送信させる。例えば、送信部１３３は、判定部１３２によりユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、端末装置２０にユーザ情報を記憶手段へ送信させる指示を送信する。
【０１１９】
〔１０．端末装置の構成〕
次に、図１６を用いて、第２の実施形態に係る端末装置２０の構成について説明する。図１６は、第２の実施形態に係る端末装置の構成例を示す図である。なお、図１６に示す端末装置２０において、図３と同様の構成については、最上位の桁の数値を「１」から「２」に変更した符号（“２＊”や“２＊＊”）を付すことにより重複する説明を省略する。図１６に示すように、端末装置２０は、通信部２１と、入力部２２と、出力部２３と、記憶部２４と、制御部２５と、センサ部２６とを有する。例えば、第２の実施形態に係る端末装置２０の構成は、第１の実施形態に係る端末装置１０における判定処理の機能を除いた構成となる。以下では、各部の端末装置１０と差異がある部分を主に説明する。
【０１２０】
（制御部２５）
制御部２５は、例えば、ＣＰＵやＭＰＵ等によって、端末装置２０内部の記憶部２４などの記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。例えば、この各種プログラムは、判定処理を行うアプリケーションのプログラムが含まれる。また、制御部２５は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【０１２１】
図１６に示すように、制御部２５は、取得部２５１と、送信部２５３と、表示部２５４とを有し、以下に説明する判定処理の機能や作用を実現または実行する。すなわち、端末装置２０は、判定部を有しない点において、端末装置１０と相違する。なお、制御部２５の内部構成は、図１６に示した構成に限られず、後述する判定処理を行う構成であれば他の構成であってもよい。また、制御部２５が有する各処理部の接続関係は、図１６に示した接続関係に限られず、他の接続関係であってもよい。
【０１２２】
（取得部２５１）
取得部２５１は、ユーザの行動に関するユーザ情報を取得する。例えば、取得部２５１は、センサ部２６により検知された位置情報を取得する。例えば、取得部２５１は、センサ部２６から位置情報を取得する。また、取得部２５１は、外部の情報処理装置から種々の情報を取得してもよい。なお、取得部２５１は、判定部２５２によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。この点についての詳細は、後述する。
【０１２３】
また、取得部２５１は、サーバ装置１００において記憶手段に記憶させると判定されたユーザ情報を、記憶手段へ送信させる指示をサーバ装置１００から取得する。例えば、取得部２５１は、サーバ装置１００において記憶システム５０に記憶させると判定されたユーザ情報を示す情報を、サーバ装置１００から取得する。例えば、取得部２５１は、サーバ装置１００においてユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、ユーザ情報を記憶手段へ送信させる指示をサーバ装置１００から取得する。
【０１２４】
（送信部２５３）
送信部２５３は、外部の情報処理装置へ種々の情報を送信する。例えば、送信部２５３は、取得部２５１から取得したユーザ情報をサーバ装置１００に送信する。例えば、送信部２５３は、センサ部２６により検知された位置情報をサーバ装置１００に送信する。
例えば、送信部２５３は、取得部２５１によりセンサ部２６から取得された位置情報をサーバ装置１００に送信する。
【０１２５】
送信部２５３は、サーバ装置１００において記憶手段に記憶させると判定されたユーザ情報を、記憶手段に送信する。例えば、送信部２５３は、サーバ装置１００において記憶システム５０に記憶させると判定されたユーザ情報を、記憶システム５０に送信する。例えば、送信部２５３は、サーバ装置１００においてユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、ユーザ情報を記憶手段に送信する。例えば、送信部２５３は、取得部２５１により記憶手段へユーザ情報を送信させる指示をサーバ装置１００から取得した場合、ユーザ情報を記憶手段に送信する。なお、送信部２５３は、入力部２２により入力されたユーザ操作に従って、外部の情報処理装置へ種々の情報を送信してもよい。
【０１２６】
〔１１．判定処理のフロー〕
次に、図１７を用いて、第２の実施形態に係る判定システム２によるユーザ情報の送受信を含む判定処理の手順について説明する。図１７は、第２の実施形態に係る判定処理の一例を示すシーケンス図である。
【０１２７】
図１７に示すように、端末装置２０は、サーバ装置１００へユーザ情報を送信する（ステップＳ１０１）。例えば、端末装置２０は、サーバ装置１００へセンサ部２６により検知したユーザ情報を送信する。
【０１２８】
端末装置２０からユーザ情報を取得したサーバ装置１００は、判定処理を行う（ステップＳ１０２）。例えば、サーバ装置１００は、取得したユーザ情報と、ユーザ情報の履歴とに基づいて、判定処理を行う。
【０１２９】
その後、サーバ装置１００は、判定処理の結果を端末装置２０へ送信する（ステップＳ１０３）。例えば、判定処理の結果が送信要である場合、サーバ装置１００は、判定処理より記憶手段に記憶させると判定されたユーザ情報を、端末装置２０に記憶手段へ送信させる指示を送信する。また、例えば、判定処理の結果が送信不要である場合、サーバ装置１００は、端末装置２０へ情報の送信を行わなくてもよい。この場合、端末装置２０は、サーバ装置１００へユーザ情報を送信した後、所定の時間が経過した場合、判定処理の結果が送信不要であったとしてもよい。また、例えば、判定処理の結果が送信不要である場合、サーバ装置１００は、端末装置２０に記憶手段へ送信する必要がないことを示す情報を送信してもよい。
【０１３０】
その後、端末装置２０は、判定処理の結果が送信要である場合（ステップＳ１０４：Ｙｅｓ）、記憶システム５０へユーザ情報を送信する（ステップＳ１０５）。
【０１３１】
そして、端末装置２０からユーザ情報を受信した記憶システム５０は、受信したユーザ情報を登録する（ステップＳ１０６）。例えば、記憶システム５０は、受信したユーザ情報を対応するユーザに関連付けて保存する。
【０１３２】
一方、端末装置２０は、判定処理の結果が送信要でない場合（ステップＳ１０４：Ｎｏ）、記憶システム５０へユーザ情報を送信することなく、処理を終了する。
【０１３３】
〔１２．取得タイミングの変更〕
なお、上述した例においては、図１中のユーザ情報ＩＮ１１〜ＩＮ３６間の間隔、すなわちユーザ情報ＩＮ１１〜ＩＮ３６間を取得するタイミング（以下、「取得タイミング」とする）が同じであったが、タイミングを異ならせてもよい。この点について、図１８を用いて説明する。図１８は、判定処理の結果を反映した取得タイミングの一例を示す図である。
【０１３４】
例えば、端末装置１０、１０Ａの取得部１５１は、判定部１５２によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。また、端末装置２０の取得部２５１は、サーバ装置１００においてユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得してもよい。以下では、端末装置１０の場合を例に説明する。
【０１３５】
図１８に示す例においては、時刻ｔ１〜時刻ｔ２におけるコンテキストＣＮ１１においては、時刻ｔ５１の１回だけユーザ情報ＩＮ５１を取得する。例えば、端末装置１０は、時刻ｔ１〜時刻ｔ２の間では、取得部１５１によりユーザ情報を取得するタイミングを時刻ｔ５１の１回だけにする。例えば、端末装置１０は、時刻ｔ１〜時刻ｔ２の間では、センサ部１６の検知タイミングを時刻ｔ５１の１回だけにする。
【０１３６】
また、図１８に示す例においては、時刻ｔ２〜時刻ｔ３におけるコンテキストＣＮ１２においては、時刻ｔ５２におけるユーザ情報ＩＮ５２を含むユーザ情報ＩＮ５２〜ＩＮ５６の５個のユーザ情報を取得する。例えば、端末装置１０は、時刻ｔ２〜時刻ｔ３の間では、取得部１５１によりユーザ情報を取得するタイミングを、時刻ｔ５２を含む５回にする。例えば、端末装置１０は、時刻ｔ２〜時刻ｔ３の間では、センサ部１６の検知タイミングを、時刻ｔ５２を含む５回にする。
【０１３７】
また、図１８に示す例においては、時刻ｔ３以降におけるコンテキストＣＮ１３においては、時刻ｔ５３の１回だけユーザ情報ＩＮ５７を取得する。例えば、端末装置１０は、時刻ｔ３以降のコンテキストＣＮ１３である間では、取得部１５１によりユーザ情報を取得するタイミングを時刻ｔ５３の１回だけにする。例えば、端末装置１０は、時刻ｔ３以降のコンテキストＣＮ１３である間では、センサ部１６の検知タイミングを時刻ｔ５３の１回だけにする。
【０１３８】
このように、端末装置１０は、取得タイミングを異ならせてもよい。これにより、端末装置１０は、送信不要なユーザ情報の取得回数が増大することを抑制することにより、消費電力の削減等を実現できる。
【０１３９】
〔１３．効果〕
上述してきたように、第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００は、取得部１５１、１３１と、判定部１５２、１５２Ａ、１３２とを有する。取得部１５１、１３１は、ユーザの行動に関するユーザ情報を取得する。また、判定部１５２、１５２Ａ、１３２は、ユーザ情報の履歴と取得部１５１、１３１により取得されたユーザ情報とに基づいて、当該ユーザ情報を分散型の記憶手段（実施形態においては、「記憶システム５０」。以下同じ）に記憶させるかを判定する。
【０１４０】
これにより、第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００は、ユーザ情報の履歴と取得したユーザ情報とに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。したがって、判定システム１、２は、記憶システム５０へ送信するユーザ情報の増大を抑制することができるため、記憶システム５０の処理負荷を軽減することができる。これにより  、判定システム１、２は、記憶システム５０がどのような分散型の構成であっても、適切に処理を行うことができる。また、判定システム１、２は、判定システム１、２全体の通信料や負荷の増大を抑制することができる。
【０１４１】
また、第１の実施形態に係る端末装置１０及び変形例に係る端末装置１０Ａは、送信部１５３を有する。判定部１５２は、ユーザ情報の履歴と取得部１５１によりユーザ情報が取得されるタイミングに基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。送信部１５３は、判定部１５２によりユーザ情報を記憶手段に記憶させると判定されるタイミングに基づいて、当該ユーザ情報を記憶手段に送信する。
【０１４２】
これにより、第１の実施形態に係る端末装置１０及び変形例に係る端末装置１０Ａは、分散型の記憶手段にユーザ情報を適切なタイミングで送信することができる。
【０１４３】
また、第１の実施形態に係る端末装置１０及び第２の実施形態に係るサーバ装置１００において、判定部１５２、１３２は、ユーザ情報の履歴と取得部１５１、１３１により取得されたユーザ情報とに基づいて推定されるユーザのコンテキストに基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。
【０１４４】
これにより、第１の実施形態に係る端末装置１０及び第２の実施形態に係るサーバ装置１００は、ユーザのコンテキストに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
【０１４５】
また、第１の実施形態に係る端末装置１０及び第２の実施形態に係るサーバ装置１００において、判定部１５２、１３２は、取得部１５１、１３１によりユーザ情報が取得された時刻と、過去に記憶手段に記憶させると判定されたユーザ情報を取得した時刻とに基づいて、取得部１５１、１３１により取得されたユーザ情報を記憶手段に記憶させるかを判定する。
【０１４６】
これにより、第１の実施形態に係る端末装置１０及び第２の実施形態に係るサーバ装置１００は、過去の行動パターンに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
【０１４７】
また、変形例に係る端末装置１０Ａは、判定部１５２Ａを有する。判定部１５２Ａは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、取得部１５１により取得されたユーザ情報を記憶手段に記憶させるかを判定する。
【０１４８】
これにより、変形例に係る端末装置１０Ａは、ユーザ情報の履歴に基づいて生成されたモデルに基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
【０１４９】
第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００において、判定部１５２、１５２Ａ、１３２は、取得部１５１、１３１により取得されたユーザ情報の種類に基づいて、当該ユーザ情報を記憶手段に記憶させるかを判定する。
【０１５０】
これにより、第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００は、ユーザ情報の種類に基づいて、情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
【０１５１】
第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００において、取得部１５１、１３１は、判定部１５２、１５２Ａ、１３２によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報を取得する。
【０１５２】
これにより、第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００は、判定処理によりユーザ情報を記憶手段に記憶させると判定されたタイミングに基づいて、ユーザ情報の取得タイミングを変更することにより、ユーザ情報の取得タイミングを適切に設定することができる。
【０１５３】
第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００において、取得部１５１、１３１は、ユーザ情報として、ユーザの位置情報を取得する。判定部１５２、１５２Ａ、１３２は、ユーザの位置情報の履歴と取得部１５１、１３１により取得された位置情報に基づいて、当該位置情報を記憶手段に記憶させるかを判定する。
【０１５４】
これにより、第１の実施形態に係る端末装置１０、変形例に係る端末装置１０Ａ、及び第２の実施形態に係るサーバ装置１００は、位置情報を分散型の記憶手段に記憶させるかを適切に判定することができる。
【０１５５】
〔１４．プログラム〕
上述してきた端末装置１０、１０Ａやサーバ装置１００による処理は、本願に係る判定プログラムにより実現される。例えば、端末装置１０に係る判定部１５２は、端末装置１０が有するＣＰＵやＭＰＵ等によって、判定プログラムがＲＡＭを作業領域として、判定プログラムに係る判定手順が実行されることにより実現される。端末装置１００に係る他の処理部も同様に、判定プログラムによる各手順が実行されることにより実現される。
【０１５６】
なお、本願に係る端末装置１００が実行する処理は、必ずしも全てが判定プログラムによって実現されるものでなくてもよい。例えば、センサ部１６は、端末装置１０外の情報を検知する。このとき、端末装置１０外の情報等は、端末装置１０が有するＯＳ（Operating  System）によって検知されてもよい。すなわち、判定プログラム自体が、上述してきたような端末装置１０で実行される処理を実行するのではなく、ＯＳによって取得されたデータ（例えば、端末装置１０が有するセンサや回路等を利用して取得されるデータ）を受け取ったり、検知したりすることにより、上述してきた端末装置１０の処理を実現するようにしてもよい。
【０１５７】
〔１５．ハードウェア構成〕
上述してきた第１の実施形態に係る端末装置１０や変形例に係る端末装置１０Ａや第２の実施形態に係るサーバ装置１００は、例えば図１９に示すような構成のコンピュータ１０００によって実現される。図１９は、端末装置及びサーバ装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１５８】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１５９】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、所定のネットワークを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを所定のネットワークを介して他の機器へ送信する。
【０１６０】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１６１】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１６２】
例えば、コンピュータ１０００が第１の実施形態に係る端末装置１０や変形例に係る端末装置１０Ａや第２の実施形態に係るサーバ装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１５、１５Ａ、１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から所定のネットワークを介してこれらのプログラムを取得してもよい。
【０１６３】
以上、本願の実施形態および変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１６４】
〔１６．その他〕
また、上記各実施形態および変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１６５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１６６】
また、上述してきた各実施形態および変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１６７】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１６８】
１０    端末装置（コンピュータ）
１４１  ルール情報記憶部
１４２  コンテキスト情報記憶部
１４３  送信情報記憶部
１５    制御部
１５１  取得部
１５２  判定部
１５３  送信部
１５４  表示部
１６    センサ
１００  サーバ装置（コンピュータ）
１２１  ルール情報記憶部
１２２  コンテキスト情報記憶部
１２３  送信情報記憶部
１３０  制御部
１３１  取得部
１３２  判定部
１３３  送信部
【図１】
0006697279.tif 000002
【図２】
0006697279.tif 000003
【図３】
0006697279.tif 000004
【図４】
0006697279.tif 000005
【図５】
0006697279.tif 000006
【図６】
0006697279.tif 000007
【図７】
0006697279.tif 000008
【図８】
0006697279.tif 000009
【図９】
0006697279.tif 000010
【図１０】
0006697279.tif 000011
【図１１】
0006697279.tif 000012
【図１２】
0006697279.tif 000013
【図１３】
0006697279.tif 000014
【図１４】
0006697279.tif 000015
【図１５】
0006697279.tif 000016
【図１６】
0006697279.tif 000017
【図１７】
0006697279.tif 000018
【図１８】
0006697279.tif 000019
【図１９】
0006697279.tif 000020