WO1996028778A1 - Automation of tasks using graphical and multimedia macros - Google Patents

Automation of tasks using graphical and multimedia macros Download PDF

Info

Publication number
WO1996028778A1
WO1996028778A1 PCT/US1996/003520 US9603520W WO9628778A1 WO 1996028778 A1 WO1996028778 A1 WO 1996028778A1 US 9603520 W US9603520 W US 9603520W WO 9628778 A1 WO9628778 A1 WO 9628778A1
Authority
WO
WIPO (PCT)
Prior art keywords
macro
time
document
user
data set
Prior art date
Application number
PCT/US1996/003520
Other languages
French (fr)
Inventor
Kuang-Kua Ken Huang
Yong Zeng
Yu Zhang
Original Assignee
Knights Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Knights Technology, Inc. filed Critical Knights Technology, Inc.
Publication of WO1996028778A1 publication Critical patent/WO1996028778A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Definitions

  • the present invention relates to information automation, particularly in the field of yield enhancement software.
  • Semiconductor integrated circuits, or "chips” continue to become increasingly sophisticated and complex with advances in lithography, process technology, and fabrication techniques. As integrated circuits become more complex, the potential for poor yields increases. Yield refers to the proportion of defect-free chips to total chips produced. The need has therefore become apparent for equally-sophisticated software tools for managing yields during chip production.
  • Yield ManagerTM is a client-server application that combines a data- acquisition front end with a statistical tools package and a graphical user interface that allows users to quickly and easily retrieve any of a wide variety of data sets and manipulate and display those data sets in various fashions.
  • the data sets are data representing the location and extent of defects on a wafer, obtained, for example, from defect metrology, review and classification systems of a type available from, for example, KLA Instruments of San Jose, California, or Tencor Instruments of Mountain View, California.
  • Yield ManagerTM is used to manipulate and display data sets in three principal ways, as a wafer map, as a wafer map array, or as a chart.
  • a wafer map shown in Figure 1 , displays as if on a single wafer locations of defects throughout a wafer lot. Different types of defects may be indicated in different ways
  • a wafer map array shown in Figure 2, displays locations of defects throughout a wafer lot but at various stages in the production process.
  • a wafer map array is therefore like a collection of wafer maps each of which delimited in time.
  • a chart, shown in Figure 3 is typically a plot, used , for example, to show a yield curve.
  • the user is allowed to manipulate each of the foregoing types of displays in various ways. For example, once a wafer map or a wafer map array has been created, the user may further filter data by selecting only certain defects, for example random defects, "micro- clusters," “macro-clusters,” “repeaters,” etc. Charts may be formatted in various ways, for example as line graphs, 2-D bar charts, 3-D bar charts, etc.
  • a particular user may tend to repeatedly use Yield ManagerTM to generate the same information in the same way as on a preceding occasion but using a different data set. In doing so, the user "tunes" the displays of Yield ManagerTM for the user's particular preferences and circumstances.
  • An example of one possible display that might result from tuning to account for user preferences and circumstances is shown in Figure 4.
  • keystroke macros used herein to refer to macros in which a sequence of user inputs, typically keyboard inputs but in some instance mouse inputs or a combination of keyboard and mouse inputs.
  • Keyboard macros are commonly used in both text-based applications (for example, Microsoft WordTM) as well as graphics-based applications.
  • One example of a graphics-based application that makes extensive use of keystroke macros is Statsoft's StatisticaTM.
  • StatisticaTM is an integrated data analysis, graphics and database management system. To use a keystroke macro, the user clicks a record button, enters keystrokes or mouse inputs in a sequence to be played back at a later time, and then clicks a stop button.
  • Keystroke macros are of very limited use for achieving information automation using an s ⁇ plication such as Yield ManagerTM. Because keystroke macros are unintelligent, if the program context changes, running the macro does not produce the desired result, and in fact often produces unintelligible results. A context change may be as simple as moving or resizing a window. In particular, in Yield ManagerTM, the what is displayed to the user is a collection of display objects, managed by a display manager. Objects are frequently added and removed. Furthermore, in Yield ManagerTM, a good deal of the application's functionality is not keyboard accessible but is accessible only using the mouse. The recording is mouse movements and clicks in a keystroke macro is particularly error prone. For example, if a context change has occurred in which a window has been resized or moved, a mouse click that was located in a one button region in a previous context.
  • an intelligent, state-based macro instead of a record time and an end time, an intelligent, state-based macro, or "smart macro,” has only a single “capture” time, determined by the user pressing a single "smart macro” key.
  • the state of the application including objects displayed and various properties or attributes of those objects, is then captured and stored under a name supplied by the user. That same state may then be .applied to different data to produce the same kinds of results.
  • the smart macro may be applied interactively by the user to different data, or different data sets.
  • a batch job may be scheduled, in which the smart macro is scheduled to run on specified data at a specified time with the results being saved to disk under a user-speci ⁇ ed name.
  • Batch jobs may be scheduled as one-time jobs or recurring jobs.
  • the capability may be provided to add time-based information streams, such as sound or even video, to the smart macro, with a time-based information stream object being embedded in the resulting document.
  • Yield ManagerTM for example, instead of annotating a report or attaching a later cover sheet or explanatory note to a report, a voice recording may be added to the report, for example, explaining its significance.
  • Figure 1 is a screen display including a wafer map displaying locations of defects throughout a wafer at a particular stage in the production process;
  • Figure 2 is a screen display including a wafer map array displaying locations of defects throughout a wafer at various stages in the production process;
  • Figure 3 is a chart displaying the number of defects by wafer lot;
  • Figure 4 shows the wafer map of Figure 1, the wafer map array of Figure
  • Figure 5 is a more detailed view of the toolbar macro buttons shown in Figure 4;
  • Figure 5 is a screen display of a macro manager, used to select, view and run macros;
  • Figure 7 is a screen display of a batch job dialog box, used to schedule a ob involving running of a macro, in which a one-time job button has been selected
  • Figure 8 is a screen display of a batch job dialog box, used to schedule a job involving running of a macro, in which a one-time job button has been selected;
  • Figure 9 is a block diagram of a system in which the present invention may be used.
  • Figure 10 is a block diagram used to explain how a smart macro may be created
  • Figures 11, 12 and 13 are screen displays showing examples of properties that may be saved in a macro for wafer maps, wafer map arrays, and charts, respectively;
  • Figure 14 is a block diagram used to explain how a smart macro may be used to automatically generate reports at scheduled times.
  • the smart macro of the invention may be used in conjunction with an automatic report generator, provides for the unattended generation (as well as attended generation, if desired) of report results in a word-processor-like format.
  • the report is capable of containing text results, images, charts and graphs, and essentially any resulting output that can be generated by Yield ManagerTM or another source program.
  • a macro is saved by clicking on a button 101, shown in greater detail in Figure 5.
  • the button 101 in effect takes a snapshot of the current set of wafer maps, wafer arrays, charts, and (optionally) chart reports and save the current state of these objects as a macro file.
  • a pop-up window is then displayed for the user to specify a filename.
  • buttons 103, 105 and 107 are displayed along side the button 101.
  • the button 101 runs a selected macro on a selected data set, displaying the results.
  • the button 105 runs a macro in batch mode.
  • the button 107 clears all windows (except for a dataset manager window).
  • a window such as the window shown in
  • Figure 6 is displayed. This window is used to select one or more macros to be run on a currently-selected data set (data set "test2.ds" in the present example).
  • a macro is selected by double clicking on a list item within a list a macros. Selecting a macro causes the content of the macro to be displayed in an adjacent portion of the window.
  • a macro "prop.mcr" (corresponding generally to the display of Figure 4) has been selected, consisting of a chart (YieldByLot), a wafer map array, and a wafer map, together with the state of each, i.e., the properties of each at the time the macro was recorded. These properties may be modified, if desired, by clicking a Modify button, or elements of the macro may be deleting by selecting the corresponding element and clicking a Delete button.
  • Macros to run As macros are selected, they are displayed in the box labeled "Macros to run.” A macro may be deselected, or cleared, by selecting that macro and clicking a Clear Macro button. When the user is satisfied with the macros to be run, the user clicks either a button labeled Run Now, to run the macro now, or a button labeled Run As Batch to schedule running of the macro as a job to be executed at one or more future times.
  • a Batch Job Dialog box is displayed, as shown in Figure 7 and Figure 8. The user first enters a job name under which the job will be saved.
  • a one-time job has been selected.
  • the user specifies a time for the job to be executed, by year, month, day, hour and minute, if desired.
  • the user is also prompted to enter selections as to whether defect images are to be included in the report and how long the resulting report is to be saved, up to a predetermined maximum, for example.
  • the job may be canceled by clicking a Cancel button, or may be accepted by clicking an OK button. Once the job has been accepted, it will execute automatically at the specified time unless canceled beforehand.
  • a recurring job has been selected.
  • the user specifies a recurring time for the job to be executed, by day or days of the week, hour and minute, if desired.
  • the user is again prompted to enter selections as to whether defect images are to be included in the report and how long the resulting report is to be saved, etc.
  • the foregoing automatic report generating facility may be used in a client- server environment, as shown in Figure 9.
  • a main server 201 is connected by a computer network to multiple client nodes, designated as node 203-1, 203-2, etc.
  • the server 201 may be used to store defect data on a continuous basis in a manner known in the art.
  • An additional report server 205 is used to schedule jobs and store report results.
  • each user has a separate secure partition within the server 205, indicated as 205-1, 205-2, etc.
  • a user interface 301 prompts the user for inputs and responds to user commands in the manner described previously in relation to Figures 1-8.
  • the user interface calls on a display manager 303 to create appropriate displays consisting of a collection of display objects 1, 2,..., N.
  • a macro manager 305 responds to user commands to capture the display state as saved within the display manager 303, thereby creating a smart macro 307, which is saved to disk 309.
  • the properties that make up a macro may be a various kinds depending on the particular environment in which the invention is used. Within the field of yield enhancement, examples of properties that may be saved in a macro for wafer maps, wafer map arrays, and charts, are shown in Figures 11, 12 and 13, respectively.
  • the automatic report generation facility may optionally include an audio or an audio/video capture module 311. Using such a module, audio, video or other time-based information streams may be stored along with the macro 309 and played back by clicking a button within a report generated by the macro.
  • the macro manager 305 also interacts with a batch processor 401 seen in Figure 14, (located, for example, at the report server 205).
  • the batch processor 401 is called on by the macro manager to schedule and execute jobs.
  • Connected to the batch processor is a real-time clock 403.
  • the batch processor controls other resources to execute the job.
  • the batch processor retrieves from storage the specified macro or macros 405 and applies the macro(s) to the specified data set(s) 407.
  • the results are sent to an inter-application communication facility, such as an Object Linking and Embedding (OLE) controller 409.
  • the inter- application communication facility controls a separate application, e.g. a word processor 411 such as Microsoft WordTM, to create one or more reports 413, which are then saved to disk.
  • the reports, having been created by the application 411 can then be edited and shared between other compatible applications, for example Microsoft OfficeTM applications.
  • Macros are made of graphic components and are executed with run-time parameters specifying, for example, a data set. Macros may also include multimedia content, such as voice or video. The macro content is editable, and the macro running sequence is adjustable. Macros may be run in batch mode, on schedule, repetitively or non-repetitively, with a job including one macro or multiple macros. Both the macro and the result of running the macro are permanently stored for convenient retrieval. Finally, the original macro creation environment may be recovered from the report document.

