During the ongoing process of calculating the service levels for each of the Metrics, the Engine is often forced to perform a partial calculation for a period that has not yet completed. In order to ensure that it does not need to go right back to the start of the calculation when new data arrives over time, it performs a type of backup of its current 'state' before moving on to its next calculation task. At this point it takes a snapshot of the current variables and values at that point in the calculation and saves this 'state' to the database.
The Business Logic backup process is a mechanism by which the Business Logic code, including the variables' values, is encoded into a binary stream and saved in the database. This mechanism is also required in order to speed up the calculation engine performance in cases of recalculations. The state is backed up from time to time, and is used in recalculation and as an efficiency measure for continuing calculations.
For example, if a recalculation is required for a month retroactively, then instead of recalculating the results from the beginning of the Contract, the closest backed up state before the recalculation date is used and the calculations are performed from that state onwards.
The calculation engine uses pre-defined heuristics to determine when backup is needed and uses the backup capabilities to store the encoded state in the database.
In the figure below, the red dots represent a state backup. The further back the consideration, the fewer the number of backed up states that are taken into account. The logic behind this mechanism is the assumption that recalculation is usually required for the time period closer than one month back.

|
Copyright © 2013 CA.
All rights reserved.
|
|