US20020042839A1 - HTTP multiplexor/demultiplexor - Google Patents
HTTP multiplexor/demultiplexor Download PDFInfo
- Publication number
- US20020042839A1 US20020042839A1 US09/882,375 US88237501A US2002042839A1 US 20020042839 A1 US20020042839 A1 US 20020042839A1 US 88237501 A US88237501 A US 88237501A US 2002042839 A1 US2002042839 A1 US 2002042839A1
- Authority
- US
- United States
- Prior art keywords
- server
- http
- client
- requests
- responses
- 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.)
- Abandoned
Links
Images
Classifications
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- 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
-
- 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
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S370/00—Multiplex communications
- Y10S370/916—Multiplexer/demultiplexer
Definitions
- the present invention relates generally to data transmission on computer networks, and more particularly to a Hypertext Transfer Protocol (HTTP) Multiplexor/Demultiplexor.
- HTTP Hypertext Transfer Protocol
- the Internet has experienced explosive growth in recent years.
- the emergence of the World Wide Web has enabled millions of users around the world to download easily web resources containing text, graphics, video, and sound data while at home, work, or from remote locations via wireless devices.
- These web resources often are large in size and therefore require a long time to download, causing the user delay and frustration. Delay often causes users to abandon the requested web page and move on to another web page, resulting in lost revenue and exposure for many commercial web sites.
- HTTP Hypertext Transfer Protocol
- TCP Transfer Control Protocol
- a system, method and device for multiplexing and demultiplexing HTTP requests are provided.
- the method may include receiving HTTP requests from a client and routing those requests to a plurality of sockets on a server.
- the requests may be routed based on socket response time, the type or size of data being requested, or on other parameters related to the HTTP requests.
- the method may also include receiving HTTP responses over a plurality of connections from the server and routing those responses to the client.
- the method typically includes at an intermediate networking device, listening for a series of HTTP requests from an originating client, receiving the series of HTTP requests from the originating client, demultiplexing the series of HTTP requests into discrete HTTP requests, and sending each discrete HTTP request to an optimal server socket.
- the method further includes listening for HTTP responses from a plurality of server sockets, receiving the HTTP responses from the plurality of server sockets, multiplexing the HTTP responses from the plurality of server sockets into a series of HTTP responses, and sending the series of HTTP responses to the originating client.
- the system typically includes a server, a client configured to connect to the server via a computer network, and a computer networking device positioned intermediate the server and the client on the computer network.
- the computer networking device typically has an HTTP multiplexor/demultiplexor configured to receive HTTP requests from the client and to distribute those requests over a plurality of TCP connections to a plurality of corresponding sockets on the server.
- the device typically includes an HTTP multiplexor/demultiplexor configured to receive HTTP requests from a client and to distribute those requests to a plurality of sockets on a server.
- the device typically is further configured to receive HTTP responses from the plurality of sockets on the server and to route those responses to the client.
- FIG. 1 is a schematic view of a prior art network configuration.
- FIG. 2 is a schematic view of an HTTP multiplexor/demultiplexor system according to one embodiment of the present invention.
- FIG. 3 is a schematic view of the HTTP multiplexor/demultiplexor system of FIG. 2, showing HTTP requests and responses.
- FIG. 4 is a schematic view of a client computing device of the system of FIG. 2.
- FIG. 5 is a schematic view of one embodiment of a networking device of the system of FIG. 2.
- FIG. 6 is a schematic view of another embodiment of a networking device of the system of FIG. 2.
- FIG. 7 is a flowchart of a method of demultiplexing and multiplexing HTTP requests and responses according to one embodiment of the present invention.
- Prior art system 5 includes a plurality of remote clients 5 a and a server 5 b .
- TCP Transport Control Protocol
- Each TCP connection is established between a single socket on each remote client and a corresponding socket on the server, such that a one-to-one socket ratio is established.
- Remote clients 5 a send Hypertext Transfer Protocol (HTTP) requests via established TCP connections to a TCP buffer associated with a server socket. Requests received at the TCP buffer are processed only as quickly as the server can respond to them. Often, requests build up in the buffer because the server cannot respond to them quickly enough, and server-side delay (also referred to as latency) often results. This is inefficient and frustrating, and may cause a user to abandon downloading the page.
- HTTP Hypertext Transfer Protocol
- System 10 typically includes a plurality of remote clients 12 configured to communicate with servers 14 via computer network 16 .
- remote client 12 sends HTTP requests via a networking device 20 to server 14 and waits for HTTP responses to return.
- Networking device 20 includes an HTTP multiplexor/demultiplexor 22 configured to route HTTP requests from a single socket on remote client 12 , to a plurality of sockets on server 14 .
- HTTP requests are routed to an optimal server socket with optimal response time, in order to ensure efficient processing of the requests.
- remote client 12 typically is a personal computer including a processor 13 a coupled to a communications bus 13 b .
- a mass storage device 13 c such as a hard drive, CD ROM drive, tape drive, etc., and a memory 13 d are also linked to the communications bus 13 b .
- Memory 13 d typically includes random access memory (RAM) 13 e , and read-only memory (ROM) 13 f .
- ROM 13 f typically includes a basic input/output system (BIOS) 13 g , which is configured to start up and operate basic functions of the remote client.
- Remote client 12 typically is configured to access computer network 16 via a network interface 13 h .
- remote client 12 may be a portable data assistant, web-enabled wireless device, mainframe computer, or other suitable computing device.
- Remote client 12 typically is configured to run an operating system (OS) 13 i to manage programs or applications.
- Operating system 13 i is stored in mass storage device 13 c .
- suitable operating systems include UNIX, Windows, MacOS, VMS, and OS/ 2 , although virtually any suitable operating system may be used.
- Remote client 12 includes a browser program 13 i stored in mass storage device 13 c configured to display requested web resources to a user of remote client 12 .
- Exemplary browser programs 34 include the Netscape browser commercially available from Netscape Communications Corporation of Santa Clara, California and the Internet Explorer browser commercially available from Microsoft Corporation of Redmond, Washington.
- Server 14 also typically is a computer similar to that shown in FIG. 4.
- Server 14 typically includes a server program configured to communicate with remote clients using the HTTP protocol.
- the server program typically is configured to receive HTTP requests, and, in response send HTTP responses to browser 13 i on remote client 12 via computer network 16 .
- Computer network 16 typically is a wide area network (WAN) such as the Internet and computer network 24 is a local area network (LAN).
- WAN wide area network
- LAN local area network
- network 16 operates using TCP/IP protocols, although other protocols suitable for carrying HTTP requests and responses may be used.
- Web site 18 typically includes a collection of web resources or URIs typically located at a web address called a URL (Uniform Resource Locator).
- the term “web resource” refers generally to a data resource that may be downloaded by a web browser. Web resources may include web pages, code, graphics, video, sounds, text, and/or other data. Web resources may be static (e.g. stored file) or dynamic (e.g. dynamically generated output). Web resources may be stored on and served by a single server 14 or a number of servers 14 , as shown in FIGS. 1 and 2. For example, images may be stored on one server while code may be stored in another server, alternatively, copies of images and code may be stored on multiple redundant servers.
- networking device 20 typically includes a controller 20 a having a memory 20 b and processor 20 c linked by a bus 20 d . Also coupled to bus 20 d is a mass storage device 20 e including a multiplexor/demultiplexor 22 , which may also be referred to as a “mux/demux.”
- Networking device 20 also typically includes a network interface 20 f coupled to bus 20 d and to an external network connection to computer network 16 .
- Network interface 20 f is configured to enable networking device 20 to communicate with remote client 12 via WAN computer network 16 and with server 14 via LAN computer network 24 .
- An example of a suitable network interface is the Intel Ethernet Pro 100 network card, commercially available from Intel Corporation of Santa Clara, Calif.
- Networking device 20 ′ typically includes an integrated circuit board 20 g .
- the integrated circuit board contains a bus 20 h connecting a network interface 20 i , memory 20 i , processor 20 k , Application Specific Integrated Circuit (ASIC) 20 m , and mass storage device 20 n .
- Network interface 20 i is configured to enable networking device 20 ′ to communicate with remote client 12 via computer network 16 and with server 14 via LAN 24 .
- ASIC 20 m typically contains a multiplexor/demultiplexor 22 .
- ASIC 20 m , processor 20 k , and memory 20 i form a controller 20 p configured to process requests for web resources according to the methods described below. It will be appreciated that the embodiments of networking device 20 , 20 ′ may be a stand-alone network appliance or may be integrated with a web server.
- Networking device 20 typically is connected to server 14 via LAN 24 . Because device 20 is connected to server 14 via LAN 24 and remote client 12 via WAN 16 , networking device 20 may be considered a “server-side” proxy server.
- a proxy server is a program or device that acts as an intermediary between a browser and a server.
- Networking device 20 acts as an intermediary by receiving HTTP requests from remote clients 12 and sending those requests to a socket on server 14 , and by receiving server-generated HTTP responses and sending those responses to the remote client that originated the requests.
- Networking device 20 includes a software or firmware multiplexor/demultiplexor 22 configured to route requests from a single remote client to a plurality of sockets on server 14 , and to route server responses from various sockets back to the originating remote client.
- each remote client 12 has an associated network connection 26 , 28 , 30 established with multiplexor/demultiplexor 22 via WAN 16 .
- Remote clients 12 are typically configured to send HTTP requests and receive HTTP responses via connections 26 , 28 , and 30 .
- Each server 14 has an associated network connection 32 , 34 , 36 established with multiplexor/demultiplexor 22 via LAN 24 .
- Servers 14 are typically configured to receive HTTP requests and send HTTP responses via connections 32 , 34 , and 36 . It will be appreciated that multiplexor/demultiplexor 22 is configured to establish additional connections with additional remote clients and servers.
- connections 26 , 28 , 30 , 32 , 34 , and 36 are persistent TCP connections.
- Persistent TCP connections are connections that remain open until explicitly commanded to close or until the server times-out the connection.
- a connection other than a persistent TCP connection may be used.
- HTTP multiplexor/demultiplexor 22 is configured to receive a series of HTTP requests A over a single connection 26 from a remote client 12 at a corresponding remote client-side socket 26 a .
- socket refers to a port, buffer, logical node, or object configured to receive data in the HTTP format from a remote device via a network connection, and is not limited to a “socket” as defined in the Unix operating system environment.
- HTTP multiplexor/demultiplexor 22 is also configured to demultiplex the series of requests A into discrete requests A 1 -A 3 and to transport each discrete request A 1 -A 3 to one of a plurality of server-side sockets 32 a , 34 a , and 36 a .
- This process is referred to as demultiplexing because a series of requests from a single TCP connection is broken up and routed over a plurality of TCP connections to a plurality of server sockets.
- server-side sockets 32 a , 34 a , 36 a of mux/demux 22 are connected to corresponding server sockets 32 b , 34 b 36 b of server 14 via respective connections 32 , 34 , 36 , via LAN 24 .
- HTTP multiplexor/demultiplexor 22 of one embodiment of the present invention is configured to route or distribute the incoming requests A from a single remote client-side socket such as 26 a to a plurality of server-side sockets 32 a , 34 a , and 36 a .
- multiplexor/demultiplexor 22 is configured to route each of HTTP requests A to an optimal server socket, which typically is a least busy server socket.
- multiplexor/demultiplexor 22 may be configured to detect the response time at each server socket 32 b , 34 b , 36 b by monitoring server-side sockets 32 a , 34 a , and 36 a .
- the server socket with the fastest response time may be determined to be the least busy server socket.
- another method may be used to determine the optimal server socket.
- the HTTP multiplexor/demultiplexor may be configured to determine the type of HTTP request being made and/or the type of data being requested and accordingly route the request to an optimal server-side socket, based on the requested data type or HTTP request type. For example, all image requests may be handled by a predetermined set of sockets on server 14 a , while all HTML requests may be handled by a predetermined set of sockets on server 14 b . In addition, all HTTP 1 . 0 requests may be detected by multiplexor/demultiplexor 22 and routed to an optimal socket on server 14 a , while all HTTP 1 . 1 requests may be detected and routed to an optimal socket on server 14 b .
- Server 14 is configured to respond to the many incoming HTTP requests by sending out appropriate HTTP responses B, which may contain data requested by the HTTP requests.
- HTTP multiplexor/demultiplexor 22 is configured to receive these responses at server-side sockets 32 a , 34 a , and 36 a and route these responses back to the appropriate remote client-side socket, such as 26 a , from which the corresponding HTTP request originated.
- HTTP requests A 1 , A 2 , and A 3 all originate from remote client 12 a , and are routed to server sockets 32 b , 34 b , and 36 a , respectively, by HTTP multiplexor/demultiplexor 22 .
- HTTP responses B 1 , B 2 , and B 3 are sent from server sockets 32 b , 34 b , and 36 b over persistent TCP connections 32 , 34 , and 36 to server-side sockets 32 a , 34 a , and 36 a , at which point the responses are all routed back to remote client-side socket 26 a for delivery to remote client 12 a via TCP connection 26 .
- This process is referred to as multiplexing because discrete responses from a plurality of sockets are combined into a series of responses and sent over a single TCP connection to remote client 12 a .
- HTTP multiplexor/demultiplexor 22 is configured to take a single series of HTTP requests received via a single socket and route the requests to a plurality of different sockets on server 14 , and route responses from the various server sockets back to the remote client, such that the performance of server 14 may be optimized.
- HTTP multiplexor/demultiplexor 22 is configured to simultaneously demultiplex and multiplex HTTP requests and responses going to and from a plurality of remote clients 12 via a plurality of remote client-side sockets 26 a , 28 a , 30 a .
- a method 100 may be practiced according to the present invention.
- the steps of method 100 are typically accomplished by networking device 20 , utilizing remote client 12 , server 14 , WAN 16 , and LAN 24 .
- the method may be accomplished by dedicated software on server 14 , or by some other suitable software or hardware device.
- the method typically includes establishing persistent TCP connections between multiplexor/demultiplexor 22 and a plurality of sockets on server 14 typically via LAN 24 .
- the method typically includes establishing persistent TCP connections between multiplexor/demultiplexor 22 and one or more remote clients 12 via WAN 16 .
- the method further includes listening for a series of HTTP requests from an originating remote client 12 and/or for HTTP responses from various server sockets.
- method 100 continues, at 108, to receive the series of HTTP requests from originating remote client 12 at a single remote client-side socket.
- Method 100 further includes, at 110, demultiplexing the series of HTTP requests into a plurality of discrete HTTP requests.
- the method further includes routing the series of requests to a plurality of sockets on an associated server, typically by sending each discrete HTTP request to an optimal server socket.
- method 100 may also include monitoring server sockets 32 b , 34 b , and 36 b and determining an optimal server socket.
- the multiplexor/demultiplexor typically determines an optimal server socket by determining a server socket with a least-lengthy response time.
- the optimal server socket may be determined by determining a last-accessed server socket, determining a server socket with the fewest number of unfulfilled requests, determining the type or size of data being requested or other parameters related to the HTTP requests, or by weighing all or some of these conditions.
- the multiplexor/demultiplexor is able to send a discrete HTTP request to the optimal server socket.
- method 100 proceeds to 114 , and includes receiving HTTP responses from various server sockets.
- the multiplexor/demultiplexor typically is able to determine the destination of the HTTP responses.
- the method includes multiplexing the HTTP responses generated in response to requests from an originating remote client into a series of HTTP responses bound for the originating remote client.
- method 100 includes sending the series of responses to the originating remote client.
- the method includes returning to step 104 to establish a persistent TCP connection with the new remote client, or returning to step 102 to establish a persistent TCP connection with the new server, respectively.
- HTTP multiplexor/demultiplexor 22 may be configured to establish a plurality of TCP connections with a plurality of servers and a plurality of remote clients, and therefore may be configured to handle HTTP requests and HTTP responses from multiple servers and remote clients at once.
- the method may include receiving a series of HTTP requests originating from a single remote client and routing those requests to a plurality of sockets on a server.
- the method may also include receiving HTTP responses over a plurality of TCP connections from the server and routing those responses to a single remote client.
- single remote 20 client refers to the fact that a plurality of requests originate from a single client.
- the method may be practiced with more than one remote client.
Abstract
A computer networking system, method and device for demultiplexing a series of HTTP requests and multiplexing HTTP responses. The method may include receiving a series of HTTP requests from a single client and routing those requests to a plurality of sockets on a server. The method may also include receiving HTTP responses from the plurality of sockets on the server and routing those responses to a single client.
Description
- This application claims priority from U.S. provisional patent application, Serial No. 60/239,552, entitled “HTTP Multiplexor/Demultiplexor,” filed on Oct. 10, 2000, the disclosure of which is herein incorporated by reference.
- 1. Technical Field
- The present invention relates generally to data transmission on computer networks, and more particularly to a Hypertext Transfer Protocol (HTTP) Multiplexor/Demultiplexor.
- 2. Background of the Invention
- The Internet has experienced explosive growth in recent years. The emergence of the World Wide Web has enabled millions of users around the world to download easily web resources containing text, graphics, video, and sound data while at home, work, or from remote locations via wireless devices. These web resources often are large in size and therefore require a long time to download, causing the user delay and frustration. Delay often causes users to abandon the requested web page and move on to another web page, resulting in lost revenue and exposure for many commercial web sites.
- One cause of delay is accumulation of Hypertext Transfer Protocol (HTTP) requests within a Transfer Control Protocol (TCP) buffer of a server socket at a server. When a user requests a web page, a web browser sends HTTP requests to a server socket via an established TCP connection. When the server does not process requests to a socket quickly enough, HTTP requests build up in the TCP buffer for that socket, resulting in processing delay in that socket.
- It would be desirable to provide a system, method, and device for reducing buffer congestion and delay in server response time.
- A system, method and device for multiplexing and demultiplexing HTTP requests are provided. The method may include receiving HTTP requests from a client and routing those requests to a plurality of sockets on a server. The requests may be routed based on socket response time, the type or size of data being requested, or on other parameters related to the HTTP requests. The method may also include receiving HTTP responses over a plurality of connections from the server and routing those responses to the client.
- According to another aspect of the invention, the method typically includes at an intermediate networking device, listening for a series of HTTP requests from an originating client, receiving the series of HTTP requests from the originating client, demultiplexing the series of HTTP requests into discrete HTTP requests, and sending each discrete HTTP request to an optimal server socket. The method further includes listening for HTTP responses from a plurality of server sockets, receiving the HTTP responses from the plurality of server sockets, multiplexing the HTTP responses from the plurality of server sockets into a series of HTTP responses, and sending the series of HTTP responses to the originating client.
- The system typically includes a server, a client configured to connect to the server via a computer network, and a computer networking device positioned intermediate the server and the client on the computer network. The computer networking device typically has an HTTP multiplexor/demultiplexor configured to receive HTTP requests from the client and to distribute those requests over a plurality of TCP connections to a plurality of corresponding sockets on the server.
- The device typically includes an HTTP multiplexor/demultiplexor configured to receive HTTP requests from a client and to distribute those requests to a plurality of sockets on a server. The device typically is further configured to receive HTTP responses from the plurality of sockets on the server and to route those responses to the client.
- FIG. 1 is a schematic view of a prior art network configuration.
- FIG. 2 is a schematic view of an HTTP multiplexor/demultiplexor system according to one embodiment of the present invention.
- FIG. 3 is a schematic view of the HTTP multiplexor/demultiplexor system of FIG. 2, showing HTTP requests and responses.
- FIG. 4 is a schematic view of a client computing device of the system of FIG. 2.
- FIG. 5 is a schematic view of one embodiment of a networking device of the system of FIG. 2.
- FIG. 6 is a schematic view of another embodiment of a networking device of the system of FIG. 2.
- FIG. 7 is a flowchart of a method of demultiplexing and multiplexing HTTP requests and responses according to one embodiment of the present invention.
- Referring initially to FIG. 1, a prior art networking system is shown generally at 5.
Prior art system 5 includes a plurality ofremote clients 5 a and aserver 5 b. Inprior art system 5, a single Transport Control Protocol (TCP) connection is established between eachremote client 5 a andserver 5 b. Each TCP connection is established between a single socket on each remote client and a corresponding socket on the server, such that a one-to-one socket ratio is established.Remote clients 5 a send Hypertext Transfer Protocol (HTTP) requests via established TCP connections to a TCP buffer associated with a server socket. Requests received at the TCP buffer are processed only as quickly as the server can respond to them. Often, requests build up in the buffer because the server cannot respond to them quickly enough, and server-side delay (also referred to as latency) often results. This is inefficient and frustrating, and may cause a user to abandon downloading the page. - In FIG. 2, a system for processing HTTP requests according to one embodiment of the present invention is shown generally at 10.
System 10 typically includes a plurality ofremote clients 12 configured to communicate withservers 14 viacomputer network 16. To access web resources located at Uniform Resource Indicators (URIs) onweb site 18,remote client 12 sends HTTP requests via anetworking device 20 toserver 14 and waits for HTTP responses to return.Networking device 20 includes an HTTP multiplexor/demultiplexor 22 configured to route HTTP requests from a single socket onremote client 12, to a plurality of sockets onserver 14. Typically, HTTP requests are routed to an optimal server socket with optimal response time, in order to ensure efficient processing of the requests. - Referring now to FIG. 4,
remote client 12 typically is a personal computer including aprocessor 13 a coupled to acommunications bus 13 b. Amass storage device 13 c, such as a hard drive, CD ROM drive, tape drive, etc., and amemory 13 d are also linked to thecommunications bus 13 b.Memory 13 d typically includes random access memory (RAM) 13 e, and read-only memory (ROM) 13 f.ROM 13 f typically includes a basic input/output system (BIOS) 13 g, which is configured to start up and operate basic functions of the remote client.Remote client 12 typically is configured to accesscomputer network 16 via anetwork interface 13 h. Alternatively,remote client 12 may be a portable data assistant, web-enabled wireless device, mainframe computer, or other suitable computing device. -
Remote client 12 typically is configured to run an operating system (OS) 13 i to manage programs or applications. Operating system 13 i is stored inmass storage device 13 c. Examples of suitable operating systems include UNIX, Windows, MacOS, VMS, and OS/2, although virtually any suitable operating system may be used.Remote client 12 includes a browser program 13 i stored inmass storage device 13 c configured to display requested web resources to a user ofremote client 12.Exemplary browser programs 34 include the Netscape browser commercially available from Netscape Communications Corporation of Santa Clara, California and the Internet Explorer browser commercially available from Microsoft Corporation of Redmond, Washington. -
Server 14 also typically is a computer similar to that shown in FIG. 4.Server 14 typically includes a server program configured to communicate with remote clients using the HTTP protocol. The server program typically is configured to receive HTTP requests, and, in response send HTTP responses to browser 13 i onremote client 12 viacomputer network 16. -
Computer network 16 typically is a wide area network (WAN) such as the Internet andcomputer network 24 is a local area network (LAN). Typically,network 16 operates using TCP/IP protocols, although other protocols suitable for carrying HTTP requests and responses may be used. -
Web site 18 typically includes a collection of web resources or URIs typically located at a web address called a URL (Uniform Resource Locator). The term “web resource” refers generally to a data resource that may be downloaded by a web browser. Web resources may include web pages, code, graphics, video, sounds, text, and/or other data. Web resources may be static (e.g. stored file) or dynamic (e.g. dynamically generated output). Web resources may be stored on and served by asingle server 14 or a number ofservers 14, as shown in FIGS. 1 and 2. For example, images may be stored on one server while code may be stored in another server, alternatively, copies of images and code may be stored on multiple redundant servers. - As shown in FIG. 5,
networking device 20 typically includes acontroller 20 a having amemory 20 b andprocessor 20 c linked by abus 20 d. Also coupled tobus 20 d is amass storage device 20 e including a multiplexor/demultiplexor 22, which may also be referred to as a “mux/demux.”Networking device 20 also typically includes anetwork interface 20 f coupled tobus 20 d and to an external network connection tocomputer network 16.Network interface 20 f is configured to enablenetworking device 20 to communicate withremote client 12 viaWAN computer network 16 and withserver 14 viaLAN computer network 24. An example of a suitable network interface is theIntel Ethernet Pro 100 network card, commercially available from Intel Corporation of Santa Clara, Calif. - In FIG. 6, another embodiment of a networking device according to the present invention is shown generally at20′.
Networking device 20′ typically includes an integratedcircuit board 20 g. The integrated circuit board contains abus 20 h connecting a network interface 20 i, memory 20 i, processor 20 k, Application Specific Integrated Circuit (ASIC) 20 m, andmass storage device 20 n. Network interface 20 i is configured to enablenetworking device 20′ to communicate withremote client 12 viacomputer network 16 and withserver 14 viaLAN 24.ASIC 20 m typically contains a multiplexor/demultiplexor 22.ASIC 20 m, processor 20 k, and memory 20 i form acontroller 20 p configured to process requests for web resources according to the methods described below. It will be appreciated that the embodiments ofnetworking device -
Networking device 20 typically is connected toserver 14 viaLAN 24. Becausedevice 20 is connected toserver 14 viaLAN 24 andremote client 12 viaWAN 16,networking device 20 may be considered a “server-side” proxy server. A proxy server is a program or device that acts as an intermediary between a browser and a server.Networking device 20 acts as an intermediary by receiving HTTP requests fromremote clients 12 and sending those requests to a socket onserver 14, and by receiving server-generated HTTP responses and sending those responses to the remote client that originated the requests. -
Networking device 20 includes a software or firmware multiplexor/demultiplexor 22 configured to route requests from a single remote client to a plurality of sockets onserver 14, and to route server responses from various sockets back to the originating remote client. As shown in FIG. 3, eachremote client 12 has an associatednetwork connection demultiplexor 22 viaWAN 16.Remote clients 12 are typically configured to send HTTP requests and receive HTTP responses viaconnections server 14 has an associatednetwork connection demultiplexor 22 viaLAN 24.Servers 14 are typically configured to receive HTTP requests and send HTTP responses viaconnections demultiplexor 22 is configured to establish additional connections with additional remote clients and servers. - Typically
connections - HTTP multiplexor/
demultiplexor 22 is configured to receive a series of HTTP requests A over asingle connection 26 from aremote client 12 at a corresponding remote client-side socket 26 a. As used herein, the term socket refers to a port, buffer, logical node, or object configured to receive data in the HTTP format from a remote device via a network connection, and is not limited to a “socket” as defined in the Unix operating system environment. - HTTP multiplexor/
demultiplexor 22 is also configured to demultiplex the series of requests A into discrete requests A1-A3 and to transport each discrete request A1-A3 to one of a plurality of server-side sockets side sockets demux 22 are connected to correspondingserver sockets b 36 b ofserver 14 viarespective connections LAN 24. - HTTP multiplexor/
demultiplexor 22 of one embodiment of the present invention is configured to route or distribute the incoming requests A from a single remote client-side socket such as 26 a to a plurality of server-side sockets demultiplexor 22 is configured to route each of HTTP requests A to an optimal server socket, which typically is a least busy server socket. To determine the optimal server socket, multiplexor/demultiplexor 22 may be configured to detect the response time at eachserver socket side sockets server 14. - In addition, the HTTP multiplexor/demultiplexor may be configured to determine the type of HTTP request being made and/or the type of data being requested and accordingly route the request to an optimal server-side socket, based on the requested data type or HTTP request type. For example, all image requests may be handled by a predetermined set of sockets on
server 14 a, while all HTML requests may be handled by a predetermined set of sockets onserver 14 b. In addition, all HTTP 1.0 requests may be detected by multiplexor/demultiplexor 22 and routed to an optimal socket onserver 14 a, while all HTTP 1.1 requests may be detected and routed to an optimal socket onserver 14 b. -
Server 14 is configured to respond to the many incoming HTTP requests by sending out appropriate HTTP responses B, which may contain data requested by the HTTP requests. HTTP multiplexor/demultiplexor 22 is configured to receive these responses at server-side sockets remote client 12 a, and are routed toserver sockets demultiplexor 22. In response, HTTP responses B1, B2, and B3 are sent fromserver sockets persistent TCP connections side sockets side socket 26 a for delivery toremote client 12 a viaTCP connection 26. This process is referred to as multiplexing because discrete responses from a plurality of sockets are combined into a series of responses and sent over a single TCP connection toremote client 12 a. - Thus, HTTP multiplexor/
demultiplexor 22 is configured to take a single series of HTTP requests received via a single socket and route the requests to a plurality of different sockets onserver 14, and route responses from the various server sockets back to the remote client, such that the performance ofserver 14 may be optimized. - Although multiplexing and demultiplexing has been described in detail with reference only to
remote client 12 a, it will also be appreciated that HTTP multiplexor/demultiplexor 22 is configured to simultaneously demultiplex and multiplex HTTP requests and responses going to and from a plurality ofremote clients 12 via a plurality of remote client-side sockets - Turning to FIG. 7, a
method 100 may be practiced according to the present invention. The steps ofmethod 100 are typically accomplished by networkingdevice 20, utilizingremote client 12,server 14,WAN 16, andLAN 24. Alternatively, the method may be accomplished by dedicated software onserver 14, or by some other suitable software or hardware device. At 102, the method typically includes establishing persistent TCP connections between multiplexor/demultiplexor 22 and a plurality of sockets onserver 14 typically viaLAN 24. At 104, the method typically includes establishing persistent TCP connections between multiplexor/demultiplexor 22 and one or moreremote clients 12 viaWAN 16. At 106, the method further includes listening for a series of HTTP requests from an originatingremote client 12 and/or for HTTP responses from various server sockets. - When a series of HTTP requests is detected at multiplexor/
demultiplexor 22,method 100 continues, at 108, to receive the series of HTTP requests from originatingremote client 12 at a single remote client-side socket.Method 100 further includes, at 110, demultiplexing the series of HTTP requests into a plurality of discrete HTTP requests. At 112, the method further includes routing the series of requests to a plurality of sockets on an associated server, typically by sending each discrete HTTP request to an optimal server socket. - Prior to step112,
method 100 may also includemonitoring server sockets - When HTTP responses are detected at the multiplexor/demultiplexor at
step 106,method 100 proceeds to 114, and includes receiving HTTP responses from various server sockets. The multiplexor/demultiplexor typically is able to determine the destination of the HTTP responses. At 116, the method includes multiplexing the HTTP responses generated in response to requests from an originating remote client into a series of HTTP responses bound for the originating remote client. At 118,method 100 includes sending the series of responses to the originating remote client. - When there is a new remote client or server detected at 120, the method includes returning to step104 to establish a persistent TCP connection with the new remote client, or returning to step 102 to establish a persistent TCP connection with the new server, respectively. It will also be appreciated that HTTP multiplexor/
demultiplexor 22 may be configured to establish a plurality of TCP connections with a plurality of servers and a plurality of remote clients, and therefore may be configured to handle HTTP requests and HTTP responses from multiple servers and remote clients at once. - According to another embodiment of the method, the method may include receiving a series of HTTP requests originating from a single remote client and routing those requests to a plurality of sockets on a server. The method may also include receiving HTTP responses over a plurality of TCP connections from the server and routing those responses to a single remote client. As used above, the term “single remote20 client” refers to the fact that a plurality of requests originate from a single client. Of course, it will be appreciated that the method may be practiced with more than one remote client.
- Use of the above described
HTTP processing system 10, multiplexor/demultiplexor 22, and methods, in effect, reduce latency ofserver 14 in responding to HTTP requests because persistent connections between the server sockets and server-side sockets of multiplexor/demultiplexor 22 enable improved distribution of requests to optimal server sockets to maximize the efficiency ofserver 14. - While the present invention has been particularly shown and described with reference to the foregoing preferred embodiments, those skilled in the art will understand that many variations may be made therein without departing from the spirit and scope of the invention as defined in the following claims. The description of the invention should be understood to include all novel and non-obvious combinations of elements described herein, and claims may be presented in this or a later application to any novel and non-obvious combination of these elements. Where the claims recite “a” or “a first” element or the equivalent thereof, such claims should be understood to include incorporation of one or more such elements, neither requiring nor excluding two or more such elements.
Claims (26)
1. A computer networking device for use on a computer network connecting a client and a server, the client and server client being configured to communicate using Hypertext Transfer Protocol (HTTP), the computer networking device comprising, an HTTP multiplexor/demultiplexor configured to receive HTTP requests from the client and to distribute those requests over a plurality of TCP connections to a plurality of corresponding sockets on the server.
2. The computer networking device of claim 1 , wherein the multiplexor/demultiplexor is further configured to receive HTTP responses from the server over a plurality of TCP connections and to route those responses to the client via a single TCP connection.
3. A computer networking method for processing HTTP requests, comprising:
receiving a series of HTTP requests from an originating client; and
routing the series of requests to a plurality of sockets on a server via a plurality of TCP connections.
4. The method of claim 3 , wherein the requests are routed based on a parameter selected from the group consisting of least-lengthy response time, last accessed socket, fewest number of unfulfilled requests, type of requested data, and size of requested data.
5. The method of claim 3 , further comprising:
receiving HTTP responses over a plurality of connections from the server; and
routing the responses to the originating client.
6. A computer networking method for data transfer between an originating client, a server, and a networking device positioned intermediate the client and the server on a computer network, the method comprising:
at the networking device, listening for a series of HTTP requests from the originating client;
receiving the series of HTTP requests from the originating client;
demultiplexing the series of HTTP requests into discrete HTTP requests; and
sending each discrete HTTP request to an optimal server socket.
7. The method of claim 6 , wherein receiving and sending occur via TCP connections.
8. The method of claim 7 , wherein the TCP connections are persistent.
9. The method of claim 6 , wherein sending each discrete HTTP request to an optimal server socket includes determining an optimal server socket.
10. The method of claim 9 , wherein determining an optimal server socket includes determining a server socket with a least-lengthy response time.
11. The method of claim 9 , wherein determining an optimal server socket includes determining a last-accessed server socket.
12. The method of claim 9 , wherein determining an optimal server socket includes determining a server socket with the fewest number of unfulfilled requests.
13. The method of claim 6 , further comprising, listening for HTTP responses from a plurality of server sockets.
14. The method of claim 13 , further comprising, receiving the HTTP responses from the plurality of server sockets.
15. The method of claim 14 , further comprising, multiplexing the HTTP responses from the plurality of server sockets into a series of HTTP responses.
16. The method of claim 15 , further comprising, sending the series of HTTP responses to the originating client.
17. A computer networking method for data transfer between an originating client, a server, and an intermediate networking device, wherein the originating client and the server are configured to communicate over a computer network via the intermediate networking device, the method comprising:
at the intermediate networking device, listening for a series of HTTP requests from the originating client;
receiving the series of HTTP requests from the originating client;
demultiplexing the series of HTTP requests into discrete HTTP requests;
determining an optimal server socket for each discrete HTTP request;
sending each discrete HTTP request to the optimal server socket for the request;
listening for HTTP responses from a plurality of server sockets;
receiving the HTTP responses from the plurality of server sockets;
multiplexing the HTTP responses from the plurality of server sockets into a series of HTTP responses; and
sending the series of HTTP responses to the originating client.
18. A computer networking device for use on a computer network to improve data transfer, positioned intermediate a client and a server, the client and server being configured to communicate via the computer network using HTTP communication protocol, the computer networking device comprising, an HTTP multiplexor/demultiplexor configured to receive HTTP requests from the client and to send the HTTP requests to a plurality of sockets on the server, and further configured to receive HTTP responses from the plurality of sockets on the server and to send the HTTP responses to the client.
19. The device of claim 18 , wherein the computer networking device establishes TCP connections with the client and the plurality of server sockets.
20. The device of claim 19 , wherein the TCP connections are persistent.
21. The device of claim 18 , wherein the HTTP multiplexor/demultiplexor is further configured to determine an optimal server socket for each HTTP request.
22. The device of claim 21 , wherein the HTTP multiplexor/demultiplexor is configured to send each HTTP request to the determined optimal server socket for the request.
23. A computer networking system for use with a computer network, the system comprising:
a server;
a client configured to connect to the server via the computer network; and
a computer networking device positioned intermediate the server and the client on the computer network;
wherein the computer networking device is configured to receive HTTP requests from the client and to distribute those requests over a plurality of TCP connections to a plurality of corresponding sockets on the server.
24. The computer networking system of claim 23 , wherein the computer networking device is further configured to receive HTTP responses from the server over a plurality of TCP connections and to route those responses to the client via a single TCP connection.
25. A computer networking device for improving data transfer via a computer network, the device being configured to receive HTTP requests from a client, to determine an optimal server socket for each HTTP requests, and to send each HTTP request to the determined optimal server socket for the request.
26. The device of claim 25 , wherein the device is further configured to receive an HTTP response from the optimal server socket and to send the HTTP response to the client.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/882,375 US20020042839A1 (en) | 2000-10-10 | 2001-06-15 | HTTP multiplexor/demultiplexor |
AT01983121T ATE370455T1 (en) | 2000-10-10 | 2001-10-10 | HTTP MULTIPLEXER/DEMULTIPLEXER |
EP01983121A EP1332437B1 (en) | 2000-10-10 | 2001-10-10 | Http multiplexor/demultiplexor |
AU2002214574A AU2002214574A1 (en) | 2000-10-10 | 2001-10-10 | Http multiplexor/demultiplexor |
DE60130011T DE60130011T2 (en) | 2000-10-10 | 2001-10-10 | HTTP multiplexer / demultiplexer |
PCT/US2001/031854 WO2002031676A1 (en) | 2000-10-10 | 2001-10-10 | Http multiplexor/demultiplexor |
US09/975,522 US7231446B2 (en) | 2000-10-10 | 2001-10-10 | HTTP multiplexor/demultiplexor |
US10/136,030 US7055028B2 (en) | 2000-10-10 | 2002-04-29 | HTTP multiplexor/demultiplexor system for use in secure transactions |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23955200P | 2000-10-10 | 2000-10-10 | |
US09/882,375 US20020042839A1 (en) | 2000-10-10 | 2001-06-15 | HTTP multiplexor/demultiplexor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/975,522 Continuation-In-Part US7231446B2 (en) | 2000-10-10 | 2001-10-10 | HTTP multiplexor/demultiplexor |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020042839A1 true US20020042839A1 (en) | 2002-04-11 |
Family
ID=26932665
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/882,375 Abandoned US20020042839A1 (en) | 2000-10-10 | 2001-06-15 | HTTP multiplexor/demultiplexor |
US09/975,522 Expired - Lifetime US7231446B2 (en) | 2000-10-10 | 2001-10-10 | HTTP multiplexor/demultiplexor |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/975,522 Expired - Lifetime US7231446B2 (en) | 2000-10-10 | 2001-10-10 | HTTP multiplexor/demultiplexor |
Country Status (6)
Country | Link |
---|---|
US (2) | US20020042839A1 (en) |
EP (1) | EP1332437B1 (en) |
AT (1) | ATE370455T1 (en) |
AU (1) | AU2002214574A1 (en) |
DE (1) | DE60130011T2 (en) |
WO (1) | WO2002031676A1 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003015330A2 (en) | 2001-08-08 | 2003-02-20 | Flash Networks Ltd. | A system and a method for accelerating communication of tcp/ip based content |
US20030084093A1 (en) * | 2001-10-30 | 2003-05-01 | Grason Thomas S. | Information gateway manager for multiple devices |
US20040034687A1 (en) * | 2002-08-01 | 2004-02-19 | Bellsouth Intellectual Property Corporation | Extensible instant messaging service |
US20050025150A1 (en) * | 2003-08-01 | 2005-02-03 | Itworx Egypt | Accelerating network performance by striping and parallelization of TCP connections |
US20050074007A1 (en) * | 2003-07-29 | 2005-04-07 | Samuels Allen R. | Transaction boundary detection for reduction in timeout penalties |
US20050135418A1 (en) * | 2003-12-19 | 2005-06-23 | Solace Systems, Inc. | Multiplexing of control and data over an HTTP connection |
GB2409793A (en) * | 2004-01-02 | 2005-07-06 | Zend Technologies Ltd | Handling download requests |
US20060089996A1 (en) * | 2000-10-05 | 2006-04-27 | Juniper Networks, Inc. | Connection management system and method |
US20060159029A1 (en) * | 2005-01-20 | 2006-07-20 | Samuels Allen R | Automatic LAN/WAN port detection |
US20070018403A1 (en) * | 2005-02-14 | 2007-01-25 | Wong Jacob Y | Yangtze hold 'em and other poker games played with a chinese poker deck |
US7263550B1 (en) * | 2000-10-10 | 2007-08-28 | Juniper Networks, Inc. | Agent-based event-driven web server architecture |
US20070206621A1 (en) * | 2003-07-29 | 2007-09-06 | Robert Plamondon | Systems and methods of using packet boundaries for reduction in timeout prevention |
US20070257786A1 (en) * | 2006-05-08 | 2007-11-08 | International Business Machines Corporation | Sequencing multi-source messages for delivery as partial sets to multiple destinations |
US20090138956A1 (en) * | 2007-11-27 | 2009-05-28 | Red Hat, Inc. | Multi-use application proxy |
US20100077035A1 (en) * | 2008-09-23 | 2010-03-25 | Nokia Corporation | Optimized Polling in Low Resource Devices |
US7801978B1 (en) | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US8259729B2 (en) | 2002-10-30 | 2012-09-04 | Citrix Systems, Inc. | Wavefront detection and disambiguation of acknowledgements |
US8411560B2 (en) | 2002-10-30 | 2013-04-02 | Citrix Systems, Inc. | TCP selection acknowledgements for communicating delivered and missing data packets |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US20140101235A1 (en) * | 2012-10-05 | 2014-04-10 | Redfin Corporation | Multiplexing web requests for improved performance |
US20150277997A1 (en) * | 2014-03-31 | 2015-10-01 | Solarflare Communications, Inc. | Ordered Event Notification |
US20160037509A1 (en) * | 2014-07-30 | 2016-02-04 | Onavo Mobile Ltd. | Techniques to reduce bandwidth usage through multiplexing and compression |
US9558097B2 (en) | 2007-11-13 | 2017-01-31 | Red Hat, Inc. | Automated recording and playback of application interactions |
US10375203B2 (en) * | 2011-02-28 | 2019-08-06 | Red Hat, Inc. | Generating a selection of cloud data distribution service from alternative providers for staging data to host clouds |
WO2022251250A3 (en) * | 2021-05-27 | 2023-01-19 | Aviatrix Systems, Inc. | System and method for automating appliance configuration and operability |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349867B2 (en) | 2000-12-22 | 2008-03-25 | Invenda Corporation | Tracking transactions by using addresses in a communications network |
US7415429B2 (en) | 2000-12-22 | 2008-08-19 | Invenda Corporation | Providing navigation objects for communications over a network |
US7363248B2 (en) * | 2000-12-22 | 2008-04-22 | Invenda Corporation | Pre-filling order forms for transactions over a communications network |
KR100451721B1 (en) * | 2000-12-30 | 2004-10-08 | 엘지전자 주식회사 | Method for Matching Inter-processor Communication in Mobile Communication System |
US20030041101A1 (en) * | 2001-08-24 | 2003-02-27 | Hansche Brian A. | Presence watcher proxy |
US7490162B1 (en) | 2002-05-15 | 2009-02-10 | F5 Networks, Inc. | Method and system for forwarding messages received at a traffic manager |
US8244875B2 (en) * | 2002-12-13 | 2012-08-14 | ANXeBusiness Corporation | Secure network computing |
US8332464B2 (en) * | 2002-12-13 | 2012-12-11 | Anxebusiness Corp. | System and method for remote network access |
US7774484B1 (en) | 2002-12-19 | 2010-08-10 | F5 Networks, Inc. | Method and system for managing network traffic |
US20050193056A1 (en) * | 2002-12-26 | 2005-09-01 | Schaefer Diane E. | Message transfer using multiplexed connections in an open system interconnection transaction processing environment |
US7949712B2 (en) | 2003-02-10 | 2011-05-24 | At&T Intellectual Property I, L.P. | High availability presence engine for instant messaging |
US7493398B2 (en) * | 2003-04-16 | 2009-02-17 | Microsoft Corporation | Shared socket connections for efficient data transmission |
US9357033B2 (en) * | 2003-06-17 | 2016-05-31 | Citrix Systems, Inc. | Method and system for dynamic interleaving |
US20050198302A1 (en) * | 2003-12-29 | 2005-09-08 | Microsoft Corporation | Multi-client support |
US20100211626A1 (en) * | 2004-01-12 | 2010-08-19 | Foundry Networks, Inc. | Method and apparatus for maintaining longer persistent connections |
US20060288109A1 (en) * | 2005-06-17 | 2006-12-21 | Utstarcom, Inc. | Method and apparatus to facilitate Layer 3 internet protocol socket connections |
US8832705B1 (en) * | 2005-12-28 | 2014-09-09 | Emc Corporation | Ordered mutual exclusion |
US20070214251A1 (en) * | 2006-03-07 | 2007-09-13 | Zhong Li | Naming and accessing remote servers through security split reverse proxy |
JP2007317028A (en) * | 2006-05-26 | 2007-12-06 | Ns Solutions Corp | Information processing apparatus, database management system, method for controlling information processing apparatus, and program |
US20080114882A1 (en) * | 2006-11-13 | 2008-05-15 | David Alan Christenson | Multiplexing Multiple Client Connections in a Single Socket |
US7865576B2 (en) * | 2007-01-31 | 2011-01-04 | Alcatel Lucent | Change of subscriber information in a multi-chassis network access environment |
TW200847711A (en) * | 2007-05-31 | 2008-12-01 | Wistron Corp | Method and related system for building up a network connection between clients and servers through a stream fork by utilizing http protocol |
US9083758B2 (en) * | 2007-06-11 | 2015-07-14 | Nokia Technologies Oy | System and method for using presence information |
US8260934B2 (en) * | 2007-08-31 | 2012-09-04 | Red Hat, Inc. | Multiplex transport |
US8406133B2 (en) * | 2009-02-24 | 2013-03-26 | Silver Spring Networks, Inc. | System and method of regulating a packet rate to optimize traffic in a network |
US8193934B2 (en) * | 2009-09-30 | 2012-06-05 | Motorola Solutions, Inc. | Method for using recording rules and previous value selection rules for presence information in a communications system |
US20120054316A1 (en) * | 2010-09-01 | 2012-03-01 | Canon Kabushiki Kaisha | Tcp multiplexing over a proxy |
US8996657B2 (en) * | 2010-09-01 | 2015-03-31 | Canon Kabushiki Kaisha | Systems and methods for multiplexing network channels |
US20120151087A1 (en) * | 2010-12-14 | 2012-06-14 | Nuvel, Inc. | System and method for providing a network proxy data tunnel |
US9923677B2 (en) * | 2014-12-26 | 2018-03-20 | Intel Corporation | Multiplexing many client streams over a single connection |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
CN106487603B (en) * | 2015-08-26 | 2019-12-10 | 阿里巴巴集团控股有限公司 | Response testing method and device |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
CN107231647B (en) * | 2017-08-03 | 2019-01-11 | Oppo广东移动通信有限公司 | Network detecting method, network detection device and intelligent terminal |
US10182009B1 (en) * | 2018-07-24 | 2019-01-15 | Capital One Services, Llc | Creating endpoints |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5812668A (en) * | 1996-06-17 | 1998-09-22 | Verifone, Inc. | System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture |
US5826261A (en) * | 1996-05-10 | 1998-10-20 | Spencer; Graham | System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query |
US5996076A (en) * | 1997-02-19 | 1999-11-30 | Verifone, Inc. | System, method and article of manufacture for secure digital certification of electronic commerce |
US6128663A (en) * | 1997-02-11 | 2000-10-03 | Invention Depot, Inc. | Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server |
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6286029B1 (en) * | 1997-04-28 | 2001-09-04 | Sabre Inc. | Kiosk controller that retrieves content from servers and then pushes the retrieved content to a kiosk in the order specified in a run list |
US20010036271A1 (en) * | 1999-09-13 | 2001-11-01 | Javed Shoeb M. | System and method for securely distributing digital content for short term use |
US6324582B1 (en) * | 1997-07-01 | 2001-11-27 | Sitara Networks, Inc. | Enhanced network communication |
US6327578B1 (en) * | 1998-12-29 | 2001-12-04 | International Business Machines Corporation | Four-party credit/debit payment protocol |
US20010056416A1 (en) * | 2000-03-16 | 2001-12-27 | J.J. Garcia-Luna-Aceves | System and method for discovering information objects and information object repositories in computer networks |
US20020038360A1 (en) * | 2000-05-31 | 2002-03-28 | Matthew Andrews | System and method for locating a closest server in response to a client domain name request |
US6374237B1 (en) * | 1996-12-24 | 2002-04-16 | Intel Corporation | Data set selection based upon user profile |
US6473851B1 (en) * | 1999-03-11 | 2002-10-29 | Mark E Plutowski | System for combining plurality of input control policies to provide a compositional output control policy |
US6516338B1 (en) * | 1998-05-15 | 2003-02-04 | The Macmanus Group, Inc. | Apparatus and accompanying methods for implementing network servers for use in providing interstitial web advertisements to a client computer |
US20030028433A1 (en) * | 1996-10-29 | 2003-02-06 | Merriman Dwight Allen | Method of delivery, targeting, and measuring advertising over networks |
US6529903B2 (en) * | 2000-07-06 | 2003-03-04 | Google, Inc. | Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query |
US6735586B2 (en) * | 2000-02-08 | 2004-05-11 | Sybase, Inc. | System and method for dynamic content retrieval |
US6754701B1 (en) * | 2000-05-05 | 2004-06-22 | Mercury Interactive Corporation | Use of a single thread to support multiple network connections for server load testing |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0632522B2 (en) * | 1983-12-29 | 1994-04-27 | 富士通株式会社 | Digital signal transmission method |
SU1458295A1 (en) * | 1986-10-01 | 1989-02-15 | Издательство "Известия" Советов Народных Депутатов Ссср | Unit for connecting holders of space conveyer |
US5329619A (en) | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
US6535880B1 (en) * | 2000-05-09 | 2003-03-18 | Cnet Networks, Inc. | Automated on-line commerce method and apparatus utilizing a shopping server verifying product information on product selection |
US6185619B1 (en) | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
US5644718A (en) | 1994-11-10 | 1997-07-01 | At&T Corporation | Apparatus using circuit manager to associate a single circuit with each host application where the circuit is shared by a plurality of client applications |
US5678007A (en) | 1994-11-22 | 1997-10-14 | Microsoft Corporation | Method and apparatus for supporting multiple outstanding network requests on a single connection |
US6128657A (en) * | 1996-02-14 | 2000-10-03 | Fujitsu Limited | Load sharing system |
US5754830A (en) * | 1996-04-01 | 1998-05-19 | Openconnect Systems, Incorporated | Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation |
US5774660A (en) * | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5918017A (en) * | 1996-08-23 | 1999-06-29 | Internatioinal Business Machines Corp. | System and method for providing dynamically alterable computer clusters for message routing |
US6012083A (en) * | 1996-09-24 | 2000-01-04 | Ricoh Company Ltd. | Method and apparatus for document processing using agents to process transactions created based on document content |
SE507138C2 (en) * | 1996-10-14 | 1998-04-06 | Mirror Image Internet Ab | Procedure and apparatus for information transmission on the Internet |
US6108782A (en) * | 1996-12-13 | 2000-08-22 | 3Com Corporation | Distributed remote monitoring (dRMON) for networks |
US5941988A (en) | 1997-01-27 | 1999-08-24 | International Business Machines Corporation | Session and transport layer proxies via TCP glue |
US6845505B1 (en) * | 1997-02-03 | 2005-01-18 | Oracle International Corporation | Web request broker controlling multiple processes |
US6138162A (en) | 1997-02-11 | 2000-10-24 | Pointcast, Inc. | Method and apparatus for configuring a client to redirect requests to a caching proxy server based on a category ID with the request |
US6104716A (en) | 1997-03-28 | 2000-08-15 | International Business Machines Corporation | Method and apparatus for lightweight secure communication tunneling over the internet |
US6243379B1 (en) | 1997-04-04 | 2001-06-05 | Ramp Networks, Inc. | Connection and packet level multiplexing between network links |
US6263368B1 (en) * | 1997-06-19 | 2001-07-17 | Sun Microsystems, Inc. | Network load balancing for multi-computer server by counting message packets to/from multi-computer server |
US6070191A (en) * | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US6115745A (en) * | 1997-11-25 | 2000-09-05 | International Business Machines Corporation | Scheduling of distributed agents in a dialup network |
US6078953A (en) | 1997-12-29 | 2000-06-20 | Ukiah Software, Inc. | System and method for monitoring quality of service over network |
US6363077B1 (en) * | 1998-02-13 | 2002-03-26 | Broadcom Corporation | Load balancing in link aggregation and trunking |
US6003083A (en) * | 1998-02-19 | 1999-12-14 | International Business Machines Corporation | Workload management amongst server objects in a client/server network with distributed objects |
US6175869B1 (en) * | 1998-04-08 | 2001-01-16 | Lucent Technologies Inc. | Client-side techniques for web server allocation |
US6314463B1 (en) * | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6266707B1 (en) * | 1998-08-17 | 2001-07-24 | International Business Machines Corporation | System and method for IP network address translation and IP filtering with dynamic address resolution |
US6411986B1 (en) * | 1998-11-10 | 2002-06-25 | Netscaler, Inc. | Internet client-server multiplexer |
KR100317251B1 (en) * | 1998-12-14 | 2002-02-19 | 서평원 | Apparatus for multiplexing line |
US6490632B1 (en) * | 1999-03-18 | 2002-12-03 | 3Com Corporation | High performance load balancing and fail over support of internet protocol exchange traffic over multiple network interface cards |
US6252848B1 (en) | 1999-03-22 | 2001-06-26 | Pluris, Inc. | System performance in a data network through queue management based on ingress rate monitoring |
EP1049307A1 (en) * | 1999-04-29 | 2000-11-02 | International Business Machines Corporation | Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web |
US7051066B1 (en) * | 1999-07-02 | 2006-05-23 | Cisco Technology, Inc. | Integrating service managers into a routing infrastructure using forwarding agents |
US6675216B1 (en) * | 1999-07-06 | 2004-01-06 | Cisco Technolgy, Inc. | Copy server for collaboration and electronic commerce |
US6882623B1 (en) * | 2000-02-08 | 2005-04-19 | Native Networks Technologies Ltd. | Multi-level scheduling method for multiplexing packets in a communications network |
US6377975B1 (en) * | 2000-03-01 | 2002-04-23 | Interactive Intelligence, Inc. | Methods and systems to distribute client software tasks among a number of servers |
US6779039B1 (en) * | 2000-03-31 | 2004-08-17 | Avaya Technology Corp. | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers |
US6591298B1 (en) * | 2000-04-24 | 2003-07-08 | Keynote Systems, Inc. | Method and system for scheduling measurement of site performance over the internet |
US6996631B1 (en) * | 2000-08-17 | 2006-02-07 | International Business Machines Corporation | System having a single IP address associated with communication protocol stacks in a cluster of processing systems |
US6738813B1 (en) * | 2000-09-11 | 2004-05-18 | Mercury Interactive Corporation | System and method for monitoring performance of a server system using otherwise unused processing capacity of user computing devices |
US6754621B1 (en) * | 2000-10-06 | 2004-06-22 | Andrew Cunningham | Asynchronous hypertext messaging system and method |
-
2001
- 2001-06-15 US US09/882,375 patent/US20020042839A1/en not_active Abandoned
- 2001-10-10 AU AU2002214574A patent/AU2002214574A1/en not_active Abandoned
- 2001-10-10 EP EP01983121A patent/EP1332437B1/en not_active Expired - Lifetime
- 2001-10-10 AT AT01983121T patent/ATE370455T1/en not_active IP Right Cessation
- 2001-10-10 US US09/975,522 patent/US7231446B2/en not_active Expired - Lifetime
- 2001-10-10 DE DE60130011T patent/DE60130011T2/en not_active Expired - Lifetime
- 2001-10-10 WO PCT/US2001/031854 patent/WO2002031676A1/en active IP Right Grant
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826261A (en) * | 1996-05-10 | 1998-10-20 | Spencer; Graham | System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query |
US5812668A (en) * | 1996-06-17 | 1998-09-22 | Verifone, Inc. | System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture |
US20030028433A1 (en) * | 1996-10-29 | 2003-02-06 | Merriman Dwight Allen | Method of delivery, targeting, and measuring advertising over networks |
US6374237B1 (en) * | 1996-12-24 | 2002-04-16 | Intel Corporation | Data set selection based upon user profile |
US6128663A (en) * | 1997-02-11 | 2000-10-03 | Invention Depot, Inc. | Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server |
US5996076A (en) * | 1997-02-19 | 1999-11-30 | Verifone, Inc. | System, method and article of manufacture for secure digital certification of electronic commerce |
US6286029B1 (en) * | 1997-04-28 | 2001-09-04 | Sabre Inc. | Kiosk controller that retrieves content from servers and then pushes the retrieved content to a kiosk in the order specified in a run list |
US6173322B1 (en) * | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6324582B1 (en) * | 1997-07-01 | 2001-11-27 | Sitara Networks, Inc. | Enhanced network communication |
US6516338B1 (en) * | 1998-05-15 | 2003-02-04 | The Macmanus Group, Inc. | Apparatus and accompanying methods for implementing network servers for use in providing interstitial web advertisements to a client computer |
US6327578B1 (en) * | 1998-12-29 | 2001-12-04 | International Business Machines Corporation | Four-party credit/debit payment protocol |
US6473851B1 (en) * | 1999-03-11 | 2002-10-29 | Mark E Plutowski | System for combining plurality of input control policies to provide a compositional output control policy |
US20010036271A1 (en) * | 1999-09-13 | 2001-11-01 | Javed Shoeb M. | System and method for securely distributing digital content for short term use |
US6735586B2 (en) * | 2000-02-08 | 2004-05-11 | Sybase, Inc. | System and method for dynamic content retrieval |
US20010056416A1 (en) * | 2000-03-16 | 2001-12-27 | J.J. Garcia-Luna-Aceves | System and method for discovering information objects and information object repositories in computer networks |
US6754701B1 (en) * | 2000-05-05 | 2004-06-22 | Mercury Interactive Corporation | Use of a single thread to support multiple network connections for server load testing |
US20020038360A1 (en) * | 2000-05-31 | 2002-03-28 | Matthew Andrews | System and method for locating a closest server in response to a client domain name request |
US6529903B2 (en) * | 2000-07-06 | 2003-03-04 | Google, Inc. | Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7346691B2 (en) | 2000-10-05 | 2008-03-18 | Juniper Networks, Inc. | Connection management system and method |
US20060089996A1 (en) * | 2000-10-05 | 2006-04-27 | Juniper Networks, Inc. | Connection management system and method |
US7263550B1 (en) * | 2000-10-10 | 2007-08-28 | Juniper Networks, Inc. | Agent-based event-driven web server architecture |
US7747707B1 (en) | 2000-10-10 | 2010-06-29 | Juniper Networks, Inc. | Agent-based event-driven web server architecture |
US7917601B1 (en) | 2000-10-10 | 2011-03-29 | Juniper Networks, Inc. | Agent-based event-driven web server architecture |
US7801978B1 (en) | 2000-10-18 | 2010-09-21 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US9148493B2 (en) | 2000-10-18 | 2015-09-29 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US8631120B2 (en) | 2000-10-18 | 2014-01-14 | Citrix Systems, Inc. | Apparatus, method and computer program product for efficiently pooling connections between clients and servers |
US8176183B2 (en) * | 2001-08-08 | 2012-05-08 | Flash Networks Ltd | System and a method for accelerating communication of TCP/IP based content |
US20080250103A1 (en) * | 2001-08-08 | 2008-10-09 | Assaf Bar-Yaacov | System and a method for accelerating communication of tcp/ip based content |
WO2003015330A2 (en) | 2001-08-08 | 2003-02-20 | Flash Networks Ltd. | A system and a method for accelerating communication of tcp/ip based content |
US7752331B2 (en) * | 2001-10-30 | 2010-07-06 | At&T Intellectual Property I, L.P. | Information gateway manager for multiple devices |
US20030084093A1 (en) * | 2001-10-30 | 2003-05-01 | Grason Thomas S. | Information gateway manager for multiple devices |
US20040034687A1 (en) * | 2002-08-01 | 2004-02-19 | Bellsouth Intellectual Property Corporation | Extensible instant messaging service |
US9008100B2 (en) | 2002-10-30 | 2015-04-14 | Citrix Systems, Inc. | Wavefront detection and disambiguation of acknowledgments |
US8411560B2 (en) | 2002-10-30 | 2013-04-02 | Citrix Systems, Inc. | TCP selection acknowledgements for communicating delivered and missing data packets |
US9496991B2 (en) | 2002-10-30 | 2016-11-15 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US8259729B2 (en) | 2002-10-30 | 2012-09-04 | Citrix Systems, Inc. | Wavefront detection and disambiguation of acknowledgements |
US8553699B2 (en) | 2002-10-30 | 2013-10-08 | Citrix Systems, Inc. | Wavefront detection and disambiguation of acknowledgements |
US8824490B2 (en) | 2003-07-29 | 2014-09-02 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US8233392B2 (en) | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US9071543B2 (en) | 2003-07-29 | 2015-06-30 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US20050074007A1 (en) * | 2003-07-29 | 2005-04-07 | Samuels Allen R. | Transaction boundary detection for reduction in timeout penalties |
US8462630B2 (en) | 2003-07-29 | 2013-06-11 | Citrix Systems, Inc. | Early generation of acknowledgements for flow control |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US20070206621A1 (en) * | 2003-07-29 | 2007-09-06 | Robert Plamondon | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7286476B2 (en) * | 2003-08-01 | 2007-10-23 | F5 Networks, Inc. | Accelerating network performance by striping and parallelization of TCP connections |
US20050025150A1 (en) * | 2003-08-01 | 2005-02-03 | Itworx Egypt | Accelerating network performance by striping and parallelization of TCP connections |
US7486698B2 (en) * | 2003-12-19 | 2009-02-03 | Solace Systems, Inc. | Multiplexing of control and data over an HTTP connection |
US20050135418A1 (en) * | 2003-12-19 | 2005-06-23 | Solace Systems, Inc. | Multiplexing of control and data over an HTTP connection |
GB2409793A (en) * | 2004-01-02 | 2005-07-06 | Zend Technologies Ltd | Handling download requests |
US20050149529A1 (en) * | 2004-01-02 | 2005-07-07 | Andi Gutmans | Efficient handling of download requests |
US20060159029A1 (en) * | 2005-01-20 | 2006-07-20 | Samuels Allen R | Automatic LAN/WAN port detection |
US8077632B2 (en) | 2005-01-20 | 2011-12-13 | Citrix Systems, Inc. | Automatic LAN/WAN port detection |
US20070018403A1 (en) * | 2005-02-14 | 2007-01-25 | Wong Jacob Y | Yangtze hold 'em and other poker games played with a chinese poker deck |
US7792153B2 (en) | 2006-05-08 | 2010-09-07 | International Business Machines Corporation | Sequencing multi-source messages for delivery as partial sets to multiple destinations |
US20070257786A1 (en) * | 2006-05-08 | 2007-11-08 | International Business Machines Corporation | Sequencing multi-source messages for delivery as partial sets to multiple destinations |
US9558097B2 (en) | 2007-11-13 | 2017-01-31 | Red Hat, Inc. | Automated recording and playback of application interactions |
US8849944B2 (en) * | 2007-11-27 | 2014-09-30 | Red Hat, Inc. | Multi-use application proxy |
US20090138956A1 (en) * | 2007-11-27 | 2009-05-28 | Red Hat, Inc. | Multi-use application proxy |
US20100077035A1 (en) * | 2008-09-23 | 2010-03-25 | Nokia Corporation | Optimized Polling in Low Resource Devices |
WO2010035108A1 (en) * | 2008-09-23 | 2010-04-01 | Nokia Corporation | Optimized polling in low resource devices |
US20110208810A1 (en) * | 2008-09-23 | 2011-08-25 | Nokia Corporation | Optimized Polling in Low Resource Devices |
US10375203B2 (en) * | 2011-02-28 | 2019-08-06 | Red Hat, Inc. | Generating a selection of cloud data distribution service from alternative providers for staging data to host clouds |
US9406082B2 (en) * | 2012-10-05 | 2016-08-02 | Redfin Corporation | Multiplexing web requests for improved performance |
US20140101235A1 (en) * | 2012-10-05 | 2014-04-10 | Redfin Corporation | Multiplexing web requests for improved performance |
US20150277997A1 (en) * | 2014-03-31 | 2015-10-01 | Solarflare Communications, Inc. | Ordered Event Notification |
US9778963B2 (en) * | 2014-03-31 | 2017-10-03 | Solarflare Communications, Inc. | Ordered event notification |
US10409655B2 (en) | 2014-03-31 | 2019-09-10 | Solarflare Communications, Inc. | Ordered event notification |
US11321150B2 (en) | 2014-03-31 | 2022-05-03 | Xilinx, Inc. | Ordered event notification |
US20160037509A1 (en) * | 2014-07-30 | 2016-02-04 | Onavo Mobile Ltd. | Techniques to reduce bandwidth usage through multiplexing and compression |
WO2022251250A3 (en) * | 2021-05-27 | 2023-01-19 | Aviatrix Systems, Inc. | System and method for automating appliance configuration and operability |
Also Published As
Publication number | Publication date |
---|---|
EP1332437A4 (en) | 2006-06-14 |
US20020052931A1 (en) | 2002-05-02 |
ATE370455T1 (en) | 2007-09-15 |
DE60130011D1 (en) | 2007-09-27 |
EP1332437B1 (en) | 2007-08-15 |
AU2002214574A1 (en) | 2002-04-22 |
WO2002031676A1 (en) | 2002-04-18 |
US7231446B2 (en) | 2007-06-12 |
DE60130011T2 (en) | 2008-05-15 |
EP1332437A1 (en) | 2003-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020042839A1 (en) | HTTP multiplexor/demultiplexor | |
US7055028B2 (en) | HTTP multiplexor/demultiplexor system for use in secure transactions | |
US9288261B2 (en) | Network resource modification for higher network connection concurrence | |
US8799502B2 (en) | Systems and methods for controlling the number of connections established with a server | |
US7814225B2 (en) | Techniques for delivering personalized content with a real-time routing network | |
US7277917B2 (en) | Asynchronous messaging using a dynamic routing network | |
US20040249948A1 (en) | Performing application layer transactions during the connection establishment phase of connection-oriented protocols | |
US7315896B2 (en) | Server network controller including packet forwarding and method therefor | |
US20110280247A1 (en) | System and method for reducing latency via multiple network connections | |
US8051213B2 (en) | Method for server-directed packet forwarding by a network controller based on a packet buffer threshold | |
US7051118B2 (en) | Method and apparatus for anonymous subject-based addressing | |
US7564848B2 (en) | Method for the establishing of connections in a communication system | |
US7127503B2 (en) | Computer networking system, device, and method for improved speed in web page rendering | |
EP1327195A1 (en) | Method and apparatus for dynamic determination of optimum connection of a client to content servers | |
US5832232A (en) | Method and apparatus for providing user-based flow control in a network system | |
JP2004312153A (en) | Relay network switching method and optical edge apparatus | |
JP2001142813A (en) | System for supporting service based on connection type protocol on web service based on non-connection type protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: REDLINE NETWORKS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PEIFFER, CHRISTOPHER;L'HEUREUX, ISREAL;REEL/FRAME:014592/0820;SIGNING DATES FROM 20030911 TO 20030923 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: JUNIPER NETWORKS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:REDLINE NETWORKS, INC.;REEL/FRAME:016207/0098 Effective date: 20050620 |