(57)【特許請求の範囲】
【請求項１】
第２のネットワークデバイスから第１の通信ネットワークの第１のネットワークデバイスにおいてメッセージを受信することと、
前記メッセージ内の第１のフィールドに少なくとも部分的に基づいて、前記メッセージを転送するべきかどうかを決定することと、
前記メッセージを転送することを決定したことに応答して、中央コーディネータが以前に前記メッセージを転送したかどうかを示す前記メッセージ内の第２のフィールドに少なくとも部分的に基づいて、前記第１の通信ネットワークの前記中央コーディネータに対して上流経路または下流経路を介して前記メッセージを転送するべきかを決定することと
を備えるネットワーク通信のための方法。
【請求項２】
前記上流経路または下流経路を介して前記メッセージを転送するべきかを前記決定することが、
前記第２のフィールドが、前記中央コーディネータが以前に前記メッセージを転送したことを示す第１のインジケータを含むと決定したことに応答して、前記下流経路を介して前記メッセージを転送することを決定することと、
前記第２のフィールドが、前記中央コーディネータが以前に前記メッセージを転送していないことを示す第２のインジケータを含むと決定したことに応答して、前記上流経路を介して前記メッセージを転送することを決定することと
を備える、請求項１に記載の方法。
【請求項３】
前記第１のインジケータが、
前記中央コーディネータが以前に前記第１の通信ネットワークの別のネットワークデバイスから前記メッセージを受信したこと、または
前記中央コーディネータが前記メッセージを生成したこと
をさらに示す、請求項２に記載の方法。
【請求項４】
前記第２のインジケータが、
前記中央コーディネータが前記第１の通信ネットワークの別のネットワークデバイスから前記メッセージを受信していないこと、または
前記中央コーディネータが前記メッセージを生成しなかったこと
をさらに示す、請求項２に記載の方法。
【請求項５】
前記第１のネットワークデバイスから前記メッセージを転送するべきかどうかを決定することが、
前記第１のフィールド内の第１のデバイス識別子を、前記第１のネットワークデバイスと直接的に接続されている第３のネットワークデバイスに関連付けられた第２のデバイス識別子と比較することと、
前記第１のデバイス識別子は前記第２のデバイス識別子と一致すると決定したことに応答して、前記第１の通信ネットワーク内で前記メッセージを転送することを決定することと、
前記第１のデバイス識別子は前記第２のデバイス識別子と一致しないと決定したことに応答して、前記メッセージを破棄することと
を備える、請求項１に記載の方法。
【請求項６】
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致すると決定したことに応答して、
前記第２のフィールドが第１のインジケータを含むと決定したことに応答して、前記下流経路を介して前記メッセージを送信することを決定することと、
前記第２のフィールドが第２のインジケータを含むと決定したことに応答して、前記上流経路を介して前記メッセージを送信することを決定することと
をさらに備える、請求項５に記載の方法。
【請求項７】
前記上流経路を介して前記メッセージを送信することを決定したことに応答して、
前記第１のネットワークデバイスから前記第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスに前記メッセージを送信すること、ここにおいて、前記プロキシネットワークデバイスは、前記中央コーディネータに前記メッセージを転送するように構成される、または
前記第１のネットワークデバイスから前記中央コーディネータに直接的に前記メッセージを送信すること
をさらに備える、請求項１に記載の方法。
【請求項８】
前記下流経路を介して前記メッセージを送信することを決定したことに応答して、
前記第１のネットワークデバイスが前記第１の通信ネットワークの第３のネットワークデバイスのためのプロキシネットワークデバイスであることを決定することと、
前記第３のネットワークデバイスに関連付けられたデバイス識別子と前記メッセージに含まれる送信元識別子とを比較することに少なくとも部分的に基づいて、前記第３のネットワークデバイスが前記メッセージを生成したかどうかを決定することと
をさらに備える、請求項１に記載の方法。
【請求項９】
前記第３のネットワークデバイスが前記メッセージを生成しなかったと決定したことに応答して、前記第１のネットワークデバイスから前記第３のネットワークデバイスに前記メッセージを送信することと、
前記第３のネットワークデバイスが前記メッセージを生成したと決定したことに応答して、前記第３のネットワークデバイスに前記メッセージを送信しないことを決定することと
をさらに備える、請求項８に記載の方法。
【請求項１０】
前記第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、
前記第１のネットワークデバイスから前記第１の通信ネットワークの第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子を含むように前記メッセージの前記第１のフィールドを更新することと、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されたことを示すように前記メッセージの第３のフィールドを更新することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、
前記第１のネットワークデバイスから前記第１の通信ネットワークの第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子と異なる所定の値を含むように前記メッセージの前記第１のフィールドを更新することと、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されなかったことを示すように前記メッセージの第３のフィールドを更新することと
をさらに備える、請求項１に記載の方法。
【請求項１２】
前記第２のネットワークデバイスは、前記第１の通信ネットワークまたは第２の通信ネットワークの一部である、請求項１に記載の方法。
【請求項１３】
通信ネットワークの中央コーディネータにおいてメッセージを受信することと、
前記メッセージ内の第１のフィールドに少なくとも部分的に基づいて、前記通信ネットワーク内で前記メッセージを転送するべきかどうかを決定することと、
前記メッセージを転送することを決定したことに応答して、
前記中央コーディネータが前記メッセージを受信したことを示す第１のインジケータを含むように前記メッセージ内の第２のフィールドを更新することと、
前記第１のインジケータを含む前記メッセージを、前記中央コーディネータと通信している第１のネットワークデバイスに送信することと
を備えるネットワーク通信のための方法。
【請求項１４】
前記メッセージを転送するべきかどうかを前記決定することが、
前記第１のフィールド内の第１のデバイス識別子を、第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較することと、ここにおいて、前記第２のネットワークデバイスが、前記通信ネットワークの下流経路を介して前記第１のネットワークデバイスと直接的に接続される、
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致すると決定したことに応答して、前記メッセージを転送することを決定することと、
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致しないと決定したことに応答して、前記メッセージを破棄することと
を備える、請求項１３に記載の方法。
【請求項１５】
前記中央コーディネータとの直接通信リンクを確立した前記通信ネットワークの複数のネットワークデバイスを識別することをさらに備え、
ここにおいて、前記メッセージを前記送信することが、前記第１のインジケータを含む前記メッセージを、前記複数のネットワークデバイスに送信することを備える、請求項１３に記載の方法。
【請求項１６】
前記中央コーディネータにおいて前記メッセージを受信することが、
前記通信ネットワークの第２のネットワークデバイスから前記メッセージを受信すること、または
別の通信ネットワークの第３のネットワークデバイスから前記メッセージを受信すること
のうち１つを備える、請求項１３に記載の方法。
【請求項１７】
プロセッサと、
前記プロセッサと結合された通信ユニットと、前記通信ユニットが、
第２のネットワークデバイスからメッセージを受信し、
前記メッセージ内の第１のフィールドに少なくとも部分的に基づいて、前記メッセージを転送するべきかどうかを決定し、
前記メッセージを転送することを決定したことに応答して、中央コーディネータが以前に前記メッセージを転送したかどうかを示す前記メッセージ内の第２のフィールドに少なくとも部分的に基づいて、第１の通信ネットワークの前記中央コーディネータに対して上流経路または下流経路を介して前記メッセージを転送するべきかを決定する
ように構成される、
を備える第１のネットワークデバイス。
【請求項１８】
前記通信ユニットが、
前記第２のフィールドが、前記中央コーディネータが以前に前記メッセージを転送したことを示す第１のインジケータを含むと決定したことに応答して、前記下流経路を介して前記メッセージを転送し、
前記第２のフィールドが、前記中央コーディネータが以前に前記メッセージを転送していないことを示す第２のインジケータを含むと決定したことに応答して、前記上流経路を介して前記メッセージを転送する
ようにさらに構成される、請求項１７に記載の第１のネットワークデバイス。
【請求項１９】
前記第１のインジケータが、前記中央コーディネータが以前に前記第１の通信ネットワークの別のネットワークデバイスから前記メッセージを受信したことをさらに示す、および
前記第２のインジケータが、前記中央コーディネータが前記第１の通信ネットワークの別のネットワークデバイスから前記メッセージを受信していないことをさらに示す、請求項１８に記載の第１のネットワークデバイス。
【請求項２０】
前記通信ユニットが、
前記第１のフィールド内の第１のデバイス識別子を、前記第１のネットワークデバイスと直接的に接続されている第３のネットワークデバイスに関連付けられた第２のデバイス識別子と比較し、
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致すると決定したことに応答して、前記第１の通信ネットワーク内で前記メッセージを転送することを決定し、
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致しないと決定したことに応答して、前記第１のネットワークデバイスにおいて前記メッセージを破棄する
ようにさらに構成される、請求項１７に記載の第１のネットワークデバイス。
【請求項２１】
前記上流経路を介して前記メッセージを送信することを決定したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスから前記第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスに前記メッセージを送信する、ここにおいて、前記プロキシネットワークデバイスは、前記中央コーディネータに前記メッセージを転送するように構成される、または
前記第１のネットワークデバイスから前記中央コーディネータに直接的に前記メッセージを送信する
ようにさらに構成される、請求項１７に記載の第１のネットワークデバイス。
【請求項２２】
前記下流経路を介して前記メッセージを送信することを決定したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスが前記第１の通信ネットワークの第３のネットワークデバイスのためのプロキシネットワークデバイスであることを決定し、
前記第３のネットワークデバイスに関連付けられたデバイス識別子と前記メッセージに含まれる送信元識別子とを比較することに少なくとも部分的に基づいて、前記第３のネットワークデバイスが前記メッセージを生成したかどうかを決定する
ようにさらに構成される、請求項１７に記載の第１のネットワークデバイス。
【請求項２３】
前記通信ユニットが、
前記第３のネットワークデバイスが前記メッセージを生成しなかったと決定したことに応答して、前記第１のネットワークデバイスから前記第３のネットワークデバイスに前記メッセージを送信し、
前記第３のネットワークデバイスが前記メッセージを生成したと決定したことに応答して、前記第３のネットワークデバイスに前記メッセージを送信しないことを決定する
ようにさらに構成される、請求項２２に記載の第１のネットワークデバイス。
【請求項２４】
前記第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスから前記第１の通信ネットワークの第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子を含むように前記メッセージの前記第１のフィールドを更新し、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されたことを示すように前記メッセージの第３のフィールドを更新する
ようにさらに構成される、請求項１７に記載の第１のネットワークデバイス。
【請求項２５】
前記第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスから前記第１の通信ネットワークの第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子と異なる所定の値を含むように前記メッセージの前記第１のフィールドを更新し、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されなかったことを示すように前記メッセージの第３のフィールドを更新する
ようにさらに構成される、請求項１７に記載の第１のネットワークデバイス。
【請求項２６】
機械実行可能命令を記憶した非一時的な機械可読記憶媒体であって、前記機械実行可能命令が、
第２のネットワークデバイスから通信ネットワークの第１のネットワークデバイスにおいてメッセージを受信し、
前記メッセージ内の第１のフィールドに少なくとも部分的に基づいて、前記メッセージを転送するべきかどうかを決定し、
前記メッセージを転送することを決定したことに応答して、中央コーディネータが以前に前記メッセージを転送したかどうかを示す前記メッセージ内の第２のフィールドに少なくとも部分的に基づいて、前記通信ネットワークの前記中央コーディネータに対して上流経路または下流経路を介して前記メッセージを転送するべきかを決定する
命令を備える、非一時的な機械可読記憶媒体。
【請求項２７】
前記命令が、
前記第２のフィールドが、前記中央コーディネータが以前に前記メッセージを転送したことを示す第１のインジケータを含むと決定したことに応答して、前記下流経路を介して前記メッセージを転送し、
前記第２のフィールドが、前記中央コーディネータが以前に前記メッセージを転送していないことを示す第２のインジケータを含むと決定したことに応答して、前記上流経路を介して前記メッセージを転送する
命令をさらに備える、請求項２６に記載の非一時的な機械可読記憶媒体。
【請求項２８】
前記命令が、
前記第１のフィールド内の第１のデバイス識別子を、前記第１のネットワークデバイスと直接的に接続されている第３のネットワークデバイスに関連付けられた第２のデバイス識別子と比較し、
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致すると決定したことに応答して、前記通信ネットワーク内で前記メッセージを転送することを決定し、
前記第１のデバイス識別子が、前記第２のデバイス識別子と一致しないと決定したことに応答して、前記メッセージを破棄する
命令をさらに備える、請求項２６に記載の非一時的な機械可読記憶媒体。
【請求項２９】
前記上流経路を介して前記メッセージを送信することを決定したことに応答して、前記命令が、
前記第１のネットワークデバイスから前記第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスに前記メッセージを送信する、ここにおいて、前記プロキシネットワークデバイスは、前記中央コーディネータに前記メッセージを転送するように構成される、または
前記第１のネットワークデバイスから前記中央コーディネータに直接的に前記メッセージを送信する
命令をさらに備える、請求項２６に記載の非一時的な機械可読記憶媒体。
【請求項３０】
前記下流経路を介して前記メッセージを送信することを決定したことに応答して、前記命令が、
前記第１のネットワークデバイスが前記通信ネットワークの第３のネットワークデバイスのためのプロキシネットワークデバイスであることを決定し、
前記第３のネットワークデバイスに関連付けられたデバイス識別子が、前記メッセージに含まれる送信元識別子と一致しないと決定したことに応答して、前記第１のネットワークデバイスから前記第３のネットワークデバイスに前記メッセージを送信し、
前記第３のネットワークデバイスに関連付けられた前記デバイス識別子が、前記メッセージに含まれる前記送信元識別子と一致すると決定したことに応答して、前記第３のネットワークデバイスに前記メッセージを送信しないことを決定する
命令をさらに備える、請求項２６に記載の非一時的な機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明の主題の実施形態は、一般に、通信ネットワークの分野に関し、より詳細には、通信ネットワーク内でメッセージを転送することに関する。
【背景技術】
【０００２】
[0002]送配電線は、一般に、発電機からビル、住宅、および都市のインフラストラクチャの他の構成要素に電力を提供するために使用される。電力は、高い電圧で送電線を介して送られる場合があり、電力線を使用して、はるかに低い電圧でビルおよび他の構造に配電され得る。電力を提供する以外に、電力線は、屋内環境と屋外環境の両方で電力線通信を実施するためにも使用可能である。電力線通信は、ローカルエリアネットワークおよびワイドエリアネットワークにおいて様々なネットワークノードを互いに接続するための別の通信媒体を提供することができる。
【発明の概要】
【０００３】
[0003]通信ネットワーク内でメッセージを転送するための様々な実施形態が開示される。いくつかの実施形態では、方法は、第１の通信ネットワーク内で転送するために第１のネットワークデバイスにおいてメッセージを受信することと、メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、メッセージを転送するべきかどうかを決定することと、メッセージを転送することを決定したことに応答して、メッセージ内の第２のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、第１の通信ネットワーク内の中央コーディネータに対して上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定することと、ここにおいて、第２のあらかじめ定義されたフィールドは、中央コーディネータが以前にメッセージを転送したかどうかを示す、を備える。
【０００４】
[0004]いくつかの実施形態では、上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定することが、第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、第１の通信ネットワーク内の下流経路を介してメッセージを転送することを決定することと、第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、第１の通信ネットワーク内の上流経路を介してメッセージを転送することを決定することとを備える。
【０００５】
[0005]いくつかの実施形態では、第１のインジケータが、中央コーディネータが以前に第１の通信ネットワークの第２のネットワークデバイスからメッセージを受信したことを示す、または第１のインジケータが、中央コーディネータがメッセージを生成したことを示す。
【０００６】
[0006]いくつかの実施形態では、第２のインジケータが、中央コーディネータが第１の通信ネットワークの第２のネットワークデバイスからメッセージを受信していないことを示す、または第２のインジケータが、中央コーディネータがメッセージを生成しなかったことを示す。
【０００７】
[0007]いくつかの実施形態では、第１のネットワークデバイスからメッセージを転送するべきかどうかを決定することが、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、第１のネットワークデバイスと直接的に接続されている第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較することと、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子は第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致すると決定したことに応答して、第１の通信ネットワーク内でメッセージを転送することを決定することと、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子は第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致しないと決定したことに応答して、第１のネットワークデバイスにおいてメッセージを破棄することとを備える。
【０００８】
[0008]いくつかの実施形態では、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致すると決定したことに応答して、方法が、第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、第１の通信ネットワークの下流経路を介してメッセージを送信することを決定することと、第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、第１の通信ネットワークの上流経路を介してメッセージを送信することを決定することとをさらに備える。
【０００９】
[0009]いくつかの実施形態では、第１の通信ネットワークの上流経路を介してメッセージを送信することを決定したことに応答して、方法が、第１のネットワークデバイスから第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスにメッセージを送信すること、ここにおいて、プロキシネットワークデバイスは、中央コーディネータにメッセージを転送するように構成される、または第１のネットワークデバイスから中央コーディネータに直接的にメッセージを送信することをさらに備える。
【００１０】
[0010]いくつかの実施形態では、第１の通信ネットワークの下流経路を介してメッセージを送信することを決定したことに応答して、方法が、第１のネットワークデバイスが第１の通信ネットワークの第２のネットワークデバイスのためのプロキシネットワークデバイスであることを決定することと、第２のネットワークデバイスに関連付けられたデバイス識別子とメッセージに含まれる送信元識別子とを比較することに少なくとも部分的に基づいて、第２のネットワークデバイスがメッセージを生成したかどうかを決定することとをさらに備える。
【００１１】
[0011]いくつかの実施形態では、方法は、第２のネットワークデバイスがメッセージを生成しなかったと決定したことに応答して、第１のネットワークデバイスから第２のネットワークデバイスにメッセージを送信することと、第２のネットワークデバイスがメッセージを生成したと決定したことに応答して、第２のネットワークデバイスにメッセージを送信しないことを決定することとをさらに備える。
【００１２】
[0012]いくつかの実施形態では、第１の通信ネットワークの第２のネットワークデバイスから第１のネットワークデバイスにおいてメッセージを受信したことに応答して、方法が、第１のネットワークデバイスから第１の通信ネットワーク内の第３のネットワークデバイスにメッセージを送信する前に、第１のネットワークデバイスに関連付けられたデバイス識別子を含むようにメッセージの第１のあらかじめ定義されたフィールドを更新することと、メッセージが以前に第１の通信ネットワーク内で転送されたことを示すようにメッセージの第３のあらかじめ定義されたフィールドを更新することとをさらに備える。
【００１３】
[0013]いくつかの実施形態では、第２の通信ネットワークの第２のネットワークデバイスから第１のネットワークデバイスにおいてメッセージを受信したことに応答して、方法が、第１のネットワークデバイスから第１の通信ネットワーク内の第３のネットワークデバイスにメッセージを送信する前に、第１のネットワークデバイスに関連付けられたデバイス識別子と異なる所定の値を含むようにメッセージの第１のあらかじめ定義されたフィールドを更新することと、メッセージが以前に第１の通信ネットワーク内で転送されなかったことを示すようにメッセージの第３のあらかじめ定義されたフィールドを更新することをさらに備える。
【００１４】
[0014]いくつかの実施形態では、第１の通信ネットワーク内で転送するために第１のネットワークデバイスにおいてメッセージを受信することが、第１の通信ネットワークの第２のネットワークデバイスから第１のネットワークデバイスにおいてメッセージを受信すること、第２の通信ネットワークの第３のネットワークデバイスから第１のネットワークデバイスにおいてメッセージを受信すること、または第１のネットワークデバイスにおいてメッセージを生成することのうち１つを備える。
【００１５】
[0015]いくつかの実施形態では、方法が、通信ネットワーク内で転送するために通信ネットワークの中央コーディネータにおいてメッセージを受信することと、メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、通信ネットワーク内でメッセージを転送するべきかどうかを決定することと、メッセージを転送することを決定したことに応答して、中央コーディネータがメッセージを受信したことを示すためにメッセージ内に第１のインジケータを含むように第２のあらかじめ定義されたフィールドを更新することと、第１のインジケータを含むメッセージを、中央コーディネータと直接的に接続されている第１のネットワークデバイスに送信することとを備える。
【００１６】
[0016]いくつかの実施形態では、メッセージを転送するべきかどうかを決定することが、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、下流ネットワークデバイスに関連付けられた第２のデバイス識別子と比較することと、ここにおいて、下流ネットワークデバイスが、通信ネットワークの下流経路を介して第１のネットワークデバイスと直接的に接続される、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、下流ネットワークデバイスに関連付けられた第２のデバイス識別子と一致すると決定したことに応答して、メッセージを転送することを決定することと、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、下流ネットワークデバイスに関連付けられた第２のデバイス識別子と一致しないと決定したことに応答して、中央コーディネータにおいてメッセージを破棄することとを備える。
【００１７】
[0017]いくつかの実施形態では、方法が、中央コーディネータとの直接通信リンクを確立した通信ネットワークの複数のネットワークデバイスを識別することをさらに備え、ここにおいて、第１のインジケータを含むメッセージを第１のネットワークデバイスに送信することが、第１のインジケータを含むメッセージを、中央コーディネータとの直接通信リンクを確立した複数のネットワークデバイスに送信することを備える。
【００１８】
[0018]いくつかの実施形態では、通信ネットワーク内で転送するために中央コーディネータにおいてメッセージを受信することが、通信ネットワークの第２のネットワークデバイスから中央コーディネータにおいてメッセージを受信すること、別の通信ネットワークの第３のネットワークデバイスから中央コーディネータにおいてメッセージを受信すること、または中央コーディネータにおいてメッセージを生成することのうち１つを備える。
【００１９】
[0019]いくつかの実施形態では、第１のネットワークデバイスは、プロセッサと、プロセッサと結合された通信ユニットとを備え、通信ユニットが、第１の通信ネットワーク内で転送するためにメッセージを受信し、メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、メッセージを転送するべきかどうかを決定し、メッセージを転送することを決定したことに応答して、メッセージ内の第２のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、第１の通信ネットワーク内の中央コーディネータに対して上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定する、ここにおいて、第２のあらかじめ定義されたフィールドは、中央コーディネータが以前にメッセージを転送したかどうかを示す、ように構成される。
【００２０】
[0020]いくつかの実施形態では、上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定するように構成された通信ユニットが、第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、第１の通信ネットワーク内の下流経路を介してメッセージを転送し、第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、第１の通信ネットワーク内の上流経路を介してメッセージを転送するように構成された通信ユニットを備える。
【００２１】
[0021]いくつかの実施形態では、第１のインジケータが、中央コーディネータが以前に第１の通信ネットワークの追加ネットワークデバイスからメッセージを受信したことを示す、および第２のインジケータが、中央コーディネータが第１の通信ネットワークの追加ネットワークデバイスからメッセージを受信していないことを示す。
【００２２】
[0022]いくつかの実施形態では、メッセージを転送するべきかを決定するように構成された通信ユニットが、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、第１のネットワークデバイスと直接的に接続されている第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較し、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致すると決定したことに応答して、第１の通信ネットワーク内でメッセージを転送することを決定し、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致しないと決定したことに応答して、第１のネットワークデバイスにおいてメッセージを破棄するように構成された通信ユニットを備える。
【００２３】
[0023]いくつかの実施形態では、第１の通信ネットワークの上流経路を介してメッセージを送信することを決定したことに応答して、通信ユニットが、第１のネットワークデバイスから第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスにメッセージを送信する、ここにおいて、プロキシネットワークデバイスは、中央コーディネータにメッセージを転送するように構成される、または第１のネットワークデバイスから中央コーディネータに直接的にメッセージを送信する、ようにさらに構成される。
【００２４】
[0024]いくつかの実施形態では、第１の通信ネットワークの下流経路を介してメッセージを送信することを決定したことに応答して、通信ユニットが、第１のネットワークデバイスが第１の通信ネットワークの第２のネットワークデバイスのためのプロキシネットワークデバイスであることを決定し、第２のネットワークデバイスに関連付けられたデバイス識別子とメッセージに含まれる送信元識別子とを比較することに少なくとも部分的に基づいて、第２のネットワークデバイスがメッセージを生成したかどうかを決定するようにさらに構成される。
【００２５】
[0025]いくつかの実施形態では、通信ユニットは、第２のネットワークデバイスがメッセージを生成しなかったと決定したことに応答して、第１のネットワークデバイスから第２のネットワークデバイスにメッセージを送信し、第２のネットワークデバイスがメッセージを生成したと決定したことに応答して、第２のネットワークデバイスにメッセージを送信しないことを決定するようにさらに構成される。
【００２６】
[0026]いくつかの実施形態では、第１の通信ネットワークの第２のネットワークデバイスから第１のネットワークデバイスにおいてメッセージを受信したことに応答して、通信ユニットが、第１のネットワークデバイスから第１の通信ネットワーク内の第３のネットワークデバイスにメッセージを送信する前に、第１のネットワークデバイスに関連付けられたデバイス識別子を含むようにメッセージの第１のあらかじめ定義されたフィールドを更新し、メッセージが以前に第１の通信ネットワーク内で転送されたことを示すようにメッセージの第３のあらかじめ定義されたフィールドを更新するようにさらに構成される。
【００２７】
[0027]いくつかの実施形態では、第２の通信ネットワークの第２のネットワークデバイスから第１のネットワークデバイスにおいてメッセージを受信したことに応答して、通信ユニットが、第１のネットワークデバイスから第１の通信ネットワーク内の第３のネットワークデバイスにメッセージを送信する前に、第１のネットワークデバイスに関連付けられたデバイス識別子と異なる所定の値を含むようにメッセージの第１のあらかじめ定義されたフィールドを更新し、メッセージが以前に第１の通信ネットワーク内で転送されなかったことを示すようにメッセージの第３のあらかじめ定義されたフィールドを更新するようにさらに構成される。
【００２８】
[0028]いくつかの実施形態では、機械実行可能命令を記憶した非一時的な機械可読記憶媒体、機械実行可能命令が、通信ネットワーク内で転送するために第１のネットワークデバイスにおいてメッセージを受信し、メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、メッセージを転送するべきかどうかを決定し、メッセージを転送することを決定したことに応答して、メッセージ内の第２のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、通信ネットワーク内の中央コーディネータに対して上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定する、ここにおいて、第２のあらかじめ定義されたフィールドは、中央コーディネータが以前にメッセージを転送したかどうかを示す命令を備える。
【００２９】
[0029]いくつかの実施形態では、上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定する命令は、第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、通信ネットワーク内の下流経路を介してメッセージを転送し、ここにおいて、第１のインジケータが、中央コーディネータが以前にメッセージを転送したことを示す、および第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、通信ネットワーク内の上流経路を介してメッセージを転送する、ここにおいて、第２のインジケータが、中央コーディネータが以前にメッセージを転送していないことを示す、命令を備える。
【００３０】
[0030]いくつかの実施形態では、メッセージを転送するべきかどうかを決定する命令は、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、第１のネットワークデバイスと直接的に接続されている第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較し、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致すると決定したことに応答して、通信ネットワーク内でメッセージを転送することを決定し、第１のあらかじめ定義されたフィールド内の第１のデバイス識別子が、第２のネットワークデバイスに関連付けられた第２のデバイス識別子と一致しないと決定したことに応答して、第１のネットワークデバイスにおいてメッセージを破棄する命令を備える。
【００３１】
[0031]いくつかの実施形態では、通信ネットワークの上流経路を介してメッセージを送信することを決定したことに応答して、命令が、第１のネットワークデバイスから第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスにメッセージを送信する、ここにおいて、プロキシネットワークデバイスは、中央コーディネータにメッセージを転送するように構成される、または第１のネットワークデバイスから中央コーディネータに直接的にメッセージを送信する命令を備える。
【００３２】
[0032]いくつかの実施形態では、通信ネットワークの下流経路を介してメッセージを送信することを決定したことに応答して、命令が、第１のネットワークデバイスが通信ネットワークの第２のネットワークデバイスのためのプロキシネットワークデバイスであることを決定し、第２のネットワークデバイスに関連付けられたデバイス識別子が、メッセージに含まれる送信元識別子と一致しないと決定したことに応答して、第１のネットワークデバイスから第２のネットワークデバイスにメッセージを送信し、第２のネットワークデバイスに関連付けられたデバイス識別子が、メッセージに含まれる送信元識別子と一致すると決定したことに応答して、第２のネットワークデバイスにメッセージを送信しないことを決定する命令を備える。
【００３３】
[0033]添付の図面を参照することによって、本実施形態がより良く理解され、多数の目的、特徴、および利点が当業者に明らかになるであろう。
【図面の簡単な説明】
【００３４】
【図１】[0034]通信ネットワーク内でメッセージを転送するための機構を含む例示的なブロック図。
【図２】[0035]通信ネットワーク内でメッセージを転送するための機構を示す例示的な概念図。
【図３】[0036]通信ネットワーク内でメッセージを転送するためのネットワークデバイスの例示的な動作を示す流れ図。
【図４】[0037]通信ネットワーク内でメッセージを転送するための中央コーディネータの例示的な動作を示す流れ図。
【図５】[0038]通信ネットワーク内でメッセージを転送するための例示的な動作を示す流れ図。
【図６】[0039]図５の続きであり、同じく、通信ネットワーク内でメッセージを転送するための例示的な動作を示す図。
【図７】[0040]通信ネットワーク内でメッセージを転送するための機構を含む電子デバイスの一実施形態のブロック図。
【発明を実施するための形態】
【００３５】
[0041]以下の説明は、本発明の主題の技法を実施する、例示的なシステムと、方法と、技法と、命令シーケンスと、コンピュータプログラム製品とを含む。しかしながら、説明される実施形態は、これらの具体的な詳細がなくても実施され得ることが理解される。たとえば、例は、電力線通信ネットワーク（たとえば、ＨｏｍｅＰｌｕｇ（登録商標）ＧｒｅｅｎＰＨＹプロトコルを実施するネットワーク）内でメッセージを転送することに言及しているが、実施形態は、そのように限定されない。他の実施形態では、メッセージを転送するための技法は、他の適切なワイヤード通信プロトコル（たとえば、イーサネット（登録商標）、ｍｕｌｔｉｍｅｄｉａ  ｏｖｅｒ  ｃｏａｘ  ａｌｌｉａｎｃｅ（ＭｏＣＡ）、ＨｏｍｅＰｌｕｇ  ＡＶ／ＡＶ２など）またはワイヤレス通信プロトコル（たとえば、ＩＥＥＥ８０２．１１プロトコルなどのワイヤレスローカルエリアネットワークプロトコル）を実施する通信ネットワーク内で実施され得る。他の例では、よく知られている命令インスタンス、プロトコル、構造、および技法は、説明を不明瞭にしないために、詳細に示されていない。
【００３６】
[0042]電力線通信（ＰＬＣ）ネットワークは、一般に、ＰＬＣネットワーク内の他のネットワークデバイスの通信を管理する中央コーディネータを含む。中央コーディネータを検出し、これとの直接通信リンクを確立し得るネットワークデバイスもあれば、中央コーディネータを検出しないことがあり、「隠されたネットワークデバイス」と呼ばれることがあるネットワークデバイスもある。隠されたネットワークデバイスは、中央コーディネータと通信するための、「プロキシネットワークデバイス」と呼ばれることがある中間ネットワークデバイスを識別および使用してよい。隠されたネットワークデバイスは、プロキシネットワークデバイスを介して中央コーディネータにメッセージを送信し、これからメッセージを受信し得る。ＰＬＣプロトコル（たとえば、ＨｏｍｅＰｌｕｇ  ＧｒｅｅｎＰＨＹプロトコル）によれば、中央コーディネータは、各ネットワークデバイスがブロードキャストメッセージとマルチキャストメッセージとをどのようにして転送するべきかを示すために、転送テーブルを作成して、ＰＬＣネットワーク内の各ネットワークデバイスに送信する。各ネットワークデバイスは、単に、中央コーディネータから受信された転送テーブルに従って、受信されたブロードキャスト／マルチキャストメッセージを他のネットワークデバイスに転送する。しかしながら、そのような機構は、ネットワークデバイスの各々がブロードキャスト／マルチキャストメッセージをどのようにして転送するべきかを決定するために、中央コーディネータに依存し得る。これは、中央コーディネータで利用可能なリソースおよびＰＬＣネットワーク内のネットワークデバイスの数によっては、時間を多く使用し、メモリの使用率が高いプロセスである場合がある。そのうえ、ブロードキャスト／マルチキャストメッセージの無差別な転送は、メッセージが通信ネットワーク内で無期限に再送信されること（「ブロードキャストメッセージストーム（broadcast message storm）」）と、ＰＬＣネットワーク内の重複メッセージの再送信をもたらすことがある。
【００３７】
[0043]いくつかの実施形態では、通信ネットワーク内のネットワークデバイスは、通信ネットワーク内でブロードキャストメッセージとマルチキャストメッセージとを転送するための転送テーブルを独立して決定するように構成可能である。ネットワークデバイスは、通信ネットワークの中央コーディネータからの補助なしで転送テーブルを決定することができる。ネットワークデバイスは、ネットワークデバイスがプロキシネットワークデバイスに関連付けられるかどうか、および／またはネットワークデバイスが別のネットワークデバイスのためのプロキシネットワークデバイスとして動作するかどうかに応じて、転送テーブルを決定することができる。そのうえ、ネットワークデバイスは、通信ネットワーク内でブロードキャストするために、メッセージを受信することがある。ネットワークデバイスは、メッセージが第１のインジケータを含むかまたは第２のインジケータを含むかに応じて、メッセージを通信ネットワークの上流経路を介して転送するべきか下流経路を介して転送するべきかを決定し得る。上流経路を介してメッセージを転送することは、ネットワークデバイスから中央コーディネータの方へ向かうネットワーク経路内の別のネットワークデバイスにメッセージを再送信すること、またはネットワークデバイスから中央コーディネータにメッセージを再送信することを含み得る。下流経路を介してメッセージを転送することは、中央コーディネータから遠ざかるネットワーク経路内の別のネットワークデバイスにメッセージを再送信することを含み得る。メッセージが第１のインジケータを含む場合、これは、中央コーディネータが以前にメッセージを転送したことを示すことができる。次いで、ネットワークデバイスは、下流経路を介して、ネットワークデバイスがプロキシネットワークデバイスとして動作するすべてのネットワークデバイス（もしあれば）に、メッセージを再送信してよい。メッセージが第２のインジケータを含む場合、これは、中央コーディネータがメッセージを受信していないことを示すことができる。次いで、ネットワークデバイスは、上流経路を介して−中央コーディネータ、またはその後の中央コーディネータへの転送のためにプロキシネットワークデバイス、のいずれかに直接的にメッセージを再送信し得る。中央コーディネータがメッセージを受信すると、中央コーディネータは、中央コーディネータがメッセージを受信したことを示す第１のインジケータを含むようにメッセージを更新することができる。上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定することに加えて、ネットワークデバイスは、メッセージを転送するべきかメッセージを破棄するべきかを決定するために、メッセージ内の情報を使用してよい。ネットワークデバイスは、ネットワークデバイスがプロキシネットワークデバイスを有するかおよび／またはプロキシネットワークデバイスとして動作するかに応じて、その転送テーブルを決定するように構成可能であるので、中央コーディネータが通信ネットワーク内の各ネットワークデバイスに転送テーブルを提供するのを妨げることができる。これは、中央コーディネータによって消費されるリソースと、通信ネットワーク内で送信されるメッセージとを最小限にすることもできる。さらに、通信ネットワーク内でブロードキャストメッセージを転送するべきかどうかと、どのようにして転送するかとを決定するために、ブロードキャストメッセージに含まれる第１のインジケータと第２のインジケータとを使用することは、ブロードキャストメッセージストームと、通信ネットワーク内での重複メッセージの再送信とを最小限にすることができる。
【００３８】
[0044]図１は、通信ネットワーク１００内でメッセージを転送するための機構を含む例示的なブロック図である。通信ネットワーク１００は、中央コーディネータ１０２と、ネットワークデバイス１０４、１０６、および１０８とを含む。ネットワークデバイス１０４は、転送ユニット１１０と、リンク確立ユニット１１２とを含む。図１には示されていないが、中央コーディネータ１０２ならびにネットワークデバイス１０６および１０８は各々、転送ユニットとリンク確立ユニットとを含んでよい。
【００３９】
[0045]一例では、通信ネットワーク１００は、ＨｏｍｅＰｌｕｇ  ＡＶ論理ネットワーク（ＡＶＬＮ）であってよい。中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は各々、ＰＬＣ対応ネットワークデバイスであってよい。通信ネットワーク１００内では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は、メッシュ型トポロジ、ツリー型トポロジ、スター型トポロジ、バス型トポロジなどの任意の適切なネットワークトポロジをサポートしてよい。いくつかの実装形態では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は各々、屋外ＰＬＣ環境における電子デバイスであってよい。たとえば、屋外ＰＬＣ環境は、スマートパワーグリッドとすることができる。この例では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は各々、電力計、電気自動車充電スタンド、電気自動車、発電機、配電デバイスなどの、屋外環境で動作するように構成されたＰＬＣデバイスまたはＰＬＣ対応電子デバイスであってよい。いくつかの実装形態では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は各々、屋内環境（たとえば、ホームネットワーク）におけるＰＬＣ対応電子デバイスであってよい。この実装形態では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は、ラップトップコンピュータ、タブレットコンピュータ、モバイル電話、スマートアプライアンス、ウェアラブルデバイス、ゲームコンソール、アクセスポイント、または他の適切な電子デバイスなどのＰＬＣ対応電子デバイスであってよい。いくつかの実装形態では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は、屋内ＰＬＣ環境内または屋外ＰＬＣ環境内に配置可能なＰＬＣ対応電子デバイスであってよい。いくつかの実施形態では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は、ＨｏｍｅＰｌｕｇ  ＡＶ通信プロトコル、ＨｏｍｅＰｌｕｇ  ＧｒｅｅｎＰＨＹ通信プロトコル、または他の適切な電力線通信プロトコルを使用して通信するように構成可能である。いくつかの実施形態では、ＰＬＣプロトコルに加えて、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は、他のワイヤード通信プロトコルまたはワイヤレス通信プロトコル（たとえば、ブルートゥース（登録商標）、ＷｉＭＡＸ（登録商標）、イーサネット、ＷＬＡＮ（たとえば、ＩＥＥＥ８０２．１１プロトコル）など）を実施し得る。そのうえ、いくつかの実施形態では、中央コーディネータ１０２ならびにネットワークデバイス１０４、１０６、および１０８は各々、１つまたは複数の無線トランシーバ、プロセッサ、アナログフロントエンド（ＡＦＥ）ユニット、メモリ、および／または通信プロトコルと関連機能とを実施する論理を含み得る。
【００４０】
[0046]いくつかの実施形態では、中央コーディネータ１０２は、通信ネットワーク１００内の通信を制御するネットワークデバイスであってよい。ネットワークデバイス１０４、１０６、および１０８は、中央コーディネータ１０２に関連付けられて、通信ネットワーク１００に参加することができる。しかしながら、いくつかの実施形態では、通信ネットワーク１００内の２つのネットワークデバイス間の通信は、より長い距離、ネットワーク輻輳、または不良な信号品質により、信頼性が高くないことがある（または、その可能性がある）。たとえば、ネットワークデバイス１０４のリンク確立ユニット１１２は、中央コーディネータ１０２から中央ビーコンメッセージを受信しないことがあり、したがって、中央コーディネータ１０２を検出しないことがある。中央コーディネータ１０２との直接通信リンクを確立することができないネットワークデバイス１０４は、「隠されたネットワークデバイス」と呼ばれることがある。リンク確立ユニット１１２が中央コーディネータ１０２を検出することができない場合、隠されたネットワークデバイス１０４は、中間「プロキシ」ネットワークデバイス（たとえば、ネットワークデバイス１０６）を介して中央コーディネータ１０２と通信しようとしてよい。
【００４１】
[0047]いくつかの実施形態では、通信ネットワーク１００内のネットワークデバイスは、通信ネットワーク１００内でブロードキャストメッセージとマルチキャストメッセージとを転送するためのその転送テーブルを生成するように構成可能である。転送テーブルは、ネットワークデバイスおよび／またはネットワークデバイスをサービスするプロキシネットワークデバイス（または中央コーディネータ）によってサービスされる隠されたネットワークデバイスを認識していることに基づいて決定され得る。たとえば、ネットワークデバイス１０６および１０８は、中央コーディネータ１０２を検出して、これとの直接通信リンクを確立し得る。ネットワークデバイス１０４は、中央コーディネータ１０２を検出することができないことがあり、隠されたネットワークデバイスと呼ばれることがある。ネットワークデバイス１０４は、ネットワークデバイス１０６を、そのプロキシネットワークデバイスとして選択し得る。ネットワークデバイス１０４は、ネットワークデバイス１０４とネットワークデバイス１０４によって検出可能な各追加ネットワークデバイスとの間の通信リンクの性能測定を推定し得る。ネットワークデバイス１０４は、好ましい性能測定（たとえば、最も高い信号対雑音比）に関連付けられた追加ネットワークデバイスをプロキシネットワークデバイスとして選択し得る。代替的に、ネットワークデバイス１０４は、そのプロキシネットワークデバイスを選択するために、他の適切な技法を使用してもよい。図１の例では、ネットワークデバイス１０６の転送テーブルは、中央コーディネータ１０２がネットワークデバイス１０６の上流経路内で直接的に接続されている（「上流ネットワークデバイス」）ことを示し得る。転送テーブルは、ネットワークデバイス１０６が隠されたネットワークデバイス１０４のためのプロキシネットワークデバイスとして動作することも示し得る。言い換えれば、転送テーブルは、隠されたネットワークデバイス１０４がネットワークデバイス１０６の下流経路内で直接的に接続されていること（「下流ネットワークデバイス」）を示し得る。別の例として、隠されたネットワークデバイス１０４の転送テーブルは、プロキシネットワークデバイス１０６がネットワークデバイス１０４の上流経路内で直接的に接続されており、ネットワークデバイス１０４の下流経路内で接続されているネットワークデバイスは存在しないことを示し得る。別の例として、中央コーディネータ１０２の転送テーブルは、ネットワークデバイス１０６および１０８が中央コーディネータ１０２の下流経路内で直接的に接続されており、中央コーディネータ１０２の上流経路内で接続されているネットワークデバイスは存在しないことを示し得る。
【００４２】
[0048]転送テーブルに加えて、ネットワークデバイスは、通信ネットワーク１００内でメッセージを転送するべきかどうか／どのようにして転送するかを決定するためにメッセージのフレーム制御フィールドを分析し得る。メッセージは、通信ネットワーク内の１つまたは複数のネットワークデバイスに転送されるブロードキャストメッセージまたはマルチキャストメッセージであってよい。いくつかの実施形態では、メッセージは、中央コーディネータ１０２が以前にメッセージを転送したかどうかを示す所定のフィールドを含み得る。たとえば、所定のフィールドは、中央コーディネータが同じ通信ネットワークの別のネットワークデバイスからメッセージを受信したかどうか、中央コーディネータが異なる通信ネットワークの別のネットワークデバイスからメッセージを受信したかどうか、中央コーディネータが通信ネットワーク内で送信するためにメッセージを生成したかどうかなどを示すことができる。所定のフィールドは、中央コーディネータ１０２が以前にメッセージを転送したかどうかに応じて、第１のインジケータまたは第２のインジケータを含み得る。たとえば、メッセージが第１のインジケータを含む場合、これは、中央コーディネータ１０２がメッセージを受信した（または生成した）ことを示すことができる。しかしながら、メッセージが第２のインジケータを含む場合、これは、中央コーディネータ１０２がメッセージを受信していないことを示すことができる。中央コーディネータ１０２がメッセージを受信すると、中央コーディネータ１０２の転送ユニット（図示せず）は所定のフィールドを更新し得る。中央コーディネータ１０２がメッセージを生成した場合、転送ユニットは、同じく、所定のフィールドを更新し得る。転送するためにメッセージを受信するネットワークデバイス１０４、１０６、または１０８は、所定のフィールド内の起訴者（ｉｎｄｉｃｔｏｒ）に少なくとも部分的に基づいて、メッセージを通信ネットワーク１００の上流経路を介して転送するべきか下流経路を介して転送するべきかを決定し得る。一実施形態では、所定のフィールドは、フレーム制御フィールドの「下流フィールド」すなわち「ＤＳフィールド」と呼ばれることがある。下流フィールドが第１のインジケータを含む（たとえば、ＤＳ＝０）場合、転送ユニット１１０は、中央コーディネータ１０２が以前にメッセージを受信しなかった、またはメッセージを最初に生成しなかったと決定し得る。したがって、転送ユニット１１０は、通信ネットワーク１００の上流経路を介してメッセージを再送信し得る。上流経路を介してメッセージを送信するために、転送ユニット１１０は、図２に関して説明されるように、中央コーディネータ１０２、またはその後の中央コーディネータ１０２への転送のためにプロキシネットワークデバイス、のいずれかに直接的にメッセージを送信し得る。代替的に、下流フィールドが第２のインジケータを含む（たとえば、ＤＳ＝１）場合、転送ユニット１１０は、中央コーディネータ１０２が以前にメッセージを受信した、またはメッセージを最初に生成したと決定し得る。したがって、転送ユニット１１０は、通信ネットワーク１００の下流経路を介してメッセージを再送信し得る。下流経路を介してメッセージを送信するために、転送ユニット１１０は、図２に関して説明されるように、ネットワークデバイスがプロキシネットワークデバイスとして動作するすべてのネットワークデバイス（もしあれば）にメッセージを送信し得る。隠されたネットワークデバイスにメッセージを送信する前に、転送ユニット１１０は、メッセージに含まれる送信元識別子が隠されたネットワークデバイスのデバイス識別子と一致するかどうかを決定し得る。たとえば、送信元識別子は、メッセージの送信元端末機器識別子（source terminal equipment identifier）フィールドすなわちＳＴＥＩフィールドに含まれ得る。送信元識別子は、通信ネットワーク内で送信するためにメッセージを最初に生成するネットワークデバイスに関連付けられたデバイス識別子を指すことがある。一致が存在する場合、転送ユニット１１０は、隠されたネットワークデバイスがメッセージを生成したと決定し得、したがって、隠されたネットワークデバイスにメッセージを再送信しなくてよい。代わりに、転送ユニット１１０は、ネットワークデバイスに関連付けられた他の隠されたネットワークデバイス（もしあれば）にメッセージを転送し得る。代替的に、ネットワークデバイスは、単に、通信ネットワーク内でメッセージを転送することなくメッセージを処理し得る。
【００４３】
[0049]さらに、通信ネットワーク１００内のネットワークデバイスは、メッセージが以前に通信ネットワーク１００内で転送されたかどうかを示すためにフレーム制御フィールドに情報を含むように構成可能である。たとえば、図２でさらに説明されるように、ネットワークデバイスは、メッセージが以前に通信ネットワーク１００内で転送されたことを示すために、あらかじめ定義された値をメッセージの第１のフレーム制御フィールド内で送信し得る。ネットワークデバイスは、メッセージが以前に通信ネットワーク１００内で転送されたとき、そのデバイス識別子もメッセージの第２のフレーム制御フィールドに含み得る。デバイス識別子は、メディアアクセス制御（ＭＡＣ）アドレス、端末機器識別子、ネットワークアドレス、またはネットワークデバイスを一意に識別する別の適切な識別子であってよい。より一般的には、第２のフレーム制御フィールドは、メッセージを現在転送しているネットワークデバイスに関連付けられたデバイス識別子（「転送デバイス識別子」）を含み得る。一例では、第１のフレーム制御フィールドは物理層（ＰＨＹ）ブロック本体（ＰＢＢ）フィールドであってよく、第２のフレーム制御フィールドはビット負荷推定（ＢＬＥ：bit load estimate）フィールドであってよい。以下でさらに説明されるように、転送ユニット１１０は、通信ネットワーク内でメッセージを再送信するべきかどうか、またはメッセージを破棄するべきかどうかを決定するために、送信元識別子および／または転送デバイス識別子を使用し得る。下流フィールドが第１のインジケータ（たとえば、ＤＳ＝０）を含む場合、転送ユニット１１０は、上流経路を介してメッセージを再送信するべきかどうかを決定するために、ネットワークデバイスと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と送信元識別子および／または転送デバイス識別子を比較し得る。下流フィールドが第２のインジケータ（たとえば、ＤＳ＝１）を含む場合、転送ユニット１１０は、下流経路を介してメッセージを再送信するべきかどうかを決定するために、ネットワークと直接的に接続されている上流ネットワークデバイスのデバイス識別子と送信元識別子および／または転送デバイス識別子を比較し得る。転送ユニット１１０は、メッセージを示した識別子が上流ネットワークデバイスまたは下流ネットワークデバイスのデバイス識別子と一致する場合のみ、メッセージを再送信し得る。一致が存在しない場合、転送ユニット１１０はメッセージを破棄し得る。
【００４４】
[0050]いくつかの実施形態では、受信ネットワークデバイスの転送ユニット１１０は、メッセージを転送するべきかどうかと、どのようにして転送するかとを決定するために、第１のフレーム制御フィールド（たとえば、ＰＢＢフィールド）、第２のフレーム制御フィールド（たとえば、ＢＬＥフィールド）、下流フィールド（たとえば、ＤＳフィールド）、および／または送信元識別子フィールド（たとえば、ＳＴＥＩフィールド）内の情報を評価し得る。たとえば、Ａ）第１のフレーム制御フィールドが、あらかじめ定義された値を含まず（たとえば、ＰＢＢ≠０ｘＦＦ）、Ｂ）送信元識別子フィールドが、受信ネットワークデバイスと直接的に接続された下流ネットワークデバイスのデバイス識別子を含み、Ｃ）中央コーディネータがメッセージを受信または生成していない（たとえば、ＤＳ＝０）場合、転送ユニット１１０は、下流ネットワークデバイスがメッセージを最初に生成したと決定し得る。したがって、転送ユニット１１０は、上流経路を介して中央コーディネータ１０２にメッセージを転送し得る。代替的に、転送ユニット１１０は、その後の中央コーディネータ１０２への転送のために、上流経路を介して上位レベルプロキシネットワークデバイスにメッセージを転送してよい。別の例として、Ａ）第１のフレーム制御フィールドが、あらかじめ定義された値を含まず（たとえば、ＰＢＢ≠０ｘＦＦ）、Ｂ）送信元識別子フィールドが中央コーディネータのデバイス識別子を含み、Ｃ）中央コーディネータがメッセージを受信または生成した（たとえば、ＤＳ＝１）場合、受信ネットワークデバイスの転送ユニット１１０は、メッセージが中央コーディネータによって生成されたと決定し得、下流経路を介してメッセージを再送信し得る。通信ネットワーク内でメッセージを転送するべきかどうかおよびメッセージを上流経路を介して転送するべきか下流経路を介して転送するべきかを決定するための他の例は、図２〜図６に関してさらに説明される。
【００４５】
[0051]例は、通信ネットワーク内でメッセージ（たとえば、ブロードキャストメッセージまたはマルチキャストメッセージ）を転送するべきかと、どのようにして転送するかとを決定するために、ＢＬＥフィールド、ＤＳフィールド、ＰＢＢフィールド、および／またはＳＴＥＩフィールドを使用することに言及しているが、実施形態は、そのように限定されない。他の実施形態では、ネットワークデバイスは、メッセージを転送するべきかどうかと、どのようにして転送するかとを決定するために、他の適切なフィールド、任意の適切な数のビット、および／または任意の他のタイプのインジケータを使用し得る。
【００４６】
[0052]図２は、通信ネットワーク内でメッセージを転送するための機構を示す例示的な概念図である。図２は、ＰＬＣネットワーク２００と、イーサネット２２０とを示す。いくつかの実施形態では、図２は、ＰＬＣネットワーク２００とイーサネット２２０との間の相互接続を含むハイブリッド通信ネットワークを示し得る。ＰＬＣネットワーク２００は、中央コーディネータ（ＣＣｏ）２０２と、ネットワークデバイス２０４、２０６、２０８、２１０、および２１２とを含む。イーサネット２２０は、イーサネットデバイス２２２と２２４とを含む。ＰＬＣネットワーク２００では、ネットワークデバイス２０４、２１０、および２１２は、中央コーディネータ２０２との直接通信リンクを確立することができない隠されたネットワークデバイスである。ネットワークデバイス２０４は、ネットワークデバイス２０６を、中央コーディネータ２０２と通信するためのプロキシネットワークデバイスとして使用する。ネットワークデバイス２１０および２１２は、ネットワークデバイス２０８を、中央コーディネータ２０２と通信するためのプロキシネットワークデバイスとして使用する。いくつかの実施形態では、図２に示されるように、プロキシネットワークデバイス２０６および２０８は各々、中央コーディネータ２０２を検出し、これとの直接通信リンクを確立し得る。しかしながら、他の実施形態では、プロキシネットワークデバイス２０６および／または２０８は、中央コーディネータ２０２と通信するための別の上位レベルプロキシネットワークデバイスを識別し得る。図２の例では、イーサネットデバイス２２２はネットワークデバイス２１０と接続されているが、イーサネットデバイス２２４はネットワークデバイス２０４と接続されている。
【００４７】
[0053]図２は、ネットワークデバイス間の例示的な相互接続と、ネットワークデバイス間で交換される例示的なメッセージとを示す。他の実施形態では、ＰＬＣネットワークは、任意の適切なタイプの通信ネットワーク（たとえば、メッシュ型ネットワークなど）を形成するために、互いの間で相互接続された任意の適切な数のネットワークデバイスを含んでよい。ネットワークデバイス間の相互接続にかかわらず、各ネットワークデバイスが中央コーディネータまたは上位レベルプロキシネットワークデバイスのいずれかに直接的に接続される場合、通信ネットワークは、ネットワークツリーとして表されることがある。さらに、ネットワークデバイスは、１つまたは複数の隠されたネットワークデバイスのためのプロキシネットワークデバイスとして動作し得る。隠されたネットワークデバイスをサービスしないネットワークデバイスは、ネットワークツリーの「葉ノード」と呼ばれることがある。いくつかの実施形態では、ＰＬＣネットワークは、他の異種通信ネットワークと相互接続されないことがある。いくつかの実施形態では、ＰＬＣネットワークは、イーサネット２２０と接続されないことがある。代わりに、ＰＬＣネットワーク２００は、他の適切な通信ネットワーク（たとえば、ＷＬＡＮ、ＭｏＣＡなど）と接続されてよい。
【００４８】
[0054]イーサネットデバイス２２２は、イーサネット２２０およびＰＬＣネットワーク２００内で送信するために、メッセージ２１４Ａを生成する。メッセージ２１４Ａ内の送信元アドレス（ＳＡ）フィールドは、イーサネットデバイス２２２のデバイス識別子を含む（たとえば、ＳＡ＝ＰＣ−１）。デバイス識別子は、ＭＡＣアドレス、ＴＥＩ、ネットワークアドレス、またはネットワークデバイスを一意に識別する別の適切なデバイス識別子であってよい。メッセージ２１４Ａ内の宛先アドレス（ＤＡ）フィールドは、メッセージ２１４Ａがネットワーク２００および２２０内で転送されるべきであることを示すあらかじめ定義された転送識別子を含む（たとえば、ＤＡ＝転送）。イーサネットデバイス２２２は、ＰＬＣネットワーク２００のネットワークデバイス２１０に、およびイーサネットデバイス２２２と直接的に接続されている他のネットワークデバイス（図示せず）に、メッセージ２１４Ａを送信する。
【００４９】
[0055]ＰＬＣネットワーク２００では、ネットワークデバイス２１０は、ＰＬＣネットワーク２００内で転送するために、イーサネットデバイス２２２からメッセージ２１４Ａを受信する。ネットワークデバイス２１０は、その後ＰＬＣネットワーク２００内で転送するためにメッセージ２１４Ｂを生成するように、メッセージ２１４Ａのフレーム制御フィールド内の情報を更新する。ネットワークデバイス２１０は、外部通信ネットワークからメッセージ２１４Ａを受信し、メッセージ２１４Ａを受信するＰＬＣネットワーク２００内の最初のネットワークデバイスである。したがって、ネットワークデバイス２１０は、メッセージ２１４Ｂを生成するために、そのデバイス識別子をフレーム制御フィールドの送信元識別子フィールドに含める。図２の例では、ネットワークデバイス２１０は、メッセージ２１４Ｂを生成するために、そのデバイス識別子をＳＴＥＩフィールドに含める（たとえば、ＳＴＥＩ＝ＨＳＴＡ−１）。そのうえ、ネットワークデバイス２１０は、メッセージ２１４ＢがＰＬＣネットワーク２００内で転送されるべきであることを示すために、あらかじめ定義された転送識別子をメッセージ２１４Ｂの宛先識別子フィールドに含める。図２の例では、ネットワークデバイス２１０は、あらかじめ定義された転送識別子を宛先端末機器識別子（ＤＴＥＩ）フィールドに含める（たとえば、ＤＴＥＩ＝０ｘＦＦ）。さらに、メッセージ２１４Ａは、イーサネット２２０からネットワークデバイス２１０において受信され、以前にＰＬＣネットワーク２００内で転送されなかった。したがって、ネットワークデバイス２１０は、メッセージが以前にＰＬＣネットワーク２００内で転送されなかったことを示すために、あらかじめ定義された値をメッセージ２１４Ｂの第１のフレーム制御フィールドに含める（たとえば、ＰＢＢ≠０ｘＦＦ）。ネットワークデバイス２１０はまた、メッセージが以前にＰＬＣネットワーク２００内で転送されなかったことを示すために、そのデバイス識別子をメッセージ２１４Ｂの第２のフレーム制御フィールドに含まない（たとえば、ＢＬＥ≠ＨＳＴＡ−１）。さらに、ネットワークデバイス２１０はイーサネット２２０からメッセージを受信したので、ネットワークデバイス２１０は、中央コーディネータが以前にメッセージ２１４Ａを転送していないと決定する。メッセージ２１４Ｂは、中央コーディネータ２０２がＰＬＣネットワークの別のネットワークデバイスからメッセージを受信していない、異なる通信ネットワークの別のネットワークデバイスからメッセージを受信していない、またはメッセージ２１４Ｂを生成していないことを示すために、デフォルトインジケータを下流フィールドに含み得る（たとえば、ＤＳ＝０）。ネットワークデバイス２１０は、ＰＬＣネットワーク２００の上流経路を介して中央コーディネータ２０２にメッセージ２１４Ｂを転送することを決定する。ネットワークデバイス２１０は、その転送テーブルにアクセスし、ネットワークデバイス２０８がネットワークデバイス２１０のためのプロキシネットワークデバイスとして動作すると決定する。具体的には、ネットワークデバイス２１０は、ネットワークデバイス２０８が上流経路内でネットワークデバイス２１０と直接的に接続されていると決定する。ネットワークデバイス２１０は、上流経路を介して接続されたネットワークデバイス２０８にメッセージ２１４Ｂを転送する。
【００５０】
[0056]ネットワークデバイス２０８は、ネットワークデバイス２１０からメッセージ２１４Ｂを受信する。ネットワークデバイス２０８は、受信されたメッセージ２１４Ｂ内の送信元識別子が、ネットワークデバイス２０８と直接的に接続された下流ネットワークデバイス２１０のデバイス識別子と一致する（たとえば、ＳＴＥＩ＝ＨＳＴＡ−１）と決定する。したがって、ネットワークデバイス２１０は、ＰＬＣネットワーク２００内でメッセージ２１４Ｂを転送することを決定する。ネットワークデバイス２０６は、その後のＰＬＣネットワーク２００内での転送のためにメッセージ２１４Ｃを生成するように、メッセージ２１４Ｂのフレーム制御フィールド内の情報を更新する。受信されたメッセージ２１４Ｂ内の送信元識別子が、ネットワークデバイス２０８と直接的に接続された下流ネットワークデバイス２１０のデバイス識別子と一致するので、ネットワークデバイス２０８は、メッセージ２１４Ｂが以前にＰＬＣネットワーク２００内で送信されたと決定する。メッセージ２１４Ｃを形成するために、ネットワークデバイス２０８は、メッセージ２１４Ｃが以前にＰＬＣネットワーク２００内で転送されたことを示すために、あらかじめ定義された値を第１のフレーム制御フィールドに含める（たとえば、ＰＢＢ＝０ｘＦＦ）。ネットワークデバイス２０８はまた、ネットワークデバイス２０８が現在メッセージ２１４Ｃを転送していることを示すために、そのデバイス識別子をメッセージ２１４Ｂの第２のフレーム制御フィールドに含める（たとえば、ＢＬＥ＝ＰＣｏ−１）。ネットワークデバイス２０８は、メッセージ２１４Ｃ内の送信元識別子（たとえば、ＳＴＥＩ）と宛先識別子（たとえば、ＤＴＥＩ）とを変更しないことがある。したがって、図２に示されるように、メッセージ２１４ＣのＳＴＥＩフィールドはネットワークデバイス２１０のデバイス識別子を含み、ＤＴＥＩフィールドは、あらかじめ定義された転送識別子を含む。ネットワークデバイス２０８はまた、下流フィールド内のインジケータ（たとえば、ＤＳ＝０）に基づいて、中央コーディネータ２０２がメッセージ２１４Ｂを受信または生成しなかったと決定する。ネットワークデバイス２０６は、下流フィールド内のこのインジケータをメッセージ２１４Ｂからメッセージ２１４Ｃへと伝播させ得る。下流フィールド内のインジケータ（たとえば、ＤＳ＝０）に基づいて、ネットワークデバイス２０８は、上流経路を介してメッセージ２１４Ｃを転送することを決定し得る。ネットワークデバイス２０８は、その転送テーブルにアクセスし、ネットワークデバイス２０８が上流経路内で中央コーディネータと直接的に接続されていると決定することができる。言い換えれば、ネットワークデバイス２０８は、ネットワークデバイス２０８が１つの通信ホップまたは１つの通信リンクを介して中央コーディネータと接続されていると決定し得る。したがって、ネットワークデバイス２０８は、上流経路を介して中央コーディネータ２０２にメッセージ２１４Ｃを転送する。
【００５１】
[0057]中央コーディネータ２０２は、ネットワークデバイス２０８からメッセージ２１４Ｃを受信する。中央コーディネータ２０２は、受信されたメッセージ２１４Ｃの第２のフレーム制御フィールドが、中央コーディネータ２０２と直接的に接続された下流ネットワークデバイス２０８のデバイス識別子と一致する（たとえば、ＢＬＥ＝ＰＣｏ−１）と決定する。したがって、中央コーディネータ２０２は、ＰＬＣネットワーク２００内でメッセージ２１４Ｃを転送することを決定する。中央コーディネータ２０２は、その後のＰＬＣネットワーク２００内での転送のためにメッセージ２１４Ｄを生成するように、メッセージ２１４Ｃのフレーム制御フィールド内の情報を更新する。中央コーディネータ２０２は、中央コーディネータ２０２がメッセージを受信したことを示すように下流フィールドを更新する。図２の例では、中央コーディネータ２０２は、メッセージ２１４Ｄ内でＤＳ＝１を設定する。さらに、受信されたメッセージ２１４Ｂの第２のフレーム制御フィールドが、中央コーディネータ２０２と直接的に接続された下流ネットワークデバイス２０８のデバイス識別子と一致するので、中央コーディネータ２０２は、メッセージが以前にＰＬＣネットワーク２００内で送信されたと決定する。したがって、中央コーディネータ２０２は、メッセージ２１４Ｄが以前にＰＬＣネットワーク２００内で転送されたことを示すために、メッセージ２１４Ｄが、あらかじめ定義された値を第１のフレーム制御フィールドに含む（たとえば、ＰＢＢ＝０ｘＦＦ）ことを保証し得る。中央コーディネータ２０２は、メッセージが以前にＰＬＣネットワーク２００内で転送されたことを示すために、および中央コーディネータ２０２が現在メッセージ２１４Ｄを転送していることを示すために、そのデバイス識別子をメッセージ２１４Ｄの第２のフレーム制御フィールドにも含み得る（たとえば、ＢＬＥ＝ＣＣｏ）。中央コーディネータ２０２は、メッセージ２１４Ｄ内の送信元識別子と宛先識別子とを変更しないことがある。したがって、図２に示されるように、メッセージ２１４ＤのＳＴＥＩフィールドはネットワークデバイス２１０のデバイス識別子を含み、ＤＴＥＩフィールドは、あらかじめ定義された転送識別子を含む。メッセージ２１４Ｄを形成した後、中央コーディネータ２０２は、その転送テーブルにアクセスし、中央コーディネータ２０２と直接的に接続されている下流ネットワークデバイスを識別し得る。図２の例では、中央コーディネータ２０２は、ネットワークデバイス２０６および２０８が下流経路内で中央コーディネータ２０２と直接的に接続されていると決定する。したがって、中央コーディネータ２０２は、メッセージ２１４Ｄをネットワークデバイス２０６および２０８に転送する。
【００５２】
[0058]ネットワークデバイス２０６は、中央コーディネータ２０２からメッセージ２１４Ｄを受信する。ネットワークデバイス２０６は、受信されたメッセージ２１４Ｄの第２のフレーム制御フィールドが、ネットワークデバイス２０６と直接的に接続された上流ネットワークデバイス２０２のデバイス識別子と一致する（たとえば、ＢＬＥ＝ＣＣｏ）と決定する。したがって、ネットワークデバイス２０６は、ＰＬＣネットワーク２００内でメッセージ２１４Ｄを転送することを決定する。ネットワークデバイス２０６は、その後のＰＬＣネットワーク２００内での転送のためにメッセージ２１４Ｅを生成するように、メッセージ２１４Ｄのフレーム制御フィールド内の情報を更新する。受信されたメッセージ２１４Ｄの第２のフレーム制御フィールドが上流ネットワークデバイス２０２のデバイス識別子と一致するので、ネットワークデバイス２０６は、メッセージ２１４Ｄが以前にＰＬＣネットワーク２００内で送信されたと決定する。したがって、ネットワークデバイス２０６は、メッセージが以前にＰＬＣネットワーク２００内で転送されたことを示すために、メッセージ２１４Ｅが、あらかじめ定義された値を第１のフレーム制御フィールドに含む（たとえば、ＰＢＢ＝０ｘＦＦ）ことを保証し得る。ネットワークデバイス２０６はまた、ネットワークデバイス２０６が現在メッセージ２１４Ｅを転送していることを示すために、そのデバイス識別子をメッセージ２１４Ｅの第２のフレーム制御フィールドに含める（たとえば、ＢＬＥ＝ＰＣｏ−２）。ネットワークデバイス２０６は、メッセージ２１４Ｅ内の送信元識別子と宛先識別子とを変更しないことがある。したがって、図２に示されるように、メッセージ２１４ＥのＳＴＥＩフィールドはネットワークデバイス２１０のデバイス識別子を含み、ＤＴＥＩフィールドは、あらかじめ定義された転送識別子を含む。ネットワークデバイス２０６はまた、下流フィールド内のインジケータ（たとえば、ＤＳ＝１）に基づいて、中央コーディネータ２０２がメッセージ２１４Ｄを受信した（または生成した）と決定する。ネットワークデバイス２０６は、下流フィールド内のこのインジケータをメッセージ２１４Ｄからメッセージ２１４Ｅへと伝播させ得る。下流フィールド内のインジケータ（たとえば、ＤＳ＝１）に基づいて、ネットワークデバイス２０６は、ＰＬＣネットワーク２００の下流経路を介してメッセージ２１４Ｅを転送し、ＰＬＣネットワーク２００の上流経路を介してメッセージ２１４Ｅを転送しないことを決定する。ネットワークデバイス２０６は、その転送テーブルにアクセスし、ネットワークデバイス２０６が下流経路を介してネットワークデバイス２０４と直接的に接続されていると決定し得る。したがって、ネットワークデバイス２０６は、下流経路を介してネットワークデバイス２０４にメッセージ２１４Ｅを転送する。
【００５３】
[0059]ネットワークデバイス２０４は、ネットワークデバイス２０６からメッセージ２１４Ｅを受信する。ネットワークデバイス２０４は、受信されたメッセージ２１４Ｅの第２のフレーム制御フィールドが、ネットワークデバイス２０４と直接的に接続された上流ネットワークデバイス２０６のデバイス識別子と一致する（たとえば、ＢＬＥ＝ＰＣｏ−２）と決定する。したがって、ネットワークデバイス２０４は、ＰＬＣネットワーク２００内でメッセージ２１４Ｅを転送することを決定する。ネットワークデバイス２０６はまた、受信されたメッセージ２１４Ｅの下流フィールドを読み取り、中央コーディネータ２０２が以前にメッセージ２１４Ｅを転送したと決定し得る（たとえば、ＤＳ＝１）。下流フィールド内のこのインジケータは、中央コーディネータ２０２がＰＬＣネットワークの別のネットワークデバイスからメッセージを受信した、異なる通信ネットワークの別のネットワークデバイスからメッセージを受信した、またはメッセージ２１４Ｅを生成したことを示し得る。したがって、ネットワークデバイス２０４は、ＰＬＣネットワーク２００の下流経路を介してメッセージ２１４Ｅを転送することを決定する。転送テーブルに基づいて、ネットワークデバイス２０４は、ネットワークデバイス２０４はＰＬＣネットワーク２００内の別の下流ネットワークデバイスと直接的に接続されていないと決定し得る。しかしながら、ネットワークデバイス２０４は、イーサネットデバイス２２４がネットワークデバイス２０４と接続されていると決定し得る。いくつかの実施形態では、ネットワークデバイス２０４は、イーサネットデバイス２２４（たとえば、ＰＣ−２）に転送するためにイーサネットメッセージ２１４Ｇを生成するように、受信されたメッセージ２１４Ｅの１つまたは複数のフィールドを更新し得る。他の実施形態では、ネットワークデバイス２０４は、ペイロードと他の適切な情報（たとえば、送信元識別子、宛先識別子など）とを新しいイーサネットメッセージ２１４Ｇに含み得る。メッセージ２１４Ｇは、イーサネットデバイス２２２のデバイス識別子を送信元アドレスフィールドに（たとえば、ＳＡ＝ＰＣ−１）、あらかじめ定義された転送識別子を宛先アドレスフィールド（たとえば、ＤＡ＝転送）に含む。ネットワークデバイス２０４は、メッセージ２１４ＧをＰＬＣネットワーク２００からイーサネット２２０のイーサネットデバイス２２４に転送する。イーサネットデバイス２２４は、引き続きメッセージ２１４Ｇを、イーサネット２２０内の他のネットワークデバイスに、および／または他の適切な通信ネットワークに転送し得る。図２には示されていないが、メッセージ２１４Ｂ、２１４Ｃ、２１４Ｄ、２１４Ｅ、および２１４Ｆは、送信元アドレスフィールド（たとえば、ＳＡ＝ＰＣ−１）と宛先アドレスフィールド（たとえば、ＤＡ＝転送）も含み得ることが留意される。上記で説明されたように、一実装形態では、ＳＴＥＩ、ＤＴＥＩ、ＰＢＢ、ＢＬＥ、およびＤＳは、メッセージのフレーム制御フィールドの一部であってよい。ＤＡはメッセージのＭＡＣ宛先アドレスフィールドの一部であってよく、ＳＡはメッセージのＭＡＣ送信元アドレスフィールドの一部であってよい。
【００５４】
[0060]ネットワークデバイス２０８は、中央コーディネータ２０２からメッセージ２１４Ｄを受信する。ネットワークデバイス２０８は、受信されたメッセージ２１４Ｄの第２のフレーム制御フィールドが、ネットワークデバイス２０６と直接的に接続された上流ネットワークデバイス２０２のデバイス識別子と一致する（たとえば、ＢＬＥ＝ＣＣｏ）と決定する。したがって、ネットワークデバイス２０８は、ＰＬＣネットワーク２００内でメッセージ２１４Ｄを転送することを決定する。ネットワークデバイス２０８は、受信されたメッセージ２１４Ｄの下流フィールド（たとえば、ＤＳ＝１）を読み取り、中央コーディネータ２０２がメッセージ２１４Ｄを受信または生成したと決定し得る。したがって、ネットワークデバイス２０８は、ＰＬＣネットワーク２００の下流経路を介してメッセージ２１４Ｄを転送し、ＰＬＣネットワーク２００の上流経路を介してメッセージ２１４Ｄを転送しないことを決定する。ネットワークデバイス２０８は、その転送テーブルにアクセスし、ネットワークデバイス２０８と直接的に接続されている下流ネットワークデバイスを識別し得る。図２の例に関して、ネットワークデバイス２０８は、ネットワークデバイス２０８が、隠されたネットワークデバイス２１０および２１２のためのプロキシネットワークデバイスとして動作すると決定する。ネットワークデバイス２０８は、次いで、メッセージ２１４Ｄを下流ネットワークデバイス２１０および２１２に転送するべきかどうかを決定し得る。このために、ネットワークデバイス２０８は、下流ネットワークデバイス２１０および２１２のデバイス識別子を、メッセージ２１４Ｄに含まれる送信元識別子と比較し得る。たとえば、ネットワークデバイス２０８は、ネットワークデバイス２１０および２１２のデバイス識別子をＳＴＥＩフィールド内の送信元識別子と比較し得る。この比較に基づいて、ネットワークデバイス２０８は、ネットワークデバイス２１０のデバイス識別子が、メッセージ２１４Ｄに含まれる送信元識別子と一致する（たとえば、ＳＴＥＩ＝ＨＳＴＡ−１）と決定する。ネットワークデバイス２０８は、ネットワークデバイス２１０がメッセージ２１４Ｄを生成した、または別の通信ネットワークからメッセージを受信したと決定する。したがって、ネットワークデバイス２０８は、メッセージ２１４Ｄを下流ネットワークデバイス２１０に転送しないことを決定する。代わりに、ネットワークデバイス２０８は、メッセージ２１４Ｄを下流ネットワークデバイス２１２にのみ転送することを決定する。ネットワークデバイス２０８は、その後のＰＬＣネットワーク２００内での転送のためにメッセージ２１４Ｆを生成するように、メッセージ２１４Ｄのフレーム制御フィールド内の情報を更新する。受信されたメッセージ２１４Ｄの第２のフレーム制御フィールドが上流ネットワークデバイス２０２のデバイス識別子と一致するので、ネットワークデバイス２０８は、メッセージ２１４Ｄが以前にＰＬＣネットワーク２００内で転送されたと決定する。したがって、ネットワークデバイス２０８は、メッセージが以前にＰＬＣネットワーク２００内で転送されたことを示すために、メッセージ２１４Ｆの第１のフレーム制御フィールドが、あらかじめ定義された値（たとえば、ＰＢＢ＝０ｘＦＦ）を含むことを保証し得る。ネットワークデバイス２０８はまた、ネットワークデバイス２０８が現在メッセージ２１４Ｆを転送していることを示すために、そのデバイス識別子をメッセージ２１４Ｆの第２のフレーム制御フィールドに含める（たとえば、ＢＬＥ＝ＰＣｏ−１）。さらに、メッセージ２１４Ｆは、中央コーディネータ２０２が以前にメッセージを転送したことを示し得る（たとえば、ＤＳ＝１）。次いで、ネットワークデバイス２０８は、ネットワークデバイス２１２にメッセージ２１４Ｆを送信する。しかしながら、上記で説明されたように、ネットワークデバイス２０８は、ネットワークデバイス２１０にメッセージ２１４Ｆを送信しないことがある（「Ｘ」インジケータによって表される）。
【００５５】
[0061]ネットワークデバイス２１２は、ネットワークデバイス２０８からメッセージ２１４Ｆを受信する。ネットワークデバイス２１２は、受信されたメッセージ２１４Ｆの第２のフレーム制御フィールドが、ネットワークデバイス２１２と直接的に接続された上流ネットワークデバイス２０８のデバイス識別子と一致する（たとえば、ＢＬＥ＝ＰＣｏ−１）と決定する。ネットワークデバイス２１２はまた、受信されたメッセージ２１４Ｆの下流フィールド内のインジケータ（たとえば、ＤＳ＝１）に基づいて、中央コーディネータ２０２がメッセージ２１４Ｆを受信したまたは生成したと決定する。したがって、ネットワークデバイス２１２は、下流経路を介してメッセージ２１４Ｆを転送することを決定し得る。しかしながら、転送テーブルにアクセスした後、ネットワークデバイス２１２は、ネットワークデバイス２１２はＰＬＣネットワーク２００の別の下流ネットワークデバイスと直接的に接続されていないと決定し得る。メッセージ２１４Ｆを処理した後、ネットワークデバイス２１２は、メッセージ２１４Ｆを破棄し、ＰＬＣネットワーク２００内でメッセージを転送しないことを決定し得る。
【００５６】
[0062]図２は、イーサネットデバイス２２２がネットワーク２００および２２０内で転送するためにメッセージを生成することを示しているが、他の実施形態では、任意の適切なネットワークデバイスが、ＰＬＣネットワーク２００内で転送されるメッセージを生成してよい。たとえば、ネットワークデバイス２０６が、ＰＬＣネットワーク２００内で送信するためにメッセージを生成してよい。ネットワークデバイス２０６は、上流経路を介して中央コーディネータ２０２にメッセージを送信してよい。次いで、中央コーディネータ２０２が、下流経路を介してネットワークデバイス２０６および２０８にメッセージを転送（または反復）してよい。ネットワークデバイス２０６は、下流経路を介してネットワークデバイス２１０および２１２にメッセージをさらに転送してよく、ネットワークデバイス２０８は、下流経路を介してネットワークデバイス２０４にメッセージをさらに転送してよい。より一般的には、メッセージ（たとえば、ブロードキャストメッセージまたはマルチキャストメッセージ）は、最初に、通信ネットワークの上流経路を介して中央コーディネータに転送される。中央コーディネータがメッセージを受信した後、メッセージは、通信ネットワークの下流経路を介して葉ネットワークデバイスに転送される。各段階において、ネットワークデバイスは、受信されたメッセージの下流フィールド内のインジケータに基づいて、上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定し得る。そのうえ、ネットワークデバイスは、受信されたメッセージ内の送信元識別子（または転送デバイス識別子）が、ネットワークデバイスと直接的に接続されている別のネットワークデバイスのデバイス識別子と一致するかどうかに応じて、メッセージを転送するべきかメッセージを破棄するべきかを決定し得る。
【００５７】
[0063]いくつかの実施形態では、図２に関して示されるように、プロキシネットワークデバイス２０６は、１つの通信ホップまたは１つの通信リンクを介して中央コーディネータ２０２と接続され得る。しかしながら、他の実施形態では、プロキシネットワークデバイス２０６は、中央コーディネータ２０２と直接的に接続されないことがある。代わりに、プロキシネットワークデバイスは、隠されたネットワークデバイスでもあることがあり、中央コーディネータ２０２を検出することができないことがある。この実施形態では、プロキシネットワークデバイス２０６（「下位レベルプロキシネットワークデバイス」）は、下位レベルプロキシネットワークデバイスと中央コーディネータ２０２との間の通信を可能にする上位レベルプロキシネットワークデバイスを有することがある。下位レベルプロキシネットワークデバイスの転送テーブルは、上位レベルプロキシネットワークデバイスが上流経路を介して下位レベルプロキシネットワークデバイスと直接的に接続されていることを示すことができる。転送テーブルは、隠されたネットワークデバイスが下流経路を介して下位レベルプロキシネットワークデバイスと直接的に接続されていることを示すことができる。
【００５８】
[0064]図３は、通信ネットワーク内でメッセージを転送するためのネットワークデバイスの例示的な動作を示す流れ図（フロー）３００である。フロー３００は、ブロック３０２で始まる。
【００５９】
[0065]ブロック３０２では、第１のネットワークデバイスが、通信ネットワーク内で転送するためにメッセージを受信する。このメッセージは、ブロードキャストメッセージまたはマルチキャストメッセージであってよい。いくつかの実施形態では、第１のネットワークデバイスは、同じ通信ネットワークの第２のネットワークデバイスからメッセージを受信し得る。図２の例を参照すると、ネットワークデバイス２０８は、ＰＬＣネットワーク２００内で転送するためにネットワークデバイス２１０によって生成されたメッセージを受信し得る。別の実施形態では、第１のネットワークデバイスは、異なる通信ネットワークの第２のネットワークデバイスからメッセージを受信し得る。図２の例を参照すると、ネットワークデバイス２０８は、ＰＬＣネットワーク２００内で転送するためにイーサネット２００のイーサネットデバイス２２２からメッセージ２１４Ａを受信し得る。さらに別の実施形態では、第１のネットワークデバイスは、通信ネットワーク内で送信するためにメッセージを生成し得る。たとえば、ネットワークデバイス２０８は、ＰＬＣネットワーク２００内でブロードキャストするためにメッセージを生成し得る。フローはブロック３０４に進む。
【００６０】
[0066]ブロック３０４では、第１のネットワークデバイスは、メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、通信ネットワーク内でメッセージを転送するべきかどうかを決定する。一実施形態では、転送ユニットは、受信されたメッセージ内のデバイス識別子を、第１のネットワークデバイスと直接的に接続されている各ネットワークデバイスのデバイス識別子と比較することができる。メッセージ内で受信されたデバイス識別子は、第１のネットワークデバイスにメッセージを送信した別のネットワークデバイスの送信元識別子またはデバイス識別子（「転送デバイス識別子」）を含むことがある。第１のネットワークデバイスに関連付けられた転送テーブルは、上流経路を介して第１のネットワークデバイスと直接的に接続されている上流ネットワークデバイスのデバイス識別子を含む上流データエントリを含み得る。上流ネットワークデバイスは、中央コーディネータまたは上位レベルプロキシネットワークデバイスであってよい。第１のネットワークデバイスに関連付けられた転送テーブルは、下流経路を介して第１のネットワークデバイスと直接的に接続されている各下流ネットワークデバイスのための下流データエントリを含み得る。下流ネットワークデバイスは、第１のネットワークデバイスがプロキシネットワークデバイスとして動作する隠されたネットワークデバイスであってよい。一例では、転送ユニットは、受信されたメッセージ内のデバイス識別子（たとえば、送信元識別子または転送デバイス識別子）を、第１のネットワークデバイスと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較することができる。別の例として、転送ユニットは、受信されたメッセージ内のデバイス識別子（たとえば、送信元識別子または転送デバイス識別子）を、第１のネットワークデバイスと直接的に接続されている上流ネットワークデバイスのデバイス識別子と比較することができる。各例において、受信されたメッセージ内のデバイス識別子が、第１のネットワークデバイスと直接的に接続されている別のネットワークデバイスのデバイス識別子と一致する場合、転送ユニットは、通信ネットワーク内でメッセージを転送することを決定し得る。しかしながら、各例において、受信されたメッセージ内のデバイス識別子が、第１のネットワークデバイスと直接的に接続されている別のネットワークデバイスのデバイス識別子と一致しない場合、転送ユニットは、通信ネットワーク内でメッセージを転送しないことがある。メッセージを転送することが決定された場合、フローはブロック３０６に進む。そうでない場合、フローはブロック３１０に進む。
【００６１】
[0067]ブロック３０６では、第１のネットワークデバイスは、メッセージの第２のあらかじめ定義されたフィールド内のインジケータを決定し、この第２のあらかじめ定義されたフィールドは、中央コーディネータが以前にメッセージを転送したかどうかを示す。図２の例を参照すると、各メッセージは、中央コーディネータ２０２が以前にメッセージを転送したかどうかを示す下流フィールド（すなわちＤＳフィールド）を含み得る。たとえば、下流フィールドは、中央コーディネータ２０２が同じ通信ネットワークの別のネットワークデバイスからメッセージを受信したかどうか、中央コーディネータ２０２が異なる通信ネットワークの別のネットワークデバイスからメッセージを受信したかどうか、中央コーディネータ２０２が通信ネットワーク内で送信するためにメッセージを生成したかどうかなどを示すことができる。図２では、ネットワークデバイス２０８によって受信されるメッセージ２１４Ｂは、第１のインジケータを下流フィールドに含む（たとえば、ＤＳ＝０）。第１のインジケータは、中央コーディネータ２０２がメッセージ２１４Ｂを受信または生成していないことを示すことができる。別の例として、ネットワークデバイス２０６によって受信されるメッセージ２１４Ｄは、第２のインジケータを下流フィールドに含む（たとえば、ＤＳ＝１）。第２のインジケータは、中央コーディネータ２０２がメッセージ２１４Ｄを受信または生成したことを示すことができる。ネットワークデバイスは、第２のあらかじめ定義されたフィールド内のインジケータに少なくとも部分的に基づいて、通信ネットワーク内でメッセージをどのようにして転送するかを決定し得る。フローはブロック３０８に進む。
【００６２】
[0068]ブロック３０８では、第１のネットワークデバイスが、第２のあらかじめ定義されたフィールド内のインジケータに少なくとも部分的に基づいて、通信ネットワーク内の中央コーディネータに対して上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定する。上記で説明されたように、第２のあらかじめ定義されたフィールドは、中央コーディネータが以前にメッセージを転送したかどうかを示すことができる。たとえば、転送ユニット１１０は、第２のあらかじめ定義されたフィールド（たとえば、下流フィールド）内のインジケータに少なくとも部分的に基づいて、メッセージをどのようにして転送するかを決定する。一例では、下流フィールドが第１のインジケータを含む（たとえば、ＤＳ＝０）場合、転送ユニット１１０は、中央コーディネータ２０２はメッセージを受信または生成していないと決定し得る。転送ユニット１１０は、通信ネットワークの上流経路を介してメッセージを送信することを決定し得る。しかしながら、下流フィールドが第２のインジケータを含む（たとえば、ＤＳ＝１）場合、転送ユニット１１０は、中央コーディネータ２０２が以前にメッセージを受信または生成したと決定し得る。この例では、転送ユニット１１０は、通信ネットワークの下流経路を介してメッセージを送信することを決定し得る。
【００６３】
[0069]図５および図６でさらに説明されるように、下流フィールドが第１のインジケータを含む場合、転送ユニット１１０は、上流経路内で第１のネットワークデバイスと直接的に接続された上位レベルプロキシネットワークデバイスまたは中央コーディネータを識別し得る。上記で図２に関して説明されたように、転送ユニット１１０は、受信されたメッセージのフレーム制御フィールド内の情報を更新し得る。次いで、転送ユニット１１０は、結果として生じるメッセージを上位レベルプロキシネットワークデバイスまたは中央コーディネータに送信し得る。しかしながら、図５および図６でさらに説明されるように、下流フィールドが第２のインジケータを含む場合、転送ユニット１１０は、下流経路内でネットワークデバイスと直接的に接続されている追加ネットワークデバイスを識別し得る。具体的には、転送ユニット１１０は、第１のネットワークデバイスが隠されたネットワークデバイスのためのプロキシネットワークデバイスとして動作するかどうかを決定し得る。そうである場合、転送ユニット１１０は、受信されたメッセージ内の送信元識別子および隠されたネットワークデバイスに関連付けられたデバイス識別子に少なくとも部分的に基づいて、隠されたネットワークデバイスにメッセージを転送するべきかどうかを決定し得る。隠されたネットワークデバイスにメッセージを転送することが決定された場合、転送ユニット１１０は、上記で図２に関して説明されたように、受信されたメッセージのフレーム制御フィールド内の情報を更新し得る。転送ユニット１１０は、次いで、結果として生じるメッセージを隠されたネットワークデバイスに送信し得る。フローは、ブロック３０８から終了する。
【００６４】
[0070]ブロック３１０では、第１のネットワークデバイスが通信ネットワーク内でメッセージを転送しないことを決定した場合、メッセージは、第１のネットワークデバイスにおいて破棄される。上記で説明されたように、第１のネットワークデバイスは、受信されたメッセージ内のデバイス識別子（たとえば、送信元識別子または転送デバイス識別子）を、第１のネットワークデバイスと直接的に接続されている各ネットワークデバイスのデバイス識別子と比較し得る。一致が存在しない場合、第１のネットワークデバイスは、通信ネットワーク内でメッセージを処理または転送しないことを決定し得る。したがって、第１のネットワークデバイスは、メッセージを破棄し得る。フローは、ブロック３１０から終了する。
【００６５】
[0071]図４は、通信ネットワーク内でメッセージを転送するための中央コーディネータの例示的な動作を示す流れ図４００である。フロー４００は、ブロック４０２で始まる。
【００６６】
[0072]ブロック４０２では、中央コーディネータが、通信ネットワーク内で転送するためにメッセージを受信する。このメッセージは、ブロードキャストメッセージまたはマルチキャストメッセージであってよい。いくつかの実施形態では、中央コーディネータは、同じ通信ネットワークの別のネットワークデバイスからメッセージを受信し得る。図２の例を参照すると、中央コーディネータ２０２は、ＰＬＣネットワーク２００のネットワークデバイス２０８によって生成または転送されたメッセージを受信し得る。別の実施形態では、中央コーディネータ２０２は、ＰＬＣネットワーク２００内で送信するためにメッセージを生成し得る。別の実施形態では、第１の通信ネットワークの中央コーディネータは、第１の通信ネットワーク内で転送するために第２の通信ネットワークのネットワークデバイスからメッセージを受信し得る。たとえば、ＰＬＣネットワーク２００の中央コーディネータ２０２は、ＰＬＣネットワーク２００内で転送するためにイーサネット２２０のイーサネットデバイスからメッセージを受信し得る。フローはブロック４０４に進む。
【００６７】
[0073]ブロック４０４では、中央コーディネータは、メッセージ内の第１のあらかじめ定義されたフィールドに基づいて、通信ネットワーク内でメッセージを転送するべきかどうかを決定する。通信ネットワーク内で重複メッセージを受信および転送する確率を最小にするために、中央コーディネータ（たとえば、転送ユニット）は、通信ネットワーク内でメッセージを転送するべきかどうかを決定し得る。中央コーディネータは、受信されたメッセージからのデバイス識別子を、中央コーディネータと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較し得る。たとえば、中央コーディネータは、受信されたメッセージ内の送信元識別子を、中央コーディネータと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較することができる。別の例として、中央コーディネータは、受信されたメッセージ内の転送デバイス識別子を、中央コーディネータと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較することができる。一致が存在する場合、中央コーディネータは、通信ネットワーク内でメッセージを転送することを決定する。どうでない場合、中央コーディネータは、中央コーディネータがメッセージを意図せずに受信し、中央コーディネータはメッセージを受信するように指定されなかったと決定する。図２の例を参照すると、ネットワークデバイス２１０は、ネットワークデバイス２０８にメッセージ２１４Ｂを送信し得る。中央コーディネータ２０２は、メッセージ２１４Ｂを受信し得る。中央コーディネータ２０２は、メッセージ２１４Ｂ内の送信元識別子は、中央コーディネータと直接的に接続されている下流ネットワークデバイス２０６および２０８のデバイス識別子と一致しないと決定し得る。したがって、中央コーディネータ（たとえば、転送ユニット）は、中央コーディネータはメッセージ２１４Ｂを受信することが意図されなかったと決定し得る。別の例として、中央コーディネータ２０２は、ネットワークデバイス２０８からメッセージ２１４Ｃを受信し得る。中央コーディネータ２０２は、メッセージ２１４Ｃ内の（たとえば、ＢＬＥフィールド内の）転送デバイス識別子が、中央コーディネータと直接的に接続されている下流ネットワークデバイス２０８のデバイス識別子と一致すると決定し得る。したがって、中央コーディネータ（たとえば、転送ユニット）は、通信ネットワーク内でメッセージ２１４Ｃを転送することを決定し得る。通信ネットワーク内でメッセージを転送することが決定された場合、フローはブロック４０６に進む。そうでない場合、フローはブロック４１０に進む。
【００６８】
[0074]ブロック４０６では、中央コーディネータは、中央コーディネータがメッセージを受信したことを示すためにメッセージ内にインジケータを含むように第２のあらかじめ定義されたフィールドを更新する。各メッセージは、中央コーディネータがメッセージを受信または生成したかどうかを示す下流フィールドを含み得る。中央コーディネータ２０２は、中央コーディネータ２０２がメッセージを受信または生成すると下流フィールドを更新し得る。図２の例を参照すると、ネットワークデバイス２０８から中央コーディネータ２０２に送信されるメッセージ２１４Ｃは、第１のインジケータを下流フィールドに含む（たとえば、ＤＳ＝０）。第１のインジケータは、中央コーディネータ２０２がメッセージ２１４Ｃを受信していないことを示すことができる。メッセージを受信した後、中央コーディネータ２０２は、第２のインジケータを含み、結果として生じるメッセージ２１４Ｄを生成するように、下流フィールドを更新する。第２のインジケータ（たとえば、ＤＳ＝１）は、中央コーディネータ２０２がメッセージ２１４Ｄを受信したことを示すことができる。次いで、中央コーディネータ２０２は、第２のインジケータを含むメッセージ２１４Ｄを、ＰＬＣネットワーク２００内の他のネットワークデバイス２０６および２０８に転送し得る。別の例として、中央コーディネータ２０２は、ＰＬＣネットワーク２００内で送信するためにメッセージを生成し得る。この例では、中央コーディネータ２０２は、メッセージをネットワークデバイス２０６および２０８に送信する前に、メッセージの下流フィールドに第２のインジケータを含み得る。フローはブロック４０８に進む。
【００６９】
[0075]ブロック４０８では、中央コーディネータは、下流経路を介して中央コーディネータと直接的に接続されているネットワークデバイスにメッセージを再送信する。中央コーディネータがメッセージを受信したことを示すためにメッセージ内に第２のインジケータを含めた後、中央コーディネータは、中央コーディネータと直接的に接続されている少なくとも１つの下流ネットワークデバイスを識別することができる。中央コーディネータは、次いで、識別されたネットワークデバイスに、第２のインジケータを含むメッセージを送信し得る。図２の例では、中央コーディネータ２０２は、ネットワークデバイス２０６および２０８が、１つの通信ホップまたは１つの通信リンクを介して下流経路内で中央コーディネータと接続されていると決定する。第２のインジケータを含む（たとえば、ＤＳ＝１）ように下流フィールドを更新した後、中央コーディネータ２０２は、結果として生じるメッセージ２１４Ｄをネットワークデバイス２０６および２０８に送信する。いくつかの実施形態では、中央コーディネータは、通信ネットワーク内で受信されたメッセージを転送し得る。この実施形態では、同様に上記で図２において説明されたように、中央コーディネータ２０２は、メッセージが以前に通信ネットワーク内で転送されたことを示すあらかじめ定義された値（たとえば、ＰＢＢ＝０ｘＦＦ）を含むように第１のフレーム制御フィールドも更新し得る。中央コーディネータは、そのデバイス識別子も第２のフレーム制御フィールドに含み得る（たとえば、ＢＬＥ＝ＣＣｏ）。他の実施形態では、中央コーディネータは、通信ネットワーク内で転送するためにメッセージを生成し得る。この実施形態では、中央コーディネータ２０２は、メッセージが以前に通信ネットワーク内で転送されなかったことを示すために、あらかじめ定義された値を第１のフレーム制御フィールドに含まない（たとえば、ＰＢＢ≠０ｘＦＦ）ことがある。中央コーディネータは、メッセージが以前に通信ネットワーク内で転送されなかったことを示すために、そのデバイス識別子を第２のフレーム制御フィールドに含まない（たとえば、ＢＬＥ≠ＣＣｏ）ことがある。中央コーディネータは、中央コーディネータがメッセージを生成したことを示すために、そのデバイス識別子を送信元識別子フィールドに含む（たとえば、ＳＴＥＩ＝ＣＣｏ）ことがある。フローは、ブロック４０８から終了する。
【００７０】
[0076]ブロック４１０では、中央コーディネータが、通信ネットワーク内でメッセージを転送しないことを決定した場合、メッセージは、中央コーディネータにおいて破棄される。上記で説明されたように、中央コーディネータは、受信されたメッセージ内のデバイス識別子（たとえば、送信元識別子または転送デバイス識別子）を、中央コーディネータと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較し得る。一致が存在しない場合、中央コーディネータは、通信ネットワーク内でメッセージを処理または転送しないことを決定し得る。したがって、中央コーディネータは、メッセージを破棄し得る。フローは、ブロック４１０から終了する。
【００７１】
[0077]図５および図６は、通信ネットワーク内でメッセージを転送するための例示的な動作を示す流れ図５００である。フロー５００は、図５のブロック５０２で始まる。
【００７２】
[0078]ブロック５０２では、第１のネットワークデバイスが、通信ネットワーク内でメッセージを転送することを決定する。このメッセージは、ブロードキャストメッセージまたはマルチキャストメッセージであってよい。いくつかの実施形態では、第１のネットワークデバイスは、通信ネットワーク内で送信するためにメッセージを生成し得る。別の実施形態では、第１のネットワークデバイスは、同じ通信ネットワークの第２のネットワークデバイスからメッセージを受信し得る。図２の例を参照すると、ネットワークデバイス２０６は、ＰＬＣネットワーク２００内で転送するためにネットワークデバイス２０４によって生成されたメッセージを受信し得る。別の実施形態では、第１のネットワークデバイスは、異なる通信ネットワークの第２のネットワークデバイスからメッセージを受信し得る。図２の例を参照すると、ネットワークデバイス２１０は、ＰＬＣネットワーク２００内で転送するためにイーサネットデバイス２２２からメッセージを受信し得る。いくつかの実施形態では、第１のネットワークデバイスは通信ネットワークの中央コーディネータであってよく、他の実施形態では、第１のネットワークデバイスは通信ネットワークの別の適切なデバイスであってよい。フローはブロック５０４に進む。
【００７３】
[0079]ブロック５０４では、第１のネットワークデバイスが通信ネットワークの中央コーディネータであるかどうかが決定される。転送するためにメッセージを受信する（または生成する）第１のネットワークデバイスが中央コーディネータである場合、フローはブロック５０６に進む。そうでない場合、フローはブロック５０８に進む。
【００７４】
[0080]ブロック５０６では、中央コーディネータは、中央コーディネータがメッセージを受信したことを示すようにメッセージのあらかじめ定義されたフィールドを更新する。上記で図２および図４に関して説明されたように、各メッセージは、中央コーディネータが以前にメッセージを受信したまたは最初にメッセージを生成したかどうかを示す下流フィールドを含み得る。メッセージ２１４Ｃを受信したことに応答して、中央コーディネータ２０２の転送ユニットは、中央コーディネータがメッセージを受信したことを示すために第１のインジケータを含む（たとえば、ＤＳ＝１）ように下流フィールドを更新し得る。代替的に、中央コーディネータが通信ネットワーク内で送信するためにメッセージを生成する場合、中央コーディネータは、生成されたメッセージの一部として下流フィールドに第１のインジケータを含み得る。さらに中央コーディネータは、上記で図２に関して説明されたように、結果として生じるメッセージ２１４Ｄを生成するように、受信されたメッセージ２１４Ｃの他のフレーム制御フィールドを更新し得る。フローはブロック５０８に進む。
【００７５】
[0081]ブロック５０８では、メッセージが、下流経路を介して第１のネットワークデバイスに直接的に接続されている別のネットワークデバイス（「下流ネットワークデバイス」）から受信されたかどうかが決定される。たとえば、転送ユニット１１０は、メッセージを転送するべきかどうかまたはメッセージを破棄するべきかどうかを決定し得る。メッセージが、第１のネットワークデバイスと直接的に接続されている下流ネットワークデバイスから受信された場合、転送ユニット１１０はメッセージを転送し得る。転送ユニット１１０は、メッセージが、第１のネットワークデバイスと直接的に接続されている下流ネットワークデバイスから受信されたかどうかを決定するために、様々な技法を使用し得る。たとえば、転送ユニット１１０は、受信されたメッセージ内の送信元識別子を、第１のネットワークデバイスと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較し得る。別の例として、転送ユニット１１０は、受信されたメッセージ内の転送デバイス識別子（たとえば、ＢＬＥフィールド）を、各下流ネットワークデバイスのデバイス識別子と比較し得る。送信元識別子または転送デバイス識別子が、第１のネットワークデバイスと直接的に接続されている任意の下流ネットワークデバイスのデバイス識別子と一致しない場合、メッセージが下流ネットワークデバイスから受信されなかったことが決定され、フローはブロック５１０に進む。そうではなく、メッセージが下流ネットワークデバイスから受信された場合、フローはブロック５１４に進む。
【００７６】
[0082]ブロック５１０では、メッセージが、上流経路を介して第１のネットワークデバイスに直接的に接続されている別のネットワークデバイス（「上流ネットワークデバイス」）から受信されたかどうかが決定される。たとえば、メッセージが、第１のネットワークデバイスと直接的に接続されている上流ネットワークデバイスから受信された場合、転送ユニット１１０は、通信ネットワーク内でメッセージを転送し得る。上記で説明されたように、転送ユニット１１０は、受信されたメッセージ内の送信元識別子または転送デバイス識別子を、上流ネットワークデバイスのデバイス識別子と比較し得る。送信元識別子または転送デバイス識別子が、第１のネットワークデバイスと直接的に接続されている上流ネットワークデバイスのデバイス識別子と一致しない場合、メッセージが上流ネットワークデバイスから受信されなかったことが決定される。このシナリオでは、転送ユニット１１０は、第１のネットワークデバイスはメッセージを受信することが意図されなかったと決定し得、フローはブロック５１２に進む。そうではなく、一致が存在する場合、フローはブロック５１４に進む。
【００７７】
[0083]ブロック５１２では、メッセージは、第１のネットワークデバイスにおいて破棄される。送信元識別子または転送デバイス識別子が、第１のネットワークデバイスと直接的に接続されている下流ネットワークデバイスのいずれのデバイス識別子とも一致しない場合、メッセージはネットワークデバイスに向けられなかったことが決定される。同様に、送信元識別子または転送デバイス識別子が、第１のネットワークデバイスと直接的に接続されている上流ネットワークデバイスのデバイス識別子と一致しない場合、メッセージがネットワークデバイスに向けられなかったことが決定される。これらのシナリオでは、転送ユニット１１０は、第１のネットワークデバイスにおいてメッセージをさらに処理（たとえば、復号）しないことを決定し得る。転送ユニット１１０は、通信ネットワーク内でメッセージを転送しないことも決定し得、メッセージを破棄し得る。フローは、ブロック５１２から終了する。
【００７８】
[0084]ブロック５１４では、中央コーディネータが以前にメッセージを転送したかどうかが決定される。通信ネットワーク内でメッセージを転送することを決定した（たとえば、ブロック５０８またはブロック５１０からの「はい」経路）後、第１のネットワークデバイスの転送ユニット１１０は、中央コーディネータがメッセージを受信した（または生成した）かどうかを決定し得る。このために、転送ユニット１１０は、受信されたメッセージの下流フィールド内のインジケータを決定し得る。たとえば、下流フィールドが第１のインジケータを含む（たとえば、ＤＳ＝０）場合、転送ユニット１１０は、中央コーディネータ２０２はメッセージを受信または生成していないと決定し得る。代替的に、下流フィールドが第２のインジケータを含む（たとえば、ＤＳ＝１）場合、転送ユニット１１０は、中央コーディネータがメッセージを受信または生成したと決定し得る。中央コーディネータが以前にメッセージを転送していない場合、フローはブロック５１６に進む。そうではなく、中央コーディネータが以前にメッセージを転送した場合、フローは図６のブロック５１８に進む。
【００７９】
[0085]ブロック５１６では、上流経路を介して第１のネットワークデバイスと直接的に接続されている上流ネットワークデバイスが識別される。第１のネットワークデバイスに関連付けられた転送テーブルは、一般に、１つの上流経路エントリを含む。上流経路エントリとしては、中央コーディネータのデバイス識別子または上位レベルプロキシネットワークデバイスのデバイス識別子を含み得る。デバイス識別子は、ＴＥＩ、ネットワークアドレス、ＭＡＣアドレス、またはネットワークデバイスを一意に識別する別の適切なデバイス識別子であってよい。いくつかの実施形態では、第１のネットワークデバイス（たとえば、ネットワークデバイス２０６）は、中央コーディネータ２０２を検出し得、中央コーディネータとの直接通信リンクを確立し得る。ネットワークデバイス２０６は、ネットワークデバイス２０６が上流経路を介して中央コーディネータ２０２と直接的に接続されていると決定し得る。この例では、中央コーディネータ２０２は、ネットワークデバイス２０６のための上流ネットワークデバイスであってよい。したがって、ネットワークデバイス２０６に関連付けられた転送テーブル内の上流経路エントリは、中央コーディネータのデバイス識別子を含み得る。別の実施形態では、第１のネットワークデバイス（たとえば、ネットワークデバイス２１０）は、中央コーディネータ２０２を検出しないことがあり、中央コーディネータ２０２との直接通信リンクを確立することができないことがある。この実施形態では、ネットワークデバイス２１０は、隠されたネットワークデバイスであり得る。ネットワークデバイス２１０は、ネットワークデバイス２０８を、中央コーディネータ２０２と間接的に通信するためのプロキシネットワークデバイスとして使用し得る。ネットワークデバイス２１０は、ネットワークデバイス２１０が上流経路を介してプロキシネットワークデバイス２０８と直接的に接続されていると決定し得る。この例では、プロキシネットワークデバイス２０８は、ネットワークデバイス２１０のための上流ネットワークデバイスであってよい。したがって、ネットワークデバイス２１０に関連付けられた転送テーブル内の上流経路エントリは、プロキシネットワークデバイス２０８のデバイス識別子を含み得る。フローは、図６のブロック５２６に進む。
【００８０】
[0086]ブロック５１８では、第１のネットワークデバイスが下流ネットワークデバイスと直接的に接続されているかどうかが決定される。一実施形態では、転送ユニット１１０は、第１のネットワークデバイスが通信ネットワーク内の１つまたは複数の隠されたネットワークデバイスのためのプロキシネットワークデバイスとして動作するかどうかを決定するために、ネットワークデバイスに関連付けられた転送テーブルにアクセスし得る。図２の例を参照すると、ネットワークデバイス２０８は、ネットワークデバイス２０８が、ネットワークデバイス２１０および２１２のためのプロキシネットワークデバイスとして動作すると決定し得る。この例では、ネットワークデバイス２１０および２１２は、ネットワークデバイス２０８と直接的に接続されている下流ネットワークデバイスであってよい。別の実施形態では、ネットワークデバイスが中央コーディネータである場合、転送ユニット１１０は、中央コーディネータとの直接通信リンクを確立したネットワークデバイスを識別し得る。図２の例を参照すると、中央コーディネータ２０２は、中央コーディネータ２０２がネットワークデバイス２０６および２０８との直接通信リンクを確立したと決定し得る。この例では、ネットワークデバイス２０６および２０８は、中央コーディネータ２０２のための下流ネットワークデバイスであってよい。ネットワークデバイスが、下流ネットワークデバイスと直接的に接続されている場合、フローはブロック５２０に進む。ネットワークデバイスが下流ネットワークデバイスと直接的に接続されていない場合、ネットワークデバイスは、通信ネットワーク内の「葉ノード」すなわち「終端ノード」である。ネットワークデバイスは、メッセージを処理し得るが、通信ネットワーク内でメッセージを再送信しなくてよい。ネットワークデバイスが下流ネットワークデバイスと直接的に接続されていない場合、フローは終了する。
【００８１】
[0087]ブロック５２０では、第１のネットワークデバイスと直接的に接続されている下流ネットワークデバイスが識別される。第１のネットワークデバイスに関連付けられた転送テーブルは、ネットワークデバイスと直接的に接続されている各下流ネットワークデバイスのための下流経路エントリを含み得る。各下流経路エントリは、対応する下流ネットワークデバイスの端末機器識別子（ＴＥＩ）、ネットワークアドレス、ＭＡＣアドレスなどの、デバイス識別子を含み得る。いくつかの実施形態では、第１のネットワークデバイス（たとえば、ネットワークデバイス２０８）は、隠されたネットワークデバイス２１０および２１２のためのプロキシネットワークデバイスとして動作し得る。この実施形態では、ネットワークデバイス２０８に関連付けられた転送テーブルは、ネットワークデバイス２１０に関連付けられた第１の下流経路エントリと、ネットワークデバイス２１２に関連付けられた第２の下流経路エントリとを含み得る。第１の下流経路エントリは、ネットワークデバイス２１０のデバイス識別子を含み得、第２の下流経路エントリは、ネットワークデバイス２１２のデバイス識別子を含み得る。別の実施形態では、第１のネットワークデバイスは、通信ネットワークの中央コーディネータであってよい。この実施形態では、第１のネットワークデバイスに関連付けられた転送テーブルは、中央コーディネータと直接的に接続されている各ネットワークデバイスのための下流経路エントリを含み得る。図２の例では、中央コーディネータ２０２に関連付けられた転送テーブルは、ネットワークデバイス２０６に関連付けられた第１の下流経路エントリと、ネットワークデバイス２０８に関連付けられた第２の下流経路エントリとを含み得る。フローはブロック５２２に進む。
【００８２】
[0088]ブロック５２２では、下流ネットワークデバイスが最初にメッセージを第１のネットワークデバイスに送信したかどうかが決定される。転送ユニット１１０は、メッセージに含まれる送信元識別子（たとえば、ＳＴＥＩ）を、転送テーブル内で示される下流ネットワークデバイスのデバイス識別子と比較し得る。たとえば、中央コーディネータ２０２からメッセージ２１４Ｄを受信した後、ネットワークデバイス２０８は、メッセージ２１４Ｄに含まれる送信元識別子を、下流ネットワークデバイス２１０および２１２のデバイス識別子と比較し得る。メッセージ２１４Ｄに含まれる送信元識別子が下流ネットワークデバイス２１０のデバイス識別子と一致する場合、ネットワークデバイス２０８は、下流ネットワークデバイス２１０がメッセージを生成したと決定し得る。下流ネットワークデバイスが通信ネットワーク内でメッセージを生成または最初に送信したかどうかを決定することによって、重複再送信の確率が最小にされ得る。下流ネットワークデバイスが最初にメッセージを送信した場合、フローはブロック５２４に進む。下流ネットワークデバイスがネットワークデバイスにメッセージを送信しなかった場合、フローはブロック５２６に進む。
【００８３】
[0089]ブロック５２４では、ネットワークデバイスと直接的に接続されている他の下流ネットワークデバイスにメッセージを再送信するべきかどうかが決定される。上記で図２の例に関して説明されたように、ネットワークデバイス２０８は、受信されたメッセージ２１４Ｄ内の送信元識別子を、下流ネットワークデバイス２１０および２１２の各々に関連付けられたデバイス識別子と比較し得る。送信元識別子およびデバイス識別子は各々、ＭＡＣアドレス、ＴＥＩ、ネットワークアドレス、またはネットワークデバイスを一意に識別する別の適切な識別子であってよい。メッセージ２１４Ｄ内の送信元識別子が下流ネットワークデバイス２１０のデバイス識別子と一致すると決定された場合、ネットワークデバイス２０８は、メッセージを下流ネットワークデバイス２１０に再送信しなくてよい。次いで、ネットワークデバイス２０８は、ネットワークデバイス２０８と直接的に接続されている追加下流ネットワークデバイスが存在するかどうかを決定し得る。この例では、ネットワークデバイス２０８は、メッセージを下流ネットワークデバイス２１２に再送信することを決定し得る。メッセージを他の下流ネットワークデバイスに再送信することが決定される場合、フローはブロック５２６に進む。そうではなく、追加下流ネットワークデバイスが存在しない場合、フローは終了する。
【００８４】
[0090]ブロック５２６では、メッセージが以前に通信ネットワーク内で送信されたかどうかが決定される。メッセージのフレーム制御フィールド内の様々なサブフィールドは、メッセージが以前に通信ネットワーク内で転送されたかどうかを示すために使用されてよい。上記で図２において説明された一例では、ＰＢＢフィールドおよびＢＬＥフィールドは、メッセージ（たとえば、ブロードキャストメッセージまたはマルチキャストメッセージ）が以前に通信ネットワーク内で転送されたことを示すために使用されてよい。ＰＢＢフィールドは、メッセージが以前に通信ネットワーク内で転送されたことを示すために、あらかじめ定義された値を含み得る。ＢＬＥフィールドは、通信ネットワーク内でメッセージを転送したネットワークデバイスに関連付けられたデバイス識別子を含み得、したがって、メッセージが以前に通信ネットワーク内で転送されたことを示し得る。図２の例では、メッセージ２１４Ｂは、あらかじめ定義された値をＰＢＢフィールドに含まず（たとえば、ＰＢＢ≠０ｘＦＦ）、送信ネットワークデバイス２１０のデバイス識別子をＢＬＥフィールドに含まない（たとえば、ＢＬＥ≠ＨＳＴＡ−１）。したがって、ネットワークデバイス２０８は、ネットワークデバイス２１０が、メッセージを送信するＰＬＣネットワーク２００内の最初のネットワークデバイスであり、メッセージは以前にＰＬＣネットワーク２００内で転送されなかったと決定し得る。別の例として、メッセージ２１４Ｄは、あらかじめ定義された値をＰＢＢフィールドに含み（たとえば、ＰＢＢ＝０ｘＦＦ）、中央コーディネータ２０２のデバイス識別子をＢＬＥフィールドに含む（たとえば、ＢＬＥ＝ＣＣｏ）。したがって、ネットワークデバイス２０６は、中央コーディネータ２０２は、メッセージを送信する最初のネットワークデバイスではなく、メッセージは以前にＰＬＣネットワーク２００内で転送されたと決定し得る。フローはブロック５２８に進む。
【００８５】
[0091]ブロック５２８では、第１のネットワークデバイスは、メッセージが以前に通信ネットワーク内で送信されたかどうかを示すようにメッセージ内の少なくとも１つのフィールドを更新する。いくつかの実施形態では、転送ユニットは、メッセージが以前に通信ネットワーク内で送信されたことを示すために、第１のあらかじめ定義された値を第１のフレーム制御フィールドに含み得る。転送ユニットはまた、メッセージが以前に通信ネットワーク内で（たとえば、別のネットワークデバイスによって）送信されたことを示すために、第１のネットワークデバイスのデバイス識別子を第２のフレーム制御フィールドに含み得る。図２の例を参照すると、ネットワークデバイス２０８は、メッセージ２１４Ｃを形成するように、受信されたメッセージ２１４Ｂの１つまたは複数のフィールドを更新する。メッセージ２１４Ｃを形成するために、ネットワークデバイス２０８は、メッセージ２１４Ｃが以前にＰＬＣネットワーク２００内で送信されたことを示すために、あらかじめ定義された値を第１のフレーム制御フィールドに含み得る（たとえば、ＰＢＢ＝０ｘＦＦ）。さらに、ネットワークデバイス２０８は、ネットワークデバイス２０８がＰＬＣネットワーク２００内でメッセージを再送信している（または転送している）ことを示すために、そのデバイス識別子を第２のフレーム制御フィールドに含み得る（たとえば、ＢＬＥ＝ＰＣｏ−１）。
【００８６】
[0092]他の実施形態では、メッセージが以前に通信ネットワーク内で送信されなかった場合、転送ユニットは、第１のあらかじめ定義された値を第１のフレーム制御フィールドに含まないことがあり、第１のネットワークデバイスのデバイス識別子を第２のフレーム制御フィールドに含まないことがある。図２の例を参照すると、ネットワークデバイス２１０は、ＰＬＣネットワーク２００内で転送するためにイーサネット２２０からメッセージ２１４Ａを受信する。ネットワークデバイス２１０は、メッセージ２１４Ｂを形成するように、受信されたメッセージ２１４Ａの１つまたは複数のフィールドを更新する。メッセージ２１４Ｂを生成するために、ネットワークデバイス２１０は、メッセージ２１４Ｂが以前にＰＬＣネットワーク２００内で送信されなかったことを示すために、第２のあらかじめ定義された値を第１のフレーム制御フィールドに含み得る（たとえば、ＰＢＢ≠０ｘＦＦ）。さらに、ネットワークデバイス２１０は、そのデバイス識別子を第２のフレーム制御フィールドに含まないことがある（たとえば、ＢＬＥ≠ＨＳＴＡ−１）。これは、ネットワークデバイス２１０が、メッセージ２１４Ｂを送信するＰＬＣネットワーク２００内で最初のネットワークデバイスであり、メッセージ２１４Ｂは以前にＰＬＣネットワーク２００内で送信されなかったことを示すことができる。フローはブロック５３０に進む。
【００８７】
[0093]ブロック５３０では、メッセージは、通信ネットワーク内の識別されたネットワークデバイスに送信される。転送ユニット１１０は、更新された情報をフレーム制御フィールドに含む（上記で説明された）メッセージを、通信ネットワークの上流経路または下流経路を介して１つまたは複数のネットワークデバイスに送信し得る。フローは、ブロック５３０から終了する。
【００８８】
[0094]図１〜図６は、実施形態を理解する助けとなることが意図された例であり、実施形態を制限するまたは特許請求の範囲を制限するために使用されるべきではないことを理解されたい。実施形態は、追加構成要素、異なる構成要素を備えてよく、および／または、追加動作を実行してもよいし、より少ない動作を実行してもよいし、動作を異なる順序で実行してもよいし、動作を並列に実行してもよいし、いくつかの動作を異なるように実行してもよい。例は、通信ネットワーク内でブロードキャストメッセージを再送信するための動作について説明しているが、実施形態はそのように制限されない。他の実施形態では、ネットワークデバイスは、通信ネットワーク内でマルチキャストメッセージを再送信するために類似の動作を実行してよい。
【００８９】
[0095]いくつかの実施形態では、図で説明されるように、ネットワークデバイスは、下流フィールドを最初にチェックし、上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定し、次いで、メッセージ内のデバイス識別子を、ネットワークデバイスと直接的に接続されている追加ネットワークデバイスのデバイス識別子と比較してよい。他の実施形態では、ネットワークデバイスは、最初に、メッセージ内のデバイス識別子を、ネットワークデバイスと直接的に接続されている各追加ネットワークデバイスのデバイス識別子と比較してよい。一致が存在する場合、ネットワークデバイスは、上流経路を介してメッセージを転送するべきか下流経路を介して転送するべきかを決定してよい。そうでない場合、ネットワークデバイスは、メッセージを破棄してよい。
【００９０】
[0096]例は、通信ネットワーク内でメッセージ（たとえば、ブロードキャストメッセージまたはマルチキャストメッセージ）を転送するべきかと、どのようにして転送するかとを決定するために、下流フィールド、ＢＬＥフィールド、ＰＢＢフィールド、および／またはＳＴＥＩフィールドを使用することに言及しているが、実施形態は、そのように限定されない。他の実施形態では、ネットワークデバイスは、メッセージを転送するべきかと、どのように転送するかとを決定するために、他の適切なフィールドを使用してよい。さらに、図は、第１のフレーム制御フィールド、第２のフレーム制御フィールド、および下流フィールドの例示的な値を提供しているが、実施形態はそのように制限されない。他の実施形態では、ネットワークデバイスは、メッセージが以前に通信ネットワーク内で転送されたかどうか、ネットワークデバイスが、通信ネットワーク内でメッセージを送信する最初のネットワークデバイスであるかどうか、中央コーディネータがメッセージを受信したかどうかなどを示すために、他の適切な値をメッセージの他の適切なフィールドに含むように構成されてよい。
【００９１】
[0097]当業者によって諒解されるように、本発明の主題の態様は、システム、方法、またはコンピュータプログラム製品として実施され得る。したがって、本発明の主題の態様は、完全にハードウェアの実施形態の形態を取ってもよいし、ソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）の形態を取ってもよいし、ソフトウェア態様とハードウェア態様とを組み合わせた一実施形態の形態を取ってもよく、これらはすべて、本明細書では一般に「回路」、「モジュール」、または「システム」と呼ばれ得る。そのうえ、本発明の主題の態様は、その上で実施されるコンピュータ可読プログラムコードを有する１つまたは複数のコンピュータ可読媒体内で実施されるコンピュータプログラム製品の形態を取ってよい。
【００９２】
[0098]１つまたは複数の非一時的なコンピュータ可読媒体の任意の組合せが利用されてよい。非一時的なコンピュータ可読媒体は、すべてのコンピュータ可読媒体を備え、唯一の例外は一時的な伝播信号である。非一時的なコンピュータ可読媒体はコンピュータ可読記憶媒体であってよい。コンピュータ可読記憶媒体は、たとえば、限定されるものではないが、電子システム、電子装置、電子デバイス、磁気システム、磁気装置、磁気デバイス、光学システム、光学装置、光学デバイス、電磁システム、電磁装置、電磁デバイス、赤外線システム、赤外線装置、赤外線デバイス、半導体システム、半導体装置、または半導体デバイス、または前述のものの任意の適切な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）としては、１つまたは複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、または前述のものの任意の適切な組合せがある。この文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、命令実行装置、または命令実行デバイスが使用するまたはこれに関連するためのプログラムを含むまたは記憶することができる任意の有形媒体であってよい。
【００９３】
[0099]本発明の主題の態様のための動作を実行するためにコンピュータ可読媒体上で実施されるコンピュータプログラムコードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語と「Ｃ」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語とを含む１つまたは複数のプログラミング言語の任意の組合せで記述されてよい。プログラムコードは、完全にユーザのコンピュータ上で実行されてもよいし、一部はユーザのコンピュータ上で実行されてもよいし、スタンドアロンソフトウェアパッケージとして実行されてもよいし、一部はユーザのコンピュータ上で、一部はリモートコンピュータ上で実行されてもよいし、完全にリモートコンピュータまたはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてよく、または接続は、（たとえば、インターネットサービスプロバイダを使用するインターネットを通じて）外部コンピュータに対してなされてよい。
【００９４】
[00100]本発明の主題の態様は、本発明の主題の実施形態による方法、装置（システム）、およびコンピュータプログラム製品の流れ図の説明および／またはブロック図に関して説明されている。流れ図の説明および／またはブロック図の各ブロック、ならびに流れ図の説明および／またはブロック図内のブロックの組合せは、コンピュータプログラム命令によって実施可能であることが理解されよう。これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、流れ図および／またはブロック図の１つまたは複数のブロック内で指定される機能／行為を実施するための手段を作り出すように、機械を生成するために汎用コンピュータ、特殊用途コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてよい。
【００９５】
[00101]これらのコンピュータプログラム命令はまた、特定の様式で機能するようにコンピュータ、他のプログラム可能データ処理装置、または他のデバイスに指示することができるコンピュータ可読媒体に記憶されてよく、したがって、コンピュータ可読媒体に記憶された命令は、流れ図および／またはブロック図の１つまたは複数のブロックで指定される機能／行為を実施する命令を含む製品を生成する。
【００９６】
[00102]コンピュータプログラム命令はまた、コンピュータにより実施されるプロセスを生成する目的でコンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実行させるためにコンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードされてよく、したがって、コンピュータまたは他のプログラム可能装置上で実行される命令は、流れ図および／またはブロック図の１つまたは複数のブロックで指定される機能／行為を実施するためのプロセスを提供する。
【００９７】
[00103]図７は、通信ネットワーク内でメッセージを転送するための機構を含む電子デバイス７００の一実施形態のブロック図である。いくつかの実装形態では、電子デバイス７００は、スタンドアロン電力線通信（ＰＬＣ）デバイスであってもよいし、電力線環境で接続された専用の電力線通信（ＰＬＣ）デバイスであってよい。別の実施形態では、電子デバイス７００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートアプライアンス、ゲームコンソール、テレビジョン、セットトップボックス、メディアプレーヤ、ウェアラブルデバイス、または電力線通信機能を含む別の電子デバイスのうち１つとすることができる。電子デバイス７００は、（場合によっては、複数のプロセッサを含む、複数のコアを含む、複数のノードを含む、および／またはマルチスレッドを実施する、などの）プロセッサユニット７０２を含む。電子デバイス７００はメモリユニット７０６を含む。メモリユニット７０６は、システムモリ（たとえば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロキャパシタＲＡＭ、Ｔｗｉｎ  Ｔｒａｎｓｉｓｔｏｒ  ＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ（登録商標）、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのうち１つまたは複数）であってもよいし、非一時的な機械可読な記憶媒体の上記ですでに説明された可能な実現物（realization）のうち任意の１つまたは複数であってもよい。電子デバイス７００は、バス７１０（たとえば、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、ＮｕＢｕｓ、ＡＨＢ、ＡＸＩなど）も含む。電子デバイス７００はネットワークインターフェース７０４も含み、ネットワークインターフェース７０４としては、ワイヤレスネットワークインターフェース（たとえば、ＷＬＡＮインターフェース、ブルートゥース（登録商標）インターフェース、ＷｉＭＡＸインターフェース、ＺｉｇＢｅｅ（登録商標）インターフェース、ワイヤレスＵＳＢインターフェースなど）および／またはワイヤードネットワークインターフェース（たとえば、ＰＬＣインターフェース、イーサネットインターフェースなど）がある。そのうえ、いくつかの実施形態では、電子デバイス７００は、ハイブリッド通信機能を実施するためのＩＥＥＥ規格１９０５．１プロトコルを実行することができる。
【００９８】
[00104]電子デバイス７００は通信ユニット７０８も含む。通信ユニット７０８は、転送ユニット７１２と、リンク確立ユニット７１４とを含む。リンク確立ユニット７１４は、電子デバイス７００と通信ネットワークの上流ネットワークデバイスおよび／または下流ネットワークデバイスとの間の通信リンクを確立することができる。通信ネットワーク内で転送するためにメッセージを受信したことに応答して、転送ユニット７１２は、受信されたメッセージのあらかじめ定義されたフィールド内のインジケータに少なくとも部分的に基づいて、中央コーディネータが以前にメッセージを受信したかどうかを決定することができる。上記で図１〜図６に関して説明されたように、中央コーディネータが以前にメッセージを受信（または生成）したかどうかに応じて、転送ユニット７１２は、電子デバイス７００に直接的に接続されている上流ネットワークデバイスにメッセージを再送信するべきか電子デバイス７００に直接的に接続されている下流ネットワークデバイスに再送信するべきかを決定することができる。いくつかの実施形態では、転送ユニット７１２は、メッセージを再送信するべきかメッセージを破棄するべきかを決定するために、受信されたメッセージ内の送信元識別子および／または転送デバイス識別子を、電子デバイスと直接的に接続されている各下流ネットワークデバイスのデバイス識別子と比較し得る。いくつかの実施形態では、転送ユニット７１２は、メッセージを再送信するべきかメッセージを破棄するべきかを決定するために、送信元識別子および／または転送デバイス識別子を、電子デバイスと直接的に接続されている上流ネットワークデバイスのデバイス識別子と比較し得る。
【００９９】
[00105]これらの機能のうち任意の機能は、一部は（または完全に）ハードウェア内でおよび／またはプロセッサユニット７０２上で実施されてよい。たとえば、機能は、特定用途向け集積回路とともに実施されてもよいし、プロセッサユニット７０２内で実施される論理内で実施されてもよいし、周辺デバイスまたはカード上のコプロセッサ内などで実施されてもよい。いくつかの実施形態では、通信ユニット７０８は各々、電子デバイス７００の通信を可能にするために、システムオンチップ（ＳｏＣ）、特定用途向け集積回路（ＡＳＩＣ）、または別の適切な集積回路上で実施可能である。いくつかの実施形態では、通信ユニット７０８は、追加プロセッサと追加メモリとを含んでよく、電子デバイス７００の１つまたは複数の回路基板上の１つまたは複数の集積回路内で実施されてよい。さらに、実現物は、より少ない構成要素を含んでもよいし、図７に示されていない追加構成要素（たとえば、ビデオカード、オーディオカード、追加ネットワークインターフェース、周辺デバイスなど）を含んでもよい。たとえば、バス７１０と結合されたプロセッサユニット７０２に加えて、通信ユニット７０８は少なくとも１つの追加プロセッサユニットを含んでよい。別の例として、バス７１０に結合されるように示されているが、メモリユニット７０６は、プロセッサユニット７０２に結合されてもよい。
【０１００】
[00106]実施形態は、様々な実装形態および利用に関して説明されているが、これらの実施形態は例であり、本発明の主題の範囲はこれらに限定されないことが理解されよう。一般に、本明細書で説明されたような通信ネットワーク内でメッセージを転送するための技法は、任意の１つまたは複数のハードウェアシステムと調和した設備とともに実施され得る。多数の変形、修正、追加、および改善が可能である。
【０１０１】
[00107]本明細書で単一のインスタンスとして説明される構成要素、動作、または構造に対して、複数のインスタンスが提供され得る。最後に、様々な構成要素、動作、およびデータストア間の境界はやや恣意的であり、特定の動作は特定の例示的構成の文脈で示されている。機能の他の割り当てが想定され、本発明の主題の範囲に含まれ得る。一般に、例示的な構成内で別個の構成要素として示される構造および機能は、組み合わされた構造または構成要素として実施されてよい。同様に、単一の構成要素として示される構造および機能は、別個の構成要素として実施されてよい。これらおよび他の変形、修正、追加、および改善は、本発明の主題の範囲に含まれ得る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
第１の通信ネットワーク内で転送するために第１のネットワークデバイスにおいてメッセージを受信することと、
前記メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記メッセージを転送するべきかどうかを決定することと、
前記メッセージを転送することを決定したことに応答して、前記メッセージ内の第２のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記第１の通信ネットワーク内の中央コーディネータに対して上流経路を介して前記メッセージを転送するべきか下流経路を介して転送するべきかを決定することと、ここにおいて、前記第２のあらかじめ定義されたフィールドは、前記中央コーディネータが以前に前記メッセージを転送したかどうかを示す、
を備える方法。
［Ｃ２］
前記上流経路を介して前記メッセージを転送するべきか前記下流経路を介して転送するべきかを前記決定することが、
前記第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、前記第１の通信ネットワーク内の前記下流経路を介して前記メッセージを転送することを決定することと、
前記第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、前記第１の通信ネットワーク内の前記上流経路を介して前記メッセージを転送することを決定することと
を備える、Ｃ１に記載の方法。
［Ｃ３］
前記第１のインジケータが、前記中央コーディネータが以前に前記第１の通信ネットワークの第２のネットワークデバイスから前記メッセージを受信したことを示す、または
前記第１のインジケータが、前記中央コーディネータが前記メッセージを生成したことを示す、
Ｃ２に記載の方法。
［Ｃ４］
前記第２のインジケータが、前記中央コーディネータが前記第１の通信ネットワークの第２のネットワークデバイスから前記メッセージを受信していないことを示す、または
前記第２のインジケータが、前記中央コーディネータが前記メッセージを生成しなかったことを示す、
Ｃ２に記載の方法。
［Ｃ５］
前記第１のネットワークデバイスから前記メッセージを転送するべきかどうかを決定することが、
前記第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、前記第１のネットワークデバイスと直接的に接続されている第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較することと、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子は前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致すると決定したことに応答して、前記第１の通信ネットワーク内で前記メッセージを転送することを決定することと、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子は前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致しないと決定したことに応答して、前記第１のネットワークデバイスにおいて前記メッセージを破棄することと
を備える、Ｃ１に記載の方法。
［Ｃ６］
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致すると決定したことに応答して、前記方法は、
前記第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、前記第１の通信ネットワークの前記下流経路を介して前記メッセージを送信することを決定することと、
前記第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、前記第１の通信ネットワークの前記上流経路を介して前記メッセージを送信することを決定することと
をさらに備える、Ｃ５に記載の方法。
［Ｃ７］
前記第１の通信ネットワークの前記上流経路を介して前記メッセージを送信することを決定したことに応答して、前記方法が、
前記第１のネットワークデバイスから前記第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスに前記メッセージを送信すること、ここにおいて、前記プロキシネットワークデバイスは、前記中央コーディネータに前記メッセージを転送するように構成される、または
前記第１のネットワークデバイスから前記中央コーディネータに直接的に前記メッセージを送信すること
をさらに備える、Ｃ１に記載の方法。
［Ｃ８］
前記第１の通信ネットワークの前記下流経路を介して前記メッセージを送信することを決定したことに応答して、前記方法が、
前記第１のネットワークデバイスが前記第１の通信ネットワークの第２のネットワークデバイスのためのプロキシネットワークデバイスであることを決定することと、
前記第２のネットワークデバイスに関連付けられたデバイス識別子と前記メッセージに含まれる送信元識別子とを比較することに少なくとも部分的に基づいて、前記第２のネットワークデバイスが前記メッセージを生成したかどうかを決定することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記第２のネットワークデバイスが前記メッセージを生成しなかったと決定したことに応答して、前記第１のネットワークデバイスから前記第２のネットワークデバイスに前記メッセージを送信することと、
前記第２のネットワークデバイスが前記メッセージを生成したと決定したことに応答して、前記第２のネットワークデバイスに前記メッセージを送信しないことを決定することと
をさらに備える、Ｃ８に記載の方法。
［Ｃ１０］
前記第１の通信ネットワークの第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、前記方法が、
前記第１のネットワークデバイスから前記第１の通信ネットワーク内の第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子を含むように前記メッセージの前記第１のあらかじめ定義されたフィールドを更新することと、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されたことを示すように前記メッセージの第３のあらかじめ定義されたフィールドを更新することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
第２の通信ネットワークの第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、前記方法が、
前記第１のネットワークデバイスから前記第１の通信ネットワーク内の第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子と異なる所定の値を含むように前記メッセージの前記第１のあらかじめ定義されたフィールドを更新することと、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されなかったことを示すように前記メッセージの第３のあらかじめ定義されたフィールドを更新することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１２］
前記第１の通信ネットワーク内で転送するために前記第１のネットワークデバイスにおいて前記メッセージを前記受信することが、
前記第１の通信ネットワークの第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信すること、
第２の通信ネットワークの第３のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信すること、または
前記第１のネットワークデバイスにおいて前記メッセージを生成すること
のうち１つを備える、Ｃ１に記載の方法。
［Ｃ１３］
通信ネットワーク内で転送するために前記通信ネットワークの中央コーディネータにおいてメッセージを受信することと、
前記メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記通信ネットワーク内で前記メッセージを転送するべきかどうかを決定することと、
前記メッセージを転送することを決定したことに応答して、
中央コーディネータが前記メッセージを受信したことを示すために前記メッセージ内に第１のインジケータを含むように第２のあらかじめ定義されたフィールドを更新することと、
前記第１のインジケータを含む前記メッセージを、前記中央コーディネータと直接的に接続されている第１のネットワークデバイスに送信することと
を備える方法。
［Ｃ１４］
前記メッセージを転送するべきかどうかを前記決定することが、
前記第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、下流ネットワークデバイスに関連付けられた第２のデバイス識別子と比較することと、ここにおいて、前記下流ネットワークデバイスが、前記通信ネットワークの下流経路を介して前記第１のネットワークデバイスと直接的に接続される、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記下流ネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致すると決定したことに応答して、前記メッセージを転送することを決定することと、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記下流ネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致しないと決定したことに応答して、前記中央コーディネータにおいて前記メッセージを破棄することと
を備える、Ｃ１３に記載の方法。
［Ｃ１５］
前記中央コーディネータとの直接通信リンクを確立した前記通信ネットワークの複数のネットワークデバイスを識別すること
をさらに備え、
ここにおいて、前記第１のインジケータを含む前記メッセージを前記第１のネットワークデバイスに前記送信することが、前記第１のインジケータを含む前記メッセージを、前記中央コーディネータとの前記直接通信リンクを確立した前記複数のネットワークデバイスに送信することを備える、
Ｃ１３に記載の方法。
［Ｃ１６］
前記通信ネットワーク内で転送するために前記中央コーディネータにおいて前記メッセージを受信することが、
前記通信ネットワークの第２のネットワークデバイスから前記中央コーディネータにおいて前記メッセージを受信すること、
別の通信ネットワークの第３のネットワークデバイスから前記中央コーディネータにおいて前記メッセージを受信すること、または
前記中央コーディネータにおいて前記メッセージを生成すること
のうち１つを備える、Ｃ１３に記載の方法。
［Ｃ１７］
プロセッサと、
前記プロセッサと結合された通信ユニットと、前記通信ユニットが、
第１の通信ネットワーク内で転送するためにメッセージを受信し、
前記メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記メッセージを転送するべきかどうかを決定し、
前記メッセージを転送することを決定したことに応答して、前記メッセージ内の第２のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記第１の通信ネットワーク内の中央コーディネータに対して上流経路を介して前記メッセージを転送するべきか下流経路を介して転送するべきかを決定する、ここにおいて、前記第２のあらかじめ定義されたフィールドは、前記中央コーディネータが以前に前記メッセージを転送したかどうかを示す、
ように構成される、
を備える第１のネットワークデバイス。
［Ｃ１８］
前記上流経路を介して前記メッセージを転送するべきか前記下流経路を介して転送するべきかを決定するように構成された前記通信ユニットが、
前記第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、前記第１の通信ネットワーク内の前記下流経路を介して前記メッセージを転送し、
前記第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、前記第１の通信ネットワーク内の前記上流経路を介して前記メッセージを転送する
ように構成された前記通信ユニットを備える、Ｃ１７に記載の第１のネットワークデバイス。
［Ｃ１９］
前記第１のインジケータが、前記中央コーディネータが以前に前記第１の通信ネットワークの追加ネットワークデバイスから前記メッセージを受信したことを示す、および
前記第２のインジケータが、前記中央コーディネータが前記第１の通信ネットワークの追加ネットワークデバイスから前記メッセージを受信していないことを示す、
Ｃ１８に記載の第１のネットワークデバイス。
［Ｃ２０］
前記メッセージを転送するべきかどうかを決定するように構成された前記通信ユニットが、
前記第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、前記第１のネットワークデバイスと直接的に接続されている第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較し、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致すると決定したことに応答して、前記第１の通信ネットワーク内で前記メッセージを転送することを決定し、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致しないと決定したことに応答して、前記第１のネットワークデバイスにおいて前記メッセージを破棄する
ように構成された前記通信ユニットを備える、Ｃ１７に記載の第１のネットワークデバイス。
［Ｃ２１］
前記第１の通信ネットワークの前記上流経路を介して前記メッセージを送信することを決定したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスから前記第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスに前記メッセージを送信する、ここにおいて、前記プロキシネットワークデバイスは、前記中央コーディネータに前記メッセージを転送するように構成される、または
前記第１のネットワークデバイスから前記中央コーディネータに直接的に前記メッセージを送信する
ようにさらに構成される、Ｃ１７に記載の第１のネットワークデバイス。
［Ｃ２２］
前記第１の通信ネットワークの前記下流経路を介して前記メッセージを送信することを決定したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスが前記第１の通信ネットワークの第２のネットワークデバイスのためのプロキシネットワークデバイスであることを決定し、
前記第２のネットワークデバイスに関連付けられたデバイス識別子と前記メッセージに含まれる送信元識別子とを比較することに少なくとも部分的に基づいて、前記第２のネットワークデバイスが前記メッセージを生成したかどうかを決定する
ようにさらに構成される、Ｃ１７に記載の第１のネットワークデバイス。
［Ｃ２３］
前記通信ユニットが、
前記第２のネットワークデバイスが前記メッセージを生成しなかったと決定したことに応答して、前記第１のネットワークデバイスから前記第２のネットワークデバイスに前記メッセージを送信し、
前記第２のネットワークデバイスが前記メッセージを生成したと決定したことに応答して、前記第２のネットワークデバイスに前記メッセージを送信しないことを決定する
ようにさらに構成される、Ｃ２２に記載の第１のネットワークデバイス。
［Ｃ２４］
前記第１の通信ネットワークの第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスから前記第１の通信ネットワーク内の第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子を含むように前記メッセージの前記第１のあらかじめ定義されたフィールドを更新し、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されたことを示すように前記メッセージの第３のあらかじめ定義されたフィールドを更新する
ようにさらに構成される、Ｃ１７に記載の第１のネットワークデバイス。
［Ｃ２５］
第２の通信ネットワークの第２のネットワークデバイスから前記第１のネットワークデバイスにおいて前記メッセージを受信したことに応答して、前記通信ユニットが、
前記第１のネットワークデバイスから前記第１の通信ネットワーク内の第３のネットワークデバイスに前記メッセージを送信する前に、
前記第１のネットワークデバイスに関連付けられたデバイス識別子と異なる所定の値を含むように前記メッセージの前記第１のあらかじめ定義されたフィールドを更新し、
前記メッセージが以前に前記第１の通信ネットワーク内で転送されなかったことを示すように前記メッセージの第３のあらかじめ定義されたフィールドを更新する
ようにさらに構成される、Ｃ１７に記載の第１のネットワークデバイス。
［Ｃ２６］
機械実行可能命令を記憶した非一時的な機械可読記憶媒体であって、前記機械実行可能命令が、
通信ネットワーク内で転送するために第１のネットワークデバイスにおいてメッセージを受信し、
前記メッセージ内の第１のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記メッセージを転送するべきかどうかを決定し、
前記メッセージを転送することを決定したことに応答して、前記メッセージ内の第２のあらかじめ定義されたフィールドに少なくとも部分的に基づいて、前記通信ネットワーク内の中央コーディネータに対して上流経路を介して前記メッセージを転送するべきか下流経路を介して転送するべきかを決定する、ここにおいて、前記第２のあらかじめ定義されたフィールドは、前記中央コーディネータが以前に前記メッセージを転送したかどうかを示す
命令を備える、非一時的な機械可読記憶媒体。
［Ｃ２７］
前記上流経路を介して前記メッセージを転送するべきか前記下流経路を介して転送するべきかを決定する前記命令が、
前記第２のあらかじめ定義されたフィールドが第１のインジケータを含むと決定したことに応答して、前記通信ネットワーク内の前記下流経路を介して前記メッセージを転送する、ここにおいて、前記第１のインジケータが、前記中央コーディネータが以前に前記メッセージを転送したことを示す、
前記第２のあらかじめ定義されたフィールドが第２のインジケータを含むと決定したことに応答して、前記通信ネットワーク内の前記上流経路を介して前記メッセージを転送する、ここにおいて、前記第２のインジケータが、前記中央コーディネータが以前に前記メッセージを転送していないことを示す、
命令を備える、Ｃ２６に記載の非一時的な機械可読記憶媒体。
［Ｃ２８］
前記メッセージを転送するべきかどうかを決定する前記命令が、
前記第１のあらかじめ定義されたフィールド内の第１のデバイス識別子を、前記第１のネットワークデバイスと直接的に接続されている第２のネットワークデバイスに関連付けられた第２のデバイス識別子と比較し、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致すると決定したことに応答して、前記通信ネットワーク内で前記メッセージを転送することを決定し、
前記第１のあらかじめ定義されたフィールド内の前記第１のデバイス識別子が、前記第２のネットワークデバイスに関連付けられた前記第２のデバイス識別子と一致しないと決定したことに応答して、前記第１のネットワークデバイスにおいて前記メッセージを破棄する
命令を備える、Ｃ２６に記載の非一時的な機械可読記憶媒体。
［Ｃ２９］
前記通信ネットワークの前記上流経路を介して前記メッセージを送信することを決定したことに応答して、前記命令が、
前記第１のネットワークデバイスから前記第１のネットワークデバイスに関連付けられたプロキシネットワークデバイスに前記メッセージを送信する、ここにおいて、前記プロキシネットワークデバイスは、前記中央コーディネータに前記メッセージを転送するように構成される、または
前記第１のネットワークデバイスから前記中央コーディネータに直接的に前記メッセージを送信する
命令を備える、Ｃ２６に記載の非一時的な機械可読記憶媒体。
［Ｃ３０］
前記通信ネットワークの前記下流経路を介して前記メッセージを送信することを決定したことに応答して、前記命令が、
前記第１のネットワークデバイスが前記通信ネットワークの第２のネットワークデバイスのためのプロキシネットワークデバイスであることを決定し、
前記第２のネットワークデバイスに関連付けられたデバイス識別子が、前記メッセージに含まれる送信元識別子と一致しないと決定したことに応答して、前記第１のネットワークデバイスから前記第２のネットワークデバイスに前記メッセージを送信し、
前記第２のネットワークデバイスに関連付けられた前記デバイス識別子が、前記メッセージに含まれる前記送信元識別子と一致すると決定したことに応答して、前記第２のネットワークデバイスに前記メッセージを送信しないことを決定する
命令を備える、Ｃ２６に記載の非一時的な機械可読記憶媒体。
【図１】
0006382322.tif 000002
【図２】
0006382322.tif 000003
【図３】
0006382322.tif 000004
【図４】
0006382322.tif 000005
【図５】
0006382322.tif 000006
【図６】
0006382322.tif 000007
【図７】
0006382322.tif 000008