Abstract

An intelligent, state-based macro facility is provided (as opposed to the unintelligent keystroke macro facilites typical of the prior art). Instead of a record time and an end time, an intelligent, state-based macro, or 'smart macro', has only a single 'capture' time, determined by the user pressing a single 'smart macro' key. The state of the application, including objects displayed and various properties or attributes of those objects, is then captured and stored under a name supplied by the user. That same state may then be applied to different data to produce the same kinds of results. The smart macro may be applied interactively by the user to different data, or different data sets. Even more advantageously, a batch job may be scheduled, in which the smart macro is scheduled to run on specified data at a specified time with the results being saved to disk under a user-specified name. Batch jobs may be scheduled as one-time jobs or recurring jobs. If desired, the capability may be provided to add time-based information streams, such as sound or even video, to the smart macro, with a time-based information stream object being embedded in the resulting document. For example, instead of annotating a report or attaching a later cover sheet or explanatory note to a report, a voice recording may be added to the report, for example, explaining its significance.

Description

AUTOMATION OF TASKS USING GRAPHICAL AND MULTIMEDIA MACROS
The present invention relates to information automation, particularly in the field of yield enhancement software. Semiconductor integrated circuits, or "chips," continue to become increasingly sophisticated and complex with advances in lithography, process technology, and fabrication techniques. As integrated circuits become more complex, the potential for poor yields increases. Yield refers to the proportion of defect-free chips to total chips produced. The need has therefore become apparent for equally-sophisticated software tools for managing yields during chip production.
One such tool, known .as Yield Manager™, is available from the current assignee. Yield Manager™ is a client-server application that combines a data- acquisition front end with a statistical tools package and a graphical user interface that allows users to quickly and easily retrieve any of a wide variety of data sets and manipulate and display those data sets in various fashions. Typically, the data sets are data representing the location and extent of defects on a wafer, obtained, for example, from defect metrology, review and classification systems of a type available from, for example, KLA Instruments of San Jose, California, or Tencor Instruments of Mountain View, California. Most commonly, Yield Manager™ is used to manipulate and display data sets in three principal ways, as a wafer map, as a wafer map array, or as a chart. A wafer map, shown in Figure 1 , displays as if on a single wafer locations of defects throughout a wafer lot. Different types of defects may be indicated in different ways A wafer map array, shown in Figure 2, displays locations of defects throughout a wafer lot but at various stages in the production process. A wafer map array is therefore like a collection of wafer maps each of which delimited in time. A chart, shown in Figure 3, is typically a plot, used , for example, to show a yield curve.
Apart from selecting a data set to display, the user is allowed to manipulate each of the foregoing types of displays in various ways. For example, once a wafer map or a wafer map array has been created, the user may further filter data by selecting only certain defects, for example random defects, "micro- clusters," "macro-clusters," "repeaters," etc. Charts may be formatted in various ways, for example as line graphs, 2-D bar charts, 3-D bar charts, etc. Despite the wide variety of data manipulations available, a particular user may tend to repeatedly use Yield Manager™ to generate the same information in the same way as on a preceding occasion but using a different data set. In doing so, the user "tunes" the displays of Yield Manager™ for the user's particular preferences and circumstances. An example of one possible display that might result from tuning to account for user preferences and circumstances is shown in Figure 4.
Currently, such tuning is performed repeatedly at each use. For example, a production supervisor may arrive at work each day at 8:00 AM and use Yield Manager™ to present various information concerning a most-recent production run by selecting the pertinent data set and tuning the displays of Yield Manager™ to display the information in the desired manner. Bringing up the application, selecting the data set, and tuning the displays of the application, although very easy, can still consume minutes of time that might be more profitably spent in actual analysis and troubleshooting.
It has therefore been proposed to augment the capabilities of Yield Manager™ by providing an automatic report generator that allows for both attended and unattended report generation, producing a word-processor-like document capable of containing text results, images, charts and graphs— basically any resulting output that can be generated by Yield Manager™. According to this proposal, results would be .saved in a standard work processor format such as Microsoft Word for Windows™, allowing all of the different text, images, charts, graphs, etc., to be copied to the clipboard and transferred to another application such as Powerpoint™, Excel™, etc. To economize on storage requirements, the user would be required to specify how long the report should be saved and would have the option of excluding from the report actual bitmapped of defects (also available in Yield Manager™). Further according to the proposal, clicking on a field contained on each page of the report would select the dataset contained in the results on that page and return the user to an interactive window back in Yield Manager™ so that the user could graphically subselect data, further manipulate the data, etc. Although the foregoing proposal identifies a desired result, it gives no indication of how that desired result is to be achieved.
One commonplace approach to information automation involves the use of "keystroke macros," used herein to refer to macros in which a sequence of user inputs, typically keyboard inputs but in some instance mouse inputs or a combination of keyboard and mouse inputs. Keyboard macros are commonly used in both text-based applications (for example, Microsoft Word™) as well as graphics-based applications. One example of a graphics-based application that makes extensive use of keystroke macros is Statsoft's Statistica™. Statistica™ is an integrated data analysis, graphics and database management system. To use a keystroke macro, the user clicks a record button, enters keystrokes or mouse inputs in a sequence to be played back at a later time, and then clicks a stop button. When the macro is played back at a later time, a result is produced that is the .same as a result that would have been produced had the user manually entered the exact same sequence of inputs. Keystroke macros are therefore low- level, "unintelligent" macros.
Keystroke macros are of very limited use for achieving information automation using an sφplication such as Yield Manager™. Because keystroke macros are unintelligent, if the program context changes, running the macro does not produce the desired result, and in fact often produces unintelligible results. A context change may be as simple as moving or resizing a window. In particular, in Yield Manager™, the what is displayed to the user is a collection of display objects, managed by a display manager. Objects are frequently added and removed. Furthermore, in Yield Manager™, a good deal of the application's functionality is not keyboard accessible but is accessible only using the mouse. The recording is mouse movements and clicks in a keystroke macro is particularly error prone. For example, if a context change has occurred in which a window has been resized or moved, a mouse click that was located in a one button region in a previous context.
A need therefore exists for improved methods of automating the generation of information using context-rich applications such as Yield Manager™.
The present invention, generally speaking, addresses the foregoing problem by providing an intelligent, state-based macro facility (as opposed to the unintelligent keystroke macro facilities typical of the prior art). Instead of a record time and an end time, an intelligent, state-based macro, or "smart macro," has only a single "capture" time, determined by the user pressing a single "smart macro" key. The state of the application, including objects displayed and various properties or attributes of those objects, is then captured and stored under a name supplied by the user. That same state may then be .applied to different data to produce the same kinds of results. The smart macro may be applied interactively by the user to different data, or different data sets. Even more advantageously, a batch job may be scheduled, in which the smart macro is scheduled to run on specified data at a specified time with the results being saved to disk under a user-speciήed name. Batch jobs may be scheduled as one-time jobs or recurring jobs. If desired, the capability may be provided to add time-based information streams, such as sound or even video, to the smart macro, with a time-based information stream object being embedded in the resulting document. In Yield Manager™, for example, instead of annotating a report or attaching a later cover sheet or explanatory note to a report, a voice recording may be added to the report, for example, explaining its significance. The present invention may be further understood from the following description in conjunction with the appended drawing. In the drawing:
Figure 1 is a screen display including a wafer map displaying locations of defects throughout a wafer at a particular stage in the production process;
Figure 2 is a screen display including a wafer map array displaying locations of defects throughout a wafer at various stages in the production process;
Figure 3 is a chart displaying the number of defects by wafer lot; Figure 4 shows the wafer map of Figure 1, the wafer map array of Figure
2, and the chart of Figure 3 following user manipulations, such as selecting data filtering options, etc.
Figure 5 is a more detailed view of the toolbar macro buttons shown in Figure 4; Figure 5 is a screen display of a macro manager, used to select, view and run macros;
Figure 7 is a screen display of a batch job dialog box, used to schedule a ob involving running of a macro, in which a one-time job button has been selected; Figure 8 is a screen display of a batch job dialog box, used to schedule a job involving running of a macro, in which a one-time job button has been selected;
Figure 9 is a block diagram of a system in which the present invention may be used;
Figure 10 is a block diagram used to explain how a smart macro may be created;
Figures 11, 12 and 13 are screen displays showing examples of properties that may be saved in a macro for wafer maps, wafer map arrays, and charts, respectively; and
Figure 14 is a block diagram used to explain how a smart macro may be used to automatically generate reports at scheduled times.
For concreteness, the present invention will be described in relation to Yield Manager™, described previously. It should be understood, however, that the invention, although believed to be of particular utility in the area of yield enhancement, is of general applicability both in the area of yield enhancement and outside the area of yield enhancement, and is not dependent on the details of Yield Manager™ or any particular application program.
The smart macro of the invention may be used in conjunction with an automatic report generator, provides for the unattended generation (as well as attended generation, if desired) of report results in a word-processor-like format. The report is capable of containing text results, images, charts and graphs, and essentially any resulting output that can be generated by Yield Manager™ or another source program.
Referring again to Figure 4, an example of one possible display that might result from tuning to account for user preferences and circumstances. As explained previously, despite the wide variety of data manipulations available, a particular user may tend to repeatedly use Yield Manager™ to generate the same information in the same way as on a preceding occasion but using a different data set. In doing so, the user "tunes" the displays of Yield Manager™ for the user's particular preferences and circumstances.
The user may save the results of the tuning process for later reuse on the same or differmt data set. In the illustrated embodiment, a macro is saved by clicking on a button 101, shown in greater detail in Figure 5. The button 101 in effect takes a snapshot of the current set of wafer maps, wafer arrays, charts, and (optionally) chart reports and save the current state of these objects as a macro file. A pop-up window is then displayed for the user to specify a filename.
Related buttons 103, 105 and 107 are displayed along side the button 101. The button 101 runs a selected macro on a selected data set, displaying the results. The button 105 runs a macro in batch mode. The button 107 clears all windows (except for a dataset manager window).
When the button 103 is selected, a window such as the window shown in
Figure 6 is displayed. This window is used to select one or more macros to be run on a currently-selected data set (data set "test2.ds" in the present example). A macro is selected by double clicking on a list item within a list a macros. Selecting a macro causes the content of the macro to be displayed in an adjacent portion of the window. In the present example, a macro "prop.mcr" (corresponding generally to the display of Figure 4) has been selected, consisting of a chart (YieldByLot), a wafer map array, and a wafer map, together with the state of each, i.e., the properties of each at the time the macro was recorded. These properties may be modified, if desired, by clicking a Modify button, or elements of the macro may be deleting by selecting the corresponding element and clicking a Delete button.
As macros are selected, they are displayed in the box labeled "Macros to run." A macro may be deselected, or cleared, by selecting that macro and clicking a Clear Macro button. When the user is satisfied with the macros to be run, the user clicks either a button labeled Run Now, to run the macro now, or a button labeled Run As Batch to schedule running of the macro as a job to be executed at one or more future times.
When the Run As Batch button is clicked, a Batch Job Dialog box is displayed, as shown in Figure 7 and Figure 8. The user first enters a job name under which the job will be saved.
In Figure 7, a one-time job has been selected. The user then specifies a time for the job to be executed, by year, month, day, hour and minute, if desired. The user is also prompted to enter selections as to whether defect images are to be included in the report and how long the resulting report is to be saved, up to a predetermined maximum, for example.
The job may be canceled by clicking a Cancel button, or may be accepted by clicking an OK button. Once the job has been accepted, it will execute automatically at the specified time unless canceled beforehand.
In Figure 8, a recurring job has been selected. The user specifies a recurring time for the job to be executed, by day or days of the week, hour and minute, if desired. The user is again prompted to enter selections as to whether defect images are to be included in the report and how long the resulting report is to be saved, etc. The foregoing automatic report generating facility may be used in a client- server environment, as shown in Figure 9. In the system of Figure 9, a main server 201 is connected by a computer network to multiple client nodes, designated as node 203-1, 203-2, etc. The server 201 may be used to store defect data on a continuous basis in a manner known in the art.
An additional report server 205 is used to schedule jobs and store report results. Preferably, each user has a separate secure partition within the server 205, indicated as 205-1, 205-2, etc.
Referring to Figure 10, various program entities (located, for example, at each client node 203) and their interrelationships are shown. A user interface 301 prompts the user for inputs and responds to user commands in the manner described previously in relation to Figures 1-8. In response to user commands, the user interface calls on a display manager 303 to create appropriate displays consisting of a collection of display objects 1, 2,..., N.
A macro manager 305 responds to user commands to capture the display state as saved within the display manager 303, thereby creating a smart macro 307, which is saved to disk 309. The properties that make up a macro may be a various kinds depending on the particular environment in which the invention is used. Within the field of yield enhancement, examples of properties that may be saved in a macro for wafer maps, wafer map arrays, and charts, are shown in Figures 11, 12 and 13, respectively.
Referring again to Figure 10, the automatic report generation facility may optionally include an audio or an audio/video capture module 311. Using such a module, audio, video or other time-based information streams may be stored along with the macro 309 and played back by clicking a button within a report generated by the macro.
The macro manager 305 also interacts with a batch processor 401 seen in Figure 14, (located, for example, at the report server 205). Referring to Figure 14, the batch processor 401 is called on by the macro manager to schedule and execute jobs. Connected to the batch processor is a real-time clock 403. When the time specified for a job arrives, the batch processor controls other resources to execute the job. In particular, the batch processor retrieves from storage the specified macro or macros 405 and applies the macro(s) to the specified data set(s) 407. The results are sent to an inter-application communication facility, such as an Object Linking and Embedding (OLE) controller 409. The inter- application communication facility controls a separate application, e.g. a word processor 411 such as Microsoft Word™, to create one or more reports 413, which are then saved to disk. The reports, having been created by the application 411, can then be edited and shared between other compatible applications, for example Microsoft Office™ applications.
In summary, the described smart macro facility (and associated report generation facility) greatly furthers information automation. Macros are made of graphic components and are executed with run-time parameters specifying, for example, a data set. Macros may also include multimedia content, such as voice or video. The macro content is editable, and the macro running sequence is adjustable. Macros may be run in batch mode, on schedule, repetitively or non-repetitively, with a job including one macro or multiple macros. Both the macro and the result of running the macro are permanently stored for convenient retrieval. Finally, the original macro creation environment may be recovered from the report document.
It will be appreciated by those of ordinary skill in the art that the present invention may be embodied in different forms without departing from the spirit or essential character thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalents thereof are intended to be embraced therein.

