JPH05235973A - ノードに時間基準値を生成する方法及びコンピユータ・システム - Google Patents

ノードに時間基準値を生成する方法及びコンピユータ・システム

Info

Publication number
JPH05235973A
JPH05235973A JP4232029A JP23202992A JPH05235973A JP H05235973 A JPH05235973 A JP H05235973A JP 4232029 A JP4232029 A JP 4232029A JP 23202992 A JP23202992 A JP 23202992A JP H05235973 A JPH05235973 A JP H05235973A
Authority
JP
Japan
Prior art keywords
value
time
node
time reference
correction
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.)
Granted
Application number
JP4232029A
Other languages
English (en)
Other versions
JP2565625B2 (ja
Inventor
J Joseph Brann
ジェー・ジョセフ・ブラン
Thomas C Ralya
トーマス・シー・ラルヤ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05235973A publication Critical patent/JPH05235973A/ja
Application granted granted Critical
Publication of JP2565625B2 publication Critical patent/JP2565625B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00—Data switching networks
    • H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04J—MULTIPLEX COMMUNICATION
    • H04J3/00—Time-division multiplex systems
    • H04J3/02—Details
    • H04J3/06—Synchronising arrangements
    • H04J3/0635—Clock or time synchronisation in a network
    • H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658—Clock or time synchronisation among packet nodes
    • H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00—Data switching networks
    • H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42—Loop networks
    • H04L12/427—Loop networks with decentralised control
    • H04L12/433—Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04J—MULTIPLEX COMMUNICATION
    • H04J3/00—Time-division multiplex systems
    • H04J3/02—Details
    • H04J3/06—Synchronising arrangements
    • H04J3/0635—Clock or time synchronisation in a network
    • H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658—Clock or time synchronisation among packet nodes
    • H04J3/0673—Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04J—MULTIPLEX COMMUNICATION
    • H04J3/00—Time-division multiplex systems
    • H04J3/02—Details
    • H04J3/06—Synchronising arrangements
    • H04J3/0635—Clock or time synchronisation in a network
    • H04J3/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】 ローカル・エリア・ネツトワークによつて相
互接続されているデータ処理システムのすべてのノード
に対して正確な時間基準値を与える。 【構成】 本発明に含まれている時間基準のメカニズム
は、設定時間を必要としないで、各ノードにおいて高い
精度の時間基準値を与えるために、低いレベルのインタ
ーフエースで動作されるものである。時間基準のプロト
コル・データ・ユニツトは、該データ・ユニツトが発生
ノードに戻るまで、各ノードにおいて、変更された転送
状態マシン及び変更された受信状態マシンによつて処理
される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ローカル・エリア・ネ
ツトワーク内のすべてのノードにおける共通の時間基準
値(time reference value)の精度を改良すること、よ
り特定して言えば、リング・トポロジのローカル・エリ
ア・ネツトワーク内の実時間に基準を与えることに関す
る。
【0002】
【従来の技術】ローカル・エリア・ネツトワーク(LA
N)内のすべてのノードにおける共通の時間基準値の精
度を改善することは、特にシステムの処理が一層分散化
されるようになり、かつ、「リアルタイム」処理の特性
を有するようになつたので、次第に重要になつてきた。
LAN内のすべてのノードに対して共通の時間基準値を
配分することについて幾つかの提案がなされている。こ
れらの殆どの提案の処理動作は、国際標準機構(IS
O)のオープン・システム・インターフエース(OS
I)の7層からなる通信モデルのアプリケーシヨン層
(第7層)における、時間基準のソフトウエア処理方法
で行なわれている。1988年プレンテイス・ホール
(Prentice Hall)でタンネンバウム(Tannenbaum)に
よる「Computer Networks」の報告書から取つた図1に示
した表は、ISO/OSIの通信モデルの7つの層の名
称及び機能を定義している。このモデルに従うと、2つ
以上の第7層のアプリケーシヨン処理は、このモデルの
低い層によつて与えられたサービスを利用することによ
つて通信する。第1層はLAN中のノードを相互接続す
る物理層を表わす。一方のアプリケーシヨン処理から他
方のアプリケーシヨン処理へ送られるメツセージは、第
1層の相互接続媒体に置かれる前に、第6、第5、第
4、第3及び第2層を通る。次に、メツセージは、物理
的な媒体を横切つた後、アドレス指定されたノードの第
2、第3、第4、第5及び第6層を横切り目標の第7層
のアプリケーシヨン処理に与えられる。この通信路は図
2に示されている。
【0003】ISO/OSIの通信モデルの第7層にお
いて動作するソフトウエア処理は、制御を持つておら
ず、しかも、ソフトウエア、フアームウエア、またはハ
ードウエアの可視的な処理時間は、ISO/OSIの通
信モデルの低い層を介するメツセージの転送及び受信に
費されない。その結果、LAN中の1つのノードからの
メツセージ中で転送された時間基準値は、メツセージが
時間基準のソフトウエア処理を行なうLAN中の他のノ
ードの第7層において受け取られる時には、現在時間の
正しい値から著しく外れたものとなる。
【0004】マイルス(D.L.Mills)による「Network T
ime Protocol Version 2 Specification and Implement
ation」と題する報告は、ネツトワークの時間配分の分
野における現在の技術状態の一例である。然しながら、
このマイルスによる方法は、通常は1または2時間であ
るが、場合によつては24時間を超過する設定時間を必
要とする。クリステイアン(F.Cristian)による「A Pr
obabilistic Approachto Distributed Clock Synchroni
zation」と題する刊行物は、システム・ワイドで共通の
時間基準値を設定するための第2の現在の技術状態の一
例を記載している。クリステイアンの処理動作もまた、
ISO/OSIの通信モデルのアプリケーシヨン層にお
いて動作し、正確な時間基準を与えるものではない。
【0005】
【発明が解決しようとする課題】本発明の目的はローカ
ル・エリア・ネツトワークによつて相互接続されている
データ処理システムのすべてのノードに対して時間基準
値を与えることにある。時間基準値を配分するための設
定時間は必要としないことが望ましい。本発明によれ
ば、時間基準値は高い精度で得ることができる。
【0006】
【課題を解決するための手段】本発明は、1)時間基準
マネージヤと、2)ローカル・エリア・ネツトワークの
中のフレームの処理を制御するLANのアダプタの転送
状態マシン及び受信状態マシンに施される変更と、3)
ホスト・プロセツサ中の時間基準ソフトウエア処理にお
いて遂行されるアルゴリズムと、4)時間基準メツセー
ジのフオーマツトとを開示内容として含んでいる。本発
明に含まれている時間基準のメカニズムは、設定時間を
必要としないで、各ノードにおいて高い精度の時間基準
値を与えるために、低いレベルのインターフエースで動
作されるものである。時間基準プロトコル・データ・ユ
ニツト(TR−PDU)は、該データ・ユニツトが発生
ノードに戻るまで、各ノードの変更された転送状態マシ
ン及び変更された受信状態マシンによつて処理される。
【0007】
【実施例】本発明のアーキテクチヤは、ローカル・エリ
ア・ネツトワーク中の各ノードに、アダプタ、即ち、L
ANのインターフエース・カードと、ホスト・プロセツ
サとが存在するという考え方に基礎を置いている。通
常、ホスト・プロセツサは、ISO/OSIの通信モデ
ルの第3〜第7層の処理と、アプリケーシヨン・ソフト
ウエア・モジユール、即ちアプリケーシヨンの処理とを
行なう。ホスト・プロセツサに対して内部的及び外部的
に装着することのできるアダプタ、即ちインターフエー
ス・カードは、LAN上のノードを相互接続する物理的
な媒体にホスト・プロセツサを接続する。ISO/OS
Iの通信モデルの第2層は、2つのサブ層、即ちデータ
・リンク制御(DLC)サブ層及びメデイア・アクセス
制御(MAC)サブ層にしばしば分割される。通常、D
LCサブ層はホスト・プロセツサ中のソフトウエアによ
つて実行され、そして、MACサブ層はLANのアダプ
タ、即ちLANのインターフエース・カード中のフアー
ム・ウエア及びハードウエアで実行される。MACの機
能については、各LANのプロトコル(IEEEの80
2.3、802.4及び805.5など)の仕様書中に
記載されているマシンの状態図に示されている。
【0008】共通の値を持つのが望ましいクロツクは、
ノードのホスト・プロセツサ中に含まれているクロツク
である。ホスト・プロセツサのクロツクは、システム中
で発生した事象と関連するタイム・スタンプを生成する
ためにアプリケーシヨン処理によつて使用されるクロツ
クであり、また、異なるホスト・プロセツサ中で生じた
動作と同期するために、アプリケーシヨン処理で使用さ
れるクロツクである。これらの目的のために、すべての
ホスト・プロセツサは同じ時間値で動作することが望ま
しい。ネツトワーク中で分配された時間基準値は、ホス
ト・プロセツサにおける実時間(リアルタイム)クロツ
クの値である必要はないが、ホスト・システムによつて
必要とされる装置の現在の実時間(リアルタイム)クロ
ツクがその時間基準から発生できるような時間基準値で
ある。本発明において提案される時間値は、LANアダ
プタ上で実行されることを意図したクロツク・カウンタ
から取り出される。このクロツク・カウンタは、制御ク
ロツクの正方向(または、負方向)の各立ち上りエツジ
で1単位だけ増分して計数するハードウエア・カウンタ
と考えることができる。このようなカウンタは制御クロ
ツクの周期に基づく単位で計数する。例えば、若し、制
御クロツクが10メガヘルツで動作するならば、クロツ
ク・カウンタ中に含まれる値は、カウンタが最後にリセ
ツトされてから発生した0.1マイクロ秒周期の発生数
である。時間値は、カウンタを制御するクロツクの周期
(クロツクの周波数の逆数、即ち、上述の例においては
0.1マイクロ秒)でカウンタの値を乗算することによ
つて作られる。
【0009】本発明の時間基準アーキテクチヤは、「時
間基準マネージヤ」(Time Reference Manager-TR
M)として各ネツトワーク中の1つのノードが選択さ
れ、指定されることを必要とする。ネツトワーク中の他
のノードは、時間基準マネージヤの動作を観測し、そし
て、オリジナルの時間基準マネージヤが誤動作した場
合、「時間基準マネージヤ」の動作を実行することを競
い合う。TRMの初期の機能は、第2層のメデイアアク
セス制御(Media Access Control、MAC)サブ層にお
いて実行され、TRMのローカル転送状態マシンをして
LAN中の時間基準プロトコル・データ・ユニツト(Ti
me Reference Protocol Data Unit、TR−PDU)を
周期的に同報通信(broadcast)させる。TR−PDU
の周期的な同報通信は、MACの実施に組込まれるよう
に本発明において提案された新しい機能である。LAN
内の他のノードにあるMACの状態マシン(state mach
ine)は、以下の記述で特定されるようなTR−PDU
フレームを受け取り、かつ処理し、そして、定義された
LANのプロトコルに従つて、リング・トポロジのネツ
トワーク中で循環するTR−PDUを転送する。
【0010】LANのPDUは情報フイールド、即ちデ
ータ・フイールドと、プロトコルに従つたアドレス、制
御及び状態フイールドとを含んでいる。アドレス、制御
及び状態フイールドの詳細な仕様は、異なるLANの夫
々のLANプロトコルの仕様書に記載されている。制御
フイールドの1つである「フレーム制御」フイールド
は、通信されているフレームのタイプをMAC状態マシ
ンに対して定義するコードを含んでいる。本発明におい
て示されている時間基準アーキテクチヤは、「時間基準
のプロトコル・データ・ユニツト」(TR−PDU)と
して1つのフレームを指定するために、留保された「フ
レーム制御」フイールドの値、即ち未使用の「フレーム
制御」フイールドの値の1つを使用することを提案して
いる。
【0011】本発明において提案されたTR−PDUの
情報フイールドのフオーマツトは、図3に示したような
4つのサブ・フイールドを持つている。このTR−PD
Uのサブ・フイールドは、「T」、「R」、「カウン
ト」及び「訂正」と名付けられている。「T」サブ・フ
イールド(即ち、時間サブ・フイールド)は、TR−P
DUフレームが転送される時におけるLANのアダプタ
のクロツク・カウンタの値を含んでいる。「R」サブ・
フイールドは、計算した差の値を含み、「カウント」サ
ブ・フイールドは、1つのリング中のノードの数を決め
るのに使用され、そして、「訂正」サブ・フイールド
は、リング中のノード間の転送遅延の近似値である計算
値を含んでいる。TR−PDUの残りのフイールドはL
ANのプロトコル(IEEE802.3、802.4及
び802.5、光フアイバ分散データ・インターフエー
ス等)によつて要求されるものと同じである。
【0012】図3に示されたxの値は、配分された時間
値の所定の精度と、クロツク・カウンタで計数されたビ
ツト数とに依存する。通常、xの値は、ハードウエアの
クロツク・カウンタ中に含まれたビツト数以下である。
然しながら、若し、xがハードウエアのクロツク・カウ
ンタ中のビツト数よりも大きければ、フイールドを整列
させるために、クロツク・カウンタのビツト数を超過し
たビツト数は、クロツク・カウンタ値がTR−PDUの
「T」サブ・フイールドの中に置かれた時には0にされ
なければならない。クロツク・カウンタの中に、何個の
ビツトを含ませるかを考慮する際の重要なフアクタは、
クロツク・カウンタがリセツト状態、即ちすべてのビツ
トが0の状態から、すべてのビツトが0にリセツトされ
元に戻る直前までの最大カウント数に進むためにクロツ
ク・カウンタが取るであろう実時間がどの位の長さ(即
ち、クロツク周期によつて乗算された最大のカウント
数)であるかということである。しばしば、ハードウエ
ア・クロツク・カウンタは、40乃至48個のビツトで
実施されるが、それらのすべてのビツトがTR−PDU
の「T」サブ・フイールド中に転送される必要はない。
時間基準値の正確さ、即ち精度は、xの値がクロツク・
カウンタ中のビツト数以下の場合に、「T」サブ・フイ
ールドの最下位ビツトの時間値に+/−0.5を乗じた
値に等しい。若し、xの値がクロツク・カウンタの動作
時に使用されたビツトの数よりも大きければ、時間値の
精度は、クロツク・カウンタの増分を制御したクロツク
の周期に+/−0.5を掛けた値である。例えば、若
し、ハードウエアのクロツク・カウンタが10メガサイ
クルのクロツクにより制御された48ビツト・カウンタ
で動作されたならば、時間基準値の精度は、48ビツト
のすべてのビツトがTR−PDUの「T」サブ・フイー
ルドに使用された場合、+/−0.05マイクロ秒であ
る。若し、48ビツト・カウンタのうちの40ビツトだ
けが、転送される時間基準値として使用されたならば、
精度は、+/−12.8マイクロ秒に等しい+/−
(0.5)*(25.6マイクロ秒)である。若し、転
送された時間基準値として、48ビツト・カウンタの内
の32ビツトだけしか使用されなければ、精度は+/−
(0.5)*(6553.6マイクロ秒)=+/−0.
32768ミリ秒である。
【0013】本発明の時間基準配分アーキテクチヤは、
MACの状態マシン中に従来から含まれている機能に対
して本発明で提案された付加的な機能を持つている。本
発明で新規に提案されたこのMACは、1)時間基準の
能力を付勢し、滅勢する外側の上部層の介入なしで、T
R−PDUの周期的な配分をサポートするための制御手
段及びタイマと、2)TR−PDUを検知し、かつ処理
するために、受信状態マシンへの付加手段と、3)TR
−PDUを検知し、かつ処理するために、転送状態マシ
ンへの付加手段と、4)新しいMACエンテイテイの3
つのサービス呼び出しのための制御手段及び処理手段と
を機能的に含んでいる。新しいMACが提案するこれら
のサービス呼び出しは、1)「時間基準周期の設定」サ
ービス呼び出し、2)「時間基準機能の付勢」サービス
呼び出し、3)「時間基準パラメータの要求」サービス
呼び出しと呼ばれる。付勢された、即ち選択された「時
間基準マネージヤ」を含むノードにあるMACのサブ層
は、時間基準値の配分用の制御MACである。
【0014】LAN用の「時間基準マネージヤ」が付
勢、即ち選択された後に、時間基準マネージヤは、その
ローカルのMACエンテイテイに対して、「時間基準周
期の設定」サービス呼び出しと、「時間基準機能の付
勢」サービス呼び出しとを発生する。開始された順番
で、MACエンテイテイによりこれらの新しいサービス
呼び出しが受け取られると、新しいMACエンテイテイ
の時間基準機能が付勢されて、TR−PDUを周期的に
発生する。「時間基準周期の設定」サービス呼び出しは
TR−PDUの周期的な発生及び転送をトリガする新し
いMACレベルのタイマのローデイングを付勢する。T
R−PDUは、同報通信モードで転送することができる
ので、LANのすべてのノードがTR−PDUを受け取
るか、あるいは、設定されている「時間基準グループの
アドレス」にTR−PDUを転送することができる。上
述の「時間基準グループのアドレス」とは、LAN中の
他のノードと共通の時間基準値を共有する要件を持つノ
ードだけが予約されているアドレスを意味する。
【0015】時間基準パラメータを受け取ることを望ん
でいるLAN中の非時間基準マネージヤのすべてのノー
ドは、ローカルMACエンテイテイに対して「時間基準
パラメータの要求」サービス呼び出しを発生しなければ
ならない。
【0016】既に述べたように、本発明は、「媒体アク
セス制御(MAC)」の転送状態マシン及び受信状態マ
シンに変更を提案するものである。これらの状態マシン
はLAN中のプロトコル・データ・ユニツト(PDU)
のすべての転送及び受信を制御する。受信状態マシンに
対して提案された変更は、プロトコルに依存する「フレ
ーム制御」フイールド中の現在不使用の値を使用するこ
とによつて「時間基準フレーム」を検出するのを可能に
する。MACの受け取り状態マシンの付加的な変更は、
「時間基準フレーム」を受け取つた時に、下記のアクシ
ヨンを発生させる。
【0017】1. ローカルMACサブ層のクロツク・
カウンタ(以下の説明においてT_macで示される)
の値を取得し、入力した「T」(以下の説明においてT
_で示される)の値、「カウント」値及び「訂正」値に
加え、そして、「時間基準パラメータの要求」サービス
呼び出しに応答してこれらの値を転送する。
【0018】2a. 非「時間基準マネージヤ」のノー
ドにおいて、受け取つたTR−PDU中の「カウント」
サブ・フイールドを1だけ増分する。
【0019】2b. 「時間基準マネージヤ」のノード
において、ローカル・ホスト・プロセツサのクロツク・
カウンタの値を取得し、そして、LANを回つて再度循
環する受け取つたTR−PDUを無視する。
【0020】3a. 非「時間基準マネージヤ」のノー
ドにおいて、受け取つた時間基準フレームを、MACの
転送状態マシンにエンキユーし(待ち行列に入れる)、
LAN中へ再度転送する。エンキユーされたTR−PD
Uの情報フイールドは、空白の「T」サブ・フイールド
と、下記の式1によつて計算された値を含む「R」サブ
・フイールド(R_outで示されている)と、上述の
ステツプ2aで増分された計数値を含む「カウント」サ
ブ・フイールドと、未変更の「訂正」サブ・フイールド
とを含んでいる。 R_out = R_in − T_mac + T_in (式1) 上記の式1において、R_inは、入力された「時間基
準フレーム」の「R」サブ・フイールド中に含まれた値
を示し、T_inは、入力された「時間基準フレーム」
の「T」サブ・フイールド中に含まれた値を示す。T_
macは、TR−PDUを受け取つた時のアダプタのM
ACのクロツク・カウンタ値である(上記のステツプ1
参照 )。
【0021】3b. 「時間基準マネージヤ」のノード
において、新しいMACの時間基準タイマが終了する
と、新しいTR−PDUを設定して転送し、「時間基準
周期の設定」サービス呼び出しにおいて指定された値に
タイマをリセツトする。
【0022】本発明で提案されるMACの転送状態マシ
ンの変更の結果、「フレーム制御」フイールドの中の値
を通じて、転送状態マシンは、「時間基準フレーム」
(TR−PDU)の転送要求を認識する。TR−PDU
を転送すべきことが認識されると、MACの状態マシン
の付加的な変更によつて、時間基準フレームが転送媒体
に通された時に下記のアクシヨンを発生する。
【0023】1. MACの受信状態マシンによつて、
ローカルのMACのサブ層の現在値を、エンキユーされ
た「時間基準フレーム」の空白の「T」サブ・フイール
ドに入れる。
【0024】「時間基準マネージヤ」のノードにおい
て、TR−PDUの中に入れられる「R」の値は、「時
間基準マネージヤ」のホスト・プロセツサのクロツク・
カウンタの値と、ローカルMACのクロツク・カウンタ
の値との間の差の値である。これは、LANのアダプ
タ、即ちLANのインターフエース・カードがホスト・
プロセツサのクロツクに対してアクセスを獲得できるよ
うに、ノードのアーキテクチヤ全体に必要な条件を設定
する。
【0025】 R_out = T_host − T_mac (式2)
【0026】MACのクロツク・カウンタ及びホスト・
プロセツサのクロツク・カウンタは同じサイズで、同じ
クロツク源からクロツクされること、つまり、少なくと
も同じ周波数と同じ精度のクロツク源から刻時されるも
のと仮定する。若し、クロツク・カウンタが異なつたサ
イズのものであつたり、あるいは、ホスト・プロセツサ
のクロツク・カウンタ及びMACのクロツク・カウンタ
のクロツク周波数が異なつていたりするならば、付加的
なシフト及び乗算が上記の式2において必要とされる。
ホスト・プロセツサがそれ自身のクロツクの値を得る手
段は、このアーキテクチヤにおいて重要ではなく、その
値は従来の任意の方法で得ることができる。
【0027】TR−PDUの周期的な発生及び転送に関
連したTRMノードのMACサブ層の処理は、TR−P
DU中の「カウント」フイールドを1にセツトし、転送
遅延の訂正の近似値を計算し、そして、その計算結果
を、転送されるべきTR−PDUの「訂正」サブ・フイ
ールド中に入れなければならない。TR−PDUの最初
の転送において、訂正値は0であることが望ましい。T
R−PDUの次の転送において、ノード間の転送遅延の
整数の近似値を発生し、この近似値を「訂正」サブ・フ
イールドに置くために、MACサブ層の時間基準エンテ
イテイは、下記の式3で計算される差を「カウント」サ
ブ・フイールドの値で割らなければならない。 T_host − (T_in + R_in) (式3)
【0028】上式のT_hostは、TR−PDUを受
け取つた時(即ちLANの実行の完了の時)のホスト・
プロセツサのクロツク・カウンタ値である。小さいリン
グのネツトワークにおいては、T_host−(T_i
n+R_in)の差は小さいが、ノードの距離が平均5
00メートルにも及ぶ100+ノードの構内ネツトワー
クにおいては、媒体だけで転送遅延が10分の数ミリ秒
になり得る。
【0029】「時間基準パラメータの要求」サービス呼
び出しの応答として上方に転送されるT_mac及びT
_outの値は、下記の式4に示されたrの値を計算す
るために、ホスト・プロセツサにおいて動作する「時間
基準」処理によつて使用される。この場合、rの値は、
ホスト・プロセツサのローカルのクロツク・カウンタ
を、「時間基準マネージヤ」のホスト・クロツク・カウ
ンタの値と一致させるために用いられる値となる。
【0030】 r = R_out + T_mac − T_host = (R_in − T_mac + T_in) + T_mac − T_host = R_in + T_in − T_host = T_trm − T_host (式4) 上式において、T_hostはホスト・プロセツサのク
ロツク・カウンタの値を示し、T_trmの値は「時間
基準マネージヤ」のホスト・プロセツサのクロツク・カ
ウンタの値を示す。従つて、rの値は下記の式5のよう
に、ネツトワーク・ワイドの共通の時間基準値を作るた
めの訂正値として使用される。
【0031】 T_host^ = T_host + r + カウント* 訂正 (式5)
【0032】実施例1 図4は、本発明に従つて3ノードのリング回路を与えら
れたアーキテクチヤの動作を説明するための図である。
クロツク・カウンタ値の大きさは、この実施例の説明の
便宜上秒の単位で与えられるが、この値によつて本発明
を限定して解釈するべきではない。この実施例に示され
たすべてのクロツク・カウンタは、同じ周波数で増分さ
れ、そして、TR−PDUは、各「転送」状態マシンに
よつて遅延することなく転送され、すべての転送遅延は
0であるものと仮定する。ノード2は、「時間基準マネ
ージヤ」のノードである。TR−PDUの1サイクルの
間に発生されるTR−PDUメツセージとすべての処理
順序の詳細は、以下の通りである。
【0033】ホスト・プロセツサのクロツク・カウンタ
及びMACのクロツク・カウンタの条件は以下のように
仮定する。 ホスト・プロセツサの MACの クロツク・カウンタ クロツク・カウンタ ノード1 2000 15 ノード2 78 79 ノード3 500 300
【0034】「時間基準」マネージヤとして動作するノ
ード2は、以下のサブ・フイールドの値を持つTR−P
DUを生成する。 式2によつて、R = R_out = 78 − 7
9 = −1 カウント = 1 (最初の転送の時) 訂正 = 0 (最初の転送の時) フレーム制御フイールド = TR−PDU
【0035】変更された「転送」状態マシンは、T_o
utの値=79として「T」サブ・フイールド中にノー
ド2のT_macの値を入れる。従つて、ノード2から
転送され、ノード3において受け取られるTR−PDU
情報フイールドは以下のように現れる。
【0036】
【表1】
【0037】変更された「受信」状態マシンは、ノード
2から受け取つたTR−PDUフレームから下記の値を
生成する。 式1によつて、R_out = −1 − 300 +
79 =−222 「カウント」 = 1 + 1 = 2 「訂正」 = 0 そして、TR−PDUをそのローカルの「転送」状態マ
シンにエンキユーした後に、前に発生された「時間基準
パラメータの要求」サービス呼び出しに応答して「時間
基準パラメータ」として、T_mac=300、R_o
ut=−222、「カウント」=1及び「訂正」=0を
転送する。
【0038】変更された「転送」状態マシンは、「フレ
ーム制御」フイールドのコード=TR−PDUを検出し
た時に、T_outの値=300として「T」サブ・フ
イールド中にノード3のT_macの値を入れて、その
TR−PDUを転送する。ノード3から転送され、ノー
ド1に受け取られるTR−PDU情報フイールドは、以
下のように現われる。
【0039】
【表2】
【0040】ノード3のホスト・プロセツサ中の「時間
基準」処理は、「時間基準パラメータ」を受け取つた時
に、以下のようにしてrの値を計算する。 式4に従つて、r = −222 + 300 − 5
00 = −422 そして、次に、以下のように、ノード3のホスト・プロ
セツサのクロツクを調節する。 式5によつて、T_host^ = 500 + (−
422) + 1*0 = 78
【0041】ノード1において、変更された「受信」状
態マシンはノード3から受け取つたTR−PDUフレー
ムから以下の値を生成する。 式1によつて、R_out = −222 − 15
+ 300 =63 「カウント」 = 2 + 1 = 3 「訂正」 = 0 そして、そのローカルの「転送」状態マシンにTR−P
DUをエンキユーした後に、前に発生された「時間基準
パラメータの要求」サービス呼び出しに応答して、「時
間基準パラメータ」として、R_out=63、「カウ
ント」=2及び「訂正」=0と共に、T_mac=15
を転送する。
【0042】変更された「転送」状態マシンは、「フレ
ーム制御」フイールド・コード=TR−PDUを検出し
た時、T_outの値=15として「T」サブ・フイー
ルドの中にノード1のT_macの値を入れ、そして、
そのTR−PDUを転送する。ノード1から転送され、
ノード2に受け取られるTR−PDUの情報フイールド
は、以下のように現われる。
【0043】
【表3】
【0044】ノード1のホスト・プロセツサ中の時間基
準処理は、「時間基準パラメータ」を受け取つた時に、
以下のようにしてrの値を計算する。 式4によつて、r = 63 + 15 − 2000
= −1922 そして、次に、以下のようにしてノード1のプロセツサ
のクロツクを調節する。 式5によつて、T_host^ = 2000 +
(−1922) +2*0 = 78
【0045】ノード2において、転送の遅延の訂正は式
3を使用して以下のようにして計算される。 訂正 = [(78−(15 + 63))/3]の整
数部分 = 0
【0046】TR−PDUが受け取られた時に、ノード
2において、若し、R_outの値、rの値及びT_h
ost^の値の計算が遂行されたならば、以下の結果が
得られる。 式1によつて、R_out = +63 − 79 +
15 = −1 式4によつて、r = −1 + 79 − 78 =
0 式5によつて、T_host^ = 78 + 0 +
3*0 = 78
【0047】1つのTR−PDUが転送された後のホス
ト・プロセツサのクロツク・カウンタ及びMACのクロ
ツク・カウンタの状態は以下の通りである。 ホスト・プロセツサの MACの クロツク・カウンタ クロツク・カウンタ ノード1 78 15 ノード2 78 79 ノード3 78 300
【0048】実施例2 図5は、本発明に従つて3ノードのリングを与えられた
アーキテクチヤの動作を説明するための図である。クロ
ツク・カウンタ値の大きさは、この実施例の説明の便宜
上ミリ秒の単位で与えられている。この実施例に示され
たすべてのクロツク・カウンタは、同じ周波数で増分さ
れ、そして、同じノードにあるクロツク・カウンタは、
TR−PDUが転送される前に増分され、また、すべて
の転送遅延は0であるものと仮定する。図示の実施例に
おいて、ノード1は、「時間基準マネージヤ」のノード
である。TR−PDUの1サイクルの間に発生されるT
R−PDUメツセージとすべての処理順序の詳細は、以
下の通りである。
【0049】ホスト・プロセツサのクロツク・カウンタ
及びMACのクロツク・カウンタの条件は以下のように
仮定する。 ホスト・プロセツサの MACの クロツク・カウンタ クロツク・カウンタ ノード1 43316 34579 ノード2 500 34873 ノード3 2000 15943
【0050】「時間基準マネージヤ」として動作するノ
ード1は、以下のサブ・フイールドの値を持つTR−P
DUを生成する。 式2によつて、R = R_out = 43316
− 34579 =8737 カウント = 1 (最初の転送の時) 訂正 = 0 (最初の転送の時) フレーム制御フイールド = TR−PDU
【0051】変更された「転送」状態マシンは、T_o
utの値=34579として「T」サブ・フイールド中
にノード1のT_macの値を入れる。従つて、ノード
1から転送され、ノード2において受け取られるTR−
PDU情報フイールドは以下のように現れる。
【0052】
【表4】
【0053】変更された「受信」状態マシンは、ノード
1から受け取つたTR−PDUフレームから下記の値を
生成する。 式1によつて、R_out = 8737 − 348
73 +34579 = 8443 「カウント」 = 1 + 1 = 2 「訂正」 = 0 そして、TR−PDUをそのローカルの「転送」状態マ
シンにエンキユーした後に、前に発生された「時間基準
パラメータの要求」サービス呼び出しに応答して「時間
基準パラメータ」として、T_mac=34873、R
_out=8443、「カウント」=1及び「訂正」=
0を転送する。
【0054】図示の実施例において、エンキユーされる
TR−PDUが実際に転送される前に、「転送」状態マ
シンにおいて6単位のキユー動作遅延があるものとす
る。変更された「転送」状態マシンは、「フレーム制
御」フイールド・コード=TR−PDUを検出した時
に、T_outの値=34879として「T」サブ・フ
イールド中にノード2のT_macの値を入れて、その
TR−PDUを転送する。ノード2から転送された、ノ
ード3に受け取られるTR−PDU情報フイールドは以
下のように現われる。
【0055】
【表5】
【0056】ノード2のホスト・プロセツサ中の「時間
基準」処理は、「時間基準パラメータ」を受け取つた時
に、以下のようにしてrの値を計算する。 式4に従つて、r = 8443 + 34873 −
500 =42816 そして、次に、以下のように、ノード2のホスト・プロ
セツサのクロツクを調節する。 式5によつて、T_host^ = 500 +428
65 + 1*0 = 43316
【0057】ノード3において、変更された「受信」状
態マシンはノード3から受け取つたTR−PDUフレー
ムから以下の値を生成する。 式1によつて、R_out = 8443 − 159
47 +34879 = 27379 「カウント」 = 2 + 1 = 3 「訂正」 = 0 そして、そのローカルの「転送」状態マシンにTR−P
DUをエンキユーした後に、前に発生された「時間基準
パラメータの要求」サービス呼び出しに応答して、「時
間基準パラメータ」として、T_mac=15943、
R_out=27379、「カウント」=2及び「訂
正」=0を転送する。
【0058】この実施例において、エンキユーされるT
R−PDUが実際に転送される前に、「転送」状態マシ
ン中に2単位のキユー動作遅延があるものと仮定する。
変更された「転送」状態マシンは、「フレーム制御」フ
イールド・コード=TR−PDUを検出した時、T_o
utの値=15945として「T」サブ・フイールドの
中にノード3のT_macの値を入れて、そのTR−P
DUを転送する。ノード3から転送され、ノード1に受
け取られるTR−PDUの情報フイールドは、以下のよ
うに現われる。
【0059】
【表6】
【0060】ノード3のホスト・プロセツサ中の「時間
基準」処理は、「時間基準パラメータ」を受け取つた時
に、以下のようにしてrの値を計算する。 式4によつて、r = 27379 + 15947
− 2000 =41322 そして、次に、以下のようにしてノード3のプロセツサ
のクロツクを調節する。 式5によつて、T_host^ = 2000 + 4
1322 +2*0 = 43322
【0061】ノード1において、転送の遅延の訂正は式
3を使用して以下のようにして計算される。 訂正 = [(43324 −(15947 + 27
379))/3]の整数部分 = 0
【0062】TR−PDUが受け取られた時に、ノード
1において、若し、R_out、r及びT_host^
の値の計算が遂行されたならば、以下の結果が得られ
る。 式1によつて、R_out = 27379 − 34
587 +15945 = 8737 式4によつて、r = 8737 + 34587 −
43324 =0 式5によつて、T_host^ = 43324 +
3*0 =43324
【0063】1つのTR−PDUが転送された後のホス
ト・プロセツサのクロツク・カウンタ及びMACのクロ
ツク・カウンタの状態は以下の通りである。 ホスト・プロセツサの MACの クロツク・カウンタ クロツク・カウンタ ノード1 43324 34587 ノード2 43324 34881 ノード3 43324 15945
【0064】以上、ローカル・エリア・ネツトワークに
接続されたホスト・プロセツサのノードを共通の時間参
照値にする手段を与えるために、「時間基準」値を発生
し、配分するためのアーキテクチヤの実施例の詳細が説
明された。
【0065】
【発明の効果】本発明はローカル・エリア・ネツトワー
クによつて相互接続されているデータ処理システムのす
べてのノードに対して極めて正確な時間基準値を与え
る。
【図面の簡単な説明】
【図1】従来のオープン・システム・インターフエース
(OSI)のプロトコルを説明するための表である。
【図2】従来のOSIの動作を説明するための図であ
る。
【図3】本発明に含まれたアーキテクチヤを動作するた
めに必要なデータのパラメータを含む時間参照のプロト
コル・データ・ユニツトの情報フイールドのフオーマツ
トを示す図である。
【図4】3ノードのLANの中で動作する時間基準の配
分アーキテクチヤの第1の実施例を示す図である。
【図5】3ノードのリング回路の中で実行される時間基
準の配分アーキテクチヤの第2の実施例を示す図であ
る。
【符号の説明】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トーマス・シー・ラルヤ アメリカ合衆国ペンシルバニヤ州、モンロ ービル、ニューバリー・ドライブ 316番 地

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 リング・トポロジのローカル・エリア・
    ネツトワーク(LAN)中の複数個のノードに時間基準
    値を生成する方法であつて、 (a) ローカル・ノードにおいて、 ローカル・クロツク・カウンタの値を得るステツプと、 上記LAN上で受け取つた時間値、カウント値及び訂正
    値に、ローカル・クロツクの時間値を付加するステツプ
    と、 受け取つた時間値、カウント値及び訂正値において、カ
    ウントを1だけ増分するステツプと、 時間値訂正アルゴリズムに基いて訂正フアクタを計算す
    るステツプと、 時間基準要求に応答して、増分され訂正された時間値、
    カウント値及び訂正値を再び転送するステツプとを含む
    ことと、 (b) 時間基準ノードにおいて、 ローカル・ノードから受け取つた時間値、カウント値及
    び訂正値で現在の時間基準値を置き換えるステツプと、 新しい時間基準値を作成し、転送するステツプと、 時間基準周期の設定サービス呼び出しに応答して、指定
    された値にクロツク・カウンタをリセツトするステツプ
    とを含むこととを具備する、複数のノードに時間基準値
    を生成する方法。
  2. 【請求項2】 リング・トポロジのローカル・エリア・
    ネツトワーク中の複数個のノードに時間基準値を与える
    コンピユータ・システムであつて、 転送状態マシンを制御し、通信バスの競合を開始させる
    と共に、LANに時間基準値を同報通信する時間基準マ
    ネージヤと、 LANの時間基準値を受け取り、処理された時間基準値
    を周期的に転送する状態マシンと、 LANのノードに存在し、同報通信された時間基準値を
    受け取り、上記時間基準値に1を加え、訂正フアクタを
    計算し、リング・トポロジのローカル・エリア・ネツト
    ワークで転送するために状態マシンに時間基準値を戻す
    ローカル・プロセツサとからなるコンピユータ・システ
    ム。
