JP4046096B2 - ネットワークの時刻同期方法 - Google Patents

ネットワークの時刻同期方法 Download PDF

Info

Publication number
JP4046096B2
JP4046096B2 JP2004098206A JP2004098206A JP4046096B2 JP 4046096 B2 JP4046096 B2 JP 4046096B2 JP 2004098206 A JP2004098206 A JP 2004098206A JP 2004098206 A JP2004098206 A JP 2004098206A JP 4046096 B2 JP4046096 B2 JP 4046096B2
Authority
JP
Japan
Prior art keywords
slave
master
route
clock
node
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.)
Expired - Fee Related
Application number
JP2004098206A
Other languages
English (en)
Other versions
JP2005286720A (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.)
KDDI R&D Laboratories Inc
Original Assignee
KDDI R&D Laboratories Inc
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 KDDI R&D Laboratories Inc filed Critical KDDI R&D Laboratories Inc
Priority to JP2004098206A priority Critical patent/JP4046096B2/ja
Publication of JP2005286720A publication Critical patent/JP2005286720A/ja
Application granted granted Critical
Publication of JP4046096B2 publication Critical patent/JP4046096B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、ノードが分散配置されたネットワークの時刻同期方法に関する。
メッシュ型通信ネットワークにおける時刻同期方法として、管理ノードを必要とすることなく、ノード間の時刻同期をネットワーク全体で自律分散的に確立する技術がある(例えば特許文献1参照)。メッシュ型通信ネットワークとは、複数のノードNがメッシュ状に分散配置され、各ノードが少なくとも1つの通信装置を含み、対向するノードがそれぞれの通信装置間にリンクを確立しているものをいう。このような技術は、各ノードが対向ノードとの間でのみ同期を確立しつつ、全体として複数のノードを順次にツリー状に構成する。従って、部分的なノード障害があった場合でも、リンクで接続された範囲内でツリーを維持することが可能となる。
例えば、特許文献1に基づく技術は、対向する一方のノードの通信装置の機能をマスタとし、他方のノードの通信装置の機能をスレーブとして、マスタの同期用クロックにスレーブのクロックを同期させる。リンクを介して対向するマスタとスレーブとの関係は、両者間のネゴシエーションにより、入れ替わることができる。また、マスタ及びスレーブが収容されているノードは、スレーブのクロックにマスタのクロックを同期させる。
このようにして同期のとれたリンクに繋がる複数のマスタのうち、クロック供給源として機能するマスタをルートと定義して、複数のノードをツリー状に構成する。ルートRは、同期の確立されているツリー内に唯一存在するものとする。
尚、メッシュ型通信ネットワークについて、全てのノードが同期しているとは限らず、複数の時刻同期ツリーが存在することとなる。また、1つのノードに複数の通信装置が存在していても、必ず全てのクロックが同期しているとは限らない。この場合、1つのノードが異なるツリーに属することとなる。
特開2003−273849号公報
しかしながら、特許文献1の時刻同期方法によれば、各ノードのクロックに事前に設定されている優先度のみを用いて、いずれのクロックに同期するかが決定されていた。従って、ルートから見たツリーの形を考慮することができないために、偏ったツリーとなる場合があった。このようなツリーは、収束時間が増加し、ルートからの従属同期を実現する上で効率の悪いものである。
そこで、本発明は、同期収束時間を短縮するために、ルートから見たツリーの形を考慮した、ネットワークの時刻同期方法を提供することを目的とする。
本発明が対象とするネットワークにおける時刻同期方法は、複数のノードが分散配置され、各ノードが少なくとも1つの通信装置を含み、対向するノードがそれぞれの通信装置間にリンクを確立するネットワークにあって、対向する一方のノードの通信装置の機能をマスタとし、他方のノードの通信装置の機能をスレーブとして、マスタの同期用クロックにスレーブのクロックを同期させるステップと、マスタ及びスレーブが収容されているノードは、スレーブのクロックにマスタのクロックを同期させるステップとを有し、同期のとれたリンクに繋がる複数のマスタのうち、クロック供給源として機能するマスタをルートと定義して、複数のノードをツリー状に構成したネットワークにおけるものである。
本発明におけるネットワークの時刻同期方法は、
マスタ及びスレーブが、ルートの配下で同期するルート配下クロック数を取得する第1のステップと、
マスタ及びスレーブが収容されたノードについて、最大ルート配下クロック数を有するスレーブのクロックに、マスタのクロックを同期させる第2のステップと
を有することを特徴とする。
また、本発明の時刻同期方法における他の実施形態によれば、第2のステップは、
最大ルート配下クロック数を有するスレーブ以外のスレーブが、当該スレーブに対向するマスタと機能を交換することにより、当該スレーブをマスタに変更し、マスタであったものをスレーブに変更するステップと、
変更されたマスタのクロックを、最大ルート配下クロック数を有するスレーブのクロックに同期させるステップとを更に有することも好ましい。
更に、本発明の時刻同期方法における他の実施形態によれば、第1のステップは、ノードにマスタが収容されていない場合、当該ノードに収容されたスレーブをリーフと定義し、
リーフが、配下クロック数を1とするホップ数通知メッセージを、当該リーフのマスタとなる上位ノードへ送信するステップと、
ホップ数通知メッセージを受信したマスタが、該メッセージに含まれる配下クロック数の合計を保持し、合計された配下クロック数を含むホップ数通知メッセージをマスタとなる上位ノードへ送信するステップと
ホップ数通知メッセージを受信したルートが、該メッセージに含まれる配下クロック数の合計を保持し、合計されたルート配下クロック数を含むルートID通知メッセージを下位ノードへ送信するステップと、
ルートID通知メッセージを受信したマスタ及びスレーブが、該メッセージに含まれるルート配下クロック数を保持するステップと
を更に有することも好ましい。
更に、本発明の時刻同期方法における他の実施形態によれば、
第1のステップについて、マスタ及びスレーブがそれぞれ、当該ノードからルートまでのルートホップ数を更に取得し、
第2のステップについて、マスタ及びスレーブのルート配下クロック数が同じ場合、最小ルートホップ数を有するスレーブのクロックに、マスタのクロックを同期させることも好ましい。
更に、本発明の時刻同期方法における他の実施形態によれば、
第2のステップについて、最小ルートホップ数を有するスレーブ以外のスレーブであって、最小ルートホップ数よりも2以上多いルートホップ数を有するスレーブについて、当該スレーブに対向するマスタと機能を交換することにより、当該スレーブをマスタに変更し、マスタであったものをスレーブに変更するステップと、
変更されたマスタのクロックを、最小ルートホップ数を有するスレーブのクロックに同期させるステップとを更に有することも好ましい。
更に、本発明の時刻同期方法における他の実施形態によれば、
ルートが、ルートホップ数を0とするルートID通知メッセージを、当該ルートのスレーブとなる下位ノードへ送信するステップと、
ルートID通知メッセージを受信したスレーブが、該メッセージに含まれるルートホップ数を保持し、1増分したルートホップ数を含むルートID通知メッセージを、スレーブとなる下位ノードへ送信するステップとを更に有することも好ましい。
また、本発明におけるネットワークの時刻同期方法は、
マスタ及びスレーブがそれぞれ、当該ノードからルートまでのルートホップ数を取得する第1のステップと、
マスタ及びスレーブが収容されたノードについて、最小ルートホップ数を有するスレーブのクロックに、最小ルートホップ数よりも2以上多いルートホップ数を有するマスタのクロックを同期させる第2のステップと
を有することを特徴とする。
また、本発明の時刻同期方法における他の実施形態によれば、
第2のステップは、
最小ルートホップ数を有するスレーブ以外のスレーブであって、最小ルートホップ数よりも2以上多いルートホップ数を有するスレーブについて、当該スレーブに対向するマスタと機能を交換することにより、スレーブをマスタに変更し、マスタであったものをスレーブに変更するステップと、
変更されたマスタのクロックを、最小ルートホップ数を有するスレーブのクロックに同期させるステップと
を更に有することも好ましい。
更に、本発明の時刻同期方法における他の実施形態によれば、
第1のステップは、
ルートが、ルートホップ数を0とするルートID通知メッセージを、当該ルートのスレーブとなる下位ノードへ送信するステップと、
ルートID通知メッセージを受信したスレーブが、該メッセージに含まれるルートホップ数を保持し、1増分したルートホップ数を含むルートID通知メッセージを、スレーブとなる下位ノードへ送信するステップと
を更に有することも好ましい。
更に、本発明におけるネットワークの時刻同期方法は、
ルートは、当該ルートを収容するノードとリンクを介して同期するスレーブ毎に、ツリーの末端に位置するスレーブであるリーフまでのリーフホップ数を取得する第1のステップと、
ルートが収容されたノードについて、繋がっている複数のスレーブのうち、最小リーフホップ数よりも2以上多いリーフホップ数を有するスレーブが存在する場合、当該ルートが、最小リーフホップ数を有するスレーブと機能を交換することにより、当該ルートをスレーブに変更し、スレーブであったものをルートに変更する第2のステップと、
スレーブのクロックを、ルートのクロックに同期させる第3のステップと
を有することを特徴とする。
本発明の時刻同期方法における他の実施形態によれば、ルートが収容されたノードに更にマスタが収容されていた場合、機能を交換されたスレーブのクロックに、マスタのクロックを同期させる第4のステップを更に有することも好ましい。
また、本発明の時刻同期方法における他の実施形態によれば、第1のステップは、
リーフが、リーフホップ数を1とするリーフホップ数通知メッセージを、当該リーフのマスタとなる上位ノードへ送信するステップと、
リーフホップ数通知メッセージを受信したマスタが、該メッセージに含まれるリーフホップ数を保持し、1増分したリーフホップ数を含むリーフホップ数通知メッセージをマスタとなる上位ノードへ送信するステップとを更に有することも好ましい。
本発明におけるネットワークの時刻同期方法によれば、同期収束時間を短縮するために、ルートから見たツリーの形を考慮することができる。配下クロック数が多いツリーのクロックに従属することができ、またルートまでのホップ数が少ないクロックに従属することができるので、ジッタを抑制することができ、正確な同期タイミングを実現することができる。更に、ルートが、ツリーの最適な位置に移動することにより、ツリー全体のホップ数を短縮することもできる。本発明によれば、特定の管理ノードを必要とせず、各ノードが時刻同期のために自律分散的に動作する。
特に、ネットワークトポロジの変化に柔軟に対応して、同期ネットワークを自律分散的に構成又は維持することができるので、無線局の移動を想定したノーマディック/アドホックネットワークへの用途に有効である。また、本発明におけるツリーの構築技術は、無線に限られず、インターネットのような有線網にも適用できる。例えばNTP(Network Time Protocol)のような時刻同期方式においても、事前に基準ノードやノード間の階層関係を設定することなく、最適なツリーを構成し、同期を維持することが可能となるため、極めて有効である。
以下では、図面を用いて、本発明の最良の実施形態を詳細に説明する。
「クロック」とは、リンクを介して終端する通信装置をいい、ルートのクロックRと、マスタのクロックMと、スレーブのクロックSと、リーフのクロックLとがある。
「配下クロック数」Nallとは、自クロックの下位に従属している全クロック数をいう。自クロックに複数のクロックが従属している場合には、従属している各クロックの配下クロック数の和をもって配下クロック数とする。
「ルート配下クロック数」Rallとは、ルートに従属している全クロック数をいう。各クロックが保持し、クロック同期の際の比較対照となる。
「ルートホップ数」Rhopとは、ルートを0としたときのルートから自ノードまでの距離を示すホップ数をいう。
「リーフホップ数」Lhopとは、ツリー末端のスレーブであるリーフを0とした場合、そのリーフから自ノードまでの距離を示すホップ数をいう。自ノードからのリーフが複数存在する場合、その最大ホップ数を自ノードのリーフホップ数とする。
新しくツリーを構築する本発明の方法は、各クロックが「ルート配下クロック数」Rall及び「ルートホップ数」Rhopを保持することにより実現する。「ルート配下クロック数」Rallを考慮することにより、ルート配下クロック数が多いクロックに当該ノードが従属することができ、ネットワーク全体での同期確立収束までの時間を短縮することができる。また、「最大ホップ数」Rhopを考慮することにより、リーフまでのホップ数が最小となるツリーに従属することができ、ツリー構造を最適化する、即ち、ツリーの基準ノードから、各ノードへの最大ホップ数を最短にすることができる。
また、既に構築されたツリーを最適化する本発明の方法は、「ホップ数短縮化方法」と「ルート移動方法」とがある。「ホップ数短縮化方法」とは、自ノード内の複数のクロックの中で、ルートからのホップ数の差が一定以上ある場合、ホップ数の大きなクロックの従属関係を逆転させて従属先を切り替え、自ノードを含めた下位クロックのホップ数を短縮し、ツリーの最大ホップ数を短くするものである。また、「ルート移動方法」とは、一度構築されたツリーにおいて、ツリーの構造は崩さないまま、全体として最適な位置にルートを移動させ、ツリーの最大ホップ数を短くするものである。これは、「ルートスレーブ逆転」及び「ルートマスタ逆転」の2つの動作の連続により、最適な位置までルートを移動させる。
これら方法を実現するために、「ルートID通知メッセージ」及び「ホップ数通知メッセージ」が用いられる。
「ルートID通知メッセージ」Rmesは、ツリーIDと、ルートホップ数Rhopと、ルート配下クロック数Rallとを含む。このメッセージは、ルートの状態が変化したこと(例えばリンク断等)を下位ノードへ通知するものである。このメッセージを受信したクロックは、これら値(ツリーID、Rhop及びRall)とを保持し、ルートホップ数Rhopを1増分して、下位クロックに対してルートID通知メッセージを送信する。
「ホップ数通知メッセージ」Hmesは、リーフホップ数Lhopと、配下クロック数Nallとを含む。このメッセージは、リンク独立や、ツリーIDの変更によりホップ数が変化したことを上位ノードへ通知するものである。このメッセージを受信したクロックは、これら値(Lhop及びNall)を保持し、リーフホップ数Lhopを1増分し、配下クロック数を再加算して、上位クロックに対してホップ数通知メッセージを送信する。
図1は、本発明におけるメッセージの送受信を表すツリー構成図である。
図1によれば、ノードN0内で、マスタM0がルートRに同期している。ノードN10のスレーブS1は、上位ノードN0のルートRと同期し、ノードN11のスレーブS1は、上位ノードN0のマスタM0と同期している。また、ノードN10について、3つのマスタM1は、スレーブS1に同期している。マスタM1は、ノードN10の下位ノードN21〜N23のスレーブS2から同期されている。
ノードの各クロック(マスタM、スレーブS、ルートR及びリーフL)は、Rhop「ルートホップ数」と、Lhop「リーフホップ数」と、Nall「配下クロック数」と、Rall「ルート配下クロック数」とを保持する。
ノードN0は、下位ノードN10及びN11へ、ルートID通知メッセージRmes(ID,Rhop,Rall)を送信する。ノードN0が送信するルートID通知メッセージRmesのルートホップ数Rhopは0である。
ノードN10のスレーブS1は、ルートID通知メッセージRmesに応答して、ACKをノードN0へ送信する。ノードN0のスレーブS1は、ルートID通知メッセージRmesの受信によって、ルートホップ数0に1増分して保持する。更に、スレーブS1に同期している各マスタM1は、同様にルートホップ数Rhop=1を保持し、更に、下位ノードN21〜N23へ、ルートホップ数Rhop=1としたルートID通知メッセージRmesを送信する。これに対し、ノードN10は、下位ノードN21〜N23からACKを受信する。
このように、ルートRから送信されたルートID通知メッセージRmesは、上位から下位へ中継されながら、リーフまで到達する。これに応答して、リーフは、ホップ数通知メッセージHmes(Lhop,Nall)を上位ノードへ送信する。リーフが送信するホップ数通知メッセージHmesは、リーフホップ数Lhopが0であり、配下クロック数Nallが1である。
ノードN10のマスタM1が、ノードN21から、ホップ数通知メッセージHmes(Lhop=5,Nall=10)を受信する。このとき、マスタM1は、リーフホップ数5に1増分して保持し、配下クロック数10に1増分して保持する。更に、マスタM1が同期しているスレーブS1は、全てのマスタM1の中で最大リーフホップ数を保持する。ここでは、3つのマスタM1の中で、最大リーフホップ数は7である。また、スレーブS1は、全てのマスタM1について配下クロック数の合計値(11+10+15=36)と、当該ノードN10の中のクロック数(スレーブ1+マスタ3=4)との和となる配下クロック数40を保持する。
ノードN0のマスタM0は、ノードN11からホップ数通知メッセージHmes(Lhop=5,Nall=8)を受信している。これにより、マスタM0は、受信したリーフホップ数5に1増分したリーフホップ数6を保持する。また、マスタM0は、受信した配下クロック数8に、自身のクロック数1との和である配下クロック数9を保持する。
最後に、ノードN0のルートRは、ノードN10のスレーブS1からホップ数通知メッセージHmes(Lhop=7,Nall=40)を受信する。これにより、ルートRは、マスタM0との関係から、受信したリーフホップ数の最大値(7>6)に1増分したリーフホップ数8を保持する。また、ルートRは、受信した配下クロック数の合計値(40+9)と、自身のクロック数1との和である配下クロック数50を保持する。
このように、ルートID通知メッセージRmesとホップ数通知メッセージHmesとを送受信することによって、各クロックは、所定の値を取得することができる。
図2は、図1の構成について、リンクダウンが発生した場合のツリー構成図である。
ノードN23の従属ツリーにおいてリンクダウンが発生し、N23の配下クロック数Nallが8に減少し、リーフホップ数Lhopが3に減少したとする。このとき、ノードN23は、ホップ数通知メッセージHmes(Lhop=3,Nall=8)を、上位ノードN10へ送信する。
ホップ数通知メッセージHmesを受信したノードN10のマスタM1は、リーフホップ数3を1増分して保持し、配下クロック数8を保持する。更に、マスタM1が同期しているスレーブS1において、3つのマスタM1の中で最大リーフホップ数は6となる。従って、スレーブS1は、全てのマスタM1について配下クロック数の合計値(11+10+8=29)と、当該ノードN10の中のクロック数4(スレーブ1+マスタ3=4)との和となる配下クロック数33を保持する。
ノードN10のスレーブS1は、上位ノードN0のルートRへ、ホップ数通知メッセージHmes(Lhop=6、Nall=33)を送信する。これにより、ルートRは、マスタM0との関係から、受信したリーフホップ数の最大値6に1増分したリーフホップ数7を保持する。また、ルートRは、受信した配下クロック数の合計値(33+9)と、自身のクロック数1との和である配下クロック数43を保持する。
このように、ツリーに変更が生じた場合であっても、ルートID通知メッセージRmesとホップ数通知メッセージHmesとを送受信することによって、各クロックは、所定の値を取得することができる。
図3は、ノードがルートID通知メッセージRmesを受信した場合のフローチャートである。
(S301)ルートID通知メッセージRmes(ID,Rhop,Rall)を受信した自ノードの上位クロック(スレーブ)は、ツリーID、ルートホップ数Rhop及びルート配下クロック数Rallを更新する。
(S302)当該上位クロックは、ルートID通知メッセージの送信元ノードに対して、ACKを送信する。
(S303)自ノード内に当該上位クロックに従属する他のリンクのマスタが存在するか否かを判定する。即ち、自ノードがリーフノードであるか否かを判定する。
(S304)自ノードがリーフノードでないならば、当該上位クロックに従属している全てのマスタに対して、S305〜S307の処理を実行する。
(S305)当該下位クロック(マスタ)は、ツリーID、ルートホップ数Rhop及びルート配下クロック数Rallを更新する。
(S306)当該下位クロック(マスタ)に同期している下位ノードに対して、ルートホップ数を1増分したルートID通知メッセージを送信する。
(S307)下位ノードからACKを受信する。
(S308)当該上位クロックに従属している全てのマスタに対して、S305〜S307の処理を繰り返す。その後、処理を終了する。
(S309)自ノードがリーフノードであるならば、このルートID通知メッセージが、ホップ数通知メッセージに対して返答されたものであるか否かを判定する。この判定は、メッセージに含まれるフラグによって判定される。ホップ数通知メッセージに対して返答されたものであるならば、処理を終了する。
(S310)ルートID通知メッセージが、ホップ数通知メッセージに対して返答されたものでないならば、上位ノードに対して、ホップ数通知メッセージHmes(Lhop=0,Nall=1)を送信して、処理を終了する。
図4は、ノードがホップ数通知メッセージHmesを受信した場合のフローチャートである。
(S401)ホップ数通知メッセージHmes(Lhop,Nall)を受信した自ノードの下位クロック(マスタ又はルート)は、当該下位クロックの保持するリーフホップ数として、通知されたリーフホップ数Lhopに1増分した値を保持する。また、当該下位クロックの保持する配下クロック数として、通知された配下クロック数Nallを保持する。尚、これらの過去の値についても、現在の値との変化を判定するために、一時的に保持しておく。
(S402)リーフホップ数及び配下クロック数について、過去の値と現在の値とに変化が生じたか否かを判定する。変化がなければ、処理を終了する。
(S403)これら値に変化があったならば、当該自ノードに従属しているクロックが存在するか否かを判定する。即ち、自ノードがルートであるか否かについて判定する。
(S404)自ノードがルートでないならば、自ノードの上位クロック(スレーブ)は、当該上位クロックの保持するリーフホップ数として、現在従属している下位クロックのリーフホップ数の最大値を保持する。また、当該上位クロックの保持する配下クロック数として、現在従属している下位クロックの配下クロック数の合計値と、現在従属しているクロック数との和を保持する。尚、これらの過去の値についても、現在の値との変化を判定するために、一時的に保持しておく。
(S405)当該上位クロックが同期している上位ノードが存在するか否かを判定する。
(S406)S403において自ノードがルートであるか、又は、S405において上位ノードが存在するならば、このホップ数通知メッセージが、ルートID通知メッセージに対して返答されたものであるか否かを判定する。この判定は、メッセージに含まれるフラグによって判定される。ルートID通知メッセージに対して返答されたものであるならば、処理を終了する。
(S407)ホップ数通知メッセージが、ルートID通知メッセージに対して返答されたものでないならば、下位ノードに対して、ルートID通知メッセージRmes(ID,Rhop)を送信して、処理を終了する。
(S408)S405において上位ノードが存在しないならば、リーフホップ数及び配下クロック数について、過去の値と現在の値とに変化が生じたか否かを判定する。変化がなければ、処理を終了する。
(S409)リーフホップ数及び配下クロック数について変化があったならば、当該スレーブのクロックが同期している上位ノードに対して、リーフホップ数を1増分した上で、ホップ数通知メッセージHmes(Lhop,Nall)を送信して、処理を終了する。
図5は、ルートID通知メッセージとホップ数通知メッセージとの関係を示す説明図である。
図5によれば、ノード内においてマスタとスレーブとの間の従属解消をした場合、マスタは、ルートとして機能する。このとき、スレーブは、上位ノードに対してホップ数通知メッセージを送信し、ルートは、下位ノードに対してルートID通知メッセージを送信する。ルートID通知メッセージを受信したリーフノードは、それに応答して上位ノードへホップ数通知メッセージを送信する。また、ホップ数通知メッセージを受信したルートは、それに応答して下位ノードへルートID通知メッセージを送信する。
ルートID通知メッセージとホップ数通知メッセージとは、常に1対1の関係にある。ルートID通知メッセージを送信した場合にはホップ数通知メッセージが送信され、ホップ数通知メッセージが送信された場合にはルートID通知メッセージが送信される。両メッセージには、現在送信されているメッセージが、ルートID通知メッセージによるものなのか、ホップ数通知メッセージによるものなのかを識別するフラグが含まれている。これにより、メッセージが再現なく送信されるのを防ぐ。
図6は、本発明におけるクロック同期処理のフローチャートである。
(S601)自ノード内で同期のとれていないクロックが存在するか否かを判定する。全てのクロックで同期がとれていれば、S605へ移行する。
(S602)同期のとれていないクロックが存在するならば、全てのクロックのルート配下クロック数Rallが同一か否かを判定する。
(S603)全てのクロックのルート配下クロック数Rallが同一でないならば、ルート配下クロック数が最も大きいスレーブを基準クロックと定義する。その後、ノード内で同期のとれていないクロックを同期対象とする。
(S604)全てのクロックのルート配下クロック数Rallが同一であるならば、ルートホップ数の最も小さいクロックを基準クロックと定義する。その後、ノード内で同期のとれていないクロックを同期対象とする。
(S605)自ノード内で全てのクロックで同期がとれているならば、自ノード内にルートホップ数Rhopが2ホップ以上離れたクロックが存在するか否かを判定する。2ホップ以上離れたクロックが存在しないならば、処理を終了する。
(S606)2ホップ以上離れたクロックが存在するならば、ルートホップ数が最も小さいスレーブを基準クロックと定義する。その後、基準クロックから2ホップ以上離れたクロックを同期対象とする。
(S607)基準クロック以外の全てのクロックについて、S608〜S611の処理を実行する。
(S608)当該クロックがスレーブか否かを判定する。スレーブでない、即ちマスタであれば、S610へ移行する。
(S609)当該クロックがスレーブならば、スレーブ/マスタ交換処理を行う。この方法は、特許文献1に示されたものと同じであり、スレーブと、当該スレーブにリンクを解して対向するマスタとの機能を交換する。これにより、当該クロックは、マスタとなる。
(S610)基準クロックに、当該マスタを同期させる。
(S611)基準クロックに同期した当該マスタは、下位ノードへルートID通知メッセージを送信する。
(S612)他のクロックの全てについてS608〜S611を繰り返す。
(S613)基準クロックとなるスレーブは、上位ノードへホップ数通知メッセージを送信する。
図7は、2ホップ以上離れた場合にのみホップ数を短縮することの説明図である。
図7(1)のように、新たに従属するクロックとの差分が1ホップの場合には、切り替えたとしても、リーフノードまでのホップ数は結局同じである。図7(2)のように、新たに従属するクロックとの差分が2ホップの場合には、リーフノードまでのホップ数は1つ減少する(L3->L2)。図7(3)のように、新たに従属するクロックとの差分が3ホップの場合には、リーフノードまでのホップ数は2つ減少する(L3->L1)。このように、新たに従属するクロックとの差分が2ホップ以上の場合に、ホップ数短縮の効果がある。尚、ホップ数短縮の動作は、リーフだけでなく、マスタが従属しているスレーブに対しても当然に発生する。
図8は、ノード内におけるホップ数短縮動作の説明図である。
(S81)ノードN3のスレーブS1は、ノードN1のルートRに同期し、スレーブS1にマスタM1が同期する。そのマスタM1に同一ツリーを介してスレーブS3が同期する。更に、スレーブS3にマスタM3が同期し、マスタM3はノードN2のリーフL4に同期される。
(S82)このとき、ホップ数の最も小さいスレーブS1が基準クロックとなる。最初に、スレーブS3とマスタM1との従属が解消される。次に、従属を解消されたマスタM1は、基準クロックのスレーブS1に従属する。
(S83)次に、従属を解消されたスレーブS3は、リンクを介して対向するマスタM2と機能を交換する。そして、スレーブから交換されたマスタM1は、基準クロックのスレーブS1に従属する。
図9は、本発明におけるルート移動のフローチャートである。
(S901)自ノードが、ルートを収容しているか否かを判定する。ルートを収容していなければ、処理を終了する。
(S902)ルートが2つ以上のリンクとツリーを構成しているか否かを判定する。
(S903)ルートに1つのリンクしか存在しない場合、そのルートのリーフホップ数が2以上であるか否かを判定する。2以上でなければ、処理を終了する。
(S904)ルートのリーフホップ数が2以上であれば、当該ルートのリンク先を、ルートの移動対象とする。
(S905)ルートに2以上のリンクが存在する場合、リンク毎のリーフホップ数について、リーフホップ数が大きい上位2つのリーフホップ数の差が2以上であるか否かを判定する。2以上でなければ、処理を終了する。
(S906)リーフホップ数の差が2以上であるならば、最大リーフホップ数となるリンク先を、ルートの移動対象とする。
(S907)移動対象となるリンク先のノードに、マスタが収容されているか否かを判定する。マスタが収容されていなければ、処理を終了する。
(S908)リンク先のノードにマスタが収容されているならば、ルートとマスタとの逆転処理を行う。
図10は、ルート移動の説明図である。
図10に示すように、ルートがツリーの端部分に近寄ることにより、ツリー全体としてのホップ数は大きくならざるを得ない。そこで、ルート/スレーブ逆転と、ルート/マスタ逆転とを繰り返すことにより、ルートをツリーの中央部分に移動させることにより、ルートから見たホップ数を平均化することができる。
ルートが存在するノードについて、各リンク先からの最大ホップ数に2以上の差分があったときに、ルート移動が行われる。図10について、状態(1)では、ルートは、右に4ホップ、左に0ホップであるため、移動を実行する。状態(2)では、ルート/スレーブの逆転がなされる。状態(3)でも、ルートは右に3ホップ、左に1ホップであるために、2以上の差分があるので更に移動する。状態(4)では、右に2ホップ、左に2ホップであり、ホップに差分がないため、ルート移動を行わない。
ルート移動の動作は、一度の動作でルートが最適な位置に移動するのではなく、1度の動作で移動するのは隣接のノードまでである。隣接ノードに移動後、改めてルート移動の動作が発生し、ホップ数計算の結果移動の必要があると判断すれば、再びルートの移動を行う。
図11は、ルート/マスタ逆転の説明図である。
ノードN1にルートとマスタとが収容されているとする。このとき、マスタを一旦ルートとし、右側の同期ツリーを独立させる。その後、左側のルートを、マスタとする。このような動作は、瞬間的に完了するため、独立/従属解消動作を伴わずに実行が可能となる。ノードN1内の2つのルートの同期タイミングはほぼ一致していると考えられるため、この動作はクロック同期処理に比べ短期間で完了できる。
図12は、本発明のホップ数短縮とルート移動との効果の説明図である。
図12(A)は、ホップ数を改善可能なツリー構成図である。これによれば、最長ホップ数は3となる。図12(B)は、図12(A)からホップ数短縮した場合のツリー構成図である。これによれば最長ホップ数は2となる。また、図12(C)は、図12(A)からルート移動した場合のツリー構成図である。これによっても最長ホップ数は2となる。図12(D)のように、ホップ数の差が1だった場合、ホップ数短縮とルート移動とのいずれを行っても効果に違いがない。
前述した本発明におけるネットワークの時刻同期方法の種々の実施形態によれば、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略を、当業者は容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
本発明におけるメッセージの送受信を表すツリー構成図である。 図1の構成について、リンクダウンが発生した場合のツリー構成図である。 ノードがルートID通知メッセージRmesを受信した場合のフローチャートである。 ノードがホップ数通知メッセージHmesを受信した場合のフローチャートである。 ルートID通知メッセージとホップ数通知メッセージとの関係を示す説明図である。 本発明におけるクロック同期処理のフローチャートである。 2ホップ以上離れた場合にのみホップ数を短縮することの説明図である。 ノード内におけるホップ数短縮動作の説明図である。 本発明におけるルート移動のフローチャートである。 ルート移動の説明図である。 ルート/マスタ逆転の説明図である。 本発明のホップ数短縮とルート移動との効果の説明図である。

