Systems and methods for wireless service migration
US-2019387065-A1 · Dec 19, 2019 · US
US11050846B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11050846-B2 |
| Application number | US-201916264492-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 31, 2019 |
| Priority date | Dec 16, 2015 |
| Publication date | Jun 29, 2021 |
| Grant date | Jun 29, 2021 |
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.
Methods, systems, and computer-readable media for program code allocation based on processor features are disclosed. Analysis of program code is performed using static analysis and/or runtime analysis. The analysis determines one or more processor features invoked by the program code. One or more program execution servers are selected from a plurality of program execution servers based at least in part on the one or more processor features invoked by the program code. One or more selected program execution servers comprise the one or more processor features invoked by the program code, and an additional one or more of the program execution servers lack the one or more processor features invoked by the program code. The program code is executed using the one or more selected program execution servers.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a plurality of servers; and one or more computing devices configured to implement a program execution service, wherein the program execution service is configured to: determine whether one or more processor features were invoked by a previous execution of program code on one or more servers of the plurality of servers; select one or more other servers from the plurality of servers based at least on a determination that the one or more processor features were not invoked by the previous execution of the program code on the one or more servers of the plurality of servers; and migrate the program code from the one or more servers to the one or more other servers based on the selection. 2. The system as recited in claim 1 , wherein to determine that the one or more processor features were not invoked by program code, the program execution service is configured to: determine that the one or more processor features were not invoked by the previous execution of the program code by one or more processors of the one or more servers of the plurality of servers. 3. The system as recited in claim 2 , wherein the one or more other servers lack the one or more processor features that were not invoked by the program code. 4. The system as recited in claim 2 , wherein to determine whether the one or more processor features were invoked by program code, the program execution service is configured to determine that the one or more processor features were not invoked by the program code during a threshold number of a plurality of executions of the program code. 5. The system as recited in claim 1 , wherein the program execution service is configured to cause execution of the program code on the one or more other servers. 6. The system as recited in claim 1 , wherein the one or more processor features invoked by the program code comprise a feature of an accelerator external to a central processing unit. 7. The system as recited in claim 1 , wherein the one or more processor features invoked by the program code comprise a feature of a graphics processing unit or a central processing unit. 8. A computer-implemented method, comprising: performing, by one or more computing devices that collectively implement a program execution service: determining whether one or more processor features were invoked by a previous execution of program code on one or more servers of a plurality of servers; selecting one or more other servers from the plurality of servers based at least on a determination that the one or more processor features were not invoked by the previous execution of the program code on the one or more servers of the plurality of servers; and migrating the program code from the one or more servers to the one or more other servers based on the selection. 9. The method as recited in claim 8 , wherein the determining comprises determining that the one or more processor features were not invoked by the previous execution of the program code by one or more processors of the one or more servers of the plurality of servers. 10. The method as recited in claim 9 , wherein the one or more other servers lack the one or more processor features that were not invoked by the program code. 11. The method as recited in claim 9 , wherein the determining further comprises determining that opcodes associated with the one or more processor features were not invoked by the program code. 12. The method as recited in claim 9 , wherein the determining further comprises determining that the one or more processor features were not invoked by the program code during a threshold number of a plurality of executions of the program code. 13. The method as recited in claim 8 , wherein the one or more processor features comprise a feature of an accelerator external to a central processing unit. 14. The method as recited in claim 8 , wherein the one or more processor features comprise a particular processor feature of a central processing unit (CPU) and an additional processor feature of a co-processor. 15. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to: determine whether one or more processor features were invoked by a previous execution of program code on one or more servers of a plurality of servers; select one or more other servers from the plurality of servers based at least on a determination that the one or more processor features were not invoked by the previous execution of the program code on the one or more servers of the plurality of servers; and migrate the program code from the one or more servers to the one or more other servers based on the selection. 16. The one or more storage media as recited in claim 15 , wherein to determine that the one or more processor features were not invoked by program code, the program instructions when executed on or across the one or more processors cause the one or more processors to: determine that the one or more processor features were not invoked by the previous execution of the program code by one or more processors of the one or more servers of the plurality of servers. 17. The one or more storage media as recited in claim 16 , wherein the one or more other servers lack the one or more processor features that were not invoked by the program code. 18. The one or more storage media as recited in claim 16 , wherein to determine that the one or more processor features were not invoked by the program code, the program instructions when executed on or across the one or more processors cause the one or more processors to: determine that opcodes associated with the one or more processor features were not invoked by the program code. 19. The one or more storage media as recited in claim 16 , wherein to determine that the one or more processor features were not invoked by the program code, the program instructions when executed on or across the one or more processors cause the one or more processors to: determine that the one or more processor features were not invoked by the program code during a threshold number of a plurality of executions of the program code. 20. The one or more storage media as recited in claim 15 , further comprising program instructions that when executed on or across the one or more processors cause the one or more processors to cause execution of the program code on the one or more servers.
Protocols · CPC title
resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence) · CPC title
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
Software deployment · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.