Asynchronous client to client task management
A system generates a task object and a task updater object upon receipt of a request from an out-of-band client to execute a task on a processing unit via an in-band client, receives a status update from the in-band client upon execution of the task on the processing unit, and maps the task updater object to the task object associated with the task. The system may also update a state of the task object based on the status update of the task updater object, and transmit the state of the task object to the out-of-band client.
1 . A method comprising:
generating, by a baseboard management controller, a task object and a task updater object upon receipt of a request from an out-of-band client to execute a task on a processing unit via an in-band client;
linking the task updater object to the task object associated with the task associated with the request from the out-of-band client;
subsequent to initiating the task on the processing unit associated with the in-band client, receiving a status update from the in-band client upon execution of the task on the processing unit, wherein the status update is based on the in-band client updating the task updater object;
linking a task monitor object to the task object, wherein the task monitor object is used for updating the out-of-band client;
updating a state of the task object based on the status update of the task updater object;
updating the task monitor object of the state of the task object; and
transmitting the state of the task monitor object associated with the out-of-band client to the out-of-band client.
2 . The method of claim 1 , wherein the status update is stored in the task updater object.
3 . The method of claim 1 , wherein the task updater object is associated with the processing unit.
4 . The method of claim 1 , wherein the task updater object is visible to the in-band client.
5 . The method of claim 1 , wherein the in-band client is associated with the processing unit on which the task is executed.
6 . The method of claim 1 , wherein the in-band client has a write permission to the task updater object.
7 . The method of claim 1 , wherein the in-band client has a read permission to the task updater object.
8 . The method of claim 1 , wherein the task updater object includes a first set of properties that mirrors a second set of properties of the task object.
9 . The method of claim 1 , further comprising transmitting a list of tasks based on a credential of the in-band client.
10 . The method of claim 9 , wherein the list of tasks is for the processing unit on which the in-band client is associated.
11 . An information handling system, comprising:
a processor; and
a memory storing instructions that when executed cause the processor to perform operations including:
generating a task object and a task updater object upon receipt of a request from an out-of-band client to execute a task on a processing unit via an in-band client;
linking the task updater object to the task object associated with the task associated with the request from the out-of-band client;
subsequent to initiating the task on the processing unit associated with the in-band client, receiving a status update from the in-band client upon execution of the task on the processing unit, wherein the status update is based on the in-band client updating the task updater object;
linking a task monitor object to the task object, wherein the task monitor object is used for updating the out-of-band client;
updating a state of the task object based on the status update of the task updater object;
updating the task monitor object of the state of the task object; and
transmitting the state of the task monitor associated with the out-of-band client to the out-of-band client.
12 . The information handling system of claim 11 , wherein the task updater object is associated with the processing unit.
13 . The information handling system of claim 11 , wherein the task updater object is visible to the in-band client.
14 . The information handling system of claim 11 , wherein the in-band client is associated with the processing unit.
15 . The information handling system of claim 11 , wherein the in-band client has a write permission to the task updater object.
16 . A non-transitory computer-readable medium to store instructions that are executable to perform operations comprising:
generating a task object and a task updater object upon receipt of a request from an out-of-band client to execute a task on a processing unit via an in-band client;
linking the task updater object to the task object associated with the task associated with the request from the out-of-band client;
subsequent to initiating the task on the processing unit associated with the in-band client, receiving a status update from the in-band client upon execution of the task on the processing unit, wherein the status update is based on the in-band client updating the task updater object;
linking a task monitor object to the task object, wherein the task monitor object is used for updating the out-of-band client;
updating a state of the task object based on the status update stored in the task updater object;
updating the task monitor object of the state of the task object; and
transmitting the state of the task monitor object associated with the out-of-band client to the out-of-band client.
17 . The non-transitory computer-readable medium of claim 16 , wherein the task updater object is associated with the processing unit.
18 . The non-transitory computer-readable medium of 16 , wherein the task updater object is visible to the in-band client.
19 . The non-transitory computer-readable medium of claim 16 , wherein the in-band client has a write permission to the task updater object.
20 . The non-transitory computer-readable medium of claim 16 , wherein the in-band client has a read permission to the task updater object.