Bandwidth regulation for remote control of manufacturing tools
Patent Information
- Application Number
- JP2023575675
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-07-18
- Filing Date
- 2022-09-28
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2042-09-28
AI Technical Summary
Remote collaboration between manufacturing facilities and equipment suppliers is hindered by network delays and security risks, particularly due to bandwidth limitations and the need to protect confidential manufacturing information.
A system that adjusts bandwidth and provides security for data transmission by adjusting frame resolution and rate in response to user interactions, using a server to authorize client devices and manage bandwidth dynamically.
Enhances responsiveness and security in remote collaboration, allowing timely and secure transmission of manufacturing tool data, improving the user experience and protecting confidential information.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to transmitting data from manufacturing tools within a manufacturing facility to remote client devices, and more particularly, to regulating bandwidth (e.g., resolution and / or frame rate) and providing security for such transmissions. [Background technology]
[0002] (Related Applications) This application claims priority to U.S. Provisional Patent Application No. 63 / 249,599, filed September 29, 2021, which is incorporated by reference in its entirety for all purposes.
[0003] A manufacturing facility includes equipment (i.e., manufacturing tools) that are supplied by an equipment supplier. The manufacturing facility may wish to collaborate with an expert from the equipment supplier to obtain expert assistance with the manufacturing tools. This collaboration is preferably remote so that the expert does not need to travel to the manufacturing facility. However, remote collaboration is difficult due to network latency. The mere fact that the expert is often far away from the manufacturing facility (e.g., on the other side of the globe) introduces a minimum of unavoidable latency. Network bandwidth limitations introduce additional latency and may make remote collaboration impractical (e.g., even with the use of video compression). Remote collaboration also poses security risks. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] US Patent Application Publication No. 2015 / 0074749 [Patent Document 2] US Patent Application Publication No. 2013 / 0219012 Summary of the Invention [Problem to be solved by the invention]
[0005] Computer security is a particularly sensitive issue for manufacturing facilities because they possess highly confidential information regarding the products being manufactured and the manufacturing processes used to manufacture the products. [Means for solving the problem]
[0006] In some embodiments, a method is performed at a computer system of a manufacturing tool in a manufacturing facility. The method includes transmitting a series of frames indicative of data from the manufacturing tool to a client device for display. The client device is remote from the manufacturing facility. The method further includes receiving, from the client device, an indication of a user interaction with the client device and, in response to the indication, adjusting a bandwidth of one or more frames of the series of frames. Transmitting the series of frames includes transmitting the one or more frames at the adjusted bandwidth to the client device for display after receiving the indication.
[0007] In some embodiments, a non-transitory computer-readable storage medium stores one or more programs for execution by one or more processors of a computer system of a manufacturing tool. The one or more programs include instructions for transmitting a series of frames indicative of data of the manufacturing tool to a client device for display. The client device is remote from a manufacturing facility where the manufacturing tool is to be located. The one or more programs further include instructions for adjusting a bandwidth of one or more frames of the series of frames in response to receiving an indication from the client device of a user interaction with the client device. The instructions for transmitting the series of frames include instructions for transmitting the one or more frames of the adjusted bandwidth to the client device for display after receiving the indication.
[0008] In some embodiments, the manufacturing tool includes hardware for processing or inspecting a product to be manufactured and a computer system for controlling the hardware. The computer system includes one or more processors and a memory storing one or more programs for execution by the one or more processors. The one or more programs include instructions for transmitting a series of frames indicative of data of the manufacturing tool to a client device for display. The client device is remote from a manufacturing facility where the manufacturing tool is to be located. The one or more programs further include instructions for adjusting a bandwidth of one or more frames of the series of frames in response to receiving an indication from the client device of a user interaction with the client device. The instructions for transmitting the series of frames include instructions for transmitting the one or more frames of the adjusted bandwidth to the client device for display after receiving the indication.
[0009] In some embodiments, the method is performed at a computer system of a manufacturing tool in a manufacturing facility. The computer system is communicatively coupled to a server associated with the manufacturing facility. The method includes assigning a descriptor to a series of frames indicative of data of the manufacturing tool, providing the descriptor to the server, and providing the series of frames to the server for forwarding to a client device remote from the manufacturing facility. The server forwards the series of frames to the client device pursuant to a determination, based at least in part on the descriptor, that the client device is authorized to receive the series of frames.
[0010] In some embodiments, a non-transitory computer-readable storage medium stores one or more programs for execution by one or more processors of a computer system of a manufacturing tool in a manufacturing facility. The computer system is communicatively coupled to a server associated with the manufacturing facility. The one or more programs include instructions for assigning a descriptor to a series of frames indicative of data for the manufacturing tool, instructions for providing the descriptor to the server, and instructions for providing the series of frames to the server for forwarding from the manufacturing facility to a remote client device. The server is to forward the series of frames to the client device pursuant to a determination, based at least in part on the descriptor, that the client device is authorized to receive the series of frames.
[0011] In some embodiments, the manufacturing tool includes hardware for processing or inspecting a product to be manufactured and a computer system for controlling the hardware. The computer system is to be communicatively coupled to a server associated with a manufacturing facility where the manufacturing tool is located. The computer system includes one or more processors and a memory that stores one or more programs for execution by the one or more processors. The one or more programs include instructions for assigning a descriptor to a series of frames indicative of data of the manufacturing tool, instructions for providing the descriptor to a server, and instructions for providing the series of frames to the server for forwarding from the manufacturing facility to a remote client device. The server is to forward the series of frames to the client device according to a determination based at least in part on the descriptor that the client device is authorized to receive the series of frames.
[0012] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, in which: [Brief description of the drawings]
[0013] [Figure 1]FIG. 1 illustrates a network architecture for electronic communication between manufacturing tools in a manufacturing facility and client devices of an equipment supplier, according to some embodiments. [Figure 2A] FIG. 1 illustrates an example of a client device communicatively coupled to a computer system of a manufacturing tool for remote collaboration and displaying a graphical user interface for the manufacturing tool, according to some embodiments. [Figure 2B] FIG. 1 illustrates an example of a client device communicatively coupled to a computer system of a manufacturing tool for remote collaboration and displaying a graphical user interface for the manufacturing tool, according to some embodiments. [Figure 2C] FIG. 1 illustrates an example of a client device communicatively coupled to a computer system of a manufacturing tool for remote collaboration and displaying a graphical user interface for the manufacturing tool, according to some embodiments. [Diagram 3] 1 is a flowchart illustrating a method for performing bandwidth throttling for communications from a manufacturing tool to a client device, according to some embodiments. [Figure 4] 4 is a flowchart illustrating a method that is an example of each of the methods of FIG. 3, according to some embodiments. [Diagram 5] 4 is a flowchart illustrating a method that is an example of each of the methods of FIG. 3, according to some embodiments. [Figure 6] 4 is a flowchart illustrating a method that is an example of each of the methods of FIG. 3, according to some embodiments. [Figure 7] 1 is a flowchart illustrating a method for providing security for communications from a manufacturing tool to a client device, according to some embodiments. [Figure 8] FIG. 1 is a block diagram of a manufacturing tool in accordance with some embodiments. [Figure 9] FIG. 2 is a block diagram of a manufacturing facility server, according to some embodiments. [Figure 10]FIG. 2 is a block diagram of a client device according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Like reference numerals refer to corresponding parts throughout the drawings and specification.
[0015] Reference will now be made in detail to various embodiments as illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments being described. However, it will be apparent to one of ordinary skill in the art that the various embodiments described may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0016] FIG. 1 illustrates a network architecture 100 for electronic communication between manufacturing tools 124 in a manufacturing facility 112 and client devices 104 of an equipment supplier 102, according to some embodiments. The manufacturing tools 124 are items of manufacturing equipment (i.e., capital equipment) used for one or more manufacturing processes in the manufacturing facility 112. In some embodiments, the manufacturing facility 112 is a semiconductor manufacturing facility (i.e., a "semiconductor fab" or simply "fab"), and the manufacturing tools 124 include semiconductor manufacturing equipment and semiconductor inspection equipment used to manufacture and inspect semiconductor wafers. For example, each manufacturing tool 124 may be a semiconductor manufacturing tool or a semiconductor inspection tool. In other embodiments, the manufacturing facility 112 is another type of factory having other manufacturing tools 124 for manufacturing and / or inspecting products manufactured in the factory. The equipment supplier 102 supplies (e.g., designs, manufactures, sells, and / or supports) at least some of the manufacturing tools 124.
[0017] The manufacturing tools 124 in the manufacturing facility 112 are located behind a server 114 (e.g., manufacturing facility server 900, FIG. 9 ) associated with the manufacturing facility 112. In some embodiments, the server 114 is located within the manufacturing facility 112. Alternatively, the server 114 may be located at another location (e.g., while still under the control of the organization that operates the manufacturing facility 112). The server 114 acts as a gateway that provides computer security for the manufacturing facility 112. The manufacturing tools 124 are communicatively coupled to the server 114 via a network 119 that is internal to the manufacturing facility 112. For example, each manufacturing tool 124 (e.g., manufacturing tool 800, FIG. 8 ) includes a respective computer system (e.g., computer system 801, FIG. 8 ) that controls the operation of and reports the status of each manufacturing tool 124. These respective computer systems are communicatively coupled to the server 114 via the network 119. The manufacturing facility 112 also includes other electronic devices 120 (e.g., computers, mobile electronic devices, etc.) that are communicatively coupled to the server 114 via a network 119. The manufacturing tools 124 and electronic devices 120 networked via the network 119 constitute a subnet 126 that is internal to the manufacturing facility 112.
[0018] A manufacturing facility 112 may wish to collaborate remotely with an equipment supplier 102. For example, an engineer, technician, or operator at the manufacturing facility 112 may seek the assistance of an expert from the equipment supplier 102 regarding the installation, operation, service, and / or repair of one or more manufacturing tools 124 supplied by the equipment supplier 102. The expert may provide this assistance from a client device 104 (e.g., a computer) that is remote from the equipment supplier 102 or the manufacturing facility 112 and / or from another location (e.g., the expert's home). The expert uses the client device 104 to access the computer systems of the manufacturing tools 124 and / or electronic devices 120 at the manufacturing facility 112. (Thus, the expert is a user of the client device 104.) For example, the specialist may access the computer system of the manufacturing tool 124 to check the status of the manufacturing tool 124, review data from the manufacturing tool 124, control the operation of the manufacturing tool 124, write or modify recipes for the manufacturing tool 124, view images or video feeds (e.g., from camera 832, FIG. 8 ) showing a portion of the manufacturing tool 124 (e.g., to view the operation of the manufacturing tool 124 or to check for mechanical issues with the manufacturing tool 124), and / or view images of products being processed or tested (e.g., to view the condition of the products and evaluate the performance of the manufacturing tool 124). The electronic device 120 may include a camera 122 that the specialist seeks to access to video conference with someone at the manufacturing facility 112 and / or to view the manufacturing tool 124. The camera 122 may provide images or a video feed for the specialist to view. In some embodiments, the electronic device 120 may be a camera headset capable of providing live streaming for remote viewing of the manufacturing tool 124.
[0019] The client device 104 may be located behind a gateway 108 of the equipment supplier 102 (or at another remote location). For example, the client device 104 is one of multiple client devices 104 of the equipment supplier 102 that are communicatively coupled to the gateway 108 via a network 106 that is internal to the equipment supplier 102. The gateway 108 communicates electronically with a server 114 via the Internet 110. The client device 104, in some embodiments, communicates electronically with a manufacturing tool 124 via the network 106, the gateway 108, the Internet 110, the server 114, and the network 119.
[0020] To enable remote collaboration, the computer system of the manufacturing tool 124 may transmit frames indicative of data of the manufacturing tool 124 to the remote client device 104. The frames may represent a user interface (or a portion thereof, such as a user interface screen) for the manufacturing tool 124. Transmitting the frames to the remote client device 104 enables the data of the manufacturing tool 124 (e.g., the user interface or a portion thereof) to be displayed on the client device 104. A technician at the client device 104 may use the user interface to send commands to the manufacturing tool 124 (e.g., as described below with respect to FIGS. 2A and 2B). The computer system of the manufacturing tool 124 may adjust the bandwidth of the frames (i.e., the bandwidth used to transmit the frames), as described below with respect to methods 300-600 (FIGS. 3-6). For example, the computer system of the manufacturing tool 124 may adjust the resolution used for the frames and / or portions of the frames and / or adjust the frame rate (e.g., frames per second). Adjusting the frame bandwidth allows for timely transmission of frames from the computer system of the manufacturing tool 124 to the client device 104 (e.g., by reducing the resolution and / or frame rate), resulting in responsiveness that enhances the professional's user experience. If desired by the professional, the frame rate may be increased to improve video quality. If desired by the professional, the resolution used for the frames and / or portions of the frames may be adjusted to provide higher resolution. Post-processing by the gateway 108 can reduce choppiness that may result from reducing the frame rate.
[0021] The manufacturing facility 112 seeks to maintain security while enabling remote collaboration with the equipment supplier 102 to protect confidential matters (e.g., intellectual property) held by the manufacturing facility 112. Such confidential matters include, for example, information regarding the design of the products manufactured at the manufacturing facility 112 and information regarding the manufacturing process used to manufacture the products. The equipment supplier 102 seeks to maintain security while providing facility support to protect confidential matters (e.g., intellectual property) held by the equipment supplier 102. Such confidential matters include, for example, information regarding the design of the manufacturing tools 124 provided by the equipment supplier 102 and proprietary service procedures for the manufacturing tools 124 provided by the equipment supplier 102. To provide security and protect these confidential matters, the server 114 may determine whether a particular client device 104 is authorized to receive a particular frame from a particular manufacturing tool 124. The server 114 may make this determination based at least in part on information received from the manufacturing tool 124 (e.g., a frame descriptor, a frame classifier, a source identifier, a date, and / or a time), as described below with respect to method 700 (FIG. 7).
[0022] 2A-2C illustrate an example of a client device 104 communicatively coupled to a computer system of a manufacturing tool 124 for remote collaboration, according to some embodiments. A display screen 200 of the client device 104 displays a graphical user interface (GUI) 202 of the manufacturing tool 124. The GUI 202 is provided in a frame that is transmitted from the computer system of the manufacturing tool 124 to the client device 104. In the example of FIGS. 2A-2C, the GUI 202 occupies the entire display screen 200. Alternatively, the GUI 202 may be displayed within a window that occupies a portion of the display screen 200.
[0023] In some embodiments, the GUI 202 includes a command line 204 that the specialist may use to send commands to the computer system of the manufacturing tool 124. In FIG. 2A , the specialist has already entered (e.g., using the keyboard 206) the text "Com". This text was sent from the client device 104 to the computer system of the manufacturing tool 124. In response, the computer system of the manufacturing tool 124 sent a frame to the client device 104 showing "Com" in the command line 204. The specialist then enters (e.g., using the keyboard 206) a second "m". The client device 104 sends the second "m" to the computer system of the manufacturing tool 124. In response, the computer system of the manufacturing tool 124 sends a new frame to the client device 104. The new frame reflects the entry of the second "m" and shows "Comm" in the command line 204. The client device 104 displays the new frame on the display screen 200, thus updating the GUI 202. The expert may continue to enter text into command line 204 (e.g., using keyboard 206), with GUI 202 updating accordingly to display the new text, and client device 104 transmitting the new text to the computer system of manufacturing tool 124, which responds to command line 204 with a new frame showing the new text. Alternatively, or additionally, user input may be provided in a different manner (e.g., in a text entry field different from command line 204 and / or by selecting one or more affordances in GUI 202), with GUI 202 updating accordingly in response to the user input, and client device 104 transmitting an indication of the user input to the computer system of manufacturing tool 124, which responds with a new frame showing the user input and / or a result of the user input.To allow the GUI 202 to be updated quickly in response to user input, the resolution of the frames (e.g., a predefined number of frames) transmitted by the computer system of the manufacturing tool 124 in response to receiving a user input instruction may be reduced (i.e., degraded). Degrading the resolution of the frames reduces the size of the frames, thereby reducing the frame bandwidth and speeding up the transmission of the frames from the computer system of the manufacturing tool 124 to the client device 104. By speeding up the transmission of the frames to the client device 104, the GUI 202 quickly reflects the results of the user input (e.g., quickly displays newly entered text), resulting in a responsive feel for the professional. On the other hand, a lack of timely responses to user input can result in a frustrating user experience for the professional, making remote collaboration impractical.
[0024] More generally, the client device 104 may detect a user interaction (i.e., an expert interaction) with the client device 104. The user interaction may provide an explicit user input (e.g., through the keyboard 206 and / or the selection of an affordance in the GUI 202). Or, the user interaction may detect an expert behavior that does not correspond to an explicit user input while the expert is looking at the GUI 202. The client device 104 may send an indication of this behavior to the computer system of the manufacturing tool 124 and, in response, may receive one or more frames from the computer system of the manufacturing tool 124 that update the GUI 202 (e.g., adjust the resolution of all or a portion of the GUI 202). For example, looking at a particular region 208 (FIG. 2C) of the GUI 202 on the display screen 200 is a user interaction with the client device 104. The client device 104 may perform eye tracking using the camera 122 to determine that the expert is looking at the region 208 in the GUI 202. Region 208 is a region within a frame transmitted from the computer system of manufacturing tool 124 to client device 104 as the frame provides GUI 202. Client device 104 transmits instructions to the computer system of manufacturing tool 124 specifying region 208, and in response receives one or more frames from the computer system of manufacturing tool 124 that update GUI 202 (e.g., increase the resolution of region 208 but not the remainder of GUI 202). Alternatively, region 208 may be defined by explicit user input (e.g., a click-and-drag operation using a mouse or other user input device). In some embodiments, region 208 is defined by aggregate information from multiple user inputs, including previously received user input. Although region 208 is shown as a rectangle in FIG. 2C, region 208 may instead have a different shape (e.g., circular or elliptical).
[0025] 3 is a flow chart illustrating a method 300 for performing resolution adjustment of communications from a manufacturing tool 124 to a client device 104, according to some embodiments. The method 300 is performed (302) at a computer system of a manufacturing tool 124 (e.g., a manufacturing tool 124 associated with an equipment supplier 102) in a manufacturing facility 112. For example, the method 300 is performed by a computer system 801 of a manufacturing tool 800 ( FIG. 8 ). The method 300 enables bandwidth management of the communications to improve the user experience of a user of the client device 104 (e.g., a professional providing remote collaboration).
[0026] In the method 300, a series of frames indicative of data of the manufacturing tool 124 are transmitted (304) to the client device 104 for display. Examples of data include, but are not limited to, data regarding the status of the manufacturing tool 124, the current operation of the manufacturing tool 124 (e.g., including one or more physical parameters), the operating history of the manufacturing tool 124 (e.g., including one or more physical parameters), and / or results of the manufacturing tool 124. The data may include still images and / or video showing a portion of the manufacturing tool 124 (e.g., at rest and / or in operation), and / or a product being processed or tested (e.g., inspected) using the manufacturing tool 124. The client device 104 is remote from the manufacturing facility 112. The client device 104 may be a client device 104 of an equipment supplier 102 of the manufacturing tool 124. In some embodiments, the series of frames are provided (306) to a server 114 associated with (e.g., within) the manufacturing facility 112 for transfer to the client device 104.
[0027] An indication of a user interaction with the client device 104 is received from the client device 104 (308). The indication of user interaction may be an indication of user input (e.g., as in the example of FIGS. 2A and 2B) or other indication of user behavior (e.g., as in the eye tracking example of FIG. 2C). In response to the indication, a bandwidth is adjusted (310) for one or more frames of the series of frames. In some embodiments, a resolution of at least a portion of the one or more frames is adjusted (312) and / or a frame rate of the one or more frames is adjusted (314). The one or more frames may be a predefined number of frames. Examples of adjusting bandwidth are provided below for methods 400 (FIG. 4), 500 (FIG. 5), and 600 (FIG. 6).
[0028] The one or more frames (i.e., the frame(s) at the adjusted resolution) are transmitted (316) to the client device 104 for display. The one or more frames are transmitted at the adjusted bandwidth (i.e., the bandwidth used to transmit the one or more frames is the adjusted bandwidth). In some embodiments, the one or more frames are provided (318) to a server 114 associated with (e.g., within) the manufacturing facility 112 for forwarding to the client device 104. The client device 104 may display the one or more frames, for example, as a GUI 202 (FIGS. 2A-2C). If the resolution of the entire frame(s) was adjusted, the client device 104 displays the entire frame(s) at the adjusted resolution. If the resolution of only a portion of the frame(s) was adjusted, the client device 104 displays that portion of the frame(s) at the adjusted resolution and displays the remaining portion of the frame(s) at the unadjusted resolution. If the frame rate is adjusted, the client device 104 may display one or more frames at the adjusted frame rate.
[0029] Although transmitting (316) one or more frames to the client device 104 is shown as separate from sending (304) the series of frames to the client device 104, the transmission of step 316 may be considered as part of the transmission of step 304, and transmitting (304) the series of frames includes transmitting (316) one or more frames. In this manner, the one or more frames transmitted in step 316 may be part of the series of frames transmitted in step 304. Some frames of the series of frames may be transmitted (304) to the client device 104 before receiving an indication of a user interaction with the client device 104, and other frames (including the one or more frames of step 316) may be transmitted (304) to the client device 104 after receiving an indication of a user interaction with the client device 104.
[0030] 4 is a flow chart illustrating a method 400, which is an example of the method 300 (FIG. 3), according to some embodiments. In the method 400, transmitting (304) a series of frames (e.g., providing (306) the series of frames to the server 114 for transfer to the client device 104) includes transmitting (402) a first set of frames at a first resolution to the client device 104 for display. The first set of frames is transmitted prior to receiving (308) a user interaction.
[0031] Receiving (308) a user interaction includes receiving (404) a character provided as user input to the client device 104. For example, Figures 2A and 2B show receiving a character (a second "m") that is part of a command.
[0032] Adjusting (310) the bandwidth of at least a portion of the one or more frames includes adjusting a resolution of the one or more frames by selecting (406) a second resolution for at least a portion of each frame of a second set of frames, the second set including the one or more frames. The second resolution is lower than the first resolution. The characters are included in the second set of frames in response to receiving the indication. In some embodiments, the second resolution is (408) a lowest available resolution.
[0033] In some embodiments, the entirety of each frame in the first set has a first resolution and the entirety of each frame in the second set has a second resolution, for example, the entirety of GUI 202 may have a first resolution in Figure 2A and a second resolution in Figure 2B.
[0034] In some embodiments, the character is part of a command for the manufacturing tool 124. Each frame of the second set includes a character. For example, in each frame of the second set, the character is located on a command line (e.g., command line 204, FIGS. 2A-2C) of a user interface for the manufacturing tool 124. Adjusting 310 the bandwidth of the one or more frames may include adjusting a resolution of at least a portion of the one or more frames, which may include, for each frame of the second set, maintaining a first resolution for the command line and selecting a second resolution (e.g., the lowest available resolution) for the remainder of the frame outside the command line. For example, in FIG. 2B, the command line 204 may have a first resolution and the remainder of the GUI 202 outside the command line may have a second resolution. Such frames may be transmitted quickly in response to a user interaction (e.g., in response to a user entering the second "m" in FIG. 2B) due to the smaller frame size resulting from using the second resolution outside the command line. This responsiveness, combined with the high resolution of the command line, which may be an area of interest to the professional entering the command, results in a user experience that is favorable to the professional.
[0035] Sending (316) the one or more frames to the client device 104 (e.g., providing (318) the one or more frames to the server 114 for forwarding to the client device 104) includes sending (410) a second set of frames to the client device 104 for display using a second resolution, where the client device 104 displays one or more frames of the second set using the second resolution, either for the entire frame(s) or for a particular portion (e.g., an area outside the command line). The second set is sent to the client device 104 after receiving (308) a user interaction.
[0036] In some embodiments, the method 400 further includes selecting the first resolution for a third set of frames that follows the second set. Transmitting (400) the series of frames (e.g., providing (306) the series of frames to the server 114 for forwarding to the client device 104) further includes transmitting the third set of frames to the client device 104 for display using the first resolution (e.g., after transmitting the second set to the client device 104).
[0037] 5 is a flow chart illustrating a method 500, which is another example of the method 300 (FIG. 3), according to some embodiments. In the method 500, transmitting (304) the sequence of frames (e.g., providing (306) the sequence of frames to the server 114 for transfer to the client device 104) includes transmitting (502) video at a first resolution from a video feed for the manufacturing tool 124 to the client device 104 for display. In some embodiments, the manufacturing tool 124 is an example of a manufacturing tool 800, and the video feed is provided by a camera 832 (FIG. 8). The video may be full-motion video or may have a lower frame rate than full-motion video. The video is transmitted to the client device 104 prior to receiving (308) an indication of a user interaction with the client device 104.
[0038] In some embodiments, the indication of a user interaction indicates that the user has struck a key (e.g., a hotkey) on keyboard 206 (FIGS. 2A-2C) or selected an affordance within GUI 202 (FIGS. 2A-2C) to pause the video in favor of showing a still image.
[0039] Adjusting (310) the bandwidth of the one or more frames includes adjusting the resolution of at least a portion of the one or more frames, which includes selecting (506) a second resolution for the single frame. Adjusting (310) the bandwidth of the one or more frames also includes lowering the frame rate to zero and pausing the video. The single frame includes a still image from the video feed. The second resolution is higher than the first resolution. For example, the second resolution is (508) the highest available resolution. The still image may be taken after the video of step 502 is recorded or may correspond to a frame (e.g., the last frame) of the video of step 502.
[0040] In some embodiments, the video and single frames show at least a portion of the manufacturing tool 124 in operation.
[0041] Sending (316) the one or more frames to the client device 104 (e.g., providing (318) the one or more frames to the server 114 for forwarding to the client device 104) includes ceasing (510) sending the video to the client device 104 in response to receiving the instruction, and sending (512) a single frame to the client device 104 for static display using the second resolution. In this manner, the method 500 allows the professional to view the video in near real-time and also view the image of interest in high resolution. At the client device 104, there may be a delay between when the video is stopped and when the single frame is displayed due to the time it takes to generate and send the single frame at the second resolution.
[0042] The method 500 may further include, after transmitting (512) the single frame to the client device 104 for static display, receiving (514) from the client device 104 an indication of another user interaction with the client device 104 (i.e., an indication of a second user interaction, whereas the user interaction of step 308 is a first user interaction). For example, the indication of step 308 is an indication of a first user input at the client device 104, and the indication of step 514 is an indication of a second user input at the client device 104. The second user input may be pressing a key (e.g., a hot key) on the keyboard 206 (FIGS. 2A-2C) or selecting an affordance of the GUI 202 (FIGS. 2A-2C) to resume the video. In response, the computer system of the manufacturing tool 124 resumes transmitting (516) the video from the video feed at the first resolution to the client device 104 for display. The second resolution may be too high to enable smooth playback of the video on the client device 104 (e.g., without dropping frames due to bandwidth and / or memory limitations) and therefore is not used for the video in some embodiments.
[0043] FIG. 6 is a flow chart illustrating a method 600 that is yet another example of method 300 (FIG. 3), according to some embodiments. In method 600, the instruction of user interaction with client device 104 received in step 308 includes a designation of a region (e.g., region 208, FIG. 2C) in the sequence of frames that is of interest to a user of client device 104 (602). In some embodiments, the region is defined by user input (e.g., a click-and-drag action) from a professional using client device 104 (604). In some other embodiments, the region is defined using eye tracking of client device 104 (606). Alternatively, the region is a predefined region of a user interface screen stored by a computer system of manufacturing tool 124 (e.g., defined by information aggregated from multiple user inputs), and the instruction specifies the user interface screen (e.g., indicating that the professional has activated the user interface screen for viewing).
[0044] Adjusting (310) the bandwidth of one or more frames includes increasing the resolution of at least a portion of the one or more frames, which includes increasing (608) the resolution of a region of interest in the one or more frames. For example, the resolution of the region is increased (610) to a highest available resolution. The resolution outside the region in the one or more frames (e.g., the remainder of GUI 202 outside region 208, FIG. 2C) is not increased (e.g., remains the same as the previous frame or is reduced).
[0045] Transmitting (316) the one or more frames to the client device 104 (e.g., providing (318) the one or more frames to the server 114 for forwarding to the client device 104) includes, after receiving the instruction, transmitting (612) the one or more frames to the client device 104 at an increased resolution for the area for display.
[0046] Methods 400 (FIG. 4), 500 (FIG. 5), and 600 (FIG. 6) may be combined. For example, the computer system of a particular manufacturing tool 124 may execute one or more instances of method 400, one or more instances of method 500, and one or more instances of method 600, in any order.
[0047] 7 is a flow chart illustrating a method 700 for providing security for communications from a manufacturing tool 124 to a client device 104, according to some embodiments. The method 700 is performed (702) at a computer system of a manufacturing tool 124 in a manufacturing facility 112 (e.g., a manufacturing tool 124 associated with an equipment supplier 102). For example, the method 700 is performed by a computer system 801 of a manufacturing tool 800 (FIG. 8), which is communicatively coupled to a server 114 associated with (e.g., within) the manufacturing facility 112.
[0048] In the method 700, a descriptor is assigned 704 to a series of frames representing data for the manufacturing tool 124. The descriptor specifies the type of data in the series of frames.
[0049] In some embodiments, the series of frames represents a user interface (706) for a computer system of the manufacturing tool 124 (e.g., GUI 202, FIGS. 2A-2C). The descriptors specify the user interface. The user interface may include several different user interface screens (e.g., that a user may navigate between using tabs, links, or other affordances), and the series of frames represent the different user interface screens. Each descriptor may specify a respective user interface screen.
[0050] In some embodiments, the series of frames indicates (708) one or more values of a physical parameter of the manufacturing tool 124. The descriptor specifies the physical parameter. Examples of the physical parameter include, but are not limited to, temperature or light intensity within the manufacturing tool 124.
[0051] In some embodiments, a security classification is assigned (710) to the series of frames (e.g., along with a descriptor). The security classification specifies a confidentiality level (selected from multiple confidentiality levels) for the series of frames. Additionally or alternatively, a date, time, and / or source identifier may be associated (712) with the series of frames. The source identifier identifies the manufacturing tool 124.
[0052] The descriptor is provided (714) to the server 114. If a security classification was assigned (710) to the series of frames, the security classification may be provided (716) to the server 114. If a date, time, and / or source identifier was associated (712) with the series of frames, the date, time, and / or source identifier may be provided (718) to the server 114.
[0053] The series of frames is provided (720) to the server 114 for forwarding to the client device 104, which is remote from the manufacturing facility. The server 114 forwards the series of frames to the client device 104 according to a determination based at least in part on the descriptor that the client device 104 is authorized to receive the series of frames. If a security classification was provided (716) to the server 114, the determination may be further based (722), at least in part, on the security classification. If a date, time, and / or source identifier was provided (718) to the server 114, the determination may be further based (724), at least in part, on the date, time, and source identifier. In some embodiments, the determination is made by performing a lookup in a lookup table (e.g., security module 914, FIG. 9) that stores permissions as a function of the descriptor, security classification, date, time, source identifier, equipment supplier, client device, and / or other variables.
[0054] In some embodiments, the frame, descriptor, security classification, date, time, and / or source identifier are provided to the server 114 in a self-describing data package. For example, the data package may use a JavaScript Object Notation (JSON) format or a HyperText Markup Language format.
[0055] Having the server 114 determine whether a client device 104 is authorized to receive a frame on behalf of the computer system of the manufacturing tool 124 reduces the computational burden on the computer system of the manufacturing tool 124 (e.g., allowing the manufacturing tool 124 to be lighter). Making the determination using information from the computer system of the manufacturing tool 124 enables end-to-end security.
[0056] Method 300 (FIG. 3) (e.g., method 400 of FIG. 4, method 500 of FIG. 5, or method 600 of FIG. 6) may be combined with method 700 (FIG. 7). For example, providing a series of frames to server 114 (306, FIGS. 3-6), including providing one or more frames to server 114 (318, FIGS. 3-6), is performed according to step 720 (FIG. 7), where server 114 forwards the series of frames to client device 104 according to a determination that client device 104 is authorized to receive the series of frames.
[0057] 8 is a block diagram of a manufacturing tool 800 according to some embodiments. Manufacturing tool 800, which is an example of manufacturing tool 124 at manufacturing facility 112 (FIG. 1), includes hardware 830 and a computer system 801. Hardware 830 processes or inspects products (e.g., semiconductor wafers) manufactured at manufacturing facility 112. Computer system 801 controls hardware 830 and reports the status of hardware 830. Hardware 830 may include a camera 832 positioned to provide an image (e.g., a video feed) of a portion of hardware 830.
[0058] Computer system 801 includes one or more processors 802 (e.g., CPUs), a user interface 806, memory 810, one or more network interfaces 803, and communication bus(es) 804 interconnecting these components. Network interface 803 is used to communicate over network 119 (FIG. 1). User interface 806 may include a display 807 and one or more input devices 808 (e.g., a keyboard, a mouse, a touch-sensitive surface of display 807, etc.). Display 807 may display a graphical user interface of manufacturing tool 800.
[0059] The memory 810 includes volatile and / or non-volatile memory. The memory 810 (e.g., the non-volatile memory in the memory 810) includes a non-transitory computer-readable storage medium. The memory 810 optionally includes one or more storage devices located remotely from the processor 802 and / or a non-transitory computer-readable storage medium removably inserted into the computer system 801. In some embodiments, the memory 810 (e.g., the non-transitory computer-readable storage medium of the memory 810) stores modules and data such as an operating system 812, a hardware control module 814 for controlling the hardware 830, a user interface module 818 for generating a user interface (e.g., GUI 202, FIGS. 2A-2C) and corresponding frames, and a transmission module 824 for transmitting the frames. The hardware control module 814 includes a command processing module 816 for processing commands received from the client device 104. The user interface module 818 includes a frame generation module 820 for generating frames and a bandwidth adjustment module 822 for adjusting the bandwidth of the frames (e.g., for setting the resolution of the frame or a portion thereof and / or for setting the frame rate). The frame generation module 820 may assign descriptors to the frames, assign security classifiers to the frames, and / or associate dates, times, and / or source identifiers to the frames.
[0060] Memory 810 (e.g., a non-transitory computer-readable storage medium) stores instructions for executing method 300 (FIG. 3) (e.g., method 400 of FIG. 4, method 500 of FIG. 5, and / or method 600 of FIG. 6) and / or method 700 (FIG. 7). Each of the modules stored in memory 810 corresponds to a set of instructions for performing one or more functions described herein. Separate modules need not be implemented as separate software programs. Modules and various subsets of modules may be combined or otherwise rearranged. In some embodiments, memory 810 stores a subset or superset of the above-identified modules and / or data structures.
[0061] 8 is intended as a functional description of various features that may be present in a manufacturing tool and its computer system, rather than as a structural schematic. For example, the functionality of computer system 801 may be divided among multiple devices. Some of the modules stored in memory 810 may alternatively be stored in one or more other computer systems communicatively coupled to computer system 801 via one or more networks.
[0062] 9 is a block diagram of a manufacturing facility server 900, according to some embodiments. The server 900 is an example of a server 114 associated with (e.g., within) the manufacturing facility 112 (FIG. 1). The server 900 includes one or more processors 902 (e.g., CPUs), a user interface 906, memory 910, one or more network interfaces 903, and a communication bus(es) 904 interconnecting these components. The one or more network interfaces 903 are used to communicate over the Internet 110 and / or the network 119 (FIG. 1). The user interface 906 may include a display 907 and one or more input devices 908 (e.g., a keyboard, a mouse, a touch-sensitive surface of the display 907, etc.). The display 907 may display a graphical user interface for remote support activities and corresponding requests, connections, and transmissions.
[0063] The memory 910 includes volatile and / or non-volatile memory. The memory 910 (e.g., the non-volatile memory in the memory 910) includes a non-transitory computer-readable storage medium. The memory 910 optionally includes one or more storage devices located remotely from the processor 902 and / or a non-transitory computer-readable storage medium removably inserted into the server 900. The memory 910 (e.g., the non-transitory computer-readable storage medium of the memory 910) includes instructions for executing all or a portion of the method 300 (FIG. 3). In some embodiments, the memory 910 (e.g., the non-transitory computer-readable storage medium of the memory 910) stores modules and data such as an operating system 912, a security module 914 for authorizing communications between the manufacturing tool 124 and the remote client device 104, and a communications module 916 for sending and receiving communications (e.g., for the manufacturing tool 124 and the client device 104). The memory 910 (e.g., security module 914) stores (e.g., in a non-transitory computer-readable storage medium) instructions for making the determination of step 720 (e.g., including steps 722 and / or 724) in the method 700 (FIG. 7).
[0064] Each of the modules stored in memory 910 corresponds to a set of instructions for performing one or more functions described herein. Separate modules need not be implemented as separate software programs. Modules and various subsets of modules may be combined or otherwise rearranged. In some embodiments, memory 910 stores a subset or superset of the modules and / or data structures identified above.
[0065] 9 is intended as a functional description of various features that may be present in the server, rather than a structural schematic. For example, the functionality of the server 900 may be divided among multiple devices. Some of the modules stored in the memory 910 may alternatively be stored in one or more other computer systems communicatively coupled to the server 900 via one or more networks.
[0066] FIG. 10 is a block diagram of a client device 1000 according to some embodiments. The client device 1000 may be an example of a client device 104 of an equipment supplier 102. The client device 1000 includes one or more processors 1002 (e.g., CPU), a user interface 1006, a memory 1010, one or more network interfaces 1003, and a communication bus(es) 1004 interconnecting these components. The one or more network interfaces 1003 are used to communicate over one or more networks (e.g., the Internet 110 and / or network 106, FIG. 1). The client device may also include a camera 1001 (e.g., camera 122, FIGS. 1-2C) interconnected with other components by the communication bus(es) 1004. The user interface 1006 may include a display 1007 (e.g., display screen 200, FIGS. 2A-2C) and one or more input devices 1008 (e.g., keyboard 206 of FIGS. 2A-2C, a mouse, a touch-sensitive surface of the display 1007, etc.). The display 1007 may display a graphical user interface (e.g., GUI 202 of FIGS. 2A-2C) related to remote support activities.
[0067] The memory 1010 includes volatile and / or non-volatile memory. The memory 1010 (e.g., the non-volatile memory in the memory 1010) includes a non-transitory computer-readable storage medium. The memory 1010 optionally includes one or more storage devices located remotely from the processor 1002 and / or a non-transitory computer-readable storage medium removably inserted into the client device 1000. In some embodiments, the memory 1010 (e.g., the non-transitory computer-readable storage medium of the memory 1010) stores modules and data such as an operating system 1012, a manufacturing tool remote control module 1014 for interacting with the remote manufacturing tool 124, and an eye tracking module 1020 for determining an area on the display 1007 that a user views (e.g., area 208, FIG. 2C). The manufacturing tool remote control module 1014 may include a user interface module 1016 for displaying a user interface (e.g., GUI 202, FIGS. 2A-2C ) received in a frame from the computer system of the manufacturing tool 124, and a command module 1018 for receiving commands from a user (i.e., an expert) and sending the commands to the computer system of the manufacturing tool 124.
[0068] Each of the modules stored in memory 1010 corresponds to a set of instructions for performing one or more functions described herein. Separate modules need not be implemented as separate software programs. Modules and various subsets of modules may be combined or otherwise rearranged. In some embodiments, memory 1010 stores a subset or superset of the modules and / or data structures identified above.
[0069] 10 is intended as a functional description of various features that may be present in a client device, rather than as a structural schematic. For example, the functionality of client device 1000 may be divided among multiple devices. Some of the modules stored in memory 1010 may alternatively be stored in one or more other computer systems communicatively coupled to client device 1000 via one or more networks.
[0070] The foregoing description has been described with reference to specific embodiments for purposes of illustration. However, the above exemplary description is not intended to be exhaustive or to limit the claims to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been selected to best explain the principles underlying the claims and their practical application, so that those skilled in the art can best utilize the embodiments with various modifications as appropriate for the particular use contemplated.
Claims
A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of a computer system, wherein the one or more programs include: Instructions for transmitting a series of frames indicating data for a manufacturing tool for display to a client device remote from a manufacturing facility where the manufacturing tool is to be located; Instructions for adjusting the bandwidth of one or more frames of the series of frames in response to receiving an indication of a user interaction with the client device, the indication including characters provided as user input to the client device, the instructions for adjusting; The instructions for transmitting the series of frames include instructions for transmitting a first set of frames at a first resolution before receiving the indication; The instructions for adjusting the bandwidth are instructions for selecting a second resolution for at least a portion of each frame of a second set of frames, the second set of frames including the one or more frames, the second resolution being lower than the first resolution, and the instructions for selecting, in response to receiving the indication, the characters being included in the second set of frames; The instructions for transmitting the series of frames include instructions for transmitting the one or more frames of the adjusted bandwidth for display to the client device after receiving the indication; The instructions for transmitting the one or more frames include instructions for transmitting the second set of frames to the client device for display using the second resolution after receiving the indication, the non-transitory computer-readable storage medium. **Claim 2** The manufacturing tool is associated with an equipment supplier; The computer-readable storage medium according to claim 1, wherein the client device is a client device of the equipment supplier. **Claim 3** The computer-readable storage medium according to claim 1, wherein the second resolution is the lowest available resolution. **Claim 4** For each frame of the first set, the entire frame has the first resolution; For each frame of the second set, the entire frame has the second resolution. The computer-readable storage medium according to claim 1.
5. The characters are part of a command of the manufacturing tool, and each frame of the second set includes the characters. The computer-readable storage medium according to claim 1.
6. The computer-readable storage medium according to claim 5, wherein each frame of the second set includes the characters in a command line of a user interface of the manufacturing tool.
7. For each frame of the second set, the command for adjusting the bandwidth includes a command to maintain the first resolution for the command line, and a command to select the second resolution for the remaining portion of the frame outside the command line. The computer-readable storage medium according to claim 6.
8. The computer-readable storage medium according to claim 7, wherein the second resolution is the lowest available resolution.
9. The one or more programs further include a command to select the first resolution for a set of third frames following the second set, and the command for transmitting the series of frames further includes a command to transmit the set of third frames to the client device for display using the first resolution after transmitting the second set. The computer-readable storage medium according to claim 1.
10. The computer system is a computer system of the manufacturing tool, the computer system of the manufacturing tool is communicably coupled to a server related to the manufacturing facility, and the command for transmitting the series of frames includes a command to provide the series of frames to the server for transfer to the client device. The computer-readable storage medium according to claim 1.
11. A computer system, comprising one or more processors and a memory storing one or more programs for execution by the one or more processors, the one or more programs including a command to cause a series of frames indicating data of a manufacturing tool to be transmitted for display to a client device remote from a manufacturing facility in which the manufacturing tool is to be disposed. A command to adjust the bandwidth of one or more frames of the series of frames in response to receiving an instruction for user interaction with the client device, the instruction including the command to adjust, which includes characters provided as user input to the client device. The command for transmitting the series of frames includes a command for transmitting a first set of frames at a first resolution before receiving the instruction. The command for adjusting the bandwidth is a command for selecting a second resolution for at least a part of each frame of a second set of frames, the second set of frames including the one or more frames, the second resolution being lower than the first resolution, and the command for selecting, in response to receiving the instruction, the characters being included in the second set of frames. The command for transmitting the series of frames includes a command for transmitting the one or more frames of the adjusted bandwidth to the client device for display after receiving the instruction. The command for transmitting the one or more frames includes a command for transmitting the second set of frames to the client device for display using the second resolution after receiving the instruction, a computer system. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of a computer system communicably coupled via one or more networks to a manufacturing tool, the one or more programs including A command for transmitting a series of frames indicating data for the manufacturing tool to a client device remote from a manufacturing facility where the manufacturing tool is to be located for display; A command to adjust the bandwidth of one or more frames of the series of frames in response to receiving an instruction for user interaction with the client device, the instruction including the command to adjust, which includes characters provided as user input to the client device. The command for transmitting the series of frames includes a command for transmitting a first set of frames at a first resolution before receiving the instruction. The instruction for adjusting the bandwidth is an instruction for selecting a second resolution for at least a part of each frame of a set of second frames, the set of second frames including the one or more frames, the second resolution being lower than the first resolution, and including an instruction for selecting, in response to receiving the indication, that the characters are included in the set of second frames. The non-transitory computer-readable storage medium, wherein the instruction for transmitting the series of frames includes an instruction for transmitting the second set to the client device for display using the second resolution after receiving the indication.
13. The computer system is a first computer system. The manufacturing tool includes a second computer system. The computer-readable storage medium according to claim 12, wherein the first computer system is communicatively coupled to the second computer system via the one or more networks.
14. The manufacturing tool is associated with a device supplier. The computer-readable storage medium according to claim 12, wherein the client device is a client device of the device supplier.
15. The characters are part of a command of the manufacturing tool. Each frame of the second set includes the characters. The computer-readable storage medium according to claim 12.
16. Each frame of the second set includes the characters in a command line of a user interface of the manufacturing tool. The instruction for adjusting the bandwidth is for each frame of the second set. An instruction for maintaining the first resolution for the command line. The computer-readable storage medium according to claim 15, further including an instruction for selecting the second resolution for the remaining portion of the frame outside the command line.
17. The one or more programs further include an instruction for selecting the first resolution for a set of third frames following the second set. The computer-readable storage medium according to claim 12, wherein the instruction for transmitting the series of frames further includes an instruction for transmitting the set of third frames to the client device for display using the first resolution after transmitting the second set. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors of a computer system communicably coupled to a manufacturing tool via one or more networks, the one or more programs comprising: instructions for transmitting, for display, a series of frames indicative of data for the manufacturing tool to a client device remote from a manufacturing facility in which the manufacturing tool is to be disposed; instructions for adjusting a bandwidth of a single frame of the series of frames in response to receiving an indication of a user interaction with the client device; the instructions for transmitting the series of frames include instructions for transmitting, for display, video of a first resolution from a video feed for the manufacturing tool to the client device before receiving the indication; the instructions for adjusting the bandwidth include instructions for selecting a second resolution for the single frame; the single frame includes a still image from the video feed; the second resolution is higher than the first resolution; the instructions for transmitting the series of frames, in response to receiving the indication, include instructions for stopping transmission of video to the client device; and instructions for transmitting the single frame to the client device for static display using the second resolution. A non-transitory computer-readable storage medium comprising: The computer-readable storage medium according to claim 18, wherein the video and the single frame show at least a part of the manufacturing tool in operation. The computer-readable storage medium according to claim 18, wherein the indication is an indication of a first user input at the client device, and the instructions for transmitting the series of frames further include instructions for resuming transmission of the video of the first resolution for display to the client device after transmitting the single frame to the client device in response to receiving an indication of a second user input at the client device. A method, in a computer system communicably coupled to a manufacturing tool via one or more networks, Transmitting a series of frames indicating data for the manufacturing tool to a client device remote from a manufacturing facility in which the manufacturing tool is to be disposed, for display; Adjusting the bandwidth of one or more frames of the series of frames in response to receiving an indication of user interaction with the client device, the indication including characters provided as user input to the client device; Sending the series of frames includes sending a first set of frames at a first resolution before receiving the indication; Adjusting the bandwidth includes selecting a second resolution for at least a portion of each frame of a second set of frames, the second set of frames including the one or more frames, the second resolution being lower than the first resolution, and selecting in response to receiving the indication, the characters being included in the second set of frames; The method includes sending the second set to the client device for display using the second resolution after receiving the indication. **Claim 22**: A computer system comprising: One or more processors; One or more network interfaces enabling network communication including communication via one or more networks with a manufacturing tool; A memory storing one or more programs for execution by the one or more processors, the one or more programs including: Instructions for transmitting a series of frames indicating data for the manufacturing tool to a client device remote from a manufacturing facility in which the manufacturing tool is to be disposed, for display; Instructions for adjusting the bandwidth of one or more frames of the series of frames in response to receiving an indication of user interaction with the client device, the indication including characters provided as user input to the client device; The instructions for transmitting the series of frames include instructions for transmitting a first set of frames at a first resolution before receiving the indication; The instruction for adjusting the bandwidth is an instruction for selecting a second resolution for at least a part of each frame of a set of second frames, wherein the set of second frames includes the one or more frames, the second resolution is lower than the first resolution, and in response to receiving the indication, an instruction for selecting such that the characters are included in the set of second frames. A computer system, wherein the instruction for transmitting the series of frames includes an instruction for transmitting the second set to the client device for display using the second resolution after receiving the indication.