説明

仮想センサ

【課題】アプリケーションに適した形式で、しかも容易にセンサを利用することを可能とする手段を提供する。
【解決手段】他のソフトウエアから命令を受け、前記命令に基づき1又は複数のセンサから情報を集め、前記情報が前記命令から要求される状態を満たすか否かを判断し、満たす場合は前記他のソフトウエアへその旨を報告するように構成される、ソフトウエアである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はセンサを備えた電子機器におけるセンサの利用方法に関する。
【背景技術】
【0002】
近年、携帯電話等の携帯電子機器にセンサを搭載し、新しいアプリケーションを探そうとする開拓しようとする動きが多く見られる。携帯電話に搭載されているセンサとその利用の例として、例えば加速度センサを内蔵し、ユーザの動きを操作指示として利用する携帯電話が市販されている。また、光センサを搭載してディスプレイの輝度調節に利用するとか、RFIDを搭載してお金の決済に利用するという利用形態も実現している。また、気圧計や湿度計を搭載し、気圧や湿度の変化から天気予報を行なう電子機器も市販されている。
【0003】
しかしセンサは、そのセンサを利用するアプリケーション・ソフトウエアにとって、必ずしも最適化されていない場合もある。むしろ、大抵のセンサデバイスは、静か過ぎるか、逆にあまりにも騒々しい場合が多い。例えば、ある型のセンサは、アプリケーション・ソフトウエアからの明示的な問い合わせがあったときのみデータを送るので、アプリケーション・ソフトウエアは常にセンサを監視しなければならない。また別の型のセンサは、必要もないのに継続的にデータを送り続ける。
【0004】
また、センサの制御コードをアプリケーション・ソフトウエアに組み込むのは骨が折れる場合があり、特に複数のセンサを制御しなければならない場合はなおさらである。そのため、アプリケーションに適した形で、しかも従来よりも簡単にセンサを利用できるようなスキームが求められている。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、アプリケーションに適した形式で、しかも容易にセンサを利用することを可能とする手段を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の1つの側面によれば、本発明は次のようなコンピュータ・ソフトウエアすなわちプログラムを提供することができる。このソフトウエアとは、他のソフトウエアから命令を受け、前記命令に基づき1又は複数のセンサから情報を集め、前記情報が前記命令から要求される状態を満たすか否かを判断し、満たす場合は前記他のソフトウエアへその旨を報告するように構成される、ソフトウエアである。
【0007】
上記提供されるソフトウエアによれば、センサからの情報収集とその解析をこのソフトウエアが担当するため、上記提供されるソフトウエアを利用する他のソフトウエアは、センサの制御に必要なコードを最小限に抑えることができる。すなわち、上記提供されるソフトウエアを利用すれば、センサを利用するためのプログラミングに必要な労力を、大きく節約ことができる。このような効果は、利用するセンサの数が増すほど大きなものとなる。
【0008】
さらに、上記提供されるソフトウエアを利用する他のソフトウエアの命令が要求する状態は、複数のセンサの状態に関するものであることができる。すなわち、上記提供されるソフトウエアを利用する他のソフトウエアは、複数のセンサの情報を組み合わせた、仮想的なセンサを定義することが可能である。逆に言えば、上記提供されるソフトウエアは、これを利用するソフトウエアからは仮想的なセンサとして動作するように見える。このように、上記提供されるソフトウエアを利用すれば、アプリケーションの要求や動作に適した形式で、しかも簡単にセンサを利用することが可能となる。
【0009】
好ましくは、上記命令はソフトウエア関数である。また上記命令は、複数のソフトウエア関数の組み合わせから構成されていても良い。従って上記提供されるソフトウエアは、ソフトウエア関数を解釈し、解釈結果に基づいて具体的にセンサから情報を集め、集めた情報を解析するようにプログラミングされることが好ましい。
【0010】
上記提供されるソフトウエアは、1又は2以上の他のプログラムから、複数の命令を受け、処理できるようにプログラミングされることが好ましい。
【0011】
上記提供されるソフトウエアは、これを利用する他のソフトウエアに、ソフトウエア割り込みによって上記報告を行なうように構成されることが好ましい。
【0012】
ある実施態様において、上記提供されるソフトウエアは、該ソフトウエアがインストールされる電子機器の筐体に備わるセンサだけでなく、離れた場所にあるセンサも制御できるように構成されることができる。例えば、当該電子機器にセルラネットワークやBluetooth,UWB,WLAN等の無線通信手段を介して接続されたセンサや、インターネットを介して接続されたセンサを制御できるように、上記提供されるソフトウエアを構成しても良い。このような実施形態によれば、上記提供されるソフトウエアを利用する他のアプリケーションは、センサの物理的な存在位置を気にする必要なく、これらのセンサを利用することができる。もちろん、物理的に離れた複数のセンサを組み合わせた仮想センサをも定義することが可能である。
【0013】
上記提供されるソフトウエアは、携帯電話等の携帯電子機器にインストールされて利用されることができる。また、CD等の媒体に格納されて製造販売されたり、インターネット、セルラネットワーク等を通じて配信されることもできる。
【0014】
本発明の別の側面によれば、本発明は次のような電子機器を提供することができる。この電子機器は、センサと、第1のソフトウエアと、前記センサと前記第1のソフトウエアとの間で動作する第2のソフトウエアとを備え、さらに前記第2のソフトウエアが、前記第1のソフトウエアから命令を受け、前記命令に基づき前記センサから情報を集め、前記情報が前記命令から要求される状態を満たすか否かを判断し、 満たす場合は前記第1のソフトウエアへその旨を報告するように構成される、電子機器である。
【0015】
上記提供される電子機器は、第2のソフトウエアによって制御されうるセンサを複数備えることができる。また第1のソフトウエアは第2のソフトウエアからソフトウエア割り込みを受けられるように構成されることが好ましく、第2のソフトウエアはソフトウエア割り込みによって上記の報告を行なうように構成されることが好ましい。また上記第2のソフトウエアは、電子機器の筐体の外にあるセンサの情報も集めることができるように構成されることが好ましい。
【0016】
上記提供される電子機器は、携帯情報機器であることが好ましい。
【発明の効果】
【0017】
本発明を利用することにより、アプリケーションに適した形式で、しかも簡単にセンサを利用することが可能となる。
【発明を実施するための最良の形態】
【0018】
以下、添付図面を参照しつつ本発明の実施形態を例を用いて説明する。本発明が適用された電子機器1は、センサ・アプリケーション10、センサマネージャ20、センサA、センサB、センサCを備える。センサ・アプリケーション10は、天気予報や電子機器1の操作など、ユーザーにセンサを利用した機能を直接提供するソフトウエアである。センサマネージャ20は、物理的なセンサであるセンサA,B,Cと、センサ・アプリケーション10との間で動作するソフトウエアである。センサマネージャ20は、センサ・アプリケーション10の命令に基づいてセンサAやセンサBなどから情報を集め、その情報を解析して結果をセンサ・アプリケーション10へ報告する。センサ・アプリケーション10やセンサマネージャ20は、電子機器1が備える図示しないCPUを、これらのソフトウエアによる命令の通りに動作させることにより、上記の、またこれから説明する機能を実現する。
【0019】
センサ・アプリケーション10からセンサマネージャ20へ送られる命令は、ソフトウエア関数の形式を取る。従ってセンサマネージャ20は、これらの関数を理解し、その内容を実行可能なようにプログラミングされている。センサ・アプリケーション10からセンサマネージャ20へ送られる命令は、複数のソフトウエア関数の組み合わせから構成されていても良い。
【0020】
さらに、センサ・アプリケーション10からセンサマネージャ20へ送られる命令は、センサA、センサB、センサCのうち、1又は複数のセンサの状態に関するものであることができる。すなわち、この命令は、センサA、B、Cの3つのセンサから構成される、あたかも新しいセンサのような機能を有する。
【0021】
図1において、センサ・アプリケーション10は、センサマネージャ20への命令として、次のような仮想センサXを定義し、センサマネージャ20に送る。
【0022】
【数1】

