IP Library Granted Patent US 7,600,133
Granted Patent B2
US 7,600,133 · App. 10/906,568 · Granted Oct 6, 2009

Backing up at least one encrypted computer file

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 7,600,133
App. No.
10/906,568
Granted
Oct 6, 2009
Kind
B2
Abstract

The present invention provides a method and system of backing up at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system and restoring at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system. In an exemplary embodiment, the method and system of backing up at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system include (1) receiving the filename of the encrypted computer file, (2) starting a backup process for the encrypted computer file, (3) disabling the encryption filter driver for the backup process, (4) backing up the encrypted computer file via the backup process, and (5) reenabling the encryption filter driver for the backup process.

Claims (152)

1. A method of backing up at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system, the method comprising:

receiving the filename of the encrypted computer file;

starting a backup process for the encrypted computer file;

disabling the encryption filter driver for the backup process, wherein the disabling comprises sending a request to the encryption filter driver for the backup process such that the encryption filter driver will not filter filesystem requests from the backup process;

storing a process identifier of the backup process in a storage location;

allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

backing up the encrypted computer file via the backup process; and

reenabling the encryption filter driver for the backup process.

2. The method of claim 1 wherein the backing up comprises:

retrieving encrypted data bytes in the encrypted computer file;

obtaining metadata stored in the filename of the encrypted computer file; and

storing the encrypted data bytes and the metadata to disk as a backup of the encrypted computer file.

3. The method of claim 1 wherein the reenabling comprises making the encryption filter driver filter filesystem requests from the backup process.

4. The method of claim 3 wherein the making comprises closing the device handle of the encryption filter driver for the backup process.

5. The method of claim 3 wherein the making comprises sending an IOCTL request to the encryption filter driver for the backup process such that the encryption filter driver will filter filesystem requests from the backup process.

6. The method of claim 3 further comprising:

removing the process identifier of the backup process from a storage location; and

allowing for the processing with filtering of all filesystem requests to the encryption filter driver.

7. A method of backing up at least one encrypted computer file encrypted by a FFE encryption filter driver running on a Windows operating system of a computer system, the method comprising:

receiving the filename of the encrypted computer file;

starting a backup process for the encrypted computer file;

disabling the FFE encryption filter driver for the backup process wherein the disabling comprises sending an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process;

storing a process identifier of the restore process in a storage location;

allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

backing up the encrypted computer file via the backup process; and

reenabling the FFE encryption filter driver for the backup process.

8. A system comprising:

a processor;

a memory which stores code modules for execution on said processor, the modules comprising:

a receiving module configured to receive the filename of an encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system;

a starting module configured to start a backup process for the encrypted computer file;

a disabling module configured to disable the encryption filter driver for the backup process, wherein the disabling module comprises a sending module configured to send an request to the encryption filter driver for the backup process such that the encryption filter driver will not filter filesystem requests from the backup process;

a storing module configured to store a process identifier of the backup process in a storage location;

an allowing module configured to allow for the processing without filtering of filesystem requests the encryption filter driver that have process identifiers matching entries stored in the storage location;

a backing up module configured to back up the encrypted computer file via the backup process; and

a reenabling module configured to renewable the encryption filter driver for the backup process.

9. The system of claim 8 wherein the backing up module comprises:

a retrieving module configured to retrieve encrypted data bytes in the encrypted computer file;

an obtaining module configured to obtain metadata stored in the filename of the encrypted computer file; and

a storing module configured to store the encrypted data bytes and the metadata to disk as a backup of the encrypted computer file.

10. The system of claim 8 wherein the reenabling module comprises a making module configured to make the encryption filter driver filter filesystem requests from the backup process.

11. The system of claim 10 wherein the making module comprises a closing module configured to close the device handle of the encryption filter driver for the backup process.

12. The system of claim 10 wherein the making module comprises a sending module configured to send an IOCTL request to the encryption filter driver for the backup process such that the encryption filter driver will filter filesystem requests from the backup process.

13. The system of claim 10 further comprising:

a removing module configured to remove the process identifier of the backup process from a storage location; and

an allowing module configured to allow for the processing with filtering of all file system requests to the encryption filter driver.

