Systems and methods for providing load balancing as a service

US10104166B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10104166-B2
Application numberUS-201414282411-A
CountryUS
Kind codeB2
Filing dateMay 20, 2014
Priority dateMay 20, 2014
Publication dateOct 16, 2018
Grant dateOct 16, 2018

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.

The present disclosure is directed generally to systems and methods for providing load balancing as a service. A load balancer executing on a device intermediary to a server and a plurality of clients can receive a request from an agent executing on the server. The request can be to initiate establishment of a transport layer connection. The load balancer can accept the request to establish the transport layer connection with the server. The load balancer can receive a request to access the server from a client of the plurality of clients. The load balancer can forward the request to the server via the transport layer connection established between the load balancer and the server responsive to the request of the server.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of providing load balancing as a service, the method comprising: receiving, by a load balancer executing on a device intermediary to a server and a plurality of clients, a first request from an agent executing on the server initiating establishment of a transport layer connection with the load balancer, the agent configured with a server pool name used by the agent to discover the load balancer using information about the server pool name published in a domain name system, the first request comprising a unique identifier of the server to the load balancer discovered by the agent of the server via the domain name system and authentication credentials to the server for the load balancer to establish the transport layer connection with the server; determining, by the load balancer prior to accepting the request, that the load balancer is configured to perform load balancing of the server based on the unique identifier of the server; authenticating, by the load balancer, the server using the authentication credentials to the server received by the load balancer via the first request from the agent; accepting the first request, by the load balancer responsive to at least one of the determination or authentication; performing, by the load balancer after accepting the first request, a handshake with the server to establish the transport layer connection between the server and the load balancer on the device intermediary to the server and the plurality of clients; receiving, by the load balancer, a second request to access the server from a client of the plurality of clients; and forwarding, by the load balancer based on at least the unique identifier of the server received from the agent, the second request to the server via the transport layer connection established between the load balancer and the server responsive to the first request of the server. 2. The method of claim 1 , further comprising: receiving, by the device, a plurality of requests initiating establishment of a predetermined number of transport layer connections, the plurality of requests transmitted by a second agent executing on a second server on a disparate network from the first server, the second server separated from the first server via a firewall; and accepting, by the device, the plurality of requests to establish the second predetermined number of transport layer connections with the second server. 3. The method of claim 1 , further comprising: receiving, by the device, a plurality of requests initiating establishment of a predetermined number of transport layer connections from a plurality of agents executing on a corresponding plurality of servers on a same network. 4. The method of claim 1 , further comprising: receiving, by the device, a plurality of requests initiating establishment of a predetermined number of transport layer connections from a plurality of servers, the plurality of servers separated from the device via a firewall and a public network. 5. The method of claim 1 , further comprising: receiving, by the device, a plurality of requests from the agent to initiate establishment of transport layer connections with the load balancer responsive to the server coming online. 6. The method of claim 1 , further comprising: receiving, responsive to at least one transport layer connection of the predetermined number of transport layer connections closing, a new request from the agent to initiate a new transport layer connection to maintain a predetermined number of transport layer connections. 7. The method of claim 1 , further comprising: increasing, based on a policy, the predetermined number of transport layer connections to a second predetermined number of transport layer connections. 8. The method of claim 1 , further comprising: identifying, by the device, a set of servers to load balance, the set of servers comprising the plurality of servers, the set of servers having the unique identifier; and receiving, by the device, a plurality of requests to initiate a predetermined number of transport layer connections, the plurality of requests comprising the unique identifier of the set of servers and associated authentication credentials. 9. The method of claim 1 , further comprising: identifying, by the device, a set of servers having the unique identifier, the set of servers comprising the plurality of servers separated from the load balancer via a firewall and a public network; and managing, by the device, the set of servers. 10. The method of claim 1 , further comprising: accepting the request responsive to determining that the load balancer is configured to perform load balancing for up to a predetermined number of connections. 11. The method of claim 1 , further comprising: using, by the load balancer, the unique identifier of the server received from the request to include the server in a plurality of servers managed by the load balancer. 12. A system to provide load balancing as a service, the system comprising: a device intermediary to a server and a plurality of clients comprising: an interface configured to receive a first request from an agent executing on the server initiating establishment of a transport layer connection with the device, wherein the agent is configured with a server pool name used by the agent to discover the load balancer using information about the server pool name published in a domain name system, the first request comprising a unique identifier, of the server to the load balancer discovered by the agent of the server via the domain name system, and authentication credentials to the server for the load balancer to establish the transport layer connection with the server; a policy engine configured to: determine, prior to accepting the request, that the load balancer is configured to perform load balancing of the server based on the unique identifier of the server; authenticate the server using the authentication credentials to the server received by the load balancer via the first request from the agent; accept the first request responsive to at least one of the determination or authentication, wherein the device, after accepting the first request, is configured to perform a handshake with the server to establish the transport layer connection between the server and the load balancer on the device intermediary to the server and the plurality of clients; a load balancer configured to receive a second request to access the server from a client of the plurality of clients, and forward, based on at least the unique identifier of the server received from the agent, the second request to the server via the transport layer connection established between the load balancer and the server responsive to the first request of the server. 13. The system of claim 12 , wherein the device is further configured to: receive a plurality of requests initiating establishment of a predetermined number of transport layer connections, the plurality of requests transmitted by a second agent executing on a second server on a disparate network from the first server, the second server separated from the first server via a firewall; and accept the plurality of requests to establish the second predetermined number of transport layer connections with the second server. 14. The system of claim 12 , wherein the device is further configured to: receive a plurality of requests initiating establishment of a predetermined number of transport layer connections from a plurality of agents executing on a corresponding plurality of servers on a same network. 15. The system

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • Hybrid transport · CPC title

  • Electricity · mapped topic

  • Entity profiles · CPC title

  • Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · 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 US10104166B2 cover?
The present disclosure is directed generally to systems and methods for providing load balancing as a service. A load balancer executing on a device intermediary to a server and a plurality of clients can receive a request from an agent executing on the server. The request can be to initiate establishment of a transport layer connection. The load balancer can accept the request to establish the…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/1002. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 16 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).