DE60310749T2 - Verfahren zur bestimmung eines timing-offset zwischen einem ersten takt und einem zweiten takt in einem kommunikationsnetz - Google Patents

Verfahren zur bestimmung eines timing-offset zwischen einem ersten takt und einem zweiten takt in einem kommunikationsnetz Download PDF

Info

Publication number
DE60310749T2
DE60310749T2 DE60310749T DE60310749T DE60310749T2 DE 60310749 T2 DE60310749 T2 DE 60310749T2 DE 60310749 T DE60310749 T DE 60310749T DE 60310749 T DE60310749 T DE 60310749T DE 60310749 T2 DE60310749 T2 DE 60310749T2
Authority
DE
Germany
Prior art keywords
clock
terminal
time
network
timing offset
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 - Lifetime
Application number
DE60310749T
Other languages
English (en)
Other versions
DE60310749D1 (de
Inventor
David James Chilwell SMITH
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.)
Siemens PLC
Original Assignee
Siemens PLC
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 Siemens PLC filed Critical Siemens PLC
Application granted granted Critical
Publication of DE60310749D1 publication Critical patent/DE60310749D1/de
Publication of DE60310749T2 publication Critical patent/DE60310749T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays

Description

  • Hintergrund
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren zur Bestimmung eines Timing-Offset zwischen einem ersten Takt und einem zweiten Takt in einem Kommunikationsnetz.
  • Hintergrund der Erfindung
  • Es gehört zum Standard, dass ein Endgerät, das mit einem Rechnernetz verbunden ist, über einen internen Takt für Zeitmessungszwecke verfügt. Typische Takt-Hardware liefert eine Millisekunden-Auflösung und -Taktung. Üblicherweise arbeiten die Takte zweier oder mehrerer Endgeräte, die über ein Netz miteinander kommunizieren, unabhängig voneinander und sind daher unter Umständen nicht synchronisiert. Für bestimmte Arten der Kommunikation über ein Netz ist es wünschenswert, dass der zeitliche Versatz, das so genannte Timing-Offset, zwischen den beiden nicht synchronisierten internen Takten der zwei oder mehreren Kommunikations-Endgeräte bekannt oder vorhersagbar ist. Beispielsweise wird das Messen der Netzverzögerung in einem IP-Netz vereinfacht, wenn das Timing-Offset zwischen den Takten der miteinander kommunizierenden Endgeräte bekannt ist.
  • Die Netzverzögerung in einem IP-Netz ist das Maß dafür, wie viel Zeit ein Datenpaket benötigt, um von einem Punkt des Netzes zu einem anderen zu gelangen. Die Netzverzögerung kann entweder für den Umlauf eines Datenpakets oder lediglich unidirektional, d. h. in einer Richtung, gemessen werden.
  • Ein Verfahren zum Messen der Umlaufverzögerung beinhaltet das Verwenden der in der Technik hinreichend bekannten „Ping"- Funktion im Netz. Mit der „Ping"-Funktion wird ein Datenpaket von dem Empfangspunkt an den Punkt im Netz zurückübertragen, von dem aus das Datenpaket ursprünglich gesendet wurde. Die Umlaufverzögerung wird einfach berechnet als die Differenz zwischen der Zeit, zu der das Datenpaket wieder an seinem Ausgangspunkt empfangen wurde, und der Zeit, zu der das Datenpaket ursprünglich von seinem Ausgangspunkt aus gesendet wurde. Da sich diese Berechnung ausschließlich auf die Zeit des Taktes am Ausgangspunkt stützt, besteht keine Notwendigkeit, den Takt am Ausgangspunkt und den Takt am Empfangspunkt miteinander zu synchronisieren.
  • Ein bekanntes Verfahren zum Messen der unidirektionalen Netzverzögerung basiert auf einem absoluten Takt, um die Zeit des Takts am Ausgangspunkt im Netz und die Zeit des Takts am Zielpunkt im Netz zu synchronisieren. Unter der Voraussetzung, dass die Takte am Ausgangspunkt und am Zielpunkt im Netz auf einen absoluten Takt synchronisiert sind, ist die unidirektionale Netzverzögerung einfach zu berechnen als die Differenz zwischen der Zeit, zu der ein Datenpaket am Zielpunkt empfangen wird, und der Zeit, zu der das Datenpaket am Ausgangspunkt gesendet wurde. Die Takte am Ausgangs- und am Zielpunkt können beispielsweise etwa auf einen GPS (Global Positioning System, weltumspannendes Ortungssystem) -Zeitempfänger oder auf eine andere derartige Quelle für eine absolute Zeitmessung synchronisiert sein.
  • RFC 1305 beschreibt das Network Time Protocol (NTP). Das NTP ist dafür ausgelegt, Zeitinformationen von einer absoluten Zeitquelle an Endgeräte in einem umfangreichen Netz wie etwa dem Internet zu verteilen.
  • Unter Jitter ist der Betrag zu verstehen, um den die Datenpaketübertragungsrate gegenüber dem Mittelwert während eines aktuellen Zeitraums abweicht. Jitter-Messungen gehen von einem definierten Zeitintervall zwischen den im Rahmen des Tests gesendeten Datenpaketen aus. Auf diese Weise geben Jitter-Messungen lediglich einen Hinweis auf Verzögerungseffekte durch einen Vergleich des gemessenen Intervalls zwischen zwei empfangenen Datenpaketen mit dem definierten Datenpaketübertragungsintervall. Jitter-Messungen geben keinerlei Auskunft über unidirektionale Übertragungsverzögerungen, die bei einzelnen Datenpaketen auftreten.
  • Es ist wünschenswert, über die Möglichkeit zu verfügen, das Timing-Offset zwischen zwei Takten in einem Rechnernetz zu bestimmen oder vorherzusagen. Dies hätte zahlreiche Vorteile, unter anderem darin, dass die unidirektionale Übertragungsverzögerung im Netz ermittelt werden könnte, ohne dass ein absoluter Takt verwendet werden muss, um die Takte an Übertragungs- und Empfangspunkt im Netz zu synchronisieren.
  • Die Patentschrift EP-A-0697774 beschreibt ein Verfahren zum Ermitteln eines Timing-Offset zwischen einem ersten Takt und einem zweiten Takt in einem Kommunikationsnetz. Bei diesem Verfahren werden ein erstes Timing-Offset und ein zweites Timing-Offset basierend auf der minimalen unidirektionalen Übertragungsverzögerung geschätzt und dazu verwendet, ein aktuelles Timing-Offset zwischen dem ersten und dem zweiten Takt zu schätzen. Um das aktuelle Timing-Offset zu ermitteln, kommt in dem Verfahren gemäß der Patentschrift EP-A-0697774 ein Algorithmus auf Basis der Kalman-Filterung zum Einsatz.
  • Zusammenfassung der Erfindung
  • Gemäß der Erfindung wird ein Verfahren zur Bestimmung eines Timing-Offset entsprechend dem beigefügten Patentanspruch 1 bereitgestellt.
  • Kurzbeschreibung der Zeichnungen
  • Ein Beispiel der Erfindung wird nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, wobei:
  • 1 ein Kommunikationsnetz darstellt;
  • 2 ein Zeitdiagramm für ein Datenpaket darstellt.
  • Ausführliche Beschreibung der bevorzugten Ausführungsform
  • Es wird Bezug genommen auf 1 in den beigefügten Zeichnungen, in der ein Kommunikationsnetz 1 dargestellt ist, welches ein erstes Endgerät A und ein zweites Endgerät B umfasst. In der hier beschriebenen Ausführungsform der Erfindung handelt es sich sowohl bei dem ersten Endgerät A als auch bei dem zweiten Endgerät B um Personal-Computer (PC) und ist das Kommunikationsnetz 1 ein auf dem Internet-Protokoll (IP) basierendes Netz, beispielsweise ein Ortsnetz (LAN, Local Area Network) eines Unternehmens.
  • Das erste Endgerät A und das zweite Endgerät B beinhalten jeweils eine interne Takt-Hardware (nicht dargestellt). Die internen Takte des ersten Endgeräts A und des zweiten Endgeräts B sind nicht aufeinander synchronisiert, womit zu einem gegebenen Zeitpunkt ein Synchronisations- oder Timing-Offset δ zwischen den beiden Takten besteht. Das Timing-Offset δ kann definiert werden als: δ = TB – TA (1) wobei TA für die Zeit steht, die von dem Takt des ersten Endgeräts A angezeigt wird, und TB analog hierzu die Zeit angibt, die von dem Takt des zweiten Endgeräts B angezeigt wird.
  • Während einerseits erwartet werden kann, dass die unabhängig von einander laufenden Takte von Personal-Computern (PCs) wie dem ersten Endgerät A und dem zweiten Endgerät B einigermaßen gleichmäßige Taktfrequenzen (d. h. Zeitintervalle) einhalten, ist es andererseits unwahrscheinlich, dass diese Taktfrequenzen gleich sind. Wenn also der Takt des ersten Endgeräts A mit einer Taktfrequenz f1 arbeitet und der Takt des zweiten Endgeräts B mit einer davon verschiedenen Taktfrequenz f2 arbeitet, ist der Versatz zwischen den beiden Takten wie folgt definiert: f2 - f1 (2)
  • Da der Versatz der Takte des ersten Endgeräts A und des zweiten Endgeräts B nicht Null beträgt, ist das Synchronisations-Offset δ nicht konstant, sondern es variiert linear mit der Zeit.
  • Das Endgerät A ist dafür ausgelegt, eine Reihe von Testdatenpaketen über das Kommunikationsnetz 1 an das Endgerät B zu übertragen. Jedes Testdatenpaket, das am Endgerät B empfangen wird, wird wieder an das Endgerät A zurück übertragen. Der Pfad durch das Netz, dem die Pakete auf ihrem Umlaufweg folgen, ist symmetrisch.
  • Wie an späterer Stelle noch ausführlicher erläutert wird, werden die Zeitinformationen, die von den jeweiligen Takten in Endgerät A und Endgerät B bezogen und in die Testdatenpakete eingestempelt werden, durch das Endgerät A verarbeitet, um ein Timing-Offset zwischen den jeweiligen Takten der Endgeräte A und B zu bestimmen. Dies wiederum ermöglicht es, einen Taktwert an einem der Takte vorherzusagen, wenn der entsprechende Taktwert des jeweils anderen Taktes vorgegeben ist.
  • 2 der beiliegenden Zeichnungen stellt ein Zeitdiagramm für Testdatenpakete dar, die zwischen dem ersten Endgerät A und dem zweiten Endgerät B übermittelt werden. In 2 wird ein erstes Testdatenpaket (T1) von dem ersten Endgerät A zu einem Zeitpunkt tA1senden, der von dem internen Takt des ersten Endgeräts A abgelesen wurde, gesendet. In diesem ersten Testdatenpaket (T1) sind eine Datenpaketfolgenummer und ein Zeitstempel, der den Zeitpunkt tA1senden angibt, enthalten. Das erste Testdatenpaket (T1) wird an dem zweiten Endgerät B zu einem Zeitpunkt tB1empfangen empfangen, welcher von dem internen Takt des zweiten Endgeräts B abgelesen wird.
  • Sobald es das erste Testdatenpaket (T1) empfängt, fügt das zweite Endgerät B einen Zeitstempel in das Datenpaket ein, der den Zeitpunkt tB1empfangen angibt, welcher von dem internen Takt des zweiten Endgeräts B abgelesen wird und zu dem das Datenpaket an dem Endgerät B empfangen wurde, und sendet das Paket unverzüglich zurück an das erste Endgerät A. Somit werden bei dieser Ausführungsform der Zeitpunkt, zu dem das Testdatenpaket am Endgerät B empfangen wurde, und der Zeitpunkt, zu dem das Datenpaket vom Endgerät B wieder zurückgesendet wurde, als identisch angenommen.
  • Das zurückgesendete erste Testdatenpaket (T1) wird an dem ersten Endgerät A zu einem Zeitpunkt tA1empfangen empfangen, der von dem internen Takt des ersten Endgeräts A abgelesen wird.
  • Die Datenpaketfolgenummer und die Zeitangaben tA1senden, tB1empfangen werden aus dem ersten Testdatenpaket (T1) ausgelesen und zusammen mit dem Wert tA1empfangen im Speicher des ersten Endgeräts A abgelegt.
  • Wie in 2 dargestellt werden die vorstehend beschriebenen Schritte der Reihe nach für jedes von n Testdatenpaketen wiederholt. Die Datenpakete werden von dem Endgerät A in einem gleichmäßigen Abstand gesendet. Der Übersichtlichkeit halber sind in 2 lediglich die Zeitwerte tA1sendenr tB1empfangen und tA1empfangen für die Datenpakete mit den Datenpaketfolgenummern eins, vier und n angegeben. Die Datenpaketfolgenummern und die Zeitstempel, die in den an das erste Endgerät A zurückgesendeten Testdatenpaketen enthalten sind, werden dazu verwendet, die Zeitbasis zu erstellen, die in der nachstehenden Tabelle 1 dargestellt ist.
  • Figure 00070001
    Tabelle 1
  • Für jedes gegebene Datenpaket mit einer Datenpaketfolgenummer i ist die Umlaufverzögerung (RTDi, Round Trip Delay) im Netz 1 zwischen dem ersten Endgerät A und dem zweiten Endgerät B gleich der Zeit, die von dem Takt des Endgeräts A ausgegeben wird, wenn das zurückgesendete Datenpaket am Endgerät A empfangen wird, abzüglich der Zeit, die von dem Takt des Endgeräts A ausgegeben wurde, als das Datenpaket ursprünglich von dem Endgerät A gesendet wurde: RTDi = tAiempfangen – tAisenden (3)
  • Der Pfad durch das Netz zwischen dem ersten Endgerät A und dem zweiten Endgerät B ist ein Pfad mit variabler Übertragungsverzögerung. Die Zeit, die die Datenpakete benötigen, um die Sende-Strecke zwischen dem ersten Endgerät A und dem zweiten Endgerät B zu durchlaufen, variiert in Abhängigkeit von einer Anzahl Faktoren, beispielsweise der Belastung des Netzes. In gleicher Weise variiert auch die Zeit, die die Datenpakete benötigen, um die Rücksende-Strecke zwischen dem zweiten Endgerät B und dem ersten Endgerät A zurückzulegen. Dementsprechend ist die Umlaufverzögerung RTD der Datenpakete, die für die Erstellung der in Tabelle 1 dargestellten Zeitbasis herangezogen wird, von Datenpaket zu Datenpaket verschieden.
  • Bei einer Zeitbasis, die aus einer ausreichend großen Folge von Datenpaketen erstellt wurde, kann davon ausgegangen werden, dass dasjenige Datenpaket, das die minimale Umlaufverzögerung RTD zwischen den Endgeräten A und B aufweist, auch in der Sende-Strecke und ebenso auch in der Rücksende-Strecke die minimale Übertragungsverzögerung aufweist. Ferner kann für einen symmetrischen Netzpfad zwischen dem ersten Endgerät A und dem zweiten Endgerät B angenommen werden, dass die minimale Übertragungsverzögerung in der Sende-Strecke und die minimale Übertragungsverzögerung in der Rücksende-Strecke gleich sind.
  • Folglich gilt, wenn die minimale unidirektionale Übertragungsverzögerung Δmx per Definition gleich der Hälfte der minimalen Umlaufverzögerung RTD ist, nach der Notation von Tabelle 1: Δmx = (tAmxempfangen – tAmxsenden)/2 (4)wobei der Index „mx" die Datenpaketfolgenummer eines Testdatenpakets angibt, welches eine minimale Umlaufverzögerung RTD aufweist.
  • Wenn das Datenpaket mit der Datenpaketfolgenummer „mx" von dem Endgerät A an das Endgerät B gesendet würde und die Takte der beiden Endgeräte A und B synchronisiert wären, würde die Bedingung tBmxempfangen = tAmxsenden + Δmx (5)zutreffen.
  • Allerdings weisen, wie an früherer Stelle bereits erwähnt, zu einem beliebigen Zeitpunkt die Takte am Endgerät A und am Endgerät B ein Timing-Offset δ auf, daher trifft die Bedingung (5) nicht zu.
  • Stattdessen gilt, wenn δmx das Timing-Offset zwischen den beiden Takten zu dem Zeitpunkt, zu dem das Datenpaket mit der Datenpaketfolgenummer „mx" an das Endgerät B gesendet wird, bezeichnet, folgende Bedingung: tBmxempfangen = tAmxsenden + Δmx + δmx (6)woraus sich ergibt: δmx = tBmxempfangen – tAmxsenden – Δmx (7)
  • Somit kann, indem ein Datenpaket mit einer minimalen Umlaufverzögerung RTD zwischen den Endgeräten A und B identifiziert wird, das Endgerät A die Informationen tAmxsenden, tAmxempfangen und tBmxempfangen gemäß den Gleichungen (4) und (7) verarbeiten, um δmx zu bestimmen.
  • Im Fall des Datenpakets mit der Datenpaketfolgenummer „mx" ist das Verhältnis zwischen dem Taktwert TBmx am Endgerät B und dem Taktwert TAmx am Endgerät A: TBmx = TAmx + δmx (8)
  • Wie bereits an früherer Stelle erwähnt ist in dieser Ausführungsform das Timing-Offset δ nicht konstant. Der Takt am Endgerät A und der Takt am Endgerät B arbeiten mit unterschiedlichen Taktfrequenzen, weshalb das Timing-Offset δ mit der Zeit variiert.
  • Es werden weitere Informationen benötigt, um das Endgerät A in die Lage zu versetzen, einen beliebigen Taktwert am Endgerät B anhand des entsprechenden simultanen Taktwertes am Endgerät A vorherzusagen. Um diese zusätzlichen Informationen zu erlangen, identifiziert das Endgerät A ein zweites Datenpaket in der Paketfolge mit einer minimalen Umlaufverzögerung RTD und wird in derselben Weise wie vorstehend bereits beschrieben ein Wert δmy für das Timing-Offset zwischen den beiden Takten zu dem Zeitpunkt, zu dem das Datenpaket an das Endgerät B gesendet wird, bestimmt.
  • Da in dem hier beschriebenen Beispiel das Timing-Offset δ kein konstanter Wert ist, ist δmx nicht gleich δmy. Da jedoch das Timing-Offset δ linear mit der Zeit variiert, können δmx und δmy als zwei Terme in einer arithmetischen Reihe betrachtet werden.
  • Bei einer arithmetischen Reihe handelt es sich um eine Reihe, in der jeder Term um denselben Betrag von dem jeweils vorhergehenden Term abweicht. Der N-te Term einer arithmetischen Reihe σN kann ausgedrückt werden als: σN = a + Md (9)wobei „a" und „d" Konstanten sind und „M" der N-te Term einer anderen arithmetischen Reihe (beispielsweise M = 1, 2, 3 etc. oder M = 10, 20, 30 etc.) ist.
  • Somit lässt sich die arithmetische Reihe δ folgendermaßen ausdrücken: δ = a + Md (10)
  • Wenn nun δmx und δmy der X-te bzw. der Y-te Term in der arithmetischen Reihe δ sind, kann δmx wie folgt ausgedrückt werden: δmx = a + Mxd (11)und kann δmy ebenso ausgedrückt werden als: δmy = a + Myd (12)wobei Mx und My der X-te bzw. der Y-te Term in einer arithmetischen Reihe „M" sind. Bei einer Ausführungsform der Erfindung kann „M" als die einfache arithmetische Reihe 1, 2, 3... etc. angenommen werden, die definiert ist durch die Datenpaketfolgenummern der Datenpakete, die für die Erstellung der Zeitbasis zugrunde gelegt werden. Somit sind δmx, δmy, Mx und My dem Endgerät A sämtlich bekannt, sodass das Endgerät A die Konstanten „a" und „d" gemäß folgenden Gleichungen berechnen kann:
    Figure 00120001
    und a = δmy – Myd (14)
  • Nachdem nun die Konstanten „a" und „d" berechnet sind, kann das Endgerät A anhand von Gleichung (10) den Wert jedes beliebigen Terms in der arithmetischen Reihe δ bestimmen.
  • Für einen gegebenen berechneten Timing-Offset-Wert δ kann das Endgerät A dann die Taktzeit am Endgerät B anhand der entsprechenden Taktzeit am Endgerät A gemäß der Gleichung (1) vorhersagen.
  • Wenn mehr als zwei Datenpakete in der Datenpaketfolge identifiziert werden, die eine minimale Umlaufverzögerung RTD aufweisen, werden vorzugsweise dasjenige mit der niedrigsten Datenpaketfolgenummer und dasjenige mit der höchsten Datenpaketfolgenummer ausgewählt, um für die Bestimmung von δmx und δmy verwendet zu werden. Dies maximiert die Genauigkeit des vorhergesagten Wertes jedes anderen Terms in der arithmetischen Reihe δ und somit der vorhergesagten Taktzeit am Endgerät B.
  • Tabelle 2 enthält für eine Folge von elf Datenpaketen, die zwischen dem Endgerät A und dem Endgerät B übertragen werden, beispielhafte Messwerte für tAsenden, tAempfangen, tBempfangen und für die Umlaufverzögerung RTD der Datenpakete.
  • Figure 00130001
    Tabelle 2
  • In diesem Beispiel werden die Datenpakete mit den Datenpaketfolgenummern drei und neun von dem Endgerät A als Datenpakete mit einer minimalen Umlaufverzögerung RTD mit dem Wert 2 und somit einem minimalen unidirektionalen Übertragungsverzögerungswert von 1 identifiziert.
  • Für das Datenpaket mit der Datenpaketfolgenummer 3 verarbeitet das Endgerät A die relevanten Werte von tBmempfangen, tAmsenden und Δm entsprechend der Gleichung (7), was einen Takt-Offset-Wert δ3 ergibt: δ3 = 94
  • Für das Datenpaket mit der Datenpaketfolgenummer 9 verarbeitet das Endgerät die relevanten Werte von tBmempfangen, tAmsenden und Δm entsprechend der Gleichung (7), was einen Takt-Offset-Wert δ9 ergibt: δ9 = 106
  • Wenn das Endgerät A die Datenpaketfolgenummern 3 und 9 als geeignete Werte für Mx und My verwendet, dann ergibt sich, wenn in den Gleichungen (13) und (14) Mx = 3, My = 9, δmx = 94und δmy = 106 gesetzt werden:
    Figure 00140001
    a = 94 – 3 × 2 = 88
  • Demnach kann gemäß Gleichung (10) das Endgerät A die Werte für „a" und „d" verwenden, um den Wert jedes beliebigen der Terme in der arithmetischen Reihe δ zu bestimmen.
  • Für einen gegebenen berechneten Takt-Offset-Wert δ kann das Endgerät A dann die Taktzeit am Endgerät B anhand der entsprechenden Taktzeit am Endgerät A gemäß der Gleichung (1) vorhersagen.
  • Beispielsweise war, als von dem Endgerät A das Datenpaket mit der Datenpaketfolgenummer 10 gesendet wurde, der Takt an dem Endgerät A 190.
  • Wenn in Gleichung (10) a = 88, d = 2 und M = 10 gesetzt wird, ergibt sich: δ10 = 88 + 10 × 2 δ10 = 88 + 20 δ10 = 108und schätzt das Endgerät A entsprechend anhand von Gleichung (1) die Zeit, die von dem Takt des Endgeräts B angegeben wird, wenn der Takt am Endgerät A 190 war, wie folgt: 190 + 108 = 298
  • Da die Taktzeit am Endgerät B mithilfe der Taktzeit am Endgerät A vorhergesagt werden kann, lassen sich auf einfache Weise die Übertragungsverzögerung in der Sende-Strecke und die Übertragungsverzögerung in der Rücksende-Strecke für alle zwischen dem Endgerät A und dem Endgerät B übertragenen Datenpakete bestimmen. Beispielsweise wird für das Datenpaket mit der Datenpaketfolgenummer 10 die Taktzeit am Endgerät B zu dem Zeitpunkt, zu dem das Datenpaket von dem Endgerät A gesendet wurde, mit dem Wert 298 vorhergesagt. Für die Taktzeit am Endgerät B zu dem Zeitpunkt, zu dem das Datenpaket am Endgerät B empfangen wurde, war der Wert bekanntlich 300, und somit wird die Übertragungsverzögerung in der Sende-Strecke mit dem Wert 2 berechnet. Da die Umlaufverzögerung RTD des Datenpakets mit dem Wert 4 bekannt ist, errechnet sich als Übertragungsverzögerung in der Rücksende-Strecke durch einfaches Subtrahieren der Wert 2. Alternativ kann die Übertragungsverzögerung in der Rücksende-Strecke in ähnlicher Weise berechnet werden wie die Übertragungsverzögerung in der Sende-Strecke. Für die Taktzeit am Endgerät B zum Zeitpunkt der Rücksendung des Datenpakets an das Endgerät A ist der Wert 300 bekannt. Da δ10 = 108 ist, wird der entsprechende Taktwert am Endgerät A mit dem Wert 192 vorhergesagt. Die Taktzeit am Endgerät A zum Zeitpunkt des Empfangs des Datenpakets am Endgerät A ist mit dem Wert 194 bekannt, sodass sich bei Subtraktion für die Übertragungsverzögerung in der Rücksende-Strecke ein Wert von 2 ergibt.
  • Aus Tabelle 2 wird ersichtlich, dass der Ausgang des Takts am ersten Endgerät selbst ebenfalls eine arithmetische Reihe ist. Dementsprechend kann in einer Ausführungsform das Endgerät A an Stelle der Datenpaketfolgenummern seinen eigenen Taktausgang verwenden, um geeignete Werte für Mx und My bereitzustellen. Somit ergeben sich, wenn in den Gleichungen (13) und (14) Mx = 50, My = 170, δmx = 94 und δmy = 106 gesetzt werden, folgende Werte für „a" und „d":
    Figure 00160001
    sowie a = 94 – 50 × 0.1 = 89.
  • Auch hier kann wieder, wenn als Beispiel das Datenpaket mit der Datenpaketfolgenummer 10 verwendet wird, das Endgerät A in der Gleichung (10) a = 89, d = 0,1 und M = 190 setzen, um Folgendes zu erhalten: δ190 = 89 + 190 × 0.1 δ190 = 89 + 19 δ190 = 108womit das Endgerät A mithilfe der Gleichung (1) die Zeit vorhersagt, die von dem Takt des Endgeräts B angegeben wird, wenn der Takt des Endgeräts A 190 betrug, und zwar als: 190 + 109 = 298was dem Wert entspricht, der bei Verwendung der Datenpaketfolgenummern als Werte für M vorhergesagt wurde.
  • In den vorstehend beschriebenen Beispielen werden die Werte für tBmempfangen, tAmsenden eines Datenpakets in der Sende-Strecke (also von Endgerät A an Endgerät b übertragen) entsprechend der Gleichung (7) verwendet, um einen Wert für ein Timing-Offset zu bestimmen. Es ist leicht einzusehen, dass die Werte für tBmsenden, tAmempfangen eines Datenpakets in der Rücksende-Strecke (also von Endgerät B an Endgerät A zurückgesendet) in gleicher Weise verwendet werden könnten.
  • Bei einer Ausführungsform der Erfindung beinhalten das erste Endgerät A und das zweite Endgerät B Prozessoren, die dafür programmiert sind, die gewünschten Funktionen der Endgeräte, wie sie vorstehend beschrieben wurden, auszuführen.
  • Über längere Zeiträume hinweg kann die Frequenz der Takte an Endgeräten wie dem Endgerät A und dem Endgerät B aufgrund von externen Einflüssen wie beispielsweise der Temperatur schwanken. Daher müssen, um diesen Effekten entgegen zu wirken, in regelmäßigen Abständen neue Reihen von Testdatenpaketen zwischen den Endgeräten übertragen werden, um eine Neukalibrierung der in den Gleichungen (12) und (13) definierten arithmetischen Reihenkonstanten zu ermöglichen.
  • Es ist leicht einzusehen, dass sich die Werte für die minimale Umlaufverzögerung RTD je nach den Netzbedingungen ändern können, sodass die Datenpakete, die für die Berechnung der Werte von δmx und δmy verwendet wurden, nicht unbedingt dieselben Werte für die Umlaufverzögerung RTD haben.
  • In der vorstehenden spezifischen Beschreibung werden das erste Endgerät A und das zweite Endgerät B als Personal-Computer (PCs) beschrieben. Es ist jedoch einzusehen, dass sowohl das Endgerät A als auch das Endgerät B ein Endgerät beliebiger Art sein kann, welches an ein Netz angeschaltet werden kann, beispielsweise ein Drucker, ein IP-fähiges Telefon, ein Router, ein Server oder ein spezielles Netz-Testgerät.
  • In dem vorstehenden spezifischen Beispiel ist das Netz 1 als ein Ortsnetz LAN eines Unternehmens dargestellt. Es ist leicht einzusehen, dass das Netz 1 jedwede Art von Netz sein kann, an das Endgeräte angeschaltet werden können, oder auch eine Kombination aus zusammengeschalteten Netzen.
  • Bei der Ausführungsform, die vorstehend ausführlich beschrieben wird, ist das Timing-Offset δ zwischen den Takten der Endgeräte A und B kein konstanter Wert, daher ist der gemessene Wert von δmx nicht gleich dem gemessenen Wert von δmy. Bei einer alternativen Ausführungsform existiert zwischen den Takten an den Endgeräten A und B kein Frequenzversatz und bleibt somit das Timing-Offset δ konstant. Bei dieser Ausführungsform werden die gemessenen Werte von δmx und δmy miteinander verglichen und wird festgestellt, dass sie denselben Wert haben, was anzeigt, dass δ konstant ist.
  • Bei einer Ausführungsform können die Informationen, die in den Testdatenpaketen enthalten sind, den normalen, datentragenden Datenpaketen hinzugefügt werden, die zwischen den Endgeräten A und B übertragen werden.
  • Die vorstehend beschriebenen Verfahren können dazu eingesetzt werden, Messungen der Sende- und Empfangsverzögerungen für bidirektionale Übertragungen in Echtzeit in einem IP-Netz wie beispielsweise Sprache-über-IP (VoIP, Voice over IP) durchzuführen.
  • Obwohl die Erfindung unter Bezugnahme auf bestimmte Ausführungsformen beschrieben wurde, versteht es sich für Fachleute auf diesem Gebiet der Technik von selbst, dass die Erfindung nicht auf diese Ausführungsformen beschränkt ist. Für den Fachmann ist leicht einzusehen, dass verschiedene Anpassungen und Modifikationen dieser Ausführungsformen realisiert werden können, ohne den Schutzbereich der Erfindung gemäß Definition in den nachfolgenden Patentansprüchen zu verlassen.

