US2012278492A1PendingUtilityA1

Using a server's capability profile to establish a connection

45
Assignee: JIANG DONGYIPriority: Dec 24, 2008Filed: Jul 11, 2012Published: Nov 1, 2012
Est. expiryDec 24, 2028(~2.5 yrs left)· nominal 20-yr term from priority
H04L 63/02H04L 67/568H04L 69/16H04L 67/303H04L 67/14
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A network device connects between a client and a server. The network device is configured to store information regarding a capability of the server; receive a first message, from the client, intended for the server; obtain the stored information regarding the capability of the server; generate a second message that includes the information regarding the capability of the server; send the second message to the client; receive a third message from the client; and establish, based on the third message, a connection between the client and the server.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . A non-transitory computer-readable medium comprising:
 one or more instructions that, when executed by a processor, cause the processor to:
 determine, during a first mode of operation, information associated with a capability of a server, 
 intercept, from a client and over a network, a first message intended for the server, 
 determine, based on intercepting the first message, whether the first message was intercepted during the first mode of operation or a second mode of operation, 
 forward, when the first message was intercepted during the first mode of operation, the first message to the server, and 
 when the first message was intercepted during the second mode of operation:
 generate a second message that includes the information associated with the capability of the server, 
 transmit the second message to the client, 
 receive an acknowledgement message from the client over the network, 
 determine whether the acknowledgement message includes expected information that is based on the second message, and 
 establish a connection between the client and the server when the acknowledgement message includes the expected information. 
 
   
     
     
         22 . The non-transitory computer-readable medium of  claim 21 , further comprising:
 one or more instructions that, when executed by the processor, cause the processor to:
 intercept, during the first mode of operation and from a second client, a third message intended for the server, 
 forward, based on the third message being intercepted during the first mode of operation, the third message to the server, 
 intercept a fourth message, the fourth message being transmitted from the server and toward the second client based on the server receiving the third message, and 
 determine, based on the third message, the information associated with the capability of the server. 
   
     
     
         23 . The non-transitory computer-readable medium of  claim 22 , where the information associated with the capability of the server includes information identifying at least one of:
 a maximum segment size,   a window scale size,   a selective acknowledgement, or   a window size.   
     
     
         24 . The non-transitory computer-readable medium of  claim 21 , further comprising:
 one or more instructions that, when executed by the processor, cause the processor to:
 when the first message was intercepted during the second mode of operation:
 generate a signature to use as an initial sequence number, and 
 store the initial sequence number in the second message, and 
 
 where the one or more instructions that, when executed by the processor, cause the processor to determine whether the acknowledgement message includes the expected information, further cause the processor to:
 determine, based on the generated signature, whether the acknowledgement message includes a particular sequence number,
 the acknowledgement message including the expected information when the acknowledgement message includes the particular sequence number. 
 
 
   
     
     
         25 . The non-transitory computer-readable medium of  claim 24 , where the one or more instructions that, when executed by the processor, cause the processor to generate the signature, further cause the processor to:
 generate the signature based on a maximum segment size associated with the client.   
     
     
         26 . The non-transitory computer-readable medium of  claim 24 , where the one or more instructions that, when executed by the processor, cause the processor to generate the signature, further cause the processor to:
 generate the signature based on a function computed over an Internet protocol (IP) address of the server and an IP address of the client.   
     
     
         27 . The non-transitory computer-readable medium of  claim 21 , where the one or more instructions that, when executed by the processor, cause the processor to determine whether the first message was intercepted during the first mode of operation or the second mode of operation, further cause the processor to:
 determine that the first message is associated with establishing a new connection between the client and the server,   determine whether a quantity of connection requests associated with the server is greater than a threshold quantity of connection requests, and   determine that the first message was intercepted during the second mode of operation when the quantity of connection requests associated with the server is greater than the threshold quantity of connection requests.   
     
     
         28 . A device comprising:
 a processor to:
 determine, during a first mode of operation, information associated with a capability of a server, 
 intercept, from a client and over a network, a first message intended for the server, 
 determine, based on intercepting the first message, that the first message was intercepted during a second mode of operation, 
 generate a second message that includes the information associated with the capability of the server, 
 transmit the second message to the client, 
 receive an acknowledgement message from the client over the network, 
 determine whether the acknowledgement message includes expected information that is based on the second message, and 
 establish a connection between the client and the server when the acknowledgement message includes the expected information. 
   
     
     
         29 . The device of  claim 28 , where the processor is further to:
 intercept, during the first mode of operation, a third message intended for the server,   forward, based on the third message being intercepted during the first mode of operation, the third message to the server,   intercept a fourth message, the fourth message being transmitted from the server based on the server receiving the third message, and   determine, based on the third message, the information associated with the capability of the server.   
     
     
         30 . The device of  claim 29 , where the information associated with the capability of the server includes information identifying at least one of:
 a maximum segment size,   a window scale size,   a selective acknowledgement, or   a window size.   
     
     
         31 . The device of  claim 28 , where the processor is further to:
 generate a signature to use as an initial sequence number, and   store the initial sequence number in the second message,   where, when determining whether the acknowledgement message includes the expected information, the processor is further to:
 determine, based on the generated signature, that the acknowledgement message includes a particular sequence number, and 
 determine that the acknowledgement message includes the expected information based on the acknowledgement message including the particular sequence number. 
   
     
     
         32 . The device of  claim 31 , where, when generating the signature, the processor is further to:
 generate the signature based on a maximum segment size associated with the client.   
     
     
         33 . The device of  claim 31 , where, when generating the signature, the processor is further to:
 generate the signature based on a function computed over an Internet protocol (IP) address of the server and an IP address of the client.   
     
     
         34 . The device of  claim 28 , where, when determining that the first message was intercepted during the second mode of operation, the processor is further to:
 determine that the first message is associated with establishing a new connection between the client and the server,   determine that a quantity of connection requests associated with the server is greater than a threshold quantity of connection requests, and   determine that the first message was intercepted during the second mode of operation based on the quantity of connection requests associated with the server being greater than the threshold quantity of connection requests.   
     
     
         35 . A method comprising:
 intercepting, by a device and from a client, a first message intended for a server;   determining, by the device and based on information associated with a capability of the server determined during a first mode of operation, that the first message was intercepted during a second mode of operation;   generating, by the device, a second message that includes the information associated with the capability of the server;   transmitting, by the device, the second message to the client;   receiving, by the device and based on transmitting the second message, an acknowledgement message from the client over the network;   determining, by the device and based on information included in the second message, that the acknowledgement message includes particular information; and   establishing, by the device, a connection between the client and the server based on the acknowledgement message including the particular information.   
     
     
         36 . The method of  claim 35 , further comprising:
 intercepting, during the first mode of operation, a third message intended for the server;   forwarding, based on the third message being intercepted during the first mode of operation, the third message to the server;   intercepting a fourth message, the fourth message being transmitted from the server based on the server receiving the third message; and   determining, based on the third message, the information associated with the capability of the server.   
     
     
         37 . The method of  claim 36 , where the information associated with the capability of the server includes information identifying at least one of:
 a maximum segment size,   a window scale size,   a selective acknowledgement, or   a window size.   
     
     
         38 . The method of  claim 35 , further comprising:
 determining an initial sequence number based on the information associated with the server; and   store the initial sequence number in the second message; and   where determining that the acknowledgement message includes the particular information includes:
 determining, based on the initial sequence number, that the acknowledgement message includes a particular sequence number, and 
 determining that the acknowledgement message includes the particular information based on the acknowledgement message including the particular sequence number. 
   
     
     
         39 . The method of  claim 38 , where determining the initial sequence number includes:
 generating a signature based on a function computed over an Internet protocol (IP) address of the server and an IP address of the client; and   using the signature as the initial sequence number.   
     
     
         40 . The method of  claim 35 , where determining that the first message was intercepted during the second mode of operation includes:
 determining that the first message is associated with establishing a new connection between the client and the server,   determining that a quantity of connection requests associated with the server is greater than a threshold quantity of connection requests, and   determining that the first message was intercepted during the second mode of operation based on the quantity of connection requests associated with the server being greater than the threshold quantity of connection requests.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.