(57)【要約】  パケットをスクランブルするのに用いるパラメータを変更する方法を開示する。最初のパケットスクランブルによってキラーパケットが生成される場合、パラメータに別の値を用いてパケットを再スクランブルすることで、キラーパケットを回避する。周波数ホッピング通信を採用するネットワークでは、スクランブルアルゴリズムの入力としてチャネル識別子を使用できる。この実施例においては、データパケットをスクランブルして、第１のビット列としてあるチャネルを介して送信すると同時に、第２のビット列として別のチャネルを介して送信する。これらのチャネルの一方を介して送信されたスクランブルパケットがキラーパケットとなった場合、他方のチャネルを介して再送した際に再びキラーパケットとなる確率は統計学的にみて非常に低い。
2011523296.tif 000002
【特許請求の範囲】
【請求項１】
送信ノード及び受信ノード間でデータパケットを通信する無線通信ネットワークで使用される送信ノードであって、
パケットデータを受信するとともに、スクランブルアルゴリズムのパラメータ値に応じて当該データを変更するデータスクランブル手段と、
前記受信ノード側で事前に知られた複数の異なる値を生成し、個々の生成された値を前記パラメータ値として前記データスクランブル手段に入力するパラメータ値生成デバイスと、
前記変更されたデータを前記無線通信ネットワークを介して前記受信ノードに送信する送信手段と
を具備することを特徴とする送信ノード。
【請求項２】
前記パラメータ値は、周期的に変化する
ことを特徴とする請求項１記載の送信ノード。
【請求項３】
前記無線通信ネットワークは、周波数ホッピング通信を利用し、
前記パラメータは、送信チャネルの前記周波数に対応付けられる識別子である
ことを特徴とする請求項２記載の送信ノード。
【請求項４】
前記スクランブルのパラメータは、スクランブルアルゴリズムを初期化するシード値である
ことを特徴とする請求項２記載の送信ノード。
【請求項５】
前記スクランブルのパラメータは、時間の符号である
ことを特徴とする請求項２記載の送信ノード。
【請求項６】
連続する期間に異なる周波数チャネルを介してパケットを送信する周波数ホッピングを利用した無線通信ネットワークにおける送信ノード及び受信ノード間でデータパケットを通信するシステムであって、
各ノードは、
パケットデータを受信するとともに、入力されたシード値に応じて当該データを変更するデータスクランブル手段と、
前記無線通信ネットワークを介して通信される前記変更されたデータの送信及び受信の少なくともいずれかを行なう送受信手段と、
ある所定のタイミングでデータ通信に使用される前記周波数チャネルを示す値を生成し、当該値を前記シード値として前記データスクランブル手段に入力することで、前記データの送信に使用されるチャネルに応じて、データを種々の方法でスクランブルさせるチャネル識別手段と
を具備することを特徴とするシステム。
【請求項７】
無線通信ネットワークにおける送信ノード及び受信ノード間でデータパケットを通信する方法であって、
第１のセットのスクランブルデータを生成するために、スクランブルアルゴリズムに入力されるスクランブルパラメータ用の第１の値に応じてパケットデータをスクランブルするステップと、
前記第１のセットのスクランブルデータが前記受信ノード側で検出されないデータビット列を含むか否かを判定するステップと、
前記第１のセットのスクランブルデータが検出されないビット列を含むと判定された場合に第２のセットのスクランブルデータを生成するために、前記スクランブルパラメータ用の第２の値に応じて前記パケットデータをスクランブルするステップと、
前記第２のセットのスクランブルデータを含むパケットを前記受信ノードに送信するステップと
を含むことを特徴とする方法。
【請求項８】
前記判定するステップは、前記送信ノード側で実行される
ことを特徴とする請求項７記載の方法。
【請求項９】
前記受信ノードは、
前記受信したパケットから２つのデスクランブルパケットを生成するために、前記スクランブルパラメータ用の前記第１の値及び前記第２の値の各々に応じて受信したパケットのデータをデスクランブルするステップと、
信頼性のあるデータを含む前記２つのデスクランブルパケットのいずれかを選択するステップと、
前記選択されたパケットに含まれる前記データを復号化するために前記選択されたパケットを処理するステップと
を含むことを特徴とする請求項７記載の方法。
【請求項１０】
前記第１のセットのスクランブルデータを含むパケットを前記受信ノードに送信するステップ
を更に含み、
前記受信ノードは、
前記第１のセットのスクランブルデータを含む前記パケットの受信に応答して前記判定するステップを実行する
ことを特徴とする請求項７記載の方法。
【請求項１１】
データビット列が検出されないか否かの前記判定は、前記データビット列が、全てのビットが同じ値を有する所定数の連続するビットを含むか否かに基づいて行なわれる
ことを特徴とする請求項７記載の方法。
【請求項１２】
前記スクランブルパラメータは、スクランブルアルゴリズムを初期化するシード値である
ことを特徴とする請求項７記載の方法。
【請求項１３】
前記無線通信ネットワークは、周波数ホッピング通信を利用し、
前記パラメータは、送信チャネルの前記周波数に対応付けられる識別子である
ことを特徴とする請求項１２記載の方法。
【請求項１４】
前記無線通信ネットワークは、周波数ホッピング通信を利用し、
前記パラメータは、送信チャネルの前記周波数に対応付けられる識別子である
ことを特徴とする請求項７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信ネットワークにおける安全な送信及びロバスト性の高いパケット受信に関する。ここに述べる発明は、データネットワークでの良好なデータ受信を阻害する「キラーパケット」関連の問題に対処するものである。
【背景技術】
【０００２】
無線周波数（ＲＦ）データ通信システム、特に、単純で低コストなシステムにおいては、変調器と復調器の性質上、受信ノード側で確実に復号化できないビット列が送信ノードから送信される可能性がある。これは、送信されたビット列に連続して含まれる０ビット又は１ビットの数が多すぎる場合に起こりうる。
【０００３】
チャネル状態の変化に対処すべく、受信機内の信号復調器は、論理１ビットと論理０ビットを区別するための閾値を動的に自己校正する。この自己校正は、直近の受信信号における受信ビットの平均値を判定することで行なうことができる。例えば、振幅変調を用いる場合は、信号の平均振幅によって、論理１ビット、すなわち高振幅と、論理０ビット、すなわち低振幅とを区別する。また、周波数偏移（Frequency shift keying）方式等の周波数変調を用いる場合は、受信信号の平均周波数を閾値として用いることで、受信信号が含む符号化された２つの異なるビット値を検出する。
【０００４】
全てのビットが同じ値を有するビット列を受信した場合、信号の変調パラメータ、例えば、振幅や周波数はその列中で変化されない。従って、それらのビット値に対して、信号の平均値、すなわち閾値のドリフトが生じる。この場合、復調器は、受信したビットの１或いは０を、高い信頼性をもって検出することができない。パケットを復号化できなかった場合、受信機は送信機にエラーメッセージを送って、パケットの再送を要求する。しかし、復調器のエラーが上述したような特殊なパケットパターンによって引き起こされる以上、再送されたパケットを受信した受信機では、再び同様のエラーが発生する。こうしてパケット送信が繰り返されることになる。受信機からのエラーメッセージ送出とそれに対する送信機からのパケット再送とが繰り返されることで、解消不可能な障害がネットワーク上に生じてしまう。このようなビット列を含むパケットは、「キラーパケット」として知られる。「キラーパケット」とは、信号強度や信号対雑音比が良好であっても確実な処理を行なえないパケットのことである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願第１２／００５，２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
これを防止するために、それぞれのビットの送信状態を切り替えることが行なわれてきた。例えば、ビット周期半ばでローレベルからハイレベルに遷移することで「１」を表し、ハイレベルからローレベルに遷移することで「０」を表す。これは、継続的に復調器が自己校正を行なえるようになるロバスト性の高い方法である。この方法の短所は、データ転送速度が実質的に２倍になる（占有オンエア・スペクトルが２倍になる）一方で、シンボル・レートが変化しないことである。この問題は、特に、帯域幅に制限のある無線データネットワークにおいて好ましくない。
【０００７】
キラーパケットの送信を回避するもう１つの方法は、データをスクランブルすることであり、データの「ホワイトニング」としても知られる。この方法では、送信データビットの順番を入れ替えるか、或いはその値を変更することで、通常のビットパターン（例えば、テキストメッセージや同一の２値ビットを多く含むデータパケット）においては、同一値を持つビットの長い列が送信されることがないようにする。
【０００８】
このスクランブル方法は「単純に」、すなわち、データの事前知識なしに適用される。そのため、スクランブル処理の結果、それまで無害だったビット列が予期せずしてキラーパケットに変化してしまうことがある。統計学的に見て可能性は低いとはいえ、膨大な数のパケットを送信するネットワークではこうした状況が起こることもある。その度に、解決不可能なパケットによるネットワーク障害が生じる。この問題に対処するために、これまでは直流分再生回路等のハードウェアを受信機に内蔵することで、閾値の適正なアライメントを維持してきたが、ハードウェアの付加はコスト増につながる。
【課題を解決するための手段】
【０００９】
パケットのスクランブルに使用するパラメータを変更する方法が開示されている。統計上、異なる値のパラメータを用いて同じデータパケットを２通りにスクランブルした場合、いずれのスクランブルパケットもキラーパケットとなる可能性は低い。従って、元のデータストリームが受信機でキラーパケットとなる場合は、最初のスクランブル処理でキラーパケットイベントを阻止できる可能性が高い。しかし、その最初のスクランブルでキラーパケットが生成されてしまった時には、異なる値のパラメータを用いて再スクランブルを行ない、再送されたパケットがキラーパケットになるのを防止する。
【００１０】
受信機が確実にパケットを解読できるように、変更するパラメータは送受信機間で事前に知られた値を持つものでも良い。例えば、周波数ホッピング方式によるネットワークでは、通信チャネルの周波数は、既知のパターンで変化する。そのため、あるタイミングで用いられる特定の周波数チャネルは、送受信機双方にとって既知のものとなる。スクランブルアルゴリズムの入力としてはチャネル識別子を使用できる。この実現例においては、データパケットをスクランブルして、第１のビット列としてあるチャネルを介して送信すると同時に、第２のビット列として別のチャネルを介して送信する。これらのチャネルの一方を介して送信されたスクランブルパケットがキラーパケットとなった場合、他方のチャネルを介して再送した際に再びキラーパケットとなる確率は統計学的にみて非常に低い。
【００１１】
その他のデータアイテムもスクランブルパラメータとして採用できる。例えば、送信機と受信機が時刻同期をとっている場合、クロック値を変更するスクランブルパラメータとして使用できる。別の例としては、送信パケットに対応付けられたシーケンス番号を利用しても良い。変更するパラメータ値が既知の曖昧性をもって送受信機双方に知られていれる限り、受信機はスクランブルデータパケットを解読できる。
【００１２】
上記の例においては、送信機と受信機の双方が、あるタイミングで用いられるパラメータ値を事前に知っている。別の実現例では、送信パケットを異なるパラメータ値を用いて複数回スクランブルすることが可能であり、受信機ではそれぞれのパラメータ値を用いてデスクランブルすることができる。例えば、２つの異なる値を用いてデータをスクランブルした場合、統計学上、生成されたスクランブルデータが２つともキラーパケットを生じる可能性は非常に低い。そのため、デスクランブルされ且つ復号化された２つのパケットのうち少なくとも１つは受信機で利用可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明が実現される例示的な無線通信ネットワークを示すブロック図である。
【図２】仮想的ＦＨＳＳホッピングシーケンスを示す図である。
【図３】ＦＨＳＳホッピングシーケンスを実現するための例示的なチャネル配列を示す図である。
【図４ａ】スクランブルパラメータとしてチャネル識別子を用いた送信ノード及び受信ノードそれぞれのスクランブル方法を実現するための回路を示すブロック図である。
【図４ｂ】スクランブルパラメータとしてチャネル識別子を用いた送信ノード及び受信ノードそれぞれのスクランブル方法を実現するための回路を示すブロック図である。
【図５】例示的なスクランブラを示す概略図である。
【図６】チャネルインデックスのスクランブル方法を示すフローチャートである。
【図７】データパケットの構造を示す図である。
【図８】別の実施例における送信ノードの動作を示すフローチャートである。
【図９】別の実施例に関するデスクランブラを備えた例示的な受信機を示す概略論理図である。
【発明を実施するための形態】
【００１４】
本発明の前述した態様及び付随する利点は、添付の図面とともに以下に述べる詳細な説明を参照することで更に容易に認識され、より良く理解されるであろう。
【００１５】
ここに述べる発明は、無線或いは有線ネットワークで生じうるキラーパケットの連続再送を回避する手段を提供する。これは、パケット・データ・スクランブルにおける多様性により、パケットそのもののビット列を変更することで達成される。
【００１６】
本発明の基礎概念を理解し易くするために、ＦＳＫ変調及びＦＨＳＳ（周波数ホッピング方式：Frequency-Hopping Spread Spectrum）送信技術を用いた無線ネットワークで実現される実施形態を参照してそれらの概念を説明する。しかし、これらの概念は、別の変調及び／又は送信方法を用いた他の種類のデータネットワークにおいて実現しても良いことは理解されるであろう。
【００１７】
本発明の概念を実現する無線通信ネットワークの一例を図１に示す。ここに図示する特別な例は、公益企業（Utility）等のコモディティ供給業者と企業が供給するコモディティの使用量を監視する計器との間で通信が発生する自動検針・自動検針インフラ（ＡＭＲ（Automated Meter Reading）／ＡＭＩ（Automated Meter Infrastructure））環境に関する。この種の環境では、電気、ガス、水道等のコモディティの使用量を計測する各計器は、ローカルエリアネットワーク１２等の無線ネットワーク内のノード１０に対応する。個々のノードはアクセスポイント、すなわち、ゲートウェイ１４と通信する。次にゲートウェイは、ワイドエリアネットワーク１８、例えば、専用通信網或いはインターネット等の公衆通信網を介して公益企業１６と通信する。ノード１０ｂ、１０ｃ及び１０ｎが示すように、いくつかのノードは、無線リンクによりゲートウェイ１４と直接通信することが可能である。例えば、地理上の距離や地形が原因となって、ノードとゲートウェイとが無線リンクを介して直接通信できないこともある。こうしたノードは、隣接ノードの１つと通信し、その隣接ノードはゲートウェイ１４と直接、或いは更に他の隣接ノードを１つ以上介して通信する。例えば、図示の例において、計器ノード１０ａは、隣接ノード１０ｂを介してゲートウェイ１４と通信する。ノード１０ｂは、実際には計器ノードとしてだけでなく中継器としても機能する。
【００１８】
図１では不図示であるが、ローカルエリアネットワーク１２は、計器ノード以外のノードを含むことができる。例えば、計器ノードからゲートウェイ１４へ、或いはその逆方向への転送に計器とは無関係の中継ノードを用いても良い。結果として、計器ノードは、本来必要とされる電力より低い送信電力で動作できる。
【００１９】
図１に例示するネットワークでは、単一のゲートウェイ１４を採用している。しかし、変形例として、１つ以上の計器ノード１０が複数のゲートウェイのいずれか１つを介して公益企業１６と通信しても良い。この構成により、計器ノードと公益企業との間の通信路が冗長化されるため、ネットワークのロバスト性を高めることができる。更に別の変形例として、それぞれのノードを異なるゲートウェイを介して異なる公益企業或いはコモディティ供給業者に接続しても良い。
【００２０】
ネットワークの一実施例において、ＬＡＮ１２を介した無線通信にはＦＨＳＳ（周波数ホッピング方式：Frequency-Hopping Spread Spectrum）の送信を採用する。ＦＨＳＳとは、広い周波数帯域においてランダムではあるが、予測可能な順序である周波数から他の周波数へと時間の関数で「ホップする」狭帯域キャリア信号を用いてデータ信号を変調する技術である。適切に同期をとることで、単一の論理チャネルが維持される。
【００２１】
送信周波数は、拡散或いはホッピング符号により決定される。確実に信号を受信するために、受信機は、同一のホッピング符号に設定され、適切なタイミング及び正しい周波数の入力信号を検出する。現行の規定では、１送信チャネルあたり最長ドウェル時間（１回のホップ時に特定の周波数が維持される時間）４００ｍｓで５０以上の周波数の使用が求められている。
【００２２】
ＦＨＳＳ送信では、比較的高速にチャネルが切り替わる（或いはホップする）。ノードのホッピングシーケンスにおいては、スロットタイムと呼ばれる時間の間それぞれのチャネルを占有する。スロットタイム中に受信がなければ、ノードは、自己のホッピングシーケンスにおいて、受信チャネルを次のチャネルに変更する。受信が検出されれば、受信処理を行なうためにチャネルホッピングを停止する。パケットを送信するときは、チャネルホッピングを停止し、パケットをその時間の間、特定のチャネルで送信する。トランザクションが終了すれば、（パケットの送受信が発生しなければ使用されていたであろう本来の周波数を用いて）チャネルホッピングを再開する。
【００２３】
ノードのホッピングシーケンスで全チャネルを巡回することをエポックと呼ぶ。ノードのホッピングシーケンスでは、全チャネルを一巡し終えてから、２度目の巡回を開始するように関連規定で定められている。一実現例においては、エポックを繰り返す疑似ランダム（pseudo-random）ホッピングシーケンスを用いてこの結果を保証する周波数ホッパーを使用することができる。言い換えれば、エポックの特定のスロットタイムにおいては、常に同じチャネルを使用する。この概念を図示する図２は、１０チャネルを使用するノードの仮想的ＦＨＳＳホッピングシーケンスを示している。
【００２４】
ＦＨＳＳ通信システムの送信ノードは、適切なチャネルを使用して所定のタイミングでデータを受信ノードに送るために、目標受信ノードがホッピングシーケンスのどこに位置するかを把握しておく必要がある。例えば、各ノードにチャネルシーケンスのテーブルを格納しておくことができる。図３に１エポックあたり８３スロットを有するホッピングシーケンスのテーブルを例示する。このテーブルは配列として実現される。送信時、送信ノードは、このテーブルを使用してインデックス、すなわち、チャネル識別子を取得する。チャネルインデックスは、送信ノード及び受信ノードの双方がその値を事前に知っているパラメータであり、これにより送受信ノードは同期して通信を行なうことができる。目標受信ノードのチャネルインデックスは種々の方法で決定可能である。その１つとして、チャネルインデックスを送信時に動的に決定する方法が、２００７年１２月２７日に出願され、その開示内容をここに取り込む特許文献１に記述されている。
【００２５】
本発明の例示的な一実現例によれば、あるパケットの送信チャネルの識別子、例えば、チャネルインデックスは、そのパケットのデータをホワイトニング、すなわち、スクランブルするためのスクランブルアルゴリズムのシードとして用いることができる。従って、スクランブルシードは、ホッピングシーケンスのチャネル間で異なることになり、１つのデータパケットは、異なるチャネルで送信される際に２つの異なるビット列にスクランブルされる。スクランブルの結果、一方のチャネルにキラーパケットが生じ、もう一方のチャネルにもキラーパケットが生じる確率は低い。従って、キラーパケットの存在或いは発生により生じた問題を解消するのに必要なデータパケット再送の回数を最小限に抑えることができる。
【００２６】
図４ａ及び図４ｂに、本発明の一実施例の一実施形態を示す。図４ａは送信ノードの動作を示すブロック図である。クロック信号ＣＬＫをタイマー２０に入力し、ＦＨＳＳエポックのスロットを識別する。タイマー２０は、実質的に分周器として機能し、その出力は新しいタイムスロットの開始点を示す。これらのタイムスロットの指示は、スロット・チャネル変換器２２に供給され、それぞれの新しいタイムスロットに対応するチャネルインデックスが生成される。スロット・チャネル変換器２２は、図３に示すような配列を用いて変換を行なっても良い。チャネル周波数変換器２４は、チャネルインデックスを用いて適切なタイムスロットの送信周波数を決定する。決定した周波数は、送信機２６に入力信号として供給される。
【００２７】
送信するパケットデータは、スクランブラ２８に入力される。スクランブラ２８は、ビットの順序及び／或いは値を変更してデータをホワイトニングするように機能する。スクランブルされたデータは、周波数偏移（ＦＳＫ）変調器等の変調器３０に供給され、データビットをシンボルで表す変調データ信号が生成される。変調データ信号は、その後、チャネルインデックスに基づいて決定された適切なキャリア周波数を用いて、送信機２６によって送信される。
【００２８】
図示の実施形態においては、パケットデータのスクランブルのための開始シードは、チャネル毎に変化するので、スクランブラによるデータホワイトニングで予期せずしてキラーパケットが発生した場合であっても、迅速な回復が可能となる。このために、スロット・チャネル変換器２２によって生成されたチャネルインデックスは、シード値としてスクランブラ２８に入力される。説明のために、スクランブラ２８を図５に示す。図示の例では、７ビット線形フィードバックシフトレジスタ３２を用いる。排他的論理和ゲート３４は、第４ビット及び第７ビットの値を処理してフィードバックビットを生成し、第１レジスタに入力する。第７レジスタの出力は、排他的論理和ゲート３６にも供給され、パケットデータと結合されてスクランブルビットを生成する。
【００２９】
典型的には、この種のスクランブラの線形フィードバックシフトレジスタ３２の全てのレジスタは１で初期化される。しかし、図４ａに示す実施形態では、レジスタの初期化にチャネルインデックスを用いる。チャネルインデックスは、送信チャネル毎に異なるため、スクランブラのシーディング、すなわち、初期化をチャネル毎に異なる値を用いて行なうことで、異なるスクランブル出力が得られる。
【００３０】
図４ｂは、スクランブル動作の逆の動作を行なう受信ノードの回路を示す。同図において、チャネルインデックスは、適切な受信チャネル周波数を決定するのに使われ、受信機３８に制御入力として供給される。復調器４０は、受信信号を復調して受信したシンボルからデータビットを導出する。スクランブルされたデータビット列は、デスクランブラ４２に供給される。デスクランブラ４２は、スクランブラ２８と同様である。デスクランブラもまた、チャネルインデックスによって初期化され、送信ノードのスクランブラ２８が行なったスクランブルに対称的なデスクランブル動作を行なう。デスクランブラ４２の出力は、元のパケットデータを含み、これは従来の方法により復号化することができる。
【００３１】
図６は、図４ａ及び図４ｂの実施形態で実施される処理全体を示す。タイマー２０によるチャネル切り替えタイマーイベント６１０により、プロセスを開始する。ステップ６２０で、送信ノード及び受信ノードの双方が新しいチャネルインデックスを識別し、新しいホッピングシーケンスチャネル用にスクランブル符号とパケット構成を変更する。ステップ６３０で、データパケットの先頭を検出する。新しいチャネルでのデータパケットのスクランブルを開始するために、ステップ６４０で、チャネルインデックスと同一のスクランブルシードを設定する。このシード値を用いて、受信機は、デスクランブラを初期化し、ステップ６５０で、パケットを受信する。ステップ６６０で、ＣＲＣチェックを行ない、受信機がパケットビットを解読できるか否かを判定する。チェックの結果、データデスクランブルの後で解読可能であれば、ステップ６７０で、受信機はデータを有効パケットとして処理する。ＣＲＣチェック６６０の結果がＮＯならば、送信ノードにメッセージを送り返してパケットエラーを通知する。送信ノードは、新しいチャネルインデックスに基づいて、次に利用可能なチャネルを異なるスクランブルシードで再構成し、パケットを再送する。受信機でのエラーがキラーパケットイベントによるものであれば、新しいチャネルで新しいスクランブルシードを用いて再送されたパケットに同様の問題は生じない。
【００３２】
上述したように、所定のタイムスロットのチャネルインデックスを決定する種々の方法が知られている。これらの中には、例えば、特許文献１に開示された方法のように、送信ノード及び受信ノードのそれぞれについてチャネルインデックスを別々に決定するものがある。この場合、チャネルインデックスをパケット情報の一部として送信する必要はない。しかし、他の例では、フォールバックに備えて、パケット情報にチャネルインデックスを含めることが望ましい。これにより、データパケット送信のロバスト性を高くできる。特に、チャネルインデックスによって、受信パケットの先頭を確実に検出するための付加的なデータが得られるようになる。
【００３３】
図７は、パケットのデータ構造を示す。パケットは３つの主要な構成要素、すなわち、プリアンブル４４、ヘッダ４６、ペイロード４８からなる。ペイロードデータは、スクランブルされるが、プリアンブル及びヘッダは平文で、すなわち、スクランブルされずに送信される。プリアンブルは、交互に並んだ０ビットと１ビットとの列からなるので、受信ノードは信号を検出して、受信パケットのその他の部分との周波数・タイミング同期をとることができる。この同期領域に続いて開始フラグが配置される。開始フラグは０ビット及び１ビットの既知の列からなり、これを復号化することで、受信ノードは後続のパケットデータの復号化及び解読を開始する。開始フラグの特徴の１つに、シンボルレベルでの同期を提供し、１ビットと０ビットとが交互に並んだ先行するプリアンブルとともに自己相関特性を最適化することが挙げられる。
【００３４】
本発明の一態様によれば、チャネルインデックスは、パケットのプリアンブルに含めることができる。実際には、チャネルインデックスは、開始フラグの延長として機能し、これにより、パケットの先頭検出のロバスト性を高めることができる。より詳細には、開始フラグが１バイトで構成される場合、誤検出が起こる可能性がある。このとき、あるビット列が開始フラグとして誤って解釈され、受信機回路が意味不明なデータを復号化し始める。誤検出が起こる確率を低下するために、開始フラグは好適には２バイトで構成される。しかし、この場合でもまだ誤検出が生じる可能性はある。チャネルインデックスを開始フラグの末尾に含めると、受信ノードはパケットデータの先頭を検証するための付加情報を取得できる。プリアンブル内で検出されたチャネルインデックスが、受信ノードが現在動作しているチャネルのインデックスと一致した場合のみ、パケットを処理する。これにより、誤検出が生じて、復号化回路が不要な電力を消費するのを抑制できる。
【００３５】
上記の例では、チャネルインデックスは、パケットを受信した際にスクランブラを初期化するためのシードとして用いられる。チャネルインデックスは、送信ノード及び受信ノードの双方に既知であるため、高い信頼性を持ってこの目的に用いることができる。この目的のため、チャネルインデックス以外のパラメータを使用できることは理解されるであろう。例えば、ノード同士が時刻同期をとっているネットワークにおいては、時間に基づく値をスクランブルアルゴリズムのシードとして用いることができる。例えば、現在の分と秒とを表すデジタル値でシードを構成しても良い。
【００３６】
上記の例では、キラーパケットの検出は受信ノードで行われる。この状態の検出に応じて、受信ノードが発信ノードにエラーメッセージを送信すると、スクランブルパラメータ、例えば、初期シード値に別の値を用いてパケットが再送される。別の実現例では、送信ノードは、キラーパケットの存在を送信前に検出して、スクランブルパラメータに別の値を用いてデータパケットを再スクランブルできる。図８及び図９は、この実現例の一実施形態を示す。図８は、送信ノードで行なわれるプロセスを示すフローチャートである。ステップ８００で、送信のためのパケットを生成する。ステップ８０２で、例えば、図４ａ及び図５に示すスクランブラ２８を用いて、パケットをスクランブルする。このスクランブルは、送信ノード及び受信ノード双方が知る所定のシード値Ａを用いて行われる。ステップ８０４で、スクランブルデータを検証し、キラーパケットが生成されるか否かを判定する。例えば、スクランブルされたビット列において、連続して同じ値を持つビットの数を検出器でカウントする。カウント値が所定の数、例えば、６に達したならば、スクランブルデータはキラーパケットの可能性ありと判定する。
【００３７】
スクランブルデータがキラーパケットとなる可能性がなければ、ステップ８０６及び８０８で、例えば、図４ａに示すように、パケットを変調し、送信する。しかし、ステップ２０４で、スクランブルデータがキラーパケットとなる可能性があると判定された場合、ステップ２１０で、スクランブルパラメータを第２の既知の値Ｂに変更し、ステップ８０２で、値Ｂをスクランブルパラメータに用いて元のデータパケットを再スクランブルする。２回目のスクランブルの後、ステップ８０４で、スクランブルデータがキラーパケットとなる可能性があるか否かを判定するために再び評価を行なう。統計学的にみて、新しい値をスクランブルパラメータとして用いた場合に前回と同様の結果が得られる確率は低い。従って、再スクランブルしたパケットを送信できる。しかし、依然としてキラーパケットが生成されるようなら、更に他の既知の値をスクランブルパラメータに用いてパケットを再スクランブルする。
【００３８】
パケットを受信した受信ノードには、受信パケットをスクランブルするのに使用したパラメータ値が分からないことがある。このため、受信ノードは、受信パケットを複数の方法でデスクランブルする。図９の概略論理図によれば、入力信号はまず、プリアンブルデコーダ５０によって処理される。プリアンブルデコーダ５０は、入力したプリアンブルを復号化し、受信したシンボルに開始フレームが存在するか否かを検出する。存在すれば、パケットのペイロードデータを２つのデスクランブラ５２及び５４にそれぞれ供給する。一方のデスクランブラ５２は、既知のシード値の１つである値Ａで初期化され、他方のデスクランブラ５４は、他の既知のシード値Ｂで初期化される。受信パケットのペイロードデータのスクランブルに使用したシード値によっては、デスクランブラの一方は意味のないデータを出力する。しかし、他方のデスクランブラは正確にデスクランブルされたデータを出力する。２つのデスクランブラの内、その時点で適切なものを選択するには、それぞれのデスクランブラの出力データに対してＣＲＣチェックを行なう。正しいＣＲＣの結果を示す出力データを用いてセレクタを制御し、ペイロードの復号化といったその後の処理にデータを受け渡すことができる。
【００３９】
図９に示す実施形態において、受信ノードは２つのデスクランブルを並行して行なう。他の実施形態では、データを次の処理に受け渡す前に、逐次処理を用いて、まず、２つのシード値の一方を使って受信データをデスクランブルする。ＣＲＣチェックの結果が正しくなければ、２つの既知のシード値の他方を使って同じデータをデスクランブルする。
【００４０】
上述した説明から分かるように、本発明は、キラーパケットの送信によって生じるネットワーク障害を防止するのに有効な方法を提供するものである。データパケットのスクランブルによって、予期せぬキラーパケットの生成が起こった場合、スクランブルパラメータに異なる値を用いてデータパケットを再スクランブルする。再スクランブルされたデータパケットもまたキラーパケットとなる確率は統計学的にみて極めて低い。従って、データパケットの処理回数は、最高でも２回であり、キラーパケットの影響を受けるリソースを削減できる。
【００４１】
一実施形態をＦＨＳＳ送信を用いたネットワークで実現する際、チャネルインデックスをスクランブルアルゴリズムのシードとして使う。キラーパケットの影響を排除するために、本実施形態では、チャネル毎にシードを変更することの他、数多くの利点を提供する。特に、スクランブルシードをチャネル毎に変更することで、送信のセキュリティが高まる。ネットワーク上でありうる攻撃の１つに反復攻撃がある。この攻撃は、パケットを傍受して、ネットワークに再投入するものである。開示された実施形態に述べられた状況下でこの攻撃を成功させるためには、攻撃者は傍受したパケットが送信されていた特定のチャネルを把握し、同じチャネルにパケットを再投入する必要がある。もしも別のチャネルで送信したならば、パケットは受信も処理もされずに廃棄されることになる。従って、再投入されたパケットを復号化することで受信ノード回路に過負荷が生じることもない。
【００４２】
盗聴者が傍受したパケットを解読するにはスクランブルシードを把握する必要があり、このことからもセキュリティを強化できる。盗聴者があるチャネルに関してシードを見つけることができたとしても、周波数ホッピング・スペクトラムにおける他のチャネルで送信されたパケットに対しては無意味である。
【００４３】
上述した例では、キラーパケットの影響を抑制するために変更するパラメータとして、スクランブルアルゴリズムのシード値を使用した。しかし、同様の効果を達成するために、シード値に加えて、或いはシード値に代えてスクランブルアルゴリズムの他のパラメータを変更できることは理解されるであろう。例えば、スクランブルアルゴリズムそのものを変更しても良い。説明のために、図５に示すスクランブラは、線形シフトレジスタに格納された値の第４ビット及び第７ビットについて排他的論理和演算を行ない、フィードバック入力ビットを生成する。アルゴリズムを変更するために、排他的論理和ゲート３４の入力の一方或いは双方を変更することができる。例えば、スイッチを用いることで第３ビットと第４ビットを切り替えて排他的論理和ゲート３４の一方の入力に供給しても良い。これら２ビットのいずれかをチャネルインデックスの特定のビット、例えば最小有効ビットの値、或いは送信ノード及び受信ノードの双方に既知のその他の値に基づいて選択することができる。
【００４４】
スクランブルアルゴリズムは、動的に変更可能なパラメータを任意の数だけ用いて駆動できる。異なるスクランブルパラメータを使用する他、こうした情報を目標受信ノードにリアルタイムで通知しても良い。例えば、ユニキャストデータパケットのパケットプリアンブルの形で送信することができる。
【００４５】
従って、上述した例からも分かる通り、本発明は、その本質的特性から逸脱することなく種々の形態で具体化することが可能であり、その実施形態はもっぱら説明上のものであり、なんら制約を課すものではない。本発明の範囲は、上記の説明ではなく添付の請求の範囲によって示されるものであり、その均等物の趣旨と範囲におけるあらゆる変更は請求の範囲に包含されるものである。
【図１】
2011523296.tif 000003
【図２】
2011523296.tif 000004
【図３】
2011523296.tif 000005
【図４ａ】
2011523296.tif 000006
【図４ｂ】
2011523296.tif 000007
【図５】
2011523296.tif 000008
【図６】
2011523296.tif 000009
【図７】
2011523296.tif 000010
【図８】
2011523296.tif 000011
【図９】
2011523296.tif 000012
【国際調査報告】
2011523296.tif 000013
2011523296.tif 000014
2011523296.tif 000015