IP Library Granted Patent US 10,270,857
Granted Patent B2
US 10,270,857 · App. 15/282,164 · Granted Apr 23, 2019

Asynchronous duplexing

Inventors: Neil A. Johnson (Cornwall, NY); Georgette Kurdt (Wappingers Falls, NY); William C. Neiman (Poughkeepsie, NY); Kenneth G. Rothwell (Red Hook, NY); David H. Surman (Hyde Park, NY); Jessie Yu (Wappingers Falls, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L67/1097G06F15/167H04L67/1095
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,270,857
App. No.
15/282,164
Granted
Apr 23, 2019
Kind
B2
Abstract

A computer-implemented method for asynchronous duplexing between two computing devices includes obtaining a task for execution by a first computing device and executing the task. A first computing task completion identifier is assigned upon execution of the task. The task with the assigned first computing task completion identifier is transferred to a second computing device and executed. A second computing task completion identifier is assigned upon execution of the task. The first computing task completion identifier and the second computing task identifier are logged into a task management log for facilitating the recovery of the first computing device by comparing the first computing task completion identifier and the second computing task identifier for identifying tasks executed by the first computing device and requiring execution by the second computing device.

Claims (34)

1. A computer-implemented method for asynchronous duplexing between two computing devices, the method comprising:

obtaining, by an operating system of a primary computing system, a task for execution by a first computing device;

storing the task in a task management log of the primary computing system;

executing the task by the first computing device;

assigning a first computing task completion identifier upon execution of the task by the first computing device;

transmitting, by the first computing device, the task together with the first computing task completion identifier to a second computing device;

executing the task by the second computing device;

assigning a second computing task completion identifier upon execution of the task by the second computing device;

transmitting, by the second computing device, the second computing task completion identifier to the first computing device;

transmitting, by the first computing device, the second computing task completion identifier together with the first computing task completion identifier to the primary computing system;

updating the task in the management log to include the first computing task completion identifier and the second computing task completion identifier;

comparing, by the operating system, first computing task completion identifiers with second computing task completion identifiers to identify which tasks are executed by the first computing device and unexecuted by the second computing device; and

transferring, by the operating system, the tasks unexecuted by the second computing device to the second computing device for execution.

2. The computer-implemented method of claim 1 , wherein the task management log includes a plurality of first computing task completion identifiers relating to tasks executed by the first computing device and a plurality of second computing task completion identifiers relating to tasks executed by the second computing device.

3. The computer-implemented method of claim 1 , wherein the transferring of the tasks unexecuted by the second computing device to the second computing device is undertaken by the operating system when the first computing device requires restoring.

4. The computer-implemented method of claim 1 , wherein the task management log includes a plurality of tasks unexecuted by the first computing device, the operating system transferring the tasks unexecuted by the first computing device to the second computing device when the first computing device requires restoring.

5. The computer-implemented method of claim 1 , wherein the first computing device includes a first computing device task log for maintaining tasks assigned to the first computing device for execution.

6. The computer-implemented method of claim 1 , wherein the first computing device, using a processor system, transfers an executed task to the second computing device for execution after the first computing task completion identifier has been assigned to the task upon execution.

7. The computer-implemented method of claim 1 , wherein the second computing task completion identifier is the same as the first computing task completion identifier.

8. The computer-implemented method of claim 1 , wherein tasks identified as being executed by both the first and second computing devices are removed from the task management log.

9. A computer program product for asynchronous duplexing, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processing circuit to cause the processing circuit to perform a method comprising:

obtaining, by an operating system of a primary computing system, a task for execution by a first computing device;

storing the task in a task management log of the primary computing system;

executing the task by the first computing device;

assigning a first computing task completion identifier upon execution of the task by the first computing device;

transmitting, by the first computing system, the task together with the first computing task completion identifier to a second computing device;

executing the task by the second computing device;

assigning a second computing task completion identifier upon execution of the task by the second computing device;

transmitting, by the second computing device, the second computing task completion identifier to the first computing device;

transmitting, by the first computing device, the second computing task completion identifier together with the first computing task completion identifier to the primary computing system;

updating the task in the management log to include the first computing task completion identifier and the second computing task completion identifier;

comparing, by the operating system, first computing task completion identifiers with second computing task completion identifiers to identify which tasks are executed by the first computing device and unexecuted by the second computing device; and

transferring, by the operating system, the tasks unexecuted by the second computing device to the second computing device for execution.

10. The computer program product of claim 9 , wherein the method further comprises determining the transferring of the tasks unexecuted by the second computing device to the second computing device to occur when the first computing device requires restoring.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2016
From: JOHNSON, NEIL A.; KURDT, GEORGETTE; NEIMAN, WILLIAM C.; ROTHWELL, KENNETH G.; SURMAN, DAVID H.; YU, JESSIE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039912/0079 →
Continuity (1)
Related Publication 20180097879A1 · Apr 5, 2018