Agent-based event-driven web server architecture
First Claim
Patent Images
1. A networking device comprising:
- a processor;
an operating system executing on the processor;
an application program executing as a process on the operating system of the device, wherein the application program receives data from a client device by a client socket of the operating system, wherein the networking device is positioned between the client device and a target server;
an event-based signaling mechanism within the operating system that triggers operating a system-level signaling event in response to each of a plurality of conditions associated with the client socket including data arriving on the client socket and at least one other condition associated with the client socket; and
a filter and an event queue within the operating system, the event queue of the operating system being associated with the client socket and accessible by the application program,wherein the filter within the operating system receives the operating system-level signaling events and passes to the event queue only those operating-system-level events that were triggered in response to data arriving on the client socket without allowing any events that were triggered in response to any of the other conditions associated with the client socket to enter the event queue, andwherein, in response to detecting one of the operating system-level signaling events in the event queue, the application program reads the data off of the client socket without polling the client socket first to determine that data is ready to be read from the client socket and forwards the data from the networking device to the target server.
0 Assignments
0 Petitions
Accused Products
Abstract
A networking device, method, and web server software architecture are provided. The device may include a web server application program configured to run on an operating system of the device, and an event-based signaling mechanism configured to signal the web server application program when data has arrived on a socket of the operating system, by triggering an operating system-level signaling event. The web server application program is configured to read data off of the socket in response to detecting the event, without polling the socket first to determine that data is ready to be read from the socket.
51 Citations
13 Claims
-
1. A networking device comprising:
-
a processor; an operating system executing on the processor; an application program executing as a process on the operating system of the device, wherein the application program receives data from a client device by a client socket of the operating system, wherein the networking device is positioned between the client device and a target server; an event-based signaling mechanism within the operating system that triggers operating a system-level signaling event in response to each of a plurality of conditions associated with the client socket including data arriving on the client socket and at least one other condition associated with the client socket; and a filter and an event queue within the operating system, the event queue of the operating system being associated with the client socket and accessible by the application program, wherein the filter within the operating system receives the operating system-level signaling events and passes to the event queue only those operating-system-level events that were triggered in response to data arriving on the client socket without allowing any events that were triggered in response to any of the other conditions associated with the client socket to enter the event queue, and wherein, in response to detecting one of the operating system-level signaling events in the event queue, the application program reads the data off of the client socket without polling the client socket first to determine that data is ready to be read from the client socket and forwards the data from the networking device to the target server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for serving web resources, the method comprising:
-
receiving data from a client at a client socket on a intermediate networking device positioned between the client and at least one target server; creating operating system-level events in response to each of a plurality of conditions associated with the client socket, wherein the plurality of conditions includes data arriving on the client socket and at least one other condition; filtering the operating system-level events to pass to an event queue only the events that are created in response to receiving the data on the client socket; detecting the events passed to the event queue from an application program executing on the networking device; and in response to detecting the events passed to the event queue, reading data from the client socket with the application program without polling the client socket first to determine that the data is ready to be read from the client socket; and forwarding the data read off of the client socket from the intermediate networking device to the target server. - View Dependent Claims (11, 12, 13)
-
Specification