IP Library Granted Patent US 7,188,368
Granted Patent B2
US 7,188,368 · App. 09/865,246 · Granted Mar 6, 2007

Method and apparatus for repairing damage to a computer system using a system rollback mechanism

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,188,368
App. No.
09/865,246
Granted
Mar 6, 2007
Kind
B2
Abstract

A method and apparatus for managing protecting data from damage in a data processing system. The data is journaled to form journaled data. A determination is then made as to whether a virus is present in the data processing system after journaling of data has begun. Journaling involves storing a system state before an action is executed so that the state can be restored upon demand. The detection of a virus may be performed by using pattern matching on system audit trails in which the system audit trails contain activities occurring within the data processing system. In response to an identification of the virus, the data is restored to its previous state using the journaled data.

Claims (68)

1. A method in a data processing system for dynamically protecting data from damage during execution of processes within the data processing system, the method comprising:

journaling the data to form journaled data, wherein journaling the data comprises maintaining a system audit trail that contains activities occurring within the data processing system during the execution of the processes within the data processing system;

dynamically determining whether a virus is present in the data processing system after journaling of the data has begun; and

responsive to an identification of the virus, restoring the data using the journaled data.

2. The method of claim 1 further comprising:

responsive to an absence of an identification of the virus, discarding the journaled data.

3. The method of claim 1 , wherein the determining step comprises:

performing pattern matching.

4. The method of claim 3 , wherein the performing step includes:

comparing a set of actions occurring within the data processing system with a set of known virus patterns.

5. The method of claim 1 , wherein the data that is journaled is located in a storage device external to the data processing system.

6. The method of claim 1 further comprising:

recording a sequence of actions occurring within the data processing system.

7. The method claim 1 , wherein the data that is journaled is data accessed by a process within the data processing system.

8. The method of claim 1 further comprising:

responsive to an identification of the virus, blocking access to the data by a process accessing the data.

9. The method of claim 1 further comprising:

responsive to an identification of the virus, generating an indication halting a process accessing the data.

10. The method of claim 1 , wherein the journaled data is accessed by a single process and maintained until a determination is made that the single process is eliminated as a virus candidate.

11. The method of claim 1 , wherein the journaled data is stored in a protected memory accessible only by the method.

12. The method of claim 11 , wherein the journaled data is stored in a data structure located in a protected memory inaccessible by a process executing within the data processing system.

13. A data processing system comprising:

a bus system;

a communications unit connected to the bus system;

a memory connected to the bus system, wherein the memory includes as set of instructions; and

a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to journal the data to form journaled data, wherein journal the data comprises maintaining a system audit trail that contains activities occurring within the data processing system during the execution of the processes within the data processing system; dynamically determines whether a virus is present in the data processing system after journaling of the data has begun; and restores the data using the journaled data in response to an identification of the virus.

14. A data processing system for dynamically protecting data from damage during execution of processes within the data processing system, the data processing system comprising:

journaling means for journaling the data to form journaled data, wherein the journaling means for journaling the data comprises means for maintaining a system audit trail that contains activities occurring within the data processing system during the execution of the processes within the data processing system;

determining means for dynamically determining whether a virus is present in the data processing system after journaling of the data has begun; and

restoring means, responsive to an identification of the virus, for restoring the data using the journaled data.

15. The data processing system of claim 14 further comprising:

discarding means, responsive to an absence of an identification of the virus, for discarding the journaled data.

16. The data processing system of claim 14 , wherein the determining means comprises:

means for performing pattern matching.

17. The data processing system of claim 16 , wherein the performing means includes:

means for comparing a set of actions occurring within the data processing system with a set of known virus patterns.

18. The data processing system of claim 14 , wherein the data that is journaled is located in a storage device external to the data processing system.

19. The data processing system of claim 14 further comprising:

recording means for recording a sequence of actions occurring within the data processing system.

20. The data processing system claim 14 , wherein the data that is journaled is data accessed by a process within the data processing system.

21. The data processing system of claim 14 further comprising:

blocking means, responsive to an identification of the virus, for blocking access to the data by a process accessing the data.

22. The data processing system of claim 14 further comprising:

generating means, responsive to an identification of the virus, for generating an indication halting a process accessing the data.

23. The data processing system of claim 14 , wherein the journaled data is accessed by a single process and maintained until a determination is made that the single process is eliminated as a virus candidate.

24. The data processing system of claim 14 , wherein the journaled data is stored in a protected memory accessible only by the method.

25. The data processing system of claim 24 , wherein the journaled data is stored in a data structure located in a protected memory inaccessible by the process executing within the data processing system.

26. A computer program product in a computer readable medium for dynamically protecting data from damage during execution of processes within the data processing system, the computer program product comprising:

first instructions for journaling the data to form journaled data, wherein journaling the data comprises maintaining a system audit trail that contains activities occurring within the data processing system during the execution of the processes within the data processing system;

second instructions for dynamically determining whether a virus is present in the data processing system after journaling of the data has begun; and

third instructions, responsive to an identification of the virus, for restoring the data using the journaled data.

27. The computer program product of claim 26 further comprising:

fourth instructions, responsive to an absence of an identification of the virus, for discarding the journaled data.

28. The computer program product of claim 26 , wherein the second instructions comprises:

sub-instructions for performing pattern matching.

29. The computer program product of claim 26 , wherein the sub-instructions for performing includes:

instructions for comparing a set of actions occurring within the data processing system with a set of known virus patterns.

30. The computer program product of claim 26 , wherein the data that is journaled is located in a storage device external to the data processing system.

31. The computer program product of claim 26 further comprising:

fourth instructions for recording a sequence of actions occurring within the data processing system.

32. The computer program product claim 26 , wherein the data that is journaled is data accessed by a process within the data processing system.

33. The computer program product of claim 26 further comprising:

fourth instructions, responsive to an identification of the virus, for blocking access to the data by a process accessing the data.

34. The computer program product of claim 26 further comprising:

fourth instructions, responsive to an identification of the virus, for generating an indication halting a process accessing the data.

35. The computer program product of claim 26 , wherein the journaled data is accessed by a single process and maintained until a determination is made that the single process is eliminated as a virus candidate.

36. The computer program product of claim 26 , wherein the journaled data is stored in a protected memory accessible only by the method.

37. The computer program product of claim 36 , wherein the journaled data is stored in a data structure located in a protected memory inaccessible by the process executing within the data processing system.

Assignments (3)
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 May 25, 2001
From: SWIMMER, MORTON GREGORY; WHALLEY, IAN NICHOLAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 011852/0612 →