WO1990009711A1 - Verfahren zum verkürzen einer verteilten warteschlange - Google Patents

Verfahren zum verkürzen einer verteilten warteschlange Download PDF

Info

Publication number
WO1990009711A1
WO1990009711A1 PCT/CH1990/000024 CH9000024W WO9009711A1 WO 1990009711 A1 WO1990009711 A1 WO 1990009711A1 CH 9000024 W CH9000024 W CH 9000024W WO 9009711 A1 WO9009711 A1 WO 9009711A1
Authority
WO
WIPO (PCT)
Prior art keywords
packets
packet
node
request
empty
Prior art date
Application number
PCT/CH1990/000024
Other languages
English (en)
French (fr)
Inventor
Sathyanarayana Rao
Reto Beeler
Martin Potts
Original Assignee
Ascom Tech Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ascom Tech Ag filed Critical Ascom Tech Ag
Priority to DE59007680T priority Critical patent/DE59007680D1/de
Priority to EP90902136A priority patent/EP0413005B1/de
Publication of WO1990009711A1 publication Critical patent/WO1990009711A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2852Metropolitan area networks

Definitions

  • the invention relates to a method for shortening a distributed queue, which consists on a digital transmission line with a plurality of nodes, according to the preamble of the independent claim.
  • the distributed queue enables every node to access the bus lines almost at any time, which is particularly useful for short, urgent messages, e.g. Alerts, is important.
  • the queue is formed in heavy traffic due to a protocol that is always effective and is found in every node. This protocol prescribes the following:
  • each node In each node, a bit is continuously read into a FIFO memory (first-in, first-out) for each forwarded request packet R and one bit is read out for each forwarded empty packet E. This builds up the above-mentioned image of the queue in the FIFO memory. - If a transmission request is made in one direction, this request is signaled in the opposite direction. For this purpose, the respective node receives a non-request packet N, converts it into a request packet R and sends it out. The send request is also entered in an identifiable manner into the FIFO memory.
  • this event gives the node permission to send.
  • This node now receives an incoming empty packet E, fills it with information and sends it out as information packet B. The next transmission request can then be registered accordingly.
  • the protocol described works satisfactorily and always balances interests between the nodes involved. However, it is disadvantageous that the method based on the protocol cannot be applied to transmission devices which have a real ring structure (without any end-of-bus units).
  • the object of the invention is on the one hand to remedy this deficiency. On the other hand, it is the object of the invention to minimize the length and extent of the distributed queue present and possibly also to allow several queues next to one another.
  • Transmission device in particular also possible with ring-shaped devices.
  • FIG. 5 block diagram of a first FIFO memory
  • FIG. 6 block diagram of a second FIFO memory
  • FIG. 7 scheme of a third FIFO memory.
  • Fig. 1 shows a first transmission device 10 with a plurality, e.g. eight equal nodes 12. These are connected to two ring-shaped bus lines 14 and 16, one of which (14) is operated in a clockwise direction and the other (16) in an anti-clockwise direction. The nodes 12 and the bus lines 14, 16 are connected to one another in such a way that the information running on the latter (14, 16) also runs through the nodes 12.
  • FIG. 2 shows a second transmission device 11, which is constructed very similarly to the device according to FIG. 1. The difference is that in FIG. 2 the nodes 12 are connected to the two bus lines 14, 16 in such a way that in this case the These lines 14, 16 current information remains essentially on the lines and the nodes 12 branch the information from these (14, 16) or deliver them to them.
  • Address-coded packets 21 circulate continuously on bus lines 14 and 16 in the same clock cycle. 3 shows such a package 21. It is divided into a header 22 and an information portion 25 that occurs later or directly follows. In the header 22, two areas 23 and 24 have been eliminated, preferably one each only bit that indicate the meaning of the respective packet. The area 23 indicates whether it is an empty packet E or an information packet B, the area 24 differentiates according to request packets R and non-request packets N.
  • the transmission devices 10 or 11 can fundamentally transmit information via both bus lines 14, 16, the area 23 with the meanings E or B is used for the selected transmission direction and the area 24 with the meanings N is opposite the selected transmission direction or R used. These areas of meaning 23, 24 are used independently of one another for independent processes in the two directions.
  • FIG. 4 shows the procedure of a queue W for a single transmission direction and a single node 12.
  • This queue W builds up and down step by step with the packets 21 running on the two bus lines 14, 16. These steps n are therefore numbered in the top line, starting with 1.
  • Events X and Z are plotted in the second line and are described below.
  • the third line indicates which types of packets N and R reach and leave the node under consideration via bus line 14 during the respective step n. This is followed in the middle part of the figure by the representation of the respective queue image w.
  • This image is bound to a FIFO memory 30 (first-in-first-out) described in more detail below and shows how many requests R have to be completed in total before a separate request r can be started.
  • the bottom line indicates which types of packets E and B reach and leave the node under consideration via the other bus line 16.
  • the queue W and with it its image w builds up and down according to the known protocol mentioned. This process is explained in detail using the example of FIG. 4 as follows:
  • Step 1 The image w currently consists of 3 inquiries R. A non-inquiry packet N comes and goes on the bus 14, an information packet B on the bus 16. The image w does not change as a result.
  • Step 2 The node wishes to send information, which is indicated by the X character.
  • a non-request packet N arrives on the bus 14, which is converted into a request packet R because of the transmission request X and is transmitted as such.
  • the transmission request is read into the image w of the queue W (and thus into the queue itself) as a request r and is thus recognizable.
  • An information package B passes on bus 16.
  • Steps 3 and 4 A non-request packet N passes on the bus 14 and an empty packet E on the bus 16. This reduces the length of the image w by one unit R.
  • Steps 5 and 6 An inquiry packet R passes on bus 14 and an information packet on bus 16. This extends the image w back to 4 requests.
  • Steps 7 to 10 A non-request packet N happens on the bus 14 and an empty packet E on the bus 16. As a result, the length of the image w decreases to zero.
  • the query r is read out, which effects the conversion of the assigned empty packet E into an information packet B and is identified as event Y.
  • Steps 11 and 12 On the basis of an inquiry packet R on the bus 14, an image queue w builds up again or on the bus 16 due to an empty packet E.
  • Step 13 There is no queue W, its image w is zero, i.e. the FIFO memory is empty. A non-request packet N occurs on bus 14, and an empty packet E occurs on bus 16.
  • Steps 14 and 15 Since the FIFO memory 30 is empty and an empty packet E is passed on the bus 16 in steps 13 and 14, a request packet R arriving on the bus 14 is converted into a non-request packet N and as such forwarded. These events are each identified by the Z character.
  • Step 16 In step 15 an information packet B happens on the bus 16, therefore in step 16 an inquiry packet R is passed on as such.
  • the FIFO memory 30 fills up due to the request packet R, but empties again immediately since an empty packet E happens on the bus 16.
  • Step. 17 A non-request packet N occurs on bus 14, an empty packet E occurs on bus 16.
  • Step 18 same as step 15.
  • each node 12 the FIFO counter 30 of which is empty, a request packet R of the respective one is sent for each empty packet E sent to the bus line (for example 16) in one direction another direction converted into a non-request packet N and sent or passed on as such.
  • the empty packets E which are sent out are both those generated by the respective node 12 themselves, empty packets and empty packets passing on the bus line.
  • At least one of the nodes 12 must generate empty packets E from used packets on a ring-shaped transmission device 10, 11.
  • several or even all nodes 12 serve as a source for empty packets E.
  • destroying request packets E in the manner described or converting them into non-request packets N shortens the respective queues W and reduces their spatial extent Queues.
  • the average access time for all nodes 12 is reduced, since fewer request packets R circulate and the average time until a usable empty packet E passes by is shortened.
  • the method for shortening a possibly existing, distributed queue W is based on the fact that, when the FIFO memory 30 is empty, a request packet follows immediately after each empty packet E sent. R is converted into a non-request packet N. This is unnecessarily restrictive. More generally, it only has to be required that a maximum of the same number of request packets R can be converted for all empty packets E sent out during a not too long time interval T1 during a subsequent, equally long interval T2.
  • the length of the time intervals T can, for example, be fixed and correspond to the duration of ten packet lengths.
  • FIG. 5 shows a first block diagram of the FIFO memory 30 for the image w of the queue W.
  • This memory is designed as a unit which has an up / down counter 32, a down counter 34, a switch 38, an AND gate 39 and an associated one Control 36 includes.
  • the counter 32 increases its counter reading by (+) 1 for each passing request packet R and decreases the counter reading by (-) 1 for each passing empty packet E when the switch 38 is shown.
  • the respective resulting counter reading p corresponds to the image w of the queue W.
  • the respective current counter reading p is transmitted in parallel to the counter 34 and entered there as the counter reading q.
  • the counter reading p is then set to zero in the counter 32 and the switch 38 is switched to pass to the counter 34.
  • the counter 34 decreases its counter reading q by (-) l if an empty packet E happens, and the counter 32 increases its counter reading p by (+) 1 if a request packet R happens.
  • the respective node 12 receives the permission Y (FIG. 4) for sending out the said own request r in the form of a request packet R and the next own request r can be queued W in accordance with what has been described be inserted.
  • a signal f appears at the output 50.
  • FIG. 6 shows a second block diagram of the FIFO memory 30.
  • This memory 30 comprises. a processor 40, a program memory 41 and two count memories 42, 44.
  • This FIFO memory 30 operates on the basis of a program stored in the program memory 41 in the same way as the circuit of FIG. 5, the count memories 42, 44 corresponding to the counters 32, 34, ie keep the counter readings p and q.
  • the trigger events R, r, E are input to the FIFO memory 30 via the input 45.
  • the output signals f and g appear at the output 46 when the counter reading q is equal to zero or when the counter readings q and p are both equal to zero.
  • the presence of the output signal f allows the start of a separate request r. If there is an output signal g, then an incoming request packet R can be converted into a non-request packet N.
  • a variant of the FIFO memories 30 from FIGS. 5 and 6 consists in the fact that in the counter 32 or in the counter memory 42 the counter reading p is continuously updated by up / down counting and no zeroing when the respective counter reading p is transferred to the counter 34 or in the counter memory 44.
  • Fig. 7 shows a further variant of the FIFO memory 30.
  • this has several, e.g. eight. Lines of memory on each with several parallel bits. These bits are used in the left column 61 to indicate whether the line is empty or occupied (shown as 0 or 1).
  • the symbols R and r are used for the type of request and 0 for "empty".
  • the memory 30 is fed by the requests R and r and outputs the signals g and f.
  • FIFO memory 30 Other than the described three exemplary embodiments of the FIFO memory 30 are readily possible.
  • the method for eliminating request packets R as quickly as possible has only been described for one of the two transmission directions.
  • the extension is for simultaneous use for both directions of transmission. unproblematic and preferred in practice.
  • the packet areas 23 and 24 of each packet 21 are used independently of one another for one or the other transmission direction.
  • the method is in principle suitable for each transmission device 10 with two parallel bus lines 14, 16 running in opposite directions in the transmission direction.
  • the ring-shaped transmission devices are particularly suitable for the method.
  • the areas 23, 24 in the header 22 of the packets 21 serve to distinguish between empty packets E and information packets B and non-request packets N and request packets R. A single bit is sufficient for these differentiations. However, for reasons of desirable redundancy or the like, it is readily possible to expand these areas 23, 24 to two or more bits.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

