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 .
Claims 1-20 are presented for examination.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Stump (US 2023/0058094 A1) in view of Groenewegen (US 2024/0411527 A1) further in view of Chen (US 2024/0020096 A1).
Regarding Claim 1, Stump (US 2023/0058094 A1) teaches
A system, comprising:
a memory that stores executable components and one or more custom models; and (Para [0048], "components 204, 206, 208, 210, and 212 can comprise software instructions stored on memory 220 and executed by processor(s) 218"; Para [0050], "predefined code modules and visualizations, and automation objects 222 maintained by the IDE system 202") Examiner Comments: Stump’s memory stores executable software components and custom code/automation-object libraries (custom models) used by the IDE.
a processor, operatively coupled to the memory, that executes the executable components, the executable components comprising: (Para [0048], "the one or more processors 218 … components 204, 206, 208, 210, and 212 can comprise software instructions stored on memory 220 and executed by processor(s) 218") Examiner Comments: Stump’s processor 218 is operatively coupled to memory 220 and executes the recited executable components.
a user interface component configured to render an integrated development environment (IDE) interface comprising a workspace canvas area that displays an industrial control program in development, (Para [0049], "User interface component 204 can be configured to receive user input and to render output to the user in any suitable format … user interface component 204 can be configured to generate and serve suitable interface screens to a client device (e.g., program development screens), and exchange data via these interface screens"; Para [0039], "industrial controllers 118 are typically configured and programmed using a control programming development application such as a ladder logic editor … a designer can write control programming (e.g., ladder logic, structured text, function block diagrams, etc.) for carrying out a desired industrial sequence or process") Examiner Comments: Stump’s user interface component 204 renders an IDE workspace (program development screens) that displays an industrial control program being written by the designer
a project generation component configured to generate, based on the control code, an executable control program file that, in response to execution on an industrial controller, causes the industrial controller to monitor and control an industrial automation system in accordance with the control code. (Para [0050], "Project generation component 206 can be configured to create a system project comprising one or more project files based on design input received via the user interface component 204"; Para [0078], "Project deployment component 208 can compile or otherwise translate a completed system project 302 into one or more executable files or configuration files that can be stored and executed on respective target industrial devices of the automation system (e.g., industrial controllers 118 …)"; Para [0080], "Project deployment component 208 can then translate the controller code defined by the system project 302 to a control program file 702 formatted for execution on the specified industrial controller 118 and send this control program file 702 to the controller 118") Examiner Comments: Stump’s project generation/deployment components translate the design input and code into an executable control program file that, when executed on an industrial controller, causes the controller to monitor and control the industrial automation system.
Stump did not specifically teach
in response to receipt of a user interaction that invokes an in-line chat window via selection of an element of the industrial control program, render the in-line chat window as an overlay on the workspace canvas area, and to receive, via interaction with the in-line chat window, a natural language request for control code to be included in the industrial control program.
However, Groenewegen (US 2024/0411527 A1) teaches
in response to receipt of a user interaction that invokes an in-line chat window via selection of an element of the industrial control program, render the in-line chat window as an overlay on the workspace canvas area, (Para [0027], "AI chat component 203 provides a capability (e.g., context menu, keystroke, toolbar icon, and the like) for a user to call up an AI persona’s chat indicator at any time to enable the user to interact with the AI persona. For example, a user may call up an AI persona’s chat indicator at a location of interest to the user and use that chat indicator to interact with the AI persona regarding text at that location"; Para [0031], "A chat window 306 associated with chat indicator 303 shows that the code-commenting AI persona has initiated a conversation … while a chat window 305 associated with chat indicator 304 shows that the code-fixing AI persona has initiated a conversation to suggest a correction"; Para [0013], "when the AI has a suggestion for a particular source code location that is different from the user’s current cursor location, embodiments present a chat indicator at that particular source code location … the user can interact with the AI at this location") Examiner Comments: Groenewegen discloses that a user, upon selecting a code element within a source code document, invokes a chat window that is rendered inline within the code editor UI at the location of the selected element.
to receive, via interaction with the in-line chat window, a natural language request for control code to be included in the industrial control program, wherein the natural language request specifies one or more requirements of the control code; (Para [0025], "AI chat component 203 presents UI elements that enable a user to interact with an AI persona via a code editor UI presented by code editor 109 … this chat indicator enables user interaction to receive the suggestion and otherwise interact with the AI persona (e.g., via a chat with the AI persona) at this source code location"; Para [0027], "call up an AI persona’s chat indicator at a location of interest to the user and use that chat indicator to interact with the AI persona regarding text at that location") Examiner Comments: Groenewegen’s in-line chat window receives natural language user input directed to the AI persona regarding the selected code element, specifying requirements for the code to be added.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump’s teaching in view of Groenewegen’s teaching in order to provide an in-line chat window that is invoked by selection of a specific code element in the workspace, so that the generative AI receives both the natural language request and the identity of the selected code element as context (Groenewegen, Para [0018]), and so as to direct AI interactions to a specific code location without disrupting the developer’s focus.
Stump and Groenewegen did not specifically teach
a generative artificial intelligence (AI) component configured to, in response to receipt of the natural language request: generate control code inferred to satisfy the one or more requirements based on content of the natural language request, the element of the industrial control program that was selected to invoke the in-line chat window, and responses prompted from a generative AI model, generate natural language documentation for the control code based on the content of the natural language request and the responses prompted from the generative AI model, and embed the natural language documentation into the control code.
However, Chen (US 2024/0020096 A1) teaches
a generative artificial intelligence (AI) component configured to, in response to receipt of the natural language request: generate control code inferred to satisfy the one or more requirements based on content of the natural language request, (Para [0049]-[0050], "a method for generating computer code based on natural language input may comprise receiving a docstring representing natural language text specifying a result … a method may also comprise generating, using a trained machine-learning model, and based on the docstring, one or more computer code samples configured to produce respective candidate results"; Para [0046], "a machine learning model consistent with disclosed embodiments may output computer code in response to a user input describing a problem to be solved in natural language") Examiner Comments: Chen’s trained machine-learning (generative AI) model receives the natural-language docstring (request) and generates computer code samples inferred to satisfy the requirements specified in the natural-language input.
the element of the industrial control program that was selected to invoke the in-line chat window, and responses prompted from a generative AI model, (Groenewegen, Para [0019], "context management component 201 that manages one or more contexts (e.g., context 114 within memory 103) that are used, at least in part, as input to an AI/ML model (e.g., as a prompt). In embodiments, context 114 includes an AI persona configuration, at least a portion of the current content of a source code document being edited within code editor 109 … information about a user’s prior interactions with an AI"; Para [0021], "AI chat component 203 communicates user interactions to context management component 201, which integrates those user interactions into an appropriate context (e.g., context 114)") Examiner Comments: Groenewegen inputs to the AI model both the natural-language request and the content of the source code document (including the specific code element at which the user invoked the chat), so that the model’s response is grounded in the selected code element.
generate natural language documentation for the control code based on the content of the natural language request and the responses prompted from the generative AI model, (Chen, Para [0046], "The present disclosure also provides improved methods for generating natural language descriptions for computer code. For instance, a machine learning model consistent with disclosed embodiments may output natural language text in response to receiving an input containing programming code"; Para [0087], "generating, using the docstring generation model, and based on the received one or more computer code samples, one or more candidate docstrings representing natural language text, each of the one or more candidate docstrings being associated with at least a portion of the one or more computer code samples") Examiner Comments: Chen’s docstring generation model uses generative AI to produce natural language documentation (docstrings) for the corresponding code samples.
and embed the natural language documentation into the control code; and (Chen, Para [0091], "a method may further comprise outputting, via a user interface, the at least one identified docstring with the at least a portion of the one or more computer code samples … a method may include outputting both the computer code sample and the at least one identified docstring that accurately indicates an intent of the computer code sample"; Para [0047], "Practical application examples of the present disclosure may include converting comments into computer code … providing automatic description of user-selected computer code") Examiner Comments: Chen embeds the generated docstring/comment documentation in association with (i.e., into) the corresponding computer code sample when outputting it to the user.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump and Groenewegen’s teaching in view of Chen’s teaching in order to incorporate natural-language-driven generative AI code generation, together with auto-generated natural-language documentation embedded with the code, into Stump’s industrial IDE so as to allow designers to author industrial control code from plain-language design requirements, increase efficiency and accuracy of code synthesis, and remove the need for the designer to have detailed programming knowledge (Chen, Para [0046]).
Regarding Claim 2, Stump, Groenewegen and Chen teach
The system of Claim 1.
Stump and Groenewegen did not specifically teach
wherein the natural language documentation comprises at least one of natural language descriptions of functions of respective portions of the control code, ladder logic rung comments, comment lines, names of variables used in the control code, or instructions for using the control code.
However, Chen teaches
wherein the natural language documentation comprises at least one of natural language descriptions of functions of respective portions of the control code, ladder logic rung comments, comment lines, names of variables used in the control code, or instructions for using the control code. (Para [0049], "A docstring may provide information about a function, method, module, or class related to using or interacting with computer programming code. For example, a docstring may provide information on what a function (or any code) does, what arguments are accepted by a function, a return value produced by a function (or any code), any potential exceptions raised by a function (or any code), how to use a function (or any code), or an expected behavior of a function (or any code)"; Para [0078], "code documentation (e.g., generating documentation for code, including descriptions of functions, variables, and classes, which may be used to help other developers understand the code and how it works)") Examiner Comments: Chen’s docstring documentation comprises natural-language descriptions of functions of portions of the code, comment lines, variable names, and usage instructions, reading on the recited Markush group.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump and Groenewegen’s teaching in view of Chen’s teaching in order to incorporate natural-language-driven generative AI code generation, together with auto-generated natural-language documentation embedded with the code, into Stump’s industrial IDE so as to allow designers to author industrial control code from plain-language design requirements, increase efficiency and accuracy of code synthesis, and remove the need for the designer to have detailed programming knowledge (Chen, Para [0046]).
Regarding Claim 3, Stump, Groenewegen and Chen teach
The system of Claim 1.
Stump and Groenewegen did not specifically teach
wherein the generative AI component is configured to, in response to receipt of the natural language request, formulate a prompt, directed to the generative AI model, designed to obtain the responses from the generative AI model used by the generative AI component to generate the control code and the natural language documentation, and the prompt is formulated based on analysis of the natural language request and industry knowledge encoded in one or more custom models.
However, Chen teaches
wherein the generative AI component is configured to, in response to receipt of the natural language request, formulate a prompt, directed to the generative AI model, designed to obtain the responses from the generative AI model used by the generative AI component to generate the control code and the natural language documentation, and the prompt is formulated based on analysis of the natural language request and industry knowledge encoded in one or more custom models. (Para [0049], "receiving a docstring representing natural language text specifying a result … a docstring may be generated based on a natural language input. In some embodiments, a combination of computer code and at least one docstring may be generated based on a natural language input"; Para [0050]-[0051], "generating, using a trained machine-learning model, and based on the docstring, one or more computer code samples … Training data may include, e.g., datasets collected from a variety of public software repositories") Examiner Comments: Chen formulates the docstring as a prompt directed to the trained ML model to obtain code/docstring responses, and the model is trained (encoded) on domain-specific training data.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump and Groenewegen’s teaching in view of Chen’s teaching in order to incorporate natural-language-driven generative AI code generation, together with auto-generated natural-language documentation embedded with the code, into Stump’s industrial IDE so as to allow designers to author industrial control code from plain-language design requirements, increase efficiency and accuracy of code synthesis, and remove the need for the designer to have detailed programming knowledge (Chen, Para [0046]).
Regarding Claim 4, Stump, Groenewegen and Chen teach
The system of Claim 3.
Stump further teaches
wherein the industry knowledge encoded in the one or more custom models comprises at least one of libraries of control code instructions, libraries of add-on instructions, libraries of documented control code samples, libraries of user-defined data types (UDTs), libraries of product manuals for industrial devices or software platforms, specification data for industrial devices, training data, information defining industrial standards, design standards for respective different types of industrial control applications, design standards for respective different industrial verticals, knowledge of industrial best practices, control design rules, or industrial domain-specific language (DSL) syntax data. (Para [0044], "Embodiments of the industrial IDE can include a library of modular code and visualizations that are specific to industry verticals and common industrial applications within those verticals"; Para [0068], "project generation component 206 can invoke selected code modules 508 stored in a code module database or selected automation objects 222 stored in an automation object library 502 … Code modules 508 comprise standardized coding segments for controlling common industrial tasks or applications … In some embodiments, code modules 508 and/or automation objects 222 can be categorized according to one or more of an industrial vertical …, an industrial application, or a type of machine or device") Examiner Comments: Stump discloses libraries of control code instructions and code modules organized by industrial vertical and application, reading on the recited industry-knowledge libraries.
Regarding Claim 5, Stump, Groenewegen and Chen teach
The system of Claim 3.
Stump and Groenewegen did not specifically teach
the limitation of Claim 5.
However, Chen teaches
wherein the responses prompted from the generative AI model are first responses, and the generative AI component is further configured to generate natural language documentation for undocumented control code submitted to the system based on analysis of the undocumented control code, second responses prompted from the generative AI model, and the industry knowledge encoded in one or more custom models. (Para [0085]-[0087], "an exemplary method for generating natural language text based on computer code input may comprise accessing a docstring generation model configured to generate docstrings based on computer code … a method may also comprise receiving one or more computer code samples … a method may further comprise generating, using the docstring generation model, and based on the received one or more computer code samples, one or more candidate docstrings representing natural language text, each of the one or more candidate docstrings being associated with at least a portion of the one or more computer code samples"; Para [0086], "one or more computer code samples may be received when a user highlights (or otherwise selects) at least a portion of computer code … In some embodiments, a user may input at least a portion of computer code and natural language text into a prompt field") Examiner Comments: Chen separately discloses receiving previously-unlabeled (undocumented) computer code submitted by the user and generating new docstrings from that code via a second pass through the trained docstring generation model.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump and Groenewegen’s teaching in view of Chen’s teaching in order to incorporate natural-language-driven generative AI code generation, together with auto-generated natural-language documentation embedded with the code, into Stump’s industrial IDE so as to allow designers to author industrial control code from plain-language design requirements, increase efficiency and accuracy of code synthesis, and remove the need for the designer to have detailed programming knowledge (Chen, Para [0046]).
Regarding Claim 6, Stump, Groenewegen and Chen teach
The system of Claim 5.
Stump further teaches
wherein the generative AI component is configured to generate the natural language documentation for the undocumented control code based on contextual analysis of the undocumented control code that determines at least one of a type of industrial application or an industrial vertical to which the undocumented control code is directed. (Para [0066], "these guardrail templates 506 can be classified according to industrial vertical, type of industrial application, plant facility … During development, project generation component 206 can select and apply a subset of guardrail templates 506 determined to be relevant to the project currently being developed, based on a determination of such aspects as the industrial vertical to which the project relates, the type of industrial application being programmed (e.g., flow control, web tension control, a certain batch process, etc.)"; Para [0068], "code modules 508 and/or automation objects 222 can be categorized according to one or more of an industrial vertical (e.g., automotive, food and drug, oil and gas, textiles, marine, pharmaceutical, etc.), an industrial application, or a type of machine or device to which the code module 508 or automation object 222 is applicable") Examiner Comments: Stump performs contextual analysis to determine the industrial vertical and type of industrial application to which the project/code is directed.
Regarding Claim 7, Stump, Groenewegen and Chen teach
The system of Claim 5.
Stump, and Groenewegen did not specifically teach
wherein the generative AI component is configured to generate the natural language documentation for the undocumented control code further on functional analysis of the undocumented control code that determines functionalities of respective segments or elements of the undocumented control code.
However, Chen further teaches
wherein the generative AI component is configured to generate the natural language documentation for the undocumented control code further on functional analysis of the undocumented control code that determines functionalities of respective segments or elements of the undocumented control code. (Para [0089], "a method may also comprise identifying at least one of the one or more candidate docstrings that provides an intent of the at least a portion of the one or more computer code samples … an intent of a computer code sample may generally explain the underlying function, purpose, or objective that the computer code sample (or a portion thereof) accomplishes upon execution … an intent may include one or more of function-method intents (e.g., intents reflecting a purpose or action performed by a coded function or method), commented intents …, class-module intents …, API endpoint intents …, or conditional intents") Examiner Comments: Chen identifies, for respective portions of the code, the underlying function/purpose (intent), which constitutes functional analysis of respective segments or elements of the code.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump and Groenewegen’s teaching in view of Chen’s teaching in order to incorporate natural-language-driven generative AI code generation, together with auto-generated natural-language documentation embedded with the code, into Stump’s industrial IDE so as to allow designers to author industrial control code from plain-language design requirements, increase efficiency and accuracy of code synthesis, and remove the need for the designer to have detailed programming knowledge (Chen, Para [0046]).
Regarding Claim 8, Stump, Groenewegen and Chen teach
The system of Claim 1.
Stump further teaches
wherein the natural language request specifies at least one of a control function to be performed by the control code, a type of equipment to be controlled by the control code, a description of control conditions for controlling a state of an output device, or a format for the control code. (Para [0062], "user interface component 204 can allow the user to specify production goals for an automation system being designed (e.g., specifying that a bottling plant being designed must be capable of producing at least 5000 bottles per second during normal operation) and any other relevant design constraints applied to the design project … Portions of the system project 302 that can be generated in this manner can include, but are not limited to, device and equipment selections (e.g., definitions of how many pumps, controllers, stations, conveyors, drives, or other assets will be needed to satisfy the specified goal), associated device configurations …, control coding, or HMI screens") Examiner Comments: Stump’s natural-language design input specifies a control function (production goal), type of equipment (pumps, conveyors, etc.), and other constraints that map onto the recited Markush group.
Regarding Claim 9, Stump, Groenewegen and Chen teach
The system of Claim 1.
Stump further teaches
wherein the generative AI component is configured to generate the control code as at least one of ladder logic, structured text, a function block diagram, or an industrial domain-specific language (DSL). (Para [0039], "industrial controllers 118 are typically configured and programmed using a control programming development application such as a ladder logic editor … a designer can write control programming (e.g., ladder logic, structured text, function block diagrams, etc.) for carrying out a desired industrial sequence or process and download the resulting program files to the controller 118") Examiner Comments: Stump expressly identifies ladder logic, structured text, and function block diagrams as the formats of industrial control code generated by the IDE, reading on the recited Markush group.
Regarding Claim 10, Stump, Groenewegen and Chen teach
The system of Claim 1.
Stump, and Groenewegen did not specifically teach
wherein the generative AI component is further configured to generate natural language implementation details relating to the control code based on analysis of the natural language request and the responses prompted from the generative AI model, and the user interface component is configured to render the control code and the natural language implementation details on the IDE interface.
However, Chen teaches
wherein the generative AI component is further configured to generate natural language implementation details relating to the control code based on analysis of the natural language request and the responses prompted from the generative AI model, and the user interface component is configured to render the control code and the natural language implementation details on the IDE interface. (Para [0075], "a method may further comprise outputting, via the user interface, a definition of a function, method, class, or module associated with the outputted at least one identified computer code sample. As such, the method may include outputting both the computer code sample that is identified and additional information related to that computer code sample"; Para [0091], "outputting, via a user interface, the at least one identified docstring with the at least a portion of the one or more computer code samples") Examiner Comments: Chen renders, via the user interface, both the generated code and accompanying natural-language implementation details (function/method/class definitions and docstring text).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine Stump and Groenewegen’s teaching in view of Chen’s teaching in order to incorporate natural-language-driven generative AI code generation, together with auto-generated natural-language documentation embedded with the code, into Stump’s industrial IDE so as to allow designers to author industrial control code from plain-language design requirements, increase efficiency and accuracy of code synthesis, and remove the need for the designer to have detailed programming knowledge (Chen, Para [0046]).
Regarding Claim 11, is a method claim corresponding to the system claim above (Claim 1) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 1.
Regarding Claim 12, is a method claim corresponding to the system claim above (Claim 2) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 2.
Regarding Claim 13, is a method claim corresponding to the system claim above (Claim 3) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 3.
Regarding Claim 14, is a method claim corresponding to the system claim above (Claim 4) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 4.
Regarding Claim 15, is a method claim corresponding to the system claim above (Claim 5) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 5.
Regarding Claim 16, is a method claim corresponding to the system claim above (Claim 6) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 6.
Regarding Claim 17, is a method claim corresponding to the system claim above (Claim 7) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 7.
Regarding Claim 18, is a method claim corresponding to the system claim above (Claim 8) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 8.
Regarding Claim 19, is a non-transitory computer-readable medium claim corresponding to the system claim above (Claim 1) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 1.
Regarding Claim 20, is a non-transitory computer-readable medium claim corresponding to the system claim above (Claim 2) and, therefore, is rejected for the same reasons set forth in the rejection of Claim 2.
Response to Arguments
Applicant’s arguments with respect to claims 1-20 have been considered but are moot because the arguments do not apply to the previous cited sections of the references used in the previous office action. The current office action is now citing additional references to address the newly added claimed limitations.
Conclusion
THIS ACTION IS MADE FINAL. 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 SOLTANZADEH whose telephone number is (571)272-3451. The examiner can normally be reached M-F, 9am - 5pm ET.
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, Wei Mui can be reached at (571) 272-3708. 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.
/AMIR SOLTANZADEH/Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191