×

Agent-based event-driven web server architecture

  • US 7,263,550 B1
  • Filed: 10/09/2001
  • Issued: 08/28/2007
  • Est. Priority Date: 10/10/2000
  • Status: Expired due to Fees
First Claim
Patent Images

1. An intermediate networking device positioned between a client and a target server, the networking device comprising:

  • an operating system;

    a web server application program configured to run on the operating system of the device, wherein the web server application program comprises a multiplexing agent that receives data from the client by a single client socket and forwards the data from the intermediate networking device to the target server using at least two different server sockets;

    an event-based signaling mechanism within the operating system configured to trigger a single operating system-level signaling event in response to each of;

    (a) data arriving on the client socket, and (b) at least one of connection request completion for the client socket, disconnection request initiation for the client socket, disconnection request completion for the client socket, partial connection shutdown for the client socket, data being sent to server sockets, or asynchronous errors;

    a filter within the operating system configured to receive the operating system-level signaling events, and pass from the operating system to an event queue accessible by the web server application program only operating system-level events that were triggered in response to data arriving on the client socket;

    wherein, in response to detecting one of the operating system-level signaling events in the event queue, the multiplexing agent of the web server application program reads data off of the client socket without polling the client socket first to determine that data is ready to be read from the sockets and multiplexes the data from the single client socket to the at least two different server sockets to forward the data from the intermediate networking device to the target server.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×