System and method for specifying and executing temporal order events
First Claim
1. An interactive computer-implemented system for specifying and executing temporal order events, comprising a processor executing:
- a constraint component that receives, from a user, loose temporal constraints associated with a plurality of events, wherein the loose temporal constraints specify information about execution of the plurality of events, and wherein the loose temporal constraints specify relative timing information but not exact literal times that each of the plurality of events is to be executed;
a system information component that receives execution system information comprising one or more of available memory, cache coherency, data throughput or number of processors; and
an order component that determines a plurality of event execution orders in accordance with the loose temporal constraints and via utility-based analysis of the execution system information, and selects an optimal event execution order from the plurality of event execution orders based on the execution system information;
wherein;
each of the plurality of event execution orders is consistent with the loose temporal constraints supplied by the user;
each of the plurality of execution orders specifies exact literal times each of the plurality of events is executed;
the exact literal times are consistent with the loose temporal constraints; and
all of the plurality of execution orders do not provide the same specific temporal constraints on the plurality of events, but all of the plurality of execution orders are based on the loose temporal constraints.
2 Assignments
0 Petitions
Accused Products
Abstract
The system and method of the present invention relates to the determining the specific ordering and execution of events from temporal constraints, filtering functions, and execution heuristics. To facilitate specification of event order objects be can associated with events in an object authoring system which provides for interaction, conditional behavior, and fuzzy relationships by dividing all time into past, present, and future. A user or developer can then perform all their work in the editable area marked “now.” Items that may have happened prior to the current work show up in the “past” area and items which might happen in the future show up in the “future” area. A user can then associate and/or dissociate objects associated with events in the editable area, for instance by simply loosely specifying temporal relationships or constraints amongst objects rather than specifying an exact temporal sequence directly.
-
Citations
35 Claims
-
1. An interactive computer-implemented system for specifying and executing temporal order events, comprising a processor executing:
-
a constraint component that receives, from a user, loose temporal constraints associated with a plurality of events, wherein the loose temporal constraints specify information about execution of the plurality of events, and wherein the loose temporal constraints specify relative timing information but not exact literal times that each of the plurality of events is to be executed; a system information component that receives execution system information comprising one or more of available memory, cache coherency, data throughput or number of processors; and an order component that determines a plurality of event execution orders in accordance with the loose temporal constraints and via utility-based analysis of the execution system information, and selects an optimal event execution order from the plurality of event execution orders based on the execution system information;
wherein;each of the plurality of event execution orders is consistent with the loose temporal constraints supplied by the user; each of the plurality of execution orders specifies exact literal times each of the plurality of events is executed; the exact literal times are consistent with the loose temporal constraints; and all of the plurality of execution orders do not provide the same specific temporal constraints on the plurality of events, but all of the plurality of execution orders are based on the loose temporal constraints. - View Dependent Claims (2, 3, 4, 5, 33)
-
-
6. An interactive computer-implemented system for specifying and executing temporal order events, comprising a processor executing:
-
a display component that provides a plurality of object workspaces, wherein the workspaces are user interfaces including a past, present and future space, wherein the present space is an editable area, and wherein the past and future space specify temporal constraints associated with a plurality of events; a design component that temporally associates and disassociate objects in the editable area, wherein the design component receives, from a user, loose temporal constraints governing event execution orders, wherein the loose temporal constraints specify relative timing information but not exact literal times that each of the plurality of events is to be executed; and an order component that determines a plurality of event execution orders, wherein; each of the plurality of event execution orders is consistent with the loose temporal constraints supplied by the user; each of the plurality of execution orders provides a sequence by which the plurality of events could be executed in accordance with the loose temporal constraints; each of the plurality of execution orders specifies exact literal times each of the plurality of events is executed; the exact literal times are consistent with the loose temporal constraints; all of the plurality of execution orders do not provide the same specific temporal constraints on the plurality of events, but all of the plurality of execution orders are based on the loose temporal constraints; and the order component selects an optimal event execution order from the plurality of event execution orders in accordance with execution system information. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 34, 35)
-
-
23. A computer-implemented method for specifying and executing temporal order events comprising the following computer executable instructions stored on a tangible computer readable medium:
-
receiving, from a user, loose temporal constraints associated with a plurality of events, wherein the loose temporal constraints specify information about execution of the plurality of events, and wherein the loose temporal constraints do not specify exact literal times that each of the plurality of events is to be executed; receiving execution system information comprising one or more of available memory, cache coherency, data throughput or number of processors; generating a plurality of execution orders for the plurality of events in accordance with the loose temporal constraints, wherein; each of the plurality of event execution orders is consistent with the loose temporal constraints supplied by the user; each of the plurality of execution orders specifies exact literal times each of the plurality of events is executed; the exact literal times are consistent with the loose temporal constraints; and all of the plurality of execution orders do not provide the same specific temporal constraints on the plurality of events, but all of the plurality of execution orders are based on the loose temporal constraints and on the execution system information; selecting an optimal event order based in part on the system execution information; outputting the optimal event execution order.
-
-
24. A method, comprising:
-
storing, in a memory communicatively coupled to a processor, computer-executable instructions for performing the method, wherein the method orders events to be executed by an execution system; executing the instructions on the processor; according to the instructions being executed; receiving object data associated with events from a workspace including at least one of a past, present, or future area; associating objects temporally based at least in part upon relative object locations; generating a plurality of execution orders based at least on the temporal association of the objects; wherein the received object data is from a user, and comprises loose temporal constraints associated with a plurality of events, wherein the loose temporal constraints specify information about execution of the plurality of events, and wherein the loose temporal constraints do not specify exact literal times that each of the plurality of events is to be executed; receiving execution system information comprising one or more of available memory, cache coherency, data throughput or number of processors; generating a plurality of execution orders for the plurality of events in accordance with the constraints, wherein; each of the plurality of event execution orders is consistent with the loose temporal constraints supplied by the user; each of the plurality of execution orders specifies exact literal times each of the plurality of events is executed; the exact literal times are consistent with the loose temporal constraints; and all of the plurality of execution orders do not provide the same specific temporal constraints on the plurality of events, but all of the plurality of execution orders are based on the loose temporal constraints; selecting an execution order of events from the plurality of event execution orders based at least on information comprising available memory, cache coherency, data throughput and number of processors. - View Dependent Claims (25, 26, 27, 28)
-
Specification