Systems and methods for automated service migration
Abstract
A migration framework provides for the automatic migration of services in a cluster. A migratable target list contains a list of servers in the cluster capable of hosting a migratable service. A consensus subsystem can select a host server from the migratable target list. A migration manager can migrate the service from a current host to the host selected by the consensus subsystem, and can activate an instance of the service on the selected host server. The migration manager ensures that only one active instance of the service exists in the cluster. A service stub can serve a user request on servers in the migration target, such as by order of preference, until the user request is served on the server hosting the active instance. A lease manager can assign a lease period to determine how long a server hosts an active instance. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims.
Claims
exact text as granted — not AI-modified1 . A system for automatically migrating a migratable service in a server cluster, comprising:
a migration target list containing a list of servers in the server cluster capable of hosting an instance of the migratable service; a consensus subsystem comprising an algorithm for selecting a server in the server cluster to host an active instance of the migratable service; a migration manager capable of moving the migratable service to the server selected by the algorithm to host the active instance, the migration manager ensuring that only one active instance of the migratable service exists in the server cluster at any time; and a service stub capable of serving a user request on the servers in said server cluster, the service stub capable of serving the user request on servers in the migration target until the user request is served on the server hosting the active instance of the migratable service.
2 . A system according to claim 1 , wherein said migration manager automatically migrates any migratable service whose current host server has failed.
3 . A system according to claim 1 , wherein said migration target list groups any migratable services that should automatically move together.
4 . A system according to claim 1 , further comprising an administration console that allows an administrator to force a migration.
5 . A system according to claim 1 , wherein said consensus subsystem utilizes a distributed consensus algorithm.
6 . A system according to claim 1 , wherein said consensus subsystem can force a migration upon the failure of the server hosting the current instance.
7 . A system according to claim 1 , wherein the identity of the server hosting the active instance is stored in one of an algorithm ledger or configuration file for the migratable target list.
8 . A system according to claim 1 , wherein said consensus subsystem can attempt to select a preferred server to host the active instance before selecting a server.
9 . A system according to claim 1 , further comprising a shared persistence store from which a migratable service can recover a current state.
10 . A system according to claim 1 , wherein the migration target list comprises an ordered list of servers.
11 . A system according to claim 10 , wherein first server in the list of servers of the migration target is the preferred server to host an active instance of the migratable service.
12 . A system according to claim 1 , further comprising an administration console allowing an administrator to monitor migration in the cluster.
13 . A system according to claim 1 , wherein said service stub can block a request during migration.
14 . A system for automatically migrating a migratable service in a cluster, comprising:
a migration target list containing a list of servers in the server cluster capable of hosting an instance of a migratable service; a consensus subsystem comprising an algorithm for selecting a server from the server cluster to act as an administration server, the administration server capable of selecting a server from the cluster to host the active instance of the migratable service; a migration manager capable of moving the migratable service to the server selected by the administration server to host the active instance, the migration manager ensuring that only one active instance of the migratable service exists in the server cluster at any time; and a service stub capable of serving a user request on the servers in said server cluster, the service stub capable of serving the user request on servers in the migration target until the user request is served on the server hosting the active instance of the migratable service.
15 . A method for automatically migrating a service in a server cluster, comprising:
deactivating an active service class instance located on a server in the server cluster; selecting a new host server in the server cluster to host the active service class instance using a consensus subsystem, the new host server being selected from a migratable target containing a list of all servers in the server cluster capable of hosting an active instance; and activating the service class instance on the new host server.
16 . A method according to claim 15 , further comprising:
deploying a service class instance on each server in the migratable target.
17 . A method according to claim 15 , further comprising:
activating one of the service class instances on one of the servers in the server cluster before any migration.
18 . A method according to claim 15 , further comprising:
calling an activate method to activate one of the service class instances.
19 . A method according to claim 15 , further comprising:
waiting for a response from the new host server indicating that the service class instance is active.
20 . A method according to claim 15 , further comprising:
determining which servers should be included in the migration target.
21 . A computer-readable medium, comprising:
means for deactivating an active service class instance located on a server in the server cluster; means for selecting a new host server in the server cluster to host the active service class instance using a consensus subsystem, the new host server being selected from a migratable target containing a list of all servers in the server cluster capable of hosting an active instance; and means for activating the service class instance on the new host server.
22 . A computer program product for execution by a server computer for migrating a service in a server cluster, comprising:
computer code for deactivating an active service class instance located on a server in the server cluster; computer code for selecting a new host server in the server cluster to host the active service class instance using a consensus subsystem, the new host server being selected from a migratable target containing a list of all servers in the server cluster capable of hosting an active instance; and computer code for for activating the service class instance on the new host server.
23 . A system for migrating a service in a server cluster, comprising:
means for deactivating an active service class instance located on a server in the server cluster; means for selecting a new host server in the server cluster to host the active service class instance using a consensus subsystem, the new host server being selected from a migratable target containing a list of all servers in the server cluster capable of hosting an active instance; and means for activating the service class instance on the new host server.
24 . A computer system comprising:
a processor; object code executed by said processor, said object code configured to: deactivate an active service class instance located on a server in the server cluster; select a new host server in the server cluster to host the active service class instance using a consensus subsystem, the new host server being selected from a migratable target containing a list of all servers in the server cluster capable of hosting an active instance; and activate the service class instance on the new host server.
25 . A computer data signal embodied in a transmission medium, comprising:
a code segment including instructions to deactivate an active service class instance located on a server in the server cluster; a code segment including instructions to select a new host server in the server cluster to host the active service class instance using a consensus subsystem, the new host server being selected from a migratable target containing a list of all servers in the server cluster capable of hosting an active instance; and a code segment including instructions to activate the service class instance on the new host server.Join the waitlist — get patent alerts
Track US2007153691A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.