Patent ID: 7574457

Claim:
One or more computer readable storage media having stored thereon a plurality of instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform a method comprising: maintaining a plurality of electronic files across a plurality of networked computing devices, the plurality of networked computing devices forming an electronic file system, wherein each electronic file is stored on one of the plurality of networked computing devices, and wherein each of the electronic files is encrypted; maintaining a plurality of non-mutating file identifiers, one non-mutating file identifier for each electronic file, across a plurality of tree structures, one or more tree structures residing on each of the plurality of networked computing devices, wherein each of the plurality of tree structures is located on a computer readable storage media distinct from any computer readable storage media storing one or more of the electronic files, wherein each non-mutating file identifier does not change over time over the lifespan of a corresponding electronic file, wherein each of the plurality of non-mutating file identifiers is unique across the electronic file system, and wherein each of the plurality of non-mutating file identifiers is formed by concatenating each of a plurality of encoded identifier components, wherein each of the plurality of encoded identifier components is encoded by: converting an identifier component into a binary representation; identifying a number of bits in the binary representation; decrementing the number of bits by one to obtain an undated number of bits; generating a string of 1's having a length equal to the updated number of bits; appending a 0 to the end of the string of 1's; and appending to the string of 1's, after the 0, all of the bits of the binary representation except for a leading 1 in the binary representation; and identifying a file path name of an electronic file in the electronic file system using the corresponding non-mutating file identifier to identify a path in the electronic file system to a location on one of the plurality of networked computing devices where the corresponding electronic file is located by accessing successive nodes in the plurality of tree structures, wherein each node in each tree structure corresponds to a component of the corresponding non-mutating file identifier.