Patent ID: 7555606

Claim:
A method, comprising: receiving a job for computation by a distributed computing system comprising one or more node computing devices in communication with a cache; processing, on one of said node computing devices, said job to create an intermediate result for storage in said cache, wherein said intermediate result comprises data wherein a time required to obtain said data by computation or retrieval from a data storage external to said distributed computer system is at least marginally greater than that of retrieving said intermediate result from said cache; storing said intermediate result in said cache; and accessing said cache by presenting a lookup function to said cache, wherein said lookup function comprises a key and a compute function configured to produce said intermediate result, wherein said accessing further comprises: determining whether said key is found in said cache; responsive to determining that said key is not found, computing said compute function to regenerate said intermediate result; and preventing a second node computing device from computing said compute function during said computing said compute function to regenerate said intermediate result.