IP Library Granted Patent US 10,095,589
Granted Patent B2
US 10,095,589 · App. 15/176,556 · Granted Oct 9, 2018

System and method for optimization of operating system restore

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,095,589
App. No.
15/176,556
Granted
Oct 9, 2018
Kind
B2
Abstract

A method and system is provided for optimization of restoration and loading of an operating system of a computer. An exemplary method includes initiating a loading of the operating system of the computer and intercepting a read request of data of a data volume from the operating system. Furthermore, the method includes determining whether the data has previously been restored during the loading of the operating system, and, if the data has previously been restored, performing the read request and returning to the loading of the operating system of the computer. Alternatively, if the data has not previously been restored, determining whether the data is stored in cache of the computer. If the data is not be stored in the cache, the method includes reading the data from a data archive and storing the data read from the data archive to the cache.

Claims (68)

1. A method for restoring an operating system of a computer, the method comprising:

initiating, by a processor, a loading of the operating system of the computer;

intercepting, from the operating system, a function request for data from a data volume of the computer, wherein the function request comprises file management functions and sector functions;

determining, by the processor, whether the data has previously been restored during the loading of the operating system;

if the data has previously been restored, performing the function request to read the data from the data volume and returning to the loading of the operating system of the computer;

if the data has not previously been restored, determining whether the data is stored in a cache of the computer and if the data is stored in the cache, performing the function request to read the data from the cache, deleting the data from the cache and then returning to the loading of the operating system of the computer;

if the data is determined to not be stored in the cache, reading the data and continuously reading additional data from a data archive and storing the data read and continuously storing the additional data from the data archive to the cache until the cache is full and then returning to the loading of the operating system of the computer.

2. The method of claim 1 , further comprising reading the data from the cache if the data is determined to be stored in the cache and returning to the loading of the operating system of the computer.

3. The method of claim 1 , wherein the determining of whether the data is stored in the cache of the computer comprises at least one of checking a bitmap and checking a region collection.

4. The method of claim 3 , further comprising:

writing the data to the data volume if the data is determined to be stored in the cache;

marking the data as restored once it is written to the data volume; and

deleting the data from the cache of the computer.

5. The method of claim 4 , wherein the marking of the data as restored comprises at least one of resetting a portion of bits in the bitmap and adding regions to the region collection.

6. The method of claim 1 , further comprising:

determining, by the processor, whether all data required for the loading of the operating system has been restored; and

switching off a filter and revealing a disk of the computer if all the data is determined to be restored.

7. The method of claim 1 , further comprising:

intercepting, from the operating system, a write request of data to the data volume of the computer;

determining, by the processor, whether the data of the write request has previously been restored during the loading of the operating system;

if the data has previously been restored, writing the data to the data volume;

if the data has not previously been restored, determining whether the data is stored in the cache of the computer; and

if the data is determined to not be stored in the cache, writing the data to the data volume and marking the data as restored once it is written to the data volume.

8. The method of claim 7 , further comprising:

deleting the data from cache if the data is determined to be stored in the cache; and

writing the data to the data volume and marking the data as restored once it is written to the data volume.

9. The method of claim 1 , further comprising:

monitoring the cache of the computer to determine if available space of the cache is below a predetermined threshold or the cache is full;

saving data in the cache to the data volume if the available space of the cache is below the predetermined threshold or the cache is full; and

deleting the data from the cache.

10. A system for restoring an operating system of a computer, the system comprising:

a processor configured to:

load the operating system of the computer;

intercept, from the operating system, a function request for data from a data volume of the computer, wherein the function request comprises file management functions and sector functions;

determine whether the data has previously been restored during the loading of the operating system;

if the data has previously been restored, perform the function request to read the data from the data volume and returning to the loading of the operating system of the computer;

if the data has not previously been restored, determine whether the data is stored in a cache of the computer and if the data is stored in the cache, performing the function request to read the data from the cache, deleting the data from the cache and then returning to the loading of the operating system of the computer;

if the data is determined to not be stored in the cache, read the data and continuously reading additional data from a data archive and storing the data read and continuously storing the additional data from the data archive to the cache until the cache is full and then returning to the loading of the operating system of the computer.

11. The system of claim 10 , wherein the processor further configured to read the data from the cache if the data is determined to be stored in the cache and return to the loading of the operating system of the computer.

12. The system of claim 10 , wherein the determining of whether the data is stored in the cache of the computer comprises at least one of checking a bitmap and checking a region collection.

13. The system of claim 12 , wherein the processor further configured to:

write the data to the data volume if the data is determined to be stored in the cache;

mark the data as restored once it is written to the data volume; and

delete the data from the cache of the computer.

14. The system of claim 13 , wherein the marking of the data as restored comprises at least one of resetting a portion of bits in the bitmap and adding regions to the region collection.

15. The system of claim 10 , wherein the processor further configured to:

determine whether all data required for the loading of the operating system has been restored; and

switch off a filter and revealing a disk of the computer if all the data is determined to be restored.

16. The system of claim 10 , wherein the processor further configured to:

intercept, from the operating system, a write request of data to the data volume of the computer;

determine whether the data of the write request has previously been restored during the loading of the operating system;

if the data has previously been restored, write the data to the data volume;

if the data has not previously been restored, determine whether the data is stored in the cache of the computer; and

if the data is determined to not be stored in the cache, write the data to the data volume and marking the data as restored once it is written to the data volume.

17. The system of claim 16 , wherein the processor further configured to:

delete the data from cache if the data is determined to be stored in the cache; and

write the data to the data volume and mark the data as restored once it is written to the data volume.

18. The system of claim 10 , wherein the processor further configured to:

monitor the cache of the computer to determine if available space of the cache is below a predetermined threshold or the cache is full;

save data in the cache to the data volume if the available space of the cache is below the predetermined threshold or the cache is full; and

delete the data from the cache.

19. A non-transitory computer readable medium storing computer executable instructions for restoring an operating system of a computer, including instructions for:

initiating a loading of the operating system of the computer;

intercepting, from the operating system, a function request for data from a data volume of the computer, wherein the function request comprises file management functions and sector functions;

determining whether the data has previously been restored during the loading of the operating system;

if the data has previously been restored, performing the function request to read the data from the data volume and returning to the loading of the operating system of the computer;

if the data has not previously been restored, determining whether the data is stored in a cache of the computer and if the data is stored in the cache, performing the function request to read the data from the cache, deleting the data from the cache and then returning to the loading of the operating system of the computer;

if the data is determined to not be stored in the cache, reading the data and continuously reading additional data from a data archive and storing the data read and continuously storing the additional data from the data archive to the cache until the cache is full and then returning to the loading of the operating system of the computer.

Assignments (5)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2018
From: LYADVINSKY, MAXIM V; REDKO, ANDREY; KUKHTA, IVAN; STUPAK, ANATOLY; BELOUSSOV, SERGUEI; PROTASSOV, STANISLAV M; SHMULEVICH, MARK
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 046775/0797 →
SECURITY INTEREST Recorded Jul 26, 2017
From: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 043350/0186 →