Claims

What is claimed is:
1. A method of automatically generating a document, comprising the steps of:
displaying a data set in response to commands input by a user;
altering display of said data set in response to user commands to produce an altered display having one or more properties;
in response to a user input at a single capture time, recording a macro which when applied to a further named data set produces from said further data set a document having said one or more properties;
said user specifying a further named data set and said macro; and
applying said macro to said further named data set to produce a document having said one or more properties.
2. The method of claim 1, comprising the further step of displaying said document.
3. The method of claim 1, comprising the further step of storing said document.
4. The method of claim 3, comprising the further step of said user specifying at least one of a type of element to be included in or excluded from said document, and how long said document is to be stored.
5. The method of claim 4, wherein how long said document is to be stored is specified as a number of days, comprising the further step of deleting said document after said number of days.
6. The method of claim 1, wherein applying said macro to said further named data set to produce a document having said one or more properties comprises controlling from said first application program a second application program to produce said document in a format of said second application program.
7. The method of claim 6, comprising the further step of including in said document an element which, when selected, causes said document to control said first application program to display said document and to select said data set.
8. The method of claim 6, wherein said second application program is a word processing program.
9. The method of claim 1, comprising the further step of printing said document.
10. The method of claim 1, further comprising the step of said user specifying at least one future time;
wherein said applying step is performed at said future time.
11. The method of claim 9, further comprising the step of said user specifying a series of future times;
wherein said applying step is performed at each time in said series of future times.
12. The method of claim 1, further comprising the steps of:
capturing a time-based information stream;
recording said time-based information stream along with said macro; and
including in said document said time-based information stream and a control element allowing said time-based information stream to played back.
PCT/US1996/003520 1995-03-13 1996-03-13 Automation of tasks using graphical and multimedia macros WO1996028778A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US40314695A 1995-03-13 1995-03-13
US08/403,146 1995-03-13

