Die Erfindung betrifft allgemein Kommunikationssysteme und
insbesondere eine Kommunikationstechnik, die die verzögerte
Bestätigung von übertragenen Mitteilungen verwendet, um den
Datendurchsatz in Kommunikationsverbindungen zu erhöhen, die
eine geringe Bandbreite und/oder eine Übertragungszeitverzö
gerung haben.
Allgemein ausgedrückt bieten Kommunikationstechniken ein be
stimmtes Niveau an Datendurchsatz mit einem bestimmten Niveau
der Datensicherheit. Typischerweise wählt ein Systemkonstruk
teur eine geeignete Kommunikationstechnik für eine Anwendung,
indem die vorhandenen Einschränkungen hinsichtlich des Daten
durchsatzes und der Datensicherheit, die von jeder der ver
fügbaren Kommunikationstechniken geboten werden, gegen die
Systemkostenziele abgewogen werden. In einigen Anwendungen,
wie etwa bei denjenigen, die die Kommunikation zwischen lokal
angeordneten Einrichtungen, wie etwa Regeleinrichtungen und
Steuereinrichtungen, und Workstations, die in einem Prozeß
steuersystem verwendet werden, beeinhalten, kann ein dezi
dierter Hochgeschwindigkeitsdatenbus (z. B. Ethernet) verwen
det werden, um ein hohes Datendurchsatzniveau sowie ein Si
cherheitsniveau mit relativ geringen Kosten sicherzustellen.
Bei anderen Anwendungen, welche die Kommunikation zwischen
lokalen und entfernt angeordneten Einrichtungen, wie etwa Re
geleinrichtungen, Steuereinrichtungen und Workstations, die
in Prozeßsteuersystemen verwendet werden, vorkommt, zwingen
praktische Erwägungen und Beschränkungen Systemkonstrukteure,
langsame Kommunikationsverbindungen zu verwenden, wie etwa
Modemverbindungen, drahtlose zelluläre Verbindungen etc., die
eine relativ geringe Bandbreite haben, oder Verbindungen, die
eine Übertragungszeitverzögerung haben, wie etwa Satelliten
kommunikationsverbindungen.
Die Verwendung der vorstehend genannten langsamen Kommunika
tionsverbindungen, um die Kommunikation zwischen lokalen und
entfernten Systemen aufzubauen, bringt mehrere wesentliche
Probleme mit sich. Beispielsweise sind langsame Kommunikati
onsverbindungen typischerweise für elektromagnetische Störun
gen empfindlich, die zu der Verfälschung bzw. Zerstörung der
über die Verbindung übertragenen Daten führen können. Zusätz
lich sind langsame Kommunikationsverbindungen oftmals mit ei
ner extern zu erwerbenden Dienstleistung, wie etwa Telefon
leitungen, zelluläre Kanäle oder Kanalzuweisung innerhalb ei
ner Satellitentransponderbandbreite verbunden, was zu be
trächtlichen Kosten pro Dateneinheit führen kann, die über
die Verbindung gesendet wird. Somit sind Kommunikationstech
niken, die die langsame Kommunikationsverbindung sowohl in
zeitlicher Hinsicht als auch hinsichtlich der Frequenz der
Verbindung dicht mit Daten packen, sehr erstrebenswert, da
sie tendenziell den Datendurchsatz erhöhen und die Kosten pro
Dateneinheit minimieren, die über die Verbindung gesendet
wird.
Für viele Anwendungen können akzeptable Niveaus der Datensi
cherheit und der Kosten pro gesendeter Dateneinheit erreicht
werden, wenn man konventionelle Datencodierungs- und Kanalmo
dulationstechniken in einer Einwegkommunikationsverbindung
verwendet. Beispielsweise werden Audio- und Videodaten typi
scherweise vor der Übertragung codiert, und zwar unter der
Verwendung einer bestimmten Art vorauseilender Fehlerkorrek
tur und/oder konvolutweiser Codierung, und können über die
Einwegkommunikationsverbindung unter Verwendung einer Band
spreizungsmodulationstechnik effektiv übertragen werden. Eine
Empfängerstation kann anschließend die übertragenen Daten de
modulieren und decodieren, um Audio- und Videosignale zu er
zeugen, die ein akzeptables Sicherheitsniveau haben. Da die
Empfängerstation nicht mit der Senderstation kommuniziert,
können Daten, die stark beschädigt oder verloren sind, von
der Empfängerstation nicht wiedergewonnen werden, wodurch
Störungsfehler in den Video- und Audiosignalen erzeugt wer
den, die einem Benutzer übermittelt werden. Während diese
Störungsfehler unerwünscht sind, haben sie keine wesentliche
Auswirkung auf die gesamte Systemleistung, da sie von dem Be
nutzer nicht ohne weiteres wahrnehmbar sind. Auf diese Weise
können herkömmliche Kommunikationsprotokolle für die Übertra
gung von Audio- und Videodaten die Kommunikationsgesamtkosten
eliminieren, die normalerweise mit Zweiwegkommunikationstech
niken verbunden sind, welche typischerweise ein Kommunikati
onsprotokoll im Quittungsbetrieb verwenden, ohne daß die qua
litative Leistung des Systems nachteilig beeinflußt wird.
Während die vorstehend beschriebenen Vorgehensweisen zur
Übertragung von Daten durch eine Einwegkommunikationsverbin
dung ein akzeptables Niveau von Datensicherheit für die Wie
dergabe von Audio- und Videoinformationen bieten, bieten die
se Vorgehensweisen kein Sicherheitsniveau, das zur Verwendung
in einigen anderen Arten von Anwendungen geeignet ist. Bei
spielsweise können Daten, die zu einem Prozeßsteuersystem ge
hören, wie etwa Daten, die auf Alarmzustände bezogen sind,
hochkritischer Art sein, da das Fehlen oder die Beschädigung
von Alarmdaten zu Personenschäden und/oder Materialschäden
und Schäden an der Anlagenausrüstung führen kann. Ferner sind
einseitige bzw. Einwegkommunikationstechniken allgemein nicht
zur Verwendung in Prozeßsteuersystemen geeignet, da es sehr
wichtig (und oftmals erforderlich) ist, daß eine lokale Sen
destation erkennen kann, daß eine entfernte Empfängerstation
die Daten, die von der Sendestation zu ihr gesendet werden,
tatsächlich empfängt und verarbeitet.
Herkömmlicherweise haben langsame Datenkommunikationsverbin
dungen eine Zweiwegekommunikationstechnik (d. h. eine Volldu
plexkommunikationstechnik) verwendet, die ein Kommunikations
protokoll im Quittungsbetrieb vorsieht, welches erfordert,
daß jede übertragene Mitteilung (die typischerweise eine
Vielzahl von Datenbytes enthält) von der Empfängerstation be
stätigt wird, bevor eine nachfolgende Mitteilung gesendet
wird. Während diese herkömmlichen Kommunikationsprotokolle
für den Quittungsbetrieb ein akzeptables Niveau der Datensi
cherheit beispielsweise in Prozeßsteuersystemen bieten und es
ermöglichen, daß die lokale Sendestation sicherstellt, ob die
entfernte Empfängerstation die übertragenen Daten empfängt
und verarbeitet oder nicht, führen diese Protokolle zu einem
geringen Datendurchsatz, was dann sehr nachteilig ist, wenn
eine große Menge von kritischen Daten, wie etwa Alarminforma
tionen in einem Prozeßsteuersystem übertragen werden.
Die Verwendung der herkömmlichen Kommunikationsprotokolle im
Quittungsbetrieb ist insbesondere dann problematisch, wenn
sie in Verbindung mit Satellitenkommunikationsverbindungen
verwendet werden, da die Zeitverzögerung bei einer in beide
Richtungen verlaufenden Kanalübertragung dieser Verbindungen
mehrere hundert Mmillisekunden sein kann, was zu einem be
trächtlichem Ausmaß an Leerlaufzeit der Kommunikationsverbin
dung führt, während der die sendende Station auf die Bestäti
gung für jede gesendete Mitteilung wartet. Zusätzlich kann
das Senden einer großen Menge von Informationen (z. B. von ei
ner lokalen Workstation, die von einem Benutzer bedient wird,
zu einer entfernt gelegenen Workstation) für den Benutzer,
der die Informationen anfordert, sichtlich oder sogar un
brauchbar langsam sein. In jedem Fall führt die ineffiziente
Verwendung der Satellitenkommunikationverbindung zu inakzep
tabel hohen Kosten pro übertragener Dateneinheit.
Zusätzlich zur Verwendung eines Kommunikationsprotokolles mit
niedriger Geschwindigkeit im Quittungsbetrieb, um eine zuver
lässige Kommunikation über eine langsame Kommunikations
verbindung zu erreichen, verwenden viele herkömmliche Prozeß
steuersysteme ein Kommunikationsschema im Quittungsbetrieb
auf Anwendungsebene, so daß jede Anwendungsmitteilung bestä
tigt wird, bevor eine nachfolgende Anwendungsmitteilung durch
die langsame Kommunikationsverbindung übertragen wird. Bei
spielsweise enthalten konventionelle Prozeßsteuersysteme ty
pischerweise Alarmdienste, bei welchen Alarme und Alarmmit
teilungen an Alarmabonnenten gesendet werden, die den Empfang
des Alarms bestätigen. Wenn somit Alarmmitteilungen durch die
langsame Kommunikationsverbindung unter Verwendung eines Kom
munikationsprotokolles im Quittungsbetrieb gesendet werden,
sendet der Alarm Bestätigungen auf Anwendungsebene für jede
der bestimmten Alarmmitteilungen, die empfangen wurden. Als
Resultat würden Alarmmitteilungen, die über die langsame Kom
munikationsverbindung gesendet werden, tatsächlich zweimal
bestätigt (d. h. einmal durch das langsame Kommunikationspro
tokoll im Quittungsbetrieb und einmal auf Anwendungsebene).
Dieses redundante Bestätigen von Alarmmitteilungen auf Anwen
dungsebene kann die Zeiteffizienz der Alarmkommunikation über
die langsame Kommunikationsverbindung beträchtlich verrin
gern.
Aufgabe der vorliegenden Erfindung ist es, eine Kommunikati
onstechnik aufzuzeigen, bei der die vorstehend beschriebenen
Nachteile der herkömmlichen Kommunikationstechniken nicht
auftreten.
Die Lösung der Aufgabe ergibt sich aus den Patentansprüchen.
Unteransprüche beziehen sich auf bevorzugte Ausführungsformen
der Erfindung. Dabei sind auch andere Kombinationen von Merk
malen als in den Ansprüchen beansprucht möglich.
Es wird eine Kommunikationstechnik geschaffen, die die effi
ziente Datenübertragung über eine langsame Kommunikationsver
bindung (d. h. mit geringer Bandbreite und/oder mit Zeitverzö
gerung), wie etwa eine Satellitenverbindung, eine zelluläre
Verbindung, ein Wide Area Network etc. ermöglicht. Allgemein
ausgedrückt minimiert die Kommunikationstechnik die Leerlauf
zeit der Kommunikationsverbindung durch die Verwendung von
verzögerter Bestätigung von Mitteilungspaketen, um die Kommu
nikationsverbindung zeitweise mit mehreren Mitteilungen dicht
zu packen, bevor Bestätigungen einer dieser Mitteilungen er
halten werden. Genauer ausgedrückt sendet ein Mitteilungs
übertragungsabschnitt der Kommunikationstechnik Mitteilungen
über die Kommunikationsverbindung in Mitteilungspaketen bzw.
-bündeln, ohne daß ausdrückliche Bestätigungen für alle Mit
teilungen bzw. Nachrichten innerhalb der Mitteilungspakete
erforderlich sind, sondern anstelle dessen Bestätigungen für
nur einen Teil der Mitteilungen innerhalb des Pakets angefor
dert werden, und zwar auf der Grundlage, daß eine Bestätigung
einer Mitteilung implizit die vor dieser Mitteilung gesende
ten Mitteilungen bestätigt. Ein Bestätigungsverarbeitungsab
schnitt der Kommunikationstechnik verarbeitet Bestätigungen,
die von dem anderen Ende der Kommunikationsverbindung empfan
gen werden, den übertragenen Mitteilungspaketen entsprechend
und verfolgt und zeichnet auf, welche Mitteilungen bis zum
Ende einer Zeitablaufperiode, die zu jeder Mitteilung gehört,
unbestätigt bleiben. Zusätzlich konsolidiert die Kommunikati
onstechnik redundante Mitteilungen, um die Gesamtzahl von
Mitteilungen, die über die Verbindung zu einem Empfängersy
stem gesendet werden, zu minimieren.
In einer Ausführungsform speichert das Sendersystem zu über
tragende Mitteilungen in einer Warteschlange von anstehenden
Mitteilungen und wendet ein dynamisches Fenster an der Mit
teilungswarteschlange an, um ein Mitteilungspaket zu definie
ren, das über die langsame Kommunikationsverbindung zu senden
ist. Die sendende Station fordert eine Bestätigung für minde
stens eine Mitteilung (z. B. die letzte gesendete Mitteilung)
innerhalb des Pakets an, benötigt jedoch nicht Bestätigungen
für jede Mitteilung innerhalb des Pakets. Übertragene Mittei
lungen werden vorübergehend als nicht bestätigte Mitteilungen
in einer Neuübertragungswarteschlange gespeichert, bis die
übertragenen Mitteilungen bestätigt sind oder bis eine Zeit
ablaufperiode, die mit jeder der Mitteilungen verbunden ist,
verstrichen ist. Wenn die Sendestation eine rechtzeitige Be
stätigung ansprechend auf eine Anforderung einer Bestätigung
erhält, entfernt die sendende Station alle ausstehenden Mit
teilungen, die zu dieser Bestätigung gehören, aus der Neu
übertragungswarteschlange. Jede Bestätigung arbeitet typi
scherweise so, daß sie eine Vielzahl von Mitteilungen bestä
tigt. Wenn andererseits keine rechtzeitige Bestätigung erhal
ten wird, sendet die übertragende Station alle Mitteilungen,
deren Zeit abgelaufen ist, erneut. Als Resultat kann die vor
stehend beschriebene Kommunikationstechnik die Leerlaufzeit
der Kommunikationsverbindung, die bei Kommunikationstechniken
nach dem Stand der Technik aufgetreten war, stark verringern,
indem die Bestätigung für Mitteilungspakete (oder Teile von
Paketen) angefordert wird und es ermöglicht wird, daß die Be
stätigungen von Mitteilungspaketen auf einen späteren Zeit
punkt verschoben werden, während zusätzliche Mitteilungen
über die Verbindung gesendet werden.
Ein Verfahren gemäß einem Aspekt der Erfindung ermöglicht das
Übertragen einer Vielzahl von Mitteilungen über eine Kommuni
kationsverbindung, die eine Übertragungs-Umlaufzeitverzöge
rung haben. Dieses Verfahren schafft eine erste Warteschlange
zum Speichern von Mitteilungen, die über die Kommunikations
verbindung zu senden sind, und eine zweite Warteschlange zum
Speichern von nicht bestätigten Mitteilungen, die in die Kom
munikationsverbindung gesendet wurden. Das Verfahren verwen
det ein Fenster, dessen unteres Ende mit einer Position in
nerhalb der ersten Warteschlange in Zusammenhang steht, und
dessen oberes Ende mit einer Position des unteren Endes und
einer Anzahl von ausstehenden Mitteilungen, die in der zwei
ten Warteschlange enthalten sind, in Zusammenhang steht. Das
Verfahren wendet das Fenster auf die erste Schlange an, um
ein Mitteilungspaket zu definieren, das eine oder mehrere
Mitteilungen enthält, die über die Kommunikationsverbindung
zu senden sind, und entfernt diese eine oder mehrere Mittei
lungen, die zu dem Mitteilungspaket gehören, aus der ersten
Warteschlange. Zusätzlich sendet das Verfahren die eine oder
die mehreren Mitteilungen, die zu dem Mitteilungspaket gehö
ren, über den Kommunikationskanal, so daß mindestens zwei der
Mitteilungen in dem Mitteilungspaket in einer Zeitdauer ge
sendet werden, die kleiner ist als die Übertragungs-Umlauf
zeitverzögerung, hängt die gesendete eine oder die gesendeten
mehreren Mitteilungen an die zweite Warteschlange an und be
stätigt mindestens einige der gesendeten Mitteilungen, nach
dem die Mitteilungen in dem Mitteilungspaket gesendet wurden.
Das Verfahren kann ferner die Schritte des Entfernens von ge
sendeten Mitteilungen aus der zweiten Warteschlange und des
erneuten Übertragens von Mitteilungen, deren Zeit abgelaufen
ist, enthalten.
Gemäß einem weiteren Aspekt der Erfindung enthält ein System
zum Senden einer Vielzahl von Mitteilungen über eine Kommuni
kationsverbindung einen ersten Datenserver, der eine erste
Warteschlange hat, die über die Kommunikationsverbindung zu
sendende Mitteilungen speichert, und eine zweite Warteschlan
ge, die nicht bestätigte Mitteilungen speichert, die in die
Kommunikationsverbindung gesendet wurden. Der erste Datenser
ver kann ferner eine erste Routine enthalten, die eine Gruppe
von Mitteilungen, die in der ersten Warteschlange gespeichert
sind, in die Kommunikationsverbindung sendet, und zwar basie
rend auf einer Anzahl von Mitteilungen, die in der zweiten
Warteschlange gespeichert sind, eine zweite Routine, die die
gesendete Gruppe von Mitteilungen an die zweite Warteschlange
anhängt, und eine dritte Routine, die zu der gesendeten Grup
pe von Mitteilungen gehörige Bestätigungen verarbeitet, um
bestätigte Mitteilungen aus der zweiten Warteschlange zu ent
fernen.
Das System kann ferner einen zweiten Datenserver enthalten,
der mit dem ersten Datenserver über die Kommunikationsverbin
dung in Kommunikation steht. Der zweite Datenserver kann eine
vierte Routine enthalten, der die gesendete Gruppe von Mit
teilungen über die Kommunikationsverbindung empfängt und der
Bestätigungen für eine oder mehrere der empfangenen Mittei
lungen der gesendeten Mitteilungsgruppe an den ersten Daten
server über die Kommunikationsverbindung sendet.
Gemäß einem weiteren Aspekt der Erfindung enthält ein Verfah
ren zum Kommunizieren von Anwendungsinformationen in einem
Prozeßsteuersystem, das einen ersten Abschnitt hat, der in
Kommunikation mit einem zweiten Abschnitt über eine Kommuni
kationsverbindung steht, die Schritte des Herstellens eines
Anwendungsclientprozesses in dem ersten Abschnitt des Prozeß
steuersystems und des Einrichtens eines Anwendungsserverpro
zesses in dem zweiten Abschnitt des Prozeßsteuersystems. Das
Verfahren kann eine erste Anwendungsmitteilung von dem Anwen
dungsserverprozeß zu dem Anwendungsclientprozeß senden, wel
che die periodisch zu dem Clientprozeß zu sendenden Mittei
lungen bestimmt. Das Verfahren kann ferner periodisch Anwen
dungsaktualisierungsmitteilungen an den Clientprozeß senden
sowie eine zweite Anwendungsmitteilung von dem Anwendungscli
entprozeß zu dem Anwendungsserverprozeß, welche den Anwen
dungsserverprozeß in die Lage versetzt, Mitteilungen an den
Anwendungsclientprozeß zu senden. In einer Ausführungsform
können der Anwendungsclientprozeß und der Anwendungsserver
prozeß mit der Verarbeitung von Alarminformationen in Bezug
stehen und ein Teil der Alarminformationen kann vor der Über
tragung der Alarminformation mit Priorität ausgestattet wer
den.
Nachfolgend werden Ausführungsformen der Erfindung unter Be
zug auf die Zeichnung näher erläutert.
Fig. 1 ist ein schematisches Blockdiagramm, das ein lokales
System zeigt, das mit einem entfernten System über eine lang
same Kommunikationsverbindung unter Verwendung einer Kommuni
kationstechnik mit verzögerter Bestätigung kommuniziert;
Fig. 2 ist ein beispielhaftes Blockdiagramm, das eine Mit
teilungswarteschlange und eine Neuübertragungswarteschlange
zeigt, die in der Kommunikationstechnik mit verzögerter Be
stätigung aus Fig. 1 verwendet werden können;
Fig. 3 ist ein beispielhaftes Flußdiagramm, das die Bewegung
von Mitteilungen zwischen der anstehenden Mitteilungswarte
schlange und der Neuübertragungswarteschlange aus Fig. 2
zeigt;
Fig. 4 ist ein beispielhaftes Flußdiagramm, das ein Verfah
ren darstellt, mit dem ein Mitteilungspaket an das entfernte
System gesendet wird, um die Datenkommunikation in dem System
von Fig. 3 durchzuführen;
Fig. 5 ist ein beispielhaftes Blockdiagramm, das ein mögli
ches Datenformat für Mitteilungen zeigt, die zwischen dem lo
kalen und dem entfernten System in Fig. 1 übertragen werden;
Fig. 6 ist ein schematisches Blockdiagramm, das ein Prozeß
steuersystem zeigt, das einen lokalen Abschnitt hat, der mit
einem entfernten Abschnitt über eine langsame Kommunikations
verbindung unter Verwendung der Kommunikationstechnik mit
verzögerter Bestätigung aus Fig. 1 kommuniziert;
Fig. 7 ist ein schematisches Blockdiagramm, das im Detail
ein Beispiel der Art und Weise zeigt, in der Datenserver kon
figuriert werden können, um über die langsame Kommunikations
verbindung aus Fig. 6 gesendete Mitteilungen zu konsolidie
ren;
Fig. 8 ist ein schematisches Blockdiagramm, das allgemein
die Softwaremodule darstellt, die transparente Kommunikation
zwischen dem lokalen und dem entfernten Abschnitt des Prozeß
steuersystems und Fig. 6 ermöglichen;
Fig. 9 ist ein schematisches Blockdiagramm, das eine Cli
ent/Serveralarmverwaltungsanwendung zeigt, welche die Kommu
nikationstechnik mit verzögerter Bestätigung aus Fig. 1 und
6 verwendet.
Während eine Technik zum Übertragen von Informationen über
eine langsame Kommunikationsverbindung im Detail in Zusammen
hang mit einer Satellitenkommunikationsverbindung beschrieben
wird, die eine Übertragungszeitverzögerung hat, sei ange
merkt, daß die hier beschriebene Kommunikationstechnik vor
teilhafterweise als ein Kommunikationsprotokoll auf niedrigem
Niveau in einer Vielzahl von Kommunikationssystemen verwendet
werden kann, darunter beispielsweise Systeme mit geringer
Bandbreite, die Modems verwenden, drahtlose zelluläre Syste
me, Wide Area Networks, wie etwa das Internet etc., und An
wendungen mit höherem Niveau, wie etwa Prozeßsteuerungsbe
richterstattung und Alarmierung, welche über die Kommunikati
onssysteme gelegt sind. Während ferner die Verwendung in ei
nem Prozeßsteuersystem hier beschrieben wird, können die
hierin beschriebenen Kommunikationstechniken vorteilhaft in
jedem anderen Kommunikationssystem verwendet werden, das Da
ten über eine langsame Kommunikationsverbindung überträgt.
Bevor die Kommunikationstechnik mit verzögerter Bestätigung
im Detail erläutert wird, ist es wesentlich zu erkennen, daß
herkömmliche Vollduplex-Kommunikationstechniken, die bei der
Übertragung von Mitteilungen über langsame Kommunikationsver
bindungen verwendet werden, typischerweise eine Bestätigung
für jede Mitteilung erfordern, die gesendet wurde, und eine
nachfolgende Mitteilung nicht senden, bevor nicht eine Bestä
tigung für eine zuvor gesendete Mitteilung empfangen wurde.
Mit anderen Worten erlauben diese herkömmlichen Kommunikati
onstechniken das Vorhandensein von nur einer ausstehenden
oder nicht bestätigten Mitteilung zu einem gegebenen Zeit
punkt. Da die Übertragungs-Umlaufzeitverzögerung durch die
langsame Kommunikationsverbindung typischerweise wesentlich
größer ist als die Zeit, die zum Übertragen einer einzelnen
Mitteilung erforderlich ist, führen herkömmliche Kommunikati
onstechniken zu einem beträchtlichen Ausmaß an Leerlaufzeit
auf langsamen Kommunikationsverbindungen, was zu einem nied
rigen Datendurchsatz und hohen Kosten pro Dateneinheit, die
über diese Verbindungen gesendet wird, führt.
Daneben erkennen und konsolidieren die vorstehend angeführten
herkömmlichen Kommunikationstechniken typischerweise redun
dante Mitteilungen nicht. Als Resultat wird der effektive
Durchsatz über die Kommunikationsverbindung weiter verringert
und die Kosten pro übertragener Dateineinheit werden weiter
erhöht, insbesondere wenn dieselbe Mitteilung periodisch von
mehreren Anwendungen und/oder Workstations in einem entfernt
angeordneten System angefordert wird.
Die hier beschriebene Kommunikationstechnik ermöglicht die
effiziente Datenübertragung über eine langsame Kommunikati
onsverbindung. Allgemein ausgedrückt minimiert die Kommunika
tionstechnik die Leerlaufzeit der Kommunikationsverbindung,
indem die verzögerte Bestätigung von Mitteilungspaketen bzw.
-bündeln verwendet wird, um die Kommunikationsverbindung
zeitweise dicht zu packen. Genauer ausgedrückt sendet ein
Mitteilungsübertragungsabschnitt der Kommunikationstechnik
Mitteilungen über die langsame Kommunikationsverbindung in
Mitteilungspaketen, ohne daß ausdrückliche Bestätigungen für
alle Mitteilungen innerhalb des Mitteilungspakets erforder
lich sind, sondern anstelle dessen Bestätigungen für nur ei
nige der Mitteilungen innerhalb des Pakets angefordert wer
den, und zwar davon ausgehend, daß eine Bestätigung für eine
Mitteilung implizit die vor dieser Mitteilung gesendeten Mit
teilungen bestätigt. Ein Bestätigungsverarbeitungsabschnitt
der Kommunikationstechnik verarbeitet Bestätigungen, die von
dem anderen Ende der Kommunikationsverbindung empfangen wer
den und den übertragenen Mitteilungspaketen entsprechen und
verfolgt mit, welche Mitteilungen bis zum Ende einer Zeitab
laufperiode, die zu jeder Mitteilung gehört, unbestätigt
bleiben. Zusätzlich konsolidiert die Kommunikationstechnik
redundante Mitteilungen, um die Gesamtzahl von Mitteilungen
zu minimieren, die über die Verbindung zu einem Empfängersy
stem zu senden sind.
Fig. 1 ist ein beispielhaftes schematisches Blockdiagramm,
das ein lokales System 12 zeigt, das mit einem entfernten Sy
stem 14 über eine langsame Kommunikationsverbindung unter
Verwendung von einer Kommunikationstechnik mit verzögerter
Bestätigung kommuniziert, die nachstehend im Detail beschrie
ben wird. Als Beispiel ist die langsame Kommunikationsverbin
dung 16 eine drahtlose Verbindung, die eine Satellitenrelais
station 18 und Aufwärtsstrecke-/Abwärtsstrecke-Kommunika
tionskanäle 20 und 22 verwendet, um einen Vollduplexverkehr
zwischen den Systemen 12 und 14 zu ermöglichen. Das lokale
System 12 enthält eine Benutzerschnittstelle 24, die eine
Workstation oder jeder andere Typ von Computer oder Prozessor
sein kann, welche in einem Kommunikationsnetzwerk mit einem
lokalen Datenserver 26 über einen Datenbus 28 auf Systemebene
verbunden ist. Der Datenbus 28 auf Systemebene kann ein
Ethernetdatenbus oder jeder andere Datenbus sein, der zur
Übertragung von Daten geeignet ist. Der lokale Server 26 ent
hält eine Antenne 30, welche die Kommunikation über den Auf
wärtsstrecke-/Abwärtsstrecke-Kommunikationskanal 20 ermög
licht. Entsprechend enthält das entfernte System 14 eine ent
fernte Benutzerschnittstelle 32, die mit einem entfernten Da
tenserver 34 über einen Datenbus 36 auf der Ebene des ent
fernten Systems verbunden ist. Der entfernte Server 34 ent
hält eine Antenne 38, die die Kommunikation auf dem Aufwärts
strecke-/Abwärtsstrecke-Kommunikationskanal 22 ermöglicht.
Der lokale Server 26 und der entfernte Server 34 enthalten
jeweils Softwareroutinen 40 und 42 (die auf jeweiligen compu
terlesbaren Speichern 43 und 44 gespeichert sein können), um
die hier beschriebene Kommunikationstechnik auszuführen.
Es ist allgemein bekannt, daß aufgrund des Umlaufbahnabstan
des des Satelliten 18 die Übertragungs-Umlaufzeitverzögerung
über die Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanäle
20 und 22 annähernd mehrere hundert Millisekunden betragen
kann. Bei herkömmlichen Kommunikationstechniken im Quittungs
betrieb ist die Kommunikationsverbindung während der Übertra
gungs-Umlaufzeitverzögerung im Leerlauf, da jede Mitteilung
bestätigt werden muß, bevor eine nachfolgende Mitteilung ge
sendet wird. Da eine Leerlaufzeit von mehreren hundert Milli
sekunden typischerweise wesentlich länger ist als die Mittei
lungsdauer (bei der es sich um zehntel Millisekunden handeln
kann), ist die Zeiteffizienz und der Datendurchsatz der vor
stehend angeführten herkömmlichen Kommunikationstechnik sehr
niedrig und die Kosten pro Dateneinheit, die über die Verbin
dung übertragen werden, sind relativ hoch. Bei der hier be
schriebenen Kommunikationstechnik werden die Mitteilungen je
doch in Bündeln bzw. Paketen bestätigt, die typischerweise
eine Vielzahl von Mitteilungen enthalten, und die Bestätigun
gen für die Mitteilungspakete können über eine Zeitdauer ver
zögert sein, die größer ist als die Umlaufzeitverzögerung der
langsamen Verbindung 16. Auf diese Weise kann die Kommunika
tionstechnik gemäß der Erfindung die Auslastung der Aufwärts
strecke-/Abwärtstrecke-Kommunikationskanäle 20 und 22 mit
Mitteilungen in zeitlicher Hinsicht verdichten, um die Leer
laufzeit der langsamen Kommunikationsverbindung 16 zu redu
zieren oder praktisch zu eliminieren.
Zusätzlich verbessert die hier beschriebene Kommunikations
technik ferner die Nutzung der langsamen Kommunikationsver
bindung 16 durch Erkennen und Eliminieren der Übertragung von
redundanten Mitteilungen. Beispielsweise können die Server 26
und 34 als Mitteilungsmuliplexer/Demultiplexer arbeiten, so
daß nur eine Kopie einer Mitteilung über eine langsame Kommu
nikationsverbindung 16 tatsächlich übertragen wird, obgleich
mehrere Anforderungen für diese Mitteilung in einem der Sy
steme 12 und 14 vorliegen.
Fig. 2 ist ein beispielhaftes Blockdiagramm, das eine anste
hende Mitteilungswarteschlange 50 und eine Neuübertragungs
warteschlange 52 zeigt, die von den Kommunikationsroutinen 40
und 42 mit verzögerter Bestätigung aus Fig. 1 verwendet wer
den können. Die lokale Benutzerschnittstelle 24 (Fig. 1)
oder jede andere Prozeßsteuereinrichtung kann eine oder meh
rere Anwendungen 54 bis 58 ausführen, von welchen eine bei
spielsweise eine Alarmverwaltungsanwendung sein kann, die
Mitteilungen asynchron über den Systemdatenbus 28 zu dem lo
kalen Server 26 zur Weiterleitung an das entfernte System 14
sendet. Der lokale Server 26 hängt die Mitteilungen gemäß der
Eingangsreihenfolge von den Anwendungen 54 bis 58 an die an
stehende Mitteilungswarteschlange 50 an. Jede der Mitteilun
gen wird in der anstehenden Mitteilungswarteschlange 50 zu
sammen mit einer Sequenznummer gespeichert, welche die Rei
henfolge kennzeichnet, in der die Mitteilung in der Warte
schlange 50 empfangen wurde. Beispielsweise kann ein Sech
zehnbitzähler jedes Mal dann um einen Schritt erhöht werden,
wenn eine neue Mitteilung von dem lokalen Server 26 gesendet
wird, und der Zählwert kann mit der empfangenen Mitteilung
als deren Sequenznummer verbunden werden. Während Fig. 2 ei
nen Abschnitt der anstehenden Mitteilungswarteschlange 50
zeigt, welcher Mitteilungen enthält, die Sequenznummern 100
bis 114 haben, versteht es sich, daß jede andere Art der
Identifizierung der Reihenfolge, in der die Mitteilungen von
dem lokalen Server gesendet werden, oder jede andere Art der
Kennzeichnung der Mitteilungen mit Sequenznummern verwendet
werden könnte, ohne den Schutzumfang der Erfindung zu verlas
sen.
Die Softwareroutine 40 in dem lokalen Server 26 enthält eine
Mitteilungsübertragungsroutine, die Mitteilungen von der an
stehenden Mitteilungswarteschlange 50 entsprechend ihren Se
quenznummern entfernt und die Mitteilungen zu einer Übertra
gungseinrichtung 59 weiterleitet, die die Mitteilungen über
den Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanal 20 un
ter Verwendung jedes gewünschten oder bekannten Protokolles
überträgt. Die Übertragungsroutine fügt jede Mitteilung zu
sammen mit einem Zeitstempel unmittelbar nach dem Senden der
Mitteilung (einschließlich des Zeitstempels) in die langsame
Kommunikationsverbindung 16 an die Neuübertragungswarte
schlange 52 an. Der Zeitstempel, der zu jeder gesendeten Mit
teilung in der Neuübertragungswarteschlange 52 gehört, zeigt
die Zeit an, zu der die Mitteilung ursprünglich in die lang
same Kommunikationsverbindung 16 gesendet wurde. Wie weiter
unten im Detail erläutert wird, werden übertragene Mitteilun
gen in der Neuübertragungswarteschlange 52 als ausstehende
oder nicht bestätigte Mitteilungen gespeichert, bis sie von
dem entfernten System 14 bestätigt werden oder bis eine
Zeitablaufperiode ausläuft, wenn der lokale Server 26 nicht
zeitgerecht von dem entfernten Server 34 die Bestätigungen
für diese Mitteilungen erhält.
Die Neuübertragungswarteschlange 52 enthält eine vorbestimmte
Maximalzahl von ausstehenden Mitteilungen. Im allgemeinen
enthält die Neuübertragungswarteschlange 52 eine Anzahl von
ausstehenden Mitteilungen, die ausreicht, um die langsame
Kommunikationsverbindung 16 in zeitlicher Hinsicht dicht zu
packen. Wenn beispielsweise jede Mitteilung 30 Millisekunden
(ms) Übertragungszeit benötigt und die Umlaufzeitverzögerung
der Übertragung etwa 300 ms beträgt, kann die Neuübertra
gungswarteschlange 52 so konfiguriert werden, daß sie 10 oder
mehr ausstehende Mitteilungen enthält. Obgleich die Neuüber
tragungswarteschlange 52 in dem vorstehend beschriebenen Bei
spiel so konfiguriert werden könnte, daß sie eine wesentlich
größere Anzahl von ausstehenden Mitteilungen enthält, können
mehrere Faktoren, wie etwa die Speicherverfügbarkeit und die
Zeitablaufperiode für die Mitteilungen eine praktische Ober
grenze bestimmen.
Der lokale Server 26 bestimmt ein Mitteilungspaket, das über
die langsame Kommunikationsverbindung 16 zu senden ist, unter
Verwendung eines dynamischen Fensters 60, das eine untere Se
quenznummer 62 und eine obere Sequenznummer 64 hat, die auf
einer maximal zulässigen Anzahl von ausstehenden Mitteilungen
66 und der Anzahl von gegenwärtig ausstehenden Mitteilungen
68 basieren. Allgemein ist die Größe des Fensters (d. h. die
Anzahl der Mitteilungen in dem Paket) in umgekehrter Bezie
hung zu der Anzahl der gegenwärtig ausstehenden Mitteilungen
68, so daß die von der anstehenden Mitteilungswarteschlange
50 genommenen Mitteilungspakete eine Anzahl von Mitteilungen
enthalten, die gleich der Anzahl der ausstehenden Mitteilun
gen ist, die zu der Neuübertragungswarteschlange 52 hinzuge
fügt werden kann. Wenn beispielsweise die maximale Anzahl der
ausstehenden Mitteilungen 66 zehn ist, ist die Anzahl der ge
genwärtig ausstehenden Mitteilungen 68 null und die nächste
zu sendende Mitteilung (d. h. die Mitteilung, die der unteren
Sequenznummer 62 entspricht), hat eine Sequenznummer 101, wo
mit die obere Sequenznummer 110 ist, so daß ein Mitteilungs
paket erstellt wird, das zehn Mitteilungen enthält, die den
Sequenznummern 101 bis 110 entsprechen.
Auf diese Weise speichert der lokale Server 26 (Fig. 1) die
zu übertragenden Mitteilungen in der anstehenden Mitteilungs
warteschlange 50 (Fig. 2) und wendet das dynamische Fenster
60 an die anstehende Mitteilungswarteschlange 50 an, um ein
über die langsame Kommunikationsverbindung 16 zu sendendes
Mitteilungspaket zu definieren. Der lokale Server 26 fordert
eine Bestätigung für mindestens eine Mitteilung (z. B. die zu
letzt gesendete Mitteilung) innerhalb des Pakets an, sie for
dert jedoch nicht eine Bestätigung für jede Mitteilung inner
halb des Pakets, sofern das Mitteilungspaket nicht nur eine
Mitteilung enthält. Übertragene Mitteilungen werden vorüber
gehend als ausstehende Mitteilungen in der Neuübertragungs
warteschlange 52 gespeichert, bis sie bestätigt werden oder
bis eine mit der Mitteilung verbundene Zeitablaufperiode ver
strichen ist. Wenn der lokale Server 26 zeitgerecht eine Be
stätigung ansprechend auf eine Bestätigungsanforderung er
hält, entfernt der lokale Server 26 alle ausstehenden Mittei
lungen, die zu dieser Bestätigung gehören, aus der Neuüber
tragungswarteschlange 52. Dabei ist wichtig, daß, wie weiter
unten im Detail beschrieben wird, jede Bestätigung typischer
weise dazu dient, eine Vielzahl von Mitteilungen zu bestäti
gen. Wenn andererseits eine zeitgerechte Bestätigung nach
Verstreichen der Zeitablaufperiode, die zu einer Mitteilung
oder einem Mitteilungspaket gehört, nicht erhalten wird, sen
det der lokale Server 26 alle Mitteilungen, deren Zeitablauf
periode verstrichen ist, erneut. Somit kann die hier be
schriebene Kommunikationstechnik die Leerlaufzeit der Kommu
nikationsverbindung, die bei den vorstehend angeführten Tech
niken nach dem Stand der Technik vorkam, stark reduzieren,
indem eine Bestätigung für Mitteilungspakete angefordert
wird, die ein Vielzahl von Mitteilungen enthalten, und es zu
gelassen wird, daß die Bestätigungen für ausstehende Mittei
lungen auf einen späteren Zeitpunkt verschoben werden (d. h.
bis andere Mitteilungen in die Kommunikationsverbindung ge
sendet wurden).
Fig. 3 ist ein beispielhaftes Flußdiagramm, das im Detail
die Bewegung von Mitteilungen zwischen der anstehenden Mit
teilungswarteschlange 50 und der Neuübertragungswarteschlange
52 aus Fig. 2 zeigt. Der Fluß von Mitteilungen wird im we
sentlichen von drei Prozessen oder "Threads" gesteuert. Ein
Sendeprozeß 100 hängt eine Mitteilung, die von einer oder
mehreren der Anwendungen 54 bis 58 erhalten wurde, die bei
spielsweise auf der Benutzeroberfläche 24 des lokalen Systems
12 laufen, an die Warteschlange 50 der anhängigen bzw. anste
henden Mitteilungen an. Der Sendeprozeß 100 hängt Mitteilun
gen zusammen mit einer Sequenznummer wie vorstehend beschrie
ben an die anstehende Mitteilungswarteschlange 50 an. Die
Verfügbarkeit von Speicher in dem lokalen System 12 kann in
der Praxis die Anzahl der Mitteilungen, die in der anstehen
den Mitteilungswarteschlange 50 zu einem bestimmten Zeitpunkt
enthalten sind, beschränken. Um diese Beschränkungen einzu
halten, kann der Sendeprozeß 100 das Anhängen von Mitteilun
gen an die anstehende Mitteilungswarteschlange 50 unterbre
chen, wenn die Speichergrenze erreicht ist oder nahezu er
reicht ist. Der Sendeprozeß 100 kann ferner einem Benutzer
über die Benutzerschnittstelle 24 die Identität einer Anwen
dung mitteilen, die eine außergewöhnlich hohe Anzahl von Mit
teilungen erzeugt, so daß Korrekturen ausgeführt werden kön
nen.
Ein Zeitgebungsprozeß 102 entfernt periodisch ein Mittei
lungspaket, das von dem dynamischen Fenster 60 (Fig. 2) de
finiert ist, aus der anstehenden Mitteilungswarteschlange 50
und sendet die Mitteilungen innerhalb des Pakets zusammen mit
Zeitstempeln in die langsame Kommunikationsverbindung 16
(d. h. sie werden gesendet, jedoch nicht notwendigerweise von
dem entfernten Server 34 empfangen). Jede der Mitteilungen in
dem Mitteilungspaket (einschließlich des Zeitstempels) wird
an die Neuübertragungswarteschlange 52 angehängt. Die Neu
übertragungswarteschlange 52 hält diese Kopien der gesendeten
Mitteilungen als ausstehende Mitteilungen, bis sie bestätigt
werden oder bis die Zeitablaufperiode verstrichen ist.
Der Zeitgeberprozeß 102 untersucht periodisch die Neuübertra
gungswarteschlange 52 nach Mitteilungen, deren Zeit abgelau
fen ist, indem die Summe des Zeitstempels jeder Mitteilung
(d. h. der Zeitpunkt, an dem sie in die Verbindung gesendet
wurde) und eine vorbestimmte Zeitablaufverzögerung mit einem
aktuellen Zeitwert verglichen werden. Wenn beispielsweise die
Umlaufzeitverzögerung der Übertragung über die langsame Kom
munikationsverbindung etwa 300 ms beträgt, dann kann die vor
bestimmte Zeitablaufverzögerung als etwa 600 ms gewählt wer
den. Eine Zeitablaufverzögerung von 600 ms ermöglicht eine
volle Umlaufzeitverzögerung plus zusätzliche Zeit für die
Verarbeitung etc., die in den Servern 26 und 34 und im Satel
liten 18 auftritt. Wenn der Zeitgeberprozeß 102 eine Mittei
lung erkennt, bei der die Summe des Mitteilungszeitstempel
wertes und der vorbestimmten Zeitablaufverzögerung kleiner
ist als die aktuelle Zeit, entfernt der Zeitgeberprozeß 102
die Mitteilung aus der Neuübertragungswarteschlange 52, sen
det die Mitteilung erneut durch die langsame Kommunikations
verbindung 16 und hängt die Mitteilung wieder an die Neuüber
tragungswarteschlange 52 mit einem neuen Zeitstempelwert an.
In einigen Anwendungen kann es wünschenswert sein, die Anzahl
der erneuten. Sendevorgänge, die für eine bestimmte Mitteilung
zulässig sind, zu begrenzen und den Benutzer über das Problem
zu benachrichtigen, so daß er korrigierend eingreifen kann,
um eine unnotwendige Kommunikation über die Verbindung 16 zu
verhindern.
Während der Initialisierung der Systeme 12 und 14 (Fig. 1)
kann der Zeitgeberprozeß verwendet werden, um automatisch ei
ne geeignete Zeitablaufverzögerungsperiode unter Verwendung
einer tatsächlichen Messung der Umlaufzeitverzögerung für die
Übertragung über die langsame Kommunikationsverbindung 16 zu
erstellen. Beispielsweise kann der lokale Server 26 eine Syn
chronisierungsanfrage über die Verbindung 16 an den entfern
ten Server 34 senden. Ansprechend darauf sendet der entfernte
Server 34 eine Synchronisierungsantwort über die Verbindung
16 an den lokalen Server 26. Bei Erhalt der Synchronisie
rungsantwort kann der lokale Server 26 die Zeitdifferenz zwi
schen der Zeit, zu der die Synchronisierungsanfrage gesendet
wurde, und der Zeit, zu der die Synchronisierungsantwort emp
fangen wurde, messen, um eine anfängliche gemessene Umlauf
zeitverzögerung festzustellen. Da zusätzlich der lokale Ser
ver 26 alle übertragenen Mitteilungen und alle empfangenen
Bestätigungen mit Zeitstempeln versieht, kann die anfänglich
gemessene Umlaufzeitverzögerung für die Übertragung auf stän
diger Basis durch Messen der Unterschiede zwischen der Zeit,
zu der die Bestätigungen angefordert wurden (d. h. von dem lo
kalen Server 26 in die Verbindung 16 gesendet wurden) und der
Zeit, zu der die entsprechenden Bestätigungen für diese An
forderungen von dem lokalen Server 26 empfangen wurden, ak
tualisieren.
Ein Empfangsprozeß 104 empfängt ausdrückliche Bestätigungen,
die von dem entfernten Server 34 ansprechend auf Bestäti
gungsanforderungen gesendet werden, die von dem Zeitgeberpro
zeß 102 erfolgen, und ansprechend auf Mitteilungen, die au
ßerhalb der Reihenfolge empfangen werden (beispielsweise bei
Fehlen einer Sequenznummer). Der Empfangsprozeß 104 verwendet
die empfangenen ausdrücklichen Bestätigungen, um Mitteilungen
aus der Neuübertragungswarteschlange 52 zu entfernen. Der
Empfangsprozeß 104 kann ausdrückliche Bestätigungen von Mit
teilungen verwenden, um implizit alle Mitteilungen zu bestä
tigen, die Sequenznummern haben, die der Sequenznummer der
ausdrücklich bestätigten Mitteilung vorausgehen. Mit anderen
Worten kann der Empfangsprozeß 104 eine ausdrückliche Bestä
tigung verwenden, um die ausdrücklich bestätigte Mitteilung
aus der Neuübertragungswarteschlange 52 zu entfernen, und al
le Mitteilungen, die der ausdrücklich bestätigten Mitteilung
vorausgehen, aus der Neuübertragungswarteschlange 52 zu ent
fernen. Wenn zum Beispiel der lokale Server 26 Bestätigungen
für die fünfte und die zehnte Mitteilung in einem Mittei
lungspaket, das zehn Mitteilungen enthält, anfordert, verur
sacht der Empfang einer Bestätigung für die fünfte Mitteilung
in dem lokalen Server, daß der Empfangsprozeß 104 die erste
bis fünfte Mitteilung aus der Neuübertragungswarteschlange 52
entfernt. Entsprechend entfernt dann, wenn die Bestätigung
der zehnten Mitteilung empfangen wird, der Empfangsprozeß 104
die sechste bis zehnte Mitteilung aus der Neuübertragungswar
teschlange 52. In dem Fall, in dem der entfernte Server 34
eine Mitteilung nicht empfängt (d. h. eine Sequenznummer über
sprungen wird oder fehlt), sendet der entfernte Server 34 au
tomatisch eine Bestätigung über die letzte Mitteilung, die
ordnungsgemäß empfangen wurde(unabhängig davon, ob eine Be
stätigung von dem lokalen Server 26 angefordert wurde oder
nicht) an den lokalen Server 26. Zusätzlich sendet der ent
fernte Server 34 keine Bestätigungen ansprechend auf den Emp
fang einer Mitteilung außerhalb der Reihenfolge (für welche
eine Bestätigung angefordert wird), bis alle vorausgehenden
übersprungenen oder fehlenden Mitteilungen empfangen wurden.
Da der Empfangsprozeß 104 nur ausdrücklich und implizit be
stätigte Mitteilungen aus der Neuübertragungswarteschlange 52
entfernt, verbleiben wie vorstehend beschrieben Mitteilungen,
die nicht von dem entfernten Server 34 empfangen wurden, in
der Neuübertragungswarteschlange 52. Mit anderen Worten ent
fernt dann, wenn der lokale Server 26 eine Bestätigung emp
fängt, die nicht angefordert wurde, der Empfangsprozeß 104
nur diejenigen Mitteilungen aus der Übertragungswarteschlange
52, die in der Reihenfolge bzw. ordnungsgemäß empfangen wur
den, und beläßt die Mitteilungen, die fehlen, in der Neuüber
tragungswarteschlange 52 des lokalen Servers 26. Diese feh
lenden Mitteilungen verbleiben in der Neuübertragungswarte
schlange 52 und werden erneut an den entfernten Server 34 ge
sendet, wenn ihre Zeitablaufperiode verstrichen ist. Der ent
fernte Server 34 kann die Sequenznummern der neu gesendeten
Mitteilungen verwenden, um die neu gesendeten Mitteilungen
ordnungsgemäß in die Reihenfolge der zuvor empfangenen Mit
teilungen einzufügen.
Wenn bei dem vorstehend genannten Beispiel (d. h. ein Mittei
lungspaket, das zehn Mitteilungen enthält und Anforderungen
für Mitteilungen für die fünfte und zehnte Mitteilung) der
entfernte Server 34 die erste bis sechste Mitteilung empfängt
und die achte bis zehnte Mitteilung (d. h. die siebte Mittei
lung wird nicht empfangen), sendet der entfernte Server 34
Bestätigungen für die fünfte und die siebte Mitteilung. Wenn
der lokale Server 26 die Bestätigung für die fünfte Mittei
lung erhält, entfernt der Empfangsprozeß 104 die erste bis
fünfte Mitteilung aus der Neuübertragungswarteschlange 52. In
ähnlicher Weise entfernt dann, wenn der lokale Server 26 die
Bestätigung für die siebte Mitteilung erhält, der Empfangs
prozeß 104 die sechste und siebte Mitteilung aus der Neuüber
tragungswarteschlange 52 und die achte bis zehnte Mitteilung
verbleiben in der Neuübertragungswarteschlange 52. Wenn nach
folgend die Zeitablaufperioden für die achte bis zehnte Mit
teilung verstrichen sind, werden die achte bis zehnte Mittei
lung erneut an den entfernten Server 34 übertragen.
Aufgrund der Übertragungszeitverzögerung durch die langsame
Kommunikationsverbindung 16 und/oder fehlende Mitteilungen
(d. h. Mitteilungen, die vom entfernten Server 34 nicht emp
fangen wurden), kann der lokale Server 26 die Übertragung ei
nes nachfolgenden Mitteilungspakets beginnen oder sogar voll
enden, bevor eine der Bestätigungen oder alle Bestätigungen,
die zu einem zuvor gesendeten Mitteilungspaket gehören, emp
fangen werden. Wenn man das vorstehend beschriebene Beispiel
fortführt und ein nachfolgendes Mitteilungspaket, das eine
elfte bis fünfzehnte Mitteilung enthält, in die Kommunikati
onsverbindung 16 gesendet wird, enthält die Neuübertragungs
warteschlange 52 die achte bis zehnte Mitteilung, die zu dem
vorherigen Mitteilungspaket gehören, und die elfte bis fünf
zehnte Mitteilung, die zu dem nachfolgenden Mitteilungspaket
gehören. Somit kann der entfernte Server 34 die elfte bis
fünfzehnte Mitteilung empfangen, bevor der entfernte Server
34 die neu übertragene achte bis zehnte Mitteilung erhält. In
diesem Fall kann der entfernte Server 34 die Bestätigungen
für die erste bis fünfzehnte Mitteilung nicht senden, bis die
achte bis zehnte Mitteilung von dem entfernten Server 34 emp
fangen wurde, was es dem lokalen Server 26 erlaubt, die Regel
des Entfernens von Mitteilungen aus der Neuübertragungswarte
schlange 52 zu befolgen, für welche ausdrückliche Bestätigun
gen empfangen wurden, und alle Mitteilungen zu entfernen, die
Sequenznummern haben, die den ausdrücklich bestätigten Mit
teilungen vorangehen.
Fig. 4 ist ein beispielhaftes Flußdiagramm, das ein Verfah
ren 110 darstellt, durch welches ein Mitteilungspaket zu dem
entfernten System 14 (Fig. 1) gesendet wird, um einen Ab
schnitt des Datenflusses von Fig. 3 zu erfüllen. Das Verfah
ren 110 kann beispielsweise durch die Routine 40 in dem Da
tenserver 26 umgesetzt werden. Im einzelnen zeigt Fig. 4 im
Detail, wie der Zeitgeberprozeß 110 Mitteilungen von der an
stehenden Mitteilungswarteschlange 50 entfernen kann, Mittei
lungen über die langsame Kommunikationsverbindung 16 senden
kann und gesendete/ausstehende Mitteilungen an die Neuüber
tragungswarteschlange 52 anhängen kann. Ein Block 120 aktua
lisiert die obere Sequenznummer 64 des Fensters 60 mit dem
Resultat der gegenwärtigen unteren Sequenznummern 62 des Fen
sters 60 plus der Differenz zwischen der maximal zulässigen
Anzahl von ausstehenden Mitteilungen 66 und der gegenwärtigen
Anzahl von ausstehenden Mitteilungen 68 minus 1. Ein Block
122 stellt fest, ob das dynamische Fenster 60 anstehende Mit
teilungen in der anstehenden Mitteilungswarteschlange 50 ent
hält. Wenn keine anstehenden Mitteilungen vorhanden sind, hat
das Verfahren 110 das Senden des Mitteilungspakets abge
schlossen und wird wiederholt. Wenn anstehende Mitteilungen
in dem dynamischen Fenster 60 vorhanden sind, entfernt ein
Block 124 die Mitteilung, die zu der gegenwärtigen unteren
Sequenznummer 62 gehört, von der anstehenden Mitteilungswar
teschlange 50. Ein Block 126 stellt fest, ob die entfernte
Mitteilung die letzte Mitteilung in der anstehenden Warte
schlange 50 ist, ein Block 128 stellt fest, ob die entfernte
Mitteilung die letzte Mitteilung in dem dynamischen Fenster
60 ist, und ein Block 130 bestimmt, ob die entfernte Mittei
lung die letzte Mitteilung eines Unterpakets ist, das eine
Anzahl von Mitteilungen hat, die beispielsweise der Hälfte
der maximal zulässigen Anzahl von ausstehenden Mitteilungen
66 entspricht. Wenn eine der Überprüfungen, die in den Blöc
ken 126-130 durchgeführt werden, positiv ist, sendet ein
Block 132 Datenfelder innerhalb der entfernten Mitteilungen,
um eine Bestätigung für diese Mitteilung anzufordern, oder
erzeugt anderweitig eine Anforderung einer Bestätigung. Wenn
andererseits keine der Prüfungen, die in den Blöcken 126-
130 durchgeführt werden, positiv ist, wird für die entfernte
Mitteilung keine Bestätigung angefordert. Ein Block 134
bringt dann einen Zeitstempel an der entfernten Mitteilung an
und ein Block 136 sendet die Mitteilung (einschließlich des
Zeitstempels) in die Kommunikationsverbindung 16. Ein Block
138 hängt die gesendeten Mitteilungen an der Neuübertragungs
warteschlange 52 an und ein Block 140 erhöht die aktuelle un
tere Sequenznummer 62 und leitet die Steuerung zurück zum
Block 122, wodurch das Verfahren 110 wiederholt wird.
Während die Blöcke 126-130 wie vorstehend beschrieben ver
schiedene beispielhafte Bedingungen festlegen, unter welchen
der lokale Server 26 die Bestätigung von Mitteilungen anfor
dern kann, können zusätzliche und/oder unterschiedliche Be
dingungssätze verwendet werden. Beispielsweise kann der Block
130 die Bestätigungen für einen Mitteilungssatz innerhalb ei
nes Mitteilungspakets anfordern, beispielsweise für Teil-
bzw. Subpakete von Mitteilungen, die eine Anzahl von Mittei
lungen enthalten, die gleich einem Drittel, einem Viertel
oder einem Achtel etc. der höchstzulässigen Anzahl von aus
stehenden Mitteilungen 66 ist. In jedem Fall werden die Be
dingungen, unter welchen der lokale Server 26 die Bestätigun
gen von Mitteilungen anfordert, so ausgewählt, daß weniger
Bestätigungen als Mitteilungen über die langsame Kommunikati
onsverbindung 16 gesendet werden, und so, daß jede Bestäti
gung typischerweise verwendet werden kann, um ausdrücklich
eine Mitteilung und implizit eine oder mehrere Mitteilungen
zu bestätigen, die Sequenznummern haben, die der ausdrücklich
bestätigten Mitteilung vorausgehen.
Fig. 5 ist ein beispielhaftes Blockdiagramm, das ein mögli
ches Datenformat 200 für Mitteilungen, die zwischen dem loka
len und dem entfernten System 12 und 14 aus Fig. 1 übertra
gen werden, zeigt. Das Datenformat enthält einen Internetpro
tokollabschnitt 202 (IP), einen Mitteilungskopfabschnitt 204
und einen Mitteilungsdatenabschnitt 206. Der IP-Abschnitt 202
basiert vorzugsweise auf Standard-IP-Verkapselungstechniken,
die nach dem Stand der Technik der Netzwerkkommunikation be
kannt sind, wobei jedoch andere Verkapselungstechniken, wie
etwa TCP, UDP etc. eingesetzt werden können, ohne den Schutz
umfang der Erfindung zu verlassen. Der Mitteilungskopfab
schnitt 204 kann eine Vielzahl von Datenfeldern enthalten,
wie z. B. ein Sequenznummernfeld, ein Anforderungsfeld für die
Bestätigung, ein Zeitstempelinformationsfeld, Unversehrt
heitskennzeichen, Quell- und Bestimmungsfelder, ein primä
res/sekundäres Angabenfeld etc., die die verwendete Kommuni
kationstechnik auf niedrigem Nieveau unterstützen oder mit
dieser in Beziehung stehen. Der Mitteilungsdatenabschnitt 206
kann Daten enthalten, die eine Vielzahl von Informationen be
treffen, welche auf die Anwendungen 54 bis 58 bezogen sind,
die in den Systemen 12 und 14 (Fig. 1) ausgeführt werden.
Beispielsweise kann der Mitteilungsdatenabschnitt 206 Echt
zeitprozeßsteuerdaten enthalten, wie etwa Alarmdaten, Prozeß
parameter, Einrichtungsinformationen, oder allgemein ausge
drückt jede Art von Informationen, die von dem Benutzer ange
fordert werden können oder die für den Benutzer nützlich sein
können. Um die effiziente Nutzung der langsamen Kommunikati
onsverbindung 16 weiter zu verbessern, kann der Datenab
schnitt 206 mehrere Stücke von Informationen enthalten, die
zu einer Vielzahl von Steuereinrichtungen, Einrichtungen etc.
gehören können, was dazu beiträgt, den Durchsatz im Hinblick
auf den festen Overhead, der mit dem IP-Abschnitt 202 und dem
Kopfabschnitt 204 verbunden ist, zu maximieren.
Vorzugsweise enthält jede der Mitteilungen in der anstehenden
Mitteilungswarteschlange 50 dieselbe Anzahl von Datenbytes,
wobei es sich beispielsweise um 1.500 Bytes handeln kann. Die
Anzahl der Datenbytes in jeder der Mitteilungen kann so aus
gewählt werden, daß der Datendurchsatz hinsichtlich des Stö
rungsniveaus, das typischerweise in der langsamen Kommunika
tionsverbindung 16 vorliegt, optimiert wird. Da beispielswei
se lange Mitteilungen statistisch wahrscheinlicher zerstört
werden als kurze Mitteilungen und da nur vollständige Mittei
lungen durch den Kanal neu übertragen werden können, führt
ein relativ hohes Niveau an Störungen in der langsamen Kommu
nikationsverbindung 16 eher dazu, daß eine kürzere Mittei
lungslänge erforderlich ist. Als Resultat kann die optimale
Mitteilungslänge anhand der Bestimmung eines Gleichgewichts
zwischen der Reduzierung des Durchsatzes, der mit der Neu
übertragung von Mitteilungen in Folge von der Zerstörung von
Mitteilungen verbunden ist, und der Reduzierung des Durchsat
zes, der mit der Übertragung einer größeren Anzahl von kurzen
Mitteilungen einhergeht, bestimmt werden. Auch können auf
Wunsch die darin enthaltenen Mitteilungen oder Daten fehler
codiert werden, um eine größere Zuverlässigkeit zu schaffen.
Die vorstehend beschriebene Kommunikationstechnik ermöglicht
eine effizientere Datenübertragung durch eine langsame Kommu
nikationsverbindung, als dies mit herkömmlichen Kommunikati
onstechniken möglich war. Allgemein ausgedrückt minimiert die
hier beschriebene Kommunikationstechnik die Leerlaufzeit von
langsamen Kommunikationsverbindungen durch Verwendung einer
verzögerten Bestätigung von Mitteilungspaketen, um die Kommu
nikationsverbindung in zeitlicher Hinsicht dicht zu packen.
Genauer ausgedrückt werden Mitteilungen über die Kommunikati
onsverbindung in Mitteilungspaketen gesendet, ohne daß für
jede Mitteilung innerhalb des Pakets Bestätigungen erforder
lich sind und ohne daß zwischen der Übertragung der Mittei
lungspakete auf Bestätigungen gewartet wird. Die Kommunikati
onstechnik verarbeitet Bestätigungen, die einer oder mehreren
Mitteilungen innerhalb des übertragenen Mitteilungspakets
entsprechen, zu einem späteren Zeitpunkt, welcher mindestens
eine Umlaufzeitverzögerung einer Übertragung über die langsa
me Verbindung nach dem ursprünglichen Senden der Pakete in
die Verbindung liegen kann.
Fig. 6 ist ein schematisches Blockdiagramm, das ein Prozeß
steuersystem 250 zeigt, das einen lokalen Abschnitt 251 hat,
der mit einem entfernt angeordneten bzw. entfernten Abschnitt
252 über die langsame Kommunikationsverbindung 16 unter Ver
wendung der hier beschriebenen Kommunikationstechnik mit ver
zögerter Bestätigung kommuniziert. Der lokale Abschnitt 251
enthält eine Benutzerschnittstelle 254, die eine Workstation
sein kann, welche in einem Kommunikationsnetzwerk mit einem
Datenserver 256 über einen Datenbus 258 auf Systemebene ver
bunden ist. Der Datenbus 258 auf Systemebene kann ein Ether
net-Datenbus oder jeder andere Datenbus sein, der für die
Übertragung von Daten geeignet ist. Der lokale Server 256 ist
mit einer Antenne 260 verbunden, die die Kommunikation über
den Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanal 20 des
Satelliten 18 erlaubt.
Eine erste und eine zweite Steuereinrichtung 262 und 264 sind
in Kommunikation mit der Benutzerschnittstelle 254 und dem
Datenserver 256 über den Datenbus 258 auf Systemebene darge
stellt. Selbstverständlich können andere Einrichtungen, wie
etwa Datenspeichereinrichtungen, zusätzliche Benutzerschnitt
stellen etc. (nicht dargestellt) ebenfalls über den Datenbus
auf Systemebene 258 angeschlossen sein. Die zweite Steuerein
richtung 264 kann beispielsweise ein verteiltes Steuersystem
(DCS) sein und mit der Benutzerschnittstelle 254 unter Ver
wendung eines offenen oder proprietären Kommunikationsproto
kolles oder unter Verwendung jedes anderen Protokolles über
den Datenbus 258 auf Systemebene in Kommunikation stehen. Die
zweite Steuereinrichtung 264 kann beispielsweise Alarm- und
Statusinformationen an die Benutzerschnittstelle 254 senden
und kann zusätzlich Benutzerbefehle bzw. Anforderungen von
der Benutzerschnittstelle 254 über den Datenbus 258 auf Sy
stemebene erhalten. Die zweite Steuereinrichtung 264 kann
ferner Steueralgorithmen zur Verwendung bei der Steuerung von
Anlageneinrichtungen 266 und 268 enthalten, die auf eine be
liebige herkömmliche oder andere gewünschte Weise mit der
Steuereinrichtung 18 verbunden sind. Die zweite Steuerein
richtung 264 ist ferner in Kommunikationsverbindung mit in
telligenten Anlageneinrichtungen 270 bis 274 über eine Einga
be/Ausgabeeinrichtung (I/O) 276 dargestellt. Die Anlagenein
richtungen 270 bis 274 sind in einem Kommunikationsnetzwerk
über einen Datenbus 280 mit einem nicht proprietären Proto
koll verbunden und stehen miteinander und der I/O-Einrichtung
276 in Kommunikation, um eine oder mehrere Prozeßsteuer
schleifen bzw. Regelkreise entweder in Verbindung mit oder
unabhängig von der Steuereinrichtung 264 auszuführen. Die in
telligenten Anlageneinrichtungen 270 bis 274 können bei
spielsweise Fieldbus-Einrichtungen sein, und in diesem Fall
verwendet der Datenbus 280 mit einem nicht proprietären Pro
tokoll das Fieldbus-Signalprotokoll. Andere Arten von Ein
richtungen und Protokollen können jedoch ebenso verwendet
werden, wie etwa das HART®-, PROFIBUS®-, WORLDFIP®-, Device-
Net®-, CAN- und AS-Interface-Protokoll. In ähnlicher Weise
enthält der entfernte Abschnitt 252 Benutzerschnittstellen
282 und 284, einen Datenserver 286, der mit einer Antenne 287
verbunden ist, und eine Steuereinrichtung 288, die über einen
Datenbus 290 auf Systemebene in Kommunikationsverbindung ste
hen. Die Steuereinrichtung 288 des entfernten Systems 252
kann mit Anlageneinrichtungen und/oder intelligenten Anlagen
einrichtungen 294 und 296 über eine I/O-Einrichtung 292 auf
Wunsch in Verbindung stehen.
Die Datenserver 256 und 286 des lokalen und des entfernten
Abschnitts 251 und 252 des Systems 250 verwenden die vorste
hend beschriebene Kommunikationstechnik mit verzögerter Be
stätigung, um die langsame Kommunikationsverbindung 16 effi
zienter zu nutzen, als dies mit herkömmlichen Kommunikations
techniken möglich war. Wenn beispielsweise der Benutzer über
die Benutzerschnittstelle 284 des entfernten Abschnitts 252
Daten anfordert, wie z. B. Echtzeitdaten, die zu dem lokalen
Abschnitt 251 gehören, verwendet die Benutzerschnittstelle
254 oder eine der Steuereinrichtungen 262 und 264 den Daten
server 256, um Mitteilungspakete über die langsame Kommunika
tionsverbindung 16 zu dem entfernt angeordneten Datenserver
286 unter Verwendung der hierin beschriebenen Kommunikation
stechnik mit verzögerter Bestätigung zu senden. Zusätzlich zu
der beträchtlichen Reduzierung der Kosten pro gesendeter Da
teneinheit über die langsame Verbindung 16 erlaubt die Ver
wendung der hier beschriebenen Kommunikationstechnik mit ver
zögerter Bestätigung den Austausch einer großen Informations
menge zwischen lokalen und entfernten Abschnitten 251 und 252
deutlich rascher als dies mit Kommunikationstechniken nach
dem Stand der Technik möglich war. Da Mitteilungen auch ra
scher über die langsame Verbindung 16 transportiert werden
können, kann der Benutzer an der Schnittstelle 254 die Wech
selwirkung mit dem entfernten Abschnitt 252 über die lokale
Benutzerschnittstelle 254 so empfinden, als ob diese Einfluß
nahme über die Benutzerschnittstelle 284 des entfernten Ab
schnitts 252 erfolgte.
Wie vorstehend angeführt ermöglicht die hier beschriebene
Kommunikationstechnik den Datenservern 256 und 286, Mittei
lungen zu konsolidieren, so daß nur eine Kopie einer Mittei
lung ansprechend auf mehrere Anforderungen der Mitteilung
über die langsame Kommunikationsverbindung 16 gesendet wird.
Tatsächlich können die Datenserver 256 und 286 Mitteilungen
multiplexbearbeiten, bevor sie über die langsame Kommunikati
onsverbindung 16 gesendet werden, und können Mitteilungen,
die von der langsamen Kommunikationsverbindung 16 empfangen
werden, demultiplexbearbeiten. Wenn beispielsweise die Steu
ereinrichtungen 262 und 264 des lokalen Abschnitts 251 des
Systems 250 beide so konfiguriert wurden, daß sie eine peri
odische Anforderung von Informationen in einer der intelli
genten Anlageneinrichtungen 294 und 296 des entfernten Ab
schnitts 252 durchführen (d. h. diese Information abonnieren),
speichert der Datenserver 256 nur eine Kopie der angeforder
ten Information und verwendet eine Eins-zu-mehreren-Bezie
hung, um die Kopie der angeforderten Information an die Steu
ereinrichtung 262 und 264 zu verteilen. Da der Datenserver
256 des lokalen Abschnitts 251 eine Kopie der angeforderten
Information enthält, sendet der Datenserver 286 des entfern
ten Abschnitts 252 nur eine Kopie der Information über die
langsame Verbindung 16. Allgemein ausgedrückt können die Da
tenserver 256 und 286 beide so konfiguriert werden, daß sie
eine Eins-zu-mehreren-Beziehung für Informationen aufstellen,
die periodisch über die langsame Kommunikationsverbindung 16
geleitet werden. Auf diese Weise können die Datenserver 256
und 286 eine einzelne Informationseinheit einmal über die
langsame Kommunikationsverbindung 16 leiten und mehrere Kopi
en der Information von einer Vielzahl von Benutzerschnitt
stellen, Steuereinrichtungen, Einrichtungen etc. empfangen
bzw. an diese verteilen.
Fig. 7 ist ein schematisches Blockdiagramm, das im Detail
ein Beispiel der Art erläutert, in der die Datenserver 256
und 286 aus Fig. 6 konfiguriert werden können, um Mitteilun
gen zu konsolidieren, die über die langsame Kommunikations
verbindung 16 übertragen werden. Wie Fig. 7 zeigt, enthalten
die Datenserver 256 und 286 Fernverbindungskommunikationsrou
tinen 299 und 300, die Informationen über die jeweiligen Auf
wärtsstrecke-/Abwärtstrecke-Kommunikationskanäle 20 und 22
senden und empfangen, Parameterlisten 301 und 302, die Infor
mationen enthalten, die zu den Steuereinrichtungen 262, 264
und 288 und anderen Einrichtungen gehören, die zu dem lokalen
und dem entfernten Abschnitt 251 und 252 gehören, und Netz
werkkommunikationsroutinen 303 und 304, die Informationen
über die jeweiligen Datenbusse 258 und 290 auf Systemebene
senden und empfangen.
Allgemein ausgedrückt enthalten die Listen 301 und 302 Daten,
die zwischen dem lokalen und dem entfernten Abschnitt 251 und
252 über die langsame Verbindung 16 gemeinsam genutzt oder
übertragen werden, und können zusätzlich Informationen e 36298 00070 552 001000280000000200012000285913618700040 0002010049568 00004 36179nt
halten, die zwischen lokal angeordneten Steuereinrichtungen
gemeinsam genutzt werden. Beispielsweise kann die Liste 301
Informationen oder Daten enthalten, die von den Steuerein
richtungen 262 und 264 gemeinsam genutzt werden. Allgemein
ausgedrückt erlauben die Fernverbindungskommunikationsrouti
nen 299 und 300 den Datenservern 256 und 286 den Austausch
von Informationen, die in ihren jeweiligen Listen 301 und 302
enthalten sind, über die langsame Kommunikationsverbindung
16, und können beispielsweise die unter Bezug auf Fig. 1 bis
5 beschriebene Kommunikationstechnik verwenden, um diese Kom
munikationsaufgabe zu lösen. Die Netzwerkkommunikationsrouti
nen 303 und 304 erlauben den Datenservern 256 und 286, die
Informationen in den Listen 301 und 302 mit Einrichtungen
(die zu dem lokalen oder dem entfernten Abschnitt 251 bzw.
252 gehören) über die jeweiligen Datenbusse 258 und 290 auf
Systemebene auszutauschen.
Die Listen 301 und 302 können Funktionsblockinformationen und
andere Steuerinformationen enthalten, die mit der Steuerstra
tegie der Steuereinrichtungen 262, 264 und 288 verbunden
sind, und können zusätzlich weitere Informationen enthalten,
die zu dem lokalen Abschnitt 251 oder dem entfernten Ab
schnitt 252 gehören, die beispielsweise von dem Benutzer über
eine oder mehrere der Benutzerschnittstellen 254, 282 und 284
oder von den Steuereinrichtungen 262, 264 und 288 innerhalb
des Systems 250 angefordert werden können. Die Informationen
in den Listen 301 und 302 können gemäß einer Kennzeichenbe
schreibung oder jeder anderen Beschreibung, die die einzelnen
Informationsteile, die in den Listen 301 und 302 gespeichert
sind, eindeutig kennzeichnet, organisiert oder indiziert
sein.
Die Liste 301 enthält im einzelnen Informationen, die von dem
lokalen Abschnitt 251 benötigt werden und die von dem ent
fernten Abschnitt 252 gesendet werden, und enthält ferner In
formationen, die von dem entfernten Abschnitt 252 benötigt
werden und die von dem lokalen Abschnitt 251 gesendet werden.
In ähnlicher Weise enthält die Liste 302 Informationen, die
von dem entfernten Abschnitt 252 benötigt werden und die von
dem lokalen Abschnitt 251 gesendet werden und enthält ebenso
Informationen, die von dem lokalen Abschnitt 251 benötigt
werden und die von dem entfernten Abschnitt 252 gesendet wer
den. Zusätzlich können die Listen 301 und 302 Informationen
enthalten, die von Einrichtungen, die mit den jeweiligen Da
tenbussen 258 und 290 auf Systemebene verbunden sind, lokal
gemeinsam genutzt werden. Beispielsweise können einige Infor
mationen der Liste 301 Informationen enthalten, die von den
Steuereinrichtungen 262 und 264 gemeinsam genutzt werden,
welche nicht notwendigerweise von dem lokalen und dem ent
fernten Abschnitt 251 und 252 gemeinsam genutzt werden.
Wenn beispielsweise die Steuereinrichtung 288 so konfiguriert
ist, daß sie einen Funktionsblock verwendet, der eine Eingabe
von der Anlageneinrichtung 268 benötigt, ist die Steuerein
richtung 264 so konfiguriert, daß sie periodisch das Aus
gangssignal der Anlageneinrichtung 268 für den Datenserver
256 veröffentlicht. Gleichzeitig kann die Benutzerschnitt
stelle 282 diese Daten von der Anlageneinrichtung 268 zur
Darstellung für einen Benutzer benötigen und demgemäß ist die
Steuereinrichtung 264 auch so konfiguriert, daß sie diese Da
ten für die Benutzerschnittstelle 282 zugänglich macht. Die
Netzwerkkommunikationsroutine 303 empfängt periodisch die
Ausgabedaten von der Anlageneinrichtung 268 und aktualisiert
eine Position in der Liste 301, welche die Ausgabedaten der
Anlageneinrichtung 268 enthält, wobei jedoch nur eine einzel
ne Kopie dieser Daten in der Liste 301 gespeichert wird, ob
gleich sie für zwei unterschiedliche Einrichtungen (d. h. die
Steuereinrichtung 288 und die Benutzerschnittstelle 282 an
dem entfernten Netzwerk 252) zugänglich gemacht beziehungs
weise veröffentlicht wird. Die Fernkommunikationsroutine 299
erkennt, daß die Liste 301 jetzt aktualisierte Informationen
enthält, die zu dem Ausgangssignal der Anlageneinrichtung 268
gehören, und verwendet die hier beschriebene Kommunikations
technik, um diese aktualisierten Informationen über die lang
same Kommunikationsverbindung 16 zu senden. Der entfernte Da
tenserver 286 empfängt die aktualisierten Informationen, die
zu der Anlageneinrichtung 268 gehören, über den Aufwärts
strecke-/Abwärtstrecke-Kommunikationskanal 22. Die Fernkommu
nikationsverbindungsroutine 300 aktualisiert anschließend ei
ne entsprechende Position der Liste 302 mit der aktualisier
ten Information, die zu der Anlageneinrichtung 268 gehört.
Die Netzwerkkommunikationsroutine 304 erkennt, daß sowohl die
Steuereinrichtung 288 als auch die Benutzerschnittstelle 282
die zu der Anlageneinrichtung 268 gehörende Information (die
jetzt in der Liste 302 gespeichert ist), periodisch auf dem
Datenbus 290 auf Systemebene veröffentlicht benötigen. Ent
sprechend veröffentlicht die Kommunikationsroutine 304 die zu
der Anlageneinrichtung 268 gehörende Information (die in der
Liste 302 enthalten ist) für die Steuereinrichtung 288 und
ebenso die Benutzerschnittstelle 282, und zwar unabhängig da
von, ob die Information aktualisiert wurde oder nicht.
Wie aus dem vorstehenden Beispiel ersichtlich ist, ermögli
chen die Listen 301 und 302, daß die Kommunikationsprozesse
299 und 300, die mit der langsamen Verbindung 16 in Verbin
dung stehen, und die Kommunikationsprozesse 303 und 304, die
mit den Datenbussen 258 und 290 auf Systemebene in Verbindung
stehen, relativ zueinander asynchron zu arbeiten. Beispiels
weise kann die Netzwerkkommunikationsroutine 303 Informatio
nen erhalten (und die Liste 301 aktualisieren), die von dem
entfernten Abschnitt 252 mit einer ersten periodischen Rate
angefordert werden, und die Netzwerkkommunikationsroutine 304
kann die angeforderten Informationen (die in der Liste 302
enthalten sind) mit einer zweiten periodischen Rate veröf
fentlichen, die sich von der ersten periodischen Rate unter
scheiden kann. Um ferner nicht erforderliche Kommunikations
vorgänge über die Verbindung 16 zu eliminieren, können die
Fernverbindungskommunikationsroutinen 299 und 300 nur dann
Informationen in die jeweiligen Listen 301 und 302 über die
Verbindung 16 senden, wenn sich die Informationen geändert
haben. Wenn somit die Netzwerkkommunikationsroutinen 303 und
304 die Informationen in den jeweiligen Listen 301 und 302
mit unveränderten Informationen periodisch auffrischen, sen
den die Fernverbindungskommunikationsroutinen 299 und 300 die
unveränderten Informationen nicht über die langsame Kommuni
kationsverbindung 16, womit die Übertragung von redundanten
Mitteilungen über die langsame Kommunikationsverbindung 16
eliminiert wird.
Ein besonders interessanter Aspekt der vorstehend beschriebe
nen Datenserver 256 und 286 gemäß vorstehender Beschreibung
ist, daß die Listen 301 und 302 in Verbindung mit den Netz
werkkommunikationsroutinen 303 und 304 es den Datenservern
256 und 286 ermöglichen, Eins-zu-mehreren-Beziehungen für die
in den Listen 301 und 302 gespeicherten Informationen zu
schaffen. So kann jede Anzahl von Einrichtungen in dem ent
fernten System 252 Informationen innerhalb der Liste 302
abonnieren und die Netzwerkkommunikationsroutine 304 muß nur
mitverfolgen, welche Einrichtung welche Daten abonniert und
sendet periodisch diese Daten an alle Einrichtungen aus der
Liste 302, auch wenn diese Daten nur einmal pro Aktualisie
rung über die Verbindung 16 gesendet werden. So kann die ak
tualisierte Information für die Anlageneinrichtung 268 (die
in der Liste 302 enthalten ist) einmal über die langsame Kom
munikationsverbindung 16 gesendet werden und anschließend für
mehrere Einrichtungen über die Netzwerkkommunikationsroutine
304 veröffentlicht werden.
Fig. 8 ist ein schematisches Blockdiagramm, das allgemein
Softwaremodule darstellt, die eine transparente Kommunikation
zwischen dem lokalen und dem entfernten Abschnitt 251 und 252
des Prozeßsteuersystems 250 aus Fig. 6 ermöglichen. Die Be
nutzerschnittstelle 254 des lokalen Abschnitts 251 enthält
eine Konfigurationsroutine 320, die die Konfigurationssteuer
strategieroutinen 322 in der zweiten Steuereinrichtung 264
konfiguriert und die spezifischen Kommunikationsobjekte 324
in dem lokalen Datenserver 256 und nach Erfordernis dem ent
fernten Datenserver 286 erzeugt. Entsprechend enthält die Be
nutzerschnittstelle 284 des entfernten Abschnitts 252 eine
Konfigurationsroutine 326, die spezifische Kommunikationsob
jekte 328 in dem entfernten Datenserver 286 und dem lokalen
Datenserver 256 nach Erfordernis erzeugt.
Die Konfigurationsroutine 320 der lokalen Benutzerschnitt
stelle 254 kann die zweite Steuereinrichtung 264 so konfigu
rieren, daß sie periodisch Informationen, die zu den Einrich
tungen des lokalen Abschnitts 251 gehören, anfordert, und
kann zusätzlich die zweite Steuereinrichtung 264 so konfigu
rieren, daß sie periodisch Informationen von Einrichtungen,
die zu dem entfernten Abschnitt 252 gehören, über den lokalen
Datenserver 256 anfordert. Um dies durchzuführen, erkennt die
Konfigurationsroutine 320, daß die Kommunikation dieser Daten
über die langsame Verbindung 16 stattfindet und richtet auto
matisch spezielle Kommunikationsobjekte 324 in dem Datenser
ver 256 ein, um es dem Datenserver 256 zu ermöglichen, Anfra
gen nach Informationen von dem entfernten Abschnitt 252 zu
erkennen und diese Anfragen bzw. Anforderungen über die lang
same Kommunikationsverbindung 16 zu leiten, um die erforder
lichen Informationen von dem Datenserver 286 des entfernten
Abschnitts 252 periodisch abzuholen.
Allgemein ausgedrückt erlauben die speziellen Kommunikati
onsobjekte 324 und 328 den Datenservern 256 und 286, Informa
tionsleitungsfunktionen zwischen dem lokalen und dem entfern
ten Standort so auszuführen, als ob sie mit demselben Daten
bus verbunden wären, so daß aus der Perspektive des Benutzers
an der Benutzerschnittstelle 254 die Benutzerschnittstelle
284 des entfernten Abschnitts 252 direkt auf dem Datenbus 258
auf Systemebene des lokalen Abschnitts 251 zu kommunizieren
scheint. Mit anderen Worten verwenden die Datenserver 256 und
286 die jeweiligen speziellen Kommunikationsobjekte 324 und
328, um die Kommunikationsattribute der Benutzerschnittstel
len 254 und 284 zu emulieren, so daß die Kommunikation zwi
schen dem lokalen und dem entfernten Abschnitt 251 und 252
des Systems 250 für den Benutzer vollständig transparent ist.
Zusätzlich erstreckt sich diese Transparenz auf die System
konfiguration, da die Konfigurationsroutinen 320 und 326 die
speziellen Kommunikationsobjekte 324 und 328 automatisch er
schaffen. Als Resultat kann der Benutzer das System 250 kon
figurieren, ohne daß er die Technik verstehen muß, die zu dem
hier beschriebenen Kommunikationsprotokoll bzw. der langsamen
Kommunikationsverbindung 16 gehört.
Genauer ausgedrückt kann die Steuereinrichtung 264 so konfi
guriert werden, daß sie Daten (die an das entfernte System
252 zu liefern sind) an das spezielle Kommunikationsobjekt
324, das in dem Datenserver 256 angeordnet ist, veröffent
licht. Das Kommunikationsobjekt 324 arbeitet dann mit der
Netzwerkkommunikationsroutine 303 zusammen und veranlaßt den
Datenserver 324, die Daten an einer bestimmten Position der
Liste 301 zu empfangen und anschließend zu speichern, die im
voraus zum Empfang der Daten konfiguriert wurde. Wie vorste
hend beschrieben kann anschließend die Fernverbindungskommu
nikationsroutine 299 die in der Liste 301 gespeicherten Daten
über die langsame Verbindung 16 unter Verwendung der hier be
schriebenen Kommunikationstechnik übertragen. Wenn die Daten
von dem entfernten Datenserver 286 (in Mitteilungen oder Mit
teilungspaketen) empfangen werden, werden sie an einer be
stimmten Position der Liste 302 gespeichert, die im voraus
für den Empfang der Daten konfiguriert wurde. Das spezielle
Kommunikationsobjekt 328 ruft periodisch die gespeicherten
Daten aus der speziellen Position der Liste 302 ab und arbei
tet mit der Netzwerkkommunikationsroutine 304 zusammen, um
die Daten auf dem entfernten Datenbus 290 einer oder mehreren
abonnierenden Einrichtungen zu veröffentlichen, welche bei
spielsweise die Steuereinrichtung 288, die Benutzerschnitt
stelle 284 und/oder jede andere Einrichtung sein können, die
zu dem entfernten System 252 gehört.
Wie vorstehend beschrieben kann die Kommunikationstechnik mit
verzögerter Bestätigung, die hier beschrieben wurde, inner
halb eines Prozeßsteuersystems verwendet werden, um eine
transparente, effiziente Kommunikation (d. h. mit hohem Durch
satz und geringen Kosten pro gesendeter Dateneinheit) zwi
schen einem lokal gelegenen Abschnitt und einem entfernt ge
legenen Abschnitt eines Steuersystems zu ermöglichen, die
über eine langsame Kommunikationsverbindung kommunizieren. Da
zusätzlich die Kommunikationstechnik gemäß der Erfindung ein
Kommunikationsprotokoll auf niedrigem Niveau ist, können an
dere Anwendungen, die innerhalb des lokalen oder des entfern
ten Abschnitts des Prozeßsteuersystems ablaufen, über dieses
Kommunikationsprotokoll gelegt werden, um diese Anwendungen
effizient über die langsame Kommunikationsverbindung kommuni
zieren zu lassen.
Eine besonders wichtige Art der Anwendung, die allgemein bei
Prozeßsteuersystemen verwendet wird, ist die Kommunikation
und das Berichten von Alarmzuständen oder Alarmmitteilungen,
die den Benutzer über ungewöhnliche und möglicherweise ge
fährliche Ereignisse, die in dem Prozeßsteuersystem auftre
ten, informiert und alarmiert. Bei herkömmlichen Prozeßsteu
ersystemen gibt die Benutzerschnittstelle typischerweise
Alarmstatusinformationen in einer grafischen Anzeige an, die
blinkende Elemente, eine akustische Ankündigung oder derglei
chen enthalten kann, um den Benutzer rasch zu alarmieren und
ein korrigierendes Eingreifen auszulösen. Bei diesen herkömm
lichen Prozeßsteuersystemen werden Alarmmitteilungen jedes
Mal dann verifiziert oder bestätigt, wenn die Alarmmitteilung
von einer beliebigen Einrichtung gesendet wird, die den Alarm
erzeugt. Wenn ein derartiges Alarmbestätigungsschema in einem
herkömmlichen Prozeßsteuersystem verwendet wurde, das eine
langsame Kommunikationsverbindung hatte, kann die Alarmbestä
tigung langsam sein und einen beträchtlichen Teil der gesam
ten Bandbreite der langsamen Verbindung einnehmen. Diese Kom
munikationsschwierigkeiten werden weiter durch die Tatsache
erschwert, daß das entfernte System eine große Anzahl von
Alarmmitteilungen annähernd gleichzeitig erzeugen kann, wenn
ein Abschnitt des Prozesses außer Kontrolle gerät (beispiels
weise beim Einrichten einer Anlage).
Ein Beispiel einer Alarmverwaltungsanwendung, die über die
vorstehend beschriebene Kommunikationstechnik gelegt werden
kann, um eine effiziente Kommunikation von Alarminformatio
nen, die zu einem entfernten Abschnitt eines Prozeßsteuersy
stems gehören, zu einer Benutzerschnittstelle an einem loka
len Abschnitt des Prozeßsteuersystems zu ermöglichen, wird
nachfolgend unter Bezug auf Fig. 9 im Detail erläutert.
Fig. 9 ist ein schematisches Blockdiagramm, das eine Cli
ent/Serveralarmverwaltungsanwendung darstellt, die beispiels
weise die Kommunikationstechnik mit verzögerter Bestätigung
aus Fig. 1 und 6 verwendet, um Alarminformationen von dem
entfernten Abschnitt 252 des Systems 250 effizient an die Be
nutzerschnittstelle 254 des lokalen Abschnitts 251 des Sy
stems 250 zu kommunizieren. Die lokale Benutzerschnittstelle
254 enthält einen Alarm-Clientprozeß 330, der ABONNIERE-
Mitteilungen und FLUSSSTEUERUNG-Mitteilungen an einen Alarm
serverprozeß 332 in der entfernten Benutzerschnittstelle 284
sendet. Entgegengesetzt sendet der Alarmserverprozeß 232 pe
riodisch ALARM AKTUALISIEREN-Mitteilungen an den Alarm-
Clientprozeß 330 ansprechend auf die ABONNIERE-Mitteilungen,
die von dem Alarm-Clientprozeß 330 empfangen werden.
Wie weiter unten im Detail beschrieben wird, arbeiten der
Alarm-Clientprozeß 330 und der Alarm-Serverprozeß 332 zusam
men, um Alarminformationen über eine langsame Kommunikations
verbindung zu senden. Vorzugsweise überlagern der Alarm-
Clientprozeß 330 und der Alarm-Serverprozeß 332 die vorste
hend beschriebene Kommunikationstechnik mit verzögerter Be
stätigung. Mit anderen Worten verwendet der Alarm-Server
prozeß 332 die Kommunikationstechnik mit verzögerter Bestäti
gung als Kommunikationsprotokoll auf niedrigem Niveau, um
Mitteilungspakete, die konsolidierte Alarminformationen ent
halten, die zu dem entfernten Abschnitt 252 gehören, zu dem
lokalen Abschnitt 251 zu senden. In ähnlicher Weise verwendet
der Alarm-Clientprozeß 330 dasselbe Kommunikationsprotokoll
auf niedrigem Niveau, um Mitteilungspakete zu empfangen, die
die Alarminformationen von dem entfernten Abschnitt 252 ent
halten. Die Unversehrtheit und Sicherheit der Alarm-Client-
und Serverprozesse 330 und 332 wird durch einen periodischen
Austausch von Mitteilungen zwischen dem Client- und dem Ser
verprozeß 330 und 332 sichergestellt, der es den Prozessen
330 und 332 erlaubt, sich gegenseitig über das fortgesetzte
ordnungsgemäße Funktionieren zu informieren.
Da das darunter liegende Kommunikationsprotokoll mit verzö
gerter Bestätigung ausdrückliche und implizite Bestätigungen
für alle Mitteilungspakete gibt, einschließlich Mitteilungs
paketen, die Alarminformationen enthalten, wie etwa Mittei
lungspakete, die von dem Alarmserverprozeß 332 abgegeben wur
den, können zusätzliche Bestätigungen auf der Ebene der
Alarmverwaltungsanwendung (d. h. auf der Ebene der Client- und
Serverprozesse 330 und 332) eliminiert werden. Diese Elimi
nierung von Bestätigungen auf Prozeßebene, welche gewöhnlich
in herkömmlichen Alarmverwaltungstechniken verwendet werden,
ermöglicht es, Alarminformationen in der langsamen Kommunika
tionsverbindung 16 in zeitlicher Hinsicht in den Mitteilungs
paketen zu packen, die über die Verbindung 16 unter Verwen
dung der hier beschriebenen Kommunikationstechnik mit verzö
gerter Bestätigung gesendet werden.
Allgemein ausgedrückt abonniert der Alarmclient 330 bestimmte
Alarmmeldungen von dem Alarmserver 332, indem er eine
ABONNIERE-Mitteilung sendet, um anzugeben, daß alle Alarmmit
teilungen von dem Alarmserver 232 zu dem Alarmclient 330 zu
senden sind, und sendet anschließend periodisch ALARM AKTU
ALISIEREN-Mitteilungen, um Alarminformationen an den Alarm
client 330 abzugeben. Der Alarmclient 330 verfolgt die Alarm
meldungen an Hand der Alarmsequenznummer und kann den Alarm
server 332 über eine fehlende oder verlorene Mitteilung be
nachrichtigen oder die Neusynchronisierung über eine
FLUSSSTEUERUNG-Mitteilung anfordern.
Im einzelnen enthalten ABONNIERE-Mitteilungen von dem Alarm
clientprozeß 330 Informationen, welche die lokale Benutzer
schnittstelle 254 identifizieren (um es zu ermöglichen, daß
der Alarmserver 332 Mitteilungen an den Alarmclient 330 sen
det bzw. weiterleitet), einen Satz von Anlagenbereichen, für
welche der Alarmclient 330 Informationen anfordert, und ein
Kennzeichen, um anzugeben, ob der Alarmclient 330 das Auslö
sen eines Neusynchronisierungszyklus durch den Alarmserver
332 anfordert. Zusätzlich kann die ABONNIERE-Mitteilung In
formationen enthalten, die sich auf die Frequenz beziehen,
mit der der Alarmclient 330 ABONNIERE-Mitteilungen an den
Alarmserver 332 wiederholt, so daß der Alarmserver 332 be
stimmen kann, ob der Alarmclient 330 die Kommunikationsver
bindung nicht länger aufrecht erhält, was es dem Alarmserver
332 erlaubt, die Zuweisung von nicht genutzten Ressourcen
(beispielsweise Verarbeitungs- und Speicherressourcen), die
für den Alarmclient 330 freigehalten werden, aufzuheben. Die
ABONNIERE-Mitteilungen enthalten ferner Informationen, die
die Frequenz betreffen, mit der der Alarmserver 332 ALARM
AKTUALISIEREN-Mitteilungen an den Alarmclient 330 senden muß,
so daß der Alarmclient 330 feststellen kann, wenn der Alarm
server 332 die Kommunikation abgebrochen hat, was es dem
Alarmclient 330 ermöglicht, fehlerhafte Alarminformationen
von der Anzeige der lokalen Benutzerschnittstelle 354 zu ent
fernen.
Die ALARM AKTUALISIEREN-Mitteilungen enthalten eine Alarmse
quenznummer (die typischerweise nicht den Sequenznummern zu
geordnet ist, die zu dem darunter liegenden Kommunikations
protokoll gehören), welche se dem Alarmclient 330 ermöglicht
zu erkennen, daß keine Alarmmitteilungen innerhalb einer Mit
teilungssequenz verloren wurden. Die ALARM AKTUALISIEREN-Mit
teilungen können ferner Informationen enthalten, welche den
Alarmstatus betreffen, wie etwa einen ALARM-ID-String, der
eindeutig jeden Alarm innerhalb des Prozeßsteuersystems 250
bezeichnet, einen gegenwärtigen Alarmstatus (beispielsweise
ob der Alarm ausgeschaltet, unterdrückt, inaktiv-bestätigt,
aktiv-bestätigt, inaktiv-unbestätigt oder aktiv-unbestätigt
ist), den Anlagenbereich, in welchem der Alarm erfaßt wurde,
den Zeitpunkt der jüngsten Veränderung des Alarmstatus oder
der Priorität, die Alarmpriorität, den Alarmtyp (z. B. "HOCH",
"NIEDRIG" "SEHR HOCH", etc.) und eine beschreibende Mittei
lung betreffen, die es einem Benutzer erleichtern kann, auf
den Alarmzustand in angemessener Weise zu reagieren.
Die FLUSSSTEUERUNG-Mitteilungen, die der Alarmclient 330 an
den Alarmserver 332 sendet, enthalten Informationen, welche
den Alarmclient 330 kennzeichnen, so daß der Alarmserver 332
Informationen an den Alarmclient 330 senden bzw. weiterleiten
kann, ein Kennzeichen, das angibt, daß der Alarmclient 330
einen Neusynchronisierungszyklus anfordert, der von dem
Alarmserver 332 auszulösen ist, was von dem Alarmclient 330
angefordert werden kann, wenn die ALARM AKTUALISIEREN-Mit
teilungen anzeigen, daß eine Mitteilung verloren wurde, und
Informationen, die die Anzahl der ausstehenden Alarmmittei
lungen steuern, welche auf der Ebene der Alarmverwaltungsan
wendung in einer Weise arbeiten, die ähnlich der Weise ist,
in der die darunter liegende Kommunikationstechnik gemäß der
Erfindung die Anzahl der ausstehenden Mitteilungen in der
Neuübertragungswarteschlange 52 (Fig. 2) steuert.
Allgemein ausgedrückt überwacht der Alarmclient 330 den Be
darf nach Alarmstatusinformationen von anderen Prozessen, die
auf der lokalen Benutzerschnittstelle 254 ablaufen, und kon
solidiert dieselben Informationen zu einem einzigen Satz von
Anlagenbereichen, die zu den benötigten Alarmmitteilungen ge
hören. Wenn sich der konsolidierte Satz von Anlagenbereichen
verändert, sendet der Alarmclient 330 eine Abonnement-Mittei
lung an den Alarmserver 332, die den neuen Satz von Anlagen
bereichen enthält. Wenn neue Anlagenbereiche zu der Liste
hinzugefügt werden, enthält die Abonnement-Mitteilung ein
Kennzeichen, das einen Neusynchronisierungszyklus anfordert.
Auch wenn die Abonnementinformation unverändert ist, sendet
der Alarmclient 330 die ABONNIERE-Mitteilungen periodisch er
neut, so daß der Alarmserver 332 weiß, daß der Alarmclient
330 weiterhin ordnungsgemäß funktioniert, und um sicherzu
stellen, daß der Alarmserver 332 die korrekte Abonnementin
formation hat. Wenn die Zeit zwischen ALARM AKTUALISIEREN-
Mitteilungen, die Aktualisierungsfrequenz, die in der
ABONNIERE-Mitteilungen angefordert wird, übersteigt, betrach
tet der Alarmclient 330 den Alarmserver 332 als nicht funkti
onsfähig und benachrichtigt die in der lokalen Benutzer
schnittstelle 254 ausgeführten Anwendungen, daß die Alarmin
formationen fehlerhaft sein können. Der Alarmclient 330 ver
öffentlicht Informationen, die zu den aktiven Alarmmitteilun
gen gehören, geordnet nach der Wichtigkeit als spezielle Pa
rameter, die für andere Anwendungen verfügbar sind, die in
nerhalb der lokalen Benutzerschnittstelle 254 ausgeführt wer
den. Diese speziellen Parameter werden vorzugsweise unter
Verwendung von Datenformaten veröffentlicht, die mit den In
dustrie-Standardschnittstellen für Prozeßsteuerinformationen
kompatibel sind.
Wie vorstehend angeführt empfängt der Alarmclient 330 ALARM
AKTUALISIEREN-Mitteilungen von dem Alarmserver 332. Bei Er
halt der ALARM AKTUALISIEREN-Mitteilungen vergleicht der
Alarmclient 330 die Sequenznummer der Alarmmitteilung mit ei
ner erwarteten Sequenznummer (d. h. der Sequenznummer der
letzten Aktualisierungsmitteilung, die erhalten wurde, erhöht
um eins). Wenn die Sequenznummer der empfangenen Mitteilungen
gleich wie die der letzten empfangenen Mitteilungen ist, wird
die ALARM AKTUALISIEREN-Mitteilung als Duplikat verworfen,
ohne daß ein Neusynchronisierungszyklus erforderlich ist.
Wenn die Sequenznummer, die empfangen wurde, der erwarteten
Nummer entspricht, wird die in der Mitteilung enthaltene
Alarminformation in eine aktive Alarmliste integriert, die
von dem Alarmclient 330 geführt wird. Basierend auf der
Alarmstatusinformation können neue Alarmmitteilungen zu der
aktiven Alarmliste hinzugefügt werden, inaktive Alarmmittei
lungen von der Liste entfernt werden und Veränderungen an den
aktiven Alarmmitteilungen (eine Änderung der Priorität) in
die Liste integriert werden.
Der Alarmserver 332 kombiniert den Satz von Anlagenbereichen,
der von der entfernten Benutzerschnittstelle 284 abonniert
ist, und führt die erforderliche Alarmstatusinformationssamm
lung von der Steuereinrichtung 288 durch, um sicherzustellen,
daß der Alarmserver 332 eine aktuelle Liste von aktiven
Alarmmitteilungen von allen Steuereinrichtungen hat, die zu
dem entfernten Abschnitt 252 des Systems 250 gehören. Der
Alarmserver 332 enthält eine Liste von aktiven Alarmmittei
lungen für jeden der angeforderten Anlagenbereiche und ent
hält inaktive Alarmmitteilungen, wenn der Alarmstatus noch
nicht an den abonnierenden Alarmclient 330 mitgeteilt wurde.
Wenn während des Betriebes neue Alarmstatusveränderungen er
faßt werden und von der Steuereinrichtung 288 ankommen, inte
griert der Alarmserver 332 die Informationen in seine aktive
Alarmliste und puffert die Alarmstatusinformationen in ALARM
AKTUALISIEREN-Mitteilungen, die für den Alarmclient 330 auf
gebaut werden. Wenn die Alarmstatusinformation nicht gepuf
fert werden kann, und zwar als Folge dessen, daß die höchst
zulässige Anzahl von ausstehenden ALARM AKTUALISIEREN-Mit
teilungen erreicht ist, dann wird die Alarmstatusinformation
mit dem Alarm in die aktive Alarmliste des Alarmservers 332
eingeschlossen, welche anzeigt, daß die Alarmstatusinformati
on noch "entleert" werden muß (d. h. zu dem Alarmclient 330
gesendet werden muß), sobald der Alarmclient 330 mit FLUSS
STEUERUNG-Mitteilungen zu antworten beginnt, die anzeigen,
daß mehr ALARM AKTUALISIEREN-Mitteilungen in der Sequenz ge
sendet werden können).
Der Alarmserver 332 kann ferner erfassen, wenn der Alarmser
ver 332 keine weiteren Mitteilungen senden kann, da der
Alarmclient nicht mit einer FLUSSSTEUERUNG-Mitteilung geant
wortet hat. Diese Situation der "Flußbegrenzung" kann auftre
ten, wenn das Volumen von neuen Alarmstatusveränderungen im
Vergleich zu dem Durchsatz der langsamen Kommunikationsver
bindung 16 relativ groß ist. In dieser Situation der Flußbe
grenzung kann der Alarmserver 332 eine prioritätsgesteuerte
Alarmentleerungstechnik verwenden, die sicherstellt, daß die
wichtigsten oder kritischsten Alarmmitteilungen sobald als
möglich an den Alarmclient 330 in die langsame Verbindung 16
gesendet werden.
Der Alarmserver 332 prüft periodisch Alarmmitteilungen, die
trotz der Tatsache in einem inaktiven Zustand sind, daß der
Alarmclient 330 von dem inaktiven Zustand benachrichtigt wur
de, und entfernt diese. Der Alarmserver 332 kann auch peri
odisch prüfen, ob der Alarmclient 330 weiterhin funktionsfä
hig ist, indem die Zeitdauer, die seit dem letzten Senden ei
ner ABONNIERE-Mitteilung durch den Alarmclient 330 verstri
chen ist, mit der aktuellen Zeit und der erwarteten Frequenz
bzw. Häufigkeit, mit der ABONNIERE-Mitteilungen von dem
Alarmserver 233 empfangen werden sollen, verglichen wird.
Wenn der Alarmserver 332 bestimmt, daß der Alarmclient 330
nicht länger funktioniert, löst der Alarmserver 332 das Abon
nement des Alarmclient 330 und gibt die für den Alarmclient
330 zugewiesenen Ressourcen frei.
Während die vorstehend erörterte und in Fig. 8 gezeigte
Alarmverwaltungsanwendung einen einzelnen Alarmclient 330 in
Kommunikation mit einem einzelnen Alarmserver 332 zeigt, kön
nen eine Anzahl von Alarmclients und Servern sowohl in dem
entfernt als auch in dem lokal gelegenen Abschnitt eines Pro
zeßsteuersystems verwendet werden. Ferner kann der Alarmser
ver 332 als Client eines anderen Alarmservers funktionieren,
so daß ein mehrsträngiges Netzwerk von Alarmclients und Ser
vern gebildet werden kann, so daß eine oder mehrere Ebenen
der Alarmverwaltungshierarchie über das langsame Kommunikati
onsnetzwerk 16 oder über kaskadierte langsame Verbindungen in
Kommunikation stehen.
Die vorstehend beschriebene Alarmverwaltungsanwendung über
trägt somit Alarminformationen effizienter über Kommunikati
onsverbindungen und ist besonders vorteilhaft, wenn sie zum
Übertragen von Alarminformationen über eine langsame Informa
tionsverbindung verwendet wird. Die Alarmverwaltungsanwendung
konsolidiert Alarminformationen in Mitteilungspakete und ver
wendet die vorstehend beschriebene Kommunikationstechnik, um
die Mitteilungspakete über eine langsame Kommunikationsver
bindung zu senden. Die Alarmmitteilungen werden nicht einzeln
bestätigt und typischerweise kann eine Bestätigung wie vor
stehend im Detail erörtert verwendet werden, um eine Vielzahl
von Mitteilungen einschließlich Alarmmitteilungen zu bestäti
gen. Da die Alarmverwaltungsanwendung Alarminformationen kon
solidiert und da jeder Alarm nicht einzeln bestätigt wird,
nutzt die vorstehend beschriebene Alarmverwaltungsanwendung
die Bandbreite einer langsamen Kommunikationsverbindung effi
zienter und kann rascher eine große Anzahl von Alarminforma
tionen ansprechend beispielsweise auf Störungen in Anlagen
übertragen, was es dem Benutzer ermöglicht, rascher korrigie
rend einzugreifen.
Allgemein ausgedrückt können die vorstehend beschriebene Kom
munikationstechnik mit verzögerter Bestätigung und die ent
sprechenden Alarmverwaltungsanwendungen effizient unter Ver
wendung eines Mehrzweckprozessors implementiert werden, um
eine Anzahl von Softwarecodesegmenten oder -modulen auszufüh
ren, die von einem computerlesbaren Speicher ausgelesen wer
den. Die Kombinationen von Hardware und Software, die bei
spielsweise anwendungsspezifische integrierte Schaltungen
(d. h. ASICs) oder andere Arten von Hardware und Firmware nut
zen, können verwendet werden, um dieselben Funktionen zu er
zielen, ohne den Schutzumfang der Erfindung zu verlassen.
Während die vorstehend beschriebene Kommunikationstechnik Da
ten- oder Informationswarteschlangen zum Speichern von Infor
mationen, Daten oder Mitteilungen verwenden kann, die über
eine Kommunikationsverbindung zu senden sind, kann jedes an
dere Verfahren des Organisierens der über die Verbindung zu
sendenden Daten verwendet werden, ohne den Schutzumfang der
Erfindung zu verlassen.
Bei der Implementierung in Software können die hierin erör
terten Funktionsblöcke und -routinen in jedem computerlesba
ren Speicher, wie beispielsweise auf einem magnetischen, ei
nem optischen oder einem anderen Speichermedium, in einem RAM
oder ROM eines Computers, einer Steuereinrichtung, einer An
lageneinrichtung und dergleichen gespeichert werden. Entspre
chend kann die Software auf einen Träger moduliert werden und
einem Benutzer oder einer Einrichtung über jedes bekannte
oder gewünschte Versandverfahren einschließlich beispielswei
se über einen Kommunikationskanal, wie etwa eine Telefonlei
tung, das Internet und dergleichen zugeführt werden.