Batching resource requests in a portable computing device
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
Abstract
In a portable computing device having a node-based resource architecture, resource requests are batched or otherwise transactionized to help minimize inter-processing entity messaging or other messaging or provide other benefits. In a resource graph defining the architecture, each node or resource of the graph represents an encapsulation of functionality of one or more resources controlled by a processor or other processing entity, each edge represents a client request, and adjacent nodes of the graph represent resource dependencies. A single transaction of resource requests may be provided against two or more of the resources.
-
Citations
20 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer system for batching resource requests in a portable computing device having a plurality of resources, the computer system comprising:
-
a framework manager operable for; 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 defines an order of dependencies among a plurality of resources, wherein; each node of a 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 in 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. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer system for batching resource requests in a portable computing device having a plurality of resources, the computer system comprising:
-
means for 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 in the directed acyclic graph represent resource dependencies; means for 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; means for 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; means for 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; means for 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; means for 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; means for transmitting the queue to the second processing entity; and means for unlocking the two or more resources controlled by the second processing entity after transmitting the queue. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer program product comprising a non-transitory computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for batching resource requests in a portable computing device having a plurality of resources, said 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. - View Dependent Claims (17, 18, 19, 20)
-
Specification