関数“alert”は、カッコ内の条件が満たされた場合は報告せよという関数とする。上記の命令を受けたセンサマネージャ20は、センサA〜Cから情報を収集し、それらが命令から要求される状態を満たすか否かを解析して、満たす場合にはセンサ・アプリケーション10へ報告する。すなわちセンサマネージャ20は、センサAの出力値が5から10の間であって、センサBの出力値がセンサCの出力値よりも大きい状態を検出すると、センサ・アプリケーション10へ報告を行なう。このように関数“alert”は、数式1で定義される状態を検出する、仮想的なセンサとしての機能を有する。センサ・アプリケーション10は、センサA〜Cから情報を収集したり、これらの情報を数式1を満たすか否かの解析するためのプログラム・コードを備える必要がなく、効率的なプログラミングが可能となる。関数“alert”や数式1はもちろん単なる例示であって、センサ・アプリケーション10とセンサマネージャ20との間で様々な型の関数を定義することができる。
【0023】
センサマネージャ20は、数式1で定義される状態を検出すると、ソフトウエア割り込みによってセンサ・アプリケーション10へ報告を行なう。もちろん、センサ・アプリケーション10も、センサマネージャ20からのソフトウエア割り込みを受けられるようにプログラミングされていなければならない。ソフトウエア割り込みは既存技術であり、当業者であれば実装することができる。このように構成することで、センサ・アプリケーション10は、センサの出力値を定期的に調べるようにプログラミングされる必要がない。このように本発明によれば、アプリケーションに適した形式で、しかも簡単にセンサを利用することが可能となる。
【0024】
本発明のより具体的な実施例の1つとして、電子機器1を“お洗濯センサ”として構成することができる。この実施例では、センサAは温度センサ、センサBは湿度センサである。センサCは不要であろう。センサ・アプリケーション10は、温度と湿度が一定の関係が満たされた場合に報告を受けるような仮想センサを定義し、センサマネージャ20へ命令する。この関係は、既定のものの他に、ユーザーが独自に設定可能とすることが好ましいだろう。センサ・アプリケーション10は、センサマネージャ20からの報告を元に、「今日は洗濯日和です」のようなメッセージを、ビジュアル又は音声等の方法で、ユーザーに伝える。センサマネージャ20は、温度センサと湿度センサの出力値を定期的に調べ、定義された状態を満たすか否かを調べる。が、センサ・アプリケーション10はそのようなことをする必要はなく、センサマネージャ20からの報告に基づいてユーザーへの報告を行なうだけでよい。従って、センサ・アプリケーション10の構造を非常に単純化することができる。
【0025】
本発明の別の具体的な実施例の1つとして、電子機器1を“お天気センサ”として構成することができる。この実施例では、センサAは温度センサ、センサBは湿度センサ、センサCは気圧センサである。センサ・アプリケーション10は、温度・湿度・気圧の変化に基づき、「晴れ」「曇り」「雨」という報告を受けるような仮想センサを定義する。センサマネージャ20は、定期的に(例えば30秒おきに)これら3つのセンサの出力値を調べ、それらの出力値の変化率を計算する。そしてその変化率に基づき、「これから晴れる」「午後は曇り」「明日は雨」等の判断を行なう。センサ・アプリケーション10は、例えば1時間に1回程度、センサマネージャ20から天気予報の報告を受け、その報告に基づいて、天気予報をビジュアル・音声等の方法でユーザーに行なう。センサ・アプリケーション10は、センサ制御・解析のためのコードを備える必要がなく、本発明を適用しない場合に比べてプログラミング労力が大きく減少する。
【0026】
別な実施態様において、センサマネージャ20は、電子機器1の筐体の外に存在するセンサも制御できるように構成されることができる。例えば、電子機器1にセルラネットワークやBluetooth,UWB,WLAN等の無線通信手段を介して接続されたセンサや、インターネットを介して接続されたセンサを制御できるように、センサマネージャ20を構成することができる。このような実施形態であっても、センサ・アプリケーション10はセンサの物理的な存在位置を特に意識せずに、仮想センサを定義することが可能である。もちろん、物理的に離れた複数のセンサを組み合わせた仮想センサをも定義することも可能である。
【0027】
電子機器1は、センサ・アプリケーション専用機であってもよいし、携帯電話やPDA等であってもよい。また、センサマネージャと物理的なセンサを予め備えた携帯電子機器に、様々なセンサ・アプリケーションをインストールして利用するという実施形態も可能である。
【0028】
次に、図2を用いて本発明の別の実施態様を説明する。この実施例に係るシステム100は、ユーザ空間102とカーネル空間104とを備えたOS(オペレーティングシステム)を有する。センサマネージャ106は、センサマネージャ20と同様の機能を備え、これまたセンサ・アプリケーション10と同様の機能を有するセンサ・アプリケーション108の命令に基づいてセンサから情報を集め、情報を解析して結果をセンサ・アプリケーション108に報告する。センサマネージャ106やセンサ・アプリケーション108は、センサマネージャ20やセンサ・アプリケーション10よりも高度な機能を有する。センサ・アプリケーション108の命令は、センサ・アプリケーション10が定義する命令と同様に、複数のセンサを組み合わせて作られた仮想センサとしての機能を有する。センサ・アプリケーション108は、複数の仮想センサ110,112,114を定義し、センサマネージャ106は、これらの仮想センサ110,112,114を並列的に処理することができる。仮想センサはソフトウエアインターフェース116を経由してセンサ・アプリケーション108からセンサマネージャ106へ伝えられる。またセンサマネージャ106が扱うことのできるセンサ情報が、センサ情報格納部118からソフトウエアインターフェース116を経由してセンサ・アプリケーション108へ伝えられる。
【0029】
センサ120,122,124,126は、物理的なセンサである。センサはデバイスドライバ128,130,132,134等を通じてセンサマネージャ106に接続される。センサ120は、動的なセンサ検出手段によってセンサマネージャ106に検出・接続される。
センサ122はデバイスドライバ134を通じてセンサマネージャ106に接続される。センサ124は、FPGA138のセンサエントリ140を通じてセンサマネージャ106に接続される。センサ126は無線通信手段142を通じてセンサマネージャ106に接続される。
【0030】
デバイスドライバに接続されたセンサは、センサエントリ144,146,148,150等を通じてセンサマネージャ106のセンサ仮想化ブロック152に接続される。センサ仮想化ブロック152は、センサの出力データにフィルタをかけたり、複数のセンサ出力を結合したりすることができる。
【0031】
以上、本発明の実施態様を例を挙げて説明したが、本発明の実施態様はこれらに限られるものではなく、本発明の範囲を逸脱せずに様々な変形が可能であることは言うまでもない。
【図面の簡単な説明】
【0032】
【図1】本発明の実施態様を説明するための概念図である。
【図2】本発明の別の実施態様を説明するための概念図である。
【符号の説明】
【0033】
1 電子機器
10 センサ・アプリケーション
20 センサマネージャ
100 システム
102 ユーザ空間
104 カーネル空間
106 センサマネージャ
108 センサ・アプリケーション
110,112,114 仮想センサ
116 ソフトウエアインターフェース
118 センサ情報格納部118
120,122,124,126 物理的なセンサ
128,130,132,134 デバイスドライバ
138 FPGA
142 無線通信手段