Auf einer Übertragungseinrichtung (11) mit zwei gegenläufigen Busleitungen (14, 16) und mehreren an diese Busleitungen angeschlossenen Knoten (12) kann sich bei starkem Verkehr eine verteilte Warteschlange aufbauen. Diese Schlange verteilt sich über alle Knoten (12) und erlaubt jedem Knoten nur dann das Aussenden eigener Informationspakete, wenn im Interessenausgleich mit den anderen Knoten (12) die Berechtigung hierfür signalisiert wird. Jeder Knoten (12) besitzt ein Abbild (w) der Warteschlange in Form des Inhaltes eines FIFO-Speichers. Dieses Abbild (w) bildet eine Folge von fremden (R) und eigenen (r) Sendewünschen, die nach bekannten Regeln bearbeitet wird. Ist der Inhalt des FIFO-Speichers Null, dann besteht Berechtigung zum Verkürzen der Warteschlange. Diese Verkürzung erfolgt dadurch, dass der jeweilige Knoten für jedes auf die Busleitung (16) ausgesandte Leerpaket (E) zugeordnet ein über die Busleitung (14) ankommendes Anfragepaket (R) in ein Nicht-Anfragepaket (N) umwandelt. Hierdurch entsteht die Möglichkeit für einen anderen Knoten (12), wiederum eine Anfrage zu starten.

