Efficient replication of system transactions for read-only nodes of a distributed database
US-9280591-B1 · Mar 8, 2016 · US
US10846137B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10846137-B2 |
| Application number | US-201815870466-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 12, 2018 |
| Priority date | Jan 12, 2018 |
| Publication date | Nov 24, 2020 |
| Grant date | Nov 24, 2020 |
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.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.