DE10260926A1 - Kommunikationsverfahren - Google Patents

Kommunikationsverfahren Download PDF

Info

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
Application number
DE10260926A
Other languages
English (en)
Other versions
DE10260926B4 (de
Inventor
Bernd Gutjahr
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Priority to DE10260926A priority Critical patent/DE10260926B4/de
Priority to US10/638,560 priority patent/US7546339B2/en
Publication of DE10260926A1 publication Critical patent/DE10260926A1/de
Application granted granted Critical
Publication of DE10260926B4 publication Critical patent/DE10260926B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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

Die Erfindung betrifft ein Client-Server-Kommunikationsverfahren, wobei ein erstes Anforderungs-Antwort-Protokoll oder ein alternatives zweites Anforderungs-Antwort-Protokoll von einem Client zur Errichtung einer Verbindung mit einem Server verwendet 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 Verbindung aufweisen, wobei ein gemeinsamer vordefinierter Port für die ersten und zweiten Anforderungs-Antwort-Protokolle verwendet wird, und das Verfahren umfasst: DOLLAR A - Empfang einer Client-Anforderung durch den Server, wobei die Client-Anforderung einen ersten Startcode der ersten und zweiten Mengen von Startcodes aufweist, DOLLAR A - Festlegung des Anforderungs-Antwort-Protokolls der ersten und zweiten Anforderungs-Antwort-Protokolle, die zur Beantwortung der Client-Anforderung zu benutzen sind, basierend auf dem Startcode.

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 Port 443 ist der HTTPS Port. Die meisten Firewalls sind entsprechend konfiguriert, so dass Kommunikation durch den HTTP Port 80 und den gesicherten HTTPS Port 443 ermöglicht ist.
  • Port 80 ist der Standard („default") Port für HTTP Kommunikation und Port 443 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 Port 443 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-Nummer 80 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 Standardport 443 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 Client 100 und einem Server 102. Anfangs sendet der Client 100 eine Anforderung an den Server 102 unter Verwendung des HTTP Protokolls oder alternativ des HTTPS Protokolls. Die Anforderung von dem Client 100 an den Server 102 wird über ein Computernetzwerk übertragen, wie zum Beispiel über das Internet, und zwar in der Form eines Datenpakets 104, welches eine Sequenz von Bytes beinhaltet.
  • Das erste Byte 106 der Sequenz von Bytes des Datenpakets 104 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 Client 100 benutzt worden ist, das HTTPS Protokoll ist, ist das erste Byte „0000 0001".
  • Wenn der Server 102 das erste Datenpaket 104 der Anforderung empfängt, prüft er das Byte 106 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 Byte 106 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 Server 102 wählt also dasselbe Protokoll, das von dem Client 100 benutzt worden ist, um auf die Anforderung mittels Datenpaket 108 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 Computersystems 200. Das Computersystem 200 hat einen Unternehmensserver 202 mit einem Anwendungsprogramm 204 zur Systemüberwachung und Administrierung. Zum Beispiel ist die Anwendung 204 ein Programm der OpenView Programmfamilie, die kommerziell von Hewlett-Packard erhältlich ist. Unternehmensserver 202 hat ferner einen Speicher 206 zur Speicherung der vordefinierten gemeinsamen Portnummer für die Client-Server Kommunikation mittels HTTP Protokoll 208 und HTTPS Protokoll 210.
  • Unternehmensserver 202 ist mit dem IT Service Server 210 über die Firewall 214, das Netzwerk 216 und Firewall 218 verknüpft. Die Firewall 214 und 218 sind zur Ermöglichung einer Kommunikation zwischen der Client-Anwendung 204 des Unternehmensservers 202 und dem IT Service Server 214 über den gemeinsamen Port konfiguriert. Netzwerk 216 ist ein Computernetzwerk, wie zum Beispiel das Internet.
  • IT Service Server 212 hat ein Serviceprogramm 220, um einen Service gegenüber dem System erbringen, welches von der Anwendung 204 überwacht wird, und zwar auf Warn- und / oder Statusdaten, die von der Anwendung 204 erhalten werden. Ferner hat der IT Service Server 212 ein Protokollfestlegungsmodul 222 zur Festlegung, ob das HTTP Protokoll 208 oder das HTTPS Protokoll 210 für eine bestimmte Client-Anforderung benutzt worden ist. Ferner hat der IT Service Server 212 einen Speicher 224 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 Anwendung 204 das nicht sicher HTTP Protokoll 208 oder das sicher HTTPS Protokoll 210. Anwendung 204 gibt eine Client-Anforderung an den IT Service Server 212 ab, nämlich an Serviceprogramm 220, und zwar über das ausgewählte Protokoll über die gemeinsame Portnummer, die in dem Speicher 206 angegeben ist. Diese Client-Anforderung wird durch die Firewall 214, das Netzwerk 216 und die Firewall 218 an den IT Service Server 212 übertragen.
  • Das Protokollfestlegungsmodul 222 fängt das erste Byte der Client-Anforderung von der Anwendung 204 ab, um festzustellen, ob das HTTP Protokoll 208 oder das HTTPS Protokoll 210 von der Anwendung 204 ausgewählt worden ist. Wenn das erste Byte einen ASCI-Buchstabencode beinhaltet, impliziert dies, dass das HTTP Protokoll 208 ausgewählt worden ist; wenn jedoch das erste Byte „0000 0001" ist, bedeutet dies, dass das HTTPS Protokoll 210 ausgewählt worden ist.
  • IT Service Server 212 verwendet das HTTP Protokoll 208 oder alternativ das HTTPS Protokoll 210, um der Anwendung 204 mit von dem Serviceprogramm 220 gelieferten Servicedaten zu antworten, in Abhängigkeit von der Protokollfeststellung, die von dem Protokollfeststellungsmodul 222 vorgenommen worden ist. Zur Sendung der Antwort wird wiederum der gemeinsame Port, der in dem Speicher 224 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 Firewalls 214 und 218 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)

  1. 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.
  2. 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.
  3. Client-Server Kommunikationsverfahren nach Anspruch 1 oder 2, weiter beinhaltend die Angabe einer gemeinsamen Portnummer in der Client-Anforderung.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. Client-Server Kommunikationsverfahren nach Anspruch 6 oder 7, ferner beinhaltend eine Angabe der gemeinsamen Portnummer in der Client-Anforderung.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. Computersystem mit einem Client-Computersystem nach Anspruch 11 oder 12 und einem Server-Computersystem nach Anspruch 13.
  15. Computersystem nach Anspruch 14, weiter beinhaltend wenigstens eine Firewall (214, 218), die zur Ermöglichung einer Kommunikation über den gemeinsamen Port konfiguriert ist.
  16. 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.
  17. 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.
  18. 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.
  19. Datenverarbeitungssystem nach Anspruch 18, ferner beinhaltend eine Firewall, die zur Ermöglichung der Kommunikation über den gemeinsamen Port konfiguriert ist.
  20. 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.
  21. 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.
DE10260926A 2002-12-20 2002-12-20 Kommunikationsverfahren Expired - Fee Related DE10260926B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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