Publications (1)

Publication Number Publication Date
WO1996028778A1 true WO1996028778A1 (en) 1996-09-19

Family

ID=23594632

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/003520 WO1996028778A1 (en) 1995-03-13 1996-03-13 Automation of tasks using graphical and multimedia macros

Country Status (3)

Country Link
US (1) US6088712A (en)
IL (1) IL117457A (en)
WO (1) WO1996028778A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019233A1 (en) * 1996-10-29 1998-05-07 Philips Electronics N.V. Control system with macro creation based on recording responses
WO1998033129A1 (en) * 1997-01-28 1998-07-30 Casio Computer Co., Ltd. Data processing apparatus used for communication network
GB2344906A (en) * 1998-12-19 2000-06-21 Int Computers Ltd Object-oriented job scheduler
EP1179841A2 (en) * 2000-07-07 2002-02-13 Leica Microsystems Jena GmbH Graphical User Guidance Method and Apparatus for the Optical Measurement of Layers and Substrates and Software
EP0935224A3 (en) * 1998-02-04 2002-05-15 Citicorp Development Center, Inc. System for performing financial transactions using a smart card
US6611728B1 (en) 1998-09-03 2003-08-26 Hitachi, Ltd. Inspection system and method for manufacturing electronic devices using the inspection system
EP1360601A1 (en) * 2001-01-08 2003-11-12 Telstra New Wave Pty Ltd Management system for a contact centre
CN102866920A (en) * 2012-08-02 2013-01-09 杭州海康威视系统技术有限公司 Master-slave structure distributed video processing system and scheduling method thereof

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11143724A (en) * 1997-11-13 1999-05-28 Sharp Corp Information processor and computer readable recording medium for recording information processing program
US6380924B1 (en) * 1998-10-22 2002-04-30 Young Yee Mouse/keyboard capture recorder (MCR) apparatus and methodology
US6476913B1 (en) * 1998-11-30 2002-11-05 Hitachi, Ltd. Inspection method, apparatus and system for circuit pattern
JP2000181906A (en) * 1998-12-15 2000-06-30 Fujitsu Ltd Modification setting device and recording medium
US6532023B1 (en) * 1999-08-12 2003-03-11 International Business Machines Corporation Recording selected applet events of a user interaction sequence
US6549216B1 (en) * 1999-08-12 2003-04-15 International Business Machines Corporation Preserving, emulating, and manipulating user interaction event timing
US6636244B1 (en) * 1999-09-13 2003-10-21 International Business Machines Corporation Pointing device selection method
US6546523B1 (en) * 2000-09-12 2003-04-08 Advanced Micro Devices, Inc. High speed first pass yield report program and method
US20020070983A1 (en) * 2000-12-07 2002-06-13 Kozub Thomas A. Automated wafer handling with graphic user interface
JP2002259651A (en) * 2001-03-06 2002-09-13 Toshiba Corp Information managing system, information display method and program to be applied to the same
US7146584B2 (en) * 2001-10-30 2006-12-05 Teradyne, Inc. Scan diagnosis system and method
US7738693B2 (en) * 2002-12-24 2010-06-15 Lam Research Corporation User interface for wafer data analysis and visualization
US20040199906A1 (en) * 2003-04-01 2004-10-07 Mcknight Russell F. Systems and methods for saving files having different media types
JP4244768B2 (en) * 2003-09-30 2009-03-25 株式会社日立製作所 Defect influence degree evaluation method and design support system
US7006886B1 (en) * 2004-01-12 2006-02-28 Kla Tencor-Technologies Corporation Detection of spatially repeating signatures
US7500145B2 (en) * 2004-05-28 2009-03-03 International Business Machines Corporation Anomaly-driven software switch to capture event responses and automate recovery
JP5085016B2 (en) * 2005-06-01 2012-11-28 富士通セミコンダクター株式会社 Data analysis method and data analysis program
US20070247430A1 (en) * 2006-04-21 2007-10-25 Aten International Co., Ltd. Keyboard and mouse operation data recording/reproducing system and method thereof
US9953100B2 (en) * 2010-01-27 2018-04-24 Auraplayer Ltd. Automated runtime command replacement in a client-server session using recorded user events
US8681951B1 (en) 2010-02-03 2014-03-25 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8625756B1 (en) 2010-02-03 2014-01-07 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8594280B1 (en) 2010-02-03 2013-11-26 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8572303B2 (en) 2010-02-03 2013-10-29 Tal Lavian Portable universal communication device
US8548131B1 (en) 2010-02-03 2013-10-01 Tal Lavian Systems and methods for communicating with an interactive voice response system
US8548135B1 (en) 2010-02-03 2013-10-01 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8879698B1 (en) 2010-02-03 2014-11-04 Tal Lavian Device and method for providing enhanced telephony
US8406388B2 (en) 2011-07-18 2013-03-26 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US9001819B1 (en) 2010-02-18 2015-04-07 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8687777B1 (en) 2010-02-03 2014-04-01 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8537989B1 (en) 2010-02-03 2013-09-17 Tal Lavian Device and method for providing enhanced telephony
US8553859B1 (en) 2010-02-03 2013-10-08 Tal Lavian Device and method for providing enhanced telephony
US8903073B2 (en) 2011-07-20 2014-12-02 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8867708B1 (en) 2012-03-02 2014-10-21 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8731148B1 (en) 2012-03-02 2014-05-20 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US9811562B2 (en) 2015-02-25 2017-11-07 FactorChain Inc. Event context management system
US11204789B2 (en) 2019-08-20 2021-12-21 Hyland Software Inc. Graphical user interface for macro generation, modification, and verification
US11144338B2 (en) 2019-08-20 2021-10-12 Hyland Software, Inc. Computing system for macro generation, modification, verification, and execution

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0404505A2 (en) * 1989-06-19 1990-12-27 Digital Equipment Corporation Arrangement for integrating application in a digital processing system
EP0451963A2 (en) * 1990-03-30 1991-10-16 International Business Machines Corporation Interactive computer system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
US5335342A (en) * 1991-05-31 1994-08-02 Tiburon Systems, Inc. Automated software testing system
US5343409A (en) * 1991-08-29 1994-08-30 Hewlett-Packard Company System and method for probing object resources in a window server environment
JPH05216712A (en) * 1991-10-23 1993-08-27 Internatl Business Mach Corp <Ibm> Computer system, method for performing inner-viewing task on computer system and i/o processor assembly
US5367667A (en) * 1992-09-25 1994-11-22 Compaq Computer Corporation System for performing remote computer system diagnostic tests
US5528735A (en) * 1993-03-23 1996-06-18 Silicon Graphics Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US5331330A (en) * 1993-05-18 1994-07-19 Susnjara Kenneth J Apparatus and method for detecting and displaying lightning
EP0736203A1 (en) * 1993-12-23 1996-10-09 Diacom Technologies, Inc. Method and apparatus for implementing user feedback

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0404505A2 (en) * 1989-06-19 1990-12-27 Digital Equipment Corporation Arrangement for integrating application in a digital processing system
EP0451963A2 (en) * 1990-03-30 1991-10-16 International Business Machines Corporation Interactive computer system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BARBARA B. PACKARD & CHARLES H. WHELAN: "An Extensible Agent Task Language", HEWLETT-PACKARD JOURNAL, vol. 40, no. 4, August 1989 (1989-08-01), PALO ALTO US, pages 38 - 42, XP000094709 *
GLENN R. STEARNS: "Agents and the HP NewWave Application Program Interface", HEWLETT-PACKARD JOURNAL, vol. 40, no. 4, August 1989 (1989-08-01), PALO ALTO US, pages 32 - 37, XP000094708 *
HISAYASU TAKADA & TATSUO SUZUKI: "A Method of Generating User-desired Service Macro in an Icon-Based Environment", SYSTEMS & COMPUTERS IN JAPAN, vol. 19, no. 11, November 1988 (1988-11-01), NEW YORK US, pages 70 - 77, XP000119527 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100514705B1 (en) * 1996-10-29 2005-12-05 코닌클리케 필립스 일렉트로닉스 엔.브이. Macro generation control system based on recording response
WO1998019233A1 (en) * 1996-10-29 1998-05-07 Philips Electronics N.V. Control system with macro creation based on recording responses
US6493743B2 (en) 1997-01-28 2002-12-10 Casio Computer Co., Ltd. PDA workspace interface using application icons for downloading remote user file
WO1998033129A1 (en) * 1997-01-28 1998-07-30 Casio Computer Co., Ltd. Data processing apparatus used for communication network
EP0935224A3 (en) * 1998-02-04 2002-05-15 Citicorp Development Center, Inc. System for performing financial transactions using a smart card
US6611728B1 (en) 1998-09-03 2003-08-26 Hitachi, Ltd. Inspection system and method for manufacturing electronic devices using the inspection system
GB2344906A (en) * 1998-12-19 2000-06-21 Int Computers Ltd Object-oriented job scheduler
EP1179841A2 (en) * 2000-07-07 2002-02-13 Leica Microsystems Jena GmbH Graphical User Guidance Method and Apparatus for the Optical Measurement of Layers and Substrates and Software
EP1179841A3 (en) * 2000-07-07 2004-10-06 Leica Microsystems Jena GmbH Graphical User Guidance Method and Apparatus for the Optical Measurement of Layers and Substrates and Software
EP1360601A1 (en) * 2001-01-08 2003-11-12 Telstra New Wave Pty Ltd Management system for a contact centre
EP1360601A4 (en) * 2001-01-08 2008-01-23 Telstra Corp Ltd Management system for a contact centre
US8645828B2 (en) 2001-01-08 2014-02-04 Telstra Corporation Limited Management system for a contact center
CN102866920A (en) * 2012-08-02 2013-01-09 杭州海康威视系统技术有限公司 Master-slave structure distributed video processing system and scheduling method thereof

