図1は端末装置1のハードウェア構成の例を示す図、図2は端末装置1および周辺機器2などによって構成されるネットワークの例を示す図、図3は周辺機器2のハードウェア構成の例を示す図、図4は周辺機器2ごとの使用状況検知装置20eの例を示す図、図5は周辺機器2ごとの通知装置20fの例を示す図である。
端末装置1は、ユーザによる持ち運びが容易な携帯型の装置である。端末装置1は、図1に示すように、Central Processing Unit(CPU)10a、Random Access Memory(RAM)10b、Read Only Memory(ROM)10c、近接無線通信装置10d、広域無線通信装置10e、およびユーザインタフェース装置10fなどが備わっている。
ユーザは、端末装置1を携帯している。端末装置1として、携帯電話端末、PHS(Personal Handy-phone System)端末、またはノート型パソコンなどが用いられる。端末装置1には、それを使用するユーザを識別するためのユーザIDが設定されている。
図2に示すように、端末装置1は、赤外線通信網などの近傍通信網を介して端末装置1の近傍に存在する他の装置と通信を行う。さらに、端末装置1は、インターネットまたは携帯電話網などの広域通信網を介してサーバなどと通信を行う。
具体的には、図1に示す近接無線通信装置10dは、Bluetooth(商標)またはワイヤレスUSB(Universal Serial Bus)などの近距離通信の規格に基づいて、近傍に存在する他の装置を相手に通信を行う。一方、広域無線通信装置10eは、広域通信網を介して、インターネット上のサーバ3(3A、3B、3C、…)などを相手に通信を行う。
端末装置1の近傍に存在する他の装置として、様々なものが挙げられる。例えば、部屋の中にユーザが居る場合は、ソファ2A、テレビ2B、ナイフ2C、およびステレオセット2Dなどが存在し得る。以下、これらの装置を「周辺機器2」と総称する。各周辺機器2には、ユニークな機器ID(identification)が与えられている。
そのほか、近接無線通信装置10dは、近傍に存在する他の端末装置1とも通信を行う。以下、各端末装置1を、「端末装置1A」、「端末装置1B」、「端末装置1C」、…と区別して記載することがある。
サーバ3として、例えば、ニュースを提供するサイトを管理するサーバ3A、電子メールの中継を行うサーバ3B、および子どもの現在地を把握し親へ知らせるサービス(いわゆる子どもの見守りサービス)を提供するサーバ3Cなどが挙げられる。以下、サーバ3から提供されるニュース、電子メール、および子どもの現在地などの情報を「メッセージ」と総称する。
図1のユーザインタフェース装置10fは、ユーザと端末装置1とが情報をやり取りするための装置である。ユーザインタフェース装置10fとして、例えば、キーボード、マウス、液晶ディスプレイ、またはスピーカなどが用いられる。
RAM10bまたはROM10cには、第一の通知用プログラムが記憶されている。第一の通知用プログラムは、ユーザ宛てのメッセージが発生したことを、周辺機器2を介してユーザへ通知するためのものである。第一の通知用プログラムについては、後に説明する。CPU10aは、通知用プログラムを実行する。
周辺機器2は、図3に示すように、CPU20a、RAM20b、ROM20c、近接無線通信装置20d、使用状況検知装置20e、および通知装置20fなどが備わっている。
近接無線通信装置20dは、近接無線通信装置10dと同様に、BluetoothまたはワイヤレスUSBなどの近距離通信の規格に基づいて、近傍に存在する他の装置を相手に通信を行う。ただし、近接無線通信装置20dとして、近接無線通信装置10dとの通信が可能な近接無線通信装置、例えば、規格が近接無線通信装置10dと共通である近接無線通信装置が、用いられる。
使用状況検知装置20eは、ユーザによる周辺機器2の使用状況を検知する装置である。周辺機器2のタイプによって、使用状況検知装置20eとして様々な装置が用いられる。
例えば、ソファ2Aにおいては、図4(a)に示すように、使用状況検知装置20eとして、圧力センサが用いられる。圧力センサは、座面の裏側に設置されている。そして、圧力センサは、使用状況を示す情報として、所定の大きさ以上の圧力が掛かっているときは「オン」の信号を出力し、そうでないときは「オフ」の信号を出力する。圧力センサによってソファ2Aは、ユーザがソファ2Aに座っているか否か、つまりソファ2Aを使っているか否かを、検知することができる。
または、テレビ2Bにおいては、図4(b)に示すように、使用状況検知装置20eとして、電源装置、音量調整装置、およびチャンネル調整装置などが用いられる。テレビ2Bは、これらの装置によって、ユーザが電源のオンおよびオフを切り換えたり、音量を上げたり下げたり、チャンネルを変えたりする操作を検知することができる。また、一定の時間何も操作しなかったこと(以下、「無操作」と記載する。)を検知することもできる。そして、検知した内容を示す信号を、使用状況を示す情報として出力する。なお、無操作は、後述するように、端末装置1が検知するようにしてもよい。
または、ナイフ2Cにおいては、図4(c)に示すように、使用状況検知装置20eとして、温度センサが用いられる。温度センサは、柄に設置されている。そして、温度センサは、使用状況を示す情報として、所定の範囲の温度を検知すると「オン」の信号を出力し、そうでないときは「オフ」の信号を出力する。温度センサによってナイフ2Cは、ユーザがナイフ2Cを持っているか否か、つまりナイフ2Cを使っているか否かを、検知することができる。
または、ステレオセット2Dにおいては、図4(d)に示すように、テレビ2Bと同様に、使用状況検知装置20eとして、電源装置、音量調整装置、およびチャンネル調整装置などが用いられる。そして、操作の内容または無操作があったことを示す信号を、使用状況を示す情報として出力する。
図3に戻って、通知装置20fは、メッセージが発生したことをユーザへ通知するための装置である。周辺機器2のタイプによって、通知装置20fとして様々な装置が用いられる。
例えば、ソファ2Aにおいては、図5(a)に示すように、通知装置20fとしてバイブレータが用いられる。
または、テレビ2Bにおいては、図5(b)に示すように、通知装置20fとして音源装置およびスピーカが用いられる。または、液晶パネルが用いられる。
または、ナイフ2Cにおいては、図5(c)に示すように、通知装置20fとして音源装置およびスピーカが用いられる。
または、ステレオセット2Dにおいては、図5(d)に示すように、通知装置20fとして音源装置およびスピーカが用いられる。または、LED(Light Emitting Diode)が用いられる。
図3に戻って、RAM20bまたはROM20cには、第二の通知用プログラムが記憶されている。第二の通知用プログラムは、ユーザ宛てのメッセージが発生したことを、通知装置20fによってユーザへ通知するためのものである。第二の通知用プログラムについては、後に説明する。CPU20aは、通知用プログラムを実行する。
端末装置1、周辺機器2、および近傍無線通信網は、新着のメッセージの存在をユーザに対して通知するメッセージ存在通知システムSYの構成要素である。
図6は端末装置1の機能的構成の例を示す図、図7は周辺機器2の機能的構成の例を示す図である。
端末装置1のRAM10bまたはROM10c(図1参照)に記憶されている第一のプログラムは、図6に示すプロファイルデータ記憶部101、プロファイルデータ要求制御部102、使用状況データ記憶部103、使用状況データ管理部104、使用状況データ送信制御部105、周辺機器選出部106、および通知指令送信制御部107などを実現するためのプログラムである。
一方、周辺機器2のRAM10bまたはROM10c(図3参照)に記憶されている第二のプログラムは、図7に示すプロファイルデータ記憶部201、プロファイルデータ送信制御部202、操作データ生成部203、操作データ送信制御部204、およびメッセージ存在通知制御部205などを実現するためのプログラムである。
以下、図6に示す端末装置1の各部および図7に示す周辺機器2の各部について、順次説明する。
〔メッセージの存在の通知のための準備〕
図8はソファ2Aの行動操作評価データ51および係数データ52の例を示す図、図9はテレビ2Bの行動操作評価データ51および係数データ52の例を示す図、図10は装置属性データ53の例を示す図、図11は操作実績データ54の例を示す図、図12は使用状況データ記憶部103および使用状況データ61の例を示す図、図13は使用状況データ61の遷移の例を示す図である。
周辺機器2のプロファイルデータ記憶部201は、その周辺機器2自身のプロファイルデータとして、行動操作評価データ51、係数データ52、および装置属性データ53を記憶し管理する。
行動操作評価データ51は、ユーザの行動またはその周辺機器2の操作ごとの評価の度合いを示す評価値を示す。ユーザがその周辺機器2をこれからも使用し続けると考えられる行動および操作に対してはプラスの評価値が定められている。しかも、これからも使用し続けると考えられる蓋然性が高い行動および操作ほど高い評価値が定められている。一方、その周辺機器2の使用をそろそろ終えると考えられまたは既に終えたと考えられる行動および操作に対してはマイナスの評価値が定められている。しかも、そろそろ終えまたは既に終えたと考えられると考えられる蓋然性が高い行動および操作ほど低い評価値が定められている。そのほか、無操作に対しても、マイナスの評価値が定められている。
例えば、ソファ2Aのプロファイルデータ記憶部201には、ソファ2A自身の行動操作評価データ51として、図8(a)に示すような行動操作評価データが記憶されている。また、テレビ2Bのプロファイルデータ記憶部201には、テレビ2B自身の行動操作評価データ51として、図9(a)に示すような行動操作評価データが記憶されている。
係数データ52は、行動操作評価データ51に示す各評価値に対して、ユーザとその周辺機器2との距離に応じて重み付けを行うための係数である。
例えば、ソファ2Aのプロファイルデータ記憶部201には、ソファ2A自身の係数データ52として、図8(b)に示すような係数データが記憶されている。また、テレビ2Bのプロファイルデータ記憶部201には、テレビ2B自身の係数データ52として、図9(b)に示すような係数データが記憶されている。
装置属性データ53は、その周辺機器2の識別情報、機器ID、機器タイプ、および通知方法を示す。図10(a)〜(d)は、それぞれ、ソファ2A、テレビ2B、ナイフ2C、およびステレオセット2Dの装置属性データ53の例を示している。
「識別情報」は、他の装置と近傍無線通信を行う際に使用される、その周辺機器2自身を他の装置と区別するための識別子である。以下、識別情報としてBluetooth_IDが使用される場合を例に説明する。Bluetooth_IDは、グローバルなIDである。「機器タイプ」は、その周辺機器2のタイプである。「通知方法」は、メッセージの発生をその周辺機器2がユーザに対して通知する際に用いる方法である。なお、各端末装置1にも、端末装置1自身を他の装置と区別するためのBluetooth_IDが与えられている。
周辺機器2のプロファイルデータ送信制御部202は、プロファイルデータ記憶部201に記憶されている行動操作評価データ51、係数データ52、および装置属性データ53を次のように端末装置1へ送信する。
近接無線通信装置10dは、周囲に存在するBluetooth対応の機器を定期的に検索している。したがって、端末装置1を持ったユーザが周辺機器2へ近づき、その端末装置1の近接無線通信装置10dとその周辺機器2の近接無線通信装置20dとの距離が通信できる程になると、近接無線通信装置10dは、その周辺機器2を検知する。
すると、両近接無線通信装置10d、20dは互いのBluetooth_IDを通知し合う。さらに、プロファイルデータ要求制御部102は、プロファイルデータを要求するために、要求信号60がその周辺機器2へ送信されるように近接無線通信装置10dを制御する。
周辺機器2において、要求信号60が受信されると、プロファイルデータ送信制御部202は、プロファイルデータ記憶部201から行動操作評価データ51、係数データ52、および装置属性データ53を読み出し、これらのデータが端末装置1へ送信されるように近接無線通信装置20dを制御する。このようにして、行動操作評価データ51、係数データ52、および装置属性データ53が端末装置1へ送信される。なお、周辺機器2には、検知された端末装置1のBluetooth_IDが記憶される。そして、その後、その端末装置1が検知されなくなったら、その端末装置1のBluetooth_IDを削除する。
端末装置1において、近接無線通信装置10dが行動操作評価データ51、係数データ52、および装置属性データ53を受信すると、プロファイルデータ記憶部101は、これらのデータを、送信元である周辺機器2の機器IDおよびBluetooth_IDなどと対応付けて記憶する。
このようにして、端末装置1のプロファイルデータ記憶部101には、近傍の周辺機器2が検知されるごとに、それぞれの周辺機器2の行動操作評価データ51、係数データ52、および装置属性データ53が記憶される。
周辺機器2の操作データ生成部203は、使用状況検知装置20eによって使用状況(その周辺機器2に対する操作もしくは行動または無操作)が検知されるごとに、図11のような、検知された内容およびその周辺機器2の機器IDを示す操作実績データ54を生成する。機器IDの代わりにBluetooth_IDを用いてもよい。
操作データ送信制御部204は、操作データ生成部203によって操作実績データ54が生成されるごとに、各端末装置1へこの操作実績データ54が送信されるように近接無線通信装置20dを制御する。これにより、操作実績データ54が近傍の各端末装置1へ送信される。
端末装置1の使用状況データ記憶部103には、図12に示すように、使用状況データ61が記憶される。使用状況データ61は、使用状況データ管理部104によって次のように生成され、更新され、または削除される。
上述の通り、端末装置1が新たに周辺機器2を検知するごとに行動操作評価データ51、係数データ52、および装置属性データ53(図8、図9、および図10参照)が送信されてくる。また、ユーザが周辺機器2を操作しまたは無操作があった場合に、その周辺機器2から操作実績データ54が送信されてくる。
使用状況データ管理部104は、周辺機器2が検知されその周辺機器2から行動操作評価データ51、係数データ52、および装置属性データ53が送信されてくると、図13(a)のような、その周辺機器2の使用状況データ61を生成する。その使用状況データ61には、その周辺機器2のBluetooth_ID、機器ID、機器タイプ、状態、通知方法、ユーザID、および評価値などが示される。
「Bluetooth_ID」、「機器ID」、「機器タイプ」、および「通知方法」の項目の各データは、送信されてきた行動操作評価データ51、係数データ52、および装置属性データ53に基づいてエントリされる。「状態」は、その周辺機器2とのセッションの状況を示し、有効である場合は「active」であり無効である場合は「inactive」である。使用状況データ61はセッションが確立されたときに生成されるので、初期値として「active」がエントリされる。
「ユーザID」には、その周辺機器2を使用しているユーザのユーザIDがエントリされる。「評価値」は、「ユーザID」に示されるユーザIDを有するユーザによる、その周辺機器2の使用の程度に関する評価の値を示す。値が高いほど、その周辺機器2を使用している可能性が高い、と考えられる。
ただし、使用状況データ61を生成した直後は、図13(a)に示すように「ユーザID」および「評価値」は空の状態である。その後、使用状況データ管理部104は、その端末装置1に設定されているユーザIDを、その使用状況データ61の「ユーザID」にエントリする。
さらに、その後、その周辺機器2に対する操作が行われるなどすると、その周辺機器2から端末装置1へ操作実績データ54が送信されてくる。
すると、使用状況データ管理部104は、使用状況データ記憶部103に記憶されている使用状況データ61を次のように更新する。
その端末装置1自身に設定されているユーザIDおよびその操作実績データ54の送信元である周辺機器2のBluetooth_IDの両方を示す使用状況データ61を使用状況データ記憶部103から検索する。
検索の処理と並行してまたは前後して、使用状況データ管理部104は、その操作実績データ54の送信元である周辺機器2の行動操作評価データ51および係数データ52をプロファイルデータ記憶部101から検索する。その操作実績データ54の「使用状況」に示される使用状況を示すレコードを、検索した行動操作評価データ51の中から検索する。端末装置1自身とその周辺機器2との距離を検出する。この距離は、端末装置1自身がその周辺機器2から受信する電波の強度などに基づいて検出することができる。係数データ52の中から、検出した距離に対応する係数を検索する。そして、検索したレコードの「評価値変化」に示される値に、検索した係数を掛けた値を算出する。算出した値が、今回の使用状況の評価値とする。ただし、検索したレコードの「評価値変化」に示される値がマイナスである場合は、検索した係数を掛けた値を掛けずに、「評価値変化」に示される値をそのまま今回の使用状況の評価値としてもよい。
そして、使用状況データ管理部104は、今回の使用状況の評価値を、検索した使用状況データ61の「評価値」の値に加算する。ただし、まだ使用状況データ61の「評価値」に何も示されていない場合は、今回の使用状況の評価値をそのまま「評価値」に入力(エントリ)する。
ここで、ユーザIDが「user−001」でありかつ端末装置1Aを携帯するユーザが、機器IDが「sofa−001」であるソファ2Aを使用する場合を例に、図13を参照しながら、使用状況データ61の遷移について説明する。
端末装置1Aにおいて、近接無線通信装置10dがソファ2Aを検知しソファ2Aから行動操作評価データ51、係数データ52、および装置属性データ53を受信すると、使用状況データ管理部104は、図13(a)に示すような使用状況データ61を生成し使用状況データ記憶部103に記憶させる。
その後、使用状況データ管理部104は、このユーザのユーザIDを使用状況データ61の「ユーザID」にエントリする。ユーザがソファ2Aに腰掛けると、ソファ2Aの使用状況検知装置20eつまり圧力センサ(図3、図4参照)は、ユーザが座ったことを検知する。すると、ソファ2Aの操作データ生成部203(図7参照)は、ソファ2A自身の機器IDおよび「着座」という使用状況を示す操作実績データ54を生成する。操作データ送信制御部204は、その操作実績データ54を端末装置1Aへ送信する。
使用状況データ管理部104は、端末装置1A自身に設定されているユーザIDおよびソファ2AのBluetooth_IDの両方を示す使用状況データ61を使用状況データ記憶部103から検索する。
さらに、使用状況データ管理部104は、ソファ2Aの行動操作評価データ51(図8(a)参照)および係数データ52をプロファイルデータ記憶部101から検索する。さらに、使用状況データ管理部104は、その操作実績データ54の「使用状況」に示される使用状況つまり「着座」を示すレコードを、検索した行動操作評価データ51の中から検索する。
さらに、使用状況データ管理部104は、端末装置1自身とその周辺機器2との距離を検出する。以下、距離として「30cm」が検知されたものとして説明する。さらに、使用状況データ管理部104は、係数データ52の中から、検出した距離に対応する係数を検索する。
使用状況データ管理部104は、検索したレコードの「評価値変化」に示される値に、検索した係数を掛けた値を算出する。算出した値が、今回の使用状況の評価値とする。本例では、「評価値変化」の値が「+20」でありかつ着座の係数が「1」なので、「(+20)×1=(+20)」が今回の使用状況の評価値として求められる。
そして、使用状況データ管理部104は、端末装置1A自身に設定されているユーザIDおよびソファ2AのBluetooth_IDの両方を示す使用状況データ61に既に評価値がエントリされていれば、この評価値に、今回の使用状況の評価値を加算する。また、未だ使用状況データ61に評価値がエントリされていなければ、図13(b)のように、今回の使用状況の評価値を使用状況データ61の「評価値」にエントリする。
その後、着座したままの状態が30分間継続しかつ端末装置1Aとソファ2Aとの距離が50cm未満の状態が続くと、ソファ2Aは、「30分間不変」を使用状況として示す操作実績データ54を端末装置1Aへ送信する。使用状況データ管理部104は、その操作実績データ54およびソファ2Aの行動操作評価データ51および係数データ52に基づいて、使用状況データ61の「評価値」の値を図13(c)のように更新する。
さらにその後、ユーザが起立すると、ソファ2Aは、「起立」を使用状況として示す操作実績データ54を端末装置1Aへ送信する。使用状況データ管理部104は、その操作実績データ54およびソファ2Aの行動操作評価データ51および係数データ52に基づいて、使用状況データ61の「評価値」の値を図13(d)のように更新する。
ところで、上述した通り、端末装置1の近接無線通信装置10dは、周囲に存在するBluetooth対応の機器を定期的に検索している。したがって、近接無線通信装置10dは、周辺機器2だけでなく他の端末装置1をも検知することがある。
他の端末装置1が検知されると、使用状況データ送信制御部105は、端末装置1自身に設定されているユーザIDが示される使用状況データ61を使用状況データ記憶部103から読み出し、検知した他の端末装置1に対して送信する。他の端末装置1においても、同様の処理が行われる。つまり、互いの使用状況データ61がやり取りされる。
そして、使用状況データ管理部104は、他の端末装置1から送信されてきた使用状況データ61を使用状況データ記憶部103に記憶させる。
その後、使用状況データ送信制御部105は、使用状況データ61が更新されるごとに、他の端末装置1へ新たな使用状況データ61を送信する。
また、使用状況データ管理部104は、使用状況データ61が他の端末装置1から新たに送信されてきたら、その使用状況データ61に示されるBluetooth_IDおよびユーザIDをチェックする。使用状況データ記憶部103の中からそのBluetooth_IDおよびユーザIDを示す使用状況データ61を検索する。そして、使用状況データ管理部104は、そのような使用状況データ61が見つかったら使用状況データ記憶部103から削除し、新たに送信されてきた使用状況データ61を使用状況データ記憶部103に記憶させる。このようにして、周辺にいる他のユーザによる周辺機器2の使用の最新の評価値が得られる。
上述の通り、端末装置1において、周辺機器2が検知されると、検知された周辺機器2から行動操作評価データ51、係数データ52、および装置属性データ53が受信され、プロファイルデータ記憶部101に記憶される。また、他の端末装置1が検知されると、検知された他の周辺機器2から使用状況データ61が受信され、使用状況データ記憶部103に記憶される。
プロファイルデータ記憶部101に記憶されている行動操作評価データ51、係数データ52、および装置属性データ53は、端末装置1がこれらの送信元である周辺機器2を検知できなくなったら、削除される。同様に、使用状況データ記憶部103に記憶されている使用状況データ61は、端末装置1がその送信元である他の端末装置1を検知できなくなったら、削除される。または、使用状況データ61の「状態」が「inactive」に更新される。
例えば、端末装置1Aにおいて、ソファ2Aからの行動操作評価データ51、係数データ52、および装置属性データ53が受信されプロファイルデータ記憶部101に記憶された後、近接無線通信装置10dによってソファ2Aへpingコマンドを発信しても、応答がないことがある。この場合は、ソファ2Aの行動操作評価データ51、係数データ52、および装置属性データ53をプロファイルデータ記憶部101から削除する。
同様に、端末装置1Aにおいて、端末装置1Bからの使用状況データ61が受信され使用状況データ記憶部103に記憶された後、近接無線通信装置10dによって端末装置1Bへpingコマンドを発信しても、応答がないことがある。この場合は、端末装置1Bからの使用状況データ61を使用状況データ記憶部103から削除する。または、削除する代わりに、この使用状況データ61の「状態」の値を「inactive」に変更してもよい。
〔メッセージの存在の通知の処理〕
図14は通知指令データ62の例を示す図である。
サーバ3(図1参照)は、上述の通り、様々なメッセージ(情報)を端末装置1へ送信する。また、サーバ3は、メッセージの属性を付しておく。したがって、端末装置1は、メッセージを、そのメッセージの属性とともに受信する。
以下、端末装置1がサーバ3からメッセージを受信した場合の、その旨をユーザに対して通知する処理について、図6および図7などを参照しながら説明する。
端末装置1において、広域無線通信装置10eがメッセージを受信すると、周辺機器選出部106は、そのメッセージの存在をどの周辺機器2によってユーザに通知するのかを、次のように選出する。なお、以下、使用状況データ61を適宜選出するが、「状態」が「inactive」である使用状況データ61はすべて選出の対象から除外される。
そのメッセージの属性が「一般情報」を示す場合は、周辺機器選出部106は、使用状況データ記憶部103の中から、端末装置1に設定されているユーザIDを示す使用状況データ61のうちの、「評価値」に示される値が最も高いものを検索する。そして、周辺機器選出部106は、検索した使用状況データ61に示される機器IDを有する周辺機器2を選出する。
または、そのメッセージの属性が「親展情報」を示す場合は、周辺機器選出部106は、端末装置1に設定されているユーザIDを示す使用状況データ61しか使用状況データ記憶部103に記憶されていない周辺機器2に絞り込む。そして、周辺機器選出部106は、絞り込んだ周辺機器2のうち、「評価値」に示される値が最も高い使用状況データ61が使用状況データ記憶部103に記憶されている周辺機器2を選出する。
このように選出するのは、メッセージの送信先であるユーザ以外のユーザにメッセージの存在をなるべく気付かれないようにするためである。そこで、上述の通り、周辺機器選出部106は、メッセージの送信先であるユーザだけが使用していると考えられかつ最もよく利用していると考えられる周辺機器2を、選出する。この趣旨に鑑みると、次のように周辺機器2を選出することも可能である。
周辺機器選出部106は、使用状況データ記憶部103の中から、所定の値(例えば、「0」)を超える値を評価値として示す使用状況データ61を抽出する。抽出した端末装置1に設定されているユーザIDを示す使用状況データ61だけが抽出された周辺機器2を特定する。そして、特定した周辺機器2のうち、最も高い値が評価値として示される使用状況データ61が使用状況データ記憶部103に記憶されている周辺機器2を、選出する。
または、そのメッセージの属性が「緊急情報」を示す場合は、周辺機器選出部106は、使用状況データ記憶部103の中から、端末装置1に設定されているユーザIDを示す使用状況データ61を、評価値が高い順に所定の個数(例えば、3つ)、検索する。そして、周辺機器選出部106は、検索した使用状況データ61に示される機器IDを有する周辺機器2をすべて選出する。または、
または、メッセージに「一般情報」などの属性が示されない場合は、周辺機器選出部106は、メッセージの送信元に基づいて属性を決定し、周辺機器2を選出すればよい。例えば、ニュースサイト(サーバ3A)からの新着情報(メッセージ)は一般情報に決定し、電子メールサーバ(サーバ3B)からの新着情報は親展情報に決定し、見守りサービスのサーバ(サーバ3C)からの新着情報は緊急情報に決定してもよい。送信元のサーバ3の判別は、例えば、メッセージに付されている送信元のIPアドレスによって行うことができる。
通知指令送信制御部107は、メッセージの存在を通知する処理を行うように、周辺機器選出部106によって選出された周辺機器2に対して指令する処理を行う。具体的には、通知指令送信制御部107は、通知指令データ62を生成し、選出された周辺機器2へ通知指令データ62が送信されるように近接無線通信装置10dを制御する。
通知指令データ62には、指令先である周辺機器2の機器IDおよび通知の方法が示されている。通知の方法は、プロファイルデータ記憶部101に記憶されている、指令先である周辺機器2の装置属性データ53(図10参照)などに基づく。
例えば、テレビ2Bが指令先である場合は、図10(b)の通りテレビ2Bの装置属性データ53に通知手段が複数示されるので、少なくとも1つの通知手段を選択する。選択は、メッセージの属性に基づいて行ってもよい。例えば、属性が「一般情報」である場合は「音声」を選択し、「親展情報」である場合は「テキスト」を選択し、「緊急情報」である場合は「音声」および「テキスト」の両方を選択してもよい。さらに、通知指令データ62にパラメータを設定することもできる。例えば、通知を赤色のテキストを表示することによって行う場合は、通知指令送信制御部107は、図14(a)のような通知指令データ62を生成する。
または、ソファ2Aが指令先である場合は、図10(a)の通りソファ2Aの装置属性データ53には通知手段が1つしか示されない。したがって、ソファ2Aは、通知手段を指定されなくても、通知手段を決めることができる。そこで、通知指令送信制御部107は、図14(b)のような、通知手段を省略しパラメータを必要に応じて示す通知指令データ62を生成する。
なお、パラメータは、メッセージの属性に応じて決まるようにしてもよいし、ユーザが予め任意に決めておくことができるようにしてもよい。
周辺機器2において、近接無線通信装置20dが通知指令データ62を受信すると、メッセージ存在通知制御部205は、メッセージの存在がユーザに通知されるように、その通知指令データ62に基づいて通知装置20fを制御する。
例えば、テレビ2Bにおいて、図14(a)に示す通知指令データ62を近接無線通信装置20dが受信した場合は、メッセージ存在通知制御部205は、所定のテキスト(例えば、「新着のメッセージがあります。」)を赤文字で液晶パネルに表示させる。または、ソファ2Aにおいて、図14(b)に示す通知指令データ62を近接無線通信装置20dが受信した場合は、複数のパターンのうちの「パターン−1」というパターンで振動するようにバイブレータを制御する。
なお、端末装置1の通知指令送信制御部107は、通知指令データ62をブロードキャストしてもよい。そして、周辺機器2のメッセージ存在通知制御部205は、自らの機器IDが示される通知指令データ62のみに基づいて通知の処理を行えばよい。
図15は端末装置1の全体的な処理の流れの例を説明するフローチャート、図16はプロファイル要求処理の流れの例を説明するフローチャート、図17は第一の使用状況データ生成更新処理の流れの例を説明するフローチャート、図18は第二の使用状況データ生成更新処理の流れの例を説明するフローチャート、図19は通知指令処理の流れの例を説明するフローチャート、図20は周辺機器2の全体的な処理の流れの例を説明するフローチャート、図21はID削除処理の流れの例を説明するフローチャート、図22は通知処理の流れの例を説明するフローチャートである。 次に、端末装置1および周辺機器2の全体的な処理の流れを、図15〜図22のフローチャートを参照しながら説明する。
端末装置1は、イベントが発生するごとに、そのイベントに応じて、図15に示すような処理を行う。
端末装置1は、周囲の装置の検索のタイミング(例えば、毎分0秒)が訪れると(図15の#11でYes)、図16に示す手順で、周辺機器2に対してプロファイルデータを要求する処理を行う(#12)。
端末装置1は、近傍無線通信によって周囲の装置を検索し(図16の#701でYes)、見つかった周辺機器2それぞれのBluetooth_IDを取得する(#702)。
端末装置1は、取得したBluetooth_IDを有する周辺機器2のプロファイルデータつまり行動操作評価データ51、係数データ52、および装置属性データ53(図8、図9、図10参照)を記憶していない場合は(#703でNo)、その周辺機器2に対してプロファイルデータを要求する(#704)。端末装置1は、複数のBluetooth_IDを取得した場合は、各Bluetooth_IDについて同様に、ステップ#704の処理を必要に応じて行う。
見つかったすべてのBluetooth_IDについて必要に応じてステップ#704の処理を行ったら(#705でYes)、今回の検索の前から記憶しているBluetooth_IDの中に今回の検索では見つからなかったBluetooth_IDがあれば(#707でYes)、このBluetooth_IDを示す使用状況データ61(図12参照)を検索し、検索した使用状況データ61を「状態」を「inactive」に更新する(#708)。または、検索した使用状況データ61を削除してもよい。または、このBluetooth_IDを有する周辺機器2の行動操作評価データ51、係数データ52、および装置属性データ53を削除してもよい。
図15に戻って、端末装置1は、近傍無線通信によって周囲の装置を検索した結果、他の端末装置1が見つかった場合は、見つかった他の端末装置1から他のユーザの使用状況データ61を受信するとともに、端末装置1自身が有する、端末装置1のユーザの使用状況データ61を、見つかった他の端末装置1へ送信する(#13)。
または、端末装置1は、周辺機器2から行動操作評価データ51、係数データ52、および装置属性データ53を受信すると(#14でYes)、送信元である周辺機器2の機器IDおよびBluetooth_IDなどと対応付けてそれらを記憶する(#15)。
または、端末装置1は、周辺機器2から操作実績データ54を受信すると(#16でYes)、使用状況データ61を生成しまたは更新する処理を、図17に示す手順で実行する(#17)。
端末装置1は、無操作の時間を計測するためのタイマを「0」に設定し、時間の計測を開始する(図17の#711)。なお、端末装置1は、周辺機器2ごとにタイマを用意し設定する。
端末装置1は、端末装置1自身と操作実績データ54の送信元である周辺機器2との距離を検出するとともに(#712)、その周辺機器2の行動操作評価データ51および係数データ52を読み出し(#713、#714)、今回の使用状況についての評価値を算出する(#715)。
そして、端末装置1は、端末装置1自身のユーザのユーザIDおよびその周辺機器2の機器IDを示す使用状況データ61を未だ有していない場合は、これらのユーザIDおよび機器ID、受信した操作実績データ54に示される情報、および算出した評価値などを示す使用状況データ61を新たに生成し記憶する(#716)。一方、既にそのような使用状況データ61を有する場合は、その使用状況データ61の「評価値」の値に今回算出した評価値を加算する(#716)。
図15に戻って、端末装置1は、このように更新しまたは生成した使用状況データ61を、周囲の他の端末装置1へ送信する(#18)。
または、端末装置1は、周辺機器2の無操作の時間が所定の時間を超えたら(#19でYes)、使用状況データ61を生成しまたは更新する処理を、図18に示す手順で実行する(#20)。なお、無操作の有無を周辺機器2が検知し端末装置1へ通知するようにしてもよい。
端末装置1は、その周辺機器2の無操作の評価変化値を行動操作評価データ51から読み出すとともに(図18の#721)、その周辺機器2の係数データ52を必要に応じて読み出す(#722)。端末装置1は、読み出した評価変化値に対して、係数データ52に示される係数を必要に応じて掛けることによって、今回の使用状況についての評価値を算出する(#723)。
そして、端末装置1は、端末装置1自身のユーザのユーザIDおよびその周辺機器2の機器IDを示す使用状況データ61を未だ有していない場合は、これらのユーザIDおよび機器ID、受信した操作実績データ54に示される情報、および算出した評価値などを示す使用状況データ61を新たに生成し記憶する(#724)。一方、既にそのような使用状況データ61を有する場合は、その使用状況データ61の「評価値」の値に今回算出した評価値を加算する(#724)。
図15に戻って、端末装置1は、このように更新しまたは生成した使用状況データ61を、周囲の他の端末装置1へ送信する(#21)。
または、端末装置1は、他の端末装置1から使用状況データ61を受信した場合は(#22でYes)、その使用状況データ61を記憶する(#23)。ただし、同一の機器IDおよびユーザIDを示す使用状況データ61を既に記憶している場合は、端末装置1は、その使用状況データ61を削除し、新たに受信した使用状況データ61を記憶する(#23)。つまり、古い使用状況データ61を新しい使用状況データ61に置き換える。
または、端末装置1は、サーバ3からメッセージを受信すると(#24でYes)、その旨を周辺機器2に通知させるための処理を、図19に示す手順で実行する(#25)。
端末装置1は、メッセージの属性をチェックする(図19の#731)。属性が「一般情報」であれば(#732でYes)、端末装置1自身のユーザIDを示す使用状況データ61のうちの「評価値」に示される値が最も高いものに示される機器IDを有する周辺機器2を選出する(#733)。
属性が「親展情報」であれば(#732でNo、#734でYes)、端末装置1自身のユーザだけが使用していると考えられる周辺機器2のうち、使用状況データ61に示される評価値が最も高い周辺機器2を選出する(#735)。
属性が「緊急情報」であれば(#732でNo、#734でNo)、端末装置1自身に設定されているユーザIDを示す使用状況データ61を、評価値が高い順に所定の個数(例えば、3つ)検索し、それらの使用状況データ61に示される機器IDを有する周辺機器2をすべて選出する(#736)。
そして、端末装置1は、選出した周辺機器2のタイプおよびメッセージの属性などに応じて通知指令データ62を生成し(#737)、生成した通知指令データ62を、選出した周辺機器2へ送信する(#738)。
一方、周辺機器2は、イベントが発生するごとに、そのイベントに応じて、図20に示すような処理を行う。
周辺機器2は、端末装置1によって検索されると(#31でYes)、この端末装置1のBluetooth_IDを、周辺機器2自身の周囲に存在する端末装置1のBluetooth_IDとして記憶する(#32)。さらに、周辺機器2は、周囲に存在する端末装置1の検知のタイミングを計るためのタイマを「0」に設定し、時間の計測を開始する(#33)。なお、端末装置1のBluetooth_IDを複数記憶している場合は、周辺機器2は、端末装置1ごとにタイマを用意し設定する。
または、周辺機器2は、端末装置1からプロファイルデータを要求されると(#34でYes)、周辺機器2自身の行動操作評価データ51、係数データ52、および装置属性データ53をその端末装置1へ送信する(#35)。
または、周辺機器2は、ある端末装置1のタイマが計測する時間が所定の値を超えたら(#36でYes)、その端末装置1のBluetooth_IDなどを削除する処理を、図21に示す手順で実行する(#37)。
周辺機器2は、その端末装置1のBluetooth_IDに宛ててpingなどの所定のコマンドを送信する(図21の#801)。その端末装置1が所定の時間内に応答した場合は(#802でYes)、その端末装置1がまだ周囲に存在するので、周辺機器2は、その端末装置1のBluetooth_IDを残しておき、その端末装置1のタイマを「0」にリセットする(#803)。
一方、所定の時間内に応答が返ってこなかった場合は、周辺機器2は、その端末装置1のタイマおよびBluetooth_IDを削除する(#804、#805)。
図20に戻って、周辺機器2は、ユーザの操作などを使用状況検知装置20eによって検知すると(#38でYes)、その操作の内容などを示す操作実績データ54を生成し(#39)、周囲の各端末装置1へ送信する(#40)。
または、周辺機器2は、端末装置1から通知指令データ62を受信すると(#41でYes)、メッセージの存在を通知する処理を図22に示す手順で実行する(#42)。
周辺機器2は、周辺機器2自身の機器IDが通知指令データ62に示されているか否かをチェックする(図22の#811)。そして、周辺機器2は、そのような機器IDが示されていれば(#812でYes)、通知指令データ62に示される内容に基づいて、通知の処理を行う(#813)。
本実施形態によると、端末装置1は、ユーザの周囲に周辺機器2が存在する場合に、新着のメッセージの存在の通知を実行する周辺機器2を、各周辺機器2の使用状況に応じて選出する。よって、従来よりも確実に、ユーザにメッセージの存在を気付かせることができる。
また、図8(b)および図9(b)から分かるように、距離が長くなるほど係数が小さくなる。このような係数を用いることにより、1台の周辺機器2の周囲に複数のユーザが居て各ユーザの端末装置1がその周辺機器2に接続されている状態であっても、その周辺機器2の使用についての評価を各ユーザと周辺機器2との距離に応じて異なるようにすることができる。
本実施形態では、端末装置1および周辺機器2は、Bluetooth_IDおよび機器IDを使い分けたが、機器IDの代わりにBluetooth_IDを使ってもよいし、Bluetooth_IDの代わりに機器IDを使ってもよい。
本実施形態では、端末装置1として、携帯電話端末、PHS端末、またはノート型パソコンなどが用いられる場合を例に説明したが、ポータブルオーディオプレーヤ、ページャ、およびポータブル無線LAN(Local Area Network)ルータなどの装置を、図1および図6に示す各部を有するように構成し、これらの装置を端末装置1として用いてもよい。
本実施形態では、家具および調理器具などの例として、ソファ2Aおよびナイフ2Cを挙げたが、他の家具および調理器具なども、ソファ2Aおよびナイフ2Cと同様に処理させることができる。その場合に、家具および調理器具などに、図3に示す各ハードウェアを製造時に設けておけばよい。または、これらのハードウェアを1セットのモジュールとして販売し、家具および調理器具などに外付けできるようにしてもよい。
本実施形態では、周辺機器2として、主に家の中で用いられるものを例示したが、街中にある機器または器具、公共施設にある機器または器具、またはオフィスにある機器または器具なども、周辺機器2として用いてもよい。
本実施形態では、周辺機器2は、メッセージが届いた旨をユーザに対して通知したが、さらに、メッセージの概要、一部分、または属性などを通知してもよい。例えば、テレビ2Bおよびステレオセット2Dは、メッセージの全文、ダイジェスト、タイトル、または差出人などを音声またはテキストで出力してもよい。
本実施形態では、端末装置1は、周辺機器2を新たに検知するごとに周辺機器2のプロファイルデータを周辺機器2から取得したが、端末装置1に予め用意しておいてもよい。または、サーバからダウンロードしてもよい。端末装置1は、広域通信網を介してサーバへ接続してもよいし、近接通信網およびイントラネットなどを介してサーバへ接続してもよい。
本実施形態では、メッセージの属性として「一般情報」、「親展情報」、および「緊急情報」を例示したが、それ以外のものがあってもよい。例えば、「重要情報」という属性を設けてもよい。端末装置1は、「重要情報」のメッセージがサーバ3から送られてきたら、通知を行わせる周辺機器2の選出を「一般情報」のメッセージ場合と同様に行う。しかし、「一般情報」のメッセージの場合はテロップ(テキスト)で通知させるが、「重要情報」のメッセージの場合は音声で通知させるようにする。
本実施形態では、図8(a)および図9(a)に示した行動操作評価データ51の評価値変化の値は、周辺機器2が用いられる環境などに応じて適宜変更可能である。例えば、図8(a)に示す行動操作評価データ51には、「電源OFF」の評価値変化の値として「−20」が設定されているが、もっと低い値に設定してもよい。または、端末装置1は、操作実績データ54に「電源OFF」が示される場合は、その操作実績データ54の送信元である周辺機器2の機器IDを示す使用状況データ61の評価値をすべて「0」に更新してもよい。
また、端末装置1は、周辺機器2の使用状況データ61の評価値の初期値を、その周辺機器2を検知した際のその周辺機器2の状況に応じて決定してもよい。例えば、端末装置1は、その周辺機器2を検知した際に既に周辺機器2の電源がオンであった場合は、その周辺機器2の使用状況データ61を、評価値の初期値を「+20」として生成してもよい。
図23は通知指令処理の流れの変形例を説明するフローチャート、図24は機能制限処理の流れの例を説明するフローチャート、図25は制御指令データの例を示す図である。
メッセージが新たに届いた旨を音声によって通知する場合は、次のような問題点がある。テレビ2Bが音声によって通知を行ったが、そのときにステレオセット2Dが使用され音楽が流れていると、ユーザが通知に気付かないことがある。
そこで、端末装置1およびその周囲にある各周辺機器2は、それぞれ、図23および図24に示すように処理を行うことが望ましい。
端末装置1は、メッセージが新たにサーバ3から届くと、図23に示す処理を実行する。図23のステップ#751〜#758の処理は通知指令データ62を生成し送信する処理であって、図19に示すステップ#731〜#738の処理と同様である。
さらに、端末装置1は、今回の通知の手段が所定の手段(例えば、音声による通知を行う手段)であるか否か、および、この手段と同じ手段を有する周辺機器2が今回の通知を行うべき周辺機器2以外に存在するか否かを、チェックする(#759)。
今回の通知の手段が所定の手段でありかつこの手段と同じ手段を有する周辺機器2が今回の通知を行うべき周辺機器2以外に存在する場合は(#760でYes)、端末装置1は、競合を防止するために、今回の通知の手段に応じて所定の指令(コマンド)を示す制御指令データを生成し発信する(#761、#762)。例えば、今回の通知の手段が音声による通知である場合は、制御指令データには、図25のように、音声をミュートする旨のコマンドが示される。さらに、図25のidには今回の通知を行う周辺機器2以外の周辺機器2それぞれの機器IDが示される。
周辺機器2は、制御指令データを受信するごとに、図24に示す処理を実行する。周辺機器2は、その制御指令データに自らの機器IDが示されているか否かをチェックする(#831)。示されている場合は(#832)、周辺機器2は、その制御指令データに示されるコマンドに従って、各ハードウェアを制御する(#833)。例えば、ミュートのコマンドが示される場合は、通知装置20f(音源装置など)を、音声が出力されないように制御する。
その他、端末装置1、周辺機器2の全体または各部の構成、処理内容、処理順序、テーブルの構成などは、本発明の趣旨に沿って適宜変更することができる。