Patent ID: 8412685

Claim:
A method of managing data, the method comprising: receiving a first data storage request for a first file associated with a first file system path; determining a unique identifier for the first file based on at least a portion of content of the first file; determining if the content of the first file has been previously stored based on the unique identifier; and in response to the determination that the content of the first file has not been previously stored: storing the content of the first file in a first storage location; generating first metadata representing the first file system path; associating the first metadata with the content in the first storage location; executing, by an abstraction layer that is common to all users, a policy to determine additional metadata for the first file based on the content of the first file, or the first metadata, or both the content of the first file and the first metadata, wherein the first file is associated with a user, and wherein the policy is executed at least when the content of the first file is changed by the user; associating the additional metadata with the content in the first storage location; generating a first virtual file system path based on the first metadata and the additional metadata, wherein the first virtual file system path specifies a first virtual storage location in a virtual file system for accessing the content of the first file, providing the virtual file system including the first virtual file system path, such that the content of the first file stored in the first storage location can be accessed through the first virtual storage location in the virtual file system using the first virtual file system path.