IP Library Granted Patent US 9,137,339
Granted Patent B2
US 9,137,339 · App. 13/941,962 · Granted Sep 15, 2015

Reducing TCP connection establishment time in an overlay network

Inventors: Gregory Fletcher (Boston, MA); Kevin Harmon (Cambridge, MA); Brandon Williams (Revere, MA); William Sears (Lexington, MA)
Assignee: Akamai Technologies, Inc.
H04L69/16H04L41/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,137,339
App. No.
13/941,962
Granted
Sep 15, 2015
Kind
B2
Abstract

Applications that run on an overlay network-based managed service achieve high performance gains using a set of TCP optimizations. In a first optimization, a typical single TCP connection between a client and an origin server is broken into preferably three (3) separate TCP connections. These connections are: an edge-to-client connection, an edge-to-edge connection, and edge-to-origin connection. A second optimization replicates TCP state along the connection to increase fault tolerance. In this approach, preferably a given TCP connection is maintained on two servers. When a packet is received by one server, called the primary, its state is updated and then passed to a second server, called the backup. Only when the backup sends an acknowledgement back to the primary can it then send a TCP acknowledgement back to the host that originally sent the packet. Another optimization reduces connection establishment latency.

Claims (6)

1. An article comprising computer program instructions stored on one or more non-transitory computer readable storage mediums of an overlay network, the overlay network comprising at least one or more edge regions, and one or more gateway regions, wherein each edge region and each gateway region comprises one or more servers, and wherein a client is coupled to an edge region to communicate with an origin server coupled to a gateway region, and wherein a first hardware processor and associated memory are associated with a server in an edge region, and a second hardware processor and associated memory are associated with a server in a gateway region, the computer program instructions comprising:

first program code executed by the first hardware processor as a client attempts to communicate with the origin server (i) to establish a connection and initiate a data transfer between the server in the edge region and the server in the gateway region; (ii) to send the server in the gateway region a SYN over a first TCP connection; (iii) to fake receipt of a dummy SYN/ACK for the first TCP connection following sending of the SYN; (iv) to send one or more data packets to the server in the gateway region before a real SYN/ACK is received; and (v) to receive the real SYN/ACK; and

second program code executed by the second hardware processor as the client attempts to communicate with the origin server (i) to establish a second TCP connection, the second TCP connection directed back to the server in the edge region; (ii) to generate the real SYN/ACK; (iii) to send the SYN/ACK back to the server in the edge region; and (iv) to receive the one or more data packets.

2. The article as described in claim 1 wherein the first program code generates an ACK packet after faking receipt of the dummy SYN/ACK.

3. The article as described in claim 1 wherein the one or more data packets are received by the server in the gateway region before the real SYN/ACK is received at the server in the edge region.

4. The article as described in claim 1 wherein the first program code also processes the real SYN/ACK.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2015
From: FLETCHER, GREGORY; HARMON, KEVIN; WILLIAMS, BRANDON; SEARS, WILLIAM
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 036148/0630 →
Continuity (3)
Continuation 11964140 · Dec 26, 2007
Provisional Application 60877195 · Dec 26, 2006
Related Publication 20130304809A1 · Nov 14, 2013