Deployment of client data compute kernels in cloud
First Claim
1. A system comprising:
- one or more nodes that implement a data storage service, each node of the one or more nodes comprising one or more hardware processors and memory;
a client kernel manager node of the one or more nodes, configured to;
receive a client data compute kernel executable to access a client data store maintained by a data storage service, the client data compute kernel received from a client;
store the client data compute kernel in a client kernel repository; and
register in a registry that the client data compute kernel is associated with a type of data access request;
a client request handler node of the one or more nodes, configured to, in response to receiving a data access request to access the client data store;
select a storage service node of the data storage service to service the request;
determine based at least part on the registry that the data access request is associated with the client data compute kernel;
deploy the client data compute kernel on the storage service node; and
forward the data access request to the client data compute kernel.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage service includes a client data compute kernel manager that receives and registers a client data compute kernel in a client kernel repository. The client data compute kernel may be a custom data compute kernel that is received from a client. The data storage service includes a client request handler that receives data access requests to a client data store. The client request handler may determine that a data access request is associated with the client data compute kernel. The client request handler may then deploy the client data compute kernel to one or more selected storage servers, and then forward the data access request to the client data compute kernel. A storage server may execute a storage service engine of the data storage service in one execution container on the storage server and the client data compute kernel on a second execution container on the storage server.
35 Citations
20 Claims
-
1. A system comprising:
-
one or more nodes that implement a data storage service, each node of the one or more nodes comprising one or more hardware processors and memory; a client kernel manager node of the one or more nodes, configured to; receive a client data compute kernel executable to access a client data store maintained by a data storage service, the client data compute kernel received from a client; store the client data compute kernel in a client kernel repository; and register in a registry that the client data compute kernel is associated with a type of data access request; a client request handler node of the one or more nodes, configured to, in response to receiving a data access request to access the client data store; select a storage service node of the data storage service to service the request; determine based at least part on the registry that the data access request is associated with the client data compute kernel; deploy the client data compute kernel on the storage service node; and forward the data access request to the client data compute kernel. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
performing, by a data storage service, in response to receiving a data access request to access a client data store; determining that the data access request is associated with the client data compute kernel based at least in part on a registry of client data compute kernels, the client data compute kernel being received from a client; deploying the client data compute kernel to one or more storage servers of the data storage service; and executing the client data compute kernel on the one or more storage servers to service the data access request. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors cause the one or more processors to:
perform, by a data storage service, in response to receiving a data access request to access a client data store; determine that the data access request is associated with the client data compute kernel received from a client, the client data compute kernel executable to access a client data store maintained by the data storage service; select one or more storage servers hosting the data storage service to host; deploy the client data compute kernel to the one or more storage servers; and forward the data access request to the client data compute kernel. - View Dependent Claims (19, 20)
Specification