14. A system comprising:

a processor;

a memory which stores code modules for execution on said processor, the modules comprising:

a receiving module configured to receive the filename of an encrypted computer file encrypted by a FFE encryption filter driver running on a Windows operating system of a computer system;

a starting module configured to start a backup process for the encrypted computer file;

a disabling module configured to disable the FFE encryption filter driver for the backup process, wherein the disabling module comprises a sending module configured to send an request to the encryption filter driver for the backup process such that the encryption filter driver will not filter filesystem requests from the backup process;

a storing module configured to store a process identifier of the backup process in a storage location;

an allowing module configured to allow for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

a backing up module configured to back up the encrypted computer file via the backup process; and

a reenabling module configured to renewable the FFE encryption filter driver for the backup process.

15. A computer program product usable with a programmable computer having readable program code embodied therein of backing up at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system, the computer program product comprising:

computer readable code for receiving the filename of the encrypted computer file;

computer readable code for starting a backup process for the encrypted computer file;

computer readable code for disabling the encryption filter driver for the backup process wherein the disabling comprises sending an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process;

computer readable code for storing a process identifier of the restore process in a storage location;

computer readable code for allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

computer readable code for backing up the encrypted computer file via the backup process; and

computer readable code for reenabling the encryption filter driver for the backup process.

16. A method of providing a service to back up at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system, the method comprising:

receiving the filename of the encrypted computer file;

starting a backup process for the encrypted computer file;

disabling the encryption filter driver for the backup process wherein the disabling comprises sending an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process;

storing a process identifier of the restore process in a storage location;

allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

backing up the encrypted computer file via the backup process; and

reenabling the encryption filter driver for the backup process.

17. A method of restoring at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system, the method comprising:

receiving the filename of the encrypted computer file;

starting a restore process for the encrypted computer file;

if the encryption filter driver is not enabled, copying the encrypted computer file via the restore process; and

if the encryption filter driver is enabled,

disabling the encryption filter driver for the restore process, wherein the disabling comprises sending an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process,

storing a process identifier of the restore process in a storage location:

allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location,

restoring the encrypted computer file via the restore process, and

reenabling the encryption filter driver for the restore process.

18. The method of claim 17 wherein the restoring comprises:

retrieving encrypted data bytes in the encrypted computer file from a backup of the encrypted computer file;

obtaining metadata stored in the filename of the backup of the encrypted computer file; and

copying the encrypted data bytes and the metadata to a target restore disk as a restore of the encrypted computer file.

19. The method of claim 17 wherein the reenabling comprises making the encryption filter driver filter filesystem requests from the restore process.

20. The method of claim 19 wherein the making comprises closing the device handle of the encryption filter driver for the restore process.

21. The method of claim 19 wherein the making comprises sending an IOCTL request to the encryption filter driver for the restore process such that the encryption filter driver will filter filesystem requests from the restore process.

22. The method of claim 19 further comprising:

removing the process identifier of the restore process from a storage location; and

allowing for the processing with filtering of all filesystem requests to the encryption filter driver.

23. A method of restoring at least one encrypted computer file encrypted by a FFE encryption filter driver running on a Windows operating system of a computer system, the method comprising:

receiving the filename of the encrypted computer file;

starting a restore process for the encrypted computer file;

if the FFE encryption filter driver is not enabled, copying the encrypted computer file via the restore process; and

if the FFE encryption filter driver is enabled,

disabling the FFE encryption filter driver for the restore process, wherein the disabling comprises sending an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process,

storing a process identifier of the restore process in a storage location;

allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location,

restoring the encrypted computer file via the restore process, and

reenabling the FFE encryption filter driver for the restore process.

24. A system comprising:

a processor;

a memory which stores code modules for execution on said processor, the modules comprising:

a receiving module configured to receive the filename of an encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system:

a starting module configured to start a restore process for the encrypted computer file;

a copying module configured to copy, if the encryption filter driver is not enabled, the encrypted computer file via the restore process;

a disabling module configured to disable, if the encryption filter driver is enabled, the encryption filter driver for the restore process, wherein the disabling module comprises a sending module configured to send an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process;

a storing module configured to store a process identifier of the restore process in a storage location;

