System and method of delaying connection acceptance to support connection request processing at layer-7
First Claim
Patent Images
1. 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.
11 Assignments
0 Petitions
Accused Products
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.
-
Citations
28 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. 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. - View Dependent Claims (28)
-
Specification