Method and device for managing stateful application on server

US11201836B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11201836-B2
Application numberUS-201816021236-A
CountryUS
Kind codeB2
Filing dateJun 28, 2018
Priority dateJun 30, 2017
Publication dateDec 14, 2021
Grant dateDec 14, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • H04L47/821Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11201836B2 cover?
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 processin…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification H04L47/821. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 14 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).