IP Library Granted Patent US 10,819,775
Granted Patent B2
US 10,819,775 · App. 16/255,374 · Granted Oct 27, 2020

Systems and methods for server failover and load balancing

Inventor: Vladan Djakovic (San Francisco, CA)
Assignee: IDEVICES, LLC
H04L67/1019H04L67/1023H04L67/1034
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 10,819,775
App. No.
16/255,374
Granted
Oct 27, 2020
Kind
B2
Abstract

Systems and methods for server failover and/or load balancing are provided herein. Systems for server failover and load balancing may include a computer system in electronic communication over a network with one or more client applications, the computer system including a plurality of servers, and an engine stored on and executed by a client, the engine configured to allow one or more clients to select a target server among the plurality of servers using a client application identifier.

Claims (24)

1. A method for server load balancing using a client device, the method comprising:

receiving, at a client device, a directory list with server identities for a plurality of servers, each server associated with a random client application identifier, the random client application identifier being associated with an application executed by the client device;

generating, at the client device, a sorted list for the plurality of servers from the directory list, the sorted list being generated based at least in part on the random client application identifier using Highest Random Weight; and

contacting, by the client device, a selected server from the sorted list by starting at the top and working down the sorted list until an answer is received from one of the plurality of servers;

establishing, by the client device, communication with the selected server.

2. The method of claim 1 , wherein the random client application identifier comprises at least 128 bits.

3. The method of claim 1 , wherein the random client application identifier comprises at least 512 bits.

4. The method of claim 1 , wherein the server identifies comprise an IP address.

5. The method of claim 1 , wherein each of the plurality of servers are configured to provide a directory service.

6. The method of claim 5 , wherein the directory service is configured to provide a list of servers tagged with one or more application services each server supports.

7. The method of claim 1 , wherein each of the plurality of servers are configured to provide an application service.

8. The method of claim 7 , wherein the application service serves only a subset of a plurality of client devices.

9. A client device configured to be in communication with a plurality of servers, the client device comprising one or more processors configured to execute computer-readable instructions to configure the client device to perform operations, the operations comprising:

receiving, at the client device, a directory list with server identities for the plurality of servers, each server associated with a random client application identifier, the random client application identifier being associated with an application executed by the client device;

generating, at the client device, a sorted list for the plurality of servers from the directory list, the sorted list being generated based at least in part on the random client application identifier using Highest Random Weight; and

contacting, by the client device, a selected server from the sorted list by starting at the top and working down the sorted list until an answer is received from one of the plurality of servers;

establishing, by the client device, communication with the selected server.

10. The system of claim 9 , wherein the random client application identifier comprises at least 128 bits.

11. The system of claim 9 , wherein the random client application identifier comprises at least 512 bits.

12. The system of claim 9 , wherein the server identifies comprise an IP address.

13. The system of claim 9 , wherein each of the plurality of servers are configured to provide a directory service.

14. The system of claim 13 , wherein the directory service is configured to provide a list of servers tagged with one or more application services each server supports.

15. The system of claim 9 , wherein each of the plurality of servers are configured to provide an application service.

16. The system of claim 15 , wherein the application service serves only a subset of a plurality of client devices.

Assignments (2)
MERGER Recorded Oct 14, 2021
From: IDEVICES, LLC
To: HUBBELL INCORPORATED (DELAWARE)
Reel/Frame 057797/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2019
From: DJAKOVIC, VLADAN
To: IDEVICES, LLC
Reel/Frame 048112/0105 →
Continuity (3)
Continuation 15166218 · May 26, 2016
Provisional Application 62179969 · May 26, 2015
Related Publication 20190158585A1 · May 23, 2019