JP4232029A 1991-10-31 1992-08-31 ノードに時間基準値を生成する方法及びコンピユータ・システム Expired - Lifetime JP2565625B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US785713 1991-10-31
US07/785,713 US5386542A (en) 1991-10-31 1991-10-31 System for generating a time reference value in the MAC layer of an ISO/OSI communications model among a plurality of nodes

Publications (2)

Publication Number Publication Date
JPH05235973A true JPH05235973A (ja) 1993-09-10
JP2565625B2 JP2565625B2 (ja) 1996-12-18

Family

ID=25136394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4232029A Expired - Lifetime JP2565625B2 (ja) 1991-10-31 1992-08-31 ノードに時間基準値を生成する方法及びコンピユータ・システム

Country Status (3)

Country Link
US (1) US5386542A (ja)
EP (1) EP0539704A1 (ja)
JP (1) JP2565625B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582550B2 (en) 2011-10-18 2017-02-28 Fujitsu Limited Information processing apparatus and method for determining time correction values

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4224339A1 (de) * 1992-07-23 1994-01-27 Sel Alcatel Ag Bussystem für ein lokales Operationsnetzwerk
JP2806751B2 (ja) 1993-08-26 1998-09-30 積水化学工業株式会社 屋根ユニット
US6094672A (en) * 1997-05-19 2000-07-25 Novell, Inc. Method and system for time synchronization management
US6157957A (en) * 1998-01-22 2000-12-05 Cisco Technology, Inc. Clock synchronization system and method using a continuous conversion function for a communication network
US6324586B1 (en) 1998-09-17 2001-11-27 Jennifer Wallace System for synchronizing multiple computers with a common timing reference
US6393126B1 (en) 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
DE10000303B4 (de) * 2000-01-05 2011-09-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern
US7493363B2 (en) 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
US7200158B2 (en) * 2002-06-24 2007-04-03 Honeywell International Clock synchronizing method over fault-tolerant Ethernet
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
GB0220618D0 (en) * 2002-09-05 2002-10-16 Koninkl Philips Electronics Nv Apparatus and related method for data transmission across a wireless network
US7613812B2 (en) 2002-12-04 2009-11-03 Microsoft Corporation Peer-to-peer identity management interfaces and methods
US7596625B2 (en) * 2003-01-27 2009-09-29 Microsoft Corporation Peer-to-peer grouping interfaces and methods
US7949996B2 (en) 2003-10-23 2011-05-24 Microsoft Corporation Peer-to-peer identity management managed interfaces and methods
US7496648B2 (en) * 2003-10-23 2009-02-24 Microsoft Corporation Managed peer name resolution protocol (PNRP) interfaces for peer to peer networking
US7689720B2 (en) * 2003-11-05 2010-03-30 Microsoft Corporation Method for establishing and maintaining a shared view of time in a peer-to-peer network
US7529979B2 (en) * 2003-12-12 2009-05-05 International Business Machines Corporation Hardware/software based indirect time stamping methodology for proactive hardware/software event detection and control
US8688803B2 (en) * 2004-03-26 2014-04-01 Microsoft Corporation Method for efficient content distribution using a peer-to-peer networking infrastructure
US8036140B2 (en) * 2005-04-22 2011-10-11 Microsoft Corporation Application programming interface for inviting participants in a serverless peer to peer network
US7571228B2 (en) * 2005-04-22 2009-08-04 Microsoft Corporation Contact management in a serverless peer-to-peer system
US7948833B2 (en) * 2007-07-25 2011-05-24 Computime, Ltd. Clock setup over a network
DE102008063115A1 (de) 2008-12-24 2010-07-01 Magna Car Top Systems Gmbh Faltdach für einen Personenkraftwagen
CN102033197B (zh) * 2010-10-18 2014-04-23 中国电力科学研究院 一种应用改进延时方法的直流换流阀非周期触发试验方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59117349A (ja) * 1982-12-23 1984-07-06 Toshiba Corp デ−タ伝送装置
JPS63285042A (ja) * 1987-05-18 1988-11-22 Toshiba Corp 伝送装置
JPH01278144A (ja) * 1988-04-30 1989-11-08 Nec Corp 時刻設定装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530091A (en) * 1983-07-08 1985-07-16 At&T Bell Laboratories Synchronization of real-time clocks in a packet switching system
US4894846A (en) * 1988-06-30 1990-01-16 Digital Equipment Corporation Method for maintaining a correct time in a distributed processing system
EP0430053A3 (en) * 1989-12-01 1992-04-01 National Semiconductor Corporation Ring latency timer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59117349A (ja) * 1982-12-23 1984-07-06 Toshiba Corp デ−タ伝送装置
JPS63285042A (ja) * 1987-05-18 1988-11-22 Toshiba Corp 伝送装置
JPH01278144A (ja) * 1988-04-30 1989-11-08 Nec Corp 時刻設定装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582550B2 (en) 2011-10-18 2017-02-28 Fujitsu Limited Information processing apparatus and method for determining time correction values

