(57)【要約】【課題】センサネットワークに適用可能な制約を特徴付けるデータを受信し、センサネットワークの要求仕様の論理表現を受信し、制約を特徴付けるデータおよび要求仕様の論理表現を処理してセンサネットワークのモジュラ表現を生成するための方法、およびコンピュータプログラム製品を含む装置を提供すること。【解決手段】制約を特徴付けるデータは、物理的環境データ、センサ制約データ、および適用領域データを含む。センサネットワークのモジュラ表現は、センサネットワーク内のセンサノードの配置およびセンサの分布を定義する。【選択図】図１ａ
2006236314.tif 000002
【特許請求の範囲】
【請求項１】
物理的環境データ、センサ制約データ、および適用領域データを含む、センサネットワークに適用可能な制約を特徴付けるデータを受信するステップと、
前記センサネットワークの要求仕様の論理表現を受信するステップと、
前記制約を特徴付けるデータおよび前記要求仕様の前記論理表現を処理して、前記センサネットワーク内のセンサノードの配置およびセンサの分布を定義する前記センサネットワークのモジュラ表現を生成するステップと
を含むことを特徴とする方法。
【請求項２】
前記センサネットワークの前記モジュラ表現に従ってセンサノード上での実行に適しているコードのアイテムを生成するステップ
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
コードの各アイテムを対応するセンサノードに送信するステップ
をさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記センサネットワークの前記モジュラ表現によって定義されるようにセンサノードの配置および１つまたは複数のセンサをそれぞれ有するセンサノードを、前記物理的環境データによって特徴付けられる物理的環境に配置するステップ
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記処理するステップは、
１つまたは複数のセンサネットワーク要因を指定するユーザ入力を受信するステップと、
前記ユーザ指定のセンサネットワーク要因を使用して前記センサネットワークの前記モジュラ表現を生成するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記センサネットワークの前記モジュラ表現は、前記ユーザ指定のセンサネットワーク要因に従って最適化されることを特徴とする請求項５に記載の方法。
【請求項７】
前記物理的環境データは、前記センサネットワークが配置されるべき物理的環境を特徴付けるデータ、および前記物理的環境の制限を特徴付けるデータを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記センサ制約データは、センサタイプのパラメータを特徴付けるデータ、およびセンサノードのパラメータを特徴付けるデータを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記適用領域データは、前記センサネットワークが配置されるべき適用領域を特徴付けるデータを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記要求仕様の前記論理表現は、論理演算子を介して互いに関連付けられている複数の変数によってそれぞれ形成される１つまたは複数の論理ステートメントを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
マシンに、
物理的環境データ、センサ制約データ、および適用領域データを含む、センサネットワークに適用可能な制約を特徴付けるデータを受信させ、
前記センサネットワークの要求仕様の論理表現を受信させ、
前記制約を特徴付けるデータおよび前記要求仕様の前記論理表現を処理させて、前記センサネットワーク内のセンサノードの配置およびセンサの分布を定義する前記センサネットワークのモジュラ表現を生成させる
ように動作可能であることを特徴とする情報媒体に実体的に具体化されるコンピュータプログラム製品。
【請求項１２】
マシンに、
前記センサネットワークの前記モジュラ表現に従ってセンサノード上での実行に適しているコードのアイテムを生成させる
ようさらに動作可能であることを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
マシンに、
コードの各アイテムを対応するセンサノードに送信させる
ようさらに動作可能であることを特徴とする請求項１２に記載のコンピュータプログラム製品。
【請求項１４】
マシンに、
前記センサネットワークの前記モジュラ表現によって定義されるようにセンサノードの配置および１つまたは複数のセンサをそれぞれ有しているセンサノードを、前記物理的環境データによって特徴付けられる物理的環境に配置させる
ようさらに動作可能であることを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１５】
マシンに、
１つまたは複数のセンサネットワーク要因を指定するユーザ入力を受信させ、
前記ユーザ指定センサネットワーク要因を使用して、前記センサネットワークの前記モジュラ表現を生成させる
ようさらに動作可能であることを特徴とする請求項１１に記載のコンピュータプログラム製品。
【請求項１６】
マシンに、
前記ユーザ指定センサネットワーク要因に従って前記センサネットワークの前記モジュラ表現を最適化させる
ようさらに動作可能であることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１７】
マシンに、
ユーザ入力を受信するためのグラフィカルユーザインターフェースを提供させる
ようさらに動作可能であることを特徴とする請求項１５に記載のコンピュータプログラム製品。
【請求項１８】
（１）少なくとも１つの物理的環境モデル、少なくとも１つのセンサ制約モデル、および少なくとも１つの領域固有モデルを含む複数のモデル、および（２）センサネットワークの要求仕様の論理表現が格納されるメモリと、
物理的環境モデル、センサ制約モデル、領域固有モデル、および前記要求仕様の前記論理表現をメモリから取り出し、
前記モデルおよび前記要求仕様の前記論理表現を処理して、前記センサネットワーク内のセンサノードの配置およびセンサの分布を定義する前記センサネットワークのモジュラ表現を生成する
よう構成されているプログラムを実行するプロセッサと
を含むことを特徴とするシステム。
【請求項１９】
前記プログラムは、
前記センサネットワークの前記モジュラ表現に従ってセンサノード上での実行に適しているコードのアイテムを生成し、
コードの各アイテムを対応するセンサノードに送信する
ようにさらに構成されていることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記プログラムは、
１つまたは複数のセンサネットワーク要因を指定するユーザ入力を受信し、
前記ユーザ指定センサネットワーク要因を使用して、前記センサネットワークの前記モジュラ表現を生成する
ようにさらに構成されていることを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本記述は、センサネットワークのモデリングおよび配置に関する。
【背景技術】
【０００２】
センサネットワークは、分散された感知タスクを実行するために無線媒体によってリンクされているセンサノードの集まりによって形成される。センサネットワークは、監視、広範な環境サンプリング、セキュリティ、衛生管理などのタスクを実行するために、様々な環境に配置される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
センサネットワークをモデリングする方法、コンピュータプログラムおよびシステムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
概して、一態様において、本発明は、センサネットワークに適用可能な制約を特徴付けるデータ（ｃｏｎｓｔｒａｉｎｔ  ｃｈａｒａｃｔｅｒｉｚｉｎｇ  ｄａｔａ）を受信することと、センサネットワークの要求仕様の論理表現を受信することと、制約を特徴付けるデータおよび要求仕様の論理表現を処理してセンサネットワークのモジュラ表現を生成することとを含む方法を特徴とする。制約を特徴付けるデータは、物理的環境データ、センサ制約データ、および適用領域データ（ａｐｐｌｉｃａｔｉｏｎ  ｄｏｍａｉｎ  ｄａｔａ）を含む。センサネットワークのモジュラ表現は、センサネットワーク内のセンサノードの配置およびセンサの分布を定義する。
【０００５】
実施形態では、以下のうちの１つまたは複数を含み得る。この方法は、センサネットワークのモジュラ表現に従ってコードのアイテムを生成することを含む。コードの各アイテムは、センサノード上での実行に適している。この方法は、コードの各アイテムを対応するセンサノードに送信することを含む。この方法は、センサノードを、物理的環境データによって特徴付けられる物理的環境に配置することを含む。各センサノードは、センサネットワークのモジュラ表現によって定義されたようなセンサノードの配置、および１つまたは複数のセンサを有する。
【０００６】
この方法は、１つまたは複数のセンサネットワーク要因を指定するユーザ入力を受信することと、ユーザ指定のセンサネットワーク要因を使用してセンサネットワークのモジュラ表現を生成することとを含む。センサネットワークのモジュラ表現を、ユーザ指定のセンサネットワーク要因に従って最適化することができる。物理的環境データは、センサネットワークが配置されるべき物理的環境を特徴付けるデータ、および物理的環境の制限を特徴付けるデータを含むことができる。センサ制約データは、センサタイプのパラメータを特徴付けるデータ、およびセンサノードのパラメータを特徴付けるデータを含み得る。適用領域データは、センサネットワークが配置されるべき適用領域を特徴付けるデータを含み得る。要求仕様の論理表現は、論理演算子を介して互いに関連付けられている複数の変数によってそれぞれ形成される１つまたは複数の論理ステートメントを含み得る。
【０００７】
概して、一態様において、本発明は、マシンに、センサネットワークに適用可能な制約を特徴付けるデータを受信させ、センサネットワークの要求仕様の論理表現を受信させ、制約を特徴付けるデータおよび要求仕様の論理表現を処理させてセンサネットワークのモジュラ表現を生成させるように動作可能な、情報媒体に実体的に具体化されるコンピュータプログラム製品を特徴とする。制約を特徴付けるデータは、物理的環境データ、センサ制約データ、および適用領域データを含む。モジュラ表現は、センサネットワーク内のセンサノードの配置およびセンサの分布を定義する。
【０００８】
実施形態では、以下のうちの１つまたは複数を含み得る。コンピュータプログラム製品は、マシンに、センサネットワークのモジュラ表現に従ってコードのアイテムを生成させるようさらに動作可能である。コードの各アイテムは、センサノード上での実行に適している。コンピュータプログラム製品は、マシンに、コードの各アイテムを対応するセンサノードに送信させるようさらに動作可能である。コンピュータプログラム製品は、マシンに、物理的環境データによって特徴付けられる物理的環境にセンサノードを配置させるようさらに動作可能である。各センサノードは、センサネットワークのモジュラ表現によって定義されたようなセンサノードの配置、および１つまたは複数のセンサを有する。
【０００９】
コンピュータプログラム製品は、マシンに、１つまたは複数のセンサネットワーク要因を指定するユーザ入力を受信させ、ユーザ指定のセンサネットワーク要因を使用してセンサネットワークのモジュラ表現を生成させるようさらに動作可能である。コンピュータプログラム製品は、マシンに、ユーザ指定のセンサネットワーク要因に従ってセンサネットワークのモジュラ表現を最適化させるようさらに動作可能である。コンピュータプログラム製品は、マシンに、ユーザ入力を受信するためのグラフィカルユーザインターフェースを提供させるようさらに動作可能である。
【００１０】
概して、別の態様において、本発明は、（１）少なくとも１つの物理的環境モデル、少なくとも１つのセンサ制約モデル、および少なくとも１つの領域固有モデルを含む複数のモデル、および（２）センサネットワークの要求仕様の論理表現が格納されるメモリと、物理的環境モデル、センサ制約モデル、領域固有モデル、および要求仕様の論理表現をメモリから取り出し、それらのモデルおよび要求仕様の論理表現を処理して、センサネットワーク内のセンサノードの配置およびセンサの分布を定義する、センサネットワークのモジュラ表現を生成するように構成されているプログラムを実行するプロセッサとを含むシステムを特徴とする。
【００１１】
実施形態では、以下のうちの１つまたは複数を含み得る。プログラムは、センサネットワークのモジュラ表現に従ってセンサノード上で実行するのに適しているコードのアイテムを生成し、コ―ドの各アイテムを対応するセンサノードに送信するようにさらに構成されている。このプログラムは、１つまたは複数のセンサネットワーク要因を指定するユーザ入力を受信し、ユーザ指定のセンサネットワーク要因を使用してセンサネットワークのモジュラ表現を生成するようにさらに構成されている。
【００１２】
本発明の特定の実装形態に見られる利点は、以下のうちの１つまたは複数を含む。モデリングツールによって、センサネットワークモデルを、自動プロセスを介して生成することができる。センサネットワークモデルは、それだけには限定されないが、配置のコスト、センサノードの最大数、特定のタイプのセンサの最大数、ノード当たりの消費電力、センサネットワークにわたる総消費電力、および帯域幅効率を含むいくつかの変数を考慮するように調整することができる。センサネットワークモデルは、適用領域および物理的環境に基づいて、かつ／またはセンサネットワークが配置される要求仕様を使用してカスタマイズすることができる。センサネットワークモデルは、例えば自動コードジェネレータによって、実行可能なコードのアイテムに変換することができる。実行可能コードの各アイテムは、物理的環境において、配置前または配置後に、対応するセンサノードのメモリにロードすることができる。各センサノードは、実行中に再プログラム可能であり（すなわち要求に応じてメモリ内の実行可能コードを変更することができる）、したがってセンサネットワークを配置した後で、変更を加えることができる。こうした変更は、センサネットワークに関連付けられている内部要因（センサノードの停電など）または物理的環境（気候制御システムの故障など）または適用領域（より厳格な標準を必要とするように修正された法律など）に関連付けられている外部要因に起因し得る。
【００１３】
１つまたは複数の例の詳細が添付の図面および下記の説明に記載されている。本発明のこれ以上の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになる。
【発明を実施するための最良の形態】
【００１４】
図面１ａ〜１ｄを参照すると、センサノード１０２の分散された集まりが、（二重破線によって表されている）無線通信リンクによって相互接続されたセンサネットワーク１０４を形成している。各センサノード１０２は、その物理的環境からデータサンプルを感知し、収集する。センサノード１０２は、ルーティング機能を実行して、データサンプルをエンタープライズサーバ１０６に中継するマルチホップ無線ネットワーキングファブリックを形成する。エンタープライズサーバ１０６は、センサネットワーク１０４によって集められた情報を受信し、（必要に応じて）追加の処理を実行し、外部ネットワーク１１２を介して情報を１つまたは複数のクライアント１１０に配信する。２〜３例を挙げると、ユーザ１１４は、クライアント１１０で提供されるユーザインターフェースを介して、ノードレベルまたはネットワークレベルでセンサノード１０２のアクティビティを表示すること、個々のセンサノード１０２の健康状態（バッテリレベルなど）を判定すること、センサノード１２のセンサ感度閾値を設定するコマンド、あるいは個々のセンサノード１０２を再プログラムするコマンドを発行することによって、センサネットワーク１０４と対話することができる。
【００１５】
各センサノード１０２は、処理、感知、および通信機能を有する電子装置である。各センサノード１０２は、電源１２０（バッテリなど）、１つまたは複数のプロセッサ（本明細書では「プロセッサ１２２」と呼ぶ）、ソフトウェア１２６を格納するメモリ１２４、通信インターフェース１２８、および１つまたは複数のセンサ１３０を含む。エンタープライズサーバ１０６に直接接続されていないセンサノードの通信インターフェース１２８は、典型的に、無線構成要素（アンテナなど）のみを含む。センサネットワーク１０４とエンタープライズサーバ１０６との間のゲートウェイとして働くセンサノード１０２の場合、通信インターフェース１２８は、無線構成要素および有線構成要素（Ｅｔｈｅｒｎｅｔ（登録商標）ジャックなど）を含む。
【００１６】
センサノード１０２のプロセッサ１２２は、オペレーティングソフトウェア１３２およびアプリケーションソフトウェア１３４を含むソフトウェア１２６を実行する。オペレーティングソフトウェア１３２は、ＴｉｎｙＯＳ（バークリー、カリフォルニア大学で開発）などのオペレーティングシステム１３２ａを含む。アプリケーションソフトウェア１３４は、１つまたは複数のプログラムモジュール１３４ａ、１３４ｂを含む。各プログラムモジュール１３４ａ、１３４ｂは、センサノードの配置前にメモリ１２４にロードされるか、配置後に無線通信リンクを介して受信される実行可能コードを含む。こうした配置後のプログラミングは、環境に組み込まれているセンサノード１０２を自動で（ｏｎ−ｔｈｅ−ｆｌｙ）プログラム（または再プログラム）できるようにし、したがってアプリケーションのアップグレードまたは変更、また一部の場合、例えばリモートリブートを介してプログラムにより誘導されたクラッシュまたは障害からの回復を提供する。
【００１７】
各センサノード１０２は、それだけには限定されないが、加速、振動、温度、音および光、動き、および他のセンサノード１０２への近さを含む異なる環境条件を検出する１つまたは複数のセンサ１３０を含む。検出の結果得られた感知生データを、自主的に、または近くのセンサノード１０２と協力して処理し、分析して、フィルタリングされたセンサ測定値を生成することができる。次いでフィルタリングされたセンサ測定値は、マルチホップ経路上のセンサノードを通ってエンタープライズサーバ１０６に渡される。連続した一連の生データではなくフィルタリングされたセンサ測定値をセンサノード１０２間で通信することによって、センサネットワーク１０４内で情報を伝えるのに必要な電力が低減する。
【００１８】
エンタープライズサーバ１０６は、プロセッサ１４０、およびソフトウェア１４４を格納するメモリ１４２を含む任意のタイプのコンピュ―ティング装置とすることができる。プロセッサ１４０は、１つまたは複数のビジネスアプリケーション１４６およびオペレーティングソフトウェア１４８を含むソフトウェア１４４を実行する。オペレーティングソフトウェア１４８は、それだけには限定されないが、オペレーティングシステム１４８ａ、および外部ネットワーク１１２を介して通信を行う１つまたは複数のルーチンを含む。一例において、エンタープライズサーバ１０６は、いずれもドイツ、ヴァルドルフ（バーデン州）のＳＡＰ  ＡＧから入手可能なｍｙＳＡＰ  Ｐｒｏｄｕｃｔ  Ｌｉｆｅｃｙｃｌｅ  Ｍａｎａｇｅｍｅｎｔ（「ＰＬＭ」）ビジネスアプリケーションソフトウェア１４６を稼働させるＳＡＰ  Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ  １０６である。ｍｙＳＡＰ  ＰＬＭビジネスアプリケーション１４６をライフサイクルデータ管理、プログラム／製品管理、ライフサイクルコラボレーション、品質管理、資産ライフサイクル管理、および環境、衛生、および安全の管理に使用することができる。
【００１９】
ビジネスアプリケーション１４６に関連付けられているデータは、エンタープライズサーバ１０６によってアクセス可能なアプリケーションデータベース１１６に格納される。図１ａにはアプリケーションデータベース１１６を１つだけしか示していないが、示した単一のアプリケーションデータベース１１６は、ファイルの受信および格納に適した物理的な、または仮想の任意の中央または分散データベースを表す。各ファイルは、データのエンティティ、すなわちエンティティとして処理することができるバイト列である。ファイルは、テキスト、画像、実行可能ファイル、または単純なバイナリデータなど、任意の種類の情報を表すことができる。
【００２０】
外部ネットワーク１１２は、インターネットによってリンクされていてもいなくても良い、広域ネットワーク（「ＷＡＮ」）、ＬＡＮ、無線ネットワークなどの１つまたは複数のネットワークによって構成され得る。外部ネットワーク１１２は、伝送制御プロトコル／インターネットプロトコル（「ＴＣＰ／ＩＰ」）または他の適したプロトコルを稼働させる。ネットワーク接続は、Ｅｔｈｅｒｎｅｔ（登録商標）、電話線、無線、または他の送信媒体を介することができる。
【００２１】
各クライアント１１０は、任意のタイプのＷｅｂ対応装置またはシステムとすることができる。こうした装置またはシステムの例には、それだけには限定されないが、デスクトップコンピュータ、ラップトップコンピュータ、メインフレームコンピュータ、セルラー式電話、携帯情報端末（「ＰＤＡ」）、そうでなければコンピューティングしない装置に組み込まれたコントローラなどがある。クライアント１１０は、１つまたは複数のプロセッサ１６０（単に「プロセッサ１６０」と呼ばれる）、およびソフトウェア１６４を格納するメモリ１６２を含む。プロセッサ１６０は、Ｗｅｂクライアントアプリケーション１６６およびオペレーティングソフトウェア１６８を含むソフトウェア１６４を実行する。Ｗｅｂクライアントアプリケーション１６６は、クライアント１１０が外部ネットワーク１１２を介して通信できるようにするＴＣＰ／ＩＰプロトコルの実施に使用される１つまたは複数のルーチンを含む。オペレーティングソフトウェア１６８は、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ（登録商標）などのオペレーティングシステム１６８ａ、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）などのＷｅｂブラウザ１６８ｂ、および様々なアプリケーションプログラムを含み得る。
【００２２】
センサネットワーク１０４を、物理探索モニタリング、精密農業、生息環境モニタリング、状態ベースの機器メンテナンス（ｃｏｎｄｉｔｉｏｎ−ｂａｓｅｄ  ｅｑｕｉｐｍｅｎｔ  ｍａｉｎｔｅｎａｎｃｅ）、サプライチェーンマネジメント、資産追跡、衛生管理モニタリングを含む様々な適用領域で使用することができるが、配置されたセンサネットワーク１０４は、一般に単一の適用領域を対象としており、領域の必要性に合うように調整される。
【００２３】
１つのシナリオ例では、化学薬品製造会社は、何百もの異なる原料を扱い、何千もの最終製品を製造する。この会社は、ｍｙＳＡＰ  ＰＬＭアプリケーション１４６の環境、衛生、および安全（「ＥＨ＆Ｓ」）マネジメント機能を使用して、そのＥＨ＆Ｓ法規の要求が確実に会社の手順によって継続的に更新され、満たされるようにしながら、会社がそのＥＨ＆Ｓプロセスをグローバルに管理できるようにするエンタープライズソリューションを提供する。
【００２４】
会社は、原料および／または最終製品ごとに、組成、物理的データ（融点、沸点、引火点など）、毒性、健康への影響、応急手当、反応度、保管、処分、防護装置、および流出／漏出手順などの情報を含むアプリケーションデータベース１１６を維持する。アプリケーションデータベース１１６内の情報を、法律の変更を反映するために更新することができ、ｍｙＳＡＰ  ＰＬＭアプリケーション１４６は、記録の保持の目的で、こうした変更の記録を維持する。環境保護および作業安全データを社内全体で使用可能にすることができ、包括的な検索機能および出力機能は、従業員が情報を迅速かつ容易に見つけ出すのを助ける。さらに、成分データシートを、アプリケーションデータベース１１６に格納されているデータから容易に生成することができる。こうした成分データシートは、従業員および救急スタッフに、特定の物質を扱い、処理するのに適した手順を提供する。
【００２５】
アプリケーションデータベース１１６に格納されている情報は、会社がＥＨ＆Ｓ問題を監視するセンサネットワーク１０４を、例えば原料および／または最終製品を含む化学ドラムを格納するための保管設備内に配置するのを助けるために使用することもできる。一実装形態において、エンタープライズサーバ１０６は、確実かつ効率的にセンサ測定値を収集し、その後ｍｙＳＡＰ  ＰＬＭアプリケーション１４６によって処理し、例えば危険な状況が保管設備内に存在するかどうかなどを決定することができるようにするためにセンサノードの配置を識別するセンサネットワークモデルを生成するモデリングツール１５０を含む。このように、エンタープライズサーバ１０６は、配置されたセンサネットワーク１０４からの（生のまたはフィルタリングされたセンサ測定値の形の）データの、ｍｙＳＡＰ  ＰＬＭアプリケーション１４６などのビジネスアプリケーションとのシームレスな統合をサポートするインフラを提供する。
【００２６】
センサネットワークモデルが生成され、会社によって承認されると、保管設備に配置すべき各センサノード１０２のセンサタイプおよび場所を指定するセンサネットワークモデルの「青写真」を会社スタッフに提供することができる。次いで会社スタッフは、青写真に従って保管設備内の対象物にセンサノード１０２を付けることができる。対象物は、固定位置（収納棚、手すりなど）にあっても移動可能（化学薬品ドラムなど）であっても良い。各センサノード１０２のプログラムモジュール１３４ａ、１３４ｂは、上述したように、配置前または配置後にエンタープライズサーバ１０６によって提供される実行可能コードを含む。
【００２７】
図２に示すように、センサネットワークモデル２００を生成するために、モデリングツール１５０は、要求分析書２０２、物理的環境モデル２０４、センサ制約モデル２０６、および領域固有モデル２０８を入力として取得する。モデルのそれぞれ（すなわち物理的環境モデル２０４、センサ制約モデル２０６、領域固有モデル２０８）を予め作成し、モデルデータベース１１８に（典型的には単一ファイルのコードとして）格納して、モデリングツール１５０によってその後取り出すようにすることができる。あるいは、モデル２０４〜２０８のうちの１つまたは複数は、ユーザ１１４によって提供された情報、および／またはアプリケーションデータベース１１６から取り出された情報を使用して、モデリングツール１５０によって作成することができる。例えば、モデリングツール１５０は、原料および最終製品についての情報（組成、物理的データ、毒性、反応度など）、特定の国においてＥＨ＆Ｓ問題を管理する法規を取り出して領域固有モデル２０８を生成することができる。
【００２８】
典型的には、会社スタッフは、センサネットワーク配置ライフサイクルの初期段階中に要求分析書２０２を作成する。要求分析書２０２は、業務用語で、センサネットワーク配置を保管設備に配置することによって満たされる会社の必要性または目的を記述する。一般に、要求分析書２０２は、「ｓｈａｌｌ」命令文（“ｓｈａｌｌ”ｓｔａｔｅｍｅｎｔｓ）の形で表される要求の集まりを含む。各「ｓｈａｌｌ」命令文は、配置されたセンサネットワークをこれと比べてその要求に確実に適合するようにする一意かつ固有の要求を表す。保管設備内の「ｓｈａｌｌ」命令文のシナリオの一例には、「配置されたセンサネットワークは、ＥＨ＆Ｓ法規が確実に満たされるようにするものとする」というものがある。別の例には、「配置されたセンサネットワークは、危険な状況が検出されると、会社スタッフに確実に知らせるものとする」というものがある。「ｓｈａｌｌ」命令文は、本質的に、配置されるセンサネットワークを提示する成果物が会社から見て容認できるものとなるように明確に指示するタスクリストとして働く。モデリングツール１５０と対話するユーザ１１４は、要求分析書２０２で提供された「ｓｈａｌｌ」命令文を、プログラミングコードに構文解析可能な論理フォーマットに変換することができる。一例において、ユーザは、「ｓｈａｌｌ」命令文を、論理演算子を介して互いに関連付けられている複数の変数によってそれぞれ形成される論理ステートメントに変換する。このように、要求分析書２０２の論理表現が生成され、その後モデリングツール１５０によって使用することができる。
【００２９】
物理的環境モデル２０４は、センサネットワーク１０４が配置される物理的空間を定義する。物理的環境モデル２０４は、モデリングツール１５０によって、効果的なセンサネットワーク１０４を生成するために考慮される必要がある保管設備の物理的制約を識別するために使用される。シナリオ例では、物理的環境モデル２０４は、２〜３例を挙げると、建築構造（外壁に使用するコンクリートおよび大理石、内壁用の乾式壁、床用のコンクリートスラブ、オープンなコンクリート天井および露出した管、およびコンクリートの柱など）、収納スペース（それぞれ約１０，０００平方フィート（３．０４８平方キロメートル）サイズの４つの個別のフロアスペースなど）、内部構造（柱や内壁の位置、ステップ、傾斜路、および造り付けの収納棚など）、床積載制限（ｌｏａｄ  ｃａｐａｃｉｔｙ  ｆｌｏｏｒ  ｌｉｍｉｔａｔｉｏｎｓ）、および気候調節／換気／電気／スプリンクラーシステムに関する保管設備の説明（テキストおよび／または図など）を提供する。
【００３０】
センサ制約モデル２０６は、個々のセンサノードレベルで、またはセンサネットワークレベルで適用する制約を定義する。センサ制約モデル２０６は、モデリングツール１５０によって、効果的なセンサネットワーク１０４を生成するために考慮される必要があるセンサに関する物理上、機能上、および／または操作上の制約を識別するために使用される。このシナリオ例において、センサ制約モデル２０６は、すべてのセンサノード１０２に均一に適用する制約（バッテリ電力、処理能力、メモリサイズ、信号範囲、ネットワーク帯域幅など）、センサタイプ固有の制約（湿度センサの感知範囲に対する温度センサの感知範囲、カメラセンサの方向パラメータなど）、およびネットワーク固有の制約（ノードの機能停止時に信頼できる通信を提供するためのセンサノードの配列など）を考慮する。
【００３１】
領域固有モデル２０８は、センサネットワーク１０４を固有の適用領域に合わせるようにすることができるルール（監視対文書を格納するための保管設備の監視に対する化学薬品ドラムを格納するための保管設備の監視など）を記述する。このシナリオ例において、領域固有モデル２０８は、保管容量、保管状態、および相性の悪い品に関する１組の記憶ルールを含む。保管容量ルールの一例では、保管領域のうちの任意の１００平方メートルの領域内に格納される化学薬品ドラムが５０個未満であることを要求する。保管状態ルールの一例では、いくつかの化学薬品ドラムがある温度または湿度要件に従って格納されることを要求する。相性の悪い品ルールでは、特に互いに反応するいくつかの化学薬品を互いに近くに保管すべきではないことを要求する。領域固有モデル２０８は、他のタイプおよび組のルールを提供し得る。
【００３２】
一実施形態において、センサネットワークモデルを生成する前に、モデリングツール１５０は、ユーザ１１４が、コスト、センサノードの最大数、特定のタイプのセンサの最大数、ノード当たりの消費電力、センサネットワークにわたる総消費電力、および帯域幅効率など１つまたは複数のセンサネットワーク要因２１０を選択するグラフィカルユーザインターフェースを提供する。次いでモデリングツール１５０は、要求分析書２０２、物理的環境モデル２０４、センサ制約モデル２０６、および領域固有モデル２０８を入力として取得し、ユーザ指定要因２１０に基づいて最適化されたセンサネットワークモデル２００を生成する。センサネットワークモデル２００の一例において、保管設備に配置すべき各センサノード１０２は、それだけには限定されないが、位置座標およびセンサタイプを含む情報によってセンサネットワークモデル２００に表される。
【００３３】
センサネットワークモデル２００が生成され、会社によって承認されると、センサノード１０２は、センサネットワークモデル２００に基づいて保管設備に配置される。一実装形態において、エンタープライズサーバ１０６は、センサネットワークモデル２００を実行可能コード２５０のアイテムに変換する自動コードジェネレータ１５２を含む。実行可能コード２５０の各アイテムは、センサネットワークモデル２００において特定のセンサノード１０２に関連付けられており、配置前または配置後にそのセンサノード１０２のメモリ１２４にロードされ得る。
【００３４】
モデリングツール１５０は、定期的に、配置されているセンサネットワーク１０４内で変更を加える必要があることを示す更新をセンサネットワーク１０４から受信する。例えば、モデリングツール１５０は、１つまたは複数のセンサノードの機能停止を示す警告をセンサネットワーク１０４から受信し得る。こうした場合、モデリングツール１５０は、残りのセンサノード１０２が、例えばＥＨ＆Ｓ法規を満たしながら、故障したセンサノードの感知タスクを行うことができるかどうかを決定する。できる場合、それ以上のアクションは行われない。一方、センサノードの機能停止の結果、モデリングツール１５０がＥＨ＆Ｓ法規のうちの１つまたは複数が満たされないと決定した場合、通知メッセージが生成され、会社スタッフに送信されて、会社スタッフに状況が通知される。次いで、代替センサノード１０２を配置するためのステップを行うことができる。
【００３５】
また、モデリングツール１５０は、ｍｙＳＡＰ  ＰＬＭビジネスアプリケーション１４６から、アプリケーションデータベース１１６に加えられた変更が配置されたセンサネットワーク１０４に影響を与え得ることを示す更新を受信し得る。例えば、モデリングツール１５０は、ｍｙＳＡＰビジネスアプリケーション１４６から、いくつかのＥＨ＆Ｓ法規をより厳格にしたことを示す警報を受信し得る。こうした場合、モデリングツール１５０は、ＥＨ＆Ｓ法規が確実に満たされるようにするために、追加のセンサノードをセンサネットワークに配置する必要があるかどうかを決定し、必要がある場合は、位置座標、およびセンサタイプを決定する。次いで会社スタッフは、追加のセンサノード１０２を配置するステップを行うことができる。
【００３６】
添付の文書に記載した技術および機能的操作のすべては、この明細書に開示されている構造的手段およびその構造的均等物を含め、またはその組み合わせで、デジタル電子回路、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて実施することができる。本技術は、１つまたは複数のコンピュータプログラム製品、すなわち、例えばプログラム可能プロセッサ、コンピュータ、または複数のコンピュータなどのデータ処理装置によって実行するために、またはその操作を制御するために、情報媒体、例えばマシン可読記憶装置や伝搬信号に実体的に具体化される１つまたは複数のコンピュータプログラムとして実装することができる。コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる）は、コンパイル言語、インタプリタ言語を含めて、任意の形のプログラミング言語で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットを含む任意の形で配置することができる。コンピュータプログラムは、必ずしもファイルに対応していなくてもよい。プログラムは、当該プログラム専用の単一のファイルに、または複数の連携ファイル（ｃｏｏｒｄｉｎａｔｅｄ  ｆｉｌｅｓ）（１つまたは複数のモジュール、サブプログラム、またはコードの一部分を格納するファイルなど）に他のプログラムまたはデータを保持するファイルの一部に格納することができる。コンピュータプログラムは、１つのコンピュータで、または１つのサイトの複数のコンピュータで、または複数のサイトにわたって分散され、通信ネットワークで相互接続された複数のコンピュータで実行するように配置することができる。
【００３７】
本技術の方法のステップを含めて、この明細書に記載したプロセスおよび論理フローは、入力データに対して作用し、出力を生成することによって本技術の機能を実行するために、１つまたは複数のコンピュータプログラムを実行する１つまたは複数のプログラム可能プロセッサによって実行することができる。プロセスおよび論理フローは、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）またはＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）など、専用論理回路によって実行することもでき、また本技術の装置は、専用論理回路として実装することができる。
【００３８】
コンピュータプログラムの実行に適したプロセッサは、一例として、汎用および専用マイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するプロセッサ、および命令およびデータを格納する１つまたは複数のメモリ装置である。一般に、コンピュータは、磁気、光磁気ディスク、または光ディスクなど、データを格納する１つまたは複数の大容量記憶装置も含み、またはそれとの間でデータの送受信を行うように動作可能に結合される。コンピュータプログラム命令およびデータを組み込むのに適した情報媒体は、一例としてＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ装置などの半導体メモリ装置、内部ハードディスクや取外式ディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含めて、すべての形の不揮発性メモリを含む。プロセッサおよびメモリは、専用論理回路によって補うことができ、またはそれに組み込むことができる。
【００３９】
本技術は、バックエンド構成要素（データサーバなど）、ミドルウェア構成要素（アプリケーションサーバなど）、またはフロントエンド構成要素（ユーザが本技術の実装と対話することができるグラフィカルユーザインターフェースやＷｅｂブラウザを有するクライアント構成要素など）、あるいはこうしたバックエンド、ミドルウェア、およびフロントエンドの構成要素の任意の組み合わせを含むコンピューティングシステムで実施することができる。システムの構成要素は、任意の形または媒体のデジタルデータ通信、例えば通信ネットワークなどによって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク（「ＬＡＮ」）および広域ネットワーク（「ＷＡＮ」）、例えばインターネットなどがある。
【００４０】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に互いに離れており、一般に通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で稼動し、相互にクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【００４１】
他の実施形態は、特許請求の範囲内に含まれる。上記は、例示のための例にすぎず、いかなる方法でも代替を限定するものではない。本明細書に記載した技術は、異なる順序で実行することができ、依然として望ましい結果を達成する。
【図面の簡単な説明】
【００４２】
【図１ａ】センサネットワークを使用して環境を監視するシステムを示すブロック図である。
【図１ｂ】センサノードを示すブロック図である。
【図１ｃ】エンタープライズサーバを示すブロック図である。
【図１ｄ】クライアントを示すブロック図である。
【図２】センサノードのモデリングおよび配置のプロセスを示す図である。
【図１ａ】
2006236314.tif 000003
【図１ｂ】
2006236314.tif 000004
【図１ｃ】
2006236314.tif 000005
【図１ｄ】
2006236314.tif 000006
【図２】
2006236314.tif 000007
【外国語明細書】
2006236314000001.pdf