Description

Verfahren zum Verkürzen einer verteilten Warteschlanqe
Die Erfindung betrifft ein Verfahren zum Verkürzen einer verteilten Warteschlange, die auf einer digitalen Übertragungsleitung mit einer Mehrzahl von Knoten besteht, entsprechend dem Oberbegriff des unabhängigen Anspruches.
Aus "The QPSX Man", R.M. Newman et al. , IEEE Communications Magazine, Vol. 26 (April 1988) No. 4, S. 20-28 ist eine Einrichtung zum beliebigen Übertragen digitaler Information zwischen mehreren Knoten über zwei unverzweigte, parallel geführte Busleitungen bekannt. Die Knoten sind seriell an beide Busleitungen angeschlossen, auf denen ununterbrochen und im gleichen Takt adresscodierte Pakete je in nur einer der beiden Richtungen laufen. Jedes Paket besitzt in seinem Kopfteil zwei Bitsegmente, die zum Bilden einer über alle Knoten verteilten Warteschlange erforderlich sind. Das eine Bitsegment, weist die Bedeutungen E (empty) oder B (busy) auf, das andere Bitsegment die Bedeutung R (request) oder N (no request). Die durch diese Bedeutungen markierten Pakete werden im folgenden als Leerpaket E, Informationpaket B, Anfragepaket R und Nicht-Anfragepaket N bezeichnet.
Die verteilte Warteschlange ermöglicht jedem Knoten den quasi jederzeitigen Zugriff zu den Busleitungen, was insbesondere für kurze, dringende Meldungen, z.B. Alarmmeldungen, von Wichtigkeit ist. Die Warteschlange bildet sich bei starkem Übertragungsverkehr aufgrund eines stets wirksamen Protokolls und findet ihr Abbild in jedem Knoten. Dieses Protokoll schreibt folgendes vor:
- In jedem Knoten wird laufend für jedes weitergegebene Anfragepaket R ein Bit in einen FIFO-Speicher (first-in- first-out) eingelesen und für jedes weitergegebene Leerpaket E ein Bit ausgelesen. Im FIFO-Speicher baut sich hierdurch das genannte Abbild der Warteschlange auf. - Bei einem Sendewunsch in der einen Richtung wird dieser Wunsch in der umgekehrten Richtung signalisiert. Hierzu empfängt der jeweilige Knoten ein Nicht-Anfragepaket N, wandelt es in ein Anfragepaket R um und sendet dieses aus. Weiter wird der Sendewunsch in identifizierbarer Weise in den FIFO-Speicher eingegeben.
- Sobald der Sendewunsch aus dem FIFO-Speicher ausgelesen wird, gibt dieses Ereignis dem Knoten die Erlaubnis zum Senden. Dieser Knoten empfängt nun ein ankommendes Leerpaket E, füllt es mit Information und sendet es als Informationspaket B aus. Hierauf kann der nächste Sendewunsch entsprechend angemeldet werden.
Das beschriebene Protokoll arbeitet zufriedenstellend und gibt jederzeit einen Interessenausgleich zwischen den beteiligten Knoten. Von Nachteil ist jedoch, dass das auf dem Protokoll aufbauende Verfahren nicht auf Übertragungseinrichtungen anwendbar ist, die eine echte Ringstruktur (ohne irgendwie ausgezeichnete Busende- Einheiten) aufweisen.
Die Aufgabe der Erfindung besteht zum einen darin, diesen Mangel zu beseitigen. Zum anderen ist es die Aufgabe der Erfindung, die Länge und Ausdehnung der jeweils vorhandenen, verteilten Warteschlange zu minimieren und eventuell auch mehrere Warteschlangen nebeneinander zuzulassen.
Die Lösung dieser Aufgabe ist durch den unabhängigen Anspruch gegeben. Die abhängigen Ansprüche geben Ausgestaltungen der Erfindung an.
Die Vorteile der Erfindung ergeben sich aus der Aufgabenstellung. So ist das Bilden von verteilten Warteschlangen nun bei jeder Art von
Übertragungseinrichtung, insbesondere auch bei ringförmigen Einrichtungen möglich. Weiter wird die durchschnittliche Zahl der mittels einer verteilten Warteschlange zusammengefassten Knoten verkleinert, wodurch sich die mittlere Zugriffsverzögerung wesentlich verringert.
Im folgenden wird die Erfindung anhand von sieben Figuren beispielsweise näher beschrieben. Es zeigen:
Fig. 1 - erste Übertragungseinrichtung
Fig. 2 - zweite Übertragungseinrichtung
Fig. 3 - Aufbau eines Übertragungspakets
Fig. 4 - Prozedere einer Warteschlange in einem Knoten
Fig. 5 - Blockschaltbild eines ersten FIFO-Speichers
Fig. 6 - Blockschaltbild eines zweiten FIFO-Speichers
Fig. 7 - Schema eines dritten FIFO-Speichers.
Fig. 1 zeigt eine erste Übertragungseinrichtung 10 mit einer Mehrzahl, z.B. acht gleichberechtigten Knoten 12. Diese sind an zwei ringförmig angeordnete Busleitungen 14 und 16 angeschlossen, von denen die eine (14) im Uhrzeigersinn betrieben wird und die andere (16) entgegen dem Uhrzeigersinn. Die Knoten 12 und die Busleitungen 14, 16 sind so miteinander verbunden, dass die auf den letzteren (14, 16) laufende Information auch durch die Knoten 12 läuft.
Fig. 2 zeigt eine zweite Übertragungseinrichtung 11, die ganz ähnlich aufgebaut ist wie die Einrichtung nach Fig. 1. Der Unterschied besteht darin, dass in Fig. 2 die Knoten 12 so an die beiden Busleitungen 14, 16 angeschlossen sind, dass hierbei die auf diesen Leitungen 14, 16 laufende Information im wesentlichen auf den Leitungen bleibt und die Knoten 12 die Information von diesen (14, 16) abzweigen bzw. auf diese abgeben.
Auf den Busleitungen 14 und 16 laufen ununterbrochen und im gleichen Takt adresscodierte Pakete 21 um. Fig. 3 zeigt ein derartiges Paket 21. Es ist aufgeteilt in einen Kopfteil 22 und einen zeitlich später auftretenden oder auch direkt anschliessenden Informationsteil 25. Im Kopfteil 22 sind zwei Bereiche 23 und 24 ausgeschieden, bevorzugt jeweils ein einziges Bit, die die Bedeutung des jeweiligen Pakets angeben. Der Bereich 23 gibt an, ob es sich um ein Leerpaket E oder um ein Informationspaket B handelt, der Bereich 24 unterscheidet entsprechend Anfragepakete R und Nicht- Anfragepakete N.
Da die Übertragungseinrichtungen 10 oder 11 grundsätzlich über beide Busleitungen 14, 16 Information übertragen können, wird nach dem genannten Stand der Technik jeweils für die gewählte Übertragungsrichtung der Bereich 23 mit den Bedeutungen E oder B und entgegen der gewählten Übertragungsrichtung der Bereich 24 mit den Bedeutungen N oder R verwendet. Hierbei werden diese Bedeutungsbereiche 23, 24 unabhängig voneinander für unabhängige Vorgänge der beiden Richtungen verwendet.
Fig. 4 zeigt für eine einzige Übertragungsrichtung und einen einzigen Knoten 12 das Prozedere einer Warteschlange W. Diese Warteschlange W baut sich schrittweise mit den auf den beiden Busleitungen 14, 16 laufenden Paketen 21 auf und ab. In der obersten Zeile sind daher diese Schritte n durchnumeriert, beginnend mit 1. In der zweiten Zeile sind Ereignisse X und Z aufgetragen, die nachfolgend beschrieben werden.
In der dritten Zeile ist angegeben, welche Sorte Pakete N und R während des jeweiligen Schrittes n den betrachteten Knoten über die Busleitung 14 erreichen und verlassen. Hierauf folgt im Mittelteil der Figur die Darstellung des jeweiligen Warteschlangenabbildes w. Dieses Abbild ist an einen weiter hinten eingehend beschriebenen FIFO-Speicher 30 (first-in-first-out) gebunden und zeigt an, wieviele Anfragen R insgesamt zu erledigen sind, bevor eine eigene Anfrage r gestartet werden kann.
In der untersten Zeile wird schliesslich noch angegeben, welche Sorte Pakete E und B den betrachteten Knoten über die andere Busleitung 16 erreichen und verlassen. Die Warteschlange W und mit ihr ihr Abbild w baut sich entsprechend dem genannten, bekannten Protokoll auf und ab. Im einzelnen erklärt sich dieser Vorgang anhand des Beispieles von Fig. 4 wie folgt:
Schritt 1: Das Abbild w besteht momentan aus 3 Anfragen R. Auf dem Bus 14 kommt und geht, ein Nicht-Anfragepaket N, auf dem Bus 16 ein Informationspaket B. Das Abbild w verändert sich damit nicht.
Schritt 2: Beim Knoten besteht der Wunsch zum Aussenden von Information, was durch das Zeichen X angezeigt wird. Auf dem Bus 14 kommt ein Nicht-Anfragepaket N an, das wegen des Sendewunsches X in ein Anfragepaket R umgewandelt und als solches ausgesandt wird. In das Abbild w der Warteschlange W (und damit in diese selbst) wird der Sendewunsch als Anfrage r und damit wiedererkennbar eingelesen. Auf dem Bus 16 passiert ein Informationspaket B.
Schritte 3 und 4: Auf dem Bus 14 passiert jeweils ein Nicht- Anfragepaket N, auf dem Bus 16 ein Leerpaket E. Hierdurch reduziert sich die Länge des Abbildes w jeweils um eine Einheit R.
Schritte 5 und 6: Auf dem Bus 14 passiert jeweils ein Anfragepaket R und auf dem Bus 16 ein Informationspaket. Hierdurch verlängert sich das Abbild w wieder auf 4 Anfragen.
Schritte 7 bis 10: Auf dem Bus 14 passiert jeweils ein Nicht-Anfragepaket N, auf dem Bus 16 ein Leerpaket E. Hierdurch baut sich die Länge des Abbildes w bis auf Null ab. Bei Schritt 8 wird die Anfrage r ausgelesen, was die Umwandlung des zugeordneten Leerpaketes E in ein Informationspaket B bewirkt und als Ereignis Y gekennzeichnet ist. Schritte 11 und 12: Aufgrund eines Anfragepaketes R auf dem Bus 14 baut sich wieder eine Abbildschlange w auf bzw. wegen eines Leerpaketes E auf dem Bus 16 wieder ab.
Bis hierher ist das Prozedere vom genannten Stand der Technik bekannt. Die folgenden Schritte 13 bis 18 schildern die vorliegende Erfindung.
Schritt 13: Es besteht keine Warteschlange W, ihr Abbild w ist Null, d.h. der FIFO-Speicher ist leer. Auf dem Bus 14 passiert ein Nicht-Anfragepaket N, auf dem Bus 16 ein Leerpaket E.
Schritte 14 und 15: Da der FIFO-Speicher 30 leer ist und bei Schritt 13 und 14 je ein Leerpaket E auf dem Bus 16 weitergegeben wird, wird ein auf dem Bus 14 ankommendes Anfragepaket R jeweils in ein Nicht-Anfragepaket N umgewandelt und als solches weitergesandt. Diese Ereignisse sind jeweils durch das Zeichen Z gekennzeichnet.
Schritt 16: Bei Schritt 15 passiert auf dem Bus 16 ein Informationspaket B, daher wird bei Schritt 16 ein Anfragepaket R als solches weitergegeben. Der FIFO-Speicher 30 füllt sich aufgrund des Anfragepaketes R, entleert sich jedoch sofort wieder, da auf dem Bus 16 ein Leerpaket E passiert.
Schritt. 17: Auf dem Bus 14 passiert ein Nicht-Anfragepaket N, auf dem Bus 16 ein Leerpaket E.
Schritt 18: gleich wie bei Schritt 15.
Aus dem Beispiel von Fig. 4 leiten sich folgende allgemeinen Verfahrensschritte und Bedingungen ab:
In jedem Knoten 12, dessen FIFO-Zähler 30 leer ist, wird für jedes auf die Busleitung (z.B. 16) der einen Richtung ausgesandte Leerpaket E ein Anfragepaket R der jeweils anderen Richtung in ein Nicht-Anfragepaket N umgewandelt und als solches ausgesandt bzw. weitergegeben. Als ausgesandte Leerpakete E kommen dabei sowohl vom jeweiligen Knoten 12 gerade selbst, erzeugte Leerpakete als auch auf der Busleitung passierende Leerpakete infrage.
Auf einer ringförmigen übertragungseinrichtung 10, 11 muss jeweils wenigstens einer der Knoten 12 aus verbrauchten Paketen Leerpakete E erzeugen. Bevorzugt dienen jedoch mehrere oder gar alle Knoten 12 als Quelle für Leerpakete E. In diesen Fällen bewirkt das Vernichten von Anfragepaketen E in der geschilderten Weise bzw. deren Umwandeln in Nicht- Anfragepakete N ein Verkürzen der jeweiligen Warteschlangen W sowie eine Reduzierung der räumlichen Ausdehnung dieser Warteschlangen. Weiter wird die mittlere Zugriffszeit für alle Knoten 12 vermindert, da weniger Anf agepakete R umlaufen und sich damit die mittlere Zeit bis zum Vorbeilaufen jeweils eines benutzbaren Leerpaketes E verkürzt..
Das Verfahren zum Verkürzen einer eventuell bestehenden, verteilten Warteschlange W basiert, nach dem bisher Beschriebenen darauf, dass bei leerem FIFO-Speicher 30 für jedes ausgesandte Leerpaket E zeitlich unmittelbar nachfolgend ein Anfragepaket. R in ein Nicht-Anfragepaket N umgewandelt wird. Dies ist unnötig einschränkend. Allgemeiner muss nur verlangt werden, dass für alle während eines nicht zu langen Zeitintervalls Tl ausgesandten Leerpakete E jeweils während eines nachfolgenden, gleich langen Intervalls T2 maximal die gleiche Anzahl von Anfragepaketen R umgewandelt werden kann. Die Länge der Zeitintervalle T kann dabei beispielsweise fest eingestellt der Dauer von zehn Paketlängen entsprechen. Ein Optimum ergibt, sich hierbei jedoch dann, wenn die Zeitintervalle T für jeden Knoten 12 individuell so gewählt werden, dass ihre Länge genau der Laufzeit der Pakete von diesem jeweiligen Knoten 12 zum jeweils benachbarten Knoten in Richtung der Busleitung 14 entsprechen. In diesem ausgezeichneten Fall resultiert, jeweils eine minimale Reaktionszeit von Knoten zu Knoten. Andererseits erfordert dieses Optimum für jeden Knoten 12 eine individuelle Einstellung der Zeitintervalle T, die entweder manuell oder besser automatisiert erfolgen muss. Weiter können nach jedem Paket die Intervalle Tl und T2 verschoben werden, um quasi fliessend eine zeitliche Mittelung des Auftretens der Leerpakete E und der Anfragepakete R zu erreichen.
Fig. 5 zeigt ein erstes Blockschaltbild des FIFO-Speichers 30 für das Abbild w der Warteschlange W. Dieser Speicher ist ausgebildet als Einheit, die einen Vorwärts/Rückwärtszähler 32, einen Rückwärtszähler 34, einen Schalter 38, ein UND-Tor 39 und eine zugeordnete Steuerung 36 umfasst. Der Zähler 32 erhöht, bei jedem passierenden Anfragepaket R seinen Zählerstand um (+)1 und erniedrigt bei der gezeigten Stellung des Schalters 38 bei jedem passierenden Leerpaket E den Zählerstand um (-)l. Der jeweilige resultierende Zählerstand p entspricht dem Abbild w der Warteschlange W. Sobald der jeweilige Knoten 12 eine eigene Anfrage r startet, wird der jeweilige aktuelle Zählerstand p parallel in den Zähler 34 übertragen und dort als Zählerstand q eingetragen. Anschliessend wird im Zähler 32 der Zählerstand p auf Null gestellt und der Schalter 38 auf Durchlass zum Zähler 34 geschaltet. Im folgenden erniedrigt der Zähler 34 jeweils seinen Zählerstand q um (-)l, wenn ein Leerpaket E passiert, und der Zähler 32 erhöht seinen Zählerstand p um (+)1, wenn ein Anfragepaket R passiert. Sobald der Rückwärtszähler 34 den Zählerstand q gleich Null erreicht, erhält der jeweilige Knoten 12 die Erlaubnis Y (Fig. 4) zum Aussenden der genannten eigenen Anfrage r in Form eines Anfragepaketes R und die nächste eigene Anfrage r kann entsprechend dem Beschriebenen in die Warteschlange W eingefügt werden. Solange der Zähler 34 leer ist bzw. auf Null steht erscheint am Ausgang 50 ein Signal f. Ist auch der Zähler 32 leer, so erscheint über das UND-Tor 39 am Ausgang 51 das weitere Signal g. Diese Signale f und g werden im Zusammenhang mit Fig.' 6 erläutert. Fig. 6 zeigt, ein zweites Blockschaltbild des FIFO-Speichers 30. Dieser Speicher 30 umfasst. einen Prozessor 40, einen Programmspeicher 41 und zwei Zählspeicher 42, 44. Dieser FIFO-Speicher 30 arbeitet aufgrund eines im Programmspeicher 41 gespeicherten Programms gleich wie die Schaltung Von Fig. 5, wobei die Zählspeicher 42, 44 den Zählern 32, 34 entsprechen, d.h. die Zählerstände p bzw. q halten. Die Auslöse-Ereignisse R, r, E werden dem FIFO-Speicher 30 über den Eingang 45 eingegeben. Am Ausgang 46 erscheinen die Ausgangssignale f und g, wenn der Zählerstand q gleich Null ist bzw. wenn die Zählerstände q und p beide gleich Null sind. Das Vorliegen des Ausgangssignals f erlaubt jeweils das Starten einer eigenen Anfrage r. Liegt ein Ausgangsssignal g vor, dann kann jeweils ein ankommendes Anfragepaket R in ein Nicht-Anfragepaket N umgewandelt werden.
Eine Variante zu den FIFO-Speichern 30 von Fig. 5 und 6 besteht, darin, dass im Zähler 32 bzw. im Zählspeicher 42 ständig der Zählerstand p durch Vorwärts/Rückwärtszählen aktualisiert wird und keine Nullstellung beim übertragen des jeweiligen Zählerstandes p in den Zähler 34 bzw. in den Zählspeicher 44 erfolgt.
Fig. 7 zeigt eine weitere Variante des FIFO-Speichers 30. Dieser weist in Art eines kommerziellen FIFO's mehrere, z.B. acht. Speicherzeilen auf mit jeweils mehreren parallelen Bits. Diese Bits werden in der linken Spalte 61 verwendet zur Anzeige, ob die Zeile leer oder besetzt ist (dargestellt als 0 bzw. 1). In der rechten Spalte 62 werden die Symbole R und r für die Art der Anfrage und 0 für "leer" verwendet. Der Speicher 30 wird durch die Anfragen R und r gespeist und gibt, die Signale g und f ab.
Andere als die geschilderten drei Ausführungsbeispiele des FIFO-Speichers 30 sind ohne weiteres möglich. Das Verfahren zum möglichst raschen Eliminieren von Anfragepaketen R wurde nur für eine der beiden Übertragungsrichtungen geschildert. Die Erweiterung auf die gleichzeitige Verwendung für beide Übertragungsrichtungen ist. unproblematisch und in der Praxis bevorzugt. In diesem Fall werden die Paketbereiche 23 und 24 jedes Pakets 21 jeweils unabhängig voneinander für die eine bzw. für die andere Übertragungsrichtung verwendet.
Das Verfahren ist grundsätzlich für jede Übertragungseinrichtung 10 mit zwei parallelen, in der Übertragungsrichtung einander entgegengesetzt laufenden Busleitungen 14, 16 geeignet. Die ringförmigen Übertragungseinrichtungen sind für das Verfahren jedoch besonders geeignet.
Die Bereiche 23, 24 im Kopfteil 22 der Pakete 21 dienen zur Unterscheidung von Leerpaketen E und Informationspaketen B sowie von Nicht-Anfragepaketen N und Anfragepaketen R. Zu diesen Unterscheidungen genügt jeweils ein einziges Bit. Es ist jedoch aus Gründen erwünschter Redundanz oder ähnlichem ohne weiteres möglich, diese Bereiche 23, 24 auf zwei oder mehr Bit- zu erweitern.

