-
Die vorliegende Erfindung betrifft zwei Kommunikationsverfahren in Kommunikationssystemen, eine Recheneinheit, die eingerichtet ist, in ein Kommunikationssystem eingebunden zu werden, ein Kommunikationssystem, ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Stand der Technik
-
Bekannte paketbasierte Kommunikationssysteme umfassen mehrere Knoten (auch als "Nodes" bezeichnet), eine zentrale Instanz (auch „Master“ oder „Koordinator“ genannt) sowie ein gemeinsam genutztes Übertragungsmedium (auch als „gemeinsames Übertragungsmedium“ oder „Shared Medium" bezeichnet).
-
Ein prinzipielles Problem bei einem solchen paketbasierten Kommunikationssystem ist die Steuerung des Zugriffes auf das "Shared Medium", weil bei der gleichzeitigen Verwendung derselben Ressourcen von unterschiedlichen Knoten in der Regel eine erfolgreiche (d.h. fehlerfreie) Übertragung sehr unwahrscheinlich wird. Hierbei gibt es eine Vielzahl von verschiedenen Freiheitsgraden und möglichen Ausprägungen sowie viele verschiedene Optimierungsrichtungen, beispielsweise hinsichtlich Durchsatz, Fairness, Echtzeitfähigkeit etc.
-
Generell ist eine Unterscheidung zwischen konkurrierenden und koordinierten Medienzugriffsverfahren möglich.
-
Bei konkurrierenden Verfahren kann es grundsätzlich vorkommen, dass zwei oder mehrere Knoten gleichzeitig auf das "Shared Medium" zugreifen und entsprechende Daten übertragen wollen, was dann eine Kollision auf dem gemeinsamen Übertragungsmedium zur Folge hat. Beispiele für diese Art von Verfahren sind (Slotted) ALOHA, Carrier Sense Multiple Access (CSMA) und CSMA mit Kollisionsdetektion (CSMA/CD, eingesetzt u.a. in den Ethernet-Varianten 10BASE5 und 10BASE2).
-
Bei konkurrierenden Medienzugriffsverfahren wie CSMA/CD ist prinzipiell ein sehr schneller Zugriff auf das "Shared Medium" möglich, gleichzeitig besteht aber selbst im fehlerfreien Fall keine Garantie, dass ein erfolgreicher Zugriff (im Sinne eines Zugriffes, der eine erfolgreiche Übertragung mit sich bringt) innerhalb einer vorgegebenen Zeit erfolgen kann. Dies liegt darin begründet, dass auch im regulären Betrieb jederzeit Kollisionen auftreten können, was normalerweise eine fehlerhafte Übertragung nach sich zieht. Diese Kollisionswahrscheinlichkeit steigt in der Regel mit einer zunehmenden Anzahl von Knoten und zunehmendem Datenaufkommen an, d.h. sie korreliert mit der Auslastung des gemeinsamen Übertragungsmediums. Daher sind solche Verfahren generell nicht bzw. nur bedingt für echtzeitkritische Daten geeignet, die innerhalb einer gewissen Zeit übertragen werden müssen.
-
Darüber hinaus sind solche konkurrierenden Verfahren unter Umständen aber auch als sehr kritisch anzusehen, falls alle oder zumindest einige der Knoten über das "Shared Medium" (z.B. über einen drahtgebundenen Bus) mit Energie versorgt werden sollen, oder falls alle oder zumindest einige der Knoten von derselben Energiequelle (z.B. einer Batterie) gespeist werden. In so einem Fall könnte es je nach Systemauslegung nämlich vorkommen, dass das komplette System bzw. ein Teil davon aufgrund eines zu hohen Energiebedarfs ausfällt, wenn zu viele Knoten gleichzeitig auf das "Shared Medium" zugreifen wollen. Dies liegt im Wesentlichen darin begründet, dass die Leistungsaufnahme eines Knotens im Sendemodus in der Regel höher ist als im Empfangsmodus bzw. im Nicht-Sendemodus.
-
Anders als bei konkurrierenden Verfahren sollten bei koordinierten Medienzugriffsverfahren im fehlerfreien Fall keine Kollisionen durch einen gleichzeitigen Zugriff mehrerer Knoten auf das "Shared Medium" auftreten. Die Koordination des Medienzugriffes kann dabei statisch erfolgen, wie z.B. bei statischen Zeitmultiplexverfahren, bei denen jeder Knoten periodisch für eine gewisse Zeit exklusiv das "Shared Medium" zur Übertragung nutzen darf. Dies kann beispielsweise mit Hilfe eines statisch festgelegten Ablaufplans („Schedule“), der allen Knoten bekannt ist, in Verbindung mit einer zeitlichen Synchronisation aller Knoten erfolgen. Alternativ kann die Koordination mit Hilfe einer Steuerung durch eine zentrale Instanz realisiert werden, wie beispielsweise bei einem klassischen Pollingverfahren. Darüber hinaus ist aber auch eine verteilte Koordination möglich, was z.B. bei Verfahren wie "Token Ring" oder "Token Bus" zur Anwendung kommt.
-
Koordinierte Verfahren weisen in der Regel ein deterministischeres (d.h. besser vorhersagbares) Verhalten auf als konkurrierende Verfahren, und es können üblicherweise zumindest in einem gewissen Rahmen maximale Zugriffszeiten auf das "Shared Medium" garantiert werden. Insbesondere bei Verfahren, bei denen die Koordination durch eine zentrale Instanz erfolgt, können diese garantierten maximalen Zugriffszeiten allerdings relativ groß sein, vor allem bei einer großen Anzahl an Knoten und/oder einem hohen Verkehrsaufkommen. Bei einem zyklischen Pollingverfahren beispielsweise gewährt die zentrale Instanz zyklisch jedem Knoten den Zugriff auf das "Shared Medium", wobei die maximale Zykluszeit und somit die garantierte maximale Zugriffszeit auf das "Shared Medium" in der Regel direkt proportional zur Anzahl der Knoten und dem maximal möglichen Verkehrsaufkommen ist.
-
Mit den herkömmlichen koordinierten Verfahren können daher starke zeitliche Anforderungen an zumindest einen Teil der zu übertragenden Daten (z.B. im Sinne von vergleichsweise kurzen maximalen Zugriffszeiten) nur für Systeme mit einer relativ geringen Anzahl an Knoten realisiert werden.
-
Ein weiterer Gegenstand bei der Konzeption und Realisierung von Kommunikationssystemen mit einer zentralen Steuer-/Kontrollinstanz (z.B. bei entsprechenden Systemen mit koordinierten Medienzugriffsverfahren) ist die Versorgung dieser zentralen Instanz mit Informationen über die Knoten, beispielsweise in Hinblick auf den aktuellen Zustand eines Knotens oder auf bestimmte Parameter. In herkömmlichen Systemen werden dafür üblicherweise spezielle Kontrollnachrichten zwischen der zentralen Instanz und den einzelnen Knoten ausgetauscht. Diese Kontrollnachrichten setzen sich dabei in der Regel aus einer geeigneten Präambel zur Synchronisation, einem Nachrichtenheader und den eigentlichen Kontrolldaten zusammen und weisen daher oftmals einen recht großen Overhead auf, insbesondere falls nur ein oder wenige Informations-/Kontrollbit(s) zu übermitteln ist/sind. Darüber hinaus muss ein Knoten vor der Übertragung einer derartigen Nachricht zunächst den Zugriff auf das "Shared Medium" erhalten. Dafür kommen prinzipiell die oben bereits dargestellten Möglichkeiten in Betracht, doch ist der Aufwand für die Beschaffung selbst einfacher Informationsinhalte daher oft relativ hoch.
-
Aufgabe der vorliegenden Erfindung ist es, ein Kommunikationsverfahren für ein Kommunikationssystem bereitzustellen, das hohe Übertragungszuverlässigkeit bei relativ geringem Aufwand ermöglicht und insbesondere geeignet ist, in Kommunikationssystemen mit viele Knoten angewandt zu werden. Aufgabe ist es weiterhin, eine schnelle Abfrage von Zuständen (insbesondere Sendewünschen) bei gleichzeitiger minimaler Energieaufnahme der Knoten zu ermöglichen.
-
Offenbarung der Erfindung
-
Die vorliegende Erfindung bezieht sich auf die Kommunikationsverfahren gemäß den Ansprüchen 1 und 2, die Recheneinheit gemäß Anspruch 12, das Kommunikationssystem gemäß Anspruch 13, das Computerprogramm gemäß Anspruch 14 und das computerlesbare Medium gemäß Anspruch 15.
-
Beide erfindungsgemäßen Kommunikationsverfahren sind in einem Kommunikationssystem anzuwenden, das eine zentrale Instanz, eine Mehrzahl von Knoten und ein Kommunikationsmedium umfasst, das die zentrale Instanz und die Knoten gemeinsam zur Kommunikation verwenden. Das Kommunikationsmedium kann beispielsweise ein linearer oder ringförmiger Bus oder ein drahtloser Übertragungskanal sein.
-
Das erste erfindungsgemäße Kommunikationsverfahren umfasst ein Versenden einer Abfragenachricht von der zentralen Instanz an einen oder mehrere Knoten im Kommunikationssystem (der/die dann als „befragte/r Knoten“ bezeichnet wird/werden). Der oder die befragte/n Knoten kann der einzige bzw. können sämtliche (von der zentralen Instanz verschiedenen) Knoten im Kommunikationssystem sein oder eine Auswahl aller Knoten. Werden mehrere Knoten befragt, kann die Abfragenachricht dabei beispielsweise von der zentralen Instanz an jeden befragten Knoten im Kommunikationssystem übermittelt oder von einem befragten Knoten zum nächsten weitergereicht werden, so dass die eine (also insbesondere die einmalig versandte) Abfragenachricht alle befragten Knoten erreicht.
-
Die Abfragenachricht kann beispielsweise einen Zustand (wie beispielsweise einen Sendewunsch oder die Priorität eines Sendewunsches oder die Priorität des höchstprioren vorhandenen Sendewunsches) oder bestimmte andere Parameter bzw. Eigenschaften der angesprochenen (befragten) Knoten (z.B. ob die Versorgung des Knotens mit Energie über eine eigene Quelle (z.B. eine Batterie) erfolgt oder die Energie über das gemeinsame Übertragungsmedium bezogen werden muss) abfragen.
-
Im Falle der Übermittlung der Priorität der höchstprioren zu übertragenden Nachricht kann die zentrale Instanz diese ermitteln und die Sendeberechtigung an die einzelnen Knoten gemäß der jeweiligen Priorität zuteilen, beispielsweise indem sie zuerst demjenigen/denjenigen Knoten den Zugriff gewährt, der/die einen Sendewunsch hoher Priorität angezeigt haben, dann demjenigen/denjenigen mit einem Sendewunsch mittlerer Priorität, etc.
-
Das erste erfindungsgemäße Kommunikationsverfahren umfasst weiterhin für jeden befragten Knoten ein Bestimmen eines knotenspezifischen Zeitfensters anhand einer knotenspezifischen Antwortzeit und ein Herausfiltern einer vom befragten Knoten versandten Antwortnachricht aus während des knotenspezifischen Zeitfensters erhaltenen Signalen. Anhand des jeweiligen knotenspezifischen Zeitfensters ordnet die zentrale Instanz die Antwortnachricht dem bzw. den einzelnen befragten Knoten zu.
-
Vorzugsweise ist die knotenspezifische Antwortzeit eine für den jeweiligen Knoten spezifische Zeitdifferenz zwischen dem Erhalten der Abfragenachricht und dem Versenden einer Antwortnachricht durch den Knoten; dabei kann der Zeitpunkt des Endes oder des Beginns des Erhaltens der Abfragenachricht oder ein beliebiger anderer eindeutig festgelegter Referenzzeitpunkt zugrunde gelegt werden. Die knotenspezifische Antwortzeit kann jeweils automatisch oder manuell durch eine entsprechende Konfiguration eingestellt werden, beispielsweise mit Hilfe einer oder mehrerer Konfigurationsdatei(en) und/oder im Zuge einer Netzwerkplanung und/oder -installation. Die knotenspezifische(n) Antwortzeit(en) des einen befragten Knotens bzw. der mehreren befragten Knoten können der zentralen Instanz zuvor bekanntgegeben worden sein. Alternativ kann die zentrale Instanz selbst dem/den Knoten seine/ihre jeweilige knotenspezifische Sendezeit zuteilen und/oder mitteilen, wie weiter unten beschrieben wird.
-
Ein knotenspezifisches Zeitfenster ist vorzugsweise größer als die eigentliche Antwortzeit. So können Unsicherheiten hinsichtlich der benötigten Signallaufzeiten ausgeglichen werden. Knotenspezifische Zeitfenster verschiedener Knoten überlappen einander vorzugsweise nicht.
-
Aufgrund der Zuordnung einer Antwortnachricht zu einem Knoten anhand dessen knotenspezifischen Empfangsfensters braucht der Inhalt der Antwortnachricht bei der Zuordnung nicht betrachtet zu werden. Insbesondere braucht die Antwortnachricht keine Information über ihren Absender zu enthalten.
-
Das zweite erfindungsgemäße Kommunikationsverfahren umfasst Schritte, die von einem Knoten durchgeführt werden, nämlich ein Empfangen einer von der zentralen Instanz versandten Abfragenachricht, die vorzugsweise noch an mindestens einen weiteren Knoten im Kommunikationssystem gerichtet ist. Es umfasst ein Versenden einer Antwortnachricht zu einer knotenspezifischen Antwortzeit an die zentrale Instanz. Vorzugsweise wird oder wurde die knotenspezifische Antwortzeit dem Knoten von der zentralen Instanz explizit oder implizit zugeteilt und/oder mitgeteilt, oder jeder Knoten wird/wurde manuell in Hinblick auf seine knotenspezifische Antwortzeit konfiguriert.
-
Die erfindungsgemäßen Verfahren umfassen jeweils Schritte, die von den verschiedenen Komponenten „zentrale Instanz“ respektive „Knoten“ auszuführen sind. Sie können miteinander kombiniert werden und erlauben jeweils einen Nachrichtenaustausch, der insbesondere folgende Vorteile aufweist:
Die erfindungsgemäßen Verfahren erlauben sehr kurze Übertragungszeiten für die Antworten, da nahezu kein Overhead benötigt wird (beispielsweise keine Präambeln, Zieladressen oder sonstige Kontroll-/Headerinformationen). Da darüber hinaus die Abfrage mehrerer verschiedener Knoten simultan mit einer einzigen Abfragenachricht erfolgt, ist somit eine geringere durchschnittliche Energieaufnahme, eine Verringerung der maximalen Übertragungslatenz, eine Erhöhung des möglichen Durchsatzes und eine schnelle Abfrage möglich, insbesondere im Vergleich zu herkömmlichen Polling-Verfahren. In letzterem Fall wird üblicherweise jeder Knoten einzeln befragt, was in der Regel deutlich mehr Zeit in Anspruch nehmen würde.
-
Im Gegensatz zu einem konkurrierenden Medienzugriffsverfahren, wie z.B. CSMA, hat man ein deterministisches Verhalten und kann daher sicherstellen, dass jeder befragte Knoten innerhalb einer vorgegebenen Zeit auf jeden Fall eine Antwortnachricht versenden kann, beispielsweise um einen Sendewunsch anzuzeigen. Zudem besteht im fehlerfreien Fall nicht die Gefahr, dass das Netzwerk oder zumindest ein Teil davon zusammenbricht, falls zu viele Knoten gleichzeitig einen Sendewunsch haben und die Energieversorgung dieser Knoten über das gemeinsam genutzte Übertragungsmedium, wie z.B. einen drahtgebundenen Bus realisiert wird, oder falls zu viele Knoten gleichzeitig einen Sendewunsch haben und alle Knoten bzw. ein Teil der Knoten aus derselben Quelle mit Energie versorgt werden.
-
Aufgrund der über die knotenspezifischen Antwortzeiten bzw. Zeitfenster klar definierten zeitlichen Abfolge der Antwortnachrichten kann der für die einzelnen Antwortnachrichten benötigte Overhead minimal gehalten werden. Insbesondere sind keine zusätzlichen Synchronisationsmechanismen und -maßnahmen erforderlich, wie z.B. die Verwendung von Präambeln. Da lediglich Zustandsinformationen übertragen werden können und jeder Knoten selbst entscheiden kann, ob diese Information für ihn relevant ist bzw. alternativ immer nur die zentrale Instanz die entsprechenden Zustandsinformationen auswertet, werden darüber hinaus auch keine zusätzlichen Header-Informationen benötigt, die üblicherweise unter anderem beispielweise den Empfänger einer Nachricht spezifizieren.
-
Die erfindungsgemäßen Verfahren eignen sich sehr gut, um auch für Systeme mit einer relativ großen Anzahl an Knoten gewisse Anforderungen an die Dienstgüte (insbesondere Latenz und Jitter) erfüllen zu können.
-
In bevorzugten Ausführungsformen ist die jeweilige Antwortnachricht nur ein kurzer Signalzug, der keine Präambel und keinen Header umfasst. Die beispielsweise von der zentralen Instanz erhaltenen (Empfangs-)Signale können dabei neben der Antwortnachricht auch Abschnitte/Abtastwerte ohne Nutzsignal enthalten, die also lediglich Rauschen, Interferenzen und/oder andere Störsignale enthalten.
-
Die erfindungsgemäße Recheneinheit ist eingerichtet, als zentrale Instanz in ein Kommunikationssystem eingebunden zu werden sowie einige oder alle Schritte der oben oder im Weiteren beschriebenen Verfahren auszuführen. Das erfindungsgemäße Kommunikationssystem umfasst entsprechend eine derart eingerichtete zentrale Instanz und/oder einen oder mehrere Knoten, die eingerichtet sind, einige oder alle der hier genannten Schritte auszuführen.
-
Die genannten Verfahren können in Form eines oder mehrerer Computerprogramms/e implementiert sein, das/die, wenn es/sie auf einem Computer ausgeführt wird/werden, die Durchführung des jeweiligen Verfahrens bewirkt. Das/die Computerprogramm/e kann/können auf einem oder mehreren maschinenlesbaren Speichermedium/en gespeichert sein.
-
Bevorzugte Ausführungsformen werden in den Unteransprüchen offenbart.
-
Vorteilhafterweise werden die beiden erfindungsgemäßen Verfahren kombiniert. Der Knoten, der die genannten Schritte ausführt, ist dabei ein befragter Knoten, also einer, der die Abfragenachricht von der zentralen Instanz erhalten hat.
-
Die knotenspezifischen Antwortzeiten der einzelnen Knoten werden oder wurden vorzugsweise so gewählt, dass trotz möglicher Laufzeitunterschiede bei den einzelnen Übertragungen keine Kollisionen verschiedener Antwortnachrichten auf dem gemeinsamen Übertragungsmedium auftreten können und die zentrale Instanz jedem Knoten eindeutig ein knotenspezifisches Zeitfenster zuordnen kann, innerhalb dessen die zentrale Instanz die Antwortnachricht des entsprechenden Knotens empfängt. Dies ermöglicht dann wiederum eine eindeutige Zuordnung einer Antwortnachricht zu einem bestimmten Knoten.
-
Vorzugsweise teilt die zentrale Instanz den befragten Knoten implizit oder explizit je eine knotenspezifische Antwortzeit für die Antwortnachricht zu und/oder mit, z.B. während einer speziellen Initialisierungsphase.
-
Eine implizite Zuteilung kann dabei derart realisiert werden, dass die zentrale Instanz lediglich eine logische Reihenfolge der verschiedenen Knoten festlegt und jedem Knoten nur seine Position innerhalb dieser Reihenfolge mitteilt. Jeder Knoten (sowie die zentrale Instanz) kann dann mit Hilfe einer vorher festgelegten Berechnungsvorschrift die jeweilige Antwortzeit berechnen.
-
Bei einer expliziten Zuteilung kann die zentrale Instanz jedem Knoten direkt seine knotenspezifische Antwortzeit zuordnen.
-
Als eine weitere Alternative zu einer impliziten oder expliziten Signalisierung durch die zentrale Instanz können die knotenspezifischen Antwortzeiten auch an jedem Knoten während der Inbetriebnahme des Kommunikationssystems von einer Person eingestellt werden (z.B. durch das Setzen entsprechender Werte in einem Massenspeicher). Die Zuordnung von Antwortzeiten und entsprechenden eindeutigen Kennungen bzw. Adressen der einzelnen Knoten kann dann in der zentralen Instanz hinterlegt werden.
-
Für das Zuordnen der Antwortnachricht kann die zentrale Instanz vorteilhafterweise bereits im Voraus (also vor dem Empfangen der Antwortnachrichten) aus der knotenspezifischen Antwortzeit eine knotenspezifische Empfangszeit bestimmen. Zu oder in dieser Zeit erwartet die zentrale Instanz eine Antwort des zugehörigen Knotens und ordnet entsprechend die zu oder in dieser Zeit empfangene Antwortnachricht dem Knoten zu.
-
Vorzugsweise bestimmt die zentrale Instanz für jeden befragten Knoten einen Zeitpunkt oder -raum, zu oder in dem sie eine Antwort des Knotens erwartet. Eine zu oder in dieser Zeit eintreffende Antwortnachricht ordnet die zentrale Instanz dann dem entsprechenden Knoten zu.
-
Je nach betrachteter Topologie bzw. Art des gemeinsamen Übertragungsmediums kann bei der zentralen Instanz aufgrund von unbekannten Laufzeitunterschieden eine gewisse Unschärfe bezüglich des Zeitpunkts bestehen, zu dem sie die Antwortnachricht eines bestimmten Knotens erwartet.
-
Beispielsweise im Falle eines linearen Busses bzw. eines drahtlosen Übertragungskanals kann es vorkommen, dass die zentrale Instanz den erwarteten Empfangszeitpunkt nur auf ein bestimmtes Zeitfenster eingrenzen kann, ohne im Voraus genau sagen zu können, wann genau innerhalb dieses Zeitfensters die zentrale Instanz die Antwortnachricht dieses Knotens empfangen wird.
-
Im Falle eines perfekt abgeschlossenen linearen Busses kann die zentrale Instanz für die Zuordnung der Antwortnachrichten zu den abgefragten Knoten jeweils eine Obergrenze der maximal zu erwartenden (einfachen) Signallaufzeit bestimmen oder heranziehen, die beispielsweise auf Grundlage der Buslänge und der Ausbreitungsgeschwindigkeit ermittelt wird oder wurde.
-
Für den Spezialfall einer Ringtopologie, bei der die zentrale Instanz auf der einen Seite eine Nachricht auf den Bus legen und gleichzeitig auf der anderen Seite Nachrichten vom Bus empfangen kann, besteht eine solche Unschärfe nicht, weil hier die verschiedenen Antwortnachrichten immer einfach sequentiell aneinandergereiht von der zentralen Instanz empfangen werden.
-
Vorzugsweise umfassen die Antwortnachrichten jeweils nur ein einziges (Modulations-)Symbol, wie z.B. einen Wellenzug mit einer bestimmten Frequenz, oder nur eine Sequenz einiger weniger (beispielsweise maximal 10) (Modulations-)Symbole, wie z.B. eine Sequenz einzelner Wellenzüge mit ggf. verschiedenen Frequenzen.
-
In einer bevorzugten Ausführungsform werden die Antwortnachrichten differentiell moduliert. Dies bietet den Vorteil, dass trotz der möglichen Unschärfe aufgrund von Laufzeitunterschieden eine hohe Übertragungszuverlässigkeit gewährleistet werden kann, gleichzeitig aber auf zusätzlichen Overhead zur Herstellung einer zeitlichen Synchronisation (beispielsweise in Form einer speziellen Präambel, die bei einer Antwortnachricht dem eigentlichen Informationsbit bzw. Modulationssymbol vorangestellt werden könnte) verzichtet werden kann.
-
In einer weiteren bevorzugten Ausführungsform entspricht eine Antwortnachricht einem Wellenzug konstanter Länge mit einer vorgegebenen Frequenz, die je nach zu übertragendem Zustand aus einer Menge vordefinierter Frequenzen ausgewählt wird oder wurde; dies entspricht senderseitig einer mehrstufigen Frequenzumtastung, auch als ‚Multi-Level Frequency Shift Keying‘ bezeichnet. In diesem Fall kann empfangsseitig dann eine Spektralanalyse der während des knotenspezifischen Zeitfensters empfangenen Signals durchgeführt werden (z.B. mit Hilfe einer schnellen / diskreten Fouriertransformation), so dass empfangsseitig eine Bestimmung der Sendefrequenz des Signalzuges und somit des angezeigten Zustands des Knotens möglich ist.
-
Eine differentielle Übertragung kann beispielsweise mit Hilfe einer differentiellen binären Frequenzumtastung erfolgen. Hierzu sendet der betreffende Knoten ein wellenförmiges (beispielsweise cosinus-(oder sinus-)förmiges) Signal zunächst mit einer ersten Frequenz f1 und dann mit einer zweiten, von der ersten Frequenz verschiedenen Frequenz f2 ≠ f1. Die zentrale Instanz muss dann nur noch feststellen, ob innerhalb des zugehörigen (unscharfen) Empfangsfensters ein Übergang von einer niedrigen zu einer hohen Frequenz auftritt oder umgekehrt. Sie kann somit relativ einfach vergleichsweise zuverlässig ermitteln, ob der Knoten einen Sendewunsch hat oder nicht.
-
Alternativ kann eine nichtdifferentielle Übertragung mit binärer oder mehrstufiger Frequenzumtastung erfolgen. Bei einer derartigen nichtdifferentiellen Übertragung mit Hilfe einer binären oder mehrstufigen Frequenzumtastung überträgt der jeweilige befragte Knoten zu der ihm zugeordneten knotenspezifischen Antwortzeit ein wellenförmiges (z.B. cosinus- oder sinusförmiges) Signal mit einer Frequenz fi ∊ {f1, f2, ..., fM}, die in Abhängigkeit der zu übertragenden Informationen bzw. des zu übertragenden Zustandes gewählt wird und wobei M dem Modulationsgrad entspricht, d.h. der Anzahl der mit Hilfe eines (Modulations-)symbols unterscheidbaren Zustände. Im speziellen Fall einer binären Frequenzumtastung, d.h. für M=2, könnte der jeweils befragte Knoten zu der ihm zugeordneten knotenspezifischen Antwortzeit beispielsweise ein sinusförmiges Signal mit einer ersten Frequenz f1 oder mit einer zweiten, von der ersten Frequenz verschiedenen Frequenz f2 übertragen, je nachdem, ob er einen Sendewunsch hat oder nicht. Die Detektion dieses Signals bei der zentralen Instanz kann dann beispielsweise mit Hilfe eines Korrelationsempfängers realisiert werden, oder – wie zuvor bereit beschrieben – mit Hilfe einer Spektralanalyse (z.B. unter Einsatz einer schnellen / diskreten Fouriertransformation) des während dem jeweiligen Knoten zugeordneten Zeitfensters empfangenen Empfangssignals. Darüber hinaus gibt es noch eine Vielzahl weiterer Möglichkeiten, wie eine solche Antwortnachricht übertragen werden kann. Im Prinzip ist der Einsatz aller gängigen Modulationsverfahren dafür denkbar. Insbesondere können anstelle eines einzelnen Modulationssymbols (das wie oben geschildert beispielsweise mit Hilfe einer binären oder mehrstufigen Frequenzumtastung moduliert sein kann) auch Sequenzen solcher Modulationssymbole übertragen werden, also beispielsweise Sequenzen einzelner cosinus- oder sinusförmiger Signalzüge mit unterschiedlichen oder gleichen Frequenzen – je nachdem, welche Daten übertragen werden sollen.
-
In einer vorteilhaften Ausführungsform wird durch die Abfragenachricht bei dem mindestens einen Knoten, an die sie gerichtet ist, jeweils nach einem Sendewunsch gefragt. Es wird also gefragt, ob der/die befragte/n Knoten eine oder mehrere Nachrichten zu übermitteln haben. Vorzugsweise geben die Antwortnachrichten dabei lediglich an, ob der entsprechende Knoten einen Sendewunsch hat oder nicht. Diese Information kann mit Hilfe eines einzigen Bits dargestellt werden. Vorteilhaft ist eine Ausführungsform, bei der die Abfrage nur Sendewünsche für zeitkritisch zu versendende Nachrichten betrifft, d.h. Nachrichten, die innerhalb einer gewissen Zeit übertragen werden müssen.
-
In einer weiteren vorteilhaften Ausführungsform kann ein befragter Knoten die Priorität der höchstprioren Nachricht übermitteln, die der Knoten gerne übertragen möchte. Hierzu können beispielsweise drei Prioritätsstufen (niedrig, mittel, hoch) definiert werden, wobei jede zu übertragende Nachricht genau eine solche Prioritätsstufe besitzt. Die Zuordnung von Prioritätsstufen zu Nachrichten kann dabei beispielsweise durch die jeweilige Anwendung oder gemäß genau festgelegten Kriterien erfolgen (z.B. in Abhängigkeit von der bisherigen Wartezeit oder in Abhängigkeit von einer entsprechenden Prioritätsstufe / QoS-Klasse höherer Protokollschichten, wie z.B. IP). Zudem kann ein Knoten in seiner Antwort anzeigen, dass er momentan keinen Sendewunsch besitzt. In diesem Fall gibt es folglich vier verschiedene Antwortmöglichkeiten, was informationstheoretisch zwei Bits entspricht. Vorteilhafterweise erfolgt die Übertragung der Antwort dabei dann wie zuvor beschrieben mit Hilfe einer mehrstufigen Frequenzumtastung, d.h. der Knoten sendet einen Signalzug fester Länge mit einer Frequenz fi ∊ {f1, f2, f3, f4}, wobei die Wahl der Frequenz abhängig ist von dem zu übertragenden Zustand (z.B. Sendewunsch niedriger Priorität, Sendewunsch mittlerer Priorität, Sendewunsch hoher Priorität, kein Sendewunsch).
-
Anhand der Antwortnachrichten kann die zentrale Instanz einen oder mehrere befragte Knoten ermitteln, die einen Sendewunsch angemeldet haben, und ihm (bzw. ihnen nacheinander) exklusiven Zugriff auf das gemeinsame Übertragungsmedium gewähren, das der entsprechende Knoten dann für ein Versenden seiner Nachricht(en) an einen anderen Knoten oder an die zentrale Instanz nutzen kann. Vorzugsweise informiert die zentrale Instanz jeden ermittelten Knoten zuvor durch eine spezielle Mitteilung über dieses Gewähren. Die ermittelten Knoten können von der zentralen Instanz vorzugsweise über eine Kennung, wie beispielsweise eine MAC-Adresse, angesprochen werden.
-
Vorzugsweise ist eine exklusive Zugriffsmöglichkeit für einen ermittelten Knoten mit Sendewunsch befristet und endet mit dem Übertragen der mindestens einen Nachricht oder nach einer festgelegten Zeitspanne. Danach kann die zentrale Instanz beispielsweise einem anderen ermittelten Knoten exklusiven Zugriff auf das gemeinsame Übertragungsmedium gewähren, oder sie kann eine neue Abfragenachricht versenden oder auf ein anderes Medienzugriffsverfahren, wie beispielsweise CSMA, umstellen. Solch ein Umstellen gibt sie vorzugsweise durch das Versenden einer Mitteilung an die mindestens zwei befragten Knoten bekannt.
-
Eine Ausführungsform der Erfindung umfasst eine Kombination einiger oder aller oben genannter Schritte mit einem alternativen Medienzugriffsverfahren, wie z.B. Carrier Sense Multiple Access (CSMA) oder einem zyklischen Pollingverfahren. Die zentrale Instanz kann beispielsweise in regelmäßigen Abständen ermitteln, ob ein oder mehrere Knoten zeitkritische Nachrichten zu versenden haben, z.B. solche, deren rechtzeitige Übertragung mit Hilfe des Basiszugriffsverfahrens unter Umständen nicht gewährleistet werden kann. Zeigt ein Knoten einen Sendewunsch für eine oder mehrere solcher zeitkritischen Nachrichten an, kann die zentrale Instanz ihm hierfür exklusiven Zugriff auf das gemeinsame Kommunikationsmedium gewähren. Für zeitunkritische Nachrichten kann weiterhin das Basismedienzugriffsverfahren (also z.B. CSMA) verwendet werden.
-
Diese Ausführungsform des Verfahrens eignet sich insbesondere dazu, gegebene (harte) Anforderungen an die Dienstgüte (Quality of Service) verschiedener Paketübertragungen besser erfüllen zu können. Insbesondere können Sendewünsche mit harten zeitlichen Anforderungen für einzelne Pakete erkannt und bevorzugt behandelt werden.
-
Bevorzugterweise umfassen die Antwortnachrichten der abgefragten Knoten jeweils nur ein Bit. Alternativ können sie aus mehreren Bits bestehen, wobei jeder eindeutigen Kombination von Bits vorzugsweise jeweils eine Dienstgüteklasse zugeordnet ist. Vorteilhafterweise können die Knoten dann anzeigen, welche Dienstgüteklasse ein höchstpriores zur Übertragung anstehendes Paket hat.
-
In einer bevorzugten Ausführungsform umfasst das Verfahren einen Schritt des Feststellens, durch die zentrale Instanz, dass eine zuvor festgelegte Anzahl von Knoten im Kommunikationssystem erreicht oder überschritten ist. Dies erlaubt ein Sicherstellen, dass die weiteren Schritte, wie das Versenden einer Abfragenachricht und die Zuordnung der Antwortnachrichten, im gegebenen Fall geeignet sind.
-
Entsprechend kann die als zentrale Instanz einzusetzende Recheneinheit eingerichtet sein, die Anzahl der im Kommunikationssystem vorhandenen Knoten zu prüfen, im Falle einer unterhalb einer vorgegebenen Schranke liegenden Anzahl ein Basiszugriffsverfahren (wie z.B. ALOHA, CSMA oder CSMA/CD) zu wählen und andernfalls einige oder alle der hier beschriebenen Verfahrensschritte auszuführen.
-
Die zentrale Instanz kann damit die Verwendung eines der beschriebenen Verfahren autonom und dynamisch an die jeweilige Situation anzupassen.
-
Die Initiierung der hier beschriebenen Verfahren erfolgt vorzugsweise durch die zentrale Instanz. Dies erlaubt eine einfache Konfiguration und Steuerung.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
-
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung ist anhand von Ausführungsbeispielen in den Zeichnungen schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt beispielhaft ein Kommunikationssystem, bei dem die vorliegende Erfindung eingesetzt werden kann.
-
2 zeigt exemplarisch eine typische Anordnung von Komponenten in einem Kommunikationssystem mit einer linearen Busstruktur.
-
3 zeigt beispielhaft einen grundlegenden Nachrichtenaustausch gemäß einer Ausführungsform der vorliegenden Erfindung.
-
4 zeigt ein Zeitfenster, das eine zentrale Instanz für eine Zuordnung einer Antwortnachricht zu einem Knoten in Betracht ziehen kann.
-
5 zeigt eine Nachrichtenversendung bei einer Ringstruktur des gemeinsamen Kommunikationsmediums, die für ein erfindungsgemäßes Verfahren geeignet ist.
-
6 zeigt schematisch ein Kommunikationsverfahren gemäß einer Ausführungsform der vorliegenden Erfindung.
-
7a und 7b illustrieren eine Informationsübertragung mit differentieller binärer Frequenzumtastung, wie sie für die erfindungsgemäße Kommunikation eingesetzt werden kann.
-
Das in 1 gezeigte Kommunikationssystem 1 weist eine Steuerungsinstanz 10, mehrere Knoten K1, K2, K3, K4, K5, K6 und ein gemeinsames Kommunikationsmedium 11 auf, über das die Knoten und die Steuerungsinstanz miteinander kommunizieren können.
-
Das gemeinsame Übertragungsmedium kann beispielsweise ein linearer Bus sein, an dem alle Knoten sowie die zentrale Instanz angeschlossen sind. Dies ist exemplarisch in 2 skizziert; an den Punkten 11a und 11b endet der Bus 11, beispielsweise mit entsprechenden Busabschlüssen. Die Busabschlüsse sind in der Regel Impedanzen, die gleich dem Wellenwiderstand der Leitung sind, um Reflexionen zu vermeiden. Darüber hinaus sind aber auch eine Vielzahl weiterer Ausprägungen des gemeinsam genutzten Übertragungsmediums denkbar, wie z.B. ein drahtloser Übertragungskanal, ein ringförmiger Bus, etc. Die einzige Voraussetzung ist die, dass die verschiedenen Knoten prinzipiell alle die gleichen Ressourcen für eine Datenübertragung nutzen können, also z.B. die gleichen Frequenzen auf einer elektrischen Leitung, die gleichen Wellenlängen bei einem Lichtwellenleiter usw.
-
In 3 ist ein Sequenzdiagramm entsprechend einer Ausführungsform der Erfindung beispielhaft in ihrer zeitlichen Abfolge (dargestellt von oben nach unten) gezeigt. Das hier betrachtete System umfasst zusätzlich zu der zentralen Instanz 10 insgesamt die N Knoten K1, K2, K3, ... KN, wobei N eine natürliche Zahl repräsentiert.
-
Das Diagramm zeigt eine Phase 20, in der eine schnelle Statusabfrage durch die zentrale Instanz erfolgt, und eine Phase 21, in der exklusive Zugriffe auf das gemeinsame Kommunikationsmedium gewährt werden.
-
Der Phase 20 kann eine nicht dargestellte Phase vorangestellt sein, in der das Kommunikationssystem ein Basiszugriffsverfahren, wie beispielsweise CSMA verwendet. Alternativ oder zusätzlich kann die zentrale Instanz nach der Phase 21 eine (nicht gezeigte) Nachricht an alle Knoten K1 bis KN senden, mit der ein Übergang zu einem Basismedienzugriffsverfahren angekündigt wird, das daraufhin verwendet werden kann.
-
In der Phase 20 initiiert die zentrale Instanz 10 des Systems zunächst eine schnelle Abfrage der Sendewünsche der einzelnen Knoten durch das Versenden einer Abfragenachricht 22, die von allen Knoten K1, K2, K3, ... KN empfangen wird. Für n = 1, ... , N sendet jeder Knoten Kn, nachdem ab dem vollständigen Empfang der Abfragenachricht 22 seine knotenspezifische Antwortzeit Tn abgelaufen ist, eine entsprechende Antwortnachricht An. In der Nachricht An teilt der Knoten Kn der zentralen Instanz jeweils mit, ob er einen Sendewunsch hat oder nicht; wie oben erwähnt wurde, werden dabei in einer Ausführungsform der Erfindung nur solche Sendewünsche mitgeteilt, die eine zeitkritische Nachricht betreffen. Alternativ oder zusätzlich kann der Knoten Kn in der Nachricht An die Priorität der höchstprioren zu übertragenden Nachricht übermitteln (z.B. mit der Unterscheidung in {niedrig, mittel, hoch} und/oder anzeigen, dass er keinen Sendewunsch hat.
-
Nach der Auswertung der Antworten der einzelnen Knoten gewährt die zentrale Instanz 10 dann denjenigen Knoten, die einen Sendewunsch angemeldet haben, explizit exklusiven Zugriff auf das gemeinsame Kommunikationsmedium, so dass diese Knoten ihre jeweiligen Nachrichten übertragen können. Hierzu sendet die zentrale Instanz eine spezielle Nachricht an den jeweiligen Knoten, der daraufhin selbst eine Nachricht übertragen darf. Wie oben erwähnt, kann die zentrale Instanz dabei die jeweilige Priorität berücksichtigen
-
Im in 3 dargestellten Beispiel wird davon ausgegangen, dass die Knoten K1 und K3 jeweils einen Sendewunsch mitteilen. In der Nachricht Z1 teilt die zentrale Instanz dem Knoten K1 mit, dass ihm exklusiver Zugriff auf das gemeinsame Kommunikationsmedium gewährt wird. Der Knoten K1 versendet daraufhin die Daten D1, die im dargestellten Beispiel an die zentrale Instanz 10 gerichtet sind. Die zentrale Instanz teilt daraufhin analog dem Knoten N3 in der Nachricht Z3 mit, dass nun ihm exklusiver Zugriff auf das gemeinsame Kommunikationsmedium gewährt wird, das der Knoten K3 anschließend dann für die Versendung seiner Daten D3 nutzt, die im dargestellten Beispiel ebenfalls an die zentrale Instanz gesendet werden.
-
Im allgemeinen Fall kann ein Knoten, der durch eine entsprechende Nachricht exklusiven Zugriff auf das gemeinsame Kommunikationsmedium erhalten hat, seine Nachricht wahlweise an die zentrale Instanz übertragen (wie in 3 dargestellt) oder an einen beliebigen anderen Knoten im System. Nach der Übertragung liegt die Kontrolle über das gemeinsame Kommunikationsmedium zunächst einmal wieder bei der zentralen Instanz, die somit beispielsweise dem nächsten Knoten einen exklusiven Zugriff darauf gewähren oder eine neue Abfrage der Sendewünsche initiieren kann.
-
In 4 ist ein Zeitfenster ∆2 und seine Berechnung beispielhaft für den Knoten K2 mit der knotenspezifischen Antwortzeit T2 dargestellt. In diesem Zeitfenster bei der zentralen Instanz 10 eingehende Antwortnachrichten werden entsprechend Knoten K2 zugeordnet. Die zentrale Instanz weiß dabei zunächst nur, dass innerhalb dieses Fensters die Antwortnachricht des Knotens K2 empfangen wird, aber kennt nicht den genauen Zeitpunkt (Unschärfe in der Größenordnung von 2·Tprop + Tvar).
-
Die Zeitspanne ∆1 wird für die Versendung der Abfragenachricht durch die zentrale Instanz an den Knoten K2 benötigt. Wie oben erläutert, wartet der Knoten K2 dann die knotenspezifische Antwortzeit T2 ab, ehe er eine Antwortnachricht an die zentrale Instanz 10 sendet. Der frühestmögliche Zeitpunkt, zu dem die zentrale Instanz die Antwortnachricht vom Knoten K2 empfangen kann, ist also nach Ablauf der spezifischen Antwortzeit T2 dieses Knotens, gemessen ab dem Beginn des Empfangs der Abfragenachricht oder ab deren erfolgter vollständiger Übertragung. Der späteste mögliche Zeitpunkt, zu dem die zentrale Instanz die Antwortnachricht zu empfangen beginnen kann, ist T2 + 2·Tprop + Tvar nach der Versendung der Abfragenachricht, wobei Tvar eine Zeitintervall ist, durch das ein oder mehrere praktische Effekte berücksichtigt werden können, die zu zeitlichen Abweichungen führen können, wie z.B. Oszillatorungenauigkeiten und/oder Drifts. Tvar kann dabei ein fester Wert sein (z.B. gemäß einer Spezifikation) oder kann dynamisch von der zentralen Instanz festgelegt und den einzelnen Knoten mitgeteilt werden. Tprop ist die maximal zu erwartende (einfache) Signallaufzeit ist; im Falle eines drahtgebundenen linearen Busses ergibt sie sich aus der Ausbreitungsgeschwindigkeit auf dem Medium und der Länge des Busses. Der Endzeitpunkt des Empfangsfensters ist dementsprechend (wieder gemessen ab der erfolgten vollständigen Versendung der Abfragenachricht) T2 + Treply + 2·Tprop + Tvar, mit Treply als der Zeitdauer, die für die eigentliche Übertragung der Antwortnachricht benötigt wird.
-
In 5 ist exemplarisch der Spezialfall dargestellt, dass die Knoten K1 bis K6 und die zentrale Instanz 10 in einer Ringtopologie angeordnet sind. Die zentrale Instanz kann dabei auf der einen Seite eine Nachricht (z.B. die Abfragenachricht 22) auf den Bus legen und gleichzeitig auf der anderen Seite Nachrichten vom Bus empfangen. Die Antwortnachrichten A1 bis A6 der verschiedenen Knoten können dabei nacheinander im Ringdurchlauf jeweils an die Abfragenachricht angehängt werden.
-
In diesem Fall kann die Zuordnung der Antwortnachrichten zu den Knoten auch ohne die Bestimmung eines Zeitfensters, wie es in 3 gezeigt ist, erfolgen.
-
6 zeigt schematisch ein Kommunikationsverfahren gemäß einer Ausführungsform der vorliegenden Erfindung in seinem zeitlichen Ablauf. Das Verfahren umfasst eine Phase 60, in der das Kommunikationssystem mit der zentralen Instanz 10 und den Knoten K1, K2, K3, ... KN ein herkömmliches Medienzugriffsverfahren verwendet. In einer anschließenden Phase 61 erfolgt eine schnelle Parameter- oder Zustandsabfrage und -erfassung durch die zentrale Instanz 10. Dazu sendet diese eine Abfragenachricht 64 an alle Knoten, in der sie einen oder mehrere Parameter oder einen Zustand, wie beispielsweise eine Information über die Energieversorgung oder einen Sendewunsch (beispielsweise einen Sendewunsch, dessen Priorität einen bestimmten Wert erreicht oder übersteigt) abfragt.
-
Wie im Fall der Abfrage eines Sendewunsches sendet (für n = 1, ... , N) jeder Knoten Kn, nachdem ab dem vollständigen Empfang der Abfragenachricht 64 seine knotenspezifische Antwortzeit Tn abgelaufen ist, eine entsprechende Antwortnachricht Bn, die die abgefragte Information enthält.
-
Daraufhin verwendet das System in der Phase 62 wieder ein Basismedienzugriffsverfahren.
-
Die 7a und 7b zeigen Möglichkeiten einer Bitübertragung mittels differentieller binärer Frequenzumtastung. In 7a wird dabei das Bit ‚0‘ durch Übergang eines Spannungsverlaufs mit einer ersten Frequenz f1 zu einer zweiten Frequenz f2. In 7b wird umgekehrt durch Übergang von der zweiten Frequenz f2 zur ersten Frequenz f1 das Bit ‚1‘ dargestellt. Im dargestellten Fall ist die Frequenz f1 höher als die Frequenz f2, sie kann aber analog auch niedriger sein.