Infrastructure driven auto-scaling of workloads
US-2024419470-A1 · Dec 19, 2024 · US
US10489211B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489211-B2 |
| Application number | US-201715696078-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 5, 2017 |
| Priority date | Oct 18, 2013 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
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.
Systems and methods of allocating execution loads to execution components are disclosed. The systems and methods select one of the execution components and one of the execution loads based on selection criteria. The systems and methods then determine whether the selected execution load may be allocated to the selected execution component. If the selected execution load may be allocated to the selected execution component, the systems and methods allocate the execution load accordingly. If the selected execution load may not be allocated to the selected execution component, the systems and methods select another one of the execution components and another one of the execution loads for attempted allocation.
Opening claim text (preview).
What is claimed is: 1. A method of generating allocations between a plurality of data packets corresponding with execution loads and a plurality of execution components, the method comprising: selecting a first data packet, wherein the first data packet corresponds with a first of the execution loads; selecting a first execution component; determining whether the selected first data packet is allocatable to the selected first executive component; in response to the selected first data packet being determined to be allocatable to the selected first execution component; allocating the selected first data packet to the selected first execution component as a first allocation, and via an electronic communications network, communicating the first allocation to the first execution component; and in response to the selected first data packet being determined to not be allocatable to the selected first execution component: selecting a second data packet, wherein the second data packet corresponds with a second of the execution loads, selecting a second execution component, wherein the second execution load is different from the first execution load, and wherein the second execution component is different from the first execution component, determining whether the selected second data packet is allocatable to the selected second execution component, and in response to the selected second data packet being determined to be allocatable to the selected second execution component: allocating the selected second data packet to the selected second execution component as a second allocation, and via the electronic communications network, communicating the second allocation to the second execution component, and in response to the selected second data packet being determined to be not allocatable to the selected second execution component: selecting a third data packet, wherein the third data packet corresponds with a third of the execution loads, and selecting a third execution load. 2. The method of claim 1 , wherein each execution component has an execution component availability, and selecting the first execution component comprises comparing the execution component availability of the execution components and selecting the execution component having the greatest availability. 3. The method of claim 1 , wherein each data packet has a location associated therewith, and selecting the first data packet comprises comparing distances between the locations of a plurality of unallocated data packets and a location of the execution component most recently allocated, and selecting the unallocated data packet having a location closest to the location of the execution component most recently allocated. 4. The method of claim 1 , further comprising generating a list of eligible execution components for each data packet, wherein determining whether the selected first data packet is allocatable to the selected first execution components comprises determining whether the selected first execution component is included in the list of eligible execution components for the selected first data packet. 5. The method of claim 4 , wherein determining whether the selected first data packet is allocatable to the selected first execution component further comprises determining whether an availability of the first execution component accommodates the execution load of the first data packet. 6. The method of claim 5 , wherein the availability of the first execution component is represented in a schedule having an event comprising: a duration, an earliest start time, and a latest end time. 7. The method of claim 1 , further comprising: determining a capability requirement attribute for the first data packet; and determining a capability attribute for the first execution component, wherein determining whether the selected first data packet is allocatable to the selected first execution component comprises determining whether the capability attribute of the first execution component corresponds with the capability requirement attribute of the first data packet. 8. A computer system, comprising: a processor; and a memory, comprising instructions, which when executed by the process cause the computer system to perform a method of generating allocations between a plurality of data packets corresponding with execution loads and a plurality of execution components, the method comprising: selecting a first data packet, wherein the first data packet corresponds with a first of the execution loads; selecting a first execution component; determining whether the selected first data packet is allocatable to the selected first execution component; in response to the selected first data packet being determined to be allocatable to the selected first execution component: allocating the selected first data packet to the selected first execution component as a first allocation, and via an electronic communications network, communicating the first allocation to the first execution component; and in response to the selected first data packet being determined to not be allocatable to the selected first execution component: selecting a second data packet, wherein the second data packet corresponds with second of the execution loads, selecting a second execution component, wherein the second execution load is different from the first execution load, and wherein the second execution component is different from the first execution component, determining whether the selected second data packet is allocatable to the selected second execution component, and in response to the selected second data packet being determined to be allocatable to the selected second execution component: allocating the selected second data packet to the selected second execution component as a second allocation, and via the electronic communications network, communicating the second allocation to the execution component, and in response to the selected second data packet being determined to be not allocatable to the selected second execution component: selecting a third data packet, wherein the third data packet corresponds with a third of the execution loads, and selecting a third execution load. 9. The computer system of claim 8 , wherein each execution component has an execution component availability, and selecting the first execution component comprises comparing the execution component availability of the execution components and selecting the execution component having the greatest availability. 10. The computer system of claim 8 , wherein each data packet has a location associated therewith, and selecting the first data packet comprises comparing distances between the locations of a plurality of unallocated data packets and a location of the execution component most recently allocated, and selecting the unallocated data packet having a location closest to the location of the execution component most recently allocated. 11. The computer system of claim 8 , the method further comprising generating a list of eligible execution components for each data packet, wherein determining whether the selected first data packet is allocatable to the selected first execution component comprises determining whether the selected first execution component is included in the list of eligible execution components for the selected first data packet. 12. The computer system of claim 11 , wherein determining whether the selected first data packet is allocatable to the selected first execution component further comprises determining whether an availability of the first execution component accommodates the execution l
Parsing or analysis of headers · CPC title
considering the load · CPC title
Techniques for rebalancing the load in a distributed system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.