IP Library Granted Patent US 12,598,239
Granted Patent B2
US 12,598,239 · App. 18/387,275 · Granted Apr 7, 2026

Accelerating connections to a host server

Inventors: Peter Lepeska (Boston, MA); Demetrios James Tsillas (Littleton, MA)
Assignee: Snappi, Inc.
H04L67/5681H04L67/1097
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 12,598,239
App. No.
18/387,275
Granted
Apr 7, 2026
Kind
B2
Abstract

In anticipation of a client device establishing a connection over a network with a remote host service, a pre-connect module generates a connection request (referred to herein as a “pre-connect request”) on behalf of the client device and sends the pre-connect request to the remote host server. The remote server responds with a connection response (referred to herein as a “pre-connect response”), which is pre-positioned on the client-side of the network along with information for generating a later connection request that is in material respects the same as the pre-connect request. Then, when the client device later seeks to establish a connection with the remote host server, the client device determines whether it has in local storage generation information for generating a connection request to the remote host server. If so, the client device uses the generation information to generate a connection request that is in material respects the same as the pre-connect request. An interceptor on the client-side of the network intercepts connection requests and determines whether a corresponding pre-connect response is locally stored. If so, the interceptor sends the locally stored pre-connect response as a complete response to the intercepted request, which can be discarded.

Claims (44)

1 . A method of accelerating setup of a persistent connection over a network between a client device and a remote host server, where establishing the connection requires a connection request by the client device and a corresponding connection response by the remote host server, the method comprising:

generating, by a pre-connect module on a server-side of the network, a pre-connect request on behalf of the client device;

sending the pre-connect request to the remote host server;

receiving, at the pre-connect module, a pre-connect response from the remote host server in response to the pre-connect request; and

prepositioning the pre-connect response on a client-side of the network.

2 . The method of claim 1 , wherein the pre-connect request mimics an actual connection request by the client device.

3 . The method of claim 2 , wherein:

the pre-connect request comprises an identifier identifying the client device as the requestor, and

the pre-connect response is addressed to the client device.

4 . The method of claim 1 , wherein the pre-connect request is a request for a secure connection with the remote host server.

5 . The method of claim 3 further comprising sending to the client-side of the network generation information indicating how to generate the pre-connect request.

6 . The method of claim 1 , wherein the prepositioning is performed before receiving, at the pre-connect module, an actual connection request generated by the client device for a connection with the remote host server.

7 . The method of claim 1 , wherein the network includes a satellite link between the client device and the remote host server.

8 . The method of claim 1 , wherein generating a pre-connect request is performed in response to a trigger indicating that the client device is expected to execute a network transaction comprising fetching a resource from the remote host server.

9 . The method of claim 8 , wherein:

the client device comprises a web browser,

the network transaction comprises the web browser rendering a web page, and

the web page comprises an instruction to fetch the resource from the remote host server.

10 . The method of claim 9 , wherein:

the web page is stored on a web server located on the server side of the network, and

the host server is different than the web server.

11 . An apparatus, disposed on a server-side of a communications network, for accelerating setup of a persistent connection over the network between a client device and a remote host server, where establishing the connection requires a connection request by the client device and a corresponding connection response by the remote host server, the apparatus comprising:

processor circuitry; and

digital storage having stored therein non-transient instructions that cause the processor circuitry to perform a method comprising:

generating a pre-connect request on behalf of the client device;

sending the pre-connect request to the remote host server;

receiving a pre-connect response from the remote host server in response to the pre-connect request; and

prepositioning the pre-connect response on a client-side of the network.

12 . The apparatus of claim 11 , wherein the pre-connect request mimics an actual connection request by the client device.

13 . The apparatus of claim 12 , wherein:

the pre-connect request comprises an identifier identifying the client device as the requestor, and

the pre-connect response is addressed to the client device.

14 . The apparatus of claim 11 , wherein the pre-connect request is a request for a secure connection with the remote host server.

15 . The apparatus of claim 13 , wherein the method further comprises sending to the client-side of the network generation information indicating how to generate the pre-connect request.

