DE10049568B4 - 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 Download PDFInfo
- Publication number
- DE10049568B4 DE10049568B4 DE10049568A DE10049568A DE10049568B4 DE 10049568 B4 DE10049568 B4 DE 10049568B4 DE 10049568 A DE10049568 A DE 10049568A DE 10049568 A DE10049568 A DE 10049568A DE 10049568 B4 DE10049568 B4 DE 10049568B4
- Authority
- DE
- Germany
- Prior art keywords
- messages
- queue
- data
- message
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/18578—Satellite systems for providing broadband data service to individual earth stations
- H04B7/18593—Arrangements for preventing unauthorised access or for providing user protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
- H04L1/1685—Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1887—Scheduling and prioritising arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Astronomy & Astrophysics (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
– Einrichten einer ersten Warteschlange (50) zum Speichern von über die Kommunikationsverbindung zu sendenden Mitteilungen;
– Einrichten einer zweiten Warteschlange (52) zum Speichern von nicht bestätigten Mitteilungen, die in die Kommunikationsverbindung gesendet wurden;
– Bestimmen eines Fensters, das ein unteres Ende, das auf eine Position innerhalb der ersten Warteschlange bezogen ist, und ein oberes Ende hat, das auf der Position des unteren Endes und einer Anzahl von nicht bestätigten Mitteilungen, die in der zweiten Warteschlange (52) enthalten sind, basiert;
– Anwenden des Fensters auf die erste Warteschlange, um ein Mitteilungspaket zu bestimmen, das mehrere Mitteilungen enthält, die über die Kommunikationsverbindung zu senden sind;
– Entfernen dieser Mitteilungen, die zu dem Mitteilungspaket gehören, aus der ersten Warteschlange;
– Senden dieser Mitteilungen über den Kommunikationskanal, so dass...
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 bestimmtes Niveau an Datendurchsatz mit einem bestimmten Niveau der Datensicherheit. Typischerweise wählt ein Systemkonstrukteur eine geeignete Kommunikationstechnik für eine Anwendung, indem die vorhandenen Einschränkungen hinsichtlich des Datendurchsatzes und der Datensicherheit, die von jeder der verfü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 dezidierter Hochgeschwindigkeitsdatenbus (z. B. Ethernet) verwendet werden, um ein hohes Datendurchsatzniveau sowie ein Sicherheitsniveau mit relativ geringen Kosten sicherzustellen.
- Bei anderen Anwendungen, welche die Kommunikation zwischen lokalen und entfernt angeordneten Einrichtungen, wie etwa Regeleinrichtungen, 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 Satellitenkommunikationsverbindungen.
- Die Verwendung der vorstehend genannten langsamen Kommunikationsverbindungen, um die Kommunikation zwischen lokalen und entfernten Systemen aufzubauen, bringt mehrere wesentliche Probleme mit sich. Beispielsweise sind langsame Kommunikationsverbindungen typischerweise für elektromagnetische Störungen empfindlich, die zu der Verfälschung bzw. Zerstörung der über die Verbindung übertragenen Daten führen können. Zusätzlich sind langsame Kommunikationsverbindungen oftmals mit einer extern zu erwerbenden Dienstleistung, wie etwa Telefonleitungen, zelluläre Kanäle oder Kanalzuweisung innerhalb einer Satellitentransponderbandbreite verbunden, was zu beträchtlichen Kosten pro Dateneinheit führen kann, die über die Verbindung gesendet wird. Somit sind Kommunikationstechniken, 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 Datensicherheit und der Kosten pro gesendeter Dateneinheit erreicht werden, wenn man konventionelle Datencodierungs- und Kanalmodulationstechniken in einer Einwegkommunikationsverbindung verwendet. Beispielsweise werden Audio- und Videodaten typischerweise vor der Übertragung codiert, und zwar unter der Verwendung einer bestimmten Art vorauseilender Fehlerkorrektur und/oder konvolutweiser Codierung, und können über die Einwegkommunikationsverbindung unter Verwendung einer Bandspreizungsmodulationstechnik effektiv übertragen werden. Eine Empfängerstation kann anschließend die übertragenen Daten demodulieren und decodieren, um Audio- und Videosignale zu erzeugen, 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 werden, 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 Benutzer nicht ohne weiteres wahrnehmbar sind. Auf diese Weise können herkömmliche Kommunikationsprotokolle für die Übertragung von Audio- und Videodaten die Kommunikationsgesamtkosten eliminieren, die normalerweise mit Zweiwegkommunikationstechniken verbunden sind, welche typischerweise ein Kommunikationsprotokoll im Quittungsbetrieb verwenden, ohne daß die qualitative Leistung des Systems nachteilig beeinflußt wird.
- Während die vorstehend beschriebenen Vorgehensweisen zur Übertragung von Daten durch eine Einwegkommunikationsverbindung ein akzeptables Niveau von Datensicherheit für die Wiedergabe von Audio- und Videoinformationen bieten, bieten die se Vorgehensweisen kein Sicherheitsniveau, das zur Verwendung in einigen anderen Arten von Anwendungen geeignet ist. Beispielsweise können Daten, die zu einem Prozeßsteuersystem gehö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 Sendestation 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 Datenkommunikationsverbindungen eine Zweiwegekommunikationstechnik (d. h. eine Vollduplexkommunikationstechnik) verwendet, die ein Kommunikationsprotokoll im Quittungsbetrieb vorsieht, welches erfordert, daß jede übertragene Mitteilung (die typischerweise eine Vielzahl von Datenbytes enthält) von der Empfängerstation bestätigt wird, bevor eine nachfolgende Mitteilung gesendet wird. Während diese herkömmlichen Kommunikationsprotokolle für den Quittungsbetrieb ein akzeptables Niveau der Datensicherheit 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 Alarminformationen 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 Millisekunden sein kann, was zu einem beträchtlichem Ausmaß an Leerlaufzeit der Kommunikationsverbindung führt, während der die sendende Station auf die Bestätigung für jede gesendete Mitteilung wartet. Zusätzlich kann das Senden einer großen Menge von Informationen (z. B. von einer lokalen Workstation, die von einem Benutzer bedient wird, zu einer entfernt gelegenen Workstation) für den Benutzer, der die Informationen anfordert, sichtlich oder sogar unbrauchbar langsam sein. In jedem Fall führt die ineffiziente Verwendung der Satellitenkommunikationverbindung zu inakzeptabel hohen Kosten pro übertragener Dateneinheit.
- Zusätzlich zur Verwendung eines Kommunikationsprotokolles mit niedriger Geschwindigkeit im Quittungsbetrieb, um eine zuverlässige Kommunikation über eine langsame Kommunikationsverbindung 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. Beispielsweise enthalten konventionelle Prozeßsteuersysteme typischerweise Alarmdienste, bei welchen Alarme und Alarmmitteilungen an Alarmabonnenten gesendet werden, die den Empfang des Alarms bestätigen. Wenn somit Alarmmitteilungen durch die langsame Kommunikationsverbindung unter Verwendung eines Kommunikationsprotokolles 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 Kommunikationsverbindung gesendet werden, tatsächlich zweimal bestätigt (d. h. einmal durch das langsame Kommunikationsprotokoll im Quittungsbetrieb und einmal auf Anwendungsebene). Dieses redundante Bestätigen von Alarmmitteilungen auf Anwendungsebene kann die Zeiteffizienz der Alarmkommunikation über die langsame Kommunikationsverbindung beträchtlich verringern.
-
US 4,839,891 beschreibt ein Kommunikationssystem zum Austausch von Daten zwischen mehreren Datenendgeräten, wobei das sendende Datenendgerät mehrere Warteschlangen umfasst. Eine dieser Warteschlangen ist dazu geeignet, Datenpakete, die zur Übertragung bereit stehen, zu speichern. Eine weitere, zweite Warteschlange nimmt gesendete Nachrichten auf, deren Empfang noch nicht quittiert wurde. Datenpakete aus der ersten Warteschlange werden nur so lange gesendet und in die zweite Warteschlange aufgenommen, bis eine Maximalzahl von ausstehenden Datenpaketen erreicht ist. Danach wird gewartet, bis entsprechenden Quittierungen beim Datenendgerät eingehen. Quittierte Datenpakete werden aus der zweiten Warteschlange entfernt. Um die Effizienz dieser Übertragungstechnik zu erhöhen, wird hierbei vorgeschlagen, die gesendeten Datenpakete mit Sequenznummern zu versehen, so dass eine Quittierung der Datenpakete in einer Reihenfolge erfolgen kann, die unabhängig von der Sendereihenfolge ist, wobei jedes Datenpaket einzeln quittiert werden muss. Dieser Vorgang ist sehr aufwändig. -
US 5,168,497 beschreibt ein Verfahren zur Paketübertragung. Insbesondere richtet sich dieses Dokument auf eine Verbesserung des HDLC-(High Level Data Link Control)Verfahrens. Die ses Verfahren, das in der zweiten Schicht des 7-schichtigen ISO-/OSI-Schichtmodells einzuordnen ist, unterstützt in einem verbindungsorientierten Modus so genannte Sliding-Window-Protokolle, die bei einem Paketaustausch zwischen Sender und Empfänger das Überfluten des Empfängers mit Datenpaketen verhindern. Das angewandte Verfahren entspricht im Wesentlichen dem des DokumentesUS 4,839,891 . - Aufgabe der vorliegenden Erfindung ist es, eine Kommunikationstechnik aufzuzeigen, bei der die vorstehend beschriebenen Nachteile der herkömmlichen Kommunikationstechniken nicht auftreten.
- Die Lösung der Aufgabe ergibt sich aus den Hauptpatentansprüchen 1, 15, 27, 38, 41 und 49. Unteransprüche beziehen sich auf bevorzugte Ausführungsformen der Erfindung. Dabei sind auch andere Kombinationen von Merkmalen als in den Ansprüchen beansprucht möglich.
- Es wird eine Kommunikationstechnik geschaffen, die die effiziente Datenübertragung über eine langsame Kommunikationsverbindung (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 Leerlaufzeit der Kommunikationsverbindung durch die Verwendung von verzögerter Bestätigung von Mitteilungspaketen, um die Kommunikationsverbindung zeitweise mit mehreren Mitteilungen dicht zu packen, bevor Bestätigungen einer dieser Mitteilungen erhalten 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 Mitteilungen bzw. Nachrichten innerhalb der Mitteilungspakete erforderlich sind, sondern anstelle dessen Bestätigungen für nur einen Teil der Mitteilungen innerhalb des Pakets angefordert werden, und zwar auf der Grundlage, daß eine Bestätigung einer Mitteilung implizit die vor dieser Mitteilung gesendeten Mitteilungen bestätigt. Ein Bestätigungsverarbeitungsabschnitt der Kommunikationstechnik verarbeitet Bestätigungen, die von dem anderen Ende der Kommunikationsverbindung empfangen 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 Kommunikationstechnik redundante Mitteilungen, um die Gesamtzahl von Mitteilungen, die über die Verbindung zu einem Empfängersystem gesendet werden, zu minimieren.
- In einer Ausführungsform speichert das Sendersystem zu übertragende Mitteilungen in einer Warteschlange von anstehenden Mitteilungen und wendet ein dynamisches Fenster an der Mitteilungswarteschlange an, um ein Mitteilungspaket zu definieren, das über die langsame Kommunikationsverbindung zu senden ist. Die sendende Station fordert eine Bestätigung für mindestens 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 Mitteilungen werden vorübergehend als nicht bestätigte Mitteilungen in einer Neuübertragungswarteschlange gespeichert, bis die übertragenen Mitteilungen bestätigt sind oder bis eine Zeitablaufperiode, 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 Mitteilungen, die zu dieser Bestätigung gehören, aus der Neuübertragungswarteschlange. Jede Bestätigung arbeitet typischerweise so, daß sie eine Vielzahl von Mitteilungen bestätigt. Wenn andererseits keine rechtzeitige Bestätigung erhalten wird, sendet die übertragende Station alle Mitteilungen, deren Zeit abgelaufen ist, erneut. Als Resultat kann die vorstehend 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 Bestätigungen von Mitteilungspaketen auf einen späteren Zeitpunkt verschoben werden, während zusätzliche Mitteilungen über die Verbindung gesendet werden.
- Ein Verfahren gemäß einer Anordnung ermöglicht das Übertragen einer Vielzahl von Mitteilungen über eine Kommunikationsverbindung, die eine Übertragungs-Umlaufzeitverzögerung haben. Dieses Verfahren schafft eine erste Warteschlange zum Speichern von Mitteilungen, die über die Kommunikationsverbindung zu senden sind, und eine zweite Warteschlange zum Speichern von nicht bestätigten Mitteilungen, die in die Kommunikationsverbindung gesendet wurden. Das Verfahren verwendet ein Fenster, dessen unteres Ende mit einer Position innerhalb 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 zweiten 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 Mitteilungen, 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 gesendet werden, die kleiner ist als die Übertragungs-Umlaufzeitverzögerung, hängt die gesendete eine oder die gesendeten mehreren Mitteilungen an die zweite Warteschlange an und bestätigt mindestens einige der gesendeten Mitteilungen, nachdem die Mitteilungen in dem Mitteilungspaket gesendet wurden. Das Verfahren kann ferner die Schritte des Entfernens von gesendeten Mitteilungen aus der zweiten Warteschlange und des erneuten Übertragens von Mitteilungen, deren Zeit abgelaufen ist, enthalten.
- Gemäß einer weiteren Anordnung enthält ein System zum Senden einer Vielzahl von Mitteilungen über eine Kommunikationsverbindung einen ersten Datenserver, der eine erste Warteschlange hat, die über die Kommunikationsverbindung zu sendende Mitteilungen speichert, und eine zweite Warteschlange, die nicht bestätigte Mitteilungen speichert, die in die Kommunikationsverbindung gesendet wurden. Der erste Datenserver kann ferner eine erste Routine enthalten, die eine Gruppe von Mitteilungen, die in der ersten Warteschlange gespeichert sind, in die Kommunikationsverbindung sendet, und zwar basierend 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 ge-sendeten Gruppe von Mitteilungen gehörige Bestätigungen verarbeitet, um bestätigte Mitteilungen aus der zweiten Warteschlange zu entfernen.
- Das System kann ferner einen zweiten Datenserver enthalten, der mit dem ersten Datenserver über die Kommunikationsverbindung in Kommunikation steht. Der zweite Datenserver kann eine vierte Routine enthalten, der die gesendete Gruppe von Mitteilungen über die Kommunikationsverbindung empfängt und der Bestätigungen für eine oder mehrere der empfangenen Mitteilungen der gesendeten Mitteilungsgruppe an den ersten Datenserver über die Kommunikationsverbindung sendet.
- Gemäß einer weiteren Anordnung enthält ein Verfahren zum Kommunizieren von Anwendungsinformationen in einem Prozeßsteuersystem, das einen ersten Abschnitt hat, der in Kommunikation mit einem zweiten Abschnitt über eine Kommunikationsverbindung steht, die Schritte des Herstellens eines Anwendungsclientprozesses in dem ersten Abschnitt des Prozeßsteuersystems und des Einrichtens eines Anwendungsserverprozesses in dem zweiten Abschnitt des Prozeßsteuersystems. Das Verfahren kann eine erste Anwendungsmitteilung von dem Anwendungsserverprozeß zu dem Anwendungsclientprozeß senden, welche die periodisch zu dem Clientprozeß zu sendenden Mitteilungen bestimmt. Das Verfahren kann ferner periodisch Anwendungsaktualisierungsmitteilungen an den Clientprozeß senden sowie eine zweite Anwendungsmitteilung von dem Anwendungsclientprozeß zu dem Anwendungsserverprozeß, welche den Anwendungsserverprozeß in die Lage versetzt, Mitteilungen an den Anwendungsclientprozeß zu senden. In einer Ausführungsform können der Anwendungsclientprozeß und der Anwendungsserverprozeß mit der Verarbeitung von Alarminformationen in Bezug stehen und ein Teil der Alarminformationen kann vor der Übertragung der Alarminformation mit Priorität ausgestattet werden.
- Nachfolgend werden Ausführungsformen unter Bezug auf die Zeichnung näher erläutert.
-
1 ist ein schematisches Blockdiagramm, das ein lokales System zeigt, das mit einem entfernten System über eine langsame Kommunikationsverbindung unter Verwendung einer Kommunikationstechnik mit verzögerter Bestätigung kommuniziert; -
2 ist ein beispielhaftes Blockdiagramm, das eine Mitteilungswarteschlange und eine Neuübertragungswarteschlange zeigt, die in der Kommunikationstechnik mit verzögerter Bestätigung aus1 verwendet werden können; -
3 ist ein beispielhaftes Flußdiagramm, das die Bewegung von Mitteilungen zwischen der anstehenden Mitteilungswarteschlange und der Neuübertragungswarteschlange aus2 zeigt; -
4 ist ein beispielhaftes Flußdiagramm, das ein Verfahren darstellt, mit dem ein Mitteilungspaket an das entfernte System gesendet wird, um die Datenkommunikation in dem System von3 durchzuführen; -
5 ist ein beispielhaftes Blockdiagramm, das ein mögliches Datenformat für Mitteilungen zeigt, die zwischen dem lokalen und dem entfernten System in1 übertragen werden; -
6 ist ein schematisches Blockdiagramm, das ein Prozeßsteuersystem zeigt, das einen lokalen Abschnitt hat, der mit einem entfernten Abschnitt über eine langsame Kommunikationsverbindung unter Verwendung der Kommunikationstechnik mit verzögerter Bestätigung aus1 kommuniziert; -
7 ist ein schematisches Blockdiagramm, das im Detail ein Beispiel der Art und Weise zeigt, in der Datenserver konfiguriert werden können, um über die langsame Kommunikationsverbindung aus6 gesendete Mitteilungen zu konsolidieren; -
8 ist ein schematisches Blockdiagramm, das allgemein die Softwaremodule darstellt, die transparente Kommunikation zwischen dem lokalen und dem entfernten Abschnitt des Prozeßsteuersystems und6 ermöglichen; -
9 ist ein schematisches Blockdiagramm, das eine Client/Serveralarmverwaltungsanwendung zeigt, welche die Kommunikationstechnik mit verzögerter Bestätigung aus1 und6 verwendet. - Während eine Technik zum Übertragen von Informationen über eine langsame Kommunikationsverbindung im Detail in Zusammenhang mit einer Satellitenkommunikationsverbindung beschrieben wird, die eine Übertragungszeitverzögerung hat, sei angemerkt, daß die hier beschriebene Kommunikationstechnik vorteilhafterweise 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 Systeme, Wide Area Networks, wie etwa das Internet etc., und Anwendungen mit höherem Niveau, wie etwa Prozeßsteuerungsberichterstattung und Alarmierung, welche über die Kommunikati onssysteme gelegt sind. Während ferner die Verwendung in einem Prozeßsteuersystem hier beschrieben wird, können die hierin beschriebenen Kommunikationstechniken vorteilhaft in jedem anderen Kommunikationssystem verwendet werden, das Daten ü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 Kommunikationsverbindungen 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 Kommunikationstechniken das Vorhandensein von nur einer ausstehenden oder nicht bestätigten Mitteilung zu einem gegebenen Zeitpunkt. 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 Kommunikationstechniken zu einem beträchtlichen Ausmaß an Leerlaufzeit auf langsamen Kommunikationsverbindungen, was zu einem niedrigen 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 redundante 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 Kommunikationsverbindung. Allgemein ausgedrückt minimiert die Kommunikationstechnik 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 erforderlich sind, sondern anstelle dessen Bestätigungen für nur einige der Mitteilungen innerhalb des Pakets angefordert werden, und zwar davon ausgehend, daß eine Bestätigung für eine Mitteilung implizit die vor dieser Mitteilung gesendeten Mitteilungen bestätigt. Ein Bestätigungsverarbeitungsabschnitt der Kommunikationstechnik verarbeitet Bestätigungen, die von dem anderen Ende der Kommunikationsverbindung empfangen werden und den übertragenen Mitteilungspaketen entsprechen und verfolgt mit, welche Mitteilungen bis zum Ende einer Zeitablaufperiode, 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ängersystem zu senden sind.
-
1 ist ein beispielhaftes schematisches Blockdiagramm, das ein lokales System12 zeigt, das mit einem entfernten System14 über eine langsame Kommunikationsverbindung unter Verwendung von einer Kommunikationstechnik mit verzögerter Bestätigung kommuniziert, die nachstehend im Detail beschrieben wird. Als Beispiel ist die langsame Kommunikationsverbindung16 eine drahtlose Verbindung, die eine Satellitenrelaisstation18 und Aufwärtsstrecke-/Abwärtsstrecke-Kommunikationskanäle20 und22 verwendet, um einen Vollduplexverkehr zwischen den Systemen12 und14 zu ermöglichen. Das lokale System12 enthält eine Benutzerschnittstelle24 , die eine Workstation oder jeder andere Typ von Computer oder Prozessor sein kann, welche in einem Kommunikationsnetzwerk mit einem lokalen Datenserver26 über einen Datenbus28 auf Systemebene verbunden ist. Der Datenbus28 auf Systemebene kann ein Ethernetdatenbus oder jeder andere Datenbus sein, der zur Übertragung von Daten geeignet ist. Der lokale Server26 enthält eine Antenne30 , welche die Kommunikation über den Aufwärtsstrecke-/Abwärtsstrecke-Kommunikationskanal20 ermöglicht. Entsprechend enthält das entfernte System14 eine entfernte Benutzerschnittstelle32 , die mit einem entfernten Datenserver34 über einen Datenbus36 auf der Ebene des entfernten Systems verbunden ist. Der entfernte Server34 enthält eine Antenne38 , die die Kommunikation auf dem Aufwärtsstrecke-/Abwärtsstrecke-Kommunikationskanal22 ermöglicht. Der lokale Server26 und der entfernte Server34 enthalten jeweils Softwareroutinen40 und42 (die auf jeweiligen computerlesbaren Speichern43 und44 gespeichert sein können), um die hier beschriebene Kommunikationstechnik auszuführen. - Es ist allgemein bekannt, daß aufgrund des Umlaufbahnabstandes des Satelliten
18 die Übertragungs-Umlaufzeitverzögerung über die Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanäle20 und22 annähernd mehrere hundert Millisekunden betragen kann. Bei herkömmlichen Kommunikationstechniken im Quittungs betrieb ist die Kommunikationsverbindung während der Übertragungs-Umlaufzeitverzögerung im Leerlauf, da jede Mitteilung bestätigt werden muß, bevor eine nachfolgende Mitteilung gesendet wird. Da eine Leerlaufzeit von mehreren hundert Millisekunden typischerweise wesentlich länger ist als die Mitteilungsdauer (bei der es sich um zehntel Millisekunden handeln kann), ist die Zeiteffizienz und der Datendurchsatz der vorstehend angeführten herkömmlichen Kommunikationstechnik sehr niedrig und die Kosten pro Dateneinheit, die über die Verbindung übertragen werden, sind relativ hoch. Bei der hier beschriebenen Kommunikationstechnik werden die Mitteilungen jedoch in Bündeln bzw. Paketen bestätigt, die typischerweise eine Vielzahl von Mitteilungen enthalten, und die Bestätigungen für die Mitteilungspakete können über eine Zeitdauer verzögert sein, die größer ist als die Umlaufzeitverzögerung der langsamen Verbindung16 . Auf diese Weise kann die Kommunikationstechnik die Auslastung der Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanäle20 und22 mit Mitteilungen in zeitlicher Hinsicht verdichten, um die Leerlaufzeit der langsamen Kommunikationsverbindung16 zu reduzieren oder praktisch zu eliminieren. - Zusätzlich verbessert die hier beschriebene Kommunikationstechnik ferner die Nutzung der langsamen Kommunikationsverbindung
16 durch Erkennen und Eliminieren der Übertragung von redundanten Mitteilungen. Beispielsweise können die Server26 und34 als Mitteilungsmuliplexer/Demultiplexer arbeiten, so daß nur eine Kopie einer Mitteilung über eine langsame Kommunikationsverbindung16 tatsächlich übertragen wird, obgleich mehrere Anforderungen für diese Mitteilung in einem der Systeme12 und14 vorliegen. -
2 ist ein beispielhaftes Blockdiagramm, das eine anstehende Mitteilungswarteschlange50 und eine Neuübertragungswarteschlange52 zeigt, die von den Kommunikationsroutinen40 und42 mit verzögerter Bestätigung aus1 verwendet werden können. Die lokale Benutzerschnittstelle24 (1 ) oder jede andere Prozeßsteuereinrichtung kann eine oder mehrere Anwendungen54 bis58 ausführen, von welchen eine beispielsweise eine Alarmverwaltungsanwendung sein kann, die Mitteilungen asynchron über den Systemdatenbus28 zu dem lokalen Server26 zur Weiterleitung an das entfernte System14 sendet. Der lokale Server26 hängt die Mitteilungen gemäß der Eingangsreihenfolge von den Anwendungen54 bis58 an die anstehende Mitteilungswarteschlange50 an. Jede der Mitteilungen wird in der anstehenden Mitteilungswarteschlange50 zusammen mit einer Sequenznummer gespeichert, welche die Reihenfolge kennzeichnet, in der die Mitteilung in der Warteschlange50 empfangen wurde. Beispielsweise kann ein Sechzehnbitzähler jedes Mal dann um einen Schritt erhöht werden, wenn eine neue Mitteilung von dem lokalen Server26 gesendet wird, und der Zählwert kann mit der empfangenen Mitteilung als deren Sequenznummer verbunden werden. Während2 einen Abschnitt der anstehenden Mitteilungswarteschlange50 zeigt, welcher Mitteilungen enthält, die Sequenznummern100 bis114 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. - Die Softwareroutine
40 in dem lokalen Server26 enthält eine Mitteilungsübertragungsroutine, die Mitteilungen von der an stehenden Mitteilungswarteschlange50 entsprechend ihren Sequenznummern entfernt und die Mitteilungen zu einer Übertragungseinrichtung59 weiterleitet, die die Mitteilungen über den Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanal20 unter Verwendung jedes gewünschten oder bekannten Protokolles überträgt. Die Übertragungsroutine fügt jede Mitteilung zusammen mit einem Zeitstempel unmittelbar nach dem Senden der Mitteilung (einschließlich des Zeitstempels) in die langsame Kommunikationsverbindung16 an die Neuübertragungswarteschlange52 an. Der Zeitstempel, der zu jeder gesendeten Mitteilung in der Neuübertragungswarteschlange52 gehört, zeigt die Zeit an, zu der die Mitteilung ursprünglich in die langsame Kommunikationsverbindung16 gesendet wurde. Wie weiter unten im Detail erläutert wird, werden übertragene Mitteilungen in der Neuübertragungswarteschlange52 als ausstehende oder nicht bestätigte Mitteilungen gespeichert, bis sie von dem entfernten System14 bestätigt werden oder bis eine Zeitablaufperiode ausläuft, wenn der lokale Server26 nicht zeitgerecht von dem entfernten Server34 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übertragungswarteschlange52 eine Anzahl von ausstehenden Mitteilungen, die ausreicht, um die langsame Kommunikationsverbindung16 in zeitlicher Hinsicht dicht zu packen. Wenn beispielsweise jede Mitteilung30 Millisekunden (ms) Übertragungszeit benötigt und die Umlaufzeitverzögerung der Übertragung etwa 300 ms beträgt, kann die Neuübertragungswarteschlange52 so konfiguriert werden, daß sie 10 oder mehr ausstehende Mitteilungen enthält. Obgleich die Neuübertragungswarteschlange52 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 Obergrenze bestimmen. - Der lokale Server
26 bestimmt ein Mitteilungspaket, das über die langsame Kommunikationsverbindung16 zu senden ist, unter Verwendung eines dynamischen Fensters60 , das eine untere Sequenznummer62 und eine obere Sequenznummer64 hat, die auf einer maximal zulässigen Anzahl von ausstehenden Mitteilungen66 und der Anzahl von gegenwärtig ausstehenden Mitteilungen68 basieren. Allgemein ist die Größe des Fensters (d. h. die Anzahl der Mitteilungen in dem Paket) in umgekehrter Beziehung zu der Anzahl der gegenwärtig ausstehenden Mitteilungen68 , so daß die von der anstehenden Mitteilungswarteschlange50 genommenen Mitteilungspakete eine Anzahl von Mitteilungen enthalten, die gleich der Anzahl der ausstehenden Mitteilungen ist, die zu der Neuübertragungswarteschlange52 hinzugefügt werden kann. Wenn beispielsweise die maximale Anzahl der ausstehenden Mitteilungen66 zehn ist, ist die Anzahl der gegenwärtig ausstehenden Mitteilungen68 null und die nächste zu sendende Mitteilung (d. h. die Mitteilung, die der unteren Sequenznummer62 entspricht), hat eine Sequenznummer101 , womit die obere Sequenznummer110 ist, so daß ein Mitteilungspaket erstellt wird, das zehn Mitteilungen enthält, die den Sequenznummern101 bis110 entsprechen. - Auf diese Weise speichert der lokale Server
26 (1 ) die zu übertragenden Mitteilungen in der anstehenden Mitteilungswarteschlange50 (2 ) und wendet das dynamische Fenster60 an die anstehende Mitteilungswarteschlange50 an, um ein über die langsame Kommunikationsverbindung16 zu sendendes Mitteilungspaket zu definieren. Der lokale Server26 fordert eine Bestätigung für mindestens eine Mitteilung (z. B. die zuletzt gesendete Mitteilung) innerhalb des Pakets an, sie fordert jedoch nicht eine Bestätigung für jede Mitteilung innerhalb des Pakets, sofern das Mitteilungspaket nicht nur eine Mitteilung enthält. Übertragene Mitteilungen werden vorübergehend als ausstehende Mitteilungen in der Neuübertragungswarteschlange52 gespeichert, bis sie bestätigt werden oder bis eine mit der Mitteilung verbundene Zeitablaufperiode verstrichen ist. Wenn der lokale Server26 zeitgerecht eine Bestätigung ansprechend auf eine Bestätigungsanforderung erhält, entfernt der lokale Server26 alle ausstehenden Mitteilungen, die zu dieser Bestätigung gehören, aus der Neuübertragungswarteschlange52 . Dabei ist wichtig, daß, wie weiter unten im Detail beschrieben wird, jede Bestätigung typischerweise dazu dient, eine Vielzahl von Mitteilungen zu bestätigen. Wenn andererseits eine zeitgerechte Bestätigung nach Verstreichen der Zeitablaufperiode, die zu einer Mitteilung oder einem Mitteilungspaket gehört, nicht erhalten wird, sendet der lokale Server26 alle Mitteilungen, deren Zeitablaufperiode verstrichen ist, erneut. Somit kann die hier beschriebene Kommunikationstechnik die Leerlaufzeit der Kommunikationsverbindung, die bei den vorstehend angeführten Techniken 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 zugelassen wird, daß die Bestätigungen für ausstehende Mitteilungen auf einen späteren Zeitpunkt verschoben werden (d. h. bis andere Mitteilungen in die Kommunikationsverbindung gesendet wurden). -
3 ist ein beispielhaftes Flußdiagramm, das im Detail die Bewegung von Mitteilungen zwischen der anstehenden Mitteilungswarteschlange50 und der Neuübertragungswarteschlange52 aus2 zeigt. Der Fluß von Mitteilungen wird im wesentlichen von drei Prozessen oder ”Threads” gesteuert. Ein Sendeprozeß100 hängt eine Mitteilung, die von einer oder mehreren der Anwendungen54 bis58 erhalten wurde, die beispielsweise auf der Benutzeroberfläche24 des lokalen Systems12 laufen, an die Warteschlange50 der anhängigen bzw. anstehenden Mitteilungen an. Der Sendeprozeß100 hängt Mitteilungen zusammen mit einer Sequenznummer wie vorstehend beschrieben an die anstehende Mitteilungswarteschlange50 an. Die Verfügbarkeit von Speicher in dem lokalen System12 kann in der Praxis die Anzahl der Mitteilungen, die in der anstehenden Mitteilungswarteschlange50 zu einem bestimmten Zeitpunkt enthalten sind, beschränken. Um diese Beschränkungen einzuhalten, kann der Sendeprozeß100 das Anhängen von Mitteilungen an die anstehende Mitteilungswarteschlange50 unterbrechen, wenn die Speichergrenze erreicht ist oder nahezu erreicht ist. Der Sendeprozeß100 kann ferner einem Benutzer über die Benutzerschnittstelle24 die Identität einer Anwendung mitteilen, die eine außergewöhnlich hohe Anzahl von Mitteilungen erzeugt, so daß Korrekturen ausgeführt werden können. - Ein Zeitgebungsprozeß
102 entfernt periodisch ein Mitteilungspaket, das von dem dynamischen Fenster60 (2 ) definiert ist, aus der anstehenden Mitteilungswarteschlange50 und sendet die Mitteilungen innerhalb des Pakets zusammen mit Zeitstempeln in die langsame Kommunikationsverbindung16 (d. h. sie werden gesendet, jedoch nicht notwendigerweise von dem entfernten Server34 empfangen). Jede der Mitteilungen in dem Mitteilungspaket (einschließlich des Zeitstempels) wird an die Neuübertragungswarteschlange52 angehängt. Die Neuübertragungswarteschlange52 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übertragungswarteschlange52 nach Mitteilungen, deren Zeit abgelaufen 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 Kommunikationsverbindung etwa 300 ms beträgt, dann kann die vorbestimmte Zeitablaufverzögerung als etwa 600 ms gewählt werden. Eine Zeitablaufverzögerung von 600 ms ermöglicht eine volle Umlaufzeitverzögerung plus zusätzliche Zeit für die Verarbeitung etc., die in den Servern26 und34 und im Satelliten18 auftritt. Wenn der Zeitgeberprozeß102 eine Mitteilung erkennt, bei der die Summe des Mitteilungszeitstempelwertes und der vorbestimmten Zeitablaufverzögerung kleiner ist als die aktuelle Zeit, entfernt der Zeitgeberprozeß102 die Mitteilung aus der Neuübertragungswarteschlange52 , sendet die Mitteilung erneut durch die langsame Kommunikationsverbindung16 und hängt die Mitteilung wieder an die Neuübertragungswarteschlange52 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 Verbindung16 zu verhindern. - Während der Initialisierung der Systeme
12 und14 (1 ) kann der Zeitgeberprozeß verwendet werden, um automatisch eine geeignete Zeitablaufverzögerungsperiode unter Verwendung einer tatsächlichen Messung der Umlaufzeitverzögerung für die Übertragung über die langsame Kommunikationsverbindung16 zu erstellen. Beispielsweise kann der lokale Server26 eine Synchronisierungsanfrage über die Verbindung16 an den entfernten Server34 senden. Ansprechend darauf sendet der entfernte Server34 eine Synchronisierungsantwort über die Verbindung16 an den lokalen Server26 . Bei Erhalt der Synchronisierungsantwort kann der lokale Server26 die Zeitdifferenz zwischen der Zeit, zu der die Synchronisierungsanfrage gesendet wurde, und der Zeit, zu der die Synchronisierungsantwort empfangen wurde, messen, um eine anfängliche gemessene Umlaufzeitverzögerung festzustellen. Da zusätzlich der lokale Server26 alle übertragenen Mitteilungen und alle empfangenen Bestätigungen mit Zeitstempeln versieht, kann die anfänglich gemessene Umlaufzeitverzögerung für die Übertragung auf ständiger Basis durch Messen der Unterschiede zwischen der Zeit, zu der die Bestätigungen angefordert wurden (d. h. von dem lokalen Server26 in die Verbindung16 gesendet wurden) und der Zeit, zu der die entsprechenden Bestätigungen für diese Anforderungen von dem lokalen Server26 empfangen wurden, aktualisieren. - Ein Empfangsprozeß
104 empfängt ausdrückliche Bestätigungen, die von dem entfernten Server34 ansprechend auf Bestätigungsanforderungen gesendet werden, die von dem Zeitgeberprozeß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übertragungswarteschlange52 zu entfernen. Der Empfangsprozeß104 kann ausdrückliche Bestätigungen von Mitteilungen 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übertragungswarteschlange52 zu entfernen, und alle Mitteilungen, die der ausdrücklich bestätigten Mitteilung vorausgehen, aus der Neuübertragungswarteschlange52 zu entfernen. Wenn zum Beispiel der lokale Server26 Bestätigungen für die fünfte und die zehnte Mitteilung in einem Mitteilungspaket, das zehn Mitteilungen enthält, anfordert, verursacht 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übertragungswarteschlange52 entfernt. Entsprechend entfernt dann, wenn die Bestätigung der zehnten Mitteilung empfangen wird, der Empfangsprozeß104 die sechste bis zehnte Mitteilung aus der Neuübertragungswarteschlange52 . In dem Fall, in dem der entfernte Server34 eine Mitteilung nicht empfängt (d. h. eine Sequenznummer übersprungen wird oder fehlt), sendet der entfernte Server34 automatisch eine Bestätigung über die letzte Mitteilung, die ordnungsgemäß empfangen wurde (unabhängig davon, ob eine Bestätigung von dem lokalen Server26 angefordert wurde oder nicht) an den lokalen Server26 . Zusätzlich sendet der entfernte Server34 keine Bestätigungen ansprechend auf den Empfang 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übertragungswarteschlange52 entfernt, verbleiben wie vorstehend beschrieben Mitteilungen, die nicht von dem entfernten Server34 empfangen wurden, in der Neuübertragungswarteschlange52 . Mit anderen Worten entfernt dann, wenn der lokale Server26 eine Bestätigung empfängt, die nicht angefordert wurde, der Empfangsprozeß104 nur diejenigen Mitteilungen aus der Übertragungswarteschlange52 , die in der Reihenfolge bzw. ordnungsgemäß empfangen wurden, und beläßt die Mitteilungen, die fehlen, in der Neuübertragungswarteschlange52 des lokalen Servers26 . Diese fehlenden Mitteilungen verbleiben in der Neuübertragungswarteschlange52 und werden erneut an den entfernten Server34 gesendet, wenn ihre Zeitablaufperiode verstrichen ist. Der entfernte Server34 kann die Sequenznummern der neu gesendeten Mitteilungen verwenden, um die neu gesendeten Mitteilungen ordnungsgemäß in die Reihenfolge der zuvor empfangenen Mitteilungen einzufügen. - Wenn bei dem vorstehend genannten Beispiel (d. h. ein Mitteilungspaket, 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 Mitteilung wird nicht empfangen), sendet der entfernte Server34 Bestätigungen für die fünfte und die sechste Mitteilung. Wenn der lokale Server26 die Bestätigung für die fünfte Mitteilung erhält, entfernt der Empfangsprozeß104 die erste bis fünfte Mitteilung aus der Neuübertragungswarteschlange52 . In ähnlicher Weise entfernt dann, wenn der lokale Server26 die Bestätigung für die sechste Mitteilung erhält, der Empfangsprozeß104 die sechste Mittei-lung aus der Neuübertragungswarteschlange52 und die siebte bis zehnte Mitteilung verbleiben in der Neuübertragungswarteschlange52 . Wenn nachfolgend die Zeitablaufperioden für die siebte bis zehnte Mitteilung verstrichen sind, werden die siebte bis zehnte Mitteilung erneut an den entfernten Server34 übertragen. - Aufgrund der Übertragungszeitverzögerung durch die langsame Kommunikationsverbindung
16 und/oder fehlende Mitteilungen (d. h. Mitteilungen, die vom entfernten Server34 nicht empfangen wurden), kann der lokale Server26 die Übertragung eines nachfolgenden Mitteilungspakets beginnen oder sogar vollenden, bevor eine der Bestätigungen oder alle Bestätigungen, die zu einem zuvor gesendeten Mitteilungspaket gehören, empfangen werden. Wenn man das vorstehend beschriebene Beispiel fortführt und ein nachfolgendes Mitteilungspaket, das eine elfte bis fünfzehnte Mitteilung enthält, in die Kommunikationsverbindung16 gesendet wird, enthält die Neuübertragungswarteschlange52 die achte bis zehnte Mitteilung, die zu dem vorherigen Mitteilungspaket gehören, und die elfte bis fünfzehnte Mitteilung, die zu dem nachfolgenden Mitteilungspaket gehören. Somit kann der entfernte Server34 die elfte bis fünfzehnte Mitteilung empfangen, bevor der entfernte Server34 die neu übertragene achte bis zehnte Mitteilung erhält. In diesem Fall kann der entfernte Server34 die Bestätigungen für die erste bis fünfzehnte Mitteilung nicht senden, bis die achte bis zehnte Mitteilung von dem entfernten Server34 empfangen wurde, was es dem lokalen Server26 erlaubt, die Regel des Entfernens von Mitteilungen aus der Neuübertragungswarteschlange52 zu befolgen, für welche ausdrückliche Bestätigungen empfangen wurden, und alle Mitteilungen zu entfernen, die Sequenznummern haben, die den ausdrücklich bestätigten Mitteilungen vorangehen. -
4 ist ein beispielhaftes Flußdiagramm, das ein Verfahren110 darstellt, durch welches ein Mitteilungspaket zu dem entfernten System14 (1 ) gesendet wird, um einen Abschnitt des Datenflusses von3 zu erfüllen. Das Verfahren110 kann beispielsweise durch die Routine40 in dem Datenserver26 umgesetzt werden. Im einzelnen zeigt4 im Detail, wie der Zeitgeberprozeß110 Mitteilungen von der anstehenden Mitteilungswarteschlange50 entfernen kann, Mitteilungen über die langsame Kommunikationsverbindung16 senden kann und gesendete/ausstehende Mitteilungen an die Neuübertragungswarteschlange52 anhängen kann. Ein Block120 aktualisiert die obere Sequenznummer64 des Fensters60 mit dem Resultat der gegenwärtigen unteren Sequenznummern62 des Fensters60 plus der Differenz zwischen der maximal zulässigen Anzahl von ausstehenden Mitteilungen66 und der gegenwärtigen Anzahl von ausstehenden Mitteilungen68 minus 1. Ein Block122 stellt fest, ob das dynamische Fenster60 anstehende Mitteilungen in der anstehenden Mitteilungswarteschlange50 enthält. Wenn keine anstehenden Mitteilungen vorhanden sind, hat das Verfahren110 das Senden des Mitteilungspakets abgeschlossen und wird wiederholt. Wenn anstehende Mitteilungen in dem dynamischen Fenster60 vorhanden sind, entfernt ein Block124 die Mitteilung, die zu der gegenwärtigen unteren Sequenznummer62 gehört, von der anstehenden Mitteilungswarteschlange50 . Ein Block126 stellt fest, ob die entfernte Mitteilung die letzte Mitteilung in der anstehenden Warteschlange50 ist, ein Block128 stellt fest, ob die entfernte Mitteilung die letzte Mitteilung in dem dynamischen Fenster60 ist, und ein Block130 bestimmt, ob die entfernte Mitteilung die letzte Mitteilung eines Unterpakets ist, das eine Anzahl von Mitteilungen hat, die beispielsweise der Hälfte der maximal zulässigen Anzahl von ausstehenden Mitteilungen66 entspricht. Wenn eine der Überprüfungen, die in den Blöcken126 –130 durchgeführt werden, positiv ist, sendet ein Block132 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öcken126 –130 durchgeführt werden, positiv ist, wird für die entfernte Mitteilung keine Bestätigung angefordert. Ein Block134 bringt dann einen Zeitstempel an der entfernten Mitteilung an und ein Block136 sendet die Mitteilung (einschließlich des Zeitstempels) in die Kommunikationsverbindung16 . Ein Block138 hängt die gesendeten Mitteilungen an der Neuübertragungswarteschlange52 an und ein Block140 erhöht die aktuelle untere Sequenznummer62 und leitet die Steuerung zurück zum Block122 , wodurch das Verfahren110 wiederholt wird. - Während die Blöcke
126 –130 wie vorstehend beschrieben verschiedene beispielhafte Bedingungen festlegen, unter welchen der. lokale Server26 die Bestätigung von Mitteilungen anfordern kann, können zusätzliche und/oder unterschiedliche Bedingungssätze verwendet werden. Beispielsweise kann der Block130 die Bestätigungen für einen Mitteilungssatz innerhalb eines Mitteilungspakets anfordern, beispielsweise für Teil- bzw. Subpakete von Mitteilungen, die eine Anzahl von Mitteilungen enthalten, die gleich einem Drittel, einem Viertel oder einem Achtel etc. der höchstzulässigen Anzahl von ausstehenden Mitteilungen66 ist. In jedem Fall werden die Bedingungen, unter welchen der lokale Server26 die Bestätigungen von Mitteilungen anfordert, so ausgewählt, daß weniger Bestätigungen als Mitteilungen über die langsame, Kommunikationsverbindung16 gesendet werden, und so, daß jede Bestätigung 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. -
5 ist ein beispielhaftes Blockdiagramm, das ein mögliches Datenformat200 für Mitteilungen, die zwischen dem lokalen und dem entfernten System12 und14 aus1 übertragen werden, zeigt. Das Datenformat enthält einen Internetprotokollabschnitt202 (IP), einen Mitteilungskopfabschnitt204 und einen Mitteilungsdatenabschnitt206 . Der IP-Abschnitt202 basiert vorzugsweise auf Standard-IP-Verkapselungstechniken, die nach dem Stand der Technik der Netzwerkkommunikation bekannt sind, wobei jedoch andere Verkapselungstechniken, wie etwa TCP, UDP etc. eingesetzt werden können. Der Mitteilungskopfabschnitt204 kann eine Vielzahl von Datenfeldern enthalten, wie z. B. ein Sequenznummernfeld, ein Anforderungsfeld für die Bestätigung, ein Zeitstempelinformationsfeld, Unversehrtheitskennzeichen, Quell- und Bestimmungsfelder, ein primäres/sekundäres Angabenfeld etc., die die verwendete Kommunikationstechnik auf niedrigem Nieveau unterstützen oder mit dieser in Beziehung stehen. Der Mitteilungsdatenabschnitt206 kann Daten enthalten, die eine Vielzahl von Informationen betreffen, welche auf die Anwendungen54 bis58 bezogen sind, die in den Systemen12 und14 (1 ) ausgeführt werden. Beispielsweise kann der Mitteilungsdatenabschnitt206 Echtzeitprozeßsteuerdaten enthalten, wie etwa Alarmdaten, Prozeßparameter, Einrichtungsinformationen, oder allgemein ausgedrückt jede Art von Informationen, die von dem Benutzer angefordert werden können oder die für den Benutzer nützlich sein können. Um die effiziente Nutzung der langsamen Kommunikationsverbindung16 weiter zu verbessern, kann der Datenab schnitt206 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-Abschnitt202 und dem Kopfabschnitt204 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 ausgewählt werden, daß der Datendurchsatz hinsichtlich des Störungsniveaus, das typischerweise in der langsamen Kommunikationsverbindung16 vorliegt, optimiert wird. Da beispielsweise lange Mitteilungen statistisch wahrscheinlicher zerstört werden als kurze Mitteilungen und da nur vollständige Mitteilungen durch den Kanal neu übertragen werden können, führt ein relativ hohes Niveau an Störungen in der langsamen Kommunikationsverbindung16 eher dazu, daß eine kürzere Mitteilungslä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 Durchsatzes, 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 fehlercodiert werden, um eine größere Zuverlässigkeit zu schaffen. - Die vorstehend beschriebene Kommunikationstechnik ermöglicht eine effizientere Datenübertragung durch eine langsame Kommunikationsverbindung, als dies mit herkömmlichen Kommunikationstechniken 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 Kommunikationsverbindung in zeitlicher Hinsicht dicht zu packen. Genauer ausgedrückt werden Mitteilungen über die Kommunikationsverbindung in Mitteilungspaketen gesendet, ohne daß für jede Mitteilung innerhalb des Pakets Bestätigungen erforderlich sind und ohne daß zwischen der Übertragung der Mitteilungspakete auf Bestätigungen gewartet wird. Die Kommunikationstechnik 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 langsame Verbindung nach dem ursprünglichen Senden der Pakete in die Verbindung liegen kann.
-
6 ist ein schematisches Blockdiagramm, das ein Prozeßsteuersystem250 zeigt, das einen lokalen Abschnitt251 hat, der mit einem entfernt angeordneten bzw. entfernten Abschnitt252 über die langsame Kommunikationsverbindung16 unter Verwendung der hier beschriebenen Kommunikationstechnik mit verzögerter Bestätigung kommuniziert. Der lokale Abschnitt251 enthält eine Benutzerschnittstelle254 , die eine Workstation sein kann, welche in einem Kommunikationsnetzwerk mit einem Datenserver256 über einen Datenbus258 auf Systemebene verbunden ist. Der Datenbus258 auf Systemebene kann ein Ethernet-Datenbus oder jeder andere Datenbus sein, der für die Übertragung von Daten geeignet ist. Der lokale Server256 ist mit einer Antenne260 verbunden, die die Kommunikation über den Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanal20 des Satelliten18 erlaubt. - Eine erste und eine zweite Steuereinrichtung
262 und264 sind in Kommunikation mit der Benutzerschnittstelle254 und dem Datenserver256 über den Datenbus258 auf Systemebene dargestellt. Selbstverständlich können andere Einrichtungen, wie etwa Datenspeichereinrichtungen, zusätzliche Benutzerschnittstellen etc. (nicht dargestellt) ebenfalls über den Datenbus auf Systemebene258 angeschlossen sein. Die zweite Steuereinrichtung264 kann beispielsweise ein verteiltes Steuersystem (DCS) sein und mit der Benutzerschnittstelle254 unter Verwendung eines offenen oder proprietären Kommunikationsprotokolles oder unter Verwendung jedes anderen Protokolles über den Datenbus258 auf Systemebene in Kommunikation stehen. Die zweite Steuereinrichtung264 kann beispielsweise Alarm- und Statusinformationen an die Benutzerschnittstelle254 senden und kann zusätzlich Benutzerbefehle bzw. Anforderungen von der Benutzerschnittstelle254 über den Datenbus258 auf Systemebene erhalten. Die zweite Steuereinrichtung264 kann ferner Steueralgorithmen zur Verwendung bei der Steuerung von Anlageneinrichtungen266 und268 enthalten, die auf eine beliebige herkömmliche oder andere gewünschte Weise mit der Steuereinrichtung18 verbunden sind. Die zweite Steuereinrichtung264 ist ferner in Kommunikationsverbindung mit intelligenten Anlageneinrichtungen270 bis274 über eine Eingabe/Ausgabeeinrichtung (I/O)276 dargestellt. Die Anlageneinrichtungen270 bis274 sind in einem Kommunikationsnetzwerk über einen Datenbus280 mit einem nicht proprietären Protokoll verbunden und stehen miteinander und der I/O-Einrichtung276 in Kommunikation, um eine oder mehrere Prozeßsteuerschleifen bzw. Regelkreise entweder in Verbindung mit oder unabhängig von der Steuereinrichtung264 auszuführen. Die intelligenten Anlageneinrichtungen270 bis274 können beispielsweise Fieldbus-Einrichtungen sein, und in diesem Fall verwendet der Datenbus280 mit einem nicht proprietären Protokoll das Fieldbus-Signalprotokoll. Andere Arten von Einrichtungen 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 Abschnitt252 Benutzerschnittstellen282 und284 , einen Datenserver286 , der mit einer Antenne287 verbunden ist, und eine Steuereinrichtung288 , die über einen Datenbus290 auf Systemebene in Kommunikationsverbindung stehen. Die Steuereinrichtung288 des entfernten Systems252 kann mit Anlageneinrichtungen und/oder intelligenten Anlageneinrichtungen294 und296 über eine I/O-Einrichtung292 auf Wunsch in Verbindung stehen. - Die Datenserver
256 und286 des lokalen und des entfernten Abschnitts251 und252 des Systems250 verwenden die vorstehend beschriebene Kommunikationstechnik mit verzögerter Bestätigung, um die langsame Kommunikationsverbindung16 effizienter zu nutzen, als dies mit herkömmlichen Kommunikationstechniken möglich war. Wenn beispielsweise der Benutzer über die Benutzerschnittstelle284 des entfernten Abschnitts252 Daten anfordert, wie z. B. Echtzeitdaten, die zu dem lokalen Abschnitt251 gehören, verwendet die Benutzerschnittstelle254 oder eine der Steuereinrichtungen262 und264 den Datenserver256 , um Mitteilungspakete über die langsame Kommunikationsverbindung16 zu dem entfernt angeordneten Datenserver286 unter Verwendung der hierin beschriebenen Kommunikationstechnik mit verzögerter Bestätigung zu senden. Zusätzlich zu der beträchtlichen Reduzierung der Kosten pro gesendeter Dateneinheit über die langsame Verbindung16 erlaubt die Verwendung der hier beschriebenen Kommunikationstechnik mit verzögerter Bestätigung den Austausch einer großen Informations menge zwischen lokalen und entfernten Abschnitten251 und252 deutlich rascher als dies mit Kommunikationstechniken nach dem Stand der Technik möglich war. Da Mitteilungen auch rascher über die langsame Verbindung16 transportiert werden können, kann der Benutzer an der Schnittstelle254 die Wechselwirkung mit dem entfernten Abschnitt252 über die lokale Benutzerschnittstelle254 so empfinden, als ob diese Einflußnahme über die Benutzerschnittstelle284 des entfernten Abschnitts252 erfolgte. - Wie vorstehend angeführt ermöglicht die hier beschriebene Kommunikationstechnik den Datenservern
256 und286 , Mitteilungen zu konsolidieren, so daß nur eine Kopie einer Mitteilung ansprechend auf mehrere Anforderungen der Mitteilung über die langsame Kommunikationsverbindung16 gesendet wird. Tatsächlich können die Datenserver256 und286 Mitteilungen multiplexbearbeiten, bevor sie über die langsame Kommunikationsverbindung16 gesendet werden, und können Mitteilungen, die von der langsamen Kommunikationsverbindung16 empfangen werden, demultiplexbearbeiten. Wenn beispielsweise die Steuereinrichtungen262 und264 des lokalen Abschnitts251 des Systems250 beide so konfiguriert wurden, daß sie eine periodische Anforderung von Informationen in einer der intelligenten Anlageneinrichtungen294 und296 des entfernten Abschnitts252 durchführen (d. h. diese Information abonnieren), speichert der Datenserver256 nur eine Kopie der angeforderten Information und verwendet eine Eins-zu-mehreren-Beziehung, um die Kopie der angeforderten Information an die Steuereinrichtung262 und264 zu verteilen. Da der Datenserver256 des lokalen Abschnitts251 eine Kopie der angeforderten Information enthält, sendet der Datenserver286 des entfernten Abschnitts252 nur eine Kopie der Information über die langsame Verbindung16 . Allgemein ausgedrückt können die Datenserver256 und286 beide so konfiguriert werden, daß sie eine Eins-zu-mehreren-Beziehung für Informationen aufstellen, die periodisch über die langsame Kommunikationsverbindung16 geleitet werden. Auf diese Weise können die Datenserver256 und286 eine einzelne Informationseinheit einmal über die langsame Kommunikationsverbindung16 leiten und mehrere Kopien der Information von einer Vielzahl von Benutzerschnittstellen, Steuereinrichtungen, Einrichtungen etc. empfangen bzw. an diese verteilen. -
7 ist ein schematisches Blockdiagramm, das im Detail ein Beispiel der Art erläutert, in der die Datenserver256 und286 aus6 konfiguriert werden können, um Mitteilungen zu konsolidieren, die über die langsame Kommunikationsverbindung16 übertragen werden. Wie7 zeigt, enthalten die Datenserver256 und286 Fernverbindungskommunikationsroutinen299 und300 , die Informationen über die jeweiligen Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanäle20 und22 senden und empfangen, Parameterlisten301 und302 , die Informationen enthalten, die zu den Steuereinrichtungen262 ,264 und288 und anderen Einrichtungen gehören, die zu dem lokalen und dem entfernten Abschnitt251 und252 gehören, und Netzwerkkommunikationsroutinen303 und304 , die Informationen über die jeweiligen Datenbusse258 und290 auf Systemebene senden und empfangen. - Allgemein ausgedrückt enthalten die Listen
301 und302 Daten, die zwischen dem lokalen und dem entfernten Abschnitt251 und252 über die langsame Verbindung16 gemeinsam genutzt oder übertragen werden, und können zusätzlich Informationen enthalten, die zwischen lokal angeordneten Steuereinrichtungen gemeinsam genutzt werden. Beispielsweise kann die Liste301 Informationen oder Daten enthalten, die von den Steuereinrichtungen262 und264 gemeinsam genutzt werden. Allgemein ausgedrückt erlauben die Fernverbindungskommunikationsroutinen299 und300 den Datenservern256 und286 den Austausch von Informationen, die in ihren jeweiligen Listen301 und302 enthalten sind, über die langsame Kommunikationsverbindung16 , und können beispielsweise die unter Bezug auf1 bis5 beschriebene Kommunikationstechnik verwenden, um diese Kommunikationsaufgabe zu lösen. Die Netzwerkkommunikationsroutinen303 und304 erlauben den Datenservern256 und286 , die Informationen in den Listen301 und302 mit Einrichtungen (die zu dem lokalen oder dem entfernten Abschnitt251 bzw.252 gehören) über die jeweiligen Datenbusse258 und290 auf Systemebene auszutauschen. - Die Listen
301 und302 können Funktionsblockinformationen und andere Steuerinformationen enthalten, die mit der Steuerstrategie der Steuereinrichtungen262 ,264 und288 verbunden sind, und können zusätzlich weitere Informationen enthalten, die zu dem lokalen Abschnitt251 oder dem entfernten Abschnitt252 gehören, die beispielsweise von dem Benutzer über eine oder mehrere der Benutzerschnittstellen254 ,282 und284 oder von den Steuereinrichtungen262 ,264 und288 innerhalb des Systems250 angefordert werden können. Die Informationen in den Listen301 und302 können gemäß einer Kennzeichenbeschreibung oder jeder anderen Beschreibung, die die einzelnen Informationsteile, die in den Listen301 und302 gespeichert sind, eindeutig kennzeichnet, organisiert oder indiziert sein. - Die Liste
301 enthält im einzelnen Informationen, die von dem lokalen Abschnitt251 benötigt werden und die von dem entfernten Abschnitt252 gesendet werden, und enthält ferner Informationen, die von dem entfernten Abschnitt252 benötigt werden und die von dem lokalen Abschnitt251 gesendet werden. In ähnlicher Weise enthält die Liste302 Informationen, die von dem entfernten Abschnitt252 benötigt werden und die von dem lokalen Abschnitt251 gesendet werden und enthält ebenso Informationen, die von dem lokalen Abschnitt251 benötigt werden und die von dem entfernten Abschnitt252 gesendet werden. Zusätzlich können die Listen301 und302 Informationen enthalten, die von Einrichtungen, die mit den jeweiligen Datenbussen258 und290 auf Systemebene verbunden sind, lokal gemeinsam genutzt werden. Beispielsweise können einige Informationen der Liste301 Informationen enthalten, die von den Steuereinrichtungen262 und264 gemeinsam genutzt werden, welche nicht notwendigerweise von dem lokalen und dem entfernten Abschnitt251 und252 gemeinsam genutzt werden. - Wenn beispielsweise die Steuereinrichtung
288 so konfiguriert ist, daß sie einen Funktionsblock verwendet, der eine Eingabe von der Anlageneinrichtung268 benötigt, ist die Steuereinrichtung264 so konfiguriert, daß sie periodisch das Ausgangssignal der Anlageneinrichtung268 für den Datenserver256 veröffentlicht. Gleichzeitig kann die Benutzerschnittstelle282 diese Daten von der Anlageneinrichtung268 zur Darstellung für einen Benutzer benötigen und demgemäß ist die Steuereinrichtung264 auch so konfiguriert, daß sie diese Daten für die Benutzerschnittstelle282 zugänglich macht. Die Netzwerkkommunikationsroutine303 empfängt periodisch die Ausgabedaten von der Anlageneinrichtung268 und aktualisiert eine Position in der Liste301 , welche die Ausgabedaten der Anlageneinrichtung268 enthält, wobei jedoch nur eine einzelne Kopie dieser Daten in der Liste301 gespeichert wird, obgleich sie für zwei unterschiedliche Einrichtungen (d. h. die Steuereinrichtung288 und die Benutzerschnittstelle282 an dem entfernten Netzwerk252 ) zugänglich gemacht beziehungsweise veröffentlicht wird. Die Fernkommunikationsroutine299 erkennt, daß die Liste301 jetzt aktualisierte Informationen enthält, die zu dem Ausgangssignal der Anlageneinrichtung268 gehören, und verwendet die hier beschriebene Kommunikationstechnik, um diese aktualisierten Informationen über die langsame Kommunikationsverbindung16 zu senden. Der entfernte Datenserver286 empfängt die aktualisierten Informationen, die zu der Anlageneinrichtung268 gehören, über den Aufwärtsstrecke-/Abwärtstrecke-Kommunikationskanal22 . Die Fernkommunikationsverbindungsroutine300 aktualisiert anschließend eine entsprechende Position der Liste302 mit der aktualisierten Information, die zu der Anlageneinrichtung268 gehört. Die Netzwerkkommunikationsroutine304 erkennt, daß sowohl die Steuereinrichtung288 als auch die Benutzerschnittstelle282 die zu der Anlageneinrichtung268 gehörende Information (die jetzt in der Liste302 gespeichert ist), periodisch auf dem Datenbus290 auf Systemebene veröffentlicht benötigen. Entsprechend veröffentlicht die Kommunikationsroutine304 die zu der Anlageneinrichtung268 gehörende Information (die in der Liste302 enthalten ist) für die Steuereinrichtung288 und ebenso die Benutzerschnittstelle282 , und zwar unabhängig davon, ob die Information aktualisiert wurde oder nicht. - Wie aus dem vorstehenden Beispiel ersichtlich ist, ermöglichen die Listen
301 und302 , daß die Kommunikationsprozesse299 und300 , die mit der langsamen Verbindung16 in Verbindung stehen, und die Kommunikationsprozesse303 und304 , die mit den Datenbussen258 und290 auf Systemebene in Verbindung stehen, relativ zueinander asynchron zu arbeiten. Beispielsweise kann die Netzwerkkommunikationsroutine303 Informationen erhalten (und die Liste301 aktualisieren), die von dem entfernten Abschnitt252 mit einer ersten periodischen Rate angefordert werden, und die Netzwerkkommunikationsroutine304 kann die angeforderten Informationen (die in der Liste302 enthalten sind) mit einer zweiten periodischen Rate veröffentlichen, die sich von der ersten periodischen Rate unterscheiden kann. Um ferner nicht erforderliche Kommunikationsvorgänge über die Verbindung16 zu eliminieren, können die Fernverbindungskommunikationsroutinen299 und300 nur dann Informationen in die jeweiligen Listen301 und302 über die Verbindung16 senden, wenn sich die Informationen geändert haben. Wenn somit die Netzwerkkommunikationsroutinen303 und304 die Informationen in den jeweiligen Listen301 und302 mit unveränderten Informationen periodisch auffrischen, senden die Fernverbindungskommunikationsroutinen299 und300 die unveränderten Informationen nicht über die langsame Kommunikationsverbindung16 , womit die Übertragung von redundanten Mitteilungen über die langsame Kommunikationsverbindung16 eliminiert wird. - Ein besonders interessanter Aspekt der vorstehend beschriebenen Datenserver
256 und286 gemäß vorstehender Beschreibung ist, daß die Listen301 und302 in Verbindung mit den Netzwerkkommunikationsroutinen303 und304 es den Datenservern256 und286 ermöglichen, Eins-zu-mehreren-Beziehungen für die in den Listen301 und302 gespeicherten Informationen zu schaffen. So kann jede Anzahl von Einrichtungen in dem entfernten System252 Informationen innerhalb der Liste302 abonnieren und die Netzwerkkommunikationsroutine304 muß nur mitverfolgen, welche Einrichtung welche Daten abonniert und sendet periodisch diese Daten an alle Einrichtungen aus der Liste302 , auch wenn diese Daten nur einmal pro Aktualisierung über die Verbindung16 gesendet werden. So kann die aktualisierte Information für die Anlageneinrichtung268 (die in der Liste302 enthalten ist) einmal über die langsame Kommunikationsverbindung16 gesendet werden und anschließend für mehrere Einrichtungen über die Netzwerkkommunikationsroutine304 veröffentlicht werden. -
8 ist ein schematisches Blockdiagramm, das allgemein Softwaremodule darstellt, die eine transparente Kommunikation zwischen dem lokalen und dem entfernten Abschnitt251 und252 des Prozeßsteuersystems250 aus6 ermöglichen. Die Benutzerschnittstelle254 des lokalen Abschnitts251 enthält eine Konfigurationsroutine320 , die die Konfigurationssteuerstrategieroutinen322 in der zweiten Steuereinrichtung264 konfiguriert und die spezifischen Kommunikationsobjekte324 in dem lokalen Datenserver256 und nach Erfordernis dem entfernten Datenserver286 erzeugt. Entsprechend enthält die Benutzerschnittstelle284 des entfernten Abschnitts252 eine Konfigurationsroutine326 , die spezifische Kommunikationsobjekte328 in dem entfernten Datenserver286 und dem lokalen Datenserver256 nach Erfordernis erzeugt. - Die Konfigurationsroutine
320 der lokalen Benutzerschnittstelle254 kann die zweite Steuereinrichtung264 so konfigurieren, daß sie periodisch Informationen, die zu den Einrichtungen des lokalen Abschnitts251 gehören, anfordert, und kann zusätzlich die zweite Steuereinrichtung264 so konfigurieren, daß sie periodisch Informationen von Einrichtungen, die zu dem entfernten Abschnitt252 gehören, über den lokalen Datenserver256 anfordert. Um dies durchzuführen, erkennt die Konfigurationsroutine320 , daß die Kommunikation dieser Daten über die langsame Verbindung16 stattfindet und richtet automatisch spezielle Kommunikationsobjekte324 in dem Datenserver256 ein, um es dem Datenserver256 zu ermöglichen, Anfragen nach Informationen von dem entfernten Abschnitt252 zu erkennen und diese Anfragen bzw. Anforderungen über die langsame Kommunikationsverbindung16 zu leiten, um die erforderlichen Informationen von dem Datenserver286 des entfernten Abschnitts252 periodisch abzuholen. - Allgemein ausgedrückt erlauben die speziellen Kommunikationsobjekte
324 und328 den Datenservern256 und286 , Informationsleitungsfunktionen zwischen dem lokalen und dem entfernten Standort so auszuführen, als ob sie mit demselben Datenbus verbunden wären, so daß aus der Perspektive des Benutzers an der Benutzerschnittstelle254 die Benutzerschnittstelle284 des entfernten Abschnitts252 direkt auf dem Datenbus258 auf Systemebene des lokalen Abschnitts251 zu kommunizieren scheint. Mit anderen Worten verwenden die Datenserver256 und286 die jeweiligen speziellen Kommunikationsobjekte324 und328 , um die Kommunikationsattribute der Benutzerschnittstellen254 und284 zu emulieren, so daß die Kommunikation zwischen dem lokalen und dem entfernten Abschnitt251 und252 des Systems250 für den Benutzer vollständig transparent ist. Zusätzlich erstreckt sich diese Transparenz auf die Systemkonfiguration, da die Konfigurationsroutinen320 und326 die speziellen Kommunikationsobjekte324 und328 automatisch erschaffen. Als Resultat kann der Benutzer das System250 konfigurieren, ohne daß er die Technik verstehen muß, die zu dem hier beschriebenen Kommunikationsprotokoll bzw. der langsamen Kommunikationsverbindung16 gehört. - Genauer ausgedrückt kann die Steuereinrichtung
264 so konfiguriert werden, daß sie Daten (die an das entfernte System252 zu liefern sind) an das spezielle Kommunikationsobjekt324 , das in dem Datenserver256 angeordnet ist, veröffentlicht. Das Kommunikationsobjekt324 arbeitet dann mit der Netzwerkkommunikationsroutine303 zusammen und veranlaßt den Datenserver324 , die Daten an einer bestimmten Position der Liste301 zu empfangen und anschließend zu speichern, die im voraus zum Empfang der Daten konfiguriert wurde. Wie vorstehend beschrieben kann anschließend die Fernverbindungskommunikationsroutine299 die in der Liste301 gespeicherten Daten über die langsame Verbindung16 unter Verwendung der hier beschriebenen Kommunikationstechnik übertragen. Wenn die Daten von dem entfernten Datenserver286 (in Mitteilungen oder Mitteilungspaketen) empfangen werden, werden sie an einer bestimmten Position der Liste302 gespeichert, die im voraus für den Empfang der Daten konfiguriert wurde. Das spezielle Kommunikationsobjekt328 ruft periodisch die gespeicherten Daten aus der speziellen Position der Liste302 ab und arbeitet mit der Netzwerkkommunikationsroutine304 zusammen, um die Daten auf dem entfernten Datenbus290 einer oder mehreren abonnierenden Einrichtungen zu veröffentlichen, welche beispielsweise die Steuereinrichtung288 , die Benutzerschnittstelle284 und/oder jede andere Einrichtung sein können, die zu dem entfernten System252 gehört. - Wie vorstehend beschrieben kann die Kommunikationstechnik mit verzögerter Bestätigung, die hier beschrieben wurde, innerhalb eines Prozeßsteuersystems verwendet werden, um eine transparente, effiziente Kommunikation (d. h. mit hohem Durchsatz und geringen Kosten pro gesendeter Dateneinheit) zwi schen einem lokal gelegenen Abschnitt und einem entfernt gelegenen Abschnitt eines Steuersystems zu ermöglichen, die über eine langsame Kommunikationsverbindung kommunizieren. Da zusätzlich die Kommunikationstechnik ein Kommunikationsprotokoll auf niedrigem Niveau ist, können andere Anwendungen, die innerhalb des lokalen oder des entfernten Abschnitts des Prozeßsteuersystems ablaufen, über dieses Kommunikationsprotokoll gelegt werden, um diese Anwendungen effizient über die langsame Kommunikationsverbindung kommunizieren 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 gefährliche Ereignisse, die in dem Prozeßsteuersystem auftreten, informiert und alarmiert. Bei herkömmlichen Prozeßsteuersystemen gibt die Benutzerschnittstelle typischerweise Alarmstatusinformationen in einer grafischen Anzeige an, die blinkende Elemente, eine akustische Ankündigung oder dergleichen enthalten kann, um den Benutzer rasch zu alarmieren und ein korrigierendes Eingreifen auszulösen. Bei diesen herkömmlichen 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 gesamten Bandbreite der langsamen Verbindung einnehmen. Diese Kommunikationsschwierigkeiten 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 (beispielsweise beim Einrichten einer Anlage).
- Ein Beispiel einer Alarmverwaltungsanwendung, die über die vorstehend beschriebene Kommunikationstechnik gelegt werden kann, um eine effiziente Kommunikation von Alarminformationen, die zu einem entfernten Abschnitt eines Prozeßsteuersystems gehören, zu einer Benutzerschnittstelle an einem lokalen Abschnitt des Prozeßsteuersystems zu ermöglichen, wird nachfolgend unter Bezug auf
9 im Detail erläutert. -
9 ist ein schematisches Blockdiagramm, das eine Client/Serveralarmverwaltungsanwendung darstellt, die beispielsweise die Kommunikationstechnik mit verzögerter Bestätigung aus1 und6 verwendet, um Alarminformationen von dem entfernten Abschnitt252 des Systems250 effizient an die Benutzerschnittstelle254 des lokalen Abschnitts251 des Systems250 zu kommunizieren. Die lokale Benutzerschnittstelle254 enthält einen Alarm-Clientprozeß330 , der ABONNIERE-Mitteilungen und FLUSSSTEUERUNG-Mitteilungen an einen Alarmserverprozeß332 in der entfernten Benutzerschnittstelle284 sendet. Entgegengesetzt sendet der Alarmserverprozeß232 periodisch 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 zusammen, um Alarminformationen über eine langsame Kommunikationsverbindung zu senden. Vorzugsweise überlagern der Alarm-Clientprozeß330 und der Alarm-Serverprozeß332 die vorste hend beschriebene Kommunikationstechnik mit verzögerter Bestätigung. Mit anderen Worten verwendet der Alarm-Serverprozeß332 die Kommunikationstechnik mit verzögerter Bestätigung als Kommunikationsprotokoll auf niedrigem Niveau, um Mitteilungspakete, die konsolidierte Alarminformationen enthalten, die zu dem entfernten Abschnitt252 gehören, zu dem lokalen Abschnitt251 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 Abschnitt252 enthalten. Die Unversehrtheit und Sicherheit der Alarm-Client- und Serverprozesse330 und332 wird durch einen periodischen Austausch von Mitteilungen zwischen dem Client- und dem Serverprozeß330 und332 sichergestellt, der es den Prozessen330 und332 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 Mitteilungspaketen, die Alarminformationen enthalten, wie etwa Mitteilungspakete, die von dem Alarmserverprozeß
332 abgegeben wurden, können zusätzliche Bestätigungen auf der Ebene der Alarmverwaltungsanwendung (d. h. auf der Ebene der Client- und Serverprozesse330 und332 ) eliminiert werden. Diese Eliminierung von Bestätigungen auf Prozeßebene, welche gewöhnlich in herkömmlichen Alarmverwaltungstechniken verwendet werden, ermöglicht es, Alarminformationen in der langsamen Kommunikationsverbindung16 in zeitlicher Hinsicht in den Mitteilungspaketen zu packen, die über die Verbindung16 unter Verwendung der hier beschriebenen Kommunikationstechnik mit verzögerter Bestätigung gesendet werden. - Allgemein ausgedrückt abonniert der Alarmclient
330 bestimmte Alarmmeldungen von dem Alarmserver332 , indem er eine ABONNIERE-Mitteilung sendet, um anzugeben, daß alle Alarmmitteilungen von dem Alarmserver232 zu dem Alarmclient330 zu senden sind, und sendet anschließend periodisch ALARM AKTUALISIEREN-Mitteilungen, um Alarminformationen an den Alarmclient330 abzugeben. Der Alarmclient330 verfolgt die Alarmmeldungen an Hand der Alarmsequenznummer und kann den Alarmserver332 über eine fehlende oder verlorene Mitteilung benachrichtigen oder die Neusynchronisierung über eine FLUSSSTEUERUNG-Mitteilung anfordern. - Im einzelnen enthalten ABONNIERE-Mitteilungen von dem Alarmclientprozeß
330 Informationen, welche die lokale Benutzerschnittstelle254 identifizieren (um es zu ermöglichen, daß der Alarmserver332 Mitteilungen an den Alarmclient330 sendet bzw. weiterleitet), einen Satz von Anlagenbereichen, für welche der Alarmclient330 Informationen anfordert, und ein Kennzeichen, um anzugeben, ob der Alarmclient330 das Auslösen eines Neusynchronisierungszyklus durch den Alarmserver332 anfordert. Zusätzlich kann die ABONNIERE-Mitteilung Informationen enthalten, die sich auf die Frequenz beziehen, mit der der Alarmclient330 ABONNIERE-Mitteilungen an den Alarmserver332 wiederholt, so daß der Alarmserver332 bestimmen kann, ob der Alarmclient330 die Kommunikationsverbindung nicht länger aufrecht erhält, was es dem Alarmserver332 erlaubt, die Zuweisung von nicht genutzten Ressourcen (beispielsweise Verarbeitungs- und Speicherressourcen), die für den Alarmclient330 freigehalten werden, aufzuheben. Die ABONNIERE-Mitteilungen enthalten ferner Informationen, die die Frequenz betreffen, mit der der Alarmserver332 ALARM AKTUALISIEREN-Mitteilungen an den Alarmclient330 senden muß, so daß der Alarmclient330 feststellen kann, wenn der Alarmserver332 die Kommunikation abgebrochen hat, was es dem Alarmclient330 ermöglicht, fehlerhafte Alarminformationen von der Anzeige der lokalen Benutzerschnittstelle354 zu entfernen. - Die ALARM AKTUALISIEREN-Mitteilungen enthalten eine Alarmsequenznummer (die typischerweise nicht den Sequenznummern zugeordnet ist, die zu dem darunter liegenden Kommunikationsprotokoll gehören), welche es dem Alarmclient
330 ermöglicht zu erkennen, daß keine Alarmmitteilungen innerhalb einer Mitteilungssequenz verloren wurden. Die ALARM AKTUALISIEREN-Mitteilungen können ferner Informationen enthalten, welche den Alarmstatus betreffen, wie etwa einen ALARM-ID-String, der eindeutig jeden Alarm innerhalb des Prozeßsteuersystems250 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 Mitteilung betreffen, die es einem Benutzer erleichtern kann, auf den Alarmzustand in angemessener Weise zu reagieren. - Die FLUSSSTEUERUNG-Mitteilungen, die der Alarmclient
330 an den Alarmserver332 sendet, enthalten Informationen, welche den Alarmclient330 kennzeichnen, so daß der Alarmserver332 Informationen an den Alarmclient330 senden bzw. weiterleiten kann, ein Kennzeichen, das angibt, daß der Alarmclient330 einen Neusynchronisierungszyklus anfordert, der von dem Alarmserver332 auszulösen ist, was von dem Alarmclient330 angefordert werden kann, wenn die ALARM AKTUALISIEREN-Mitteilungen anzeigen, daß eine Mitteilung verloren wurde, und Informationen, die die Anzahl der ausstehenden Alarmmitteilungen steuern, welche auf der Ebene der Alarmverwaltungsanwendung in einer Weise arbeiten, die ähnlich der Weise ist, in der die darunter liegende Kommunikationstechnik die Anzahl der ausstehenden Mitteilungen in der Neuübertragungswarteschlange52 (2 ) steuert. - Allgemein ausgedrückt überwacht der Alarmclient
330 den Bedarf nach Alarmstatusinformationen von anderen Prozessen, die auf der lokalen Benutzerschnittstelle254 ablaufen, und konsolidiert dieselben Informationen zu einem einzigen Satz von Anlagenbereichen, die zu den benötigten Alarmmitteilungen gehören. Wenn sich der konsolidierte Satz von Anlagenbereichen verändert, sendet der Alarmclient330 eine Abonnement-Mitteilung an den Alarmserver332 , die den neuen Satz von Anlagenbereichen 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 Alarmclient330 die ABONNIERE-Mitteilungen periodisch erneut, so daß der Alarmserver332 weiß, daß der Alarmclient330 weiterhin ordnungsgemäß funktioniert, und um sicherzustellen, daß der Alarmserver332 die korrekte Abonnementinformation hat. Wenn die Zeit zwischen ALARM AKTUALISIEREN-Mitteilungen, die Aktualisierungsfrequenz, die in der ABONNIERE-Mitteilungen angefordert wird, übersteigt, betrachtet der Alarmclient330 den Alarmserver332 als nicht funktionsfähig und benachrichtigt die in der lokalen Benutzerschnittstelle254 ausgeführten Anwendungen, daß die Alarmin formationen fehlerhaft sein können. Der Alarmclient330 veröffentlicht Informationen, die zu den aktiven Alarmmitteilungen gehören, geordnet nach der Wichtigkeit als spezielle Parameter, die für andere Anwendungen verfügbar sind, die innerhalb der lokalen Benutzerschnittstelle254 ausgeführt werden. Diese speziellen Parameter werden vorzugsweise unter Verwendung von Datenformaten veröffentlicht, die mit den Industrie-Standardschnittstellen für Prozeßsteuerinformationen kompatibel sind. - Wie vorstehend angeführt empfängt der Alarmclient
330 ALARM AKTUALISIEREN-Mitteilungen von dem Alarmserver332 . Bei Erhalt der ALARM AKTUALISIEREN-Mitteilungen vergleicht der Alarmclient330 die Sequenznummer der Alarmmitteilung mit einer 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 Alarmclient330 geführt wird. Basierend auf der Alarmstatusinformation können neue Alarmmitteilungen zu der aktiven Alarmliste hinzugefügt werden, inaktive Alarmmitteilungen 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 Benutzerschnittstelle284 abonniert ist, und führt die erforderliche Alarmstatusinformationssammlung von der Steuereinrichtung288 durch, um sicherzustellen, daß der Alarmserver332 eine aktuelle Liste von aktiven Alarmmitteilungen von allen Steuereinrichtungen hat, die zu dem entfernten Abschnitt252 des Systems250 gehören. Der Alarmserver332 enthält eine Liste von aktiven Alarmmitteilungen für jeden der angeforderten Anlagenbereiche und enthält inaktive Alarmmitteilungen, wenn der Alarmstatus noch nicht an den abonnierenden Alarmclient330 mitgeteilt wurde. Wenn während des Betriebes neue Alarmstatusveränderungen erfaßt werden und von der Steuereinrichtung288 ankommen, integriert der Alarmserver332 die Informationen in seine aktive Alarmliste und puffert die Alarmstatusinformationen in ALARM AKTUALISIEREN-Mitteilungen, die für den Alarmclient330 aufgebaut werden. Wenn die Alarmstatusinformation nicht gepuffert werden kann, und zwar als Folge dessen, daß die höchstzulässige Anzahl von ausstehenden ALARM AKTUALISIEREN-Mitteilungen erreicht ist, dann wird die Alarmstatusinformation mit dem Alarm in die aktive Alarmliste des Alarmservers332 eingeschlossen, welche anzeigt, daß die Alarmstatusinformation noch ”entleert” werden muß (d. h. zu dem Alarmclient330 gesendet werden muß), sobald der Alarmclient330 mit FLUSSSTEUERUNG-Mitteilungen zu antworten beginnt, die anzeigen, daß mehr ALARM AKTUALISIEREN-Mitteilungen in der Sequenz gesendet werden können). - Der Alarmserver
332 kann ferner erfassen, wenn der Alarmserver332 keine weiteren Mitteilungen senden kann, da der Alarmclient nicht mit einer FLUSSSTEUERUNG-Mitteilung geantwortet hat. Diese Situation der ”Flußbegrenzung” kann auftreten, wenn das Volumen von neuen Alarmstatusveränderungen im Vergleich zu dem Durchsatz der langsamen Kommunikationsver bindung16 relativ groß ist. In dieser Situation der Flußbegrenzung kann der Alarmserver332 eine prioritätsgesteuerte Alarmentleerungstechnik verwenden, die sicherstellt, daß die wichtigsten oder kritischsten Alarmmitteilungen sobald als möglich an den Alarmclient330 in die langsame Verbindung16 gesendet werden. - Der Alarmserver
332 prüft periodisch Alarmmitteilungen, die trotz der Tatsache in einem inaktiven Zustand sind, daß der Alarmclient330 von dem inaktiven Zustand benachrichtigt wurde, und entfernt diese. Der Alarmserver332 kann auch periodisch prüfen, ob der Alarmclient330 weiterhin funktionsfähig ist, indem die Zeitdauer, die seit dem letzten Senden einer ABONNIERE-Mitteilung durch den Alarmclient330 verstrichen ist, mit der aktuellen Zeit und der erwarteten Frequenz bzw. Häufigkeit, mit der ABONNIERE-Mitteilungen von dem Alarmserver233 empfangen werden sollen, verglichen wird. Wenn der Alarmserver332 bestimmt, daß der Alarmclient330 nicht länger funktioniert, löst der Alarmserver332 das Abonnement des Alarmclient330 und gibt die für den Alarmclient330 zugewiesenen Ressourcen frei. - Während die vorstehend erörterte und in
8 gezeigte Alarmverwaltungsanwendung einen einzelnen Alarmclient330 in Kommunikation mit einem einzelnen Alarmserver332 zeigt, können eine Anzahl von Alarmclients und Servern sowohl in dem entfernt als auch in dem lokal gelegenen Abschnitt eines Prozeßsteuersystems verwendet werden. Ferner kann der Alarmserver332 als Client eines anderen Alarmservers funktionieren, so daß ein mehrsträngiges Netzwerk von Alarmclients und Servern gebildet werden kann, so daß eine oder mehrere Ebenen der Alarmverwaltungshierarchie über das langsame Kommunikati onsnetzwerk16 oder über kaskadierte langsame Verbindungen in Kommunikation stehen. - Die vorstehend beschriebene Alarmverwaltungsanwendung überträgt somit Alarminformationen effizienter über Kommunikationsverbindungen und ist besonders vorteilhaft, wenn sie zum Übertragen von Alarminformationen über eine langsame Informationsverbindung verwendet wird. Die Alarmverwaltungsanwendung konsolidiert Alarminformationen in Mitteilungspakete und verwendet die vorstehend beschriebene Kommunikationstechnik, um die Mitteilungspakete über eine langsame Kommunikationsverbindung zu senden. Die Alarmmitteilungen werden nicht einzeln bestätigt und typischerweise kann eine Bestätigung wie vorstehend im Detail erörtert verwendet werden, um eine Vielzahl von Mitteilungen einschließlich Alarmmitteilungen zu bestätigen. Da die Alarmverwaltungsanwendung Alarminformationen konsolidiert und da jeder Alarm nicht einzeln bestätigt wird, nutzt die vorstehend beschriebene Alarmverwaltungsanwendung die Bandbreite einer langsamen Kommunikationsverbindung effizienter und kann rascher eine große Anzahl von Alarminformationen ansprechend beispielsweise auf Störungen in Anlagen übertragen, was es dem Benutzer ermöglicht, rascher korrigierend einzugreifen.
- Allgemein ausgedrückt können die vorstehend beschriebene Kommunikationstechnik mit verzögerter Bestätigung und die entsprechenden Alarmverwaltungsanwendungen effizient unter Verwendung eines Mehrzweckprozessors implementiert werden, um eine Anzahl von Softwarecodesegmenten oder -modulen auszuführen, die von einem computerlesbaren Speicher ausgelesen werden. Die Kombinationen von Hardware und Software, die beispielsweise anwendungsspezifische integrierte Schaltungen (d. h. ASICs) oder andere Arten von Hardware und Firmware nutzen, können verwendet werden, um dieselben Funktionen zu erzielen.
- Während die vorstehend beschriebene Kommunikationstechnik Daten- oder Informationswarteschlangen zum Speichern von Informationen, Daten oder Mitteilungen verwenden kann, die über eine Kommunikationsverbindung zu senden sind, kann jedes andere Verfahren des Organisierens der über die Verbindung zu sendenden Daten verwendet werden.
- Bei der Implementierung in Software können die hierin erörterten Funktionsblöcke und -routinen in jedem computerlesbaren Speicher, wie beispielsweise auf einem magnetischen, einem optischen oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers, einer Steuereinrichtung, einer Anlageneinrichtung und dergleichen gespeichert werden. Entsprechend kann die Software auf einen Träger moduliert werden und einem Benutzer oder einer Einrichtung über jedes bekannte oder gewünschte Versandverfahren einschließlich beispielsweise über einen Kommunikationskanal, wie etwa eine Telefonleitung, das Internet und dergleichen zugeführt werden.
Claims (54)
- 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 (
50 ) zum Speichern von über die Kommunikationsverbindung zu sendenden Mitteilungen; – Einrichten einer zweiten Warteschlange (52 ) zum Speichern von nicht bestätigten Mitteilungen, die in die Kommunikationsverbindung gesendet wurden; – Bestimmen eines Fensters, das ein unteres Ende, das auf eine Position innerhalb der ersten Warteschlange bezogen ist, und ein oberes Ende hat, das auf der Position des unteren Endes und einer Anzahl von nicht bestätigten Mitteilungen, die in der zweiten Warteschlange (52 ) enthalten sind, basiert; – Anwenden des Fensters auf die erste Warteschlange, um ein Mitteilungspaket zu bestimmen, das mehrere Mitteilungen enthält, die über die Kommunikationsverbindung zu senden sind; – Entfernen dieser Mitteilungen, die zu dem Mitteilungspaket gehören, aus der ersten Warteschlange; – Senden dieser Mitteilungen über den Kommunikationskanal, so dass mindestens zwei der Mitteilungen in dem Mitteilungspaket in einer Zeitspanne gesendet werden, die kleiner ist als die Übertragungs-Umlaufzeitverzögerung; – Anhängen der gesendeten Mitteilungen an die zweite Warteschlange; und – Empfangen von Bestätigungen einiger der mehreren Mitteilungen, nachdem die Mitteilungen in dem Mitteilungspaket gesendet wurden, dadurch gekennzeichnet, dass der Schritt des Sendens der mehreren Mitteilungen, die zu dem Mitteilungspaket gehören, den Schritt des Sendens einer ausdrücklichen Bestätigungsanforderung für einen Teil der Mitteilungen in dem Mitteilungspaket einschließt, wobei das Rücksenden von ausdrücklichen Bestätigungen nur für den ausdrücklich mit einer Bestätigungsanforderung versehenen Teil der Mitteilungen des Mitteilungspakets erfolgt, und wobei die ausdrückliche Bestätigungsanforderungsmitteilung zusammen mit den Mitteilungen, die der ausdrücklichen Bestätigungsmitteilung vorausgehen, aus der zweiten Warteschlange entfernt werden. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die vorbestimmte maximale Anzahl von unbestätigten Mitteilungen auf der Übertragungs-Umlaufzeitverzögerung der Kommunikationsverbindung basiert.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt des Sendens der mehreren Mitteilungen, die zu dem Mitteilungspaket gehören, den Schritt des Anbringens eines Zeitstempels an jeder der mehreren Mitteilungen vor dem Senden der mehreren Mitteilungen in die Kommunikationsverbindung einschließt.
- Verfahren nach Anspruch 6, ferner enthaltend den Schritt des Entfernens der gesendeten mehreren, an die zweite Warteschlange angefügten Mitteilungen, deren Zeitlimit abgelaufen ist, aus der zweiten Warteschlange.
- Verfahren nach Anspruch 7, ferner enthaltend den Schritt des Neuübertragens der gesendeten mehreren, an die zweite Warteschlange angefügten Mitteilungen, deren Zeitlimit abgelaufen ist, über die Kommunikationsverbindung.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 1, enthaltend den Schritt des Anforderns einer Bestätigung für die letzte Mitteilung in dem Mitteilungspaket.
- 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.
- Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass der Schritt des Empfangens einer Bestätigung den Schritt des Bestätigens von zwei oder mehr der gesendeten mehreren Mitteilungen basierend auf einer einzelnen empfangenen Bestätigung enthält.
- 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ätigungsantwort für mindestens eine der Gruppe von Daten zu einer zweiten Zeit, die größer ist als die erste Zeit, wobei der Schritt des Sendens der Gruppe von Daten den Schritt des Anforderns einer Bestätigung für ein Mitglied der Datengruppe durch das Senden einer ausdrücklichen Bestätigungsanforderung, die zu der Gruppe von Daten gehört, einschließt; Rücksenden von ausdrücklichen Bestätigungen nur für die ausdrücklich mit einer Bestätigungsanforderung versehen Gruppe von Daten, und Entfernen der ausdrücklichen Bestätigungsanforderung zusammen mit den Mitteilungen, die der ausdrücklichen Bestätigungsanforderung vorausgehen, aus der zweiten Warteschlange bei Empfang der ausdrücklichen Bestätigungsantwort.
- Technik nach Anspruch 15, dadurch gekennzeichnet, dass 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.
- Technik nach Anspruch 15, dadurch gekennzeichnet, dass 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.
- Technik nach Anspruch 17, dadurch gekennzeichnet, dass die vorbestimmte Höchstmenge von Daten, die in der zweiten Warteschlange enthalten sein können, durch eine Übertragungs-Umlaufzeitverzögerung der Kommunikationsverbindung bestimmt ist.
- Technik nach Anspruch 15, dadurch gekennzeichnet, dass 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.
- Technik nach Anspruch 15, dadurch gekennzeichnet, dass 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.
- Technik nach Anspruch 20, 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.
- Technik nach Anspruch 21, ferner enthaltend den Schritt des Neuübertragens von Daten innerhalb der zweiten Warteschlange, deren Zeit abgelaufen ist.
- Technik nach Anspruch 15, dadurch gekennzeichnet, dass 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.
- Technik nach Anspruch 23, dadurch gekennzeichnet, dass die Datenmenge gleich der Hälfte der vorbestimmten höchstzulässigen Datenmenge ist, die in der zweiten Warteschlange enthalten sein kann.
- Technik nach Anspruch 23, dadurch gekennzeichnet, dass die bestimmte Datenmenge unter Verwendung eines Moduls der vorbestimmten höchstzulässigen Datenmenge bestimmt wird, die in der zweiten Warteschlange enthalten sein kann.
- Technik nach Anspruch 15, dadurch gekennzeichnet, dass 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.
- 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; Speichern der gesendeten ersten Anzahl von Mitteilungen in einer zweiten Warteschlange, wobei der Schritt des Sendens der ersten Anzahl von Mitteilungen, die zu dem Mitteilungspaket gehören, den Schritt des Sendens einer ausdrücklichen Bestätigungsanforderung, die zu einer der ersten Anzahl von Mitteilungen in dem Mitteilungspaket gehört, enthält; Rücksenden von ausdrücklichen Bestätigungen nur für die ausdrücklich mit einer Bestätigungsanforderung versehene erste Anzahl von Mitteilungen; und Entfernen der ausdrücklichen Bestätigunganforderung zusammen mit den Mitteilungen, die der ausdrücklichen Bestätigungsanforderung vorausgehen, aus der zweiten Warteschlange, bei Empfangen der ausdrücklichen Bestätigungsantwort.
- Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 28, dadurch gekennzeichnet, dass die Fenstergröße in umgekehrter Beziehung zu der Anzahl von Mitteilungen, die gegenwärtig in der zweiten Warteschlange gespeichert sind, steht.
- Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass 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.
- Verfahren nach Anspruch 31, 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.
- Verfahren nach Anspruch 32, ferner enthaltend den Schritt des Neuübertragens von Mitteilungen, deren Zeitablaufperiode verstrichen ist.
- Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass der Schritt des Sendens einer ausdrücklichen Bestätigungsanforderung den Schritt des Sendens einer ausdrücklichen Bestätigungsanforderung für jede zweite Anzahl von Mitteilungen enthält, wobei die zweite Anzahl kleiner ist als die Fenstergröße.
- Verfahren nach Anspruch 34, dadurch gekennzeichnet, dass die zweite Anzahl gleich der Hälfte der Fenstergröße ist.
- Verfahren nach Anspruch 34, dadurch gekennzeichnet, dass die zweite Anzahl unter Verwendung eines Moduls der Fenstergröße bestimmt wird.
- Verfahren nach Anspruch 27, dadurch gekennzeichnet, dass der Schritt des Sendens einer ausdrücklichen Bestätigungsanforderung den Schritt des Sendens einer ausdrücklichen Bestätigungsanforderung für die letzte Mitteilung in dem Mitteilungspaket enthält.
- 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, dass 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, dass 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, dass 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, dass 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, dass sie von dem Prozessor ausgeführt werden kann, welche die Datengruppe als Folge der Tatsache, dass die Datengruppe gesendet wurde, an die zweite Warteschlange anfügt; und eine ausdrückliche Bestätigungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, dass sie von dem Prozessor ausgeführt werden kann, welche eine ausdrückliche Bestätigungsanforderung, die zu der Gruppe von Daten gehört, sendet, ausdrückliche Bestätigungen nur für die ausdrücklich mit einer Bestätigungsanforderung versehene Gruppe von Daten rücksendet und, bei Empfang der ausdrücklichen Bestätigungsantwort, die ausdrückliche Bestätigungsanforderung zusammen mit den Mitteilungen, die der ausdrücklichen Bestätigungsanforderung vorausgehen, aus der zweiten Warteschlange entfernt.
- System nach Anspruch 38, dadurch gekennzeichnet, dass die Fensterbildungsroutine ferner so ausgelegt ist, dass sie eine Fenstergröße basierend auf der in der zweiten Warteschlange gespeicherten Datenmenge bestimmt.
- System nach Anspruch 38, dadurch gekennzeichnet, dass die Senderoutine ferner so ausgelegt ist, dass sie Zeitstempel an den Daten in der Datengruppe vor dem Senden der Datengruppe in die Kommunikationsverbindung anbringt.
- 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, dass 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, dass 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, dass 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, dass sie von dem Datenserver ausgeführt werden kann, welche die Anzahl von Mitteilungen des Mitteilungspakets in die Kommunikationsverbindung sendet; eine zweite Speicherroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, dass sie von dem Datenserver ausgeführt werden kann, welche die gesendete Anzahl von Mitteilungen in einer zweiten Warteschlange speichert; eine zweite Senderoutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, dass sie von dem Datenserver ausgeführt werden kann, welche eine ausdrückliche Bestätigungsanforderung, die zu mit einer Mitteilung der gesendeten Anzahl von Mitteilungen gehört, sendet und ausdrückliche Bestätigungen nur für die ausdrücklich mit einer Bestätigungsanforderung versehene Anzahl von Mitteilungen rücksendet; und eine Bestätigungsverfolgungsroutine, die auf dem computerlesbaren Medium gespeichert ist und so ausgelegt ist, dass sie von dem Datenserver ausgeführt werden kann, welche die ausdrückliche Bestätigungsanforderung zusammen mit den Mitteilungen, die der ausdrücklichen Bestätigungsanforderung vorausgehen, aus der zweiten Warteschlange entfernt.
- System nach Anspruch 41, dadurch gekennzeichnet, dass die Fensterbildungsroutine ferner so ausgelegt ist, dass sie die Fenstergröße basierend auf einer Anzahl von Mitteilungen bestimmt, die gegenwärtig in der zweiten Warteschlange gespeichert sind.
- System nach Anspruch 42, dadurch gekennzeichnet, dass die Fensterbildungsroutine die Fenstergröße als umgekehrt auf die Anzahl der Mitteilungen, die gegenwärtig in der zweiten Warteschlange gespeichert sind, bezogen auswählt.
- System nach Anspruch 42, dadurch gekennzeichnet, dass die erste Senderoutine ferner so ausgelegt ist, dass sie einen Zeitstempel an jeder Mitteilung aus dem Mitteilungspaket vor dem Senden der Mitteilungen des Mitteilungspakets in die Kommunikationsverbindung anbringt.
- System nach Anspruch 44, ferner enthaltend eine Neuübertragungsroutine, die auf dem computerlesbaren Speicher gespeichert ist und so ausgelegt ist, dass 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.
- System nach Anspruch 41, dadurch gekennzeichnet, dass die zweite Senderoutine ferner so ausgelegt ist, dass sie eine Bestätigungsanforderung für jede zweite der Anzahl von Mitteilungen sendet, wobei die zweite Zahl kleiner ist als die Fenstergröße.
- System nach Anspruch 46, dadurch gekennzeichnet, dass die zweite Zahl gleich der Hälfte der Fenstergröße ist.
- System nach Anspruch 46, dadurch gekennzeichnet, dass die zweite Zahl unter Verwendung eines Moduls der Fenstergröße bestimmt wird.
- 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; 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, wobei die vierte Routine ferner so ausgelegt ist, dass sie eine Bestätigung ansprechend auf eine Anforderung nach einer Bestätigung, die zu der empfangenen gesendeten Mitteilungsgruppe gehört, sendet, und wobei eine ausdrückliche Bestätigungsroutine eine ausdrückliche Bestätigungsanforderung, die zu der Mitteilungsgruppe gehört, sendet, so dass ausdrückliche Bestätigungen nur für die ausdrücklich mit einer ausdrücklichen Bestätigungsanforderung versehene Mitteilungsgruppe rückgesendet werden und die dritte Routine ausgelegt ist, um die ausdrückliche Bestätigungsanforderung zusammen mit den Mitteilungen, die der ausdrückli chen Bestätigungsanforderung vorausgehen, aus der zweiten Warteschlange zu entfernen.
- System nach Anspruch 49, dadurch gekennzeichnet, dass die Kommunikationsverbindung eine Satellitenkommunikationsverbindung einschließt.
- System nach Anspruch 49, dadurch gekennzeichnet, dass die Kommunikationsverbindung eine drahtlose zelluläre Verbindung einschließt.
- System nach Anspruch 49, dadurch gekennzeichnet, dass die Kommunikationsverbindung eine Modemverbindung einschließt.
- System nach Anspruch 49, dadurch gekennzeichnet, dass die vierte Routine ferner so ausgelegt ist, dass sie eine Bestätigung ansprechend auf eine empfangene Mitteilung in der empfangenen gesendeten Mitteilungsgruppe sendet, die außerhalb der Reihenfolge empfangen wird.
- System nach Anspruch 49, dadurch gekennzeichnet, dass der erste und der zweite Datenserver Eins-zu-mehreren-Beziehungen für Mitteilungen enthalten, die über die Kommunikationsverbindung gesendet werden.
Applications Claiming Priority (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 DE10049568A1 (de) | 2001-05-03 |
DE10049568B4 true DE10049568B4 (de) | 2010-05-06 |
Family
ID=23659421
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10049568A Expired - Lifetime DE10049568B4 (de) | 1999-10-15 | 2000-10-06 | Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung |
DE10066463.6A Expired - Lifetime DE10066463B4 (de) | 1999-10-15 | 2000-10-06 | Verfahren zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung |
DE10066507.1A Expired - Lifetime DE10066507B3 (de) | 1999-10-15 | 2000-10-06 | Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10066463.6A Expired - Lifetime DE10066463B4 (de) | 1999-10-15 | 2000-10-06 | Verfahren zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung |
DE10066507.1A Expired - Lifetime DE10066507B3 (de) | 1999-10-15 | 2000-10-06 | Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung |
Country Status (4)
Country | Link |
---|---|
US (3) | US6775707B1 (de) |
JP (2) | JP4902905B2 (de) |
DE (3) | DE10049568B4 (de) |
GB (1) | GB2359225B (de) |
Families Citing this family (92)
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 |
WO2000070531A2 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Methods and apparatus for control configuration |
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 |
EP2265075B1 (de) * | 2000-06-26 | 2017-08-09 | Panasonic Intellectual Property Corporation of America | Mobile Kommunikationssystem wobei Datenübertragungsratewerte werden von der Mobilstation zur Basisstation gemeldet |
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 |
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 |
DE10332324A1 (de) * | 2003-07-16 | 2005-02-10 | Siemens Ag | Verfahren zur Übertragung von Daten über eine drahtlose Kommuniktionsverbindung sowie Sender und Empfänger |
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 |
US7533176B2 (en) | 2004-07-14 | 2009-05-12 | International Business Machines Corporation | Method for supporting connection establishment 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 |
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 |
US8279892B2 (en) * | 2004-12-10 | 2012-10-02 | 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 |
TWI299620B (en) * | 2005-04-05 | 2008-08-01 | Innovative Sonic Ltd | Method and related apparatus for reconfiguring size of a receiving window in a communication system |
US8565095B2 (en) * | 2005-04-19 | 2013-10-22 | Alcatel Lucent | Context controlled data tap utilizing parallel logic for integrated link monitoring |
US8332526B2 (en) * | 2005-05-25 | 2012-12-11 | Microsoft Corporation | Data communication protocol including negotiation and command compounding |
US8160574B1 (en) | 2005-06-17 | 2012-04-17 | Fisher-Rosemount Systems, Inc. | Wireless architecture utilizing geo-referencing |
US8711698B2 (en) * | 2005-10-17 | 2014-04-29 | The Invention Science Fund I, Llc | Signal routing dependent on a loading indicator of a mobile node |
US20070087695A1 (en) * | 2005-10-17 | 2007-04-19 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Mobile directional antenna |
US8125896B2 (en) * | 2005-10-17 | 2012-02-28 | The Invention Science Fund I, Llc | Individualizing a connectivity-indicative mapping |
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 |
CN104407518B (zh) | 2008-06-20 | 2017-05-31 | 因文西斯系统公司 | 对用于过程控制的实际和仿真设施进行交互的系统和方法 |
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 |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
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 |
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 |
ES2751133T3 (es) * | 2011-06-29 | 2020-03-30 | Orange | Motor de notificaciones |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
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 |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
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 |
US11199824B2 (en) | 2012-01-17 | 2021-12-14 | Fisher-Rosemount Systems, Inc. | Reducing controller updates in a control loop |
US10423127B2 (en) | 2012-01-17 | 2019-09-24 | Fisher-Rosemount Systems, Inc. | Velocity based control 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 |
US9823951B2 (en) | 2013-02-27 | 2017-11-21 | International Business Machines Corporation | Link optimization for callout request messages |
EP3032771B1 (de) * | 2014-12-12 | 2017-10-25 | Sensolus Nv | Batteriebetriebene Vorrichtung, Cloud-Anwendung und zugehörige Verfahren zum Übertragen/Empfangen von Datennachrichten über ein Netzwerk mit geringem Durchsatz |
US10142274B2 (en) | 2014-12-31 | 2018-11-27 | Jason M. Penilla | Message communication systems and applications with message lifetime settings for automatic message deletion |
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 |
WO2016174904A1 (ja) * | 2015-04-30 | 2016-11-03 | ソニー株式会社 | 通信装置および通信方法 |
EP3806533B1 (de) | 2015-07-07 | 2023-01-04 | Sony Group Corporation | Kommunikationsvorrichtung und kommunikationsverfahren |
JP6547580B2 (ja) | 2015-10-20 | 2019-07-24 | 富士通株式会社 | 分散制御方法、分散制御システム、および分散制御プログラム |
US11543805B2 (en) * | 2016-10-17 | 2023-01-03 | Fisher-Rosemount Systems, Inc. | Systems and apparatus for distribution of process control data to remote devices |
US10657776B2 (en) | 2016-10-24 | 2020-05-19 | Fisher-Rosemount Systems, Inc. | Alarm handling and viewing support in a process plant |
JP6626015B2 (ja) * | 2017-01-04 | 2019-12-25 | 株式会社東芝 | 同期装置、同期方法、同期プログラム、および同期システム |
CN110915223B (zh) * | 2017-07-21 | 2022-10-21 | 索尼公司 | 发送设备、发送方法、接收设备、接收方法和程序 |
US10530902B2 (en) * | 2017-11-30 | 2020-01-07 | Gregory Bullock | Method of operating a protocol translator |
CA3106519A1 (en) * | 2018-07-17 | 2020-01-23 | Icu Medical, Inc. | Systems and methods for facilitating clinical messaging in a network environment |
US11424865B2 (en) | 2020-12-10 | 2022-08-23 | Fisher-Rosemount Systems, Inc. | Variable-level integrity checks for communications in process control environments |
CN112631808B (zh) * | 2020-12-29 | 2024-06-14 | 上海众源网络有限公司 | 数据同步方法、装置、电子设备和存储介质 |
US11706048B1 (en) | 2021-12-16 | 2023-07-18 | Qorvo Us, Inc. | Multi-protocol bus circuit |
US11770224B1 (en) | 2022-06-28 | 2023-09-26 | Preddio Technologies Inc. | Guaranteed feed observance window for telecommunication |
CN115174346B (zh) * | 2022-09-02 | 2023-03-28 | 平安银行股份有限公司 | 基于消息队列的延时告警方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839891A (en) * | 1987-07-24 | 1989-06-13 | Nec Corporation | Method for controlling data flow |
US5168497A (en) * | 1988-09-21 | 1992-12-01 | Hitachi, Ltd. | Packet communication processing method |
US5222061A (en) * | 1991-10-31 | 1993-06-22 | At&T Bell Laboratories | Data services retransmission procedure |
EP0658028A2 (de) * | 1993-11-30 | 1995-06-14 | AT&T Corp. | Wiederholungsprotokoll für drahtlose Kommunication |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63290034A (ja) * | 1987-05-22 | 1988-11-28 | Ricoh Co Ltd | デ−タ伝送方式 |
JPH01292938A (ja) * | 1988-05-19 | 1989-11-27 | Fujitsu Ltd | データ通信制御方式 |
JPH0720155B2 (ja) * | 1988-08-27 | 1995-03-06 | 沖電気工業株式会社 | データ通信装置 |
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 |
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 |
JPH1155348A (ja) * | 1997-07-31 | 1999-02-26 | Matsushita Electric Ind Co Ltd | データ通信方法 |
US5970063A (en) | 1997-07-31 | 1999-10-19 | Telefonaktiebolaget Lm Ericsson | Method for unacknowledged data frame delivery in a noisy wireless environment |
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 |
US6654344B1 (en) * | 1999-02-02 | 2003-11-25 | Mentat Inc. | Method and system for controlling data flow in an internet over satellite connection |
US6529477B1 (en) * | 1999-02-02 | 2003-03-04 | Mentat Inc. | Internet over satellite system |
US6400724B1 (en) * | 1999-07-16 | 2002-06-04 | Qualcomm Inc. | Method and apparatus for efficient data transmission in a voice-over-data communication system |
EP1214810A1 (de) | 1999-09-20 | 2002-06-19 | Nokia Corporation | Verfahren und gerät zur fehlerkontrolle |
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 |
-
1999
- 1999-10-15 US US09/418,747 patent/US6775707B1/en not_active Expired - Lifetime
-
2000
- 2000-10-06 DE DE10049568A patent/DE10049568B4/de not_active Expired - Lifetime
- 2000-10-06 DE DE10066463.6A patent/DE10066463B4/de not_active Expired - Lifetime
- 2000-10-06 DE DE10066507.1A patent/DE10066507B3/de not_active Expired - Lifetime
- 2000-10-13 GB GB0025136A patent/GB2359225B/en not_active Expired - Lifetime
- 2000-10-16 JP JP2000315664A patent/JP4902905B2/ja not_active Expired - Lifetime
-
2004
- 2004-07-26 US US10/899,166 patent/US7111070B2/en not_active Expired - Lifetime
-
2006
- 2006-09-11 US US11/518,684 patent/US7574531B2/en not_active Expired - Fee Related
-
2010
- 2010-10-27 JP JP2010240847A patent/JP5286346B2/ja not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839891A (en) * | 1987-07-24 | 1989-06-13 | Nec Corporation | Method for controlling data flow |
US5168497A (en) * | 1988-09-21 | 1992-12-01 | Hitachi, Ltd. | Packet communication processing method |
US5222061A (en) * | 1991-10-31 | 1993-06-22 | At&T Bell Laboratories | Data services retransmission procedure |
EP0658028A2 (de) * | 1993-11-30 | 1995-06-14 | AT&T Corp. | Wiederholungsprotokoll für drahtlose Kommunication |
Also Published As
Publication number | Publication date |
---|---|
JP5286346B2 (ja) | 2013-09-11 |
DE10066463B4 (de) | 2016-09-15 |
DE10066507B3 (de) | 2021-03-25 |
JP2001186210A (ja) | 2001-07-06 |
JP4902905B2 (ja) | 2012-03-21 |
US20070073822A1 (en) | 2007-03-29 |
US20050021832A1 (en) | 2005-01-27 |
US6775707B1 (en) | 2004-08-10 |
GB0025136D0 (en) | 2000-11-29 |
JP2011072004A (ja) | 2011-04-07 |
GB2359225A (en) | 2001-08-15 |
DE10049568A1 (de) | 2001-05-03 |
US7111070B2 (en) | 2006-09-19 |
GB2359225B (en) | 2004-09-22 |
US7574531B2 (en) | 2009-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10049568B4 (de) | Verfahren und Vorrichtung zur Kommunikation mit verzögerter Bestätigung und Alarmverwaltung | |
DE69328578T2 (de) | Leistungsfähiges und betriebssicheres Übertragungsverfahren und System für grosse Datenmengen | |
DE69015275T2 (de) | Datenkommunikationssystem und Vorrichtung mit einer zyklischen Quittungsantwortensequenz. | |
DE3586431T2 (de) | Lokales netzwerk fuer ein numerisches datenverarbeitungssystem. | |
DE69130187T2 (de) | Hochgeschwindigkeitsübertragungsprotokoll mit zwei Fenstern | |
DE68925447T2 (de) | Steuerungsverfahren für verteiltes Verarbeitungssystem | |
DE69434310T2 (de) | Wiederholungsprotokoll für drahtlose Kommunikation | |
DE69931215T2 (de) | Verfahren und Rechnerprogrammprodukt zum effizienten und sicheren Senden von kleinen Datennachrichten von einem Sender zu einer grossen Anzahl von Empfangssystemen | |
DE60114329T2 (de) | TCP-berücksichtigendes lokales Wiederholungsverfahren für unzuverlässige Übertragungsnetze | |
DE60313178T2 (de) | Verfahren und einrichtung zur verminderung von übertragungsfehlern in einem zellularen system der dritte generation | |
EP1327331B1 (de) | Verfahren und system zum informationsaustausch zwischen kommunikationsnetzen | |
DE60201553T2 (de) | System und Verfahren zur Fehlerbeseitigung mit negativer Rückquittierung (NACK) | |
DE69917463T2 (de) | Verfahren und vorrichtung zur übertragung von datenpaketen in einem kommunikationssystem | |
DE60113766T2 (de) | System und Verfahren zur Datenübertragung in zwei Moden und entsprechender Sender und Empfänger | |
DE60036121T2 (de) | Hochgeschwindigkeitsverbindung für eingebettete Systeme in einem Rechnernetzwerk | |
DE60202124T2 (de) | Verfahren und Netzwerkelement zum sicheren Transport von Ethernet-Rahmen über ein SDH/SONET Transport-Netzwerk | |
EP1312992B1 (de) | Verfahren zum Tunneln eines höherwertigen Protokolls auf einem Feldbussystem | |
DE10022270B4 (de) | Verfahren und Kommunikationssystem zum Übertragen von kodierten Datenpaketen | |
DE19911951A1 (de) | Datenkommunikationssystem und Datenkommunikationsverfahren, welches eine Nachrichtenkollision umgehen kann | |
GB2398214A (en) | Deferred acknowledgment communications | |
DE3925843C2 (de) | ||
EP0475180A1 (de) | Verfahren zum Übertragen von Nachrichtenblöcken zwischen bei bestehenden Verbindungen einander zugeordneten Übertragungsleitungen einer Fernmeldevermittlungsanlage | |
EP1527547B1 (de) | Verfahren und vorrichtung zur überwachung einer daten übertragung | |
EP1615374B1 (de) | Verfahren zum Senden und Empfangen von Ereignismeldungen | |
DE69514077T2 (de) | Schalten eines Endgeräts, wie Faksimilegerät, auf einen von zwei Kanälen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
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 |
|
Q171 | Divided out to: |
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 |
Ref document number: 10066463 Country of ref document: DE Effective date: 20131120 |
|
R071 | Expiry of right |