Also Published As

Publication number Publication date
US5386542A (en) 1995-01-31
EP0539704A1 (en) 1993-05-05
JP2565625B2 (ja) 1996-12-18

Similar Documents

Publication Publication Date Title
JP2565625B2 (ja) ノードに時間基準値を生成する方法及びコンピユータ・システム
CA1225714A (en) Carrier sense multiple access with collision avoidance utilizing rotating time staggered access windows
US20050240287A1 (en) Block-oriented control system on high speed ethernet
EP3903454B1 (en) A tsn enabled controller
JP2713226B2 (ja) ネットワークにおけるipアドレス自動生成方法
CN110492967B (zh) 一种时间同步方法、中继设备及装置
EP2458782A1 (en) Method for multiplexing hot backup ports and network system thereof
CN114172915B (zh) 一种消息同步方法、自动驾驶系统、存储介质及电子设备
EP4145729A1 (en) Port state configuration method, apparatus, system, and storage medium
CN106130680A (zh) 一种工业互联网现场层宽带总线时钟同步实现方法
EP1192755A2 (en) Block-oriented control system on high speed ethernet
US20050240286A1 (en) Block-oriented control system on high speed ethernet
CN109068384A (zh) 一种时间同步方法及系统
Lankes et al. A time-triggered Ethernet protocol for real-time CORBA
JP3670131B2 (ja) 競合制御回路
US11075858B2 (en) A664 synch network design
CN116614198B (zh) 一种can网络负载均衡方法、装置、设备及介质
CN103259639A (zh) 一种堆叠设备的时钟同步方法和设备
JP3275954B2 (ja) サーバ多重化におけるサーバ登録方法
WO1998006194A1 (en) Method and apparatus for network clock synchronization
US6799219B1 (en) Method and apparatus for avoiding starvation in computer network
EP1430375B1 (en) System, method and computer program to compute a fast fourier transform of data blocks
Scharbarg et al. Interconnecting can busses via an ethernet backbone
Laqua et al. Ethernet-based real-time control data bus
JP2002135284A (ja) 集線装置