Nothing Special   »   [go: up one dir, main page]

WO2002021795A2 - Protocole requete/reponse en duplex integral asynchrone - Google Patents

Protocole requete/reponse en duplex integral asynchrone Download PDF

Info

Publication number
WO2002021795A2
WO2002021795A2 PCT/US2001/041921 US0141921W WO0221795A2 WO 2002021795 A2 WO2002021795 A2 WO 2002021795A2 US 0141921 W US0141921 W US 0141921W WO 0221795 A2 WO0221795 A2 WO 0221795A2
Authority
WO
WIPO (PCT)
Prior art keywords
server
client
transmitting
messages
operative
Prior art date
Application number
PCT/US2001/041921
Other languages
English (en)
Other versions
WO2002021795A3 (fr
Inventor
Dror Tirosh
Joshua Fox
Gur Kimchi
Original Assignee
Vocaltec Communications Ltd.
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 Vocaltec Communications Ltd. filed Critical Vocaltec Communications Ltd.
Priority to AU2001287214A priority Critical patent/AU2001287214A1/en
Publication of WO2002021795A2 publication Critical patent/WO2002021795A2/fr
Publication of WO2002021795A3 publication Critical patent/WO2002021795A3/fr

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
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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
    • 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]

Definitions

  • the present invention relates to computer networks in general, and more particularly to asynchronous full-duplex communications between computers in a network environment.
  • the TCP/IP communications protocol is often employed for full- duplex asynchronous communications between computers in a network environment, such as the Internet.
  • firewalls often prevent communications using ordinary TCP/IP sockets via arbitrary ports.
  • communications that employ request/response protocols, such as HTTP communications via port 80 are generally allowed through firewalls.
  • request/response protocols such as HTTP communications via port 80
  • the present invention seeks to provide methods for employing network request/response protocols in support of asynchronous full-duplex communications between computers in a network environment.
  • the present invention provides a novel way to use a request/response protocol in combination with a channel identifier in order to provide transparent, asynchronous, full- duplex communications between computers on a computer network, and particularly to allow for such communications via firewalls where other forms of communication might not be allowed to pass through the firewall.
  • the present invention is additionally advantageous where the HTTP protocol is used in that the HTTP protocol provides built-in encryption in most browsers and servers, thus adding a layer of security to otherwise less secure asynchronous, full-duplex communications techniques.
  • a method for establishing an asynchronous, fiill-duplex communications channel between a client and a server including a) transmitting an information request from the client to the server, thereby forming a communications channel between the client and the server, the information request including an identifier identifying the channel b) asynchronously transmitting a plurality of server-to-client messages as responses to the information request, each of the responses including the identifier and c) asynchronously transmitting a plurality of client-to-server messages, each of the responses including the identifier.
  • the transmitting step a) includes transmitting using an HTTP protocol GET request.
  • the asynchronously transmitting step b) includes transmitting using an HTTP protocol GET response.
  • the asynchronously transmitting step c) includes transmitting using an HTTP protocol POST request.
  • the method further includes mamtaining the communications channel subsequent to asynchronously transmitting the first of the server-to-client messages.
  • any of the transmitting steps includes transmitting via a proxy server, and where the method further includes periodically transmitting a dummy message between the first-mentioned server and the client with sufficient frequency to prevent the proxy server from terminating the communications channel.
  • a method for establishing an asynchronous, full-duplex communications channel between a client and a server including a) transmitting an information request from the client to the server, thereby forming a communications channel between the client and the server b) generating an identifier at the server identifying the channel c) asynchronously transmitting in response to the information request a first server-to-client message indicating the identifier d) asynchronously transmitting a plurality of server-to-client messages as responses to the information request, each of the responses including the identifier and e) asynchronously transmitting a plurality of client-to-server messages, each of the responses including the identifier.
  • the transmitting step a) includes transmitting using an HTTP protocol GET request. Still further in accordance with a preferred embodiment of the present invention the asynchronously transmitting steps c) and d) includes transmitting using an HTTP protocol GET response.
  • the asynchronously transmitting step e) includes transmitting using an HTTP protocol POST request.
  • the method further includes maintaining the communications channel subsequent to asynchronously transmitting the first server-to-client message.
  • any of the transmitting steps includes transmitting via a proxy server, and where the method further includes periodically transmitting a dummy message between the first-mentioned server and the client with sufficient frequency to prevent the proxy server from terminating the communications channel.
  • an asynchronous, full-duplex communications system including a client and a server, where the client is operative to transmit an information request to the server, thereby forming a communications channel between the client and the server, the information request including an identifier identifying the channel, where the server is operative to asynchronously transmit a plurality of response messages to the client in response to the information request, each of the response messages including the identifier, and where the client is operative to asynchronously transmit a plurality of posting messages to the server, each of the posting messages including the identifier.
  • the client is operative to transmit the information request using an HTTP protocol GET request.
  • the server is operative to transmit the response messages using an HTTP protocol GET response.
  • the client is operative to transmit the posting messages using an HTTP protocol POST request.
  • the server is operative to maintain the communications channel subsequent to asynchronously transmitting the first of the response messages.
  • system further includes a proxy server, where the information request and the messages are transmitted via the proxy server, and where either of the first-mentioned server and the client is operative to periodically transmit a dummy message between the first-mentioned server and the client with sufficient frequency to prevent the proxy server from terminating the communications channel.
  • an asynchronous, full-duplex communications system including a client and a server, where the client is operative to transmit an information request to the server, thereby forming a communications channel between the client and the server, where the server is operative to generate an identifier identifying the channel, asynchronously transmit to the client in response to the information request a first response message indicating the identifier and thereafter a plurality of response messages to the client in response to the information request, each of the response messages including the identifier, and where the client is operative to asynchronously transmit a plurality of posting messages to the server, each of the posting messages including the identifier.
  • the client is operative to transmit the information request using an HTTP protocol GET request.
  • the server is operative to transmit the response messages using an HTTP protocol GET response.
  • the client is operative to transmit the posting messages using an HTTP protocol POST request.
  • the server is operative to maintain the communications channel subsequent to asynchronously transmitting the first of the response messages.
  • system further includes a proxy server, where the information request and the messages are transmitted via the proxy server, and where either of the first-mentioned server and the client is operative to periodically transmit a dummy message between the first-mentioned server and the client with sufficient frequency to prevent the proxy server from terminating the communications channel.
  • FIG. 1 is a simplified conceptual illustration of a computer network employing a request/response protocol in support of asynchronous full-duplex communications, constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 2 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention
  • Fig. 3 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention
  • Fig. 4 is a simplified conceptual illustration of a computer network employing a request/response protocol in support of asynchronous full-duplex communications, constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 5 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 4, operative in accordance with a preferred embodiment of the present invention.
  • Fig. 1 is a simplified conceptual illustration of a computer network employing a request/response protocol in support of asynchronous full-duplex communications, constructed and operative in accordance with a preferred embodiment of the present invention.
  • a client computer 10 is configured to transmit an information request using a request/response protocol, such as by using the HTTP GET command, to a server 12 via a network 14, such as the Internet.
  • Server 12 is preferably configured to asynchronously transmit one or more messages to client 10 in the form of responses to the information request using the request/response protocol as described in greater detail hereinbelow.
  • Client 10 is likewise preferably configured to asynchronously transmit one or more messages to server 12 using a request/response protocol, such as by using the HTTP POST command.
  • the system of Fig. 1 may be used to communicate via a firewall 16.
  • server 12 does not terminate channel subsequent to sending its first message to client 10.
  • server 12 would normally send a content length header to client 10 indicating the length of the response to the HTTP GET request, with the connection being terminated once a message of the indicated length has been transmitted.
  • Server 12 may also terminate the request/response transaction using any one of several methods, such as by closing the HTTP connection (i.e., the underlying TCP/IP socket) or by sending a zero-length chunk where HTTP/1.1 chunked encoding is used.
  • server 12 does not provide a content length header, nor does server 12 explicitly terminate the request/response transaction after initially responding to the HTTP GET request.
  • client 10 and server 12 maintain the connection established between them, allowing server 12 to "respond" to client 10's HTTP GET request with as many messages as server 12 requires and whenever server 12 wishes, thus creating an asynchronous communications channel.
  • Fig. 2 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1 , operative in accordance with a preferred embodiment of the present invention.
  • client 10 generates an identifier that will be used to identify the communications channel between client 10 and server 12 (step 200).
  • Client 10 then appends the identifier to a request message, such as an HTTP GET message, and sends the request message to client 12 (step 210).
  • Server 12 upon receiving the request message and channel identifier from client 10, sends a response message to client 10, such as an HTTP GET response message, preferably likewise appending the channel identifier to the response message (step 220).
  • Server 12 maintains the communications by not sending a content length header to client 10 and by not terminating the connection by other means (step 230).
  • client 10 sending messages, such as HTTP POST messages, to server 12 including the channel identifier (step 240) and server 12 sending response messages, such as HTTP GET response messages, to client 10, also including the channel identifier (step 250).
  • Fig. 3 is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 1, operative in accordance with a preferred embodiment of the present invention.
  • the method of Fig. 3 is similar to the method of Fig. 2 with the notable exception that client 10 does not generate the channel identifier. Rather, server 12 generates a unique identifier which server 12 preferably communicates to client 10 as the channel identifier along with the first response message that server 12 sends to client 10. Client 10 is preferably configured to discern the channel identifier from this message. Thereafter, asynchronous, full-duplex communications between client 10 and server 12 proceed as described hereinabove.
  • Fig. 4 is a simplified conceptual illustration of a computer network employing a request/response protocol in support of asynchronous full-duplex communications, constructed and operative in accordance with a preferred embodiment of the present invention, and additionally to Fig. 5, which is a simplified flowchart illustration of an exemplary method of operation of the system of Fig. 4, operative in accordance with a preferred embodiment of the present invention.
  • the network of Fig. 4 is similar to the network of Fig. 1 with the notable exception that client 10 and server 12 communicate with each other via one or more proxy servers 18.
  • Proxy servers while generally configured to transparently relay messages between parties such as client 10 and server 12, are often configured to terminate links between communicating parties after no traffic is detected between the parties for a predetermined period of time.
  • server 12 periodically sends dummy response messages to client 10 (step 530) with a sufficient frequency such that any proxy servers encountered along the communications channel will not terminate the link between client 10 and server 12.
  • Server 12 may send these dummy messages at a configurable time interval any time after the communications channel is established, or only when the communications channel between server 12 and client 10 has been silent for a predetermined period of time.
  • Client 10 is preferably configured to identify and ignore dummy messages.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention se rapporte à un procédé permettant d'établir une voie pour les communications asynchrones en duplex intégral entre un client et un serveur. Le procédé consiste (a) à émettre une requête relative à des informations, du client vers le serveur, et à établir ainsi une voie de communication entre le client et le serveur, ladite requête incluant un identificateur identifiant ladite voie, (b) à émettre de manière asynchrone une pluralité de messages, du serveur vers le client, qui constituent des réponses à ladite requête, chacune de ces réponses incluant l'identificateur et (c) à émettre de manière asynchrone une pluralité de messages, du client vers le serveur, chacune de ces réponses incluant l'identificateur.