Claims (12)

  1. 複数のノードが分散配置され、各ノードが少なくとも1つの通信装置を含み、対向するノードがそれぞれの通信装置間にリンクを確立するネットワークにあって、
    対向する一方のノードの通信装置の機能をマスタとし、他方のノードの通信装置の機能をスレーブとして、前記マスタの同期用クロックに前記スレーブのクロックを同期させるステップと、
    前記マスタ及び前記スレーブが収容されているノードは、前記スレーブのクロックに前記マスタのクロックを同期させるステップと
    を有し、前記同期のとれたリンクに繋がる複数のマスタのうち、クロック供給源として機能するマスタをルートと定義して、前記複数のノードをツリー状に構成したネットワークにおける時刻同期方法において、
    前記マスタ及びスレーブが、前記ルートの配下で同期するルート配下クロック数を取得する第1のステップと、
    前記マスタ及び前記スレーブが収容されたノードについて、最大ルート配下クロック数を有するスレーブのクロックに、前記マスタのクロックを同期させる第2のステップと
    を有することを特徴とするネットワークの時刻同期方法。
  2. 前記第2のステップは、
    前記最大ルート配下クロック数を有するスレーブ以外のスレーブが、当該スレーブに対向するマスタと機能を交換することにより、当該スレーブをマスタに変更し、マスタであったものをスレーブに変更するステップと、
    変更された前記マスタのクロックを、前記最大ルート配下クロック数を有する前記スレーブのクロックに同期させるステップと
    を更に有することを特徴とする請求項1に記載のネットワークの時刻同期方法。
  3. 前記第1のステップは、
    前記ノードに前記マスタが収容されていない場合、当該ノードに収容された前記スレーブをリーフと定義し、
    前記リーフが、配下クロック数を1とするホップ数通知メッセージを、当該リーフのマスタとなる上位ノードへ送信するステップと、
    前記ホップ数通知メッセージを受信した前記マスタが、該メッセージに含まれる配下クロック数の合計を保持し、合計された配下クロック数を含むホップ数通知メッセージをマスタとなる上位ノードへ送信するステップと、
    前記ホップ数通知メッセージを受信した前記ルートが、該メッセージに含まれる配下クロック数の合計を保持し、合計されたルート配下クロック数を含むルートID通知メッセージを下位ノードへ送信するステップと、
    前記ルートID通知メッセージを受信した前記マスタ及びスレーブが、該メッセージに含まれるルート配下クロック数を保持するステップと
    を更に有することを特徴とする請求項1又は2に記載のネットワークの時刻同期方法。
  4. 前記第1のステップについて、前記マスタ及び前記スレーブがそれぞれ、当該ノードから前記ルートまでのルートホップ数を更に取得し、
    前記第2のステップについて、前記マスタ及び前記スレーブの前記ルート配下クロック数が同じ場合、最小ルートホップ数を有するスレーブのクロックに、前記マスタのクロックを同期させる
    ことを特徴とする請求項1から3のいずれか1項の記載のネットワークの時刻同期方法。
  5. 前記第2のステップについて、前記最小ルートホップ数を有するスレーブ以外のスレーブであって、前記最小ルートホップ数よりも2以上多いルートホップ数を有するスレーブについて、当該スレーブに対向するマスタと機能を交換することにより、当該スレーブをマスタに変更し、マスタであったものをスレーブに変更するステップと、
    変更された前記マスタのクロックを、前記最小ルートホップ数を有する前記スレーブのクロックに同期させるステップと
    を更に有することを特徴とする請求項4に記載のネットワークの時刻同期方法。
  6. 前記ルートが、ルートホップ数を0とするルートID通知メッセージを、当該ルートのスレーブとなる下位ノードへ送信するステップと、
    前記ルートID通知メッセージを受信した前記スレーブが、該メッセージに含まれるルートホップ数を保持し、1増分したルートホップ数を含むルートID通知メッセージを、スレーブとなる下位ノードへ送信するステップと
    を更に有することを特徴とする請求項4又は5に記載のネットワークの時刻同期方法。
  7. 複数のノードが分散配置され、各ノードが少なくとも1つの通信装置を含み、対向するノードがそれぞれの通信装置間にリンクを確立するネットワークにあって、
    対向する一方のノードの通信装置の機能をマスタとし、他方のノードの通信装置の機能をスレーブとして、前記マスタの同期用クロックに、前記スレーブのクロックを同期させるステップと、
    前記マスタ及び前記スレーブが収容されているノードは、前記スレーブのクロックに前記マスタのクロックを同期させるステップと
    を有し、前記同期のとれたリンクに繋がる複数のマスタのうち、クロック供給源として機能するマスタをルートと定義して、前記複数のノードをツリー状に構成したネットワークにおける時刻同期方法において、
    前記マスタ及び前記スレーブがそれぞれ、当該ノードから前記ルートまでのルートホップ数を取得する第1のステップと、
    前記マスタ及び前記スレーブが収容されたノードについて、最小ルートホップ数を有するスレーブのクロックに、前記最小ルートホップ数よりも2以上多いルートホップ数を有するマスタのクロックを同期させる第2のステップと
    を有することを特徴とするネットワークの時刻同期方法。
  8. 前記第2のステップは、
    前記最小ルートホップ数を有するスレーブ以外のスレーブであって、前記最小ルートホップ数よりも2以上多いルートホップ数を有するスレーブについて、当該スレーブに対向するマスタと機能を交換することにより、前記スレーブをマスタに変更し、マスタであったものをスレーブに変更するステップと、
    変更された前記マスタのクロックを、前記最小ルートホップ数を有する前記スレーブのクロックに同期させるステップと
    を更に有することを特徴とする請求項7に記載のネットワークの時刻同期方法。
  9. 前記第1のステップは、
    前記ルートが、ルートホップ数を0とするルートID通知メッセージを、当該ルートのスレーブとなる下位ノードへ送信するステップと、
    前記ルートID通知メッセージを受信した前記スレーブが、該メッセージに含まれるルートホップ数を保持し、1増分したルートホップ数を含むルートID通知メッセージを、スレーブとなる下位ノードへ送信するステップと
    を更に有することを特徴とする請求項又はに記載のネットワークの時刻同期方法。
  10. 複数のノードが分散配置され、各ノードが少なくとも1つの通信装置を含み、対向するノードがそれぞれの通信装置間にリンクを確立するネットワークにあって、
    対向する一方のノードの通信装置の機能をマスタとし、他方のノードの通信装置の機能をスレーブとして、前記マスタの同期用クロックに、前記スレーブのクロックを同期させるステップと、
    前記マスタ及び前記スレーブが収容されているノードは、前記スレーブのクロックに前記マスタのクロックを同期させるステップと
    を有し、前記同期のとれたリンクに繋がる複数のマスタのうち、クロック供給源として機能するマスタをルートと定義して、前記複数のノードをツリー状に構成したネットワークにおける時刻同期方法において、
    前記ルートは、当該ルートを収容するノードとリンクを介して同期するスレーブ毎に、ツリーの末端に位置するスレーブであるリーフまでのリーフホップ数を取得する第1のステップと、
    前記ルートが収容されたノードについて、繋がっている複数のスレーブのうち、最小リーフホップ数よりも2以上多いリーフホップ数を有するスレーブが存在する場合、当該ルートが、前記最小リーフホップ数を有するスレーブと機能を交換することにより、当該ルートをスレーブに変更し、スレーブであったものをルートに変更する第2のステップと、
    前記スレーブのクロックを、前記ルートのクロックに同期させる第3のステップと
    を有することを特徴とするネットワークの時刻同期方法。
  11. 前記ルートが収容されたノードに更にマスタが収容されていた場合、前記機能を交換された前記スレーブのクロックに、前記マスタのクロックを同期させる第4のステップを更に有することを特徴とする請求項10に記載のネットワークの時刻同期方法。
  12. 前記第1のステップは、
    前記リーフが、リーフホップ数を1とするリーフホップ数通知メッセージを、当該リーフのマスタとなる上位ノードへ送信するステップと、
    前記リーフホップ数通知メッセージを受信した前記マスタが、該メッセージに含まれるリーフホップ数を保持し、1増分したリーフホップ数を含むリーフホップ数通知メッセージをマスタとなる上位ノードへ送信するステップと
    を更に有することを特徴とする請求項10又は11に記載のネットワークの時刻同期方法。
