IP Library Granted Patent US 9,817,728
Granted Patent B2
US 9,817,728 · App. 15/089,837 · Granted Nov 14, 2017

Fast system state cloning

Inventors: Brian M. Ignomirello (Holmdel, NJ); Suihong Liang (Holmdel, NJ)
Assignee: Symbolic IO Corporation
G06F11/1469G06F11/1451G06F11/1464G06F21/62G06F2201/805G06F2201/84
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,817,728
App. No.
15/089,837
Granted
Nov 14, 2017
Kind
B2
Abstract

A system and method to create a clone of a source computing system, the system including the steps of selecting a memory space coupled to the source computing system, retrieving uncoded data from the selected memory space, encoding the uncoded data by use of a bit-marker-based encoding process executing on a backup server, storing encoded data in a protected memory coupled to the backup server, wherein the protected memory is protected from a power interruption, retrieving the encoded data from the protected memory; and decoding the encoded data onto a target computing system, wherein the target computing system is separate from the source computing system.

Claims (40)

1. A method to clone a source computing system, comprising the steps of:

selecting a memory space coupled to the source computing system, the source computing system comprising a main processor;

retrieving uncoded data from the selected memory space;

encoding the uncoded data by use of a bit-marker-based encoding process executing on a backup server, wherein a bit marker comprises a multi-bit digital word used to replace a respective unique string of bits in the uncoded data;

storing encoded data in a protected memory coupled to the backup server, wherein the protected memory is coupled to an energy source to protect the memory from a power interruption, and coupled to a memory interface;

monitoring, by a second processor in the memory interface, a status of the energy source and a status of the protected memory;

reporting, by the second processor to the main processor, the monitored status of the energy source and the monitored status of the protected memory;

retrieving the encoded data from the protected memory; and

decoding the encoded data onto a target computing system, wherein the target computing system is separate from the source computing system.

2. The method of claim 1 , wherein selecting a memory space comprises:

identifying one or more computing processes executing on the source computing system; and

selecting a memory space used by each of the one or more identified computing processes.

3. The method of claim 1 , wherein selecting the memory space comprises an entire volatile memory address range of the source computing system.

4. The method of claim 1 , wherein selecting the memory space comprises a fixed range subset of an entire volatile memory address range of the source computing system.

5. The method of claim 1 , wherein the source computing system comprises a virtual server.

6. The method of claim 1 , wherein the protected memory coupled to the backup server stores a plurality of source computing system reference images.

7. The method of claim 6 , wherein the plurality of source computing system reference images comprises images over time of a single source computing system.

8. The method of claim 6 , wherein the plurality of source computing system reference images comprises images of a plurality of source computing systems.

9. The method of claim 1 , wherein the clone of the source computing system is created by request from a source external to the source computing system being cloned.

10. The method of claim 1 , wherein the clone of the source computing system is created at a time determined by the source computing system being cloned.

11. The method of claim 1 , wherein cloning the source computing system is operable to repurpose the target computing system to a different usage.

12. The method of claim 1 , wherein cloning the source computing system is operable to restore the target computing system to a backup state.

13. The method of claim 1 , wherein cloning the source computing system is operable to repurpose the target computing system from a spare status to an active status.

14. The method of claim 1 , wherein selecting a memory space comprises:

a first memory space comprising a base system image of an uncustomized server; and

a second memory space comprising system-specific customizations of the uncustomized server.

15. A system to clone a source computing system, comprising:

a main processor coupled to a memory, the memory providing a memory space for the source computing system;

a communication interface to support retrieval of uncoded data from the memory space;

an encoder to encode the uncoded data by use of a bit-marker-based encoding process executing on a backup server, wherein a bit marker comprises a multi-bit digital word used to replace a respective unique string of bits in the uncoded data;

a storage module to store encoded data in a protected memory coupled to the backup server, wherein the protected memory is coupled to an energy source to protect the memory from a power interruption, and coupled to a memory interface, wherein the memory interface comprises:

a second processor to monitor the status of the energy source and a status of the protected memory; and

a communication interface to report to the main processor the monitored status of the energy source and the monitored status of the protected memory;

a communication interface to support retrieval of the encoded data from the protected memory; and

a decoder to decode the encoded data onto a target computing system, wherein the target computing system is separate from the source computing system.

16. The system of claim 15 , wherein selecting the memory space comprises an entire volatile memory address range of the source computing system.

17. The system of claim 15 , wherein selecting the memory space comprises a fixed range subset of an entire volatile memory address range of the source computing system.

18. The system of claim 15 , wherein the source computing system comprises a virtual server.

19. The system of claim 15 , wherein the protected memory coupled to the backup server stores a plurality of source computing system reference images.

20. The system of claim 19 , wherein the plurality of source computing system reference images comprises images over time of a single source computing system.

Assignments (2)
SECURITY INTEREST Recorded Sep 16, 2016
From: SYMBOLIC IO CORPORATION
To: CAREMI INVESTMENTS, LLC; ACADIA WOODS PARTNERS, LLC
Reel/Frame 039761/0788 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: IGNOMIRELLO, BRIAN M.; LIANG, SUIHONG
To: SYMBOLIC IO CORPORATION
Reel/Frame 038338/0501 →
Continuity (7)
Continuation In Part 14804175 · Jul 20, 2015
Continuation In Part 13908239 · Jun 3, 2013
Continuation In Part 13797093 · Mar 12, 2013
Continuation In Part 13756921 · Feb 1, 2013
Provisional Application 62148160 · Apr 15, 2015
Provisional Application 62202983 · Aug 10, 2015
Related Publication 20160217047A1 · Jul 28, 2016