Data storage system and process for data compression of distributed data in a scalable cluster system and computer program for such data storage system
US-2018364949-A1 · Dec 20, 2018 · US
US11201836B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11201836-B2 |
| Application number | US-201816021236-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 28, 2018 |
| Priority date | Jun 30, 2017 |
| Publication date | Dec 14, 2021 |
| Grant date | Dec 14, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present disclosure relate to a method and a device for managing a stateful application on a server. The method includes, in response to receiving a first request from a client for initializing the stateful application, allocating a storage resource to the stateful application. The method further includes, in response to receiving a second request from the client for processing data, storing the data in the storage resource. The method also includes enabling the stateful application to process the stored data.
Opening claim text (preview).
We claim: 1. A method of managing two or more stateful applications on a server, comprising: in response to receiving a first request from a client for initializing a first one of the two or more stateful applications on the server to utilize one or more hardware acceleration devices of the server, allocating a storage resource to the first stateful application based at least in part on determining a first priority of the first stateful application relative to at least a second priority of a second one of the two or more stateful applications; sending, to the client, an indication of the storage resource allocated to the first stateful application; allocating at least a given portion of a state buffer in a memory of the server to the storage resource allocated to the first stateful application, the given portion of the state buffer being configured to store state information of the first stateful application, the storage resource also being allocated to the second stateful application; in response to receiving a second request from the client comprising the indication and an instruction to complete one or more data processing operations of the first stateful application for processing data, identifying the allocated storage resource based at least in part on the indication and storing the data in the given portion of the state buffer; enabling the first stateful application to process the stored data on the server by configuring the one or more hardware acceleration devices of the server to utilize state information stored in the given portion of the state buffer for executing the one or more data processing operations of the first stateful application, the one or more data processing operations executed by the one or more hardware acceleration devices of the server generating additional state information for the first stateful application; and storing the generated additional state information for the first stateful application in the given portion of the state buffer; wherein allocating the storage resource to the first stateful application comprises: determining whether the state buffer in the memory of the server has sufficient available storage capacity for concurrent allocation of storage resources for the first stateful application and the second stateful application; and responsive to determining that the stateful buffer does not have sufficient available storage capacity for concurrent allocation of storage resources for the first stateful application and the second stateful application, suspending operation of one of the first stateful application and the second stateful application based at least in part on determining the first priority of the first stateful application relative to the second priority of the second stateful application; wherein the first request is received over a first interface between the client and the server; wherein the second request comprising data to be processed for the first stateful application is received over a second interface, the second interface comprising a remote direct memory access connection between the client and the allocated storage resource; wherein suspending operation of said one of the first stateful application and the second stateful application comprises removing state information of said one of the first stateful application and the second stateful application from the state buffer and storing the removed state information of said one of the first stateful application and the second stateful application in at least one storage device external to the memory of the server; wherein suspending operation of said one of the first stateful application and the second stateful application further comprises comparing the first priority of the first stateful application with the second priority of the second stateful application and, in response to the first priority being lower than the second priority, suspending the initializing of the first stateful application to wait for the storage resource. 2. The method according to claim 1 , further comprising: in response to receiving a request from the client for initializing a subsequent stateful application, determining whether the server has an available storage resource sufficient to satisfy the initializing of the subsequent stateful application; in response to the available storage resource being insufficient, comparing the first priority of the first stateful application with a third priority of the subsequent stateful application; and in response to the first priority being lower than the third priority, re-allocating at least a part of the storage resource from the first stateful application to the subsequent stateful application. 3. The method of claim 2 , wherein re-allocating at least a part of the storage resource from the first stateful application to the subsequent stateful application comprises duplicating data of the first stateful application into the at least one storage device external to the memory of the server and removing the data of the first stateful application from the part of the storage resource that is re-allocated to the subsequent stateful application. 4. The method of claim 1 , wherein the state information stored in the state buffer comprises data from one or more previous ones of the one or more data processing operations of the first stateful application that is to be utilized in one or more subsequent ones of the one or more data processing operations of the first stateful application. 5. The method of claim 4 , wherein the data from the one or more previous data processing operations of the first stateful application is stored as the state information in the state buffer without transmitting the state information to the client. 6. The method of claim 1 , wherein the first stateful application comprises a data compression application configured to compress a set of data in two or more steps, and the state information maintained in the state buffer comprises information from a preceding one of the two or more data compression steps that is to be utilized for a subsequent one of the two or more data compression steps. 7. The method of claim 1 , wherein the first stateful application comprises a web application that utilizes session and cookie information for two or more web application requests, and the state information maintained in the state buffer comprises session and cookie information for a preceding one of the two or more web application requests that is to be utilized for a subsequent one of the two or more web application requests. 8. The method of claim 1 , wherein the indication comprises at least one of an identifier of the allocated storage resource and address information for the allocated storage resource. 9. The method of claim 1 , wherein the second request comprises a remote direct memory access (RDMA) request submitted over a network through a RDMA network interface controller enabling the client to directly access the allocated storage resource. 10. An electronic device for managing two or more stateful applications on a server, comprising: a processor; and a memory having computer program instructions stored thereon, the processor executing the computer program instructions in the memory to control the electronic device to perform acts comprising: in response to receiving a first request from a client for initializing a first one of the two or more stateful applications on the server to utilize one or more hardware acceleration devices of the server, allocating a storage resource to the first stateful application based at least in part on determining a first priority of the first stateful application relative to at least a second priority of a second one of t
Prioritising resource allocation or reservation requests · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
taking into account QoS or priority requirements · CPC title
Storing data temporarily at an intermediate stage, e.g. caching · CPC title
Protocols · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.