Memory disaggregation in a multi-node environment
US-2024020174-A1 · Jan 18, 2024 · US
US8997078B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-8997078-B2 |
| Application number | US-201213428125-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 23, 2012 |
| Priority date | Apr 12, 2011 |
| Publication date | Mar 31, 2015 |
| Grant date | Mar 31, 2015 |
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 deployment system provides the ability to deploy a multi-node distributed application, such as a cloud computing platform application that has a plurality of interconnected nodes performing specialized jobs. The deployment system may update a currently running cloud computing platform application according to a deployment manifest and a versioned release bundle that includes jobs and application packages. The deployment system determines changes to the currently running cloud computing platform application and distributes changes to each job to deployment agents executing on VMs. The deployment agents apply the updated jobs to their respective VMs (e.g., launching applications), thereby deploying an updated version of cloud computing platform application.
Opening claim text (preview).
We claim: 1. A computer processor-implemented method for updating an application having a plurality of functional components that are executed on a plurality of different virtual machines (VMs), the method comprising: receiving, by a deployment module, a specification for the application to be updated, wherein the specification identifies a set of software components representing an updated version of the application and containing machine architecture independent code which implements each of the functional components of the application; identifying at least one functional component that is to be updated by comparing the set of software components for the updated version of the application and a set of software components that have been deployed for a currently-deployed application; and directing an agent in each of the VMs that is executing as an instance of the identified functional component to install one or more software components in the VM, thereby causing the VM to execute as an updated instance of the functional component of the application; wherein the machine architecture independent code which implements each of the functional components of the application comprises a script configured to, when executed by an agent in one of the VMs executing as an instance of the functional component, cease acceptance of new work for the instance of the functional component and suspend operation of the instance of the functional component upon completion of any existing work. 2. The method of claim 1 , wherein the directing the agent in each of the VMs further comprises: directing each agent in a number of VMs executing as an instance of the identified functional component to install the one or more software components in the VM, wherein the number of VMs at a given time does not exceed a value provided by the specification for the application to be updated that specifies maximum number of instances of any one of the functional components that may be updated at a same time. 3. The method of claim 1 , wherein the directing the agent in each of the VMs further comprises: directing each agent in each of the VMs executing as an instance of the identified functional component to install the one or more software components in the VM; initiating, for each of the agents, a timer having a time interval, specified by the specification for the application to be updated, that indicates a time duration permissible for completing an update of the identified functional component; and responsive to expiry of the timer, determining whether each agent in each of the VMs has completed update of the identified functional component. 4. The method of claim 1 , wherein the directing the agent in each of the VMs further comprises: directing each agent in a subset of the VMs executing as an instance of the identified functional component to install the one or more software components in the VM, wherein the subset of VMs are specified by the specification for the application to be updated; and responsive to determining that each agent in the subset of VMs has successfully completed an update to the identified functional component, directing each agent in a remainder of the VMs executing as an instance of the identified functional component to install the one or more software components in the VM. 5. The method of claim 4 , wherein the directing the agent in each of the VMs further comprises: initiating, for each of the agents in the subset of VMs, a timer having a time interval, specified by the specification for the application to be updated, that indicates a time duration permissible for completing, at the subset of VMs, the update of the identified functional component. 6. The method of claim 1 , wherein the specification for the application specifies (i) a number of instances of each functional component of the application that is to be deployed, and (ii) hardware properties that would be required by any node executing any one of the functional components. 7. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, update an application having a plurality of functional components that are executed on a plurality of different virtual machines (VMs), by performing the steps of: receiving, by a deployment module, a specification for the application to be updated, wherein the specification identifies a set of software components representing an updated version of the application and containing machine architecture independent code which implements each of the functional components of the application; identifying at least one functional component that is to be updated by comparing the set of software components for the updated version of the application and a set of software components that have been deployed for a currently-deployed application; and directing an agent in each of the VMs that is executing as an instance of the identified functional component to install one or more software components in the VM, thereby causing the VM to execute as an updated instance of the functional component of the application; wherein the machine architecture independent code which implements each of the functional components of the application comprises a script configured to, when executed by an agent in one of the VMs executing as an instance of the functional component, cease acceptance of new work for the instance of the functional component and suspend operation of the instance of the functional component upon completion of any existing work. 8. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions for directing the agent in each of the VMs further comprising instructions for: directing each agent in a number of VMs executing as an instance of the identified functional component to install the one or more software components in the VM, wherein the number of VMs at a given time does not exceed a value provided by the specification for the application to be updated that specifies maximum number of instances of any one of the functional components that may be updated at a same time. 9. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions for directing the agent in each of the VMs further comprising instructions for: directing each agent in each of the VMs executing as an instance of the identified functional component to install the one or more software components in the VM; initiating, for each of the agents, a timer having a time interval, specified by the specification for the application to be updated, that indicates a time duration permissible for completing an update of the identified functional component; and responsive to expiry of the timer, determining whether each agent in each of the VMs has completed update of the identified functional component. 10. The non-transitory computer-readable storage medium of claim 7 , wherein the instructions for directing the agent in each of the VMs further comprising instructions for: directing each agent in a subset of the VMs executing as an instance of the identified functional component to install the one or more software components in the VM, wherein the subset of VMs are specified by the specification for the application to be updated; and responsive to determining that each agent in the subset of VMs has successfully completed an update to the identified functional component, directing each agent in a remainder of the VMs executing as an instance of the identified functional component to install the one or more software components in the VM. 11. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions f
considering software capabilities, i.e. software resources associated or available to the machine · CPC title
Admission control; Resource allocation · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.