Method, apparatus, device, computer readable storage medium and product for pattern rendering
US-2024126568-A1 · Apr 18, 2024 · US
US12474901B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12474901-B2 |
| Application number | US-202016775297-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 29, 2020 |
| Priority date | Mar 15, 2013 |
| Publication date | Nov 18, 2025 |
| Grant date | Nov 18, 2025 |
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.
Techniques for transitioning between code-based and data-based execution forms (or models) are disclosed. The techniques can be used to improve the performance of computing systems by allowing the execution to transition from one of the execution models to another one of the execution models that may be more suitable for carrying out the execution or effective processing of information in a computing system or environment. The techniques also allow switching back to the previous execution model when that previous model is more suitable than the execution model currently being used. In other words, the techniques allow transitioning (or switching) back and forth between a data-based and code-based execution (or information processing) models.
Opening claim text (preview).
What is claimed is: 1 . A computer-implemented method of executing computer executable code, wherein the computer-implemented method is implemented at least partly by a computing system that includes: (i) a code-based execution processor configured to execute the computer executable code in a code-based form, and (ii) a data-based execution processor configured to execute the computer executable code in a data-based form, and wherein the computer-implemented method comprises: executing, by the code-based execution processor of the computing system, the computer executable code; determining, by the computing system, whether to switch the execution of the executable computer code from, the code-based execution form executed by the code-based execution processor, to a data-based execution form executed by the data-based execution processor; determining, by the computing system, at least one location of data arranged in the data-based form configured to be executed by the data-based execution processor when the determining determines to switch the execution of the executable code from the code-based execution form; providing, by the computing system, the least one location of data arranged in the data-based form, to the code-based execution processor configured to execute the computer executable code, in the code-based execution form, during the execution of the computer executable code by the code-based execution processor; and executing the computer executable code by the code-based execution processor of the computing system, wherein the executing of the computer executable code, the code-based execution processor uses the least one provided location of the data, arranged in the data-based execution form configured to be executed by the data-based execution processor, to obtain the data arranged in the data-based form. 2 . The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises: executing the computer executable code in a first form of execution that is either a code-based execution form or a data-based execution form; and thereafter, switching from the first form of the execution to a second form of the execution that is a different from the first form of the execution. 3 . The computer-implemented method of claim 2 , wherein the computer-implemented method further comprises: determining whether to switch from the first form of the execution to the second form of the execution; and switching from the first form of the execution to the second form of the execution when the determining determines to switch from the first form of the execution to the second form of the execution. 4 . The computer-implemented method of claim 2 , wherein the switching from the first form of execution to the second form of execution further comprises: synchronizing one or more data portions arranged in one or more data-based forms, with the data arranged for execution by the code-based execution processor, so that the one or more data portions and the data in the code-based form is executed by the code-based execution processor. 5 . The computer-implemented method of claim 4 , wherein the synchronizing of the one or more data portions further comprises: effectively stopping the processing of the one or more data portions arranged for processing by the data-based execution processor, so that the one or more data portions are processed by the code-based execution processor. 6 . The computer-implemented method of claim 4 , wherein the determining of whether to switch the execution of the executable code from the code-based execution form to the data-based execution form by the data-based execution processor further comprises: determining whether execution of the computer executable code is more suitable for execution by the data-based execution processor using the data-based execution form, or more suitable for execution by using the code-based form. 7 . The computer-implemented method of claim 2 , wherein the switching from the first form of execution to the second form of execution further comprises: switching from the data-based form of execution to the code-based form of execution, and then back to the data-based form of execution during the execution of executable code. 8 . The computer-implemented method of claim 1 , wherein the providing of the at least one location of data comprises: providing, a direct location of the data arranged in one or more data-based forms, to the code-based execution processor for processing in the code-based form. 9 . The computer-implemented method of claim 1 , wherein the providing of the at least one location of data comprises: providing random access to the data arranged for processing in one or more data-based forms, to the code-based execution processor for processing in the code-based form. 10 . The computer-implemented method of claim 1 , wherein the providing of the at least one location of data comprises: providing sequential access to the data arranged for processing in one or more data-based forms, to the code-based execution processor for processing in the code-based form. 11 . The computer-implemented method of claim 1 , wherein the providing of the at least one location of data comprises: identifying one or more patterns of data in the data arranged for processing in the data-based form; and providing data in the one or more patterns of the data, arranged for processing in the data-based form, to the code-based execution processor for processing in the code-based form. 12 . The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises: construction of output dataflow or modification of existing dataflow. 13 . A device that includes: memory that stores computer executable code; one or more processors configured to access the memory and execute the computer executable code stored in a data-based execution form and the computer executable code stored in a code-based execution form; and wherein the one or more processors are further configured to use the code-based execution form and the data-based execution form to execute the computer executable code, by at least providing one or more locations of data arranged in one or more data-based execution forms, to the one or more processors for processing in the code-based execution form, during the execution of the executable code. 14 . The device of claim 13 , wherein the one or more processors are configured to use one or more instructions from an Instruction Set Architecture (ISA) reference. 15 . The device of claim 14 , wherein the providing of the one or more locations of data comprises: providing random access to the data arranged for processing in one or more data-based forms, to the one or more processors for processing in the code-based form. 16 . The device of claim 14 , wherein the providing of the one or more locations of data comprises: providing sequential access to the data arranged for processing in the one or more data-based forms, to the one or more processors for processing in the code-based form. 17 . The device of claim 14 , wherein the providing of the one or more locations of data comprises: identifying one or more patterns of data in the data arranged for processing in the data-based form; and providing the data in the one or more patterns of data to the one or more processors for processing in the code-based form. 18 . The device of claim 13 , wherein the one or more processors are further configured to switch the execu
Related publications grouped by family.
Answers are generated from the same data shown on this page.