-
Die
Erfindung betrifft eine Vorrichtung zur Steuerung und/ oder Überwachung
einer Abwicklung von Kommunikationsaufträgen sowie ein korrespondierendes
Verfahren, im Folgenden als Kommunikationsverfahren bezeichnet.
Eine solche Vorrichtung ist üblicherweise
als Bestandteil eines Kommunikationscontrollers realisiert, das
Verfahren wird entsprechend vom Kommunikationscontroller ausgeführt.
-
Ein
solcher Kommunikationscontroller ist diejenige Vorrichtung, mit
der ein elektrisches Gerät, wie
ein Computer, ein Prozessrechner, eine speicherprogrammierbare Steuerung,
ein dezentrales Peripheriegerät,
etc., Zugang zu einem Kommunikationsnetzwerk wie z. B. einem Feldbus
erhält.
Der Kommunikationscontroller bildet die Schnittstelle zwischen einem
solchen elektrischen Gerät
und dem Kommunikationsnetzwerk. Sämtliche Arten von über jeweils
einen Kommunikationscontroller an ein Kommunikationsnetzwerk anschließbaren elektrischen Geräten werden
im Folgenden als Kommunikationsteilnehmer bezeichnet. Auf einem
solchen Kommunikationsteilnehmer laufen ein oder mehrere Applikationen,
das heißt
z. B. Softwareprogramme zur Steuerung und/oder Überwachung technischer Prozesse oder
Teilprozesse, ab. Zum Austausch von Daten zwischen einzelnen Applikationen
untereinander oder mit über
das Kommunikationsnetzwerk erreichbarer Prozessperipherie, wie Sensoren
oder Aktoren, setzen die Applikationen Kommunikationsaufträge ab. Ein
solcher Kommunikationsauftrag bezieht sich z. B. auf das Übermitteln
von Daten zur Ansteuerung der Prozessperipherie, um dadurch auf
einen gesteuerten oder überwachten
technischen Prozess einzuwirken. Andere Kommunikationsaufträge beziehen sich
z. B. auf das Empfangen von Daten, die aktuelle Zustände des
technischen Prozesses re präsentieren,
wie z. B. Endschalterinformationen, Temperaturen, Geschwindigkeiten,
Drehzahlen, etc.
-
Zur
kontinuierlichen Steuerung und/oder Überwachung technischer Prozesse
werden solche Kommunikationsaufträge vielfach wiederholt. Es stellt
sich damit eine gewisse Kommunikationslast, die Gesamtheit aller
abzuwickelnden Kommunikationsaufträge, ein. Die einzelnen Applikationen
tragen ihre jeweiligen Kommunikationsaufträge in eine Sendeliste ein.
Diese Sendeliste wird vom Kommunikationscontroller abgearbeitet.
Die Zeitspanne vom Absetzen eines Kommunikationsauftrags durch eine Applikation über das
Eintragen des Kommunikationsauftrags in die Sendeliste bis zum Abwickeln
(Versenden) des Kommunikationsauftrags wird als Latenzzeit bezeichnet.
-
Kommunikationscontroller
der eingangs beschriebenen Art sind allgemein bekannt.
-
Nachteilig
bei bekannten Kommunikationscontrollern oder ggf. davon unabhängigen Vorrichtungen
zur Steuerung und/oder Überwachung
einer Abwicklung von Kommunikationsaufträgen sowie korrespondierenden
Verfahren ist jedoch eine für
einzelne Applikationen sehr hohe Latenzzeit oder insgesamt eine
ungünstige
Latenzzeit.
-
Aus
der
EP 0 654 740 A1 ist
ein Buscontroller für
ein elek- tronisches Gerät
bekannt, das eine eigene Intelligenz und einen Speicher mit einer
Vielzahl einzeln adressierbarer Speicherplätze aufweist, die über einen
Gerätebus
miteinander verbunden sind, wobei der Buscontroller zumindest mit
dem Speicher und einem Vernetzungsbus verbindbar ist. Es sind Maßnahmen
vorgesehen, die eine effektive geräteinterne Auftragsabwicklung
des Buscontrollers ermöglichen.
-
Der
Erfindung liegt daher die Aufgabe zugrunde, eine Vorrichtung und
ein Verfahren zur Vermeidung der o.g. Nachteile anzugeben.
-
Diese
Aufgabe wird hinsichtlich der Vorrichtung erfindungsgemäß mit den
Merkmalen des Anspruchs 1 gelöst.
Dazu ist bei einer Vorrichtung zur Steuerung und/oder Überwachung
einer Abwicklung von Kommunikationsaufträgen mit einem Speicher, in
dem eine Sendeliste und eine Anzahl von Wartelisten jeweils zur
Aufnahme von Kommunikationsaufträgen
angelegt sind, vorgesehen, dass die Anzahl der Wartelisten auf eine
Anzahl von auf die Vorrichtung zugreifenden Applikationen abgestellt ist
und dass für
jede Warteliste mit einem Übernahmewert eine
Anzahl aus der jeweiligen Warteliste in die Sendeliste zu übernehmender
Kommunikationsaufträge vorgebbar
ist.
-
Bezüglich des
Verfahrens wird diese Aufgabe erfindungsgemäß gelöst durch die Merkmale des Anspruchs
4. Dazu ist bei einem Verfahren zur Steuerung und/oder Überwachung
einer Abwicklung von Kommunikationsaufträgen, wobei einzelne Kommunikationsaufträge von Applikationen
abgesetzt werden, vorgesehen, dass jeder Applikation eine Warteliste
zugeordnet ist und für
jede Warteliste mit einem Übernahmewert
vorgebbar ist oder vorgegeben wird, wie viele Kommunikationsaufträge aus jeweils
einer Warteliste in eine Sendeliste übernommen werden und dass in
die Sendeliste übernommene
Kommunikationsaufträge
sukzessive abgewickelt werden.
-
Die
Erfindung geht dabei von der Erkenntnis aus, dass sich durch die
Einführung
von jeweils einzelnen Applikationen zugeordneten Wartelisten, in die
die Applikationen ihre Kommunikationsaufträge eintragen, eine Entkopplung
der Applikationen untereinander ergibt. Aus den Wartelisten könnten nun sämtliche
Kommunikationsaufträge
in die Sendeliste nach unterschiedlichen Strategien (z. B. First-Come-First-Serve,
oder prioritätsbezogen) übernommen
werden. Dabei bliebe der Vorteil der Entkopplung der Applikationen
erhalten, stets könnten
aber z. B. noch hochpriore Applikationen mit einer Vielzahl von
Kommunikationsaufträgen
andere Applikationen vom Datentransfer nahezu ausschließen. Daher
ist für
jede Warteliste ein individuell vorgegebener oder vorgebbarer Übernahmewert
vorgesehen. Der Übernahmewert
bestimmt die Anzahl der Kommunikationsaufträge, die aus der jeweiligen Warteliste
in die Sendeliste übernommen
werden. Die Reihenfolge der Kommunikationsaufträge in der jeweiligen Sendeliste
kann sich wiederum nach unterschiedlichen Strategien ergeben. So
kann die Reihenfolge mit der Reihenfolge des Absetzens der Kommunikationsaufträge (First-Come-First-Serve) korrespondieren.
Alternativ kann auch vorgesehen sein, dass sich die Reihen folge
entsprechend bestimmter Prioritäten
der einzelnen Kommunikationsaufträge ergibt. Der Übernahmewert
wirkt damit gleichsam wie ein Ventil. Bei einem hohen Übernahmewert
werden viele Kommunikationsaufträge
aus der entsprechenden Warteliste in die Sendeliste übernommen.
Bei einer Warteliste mit niedrigem Übernahmewert gelangen entsprechend
nur wenige Kommunikationsaufträge
in die Sendeliste.
-
Der
Vorteil der Erfindung besteht darin, dass sich bei der Abwicklung
der Kommunikationsaufträge ein
ausgewogener Durchsatz mit kalkulierbaren Latenzzeiten ergibt.
-
Vorteilhafte
Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
In
die Sendeliste übernommene
Kommunikationsaufträge
sind bevorzugt zur Abwicklung während
einer Buszykluszeit vorgesehen. Damit ist nach Ablauf einer Buszykluszeit
die Sendeliste geleert und kann mit neuen Kommunikationsaufträge aus den Wartelisten "gefüllt" werden.
-
Weiter
bevorzugt erfolgt am Ende der Buszykluszeit oder am Anfang der nächstfolgenden
Buszykluszeit eine Übernahme
einer maximal dem Übernahmewert
entsprechenden Anzahl von Kommunikationsaufträgen aus jeder Warteliste in
die Sendeliste.
-
Weitere
Ausgestaltungen des Verfahrens sowie entsprechend einer zur Ausführung des
Verfahrens geeigneten Vorrichtung beziehen sich auf die Abwicklung
von Kommunikationssonderaufträgen. Nachrichtenorientierte
Protokolle bedienen sich oft eines Request-to-Poll Verfahrens. Dabei
sendet ein erster Kommunikationsteilnehmer – Sender – an einen zweiten Kommunikationsteilnehmer – Empfänger – eine Nachricht
(Request-Auftrag), um dort Daten anzufordern. Nach dem Versenden
dieses Request-Auftrags wird dieser dann im Kommunikationscontroller
des Senders zu einem Poll-Auftrag umgewandelt. Dieser Poll-Auftrag wird solange
versendet, bis die Antwortdaten beim Empfänger verfügbar sind. Dies kann bei langsamen
Empfängern
eine gewisse Zeit dauern. Deshalb ist bei solchen Request-to-Poll Verfahren eine
Sonderbehandlung sinnvoll. Request- und Poll-Aufträge sind
Beispiele für
Kommunikationssonderaufträge.
-
Vorteilhaft
ist daher vorgesehen, dass Kommunikationssonderaufträge wie Kommunikationsaufträge aus einer
jeweiligen Warteliste in die Sendeliste, nach ihrer Abwicklung in
eine Parkliste und nach einer dem jeweiligen Kommunikationssonderauftrag zugeordneten
Verweildauer aus der Parkliste in die ursprüngliche Warteliste übernommen
werden.
-
Damit
lässt sich
erreichen, dass Kommunikationssonderaufträge in Form von z. B. Poll-Aufträgen mit
einer Untersetzung versehen werden können. Der Poll-Auftrag wird
also nicht sofort wieder in die Sendeliste übernommen und erneut abgewickelt sondern
erst nach Ablauf der Verweildauer. Dies berücksichtigt den Umstand, dass
ein langsamer Kommunikationsteilnehmer die ursprünglich angeforderten Daten
erst nach Ablauf einer gewissen Zeit zur Verfügung stellt.
-
Zur
Realisierung der Verweildauer ist die Parkliste vorgesehen, in welcher
der Kommunikationssonderauftrag zwischengespeichert wird. Dort verbleibt
er solange, bis die dem Kommunikationssonderauftrag zugeordnete
Verweildauer verstrichen ist. Nach Ablauf dieser Zeit wird der Poll-Auftrag
dann wieder in die ursprüngliche
Warteliste, d. h. in diejenige Warteliste, die der Applikation zugeordnet
ist, die den Kommunikationssonderauftrag ursprünglich abgesetzt hat, übernommen.
Dabei wird der Kommunikationssonderauftrag an eine freie Stelle,
insbesondere die letzte Stelle, der Warteliste übernommen.
-
Im
Falle einer zyklischen Abwicklung von in der Sendeliste vorhandenen
Kommunikations- und Kommunikationssonderaufträgen während einer Buszykluszeit erfolgt
die Übernahme
von Kommu nikationssonderaufträgen
aus der Parkliste in die jeweiligen Wartelisten zu Beginn eines
jeden Kommunikationszyklusses. Für
den Sonderfall, dass als Verweildauer ein Minimalwert, z. B. "0", vorgegeben ist, wird der Kommunikationssonderauftrag
nicht in die Parkliste, sondern gleich wieder in die ursprüngliche Warteliste übernommen.
-
Im
Falle einer zyklischen Abwicklung von Kommunikations- und Kommunikationssonderaufträgen – im Folgenden
zusammenfassend als Kommunikationsaufträge bezeichnet – wird die
Verweildauer eines Kommunikationssonderauftrags in der Parkliste
bevorzugt in Anzahl Buszyklen angegeben, denn die Anzahl der Buszyklen
ist eine besonders praktikable Zeitbasis zur Spezifikation einer
Verweildauer.
-
Besonders
bevorzugt umfasst die Parkliste eine der maximalen Verweildauer
entsprechende Anzahl von Parklistenelementen, wobei jedem Parklistenelement
eine insbesondere dynamisch organisierte Verweilliste zugeordnet
ist. Ein Kommunikationssonderauftrag wird dann beim Übernehmen
in die Parkliste in die der jeweiligen Verweildauer entsprechende
Verweilliste übernommen.
Eine solche matrixartige Struktur erleichtert die Handhabung und
Zuordnung von Kommunikationssonderaufträgen mit jeweils unterschiedlicher
Verweildauer. In jeweils einer Verweilliste sind nur Kommunikationssonderaufträge mit gleicher
Verweildauer zusammengefasst.
-
Vorteilhaft
ist der Parkliste ein auf jeweils ein Parklistenelement zeigender
Parklistenzeiger zugeordnet, der nach jedem Buszyklus oder nach
einer vorgegebenen oder vorgebbaren Zeitspanne vom aktuellen Parklistenelement
auf das nächstfolgende Parklistenelement
gesetzt wird. Der Parklistenzeiger erleichtert die Identifikation
derjenigen Verweilliste mit Kommunikationssonderaufträgen, deren
Verweildauer abgelaufen ist. Der Parklistenzeiger fungiert als Index
zur Referenzierung des jeweiligen Parklistenelements mit der zugeordneten
Verweilliste. Mittels des Parklistenzeigers ist ein komfortabler Zugriff auf
die Kommunikationssonderaufträge,
deren Verweildauer abgelaufen ist, möglich. Zu Beginn einer jeden
erneuten Abwicklung der in der Sendeliste enthaltenen Kommunikationsaufträge wird
der Parklistenzeiger vom aktuellen Parklistenelement auf das nächstfolgende
Parklistenelement gesetzt.
-
Entsprechend
werden weiter vorteilhaft jeweils diejenigen Kommunikationssonderaufträge aus der
Parkliste in die jeweilige Warteliste übernommen, die in der Verweilliste
enthalten sind, die dem Parklistenelement zugeordnet ist, auf das
der Parklistenzeiger zeigt. Mit anderen Worten: Der Parklistenzeiger zeigt
auf ein Element der Parkliste, das Parklistenelement. Jedem Parklistenelement
ist eine Verweilliste zugeordnet. Damit referenziert der Parklistenzeiger eindeutig
eine Verweilliste. Die in der jeweils referenzierten Verweil- liste
enthaltenen Kommunikationssonderaufträge werden wieder in die Warteliste übernommen,
aus denen sie ursprünglich
stammen.
-
Die
Parkliste ist bevorzugt als Umlaufliste organisiert. Die Anzahl
der Parklistenelemente korrespondiert mit der Anzahl unterschiedlicher
Verweildauern, so dass für
jede Verweildauer ein eigenes Parklistenelement mit der zugeordneten
Verweilliste vorhanden ist.
-
Durch
das "Parken"/Verweilen von Kommunikationssonderaufträgen in der
Parkliste während der
Verweildauer wird die Kommunikationsbandbreite deutlich verbessert,
weil Kommunikationssonderaufträge
während
einer Zeitspanne, der Verweildauer, während derer z. B. angeforderte
Daten erwartungs- oder
erfahrungsgemäß noch nicht
zur Verfügung
stehen können,
erst gar nicht zur Abwicklung gelangen. Die damit eingesparte Kommunikationslast
steht für
andere Kommunikations- oder Kommunikationssonderaufträge zur Verfügung.
-
Nachfolgend
wird ein Ausführungsbeispiel der
Erfindung anhand der Zeichnung näher
erläutert. Einander
entsprechende Gegenstände
oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen
versehen.
-
Darin
zeigen
-
1 eine
Anzahl über
einen Bus miteinander kommunikativ verbundener Kommunikationsteilnehmer
mit jeweils einem Kommunikationscontroller,
-
2 in
einem Speicher des Kommunikationscontrollers angelegte Datenstrukturen
und
-
3 im
Speicher des Kommunikationscontrollers angelegte Datenstrukturen
gemäß einer
Ausgestaltung der Erfindung.
-
1 zeigt
eine Anzahl von Kommunikationsteilnehmern 10 die jeweils
mittels eines Kommunikationscontrollers 11 an ein Kommunikationsmedium,
z. B. einen Bus 12, insbesondere einen Feldbus, angeschlossen
sind. Auf dem oder jedem Kommunikationsteilnehmer 10 laufen
in an sich bekannter Weise eine oder mehrere nicht näher dargestellte Softwareapplikationen,
z. B. zur Steuerung und/oder Überwachung
eines gleichfalls nicht dargestellten technischen Prozesses oder
Teilprozesses, ab.
-
Durch
den Zugriff auf den Bus 12 tauschen die Softwareapplikationen
mit Softwareapplikationen auf anderen Kommunikationsteilnehmern 10 Daten aus.
Der Kommunikationscontroller 11 fungiert dabei als Schnittstelle
zum Bus 12. Zum Speichern ein- und ausgehender Daten weist
der Kommunikationscontroller 11 einen Speicher 13 auf.
-
2 zeigt
in dem Speicher 13 des Kommunikationscontrollers 11 (1)
angelegte Datenstrukturen. Bei den Datenstrukturen handelt es sich um
eine Sendeliste 14 und eine Anzahl von Wartelisten 15.
Die Anzahl der Wartelisten 15 richtet sich nach der Anzahl
von Applikationen, die auf den Kommunikationscontroller zugreifen.
In jeder Warteliste 15 können von den jeweiligen Applikationen
abgesetzte Kommunikationsaufträge 16 abgelegt
werden.
-
Mit
einem Kommunikationsauftrag 16 übermittelt eine Applikation
an eine Applikation eines anderen Kommunikationsteilnehmers 10 (1)
Daten oder fordert solche bei dieser Applikation an. Im Falle des
Versendens von Daten an die andere Applikation sind die zu versendenden
Daten Bestandteil des Kommunikationsauftrags 16. Bei einer
großen
Menge von Daten werden diese ggf. auf eine geeignete Vielzahl von
Kommunikationsaufträgen 16 verteilt.
Im Falle des Abrufens von Daten bei einer anderen Applikation wird
dieser in Form von Daten eines Kommunikationsauftrags 16 eine
Spezifikation der angeforderten Daten, z. B. ein Adressbereich, übermittelt. Die
andere Applikation sendet daraufhin die angeforderten Daten mittels
eines eigenen Kommunikationsauftrags 16 oder sendet sie
als Antwortdaten auf den empfangenen Kommunikationsauftrag 16 zurück.
-
Die
Anzahl der Kommunikationsaufträge 16 in
einer Warteliste 15 ist zeitlich veränderlich, weil einerseits stets
neue Kommunikationsaufträge 16 hinzukommen
können
und andererseits Kommunikationsaufträge 16 aus der Warteliste 15 entfernt
werden können,
indem sie in die Sendeliste 14 übernommen werden.
-
Die
Anzahl der jeweils zu einem geeigneten, vorgegebenen oder vorgebbaren
Zeitpunkt aus jeder Warteliste 15 in die Sendeliste 14 übernommener oder
zu übernehmender
Kommunikationsaufträge 16 richtet
sich nach einem jeder Warteliste 15 individuell zugeordneten Übernahmewert 17.
Zu dem geeigneten Zeitpunkt, bei einer zyklischen Abwicklung von Kommunikationsaufträgen während eines
Buszyklusses, insbesondere am Anfang oder am Ende eines jeden Buszyklusses,
wird aus jeder Warteliste 15 maximal eine dem zahlenmäßigen Wert
des Übernahmewertes 17 entsprechende
Anzahl von Kommunikationsaufträgen 16 in
die Sendeliste 14 übernommen.
-
Die
damit in der Sendeliste 14 vorhandenen Kommunikationsaufträge 16 werden
vom Kommunikationscontroller 11 (1) sukzessive
abgewickelt, d. h. über
den Bus 12 (1) versandt.
-
Anhand
von 3 wird eine vorteilhafte Ausgestaltung der Erfindung
verdeutlicht. Neben den Kommunikationsaufträgen 16 sind eine Anzahl
von Kommunikationssonderaufträgen 18 vorhanden.
Ein Kommunikationssonderauftrag 18 entspricht nach Art,
Funktion und Struktur weitestgehend einem Kommunikationsauftrag 16.
Kommunikationssonderaufträge 18 werden
allerdings in besonderer Weise abgewickelt. Dies resultiert aus
der Tatsache, dass Kommunikationssonderaufträge 18 z. B. bei der
Abwicklung von Kommunikationsbeziehungen nach dem Request-To-Poll
Verfahren verwendet werden. Dabei versendet zunächst eine Applikation an eine Applikation
auf einem anderen, entfernten Kommunikationsteilnehmer 10 (1)
einen Kommunikationssonderauftrag 18 in Form eines Request-Auftrags
um bei der anderen Applikation konkret spezifizierte Daten anzufordern.
Aufgrund seiner Kenntlichkeit als Kommunikationssonderauftrag 18 wird
dieser vom ursprünglichen
Request-Auftrag
im Kommunikationscontroller 11 (1) automatisch
in einen Kommunikationssonderauftrag 18 in Form eines Poll-Auftrags umgewandelt.
Der Kommunikationssonderauftrag 18 in Form des Poll-Auftrags
dient dazu, wiederholt die Verfügbarkeit
der bei der anderen Applikation angeforderten Daten zu prüfen und
diese im Falle der Verfügbarkeit
entgegenzunehmen.
-
Die
Ausgestaltung der Erfindung bezieht sich nunmehr auf eine besonders
günstige
Handhabung solcher Kommunikationssonderaufträge 18. Dazu ist eine
Parkliste 19 mit einer Anzahl Parklistenelemente 20 vorgesehen.
Jedes Parklistenelement 20 umfasst eine insbesondere dynamisch,
z. B. in Form einer verketteten Liste, organisierte Verweilliste 21 zur
Aufnahme von zur erneuten Abwicklung vorgesehenen Kommunikationssonderaufträgen 18.
Jedem Kommunikationssonderauftrag 18 ist als Zeitspanne
zum Verbleib in einer der Verweillisten 21 eine Verweildauer
zugeordnet. Die Verweildauer ist bei einer zyklischen Abwicklung
von Kommunikations- und Kommunkationssonderaufträgen 16, 18 während eines Buszyklusses
als Anzahl von Buszyklen angegeben. Das heißt bei einer Verweildauer von
z. B. "3" verbleibt der Kommunikationssonderauftrag 18 während dreier
aufeinander folgender Buszyklen in der Parkliste und gelangt erst
nach Ablauf dieser Verweildauer und der damit korrespondierenden
Zeitspanne zur erneuten Abwicklung.
-
Zur
effizienten Handhabung der in die Parkliste 19 übernommenen
Kommunikationssonderaufträge 18 ist
vorgesehen, dass die Anzahl der Parklistenelemente 20 auf
die Anzahl unterschiedlicher Verweildauern, die einen Kommunikationssonderauftrag 18 zugeordnet
werden können,
abgestimmt ist. Beträgt
also die maximal einem Kommunikationssonderauftrag 18 zuordenbare
Verweildauer "5" (z. B. Buszyklen)
so umfasst die Parkliste 19 entsprechend fünf Parklistenelemente 20 mit
jeweils einer Verweilliste 21. Zur evtl. Anpassung der
Anzahl der Parklistenelemente 20 an eine variierende maximale
Verweildauer kann vorgesehen sein, dass auch diese dynamisch, z.
B. ebenfalls in Form einer verketteten Liste, organisiert sind.
-
Nach
der Abwicklung eines Kommunikationssonderauftrags 18 in
der Sendeliste 14 wird dieser gemäß der jeweils zugeordneten
Verweildauer in die Verweilliste 21 des entsprechenden
Parklistenelements 20 übernommen.
Die Obernahme eines Kommunikationssonderauftrags 18 aus
der Sendeliste 14 in die Parkliste 19 ist in 3 durch
die mit einem Pfeil versehenen Linien ausgehend von vorliegend zwei
Kommunikationssonderaufträgen 18 in der
Sendeliste 14 angedeutet. Nach Ablauf der Verweildauer
wird der Kommunikationssonderauftrag 18 aus der Verweilliste 21 wieder
in diejenige Warteliste 15 übernommen, aus der er ursprünglich die
Sendeliste 14 gelangt ist. Nachdem allen in jeweils einer
der Verweillisten 21 enthaltenen Kommunikationssonderaufträge 18 die
gleiche Verweildauer zugeordnet ist, können bei Ablauf der jeweiligen
Verweildauer sämtliche
in der Verweilliste 21 zusammengefassten Kommunikationssonderaufträge 18 wieder
in die jeweils ursprünglichen
Wartelisten 15 übernommen werden.
-
Zur
Referenzierung und Identifizierung des Parklistenelements 20 mit
Kommunikationssonderaufträgen 18,
deren Verweildauer abgelaufen ist oder unmittelbar vor dem Ablauf
steht, ist ein Parklistenzeiger 21 vorgesehen. Der Parklistenzeiger 21 referenziert
zu einem bestimmten Zeitpunkt während
der Abwicklung von Kommunikations- und Kommunikationssonderaufträgen 16, 18 dasjenige
Parklistenelement 20 mit Kommunikationssonderaufträgen 18,
deren Verweildauer abgelaufen ist. Diese Kommunikationssonderaufträge 18 werden – wie oben
beschrieben – wieder
in die jeweiligen ursprünglichen
Wartelisten 15 übernommen.
-
Der
Parklistenzeiger 21 wird auch bei der Übernahme von Kommunikationssonderaufträgen 18 in
die Parkliste 19 herangezogen. Wenn der Parklistenzeiger 21 auf
das Parklistenelement 20 mit Kommunikationssonderaufträgen 18 mit
abgelaufener Verweildauer zeigt, umfasst das nächstfolgende Parklistenelement 20 Kommunikationssonderaufträge 18 mit
einer Verweildauer, die z. B. erst nach dem nächstfolgenden Buszyklus abläuft. Entsprechendes gilt
für weiter
folgende Parklistenelemente 21. Kommunikationssonderaufträge 18 mit
einer Verweildauer "1" werden also aus
der Sendeliste 14 in das dem aktuell durch den Parklistenzeiger 21 referenzierten Parklistenelement 20 nachfolgende
Parklistenelement 20 übernommen.
Kommunikationssonderaufträge 18 mit
einer Verweildauer "2" werden entsprechend
in das in Bezug auf das durch den Parklistenzeiger 21 referenzierte
Parklistenelement 20'' übernächste" Parklistenelement 20 übernommen,
usw.
-
Wenn
sämtliche
in einer Verweilliste 21 enthaltenen Kommunikationssonderaufträge 18 wieder in
die ursprünglichen
Wartelisten 15 übernommen sind,
also z. B. am Ende bzw. Beginn eines jeden Buszyklus, wird der Parklistenzeiger 21 auf
das nächstfolgende
Parklistenelement 20 gesetzt, d. h. der Wert der zugrundeliegenden
Speicherstruktur wird derart beeinflusst, dass der Parklistenzeiger 21 das
nächstfolgende
Parklistenelement 20 referenziert. Das Übernehmen von Kommunikationssonderaufträgen 18 aus
der Sendeliste 14 in die Parkliste 19 kann damit
wieder – wie
zuvor beschrieben – unter Verwendung
des Parklistenzeiger 21 erfolgen. Da der Parklistenzeiger 21 jetzt
um ein Parklistenelement 20 versetzt ist, werden neu zu übernehmende Kommunikationssonderaufträge 18 automatisch
in diejenigen Parklistenelemente 20 bzw. die zugeordneten
Verweilliste 21 übernommen,
die mit der noch abzuwartenden Verweildauer korrespondiert.
-
Die
Parkliste 19 ist zur erleichterten Manipulation des Parklistenzeigers 21 bevorzugt
als verkettete Liste ausgebildet, bei der jedes Listenelement (jedes
Parklistenelement 20) eine Referenz auf das nächstfolgende
Listenelement und ggf. auch auf das vorangehende Listenelement umfasst.
Besonders günstig
ist die Parkliste 19 als zirkulär verkettete Liste ausgebildet,
wobei diejenigen Listenelemente, die bei einer linearen Liste einen
Listenanfang und ein Listenende darstellen würden, sich gegenseitig referenzieren,
so dass sich das Listenelement am Listenanfang als "Nachfolger" des Listenelementes
vom Listenende und ggf. entsprechend sich das Listenelement am Listenende
als "Vorgänger" des Listenelements
am Listenanfang darstellt.
-
Kommunikationssonderaufträge 18 werden nach
ihrer Übernahme
in die ursprüngliche
Warteliste 15 wie Kommunikationsaufträge 16 behandelt. D.
h. die durch den jeweiligen Übernahmewert 17 festgelegte
Anzahl jeweils aus der Warteliste 15 zu übernehmender
Kommunikationsaufträge 16 schließt evtl.
Kommunikationssonderaufträge 18 ein.
-
Damit
lässt sich
die Erfindung kurz wie folgt darstellen:
Es wird eine Vorrichtung
und ein korrespondierendes Verfahren zur Steuerung und/oder Überwachung
einer Abwicklung von Kommunikationsaufträgen 16 angegeben.
Die Vorrichtung, z. B. ein Kommunikationscontroller 11,
umfasst einen Speicher 13, in dem eine Sendeliste 14 und
eine Anzahl von Wartelisten 15 jeweils zur Aufnahme von
Kommunikationsaufträgen 16 angelegt
sind. Die Anzahl der Wartelisten 15 ist dabei auf eine
Anzahl von auf die Vorrichtung zugreifenden Applikationen abgestellt.
Für jede
Warteliste 15 kann mit einem Übernahmewert 17 eine
jeweils aus der Warteliste 15 in die Sendeliste 14 zu übernehmende
Anzahl von Kommunikationsaufträge 16 vorgegeben
werden. Der Übernahmewert 17 fungiert
damit gleichsam wie ein Ventil, indem die Anzahl der in die Sendeliste 14 gelangenden
Kommunikationsaufträge
begrenzt wird. Damit ergibt sich rückwirkungsfrei zu den jeweiligen
Applikationen ein ausgewogener Nachrichtendurchsatz mit kalkulierbaren Latenzzeiten.
Eine Ausgestaltung der Erfindung bezieht sich darüber hinaus
auf die Handhabung von Kommunikationssonderaufträgen 18 wie z. B. Poll-Aufträgen, die
nicht stetig neu abgewickelt werden, sondern für die eine Verweildauer vorgegeben werden
kann, während
derer sie in eine Parkliste 19 übernommen werden, so dass sie
erst nach Ablauf der Verweildauer erneut zur Abwicklung gelangen. Eine
Verwendung wertvoller Kommunikationsbandbreite für z. B. Poll-Aufträge deren
angeforderte Daten erfahrungs- oder erwartungsgemäß noch nicht zur
Verfügung
stehen, wird damit vermieden. Die "eingesparte" Kommunikationsbandbreite kann damit
für andere
Kommunikations- oder Kommunikationssonderaufträge verwendet werden.