IP Library Granted Patent US 11,934,378
Granted Patent B2
US 11,934,378 · App. 17/198,344 · Granted Mar 19, 2024

Recording changes to records whilst preserving record immutability

Inventors: Fraser Iain Macintosh (Reading, GB); Rosanna Lickorish (Southampton, GB); Mark Longland (Old Windsor, GB)
Assignee: International Business Machines Corporation
G06F16/2365G06F16/211
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 11,934,378
App. No.
17/198,344
Granted
Mar 19, 2024
Kind
B2
Abstract

Aspects of the present invention disclose a method, computer program product, and system for recording changes to records whilst preserving record availability. The method includes one or more processors capturing a change to a record object. The changes include details of the record object to be changed and a change method instruction by which the object is to be changed. The method further includes one or more processors storing a change object as a standalone object and storing the change method instruction and metadata pointing to the record object. The method further includes one or more processors modifying metadata of previous versions of the record object to include a pointer to the change object. The method further includes one or more processors applying the change method instruction to the record object when responding to a retrieve or restore request for the record object.

Claims (72)

1. A computer-implemented method comprising:

capturing, by one or more processors, a change to a record object, wherein the change includes details of the record object to be changed and a change method instruction by which the record object is to be changed, wherein the record object is immutable;

storing, by one or more processors, a change object as a standalone object including the change method instruction, a description of a reason for the change, and metadata pointing to the record object;

modifying, by one or more processors, metadata of all previous versions of the record object to include a pointer to the change object; and

applying, by one or more processors, the change method instruction to the record object when responding to a retrieve or restore request for the record object.

2. The method as claimed in claim 1 :

wherein capturing a change to a record object further comprises capturing, by one or more processors, a description of a reason for the change; and

wherein storing the change object as a standalone object further comprises storing, by one or more processors, the description in the change object.

3. The method as claimed in claim 1 , further comprising:

storing, by one or more processors, a series of interdependent change objects to accommodate multiple changes to a record object over time, wherein interdependent change objects include metadata with pointers to dependent change objects.

4. The method as claimed in claim 1 , further comprising:

receiving, by one or more processors, a request for a record object; and

applying, by one or more processors, one or more change method instructions to the record object by iterating through applicable change method instructions of one or more change objects pointed to by the record object metadata.

5. The method as claimed in claim 1 , further comprising:

receiving, by one or more processors, a request for a record object;

notifying, by one or more processors, a user making the request that one or more changes to the record object are available; and

applying, by one or more processors, a change method instruction of one or more change objects pointed to by the record object according to a user selection.

6. The method as claimed in claim 1 , further comprising:

receiving, by one or more processors, a request for a record object; and

enforcing, by one or more processors, application of change method instructions of one or more change objects pointed to by the record object metadata by default.

7. The method as claimed in claim 1 , further comprising:

checking, by one or more processors, integrity of a record object and a change object before applying a change method instruction of a change object to the record object.

8. The method as claimed in claim 1 , further comprising:

configuring, by one or more processors, processing of a request to access a record object or a change object to allow unchanged record objects to be retrieved or restored by authorized operators.

9. The method as claimed in claim 1 , further comprising:

retrieving, by one or more processors, a record object for a record, wherein retrieving the record object for the record further comprises:

requesting, by one or more processors, the record object from storage;

retrieving, by one or more processors, the record object from storage and reading the record object metadata to identify any changes to the record object;

retrieving, by one or more processors, one or more change objects from storage;

applying, by one or more processors, one or more change method instructions to the record object as provided in the one or more change objects; and

returning, by one or more processors, a resultant object from applying the one or more change method instructions to the record object.

10. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to capture a change to a record object, wherein the change includes details of the record object to be changed and a change method instruction by which the record object is to be changed, wherein the record object is immutable;

program instructions to store a change object as a standalone object including the change method instruction, a description of a reason for the change, and metadata pointing to the record object;

program instructions to modify metadata of all previous versions of the record object to include a pointer to the change object; and

program instructions to apply the change method instruction to the record object when responding to a retrieve or restore request for the record object.

11. The computer program product of claim 10 :

wherein program instructions to capture a change to a record object further comprise program instructions to capture a description of a reason for the change; and

wherein program instructions to store the change object as a standalone object further comprise program instructions to store the description in the change object.

12. The computer program product of claim 10 , further comprising program instructions, stored on the one or more computer readable storage media, to:

store a series of interdependent change objects to accommodate multiple changes to a record object over time, wherein interdependent change objects include metadata with pointers to dependent change objects.

13. The computer program product of claim 10 , further comprising program instructions, stored on the one or more computer readable storage media, to:

receive a request for a record object; and

apply one or more change method instructions to the record object by iterating through applicable change method instructions of one or more change objects pointed to by the record object metadata.

14. The computer program product of claim 10 , further comprising program instructions, stored on the one or more computer readable storage media, to:

receive a request for a record object;

notify a user making the request that one or more changes to the record object are available; and

apply a change method instruction of one or more change objects pointed to by the record object according to a user selection.

15. A computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to capture a change to a record object, wherein the change includes details of the record object to be changed and a change method instruction by which the record object is to be changed, wherein the record object is immutable;

program instructions to store a change object as a standalone object including the change method instruction, a description of a reason for the change, and metadata pointing to the record object;

program instructions to modify metadata of all previous versions of the record object to include a pointer to the change object; and

program instructions to apply the change method instruction to the record object when responding to a retrieve or restore request for the record object.

16. The computer system of claim 15 :

wherein program instructions to capture a change to a record object further comprise program instructions to capture a description of a reason for the change; and

wherein program instructions to store the change object as a standalone object further comprise program instructions to store the description in the change object.

17. The computer system of claim 15 , further comprising program instructions, stored on the computer readable storage media for execution by at least one of the one or more processors, to:

store a series of interdependent change objects to accommodate multiple changes to a record object over time, wherein interdependent change objects include metadata with pointers to dependent change objects.

18. The computer system of claim 15 , further comprising program instructions, stored on the computer readable storage media for execution by at least one of the one or more processors, to:

receive a request for a record object; and

apply one or more change method instructions to the record object by iterating through applicable change method instructions of one or more change objects pointed to by the record object metadata.

19. The computer system of claim 15 , further comprising program instructions, stored on the computer readable storage media for execution by at least one of the one or more processors, to:

receive a request for a record object;

notify a user making the request that one or more changes to the record object are available; and

apply a change method instruction of one or more change objects pointed to by the record object according to a user selection.

20. The computer system of claim 15 , further comprising program instructions, stored on the computer readable storage media for execution by at least one of the one or more processors, to:

receive a request for a record object; and

enforce application of change method instructions of one or more change objects pointed to by the record object metadata by default.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2021
From: MACINTOSH, FRASER IAIN; LICKORISH, ROSANNA; LONGLAND, MARK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 055564/0836 →
Continuity (1)
Related Publication 20220292073A1 · Sep 15, 2022