(57)【要約】  【課題】  状態情報に基づく判断をサービスアプリケーションから分離する。  【解決手段】複数の状態情報に基づいてサービスを実行するか否かの判断を、状態管理装置で行う。例えば、家族の構成メンバーそれぞれの状態情報に基づいて、家族全員が出かけているか否かを判断する。さらに、状態管理装置は、家族全員が出かけている場合にエアコンの電源がオンであるか否かを判断し、「Ｙｅｓ」と判断するとエアコンの電源をオフにするよう、エアコンに通知する。このように、状態管理装置は、人や機器など複数の対象の状態情報に基づいて、様々なサービスや制御を行うための判断を行う。その結果、サービスアプリケーションの実装を簡素化し、開発効率を高めるとともに、フレキシブルなサービスの実現を容易にすることができる。  【選択図】  図１
2006277326.tif 000002
【特許請求の範囲】
【請求項１】
複数の対象の状態を管理する状態管理装置であって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶手段と、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新手段と、
複数の状態情報に基づく複合通知条件を記憶する条件記憶手段と、
前記更新手段による状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定手段と、
を有する状態管理装置。
【請求項２】
前記状態記憶手段が記憶する状態情報の一部または全部を表示し、複数の状態情報の選択を受け付ける選択画面を生成する選択画面生成手段をさらに有する、請求項1に記載の状態管理装置。
【請求項３】
複数の対象の状態を管理するコンピュータ端末で動作する状態管理プログラムであって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶手段、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新手段、
複数の状態情報に基づく複合通知条件を記憶する条件記憶手段、及び
前記更新手段による状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定手段、
として前記コンピュータ端末を機能させる状態管理プログラム。
【請求項４】
複数の対象の状態を管理する状態管理プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶ステップと、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新ステップと、
複数の状態情報に基づく複合通知条件を記憶する条件記憶ステップと、
前記更新ステップでの状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定ステップと、
を実行する状態管理プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【請求項５】
複数の対象の状態を管理する状態管理方法であって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶ステップと、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新ステップと、
複数の状態情報に基づく複合通知条件を記憶する条件記憶ステップと、
前記更新ステップでの状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定ステップと、
を有する状態管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人や物などの状態を表す状態情報を管理・更新・通知する状態情報通知システムに関する。
【背景技術】
【０００２】
複数の状態情報を管理し、状態情報が更新され通知条件を満たす場合に、登録したユーザ端末に状態情報を通知する状態管理システムが提供されている。例えば特許文献１には、状態管理システムの一例が開示されている。この状態管理システムでは、例えば、株価などを状態情報としてサーバで管理している。クライアントは、状態情報の通知条件をサーバに登録しておくことにより、特定の銘柄が特定の株価になったことをサーバから通知される。その結果、クライアントは、通知に応じて最適なタイミングで株の売買を行うことができる。
【０００３】
また、いわゆるＩＭ（Instant Messaging）システムと呼ばれる状態管理システムが、インターネット上で普及しつつある。このシステムは、人の在席状態をサーバで管理し、特定の人が在席になった場合に特定のクライアントに通知を行うサービスを行う。より詳しくは、ユーザがバディリストと呼ばれるユーザリストを設定すると、バディリストに登録した他のユーザ、すなわちバディの状態が、そのユーザに通知される。通知される状態としては、「オンライン」、「オフライン」、「在席」、「多忙」などが挙げられる。ユーザは、通知されるバディの状態を参照することで、適切なコミュニケーションを行うことができる。例えば、ユーザは、バディの状態を参照して電話をかけるタイミングを判断することができる。
【０００４】
これら従来の状態管理システムは、いずれもそれぞれの状態情報について、通知条件の設定を行い、状態情報の更新を通知している。
【特許文献１】特開平9-282210号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
今後、例えば人や物など様々な対象の状態が情報化され、状態管理システムで管理される状態情報が増加すると予想される。また、これに伴い、状態管理システムからの複数の状態情報の変化に基づいて、様々な情報を提供するサービスが発展すると予想される。例えば、複数の状態情報の変化に基づいて、ユーザ端末への画面表示や機器の制御などを行うサービスアプリケーションが求められるようになると予想される。しかし、現状の状態管理システムを用い、複数の状態情報の変化に基づくサービスを行おうとすると、以下の問題がある。
【０００６】
第１に、従来の状態管理システムを利用したサービスアプリケーションを開発しようとすると、状態管理システムから受信する複数の状態情報や各状態情報の通知条件に基づいて、個々のサービスアプリケーションがそれぞれサービス開始の要否を判断しなければならない。従って、取り扱う状態情報の増加に伴い、サービスアプリケーションのロジックが複雑化し、開発効率が悪化する。
【０００７】
第２に、複数のサービスアプリケーションが同じ判断ロジックに基づいてサービスを開始する場合でも、個々のサービスアプリケーションがそれぞれサービス開始の要否を判断しなければならない。従って、サービスアプリケーションの増加に伴い、開発効率が悪化する。
本発明は、上述の問題に鑑み、複数の状態情報に基づいて、情報をフレキシブルに提供する技術を提供することを目的とする。
【０００８】
また本発明は、複数の状態情報に基づいて情報の提供を行うサービスアプリケーションの構造を、簡易にすることを目的とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明1は、複数の対象の状態を管理する状態管理装置を提供する。この状態管理装置は、下記の手段を有している。
・前記対象と対象の状態情報とを対応づけて記憶する状態記憶手段、
・いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新手段、
・複数の状態情報に基づく複合通知条件を記憶する条件記憶手段、
・前記更新手段による状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定手段。
【００１０】
本発明2は、発明1において、前記状態記憶手段が記憶する状態情報の一部または全部を表示し、複数の状態情報の選択を受け付ける選択画面を生成する選択画面生成手段をさらに有する状態管理装置を提供する。
本発明3は、複数の対象の状態を管理するコンピュータ端末で動作する状態管理プログラムを提供する。このプログラムは、下記の手段として前記コンピュータ端末を機能させる。
・前記対象と対象の状態情報とを対応づけて記憶する状態記憶手段、
・いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新手段、
・複数の状態情報に基づく複合通知条件を記憶する条件記憶手段、
・前記更新手段による状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定手段。
【００１１】
本発明4は、複数の対象の状態を管理する状態管理プログラムを記録した、コンピュータ読み取り可能な記録媒体を提供する。この記録媒体に記録されたプログラムは、下記のステップを実行する。
・前記対象と対象の状態情報とを対応づけて記憶する状態記憶ステップ、
・いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新ステップ、
・複数の状態情報に基づく複合通知条件を記憶する条件記憶ステップ、
・前記更新ステップでの状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定ステップ。
【００１２】
発明5は、複数の対象の状態を管理する状態管理方法を提供する。この方法は、以下のステップを含む。
・前記対象と対象の状態情報とを対応づけて記憶する状態記憶ステップ、
・いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新ステップ、
・複数の状態情報に基づく複合通知条件を記憶する条件記憶ステップ、
・前記更新ステップでの状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定ステップ。
【発明の効果】
【００１３】
本発明を用いれば、複数の状態情報に基づく判定を状態管理装置が行うので、サービスアプリケーションを簡素化することができる。これにより、柔軟で複雑な状態情報の管理を行うことができる。
【発明を実施するための最良の形態】
【００１４】
＜発明の概要＞
本発明の状態管理システムにおける状態管理装置は、複数の状態情報に基づいてサービスを実行するか否かの判断を行う。例えば、家族の構成メンバーそれぞれの状態情報に基づいて、家族全員が出かけているか否かを判断する。さらに、状態管理装置は、家族全員が出かけている場合にエアコンの電源がオンであるか否かを判断し、「Ｙｅｓ」と判断するとエアコンの電源をオフにするよう、エアコンに通知する。
【００１５】
このように、状態管理装置は、人や機器など複数の対象の状態情報に基づいて、様々なサービスや制御を行うための判断を行う。その結果、サービスアプリケーションの実装を簡素化し、開発効率を高めるとともに、フレキシブルなサービスの実現を容易にすることができる。
＜第１実施形態＞
［全体構成］
図１は、第1実施形態にかかる状態管理システムの全体構成図である。このシステムは、状態管理装置１、状態更新装置２及びサービスアプリケーション端末３ａ，３ｂが、インターネットやイントラネットなどで接続されることにより構成されている。図中、状態更新装置２を１つしか示していないが、これは複数あってもよい。同様に、サービスアプリケーション端末３は、１つでも複数でもよい。
【００１６】
状態管理装置１は、状態情報を管理し、所定のサービスアプリケーション端末３に通知する。状態管理装置１の構成及び機能については、詳細を後述する。
状態更新装置２は、少なくとも、状態変化検出部２２と状態情報更新要求部２１とを有する。状態変化検出部２２は、状態更新装置２を操作するユーザの状態情報の変化を検出する。状態情報更新要求部２１は、更新された状態情報を、状態管理装置１に通知する。
【００１７】
サービスアプリケーション端末３は、サービスアプリケーションが動作するコンピュータ端末である。サービスアプリケーションは、機器を制御するマイコン上で動作していてもよい。サービスアプリケーションは、少なくとも通知受信部３１と、機器制御部３２と、を有している。通知受信部３１は、状態管理装置１から所定の状態情報の通知を受信する。機器制御部３２は、受信した通知に基づいて、所定の処理を実行する。例えば、機器制御部３２は、エアコンの電源をオフにしたり、玄関の電子錠をロックしたりする。機器制御部３２が行う処理は、特に限定されず、サービスアプリケーションの動作環境により適宜設計される。サービスアプリケーションの開発途中では、サービスアプリケーション端末３は、サービスアプリケーションを開発する開発者が操作するコンピュータ端末である。
【００１８】
なお、状態管理装置１と状態更新装置２とは、同一のコンピュータ端末上にあってもよい。同様に、状態管理装置１とサービスアプリケーション端末３、状態更新装置２とサービスアプリケーション端末３とが、同一のコンピュータ端末上にあってもよい。
［状態管理装置］
（１）全体構成
状態管理装置１は、以下の構成要素（ａ）〜（ｅ）を含む。
【００１９】
（ａ）管理データベース１１：管理データベース１１は、状態情報管理テーブル１１１及び複合通知条件管理テーブル１１２を記憶している。状態情報管理テーブル１１１は、所定の対象と、その対象の状態の状態値と、を管理する。複合通知条件管理テーブル１１２は、複合通知条件を表す条件式（以下、複合通知条件という）を記憶する。複合通知条件は、複数の状態の状態値についての条件を論理積や論理和で結合した条件式であり、複合状態を定義する。これらのテーブルについては、詳細を後述する。
【００２０】
（ｂ）複合通知条件受付部１２：複合通知条件を構成する対象の選択を、サービスアプリケーション端末３から受け付ける。また、複合通知条件の設定を、サービスアプリケーション端末３から受け付ける。さらに、複合通知条件を満足する状態（以下、複合状態という）のエントリを、状態情報管理テーブル１１１に生成し、複合状態の対象を状態情報管理テーブル１１１に登録する。
【００２１】
（ｃ）複合通知条件判定部１３：前記複合通知条件管理テーブル１１２に記憶されている複合通知条件が満たされているか否かを、いずれかの状態の状態値が更新されるたびに判断する。判断結果は、"TRUE"または"FALSE"のいずれかの値で表される。言い換えれば、複合状態の状態値は、"TRUE"または"FALSE"で表される。複合状態の状態値は、状態情報更新受付部１４を介し、状態情報管理テーブル１１１に登録される。
【００２２】
（ｄ）状態情報更新受付部１４：状態更新装置２から新たな状態値を受信し、状態情報管理テーブル１１１を更新する。また、複合通知条件判定部１３から複合状態の状態値を受け付け、状態情報管理テーブル１１１に登録する。
（ｅ）状態情報通知部１５：サービスアプリケーションに対し、複合状態の状態値を通知する。
【００２３】
（２）管理データベース
（２−１）状態情報管理テーブル
図２は、状態情報管理テーブル１１１に記憶されている状態情報の概念説明図である。状態情報は、個々の対象それぞれの状態情報と、複合状態の状態情報と、を管理する。複合状態は、複合通知条件により定められた状態の状態値の組み合わせにより決まる。
【００２４】
この例では、状態情報は、状態情報ＩＤ、状態種別、状態名及び状態値を、１レコードに含んでいる。「状態情報ＩＤ」は、状態情報を特定する識別子である。「状態種別」は、状態情報の対象を表す。この例では、対象は、父、母、子供、自宅、機器などである。「状態名」は、状態値の意味を示す。「状態値」は、状態名で表される状態の値である。
この図では、状態情報ＩＤ「Ｄ００１」、状態情報「家族」、状態名「全員が外出」、状態値「ＦＡＬＳＥ」が、複合状態に相当する。この複合状態は、父、母、子供及び機器の状態値の組み合わせにより定義される（後述する図３参照）。
【００２５】
（２−２）複合通知条件管理テーブル
図３は、複合通知条件管理テーブル１１２に記憶される複合通知条件の概念説明図である。この例では、複合通知条件管理テーブル１１２は、複合通知条件と、格納先状態情報ＩＤと、通知先サービスアプリケーションＩＤと、を1レコードに記憶している。
「複合通知条件」は、複合状態を定義する。複合通知条件は、状態情報管理テーブル１１１中の状態情報ＩＤを用い、複数の状態情報の組み合わせ及びその状態値の条件を記述する。「格納先状態情報ＩＤ」は、複合通知条件で定義される複合状態の識別子、すなわち状態情報ＩＤである。状態情報ＩＤが全ての複合状態に割り振られるとは限らない。状態情報ＩＤが割り振られた複合状態は、状態情報管理テーブル１１１に登録される。「通知先サービスアプリケーションＩＤ」は、複合状態の通知先を定義する。通知先サービスアプリケーションは、ＵＲＬ(Uniform Resource Locator)、ネットワーク4のアドレスやポート番号、プログラムの関数名などを用いて記述される。通知先サービスアプリケーションＩＤが全ての複合状態に必ず定義されるとは限らない。
【００２６】
例えば、図３中の複合通知条件「A003>100 and B003>100 and C003>100」は、父、母及び子供の自宅からの距離が全て１００ｍを超えた場合を定義している。すなわち、家族全員が留守の場合を定義している。この複合状態には、状態情報ＩＤ「Ｄ００１」が割り振られているので、状態情報管理テーブル１１１に登録され、その値の変化が管理される。
また、図３中の複合通知条件「D001=TRUE and Y001=TRUE」は、「父、母及び子供の自宅からの距離が全て１００ｍを超えた場合」かつ「エアコン電源がオンの場合」を定義している。つまり、家族全員が留守であるのに、エアコンがオンになっている場合を定義している。この複合状態は、サービスアプリケーション「Service-A」に通知される。この通知を受けたサービスアプリケーション「Service-A」は、例えばエアコンの電源をオフにするなどの制御を行う。
【００２７】
（３）機能
次に、状態管理装置１が有する機能について、複合通知条件の設定と、複合状態の更新と、状態情報の管理と、に大別して、より詳細に説明する。
（３−１）複合通知条件の設定
図４は、複合通知条件を構成する状態情報の選択画面の一例を示す説明図である。複合通知条件受付部１２は、サービスアプリケーション端末３からの複合通知条件の設定を受け付ける。まず、複合通知条件受付部１２は、状態情報の選択画面をサービスアプリケーション端末３に提供する。この選択画面は、複合通知条件を構成する複数の状態の選択を受け付ける。図４（Ａ）では、父、母及び子供それぞれの「自宅からの距離（ｍ）」と、機器の状態の「エアコン電源」とが、選択されている。
【００２８】
図4（Ｂ）は、複合通知条件により定義される複合状態が、状態情報管理テーブル１１１に登録された後の選択画面である。選択画面には、複合状態の状態種別「家族の状態」と、その状態名「全員が外出」とが表示されている。つまり、複合状態の状態情報に基づいて複合通知条件を設定することで、さらに別の複合状態を生成することができる。
好ましくは、複合通知条件受付部１２は、状態種別毎にグループ化された状態名を表示する選択画面を生成する。言い換えれば、状態情報の所有者である対象毎に状態情報を表示する。サービスアプリケーションの開発者にとって、記憶されている状態情報の分類を把握しやすくなり、複合通知条件を構成する状態情報の選択が容易となる。
【００２９】
さらに好ましくは、選択画面において、状態種別毎にツリー構造で状態名が表示される。各状態種別、すなわち状態情報の所有者である対象をルートとするツリー構造で状態名を表示することにより、状態情報の構造が視覚的に容易に把握できるようになる。
図５は、複合通知条件の設定画面の一例を示す説明図である。複合通知条件受付部１２は、複合通知条件の設定画面をサービスアプリケーション端末３に提供することができる。この設定画面は、選択された状態情報の状態値についての条件の設定と、各条件の結合の仕方の設定と、を受け付ける。この例では、父、母及び子供それぞれの「自宅からの距離（ｍ）」が１００より大、機器の状態の「エアコン電源」がオンに設定されている。各条件は、全て論理積で結合されることが設定されている。さらに設定画面は、複合状態の状態名の設定を受け付けることができる。この例では、状態名として「全員が外出」が設定されている。設定画面は、複合状態の通知先サービスアプリケーションの設定を受け付けることもできる。この例では、「Service-A」が通知先として設定されている。
【００３０】
さらに複合通知条件受付部１２は、複合通知条件管理テーブル１１２を参照し、設定された複合通知条件の全部または一部が、すでに登録されている複合通知条件と一致するか否かを判断することができる。この判断は、ある程度の曖昧さを許容する公知の判断手法を用いてもよい。
図６は、重複判断を確認するための確認画面の一例である。複合通知条件受付部１２は、複合通知条件の重複判断において曖昧さを許容する判断手法を用いる場合、サービスアプリケーション端末３に確認画面を提示することが好ましい。この確認画面は、重複する複合通知条件を利用するか否かを、サービスアプリケーションの開発者に問い合わせる。重複判断において同一と判断された複合通知条件であっても、アプリケーションの開発者からみれば異なる場合が考えられるからである。
【００３１】
この確認画面で「ＯＫ」が選択されると、複合通知条件受付部１２は、重複する複合通知条件に対し、状態情報ＩＤを割り振る。複合通知条件受付部１２は、状態情報ＩＤが割り振られた複合通知条件で定義される複合状態のための新たなエントリを、状態情報管理テーブル１１１に作成し、状態情報を登録する。状態情報に含まれる「状態名」の値は、前記設定画面から取得可能である。また「状態種別」の値は、この例では「家族」に固定されている。前記図3の状態情報管理テーブル１１１において、状態情報ＩＤ「Ｄ００１」で特定される状態情報は、このようにして登録された複合状態の状態情報である。
【００３２】
さらに、複合通知条件受付部１２は、新たに設定する複合通知条件のうち重複する部分については、その状態情報ＩＤを用いた複合通知条件の記述を、複合通知条件管理テーブル１１２に登録する。例えば、前記図３の複合通知条件管理テーブル１１２において、複合通知条件「A003>100 and B003>100 and C003>100」がすでに複合通知条件として登録されている状態で、図５に示す設定が入力された場合を考える。この場合、複合通知条件「A003>100 and B003>100 and C003>100」はすでに登録されている複合通知条件と重複している。そこで、すでに登録されている複合通知条件「A003>100 and B003>100 and C003>100」に対し、状態情報ＩＤ「Ｄ００１」が割り振られる。さらに、新たな複合通知条件は、状態情報ＩＤ「Ｄ００１」を用いて、「D001=TRUE and Y001=TRUE」と記述される。
【００３３】
なお、記憶されている複合通知条件の一部と新たに設定された複合通知条件とが重複する場合、複合通知条件受付部１２は、重複部分について状態情報ＩＤを割り振り、記憶されている複合通知条件を、その状態情報ＩＤを用いて記述し直すことが好ましい。
このように、重複する複合通知条件については、重複した記述を防止することにより、同一の判断を状態管理装置１が繰り返さずに済み、状態管理装置１の判断負担を軽減することができる。
【００３４】
（３−２）複合状態の更新と通知
複合通知条件判定部１３は、いずれかの状態の状態値の更新により状態情報管理テーブル１１１が更新されると、複合状態を更新するか否かを判断する。より詳しくは、複合通知条件判定部１３は、更新された状態情報の状態情報ＩＤを含む複合通知条件を、複合通知条件管理テーブル１１２から検索する。さらに、複合通知条件判定部１３は、検索でヒットした複合通知条件により定義される複合状態の状態値を判定する。判定した状態値のうち、状態情報ＩＤが割り当てられている複合状態の状態値は、状態情報管理テーブル１１１に登録される。また、判定した状態値のうち、通知先サービスアプリケーションＩＤが設定されている複合状態の状態値は、状態情報通知部１５によりサービスアプリケーションに通知される。
【００３５】
この通知は、例えばSOAP（Simple Object Access Protocol）を用いてサービスアプリケーション端末３に対してメッセージ送信することができる。
（３−３）状態情報の管理
状態情報更新受付部１４は、複合状態以外の状態情報、すなわち各対象の個別の状態情報の更新を受け付け、状態情報管理テーブル１１１を更新する。また、状態情報更新受付部１４は、状態情報ＩＤが割り当てられている複合状態の状態値の更新要求を、複合通知条件判定部１３から受け付け、状態情報管理テーブル１１１を更新する。
【００３６】
［処理の流れ］
（１）状態管理装置
図７は、状態管理装置１が行う状態管理処理の流れの一例を示すフローチャートである。
ステップＳ１：状態情報更新受付部１４は、任意の状態更新装置２から新たな状態情報の通知、すなわち状態情報更新要求を待機する。これを受信すると、ステップＳ2に移行する。
【００３７】
ステップＳ２：状態情報更新受付部１４は、受信した状態情報更新要求に基づいて、状態情報管理テーブル１１１を更新する。
ステップＳ３〜Ｓ４：複合通知条件判定部１３は、更新された状態情報を含む複合通知条件を、複合通知条件管理テーブル１１２から検索する（Ｓ３）。そのような複合通知条件が存在する場合、ステップＳ５に移行する（Ｓ４）。そのような複合通知条件が存在しない場合、前記ステップＳ1に戻り、状態情報更新要求を待機する。
【００３８】
ステップＳ５：複合通知条件判定部１３は、ステップＳ４でヒットした複合通知条件に含まれる状態情報の状態値を、状態情報管理テーブル１１１から取得する。
ステップＳ６：複合通知条件判定部１３は、取得した状態情報に基づいて、複合通知条件が満たされるか否かを、ステップＳ４でヒットした複合通知条件のそれぞれについて判定する。言い換えれば、複合通知条件判定部１３は、複合通知条件で表される複合状態の状態値を判定する。判定結果は、"TRUE"または"FALSE"のいずれかの値で表され、判定結果登録部に渡される。
【００３９】
ステップＳ７〜Ｓ８：複合通知条件判定部１３は、ステップＳ６で判定した各複合通知条件に、格納先状態情報ＩＤが指定されているか否かを判断する（Ｓ７）。指定されていれば、その状態情報ＩＤで特定される状態情報の状態値は、ステップＳ６で判定した値で上書きされる（Ｓ８）。具体的には、複合通知条件判定部１３は、状態情報更新受付部１４に対し、状態情報ＩＤ及び状態値を渡し、状態情報更新要求を発行することにより、状態値の上書きを行う。複合通知条件に対して格納先状態情報ＩＤが指定されていなければ（Ｓ７）、ステップＳ９に移行する。
【００４０】
ステップＳ９〜Ｓ１１：複合通知条件判定部１３は、ステップＳ４でヒットした各複合通知条件に、通知先サービスアプリケーションＩＤが指定されているか否かを判断する。指定されていれば、その複合通知条件が満足されているか否かをさらに判断する（Ｓ１０）。満足されている場合、指定されているサービスアプリケーションに対し、複合通知条件が満足されたことを、通知する（Ｓ１１）。ステップＳ４でヒットした各複合通知条件に通知先サービスアプリケーションＩＤが指定されていないか、またはその複合通知条件が満足されていない場合は、再びステップＳ１に戻り、前述の処理を繰り返す。
【００４１】
以上の処理により、状態管理装置１は、複数の状態情報を組み合わせた複合状態を管理できるようになる。その結果、複合状態の状態値の変化に応じて、別の情報を提供したり、機器を制御するなどのサービスを提供することができる。しかも、状態管理装置１における複合状態の判定では、重複する判断の発生が防止されているので、状態管理装置１の負担を軽減することができる。状態管理装置１が管理する状態情報を自由に組み合わせて複合状態を生成し、その状態値を利用できるので、柔軟な状態情報の管理とその利用による新たなサービスの提供が可能となる。
【００４２】
（２）状態更新装置
図８は、状態更新装置２が行う処理の流れの一例を示すフローチャートである。状態更新装置２では、ユーザ状態の変化を監視しており（Ｓ２１）、ユーザ状態が変化すると、新たな状態情報を、状態管理装置１に送信する（状態情報更新要求）（Ｓ２２）。
（３）サービスアプリケーション端末
図９は、サービスアプリケーション端末３が行う処理の流れの一例を示すフローチャートである。サービスアプリケーション端末３は、状態管理装置１からの状態情報の通知を待機しており（Ｓ３１）、これを受信すると、状態情報に基づいて処理を行う。例えば、エアコンの制御を行うサービスアプリケーションであれば、状態管理装置１から状態情報の状態値"TRUE"を受信すると、エアコンの電源をオフにするよう制御する。
【００４３】
［効果］
本発明を用いれば、複数の状態情報に基づく判定を状態管理装置１が行うので、サービスアプリケーションを簡素化することができる。これにより、状態情報を組み合わせて多様な状態情報を生成したり、生成された状態情報の更新を行うなど、柔軟で複雑な状態情報の管理を行うことができる。
【００４４】
また、状態情報に関する判定ロジックを、複数のサービスアプリケーションが共有することができ、サービスアプリケーションの開発を容易にすることができる。
複合状態の状態値に基づいて、新たな複合状態を生成することにより、同一の判定を状態管理装置１が繰り返すことを防止し、状態管理装置１の判定ロジックの効率化を高めることができる。
【００４５】
＜第2実施形態＞
図１０は、第２実施形態の状態管理システムの全体構成図である。この状態管理システムは、前記第１実施形態の状態管理システムに、状態情報履歴管理テーブル１１３をさらに加えた構成を有している。この実施形態では、状態管理装置１による複合通知条件の判定処理を、高速化することができる。
【００４６】
図１１は、状態情報履歴管理テーブル１１３の概念説明図である。状態情報履歴管理テーブル１１３は、各状態値の更新履歴である履歴情報を記録している。この例では、状態情報が１０分間隔で更新される場合の１日分の履歴情報が、状態情報履歴管理テーブル１１３に記録されている。これとは異なり、状態情報が変化するたびに新たな状態値をこのテーブル１１３に記録することもできる。また、状態値の変化幅が所定値を超える毎に、新たな状態値をこのテーブル１１３に記録することもできる。さらに、更新履歴をリセットする時間間隔、言い換えれば履歴記録時間は１日２４時間に限定されない。状態情報履歴管理テーブル１１３への履歴情報の書き込みやこのテーブル１１３のリセットは、状態情報更新受付部１４が行う。
【００４７】
図１１では、履歴情報は、「状態情報ＩＤ」、状態値の「更新日時」及び更新された「状態値」を、１レコードに含んでいる。なお、この例では、各状態種別の状態値のうち、状態名「自宅からの距離（ｍ）」の状態値に関する履歴情報を示している。ただし、状態情報履歴管理テーブル１１３には、他の状態名の状態値が蓄積されていてもよい。
本実施形態では、複合通知条件受付部１２は、新たに設定された複合通知条件を構成する各条件を、各条件を満たす確率に応じて並べ替える。これにより、複合通知条件判定部１３は、複合通知条件が満たされていないことを、より早く検出することができる。各条件を満たす確率は、状態情報履歴管理テーブル１１３に基づいて算出される。
【００４８】
説明を容易にするために、図３に示す複合通知条件管理テーブル１１２を用いて説明する。図３の複合通知条件「A003>100 and B003>100 and C003>100」は、3つの条件を論理積で結合することで形成される。この3つの条件の判定順序を、条件を満たす確率の低い順序で行えば、複合通知条件を満たさないことをより早く検出することができる。各条件を満たす確率は、次のように求められる。
【００４９】
まず、複合通知条件受付部１２は、各状態値の変化から、複合通知条件を構成する各条件式が満たされている時間の長さと、満たされていない時間の長さと、を求める。図１１から、「A003>100」、「B003>100」、「C003>100」を満たす時間及び満たさない時間のそれぞれの長さは、次のように求められる。
父：2005/2/21 00:00:00〜09:00:00の９時間：満たさない、
2005/2/21 09:00:00〜19:00の１０時間：満たす、
2005/2/21 19:00:00〜24:00:00の５時間：満たさない、
母：2005/2/21 00:00:00〜15:00の１５時間：満たさない、
2005/2/21 15:00:00〜16:00の１時間：満たす、
2005/2/21 16:00:00〜24:00:00の８時間：満たす、
子供：2005/2/21 00:00:00〜09:00:00の９時間：満たさない、
2005/2/21 09:00:00〜17:00の８時間：満たす、
2005/2/21 17:00:00〜24:00:00の７時間：満たさない。
【００５０】
次に、複合通知条件判定部１３は、複合通知条件を構成する各条件式が満たされる確率を演算する。例えば、父の「自宅からの距離（ｍ）」が１００ｍを超えている確率Ｆは、次のように演算される。
確率Ｆ＝（条件式「A003>100」を満たす延べ時間）×100（％）／（履歴記録時間）
＝10（時間）／24（時間）
＝41.67（％）
同様に、母及び子供の「自宅からの距離（ｍ）」が１００ｍを超えている確率M,Ｃは、それぞれ次のように演算される。
【００５１】
確率Ｍ＝（条件式「B003>100」を満たす延べ時間）×100（％）／（履歴記録時間）
＝1（時間）／24（時間）
＝4.17（％）
確率Ｃ＝（条件式「C003>100」を満たす延べ時間）×100（％）／（履歴記録時間）
＝8（時間）／24（時間）
＝33.3（％）
複合通知条件受付部１２は、このようにして求めた確率に基づいて、条件を満たす確率が低い順序で判定するよう複合通知条件を最適化する。その結果、図3の複合通知条件「A003>100 and B003>100 and C003>100」は、「B003>100 and C003>100 and A003 >100」に更新される。
【００５２】
上述の例は、複数の条件式を論理積で結合した複合通知条件の場合を示している。複数の条件式が論理和で結合されている複合通知条件の場合、各条件式を満たす確率が高い順に、複合通知条件判定部１３は複合通知条件を並べ替える。例えば、前記図３の複合通知条件「D001=TRUE and Y001=TRUE」は、条件式「D001=TRUE」と「Y001=TRUE」とが論理和で結合されて構成されている。複合通知条件判定部１３は、この複合通知条件が設定されると、各条件式が満たされる確率を演算し、満たされる確率が高い順に条件式を並べ替える。これにより、複合通知条件を満足することを、より早く検出することができる。
【００５３】
なお、条件式「D001=TRUE」を満たす確率Ｄは、複合状態の状態情報ＩＤ「Ｄ００１」に対応する複合通知条件を満たす時間の長さと、満たさない時間の長さと、に基づいて求められる。図１１の状態情報履歴管理テーブル１１３に基づけば、下記の通りである。
「Ｄ００１」：2005/2/21 00:00:00〜15:00の１５時間：ＦＡＬＳＥ、
2005/2/21 15:00:00〜16:00の１時間：ＴＲＵＥ、
2005/2/21 16:00:00〜24:00:00の８時間：ＦＡＬＳＥ、
確率Ｄ＝（条件式「A003>100 and B003>100 and C003>100」を満たす延べ時間）×100（％）／（履歴記録時間）
＝1（時間）／24（時間）
＝4.17（％）
複合通知条件に論理積と論理和とが含まれている場合も、上述の考え方の組み合わせにより、各条件式の記述順序を最適化することができる。
【００５４】
以上のようにして、複合通知条件を構成する各条件式の順序を最適化することにより、複合通知条件の判断に要する時間を短縮し、状態管理装置１のＣＰＵの負荷及び処理を軽減することができる。
＜その他の実施形態＞
（Ａ）上述の例では、本発明を家庭内ネットワーク4に適用しているが、本発明はこれに限定されない。例えば、車載機、携帯端末、ロボットなどにも本発明を適用することができる。本発明の状態管理システムを車両に搭載すれば、例えば車両の走行速度、路面の滑りやすさに基づいて、速度警告を発するなどのサービスを提供することができる。
【００５５】
また、本発明の状態管理システムを、ＧＰＳ付きの携帯電話やＰＤＡなどの携帯端末に適用すれば、例えば現在地と最寄り駅との距離、列車遅延状態の情報に基づいて、列車の遅延状況を配信するなどのサービスを提供することができる。
さらに、本発明の状態管理システムをロボットに適用すれば、ロボットに取り付けた各種センサからの情報に基づいた自律制御型ロボットのサービスを提供することができる。
【００５６】
（Ｂ）前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕｅ−ｒａｙ  Ｄｉｓｃ）、半導体メモリを挙げることができる。
【００５７】
前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
＜付記＞
（付記１）
複数の対象の状態を管理する状態管理装置であって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶手段と、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新手段と、
複数の状態情報に基づく複合通知条件を記憶する条件記憶手段と、
前記更新手段による状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定手段と、
を有する状態管理装置。
【００５８】
対象とは、ユーザや機器、物体など、状態を持ちうる生物・無生物であればよく、特に限定されない。1つの対象は複数の状態を持つことができる。複合通知条件とは、複数の状態値の組み合わせであり、複合状態を定義する。例えば、父・母・子供それぞれの「自宅からの距離」という状態の状態値が１００ｍ以上という条件を組み合わせることにより、「家族全員が留守」という複合状態を定義することができる。
【００５９】
例えば、父の「自宅からの距離」が更新された場合、「家族全員が留守」という複合状態を記述する複合通知条件が満足されるか否かを判定する。これにより、家族全員が留守であるにもかかわらずエアコンの電源がオンになっていれば、これをオフにするようエアコンの制御プログラムによりエアコンを制御することができる。同様に、提供したいサービスに必要な状態を、複数の対象の状態値の組み合わせから判定することにより、多様かつ柔軟なサービスが提供可能となる。
【００６０】
（付記２）
前記状態記憶手段が記憶する状態情報の一部または全部を表示し、複数の状態情報の選択を受け付ける選択画面を生成する選択画面生成手段をさらに有する、付記1に記載の状態管理装置。
選択画面には、記憶されている状態を特定する識別子、例えば状態名が表示される。選択画面生成手段は、状態管理装置に接続されているモニタに選択画面を表示してもよいし、状態管理装置とネットワークを介して接続されている別のコンピュータ端末に、選択画面を提供してもよい。
【００６１】
（付記３）
前記選択画面生成手段は、前記対象毎にグループ化された状態情報を表示する選択画面を生成する、付記２に記載の状態管理装置。
対象毎に状態情報を表示することにより、複合通知条件を構成する状態情報の選択を容易にすることができる。
【００６２】
（付記４）
前記選択画面生成手段は、前記対象毎にツリー構造で状態情報を表示する選択画面を生成する、付記3に記載の状態管理装置。
各対象をルートとするツリー構造で状態情報を表示することにより、状態情報の構造が視覚的に容易に把握できるようになる。
【００６３】
（付記５）
前記選択画面生成手段で選択を受け付けた複数の状態情報に基づいて、複合通知条件の設定を受け付ける設定画面を生成する設定画面生成手段をさらに有し、
前記条件記憶手段は、前記設定画面生成手段が受け付けた複合通知条件をさらに記憶する、付記2に記載の状態管理装置。
【００６４】
例えば、設定画面は、選択された状態情報の組み合わせ方を受け付ける。組み合わせ方は、各状態情報の状態値についての条件を論理積や論理和で結合することにより、記述される。また、設定画面は、選択された状態情報のそれぞれに対し、状態情報で定義される状態値の条件の設定を受け付けてもよい。
設定画面は、状態管理装置に接続されたモニタに表示されてもよいし、状態管理装置とネットワークで接続されたコンピュータ端末に提供されてもよい。
【００６５】
（付記６）
前記設定画面生成手段が受け付けた複合通知条件が、前記条件記憶手段が記憶している複合通知条件と重複するか否かを判断する重複判断手段をさらに有し、
前記状態記憶手段は、重複する複合通知条件により定義される複合状態の状態情報をさらに記憶し、
前記条件記憶手段は、前記設定画面生成手段が受け付けた複合通知条件を、前記重複する複合通知条件により定義される複合状態の状態情報に基づく複合通知条件として記憶する、付記5に記載の状態管理装置。
【００６６】
前述の例を用いて説明する。複合通知条件として、父・母・子供それぞれの家からの距離が１００ｍ以上であること（複合通知条件1）が、すでに条件記憶手段に記憶されているとする。新たに複合通知条件として、複合通知条件1かつエアコンの電源がオンであることが、設定されたとする（複合通知条件2）。複合通知条件1は重複しているので、複合通知条件1により定義される複合状態の状態情報は、状態記憶手段に記憶される。さらに、複合通知条件2は、この複合状態の状態情報とエアコンの状態情報とに基づいて記述される。
【００６７】
こうすることで、状態管理装置は、同じ条件式を繰り返し判断する必要がなくなるので、状態管理装置が複合通知条件を判断する負担が軽減される。
（付記７）
前記重複判断手段は、前記判断結果を確認する確認画面を生成する、付記6に記載の状態管理装置。
【００６８】
前記複合通知条件の重複判断において曖昧さを許す場合、確認画面で判断結果を確認することが好ましい。重複判断手段が実質的に同一の複合通知条件と判断しても、サービスアプリケーションの開発者にとっては異なる複合通知条件である可能性があるからである。
（付記８）
前記状態記憶手段は、前記複合状態を定義する複合通知条件についての前記判定手段の判定結果を、前記複合状態の状態情報の一部として記憶する、付記6に記載の状態管理装置。
【００６９】
複合通知条件が満足されるか否かは、例えば「TRUE」または「FALSE」で表される。これは、複合状態の状態値と等しい。これを記憶・更新することにより、複合通知条件で定義された複合状態を、個別の対象の状態情報と同様に管理することができる。すなわち、個別の状態情報の変化に連動して変化する複合状態をも、個別の対象の状態情報と同様に管理することができる。
【００７０】
（付記９）
前記状態記憶手段は、前記状態情報の更新履歴をさらに記憶し、
前記複合通知条件は、複数の状態情報についての条件の論理積及び／または論理和を用いて記述されており、
前記条件記憶手段は、前記状態情報の更新履歴に基づいて、前記複合通知条件を構成する各条件が満足される確率が、論理積の場合は低い順に、論理和の場合は高い順に各条件を記述する、付記5に記載の状態管理装置。
【００７１】
判定手段は、複合通知条件を構成する各条件の先頭から順に、各条件が満たされるか否かを判定する。そのため、満足される確率が、論理積の場合は低い順に、また論理和の場合は高い順に判定することで、複合通知条件の判定処理をより早く行うことができる。
（付記１０）
複数の対象の状態を管理するコンピュータ端末で動作する状態管理プログラムであって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶手段、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新手段、
複数の状態情報に基づく複合通知条件を記憶する条件記憶手段、及び
前記更新手段による状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定手段、
として前記コンピュータ端末を機能させる状態管理プログラム。
【００７２】
この状態管理プログラムは、前記発明1の状態管理装置としてコンピュータ端末を機能させ、発明1と同様の作用効果を奏する。
なお、このプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕｅ−ｒａｙ  Ｄｉｓｃ）、半導体メモリを挙げることができる。
【００７３】
前記コンピュータプログラムは、前記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
（付記１１）
複数の対象の状態を管理する状態管理プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶ステップと、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新ステップと、
複数の状態情報に基づく複合通知条件を記憶する条件記憶ステップと、
前記更新ステップでの状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定ステップと、
を実行する状態管理プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【００７４】
この記録媒体は、発明1の状態管理装置が実行するプログラムを記録した記録媒体であり、発明1と同様の作用効果を奏する。
（付記１２）
複数の対象の状態を管理する状態管理方法であって、
前記対象と対象の状態情報とを対応づけて記憶する状態記憶ステップと、
いずれかの対象の状態情報の更新要求を受け付け、前記更新要求に基づいてその対象の状態情報を更新する更新ステップと、
複数の状態情報に基づく複合通知条件を記憶する条件記憶ステップと、
前記更新ステップでの状態情報の更新に応じ、更新された状態情報に基づく複合通知条件が満足されるか否かを判定する判定ステップと、
を有する状態管理方法。
【００７５】
この方法は、発明1の状態管理装置が実行する方法であり、発明1と同様の作用効果を奏する。
【産業上の利用可能性】
【００７６】
本発明は、状態情報を管理するシステムに適用し、管理及び利用可能な状態情報を多様化することができる。
【図面の簡単な説明】
【００７７】
【図１】第1実施形態にかかる状態管理システムの全体構成図
【図２】状態情報管理テーブルに記憶されている状態情報の概念説明図
【図３】複合通知条件管理テーブルに記憶される複合通知条件の概念説明図
【図４】複合通知条件を構成する状態情報の選択画面の一例を示す説明図（Ａ）複合状態が状態情報管理テーブルに登録される前の状態（Ｂ）複合状態が状態情報管理テーブルに登録された後の状態
【図５】複合通知条件の設定画面の一例を示す説明図
【図６】重複判断を確認するための確認画面の一例を示す説明図
【図７】状態管理装置が行う状態管理処理の流れの一例を示すフローチャート
【図８】状態更新装置が行う処理の流れの一例を示すフローチャート
【図９】サービスアプリケーション端末が行う処理の流れの一例を示すフローチャート
【図１０】第2実施形態にかかる状態管理システムの全体構成図
【図１１】第2実施形態の状態管理システムにおける状態情報履歴管理テーブルの概念説明図
【符号の説明】
【００７８】
１：状態管理装置
２：状態更新装置
３：サービスアプリケーション端末
【図１】
2006277326.tif 000003
【図２】
2006277326.tif 000004
【図３】
2006277326.tif 000005
【図４】
2006277326.tif 000006
【図５】
2006277326.tif 000007
【図６】
2006277326.tif 000008
【図７】
2006277326.tif 000009
【図８】
2006277326.tif 000010
【図９】
2006277326.tif 000011
【図１０】
2006277326.tif 000012
【図１１】
2006277326.tif 000013