Operating processors over a network
Abstract
A client processor can save an execution state of a process that runs on two or more secondary processors in a single file. The single file can be transferred from the client processor over a network to a host processor. The single file is configured to permit the host processor to resume processing of the suspended process. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for operating a client processor and a host processor over a network, wherein the client processor has a client main memory, a client main processor and two or more client secondary processors and the host processor has a host main processor, a host main memory and two or more host secondary processors, wherein each client secondary processor and each host secondary processor has an exclusively associated memory, the method comprising:
running a process on a client processor wherein the process runs on two or more client secondary processors; suspending the process that runs on the two or more client secondary processors; saving an execution state of the process that runs on the two or more client secondary processors by either a) saving an execution state of two or more client secondary processors running the process on the client processor into a single file in the main memory, wherein the execution state includes contents of the exclusively associated memories for the two or more client secondary processors, and a hardware state of the two or more client secondary processors that were miming the process, wherein the contents of the exclusively associated memories for the two or more client secondary processors includes executable code for miming the process, or b) saving an execution state of one or more of the client secondary processors that were running the process that runs on the two or more client secondary processors and shared initialized data for the process that runs on the two or more client secondary processors into a single file in the main memory, wherein the execution state includes contents of the exclusively associated memory for at least one of the client secondary processors and shared initialized data of the suspended process and a hardware state of the at least one of the client secondary processors that were running the suspended process, wherein the contents of the exclusively associated memory of the at least one of the client secondary processors includes executable code for running the process; and transferring the single file from the client processor over a network to the host processor;
wherein the single file containing the saved execution state of the process is configured to permit the host processor to resume processing of the suspended process.
2 . The method of claim 1 , further comprising allocating space in a main memory of a host processor (host main memory) for the contents of the exclusively associated memory of the one secondary processor and initialized data.
3 . The method of claim 1 further comprising, allocating an area in a main memory of a host processor (host main memory) for uninitialized data and a message box.
4 . The method of claim 1 , further comprising loading the file onto the host processor.
5 . The method of claim 1 wherein saving the state includes stopping a core of the secondary processor miming the process.
6 . The method of claim 1 wherein saving the state further includes sending a save code to the secondary processor and running the code on the secondary processor.
7 . The method of claim 1 , further comprising resuming the process on a secondary processor of the host processor.
8 . The method of claim 1 , further comprising transferring a file header from the client processor to the host processor.
9 . A non-transitory processor readable medium having embodied therein executable code and data representing a saved execution state of a processor system having a main processing unit, two or more secondary processors, and a main memory coupled to the main and secondary processors, wherein each secondary processor has an exclusively associated memory, the saved execution state comprising:
a single file containing either a) contents of the exclusively associated memory for one of the two or more secondary processors and shared initialized data related to a suspended process execution state, wherein the contents of the exclusively associated memory and shared initialized data include executable code configured to run the suspended process on the processor system or b) contents of exclusively associated memories of two or more secondary processors related to the execution state of a suspended process including executable code for processing data with the two or more secondary processors and data to be processed by executing the code with the two or more of the secondary processors, wherein the contents of the two or more of the exclusively associated memories include executable code configured to run the suspended process on the processor system;
wherein the single file containing the saved execution state of the process is configured to permit a different processor system to resume processing of the suspended process.
10 . The processor readable medium of claim 9 wherein the file further comprises a file header.
11 . The processor readable medium of claim 10 wherein the file header includes one or more of the following types of information: memory availability, secondary processor availability, network latency, network bandwidth, system frequency, control flow information, memory offsets, breakpoints of contents of one or more exclusively associated local memories for secondary processors, size of contents of one or more exclusively associated local memories for secondary processors, memory layout, memory mapping information, host resources, connection requirements, and other criteria describing the environment in which the file should run.
12 . The processor readable medium of claim 10 wherein the file header defines information in connection with a user, id, system, function, data type, channel, flag, key, password, protocol, target or profile or any metric in which system or operation may be established wherein such may relate to or be directed from the file.
13 . The processor readable medium of claim 10 wherein the file header defines information related to configuration, initialization, modification or synchronization of operations involving any program or system or module or object that satisfies an overall goal of the application in which the file operates.
14 . The processor readable medium of claim 11 wherein the control flow information includes information regarding whether a host or client processor can interrupt the process.
15 . A processor system having a main processing unit, two or more secondary processors and a main memory coupled to the main and secondary processors, wherein each secondary processor has an exclusively associated memory, the processor having embodied in the main memory or exclusively associated memory data representing a saved process execution state of a suspended process, the saved process execution state comprising:
a single file containing either a) contents of an exclusively associated memory of a secondary processor and shared initialized data related to a suspended process execution state of a different processor system, wherein the contents of the exclusively associated memory includes executable code for running the suspended process on the processor system, or b) contents of exclusively associated memories of two or more secondary processors related to the saved process execution state, wherein the contents of the two or more secondary processors includes executable code for running the suspended process on the processor system;
wherein the single file containing the saved execution state of the process is configured to permit a different processor system to resume processing of the suspended process.
16 . The processor system of claim 15 wherein the file further comprises a file header.
17 . The processor system of claim 16 wherein the file header includes one or more of the following types of information: memory availability, secondary processor availability, network latency, network bandwidth, system frequency, control flow information, memory offsets, breakpoints of contents of one or more exclusively associated local memories for secondary processors, size of contents of one or more exclusively associated local memories for secondary processors, memory layout, memory mapping information, host resources, connection requirements, and other criteria describing the environment in which the file should run.
18 . The processor system of claim 16 wherein the file header defines information in connection with a user, id, system, function, data type, channel, flag, key, password, protocol, target or profile or any metric in which system or operation may be established wherein such may relate to or be directed from the file.
19 . The processor system of claim 16 wherein the file header defines information related to configuration, initialization, modification or synchronization of operations involving any program or system or module or object that satisfies an overall goal of the application in which the file operates.
20 . The processor system of claim 17 wherein the control flow information includes information regarding whether a host or client processor system can interrupt the process.Join the waitlist — get patent alerts
Track US2013318333A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.