IP Library Granted Patent US 11,838,199
Granted Patent B1
US 11,838,199 · App. 17/843,336 · Granted Dec 5, 2023

System and method for deploying, scaling and managing network endpoint groups in cloud computing environments

Inventors: Anna Berenberg (Saratoga, CA); Venkat Subbaiah Naidu Kotla (Cupertino, CA); Neha Pattan (Mountain View, CA); Uday Ramakrishna Naik (Pleasanton, CA); Prajakta Joshi (Redmond, WA); Ines Clara Envid Lazaro (Palo Alto, CA)
Assignee: Google LLC
H04L45/02H04L61/5007H04L67/1001H04L67/02H04L67/56
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 11,838,199
App. No.
17/843,336
Granted
Dec 5, 2023
Kind
B1
Abstract

Grouping virtualized computing instances in cloud environments can be achieved utilizing groups of network endpoints, such as hardware devices, virtualized computing instances, etc. The network endpoint group (NEG) provides a logical grouping for providers of backend services that may be arranged on the network endpoints, and may be organized based on the backend service to be provided by the computing environments that operate as network endpoints. For example, the NEGs may be implemented for load balancing applications. The network endpoint groups, and the network endpoints included therein, may be managed using a framework of tools, libraries and application programming interfaces.

Claims (56)

1. A system comprising:

a plurality of network endpoint groups comprising one or more network endpoints,

wherein the one or more network endpoints are configured to execute instances of an application configured to provide a user device with content, and

wherein each network endpoint group comprises one or more respective network endpoints configured to execute the application; and

one or more processors configured to:

receive, at a first network endpoint, a request for the content;

select at least one of the one or more network endpoints; and

distribute, to the first network endpoint and to the at least one of the one or more selected network endpoints, the content responsive to the request.

2. The system of claim 1 , wherein the one or more processors are further configured to:

update forwarding rules for forwarding the request with network addresses for the selected at least one of the one or more network endpoints.

3. The system of claim 1 ,

wherein the request is of a first type of a plurality of types of requests that the one or more processors are configured to receive, and

wherein the one or more processors are further configured to:

identify, from the plurality of network endpoint groups, one or more network endpoint groups comprising network endpoints implementing applications mapped to the first type of request.

4. The system of claim 1 , wherein the plurality of types of requests are mapped against addresses for load balancers, wherein each load balancer corresponds to a respective network endpoint group and is configured to forward incoming requests to the one or more network endpoints.

5. The system of claim 4 , wherein the one or more processors are further configured to:

in response to a determination that the one or more network endpoints cannot receive the request, cause a network endpoint group comprising at least one of the one or more network endpoints to execute a new instance of the application.

6. The system of claim 5 , wherein the one or more processors are further configured to:

add an endpoint to the network endpoint group;

identify a corresponding Internet Protocol (IP) address for the added network endpoint; and

execute a new instance of the application on the added network endpoint.

7. The system of claim 1 , wherein in selecting the at least one of the one or more network endpoints executing the application, the one or more processors are further configured to:

select the at least one of the one or more network endpoints based on a geographic zone associated with the at least one of the one or more network endpoints and a physical location of a computing device from which the request is received.

8. The system of claim 1 , wherein the content comprises media content, web content, or both media content and web content.

9. A computer-implemented method comprising:

receiving a request for content at a first network endpoint, wherein the first network endpoint is one of a plurality of network endpoint groups each network endpoint group comprising one or more network endpoints,

wherein the one or more network endpoints are configured to execute instances of an application configured to provide a user device with the content, and

wherein each network endpoint group comprises one or more respective network endpoints configured to execute the application;

selecting at least one of the one or more network endpoints; and

distributing, to the first network endpoint and to each of the selected network endpoints, the content responsive to the request.

10. The method of claim 9 , further comprising forwarding rules for forwarding the request with network addresses for the selected at least one of the one or more network endpoints.

11. The method of claim 9 ,

wherein the request is of a first type of a plurality of types of requests, and

wherein the method further comprises:

identifying, from the plurality of network endpoint groups, one or more network endpoint groups comprising network endpoints implementing applications mapped to the first type of request.

12. The method of claim 11 , wherein the first type of request is a Transmission Control Protocol (TCP) request.

13. The method of claim 11 , wherein the plurality of types of requests are mapped against addresses for load balancers, wherein each load balancer corresponds to a respective network endpoint group and is configured to forward incoming requests to one or more network endpoints.

14. The method of claim 13 , wherein method further comprises:

in response to a determination that the one or more network endpoints cannot receive the request, cause a network endpoint group comprising at least one of the one or more network endpoints to execute a new instance of the application.

15. The method of claim 14 , wherein the method further comprises:

adding an endpoint to a second network endpoint group;

identifying a corresponding Internet Protocol (IP) address for the added endpoint; and

executing the new instance of the application on the added endpoint.

16. The method of claim 9 , wherein selecting the at least one of the one or more network endpoints executing the application comprises selecting the at least one of the one or more network endpoints based on a geographic zone associated with the at least one of the one or more network endpoints and a physical location of a computing device from which the request is received.

17. One or more non-transitory computer-readable storage media comprising instructions that when performed by one or more processors, causes the one or more processors to perform operations comprising:

receiving a request for content at a first network endpoint, wherein the first network endpoint is one of a plurality of network endpoint groups each network endpoint group comprising one or more network endpoints,

wherein the one or more network endpoints are configured to execute instances of an application configured to provide a user device with the content, and

wherein each network endpoint group comprises one or more respective network endpoints configured to execute the application;

selecting at least one of the one or more network endpoints; and

distributing, to the first network endpoint and to the at least one of the one or more selected network endpoints, the content responsive to the request.

18. The computer-readable storage media of claim 17 ,

wherein the request is of a first type of a plurality of types of requests, and

wherein the operations further comprise:

identifying, from the plurality of network endpoint groups, one or more network endpoint groups comprising applications mapped to the first type of request.

19. The computer-readable storage media of claim 18 , selecting the at least one of the one or more network endpoints executing the application comprises:

selecting the at least one of the one or more network endpoints based on a geographic zone associated with the at least one of the one or more network endpoints and a physical location of a computing device from which the request is received.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: BERENBERG, ANNA; KOTLA, VENKAT SUBBAIAH NAIDU; PATTAN, NEHA; NAIK, UDAY RAMAKRISHNA; JOSHI, PRAJAKTA; ENVID-LAZARO, INES CLARA
To: GOOGLE LLC
Reel/Frame 060276/0669 →
Continuity (3)
Continuation 17028460 · Sep 22, 2020
Continuation 16118775 · Aug 31, 2018
Provisional Application 62553037 · Aug 31, 2017