WO2002021795A2 - Protocole requete/reponse en duplex integral asynchrone - Google Patents
Protocole requete/reponse en duplex integral asynchrone Download PDFInfo
- 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
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
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- 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
- 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]
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
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)
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)
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 |
-
2001
- 2001-08-28 WO PCT/US2001/041921 patent/WO2002021795A2/fr active Application Filing
- 2001-08-28 AU AU2001287214A patent/AU2001287214A1/en not_active Abandoned
Patent Citations (3)
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)
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 |