(57)【要約】【課題】複数のピア・ツー・ピア・ノードを有する無線センサ・ネートワークを提供する。【解決手段】本発明において、ネットワーク内の各ノードは、とりわけ環境因子を検出するセンサを含む。ノード内に潜在的な不良が検出された場合、ノードはその隣接ノードに問い合わせ、隣接ノードが潜在的に不良なノード内に現在保存されているいずれかのデータ・コンポーネントを保存する能力を有するかを判定する。問い合わせに基づいて、潜在的に不良なノード内のデータ・コンポーネントは、隣接ノードのひとつ以上にコピーされる。その後、コピーの詳細をネットワーク内の他のノードに配信することができ、無線センサ・ネットワーク全体に保存されるデータ・コンポーネントの位置を識別するあらゆるルーティング・テーブルを更新することができる。【選択図】図２
2008514067.tif 000002
【特許請求の範囲】
【請求項１】
ピア・ツー・ピア・ノードのセンサ・ネットワーク内のノード間でデータ・コンポーネントをコピーする方法であって、
潜在的なノードの不具合を感知するステップと、
前記ひとつのノード内に現在保存されているデータ・コンポーネントを保存するための隣接ノードの能力を判定するために前記ひとつのノードの前記隣接ノードに問い合わせるステップと、
前記問い合わせに基づいて前記隣接ノードの少なくともひとつに前記データ・コンポーネントをコピーするステップと、
前記コピーの詳細を前記少なくともひとつの隣接ノードから前記少なくともひとつの隣接ノードに近接するノードに配信するステップとを有する方法。
【請求項２】
前記コピーに基づいてルーティング・テーブルを更新するステップをさらに有する、請求項１に記載の方法。
【請求項３】
前記センサ・ネットワークは無線センサ・ネットワークである、請求項１または２に記載の方法。
【請求項４】
前記問い合わせステップは、前記隣接ノードの利用可能なリソースと、記憶容量と、総合ステータスとを判定するために前記隣接ノードに問い合わせるステップを有する、請求項１、２、または３に記載の方法。
【請求項５】
前記コピーするステップは、前記問い合わせに基づいて前記データ・コンポーネントを前記隣接ノードのひとつにコピーするステップ、または、前記問い合わせに基づいて前記データ・コンポーネントの別個の部分を別の隣接ノードにコピーするステップを有する、請求項１から４のいずれかに記載の方法。
【請求項６】
前記問い合わせが全ての前記隣接ノードが前記能力を欠いていると判定した場合、前記データ・コンポーネントは前記少なくともひとつの隣接ノードにコピーされず、前記方法は
もし前記隣接ノードが前記データ・コンポーネントを保存する能力を欠くならば、前記隣接ノードに近接するノードに問い合わせるステップと、
前記問い合わせに基づいて前記近接ノードの少なくともひとつに前記データ・コンポーネントをコピーするステップとをさらに有する、請求項１から５のいずれかに記載の方法。
【請求項７】
データセットを提供するステップと、
前記データセットをデータ・コンポーネントに分割するステップとをさらに有する、請求項１から６のいずれかに記載の方法。
【請求項８】
前記感知ステップの前に、グローバル・ルーティング・テーブルを用いて前記ノードに前記データ・コンポーネントを保存するステップをさらに有する、請求項１から７のいずれかに記載の方法。
【請求項９】
センサと、隣接ノードに問い合わせるための問い合わせシステムと、前記問い合わせに基づいてデータ・コンポーネントを前記隣接ノードにコピーするための通信システムとをそれぞれ有する複数のノードと、
前記ノードに保存されたデータ・コンポーネントの位置を識別するグローバル・ルーティング・テーブルと、
データ・コンポーネントが前記隣接ノードにコピーされた場合に前記グローバル・ルーティング・テーブルを更新するための更新システムとを有する、無線センサ・ネットワーク。
【請求項１０】
センサ・ネットワーク内で使用するノードであって、
前記ノード内の潜在的な不具合を検出するセンサと、
前記センサが前記潜在的な不具合を検出した場合に、隣接ノードに問い合わせるための問い合わせシステムと、
前記問い合わせに基づいて、前記ノード内に現在保存されているデータ・コンポーネントを前記隣接ノードの少なくともひとつにコピーするための通信システムと、
前記データ・コンポーネントがコピーされた場合に、ルーティング・テーブルを更新する更新システムとを有するノード。
【請求項１１】
ピア・ツー・ピア・ノードのセンサ・ネットワーク内のノード間でデータ・コンポーネントをコピーするための、記録可能な媒体に保存されたプログラムであって、
特定のノード内のセンサが潜在的な不具合を検出した場合に、隣接ノードに問い合わせるためのプログラム・コードと、
前記問い合わせに基づいて前記特定のノード内に現在保存されているデータ・コンポーネントを前記隣接ノードの少なくともひとつにコピーするためのプログラム・コードと、
前記データ・コンポーネントがコピーされた場合に、ルーティング・テーブルを更新するためのプログラム・コードとを有するプログラム。
【請求項１２】
ピア・ツー・ピア・ノードの無線センサ・ネットワーク内のノード間でデータ・コンポーネントをコピーするためのアプリケーションを導入するシステムであって、
コンピュータ・インフラが、
特定のノード内のセンサが潜在的な不具合を検出した場合に隣接ノードに問い合わせ、
前記問い合わせに基づいて、前記特定のノード内に現在保存されているデータ・コンポーネントを前記隣接ノードの少なくともひとつにコピーし、
前記データ・コンポーネントがコピーされた場合にルーティング・テーブルを更新する機能を有するシステム。
【請求項１３】
ピア・ツー・ピア・ノードの無線ネットワーク内のノード間でデータ・コンポーネントをコピーするために伝播信号によって具体化されるコンピュータ・ソフトウェアであって、コンピュータ・システムに、
特定のノード内のセンサが潜在的な不具合を検出した場合に隣接ノードに問い合わせをさせ、
前記問い合わせに基づいて前記特定のノード内に現在保存されているデータ・コンポーネントを前記隣接ノードの少なくともひとつにコピーさせ、
前記データ・コンポーネントがコピーされた場合にルーティング・テーブルを更新させる
指示を有する、コンピュータ・ソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は全体として、無線センサ・ネットワークのノード間でデータをコピーする方法およびシステムに関する。特に、本発明は、潜在的な不具合が検出された場合のノード間のデータ・コンポーネントのコピーに関する。
【背景技術】
【０００２】
従来のコンピュータを利用した記憶システムでは、データは通常、保護の層、バックアップ・システム、および暗号アルゴリズムを伴った高度なシステム内に保存される。しかし、今日では、野原の火災、生化学的な事故または攻撃等の、環境に基づく多くの公安上の危険が存在する。このような危険に関するリアルタイムで正確な情報の入手は、危険を食い止め、被害を最小化する上で不可欠となり得る。既存の記憶システムでも、技術的な不具合、ウイルス、あるいは予測不能な災害によって、データが失われることがある。現在は、データとそのバックアップを含んだ固定構造を構築することに焦点が当てられている。残念ながら、これはグローバルに広がるネットワーク環境では役に立たない。さらに、従来の障害回復システムは、外部からの攻撃（例えば、ハッカー）および自然災害からデータを保護することができない。
【０００３】
参照される特許文献は、複数のノード同士が相互接続された（例えば、ピア・ツー・ピアで）無線センサ・ネットワークを提供することにより、データ損失の防止に踏み出している。無線センサ・ネットワーク内にデータセットを保存するには、データセットはデータ・コンポーネントに分解されてから、ネットワークのノードに保存される。データの保存は通常、ルーティング・テーブルまたはその種の他のものに従ってネットワーク内のルーティング経路をたどることによって生じる。経路をたどるにつれて、データ・コンポーネントがノードに保存される。さらに、ネットワーク内の各ノードには、データ・コンポーネントを転送または保存するノードの能力に影響を与え得る環境的要因を感知するためのセンサが備えられる。センサを用いた検出システムの他の例は、特許文献１、および特許文献２に記述され、これらの双方は参照により組み込まれる。
【特許文献１】米国特許第６，１６９，４７６号Ｂ１
【特許文献２】米国特許第６，２９３，８６１号Ｂ１
【発明の開示】
【発明が解決しようとする課題】
【０００４】
残念ながら、データ・コンポーネントがノードに保存された後にノードの潜在的な不具合に対処する方法を提供する既存のシステムはない。特に、データ・コンポーネントを潜在的に不具合のあるノードからネットワーク内の別のノードへ複製／コピーする方法を提供する既存のシステムはない。上記に鑑みると、無線センサ・ネットワーク内のノード間でデータ・コンポーネントをコピーする方法およびシステムの必要性が存在する。特に、潜在的に不具合のあるノードからデータ・コンポーネントを受信することが可能な隣接ノードへ、データ・コンポーネントを効果的にコピーするシステムの必要性が存在する。
【課題を解決するための手段】
【０００５】
概して、本発明は、無線センサ・ネットワークのノード間でデータをコピーする方法およびシステムを提供する。特に、本発明では、複数のピア・ツー・ピア・ノードを有する無線センサ・ネトワークが提供される。ネットワーク内の各ノードは、とりわけ、環境因子を検出するセンサを含む。ノード内に潜在的な不具合が検出された場合、ノードはその隣接ノードに問い合わせ、隣接ノードが潜在的に不具合のあるノード内に現在保存されているいずれかのデータ・コンポーネントを保存する能力を有するかを判定する。問い合わせに基づいて、潜在的に不具合のあるノード内のデータ・コンポーネントは、ひとつ以上の隣接ノードにコピーされる。その後、コピーの詳細をネットワーク内の他のノードに配信することができ、無線センサ・ネットワーク全体に保存されるデータ・コンポーネントの位置を識別するあらゆるルーティング・テーブルを更新することができる。
【０００６】
本発明の第一態様は、ピア・ツー・ピア・ノードのセンサ・ネットワーク内のノード間でデータ・コンポーネントをコピーする方法であって、ノード内のひとつに潜在的な不具合を感知するステップと、前記ひとつのノード内に現在保存されているデータ・コンポーネントを保存する隣接ノードの能力を判定するために、前記ひとつのノードの隣接ノードに問い合わせるステップと、問い合わせに基づいて隣接ノードの少なくともひとつにデータ・コンポーネントをコピーするステップと、前記少なくともひとつの隣接ノードから前記少なくともひとつの隣接ノードに近接するノードにコピーの詳細を配信するステップと、を有する方法を提供する。
【０００７】
本発明の第二態様は、無線センサ・ネットワークであって、センサと、隣接ノードに問い合わせるための問い合わせシステムと、問い合わせに基づいて隣接ノードにデータ・コンポーネントをコピーするための通信システムとをそれぞれ含む複数のノードと、ノードに保存されたデータ・コンポーネントの位置を識別するグローバル・ルーティング・テーブルと、データ・コンポーネントが隣接ノードにコピーされた場合にグローバル・ルーティング・テーブルを更新するための更新システムと、を有する無線センサ・ネットワークを提供する。
【０００８】
本発明の第三態様は、センサ・ネットワーク内で使用するノードであって、ノード内の潜在的な不具合を検出するためのセンサと、センサが潜在的な不具合を検出した場合に隣接ノードに問い合わせるための問い合わせシステムと、問い合わせに基づいてノード内に現在保存されているデータ・コンポーネントを隣接ノードの少なくともひとつにコピーするための通信システムと、データ・コンポーネントがコピーされた場合にルーティング・テーブルを更新するための更新システムと、を有するノードを提供する。
【０００９】
本発明の第四態様は、ピア・ツー・ピア・ノードのセンサ・ネットワーク内のノード間でデータ・コンポーネントをコピーするための記憶媒体に保存されたプログラム製品であって、特定のノード内のセンサが潜在的な不具合を検出した場合に隣接ノードに問い合わせるためのプログラム・コードと、問い合わせに基づいて特定のノード内に現在保存されているデータ・コンポーネントを隣接ノードの少なくともひとつにコピーするためのプログラム・コードと、データ・コンポーネントがコピーされた場合にルーティング・テーブルを更新するためのプログラム・コードと、を有するプログラム製品を提供する。
【００１０】
本発明の第五態様は、ピア・ツー・ピア・ノードの無線センサ・ネットワーク内のノード間でデータ・コンポーネントをコピーするアプリケーションを導入するためのシステムであって、特定のノード内のセンサが潜在的な不具合を検出した場合に隣接ノードに問い合わせ、問い合わせに基づいて特定のノード内に現在保存されているデータ・コンポーネントを隣接ノードの少なくともひとつにコピーし、データ・コンポーネントがコピーされた場合にルーティング・テーブルを更新する、機能を有するコンピュータ・インフラを有する、システムを提供する。
【００１１】
本発明の第六態様は、ピア・ツー・ピア・ノードの無線ネットワーク内のノード間でデータ・コンポーネントをコピーするための伝播信号によって具体化されるコンピュータ・ソフトウェアであって、コンピュータ・システムに、特定のノード内のセンサが潜在的な不具合を検出した場合に隣接ノードに問い合わせをさせ、問い合わせに基づいて特定のノード内に現在保存されているデータ・コンポーネントを隣接ノードの少なくともひとつにコピーさせ、データ・コンポーネントがコピーされた場合にルーティング・テーブルを更新させる、指示を有するコンピュータ・ソフトウェアを提供する。
【００１２】
したがって、本発明は、無線センサ・ネットワークのノード間でデータをコピーする方法およびシステムを提供する。
【００１３】
本発明のこれらの特徴および他の特徴は、後述する本発明の種々の態様の詳細な説明を添付の図面と共に参照することにより容易に理解されるであろう。
【００１４】
図面は原寸に比例しているとは限らない。図面は単に概略的な表示であって、本発明の具体的なパラメータを描くものではない。図面は本発明の典型的な実施形態のみを示すものであって、本発明の範囲を制限するものと見なされるべきではない。図面では、同一の部品には同一の符号を付する。
【発明を実施するための最良の形態】
【００１５】
上に示したように、本発明は、ネットワークのノード間でデータをコピーする方法およびシステムを提供する。特に、本発明では、複数のピア・ツー・ピア・ノードを有するネットワークが提供される。ネットワーク内の各ノードは、とりわけ、環境因子を検出するためのセンサを含む。潜在的な不具合がノード内に検出された場合、そのノードは隣接ノードに問い合わせ、隣接ノードが潜在的な不具合ノード内に現在保存されているデータ・コンポーネントのいずれかを保存する能力を有するかを判定する。この問い合わせに基づき、潜在的な不具合ノード内のデータ・コンポーネントが、ひとつ以上の隣接ノードにコピーされる。その後、コピーの詳細をネットワーク内の他のノードに配信することができ、また、無線センサ・ネットワーク全体に保存されたデータ・コンポーネントの位置を識別するあらゆるルーティング・テーブルを更新することができる。
【００１６】
ここで図面を参照すると、図１は本発明にかかる例示的な無線センサ・ネットワーク１０を示す図であり、無線センサ・ネットワーク１０は、ノード・ネットワーク１２と、ひとつ以上のトランスポート・ルータ１６、１８、２０と、ひとつ以上の監視局２２とを含む。ノード・ネットワーク１２は、（１）環境の変化を感知し、データ・コンポーネントを通信、保存するための複数のノード１３と、（２）メッシュまたはアドホック・ネットワークを通じて複数のノード１３間でデータを転送するための通信インフラを提供する仮想ネットワーク１４とを有する。以下でさらに詳細に説明するように、各ノードは隣接ノードと無線で通信することが可能な独立（ｓｅｌｆ−ｃｏｎｔａｉｎｅｄ）ユニットである。さらに、仮想ネットワーク１４は、更新システム１７、または個々のノード１３によって定期的に更新することが可能なグローバル・ルーティング・テーブル１５を含む（以下にさらに説明する）。
【００１７】
トランスポート・ルータ１６、１８、２０は、ノード・ネットワーク１２と、監視局２２との間のデータを中継することが可能な、いかなる種類のルータであってもよい。例として、高出力携帯電話基地局、無線送信機、マイクロ波送信機等が含まれる。監視局２２は、ノード・ネットワーク１２から感知したデータを分析、保存、表示等することが可能ないかなる種類の施設であってもよい。
【００１８】
ノード・ネットワーク１２は、完全メッシュ・トポロジまたは部分メッシュ・トポロジのどちらかを有するアドホックまたはメッシュ・ネットワーク内で実施されてもよい。完全メッシュ・トポロジでは、各ノードは相互に通信している。部分メッシュ・トポロジでは、各ノードは必ずしも他のノードと通信しているわけではない。本発明は無線環境内で実施されているものとして説明するが、通信の一部または全部を、有線技術を用いて実施することも可能であることが認められる。
【００１９】
ここで図２を参照すると、複数のノード２４、４０、４２、４４が描かれ、ノード２４が詳細に示される。この実施例では、ノード２４は、マイクロコントローラ２６と、例えば、振動、風、化学薬品、および温度等の環境の変化を感知するセンサ層２８と、受動層と３７と能動層３９とを有するネットワーク・トランスポートおよびロジック層３０と、エネルギー源（ここでは太陽電池）３３と、を含む。
【００２０】
マイクロコントローラ２６の機能には、ノード２４により実行されるタスク全体の制御（例えば、センサ読み取りおよび通信のスケジューリング）、各種コンポーネントのパワー制御、感知したデータの処理、ノード２４のステータスの判定、グローバル・ルーティング・テーブル１５の維持および更新（図１）等が含まれ得る。センサ層２８は、物理的、化学的、または生物学的変化を含むいくつかの環境刺激を測定する、あらゆる種類のセンサを有してもよい。センサ層２８は、感知したデータを収集、処理、および保存し得る。ネットワーク・トランスポート層３０は、ノード２４が隣接ノード４０、４２、４４、またはトランスポート・ルータ４６と通信する、もしくは隣接ノード４０、４２、４４、およびトランスポート・ルータ４６と通信することを可能とする、あらゆる種類の無線通信システムを有してもよい。
【００２１】
上述したように、各ノードは受動層３７と、能動層３９とを含む。受動層３７は、データをひとつのノードから他のノードへ通すため、または「ホップ」させるために使用される。能動層３９は、ノード自体が収集または生成したデータを通信するために利用される。したがって、この実施例では、ノード２４が発信元であるデータは、直接トランスポート・ルータ４６に送られ、ノード４４を通じてトランスポート・ルータ４６にホップされ、あるいはノード４０、４２、および４４を通じてホップされた後、トランスポート・ルータ４６にまで送られることが可能である。ノード４２が利用できなくなった場合、例えば、データをノード４０からノード４４へ再転送することができる（点線を通じて）。
【００２２】
上の相互参照特許文献に説明したように、各ノードは、ノードが隣接ノードによりネットワークに「参加」されることを可能とし、ノードがその隣接ノードをネットワーク内に収集することを可能とする、参加・収集システム３１を含む。通信経路情報を含む隣接ノードの機能、および隣接ノードに保存されるデータ・コンポーネントは、ローカル・ルーティング・テーブル３８に維持される。例えば、ノード２４内のローカル・ルーティング・テーブル３８は、隣接ノード４０、４２、および４４内に保存されるデータ・コンポーネントを識別することができる。さらに、後述するように、問い合わせシステム３２は、センサ層２８がノード２４内に潜在的な不具合を検出した場合に、ノード２４が隣接ノード４０、４２、および４４に問い合わせることを可能とする。そして、問い合わせに基づいて、通信システム３４は、ノード２４内に保存されるあらゆるデータ・コンポーネントを隣接ノード４０、４２、４４のひとつ以上にコピー／複製することができる（例えば、受動層３７または能動層３９を介して）。その後、データ・コンポーネントを受信したノード４０、４２、および４４内の通信システム３４は、コピーの詳細をその隣接ノード（図示せず）に配信する。さらに、コピー後、関連ノード内の更新システム３６が、必要に応じて、ローカル・ルーティング・テーブル３８と、グローバル・ルーティング・テーブル１５（図１）とを更新する（例えば、コピーしたデータ・コンポーネントの新たな位置を反映するため）。
【００２３】
本発明におけるノードが、処理部、メモリ、バス、入力／出力（Ｉ／Ｏ）インターフェース、外部デバイス／リソース、記憶部等の図示しない他のコンピュータ化された部品を含み得ることが理解されるべきである。処理部は単独の処理部であってもよく、あるいはひとつ以上の場所におけるひとつ以上の処理部にわたって分散してもよい（例えば、クライアント・サーバで）。メモリは、あらゆる周知の種類のデータ・ストレージあるいは伝送媒体、もしくはデータ・ストレージおよび伝送媒体であってもよく、例えば、磁気媒体、光学媒体、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、データ・キャッシュ、データ・オブジェクト等を含む。さらに、処理部と同様に、メモリは、ひとつ以上の種類のデータ・ストレージを有する単独の物理的位置に属してもよく、あるいは、種々の形態の複数の物理的システムにわたって分散してもよい。
【００２４】
Ｉ／Ｏインターフェースは、外部ソースと情報を交換するためのいかなるシステムであってもよい。外部デバイス／リソースは、あらゆる周知の種類の外部デバイスでもよく、例えば、スピーカ、ＣＲＴ、ＬＥＤ画面、携帯型デバイス、キーボード、マウス、音声認識システム、音声出力システム、プリンタ、モニタ／ディスプレイ、ファクシミリ、ポケベル等を含む。バスは、ノード内の各部品間の通信リンクを提供し、同様に、電気的、光学的、無線等のあらゆる周知の種類の伝送リンクを有し得る。
【００２５】
もし利用されるなら、記憶部は、データ・コンポーネントにストレージを提供することが可能ないかなるシステム（例えば、データベース）であってもよい。したがって、記憶部は、磁気ディスク・ドライブ、または光学ディスク・ドライブ等のひとつ以上の記憶デバイスを含み得る。別の実施形態では、記憶部は、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、またはストレージ・エリア・ネットワーク（ＳＡＮ）（図示せず）にわたって分散されるデータを含む。
【００２６】
再び図１を参照し、ノード・ネットワーク１２内のノード１３がその付属する各種センサから集めた情報を中継することができることを保障するために、ノード１３は隣接ノードに通る通信経路に大きく依存しなければならない。これらの経路は、更新システム１７によって（あるいは個々のノードの更新システム３６によって）定期的に更新されるグローバル・ルーティング・テーブル１５に基づいて決定される。一実施形態では、グローバル・ルーティング・テーブル１５は、各ノード１３と共に保存されるローカル・ルーティング・テーブル３８内で具体化される。上の相互参照特許出願で詳述されるように、各ノードがデータを中継して主監視局に戻すためのルーティング経路の候補を順に並べる「プレアクティブ心拍」アルゴリズムを用いて、ローカル・ルーティング・テーブル３８を作成してもよい。
【００２７】
さらに前述のように、ノード・ネットワーク１２内の各ノードのローカル・ルーティング・テーブル３８を更新するために「プレアクティブ心拍」アルゴリズムを利用することもできる。これを遂行するために、アルゴリズムは、全てのノードが収集されるまで、ノードにその隣接ノードをネットワーク１２内に収集させてから、隣接ノードにその隣接ノードを収集させたりする。この処理はエンドポイント（Ｅｎｄｐｏｉｎｔ）で始まり、ノード・ネットワーク１２全体に外側に広がる。その後、センサのデータがノード１３から収集されると、収集されたデータはエンドポイントに返送される。エンドポイントは、単純に、例えばトランスポート・ルータに通信可能な特別な種類のノードを有してもよい。各ノードはひとつ以上の隣接ノードと通信することができる。ノード・ネットワーク１２を有効にすることに関連してこの処理を説明しているが、携帯電話、無線ルータ、ＰＤＡ等のあらゆる種類の通信デバイスを利用するあらゆる種類のネットワークを有効とするためにこの方法を適用することが可能であることに留意すべきである。
【００２８】
ノードが最初に起動された際、その通信は「参加」配信メッセージのみに限定され、これは本質的に「私はネットワークに参加したい」という意味となる。したがって、ノード・ネットワークが最初に作動された際、各ノードは「参加」を配信できるだけであり、エンドポイントが介入するまでは返答を受信しない。エンドポイントは「参加」配信に返答する能力を伴って初期化される。すなわち、エンドポイントは、「収集」返答によって検出することができる全ての「参加」配信に応答する。その結果、エンドポイントは隣接ノードから「参加」配信を認識し、「収集」によって返答する。ノードが「収集」を認識すると、そのノードはネットワークの一員になり、「参加」の配信を停止する。したがって、初期段階では、ノード・ネットワークは、エンドポイントとエンドポイントの隣接ノードとにより構成される。隣接ノードは、例えば、相互に通信可能なノードの組と定義され得る。
【００２９】
ノードが自身をネットワーク内に確立すると、ノードは自身の隣接ノードを収集するために「収集」配信に切り替わる。したがって、このサイクルは繰り返され「参加」を配信する各ノードは近くの別の収集ノード（またはエンドポイント）の隣接ノードとして拾われる。繰り返すと、ノードがネットワーク内の隣接ノードになるたびに、ノードは「参加」から「収集」に切り替わる。全てのノードは早急に別のノードの隣接ノードになる。ノードが隣接ノードになると、ノードはデータを収集して別の隣接ノードに送信することができる。その隣接ノードは、データがエンドポイントに返ってくるまで、データを別の隣接ノード等に渡す。後述のように各ノードがネットワーク内に多くの隣接ノードを有することを可能とすることにより、ネットワーク冗長が確立される。
【００３０】
短時間後、メッシュ・ネットワーク全体が確立される。ノードがもはや「参加」要求を受信していない場合のある時点において、ノードはネットワークが形成されたことを判定することができる。それでも各ノードは「収集」を送信するが、参加し得る新たなノードが、例えば壊れたノードに入れ替わるノードのみであるために、頻度はかなり低い。
【００３１】
ともかく、ノード・ネットワーク１２が確立されれば、ノード・ネットワーク１２は効果的にデータ・コンポーネントを安全、冗長な態様で保存するために用いられ得る。ここで具体的に図３を参照すると、データセット／構造５０が示される。本発明においては、データセット５０は、別個のデータ・コンポーネント５２に区分、または分割される。その後、データ・コンポーネント５２は、上述のノード・ネットワーク１２のノード１３内に保存される。具体的に図４を参照すると、本発明のノード・ネットワーク（以下、ネットワーク１２）がさらに詳細に示される。図示のように、ネットワーク１２は、ピア・ツー・ピア・ノードＡ〜Ｙを含む。データ・コンポーネント５２（図３）は、あらゆる周知のアルゴリズムを用いてノードＡ〜Ｙに保存される。例えば、上述の相互参照特許出願は、ネットワーク１２全体を追尾することができ、データ・コンポーネント５２をノードＡ〜Ｙに保存することが可能となる、種々の通信経路を説明する。これらの経路として考えられるもののひとつを図４に示す。ここで、データ・コンポーネント５２がノードＡ〜Ｙに保存されたと仮定する。この説明はグリッド・インフラを参考にしており、ノードＡ〜Ｙの（すべてとまではいかないにしろ）いくつかが「パズル」のピースを有する。
【００３２】
現在、これらのノードＡ〜Ｙのひとつが不具合を起こし、あるいは不具合を起こしそうな場合に考慮する機能がないため、最終データ／アプリケーション・パズルが未完成となり、最終送信先にとっては不適切なものとなる。本発明は、データが損失しないように、不具合が実際に起こる前に（例えば、遅延時間中に）潜在的な不具合のあるノードからひとつ以上の他のノードへデータ・コンポーネントをコピー／複製する能力を提供することにより、この欠点に対処する。
【００３３】
例えば、図５を参照すると、ノードＡがその中に潜在的な不具合を検出したネットワーク１２が示されている。ノード内の潜在的な不具合は、通常、ノードの内部センサ（例えば、図２のセンサ層２８）により検出される。このような不具合は、環境的要因等のあらゆる原因によって生じるものであり、これは本発明を制限する部分ではない。潜在的な不具合が検出された場合、不具合を検出したノード（例えば、ノードＡ）は、その内部問い合わせシステム３２（図２）を利用して、その隣接（例えば、隣の）ノードに問い合わせ、ノードＡに現在保存されているデータ・コンポーネントを保存する能力を判定する。このケースでは、ノードＡはノードＦおよびＢに問い合わせる。典型的な実施形態では、隣接ノードＦおよびＢの能力は、利用可能なリソース、記憶容量、総合ステータス等の要素に基づいて判定される。典型的な実施形態では、隣接ノードには水平方向および垂直方向に隣接のノードが含まれることが理解されるべきである。しかし、隣接ノードは斜め方向の隣接ノードを意味することもあることが理解されるべきである。
【００３４】
ここで図６を参照すると、例示的な結果の一組が示されている。図示のように、ノードＦは、６５％の利用可能なリソースと、７５％の利用可能な記憶容量と、「良好」な総合ステータスとを有し、ノードＢは、８５％の利用可能なリソースと、７５％の利用可能な記憶容量と、「良好」な総合ステータスとを有する。ノードＡのデータ・コンポーネントには多量のリソースが必要であると仮定すると、二つの隣接ノードの問い合わせ結果に基づき、ノードＢがデータ・コンポーネントを受信するのに最適であるといえる。このような場合、ノードＡ内の通信システム３４（図２）がデータ・コンポーネントをノードＢにコピー／複製する。ノードＡ内の全てのデータ・コンポーネントを単一の受信ノードにコピーする必要はないことが理解されるべきである。例えば、ノードＡ内のデータ・コンポーネントは、ノードＢおよびＦに区分／分割され得る。
【００３５】
ノードＢとノードＦのどちらもノードＡの必要条件を満たすことができない場合、ノードＢおよびＦはその隣接（隣の）ノードに問い合わせることができる。この場合、ノードＢはノードＣおよびＧに問い合わせ、ノードＦはノードＫおよびＧに問い合わせる。この問い合わせ処理は何回ものサイクル／レベルで生じ得るものであり、それは、ノードＢおよびＦの隣接ノードの隣接ノードが必要条件を満たすことができない場合は、これらの隣接ノードはその隣接ノードに問い合わせることができることを意味する。例えばノードＣはノードＤおよびＨに問い合わせることができる。前述したようにこれはＮレベルにおいて生じ得るものであり、あるいは、特定の制限（例えば、３）を儲けることができる。
【００３６】
次に図７を参照すると、問い合わせ結果の二つ目の組が示され、そこでは、ノードＦおよびノードＢのどちらも単独ではノードＡからデータ・コンポーネントを受信する能力を有さない。図示のように、ノードＦは、４０％の利用可能なリソースと、２５％の利用可能な記憶容量と、「普通」の総合ステータスとを有し、ノードＢは、３５％の利用可能なリソースと、４０％の利用可能な記憶容量と、「普通」の総合ステータスとを有する。上述のように、このような場合、ノードＢおよびＦは、それぞれの隣接ノード（例えば、ノードＫ、Ｇ、およびＣ）に問い合わせ、ノードＡのデータ・コンポーネントを保存する能力を判定することができる。この結果に基づいて、ノードＡは、問い合わせたノードの能力に比例して、どのようにデータ・コンポーネントを分割するかを決定する。図８に示すように、ノードＡは、データ・コンポーネントを三つの部分に区分し、二つの部分をノードＦにコピーして、ひとつの部分をノードＢにコピーしている。しかし、上述のように、データ・コンポーネントの分割は、ノードＢおよびＦの隣接ノードにも広げることが可能である。図９を参照すると、データ・コンポーネントがノードＡの隣接ノード、およびノードＢおよびＦの隣接ノードに分配されるシナリオが描かれている。具体的には、ノードＡのデータ・コンポーネントが六つの部分に区分され、二つの部分はノードＦにコピーされ、二つの部分はノードＧにコピーされ、ひとつの部分はノードＢにコピーされ、ひとつの部分はノードＣにコピーされている。
【００３７】
理解されるべきであるのは、複数のノード間でコピーするためにデータ・コンポーネントを区分すべきか、あるいはどのように区分すべきかを決定するあらゆる方法を利用することができることである。例えば、ノードＡ内の問い合わせシステムは、まず、そのデータ・コンポーネントを保存するに必要な能力を計算できる。次に、問い合わせシステムは、問い合わせ結果を受信することができる。もし、単一のノードがノードＡの全てのデータ・コンポーネントを保存する能力を有しないならば、通信システムは、複数のノードの能力に比例してデータ・コンポーネントを区分／コピーすることができる。例えば、もし、ノードＢがデータ・コンポーネントの三分の一を保存する能力を有するなら、ノードＡは、データ・コンポーネントを三分の一までそこにコピーすることが可能である。
【００３８】
いずれにせよ、データ・コンポーネントがコピーされると、コピーの詳細がデータ・コンポーエントを受信したノードの隣接ノードに配信され、データ・コンポーネントを全く受信しなかった潜在的な不具合のあるノードの他のあらゆる隣接ノードにも配信される。例えば、もし、ノードＢが全てのデータ・コンポーネントをノードＡから受信したならば、ノードＡはこの事実をノードＦに配信する。同様に、ノードＢはこの事実をノードＧおよびＣに配信する。また、もし、データ・コンポーネントがノードＦおよびＢに分配されたなら、ノードＢは詳細（例えば、受信したデータ・コンポーネント）をノードＣおよびＧに配信し、ノードＦは詳細（例えば、受信したデータ・コンポーネント）をノードＫおよびＧに配信する。通常、配信はノード内の通信システム（すなわち、図２の通信システム３４）を介して達成される（例えば、セッション・イニシエイション・プロトコル：ＳＩＰを用いて）。
【００３９】
配信完了後、各ノードのローカル・ルーティング・テーブルを更新するために、ノード内の更新システム（例えば、図２の更新システム３６）を用いることができる。上述のように、ノードのローカル・ルーティング・テーブルは、通常、そのノードによって現在保存されているデータ・コンポーネント、およびその隣接ノードによって保存されているデータ・コンポーネントを識別する。例えば、ノードＡ内のローカル・ルーティング・テーブルは、ノードＡ内に保存されたデータ・コンポーネント、およびノードＦおよびＢ内に保存されたデータ・コンポーネントを識別する。この点において、ローカル・ルーティング・テーブルは、ノードのサブセットまたは局所近傍内に保存されたデータ・コンポーネントの位置を識別するものと考えることができる。一方、グローバル・ルーティング・テーブル１５（図１）は、ネットワーク１２全体にわたって保存される全てのデータ・コンポーネントの位置を識別する。典型的な実施形態では、潜在的に不具合のあるノード（例えば、ノードＡ）が、グローバル・ルーティング・テーブル１５をその内部更新システムによって更新する原因となり得る。
【００４０】
ここで図１０を参照すると、ノードＡには潜在的に不具合があり、その隣接ノードに警告／問い合わせを行うシナリオを描く、より詳細な構造図を示す。図示のように、ノードＡは、まずその隣接ノードＦおよびＢに問い合わせ、これらの能力を判定する。図１１は、ノードＡの全てのデータ・コンポーネントがノードＢにコピーされたシナリオを示す（すなわち、問い合わせに基づき、ノードＢが必要な能力を有すると認められた）。上述のように、このような場合、ノードＡはこの事実をノードＦに配信し、ノードＢはノードＧおよびＣに配信する。その後、ノードＦ、Ｇ、Ｃ、およびＢ内の各ローカル・ルーティング・テーブルが更新され、ノードＡを必要な修理のために停止させることができる。図１２は、ノードＡからのデータ・コンポーテントが四つの部分に区分され、ノードＢ、Ｆ、およびＧにコピーされるシナリオを示す。具体的に、図示のように、ノードＢはデータのひとつの部分を受信し、ノードＦはデータの二つの部分を受信し、Ｇはデータのひとつの部分を受信した。前述した例と同じように、これらのノードは、次にコピーの詳細（例えば、受信したデータ・コンポーネントの識別）をそれぞれの隣接ノードに配信し、それに応じて、関わったルーティング・テーブル（グローバルまたはローカル）の全てが更新される。
【００４１】
本発明の教示は、会費または手数料方式により、ビジネス方法として提供され得るものである。例えば、ネットワーク１２またはノード１３は、ここに説明される機能を顧客に提供するサービス・プロバイダが、作成、維持、サポート、または導入、もしくは作成、維持、サポート、および導入し得るものである。
【００４２】
また、本発明は、ハードウェア、ソフトウェア、伝播信号または、これらのあらゆる組み合わせによって実現できることも理解されるべきである。あらゆる種類のコンピュータ／サーバ・システム、または、ここに説明した方法を実行するために適合された他の装置が好適である。ハードウェアおよびソフトウェアの典型的な組み合わせは、コンピュータ・プログラムを伴った汎用コンピュータ・システムであってもよく、これは、ロードして実行された場合にここに説明したそれぞれの方法を実施する。また、本発明の機能的タスクのひとつ以上を実施する専用ハードウェアを含む特定用途コンピュータを利用してもよい。本発明をコンピュータ・グログラム・プロダクトまたは伝播信号に組み込んでもよく、これらはここに説明した方法の実施を可能とする各特徴の全てを有し、コンピュータ・システムにロードされた場合にこれらの方法を実施することができる。本文脈におけるコンピュータ・プログラム、伝播信号、ソフトウェア・プログラム、プログラム、またはソフトウェアは、情報処理能力を有するシステムに、直接、または（ａ）別の言語、コード、または表記への変換、あるいは（ｂ）別の材料形態による再現のどちらか、または双方の後に、特定の機能を実行させることを目的とするあらゆる言語、コード、または表記による、指示の組のあらゆる表現を意味する。
【００４３】
上述した本発明の好適な実施形態の説明は例示および説明を目的として提示したものである。本発明の説明は、網羅的、あるいは開示した形態に厳密に制限するものではなく、当然ながら、多くの修正形態および変形形態が可能である。当業者にとって明らかであろうこのような修正形態および変形形態は、添付の請求の範囲に定める本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００４４】
【図１】本発明にかかる例示的な無線センサ・ネットワークを示す図である。
【図２】本発明にかかる複数のノードの図である。
【図３】データセットがデータ・コンポーネントに分割されている図である。
【図４】データ・コンポーネントがノード全体に保存された後の図１の無線センサ・ネットワークを示す図である。
【図５】ノードが潜在的な不具合を検出した後の図４の無線センサ・ネットワークを示す図である。
【図６】本発明の一実施形態にかかる、潜在的に不具合のあるノードがその隣接ノードに問い合わせた後の図５の無線センサ・ネットワークを示す図である。
【図７】本発明の別の実施形態にかかる、潜在的に不具合のあるノードがその隣接ノードに問い合わせた後の図５の無線センサ・ネットワークを示す図である。
【図８】本発明の一実施形態にかかる、問い合わせに基づいてデータ・コンポーネントが潜在的に不具合のあるノードから隣接ノードに転送された後の図５の無線センサ・ネットワークを示す図である。
【図９】本発明の別の実施形態にかかる、問い合わせに基づいてデータ・コンポーネントが潜在的に不具合のあるノードから隣接ノードに転送された後の図５の無線センサ・ネットワークを示す図である。
【図１０】本発明の一実施形態にかかる、隣接ノードに問い合わせ中の潜在的に不具合のあるノードのより詳細な図である。
【図１１】本発明の一態様にかかる、データ・コンポーネントを単一の隣接ノードに転送中の潜在的に不具合のあるノードのより詳細な図である。
【図１２】本発明の別の態様にかかる、データ・コンポーネントを複数の他のノードに転送中の潜在的に不具合のあるノードのより詳細な図である。
【図１】
2008514067.tif 000003
【図２】
2008514067.tif 000004
【図３】
2008514067.tif 000005
【図４】
2008514067.tif 000006
【図５】
2008514067.tif 000007
【図６】
2008514067.tif 000008
【図７】
2008514067.tif 000009
【図８】
2008514067.tif 000010
【図９】
2008514067.tif 000011
【図１０】
2008514067.tif 000012
【図１１】
2008514067.tif 000013
【図１２】
2008514067.tif 000014
【国際調査報告】
2008514067.tif 000015
2008514067.tif 000016
2008514067.tif 000017