1. An apparatus that enables analysis of high power laser beams, comprising:
an attenuating multispot module that includes a pair of high reflecting mirror plates disposed in parallel, spaced apart relation to one another at a common angle of incidence to a laser beam;
said pair including a first mirror having an anti-reflection coating on a first surface thereof that faces a source of said laser beam and a highly reflective coating on a second surface thereof that faces away from said source;
said pair including a second mirror having an anti-reflection coating on a second surface thereof that faces away from said source and a highly reflective coating on a first surface thereof that faces said source;
a first beam dump positioned out of a path of travel of said laser beam and in receiving relation to light reflected by said first and second mirrors; and
a first camera for detecting spots of light that pass through said first and second mirrors;
whereby said laser beam is substantially attenuated so that it can be analyzed by said first camera.
2. The apparatus of claim 1, further comprising:
a focusing lens disposed between said source and said attenuating multispot module.
3. The apparatus of claim 2, further comprising:
a dove prism disposed between said source and said focusing lens.
4. The apparatus of claim 3, further comprising:
a second camera disposed out of said path of travel of said laser beam; and
said dove prism having a first reflecting surface that reflects at least some light from said laser beam into said second camera.
5. The apparatus of claim 4, further comprising:
a high power attenuator formed by a highly reflective mirror pair;
said high power attenuator disposed between said source and said dove prism;
said mirror pair including a first highly reflective mirror having a first surface facing said source;
said mirror pair including a second highly reflective mirror having a first surface facing said source;
a second beam dump disposed out of said path of travel of said laser beam;
said first highly reflective mirror reflecting light from said source to said second beam dump;
a third beam dump disposed out of said path of travel of said laser beam; and
said second highly reflective mirror reflecting light from said source to said third beam dump.
6. The apparatus of claim 5, further comprising:
said first highly reflective mirror being positioned at a forty five degree angle relative to said path of travel of said laser beam; and
said second highly reflective mirror being positioned at a one hundred thirty five degree angle relative to said path of travel of said laser beam;
whereby said first highly reflective mirror causes a displacement in said path of travel and said second highly reflective mirror returns said laser beam to said path of travel.
7. The apparatus of claim 1, further comprising:
said first camera being a pixilated detector.
8. The apparatus of claim 4, further comprising:
said second camera being a pixilated detector.
9. An apparatus that enables analysis of high power laser beams, comprising:
an attenuating multispot module that includes a thin, high reflecting mirror plate disposed at a predetermined angle of incidence to a laser beam;
said high reflecting mirror plate including a first surface having a highly reflective coating on a first surface thereof that faces a source of said laser beam and having a highly reflective coating on a second surface thereof that faces away from said source;
a first beam dump positioned out of a path of travel of said laser beam and in receiving relation to light reflected by said high reflecting mirror plate; and
a first camera for detecting spots of light that pass through said high reflecting mirror plate;
whereby said laser beam is substantially attenuated so that it can be analyzed by said first camera.
10. The apparatus of claim 9, further comprising:
a focusing lens disposed between said source and said attenuating multispot module.
11. The apparatus of claim 10, further comprising:
a dove prism disposed between said source and said focusing lens.
12. The apparatus of claim 11, further comprising:
a second camera disposed out of said path of travel of said laser beam; and
said dove prism having a first reflecting surface that reflects at least some light from said laser beam into said second camera.
13. The apparatus of claim 12, further comprising:
a high power attenuator formed by a highly reflective mirror pair;
said high power attenuator disposed between said source and said dove prism;
said mirror pair including a first highly reflective mirror having a first surface facing said source;
said mirror pair including a second highly reflective mirror having a first surface facing said source;
a second beam dump disposed out of said path of travel of said laser beam;
said first highly reflective mirror reflecting light from said source to said second beam dump;
a third beam dump disposed out of said path of travel of said laser beam; and
said second highly reflective mirror reflecting light from said source to said third beam dump.
14. The apparatus of claim 13, further comprising:
said first highly reflective mirror being positioned at a forty five degree angle relative to said path of travel of said laser beam; and
said second highly reflective mirror being positioned at a one hundred thirty five degree angle relative to said path of travel of said laser beam;
whereby said first highly reflective mirror causes a displacement in said path of travel and said second highly reflective mirror returns said laser beam to said path of travel.
15. The apparatus of claim 9, further comprising:
said first camera being a pixilated detector.
16. The apparatus of claim 12, further comprising:
said second camera being a pixilated detector.
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 method for managing creation of aggregation data structures for tables of a database, comprising:
receiving an aggregation query specifying at least one aggregation operation on data of a table of the database;
determining aggregation information for the aggregation query, the aggregation information describing aspects of the aggregation query and its respective aggregation operation;
determining whether the aggregation information satisfies predefined conditions; and
if the predefined conditions are satisfied by the aggregation information, creating an aggregation data structure for the table of the database in a manner allowing return of aggregation data of the created aggregation data structure upon receipt of a suitable aggregation query without executing the suitable aggregation query against the table of the database, wherein the suitable aggregation query includes the aggregation operation contained in the aggregation query for which the aggregation data structure was created.
2. The method of claim 1, wherein determining the aggregation information for the aggregation query comprises determining at least an estimated savings achieved by executing the aggregation query using the aggregation data structure, as opposed to using the table.
3. The method of claim 2, wherein determining whether the aggregation information satisfies the predefined conditions comprises determining whether the estimated savings is significant enough to merit creation of the aggregation data structure.
4. The method of claim 1, wherein the suitable aggregation query is an SQL query and each aggregation operation is one of a COUNT, AVERAGE, MIN and MAX function.
5. The method of claim 1, wherein determining whether the aggregation information satisfies the predefined conditions includes:
determining a frequency of occurrence of each aggregation operation on a corresponding column of the table of the database; and
comparing the frequency of occurrence with a predetermined threshold, wherein the predefined conditions are satisfied if the frequency of occurrence exceeds the predetermined threshold.
6. The method of claim 1, wherein determining whether the aggregation information satisfies the predefined conditions includes:
determining an estimated savings achieved by executing the aggregation query against the aggregation data structure, as opposed to executing the aggregation query against the table of the database;
comparing the estimated savings with a predetermined threshold, wherein the predefined conditions are satisfied if the estimated savings exceeds the predetermined threshold.
7. The method of claim 6, wherein the estimated savings is at least one of an amount of time and a number of central processing unit cycles saved by executing the aggregation operations against the aggregation data structure.
8. The method of claim 6, further comprising:
estimating a maintenance cost for the aggregation data structure;
comparing the maintenance cost with the estimated savings; and
creating the aggregation data structure only if the maintenance cost does not exceed the estimated savings.
9. The method of claim 1, further comprising:
creating triggers on the table of the database for updating the aggregation data structure when relevant data of the database changes.
10. A method for managing aggregation data structures for tables of a database, comprising:
retrieving an aggregation data structure for a table of the database, the aggregation data structure being configured to allow return of aggregation data of the aggregation data structure upon receipt of an aggregation query including an aggregation operation without executing the aggregation query against the table of the database;
determining an estimated savings achieved by executing the aggregation query against the aggregation data structure, as opposed to the table;
determining a maintenance cost to maintain the aggregation data structure;
comparing the estimated savings to the maintenance cost; and
deleting the aggregation data structure if the maintenance cost exceeds the estimated savings.
11. The method of claim 10, wherein the estimated savings is at least one of an amount of time and a number of central processing unit cycles saved by executing the aggregation query against the aggregation data structure, as opposed to executing the aggregation query against the table of the database.
12. The method of claim 10, wherein the maintenance cost is at least one of an amount of time and a number of central processing unit cycles required to maintain the aggregation data structure.
13. A computer-readable medium containing a program which, when executed by a processor, performs a process for managing creation of aggregation data structures for tables of a database, the process comprising:
receiving an aggregation query specifying at least one aggregation operation on data of a table of the database;
determining aggregation information for the aggregation query, the aggregation information describing aspects of the aggregation query and its respective aggregation operation;
determining whether the aggregation information satisfies predefined conditions; and
if the predefined conditions are satisfied by the aggregation information, creating an aggregation data structure for the table of the database in a manner allowing return of aggregation data of the created aggregation data structure upon receipt of a suitable aggregation query without executing the suitable aggregation query against the table of the database, wherein the suitable aggregation query includes the aggregation operation contained in the aggregation query for which the aggregation data structure was created.
14. The computer-readable medium of claim 13, wherein determining the aggregation information for the aggregation query comprises determining at least an estimated savings achieved by executing the aggregation query using the aggregation data structure, as opposed to using the table.
15. The computer-readable medium of claim 14, wherein determining whether the aggregation information satisfies the predefined conditions comprises determining whether the estimated savings is significant enough to merit creation of the aggregation data structure.
16. The computer-readable medium of claim 13, wherein the suitable aggregation query is an SQL query and each aggregation operation is one of a COUNT, AVERAGE, MIN and MAX function.
17. The computer-readable medium of claim 13, wherein determining whether the aggregation information satisfies the predefined conditions includes:
determining a frequency of occurrence of each aggregation operation on a corresponding column of the table of the database; and
comparing the frequency of, occurrence with a predetermined threshold, wherein the predefined conditions are satisfied if the frequency of occurrence exceeds the predetermined threshold.
18. The computer-readable medium of claim 13, wherein determining whether the aggregation information satisfies the predefined conditions includes:
determining an estimated savings achieved by executing the aggregation query against the aggregation data structure, as opposed to executing the aggregation query against the table of the database;
comparing the estimated savings with a predetermined threshold, wherein the predefined conditions are satisfied if the estimated savings exceeds the predetermined threshold.
19. The computer-readable medium of claim 18, wherein the estimated savings is at least one of an amount of time and a number of central processing unit cycles saved by executing the aggregation operations against the aggregation data structure.
20. The computer-readable medium of claim 18, wherein the process further comprises:
estimating a maintenance cost for the aggregation data structure;
comparing the maintenance cost with the estimated savings; and
creating the aggregation data structure only if the maintenance cost does not exceed the estimated savings.
21. The computer-readable medium of claim 13, wherein the process further comprises:
creating triggers on the table of the database for updating the aggregation data structure when relevant data of the database changes.
22. A computer-readable medium containing a program which, when executed by a processor, performs a process for managing aggregation data structures for tables of a database, the process comprising:
retrieving an aggregation data structure for a table of the database, the aggregation data structure being configured to allow return of aggregation data of the aggregation data structure upon receipt of an aggregation query including an aggregation operation without executing the aggregation query against the table of the database;
determining an estimated savings achieved by executing the aggregation query against the aggregation data structure, as opposed to the table;
determining a maintenance cost to maintain the aggregation data structure;
comparing the estimated savings to the maintenance cost; and
deleting the aggregation data structure if the maintenance cost exceeds the estimated savings.
23. The computer-readable medium of claim 22, wherein the estimated savings is at least one of an amount of time and a number of central processing unit cycles saved by executing the aggregation query against the aggregation data structure, as opposed to executing the aggregation query against the table of the database.
24. The computer-readable medium of claim 22, wherein the maintenance cost is at least one of an amount of time and a number of central processing unit cycles required to maintain the aggregation data structure.
25. A data processing system, comprising:
a database; and
a query execution manager residing in memory for managing creation of aggregation data structures for tables of the database, the query execution manager being configured for:
receiving an aggregation query specifying at least one aggregation operation on data of a table of the database;
determining aggregation information for the aggregation query, the aggregation information describing aspects of the aggregation query and its respective aggregation operation;
determining whether the aggregation information satisfies predefined conditions; and
if the predefined conditions are satisfied by the aggregation information, creating an aggregation data structure for the table of the database in a manner allowing return of aggregation data of the created aggregation data structure upon receipt of a suitable aggregation query without executing the suitable aggregation query against the table of the database, wherein the suitable aggregation query includes the aggregation operation contained in the aggregation query for which the aggregation data structure was created.
26. A data processing system, comprising:
a database; and
a query execution manager residing in memory for managing aggregation data structures for tables of the database, the query execution manager being configured for:
retrieving an aggregation data structure for a table of the database, the aggregation data structure being configured to allow return of aggregation data of the aggregation data structure upon receipt of an aggregation query including an aggregation operation without executing the aggregation query against the table of the database;
determining an estimated savings achieved by executing the aggregation query against the aggregation data structure, as opposed to the table;
determining a maintenance cost to maintain the aggregation data structure;
comparing the estimated savings to the maintenance cost; and
deleting the aggregation data structure if the maintenance cost exceeds the estimated savings.