Patent Document ID: 9922135
Application ID: 14104487
Patent Status: 1

Claim One:
1. An apparatus for distributed storage and retrieval of a version control graph comprising one or more nodes having one or more associated version control objects, the apparatus comprising: a processor; and a computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the apparatus to: store a first set of one or more version control objects of the version control graph, the storing comprising: receiving the one or more version control objects of the version control graph, utilizing a relatedness heuristic to group the received one or more version control objects into one or more chunks, causing the one or more chunks to be stored in a distributed object store, and creating index entries for the one or more version control objects in a distributed key/value data store, each index entry comprising a unique identifier for a version control object and data identifying a location of the version control object in the distributed object store; and retrieve a second set of one or more version control objects of the version control graph, the retrieving comprising: receiving a request for the second set of version control objects in a portion of the version control graph, the request comprising a unique identifier for an entry point version control object in the version control graph; utilizing the unique identifier for the entry point version control object to retrieve the entry point version control object or a chunk containing the entry point version control object from the distributed object store; determining that the entry point version control object references other version control objects in the version control graph; utilizing unique identifiers for the referenced version control objects to retrieve the referenced version control objects or one or more chunks containing the referenced version control objects from one or more of the distributed object store or from a previously retrieved chunk; retrieving additional referenced version control objects or chunks containing additional referenced version control objects from the distributed object store or a previously retrieved chunk until no additional referenced version control objects remain to be retrieved or a stopping condition has been reached; and responding to the request for the objects in the portion of the version control graph with the retrieved objects.