an allowing module configured to allow for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

a restoring module configured to restore, if the encryption filter driver is enabled, the encrypted computer file via the restore process; and

a reenabling module configured to reenable, if the encryption filter driver is enabled, the encryption filter driver for the restore process.

25. The system of claim 24 wherein the restoring module comprises:

a retrieving module configured to retrieve encrypted data bytes in the encrypted computer file from a backup of the encrypted computer file;

a obtaining module configured to obtain metadata stored in the filename of the backup of the encrypted computer file; and

a copying module configured to copy the encrypted data bytes and the metadata to a target restore disk as a restore of the encrypted computer file.

26. The system of claim 24 wherein the reenabling module comprises a making module configured to make the encryption filter driver filter filesystem requests from the restore process.

27. The system of claim 26 wherein the making module comprises a closing module configured to close the device handle of the encryption filter driver for the restore process.

28. The system of claim 26 wherein the making module comprises a sending module configured to send an IOCTL request to the encryption filter driver for the restore process such that the encryption filter driver will filter filesystem requests from the restore process.

29. The system of claim 26 further comprising:

a removing module configured to remove the process identifier of the restore process from a storage location; and

an allowing module configured to allow for the processing with filtering of all filesystem requests to the encryption filter driver.

30. A system comprising:

a processor;

a memory which stores code modules for execution on said processor, the modules comprising:

a receiving module configured to receive the filename of an encrypted computer file encrypted by a FFE encryption filter driver running on a Windows operating system of a computer system;

a starting module configured to start a restore process for the encrypted computer file;

a copying module configured to copy, if the FFE encryption filter driver is not enabled, the encrypted computer file via the restore process;

a disabling module configured to disable, if the FFE encryption filter driver is enabled, the FFE encryption filter driver for the restore process, wherein the disabling module comprises a sending module configured to send an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process;

a storing module configured to store a process identifier of the restore process in a storage location;

an allowing module configured to allow for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

a restoring module configured to restore, if the FFE encryption filter driver is enabled, the encrypted computer file via the restore process; and

a reenabling module configured to reenable, if the FFE encryption filter driver is enabled, the FFE encryption filter driver for the restore process.

31. A computer program product usable with a programmable computer having readable program code embodied therein of restoring at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system, the computer program product comprising:

computer readable code for receiving the filename of the encrypted computer file;

computer readable code for starting a restore process for the encrypted computer file;

computer readable code for copying, if the encryption filter driver is not enabled, the encrypted computer rile via the restore process;

computer readable code for disabling, if the encryption filter driver is enabled, the encryption filter driver for the restore process wherein the disabling comprises sending an request to the encryption filter driver for the restore process such that the encryption filter driver will not filter filesystem requests from the restore process;

computer readable code for storing process identifier of the restore process in a storage location;

computer readable code for allowing for the processing without filtering of filesystem requests to the encryption filter driver that have process identifiers matching entries stored in the storage location;

computer readable code for restoring, if the encryption filter driver is enabled, the encrypted computer file via the restore process; and

computer readable code for reenabling, if the encryption filter driver is enabled, the encryption filter driver for the restore process.

32. A method of backing up at least one encrypted computer file encrypted by an encryption filter driver running on an operating system of a computer system, the method comprising:

receiving the filename of the encrypted computer file;

starting a backup process for the encrypted computer file;

disabling the encryption filter driver for the backup process;

backing up the encrypted computer file via the backup process;

reenabling the encryption filter driver for the backup process wherein the reenabling comprises making the encryption filter driver filter filesystem requests from the backup process; and

wherein the method further comprises:

removing a process identifier of the backup process from a storage location; and

allowing for the processing with filtering of all filesystem requests to the encryption filter driver.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
NUNC PRO TUNC ASSIGNMENT Recorded Nov 25, 2015
From: LENOVO (SINGAPORE) PTE LTD.
To: LENOVO PC INTERNATIONAL
Reel/Frame 037160/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2005
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO (SINGAPORE) PTE LTD.
Reel/Frame 016891/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2005
From: LONG, CHRISTOPHER SCOTT; SMITH, MARK ANDREW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015704/0952 →