DETAILED ACTION
Election/Restrictions
Applicant's election with traverse in the reply filed on04/08/2026 is acknowledged. The traversal is found persuasive. Accordingly, the restriction has been withdrawn.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-10 and 14-27 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claims 1, 14 and 17 recite the limitation "the manner”. There is insufficient antecedent basis for this limitation in the claim.
Claim 3 recites the limitation "the top-most”. There is insufficient antecedent basis for this limitation in the claim.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-4, 9, 14-15, 17-19, 21 and 26 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806) and Maherzi (“Maherzi”, Pub. No. 2024/0241500).
Per claim 1, Igeta teaches a computer-implemented method of executing a user’s operation with automated resiliency, the method comprising:
identifying an action of the user to be executed via a computing device having an associated display device, the action induces interaction with a particular portion of a graphical user interface (GUI) presented on the display device (fig. 4A and 4B and 7A-7F; [0004]… a case in which an object (e.g., file) displayed in a first window is moved or copied, by drag-and-drop, to an application which manages a second window. In this case, if the second window is hidden behind the first window, it cannot accept drop of the object. To prevent this, the user needs to adjust the position of each window before drag-and-drop to display both the drag-and-drop target object in the first window and at least part of the drop area in the second window without overlap. [0007]…The present invention has been made in consideration of the above-described situation, and has as its feature to, when a plurality of windows are displayed on a display screen in an overlapping state, display each window in a convenient state for a user to operate, thereby reducing the operation load of the user. [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application. [0135]… FIG. 4B illustrates a state after the CPU 106 has executed the switching processing in step S305. Reference numeral 400 denotes a display screen of the PC 100 on which the user performs an operation; 401, a window (first window) 401 of another application (first application program) in which an object list is arranged; and 402, a window (second window) of the event detection application (second application program). Referring to FIG. 4A, an active mouse pointer 403 exists on the window 401. The window 402 is displayed at the rear of the window 401 and hidden. When the user drags an object in the window 401 (YES in step S304), the CPU 106 executes processing of switching the display layer of the window 402 from the back to the topmost position in step S305. Note that the two-dimensional position of the window 402 on the display screen does not change, and the position of an origin 424 of the window 402 remains unchanged even after the switching. The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. This allows the user to easily recognize the window 402 that is the drop destination of the drag target object. At this time, the window can be prevented from impeding the operation, as described with reference to FIG. 3 and the like, resulting in higher user operability. [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.);
determining whether the particular portion of the GUI is accessible to the user (fig. 4A and 4B and 7A-7F; [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application. [0135]… FIG. 4B illustrates a state after the CPU 106 has executed the switching processing in step S305. Reference numeral 400 denotes a display screen of the PC 100 on which the user performs an operation; 401, a window (first window) 401 of another application (first application program) in which an object list is arranged; and 402, a window (second window) of the event detection application (second application program). Referring to FIG. 4A, an active mouse pointer 403 exists on the window 401. The window 402 is displayed at the rear of the window 401 and hidden. When the user drags an object in the window 401 (YES in step S304), the CPU 106 executes processing of switching the display layer of the window 402 from the back to the topmost position in step S305. Note that the two-dimensional position of the window 402 on the display screen does not change, and the position of an origin 424 of the window 402 remains unchanged even after the switching. The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. This allows the user to easily recognize the window 402 that is the drop destination of the drag target object. At this time, the window can be prevented from impeding the operation, as described with reference to FIG. 3 and the like, resulting in higher user operability.);
manipulating, when the particular portion of the GUI is determined to not be accessible to the user, the manner by which at least a portion of the GUI is displayed on the display device so that the particular portion is accessible to the user (fig. 4A and 4B and 7A-7F; [0135]… FIG. 4B illustrates a state after the CPU 106 has executed the switching processing in step S305. Reference numeral 400 denotes a display screen of the PC 100 on which the user performs an operation; 401, a window (first window) 401 of another application (first application program) in which an object list is arranged; and 402, a window (second window) of the event detection application (second application program). Referring to FIG. 4A, an active mouse pointer 403 exists on the window 401. The window 402 is displayed at the rear of the window 401 and hidden. When the user drags an object in the window 401 (YES in step S304), the CPU 106 executes processing of switching the display layer of the window 402 from the back to the topmost position in step S305. Note that the two-dimensional position of the window 402 on the display screen does not change, and the position of an origin 424 of the window 402 remains unchanged even after the switching. The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. This allows the user to easily recognize the window 402 that is the drop destination of the drag target object. At this time, the window can be prevented from impeding the operation, as described with reference to FIG. 3 and the like, resulting in higher user operability. [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.); and
performing the action with respect to the particular portion of the GUI ([0142]… When detecting the drop operation in step S306 and executing the process in step S307, the CPU 106 executes the process in step S307 after detecting the completion of processing executed in response to the drop operation, for example, move or copy of a file corresponding to an object.)
Igeta does not specifically teach using a software robot to automate various user tasks by simulating user actions.
However, Maherzi teaches using software robots to automate various user tasks by simulating user actions in the UI ([0027]… Robotic process automation aims to automate complex scenarios of repetitive tasks performed on a graphical user interface. RPA can be implemented as a complete automation suite where RPA software robots (“RPA bots”) are configured to automate various user tasks and parts of computer-implemented processes through application user interfaces (UIs). For example, RPA bots can automate end-to-end scenarios for definable and repeatable computer-implemented processes, including mimicking human user actions by replacing manual clicks. RPA bots can also provide cross-technology UI-based automation and thus can automate user tasks across different applications by simulating user actions in the UI). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Maherzi in the invention of Igeta to include a software robot because doing so would enhance efficiency to automate various user tasks by simulating user actions in the UI.
Per claim 2, the modified Igeta teaches a computer-implemented method as recited in claim 1, wherein the GUI includes at least a first window, wherein the particular portion is a point or area of the first window, and wherein the determining whether the particular portion of the GUI is accessible to the bot comprises determining whether a second window is at least partially overlapping the particular portion of the first window (Igeta, [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application. [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.).
Per claim 3, the modified Igeta teaches a computer-implemented method as recited in claim 2, wherein the manipulating comprises: causing the first window to be the top-most displayed window (Igeta, [0128]… the window of the event detection application is moved to the topmost position of the display screen of the multiwindow system by the process in step S305. [0135]… The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B).
Pern claim 4, the modified Igeta teaches a computer-implemented method as recited in claim 2, wherein the manipulating comprises: causing the second window to be minimized (Igeta, figs. 10A-10B; [0157]… the CPU 106 obtains the resize ratio and moving position of the window of the drag source application and those of the window of the drop target application. At this time, when a position with a minimum moving distance at the same resize ratio is obtained for each of the window of the drag source application and that of the drop target application, the user's sense of incongruity caused by the resize and movement can be made as small as possible. Assume that drag starts when a window 1001 of the drag source application is displayed in almost the same size as a display screen 1000, and a window 1002 of the drop target application is hidden behind it, as shown in FIG. 10A. In this case, the window 1001 of the drag source application and the window 1002 of the drop target application are resized and moved, as shown in FIG. 10B. Note that the CPU 106 may use in step S613 not the size of the overlap area but the ratio of the overlap area to the size of the window of the drag source application. In step S615, the CPU 106 determines whether the resize ratio obtained in step S614 has a predetermined value or more. If it has the predetermined value or more, the process advances to step S616. Otherwise, the processing ends. In step S616, the CPU 106 iconizes the window of the drag source application and acquires the moving position of the window of the drop target application. If resize of the window of the drag source application needs to be done excessively, iconizing it facilitates the drop operation on the window of the drop target application.).
Per claim 9, the modified Igeta teaches a computer-implemented method as recited in claim 1, wherein the GUI pertains to an application program, and wherein when the particular portion of the GUI is determined to not be accessible to the bot, the GUI is at least partially obstructed (Igeta, [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application). [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.).
Claims 14 and 15 are rejected under the same rationale as claims 1 and 9 respectively.
Claims 17-19, and 21 are rejected under the same rationale as claim 1, 3-4, 9 respectively.
Claim 26 is rejected under the same rationale as claim 9.
Claim(s) 5 and 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806), Maherzi (“Maherzi”, Pub. No. 2024/0241500), and Lefor et al. (“Lefor”, Pub. No. US 2017/0242567).
Per claim 5, the modified Igeta teaches a computer-implemented method as recited in claim 2, but does not teach wherein the manipulating comprises: causing the second window to become a transparent window.
However, Lefor teaches causing the second window to become a transparent window ([0059]… the method 500 may be practiced where at least partially hiding the modal dialog revealing at least a portion of the obscured data includes instructing the device to change the opacity of the modal dialog. For example, the device may change the opacity of the modal dialog 106. In some embodiments, the device may change the opacity of the modal dialog 106 to be completely transparent). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Lefor in the invention of the modified Igeta to include a transparent screen because doing so would enhance operability to allow information to show through a transparent screen.
Claim 20 is rejected under the same rationale as claim 5.
Claim(s) 6-8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806) and Maherzi (“Maherzi”, Pub. No. 2024/0241500), and Kuraki et al. (“Kuraki”, Pub. No. 2015/0304393).
Per claim 6, the modified Igeta teaches computer-implemented method as recited in claim 1, but does not teach wherein the determining whether the particular portion of the GUI is accessible to the bot comprises querying a Windows API for an active window at the particular portion.
However, Kuraki teaches wherein the determining whether the particular portion of the GUI is accessible to the bot comprises querying a Windows API for an active window at the particular portion ([0039]…The list updating unit 21 acquires, via the OS API, information indicating the position and range of each window, for example, information indicating the coordinates of the upper left and lower right corners of each window and information indicating the depth position of the window within the stack of overlapping windows (step S101). Then, the list updating unit 21 identifies the window behind which there are no other windows, for example, as the window located at the bottommost position (step S102). The list updating unit 21 examines the positional relationship between the overlapping windows in sequence starting from the bottommost window, and identifies the window located just in front of the bottommost window. Thus working through the stack from the bottommost window up to the topmost window, the list updating unit 21 sequentially determines the display order of each window (step S103)). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Kuraki in the invention of the modified Igeta to include monitoring of overlapping windows using window APIs because doing so would allow the system to track a list overlapping windows and/or to provide a target or active drop area.
Per clam 7, the modified Igeta teaches a computer-implemented method as recited in claim 1, wherein the particular portion is a particular position within the GUI (Igeta, [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application). [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.).
The modified Igeta does not specifically teach the determining whether the particular portion of the GUI is accessible to the bot comprises querying a Windows API for an active window at the particular position.
However, Kuraki teaches the determining whether the particular portion of the GUI is accessible to the bot comprises querying a Windows API for an active window at the particular portion ([0039]…The list updating unit 21 acquires, via the OS API, information indicating the position and range of each window, for example, information indicating the coordinates of the upper left and lower right corners of each window and information indicating the depth position of the window within the stack of overlapping windows (step S101). Then, the list updating unit 21 identifies the window behind which there are no other windows, for example, as the window located at the bottommost position (step S102). The list updating unit 21 examines the positional relationship between the overlapping windows in sequence starting from the bottommost window, and identifies the window located just in front of the bottommost window. Thus working through the stack from the bottommost window up to the topmost window, the list updating unit 21 sequentially determines the display order of each window (step S103)). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Kuraki in the invention of the modified Igeta to include monitoring of overlapping windows using window APIs because doing so would allow the system to track a list overlapping windows and/or to provide a target or active drop area.
Per claim 8, the modified Igeta does not specifically teach a computer-implemented method as recited in claim 1, wherein the particular portion is a particular area within the GUI, and wherein the determining whether the particular portion of the GUI is accessible to the bot comprises: identifying a plurality of particular points that are within the particular area (Igeta, [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application). [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.).
The modified Igeta does not teach querying a Windows API for an active window at the plurality of particular points.
However, Kuraki teaches identifying a plurality of particular points that are within the particular area and querying a Windows API for an active window at the plurality of particular points ([0039]…The list updating unit 21 acquires, via the OS API, information indicating the position and range of each window, for example, information indicating the coordinates of the upper left and lower right corners of each window and information indicating the depth position of the window within the stack of overlapping windows (step S101). Then, the list updating unit 21 identifies the window behind which there are no other windows, for example, as the window located at the bottommost position (step S102). The list updating unit 21 examines the positional relationship between the overlapping windows in sequence starting from the bottommost window, and identifies the window located just in front of the bottommost window. Thus working through the stack from the bottommost window up to the topmost window, the list updating unit 21 sequentially determines the display order of each window (step S103)). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Kuraki in the invention of the modified Igeta to include monitoring of overlapping windows using window APIs because doing so would allow the system to track a list overlapping windows and/or to provide a target or active drop area.
Claim(s) 10, 11, 16, 22-23, 25 and 27 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806) and Maherzi (“Maherzi”, Pub. No. 2024/0241500), and Berstis et al. (“Berstis”, Pub. No. 2007/0192734).
Per claim 10, the modified Igeta teaches a computer-implemented method as recited in claim 9, comprising determining when the particular portion of the GUI is determined to not be accessible to the bot as cited above, but does not teach the particular portion of the GUI is at least partially obstructed by a pop-up window.
However, Berstis teaches determining the particular portion of the GUI is at least partially obstructed by a pop-up window ([0025]… New window monitor 528 monitors the creation of new windows. New window monitor 528 includes new window classifier 530. New window classifier 530 may classify a window as pop-up if it is not user-initiated. [0027]… If the user moves the mouse over the pop-up window and another window is beneath the pop-up window, the pop-up window relocator/resizer 560 may move the pop-up window to allow the user access to the other window. In some embodiments, the pop-up window relocator/resizer 560 may display the pop-up window in a region overlapping the region with focus. In further embodiments, the pop-up window relocator/resizer 560 may relocate the pop-up window so that it does not cover up the user's current input. Pop-up displayer 542 may obtain information about how to display pop-ups, such as information about the classes of pop-up windows to receive special treatment and the length of the pop-up delay interval, from preferences 532. [0035]…In other embodiments, the region of display of a pop-up window that is denied focus may be displayed partially or completely overlapped another window or windows. In particular, the pop-up window may be displayed overlapping the window with focus 205. In embodiments in which the pop-up window overlaps the window with focus 205, the location of the pop-up window may be shifted when the pop-up window is covering up the area of the window with focus 205 in which a user's keyboard input is being displayed. In alternative embodiments, a pop-up window may not be displayed until it is granted focus. In some embodiments, the display window 225 for a pop-up window may be moved in response to mouse activity. If, for example, a user clicks on a window to give it focus and the display window 225 overlaps the window acquiring focus, the display window 225 may be moved to a location not overlapping the window acquiring focus. Similarly, in some embodiments, if a user moves the mouse to a region where the pop-up window is displayed, the display may be moved, to enable the user to access a window overlapped by the pop-up window. Thus the pop-up window appears to dynamically move out of the way. [0039]… In these circumstances, a pop-up controller such as an operating system or other program or hardware may determine that window 330 was user initiated because of user activity in the application 340 that generated window 330 within a short time of the creation of window 330. The pop-up controller may then grant focus to window 330. Conversely, the pop-up controller may determine that the pop-up window is indeed a pop-up window because application 350 is not a foreground application. The pop-up controller may deny focus to the pop-up window.) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Berstis in the invention of the modified Igeta to include determining of pop-up window because doing so would enhance operability by preventing interference of input/operation with a target window.
Per claim 11, Igeta teaches a computer-implemented method of executing a user’s operation with resiliency, the method comprising:
identifying an action of the user to be executed via a computing device having an associated display device, the action induces interaction with a particular portion of an application window presented on the display device (fig. 4A and 4B and 7A-7F; [0004]… a case in which an object (e.g., file) displayed in a first window is moved or copied, by drag-and-drop, to an application which manages a second window. In this case, if the second window is hidden behind the first window, it cannot accept drop of the object. To prevent this, the user needs to adjust the position of each window before drag-and-drop to display both the drag-and-drop target object in the first window and at least part of the drop area in the second window without overlap. [0007]…The present invention has been made in consideration of the above-described situation, and has as its feature to, when a plurality of windows are displayed on a display screen in an overlapping state, display each window in a convenient state for a user to operate, thereby reducing the operation load of the user. [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application. [0135]… FIG. 4B illustrates a state after the CPU 106 has executed the switching processing in step S305. Reference numeral 400 denotes a display screen of the PC 100 on which the user performs an operation; 401, a window (first window) 401 of another application (first application program) in which an object list is arranged; and 402, a window (second window) of the event detection application (second application program). Referring to FIG. 4A, an active mouse pointer 403 exists on the window 401. The window 402 is displayed at the rear of the window 401 and hidden. When the user drags an object in the window 401 (YES in step S304), the CPU 106 executes processing of switching the display layer of the window 402 from the back to the topmost position in step S305. Note that the two-dimensional position of the window 402 on the display screen does not change, and the position of an origin 424 of the window 402 remains unchanged even after the switching. The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. This allows the user to easily recognize the window 402 that is the drop destination of the drag target object. At this time, the window can be prevented from impeding the operation, as described with reference to FIG. 3 and the like, resulting in higher user operability.);
determining whether a window is present over the particular portion of the application window that the action of the user is to interact with (fig. 4A and 4B and 7A-7F; [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application. [0135]… FIG. 4B illustrates a state after the CPU 106 has executed the switching processing in step S305. Reference numeral 400 denotes a display screen of the PC 100 on which the user performs an operation; 401, a window (first window) 401 of another application (first application program) in which an object list is arranged; and 402, a window (second window) of the event detection application (second application program). Referring to FIG. 4A, an active mouse pointer 403 exists on the window 401. The window 402 is displayed at the rear of the window 401 and hidden. When the user drags an object in the window 401 (YES in step S304), the CPU 106 executes processing of switching the display layer of the window 402 from the back to the topmost position in step S305. Note that the two-dimensional position of the window 402 on the display screen does not change, and the position of an origin 424 of the window 402 remains unchanged even after the switching. The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. This allows the user to easily recognize the window 402 that is the drop destination of the drag target object. At this time, the window can be prevented from impeding the operation, as described with reference to FIG. 3 and the like, resulting in higher user operability.;
modifying, when the determining determines that an unexpected pop-up window is present over the particular portion of the application window that the action of the user is to interact with, presentation on the display device of the window or the application window so that the window is no longer present over the particular portion of the application window that the action of the user is to interact with (fig. 4A and 4B and 7A-7F; [0135]… FIG. 4B illustrates a state after the CPU 106 has executed the switching processing in step S305. Reference numeral 400 denotes a display screen of the PC 100 on which the user performs an operation; 401, a window (first window) 401 of another application (first application program) in which an object list is arranged; and 402, a window (second window) of the event detection application (second application program). Referring to FIG. 4A, an active mouse pointer 403 exists on the window 401. The window 402 is displayed at the rear of the window 401 and hidden. When the user drags an object in the window 401 (YES in step S304), the CPU 106 executes processing of switching the display layer of the window 402 from the back to the topmost position in step S305. Note that the two-dimensional position of the window 402 on the display screen does not change, and the position of an origin 424 of the window 402 remains unchanged even after the switching. The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. This allows the user to easily recognize the window 402 that is the drop destination of the drag target object. At this time, the window can be prevented from impeding the operation, as described with reference to FIG. 3 and the like, resulting in higher user operability.); and
executing the action of the bot by inducing interaction with the particular portion of the application window presented on the display device ([0142]… When detecting the drop operation in step S306 and executing the process in step S307, the CPU 106 executes the process in step S307 after detecting the completion of processing executed in response to the drop operation, for example, move or copy of a file corresponding to an object.).
Igeta does not specifically teach determining an unexpected pop-up window and using a software robot to automate various user tasks by simulating user actions.
However, Berstis teaches determining the particular portion of the GUI is at least partially obstructed by a pop-up window ([0025]… New window monitor 528 monitors the creation of new windows. New window monitor 528 includes new window classifier 530. New window classifier 530 may classify a window as pop-up if it is not user-initiated. [0027]… If the user moves the mouse over the pop-up window and another window is beneath the pop-up window, the pop-up window relocator/resizer 560 may move the pop-up window to allow the user access to the other window. In some embodiments, the pop-up window relocator/resizer 560 may display the pop-up window in a region overlapping the region with focus. In further embodiments, the pop-up window relocator/resizer 560 may relocate the pop-up window so that it does not cover up the user's current input. Pop-up displayer 542 may obtain information about how to display pop-ups, such as information about the classes of pop-up windows to receive special treatment and the length of the pop-up delay interval, from preferences 532. [0035]…In other embodiments, the region of display of a pop-up window that is denied focus may be displayed partially or completely overlapped another window or windows. In particular, the pop-up window may be displayed overlapping the window with focus 205. In embodiments in which the pop-up window overlaps the window with focus 205, the location of the pop-up window may be shifted when the pop-up window is covering up the area of the window with focus 205 in which a user's keyboard input is being displayed. In alternative embodiments, a pop-up window may not be displayed until it is granted focus. In some embodiments, the display window 225 for a pop-up window may be moved in response to mouse activity. If, for example, a user clicks on a window to give it focus and the display window 225 overlaps the window acquiring focus, the display window 225 may be moved to a location not overlapping the window acquiring focus. Similarly, in some embodiments, if a user moves the mouse to a region where the pop-up window is displayed, the display may be moved, to enable the user to access a window overlapped by the pop-up window. Thus the pop-up window appears to dynamically move out of the way. [0039]… In these circumstances, a pop-up controller such as an operating system or other program or hardware may determine that window 330 was user initiated because of user activity in the application 340 that generated window 330 within a short time of the creation of window 330. The pop-up controller may then grant focus to window 330. Conversely, the pop-up controller may determine that the pop-up window is indeed a pop-up window because application 350 is not a foreground application. The pop-up controller may deny focus to the pop-up window.)
Maherzi teaches using software robots to automate various user tasks by simulating user actions in the UI ([0027]… Robotic process automation aims to automate complex scenarios of repetitive tasks performed on a graphical user interface. RPA can be implemented as a complete automation suite where RPA software robots (“RPA bots”) are configured to automate various user tasks and parts of computer-implemented processes through application user interfaces (UIs). For example, RPA bots can automate end-to-end scenarios for definable and repeatable computer-implemented processes, including mimicking human user actions by replacing manual clicks. RPA bots can also provide cross-technology UI-based automation and thus can automate user tasks across different applications by simulating user actions in the UI).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Berstis and Maherzi in the invention of Igeta to include determining of pop-up window and software robot because doing so would enhance operability by preventing interference of input/operation with a target window, and it would enhance efficiency to automate various user tasks by simulating user actions in the UI.
Claims 16 is rejected under the same rationale as claim 10.
Claim 22 is rejected under the same rationale as claim 10.
Per claim 23, the modified Igeta teaches a non-transitory computer readable medium as recited in claim 22, wherein the computer program code for manipulating comprises: computer program for moving the at least a portion of the GUI to a top-most layer of the GUI displayed in the display device; and computer program for minimizing the at least a portion of the GUI displayed in the display device (Igeta, [0128]… the window of the event detection application is moved to the topmost position of the display screen of the multiwindow system by the process in step S305. [0135]… The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. figs. 10A-10B; [0157]… the CPU 106 obtains the resize ratio and moving position of the window of the drag source application and those of the window of the drop target application. At this time, when a position with a minimum moving distance at the same resize ratio is obtained for each of the window of the drag source application and that of the drop target application, the user's sense of incongruity caused by the resize and movement can be made as small as possible. Assume that drag starts when a window 1001 of the drag source application is displayed in almost the same size as a display screen 1000, and a window 1002 of the drop target application is hidden behind it, as shown in FIG. 10A. In this case, the window 1001 of the drag source application and the window 1002 of the drop target application are resized and moved, as shown in FIG. 10B. Note that the CPU 106 may use in step S613 not the size of the overlap area but the ratio of the overlap area to the size of the window of the drag source application. In step S615, the CPU 106 determines whether the resize ratio obtained in step S614 has a predetermined value or more. If it has the predetermined value or more, the process advances to step S616. Otherwise, the processing ends. In step S616, the CPU 106 iconizes the window of the drag source application and acquires the moving position of the window of the drop target application. If resize of the window of the drag source application needs to be done excessively, iconizing it facilitates the drop operation on the window of the drop target application.)
Per claim 25, the modified Igeta teaches a non-transitory computer readable medium as recited in claim 23, wherein the at least a portion of the GUI being moved to a top-most layer of the GUI displayed in the display device is a window, and wherein the at least a portion of the GUI displayed in the display device being minimized is a window (Igeta, [0128]… the window of the event detection application is moved to the topmost position of the display screen of the multiwindow system by the process in step S305. [0135]… The CPU 106 operates in accordance with the OS 202 and executes control to display the window 402 as the topmost window, as shown in FIG. 4B. figs. 10A-10B; [0157]… the CPU 106 obtains the resize ratio and moving position of the window of the drag source application and those of the window of the drop target application. At this time, when a position with a minimum moving distance at the same resize ratio is obtained for each of the window of the drag source application and that of the drop target application, the user's sense of incongruity caused by the resize and movement can be made as small as possible. Assume that drag starts when a window 1001 of the drag source application is displayed in almost the same size as a display screen 1000, and a window 1002 of the drop target application is hidden behind it, as shown in FIG. 10A. In this case, the window 1001 of the drag source application and the window 1002 of the drop target application are resized and moved, as shown in FIG. 10B. Note that the CPU 106 may use in step S613 not the size of the overlap area but the ratio of the overlap area to the size of the window of the drag source application. In step S615, the CPU 106 determines whether the resize ratio obtained in step S614 has a predetermined value or more. If it has the predetermined value or more, the process advances to step S616. Otherwise, the processing ends. In step S616, the CPU 106 iconizes the window of the drag source application and acquires the moving position of the window of the drop target application. If resize of the window of the drag source application needs to be done excessively, iconizing it facilitates the drop operation on the window of the drop target application.).
Claim 27 is rejected under the same rationale as claim 10.
Claim(s) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806) and Maherzi (“Maherzi”, Pub. No. 2024/0241500), and Berstis et al. (“Berstis”, Pub. No. 2007/0192734), and Kuraki et al. (“Kuraki”, Pub. No. 2015/0304393).
Per claim 12, the modified Igeta teaches a computer-implemented method as recited in claim 11, wherein the particular portion is a particular position within the application window (Igeta, [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application). [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.)
The modified Igeta does not specifically teaches wherein the determining whether an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact with comprises: querying a Windows API for an active window at the particular position; evaluating whether the active window is the application window; and determining that an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact when the evaluating indicates that the active window is not the application window.
However, Bertis and Kuraki teaches the determining whether an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact with comprises: querying a Windows API for an active window at the particular position; evaluating whether the active window is the application window; and determining that an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact when the evaluating indicates that the active window is not the application window ([0023]…An operating system program programming interface (API) may provide a mechanism for programs to monitor messages to windows and process the messages. The Windows API, for example, provides a mechanism called hooks. A program may set a hook for a particular type of message by calling the SetWindowsHookEx function with a specified procedure and a specification of the type of message. Windows may then pass messages of the specified type to the specified procedure. The messages can include messages that a window is about to receive the keyboard focus, that the operating system is sending a message about mouse activity to a window, and that the operating system is sending a message about keyboard input to the window with focus. [0025]… New window monitor 528 monitors the creation of new windows. New window monitor 528 includes new window classifier 530. New window classifier 530 may classify a window as pop-up if it is not user-initiated. [0027]… If the user moves the mouse over the pop-up window and another window is beneath the pop-up window, the pop-up window relocator/resizer 560 may move the pop-up window to allow the user access to the other window. In some embodiments, the pop-up window relocator/resizer 560 may display the pop-up window in a region overlapping the region with focus. In further embodiments, the pop-up window relocator/resizer 560 may relocate the pop-up window so that it does not cover up the user's current input. Pop-up displayer 542 may obtain information about how to display pop-ups, such as information about the classes of pop-up windows to receive special treatment and the length of the pop-up delay interval, from preferences 532. [0035]…In other embodiments, the region of display of a pop-up window that is denied focus may be displayed partially or completely overlapped another window or windows. In particular, the pop-up window may be displayed overlapping the window with focus 205. In embodiments in which the pop-up window overlaps the window with focus 205, the location of the pop-up window may be shifted when the pop-up window is covering up the area of the window with focus 205 in which a user's keyboard input is being displayed. In alternative embodiments, a pop-up window may not be displayed until it is granted focus. In some embodiments, the display window 225 for a pop-up window may be moved in response to mouse activity. If, for example, a user clicks on a window to give it focus and the display window 225 overlaps the window acquiring focus, the display window 225 may be moved to a location not overlapping the window acquiring focus. Similarly, in some embodiments, if a user moves the mouse to a region where the pop-up window is displayed, the display may be moved, to enable the user to access a window overlapped by the pop-up window. Thus the pop-up window appears to dynamically move out of the way. [0039]… In these circumstances, a pop-up controller such as an operating system or other program or hardware may determine that window 330 was user initiated because of user activity in the application 340 that generated window 330 within a short time of the creation of window 330. The pop-up controller may then grant focus to window 330. Conversely, the pop-up controller may determine that the pop-up window is indeed a pop-up window because application 350 is not a foreground application. The pop-up controller may deny focus to the pop-up window. Kuraki, [0039]…The list updating unit 21 acquires, via the OS API, information indicating the position and range of each window, for example, information indicating the coordinates of the upper left and lower right corners of each window and information indicating the depth position of the window within the stack of overlapping windows (step S101). Then, the list updating unit 21 identifies the window behind which there are no other windows, for example, as the window located at the bottommost position (step S102). The list updating unit 21 examines the positional relationship between the overlapping windows in sequence starting from the bottommost window, and identifies the window located just in front of the bottommost window. Thus working through the stack from the bottommost window up to the topmost window, the list updating unit 21 sequentially determines the display order of each window (step S103)). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Berstis and Kuraki in the invention of the modified Igeta to include determining of pop-up window and monitoring of overlapping windows using window APIs because doing so would enhance operability by preventing interference of input/operation with a target window, and doing so would allow the system to track a list overlapping windows and/or to provide a target or active drop area.
Claim(s) 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806) and Maherzi (“Maherzi”, Pub. No. 2024/0241500), and Berstis et al. (“Berstis”, Pub. No. 2007/0192734), Green et al. (“Green”, Pub. No. 2018/0239510, and Kuraki et al. (“Kuraki”, Pub. No. 2015/0304393).
Per claim 13, the modified Igeta teaches a computer-implemented method as recited in claim 11, wherein the particular portion is a particular area within the application window (Igeta, [0134]… the CPU 106 may operate in accordance with the OS 202 and detect, by an event notification from the OS 202, whether the window of the event detection application is displayed behind the window of another application. Upon detecting that the window of the event detection application is displayed behind the window of another application, the CPU 106 may perform the event acquisition start setting in the OS 202. In this case, processing associated with the display format switching need be executed only when the window of the event detection application is hidden by the window of another application). [0136]…In step S305, the CPU 106 may also execute processing of removing, for example, a menu bar 421 and a tool bar 422 other than a drop area 423 in the window 402, that is, the areas of items unnecessary for the drop operation from the window 402 and turning off the display of them. This reduces the display size of the entire window 402 by the area of the menu bar 421 and the tool bar 422 and also reduces the area overlapping the window 401. [0157]… In step S612, based on the moving position and size of the window of the drag source application and those of the window of the drop target application, the CPU 106 acquires an area where the two windows overlap.)
The modified Igeta does not teach wherein the determining whether an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact with comprises: identifying a plurality of particular points that are within the particular area; querying a Windows API for an active window at each of the plurality of particular points; and; and determining that an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact when the comparing indicates that the active window is not the application window at each of the plurality of particular points.
However, Berstis and Kuraki teaches wherein the determining whether an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact with comprises identifying a plurality of particular points that are within the particular area; querying a Windows API for an active window at each of the plurality of particular points; and; and determining that an unexpected pop-up window is present over the particular portion of the application window that the action of the bot is to interact when the comparing indicates that the active window is not the application window at each of the plurality of particular points ([0023]…An operating system program programming interface (API) may provide a mechanism for programs to monitor messages to windows and process the messages. The Windows API, for example, provides a mechanism called hooks. A program may set a hook for a particular type of message by calling the SetWindowsHookEx function with a specified procedure and a specification of the type of message. Windows may then pass messages of the specified type to the specified procedure. The messages can include messages that a window is about to receive the keyboard focus, that the operating system is sending a message about mouse activity to a window, and that the operating system is sending a message about keyboard input to the window with focus. [0025]… New window monitor 528 monitors the creation of new windows. New window monitor 528 includes new window classifier 530. New window classifier 530 may classify a window as pop-up if it is not user-initiated. [0027]… If the user moves the mouse over the pop-up window and another window is beneath the pop-up window, the pop-up window relocator/resizer 560 may move the pop-up window to allow the user access to the other window. In some embodiments, the pop-up window relocator/resizer 560 may display the pop-up window in a region overlapping the region with focus. In further embodiments, the pop-up window relocator/resizer 560 may relocate the pop-up window so that it does not cover up the user's current input. Pop-up displayer 542 may obtain information about how to display pop-ups, such as information about the classes of pop-up windows to receive special treatment and the length of the pop-up delay interval, from preferences 532. [0035]…In other embodiments, the region of display of a pop-up window that is denied focus may be displayed partially or completely overlapped another window or windows. In particular, the pop-up window may be displayed overlapping the window with focus 205. In embodiments in which the pop-up window overlaps the window with focus 205, the location of the pop-up window may be shifted when the pop-up window is covering up the area of the window with focus 205 in which a user's keyboard input is being displayed. In alternative embodiments, a pop-up window may not be displayed until it is granted focus. In some embodiments, the display window 225 for a pop-up window may be moved in response to mouse activity. If, for example, a user clicks on a window to give it focus and the display window 225 overlaps the window acquiring focus, the display window 225 may be moved to a location not overlapping the window acquiring focus. Similarly, in some embodiments, if a user moves the mouse to a region where the pop-up window is displayed, the display may be moved, to enable the user to access a window overlapped by the pop-up window. Thus the pop-up window appears to dynamically move out of the way. [0039]… In these circumstances, a pop-up controller such as an operating system or other program or hardware may determine that window 330 was user initiated because of user activity in the application 340 that generated window 330 within a short time of the creation of window 330. The pop-up controller may then grant focus to window 330. Conversely, the pop-up controller may determine that the pop-up window is indeed a pop-up window because application 350 is not a foreground application. The pop-up controller may deny focus to the pop-up window. Kuraki, [0039]…The list updating unit 21 acquires, via the OS API, information indicating the position and range of each window, for example, information indicating the coordinates of the upper left and lower right corners of each window and information indicating the depth position of the window within the stack of overlapping windows (step S101). Then, the list updating unit 21 identifies the window behind which there are no other windows, for example, as the window located at the bottommost position (step S102). The list updating unit 21 examines the positional relationship between the overlapping windows in sequence starting from the bottommost window, and identifies the window located just in front of the bottommost window. Thus working through the stack from the bottommost window up to the topmost window, the list updating unit 21 sequentially determines the display order of each window (step S103)).
Green teaches comparing whether the active window is the application window at each of the plurality of particular points ([0035]… In the example of FIG. 4, two recent touches are shown represented by the locations 22a and 22b. The location 22a is a recent touch, with the value of 8 stored in the location 22a and the adjacent locations 22 storing the values of 4. The location 22b is an older touch, since the current value stored there is 5 and the adjacent locations 22 store the values of 1, showing the time decay element that has occurred. In reality, the heat map 20 may store a large number of values in a large array; with heat map 20 being shown with a small number of locations 22 for illustrative purposes. [0036]… When the processor wishes to generate and display a pop-up window 16, then the processor may access heat map 20 and use the information within heat map 20 to select the location to use for the pop-up window 16. In general, a new pop-up window 16 may either have a default location that will be checked against heat map 20 or there is no default location for the pop-up window 16 and therefore the display location of the pop-up window 16 is to be selected. In one or more embodiments, the processor may make the location decision in order to avoid conflict with the locations that have been touched recently by the user.)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Berstis, Green, and Kuraki in the invention of the modified Igeta to include determining of position/point of pop-up window and monitoring of overlapping windows using window APIs because doing so would enhance operability by preventing interference of input/operation with a target window, and doing so would allow the system to track a list overlapping windows and/or to provide a target or active drop area.
Claim(s) 24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Igeta (Pub. No. 2010/0125806) and Maherzi (“Maherzi”, Pub. No. 2024/0241500), Berstis et al. (“Berstis”, Pub. No. 2007/0192734), and Lefor et al. (“Lefor”, Pub. No. US 2017/0242567).
Per claim 24, the modified Igeta teaches a non-transitory computer readable medium as recited in claim 23, but does not teach wherein the computer program code for manipulating comprises: computer program for rendering transparent the at least a portion of the GUI displayed in the display device.
However, Lefor teaches rendering transparent the at least a portion of the GUI displayed in the display device ([0059]… the method 500 may be practiced where at least partially hiding the modal dialog revealing at least a portion of the obscured data includes instructing the device to change the opacity of the modal dialog. For example, the device may change the opacity of the modal dialog 106. In some embodiments, the device may change the opacity of the modal dialog 106 to be completely transparent). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the teaching of Lefor in the invention of the modified Igeta to include a transparent screen because doing so would enhance operability to allow information to show through a transparent screen.
Inquiries
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THANH T VU whose telephone number is (571)272-4073. The examiner can normally be reached M-F: 7AM - 3:30PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Fred Ehichioya can be reached at (571) 272-4034. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/THANH T VU/Primary Examiner, Art Unit 2179