System and method of delaying connection acceptance to support connection request processing at layer-7
AssigneeBlue Coat Systems, Inc.
InventorsQing Li, Ronald Frederick
Life of this patent
Estimating the term…
Abstract
Techniques for suspending a TCP three-way handshake, offering the partial connection to an L-7 application or module at a proxy to perform further processing, and then allowing the L-7 application or module to instruct the proxy's network kernel to perform various actions are described. In various embodiments these actions may include: silently dropping the connection, verbosely rejecting the connection, accepting and processing the connection locally, or forwarding the connection to another proxy or the original destination. This additional functionality is provided, in one particular embodiment, via extensions to the POSIX socket API.
Claims28
A method, comprising:
- suspending a transmission control protocol (TCP) connection handshake with a connection initiator while a TCP connection is being established by the connection initiator;
- creating a connection state information template to account for the TCP connection being established by the connection initiator, said connection state information template artificially reflecting a successful, completed connection with the connection initiator;
- and
- notifying an application layer process of the artificially reflected successful, completed connection with the connection initiator;
- wherein creating the connection state information template comprises creating the connection state information template and performing a state transition therein to artificially reflect the successful, completed connection with the connection initiator;
- and
- performing a second state transition in the connection state information template to move the TCP connection to an appropriate state following processing of the TCP connection by the application layer process.
A method, comprising:
- receiving, from a connection initiator, multiple transmission control protocol (TCP) connection requests, each of the requests transmitted on a different port number;
- delaying acceptance of all of the multiple TCP connection requests while initiating independent TCP connection requests to a target host of the multiple TCP connection requests on each of the different port numbers;
- and
- responding to the connection initiator so as to emulate one or more responses to the independent TCP connection requests, wherein the responses are received from the target host;
- wherein delaying acceptance of all of the multiple TCP connection requests comprises suspending TCP connection handshakes corresponding to the multiple TCP connection requests from the connection initiator;
- creating, for each TCP connection request, a connection state information template to account for a respective one of the multiple TCP connection requests from the connection initiator, each of said connection state information templates artificially reflecting one or a number of successful, completed TCP connections with the connection initiator;
- and
- notifying an application layer process of the artificially reflected successful, completed TCP connections with the connection initiator;
- wherein creating the connection state information template comprises creating the connection state information template and performing a state transition therein to artificially reflect the one or a number of successful, completed TCP connections with the connection initiator;
- and
- performing a second state transition in the connection state information template to move the TCP connections to appropriate states following processing of the TCP connections by the application layer process.
Dependencies are inferred from the claim text.