(57)【特許請求の範囲】
【請求項１】
少なくとも１つのセンサへのオントロジー駆動の問合せまたはプログラミングをするための方法において、
前記少なくとも１つのセンサに対して実行する問合せまたはコマンドを問合せオリジンで生成し、
前記問合せまたはコマンドをオントロジー変換器へ第１のネットワーク上で送信し、
前記少なくとも１つのセンサの１以上の予め定められた能力とオントロジーとにしたがって前記問合せまたはコマンドを分類し、
ここで、前記オントロジーは、形式的なオントロジー言語で表現されている、
前記オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して、前記分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを生成し、
前記少なくとも１つのセンサに関連付けられた少なくとも１つのセンサノードにより前記変換された問合せまたはプログラムを実行するために、前記変換された問合せまたはプログラムを、前記少なくとも１つのセンサと通信する前記少なくとも１つのセンサノードへ送信し、
前記少なくとも１つのセンサノードから前記問合せまたはプログラムの少なくとも１つの結果を受信し、
前記少なくとも１つの結果を戻すステップ、
を含んでいる、方法。
【請求項２】
前記少なくとも１つのセンサノードはセンサネットワーク中に含まれ、
前記センサネットワークは複数のセンサノードを有している請求項１記載の方法。
【請求項３】
前記少なくとも１つの結果は前記問合せオリジンおよび／または前記問合せオリジン以外の目的地に戻される請求項１または２記載の方法。
【請求項４】
前記少なくとも１つの結果を戻す前に、前記少なくとも１つの結果を濾波するステップをさらに含んでいる請求項１乃至３のいずれか１項記載の方法。
【請求項５】
前記濾波するステップは、前記変換された問合せまたはプログラムの実行によって生成されたより大きい結果セットから、前記問合せオリジンで生成された前記問合せまたはコマンドを満足する結果セットへ、前記少なくとも１つの結果を減少させるステップを含んでいる請求項４記載の方法。
【請求項６】
前記濾波するステップは、前記オントロジー変換器により実行される請求項４または５記載の方法。
【請求項７】
前記変換された問合せまたはプログラムを送信するステップと、前記少なくとも１つの結果を受信するステップは、前記オントロジー変換器と通信するゲートウェイノードを介して第２のネットワーク上で実行される請求項１乃至６のいずれか１項記載の方法。
【請求項８】
前記少なくとも１つの結果を受信するステップは、前記オントロジー変換器で実行される請求項１乃至７のいずれか１項記載の方法。
【請求項９】
前記問合せまたはコマンドを前記オントロジー変換器へ送信する前に前記問合せまたはコマンドを確認するステップをさらに含んでいる請求項１乃至８のいずれか１項記載の方法。
【請求項１０】
前記確認するステップは、前記オントロジーと前記１以上の予め定められた能力とにしたがってオントロジーリーゾナによって分類するために、前記問合せまたはコマンドを前記オントロジーリーゾナへ送信するステップを含んでいる請求項９記載の方法。
【請求項１１】
前記問合せまたはコマンドを前記オントロジー変換器へ送信するステップは、前記オントロジーへアクセスするオントロジーサーバへ前記問合せまたはプログラムを前記第１のネットワーク上で送信するステップを含み、
ここで、前記オントロジーサーバは、アクセス可能な１以上のオントロジー変換器のうちの特定の１つのオントロジー変換器へ前記問合せまたはコマンドを前記第１のネットワーク上で送信する請求項１乃至１０のいずれか１項記載の方法。
【請求項１２】
前記問合せオリジンは、前記オントロジー内の前記問合せまたはコマンドをフレームするように構成されたインターフェースを有している問合せエディタを具備する請求項１乃至１１のいずれか１項記載の方法。
【請求項１３】
少なくとも１つのセンサへのオントロジー駆動の問合せまたはプログラミングをするためのシステムにおいて、
前記システムは、
前記少なくとも１つのセンサに対して実行するための問合せまたはコマンドを問合せオリジンで生成し、前記問合せまたはコマンドをオントロジー変換器へ第１のネットワーク上で送信する手段と、
前記少なくとも１つのセンサの１以上の予め定められた能力とオントロジーとにしたがって前記問合せまたはコマンドを分類する手段と、
前記オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して、前記分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを生成する手段と、
第２のネットワーク上で前記オントロジー変換器と通信するゲートウェイノードと、
を具備し、
ここで、前記変換された問合せまたはプログラムを生成する手段は、
前記少なくとも１つのセンサに関連付けられた少なくとも１つのセンサノードにより前記変換された問合せまたはプログラムを実行するために、前記変換された問合せまたはプログラムを、前記少なくとも１つのセンサと通信する前記少なくとも１つのセンサノードへ送信する手段と、
前記少なくとも１つのセンサノードから前記問合せまたはプログラムの少なくとも１つの結果を受信し、前記少なくとも１つの結果を戻す手段と、
を具備し、
前記変換された問合せまたはプログラムを送信することと、前記少なくとも１つの結果を受信することは、前記ゲートウェイノードを介して行われる、システム。
【請求項１４】
前記少なくとも１つの結果を戻す前に、前記少なくとも１つの結果を濾波する手段をさらに具備している請求項１３記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はセンサのオントロジー駆動の問合せ及びプログラミング方法及びシステムに関する。特にセンサは公共ネットワークを使用してアクセス可能なノードと通信する遠隔センサネットワークの一部であることができる。
【背景技術】
【０００２】
センサネットワークにおけるデータ収集のためのプログラミングセンサは非常に困難である。プログラマは達成されるネットワーク規模の結果に関してのみではなく、メッセージルーチングデータ損失、エネルギ保存、無線態様、無線管理、局部事象相互作用と、基礎をなすセンサアーキテクチャにおける不均一性、センサ能力及びこのようなセンサにより支持されるプログラミング言語の処理方法を考慮する必要がある。
【０００３】
データ収集および／またはセンサのプログラミングに関連する１以上の欠点または不都合を解決または緩和し、または少なくとも有用な代替を提供することが望ましい。
【発明の概要】
【０００４】
ある実施形態は少なくとも１つのセンサのオントロジー駆動の問合せまたはプログラミング方法に関し、方法は、
少なくとも１つのセンサに関して実行するための問合せ又はコマンドを問合せオリジンで発生し、
第１のネットワークにわたってオントロジー変換器へ問合せまたはコマンドを送信し、
少なくとも１つのセンサのオントロジーおよび１以上の予め定められた能力にしたがって問合せ又はコマンドを分類し、
オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを発生し、
少なくとも１つのセンサに関する少なくとも１つのセンサノードにより、変換された問合せ又はプログラムを実行するため、変換された問合せ又はプログラムを少なくとも１つのセンサと通信する少なくとも１つのセンサノードへ送信し、
少なくとも１つのセンサノードから問合せまたはプログラムの少なくとも１つの結果を受信し、
少なくとも１つの結果を戻すステップを含んでいる。
【０００５】
別の実施形態は少なくとも１つのセンサのオントロジー駆動の問合せまたはプログラミングするためのシステムに関し、そのシステムは、
少なくとも１つのセンサに関して実行するための問合せ又はコマンドを問合せオリジンで発生し、問合せまたはコマンドを第１のネットワークによってオントロジー変換器へ送信するための手段と、
少なくとも１つのセンサのオントロジー及び１以上の予め定められた能力にしたがって、問合せまたはコマンドを分類する手段と、
オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを発生する手段とを具備し、ここで変換された問合せまたはプログラムを発生する手段は、少なくとも１つのセンサに関する少なくとも１つのセンサノードにより、変換された問合せ又はプログラムを実行するため、変換された問合せ又はプログラムを少なくとも１つのセンサと通信する少なくとも１つのセンサノードへ送信し、少なくとも１つのセンサノードから問合せまたはプログラムの少なくとも１つの結果を受信し、少なくとも１つの結果を戻す。
【０００６】
他の実施形態は少なくとも１つのセンサのオントロジー駆動の問合せまたはプログラミングするためのシステムに関し、そのシステムは、
少なくとも１つのセンサに関して実行するための問合せ又はコマンドを問合せオリジンで発生するように構成された問合せオリジンと、
少なくとも１つのセンサのオントロジーおよび１以上の予め定められた能力にしたがって問合せ又はコマンドを分類するように構成されたオントロジーリーゾナと、
少なくとも１つのセンサと通信する少なくとも１つのセンサノードと、
問合せオリジン、オントロジーリーゾナ、少なくとも１つのセンサと通信するオントロジー変換器とを具備し、ここでオントロジー変換器は問合せまたはコマンド受信し、その問合せまたはコマンドを分類のためオントロジーリーゾナへ転送し、オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを発生し、少なくとも１つのセンサに関する少なくとも１つのセンサノードにより、変換された問合せ又はプログラムを実行するため、変換された問合せ又はプログラムを少なくとも１つのセンサノードへ送信し、少なくとも１つのセンサノードから問合せまたはプログラムの少なくとも１つの結果を受信し、少なくとも１つの結果を戻すように構成されている。
【図面の簡単な説明】
【０００７】
【図１】センサのオントロジー駆動の問合せ及びプログラミングのためのシステムのブロック図である。
【図２】図１のシステムの幾つかのコンポーネントをさらに詳細に示すブロック図である。
【図３】センサのオントロジー駆動の問合せ及びプログラミング方法のフローチャートである。
【発明を実施するための形態】
【０００８】
実施形態を添付図面を参照して例示により以下さらに詳細に説明する。  
記載された実施形態は通常、センサのオントロジー駆動の問合せ及びプログラミングのための方法及びシステムに関する。このようなセンサはセンサノードと通信している例えば恐らく隔離して動作するかセンサネットワークの一部として動作する単一または複数のセンサを含むことができる。センサノードはそのノードに関連される各センサの直接的な問合せまたは制御を行う役目を有する。ここで説明する実施形態は各センサのインターフェースの任意の技術的要求と独立した方法で関連するノードを介してセンサのオントロジー駆動の問合せ及び制御を促し、それによって種々のセンサネットワークを横切って異なるセンサ間で共通の不均一性を許容する。ここでは実施形態を特定の例を参照して一般化された方法で説明する。
【０００９】
図１を参照すると、センサのオントロジー駆動の問合せまたはプログラミングのためのシステム100が示されている。システム100はそれぞれがそこで実行可能な問合せエディタ110を有するパーソナルコンピュータまたはサーバのような１以上のコンピュータシステム105を具備している。システム100はまたオントロジーサーバ120、１以上のオントロジー変換器125、１以上のオントロジーリーゾナ135、１以上のゲートウェイ145、１以上のノード155、各ノード155に関連される１以上のセンサ160を具備している。
【００１０】
問合せエディタ110はコンピュータシステム105のメモリ（図示せず）に記憶された、またはそうでなければコンピュータシステム105へアクセス可能な実行可能なプログラムコードを有している。問合せエディタ110はユーザの問合せまたはコマンドの形成を促し、このような問合せまたはコマンドに関して受信された結果を解釈し（図示しないディスプレイで）表示するように機能する。問合せエディタ110の実行可能なプログラムコードは１以上のセンサ160に関する予め定められたオントロジーに適合した問合せまたはコマンドの作成または発生を促すためにオントロジー認識インターフェース115を実行するためのプログラムコードを有するか、そうでなければそれにアクセスする。問合せエディタ110はオントロジーサーバ120を介してインターネットのような公共ネットワーク等のネットワークにわたってオントロジー変換器125と通信しており、それによってオントロジー変換器125はここで説明したように処理するために問合せエディタ110により発生される問合せまたはコマンドを受信する。
【００１１】
オントロジー変換器125とオントロジーリーゾナ135は同じサーバシステム140または別のサーバに存在するかそこで実行可能である。サーバシステム140はネットワークでオントロジーサーバ120とおよびネットワークでゲートウェイ145と通信している。
【００１２】
オントロジー変換器125が問合せエディタ110から問合せまたはコマンドを受信するとき、これは問合せまたはコマンドをオントロジーリーゾナ135へ転送し、それによってオントロジーリーゾナ135とオントロジー変換器125は通信する。オントロジー変換器125はサーバシステム140のようなコンピュータシステムに含まれることができ、コードフラグメント130が記憶されているメモリ120（図２に示されている）を有する。コードフラグメント130はオントロジーリーゾナ135による問合せまたはコマンドの分類に基づいて適切なコマンドを形成するように組立てられることができる。オントロジーリーゾナ135により発生された分類された問合せまたはコマンドは問合せまたはコマンドを実行するのに適した１以上のコードフラグメント130を選択するためにオントロジー変換器125により処理される。オントロジー変換器125は１以上のセンサ160に関して実行するためコマンドを発生しゲートウェイ145を介して１以上のノード155へ送信するように選択されたコードフラグメント130を使用する。このようなコマンドはセンサ160により行われた測定に関してデータまたは情報を検索し、或いはセンサ160を再度プログラミングまたは再構成するためのものであってもよい。
【００１３】
オントロジー変換器125はこれらが処理できる問合せに関してセンサ160の特定の機能能力を規定する能力オントロジーにアクセスする。能力オントロジーは問合せタイプを識別する指名された能力クラスが解体されるように設計されるべきである。オントロジー変換器125は問合せの既知の指名された能力のスーパークラス（即時または推移）について分類結果を検索するプログラムコードを含んでいる。このようなスーパークラス（多くても１つ存在する）が発見されるとき、オントロジー変換器125はその問合せタイプを処理するように書き込まれる特定のモジュールまたは方法を呼び出す。例えば問合せがセンサノードを再プログラムするタイプであると分類されたとき、オントロジー変換器125は新しいプログラムがやるべきことを特定するためにユーザの問合せにおいてインスタンス情報を使用して、センサノード155に対する新しいプログラムを組立て、ロードするプログラムコードを実行する。
【００１４】
オントロジー変換器125から１以上のノード155へのコマンドの送信はインターネットのような公共ネットワーク等の１以上のネットワークによって行われることができる。多数のノード155がアクセスされる場合、中間サーバまたはゲートウェイ145のようなゲートウェイノードはこのようなノード155とオントロジー変換器125との間の通信を容易にするために使用されることができる。
【００１５】
図１に示されているように、各ノード155はそれに関連され、１以上のセンサ160と通信する。ノード155とセンサ160のこのような関連は物理的および／または論理的である可能性がある。システム100におけるノード155の数は僅か１でもよく、システムアーキテクチャがサポートできるだけの数である。各ノード155に関連されるセンサ160の数は同様に僅か１であってもよく、ノードおよびセンサネットワークアーキテクチャがサポートできるだけの数である。基礎をなすハードウェアまたは各センサ160の技術的要求とは独立して、問合せまたはコマンドが処理されることを可能にするシステム100によって使用されるオントロジー駆動の問合せまたはコマンドパラダイムのために、システム100は特にノード155とセンサ160の数の拡張性について設計されている。
【００１６】
オントロジーサーバ120はシステム100内の全てのオントロジー変換器125により使用されるオントロジーの貯蔵を行う。このオントロジーはセンサネットワークにわたる問合せ及びコマンドの位相整合のための文脈的情報および語彙を提供し、２つの部分、即ち一般的な背景用語を与えるドメインオントロジーと、ネットワーク中のセンサ160とノード155の機能を特別にモデル化する能力オントロジーからなると考えられることができる。この能力オントロジーは不均一のセンサネットワーク150間でも共有され、問合せエディタ110へロードされる。
【００１７】
ドメインオントロジーでは、幾つかの実施形態は（http://sweet.jpl.nasa.govで、ＮＡＳＡからの）ＳＷＥＥＴから拡張されたＷ３Ｃのオントロジー言語ＯＷＬで表されるオントロジーを使用する。ＳＷＥＥＴはphenomena: Wind, space: Direction, property: Speed, property: Temperatureとproperty: RelativeHumidityを含む文脈的クラスを与える。幾つかの実施形態は例えば表１、２，３に示されているようなものを含む特定のセンサネットワーク中のセンサの能力を記述するのに通常有用なクラス及び特性を規定するためにＳＷＥＥＴを拡張できる。能力オントロジーでは、クラス及び特性が規定され、これは例えば表５、６、７、８、９に示されるようなセンサの能力を特別にモデル化する。
【００１８】
各オントロジー変換器125はオントロジー変換器125が問合せエディタ110から問合せまたはコマンドを受信するように構成されることを可能にするコンピュータプログラム指令（図２を参照して以下さらに詳細に説明する）を有している。オントロジー変換器125は問合せまたはコマンドを分類し、その分類された問合せまたはコマンドを能力オントロジーへマップするためにオントロジーリーゾナ135を使用し、その能力オントロジーは目的地センサネットワーク150中のセンサの特定の能力を考慮する。
【００１９】
オントロジー変換器125はコードフラグメント130をソーシングすることにより、分類された問合せ及び能力オントロジーに基づいて変換された問合せを構築する。このようにしてオントロジー変換器125はダイナミックに決定されたオントロジー変換器を各受信された問合せまたはコマンドへ適用すると考えられることができ、それによってセンサ間の任意の不均一性にかかわりなく、問合せまたはコマンドがセンサに関して実行されることを可能にする。
【００２０】
コードフラグメント130は言語テンプレートの形態のデータまたは目的地センサノード155の言語におけるプログラムフラグメントを有している。このようなコードフラグメント130はここで説明するようにセンサノード155の言語において実行可能なプログラムまたは問合せを発生するためにオントロジー変換器125により使用される。
【００２１】
変換された問合せまたはコマンドはオントロジー変換器125によりネットワークによって、または専用の通信媒体を介して、有線または無線で（センサネットワーク150内にノード155を具備することができる）ゲートウェイ145へ送信される。オントロジー変換器125はまたゲートウェイ145を介してセンサネットワーク150から戻された応答を濾波するため結果濾波モジュール245（図２）を使用してもよく、ここでゲートウェイ145から戻されたデータは当初の問合せに対する完全な応答で必要とされたデータよりも多い。例えば全てのセンサからの現在のデータを同時にリクエストするためネイティブコマンドを与えるセンサノード155の１例として測候所を使用して、オントロジー及び問合せエディタ110はユーザが任意の特定のセンサから現在の測定を問い合わせることを許容できる（表６のQueryCurrentDataを参照のこと：１以上のセンサは問合せにおいて指名されなければならない）。各このような問合せはQueryCurrentDataのサブクラスであるが、結果濾波モジュール245内のコードを濾波するオントロジー変換器は指名されたセンサに対応しない応答の一部を廃棄するので、オントロジー変換器125は各ケースで同じコマンドを（センサノード155として動作する）測候所へ発行する。
【００２２】
オントロジーリーゾナ135はオントロジーの設定された原理を使用して論理的推論を行うためのコンピュータの実行可能なプログラムコードを有する。特に、オントロジーリーゾナ135はオントロジーのクラス及び特性を包含階級へ分類する機能を行う。したがってオントロジーリーゾナ135は設定されたオントロジーにしたがって問合せまたはコマンドを分類するためにオントロジー変換器125により使用され、それはここではドメインオントロジーと呼ばれる。オントロジーリーゾナ135がドメインオントロジーにしたがって問合せまたはコマンドを分類できない場合、この効果に対するメッセージはオントロジー変換器125へ与えられ、これはそれを問合せエディタ110に通知し、それによって適切なメッセージは発信ユーザへまたは必要ならば他の問合せ発信者へ表示されることができる。
【００２３】
問合せをオントロジー変換器125へ送信する前の確認ステップとして、問合せエディタ110は分類のためオントロジーリーゾナ125へ問合せまたはコマンドを最初に提供してもよい。問合せまたはコマンドが少なくとも１つのセンサノード155の能力概念のサブ概念として分類されることができるならば、これは実質的にさらにシステム100内での処理のために問合せまたはコマンドを確認する。分類が実行されることができないならば、問合せエディタ110は問合せまたはコマンドをリフレームするために使用されることができる。
【００２４】
ゲートウェイ145はそれに関連するそれ自身のセンサ160をもつかもたないセンサネットワーク150内にノードを含み、十分に機能的なセンサノード155を具備できる。ゲートウェイ145は例えばインターネットまたは公衆交換電話網（ＰＳＴＮ）のような公共または私設ネットワークを通してセンサネットワーク150のネットワークアクセス点として使用される。ゲートウェイ145はそれがそのゲートウェイ機能を確実に行うことができるように確実な電力供給源をもつべきである。ゲートウェイ145は制御点およびセンサネットワーク150へまたはセンサネットワーク150からの単一のアクセスとして使用される。
【００２５】
各センサノード155は通常、個々のセンサ169を付勢及び制御するためのプログラム可能なシステムを具備する。各センサノード155は測定を記憶し、センサ測定またはゲートウェイ145を介して受信されたメッセージを含むその他のメッセージを共有するため無線または固定されたネットワークにより他のノード155と通信する。センサ160の限定されていない例は例えば環境、医学、産業または他の条件を測定するための化学的、生物的、電気的、物理的または他のセンサを具備することができる。
【００２６】
センサネットワーク150はセンサノード155とセンサ160の仮想または物理的に関連される集合またはグループ化を具備し、ここでネットワーク150内のノード155とセンサ160はネットワーク内で共に所望のようにグループ化させる少なくとも１つの共通のテーマ、機能、役割または関連を有する。
【００２７】
能力オントロジーはオントロジーリーゾナ135による問合せの分類がその問合せを類似の問合せのクラス（能力クラス）に置くように設計され、そのためオントロジー変換器125の共通のプログラムは問合せを実行することに使用されることができる。オントロジー変換器125は問合せのスーパークラス（即時または推移）である既知の指定された能力クラスの分類結果を検索する（図２に関して以下説明する問合せ管理モジュール240に含まれることができるような）プログラムコードを含んでいる。このようなスーパークラスが発見されるとき、プログラムコードは能力クラスを処理するように書き込まれる特定のモジュールまたは方法を呼び出す。幾つかの能力クラスは特定の日付または温度範囲のようなパラメータを必要とし、それによって（データタイプとオブジェクト特性インスタンスを具備する）問合せの個々の部分はパラメータとして問合せ管理モジュール240へ通過されることができ、ユーザリクエストにしたがって問合せを詳細に述べるために使用されることができる。
【００２８】
例えばセンサネットワーク150はEnvirondata WeatherMaster 1600測候所を使用でき、それは予め規定された制御言語と、幾つかのセンサ160を備えたセンサノード155として動作する測候所とを有する組込みプロセッサ及びメモリを有する。認識されたコマンド、ＳＴＯＲＡＧＥコマンドの一つは選択されたインターバルで選択されたセンサ読取りを採用し、選択されたメモリ位置で生の読取りまたは全読取りを記憶するため測候所を再プログラムするために使用されることができる。ＳＴＯＲＡＧＥコマンド自体はこれらの選択を反映するためパラメータによって同じテキストラインにおいて後続されるキーワード“ＳＴＯＲＡＧＥ”で開始する。コマンドの効率的な使用のために、これはオンラインコマンド“ＭＥＭ  ＯＮ”により先行され、１ラインのコマンド“ＭＥＭ  ＯＦＦ”により後続されなければならない。全ての３つのコマンドは測候所を再プログラムするために測候所へ送信されなければならない。
【００２９】
問合せエディタ110はオントロジー言語での表現として問合せを構成するようにユーザをサポートする。例えば表７の再プログラミング問合せを考えるとする。表７で与えられたクラスの定義によって、問合せはCreatedFunctionsクラスのサブクラスである。ユーザはこの問合せクラスを作成し、リーゾナオントロジー135へそれを分類するように要求する。
【００３０】
これが能力クラスのサブクラスではないならば、これは有効な問合せではなく拒絶されることができる。この場合、これは表６のsetStorageFunctionクラスのサブクラスである。ユーザはその後、クラスの（継承された）インスタンス特性についてのデータタイプ値を入力するように促される。能力オントロジーは問合せで使用されるクラスについて適切なデータタイプ特性で設計されているので、問合せエディタ110はCreated Functionsの特性として、特性値、この場合はhasStrgTabNo、time1、time2ofDayの整数について迅速にプロンプトする。ユーザが３、０９００と０の値をそれぞれ入力することを仮定する。さらにオントロジーが、測候所のネイティブセンサ番号付けシステムに対応する５の値に設定されたHumiditySensorのsensorNoデータタイプ特性と、（１日のうちの固定された時間に日常的に測定するためのネイティブ言語手段において）値“Ｈｏｕｒ”を有する特性timetypeCmdを有するDayクラスと、“AVERAGE”の値に設定されたデータタイプ特性statCmdを有するAverageクラスで先に初期化されると仮定する。オントロジー変換器125が問合せエディタ110から問合せ及びインスタンスを受信するとき、これはsetStorageFunction能力クラスのサブクラスとして問合せを分類し、以下のように測候所により必要とされる形態に問合せを変換するための内部コードを使用する。オントロジー変換器125は“STORAGE”コマンドストリングを構成し、問合せインスタンスから検索されたときに適切にパラメータを添付する。これはさらに内部シーケンス番号割り当て方法によりcommandNoを内部で発生し、固定された特徴ストリングを必要な場所に挿入する。この場合、WeatherMasterの言語で、リクエストされたコマンドは“STORAGE 6 AVERAGE 35100HOUR 0900 0”になり、ここではパラメータはそれぞれcommandNo、statCmd、hasStrgTabNo、sensorNo、1、0、0、timetypeCmd、time1、time2ofDayにそれぞれ対応する。さらに、オントロジー変換器125は前述したように２つのＭＥＭコマンドによってこのテキストラインを括弧で囲む。
【００３１】
図２を参照すると、オントロジー変換器125は少なくとも１つのノード155と少なくとも１つのセンサ160を参照してより詳細に示されている。オントロジー変換器125はプロセッサ210とメモリ220を具備している。実行可能なプログラム命令の形態で種々のソフトウェアコンポーネント225、230、240、245はメモリ220に記憶され、プロセッサ210により実行可能である。プロセッサ210は物理的または仮想的で、同一場所に存在するか分散されている１以上のプロセッサを具備することができる。メモリ220はプロセッサ210にアクセス可能であり、分散されているか局所化されている１以上の記憶媒体を具備することができる。
【００３２】
実行するとき、オントロジー変換器125はドメインオントロジー225をオントロジーサーバ120からメモリ220へロードする。オントロジー変換器125はまたオントロジーサーバ120からセンサ能力235の予め定められた局部オントロジーをロードするか、オントロジー変換器125中に保持され、ノード155で実行されることができる適切なコードフラグメント130へ分類された問合せまたはコマンドをマップするためにオントロジー変換器125が使用するオントロジーを形成するように能力オントロジーをドメインオントロジー225と組み合わせる。能力及びドメインオントロジーは第２のファイル中のヘッダテキストまたは他の冗長テキストの重複を除去した後、ファイル連結によって組み合わせられることができる。代わりに、１つのオントロジーはオントロジー言語の特徴を使用して他へ取り込まれることができ、または同様に第３のスケルトンオントロジーがそれら各々を取り込むことができる。
【００３３】
メモリ220はプロセッサ210により実行されるとき、問合せエディタ110から問合せを受信し、それをドメインオントロジー及びセンサ能力オントロジーと組み合わせ、能力オントロジーで既に説明された問合せクラスへその問合せを分類するようにオントロジーリーゾナ135を呼び出すように構成されている。問合せはセンサネットワークが実行できる機能をリクエストしないので、問合せクラスが能力オントロジー中の問合せクラスにより組み込まれないならば、問合せは無効として拒否される。問合せをオントロジーと組み合わせるため、問合せは例えば分類のためオントロジーをオントロジーリーゾナへ与える前にそれをオントロジーへ添付することによってオントロジー中の指名されたクラス記述として主張されることができる。
【００３４】
オントロジー変換器125はコードフラグメント130のライブラリまたはファイルシステムにアクセスするための問合せクラス、またはセンサネットワークの言語で問合せクラスを実行するように構造を実施するコードテンプレートを使用する。オントロジー変換器125はその後、問合せで特定されたパラメータにしたがってテンプレートまたはプログラムフラグメントを完了することによって変換を完了し、センサネットワーク150で実行するため（プログラムとして）変換された問合せまたはコマンドをゲートウェイ145へ与える。テンプレートは問合せクラスのインスタンスから検索されたデータと、問合せエディタにより特定されたその特性を挿入することにより埋められ、或いは前もってオントロジーのインスタンスとして断定される。
【００３５】
問合せエディタ110を通して与えられた問合せは２つの部分からなることができる。第１の部分は問合せタイプを決定するために分類されたクラス定義（及び随意選択的に関連される特性原理）である。第２の部分はデータタイプ特性またはクラスの他の目的特性について堅固な値で問合せをさらに改善するために使用されるインスタンスのグループであることができる。問合せエディタ110は両タイプの情報の入力を支持するが、全ての問合せタイプがインスタンスデータを必要とするわけではない。１例として、表６のsetStorageFunction問合せタイプは（CreatedFunctionクラスを介して）Function classから“time1”と適切に呼ばれるデータタイプを継承し、問合せエディタはユーザに対してこのフィールドへ整数を入力するように促す。問合せのクラス定義部分だけが分類に使用される。オントロジー変換器125は測候所へのコマンドの一部として整数値を使用することができ、特にそれは別々の感知測定に対する多様な時間単位である。同様に、オントロジーインスタンスは問合せ処理で使用される幾つかの固定された値（例えばコマンドの各センサについての測候所の識別子に対応するそれぞれの数字）を記憶するために使用されることができる。これらのインスタンス値は構造下のセンサノードコマンドに対して組立てられているストリングまたはプログラムコードに挿入されるパラメータになる。
【００３６】
オントロジー変換器125はゲートウェイ145を介してセンサネットワークノード155から返答を受信する。受信された応答が要求されたよりも多くのデータを含んでいる場合、センサネットワークが必要に応じて選択的であることができない場合に生じる可能性がある当初の問合せを満たすために、オントロジー変換器125は結果を当初の問合せで特定されているもののみに減少するために結果濾波モジュール245を使用して結果濾波を適用する。オントロジー変換器125はその後、濾波されたまたは濾波されていない結果を問合せエディタ110へ戻す。
【００３７】
ゲートウェイ145は分類されて変換されたプログラム、またはオントロジー変換器125から受信された問合せを１以上のノード155へ送信及びインストールし、プログラムまたは問合せを、センサネットワークの関連センサネットワークノード155のメモリ255へロードし、これらに対してゲートウェイ145は責任を有する。分類されて変換された問合せまたはプログラムはその後、問合せまたはプログラムが導かれた各ノード155のプロセッサ250により実行される。プログラムまたは問合せにしたがって、ネットワークの幾つかのセンサ160はアクチブになり測定を行うことができ、これらはノード155のメモリ255に記録され、恐らく問合せまたはプログラム命令にしたがってさらにプロセッサ250によって解析されることができる。測定はその後１以上のメッセージでゲートウェイ145へ送信される。ゲートウェイ145はセンサネットワーク150内の２以上のセンサノード155からの応答を統合でき、その後１以上の応答をオントロジー変換器125へ送信する。
【００３８】
図３を参照すると、センサのオントロジー駆動の問合せ及びプログラミングの方法300が示されている。この方法300はステップ305で開始し、ここでオントロジー認識インターフェース115は問合せまたはコマンドを受取る。問合せまたはコマンドは例えば１以上のクラス記述及び特性原理を含むウェブオントロジー言語（ＯＷＬ）コードのフラグメントとして表されることができ、またクラスのインスタンス、オブジェクト特性およびデータタイプ特性を含むことができる。問合せまたはコマンドは、ユーザ入力に基づいて問合せオリジンからまたは自動化された問合せシステムから受信されることができる。代わりに問合せまたはコマンドは記述論理原理として、またはProtegeまたはProtegeプラグインのようなグラフィックオントロジーエディタ中のグラフィック手段により表されることができる。
【００３９】
随意選択的な確認サブプロセスとして、問合せまたはコマンドは（ドメインオントロジーまたは１以上の能力オントロジーを含む）オントロジーと共に、ステップ315で分類するため、ステップ310で問合せエディタ110によってオントロジーリーゾナ135へ送信されることができ、分類されたオントロジーはユーザへの提示とエラー報告のためにオントロジー認識インターフェース115へ戻される。問合せが有効であるように、これはオントロジー能力クラスの問合せクラスのサブクラスとして分類されなければならず、その問合せクラスに応答できるオントロジーのセンサノードは変換された問合せが送信されることができるノードである。
【００４０】
ステップ320で、問合せまたはコマンドはオントロジー変換器125へ送信される。オントロジー変換器125は問合せまたはコマンドを分類し、それを確認し、いずれのセンサノードが問合せまたはコマンドに応答できるかを発見するために問合せまたはコマンドをオントロジーリーゾナ135へ送信することにより（ステップ325と330において）ステップ310と315を反復する。ステップ335で、オントロジーリーゾナ135は分類された問合せまたはコマンドをオントロジー変換器135へ戻す。これは通常、包含階級内に問合せまたはコマンドを配置し、そこからオントロジー中の問合せまたはコマンドのサブクラスとスーパークラスが迅速に抽出されることができる組合されたオントロジーと問合せまたはコマンドを表している。
【００４１】
ステップ340で、オントロジー変換器125は問合せが分類された問合せクラスに対応するコードフラグメント130またはコマンドテンプレートを検索し、その後フラグメントを組立て、問合せまたはコマンドから生じる残りのパラメータを埋め、それによってセンサネットワーク150の実行可能な問合せまたはプログラムを生成する。ステップ345で、実行可能な問合せまたはプログラムは、センサネットワーク150がこれを実行するように命令されている適切な通信媒体と関連ノード155によりセンサネットワーク150へ送信される。
【００４２】
結果が定められた時間インターバル、または他の反復基準にしたがってリクエストされるならば多数回反復されることができるステップ350で、センサネットワーク150のノード155からの結果はゲートウェイ145を介してオントロジー変換器125へ戻される。
【００４３】
ステップ355で、結果が当初の問合せで必要とされるよりも多くのデータを含んでいるならば、余分なデータは濾過して除去され、残りの結果はステップ360で問合せエディタまたは恐らく（当初の問合せまたはコマンドで特定されたような）幾つかの他の目的地へ戻される。例えばユーザの問合せがqueryCurrentData type（表６）の問合せ中の温度データをリクエストするならば、測候所は一度に全てのセンサのデータを戻せるだけであり、そこで測候所への問合せは単に全てのセンサについて尋ね、オントロジー変換器125は結果を解析し、不要のデータを廃棄する。より詳細に説明すれば、センサ番号がオントロジー中の各センサのインスタンスとして記憶され、問い合わせの概念部と共にオントロジー変換器125へ転送される。オントロジー変換器125はセンサ番号なしに問合せを構成するが、その後ライン上の適切な位置において正しいセンサ番号を有する応答のラインを返送する。
【００４４】
システム100のコンポーネントおよび／または方法300のステップの特定の例を以下説明する。全てのこのような例は単なる例示であり、発明の限定ではなく、説明された実施形態を文脈に当てはめることを意図している。
【００４５】
説明する実施形態によれば、人間またはソフトウェアエージェントであってもよい、センサの有効性またはプログラミングスタイルに馴染みのない可能性があるユーザは行われる幾つかのセンサの観察をリクエストする問合せまたはこれらのセンサの幾つかの特定の再構成についてのコマンドを表現するためオントロジーの言語を使用できる。この問合せまたはコマンドは変更された形態で、センサ制御装置として動作する１以上のセンサノード155へ送信される。センサノード155の制御は例えばプログラム可能な測候所を含み、ここでセンサ160は例えば温度、相対湿度、風速または風向きの測定のような気象関連測定機能を行うセンサである。この例では、測候所（センサノード155の１例として）は変換された問合せまたはコマンドを受信し、その問合せまたはコマンドを環境センサに関して実行し、それによってこれは（物理的に接続するか否かにかかわりなく）関連され通信する。
【００４６】
例示の目的で、測候所の例を続ける。この例では、測候所は１つのセンサノード155として、オーストラリア、クイーンズランドのEnvirondata Australia Pty Ltdから入手可能なWeather Master 1600であることができる。問合せエディタ110、オントロジー変換器125、オントロジーリーゾナ135はオントロジー言語としてＯＷＬ、特にサブ言語ＯＷＬ−ＤＬのようなウェブオントロジー言語を使用してもよい。Clark & Parsia LLCによるPellet version 1.5はＯＷＬ−ＤＬについてのオントロジーリーゾナ135として使用されることができる。スタンフォード大学からのProtege  ＯＷＬエディタ3.3.1はProtegeへのＪａｖａ（登録商標）(バージョン６)プラグインと随意選択的に組み合わせて問合せエディタ110として使用されることができる。Ｊａｖａプラグインはグラフィカルユーザインターフェース（ＧＵＩ）を与えるためおよびオントロジー変換器125のＪａｖａ構成とインターフェースするためオントロジー認識インターフェース115を構成する。
【００４７】
ここで説明する通常のオントロジーはここで説明するようにＮＡＳＡにより出版されたオントロジーＳＷＥＥＴ 1.0を取り込む特設のオントロジーであることができる。このオントロジーはここで説明するようにドメインオントロジー及びセンサ能力オントロジーの組み合わせとして考えられることができる。本発明の文脈では、ドメインオントロジーはベースオントロジーとして不変を持続できるオントロジーの部分であると考えられ、能力オントロジーは、システム100に付加される新しい各センサネットワーク150を考慮するように変化され拡張される。
【００４８】
以下説明する例はProtegeで表示されるドメインオントロジーを抽出することを示しているが、ＯＷＬオントロジー言語の他の明示が使用されることができるが論理的表現、Manchester Syntax、ＯＷＬ２ Functional-Style-SyntaxまたはＲＤＦ（リソース記述フレームワーク）のＸＭＬ（拡張可能なマークアップ言語）構文であるＲＤＦ/ＸＭＬに限定されないことを理解すべきである。
【００４９】
測候所のセンサ能力は以下説明するようにオントロジーでモデル化されることができる。測候所は４つのセンサ、即ち温度センサ、相対湿度センサ、風速センサ、風向きセンサを有する。測候所の各センサは以下の表１に示されているようにセンサ特定フィラーを有する“測定”特性を使用することに限定されたＳＷＥＥＴスーパークラス“material_thing:Sensor”を有するクラスとしてモデル化される。
【表１】
0005536204.tif 000002
【００５０】
測候所及び多くの他の感知装置は測定を行い、現在値および過去の（記憶された）値の平均、最大、及び最小を計算できる。この能力は表２に示されているように特別な限定はないが相互に分離して、作成されたクラス“Statistic”のサブクラスとしてモデル化される。
【表２】
0005536204.tif 000003
【表３】
0005536204.tif 000004
【００５１】
測定は周期的に、幾つかの整数ｘについてｘ単位毎に一度行われることができ、ここで１単位は日、時、分または秒である。クラスは以下の説明及び表３と４に示されているようにこれらの各単位について規定される。これらの各単位はＳＷＥＥＴオントロジーの対応するクラスのサブクラスに規定される。例えば能力クラス“Second”はドメインオントロジーの“time:Second”のサブクラスであり、これはスーパークラス“time:Duration”を有する。さらに、特性“hasSubPeriod”は各ユニットがどのように他の時間単位に関連しているかをモデル化するために使用される。例えばクラス“時間”はサブ期間として各“分”と“秒”を有することに対応する限定をもつが（付加的な閉鎖原理により）他のサブ期間はない。最小の単位である“秒”は表４に示されているように任意のサブ期間をもたないように規定されている。表４では、水平線よりも上の規定は完全（必要及び十分）であり、水平線より下の付加的情報はＳＷＥＥＴから継承されProtegeツールにより表示される条件を表しているが、この説明では重要ではない。
【表４】
0005536204.tif 000005
【００５２】
測候所からデータをリクエストするため、時間仕様として特別な日付けを使用できることが所望され、したがってクラス“日付け”をＳＷＥＥＴの“time:Instant”のサブクラスとしてモデル化する。
【００５３】
センサ装置の能力の基本的要素を説明し、測候所との相互動作のための言語の構造のモデル化について説明する。測候所の言語の機能は任意のユーザの問合せがオントロジーリーゾナ135により行われる簡単な分類によって測候所言語へマップされることができるように組織される。例えば測候所はネイティブ能力として３種類の問い合わせをサポートする。即ち、
・全てのセンサの現在のデータを問い合わせる［queryCurrentData］  
・日付けＡから日付けＢまでのデータについてのメモリを問い合わせる[queryPeriodData]  
・測定したいもの、時、方法を正確に説明する測候所におけるプログラムラインを付加または削除することにより再プログラムする［setStoragefunction］。
【００５４】
対応するオントロジー構造は表５に示されているように作成される。クラス“Function”が作成され、これは“owl:Thing”の直接的なサブクラスである。以下、２つのクラスが紹介され、これは他方のクラスのコンテナのように作用し、階級を良好に順序付けされた状態にする。全ての問合せは“CreatedFunctions”クラス下に位置付けられ（以下のセクションを参照）、オントロジーの焦点である能力クラスを説明するため“WM1600Capabilities”のような“Capabilities”クラスが存在する。異なるセンサ装置が異なる“Capabilities”サブクラスを有する必要はなく、代わりに能力は別の便宜的なクラスによりグループにグループ化されることができる。しかしながら各能力クラスは他の能力クラスとは別であるように規定されなければならない。
【表５】
0005536204.tif 000006
【００５５】
各能力クラスは表６に示されているように選択された機能を制定するため測候所により要求されるパラメータに対応する限定によってより詳細に規定される。完全な（必要及び十分な）定義はこれらの能力クラスで使用され、それらの定義はこれらが別のものであることを確実にする。所望ならば、適切な能力記述に発展するとき、定義が互いに別であることはオントロジーリーゾナ135により確認されることができる。
【表６】
0005536204.tif 000007
【００５６】
これまで規定されたクラスはユーザの問合せを表すためのフレームワークを与える。任意の装置の有効な問い合わせは予め規定された装置能力の（意味的）サブクラスである正確なクラス定義である。「意味的サブクラス」は問合せが音声ＯＷＬリーゾナによりサブクラスであると解釈されることができることを意味するが、問合せはサブクラスとして明白に断言される必要はない。例えば測候所を再プログラムするため、３つの特性“usesPeriod”、“usedSensor”、“usesStatistic”を使用することが必要である。現在の温度について測候所に尋ねるためには、“usesSensor”特性を使用し、さらに、他の特性がこれらの限定を無効にすることにより使用されないことを表現する必要がある。
【００５７】
表７は２つの例の問合せの定義を示し、一つは測候所を再プログラムするための定義であり、一つは現在の湿度をリクエストするための定義である。明白であるように、これらの問合せはペアレント能力クラスに類似している。オントロジーリーゾナ135は適切な意味関係を識別するために正確にオントロジーを解釈することができるので、より複雑なオントロジーの文脈では、問合せは能力クラスとは構文的にかなり異なるように見える。（深刻な意味的効果がなく）オントロジーを秩序のある状態に維持するため、両者の問合せは“CreatedFunctions”クラスのサブクラスとして規定される。
【００５８】
対応する能力定義の他の特性が無効にされながら、丁度“HumiditySensor”のみを使用するように特定されるように、現在の湿度をリクエストするための例示的な問合せは非常に簡単である。
【００５９】
測候所を再プログラムするための例示的な問合せは、問合せが同じくリクエストとされている別の問合せによって回答されることができるときをシステムが認識することを可能にするためにオントロジーを活用する。この問合せ（表７）では、必要な限定（usesPeriod some Day）のみに加えて、必要で十分な期間限定（usesPeriod some（time:duration and（hasSubPeriod some Day）））が与えられている。このことは別の再プログラミング問合せから測定されたデータを濾波（選択）することにより回答されることができる測定に対するリクエストを説明する再プログラミング問合せが、後者のサブクラスとしてオントロジーリーゾナ135により分類されることを意味している。例えば毎分湿度センサからのデータを測定する再プログラミング問合せは５秒毎に湿度センサからのデータを測定する再プログラミング問合せのサブクラスとして分類される。これによって、分類後、オントロジー変換器135は単に最高の分類された再プログラミング問合せを測候所へ送信でき、少なくとも１つの最高の分類された問合せにより含まれるその他は冗長である。
【表７】
0005536204.tif 000008
【００６０】
オントロジー変換器125または問合せエディタ110のいずれかによってオントロジーリーゾナ135が呼び出されるとき、有効である各問合せは、これが感知装置の規定された能力に対応する意味で、それぞれの能力のサブクラスとして即座に分類される。リーゾナの分類は問合せエディタ110を使用して視覚的にまたはオントロジー変換器125のような他のソフトウェアと共にプログラム的に検査されることができる。さらにオントロジーリーゾナ135は問合せクラスがそれ自体オントロジーの文脈で満足されることが可能であることを確実にするために呼び出されることができ、これは回答をもつことができない幾つかの問合せ（例えばusesPeriod some Dayである限定とusePeriod Owl:Thingではない別の限定を有する問合せ）の早期の拒否を可能にする。これらの能力クラスの当初の設計のために、これは装置コマンド言語の対応する構造が即座に識別されることを意味する。
【００６１】
さらに別の問合せ例が表８に示されている。これらの例の問合せは構文的にかなり異なって見えるが、能力クラス“queryPeriodData”のサブクラスとして両者とも分類されよう。
【表８】
0005536204.tif 000009
【００６２】
これまで、問合せをそれ自体がさらに一般的な装置能力のサブクラスであるテンプレートまたはスキーマとして作用するクラスとして説明してきた。オントロジーはまた問合せのＯＷＬデータタイプ特性を表すために使用され、それ故、問合せパラメータの値により問合せを弁別することができる。このレベルで、問合せは特定の問合せクラス及びその特性のインスタンスとして表され、ＯＷＬデータタイプ特性の値として例示化された問合せパラメータを有する。同様に測候所の現在の状態はオントロジーのインスタンスの収集としてモデル化される。
【００６３】
能力オントロジーは表９に示されているように、各装置について、“Device”クラスのサブクラスとしてクラスを、ドメイン装置およびレンジ機能を有する特性として“hasFunction”特性を規定することにより多数のセンサ装置の定義を捕捉する。
【表９】
0005536204.tif 000010
【００６４】
表７に示されているように、装置を再プログラムしまたは測定されたデータをリクエストする問合せは能力オントロジーに関してユーザにより述べられることができる。これは問合せに対応するクラスの定義を作成し、（オントロジーリーゾナ135を使用して）リクエストの妥当性を検証し、リクエストを関連する装置特定ハンドラー（センサノード155）へ送り、その後ネイティブ装置インターフェース（センサ160）へ送り、その応答を受信してそれを問合せエディタ110のような観察応用または別の目的地へ転送することによって、実行されることができる。
【００６５】
例えば、Pellet  ＯＷＬ−ＤＬリーゾナが使用されることができ、これは遠隔ホスト140で動作し、オントロジー変換器125により、及びユーザのProtegeクライアントにより使用されることができる。ユーザはユーザインターフェースとしてProtege  ＯＷＬエディタ3.3.1を通して、より便宜的にはオントロジーディスプレイを簡単にしオントロジー変換器125と相互動作することができるProtegeおよびプラグイングラフィカルユーザインターフェース（ＧＵＩ）を通して測候所に問合せ、それをプログラムできる。Protegeおよびプラグインクライアントはユーザに対してコンピュータシステム105に局部的にインストールされ、オントロジー変換器125は別のコンピュータシステム140上に配備され、これはそれ自身の装置特定インターフェース要求にしたがって測候所と通信することが仮定される。問合せエディタ110とオントロジー変換器125との間の通信と、各これらとオントロジーリーゾナ135間の通信は例えばＴＣＰ／ＩＰソケットを介して行うことができる。
【００６６】
ユーザクライアントツールとしてProtegeの直接使用に対する代りとして、オントロジーの能力クラスの定義は、この場合には、可能にされた能力クラスのみがリストされている予め濾波されたクラスツリーからクラスを選択する３つの選択肢を与えることができるユーザインターフェースの作動時間発生を可能にする。このインターフェースを通して、ユーザは直接のProtege相互作用なしに問合せを述べるクラスを選択できる。このクライアントツールはProtegeプラグインとして構成されることができる。選択後、クライアントツールは、問合せを形成するためユーザがインターフェースで選択していない残りの限定を自動的に無効にできる。
【００６７】
実施形態を特にその専用制御言語で測候所のプログラミングに対して適用するとして説明した。能力オントロジーはその言語の文書化特徴にしたがって記憶機能、センサ、期間等へ構造化される。しかしながら他の適切なプログラミング言語が原理的に、これに類似する可能性がある機能グループ化を有するが（そのためオントロジー内の機能的分類が発展されることができる）、使用される用語及びそれらの分類構造によって異なっている。
【００６８】
測候所で利用可能な制御インターフェースに特有の構造にしたがって配備方法をここで説明する。当業者は無線センサネットワークの無線プログラミングに使用されることができる「Deluge」を介する等の代わりの配備技術の方法を採用できる。
【００６９】
実施形態は、測候所により測定されることができる環境の特性をプログミングし問合わせることに関して説明するが、この実施形態はこれに限定されない。実施形態は静止画像またはビデオ画像；音声；血圧、心拍または血糖のような人間の健康インジケータ；溶解栄養素および濁度のような水流、圧力、品質パラメータ；日照、野生生物の位置、密集及ぶ動きのような生態学的パラメータ；赤外線ビームおよび動き検出器のようなセキュリティ監視パラメータ；地震の動揺、波の動きのような地球物理学的パラメータまたはエネルギ消費、暖房、換気あるいは交通流量のような構築環境または輸送パラメータ、或いは任意の他の遠隔感知測定または応用等、遠隔制御の可能性のある現場のセンサにより取られた任意の測定に適用できる。
【００７０】
実施している特別設計及び構造に関して実施形態を説明するが、この実施形態は多くの可能なアーキテクチャ及びツールコンポーネントを許容する。第３パーティのProtegeオントロジー編集ソフトウェアへのプラグインについて説明するが、オントロジーを発展するための他の適切なエディタまたは方法が使用されることができ、他の機構はスペシャリストＧＵＩのようなオントロジーまたはＯＷＬ文書のようなテキストフォーマットに関してセンサデータ要求をユーザが表現することを可能にするために使用されることができる。このような代替技術はその問合せを受取り、それをドメインオントロジーと組み合わせ、分類のためリーゾナを呼出し、分類結果にしたがってコードフラグメントを検索し、これらのコードフラグメントを適切な方法で組立てなければならない。
【００７１】
コードフラグメントを組立てる別の方法を提供するバリエーションは、分類によるコンパイル−時間フラグの検索によるものであり、その後フラグをコンパイラへ提供し、通常の方法でコードライブラリを条件的にコンパイルするかコンパイル−時間パラメータを設定する。これは例えばセンサネットワークのターゲット言語がＮｅｓＣであるときに行われることができる。別のバリエーションはここで説明したように測候所のネイティブコマンド言語の代わりに、ＴｉｎｙＤＢのＳＱＬのような言語におけるコマンド、ＴｉｎｙＯＳベースのセンサネットワークについてのデータベースシステムを発生するために技術を適用することである。
【００７２】
ＴＣＰ／ＩＰソケットを介して相互動作するソフトウェアコンポーネントに関して実施形態を説明したが、他の分配されたコンピュータ化または基本通信プロトコルが使用されることができる。
【００７３】
説明されている実施形態では、オントロジーはセンサネットワーク問合せ環境への新しいセンサ能力の付加を表すために必要とされるときに更新及び拡張されることができるデータを含んでいる。これらの新しいセンサ能力は新しいドメインレベルの能力（新しい現象が測定されることができる）または新しい制御及びインターフェース能力の両者を表すことができる。しかしながら、この情報はオントロジーで表され、オントロジーはダイナミックに問合せインターフェースへ読取られ、ダイナミックにリーゾニングツールを通して動作されるので、新しい能力をユーザに与えることはユーザ問合せツールに対する変化を必要とせず、センサノード155またはゲートウェイ145に対するプログラミングインターフェースについてユーザは何かを学習する必要がない。
【００７４】
改良された特徴はオントロジー言語にわたって音声推測を行うことができるオントロジーリーゾナ135によりサポートされるドメイン及び能力オントロジーの使用と、問合せを実現するように組立てられ実行されることができるセンサ特有コードを識別するクラスへユーザ特定された問合せを分類することに関する。これは問合せエディタ110の（ドメインおよび能力）オントロジー認識によりサポートされ、問合せに利用可能なセンサを記述するための操縦可能な階級解像を与え、また音声および表現的ユーザ問合せが書き込まれることを可能にしながらセンサプログラミング言語の不均一性を認識することをユーザが必要としない。
【００７５】
説明したアーキテクチャ及び方法の有効な特徴は問合せ／コマンド処理のコンポーネントとしてオントロジーにわたって、説明された形式的なリーゾニング（または論理的推測）の使用に存在する。この形式的なリーゾニングは通常「分類」として説明されるが、より広くは「論理的推測」として説明されることができる。このような特徴はシステム100が問合せ検証と、特別なコードを必要とせずに（即ち純粋にシステム100へのデータ入力であるオントロジーの構造に基づいて）このような問合せを処理できるセンサノード155への問合せの割当てを行うことを可能にする。これは以下与えられる例でさらに説明され例示される。
【００７６】
説明されたシステムアーキテクチャ及び方法論は再プログラミング命令がオントロジーのみに基づいて冗長についてチェックされることを可能にし、それ故頻繁な再プログラミングの必要を減少し、それは共有された／マルチユーザセンサネットワークリソースの環境では重要である。説明されたシステムアーキテクチャ及び方法論はまた、オントロジーに埋設されたネットワーク規模の問合せ言語の構造にしたがうのではなく、ノードコマンド言語の構造にしたがってセンサノード155の問合せまたはコマンド言語への変換に使用されるノード特定プログラムコードの組織を可能にする。これは２つの言語の構文を隔離し、変化と、所望ならば、付加的なプログラムコードのコストなしに、同じノード特定問合せまたはコマンド用のオントロジー言語中の多数の構文を可能にする。例えば、オントロジーリーゾナ135により行われる分類プロセスは問合せを関連クラスに置くことができ、その後オントロジー変換器125はそのクラスを処理するためのプログラムコードを有する。これはオントロジー変換器125が問合せにおける許容可能な構文について過剰に規定的ではないことを可能にし、代わりに問合せの意味論をアドレスする。説明されたシステムアーキテクチャと方法論はさらにセンサノードとゲートウェイにおける不均一性がユーザから隠されることを可能にし、それによってユーザに対して容易なセンサネットワークを使用することを可能にする。
【００７７】
以下の例はシステム100が問合せを分類できる態様を示し、それによっていずれかの装置（例えばセンサノード155）が問合せを処理できるかが迅速に明らかにされる。これは問合せエディタ110が問合せを関連装置を管理する役目を有するオントロジー変換器へ誘導することを可能にする、
この例は表９で与えられているＷＭ１６００クラスと、表６で与えられているその能力の定義を使用する。問合せ、例えば表７の“Request current humidity query”に対応するクラスが構成されることができる。このクラスは例えば“myCurData”と呼ばれることができる。
【００７８】
以下のように問合せ“muCurData”を受取ることができる全ての装置（例えばセンサノード155）を説明する新しいクラスが規定される。
【表１０】
0005536204.tif 000011
【００７９】
この新しいクラス（表１０）がオントロジーリーゾナ135により分類されるとき、クラス“ＷＭ１６００”のような問合せ“muCurData”を処理できるあらゆる装置はこのクラスのスーパークラスになる。それらに対して役目を有するオントロジー変換器125へのセンサノード155のマッピングを維持することによって、問合せエディタ110は問合せを指示されたオントロジー変換器125へ誘導できる。
【００８０】
この説明では、オントロジー表現の例はオントロジーエディタProtege 3.3における表現のスクリーンコピーとして与えられる。そのスタイルでは、水平線よりも上の表現は「必要及び十分」（「完了」または「等価クラス」とも呼ばれる）であり、水平線よりも下の表現は「必要」（「スーパークラス」とも呼ばれる）である。大きい点により分離されている表現は接続法により結合される。水平線が表示されない場合には、表現は必要及び十分である。
【００８１】
この明細書及び請求項を通して、文脈が特に必要としていないならば、用語「具備する（“comprise”）」および“comprises”、“comprising”のような変形は、述べられた整数またはステップ或いは整数またはステップのグループを含むことを意味するが。任意の他の整数またはステップ或いは整数またはステップのグループの除外を示唆するものではないことが理解されよう。
【００８２】
この明細書における任意の先行文献（またはそこから得られた情報）または周知の事項に対する参照は、先行文献（またはそこから得られた情報）または周知の事項が本願明細書が関連する技術分野で共通の一般的知識の一部を形成するという確認または承認或いは任意の形態の示唆として理解されてはならない。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
［１］少なくとも１つのセンサのオントロジー駆動の問合せまたはプログラミング方法において、
少なくとも１つのセンサに関して実行するための問合せ又はコマンドを問合せオリジンで発生し、
第１のネットワーク上でオントロジー変換器へ前記問合せまたはコマンドを送信し、
前記少なくとも１つのセンサのオントロジーおよび１以上の予め定められた能力にしたがって前記問合せ又はコマンドを分類し、
前記オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して前記分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを生成し、
前記少なくとも１つのセンサに関する前記少なくとも１つのセンサノードにより、前記変換された問合せ又はプログラムを実行するために、前記変換された問合せ又はプログラムを少なくとも１つのセンサと通信している少なくとも１つのセンサノードへ送信し、
前記少なくとも１つのセンサノードから前記問合せまたはプログラムの少なくとも１つの結果を受信し、
前記少なくとも１つの結果を戻すステップを含んでいる方法。
［２］前記少なくとも１つのセンサはセンサネットワーク中に含まれている［１］記載の方法。
［３］前記少なくとも１つのセンサノードは前記センサネットワーク中に含まれ、前記センサネットワークは複数のセンサノードを有している［２］の方法。
［４］前記少なくとも１つの結果は前記問合せオリジンに戻される［１］乃至［３］のいずれか１つに記載の方法。
［５］前記少なくとも１つの結果は前記問合せオリジン以外の目的地に戻される［１］乃至［４］のいずれか１つに記載の方法。
［６］さらに、前記少なくとも１つの結果を戻す前に、前記少なくとも１つの結果を濾波するステップを含んでいる［１］乃至［５］のいずれか１つに記載の方法。
［７］前記濾波は前記変換された問合せまたはプログラムの実行によって発生された大きい結果セットから前記問合せオリジンで発生された前記問合せまたはコマンドを満足する結果セットへ前記少なくとも１つの結果を減少させるステップを含んでいる［６］記載の方法。
［８］前記濾波は前記オントロジー変換器により実行される［６］または［７］記載の方法。
［９］前記変換された問合せまたはプログラムの前記送信と、前記少なくとも１つの結果の受信は第２のネットワークによって前記オントロジー変換器と通信するゲートウェイノードを介して実行される［１］乃至［８］のいずれか１つ記載の方法。
［１０］前記少なくとも１つの結果の前記受信は、前記オントロジー変換器で実行される［１］乃至［９］のいずれか１つに記載の方法。
［１１］さらに、前記問合せまたはコマンドを前記オントロジー変換器へ送信する前にそれを確認するステップを含んでいる［１］乃至［１０］のいずれか１つに記載の方法。
［１２］前記確認は前記オントロジーと前記１以上の予め定められた能力にしたがって、前記オントロジーリーゾナによる分類のために前記問合せまたはコマンドをオントロジーリーゾナへ送信するステップを含んでいる［１１］記載の方法。
［１３］前記問合せまたはコマンドを前記オントロジー変換器へ送信するステップは、前記第１のネットワークによって前記オントロジーへアクセスするオントロジーサーバへ前記問合せまたはプログラムを送信するステップを含み、ここで前記オントロジーサーバは前記第１のネットワークによってアクセス可能な１以上のオントロジー変換器の特定された１つへ前記問合せまたはコマンドを送信する［１］乃至［１２］のいずれか１つに記載の方法。
［１４］前記問合せオリジンは前記オントロジー内の前記問合せまたはコマンドをフレームするように構成されたインターフェースを有している問合せエディタを具備する［１］乃至［１３］のいずれか１つ記載の方法。
［１５］少なくとも１つのセンサのオントロジー駆動の問合せまたはプログラミングするためのシステムにおいて、
前記少なくとも１つのセンサに関して実行するための問合せ又はコマンドを問合せオリジンで発生し、前記問合せまたはコマンドを第１のネットワークによってオントロジー変換器へ送信する手段と、
前記少なくとも１つのセンサのオントロジーおよび１以上の予め定められた能力にしたがって前記問合せまたはコマンドを分類する手段と、
前記オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して前記分類された問合せまたはコマンドに基づいて、変換された問合せまたはプログラムを生成する手段とを具備し、ここで前記変換された問合せまたはプログラムを発生する手段は、前記少なくとも１つのセンサに関する前記少なくとも１つのセンサノードにより前記変換された問合せ又はプログラムを実行するために前記変換された問合せ又はプログラムを前記少なくとも１つのセンサと通信する少なくとも１つのセンサノードへ送信し、前記少なくとも１つのセンサノードから前記問合せまたはプログラムの少なくとも１つの結果を受信し、前記少なくとも１つの結果を戻すシステム。
［１６］前記少なくとも１つのセンサはセンサネットワーク中に含まれている［１５］記載のシステム。
［１７］前記少なくとも１つのセンサノードは前記センサネットワーク中に含まれ、前記センサネットワークは複数のセンサノードを有している［１６］記載のシステム。
［１８］さらに、前記少なくとも１つの結果を戻す前に、前記少なくとも１つの結果を濾波する手段を具備している［１５］乃至［１７］のいずれか１つに記載のシステム。
［１９］前記濾波手段は前記変換された問合せまたはプログラムの実行によって発生された大きい結果セットから前記問合せオリジンで発生された前記問合せまたはコマンドを満足する結果セットへ前記少なくとも１つの結果を減少させるように構成されている［１８］記載のシステム。
［２０］前記濾波手段は前記オントロジー変換器を具備している［１９］記載のシステム。
［２１］さらに、第２のネットワークによって前記オントロジー変換器と通信するゲートウェイノードを具備し、ここで前記変換された問合せまたはプログラムの前記送信と、前記少なくとも１つの結果の受信はゲートウェイノードを介して実行される［１５］乃至［２０］のいずれか１つに記載のシステム。
［２２］さらに、前記問合せまたはコマンドを前記オントロジー変換器へ送信する前にそれを確認する手段を具備している［１５］乃至［２１］のいずれか１つに記載のシステム。
［２３］前記確認手段は前記オントロジーと前記１以上の予め定められた能力にしたがって、前記オントロジーリーゾナによる分類のために前記問合せまたはコマンドを受信するように構成されているオントロジーリーゾナを具備する［２２］記載のシステム。
［２４］前記少なくとも１つの結果は前記問合せオリジンに戻される［１５］乃至［２３］のいずれか１つに記載のシステム。
［２５］前記少なくとも１つの結果は前記問合せオリジン以外の目的地に戻される［１５］乃至［２４］のいずれか１つに記載のシステム。
［２６］さらに、前記オントロジーへアクセスする前記オントロジーサーバを具備し、ここで前記問合せまたはコマンドを前記オントロジー変換器へ送信するステップは前記第１のネットワークによって前記オントロジーサーバへ前記問合せまたはプログラムを送信するステップを含み、それにおいて前記オントロジーサーバは前記第１のネットワークによってアクセス可能な１以上のオントロジー変換器の特定された１つへ前記問合せまたはコマンドを送信するように構成されている［１５］乃至［２５］のいずれか１つに記載のシステム。
［２７］前記問合せオリジンは前記オントロジー内で前記問合せまたはコマンドをフレームするように構成されたインターフェースを有する問合せエディタを具備している［１５］乃至［２６］のいずれか１つに記載のシステム。
［２８］前記変換された問合せまたはプログラムを生成する手段は前記オントロジー変換器を具備している［１５］乃至［２７］のいずれか１つに記載のシステム。
［２９］少なくとも１つのセンサのオントロジー駆動の問合せまたはプログラミングするためのシステムにおいて、
前記少なくとも１つのセンサに関して実行するための問合せ又はコマンドを生成するように構成された問合せオリジンと、
前記少なくとも１つのセンサのオントロジーおよび１以上の予め定められた能力にしたがって前記問合せ又はコマンドを分類するように構成されているオントロジーリーゾナと、
前記少なくとも１つのセンサと通信する少なくとも１つのセンサノードと、
問合せオリジン、オントロジーリーゾナ、および少なくとも１つのセンサと通信するオントロジー変換器とを具備し、それにおいて前記オントロジー変換器は前記問合せまたはコマンド受信し、前記問合せまたはコマンドを分類のために前記オントロジーリーゾナへ転送し、前記オントロジー変換器へアクセス可能なメモリ中に記憶されている１以上のコードフラグメントを使用して前記分類された問合せまたはコマンドに基づいて変換された問合せまたはプログラムを生成し、前記少なくとも１つのセンサに関する前記少なくとも１つのセンサノードにより前記変換された問合せ又はプログラムを実行するために前記変換された問合せ又はプログラムを前記少なくとも１つのセンサノードへ送信し、前記少なくとも１つのセンサノードから前記問合せまたはプログラムの少なくとも１つの結果を受信し、前記少なくとも１つの結果を戻すシステム。
［３０］添付図面および／または例を参照して実質的に説明されているオントロジー駆動の問合せまたはプログラミング方法。
［３１］添付図面および／または例を参照して実質的に説明されているオントロジー駆動の問合せまたはプログラミングシステム。
【図１】
0005536204.tif 000012
【図２】
0005536204.tif 000013
【図３】
0005536204.tif 000014