DE10260926A1 - Kommunikationsverfahren - Google Patents
Kommunikationsverfahren Download PDFInfo
- Publication number
- DE10260926A1 DE10260926A1 DE10260926A DE10260926A DE10260926A1 DE 10260926 A1 DE10260926 A1 DE 10260926A1 DE 10260926 A DE10260926 A DE 10260926A DE 10260926 A DE10260926 A DE 10260926A DE 10260926 A1 DE10260926 A1 DE 10260926A1
- Authority
- DE
- Germany
- Prior art keywords
- request
- client
- response
- server
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung bezieht sich allgemein auf die Kommunikation zwischen Computern, und im Besonderen ohne Beschränkung, auf ein Kommunikationsverfahren und System mit alternativen Anforderung-Antwort-Protokollen, wie HTTP und HTTPS.
- Hintergrund der Erfindung und Stand der Technik
- Hyper Text Transfer Protocol (HTTP) ist ein Anwendungsprotokoll, das zur Kommunikation zwischen einem Informationsserver und einem Client im Internet benutzt wird. HTTPS ist das HTTP Protokoll, welches den Secured Socket Layer (SSL) Mechanismus implementiert, der zur automatischen Verschlüsselung / Entschlüsselung von mittels HTTP transportierten Nachrichten dient. HTTP hat Kommunikationsverfahren, die die von einer Netzwerkanwendung durchzuführenden Operationen identifiziert (zum Beispiel Kommandos, die es Clients erlauben, Daten von einem Server anzufordern und Informationen an den Server zu senden).
- Beispielsweise zur Stellung einer HTTP Anforderung, die von einer Client-Anwendung generiert worden ist, kontaktiert der Client den HTTP Server und überträgt die Anforderung an den HTTP Server. Die Anforderung beinhaltet das Kommunikationskommando, welches für die Transaktion gefordert worden ist (z. B. GET zum Holen eine Objekts von dem Server, POST zum Ablegen von Daten an einem Objekt auf dem Server) und weitere benötigte Daten. Der HTTP Server antwortet direkt dem Client durch Sendung eines Status der Anforderung und / oder der angeforderten Informationen. Die Verbindung zwischen dem Client und dem HTTP Server wird dann beendet.
- Eine Client-Anforderung besteht daher aus der Errichtung einer Verbindung zwischen dem Client und dem HTTP Server, Ausführung der Anforderung und Beendigung der Verbindung. Der HTTP Server behält keine Status-Information über die Verbindung zurück, nachdem sie beendet worden ist. HTTP ist daher ein statusloses Anwendungsprotokoll. Dies bedeutet, dass ein Client verschiedene Anforderungen an einen HTTP Server stellen kann, aber jede einzelne Anforderung unabhängig von jeder anderen Anforderung behandelt wird. Der Server hat keine Erinnerung an irgendeine vorhergehende Anforderung.
- Für HTTP und HTTPS Kommunikation sind verschiedene Ports erforderlich. Die Zuordnung von Ports zu HTTP und HTTPS Kommunikation ist standardisiert: Port
80 ist der HTTP Port und Port443 ist der HTTPS Port. Die meisten Firewalls sind entsprechend konfiguriert, so dass Kommunikation durch den HTTP Port80 und den gesicherten HTTPS Port443 ermöglicht ist. - Port
80 ist der Standard („default") Port für HTTP Kommunikation und Port443 ist der Standard („default") Port für HTTPS Kommunikation. Jedoch ermöglichen es HTTP und HTTPS einen anderen Port auszuwählen, der von der Standardportzuordnung abweicht. Ein beliebiger Port kann dann ausgewählt werden, indem die gewünschte Portnummer hinter der Top-Level-Domain (TLD) der URL (Uniform Resource Locator) hinter einem Doppelpunkt angegeben wird, zum Beispiel http://www.domainname.tld:Port# or https://www.domainname.tld:Port#) - US Patent Nr. 6,212,640 zeigt ein Verfahren zur Ressourcenteilung auf dem Internet mittels HTTP. Wenn eine Anforderung, die von einer Anwendung an einen Server gestellt wird, abgelehnt wird, wird ein Server, der mit der Anwendung betraut werden kann, identifiziert, und die Anforderung wird an diesen Server übertragen. Ein Programmcode, der als „servlet" bezeichnet wird, ist auf diesem Server implementiert, und dient zur Annahme von Anforderungen von einer vertrauenswürdigen Anwendung. Die gestellten Anforderungen werden von dem „servlet" analysiert und an einen Ressourcenserver weitergeleitet, der die Anforderungen erfüllen kann. Eine Antwort von den Ressourcenserver wird von dem „servlet" zurück zu der anfordernden Anwendung geleitet.
- US Patent Nr. 6,412,009 zeigt ein Verfahren zur Verfügungstellung eines fortbestehenden HTTP-Tunnels. Dieses Verfahren erlaubt es, dass eine Terminal Session durch eine echtzeit bi-direktionale fortbestehende Verbindung mit dem gesamten System getragen wird. Die bi-direktionale fortbestehende Verbindung erlaubt eine Verschachtelung von mehreren Datennachrichten von dem Webclient mit mehreren Datennachrichten auf dem Webserver auf dem fortbestehenden HTTP-Tunnel.
- US Patent Nr. 6,233,688 zeigt ein generisches Benennungsschema für Fernzugriff und Überquerung einer Firewall in der Form eines Uniform Resource Locators. Das Verfahren zum Fernzugriff / Firewall-Überquerung wird für die Client-Anwendung transparent gemacht und somit kann ein weiteres Gebiet von Client-Anwendungen für die Daten-Session mit den Ressourcen hinter der Firewall ausgewählt werden.
- US Patent Nr. 6,081,900 zeigt ein Verfahren für sicheren Intranetzugrift. Webseiten, die von einem Zielserver an einen externen Client geschickt werden, werden auf nicht sichere URLs hin gescannt, zum Beispiel solche, die „HTTP://" beinhalten, und werden modifiziert, um diese sicher zu machen. Die Zielserver und ein Randserver benutzen verschiedene Kombinationen von sicheren und nicht sicheren Cache-Speichern.
- US Patent Nr. 5,657,390 zeigt ein Secure Socket Layer Anwendungsprogramm. In besonderem wird ein Handshake-Protokoll und ein Session-Schlüssel Erzeugungsschema zur Verfügung gestellt. Wenn ein Client und eine Serveranwendung das erste Mal eine Secure Socket Verbindung errichten, treten sie in ein Handshake-Protokoll ein, indem sie Sicherheitsprozeduren aushandeln, einen Master-Schlüssel produzieren und Session-Schlüssel generieren, die zur Verschlüsselung und Entschlüsselung von Informationen, die durch die Sockets-Verbindung übertragen werden, dienen.
- Die vorliegende Erfindung zielt darauf, ein Client-Server Kommunikationsverfahren zu schaffen, und zwar für alternative Anforderungs-Antwort-Protokolle, wie zum Beispiel für sicher und nicht sichere Kommunikation. Die vorliegende Erfindung ist ferner darauf gerichtet, ein entsprechendes Computersystem und Computerprogrammprodukt zu schaffen.
- Zusammenfassung der Erfindung
- Die vorliegende Erfindung schafft ein Client-Server Kommunikationsverfahren, welches alternative Anforderungs- Antwortprotokolle, wie zum Beispiel HTTP und HTTPS Protokolle, unterstützt. Im wesentlichen ermöglicht es die Erfindung einen gemeinsamen Port für beide Protokolle zu benutzen. Dies wird dadurch erreicht, dass die entsprechenden Startcodes der Protokolle als ein Identifikationsmerkmal benutzt werden.
- Zum Beispiel wird das erte Byte einer Protokollanforderung, die von dem Server empfangen wird, als Startcode benutzt, um das Protokoll zu identifizieren, dass für die entsprechende Anforderung benutzt worden ist. Ein solcher Startcode an dem Anfang einer Anforderung markiert den Beginn der Benutzung des entsprechenden Protokolls in der Client-Server Kommunikation.
- Es ist jedoch nicht wesentlich, dass der Startcode an dem Beginn der Anforderung steht; der Startcode kann ebenso von dem Beginn um eine vordefinierte Anzahl von Bytes verschoben sein, oder er kann an einer anderen Stelle in dem Datenpaket der Anforderung eingebettet sein. In dem letzteren Fall ist eine automatische Syntax-Analyse („parsing") der Anforderung zur Identifizierung des Startcodes erforderlich.
- Im wesentlichen muss jedes der alternativen Anforderung-Antwort-Protokolle mittels entsprechender vordefinierter Startcodes oder einer Menge von vordefinierten Startcodes identifiziertbar sein.
- Die Benutzung nur eines einzigen gemeinsamen Ports für beide alternative Protokolle ist vorteilhaft sowohl zur effizienten Nutzung der zur Verfügung stehenden Systemressourcen und des Port-Nummer-Zahlenraums sowie auch zur Vereinfachung der Administration eines solchen Computersystems. Im Besonderen wird die Administration von Firewalls sehr vereinfacht, da nur eine einzige Port-Nummer konfiguriert zu werden braucht, um eine Kommunikation durch die Firewall mittels der alternativen Protokolle zu ermöglichen.
- Nach einer bevorzugten Ausführungsform der Erfindung werden der standardmäßige HTTP Port
80 oder der standardmäßige HTTPS Port443 als einziger gemeinsamer Port benutzt. Alternativ wird ein anderer Port, der von dem vorgegebenen HTTP und HTTPS Port verschieden ist, als gemeinsamer Port benutzt. - Wenn der standardmäßige HTTP Port
80 als der gemeinsame Port benutzt wird, muss die Standardeinstellung im Falle einer HTTP Anforderung nicht geändert werden. In einer HTTPS Anforderung muss die Port-Nummer80 angegeben werden, um die Standard HTTPS Porteinstellung auf die gemeinsame Porteinstellung umzustellen. - Nach einer weiteren bevorzugten Ausführungsform der Erfindung wird das erste Byte einer Client-Anforderung, die von einem Server empfangen wird, auf ein identifizierendes Merkmal des Protokolls, das für die Stellung des Anforderung benutzt worden ist, bewertet. Wenn das erste Byte ASCI-Buchstabencodes beinhaltet, so bedeutet dies, dass das HTTP Protokoll benutzt worden ist; wenn jedoch das erste Byte „0000 0001" ist, bedeutet dies, dass das HTTPS Protokoll für die Stellung der Client-Anforderung benutzt worden ist. Die Serverantwort wird entsprechend des identifizierten Protokolls getätigt.
- Im Allgemeinen ermöglicht es die Erfindung alternative Anforderungs-Antwort-Protokolle mit disjunkten Mengen von Startcodes zu benutzen, so dass basierend auf dem Startcode, der von dem Server empfangen wird, wenn eine Clientanforderung gestellt wird, der Protokolltyp, der von dem Client für die Stellung der Anforderung benutzt worden ist, identifiziert werden kann.
- Nach einer weiteren bevorzugten Ausführungsform der Erfindung ist der Client eine Server- oder eine Systemüberwachungsanwendung, wie zum Beispiel HP OpenView (www.openview.hp.com). Die Anwendung benutzt ein sicheres oder ein nicht sicheres Anforderungs-Antwort-Protokoll zur Lieferung von Warnungs- und / oder Statusdaten an einen externen Server in Abhängigkeit von der Art der zu übertragenden Daten. Die vorliegende Erfindung ermöglicht es, nur einen einzigen Port für sowohl die sichere als auch die nicht sicheren Protokolle zu verwenden.
- Kurze Beschreibung der Zeichnungen
- Im weiteren werden bevorzugte Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:
-
1 ein Flussdiagramm einer bevorzugten Ausführungsform eines Verfahrens der Erfindung, -
2 ein Objekt-Beziehungsdiagramm einer bevorzugten Ausführungsform eines Client-Server Kommunikationsverfahrens, -
3 ein Blockdiagramm einer bevorzugten Ausführungsform eines Computersystems der Erfindung. - Detaillierte Beschreibung
-
1 zeigt ein Flussdiagramm, das ein Verfahren der Erfindung veranschaulicht. In Schritt 100 wird eine Anforderung von einer Client-Anwendung an einen Server gerichtet. Es gibt alternative, sichere und nicht sichere Anforderungs-Antwortprotokolle zur Stellung der Client-Anforderung an den Server. Das nicht sichere Anforderungsprotokoll hat eine Menge von möglichen Startcodes, die disjunkt von der Menge von möglichen Startcodes des sicheren Anforderungs-Antwort-Protokolls ist. - In dem hier betrachteten Beispiel beinhaltet das erste Byte der Client-Anforderung den Startcode, der die zwei Protokolle voneinander unterscheidet. Wenn zum Beispiel das HTTP Protokoll als das nicht sichere Protokoll benutzt wird, ist das erste Byte in der Client-Anforderung immer ein ASCI-Buchstabencode. Wenn HTTPS als ein sicheres Protokoll benutzt wird, ist das erste Byte der Client-Anforderung immer „0000 0001".
- Zusätzlich zur Stellung der Client-Anforderung in dem Schritt 100, muss ein vordefinierter gemeinsamer Port für die sicheren und nicht sicheren Protokolle ausgewählt werden. Zum Beispiel können der HTTP Standardport
80 oder der HTTPS Standardport443 als gemeinsame Ports definiert werden. Alternativ kann ein beliebiger dritter Port als der gemeinsame Port benutzt werden. Im weiteren wird der vordefinierte gemeinsame Port als „Port A" bezeichnet. - Die Client-Anforderung hat daher das Format HTTP://www.domain.tld :portA/path wenn das HTTP Protokoll verwendet wird, oder HTTPS://www.domain.tld :portA/path wenn das HTTPS Protokoll verwendet wird. Wenn Port A der HTTP Port
80 ist, ist eine Angabe von Port A nicht erforderlich für den Fall einer HTTP Client-Anforderung, da es sich hierbei um den Standard für eine solche Anforderung handelt. Darüber hinaus ist die Angabe des Pfades („path") optional. - In Schritt 102 muss der Server hinsichtlich des zu benutzenden Protokolls eine Festlegung treffen. Wenn das erste Byte der Client-Anforderung, die von dem Server empfangen worden ist, ein ASCI-Buchstabencode ist, bedeutet dies, dass das HTTP Protokoll für die Client-Anforderung benutzt wird; wenn das erste Byte „0000 0001" ist, bedeutet dies, dass das HTTPS Protokoll zu benutzen ist.
- Wenn das erste Byte der Client-Anforderung mit dem entsprechenden Startcode ein ASCI-Buchstabencode ist, antwortet der Server auf die Client-Anforderung in Schritt 104 unter Benutzung des HTTP-Protokolls an dem gemeinsamen Port A; im gegenteiligen Fall, das heißt, wenn das erste Byte „0000 0001" ist, erfolgt die Antwort in Schritt 106 mittels des HTTPS Protokolls, ebenfalls an dem gemeinsamen Port A.
- Dieses Verfahren ist besonders vorteilhaft, da die Differenzierung der sicheren und nicht sicheren Protokolle mittels der entsprechenden Startcodes die Benutzung desselben Ports A ermöglicht, unabhängig von dem gewählten Anforderungs- Antwortprotokoll. Auf dieses Art und Weise ermöglicht es die Erfindung den zur Verfügung stehenden Portraum effizienter zu nutzen. Ferner wird die Systemadministration vereinfacht, da es nur eine einzige Port-Nummer für beide Protokolltypen gibt.
-
2 zeigt ein Objekt-Beziehungsdiagramm zur Darstellung der Kommunikation zwischen einem Client100 und einem Server102 . Anfangs sendet der Client100 eine Anforderung an den Server102 unter Verwendung des HTTP Protokolls oder alternativ des HTTPS Protokolls. Die Anforderung von dem Client100 an den Server102 wird über ein Computernetzwerk übertragen, wie zum Beispiel über das Internet, und zwar in der Form eines Datenpakets104 , welches eine Sequenz von Bytes beinhaltet. - Das erste Byte
106 der Sequenz von Bytes des Datenpakets104 beinhaltet den Startcode des Protokolls, das für die Anforderung benutzt worden ist. Im Falle von HTTP ist das erste Byte ein ASCI-Buchstabencode, wie zum Beispiel der ASCI-Code für „G", wenn die Anforderung eine GET-Anforderung ist, oder der ASCI-Code für „P", wenn die Anforderung eine POST-Anforderung ist. Wenn das Protokoll, das von dem Client100 benutzt worden ist, das HTTPS Protokoll ist, ist das erste Byte „0000 0001". - Wenn der Server
102 das erste Datenpaket104 der Anforderung empfängt, prüft er das Byte106 des Datenpakets 104, um festzustellen, ob das erste Byte „0000 0001" oder ein ASCI-Buchstabencode, wie zum Beispiel der ASCI-Code für G oder P ist. Wenn das erste Byte106 ein ASCI-Buchstabencode ist, impliziert dies, dass das HTTP Protokoll für die Anforderung benutzt worden ist; wenn das erste Byte „0000 0001" ist, bedeutet dies, dass das HTTPS Protokoll benutzt worden ist. Der Server102 wählt also dasselbe Protokoll, das von dem Client100 benutzt worden ist, um auf die Anforderung mittels Datenpaket108 zu antworten. - Da die Identifizierung des Protokolltyps basierend auf dem Startcodes der entsprechenden Protokolle erfolgt, anstatt anhand der Portnummer, kann ein gemeinsamer Port für die beiden alternativen Protokolle verwendet werden.
-
3 zeigt ein Blockdiagram eines Computersystems200 . Das Computersystem200 hat einen Unternehmensserver202 mit einem Anwendungsprogramm204 zur Systemüberwachung und Administrierung. Zum Beispiel ist die Anwendung204 ein Programm der OpenView Programmfamilie, die kommerziell von Hewlett-Packard erhältlich ist. Unternehmensserver202 hat ferner einen Speicher206 zur Speicherung der vordefinierten gemeinsamen Portnummer für die Client-Server Kommunikation mittels HTTP Protokoll208 und HTTPS Protokoll210 . - Unternehmensserver
202 ist mit dem IT Service Server210 über die Firewall214 , das Netzwerk216 und Firewall218 verknüpft. Die Firewall214 und218 sind zur Ermöglichung einer Kommunikation zwischen der Client-Anwendung204 des Unternehmensservers202 und dem IT Service Server214 über den gemeinsamen Port konfiguriert. Netzwerk216 ist ein Computernetzwerk, wie zum Beispiel das Internet. - IT Service Server
212 hat ein Serviceprogramm220 , um einen Service gegenüber dem System erbringen, welches von der Anwendung204 überwacht wird, und zwar auf Warn- und / oder Statusdaten, die von der Anwendung204 erhalten werden. Ferner hat der IT Service Server212 ein Protokollfestlegungsmodul222 zur Festlegung, ob das HTTP Protokoll208 oder das HTTPS Protokoll210 für eine bestimmte Client-Anforderung benutzt worden ist. Ferner hat der IT Service Server212 einen Speicher224 zur Speicherung der gemeinsamen Portnummer. - Beim Betrieb sammelt die Anwendung
204 Statusdaten oder generiert eine Warnung. In Abhängigkeit von der Art der Daten und / oder der Warnung wählt Anwendung204 das nicht sicher HTTP Protokoll208 oder das sicher HTTPS Protokoll210 . Anwendung204 gibt eine Client-Anforderung an den IT Service Server212 ab, nämlich an Serviceprogramm220 , und zwar über das ausgewählte Protokoll über die gemeinsame Portnummer, die in dem Speicher206 angegeben ist. Diese Client-Anforderung wird durch die Firewall214 , das Netzwerk216 und die Firewall218 an den IT Service Server212 übertragen. - Das Protokollfestlegungsmodul
222 fängt das erste Byte der Client-Anforderung von der Anwendung204 ab, um festzustellen, ob das HTTP Protokoll208 oder das HTTPS Protokoll210 von der Anwendung204 ausgewählt worden ist. Wenn das erste Byte einen ASCI-Buchstabencode beinhaltet, impliziert dies, dass das HTTP Protokoll208 ausgewählt worden ist; wenn jedoch das erste Byte „0000 0001" ist, bedeutet dies, dass das HTTPS Protokoll210 ausgewählt worden ist. - IT Service Server
212 verwendet das HTTP Protokoll208 oder alternativ das HTTPS Protokoll210 , um der Anwendung204 mit von dem Serviceprogramm220 gelieferten Servicedaten zu antworten, in Abhängigkeit von der Protokollfeststellung, die von dem Protokollfeststellungsmodul222 vorgenommen worden ist. Zur Sendung der Antwort wird wiederum der gemeinsame Port, der in dem Speicher224 gespeichert ist, verwendet. - Es ist darauf hinzuweisen, dass nur ein einziger Port für sowohl die sicheren als auch die nicht sicheren Protokolle erforderlich ist. Auf diese Art und Weise kann der zur Verfügung stehende Port-Nummern-Raum effizienter verwendet werden. Ferner wird die Administration des Computersystems
200 und insbesondere der Firewalls214 und218 sehr vereinfacht, da es nur eine einzige gemeinsame Portnummer für beide Typen von Kommunikationsprotokolls gibt. -
- 100
- Client
- 102
- Cerver
- 104
- Datenpaket
- 106
- Byte
- 108
- Datenpaket
- 200
- Computersysteme
- 202
- Unternehmensserver
- 204
- Anwendung
- 206
- Speicher
- 208
- HTTP Protokoll
- 210
- HTTPS Protokoll
- 212
- IT Service Server
- 214
- Firewall
- 216
- Netzwerk
- 218
- Firewall
- 220
- Serviceprogramm
- 222
- Protokollfeststellungsmodul
- 224
- Speicher
Claims (21)
- Client-Server Kommunikationsverfahren, wobei ein erstes Anforderungs-Antwort-Protokoll oder ein alternatives zweites Anforderungs-Antwort-Protokoll von einem Client zur Herstellung einer Verbindung mit einem Server benutzt wird, wobei das erste Anforderungs-Antwort-Protokoll eine erste Menge von Startcodes zur Initiierung der Errichtung der Verbindung und das zweite Anforderungs-Antwort-Protokoll eine zweite Menge von Startcodes zur Initiierung der Errichtung der Verbindung aufweist, wobei ein gemeinsamer vordefinierter Port für die ersten und zweiten Anforderungs-Antwort-Protokolle verwendet wird, und das Verfahren folgende Schritte umfasst: – Empfang einer Client-Anforderung durch den Server, wobei die Client-Anforderung einen Startcode der ersten und zweiten Mengen von Startcodes aufweist, – Feststellung des Anforderungs-Antwort-Protokolls der ersten und zweiten Anforderungs-Antwort-Protokolle, welches zur Beantwortung der Client-Anforderung zu benutzen ist, basierend auf dem Startcode.
- Client-Server Kommunikationsverfahren nach Anspruch 1, wobei das erste Anforderungs-Antwort-Protokoll einen ersten diesem zugeordneten Standardport aufweist und das zweite Anforderungs-Antwort-Protokoll einen zweiten diesem zugeordneten Standardport aufweist, wobei der gemeinsame Port aus den ersten und zweiten Ports ausgewählt worden ist, oder ein dritter Port ist als der gemeinsame Port ausgewählt worden.
- Client-Server Kommunikationsverfahren nach Anspruch 1 oder 2, weiter beinhaltend die Angabe einer gemeinsamen Portnummer in der Client-Anforderung.
- Client-Server Kommunikationsverfahren nach Anspruch 1, 2, oder 3, wobei das erste Anforderungs-Antwort-Protokoll das HTTP Protokoll und das zweite Anforderungs-Antwort-Protokoll das HTTPS Protokoll ist.
- Client-Server Kommunikationsverfahren nach einem der vorhergehenden Ansprüche 1 bis 4, wobei die erste Menge von Startcodes ASCI-Buchstabencodes und die zweite Menge von Startcodes den Code 0000 0001 beinhalten.
- Client-Server Kommunikationsverfahren, wobei ein erstes Anforderungs-Antwort-Protokoll oder ein alternatives zweites Anforderungs-Antwort-Protokoll von einem Client zu Errichtung einer Verbindung mit einem Server benutzt wird, wobei das erste Anforderungs-Antwort-Protokoll eine erste Menge von Startcodes zur Initiierung der Errichtung der Verbindung und das zweite Anforderungs-Antwort-Protokoll eine zweite Menge von Startcodes zur Initiierung der Errichtung der Verbindung beinhalten, wobei ein gemeinsamer vordefinierter Port für die ersten und zweiten Anforderungs-Antwort-Protokolle benutzt wird, und das Verfahren beinhaltet, – Senden einer Client-Anforderung an den Server über den gemeinsamen Port, wobei die Client-Anforderung einen Startcode der ersten und zweiten Mengen von Startcodes aufweist, – Empfang einer Server-Antwort an den gemeinsamen Port in Übereinstimmung mit dem Anforderungs-Antwort-Protokoll, welches durch den einen Startcode identifiziert wird.
- Client-Server Kommunikationsverfahren nach Anspruch 6, wobei das erste Anforderungs-Antwort-Protokoll einen diesem zugeordneten Standardport und das zweite Anforderungs-Antwort-Protokoll einen zweiten diesem zugeordneten Standardport aufweist, wobei der gemeinsame Port aus den ersten und zweiten Ports ausgewählt worden ist, oder ein dritter Port als der gemeinsame Port gewählt worden ist.
- Client-Server Kommunikationsverfahren nach Anspruch 6 oder 7, ferner beinhaltend eine Angabe der gemeinsamen Portnummer in der Client-Anforderung.
- Client-Server Kommunikationsverfahren nach Anspruch 6, 7 oder 8, wobei das erste Anforderungs-Antwort-Protokoll das HTTP Protokoll und das zweite Anforderungs-Antwort-Protokoll das HTTPS Protokoll ist.
- Client-Server Kommunikationsverfahren nach einem der vorhergehenden Ansprüche 6 bis 9, wobei die erste Menge von Startcodes ASCI-Buchstabencodes und die zweite Menge von Startcodes 0000 0001 beinhaltet.
- Client-Computer System beinhaltend: – Mittel (
208 ,210 ) zur Sendung einer Client-Anforderung, wobei die Mittel zum Senden zur Verwendung eines ersten Anforderungs-Antwort-Protokolls oder eines alternativen zweiten Anforderungs-Antwort-Protokolls zur Errichtung einer Verbindung mit einem Server ausgebildet sind, wobei das erste Anforderungs-Antwort-Protokoll eine erste Menge von Startcodes zur Initiierung der Errichtung der Verbindung und das zweite Anforderungs-Antwort-Protokoll eine zweite Menge von Startcodes zur Initiierung der Errichtung der Verbindung aufweisen, – Mittel (206 ) zur Speicherung eines gemeinsamen vordefinierten Ports für die ersten und zweiten Anforderungs-Antwort-Protokolle, – Mittel (208 ,210 ) zum Empfang einer Antwort von dem Server an dem gemeinsamen Port unter Verwendung des Anforderungs-Antwort-Protokolls der ersten und zweiten Anforderungs-Antwort-Protokolle, welches dem Startcode der ersten und zweiten Mengen von Startcodes entspricht, der für die Client-Anforderung benutzt worden ist. - Client-Computersystem nach Anspruch 11, ferner beinhaltend Mittel (
204 ) zur Systemüberwachung, wobei die Mittel zur Systemüberwachung zur Erzeugung einer Client-Anforderung zur Übertragung einer Warnung und / oder eines Status an den Server ausgebildet sind. - Server-Computer-System beinhaltend: – Mittel (
208 ,210 ,222 ) zum Empfang einer Client-Anforderung, wobei die Mittel zum Empfang zur Feststellung eines ersten Anforderungs-Antwort-Protokolls oder eines alternativen zweiten Anforderungs-Antwort-Protokolls der Client-Anforderung ausgebildet sind, wobei das erste Anforderungs-Antwort-Protokoll eine erste Menge von Startcodes zur Initiierung der Errichtung der Verbindung und das zweite Anforderungs-Antwort-Protokoll eine zweite Menge von Startcodes zur Initiierung der Errichtung der Verbindung aufweisen, wobei die Festlegung des Protokolls basierend auf dem Startcode der Client-Anforderung erfolgt, – Mitte (224 ) zur Speicherung eines gemeinsamen vordefinierten Porst für die ersten und zweiten Anforderungs-Antwort-Protokolle, – Mittel (208 ,210 ) zur Sendung einer Antwort an den Client über den gemeinsamen Port unter Verwendung des bestimmten Anforderungs-Antwort-Protokolls der ersten und zweiten Anforderungs-Antwort-Protokolle. - Computersystem mit einem Client-Computersystem nach Anspruch 11 oder 12 und einem Server-Computersystem nach Anspruch 13.
- Computersystem nach Anspruch 14, weiter beinhaltend wenigstens eine Firewall (
214 ,218 ), die zur Ermöglichung einer Kommunikation über den gemeinsamen Port konfiguriert ist. - Computerprogrammprodukt, insbesondere digitales Speichermedium, beinhaltend Computerprogrammmittel zur Client-Server Kommunikation, wobei ein erstes Anforderungs-Antwort-Protokoll oder ein alternatives zweites Anforderungs-Antwort-Protokoll von einem Client benutzt wird, um eine Verbindung mit einem Server herzustellen, wobei das erste Anforderungs-Antwort-Protokoll eine erste Menge von Startcodes zur Initiierung der Errichtung der Verbindung und das zweite Anforderungs-Antwort-Protokoll eine zweite Menge von Starcodes zur Initiierung der Errichtung der Verbindung aufweisen, wobei ein gemeinsamer vordefinierter Port für die ersten und zweiten Anforderungs-Antwort-Protokolle benutzt wird, und die Programmmittel zur Durchführung der folgenden Schritte ausgebildet sind: – Empfang einer Client-Anforderung, wobei die Client-Anforderung einen Startcode der ersten und zweiten Mengen von Startcodes aufweist, – Feststellung des Anforderungs-Antwort-Protokolls der ersten und zweiten Anforderungs-Antwort-Protokolle, das zur Beantwortung der Client-Anforderung zu benutzen ist, basierend auf dem Startcode.
- Computerprogrammprodukt, insbesondere digitales Speichermedium, mit Computerprogrammmitteln zur Client-Server Kommunikation, wobei ein ersten Anforderungs-Antwort-Protokoll oder ein alternatives zweites Anforderungs-Antwort-Protokoll von einem Client zur Herstellung einer Verbindung mit einem Server benutzt wird, wobei das erste Anforderungs-Antwort-Protokoll eine erste Menge von Startcodes zur Initiierung der Errichtung der Verbindung und das zweite Anforderungs-Antwort-Protokoll eine zweite Menge von Startcodes zur Initiierung der Errichtung der Verbindung aufweisen, wobei ein gemeinsamer vordefinierter Port für die ersten und zweiten Anforderungs-Antwort-Protokolle benutz wird, und die Programmmittel zur Durchführung der folgenden Schritte ausgebildet sind: – Aussendung einer Client-Anforderung an den Server über den gemeinsamen Port, wobei die Client-Anforderung einen Startcode der ersten und zweiten Mengen von Startcodes aufweist, – Empfang einer Server-Antwort an dem gemeinsamen Port in Übereinstimmung mit dem Anforderungs-Antwort-Protokoll, welches durch den einen Startcode identifiziert wird.
- Datenverarbeitungssystem zur Unterstützung von alternativen ersten und zweiten Anforderungs-Antwort-Protokollen, wobei die Benutzung des ersten Anforderungs-Antwort-Protokolls durch einen ersten Code einer Anforderung identifizierbar ist und die Benutzung des zweiten Anforderungs-Antwort-Protokolls durch einen zweiten Code einer Anforderung identifizierbar ist, und das Datenverarbeitungssystem beinhaltet: - eine erste Komponente zum Empfang einer Anforderung, – eine zweite Komponente zur Feststellung eines der ersten und zweiten Anforderungs-Antwort-Protokolle, die zur Beantwortung der Anforderung zu benutzen sind, wobei die zweite Komponente dazu ausgebildet ist, eine Protokollfestlegung auf der Basis des als Teil der Anforderung empfangenen ersten oder zweiten Codes durchzuführen, – einem gemeinsamen Port zur Kommunikation mittels der ersten und zweiten Anforderungs-Antwort-Protokolle.
- Datenverarbeitungssystem nach Anspruch 18, ferner beinhaltend eine Firewall, die zur Ermöglichung der Kommunikation über den gemeinsamen Port konfiguriert ist.
- Datenverarbeitungssystem nach Anspruch 18 oder 19, mit einer Service-Komponente zur Lieferung von Servicedaten auf eine Anforderung hin, wobei die Servicedaten an einen Anforderer als Teil der Antwort übertragen werden.
- Client-Server Kommunikationsverfahren beinhaltend: – Auswahl eines Kommunikationsprotokolls von alternativen ersten und zweiten Anforderungs-Antwort-Protokollen durch einen Client, wobei das erste Anforderungs-Antwort-Protokoll durch einen ersten Code identifizierbar und das zweite Anforderungs-Antwort-Protokoll durch einen zweiten Code identifizierbar sind, – Sendung einer Anforderung von dem Server mittels des ausgewählten Protokolls über einen gemeinsamen Port, der den Server mit einem Client verknüpft, – Feststellung, ob der erste oder der zweite Code in der Anforderung des Servers beinhaltet ist, – Verwendung des ersten Anforderungs-Antwort-Protokolls für die Server-Antwort, wenn der erste Code in der Anforderung beinhaltet ist und Verwendung des zweiten Anforderungs-Antwort-Protokolls für die Server-Antwort, wenn der zweite Code in der Anforderung beinhaltet ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10260926A DE10260926B4 (de) | 2002-12-20 | 2002-12-20 | Kommunikationsverfahren |
US10/638,560 US7546339B2 (en) | 2002-12-20 | 2003-08-12 | Client-server apparatus and method using alternative-response protocols |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10260926A DE10260926B4 (de) | 2002-12-20 | 2002-12-20 | Kommunikationsverfahren |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10260926A1 true DE10260926A1 (de) | 2004-07-08 |
DE10260926B4 DE10260926B4 (de) | 2005-12-01 |
Family
ID=32477975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10260926A Expired - Fee Related DE10260926B4 (de) | 2002-12-20 | 2002-12-20 | Kommunikationsverfahren |
Country Status (2)
Country | Link |
---|---|
US (1) | US7546339B2 (de) |
DE (1) | DE10260926B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006094909A1 (en) * | 2005-03-10 | 2006-09-14 | International Business Machines Corporation | Method for communication between an application and a client |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8281401B2 (en) * | 2005-01-25 | 2012-10-02 | Whitehat Security, Inc. | System for detecting vulnerabilities in web applications using client-side application interfaces |
US20080167888A1 (en) * | 2007-01-09 | 2008-07-10 | I4 Commerce Inc. | Method and system for identification verification between at least a pair of entities |
JP4835493B2 (ja) * | 2007-03-30 | 2011-12-14 | ブラザー工業株式会社 | 画像形成装置 |
GB2513344B (en) * | 2013-04-23 | 2017-03-15 | Gurulogic Microsystems Oy | Communication system utilizing HTTP |
US9241044B2 (en) * | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
BR112020000662A2 (pt) | 2017-07-10 | 2020-07-14 | Motorola Mobility Llc | conexão de dados de acesso múltiplo em uma rede móvel |
US11116028B2 (en) * | 2017-07-10 | 2021-09-07 | Motorola Mobility Llc | Multi-access data connection in a mobile network |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657390A (en) | 1995-08-25 | 1997-08-12 | Netscape Communications Corporation | Secure socket layer application program apparatus and method |
US6233688B1 (en) | 1998-06-30 | 2001-05-15 | Sun Microsystems, Inc. | Remote access firewall traversal URL |
EP0993163A1 (de) * | 1998-10-05 | 2000-04-12 | Backweb Technologies Ltd. | System und Verfahren zur verteilten Datencachespeicherung in Kundenendgeräten |
US6412009B1 (en) | 1999-03-15 | 2002-06-25 | Wall Data Incorporated | Method and system for providing a persistent HTTP tunnel |
US6081900A (en) | 1999-03-16 | 2000-06-27 | Novell, Inc. | Secure intranet access |
US6212640B1 (en) | 1999-03-25 | 2001-04-03 | Sun Microsystems, Inc. | Resources sharing on the internet via the HTTP |
WO2002098108A1 (en) * | 2001-05-29 | 2002-12-05 | Mtel Limited | A protocol for accelerating messages in a wireless communications environment |
US6813641B2 (en) * | 2001-07-05 | 2004-11-02 | Sun Microsystems, Inc. | Teamware server working over HTTP/HTTPS connections |
US7562156B2 (en) * | 2002-08-16 | 2009-07-14 | Symantec Operating Corporation | System and method for decoding communications between nodes of a cluster server |
-
2002
- 2002-12-20 DE DE10260926A patent/DE10260926B4/de not_active Expired - Fee Related
-
2003
- 2003-08-12 US US10/638,560 patent/US7546339B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006094909A1 (en) * | 2005-03-10 | 2006-09-14 | International Business Machines Corporation | Method for communication between an application and a client |
US7945676B2 (en) | 2005-03-10 | 2011-05-17 | International Business Machines Corporation | Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol |
US8510376B2 (en) | 2005-03-10 | 2013-08-13 | International Business Machines Corporation | Processing requests transmitted using a first communication directed to an application that uses a second communication protocol |
Also Published As
Publication number | Publication date |
---|---|
US7546339B2 (en) | 2009-06-09 |
DE10260926B4 (de) | 2005-12-01 |
US20050246442A1 (en) | 2005-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60114220T2 (de) | System und verfahren zur implementierung des verbesserten transportschicht-sicherheitsprotokolls | |
DE69923954T2 (de) | Kommunikationssystem und verfahren | |
DE60133241T2 (de) | Mehranwendung-sicherheitsrelais | |
DE69830726T2 (de) | Verfahren zum betrieb eines systems von authentifizierungsservern sowie ein solches system | |
DE60026838T2 (de) | Dynamische verbindung zu mehreren quellen-servern in einem transcodierungs-proxy | |
DE60131990T2 (de) | Vorrichtung und verfahren zur selektiven verschlüsselung von über ein netzwerk zu übertragenden multimediadaten | |
DE60319007T2 (de) | Abbildung einer quellenspezifischen multicast-gruppenadresse auf eine quellenadresse | |
DE60027971T2 (de) | Einmalige Anmeldung in einem Netzwerksystem, das mehrere gesondert steuerbare Ressourcen mit begrenztem Zugang enthält | |
DE602004012870T2 (de) | Verfahren und system zur benutzerauthentifizierung in einer benutzer-anbieterumgebung | |
DE69931157T2 (de) | Verfahren und vorrichtung zur trennung der browserfunktionalität zwischen einem drahtlosen klienten und einem teil der infrastruktur in einem drahtlosen kommunikationssystem | |
DE60200451T2 (de) | Herstellung einer gesicherten Verbindung mit einem privaten Unternehmensnetz über ein öffentliches Netz | |
EP2826224B1 (de) | Zugriff von clients auf einen serverdienst mittels einer opc-ua | |
DE10296660T5 (de) | Über Netzwerkadressübersetzungs(NAT) -Einrichtungen hinweg betreibbare Kommunikationsprotokolle | |
DE10240875B4 (de) | Sicheres Referenzdrucken unter Verwendung persönlicher elektronischer Geräte | |
DE60307652T2 (de) | Verfahren und System zur gesicherten Inhaltsüberlieferung | |
DE60316649T2 (de) | Konferenzanwendung die keinen bestimmten Verbindungsport verwendet | |
DE60203312T2 (de) | Verfahren und Vorrichtung zur Authentifizierung eines Benutzers | |
DE10260926B4 (de) | Kommunikationsverfahren | |
DE60224737T2 (de) | Vorrichtung und System zum Abrufen von Information in einem Netzwerk | |
DE10231941A1 (de) | Datenpaketstruktur für direkt adressiertes Multicast-Protokoll | |
EP1083722B1 (de) | Verfahren und Gateway, die einen End-zu-End gesicherten Zugriff auf WAP-Dienste erlauben | |
DE10231958A1 (de) | Direkt adressiertes Multicast-Protokoll | |
EP2165510A2 (de) | Ressourcenzugriff unter vermittlung durch ein sicherheitsmodul | |
DE60218554T2 (de) | Verfahren und System zur Übertragung eines Zertifikats zwischen einem Sicherheitsmodul und einem Server | |
EP2685682A2 (de) | Verfarhen und System zur sicheren Nachrichtenübertragung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: PATENTANWAELTE QUERMANN + STURM GBR, 65195 WIESBADE |
|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: RICHARDT PATENTANWAELTE, 65185 WIESBADEN |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Representative=s name: BOEHMERT & BOEHMERT, 80336 MUENCHEN, DE Representative=s name: BOEHMERT & BOEHMERT, DE |
|
R081 | Change of applicant/patentee |
Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |