Patent ID: 7599959

Claim:
A method for accessing data in a computer system, the method comprising: receiving a data access request at a data storage manager, the data access request including at least one of a request to write data or a request to read data, a user management layer comprising the data storage manager and a plurality of application programming interfaces, the user management layer interfacing a plurality of applications, at least one of the applications providing the data access request, the user management layer further interfacing a plurality of adapters each configured to determine whether at least one of a plurality of repositories has information needed to respond to the data access request and a location for at least one of the plurality of repositories, the plurality of adapters each interfacing at least one of the plurality of repositories, wherein the data storage manager, the plurality of application programming interfaces, and the plurality of adapters are implemented using at least one of a processor and a memory; identifying from the plurality of repositories at least one repository that satisfies the data access request using, at least in part, rules stored in the data storage manager identifying at least one of the plurality of adapters for the data access of the at least one repository, wherein the plurality of repositories includes repositories of at least two different types that store information relating to data objects and data from each data object is selectively partitioned among the at least two different types of repositories, wherein the plurality of application programming interfaces comprise a user application programming interface, a group application programming interface, a role application programming interface, and a user account application programming interface, the data storage manager coupled to the at least one adapter; and fulfilling the data access request using the at least one identified repository to perform at least one of writing data to a repository or reading data from a repository.