Memory disaggregation in a multi-node environment
US-2024020174-A1 · Jan 18, 2024 · US
US9836330B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9836330-B2 |
| Application number | US-201313943378-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 16, 2013 |
| Priority date | Jul 16, 2013 |
| Publication date | Dec 5, 2017 |
| Grant date | Dec 5, 2017 |
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 system and method for allocating software resources. Multiple tasks are received from a network in which each task requires at least one software resource. Each task is analyzed to determine the type of resource(s) required to execute each such task. The availability of the software resource(s) is determined and, if available, allocated to the requesting task. If the software resource(s) is not available, the task is stored in a queue until the software resource(s) becomes available.
Opening claim text (preview).
The invention claimed is: 1. A method for allocating software resources, the method comprising: receiving, by a server system including one or more processors, from a computer network accessible by a plurality of different users, a task representing a simulation of a physical system, the task including a plurality of processes, each respective process requiring a respective type of software package of a plurality of software packages for executing the respective process of the plurality of processes, wherein the server system is configured with a plurality of virtual servers for executing the plurality of processes of the task, analyzing the received task to determine which of the plurality of software packages are required to perform each of the respective processes of the task on one or more of the virtual servers, sending a request to a software resource server that accesses a software allocation data structure for determining an availability of respective ones of the software packages; and based on determining that a first process and a second process of the plurality of software processes require a same type of a first software package, and further based on determining, from the software resource server, that only one instance of the first software package is available, consolidating the first process and the second process as a consolidated process; allocating the respective processes and the respective software packages, including the consolidated process and the first software package, to one or more of the virtual servers that execute the plurality of processes to execute the task and perform the simulation of the physical system, wherein the software resource server is configured to access the software allocation data structure to determine availability of respective ones of the software packages, the software allocation data structure containing data representative of a number and identity of the software packages available to the server system; and updating the software allocation data structure upon completion of each process of the task to indicate that the respective software package is available. 2. The method as defined in claim 1 wherein the received task is stored in a raw queue prior to analyzing the received task. 3. The method as defined in claim 1 , further comprising, if one or more required software packages are temporarily unavailable, storing the task in an on-hold queue for a period of time and thereafter determining whether the one or more temporarily unavailable software packages have become available. 4. A system for allocating software resources, the system comprising: one or more processors; and a memory storing instructions which, when executed by the one or more processors of the system, configure the one or more processors to: receive, from a computer network accessible by a plurality of computers, a task representing a simulation of a physical system, the task including a plurality of processes, each respective process requiring a respective type of software package of a plurality of software packages for executing the respective process of the plurality of processes, wherein the system is configured with a plurality of virtual servers for executing the plurality of processes of the task, analyze the received task to determine the types of the software packages required to execute each of the respective processes; determine an availability of respective ones of the software packages based on data in a software allocation data structure; based on determining that a first process and a second process of the plurality of software processes require a same first software package, and further based on determining, from the software allocation data structure, that only one instance of the first software package is available, consolidate the first process and the second process as a consolidated process; and allocate the respective processes and the respective software packages, including the consolidated process and the first software package, to one or more of the virtual servers that execute the plurality of processes for executing the task and performing the simulation of the physical system, wherein the one or more processors are configured to access the software allocation data structure to determine availability of respective ones of the software packages, the software allocation data structure containing data representative of a number and the type of the software packages available to the server system; and update the software allocation data structure upon completion of each process of the task to indicate that the respective software package is available. 5. The system as defined in claim 4 wherein the one or more processors are further configured to store the received task in a raw queue prior to analyzing the received task. 6. The system as defined in claim 4 wherein if one or more required software packages are temporarily unavailable, the one or more processors are configured to store the task in an on-hold queue for a period of time and thereafter determine whether the one or more temporarily unavailable software packages have become available.
considering software capabilities, i.e. software resources associated or available to the machine · CPC title
Resource capping · CPC title
Resource availability · CPC title
Cross-Sectional Technologies · mapped topic
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.