Claims

Patentansprüche
1. Verfahren zum Verkürzen einer verteilten Warteschlange (W), die auf einer digitalen Übertragungsleitung mit einer Mehrzahl von Knoten (12) besteht,
• wobei auf einer (16) von zwei unverzweigten, zueinander parallelen Busleitungen (14, 16) ununterbrochen in der einen Richtung Leerpakete (E) und Informationspakete (B) und auf der anderen der beiden Busleitungen (14) in der anderen Richtung und mit gleicher Übertragungsrate Nicht- Anfragepakete (N) und Anfragepakete (R) laufen,
• wobei an jeweils einer Stelle der einen Busleitung (16) Leerpakete (E) und an einer entsprechenden Stelle der anderer Busleitung (14) Nicht-Anfragepakete (N) erzeugt werden,
• wobei die Knoten (12) an beide Busleitungen (14, 16) angeschlossen sind und jeder Knoten (12) Informationspakete (B) empfängt, und aussendet,
• wobei jeder Knoten (12) laufend aufgrund der bei ihm ankommenden und von ihm weitergegebenen Anfragepakete (R) und Leerpakete (E) ein Abbild (w) des für ihn relevanten Teils der Warteschlange (W) besitzt,
• und wobei jeder Knoten (12), der selbst Information aussenden möchte, nacheinander und wiederholt ein ankommendes Nicht-Anfragepaket (N) in ein Anfragepaket (R) umgewandelt aussendet, seinen Sendewunsch (r) in sein Warteschlagenabbild (w) einreiht, und sobald dieses eine Sendeberechtigung signalisiert, ein ankommendes Leerpaket (E) mit Information füllt und als Informationspaket (B) wiederaussendet, dadurch gekennzeichnet,
- dass wenigstens einer der Knoten (12) Leerpakete (E) und Nicht-Anfragepakete (N) erzeugt und
- dass jeder Knoten (12), der entweder selbst ein Leerpaket (E) gebildet hat oder der ein empfangenes Leerpaket (E) weitergibt und für den sein Warteschlangenabbild (w) Berechtigung signalisiert, zugeordnet zu jedem solchen Leerpaket (E) ein Anfragepaket (R) in ein Nicht-Anfragepaket (N) umwandelt und als solches weitergibt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Mehrzahl von Knoten (12) Leerpakete (E) und Nichtanfragepakete (N) erzeugt.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeder Knoten (12) Leerpakete (E) und Nicht- Anfragepakete (N) erzeugt.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in einem Knoten (12) das Warteschlangenabbild (w) Berechtigung signalisiert, solange es (w) keine Warteschlange (W) anzeigt.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeder Knoten (12) zu jedem solchen Leerpaket. (E) unmittelbar nachfolgend ein Anfragepaket (R) in ein Nicht- Anfragepaket (N) umwandelt.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jeder Knoten (12) zu jedem solchen Leerpaket (E) innerhalb eines nachfolgenden Zeitinterwalls (T) vorgegebener Länge ein Anfragepaket (R) in ein Nicht- Anfragepaket (N) umwandelt.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Länge des Zeitintervalls (T) für jeden Knoten (12) so festgelegt wird, dass sie der Laufzeit der Pakete (12) vom jeweiligen Knoten zum jeweils benachbarten Knoten in Richtung der Leer- (E) und Informationspakete (B) entspricht.
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jedes Paket (21) unabhängig von seiner Laufrichtung für die jeweils eine Laufrichtung angibt, ob es sich um ein Leerpaket. (E) oder um ein Informationspaket (B) handelt und gleichzeitig unabhängig hiervon für die jeweils andere Laufrichtung angibt, ob es sich um ein Anfragepaket (R) oder um ein Nicht-Anfragepaket (N) handelt.
9. Vorrichtung zur Ausübung des Verfahrens nach den vorhergehenden Ansprüchen, dadurch gekennzeichnet, dass in jedem Knoten (12) ein FIFO-Speicher (30) vorgesehen ist, der zwei schrittweise veränderbare Zählerstände (p, q) aufbaut., der wenigstens einen Eingang aufweist, über den Signale über die vorbeilaufenden Anfragepakete (R), Leerpakete (E) und die eigenen Anfragen (r) des jeweiligen Knotens (12) eingebbar sind, und der wenigstens einen Ausgang (50, 51) aufweist, über den
Signale (f, g) über die jeweiligen Zählerstände (p, q) abgebbar sind.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass der FIFO-Speicher (30) einen Vorwärts/Rückwärtszähler (32), einen Rückwärtszähler (34), einen Umschalter (38), ein UND-Tor (39) sowie eine zugeordnete Steuerung (36) umfasst, dass der Umschalter (38) einen ersten Eingang des FIFO- Speichers (30) wahlweise mit den beiden Zählern (32, 34) verbindet, dass der Ausgang des Rückwärtszählers (34) den einen Ausgang (50) des Speichers (30) bildet, und dass das UND-Tor (39) die Ausgänge der beiden Zähler (32, 34) mit dem zweiten Ausgang (51) des Speichers (30) verbindet. (Fig. 5) .
11. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass der FIFO-Speicher (30) einen Prozessor (40) mit zugeordnetem Programspeicher (41) und zwei Zählspeichern (42, 44) umfasst (Fig. 6).
12. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass das FIFO-Speicher (30) eine Mehrzahl Speicherzeilen aufweist, von denen jede mehrere parallele Bitpositionen besitzt, die in zwei Spalten (61, 62) aufgeteilt sind (Fig. 7).
PCT/CH1990/000024 1989-02-17 1990-02-06 Verfahren zum verkürzen einer verteilten warteschlange WO1990009711A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE59007680T DE59007680D1 (de) 1989-02-17 1990-02-06 Verfahren zum verkürzen einer verteilten warteschlange.
EP90902136A EP0413005B1 (de) 1989-02-17 1990-02-06 Verfahren zum verkürzen einer verteilten warteschlange

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH56689 1989-02-17
CH566/89-8 1989-02-17

