TITLE OF THE INVENTION
METHOD SYSTEM AND COMPUTER READABLE MEDIUM FOR MONITORING THE STATUS OF A CHAMBER PROCESS
BACKGROUND OF THE INVENTION
FIELD OF THE INVENTION:
[0001] The present invention relates generally to chamber processing, and more particularly to monitoring a process performed in a processing chamber.
DISCUSSION OF THE BACKGROUND:
[0002] Many semiconductor fabrication processes are performed in process chambers such as plasma etch chambers, plasma deposition chambers, chemical vapor deposition chambers, atomic layer deposition chambers, etc. Chamber conditioning processes (also referred to as passivation processes) are commonly implemented in semiconductor fabrication to prepare process chambers for optimal performance. For example, chamber conditioning processes may be carried out following chamber cleaning, after an extended chamber idle period, or before a first chamber production process. When used with plasma chambers, chamber conditioning processes typically involve using a "conditioning plasma" in the plasma chamber for a predetermined length of time to prepare, or "condition", the chamber for the performance of plasma processes with production wafers. The parameters of the conditioning process (e.g., RF power, chamber and substrate temperature, feed gas composition, and pressure) are usually maintained at or near the parameters of the corresponding production process for which the chamber is being conditioned, h this manner, conditioning processes can help ensure that all processes performed in a process chamber produce results within a desired range.
[0003] The ability of process chamber conditioning processes to deposit polymers or other materials on the inner surfaces of the chamber, can be particularly important when conditioning process chambers after a cleaning procedure. In semiconductor manufacturing, process chambers are periodically cleaned to remove contaminants that collect on the inner surface of the process chamber during processing. The chamber cleaning processes may be carried out using wet cleaning methods (i.e., processes that use liquid etchant solutions to
remove materials from the inner surface of the chamber) or dry cleaning methods (e.g., processes that use plasmas to remove materials from the chamber inner surface). Regardless of the type of cleaning process used, trace residues of the chemicals used in the cleaning process may remain on the inner surfaces of the chamber after the cleaning procedures, hi chamber conditioning processes, new layers of polymeric materials, or other materials, may be deposited on the inner surfaces of the process chamber to block these residues, as well as other contaminants, thereby reducing contamination during subsequent processing. [0004] Conditioning processes may also be used to replace some materials removed by cleaning processes in order to improve initial process chamber behavior in subsequent chamber processing. In plasma processing chambers, the deposited polymeric layers may act as insulators that can affect the coupling condition of plasmas formed in the chamber. Since the plasma process parameters are typically designed to account for the insulating effects of these polymeric layers, any plasma processes performed in the absence of such layers may not produce the desired results (e.g., because of direct coupling of the plasma to the chamber walls). Conditioning processes performed after cleaning may be used to deposit a polymeric layer having insulating properties similar to the polymeric layers deposited during normal processing and sufficiently thick to help ensure that the plasmas formed in subsequent etch process behave as intended.
[0005] Conditiomng processes can be performed on several wafers or sets of wafers. The extent of conditioning can be monitored by periodically analyzing the wafers during the conditioning procedure to determine process compliance. However, conditioning processes that are carried out for long time periods can involve the use of a large numbers of test wafers, which results in large startup expense. Alternatively, the extent of conditioning can be carried out for a fixed time period that has proven to provide production process compliance. However, because the effectiveness of the conditioning process is not actually monitored, the fixed time period may be unnecessarily long in order to account for varying conditioning times required to achieve process compliance for different runs of a conditioning process. This results in unacceptable reduction in manufacturing time for the chamber. Similarly, cleaning processes are often unmonitored and therefore may be carried out for a long time period during which the chamber is unusable.
SUMMARY OF THE INVENTION [0006] An object of the present invention is to reduce or solve any or all of the above- described problems.
[0007] Another object of the present invention is to provide a useful method for monitoring the status of a process in a process chamber.
[0008] Yet another object of the present invention is to provide a cost effective and accurate method of monitoring a chamber conditioning process.
[0009] Yet another object of the present invention is to provide a cost effective and accurate method of monitoring a chamber cleaning process.
[0010] These and other objects of the present invention may be provided by a method system and computer readable medium for monitoring a process performed in a process chamber. The method on which the system and computer readable medium are based includes performing the process in the chamber, generating light in the chamber, detecting transmission properties of the light through a window of the chamber, and monitoring a status of the process based the detected transmission properties of the light through the window. The process performed in the chamber may be a conditioning, cleaning or production process for a semiconductor, and may include generating a plasma, CVD or wet etching. [0011] The light may be generated from the process performed in the chamber, or from a light source, in which case the generated light may be a predetermined wavelength based on the process performed in the chamber. The transmission properties detected tlirough the window of the chamber may be intensity and/or wavelength of the light, in which case a predetermined wavelength may be detected based on the process performed in the chamber. Detecting transmission properties may also be performed by optical emission spectroscopy on the light emitted through the window of the chamber. [0012] Monitoring may be performed by comparing the detected transmission property with prerecorded transmission property data correlated to the process performed in the chamber. An endpoint, phase change point or abnormal condition of the process performed in the chamber may be determined based on the comparing performed by the monitoring. The process in the chamber may also be controlled based on the monitored status of the process. Controlling may include at least one of stopping the process and changing parameters of the process.
[0013] In a specific aspect of the invention, the process performed in the chamber is a conditioning process, detecting includes detecting an intensity of the light through the window, and monitoring includes comparing the detected intensity with a predetermined
threshold intensity correlated to an endpoint of the conditioning process. The conditioning process is stopped when the detected intensity is less than or equal to the threshold intensity. The predetermined threshold intensity may be one of a fixed intensity quantity and an intensity ratio representing a proportion of the intensity detected at the start of the conditioning process.
[0014] i another specific aspect of the invention, the process performed in the chamber is a cleaning process, detecting includes detecting an intensity of the light through the window, and monitoring includes comparing the detected intensity with a predetermined threshold intensity correlated to an endpoint of the cleaning process. The cleaning process is stopped when the detected intensity is more than or equal to the threshold intensity. The predetermined threshold intensity is one of a fixed intensity quantity and an intensity ratio representing a proportion of the intensity detected at the start of the cleaning process.
BRIEF DESCRIPTION OF THE DRAWINGS [0015] A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
[0016] Figure 1 shows a simplified block diagram of a system for processing an object in a processing chamber in accordance with an embodiment of the present invention; [0017] Figure 2 is a process flow chart showing a method of monitoring a process performed on an object in a chamber in accordance with an embodiment of the present invention;
[0018] Figure 3 is a process flow chart showing a method of monitoring a chamber conditioning process in accordance with an embodiment of the present invention; [0019] Figure 4 is a graph showing a correlation of light intensity to conditioning process time for a particular conditioning process in accordance with an embodiment of the invention; [0020] Figure 5 is a process flow chart showing a method of monitoring a chamber cleaning process in accordance with an embodiment of the present invention; [0021] Figure 6 is a graph showing a correlation of light intensity to cleaning process time for a particular cleaning process in accordance with an embodiment of the invention; and [0022] Figure 7 illustrates a computer system upon which an embodiment of the present invention may be implemented.
DESCRIPTION OF THE PREFERRED EMBODIMENTS [0023] Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, Figure 1 shows a simplified block diagram of a system for processing an object in a processing chamber in accordance with an embodiment of the present invention. As seen in Figure 1, the processing system includes chamber 12, light source 14, optical detector 16, vacuum pump 18 and controller 20. The chamber 12 includes an object holder 22 for holding an object 24 in the processing space 26. In the embodiment of Figure 1, the chamber 12 includes an input mechanism 28 for inputting gasses and/or other matter represented by arrows 30 into the chamber 12 to process the object 24. The chamber further includes window 32 having an interior surface 34 and an exterior surface adjacent to the light source 14, and window 36 having interior surface 38 and an exterior surface adjacent to the optical monitoring system 16.
[0024] In one embodiment of the invention, the object to be processed 24 is a semiconductor substrate and the processing system 10 is used as a plasma processing system, a chemical vapor deposition system, or any other processing system for processing a semiconductor substrate, the case of plasma processing, processing chamber 12 can facilitate the formation of a process plasma in the process space 26 adjacent to the substrate 24. The processing system 10 can be configured to process various substrates (i.e. 200 mm substrates, 300 mm substrates, or larger). In the semiconductor processing embodiment, the vacuum pump system 18 is used to provide a reduced pressure atmosphere in processing chamber 12, and the input mechanism 28 is a gas injection assembly that introduces process gas to the processing chamber 12. The gas injection system can include a showerhead, wherein the process gas is supplied to the process space 26 through a gas injection plenum, a series of baffle plates, and a multi-orifice showerhead gas injection plate. The substrate 24 can be transferred into and out of plasma processing chamber 12 through a slot valve and chamber feed-through via a robotic substrate transfer system where it is received by substrate lift pins housed within object holder 22 (not shown) and mechanically translated by devices housed therein. Once the substrate 24 is received from a substrate transfer system, it is lowered to an upper surface of the object holder 22, which may include an electrostatic clamping system for affixing the substrate to the object holder 22.
[0025] Windows 32 and 36 are light transmissive windows that allow light to enter or exit the chamber 12. The light source 14 is positioned adjacent to window 32 so as to generate light in the chamber by directing the light through the window 32. Light source 14 is a device for generating electromagnetic waves at optical wavelengths in any or all of the
ultraviolet, visible or infrared wavelength ranges. For example, the light source 14 may be a light emitting diode (LED), laser, ultraviolet light or any other device for generating visible or non-visible light. Optical detector 16 is positioned adjacent to window 36 so as to detect light that passes from the interior of the chamber through the window 36. Such light can be generated by a process, such as a plasma process, occurring in the chamber, or by the light source 14, as will be further described below.
[0026] The optical detector is preferably able to detect a broad range of optical wavelengths that may be generated by a plasma process or the light source 14. In one embodiment, the light source 14 is an infrared (IR) light source and the optical detector 16 is capable of detecting changes in IR light intensity, in the wavelength range of about 2microns to about 15microns, due to LR light absorption by molecular vibrations of materials deposited on the surfaces 38 and 34 of the light transmissive window 32 and 36, respectively. The optical detector 16 may be a simple detection device such as a photomultiplier tube, a CCD or other solid state detector that provides signals representative of the detected light to controller 20, or may incorporate tools, such as a spectrometer, for analyzing optical signals. One example of optical detector 16 is a S2000 Miniature Fiber Optic Spectrometer that performs optical emission spectroscopy (OES), available from Ocean Optics Inc., Dunedin, Florida. The S2000 can measure UV-VIS-Shortwave Near-IR light with wavelengths from 200 to 1100 nm.
[0027] Controller 20 is a processing device for monitoring and controlling the components of the processing system 10 to perform a desired process in the chamber 12. Thus, in the embodiment of Figure 1, controller 20 is coupled to and can exchange information with the processing chamber 12, light source 14, optical detector 16, vacuum pump 18 and gas injection system 28. Controller 20 may be implemented as a special purpose component that includes a microprocessor, a memory, and a digital I/O port capable of generating control voltages sufficient to communicate and activate inputs to the processing system 10 as well as monitor outputs from the processing system 10. One example of controller 20 is a DELL PRECISION WORKSTATION 610TM, available from Dell Corporation, Dallas, Texas. Alternatively, the controller 20 may be implemented as a general purpose computer such as the computer system of Figure 7. A computer program stored in the memory of the controller 20 can be utilized to control the components of a processing system 10 according to a desired process, and to perform any functions associated with monitoring the process. [0028] It is to be understood that the system in Figure 1 is for exemplary purposes only, as many variations of the specific hardware and software used to implement the present
invention will be readily apparent to one having ordinary skill in the art. For example, the functionality of the optical detector 16 and the controller 20 may be combined in a single device. To implement these variations as well as other variations, a single computer (e.g., the computer system of Figure 7) maybe programmed to perform special purpose functions of the controller 20 or any of the devices shown in Figure 1. On the other hand, two or more programmed computers may be substituted for the controller or other devices shown in Figure 1. Principles and advantages of distributed processing, such as redundancy and replication, may also be implemented as desired to increase the robustness and performance of the system, for example.
[0029] Figure 2 is a process flow chart showing a method of monitoring a process performed on an object in a chamber in accordance with an embodiment of the present invention. As seen in this figure, the method begins at step 202 with the performance of a process within the chamber. The process may be any preparation or production process that is performed in a chamber and affects the light transmission properties of a chamber window. For example, the process may be any type of deposition or cleaning process performed on an object in a chamber, or may be a chamber conditioning or cleaning process used to prepare the chamber for semiconductor processing. In addition, the chamber process of step 202 may generate light within the chamber 12, such as with a plasma process, or may be a non light generating process such as dry cleaning or CVD. Where the process does not generate light, a separate light generation step must be performed as will be described below. Moreover, specific examples of the present invention used to monitor chamber conditioning and cleaning processes will be further described with respect to Figures 3-6 below. [0030] Once the process is performed in the chamber, light is generated in the chamber as shown in step 204. As indicated above, the light may be generated by the process occurring in the chamber itself, or by light being directed from light source 14 into the chamber 12. Where the light is generated by directing light from the source 14, it is to be understood that the light may be generated either before or after the process begins. In addition, a combination of plasma generated light and light generated by the light source 14 may be used. Where light is generated in the chamber by the source 14, a particular wavelength of light may be selected in accordance with the process to be monitored. For example, light at longer wavelengths (e.g., visible) is less affected (less reduction in transmission) by a coating on a window 36 than light at shorter wavelengths (e.g., UV). The selection of the generated wavelength used to monitor the conditioning process can therefore be based on the thickness of the coating and the intensity of the transmitted light signal.
[0031] h step 206, the optical detector 16 detects transmission of the light through the transmissive window 36. Detection step 204 may include detection of light intensity, wavelength, a combination of wavelength and intensity or any other property of the light that may be useful in monitoring a process in the chamber 12. In step 208, the process performed in the chamber 12 is monitored based on detected transmission properties of the light through the transmissive window 36. During processing in the chamber, materials used for processing tend to be deposited or removed from the window surfaces 34 and 38 (and other surfaces inside the process chamber), or may change in material composition during the process. This alters the light transmission properties of the windows 34 and 38 as the process continues in the chamber 12. The present inventors have discovered that this change in transmission properties can be detected by detector 16 and correlated to a status of the process performed in the chamber 12.
[0032] For example, a production process that deposits or removes materials on the surfaces 34 and 38 may include several process milestones such as process phase start points where parameters of the process are changed, or a process endpoint where the overall process is stopped. For a particular process, process milestones can be correlated to a threshold light intensity detected through the transmission window 36 as the process deposits or removes material on the surfaces 34 and 38. The process can then be monitored by comparing the light intensity detected by the optical detector 16 through the window 36 with the predetermined threshold. When a threshold intensity corresponding to a process milestone is detected, the process is controlled to perform functions associated with the milestone. As another example, changes in the transmission properties of the window 36 may be used to detect abnormal conditions in the process performed in the chamber. Detection of different wavelengths of light emitted from the chamber may indicate different material compositions present on the interior wall of the chamber. The existence of such materials may be correlated to process problems that can be detected and corrected early in the process. The results of these monitoring methods can then be used to control the process occurring in the chamber.
[0033] Thus, the present inventors have discovered that the status of process materials on the interior surfaces of the chamber may be detected based on the changes in light transmission properties of windows of the chamber. Specifically, as the layer of material on the windows is built up, removed, or changes composition during processing of an object in the chamber, the intensity or wavelength of light detected through the window changes. This change in light intensity or wavelength can be correlated to a status of the process thereby allowing
monitoring of process status by detecting the light properties during future runs of the same process in the chamber. This monitoring technique can be performed for a variety of chamber processes such as the processing of semiconductor wafers. [0034] Figure 3 is a process flow chart showing a method of monitoring a chamber conditioning process in accordance with an embodiment of the present invention, h step 302, the chamber conditioning process is performed in the chamber. The conditioning process may be a plasma generating conditioning process or a non-plasma generating conditioning process, such as a CVD conditioning process, hi step 304, light is generated in the chamber 12 by a light source such as the source 14 and/or by the process itself if the process is capable of generating light. The light generated in the chamber 12 is transmitted through the window 36 and the intensity of the light is detected by optical detector 16 as shown by step 306. The intensity is detected for at least one wavelength of the generated light and, as discussed above, the wavelength to be detected may be selected based on the characteristics of the conditioning process performed in the chamber 12.
[0035] In the embodiment of Figure 3, the light intensity is monitored to determine an endpoint of the conditioning process. In one embodiment, correlation of the light intensity to a status of the conditioning process is accomplished by an initial conditioning process performed while detecting light intensity and monitoring the test wafers for production process compliance. For example, test wafers can be monitored for a desired etch rate, etch selectivity, deposition rate, quality of deposited films, etc. during the conditioning process, and the detected threshold light intensity recorded when such requirements are met. This threshold intensity can then be used to detect the endpoint for the correlated process without the need for test wafers for future runs of the correlated conditioning process. The threshold intensity may be a fixed intensity value, or a ratio of measured light intensity and initial light intensity (measured at the start of the conditioning process). Moreover, the transmissive window 36 is preferably cleaned or replaced prior to a conditioning process in order to maximize the amount of light that reaches the optical detector 16 at the start of the conditioning process.
[0036] Figure 4 is a graph showing a correlation of light intensity to conditioning process time for a particular conditioning process in accordance with an embodiment of the invention. As seen by the light intensity curve 402, the detected light intensity generally decreases as the conditioning process takes place, due to the buildup of polymer and other materials on the surface 38 of window 36, for example. Where light source 14 is used to generate light for the conditioning process, the decrease in intensity is also due to buildup on the surface 34 of
window 32. While the curve 402 in Figure 4 shows a substantially linear decrease in light intensity, it is to be understood that the intensity curve depends on the characteristics of the conditioning process and may be nonlinear. As also seen in Figure 4, a threshold intensity point 404 is recorded that corresponds the light intensity detected at the time when the test wafers show production process compliance. Other milestones in the conditioning process may also be recorded in the correlation graph.
[0037] Returning to Figure 3, as the light intensity is detected in step 306 during the conditioning process, a processor in the controller 20 compares the detected light intensity with stored correlation data as shown by step 308. i decision block 310, the controller 20 determines whether the detected intensity is less than or equal to the predetermined threshold intensity recorded in the correlation data. Where the threshold intensity is not yet detected, the extent of conditioning is not completed and, therefore, the monitoring process returns to step 302 where conditioning continues. When the threshold light intensity is detected, the extent of conditioning is sufficient for production process requirements and, therefore, the chamber conditioning process is stopped as shown by step 312 and the monitoring process ends.
[0038] Thus, the chamber conditiomng process can be monitored and an endpoint determined by detecting changes in the transmission properties of the light through a chamber window. As noted in the background section above, conditioning of a semiconductor processing chamber has conventionally been perfoπned for a fixed period of time, or based on monitoring of test wafers. The present inventors have discovered that use of a detected threshold intensity can provide a more reliable determination of the process endpoint than the time method conventionally used because the time required to reach test wafer compliance may change for different runs of the same conditioning process. Therefore, the present invention can prevent the need for long conditioning process times conventionally performed to ensure conditioning is complete. Moreover, after the light intensity is correlated with the a particular process, there is no further need to use costly test wafers to repeat the conditioning process.
[0039] Figure 5 is a process flow chart showing a method of monitoring a chamber cleaning process in accordance with an embodiment of the present invention. In step 502, the chamber cleaning process is performed in the chamber. The cleaning process may be a dry cleaning process, a dry plasma generating process, or a wet non-plasma generating process. In step 504, light is generated in the chamber 12 by a light source such as the source 14 and/or by the process itself if the process is capable of generating light. The light generated in the chamber
12 is transmitted through the window 36 and the intensity of the light is detected by optical detector 16 as shown by step 506. The intensity is detected for at least one wavelength of the generated light and, as discussed above, the wavelength to be detected may be selected based on the characteristics of the conditiomng process performed in the chamber 12. [0040] In the embodiment of Figure 5, the light intensity is monitored to determine an endpoint of the cleaning process, one embodiment, correlation of the light intensity to a status of the cleaning process is accomplished by an initial cleaning process performed while detecting light intensity and monitoring the chamber for cleanliness. Alternatively, the light intensity detected through the window 36 can be recorded when the window 36 is new and unused, and this intensity value used to establish an acceptable threshold intensity corresponding to a level of cleanliness required for a desired process. This threshold intensity can then be used to detect the endpoint for the cleaning process without the need for monitoring the cleanliness of the chamber by other methods. The threshold intensity may be a fixed intensity value preferably corresponding to a new window, or a ratio of measured light intensity and initial light intensity (measured at the start of the cleaning process). [0041] Figure 6 is a graph showing a correlation of light intensity to cleaning process time for a particular cleaning process in accordance with an embodiment of the invention. As seen by the light intensity curve 602, the detected light intensity generally increases as the cleaning process takes place, due to the removal of polymer and other materials from the surface 38 of window 36, for example. Where light source 14 is used to generate light for the conditioning process, the increase in intensity is also due to removal of material from the surface 34 of window 32. While the curve 602 in Figure 6 shows a substantially linear increase i light intensity, it is to be understood that the intensity curve depends on the characteristics of the cleaning process and may be nonlinear. As also seen in Figure 6, a threshold intensity point 604 is recorded that corresponds the light intensity detected at the time when the window 36 is known to be at an acceptably clean level for a desired process. Other milestones in the cleaning process may also be recorded in the correlation graph. In this regard, it is to be understood that an acceptable level of cleanliness may vary depending on the production process to be performed in the chamber. Thus, the graph of Figure 6 may plot several threshold points for a particular cleaning process that correspond to acceptable cleanliness levels for different production processes.
[0042] Returning to Figure 5, as the light intensity is detected in step 506 during the cleaning process, a processor in the controller 20 compares the detected light intensity with stored correlation data as shown by step 508. In decision block 510, the controller 20 determines
whether the detected intensity is less than or equal to the predetermined threshold intensity recorded in the correlation data. Where the threshold intensity is not yet detected, the extent of cleaning is not acceptable and the monitoring process returns to step 502, where cleaning continues. Where the threshold light intensity is detected, the extent of cleaning is sufficient for production process requirements and, therefore, the chamber cleaning process is stopped as shown by step 512 and the monitoring process ends.
[0043] Thus, the chamber cleaning process can be monitored and an endpoint determined by detecting changes in the transmission properties of the light through a chamber window. As noted in the background section above, cleaning of a semiconductor processing chamber has conventionally been performed for a fixed period of time based on past experience for the cleaning process. The present inventors have discovered that use of a detected threshold intensity provides a more reliable determination of the cleaning process endpoint than the time method conventionally used because the time required to achieve an acceptable level of cleanliness may vary for different runs of the same cleaning process. Therefore, the present invention can prevent the need for long cleaning process times conventionally performed to ensure cleaning is complete.
[0044] Figure 7 illustrates a computer system 1201 upon winch an embodiment of the present invention may be implemented. The computer system 1201 may be used as the controller 12 to perform any or all of the functions of the controller described above. The computer system 1201 includes a bus 1202 or other communication mechanism for communicating information, and a processor 1203 coupled with the bus 1202 for processing the information. The computer system 1201 also includes amain memory 1204, such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), and synchronous DRAM (SDRAM)), coupled to the bus 1202 for storing information and instructions to be executed by processor 1203. In addition, the main memory 1204 may be used for storing temporary variables or other intermediate information during the execution of instructions by the processor 1203. The computer system
1201 further includes a read only memory (ROM) 1205 or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to the bus 1202 for storing static information and instructions for the processor 1203.
[0045] The computer system 1201 also includes a disk controller 1206 coupled to the bus
1202 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 1207, and a removable media drive 1208 (e.g., floppy disk drive, read-
only compact disc drive, read/write compact disc drive, compact disc jukebox, tape drive, and removable magneto-optical drive). The storage devices may be added to the computer system 1201 using an appropriate device interface (e.g., small computer system interface (SCSI), integrated device electronics (IDE), enhanced-IDE (E-IDE), direct memory access (DMA), or ultra-DMA).
[0046] The computer system 1201 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).
[0047] The computer system 1201 may also include a display controller 1209 coupled to the bus 1202 to control a display 1210, such as a cathode ray tube (CRT), for displaying information to a computer user. The computer system includes input devices, such as a keyboard 1211 and a pointing device 1212, for interacting with a computer user and providing information to the processor 1203. The pointing device 1212, for example, may be a mouse, a trackball, or a pointing stick for communicating direction information and command selections to the processor 1203 and for controlling cursor movement on the display 1210. In addition, a printer may provide printed listings of data stored and/or generated by the computer system 1201.
[0048] The computer system 1201 performs a portion or all of the processing steps of the invention in response to the processor 1203 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 1204. Such instructions may be read into the main memory 1204 from another computer readable medium, such as a hard disk 1207 or a removable media drive 1208. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 1204. In alternative embodiments, hard- wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
[0049] As stated above, the computer system 1201 includes at least one computer readable medium or memory for holding instructions programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CD-ROM), or any other
optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read. [0050] Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system 1201, for driving a device or devices for implementing the invention, and for enabling the computer system 1201 to interact with a human user (e.g., print production personnel). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.
[0051] The computer code devices of the present invention may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.
[0052] The term "computer readable medium" as used herein refers to any medium that participates in providing instructions to the processor 1203 for execution. A computer readable medium may take many forms, including but not limited to, non- volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the hard disk 1207 or the removable media drive 1208. Volatile media includes dynamic memory, such as the main memory 1204. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus 1202. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0053] Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor 1203 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system 1201 may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus 1202 can receive the data carried in the infrared signal and place the data on the bus 1202. The bus 1202 carries the data to the main memory 1204, from
which the processor 1203 retrieves and executes the instructions. The instructions received by the main memory 1204 may optionally be stored on storage device 1207 or 1208 either before or after execution by processor 1203.
[0054] The computer system 1201 also includes a communication interface 1213 coupled to the bus 1202. The communication interface 1213 provides a two-way data communication coupling to a network link 1214 that is connected to, for example, a local area network (LAN) 1215, or to another communications network 1216 such as the Internet. For example, the communication interface 1213 may be a network interface card to attach to any packet switched LAN. As another example, the communication interface 1213 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface 1213 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0055] The network link 1214 typically provides data communication through one or more networks to other data devices. For example, the network link 1214 may provide a connection to another computer through a local network 1215 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 1216. The local network 1214 and the communications network 1216 use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT 5 cable, coaxial cable, optical fiber, etc). The signals through the various networks and the signals on the network link 1214 and through the communication interface 1213, which cany the digital data to and from the computer system 1201 maybe implemented in baseband signals, or carrier wave based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term "bits" is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as with amplitude, phase and/or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a "wired" communication channel and/or sent within a predetermined frequency band, different than baseband, by modulating a carrier wave. The computer system 1201 can transmit and receive data, including program code,
through the network(s) 1215 and 1216, the network link 1214, and the communication interface 1213. Moreover, the network link 1214 may provide a connection through a LAN 1215 to a mobile device 1217 such as a personal digital assistant (PDA) laptop computer, or cellular telephone.
[0056] Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein. For example, the process steps described herein and recited in the claims may be performed in a sequence other than the sequence in which they are described or listed herein. As should be understood by one of ordinary skill in the art, only those process steps necessary to the performance of a later process steps are required to be performed before the later process step is performed.