Patent ID: 8806502

Claim:
A method for batching resource requests in a portable computing device having a plurality of resources, the method comprising: instantiating in a memory device a plurality of nodes, wherein: each node is associated with, and provides indirect access to one or more of the plurality of resources; and each node is comprised within a directed acyclic graph that defines an order of dependencies among the plurality of resources, wherein each node of the directed acyclic graph represents an encapsulation of functionality of one or more resources controlled by a processor, each edge of the directed acyclic graph represents a client request, and adjacent nodes of the directed acyclic graph represent resource dependencies; receiving one or more client requests directed to a first processing entity, wherein a client request comprises a plurality of resource requests and two or more of the plurality of resource requests indicate resources controlled by a second processing entity and inaccessible to the first processing entity; generating a transaction of resource requests corresponding to the plurality of resource requests that comprises requests to the two or more resources controlled by the second processing entity; directing each resource request in the transaction to one of the plurality of nodes which is associated with, and provides indirect access to, the resource indicated by the resource request; locking the two or more resources controlled by the second processing entity, wherein locking precludes access to a resource for resource requests not included in the transaction; adding information associated with the resource requests in the transaction to a queue, wherein the resources indicated by the information in the queue are controlled by the second processing entity; transmitting the queue to the second processing entity; and unlocking the two or more resources controlled by the second processing entity after transmitting the queue.