IP Library › Granted Patent US 12,695,816
Granted Patent B2
US 12,695,816 · App. 18/740,026 · Granted Jul 28, 2026

Edge communication locations

Inventors: Alexander Philip Lowe (Pacifica, CA); Madeleine Genevieve Muscari (Berkeley, CA); Robert Charles Hagemann, III (Potomac, MD); Christer Jan Erik Fahlgren (San Francisco, CA); Jeremy Andrew McEntire (San Francisco, CA); Erik A. Jansson (San Francisco, CA); Humberto Reyes (Berkeley, CA); Evan Kyle Fossier (San Francisco, CA); Jingming Niu (San Francisco, CA)
Assignee: Twilio Inc.
H04L67/563G06F9/541H04L9/0838H04L63/08H04L63/166H04L67/02H04L67/141H04L67/2871H04L63/0272
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,695,816
App. No.
18/740,026
Filed
Jun 11, 2024
Granted
Jul 28, 2026
Kind
B2
Art Unit
2458
USPC
726/7
Abstract

Methods, systems, and computer programs are presented for lowering network latency for cloud-based services. Service-delivery edge locations allow customers to improve communication-providers public and private network connectivity for improved performance. One method includes operations for performing, by an edge server, a handshake to establish a communication session between a client and a main server, and for exchanging data between the client and the main server via the edge server. The handshake includes exchanging, by the edge server, communication initiation messages with the client, and validating, by the edge server, authentication credentials for the communication session based on the communication initiation messages. The exchanging data comprises forwarding, by the edge server, data requests from the client to the main server through a private connection between the edge server and the main server, and forwarding, by the edge server, data responses from the main server to the client through the private connection.

Claims (54)

1 . A method comprising:

initiating a communication session between a device and a main server through an edge server, the initiating of the communication session comprising:

determining, during a handshake between the edge server and the device, encryption keys for communications between the edge server and the device; and

negotiating, outside the handshake between the edge server and the device, cipher keys for communications between the edge server and the main server, the cipher keys being different from the encryption keys determined during the handshake between the edge server and the device;

the edge server forwarding request data received from the device to the main server; and

the edge server forwarding response data received from the main server to the device.

2 . The method of claim 1 , further comprising:

generating the encryption keys for communications between the edge server and the device, the encryption keys being different from the cipher keys for communications between the edge server and the main server.

3 . The method of claim 1 , further comprising:

providing an Application Programing Interface (API) according to which the device is configured to submit the request data to the edge server.

4 . The method of claim 1 , further comprising:

providing an Application Programing Interface (API) according to which the edge server is configured to manage the request data received from the device.

5 . The method of claim 1 , further comprising:

providing an Application Programing Interface (API) according to which the edge server is configured to perform the forwarding of the request data to the main server.

6 . The method of claim 1 , further comprising:

providing an Application Programing Interface (API) according to which the edge server is configured to receive the response data from the main server.

7 . The method of claim 1 , wherein:

the initiating of the communication session between the device and the main server comprises initiating an internet connection between the edge server and the device and initiating a private connection between the edge server and the main server.

8 . A system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

initiating a communication session between a device and a main server through an edge server, the initiating of the communication session comprising:

determining, during a handshake between the edge server and the device, encryption keys for communications between the edge server and the device; and

negotiating, outside the handshake between the edge server and the device, cipher keys for communications between the edge server and the main server, the cipher keys being different from the encryption keys determined during the handshake between the edge server and the device;

the edge server forwarding request data received from the device to the main server; and

the edge server forwarding response data received from the main server to the device.

9 . The system of claim 8 , wherein the operations further comprise:

generating the encryption keys for communications between the edge server and the device, the encryption keys being different from the cipher keys for communications between the edge server and the main server.

10 . The system of claim 8 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the device is configured to submit the request data to the edge server.

11 . The system of claim 8 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the edge server is configured to manage the request data received from the device.

12 . The system of claim 8 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the edge server is configured to perform the forwarding of the request data to the main server.

13 . The system of claim 8 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the edge server is configured to receive the response data from the main server.

14 . The system of claim 8 , wherein:

the initiating of the communication session between the device and the main server comprises initiating an internet connection between the edge server and the device and initiating a private connection between the edge server and the main server.

15 . A non-transitory machine-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

initiating a communication session between a device and a main server through an edge server, the initiating of the communication session comprising:

determining, during a handshake between the edge server and the device, encryption keys for communications between the edge server and the device; and

negotiating, outside the handshake between the edge server and the device, cipher keys for communications between the edge server and the main server, the cipher keys being different from the encryption keys determined during the handshake between the edge server and the device;

the edge server forwarding request data received from the device to the main server; and

the edge server forwarding response data received from the main server to the device.

16 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

generating the encryption keys for communications between the edge server and the device, the encryption keys being different from the cipher keys for communications between the edge server and the main server.

17 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the device is configured to submit the request data to the edge server.

18 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the edge server is configured to manage the request data received from the device.

19 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the edge server is configured to perform the forwarding of the request data to the main server.

20 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

providing an Application Programing Interface (API) according to which the edge server is configured to receive the response data from the main server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: LOWE,, ALEXANDER PHILIP; MUSCARI,, MADELEINE GENEVIEVE; HAGEMANN, ROBERT CHARLES, III; FAHLGREN, CHRISTER JAN ERIK; MCENTIRE,, JEREMY ANDREW; JANSSON,, ERIK A.; REYES,, HUMBERTO; FOSSIER,, EVAN KYLE; NIU, JINGMING
To: TWILIO INC.
Reel/Frame 067818/0821 →
Continuity (4)
Continuation 18105048 · Feb 2, 2023
Continuation 16991481 · Aug 12, 2020
Provisional Application 63036720 · Jun 9, 2020
Related Publication 20240333813A1 · Oct 3, 2024
References Cited (23)
US 9426155B2 · Chao · 2016 [cited by examiner]
US 11601519B2 · Lowe et al. · 2023 [cited by applicant]
US 12041145B2 · Lowe et al. · 2024 [cited by applicant]
US 20040103283A1 · Hornak · 2004 [cited by applicant]
US 20080134311A1 · Medvinsky et al. · 2008 [cited by applicant]
US 20140185801A1 · Wang et al. · 2014 [cited by applicant]
US 20170026470A1 · Bhargava · 2017 [cited by examiner]
US 20190297072A1 · Kulkarni · 2019 [cited by examiner]
US 20200351248A1 · Bonci · 2020 [cited by applicant]
US 20210385292A1 · Lowe et al. · 2021 [cited by applicant]
US 20230179678A1 · Lowe et al. · 2023 [cited by applicant]
WO 2021252114 · 2021 [cited by applicant]
“International Application Serial No. PCT US2021 031298, International Search Report mailed Aug. 23, 2021”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT US2021 031298, Written Opinion mailed Aug. 23, 2021”, 6 pgs. [cited by applicant]
“U.S. Appl. No. 16/991,481, Non Final Office Action mailed May 10, 2022”, 10 pgs. [cited by applicant]
“International Application Serial No. PCT US2021 031298, International Preliminary Report on Patentability mailed May 10, 2021”, 6 pgs. [cited by applicant]
“U.S. Appl. No. 16/991,481, Examiner Interview Summary mailed Aug. 3, 2022”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 16/991,481, Response filed Aug. 9, 2022 to Non Final Office Action mailed May 10, 2022”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 16/991,481, Notice of Allowance mailed Nov. 15, 2022”, 5 pgs. [cited by applicant]
“U.S. Appl. No. 18/105,048, Non Final Office Action mailed Sep. 26, 2023”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 18/105,048, Examiner Interview Summary mailed Dec. 13, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/105,048, Response filed Dec. 19, 2023 to Non Final Office Action mailed Sep. 26, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/105,048, Notice of Allowance mailed Mar. 18, 2024”, 5 pgs. [cited by applicant]