PCT/US2001/041921 2000-09-06 2001-08-28 Protocole requete/reponse en duplex integral asynchrone WO2002021795A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001287214A AU2001287214A1 (en) 2000-09-06 2001-08-28 Asynchronous full-duplex request/response protocol

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65641200A 2000-09-06 2000-09-06
US09/656,412 2000-09-06

Publications (2)

Publication Number Publication Date
WO2002021795A2 true WO2002021795A2 (fr) 2002-03-14
WO2002021795A3 WO2002021795A3 (fr) 2003-01-30

Family

ID=24632926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/041921 WO2002021795A2 (fr) 2000-09-06 2001-08-28 Protocole requete/reponse en duplex integral asynchrone

Country Status (2)

Country Link
AU (1) AU2001287214A1 (fr)
WO (1) WO2002021795A2 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2420256A (en) * 2004-11-16 2006-05-17 Skinkers Ltd Obtaining data from a server using first and second identifiers
EP1768349A1 (fr) * 2005-09-22 2007-03-28 Siemens Aktiengesellschaft Communication bidirectionnelle et asynchrone de données
US7401353B2 (en) 2003-01-23 2008-07-15 Stonesoft Corporation Detecting and blocking malicious connections
US7863822B2 (en) 2004-02-02 2011-01-04 Volkswagen Aktienegesellschaft Operating element for a vehicle
EP1418732A3 (fr) * 2002-09-19 2011-05-04 Ricoh Company, Ltd. Système de communications avec une pluralité d'appareils de communication comme client et serveur de communication pour l'échange des requêtes et réponses d'opération

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012090A (en) * 1997-03-14 2000-01-04 At&T Corp. Client-side parallel requests for network services using group name association
US6052710A (en) * 1996-06-28 2000-04-18 Microsoft Corporation System and method for making function calls over a distributed network
EP1081918A2 (fr) * 1999-09-04 2001-03-07 Hewlett-Packard Company Permettre l'acces sécurisé à travers des pare-feux réseaux

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052710A (en) * 1996-06-28 2000-04-18 Microsoft Corporation System and method for making function calls over a distributed network
US6012090A (en) * 1997-03-14 2000-01-04 At&T Corp. Client-side parallel requests for network services using group name association
EP1081918A2 (fr) * 1999-09-04 2001-03-07 Hewlett-Packard Company Permettre l'acces sécurisé à travers des pare-feux réseaux

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1418732A3 (fr) * 2002-09-19 2011-05-04 Ricoh Company, Ltd. Système de communications avec une pluralité d'appareils de communication comme client et serveur de communication pour l'échange des requêtes et réponses d'opération
US7401353B2 (en) 2003-01-23 2008-07-15 Stonesoft Corporation Detecting and blocking malicious connections
US7863822B2 (en) 2004-02-02 2011-01-04 Volkswagen Aktienegesellschaft Operating element for a vehicle
GB2420256A (en) * 2004-11-16 2006-05-17 Skinkers Ltd Obtaining data from a server using first and second identifiers
GB2420256B (en) * 2004-11-16 2007-05-23 Skinkers Ltd Provision of personal data in a communications network
EP1768349A1 (fr) * 2005-09-22 2007-03-28 Siemens Aktiengesellschaft Communication bidirectionnelle et asynchrone de données
DE102005045346A1 (de) * 2005-09-22 2007-04-05 Siemens Ag Bidirektionale asynchrone Datenkommunikation
DE102005045346B4 (de) * 2005-09-22 2007-12-06 Siemens Ag Bidirektionale asynchrone Datenkommunikation

