DE102017219173A1 - System und verfahren zum kommunizieren von ausgehandelten parametern - Google Patents

System und verfahren zum kommunizieren von ausgehandelten parametern Download PDF

Info

Publication number
DE102017219173A1
DE102017219173A1 DE102017219173.2A DE102017219173A DE102017219173A1 DE 102017219173 A1 DE102017219173 A1 DE 102017219173A1 DE 102017219173 A DE102017219173 A DE 102017219173A DE 102017219173 A1 DE102017219173 A1 DE 102017219173A1
Authority
DE
Germany
Prior art keywords
client
server
parameters
xml
session
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.)
Ceased
Application number
DE102017219173.2A
Other languages
English (en)
Inventor
Travis O. Breitkreutz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Caterpillar Inc
Original Assignee
Caterpillar Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Caterpillar Inc filed Critical Caterpillar Inc
Publication of DE102017219173A1 publication Critical patent/DE102017219173A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

Ein computerimplementiertes Verfahren zum Aushandeln der Kommunikation von Gruppen von Parametern zwischen einem Server (20) und einem Client (10) umfasst: Senden einer ersten Anforderung für eine Parameteraushandlungs-Sitzung von dem Client (10) an den Server (20) unter Verwendung von HTTP, Angeben der von dem Client gewünschten Sitzungs-Zeitbegrenzung für die Sitzung in der ersten Anforderung, Empfangen einer XML-formatierten Nachricht, die von dem Server über HTTP gesendet wird, an dem Client, die angibt, ob der Server in der Lage ist, die angeforderte Sitzung zu unterstützen, und Senden einer zweiten Anforderung mit einer XML-formatierten Nachricht über HTTP für eine Gruppe von gewünschten Parametern von dem Server, von dem Client, wobei die zweite Nachricht umfasst: die vom Client gewünschte Zieladresse, die vom Client gewünschte Aktualisierungsperiode zum Empfangen aktualisierter Parameterdaten, Identifikation eines UDP-Ports des Client für den Erhalt aktualisierter Parameterdaten von dem Server in einem UDP-Datenpaket, und Identifikatoren für Parameter, die von dem Client gewünscht werden. Der Client empfängt eine XML-formatierte Nachricht, die von dem Server über HTTP gesendet wird und angibt, ob der Server in der Lage ist, die zweite, von dem Client erhaltene Anforderung zu unterstützen. Wenn der Server in der Lage ist, die zweite Anforderung zu unterstützen, empfängt der Client eine XML-formatierte Nachricht, die von dem Server über HTTP gesendet wird und eine vom Server unterstützte Gruppe von Parametern auf Grundlage der von dem Client gewünschten Parameter enthält. Der Client empfängt an dem UDP-Port des Clients auch ein UDP-Datenpaket, das aktualisierte Parameterdaten entsprechend einem jeden der von dem Server unterstützten Parameter, nach einer von dem Server unterstützten Aktualisierungsperiode entsprechend der vom Client gewünschten Aktualisierungsperiode umfasst.