JP2004098206A 2004-03-30 2004-03-30 ネットワークの時刻同期方法 Expired - Fee Related JP4046096B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004098206A JP4046096B2 (ja) 2004-03-30 2004-03-30 ネットワークの時刻同期方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004098206A JP4046096B2 (ja) 2004-03-30 2004-03-30 ネットワークの時刻同期方法

Publications (2)

Publication Number Publication Date
JP2005286720A JP2005286720A (ja) 2005-10-13
JP4046096B2 true JP4046096B2 (ja) 2008-02-13

Family

ID=35184639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004098206A Expired - Fee Related JP4046096B2 (ja) 2004-03-30 2004-03-30 ネットワークの時刻同期方法

Country Status (1)

Country Link
JP (1) JP4046096B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006013487D1 (de) 2005-09-30 2010-05-20 Nec Corp Optisches informationsaufzeichnungsmedium, bca-informationsrekorder und bca-informationsaufzeichnungsverfahren
JP4828319B2 (ja) * 2006-06-14 2011-11-30 三菱電機株式会社 エレベータ信号伝送装置
JP4974052B2 (ja) 2007-03-26 2012-07-11 横河電機株式会社 時刻同期方法及びこれを用いた無線ネットワークシステム
CN101753609B (zh) * 2008-12-15 2012-09-19 中国移动通信集团公司 分布式系统版本控制方法、节点及系统
US8238377B2 (en) * 2009-04-06 2012-08-07 Avaya Inc. Network synchronization over IP networks
JP5456202B2 (ja) 2011-02-25 2014-03-26 三菱電機株式会社 マスタ装置及びスレーブ装置及び時刻同期方法
CN115883443A (zh) * 2022-12-22 2023-03-31 中国人民解放军战略支援部队信息工程大学 网络时间同步报文安全传输路由的确定方法及装置

