【実施例1】
【0011】
図1は、本発明の一実施例を示すライフログクラウドシステムの構成図である。同図において、ライフログクラウドシステム100は、センサとサーバシステム(コンピュータ)114とからなる。
【0012】
センサは、同一人が使い回すことができる複数のセンサ101、102、103(センサ1a、1b、1c)をその構成要素とする。例えば、センサが3つあるとすれば、
図1に示すように、センサ101(センサ1a)、センサ102(センサ1b)、センサ103(センサ1c)が構成要素となる。
本例ではセンサは、3つの例を挙げているが、少なくとも2つ以上あればよく、3つである必要はない。また、センサは既存のものを使用する。
各センサは、例えば、
図3に示す如く、一つの端末IDごとの時刻ごとの時系列センサデータを出力する。センサデータは、端末ID(000101、000101、000101、・・・)、日時(2015.6.9 15:28.00、2015.6.9 15:30.00、2015.6.9 15:32.00、・・・)、加速度X(87.6、43.2、63.1、・・・)、加速度Y(23.1、14.7、3.2、・・・)、加速度Z(1.2、8.2、12.1、・・・)を有する。
【0013】
サーバシステム114は、通信装置104、入出力装置105、記憶装置106、処理装置(CPU)107を備え、これらの装置は、バス108によって相互接続されている。
【0014】
通信装置104は、各センサとの間のデータ通信を行う通信部/インタフェースを有する装置である。
センサ1a、センサ1b、センサ1cは、それぞれ内部に通信部(図示せず)を含み、当該通信部を介してサーバシステム114の通信装置104と通信を行う。
【0015】
入出力装置105は、記憶装置106のライフログ110をサーバシステム114の外部に出力する際のインタフェースとなる。例えば、データを入力するキーボードやデータを表示するディスプレイ等の実装が可能である。
【0016】
記憶装置106は、少なくとも端末・ユーザテーブル109、ライフログ110、判定ロジック111を記憶し、保持する記憶部を含む。
【0017】
端末・ユーザテーブル109は、例えば、
図6に示すように、ユーザを識別するユーザID(0100、0100、0200、・・・)と端末(センサ)を識別する端末ID(000101、000102、000201、・・・)の対応表を有する。
ここで、ユーザID(0100)一つに対して、複数の端末ID(000101、000102)の対応が許されている。ただし、一つの端末IDに対しては一つのユーザIDのみ対応する。
【0018】
ライフログ110は、例えば、
図7に示すように、ユーザの計測値の時系列データを含む。計測値の時系列データは、ユーザID(0100、0100、0100、・・・)、端末ID(000101、000101、000101、・・・)、日時(2015.6.9 15:28.00、2015.6.9 15:30.00、2015.6.9 15:32.00、・・・)に対応する加速度X(87.6、43.2、63.1、・・・)、加速度Y(23.1、14.7、3.2、・・・)、加速度Z(1.2、8.2、12.1、・・・)、を有する。
【0019】
判定ロジック111は、例えば、
図4に示すように、複数の上書き条件を有する。上書き条件は、例えば、以下のとおりとするが、以下に限定する必要はない。
判定ロジックID 上書き条件(判定条件)
1 指定変数 >0
2 (指定変数)
2 >0
3 Σ
i(指定変数
i)
2 >0
4 (指定変数)
2 >C1
5 Σ
i(指定変数
i)
2 >C2
C1、C2:定数
【0020】
処理装置107は、各装置の動作制御を司り、内部に格納されたプログラムに従って上記の各装置の動作を制御する。そして、処理装置107は、少なくとも判定部112、登録部113を含む。
【0021】
判定部112は、判定ロジック111の上書き条件とセンサから入力したデータを参照し、当該データをライフログ110に書き込むか否かを判定する機能を有する。
【0022】
登録部113は、端末・ユーザテーブル109の情報を参照し、ライフログ110に書き込む処理を行う機能を有する。
【0023】
図5は、本発明がその効用を発揮するユースケースを説明する図である。以下、ユースケースについて
図1の構成図の構成要素も引用しながら説明する。
【0024】
センサ101(通常時に使用するセンサ1a)、センサ102(睡眠時に使用するセンサ1b)、センサ103(水泳時に使用するセンサ1c)は、それぞれ別のセンサであり、これらを使い分けることで、同一人の活動が、それぞれ異なる時間区間で計測されていることを示している。各センサのデータは、ここでは、例えば、加速度とする。
【0025】
図5では、横軸に時刻tを示し、縦軸は加速度を示してある。同図に示すように、一日において、通常時、睡眠時、水泳時と別々のセンサ1a、1b、1cを使っている場合を想定する。
別々のセンサを使う理由は、センサそれぞれに適した(得意不得意)な使用条件があることなどが考えられる。例えば、具体的には、防水性、睡眠時の精度、装飾品としての見映えなどが考えられる。
本ケースで、時と場合によって、同一人がセンサを付け替えて加速度を計測し、さらに、後から順不同で過去のデータをサーバシステム114に通信することを考える。
この場合、一人のユーザに対し一つの時刻でのセンサデータが複数存在することになるので、結果的に、時刻ごとにどのセンサのデータが採用されるべきかが不定となる。
【0026】
センサ1a、センサ1b、センサ1cの順にデータをサーバシステム114に通信するとき、例えば、最初に通信されたセンサ1aのデータが採用されて、それ以降のセンサ1bやセンサ1cから通信されたデータを無視する実装や、あるいは、毎回上書きしていき、常に最後に通信されたセンサ(この場合にはセンサ1cのアップロード時)のデータが有効という実装もあり得る。
【0027】
この二つの方法は、もちろん予めそのように設定しておかなければならないが、例えそのように設定したとしても、上記の二つの方法いずれにおいても、通信の順序に依存して結果が変わってしまうこと、また、ある時刻部分だけあるセンサのデータを使い、それ以外の時刻部分では別のセンサを使うということはできない。
ここでは、例えば、ある時間帯にはセンサ1cのデータを採用し、別のある時間帯にセンサ1bを採用するようなことを実現する。
【0028】
図2は、本発明のサーバシステム114の処理フローを示すフローチャートである。
【0029】
本実施例において、センサ101(センサ1a)、センサ102(センサ1b)、センサ103(センサ1c)のいずれか一つから(ここでは便宜上、センサ101/センサ1aからとする)、過去の一定時間の計測値が通信装置104を介してサーバシステム114に通信された場合、サーバシステム114はセンサ101(センサ1a)から通信されたデータを記憶装置106のライフログ110に書き込むか、あるいは書き込まないかを判定する。書き込むと判定した場合はライフログ110の適切な位置にデータを書き込む。
以下、このデータ書き込み処理について説明する。
【0030】
同図のフローチャートに基づく動作は以下のとおりである。
まず、ステップs201において、サーバシステム114は、センサ101(センサ1a)から通信装置104を介して記憶装置106の一時記憶領域(図示せず)にデータが通信され取り込まれる。
【0031】
通信データの形式は、
図3に示すとおりであり、データは、同図に示すように、一つの端末IDごとの時刻ごとの時系列センサデータである。
つまり、1レコードは、端末IDが一意で、時刻が一意になっているセンサの計測値であり、端末ID(000101、000101、000101、・・・)、日時(2015.6.9 15:28.00、2015.6.9 15:30.00、2015.6.9 15:32.00、・・・)、加速度X(87.6、43.2、63.1)、加速度Y(23.1、14.7、3.2、・・・)、加速度Z(1.2、8.2、12.1、・・・)を有する。
図3では、3軸(X,Y,Z)の加速度のデータが時系列に記録されている。
【0032】
次に、ステップs202において、サーバシステム114は、記憶装置106に取り込まれた通信データの中で、未チェックのデータがあるかどうかを判定する。
この判定で、すべての時刻のデータがチェックされたのであれば終了する。未だチェックされていない時刻のデータがある場合には、次のステップs203に移る。
【0033】
ステップs203において、サーバシステム114は、通信データの中で未だチェックされていない時刻から一つを選び、その時刻のデータをデータ入力として処理装置107の判定部112に送る。
【0034】
ステップs204において、サーバシステム114における判定部112は、上述した
図4に示す判定ロジック111の上書き条件を参照し、当該上書き条件を満たしているか否かをもってステップs203で入力された通信データ(データ入力)をその時刻のデータとしてライフログ110に書き込むか否かを判定する。
【0035】
ここで、本処理200を実行する前に、判定ロジック111の判定ロジックID(1、2、3,4,5、・・・)のうち一つが既に選ばれているものとする。ここでは、例えば、判定ロジックID=3(Σ
i(指定変数
i)
2 >0)が選ばれているものとする。
この上書き条件は、指定した複数の変数すべての二乗和が正であることである。この条件を満たしたとき、次のステップs205に移る。この条件を満たさなかった場合には、ステップs202に戻る。
【0036】
判定ロジックの上書き条件は、上記の他、「指定した一つの変数が正」、「指定した一つの変数の二乗が正」、「指定した一つの変数の二乗がある定数C1より大きい」、「指定した複数の変数すべての二乗和がある定数C2より大きい」などのバリエーションがあり得る。
例えば、センサをつけていないときに加速度は0になると考えられるが、そのような前提でセンサをつけていることを推定して上書き条件としたり、あるいは、何らかの誤差の存在を想定して、ある程度以上の絶対値を観測したときのみセンサをつけていたと推定して上書きする、等の前提の置き方が可能となる。
【0037】
ステップs205において、サーバシステム114における登録部113は、ステップs204にて書き込むと判定されたデータをライフログ110の適切な位置に書き込む。
【0038】
また、登録部113は、端末・ユーザテーブル109を参照し、ステップs204にて判定されたデータの端末IDに対応するユーザIDを抽出する。次に、当該ユーザIDのこの時刻に相当する登録済のレコードをライフログ110から抽出する。
【0039】
ライフログ110は、
図7に示すように、ユーザID、端末ID、日時(含年月日時刻)、計測値(加速度X、Y、Z)の並びからなる。
ここで、ライフログ110からレコードを抽出する際には、ユーザIDの一致、また、時刻の一致のみを条件とし、端末IDが一致する必要はない。ユーザIDの一致、また、時刻の一致するライフログ110のレコードに対して、ステップs204で用いた計測値(データ)、端末IDを書き込む。
【0040】
なお、ライフログ110に当該ユーザIDの当該時刻のデータがなかったときには、ステップs204で用いたデータをユーザID、端末ID、日時、計測値を含めてライフログ110に追記する。
以上の処理が終了すれば、ステップs202に移る。
【0041】
上述した本実施例によれば、ユーザが複数のウェアラブルセンサを取り換えて装着する場合に、値を採用すべき条件を予め決めておき、それに従うことで、観測していたセンサを選ぶことができる。これによって、ウェアラブルセンサを時計のようにTPOや生活シーンや活動内容に応じて任意に取り換えた場合でも、ライフログとして適切で一貫したデータとして管理・利活用できる。