Patent ID: 8515911
Filing Date: 2013-08-20
Classification: G06F

Abstract:
1. A method of organizing a plurality of versions of a file, wherein the plurality of versions of the file comprise a production version, at least two snapshot versions, and one or more branch versions, wherein each snapshot version is a read-only copy of the production version or of one of the one or more branch versions, and wherein each branch version is a modifiable copy of one of the at least two snapshot versions, the method comprising: storing the plurality of versions of the file in a data structure having a hierarchical organization that reflects relationships among the plurality of versions, and wherein each version of the plurality of versions is assigned a name that identifies its position in the hierarchical organization, wherein the plurality of versions of the file are represented as a plurality of objects, each of the plurality of objects being representative of one of the plurality of versions of the file, wherein the hierarchical organization is established through a plurality of links, each link being between two of the plurality of objects, wherein the at least two snapshot versions include a parent version and a child version that is derived from the parent version, and wherein the plurality of links establishes at least one software-traversable path from the child version to the production version that does not include the parent version, wherein the at least one software-traversable path is established while both the child version and the parent version exist and prior to receiving a request to delete the parent version; and after the at least one software-traversable path from the child version to the production version is established, deleting the parent version from the data structure.