Zero-downtime, reversible, client-driven service migration
First Claim
1. A computer system for maintaining accessibility to service functionality during service migration, the computer system comprising:
- at least one processor configured to execute computer-executable instructions; and
memory storing computer-executable instructions configured to implement;
a current service that exposes a current service contract for the current service;
a new service that exposes the current service contract for the current service; and
a migration module that enables a client to migrate from the current service to the new service by;
controlling the client to operate in a dual-write, old-read mode in which the client issues write requests to both the current service and the new service and issues read requests only to the current service;
switching the client from operating in the dual-write, old-read mode to operate in a dual-write, new-read mode in which the client issues write requests to both the current service and the new service and issues read requests only to the new service;
in response to detecting a problem with the new service, switching the client from operating in the dual-write, new read mode to operate in an old-write, old-read mode in which the client issues write requests and read requests only to the interface for the current service;
when the problem with the new service is corrected, switching the client from operating in the old-write, old-read mode to operate in the dual-write, new-read mode;
replicating service data that was written to the current service when the client was operating in the old-write, old-read mode from a current data store associated with the current service to a new data store associated with the new service; and
switching the client from operating in the dual-write, new-read mode to operate in a new-read, new-write mode in which the client issues write requests and read requests only to the new service.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system may provide zero-downtime, reversible, client-driven service migration to migrate a client from a current service to a new service. The computer system may configure the client to operate in a dual-write, old-read mode in which the client issues write requests to both the current service and the new service and issues read requests only to the current service. The computer system may configure the client to operate in a dual-write, new-read mode in which the client issues write requests to both the current service and the new service and issues read requests only to the new service.
-
Citations
20 Claims
-
1. A computer system for maintaining accessibility to service functionality during service migration, the computer system comprising:
-
at least one processor configured to execute computer-executable instructions; and memory storing computer-executable instructions configured to implement; a current service that exposes a current service contract for the current service; a new service that exposes the current service contract for the current service; and a migration module that enables a client to migrate from the current service to the new service by; controlling the client to operate in a dual-write, old-read mode in which the client issues write requests to both the current service and the new service and issues read requests only to the current service; switching the client from operating in the dual-write, old-read mode to operate in a dual-write, new-read mode in which the client issues write requests to both the current service and the new service and issues read requests only to the new service; in response to detecting a problem with the new service, switching the client from operating in the dual-write, new read mode to operate in an old-write, old-read mode in which the client issues write requests and read requests only to the interface for the current service; when the problem with the new service is corrected, switching the client from operating in the old-write, old-read mode to operate in the dual-write, new-read mode; replicating service data that was written to the current service when the client was operating in the old-write, old-read mode from a current data store associated with the current service to a new data store associated with the new service; and switching the client from operating in the dual-write, new-read mode to operate in a new-read, new-write mode in which the client issues write requests and read requests only to the new service. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for maintaining accessibility to service functionality during service migration, the computer-implemented method comprising:
-
hosting, by a computer system having at least one processor, a current service that provides an interface for receiving write requests and read requests from a client; hosting, by the computer system, a new service to which the client is to be migrated, the new service providing an interface accessible to the client; configuring, by the computer system, the client to operate in a dual-write, old-read mode during a preliminary stage of service migration in which the client issues write requests to both the interface for the current service and the interface for the new service and issues read requests only to the interface for the current service; migrating, by the computer system, service data for a set of tenants from a current data store associated with the current service to a new data store associated with the new service when the client is operating in the dual-write, old-read mode, wherein; the service data for the set of tenants from the current data store is distributed in the new data store across multiple databases associated with different subsets of tenants, and new or updated service data for a tenant is written to the new service and stored in the new data store within a particular database that is associated with the tenant when the client issues a write request to the interface for the new service; and configuring, by the computer system, the client to operate in a dual-write, new-read mode during an evaluation stage of service migration in which the client issues write requests to both the interface for the current service and the interface for the new service and issues read requests only to the interface for the new service. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-implemented method for maintaining accessibility to service functionality during service migration, the computer-implemented method comprising:
-
hosting, by a computer system having at least one processor, a current service that provides an interface for receiving write requests and read requests from a client; hosting, by the computer system, a new service to which the client is to be migrated, the new service providing an interface accessible to the client; configuring, by the computer system, the client to operate in a dual-write, old-read mode during a preliminary stage of service migration in which the client issues write requests to both the interface for the current service and the interface for the new service and issues read requests only to the interface for the current service; configuring, by the computer system, the client to operate in a dual-write, new-read mode during an evaluation stage of service migration in which the client issues write requests to both the interface for the current service and the interface for the new service and issues read requests only to the interface for the new service; configuring, by the computer system in response to detecting a problem with the new service, the client to operate in an old-write, old-read mode in which the client issues write requests and read requests only to the interface for the current service; switching, by the computer system, the client from operating in the old-write, old-read mode to operate in the dual-write, new-read mode when the problem with the new service is corrected; and replicating service data that was written to the current service when the client was operating in old-write, old-read mode from a current data store associated with the current service to a new data store associated with the new service. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification