IP Library › Granted Patent US 11,888,745
Granted Patent B2
US 11,888,745 · App. 16/875,899 · Granted Jan 30, 2024

Load balancer metadata forwarding on secure connections

Inventor: Nima Sharifi Mehr (Vancouver, CA)
Assignee: Amazon Technologies, Inc.
H04L47/125H04L63/166
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,888,745
App. No.
16/875,899
Granted
Jan 30, 2024
Kind
B2
Abstract

Network devices, such as load balancers may be configured to forward client metadata to back-end nodes using defined fields of a security protocol. For example, client metadata may be inserted into an extension field or certificate defined by a security protocol that is used for a secure connection between the load balancer and the back-end node. In some instances, a source IP address based on a received request may be inserted into the extension field or certificate defined by the security protocol before the request is forwarded to the back-end node. The back-end node may extract the client metadata and use the client metadata for any of a number of processes (e.g., billing, tracking, security, logging, etc.).

Claims (71)

1. A system, comprising:

a plurality of load balancers; and

one or more back-end processes coupled to the load balancers, wherein individual ones of the one or more back-end processes are configured to:

receive, over a connection, a health check ping from one of the load balancers;

evaluate a system resource capacity of the back-end process;

determine, based on said evaluate, whether to simulate unavailability of the back-end process, wherein simulate unavailability comprises transmitting a negative response to a health check ping when the back-end process is available;

for a determination to simulate unavailability, transmit a negative response to the health check ping to simulate unavailability of the back-end process when the back-end process is available; and

for a determination to remain available, transmit, over the connection, a positive response to the load balancer in response to the health check ping.

2. The system of claim 1 , wherein the load balancers comprise load balancers with a request distribution strategy limited to a round-robin request distribution strategy.

3. The system of claim 1 , wherein:

in response to receipt of a negative response, the load balancers are configured to:

remove the back-end process from an active load balancer pool; and

in response to receipt of a positive response, the load balancers are configured to:

place the back-end process into the active load balancer pool.

4. The system of claim 1 , wherein the load balancers are configured to:

maintain a secure back-end connection with the respective back-end processes; and

continue sending health check pings to the back-end processes over the secure back-end connection irrespective of whether the back-end processes are identified as active or inactive by the load balancers.

5. The system of claim 1 , wherein said transmit a negative response to the health check ping comprises:

terminate the connection between the back-end process and the load balancer.

6. The system of claim 1 , wherein to perform said evaluate the system resource capacity of the back-end process, the one or more back-end processes are configured to measure and evaluate:

CPU usage of the back-end process,

memory usage of the back-end process, or

hard disk availability of the back-end process.

7. A process, comprising:

performing, by a back-end system comprising one or more processors:

receiving, by the back-end system over a connection, a health check ping from a load balancer;

evaluating, by the back-end system, a system resource capacity of the back-end system;

determining, by the back-end system and based on said evaluating, whether to simulate unavailability of the back-end system, wherein simulate unavailability comprises transmitting a negative response to a health check ping when the back-end system is available; and

for a determination to simulate unavailability, transmitting a negative response to the health check ping to simulate unavailability of the back-end system when the back-end system is available.

8. The process of claim 7 , wherein said determining to simulate unavailability comprises:

determining that a measured amount of a back-end system resource falls below a configured threshold.

9. The process of claim 7 , wherein said transmitting a negative response to the health check ping to simulate unavailability of the back-end system comprises:

terminating a connection between the back-end system and the load balancer.

10. The process of claim 7 , further comprising:

receiving, by the back-end system, another health check ping from the load balancer;

evaluating, by the back-end system, a current system resource capacity of the back-end system;

determining, by the back-end system based on said evaluating the current system resource capacity, to respond to the other health check ping with a positive response; and

transmitting the positive response to the other health check ping to indicate availability of the back-end system.

11. The process of claim 10 , wherein said transmitting the positive response to the other health check ping to indicate availability of the back-end system comprises:

transmitting an HTTP 200 response.

12. The process of claim 7 ,

wherein said evaluating the system resource capacity of the back-end system comprises measuring and evaluating:

CPU usage of the back-end system,

memory usage of the back-end system,

or hard disk availability of the back-end system.

13. The process of claim 7 , further comprising:

receiving a request, including client metadata in an extension field defined by a secure connection protocol, from the load balancer;

retrieving the client metadata from the extension field; and

processing the client metadata.

14. One or more non-transitory computer readable media storing program instructions that are executed on or across one or more processors to implement a back-end system configured to perform:

evaluating, by the back-end system and based on receipt of a health check ping over a connection from a load balancer, a system resource capacity of the back-end system;

determining, by the back-end system and based on said evaluating, whether to simulate unavailability of the back-end system, wherein simulate unavailability comprises transmitting a negative response to a health check ping when the back-end system is available; and

for a determination to simulate unavailability, indicating, to the load balancer, a negative response to the health check ping to simulate unavailability of the back-end system when the back-end system is available.

15. The non-transitory computer readable media of claim 14 , wherein to perform said determining to simulate unavailability of the back-end system, the program instructions cause the back-end system to perform:

determining that a measured amount of a back-end system resource falls below a configured threshold.

16. The non-transitory computer readable media of claim 14 , wherein to perform said indicating the negative response to the health check ping to simulate unavailability of the back-end system, the program instructions cause the back-end system to perform:

terminating the connection between the back-end resources and the load balancer.

17. The non-transitory computer readable media of claim 14 , wherein the program instructions cause the back-end system to perform:

evaluating, in response to receipt, by the back-end system, of another health check ping from the load balancer, a current system resource capacity of the back-end system;

determining, by the back-end system based on said evaluating the current system resource capacity, to respond to the other health check ping with a positive response; and

instructing transmission of the positive response to the other health check ping to indicate availability of the back-end system.

18. The non-transitory computer readable media of claim 17 , wherein to perform said indicating the positive response to the other health check ping to indicate availability of the back-end system, the program instructions cause the back-end system to perform:

instruction transmission of an HTTP 200 response.

19. The non-transitory computer readable media of claim 14 , wherein to perform said evaluating the system resource capacity of the back-end system the program instructions cause the back-end system to perform:

measuring and evaluating CPU usage of the back-end process,

measuring and evaluating memory usage of the back-end process, or

measuring and evaluating hard disk availability of the back-end process.

20. The non-transitory computer readable media of claim 14 , wherein the program instructions cause the back-end system to perform:

receiving a request, including client metadata in an extension field defined by a secure connection protocol, from the load balancer;

retrieving the client metadata from the extension field; and

processing the client metadata.

Continuity (2)
Continuation 14932577 · Nov 4, 2015
Related Publication 20200280519A1 · Sep 3, 2020