JP6157726B2 - データシンクに対しノードの同期をとる方法及び無線ネットワークを形成するためのノード - Google Patents

データシンクに対しノードの同期をとる方法及び無線ネットワークを形成するためのノード Download PDF

Info

Publication number
JP6157726B2
JP6157726B2 JP2016517008A JP2016517008A JP6157726B2 JP 6157726 B2 JP6157726 B2 JP 6157726B2 JP 2016517008 A JP2016517008 A JP 2016517008A JP 2016517008 A JP2016517008 A JP 2016517008A JP 6157726 B2 JP6157726 B2 JP 6157726B2
Authority
JP
Japan
Prior art keywords
node
sync
data sink
packet
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016517008A
Other languages
English (en)
Other versions
JP2016537842A (ja
Inventor
グオ、ジアンリン
オーリック、フィリップ
パーソンズ、キーラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JP2016537842A publication Critical patent/JP2016537842A/ja
Application granted granted Critical
Publication of JP6157726B2 publication Critical patent/JP6157726B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/0055Synchronisation arrangements determining timing error of reception due to propagation delay
    • H04W56/0065Synchronisation arrangements determining timing error of reception due to propagation delay using measurement of signal travel time
    • H04W56/007Open loop measurement
    • H04W56/0075Open loop measurement based on arrival time vs. expected arrival time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、包括的には、無線ネットワークにおけるパケットのルーティングに関し、詳細には、無線ネットワークにおける同期に関する。
低電力高損失ネットワーク(LLN:low−power and lossy networks)におけるノードは、処理能力、メモリ、電力消費、寿命、稼働率、物理的サイズによって制約される。ノード間の通信リンクは、高い損失レート、低いデータレート、不安定性、低い伝送電力、及び短い伝送範囲によって特徴付けられ得る。実際のLLN内に、数十〜数百万のノードが存在し得る。LLNの例は、スマートメーターネットワーク、及びビル監視のための無線センサーネットワークを含む。
モバイルアドホックネットワークと対照的に、LLNは制約されたトラフィックパターンを有する可能性があるが、例えばノードから1つ又は複数のデータシンク又はコンセントレーターへの、マルチポイントツーポイントトラフィックが優勢である。ポイントツーマルチポイント及びポイントツーポイントトラフィックは稀である。データシンクは通例、制御ポイントであり、LLN内のノードからデータを収集する。LLNは、信頼性及び効率性のために複数のデータシンクを有することができる。データシンクは、協働して又は独立して機能することができ、ネットワークインターフェースを介してデータセンターに接続することができる。
大規模なLLN展開及び大容量のパケット配信の結果として、上記の制約に起因したパケット損失が生じる可能性がある。再送信はネットワークトラフィックを増大させる可能性がある。信頼性を増大させ、オーバーヘッドを低減するために、複数のデータシンクノードを有するLLN内のノードは、最適なルートを選択することができる。しかしながら、LLNのための最も標準的なルーティング方法は、マルチシンクルーティングのために設計されたものではない。
幾つかの従来のマルチシンクルーティング方法が既知である。しかしながら、これらの方法は、LLNのために最適でなく、同期をとられていない。例えば、インターネットエンジニアリングタスクフォース(IETF:Internet engineering task force)は、LLNのためのIPv6ルーティングプロトコル(RPL:Routing Protocol for LLNs)を開発した。RPLは、有向非巡回グラフ(DAG:directed acyclic graph)を用いてルートを発見する。RPLはマルチシンクルーティングプロトコルであるにも関わらず、ルートは、宛先指向DAG(DODAG:Destination Oriented DAG)を構築することに基づいて発見される。DODAGは、DODAGの根(DODAG root)と呼ばれる単一シンクノードを有する。ルートが発見された後、ノードはパケットをDODAGルートに送信する。RPLは、ノードが複数のシンクへのルートをどのように発見し、保持するか、及びノードが複数のシンク間でどのように切り換えるかを指定しない。また、DODAGは同期をとられていない。
同期は幾つかのLLNにおいて必要とされる。例えば、同期は、計測データ収集、需要及び応答管理、スマートメーターネットワークに接続されたスマートメーター及びデバイスの制御を含む多目的動作のために、スマートメーターネットワークによって用いられる可能性がある。結果として、RPLは幾つかのLLNにおいて、マルチシンク多目的ルーティングに適していない場合がある。
特許文献1は、センサーネットワークのためのマルチシンク/マルチパスルーティングを制御する方法を記載している。その方法は、セーフティークリティカルなシステムのために設計されている。信頼性要件を満たすために、そのルーティング方法は、複数のパスを用いて同じデータの複数のコピーを複数のデータシンクに送信する。その方法のためのオーバーヘッドは、大規模LLNにとって過度である。また、マルチシンクマルチパスの複数の送信によってLLNの信頼性が低減する可能性がある。
米国特許出願公開第2012/0236855号
本発明の幾つかの実施形態は、ノードが同期パケットを一切送信することなくデータシンクとの同期を実行することができるという認識に基づいている。これはなぜなら、ノードが近傍ノードによって送信されたパケットを受信することができるためである。このため、幾つかの状況では、ノードは、データシンクと近傍ノードとの間で交換される同期パケットに基づいてデータシンクに対し同期をとることができる。さらに又は代替的に、ノードは、近傍ノードと、以前にデータシンクと同期していた、同期をとられた近傍ノードとの間で交換される同期パケットに基づいてデータシンクに対し同期をとることができる。パッシブ同期は、通信オーバーヘッドを低減する。
例えば、LLNにおけるノードのうちの幾つかは、アクティブ同期を実行することができ、幾つかのノードはパッシブ同期を実行することができる。アクティブ同期では、ノードは同期パケットを、データシンク又は同期をとられた近傍ノードと交換する。一方、パッシブ同期では、ノードはパケットを一切送信せず、他のノードによって送信された同期パケットのみを用いる。
したがって、本発明の1つの実施形態は、宛先指向有向非巡回グラフ(DODAG)トポロジーになるように編成されたノードの無線ネットワークにおけるデータシンクに対しノードの同期をとる方法を開示する。本方法は、データシンクからノードに拡張型DODAG情報オブジェクト(DIO)メッセージを送信することと、ノードからデータシンクに拡張型宛先告知オブジェクト(DAO)メッセージを送信することと、近傍ノードによって送信されたパケットを、ノードによって受信する第1の時点を求めることと、近傍ノードによって送信されたパケットを、データシンク又は同期をとられた近傍ノードによって受信する第2の時点を求めることと、第1の時点と第2の時点との間の差に基づいてデータシンクに対しノードの同期をとることと、近傍ノードによって、データシンク又は同期をとられた近傍ノードによって送信されたSYNC−STARTパケットを受信することに応答して送信されるSYNC−REQパケットを、ノードによって受信することと、データシンク又は同期をとられた近傍ノードによって、SYNC−REQパケットを受信することに応答して送信されたSYNC−RESパケットを、ノードによって受信することと、ノードによってSYNC−REQパケットを受信した第1に時点と、データシンク又は同期をとられた近傍ノードによってSYNC−REQパケットを受信した第2の時点に基づいて、ノードのクロックとデータシンクのクロックとの間のオフセットを求めることと、ノードのクロックと、データシンクのクロックとの間のオフセットに基づいてデータシンク又は同期をとられた近傍ノードに対しノードの同期をとることとを含む。
別の実施形態は、無線ネットワークを形成するノードを開示する。このノードは、クロックと、近傍ノードによってデータシンク又は同期をとられた近傍ノードに送信されるSYNC−REQパケットを受信し、SYNC−REQパケットの受信に応答してデータシンク又は同期をとられた近傍ノードによって送信されるSYNC−RESパケットを受信する受信機と、ノードによって、クロックを用いて、SYNC−REQパケットの受信の第1の時点を求め、SYNC−RESパケットを用いて、データシンク又は同期をとられた近傍ノードによるSYNC−REQパケットの受信の第2の時点を求め、それによって、第1の時点と第2の時点との間の差に基づいて、データシンク又は同期をとられた近傍ノードに対しノードの同期をとる、プロセッサとを備える。
本発明の幾つかの実施形態が動作することができる低電力高損失ネットワーク(LLN)の概略図である。 本発明の幾つかの実施形態による1組のノード及び複数のデータシンクによって形成されるLLNにおいてパケットを送信する方法のブロック図である。 本発明の幾つかの実施形態による、時間値及びクロックオフセットを記憶し操作する方法のブロック図である。 本発明の幾つかの実施形態による、同期間隔の構造の概略図である。 本発明の幾つかの実施形態による、独立した同期間隔を有する2つのデータシンクの例である。 本発明の幾つかの実施形態による、ルート発見メッセージにおけるフィールドの概略図である。 本発明の幾つかの実施形態による、ルート発見メッセージにおけるフィールドの概略図である。 マルチシンクLLNにおけるデータシンク選択及び各選択されたデータシンクへのルート発見のための方法のブロック図である。 本発明の幾つかの実施形態による、ルート発見メッセージ伝搬プロセスの一例の概略図である。 本発明の幾つかの実施形態による、ルート確認プロセスの一例の概略図である。 データシンクのカバレッジエリアの例の概略図である。 データシンクのカバレッジエリアの例の概略図である。 ノードが迅速なプライマリデータシンク切換えを実行することができない一例の概略図である。 ノードが迅速なプライマリデータシンク切換えを実行することができる一例の概略図である。 本発明の幾つかの実施形態による、プライマリデータシンク切換え通知パケットの構造の概略図である。 本発明の幾つかの実施形態による、プライマリデータシンク切換え遅延要求パケットの構造の概略図である。 本発明の幾つかの実施形態による様々な同期パケットの概略図である。 本発明の幾つかの実施形態による様々な同期パケットの概略図である。 本発明の幾つかの実施形態による様々な同期パケットの概略図である。 本発明の1つの実施形態による同期方法のブロック図である。 本発明の幾つかの実施形態によるマルチホップ同期方法のブロック図である。 シンクによる同期開始パケットの送信の概略図である。 同期パケット送信及び近傍ノードからのパケットの受信の概略図である。 本発明の幾つかの実施形態によって用いられるDIOメッセージのフローの概略図である。 本発明の幾つかの実施形態によって用いられるDAOメッセージのフローの概略図である。 本発明の幾つかの実施形態によって用いられるSYNC−STARTメッセージのフローの概略図である。 本発明の幾つかの実施形態によるSYNC−REQ及びSYNC−RESメッセージ交換の概略図である。 本発明の幾つかの実施形態によるシンク切換え及び切換え遅延メッセージ交換の概略図である。 本発明の幾つかの実施形態によって用いられるデータパケットのフローの概略図である。
図1Aは、本発明の幾つかの実施形態が動作する低電力高損失ネットワーク(LLN)の概略図を示す。幾つかの実施形態がLLNに関して記載されているが、本発明の様々な実施形態は、スマートメーターネットワーク、センサーネットワーク、並びに、産業オートメーション、ビルディングオートメーション及びホームオートメーション、並びに環境監視のために用いられるネットワーク等の、他のタイプの無線ネットワークと共に用いることができることが理解される。
ネットワークは、1組のノード(N)110と、1組のデータシンク(S)120とを備える。ノード及びシンクはメッシュトポロジーを形成し、無線リンク130を用いて通信する。接続性を確保するために、ノードは、各ノードが少なくとも1つの近傍を有するように配列される。LLN内の各ノードは、データパケット及び制御パケット等のパケットを、1つ又は複数のリンクを通じて、データシンクのうちの1つ又は複数に送信する。ノードは、近傍ノードから受信したパケットをデータシンクに向けて転送することもできる。データシンクは、ルーティングパケット及び制御パケット等のパケットを、1つ又は複数のリンクを介して1つ又は複数のノードに送信する。ノードはまた、近傍から受信したパケットを1つ又は複数のノードに向けて転送する。さらに、データシンクは、リンク140を介してデータセンター150に接続することができる。
LLNを形成するノード及びデータシンクは、様々な機能を実行することができる。データシンクは通常、データセンターの場合を除いて、データソースではない。各データシンクは、ノードのサブセットと通信する役割を果たすことができ、ノードのサブセットからデータを収集するとともに、これらのノードを管理する。データシンクは、制御パケット及び管理パケットを1つ又は複数のノードに送信することができる。全てのLLNノードはデータソースであり得る。ノードは自身のデータパケットを1つ又は複数のデータシンクに送信し、データシンクから受信した制御パケット又は管理パケットに応答する。
ノードは、データ伝送のために、複数のデータシンクへの複数のルートを保持することができる。様々な実施形態において、ノードは複数のデータシンクと同期する。そのような方式において、ノードは、同期を更新することなく、自身のデータ伝送を1つのデータシンクから別のデータシンクに迅速に切り換えることができる。そのような切換えによって、ネットワーク条件が変化したときの伝送遅延が低減する。
例えば、ノードは、第1のデータシンクをプライマリデータシンクとして選択し、第2のデータシンクをセカンダリデータシンクとして選択する。ノードは、自身のデータパケットをプライマリシンクノードに送信する。ノードは、自身のプライマリデータシンクのプライマリメンバーであり、ノードは、自身のセカンダリデータシンクのセカンダリメンバーである。プライマリメンバーは、データパケット、ルーティングパケット、同期パケットを含む全てのタイプのパケットを送信する。セカンダリメンバーは、セカンダリデータシンクへのデータパケットを除く全てのタイプのパケットを送信する。ノードは、ネットワーク条件及び性能に基づいて適応的に、自身のプライマリデータシンクの宛先をセカンダリデータシンクに切り換えることができる。
データ伝送は同期をとられ、割り当てられた時間内で実行されるため、ノードは、伝送を切り換えることが可能になるには、プライマリデータシンク及びセカンダリデータシンクに同期する必要がある。例えば、同期をとられた伝送中、ノードは、第1のデータシンクと同期をとられた第1の割り当てられた時間において、第1のデータパケットをノードから第1のデータシンクに送信し、第2のデータシンクと同期をとられた第2の割り当てられた時間において、第2のデータパケットをノードから第2のデータシンクに送信する。第1のデータシンク及び第2のデータシンクは同期する必要がなく、すなわち、独立して動作することができる。
図1Bは、図1AのLLNにおいてパケットを送信する方法のブロック図を示す。本方は、LLN内のノードのプロセッサ161によって実施することができる。プロセッサは、バスによって、メモリ、入出力インターフェース、クロック185及び送受信機に接続される。ノードは、データシンクのサブセットを選択する(160)。選択されたデータシンクは、第1のデータシンク165及び第2のデータシンク163を備える。ノードは、第1のデータシンクをプライマリデータシンクとして指定し、第2のデータシンクをセカンダリデータシンクとして指定することができる(170)。また、ノードは複数のセカンダリデータシンクを指定することができる。
ノートは、第1のデータシンク165及び第2のデータシンク163とのノードの同期180を実行する。次に、ノードは、第1のデータシンクと同期をとられた第1の割り当てられた時間において、ノードから第1のデータシンクに第1のデータパケット195を送信する(190)。また、ノードは、第2のデータシンクと同期をとられた第2の割り当てられた時間において、第2のデータパケット193をノードから第2のデータシンクに送信する(190)。ここで、第1のデータパケット及び第2のデータパケットは、同期を更新することなく送信される。このため、ノードは、データシンクが必ずしも互いに同期をとられていないときに、複数のデータシンクに対し同期をとられた送信を行うことができる。
通常、ノードは、第2のデータパケットを送信する前に、データシンクの指定を切り換える。1つの実施形態では、ノードはプライマリデータシンクのみに送信するが、異なる期間において様々なデータシンクがプライマリデータシンクとして指定され得る。切換えは、ネットワーク内の条件の変化に応答して適応的に行うことができ、ノードは、同期を更新することなく、切換えを迅速に実行することができる。
幾つかの実施形態は、ノードの複数のクロックを用いて、複数のデータシンクに対するノードの同期を実行する。しかしながら、様々な実施形態において、ノードは同期のための1つのクロックを有する。同期をとられたマルチシンクルーティングの問題を解決するために、本発明の幾つかの実施形態において、ノードはプライマリデータシンクのクロックに対しクロック185の同期をとり、セカンダリデータシンクへのクロックオフセット183を保持する。すなわち、各クロックオフセットは、ノードのクロックの時間と、対応するセカンダリデータシンクのクロックの時間との差を記憶する。
図1Cは、本発明の幾つかの原理を用いるノード1999のブロック図を示す。ノードは、低電力高損失ネットワーク(LLN)の一部とすることができる。ノードは、単一のクロック1900と、LLNにおける第1のデータシンクのクロックとのクロックの同期を実行し、ノードのクロックと第2のデータシンクのクロックとの間のクロックオフセットを求める、プロセッサ161等のプロセッサと、クロックオフセットを記憶するメモリ1910とを備える。ノードは、データパケットを受信し、同期を更新することなく複数のデータシンクに対し同期をとられたデータパケット送信を行う送受信機1945も備えることができる。
ノードのプロセッサは、時間値及びクロックオフセットを記憶し、操作する。幾つかの実施形態では、プロセッサはクロック1900を管理し、受信した時間値及びクロックオフセットをセカンダリデータシンクに記憶するためにメモリブロックを割り当てる。例えば、プロセッサは、第1の時間値1931のためのメモリロケーションへのポインター1901と、第2の時間値1932のためのメモリロケーションへのポインター1902とを保持することができる。プロセッサは、時間値1931及び1932に基づいてクロックオフセットを求めることができる(1950)。
また、プロセッサは、クロックオフセットのためのメモリロケーションへのポインター、例えば、第1のクロックオフセットのためのメモリロケーションへのポインター1911と、第2のクロックオフセットのためのメモリロケーションへのポインター1912と、…、第kの(最後の)クロックオフセットのためのメモリロケーションへのポインター191kとを保持することができる。
幾つかの実施形態において、LLNは、1組のノードと、1組のデータシンクとを備え、データシンクのうちの少なくとも一部が、宛先指向有効非巡回グラフ(DODAG)情報オブジェクト(DIO:DODAG information object)メッセージを構成し送信することによって、DODAG形成を開始する。これらの実施形態において、同期は、DODAG形成に応答して行われる。
例えば、1つの実施形態において、プロセッサは、メモリ内に、参加したDODAGのDODAG IDを記憶するテーブル1920を保持する。同期パケットを受信すると(1940)、テーブル1920を用いて、時間値を記憶するか否かが判断される(1930)。ノードは、DODAGの根をプライマリデータシンク又はセカンダリデータシンクとして選択することによってDODAGに参加する。参加したDODAGについて、すなわち、ノードはこのDODAGのプライマリメンバー又はこのDODAGのセカンダリメンバーのいずれかであり、プロセッサは、ポインター1901によって指し示されるメモリに第1の時間値を記憶し(1931)、ポインター1902によって指し示されるメモリに第2の時間値を記憶する(1932)。2つの時間値を用いて、プロセッサはクロックオフセットを計算する(1950)。
対応するDODAGの根がプライマリデータシンクである場合(1960)、プロセッサは、DODAGの根のクロックに対し自身のクロック1900の同期をとるようにクロック値をセットする(1961)。そうでない場合、プロセッサはクロックオフセットを記憶する(1962)。クロックオフセットを記憶するために、プロセッサは、特定のメモリロケーションにDODAG IDをマッピングし(1963)、次に、メモリロケーションポインターを用いて、クロックオフセット値を対応するメモリロケーションに記憶する。
LLNにおける同期間隔
図2Aは、幾つかの実施形態によって用いられる同期(sync)間隔210の構造を示す。同期間隔は、ルーティング期間220、同期期間230、データ期間240及び制御期間250のうちの1つ又はそれらの組み合わせを含む。各々の期間の長さは、同期プロセスを管理するデータシンクによって決定される。ルーティング期間及び同期期間は、全ての同期間隔中に必ずしも存在しない。これらの2つの期間のうちの任意のものが存在しない場合、期間は、データパケット送信のために用いることができる。ルーティング期間中、ノードはプライマリデータシンク及びセカンダリデータシンクを選択する。同期期間中、ノードは、プライマリデータシンクのクロックとのノードのクロックの同期をとり、セカンダリデータシンクに対するクロックオフセットを決定し、保持する。データ期間中、ノードはデータパケットをプライマリデータシンクに送信する。制御期間中、制御パケット及び管理パケットが送信される。失敗したデータパケットの再送信も制御期間に行うことができる。
図2Bは、データシンク260 S1及び270 S2が、開始時間及び各期間の長さの観点から異なる同期間隔を有する例を示す。幾つかの実施形態では、同期はルート発見後に実行される。各データシンクは、そのルート発見及び同期間隔を独立して管理する。しかしながら、本発明の様々な実施形態では、データシンクは、他のデータシンクの同期情報を監視して、最良の性能のために自身の同期間隔を管理する。例えば、2つの近傍のデータシンクは、より高いデータパケット配信レートを達成するために、重複していないデータ期間を準備することができる。
LLNのためのマルチシンク選択及びルート発見
LLNにルーティングプロトコルを提供するために、インターネットエンジニアリングタスクフォース(IETF)は、LLNのためのIPv6ルーティングプロトコル(RPL)を開発した。RPLは、LLNのための双方向ルートを確立するための有向非巡回グラフ(DAG)トポロジーを構築する。RPLルートは、データシンクとして動作する1つ又は複数のルート間のトラフィックのために最適化される。DAGは、データシンクあたり1つの宛先指向DAG(DODAG)となるように、1つ又は複数のDODAGに分割される。したがって、DODAGは、RPLにおける定義済みの構造である。LLNのトラフィックは、根に向かって上流方向に、又は根から下流方向に、DODAGのエッジに沿って流れる。根を宛先として有する上流方向のルートは、DODAG情報オブジェクト(DIO)メッセージを用いるDODAG構築メカニズムによって提供される。根は、DODAGバージョン番号、DODAG ID、及び根の階数等のDODAGパラメーターを構成し、これらのパラメーターをDIOメッセージにおいて通知する。
ノードは、DODAGに参加するために、ホップカウント又は期待伝送カウント(ETX:expected transmission count)等のルーティングメトリックに基づいて、1組のDIOメッセージ送信機を、根に向かうルートの親として選択し、このノード自体の階数を求める。また、ノードは、好ましい親を、上流方向トラフィックのための次のホップとして選択する。DODAGに参加すると、ノードはDIOメッセージを送信し、DODAGパラメーターを通知する。DODAGの根に向かってDODAGバージョンが辿られていくにつれ、ノードの階数は単調減少する。根から他の宛先への下流方向のルートは、これらの宛先ノードが宛先告知オブジェクト(DAO:Destination Advertisement Object)メッセージを送信することによって提供される。
本発明の幾つかの実施形態は、マルチパスルート発見のためにRPLを用いる。ノードは、自身のプライマリデータシンクへの複数のルートを選択し、そのセカンダリデータシンクの各々への複数のルートを選択する。単純にするために、幾つかの実施形態は、データシンクをRPLにおけるDODAGの根として指定する。効率的なマルチシンクルーティングを達成するために、本発明の実施形態は、現在RPLによって指定されていないフィールドをRPLにおけるDIOメッセージ及びDAOメッセージに追加する。
図3Aは、DIOメッセージを生成するデータシンクの複数のプライマリメンバーを示すN_P_Nodesフィールド311と、DIOメッセージを生成するデータシンクの複数のセカンダリメンバーを示すN_B_Nodesフィールド312と、DIOメッセージを生成するデータシンクによって推定される予測信頼性を示すETRフィールド313と、DIOメッセージがDODAGのプライマリメンバーによって送信されるか又はセカンダリメンバーによって送信されるかを示すメンバーシップフィールド314とを含む、DIOメッセージにおける追加フィールド310を示す。ノードがDODAGの根を自身のプライマリデータシンクとして選択する場合、ノードはDODAGのプライマリメンバーである。ノードがDODAGの根を自身のセカンダリデータシンクとして選択する場合、ノードはDODAGのセカンダリメンバーである。
最初に、データシンクはN_P_Nodesを0にセットし、N_B_Nodesを0にセットし、ETRを100%にセットし、メンバーシップを1にセットする。データシンクは、ETRを、データ期間内で受信に成功したデータパケットの総数を、データ期間に受信されることが予期されるデータパケットの総数で除算したものとして推定する。シンクは、DAOメッセージにおいて受信したN_Packetsフィールドと用いることによって、予期されるデータパケットの総数を求める。
図3Bは、DAOメッセージ内の追加フィールド320を示す。メンバーシップフィールド321は、DAOメッセージを生成するノードがDODAGのプライマリメンバーであるか又はセカンダリメンバーであるかを示す。N_Packetsフィールド322は、データ期間において送信されるデータパケット数を示す。ノードは、データ期間における自身の予測パケット数を推定する。例えば、スマートメーターネットワークの場合、ノードは各データ期間において1つの計測データパケットを送信する。情報を伝搬するために、双方の動作モードにおいてDODAGの根にDAOを送信することができる。
図4は、幾つかの実施形態によるマルチシンクLLNにおけるデータシンク選択及びルート発見方法のブロック図を示す。データシンクは、適切な構成を有するDIOメッセージを送信する(405)ことによって、DODAG形成プロセスを開始する。DODAG形成中、DIOメッセージの伝搬によって、ノードからDODAGの根へのルートが確立される。各DODAGの形成中に、ノードは、データシンクによって(405)又は近傍ノードによって(465)送信されるDIOメッセージの複数のコピーを受信する(410)。
受信ノードは、受信したDIOメッセージが新たなDODAG又は新たなDODAGバージョンを告知しているか否かをチェックする(415)。上記のいずれでもない場合、ノードは、DIOメッセージが参加したDODAGに向けられたものであるか否かをチェックする(418)。DODAGに向けられたものでない場合、ノードはDIOメッセージを破棄する(422)。DODAGに向けられたものである場合、ノードはRPLにおいて指定されているようにDIOメッセージを処理する(420)。新たなDODAG又は新たなDODAGバージョンが告知されている場合、ノードは、告知されたDODAGに参加するか否かを判定する(430)。参加しない場合、ノードはDIOメッセージを破棄する(422)。参加する場合、DIOメッセージにおいて指定されているルーティングメトリック及び目的関数に基づいて、ノードはDIOメッセージ送信機のサブセットを自身のDIOの親、すなわち、DODAGの根に対する次のホップのノードとして選択し(435)、自身の階数を計算する。次に、ノードは、DODAGの根を自身のプライマリデータシンクとして選択するか否かを判定する(440)。
マルチシンクルーティングにおいて、複数のデータシンクが自身のDODAG形成プロセスを開始することができる。したがって、ノードは、複数のデータシンクによって開始されるDIOメッセージを受信する。ノードは、選択されたDODAGに参加した後、1つのDODAGの根をプライマリデータシンクとして選択し、残りのDODAGの根をセカンダリデータシンクとして選択する。判定を下すために用いることができる多くの方法が存在する。以下の式は、プライマリデータシンク及びセカンダリデータシンクを選択するために値P(S)をどのように用いるかを示す。
Figure 0006157726
ここで、SはデータシンクSを表し、ETR(S)はDIOメッセージから取得され、N(S)はシンクSのプライマリメンバーの数であり、N(S)はシンクSのセカンダリメンバーの数であり、N(S)maxは、シンクSによってサポートすることができる最大ノード数であり、H(S)minは、DIOメッセージの受信したコピーから取得される、ノードからシンクSへの最小ホップ数であり、H(S)maxは、シンクSによって許可される最大ホップ数である。ノードは、式(1)におけるP(S)の値を最大にするプライマリデータシンクSを選択し、式(1)におけるP(S)の後続の値を有するセカンダリデータシンクを選択する。
ノードがDODAGにプライマリメンバーとして参加することを決定する場合、ノードは階数を用いてDIOメッセージを更新し(445)、メンバーシップフィールドを1に設定し、また、メンバーシップが1に設定されたDAOメッセージ送信をスケジューリングする(450)。ノードがDODAGにセカンダリメンバーとして参加することを決定した場合、ノードは自身の階数を用いてDIOを更新し(455)、メンバーシップを0に設定し、また、メンバーシップが0に設定されたDAOメッセージ送信をスケジューリングする(460)。ノードはまた、N_Packetsフィールドを推定された数に設定する。DIOメッセージが更新され、DAOメッセージが構築された後、ノードは更新されたDIOメッセージを送信して(465)DODAG形成プロセスを継続し、DAOメッセージを送信して(470)DODAGの根からノード自身へのルートを確立する。
図5は、ノードN510がデータシンク530 S1及び540 S2の双方によって開始されたDIOメッセージを受信する(520)例を示す。例えば、ノードNは、シンクS1によって開始されたDIOメッセージの2つのコピーを受信し、シンクS2によって開始されたDIOメッセージの3つのコピーを受信する。ノードNは、S2を自身のプライマリデータシンクとして選択する。
図6は、ノードN510が、データシンクS2を根とするプライマリDODAGのために、メンバーシップフィールドが1に等しいDAOメッセージ610を送信し、データシンクS1を根とするセカンダリDODAGに対し、メンバーシップフィールドが0に等しいDAOメッセージ620を送信する例を示す。
式(1)におけるHMaxパラメーターを用いて、データシンクのカバレッジエリアを制御することができる。より小さいHMaxの場合、データシンクはより近いノードをカバーする。利点は、プライマリデータシンクへのパスが短くなることと、遅延が短くなることとを含む。不利な点は、データ期間において、より多くのノードが自身のデータパケットを送信するときの通信干渉が大きくなることと、パケット配信レートが低くなることとを含む。
図7Aは、それぞれS1及びS2を根とする2つのDODAGを有する低電力高損失ネットワークの例を示す。図7Aにおいて、HMax=2であり、したがって、シンクS1及びS2は、それらに近いノードをカバーする。S1は、リンク710を介して7つのノードをカバーし、S2はリンク720を介して8つのノードをカバーする。HMaxがより大きい場合、データシンクは、より小さいノード密度で広いエリアをカバーすることができる。より大きなカバレッジの利点は、データ期間における通信干渉が減ることと、パケット配信レートが高くなることとを含む。不利な点は、プライマリシンクへのパスが長くなることと、遅延が長くなることとを含む。
図7Bは、それぞれS3及びS4を根とする2つのDODAGを有する低電力高損失ネットワークの例を示す。図7Bにおいて、HMax=4であり、したがって、シンクS3及びS4は、比較的大きいエリアをカバーする。S3は、リンク730を介して8つのノードをカバーし、S4はリンク740を介して10個のノードをカバーする。
複数のDODAGに参加することによって、ノードは、複数のデータシンクに対応する複数組のルーティングパラメーターを保持する。ノードは、自身のデータを自身のプライマリデータシンクに送信する。一方、ノードは自身のプライマリデータシンクをセカンダリデータシンクに切り換えることができる。
データシンク切換え
マルチシンクルーティングにおいて、ノードは、同期を更新することなく、自身のプライマリデータシンクの宛先をセカンダリデータシンクに切り換えることができる。幾つかの実施形態では、切換え中、ノードは自身の子ノードの、それらの子ノードのプライマリシンクへのルートを保持する。なぜなら、子ノードは自身のプライマリシンクを、親ノードと独立して選択するためである。
図8Aは、ノードN4及びN5がシンクS1を自身のプライマリシンクとして選択する(810)一例を示す。ノードNl、N2及びN3は、シンクS2を自身のプライマリシンクとして選択する(820)。さらに、ノードN1はまた、S1を自身のセカンダリシンクとして選択する(830)。一方、ノードN1が自身のプライマリシンクをS2からS1に切り換える場合、切換えによって、ノードN3のプライマリシンクS2へのノードN3のルートが中断する。
ルートを断たない切換えを容易にするために、幾つかの実施形態は2つのタイプのパケット、すなわち、プライマリシンク切換え通知パケット及びプライマリシンク切換え遅延要求パケットを定義する。
図9Aは、パケットのタイプを示すタイプフィールド911、切換えを行うことを計画しているノードを示すNode_IDフィールド912、ノードの現在のプライマリシンクを示すCurrent_Sinkフィールド913、ノードのターゲットプライマリシンクを示すTarget_Sinkフィールド914、及び任意のオプションの情報を含むオプションフィールド915のうちの1つ又はそれらの組合せを含むプライマリシンク切換え通知パケット910を示す。
図9Bは、パケットのタイプを示すタイプフィールド921、切換え遅延を要求しているノードを示すNode_IDフィールド922、要求ノードの現在のプライマリシンクを示すCurrent_Sinkフィールド923、待機することを要求される同期間隔数を示すN_Waitフィールド924、及び任意のオプション情報を含むオプションフィールド925のうちの1つ又はそれらの組合せを含むプライマリシンク切換え遅延要求パケット920を示す。
プライマリルートを切断することを回避するために、ノードは制御期間においてシンク切換えパケット910をブロードキャストし、切換え遅延要求パケット920を待つ。ノードが同期間隔の終了までに切換え遅延要求パケットを受信しない場合、ノードは、次の同期間隔において、適切なメンバーシップ設定を用いてDAOメッセージをCurrent_Sink及びTarget_Sinkに送信することによって、自身のプライマリシンクをCurrent_SinkからTarget_Sinkに切り換える。ノードが切換え遅延要求パケットを受信する場合、ノードはN_Wait同期間隔にわたって待機する。
図8Aに示すように、N1がシンク切換えパケット910をブロードキャストする場合、N3はパケットを受信し、切換え遅延要求パケット920を送信し、ノードN1に、1つの同期間隔にわたって待機するように要求する。次の同期間隔において、ノードN3は、シンク2への自身のルートを、N1からN2に切り換える(840)。N3が自身のルートをS2に切り換えた後、図8Bに示すように、N1が自身のプライマリシンクをS2からS1に切り換えることが安全となる。
同期パケットの構造
本発明の幾つかの実施形態は、同期目的で様々なタイプのパケットを用いる。パケットのタイプは、SYNC−STARTパケットと、SYNC−REQパケットと、SYNC−RESパケットとを含む。
図10Aは、SYNC−STARTパケット1010の構造を示す。SYNC−STARTパケットは、パケットのタイプを示すタイプフィールド1011、同期プロセスを開始するデータシンクのIDを示すSink_IDフィールド1012、データシンクによって保持される同期シーケンス番号を示すSync_Seqフィールド1013、同期間隔の構成を示すSync_Configフィールド1014、及び他のオプションを示すオプションフィールド1015のうちの1つ又はそれらの組合せを含む。Sync_Seqフィールドの値は、データシンクがSYNC−STARTパケットを送信する度に1インクリメントされ、Sync_Seqフィールドの値はゼロより大きい。
Sync_Configフィールドのコンテンツ1016は、この同期間隔の開始時点を示すStart_timeフィールドと、次のSYNC−STARTパケット送信の同期間隔数を示し、値がゼロより大きくなくてはならないNext_Syncフィールドと、ルーティング期間の長さを示すRouting_Lフィールドと、同期期間の長さを示すSync_Lフィールドと、データ期間の長さを示すData_Lフィールドと、制御期間の長さを示すControl_Lフィールドとを含む。
図10Bは、SYNC−REQパケット1020の構造を示す。SYNC−REQパケットは、パケットのタイプを示すタイプフィールド1021、同期要求パケットを送信するノードのIDを示すNode_IDフィールド1022、SYNC−REQパケットの宛先を示すDest_IDフィールド1023、受信したSYNC−STARTパケットから取得される同期シーケンス番号を示すSync_Seqフィールド1024、及び他のオプションを示すオプションフィールド1025のうちの1つ又はそれらの組合せを含む。
図10Cは、SYNC−RESパケット1030の構造を示す。SYNC−RESパケットは、パケットのタイプを示すタイプフィールド1031、同期応答パケットが送信されるノードのIDを示すNode_IDフィールド1032、SYNC−RESパケットの宛先を示すDest_IDフィールド1033、受信したSYNC−REQパケットから取得される同期シーケンス番号を示すSync_Seqフィールド1034、SYNC−REQパケットを受信する時間を示すTRフィールド1035、SYNC−RESパケットの送信時間を示すTTフィールド1036、及び他のオプションを示すオプションフィールド1037のうちの1つ又はそれらの組合せを含む。TR及びTTは、SYNC−REQパケットを受信しSYNC−RESパケットを送信するノード又はシンクのクロックのみに基づいて記録される。
幾つかの実施形態は、SYNC−STARTパケットが送信される同期間隔間で、データパケット送信又は他の目的のために、同期間隔におけるルーティング期間及び同期期間を用いる。例えば、データシンクは他のデータシンクSYNC−STARTパケットを監視することができ、他のデータシンクがSYNC−STARTパケットを送信していない場合に、自身のSYNC−STARTパケットを送信することを選択する。
パッシブ同期
本発明の幾つかの実施形態は、ノードが同期パケットを一切送信することなくデータシンクとの同期を実行することができるという認識に基づいている。これは、なぜなら、LLNにおいて、ノードが近傍ノードによって送信されたパケットを受信することができるためである。このため、幾つかの状況では、ノードはデータシンクと近傍ノードとの間で交換される同期パケットに基づいてデータシンクに対し同期をとることができる。さらに又は代替的に、ノードは、近傍ノードと、データシンクと以前に同期していた、同期をとられた近傍ノードとの間で交換される同期パケットに基づいて、データシンクに対し同期をとることができる。パッシブ同期により、オーバーヘッドが低減する。
例えば、LLNにおけるノードのうちの幾つかは、アクティブ同期を実行することができ、幾つかのノードはパッシブ同期を実行することができる。アクティブ同期では、ノードはデータシンク又は同期をとられた近傍ノードと同期パケットを交換する。一方、パッシブ同期では、ノードはパケットを一切送信せず、他のノードによって送信される同期パケットのみを用いる。
図11Aは、本発明の1つの実施形態による、LLNにおいてデータシンクに対しノードの同期をとる方法のブロック図を示す。実施形態は、ノードが近傍ノードによって送信されたパケットを受信する第1の時点1191を求める(1190)。また、実施形態は、この近傍ノードから、データシンク又は同期をとられた近傍ノードが同じパケットを受信する第2の時点1192を求める(1193)。ノード及びデータシンクは、第1の時点と第2の時点との間の差に基づいて同期をとられる(1195)。
本方法は、プロセッサ161を用いてノードによって実施することができる。幾つかの実施形態では、ノードは、近傍ノードによって、データシンク又は同期をとられた近傍ノードによって送信されるSYNC−STARTパケットを受信するのに応答して送信されるSYNC−REQパケットを受信する。ノードは、SYNC−REQパケットを受信する時点を第1の時点として記録する。さらに、ノードは、データシンク又は同期をとられた近傍ノードによって、SYNC−REQパケットを受信するのに応答して送信されたSYNC−RESパケットを受信する。SYNC−RESパケットは、データシンク又は同期をとられた近傍ノードがSYNC−REQパケットを受信したときを示すフィールドを含む。ノードは、SYNC−RESパケットから第2の時点を取り出す。
幾つかの実施形態では、データシンクは、DODAGトポロジーの根である。さらに又は代替的に、データシンクは、DODAGの根において同期をとられた他のノードとすることができる。
マルチホップ同期
幾つかの実施形態では、LLNにおけるノードは、プライマリデータシンクのクロックに対し、自身のクロックの同期をとり、自身のセカンダリデータシンクに対する時間オフセットを保持する。通信オーバーヘッドを低減するために、ノードのうちの幾つかはアクティブ同期を実行し、他のノードはパッシブ同期を実行する。同期プロセスは、データシンクによって開始される。同期プロセスを開始するために、データシンクはSYNC−STARTパケットをブロードキャストする。ブロードキャストされたSYNC−STARTパケットは、データシンクの1ホップ近傍によって受信される。SYNC−STARTパケットを受信すると、このシンクを自身のプライマリデータシンクとして選択する1ホップ近傍は、アクティブ同期又はパッシブ同期のいずれかを実行して、シンクのクロックに対する自身のクロックの同期をとる。このシンクを自身のセカンダリデータシンクとして選択する、データシンクの1ホップ近傍は、アクティブ同期又はパッシブ同期のいずれかを実行して、自身のクロックオフセットを計算する。同期を実行した後、1ホップ近傍はYNC−STARTパケットをブロードキャストし、データシンクの2ホップ近傍に、それらの2ホップ近傍のクロックの同期をとらせるか又はそれらの2ホップ近傍の時間オフセットを計算させる。このプロセスは、このシンクをプライマリデータシンク又はセカンダリデータシンクとして選択する全てのノードが同期をとられるか又はクロックオフセットを計算するまで継続する。
図11Bは、本発明の1つの実施形態によるマルチホップ同期プロセスのブロック図を示す。SYNC−STARTパケットを構成するために、データシンクはパケットのタイプフィールドをSYNC−STARTに設定し、パケットのSink_IDを自身のID、Sync_Seq=1に設定し、Start_Timeを、このパケットが送信される時点に設定し、全ての他のフィールドを適切な値に設定する。ノードがデータシンクでない場合、ノードは自身のSync−Seqを0に設定する。
データシンクは、SYNC−STARTパケットをブロードキャストする(1100)ことによって同期を開始する。データシンクによって送信されるか(1100)又はデータシンクにおいて同期をとられた近傍ノードによって送信される(1180)SYNC−STARTパケットを受信すると(1105)、ノードは、SYNC−STARTパケットが、現在ノードに利用可能であるよりも高いSync_Seq値を含むか否かを判断する(1110)。含まない場合、ノードはSYNC−STARTパケットを破棄する(1115)。含む場合、ノードは、SYNC−REQパケットがSYNC−STARTパケット送信機に送信されているか否かをチェックする(1120)。送信されていない場合、ノードはアクティブ同期を開始する(1125)。
アクティブ同期中、ノードはSYNC−REQパケットを生成し、ランダムバックオフプロセスを実行する。ランダムバックオフプロセスの終了時までに他のノードによって送信されたSYNC−REQが受信されない場合、ノードは、SYNC−RES待機期間のためのタイマーを始動し、SYNC−REQパケットを、ノードがそこからSYNC−STARTパケットを受信したデータシンク又は同期をとられた近傍ノードに送信し(1130)、SYNC−REQパケットが送信されたときを示す時点TQを記録し、次に、SYNC−RESパケットを待つ。SYNC−REQパケットの受信ノードは、SYNC−RESパケットを生成し、このSYNC−RESパケットを要求ノードに返送する。
ノードが待機期間内にSYNC−RESパケットを受信する(1135)場合、ノードは、SYNC−RESパケットが受信された時点TSを記録し(1140)、タイムレコードTQ、TS及びSYNC−RESパケットから取り出されたタイムレコードTR、TTを用いることによって、SYNC−START送信機のクロックに対する自身のオフセットを計算する(1145)。
例えば、1つの実施形態において、ノードは、
Figure 0006157726
に従ってクロックオフセットを求める。ここで、TQはSYNC−REQパケットを送信する時点であり、TSはSYNC−RESパケットを受信する時点であり、TTは、データシンク又は同期をとられた近傍ノードによってSYNC−RESパケットを送信する時点であり、TRは、データシンク又は同期をとられた近傍ノードによってSYNC−REQパケットを受信する時点である。
オフセットが計算された後、ノードは、同期プロセスが自身のプライマリデータシンクによって開始されたか否かを判断する(1150)。自身のプライマリデータシンクによって開始されていない場合、ノードはクロックオフセットを記憶する(1155)。自身のプライマリデータシンクによって開始された場合、ノードは、SYNC−STARTパケットを送信したノードのクロックに対し、自身のクロックの同期をとる(1175)。ノードが自身のクロックの同期をとった後、ノードはSYNC−STARTパケットを送信して(1180)、自身の近傍に同期プロセスを継続させる。ノードが待機期間内にSYNC−RESパケット1135を受信しない場合、ノードは再び同期を開始する。
SYNC−STARTパケットを受信した後、ノードがSYNC−START送信機、例えばデータシンク又はデータシンクとの同期をとられたノードに送信されたSYNC−REQパケットを受信する(1120)場合、ノードはパッシブ同期プロセスを開始する(1160)。
パッシブ同期中、ノードは、SYNC−REQパケットが受信される時点TPを記録し(1165)、SYNC−RESパケットを待つためのタイマーを始動する。ノードが対応するSYNC−RESパケットを受信する(1170)場合、ノードは、SYNC−START送信機のクロックに対するクロックオフセットを以下のように計算する(1145)。
Figure 0006157726
ここで、TPは、ノードによってSYNC−REQパケットを受信する時点であり、TRは、SYNC−STARTパケットを送信したデータシンク又は同期をとられた近傍ノードによってSYNC−REQパケットを受信する時点であり、TR時間はSYNC−RESパケットに含まれる。
オフセットが計算された後、ノードは、同期プロセスが自身のプライマリデータシンクによって開始されたか否かを判断する(1150)。自身のプライマリデータシンクによって開始されていない場合、ノードはオフセットを記憶する(1155)。自身のプライマリデータシンクによって開始された場合、ノードは、SYNC−START送信機のクロックに対し、自身のクロックの同期をとる(1175)。ノードが自身のクロックの同期をとった後、ノードはSYNC−STARTパケットを送信し(1180)、自身の近傍に同期プロセスを継続させる。
パッシブ同期ノード1170が待機期間内にSYNC−RESパケットを受信しない場合、ノードは同期1171を再始動する。パッシブ同期を実行するノードが複数のSYNC−REQ及びSYNC−RESの対を受信する場合、ノードはこれらの対を用いてクロック精度を改善することができる。
同期期間が存在する同期間隔内で、ノードが自身のプライマリデータシンク又はセカンダリデータシンクに対応する同期関連パケットを一切受信しない場合、ノードは、Sync_Seqが0に設定されたSYNC−REQパケットをブロードキャストすることができる。Sync_Seqが0に等しいSYNC−REQパケットを受信すると、現在の同期期間において同期を実行した近傍ノードが、SYNC−RESパケットを用いて応答し、要求ノードにアクティブ同期を実行させることができる。
図12A及び図12Bは、同期プロセスの例を示す。図12Aに示すように、同期プロセスを開始するために、データシンクSはSYNC−STARTパケットをブロードキャストする(1210)。1ホップ近傍N1〜N5は、データシンクSのカバレッジ範囲1220内にある。したがって、ノードN1〜N5は、SYNC−STARTパケットを受信する。1ホップ近傍N1は、SYNC−STARTパケットの受信時に、データシンクSに対するアクティブ同期を実行し、1ホップ近傍N2は、データシンクSに対しパッシブ同期を実行する。
図12Bにおいて、ノードN1はデータシンクSとのアクティブ同期を実行する。ノードN1はSYNC−REQパケットを生成し、SYNC−REQパケットをデータシンクSに送信する(1230)。ノードN1のカバレッジエリア1240内に4つのノードS、N2、N6及びN7が存在する。したがって、これらの4つのノードはノードN1によって送信されたSYNC−REQパケットを受信することができる。
SYNC−REQパケットを受信するのに応答して、データシンクSは、SYNC−RESパケットを生成し、このSYNC−RESパケットをノードN1に返送する(1250)。ノードN1〜N5は、データシンクSによって送信されたSYNC−RESを受信することができる。ノードN1は、SYNC−RESパケットを受信すると、データシンクSのクロックに対し自身のクロックの同期をとる。次に、ノードN1は、SYNC−STARTパケットを送信し(1210)、自身の近傍に同期プロセスを実行させる。この例において、ノードS、N2、N6及びN7は、ノードN1によって送信されるSYNC−STARTパケットを受信することができる。一方、この例において、ノードN2は、シンクSに対するパッシブ同期を実行することができる。ノードN6及びN7は、ノードN1によって送信されるSYNC−REQパケットを受信することができるが、ノードN6及びN7はデータシンクSによって送信されるSYNC−RESパケットを受信することができない。結果として、ノードN6及びN7はデータシンクSとのパッシブ同期を実行することができない。代わりに、ノードN6及びN7のうちの一方は、ノードN1とのアクティブ同期を実行することができ、他方はノードN1とのパッシブ同期を実行することができる。
ノードN1がデータシンクSにSYNC−REQパケットを送信する(1220)とき、ノードN2はこのSYNC−REQパケットを受信する(1260)。また、ノードN2は、図12Aに示すように、データシンクSによってブロードキャストされるSYNC−STARTパケットを受信する。したがって、ノードN2は、SYNC−RESパケットを監視することによってパッシブ同期を実行することができる。ノードN2は、ノードN1によって送信されたSYNC−REQパケットの受信時の時点TPを記録し、SYNC−RESパケットを待つためのタイマーを始動する。ノードN2は、SYNC−RES待機期間内でデータシンクSによってノードN1に送信されたSYNC−RESパケットを受信し(1270)、そのクロックをデータシンクSのクロックに同期する。幾つかの実施形態では、ノードの第1のプリファレンスは、パッシブ同期を実行して通信オーバーヘッドを低減することである。
図13A〜図13Fは、様々なメッセージのフローを示す。図13Aに示すように、DIOメッセージは、シンクノード1310によって開始され、ネットワークを通じて伝搬される(1320)。図13Bは、DAOメッセージが非シンクノード1325によって生成され、シンクノード1310に向かって流れるDAOメッセージのフロー1330の概略図を示す。図13Cは、シンクノード1310によって開始され、ネットワークを通じて伝搬される(1340)、SYNC−STARTメッセージのフロー1340の概略図である。
図13Dは、SYNC−REQメッセージ1351及びSYNC−RESメッセージ1353の伝送を示す。同期をとられていないノードN2 1358は、SYNC−REQメッセージ1351を生成し、このメッセージ1351を、同期をとられたノードN1 1350に送信する。ノード1350は、SYNC−RESメッセージl353で返答する。近傍ノードN3は、メッセージ1351及び1353の双方をオーバーヒアし、パッシブ同期を実行することができる。
図13Eは、シンク切換えメッセージ1372及び切換え遅延メッセージ1376の送信を示し、ここで、ノードN1 1374は、シンクを切り換えるために、シンク切換えメッセージ1372を自身の近傍ノードにブロードキャストする。近傍ノードN2 1378はノードN1が即時のシンク切換えを行うことを所望せず、したがって、切換え遅延メッセージ1376をノードN1に送信する。
図13Fは、非シンクノード1325によって生成されるデータパケットのフロー1380、及びシンクノード1310に向かうフローの概略図を示し、シンクノード1310は次に、データパケットをデータセンター1385に転送する。
本発明の上記の実施形態は数多くの方法のいずれかにおいて実現することができる。例えば、それらの実施形態は、ハードウェア、ソフトウェア又はその組み合わせを用いて実現することができる。ソフトウェアにおいて実現されるとき、そのソフトウェアコードは、単一のコンピューター内に設けられるにしても、複数のコンピューター間に分散されるにしても、任意の適切なプロセッサ、又はプロセッサの集合体において実行することができる。そのようなプロセッサは集積回路として実現することができ、集積回路構成要素内に1つ又は複数のプロセッサが含まれる。しかしながら、プロセッサは、任意の適切な構成の回路を用いて実現することができる。そのプロセッサは、当該技術分野において既知であるように、メモリ、送受信機及び入/出力インターフェースに接続することができる。
また、本明細書において概説される種々の方法又はプロセスは、種々のオペレーティングシステム又はプラットフォームのいずれか1つを利用する1つ又は複数のプロセッサ上で実行可能であるソフトウェアとしてコード化することができる。代替的に、又はそれに加えて、本発明は、信号等の、コンピューター可読記憶媒体以外のコンピューター可読媒体として具現することができる。
用語「プログラム」又は「ソフトウェア」は、本明細書において、コンピューター又は他のプロセッサをプログラミングし、上記で論じられたような本発明の種々の態様を実施するために用いることができる任意のタイプのコンピューターコード又は1組のコンピューター実行可能命令を指すために、一般的な意味において用いられる。
請求項要素を修飾するために特許請求の範囲において「第1の」、「第2の」のような序数の用語を使用することは、それだけで、或る請求項要素が別の請求項要素よりも優先度が高いこと、優位であること、若しくは上位にあることを、又は方法の動作が実行される時間的な順序を暗示するのではなく、請求項要素を区別するために、或る特定の名称を有する1つの請求項要素を(序数用語を使用しなければ)同じ名称を有する別の要素から区別するラベルとして単に使用される。

Claims (8)

  1. 宛先指向有向非巡回グラフ(DODAG)トポロジーになるように編成されたノードの無線ネットワークにおけるデータシンクに対しノードの同期をとる方法であって、
    前記データシンクから前記ノードに拡張型DODAG情報オブジェクト(DIO)メッセージを送信することと、
    前記ノードから前記データシンクに拡張型宛先告知オブジェクト(DAO)メッセージを送信することと、
    近傍ノードによって送信されたパケットを、前記ノードによって受信する第1の時点を求めることと、
    前記近傍ノードによって送信されたパケットを、前記データシンク又は同期をとられた近傍ノードによって受信する第2の時点を求めることと、
    前記第1の時点と前記第2の時点との間の差に基づいて前記データシンクに対し前記ノードの同期をとることと、
    前記近傍ノードによって、前記データシンク又は前記同期をとられた近傍ノードによって送信されたSYNC−STARTパケットを受信することに応答して送信されるSYNC−REQパケットを、前記ノードによって受信することと、
    前記データシンク又は前記同期をとられた近傍ノードによって、前記SYNC−REQパケットを受信することに応答して送信されたSYNC−RESパケットを、前記ノードによって受信することと、
    前記ノードによって前記SYNC−REQパケットを受信した前記第1に時点と、前記データシンク又は前記同期をとられた近傍ノードによって前記SYNC−REQパケットを受信した前記第2の時点に基づいて、前記ノードのクロックと前記データシンクのクロックとの間のオフセットを求めることと、
    前記ノードのクロックと、前記データシンクのクロックとの間のオフセットに基づいて前記データシンク又は前記同期をとられた近傍ノードに対し前記ノードの同期をとることと、
    を含む、
    方法。
  2. 前記ノードのクロックと、前記データシンクのクロックとの間の前記オフセットを、
    Offset=TR−TN
    に従って求めることと、
    なお、ここで、TNは前記第1の時点であり、TRは前記第2の時点であり、
    前記オフセットに従って、前記データシンクのクロックとの、前記ノードのクロックの同期をとることと、
    を更に含む、
    請求項1に記載の方法。
  3. 前記データシンクがプライマリデータシンクであるか又はセカンダリデータシンクであるかを判断することと、
    データシンクが前記プライマリデータシンクであると判断された場合、前記オフセットに基づいて、前記データシンクの前記クロックとの、前記ノードの前記クロックの同期をとることと、
    そうでない場合、前記ノードに前記オフセットを記憶することと、
    を更に含む、
    請求項1に記載の方法。
  4. 宛先指向有向非巡回グラフ(DODAG)トポロジーになるように編成された無線ネットワークを形成するノードであって、
    クロックと、
    近傍ノードによって、データシンク又は同期をとられた近傍ノードによって送信されたSYNC−STARTパケットを受信することに応答して、データシンク又は同期をとられた近傍ノードに送信されるSYNC−REQパケットを受信し、前記SYNC−REQパケットの受信に応答して前記データシンク又は前記同期をとられた近傍ノードによって送信されるSYNC−RESパケットを受信する受信機と、
    前記ノードによって、前記クロックを用いて、前記SYNC−REQパケットを受信した第1の時点、前記SYNC−RESパケットを用いて、前記データシンク又は前記同期をとられた近傍ノードによる前記SYNC−REQパケットを受信した第2の時点に基づいて、前記ノードのクロックと前記データシンクのクロックとの間のオフセットを求めるプロセッサであって、それによって該プロセッサは、前記オフセットに基づいて、前記データシンク又は前記同期をとられた近傍ノードに対し前記ノードの同期をとる、プロセッサと、
    を備える、
    ノード。
  5. 前記プロセッサは、前記データシンクのクロックとの、前記ノードの前記クロックの同期を実行する、
    請求項4に記載のノード。
  6. 前記プロセッサは、前記データシンクのクロックとの、前記ノードの前記クロックの同期を実行し、前記ノードの前記クロックと、前記ネットワークにおける第2のデータシンクのクロックとの間のクロックオフセットを求め、前記ノードは、
    前記クロックオフセットを記憶するメモリと、
    前記同期を更新することなく、前記クロックにより前記データシンクに対し同期をとられたデータパケット送信、及び前記クロックから前記クロックオフセットだけオフセットしたクロックにより前記第2のデータシンクに対し同期をとられたデータパケット送信を行う送信機と、
    を更に備える、
    請求項4に記載のノード。
  7. 前記メモリは、1組のデータシンクとの前記ノードの同期をとるクロックオフセットを記憶する、
    請求項6に記載のノード。
  8. 前記送信機は、前記データパケットを前記データシンクに送信し、制御期間内にシンク切換えパケットをブロードキャストし、前記ブロードキャストされたシンク切換えパケットに応答して、切換え遅延要求パケットが同期期間内に受信されない限り、前記データパケットを前記第2のデータシンクに送信する、
    請求項6に記載のノード。
JP2016517008A 2013-12-04 2014-11-27 データシンクに対しノードの同期をとる方法及び無線ネットワークを形成するためのノード Active JP6157726B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/096,241 2013-12-04
US14/096,241 US9226253B2 (en) 2013-12-04 2013-12-04 Passive synchronization in wireless networks
PCT/JP2014/082056 WO2015083761A1 (en) 2013-12-04 2014-11-27 Method for synchronizing node to data sink and node for forming wireless network

Publications (2)

Publication Number Publication Date
JP2016537842A JP2016537842A (ja) 2016-12-01
JP6157726B2 true JP6157726B2 (ja) 2017-07-05

Family

ID=52273458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016517008A Active JP6157726B2 (ja) 2013-12-04 2014-11-27 データシンクに対しノードの同期をとる方法及び無線ネットワークを形成するためのノード

Country Status (4)

Country Link
US (1) US9226253B2 (ja)
JP (1) JP6157726B2 (ja)
CN (1) CN105794284B (ja)
WO (1) WO2015083761A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9826493B2 (en) * 2013-12-04 2017-11-21 Mitsubishi Electric Research Laboratories, Inc. Synchronized multi-sink routing for wireless networks
CN105101393B (zh) * 2014-05-19 2018-08-31 中兴通讯股份有限公司 无线同步方法及无线同步***
JP6413787B2 (ja) * 2015-01-21 2018-10-31 沖電気工業株式会社 通信装置、プログラム及び方法
US10080205B2 (en) 2015-07-06 2018-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for determining synchronisation references
US10585410B2 (en) * 2015-11-05 2020-03-10 Mitsubishi Electric Corporation Functional unit and control apparatus wherein a functional unit synchronized with another functional unit on basis of an outside trigger signal having a synchronized period
CN106970921B (zh) * 2016-01-14 2020-10-16 阿里巴巴集团控股有限公司 一种数据迁移方法及装置
US10298346B2 (en) * 2016-06-02 2019-05-21 Cisco Technology, Inc. Directed acyclic graph optimization based on timing information for generating optimized network clock
CN107248895B (zh) * 2017-06-19 2019-01-04 深圳市盛路物联通讯技术有限公司 一种物联网终端设备与汇聚单元的时间同步方法及***
IL257997B (en) * 2018-03-08 2019-09-26 Connected Intelligence Systems Ltd Method and system for synchronizing a mesh network
US11126657B2 (en) * 2018-06-11 2021-09-21 Alibaba Group Holding Limited Efficient in-memory representation of computation graph for fast serialization and comparison
CN112154696B (zh) * 2018-08-27 2023-07-18 谷歌有限责任公司 网状网络中的同步接收
CN109603153B (zh) * 2018-12-13 2022-07-12 网易(杭州)网络有限公司 虚拟事件处理方法及装置、电子设备和存储介质
CN112583570A (zh) * 2019-09-27 2021-03-30 华为技术有限公司 一种序列号同步的方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072432B2 (en) 2002-07-05 2006-07-04 Meshnetworks, Inc. System and method for correcting the clock drift and maintaining the synchronization of low quality clocks in wireless networks
TWI367658B (en) * 2007-07-04 2012-07-01 Realtek Semiconductor Corp A receiving device, a signal processing system and a signal receiving method
JP4989397B2 (ja) * 2007-09-26 2012-08-01 京セラ株式会社 移動通信システム、基地局装置、およびハンドオーバ方法
CN101425887A (zh) * 2007-10-29 2009-05-06 吉林市曼博科技有限公司 一种用于无线传感器网络的时间同步方法
US8249049B2 (en) * 2009-03-17 2012-08-21 Cisco Technology, Inc. Clock synchronization
US8391271B2 (en) 2009-03-19 2013-03-05 Bae Systems Information And Electronic Systems Integration Inc. Time synchronization for distributed mobile ad hoc networks
GB2484915B (en) * 2010-10-22 2013-10-23 Toshiba Res Europ Ltd Forwarding and routing in sensor networks
KR101199292B1 (ko) 2011-03-18 2012-11-09 전자부품연구원 멀티싱크/멀티패스 라우팅 센서 네트워크 제어방법 및 이를 적용한 센서 네트워크 시스템
JP5754206B2 (ja) * 2011-03-29 2015-07-29 富士通株式会社 アドホックネットワークにおける時刻同期方法および装置
CN102769870A (zh) * 2011-05-05 2012-11-07 苏州两江科技有限公司 一种低能耗的无线传感网的时间同步方法
WO2012149736A1 (zh) * 2011-09-09 2012-11-08 华为技术有限公司 一种时间同步的方法和***及节点设备
GB2495910B (en) 2011-10-19 2014-04-02 Toshiba Res Europ Ltd Methods of establishing communication in a sensor network, and apparatus thereof
JP5836183B2 (ja) * 2011-12-27 2015-12-24 三菱電機株式会社 無線通信システム、無線通信装置および基準装置
WO2013129672A1 (ja) * 2012-03-02 2013-09-06 富士通株式会社 ノード及び通信制御方法
CN103313381B (zh) * 2013-06-06 2016-10-26 安徽华东光电技术研究所 一种无线通信发射基站同步方法
US9088983B2 (en) * 2013-08-06 2015-07-21 Cisco Technology, Inc. Interleaving low transmission power and medium transmission power channels in computer networks

Also Published As

Publication number Publication date
CN105794284B (zh) 2019-03-15
CN105794284A (zh) 2016-07-20
US20150156736A1 (en) 2015-06-04
WO2015083761A1 (en) 2015-06-11
US9226253B2 (en) 2015-12-29
JP2016537842A (ja) 2016-12-01

Similar Documents

Publication Publication Date Title
JP6157726B2 (ja) データシンクに対しノードの同期をとる方法及び無線ネットワークを形成するためのノード
US9826493B2 (en) Synchronized multi-sink routing for wireless networks
US9736771B2 (en) Energy efficient management of heterogeneous multi-hop wireless networks
Perkins et al. Routing over multi-hop wireless network of mobile computers
Lee et al. FlexiTP: a flexible-schedule-based TDMA protocol for fault-tolerant and energy-efficient wireless sensor networks
US9426035B2 (en) Data reporting using reporting groups in a computer network
JP5430481B2 (ja) ゲートウエイおよび端末
JP2015139219A (ja) ゲートウェイ及びソフトウェア・ディファインド・manetにおけるルーティング
US8885631B2 (en) Multiuser detection enabled medium access control in mobile ad hoc networks
JP6801191B2 (ja) 無線通信システム、無線通信装置、及び無線通信プログラム
JPWO2008149598A1 (ja) 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム
JP2015139220A (ja) ソフトウェア・ディファインド・manetにおけるサービス指向ルーティング
Lee et al. FlexiMAC: A flexible TDMA-based MAC protocol for fault-tolerant and energy-efficient wireless sensor networks
WO2023045143A1 (zh) 一种基于时间脉冲源的混合路由协议的实现方法
JP2018528726A (ja) 無線ピアツーピアネットワーク内のデバイス、無線通信システム及び制御方法
JP2012253510A (ja) ゲートウエイ装置、ノード装置、通信システム及びチャネル変更方法
Sarkar et al. Sleeping beauty: Efficient communication for node scheduling
JP5007686B2 (ja) 間欠動作通信装置、通信システム及び通信方法
JP2009260720A (ja) 経路制御方法、通信システムおよび通信装置
CN113055945A (zh) 负载均衡方法及移动自组织网络
JP2020031424A (ja) ユニキャストトラフィックの同期
JP2008283360A (ja) 移動端末装置、制御方法および移動通信システム
CN116074242B (zh) 一种面向tsch网络的多路径联合调度方法
Li et al. A real-time routing protocol for (m, k)-firm streams in wireless sensor networks
Shinde et al. An energy efficient critical event monitoring routing method for wireless sensor networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170606

R150 Certificate of patent or registration of utility model

Ref document number: 6157726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250