Claims (13)

  1. Verfahren zur Bestimmung eines Timing-Offset zwischen einem ersten Takt und einem zweiten Takt an jeweiligen ersten und zweiten Punkten in einem Kommunikationsnetz, wobei das Verfahren Folgendes umfasst: Senden einer Mehrzahl von Anforderungssignalen von dem ersten Punkt im Netz an den zweiten Punkt im Netz; Empfangen einer Mehrzahl von Antwortsignalen an dem ersten Punkt im Netz, welche von dem zweiten Punkt im Netz gesendet wurden, wobei jedes Antwortsignal einem jeweiligen Anforderungssignal aus der Mehrzahl von Anforderungssignalen entspricht; Identifizieren eines ersten Anforderungssignals und eines entsprechenden Antwortsignals, die eine minimale Umlaufverzögerung aufweisen; Anhand der minimalen Umlaufverzögerung Bestimmen einer minimalen unidirektionalen Übertragungsverzögerung; Schätzen eines Timing-Offset zwischen den Taktwerten des ersten Takts und des zweiten Takts bei einer ersten Instanz, wobei die Schätzung auf der minimalen unidirektionalen Übertragungsverzögerung basiert, sowie einer Sendezeit und einer Empfangszeit entweder des identifizierten Anforderungssignals oder des entsprechenden Antwortsignals, wie sie von den jeweiligen Takten an den Sende- und Empfangspunkten des Signals angegeben wird; wobei das Verfahren gekennzeichnet ist durch: Identifizieren eines zweiten Anforderungssignals und eines zweiten entsprechenden Antwortsignals, welche eine andere minimale Umlaufverzögerung aufweisen; und Schätzen eines zweiten Timing-Offset zwischen den Taktwerten des ersten Takts und des zweiten Takts bei einer zweiten Instanz, wobei die Schätzung auf einer anderen minimalen unidirektionalen Übertragungsverzögerung basiert, sowie einer Sendezeit und einer Empfangszeit entweder des zweiten identifizierten Anforderungssignals oder des zweiten entsprechenden Antwortsignals, wie sie von den jeweiligen Takten an den Sende- und Empfangspunkten des Signals angegeben wird; Verwenden des ersten Timing-Offset und des zweiten Timing-Offset zum Schätzen eines dritten Timing-Offset zwischen den ersten und den zweiten Takten bei einer dritten Instanz, wobei das erste und das zweite Timing-Offset als zwei Terme in einer arithmetischen Reihe angesehen werden, um das dritte Timing-Offset zu schätzen.
  2. Verfahren gemäß Anspruch 1, wobei das dritte Timing-Offset dazu verwendet wird, den Taktwert an dem zweiten Takt bei der dritten Instanz anhand des Taktwertes an dem ersten Takt bei der dritten Instanz zu berechnen.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei das dritte Timing-Offset dazu verwendet wird, eine unidirektionale Übertragungsverzögerung eines Signals zu berechnen.
  4. Verfahren gemäß einem der vorstehenden Ansprüche, wobei jedes Antwortsignal Informationen enthält, welche die Taktzeit an dem ersten Takt zum Zeitpunkt des Sendens des Antwortsignals von dem ersten Punkt im Netz angeben.
  5. Verfahren gemäß einem der vorstehenden Ansprüche, wobei jedes Antwortsignal Informationen enthält, welche die Taktzeit an dem zweiten Takt zu dem Zeitpunkt angeben, zu dem das Anforderungssignal, das dem Antwortsignal entspricht, an dem zweiten Punkt im Netz empfangen wurde.
  6. Verfahren gemäß einem der vorstehenden Ansprüche, wobei jedes Antwortsignal Informationen enthält, welche die Taktzeit an dem zweiten Takt zum Zeitpunkt des Sendens des Antwortsignals von dem zweiten Punkt im Netz angeben.
  7. Verfahren gemäß einem der vorstehenden Ansprüche, wobei jedes Antwortsignal Informationen enthält, welche die Taktzeit an dem ersten Takt zu dem Zeitpunkt angeben, zu dem das Anforderungssignal, das dem Antwortsignal entspricht, von dem ersten Punkt im Netz aus gesendet wurde.
  8. Verfahren gemäß einem der vorstehenden Ansprüche, wobei eine minimale unidirektionale Übertragungsverzögerung berechnet wird als die Hälfte einer minimalen Umlaufverzögerung RTD.
  9. Verfahren gemäß einem der vorstehenden Ansprüche, wobei die Nachricht und die Antwortsignale Datenpakete sind.
  10. Verfahren gemäß Anspruch 3, wobei die berechnete unidirektionale Übertragungsverzögerung diejenige eines Datenpakets ist, das zwischen dem ersten und dem zweiten Punkt übertragen wird.
  11. Verfahren gemäß Anspruch 10, wobei das Datenpaket ein VoIP-Datenpaket ist.
  12. Rechnerprogramm, das dafür ausgelegt ist, das Verfahren gemäß einem beliebigen der vorstehenden Ansprüche durchzuführen, wenn es von einem entsprechend dafür ausgelegten Verarbeitungsmittel ausgeführt wird.
  13. Verarbeitungsmittel, auf dem das in Anspruch 12 beschriebene Rechnerprogramm installiert ist.
