Patent ID: 7653916

Claim:
One or more computer-readable storage media having stored thereon a plurality of instructions that, when executed by one or more processors, causes the one or more processors to perform acts including: receiving from an application a request for one or more function instances, the request including a resource category, wherein the receiving is carried out by an application programming interface that includes methods for enabling the application to request the one or more function instances; selecting a function instance provider from a plurality of function instance providers based on the resource category, wherein the selecting a function instance provider from a plurality of function instance providers is carried out by a provider management module; selecting one or more function instances using the selected function instance provider, each selected function instance corresponding to a resource, wherein the selecting one or more function instances includes selecting a node in a hierarchical tree structure of resource categories based on the request and retrieving function instances specified in at least one application programming interface associated with the selected node; and returning to the application, the one or more selected function instances, each selected function instance containing a metadata field and an activation field, wherein the activation field contains an indicator to a table that contains application programming interfaces for resources corresponding to the selected one or more function instances; and wherein the computer-readable storage medium comprises stored thereon a data structure of the table, the data structure comprising a plurality of interface fields, each interface field containing data representing an interface for accessing a single resource, and a factory field associated with each interface field, each factory field specifying a factory operable to create an entity that implements the interface specified in its associated interface field.