Patent ID: 8370317

Claim:
A computer-implemented method of processing an access request for a shared resource of a collection of worksheets, the method to be performed on a computer, the computer comprising a processing unit and a memory, the method comprising: composing a key associated with the shared resource from the access request; locking the collection of worksheets using a read lock; determining whether the key exists in the collection; if the key exists in the collection: determining whether the shared resource associated with the key is stale; if the shared resource is not stale, unlocking the collection, waiting for a signal and returning the shared resource in response to the access request; if the key does not exist in the collection: locking the collection of worksheets using a write-lock; adding a resource entry to the collection of worksheets, responsive to the locking operation, the resource entry comprising an event object and a reference to the shared resource, the resource entry serving as a placeholder for the shared resource before the shared resource is built; prior to building the shared resource, unlocking the collection of worksheets, responsive to the adding operation; building the shared resource referenced by the resource entry in the collection of worksheets, responsive to the unlocking operation, the shared resource comprises a data object; and, accessing the event object to determine whether the event object has received a signal indicating that the shared resource has been successfully built.