Description

  • Technisches Gebiet
  • Diese Anwendung betrifft ein System und Verfahren zum Kommunizieren von Gruppen von Parametern, und insbesondere ein System und Verfahren zum Kommunizieren von ausgehandelten Gruppen von Parametern.
  • Hintergrund
  • Maschinen, wie beispielsweise etwa Radlader, Motorgrader, Schleppfahrzeuge vom Raupentyp, Deponielastwagen und andere Typen von Maschinen werden verwendet, um eine Reihe von Aufgaben zu erfüllen, die einer Industrie, wie z. B. Bergbau, Bau, Produktion, Transport oder einer beliebigen anderen in der Technik bekannten Industrie zugeordnet sind. Um diese Aufgaben zu erfüllen, kann eine Maschine eine Vielzahl von Systemen umfassen, und jedes System kann ein oder mehrere Steuergeräte, wie etwa elektronische Steuereinheiten (ECUs) oder elektronische Steuermodule (ECMs), aufweisen. Die ECMs können ein Netzwerk bilden und miteinander über eine oder mehrere Datenverbindungen in Kommunikation stehen.
  • Eine bestimmte, von der Maschine ausgeführte Funktion kann mehrere ECMs umfassen. ECMs in Maschinen können Nutzer einer großen Anzahl von unterschiedlichen Parametern sein, wie etwa Temperaturen, Drücken, Strömungsraten, Gaszusammensetzungen, relativen Stellungen von Komponenten, Bedienereingaben, Signalen, die auf eine Aktivierung oder Deaktivierung verschiedener Stellglieder und/oder Ventile hinweisen, geographischer Positionen der Maschine, und weiterer erfasster und/oder berechneter Daten, die mit dem Betrieb der Maschine in Beziehung stehen. Parameter, die durch ein oder mehrere ECMs angefordert werden können, um Steuerbefehle zur Ausführung verschiedener betrieblicher Aspekte der Funktionen der Maschine zu bestimmen, können von einem oder mehreren Erzeugern der relevanten Daten erhalten werden. Die Erzeuger der relevanten Daten können Sensoreinrichtungen an Bord der Maschine, nicht an Bord der Maschine befindliche Sensoreinrichtungen, ein oder mehrere weitere ECMs, Prozessoren, oder andere Computereinrichtungen an Bord der Maschine oder dieser zugeordnet, eine Bedienerstation, eine zentrale Steuerstation, und weitere Quellen von Daten, die von Datenbanken über kabelgebundene oder drahtlose Netze erhalten werden, etwa lokale Netze (LAN), drahtlose lokale Netze (WLAN), Weitverkehrsnetze (WAN), Wi-Fi-Netze, lokale, kabelgebundene und drahtlose Baustellennetze, und das Internet.
  • Ein Verfahren zum Bestimmen von Fehlern pro Einheit eines Produkts sowie zum Abrufen von Produktprüfungsdaten gleichzeitig von verschieden Datenquellen wird in der veröffentlichten US-Patentanmeldung Nr. 2016/0147883 an Mukundan et al. beschrieben („die '883-Veröffentlichung“). Die '883-Veröffentlichung beschreibt ein Verfahren, die eine Datenabrufsitzung zwischen einem Prozessor und einem Datenbankserver erzeugt. Produktprüfungsdaten werden von dem Datenbankserver auf der Grundlage einer Anfrage abgerufen, die von dem Prozessor ausgeführt wird. Auch Datenaktualisierungssitzungen werden zwischen dem Datenbankserver und einer Vielzahl von Datenquellen erzeugt.
  • Obwohl die in der '883-Veröffentlichung beschriebenen Techniken wirksam sein können, um die Abfrage von exakten Prüfungsdaten zu verbessern, können weitere Verbesserungen der Effizienz und Genauigkeit des Austauschs von Parameterdaten, die zur Steuerung und Überwachung der Betriebsvorgänge verschiedener Maschinen und Maschinenkomponenten verwendet werden, dennoch vorteilhaft sein. Derzeitige Verfahren zum Abrufen von Parameterdaten, die von verschiedenen Maschinenkomponenten, etwa elektronischen Steuermodulen (ECMs) benötigt werden, erfordern allgemein a priori-Wissen über einen statisch definierten Satz von Parametern, für den die Daten angefordert werden. Dies kann zu mangelnder Flexibilität und Anpassbarkeit beim Aktualisieren der Parameter, für die Daten erforderlich sind, führen. Derzeitigen Verfahren zum Kommunizieren der Parameterdaten, die von verschiedenen Maschinenkomponenten benötigt werden, kann auch die Rückwärts-Kompatibilität für neue oder aktualisierte Komponenten fehlen, wenn verschiedene Quellen der Parameterdaten nicht in der Lage sind, die angeforderten Parameterdaten an die Austauschkomponenten zu liefern.
  • Das offenbarte System und Verfahren zum Kommunizieren von ausgehandelten Gruppen von Parametern zielt darauf ab, einen oder mehrere der oben dargelegten Nachteile zu überwinden.
  • Zusammenfassung
  • Gemäß einem Aspekt wird ein computerimplementiertes Verfahren zum Aushandeln der Kommunikation von Gruppen von Parametern zwischen einem Server und einem Client offenbart. Das Verfahren kann umfassen: Senden einer ersten Anforderung für eine Parameteraushandlungs-Sitzung von dem Client an den Server unter Verwendung von HTTP, Angeben der von dem Client gewünschten Sitzungs-Zeitbegrenzung für die Sitzung in der ersten Anforderung, Empfangen einer XML-formatierten Nachricht, die von dem Server über HTTP gesendet wird, an dem Client, die angibt, ob der Server in der Lage ist, die angeforderte Sitzung zu unterstützen, und Senden einer zweiten Anforderung mit einer XML-formatierten Nachricht über HTTP für eine Gruppe von gewünschten Parametern von dem Server durch den Client, wobei die Nachricht umfasst: die vom Client gewünschte Zieladresse, die vom Client gewünschte Aktualisierungsperiode zum Empfangen aktualisierter Parameterdaten, Identifikation eines UDP-Ports des Client für den Erhalt aktualisierter Parameterdaten von dem Server in einem UDP-Datenpaket, und Identifikatoren für Parameter, die von dem Client gewünscht werden. Das Verfahren kann auch umfassen: Empfangen einer XML-formatierten Nachricht, die von dem Server über HTTP gesendet wird, an dem Client, die angibt, ob der Server in der Lage ist, die zweite, von dem Client erhaltene Anforderung zu unterstützen, und, wenn der Server in der Lage ist, die zweite Anforderung zu unterstützen, Empfangen einer XML-formatierten Nachricht, die von dem Server über HTTP gesendet wird und eine vom Server unterstützte Gruppe von Parametern auf Grundlage der von dem Client gewünschten Parameter enthält, an dem Client. Das Verfahren kann noch weiter umfassen: Empfangen, an dem UDP-Port des Clients, eines UDP-Datenpakets, das aktualisierte Parameterdaten entsprechend einem jeden der vom Server unterstützten Parameter, nach einer von dem Server unterstützten Aktualisierungsperiode entsprechend der vom Client gewünschten Aktualisierungsperiode.
  • Gemäß einem weiteren Aspekt wird ein Kommunikationssystem offenbart, wobei das Kommunikationssystem dazu ausgestaltet ist, dynamisch Gruppen von Maschinenbetriebsparametern auszuhandeln, die von einem Erzeuger der Parameter an einen Nutzer der Parameter an einer Maschine kommuniziert werden sollen, und periodisch aktualisierte Parameterdaten an den Nutzer der Parameter zu kommunizieren. Das Kommunikationssystem kann einen Prozessor umfassen, der dem Nutzer der Parameter an der Maschine zugeordnet ist. Der Prozessor kann dazu ausgestaltet sein, eine erste Anforderung für eine Parameteraushandlungs-Sitzung von dem Nutzer an den Erzeuger unter Verwendung von HTTP zu senden, die von dem Nutzer gewünschte Sitzungs-Zeitbegrenzung für die Sitzung in der ersten Anforderung anzugeben, eine XML-formatierte Nachricht, die von dem Erzeuger über HTTP gesendet wird, an dem Nutzer zu empfangen, die angibt, ob der Erzeuger in der Lage ist, die angeforderte Sitzung zu unterstützen, und von dem Nutzer eine zweite Anforderung für eine Gruppe von gewünschten Parametern von dem Erzeuger mit einer XML-formatierten Nachricht über HTTP zu senden, wobei die Nachricht umfasst: die vom Nutzer gewünschte Zieladresse, die vom Nutzer gewünschte Aktualisierungsperiode zum Empfangen aktualisierter Parameterdaten, Identifikation eines UDP-Ports des Nutzer für den Erhalt aktualisierter Parameterdaten von dem Erzeuger in einem UDP-Datenpaket, und Identifikatoren für Parameter, die von dem Nutzer gewünscht werden. Der Prozessor kann auch dazu ausgestaltet sein, eine XML-formatierte Nachricht, die von dem Erzeuger über HTTP gesendet wird und angibt, ob der Erzeuger in der Lage ist, die zweite, von dem Nutzer erhaltene Anforderung zu unterstützen, an dem Nutzer zu empfangen, und, wenn der Erzeuger in der Lage ist, die zweite Anforderung zu unterstützen, eine XML-formatierte Nachricht, die von dem Erzeuger über HTTP gesendet wird und eine von dem Erzeuger unterstützte Gruppe von Parametern enthält, auf Grundlage der von dem Nutzer gewünschten Parameter an dem Nutzer zu empfangen. Der Prozessor kann auch dazu ausgestaltet sein, an dem UDP-Port des Nutzers ein UDP-Datenpaket, das aktualisierte Parameterdaten entsprechend einem jeden der von dem Erzeuger unterstützten Parameter, nach einer von dem Erzeuger unterstützten Aktualisierungsperiode entsprechend der vom Client gewünschten Aktualisierungsperiode zu empfangen.
  • Gemäß noch einem weiteren Aspekt wird eine Maschine offenbart, wobei die Maschine eine Maschinenkomponente und einen der Maschinenkomponente zugeordneten Client-Prozessor umfassen kann. Der Client-Prozessor kann dazu ausgestaltet sein, eine erste Gruppe von Maschinenbetriebsparametern zur Steuerung und Überwachung der Funktion der Maschinenkomponente zu nutzen. Der Client-Prozessor kann auch dazu ausgestaltet sein, mit einem Server-Prozessor zu kommunizieren, wobei der Server-Prozessor dazu ausgestaltet sein kann, eine zweite Gruppe von Maschinenbetriebsparametern zu erzeugen, die mit der Funktion und dem Status der Maschinenkomponente in Beziehung stehen. Der Client-Prozessor kann außerdem dazu ausgestaltet sein, eine erste Anforderung für eine Parameteraushandlungs-Sitzung von dem Client-Prozessor an den Server-Prozessor unter Verwendung von HTTP zu senden, die von dem Client-Prozessor gewünschte Sitzungs-Zeitbegrenzung für die Sitzung in der ersten Anforderung anzugeben, eine XML-formatierte Nachricht, die von dem Server-Prozessor über HTTP gesendet wird und angibt, ob der Server-Prozessor in der Lage ist, die angeforderte Sitzung zu unterstützen, an dem Client-Prozessor zu empfangen, und von dem Client-Prozessor eine zweite Anforderung mit einer XML-formatierten Nachricht über HTTP für eine Gruppe von gewünschten Parametern von dem Server-Prozessor zu senden, wobei die Nachricht umfasst: die vom Client-Prozessor gewünschte Zieladresse, die vom Client-Prozessor gewünschte Aktualisierungsperiode zum Empfangen aktualisierter Parameterdaten, Identifikation eines UDP-Ports des Client-Prozessors für den Erhalt aktualisierter Parameterdaten von dem Server-Prozessor in einem UDP-Datenpaket, und Identifikatoren für Parameter, die von dem Client-Prozessor gewünscht werden. Der Client-Prozessor kann auch dazu ausgestaltet sein, eine XML-formatierte Nachricht, die von dem Server-Prozessor über HTTP gesendet wird und angibt, ob der Server-Prozessor in der Lage ist, die zweite, von dem Client-Prozessor erhaltene Anforderung zu unterstützen, an dem Client-Prozessor zu empfangen, und, wenn der Server-Prozessor in der Lage ist, die zweite Anforderung zu unterstützen, eine XML-formatierte Nachricht, die von dem Server-Prozessor über HTTP gesendet wird und eine vom Server-Prozessor unterstützte Gruppe von Parametern enthält, auf Grundlage der von dem Client-Prozessor gewünschten Parameter an dem Client-Prozessor zu empfangen. Der Client-Prozessor kann auch dazu ausgestaltet sein, an dem UDP-Port des Clients-Prozessors ein UDP-Datenpaket, das aktualisierte Parameterdaten entsprechend einem jeden der von dem Server-Prozessor unterstützten Parameter, nach einer von dem Server-Prozessor unterstützten Aktualisierungsperiode entsprechend der vom Client-Prozessor gewünschten Aktualisierungsperiode zu empfangen.
  • Figurenliste
    • 1 ist eine schematische Darstellung eines beispielhaften Kommunikationssystems, das eine Aushandlungssitzung zwischen einem Parametergruppenübertragungs- oder PGT-Erzeuger und einem PGT-Nutzer ermöglicht, in einer offenbarten Ausführungsform;
    • 2 (und 2 Fortsetzung) veranschaulichen ein Ablaufdiagramm, das eine beispielhafte offenbarte Aushandlungssitzung zwischen einem PGT-Erzeuger und einem PGT-Nutzer abbildet; und
    • 3 veranschaulicht zusätzliche Merkmale des beispielhaften Kommunikationssystems von 1.
  • Detaillierte Beschreibung
  • 1 veranschaulicht eine Darstellung eines beispielhaften Kommunikationssystems, das einem Erzeuger einer Gruppe von Parametern erlaubt, über ein Netzwerk mit einem Nutzer einer Gruppe von Parametern zu verhandeln und eine ausgehandelte Gruppe von Parametern zwischen einem Server, der sich innerhalb des Netzwerks befindet, und einem Client, der sich innerhalb des Netzwerks befindet, zu kommunizieren. Eine Parametergruppenübertragung (PGT) bezieht sich auf ein Merkmal, das einem PGT-Client 10 erlaubt, Parameterwerte über ein Kommunikationsnetzwerk von einem PGT-Server 20 anzufordern und zu empfangen. Der PGT-Client 10 kann ein Objekt innerhalb des Kommunikationssystems sein, das als Agent für den Nutzer einer gewünschten Gruppe von Parametern fungiert. Obwohl 1 schematisch den PGT-Nutzer und den PGT-Client mit einem Symbol darstellt, kann der PGT-Nutzer auch ein Handelnder außerhalb des Kommunikationssystems sein, der Parameterdaten von dem PGT-Erzeuger empfangen möchte. In ähnlicher Weise kann der PGT-Server 20 ein Objekt innerhalb des Kommunikationssystems sein, das als Agent für den Erzeuger einer gewünschten Gruppe von Parametern fungiert. Der PGT-Erzeuger kann ein Handelnder außerhalb des Kommunikationssystems sein, der in der Lage ist, Parameterdaten an beliebige PGT-Nutzer zu liefern, die diese Daten empfangen möchten. Der PGT-Server 20 kann aktualisierte Parameterdaten von dem PGT-Erzeuger beziehen und die Daten an den PGT-Nutzer über den PGT-Client 10 kommunizieren.
  • Die Kommunikation zwischen einem PGT-Erzeuger und einem PGT-Nutzer kann über eine Reihe von unterschiedlichen, miteinander verbundenen kabelgebundenen und drahtlosen Netzwerken, darunter lokale Netzwerke (LAN), Weitverkehrsnetze (WAN), Ethernet, Mobilfunknetze und das Internet, erfolgen. Wenn eine Kommunikationssitzung zwischen einem PGT-Erzeuger und einem PGT-Nutzer über das Internet oder World Wide Web (WWW) initiiert wird, so ist das HyperText Transfer Protocol (HTTP) ein Protokoll auf der Anwendungsebene zum Abrufen verknüpfter Ressourcen. HTTP legt den Standard für Anforderungen und Antworten zwischen einem Client und einem Server fest. In verschiedenen beispielhaften Ausführungsformen der vorliegenden Offenbarung können HTTP-Clients, die an der Herstellung einer PGT-Aushandlungssitzung mit einem HTTP-Server interessiert sind, Endbenutzer-Softwaretools umfassen, die in ECMs oder Prozessoren integriert sind, die einer oder mehreren Maschinen oder Maschinenkomponenten zugeordnet sind. Diese PGT-Clients machen Anforderungen für Benutzer oder andere PGT-Nutzer in Übereinstimmung mit dem HTTP-Standard. Beispiele für HTTP-Server, die als die Agenten für PGT-Erzeuger fungieren können, können auch Webserver umfassen, die sichere Webseiten hosten, die für berechtigte Parteien wie Maschinenbesitzer, Ausrüstungserzeuger, Lieferanten, Verteilzentren, autorisierte Maschinenreparaturwerkstätten, Techniker und andere dritte Parteien, zugänglich sind. Die HTTP-Server können auch Server anderer Netzwerkressourcen umfassen, etwa andere ECMs und zentrale Verarbeitungseinheiten (CPUs), die anderen Maschinen oder Maschinenkomponenten zugeordnet und miteinander über das Internet oder andere Netzwerke verbunden sind. In einigen Ausführungsformen dieser Offenbarung können die PGT-Server CPUs umfassen, die sich in einem zentralen Steuerzentrum befinden und auf HTTP-Anforderungen von einem PGT-Client in der Form eines oder mehrerer Maschinenkomponenten reagieren.
  • Das Kommunikationssystem gemäß verschiedener beispielhafter Implementierungen dieser Offenbarung ermöglicht die dynamische Aushandlung der Gruppen von Parametern, die zwischen einem PGT-Server und einem PGT-Client ausgetauscht werden sollen, ohne die vorherige Festlegung eines statischen Satzes von Parametern zu erfordern. Die Verwendung von HTTP ermöglicht Flexibilität bei der Anpassung und Strukturierung von Kommunikationsfähigkeiten verschiedener Maschinenkomponenten, die Parameterdaten während des Maschinenbetriebs austauschen müssen, und erlaubt die Rückwärtskompatibilität zwischen Maschinenkomponenten, wenn einige der Komponenten ausgetauscht oder aktualisiert werden müssen. Die Verwendung von HTTP für die dynamische Aushandlung von Gruppen von Parametern, die zwischen einem PGT-Server und einem PGT-Client ausgetauscht werden sollen, spart auch Bandbreite und erlaubt die dynamische Strukturierung von Anforderungs- und Antwortnachrichten, die so maßgeschneidert sind, dass sie zu jedem Zeitpunkt oder jeder Aktualisierungsperiode nur die gewünschten Parameter bereitstellen. Gemäß weiterer Aspekte beispielhafter Ausführungsformen des offenbarten Kommunikationssystems können, nachdem eine Gruppe von Parametern zwischen einem PGT-Server und einem PGT-Client ausgehandelt wurde, dann Daten für die Gruppe von Parametern aktualisiert und auf periodischer Basis von dem PGT-Server an den PGT-Client unter Verwendung eines nachrichtenbasierten verbindungslosen Protokolls wie etwa User Datagram Protocol (UDP) kommuniziert werden. Gemäß weiterer Implementierungen des offenbarten Kommunikationssystems kann jede Aushandlungssitzung zwischen einem PGT-Server und einem PGT-Client die Aushandlung von mehr als einer Gruppe von Parametern umfassen. Jede ausgehandelte Parametergruppe kann ihre eigenen ausgehandelten Parameter umfassen, die dieselben wie die ausgehandelten Parameter in einer weiteren ausgehandelten Gruppe von Parametern sein können oder nicht, und zusätzliche UDP-Ports an dem PGT-Client können dazu ausgestaltet sein, periodische Aktualisierungen der Werte für diese ausgehandelten Parameter zu empfangen. Zusätzlich können eindeutige Aktualisierungsperioden zur Bereitstellung von Aktualisierungen der Werte der ausgehandelten Parameter in jeder der ausgehandelten Parametergruppen ausgehandelt werden.
  • Wenn ein HTTP-Client eine HTTP-Anforderung initiiert, stellt er in der Regel zuerst eine Verbindung über das Transfer Control Protocol (TCP) mit einem dedizierten Port an einem HTTP-Server her. Die Herstellung der TCP-Verbindung setzt einen dreifachen Handshake ein. Als Erstes initiiert der PGT-Client die Herstellung der Verbindung durch Senden einer Verbindungsanforderung an den PGT-Server. In Ansprechen darauf antwortet der Server mit einer Bestätigung der Verbindungsanforderung. Schließlich sendet der Client eine Bestätigung an den Server über den Erhalt der Bestätigung von dem Server. An diesem Punkt ist die TCP-Verbindung zwischen dem Client und dem Server hergestellt, und der Client und der Server können untereinander den Datentransfer über die hergestellte TCP-Verbindung beginnen. Verschiedene Implementierungen dieser Offenbarung setzen UDP für den Datentransfer periodisch aktualisierter Parameterdaten ein, statt die Herstellung einer TCP-Verbindung zwischen dem Client und dem Server zu erfordern. Die Nachrichten, die die aktualisierten Parameterdaten tragen, nachdem die Parameter ausgehandelt wurden, können effizient unter Verwendung eines nachrichtenbasierten, verbindungslosen Protokolls ausgetauscht werden, das keine Handshake-Dialoge erfordern, um die Zuverlässigkeit, Sequenzialität oder Datenintegrität zu garantieren. Mit UDP können Anwendungen Nachrichten, in diesem Fall als Datagramme oder Datenpakete bezeichnet, an andere Hosts an einem IP-Netzwerk senden, ohne vorher Kommunikationen zu erfordern, um spezielle Übertragungskanäle oder Datenpfade einzurichten. Daher können nach der dynamischen Festlegung einer oder mehrerer ausgehandelter Gruppen von Parametern, die zwischen dem PGT-Server und dem PGT-Client über HTTP ausgetauscht werden sollen, Aktualisierungen für die ausgehandelten Parameter effizient und schnell an die Clients, wie etwa verschiedene Maschinenkomponenten, unter Verwendung von UDP kommuniziert werden. Die in den UDP-Nachrichten bereitgestellten Daten können als binäre Daten mit einem Sitzungs-Header und einem Nachrichtenkörper enthaltend Parameterdaten formatiert sein. Die Daten in den UDP-Nachrichten können auf der Grundlage der Identifikatoren von Parametern, die bereits über HTTP zwischen dem PGT-Server und dem PGT-Client ausgehandelt wurden, geparst werden. Jede UDP-Nachricht mit Aktualisierungen für die Daten, die jedem ausgehandelten Parameter zugeordnet sind, umfasst mehrere Datenfelder, welche die Sitzungsgruppen-Header und gemäß den Parameterdefinitionen formatierte binäre Daten enthalten können.
  • In der beispielhaften, in 1 gezeigten Ausführungsform kann eine Aushandlung zwischen dem PGT-Server 20 und dem PGT-Client 10 unter Verwendung von HTTP-Anforderungen und -Antworten erfolgen, die über ein Parametergruppenübertragungs- oder PGT-Aushandlungs-Verarbeitungsmodul 341 gesendet und empfangen werden. Das PGT-Aushandlungs-Verarbeitungsmodul 341 kann dazu ausgestaltet sein, die Aushandlung der Parameter zu erleichtern, die zwischen dem PGT-Client 10 und dem PGT-Server 20 in einer Subroutine oder einem Modul „Parametergruppen aushandeln“ 18 kommuniziert werden sollen. Der Fachmann wird erkennen, dass die verschiedenen veranschaulichten Subroutinen oder Module, die als Teil des PGT-Aushandlungs-Verarbeitungsmoduls 341 in 1 dargestellt sind, als Software, Hardware, Firmware oder Kombinationen davon vorgesehen sind. Die Funktionalität des PGT-Aushandlungs-Verarbeitungsmoduls 341 kann auch zumindest zum Teil oder gänzlich in einen von PGT-Client und PGT-Server oder in beide integriert sein. Die ausgehandelten Parametergruppen können mit Unterstützung einer weiteren Subroutine oder eines weiteren Moduls „Parametergruppen-Daten kommunizieren“ 16 kommuniziert werden. Sobald eine anfängliche Gruppe von Parametern ausgehandelt und zwischen dem Client 10 und dem 20 kommuniziert wurde, kann die Gruppe von Parametern periodisch unter Einsatz einer weiteren Subroutine oder eines weiteren Moduls „Parametergruppen-Daten periodisch kommunizieren“ 14 aktualisiert werden. Schließlich kann die Kommunikation von Parametergruppen zwischen dem Client 10 und dem Server 20, wenn ursprüngliche Versuche, zu einer ausgehandelten Gruppe von Parametern zu kommen, fehlschlagen, unter Einsatz noch einer weiteren Subroutine oder eines weiteren Moduls „Parametergruppen-Kommunikation erneut versuchen“ 12 erneut versucht werden. 2 veranschaulicht ein Flussdiagramm mit den Schritten, die in einer beispielhaften Implementierung der Aushandlung von Gruppen von Parametern, die zwischen einem PGT-Server und einem PGT-Client ausgeführt werden können, sowie zur periodischen Aktualisierung von Daten für die ausgehandelten Parameter, die an den PGT-Client kommuniziert werden können. Die Details der beispielhaften Abfolge von Schritten, die in 2 veranschaulicht wird, wird im folgenden Abschnitt erläutert.
  • 3 zeigt eine beispielhafte Ausführungsform des beispielhaften Kommunikationssystems 340, das in 1 dargestellt ist. Der PGT-Server 20 kann dazu ausgestaltet sein, einen Serverspeicher 342, ein Server-HTTP-Übertragungsmodul 343, ein Server-XML-Erzeugungsmodul 344 (für Extensible Markup Language), und ein Server-UDP-Datenfeld-Erzeugungsmodul 345 zu umfassen. Der Serverspeicher 342 kann dazu ausgestaltet sein, von dem Server unterstützte Sitzungs-Zeitbegrenzungen, von dem Server unterstützte Aktualisierungsperioden und von dem Server unterstützte Parameter zu speichern. Da das offenbarte Kommunikationssystem keine Festlegung einer statisch definierten Gruppe von Parametern erfordert, und jeder Client dynamisch nur die spezifischen Parameter aushandeln kann, die zu einem konkreten Zeitpunkt erforderlich sind, gibt es die Möglichkeit, dass ein konkreter Client aus der Kommunikation mit einem Server entweder absichtlich oder ungewollt herausfällt. In dieser Situation können die Serverressourcen besser auf andere Verwendungen umgeleitet werden, statt weiter zu versuchen, aktualisierte Parameterdaten an den Client zu senden, der nicht länger aktualisierte Daten für die ausgehandelten Parameter benötigt oder wünscht. Daher kann jeder Client von der Möglichkeit, gewünschte Sitzungs-Zeitbegrenzungen anzugeben, profitieren. Jeder Client kann auch dazu ausgestaltet sein, sog. „Keep-Alive“-Nachrichten an einen Server zu kommunizieren, indem der Server auf periodischer Basis angestoßen wird, wenn der Client weiter Aktualisierungen für Daten möchte, die den ausgehandelten Parametern zugeordnet sind.
  • XML ist ein System zur Annotierung eines Dokuments auf eine Weise, die sich von dem Text in dem Dokument unterscheidet, und zwar in Übereinstimmung mit einem Satz von Regeln, die das Dokument in einem Format kodieren, das sowohl für Menschen als auch Maschinen lesbar ist. Gemäß verschiedener Implementierungen dieser Offenbarung kann der Inhaltstyp der Anforderungs- und Antwort-Nachrichtenkörper, die zwischen dem PGT-Server 20 und dem PGT-Client 10 ausgetauscht werden, XML sein. Der PGT-Server 20 kann dazu ausgestaltet sein, eine Antwort an den PGT-Client 10 in der Form einer XML-formatierten Nachricht zu erzeugen, die an den PGT-Client über HTTP kommuniziert werden kann. Aktualisierungen der Parameterdaten, die zwischen dem PGT-Server 20 und dem PGT-Client 10 kommuniziert werden, können mit einem UDP-Datenfeld enthaltend einen Sitzungsgruppen-Header und binäre Daten, die gemäß Parameterdefinitionen formatiert sind, gesendet werden. Das Server-UDP-Datenfeld-Erzeugungsmodul 345 ist dazu ausgestaltet, den Austausch der Nachrichten mit periodisch aktualisierten Parameterdaten direkt an die Zieladresse und den identifizierten UDP-Port des Clients zu aktivieren.
  • Der PGT-Client 10 kann dazu ausgestaltet sein, eine oder mehrere Datenbanken und/oder Speicher 346 zu umfassen. Der PGT-Client kann auch eine Vielzahl von Eingabe/Ausgabe- oder I/O-Einrichtungen umfassen, darunter einen oder mehrere UDP-Ports 347, eine Bedienerschnittstelle, wie etwa eine grafische Benutzerschnittstelle (GUI) 348, und ein Client-Parameteridentifikationsmodul 349. Das Client-Parameteridentifikationsmodul 349 ist dazu ausgestaltet, Identifikatoren der gewünschten Parameter, die mit dem PGT-Server 20 über das PGT-Aushandlungs-Verarbeitungsmodul 341 ausgehandelt werden sollen, bereitzustellen. Das Client-Parameteridentifikationsmodul 349 kann dazu ausgestaltet sein, in Echtzeit in Abhängigkeit von den konkreten Bedürfnissen der zugehörigen Maschine oder Maschinenkomponente zu einem beliebigen Zeitpunkt oder unter spezifischen Betriebsbedingungen dynamisch die Gruppe von gewünschten Parametern zu aktualisieren. Wie oben erläutert erfolgen diese Aushandlungen effizient über HTTP. Während der Aushandlungssitzungen zwischen dem PGT-Server 20 und dem PGT-Client 10 kann der PGT-Server 20 bestimmen, dass einige oder alle der von dem PGT-Client angeforderten Parameter für eine konkrete Gruppe von Parametern nicht von dem PGT-Erzeuger unterstützt werden, und daher ist der PGT-Server 20 nicht in der Lage, die Anforderung, die von dem PGT-Client über HTTP kommend empfangen wurde, zu akzeptieren. In einigen Implementierungen können die ausgehandelten Parameter, die in eine konkrete ausgehandelte Gruppe von Parametern einbezogen sind, von dem PGT-Server nicht unterstützt werden, während Parameter in einer anderen Gruppe von Parametern, die während derselben Sitzung ausgehandelt werden, von dem PGT-Server unterstützt werden. Als Ergebnis können, wenn mehrere Gruppen von Parametern zwischen einem PGT-Server und einem PGT-Client während derselben Aushandlungssitzung ausgehandelt werden, einige der Gruppen nicht unterstützt werden, während andere Gruppen von Parametern unterstützt werden.
  • Die erfolgreich zwischen dem PGT-Erzeuger (Server) 20 und dem PGT-Nutzer (Client) 10 ausgehandelten und kommunizierten Parameter können alle Typen von gemessenen und berechneten Daten umfassen, die mit dem Betrieb verschiedener Maschinen und Maschinenkomponenten in Beziehung stehen. Der Begriff Maschine soll sich, so wie er hierin verwendet wird, auf eine feststehende oder mobile Maschine beziehen, die eine gewisse Art von Betrieb ausführt, der mit einer Industrie, wie beispielsweise Bergbau, Bau, Landwirtschaft, etc. in Verbindung steht und zwischen oder innerhalb von Arbeitsumgebungen (z. B., einer Baustelle, einer Mine, einem Kraftwerk etc.) arbeitet. Ein Beispiel für eine feststehende Maschine umfasst ein Motorsystem, das in einer Fabrik oder einer küstenfernen Umgebung betrieben wird (z. B. einer küstenfernen Bohrplattform). Beispiele für eine mobile Maschine umfassen beliebige gewerbliche Maschinen, etwa Lastwagen, Kräne, Erdbewegungsfahrzeuge, Bergbaufahrzeuge, Baggerlader, Materialmanipulationsanlagen, landwirtschaftliche Geräte, geländegängige Fahrzeuge oder beliebige andere bewegliche Maschinen, die in einer Arbeitsumgebung betrieben werden.
  • Eine Maschine kann eine oder mehrere Maschinenkomponenten, Geräte, oder Systeme umfassen, die zusammenwirken, um die der Maschine zugeordneten Betriebsvorgänge zu steuern und/oder zu überwachen. Zum Beispiel kann die Maschine unter anderem ein oder mehrere elektronische Steuermodule (ECMs), ein System zur Synchronisation der Konfiguration, und eine Anzeigevorrichtung oder andere Form von Bedienerschnittstelle umfassen. Die ECMs können dazu ausgestaltet sein, einen Betrieb, der der einen oder den mehreren Komponenten der Maschine zugeordnet ist, zu überwachen und/oder zu steuern. Zum Beispiel können die ECMs jeweils Daten empfangen, die auf betriebliche Eigenschaften einer konkreten Komponente hinweisen, die durch eine oder mehrere Überwachungseinrichtungen und/oder Sensoren während eines Betriebs der Maschine gesammelt werden. In einer beispielhaften Implementierung kann ein ECM einem Verbrennungsmotor an der Maschine zugeordnet sein, um einen Betrieb des Motors zu überwachen und/oder zu steuern. Insbesondere kann ein ECM betätigbar sein, um einen Abgasdruck des Motors, eine Strömungsrate oder eine Temperatur von Fluid, das durch das Kühlsystem des Motors strömt, ein Luft-/Kraftstoff-Gemisch, das an eine Verbrennungskammer geliefert wird, einen Gassensor eines Abgassystems des Motors, oder eine beliebige andere Funktion des Verbrennungsmotors zu überwachen und/oder zu steuern. Zusätzliche Steuerungsaspekte eines oder mehrerer ECMs können einem Abgasregenerationssystem zugeordnet sein, das einer Maschine zugeordnet ist. Zum Beispiel kann ein ECM betätigbar sein, um einen konkreten Sensor zu überwachen und/oder zu steuern, der einem Partikelfilter, einem regenerativen Element, das einem Partikelfilter zugeordnet ist, einem Abgasströmungssensor, der dem Abgassystem zugeordnet ist, oder einem beliebigen anderen Aspekt zugeordnet ist, der dem Regenerationssystem zugeordnet ist.
  • Ein oder mehrere der ECMs können einen Prozessor umfassen, der als der PGT-Server fungiert, und ein anderes ECM oder eine andere Maschinenkomponente kann einen Prozessor umfassen, der als der PGT-Client fungiert. Alternativ oder zusätzlich kann zumindest einer von PGT-Server und PGT-Client vollständig von jeglichen ECMs oder Maschinenkomponenten getrennt sein, die direkt verschiedene Funktionen der Maschine steuern oder durchführen. Ein Zweck des Kommunikationssystems mit einem PGT-Server, einem PGT-Client, und einem PGT-Aushandlungs-Verarbeitungsmodul besteht darin, die dynamische Aushandlung einer Gruppe von Parametern, die an den Client von dem Server kommuniziert werden sollen, und die effiziente periodische Aktualisierung von Daten, die den ausgehandelten Parametern zugeordnet sind, zu erleichtern. Das offenbarte Kommunikationssystem erlaubt dem Server und dem Client auch, Sitzungs-Zeitbegrenzungen und Aktualisierungsperioden auszuhandeln, in welchen die vereinbarte Gruppe von Parametern auf der Grundlage neuer Daten aktualisiert werden, wobei die Parameter in die kommunizierten Gruppen von Parametern eingeschlossen sind.
  • Der PGT-Server und der PGT-Client können beide jeweils einen oder mehrere Prozessoren umfassen, die Anweisungen ausführen und Daten verarbeiten können, um einen oder mehrere Prozesse auszuführen, die dem offenbarten Kommunikationssystem zugeordnet sind. Zum Beispiel können die Prozessoren, die dem Server und dem Client zugeordnet sind, Software ausführen, die einem System zur Synchronisation der Konfiguration ermöglicht, Konfigurationsdaten von einem oder mehreren Steuermodulen anzufordern oder zu empfangen. Die Prozessoren können die Betriebsparameter, die dem System zur Synchronisation der Konfiguration zugeordnet sind, auf der Grundlage der empfangenen Konfigurationsdaten und dem bestimmten Maschinentyp aktualisieren. Die Prozessoren können auch Software ausführen, die Betriebsdaten auf Grundlage der Konfigurationsdaten sammelt und an ein oder mehrere nicht an Bord befindliche Systeme verteilt.
  • Gewerbliche Anwendbarkeit
  • Die offenbarten Ausführungsformen des Kommunikationssystems 340 zum Aushandeln und Kommunizieren von Gruppen von Parametern zwischen dem PGT-Server 20 und dem PGT-Client 10 kann erhöhte Effizienz, Anpassbarkeit und Zuverlässigkeit im Austausch von Daten bereitstellen, die verschiedenen, bei der Steuerung und Überwachung der Funktion verschiedener Maschinen und Maschinenkomponenten verwendeten Betriebsparametern zugeordnet sind. Maschinenkomponenten wie etwa ECUs, ECMs und andere Einrichtungen, die von exakten und zeitgerechten Eingaben und Aktualisierungen verschiedener Formen von erfassten Daten abhängig sind, können von der Fähigkeit des Kommunikationssystems gemäß dieser Offenbarung profitieren, um dynamisch auszuhandeln, welche Parameter genau zu einem konkreten Zeitpunkt notwendig sind. Die dynamische Aushandlung zwischen einem Parametergruppen-Erzeuger und einem Parametergruppen-Nutzer kann rasch, spontan und mit einem Minimum an erforderlicher Bandbreite durchgeführt werden, indem Anforderungs- und Antwortnachrichten zwischen einem PGT-Server, der dem PGT-Erzeuger zugeordnet ist, und einem PGT-Client, der dem PGT-Nutzer zugeordnet ist, über HTTP gesendet werden. Die Verwendung von HTTP stellt auch sicher, dass, wenn neue Maschinen zu einer Flotte von Maschinen hinzugefügt werden, neue Maschinenkomponenten zu einer Maschine hinzugefügt werden, oder bestehende Maschinen oder Maschinenkomponenten repariert oder aktualisiert werden, das offenbarte Kommunikationssystem für die Rückwärtskompatibilität zwischen den Komponenten des Client mit ihren gewünschten Gruppen von Parametern und einem Server, der einem Erzeuger oder einem Ursprung von Gruppen von Parametern zugeordnet ist, sorgt.
  • In den beispielhaften Ausführungsformen eines Kommunikationssystems gemäß dieser Offenbarung können die Anforderungs- und Antwortnachrichten, die über HTTP zwischen dem PGT-Client 10 und dem PGT-Server 20 während der anfänglichen Aushandlungen ausgetauscht werden, um exakt zu bestimmen, welche Parameter in der übertragenen Parametergruppe enthalten sind, auch mit dem XML-Format in den Körpern der Nachrichten strukturiert sein. Nachdem die Aushandlungen zur Identifikation von konkreten Parametern geführt haben, die in einer oder mehreren Gruppen von Parametern ausgetauscht werden sollen, können aktualisierte Parameterdaten, die den ausgehandelten Parametern zugeordnet sind, an den PGT-Client 10 unter Verwendung von UDP-Nachrichten gesendet werden, wodurch die Effizienz und Rechtzeitigkeit der Aktualisierungen stark verbessert wird.
  • Unter Bezugnahme auf 2 wird dort ein Ablaufdiagramm gezeigt, mit beispielhaften Schritten, die durch das PGT-Aushandlungs-Verarbeitungsmodul 341 des in 1 und 3 veranschaulichten Kommunikationssystems 340 während einer Aushandlungssitzung zwischen einem PGT-Server 20 und einem PGT-Client 10 ausgeführt werden können. Nach dem Start 200 können ein oder mehrere PGT-Clients eine Aushandlungssitzung mit einem oder mehreren PGT-Servern über HTTP (Schritt: 204) anfordern. Der oder die PGT-Clients können gewünschte Sitzungs-Zeitbegrenzungen von der Datenbank / dem Speicher 346 (Schritt: 202) abrufen, und die Anforderungsnachricht(en), die an den PGT-Server 20 über das PGT-Aushandlungs-Verarbeitungsmodul 341 gesendet wird/werden, kann/können XML-formatierten Inhalt mit den von dem Client gewünschten Sitzungs-Zeitbegrenzungen (Schritt: 206) umfassen. Auf den Empfang einer Anforderungsnachricht über HTTP an dem PGT-Server folgend kann der Server bestimmen, ob verfügbare Ressourcen es dem Server erlauben, die Aushandlungssitzung mit dem Client (Schritt: 208) durchzuführen. Ist der Server nicht in der Lage, die Sitzung zum Zeitpunkt des Empfangs der Anforderung (Schritt: 208 = Nein) zu unterstützen, kann der Server eine Zurückweisungsantwortnachricht an den Client über HTTP (Schritt 210) senden, und die ersten Versuche, eine Aushandlungssitzung herzustellen, können bei Schritt 216 enden. Wie oben erläutert kann jede Aushandlungssitzung zwischen einem PGT-Client und einem PGT-Server die Aushandlung von mehr als einer Gruppe von Parametern umfassen, die jeweils eigene ausgehandelte Parameter, einen eigenen zugeordneten UDP-Port an dem PGT-Client zum Erhalt der Aktualisierungen von Werten für die ausgehandelten Parameter und eine eigene angeforderte Aktualisierungsperiode umfassen.
  • Wenn der Server bestimmt, dass er in der Lage ist, die Sitzungsanforderung von dem Client (Schritt: 208 = Ja) zu unterstützen, kann der Server dann eine Sitzungs-Zeitbegrenzung auswählen, die von allen in dem Serverspeicher 342 (Schritt: 212) gespeicherten, von dem Server unterstützten Sitzungs-Zeitbegrenzungen der von dem Client gewünschten Sitzungs-Zeitbegrenzung (Schritt 214) am nächsten kommt. Der Server kann dann eine Antwortnachricht zurück an den Client über HTTP senden und eine oder mehrere Aushandlungssitzungen mit der von dem Server unterstützten Zeitbegrenzung (Schritt: 218) schaffen, und der Inhalt der Antwortnachricht kann in einem XML-Format (Schritt 220) erzeugt werden.
  • In der in dem Ablaufdiagramm von 2 veranschaulichten beispielhaften Aushandlungssitzung kann das PGT-Aushandlungs-Verarbeitungsmodul 341 eine Zeit T1 identifizieren, die gleich der Hälfte der Zeitbegrenzung ist, die von dem Server während jeder Aushandlungssitzung (Schritt: 222) ausgewählt wurde, und den Client benachrichtigen, wenn die Zeit = T1 ist, so dass der Client dann eine Sitzungserneuerung von dem Server über HTTP (Schritt: 224) anfordern kann. Der Server kann die Sitzungs-Zeitbegrenzung an dem Punkt der Hälfte einer von dem Server unterstützten Zeitbegrenzung erneuern, oder zu einem beliebigen anderen ausgewählten Bruchteil einer ausgewählten Zeitbegrenzung (Schritt: 226), und dann dem Client über HTTP antworten, um den Client über den Erfolg der Erneuerung der Sitzungs-Zeitbegrenzung (Schritt: 228) zu benachrichtigen.
  • Nachdem eine Aushandlungssitzung zwischen einem PGT-Server und einem PGT-Client hergestellt wurde, kann der Client eine Nachricht an den Server über HTTP senden und eine konkrete Gruppe von Parametern (Schritt: 232) anfordern. Der Client kann die von dem Client gewünschte Zieladresse und den gewünschten UDP-Port, gewünschte Aktualisierungsperioden zum Empfangen der jedem Parameter zugeordneten Daten, und die Identifikatoren der gewünschten Parameter von der Datenbank / dem Speicher 346 (Schritt: 230) abrufen. Der Inhaltstyp der Anforderungsnachricht, die von dem Client an den Server gesendet wird, kann als XML (Schritt: 234) formatiert sein. Der Server kann die Anforderungsnachricht bewerten und bestimmen, ob der Server aktuell die Ressourcen hat, um die von dem Client gewünschte Gruppe von Parametern (Schritt: 236) zu unterstützen. Wenn der Server nicht in der Lage ist, die angeforderte Gruppe von Parametern zu unterstützen (Schritt: 236 = Nein), kann der Server dem Client dann mit einer Zurückweisung der Anforderung über HTTP (Schritt 238) antworten, was zum Beenden der versuchten Aushandlungssitzung in Schritt: 244 führt. Wenn der Server jedoch in der Lage ist, die angeforderte Gruppe von Parametern (Schritt: 236 = Ja) zu unterstützen, kann der Server dann jene Datenaktualisierungsperioden auswählen, die den von dem Client gewünschten Aktualisierungsperioden am nächsten liegen (Schritt 242), wobei der Server die von dem Server unterstützten Aktualisierungsperioden von dem Serverspeicher 342 (Schritt: 240) abruft.
  • Nachdem er die Serveraktualisierungsperioden ausgewählt hat, die den von dem Client gewünschten Aktualisierungsperioden am nächsten liegen, kann der Server dann Parameter auf der Grundlage der von dem Client gewünschten Parameter auswählen, die in die Gruppe von Parametern aufgenommen werden sollen (Schritt: 248). Der Server kann dann die ausgewählten Parameter aus den im Serverspeicher 342 gespeicherten von dem Server unterstützten Parametern auswählen (Schritt: 246). Wenn der Server bestimmt, dass er nicht zumindest einen der von dem Client gewünschten Parameter unterstützt (Schritt: 250 = Nein), kann der Server dann dem Client über HTTP antworten und die Anforderung des Clients für eine Parametergruppe zurückweisen (Schritt 252), was zum Beenden der Aushandlungssitzung in Schritt: 254 führt. Wenn jedoch der Server bestimmt, dass er zumindest einen der von dem Client gewünschten Parameter unterstützt (Schritt: 250 = Ja), kann der Server dann dem Client über HTTP mit der erzeugten Gruppe von Parametern (Schritt 256) antworten, wobei der Inhaltstyp der Antwortnachricht in XML formatiert ist (Schritt: 258).
  • Auf die Erzeugung einer erfolgreich ausgehandelten Gruppe von Parametern, für welche Daten von dem Server an den Client kommuniziert werden sollen (Schritt: 256), und nachdem die von dem Server ausgewählte Aktualisierungsperiode, die der von dem Client gewünschten Aktualisierungsperiode am nächsten liegt, abgelaufen ist (Schritt 260), kann der Server dann aktualisierte Parameterdaten über UDP an den UDP-Port des Clients senden (Schritt: 262). Das UDP-Datenfeld in jeder Nachricht, die an den Client gesendet werden kann, kann einen Sitzungsgruppen-Header umfassen, der die Aushandlungssitzung und die Gruppe von ausgehandelten Parametern identifiziert. Die UDP-Nachricht umfasst auch die tatsächlichen Daten, die jedem ausgehandelten Parameter zugeordnet sind, in der Form von binären Daten, die gemäß Parameterdefinitionen für die ausgehandelten Parameter formatiert sind. Der Fachmann wird erkennen, dass Variationen an der vorstehend beschriebenen Abfolge von Schritten in verschiedenen beispielhaften Implementierungen des Kommunikationssystems gemäß dieser Offenbarung umfasst sein können. Zusätzlich kann die Funktionalität, die durch einige oder alle der verschiedenen Schritte implementiert wird, in eine oder mehrere Verarbeitungseinheiten einbezogen sein können, die Teil eines oder mehrerer von PGT-Client 10, PGT-Server 20 und PGT-Aushandlungs-Verarbeitungsmodul 341 sind.
  • Dem Fachmann wird klar sein, dass verschiedene Modifikationen und Varianten an dem offenbarten Kommunikationssystem 340gemacht werden können, ohne von dem Schutzbereich der Offenbarung abzuweichen. Andere Ausführungsbeispiele der vorliegenden Offenbarung werden dem Fachmann aus einer Betrachtung der Beschreibung und einer praktischen Ausführung der vorliegenden Offenbarung klar sein. Es ist angedacht, dass die Spezifikation und die Beispiele als rein beispielhaft betrachtet werden, wobei der wahre Schutzbereich der vorliegenden Offenbarung durch die folgenden Ansprüche und deren Äquivalente beschrieben sind.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2016/0147883 [0004]

Claims (10)

  1. Computerimplementiertes Verfahren zum Aushandeln der Kommunikation von Gruppen von Parametern zwischen einem Server (20) und einem Client (10), wobei das Verfahren umfasst: Senden einer ersten Anforderung für eine Parameteraushandlungs-Sitzung von dem Client (10) an den Server (20) unter Verwendung von HTTP; Angeben der von dem Client gewünschten Sitzungs-Zeitbegrenzung für die Sitzung in der ersten Anforderung; Empfangen einer XML-formatierten Nachricht, die von dem Server über HTTP gesendet wird und angibt, ob der Server in der Lage ist, die angeforderte Sitzung zu unterstützen, an dem Client; Senden einer zweiten Anforderung für eine Gruppe von gewünschten Parametern von dem Server mit einer XML-formatierten Nachricht über HTTP von dem Client, wobei die Nachricht umfasst: die vom Client gewünschte Zieladresse, die vom Client gewünschte Aktualisierungsperiode zum Empfangen aktualisierter Parameterdaten, Identifikation eines UDP-Ports des Client für den Erhalt aktualisierter Parameterdaten von dem Server in einem UDP-Datenpaket, und Identifikatoren für Parameter, die von dem Client gewünscht werden; Empfangen einer XML-formatierten Nachricht, die von dem Server (20) über HTTP gesendet wird und angibt, ob der Server (20) in der Lage ist, die zweite, von dem Client (10) erhaltene Anforderung zu unterstützen, an dem Client (10); wenn der Server in der Lage ist, die zweite Anforderung zu unterstützen, Empfangen einer XML-formatierten Nachricht, die von dem Server über HTTP gesendet wird und eine vom Server unterstützte Gruppe von Parametern auf Grundlage der von dem Client gewünschten Parameter enthält, an dem Client; und Empfangen, an dem UDP-Port des Clients, eines UDP-Datenpakets, das aktualisierte Parameterdaten entsprechend einem jeden der vom Server unterstützten Parameter, nach einer von dem Server unterstützten Aktualisierungsperiode entsprechend der vom Client gewünschten Aktualisierungsperiode.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die angibt, dass der Server (20) nicht in der Lage ist, die angeforderte Parameteraushandlungs-Sitzung mit dem Client (10) in Ansprechen auf die erste Anforderung zu unterstützen.
  3. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die angibt, dass der Server (20) nicht in der Lage ist, die angeforderte Parameteraushandlungs-Sitzung mit dem Client (10) in Ansprechen auf die zweite Anforderung zu unterstützen.
  4. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die eine von dem Server ausgewählte Sitzungs-Zeitbegrenzung angibt, welche die der von dem Client gewünschten Sitzungs-Zeitbegrenzung von jenen Sitzungs-Zeitbegrenzungen, die von dem Server unterstützt werden, am nächsten liegende verfügbare Sitzungs-Zeitbegrenzung ist.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die eine von dem Server ausgewählte Aktualisierungsperiode angibt, welche die der von dem Client gewünschten Aktualisierungsperiode von jenen Aktualisierungsperioden, die von dem Server unterstützt werden, am nächsten liegende Aktualisierungsperiode ist.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die eine von dem Server ausgewählte Gruppe von Parametern auf Grundlage der von dem Client gewünschten Gruppe von Parametern angibt.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die angibt, dass die angeforderte Parameteraushandlungs-Sitzung beendet wird, wenn der Server (20) nicht in der Lage ist, zumindest einen der Parameter in der von dem Client gewünschten Gruppe von Parametern zu unterstützen.
  8. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Client (10) eine XML-formatierte Antwort von dem Server (20) über HTTP empfängt, die eine von dem Server unterstützte Gruppe von Parametern auf Grundlage der von dem Client gewünschten Gruppe von Parametern angibt und zumindest einen der von dem Client gewünschten Gruppe von Parametern umfasst.
  9. Computerimplementiertes Verfahren nach Anspruch 8, wobei der Client (10) darauffolgende aktualisierte XML-formatierte Antworten von dem Server (20) auf von dem Server unterstützte Aktualisierungsperioden folgend auf der Grundlage der von dem Client gewünschten Aktualisierungsperiode empfängt, wobei jede XML-formatierte Antwort als ein UDP-Datenpaket enthaltend Parameterdaten an dem UDP-Port des Clients empfangen wird.
  10. Kommunikationssystem (340), das dazu ausgestaltet ist, dynamisch Gruppen von Maschinenbetriebsparametern auszuhandeln, die von einem Erzeuger (20) der Parameter an einen Nutzer (10) der Parameter an einer Maschine kommuniziert werden sollen, und periodisch aktualisierte Parameterdaten an den Nutzer (10) der Parameter zu kommunizieren, wobei das Kommunikationssystem (340) umfasst: einen Prozessor, der dem Nutzer (10) der Parameter an der Maschine zugeordnet ist, wobei der Prozessor dazu ausgestaltet ist: eine erste Anforderung für eine Parameteraushandlungs-Sitzung von dem Nutzer (10) an den Erzeuger (20) unter Verwendung von HTTP zu senden; die von dem Nutzer gewünschte Sitzungs-Zeitbegrenzung für die Sitzung in der ersten Anforderung anzugeben; eine XML-formatierte Nachricht, die von dem Erzeuger (20) über HTTP gesendet wird, an dem Nutzer (10) zu empfangen, die angibt, ob der Erzeuger in der Lage ist, die angeforderte Sitzung zu unterstützen; von dem Nutzer (10) eine zweite Anforderung für eine Gruppe von gewünschten Parametern von dem Erzeuger (20) mit einer XML-formatierten Nachricht über HTTP zu senden, wobei die Nachricht umfasst: die vom Nutzer gewünschte Zieladresse, die vom Nutzer gewünschte Aktualisierungsperiode zum Empfangen aktualisierter Parameterdaten, Identifikation eines UDP-Ports des Nutzer für den Erhalt aktualisierter Parameterdaten von dem Erzeuger in einem UDP-Datenpaket, und Identifikatoren für Parameter, die von dem Nutzer gewünscht werden; eine XML-formatierte Nachricht, die von dem Erzeuger (20) über HTTP gesendet wird und angibt, ob der Erzeuger in der Lage ist, die zweite, von dem Nutzer erhaltene Anforderung zu unterstützen, an dem Nutzer (10) zu empfangen; wenn der Erzeuger in der Lage ist, die zweite Anforderung zu unterstützen, eine XML-formatierte Nachricht, die von dem Erzeuger (20) über HTTP gesendet wird und eine von dem Erzeuger unterstützte Gruppe von Parametern enthält, auf Grundlage der von dem Nutzer gewünschten Parameter an dem Nutzer (10) zu empfangen; und an dem UDP-Port des Nutzers ein UDP-Datenpaket, das aktualisierte Parameterdaten entsprechend einem jeden der von dem Erzeuger unterstützten Parameter, nach einer von dem Erzeuger unterstützten Aktualisierungsperiode entsprechend der vom Client gewünschten Aktualisierungsperiode zu empfangen.
DE102017219173.2A 2016-10-28 2017-10-25 System und verfahren zum kommunizieren von ausgehandelten parametern Ceased DE102017219173A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/337,615 US10334052B2 (en) 2016-10-28 2016-10-28 System and method for communicating negotiated groups of parameters
US15/337,615 2016-10-28

Publications (1)

Publication Number Publication Date
DE102017219173A1 true DE102017219173A1 (de) 2018-05-03

Family

ID=61912576

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017219173.2A Ceased DE102017219173A1 (de) 2016-10-28 2017-10-25 System und verfahren zum kommunizieren von ausgehandelten parametern

Country Status (3)

Country Link
US (1) US10334052B2 (de)
AU (1) AU2017248430B2 (de)
DE (1) DE102017219173A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277280B2 (en) * 2018-03-19 2022-03-15 Cable Television Laboratories, Inc. Content centric networking systems and methods
US11275485B2 (en) * 2018-06-15 2022-03-15 Sap Se Data processing pipeline engine
CN110858146B (zh) * 2018-08-23 2024-04-12 阿里巴巴新加坡控股有限公司 数据处理方法、装置和机器可读介质
US11201925B2 (en) * 2020-04-28 2021-12-14 Caterpillar Inc. Communicating parameters based on a change

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147883A1 (en) 2015-12-29 2016-05-26 Carterpillar Inc. Method and system for determining defects per unit of a product

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6892230B1 (en) * 1999-06-11 2005-05-10 Microsoft Corporation Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US20030028577A1 (en) 2001-04-30 2003-02-06 Chia-Chu Dorland HTTP distributed XML-based automated event polling for network and E-service management
US8015595B2 (en) * 2004-09-23 2011-09-06 Igt Methods and apparatus for negotiating communications within a gaming network
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US9129233B2 (en) * 2006-02-15 2015-09-08 Catepillar Inc. System and method for training a machine operator
US8245285B1 (en) * 2006-09-22 2012-08-14 Oracle America, Inc. Transport-level web application security on a resource-constrained device
CN101212316A (zh) * 2006-12-25 2008-07-02 华为技术有限公司 一种多方会话中基于媒体流计费的方法及系统
EP2178264B1 (de) 2008-10-17 2011-08-03 Canon Europa N.V. Multiprotokoll-Druckclient-Serverkommunikation
WO2011057678A1 (en) * 2009-11-16 2011-05-19 Telefonaktiebolaget Lm Ericsson (Publ) Secure xdm communication between ims networks
US20110145319A1 (en) * 2009-12-15 2011-06-16 Dolan Michael F Group session management and admission control of multiple internet protocol flows
EP2355453B1 (de) * 2010-02-01 2012-08-29 Alcatel Lucent Qualitätsparameterverhandlung mittels eines spezifischen URIs
CA2859163C (en) * 2011-12-14 2020-03-31 Level 3 Communications, Llc Content delivery network
US9215131B2 (en) 2012-06-29 2015-12-15 Cisco Technology, Inc. Methods for exchanging network management messages using UDP over HTTP protocol
US9628542B2 (en) 2012-08-24 2017-04-18 Akamai Technologies, Inc. Hybrid HTTP and UDP content delivery
GB2513344B (en) 2013-04-23 2017-03-15 Gurulogic Microsystems Oy Communication system utilizing HTTP
KR102233812B1 (ko) 2014-07-30 2021-03-31 삼성전자주식회사 제조 공정에 있어서 설비로부터의 데이터를 처리하는 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147883A1 (en) 2015-12-29 2016-05-26 Carterpillar Inc. Method and system for determining defects per unit of a product

Also Published As

Publication number Publication date
AU2017248430B2 (en) 2019-05-02
US20180124185A1 (en) 2018-05-03
US10334052B2 (en) 2019-06-25
AU2017248430A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
DE102017219173A1 (de) System und verfahren zum kommunizieren von ausgehandelten parametern
DE112004000271T5 (de) Datenerfassung,-bündelung und -optimierung auf der Basis offener Netze zum Gebrauch in Prozess-Steuersystemen
EP3230856B1 (de) Verfahren zum update von firmware von geräten
DE102010029952A1 (de) Verfahren zum Integrieren von zumindest einem Feldgerät in ein Netzwerk der Automatisierungstechnik
EP1527554A2 (de) Rechnernetzwerk mit diagnoserechnerknoten
DE10343963A1 (de) Bereitstellung von Diagnoseinformationen
DE10251523A1 (de) System und Verfahren zur Bereitstellung von Daten und Diensten für Geräte, sowie Gerät, welches die bereitgestellten Daten und Dienste verwendet
DE102012112225B3 (de) Verfahren zum Austausch von gerätespezifischen Daten zwischen Geräten und/oder Systemen verschiedener Netzwerksysteme sowie Bussystem zur Durchführung des Verfahrens
DE102020128816A1 (de) Sichere protokollerfassung
DE102014000289A1 (de) Webservervorrichtung, Steuerverfahren und Programm dafür
EP1499999A2 (de) Verzeichnisdienst in einem automatisierungssystem
EP3175307B1 (de) Bereitstellen von prozesswerten in einer prozessanlage
EP3528064B1 (de) Steuerungssystem und zugehöriges verfahren zur inbetriebnahme, steuerung und überwachung für stromversorgungskomponenten
EP3985532A1 (de) Zertifikatsmanagement für technische anlagen
DE102016215612A1 (de) Verfahren zur Assoziation von Clients
WO2005015328A1 (de) System und verfahren zur web-basierten überwachung und steuerung mehrerer räumlich verteilter anlagen
DE102012003000A1 (de) Ferndiagnostizierung von Fahrzeugen
DE102019125393A1 (de) Vorrichtungen, Verfahren und Computerprogramme für einen Server, ein Verwaltungssystem und ein Fahrzeug
WO2021093928A1 (de) Verfahren und vorrichtung zum auffinden von subscribern unter verwendung des protokolls opc ua pubsub
EP1227379B1 (de) Verfahren und Vorrichtung zur Steuerung einer Maschine in einem Fertigungssystem
WO2019115580A1 (de) Verfahren zum betreiben eines dezentralen speichersystems
EP4046340B1 (de) Verfahren zum betreiben eines automatisierungssystems und dateninfrastruktur
WO2016092006A1 (de) Firmware-management-system sowie firmware-management-verfahren zum update von firmware von geräten
EP3560153B1 (de) Verfahren zum betreiben einer datenverarbeitungsanlage, datenverarbeitungsanlage
WO2005081078A1 (de) Verfahren und system zum bereitstellen von einstellwerten für elektrische geräte einer automatisierungsanlage

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: WAGNER & GEYER PARTNERSCHAFT MBB PATENT- UND R, DE

R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final