Extensible and elastic data management services engine external to a storage domain
First Claim
1. A method comprising:
- determining, by a data management services engine, that an input request is to be processed by a service based upon an evaluation of the input request using a service rule;
querying, by the data management services engine, a service map to identify a location of executable program code of the service to execute for deploying the service and service attributes of the service comprising a name of the service, a service identifier derived from the executable program code, and whether the service is stateful or stateless;
requesting, by the data management services engine, an allocation of resources for hosting the service based upon a determination that the allocation satisfies a consumption rule, wherein the allocation is based upon a capacity for executing the service determined using the service attributes and provisioned resources;
deploying, by the data management services engine, the service utilizing the allocated resources and the executable program code, wherein the service is deployed utilizing the service attributes to be accessible using the name and service identifier of the service, wherein the deploying comprises;
in response to the service attributes indicating that the service is stateful, configuring a services architecture to maintain state data for the service; and
in response to the service attributes indicating that the service is stateless, configuring the service to include a storage request within a service instance output for the storage request; and
updating service state information, within the data management services engine that deployed the service, to track at least one of the service identifier of the service, an available capacity of the service to process additional requests, a status of a time of a latest heartbeat of the service, or a deployed location of the programming code.
1 Assignment
0 Petitions
Accused Products
Abstract
A data management services architecture includes architectural components that run in both a storage and compute domains. The architectural components redirect storage requests from the storage domain to the compute domain, manage resources allocated from the compute domain, ensure compliance with a policy that governs resource consumption, deploy program code for data management services, dispatch service requests to deployed services, and monitor deployed services. The architectural components also include a service map to locate program code for data management services, and service instance information for monitoring deployed services and dispatching requests to deployed services. Since deployed services can be stateless or stateful, the services architecture also includes state data for the stateful services, with supporting resources that can expand or contract based on policy and/or service demand. The architectural components also include containers for the deployed services.
21 Citations
20 Claims
-
1. A method comprising:
-
determining, by a data management services engine, that an input request is to be processed by a service based upon an evaluation of the input request using a service rule; querying, by the data management services engine, a service map to identify a location of executable program code of the service to execute for deploying the service and service attributes of the service comprising a name of the service, a service identifier derived from the executable program code, and whether the service is stateful or stateless; requesting, by the data management services engine, an allocation of resources for hosting the service based upon a determination that the allocation satisfies a consumption rule, wherein the allocation is based upon a capacity for executing the service determined using the service attributes and provisioned resources; deploying, by the data management services engine, the service utilizing the allocated resources and the executable program code, wherein the service is deployed utilizing the service attributes to be accessible using the name and service identifier of the service, wherein the deploying comprises; in response to the service attributes indicating that the service is stateful, configuring a services architecture to maintain state data for the service; and in response to the service attributes indicating that the service is stateless, configuring the service to include a storage request within a service instance output for the storage request; and updating service state information, within the data management services engine that deployed the service, to track at least one of the service identifier of the service, an available capacity of the service to process additional requests, a status of a time of a latest heartbeat of the service, or a deployed location of the programming code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
-
determine, by a data management services engine, that an input request is to be processed by a service based upon an evaluation of the input request using a service rule; query, by the data management services engine, a service map to identify a location of executable program code of the service to execute for deploying the service and service attributes of the service comprising a name of the service, a service identifier derived from the executable program code, and whether the service is stateful or stateless; request, by the data management services engine, an allocation of resources for hosting the service based upon a determination that the allocation satisfies a consumption rule, wherein the allocation is based upon a capacity for executing the service determined using the service attributes and provisioned resources; deploy, by the data management services engine, the service utilizing the allocated resources and the executable program code, wherein the service is deployed utilizing the service attributes to be accessible using the name and service identifier of the service, comprising; in response to the service attributes indicating that the service is stateful, configure a services architecture to maintain state data for the service; and in response to the service attributes indicating that the service is stateless, configure the service to include a storage request within a service instance output for the storage request; and update service state information, within the data management services engine that deployed the service, to track at least one of the service identifier of the service, an available capacity of the service to process additional requests, a status of a time of a latest heartbeat of the service, or a deployed location of the programming code. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computing device comprising:
-
a memory comprising machine executable code for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to; determine, by a data management services engine, that an input request is to be processed by a service based upon an evaluation of the input request using a service rule; query, by the data management services engine, a service map to identify a location of executable program code of the service to execute for deploying the service and service attributes of the service comprising a name of the service, a service identifier derived from the executable program code, and whether the service is stateful or stateless; request, by the data management services engine, an allocation of resources for hosting the service based upon a determination that the allocation satisfies a consumption rule, wherein the allocation is based upon a capacity for executing the service determined using the service attributes and provisioned resources; deploy, by the data management services engine, the service utilizing the allocated resources and the executable program code, wherein the service is deployed utilizing the service attributes to be accessible using the name and service identifier of the service, comprising; in response to the service attributes indicating that the service is stateful, configure a services architecture to maintain state data for the service; and in response to the service attributes indicating that the service is stateless, configure the service to include a storage request within a service instance output for the storage request; and update service state information, within the data management services engine that deployed the service, to track at least one of the service identifier of the service, an available capacity of the service to process additional requests, a status of a time of a latest heartbeat of the service, or a deployed location of the programming code. - View Dependent Claims (17, 18, 19, 20)
-
Specification