Dynamic adjustment of application resources in a distributed computing system

US10846137B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10846137-B2
Application numberUS-201815870466-A
CountryUS
Kind codeB2
Filing dateJan 12, 2018
Priority dateJan 12, 2018
Publication dateNov 24, 2020
Grant dateNov 24, 2020

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.

A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. Once pending write requests from the computing nodes are completed, storage nodes create a new snapshot for the storage volume by allocating a new segment to the new snapshot and finalizes and performs garbage collection with respect to segments allocated to the previous snapshot. Subsequent write requests to the storage volume are then performed on the segments allocated to the new snapshot. An orchestration layer implements a bundled application that is provisioned with virtualized storage and computation resources. A snapshot of the application may be created and used to rollback or clone the application. The amount of processing cores, memory, and containers of the bundled application may be increased or decreased based on usage. Components of the bundled application may be assigned to nodes to satisfy affinity and anti-affinity rules.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: monitoring, by a first computing device, loading of a subject application instance of a bundled application executing in a first container on the first computing device, the bundled application including a plurality of application instances executing on a plurality of computing devices, the subject application instance executing on a subject computing device that is one of the first computing device and a second computing device of the plurality of computing devices; (a) determining, by the first computing device, that loading of the subject application instance exceeds a first threshold condition; in response to (a), increasing, by the first computing device, an allocation of processing cores to the first container; receiving, by a kernel executing on the subject computing device, a system call to retrieve a number of processors of the subject computing device; intercepting, by the kernel, the system call; and returning, by the kernel, in response to the system call, the allocation of processing cores to the first container. 2. The method of claim 1 , further comprising: in response to (a), increasing an allocation of memory to the first container. 3. The method of claim 1 , further comprising: (b) determining, by the first computing device, that loading of the subject application instance is below a second threshold condition; and in response to (b), decreasing the allocation of processing cores to the first container. 4. The method of claim 1 , further comprising: mounting, by the first computing device, a virtual file system to the first container; and storing, by the subject computing device, a virtual system resource file in the virtual file system; wherein increasing the allocation of processing cores to the first container comprises changing a number of processors stored in the virtual system resource file. 5. The method of claim 1 , wherein increasing, by the first computing device, the allocation of processing cores to the first container comprises: (b) determining, by the first computing device, that the subject computing device does not have available processing cores to permit increasing of the allocation; and in response to (b), transferring the first container from the subject computing device to a third computing device. 6. The method of claim 5 , wherein transferring the first container from the subject computing device to the third computing device comprises: stopping the first container; creating a new container on the third computing device; and transferring a state of the first container to the new container. 7. The method of claim 6 , wherein transferring the first container from the subject computing device to the third computing device comprises: executing a pre-transfer hook with respect to the subject application instance prior to stopping the first container, the pre-transfer hook being a first script; and executing a post-transfer hook with respect to the subject application instance after transferring the state of the first container to the new container, the post-transfer hook being a second script. 8. The method of claim 1 , further comprising: (b) determining, by the first computing device, that loading of the subject application instance exceeds a second threshold condition; and in response to (b): creating a new container on a third computing device; and loading a copy of the subject application instance into the new container. 9. The method of claim 1 , further comprising: (b) determining, by the first computing device, that loading of the subject application instance is below a second threshold condition; and in response to (b), shutting down the first container. 10. A system comprising: a first computing device programmed to: monitor loading of a subject application instance of a bundled application executing in a first container on the first computing device, the bundled application including a plurality of application instances executing on a plurality of computing devices, the subject application instance executing one a subject computing device that is one of the first computing device and a second computing device of the plurality of computing devices; when (a) loading of the subject application instance exceeds a first threshold condition, increase, by the first computing device, an allocation of processing cores to the first container; mount a virtual file system to the first container; store a virtual system resource file in the virtual file system; and increase the allocation of processing cores to the first container by changing a number of processors stored in the virtual system resource file. 11. The system of claim 10 , wherein the first computing device is further programmed to: in response to (a), increase an allocation of memory to the first container. 12. The system of claim 10 , wherein the first computing device is further programmed to: when loading of the subject application instance is below a second threshold condition, decrease the allocation of processing cores to the first container. 13. The system of claim 10 , further comprising the subject computing device, the subject computing device being further programmed to: receive, by a kernel executing on the subject computing device, a system call to retrieve a number of processors of the subject computing device; intercept, by the kernel, the system call; and return, by the kernel, in response to the system call, the allocation of processing cores to the first container. 14. The system of claim 10 , wherein the first computing device is further programmed to increase the allocation of processing cores to the first container by: (b) determining, by the first computing device, that the subject computing device does not have available processing cores to permit increasing of the allocation; and in response to (b), transferring the first container from the subject computing device to a third computing device. 15. The system of claim 14 , wherein the first computing device is further programmed to transfer the first container from the subject computing device to the third computing device by: stopping the first container; creating a new container on the third computing device; and transferring a state of the first container to the new container. 16. The system of claim 15 , wherein the first computing device is further programmed to transfer the first container from the subject computing device to the third computing device by: executing a pre-transfer hook with respect to the subject application instance prior to stopping the first container, the pre-transfer hook being a first script; and executing a post-transfer hook with respect to the subject application instance after transferring the state of the first container to the new container, the post-transfer hook being a second script. 17. The system of claim 10 , wherein the first computing device is further programmed to: (b) determine that loading of the subject application instance exceeds a second threshold condition; and in response to (b): create a new container on a third computing device; and load a copy of the subject application instance into the new container. 18. The system of claim 10 , wherein the first computing device is further programmed to: (b) determine that loading of the subject application instance is below a second threshold condition; and in response to (b), shut down the first container.

Assignees

Inventors

Classifications

  • Restarting or rejuvenating · CPC title

  • using middleware or operating system [OS] functionalities · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • for planning or managing the needed capacity · CPC title

  • Redundant storage or storage space (G06F11/2056 takes precedence) · 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 US10846137B2 cover?
A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. Once pending write requests from the computing nodes are completed, storage nodes create a new snapshot for the storage volume by allocating a new segment to the new snapshot and finalizes and performs garbage collection with respect to segments allocated to the previous snapshot. Subsequent…
Who is the assignee on this patent?
Robin Sys Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5016. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 24 2020 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).