【特許請求の範囲】
【請求項1】
コンピュータ・プログラムであって、他のコンピュータ・プログラムからソフトウエア関数で構成される命令を受け、前記命令に基づき1又は複数のセンサから情報を集め、前記集めた情報を元に前記他のプログラムへ報告を行なうように構成される、プログラム。
【請求項2】
請求項1に従うコンピュータ・プログラムであって、前記命令から要求される状態を前記情報が満たすか否かを判断し、満たす場合に前記満たすこと前記他のプログラムへ報告するように構成される、プログラム。
【請求項3】
請求項1又は2に従うコンピュータ・プログラムであって、前記命令から要求される状態は、複数のセンサの状態に関するものである、プログラム。
【請求項4】
請求項1から3のいずれかに従うコンピュータ・プログラムであって、該プログラムは前記他のプログラムへソフトウエア割り込みをかけることにより前記報告を行なうように構成される、プログラム。
【請求項5】
請求項1から4のいずれかに従うコンピュータ・プログラムであって、該プログラムは複数の前記命令を並列的に処理するように構成される、プログラム。
【請求項6】
請求項1から5のいずれかに従うコンピュータ・プログラムであって、該プログラムは無線通信手段を介してセンサから情報を集める手段を備えるプログラム。
【請求項7】
請求項1から6のいずれかに従うコンピュータ・プログラムであって、該プログラムはインターネットを介してセンサから情報を集める手段を備えるプログラム。
【請求項8】
1又は複数のセンサと、第1のコンピュータ・プログラムと、前記センサと前記第1のコンピュータ・プログラムとの間で動作する第2のコンピュータ・プログラムとを備え、
前記第2のプログラムが、前記第1のプログラムからソフトウエア関数で構成される命令を受け、前記命令に基づき前記1又は複数のセンサから情報を集め、前記集めた情報を元に前記第1のプログラムへ報告を行なうように構成される、電子機器。
【請求項9】
請求項8に従う電子機器であって、前記第1のプログラムは前記第2のプログラムからソフトウエア割り込みを受けられるように構成され、前記第2のプログラムは前記第1のプログラムへ割り込みをかけることにより前記報告を行なうように構成される、電子機器。
【請求項10】
請求項8又は9に従う電子機器であって、前記第2のプログラムは前記電子機器の筐体の外にあるセンサの情報を、無線通信手段を介して集める手段を備える電子機器。


【図1】
image rotate

【図2】
image rotate


【公開番号】特開2007−4632(P2007−4632A)
【公開日】平成19年1月11日(2007.1.11)
【国際特許分類】
【出願番号】特願2005−185740(P2005−185740)
【出願日】平成17年6月24日(2005.6.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(398012616)ノキア コーポレイション (1,359)
【Fターム(参考)】