1. A computer-implemented method comprising steps of: storing and indexing data objects, each having a file identification, by said file identifications using an index having a tree configuration, wherein said index defines a virtual directory structure for a plurality of application files, each application file thereby having a location within said virtual directory structure, and said index is traversed to identify a location of a data object, wherein each of said data objects contains data that facilitates the access of a corresponding application file; analyzing data objects to assess an extent to which the location within said virtual directory structure of the application file corresponding to a second data object is related to the location within the virtual directory structure of the application file corresponding to a first data object; and allocating similar file identifications to the data objects corresponding to related application files, thereby clustering, within said tree, locations of data objects corresponding to related application files; wherein an application file may be a directory or a file, and a data object corresponding to a directory includes a reference to a further index that indexes the contents of the directory, wherein each of said further indices has a tree configuration, and wherein said further index is a B+ tree in which the keys are the names of application files and the values are corresponding file identifications; wherein: said step of analyzing data objects is performed by assessing the location of corresponding application files within a virtual directory structure, where application files located within the same virtual directory are considered to be more related than those located within different virtual directories, and wherein: said step of assessing the location of corresponding application files is performed by splitting the location path of an application file into a plurality of parts, creating a hash of each part and combining said hashes.