System and method for leveraging independent innovation in entertainment content and graphics hardware
First Claim
1. A computer based method of dynamically configuring the execution of an application for a particular hardware configuration comprising:
- loading an application graph of the application on a hardware configuration, wherein the application graph is a directed data flow graph wherein a node of the application graph identifies a processing block and links of the application graph indicate the direction of the data flow between processing blocks, wherein the application graph is independent of hardware configurations;
loading a dictionary of components on the hardware configuration, wherein a component represents a feature, wherein a component contains at least one implementation of the feature, wherein an implementation of the feature is represented by a set of processing blocks, wherein an implementation of the feature is customized for at least one hardware configuration;
inserting at least one set of processing blocks representing an implementation of a component into the application graph, wherein the implementation is customized for the hardware configuration; and
executing the application graph, wherein the application graph is dynamically modified, wherein said executing step includes;
traversing the application graph;
executing the processing blocks of the application graph, wherein executing the processing blocks specifies a necessary feature;
selecting a component from the dictionary based on the specified necessary feature;
selecting an implementation from the selected component based on the hardware configuration; and
modifying the application graph dynamically at run time by inserting the set of processing blocks of the selected implementation into the application graph.
6 Assignments
0 Petitions
Accused Products
Abstract
A method for supporting development of content independent of a run time platform is provided. A method includes storing processing blocks and storing an application graph that expresses the identity of the stored processing blocks and data connectivity therebetween. The application graph can be traversed by a graphical application platform at run time to execute appropriate blocks. A game development and run time system includes a graphical application platform that enables a game application to run on any of multiple hardware platforms. The graphical application platform has an application real time kernel, a plurality of standard features implemented as executable blocks of logic, and connections between blocks that implement data flow between the blocks. Capabilities of the game application and any of the hardware platforms can be implemented modularly by adding additional corresponding blocks and connections.
-
Citations
12 Claims
-
1. A computer based method of dynamically configuring the execution of an application for a particular hardware configuration comprising:
-
loading an application graph of the application on a hardware configuration, wherein the application graph is a directed data flow graph wherein a node of the application graph identifies a processing block and links of the application graph indicate the direction of the data flow between processing blocks, wherein the application graph is independent of hardware configurations; loading a dictionary of components on the hardware configuration, wherein a component represents a feature, wherein a component contains at least one implementation of the feature, wherein an implementation of the feature is represented by a set of processing blocks, wherein an implementation of the feature is customized for at least one hardware configuration; inserting at least one set of processing blocks representing an implementation of a component into the application graph, wherein the implementation is customized for the hardware configuration; and executing the application graph, wherein the application graph is dynamically modified, wherein said executing step includes; traversing the application graph; executing the processing blocks of the application graph, wherein executing the processing blocks specifies a necessary feature; selecting a component from the dictionary based on the specified necessary feature; selecting an implementation from the selected component based on the hardware configuration; and modifying the application graph dynamically at run time by inserting the set of processing blocks of the selected implementation into the application graph. - View Dependent Claims (2, 3, 4)
-
-
5. A system for dynamically configuring the execution of an application for a particular hardware configuration comprising:
-
a processor; and a memory in communication with the processor, wherein the memory stores a plurality of processing instructions for directing the processor to; load an application graph of the application on a hardware configuration, wherein the application graph is a directed data flow graph wherein a node of the application graph identifies a processing block and links of the application graph indicate the direction of the data flow between processing blocks, wherein the application graph is independent of hardware configurations; load a dictionary of components on the hardware configuration, wherein a component represents a feature, wherein a component contains at least one implementation of the feature, wherein an implementation of the feature is represented by a set of processing blocks, wherein an implementation of the feature is customized for at least one hardware configuration; insert at least one set of processing blocks representing an implementation of a component into the application graph, wherein the implementation is customized for the hardware configuration; and execute the application graph, wherein the application graph is dynamically modified, wherein the processing instructions for directing the processor to execute the application graph include instructions for directing the processor to; traverse the application graph; execute the processing blocks of the application graph, wherein executing the processing blocks specifies a necessary feature; select a component from the dictionary based on the specified necessary feature; select an implementation from the selected component based on the hardware configuration; and modify the application graph dynamically at run time by inserting the set of processing blocks of the selected implementation into the application graph. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product comprising a tangible computer usable medium having control logic stored therein for causing a computer to dynamically configure the execution of an application for a particular hardware configuration, said control logic comprising:
-
first computer readable program code means for causing the computer to load an application graph of the application on a hardware configuration, wherein the application graph is a directed data flow graph wherein a node of the application graph identifies a processing block and links of the application graph indicate the direction of the data flow between processing blocks, wherein the application graph is independent of hardware configurations; second computer readable program code means for causing the computer to load a dictionary of components on the hardware configuration, wherein a component represents a feature, wherein a component contains at least one implementation of the feature, wherein an implementation of the feature is represented by a set of processing blocks, wherein an implementation of the feature is customized for at least one hardware configuration; third computer readable program code means for causing the computer to insert at least one set of processing blocks representing an implementation of a component into the application graph, wherein the implementation is customized for the hardware configuration; and fourth computer readable program code means for causing the computer to execute the application graph, wherein the application graph is dynamically modified, wherein said fourth computer readable program code means includes; fifth computer readable program code means for causing the computer to traverse the application graph; sixth computer readable program code means for causing the computer to execute the processing blocks of the application graph, wherein executing the processing blocks specifies a necessary feature; seventh computer readable program code means for causing the computer to select a component from the dictionary based on the specified necessary feature; eighth computer readable program code means for causing the computer to select an implementation from the selected component based on the hardware configuration; and ninth computer readable program code means for causing the computer to modify the application graph dynamically at run time by inserting the set of processing blocks of the selected implementation into the application graph. - View Dependent Claims (10, 11, 12)
-
Specification