IP Library Granted Patent US 9,483,542
Granted Patent B2
US 9,483,542 · App. 14/109,428 · Granted Nov 1, 2016

System for live-migration and automated recovery of applications in a distributed system

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 9,483,542
App. No.
14/109,428
Granted
Nov 1, 2016
Kind
B2
Abstract

A method and apparatus for distribution of applications amongst a number of servers, ensuring that changes to application data on a master for that application are asynchronously replicated to a number of slaves for that application. Servers may be located in geographically diverse locations; the invention permits data replication over high-latency and lossy network connections and failure-tolerance under hardware and network failure conditions. Access to applications is mediated by a distributed protocol handler which allows any request for any application to be addressed to any server, and which, when working in tandem with the replication system, pauses connections momentarily to allow seamless, consistent live-migration of applications and their state between servers. Additionally, a system which controls the aforementioned live-migration based on dynamic measurement of load generated by each application and the topological preferences of each application, in order to automatically keep servers at an optimum utilization level.

Claims (22)

1. A method of balancing load in a cluster of servers hosting a plurality of applications, the method comprising:

determining the current load of each server;

determining an average load taking into account the loads at the servers in the cluster;

determining for a server whether its load is less or greater than the average load plus a damping factor (Q);

making a decision to migrate an application from the server when its load is greater than the average plus the damping factor.

2. The method according to claim 1 , further comprising prior to the decision to migrate an application from the server, replicating changes in data of an application to a configurable number of servers of the cluster.

3. The method according to any preceding claim, further comprising maintaining a record of the server on which an application is currently hosted, and inspecting the record to determine the server to which an incoming application request is to be directed.

4. The method according to claim 1 , further comprising exchanging messages with other servers in the cluster to determine the version of a filesystem of the highest centre of mass metric, based on analysis of snapshots of changes in data of the application which have been received, and wherein the application is migrated to that server having the highest centre of mass metric.

5. The method according to claim 1 , further comprising pausing incoming requests for the application and terminating current requests for the application after a predetermined time period.

6. A method according to claim 1 , further comprising pausing incoming requests for the application for a predetermined time period and releasing the paused requests if current requests for the application have not completed in the predetermined time period.

7. The method according to according to claim 1 , further comprising emitting periodic heart beat signals indicating live presence in the cluster.

8. Computer software which, when executed by appropriate processing means, causes the processing means to implement a method of balancing load in a cluster of servers hosting a plurality of applications, the method comprising:

determining the current load of each server;

determining an average load taking into account the loads at the servers in the cluster;

determining for a server whether its load is less or greater than the average load plus a damping factor (Q);

making a decision to migrate an application from the server when its load is greater than the average plus the damping factor.

9. The computer software according to claim 8 , wherein the method further comprises: prior to the decision to migrate an application from the server, replicating changes in data of an application to a configurable number of servers of the cluster.

10. The computer software according to claim 8 , wherein the method further comprises: maintaining a record of the server on which an application is currently hosted, and inspecting the record to determine the server to which an incoming application request is to be directed.

11. The computer software according to claim 8 , wherein the method further comprises: exchanging messages with other servers in the cluster to determine the version of a filesystem of the highest centre of mass metric, based on analysis of snapshots of changes in data of the application which have been received, and wherein the application is migrated to that server having the highest centre of mass metric.

12. The computer software according to claim 8 , wherein the method further comprises: pausing incoming requests for the application and terminating current requests for the application after a predetermined time period.

13. The computer software according to claim 8 , wherein the method further comprises: pausing incoming requests for the application for a predetermined time period and releasing the paused requests if current requests for the application have not completed in the predetermined time period.

14. The computer software according to claim 8 , wherein the method further comprises: emitting periodic heart beat signals indicating live presence in the cluster.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2023
From: OPEN INVENTION NETWORK LLC
To: GOOGLE LLC
Reel/Frame 063503/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2017
From: CLUSTERHQ INC
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 043996/0592 →
CHANGE OF NAME Recorded Aug 23, 2017
From: HYBRID LOGIC LIMITED
To: CLUSTERHQ LIMITED
Reel/Frame 043375/0851 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: CLUSTERHQ LIMITED
To: CLUSTERHQ INC
Reel/Frame 043375/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: MARSDEN, LUKE
To: HYBRID LOGIC LTD
Reel/Frame 039932/0445 →