DE10049568A1 - Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung - Google Patents

Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung

Info

Publication number
DE10049568A1
DE10049568A1 DE2000149568 DE10049568A DE10049568A1 DE 10049568 A1 DE10049568 A1 DE 10049568A1 DE 2000149568 DE2000149568 DE 2000149568 DE 10049568 A DE10049568 A DE 10049568A DE 10049568 A1 DE10049568 A1 DE 10049568A1
Authority
DE
Germany
Prior art keywords
messages
queue
data
communication
characterized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2000149568
Other languages
English (en)
Other versions
DE10049568B4 (de
Inventor
William E Bennett
Robert B Havekost
Ken J Beoughter
John R Shepard
Dwight D Jennings
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US09/418,747 priority Critical patent/US6775707B1/en
Priority to US09/418,747 priority
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Priority to DE10066463.6A priority patent/DE10066463B4/de
Publication of DE10049568A1 publication Critical patent/DE10049568A1/de
Application granted granted Critical
Publication of DE10049568B4 publication Critical patent/DE10049568B4/de
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/27Window size evaluation or update, e.g. using information derived from ACK packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18593Arrangements for preventing unauthorised access or for providing user protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1867Arrangements specific to the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/14Flow control or congestion control in wireless networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic regulation in packet switching networks
    • H04L47/10Flow control or congestion control
    • H04L47/28Flow control or congestion control using time considerations
    • H04L47/283Network and process delay, e.g. jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer, i.e. layer two, e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. van Duuren system ; ARQ protocols
    • H04L1/1867Arrangements specific to the transmitter end
    • H04L1/188Time-out mechanisms

Abstract

Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung, welche die effiziente Datenübertragung über eine Kommunikationsverbindung (16) mit geringer Bandbreite und/oder Umlaufzeitverzögerung erlauben und die Leerlaufzeit der Kommunikationsverbindung (16) minimieren, indem die verzögerte Bestätigung von Mitteilungspaketen verwendet wird, um die Kommunikationsverbindung in zeitlicher Hinsicht dicht zu packen. Das übertragende System (12) speichert zu übertragende Mitteilungen in einer anstehenden Mitteilungswarteschlange und wendet ein dynamisches Fenster an die anstehende Mitteilungswarteschlange an, um ein Mitteilungspaket, das zu senden ist, zu bestimmen. Das übertragende System fordert eine Bestätigung für mindestens eine Mitteilung in dem Paket an, jedoch nicht für jede Mitteilung innerhalb des Pakets. Übertragene Mitteilungen werden zeitweise als ausstehende Mitteilungen in einer Neuübertragungswarteschlange gespeichert, bis die Übertragung bestätigt ist oder bis eine Zeitablaufperiode, die zu den Mitteilungen gehört, verstrichen ist. Wenn die übertragende Station (12) ansprechend auf eine Anforderung eine zeitgerechte Bestätigung erhält, entfernt die übertragende Station alle entsprechenden ausstehenden Mitteilungen aus der Neuübertragungswarteschlange.

Description

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.

Claims (80)

1. Verfahren zum Senden einer Vielzahl von Mitteilungen über eine Kommunikationsverbindung, die eine Übertragungs- Umlaufzeitverzögerung hat, welches Verfahren die Schritte enthält:
Einrichten einer ersten Warteschlange zum Speichern von über die Kommunikationsverbindung zu sendenden Mitteilungen;
Einrichten einer zweiten Warteschlange zum Speichern von nicht bestätigten Mitteilungen, die in die Kommunikationsverbindung gesendet wurden;
Bestimmen eines Fensters, das ein unteres Ende hat, das auf eine Position innerhalb der ersten Warteschlange bezogen ist, und ein oberes Ende, das auf der Position des unteren Endes und einer Anzahl von nicht bestätigten Mitteilungen, die in der zweiten Warteschlange enthalten sind, basiert;
Anwenden des Fensters auf die erste Warteschlange, um ein Mitteilungspaket zu bestimmen, das eine oder mehrere Mitteilungen enthält, die über die Kommunikationsverbindung zu senden sind;
Entfernen dieser einen oder mehreren Mitteilungen, die zu dem Mitteilungspaket gehören, aus der ersten Warteschlange;
Senden dieser einen oder mehreren Mitteilungen, die zu dem Mitteilungspaket gehören, über den Kommunikationskanal, so daß mindestens zwei der Mitteilungen in dem Mitteilungspaket in einer Zeitspanne gesendet werden, die kleiner ist als die Übertragungs-Umlaufzeitverzögerung;
Anhängen der gesendeten einen oder mehreren Mitteilungen an die zweite Warteschlange; und
Empfangen von Bestätigungen einiger der gesendeten einen oder mehreren Mitteilungen, nachdem die Mitteilungen in dem Mitteilungspaket gesendet wurden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Einrichtens der zweiten Warteschlange den Schritt des Bestimmens einer vorbestimmten Maximalzahl von nicht bestätigten Mitteilungen einschließt, die in der zweiten Warteschlange enthalten sein können.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die vorbestimmte maximale Anzahl von unbestätigten Mitteilungen auf der Übertragungs-Umlaufzeitverzögerung der Kommunikationsverbindung basiert.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Einrichtens der ersten Warteschlange den Schritt des Vorsehens einer Sequenznummer für jede der Mitteilungen, die in der ersten Warteschlange gespeichert sind, einschließt, wobei der Schritt des Bestimmens des Fensters den Schritt des Verbindens des unteren Endes des Fensters mit einer ersten Sequenznummer einschließt, die mit der nächsten in die Kommunikationsverbindung zu sendenden Mitteilung verbunden ist.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß der Schritt des Bestimmens des Fensters den Schritt des Verbindens des oberen Endes des Fensters mit einer zweiten Sequenznummer einschließt, wobei die Differenz zwischen der zweiten Sequenznummer und der ersten Sequenznummer in umgekehrter Beziehung zu einer Anzahl von Mitteilungen steht, die gegenwärtig in der zweiten Warteschlange gespeichert sind.
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Sendens der einen oder mehreren Mitteilungen, die zu dem Mitteilungspaket gehören, den Schritt des Anbringes eines Zeitstempels an jeder der einen oder mehreren Mitteilungen vor dem Senden der einen oder mehreren Mitteilungen in die Kommunikationsverbindung einschließt.
7. Verfahren nach Anspruch 6, ferner enthaltend den Schritt des Entfernens der gesendeten einen oder mehreren, an die zweite Warteschlange angefügten Mitteilungen, deren Zeitlimit abgelaufen ist, aus der zweiten Warteschlange.
8. Verfahren nach Anspruch 7, ferner enthaltend den Schritt des Neuübertragens der gesendeten einen oder mehreren, an die zweite Warteschlange angefügten Mitteilungen, deren Zeitlimit abgelaufen ist, über die Kommunikationsverbindung.
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des Sendens der einen oder mehreren Mitteilungen, die zu dem Mitteilungspaket gehören, den Schritt des Anforderns einer Bestätigung für eine der Mitteilungen in dem Mitteilungspaket einschließt.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß der Schritt des Anforderns einer Bestätigung den Schritt des Anforderns einer Bestätigung für jeden Satz einer vorbestimmten Anzahl von Mitteilungen einschließt, wobei die vorbestimmte Anzahl kleiner ist als die maximale Anzahl von nicht bestätigten Mitteilungen, die in der zweiten Warteschlange enthalten sein können.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die vorbestimmte Anzahl von Mitteilungen gleich einer Hälfte der maximalen Anzahl von nicht bestätigten Mitteilungen ist, die in der zweiten Warteschlange enthalten sein können.
12. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die vorbestimmte Anzahl von Mitteilungen als ein Modul der vorbestimmten maximalen Anzahl von nicht bestätigten Mitteilungen eingestellt wird, die in der zweiten Warteschlange enthalten sein können.
13. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß der Schritt des Anforderns einer Bestätigung den Schritt des Anforderns einer Bestätigung für die letzte Mitteilung in dem Mitteilungspaket enthält.
14. Verfahren nach Anspruch 1, ferner enthaltend den Schritt des Empfangens von Bestätigungen für übertragene Mitteilungen und des Entfernens von bestätigten Mitteilungen aus der zweiten Warteschlange.
15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß der Schritt des Empfangens einer Bestätigung den Schritt des Bestätigens von zwei oder mehr der gesendeten einen oder mehreren Mitteilungen basierend auf einer einzelnen empfangenen Bestätigung enthält.
16. Kommunikationstechnik zum Transportieren von Daten zwischen einem ersten Datenserver und einem zweiten Datenserver, der mit dem ersten Datenserver über eine Kommunikationsverbindung kommunikativ verbunden ist, welche Datenbestätigungen verwendet, welche Technik die Schritte enthält:
Einrichten einer ersten Warteschlange in dem ersten Datenserver, um über die Kommunikationsverbindung zu sendende Daten zu speichern;
Einrichten einer zweiten Warteschlange in dem ersten Datenserver, um Daten, die in die Kommunikationsverbindung gesendet wurden und die nicht bestätigt wurden, zu speichern;
Anlegen eines Fensters an die erste Warteschlange, um eine Gruppe von Daten zu bestimmen, die über die Kommunikationsverbindung zu senden sind;
Senden der Gruppe von Daten in die Kommunikationsverbindung zu einer ersten Zeit;
Anhängen der Gruppe von Daten an die zweite Warteschlange als Resultat des Sendens der Gruppe von Daten in die Kommunikationsverbindung;
Empfangen einer Bestätigung für mindestens eine der Gruppe von Daten zu einer zweiten Zeit, die größer ist als die erste Zeit; und Entfernen der bestätigten Daten aus der zweiten Warteschlange bei Empfang der Bestätigung.
17. Technik nach Anspruch 16, dadurch gekennzeichnet, daß der Schritt des Entfernens der bestätigten Daten aus der zweiten Warteschlange den Schritt des Entfernens von zwei oder mehr Datenelementen aus der zweiten Warteschlange einschließt.
18. Technik nach Anspruch 16, dadurch gekennzeichnet, daß der Schritt des Einrichtens der zweiten Warteschlange in dem ersten Datenserver den Schritt des Bestimmens einer vorbestimmten Höchstmenge von Daten, die in der zweiten Warteschlange enthalten sein können, einschließt.
19. Technik nach Anspruch 18, dadurch gekennzeichnet, daß die vorbestimmte Höchstmenge von Daten, die in der zweiten Warteschlange enthalten sein können, durch eine Übertragungs-Umlaufzeitverzögerung der Kommunikationsverbindung bestimmt ist.
20. Technik nach Anspruch 16, dadurch gekennzeichnet, daß der Schritt des Anwendens des Fensters auf die erste Warteschlange den Schritt des Bestimmens einer Fenstergröße basierend auf einer Menge von nicht bestätigten Daten in der zweiten Warteschlange einschließt.
21. Technik nach Anspruch 16, dadurch gekennzeichnet, daß der Schritt des Sendens der Gruppe von Daten den Schritt des Anbringens von Zeitstempeln an den Daten innerhalb der Gruppe von Daten vor dem Senden der Datengruppe in die Kommunikationsverbindung einschließt.
22. Technik nach Anspruch 21, ferner enthaltend den Schritt des Bestimmens einer Zeitablaufperiode für die Daten in der gesendeten Datengruppe und des Entfernens von Daten aus der zweiten Warteschlange, bei denen die Zeit abgelaufen ist.
23. Technik nach Anspruch 22, ferner enthaltend den Schritt des Neuübertragens von Daten innerhalb der zweiten Warteschlange, deren Zeit abgelaufen ist.
24. Technik nach Anspruch 16, dadurch gekennzeichnet, daß der Sehritt des Sendens der Gruppe von Daten den Schritt des Anforderns einer Bestätigung für ein Mitglied der Datengruppe einschließt.
25. Technik nach Anspruch 24, dadurch gekennzeichnet, daß der Schritt des Anforderns einer Bestätigung den Schritt des Anforderns einer Bestätigung basierend auf einer bestimmten Datenmenge einschließt, die kleiner ist als eine vorbestimmte höchstzulässige Datenmenge, die in der zweiten Warteschlange enthalten sein kann, und die größer als eins ist.
26. Technik nach Anspruch 25, dadurch gekennzeichnet, daß die Datenmenge gleich der Hälfte der vorbestimmten höchstzulässigen Datenmenge ist, die in der zweiten Warteschlange enthalten sein kann.
27. Technik nach Anspruch 25, dadurch gekennzeichnet, daß die bestimmte Datenmenge unter Verwendung eines Moduls der vorbestimmten höchstzulässigen Datenmenge bestimmt wird, die in der zweiten Warteschlange enthalten sein kann.
28. Technik nach Anspruch 24, dadurch gekennzeichnet, daß der Schritt des Anforderns einer Bestätigung den Schritt des Anforderns einer Bestätigung für das letzte Element der Daten in der Datengruppe enthält.
29. Verfahren zum Senden einer Vielzahl von Mitteilungen über eine Kommunikationsverbindung, enthaltend die Schritte:
Speichern von über die Kommunikationsverbindung zu sendenden Mitteilungen in einer ersten Warteschlange;
Bestimmen einer Mitteilungsfenstergröße zum Auswählen von Mitteilungen aus der ersten Warteschlange, wobei die Fenstergröße größer als eins ist;
Anwenden eines Fensters mit der Fenstergröße an die erste Warteschlange, um ein Mitteilungspaket zu bestimmen, das eine erste Anzahl von Mitteilungen bis zur Fenstergröße einschließt;
Senden der ersten Anzahl von Mitteilungen, die zu dem Mitteilungspaket gehören, in die Kommunikationsverbindung;
Senden einer Bestätigungsanforderung mit einer der ersten Anzahl von Mitteilungen in dem Mitteilungspaket;
Speichern der gesendeten ersten Anzahl von Mitteilungen in einer zweiten Warteschlange; und
Entfernen von bestätigten Mitteilungen aus der zweiten Warteschlange.
30. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß der Schritt des Bestimmens der Fenstergröße den Schritt des Bestimmens der Fenstergröße basierend auf einer Anzahl von Mitteilungen, die gegenwärtig in der zweiten Warteschlange gespeichert sind, einschließt.
31. Verfahren nach Anspruch 30, dadurch gekennzeichnet, daß die Fenstergröße in umgekehrter Beziehung zu der Anzahl von Mitteilungen, die gegenwärtig in der zweiten Warteschlange gespeichert sind, steht.
32. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß der Schritt des Speicherns von Mitteilungen in der ersten Warteschlange den Schritt des Vorsehens einer Sequenznummer für jede der Mitteilungen, die in der ersten Warteschlange gespeichert sind, einschließt.
33. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß der Schritt des Sendens der ersten Anzahl von Mitteilungen in die Kommunikationsverbindung den Schritt des Anbringens eines Zeitstempels an jeder Mitteilung vor dem Senden jeder der ersten Anzahl von Mitteilungen in die Kommunikationsverbindung enthält.
34. Verfahren nach Anspruch 33, ferner enthaltend den Schritt des Bestimmens einer Zeitablaufperiode für die Mitteilungen in der zweiten Warteschlange und des Entfernens von Mitteilungen, deren Zeit abgelaufen ist, aus der zweiten Warteschlange.
35. Verfahren nach Anspruch 34, ferner enthaltend den Schritt des Neuübertragens von Mitteilungen, deren Zeitablaufperiode verstrichen ist.
36. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß der Schritt des Sendens einer Bestätigungsanforderung den Schritt des Sendens einer Bestätigungsanforderung für jede zweite Anzahl von Mitteilungen enthält, wobei die zweite Anzahl kleiner ist als die Fenstergröße.
37. Verfahren nach Anspruch 36, dadurch gekennzeichnet, daß die zweite Anzahl gleich der Hälfte der Fenstergröße ist.
38. Verfahren nach Anspruch 36, dadurch gekennzeichnet, daß die zweite Anzahl unter Verwendung eines Moduls der Fenstergröße bestimmt wird.
39. Verfahren nach Anspruch 29, dadurch gekennzeichnet, daß der Schritt des Sendens einer Bestätigungsanforderung den Schritt des Sendens einer Bestätigungsanforderung für die letzte Mitteilung in dem Mitteilungspaket enthält.
40. Kommunikationssystem mit verzögerter Bestätigung zur Verwendung in einem Datenübertragungssystem, das einen Datenserver mit einem Prozessor hat, der mit einer Kommunikationsverbindung kommunikativ verbunden ist, welches Kommunikationssystem enthält:
ein computerlesbares Medium;
eine erste Speicherroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche über die Kommunikationsverbindung zu sendende Daten in einer ersten Warteschlange speichert;
eine zweite Speicherroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche Daten, die in die Kommunikationsverbindung gesendet wurden, in einer zweiten Warteschlange speichert;
eine Fensterbildungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche ein Fenster verwendet, um eine Datengruppe zu bestimmen, die in der ersten Warteschlange gespeichert ist und über die Kommunikationsverbindung zu senden ist;
eine Senderoutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche die Datengruppe in die Kommunikationsverbindung sendet;
eine Anfügeroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche die Datengruppe als Folge der Tatsache, daß die Datengruppe gesendet wurde, an die zweite Warteschlange anfügt; und
eine Bestätigungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche eine Bestätigung für einige Elemente der Datengruppe empfängt und die diejenigen Daten, welche die empfangene Bestätigung betrifft, aus der zweiten Warteschlange entfernt.
41. System nach Anspruch 40, dadurch gekennzeichnet, daß die Fensterbildungsroutine ferner so ausgelegt ist, daß sie eine Fenstergröße basierend auf der in der zweiten Warteschlange gespeicherten Datenmenge bestimmt.
42. System nach Anspruch 40, dadurch gekennzeichnet, daß die Senderoutine ferner so ausgelegt ist, daß sie Zeitstempel an den Daten in der Datengruppe vor dem Senden der Datengruppe in die Kommunikationsverbindung anbringt.
43. Kommunikationssystem mit verzögerter Bestätigung zur Verwendung in einem Datenübertragungssystem, das einen Datenserver hat, der mit einer Kommunikationsverbindung kommunikativ verbunden ist, welches Kommunikationssystem enthält:
ein computerlesbares Medium;
eine erste Speicherroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche Mitteilungen, die über die Kommunikationsverbindung zu senden sind, in einer ersten Warteschlange speichert;
eine Bestimmungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Prozessor ausgeführt werden kann, welche eine Fenstergröße zum Auswählen von Mitteilungen aus der ersten Warteschlange bestimmt;
eine Fensterbildungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche ein Fenster mit der Fenstergröße an die erste Warteschlange anlegt, um ein Mitteilungspaket, das eine Anzahl von Mitteilungen bis zur Fenstergröße enthält, zu bestimmen;
eine erste Senderoutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche die Anzahl von Mitteilungen des Mitteilungspakets in die Kommunikationsverbindung sendet;
eine zweite Senderoutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche eine Bestätigungsanforderung mit einer Mitteilung der gesendeten Anzahl von Mitteilungen sendet;
eine zweite Speicherroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche die gesendete Anzahl von Mitteilungen in einer zweiten Warteschlange speichert; und
eine Bestätigungsverfolgungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche bestätigte Mitteilungen aus der zweiten Warteschlange entfernt.
44. System nach Anspruch 43, dadurch gekennzeichnet, daß die Fensterbildungsroutine ferner so ausgelegt ist, daß sie die Fenstergröße basierend auf einer Anzahl von Mitteilungen bestimmt, die gegenwärtig in der zweiten Warteschlange gespeichert sind.
45. Verfahren nach Anspruch 44, dadurch gekennzeichnet, daß die Fensterbildungsroutine die Fenstergröße als umgekehrt auf die Anzahl der Mitteilungen, die gegenwärtig in der zweiten Warteschlange gespeichert sind, bezogen auswählt.
46. System nach Anspruch 44, dadurch gekennzeichnet, daß die erste Senderoutine ferner so ausgelegt ist, daß sie einen Zeitstempel an jeder Mitteilung aus dem Mitteilungspaket vor dem Senden der Mitteilungen des Mitteilungspakets in die Kommunikationsverbindung anbringt.
47. System nach Anspruch 46, ferner enthaltend eine Neuübertragungsroutine, die auf dem computerlesbaren Speicher gespeichert ist und so ausgelegt ist, daß sie von dem Datenserver ausgeführt werden kann, welche eine Zeitablaufperiode für jede einzelne der gesendeten Anzahlen von Mitteilungen, die in der zweiten Warteschlange gespeichert sind, bestimmt und diejenigen der gesendeten Anzahl von Mitteilungen, die in der zweiten Warteschlange gespeichert sind, neu sendet, deren Zeitablaufperiode verstrichen ist.
48. System nach Anspruch 43, dadurch gekennzeichnet, daß die zweite Senderoutine ferner so ausgelegt ist, daß sie eine Bestätigungsanforderung für jede zweite der Anzahl von Mitteilungen sendet, wobei die zweite Zahl kleiner ist als die Fenstergröße.
49. System nach Anspruch 48, dadurch gekennzeichnet, daß die zweite Zahl gleich der Hälfte der Fenstergröße ist.
50. System nach Anspruch 48, dadurch gekennzeichnet, daß die zweite Zahl unter Verwendung eines Moduls der Fenstergröße bestimmt wird.
51. System zum Senden einer Vielzahl von Mitteilungen über eine Kommunikationsverbindung, enthaltend:
einen ersten Datenserver, der aufweist:
eine erste Warteschlange, die über die Kommunikationsverbindung zu sendende Mitteilungen speichert;
eine zweite Warteschlange, die nicht bestätigte Mitteilungen speichert, die in die Kommunikationsverbindung gesendet wurden;
eine erste Routine, die eine Mitteilungsgruppe, die in der ersten Warteschlange gespeichert ist, in die Kommunikationsverbindung sendet, wobei die Anzahl der Mitteilungen innerhalb der Mitteilungsgruppe auf einer Anzahl von Mitteilungen basiert, die in der zweiten Warteschlange gespeichert sind;
eine zweite Routine, welche die gesendete Mitteilungsgruppe an die zweite Warteschlange anfügt; und
eine dritte Routine, die Bestätigungen verarbeitet, die zu der gesendeten Mitteilungsgruppe gehören, um bestätigte Mitteilungen aus der zweiten Warteschlange zu entfernen; und
einen zweiten Datenserver, der mit dem ersten Datenserver über die Kommunikationsverbindung in Kommunikation steht, welcher zweite Datenserver enthält:
eine vierte Routine, welche die gesendete Gruppe von Mitteilungen über die Kommunikationsverbindung empfängt und die Bestätigungen für eine oder mehrere der empfangenen gesendeten Mitteilungen der Gruppe zu dem ersten Datenserver über die Kommunikationsverbindung sendet.
52. System nach Anspruch 51, dadurch gekennzeichnet, daß die Kommunikationsverbindung eine Satellitenkommunikationsverbindung einschließt.
53. System nach Anspruch 51, dadurch gekennzeichnet, daß die Kommunikationsverbindung eine drahtlose zelluläre Verbindung einschließt.
54. System nach Anspruch 51, dadurch gekennzeichnet, daß die Kommunikationsverbindung eine Modemverbindung einschließt.
55. System nach Anspruch 51, dadurch gekennzeichnet, daß die vierte Routine ferner so ausgelegt ist, daß sie eine Bestätigung ansprechend auf eine Anforderung nach einer Bestätigung, die zu der empfangenen gesendeten Mitteilungsgruppe gehört, sendet.
56. System nach Anspruch 51, dadurch gekennzeichnet, daß die vierte Routine ferner so ausgelegt ist, daß sie eine Bestätigung ansprechend auf eine empfangene Mitteilung in der empfangenen gesendeten Mitteilungsgruppe sendet, die außerhalb der Reihenfolge empfangen wird.
57. System nach Anspruch 51, dadurch gekennzeichnet, daß der erste und der zweite Datenserver Eins-zu-mehreren- Beziehungen für Mitteilungen enthalten, die über die Kommunikationsverbindung gesendet werden.
58. Prozeßsteuersystem, das ein erstes Kommunikationsnetzwerk und ein zweites Kommunikationsnetzwerk hat, die über eine Satellitenkommunikationsverbindung miteinander kommunikativ verbunden sind, welches Prozeßsteuersystem enthält:
eine erste Benutzerschnittstelle, die mit dem ersten Kommunikationsnetzwerk verbunden ist;
eine erste Steuereinrichtung, die mit der Benutzerschnittstelle über das erste Kommunikationsnetzwerk in Kommunikationsverbindung steht;
einen ersten Datenserver, der mit der Benutzerschnittstelle und der Steuereinrichtung über das erste Kommunikationsnetzwerk in Kommunikationsverbindung steht;
eine zweite Benutzerschnittstelle, die mit dem zweiten Kommunikationsnetzwerk verbunden ist;
eine zweite Steuereinrichtung, die mit der zweiten Benutzerschnittstelle über das zweite Kommunikationsnetzwerk in Kommunikationsverbindung steht; und
einen zweiten Datenserver, der mit der zweiten Benutzerschnittstelle und der zweiten Steuereinrichtung über das zweite Kommunikationsnetzwerk in Kommunikationsverbindung steht und über die Satellitenkommunikationsverbindung mit dem ersten Datenserver in Kommunikationsverbindung steht.
59. Prozeßsteuersystem, das ein erstes Kommunikationsnetzwerk und ein zweites Kommunikationsnetzwerk hat, die über eine langsame Kommunikationsverbindung miteinander in Kommunikation stehen, welches Prozeßsteuersystem enthält:
eine erste Benutzerschnittstelle, die mit dem ersten Kommunikationsnetzwerk verbunden ist;
eine erste Steuereinrichtung, die mit der Benutzerschnittstelle über das erste Kommunikationsnetzwerk in Kommunikation steht;
einen ersten Datenserver, der mit der Benutzerschnittstelle und der Steuereinrichtung über das erste Kommunikationsnetzwerk in Kommunikation steht;
eine zweite Benutzerschnittstelle, die mit dem zweiten Kommunikationsnetzwerk verbunden ist;
eine zweite Steuereinrichtung, die mit der zweiten Benutzerschnittstelle über das zweite Kommunikationsnetzwerk in Kommunikation steht; und
einen zweiten Datenserver, der mit der zweiten Benutzerschnittstelle und der zweiten Steuereinrichtung über das zweite Kommunikationsnetzwerk in Kommunikation steht und mit dem ersten Datenserver über die langsame Kommunikationsverbindung in Kommunikation steht, wobei die erste Benutzerschnittstelle eine Konfigurationsroutine enthält, die eine erste Steuerstrategie an die erste Steuereinrichtung abgibt und spezialisierte Kommunikationsobjekte an den ersten Datenserver über das erste Kommunikationsnetzwerk abgibt.
60. Prozeßsteuersystem nach Anspruch 59, dadurch gekennzeichnet, daß die Konfigurationsroutine automatisch die spezialisierten Kommunikationsobjekte ansprechend auf eine Spezifizierung der Kommunikation zwischen dem ersten und dem zweiten Kommunikationsnetzwerk durch den Benutzer erzeugt.
61. Prozeßsteuersystem nach Anspruch 60, dadurch gekennzeichnet, daß die spezialisierten Kommunikationsobjekte das automatische Weiterleiten von Mitteilungen zwischen dem ersten und dem zweiten Kommunikationsnetzwerk über die langsame Kommunikationsverbindung erlauben.
62. Prozeßsteuersystem nach Anspruch 59, dadurch gekennzeichnet, daß der erste und der zweite Datenserver jeweils eine erste und eine zweite Parameterliste enthalten, die Informationen, die über die langsame Kommunikationsverbindung zu übertragen sind, speichern.
63. Prozeßsteuersystem nach Anspruch 62, dadurch gekennzeichnet, daß mindestens ein Teil der Informationen in der ersten Parameterliste auf dem ersten Kommunikationsnetzwerk veröffentlicht wird.
64. Prozeßsteuersystem nach Anspruch 62, dadurch gekennzeichnet, daß mindestens ein Teil der Informationen in der ersten Parameterliste auf dem zweiten Kommunikationsnetzwerk veröffentlicht wird.
65. Prozeßsteuersystem nach Anspruch 59, dadurch gekennzeichnet, daß der erste Datenserver eine Vielzahl von Mitteilungen über die langsame Kommunikationsverbindung überträgt, bevor eine Bestätigung für eine Mitteilung der Vielzahl von Mitteilungen empfangen wird.
66. Verfahren zum Senden einer Vielzahl von Mitteilungen über eine Kommunikationsverbindung, die eine Übertragungs- Umlaufverzögerung hat und die Datenbestätigung verwendet, welches Verfahren die Schritte enthält:
Senden einer ersten Mitteilung in die Kommunikationsverbindung;
Senden einer zweiten Mitteilung in die Kommunikationsverbindung, ohne auf die Bestätigung der ersten Mitteilung zu warten; und
Anfordern einer Bestätigung für die zweite Mitteilung.
67. Verfahren nach Anspruch 66, ferner enthaltend die Schritte des Empfangens einer Bestätigung der zweiten Mitteilung und Verwenden der empfangenen Bestätigung, um ausdrücklich die zweite Mitteilung zu bestätigen und implizit die erste Mitteilung zu bestätigen.
68. Verfahren nach Anspruch 67, ferner enthaltend die Schritte des Sendens einer oder mehrerer weiterer Mitteilungen zwischen der ersten und der zweiten Mitteilung.
69. Verfahren nach Anspruch 68, ferner enthaltend den Schritt des Verwendens der empfangenen Bestätigung, um implizit die eine oder die mehreren weiteren Mitteilungen zu bestätigen.
70. Verfahren nach Anspruch 66, dadurch gekennzeichnet, daß die Schritte des Sendens der ersten und der zweiten Mitteilung in die Kommunikationsverbindung den Schritt des Anbringens von Zeitstempeln an der ersten und der zweiten Mitteilung vor dem Senden der ersten und der zweiten Mitteilung in die Kommunikationsverbindung einschließen.
71. Verfahren nach Anspruch 70, ferner enthaltend den Schritt des Identifizierens von Mitteilungen von der gesendeten ersten und zweiten Mitteilung, deren Zeitlimit abgelaufen ist, und des erneuten Sendens der Mitteilungen, deren Zeitlimit abgelaufen ist, in die Kommunikationsverbindung.
72. Verfahren zum Kommunizieren von Anwendungsinformationen in einem Prozeßsteuersystem, das einen ersten Abschnitt hat, der mit einem zweiten Abschnitt über eine Kommunikationsverbindung in Kommunikation steht, welches Verfahren die Schritte enthält:
Einrichten eines Anwendungsclientprozesses in dem ersten Abschnitt des Prozeßsteuersystems;
Einrichten eines Anwendungsserverprozesses in dem zweiten Abschnitt des Prozeßsteuersystems;
Senden einer ersten Anwendungsmitteilung von dem Anwendungsserverprozeß zu dem Anwendungsclientprozeß, welche einen Satz von Anwendungsinformationen bestimmt, die periodisch an den Clientprozeß zu senden sind; und
Senden von periodischen Anwendungsaktualisierungsmitteilungen von dem Anwendungsserverprozeß zu dem Clientprozeß, wobei die Aktualisierungsmitteilungen Informationen enthalten, die den Satz von Anwendungsinformationen betreffen, der von der ersten Anwendungsmitteilung bestimmt ist.
73. Verfahren nach Anspruch 72, dadurch gekennzeichnet, daß die erste Anwendungsmitteilung und die Anwendungsaktualisierungsmitteilungen zu Alarminformationen gehören.
74. Verfahren nach Anspruch 72, ferner enthaltend den Schritt des Sendens einer Flußsteuerungs-Mitteilung von dem Anwendungsclientprozeß zu dem Anwendungsserverprozeß, welche den Anwendungsserverprozeß veranlasst, eine Neusynchronisierung mit dem Anwendungsclientprozeß auszuführen.
75. Verfahren nach Anspruch 73, dadurch gekennzeichnet, daß die Schritte des Sendens der ersten Anwendungsmitteilung und der Anwendungsaktualisierungsmitteilungen den Schritt des Sendens von zwei oder mehr Mitteilungen, bevor eine Bestätigung für die erste der beiden oder mehreren Mitteilungen erhalten wird, einschließt.
76. Verfahren nach Anspruch 73, dadurch gekennzeichnet, daß die Alarminformation Prioritätsinformationen enthält.
77. Verfahren nach Anspruch 73, dadurch gekennzeichnet, daß die erste Anwendungsmitteilung Informationen enthält, die die Häufigkeit betreffen, mit welcher der Anwendungsserverprozeß die Anwendungsaktualisierungsmitteilungen an den Anwendungsclientprozeß zu senden hat.
78. Verfahren nach Anspruch 77, ferner enthaltend den Schritt des Erfassens des Fehlens einer Anwendungsaktualisierungsmitteilung, basierend auf der Häufigkeit, mit der der Anwendungsserverprozeß die Anwendungsaktualisierungsmitteilungen an den Anwendungsclientprozeß zu senden hat.
79. Verfahren nach Anspruch 73, dadurch gekennzeichnet, daß die erste Anwendungsmitteilung Informationen enthält, welche die Häufigkeit betreffen, mit welcher der Anwendungsclientprozeß die erste Anwendungsmitteilung an den Anwendungsserverprozeß zu senden hat.
80. Verfahren nach Anspruch 79, ferner enthaltend den Schritt des Erfassens des Fehlens einer Anwendungsaktualisierungsmitteilung basierend auf der Häufigkeit, mit der der Anwendungsclientprozeß die ersten Anwendungsmitteilungen an den Anwendungsserverprozeß zu senden hat.
DE2000149568 1999-10-15 2000-10-06 Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung Active DE10049568B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/418,747 US6775707B1 (en) 1999-10-15 1999-10-15 Deferred acknowledgment communications and alarm management
US09/418,747 1999-10-15
DE10066463.6A DE10066463B4 (de) 1999-10-15 2000-10-06 Verfahren zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung

Publications (2)

Publication Number Publication Date
DE10049568A1 true DE10049568A1 (de) 2001-05-03
DE10049568B4 DE10049568B4 (de) 2010-05-06

Family

ID=23659421

Family Applications (2)

Application Number Title Priority Date Filing Date
DE2000149568 Active DE10049568B4 (de) 1999-10-15 2000-10-06 Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung
DE10066463.6A Active DE10066463B4 (de) 1999-10-15 2000-10-06 Verfahren zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE10066463.6A Active DE10066463B4 (de) 1999-10-15 2000-10-06 Verfahren zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung

Country Status (4)

Country Link
US (3) US6775707B1 (de)
JP (2) JP4902905B2 (de)
DE (2) DE10049568B4 (de)
GB (1) GB2359225B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10332324A1 (de) * 2003-07-16 2005-02-10 Siemens Ag Verfahren zur Übertragung von Daten über eine drahtlose Kommuniktionsverbindung sowie Sender und Empfänger

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0825506B1 (de) 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6775707B1 (en) * 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US7185115B2 (en) * 2000-04-14 2007-02-27 Adtran, Inc. Modular system for connecting multiple customer premises voice and data communications devices to a T1 data line
EP1204292B1 (de) * 2000-06-26 2011-11-02 Panasonic Corporation Steuerung einer Datenübertragunganfrage in einem mobilen Kommunikationssystem
US7502860B1 (en) * 2001-07-09 2009-03-10 Cisco Technology, Inc. Method and apparatus for client-side flow control in a transport protocol
US7249193B1 (en) * 2001-08-28 2007-07-24 Emc Corporation SRDF assist
US20030076826A1 (en) * 2001-10-23 2003-04-24 International Business Machine Corporation Reliably transmitting a frame to multiple destinations by embedding sequence numbers in the frame
US9332058B2 (en) * 2001-11-01 2016-05-03 Benhov Gmbh, Llc Local agent for remote file access system
KR100423969B1 (ko) * 2001-11-16 2004-03-22 삼성전자주식회사 필드버스 인터페이스 보드 및 그 제어방법
US20030108334A1 (en) * 2001-12-06 2003-06-12 Koninklijke Philips Elecronics N.V. Adaptive environment system and method of providing an adaptive environment
DE10200165A1 (de) * 2002-01-04 2003-07-10 Klaus Rock Verfahren zur Reduzierung der Latenzzeit bei der interaktiven Datenkommunikation über ein Satellitennetzwerk
US6941393B2 (en) * 2002-03-05 2005-09-06 Agilent Technologies, Inc. Pushback FIFO
US7376713B2 (en) * 2002-06-27 2008-05-20 International Business Machines Corporation Apparatus, system and method of distributing block data on a private network without using TCP/IP
US7711768B1 (en) * 2002-06-28 2010-05-04 Microsoft Corporation System and method for reliably exchanging information across a computer network
US8213390B2 (en) * 2002-10-24 2012-07-03 Qualcomm Incorporated Reverse link automatic repeat request
US7564818B2 (en) * 2002-11-26 2009-07-21 Qualcomm Incorporated Reverse link automatic repeat request
US7346669B2 (en) * 2002-12-19 2008-03-18 Intel Corporation Method, apparatus and system for processing message bundles on a network
US7225266B2 (en) * 2002-12-20 2007-05-29 Nokia Corporation Adaptive delayed ACK switching for TCP applications
US7865251B2 (en) * 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US6975966B2 (en) * 2003-01-28 2005-12-13 Fisher-Rosemount Systems, Inc. Integrated diagnostics in a process plant having a process control system and a safety system
US7509378B2 (en) * 2003-03-11 2009-03-24 Bea Systems, Inc. System and method for message ordering in a message oriented network
US7076680B1 (en) * 2003-03-14 2006-07-11 Sun Microsystems, Inc. Method and apparatus for providing skew compensation using a self-timed source-synchronous network
US20040215630A1 (en) * 2003-04-25 2004-10-28 Ipolicy Networks, Inc. Hierarchical service management system
US8160574B1 (en) 2005-06-17 2012-04-17 Fisher-Rosemount Systems, Inc. Wireless architecture utilizing geo-referencing
US7460865B2 (en) 2003-06-18 2008-12-02 Fisher-Rosemount Systems, Inc. Self-configuring communication networks for use with process control systems
US7436797B2 (en) * 2003-06-18 2008-10-14 Fisher-Rosemount Systems, Inc. Wireless architecture and support for process control systems
US8041821B2 (en) * 2003-11-26 2011-10-18 International Business Machines Corporation Connection pool management
US20050122977A1 (en) * 2003-12-05 2005-06-09 Microsoft Corporation Efficient download mechanism for devices with limited local storage
US20050221020A1 (en) * 2004-03-30 2005-10-06 Tokyo Electron Limited Method of improving the wafer to wafer uniformity and defectivity of a deposited dielectric film
US20050265235A1 (en) * 2004-05-27 2005-12-01 International Business Machines Corporation Method, computer program product, and data processing system for improving transaction-oriented client-server application performance
US7308617B2 (en) * 2004-06-17 2007-12-11 International Business Machines Corporation Apparatus, system, and method for automatically freeing a server resource locked awaiting a failed acknowledgement from a client
JP2006031083A (ja) * 2004-07-12 2006-02-02 Fujitsu Ltd 多重送信処理可能な情報電子機器、多重送信応答プログラム、多重送信応答方法
US7493427B2 (en) 2004-07-14 2009-02-17 International Business Machines Corporation Apparatus and method for supporting received data processing in an offload of network protocol processing
US7930422B2 (en) 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US7436801B1 (en) * 2004-09-08 2008-10-14 Golden Bridge Technology, Inc. Deferred access method for uplink packet channel
US8059548B1 (en) * 2004-10-26 2011-11-15 Sprint Communications Company L.P. Automatic displaying of alarms in a communications network
US20060168013A1 (en) * 2004-11-26 2006-07-27 Invensys Systems, Inc. Message management facility for an industrial process control environment
US7970010B2 (en) * 2004-12-10 2011-06-28 Broadcom Corporation Upstream channel bonding in a cable communications system
US8705567B2 (en) * 2004-12-10 2014-04-22 Broadcom Corporation Upstream channel bonding using legacy maps in a cable communications system
US8565095B2 (en) * 2005-04-19 2013-10-22 Alcatel Lucent Context controlled data tap utilizing parallel logic for integrated link monitoring
US8316129B2 (en) 2005-05-25 2012-11-20 Microsoft Corporation Data communication coordination with sequence numbers
US8125896B2 (en) * 2005-10-17 2012-02-28 The Invention Science Fund I, Llc Individualizing a connectivity-indicative mapping
US7646712B2 (en) * 2005-10-17 2010-01-12 Searete Llc Using a signal route dependent on a node speed change prediction
US20070087695A1 (en) * 2005-10-17 2007-04-19 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Mobile directional antenna
US7584286B2 (en) 2006-06-28 2009-09-01 Intel Corporation Flexible and extensible receive side scaling
KR101417937B1 (ko) * 2007-02-06 2014-08-05 엘지전자 주식회사 무선 통신 시스템 및 이의 데이터 전송방법
US8521866B2 (en) * 2007-09-27 2013-08-27 Tellabs San Jose, Inc. Reporting multiple events in a trap message
GB2460070B (en) * 2008-05-15 2010-10-13 Gnodal Ltd A method of data delivery across a network
US8234243B2 (en) * 2008-06-19 2012-07-31 Microsoft Corporation Third tier transactional commit for asynchronous replication
CN102124432B (zh) 2008-06-20 2014-11-26 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
US8700761B2 (en) * 2008-09-04 2014-04-15 At&T Intellectual Property I, L.P. Method and system for detecting and managing a fault alarm storm
DE102008060005A1 (de) * 2008-11-25 2010-06-10 Pilz Gmbh & Co. Kg Sicherheitssteuerung und Verfahren zum Steuern einer automatisierten Anlage mit einer Vielzahl von Anlagenhardwarekomponenten
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US20110219440A1 (en) * 2010-03-03 2011-09-08 Microsoft Corporation Application-level denial-of-service attack protection
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
EP2541475B1 (de) * 2011-06-29 2019-07-31 Orange Benachrichtigungsmaschine
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US9100177B2 (en) * 2011-09-02 2015-08-04 Qualcomm Incorporated Systems and methods for acknowledging communications from a plurality of devices
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US9298176B2 (en) 2012-01-17 2016-03-29 Fisher-Rosemount Systems, Inc. Compensating for setpoint changes in a non-periodically updated controller
JP5965160B2 (ja) * 2012-02-28 2016-08-03 日本電信電話株式会社 データ同期システム、運用系コンピュータ、及び待機系コンピュータ
US9019992B2 (en) 2013-01-08 2015-04-28 Tangome, Inc. Joint retransmission and frame synchronization for error resilience control
DK3032771T3 (da) * 2014-12-12 2017-12-18 Sensolus Nv Batteridrevet indretning, cloud-applikation og tilhørende fremgangsmåder til transmission/modtagelse af datameddelelser over et netværk med lavt gennemløb
US10291566B2 (en) 2014-12-31 2019-05-14 Albert S. Penilla Data transmission management for computer based inter-user communication
US9948473B2 (en) * 2015-02-04 2018-04-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Seamless connection handshake for a reliable multicast session
WO2017006607A1 (ja) * 2015-07-07 2017-01-12 ソニー株式会社 通信装置および通信方法
JP6547580B2 (ja) 2015-10-20 2019-07-24 富士通株式会社 分散制御方法、分散制御システム、および分散制御プログラム

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63290034A (en) * 1987-05-22 1988-11-28 Ricoh Co Ltd Data transmission system
US4839891A (en) * 1987-07-24 1989-06-13 Nec Corporation Method for controlling data flow
JPH01292938A (en) * 1988-05-19 1989-11-27 Fujitsu Ltd Data communication control system
JPH0720155B2 (ja) * 1988-08-27 1995-03-06 沖電気工業株式会社 データ通信装置
JPH0286245A (en) * 1988-09-21 1990-03-27 Hitachi Ltd Data link layer processing system
JPH06103884B2 (ja) * 1988-12-07 1994-12-14 日本電気株式会社 無線パケット伝送方式
US5321694A (en) * 1991-09-20 1994-06-14 Extension Technology Corporation Method and apparatus for reducing the transmission of repetitive braodcast datagrams over communication links
US5528605A (en) 1991-10-29 1996-06-18 Digital Equipment Corporation Delayed acknowledgement in an asymmetric timer based LAN communications protocol
US5222061A (en) 1991-10-31 1993-06-22 At&T Bell Laboratories Data services retransmission procedure
US5444718A (en) * 1993-11-30 1995-08-22 At&T Corp. Retransmission protocol for wireless communications
FI98174C (fi) 1995-05-09 1997-04-25 Nokia Telecommunications Oy Datansiirtojärjestelmä, jossa on liukuvaan ikkunaan perustuva datavuonohjaus
US5712860A (en) 1995-09-22 1998-01-27 Cirrus Logic, Inc. Methods and system for using multi-block bursts in half duplex subscriber unit transmissions
US5838563A (en) 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US6008805A (en) * 1996-07-19 1999-12-28 Cisco Technology, Inc. Method and apparatus for providing multiple management interfaces to a network device
JPH1051489A (ja) * 1996-07-30 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> 無線パケットフロー制御方法
US6023698A (en) * 1996-12-05 2000-02-08 International Business Machines Corporation System and method for transparently registering and updating information over the internet
US6067561A (en) * 1997-02-07 2000-05-23 Hughes Electronics Corporation Electronic mail notification system and method within a hybrid network that transmits notifications via a continuous, high-speed channel
US5970063A (en) 1997-07-31 1999-10-19 Telefonaktiebolaget Lm Ericsson Method for unacknowledged data frame delivery in a noisy wireless environment
JPH1155348A (ja) * 1997-07-31 1999-02-26 Matsushita Electric Ind Co Ltd データ通信方法
AU8895498A (en) 1997-08-26 1999-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Wireless communications systems and methods utilizing group frame acknowledgment
US5872777A (en) 1997-09-30 1999-02-16 Motorola, Inc. Method and apparatus for conveying data packets in a packet data communication system
US6115390A (en) * 1997-10-14 2000-09-05 Lucent Technologies, Inc. Bandwidth reservation and collision resolution method for multiple access communication networks where remote hosts send reservation requests to a base station for randomly chosen minislots
DE19801785C2 (de) * 1998-01-19 2000-04-27 Siemens Ag Verfahren und Kommunikationssystem zur Behandlung von Alarmen durch ein mehrere Managementebenen aufweisendes Managementnetz
JPH11205384A (ja) * 1998-01-19 1999-07-30 Ntt Data Corp データ通信システム及びデータ通信装置
JP3448481B2 (ja) * 1998-03-05 2003-09-22 Kddi株式会社 非対称回線用tcp通信高速化装置
CA2249152C (en) 1998-09-30 2003-07-08 Northern Telecom Limited Apparatus for and method of managing bandwidth for a packet-based connection
US6529477B1 (en) * 1999-02-02 2003-03-04 Mentat Inc. Internet over satellite system
US6654344B1 (en) * 1999-02-02 2003-11-25 Mentat Inc. Method and system for controlling data flow in an internet over satellite connection
US6400724B1 (en) * 1999-07-16 2002-06-04 Qualcomm Inc. Method and apparatus for efficient data transmission in a voice-over-data communication system
WO2001022645A1 (en) 1999-09-20 2001-03-29 Nokia Corporaton Error control method and apparatus
US6775707B1 (en) 1999-10-15 2004-08-10 Fisher-Rosemount Systems, Inc. Deferred acknowledgment communications and alarm management
US6947440B2 (en) * 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US7237017B1 (en) * 2001-03-13 2007-06-26 Panamsat Corporation Micronode in a satellite based content delivery system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10332324A1 (de) * 2003-07-16 2005-02-10 Siemens Ag Verfahren zur Übertragung von Daten über eine drahtlose Kommuniktionsverbindung sowie Sender und Empfänger

Also Published As

Publication number Publication date
US6775707B1 (en) 2004-08-10
JP4902905B2 (ja) 2012-03-21
DE10049568B4 (de) 2010-05-06
US7574531B2 (en) 2009-08-11
JP2001186210A (ja) 2001-07-06
US20070073822A1 (en) 2007-03-29
US7111070B2 (en) 2006-09-19
GB2359225A (en) 2001-08-15
JP5286346B2 (ja) 2013-09-11
GB0025136D0 (en) 2000-11-29
US20050021832A1 (en) 2005-01-27
JP2011072004A (ja) 2011-04-07
DE10066463B4 (de) 2016-09-15
GB2359225B (en) 2004-09-22

Similar Documents

Publication Publication Date Title
DE4131133B4 (de) Verfahren und Vorrichtung zum Austausch von Daten in Datenverarbeitungsanlagen
DE69731276T2 (de) Verfahren zur angabe der grösse von minizellen
DE60020413T2 (de) Verfahren und Einrichtung zur Bestimmung eines Zeit-Parameters
DE60014852T2 (de) Headerkompression in echtzeitdiensten
DE69433834T2 (de) Kommunikationsverfahren mit der Qualität entsprechend veränderbarer Datenübertragungsrate
DE60108765T2 (de) Basis-qos-mechanismen zur drahtlosen übertragung von ip-verkehr
DE60102809T2 (de) Datenpaketnummerierung bei der paketvermittelten datenübertragung
DE19726076B4 (de) Verfahren und Knoten zum Transport und zur Wiedergewinnung von Hintergrunddaten in einem existierenden Paketvermittlungsnetz
DE10062303C2 (de) Verfahren zum Betrieb eines Ad Hoc-Netzwerkes zur drahtlosen Datenübertragung von synchronen und asynchronen Nachrichten
DE60307032T2 (de) Steuerungs-Verfahren und -Vorrichtung zur Datenübertragung
DE60020204T2 (de) Drahtloses Kommunikationssystem
DE60110303T2 (de) Verfahren und Vorrichtung zur Paketübertragung mit Paketenkopfkompression
DE69937834T2 (de) Flugzeugdatenaquisition und übertragungssystem
DE60102071T2 (de) Verfahren zum Multiplexen zweier Datenflüsse auf einen Funkkommunikationskanal und dazugehörender Sender
DE69938094T2 (de) Paketwiederübertragungskontrolle mit Prioritätsinformationen
DE60225741T2 (de) Netzwerkverwaltungssystem
DE69733441T2 (de) Netzwerk-Daten-Verteilungssystem
DE69827053T2 (de) Verfahren zur Zuteilung von Betriebsmitteln in einem digitalen Datenübertragungsnetzwerk
DE3705530C2 (de)
DE69916047T2 (de) Endgerät und Verfahren zum Übertragen von Datenpaketen über Funkrahmen
DE3837069C2 (de)
DE60113549T2 (de) Tcp-flusssteurung
DE60209189T2 (de) Apparat und Methode zur Schaffung eines Docsis Headers durch die Hardware
DE69632240T2 (de) Verfahren und Anlage zur Kontrolle von Übertragungsgeschwindigkeiten von Quellen in ATM-Netzwerken
DE60030442T2 (de) Verfahren zur bereitstellung einer sicheren verbindung in einem mobilen kommunikationssystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
Q171 Divided out to:

Ref document number: 10066463

Country of ref document: DE

Kind code of ref document: P

8369 Partition in:

Ref document number: 10066463

Country of ref document: DE

Kind code of ref document: P

AH Division in

Ref document number: 10066463

Country of ref document: DE

Kind code of ref document: P

8364 No opposition during term of opposition
R130 Divisional application to

Country of ref document: DE

Effective date: 20131120

Ref document number: 10066463