(57)【特許請求の範囲】
【請求項１】
ノードを動作させる方法であって、
前記方法を実行するように構成された前記ノードの回路機構の制御下で、
前記ノード上で作動するアプリケーションからの入力に基づいて、加入する特定のマルチキャストグループを識別するステップと、
マルチキャスト報告を構成するステップであって、前記マルチキャスト報告は受信した要求によって示される前記特定のマルチキャストグループを含むステップと
前記ノード上で作動するアプリケーションにとって重要なグループを含めるために、前記マルチキャスト報告を周期的にリフレッシュするステップと、
前記ノードの伝送範囲内のノードによって送られるマルチキャスト報告を傍受するステップと、
前記傍受されるマルチキャスト報告の数に基づく伝送の頻度に応じて、前記マルチキャスト報告を周期的に伝送するステップであって、前記傍受されるマルチキャスト報告は、前記周期的に伝送されるマルチキャスト報告によって示されるマルチキャストグループへの加入を要求する、伝送するステップと、
下流側ノードからマルチキャスト報告を受信するステップと、
前記受信したマルチキャスト報告によって示される前記下流側ノードにとって重要なグループを追加で含めるために、前記マルチキャスト報告を周期的にリフレッシュするステップと
を備えることを特徴とする方法。
【請求項２】
前記マルチキャスト報告を周期的に伝送するステップは、
前記傍受されるマルチキャスト報告の頻度に基づいて、前記マルチキャスト報告を前記ノードの親に伝送するステップ
を備えることを特徴とする請求項１に記載の方法。
【請求項３】
傍受されるマルチキャストデータパケットのコピーの数を測定するステップであって、前記マルチキャストデータパケットは、前記周期的に伝送されるマルチキャスト報告に示される、測定するステップと、
前記ノードのマルチキャスト転送状態によって示される場合、少なくとも一度、前記マルチキャストデータパケットを再伝送するステップであって、前記転送状態は、マルチキャストデータパケットの再伝送に応答して、マルチキャストデータを転送する必要があることを示す、再伝送するステップと、
前記傍受されるマルチキャストデータパケットのコピーの前記数に基づく追加回数だけ前記マルチキャストデータパケットを再伝送するステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項４】
マルチキャストデータパケットの独自のシーケンス番号を記録するステップであって、前記マルチキャストデータパケットは前記周期的に伝送されるマルチキャスト報告に示される、記録するステップと、
前記記録するステップによって、第１の閾値回数より多い回数を受信したものとして識別されたマルチキャストデータパケットの再伝送の数を少なくするステップと、
前記記録するステップによって、第２の閾値回数より少ない回数を受信したものとして識別されたマルチキャストデータパケットの再伝送の数を多くするステップと、
上流側ノードの間で転送状態の数を増やすステップであって、前記転送状態は、前記記録するステップによって識別された、第３の閾値回数より少ない回数を受信したマルチキャストデータパケットの再伝送に応答して、マルチキャストデータを転送する必要があることを示す、増やすステップと、
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項５】
下流側ノードの状態の変化を認識するステップであって、前記下流側ノードは前記ノードの下流側のマルチキャストレシーバとして構成され、前記下流側ノードは前記マルチキャスト報告に寄与する、認識するステップと、
前記認識された変化に応答して、所望のマルチキャストデータグループの報告を要求する問合せを他の下流側ノードに送るステップと、
送られた前記問合せに応答して、および、送られた後続する問合せに応答して受信された報告の数に基づいて低減される確率に従って、後続する問合せを送るステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記マルチキャスト報告に寄与した下流側ノードに関連する、ノードがマルチキャストグループから離脱したことを示す離脱パケット、または故障したリンクの証拠を含んだ情報を受信するステップと、
前記受信した情報に応答して、所望のマルチキャストデータグループの報告を要求する問合せを他の下流側ノードに送るステップと、
後続する問合せを、前記ノードから下流側であるマルチキャストレシーバおよびマルチキャストフォワーダの密度に基づき、かつ、前記問合せまたは前記後続する問合せに引き続く、報告を受信しない期間に基づく速度で伝送するステップと、
前記期間が閾値を超過すると、前記ノードのマルチキャスト転送状態を無効にするステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項７】
ノードを動作させるための回路機構であって、
期間の間に傍受されるマルチキャストデータパケットのコピーの数を測定するステップと、
前記ノードのマルチキャスト転送状態によって示される場合、少なくとも一度、前記マルチキャストデータパケットを再伝送するステップであって、前記転送状態は、マルチキャストデータを転送する必要があることを示す、再伝送するステップと、
前記期間の間に傍受される前記マルチキャストデータパケットのコピーの前記数に基づく追加回数だけ前記マルチキャストデータパケットを再伝送するステップと、
マルチキャスト報告を構成するステップであって、前記マルチキャスト報告は前記マルチキャストデータパケット内の報告のためのデータが所望される少なくとも１つのグループを含む、構成するステップと、
前記ノード上で作動するアプリケーションにとって重要なすべてのグループを含めるために、前記報告を周期的にリフレッシュするステップと、
期間の間に傍受される報告の数に基づく頻度に応じて、および、前記傍受される報告に
含まれるグループに基づいて前記報告を周期的に上流側に伝送するステップと
を備える動作を実施するように構成されることを特徴とする回路機構。
【請求項８】
前記動作は、
転送状態の上流側ノードの数を増やすステップであって、前記転送状態は、前記傍受されるマルチキャストデータパケットのコピーの前記数が閾値数より少ない場合、マルチキャストデータを転送する必要があることを示す、増やすステップ
をさらに備えることを特徴とする請求項７に記載の回路機構。
【請求項９】
前記傍受されるマルチキャストデータパケットのコピーの前記数に基づく前記追加回数だけ前記マルチキャストデータパケットを再伝送するステップは、
前記ノードが転送堅牢性値のＸ倍より多くの前記マルチキャストデータパケットを受信すると、前記ノードは、傍受堅牢性値をＹ分の一にし、
前記ノードが前記転送堅牢性値のＺ倍未満の前記マルチキャストデータパケットを受信すると、前記ノードは、前記傍受堅牢性値をＷ倍にし、
前記転送堅牢性値は、前記ノードによって伝送されるマルチキャストデータパケット再伝送の数であり、前記傍受堅牢性値は、傍受されるマルチキャストデータパケットの閾値であり、それを超えると前記転送堅牢性値が低減され、Ｘ、Ｙ、ＺおよびＷは、前記ノードが位置しているネットワークに基づく実数値係数であることを特徴とする請求項７に記載の回路機構。
【請求項１０】
前記動作は、
マルチキャスト報告を構成するステップであって、前記マルチキャスト報告は、報告のためのデータが前記ノード上でアプリケーションによって所望され、かつ、報告のためのデータが前記マルチキャストデータパケットに含まれる少なくとも１つのグループを含むステップと、
他のノードによって送られる報告を傍受するステップであって、前記傍受される報告は、報告のためのデータが前記ノード上で作動する前記アプリケーションによって所望されるグループへの参加を要求する、傍受するステップと、
前記マルチキャスト報告を前記ノードの親ノードに伝送するステップであって、前記伝送は、前記傍受される報告の頻度に基づき、かつ、前記傍受される報告に含まれているグループに基づく、伝送するステップと
をさらに備えることを特徴とする請求項７に記載の回路機構。
【請求項１１】
前記動作は、
前記ノードの下流側のマルチキャストレシーバとして構成され、かつ、前記マルチキャストデータパケットを受信するように構成されたノードの状態の変化を認識するステップと、
前記認識された状態の変化に応答して、問合せを下流側ノードに送るステップであって、前記問合せは所望のマルチキャストデータグループの報告を要求する、送るステップと、
前記ノードの前記状態の変化が、マルチキャスト転送を中断する必要があることを示していることが確率によって示されると、後続する問合せを送るステップであって、前記確率は、送られた前記問合せに応答して、かつ、送られた後続する問合せに応答して受信した報告の数に応答して低減される、送るステップと
をさらに備えることを特徴とする請求項７に記載の回路機構。
【請求項１２】
前記動作は、
下流側ノードに関連する離脱パケットまたは故障したリンクの証拠を含んだ情報を受信するステップであって、前記下流側ノードは、前記マルチキャストデータパケットを受信するように構成される、受信するステップと、
前記受信した情報に応答して、マルチキャストデータに関連する所望のグループの報告を要求する問合せを他の下流側ノードに送るステップと、
後続する問合せを、前記ノードから下流側であるマルチキャストレシーバおよびマルチキャストフォワーダの密度に基づく速度に応じて伝送するステップと、
前記問合せまたは前記後続する問合せに引き続く、報告を受信しない期間が閾値を超過すると、前記ノードのマルチキャスト転送状態を無効にするステップと
をさらに備えることを特徴とする請求項７に記載の回路機構。
【請求項１３】
実行されると、１または複数のプロセッサに、
ノードで、前記ノードの下流側のノードに関連する離脱パケットまたは故障したリンクの証拠を含んだ情報を受信するステップと、
前記ノードの下流側の他のノードに問合せを送るステップであって、前記問合せは、前記受信した情報に応答して送られ、マルチキャストデータに関連する所望のグループの報告を要求する、送るステップと、
後続する問合せを、前記ノードから下流側であるマルチキャストレシーバおよびマルチキャストフォワーダの密度に基づく速度に応じて伝送するステップと、
前記問合せまたは前記後続する問合せに引き続く期間が、報告を受信することなく閾値を超過すると、前記ノードのマルチキャスト転送状態を無効にするステップであって、前記転送状態を無効にすることは、マルチキャストグループのためにマルチキャストデータを転送する必要がないことを示す、無効にするステップと
を含む動作を実施させるコンピュータ実行可能命令を記憶する１または複数のコンピュータ可読媒体。
【請求項１４】
前記ノードの下流側の前記ノードに前記問合せを送るステップは、
前記ノードの下流側のノードへのリンクが故障する初期確率に基づいて前記問合せを送るステップと、
前記送られた問合せに応答して送られた報告をカウントするステップと、
前記送られた問合せに引き続いて送られる問合せに対するアプリケーションのために前記初期確率を低減するステップであって、確率を低減する量は、前記カウントされた報告の数に基づく、低減するステップと
を含む請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１５】
前記ノードの下流側の前記ノードに前記問合せを送るステップは、
初期確率に基づいて前記問合せを送るステップと、
前記送られた問合せに応答して送られた報告をカウントするステップと、
前記送られた問合せに引き続いて送られる問合せの前記初期確率を低減するステップであって、カウントされた前記報告は、前記初期確率が低減される係数に関連し、前記係数は、前記初期確率を最小レベル未満に低減しない、低減するステップと
を含む請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１６】
１または複数のプロセッサに、
マルチキャスト報告を構成するステップであって、前記マルチキャスト報告は、報告のためのデータがマルチキャストデータパケット内で所望される少なくとも１つのグループを含むステップと、
前記ノード上で作動するアプリケーションにとって重要なすべてのマルチキャストグループを含めるために、前記報告を周期的にリフレッシュするステップと、
期間の間に傍受される報告の数に基づく頻度で、かつ、前記傍受される報告に含まれるグループに基づいて前記報告を周期的に上流側に伝送するステップと  
を含む動作を実施させる命令をさらに含む請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１７】
１または複数のプロセッサに、
マルチキャスト報告を構成するステップであって、前記マルチキャスト報告は、報告のためのデータが前記ノード上で作動するアプリケーションによって所望される少なくとも１つのグループ、および報告のためのデータが少なくとも１つの下流側ノードによって所望される少なくとも１つのグループを含むステップと、
他のノードによって送られる報告を傍受するステップであって、前記傍受される報告は、報告のためのデータが前記ノード上で作動する前記アプリケーションによって所望されるグループへの参加を要求しており、また、報告のためのデータが前記少なくとも１つの下流側ノードによって所望されるグループへの参加を要求する、傍受するステップと、
前記マルチキャスト報告を前記ノードの親ノードに伝送するステップであって、前記伝送は、前記傍受される報告の頻度に基づき、かつ、前記傍受される報告に含まれるグループに基づく、伝送するステップと
を含む動作を実施させる命令をさらに含む請求項１３に記載の１または複数のコンピュータ可読媒体。
【請求項１８】
１または複数のプロセッサに、
傍受されるマルチキャストデータパケットのコピーの数を測定するステップであって、前記マルチキャストデータパケットは、マルチキャスト報告によって示される、測定するステップと、
前記ノードのマルチキャスト転送状態によって示される場合、少なくとも一度、前記マルチキャストデータパケットを再伝送するステップであって、少なくとも前記ノードの下流側の前記ノードに前記マルチキャストデータパケットを送る、再伝送するステップと、
前記傍受されるマルチキャストデータパケットのコピーの前記数に基づく追加回数だけ前記マルチキャストデータパケットを再伝送するステップと、
前記傍受されるマルチキャストデータパケットのコピーの前記数が閾値数より少ない場合、転送状態の上流側ノードの数を増やすステップであって、転送状態の数の増加は、マルチキャストデータグループを転送するノードの数の増加を示す、増やすステップと
を含む動作を実施させる命令をさらに含む請求項１３に記載の１または複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本特許出願は、「Ｅｆｆｉｃｉｅｎｔ  Ｍｕｌｔｉｃａｓｔ  ｉｎ  ａ  Ｓｍａｒｔ  Ｇｒｉｄ」という名称の２０１２年５月２８日に出願された欧州特許出願第１２００４１０７．４号に対する外国優先権を主張するものであり、これはその全体が参照により本明細書に組み込まれる。
【背景技術】
【０００２】
網目状ネットワーク内の複数のノードは、マルチキャストデータ転送のために構成され得る。ノードによるマルチキャスト伝送は、複数のノードによって受信することができる。ネットワークの物理的なサイズは、所与の技術の伝送範囲を超える可能性があるため、マルチキャストパケットは、より遠方のノードに対しては、再伝送またはマルチホップ転送を必要とすることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながらマルチキャストデータ転送は、情報を効率的に伝達することはできるが、多くの潜在的な非効率性が性能を低下させている可能性がある。第１の潜在的な問題は、ネットワーク内のすべてのノードが同じマルチキャスト情報を必要としない場合に生じることがある。ノードによって上流側に送られる報告は、特定のマルチキャストグループに加入することへの関心を示すために使用することができる。これにより、すべてのマルチキャスト情報をすべてのノードに伝送する必要はなくなるが、報告の過剰伝送および過少伝送によって非効率性がもたらされることがある。第２の潜在的な問題は、マルチキャストデータパケットの転送の頻度に関係している。高すぎる頻度で下流側ノードに転送されるパケットは帯域幅を浪費し、一方、低すぎる頻度で転送されるパケットは、要求された時間内にノードが所望のデータを受信することができないことになり得る。第３の潜在的な問題は、「故障した」通信リンクまたは乏しい伝送品質を有するリンクのために、マルチキャスト転送ツリーから離脱するノードに関係している。このようなノードへの継続的なマルチキャスト伝送は帯域幅を浪費するが、問題を修正するための努力が同じく非効率性をもたらしている可能性がある。したがってマルチキャストデータ転送は、通信の効率的な手段を潜在的に提供しているが、多くの問題が非効率性をもたらしている可能性がある。
【０００４】
詳細な説明は、添付の図を参照して記述される。図において、参照番号の一番左側の桁は、その参照番号が最初に出現する図を識別している。同様の特徴および構成要素を参照するために、すべての図を通して同じ番号が使用されている。さらに、図には、一般概念を図解することが意図されており、要求される要素および／または必要な要素を示すことは意図されていない。
【図面の簡単な説明】
【０００５】
【図１】複数のノード、１つの例示的なノードのいくつかの詳細、インターネットなどのさらなるネットワークへの接続、および中央局を有する、例示的なネットワークを示す図である。
【図２】マルチキャストデータパケットを処理するように構成された処理装置を含んだ個々のノードの例示的な詳細を示す図である。
【図３】特に、マルチキャストデータの１または複数のグループの下流側への転送を要求するために上流側に送られる報告の数および／または頻度を調整する方法を示す、報告伝送抑制の例を示すフローチャートである。
【図４】特に、マルチキャストデータパケットの下流側への転送が、すべての所望のマルチキャストグループパケットを受信するノードの数を最大化し、かつ、不要なマルチキャストデータパケットの転送を最少化することができる方法を示す、マルチキャストデータ転送の例を示すフローチャートである。
【図５】特に、故障したリンクまたはマルチキャストグループから離脱するノードに応答して、下流側に送られる問合せの伝送速度を調整する方法を示す、問合せ管理の例を示すフローチャートである。
【発明を実施するための形態】
【０００６】
［概要］
マルチキャストデータ転送技術は、ネットワーク内の複数のノードにデータを提供することができる。ネットワークは、無線（例えば無線周波数（ＲＦ））および／または有線（例えば電力線通信（ＰＬＣ））であってもよい。しかしながらネットワーク内のすべてのノードが、同じデータを必要とするわけではない場合があり、したがって同じマルチキャストグループの一部ではないことがある。特定のマルチキャストデータグループへの参加を希望している特定のノードを明示した報告の上流側への伝送は、パケットを必要としないノードへのマルチキャストデータパケットに対する帯域幅の浪費を防止することはできるが、上流側マルチキャストフォワーダへの報告の過剰な伝送および過少な伝送によって非効率性がもたらされることがある。さらに、いくつかの例では、マルチキャスト伝送は、情報を複数のノードに同時に効率的に同報通信することができるが、高すぎる頻度でのマルチキャストデータパケットの再伝送によって非効率性がもたらされることがある。マルチキャストパケットの引渡しの信頼性を高くするためには、マルチキャストフォワーダによるマルチキャストパケットの再伝送が必要である。一方、低すぎる頻度でのマルチキャストデータパケットの再伝送によって非効率性がもたらされることがある。また、最後に、下流側ノードへの問合せは、不要な情報のマルチキャストを少なくすることはできるが、問合せの過剰な伝送は、非効率性をもたらすことがある。
【０００７】
本明細書において説明されている技術は、例えば先進メータリングインフラストラクチャ（ＡＭＩ：Ａｄｖａｎｃｅｄ  Ｍｅｔｅｒｉｎｇ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）ネットワークなどの様々なマルチキャストネットワーク環境に適合させることができる。このようなネットワークは、多くの公共事業メータ（例えばガスメータ、水道メータまたは電気メータ等）を含むことができ、また、「ルート」によって率いられる自律経路指定領域（ＡＲＡ：Ａｕｔｏｎｏｍｏｕｓ  Ｒｏｕｔｉｎｇ  Ａｒｅａ）に編成することができる。ルートは、経路指定ツリールートの必要な機能に適応する十分な処理能力および記憶資源を有する任意のデバイスであってもよい。
【０００８】
限定されない第１の例として、ノードによる上流側への報告伝送の管理について説明する。例では、ノードは、定期的に、および／または時折、参加が希望されているマルチキャストグループをリストにした報告を伝送する。報告は、定期的に修正され、マルチキャストデータグループに関連するデータがノード上のアプリケーションによって、またはノードの下流側のノードによって希望されなくなるまで再伝送され得る。さらに、ノードによる報告の伝送は、ネットワークトラフィックを軽減するために部分的または全体的に抑制され得る。抑制は、例えば傍受される報告を含む「報告堅牢性」変数を使用し、かつ、維持することにより、ローカルネットワーク密度に従うことができる。
【０００９】
同じく限定されない第２の例として、マルチキャストデータパケット転送を管理して、適切なノードにパケットを提供し、その一方でノードによるマルチキャストパケットの過剰な反復転送を制限することができる。マルチキャストデータパケットの過剰な複製転送は、「傍受堅牢性」変数または値を使用し、かつ、維持することによって低減することができる。このような変数は、ノードによって傍受されるマルチキャストパケットでありかつノードのバッファ内で再伝送のためにペンディングされているものと同一のマルチキャストパケットの数に関係してもよい。傍受されるデータパケット伝送の数は、マルチキャストデータパケットのノード自体での複製転送をどの程度まで実施すべきかを示す計算に使用することができる。
【００１０】
同じく限定されない第３の例として、問合せ操作を改善する技術を使用して不要なマルチキャストデータパケット転送を低減することができる。１または複数の下流側ノードへのマルチキャストパケットの再伝送を中断することが望ましい場合がある。このようなノードは、１または複数のマルチキャストグループのレシーバおよび／またはフォワーダであってもよく、また、マルチキャストグループから故意にまたは故意にではなく離脱することができる。ノードは、マルチキャストグループから故意に離脱することを決定し、かつ、その決定を示すために「離脱」パケットを上流側に伝送することができる。ノードは、故障したリンクによってネットワークの一部から切り離された場合などに、マルチキャストグループから故意にではなく離脱することができる。下流側ノードがマルチキャストグループから離脱すると、上流側ノードは、下流側に繰り返し問合せを伝送し、所望のマルチキャストグループの報告を要求することができる。問合せにより、下流側ノードは、マルチキャスト転送グループに含まれるように要求する報告を送る。またはいくつかのマルチキャストグループにおけるそれらの指向を再確認することができる。問合せは、問合せに対する応答が不足しているなどの理由で、ノード内におけるマルチキャスト転送状態がキャンセルされると中断することができる。このような問合せの頻度および／または総数は、問合せ確率によって調節することができる。問合せ確率は、例えば問合せに応答して傍受される報告の数に応答して、経時的に変更することができる。以上の３つの例は、個別に実施することも、または互いに組み合わせて、および／もしくは他の例と組み合わせて実施することも可能である。
【００１１】
本明細書における議論は、いくつかの節を含む。個々の節は一例であることが意図されており、その性質は限定されないである。より詳細には、この説明全体は、必ず必要な構成要素ではなく、効率的な方法でマルチキャストを実施するために利用することができる構成要素および技術を実例によって示すことが意図されている。議論は、「スマートグリッドにおける例示的なマルチキャスト」という名称の、本明細書において説明されている技術を実施することができる一環境を説明している節で始まる。この節は、上流側への報告伝送および抑制、マルチキャストデータパケット転送および抑制、ならびに問合せ操作および抑制のための技術を含む高レベルマルチキャストデータ転送アーキテクチャを描写し、かつ、説明している。「例示的な方法」という名称の節は、プロセッサ、メモリ素子、特定用途向け集積回路（ＡＳＩＣ）等を含んだデバイスの中で動作する方法の態様を議論している。詳細には、例示的な方法は、以下の節における技術を含む、本明細書において議論されているいずれの技術にも適用することができる。次に、「例示的な報告伝送抑制」という名称の節は、所望のマルチキャストデータグループを示すように構成された報告などの報告をノードが上流側の方向に繰り返し転送する程度を調整するために使用することができる態様を実例で示し、かつ、説明している。「例示的なマルチキャストデータ転送」という名称のさらなる節は、マルチキャストデータパケットを転送する態様を実例で示し、かつ、説明している。このような調整は、マルチキャストデータパケットがすべての意図されたノードに到達するのを補助し、尚かつ、ＲＦネットワークを妨害することになる過剰伝送を制限する傾向を示す。「例示的な問合せ管理」という名称のさらに他の節は、マルチキャストグループを離脱した可能性があるノード、または故障したリンクによって隔離された可能性のあるノードに対して下流側に送られる問合せの頻度および数を制御するために使用することができる技術を実例で示し、かつ、説明している。最後に、議論は簡潔な結論で終わる。
【００１２】
節の名称および対応する要約を含んだこの簡潔な序文は、読者の便宜のために提供されたものであり、特許請求の範囲または本開示の何らかの節を記述、および／または制限することは意図されていない。
【００１３】
［スマートグリッドにおける例示的なマルチキャスト］
図１は、複数のノードと、１つの例示的なノードのいくつかの詳細と、インターネットなどのさらなるネットワークへの接続と、および中央局とを有する例示的なネットワークアーキテクチャ１００を示す図である。ネットワークアーキテクチャ１００は、要求される要素および／または必要な要素を示すためではなく、スマートグリッドにおける効率的なマルチキャストのより一般的な概念を図解するための特定の例として提供されている。詳細には、ネットワークアーキテクチャ１００は、特定のマルチキャストグループのためのマルチキャストデータパケットの下流側への転送、ならびに故障したリンクおよびマルチキャストデータグループから離脱するノードに関連する問合せの下流側への伝送を要求するために上流側に送られる報告の例を実例で示すために使用することができる。
【００１４】
ネットワークアーキテクチャ１００は、無線および／またはＰＬＣ通信機能を有する多くの公共事業メータを含んだ先進メータリングインフラストラクチャ（ＡＭＩ）ネットワークなどのスマートグリッドとして構成され得る。公共事業メータは、電気、天然ガス、水または他の消費可能な資源の消費を測定することができる。ネットワークアーキテクチャ１００は、自律経路指定領域（ＡＲＡ）として編成される複数のノードを含むことができ、自律経路指定領域は、インターネットなどのネットワーク１０４を介して中央局１０２と通信することができる。中央局１０２は、サーバ、パーソナルコンピュータ、ラップトップコンピュータなどの１または複数の計算デバイスによって実装することができる。１または複数の計算デバイスは、メモリに通信可能に結合された１または複数のプロセッサを備えることができる。いくつかの例では、中央局１０２は、ノード１０６のうちの１または複数から受信したデータの処理、解析、記憶および／または管理を実施する集中型メータデータ管理システムを含む。例えば中央局１０２は、スマート公共事業メータ、センサ、制御デバイス、ルータ、調整器、サーバ、継電器、スイッチ、弁および／または他のノードから得たデータを処理、解析、記憶および／または管理することができる。図１の例は、単一の位置における中央局１０２を実例で示したものであるが、いくつかの例では、中央局は複数の位置の間で分散させることができ、かつ／または完全に除去することも可能である（例えば高度に分散化された分散計算プラットフォームの場合）。
【００１５】
ネットワーク１０４は、無線もしくは有線ネットワーク、またはインターネットなどのそれらの組合せを備えることができる。ネットワーク１０４は、単一の大規模ネットワークとして機能することができる離散および／または相互接続されたネットワークの集合であってもよい。
【００１６】
ネットワークアーキテクチャ１００は、直接通信無線周波数（ＲＦ）信号もしくは電力線通信（ＰＬＣ）信号、伝送またはリンクを介して互いに通信可能に結合された複数のノード１０６Ａ、１０６Ｂ、１０６Ｃ、１０６Ｄ、．．．１０６Ｎ（集合的にノード１０６と呼ばれる）を含むことができる。ノードは公共事業メータであってもよい。この例では、Ｎは、広域ネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、近隣エリアネットワーク（ＮＡＮ：Ｎｅｉｇｈｂｏｒｈｏｏｄ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、パーソナルエリアネットワーク（ＰＡＮ）、これらの組合せ等として構成することができる自律経路指定領域（ＡＲＡ）内のノードの例示的な数を表している。
【００１７】
ノード１０６Ａは、「ルート」、「ルートノード」、「ルータ」、「ゲートウェイ」等であるとみなすことができ、また、インターネット１０４などのバックホールネットワークによってＡＲＡを中央局１０２内のサーバに接続するように構成され得る。ノード１０６は、ＲＦ／ＰＬＣ信号によってデータ、情報、報告、問合せおよびパケット等の上流側への伝達および下流側への伝達の両方を容易にする無線／ＰＬＣ信号１０８によって通信することができる。
【００１８】
ノード１０６Ｂは、ノード１０６の各々を代表することができ、ＲＦ／ＰＬＣ信号１０８によって通信するように構成された無線１１０（またはＰＬＣ）、および処理装置または処理回路機構１１２を含む。無線１１０は、複数のチャネル／周波数のうちの１または複数を介してＲＦ信号を送信および／または受信するように構成された無線周波数（ＲＦ）トランシーバを備えている。いくつかの実施態様では、ノードの各々は、有線および／または無線通信するように構成され得る。限定されない例として、有線通信は、電力線通信（ＰＣＬ）またはイーサネット（登録商標）などの他の有線通信ネットワーク技術を含むことができる。無線実施態様の一例では、ノード１０６は、個々の通信リンク１０８上の制御チャネルおよび複数のデータチャネルなどの複数の異なるチャネル上でデータを送り、かつ、受信するように構成された単一の無線１１０を含むことができる。また、無線１１０は、複数の異なる変調技術、データ転送速度、プロトコル、信号強度および／または出力レベルを実施するように構成することも可能である。さらに、無線は、「周波数ホッピング」スキームでそれぞれ短時間の間に複数の異なる周波数を逐次同調するように構成することも可能である。ネットワークアーキテクチャ１００は、ノード１０６が、異なるタイプのノード（例えばスマートメータ、セルラ継電器、センサ等）、異なる世代またはモデルのノード、および／またはそうでなければ異なるチャネル上で伝送することができ、かつ、異なる変調技術、データ転送速度、プロトコル、信号強度および／または出力レベルを使用することができるノードを含むことができる点で、ノードの異種ネットワークを表すことができる。
【００１９】
処理回路機構１１２は、メモリ１１６に通信可能に結合された１または複数のプロセッサ１１４を含むことができる。プロセッサ１１４は、様々なソフトウェアステートメント、ソフトウェアモジュール、手順、マネージャ、アルゴリズム等を実行することができ、また、メモリ１１６は、これらを含むことができる。このような機能ブロックは、ソフトウェアおよび／またはファームウェアの中で構成することができ、また、プロセッサ１１４によって実行することができる。代替的実施形態では、任意の、またはすべてのプロセッサ１１４、メモリ１１６および／または機能ブロックもしくはモジュール１１８〜１２２を、全面的または部分的にハードウェアで実施することができる。ハードウェアの例には、マイクロコントローラもしくは特定用途向け集積回路（ＡＳＩＣ）などの他のディジタルデバイス、または説明されている機能を実行するように構成された他のデバイスがある。
【００２０】
メモリ１１６は、モノリシック実体として示されているが、リードオンリメモリ、書込み可能メモリ、持続的または非持続的メモリ等などの同様および／または別様に構成された複数のデバイスとして構成することも可能である。メモリ１１６は、様々な機能を実施するためにプロセッサ１１４によって実行することができる１または複数のソフトウェアモジュールおよび／またはファームウェアモジュールを記憶するように構成され得る。メモリ１１６は、コンピュータ可読媒体を備えることができ、また、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリおよび／またはリードオンリメモリ（ＲＯＭ）もしくはフラッシュＲＡＭなどの不揮発性メモリの形態を取ることができる。コンピュータ可読媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または計算デバイスの１または複数のプロセッサによって実行するための他のデータなどの情報を記憶するための任意の技術または技法に従って実装された揮発性および不揮発性媒体、取外し可能および非取外し可能媒体がある。コンピュータ可読媒体の例には、それらに限定されないが、位相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、ディジタル汎用ディスク（ＤＶＤ）または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または計算デバイスによってアクセスするための情報を記憶するために使用することができる任意の他の非伝送媒体がある。本明細書において定義されているように、コンピュータ可読媒体は、変調されたデータ信号および搬送波などの一時的な媒体は含まない。
【００２１】
図に示されている例では、メモリ１１６は、プロセッサ１１４の動作によって実行することがきるプロセッサ実行可能命令によって定義することができる状態セットアップマネージャ１１８、マルチキャストグループ転送マネージャ１２０および問合せマネージャ１２２を含む。したがってマネージャ１１８〜１２２は、アプリケーション、サブルーチン、プログラム等と見なすことができる。あるいはプロセッサ１１４、メモリ１１６および／またはマネージャ１１８〜１２２は、ＡＳＩＣなどの１または複数のハードウェアデバイスの動作によって定義することも可能である。
【００２２】
状態セットアップマネージャ１１８は、ノード１０６Ｂ上で作動するアプリケーションによって所望されるマルチキャストグループを含んだ報告を作成し、かつ、管理するように構成され得る。また、状態セットアップマネージャ１１８は、これらのノードによって所望されるマルチキャストグループを示す報告を下流側ノードから受信することも可能である。状態セットアップマネージャ１１８は、下流側ノードによって所望されるグループを、それが管理している報告の中に追加することができる。報告を上流側に送ることができ、したがって適切な上流側ノードは、適切なマルチキャストグループをノード１０６Ｂに転送することによって応答する。
【００２３】
マルチキャストグループ転送マネージャ１２０は、マルチキャストデータパケットを下流側ノードに転送するように構成され得る。転送は、状態セットアップマネージャ１１８（例えば下流側ノード上の）によって生成される、下流側ノードによって所望されるマルチキャストグループを示す報告に部分的に基づくことができる。一例では、転送マネージャ１２０は、受信するマルチキャストデータパケット伝送のノード自体での複製の一部またはすべてをキャンセルするのに十分な、同じ傍受されるマルチキャストデータパケット伝送の数を規定する「傍受堅牢性」変数または値を維持することができる。
【００２４】
問合せマネージャ１２２は、「離脱」パケットおよび故障したリンクを検出し、かつ、マルチキャストデータパケット伝送の転送を継続することが望ましいかどうかを決定するための調査の一部として下流側に送られる問合せを管理するように構成され得る。マルチキャスト転送グループから離脱することをノードが自発的に決定すると、それは、マルチキャストグループから離脱することの決定を示す「離脱パケット」を上流側に送る。それとは逆に、ネットワーク内の故障したリンクによって不本意にノードがマルチキャスト転送グループから除去されることがある。問合せマネージャ１２２は、所望のマルチキャストグループを示す報告を送るように下流側ノードに要求する問合せを下流側ノードに送ることができる。このようなノードは、マルチキャストデータを傍受した可能性があり、今度はマルチキャストグループへの加入の希望を示す報告を送ることによって問合せに応答しなければならない。閾値期間の後および／または問合せを多く繰り返した後、下流側ノードが少なくとも１つの報告で応答に失敗すると、ノード１０６Ｂは、問合せが送られ、かつ、返事を受信していないマルチキャストグループに関連するそのマルチキャスト転送状態をキャンセルすることができる。転送状態はフラグであってもよく、フラグのセット、例えば「イエス」または「ノー」は、ノードによる、特定のマルチキャストグループに関連するマルチキャストデータの下流側への転送の必要または不要を示す。マルチキャスト転送状態がキャンセルされると、ノードは、下流側へのマルチキャストパケットの転送を停止する。一例では、問合せマネージャ１２２は、下流側ノードに送られる問合せの数および頻度を決定するための入力として使用することができる「問合せ確率」変数または値を構成し、かつ、維持することができる。確率は、そのマルチキャスト転送を継続するべき状態が起こりそうな程度を示すことができる。つまり、初期確率は、マルチキャストグループに関するマルチキャスト転送状態が変化する可能性を予測する。
【００２５】
図２は、図１に示されているノード１０６Ｂの処理装置すなわち処理回路機構１１２の例示的な詳細を示す図である。プロセッサ１１４およびメモリ１１６を、マイクロプロセッサおよび関連するメモリ素子として構成することができ、またはＡＳＩＣなどの特注デバイス内に含むことができる。１または複数のアプリケーション２０２は、ノード上で動作することができ、また、１または複数のマルチキャストデータグループ２０４に関連するデータを消費し、処理し、生成し、またはその他の方法で利用することができる。
【００２６】
状態セットアップマネージャ１１８は、ノード上で動作する１または複数のアプリケーション２０２によって生成される１または複数のマルチキャスト要求２０６を受信するように構成される。状態セットアップマネージャ１１８は、次に、アプリケーション２０２によって所望され、また、マルチキャスト要求２０６によって示される１または複数のマルチキャストグループのリストを含んだマルチキャスト報告２０８を生成することができる。状態セットアップマネージャ１１８は、ノード１０６Ｂの親（例えば図１に示されているノード１０６Ａ）にローカルマルチキャスティングすることによってマルチキャスト報告２０８を上流側に送ることができる。ローカルマルチキャスティングは、１−ホップマルチキャスティング、つまり転送を含まないマルチキャスティングを含むことができる。ノード１０６Ａは、マルチキャスト報告２０８を受信すると、マルチキャスト報告２０８によって示されるグループのためのマルチキャスト転送状態をセットアップする。したがって上流側ノード１０６Ａは、マルチキャストパケットをノード１０６Ｂに転送する。一例では、上流側に送られるマルチキャスト報告２０８は、輸送のためのパケットとして構成することができ、また、他の例では、それは、マルチキャストグループ情報を処理し、かつ／または実現するために、好ましい、または要求された親ノードを示すフィールドを含むことができる。
【００２７】
一例では、状態セットアップマネージャ１１８もしくは他のデバイスまたはノードの一部は、ノード上で作動するローカルアプリケーション２０２から特定のマルチキャストグループに加入する要求２０６を受信する。要求は、状態セットアップマネージャ１１８によって生成されたマルチキャスト報告２０８に加えられてもよい。状態セットアップマネージャ１１８は、次に、マルチキャスト報告２０８をノードの１または複数の親ノードに転送することができる。マルチキャスト報告２０８は、親ノードによって処理されると、親ノードに、下流側ノード１０６Ｂによって所望される１または複数のマルチキャストグループに対するマルチキャスト転送状態を仮定させる。
【００２８】
状態セットアップマネージャ１１８は、マルチキャスト報告２０８を生成し、かつ、上流側に送ることができるが、それは、下流側ノードから上流側に送られるマルチキャスト報告２１０を受信することも可能である。受信されるこのようなマルチキャスト報告２１０は、下流側ノードおよび／またはこのようなノード上で作動するアプリケーションによって所望されるマルチキャストグループを示す。状態セットアップマネージャ１１８は、下流側ノードからマルチキャスト報告２１０を受信すると、それに応答して、マルチキャストパケットおよび／またはデータ２１４を下流側にマルチキャストする（例えば伝送する）必要があることを示すよう、マルチキャスト転送状態マネージャ２１２を調整することができる。したがって転送状態マネージャ２１２は、複数のマルチキャストグループに対する転送状態の追跡を保つ。つまり、転送状態マネージャ２１２は、個々のマルチキャストグループに関連するマルチキャストデータを転送すべきかどうかの追跡を保つ。マルチキャスト転送状態マネージャ２１２に対するこのような調整は、適切なマルチキャストパケット２１４を転送するよう、マルチキャストグループ転送マネージャ１２０に示すことができる。
【００２９】
したがってマルチキャスト転送状態マネージャ２１２は、特定のマルチキャストデータをマルチキャスト伝送によって下流側に転送すべきかどうかの追跡を保つように構成され得る。したがってマルチキャスト転送状態マネージャ２１２は、ノード１０６Ｄおよび１０６Ｎなどのノード１０６Ｂの下流側のノードのための転送情報を含む。マルチキャスト転送状態マネージャ２１２は、下流側ノードによって所望されるマルチキャストグループのアドレスを含むことができ、また、グループのための転送がオンにされるとイエスに設定することができ、また、そうでない場合はノーに設定することができる転送フラグを含むことができる。一例では、マルチキャストデータパケットは、ユニキャストではなく、ローカルマルチキャストによって個々の下流側子ノードに送られるため、マルチキャスト転送状態マネージャ２１２は、特定のマルチキャストグループおよび／またはデータを必要とする特定の子（下流側）ノードを列挙しない。
【００３０】
状態セットアップマネージャ１１８は、ローカルアプリケーションおよび下流側ノードによって現在要求されているマルチキャストグループデータを反映するために、周期的にマルチキャスト報告２０８をリフレッシュするように構成され得る。したがってマルチキャスト報告２０８が上流側に送られると、それに応答して正しいマルチキャストデータが下流側に送られる。状態セットアップマネージャ１１８は、下流側ノードから新しく受信したマルチキャスト報告２１０からのデータをマルチキャスト報告２０８に併合することによってマルチキャスト報告２０８をリフレッシュすることができる。一例では、状態セットアップマネージャ１１８は、１または複数の下流側子ノードから１または複数のマルチキャスト報告２１０を受信することができる。このようなマルチキャスト報告２１０は、下流側ノードおよび／またはそれらのアプリケーションによって現在所望されているマルチキャストグループを示す。状態セットアップマネージャ１１８は、受信したマルチキャスト報告２１０からの現在のデータを追加することによって、また、古いデータを除去することによってマルチキャスト報告２０８を維持することができる。同様に、状態セットアップマネージャ１１８は、ローカルアプリケーションのマルチキャスト要求２０６からの現在のデータを追加することによって、また、古いデータを除去することによってマルチキャスト報告２０８を維持することができる。したがってノード上で作動する両方のアプリケーション２０２によって所望されるマルチキャストグループ、および下流側ノードによって所望されるマルチキャストグループは、マルチキャスト報告２０８によって示されるように、状態セットアップマネージャ１１８によって上流側親ノードに伝送され得る。図１の例では、ルートノード１０６Ａは「上流側」であり、また、ネットワーク１０４と通信し、一方、ノード１０６Ｂ〜Ｎは、ノード１０６Ａの下流側である。したがってマルチキャストグループデータ２０４は、アプリケーション２０２のために利用可能であり、また、同じく、下流側ノード上で作動するアプリケーションへのマルチキャストのために利用可能である。
【００３１】
状態セットアップマネージャ１１８は、上流側親の他の子ノードによって送られた複製情報が傍受された場合には、生成されたマルチキャスト報告２０８の上流側親への伝送を低減することによってネットワークオーバヘッドを低減するように構成され得る。このような情報は、傍受することができるが、意図された親ノードによって情報が確実に受信されたかは確かではないことがある。一例では、状態セットアップマネージャ１１８は、「報告堅牢性」変数および／または値を維持することができる。このような変数は、状態セットアップマネージャ１１８がマルチキャスト報告２０８の伝送をキャンセルする前に受信するべき、ノードのマルチキャスト報告２０８と同じ情報を有する傍受する報告伝送の数を制御するために使用することができる。
【００３２】
一例では、状態セットアップマネージャ１１８は、マルチキャスト報告２０８の伝送の回数が、受信が保証されそうであると思われる回数のみになるように設計された最適化を実施することができる。一例では、ネットワーク内の１または複数のノードは、間隔をおいて、ある期間の間に傍受された同じ報告情報の伝送の数をチェックして調べることができる。この情報は、「受信した所望の報告」のレベルを示す変数または定数と比較することができる「報告堅牢性」値を示す変数を生成し、かつ、維持するために使用することができる。報告堅牢性値は、傍受される報告の伝送のレベルを示し、一方、「受信した所望の報告」値または変数は、適切な報告および／または所望の報告である傍受される報告のレベルを示す。状態セットアップマネージャ１１８は、この情報および比較を使用して、マルチキャスト報告２０８が伝送される速度を変更することができる。これらの変数の操作は、３つの例を参照して理解することができる。
【００３３】
第１の例では、傍受される報告の方が所望の報告より多い、つまり、報告によって示されているマルチキャストデータを親ノードによって転送させるために必要な報告より多くの報告が受信されることがあり、これにより帯域幅の浪費およびネットワークの過密がもたらされる。報告は、ノード１０６Ｂによって傍受される、子ノードから親ノードへの伝送であり、ノード１０６Ｂはその親の子ノードであっても、なくてもよいので、その報告は「傍受される」ものであることに留意されたい。状態セットアップマネージャ１１８によって傍受される報告の「報告堅牢性」値のＸ倍が存在している場合、状態セットアップマネージャは、報告堅牢性変数をＹ分の一にすることができる（ＸおよびＹは比例数であってもよい）。したがってノードが「転送堅牢性」値のＸ倍より多くのマルチキャストデータパケットを受信すると、ノードは、「傍受堅牢性」値をＹ分の一にする。値ＸおよびＹは、ノードが位置しているネットワークに基づく実数値係数であってもよい。
【００３４】
第２の例では、傍受される報告の方が所望の報告より少ない、つまり、報告によって示されているマルチキャストデータを親ノードによって転送させるために必要な報告より少ない報告が受信されることがある。これにより、所望のマルチキャストデータを受信しないノードがもたらされる場合があり、また、ノードが、転送状態２１０によって示された所望のマルチキャストデータを受信することを保証するために、マルチキャスト報告２０８の追加伝送が必要になる場合がある。この例では、ノード自身のマルチキャスト転送状態２１０によって示され、かつ、マルチキャスト報告２０８のリストに挙げられている少なくともグループを有する傍受される報告の「報告堅牢性」値が、「受信した所望の報告」より小さい場合、状態セットアップマネージャ１１８は、「報告堅牢性」変数および／または値をＷ倍にすることができる。したがってノードが転送堅牢性値のＺ倍未満のマルチキャストデータパケットを受信すると、ノードは、傍受堅牢性値をＷ倍にする。ＺおよびＷの値は、ノードが位置しているネットワークに基づく実数値係数であってもよい。
【００３５】
第３の例では、第２の例の技術は、傍受される報告のレベルを「受信した所望の報告」値のレベルまで十分に高くすることはできない。「受信した所望の報告」値の値を１以上大きくした後、状態セットアップマネージャ１１８は、上流側ノードと交信することができ、状態セットアップマネージャ１１８によって所望されたマルチキャストデータを含むために、そのマルチキャスト転送状態およびマルチキャスト報告を更新するようにそれを導く。更新されると、上流側ノードは、状態セットアップマネージャ１１８によって所望されたマルチキャストグループデータの転送を開始する。一例では、交信される上流側ノードは、理想的には、ノードの現在の親の後方のルートへの第２の最良の経路内に位置している、ノードの第２の親であってもよい。
【００３６】
マルチキャストグループ転送マネージャ１２０は、上流側ノードからマルチキャストデータパケット２１４を受信し、かつ、指示されている場合、マルチキャストデータパケットを下流側ノードに転送するように構成され得る。したがってノード（例えばノード１０６Ｂ）は、１または複数のマルチキャストデータグループのレシーバとして、また、（場合によっては同じ）マルチキャストデータグループのうちの１または複数のためのフォワーダとして構成され得る。ノードがフォワーダとして構成されるマルチキャストデータグループは、マルチキャスト転送状態マネージャ２１２によって示される。
【００３７】
一例では、マルチキャストグループ転送マネージャ１２０は、マルチキャストデータパケット２１４を受信することができる。マルチキャストデータパケット２１４は、１または複数のマルチキャストグループに関連するデータを含むことができる。ノード上のアプリケーション２０２のうちの１または複数は、１または複数のマルチキャストグループを受信することへの関心を示していた可能性がある（例えばマルチキャスト要求２０６によって）。さらに、下流側ノード上のアプリケーションも、同じく、マルチキャスト報告２１０などによってマルチキャストパケット２１４を受信することへの関心を示していた可能性がある。下流側ノード上のアプリケーションがマルチキャストパケット２１４に関連するデータグループを要求していた場合、この情報はマルチキャスト転送状態マネージャ２１２によって示される。したがってマルチキャストデータパケット２１４を受信すると、マルチキャストグループ転送マネージャ１２０は、マルチキャスト転送状態マネージャ２１２と協議することができる。マルチキャスト転送状態マネージャ２１２によって示されると、マルチキャストグループ転送マネージャ１２０は、パケット２１４を下流側に転送する。
【００３８】
適切な下流側ノードが受信する可能性を高くするために、転送状態マネージャ２１２によって示される個々のマルチキャストデータパケット（例えばパケット２１４）は、「転送堅牢性」値などの変数または値によって設定される回数だけ転送される。転送堅牢性は、最初は２回または３回などの値に設定することができる。しかしながらネットワークは共有媒体であるため、ノードは、経路指定ツリー内のそれらの親からだけではなく、同じく他の近傍のノードからもマルチキャストパケットを傍受する可能性があり、それにより密集した環境では、マルチキャストパケットの非常に多くのコピーを受信することになる。引渡しの信頼性と、ネットワーク内で送られている個々のデータパケットの過剰な数のコピーによって生じるオーバヘッドとの間の平衡をもたらすために、マルチキャストグループ転送マネージャ１２０またはノードの他の部分は、マルチキャストデータパケットのノード自体での複製転送をキャンセルするのに十分な傍受されるデータパケット伝送の数を規定する「傍受堅牢性」変数を生成し、かつ／または維持することができる。マルチキャスト転送状態マネージャ２１２によって示されると、マルチキャストグループ転送マネージャ１２０は、マルチキャストデータパケット２１４の少なくとも１つのコピーを転送する。しかしながらそれは、それが近傍の他のノードによる同じパケットの「傍受堅牢性」数の伝送を傍受した後は、マルチキャストデータパケット２１４の追加コピーを転送しない。
【００３９】
「傍受堅牢性」変数は、特定のアプリケーションによって示されるノードのネットワーク環境に適合され得る。一例では、過剰な数のマルチキャストパケットが検出される場合には以下の機構を使用することができる。マルチキャストグループ転送マネージャ１２０が、「転送堅牢性」値のＸ倍より多い同じ識別特性を有するマルチキャストデータ伝送（例えばマルチキャストデータ２１４）を受信すると、それは、その「傍受堅牢性」変数をＹ分の一にすることができる。一例では、識別特性はシーケンス番号を含むことができる。
【００４０】
シーケンス番号は、パケットに対する「タグ」として使用することができ、したがってタグが振られたパケットが特定のノードで既に受信されているかどうかを検出する方法を提供する。一例では、マルチキャストパケットが自律経路指定領域に入る毎に、それに独自のシーケンス番号が振られ、かつ、マルチキャスト転送ツリーに入れられる。マルチキャスト転送ツリーに沿った個々のノードは、処理および／または転送したマルチキャストパケットのシーケンス番号を記憶する。したがってノードがマルチキャストパケットを受信する毎に、それは、パケットが行先指定されるマルチキャストグループのための転送状態へのエントリが存在するかどうか、またはノードがマルチキャストグループをリッスンしているかどうかをチェックすることができる。
【００４１】
パケットが行先指定されるマルチキャストグループがマルチキャスト転送状態のマルチキャストグループアドレスの１つと合致する、またはノードがこのマルチキャストグループアドレスを監視（Ｌｉｓｔｅｎ）している場合、ノードは、１または複数のチェックを実施することができる。例えばノードは、受信したパケットのシーケンス番号を（以前に処理したかつ／または転送したマルチキャストパケットの）ローカル的に記憶されているシーケンス番号に対してチェックすることができる。シーケンス番号がローカル的に記憶されているシーケンス番号と合致する場合、ノードはパケットを放棄／廃棄する（パケットは既に処理されているため）。シーケンス番号がローカル的に記憶されているシーケンス番号より小さい場合、ノードはパケットを放棄することができる（パケットが古い可能性があるため）。シーケンス番号が現在のシーケンス番号より大きい場合、ノードは、ローカル的に記憶されているシーケンス番号を受信したパケットの番号に更新し、かつ、そのパケットを処理および／または転送することができる。
【００４２】
代替的な例では、少なすぎるマルチキャストパケットが検出される場合には以下の機構を使用することができる。マルチキャストグループ転送マネージャ１２０が、「転送堅牢性」値のＺ倍未満のマルチキャストデータパケット２１４を受信すると、ノードは、「傍受堅牢性」値をＷ倍にすることができる。これらの例では、「転送堅牢性」値は、最初は、ノードによって伝送されるマルチキャストデータパケット再伝送のデフォルト数であり、また、「傍受堅牢性」値は、傍受されるマルチキャストパケットの閾値であり、これを超えると「転送堅牢性」値が低減され、Ｘ、Ｙ、ＺおよびＷは、ノードが位置しているネットワークに基づく実数値係数である。
【００４３】
また、マルチキャストグループ転送マネージャ１２０は、上記の例が不十分であることを認識し、また、十分な数のマルチキャストデータパケットを伝送するために追加上流側ノードが必要であることを認識するように構成され得る。この状況では、マルチキャストグループ転送マネージャ１２０は、マルチキャストデータパケットの再伝送を補助するために他のノードに協力を求めることができる。詳細には、マルチキャストグループ転送マネージャ１２０は、１または複数の上流側ノードに、それらの転送状態マネージャを調整してマルチキャストデータパケットを再伝送させる指令を送ることができる。
【００４４】
問合せマネージャ１２２は、特定の下流側ノードへのマルチキャストデータパケットの転送がもはや不要になり、また、マルチキャストデータパケットの転送を必要とする他の下流側ノードが残っているかどうかの疑問が生じると動作するように構成される。このような他の下流側ノードが残っている場合、転送の継続が示され、残っていない場合、転送の継続は、ネットワーク帯域幅の望ましくない消費をもたらすだけである。
【００４５】
問合せマネージャ１２２は、マルチキャストパケットおよび／またはデータの下流側への転送を低減する、かつ／または除去することによる可能な利点を示す状況を認識するように構成され得る。詳細には、問合せマネージャ１２２は、ノードの下流側の故障したリンク、および／または下流側ノードからの離脱パケット２１６の受信を検出することができる。離脱パケット２１６は、下流側ノードが脱退を希望している１または複数のマルチキャストグループを示すことができる。
【００４６】
問合せマネージャ１２２は、下流側に送られる問合せ（Ｑｕｅｒｙ）２１８を管理することができる。問合せ２１８は、少なくとも１つのノードがもはやマルチキャストデータの転送を要求していないことが決定された後に送られ得る。問合せマネージャ１２２は、他の下流側ノードがマルチキャストデータパケットの転送の継続を確かに要求しているかどうかを決定するように構成され得る。さらに、問合せマネージャ１２２は、グループのマルチキャストの継続が必要であるかどうかを決定するための十分な問合せの利点と、ネットワーク帯域幅の使用を含む、問合せの過剰伝送の不利な点とを平衡させる効率的な方法で問合せをマルチキャストするように構成され得る。
【００４７】
問合せマネージャ１２２は、下流側ノードに、それらが１または複数の特定のマルチキャストグループからのデータの受信を所望しているかどうかを尋ねる１または複数の問合せ２１８を送るように構成され得る。問合せマネージャ１２２が問合せに対する応答を受信しない場合、それは、一定の間隔をおいてそれをもう一度送ることができる。応答がない場合、マルチキャスト転送状態マネージャ２１２は、マルチキャストグループのための転送状態を無効にすることができる。
【００４８】
また、問合せマネージャ１２２は、確率を含むツールを使用して送られる問合せの数を制限するように構成され得る。送られる問合せの数を制限することにより、それに応答して下流側ノードから送られる報告の数が同じく制限され、それによりネットワーク帯域幅が節約される。一例では、マルチキャスト転送状態マネージャ２１２は、確率変数、例えば５０％の初期値を有することができる「問合せ確率」に従って１または複数の問合せパケットを送ることができる。問合せマネージャ１２２が問合せに応答して「Ｘ」を超える報告を受信すると、それは、「問合せ確率」変数を「Ｙ」分の一にすることができるが、「最小問合せ確率」などの決定済み最小確率値より小さくすることはできず、「Ｘ」、「Ｙ」および「最小問合せ確率」は、ネットワーク状態または他の要因によって決定される。
【００４９】
［例示的な方法］
図３〜５の例示的な方法は、少なくとも部分的に図１および２の構成によって実施することができる。しかしながら図３〜５は、一般的な適用性を含んでおり、他の図面および／または先行する説明によって制限されない。本明細書において説明されている個々の方法は、ハードウェア、ソフトウェアまたはそれらの組合せの中で実施することができる一連の操作を表す論理フローグラフ中の動作、ブロックまたは操作の集合として示されている。
【００５０】
ソフトウェアのコンテキスト（Ｃｏｎｔｅｘｔ）では、操作は、１または複数のコンピュータ可読記憶媒体１１６上に記憶されたコンピュータ実行可能命令を表しており、１または複数のプロセッサ１１４によって実行されると、記載されている操作を実施する。このような記憶媒体１１６、プロセッサ１１４およびコンピュータ可読命令は、所望の設計または実施態様に応じて処理回路機構１１２の中に配置され得る。図１および２に示されている記憶媒体１１６は、取外し可能および非取外し可能な両方の記憶媒体全般、および任意の技術の記憶媒体を代表している。したがって、記載されている操作は、図３〜５に示されている動作などの動作を表しており、示されている動作を実施するために実行可能命令を使用して構成された１または複数のプロセッサの制御の下で実施することができる。一般に、コンピュータ実行可能命令は、特定の機能を実施する、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。操作が記述されている順序は、限定として解釈されるべきことは意図されておらず、また、記述されている操作は、方法を実施するために異なる順序で組み合わせる、かつ／または並列に組み合わせることも可能である。上記の議論は、本明細書において説明されている他の方法に適用することができる。
【００５１】
さらに、本明細書における目的のために、コンピュータ可読媒体は、特定用途向け集積回路（ＡＳＩＣ）または他のハードウェアデバイスのうちのすべて、または一部を含むことができる。このようなハードウェアデバイスは、無線ネットワーク内のマルチキャストに伴う機能を含む、他の機能を含むように構成され得る。したがってこのような集積回路の中に、実行可能命令を使用して、論理、トランジスタもしくは他の構成要素、またはオンボードメモリによって定義することができる１または複数のプロセッサが構成される。
【００５２】
［例示的な報告伝送抑制］
図３は、報告伝送抑制の例３００を示すフローチャートである。ノードが（受信および／または転送のために）加入を希望するマルチキャストデータグループを示す報告は、ネットワーク内のノードによって上流側に送られ得る。上流側ノードは、報告に応答して、所望のマルチキャストデータグループに関連するデータをマルチキャストすることができる。報告の伝送の数および頻度を調整して、上流側ノードによる報告の受信を保証し、その一方で、報告の過剰伝送を制限してネットワーク帯域幅の使用を最少化することができる。
【００５３】
操作３０２で、特定のマルチキャストグループに加入する１または複数の要求を受信することができる。図２の例のコンテキストでは、ノードの処理回路機構１１２上で動作するアプリケーション２０２によって伝送される１または複数の要求２０６は、状態セットアップマネージャ１１８によって受信され得る。
【００５４】
操作３０４で、マルチキャスト報告が構成される。マルチキャスト報告は、１または複数の要求から得られる所望のマルチキャストグループに関する情報を含むことができる。図２の例のコンテキストでは、マルチキャスト報告２０８は、受信した１または複数のマルチキャスト要求２０６に基づいて状態セットアップマネージャ１１８によって生成される。
【００５５】
操作３０６で、ノード上で作動するアプリケーションにとって重要なグループを含むために、マルチキャスト報告が周期的にリフレッシュされる。図２の例のコンテキストでは、追加で受信したマルチキャスト要求２０６または他の情報に基づいて、状態セットアップマネージャ１１８がマルチキャスト報告を周期的にリフレッシュすることができる。
【００５６】
操作３０８で、下流側ノードからのマルチキャスト報告が受信される。このような報告は、下流側ノードによって所望される、これらのノード上を作動するアプリケーションによって要求された可能性のある、マルチキャストグループを示す。図２の例のコンテキストでは、状態セットアップマネージャ１１８が下流側ノードからマルチキャスト報告２１０を受信することができる。
【００５７】
操作３１０で、下流側ノード上で作動するアプリケーションにとって重要なマルチキャストグループを含むために、マルチキャスト報告を周期的にリフレッシュすることができる。図２の例のコンテキストでは、状態セットアップマネージャ１１８は、マルチキャスト報告２０８をリフレッシュするために、受信したマルチキャスト報告２１０からの情報を使用することができる。したがって下流側ノードからの報告は、上流側に伝送するためにノードのマルチキャスト報告２０８に併合される。
【００５８】
操作３１２で、ノードの伝送範囲内のノードによって送られるマルチキャスト報告が傍受される。傍受される報告の数によって、およびそれらが同じまたは異なるマルチキャストグループに加入する要求を含んでいるかどうかによって、ノードがそれ自体の報告の伝送を多くすべきか、または少なくすべきかが示され得る。図２の例のコンテキストでは、受信した報告２１０は、上流側に送られる報告２０８の数を多くするまたは少なくするために、状態セットアップマネージャ１１８に影響を及ぼすことができる。
【００５９】
操作３１４で、傍受される報告の頻度または数に部分的に基づく頻度、および傍受される報告の中に含まれているグループに応じて、マルチキャスト報告が周期的に上流側に伝送される。図２の例のコンテキストでは、状態セットアップマネージャ１１８は、傍受される報告の数、および傍受される報告の中に含まれているグループに部分的に基づいて、マルチキャスト報告２０８を上流側に伝送することができる。例えば傍受される報告が頻繁であり、かつ、報告２０８に含まれている少なくともマルチキャストグループを参照している場合、状態セットアップマネージャ１１８が報告２０８を伝送する必要性は小さい。逆に、傍受される報告が、それほど頻繁に傍受されるものではなく、かつ／または報告２０８に含まれているマルチキャストグループのすべてを含んでいるわけではない場合、傍受される報告は、報告２０８を上流側に伝送する必要性を小さくすることはない。
【００６０】
［例示的なマルチキャストデータ転送］
図４は、とりわけ、マルチキャストデータパケットの下流側への転送が、すべての所望のマルチキャストグループパケットを受信するノードの数を最大化し、かつ、任意のノードによって必要とされないマルチキャストデータパケットの転送を最少化することができる方法を示す、マルチキャストデータ転送の例４００を示すフローチャートである。
【００６１】
操作４０２で、ノードのマルチキャスト転送状態によって示されている場合、少なくとも一度、マルチキャストデータパケットを再伝送および／または転送することができる。ノードによる第１の伝送は、そのノードの伝送に先立ってそれがそのノードに対して伝送されたため、「再伝送」と見なすことができることに留意されたい。図２の例のコンテキストでは、マルチキャストグループ転送マネージャ１２０は、１または複数の上流側ノードから１または複数のマルチキャストデータパケット２１４を受信し、かつ、パケットを１または複数の下流側ノードに再伝送するように構成される。必要ではないが、例は、マルチキャストグループ転送マネージャ１２０が、受信したマルチキャストパケット２１４を少なくとも一度転送または再伝送することを提供している。再伝送は、マルチキャストパケット２１４がマルチキャスト転送状態マネージャ２１２によって示される任意のマルチキャストグループに関連する情報を含んでいる場合、マルチキャストパケット２１４を転送すること含むことができる。マルチキャスト転送状態マネージャ２１２は、アプリケーション２０２から受信したマルチキャスト要求２０６、および下流側ノードから受信した、所望のマルチキャストグループをリストに挙げたマルチキャスト報告２１０に基づく転送状態を含む。
【００６２】
操作４０４で、傍受されるマルチキャストデータパケットのコピーの数が測定される。図２の例のコンテキストでは、傍受されるコピーの数は、マルチキャストグループ転送マネージャ１２０がマルチキャストデータパケットを再伝送する相対的な必要性を示すことができる。より多くのコピーが傍受される場合、伝送が意図されることになる下流側ノードは、伝送を既に聞いている可能性がより大きいため、再伝送する必要性はより小さい。
【００６３】
操作４０６で、ネットワーク特性または他の要因に基づいて、「傍受堅牢性」変数または値が構成される。「傍受堅牢性」変数は、ノードによるマルチキャストデータパケットのさらなるコピーの再伝送を停止するのに十分な、傍受されるマルチキャストデータパケット伝送の数を示す。したがって十分な数の伝送が傍受されると、ノードはそれ自体の伝送を停止し、それによりネットワーク負荷を軽くする。図２の例では、「傍受堅牢性」値は、マルチキャストグループ転送マネージャ１２０によって生成し、および／または維持することができる。
【００６４】
操作４０８で、最初に操作４０２で再伝送されたマルチキャストデータパケットが、少なくとも部分的に「傍受堅牢性」値に基づく追加回数だけ再伝送される。図２の例のコンテキストでは、再伝送は、マルチキャストグループ転送マネージャ１２０によって実施され得る。
【００６５】
操作４１０で、傍受されるマルチキャストデータパケットの数が閾値数より少ない場合、マルチキャストデータパケットを転送するように構成された上流側ノードの数を増やす必要があり得る。図２の例のコンテキストでは、マルチキャストグループ転送マネージャ１２０は、それがマルチキャストデータパケットの伝送を補助する必要があることを認識することができ、また、それは、補助のために他のノードの協力を求めることができる。詳細には、マルチキャストグループ転送マネージャ１２０は、上流側ノードに、それらの転送状態マネージャを調整してマルチキャストデータパケットを再伝送させる指令を送ることができる。
【００６６】
［例示的な問合せ管理］
図５は、問合せ管理の例５００を示すフローチャートである。問合せは、下流側マルチキャストデータレシーバとしてのノードの除去などに引き続いて、マルチキャストデータが他の下流側ノードによって依然として所望されているかどうかを調べるために下流側ノードに送られ得る。問合せ管理は、問合せの好ましい数、頻度および／または継続期間を決定する。一例では、下流側ノードへの再伝送は、下流側ノードの要求（例えばノードがマルチキャストグループから離脱する要望を示すためにそのノードによって送られる「離脱パケット」）でキャンセルされ得る。他の例では、下流側ノードへの故障したリンクは、そのノードに対するマルチキャストデータパケットの再伝送を停止する必要があることを示すことができる。しかしながらノードは、マルチキャストグループに関連するマルチキャストデータの再伝送をキャンセルする前に、他の下流側ノードがマルチキャスト再伝送に依存していたかどうかを決定するために問合せを送ることができる。問合せは、所望のマルチキャストグループを示す「報告」を下流側ノードに要求することができる。ノードによって伝送される問合せの数および頻度は、問合せのために充てられる帯域幅の費用と、マルチキャストグループへの参加を希望している下流側ノードの発見の必要性とを平衡させるために、例５００に従って管理され得る。
【００６７】
操作５０２で、下流側ノードの状態の変化などの情報が、マルチキャスト転送のために構成されたノードで受信される。一例では、情報または状態変化は、下流側ノードによって送られる、下流側ノードがマルチキャストグループから離脱しようとしていることを示す「離脱」パケットを含むことができる。他の例では、情報は、下流側ノードとの通信を妨げる、故障したリンクの証拠を含むことができる。図２の例のコンテキストでは、問合せマネージャ１２２は、もはやマルチキャストデータを特定の下流側ノードに送るべきではないことを示す、故障したリンクおよび「離脱」メッセージなどの情報を監視することができる。
【００６８】
操作５０４で、ノードによって送られる問合せのための初期確率が設定される。確率は、継続的なマルチキャスト転送に関してノードの状態を変更する必要がある可能性を示すことができる。つまり、初期確率は、マルチキャストグループに関するマルチキャスト転送状態が変更される可能性を予測する。確率は、実際にリンクが動作中であるか、または単に一時的に機能を停止していた場合に、「偽りの正」が故障したリンクを示す可能性があることを認識する。したがって初期確率を設定することができ、また、初期確率は、１または複数の下流側ノードへの故障したリンクの可能性に基づくことができる。
【００６９】
操作５０６で、マルチキャストデータに関連する所望のグループの報告を要求する最初の問合せが下流側ノードに送られる。図２の例のコンテキストでは、問合せマネージャ１２２は、下流側ノードに、それらが参加を希望しているマルチキャストグループを示す報告（例えば報告２１０）で応答するよう要求する問合せ２１８を送ることができる。図１を参照すると、ノード１０６Ｂの下流側のノードは、１０６Ｄおよび１０６Ｎを含む。
【００７０】
操作５０８で、マルチキャストレシーバ、マルチキャストフォワーダおよび両方であるノードを含むことができる下流側ノードから報告パケットが受信される。図２の例のコンテキストでは、問合せマネージャ１２２は、１または複数の報告（例えば報告２１０）を受信することができる。
【００７１】
操作５１０で、問合せに応答して受信した報告がカウントされる。受信した報告のカウントは、問合せに関連する確率を精査するために使用することができ、また、マルチキャストデータ再伝送を継続すべきかどうかを決定するために必要な入力の一部として使用することができる。
【００７２】
操作５１２で、下流側に送られた問合せに関連する初期確率が、引き続いて伝送される問合せのために低減される。一例では、操作５０４で設定された初期確率は、操作５０６の問合せに引き続いて送られる問合せのために低減され得る。さらに、確率の低減は、カウントされた報告の数に基づくことも可能である。より多くの報告がカウントされると、低減をより大きくすることができ、また、より少ない報告がカウントされると、低減をより小さくすることができる。他の例では、操作５０６の問合せに引き続いて送られる問合せに適用される確率は、最小レベルより小さくない係数だけ低減することができる。
【００７３】
操作５１４で、後続する問合せが、ノードの下流側であるマルチキャストレシーバおよびマルチキャストフォワーダの密度に基づく速度に応じて伝送される。図２の例のコンテキストでは、問合せマネージャ１２２は、受信した報告のカウントに部分的に基づいて決定、または予測することができる、ノードの下流側であるマルチキャストレシーバおよびマルチキャストフォワーダの密度に基づく速度に基づいて問合せを下流側ノードに伝送することができる。
【００７４】
操作５１６で、１または複数の問合せに引き続く期間が、下流側ノードから報告を受信することなく閾値期間を超過すると、ノードのマルチキャスト転送状態を無効にすることができる。報告を受信しそこねることは、下流側ノードが存在していないこと、またはマルチキャストデータおよび／またはマルチキャストグループへの参加を要求していないことを示す可能性がある。図２の例のコンテキストでは、問合せマネージャ１２２は、マルチキャスト転送状態マネージャ２１２に通知して、任意の下流側ノードの転送状態を無効にすることができる。
【００７５】
［結論］
主題は、構造的特徴および／または方法論的動作に特有の言語で説明されてきたが、添付の特許請求の範囲で定義されている主題は、必ずしも説明されている特定の特徴または動作に限定されないことを理解されたい。そうではなく、特定の特徴および動作は、特許請求の範囲を実施する例示的形態として開示されている。
【図１】
0006042532.tif 000002
【図２】
0006042532.tif 000003
【図３】
0006042532.tif 000004
【図４】
0006042532.tif 000005
【図５】
0006042532.tif 000006