Also Published As

Publication number Publication date
JP2005286720A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
JP4732972B2 (ja) アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム
US9577774B2 (en) Time synchronization method and system
JP5430481B2 (ja) ゲートウエイおよび端末
TWI575917B (zh) 在不進行昂貴的網狀對等操作的情況下建立可靠路線
JP5542028B2 (ja) ノード局および冗長経路制御方法
WO2012133353A1 (ja) アドホックネットワークにおける時刻同期方法および装置
PL1815650T3 (pl) Sposób synchronizacji i transmisji danych
EP2725751B1 (en) Routing table updating
WO2006080414A1 (ja) 通信方法及び無線通信装置
EP3484209A1 (en) Mesh networking using peer to peer messages for a hospitality entity
EP3484208A1 (en) Mesh networking using peer to peer messages
CN101321027B (zh) 一种无线网状网的同步方法
JP4046096B2 (ja) ネットワークの時刻同期方法
CN112020134B (zh) 一种适用于移动自组织网络的同步方法
JP5421906B2 (ja) 同期プロトコル
FI92126B (fi) Verkkojärjestely
JP2003273849A (ja) 無線ネットワークの時刻同期方法
CN107888315B (zh) 一种时间同步方法
JP6161006B2 (ja) 検針装置
KR102174377B1 (ko) 노드 시간동기 제어 장치 및 그 방법
KR102180041B1 (ko) 노드의 시간동기 제어 장치 및 그 방법
JP4305508B2 (ja) 無線端末及び無線通信システム
JP7468679B2 (ja) 通信システム
CN104486223A (zh) 一种基于ospf协议的gr方法及系统
JP2015065653A (ja) アドホックネットワーク内で容量を共有する分散システムおよび方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070928

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: 20071030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees