DETAILED ACTION
Claims 1-20 are presented for examination.
Claims 1, 13, and 20 have been amended.
This office action is in response to the amendment submitted on 24-JUN-2026.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Examiner’s Note (EN)
The prior art rejections below cite particular paragraphs, columns, and/or line numbers in the references for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art.
Response to Arguments – 35 USC 101
Applicant’s arguments with respect to the 101 rejections have been considered, and are persuasive. The rejection under 35 USC 101 is withdrawn.
Response to Arguments – 35 USC 103
Applicant’s arguments with respect to the 103 rejections have been considered, but are moot in view of the new ground(s) of rejection provided below.
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.
Claims 1-4, 6-16 and 18-20 are rejected under 35 U.S.C. 103 as being unpatentable over Guo et al. (US20240220565A1) in view of Narasimhan (30DaysOfPlaywright:Hello Codegen) and further in view of Abrahami et al. (US-20210397776-A1)
Regarding Claim 1, Guo teaches A method comprising: receiving, from a client, an indication of a user interface element associated with corresponding web content ([0016] "The disclosed embodiments provide for an experience analytics system that identifies webpage elements based on optional HTML attributes and selectors (e.g., corresponding to custom configuration for targets of a webpage). The experience analytics system accesses session events corresponding to user interaction by at least one first device with respect to a webpage, the session events being associated with a tracking tag corresponding to the webpage. The experience analytics system determines, based on the session events associated with the tracking tag, plural targets for the webpage." [0074] "FIG. 10 is a diagram illustrating an embodiment of a user interface for an element evaluation browser extension. In the example shown, user interface 1000 is a user interface for an element evaluation browser extension that allows a user, such as a web developer or engineer, to select an element for evaluation. User interface 1000 includes multiple user interface components including element attribute name dialog component 1001, full element path component 1003, and relative element path component 1005, among others that are not labeled. In the example of FIG. 10 , a web element of a web application has been selected from within the associated browser, and user interface 1000 is provided to the user to assist in selecting attributes for identifying the selected element. For example, element attribute name component 1001 (shown with focus but without an entry) allows the user to enter an attribute of the selected element for inclusion in the set of selected attributes. As shown in user interface 1000, the current set of attributes that are selected include the attributes: “ID,” “Name,” and “Active Screen.” Additionally, user interface 1000 shows that the element's full path attribute is selected as an alternative to a relative path for the element. On the lower portion of user interface 1000, FIG. 10 shows an example of a retrieved full path for the selected web element using full element path component 1003, and a corresponding retrieved relative path for the selected web element using relative element path component 1005. As shown in FIG. 10 , the relative element is typically shorter and therefore more compressed than the full path. In various embodiments, the relative element path can be configured to utilize a configured number of fields, such as 6, as shown in relative element path component 1005. In some embodiments, user interface 1000 is provided by element evaluation extension 221 of FIG. 2 and is used in part to implement the processes of FIGS. 4-8 ." Also [0075-0076])
determining an identifier associated with the user interface element based at least in part on one or more attributes associated with the user interface element ([0080-0081] "To determine the zoning metrics 604 for the webpage 602, the zoning system 206 first identifies the zones for the webpage 602. As noted above, a “zone” is a webpage feature or element included in the HTML and/or the corresponding DOM of the webpage 602. In this regard, the zoning system 206 includes a target determination module 614 for determining a target for each element of the webpage 602. As described herein, a “target” refers to an identifier computed for a webpage node, such as an HTML node, or corresponding DOM node. Each target may be represented as a target path. Moreover, target values may be variously-computed based on various webpage properties including, without limitation, tag names, element classes, element order in the DOM, specific attributes, and the like, as well as any combination thereof." and [0099-0100] "FIG. 7D illustrates an example where the user-selected rule is to use a uniquely identifying attribute. In this regard, a client may use an attribute with a unique value to identify parts of a DOM. Relative to the DOM 706 of FIG. 7C, the DOM 708 of FIG. 7D no longer has a class “men” and a class “women” (e.g., the nodes 720-722). Rather, the DOM 708 has an attribute labeled data-id (e.g., the nodes 732-734). By way of non-limiting example, the path of div.men becomes div #[data-id=179] and the path of div.women becomes div #[data-id=268]. Of course, other values may be used with respect to the indicated ID numbers of 179 and 268.")
However Guo is not relied on for:
receiving a specification of a code file and an operation
generating for the code file, server-side program code to perform the operation on the user interface element referenced by the identifier
uploading the generated server-side program code; and initiating a trigger associated with the user interface element to cause the server-side program code to be executed to perform the operation.
Narasimhan teaches receiving a specification of a code file and an operation (Pg. 6-, EN: the following command option specifies the code file. "-o, --output saves the generated script to a file" Pg. 7, "Based on the above, we know the codegen command-line tool can do the following - we’ll try some of these out in practice next. save generated scripts to a file. record/save session traces (for post-mortem analysis). pick a language for script (JS, Python, C#, Test). load/store state (e.g., cookies, tokens) for reuse. specify a browser (or distribution) for test. emulate mobile browsers (with device descriptors). emulate context (geo, timezone, lang, color-scheme)." EN: recording the session traces records the operations)
generating for the code file, program code to perform the operation on the user interface element referenced by the identifier (Pg. 7-8, "Let’s set the stage for this exercise! I have a recipes app (https://bit.ly/recipes for-aj) and I want to test an interaction workflow where a user: visits the website (https://green-stone-0ef96ef10.azurestaticapps.net/) searches for recipe: term “appetizer” (with 0 results). searches for recipe: term “drinks” (with at least 1 result). clicks on first result (“view recipe”) scrolls through page, clicks print icon (new page) closes printable page (returns to recipe page) clicks home Let’s use codegen to create the test script and save to file with this command: $ npx playwright codegen --output recipes-search.spec.js https://bit.ly/recipes-for-aj" EN: codegen generates program code to perform the same operations the user followed on the UI on the same elements)
Guo and Narasimhan are analogous art because they are from the same field of endeavor in UI web element evaluation and testing. Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art, to combine Guo and Narasimhan to incorporate codegen’s script writing capabilities as well as Playwright’s visual inspection of web elements into Guo’s general framework for web element identification and tracking with expected results. A PHOSITA would be motivated to do so to benefit from “the test authoring tool that allows you to generate test scripts directly from user interactions on a page!” (Narasimhan, Pg. 3)
Abrahami teaches generating for the code file, server-side program code ([0113] “at least one processor configured to: provide second instructions remotely to the browser to display an interface for enabling an user associated with the browser to add data elements to the database, to associate each added data element with at least one of the plurality of groups, and to modify the at least one of frontend code and backend code; execute third instructions to generate, based on the user's added data elements, association of added data elements with the at least one of the plurality of groups, and modification of the at least one of frontend code and backend code, the plurality of scrollable virtual web pages; wherein the plurality of scrollable virtual web pages are configured to be independently generated by the at least one processor and independently edited by the user; and provide fourth instructions remotely to the browser to display a preview interface configured to display the plurality of scrollable virtual web pages prior to generation of corresponding final web pages, the preview interface enabling the user to selectively scroll through the plurality of scrollable virtual web pages based on each of the plurality of groups of at least one data element and visualize how the groups of at least one data element will appear on a corresponding final web page before the corresponding final web page goes live.” [0270-0274] “In some embodiments, Backend 127 is shown as a floating window within the Unified Interface 410. In other embodiments, Backend 127 could be a separate section similar to Frontend 126. Code representing Backend 127 might be hidden and not shown unless requested. In some embodiments, all the Backend 127 code is shown all the time, and in other embodiments only Backend 127 code associated with a single element from Building Tools 121 is shown. WBS 100 may be configured to automatically to generate skeleton code on selecting an element from Building Tools 121 and placing the element in Frontend 126. The generated skeleton code shown in Backend 127 may include, for example, Shell Function 521 and Shell Code 522. Shell Function 521 and Shell Code 522 together represent a Programmable Event 320 in code executed by a Trigger 310. In some embodiments, as illustrated, buttonClick Shell Function 521 is code representing the event of clicking a button. The trigger of a button click results in a programmable event buttonClick. FIG. 6 is a flowchart illustrating Backend functionality 127 development Method 600, according to some embodiments of the present disclosure. In some embodiments, Method 600 may be performed by components of the WBS 100, as discussed above. As shown in FIG. 6, in Step 610, WBS 100 receives a request to access Building Tools 121 in the Site Area Database 124 from a user of Web Development Device 140 when the user makes a request for Website 123 development via Web Browser 141. As discussed above, examples of Building Tools 121 include widgets, graphics, and other content. In Step 620, WBS 100 transmits the First Instructions 240 on a request from Website Development Device 140 via the Web Browser 141. The request is received by the WBS 100 via the Network 160. The request is forwarded to website CMS 120. The website CMS 120 provides access to First Instructions 240 as requested by Processor 260 and are transmitted to the Website Browser 141. The First Instructions 230 provide access to the Building Tools 121 stored in Site Area Database 124 and which allow one to construct Web Page 125's Frontend 126 and Backend 127.”)
uploading the generated server-side program code ([0435-0436] “Plugin Server 3520 may be one or more servers executing plugin code in an Isolation Environment 3521. In some embodiments Plugin Server 3520 uses the same infrastructure as hosting server 3510 (which may be physical servers or webserver execution instance as noted above). Plugin 3530 is present in memory 820 and is viewable or accessible through a User Interface 3531, Frontend Plugin Code 3532, and Backend Plugin Code 3533. Users 3540-3560 may access Editing Tools 411 from Hosting Server 3510 to edit the Websites 3511-3513 respectively. In some embodiments, for example, Website 3511 being edited by User 3540 may include a Plugin 3530. For example, Website 3511 may play video through a video player Plugin 3530 when Website 3511 is accessed using Web Browser 131 on Web Viewing Device 130. User 3540 altering Website 3511 may include editing and uploading plugin code via Interface 3570. In some embodiments, Interface 3570 may be part of Editing Tools 411.” [0447-0448] “If the answer to Step 4130 is yes, the process 4110 proceeds to Step 4150. In Step 4150, an interface to upload plugin is presented to user requesting access to edit a website. The interface may be similar to those discussed above for users to edit frontend or backend code. In Step 4160 Website Hosting System 3500 receives the plugin changes and stores them. A user-uploaded plugin may, for example, include edits to Backend Plugin Code 3533 of Plugin 3530. In some embodiments, user edits may include edits to Frontend Plugin Code 3532 of Plugin 3530. Alternatively, a user may also edit the User Interface 3531 of Plugin 3530. In some embodiments, a user may edit all of User Interface 3531, Frontend Plugin Code 3532, and Backend Plugin Code 3533.”)
initiating a trigger associated with the user interface element to cause the server-side program code to be executed to perform the operation ([0281-0282] “FIG. 7 is a flowchart illustrating a Method 700 to trigger Backend 127 code execution, according to some embodiments of the present disclosure. Method 700 may be performed in conjunction with Method 600, as discussed above. Consistent with the above discussion, Method 700 may be performed in the system of WBS 100. As shown in FIG. 7, a user of a Website Viewing Device 130 can Trigger 310 a Programmable Event 320 associated with the Backend 127 by either transitioning on an Indexable Web Page 125 as shown in Step 711, when a user of Website Viewing Device 130 interacts with the Indexable Web Page 125 as shown in Step 712, or when the user enters an update on an Indexable Web Page 125 and results in Trigger 310 as shown in Step 713. For example, Step 711 may involve a user clicking a nested hyperlink in Indexable Web Page 125 associated with another webpage part of the same Website 123. Similarly, Step 711 may involve a user clicking a “next” or “continue” hyperlink on Indexable Web Page 125 to view a subsequent related page. Step 712 may involve, for example, a user hovering a cursor over a graphic or text on Indexable Web Page 125, pausing for a predefined duration of time, clicking on an image or text on Indexable Web Page 125, etc. Step 713 may involve the user updating textual content on Indexable Web Page 125, uploading an image or video file to Indexable Web Page 125, filling out a form on Indexable Web Page 125, a period timer resulting in certain actions, a database update, etc. In Step 720, WBS 100, upon receiving a notification of a Programmable Event 320, accesses Trigger 310 in response that is associated with the Programmable Event 320. As discussed above, the Programmable Event 320 may be based on various types of hooks, such as a Data Hook 330, Web Hook 340, Data-Binding Router Hook 350, or others. The hooks associated with the Programmable Event 320 may involve accessing data internal to a Website 123 (e.g., WixData) stored in Site Area Database 124.” and [0258] also see Guo [0045])
Guo, Narasimhan and Abrahami are analogous art because they are from the same field of endeavor in providing web development developer tools. Abrahami provides a known method of generating server-side code for web applications with corresponding upload functions and a triggering mechanism to test the generated code. Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art, to combine Guo, Narasimhan and Abrahami to incorporate Abrahami’s server-side code uploading and triggering of events into Guo’s general framework for web element identification and tracking with expected results. A PHOSITA would be motivated to do so to present the end user with a streamlined set of functionalities that automate the code upload and trigger of the tested functionalities.
Regarding Claim 2, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches wherein the identifier corresponds to a path to the user interface element ([0081] and [0086] "FIG. 7A illustrates a DOM 702 with multiple nodes 710-722 corresponding to respective webpage elements. In the examples described herein, the zoning system 206 is configured to compute the path (e.g., target) for the node div.men (e.g., the node 720). For example, the path for the node 720 in the DOM 702 is computed as: html:eq(0)>body:eq(0)>div:eq(0)>div:eq(0).")
Regarding Claim 3, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches further comprising receiving the one or more attributes associated with the user interface element from the client ([0085] "FIGS. 7A-7D illustrate example DOMs 702-708 associated with identifying webpage elements based on (e.g., optional) HTML attributes and selectors, in accordance with some examples. As noted above, each target of a webpage is represented as a target path computed from a DOM. The DOMs 702-708 illustrate different examples of custom configurations that apply user-selected rules to account for changed positions of DOM nodes.")
Regarding Claim 4, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches wherein the user interface element corresponds to a button, an image, or a form ([0106] "FIG. 8A illustrates a DOM 802 with multiple nodes 806-816 corresponding to respective webpage elements. In the examples described herein, the zoning system 206 is configured to compute the path (e.g., target) for the node “button” (e.g., the node 816). " and [0067] "FIG. 5 is a user interface 502 for presenting a webpage with performance information for zones in a webpage, in accordance with some examples. As described herein, a “zone” is a webpage feature or element included in the HTML and/or the corresponding DOM of the webpage. As noted above with respect to FIG. 4 , a DOM node is a feature of the DOM, where the DOM node corresponds to a given HTML element or zone. Examples of zones in webpages include, but are not limited to, banner advertisements, product images, clickable buttons, and the like." EN: for the form element please see Codegen pg. 7-8)
Regarding Claim 6, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches further comprising automatically identifying a plurality of attributes associated with the user interface element ([0081] and [0103-0104] "In one or more embodiments, the option will take an array of values. Each value can either be: attribute name, where the library will automatically add the attribute value to the path (e.g., if the option is data-id then the path for a matching element can be div #[data-id=268]); or attribute name and value (e.g., where the option will be {attributeName: data-id, attribute Value: 268} and the path will be div #[data-id=268]). In one or more embodiments, the zoning system 206 is configured to implement an algorithm for the uniquely identifying attribute based on the following steps: (1) checking if the element has the attribute specified in the path-computation parameters, and (2) guaranteeing the uniqueness of this attributes.")
Regarding Claim 7, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 6. Narasimhan teaches further comprising providing for display at least one of the identified plurality of attributes associated with the user interface element (Pg. 9, See Figure 1 where the right pane shows the various elements and their attributes. "Notice that you can hover over any element on the page (under codegen) to see the relevant selector that Playwright would use, for targeting actions on it.")
Regarding Claim 8, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 6. Guo teaches further comprising receiving one or more values associated with the plurality of the attributes associated with the user interface element, wherein the received one or more values are used to uniquely identify the user interface element ([0103-0104] )
Regarding Claim 9, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches further comprising building a tree representation of the web content, wherein the user interface element of the web content is associated with a node of the tree representation of the web content ([0064] "FIG. 4 illustrates an unlabeled document object model (DOM) tree 400, in accordance with some examples. In one or more embodiments, the unlabeled DOM tree 400 provides a visual representation of the hierarchical structure of a webpage's HTML code, with content zones or elements (e.g., as defined by the zoning system 206) represented as nodes A-F." and [0017] "Each target corresponds to a computed path to a respective node in a tree diagram representing the webpage. Each computed path is based on a custom configuration corresponding to user-selected rules for applying with respect to the tree diagram. For example, the user-selected rules may indicate one or more of: a unique class for a node in the Document Object Model (DOM) of the webpage, a unique attribute for a node in the DOM, and/or a unique Cascading Style Sheets (CSS) selector for a node in the DOM.")
Regarding Claim 10, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches further comprising retrieving a specification for an application programming interface associated with the indicated user interface element ([0026] "In certain examples, a client's native application (e.g., ANDROID™ or IOS™ Application) is downloaded on the customer client device 104. In this example, the client's native application including the experience analytics script 114 is programmed in JavaScript leveraging a Software Development Kit (SDK) provided by the experience analytics server system 106. The SDK includes Application Programming Interfaces (APIs) with functions that can be called or invoked by the client's native application." [0045] "In addition, where the user at the customer client device 104 encounters an issue (e.g., an error such a defective checkout button, user confusion, and/or another type of issue), the user may engage a live help support feature (e.g., implemented by the experience analytics server 122), for example, by selecting a chat button. In this regard, the help support feature includes a chat component, which allows a support agent at the member client device 102 to chat with the user at the customer client device 104. Moreover, the help support feature allows the user to connect with the help agent, causing the experience analytics script 114 to employ a script interface (e.g., a Javascript API) to make data available for the member client device 102 (e.g., such that when the live session link/button is pressed, this data is visible to the agent), and to send a live mode trigger to the experience analytics server system 106. Following receipt of the live mode trigger by the experience analytics server system 106, the user's session data may be pushed to the SLQ 124 of the experience analytics server 122, in real-time or near-real-time. The experience analytics server 122 sends the live session link to the member client device 102, where the live session link is selectable by the help agent." [0098] "In one or more embodiments, the zoning system 206 is configured to implement an algorithm for the uniquely identifying class based on the following steps: (1) checking if the element matches the unique class (e.g., checking if element.classList.contains(class).: element.classList is of type DOMTokenList), and (2) checking that the unique class is really unique. Otherwise, the full path may be used (e.g., document.query SelectorAll( ) or document.getElementsByClassName( )." and [0037] "The Application Program Interface (API) server 116 receives and transmits message data (e.g., commands and message payloads) between the member client device 102 and the application servers 120. Specifically, the Application Program Interface (API) server 116 provides a set of interfaces (e.g., routines and protocols) that can be called or queried by the experience analytics client 112 or the experience analytics script 114 in order to invoke functionality of the application servers 120. The Application Program Interface (API) server 116 exposes to the experience analytics client 112 various functions supported by the application servers 120, including generating information on errors, insights, merchandising information, adaptability information, images, graphs providing visualizations of experience analytics, session replay videos, zoning and overlays to be applied on the website, etc.")
Regarding Claim 11, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Narasimhan teaches further comprising providing for display the generated program code (Pg. 9-11, EN: please see the generated code displayed)
Regarding Claim 12, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Guo teaches wherein the code file is stored on a remote server located remotely from a web browser used to view the web content ([0025] "While a user of the customer client device 104 is navigating a client's website on an Internet browsing application, the Internet browsing application on the customer client device 104 can also execute a client-side script (e.g., JavaScript (.*js)) such as an experience analytics script 114. In one example, the experience analytics script 114 is hosted on the third-party server 108 with the client's website and processed by the Internet browsing application on the customer client device 104. The experience analytics script 114 can incorporate a scripting language (e.g., a .* js file or a .json file)." EN: also codegen, Pg. 6, explicitly shows the ability to set the location of the script file and call any website over http, which can reside across any server on the internet, to run the script on)
Regarding Claim 13, Guo teaches A system comprising: one or more processors; and a memory coupled to the one or more processors, wherein the memory is configured to provide the one or more processors with instructions which when executed cause the one or more processors to: ([0131] “FIG. 11 is a block diagram 1100 illustrating a software architecture 1104, which can be installed on any one or more of the devices described herein. The software architecture 1104 is supported by hardware such as a machine 1102 that includes processors 1120, memory 1126, and I/O components 1138.”)
The remaining limitations are similar to claim 1 and are rejected under the same rationale.
Claims 14-16 and 18-19 are system claims that recite limitations similar to claims 2-4 and 6 and 8 respectively and are rejected under the same rationale.
Regarding Claim 20, Guo teaches A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for ([0131] “FIG. 11 is a block diagram 1100 illustrating a software architecture 1104, which can be installed on any one or more of the devices described herein. The software architecture 1104 is supported by hardware such as a machine 1102 that includes processors 1120, memory 1126, and I/O components 1138.”)
The remaining limitations are similar to claim 1 and are rejected under the same rationale.
Claims 5 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Guo et al. (US20240220565A1) in view of Narasimhan (30DaysOfPlaywright:Hello Codegen) further in view of Abrahami and further in view of Playwright Docs (GitHub: Microsoft/Playwright)
Regarding Claim 5, Guo in view of Narasimhan and further in view of Abrahami teaches the method of claim 1. Playwright Docs teaches wherein the user interface element corresponds to a custom web element, wherein the web content includes a reference to an implementation of the custom web element (Pg. 15, teaches how Playwright reads custom web elements along with its implementation.
PNG
media_image1.png
567
1083
media_image1.png
Greyscale
Guo, Narasimhan, Abrahami and Playwright are analogous art because they are from the same field of endeavor in UI web element evaluation and testing. Before the effective filing date of the invention, it would have been obvious to a person of ordinary skill in the art, to combine Guo, Narasimhan, Abrahami and Playwright to incorporate Playwright’s ability to read custom web components and its implementation for evaluation and testing purposes to augment Guo’s framework to incorporate custom web components with expected results. “You can locate [custom web elements] in the same way as if the shadow root was not present at all.” (Guo, Pg. 15)
Claim 17 recites limitations similar to claim 5 and is rejected under the same rationale.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Olenick et al. (US 10331461 B2): third party web code extensions to enhance the functionality of web applications.
Kim et al. (US-20190266226-A1): discloses receiving of web components, their reference files/specs and rendering them on the front end with inter-component data binding.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AMIR DARWISH whose telephone number is (571)272-4779. The examiner can normally be reached 7:30-5:30 M-Thurs.
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, Lewis Bullock can be reached on 571-272-3759. 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.
/A.E.D./Examiner, Art Unit 2199
/LEWIS A BULLOCK JR/Supervisory Patent Examiner, Art Unit 2199