(57)【要約】複数のノード１００内でメッセージ送信する方法及び装置で、各ノード１００は、プロセッサ２０８と、プロセッサ２０８に接続されたメモリ２１０と、プロセッサ２０８に接続された指向性通信インタフェース２０４とを含む。ノード１００は、対象受領ノード１０６の相対的なターゲットアドレスを伴うアドレスコードを含むメッセージを受領し、現行ノード１００が対象受領ノード１０６であるかどうかを判断するためにアドレスコードを処理し、メッセージを受領した方向と、送信することになる方向とに基づいてメッセージを修正し、修正済みアドレスコードを含むメッセージを再送信する動作を行う。ノード１００は、こうした動作を繰り返し、メッセージが望ましい受領者に到達するまで、複数の経路に沿ってメッセージを伝搬し、これにより、一意であるノード１００のＩＤ又は位置を使用する必要なく、経路の冗長性を提供する。
2004524717.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、該プロセッサに接続されたメモリと、指向性通信インタフェースと、をそれぞれが有する複数のノード（ｎｏｄｅ）内でメッセージ送信する方法であって、
ａ．複数のノード内の現行ノードで、アドレスコードと対応データとを含むメッセージを受領し、このアドレスコードが、対応メッセージを送信する対象とされたノードの相対的なターゲットアドレス（ｒｅｌａｔｉｖｅ ｔａｒｇｅｔ ａｄｄｒｅｓｓ）を含むステップと、
ｂ．現行ノードがメッセージの対象受領者であることをアドレスコードが示しているかどうかを判断するために、受領アドレスコードを処理するステップと、
ｃ．メッセージを受領した方向と、メッセージ内のアドレスコードと、メッセージが再送信される方向とに基づいて、メッセージを修正するステップと、
ｄ．修正アドレスコードを含むメッセージを、それが再送信されることになる各方向において、再送信するステップと、
ｅ．メッセージを送信する対象とされたノードにメッセージが到達するまで、すべてのノードで、ステップａ乃至ｄを繰り返し、これにより、メッセージは、望ましい受領者に到達するまで、多数の経路に沿って複数のノード間で伝搬可能となり、これにより、固有のノードＩＤを使用する必要なく、経路の冗長性（ｐａｔｈ ｒｅｄｕｎｄａｎｃｙ）が提供されるステップと、
を備える方法。
【請求項２】
再送信を防止するためにメッセージを期限切れにするステップを更に含む、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項３】
最初に送信される時にメッセージにタイムスタンプを付けるステップと、再送信の前に各ノードでタイムスタンプを現在時刻と比較するステップと、メッセージにタイムスタンプを付けるステップが発生してから所定の時間量が経過した後、メッセージの再送信を停止するステップとを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項４】
最初に送信される時にメッセージ内の累積ホップカウントを初期化するステップと、メッセージが再送信される度にホップカウントを増分又は減分するステップと、ホップカウントが所定のレベルに達した時にメッセージの再送信を停止するステップとを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項５】
最初に送信される時にメッセージに固有識別子を提供するステップと、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断するために各ノードでメッセージの固有識別子をチェック及び記録するステップと、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止するステップとを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項６】
複数のノード内の多数のノードをメッセージの対象受領者として示すことが可能であり、これにより、メッセージのターゲットを、複数のノード内の選択されたノードにすることができる、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項７】
メッセージを送信する対象とされたノードの近くにある複数のノード内の多数のノードを、メッセージの対象受領者として更に示すことが可能であり、これにより、選択されたノードが複数のノード内の領域をカバーする、請求項６に記載の複数のノード内でメッセージ送信する方法。
【請求項８】
メッセージを再送信するステップにおいて、メッセージ内のアドレスコードと、メッセージが受領された方向とによって決定される方向のサブセットのみでメッセージが再送信される、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項９】
メッセージを再送信するステップにおいて、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみメッセージが再送信され、これにより、メッセージの伝搬が常に対象受領者に向かって発生する、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項１０】
再送信前にノードでメッセージのデータを修正するオプションのステップを更に含み、これにより、対象受領者へと伝搬される際に、メッセージが情報を蓄積できる、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項１１】
ノードの一部が、センサ情報を生成する少なくとも一つのセンサを含み、データを修正するステップにおいて、再送信前にメッセージのデータを修正するためにセンサ情報が使用される、請求項１０に記載の複数のノード内でメッセージ送信する方法。
【請求項１２】
メッセージを送信する対象とされたノードにメッセージが到達する時、メッセージを送信する対象とされる新しいノードを指定するステップにより、メッセージは、ステップａ乃至ｅを繰り返すことで新しいノードへと伝搬され、これにより、メッセージを多数の対象受領者へと連続して送信することができる、請求項１１に記載の複数のノード内でメッセージ送信する方法。
【請求項１３】
メッセージを送信する対象とされたノードにメッセージが到達する度に、メッセージを送信する対象とされる新しいノードを示すようにメッセージのアドレスコードを修正するステップが実行され、メッセージのデータを修正するオプションのステップを実行することが可能となる、請求項１２に記載の複数のノード内でメッセージ送信する方法。
【請求項１４】
複数のノード間でのメッセージの再送信が、二次元平面で発生する、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項１５】
それぞれのノードが、可能な四方向で送信及び受信を行う、請求項１４に記載の複数のノード内でメッセージ送信する方法。
【請求項１６】
可能な四方向が互いに９０度の角度を成し、メッセージが（Ｘ，Ｙ）によって表される方向から受領され、
ａ．受領した方向に対して左９０度に送信される時、修正アドレスコードが（Ｙ，Ｘ＋１）となり、
ｂ．受領した方向と同じ方向へ送信される時、修正アドレスコードが（Ｘ，Ｙ−１）となり、
ｃ．受領した方向に対して右９０度に送信される時、修正アドレスコードが（−Ｙ，Ｘ−１）となるように、アドレスコードが修正ステップにおいて修正される、請求項１５に記載の複数のノード内でメッセージ送信する方法。
【請求項１７】
最初に送信される時にメッセージにタイムスタンプを付けるステップと、再送信の前に各ノードでタイムスタンプを現在時刻と比較するステップと、メッセージにタイムスタンプを付けるステップが発生してから所定の時間量が経過した後、メッセージの再送信を停止するステップとを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項１８】
最初に送信される時にメッセージ内の累積ホップカウントを初期化するステップと、メッセージが再送信される度にホップカウントを増分又は減分するステップと、ホップカウントが所定のレベルに達した時にメッセージの再送信を停止するステップとを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項１９】
最初に送信される時にメッセージに固有識別子を提供するステップと、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断するために各ノードでメッセージの固有識別子をチェック及び記録するステップと、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止するステップとを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項２０】
複数のノード内の多数のノードをメッセージの対象受領者として示すことが可能であり、これにより、メッセージのターゲットを、複数のノード内の選択されたノードにすることができる、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項２１】
メッセージを送信する対象とされたノードの近くにある複数のノード内の多数のノードを、メッセージの対象受領者として更に示すことが可能であり、これにより、選択されたノードが複数のノード内の領域をカバーする、請求項１７に記載の複数のノード内でメッセージ送信する方法。
【請求項２２】
メッセージを再送信するステップにおいて、メッセージ内のアドレスコードと、メッセージが受領された方向とによって決定される方向のサブセットのみでメッセージが再送信される、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項２３】
メッセージを再送信するステップにおいて、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみメッセージが再送信され、これにより、メッセージの伝搬が常に対象受領者に向かって発生する、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項２４】
再送信前にノードでメッセージのデータを修正するオプションのステップを更に含み、これにより、対象受領者へと伝搬される際に、メッセージが情報を蓄積できる、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項２５】
ノードの一部が、センサ情報を生成する少なくとも一つのセンサを含み、データを修正するステップにおいて、再送信前にメッセージのデータを修正するためにセンサ情報が使用される、請求項２４に記載の複数のノード内でメッセージ送信する方法。
【請求項２６】
メッセージを送信する対象とされたノードにメッセージが到達する時、メッセージを送信する対象とされる新しいノードを指定するステップにより、メッセージは、ステップａ乃至ｅを繰り返すことで新しいノードへと伝搬され、これにより、メッセージを多数の対象受領者へと連続して送信することができる、請求項２５に記載の複数のノード内でメッセージ送信する方法。
【請求項２７】
メッセージのデータがコマンドである、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項２８】
ノードの少なくとも一部が移動可能である、請求項１６に記載の複数のノード内でメッセージ送信する方法。
【請求項２９】
複数のノード間でのメッセージの再送信が、三次元体積内で発生する、請求項１に記載の複数のノード内でメッセージ送信する方法。
【請求項３０】
プロセッサと、該プロセッサに接続されたメモリと、前記プロセッサに接続された指向性通信インタフェースとをそれぞれが有する複数のノードを含むデータネットワーク内でダイレクト通信するシステムであって、
前記プロセッサ及びメモリが、
ａ．通信インタフェースを介してメッセージを受領し、このメッセージをプロセッサ及びメモリに提供する手段で、このメッセージが、アドレスコードと対応データとを含み、このアドレスコードが、対応メッセージを送信する対象とされたノードの相対的なターゲットアドレスを含んでいる手段と、
ｂ．メッセージを受領したノードがメッセージの対象受領者であることをアドレスコードが示しているかどうかを判断する手段と、
ｃ．メッセージを受領した方向と、メッセージ内のアドレスコードと、メッセージが再送信される方向とに基づいて、メッセージを修正する手段と、
ｄ．指向性通信インタフェースを介して、修正済みアドレスコードを含むメッセージを、それが再送信されることになる各方向において、再送信する手段で、これにより、メッセージは、メッセージを送信する対象とされたノードに到達するまで、複数のノード間で伝搬可能となり、更にメッセージは、望ましい受領者に到達するまで、多数の経路に沿って複数のノード間で伝搬可能となり、これにより、固有のノードＩＤを使用する必要なく、経路の冗長性が提供される手段と、
を備えるシステム。
【請求項３１】
各ノードのプロセッサ及びメモリが、再送信を防止するためにメッセージを期限切れにする手段を更に含む、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３２】
各ノードのプロセッサ及びメモリが、最初に送信される時にメッセージにタイムスタンプを付ける手段と、再送信の前に各ノードでタイムスタンプを現在時刻と比較する手段と、メッセージへのタイムスタンプ追加が発生してから所定の時間量が経過した後、メッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３３】
各ノードのプロセッサ及びメモリが、最初に送信される時にメッセージ内の累積ホップカウントを初期化する手段と、メッセージが再送信される度にホップカウントを増分又は減分する手段と、ホップカウントが所定のレベルに達した時にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３４】
各ノードのプロセッサ及びメモリが、最初に送信される時にメッセージに固有識別子を提供する手段と、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断するために各ノードでメッセージの固有識別子をチェック及び記録する手段と、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３５】
複数のノード内の多数のノードをメッセージの対象受領者として示すことが可能であり、これにより、メッセージのターゲットを、複数のノード内の選択されたノードにすることができる、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３６】
メッセージを送信する対象とされたノードの近くにある複数のノード内の多数のノードを、メッセージの対象受領者として更に示すことが可能であり、これにより、選択されたノードが複数のノード内の領域をカバーする、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３７】
メッセージを再送信する手段により、メッセージを、メッセージ内のアドレスコードから決定される方向のみにすることが可能な、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３８】
メッセージを再送信する手段により、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみメッセージが再送信され、これにより、メッセージの伝搬が常に対象受領者に向かって発生する、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項３９】
各ノードのプロセッサ及びメモリが、再送信前にノードでメッセージのデータを修正する手段を更に含み、これにより、対象受領者へと伝搬される際に、メッセージが情報を蓄積できる、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４０】
ノードの一部が、センサ情報を生成する少なくとも一つのセンサを含み、データを修正する手段が、再送信前にメッセージのデータを修正するためにセンサ情報を使用する、請求項３９に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４１】
メッセージを送信する対象とされたノードにメッセージが到達する時、メッセージを送信する対象とされるノードとして新しいノードを指定することが可能であり、メッセージは新しいノードへと伝搬され、これにより、メッセージを多数の対象受領者へと連続して送信することができる、請求項４０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４２】
メッセージを送信する対象とされたノードにメッセージが到達する度に、メッセージのアドレスコードが、ノードのプロセッサによって、メッセージを送信する対象とされる新しいノードを示すように修正される、請求項４１に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４３】
ノードが、メッセージを二次元平面で再送信するように構成される、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４４】
それぞれのノードが、可能な四方向で送信及び受信を行うように構成される、請求項４３に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４５】
可能な四方向が互いに９０度の角度を成し、メッセージが（Ｘ，Ｙ）によって表される方向から受領され、
ａ．受領した方向に対して左９０度に送信される時、修正アドレスコードが（Ｙ，Ｘ＋１）となり、
ｂ．受領した方向と同じ方向へ送信される時、修正アドレスコードが（Ｘ，Ｙ−１）となり、
ｃ．受領した方向に対して右９０度に送信される時、修正アドレスコードが（−Ｙ，Ｘ−１）となるように、修正する手段によってアドレスコードが修正される、請求項４３に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４６】
各ノードのプロセッサ及びメモリが、最初に送信される時にメッセージにタイムスタンプを付ける手段と、再送信の前に各ノードでタイムスタンプを現在時刻と比較する手段と、メッセージへのタイムスタンプ追加が発生してから所定の時間量が経過した後、メッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４７】
各ノードのプロセッサ及びメモリが、最初に送信される時にメッセージ内の累積ホップカウントを初期化する手段と、メッセージが再送信される度にホップカウントを増分又は減分する手段と、ホップカウントが所定のレベルに達した時にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４８】
各ノードのプロセッサ及びメモリが、最初に送信される時にメッセージに固有識別子を提供する手段と、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断するために各ノードでメッセージの固有識別子をチェック及び記録する手段と、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項４９】
複数のノード内の多数のノードをメッセージの対象受領者として示すことが可能であり、これにより、メッセージのターゲットを、複数のノード内の選択されたノードにすることができる、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５０】
メッセージを送信する対象とされたノードの近くにある複数のノード内の多数のノードを、メッセージの対象受領者として更に示すことが可能であり、これにより、選択されたノードが複数のノード内の領域をカバーする、請求項４９に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５１】
メッセージが再送信される時、メッセージ内のアドレスコードにより決定される方向でのみ再送信される、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５２】
メッセージが複数のノードを通じて、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみ再送信され、これにより、メッセージの伝搬が常に対象受領者に向かって発生する、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５３】
ノードの一部が、センサ情報を生成する少なくとも一つのセンサを含み、データを修正する手段が、再送信前にメッセージのデータを修正するためにセンサ情報を使用する、請求項３９に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５４】
メッセージを送信する対象とされたノードにメッセージが到達する時、メッセージを送信する対象とされるノードとして新しいノードを指定することが可能であり、メッセージは新しいノードへと伝搬され、これにより、メッセージを多数の対象受領者へと連続して送信することができる、請求項４０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５５】
メッセージを送信する対象とされたノードにメッセージが到達する度に、メッセージのアドレスコードが、ノードのプロセッサによって、メッセージを送信する対象とされる新しいノードを示すように修正される、請求項４１に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５６】
メッセージのデータがコマンドである、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５７】
ノードの少なくとも一部が移動可能である、請求項４５に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５８】
複数のノード間でのメッセージの再送信が、三次元体積内で発生する、請求項３０に記載のデータネットワーク内でダイレクト通信するシステム。
【請求項５９】
データネットワーク内でダイレクト通信するシステム内で通信するためのノードであって、前記ノードが、プロセッサと、該プロセッサに接続されたメモリと、前記プロセッサに接続された指向性通信インタフェースとを有し、
前記プロセッサ及びメモリが、
ａ．通信インタフェースを介してメッセージを受領し、このメッセージをプロセッサ及びメモリに提供する手段で、このメッセージが、アドレスコードと対応データとを含み、このアドレスコードが、対応メッセージを送信する対象とされたノードの相対的なターゲットアドレスを含んでいる手段と、
ｂ．メッセージを受領したノードがメッセージの対象受領者であることをアドレスコードが示しているかどうかを判断する手段と、
ｃ．メッセージを受領した方向と、メッセージ内のアドレスコードと、メッセージが再送信される方向とに基づいて、メッセージを修正する手段と、
ｄ．指向性通信インタフェースを介して、修正済みアドレスコードを含むメッセージを、それが再送信されることになる各方向において、再送信する手段にして、これにより、メッセージは、メッセージを送信する対象とされたノードに到達するまで、複数のノード間で伝搬可能となり、更にメッセージは、望ましい受領者に到達するまで、多数の経路に沿って複数のノード間で伝搬可能となり、これにより、固有のノードＩＤを使用する必要なく、経路の冗長性を提供する手段と、
を備えるノード。
【請求項６０】
ノードのプロセッサ及びメモリが、再送信を防止するためにメッセージを期限切れにする手段を更に含む、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６１】
ノードのプロセッサ及びメモリが、そのノードから最初に送信される場合にメッセージにタイムスタンプを付ける手段と、再送信の前に各ノードでタイムスタンプを現在時刻と比較する手段と、メッセージへのタイムスタンプ追加が発生してから所定の時間量が経過した場合に、メッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬可能となり、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６２】
プロセッサ及びメモリにおいてノードが、そのノードから最初に送信される時にメッセージ内の累積ホップカウントを初期化する手段と、ノードからメッセージが再送信される度にホップカウントを増分又は減分する手段と、ノードでホップカウントが所定のレベルに達した時にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６３】
プロセッサ及びメモリにおいてノードが、最初に送信される時にメッセージに固有識別子を提供する手段と、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断するためにノードでメッセージの固有識別子をチェック及び記録する手段と、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６４】
メッセージを再送信する手段により、メッセージを、メッセージ内のアドレスコードと、メッセージが受領された方向とから決定される方向のサブセットのみにすることが可能な、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６５】
メッセージを再送信する手段により、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみメッセージが再送信され、これにより、複数のノード内でのメッセージの伝搬が、常に対象受領者に向かって発生する、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６６】
ノードのプロセッサ及びメモリが、再送信前にノードでメッセージのデータを修正する手段を更に含み、これにより、複数のノード間で対象受領ノードへと伝搬される際に、メッセージが情報を蓄積できる、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６７】
ノードが、センサ情報を生成する少なくとも一つのセンサを含み、データを修正する手段が、再送信前にメッセージのデータを修正するためにセンサ情報を使用する、請求項６６に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６８】
ノードが、メッセージを二次元平面で再送信するように構成される、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項６９】
ノードが、可能な四方向で送信及び受信を行うように構成される、請求項６８に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７０】
可能な四方向が互いに９０度の角度を成し、メッセージが（Ｘ，Ｙ）によって表される方向から受領され、
ａ．受領した方向に対して左９０度に送信される時、修正アドレスコードが（Ｙ，Ｘ＋１）となり、
ｂ．受領した方向と同じ方向へ送信される時、修正アドレスコードが（Ｘ，Ｙ−１）となり、
ｃ．受領した方向に対して右９０度に送信される時、修正アドレスコードが（−Ｙ，Ｘ−１）となるように、修正する手段によってアドレスコードが修正される、請求項６９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７１】
ノードのプロセッサ及びメモリが、そのノードから最初に送信される場合にメッセージにタイムスタンプを付ける手段と、再送信の前に各ノードでタイムスタンプを現在時刻と比較する手段と、メッセージへのタイムスタンプ追加が発生してから所定の時間量が経過した場合に、メッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬可能となり、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７２】
プロセッサ及びメモリにおいてノードが、そのノードから最初に送信される時にメッセージ内の累積ホップカウントを初期化する手段と、そのノードからメッセージが再送信される度にホップカウントを増分又は減分する手段と、そのノードでホップカウントが所定のレベルに達した時にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７３】
プロセッサ及びメモリにおいてノードが、最初に送信される時にメッセージに固有識別子を提供する手段と、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断するためにノードでメッセージの固有識別子をチェック及び記録する手段と、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止する手段とを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７４】
メッセージが再送信される時、メッセージ内のアドレスコードと、メッセージが受領された方向とから決定される方向のサブセットのみで再送信される、請求項７０に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７５】
メッセージがノードによって再送信される時、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみ再送信され、これにより、メッセージの伝搬が、常に対象受領者に向かって発生する、請求項７０に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７６】
ノードのプロセッサ及びメモリが、再送信前にノードでメッセージのデータを修正する手段を更に含み、これにより、複数のノード間で対象受領ノードへと伝搬される際に、メッセージが情報を蓄積できる、請求項７０に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７７】
メッセージのデータがコマンドである、請求項７０に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７８】
ノードが移動可能である、請求項７０に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項７９】
ノードが、三次元体積内の複数の方向に沿って送信するように構成された、請求項５９に記載のデータネットワーク内でダイレクト通信するシステム内で通信するノード。
【請求項８０】
プロセッサと、該プロセッサに接続されたメモリと、指向性通信インタフェースとをそれぞれが有する複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品であって、
ａ．記録媒体と、
ｂ．通信インタフェースを介したメッセージの受領を促進し、このメッセージをプロセッサ及びメモリに提供する、記録媒体に記録された手段で、このメッセージが、アドレスコードと対応データとを含み、このアドレスコードが、対応メッセージを送信する対象とされたノードの相対的なターゲットアドレスを含んでいる手段と、
ｃ．メッセージを受領したノードがメッセージの対象受領者であることを、受領メッセージ内のアドレスコードが示しているかどうかの判断を促進する、記録媒体に記録された手段と、
ｄ．メッセージを受領した方向と、メッセージ内のアドレスコードと、メッセージが再送信される方向とに基づいて、メッセージを修正する、記録媒体に記録された手段と、
ｅ．指向性通信インタフェースを介して、修正済みアドレスコードを含むメッセージを、それが再送信されることになる各方向において、再送信することを促進する、記録媒体に記録された手段で、これにより、メッセージは、メッセージを送信する対象とされたノードに到達するまで、複数のノード間で伝搬可能となり、更にメッセージは、望ましい受領者に到達するまで、多数の経路に沿って複数のノード間で伝搬可能となり、これにより、固有のノードＩＤを使用する必要なく、経路の冗長性が提供される手段とを含むコンピュータプログラム製品。
【請求項８１】
再送信を防止するためにメッセージを期限切れにする、記録媒体に記録された手段を更に含む、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８２】
ノードから最初に送信される場合にメッセージにタイムスタンプを付ける、記録媒体に記録された手段と、再送信の前に各ノードでタイムスタンプを現在時刻と比較する、記録媒体に記録された手段と、メッセージへのタイムスタンプ追加が発生してから所定の時間量が経過した場合に、メッセージの再送信を停止する、記録媒体に記録された手段とを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬可能となり、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８３】
ノードから最初に送信される時にメッセージ内の累積ホップカウントを初期化する、記録媒体に記録された手段と、ノードからメッセージが再送信される度にホップカウントを増分又は減分する、記録媒体に記録された手段と、ノードでホップカウントが所定のレベルに達した時にメッセージの再送信を停止する、記録媒体に記録された手段とを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８４】
最初に送信される時にメッセージに固有識別子を提供する、記録媒体に記録された手段と、ノードでメッセージの固有識別子をチェック及び記録し、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断する、記録媒体に記録された手段と、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止する、記録媒体に記録された手段とを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８５】
メッセージの再送信を促進する手段により、メッセージを、メッセージ内のアドレスコードと、メッセージが受領された方向とから決定される方向のサブセットのみにすることが可能な、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８６】
メッセージを再送信する手段により、メッセージを送信する対象とされたノードに向かう再送信が結果的に発生する方向でのみメッセージが再送信され、これにより、複数のノード内でのメッセージの伝搬が、常に対象受領者に向かって発生する、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８７】
再送信前にノードでメッセージのデータを修正する、記録媒体に記録された手段を更に含み、これにより、複数のノード間で対象受領ノードへと伝搬される際に、メッセージが情報を蓄積できる、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８８】
データを修正する手段が、再送信前にメッセージのデータを修正するためにセンサ情報を使用する、請求項８７に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項８９】
互いに９０度の角度を成す可能な四方向でのメッセージ送信及び受信を促進するようにデザインされたコンピュータプログラム製品で、メッセージが（Ｘ，Ｙ）によって表される方向から受領され、
ａ．受領した方向に対して左９０度に送信される時、修正アドレスコードが（Ｙ，Ｘ＋１）となり、
ｂ．受領した方向と同じ方向へ送信される時、修正アドレスコードが（Ｘ，Ｙ−１）となり、
ｃ．受領した方向に対して右９０度に送信される時、修正アドレスコードが（−Ｙ，Ｘ−１）となるように、修正する手段によってアドレスコードが修正される、請求項８０に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９０】
ノードから最初に送信される場合にメッセージにタイムスタンプを付ける、記録媒体に記録された手段と、再送信の前に各ノードでタイムスタンプを現在時刻と比較する、記録媒体に記録された手段と、メッセージへのタイムスタンプ追加が発生してから所定の時間量が経過した場合に、メッセージの再送信を停止する、記録媒体に記録された手段とを更に含み、これにより、メッセージが、事前に指定された時間量に渡って、複数のノードを通じて伝搬可能となり、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９１】
ノードから最初に送信される時にメッセージ内の累積ホップカウントを初期化する、記録媒体に記録された手段と、ノードからメッセージが再送信される度にホップカウントを増分又は減分する、記録媒体に記録された手段と、ノードでホップカウントが所定のレベルに達した時にメッセージの再送信を停止する、記録媒体に記録された手段とを更に含み、これにより、メッセージが、事前に指定されたホップ回数に渡って、複数のノードを通じて伝搬され、その後、送信の対象とされたノードに到達するかどうかに関係なく、再送信されなくなる、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９２】
最初に送信される時にメッセージに固有識別子を提供する、記録媒体に記録された手段と、ノードでメッセージの固有識別子をチェック及び記録し、メッセージの固有識別子が以前に格納されたものと一致するかどうかを判断する、記録媒体に記録された手段と、メッセージの固有識別子が以前に格納されたものと一致する場合にメッセージの再送信を停止する、記録媒体に記録された手段とを更に含み、これにより、メッセージが、複数のノードを通じて一度だけ伝搬される、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９３】
メッセージの再送信を促進する手段により、メッセージを、メッセージ内のアドレスコードと、メッセージが受領された方向とから決定される方向のサブセットのみにすることが可能な、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９４】
メッセージが再送信される時、メッセージのアドレスコードにより決定される方向でのみ再送信される状態を確保する、記録媒体に記録された手段を更に含む、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９５】
再送信前にノードでメッセージのデータを修正する、記録媒体に記録された手段を更に含み、これにより、複数のノード間で対象受領ノードへと伝搬される際に、メッセージが情報を蓄積できる、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【請求項９６】
メッセージのデータがコマンドである、請求項８９に記載の複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品。
【発明の詳細な説明】
【０００１】
政府の権利に関する記述
本発明の一部は、契約番号Ｎ６６００１−９９−Ｃ８５１４の下で、国防総省国防高等研究事業局からの米国政府の支援に関連して、形成及び使用されたものである。米国政府は、本発明において一定の権利を有することができる。
【０００２】
優先権の主張
本願は、２０００年９月２７日に米国で出願された仮出願第６０／２３５，８６０号「ネットワークアレイを通じたダイレクト通信」に基づく優先権の利益を主張するものである。
【０００３】
【発明の属する技術分野】
背景
（１）技術分野
本発明は、コンピュータネットワーク通信に関する。特に、本発明は、ノード（ｎｏｄｅ）のネットワークアレイ（ｎｅｔｗｏｒｋｅｄ ａｒｒａｙ）を通じたダイレクト通信（ｄｉｒｅｃｔｅｄ ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）を提供する方法、装置及びコンピュータプログラム製品を提供する。
【０００４】
【従来の技術】
（２）従来技術
過去数十年に渡って、電気通信分野は、特にワイヤレス通信の領域において、爆発的に拡大した。加えて、小型処理デバイスの能力が大幅に増加する一方で、こうしたデバイスのコストは減少した。ワイヤレス通信は、一般に、特定のデバイス又はノード間で行われる。ネットワークを通じたルートを作成すること等のタスクを実行するために、従来は、特定のデバイス同士が通信できるように、ネットワークの各構成要素に固有のＩＤを提供する必要がある。例えば、セルラネットワーク或いはアドホックネットワークでは、各デバイスに固有のＩＤ又はアドレスが割り当てられ、各デバイスは、そのアドレスをターゲットとした呼び出しを排他的に受領することができる。歴史的に、デバイスのアドレスは、通話を設定するために使用されてきたが、アドレス自体には、デバイスの位置に関する情報を伝える目的はなかった。
【０００５】
ここ最近、位置に基づくサービスが、ワイヤレス通信において重要な開発の焦点となっている。全地球測位システム（ＧＰＳ）等の位置決定システムの使用を通じて、或いは位置が分かっている一連のベースステーション間での三角測量の使用を通じて、或いは位置に関する明示的なユーザ入力を通じて、ユーザに提供するサービスを調整するために、個人ユーザの正確な位置を使用することが可能である。例えば、ユーザの位置に基づいて、地域の映画、レストラン、注目点、及びその他といった項目を含む、カスタマイズした行動メニューを作成することが可能である。一般に、こうしたシステムでは、サービスを要求する特定のデバイスのアドレスとデバイスの位置との両方が必要である。
【０００６】
しかしながら、各ノードに固有のデバイスＩＤとＧＰＳデバイス等の位置決定デバイスとの両方を提供することが実際的ではないが、特定の位置にあるデバイスにメッセージを送信することが望ましい状況は、数多く存在する。こうした状況の例には、多数のローカルネットワークノードが情報を調整及び共有する必要がある分散型センサネットワーク（ｄｉｒｅｃｔｅｄ ｓｅｎｓｏｒ）、スマート地雷、ナノサテライト、及び分散ロボットを使用するものが含まれる。こうした状況では、ノードのアレイ内で別のノードから特定の距離及び方向にあるノードとの通信を可能にする通信メカニズムを提供することが望ましい。更に、固有のノードＩＤを使用せずに実施可能な通信メカニズムが望ましい。
【０００７】
【発明解決するための手段】
発明の概要
本発明は、複数のノード内でメッセージを送信する方法を提供し、これにおいて、それぞれのノードは、プロセッサと、プロセッサに接続されたメモリと、指向性通信インタフェース（ｄｉｒｅｃｔｉｏｎａｌ ｃｏｍｍｕｎｉｃａｔｉｏｎ ｉｎｔｅｒｆａｃｅ）とを含む。この方法は、アドレスコードと対応するデータとを含むメッセージを、複数のノード内の現行ノードで受領する第一のステップを含む。このアドレスコードは、対応するメッセージを送信する対象とされたノードの相対的なターゲットアドレスを含む。次に、現行ノードがメッセージの対象とされた受領者であることをアドレスコードが示しているかどうかを決定するために、受領アドレスコードを処理するステップが実行される。その結果、このメッセージは、メッセージが受領された方向と、メッセージ内のアドレスコードと、メッセージが再送信されることになる方向とに基づいて修正される。修正後、メッセージは、再送信されることになる各方向で、修正されたアドレスコードを含め再送信される。アドレスコードは、再送信されることになる方向を明確に表すように修正される。
【０００８】
上記ステップは、メッセージを送信する対象とされたノードにメッセージが到達するまで、すべてのノードで繰り返される。したがって、メッセージは、このメッセージが望ましい受領者に到達するまで、多数の経路で複数のノードに伝搬される可能性があり、これにより、固有のノードＩＤを使用する必要なく、経路の冗長性（ｐａｔｈ ｒｅｄｕｎｄａｎｃｙ）が提供される。
【０００９】
この方法は、更に、メッセージを期限切れとして再送信を防止するステップを含む。これは数種類の方法で達成可能であり、こうした方法には、最初に送信される時にメッセージにタイムスタンプを付け、このタイムスタンプを使用して、時間に基づいてメッセージを終了させることが含まれる。加えて、十分なホップ回数の後で期限が切れるメッセージと共に累積ホップカウントを使用することで、メッセージを期限切れにすることができる。メッセージを期限切れにする更なる方法の一つは、メッセージが複数のノードを通じて伝搬される際に各ノードで記録される固有のメッセージＩＤを提供することである。メッセージがノードで受領される度に、ノードは、メッセージがそのノードに対して送られたものかどうかを決定するためにチェックを行い、そうである場合には、メッセージは再送信されない。ノードは、所定の回数だけメッセージを渡すように設定することもできる。
【００１０】
メッセージ内のアドレスコードは、複数のノード内の多数のノードがメッセージの対象受領者となるように構築することも可能である。こうしたノードは、全般的な物理的局所性が同一であるノードのグループにすることが可能であり、或いは複数のノード全体に渡って分散させることができる。
【００１１】
加えて、メッセージは、指向性トランスミッタによる送信で利用可能な方向のサブセットで再送信することが可能である。このサブセットは、メッセージ内のアドレスコードと、メッセージが受領された方向とから決定することができる。更に好適な方法において、メッセージは、そのメッセージを送信する対象とされたノードに向けた再送信が結果として生じる方向においてのみ再送信することが可能であり、これにより、メッセージの伝搬は、常に対象受領者に向かって発生することになる。
【００１２】
更に、再送信前にノードでメッセージのデータを修正するために、随意的なステップを提供することが可能であり、これにより、メッセージは、対象受領者へ伝搬される際に、情報を蓄積することができる。
【００１３】
更に、ノードの一部は、センサ情報を生成する少なくとも一つのセンサを含むことが可能であり、データを修正するステップでは、センサ情報を使用して、再送信前にメッセージのデータを修正することができる。
【００１４】
別の実施形態において、メッセージは、メッセージを送信する対象とされたノードにメッセージが到達した後で対象受領者として指定されることになる別のノードを含むことが可能である。したがって、メッセージは、対象受領ノードから対象受領ノードへとホップさせることが可能である。ノードは、メッセージを複数のノードでホップさせる際にデータに累積的な変化が生じるような形で、再送信の経路に沿ってデータを修正することができる。
【００１５】
好ましくは、複数のノード間でのメッセージの再送信は、二次元平面において発生し、それぞれのノードは可能な四方向で送受信を行う。
【００１６】
更に好ましくは、可能な四方向は、互いに９０度の角度を成し、メッセージは（Ｘ，Ｙ）によって表される方向から受領され、アドレスコードは次のように修正される。
【００１７】
ａ．受領した方向に対して左９０度に送信される時、修正アドレスコードは（Ｙ，Ｘ＋１）となる。
【００１８】
ｂ．受領した方向と同じ方向へ送信される時、修正アドレスコードは（Ｘ，Ｙ−１）となる。
【００１９】
ｃ．受領した方向に対して右９０度に送信される時、修正アドレスコードは（−Ｙ，Ｘ−１）となる。
【００２０】
本発明によって送信されるメッセージのデータは、コマンドである場合がある。更に、本発明に関連して使用されるノードの少なくとも一部は、移動可能な場合がある。最後に、複数のノード間でのメッセージの再送信は、三次元体積内において発生する場合がある。
【００２１】
本発明は、単一の品目として共に製造され、共に使用される、複数のノードを含む場合がある。他方では、他のノードと共に使用して、本明細書で説明するノードのネットワークを形成するように構成された、単一のノードを含む場合がある。別の実施形態において、本発明は、記録媒体に記録されたコンピュータプログラム製品の形態を取る。
【００２２】
こうした本発明の特徴については、以下の説明と添付の図面とにおいて更に詳しく説明する。
【００２３】
【発明の実施の形態】
詳細な説明
本発明は、ノードのネットワークアレイを通じたダイレクト通信を提供するコンピュータプログラム製品と、方法と、装置とを提供する。この説明は、本発明の制限を意図したものではないことは理解されよう。逆に、本発明は、付記した請求項によって定義される本発明の趣旨及び範囲に含まれる代替物と、修正物と、同等物とをカバーすることを意図するものである。更に、以下の本発明の詳細な説明では、本発明の完全な理解を提供するために、多数の具体的な詳細について述べる。しかしながら、本発明は、こうした具体的な詳細がなくとも実施可能であることは当業者には自明であろう。
【００２４】
有効な参照基準を提供するために、最初に、説明及び請求項で使用される用語の解説を行い、読者の中心的な資料とする。この用語解説は、使用する用語に関する具体的な制限を提供することを意図するものではなく、逆に、本明細書で使用される一部の用語の全体的な雰囲気を提示し、読者を支援することを意図するものである。次に、本発明の注釈的な説明の形態で簡単な序論を提示し、具体的な詳細へと展開する前に概念の理解を提供する。
【００２５】
用語解説
手段…一般的には、本発明の目的から、この用語は、その手段の目的であるタスクを実行する動作を行うコンピュータプログラム又はサブプログラム、或いはコンピュータプログラムの一部を指す。この手段は、一般に、言語及びコンピュータプラットフォームに依存せず、ソフトウェア又はハードウェアのいずれかの形態にすることが可能なコンピュータ命令（又はコード）の形態であると考えられる。
【００２６】
ノード…ノードとは、本発明の目的から、プロセッサと、プロセッサに接続されたメモリと、プロセッサに接続されたダイレクト通信インタフェースとを含むコンピューティングシステムである。ノードは、複数のノード間での対象受領者へのメッセージの伝搬を促進するように設計される。ノードは、一般に、赤外線トランスミッタ／レシーバ又はレーザトランスミッタ／レシーバといったワイヤレス通信インタフェースを介して通信する。しかしながら、本明細書で開示する手法は、有線環境においても使用可能であると考えられる。加えて、ノードは、望ましい受領者へ送信するメッセージに組み込むために情報を収集するセンサその他の手段を利用することもできる。ノードは、静止状態にすることが可能であり、或いは、車輪等の移動用の手段を組み込むことができる。
【００２７】
序論
本発明の手法を介して通信する複数のノードを示す説明図を、図１に示す。複数のノードは、例えば、エリア上でほぼ等しい間隔を空けた小さなロボットのグループとして思い描くことができる。図で見ることができるように、複数のノード１００が表示されており、この中の各ノードは、可能な四方向で通信することができる。したがって、この例において、それぞれのノードには、四方向赤外線通信システムが組み込まれている。ノード１００間での送信は、送信コーン１０２によって表されており、これはノード１００間で情報を伝達するのに使用される通信媒体を表している。本発明で使用される通信媒体は、例えば、光学、無線周波数、及び音響媒体を含むことができる。送信コーン１０２は、送信媒体が方向性を有し、更にノード１００からの距離の関数として、ある程度の広がりを有することを示すために、コーンの形態で提示されている。太字の矢印で示すメッセージソース１０４は、対象受領ノード１０６へ送信されるメッセージを提供する。メッセージソース１０４は、ノード１００にすることが可能であり、或いは、メッセージは、ユーザから対象受領ノードへアドレス指定されたコマンドにすることができる。メッセージ内にはアドレスコードが提供され、これはメッセージの再送信前に各ノードで変換される。ノード１００がロボットである場合、メッセージは、メッセージソース１０４から受領され、最終的に対象受領者へ到達するようにロボットからロボットへと受け渡される。受け渡しの際、アドレスコードは、正しいロボットに到達した時に、それが対象受領者であることをロボットが判断できる固有の値を有する状態を確保するように修正される。そのため、メッセージを可能な四方向で送受信できる場合、アドレスコードの変化（変換）は、これを考慮に入れることを意図したものとなる。各ノード１００でのアドレスコードの変換結果では、望ましい目標ノード１０６又は複数の目標ノードにメッセージが到着した場合のみ、アドレスコードがこの固有の値となる。アドレスコードは、通常、対象受領ノード１０６からの現行ノード１００のオフセットを表す。ここでは、各ノードが他のノードに対する自分の方向性を知らず、ノードが共通の基準系を共有していないことを想定している。しかしながら、ノードは、メッセージを受領する時、受領メッセージの方向を使用して、局所的な基準系を構築する。ノードは、次に、メッセージを再送信する各方向について、その送信方向が新しい基準系の基盤を形成するように、アドレスコードの変換を実行する。例えば、単純な意味において、アドレスコードは、現行ノードがメッセージを受領した方向によって定められる基準系において指定される現行ノード乃至目標ノードの（Ｘ，Ｙ）座標のオフセットを表すことができる。
【００２８】
メッセージの再送信時、各ノードは、連続する各受領ノードがメッセージ受領方向に適切に対応したアドレスコードを受領するように、送信方向に対応する座標系に従ってアドレスコードを変換する。座標の変化に加えて、この変換では、受領ノードが自分自身と対象目標との間の残距離及び方向に引き続き対応するアドレスを受領するように、アドレスコードのオフセットを増分又は減分させる。言い換えれば、変換の目的は、結果として生じるメッセージのアドレスコードが対象受領者において、進んだ経路に関係なく同じ値に達する状態を可能にすることである。
【００２９】
メッセージが対象受領ノード１０６に到達すると、受領ノード１０６からの更なる再送信は不要となる。他のノードは、メッセージが複数のノード１００を通じて絶え間なく再循環するのを防止するメッセージ無効化手段が始動又は適用されるまで、引き続きメッセージを再送信することになる。
【００３０】
この序論の目的は、読者に本発明に関する全般的な知識を与えるものである。しかしながら、本発明の完全な範囲は、いくつかの態様を備えており、これには複数のノード内でメッセージを送信する方法と、複数のノードを備えるデータネットワーク内でダイレクト通信するシステムと、データネットワーク内でダイレクト通信するシステムと通信するノードと、複数のノード内でのメッセージ送信を促進するコンピュータプログラム製品とが含まれる。こうしたそれぞれの態様については、下で更に詳細に説明する。
【００３１】
【実施例】
発明の具体例
本発明の様々な態様について説明する前に、本発明に関連して使用されるノードの例を示す図を図２（ａ）及び図２（ｂ）に示す。図２（ａ）に上面図として表示されるノード２００は、ほぼ平面的な形で、四方向での送受信を行うように構成される。ノードは四種類より多くの方向で送受信するように構成可能だが、こうした四方向の構成は、好適であり、この説明の全体に渡って、例の中で使用されることになる。提示する手法は、四種類より多くの方向が関与する状況、及び（二次元平面に沿ったものではなく）三次元体積内での通信が望ましい状況に、容易に適応させることができる。
【００３２】
図２（ａ）に示すように、ノード２００は、処理ユニット２０２を備える。この処理ユニットは、図２（ｂ）で更に詳細に表示されており、これに関連して説明する。処理ユニットは、本明細書で提示する通信機能を実行するために、データを受領及び操作する動作を行う。通常、この通信機能は、処理ユニット２０２内で動作するソフトウェアによって実行される。しかしながら、この機能は、性能速度を向上させるために、処理ユニット２０２にハードコードすることもできると考えられる。
【００３３】
処理ユニット２０２に加えて、ノード２００は、更に指向性通信インタフェース２０４を含む。指向性通信インタフェース２０４は、好ましくは、可能な四方向の少なくとも一方向で送受信の動作を行う指向性赤外線トランスミッタ／レシーバを備える。本発明では、光学（赤外線／レーザ）、音響、及び無線周波数通信を含め、任意の指向性通信媒体を利用することができる。本発明は、好ましくはワイヤレス環境で運用されるが、指向性通信インタフェース２０４は、有線通信インタフェースにすることも可能であり、これにおいて各方向はノード２００の異なるライン出力を表す。
【００３４】
ノード２００は、他のデバイス、例えばセンサその他の二次通信メカニズムを含むことができる。センサ２０６は、図２（ａ）のノード上に表示されており、複数のノード２００を通じてメッセージが伝搬される際に、ノード２００が環境からの情報を収集し、これに組み込むことができるようにする目的で提供できる。任意のセンサ２０６又はセンサの組み合わせを、特定の環境での要求に応じて選択可能であり、非限定的な例には、熱センサと、煙探知器と、化学検出器と、動作検出器とが含まれる。
【００３５】
処理ユニット２０２を更に詳細に提示するブロック図を図２（ｂ）に示す。表示のように、ノード２００の処理ユニット２０２は、プロセッサ２０８と、プロセッサ２０８に接続されたメモリ２１０と、プロセッサ２０８に接続された指向性通信インタフェース２０４と、プロセッサ２０８に接続されたオプションのセンサ２１４とを含む。処理ユニット２０２は、ノードの通信要件の制御装置としての役割を果たす。別のプロセッサを含め、他のシステムをノードに提供することも可能だが、この処理ユニット２０２は、本発明の観点においてノード２００の中核を形成する。本明細書で説明するすべての通信機能は、プロセッサ２０８によって制御され、メモリ２１０によって補強され、指向性通信インタフェース２０４及びセンサ２１４の使用を通じて促進される。表示されていないが、処理ユニット２０２は、ソフトウェアプログラムを受領する入力／出力ポートを含むこともできる。
【００３６】
こうした表示の特徴に加えて、ノード２００は、稼働性を提供する手段を取り入れることができる。例えば、ノードは、陸上移動用の車輪又は脚部、水中移動用のフィン及びプロペラ、空中移動用の翼及びプロペラ、或いは宇宙基盤での移動用のジェットを含むことができる。
【００３７】
次に、本発明の機能について、本発明の方法におけるノードでのステップを表す図３のフローチャートに沿って説明する。注意点として、本発明のステップに関連するものとして本発明の物理的プロセスを明確に理解できるように、図１の参照も行われる。方法の開始３００において、ノード２００は、メッセージの受領を待つ。メッセージソース１０４からのメッセージは、送信ステップ３０２において、複数のノード１００内の第一の受領ノード１００へ送信される。メッセージは、ノード１００の一つを起源とする可能性があり、或いは複数のノード１００の外部を起源とする可能性がある。このメッセージは、複数のノード間で再送信され、アドレスコードと、対応するデータ（メッセージのコンテンツ）とを含む。アドレスコードは、少なくとも一つの対象受領ノード１０６へメッセージを方向付けるために使用される。
【００３８】
好適な二次元の実施形態において、アドレスコードは、現行ノード１００乃至対象受領ノード１０６のオフセット（相対的なターゲットアドレス）を示す（Ｘ，Ｙ）値を含む。この（Ｘ，Ｙ）値は、右（Ｘ）に何回ホップし、前方（Ｙ）に何回ホップして、メッセージがリレーされるかを示す。この場合、「前方」及び「右」の基準系は、起源となるコマンド信号の方向の観点から定義される。ノード１００は、一定の方向で、外部ソース又は別のノード１００からメッセージを受領する時、三方向のうち少なくとも一方向でメッセージを再送信し、各送信方向についてアドレスコードの数学的変換を実行する。
【００３９】
送信ステップ３０２でのメッセージの送信後、このメッセージは、受領ステップ３０４において次のノードで受領される。メッセージの受領後、ノード１００は、受領アドレスコードに関して処理ステップ３０６を実行し、現行ノード１００が対象受領ノード１０６であることをアドレスコードが示しているかどうかを判断する。好適な実施形態において、可能な四方向は、互いに９０度の角度を成し、メッセージは（Ｘ，Ｙ）によって表される一定のアドレスコードと共に一定の方向から受領される。このアドレスコードは、次のように修正される。
【００４０】
ａ．受領した方向に対して左９０度に送信される時、修正アドレスコードは（Ｙ，Ｘ＋１）となる。
【００４１】
ｂ．受領した方向と同じ方向（前方）へ送信される時、修正アドレスコードは（Ｘ，Ｙ−１）となる。
【００４２】
ｃ．受領した方向に対して右９０度に送信される時、修正アドレスコードは（−Ｙ，Ｘ−１）となる。
【００４３】
メッセージがノードに受領されると、アドレスコードは、現行ノード１００が対象受領ノード１０６であるかどうかを判断するためにチェックされる。好適な実施形態において、数学的変換の結果として、対象受領ノード１０６ではアドレスコードが（０，０）となる。他の構成も可能であり、これには、いくつかの可能なアドレスコードの一つにより、対象受領ノード１０６を示すことが可能なものが含まれる。例えば、メッセージがノード１００の局所的なサブセットで受領されるように、対象受領ノード１０６を囲む領域にあるノード１００は、追加的な対象受領ノード１０６として機能できる。
【００４４】
対象受領ノード１０６を指定するその他の方式も可能である。別の非限定的な例では、選択されたノード１００から、異なるが既知であるオフセット位置にあるノード１００を受領用に指定し、ノード１００のサブセット（必ずしも同じ付近ではない）がメッセージの受領用に指定されるようにする。
【００４５】
ノード１００が対象受領ノード１０６であると、対象受領者チェックステップ３０８によって決定された場合、信号の再送信は、メッセージ受領及び停止ステップ３１０において停止させることができる。ノード１００が対象受領ノード１０６であるために信号が停止された場合、その対象受領ノード１０６は、本質的には、更に大規模な送信での中継点である可能性がある。この場合、対象受領ノード１０６は、別の対象受領ノード１０６への再送信のためにメッセージを補強する（センサからのデータの組み込み等を行う可能性がある）。これに該当する場合、別の対象受領ノードが、対象受領ノード指定ステップ３１２において指定される。別の対象受領ノード１０６が指定された場合には、このプロセスが、送信ステップ３０２で再び開始される。別の対象受領ノード１０６が指定されない場合、送信は終了する３１４。
【００４６】
一方、ノード１００が対象受領ノードではない場合、メッセージは、次に、期限切れとなっているかどうかを判断するために随意的にチェックされる３１６。メッセージの期限切れを発生させることが可能な手法は数多く存在しており、そのうちの三種類について、次に説明する。
【００４７】
第一の例には、最初に送信される時３０２、メッセージにタイムスタンプを付け、その後、期限切れチェックステップ３１６において、再送信前にタイムスタンプを現在時刻と比較することが含まれる。メッセージの時間経過が十分であることをタイムスタンプが示す場合（例えば、タイムスタンプと現在時刻との差異が十分に大きい場合）、停止ステップ３１８が発生し、送信は終了する３１４。したがって、この方法により、メッセージは、所定の時間量に渡って、複数のノード１００を通じて伝搬され、その後、期限切れとなり、送信が停止する。
【００４８】
メッセージの期限切れを発生させることが可能な手法の第二の例は、累積ホップカウントの使用を通じたものである。メッセージが最初に送信される時３０２、メッセージのホップカウンタは、初期化され、初期値となる。メッセージがノードにより再送信されるにつれ、ホップカウンタは、各再送信の前に増分又は減分される。メッセージは、ノードを通じた所定のホップ回数後に期限切れ（送信停止）となるように設定される。期限切れチェックステップ３１６において、ホップカウントは、メッセージの期限切れを決定するホップカウント閾値と比較される。ホップカウントがホップカウント閾値を上回る場合（或いは、ホップカウントを減分するものであるケースでは、下回る場合）、そのメッセージのノードからの更なる送信は、停止ステップ３１８において禁止することが可能であり、送信は終了する３１４。したがって、この方法により、メッセージは、所定のホップ回数に渡って、複数のノード１００を通じて伝搬され、その後、期限切れとなり、送信が停止する。
【００４９】
メッセージの期限切れを発生させることが可能な手法の最後の例は、固有メッセージ識別子の使用を通じたものである。この方法では、メッセージが最初に送信される時３０２、メッセージに固有メッセージ識別子が含まれる。メッセージが複数のノード１００を通じて再送信される際、ノード１００は、後で受領するメッセージとの比較のために、固有メッセージ識別子を収集する。ノード１００は、メッセージの固有識別子をチェック及び記録し、一定のメッセージの固有識別子が以前に格納したものと一致するかどうか（同じメッセージが過去にノード１００へ送信されたことを示す）を判断する。メッセージの固有識別子が以前に格納されたものと一致する場合、そのメッセージのノードからの更なる送信は、停止ステップ３１８において禁止することが可能であり、送信は終了する３１４。したがって、この方法により、メッセージは、期限切れとなり、送信が停止する前に、複数のノード１００全体を通じて伝搬可能となる。
【００５０】
メッセージを期限切れとする三種類のメカニズムについて上で説明したが、その他の多くの方法を、上記のものの組み合わせと同様に、容易に考えることができる。
【００５１】
メッセージが期限切れとならない場合３１６、メッセージのデータは、オプションのデータ処理／修正ステップ３２０において処理又は修正することができる。例えば、ノード１００は、メッセージが特定の経路で送信される際に、メッセージのデータにローカルデータを組み込むことができる。したがって、このメッセージは、経路に沿った累積データを含むことができる。この累積データは、センサからの情報、ローカルユーザが挿入した情報、及びその他を含むことができる。
【００５２】
更に、このシステムは、対象受領ノード１０６として指定されたノード１００でのみデータが蓄積されるように設定することが可能であり、これにより、メッセージがノードのネットワークを移動する際に、特定のポイントでデータを収集するようにシステムをプログラムできる。このプロセスを容易にするメカニズムの例では、メッセージのデータに固定オフセットを追加し、この固定オフセットを使用して、メッセージが対象受領ノード１０６に到達する度に、メッセージのアドレスコードをリセットする。この時、対象受領ノードには、再送信のためにデータを収集するように命令することができる。この意味において、データは、少なくとも一部がコマンド信号として機能できる。
【００５３】
オプションのデータ処理／修正ステップ３２０の後、別のオプションステップが実行され、メッセージを再送信する方向が判断される３２２。このステップにおいて、再送信が望ましい方向は、いくつかの可能な方法で判断することができる。例えば、メッセージのアドレスコード又はデータ部分には、メッセージを常に再送信するべき方向を示す情報を含めることができる。メッセージを再送信するべき方法に関する情報は、アドレスコードを処理して導くことも可能である。特に、メッセージが常に対象受領ノード１０６に向けて伝搬される状態を確保するためには、メッセージの選択的な再送信が望ましい場合もある。アドレスコードは現行ノード１００乃至対象受領ノード１０６のオフセットを表すため、（平面での四方向の送信を使用する好適な実施形態での９０度の円弧内において）送信を二方向に制限することが可能である。これは、出力を節約し、ネットワークリソースを保護するのに役立つ。この実施形態は、下で説明する指向性メッセージ変換と共に、図４に表示されている。本発明の通信手法により最善の結果を得るための注意点として、ノードは、通信領域全体で、ある程度均等に分散させること／間隔を空けることが望ましい。
【００５４】
図３の説明を続けると、信号３２２を再送信する方向を（随意的に）判断した後、メッセージは、再送信ステップ３２４において再送信され、各固有方向での送信には、アドレス変換３０６により決定された、その方向に関して計算されたアドレスコードが含まれる。メッセージの伝搬は、送信されたメッセージが向かう次の（複数の）ノードで、再びメッセージが受領されることにより３０４、更に継続される。
【００５５】
図４（ａ）は、平面四方向通信の場合について以前に説明した方向コード変換を示す説明図である。変換の例図では、アドレスコードが（Ｘ，Ｙ）である着信信号を左側から受領したと仮定している。他方の（変換済みの）発信信号は、着信方向に基づいた変換済みアドレスコードを含む。この実施形態における着信方向に関係なく、正確な着信信号方向を反映させるには、例図を回転させるだけでよく、発信結果は、その方向に対して相対的に同じものとなる（例えば、メッセージを図の下方向から受領する場合、例図を（全体に）９０度回転させるだけで、この状況に対応できる）。
【００５６】
図４（ｂ）は、二次元通信アレイにおいて通信する複数のノードを示す説明図である。この実施形態では、注意点として、ノード４００は、信号起源４０４からの信号４０２を対象受領ノード４０６に向かう方向でのみ送信する。更に注意点として、サンプルのアドレスコードは、変換を例証するために数字で提示されている。
【００５７】
三次元の実施形態といった別の実施形態において、或いは四方向より多くの方向又は少ない方向を使用する実施形態において、或いは送信方向が互いに垂直ではない場合、この変換は、修正する必要がある。こうしたケースでの変換の修正で必要となるのは、一般に、定型の数学的修正（三角法）のみである。
【００５８】
製作において、本発明は、単一の品目として共に製造され、共に使用される、複数のノードを含む場合がある。他方では、他のノードと共に使用して、本明細書で説明するノードのネットワークを形成するように構成された、単一のノードを含む場合がある。別の実施形態において、本発明は、記録媒体に記録されたコンピュータプログラム製品の形態を取る。
【００５９】
図５に表示するディスクは、コンパクトディスク（ＣＤ）又はデジタル多用途ディスク（ＤＶＤ）等の記録媒体５００を表している。ＣＤ又はＤＶＤとして表示されているが、任意の記録媒体を利用可能であり、その例には磁気ディスク及びテープと、その他の光記憶媒体とが含まれる。
【００６０】
本明細書で説明した本発明には多数の応用の可能性が存在し、その例には、多数のローカルネットワークノードが情報を調整及び共有する必要がある分散センサネットワーク、スマート地雷、ナノサテライト、及び分散ロボットが含まれる。ＧＰＳ等、位置を正確に決定する手段を各ノードに設けることが実際的ではないこうした状況において、本発明は有利である。
【００６１】
本発明の好適な実施形態としては、単純なオプティカルリンクを使用して、比較的短距離で互いに通信できる多数の単純なロボットが考えられる。ユーザが特定の位置にある特定のロボットにコマンドを送信したい時、そのユーザとの相対的な距離及び方向の他には、そのロボットを参照する方法は存在しない。これは、予想されるロボットがオンボードの位置決定手段を有しておらず、命令したいロボットの特定のＩＤをユーザが知る手段が存在しないためである。
【００６２】
こうした本発明の機能および実施形態については、前記特許請求の範囲にも更に記載されている。
【図面の簡単な説明】
【図１】
本発明の手法を介して通信する複数のノードを示す説明図である。
【図２（ａ）】
本発明に関連して使用され、四方向で通信するように構成されたノードの例を示す図である。
【図２（ｂ）】
本発明の通信機能を促進するためにノード内に組み込まれた処理ユニットのコンポーネントを示すブロック図である。
【図３】
本発明の方法のステップを示すフローチャートである。
【図４（ａ）】
平面四方向通信の場合での方向コードの変換を示す説明図である。
【図４（ｂ）】
二次元通信アレイにおいて通信する複数のノードを示す説明図である。
【図５】
本発明に関連して使用されるコンピュータ可読記録媒体の図である。
【符号の説明】
１００  ノード
２０４  通信インタフェース
２１４  センサ
２０８  プロセッサ
２１０  メモリ
【図２】
2004524717.tif 000003
【図３】
2004524717.tif 000004
【図４】
2004524717.tif 000005
【国際公開パンフレット】
2004524717.tif 000006
2004524717.tif 000007
2004524717.tif 000008
2004524717.tif 000009
2004524717.tif 000010
2004524717.tif 000011
2004524717.tif 000012
2004524717.tif 000013
2004524717.tif 000014
2004524717.tif 000015
2004524717.tif 000016
2004524717.tif 000017
2004524717.tif 000018
2004524717.tif 000019
2004524717.tif 000020
2004524717.tif 000021
2004524717.tif 000022
2004524717.tif 000023
2004524717.tif 000024
2004524717.tif 000025
2004524717.tif 000026
2004524717.tif 000027
2004524717.tif 000028
2004524717.tif 000029
2004524717.tif 000030
2004524717.tif 000031
2004524717.tif 000032
2004524717.tif 000033
2004524717.tif 000034
2004524717.tif 000035
2004524717.tif 000036
2004524717.tif 000037
2004524717.tif 000038
2004524717.tif 000039
2004524717.tif 000040
2004524717.tif 000041
2004524717.tif 000042
2004524717.tif 000043
2004524717.tif 000044
2004524717.tif 000045
2004524717.tif 000046
2004524717.tif 000047
2004524717.tif 000048
2004524717.tif 000049
【国際公開パンフレット（コレクトバージョン）】
2004524717.tif 000050
2004524717.tif 000051
【国際調査報告】
2004524717.tif 000052
2004524717.tif 000053
2004524717.tif 000054
2004524717.tif 000055