Publications (1)

Publication Number Publication Date
WO1990009711A1 true WO1990009711A1 (de) 1990-08-23

Family

ID=4189975

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH1990/000024 WO1990009711A1 (de) 1989-02-17 1990-02-06 Verfahren zum verkürzen einer verteilten warteschlange

Country Status (6)

Country Link
US (1) US5319643A (de)
EP (1) EP0413005B1 (de)
JP (1) JPH03504071A (de)
AT (1) ATE114096T1 (de)
DE (1) DE59007680D1 (de)
WO (1) WO1990009711A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4042303A1 (de) * 1990-12-31 1992-07-02 Telefonbau & Normalzeit Gmbh Verfahren zur zugriffssteuerung fuer an ein bus-system angeschlossene stationen in kommunikations-vermittlungsanlagen
US6049924A (en) * 1997-09-09 2000-04-18 Hill-Rom, Inc. Hinged panels for a thermal support apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4409401B2 (ja) * 2004-10-08 2010-02-03 株式会社日立製作所 パケット転送装置及びストレージシステム
US10957445B2 (en) 2017-10-05 2021-03-23 Hill-Rom Services, Inc. Caregiver and staff information system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986003639A1 (en) * 1984-12-03 1986-06-19 The University Of Western Australia Queueing protocol

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181202A (en) * 1991-02-06 1993-01-19 Fmc Corporation Ring bus station having dual oscillators

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1986003639A1 (en) * 1984-12-03 1986-06-19 The University Of Western Australia Queueing protocol

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4042303A1 (de) * 1990-12-31 1992-07-02 Telefonbau & Normalzeit Gmbh Verfahren zur zugriffssteuerung fuer an ein bus-system angeschlossene stationen in kommunikations-vermittlungsanlagen
US6049924A (en) * 1997-09-09 2000-04-18 Hill-Rom, Inc. Hinged panels for a thermal support apparatus

