(57)【要約】  実施形態によれば、復号器は、受信したブロックの集合を復号する。ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含む。受信したブロックの集合は、ブロックの全集合のうちの部分集合である。ブロックの全集合は、受信したブロックの集合に含まれない少なくとも１つの消失ブロックを含む。復号器は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列のためのストレージと、符号化行列を用いて少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能なプロセッサとを含む。【選択図】図２
2016523066.tif 000002
【特許請求の範囲】
【請求項１】
受信したブロックの集合を復号する復号器であって、
前記ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含み、
前記受信したブロックの集合は、ブロックの全集合のうちの部分集合であって、
前記ブロックの全集合は、前記受信したブロックの集合に含まれない少なくとも１つの消失ブロックを含み、
前記復号器は、
反対角行列と完全非特異行列とのクロネッカー積である符号化行列のためのストレージと、
前記符号化行列を用いて前記少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能なプロセッサと
を具備する、
復号器。
【請求項２】
前記プロセッサは、前記符号化行列の逆行列を計算することによって前記少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能である、請求項１記載の復号器。
【請求項３】
前記プロセッサは、前記少なくとも１つの消失ブロックに対応する符号化行列の行および列を決定し、前記少なくとも１つの消失ブロックに対応する符号化行列の行および列から形成される行列の逆行列を計算することによって前記少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能である、請求項１記載の復号器。
【請求項４】
センサネットワークのコンセントレータ・ノードであって、
前記センサネットワークは、複数のノードを含み、
前記複数のノードの各ノードは、複数のデータシンボルおよび複数のパリティシンボルを含むブロックを生成し、生成したブロックを前記コンセントレータ・ノードへと送信するために使用可能であり、
前記コンセントレータ・ノードは、請求項１記載の復号器を具備する、
コンセントレータ・ノード。
【請求項５】
前記復号器は、前記複数のノードのノード数を決定し、前記複数のノードのノード数を考慮して前記符号化行列を生成する、請求項４記載のコンセントレータ・ノード。
【請求項６】
前記復号器は、生成した符号化行列の指示を前記複数のノードの各ノードへと送信するために使用可能である、請求項５記載のコンセントレータ・ノード。
【請求項７】
前記復号器は、複数の符号化行列のためのストレージをさらに含み、
前記復号器は、前記複数のノードのノード数を決定し、前記複数のノードのノード数を考慮して前記複数の符号化行列から符号化行列を選択するために使用可能である、
請求項４記載のコンセントレータ・ノード。
【請求項８】
前記復号器は、選択した符号化行列の指示を前記複数のノードの各ノードへと送信するためにさらに使用可能である、請求項７記載のコンセントレータ・ノード。
【請求項９】
消失訂正符号の複数のブロックのうちのブロックを符号化する符号化器であって、
各ブロックは、複数のデータシンボルおよび複数のパリティシンボルを含み、
前記符号化器は、前記複数のブロックのうち符号化行列の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、ブロックのパリティシンボルを設定し、
前記符号化行列は、反対角行列と完全非特異行列とのクロネッカー積である、
符号化器。
【請求項１０】
前記符号化行列の少なくとも一部を受信するように構成された通信モジュールをさらに具備する、請求項９記載の符号化器。
【請求項１１】
複数の符号化行列のためのストレージをさらに具備し、
前記符号化器は、ブロックのパリティシンボルを設定するために前記複数の符号化行列から符号化行列を選択するように構成される、
請求項９記載の符号化器。
【請求項１２】
前記複数の符号化行列からの符号化行列の指示を受信するように構成された通信モジュールをさらに具備し、
前記符号化器は、前記指示に従って、ブロックのパリティシンボルを設定するために前記複数の符号化行列から符号化行列を選択するように構成される、
請求項１１記載の符号化器。
【請求項１３】
請求項９記載の符号化器を具備する、センサネットワークのセンサ。
【請求項１４】
請求項９記載の符号化器を具備するスマートメーター。
【請求項１５】
受信したブロックの集合を復号する方法であって、
前記ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含み、
前記受信したブロックの集合は、ブロックの全集合のうちの部分集合であって、
前記ブロックの全集合は、前記受信したブロックの集合に含まれていない少なくとも１つの消失ブロックを含み、
前記方法は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列を用いて前記少なくとも１つの消失ブロックのデータシンボルを決定することを具備する、
方法。
【請求項１６】
消失訂正符号の複数のブロックのうちのブロックを符号化する方法であって、
各ブロックは、複数のデータシンボルおよび複数のパリティシンボルを含み、
前記方法は、前記複数のブロックのうち符号化行列の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、ブロックのパリティシンボルを設定することを具備し、
前記符号化行列は、反対角行列と完全非特異行列とのクロネッカー積である、
方法。
【請求項１７】
ブロック消失訂正符号を生成する方法であって、
消失訂正符号によって符号化されるブロックは、それぞれ、前記消失訂正符号によって符号化されるブロックの集合の全てのデータシンボルがｒ個のブロックが消失した場合にｋ個の生存ブロックから回復可能であるように、ｍ個のデータシンボルおよびｐ個のパリティシンボルを含み、
前記方法は、ブロック毎のパリティシンボルの他のブロックのデータシンボルからの計算を示す符号化行列を、（ｍ＋ｐ）行×（ｍ＋ｐ）列の反対角行列と完全非特異なｋ行×ｒ列の行列とのクロネッカー積として計算することを具備する、
方法。
【請求項１８】
プロセッサでの実行時に当該プロセッサに請求項１５記載の方法を行わせるコンピュータ可読命令を具備するコンピュータプログラム製品。
【請求項１９】
プロセッサでの実行時に当該プロセッサに請求項１６記載の方法を行わせるコンピュータ可読命令を具備するコンピュータプログラム製品。
【請求項２０】
プロセッサでの実行時に当該プロセッサに請求項１７記載の方法を行わせるコンピュータ可読命令を具備するコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに記述される実施形態は、一般に、消失訂正符号を用いて符号化および復号するための方法および装置と、消失訂正符号を生成するための方法および装置とに関する。
【背景技術】
【０００２】
消失訂正符号は、消失によって失われたデータを復元することを可能にする符号体系における冗長性の導入を伴う。
【０００３】
高パケットロスに対処するために消失訂正符号が使用される、分散ネットワークを含む消失訂正符号の多くの用途（損失のあるチャネル上でのビデオストリーミング、分散ネットワークストレージおよび冗長ディスクドライブ）が存在する。
【０００４】
消失訂正符号の１つの用途は、分散型センサネットワーク、例えばエネルギー利用のモニタリングにある。いわゆる「スマートグリッド」を形成する既存のエネルギーグリッドの近代化が、ユーティリティ・プロバイダと消費者との間のリアルタイムな情報交換を可能にし、より効率的なエネルギー管理を達成するであろうと予想されている。無線センサネットワークは、消費者のエネルギー消費をモニタリングし、それをユーティリティ・プロバイダに伝えるために使用されるであろう。
【図面の簡単な説明】
【０００５】
以降、例としてのみ、添付の図面を参照して、実施形態が説明される。
【図１】図１は、実施形態に従う無線センサネットワークを示す。
【図２】図２は、実施形態において用いられる垂直配列消失訂正符号を示す。
【図３】図３は、実施形態に従うスマートメーターを示す。
【図４】図４は、実施形態に従うコンセントレータ・ノードを示す。
【図５】図５は、実施形態に従うセンサネットワークの初期化方法を示す。
【図６】図６は、実施形態に従うセンサネットワークの初期化方法を示す。
【図７】図７は、実施形態に従う、初期化処理に応じてセンサネットワークのノードで実行される方法を示す。
【図８】図８は、実施形態に従う、初期化処理に応じてセンサネットワークのノードで実行される方法を示す。
【図９】図９は、実施形態に従うエネルギー利用をモニタリングする方法を示す。
【図１０】図１０は、実施形態に従うエネルギー利用をモニタリングする方法を示す。
【発明を実施するための形態】
【０００６】
実施形態によれば、受信したブロック消失訂正符号のブロックの集合を復号する復号器は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列のためのストレージと、符号化行列を用いて少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能なプロセッサとを含む。ブロックは、それぞれ、複数のデータシンボルおよび複数のパリティシンボルを含む。受信したブロックの集合は、ブロックの完全集合のうちの部分集合であり、ブロックの完全集合は受信したブロックの集合に含まれない少なくとも１つの消失ブロックを含む。
【０００７】
実施形態において、プロセッサは、符号化行列の逆行列を計算することによって、少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能である。
【０００８】
実施形態において、プロセッサは、少なくとも１つの消失ブロックに対応する符号化行列の行および列を決定し、少なくとも１つの消失ブロックに対応する符号化行列の行および列から形成される行列の逆行列を計算することによって少なくとも１つの消失ブロックのデータシンボルを決定するために使用可能である。
【０００９】
実施形態において、復号器は、センサネットワークのコンセントレータ・ノードの一部である。センサネットワークは、複数のノードを含む。複数のノードの各ノードは、複数のデータシンボルおよび複数のパリティシンボルを含むブロックを生成し、生成したブロックをコンセントレータ・ノードへと送信するために使用可能である。
【００１０】
実施形態において、復号器は、複数のノードのノード数を決定し、複数のノードのノード数を考慮して符号化行列を生成するために使用可能である。
【００１１】
実施形態において、復号器は、生成した符号化行列の指示を複数のノードの各ノードへと送信するために使用可能である。
【００１２】
実施形態において、復号器は、複数の符号化行列のためのストレージを含み、復号器は、複数のノードのノード数を決定し、複数のノードのノード数を考慮して複数の符号化行列から符号化行列を選択するために使用可能である。
【００１３】
実施形態において、復号器は、選択した符号化行列の指示を複数のノードの各ノードへと送信するためにさらに使用可能である。
【００１４】
実施形態によれば、符号化器は、複数のブロックのうち符号化行列の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、消失訂正符号の複数のブロックのうちのブロックのパリティシンボルを設定するように構成され、符号化行列は、反対角行列と完全非特異行列とのクロネッカー積である。
【００１５】
実施形態において、符号化器は、符号化行列の少なくとも一部を受信するように構成された通信モジュールをさらに含む。
【００１６】
実施形態において、符号化器は、複数の符号化行列のためのストレージをさらに含み、符号化器は、ブロックのパリティシンボルを設定するために複数の符号化行列から符号化行列を選択するように構成される。
【００１７】
実施形態において、符号化器は、複数の符号化行列からの符号化行列の指示を受信するように構成された通信モジュールをさらに含み、符号化器は、指示に従って、ブロックのパリティシンボルを設定するために複数の符号化行列から符号化行列を選択するように構成される。
【００１８】
実施形態において、センサネットワークのセンサは、符号化器を含む。
【００１９】
実施形態において、スマートメーターは、符号化器を含む。
【００２０】
実施形態において、受信したブロックの集合を復号する方法は、反対角行列と完全非特異行列とのクロネッカー積である符号化行列を用いて少なくとも１つの消失ブロックのデータシンボルを決定することを含む。
【００２１】
実施形態において、消失訂正符号の複数のブロックのうちのブロックを符号化する方法は、複数のブロックのうち符号化行列（これは、反対角行列と完全非特異行列とのクロネッカー積である）の列に従って選択される他のブロックのデータシンボルの組み合わせを用いて、ブロックのパリティシンボルを設定することを含む。
【００２２】
実施形態において、ブロック消失訂正符号を生成する方法は、ブロック毎のパリティシンボルの他のブロックのデータシンボルからの計算を示す符号化行列を、（ｍ＋ｐ）行×（ｍ＋ｐ）列の反対角行列と完全非特異なｋ行×ｒ列の行列とのクロネッカー積として計算することを含む。消失訂正符号によって符号化されるブロックは、それぞれ、消失訂正符号によって符号化されるブロックの集合の全てのデータシンボルがｒ個のブロックが消失した場合にｋ個の生存ブロックから回復可能であるように、ｍ個のデータシンボルおよびｐ個のパリティシンボルを含む。
【００２３】
実施形態は、プロセッサによる実行時に、当該プロセッサに上述の方法を行わせるコンピュータ可読命令を含むコンピュータプログラム製品を提供する。コンピュータプログラム製品は伝送媒体で具体化されてもよく、これは記録媒体または信号媒体であってよい。記録媒体は、光学記録手段、磁気記録手段、または、電子記録手段を含んでもよい。
【００２４】
記述された実施形態は、特定のハードウェアデバイス、適切なソフトウェアにより構成された汎用デバイス、または両者の組み合わせに組み込むことができる。態様は、完全なソフトウェア実装、または、既存のソフトウェアの修正若しくは拡張のためのアドオンコンポーネント（プラグインなど）として、ソフトウェア製品で具体化することができる。係るソフトウェア製品は、記録媒体（例えば、光学ディスクまたはフラッシュメモリなどのマスストレージメモリ）または信号媒体（ダウンロード）などの、伝送媒体で具体化することができる。実施形態に適した特定のハードウェアデバイスは、ＡＳＩＣ、ＦＰＧＡまたはＤＳＰなどの特定用途デバイス、または、他の専用の機能的なハードウェア手段を含むことができる。読者は、ソフトウェアまたはハードウェアでの実施形態の前述の検討は、どれも、これから発見または確定（ｄｅｆｉｎｅ）されることになる実行手段での発明の将来の実装を制限しないと理解するだろう。
【００２５】
図１は、実施形態に従う無線センサネットワークを示す。無線センサネットワーク１００は、複数のノード１１０，１１２、１１４，１１６および１１８と、コンセントレータ・ノード１２０とを含む。ノード１１０、１１２、１１４、１１６および１１８の各々は、住宅および／または事業の不動産におけるメーターである。ノード１１０、１１２、１１４、１１６および１１８は、消費者のエネルギー消費をモニタリングし、それをユーティリティ・プロバイダに伝える。ノード１１０、１１２、１１４、１１６および１１８は、それらの消費を近くに設置されたコンセントレータ・ノード１２０に報告する。ノードおよび／またはコンセントレータ・ノード間の通信は、無線であって、例えばＩＥＥＥ８０２．１１ｎなどの技術を用いる。
【００２６】
エネルギー利用のモニタリングは非常に頻繁（例えば数秒オーダなど）であり得るが、コンセントレータ・ノードによるデータ収集は比較的低頻度（例えば数時間または数日オーダ）である。これは、データが家屋（すなわち、ネットワーク内のノード）に蓄積および保存され、要求があればコンセントレータ・ノードへと放出されることを意味する。しかしながら、全ての通信が無線であるならば、家屋はコンセントレータ・ノードに間欠的に接続されるに過ぎないかもしれない。所与の時間に、信頼性が高い通信リンクが利用可能でない可能性がある。その場合には、全ノードのうちの部分集合と通信するだけで全ノードからのデータを得ることが望ましいであろう。これは、ネットワークに冗長性が導入されるならば、すなわち、１つのノードからのデータが１以上の他のノードに保存されるならば、可能である。適切な方式があれば、全ｎ個のノードからのデータを、それらのうちのｋ個から回復することが可能となり得る。別の利点は、全てのノードとの通信が可能であっても、コンセントレータ・ノードはただｋ個のノードと連絡をとりさえすればよいことであり得る。
【００２７】
これは、消失訂正符号を使用することで達成することができる。消失訂正符号は、いくつかの観測結果が消失しても全データを復元することを可能にする。そのようになるのは、いくつかの家屋がコンセントレータ・ノードと通信できない場合である。適切な符号は垂直配列符号であって、これは図２に例示される。
【００２８】
図２は、実施形態に従う垂直配列符号を示す。各列は、ネットワーク内のノードを表しており、それ自身のデータと他のノードからのデータについてのパリティシンボルとからなる。ｎ個のノードがあれば、列のうちｋ個が分かるだけでデータは復元可能となるはずである。消失訂正符号が、冗長性を与えられたとして、最大数の消失シンボルを訂正できるならば、当該符号は最大距離分離（ＭＤＳ）だと言われている。パリティシンボルができるだけ少ないデータシンボルの関数であることはノード間で交換される必要のあるデータパケットの数を最小化するので、これも重要である。この特性を持つ消失訂正符号は、低密度と呼ばれる。
【００２９】
センサネットワークのコンテクストにおいて消失訂正符号が機能する道筋は、ネットワーク内の各ノードがエネルギー消費を示すそれ自身のデータを生成するであろうことである。ノードは、それから、当該ノードが機能しなくなる場合に備えてデータの複製を持つために、他のノードとデータを共有するであろう。
【００３０】
ここで留意すべきは、１つのノードからの全てのデータが、ｒ個の他のノードに完全かつ単純に複製され得ることである。データはｒ＋１個のノードに存在するので、ネットワークはそれらのうちｒ個が機能しなくなることにも少なくとも１つの複製が生存しているので対処できる。しかしながら、これは、ノードの障害に対して回復力があるが非効率的な方法である。同レベルの消失訂正を達成することができるばかりでなく冗長性および保存がはるかに少ない、より良好な符号を設計することができる。コンセントレータ・ノードがネットワークからのデータを必要とする場合に、それはｎ個のノードのうちｋ個に接続すれば十分である。消失訂正符号により、ｎ−ｋ個の障害のあるノードからのデータを復元することができる。これは、ｋ個の生存ノードにおけるパリティシンボルに対するデータの既知の依存性を用いてなされる。
【００３１】
それぞれがｍ個の情報メッセージとｐ個のパリティメッセージとを生成するｎ個のノードを持つネットワークを考慮する。ノードｉに保存されるこれらｍ＋ｐ個のメッセージは、図２の垂直配列符号の第ｉ列に対応する。数学的に、図２の符号は、以下の形式の（ｍ＋ｐ）行×ｎ列の行列で定義される。
【００３２】
【数１】
2016523066.tif 000003
【００３３】
ここで、ｄｉ，ｊおよびｆｉ，ｊはそれぞれデータおよびパリティシンボルであって、有限体ＧＦ（ｑ）から選ばれる。ここで、ｑ＝ｂｌは素数ｂのべき乗である。
【００３４】
ｒ＝ｎ−ｋを消失の最大数、すなわち、符号が訂正することのできるノード障害とする。符号がＭＤＳであるためには、パラメータｒ、ｋ、ｍおよびｐの間に以下の関係が満足しなければならない。これは、符号語間の最小距離が最大化されることを課すことにより導出される。
【００３５】
【数２】
2016523066.tif 000004
【００３６】
符号化演算をベクトル行列乗算として書くことができるように、配列符号（１）をサイズｎ（ｍ＋ｐ）の１次元の線形符号として表すことは有用である。
【００３７】
【数３】
2016523066.tif 000005
【００３８】
ここで、ｃは符号語である。
【００３９】
【数４】
2016523066.tif 000006
【００４０】
ｄは、データシンボルのベクトルである。
【００４１】
【数５】
2016523066.tif 000007
【００４２】
Ｇは、ｎｍ行×ｎ（ｍ＋ｐ）列の生成行列である。
【００４３】
【数６】
2016523066.tif 000008
【００４４】
この表現では、生成行列は組織的な形式、Ｇ＝（Ｉｎｍ｜Ａ）に整えられている。ここで、非組織的な部分Ａは、サイズがｍ行×ｐ列のブロックＡ＝［Ａｉ，ｊ］ｎｉ，ｊ＝１に分割されている。
【００４５】
従って、符号設計問題は、以下の特性が満足されるようなやり方でｎｍ行×ｎｐ列の行列Ａを設計することと等価である。
【００４６】
［１．  ＭＤＳ特性］  ｒ個のノードまでの任意の障害、すなわち、（１）のｒ個の列までの任意の消失組み合わせに対して、ｋ個の生存ノードからｎｍ個の情報メッセージの全てを回復することができる。
【００４７】
［２．  低密度特性］  Ａの各行にちょうどｒ個の非零のエントリがあり、Ａの各列にちょうどｋ個の非零のエントリがある。これは可能な限り最低の密度の非零要素を持つ生成行列をもたらす。
【００４８】
［３．  有限のアルファベット］  Ａの非零エントリは、有限体ＧＦ（ｑ）に属する。
【００４９】
［４．  設計の一般性］  構造は、任意の数のノードｎおよびノードの障害ｆに適用可能である。
【００５０】
ＭＤＳ符号の文献において入手可能な他の設計とは異なり、我々の構造は上記特性全てを成し遂げる。
【００５１】
Ａの構造は、以下のように与えられる。
【００５２】
【数７】
2016523066.tif 000009
【００５３】
ここで、Ｄは、以下に定義される反対角の（ｍ＋ｐ）行×（ｍ＋ｐ）列の行列である。
【００５４】
【数８】
2016523066.tif 000010
【００５５】
【数９】
2016523066.tif 000011
【００５６】
は、クロネッカー積を表し、Ｓは、Ｓの任意のｌ行×ｌ列（１≦ｌ≦ｍｉｎ（ｋ，ｒ））のサブ行列が非特異であるｋ行×ｒ列の完全非特異行列である。完全非特異行列の例として、シングルトン行列をＳに選ぶことができる。シングルトン行列は、所与の行列サイズに対して最小のアルファベットを持つ完全非特異行列であるという付加的な利点を持つ。
【００５７】
［ノード置換］  行列Ａへの行および列置換になる置換をノードに適用する（すなわち、ノードのラベルを張り直す）ことによって、同一の最適な特性を持つ異なった符号を得ることができる。合計で、そのような置換はｎｌ個ある。
【００５８】
［双対］  ｎ個のノード、ｋ＝ｎ−ｒ個の最小数の生存ノード、ノード毎のｍ個の情報メッセージおよびノード毎のｐ個のパリティメッセージについてＭＤＳ符号が設計されたならば、同一の構造が「双対」符号のために使用することができる。これも最小密度のＭＤＳである。双対符号は、同一数のノードｎにより特徴付けられるが、ｋおよびｒの役割は交換され、パラメータｍおよびｐも交換される。
【００５９】
［互いに素でないｍおよびｐへの拡張］  ｍおよびｐが互いに素な場合についてＭＤＳ符号を構築したならば、当該符号を任意の倍数ａｍおよびａｐ（ａは正の整数）に容易に拡張することができる。拡張符号は、マザーコードを単にａ回再利用することによって導出される。故に、拡張符号の生成行列Ｇａは以下で与えられる。
【００６０】
【数１０】
2016523066.tif 000012
【００６１】
ここで、Ｇは元の符号の生成行列であり、Ｉａはａ行×ａ列の単位行列である。直接（７）を用いる代わりに構造（９）を用いることの利点は、ノード毎にａｐ個の異なる符号化演算および（ｒ個の障害のあるノードのために）サイズがｒａｍの単一の復号システムを備える代わりに同一の符号化および復号演算をａ回繰り返すことができる点である。
【００６２】
［符号化］  符号化演算は、ｎ個のノードの各々についてパリティメッセージを生成することにある。各パリティメッセージは、他のノードから提供されるｋ個のデータメッセージの一次結合によって得られる。乗算および加算は、ＧＦ（ｑ）で実行される。特に、ノードｉについてのｐ個のパリティメッセージは以下で与えられる。
【００６３】
【数１１】
2016523066.tif 000013
【００６４】
［復号］  復号演算は、ｒ個までのノード障害が発生した場合にデータメッセージの全てを回復することにある。Ｆ＝｛ｉ１，．．．，ｉｒ｝を障害のあるノードの集合とし、Ｓ＝｛１，．．．，ｎ｝＼Ｆ＝｛ｉｒ＋１，．．．，ｉｎ｝を生存ノードの集合とする。ｋ個の生存ノードによって生成されるデータメッセージはこれらのノードから直接的に回復され、これらｍｋ個のメッセージを以下のようにグループ化する。
【００６５】
【数１２】
2016523066.tif 000014
【００６６】
その一方で、障害のあるノードに由来する残りのｍｒ個のメッセージは、下記を形成する。
【００６７】
【数１３】
2016523066.tif 000015
【００６８】
従って、生存ノードに対応する、生成行列の非組織的な部分のｋ個のブロック列は以下のように分割することができる。
【００６９】
【数１４】
2016523066.tif 000016
【００７０】
ここで留意すべきは、（２）よりｍｒ＝ｐｋであるからＡｆが正方であるということである。生存ノードのｐｋ個のパリティメッセージは以下のように書くことができる。
【００７１】
【数１５】
2016523066.tif 000017
【００７２】
従って、未知数ｄｆについて数式（１６）を解くことができる。
【００７３】
【数１６】
2016523066.tif 000018
【００７４】
構造（７）に関して行列Ａｆは常に非特異であることを示すことができる。ここで留意すべきは、行列Ａｆの疎な性質のために、実際には、（１７）の計算は、高々サイズｍｉｎ｛ｋ，ｒ｝の逆行列化を必要とする多数のサブシステムを解くことによる単純化された流儀でなされる。
【００７５】
復号アルゴリズムは、以下のように擬似言語で系統立てて述べることができる。
【００７６】
［アルゴリズム１  ＭＤＳ符号の復号］
【００７７】
【数１７】
2016523066.tif 000019
【００７８】
ｒ個よりも少ないノードが障害のある、それ故にｋより多くの生存ノードがある場合には、（１７）がやはり当てはまり、ここではｋ個の生存ノードだけが全情報を回復するためにコンセントレータ・ノードによって用いられる。これは、コンセントレータ・ノードへ転送されなければならないデータおよびパリティメッセージの量を削減する。或いは、データおよびパリティメッセージを全ての生存ノードから収集することも可能であって、逆行列をムーア−ペンローズの擬似逆行列によって置き換えた状態で（１７）がやはり当てはまる。
【００７９】
一例として、ｎ＝５個のノード、ノードの障害の最大数ｒ＝ｎ−ｋ＝２、ｍ＝３およびｐ＝２を備えるネットワークを検討する。条件（２）は満足され、それ故、最低密度のＭＤＳ符号は構造（７）を用いて以下のように設計することができる。
【００８０】
【数１８】
2016523066.tif 000020
【００８１】
Ａ行列は、サイズｍ行×ｐ列のブロックに分割することができ、この列および行にはそれぞれｎ個ある。
【００８２】
この例では、アルファベットサイズはｑ＝５であり、故に符号化および復号演算全てがＧＦ（５）で実行される。（１）のパリティシンボルは、下記となる。
【００８３】
【数１９】
2016523066.tif 000021
【００８４】
［符号化］  ノードｉ（ｉ＝１，．．．，５）は、（１０）に従って、他のノードから受信した３個のデータメッセージの一次結合を単に計算することにより、自身のｐ＝２個のパリティ検査メッセージの各々を生成する。例えば、データメッセージが下記であるとする。
【００８５】
【数２０】
2016523066.tif 000022
【００８６】
この場合に、符号語の非組織的な部分は下記と分かる。
【００８７】
【数２１】
2016523066.tif 000023
【００８８】
（１）のデータおよびパリティ配列は、下記となる。
【００８９】
【数２２】
2016523066.tif 000024
【００９０】
［復号］  ノード１および２が障害のある、それ故にＦ＝｛１，２｝およびＳ＝｛３，４，５｝と仮定する。生存ノードのデータメッセージは直接的に回復することができる。これらは（１１）のデータベクトルｄｓをもたらす。残りのデータメッセージは、下記について（１７）を解くことにより復号することができる。
【００９１】
【数２３】
2016523066.tif 000025
【００９２】
行列（１３）は、以下で与えられる。
【００９３】
【数２４】
2016523066.tif 000026
【００９４】
そして行列（１４）は下記と分かる。
【００９５】
【数２５】
2016523066.tif 000027
【００９６】
それから、アルゴリズム１を適用することにより、計算後は下記となる。
【００９７】
【数２６】
2016523066.tif 000028
【００９８】
（２１）における６つの未知数のうち４つは以下で与えられることが分かる。
【００９９】
【数２７】
2016523066.tif 000029
【０１００】
その一方で他の２つの未知数は、以下の２×２システムを解くことにより得られる。
【０１０１】
【数２８】
2016523066.tif 000030
【０１０２】
これは下記をもたらす。
【０１０３】
【数２９】
2016523066.tif 000031
【０１０４】
（２５）および（２７）を組み合わせると、全ての消失データが回復されたことが分かる。
【０１０５】
提案される符号は、任意の数のノードおよび障害を扱うことができ、その一方でそれでもなお最適である。これは、例えば、ノード数が設計パラメータではなく用途によって与えられるスマートグリッド用のセンサネットワークでの使用時に、融通性を与える。
【０１０６】
図３は、実施形態に従うスマートメーターを示す。スマートメーター３００は、図１に示されるネットワーク１００においてノードとして機能する。スマートメーター３００は、メーターモジュール３１０と、通信モジュール３２０と、プロセッサ３３０と、ストレージ３４０とを含む。メーターモジュール３１０は、エネルギー利用をモニタリングするように構成される。通信モジュールは、アンテナ３２５に連結され、ＩＥＥＥ８０２．１１ｎなどの無線プロトコルを用いて無線ネットワーク上で信号を送受信できる。ストレージ３４０は、符号ストレージ３４２、メーターデータ３４４用のストレージおよび他のノードから受信したデータ３４６用のストレージを含む。ストレージは、揮発性メモリ、不揮発性メモリまたは両者の組み合わせとして実装されてよい。
【０１０７】
実施形態において、符号ストレージ３４２は消失訂正符号のインデックス付き集合（ｉｎｄｅｘｅｄ  ｓｅｔ）を保存し、通信モジュール３２０は当該集合からの消失訂正符号の指示をコンセントレータ・ノードから受信するために使用可能である。
【０１０８】
実施形態において、符号ストレージは、消失訂正符号またはコンセントレータ・ノードから無線ネットワーク上で受信される符号化行列の一部を保存する。
【０１０９】
消失訂正符号の指示が選択される処理は、図５および図６を参照して以下により詳細に記述される。
【０１１０】
プロセッサは、メーターデータ３４４を示すデータシンボルと他のノードからのデータ３４６から決定されたパリティブロックとを含む、上述の消失訂正符号を用いて符号化された消失訂正符号ブロックを生成するために使用可能である。
【０１１１】
図４は、実施形態に従うコンセントレータ・ノード４００を示す。コンセントレータ・ノード４００は、通信モジュール４２０と、プロセッサ４３０と、ストレージ４４０と、出力モジュール４５０とを含む。通信モジュール４２０は、アンテナ４２５に連結され、ＩＥＥＥ８０２．１１ｎなどの無線プロトコルを用いて無線ネットワーク上で信号を送受信できる。ストレージ４４０は、符号ストレージ４４２を含む。
【０１１２】
実施形態において、コンセントレータ・ノード４００の符号ストレージ４４２は消失訂正符号のインデックス付き集合を保存し、プロセッサは初期化処理中にインデックス付き消失訂正符号の１つを選択するために使用可能である。
【０１１３】
実施形態において、プロセッサは初期化処理中に消失訂正符号を生成するために使用可能である。
【０１１４】
初期化処理は、図５および図６を参照して以下により詳細に記述される。
【０１１５】
図５は、実施形態に従う初期化方法を示す。図５に示される方法のステップは、コンセントレータ・ノード４００によって実行される。
【０１１６】
ステップＳ５０２において、コンセントレータ・ノード４００は、ネットワーク内のノードおよびそれらの間の接続の数を決定する。
【０１１７】
ステップＳ５０４において、コンセントレータ・ノード４００のプロセッサ４３０は、決定したノード数に基づいて符号を生成する。上で論じたように、ここで説明される方法は、可能な限り最低の密度を持ち任意の数の障害に寛容であるＭＤＳ符号が任意のノード数に対して構築されることを可能にする。障害の数は、選択可能であってもよいし、プリセットされてもよい。
【０１１８】
ステップＳ５０６において、生成された符号が、コンセントレータ・ノード４００の通信モジュール４２０を用いてノードへと送信される。符号化行列Ａを全てのノードに送信することにより、符号が送信されてもよい。実施形態では、コンセントレータ・ノードは、ノードの各々に符号化行列のうち必要とされる列だけを送信する。
【０１１９】
図６は、実施形態に従う初期化方法を示す。図６に示される方法において、ノードの各々は、上述の方法を用いて予め計算された符号の集合を保存する。符号は、様々なノード数について予め計算されており、様々な数の障害についても予め計算されてもよい。
【０１２０】
ステップＳ６０２において、コンセントレータ・ノード４００はネットワーク内のノードおよびそれらの間の接続の数を決定する。
【０１２１】
ステップＳ６０４において、プロセッサは、保存された符号をステップＳ６０２において決定したノード数に基づいて選択し、選択した符号を示すインデックス値を決定する。
【０１２２】
ステップＳ６０６において、コンセントレータ・ノードは、選択した符号を示すインデックス値を、ネットワークのノードへと送信する。ネットワークのノードも、符号のインデックス付き集合を保存し、その結果、選択された符号はインデックスを用いてノードにより得ることができる。
【０１２３】
図７は、実施形態に従う、コンセントレータ・ノードでの初期化処理に応じてノードで実行される方法を示す。
【０１２４】
ステップＳ７０２において、ノード３００は、コンセントレータ・ノード４００によって生成された符号を受信する。符号は、図５を参照して上述した方法に従ってコンセントレータ・ノード４００によって生成される。
【０１２５】
ステップＳ７０４において、ノード３００は、受信した符号を、当該ノード３００の符号ストレージ３４２に保存する。上で論じられたように、ノードは、上記数式（７）に従って構築される符号化行列Ａのうち必要とされる部分だけを保存してもよい。
【０１２６】
図８は、実施形態に従う、コンセントレータ・ノードでの初期化処理に応じてノードで実行される方法を示す。
【０１２７】
ステップＳ８０２において、ノード３００は、コンセントレータ・ノード４００によって選択された符号の指示を受信する。指示は、ノード４００の符号ストレージ３４２に保存されるコードを示す。符号の指示は、図６を参照して上述した方法に従ってコンセントレータ・ノード４００によって生成される。
【０１２８】
ステップＳ８０４において、ノード３００は、指示を用いて、符号ストレージ３４２に保存されたどの符号を符号化時に使用するかを決定する。
【０１２９】
図９は、実施形態に従う、センサネットワークのノードによって実行されるエネルギー利用のモニタリング方法を示す。
【０１３０】
ステップＳ９０２において、メーターモジュール３１０は、エネルギー利用をモニタリングし、エネルギー利用を示すデータをメーターデータ３４４としてストレージ３４０に保存する。
【０１３１】
ステップＳ９０４において、通信モジュール３２０は、ストレージ３４０に保存されたメーターデータ３４４を隣接するノードへとマルチキャストする。
【０１３２】
ステップＳ９０６において、通信モジュールは、他のノードからデータを受信する。受信したデータは、他のノードから受信したデータ３４６としてストレージ３４０に保存される。
【０１３３】
定期的に、または、コンセントレータ・ノードからの要求に応じて、ネットワークのノードは、保存されたメーターデータおよび保存された他のノードから受信したデータを用いてブロックを生成する。
【０１３４】
図１０は、センサネットワークのノードｉによって生成されるブロック１０００を示す。ブロック１０００は、データシンボルｄ１，ｉ．．．ｄｍ，ｉおよびパリティシンボルｆ１，ｉ．．．ｆｐ，ｉを含む。データシンボルは、ノード３００に保存されるメーターデータ３４４である。パリティシンボルは、コンセントレータ・ノードによって生成または選択される消失訂正符号を用いて、上記数式（１０）に従って生成される。
【０１３５】
コンセントレータ・ノードは、ネットワークのノードによって生成されたブロックを受信し、数式（１７）に関して上述した方法を用いて任意の消失ブロックからのデータを再現するために、受信したブロックからのパリティデータを使用する。
【０１３６】
上述のように、実施形態は、任意の数のノードを持つネットワークについて、ならびに、任意の数の障害のある若しくは消失したブロックについて、消失訂正符号が生成されることを可能とする。故に、実施形態は、効率的かつネットワーク内のノード数の変化に適応可能に構成できる符号化方式を提供する。
【０１３７】
上述の実施形態では、初期化処理はコンセントレータ・ノードで実行される。しかしながら、初期化処理が分散的な流儀で動作する実施形態が予想される。係る実施形態では、ノード間での協調がある。
【０１３８】
上述の実施形態はエネルギー利用のモニタリングに関連するが、当業者は、高パケットロスのネットワーク、損失のあるチャネル上でのビデオストリーミング、分散ネットワークストレージおよび冗長ディスクドライブなどの種々の用途での使用に符号化方式が適応可能であることを認識するだろう。
【０１３９】
例えば、１つの用途は、損失のあるチャネルを通してデータを送信することである。失われたパケット中のデータは、受信したパケットのパリティ情報から生成することができる。この例でが、ブロック消失訂正符号は、失われたパケットが受信パケットのパリティ情報から回復される上位層パケット回復機構として使用することができる。
【０１４０】
この場合には、パラメータは、いくつかの上位層チャネル品質測定（例えば、パケット損失率またはパケット処理遅延）に基づいて決定されるであろう。提案されるブロック消失訂正符号を用いることの利点は、パラメータ選択の融通性にあるだろう。
【０１４１】
符号化パラメータのカスタム化は、ネットワークトポロジおよび他の要求（例えば、必要とされる保護レベルおよび符号化演算に関係するノードの最大数）により適応ささせることができる。符号が生成される前に、コンセントレータ・ノード（または、分散的なアプローチの場合には多数のノード）が、ネットワークトポロジの情報を獲得する段階がある。これは、例えばルーティングプロトコルにおける隣接リストを用いることで可能となるかもしれない。
【０１４２】
それから、障害保護方式に関係するノード数（パラメータｎ）、保護レベル（すなわち、符号が耐えるべきブロック消失の数はいくつか）（パラメータｒ）、ならびに、並列に処理されるデータシンボルの数（パラメータｍ）への決定がなされる。
【０１４３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な方法、システム、装置およびネットワークは、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2016523066.tif 000032
【図２】
2016523066.tif 000033
【図３】
2016523066.tif 000034
【図４】
2016523066.tif 000035
【図５】
2016523066.tif 000036
【図６】
2016523066.tif 000037
【図７】
2016523066.tif 000038
【図８】
2016523066.tif 000039
【図９】
2016523066.tif 000040
【図１０】
2016523066.tif 000041
【国際調査報告】
2016523066.tif 000042
2016523066.tif 000043
2016523066.tif 000044