IP Library Granted Patent US 9,684,545
Granted Patent B2
US 9,684,545 · App. 14/669,351 · Granted Jun 20, 2017

Distributed and continuous computing in a fabric environment

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 9,684,545
App. No.
14/669,351
Granted
Jun 20, 2017
Kind
B2
Abstract

Systems and methods for continuous computing are disclosed. One such system includes a plurality of communicatively interconnected computing systems, and a workload including a plurality of tasks executing on a first computing system of the plurality of communicatively interconnected computing systems. The system includes a task management system executing on at least one of the plurality of communicatively interconnected computing systems, the task management component configured to encapsulate a task of the plurality of tasks with a current system state of the first computing system, wherein encapsulating the task includes associating metadata defining an association between the task and resources of the first computing system. The task management system is configured to transfer the encapsulated task to a second computing system among the plurality of communicatively interconnected computing systems for execution, the metadata used to associate the task with resources of a second computing system.

Claims (37)

1. A continuous computing system comprising:

a plurality of communicatively interconnected computing systems; a workload including a plurality of tasks executing on a first computing system of the plurality of communicatively interconnected computing systems;

a task management system executing on at least one of the plurality of communicatively interconnected computing systems, the task management component configured to encapsulate a task of the plurality of tasks with a current system state of the first computing system, wherein encapsulating the task includes associating metadata defining an association between the task and resources of the first computing system;

wherein the task management system is configured to transfer the encapsulated task to a second computing system among the plurality of communicatively interconnected computing systems for execution, the metadata used to associate the task with resources of a second computing system;

wherein the first computing system has a first architecture and the second computing system has a second architecture different from but compatible with the first architecture; and

wherein the metadata defines an association between the first architecture and the second architecture.

2. The continuous computing system of claim 1 , wherein the task management system transfers the encapsulated one or more tasks to the second computing system based on a utilization of the second computing system relative to a utilization of the first computing system.

3. The continuous computing system of claim 1 , wherein the plurality of communicatively interconnected computing systems are homogeneous computing systems.

4. The continuous computing system of claim 1 , wherein one or more of the plurality of communicatively interconnected computing systems comprise virtual computing systems.

5. The continuous computing system of claim 1 , wherein the one or more tasks comprise less than the entire workload.

6. The continuous computing system of claim 1 , wherein the task management component is configured to encapsulate a second task of the plurality of tasks with a current system state of the first computing system and transfer the encapsulated second task to a third computing system among the plurality of communicatively interconnected computing systems for execution.

7. The continuous computing system of claim 1 , wherein the task management component is configured to periodically encapsulate each of the plurality of tasks included in the workload.

8. The continuous computing system of claim 7 , wherein, upon a determination that an error occurred in at least one of the tasks, the task management component is capable of restoring a failed task to a last known good execution point using a previously encapsulated version of the failed task.

9. The continuous computing system of claim 8 , wherein, upon a determination that the error occurred in at least one of the tasks, the task management component is capable of restoring each of the tasks to the last known good execution point.

10. The continuous computing system of claim 1 , wherein each of the plurality of computing systems comprises a communicatively interconnected virtual computing system executing in a computing fabric.

11. The continuous computing system of claim 1 , wherein the current system state of the first computing system comprises a stack state and a state of one or more local variables used in executing the one or more tasks.

12. The continuous computing system of claim 1 , wherein encapsulating the task includes associating metadata with instructions included in the task, a memory state of the first computing system at a time of execution of the task, and a definition of system features of the first computing system.

13. The continuous computing system of claim 1 , further comprising:

a second workload including a second plurality of tasks executing on the second computing system;

wherein the task management component is configured to encapsulate a second task included in the second plurality of tasks with a current system state of the second computing system;

wherein the task management system is configured to transfer the encapsulated second task of the second plurality of tasks to a different computing system among the plurality of communicatively interconnected computing systems for execution.

14. The continuous computing system of claim 13 , wherein the different computing system comprises the first computing system.

15. The continuous computing system of claim 13 , wherein each of the plurality of tasks includes a plurality of procedures.

16. A method of maintaining continuous computing in a fabric of communicatively interconnected computing systems, the method comprising:

encapsulating at least one task included in a workload executing on a first computing system of a fabric of communicatively interconnected computing systems with a current system state of the first computing system, the workload including a plurality of tasks,

wherein encapsulating the at least one task includes associating metadata defining an association between the task and instructions included in the task, a memory state of the first computing system at a time of execution of the task, and a definition of system features of the first computing system; and

transferring the encapsulated at least one task to a second computing system in the fabric of communicatively interconnected computing systems;

wherein the first computing system has a first architecture and the second computing system has a second architecture different from but compatible with the first architecture; and

wherein the metadata defines an association between the first architecture and the second architecture.

17. The method of claim 16 , further comprising encapsulating each of the plurality of tasks of the workload.

18. The method of claim 17 , further comprising transferring each of the encapsulated tasks to the second computing system.

19. The method of claim 18 , wherein transferring each of the encapsulated tasks to the second computing system is based on a detected failure of the first computing system.

20. The method of claim 17 , further comprising transferring at least one of the encapsulated tasks to a third computing system different from the first and second computing systems.

21. The method of claim 16 , wherein the current system state of the first computing system comprises a stack state and a state of one or more local variables used in executing the at least one task.

22. The method of claim 16 , wherein transferring the encapsulated at least one task to the second computing system occurs in response to detecting an error in the first computing system.

23. The method of claim 16 , wherein encapsulating at least one task comprises mapping I/O operations associated with the task to an I/O processor of the second computing system.

24. The method of claim 23 , wherein the I/O operations include file access operations associated with fabric-accessible files.

Assignments (7)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 044416/0114 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
SECURITY INTEREST Recorded Sep 12, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 043558/0245 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2017
From: BEALE, ANDREW WARD
To: UNISYS CORPORATION
Reel/Frame 041854/0283 →