Also Published As

Publication number Publication date
EP0413005B1 (de) 1994-11-09
US5319643A (en) 1994-06-07
EP0413005A1 (de) 1991-02-20
ATE114096T1 (de) 1994-11-15
DE59007680D1 (de) 1994-12-15
JPH03504071A (ja) 1991-09-05

Similar Documents

Publication Publication Date Title
DE3300261C2 (de)
DE69029343T2 (de) Paket-Vermittlungssystem
DE3300262C2 (de)
DE3586280T2 (de) Gesteuertes sternnetz.
DE2901762C2 (de) Datenübertragungsanlage
DE3728805C2 (de)
EP0329005B1 (de) Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen
DE68918077T2 (de) Verfahren und System zur Übertragung von gepufferten Datenpaketen auf einem Übertragungsnetz.
EP0827358A1 (de) Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
EP0419959A2 (de) Schaltungsanordnung zum Überprüfen der Einhaltung festgelegter Übertragungsbitraten bei der Übertragung von Nachrichtenzellen
DE3738177A1 (de) Vermittlungsknoten fuer die vermittlung von in datenpaketen uebertragenen datensignalen
DE2062236C3 (de) Einrichtung für die Übertragung eines redundanzverringerten Signals
DE10322885A1 (de) Verfahren zum Organisieren von Datenpaketen
EP0413005B1 (de) Verfahren zum verkürzen einer verteilten warteschlange
EP0509114A1 (de) Verfahren zum Übertragen von Daten an mehrere Datenstationen
DE10307424A1 (de) Datenvermittlungsvorrichtung und Multiplex-Kommunikationssysteme
DE69311929T2 (de) Verfahren zur Verbesserung der Übertragung von Datenpaketen underschiedlicher Vorränge gemäss dem DQDB-Protokoll
EP0173274B1 (de) Verfahren und Schaltungsanordnung zur Herstellung und zum Betreiben einer Zeitvielfach-Breitbandverbindung
DE2812009A1 (de) Nachrichtenuebertragungssystem
EP0454218B1 (de) Zeitvielfachübermittlungssystem
DE1301357B (de) Verfahren zur UEbertragung von Nachrichten in digitaler Form ueber eine UEbertragungsstrecke aus mehreren parallelgeschalteten Leitungen
DE3110614C2 (de) Fernwirkeinrichtung mit mehreren Bereichsnetzen
DE3443616C2 (de)
DE3151937C1 (de) Kanalsteuerung für Multiplexkanäle eines Ein-/Ausgabewerkes einer Datenverarbeitungsanlage
EP1208678B1 (de) Zellkonfliktauflösungseinheit für eine einrichtung zur vermittlung einer mehrzahl von paket-orientierten signalen

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1990902136

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1990902136

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1990902136

Country of ref document: EP