DE60310749T 2002-10-25 2003-10-20 Verfahren zur bestimmung eines timing-offset zwischen einem ersten takt und einem zweiten takt in einem kommunikationsnetz Expired - Lifetime DE60310749T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0224864A GB2394628B (en) 2002-10-25 2002-10-25 A method of determining a timing offset between a first clock and a second clock in a communications network
GB0224864 2002-10-25
PCT/EP2003/011652 WO2004038971A1 (en) 2002-10-25 2003-10-20 A method of determining a timing offset between a first clock and a second clock in a communications network

Publications (2)

Publication Number Publication Date
DE60310749D1 DE60310749D1 (de) 2007-02-08
DE60310749T2 true DE60310749T2 (de) 2007-05-16

Family

ID=9946585

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60310749T Expired - Lifetime DE60310749T2 (de) 2002-10-25 2003-10-20 Verfahren zur bestimmung eines timing-offset zwischen einem ersten takt und einem zweiten takt in einem kommunikationsnetz

Country Status (7)

Country Link
US (1) US7120090B2 (de)
EP (1) EP1554830B1 (de)
CN (1) CN1706135B (de)
AU (1) AU2003276127A1 (de)
DE (1) DE60310749T2 (de)
GB (1) GB2394628B (de)
WO (1) WO2004038971A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621473B2 (en) 2004-08-18 2017-04-11 Open Text Sa Ulc Method and system for sending data
GB2417391B (en) 2004-08-18 2007-04-18 Wecomm Ltd Transmitting data over a network
US7475272B2 (en) * 2005-09-09 2009-01-06 International Business Machines Corporation Method for calculating clock offset and skew
US7948985B2 (en) * 2006-12-20 2011-05-24 Genband Us Llc Methods, systems, and computer program products for source-aware IP routing at a media gateway
US7974264B2 (en) * 2007-07-13 2011-07-05 Michael Rothschild Method and a system for determining the spatial location of nodes in a wireless network
SG153685A1 (en) * 2007-12-17 2009-07-29 Univ Nanyang Peer-to-peer communication in wireless sensor network through delay response between packets
JP2010190635A (ja) * 2009-02-17 2010-09-02 Sony Corp スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
CN102955869B (zh) * 2011-08-30 2015-04-08 国际商业机器公司 评估时钟偏移的方法和装置
US9386127B2 (en) 2011-09-28 2016-07-05 Open Text S.A. System and method for data transfer, including protocols for use in data transfer
US8792380B2 (en) * 2012-08-24 2014-07-29 Accedian Networks Inc. System for establishing and maintaining a clock reference indicating one-way latency in a data network
US9247448B2 (en) 2012-08-27 2016-01-26 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
US9456383B2 (en) 2012-08-27 2016-09-27 Qualcomm Incorporated Device and method for adaptive rate multimedia communications on a wireless network
KR20140072631A (ko) * 2012-12-05 2014-06-13 한국전자통신연구원 네트워크 시험 시스템 및 그 동작방법
US9191908B2 (en) * 2013-03-05 2015-11-17 Qualcomm Incorporated Reducing impact of clock drift in wireless devices
JP6192995B2 (ja) 2013-06-04 2017-09-06 株式会社東芝 通信装置、通信システム、通信方法およびコンピュータプログラム
CN104348561B (zh) * 2013-08-07 2017-08-25 中国科学院声学研究所 基于集中式拓扑结构的水下通信网的同步方法
US10091674B2 (en) * 2014-09-11 2018-10-02 Ewha University-Industry Collaboration Foundation Location determination method and location determination system for sensor apparatus placements in building
US10938585B2 (en) 2015-03-16 2021-03-02 Qualcomm Incorporated Location and range determination using broadcast messages
US10291419B2 (en) 2015-03-16 2019-05-14 Qualcomm Incorporated Location and range determination using broadcast messages
WO2017124996A1 (zh) * 2016-01-22 2017-07-27 林伟 一种信号的处理和传输方法
CN108512728A (zh) * 2018-04-10 2018-09-07 网易(杭州)网络有限公司 时间确定方法、装置、存储介质和电子装置
CN111757391B (zh) * 2019-03-29 2024-04-12 华为技术有限公司 一种通信方法及装置
CN112217686B (zh) 2019-07-12 2022-12-27 华为技术有限公司 一种评估往返时延的系统、方法及装置
WO2021018407A1 (en) * 2019-07-31 2021-02-04 Telefonaktiebolaget Lm Ericsson (Publ) Clock synchronization in packet communications networks

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602375A (en) * 1982-06-11 1986-07-22 Communications Satellite Corporation Onboard clock correction by means of drift prediction
DE3700457C1 (de) * 1987-01-09 1988-06-23 Ant Nachrichtentech Verfahren und Anordnung zur Synchronisation eines Empfaengers bei digitalen UEbertragungssystemen
EP0513196A4 (en) * 1990-01-29 1994-06-29 Us Commerce Device and method for providing accurate time and/or frequency
EP0548381B1 (de) * 1991-12-18 1997-11-26 Siemens Aktiengesellschaft Verfahren zur Uhrzeitführung in Computernetzen
US5450394A (en) * 1994-03-10 1995-09-12 Northern Telecom Limited Delay monitoring of telecommunication networks
EP0697774A1 (de) * 1994-08-15 1996-02-21 Hewlett-Packard Company Abschätzung des Taktversatzes
DE19630398C1 (de) * 1996-07-26 1998-02-12 Siemens Ag Verfahren zum Synchronisieren eines in einer Datenempfangsstation zu generierenden Taktsignals mit einem in einer Datensendestation verwendeten Taktsignal
JP3440191B2 (ja) * 1997-05-30 2003-08-25 沖電気工業株式会社 クライアント・サーバシステム
US5974057A (en) * 1997-09-30 1999-10-26 Motorola, Inc. Method and apparatus for correcting a measured round-trip delay time in a wireless communication system
US6104767A (en) * 1997-11-17 2000-08-15 Telefonaktiebolaget Lm Ericsson Method and apparatus for estimating a frequency offset
US5958060A (en) * 1998-01-02 1999-09-28 General Electric Company Method and apparatus for clock control and synchronization
GB2353450B (en) * 1998-03-25 2001-09-12 Alstom Uk Ltd Method for detecting processor-clock drift in a communication system
US6199169B1 (en) * 1998-03-31 2001-03-06 Compaq Computer Corporation System and method for synchronizing time across a computer cluster
US6327274B1 (en) * 1998-09-15 2001-12-04 Nokia Telecommunications, Inc. Method for estimating relative skew between clocks in packet networks
JP3480701B2 (ja) * 1999-08-06 2003-12-22 日本電気株式会社 パケットネットワーク伝送遅延測定方法およびプログラムを記録した機械読み取り可能な記録媒体
US6445681B1 (en) * 1999-09-15 2002-09-03 Vocaltec Communications Ltd. Method for measuring delay parameters in a network
US6502141B1 (en) * 1999-12-14 2002-12-31 International Business Machines Corporation Method and system for approximate, monotonic time synchronization for a multiple node NUMA system
US6438702B1 (en) * 1999-12-21 2002-08-20 Telcordia Technologies, Inc. Method for providing a precise network time service
US6957357B2 (en) * 2000-10-30 2005-10-18 International Business Machines Corporation Clock synchronization with removal of clock skews through network measurements in derivation of a convext hull
US7023816B2 (en) * 2000-12-13 2006-04-04 Safenet, Inc. Method and system for time synchronization
US7023884B2 (en) * 2000-12-19 2006-04-04 Lucent Technologies Inc. Clock offset estimation with bias correction
US7047435B2 (en) 2000-12-19 2006-05-16 Siemens Corporate Research, Inc. System and method for clock-synchronization in distributed systems
US7765422B2 (en) * 2001-01-19 2010-07-27 Alcatel-Lucent Usa Inc. Method of determining a time offset estimate between a central node and a secondary node