Also Published As

Publication number Publication date
AU2001287214A1 (en) 2002-03-22
WO2002021795A3 (fr) 2003-01-30

Similar Documents

Publication Publication Date Title
US7734791B2 (en) Asynchronous hypertext messaging
US7769871B2 (en) Technique for sending bi-directional messages through uni-directional systems
EP1792468B1 (fr) Connectivite sur des pare-feu a etats
EP1892887B1 (fr) Procede de communication entre des dispositifs de communication et un appareil de communication
US7184445B2 (en) Architecture and API for of transport and upper layer protocol processing acceleration
US7206932B1 (en) Firewall-tolerant voice-over-internet-protocol (VoIP) emulating SSL or HTTP sessions embedding voice data in cookies
US8234699B2 (en) Method and system for establishing the identity of an originator of computer transactions
US20020023143A1 (en) System and method for projecting content beyond firewalls
US20080141020A1 (en) Method and Apparatus for Providing Secure Streaming Data Transmission Facilities Using Unreliable Protocols
EP1197052A2 (fr) Connexion dynamique a des serveurs d'origines multiples dans un mandataire de transcodage
WO2003036913A2 (fr) Selection de conversion de format de securite pour dispositifs filaires et dispositifs sans fil
EP1081918A3 (fr) Permettre l'acces sécurisé à travers des pare-feux réseaux
CN103108037B (zh) 一种通信方法,Web服务器及Web通信系统
US20100251269A1 (en) Application-specific serial port redirector
EP1665725B1 (fr) Telegestion des associations securitaires ipsec
CA2527550A1 (fr) Methode d'association sure de donnees a des sessions https
CN101167331B (zh) 传输网络事件日志协议报文的方法、系统和装置
WO2002021795A2 (fr) Protocole requete/reponse en duplex integral asynchrone
CN100428748C (zh) 一种基于双重身份的多方通信方法
JP2005175865A (ja) 中継装置,端末装置,ネットワークシステム,ネットワークアクセス方法,およびプログラム
EP1340355A1 (fr) Systeme en reseau de donnees
KR20010056418A (ko) 왑 상에서의 종단 간의 보안 방법
JP2000341326A (ja) メッセージ送受信装置及びメッセージ送受信方法
CN1705268A (zh) 将信息透过持续性tcp联机推送至移动终端的方法
Boucadair et al. RFC 9362: Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Configuration Attributes for Robust Block Transmission

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP