DE3539510C2 - - Google Patents
Info
- Publication number
- DE3539510C2 DE3539510C2 DE3539510A DE3539510A DE3539510C2 DE 3539510 C2 DE3539510 C2 DE 3539510C2 DE 3539510 A DE3539510 A DE 3539510A DE 3539510 A DE3539510 A DE 3539510A DE 3539510 C2 DE3539510 C2 DE 3539510C2
- Authority
- DE
- Germany
- Prior art keywords
- coupler
- collision
- indices
- channel
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 claims description 83
- 238000000034 method Methods 0.000 claims description 53
- 230000008569 process Effects 0.000 claims description 10
- 230000007704 transition Effects 0.000 claims description 7
- 230000000630 rising effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims 4
- 238000003066 decision tree Methods 0.000 claims 3
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 238000011835 investigation Methods 0.000 claims 1
- 230000000737 periodic effect Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000000295 complement effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000000969 carrier Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
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]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Description
Die Erfindung betrifft ein Verfahren zur Übertragung von digitalen Nachrichten
zwischen verschiedenen Stationen vom Typ CSMA-CD nach dem Oberbegriff des
Anspruchs 1.
In einem lokalen Verteilernetz ist der Träger der Informationsübertragung zwischen
den Geräten von einer Art, die jedem Gerät erlaubt, die übertragenen Nachrichten
zu erkennen. Das zur Erzeugung der Elementarsignale der Nachrichten verwendete
physikalische Mittel ist beliebig. Die Nachricht kann beispielsweise elektromagnetischer
Natur oder optischer Natur sein.
Die Träger einer Übertragungskommunikation können Ihrerseits passiv, semipassiv
oder aktiv sein. Sie werden passiv genannt, wenn sie keine die Nachrichtensignale
wieder herstellende oder verstärkende Elemente enthalten. Derartige Elemente
erfordern natürlich die Verwendung einer externen Energiequelle.) Die Träger
werden als semiaktiv bezeichnet, wenn sie derartige Regenerier- oder Verstärkungselemente
enthalten. Schließlich enthalten die aktiven Träger Elemente,
welche Nachrichtensignale ganz oder teilweise modifizieren. Die vorliegende
Erfindung ist auf alle diese verschiedenen Kategorien von Verteilungsträgern
anwendbar, wobei festzustellen ist, daß die zuletzt erwähnten aktiven Träger in
gewissen Fällen Besonderheiten bei der Anwendung aufweisen können.
Die automatisierten Geräte, die durch das Netzwerk verbunden werden sollen,
können beliebig sein. Es handelt sich beispielsweise um Sensoren/Stellglieder,
programmierbare Automaten, Steuer- oder Regeleinrichtungen, Datenendgeräte,
Rechner, Telefoneinrichtungen, Videostationen.
Diese Geräte werden über Zugangsstationen angeschlossen, die die Verwaltung der
Kommunikation auf dem oder den gemeinsam verwendeten Träger(n) sicherstellen.
Jede Station arbeitet in autonomer Weise und asynchron bezüglich der anderen
Stationen. Jede Station wird physikalisch an den Übertragungsträger angeschlossen,
den sie mit den anderen Stationen teilt und zwar mit Hilfe einer Gesamtheit von
Einrichtungen und Programmunterstützung (Hardware und Software), die als
Koppler bezeichnet wird.
Die Funktion eines Kopplers besteht also darin, die Erzeugung und den Empfang
von physikalischen Signalen auf dem Kommunikationsträger sowie die Übertragung
und den Empfang von strukturierten Informationen in Form von Nachrichten
sicherzustellen, und ferner ein Zugangsprotokoll auszuführen, das die gemeinsame
Benutzung dieses Trägers verwaltet.
Die vorliegende Erfindung betrifft im besonderen die Arbeitsweise dieser Koppler.
Es gibt ebensoviele Koppler wie Stationen, die an das lokale Netz angeschlossen
sind. Sie sind im Prinzip alle identisch. Das einzige gemeinsame Betriebsmittel, das
von den Stationen gemeinsam benutzt wird, ist somit der Träger der physikalischen
Kommunikation. Die Koppler arbeiten asynchron und können nicht sofort erkennen,
was die anderen Koppler in jedem Zeitpunkt tun. Ein derartiges System enthält die
Wahrscheinlichkeit eines gleichzeitigen Übertragungsversuchs von verschiedenen
Nachrichten, die von verschiedenen Kopplern ausgesandt werden. Ein derartiger
gleichzeitiger Übertragungsversuch erzeugt eine sogenannte Kollision.
Auf dem Gebiet der Informationsnetze ist ein als CSMA (Carrier Sense Multiple
Access) bezeichnetes Verfahren durch die EP 00 88 906 B1 bekannt, d. h. Mehrfachzugriff
mit Abfühlung des Trägers. Nach diesem Verfahren muß ein Koppler, der eine
Nachricht aussenden will, vorher den Kommunikationsträger abfühlen. Nur wenn
keine Transmission im Gange ist, hat der Koppler das Recht zu senden.
Da jedoch die Ausbreitungsverzögerungen der Signale auf dem Kommunikationsträger
nicht Null sind, können mehrere Stationen zum gleichen Zeitpunkt
feststellen, daß keine Transmission vorhanden ist und ihre eigenen Nachrichten
aussenden. Damit tritt also ein Kollisionsfall auf.
Im französischen Patent Nr. 23 06 478 der XEROX CORPORATION wird ein
Protokoll vorgeschlagen, das es erlaubt, derartige Kollisionen festzustellen und
nach der Feststellung der Kollision die erneuten Übertragungen, die zunächst bei
einem anfänglichen Übertragungsversuch aufgrund der Kollision erfolglos blieben,
zu steuern.
In seiner gegenwärtigen Entwicklungsstufe ist dieses Protokoll unter dem Namen
CSMA-CD/BEB bekannt (Collision Detection and Binary Exponential Backoff). Hier
ist insbesondere auf das Dokument hinzuweisen: The Ethernet Local Network:
Three Reports, veröffentlicht von Xerox, Palo Alto Research Center, Vereinigte
Staaten, Februar 1980.
Der Nachteil dieses bekannten Protokolls besteht darin, daß es auf Wahrscheinlichkeitsüberlegungen
beruht. Es kann tatsächlich nicht mit Sicherheit garantieren,
daß eine von einer bestimmten Station an den Kommunikationsträger übergebene
Nachricht mit Erfolg an den Kommunikationsträger in einer endlichen Zeit
übertragen werden kann, die im voraus bestimmbar wäre. Wenn eine dringende
Nachricht, d. h. eine solche, die Vorrang vor anderen Nachrichten hat, übertragen
werden soll, wird diese denselben Regeln unterworfen wie eine nicht dringende
Nachricht ohne Priorität und kann aus diesem Grund unter Umständen nicht innerhalb
der gewünschten Zeitspannen übertragen werden.
Eine Vielzahl von automatischen und informationsverarbeitenden Systemen, die in
Echtzeit arbeiten, verlangen nun aber, daß alle oder ein Teil der von den Geräten
erzeugten Nachrichten innerhalb bestimmter Zeitspannen übertragen werden
müssen, die nach oben begrenzt sind, wobei die obere Grenze im voraus bekannt
ist.
In einem ganz anderen Zusammenhang, bei dem die Übertragung in Zeitabschnitten
erfolgt, die auf gleiche Weise für alle Geräte vorbestimmt sind, wurde dieses
Problem von J. I. Capetanakis studiert und in dem Artikel "Generalized TDMA: The
Multi-accessing Tree Protokoll", IEEE Transactions on Communications, Vol. 1,
Com. 27, No. 10, Oktober 1979 beschrieben. Capetanakis schlägt einen Algorithmus
zur Auflösung von Kollisionen für Übertragungsträger vom Typ der Satellitenprogramme
vor. Abgesehen von der Tatsache, daß dieser Algorithmus auf
Kommunikationsträger für große Entfernungen angewandt ist, da ein geostationärer
Satellit 36 000 km über der Erde steht, berücksichtigt der Algorithmus die
folgenden Überlegungen:
- - Der Satellitenkanal ist synchron, alle Koppler enthalten jeweils einen physikalischen Taktgeber, der genau mit allen anderen Taktgebern synchron läuft, und die Nachrichten werden nur in Zeitscheiben übertragen, die genau bestimmt und alle gleich sind (das ist das Prinzip des Systems TDMA, für Time Division Multiple Access).
- - Zwischen den Kopplern oder den Nachrichten besteht keine absolute oder relative Priorität.
- - Jede Nachricht paßt genau in eine Zeitscheibe.
Es leuchtet unmittelbar ein, daß die von Capetanakis gemachten Vorschläge nicht
auf Protokolle der Art CSMA-CD übertragen werden können, deren Arbeitsweise
grundlegend verschieden ist von der bei TDMA-Übertragungen. Außerdem zeigt
Capetanakis nicht, nach welchen Regeln ein Koppler weiß, ob er erneut das Recht
hat, zu übertragen, sei er nun in einer Kollision begriffen oder nicht. Schließlich
behandelt der von Capetanakis vorgeschlagene Algorithmus nicht den Fall von
Fehlern oder Ausfällen.
Es bleibt also dabei, daß in den bekannten Netzen vom Typ CSMA-CD eine
Kollision nach Wahrscheinlichkeitsgesichtspunkten aufgelöst wird, wie es im
Vorstehenden gezeigt wurde. Für den Fall der Kollision zwischen dringenden
Nachrichten besteht überhaupt keine Möglichkeit, die Übertragung dieser innerhalb
einer vorher bestimmten Zeit zu garantieren.
Unter diesen Bedingungen ist es die Aufgabe der vorliegenden Erfindung, die gerade
aufgezeigten Probleme zu lösen. Die Lösung wird durch die Merkmale des
Anspruchs 1 verwirklicht.
Im einzelnen weist die Erfindung in Form eines neues Verfahrens und einer neuen
Einrichtung die folgenden Vorteile auf:
- - Das Verfahren arbeitet mit Optionen, wobei jede Option entweder bei der Herstellung der Koppler oder bei ihrer Installation nach der Herstellung ausgewählt werden kann.
- - Wenn die Operation bei der Installation ausgewählt werden, ist die Änderung der Option während des Betriebs des Netzes oder des Kommunikationssystems möglich, ohne daß es notwendig wäre, seinen Betrieb vollständig zu unterbrechen.
- - Eine erste Option, die einer "allgemeinen" Betriebsweise entspricht, erlaubt es, Koppler zu verwalten, die einen gemischten periodischen und aperiodischen Verkehr erzeugen.
- - Eine andere Option, die einer "periodischen" Betriebsweise entspricht, erlaubt es, speziell Koppler zu verwalten, die einen periodischen Verkehr erzeugen.
- - Das Verfahren setzt keinerlei obere besondere Grenze für die Größe der Nachrichten.
- - Alle Nachrichten, die zur Übertragung an den physikalischen Träger übergeben sind, werden in einer endlichen Zeitspanne übertragen, deren obere Grenze für eine maximale gegebene Größe der Nachrichten bekannt ist, unabhängig davon, ob eine Kollision auftritt oder nicht. Wenn eine Kollision erfolgt, wird das zur vollständigen Auflösung dieser Kollision erforderliche Zeitintervall als Epoche bezeichnet.
- - Wenn die Nachrichten oder die Namen der Koppler in mehrere unterschiedliche Prioritätsklassen eingeteilt sind, bestimmt sich die Reihenfolge der Übertragung von Nachrichten, bei denen eine Kollision aufgetreten ist, in einer Epoche in der Reihenfolge der Prioritäten.
- - Innerhalb einer Epoche kann jeder Koppler eine beliebige, aber feste Anzahl von Nachrichten aussenden. Diese Anzahl kann bei der Installation des Kopplers bestimmt oder während des Betriebs des Kommunikationssystems geändert werden.
- - Der vollständige Ausfall des Kopplers, das Auftreten eines Übertragungsfehlers oder ein Ausbau des Kopplers führt nicht zu einem totalen Ausfall des Systems. Es ist möglich, einen neuen Koppler einzubauen oder einen auszubauen, ohne den Betrieb des Systems zu unterbrechen.
Das Verfahren toleriert auch fehlerhaftes Verhalten (z. B. wetterbedingte Störungen),
vorausgesetzt, daß dieses Verhalten von allen Kopplern festgestellt wird.
Allgemeiner ausgedrückt, besitzt das Verfahren die gleichen Eigenschaften bezüglich
der Verläßlichkeit wie das Verfahren CSMA-CD.
Wenn keine Kollision auftritt, entspricht das Verfahren des Zugangs zum Träger
dem Typ CSMA-CD. Das vorgeschlagene Verfahren kann in die Struktur der Geräte
integriert werden, die das Protokoll CSMA-CD/BEB realisieren.
Wie später noch deutlicher wird, schaltet das System laufend zwischen den beiden
Betriebszuständen hin und her, wenn die allgemeine Betriebsweise ausgewählt wird:
- - Zustand "Epoche in Gang": Eine Epoche wird genau als das Zeitintervall definiert, das zwischen dem Auftauchen einer Kollision liegt, wenn der Kanal im Zustand "keine Epoche" ist, und der vollständigen Auflösung dieser Kollision; im Verlauf einer Epoche können Kollisionen auftreten; der Zugangsmodus wird als "abgeschnitten" bezeichnet und wird durch das Verfahren definiert, das in dem vorliegenden Dokument beschrieben ist.
- - Zustand "keine Epoche": Alle vorherigen Kollisionen sind aufgelöst; der Zugangsmodus wird als "zufällig (aleatorisch)" bezeichnet (CSMA-CD).
Wenn die periodische Betriebsweise ausgewählt ist, bleibt das System dauernd im
Zustand "Epoche in Gang", wobei jeder Epoche eine allgemeine Kollision vorangeht,
die durch das Verfahren CSMA-CD festgestellt wurde. In dieser Betriebsweise kann
innerhalb einer Epoche keinerlei Kollision auftreten, wenn keine Fehler im Betrieb
entstehen.
Die Erfindung erlaubt es außerdem, das Spektrum der Verkehrsklassen zu
erweitern, die von Protokollen der Art CSMA-CD/BEB verwaltet werden. Im
besonderen erlaubt das Verfahren nach der Erfindung für die deterministische
Auflösung von Kollisionen, daß eine wirksame Verwaltung eines Nachrichtenverkehrs
mit periodischem Charakter ebenso sichergestellt wird wie eines Verkehrs
mit multiplen Prioritäten.
Zum besseren Verständnis der Erfindung wird auf das vorerwähnte französische
Patent Nr. 23 06 478 Bezug genommen sowie auf die Norm IEEE 802.3, in der die
allgemeinen Charakteristiken von Netzen des Typs ETHERNET beschrieben sind.
Im folgenden wird als p die Übertragungsverzögerung von Signalen von einem Ende
zum anderen des Kommunikationsträgers bezeichnet. Mit TC wird eine Dauer von
mehr als zweimal p bezeichnet und als Kanalzeitscheibe definiert (channel slot
time in der vorerwähnten Norm IEEE 802.3).
Nach der Erfindung wird als "Kanalphase" das Intervall bezeichnet, das entweder
einer vollständigen und erfolgreichen Übertragung einer Nachricht mit einer
beliebigen Dauer von mindestens gleich TC entspricht, oder in der eine Kollision
aufgetreten ist (mit den entsprechenden Störungen), oder aber ein ruhiger Zustand
ohne Sendung und ohne Kollision existierte.
Ein Verfahren und eine Einrichtung mit diesen Eigenschaften sind in den
Ansprüchen 1 bzw. 13 beschrieben; Ausgestaltungen der Erfindung sind in den
Unteransprüchen gekennzeichnet.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden
detaillierten Beschreibung und den beigefügten Zeichnungen. Es zeigt
Fig. 1 den allgemeinen Aufbau eins Kommunikationsnetzes;
Fig. 2 den prinzipiellen Aufbau eines Kopplers;
Fig. 3 in etwas genauerer Weise den Aufbau eines Schaltkreises des Kopplers
aus Fig. 2;
Fig. 4 weitere Einzelheiten des Schaltkreises aus Fig. 3;
Fig. 4A und 4B Zeitdiagramme für den Schaltkreis der Fig. 3 und 4;
Fig. 5 den Aufbau einer anderen Ausführungsform der Schaltung aus Fig. 2;
Fig. 6 ein Diagramm zur Erläuterung der Funktion des "Epochenzählers";
Fig. 7A bis 7C Darstellungen der drei Ausführungsformen des Epochenzählers;
Fig. 8 ein Diagramm zur Erläuterung der Funktion einer Einrichtung nach der
Erfindung;
Fig. 9A und 9B den Aufbau der beiden Ausführungsformen des zweiten Zählers;
Fig. 10 eine Variante des Diagramms in Fig. 6;
Fig. 11 eine Variante des Teils R des Diagramms in Fig. 8, der von einem
gestrichelten Rahmen umgeben ist.
Die beigefügten Zeichnungen enthalten zahlreiche Elemente, die nur durch
Zeichnungen vermittelt werden können. Sie stellen deshalb einen integralen Teil der
Beschreibung dar, um die Erfindung zu erläutern und zu definieren.
Ebenfalls in die vorliegende Beschreibung eingeschlossen sind die bekannten
Elemente, die sich auf die Netze CSMA-CD und/oder Ethernet beziehen,
insbesondere das schon erwähnte Patent, die Artikel und die Norm.
Fig. 1 zeigt eine Vielzahl von Stationen S₁, . . . S i , . . . S n . Jede davon ist mit
einer oder mehreren automatisierten Einrichtungen verbunden, beispielsweise Sensoren/Stellelemente,
programmierbare Automaten, Steuer- oder Regeleinrichtungen,
Datenverarbeitungsendgeräte, Rechner, Telefoneinrichtungen oder auch Videoendgeräte.
Jede Station S i ist physikalisch mit einem Träger oder einem Übertragungskanal SC
verbunden, und zwar über eine Vorrichtung (Hardware) oder eine Kombination aus
einer Vorrichtung und dazugehörigen Programmen (Software), die als Koppler
bezeichnet und mit C i abgekürzt werden. Die Station S i enthält außerdem eine
Steuereinheit UC i , die mit dem Koppler C i über einen internen Bus (Sammelleitung)
BI i verbunden ist. In bestimmten Fällen kann man den Koppler auch in eine
angeschlossene Einrichtung einbauen.
Der Übertragungskanal SC ist seinerseits ein Übertragungsträger, und zwar
elektromagnetischer oder optischer Art, passiv, semipassiv oder aktiv, (d. h.,
ausgestattet mit Verstärkern und Regeneratoren). Er erhält mindestens eine
Übertragungsleitung, wobei daran zu erinnern ist, daß mehrere Leitungen in vielen
Fällen nützlich sind, um eine erhöhte Zuverlässigkeit zu erreichen, indem
redundante Träger und/oder Sende/Empfangseinrichtungen und/oder übertragene
Informationen verwendet werden.
Fig. 2 zeigt als Beispiel den Aufbau eines Kopplers C i (im folgenden wird der Index
i weggelassen). Dieser Kuppler besteht hauptsächlich aus einem als GSC bezeichneten
Schaltkreis, der den physikalischen Zugang zum Übertragungsträger SC
steuert und einen mit GER bezeichneten Schaltkreis, in dem die Verwaltung von
Senden, Empfangen und der Kollisionen enthalten ist.
Der Schaltkreis GSC kann in bekannter Weise mit Hilfe integrierter Schaltungen,
beispielsweise dem Modell 82 501 der US-Firma INTER CORPORATION, oder mit
Hilfe von diskreten Elementen, aufgebaut werden. Dieser Schaltkreis muß
mindestens drei logische Signale und deren Komplemente zur Verfügung stellen:
- - CD, mit dem angezeigt wird, daß eine Kollision festgestellt wurde, und sein Komplement ,
- - TxD, das anzeigt, daß die Übertragungsleitung des Kopplers aktiv ist und sein Komplement ,
- - RxD, das anzeigt, daß die Empfangsleitung des Kopplers aktiv ist und sein Komplement .
Der Zustand von TxD und steht ausschließlich unter der Steuerung des
betreffenden Kopplers, während derjenige von RxD und CD sowie deren Komplemte
von den anderen Kopplern abhängen.
Wenn ein einziger der Koppler sendet, geht RxD in allen Kopplern in den wahren
Zustand über, und zwar spätestens nach einer Zeitdauer gleich p (wobei p die
Ausbreitungsverzögerung der Signale von einem Ende zum anderen des Übertragungsträgers
ist, wie es weiter oben schon definiert wurde).
Wenn zwei Koppler oder mehr den Zustand feststellen und sich zu einem
Sendevorgang entschließen, geht der Zustand CD nach spätestens einer Verzögerung
von 2 p bei allen Kopplern in den wahren Zustand über.
Die Tatsache, daß eine Nachricht gerade ohne Kollision übertragen wird, ist durch
die folgende Bedingung dargestellt:
& RxD,
wobei das Symbol & die logische Verknüpfung UND darstellt.
Schließlich ist RxD immer wahr, wenn CD wahr ist, da im Fall einer Kollision
immer notwendigerweise ein Empfangsvorgang im Gang ist (der möglicherweise
inkohärent oder gestört sein kann).
Die vorstehenden Überlegungen setzen eine zeitliche Aufteilung voraus. Bei dem
Verfahren CSMA-CD erfolgt diese zeitliche Aufteilung in asynchroner Weise auf
dem Niveau jedes Kopplers entsprechend den Übergängen und den Kanalzeitscheiben
(TC). Zur Realisierung der Erfindung erfolgt diese Aufteilung entsprechend
den "Kanalphasen". Eine Kanalphase ist:
- - entweder das Zeitintervall, das einer vollständigen und erfolgreichen Übertragung einer Nachricht entspricht (Bedingung und RxD; variable Dauer),
- - oder dem Zeitintervall, das gleich einer Kanalzeitscheibe ist, während der eine Kollision auftritt sowie die entsprechenden Störungen (Bedingungen CD und RxD),
- - oder ein Zeitintervall gleich der Kanalzeitscheibe, während der der Kanal ruhig ist, ohne Sendevorgang und ohne Kollision ( und ).
Diese zeitliche Aufteilung wird auf dem Niveau des Schaltkreises GER (Fig. 2)
ausgeführt, von dem ein Ausführungsbeispiel, das sich im wesentlichen auf
Hardware stützt, in den Fig. 3 und 4 dargestellt ist, während die Fig. 5 und
folgende bevorzugte Ausführungsformen des gleichen Schaltkreises darstellen.
In den Fig. 3 und 4 erkennt man den unteren Teil des internen Busses BI, sowie
auf der rechten Seite die drei Signale CD, RxD und TxD, die zwischen dem
Schaltkreis GER und dem schon erwähnten Schaltkreis GSC ausgetauscht werden.
Liegt eine Sendeanforderung durch die Station vor sowie eine entsprechende zu
übertragende numerische Nachricht, so gibt der interne Bus BI diese Nachricht an
einen Schaltkreis 10, der als Seriell-/Parallelumsetzer bezeichnet wird. Dabei kann
es sich beispielsweise um einen integrierten Schaltkreis des Typs 2652 handeln, der
in Frankreich von der Firma Soci´t´ RTC vertrieben wird.
Die Funktion des Schaltkreises 10 besteht beim Sendevorgang darin, die Nachricht,
die ihm in Parallelform vom internen Bus BI zugeführt wird, in serielle Form
umzusetzen, wobei ihr ein Vorspann und/oder Synchronisationsbit hinzugefügt
werden. Diese Nachricht wird dann mit dem Signal TxD übertragen. Umgekehrt
setzt der Schaltkreis 10 bei einem Empfang ohne Störungen die Informationen in
Parallelform um, die ihm seriell über den Übertragungskanal von einem anderen
Koppler zugehen. Der Vorspann und die Synchronisationsbits werden dabei eliminiert.
Die Signale RxD und TxD werden somit direkt zwischen dem Schaltkreis 10
und dem Schaltkreis GSC der Fig. 2 ausgetauscht. Der Schaltkreis 10 reproduziert
in jedem Fall das Signal RxD, das jetzt in logischer Form vorliegt, damit er es an
die begleitenden Elemente abgeben kann. Der Schaltkreis 10 umfaßt noch einen
Eingang 101, der mit dem Ausgang eines logischen Gliedes 11 verbunden ist. Dieser
Eingang 101 ermöglicht die Prüfung auf Gültigkeit und die Initialisierung des
Sendevorgangs, wenn eine Sendeanforderung einer numerischen Nachricht durch die
lokale Station vorliegt.
Ein (nicht dargestellter) Taktschaltkreis liefert ein schnelles Taktsignal H an einen
Eingang eines UND-Gliedes 21. Der andere Eingang des Gliedes 21, der invertiert,
empfängt das logische Signal RxD, das vom Schaltkreis 10 geliefert wird. Der
Ausgang dieses UND-Gliedes 21 wird an ein Zähler-Verzögerungsglied 20 gelegt,
das eine Verzögerung mit einer Dauer TC liefert, d. h., der Kanalzeitscheibe. Man
erkennt also, daß die Kanalzeitscheibe in asynchroner Weise auf dem Niveau jedes
der Koppler definiert ist, und zwar ausgehend von dem schnellen Takt H, der zu
ihm gehört.
Am Ende der Verzögerung setzt ein Ausgang 201 des Schaltkreises 20 den
Schaltkreis 22 in Gang, um die "Kanalphasen" festzustellen. Der Schaltkreis 22
empfängt als andere Eingänge die Signale CD und RxD. Er weist zwei mit +:= und
-:= bezeichnete Ausgänge auf. Es ist festgelegt, daß +:= zu einer Rechtsverschiebung
in einem Schieberegister gehört, während -:= eine Linksverschiebung
anzeigt.
Das Signal +:= wird in einem Flip-Flop 23 gespeichert. Das Ausgangssignal dieses
Flip-Flops 23, der mit +:= bezeichnet ist, sowie die beiden Ausgangssignale des
Schaltkreises 22, werden einerseits an einen Schaltkreis 24 zur Verwaltung der
Epochen E angelegt, und andererseits an einen Schaltkreis 26, der eine Teilung
durch zwei durchführt. An den Schaltkreis 26 kann auch der interne Bus BI
angeschlossen sein.
Der Ausgang des Schaltkreises 26 sowie der des Flip-Flops 23, werden einem
Schaltkreis 28 zugeführt, der einen zweiten Zähler darstellt, der zur Realisierung
der Erfindung verwendet wird.
Schließlich wird der Ausgang des Schaltkreises 24 gleichzeitig mit dem schnellen
Taktsignal H an ein UND-Glied 30 angelegt. Der Ausgang dieses Gliedes
beaufschlagt einen Flip-Flop 31, der hier mit einem Draht an den internen Bus
angeschlossen ist, und der mit seinem eigenen Ausgang das schon erwähnte
UND-Glied 11 steuert.
Im folgenden wird auf Fig. 4 Bezug genommen, in der eine besondere Ausführungsform
der Elemente aus Fig. 3 dargestellt ist.
Ein Flip-Flop 225 empfängt als Taktsignal das logische Signal RxD. An seinem
Eingang D wird ein logisches Signal "1" angelegt, hier mit +5 Volt. Sein Ausgang
Q geht somit am Ende des ersten Impulses im Signal RxD in den logischen Pegel
"1" über. Das Signal des Ausgangs Q des Flip-Flops 225, das mit RxD′ bezeichnet
ist und ein komplementäres Signal darstellt, wird an einem Steuereingang zum
Laden des Schaltkreises 20 angelegt, der hier als Schieberegister ausgeführt ist. Bei
Aktivierung dieses Eingangs empfängt das Schieberegister 20 ein logisches Signal
"0" in allen seinen Zellen, mit Ausnahme von einer, in der ein logisches Signal "1"
empfangen wird. Es wird dann durch sein Eingangssignal SL gepulst mit Hilfe des
Ausgangssignals des UND-Glieds 21, das schnelle Taktimpulse H liefert, und zwar
beschränkt auf die Zeitdauer des komplementierten RxD Signals. Die "Kanalzeitscheiben" werden somit nur dann ausgewertet, wenn kein Empfangsvorgang im
Gang ist. Der Ausgang HTC des Schaltkreises 20 wird sofort während einer
Zeitdauer erregt, die gleich einem schnellen Taktzyklus ist. Sie wird bei
Abwesenheit des Signals RxD aufs neue erregt, und zwar nach einer Anzahl von
schnellen Taktimpulsen, die der gewünschten Verzögerungszeit TC entsprechen.
Dieser Ausgang wird zuerst an den Eingang D eines anderen Flip-Flop-Speichers
228 angelegt, dessen Takteingang den schnellen Takt H empfängt. Der Ausgang Q
dieses Flip-Flops 228 erzeugt mit dem Ende des ersten schnellen Taktimpulses, der
dem Erscheinen des Signals HTC folgt, einen Rücksetzimpuls Null, der an den
Eingang R des Flip-Flops 225 angelegt wird. Dieser letztere ist dann wieder bereit,
ein neues Signal RxD zu berücksichtigen.
Der Ausgang Q des Flip-Flops 228 erzeugt ebenfalls ein Rücksetzsignal Null für
einen weiteren Flip-Flop 229, dessen Eingang D ein logisches Signal "1" empfängt
und dessen Takteingang mit dem Signal CD beaufschlagt wird. Der Ausgang des
Flip-Flops 229 liefert ein Signal zur Feststellung einer Kollision, das mit CD′
bezeichnet wird und somit eine Auffrischung nach jeder Kanalzeitscheibe empfängt,
die durch den Verzögerungsschaltkreis 20 gemessen wird.
Nun wird das Signal +:= von einem logischen UND-Glied 221 geliefert, das
einerseits das Signal HTC empfängt und andererseits das Signal CD′. Das Signal -:=
wird durch ein logisches UND-Glied 222 geliefert. Ein Eingang dieses Gliedes wird
durch ein ODER-Glied 223 geliefert, das einerseits das Signal HTC empfängt und
andererseits das Signal RxD′. Der andere Eingang des UND-Gliedes 222, der
komplementiert ist, empfängt das Signal CD′,
Das Flip-Flop 23 empfängt das Signal +:= an seinem Eingang D. Als Taktsignal wird
ihm das schnelle Taktsignal H zugeführt. Das Flip-Flop übernimmt daher das Signal
+:= beim ersten schnellen Taktimpuls H, der folgt, wodurch ein Signal +:=′ entsteht,
das bezüglich des Signals +:= um einen Takt verzögert ist.
Die erste Funktion des eben beschriebenen Schaltkreises besteht darin, die
Feststellung der Kanalphasen durchzuführen, wobei eine Kanalphase definiert ist
als:
- - eine Kollision, die während eines Zeitintervalls erfolgt, dessen Dauer gleich der Kanalzeitscheibe ist, oder
- - eine Nachricht, die mit Erfolg abläuft, und zwar während eines variablen Zeitintervalles, mit der Dauer der Nachricht, oder
- - eine Kanalzeitscheibe, während der weder eine Kollision noch eine Nachricht auftritt.
Der linke Teil der Fig. 4A betrifft den Fall einer Kollision. Der Anstieg des
Signals RxD zeigt an, daß eine oder mehrere Nachrichten auf dem Übertragungskanal
vorhanden sind. Der Anstieg des Signals CD zeigt an, daß eine
Kollision aufgetreten ist, d. h., daß es sich um mehrere Nachrichten handelt. Die
Signale RxD′ und CD′ gehen in den logischen Zustand wahr über, und zwar bei der
abfallenden Flanke der Signale RxD und CD. Die Anstiegsflanke des Signals RxD′
setzt das Laden des Inhalts des Schieberegisters auf gültig, das anschließend das
Signal HTC am Ende des ersten Impulses erzeugt, der dem schnellen Taktsignal H
folgt. Durch das Flip-Flop 228 erzeugt der Abfall des Impulses HTC die Rückkehr
zum Zustand Null der Signale RxD′ und CD′. In der Zwischenzeit hat der Impuls
HTC ein Signal +:= am Ausgang des UND-Gliedes 221 erzeugt.
Man erkennt, daß die Verzögerungsschaltung 20 blockiert ist, sobald das Signal RxD
aktiv ist, und zwar aufgrund des UND-Gliedes 21. Der Fachmann wird auch
verstanden haben, daß auch die Flip-Flops und Register mit der ansteigenden
Flanke des angelegten Taktsignals geladen werden, während ihr Ausgangssignal erst
mit der abfallenden Flanke des Taktimpulses gültig wird, d. h., ihr Ausgangssignal
wird erst bei der abfallenden Flanke erzeugt, die der Anstiegsflanke des
Taktimpulses folgt.
Der rechte Teil der Fig. 4A betrifft den Fall einer Nachricht, die erfolgreich
abläuft. Hier erscheint während des Signals RxD kein Signal CD. RxD′ wird wie
vorher erzeugt, und HTC erscheint nach einem Taktimpuls. Die Rücksetzung zu
Null betrifft nur das Signal RxD′, da das Signal CD′ nicht in den logischen Zustand
wahr übergegangen ist, da kein Signal CD aufgetreten ist. In diesem Fall liefert das
UND-Glied 222 ein Signal -:= während des Impulses HTC.
Fig. 4B zeigt den Fall, in dem weder eine Kollision noch eine Nachricht auftritt.
In dieser Situation ist das Schieberegister 20 auf sich selbst zurückgeführt, sein
einziges Bit mit "1" erscheint periodisch an seinem Ausgang 201, um das Signal
HTC zu erzeugen. Dieses wird unmittelbar von einem Rücksitzimpuls gefolgt, der
übrigens keine Auswirkungen auf die Flip-Flops 225 und 229 hat. Da die Bedingung
CD wahr ist, liefert das UND-Glied 222 ein Signal -:=. Diese Situation wiederholt
sich dreimal in Fig. 4B und zeigt somit an, daß drei aufeinanderfolgende
Kanalzeitscheiben ohne Kollision und ohne Nachricht abgelaufen sind.
Der Schaltkreis in Fig. 4 kann in zwei verschiedenen Betriebsweisen arbeiten, die
gemeinsam in allen Kopplern ausgewählt werden müssen, die mit dem gleichen
Kommunikationsträger arbeiten.
Die Betriebsweise ist durch ein Bit (Moden-Bit) folgend definiert:
- - der Wert "0" zeigt die allgemeine Betriebsweise an, die einer Zweiersequenz (dichotomische Sequenz) entspricht,
- - der Wert "1" zeigt die periodische Betriebsweise an, die einer Sequenz entspricht, bei der die Indices einer nach dem anderen untersucht wird.
In dieser Ausführungsform enthält der Schaltkreis 24 ein Element 241, daß das
Moden-Bit empfängt. Das Element 241 ist ein Demultiplexor, der eine Vorpositionierung
der Eingänge eines Schieberegisters 241 in Abhängigkeit davon
erlaubt, ob das Moden-Bit 0 ist oder 1 (das Schieberegister hat zwei Blocks von k+1
Eingängen einerseits und n-K-2 Eingängen andererseits). Hier bezeichnet n die
Anzahl der potentiell an den Kanal anschließbaren Koppler, wobei n mit k Bits
kodiert werden kann und k die ganzzahlige Näherung bezüglich log₂n ist, wenn log₂
den Logarithmus zur Basis 2 bedeutet.
Es ist nun darauf hinzuweisen, daß die allgemeine Betriebsweise in zwei Fälle
unterteilt werden kann, wobei der eine als blockierte Eingänge (EB) bezeichnet
wird, und der andere als freie Eingänge (EL). In der Betriebsweise mit blockierten
Eingängen überträgt ein Schalter 305 das Ausgangssignal 242 direkt zu einem
komplementären Eingang des Gliedes 30. In der Betriebsweise mit freien Eingängen
wird der Ausgang Q des Flip-Flops 306 übertragen. Es ist daran zu erinnern, daß
der zweite Eingang des Gliedes 30 das Taktsignal H empfängt. Sein Ausgang
definiert den Takt des Flip-Flops 31, dessen Eingang D einen der Drähte des
internen Busses BI empfängt, der einer Sendeanforderung für eine Nachricht
entspricht. Wenn der Ausgang 242 des Registers 240 anzeigt, daß dieses Null ist,
erzeugt der Ausgang Q des Flip-Flops 31 ein Signal DT, das dazu dient, das Senden
gültig zu setzen und zu initialisieren, und zwar durch seine Wirkung auf einen der
Eingänge des UND-Gliedes 11. Dieses autorisiert das Senden nur, wenn einerseits
kein Signal vorliegt, das einen Gang befindlichen Empfang anzeigt (Signal
wahr) und andererseits, wenn das Register 280 mit dem Element 28 ein
Ausgangssignal 281 in einem vorbestimmten Zustand erzeugt, der den Wert 0
darstellt, wie es später noch im einzelnen erläutert wird. Der Zustand 1 des
Ausgangs 281 entspricht einem Koppler nach einer Zweierteilung.
Der gleiche Ausgang 281 wird am Takteingang eines Flip-Flops 306 berücksichtigt,
das dann in den wahren Zustand übergeht, so daß sein Ausgang Q das schon
erwähnte UND-Glied 30 beaufschlagen kann, wenn die Bedingung "freie Eingänge"
oben vorliegt und der Schalter 305 in der entsprechenden Stellung ist.
Schließlich gelangt derselbe Ausgang 281 zum komplementierten Eingang eines
UND-Gliedes 261, dessen anderer Eingang das Signal +:= vom UND-Glie 221
empfängt, sowie das Signal DT, das vom Ausgang Q des Flip-Flops 31 geliefert
wird.
Der Ausgang des UND-Glieds 261 wird an den Eingang SR zur Rechtsverschiebung
eines Schieberegisters 260 angelegt, das eine Zweiteilung durchführt. Dieses
Schieberegister 260 enthält einen Index x. Es empfängt als Taktsignal das schnelle
Taktsignal H. Als Ladebefehl wird ihm der Ausgang eines UND-Gliedes 265
zugeführt. Ein erster komplementierter Eingang dieses Gliedes ist das Signal, das
vom Ausgang 242 des Registers 240 zur Verwaltung der Epoche geliefert wird. Ein
zweiter Eingang des Gliedes 265 ist das Signal der freien Eingänge, das vom
Ausgang Q des Flip-Flops 306 geliefert wird. Ein dritter Eingang des UND-Gliedes
265 wird durch ein ODER-Glied 266 geliefert. Dieses empfängt einerseits den
Auswahldraht, der ebenfalls an das Flip-Flop 31 geführt ist. Andererseits empfängt
das Glied den Ausgang eines Verzögerungsschaltkreises (Monoflop) vom Typ 74 121,
dessen Eingang das Ausgangssignal 242 des Register 240 zur Verwaltung der
Epoche ist. Schließlich wird der Ausgang des Schaltkreises 74 121 auch an eine
Reihe von UND-Gliedern 270 angelegt, deren andere Eingänge die Ausgänge eines
Schaltkreises 290 sind.
Der Schaltkreis 290 kann vom internen Bus BI mit einem Wert x′ geladen werden,
den er an die schon erwähnten Glieder 270 sowie an den Schaltkreis 280 überträgt.
Dieser Wert x′ definiert einen oder mehrere andere Indizes, die in der Epoche
verwendet werden können.
Das niedrigstwertige Bit mit der Bezeichnung LSB im Ausgang des Schieberegisters
260 öffnet ein UND-Glied 275, dessen anderer Eingang das Signal +:=′ ist. Der
Ausgang dieses Gliedes 275 wird einem Demultiplexor 282 zugeführt, der durch das
Signal der Betriebsart gesteuert wird.
Dadurch erhält das Schieberegister 280, das eine Größe j mit n Bits definiert, auf
seinem Eingang zur Linksverschiebung SL das Signal -:=, das vom UND-Glied 222
ausgeht. Es empfängt ein Signal, das aus +:=′ und dem niedrigstwertigen Bit des
Registers 260 abgeleitet ist, und zwar entweder auf seinem Eingang SR für eine
Rechtsverschiebung oder auf seinem Ladeeingang in Abhängigkeit vom Zustand des
Moden-Bits, das an den Demultiplexor 282 angelegt ist. Wie die anderen empfängt
das Schieberegister 280 das schnelle Taktsignal H.
Das Flip-Flop 306 empfängt auf seinem Eingang D ein Signal "1" mit dem Wert +5
Volt. An seinem Takteingang wird das auf Leitung 281 anstehende Signal angelegt,
das dem am weitesten links stehenden Bit des Registers 280 entspricht. Der
Fachmann wird verstehen, daß beim erstmaligen Verschieben dieses Schaltkreises
nach rechts das Signal 281 von "0" auf "1" übergeht. In der Folge wird dieses Signal
in Abhängigkeit der aufeinanderfolgenden Verschiebungen dieses Registers (nach
rechts oder nach links) wieder den Wert "0" erreichen (nach einer ausreichenden
Anzahl von Verschiebungen nach links). Dann ist am Takteingang des Flip-Flops 306
ein vollständiger Impuls erschienen und sein Ausgang geht in den Zustand "1" über.
Bei der Betriebsart mit freien Eingängen beaufschlagt das Flip-Flop den komplementierten
Eingang des Gliedes 30 und sperrt somit eine spätere Sendeanforderung.
Die Tatsache, daß das Signal 281 von "1" auf "0" übergeht, zeigt an, daß der
Koppler von neuem das Recht zum Senden hat. Die Übertragung für diesen Koppler
wird somit verboten, nachdem dieser einmal das Recht hatte, nach einer
anfänglichen Kollision zu senden. Das Sendeverbot wird aufgehoben, wenn das
Signal 242 wieder auf 0 übergeht, d. h. wenn die Epoche abgeschlossen ist. Das
wird erreicht, indem das komplementierte Signal 242 an den Eingang R des
Flip-Flops 306 angelegt wird (dieser Eingang ist auf 0 zurückgesetzt).
Der Betrieb dieser Elemente wird in den Fig. 3 und 4 in funktioneller Weise und
zusammen mit den anderen Ausführungsformen der vorliegenden Erfindung beschrieben.
Diese anderen Ausführungsformen verwenden eine Hardwarearchitektur, die in
Fig. 5 dargestellt ist. Man findet dort wieder den Schaltkreis GSC, der einen
direkten Anschluß an den Übertragungskanal SC aufweist. Wie vorher liefert dieser
Schaltkreis die Signale CD, RxD, TxD und deren Komplemente. Das Signal RxD
wird an einem Seriell-/Parallelumsetzer 110 angelegt, der außerdem mit dem
internen Bus verbunden ist und das serielle Signal TxD erzeugt. Eine Verarbeitungseinheit
für die Übertragung besteht aus einem Schaltkreis 120, der auf
einem Mikroprozessor 8751 oder 8080 der Firma INTEL Corporation aufgebaut
werden kann. Diese Einheit 120 ist mit einer Schnittstelle 121 versehen, mit der
sie Information mit dem internen Bus BI austauschen kann. Die Verarbeitungseinheit
empfängt in Form von Unterbrechungsignalen die Signale CD und RxD, die
vom Schaltkreis GSC verarbeitet werden.
Die von der Verarbeitungseinheit 120 verlangte Betriebsweise wird im folgenden
anhand von Darstellungen in Form von Petrinetzen beschrieben, in denen aber
außerdem die Abfragen eingebaut wurden, die denjenigen in Darstellungen
klassischer Flußdiagramme vergleichbar sind.
Der Ausgangspunkt des Diagramms in Fig. 6 ist die Initialisierung eines Kopplers
(Block 50). Die Initialisierung fängt mit einem Betriebsarttest 51 an, wobei die
Betriebsart durch ein Bit definiert ist, das auf den Wert "0" (allgemeine
Betriebsart) oder "1" (periodische Betriebsart) gesetzt ist, und zwar bei der
Herstellung der Koppler oder aber bei deren Installation. In der allgemeinen
Betriebsart ist der Ausgang der Abfrage 51 ein Schritt 52, in dem ein Zähler E auf
einen Wert k+1 gesetzt wird. (Das Symbol := bedeutet die Zuweisung eines
numerischen Wertes zu einer Variablen). In der periodischen Betriebsart geht der
Ausgang der Abfrage 51 zum Schritt 53, in dem der Wert N in den Zähler E gesetzt
wird. Später wird noch ersichtlich, daß N in der periodischen Betriebsart den Wert
n hat und in der allgemeinen Betriebsart den Wert 2.
Dann folgt bei Bezugszeichen 54 ein "Platz", wie er aus den Petrinetzen bekannt
ist. Die dicke horizontale Linie 56 bedeutet die Abfrage des Übertragungsträgers.
Auf dieser Linie 56 erscheint ein weiterer Platz 55 mit der Bezeichnung FPC als
Abkürzung für "Kanalphasenende". Nur wenn die beiden Plätze 54 und 55 beide ihr
Jeton besitzen, kann die Abfrage des Trägers auf Linie 56 erfolgen. (Das entspricht
dem Block 2 in Fig. 3.)
Es wird daran erinnert, daß sich der Zähler E hier bei Null im Ruhezustand der
Einrichtung befindet. Er geht zu ganzzahligen, positiven Werten über, wenn sich die
Einrichtung in ihrem Arbeitszustand befindet, wobei er eine vorbestimmte
Beziehung mit der Sequenz von Unterensemblen des Index beibehält, nach der sich
die Einrichtung entwickelt. Vier Situationen können auftreten:
- - CD und E positiv. Eine Abfrage 60 prüft dann von neuem das Moden-Bit. In der allgemeinen Betriebsart wird dann der Zähler E im Schritt 61 um eins erhöht. In der periodischen Betriebsart ist die Situation anormal. Ein Schritt 62 führt eine geeignete Fehlerbehandlung durch, um das Kommunikationsnetz wieder in Betrieb nehmen zu können.
- - CD und E=0. Schritt 63 setzt den Zähler E auf den Wert N, wobei, wie schon gesagt, N den Wert 2 in der allgemeinen Betriebsart und den Wert n in der periodischen Betriebsart aufweist.
- - und E positiv. Der Schritt 64 vermindert den Wert im Zähler E um eins, unabhängig von der Betriebsart.
- - und E=0. Hier wird direkt zum Platz 54 zurückgekehrt.
Das Diagramm von Fig. 6 sowie der Aufbau des Schaltkreises 24, der dem
Diagramm in den Fig. 3 und 4 entspricht, läßt sich besser verstehen, wenn die
detaillierten Diagramme der Fig. 7A bis 7C betrachtet werden. Es wird nun
zugelassen, daß das Zählen der Größe E durch ein Schieberegister erfolgt, das
mindestens k+1 Bits (vorzugsweise k+2) für den Fall der allgemeinen Betriebsart
aufweist und n Bits für die periodische Betriebsart. Trotzdem wird auch jetzt noch
vom "Zähler E" gesprochen.
In der allgemeinen Betriebsart (Fig. 7A) haben alle Bits des Schieberegisters 240
anfangs den Wert 1. Ein Wert 1 wird auf der linken Seite so zugeführt, daß bei
einer Verschiebung nach rechts ein Wert 1 in das höchststellige Bit des Registers
240 eingegeben wird. Umgekehrt wird ein Wert 0 an der rechten Seite zugeführt,
so daß bei einer Verschiebung nach links ein Wert 0 in die Bit-Position k+2 gelangt,
die sich am weitesten rechts befindet.
Die Bits 2 bis k+2 des Schieberegisters 240 sind weiterhin aufeinander rückgekoppelt,
d. h. man kann sie bei Bedarf identisch zurückkopieren. So werden bei
jeder Kollision die Bits 2 bis k+2 des Registers auf sich selbst zurückgeführt,
während das erste Bit (Bit 1) mit 1 geladen wird, um es anschließend nach rechts
zu verschieben. Dadurch erreicht man auch einen bestimmten Anfangswert, ohne
einen Unterschied zu machen zwischen der ersten Kollision und den folgenden.
Der Ausgang des Zählers E ist der Zustand seines ersten Bits, wie es sich aus Fig. 7A
ergibt (äquivalent zum Signal 242 in Fig. 4).
Fig. 7B betrifft den Fall der periodischen Betriebsart. Das Schieberegister 240
enthält nun n Bits. Alle können gleichzeitig durch einen externen Ladebefehl auf
1 gesetzt werden. Bei einer Verschiebung nach rechts wird ein Wert 1 links
eingeführt, während bei Verschiebungen nach links ein Wert 0 auf der rechten Seite
zugeführt wird. Auch hier wird der Ausgang des Zählers E durch den Zustand seines
ersten Bits definiert.
Fig. 7C erläutert eine kombinierte Ausführungsform in der mit dem gleichen
Register die Funktionen der Fig. 7A und 7B ausgeführt werden können. Ein
Multiplexvorgang (Funktion des Schaltkreises 241 in Fig. 4) wird durch die
Elemente 241 A und 241 B erreicht. Es handelt sich dabei um Multiplexer des Typs
1 aus 2. Für die allgemeine Betriebsart steht das Moden-Bit auf 0. Der Multiplexor
241 A führt die Bits 2 bis k+2 des Registers identisch zurück, während der
Multiplexor 241 B die Werte 0 in die n-k-2 anderen Bits einsetzt. Im Gegensatz dazu
führt in der periodischen Betriebsart der Multiplexor 241 A den Wert 1 in die Bits
2-k-2 ein, während der Multiplexor 241 B die anderen n-k-2 Bits auf den Wert 1
setzt. Der Fachmann wird hieraus erkennen, daß der so erhaltene Schaltkreis als
Funktion des Zustands des Moden-Bits in der Lage ist, wahlweise entweder die
Funktion der Fig. 7A oder die der Fig. 7B auszuführen.
Im folgenden wird kurz die Arbeitsweise der Einrichtungen nach der Erfindung
beschrieben, und zwar für die allgemeine und die periodische Betriebsart.
Die anfordernde Einheit hat festgestellt, daß die Maximalanzahl von aufeinanderfolgenden Kollisionen, die bei der allgemeinen Betriebsart innerhalb einer
Epoche auftreten kann, gleich k-1 ist, wobei entsprechend der Vereinbarung die
erste Kollision, die eine Epoche eröffnet, nicht gezählt wird. Sie hat weiterhin
festgestellt, daß in dieser allgemeinen Betriebsart die maximale Anzahl von leeren
aufeinanderfolgenden Scheiben im Innern einer Epoche gleich k-1 ist, wenn
angenommen wird, daß vollständig ausfallsichere Koppler verwendet werden, oder
k+1, wenn Ausfälle toleriert werden.
Aus diesem Grund wird der Zähler E in den Fig. 7A und 7C in den initialisierten
Kopplern auf den Anfangswert k+1 gesetzt. Der Fachmann wird verstehen, daß es
keine Bedeutung hat, daß der gerade initialisierte Koppler nicht mit den anderen
Kopplern auf den leeren Zeitscheiben synchronisiert ist (wenn angenommen wird,
daß eine Epoche gerade abläuft), und zwar aus folgendem Grund:
- - Entweder ist diese Synchronisation unnütz, sobald der Zähler E den Wert erreicht,
- - oder die notwendigen Synchronisation wird normalerweise erhalten, wenn der Kanal aktiv wird, bevor E den Wert 0 erreicht.
Bei der Initalisierung setzt Schritt 52 (Fig. 6) den Wert E auf k+1. Ein Jeton wird
dann auf Platz 54 gelegt und der normale Betrieb beginnt. Entsprechend werden in
den Einrichtungen der Fig. 3 und 4 (nicht dargestellte) analoge Funktionen
durchgeführt.
Die genaue Analyse der verschiedenen möglichen Fälle erlaubt es, nachzuweisen,
daß der Zähler E eines Kopplers bei der Initialisierung den Wert 0 in einer
bestimmten Zeit erreicht, die nach oben begrenzt ist, während dieser Wert 0 nie
erreicht wird, wenn eine Epoche im Gang ist. Das Bit k+2 erlaubt es, eine
fehlerhafte Arbeitsweise eines Kopplers festzustellen.
Wenn keine Fehler aufgetreten sind, kann sich nur bei Beginn einer Epoche eine
Kollision ergeben, die es einem Koppler bei der Initialisierung erlaubt, sich mit den
arbeitenden Kopplern zu synchronisieren. Im Fall einer Kollision weist jeder
Koppler seinem Zähler E den Wert N=n zu, der gleichzeitig der Initialisierungswert
ist.
Wenn E den Wert 0 erreicht, ohne daß eine Kollision aufgetreten ist, wird damit
angezeigt, daß der Koppler allein im System ist. Man kann daher das System
initialisieren, indem nur ein einziger Koppler oder mehrere Koppler gleichzeitig
initialisiert werden.
Wenn die Koppler initialisiert sind, erfolgt die Überwachung der Epochen
entsprechend dem Mechanismus, der in Fig. 6 dargestellt ist. Dieser Mechanismus
wird laufend von allen Kopplern durchgeführt. Er kann entweder verdrahtet sein,
wie es in den Fig. 3, 4 und 7 der Fall war, oder aber mikroprogrammiert auf
der Grundlage der Hardware in Fig. 5 und von Programmen, die den in den
folgenden Figuren dargestellten Abläufen entsprechen.
Bei einem arbeitenden Koppler kann der laufende Wert von E so interpretiert
werden, daß er die Anzahl der Kanalphasen darstellt, die vor dem Ende der gerade
ablaufenden Epoche zu untersuchen sind.
Die Bedingung und E=0 zeigt an, daß gerade keine Epoche im Gang ist.
Solange keine Kollision auftritt, ändert sich der Zähler E nicht.
Die Kondition CD und E=0 führt dazu, daß der Zähler E den Wert N annimmt,
sobald die Leitung CD in den wahren Zustand übergeht und damit das Vorhandensein
einer Kollision anzeigt; der Wert N ist dabei entweder 2 für die allgemeine
Betriebsart, oder n für die periodische Betriebsart.
Bedingung und E positiv. Wenn eine Nachricht durchläuft oder wenn der Träger
während einer Kanalscheibe im Innern einer Epoche frei bleibt, wird der Wert des
Zählers E verringert. Die Beobachtung des Trägers wird erst wieder aufgenommen,
wenn die vollständige Nachricht empfangen wurde, oder nachdem das Ende einer
leeren Kanalzeitscheibe festgestellt wurde.
Bedingung CD und E positiv. Wenn eine neue Kollision im Innern einer Epoche
auftaucht, wird der Wert E erhöht, wenn man sich in der allgemeinen Betriebsart
befindet. In der periodischen Betriebsart darf dieser Fall nicht auftreten. Schritt
62 ruft dann eine Prozedur zur Bearbeitung von Fehlern, mit der die ordnungsgemäße
Arbeitsweise des Netzes hergestellt wird. Anhand der Fig. 8 wird nun die
eigentliche Verwaltung des Sendens von Nachrichten diskutiert.
Es wird noch einmal erinnert, daß das vorgeschlagene Verfahren in zwei
Betriebsarten arbeiten kann: der allgemeinen und der periodischen. Die Betriebsart
wird bei der Herstellung der Koppler oder bei deren Installation ausgewählt. In der
allgemeinen Betriebsart kann jeder Koppler wahlweise mit blockierten Eingängen
oder mit freien Eingängen arbeiten. In einem Koppler mit blockierten Eingängen
kann keine neue Nachricht außerhalb der Nachrichten, die in Kollision getreten
waren, während einer Epoche übertragen werden. In einem Koppler mit freien
Eingängen kann im Gegensatz dazu ein Koppler in der Epoche eine frisch
eingetroffene Nachricht aussenden, wenn er keine Nachricht im Moment der
Kollision gegeben hat, die eine Epoche öffnet, und unter der Voraussetzung, daß
die Bedingungen eingehalten werden, die sicherstellen, daß er die Arbeitsweise der
anderen Koppler nicht stört.
Die Abgabe einer Nachricht durch die Station an den Koppler erfolgt in allen
diesen Fällen durch die Aktivierung eines Befehls, der als Abgabe (m, index, F)
geschrieben werden kann, und dessen Ausführung dazu führt, daß in einem Bereich
des Speichers Z die folgenden Daten gespeichert werden, wobei der Speicher aus
dem Schaltkreis für die Verwaltung von Sendevorgängen GER bekannt ist:
- - die Nachricht m selbst,
- - der zugehörige Index,
- - eine Bool′sche Variable F, die anzeigt, daß die Nachricht erfolgreich vom Koppler an den Träger abgegeben wurde, wenn sie in den wahren Zustand übergeht.
Man stellt fest, daß in der allgemeinen Betriebsart mit blockierten Eingängen ein
Koppler im Innern einer Epoche nur dann aktiv ist, wenn er tatsächlich versucht
hat, eine Nachricht zu Beginn der Epoche zu übertragen (mit Kollision). Im
Gegensatz dazu erlaubt das Verfahren in der allgemeinen Betriebsart mit freien
Eingängen sowie in der periodischen Betriebsart einem Koppler, im Innern einer
Epoche aktiv zu werden, selbst wenn keine Nachricht an diesen Koppler zu Beginn
der Epoche abgegeben wurde.
In der allgemeinen Betriebsart mit freien Eingängen sowie in der periodischen
Betriebsart sendet der Koppler eine Nachricht "0", die einem Ruhezustand
entspricht, wenn keine Nachricht abgegeben wurde.
Die Ausführung der Befehlsabgabe, die der Fachmann ohne weiteres implementieren
kann, ist unabhängig und asynchron von der Ausführung des Verwaltungsprotokolls
der Sendevorgänge. Dieses Protokoll ist permanent und wird im folgenden
beschrieben.
Die folgenden Stellen der Speicherzone Z werden verwendet:
- - Nachricht: = m oder "Null",
- - x: = index (der Index ist im voraus bestimmt, wenn die Nachricht "0" ist),
- - Ende: = F.
Die erste Abfrage 70 stellt einen Wartevorgang dar, bis der Zähler E den Wert 0
erreicht. Dazu wird angenommen, daß eine Epoche gerade abgeschlossen ist, was
einem derartigen Übergang von E auf 0 entspricht. Die folgende Abfrage 71
untersucht die verwendete Betriebsweise.
Das Senden (in der Art CSMA-CD) einer Nachricht ist im Knoten 74 dargestellt.
Ein derartiger Sendevorgang wird in der periodischen Betriebsart immer versucht
und ebenso in der allgemeinen Betriebsart, wenn eine Nachricht abgegeben wurde
(Durchgang durch die Wartephasen 72 und 73, jedoch ohne zu warten, da nach der
Annahme E gleich 0 ist).
Die Linie 75 versinnbildlicht die Beobachtung des Trägers, der auf zwei
Bedingungen reagiert, wenn die Jetons auf die Knoten 74 und 76 gelegt wurden (am
Ende der Kanalzeitscheibe).
In der periodischen Betriebsweise ist man sicher, daß eine Kollision CD und somit
die Öffnung einer Epoche entsteht, mit Ausnahme für den Fall, wenn nur ein
einziger Koppler senden will.
Anhand der Fig. 8 werden nun getrennt die allgemeine und die periodische
Betriebsart beschrieben.
In der allgemeinen Betriebsart kann eine Kollision auftreten, aber es ist
gleichermaßen möglich, daß sich der Sendevorgang normal abspielt ( ). In dem
letzten Fall beendet Schritt 91 den Sendevorgang, dessen Dauer mindestens gleich
der Kanalzeitscheibe ist. Schritt 92 setzt die Bool′sche Variable F, die das Ende
anzeigt, auf den wahren Wert. Schritt 93 untersucht, ob die gerade vorliegende
Betriebsart die allgemeine Betriebsweise ist, um in diesem Fall zur Abfrage 70
zurückzukehren. Die Abfrage 71 unterscheidet wiederum zwischen den beiden
Varianten "blockierte Eingänge" und "freie Eingänge" der allgemeinen Betriebsart.
Nun soll nochmals auf die Beobachtung des Trägers (Linie 75) eingegangen werden,
um die andere Hypothese zu untersuchen, nach der sich eine Kollision ergibt. Man
legt dazu einen Jeton auf den Knoten 77.
Im Schritt 78 wird dann der Größe j der Wert 0 zugeordnet, und in Schritt 79 eine
Zweierdivision durchgeführt, die als X:=X/2 geschrieben werden kann.
Eine Abfrage 80 stellt fest, ob diese Division durch 2 möglich ist oder nicht. Wenn
sie nicht möglich ist, stellt dies einen Fehler dar, der durch Aufruf einer
geeigneten Prozedur (Schritt 80 A) bearbeitet wird.
Wenn die Division möglich ist, wird eine Abfrage 81 durchgeführt, die feststellt,
ob der geltende Index x einer gewinnenden Untergruppe G oder einer verlierenden
Untergruppe P angehört. Wenn er der gewinnenden Untergruppe angehört, wird das
Senden der Nachricht erneut am Knoten 74 versucht. Wenn der gültige Index x der
verlierenden Untergruppe angehört, hängt der Folgeschritt von einer neuen
Abfrage 82 ab, die sich auf die Tatsache bezieht, ob die allgemeine oder die
periodische Betriebsart vorliegt. In der allgemeinen Betriebsart wird direkt zum
Knoten 84 gesprungen. Der Ausgang des Knotens 84 ist erneut die Beobachtung des
Trägers auf der Linie 85, wobei dieses Mal die Bedingung vorliegt, daß der Träger
nicht mehr bezüglich des Endes der Kanalzeitscheibe, sondern bezüglich des
Kanalphasenendes beobachtet wird (FPC im Knoten 86).
Wenn keine Kollision vorliegt und wenn j gleich 0 ist, führt Leitung 87 wieder zum
Senden der Nachricht 74 (alle vorangegangenen Kollisionen sind aufgelöst).
Wenn eine Kollision vorliegt, erfolgt eine neue Abfrage der Betriebsweise in 88.
In der allgemeinen Betriebsweise modifiziert Schritt 89 die Größe j um den Wert
1.
Ohne Kollision jedoch mit einem Wert der Größe j ungleich 0 verringert Schritt 90
die Größe j um 1.
Die Ausgänge der beiden Schritte 89 und 90 kehren zum Knoten 84 zurück
(Kollision noch nicht aufgelöst).
Die Elemente der Fig. 8, deren Nummern zwischen 81 und 90 liegen, sind von
einer gestrichelten Linie umgeben, die das Bezugszeichen R trägt, um anzuzeigen,
daß es sich da um Elemente handelt, deren Aufgabe es ist, die eigentliche
Kollisionsauflösung durchzuführen.
Der rechte Ausgang der Wartephase 73 zeigt an, daß in der allgemeinen
Betriebsart mit blockierten Eingängen ein Sendevorgang verboten ist, wenn eine
Epoche gerade abläuft (E ungleich 0), und eine Nachricht abgegeben wurde.
Der linke Ausgang der Wartephase 72 zeigt an, daß in der allgemeinen Betriebsart
mit freien Eingängen der Koppler die Verwaltung der Sendevorgänge bei der
Öffnung einer Epoche durchführt, d. h., sobald E ungleich 0 wird. Er ist deshalb mit
Knoten 77 verbunden, bei dem das Senden einer Nachricht vorbereitet wird. Wenn
die zugehörige Speicherzone Z nur die Nachricht 0 in dem Moment enthält, in dem
er für das Senden autorisiert wird, gibt es keinen tatsächlichen Sendevorgang, und
dieser Koppler bleibt still. Im gegenteiligen Fall sendet er seine Nachricht.
Es ist zweckmäßig, die Zweiertrennung (Zweierdivision) der Menge der Indices im
einzelnen zu beschreiben, um diejenigen zu isolieren, die Kopplern mit einer zu
übertragenen Nachricht entsprechen.
Die Menge X, wie sie weiter oben definiert wurde, stellt die Menge möglicher
Indexwerte dar, die zu den Nachrichten und zu den Kopplungen gehören. Mit x wird
der laufende Indexwert bezeichnet, der von einem aktiven Koppler verwendet wird,
d. h., der an einer Epoche teilnimmt.
Ein Koppler kann einen oder mehrere Indices besitzen. Im letzten Fall werden die
Indices vom Koppler in der Reihenfolge wachsender Werte verwendet.
Bei der Eröffnung einer Epoche wird die Menge der Indices, die von einem aktiven
Koppler gewählt wird, mit x₀ bezeichnet. Zur Vereinfachung wird angenommen,
daß diese Menge von Ausgangsindices alle Werte von 0 bis 2 k-1 umfaßt.
Der Binärbaum wird durchlaufen, indem das Abtasten von rechts nach links oder
von links nach rechts erfolgt, wobei die Wahl rechts/links oder links/rechts die
gleiche ist für alle Knoten, und zwar vom Stamm ("oben" am Baum) bis zu den
Blättern ("unten" am Baum).
Die Menge X₀ wird somit in zwei Teilmengen aufgeteilt, und zwar auf identische
Weise für alle aktiven Koppler. Die für das Abtasten gewählte Richtung bestimmt
eine gewinnende Teilmenge G und eine verlierende Teilmenge P. Jeder Koppler
prüft, ob sein aktueller Index x Teil von G ist.
Wenn ja, versucht der Koppler von neuem die Übertragung der Nachricht. Bei
erneuter Kollision wird dasselbe Verfahren der Zweiertrennung der Indexmenge G
in zwei neue Teilmengen G und P durchgeführt, und zwar bis eine Übertragung der
Nachricht ohne Kollision erfolgreich durchgeführt ist.
Dieser Sachverhalt steckt hinter dem Ausdruck X:=X/2 in Fig. 8 bei
Bezugszeichen 79. Dieser Vorgang läuft auch bei jeder Verschiebung (nach rechts)
im Register 260 ab (Fig. 4).
Jedesmal, wenn ein Koppler feststellt, daß sein Index x zur Menge P gehört, sendet
er nicht und überwacht den Träger (Linie 85). Eine mit j bezeichnete, lokale
Variable erlaubt ihm, festzustellen, zu welchem Moment er autorisiert ist, ein
neues Senden seiner Nachricht zu versuchen. Auf diesen Punkt wird später noch
eingegangen.
Man stellt fest, daß die Regel für die Trennung in zwei Teilmengen beliebig sein
kann. Beispielsweise können G und P gerade bzw. ungeraden Indexwerten
zugeordnet werden, oder aber kann G für jede Ausgangsmenge (0, 2 k-1) den Indices
der Menge (0, 2 k-1-1) entsprechen und P den Indices der Menge (2 k-1, 2 k -1).
Der Fachmann wird erkennen, daß es zweckmäßig ist, die Rechenregel für den
Index, ausgehend von Prioritätsklassen, so zu wählen, daß bei der Erstellung eines
Index die Nachrichten mit der höchsten Priorität sich in der ersten, gewinnenden
Teilmenge befinden, anschließend die unmittelbar nachfolgende Priorität in der
zweiten gewinnenden Teilmenge bei der zweiten Iteration, und so fort. Man
garantiert auf diese Weise, daß die Reihenfolge der Nachrichtenübertragung im
Innern einer Epoche die Reihenfolge der Prioritäten berücksichtigt.
Beispielsweise wird der Prioritätsrang in einem System mit statischen Prioritäten,
das mehrere Klassen umfaßt, gleich der Klasse sein, oder gleich einer Funktion
dieser Klasse, nach der die Konventionen gewählt wurden, um die Prioritäten zu
numerieren. In einem System mit zeitlichen Prioritäten (bei physikalischem
Untergang) wird der Rang beispielsweise gleich der noch verfügbaren Zeit, bevor
der Untergang erfolgt, oder gleich einer Funktion dieser Zeit entsprechend den
gewählten Konventionen, um die Prioritäten zu numerieren und in eine Reihenfolge
zu bringen.
Im folgenden wird die Autorisierung zum neuen Senden in einer Epoche, ausgehend
von der Variablen j, untersucht.
Der Anfangswert der Variablen j ist in der allgemeinen Betriebsart 0. Tritt kein
Fehler auf, ist der Endwert von j ebenfalls 0.
Die verschiedenen möglichen Fälle am Ausgang der Linie 85 können wie folgt
dargestellt werden:
- - Kollision festgestellt CD: es ist noch eine Kollision aufzulösen; j erhöht (Signal 281 im Zustand 1, Fig. 4);
- - keine Kollision , entsprechend einer Nachricht oder einer leeren
Kanalzeitscheibe:
- - wenn j verschieden ist von 0, gibt es noch mindestens eine Kollision, die nicht vollständig aufgelöst ist, der Wert von j wird daher um 1 erniedrigt (j entspricht dem Zustand des Signals 281)
- - wenn j=0, sind alle vorhergehenden Kollisionen aufgelöst und der Koppler hat das Recht, erneut im Innern der Epoche zu senden.
Der aktuelle Wert von j kann so aufgefaßt werden, daß er die Anzahl der
Kanalphasen weniger 1 angibt, die noch zu untersuchen sind, bevor der Koppler
autorisiert werden kann, erneut zu senden.
In der allgemeinen Betriebsart errechnet ein Koppler immer einen Index, indem er
einen logischen Namen (der eindeutig ist für diesen Koppler im System) mit dem
Rang der wartenden Nachricht mit höchster Priorität aneinanderfügt (konkateniert).
Wenn der Koppler in der allgemeinen Betriebsart mit freien Eingängen in
eine Epoche mit einer Nachricht "0" eintritt, berechnet er den Index, indem er
seinen Namen mit einem im voraus bestimmten festen Rang zusammenfügt, wobei
sich der Index im Lauf der Epoche nicht ändern kann (Laden von x′ in x am Ende
der Epoche, Fig. 4).
Bei einer besonderen Ausführungsform der Erfindung wird die Zweiertrennung durch
die Tatsache erreicht, daß jeder Koppler ein Schieberegister mit Länge k besitzt.
In diesem Register ist der Index eingeschrieben, der einer zu übertragenden
Nachricht entspricht.
Die Aufteilung von X in zwei Teilmengen entspricht dann der Verschiebung der Bits
in diesem Register um eine Position nach links oder nach rechts. Entsprechend dem
Wert des Bits, das aus dem Register zu diesem Zeitpunkt austritt (Wert 0 oder 1),
weiß ein aktiver Koppler, ob er verloren oder gewonnen hat. Die Wahl von 0 oder
1, um zu gewinnen oder zu verlieren, ist frei unter dem Vorbehalt, daß sie für alle
Koppler in gleicher Weise getroffen wird. Bei jeder Iteration wird die Verschiebeoperation
durchgeführt. Diese Ausführungsform wird hier jedoch nur als
Beispiel dargestellt, da zahlreiche äquivalente Ausführungsformen aufgefunden
werden können.
In diesem Beispiel einer Ausführungsform mit Schieberegister sind die Regeln, mit
denen die Prioritäten berücksichtigt werden können, die folgenden:
- - Wenn das Register nach links verschoben wird, werden die Indices als Funktion der Parität der höchststelligen Bits bestimmt. Jeder Index, der beispielsweise ein Bit 0 auf der linken Seite besitzt, gewinnt bezüglich eines Index, der ein Bit 1 links besitzt. In diesem Fall betrifft der Prioritätsrang den Teil der höchststelligen Bits des Index. Die Rangwerte sind gleich den statischen Prioritäten oder gleich den Zeitdauern, die noch vor dem Untergang verbleiben, wobei offensichtlich der Wert 0 den höchsten Wert der Priorität und den höchsten Rang darstellt.
- - Wenn das Register dagegen nach rechts verschoben wird, werden die Indices selbstverständlich als Funktion der Parität der niedrigstwertigen Bits bestimmt. Jeder Index, der ein Bit 0 auf der rechten Seite besitzt, wird bezüglich eines Index gewinnen, der ein Bit 1 auf der rechten Seite hat. In diesem Fall betrifft der Rang die niedrigwertigen Bits des Index. Die Berechnung der Werte des Rangs, ausgehend von den Prioritäten oder den Zeiträumen bis zum Untergang, ist gleich wie oben. Dagegen werden die Werte des berechneten Rangs umgekehrt in das Register eingeschrieben, wobei das hochstellige Bit des Rangs das niedrigstellige Bit des Rangs wird und so fort.
Die Zähler für den Wert j werden vorteilhafterweise mit Hilfe eines Schieberegisters
aufgebaut, dessen Größe mindestens gleich k Bits ist, die in der
allgemeinen Betriebsart verwendet werden. Nach den obigen Ausführungen wird j
mit dem Wert 0 in der allgemeinen Betriebsart geladen, wenn der Koppler verliert.
Zusammengefaßt dient der Zähler E dazu, das Vorhandensein einer Epoche und
deren Dauer zu bestimmen. Er ist in allen in Betrieb, die arbeiten. Beim
Einschalten eines Kopplers wird sein Zähler E auf k+1 gesetzt (Fig. 6), die
maximale Anzahl von Schritten bei der Zweierteilung (obwohl eine schnellere und
raffiniertere Initialisierung eines derartigen Kopplers ins Auge gefaßt werden
könnte).
Im übrigen können zwei Fälle auftreten, und zwar abhängig davon, ob das Fehlen
von zu sendenden Nachrichten als ein Zustand aufgefaßt wird, in dem der Koppler
untätig ist, oder aber als eine Sendeanforderung für eine Nachricht "0".
Im ersten Fall (Untätigkeit) führen nur die aktiven Koppler den Rest des
Verfahrens aus (Schritte 74 bis 93).
Im zweiten Fall (Nachricht "0") oder auch in der Betriebsart mit freien Eingängen
führen alle in Betrieb befindlichen Koppler den Rest des Verfahrens (Schritte 74 bis
93) aus.
Die oben ausgeführten allgemeinen Überlegungen gelten zum großen Teil auch für
die periodische Betriebsart. Dagegen liegt die Reihenfolge, in der die Indices
untersucht werden, fest, wobei einer nach dem anderen untersucht wird, und zwar
hier in steigender Reihenfolge.
Wenn E=0 (Ende einer Epoche), wird zum Knoten 74 übergegangen.
In der überwiegenden Mehrheit der Fälle werden mindestens zwei Koppler echte
Nachrichten zu übertragen haben, so daß sich eine Kollision ergibt und sofort eine
neue Epoche eröffnet wird.
Die Bedingung CD verlangt dann, daß zum Schritt 78 übergegangen wird, um den
Schritt 79 zu erreichen. Schritt 79 teilt die Menge der Indices in eine gewinnende
Teilmenge mit einem einzigen Element, dem Index 0, wobei die anderen Indices die
verlierende Teilmenge definieren. (Wenn die Abfrage 80 zeigt, daß die Teilung
nicht möglich ist, wird eine geeignete Fehlerbehandlung 80 A durchgeführt).
Die Abfrage 81 autorisiert den Koppler mit dem Index 0 zum unmittelbaren
Senden, indem zum Knoten 74 zurückgekehrt wird. In den anderen Kopplern
verleiht Schritt 83 bei der zweiten Berechnung j den Wert x-1, worauf man den
Knoten 84 erreicht.
Der Koppler mit dem Index x=1 besitzt nun j=0. Der Ausgang 87 der Linie 85
führt ihn zum Knoten 74 zurück, um seinerseits zu senden, und zwar in der
folgenden Kanalphase (Jeton im Knoten 86).
Die anderen Koppler gehen zum Schritt 90 über, der j um eine Einheit verringert,
und kehren dann zum Knoten 84 zurück. Sie erreichen so nacheinander den Wert
j=0, um das Recht zum Senden zu erhalten.
Eine Kollision im Verlauf einer Epoche ist anormal. Die Abfrage 88 bewirkt in
diesem Fall, daß eine Prozedur 88 A zur Fehlerbehandlung aufgerufen wird.
Die Koppler, von denen jeder seinen Sendevorgang abgeschlossen hat, werden dann
zu den Schritten 91 und 92 geführt.
Die Abfragen 93 und 94 ermöglichen ihnen, in der gleichen Epoche einen weiteren
Index geltend zu machen, sofern einer vorliegt, oder aber den kleinsten von
mehreren Indices, die sie noch besitzen. Der Größe j wird dabei der Wert y-x-2
zugewiesen und der Größe x der Wert y.
Die Abfrage 96 führt den Koppler dann zum Knoten 84 zurück, wenn j positiv ist
oder 0.
Der Fachmann wird verstehen, daß im Fall j=-1 der Koppler unmittelbar senden
muß; daher führt ihn die Abfrage 96 zum Knoten 74 zurück.
Ausnahmsweise kann es vorkommen, daß ein einziger Koppler nach dem Ende einer
Epoche tatsächlich senden will. In diesem Fall erfolgt keine Öffnung einer Epoche,
da der Koppler direkt über die Schritte 91 und 92 zum Knoten 74 gelangt.
Der Fachmann wird erkennen, daß sich diese periodische Betriebsweise vollständig
von den Übertragungsverfahren mit mehrfachen Zugriffen durch Zeitmultiplex
unterscheidet (TDMA).
Der Fachmann wird außerdem feststellen, daß die periodische Betriebsart
modifiziert werden kann, um die Menge der Indices in Teilmengen zu untersuchen,
die sich jeweils um den Index 2 unterscheiden.
Verallgemeinert ausgedrückt, existieren andere Zwischenformen zwischen der
allgemeinen Betriebsart und dieser modifizierten periodischen Betriebsart; die
Zwischenformen sind in jedem Fall durch eine Teilung der Menge der Indices
definiert, und gegebenenfalls durch eine Auswerteregel, die zu dieser Teilung
gehört.
Nach diesen Erläuterungen lassen sich die Arbeitsweisen der Elemente 24, 26 und
28 der Fig. 3 und 4 besser verstehen, wenn man sich auch auf die Fig. 6
oder 9 bezieht. Die Korrespondenz ergibt sich wie folgt:
- - Block 24 oder 240 und 241 der Fig. 3 und 4 entsprechen dem Mechanismus der Fig. 6 und werden wie dieser unter Bezug auf die Fig. 7A bis 7C erläutert;
- - Block 26 der Fig. 3 (260 und seine Umgebung in Fig. 4) entspricht den Blocks 78 bis 81 in Fig. 8;
- - Die Blocks 282 und 290 der Fig. 4 entsprechen den Blocks 82 und 83 der Fig. 8;
- - Der Block 28 der Fig. 3 (280 in Fig. 4) entspricht den Blocks 84 bis 90 der Fig. 8 sowie den Blocks 94 bis 96 für die Verwaltung von einem oder mehreren anderen Indices in der gleichen Epoche bei periodischer Betriebsart.
Man wird bemerkt haben, daß das Ende der Kanalzeitscheibe (FTC) durch den
Draht 201 (Signal HTC) in den Fig. 3 und 4 angezeigt wird (wenn kein Empfang
im Gang ist). Der Schaltkreis 22 (Gruppe 221 bis 229) zeigt das Kanalphasenende
(FPC) an.
Bei der Hardware-Ausführung in den Fig. 3 und 4 ist außerdem auf folgendes
hinzuweisen:
- - Das Laden des Inhalts des Registers 290 in das Register 260 erfolgt am Ende der Epoche derart, daß bei der nächsten Epoche die Zweierteilung für diesen Wert durchgeführt wird, wenn der Koppler nichts zum Senden hat (Fig. 8, Abfrage 72, Ausgang E ≠ 0), und zwar in der allgemeinen Betriebsart mit freien Eingängen oder in der periodischen Betriebsart.
- - Wenn eines der Signale +:= und -:= vorliegt, entspricht dies dem Auflegen eines Markierjetons auf die Knoten FTC (76, Fig. 8), FPC (86, Fig. 8), FPC (55, Fig. 6 und 10), FPC (86, Fig. 11). Die schnelle Art der Ausführung verwendet nur FPC.
- - Das Glied 275 (Fig. 4) definiert die Zugehörigkeit des aktuellen Index zur gewinnenden Teilmenge.
Schließlich zeigen die Fig. 9A und 9B, wie der Zähler j (28 oder 280 und 290)
mit Hilfe eines Schieberegisters aufgebaut werden kann.
Für die einzige allgemeine Betriebsart (Fig. 9A) wird das Register zuerst auf 0
gesetzt. Bei jeder Verschiebung tritt eine "1" auf der linken Seite oder eine "0" auf
der rechten Seite ein. Sein Zustand wird durch das erste Bit bestimmt und die
Größe des Registers kann auf k-Bit beschränkt sein.
Um wahlweise mit den beiden Betriebsarten zu arbeiten (Fig. 9B) wird die Größe
des Registers auf 9 Bits erhöht. Die Arbeitsweise bleibt die gleiche in der
allgemeinen Betriebsart.
In der periodischen Betriebsart wird der Wert von j=x-1 (Schritt 83, Fig. 8),
in Form eines Wortes mit n Bits geladen, von dem (im Prinzip) nur das (j-1)-te
Bit den Wert "0 08477 00070 552 001000280000000200012000285910836600040 0002003539510 00004 08358" hat und so den neuen Index definiert. Dasselbe erfolgt in Schritt
95 mit einem neuen Wert von j. Es ist klar, daß mehrere neue Indices durch
mehrere Bits mit 0 in j definiert werden können.
Im folgenden werden verschiedene Varianten des Verfahrens nach der Erfindung
untersucht, die sich im wesentlichen auf die allgemeine Betriebsart beziehen, die
periodische Betriebsart also nicht betreffen.
Wenn während einer Epoche in der allgemeinen Betriebsart eine Kollision auftritt,
hat der anfordernde Koppler festgestellt, daß mindestens zwei Indices existieren,
die sich auf zwei aktive Koppler in der betrachteten Menge X beziehen, die senden
wollen; die Menge wird dann in zwei Teilmengen G und P aufgeteilt. Wenn keiner
dieser Indices zur gewinnenden Teilmenge gehört, was zu einer leeren Scheibe
führt, die nach der Kollision festgestellt ist, kann man daraus schließen, daß sie
beide zur verlierenden Teilmenge gehören. Es ist in diesem Fall nicht zweckmäßig,
allen Kopplern der verlierenden Teilmenge eine neue Übertragung zu gestatten,
nachdem die leere Scheibe festgestellt wurde, da dabei zwingend eine Kollision
auftreten würde. Die Erfindung sieht daher vor, das Verfahren der Zweiertrennung
sofort für die verlierende Teilmenge durchzuführen, so daß eine Kanalscheibe
gespart wird. Dieser Schritt wird also bei jeder Feststellung von mindestens einer
leeren Scheibe unternommen, die auf eine Kollision folgt.
Zu diesem Zweck wurde das Diagramm in Fig. 10 bezüglich dessen in Fig. 6
modifiziert (wobei alle Elemente weggelassen wurden, die sich auf die periodische
Betriebsart beziehen). Die Schritte 61 und 63 bleiben die gleichen. Dagegen wird
die Kondition und E positiv entsprechend dem Zustand von RxD aufgeteilt.
Außerdem führt ein Schritt 66 nach dem Schritt 63 eine Bool′sche Größe C in den
wahren Zustand über. Nach dem Schritt 61 führt ein Schritt 67 dasselbe durch.
Nach dem Schritt 64 A, der den Wert von E um 1 herabgesetzt hat, führt Schritt
68 A die Bool′sche Größe C in den falschen Wert über, wenn das Fehlen einer
Kollision tatsächlich einem erfolgreichen Sendevorgang entspricht.
Im gegenteiligen Fall, wenn das Fehlen einer Kollision einen Ruhezustand
entspricht, prüft eine Abfrage 64 B die Bool′sche Variable C, die natürlich in jedem
Fall in dem Speicher enthalten ist. Wenn diese wahr ist, wird zum Knoten 54
zurückgekehrt. Wenn die Bool′sche Größe C den falschen Wert aufweist, setzt
Schritt 68 B den Wert von E um 1 herab.
Somit erlaubt die Bool′sche Variable C dem Auftreten von Sequenzen zu folgen, die
optimiert werden können, indem ein Unterschied gemacht wird zwischen einer
Kanalphase, bei der ein Sendevorgang ohne Kollision erfolgt, und einer leeren
Kanalscheibe. Die Regel für das Setzen der Bool′schen Variablen C ist die gleiche
wie für die Bool′sche Variable B, die später beschrieben wird.
Fig. 11 zeigt das optimierte Verfahren, mit dem die Autorisierungen zum
erneuten Senden oder die Auflösung von Kollisionen verwaltet werden, und das dem
Teil R in Fig. 8 entspricht, wobei alles weggelassen wurde, was die periodische
Betriebsart betrifft.
Wenn sich der aktuelle Index x nach der Abfrage 61 als zur verlierenden Menge
gehörig herausstellt, wird ein Knoten 81 A durchschritten, um anschließend eine
Bool′sche Variable B auf ihren wahren Wert zu setzen, was in einem Schritt 81 B
erfolgt. Man gelangt dann zum Knoten 84.
Bei der Beobachtung des Trägers in 85 bleiben die Verhältnisse aufgrund des
Schritts 89 dieselben wie früher mit der Ausnahme, daß zu 81 A zurückgekehrt wird
und nicht zu 84. Die anderen Fälle sind unterteilt.
Wenn keine Kollision aufgetreten ist und dementsprechend der Wert j=0 ist, aber
ein Sendevorgang erfolgte (RxD wahr), gibt der Ausgang 87 A dasselbe Ergebnis wie
früher. Ohne Kollision mit j=0 und ohne daß ein Signal auf dem Kanal übertragen
wird, prüft eine Abfrage 87 B die Bool′sche Variable B. Wenn diese falsch ist, ergibt
sich der gleiche Ausgang wie bei 87 A. Wenn sie wahr ist, so wird zu Knoten 77 in
Fig. 8 zurückgekehrt.
Liegt keine Kollision vor und ist dabei j verschieden von 0, und wenn auf dem
Kanal kein Signal mehr ansteht, prüft eine Abfrage 90 A noch die Bool′sche
Variable B. Wenn diese wahr ist, kehrt der Ausgang zum Knoten 84 zurück. Ist sie
falsch, erfolgt dasselbe, aber erst nachdem die Größe j um 1 herabgesetzt wurde.
Liegt schließlich keine Kollision vor und ist j verschieden von 0, ist aber eine
Nachricht auf dem Übertragungskanal übertragen worden, so setzt Schritt 90 C die
Größe j um 1 herab und Schritt 90 D setzt den Wert der Bool′schen Variablen auf
falsch, bevor zum Knoten 84 zurückgekehrt wird.
Man ersieht daraus, daß die Bool′sche Variable B den wahren logischen Wert im
Fall der Kollision annimmt und diesen Wert so lange beibehält, wie keine
erfolgreiche Nachrichtenübertragung festgestellt wurde (Bedingungen RxD und ).
Diese Bool′sche Variable wird auch geprüft, wenn eine leere Kanalzeitscheibe
festgestellt wurde (Bedingungen und ), und zwar unabhängig vom Wert von
j.
Wenn j=0 und B falsch ist, entsprach die vorhergehende Kanalphase einer
erfolgreichen Nachrichtenübertragung. In diesem Fall wird ein normaler Sendevorgang
versucht, ohne daß die Schritte der Zweiteilung übersprungen werden.
Wenn B wahr ist, befindet man sich im Gegenteil in einer Sequenz, die eine
Optimierung erlaubt, so daß unmittelbar die Zweierteilung durchgeführt wird bevor
der Untersuchung, ob eine neue Kollision aufgetreten ist.
Wenn j verschieden ist von 0 und B falsch, wird normalerweise der Wert von j
herabgesetzt. Wenn B wahr ist, wird diese Herabsetzung nicht durchgeführt. Diese
beiden Wählmöglichkeiten entsprechen dem, was oben beschrieben wurde.
Die vorliegende Beschreibung erstreckt sich nicht auf die Behandlung von Fehlern
der Koppler oder des gemeinsamen Übertragungskanals. Diese Behandlungen
betreffen das Verfahren gemäß der Erfindung nicht direkt. Als Beispiel sei nur
erwähnt, daß es natürlich zweckmäßig ist, Hinweissignale und geeignete Fehlerbearbeitungen
vorzusehen für anormale Fälle wie beispielsweise:
- - CD und E positiv in der periodischen Betriebsart (Abfrage 60, Fig. 6, und Abfrage 88, Fig. 8),
- - nicht mögliche Zweiertrennung (waagerechter Ausgang des Schrittes 80, Fig. 8),
- - j kleiner -1 (nicht eingezeichneter Ausgang der Abfrage 96, Fig. 8).
Das Verhalten des Verfahrens nach der Erfindung im Fehlerfall ist mindestens
äquivalent zu demjenigen der bekannten CMSA-CD-Verfahren.
Im übrigen kann die Erfindung entweder in Hardware und/oder Software ausgeführt
werden, wobei der Integrationsgrad der gewählten Komponenten als Funktion der
betreffenden Anwendung festgelegt wird. Schließlich kann die Erfindung auch für
die Übertragung von analogen Nachrichten verwendet werden, obwohl sie hier im
besonderen für die Übertragung von numerischen Nachrichten vorgesehen ist.
Claims (31)
1. Verfahren zur Übertragung von digitalen Nachrichten zwischen verschiedenen
Stationen vom Typ CSMA-CD, in dem die folgenden Merkmale enthalten sind:
- - jede Station (Si) ist mit mindestens einem Koppler (Ci) ausgestattet, der die Station an einen gemeinsamen Übertragungskanal (SC) anschließt, wobei der Koppler (Ci) einerseits Nachrichten an die Station (Si) übergibt und andererseits von der Station aus abzusendende Nachrichten an den Übertragungskanal (SC) einzuspeisen versucht,
- - jeder Koppler (Ci) überwacht laufend den Übertragungskanal (SC), um eigene Übergangszustände am Ende jeder Übertragung oder jedes ihn betreffenden Empfanges festzustellen sowie Kanalzeitscheiben (TC) zu definieren, wobei sich jeder Kanalzeitscheibe von einem Übergangszustand bis zum nächsten Übergangszustand oder bis zum Ende einer vorgegebenen Zeitdauer erstreckt, und um ferner Kollisionsbedingungen zu erstellen, wenn immer zumindest zwei Koppler (Ci) eine gleichzeitige Übertragung versuchen und eine Kollision (CD) auftritt,
- - jeder Koppler (Ci) kann auf Anforderung seiner Station (Si) nur dann mit dem Senden einer Nachricht innerhalb einer Kanalzeitscheibe (TC) beginnen, wenn auf dem Kanal kein Empfang stattfindet, ferner unterbricht jeder Koppler seinen Sendevorgang, wenn während der entsprechenden Kanalzeitscheibe (TC) ein Signal erscheint, das auf eine Kollision sowie auf gleichzeitige Sendevorgänge durch mehrere Koppler hinweist,
dadurch gekennzeichnet,
- - daß zu Beginn einer Übertragung jedem Koppler (Ci) mindestens ein ihm zugehöriger, zumindest die Priorität der Nachricht bezeichnender Index zugeordnet wird, der aus einer Menge von vorbestimmten Indices ausgewählt wird,
- - daß alle Koppler (Ci) mit einer durch Teilung eine Auswahl treffenden Einrichtung (Fig. 3: 26; Fig. 8: 70 bis 97) ausgestattet sind, die in einem als Epoche bezeichneten Arbeitszustand eine begrenzte Anzahl von Indices aus der Gesamtheit der Indices auswählt, wobei die auszuwählende Anzahl der Indices derart strukturiert ist, daß nach aufeinanderfolgenden, die Gesamtmenge der Indices umfassenden Auswahlvorgängen ein einziger der Indices übrigbleibt und die gesamten Auswahlvorgänge eine von der Struktur der gesamten Anzahl der Indices abhängende Maximalzahl von Schritten umfassen,
- - daß jeder Koppler (Ci) mindestens einen auf- und abwärts zählenden Zähler (Fig. 6: E) umfaßt und nur dann eine Übertragung erlaubt, wenn sein zugeordneter Zähler einen bestimmten Bezugswert (E=0) aufweist, wobei die Zählung beim Erreichen einer Kanalzeitscheibe (TC) mit Kollision (CD) absteigend und beim Erreichen einer Kanalzeitscheibe (TC) ohne Kollision (CD) ansteigend ist, und ferner der Zählzustand beim Auftreten einer Kollision einem Einstellwert (E=N) entspricht,
- - daß zumindest diejenigen Koppler (Ci), welche eine Kollision verursachen und während der Kollision bei auf dem Bezugswert (E=0) stehenden Zählstand gesendet haben, mit der schrittweisen Untersuchung der Indices beginnen und zwar gemäß einem vom Ende der Kanalphase (FPC), in welcher kein Empfang oder eine Kollision oder eine erfolgreiche Übertragung einer Nachricht war, abhängigen Signal,
- - daß während jeden Schrittes der schrittweisen Untersuchung nur diejenigen Koppler zur Übertragung einer Nachricht ermächtigt werden, die einen Index haben, der zu der begrenzten, aus der Gesamtzahl der Indices ausgewählten Anzahl gehört,
- - und daß der Zählstand erst dann den Bezugswert (E=0) erreicht, wenn die die Epoche erzeugende Kollision vollständig aufgelöst und der Koppler ermächtigt ist, frei zu senden.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
- - daß die Koppler (Ci), deren Automaten sich im Arbeitszustand befinden, einen zweiten Zählerstand (j) enthalten, der ebenfalls mit der Folge der Kanalphasenenden (FPC) und als Funktion des Vorhandenseins oder der Abwesenheit von Kollisionen während jeder Kanalphase fortgeschrieben wird, jedoch im Innern der Epoche und mit Einstell- und Bezugswerten, von denen mindestens einer von denjenigen des ersten Zählerstand verschieden ist.
3. Verfahren nach einem der Ansprüche 1 oder 2,dadurch gekennzeichnet,
- - daß die genannte vorbestimmte Reihenfolge als binärer Entscheidungsbaum strukturiert ist, mit dem die Menge der Indices durch aufeinanderfolgende Zweiteilungen unterteilt werden kann, bis einer nach dem anderen erreicht werden kann,
- - daß dem Entscheidungsbaum eine Untersuchungs-/Entscheidungsregel zugeordnet ist, die eine Funktion der Tatsache ist, daß die vorangehende Kanalphase zu einem Ruhezustand, einer Kollision oder der erfolgreichen Sendung einer Nachricht geführt hat,
- - und daß die Einstellwerte (E=N) und die Bezugswerte (E=0) des ersten Zählerstands in Zweierschritten (N=2) aufgebaut sind, wobei dieser Zählerstand durch Erhöhung oder Herabsetzung bezüglich des Bezugswertes fortgeschrieben wird, und zwar abhängig davon, ob die vorangehende Kanalphase Gegenstand einer Kollision war oder nicht.
4. Verfahren nach den Ansprüchen 2 und 3,
dadurch gekennzeichnet,
- - daß die Untersuchungs-/Entscheidungsregel umfaßt:
- - den Übergang zur anderen Teilmenge der gerade durchgeführten Zweierteilung, wenn eine Kanalphase mit Ruhestand oder eine Kanalphase mit erfolgreicher Sendung vorliegt,
- - eine neue Zweierteilung der gerade untersuchten Teilmenge, wenn eine Kanalphase mit einer Kollision vorliegt,
- - und das die Einstellwerte und die Bezugswerte des zweiten Zählerstandes die gleichen sind (j=0), wobei dieser Zählerstand in gleichen Schritten wie der erste fortgeschrieben wird, und zwar durch Erhöhen oder Herabsetzen bezüglich seines eigenen Bezugswertes, so daß dieser zweite Zählerstand einem Koppler erlaubt festzustellen, ob er in eine Teilmenge reintegriert wurde, die ihn zum Senden autorisiert.
5. Verfahren nach Anspruch 4,
dadurch gekennzeichnet,
- - daß in Gegenwart einer Kanalphase mit Ruhestand die Untersuchungs-/Entscheidungsregel eine neue, sofortige Zweierteilung der anderen Teilmenge in der gerade durchgeführten Zweierteilung umfaßt.
6. Verfahren nach einem der Ansprüche 4 oder 5,
dadurch gekennzeichnet,
- - daß in Gegenwart einer Kollision (CD), in deren Verlauf sich die Zählerstände der Koppler bei dem Bezugswert (E=0) befinden, alle Koppler (Ci) ihre Automaten in den Arbeitszustand überführen,
- - und daß in der Folge der Epoche auch das Senden einer Nachricht durch diejenigen Koppler autorisiert wird, deren Indices zu einer Teilmenge gehören, die eine noch nicht aufgelöste Kollision hervorgerufen haben.
7. Verfahren nach einem der Ansprüche 3 bis 6,
dadurch gekennzeichnet,
- - daß der genannte Binärbaum entsprechend den aufeinanderfolgenden Bits der Indices und der Reihenfolge definiert wird, in der sie erscheinen.
8. Verfahren nach einem der Ansprüche 3 bis 7,
dadurch gekennzeichnet,
- - daß jedem Koppler (Ci) mehrere Binärindices zugeordnet werden, die jeweils verschiedenen Prioritätsniveaus entsprechen,
- - und daß die genannte Untersuchungs-/Entscheidungsregel die Teilmengen der Indices in der Reihenfolge der Prioritäten untersucht.
9. Verfahren nach einem der Ansprüche 1 oder 2,
dadurch gekennzeichnet,
- - daß die genannte vorbestimmte Reihenfolge eine Folge aller Indices ist, die nacheinander genommen werden,
- - und daß der Unterschied zwischen den Einstellwerten (E=N) und den Bezugswerten (E=0) des ersten Zählerstandes mindestens gleich der Anzahl der Schritte in der genannten Folge ist, wobei dieser Zählerstand bei jedem Kanalphasenende ohne Kollision dem Bezugswert zustrebt.
10. Verfahren nach Anspruch 9 und 2,
dadurch gekennzeichnet,
- - daß jedem Koppler mehrere Indices zugeordnet werden, wodurch ein Koppler in die Lage versetzt wird, in der gleichen Epoche mindestens eine weitere Nachricht mit einem anderen Index durchzulassen.
11. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet,
- - daß ein Koppler (Ci), der von seiner Station keine Sendeanforderung für eine Nachricht erhalten hat, so behandelt wird, als würde er eine Nachricht "0" senden, wodurch alle Koppler so gleichzeitig ihren Automaten in den Arbeitszustand oder die Epoche überführen.
12. Verfahren nach einem der vorstehenden Ansprüche,
dadurch gekennzeichnet,
- - daß für jeden in Betrieb genommenen Koppler der erste Zählerstand (E) dieses Kopplers auf einen Wert gesetzt wird, der mindestens gleich der maximalen Anzahl von Schritten in der vorbestimmten Reihenfolge ist.
13. Einrichtung zur Durchführung eines Verfahrens nach einem der vorstehenden
Ansprüche mit einem Koppler, der definiert ist durch:
- - einen Steuerschaltkreis für den Übertragungskanal (GSC), der mindestens drei logische Signale erzeugen kann, die anzeigen, daß ein Sendevorgang durch den Koppler im Gang ist (TxD) bzw. daß ein Empfangsvorgang auf dem Kanal im Gang ist (RxD) bzw. daß eine Kollision in dem Kanal festgestellt wurde (CD),
- - einen Befehlsschaltkreis (GER), der die Verbindung zwischen der übrigen Station und dem Steuerschaltkreis (GSC) sicherstellt, und zwar als Funktion der auf dem Kanal empfangenen Signale und der Sendeanforderungen für Nachrichten, die von der Station ausgegeben werden,
dadurch gekennzeichnet,
- - daß der Befehlsschaltkreis enthält:
- - Vorrichtungen zum Speichern von mindestens einem Binärindex, der ihm zugeordnet ist und von mindestens einer Sendeanforderung für eine Nachricht, die sich auf diesen Index bezieht,
- - logische Vorrichtungen für eine Kanalphase (24; FPC), um die Enden der Kanalphase zu definieren, in der kein Übertragungsvorgang (Ruhe) oder eine Kollision aufgetreten ist oder in der ein erfolgreicher Sendevorgang für eine Nachricht stattgefunden hat,
- - erste Zählmittel (24; E), die entsprechend der Folge der Kanalphasenenden fortgeschrieben werden bis zu einem gewählten Bezugswert,
- - logische Mehrzustandsvorrichtungen (26; 75-80), die einen Automaten definieren, der einen Ruhezustand und einen als Epoche bezeichneten Arbeitszustand besitzt, in dem er eine vorbestimmte Reihenfolge von Teilmengen von Indices erzeugt, die so strukturiert ist, daß man durch aufeinanderfolgende Wählvorgänge einen einzigen der Indices erreicht und daß auf diese Weise die gesamte Menge der Indices abgedeckt ist, wobei die genannte Reihenfolge eine Maximalanzahl von Schritten umfaßt, die eine Funktion seiner Struktur und der Gesamtanzahl von Indices ist,
- - Vorrichtungen (11; 70-74), die den Koppler nur dann zu freien Sendevorgängen autorisieren, wenn sich der erste Zählerstand bei seinem Bezugswert (E=0) befindet,
- - und Vorrichtungen (24; 63) die auf das Vorliegen einer Kollision reagieren, wenn sich der erste Zählerstand bei seinem Bezugswert befindet, in dem dieser erste Zählerstand auf einen gewählten Einstellwert gesetzt wird und in dem der Automat in seinen Arbeitszustand oder seine Epoche übergeführt wird,
- - Vorrichtungen (11; 81), die den Koppler nur dann zum Senden autorisieren, wenn sein Index zu der Teilmenge gehört, die jedesmal durch den Automaten bezeichnet wird, wobei der Einstellwert und der Bezugswert so gewählt werden, daß der Zählerstand seinen Bezugswert nur nach vollständiger Auflösung der Kollision erreicht, die die Epoche erzeugt hat, und die Koppler dann von neuem zu freien Sendevorgängen autorisiert werden, während die Automaten in ihren Ruhestand zurückkehren, wodurch jede Kollision in einer beschränkten Zeit aufgelöst werden kann.
14. Einrichtung nach Anspruch 13,
dadurch gekennzeichnet,
- - daß sie zweite Zählermittel (28 j) enthält, die ebenfalls entsprechend der Folge der Kanalphasenenden (FPC) und als Funktion des Vorhandenseins oder der Abwesenheit von Kollisionen während jeder Kanalphase fortgeschrieben werden, jedoch im Innern der Epoche und mit Einstellwerten und Bezugswerten, von denen mindestens einer von denjenigen der ersten Zählervorrichtungen verschieden ist.
15. Einrichtung nach einem der Ansprüche 13 oder 14,
dadurch gekennzeichnet,
- - daß die logischen Mehrzustandsvorrichtungen so eingerichtet sind, daß sie eine vorbestimmte Reihenfolge definieren, die als binärer Entscheidungsbaum strukturiert ist, und die Menge der Indices durch aufeinanderfolgende Zweierteilungen aufteilen, bis einer nach dem anderen erreicht wird, und dem eine Untersuchungs-/Entscheidungsregel als Funktion der Tatsache zugeordnet ist, daß die vorangehende Kanalphase einen Ruhezustand, eine Kollision oder einen erfolgreichen Sendevorgang hervorgerufen hat,
- - und daß die Einstellwerte und die Bezugswerte des ersten Zählerstands (E) in Zweierschritten aufgebaut sind, wobei der Zählerstand bezüglich des Bezugswertes um einen Schritt erhöht oder herabgesetzt wird, abhängig davon, ob die vorangehende Kanalphase Gegenstand einer Kollision war oder nicht.
16. Einrichtung nach den Ansprüchen 14 und 15,
dadurch gekennzeichnet,
- - daß die logischen Mehrzustandsvorrichtungen eine Untersuchungs-/Entscheidungsregel
ausführen, die umfaßt:
- - den Übergang zur anderen Teilmenge der gerade durchgeführten Zweierteilung, wenn eine Kanalphase mit Ruhestand oder eine Kanalphase mit einem erfolgreichen Sendevorgang vorliegt,
- - eine neue Zweierteilung der gerade untersuchten Teilmenge, wenn eine Kanalphase mit einer Kollision vorliegt,
- - und daß die Einstellwerte und die Bezugswerte des zweiten Zählerstands (j) die gleichen sind, wobei dieser Zählerstand wie der erste bezüglich seines eigenen Bezugswertes um einen Schritt erhöht oder herabgesetzt wird, so daß dieser zweite Zählerstand einem Koppler erlaubt festzustellen, ob er wieder in eine Teilmenge integriert wurde, die ihn zum Senden autorisiert.
17. Einrichtung nach Anspruch 16,
dadurch gekennzeichnet,
- - daß bei Vorliegen einer Kanalphase mit Ruhezustand die Untersuchungs-/Entscheidungsregel eine sofortige neue Zweierteilung für die andere Teilmenge der gerade durchgeführten Zweierteilung enthält.
18. Einrichtung nach einem der Ansprüche 16 oder 17,
dadurch gekennzeichnet,
- - daß bei Vorliegen einer Kollision (CD), während der sich der erste Wählstand des Kopplers beim Bezugswert (E=0) befindet, der Koppler seinen Automaten systematisch in den Arbeitszustand überführt,
- - und daß in der Folge der Epoche die Sendung einer Nachricht durch den Koppler für die Indices autorisiert bleibt, die zu einer Teilmenge gehören, die zu einer noch nicht aufgelösten Kollision geführt hat.
19. Einrichtung nach einem der Ansprüche 15 bis 18,
dadurch gekennzeichnet,
- - daß die logischen Multizustandsvorrichtungen so ausgeführt sind, daß der genannte Binärbaum entsprechend den aufeinanderfolgenden Bits der Indices und der Reihenfolge, in der sie angeordnet sind, definiert ist.
20. Einrichtung nach Anspruch 19,
dadurch gekennzeichnet,
- - daß die logischen Multizustandsvorrichtungen Vorrichtungen enthalten, die ein Register (260) bilden, dessen Kapazität mindestens gleich ist der maximalen Anzahl von signifikanten Bits, die in den Indices der vorbestimmten Menge vorhanden sind, und Vorrichtungen zum Vergleichen des Inhalts des Registers mit dem aktuellen Index.
21. Einrichtung nach Anspruch 20,
dadurch gekennzeichnet,
- - daß der Koppler als Antwort auf eine Epoche seinen aktuellen Index in das Register (260) lädt, das ein bei jeder Zweierteilung betätigtes Schieberegister ist, wobei sich der Vergleich auf das Bit bezieht, das am nutzbaren Ende des Registers auf der Seite der Verschiebung liegt.
22. Einrichtung nach einem der Ansprüche 15 bis 21,
dadurch gekennzeichnet,
- - daß der Koppler anfänglich mehrere Indices mit unterschiedlichen Prioritäten empfängt, die genannte Untersuchungs-/Entscheidungsregel die Teilmengen der Indices in der Reihenfolge der Prioritäten untersucht und die Sendeanforderungen für Nachrichten jeweils mit einem der Indices als Funktion ihrer Priorität verbunden sind.
23. Einrichtung nach einem der Ansprüche 13 oder 14,
dadurch gekennzeichnet,
- - daß die genannte vorbestimmte Reihenfolge eine Folge aller nacheinander genommenen Indices ist,
- - und daß der Unterschied zwischen dem Einstellwert (E=N) und dem Bezugswert (E=0) des ersten Zählerstandes mindestens gleich ist der Anzahl von Schritten in der genannten Folge, wobei der Zählerstand bei jedem Kanalphasenende ohne Kollision in Richtung auf den Bezugswert fortgeschrieben wird.
24. Einrichtung nach Anspruch 23 und Anspruch 14,
dadurch gekennzeichnet,
- - daß dem Koppler mehrere Indices zugeordnet werden, wodurch es dem Koppler ermöglicht wird, mindestens eine weitere Nachricht mit einem anderen Index in der gleichen Epoche durchzulassen.
25. Einrichtung nach einem der Ansprüche 13 bis 24,
dadurch gekennzeichnet,
- - daß sich der Koppler so verhält, als würde er eine Nachricht "0" übertragen wollen, wenn er keine Sendeanforderung für eine Nachricht von seiner Station erhalten hat und so seinen Automaten systematisch in den Arbeitszustand oder die Epoche überführt, sobald eine Kollision während des Ruhezustandes desselben Automaten auftritt.
26. Einrichtung nach einem der Ansprüche 13 bis 25,
dadurch gekennzeichnet,
- - daß mindestens eine der ersten und zweiten Zählerstandvorrichtungen ein Schieberegister enthält.
27. Einrichtung nach einem der Ansprüche 13 bis 26,
dadurch gekennzeichnet,
- - daß der erste Zählerstand des Kopplers zu seinem Inbetriebsetzen auf einen Wert gesetzt wird, der mindestens gleich ist der Maximalzahl von Schritten der vorbestimmten Reihenfolge (E=k+1 oder E=N).
28. Einrichtung nach einem der Ansprüche 13 bis 27,
dadurch gekennzeichnet,
- - daß er zwischen dem Betrieb nach einem der Ansprüche 15 bis 22 und dem Betrieb nach einem der Ansprüche 23 und 24 umgeschaltet werden kann.
29. Einrichtung nach einem der Ansprüche 13 bis 28,
dadurch gekennzeichnet,
- - daß sie mehrere der beanspruchten Koppler enthält, die an einen gemeinsamen Übertragungsträger angeschlossen sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR8416957A FR2597686B1 (fr) | 1984-11-07 | 1984-11-07 | Procede et dispositif pour la transmission de messages entre differentes stations, a travers un reseau local a diffusion. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3539510A1 DE3539510A1 (de) | 1988-01-07 |
DE3539510C2 true DE3539510C2 (de) | 1990-03-08 |
Family
ID=9309353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853539510 Granted DE3539510A1 (de) | 1984-11-07 | 1985-11-07 | Verfahren und einrichtung zur uebertragung von nachrichten zwischen verschiedenen stationen ueber ein lokales verteilernetz |
Country Status (7)
Country | Link |
---|---|
US (1) | US4847835A (de) |
CA (1) | CA1257006A (de) |
DE (1) | DE3539510A1 (de) |
FR (1) | FR2597686B1 (de) |
GB (1) | GB2188215B (de) |
IT (1) | IT1185725B (de) |
SE (1) | SE462775B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3930316A1 (de) * | 1989-09-11 | 1991-03-21 | Carmelita Dr Rer Nat Goerg | Kanalzugriffsverfahren fuer ein als bus-system konfiguriertes lokales uebertragungsnetz |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2675324B1 (fr) * | 1991-04-15 | 1994-07-29 | Cap Sesa | Procede et dispositif pour la resolution de collisions au cours d'une transmission de messages entre differentes stations, a travers un reseau local a diffusion. |
FR2689713B1 (fr) | 1992-04-02 | 1994-09-23 | Inst Nat Rech Inf Automat | Dispositif de transmission de données pour réseau à accès aléatoire, avec résolution de collision perfectionnée, et procédé correspondant. |
FR2726954B1 (fr) | 1994-11-15 | 1997-01-24 | Dassault Electronique | Unite-relais entre station et canal de communication, en particulier pour reseau ethernet |
JPH1098787A (ja) * | 1996-09-24 | 1998-04-14 | Matsushita Electric Ind Co Ltd | 送受信方式 |
FR2760161B1 (fr) * | 1997-02-27 | 1999-09-24 | Alsthom Cge Alcatel | Reseau informatique a acces non deterministe, mais a temps d'acces deterministe |
US6807189B1 (en) * | 1999-04-09 | 2004-10-19 | Advanced Micro Devices, Inc. | Method for reducing collisions, latency and latency jitter in a network by maintaining a contention-resolution derived queue ordering |
US6765924B1 (en) * | 1999-08-19 | 2004-07-20 | Intel Corporation | Networking method and apparatus using silent slots to facilitate transmission collision detection |
US20080016248A1 (en) * | 2006-07-14 | 2008-01-17 | George Tsirtsis | Method and apparatus for time synchronization of parameters |
US9408746B2 (en) | 2010-03-31 | 2016-08-09 | Ocuject, Llc | Device and method for intraocular drug delivery |
US9421129B2 (en) * | 2012-04-02 | 2016-08-23 | Ocuject, Llc | Intraocular delivery devices and methods therefor |
US9504603B2 (en) | 2012-04-02 | 2016-11-29 | Ocuject, Llc | Intraocular delivery devices and methods therefor |
GB2526810B (en) * | 2014-06-03 | 2017-07-05 | Canon Kk | Method and apparatus for transmitting sensor data in a wireless network |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4063220A (en) * | 1975-03-31 | 1977-12-13 | Xerox Corporation | Multipoint data communication system with collision detection |
US4199661A (en) * | 1978-05-05 | 1980-04-22 | Control Data Corporation | Method and apparatus for eliminating conflicts on a communication channel |
US4531238A (en) * | 1981-12-03 | 1985-07-23 | Xerox Corporation | Statistical contention control for star configured communication networks |
US4466096A (en) * | 1982-03-11 | 1984-08-14 | International Business Machines Corporation | Apparatus and method for providing transmitter hierarchy control for efficient channel management |
JPS5913444A (ja) * | 1982-07-14 | 1984-01-24 | Fuji Xerox Co Ltd | 再送制御方式 |
US4513370A (en) * | 1982-07-19 | 1985-04-23 | Amdahl Corporation | Data transfer control system and method for a plurality of linked stations |
US4513427A (en) * | 1982-08-30 | 1985-04-23 | Xerox Corporation | Data and clock recovery system for data communication controller |
US4593282A (en) * | 1983-04-14 | 1986-06-03 | At&T Information Systems Inc. | Network protocol for integrating synchronous and asynchronous traffic on a common serial data bus |
JPS59194546A (ja) * | 1983-04-19 | 1984-11-05 | Nec Corp | アクセス方式 |
US4598285A (en) * | 1983-05-27 | 1986-07-01 | At&T Bell Laboratories | Scheme for reducing transmission delay following collision of transmissions in communication networks |
US4628311A (en) * | 1983-10-19 | 1986-12-09 | International Business Machines Corporation | Carrier sense multiple access with collision avoidance utilizing rotating time staggered access windows |
US4630264A (en) * | 1984-09-21 | 1986-12-16 | Wah Benjamin W | Efficient contention-resolution protocol for local multiaccess networks |
-
1984
- 1984-11-07 FR FR8416957A patent/FR2597686B1/fr not_active Expired
-
1985
- 1985-11-05 GB GB08527202A patent/GB2188215B/en not_active Expired
- 1985-11-05 US US06/820,254 patent/US4847835A/en not_active Expired - Lifetime
- 1985-11-06 CA CA000494659A patent/CA1257006A/fr not_active Expired
- 1985-11-06 IT IT22734/85A patent/IT1185725B/it active
- 1985-11-06 SE SE8505234A patent/SE462775B/sv not_active IP Right Cessation
- 1985-11-07 DE DE19853539510 patent/DE3539510A1/de active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3930316A1 (de) * | 1989-09-11 | 1991-03-21 | Carmelita Dr Rer Nat Goerg | Kanalzugriffsverfahren fuer ein als bus-system konfiguriertes lokales uebertragungsnetz |
Also Published As
Publication number | Publication date |
---|---|
IT8522734A0 (it) | 1985-11-06 |
DE3539510A1 (de) | 1988-01-07 |
GB8527202D0 (en) | 1987-07-08 |
SE8505234D0 (sv) | 1985-11-06 |
FR2597686B1 (fr) | 1988-12-23 |
CA1257006A (fr) | 1989-07-04 |
SE462775B (sv) | 1990-08-27 |
US4847835A (en) | 1989-07-11 |
IT1185725B (it) | 1987-11-12 |
GB2188215A (en) | 1987-09-23 |
FR2597686A1 (fr) | 1987-10-23 |
GB2188215B (en) | 1988-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3300261C2 (de) | ||
DE3300260C2 (de) | ||
DE3539510C2 (de) | ||
DE3300263C2 (de) | ||
DE2451008C2 (de) | Schaltungsanordnung zur Steuerung der Datenübertragung innerhalb einer digitalen Rechenanlage | |
DE2162806C2 (de) | Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle | |
DE2901762A1 (de) | Datenuebertragungs- und verarbeitungsanlage | |
DE2212501C2 (de) | Einrichtung zur Übertragung asynchroner, digitaler Signale | |
DE4032725C2 (de) | Steuerungsverfahren für Kommunikationsantwort | |
EP0443003B1 (de) | Kanalzugriffsverfahren für ein als bus-system konfiguriertes lokales übertragungsnetz | |
DE2461091C3 (de) | Gerät zur Erfassung und Weitergabe der Anzahl von ein bestimmtes Ereignis repräsentierenden Signalen | |
WO2004111859A2 (de) | Verfahren, vorrichtung und system zum austausch von daten über ein bussystem | |
EP0862827B1 (de) | Verfahren zum überprüfen eines gemäss einem kommunikationsprotokoll durchgeführten datenaustausches | |
DE3636317C2 (de) | ||
EP0009600B1 (de) | Verfahren und Schnittstellenadapter zum Durchführen von Wartungsoperationen über eine Schnittstelle zwischen einem Wartungsprozessor und einer Mehrzahl einzeln zu prüfender Funktionseinheiten eines datenverarbeitenden Systems | |
DE2515884C2 (de) | Verfahren und Einrichtungen zur verschlüsselten Übertragung von Nachrichten | |
EP0175095A1 (de) | Datenübertragungsverfahren über einen Multiprozessorbus | |
DE60013023T2 (de) | Methode und Einheit zum Steuern der Ausgabe-Ordnung von temporär gespeicherten Daten oder Objekten | |
DE2629401A1 (de) | Datenverarbeitungssystem | |
DE19502230C2 (de) | Fuzzy-Regler für ein technisches System | |
EP0908891B1 (de) | Schaltungsanordnung zur Behandlung von Zugriffskonflikten | |
EP0064759A2 (de) | Verfahren und Schaltungsanordnung zur Übermittlung einer Anforderung eines Prozessors an einen Speichermodul in einem Multiprozessorsystem mit mehreren Speichermoduln | |
DE10216920A1 (de) | Verfahren und Vorrichtung zur Überprüfung einer Überwachungsfunktion eines Bussystems und Bussystem | |
EP0100460B1 (de) | Anforderungsauswahlsteuerung in einem Prozessor-Speicher-Verbindungssystem | |
DE3736468A1 (de) | Verfahren zum prioritaetsgesteuerten zugriff und anordnung zum durchfuehren des verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: H04L 11/16 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |