Layer four optimization for a virtual network defined over public cloud

US11115480B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11115480-B2
Application numberUS-201916405986-A
CountryUS
Kind codeB2
Filing dateMay 7, 2019
Priority dateOct 2, 2017
Publication dateSep 7, 2021
Grant dateSep 7, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Some embodiments establish for an entity a virtual network over several public clouds of several public cloud providers and/or in several regions. In some embodiments, the virtual network is an overlay network that spans across several public clouds to interconnect one or more private networks (e.g., networks within branches, divisions, departments of the entity or their associated datacenters), mobile users, and SaaS (Software as a Service) provider machines, and other web applications of the entity. The virtual network in some embodiments can be configured to optimize the routing of the entity's data messages to their destinations for best end-to-end performance, reliability and security, while trying to minimize the routing of this traffic through the Internet. Also, the virtual network in some embodiments can be configured to optimize the layer 4 processing of the data message flows passing through the network.

First claim

Opening claim text (preview).

We claim: 1. A method of performing a layer 4 (L4) connection split operation on a first computer that is along a path traversed from a source machine to a destination machine, the method comprising: at the first computer that is along the path with a second computer, both the first and second computers deployed in cloud datacenters and operating as cloud relays that perform L4 connection splits between machines operating outside of the cloud datacenters, the machines including the source and destination machines: creating a plurality of pre-established connections with the second computer and instantiating a plurality of connection-handling threads for processing connection requests as the connection requests are received before receiving a connection request from the source machine for a connection to the destination machine; receiving, from the source machine, the connection request for a connection to the destination machine; selecting a particular connection from the plurality of pre-established connections; and using the particular connection with the second computer, and a previously instantiated connection-handling thread, to relay the received connection request from the source machine to the destination machine. 2. The method of claim 1 , wherein the requested connection is a TCP connection, the connection request is a SYN packet for a three-way TCP handshake, and using the particular connection to relay the received TCP connection request comprises forwarding the SYN request in a packet to the second computer as part of the particular connection between the first and second computers without performing a three-way handshake between the first and second computers after the connection request is received. 3. The method of claim 2 further comprising after forwarding the SYN request to the second computer, which is a next hop along the path, completing the three-way handshake with a prior hop along the path from the source machine to the destination machine, in order to establish a source-side connection between the first computer and the prior hop. 4. The method of claim 1 , wherein the cloud datacenters are public cloud datacenters. 5. The method of claim 1 , wherein each of the first and second machines is a virtual machine or container. 6. The method of claim 1 , wherein creating the plurality of pre-established connections comprises establishing, before receiving the connection request, two or more pluralities of connections between the first computer and two or more other computers deployed in cloud datacenters and operating as cloud relays. 7. The method of claim 1 further comprising: wherein using the previously instantiated connection handling thread comprises assigning one of the instantiated connection-handling threads to relay the connection request to the second computer. 8. The method of claim 1 further comprising: wherein using the previously instantiated connection handling thread comprises assigning one of the instantiated connection-handling threads to process the connection request at the first computer to establish a source-side connection between the first computer and a prior hop along the path from the source machine to the destination machine. 9. The method of claim 1 , wherein the threads operate in the kernel space of an operating system executing on the first computer. 10. A non-transitory machine readable medium storing a program for performing a layer 4 (L4) connection split operation on a first computer that is along a path traversed from a source machine to a destination machine, the program for execution by at least one processing unit of the first computer that is along the path with a second computer, both the first and second computers deployed in cloud datacenters and operating as cloud relays that perform L4 connection splits between machines operating outside of the cloud datacenters, the machines including the source and destination machines, the program comprising sets of instructions for: creating a plurality of pre-established connections with the second computer and instantiating a plurality of connection-handling threads for processing connection requests as the connection requests are received before receiving a connection request from the source machine for a connection to the destination machine; receiving, from the source machine, the connection request for a connection to the destination machine; selecting a particular connection from the plurality of pre-established connections; and using the particular connection with the second computer, and a previously instantiated connection-handling thread, to relay the received connection request from the source machine to the destination machine. 11. The non-transitory machine readable medium of claim 10 , wherein the requested connection is a TCP connection, the connection request is a SYN packet for a three-way TCP handshake, and the set of instructions for using the particular connection to relay the received TCP connection request comprises a set of instructions for forwarding the SYN request in a packet to the second computer as part of the particular connection between the first and second computers without performing a three-way handshake between the first and second computers after the connection request is received. 12. The non-transitory machine readable medium of claim 11 , wherein the program further comprises a set of instructions for completing, after forwarding the SYN request to the second computer, the three-way handshake with a prior hop along the path from the source machine to the destination machine, in order to establish a source-side connection between the first computer and the prior hop. 13. The non-transitory machine readable medium of claim 10 , wherein the cloud datacenters are public cloud datacenters. 14. The non-transitory machine readable medium of claim 10 , wherein each of the first and second machines is a virtual machine or container. 15. The non-transitory machine readable medium of claim 10 , wherein the set of instructions for creating the plurality of pre-established connections comprises a set of instructions for establishing, before receiving the connection request, two or more pluralities of connections between the first computer and two or more other computers deployed in cloud datacenters and operating as cloud relays. 16. The non-transitory machine readable medium of claim 10 , wherein the program further comprises sets of instructions for: wherein the set of instructions for using the previously instantiated connection handling thread comprises a set of instructions for assigning one of the instantiated connection-handling threads to relay the connection request to the second computer. 17. The non-transitory machine readable medium of claim 10 , wherein the set of instructions for using the previously instantiated connection handling thread comprises a set of instructions for assigning one of the instantiated connection-handling threads to process the connection request at the first computer to establish a source-side connection between the first computer and a prior hop along the path from the source machine to the destination machine. 18. The non-transitory machine readable medium of claim 10 , wherein the threads operate in the kernel space of an operating system executing on the first computer.

Assignees

Inventors

Classifications

  • Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54) · CPC title

  • H04L67/141Primary

    Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70) · CPC title

  • Virtual private networks · CPC title

  • H04L69/326Primary

    in the transport layer [OSI layer 4] (H04L69/16 takes precedence) · CPC title

  • characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11115480B2 cover?
Some embodiments establish for an entity a virtual network over several public clouds of several public cloud providers and/or in several regions. In some embodiments, the virtual network is an overlay network that spans across several public clouds to interconnect one or more private networks (e.g., networks within branches, divisions, departments of the entity or their associated datacenters)…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/141. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 07 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).