16 . The apparatus of claim 11 , wherein the prepositioning is performed before receiving an actual connection request generated by the client device for a connection with the remote host server.

17 . The apparatus of claim 11 , wherein the network includes a satellite link between the client device and the remote host server.

18 . The apparatus of claim 11 , wherein generating a pre-connect request is performed in response to a trigger indicating that the client device is expected to execute a network transaction comprising fetching a resource from the remote host server.

19 . The apparatus of claim 18 , wherein:

the client device comprises a web browser,

the network transaction comprises the web browser rendering a web page, and

the web page comprises an instruction to fetch the resource from the remote host server.

20 . The apparatus of claim 19 , wherein:

the web page is stored on a web server located on the server side of the network, and

the host server is different than the web server.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: VIASAT, INC.
To: SNAPPI HOLDCO, INC.
Reel/Frame 070293/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2025
From: SNAPPI HOLDCO, INC.
To: SNAPPI, INC.
Reel/Frame 070293/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2024
From: LEPESKA, PETER J.; TSILLAS, DEMETRIOS J.
To: VIASAT, INC.
Reel/Frame 067019/0195 →
Continuity (3)
Division 15777478
Provisional Application 62263241 · Dec 4, 2015
Related Publication 20240073274A1 · Feb 29, 2024
References Cited (69)
US 5485609A · Vitter et al. · 1996 [cited by applicant]
US 6055569A · Obrien et al. · 2000 [cited by applicant]
US 6085193A · Malkin et al. · 2000 [cited by applicant]
US 6085226A · Horvitz · 2000 [cited by applicant]
US 6389462B1 · Cohen et al. · 2002 [cited by applicant]
US 6622168B1 · Datta · 2003 [cited by applicant]
US 6721780B1 · Kasriel et al. · 2004 [cited by applicant]
US 6993591B1 · Klemm · 2006 [cited by applicant]
US 7113935B2 · Saxena · 2006 [cited by applicant]
US 7716332B1 · Topfl et al. · 2010 [cited by applicant]
US 7747749B1 · Erikson et al. · 2010 [cited by applicant]
US 7975025B1 · Szabo et al. · 2011 [cited by applicant]
US 8136089B2 · Snodgrass et al. · 2012 [cited by applicant]
US 8224964B1 · Fredrickson et al. · 2012 [cited by applicant]
US 8281029B2 · Chatterjee et al. · 2012 [cited by applicant]
US 8335838B2 · Zhang et al. · 2012 [cited by applicant]
US 8341245B1 · Roskind et al. · 2012 [cited by applicant]
US 8478843B1 · Ortlieb et al. · 2013 [cited by applicant]
US 8566788B2 · Snodgrass et al. · 2013 [cited by applicant]
US 8645494B1 · Altman · 2014 [cited by examiner]
US 8903946B1 · Roskind · 2014 [cited by examiner]
US 9083583B1 · Roskind et al. · 2015 [cited by applicant]
US 9135364B1 · Sundaram et al. · 2015 [cited by applicant]
US 9747386B1 · Jenkins et al. · 2017 [cited by applicant]
US 10372780B1 · Lepeska et al. · 2019 [cited by applicant]
US 10375192B1 · Lepeska · 2019 [cited by applicant]
US 11176219B1 · Lepeska et al. · 2021 [cited by applicant]
US 11176223B1 · Hill · 2021 [cited by applicant]
US 20010047517A1 · Christopoulos et al. · 2001 [cited by applicant]
US 20020010761A1 · Carneal et al. · 2002 [cited by applicant]
US 20040064577A1 · Dahlin et al. · 2004 [cited by applicant]
US 20050193096A1 · Yu et al. · 2005 [cited by applicant]
US 20060075068A1 · Kasriel et al. · 2006 [cited by applicant]
US 20080091711A1 · Snodgrass et al. · 2008 [cited by applicant]
US 20080114773A1 · Choi et al. · 2008 [cited by applicant]
US 20080307037A1 · Zhang · 2008 [cited by examiner]
US 20090112975A1 · Beckman et al. · 2009 [cited by applicant]
US 20090228782A1 · Fraser · 2009 [cited by applicant]
US 20090276488A1 · Alstad · 2009 [cited by applicant]
US 20100146415A1 · Lepeska · 2010 [cited by applicant]
US 20110258532A1 · Ceze et al. · 2011 [cited by applicant]
US 20110295979A1 · Alstad et al. · 2011 [cited by applicant]
US 20120066586A1 · Shemesh · 2012 [cited by applicant]
US 20120239598A1 · Cascaval et al. · 2012 [cited by applicant]
US 20120324036A1 · Chatterjee et al. · 2012 [cited by applicant]
US 20130031459A1 · Khorashadi et al. · 2013 [cited by applicant]
US 20130226992A1 · Bapst et al. · 2013 [cited by applicant]
US 20130297561A1 · Mizrotsky et al. · 2013 [cited by applicant]
US 20140237066A1 · Fainberg et al. · 2014 [cited by applicant]
US 20150006728A1 · Parakh · 2015 [cited by examiner]
US 20150156194A1 · Modi et al. · 2015 [cited by applicant]
US 20150172406A1 · Hansen · 2015 [cited by examiner]
US 20150288738A1 · Chatterjee · 2015 [cited by examiner]
EP 1041497B1 · 2005 [cited by applicant]
“Preconnect”, DNS/TCP/TLS, Jul. 20, 2016, 4 pages. [cited by applicant]
“The First Few Milliseconds of an HTTPS Connection”, Amazon.com, Jun. 10, 2009, 18 pgs. [cited by applicant]
“WC3, Resource Hints Specification as edited by Ian Hickson”, https://w3c.github.io/resource-hints, 2017, 10. [cited by applicant]
De La Ossa et al., , “Delfos: the Oracle to Predict Next Web User's Accesses”, 21st International Conference on Advanced Networking and Applications (AINA '07), DOI: 0-7695-2846, May 2007, 8 pgs. [cited by applicant]
EP21153965 , “Extended European Search Report from the European Patent office for Application EP21153965 (which claims priority to the present US application”, Jun. 18, 2021, 10. [cited by applicant]
Grigorik, Ilya , “Chrome Networking: DNS Prefetch & TCP Preconnect”, Jun. 4, 2012, 5pgs. [cited by applicant]
Grigorik, Ilya , “Eliminating Roundtrips with Preconnect”, https://www.igvita.com/2015/08/17/eliminating-roundtrips-with-preconnect, Aug. 17, 2015, 4 pgs. [cited by applicant]
Grigorik, Ilya , “High Performance Networking in Google Chrome”, https://www.igvita.com/posa/high-performance-networking-in-google-chrome, Jan. 31, 2013, 20 pgs. [cited by applicant]
Grigorik , et al., “Resource Hints,” W3C First Public Working Draft, https://wwww3.org/TR/2014/WD-resource-hints-20141021, Oct. 21, 2014, 10 pgs. [cited by applicant]
Grigorik , et al., “Resource Hints,” W3C Working Draft, https://www.w3.org/TR/2016/WD-resource-hints-20160225, Feb. 25, 2016, 13 pgs. [cited by applicant]
Hartman, Peter , “Pre-Connecting TCP and SSL Sockets for HTTP(S) Requests In Qt Apps”, Sep. 29, 2013, 3. [cited by applicant]
Jackson, Brian , “Resource Hints—What is Preload, Prefetch and Preconnect?”, Jul. 1, 2016, 11 pgs. [cited by applicant]
PCT/US2016/064778 , “International Application No. PCT/US2016/064778, International Search Report and Written Opinion mailed Mar. 23, 2017”, Viasat, Inc., 10 pgs. [cited by applicant]
PCT/US2016/064778 , “International Preliminary Report on Patentability mailed in International (PCT) PCT/US2016/064778 mailed Jun. 14, 2018”, Viasat, Inc., 8. [cited by applicant]
Souders, Steve , “Prebrowsing”, https://www.stevesouders.com/blog/2013/11/07/prebrowsing, Nov. 7, 2013, 8 pgs. [cited by applicant]