Patent ID: 11860737
Assignee: VMWARE LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A data processing system comprising:
at least one processor;
at least one application comprising computer-executable code executable on the at least one processor;
a plurality of physical coprocessors including a first physical coprocessor; and
an interception layer installed in a non-privileged, user space and logically located between the at least one application and the plurality of physical coprocessors, said interception layer including a plurality of replay logs associated respectively with the plurality of physical coprocessors, and said interception layer being provided:
for intercepting a data and command stream issued by the at least one application to an application program interface (API) of the first physical coprocessor for execution of the intercepted data and command stream on the first physical coprocessor, and for acquiring and storing execution state information for the first physical coprocessor;
for storing at least a portion of the intercepted data and command stream in a replay log associated with the first physical coprocessor;
for detecting a redirection condition, which is one of: (1) the first physical coprocessor failing or otherwise being unavailable to service the stored portion of the intercepted data and command stream, (2) a new physical coprocessor being made available to the interception layer during runtime of the at least one application, (3) computational loads among the plurality of physical coprocessors being determined to be unbalanced, (4) the ability to divide the intercepted data and command stream into a plurality of parts to be executed simultaneously, and (5) the ability to decrease power consumption of the plurality of physical coprocessors or to increase processing speed of the stored portion of the intercepted data and command stream by redirecting execution of the stored portion of the intercepted data and command stream; and
in response to detecting the redirection condition: for selecting one of the plurality of physical coprocessors other than the first physical coprocessor as a second physical coprocessor, and then for reading out from the replay log associated with the first physical coprocessor the stored portion of the intercepted data and command stream and submitting the stored portion of the intercepted data and command stream, as well as the stored execution state information, to the second physical coprocessor for the second physical coprocessor to service the stored portion of the intercepted data and command stream instead of the first physical coprocessor.