US2017149935A1PendingUtilityA1

Stateless load balancing of connections

Assignee: ALCATEL LUCENTPriority: May 6, 2013Filed: Jan 10, 2017Published: May 25, 2017
Est. expiryMay 6, 2033(~6.8 yrs left)· nominal 20-yr term from priority
H04L 43/106H04L 69/16H04L 67/42H04L 5/0055H04L 67/1002H04L 67/01H04L 67/1023H04L 67/142H04L 67/1008H04L 67/1001G06F 9/5083H04L 67/1027H04L 47/125H04L 67/1034
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A capability is provided for statelessly load balancing Transmission Control Protocol (TCP) connections across a set of servers. A load balancer receives a TCP SYN packet from a client, selects a server for a TCP connection for the client, forms a modified TCP SYN packet including an address of the client, and propagates the modified TCP SYN packet toward the server. The server receives the modified TCP SYN packet, forms a TCP SYN+ACK packet including an identifier (e.g., n bits of an address, an n-bit server index based on mapping information of the load balancer, or the like) of the server, and propagates the modified TCP SYN+ACK packet toward the load balancer. The load balancer receives a TCP packet from the client on the TCP connection, determines a server associated with the TCP connection based on information included within the TCP packet, and propagates the TCP packet toward the server.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An apparatus, comprising:
 a processor and a memory communicatively connected to the processor, the processor configured to:
 send, from a client device, a client packet comprising a client sequence number and a client acknowledgment number; 
 receive, at the client device, a server response packet comprising padding information; 
 compute, by the client device based on the client sequence number and the padding information, a next client sequence number; and 
 send, from the client device, a client response packet comprising the next client sequence number. 
   
     
     
         2 . The apparatus of  claim 1 , wherein the client packet is a synchronization packet, wherein the client sequence number is an initial client sequence number for a connection being requested by the client device. 
     
     
         3 . The apparatus of  claim 2 , wherein the synchronization packet is a Transmission Control Protocol (TCP) synchronization (SYN) packet. 
     
     
         4 . The apparatus of  claim 1 , wherein the server response packet is a synchronization acknowledgement packet. 
     
     
         5 . The apparatus of  claim 4 , wherein the synchronization acknowledgement packet is a Transmission Control Protocol (TCP) synchronization+acknowledgement (SYN+ACK) packet. 
     
     
         6 . The apparatus of  claim 1 , wherein the client packet is a client data packet comprising data to be communicated to a server via a connection between the client device and the server. 
     
     
         7 . The apparatus of  claim 6 , wherein the server response packet is a server acknowledgment from the server acknowledging receipt of the client data packet. 
     
     
         8 . The apparatus of  claim 1 , wherein the padding information is configured to manipulate computation of the next client sequence number by the client device. 
     
     
         9 . The apparatus of  claim 1 , wherein the padding information comprises an odd number of bytes. 
     
     
         10 . The apparatus of  claim 1 , wherein the padding information comprises a whitespace character. 
     
     
         11 . An apparatus, comprising:
 a processor and a memory communicatively connected to the processor, the processor configured to:
 receive, by a server from a client, a synchronization message for a transport layer connection between the client and the server, wherein the synchronization message comprises an initial client sequence number for the transport layer connection; 
 determine, by the server based on the synchronization message, whether the client supports transport layer timestamps; and 
 send, from the server toward the client based on a determination that the client supports timestamps, a server response packet including a timestamp option header. 
   
     
     
         12 . The apparatus of  claim 11 , wherein, to determine whether the client supports transport layer timestamps, the processor is configured to:
 determine whether the synchronization message includes a timestamp option header.   
     
     
         13 . The apparatus of  claim 11 , wherein the server response packet further includes a value inserted by the server, wherein the value inserted by the server includes a parity bit. 
     
     
         14 . The apparatus of  claim 13 , wherein the processor is configured to:
 determine a value of the parity bit based on a client sequence number and a client acknowledgment number.   
     
     
         15 . The apparatus of  claim 11 , wherein the synchronization message comprises a Transmission Control Protocol (TCP) SYN message and the server response packet comprises a TCP server response packet. 
     
     
         16 . An apparatus, comprising:
 a processor and a memory communicatively connected to the processor, the processor configured to:
 receive, by a server from a client, a client packet of a transport layer connection between the client and the server, the client packet having a client packet size; 
 generate, by the server based on the client packet, a server response for the client; and 
 segment, by the server based on the client packet size and a maximum segment size, the server response into a plurality of segments including a first segment and at least one additional segment. 
   
     
     
         17 . The apparatus of  claim 16 , wherein, to segment the server response into the plurality of segments, the processor is configured to:
 determine, based on the client packet size, whether to configure the first segment to have a first segment size smaller than the maximum segment size.   
     
     
         18 . The apparatus of  claim 16 , wherein, to segment the server response into the plurality of segments, the processor is configured to:
 configure the first segment based on the client packet size and the maximum segment size.   
     
     
         19 . The apparatus of  claim 18 , wherein, to configure the first segment, the processor is configured to:
 include, within the first segment, a smaller number of bytes than a number of bytes indicated by the maximum segment size.   
     
     
         20 . The apparatus of  claim 16 , wherein the processor is configured to:
 send, from the server toward the client, a first server response packet including the first segment.

Join the waitlist — get patent alerts

Track US2017149935A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.