METHODS, APPARATUS AND COMPUTER PROGRAMS FOR MANAGING PERSISTENCE
1 Assignment
0 Petitions
Accused Products
Abstract
Described are methods, apparatus and computer programs for managing persistence within a data processing system such as a messaging system, database system or file system. The method for managing persistence includes a deferred evaluation (230,330,430) of at least one criterion associated with costs and/or benefits of saving to persistent storage, instead of persistence behaviour being fully predefined. The evaluation may be performed when a disk write is about to be performed (240,340,440), or at various times during processing of a data update and at various points within a data processing network. In a messaging solution, the method for managing persistence includes a dynamic evaluation (230,330,430) of costs and/or benefits of saving to persistent storage, with the evaluation being performed at various points in the messaging network after the message has been created and sent by the originating entity. The method includes determining whether message data and/or log records relating to the message require saving to persistent storage, in accordance with the costs and/or the benefits of saving to persistent storage. The benefits of persisting may be determined with reference to a message value (400).
3 Citations
29 Claims
-
1-7. -7. (canceled)
-
8. A data processing apparatus comprising:
-
a processor; a volatile data store; a non-volatile data store; a persistence manager for managing saving of data to the non-volatile data store and executing by the processor; and
,a messaging manager also executing by the processor; wherein the persistence manager during execution performs; evaluating at least one criterion of a set of criteria, the set of criteria representing costs of saving and risks associated with not saving data to persistent storage, to determine whether to save a data update to persistent storage, the evaluating comprising valuating a risk of loss of data relating to a message and evaluating a potential cost of said loss based on a value of the message; and in response to a determination that the data update should be saved to persistent storage, initiating, by the persistence manager, a save of the data update to persistent storage; in response to determining that the data update should not be saved to the persistent storage, setting, by the persistence manager, a timer for a next evaluation; determining, by the persistence manager, whether to save the data update to the persistent storage based upon evaluating the at least one criterion of the set of criteria at an end of a set time period resulting from an expiration of the timer; and
,saving the data update to the persistent storage upon a determination to save the data update to the persistent storage. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. (canceled)
-
19. A method for managing persistence of data within a data processing apparatus, comprising the steps of:
-
evaluating, by a persistence manager executing in a memory of a computer, at least one criterion of a set of criteria, the set of criteria representing costs of saving and risks associated with not saving data to persistent storage, to determine whether to save a data update to persistent storage, the evaluating comprising valuating a risk of loss of data relating to a message and evaluating a potential cost of said loss based on a value of the message; and in response to a determination that the data update should be saved to persistent storage, initiating, by the persistence manager, a save of the data update to persistent storage; in response to determining that the data update should not be saved to the persistent storage, setting, by the persistence manager, a timer for a next evaluation; determining, by the persistence manager, whether to save the data update to the persistent storage based upon evaluating the at least one criterion of the set of criteria at an end of a set time period resulting from an expiration of the timer; and
,saving the data update to the persistent storage upon a determination to save the data update to the persistent storage. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. (canceled)
Specification