Patent ID: 8204930

Claim:
A method for provisioning content over a network, comprising: (a) employing an application programming interface (API) configured to enable at least part of the provisioning of content on at least one cache server, the API performing actions that include: (i) prepopulating content on the at least one cache server from at least one origin server; (ii) expiring content on the at least one cache server; (iii) pinning content in a memory of the at least one cache server based on a quota for a client; (iv) employing the quota to assign resources on the at least one cache server for the client; (v) retrieving content from the at least one cache server; (vi) flushing deleted content from the at least one cache server; and (vii) employing a security layer that evaluates a received request message to determine whether a sender of the request message has permission to perform an instruction identified within the request message that corresponds to one or more of the (i)-(vi) actions, wherein the API is pre-configured to perform all of actions (i)-(vii) and arranged to provide for direct interaction with a plurality of types of network devices that include the at least one cache server and at least one of the at least one origin server, a server array controller, a cache controller, and a gateway; (b) distributing copies of the API to each of the plurality of network devices, each distributed API performing a different subset of (i)-(vii) actions for interacting with content on the network device of the plurality of network devices to which the API is distributed, the different subset of actions for each API being determined by each distributed API in response to an identical request message sent to each distributed API and based on characteristics of the request message, a type of the network device of the plurality of devices to which the API is distributed, and resources for which the API acts as an interface; and (c) routing the request message to an appropriate API of the distributed APIs and receiving content from the at least one cache server in response to the request message, the request message including an instruction for at least one action of the (i)-(vi) actions to be performed by the API, wherein each of the of distributed APIs is configured to adapt the request message to enable the associated network device to perform the at least one requested action.