1. A computer-readable medium having stored thereon processor-executable instructions that when executed by a processor result in the following:
receiving, at a query technique engine, continuous query definition parameters from a user via a graphical user interface;
retrieving, at the query technique engine, semantic layer information associated with an event processing engine, the event processing engine being adapted to receive an event stream;
based on the continuous query definition parameters from the user, automatically creating at the query technique engine a pre-fetch query to pre-fetch historical data from a database;
automatically creating an event processing language statement at the query technique engine, the event processing language statement being created based on (i) the continuous query definition parameters from the user and (ii) the semantic layer information; and
providing the event processing language statement to the complex event processing engine so as to establish a continuous query, the continuous query providing output data based on both the pre-fetched historical data and events in the event stream.
2. The computer-readable medium of claim 1, wherein the historical data is associated with a pull-model and the events in the event stream are associated with a push-model.
3. The computer-readable medium of claim 1, wherein execution of the instructions further results in:
joining the historical data with information associated with events in the event stream.
4. The computer-readable medium of claim 3, wherein the joining is associated with at least one of: (i) an inner join, (ii) an outer join, (iii) a left join, (iv) a right join, or (v) a full join.
5. The computer-readable medium of claim 1, wherein the semantic layer information includes at least one of: (i) schema definitions, (ii) tables defining attributes, (iii) business object metadata, (iv) metadata based on an entity relationship model, (v) a metadata name, (vi) a metadata description, (vii) a metadata object type, (viii) dimension, measure, detail, or pre-condition object definitions, (ix) a metadata data type, (x) a metadata aggregation type, (xi) metadata distinction information, (xii) metadata formula information, (xiii) stream adapter metadata, (xiv) event driven universe metadata, or (xv) query panel information.
6. The computer readable medium of claim 1, wherein the semantic layer information includes at least one of: (i) window information defining a bounded portion of the event stream, (ii) a window time parameter, (iii) a window count parameter, (iv) window sliding information, (v) window cycling information, (vi) window unique information, (vii) window top information, or (viii) window bottom information.
7. The computer-readable medium of claim 1, wherein the continuous query definition parameters from the user include at least one of: (i) an event driven universe, (ii) an event driven query, (iii) a class, (iv) an object, (v) an adapter, (vi) a source stream, (vii) a target, or (viii) a filter.
8. The computer-readable medium of claim 1, wherein execution of the instructions further results in:
responsive to the output data, transmitting information to a remote business user via a push-model.
9. The computer-readable medium of claim 8, wherein the transmitted information is associated with at least one of: (i) a web service associated with a client, (ii) a desktop widget application associated with a client, (iii) a dashboard application associated with a client, (iv) a web analytic application associated with a client, or (v) a web browser application associated with a client.
10. The computer-readable medium of claim 8, wherein the information is transmitted to at least one of: (i) a personal computer, or (ii) a wireless device.
11. The computer-readable medium of claim 1, wherein at least some of the semantic layer information is associated with a first stream adapter metadata component associated with the event stream and a second stream adapter metadata component associated with the database.
12. The computer-readable medium of claim 1, wherein at least some of the semantic layer information is associated with an event driven universe specification module that enables creation of an event driven universe specification with entities and relationships between entities.
13. The computer-readable medium of claim 1, wherein the continuous query is further associated with user security information.
14. A method, comprising:
receiving query definition parameters from a user via a graphical user interface;
based on the query definition parameters, automatically creating a pull-type query to pull data from a database;
based on the query definition parameters, automatically creating a push-type continuous event query; and
establishing a continuous user-query, the continuous user-query providing user output data based on both the pull-type query and the push-type continuous event query.
15. The method of claim 14, wherein the automatic creation of the pull-type query is associated with semantic layer information.
16. The method of claim 15, wherein the automatic creation of the push-type continuous event query is also associated with the semantic layer information.
17. The method of claim 15, wherein the query definition parameters from the user create a query on a universe pointing to a database.
18. The method of claim 17, wherein the query definition parameters from the user define a database query with universe business objects.
19. The method of claim 15, wherein the graphical user interface lets the user graphically connect pull-type information with push-type information.
20. An apparatus, comprising:
a semantic layer component;
a relational database interface;
a query technique engine to receive (i) continuous query definition parameters from a graphical user interface component, (ii) semantic layer information from the semantic layer component, and (iii) pre-fetch information from the relational database interface; and
a complex event processing engine to receive an event processing language statement from the query technique engine along with at least one event stream from a business intelligence data source.
21. The apparatus of claim 20, wherein the relational database interface is associated with at least one of: (i) an online analytic programming data source, or (ii) a hypercube.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer-implemented method of animating a cloth, implemented by a computer, wherein the computer comprises a processor, the method comprising:
obtaining, using a processor, a first shape for the cloth at a first time;
obtaining, using the processor, a first goal shape for the cloth at the first time, wherein the first goal shape is specified by a user using a plurality of goal shape control points, and wherein the first shape and the first goal shapes have different shapes;
determining, using the processor, a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal-directed force includes a component that measures a difference between the first shape and the first goal shape; and
determining, using the processor, a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.
2. The computer-implemented method of claim 1, wherein obtaining the first shape includes specifying values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the specified values at the control points.
3. The computer-implemented method of claim 1, wherein obtaining the first goal shape for the cloth at the first time includes:
defining a lattice for controlling values for the plurality of goal shape control points of the cloth, wherein an interpolation of the values for the goal shape control points defines a corresponding goal shape for the cloth; and
prescribing first lattice values of the lattice for specifying the first goal shape.
4. The computer-implemented method of claim 1, wherein obtaining the first goal-directed force for the cloth includes multiplying at least one component of the difference between the first shape and the first goal shape by at least one stiffness value.
5. The computer-implemented method of claim 4, wherein
obtaining the first shape for the cloth includes determining a first velocity for the cloth;
obtaining the first goal shape for the cloth includes determining a first goal velocity for the cloth; and
determining the first goal-directed force for the cloth includes multiplying at least one component of a difference between the first velocity for the cloth and the first goal velocity for the cloth by at least one damping value.
6. The computer-implemented method of claim 1, wherein dynamically advancing the cloth from the first time to the second time includes calculating dynamic trajectories from the first time to the second time for a plurality control points for the cloth.
7. The computer-implemented method of claim 1, wherein
obtaining the first shape for the cloth includes calculating a plurality of values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the values for the first shape at the control points;
obtaining the first goal shape for the cloth includes calculating a plurality of values for the first goal shape at the control points, wherein the first goal shape includes an interpolation of the values for the first goal shape at the control points; and
determining a second shape for the cloth includes calculating a plurality of values for the second shape at the control points, wherein the second shape includes an interpolation of the values for the second shape at the control points.
8. The computer-implemented method of claim 1, further comprising:
obtaining a second goal shape for the cloth at the second time;
determining a second goal-directed force for the cloth at the second time from the second shape and the second goal shape, wherein the second goal-directed force includes a component that measures a difference between the second shape and the second goal shape; and
determining a third shape for the cloth at a third time from the second shape and the second goal-directed force by animating the cloth from the second time to the third time.
9. The computer-implemented method of claim 1, further comprising:
determining a sequence of animation frames, including a first animation frame that includes values from the first shape for the cloth and a second animation frame that includes values from the second shape for the cloth.
10. An apparatus for animating a cloth, the apparatus comprising:
a computer processor for executing computer instructions; and
a computer-readable storage medium having stored thereon instructions for:
obtaining a first shape for the cloth at a first time;
obtaining a first goal shape for the cloth at the first time, wherein the first goal shape is specified by a user using a plurality of goal shape control points, and wherein the first shape and the first goal shapes have different shapes;
determining a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal-directed force includes a component that measures a difference between the first shape and the first goal shape; and
determining a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.
11. The apparatus of claim 10, wherein instructions for obtaining the first shape includes specifying values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the specified values at the control points.
12. The apparatus of claim 10, wherein instructions for obtaining a first goal shape for the cloth at the first time includes:
defining a lattice for controlling values for the plurality of goal shape control points of the cloth, wherein an interpolation of the values for the goal shape control points defines a corresponding goal shape for the cloth; and
prescribing first lattice values of the lattice for specifying the first goal shape.
13. The apparatus of claim 10, wherein instructions for obtaining the first goal-directed force for the cloth includes multiplying at least one component of the difference between the first shape and the first goal shape by at least one stiffness value.
14. The apparatus of claim 13, wherein
instructions for obtaining the first shape for the cloth includes determining a first velocity for the cloth;
instructions for obtaining the first goal shape for the cloth includes determining a first goal velocity for the cloth; and
instructions for determining the first goal-directed force for the cloth includes multiplying at least one component of a difference between the first velocity for the cloth and the first goal velocity for the cloth by at least one damping value.
15. The apparatus of claim 10, wherein dynamically advancing the cloth from the first time to the second time includes calculating dynamic trajectories from the first time to the second time for a plurality control points for the cloth.
16. The apparatus of claim 10, wherein
instructions for obtaining the first shape for the cloth includes calculating a plurality of values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the values for the first shape at the control points;
instructions for obtaining a first goal shape for the cloth includes calculating a plurality of values for the first goal shape at the control points, wherein the first goal shape includes an interpolation of the values for the first goal shape at the control points; and
instructions for determining a second shape for the cloth includes calculating a plurality of values for the second shape at the control points, wherein the second shape includes an interpolation of the values for the second shape at the control points.
17. The apparatus of claim 10, further comprising instructions for:
obtaining a second goal shape for the cloth at the second time;
obtaining a second goal-directed force for the cloth at the second time from the second shape and the second goal shape, wherein the second goal-directed force includes a component that measures a difference between the second shape and the second goal shape; and
determining a third shape for the cloth at a third time from the second shape and the second goal-directed force by animating the cloth from the second time to the third time.
18. The apparatus of claim 10, further comprising instructions for:
determining a sequence of animation frames, including a first animation frame that includes values from the first shape for the cloth and a second animation frame that includes values from the second shape for the cloth.
19. A non-transitory computer-readable storage medium that stores a computer program for animating a cloth, wherein the computer program includes computer-executable instructions for:
obtaining a first shape for the cloth at a first time;
obtaining a first goal shape for the cloth at the first time, wherein the first goal shape is specified by a user using a plurality of goal shape control points, and wherein the first shape and the first goal shapes have different shapes;
determining a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal directed force includes a component that measures a difference between the first shape and the first goal shape; and
determining a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.
20. The non-transitory computer-readable storage medium as claimed in claim 19, wherein instructions for obtaining the first shape includes specifying values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the specified values at the control points.
21. The non-transitory computer-readable storage medium as claimed in claim 19, wherein instructions for obtaining a first goal shape for the cloth at the first time includes:
defining a lattice for controlling values for the plurality of goal shape control points of the cloth, wherein an interpolation of the values for the goal shape control points defines a corresponding goal shape for the cloth; and
prescribing first lattice values of the lattice for specifying the first goal shape.
22. The non-transitory computer-readable storage medium as claimed in claim 19, wherein instructions for determining the first goal-directed force for the cloth includes multiplying at least one component of the difference between the first shape and the first goal shape by at least one stiffness value.
23. The non-transitory computer-readable storage medium as claimed in claim 22, wherein
instructions for obtaining the first shape for the cloth includes determining a first velocity for the cloth;
instructions for obtaining the first goal shape for the cloth includes determining a first goal velocity for the cloth; and
instructions for determining the first goal-directed force for the cloth includes multiplying at least one component of a difference between the first velocity for the cloth and the first goal velocity for the cloth by at least one damping value.
24. The non-transitory computer-readable storage medium as claimed in claim 19, wherein dynamically advancing the cloth from the first time to the second time includes calculating dynamic trajectories from the first time to the second time for a plurality control points for the cloth.
25. The non-transitory computer-readable storage medium as claimed in claim 19, wherein
instructions for obtaining the first shape for the cloth includes calculating a plurality of values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the values for the first shape at the control points;
instructions for obtaining the first goal shape for the cloth includes calculating a plurality of values for the first goal shape at the control points, wherein the first goal shape includes an interpolation of the values for the first goal shape at the control points; and
instructions for determining a second shape for the cloth includes calculating a plurality of values for the second shape at the control points, wherein the second shape includes an interpolation of the values for the second shape at the control points.
26. The non-transitory computer-readable storage medium as claimed in claim 19, wherein the computer program further includes instructions for:
obtaining a second goal shape for the cloth at the second time;
obtaining a second goal-directed force for the cloth at the second time from the second shape and the second goal shape, wherein the second goal-directed force includes a component that measures a difference between the second shape and the second goal shape; and
determining a third shape for the cloth at a third time from the second shape and the second goal-directed force by animating the cloth from the second time to the third time.
27. The non-transitory computer-readable storage medium as claimed in claim 19, wherein the computer program further includes instructions for:
determining a sequence of animation frames, including a first animation frame that includes values from the first shape for the cloth and a second animation frame that includes values from the second shape for the cloth.