Patent ID: 9218386
Filing Date: 2015-12-22
Classification: G06F

Abstract:
1. A computer program, embodied on a non-transitory computer readable medium, the computer program configured to control a processor to perform a dual locking process for a domain, the dual locking comprising: creating primary and secondary lock files to manage exclusive access to the domain by a batch process and shared access to the domain by a plurality of concurrently-executing workbook processes, each workbook process operating on a local copy of at least a subset of the data stored in the domain, each workbook process performing at least one of a build operation, a refresh operation or a commit operation; in response to a request from a workbook process, providing a shared lock on the primary lock file to the workbook process when there is not an exclusive lock on the primary lock file; in response to a request from a workbook process holding a shared lock on the primary lock file, providing a shared lock on the secondary lock file to the first workbook process, releasing the shared lock on the primary lock file, and releasing the shared lock on the secondary lock file after the workbook process is completed; in response to a request from the batch process, providing an exclusive lock on the primary lock file to the batch process when there is not a shared lock on the primary lock file; while the batch process is holding the exclusive lock on the primary lock file, in response to a request from the batch process, providing an exclusive lock on the secondary lock file to the batch process after all of the shared locks on the secondary lock file have been released by the workbook processes; and while the batch process is holding the exclusive locks on the primary and secondary lock files, submitting workbook process commit operations to a queue for execution after the exclusive locks on the primary and secondary lock files have been released by the batch process.