Sensornetz Synchronisation
Messdaten sind oft auf absolute Uhrzeiten angewiesen. Darüber hinaus benötigen einige Kommunikationsprotokolle, wie z. B. SMACS eine möglichst genaue Synchronisation der Sensorknoten untereinander.
Wie in anderen Rechnernetzen, so hat man auch bei Sensornetzen mit den typischen Ungenauigkeiten bei der Synchronisation zu kämpfen. Bei den Faktoren, die die Synchronisation beeinflussen, handelt es sich um die Sendezeit, also die Zeit, die der Sender benötigt, um sendebereit zu sein, die Zugriffszeit, also die Zeit, die der Sender benötigt, um die Daten auf dem Kommunikationsmedium abzulegen, die Ausbreitungsgeschwindigkeit, also wie schnell die Nachricht vom Sender beim Empfänger ist, und die Empfangszeit, also wie lange der Empfänger benötigt, um eine Nachricht vom Medium abzugreifen und die Information für die betreffende Anwendung zugänglich zu machen. Da die unterschiedlichen Kommunikationsverfahren neben anderen Faktoren vor allem die Zugriffszeit beeinflussen, ist es sinnvoll, die Entscheidung für ein Synchronisationsverfahren auch vom Kommunikationsverfahren abhängig zu machen.
Synchronisation durch Berechnung der Round Trip Time
Man kann den Unterschied zweier Uhren in einem Rechnernetz bestimmen, indem man die Uhrzeiten zweier Rechner voneinander abzieht und davon dann noch einmal die Round Trip Time subtrahiert, die durch die Nachrichten verursacht wird, die die beiden Rechner austauschen, um sich gegenseitig über ihre Uhrzeiten zu informieren. In der Praxis bildet man dazu den Mittelwert der Zeitspannen, die zur Übertragung der Anfrage und ihrer Antwort benötigt wurden. Bei diesem Verfahren wirken sich alle oben genannten Faktoren außer der Ausbreitungsgeschwindigkeit aus. Bei einer hohen Varianz der Ausbreitungsgeschwindigkeit ist darum dieses Verfahren vorzuziehen.
Reference-Broadcast Synchronisation
Bei der Reference-Broadcast Synchronisation (RBS) wird von einer zentralen Stelle aus ein Synchronisationssignal an alle Knoten gesendet. Ein Knoten, der nach dieser Synchronisationsnachricht eine Nachricht versendet, informiert mit dieser Nachricht gleichzeitig den Empfänger darüber, wann er die Synchronisation erhalten hat. Mit Hilfe dieser Information kann der Empfänger dann entscheiden, ob seine Uhr falsch geht, und sie mit der Uhr des Senders synchronisieren. Dieses Verfahren ist besonders gut geeignet, wenn bei der Kommunikation die Sendezeit und die Zugriffszeit variieren, da hier die Zeit, an der sich die Synchronisation orientiert, nur einmal für alle Empfänger gesendet wird und unterschiedliche Zugriffs- oder Sendezeiten sich so nicht auf die Synchronisation auswirken.
Timing-Sync Protocol for Sensor Networks
Das Timing-Sync Protocol for Sensor Networks (TPSN) beschreibt den Vorgang, wie in einem Sensornetz die Synchronisation verbreitet wird. Als Synchronisationsverfahren kann hier die Synchronisation durch Berechnung der Round Trip Time zur Anwendung kommen.
Initialisierung
1.Ein Wurzelknoten gibt sich den Level 0.
2.Die Wurzel sendet eine level_discovery-Nachricht per Broadcast an alle Knoten in seinem Sendebereich.
3.Alle Knoten, die einen level_discovery erhalten, der niedriger als ihr eigener Level ist, nehmen den um 1 erhöhten Level der Nachricht an, warten eine zufällige Zeit und beginnen dann ihrerseits mit Punkt 2.
Da es trotz der zufälligen Wartezeit immer noch zu Kollisionen kommen kann, gibt es auch die Möglichkeit, dass Knoten einen Level mit einem level_request anfordern. Diese orientieren sich dann an dem jeweils niedrigsten Level, den sie erhalten.
Synchronisation
1.Der Wurzelknoten fordert die Knoten mit Level 1 durch ein time_sync-Paket dazu auf, sich bei ihm über die Uhrzeit zu informieren.
2.Empfängt ein Knoten ein time_sync, so fordert er durch einen synchronisation_pulse die aktuelle Uhrzeit an. Knoten des Level X werden durch den Empfang des synchronisation_pulse ebenfalls aktiv und fordern ihrerseits die Uhrzeit von ihrem Vaterknoten an.
3.Der Vaterknoten antwortet auf den synchronisation_pulse mit einem ACK, der die aktuelle Zeit enthält.
Wie in anderen Rechnernetzen, so hat man auch bei Sensornetzen mit den typischen Ungenauigkeiten bei der Synchronisation zu kämpfen. Bei den Faktoren, die die Synchronisation beeinflussen, handelt es sich um die Sendezeit, also die Zeit, die der Sender benötigt, um sendebereit zu sein, die Zugriffszeit, also die Zeit, die der Sender benötigt, um die Daten auf dem Kommunikationsmedium abzulegen, die Ausbreitungsgeschwindigkeit, also wie schnell die Nachricht vom Sender beim Empfänger ist, und die Empfangszeit, also wie lange der Empfänger benötigt, um eine Nachricht vom Medium abzugreifen und die Information für die betreffende Anwendung zugänglich zu machen. Da die unterschiedlichen Kommunikationsverfahren neben anderen Faktoren vor allem die Zugriffszeit beeinflussen, ist es sinnvoll, die Entscheidung für ein Synchronisationsverfahren auch vom Kommunikationsverfahren abhängig zu machen.
Synchronisation durch Berechnung der Round Trip Time
Man kann den Unterschied zweier Uhren in einem Rechnernetz bestimmen, indem man die Uhrzeiten zweier Rechner voneinander abzieht und davon dann noch einmal die Round Trip Time subtrahiert, die durch die Nachrichten verursacht wird, die die beiden Rechner austauschen, um sich gegenseitig über ihre Uhrzeiten zu informieren. In der Praxis bildet man dazu den Mittelwert der Zeitspannen, die zur Übertragung der Anfrage und ihrer Antwort benötigt wurden. Bei diesem Verfahren wirken sich alle oben genannten Faktoren außer der Ausbreitungsgeschwindigkeit aus. Bei einer hohen Varianz der Ausbreitungsgeschwindigkeit ist darum dieses Verfahren vorzuziehen.
Reference-Broadcast Synchronisation
Bei der Reference-Broadcast Synchronisation (RBS) wird von einer zentralen Stelle aus ein Synchronisationssignal an alle Knoten gesendet. Ein Knoten, der nach dieser Synchronisationsnachricht eine Nachricht versendet, informiert mit dieser Nachricht gleichzeitig den Empfänger darüber, wann er die Synchronisation erhalten hat. Mit Hilfe dieser Information kann der Empfänger dann entscheiden, ob seine Uhr falsch geht, und sie mit der Uhr des Senders synchronisieren. Dieses Verfahren ist besonders gut geeignet, wenn bei der Kommunikation die Sendezeit und die Zugriffszeit variieren, da hier die Zeit, an der sich die Synchronisation orientiert, nur einmal für alle Empfänger gesendet wird und unterschiedliche Zugriffs- oder Sendezeiten sich so nicht auf die Synchronisation auswirken.
Timing-Sync Protocol for Sensor Networks
Das Timing-Sync Protocol for Sensor Networks (TPSN) beschreibt den Vorgang, wie in einem Sensornetz die Synchronisation verbreitet wird. Als Synchronisationsverfahren kann hier die Synchronisation durch Berechnung der Round Trip Time zur Anwendung kommen.
Initialisierung
1.Ein Wurzelknoten gibt sich den Level 0.
2.Die Wurzel sendet eine level_discovery-Nachricht per Broadcast an alle Knoten in seinem Sendebereich.
3.Alle Knoten, die einen level_discovery erhalten, der niedriger als ihr eigener Level ist, nehmen den um 1 erhöhten Level der Nachricht an, warten eine zufällige Zeit und beginnen dann ihrerseits mit Punkt 2.
Da es trotz der zufälligen Wartezeit immer noch zu Kollisionen kommen kann, gibt es auch die Möglichkeit, dass Knoten einen Level mit einem level_request anfordern. Diese orientieren sich dann an dem jeweils niedrigsten Level, den sie erhalten.
Synchronisation
1.Der Wurzelknoten fordert die Knoten mit Level 1 durch ein time_sync-Paket dazu auf, sich bei ihm über die Uhrzeit zu informieren.
2.Empfängt ein Knoten ein time_sync, so fordert er durch einen synchronisation_pulse die aktuelle Uhrzeit an. Knoten des Level X werden durch den Empfang des synchronisation_pulse ebenfalls aktiv und fordern ihrerseits die Uhrzeit von ihrem Vaterknoten an.
3.Der Vaterknoten antwortet auf den synchronisation_pulse mit einem ACK, der die aktuelle Zeit enthält.
新闻详情