Also Published As

Publication number Publication date
IL117457A (en) 1999-09-22
US6088712A (en) 2000-07-11
IL117457A0 (en) 1996-07-23

Similar Documents

Publication Publication Date Title
US6088712A (en) Method of automating the manipulation and displaying of sets of wafer yield data using a user interface smart macro
US10248387B2 (en) Integrated system for software application development
US7458031B2 (en) System and method for creating customizable nodes in a network diagram
US10002203B2 (en) Service desk data transfer interface
US6233719B1 (en) System and method for analyzing semiconductor production data
AU2005202447B2 (en) Hierarchical projects in a computer-enabled project management method and system
US7493591B2 (en) Methods and systems for animating a workflow and a project plan
US5586311A (en) Object oriented data access and analysis system
US7925985B2 (en) Methods and apparatus for process thumbnail view
US8429527B1 (en) Complex data merging, such as in a workflow application
US5831611A (en) Apparatus and method for creating and executing graphically depicted communication
US20050246216A1 (en) Systems and methods for managing information at various levels
US20040267694A1 (en) Machine-readable medium &amp; data management system and method for tracking real-world objects
US20020004755A1 (en) Methods, systems, and processes for the design and creation of rich-media applications via the internet
US20050065845A1 (en) Method and apparatus for customizing a marketing campaign system using client and server plug-in components
US20040015841A1 (en) Software development tool employing workflows for developing user interactive programs
US7360209B2 (en) Object process graph application controller-viewer
CN1395193A (en) Method fro producing dynamic form which can be edited on web page
WO2002069130A1 (en) System and method to create an application and to manipulate application components within the application
EP1025512A1 (en) Software system and method for extending classifications and attributes in production analysis
CN101615122A (en) User interface information is offered client&#39;s system and method by access system
US20060195426A1 (en) Information management apparatus, information management method, and information management program
DE10151648B4 (en) Method and device for capturing and storing notes taken during a computer-based session
US20070027909A1 (en) Methods and apparatus for comparison of projects
US4926349A (en) Method for display panel processing

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP KR RU SE UA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase