STATE MAINTENANCE AS A SERVICE
First Claim
1. A computer-implemented method of providing a state service to a client of the service, comprising:
- receiving an interface definition for the service;
generating a client proxy based on the interface definition, the client proxy being deployed between the service and the client; and
receiving a service request from the client at the client proxy, during a session between the client and the service, the client proxy providing the service request to the service and storing the service request with a state service.
2 Assignments
0 Petitions
Accused Products
Abstract
When a stateful service is implemented in a cloud architecture, a state service system receives a user interface definition for a service and generates a client proxy and optionally a storage proxy. The stateful service implements service instances to service requests from clients. The client proxy receives and logs messages from a client in a state service component and a storage proxy logs interactions with a data store. When a service instance serving existing clients is changed, the proxies replay the logged information to the new service instance to recover or maintain state for individual client sessions.
109 Citations
20 Claims
-
1. A computer-implemented method of providing a state service to a client of the service, comprising:
-
receiving an interface definition for the service; generating a client proxy based on the interface definition, the client proxy being deployed between the service and the client; and receiving a service request from the client at the client proxy, during a session between the client and the service, the client proxy providing the service request to the service and storing the service request with a state service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A state service system, comprising:
-
a hosted service implementing a plurality of service instances; a client proxy receiving service requests from a client, during a session between the client and the hosted service, and providing them to a first service instance of the hosted service; a storage proxy receiving database interaction requests from the first service instance of the hosted service, for the session, and providing them to a database; a state service that stores the service requests and the database interaction requests for the session, in response to switching service instance of the session from the first service instance to a second service instance, the client proxy replaying at least the service requests, stored in the state service for the session, to the second service instance and the storage proxy replaying at least the database interaction responses, stored in the state service for the session, to the second service instance; and a computer processor being a functional part of the system and activated by the client proxy and the storage proxy to facilitate storing the service requests and the database interaction requests in the state service.
-
-
20. A computer readable storage medium that stores computer readable instructions which, when executed by a computer, cause the computer to perform steps comprising:
-
receiving an interface definition for the service; generating a client proxy based on the interface definition, the client proxy being deployed between the service and the client; receiving a service request from the client at the client proxy, during a session between the client and the service, the client proxy logging the service request with a state service; generating a storage proxy for the client, the storage proxy being deployed between the service and a data store; receiving a data store interaction, from the service, at the storage proxy, the storage proxy logging the interaction between the service and the data store, in the state service; after receiving the service request, receiving a service instance identifier of a first service instance to use in servicing the service request; sending the service request from the client proxy to the first service instance; determining that the first service instance is unavailable; receiving a service instance identifier for a second service instance; restoring state to the second service instance using the state service by playing back, to the second service instance, all logged service requests sent to the state service for the session and playing back, to the second service instance, the data storage interactions sent by the storage proxy to the state service; and after restoring state to the second service instance, sending the service request to the second service instance.
-
Specification