(57)【特許請求の範囲】
【請求項１】
メッシュ・ネットワークにおける分散データ送信用に構成された分散デバイスであって、
ヘッダおよびペイロード・データを備えるデータ・メッセージを受信するように構成されたネットワーク・インターフェース・デバイスと、
前記ネットワーク・インターフェース・デバイスに接続された処理デバイスと、を有し、
前記処理デバイスは、追加の分散デバイスが近隣デバイスであるかどうかを識別し、
前記追加の分散デバイスが前記近隣デバイスであると識別した場合に、
前記処理デバイスが、
前記追加の分散デバイスが前記ヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定し、
前記ペイロード・データおよび追加のヘッダを備える追加のデータ・メッセージを生成し、
前記追加のヘッダが前記ペイロード・データを受信するように選択されているものとして前記追加の分散デバイスを識別するように構成され、
前記ネットワーク・インターフェース・デバイスが、前記追加のデータ・メッセージを前記追加の分散デバイスに送信するように構成され、
前記追加の分散デバイスが前記近隣デバイスであると識別することが、
前記追加の分散デバイスから受信した信号の受信信号強度インジケータが、しきい値受信信号強度インジケータを超える旨を決定することと、
前記追加の分散デバイスから受信した、通信リンクを確立するための過去の試行が成功したことを示す率であるティックル率が、しきい値ティックル率を超える旨を決定することと、
前記追加の分散デバイスが、前記ペイロード・データの所期の受信側デバイスである旨を決定することと、
のうちの少なくとも１つを含む分散デバイス。
【請求項２】
メッシュ・ネットワークにおける分散データ送信用のシステムであって、
第１の分散デバイスを有し、
前記第１の分散デバイスは、
第１のヘッダおよびペイロード・データを備える第１のデータ・メッセージを受信するように構成された第１のネットワーク・インターフェース・デバイスと、
第１の処理デバイスと、を有し、
前記第１の処理デバイスは、第２の分散デバイスが前記第１の処理デバイスの近隣デバイスであるかどうかを識別し、
前記第２の分散デバイスが前記第１の分散デバイスの近隣デバイスであると識別した場合に、
前記第１の処理デバイスが、
前記第２の分散デバイスが前記第１のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定し、
前記第２の分散デバイスが前記第１のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨の決定に基づいて、第２のデータ・メッセージを生成し、前記第２のデータ・メッセージは、前記ペイロード・データおよび第２のヘッダを備え、前記第２のヘッダは前記ペイロード・データを受信するように選択されているものとして前記第２の分散デバイスを識別するように構成され、
前記第１のネットワーク・インターフェース・デバイスが、前記第２のデータ・メッセージを前記第２の分散デバイスに送信するように構成され、
前記システムは、さらに、
前記第１の分散デバイスに通信可能に接続された前記第２の分散デバイスを有し、
前記第２の分散デバイスは、
前記第２のデータ・メッセージを受信するように構成された第２のネットワーク・インターフェース・デバイスと、
第２の処理デバイスと、を有し、
前記第２の処理デバイスは、
第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されるかどうかを決定し、
前記第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されるかどうかに基づいて、前記ペイロード・データを再送信するかどうかを決定するように構成され、
前記第２の分散デバイスが前記近隣デバイスであると識別することが、
前記第２のネットワーク・インターフェース・デバイスから前記第１のネットワーク・インターフェース・デバイスによって受信された前のメッセージに関する受信信号強度インジケータを識別することと、
前記受信信号強度インジケータがしきい値受信信号強度インジケータを超える旨を決定することと、
を含むシステム。
【請求項３】
メッシュ・ネットワークにおける分散データ送信用のシステムであって、
第１の分散デバイスを有し、
前記第１の分散デバイスは、
第１のヘッダおよびペイロード・データを備える第１のデータ・メッセージを受信するように構成された第１のネットワーク・インターフェース・デバイスと、
第１の処理デバイスと、を有し、
前記第１の処理デバイスは、第２の分散デバイスが前記第１の処理デバイスの近隣デバイスであるかどうかを識別し、
前記第２の分散デバイスが前記第１の分散デバイスの近隣デバイスであると識別した場合に、
前記第１の処理デバイスが、
前記第２の分散デバイスが前記第１のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定し、
前記第２の分散デバイスが前記第１のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨の決定に基づいて、第２のデータ・メッセージを生成し、前記第２のデータ・メッセージは、前記ペイロード・データおよび第２のヘッダを備え、前記第２のヘッダは前記ペイロード・データを受信するように選択されているものとして前記第２の分散デバイスを識別するように構成され、
前記第１のネットワーク・インターフェース・デバイスが、前記第２のデータ・メッセージを前記第２の分散デバイスに送信するように構成され、
前記システムは、さらに、
前記第１の分散デバイスに通信可能に接続された前記第２の分散デバイスを有し、
前記第２の分散デバイスは、
前記第２のデータ・メッセージを受信するように構成された第２のネットワーク・インターフェース・デバイスと、
第２の処理デバイスと、を有し、
前記第２の処理デバイスは、
第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されるかどうかを決定し、
前記第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されるかどうかに基づいて、前記ペイロード・データを再送信するかどうかを決定するように構成され、
前記第２の分散デバイスが前記近隣デバイスであると識別することが、
前記第２の分散デバイスに関連付けられた、通信リンクを確立するための過去の試行が成功したことを示す率であるティックル率を識別することと、
前記ティックル率がしきい値ティックル率を超える旨を決定することと、
を含むシステム。
【請求項４】
メッシュ・ネットワークにおける分散データ送信用のシステムであって、
第１の分散デバイスを有し、
前記第１の分散デバイスは、
第１のヘッダおよびペイロード・データを備える第１のデータ・メッセージを受信するように構成された第１のネットワーク・インターフェース・デバイスと、
第１の処理デバイスと、を有し、
前記第１の処理デバイスは、第２の分散デバイスが前記第１の処理デバイスの近隣デバイスであるかどうかを識別し、
前記第２の分散デバイスが前記第１の分散デバイスの近隣デバイスであると識別した場合に、
前記第１の処理デバイスが、
前記第２の分散デバイスが前記第１のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定し、
前記第２の分散デバイスが前記第１のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されない旨の決定に基づいて、第２のデータ・メッセージを生成し、前記第２のデータ・メッセージは、前記ペイロード・データおよび第２のヘッダを備え、前記第２のヘッダは前記ペイロード・データを受信するように選択されているものとして前記第２の分散デバイスを識別するように構成され、
前記第１のネットワーク・インターフェース・デバイスが、前記第２のデータ・メッセージを前記第２の分散デバイスに送信するように構成され、
前記システムは、さらに、
前記第１の分散デバイスに通信可能に接続された前記第２の分散デバイスを有し、
前記第２の分散デバイスは、
前記第２のデータ・メッセージを受信するように構成された第２のネットワーク・インターフェース・デバイスと、
第２の処理デバイスと、を有し、
前記第２の処理デバイスは、
第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されるかどうかを決定し、
前記第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別されるかどうかに基づいて、前記ペイロード・データを再送信するかどうかを決定するように構成され、
前記第２の分散デバイスが前記近隣デバイスである旨を決定することが、前記第２の分散デバイスが前記ペイロード・データの所期の受信側デバイスである旨を決定することを含むシステム。
【請求項５】
前記第２の処理デバイスが、
前記第３の分散デバイスが前記第２のヘッダ内で前記ペイロード・データを受信するように選択されているものとして識別される旨を決定し、
前記第２のヘッダが、前記第３の分散デバイスが前記ペイロード・データを受信するように選択されているものとして識別することに基づいて、前記ペイロード・データに関する受信側分散デバイスのリストから前記第３の分散デバイスを除外するように構成される、請求項２から４のいずれか一項に記載のシステム。
【請求項６】
前記第１の分散デバイスに通信可能に接続された制御ユニットをさらに備え、該制御ユニットが、
第１のセッション中に、前記第１、第２、および第３の分散デバイスを含む複数の分散デバイスに提供されることになるデータを受信し、
前記データを前記ペイロード・データおよび追加のペイロード・データに区分し、
送信用の前記ペイロード・データを前記複数の分散デバイスを介して送信し、
第２のセッション中に送信用の前記追加のペイロード・データを前記複数の分散デバイスを介して送信するように構成される、請求項２から４のいずれか一項に記載のシステム。
【請求項７】
前記制御ユニットは、
前記ペイロード・データまたは前記追加のペイロード・データのうちの少なくとも１つが、前記第１のセッションおよび前記第２のセッションのそれぞれのセッション中に、前記複数の分散デバイスのうちの少なくとも１つの分散デバイスによって受信されなかった旨を決定し、
前記ペイロード・データまたは前記ペイロード・データのうちの少なくとも１つを、前記少なくとも１つの分散デバイスに再送信すること、
を実行するようにさらに構成される、請求項６に記載のシステム。
【請求項８】
メッシュ・ネットワークにおける分散データ送信用の方法であって、
前記メッシュ・ネットワークにおける第１の分散デバイスによって、第１のヘッダおよびペイロード・データを備える第１のデータ・メッセージを受信することと、
前記第１の分散デバイスによって、第２の分散デバイスが近隣デバイスであるかどうかを識別することと、
前記第２の分散デバイスが近隣デバイスであると識別した場合に、
前記第１の分散デバイスによって、前記第１のヘッダ内で前記第２の分散デバイスが前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定することと、
前記第１の分散デバイスによって、前記ペイロードおよび第２のヘッダを備える第２のデータ・メッセージを生成することと、
前記第１の分散デバイスによって、前記メッシュ・ネットワークを介して前記第２のデータ・メッセージを前記第２の分散デバイスに送信することと、
を含み、
前記第２のヘッダは、前記ペイロード・データを受信するように選択されているものとして前記第２の分散デバイスを識別し、
前記第２の分散デバイスが前記近隣デバイスであると識別することが、
前記第１の分散デバイスによって、前記第２の分散デバイスから受信した前のメッセージに関する受信信号強度インジケータを識別することと、
前記第１の分散デバイスによって、前記受信信号強度インジケータがしきい値受信信号強度インジケータを超える旨を決定することと、
を含む方法。
【請求項９】
メッシュ・ネットワークにおける分散データ送信用の方法であって、
前記メッシュ・ネットワークにおける第１の分散デバイスによって、第１のヘッダおよびペイロード・データを備える第１のデータ・メッセージを受信することと、
前記第１の分散デバイスによって、第２の分散デバイスが近隣デバイスであるかどうかを識別することと、
前記第２の分散デバイスが近隣デバイスであると識別した場合に、
前記第１の分散デバイスによって、前記第１のヘッダ内で前記第２の分散デバイスが前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定することと、
前記第１の分散デバイスによって、前記ペイロードおよび第２のヘッダを備える第２のデータ・メッセージを生成することと、
前記第１の分散デバイスによって、前記メッシュ・ネットワークを介して前記第２のデータ・メッセージを前記第２の分散デバイスに送信することと、
を含み、
前記第２のヘッダは、前記ペイロード・データを受信するように選択されているものとして前記第２の分散デバイスを識別し、
前記第２の分散デバイスが前記近隣デバイスであると識別することが、
前記第１の分散デバイスによって、前記第２の分散デバイスに関連付けられた、通信リンクを確立するための過去の試行が成功したことを示す率であるティックル率を識別することと、
前記第１の分散デバイスによって、前記ティックル率がしきい値ティックル率を超える旨を決定することと、
を含む方法。
【請求項１０】
メッシュ・ネットワークにおける分散データ送信用の方法であって、
前記メッシュ・ネットワークにおける第１の分散デバイスによって、第１のヘッダおよびペイロード・データを備える第１のデータ・メッセージを受信することと、
前記第１の分散デバイスによって、第２の分散デバイスが近隣デバイスであるかどうかを識別することと、
前記第２の分散デバイスが近隣デバイスであると識別した場合に、
前記第１の分散デバイスによって、前記第１のヘッダ内で前記第２の分散デバイスが前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定することと、
前記第１の分散デバイスによって、前記ペイロードおよび第２のヘッダを備える第２のデータ・メッセージを生成することと、
前記第１の分散デバイスによって、前記メッシュ・ネットワークを介して前記第２のデータ・メッセージを前記第２の分散デバイスに送信することと、
を含み、
前記第２のヘッダは、前記ペイロード・データを受信するように選択されているものとして前記第２の分散デバイスを識別し、
前記第２の分散デバイスが前記近隣デバイスであると識別することが、前記第１の分散デバイスによって、前記第２の分散デバイスが前記ペイロード・データの所期の受信側デバイスである旨を決定することを含む方法。
【請求項１１】
前記第２の分散デバイスによって、前記第２のヘッダ内で第３の分散デバイスが前記ペイロード・データを受信するように選択されているものとして識別されない旨を決定することと、
前記第２の分散デバイスによって、前記ペイロードおよび第３のヘッダを備える第３のデータ・メッセージを生成することと、
前記第２の分散デバイスによって、前記メッシュ・ネットワークを介して前記第３のデータ・メッセージを前記第３の分散デバイスに送信することと、
をさらに含み、
前記第３のヘッダが、前記ペイロード・データを受信するように選択されているものとして前記第１、第２、および第３の分散デバイスを識別する請求項８から１０のいずれか一項に記載の方法。
【請求項１２】
前記第２の分散デバイスによって、前記第２のヘッダ内で第３の分散デバイスが前記ペイロード・データを受信するように選択されているものとして識別される旨を決定することと、
前記第２のヘッダが前記第３の分散デバイスを前記ペイロード・データを受信するように選択されているものとして識別することに基づいて、前記第２の分散デバイスによって、前記ペイロード・データに関する受信側分散デバイスのリストから前記第３の分散デバイスを除外することと、
をさらに含む、請求項８から１０のいずれか一項に記載の方法。
【請求項１３】
前記第２の分散デバイスによって、前記第２の分散デバイスの近隣デバイスである第３の分散デバイスを識別することと、
前記第２の分散デバイスによって、前記第３の分散デバイスに関する識別子を前記第２のヘッダに追加することにより前記第２のヘッダのサイズが最大ヘッダ・サイズを超えることになる旨を決定することと、
前記識別子を前記第２のヘッダに追加することにより前記第２のヘッダのサイズが前記最大ヘッダ・サイズを超えることになる旨の決定に基づいて、前記第２の分散デバイスによって、前記ペイロード・データが前記第３の分散デバイスに送信されないことになる旨を決定することと、
をさらに含む、請求項８から１０のいずれか一項に記載の方法。
【請求項１４】
制御ユニットによって、前記第３の分散デバイスが前記ペイロード・データを受信しなかった旨を決定することと、
前記制御ユニットによって、前記ペイロード・データを前記第３の分散デバイスに送信することと、
をさらに含む、請求項１３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般には、コンピューター・ソフトウェアに関し、より詳細には、ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおける分散データ送信に関する。
【背景技術】
【０００２】
データ・ネットワークは、複数のネットワーク・デバイス間でデータを通信するために使用することができる。データ・ネットワークは、メッシュ・ネットワーク・トポロジを使用して実装可能である。メッシュ・ネットワークにおいて、各ネットワーク・デバイスは他のネットワーク・デバイスから受信したデータを中継し、結果としてネットワーク・デバイスはネットワークを介してデータを伝搬するために協力する。メッシュ・データ・ネットワークの例は、複数のデバイスがＲＦまたは他のワイヤレス通信リンクを介して通信する、ワイヤレス・ネットワークである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
いくつかの実装形態において、ワイヤレス・ネットワークは、データを送信するために各ネットワーク・デバイスが使用可能な帯域幅に関する制限を含むことができる。通信されることになるデータの量が帯域幅制限を超える場合、メッシュ・ネットワークを介したデータの送信は、メッシュ・ネットワークの性能を低下させる可能性がある。たとえば複数のネットワーク・デバイスが同じデータを不必要に中継することにより、データ・ネットワーク内の制限された帯域幅の非効率的な使用の原因となる。
【０００４】
データ・ネットワークの帯域幅制限に対処するための従来の解決策は、データ・ネットワークの追加ノードおよび／またはより高い帯域幅を有するＲＦトランシーバなどの、追加のネットワーク機器の設置を含むことができる。追加のネットワーク機器の設置は、コストおよび／またはデータ・ネットワークに関連する複雑さを増加させる可能性がある。
【０００５】
したがって、メッシュ・ネットワークおよび他のネットワークにおけるデータ通信の効率を向上させるためのシステムおよび方法が望まれている。
【課題を解決するための手段】
【０００６】
ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおける分散データ送信のためのシステムおよび方法が開示される。例示的なシステムは、少なくとも２つの分散デバイスを含む。第１の分散デバイスは、第１のヘッダおよびペイロード・データを含む、第１のデータ・メッセージを受信することができる。第１の分散デバイスは、第２の分散デバイスが第１のヘッダ内でペイロード・データを受信するものとして識別されない旨を決定することができる。第１の分散デバイスは、第２の分散デバイスが第１のヘッダ内でペイロード・データを受信するものとして識別されない旨の決定に基づいて、第２のデータ・メッセージを生成することができる。第２のデータ・メッセージは、ペイロード・データおよび第２のヘッダを含む。第２のヘッダは第２の分散デバイスを、ペイロード・データを受信するものとして識別する。第１の分散デバイスは、第２のデータ・メッセージを第２の分散デバイスに送信する。
【０００７】
これらの例示の態様および特徴は、本発明を制限または定義するためではなく、本出願で開示された概念の理解を助けるための例を提供するために言及されている。他の態様、利点、および特徴は、出願全体を検討すれば明らかとなるであろう。
【０００８】
本開示のこれらおよび他の特徴、態様、および利点は、添付の図面を参照しながら以下の発明を実施するための形態を読めば、より良く理解されよう。
【図面の簡単な説明】
【０００９】
【図１】ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおいて分散データ送信を利用可能な例示のシステムを示す、ネットワーク図である。
【図２】メッシュ・ネットワークにおいて分散データ送信を実装可能な分散デバイスの例を示す、ネットワーク図である。
【図３】ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおいて分散データ送信を使用して近隣の分散デバイスにメッセージを送信する分散デバイスを示す、ネットワーク図である。
【図４】分散デバイスによって近隣の分散デバイスに送信されるメッセージに追加される例示のヘッダを示す、ネットワーク図である。
【図５】ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおいて分散データ送信を使用して追加の近隣の分散デバイスに追加のメッセージを送信する分散デバイスを示す、ネットワーク図である。
【図６】分散デバイスによって追加の近隣の分散デバイスに送信される追加のメッセージに追加される例示のヘッダを示す、ネットワーク図である。
【図７】最大ヘッダ・サイズを有するメッセージを受信する分散デバイスの例を示す、ネットワーク図である。
【図８】ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおいて分散データ送信を実装するためのネットワーク管理デバイスおよび分散デバイスの例を示す、ブロック図である。
【図９】ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおける分散データ送信のための例示の方法を示す、フローチャートである。
【図１０】エラー検査を用いた分散データ送信のための例示の方法を示す、フローチャートである。
【発明を実施するための形態】
【００１０】
システムおよび方法は、ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおける分散データ送信のために提供される。分散データ送信は、ワイヤレス・ネットワークにおける帯域幅または他のリソースのより効率的な使用を可能にすることができる。ワイヤレス・ネットワークにおける帯域幅または他のリソースのより効率的な使用は、ペイロード・データのより高速な分散を可能にすることができる。ペイロード・データの非限定的な例は、ワイヤレス・ネットワークを介した相互の通信でネットワーク・デバイスに分散されることになる、ファームウェアまたはソフトウェアの更新を含む。
【００１１】
以下の非限定的な例は、本開示の一般的な主題の紹介を助けるために提供される。ヘッドエンド・システムまたは他のネットワーク管理デバイスは、ペイロード・データが送信されることになるネットワーク・デバイスのリストにアクセスすることができる。たとえば電力分散ネットワークまたは他のリソース分散ネットワーク（たとえば水、ガスなど）を管理するためのヘッドエンド・システムは、電力分散システムにおいて計測デバイスと通信するために使用される集信器などの（ただし、これらに限定されない）デバイスのリストにアクセスすることができる。リストは、ファームウェアまたは他のソフトウェアがアップグレードされることになる集信器を識別することができる。ヘッドエンド・システムは、ワイヤレスＲＦリンクを介してファームウェア更新パケットを第１の集信器に送信することができる。第１の集信器はメッセージを、１つまたは複数の近隣集信器に転送することができる。近隣集信器は、第１の集信器が十分信頼できるＲＦ通信リンクを有する集信器とすることができる。たとえば第１の集信器は、所定のしきい値を超える受信信号強度インジケータ（「ＲＳＳＩ」）を有する第１の集信器に対して、過去に送信された信号を有する近隣集信器を識別することができる。集信器は、いずれの集信器がファームウェア更新パケットを受信したかを追跡するためのヘッダと共に、メッセージを近隣集信器に転送することができる。ヘッダは、ファームウェア更新パケットを受信したか、または送信集信器からのファームウェア更新パケットを受信することになる、集信器に関する無線アドレスまたは他の識別子を含むことができる。いずれの集信器がファームウェア更新パケットを受信したかを追跡するためにヘッダを使用することで、後続の集信器がファームウェア更新パケットを不必要に再送信するのを防ぐことができる。後続の集信器がファームウェア更新パケットを不必要に再送信するのを防ぐことで、データ・ネットワークの使用可能容量を増加させることができる。
【００１２】
いくつかの態様によれば、ＲＦネットワークまたは他のデータ・ネットワークにおける分散データ送信のためのシステムが提供可能である。システムは、電力分散ネットワークにおける計測デバイスまたは他の端末デバイスから受信したデータを集約するために使用される集信器デバイス（ただし、これらに限定されない）などの、少なくとも２つの分散デバイスを含むことができる。第１の分散デバイスは、第１のヘッダおよびペイロード・データを含む、第１のデータ・メッセージを受信することができる。ペイロード・データの非限定的な例は、分散デバイスがそのファームウェアまたは他のソフトウェアのアップグレードに使用可能な、ファームウェア更新または他のソフトウェア更新（またはそれらの一部）である。ヘッダは、ペイロード・データの受信が選択された、ＲＦメッシュ・ネットワークにおける分散デバイスのリストを含むことができる。第１の分散デバイスは、第２の分散デバイスが、ペイロード・データを受信したかまたは受信するように選択されているものとして第１のヘッダ内で識別されない旨を、決定することができる。第２の分散デバイスが、ペイロード・データを受信したかまたは受信するように選択されているものとして第１のヘッダ内で識別されない旨の決定に応答して、第１の分散デバイスは、ペイロード・データを第２の分散デバイスに送信するための第２のデータ・メッセージを生成することができる。第２のデータ・メッセージは、ペイロード・データおよび第２のヘッダを含む。第１の分散デバイスは、第２の分散デバイスに関する識別子を第１のヘッダに追加することによって、第２のヘッダを生成することができる。第２のデータ・メッセージは、第１のデータ・メッセージと同じペイロード・データおよび第１のデータ・メッセージとは異なるヘッダを含むことができる。識別子の非限定的な例は、ハードウェア識別子、地理座標、ネットワーク・アドレスなどを含む。第２のヘッダは第２の分散デバイスを、ペイロード・データを受信するものとして識別する。第１の分散デバイスは、第２のデータ・メッセージを第２の分散デバイスに送信する。
【００１３】
第２の分散デバイスは、第１の分散デバイスと同様の様式でペイロード・データの再送信を続行するか停止するかを決定することができる。たとえば第２の分散デバイスは、第３の分散デバイスがペイロード・データを受信していないこと、および第４の分散デバイスがペイロード・データをすでに受信したことを識別するために、受信したデータ・メッセージのヘッダ内に含まれるデバイス識別子を参照することができる。第２の分散デバイスは、第３の分散デバイスに関する識別子を第２のヘッダに追加することによって、第３のヘッダを生成することができる。第２の分散デバイスは、ペイロード・データと、第１、第２、第３、および第４の分散デバイスに関する識別子を備えるヘッダとを含む、データ・メッセージを、第３の分散デバイスに送信することができる。第２の分散デバイスは、第４の分散デバイスがペイロード・データを受信するようにすでに選択されていることに基づいて、第４の分散デバイスを受信側デバイスのリストから省略することができる。ペイロード・データをすでに受信した分散デバイスを受信側デバイスのリストから省略することによって、ＲＦメッシュ・ネットワークまたは他のデータ・ネットワーク上の不必要なデータ通信量を削減または最小限にすることができる。
【００１４】
本明細書で使用される場合、「分散デバイス」という用語は、データ・ネットワークにおける他のネットワーク・デバイスにデータを中継または他の方法で送信するために構成された、ネットワーク・デバイスを言い表すために使用される。分散デバイスの非限定的な例は、電力分散ネットワーク内の電力消費を監視するメーターと通信するために使用される、集信器デバイスである。いくつかの態様において、分散デバイスは、データを他のネットワーク・デバイスに中継または他の方法で送信することに加えて、１つまたは複数の機能を実行することができる。たとえば、集信器デバイスである分散デバイスは、電力分散ネットワークにおける１つまたは複数の計測デバイスからデータを読み取ることができる。集信器デバイスは、データを他の集信器デバイスに分散することも可能である。こうしたデータの例は、ネットワーク管理デバイスを介してヘッドエンドまたは他のサーバ・システムから受信されるソフトウェア更新を含む。
【００１５】
本明細書で使用される場合、「ネットワーク管理デバイス」という用語は、バックホール・データ・ネットワークを介してアクセス可能なヘッドエンドまたは他のサーバ・システム、ならびにワイヤレス・ネットワークを介してアクセス可能な１つまたは複数の分散デバイスと、インターフェースするために構成されたコンピューター・デバイスを言い表すために使用される。ネットワーク管理デバイスの非限定的な例は、電力分散ネットワークのためのコレクター・デバイスである。コレクター・デバイスは、インターネットを介してコントロール・センターと、およびＲＦメッシュ・ネットワークを介して集信器デバイスと、通信することができる。ネットワーク管理デバイスは、バックホール・ネットワークを介してペイロード・データをヘッドエンドまたは他のサーバ・システムから受信することができる。
【００１６】
本明細書で使用される場合、「ペイロード・データ」という用語は、ペイロード・データを受信するネットワーク・デバイスによる消費を対象とするデータを言い表すために使用される。ペイロード・データは、ソース・デバイスと宛先デバイスとの間の中間デバイスによる修正なしに、ソース・デバイスから宛先デバイスまでのデータ・ネットワーク全体にわたって送信される、データ・メッセージの一部を含むことができる。データ・ネットワークを介した移送のためにペイロード・データに付加されるヘッダなどの、データ・メッセージの他の部分は、データを通信するために使用される１つまたは複数のネットワーク・デバイスによって修正されること、および／または、宛先デバイスによって廃棄されることが可能である。ペイロード・データの非限定的な例は、ネットワーク・デバイスに１つまたは複数の動作を実行するように命じるためにネットワーク・デバイスに送信されるコマンド・メッセージ、ネットワーク・デバイスに対する照会、ネットワーク・デバイスに適用されることになるファームウェア更新または他のソフトウェア更新などを含む。
【００１７】
本明細書で使用される場合、「ヘッダ」という用語は、ペイロード・データの１つまたは複数の特徴、および／またはペイロード・データの送信に関連付けられた１つまたは複数の特徴を識別することが可能な、ペイロード・データと共に含められる補足データを言い表すために使用される。
【００１８】
本明細書で使用される場合、「データ・ネットワーク」という用語は、リソースおよび情報の共有を可能にする通信チャネルによって相互接続されたデバイスのグループを言い表すために使用される。通信チャネルは、銅ケーブル、光ファイバ・ケーブル、ワイヤレス送信、電力線通信などの（ただし、これらに限定されない）、ネットワークを介してデータを通信するための任意の好適な手段を含むことができる。
【００１９】
本明細書で使用される場合、「メッシュ・ネットワーク」という用語は、各ノードが、ノードによって使用されるデータを送信および受信するため、ならびに、データ・ネットワークを介してデータを伝搬するために他のノードによって使用されたデータを中継するために構成された、データ・ネットワークを言い表すために使用される。
【００２０】
いくつかの態様において、制御ユニットはネットワーク・デバイスに送信されることになるデータを受信することができる。制御ユニットは、データを、各々がペイロード・データを含む複数のメッセージに分割することができる。制御ユニットは、ネットワーク・デバイス（たとえばファームウェアまたは他のソフトウェア更新）に送信されることになるデータを受信すること、および、データ・ネットワークを介して送信するためにデータをデータ・メッセージに分割することが可能な、任意のデバイスまたはシステム（たとえば、ヘッドエンド・システム、ネットワーク管理デバイスなど）を含むことができる。各データ・メッセージは、データの一部（たとえばソフトウェアまたはファームウェア更新の一部）であるそれぞれのペイロード・データを含むことができる。各データ・メッセージはネットワーク・デバイスに送信することができる。ネットワーク・デバイスは、ネットワーク・デバイスによる使用のために複数のデータ・メッセージから受信したペイロード・データ（たとえばファームウェア更新の異なる部分）を、組み合わせることができる。
【００２１】
いくつかの態様において、分散デバイスは、近隣デバイスである分散デバイスを識別することによって、潜在的な受信側デバイスのリストを生成することができる。本明細書で使用される場合、「近隣デバイス」という用語は、送信側ネットワーク・デバイスが許容可能な成功の確実性を伴ってデータを送信できる、ネットワーク・デバイスを言い表すために使用される。たとえば近隣デバイスは、しきい値ＲＳＳＩを超えるＲＳＳＩに関連付けることができる。ＲＳＳＩは、近隣デバイスが、送信側デバイスによって送信されたメッセージを正常に受信する可能性があることを示すことができる。分散デバイスは、いずれの分散デバイスが近隣デバイスであるかを識別することができる。分散デバイスは、決定された近隣デバイスのリストからペイロード・データに関する潜在的な受信側を識別することができる。決定された近隣デバイスのリストは、任意の好適なプロセスを介して分散デバイスによって動的に生成することができる。分散デバイスは、ヘッダ内でペイロード・データを受信したかまたは受信するように選択されているものとして識別されない、１つまたは複数の近隣デバイスに、ペイロード・データを送信することができる。
【００２２】
ペイロード・データを再送信する各分散デバイスは、受信側分散デバイスに関する識別子をヘッダに含まれるデータに付加することによって、分散デバイスによって受信されるヘッダを修正することができる。いくつかの態様において、受信側分散デバイスに関する識別子をヘッダに付加することによって、ヘッダが最大ヘッダ・サイズに到達してしまう可能性がある。たとえば、いずれの分散デバイスがペイロード・データを受信したかを追跡するために、ヘッダに２００バイトを割り振ることができる。各分散デバイスは、４バイトのそれぞれの識別子に関連付けることができる。ペイロード・データを５０の分散デバイスに送信することで、ヘッダが２００バイトの限界に到達してしまう可能性がある。ペイロード・データを受信する分散デバイスは、関連付けられたヘッダが最大サイズであるかどうか、および／または、追加の識別子をヘッダに付加することでヘッダが最大サイズを超えてしまうかどうかを、判別することができる。分散デバイスは、ヘッダが最大ヘッダ・サイズであるかまたはそれに近いかに基づいて、ペイロード・データが他の分散デバイスに送信されない旨を決定することができる。
【００２３】
これらの例示は、本書で論じる一般的な主題を読者に紹介するために与えられるものであり、開示される概念の範囲を限定することは意図されていない。以下の項では、同一の参照番号が同一の要素を示す図面を参照しながら、様々な追加の態様および例を説明する。
【００２４】
図面を参照すると、図１は、ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおいて分散データ送信を利用することが可能な、例示のシステム１００を示すネットワーク図である。システム１００は、サーバ・システム１０２、ネットワーク管理デバイス１０４、分散デバイス１０６ａ、１０６ｂ、および端末デバイス１０８ａ〜ｄを含むことができる。サーバ・システム１０２は、バックホール・ネットワーク１１０を介してネットワーク管理デバイス１０４と通信することができる。ネットワーク管理デバイス１０４、分散デバイス１０６ａ、１０６ｂ、および端末デバイス１０８ａ〜ｄは、メッシュ・ネットワーク１１２を介して通信することができる。
【００２５】
サーバ・システム１０２は、システム１００に対して１つまたは複数の管理機能を実行することができる。非限定的な一例では、サーバ・システム１０２は、メッシュ・ネットワーク１１２内の１つまたは複数のデバイスの状況を決定するために、ネットワーク管理デバイス１０４に照会すること、またはネットワーク管理デバイス１０４を介して、１つまたは複数の分散デバイス１０６ａ、１０６ｂもしくは１つまたは複数の端末デバイス１０８ａ〜ｄに照会をルーティングすることが、可能である。別の非限定的な例では、サーバ・システム１０２は、システム１００内の１つまたは複数のデバイスにソフトウェア更新を提供することなどが可能である。サーバ・システム１０２の非限定的な例は、電力または他のリソースを、建物、構造物、または他の地理的領域に提供する、分散ネットワークのためのヘッドエンド・システムである。サーバ・システム１０２は、サーバなどの単一のコンピューティング・システム、または、クラウドもしくはグリッド・トポロジで接続された複数のサーバなどのコンピューティング・システムのグループを、含むことができる。図１では、例示の目的で単一のサーバ・システム１０２を示しているが、システム１００は任意数のヘッドエンド・システムを含むことができる。いくつかの態様において、サーバ・システム１０２を省略すること、および／または、サーバ・システム１０２の１つまたは複数の機能をネットワーク管理デバイス１０４などの（ただし、これに限定されない）システム１００内の他のデバイスによって実行することが、可能である。
【００２６】
ネットワーク管理デバイス１０４は、サーバ・システム１０２と、メッシュ・ネットワーク１１２を介してアクセス可能なネットワーク・デバイスとの間で、データを通信することができる。ネットワーク管理デバイス１０４の非限定的な例は、コレクター・デバイス、または、電力分散システムにおいて複数の計測デバイスによって取得されるデータを集約もしくは他の方法で収集することが可能な他のデバイスである。図１では、例示の目的で単一のネットワーク管理デバイス１０４を示しているが、システム１００は任意数のネットワーク管理デバイスを含むことができる。
【００２７】
ネットワーク管理デバイス１０４は、任意の好適な通信媒体を使用し、バックホール・ネットワーク１１０を介してサーバ・システム１０２と通信することができる。好適な通信媒体の非限定的な例は、イーサネット・ケーブル、ワイヤレス・データ通信、電力線通信で使用するための電力ケーブルなどを含む（ただし、これらに限定されない）。電力線通信は、地理的領域内で公益事業会社から建物へ電力を提供するために使用されるケーブルを介した信号通信を含むことができる。
【００２８】
バックホール・ネットワーク１１０は、サーバ・システム１０２によってアクセス可能なコアネットワークまたはバックボーン・ネットワークと、メッシュ・ネットワーク１１２との間の、１つまたは複数の通信リンクを含むことができる。バックホール・ネットワーク１１０の非限定的な例は、インターネット、Ｔ１ネットワーク、または他の好適なデータ・ネットワークを含む。
【００２９】
分散デバイス１０６ａ、１０６ｂは、ネットワーク管理デバイス１０４から受信したデータを、互いに、および／または端末デバイス１０８ａ〜ｄのうちの１つまたは複数に、通信することができる。図１では、例示の目的で２つの分散デバイス１０６ａ、１０６ｂを示しているが、システム１００は任意数の分散デバイスを含むことができる。
【００３０】
端末デバイス１０８ａ〜ｄは、システム１００内で１つまたは複数のエンドユーザ機能を実行することができる。端末デバイスの非限定的な例は、建物または構造物による電力または他のリソースの消費を監視および分析するための計測デバイスである。図１では、例示の目的で４つの端末デバイス１０８ａ〜ｄを示しているが、システム１００は任意数の分散デバイスを含むことができる。分散デバイス１０６ａ、１０６ｂの各々は、任意数の端末デバイス１０８ａ〜ｄと通信することができる。たとえば、集信器などの分散デバイスは、何百何千の計測デバイスまたは他の端末デバイスと通信することができる。
【００３１】
図１では、分散デバイスおよび端末デバイスは例示の目的で別々に示されているが、他の実装が可能である。いくつかの態様において、同じデバイスが、メッセージを分散または他の方法で中継するため、および１つまたは複数のエンドユーザ機能を実行するため、の両方の構成要素を含むことができる。たとえば集信器デバイスは、メッセージを分散または他の方法で中継するための無線機、および１つまたは複数のエンドユーザ機能を実行するための処理デバイス、の両方を含むことができる。
【００３２】
サーバ・システム１０２の管理機能は、メッシュ・ネットワーク１１２を使用してデータ・メッセージを分散デバイス１０６ａ、１０６ｂに送信することを含むことができる。非限定的な例では、サーバ・システム１０２は、分散デバイス１０６ａ、１０６ｂまたは端末デバイス１０８ａ〜ｄのファームウェアまたは他のソフトウェアを更新するために、ファームウェア更新または他のソフトウェアをネットワーク管理デバイス１０４に定期的に送信することができる。ファームウェア更新または他のソフトウェアまたは他のソフトウェアは、バックホール・ネットワーク１１０の使用可能帯域幅をひずませることなく、バックホール・ネットワーク１１０を介して送信可能なファイル・サイズを有することができる。ファイル・サイズは、メッシュ・ネットワーク１１２を介してネットワーク管理デバイス１０４から分散デバイス１０６ａ、１０６ｂに送信するには大き過ぎる場合がある。たとえば、１メガバイトのサイズを有するファームウェアまたはソフトウェア更新を送信することは、計測デバイスによって測定された電力消費データを通信することなどの（ただし、これに限定されない）、システム１００の１つまたは複数のエンドユーザ機能に関係する、メッシュ・ネットワーク１１２を介した他のデータの通信を中断する場合がある。サーバ・システム１０２またはネットワーク管理デバイス１０４などの（ただし、これらに限定されない）制御ユニットは、１メガバイトのファイルを、メッシュ・ネットワーク１１２の帯域幅制限にとってより好適なサイズを有するデータ部分に分割することができる。たとえば各部分は、７００バイトのサイズを有することができる。
【００３３】
データ・メッセージに分割されるデータを送信するためにメッシュ・ネットワーク１１２を使用することで、１つまたは複数の分散デバイスに同じデータを含む重複メッセージを受信させる可能性がある。たとえば第１の分散デバイスは、異なる信号経路内にある第２の分散デバイスおよび第３の分散デバイスから、同じデータを受信することができる。重複メッセージの送信は、それによってメッシュ・ネットワーク１１２の帯域幅の非効率的な使用を生じさせる可能性がある。
【００３４】
本明細書で説明する分散データ送信の実装により、メッシュ・ネットワーク１１２を介したデータ送信の効率を向上させることができる。図２は、メッシュ・ネットワーク１１２において分散データ送信を実装可能な分散デバイス１０６ａ〜ｆの例を示すネットワーク図である。
【００３５】
メッシュ・ネットワーク１１２は、ネットワーク管理デバイス１０４と分散デバイス１０６ａ〜ｆの間で、双方向ワイヤレス通信リンク２０２ａ〜ｈを介して確立することができる。ワイヤレス通信リンク２０２ａ〜ｈは、任意の好適なワイヤレス・プロトコルを使用して確立されるＲＦリンクとすることができる。低帯域幅メッシュ無線ＲＦプロトコルなどの（ただし、これに限定されない）任意の好適なプロトコルは、ワイヤレス通信リンク２０２ａ〜ｈに使用することができる。
【００３６】
ネットワーク管理デバイス１０４は、ワイヤレス通信リンク２０２ａを介して分散デバイス１０６ａにメッセージ２０４を送信することができる。メッセージ２０４は、サーバ・システム１０２から受信した、および／またはネットワーク管理デバイス１０４によって生成された、ペイロード・データ２０６を含むことができる。ペイロード・データ２０６の非限定的な例は、分散デバイス１０６ａ〜ｇおよび／または端末デバイス１０８ａ〜ｄのファームウェアに対する更新（またはその一部）である。いくつかの態様において、ペイロード・データ２０６は、分散デバイス１０６ａ〜ｇへの分散のためにサーバ・システム１０２によって送信されるデータのすべてを含むことができる。他の態様において、ペイロード・データ２０６は、分散デバイス１０６ａ〜ｇへの分散のためにサーバ・システム１０２によって送信されるデータの一部を含むことができる。たとえばサーバ・システム１０２は、ファームウェアまたは他のソフトウェア更新を部分に区分または他の方法で分割することができる。各部分は、それぞれのペイロード・データ２０６を有するそれぞれのメッセージ２０４内で、管理デバイス１０４に送信することができる。管理デバイス１０４は、それぞれのペイロード・データ２０６を有する各メッセージ２０４を１つまたは複数の分散デバイスに送信することができる。
【００３７】
図３は、分散データ送信を使用して近隣の分散デバイス１０６ｂ〜ｄにメッセージを送信する分散デバイス１０６ａを示す、ネットワーク図である。
【００３８】
分散デバイス１０６ａは、近隣の分散デバイス１０６ｂ〜ｄをペイロード２０６に関する潜在的な受信側として識別することができる。分散デバイス１０６ｂ〜ｄは、任意の好適な基準に基づいて、分散デバイス１０６ａの近隣デバイスとして識別することができる。
【００３９】
いくつかの態様において、分散デバイス１０６ａ〜ｇの各々は、メッシュ・ネットワーク１１２内の他の分散デバイスから受信した信号電力の測定値であるＲＳＳＩを決定することができる。所与の分散デバイスは、所与のしきい値を超える近隣の分散デバイスから受信した信号に関するＲＳＳＩに基づいて、近隣の分散デバイスとして識別することができる。たとえば分散デバイス１０６ａは、しきい値ＲＳＳＩにあるかまたはそれを超えるＲＳＳＩに関連付けられている分散デバイス１０６ｂ〜ｄの各々に基づいて、分散デバイス１０６ｂ〜ｄを近隣デバイスとして識別することができる。任意の好適なしきい値ＲＳＳＩを使用して、近隣の分散デバイスを識別することができる。
【００４０】
追加または代替の態様において、分散デバイス１０６ａ〜ｇの各々は、メッシュ・ネットワーク１１２内の他の分散デバイスに関するティックル率を決定することができる。ティックル率は、第２の分散デバイスとの通信リンクを確立するための、第１の分散デバイスによるいくつかの成功した試行を示すことができる。たとえば分散デバイス１０６ａは、分散デバイス１０６ｂ〜ｄの各々が通信リンクの確立時に大多数の過去の試行が成功したことを示すティックル率に関連付けられていることに基づいて、分散デバイス１０６ｂ〜ｄを近隣デバイスとして識別することができる。任意の好適なしきい値ティックル率を使用して、近隣の分散デバイスを識別することができる。
【００４１】
追加または代替の態様において、分散デバイス１０６ａ〜ｇの各々は、分散デバイスである近隣デバイスと、他の近隣デバイス（たとえば、分散デバイスでない近隣デバイス、異なるクラスの分散デバイスである近隣デバイスなど）とを区別することができる。たとえば分散デバイス１０６ａは、ペイロード・データ２０６の所期の受信側である分散デバイス１０６ｂ〜ｄと、分散デバイス１０６ａと通信している端末デバイスとを区別することができる。
【００４２】
分散デバイス１０６ａは、識別された近隣の分散デバイス１０６ｂ〜ｄを含む受信側デバイスのリストを生成することができる。リストは、分散デバイス１０６ｂ〜ｄに関する任意の好適な識別子を参照することによって、近隣の分散デバイス１０６ｂ〜ｄを識別することができる。好適な識別子は、メッシュ・ネットワーク１１２内の分散デバイス１０６ｂ〜ｄのうちの各々を一意に識別することができる。いくつかの態様において、分散デバイス１０６ｂ〜ｄのうちの各々は、製造中に分散デバイスに割り当てられるそれぞれのハードウェア識別子を有することができる。ハードウェア識別子は、分散デバイスの１つまたは複数のハードウェア構成要素を修正せずに変更することができない。他の態様において、分散デバイス１０６ｂ〜ｄの各々は、分散デバイスをメッシュ・ネットワーク１１２に追加するプロセスにおいて分散デバイスに割り当てられる、それぞれのソフトウェア識別子を有することができる。ソフトウェア識別子の非限定的な例は、インターネット・プロトコル（「ＩＰ」）アドレスなどの（ただし、これに限定されない）ネットワーク識別子、または、分散デバイスが物理的に配置された地理座標のセットなどの（ただし、これに限定されない）地理識別子を含む。
【００４３】
分散デバイス１０６ａは、それぞれのメッセージ３０２ａ〜ｃを介して、ペイロード・データ２０６を近隣の分散デバイス１０６ｂ〜ｄに送信することができる。メッセージ３０２ａ〜ｃは、それぞれヘッダ３０４ａ〜ｃを含むことができる。図４は、メッセージ３０２ａ〜ｃに追加されたヘッダ３０４ａ〜ｃを示すネットワーク図である。図４に示されるように、ヘッダ３０４ａ〜ｃの各々は分散デバイス１０６ｂ〜ｄに関する識別子を含む。
【００４４】
分散デバイス１０６ｂ〜ｄに関する識別子を有するヘッダ３０４ａ〜ｃを含むことで、システム１００内のデータ通信量を減少させることができる。たとえば分散デバイス１０６ｂは、通信リンク２０２ｅを介して分散デバイス１０６ｃと通信することができる。分散デバイス１０６ｂ、１０６ｃによって受信されたヘッダ３０４ａ、３０４ｂがない場合、分散デバイス１０６ａからペイロード・データ２０６を受信する分散デバイス１０６ｂ、１０６ｃの各々は、通信リンク２０２ｅを介して互いにペイロード・データ２０６を再送信するように試行することができる。分散デバイス１０６ｂはヘッダ３０４ａを使用して、分散デバイス１０６ｃがペイロード・データ２０６を受信するように選択されている旨を決定することができる。分散デバイス１０６ｃはヘッダ３０４ｂを使用して、分散デバイス１０６ｂがペイロード・データ２０６を受信するように選択されている旨を決定することができる。分散デバイス１０６ｂ、１０６ｃは、ヘッダ３０４ａ、３０４ｂ内の情報に基づいて、ペイロード・データ２０６を互いに送信するのを避けることができる。したがって、通信リンク２０２ｅを介した不必要なデータ通信量を低減または除去することができる。
【００４５】
図５は、分散データ送信を使用して追加のメッセージを追加の近隣の分散デバイス１０６ｅ〜ｇに送信する、分散デバイス１０６ｂ〜ｄを示すネットワーク図である。
【００４６】
分散デバイス１０６ｂは、近隣の分散デバイス１０６ａ、１０６ｃ、１０６ｅを識別することができる。分散デバイス１０６ａ、１０６ｃ、１０６ｅは、ＲＳＳＩ、ティックル率、デバイス・タイプ、もしくは任意の他の好適な基準、またはそれらの組み合わせに基づいて、分散デバイス１０６ｂの近隣デバイスとして識別されることができる。分散デバイス１０６ｂは、分散デバイス１０６ａ、１０６ｃがペイロード・データ２０６を以前に受信したかまたは受信するように選択されている旨を、ヘッダ３０４ａから決定することができる。分散デバイス１０６ｂは、分散デバイス１０６ｅがヘッダ３０４ａにリスト表示されていないことに基づいて、近隣の分散デバイス１０６ｅをペイロード・データ２０６の潜在的な受信側として識別することができる。分散デバイス１０６ｂは、分散デバイス１０６ｅに関する識別子を、ペイロード・データ２０６を受信した分散デバイスのリストに追加することによって、ヘッダ４０２を生成することができる。分散デバイス１０６ｂは、ヘッダ４０２を含むメッセージ３０２ｄを、通信リンク２０２ｆを介して近隣の分散デバイス１０６ｅに送信することができる。ヘッダ４０２は、図６に示されるように、分散デバイス１０６ａ、１０６ｂ、１０６ｃ、１０６ｄ、１０６ｅを、ペイロード・データ２０６を受信したかまたは受信するように選択されているものとして識別することができる。
【００４７】
分散デバイス１０６ｃは、近隣の分散デバイス１０６ａ、１０６ｂ、１０６ｆを識別することができる。分散デバイス１０６ａ、１０６ｂ、１０６ｆは、ＲＳＳＩ、ティックル率、デバイス・タイプ、もしくは任意の他の好適な基準、またはそれらの組み合わせに基づいて、分散デバイス１０６ｃの近隣デバイスとして識別されることができる。分散デバイス１０６ｃは、分散デバイス１０６ａ、１０６ｂがペイロード・データ２０６を以前に受信したかまたは受信するように選択されている旨を、ヘッダ３０４ｂから決定することができる。分散デバイス１０６ｃは、分散デバイス１０６ｆがヘッダ３０４ｂにリスト表示されていないことに基づいて、近隣の分散デバイス１０６ｆをペイロード・データ２０６の潜在的な受信側として識別することができる。分散デバイス１０６ｃは、分散デバイス１０６ｅに関する識別子を、ペイロード・データ２０６を受信した分散デバイスのリストに追加することによって、ヘッダ４０４を生成することができる。分散デバイス１０６ｃは、ヘッダ４０４を含むメッセージ３０２ｅを、通信リンク２０２ｇを介して近隣の分散デバイス１０６ｆに送信することができる。ヘッダ４０４は、図６に示されるように、分散デバイス１０６ａ、１０６ｂ、１０６ｃ、１０６ｄ、１０６ｆを、ペイロード・データ２０６を受信したかまたは受信するように選択されているものとして識別することができる。
【００４８】
分散デバイス１０６ｄは、近隣の分散デバイス１０６ａ、１０６ｇを識別することができる。分散デバイス１０６ｄは、分散デバイス１０６ａがペイロード・データ２０６を受信するように以前に選択されている旨を、ヘッダ３０４ｃから決定することができる。分散デバイス１０６ｄは、分散デバイス１０６ｇがヘッダ３０４ｃにリスト表示されていないことに基づいて、近隣の分散デバイス１０６ｇをペイロード・データ２０６の潜在的な受信側として識別することができる。分散デバイス１０６ｄは、分散デバイス１０６ｇに関する識別子を、ペイロード・データ２０６を受信した分散デバイスのリストに追加することによって、ヘッダ４０６を生成することができる。分散デバイス１０６ｄは、ヘッダ４０６を含むメッセージ３０２ｆを、通信リンク２０２ｈを介して近隣の分散デバイス１０６ｇに送信することができる。ヘッダ４０６は、図６に示されるように、分散デバイス１０６ａ、１０６ｂ、１０６ｃ、１０６ｄ、１０６ｇを、ペイロード・データ２０６を受信したかまたは受信するように選択されているものとして識別することができる。
【００４９】
図６は、分散デバイス１０６ｅ〜ｇの各々が、ペイロード・データ２０６を受信するように選択された各分散デバイスのリストを備えるヘッダ４０２、４０４、４０６を、それぞれ受信するように示しているが、他の実装も可能である。いくつかの態様において、分散デバイスの各々は、ペイロード・データ２０６を受信したかまたは受信することをターゲットとしている近隣デバイスをリスト表示しているヘッダを備える、それぞれのデータ・メッセージを受信することができる。たとえば分散デバイス１０６ｅは、分散デバイス１０６ｂを識別し、分散デバイス１０６ａ、１０６ｃ、１０６ｄ、１０６ｅのうちの１つまたは複数を省略する、ヘッダを備えたデータ・メッセージを送信することができる。ペイロード・データ２０６を受信したかまたは受信することをターゲットとしている近隣デバイスをリスト表示しているヘッダをデータ・メッセージに提供することで、ペイロード・データ２０６をすでに受信した分散デバイスにペイロード・データ２０６を備えるメッセージが送信されるのを削減または防止することができる。しかし、これらのヘッダ内の網羅的リストであることは意図されていない。
【００５０】
いくつかの態様において、ペイロード・データ２０６と共に受信されたメッセージ・ヘッダのサイズが最大ヘッダ・サイズを有する旨を１つまたは複数の分散デバイスが決定することに応答して、ペイロード・データ２０６の再送信を停止することができる。たとえば図７は、最大ヘッダ・サイズを有するメッセージ３０２ｇを受信する分散デバイス１０６ｈの例を示す、ネットワーク図である。分散デバイス１０６ｈは、図７で省略記号によって示されるように、分散デバイス１０６ｇ、１０６ｈの間のメッシュ・ネットワーク１１２において複数の分散デバイスによって再送信されたメッセージ３０２ｇを受信することができる。分散デバイス１０６ｇ、１０６ｈの間の経路は、ペイロード・データ２０６を再送信した複数の介在分散デバイスを含むことができる。メッセージ３０２ｇのヘッダ５０２は、介在分散デバイスの各々を識別することができる。介在分散デバイスの各々に関する識別子のリストは、ヘッダ５０２がヘッダ５０２に割り振られた最大サイズを有する原因となる場合がある。分散デバイス１０６ｈは、ヘッダ５０２に追加のデータを追加できない旨を決定することができる。分散デバイス１０６ｈは、分散デバイス１０６ｉなどの分散デバイス１０６ｈの近隣である任意の分散デバイスへのペイロード・データ２０６の再送信を、中断することができる。
【００５１】
非限定的な例において、ヘッダ５０２は、２００バイトの最大割り振りサイズを有することができる。メッシュ・ネットワーク１１２における分散デバイスの各々は、それぞれ４バイトのサイズを備える識別子を有することができる。ペイロード・データ２０６を近隣の分散デバイスに送信することで、送信側分散デバイスによって受信されたヘッダに、４バイトのデータ（すなわち、近隣の分散デバイスに関する識別子のサイズ）追加することができる。管理デバイス１０４から受信したペイロード・データ２０６は、メッシュ・ネットワーク１１２において合計５０の近隣の分散デバイスに送信することができる。分散デバイス１０６ｈは、分散デバイス１０６ｉを識別するデータが、ヘッダに関する２００バイトのサイズ制限を超えることなくヘッダ５０２に追加できない旨の決定に基づいて、ペイロード・データ２０６の再送信を停止することができる。
【００５２】
ペイロード・データ２０６の再送信を停止することで、分散デバイス１０６ａ〜ｇのうちの１つまたは複数が、ネットワーク管理デバイス１０４から送信されたデータの不完全なバージョンを有する可能性がある。ペイロード・データ２０６を生成する制御ユニットまたはネットワーク内の他のデバイスは、ペイロード・データ２０６を使用するデバイスがペイロード・データ２０６を受信したかどうかを判別するために、ペイロード・データ２０６を使用する１つまたは複数のデバイスを照会することができる。非限定的な一例において、サーバ・システム１０２は、いずれの端末デバイス１０８ａ〜ｄがペイロード・データを受信したかを判別するために、端末デバイス１０８ａ〜ｄの各々を照会することができる。端末デバイス１０８ａ〜ｄのいくつかは、肯定応答を用いて照会に応答することができる。端末デバイス１０８ａ〜ｄのうちの１つまたは複数は、否定応答を用いて照会に応答することができる。サーバ・システム１０２は、ペイロード・データを受信していない端末デバイスにアドレス指定されたメッセージ内で、ペイロード・データを送信することができる。別の非限定的な例では、ネットワーク管理デバイス１０４は、いずれの分散デバイス１０６ａ〜ｉがペイロード・データ２０６を受信したかを決定するために、分散デバイス１０６ａ〜ｉの各々を照会することができる。分散デバイス１０６ａ〜ｈは、肯定応答を用いて照会に応答することができる。分散デバイス１０６ｉは、否定応答を用いて照会に応答することができる。ネットワーク管理デバイス１０４は、分散デバイス１０６ｉが分散データ送信プロセスを介してペイロード・データ２０６を受信していない旨の決定に基づいて、分散デバイス１０６ｉにアドレス指定されたメッセージ内で、ペイロード・データ２０６を送信することができる。
【００５３】
照会メッセージを使用して、分散データ送信プロセスの成功を決定することができる。照会メッセージは、ペイロード・データ２０６よりも小さなサイズを有することができる。ペイロード・データよりも小さなサイズを備える照会メッセージを使用することで、メッシュ・ネットワーク１１２上のデータ通信量を減少させることができる。
【００５４】
いくつかの態様において、メッセージ３０２ａ〜ｇの各々は、ペイロード・データ２０６に関連付けられたセッション識別子を含むことができる。セッションとは、メッシュ・ネットワーク１１２を介してペイロード・データ２０６を分散するために分散データ送信プロセスを使用する期間とすることができる。たとえばファームウェア更新または他のソフトウェア更新などのデータを、分散デバイス１０６ａ〜ｉへの分散のために、ネットワーク管理デバイス１０４に送信することができる。ネットワーク管理デバイス１０４は、ファームウェアまたは他のソフトウェア更新を２つの区画に区分することができる。区画の各々は、分散デバイスに送信されることになるそれぞれのペイロード・データおよびそれぞれのセッション識別子を含むことができる。ネットワーク管理デバイス１０４は、第１のセッション識別子によって識別された第１のセッション中に第１の区画を送信すること、および、第２のセッション識別子によって識別された第２のセッション中に第２の区画を送信することができる。
【００５５】
図８は、ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおいて分散データ送信を実装するための、ネットワーク管理デバイス１０４および分散デバイス１０６の例を示すブロック図である。
【００５６】
分散デバイス１０６は処理デバイス８０２を含むことができる。処理デバイス８０２の非限定的な例は、マイクロプロセッサ、特定用途向け集積回路（「ＡＳＩＣ」）、状態機械、または他の好適な処理デバイスを含む。処理デバイス８０２は、１つを含む任意数の処理デバイスを含むことができる。処理デバイス８０２は、メモリ・デバイス８０４などのコンピューター可読媒体に通信可能に接続することができる。処理デバイス８０２は、メモリ・デバイス８０４にそれぞれ記憶された、コンピューター実行可能プログラム命令および／またはアクセス情報を実行することができる。
【００５７】
メモリ・デバイス８０４は、処理デバイス８０２によって実行されたときに、本明細書で説明する動作を処理デバイス８０２に実行させる、命令を記憶することができる。メモリ・デバイス８０４は、プロセッサにコンピューター可読命令を提供することが可能な電子、光、磁気、またはその他の記憶デバイスなどの（ただし、これらに限定されない）、コンピューター可読媒体とすることができる。こうした光、磁気、またはその他の記憶デバイスなどの非限定的な例は、読み取り専用（「ＲＯＭ」）デバイス、ランダムアクセス・メモリ（「ＲＡＭ」）デバイス、磁気ディスク、磁気テープ、もしくは他の磁気ストレージ、メモリ・チップ、ＡＳＩＣ、構成プロセッサ、光記憶デバイス、またはコンピューター・プロセッサが命令を読み取ることが可能な任意の他の媒体を含む。命令は、任意の好適なコンピューター・プログラミング言語で作成されたコードから、コンパイラおよび／またはインタプリタによって生成された、プロセッサ特有の命令を備えることができる。好適なコンピューター・プログラミング言語の非限定的な例は、Ｃ、Ｃ＋＋、Ｃ＃、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｊａｖａ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ、ＡｃｔｉｏｎＳｃｒｉｐｔなどを含む。
【００５８】
分散デバイス１０６は、分散デバイス１０６の１つまたは複数の構成要素を通信可能に接続可能なバス８０６を含むことができる。
【００５９】
管理デバイス１０４は処理デバイス８１４を含むことができる。処理デバイス８１４の非限定的な例は、マイクロプロセッサ、ＡＳＩＣ、状態機械、または他の好適な処理デバイスを含む。処理デバイス８１４は、１つを含む任意数の処理デバイスを含むことができる。処理デバイス８１４は、メモリ・デバイス８１６などのコンピューター可読媒体に通信可能に接続することができる。処理デバイス８１４は、メモリ・デバイス８１６にそれぞれ記憶された、コンピューター実行可能プログラム命令および／またはアクセス情報を実行することができる。
【００６０】
メモリ・デバイス８１６は、処理デバイス８１４によって実行されたときに、本明細書で説明する動作を処理デバイス８１４に実行させる、命令を記憶することができる。メモリ・デバイス８１６に記憶される命令は、送信エンジン８２４を含むことができる。管理デバイス１０４は、管理デバイス１０４の１つまたは複数の構成要素を通信可能に接続できるバス８１８も含むことができる。処理デバイス８１４、メモリ・デバイス８１６、およびバス８１８は、図８では互いに通信する別の構成要素として示されているが、他の実装も可能である。たとえば、処理デバイス８１４、メモリ・デバイス８１６、およびバス８１８は、プリント回路板、またはプログラミング・コードを記憶および実行するために管理デバイス１０４内に配設可能な他の好適なデバイスの、構成要素とすることができる。
【００６１】
管理デバイス１０４は、ネットワーク・インターフェース・デバイス８２２、８２４も含むことができる。ネットワーク・インターフェース・デバイス８２０は、アンテナ８２２を介して通信リンク２０２ａ〜ｇのうちの１つまたは複数を確立するように構成された、送受信デバイスとすることができる。ネットワーク・インターフェース・デバイス８２０の非限定的な例は、ＲＦトランシーバである。ネットワーク・インターフェース・デバイス８２４は、バックホール・ネットワーク１１０を介したサーバ・システム１０２への通信リンクを確立するための１つまたは複数の構成要素を含むことができる。
【００６２】
サーバ・システム１０２は処理デバイス８２６を含むことができる。処理デバイス８２６の非限定的な例は、マイクロプロセッサ、ＡＳＩＣ、状態機械、または他の好適な処理デバイスを含む。処理デバイス８２６は、１つを含む任意数の処理デバイスを含むことができる。処理デバイス８２６は、メモリ・デバイス８２８などのコンピューター可読媒体に通信可能に接続することができる。処理デバイス８２６は、それぞれメモリ・デバイス８２８内に記憶された、コンピューター実行可能プログラム命令および／またはアクセス情報を実行することができる。
【００６３】
メモリ・デバイス８２８は、処理デバイス８２６によって実行されたときに、本明細書で説明する動作を処理デバイス８２６に実行させる、命令を記憶することができる。メモリ・デバイス８２８に記憶される命令は、送信エンジン８３０を含むことができる。サーバ・システム１０２は、サーバ・システム１０２の１つまたは複数の構成要素を通信可能に接続することができるバス８３２も含むことができる。処理デバイス８２６、メモリ・デバイス８２８、およびバス８３２は、図８では互いに通信する別の構成要素として示されているが、他の実装も可能である。たとえば、処理デバイス８２６、メモリ・デバイス８２８、およびバス８３２は、プリント回路板、またはプログラミング・コードを記憶および実行するためにサーバ・システム１０２内に配設可能な他の好適なデバイスの、構成要素とすることができる。
【００６４】
サーバ・システム１０２はネットワーク・インターフェース・デバイス８３４も含むことができる。ネットワーク・インターフェース・デバイス８３４は、バックホール・ネットワーク１１０を介した管理デバイス１０４への通信リンクを確立するための、１つまたは複数の構成要素を含むことができる。
【００６５】
図９は、ＲＦメッシュ・ネットワークまたは他のデータ・ネットワークにおける分散データ送信のための例示の方法９００を示すフローチャートである。例示の目的で、方法９００は図１〜８に示されたシステム実装を参照しながら説明する。しかしながら、他の実装も可能である。
【００６６】
方法９００は、ブロック９１０に示すように、第１のヘッダおよびペイロード・データを含む第１のデータ・メッセージを第１の分散デバイスが受信することを含む。たとえば分散デバイス１０６は、図２〜８に関して上記で説明したように、ネットワーク管理デバイス１０４または別の分散デバイスからネットワーク・インターフェース・デバイス８０８を介してデータ・メッセージを受信することができる。
【００６７】
方法９００は、ブロック９２０に示すように、第２の分散デバイスが第１のヘッダ内でペイロード・データを受信するものとして識別されない旨を決定する、第１の分散デバイスをさらに含む。たとえば、分散デバイス１０６の処理デバイス８０２は、ヘッダにアクセスするために送信エンジン８１２を実行することができる。送信エンジン８１２は、図１〜７に関して上記で説明したように、他の分散デバイスに関する識別子がヘッダにないことに基づいて、近隣デバイスなどの１つまたは複数の他の分散デバイスが、ペイロード・データ２０６を受信するものとしてヘッダによって識別されない旨を決定することができる。
【００６８】
方法９００は、ブロック９３０に示すように、ペイロード・データ、および、ペイロード・データを受信するものとして第２の分散デバイスを識別する第２のヘッダ含む、第２のデータ・メッセージを生成する第１の分散デバイスをさらに含む。第２のデータ・メッセージは、第１のデータ・メッセージと同じペイロード・データ、および第１のデータ・メッセージとは異なるヘッダを含むことができる。たとえば処理デバイス８０２は、第２のデータ・メッセージを生成するために送信エンジン８１２を実行することができる。送信エンジン８１２は、受信側分散デバイスの識別子を第１のヘッダに付加することによって、第２のヘッダを生成することができる。第２のヘッダは、分散デバイス１０６に先立って、または分散デバイス１０６と同時期に、ペイロード・データ２０６を受信したかまたは受信するように選択された他のデバイスを識別することができる。いくつかの態様において、第２のヘッダは、分散デバイス１０６がペイロード・データ２０６を受信したかまたは受信するように選択された旨を識別することもできる。第２のヘッダは、図１〜７に関して上記で説明したように、分散デバイス１０６が第２のデータ・メッセージを使用してペイロード・データ２０６を送信する相手のデバイスを識別することもできる。
【００６９】
方法９００は、ブロック９４０に示すように、メッシュ・ネットワークを介して第２のデータ・メッセージを第２の分散デバイスに送信する、第１の分散デバイスをさらに含む。たとえば分散デバイス１０６は、図１〜７に関して上記で説明したように、ネットワーク・インターフェース・デバイス８０８およびアンテナ８１０を使用し、通信リンク２０２ａ〜ｈのうちの１つを介して第２のデータ・メッセージを送信することができる。
【００７０】
追加または代替の態様において、サーバ・システム１０２またはネットワーク管理デバイス１０４などの（ただし、これらに限定されない）制御ユニットは、ペイロード・データ２０６が、分散データ送信プロセスを介して分散デバイス１０６ａ〜ｉのうちの１つによって受信されていない旨を決定することができる。制御ユニットは、分散データ送信プロセスを介してペイロード・データ２０６を受信していないかまたはその受信を確認していない分散デバイスに、ペイロード・データ２０６が送信される旨を検証するための、１つまたは複数の動作を実行することができる。
【００７１】
図１０は、エラー検査を用いた分散データ送信のための例示の方法１０００を示すフローチャートである。例示の目的で、方法１０００は図８に示されたシステム実装を参照しながら説明する。しかしながら、他の実装も可能である。
【００７２】
方法１０００は、ブロック１０１０に示すように、１つまたは複数のネットワーク・デバイスに送信されることになるデータを受信することを含む。たとえば、システム１００内の制御ユニットは、システム１００内のデバイス（たとえば、分散デバイス１０６ａ〜ｆ、端末デバイス１０８ａ〜ｄなど）に関するファームウェア更新または他のソフトウェア更新を受信することができる。任意の好適な制御ユニットは、任意の好適なプロセスを介してデータを受信することができる。１つの非限定的な例において、サーバ・システム１０２のプロセッサ８２６によって実行される送信エンジン８３０は、データを受信することができる。別の非限定的な例では、ネットワーク管理デバイス１０４のプロセッサ８２６によって実行される送信エンジン８３０は、バックホール・ネットワーク１１０を介してサーバ・システム１０２からデータを受信することができる。
【００７３】
方法１０００は、ブロック１０２０に示すように、システム１００内のネットワーク・デバイスへの送信のために、データを部分に区分することまたは他の方法で分割することをさらに含む。１つの非限定的な例において、サーバ・システム１０２のプロセッサ８２６は、各々がペイロード・データを含む複数のデータ・メッセージにデータを区分するために、送信エンジン８３０を実行することができる。別の非限定的な例では、管理デバイス１０４のプロセッサ８１４は、各々がペイロード・データを含む複数のデータ・メッセージにデータを区分するために、送信エンジン８２４を実行することができる。データは、メッシュ・ネットワーク１１２に関する帯域幅または他の容量測定に基づいて区分することができる。
【００７４】
方法１０００は、ブロック１０３０に示すように、各データ部分を分散デバイスに提供することをさらに含む。たとえばサーバ・システム１０２は、各データ部分を管理デバイス１０４に送信することができる。各データ部分に関するそれぞれのペイロード・データ２０６は、データを使用するターゲット・デバイス（たとえば、ファームウェアまたは他のソフトウェアが更新されることになるネットワーク・デバイス）によって再構築されることになるデータ（たとえば、ソフトウェアまたはファームウェア更新）の部分を含むことができる。管理デバイス１０４のプロセッサ８１４は、図２〜７に関して上記で説明したように、および／または、図９に関して上記で説明したような方法９００を使用して、分散のための１つまたは複数の分散デバイスに各データ部分を提供するために、送信エンジン８２４を実行することができる。
【００７５】
いくつかの態様において、送信エンジン８２４、８３０のうちの１つまたは複数は、それぞれのセッションを各データ部分に関連付けることができる。各データ部分は、それぞれのセッション中の送信および／または再送信のために、メッシュ・ネットワーク１１２の分散デバイスに提供することができる。いくつかの態様において、サーバ・システム１０２またはネットワーク管理デバイス１０４は、前のデータ部分に関する前のセッションが満了した後に、各データ部分を提供することができる。
【００７６】
方法１０００は、ブロック１０４０に示すように、各分散デバイスがすべてのデータ部分を受信したかどうかを決定するために、分散デバイス１０６ａ〜ｉの各々を照会することをさらに含む。１つの非限定的な例において、サーバ・システム１０２のプロセッサ８２６は、分散デバイス１０６ａ〜ｉの各々にアドレス指定されたそれぞれの照会を生成するために、送信エンジン８３０を実行することができる。サーバ・システム１０２は、分散デバイス１０６ａ〜ｉにルーティングするために、管理デバイス１０４に照会を送信することができる。別の非限定的な例では、管理デバイス１０４のプロセッサ８１４は、分散デバイス１０６ａ〜ｉの各々にアドレス指定されたそれぞれの照会を生成するために、送信エンジン８２４を実行することができる。
【００７７】
方法１０００は、ブロック１０５０に示すように、分散デバイス１０６ａ〜ｉのうちのいずれかがすべてのデータ部分を受信してはいないかどうかを判別することをさらに含む。たとえば、分散デバイス１０６ａ〜ｉのうちの１つまたは複数は、分散デバイスが１つまたは複数のデータ部分を有していない旨を示すことによって、管理デバイス１０４からの照会に応答することができる。
【００７８】
分散デバイス１０６ａ〜ｉのうちのいずれかがすべてのデータ部分を受信してはいない場合、方法１０００は、ブロック１０６０に示すように、１つまたは複数のデータ部分が欠如している分散デバイスに、受信していない部分を送信することを含む。プロセス９００はブロック１０５０に戻る。
【００７９】
分散デバイス１０６ａ〜ｉのすべてがペイロード・データ２０６のすべての部分を受信している場合、方法１０００は、ブロック１０７０に示すように、組み合わされたデータ部分を使用して１つまたは複数の動作を実行するために、分散デバイス１０６ａ〜ｉに１つまたは複数の命令を送信することを含む。たとえばデータは、分散デバイス１０６ａ〜ｉに関するファームウェア更新または他のソフトウェア更新を含むことができる。ネットワーク管理デバイス１０４は、ファームウェア更新または他のソフトウェア更新を適用するために、分散デバイス１０６ａ〜ｉの各々に関する命令を送信することができる。分散デバイス１０６ａ〜ｉの各々は、ファームウェア更新または他のソフトウェア更新の受信した部分を組み合わせるかまたは他の方法で再構築することができる。分散デバイス１０６ａ〜ｉの各々は、ファームウェア更新または他のソフトウェア更新を適用することができる。
【００８０】
概略
本明細書では、請求する主題を完全に理解するために多数の特定の詳細を記載している。しかしながら当業者であれば、請求する主題がこれらの特定の詳細なしで実施可能であることを理解されよう。他の例では、請求する主題を不明瞭にしないために、当業者に知られた方法、装置、またはシステムは詳細に説明していない。
【００８１】
いくつかの部分は、コンピューター・メモリなどのコンピューティング・システム・メモリ内に記憶されたデータ・ビットまたはバイナリ・デジタル信号上での動作のアルゴリズムまたは記号表現に関して提示されている。これらのアルゴリズム記述または表現は、データ処理分野の当業者によって、他の当業者に彼らの作業の内容を伝達するために使用される技法の例である。アルゴリズムとは、所望の結果につながる動作または同様の処理の自己矛盾の無いシーケンスのことである。このコンテキストでは、動作または処理は物理量の物理的操作を含む。典型的には、こうした量は、記憶、転送、組み合わせ、比較、または他の方法の操作を行うことが可能な、電気または磁気の信号の形を取ることができる。時には、主に一般的な使用のために、こうした信号をビット、データ、値、要素、記号、文字、用語、番号、数字などと言い表すことが便利であることが証明されている。しかしながら、これらおよび同様の用語のすべては適切な物理量に関連付けられ、単なる便宜的なラベルであることを理解されたい。別段に明記されていない限り、本明細書全体にわたって、「処理」、「コンピューティング」、「計算」、「決定」、および「識別」などの用語を使用する考察は、コンピューティング・プラットフォームのメモリ、レジスタ、もしくは他の記憶デバイス、送信デバイス、または表示デバイス内で、物理的な電子または磁気量として表されるデータを操作または転送する、１つまたは複数のコンピューターまたは同様の電子コンピューティング・デバイスなどの、コンピューティング・デバイスのアクションまたはプロセスを言い表すことを理解されよう。
【００８２】
本明細書で考察するシステムは、任意の特定のハードウェア・アーキテクチャまたは構成に限定されない。コンピューティング・デバイスは、１つまたは複数の機能呼び出し時に条件付けられた結果を提供する構成要素の任意の好適な配置構成を含むことができる。好適なコンピューティング・デバイスは、汎用コンピューティング装置から本主題の１つまたは複数の態様を実装する特殊化されたコンピューティング装置までのコンピューティング・システムをプログラミングまたは構成する、記憶されたソフトウェアにアクセスする多目的マイクロプロセッサ・ベースのコンピューター・システムを含む。任意の好適なプログラミング、スクリプティング、または他のタイプの言語もしくは言語の組み合わせを使用して、コンピューティング・デバイスのプログラミングまたは構成で使用されることになるソフトウェアに含まれる本明細書の教示を実装することができる。
【００８３】
本明細書で開示される方法の態様は、こうしたコンピューティング・デバイスの動作中に実行することができる。上記の例で提示されたブロックの順序は変更可能であり、たとえばブロックは、再順序付け、組み合わせ、および／またはサブブロックへの分解が可能である。あるブロックまたはプロセスは並行して実行することができる。
【００８４】
本明細書における「するように適合された」または「するように構成された」の使用は、追加のタスクまたはステップを実行するように適合または構成されたデバイスを排除しない、オープンかつ包括的な言い回しを意味する。加えて、「に基づく」の使用は、１つまたは複数の記載された条件または値「に基づく」プロセス、ステップ、計算、または他のアクションが、実際には、記載されたそれらを超える追加の条件または値に基づく可能性があるという点で、オープンかつ包括的であることを意味する。本明細書に含まれる見出し、リスト、および番号付けは単に説明を容易にするためであり、限定的であることは意味していない。
【００８５】
本主題をその特定の態様に関して詳細に説明してきたが、当業者であれば、前記を理解したときに、こうした態様の改変、変形、および等価を容易に生成できることを理解されよう。したがって、本開示は限定ではなく例示のために提示されており、当業者であれば、本主題のこうした変更、変形、および／または追加の包含を除外するものでないことが容易に明らかとなるであろうことを理解されたい。
【図１】
0006598771.tif 000002
【図２】
0006598771.tif 000003
【図３】
0006598771.tif 000004
【図４】
0006598771.tif 000005
【図５】
0006598771.tif 000006
【図６】
0006598771.tif 000007
【図７】
0006598771.tif 000008
【図８】
0006598771.tif 000009
【図９】
0006598771.tif 000010
【図１０】
0006598771.tif 000011