Also Published As

Publication number Publication date
US20060126437A1 (en) 2006-06-15
GB2394628A (en) 2004-04-28
CN1706135B (zh) 2010-09-29
WO2004038971A1 (en) 2004-05-06
GB0224864D0 (en) 2002-12-04
DE60310749D1 (de) 2007-02-08
CN1706135A (zh) 2005-12-07
EP1554830A1 (de) 2005-07-20
AU2003276127A1 (en) 2004-05-13
US7120090B2 (en) 2006-10-10
EP1554830B1 (de) 2006-12-27
GB2394628B (en) 2005-10-19

Similar Documents

Publication Publication Date Title
DE60310749T2 (de) Verfahren zur bestimmung eines timing-offset zwischen einem ersten takt und einem zweiten takt in einem kommunikationsnetz
DE69533579T2 (de) Synchronisierung in einem Datenkommunikationsnetzwerk
DE4320137B4 (de) Synchronisation von Tageszeituhren in einem verteilten Verarbeitungsnetzwerksystem
DE60220592T2 (de) Taktsynchronisation durch Teilnetzwerke
DE60130622T2 (de) Verfahren und System zur Zeitsynchronisierung
EP1265124B1 (de) Verfahren zum Übermitteln von Zeitinformation über ein Datenpaketnetz
EP1382126B1 (de) Verfahren zur messung von unidirektionalen übertragungseigenschaften, wie paketlaufzeit, laufzeitschwankungen und der hieraus ableitbaren ergebnisse, in einem datennetz
DE60117522T2 (de) Verfahren zur synchronisierung einer basisstation für drahtlose kommunikationssysteme
DE60037008T2 (de) Verfahren und vorrichtung zur synchronisierung
DE102012101881B4 (de) Verfahren zur Bestimmung der Topologie eines seriellen asynchronen Datenbusses
DE102007037092A1 (de) Zeitsynchronisation für netzwerkbewusste Vorrichtungen
WO2003039081A1 (de) Verfahren, empfangseinrichtung und sendeeinrichtung zur bestimmung des schnellsten nachrichtenpfades ohne uhrensynchronisation
DE102021201747A1 (de) PHC Verkettung
DE69837431T2 (de) Verfahren zur verfügungsstellung von zeitsynchronisierung in einem netzwerk
DE60002358T2 (de) Verfahren und positionierungssystem eines senders
DE602004011484T2 (de) Verfahren und Vorrichtung zum Synchronisieren von Uhren von Netzknoten
EP1485780A2 (de) Verfahren zur zeitsynchronisation von zumindest zwei miteinander ber ein telekommunikationsnetz, wie internet, intranet oder dergleichen, zusammenwirkenden messrechnern
EP1198911B1 (de) Synchronisierungsverfahren und -system für taktquellen bei insbesondere paketvermittelnden kommunikationssystemen
WO2012042017A2 (de) Verfahren und system zur aufzeichnung, synchronisation und analyse von daten mittels in einem kommunikationsnetzwerk räumlich verteilter analyse-geräte
DE60123935T2 (de) Synchronisierte datenübermittlung
DE69927492T2 (de) Verfahren zur messung der zeitdifferenz zwischen sendern sowie funksystem
DE112015006604T5 (de) Zeitsynchronisationseinrichtung, Zeitsynchronisationssystem und Zeitsynchronisationsverfahren
DE4105267A1 (de) Verbesserte synchronisationstechnik
DE10241345B4 (de) Verfahren und Computersystem zum Handhaben von Messungen in einem Coputernetzwerk
DE19741991C1 (de) Verfahren zum Bestimmen einer richtungsaufgelösten komplexen Impulsantwort eines Funkkanals und Meßsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: FRITZSCHE, T., DIPL.-CHEM. DR.RER.NAT., PAT.-ANW.,