System and method for managing resources of a portable computing device
First Claim
1. A method for managing resources of a single portable computing device having a plurality of device resources controlled by at least one processor, the method comprising:
- receiving node structure data with a framework manager for forming a node, the node structure data comprising a unique name for each resource contained within the single portable computing device that is part of the node, each resource comprising at least one of a hardware element and a software element contained within the single portable computing device;
reviewing the node structure data with the framework manager for one or more dependencies that exist within the single portable computing device;
determining with the framework manager if each resource associated with a dependency exists within a node framework for the single portable computing device, the node framework defined by a graph with the framework manager wherein each node of the graph represents one or more resources controlled by the processor of the single portable computing device, wherein at least one node of the graph represents a plurality of resources controlled by the processor of the single portable computing device, wherein each node of the graph is configured to manage a client request issued by a client of the node within the single portable computing device, wherein the client corresponds to a keypress action occurring within an application program supported by the portable computing device, and wherein coupling between adjacent nodes of the graph represent resource dependencies that exist within the single portable computing device;
if a resource associated with a dependency does not exist, then storing by the framework manager the node structure data in a temporary storage within the single portable computing device;
if each resource for each dependency exists, then instantiating by the framework manager the node and its one or more corresponding resources for supporting the single portable computing device,wherein instantiating the node includes creating at least one client associated with the node being instantiated, wherein the client identifies the one or more resources corresponding to the instantiated node associated with the client, wherein creating the at least one client associated with the node being instantiated includesreceiving a client type category assigned to the client being created,determining if the one or more resources identified by the client are available,if the one or more resources corresponding to the instantiated node associated with the client are available, thendetermining if the one or more resources identified by the client support the client type assigned to the client,if the one or more resources identified by the client support the client type assigned to the client, then creating the client,if the one or more resources identified by the client do not support the client type assigned to the client, then returning a message indicating that the client cannot be created,if the one or more resources corresponding to the instantiated node associated with the client are not available, then returning a message indicating that the client cannot be created,coupling the created client to its corresponding one or more resources in an idle or requested state;
if the node is instantiated, then publishing the node within the node framework using the one or more unique names corresponding node'"'"'s one or more resources so that other nodes are able to send information to or receive information from the newly instantiated node within the single portable computing device, andmanaging communications among one or more nodes of the node framework and recording activity of each resource in memory by its unique name.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for managing resources of a portable computing device is disclosed. The method includes receiving node structure data for forming a node, in which the node structure data includes a unique name assigned to each resource of the node. A node has at least one resource and it may have multiple resources. Each resource may be a hardware or software element. The system includes a framework manger which handles the communications between existing nodes within a node architecture. The framework manager also logs activity of each resource by using its unique name. The framework manager may send this logged activity to an output device, such as a printer or a display screen. The method and system may help reduce or eliminate a need for customized APIs when a new hardware or software element (or both) are added to a portable computing device.
54 Citations
32 Claims
-
1. A method for managing resources of a single portable computing device having a plurality of device resources controlled by at least one processor, the method comprising:
-
receiving node structure data with a framework manager for forming a node, the node structure data comprising a unique name for each resource contained within the single portable computing device that is part of the node, each resource comprising at least one of a hardware element and a software element contained within the single portable computing device; reviewing the node structure data with the framework manager for one or more dependencies that exist within the single portable computing device; determining with the framework manager if each resource associated with a dependency exists within a node framework for the single portable computing device, the node framework defined by a graph with the framework manager wherein each node of the graph represents one or more resources controlled by the processor of the single portable computing device, wherein at least one node of the graph represents a plurality of resources controlled by the processor of the single portable computing device, wherein each node of the graph is configured to manage a client request issued by a client of the node within the single portable computing device, wherein the client corresponds to a keypress action occurring within an application program supported by the portable computing device, and wherein coupling between adjacent nodes of the graph represent resource dependencies that exist within the single portable computing device; if a resource associated with a dependency does not exist, then storing by the framework manager the node structure data in a temporary storage within the single portable computing device; if each resource for each dependency exists, then instantiating by the framework manager the node and its one or more corresponding resources for supporting the single portable computing device, wherein instantiating the node includes creating at least one client associated with the node being instantiated, wherein the client identifies the one or more resources corresponding to the instantiated node associated with the client, wherein creating the at least one client associated with the node being instantiated includes receiving a client type category assigned to the client being created, determining if the one or more resources identified by the client are available, if the one or more resources corresponding to the instantiated node associated with the client are available, then determining if the one or more resources identified by the client support the client type assigned to the client, if the one or more resources identified by the client support the client type assigned to the client, then creating the client, if the one or more resources identified by the client do not support the client type assigned to the client, then returning a message indicating that the client cannot be created, if the one or more resources corresponding to the instantiated node associated with the client are not available, then returning a message indicating that the client cannot be created, coupling the created client to its corresponding one or more resources in an idle or requested state; if the node is instantiated, then publishing the node within the node framework using the one or more unique names corresponding node'"'"'s one or more resources so that other nodes are able to send information to or receive information from the newly instantiated node within the single portable computing device, and managing communications among one or more nodes of the node framework and recording activity of each resource in memory by its unique name. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system for managing resources of a single portable computing device having a plurality of device resources controlled by at least one processor, the system comprising:
a processor operable to; receive node structure data for forming a node, the node structure data comprising a unique name for each resource contained within the single portable computing device that is part of the node, each resource comprising at least one of a hardware element and a software element contained within the single portable computing device; review the node structure data for one or more dependencies that exist within the single portable computing device; determine if each resource associated with a dependency exists within a node framework, the node framework defined by a graph wherein each node of the graph represents one or more resources controlled by the processor of the single portable computing device, wherein at least one node of the graph represents a plurality of resources controlled by the processor of the single portable computing device, wherein each node of the graph is configured to manage a client request issued by a client of the node, wherein the client corresponds to a keypress action occurring within an application program supported by the portable computing device, and wherein coupling between adjacent nodes of the graph represent resource dependencies that exist within the single portable computing device; if a resource associated with a dependency does not exist, then the processor is operable to store the node structure data in a temporary storage within the single portable computing device; if each resource for each dependency exists, then the processor is operable to instantiate the node and its one or more corresponding resources for supporting the single portable computing device; wherein instantiating the node includes creating at least one client associated with the node being instantiated, wherein the client identifies the one or more resources corresponding to the instantiated node associated with the client, wherein creating the at least one client associated with the node being instantiated includes receiving a client type category assigned to the client being created, determining if the one or more resources identified by the client are available, if the one or more resources corresponding to the instantiated node associated with the client are available, determining if the one or more resources identified by the client support the client type assigned to the client, if the one or more resources identified by the client support the client type assigned to the client, then creating the client, if the one or more resources identified by the client do not support the client type assigned to the client, then returning a message indicating that the client cannot be created, if the one or more resources corresponding to the instantiated node associated with the client are not available, then returning a message indicating that the client cannot be created, coupling the created client to its corresponding one or more resources in an idle or requested state; if the node is instantiated, then the processor is operable to publish the node within the node framework using the one or more unique names corresponding node'"'"'s one or more resources so that other nodes are able to send information to or receive information from the newly instantiated node within the single portable computing device, and manage communications among one or more nodes of the node framework and record activity of each resource in memory by its unique name. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
17. A computer system for managing resources of a single portable computing device having a plurality of device resources controlled by at least one processor, the system comprising:
-
means for receiving node structure data for forming a node, the node structure data comprising a unique name for each resource contained within the single portable computing device that is part of the node, each resource comprising at least one of a hardware element and a software element contained within the single portable computing device; means for reviewing the node structure data for one or more dependencies that exist within the single portable computing device; means for determining if each resource associated with a dependency exists within a node framework for the single portable computing device, the node framework defined by a graph wherein each node of the graph represents one or more resources controlled by the processor of the single portable computing device, wherein at least one node of the graph represents a plurality of resources controlled by the processor of the single portable computing device, wherein each node of the graph is configured to manage a client request issued by a client of the node within the single portable computing device, wherein the client corresponds to a keypress action occurring within an application program supported by the portable computing device, and wherein coupling between adjacent nodes of the graph represent resource dependencies that exist within the single portable computing device; means for storing the node structure data in a temporary storage within the single portable computing device if a resource associated with a dependency does not exist; means for instantiating the node and its one or more corresponding resources for supporting the single portable computing device if each resource for each dependency exists, wherein the means for instantiating the node includes means for creating at least one client associated with the node being instantiated, wherein the client identifies the one or more resources corresponding to the instantiated node associated with the client wherein the means for creating the at least one client associated with the node being instantiated includes means for receiving a client type category assigned to the client being created, means for determining if the one or more resources identified by the client are available, if the one or more resources corresponding to the instantiated node associated with the client are available, then determining if the one or more resources identified by the client support the client type assigned to the client, if the one or more resources identified by the client support the client type assigned to the client, then creating the client, if the one or more resources identified by the client do not support the client type assigned to the client, then returning a message indicating that the client cannot be created, if the one or more resources corresponding to the instantiated node associated with the client are not available, then returning a message indicating that the client cannot be created, means for coupling the created client to its corresponding one or more resources in an idle or requested state; means for publishing the node within the node framework using the one or more unique names corresponding node'"'"'s one or more resources if the node is instantiated, so that other nodes are able to send information to or receive information from the newly instantiated node within the single portable computing device, and means for managing communications among one or more nodes of the node framework and recording activity of each resource in memory by its unique name. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. 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 managing resources of a single portable computing device having a plurality of device resources controlled by at least one processor, said method comprising:
-
receiving node structure data with a framework manager for forming a node, the node structure data comprising a unique name for each resource contained within the single portable computing device that is part of the node, each resource comprising at least one of a hardware element and a software element contained within the single portable computing device; reviewing the node structure data with a framework manager for one or more dependencies that exist within the single portable computing device; determining with the framework manager if each resource associated with a dependency exists within a node framework for the single portable computing device, the node framework defined by a graph with the framework manager wherein each node of the graph represents one or more resources controlled by the processor of the single portable computing device, wherein at least one node of the graph represents a plurality of resources controlled by the processor of the single portable computing device, wherein each node of the graph is configured to manage a client request issued by a client of the node within the single portable computing device, and wherein coupling between adjacent nodes of the graph represent resource dependencies that exist within the single portable computing device; if a resource associated with a dependency does not exist, then storing by the framework manager the node structure data in a temporary storage within the single portable computing device; if each resource for each dependency exists, then instantiating by the framework manager the node and its one or more corresponding resources for supporting the single portable computing device wherein instantiating the node includes creating at least one client associated with the node being instantiated, wherein the client identifies the one or more resources corresponding to the instantiated node associated with the client, wherein creating the at least one client associated with the node being instantiated includes receiving a client type category assigned to the client being created, determining if the one or more resources identified by the client are available, if the one or more resources corresponding to the instantiated node associated with the client arc available, then determining if the one or more resources identified by the client support the client type assigned to the client, if the one or more resources identified by the client support the client type assigned to the client, then creating the client, if the one or more resources identified by the client do not support the client type assigned to the client, then returning a message indicating that the client cannot be created, if the one or more resources corresponding to the instantiated node associated with the client are not available, then returning a message indicating that the client cannot be created, coupling the created client to its corresponding one or more resources in an idle or requested state; if the node is instantiated, then publishing the node within the node framework using the one or more unique names corresponding node'"'"'s one or more resources so that other nodes are able to send information to or receive information from the newly instantiated node within the single portable computing device, and managing communications among one or more nodes of the node framework and recording activity of each resource in memory by its unique name. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
Specification