DETAILED ACTION
Application No. 19/332,310 filed on 09/18/2025 has been examined. In this Office Action, claims 1-20 are pending.
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 .
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP § 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto- processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-20 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,443,636 B1. Although the claims at issue are not identical, they are not patentably distinct from each other because they cover substantially the same recitations and limitations, with certain limitations worded more broadly or slightly differently from the patented claims, but in essence they convey substantially the same subject matter. The instant application is a broader scope of recitation of the claims of the already patented application.
Present Application 19/332310
US PAT. 12443636 B1
1. A computing apparatus comprising: a computer-readable storage medium; a domain interface engine comprising processor-executable instructions stored on the computer-readable storage medium; and one or more processors coupled to the computer-readable storage medium and configured to execute the processor-executable instructions, wherein the processor-executable instructions, when executed by the one or more processors, direct the computing apparatus, to at least: receive, by a virtual assistant application in operable communication with the domain interface engine, a user query from a first client device, wherein: the domain interface engine comprises one or more microbots assigned to one or more backend domains; and the one or more backend domains are decoupled from the virtual assistant application; retrieve, by a first microbot of the one or more microbots, domain content corresponding to the user query from the one or more backend domains; and provide, to the virtual assistant application, the domain content for generating a user response to the user query based on the domain content.
2. The computing apparatus of claim 1, wherein the processor-executable instructions to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to: determine the domain content based on the user query; determine that a first backend domain of the one or more backend domains comprises the domain content; and select the first microbot for handling the user query based on the first backend domain comprising the domain content.
3. The computing apparatus of claim 1, wherein the domain interface engine comprises a natural language model and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: submit the user query to the natural language model; determine a user intent of the user query based on a response from the natural language model; and select the first microbot from the one or more microbots for handling the user query based on the user intent.
4. The computing apparatus of claim 1, wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: receive a second user query from a second client device; determine that the second user query corresponds to an inapplicable domain; and transmit a redirecting response based on the second user query to the second client device.
5. The computing apparatus of claim 1, wherein: the processor-executable instructions to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to:transmit, by the first microbot, a domain request to a first backend domain of the one or more backend domains; receive, from the first backend domain, a domain response comprising the domain content; and determine, by the first microbot, that the domain response comprises restricted content; and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: generate, via the virtual assistant application, a redirecting response based on the restricted content, wherein the redirecting response is transmitted to the first client device.
6. The computing apparatus of claim 1, wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: filter, by the first microbot, the user query to remove restricted content from the user query prior to retrieving the domain content.
7. The computing apparatus of claim 1, wherein: the first microbot is assigned to a first backend domain of the one or more backend domains; and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: validate, by the first microbot, the domain content from the first backend domain based on a similarity index prior to providing the domain content to the virtual assistant application, wherein validating the domain content based on the similarity index determines a degree of similarity between the domain content and the user query.
8. A method comprising: receiving, by a domain interface engine integrated with a virtual assistant application, a user query from a first client device, wherein: the domain interface engine comprises one or more microbots assigned to one or more backend domains; and the one or more backend domains are decoupled from the virtual assistant application; retrieving, by the domain interface engine, domain content corresponding to the user query using a first microbot of the one or more microbots; and providing, by the domain interface engine, the domain content to the virtual assistant application for generating a user response to the user query based on the domain content.
9. The method of claim 8, wherein the domain interface engine comprises a natural language model and the method further comprises: determining, by the domain interface engine, that additional information is needed based on the user query; transmitting, by the domain interface engine via the virtual assistant application, a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device; submitting, by the domain interface engine, the subsequent query to the natural language model; and responsive to receiving a response from the natural language model, selecting, by the domain interface engine, the first microbot of the one or more microbots for handling the user query based on the subsequent query.
10. The method of claim 8, wherein retrieving, by the domain interface engine, the domain content corresponding to the user query using the first microbot of the one or more microbots further comprises: determining, by the domain interface engine, that a first backend domain of the one or more backend domains contains the domain content associated with the user query; determining, by the domain interface engine, that the first microbot is associated with the first backend domain; and assigning, by the domain interface engine, the user query to the first microbot based on the first backend domain comprising the domain content.
11. The method of claim 8, wherein the method further comprises assigning each microbot of the one or more microbots to a respective backend domain of the one or more backend domains during a configuration process of the domain interface engine.
12. The method of claim 8, the method further comprising: receiving, by the domain interface engine, a second user query from a second client device; determining, by the domain interface engine, that the second user query corresponds to an inapplicable domain based on the second user query; and transmitting, by the domain interface engine via the virtual assistant application, a redirecting response to the second client device responsive to determining that the second user query corresponds to the inapplicable domain.
13. The method of claim 8, wherein retrieving, by the domain interface engine, the domain content corresponding to the user query using the first microbot of the one or more microbots further comprises: generating, by the first microbot, a prompt based on the user query, wherein the prompt is configured to elicit a response from a first backend domain of the one or more backend domains; transmitting, by the first microbot, the prompt to the first backend domain; and receiving, by the first microbot, a domain response from the first backend domain, wherein the domain response comprises the domain content.
14. The method of claim 8, wherein the method further comprises: determining, by the domain interface engine, a user intent based on the user query; and selecting, by the domain interface engine, the first microbot of the one or more microbots for handling the user query based on the user intent.
15. A non-transitory computer-readable storage medium comprising processor-executable instructions, wherein the processor-executable instructions comprise a domain interface engine configured to cause one or more processors to: receive, by a virtual assistant application in operable communication with the domain interface engine, a user query from a first client device, wherein:the domain interface engine comprises one or more microbots assigned to one or more backend domains; and the one or more backend domains are decoupled from the virtual assistant application; retrieve, by a first microbot of the one or more microbots, domain content corresponding to the user query from the one or more backend domains; and provide, to the virtual assistant application, the domain content for generating a user response to the user query based on the domain content.
16. The non-transitory computer-readable storage medium of claim 15, wherein the processor-executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: determine that the user query corresponds to the domain content; determine that a first backend domain of the one or more backend domains comprises the domain content; and assign the user query to the first microbot based on the domain content being in the first backend domain.
17. The non-transitory computer-readable storage medium of claim 15, wherein the processor-executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: determine a user intent based on the user query; and select the first microbot from the one or more microbots based on the user intent.
18. The non-transitory computer-readable storage medium of claim 15, wherein: the first microbot is assigned to a first backend domain of the one or more backend domains; the processor-executable instructions of the domain interface engine to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: receive a domain response from the first backend domain, wherein the domain response comprises the domain content; and the processor-executable instructions cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: validate, by the first microbot, the domain response from the first backend domain, wherein validating the domain response comprises determining a degree of similarity between the domain content and the user query based on a similarity index.
19. The non-transitory computer-readable storage medium of claim 15, the processor- executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: filter, by the first microbot, the user query to remove restricted content from the user query prior to retrieving the domain content from the one or more backend domains.
20. The non-transitory computer-readable storage medium of claim 15, wherein the processor-executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: transmit, via the virtual assistant application, a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device; and determine a user intent for the user query based on the subsequent query.
1. A computing apparatus comprising: a computer-readable storage medium; a domain interface engine comprising processor-executable instructions stored on the computer-readable storage medium; and one or more processors coupled to the computer-readable storage medium and configured to execute the processor-executable instructions, wherein the processor-executable instructions, when executed by the one or more processors, direct the computing apparatus, to at least: receive, via a virtual assistant application, a user query from a first client device, wherein the domain interface engine: is integrated with the virtual assistant application; and comprises a plurality of microbots and each microbot of the plurality of microbots is assigned to a respective backend domain within a plurality of backend domains, wherein the plurality of backend domains are decoupled from the virtual assistant application; determine, by the domain interface engine, a first microbot from a plurality of microbots for handling the user query, wherein: each microbot of the plurality of microbots is assigned to a respective backend domain within a plurality of backend domains; and the first microbot is assigned to a first backend domain; retrieve domain content from the first backend domain corresponding to the user query; generate a query response based on the domain content; and transmit, to the first client device, the query response.
2. The computing apparatus of claim 1, wherein the processor-executable instructions to determine the first microbot from the plurality of microbots for handling the user query, when executed by the one or more processors, further direct the computing apparatus to: determine domain content based on the user query; determine that the first backend domain comprises the domain content; and select the first microbot for handling the user query based on the first backend domain comprising the domain content.
3. The computing apparatus of claim 1, wherein the domain interface engine comprises a natural language model and the processor-executable instructions to determine the first microbot of the plurality of microbots for handling the user query, when executed by the one or more processors, further direct the computing apparatus to: submit the user query to the natural language model; determine a user intent of the user query based on a response from the natural language model; and select the first microbot from a plurality of microbots for handling the user query based on the user intent.
4. The computing apparatus of claim 1, wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: receive a second user query from a second client device; determine that the second user query corresponds to an inapplicable domain; and transmit a redirecting response based on the second user query to the second client device.
5. The computing apparatus of claim 1, wherein: the processor-executable instructions to retrieve the domain content from the first backend domain corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to: receive, from the first backend domain, a domain response from the first backend domain, wherein domain response comprises the domain content; and determine, by the first microbot, that the domain response comprises restricted content; and the processor-executable instructions to generate the query response based on the domain content, when executed by the one or more processors, further direct the computing apparatus to: generate a redirecting response based on the restricted content, wherein the query response comprises the redirecting response.
6. The computing apparatus of claim 1, wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: filter, by the first microbot, the user query to remove restricted content from the user query to retrieving the domain content from the first backend domain.
7. The computing apparatus of claim 1, wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: validate, by the first microbot, the domain content from the first backend domain based on a similarity index prior to generating the query response, wherein validating the domain content based on the similarity index determines a degree of similarity between the domain content and the user query.
8. A method comprising: receiving, by a domain interface engine integrated within a virtual assistant application, a user query from a first client device, wherein: the domain interface engine comprises a plurality of microbots and each microbot of the plurality of microbots is assigned to a respective backend domain within a plurality of backend domains; and the plurality of backend domains are decoupled from the virtual assistant application; determining, by the domain interface engine, a first microbot of the plurality of microbots for handling the user query, wherein the plurality of microbots comprises the first microbot and the first microbot is assigned to a first backend domain; retrieving, by the first microbot, a domain content from the first backend domain corresponding to the user query; generating, by the first microbot, a query response based on the domain content; and transmitting, by the domain interface engine, the query response to the first client device.
9. The method of claim 8, wherein the domain interface engine comprises a natural language model and determining, by the domain interface engine, the first microbot of the plurality of microbots for handling the user query further comprises: determining, by the domain interface engine, that additional information is needed based on the user query; transmitting, by the domain interface engine, a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device; submitting, by the domain interface engine, the subsequent query to the natural language model; and responsive to receiving a response from the natural language model, selecting, by the domain interface engine, the first microbot of the plurality of microbots for handling the user query based on the subsequent query.
10. The method of claim 8, wherein determining, by the domain interface engine, the first microbot of the plurality of microbots for handling the user query further comprises: determining, by the domain interface engine, that the user query corresponds to domain content of the first backend domain; determining, by the domain interface engine, that the first microbot is associated with the first backend domain; and assigning, by the domain interface engine, the user query to the first microbot based on the first backend domain comprising the domain content.
11. The method of claim 8, the method further comprises assigning each microbot of the plurality of microbots to a respective backend domain of the plurality of backend domains during a configuration process of the domain interface engine.
12. The method of claim 8, the method further comprising: receiving, by the domain interface engine, a second user query from a second client device; determining, by the domain interface engine, that the second user query corresponds to an inapplicable domain based on the second user query; and transmitting, by the domain interface engine, a redirecting response to the second client device responsive to determining that the second user query corresponds to the inapplicable domain.
13. The method of claim 8, wherein retrieving, by the first microbot, the domain content from the first backend domain corresponding to the user query further comprises: generating, by the first microbot, a prompt based on the user query and user data associated with the first client device, wherein the prompt is configured to elicit a response from the first backend domain; transmitting, by the first microbot, the prompt to the first backend domain; and receiving, by the first microbot, a domain response from the first backend domain, wherein the domain response comprises the domain content.
14. The method of claim 8, wherein determining, by the domain interface engine, the first microbot of the plurality of microbots for handling the user query further comprises: determining, by the domain interface engine, a user intent based on the user query; and selecting, by the domain interface engine, the first microbot of the plurality of microbots for handling the user query based on the user intent.
15. A non-transitory computer-readable storage medium comprising processor-executable instructions, wherein the processor-executable instructions comprise a domain interface engine configured to cause one or more processors to: receive, via a virtual assistant application from a first client device, a user query from a first client device, wherein the domain interface engine: is integrated with the virtual assistant application; and comprises a plurality of microbots and each microbot of the plurality of microbots is assigned to a respective backend domain within a plurality of backend domains, wherein the plurality of backend domains are decoupled from the virtual assistant application; determine a first microbot from a plurality of microbots for handling the user query, wherein: each microbot of the plurality of microbots is assigned to a respective backend domain within a plurality of backend domains; and the first microbot is assigned to a first backend domain; retrieve domain content from the first backend domain corresponding to the user query; generate a query response based on the domain content; and transmit, to the first client device, the query response.
16. The non-transitory computer-readable storage medium of claim 15, wherein the processor-executable instructions of the domain interface engine to determine the first microbot from the plurality of microbots for handling the user query cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: determine that the user query corresponds to domain content; determine that the first backend domain comprises the domain content; and assign the user query to the first microbot based on the domain content being in the first backend domain.
17. The non-transitory computer-readable storage medium of claim 15, wherein the processor-executable instructions of the domain interface engine to determine the first microbot from the plurality of microbots to handle the user query cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: determine a user intent based on the user query; and select the first microbot from the plurality of microbots based on the user intent.
18. The non-transitory computer-readable storage medium of claim 15, wherein: the processor-executable instructions of the domain interface engine to retrieve the domain content from the first backend domain corresponding to the user query cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: receive, from the first backend domain, a domain response from the first backend domain, wherein the domain response comprises the domain content; and the processor-executable instructions cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: validate, by the first microbot, the domain response from the first backend domain, wherein validating the domain response comprises determining a degree of similarity between the domain content and the user query based on a similarity index.
19. The non-transitory computer-readable storage medium of claim 15, the processor-executable instructions cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: filter, by the first microbot, the user query to remove restricted content from the user query prior to retrieving the domain content from the first backend domain.
20. The non-transitory computer-readable storage medium of claim 15, wherein: the processor-executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: determine a user intent based on the user query; and the processor-executable instructions of the domain interface engine to determine the user intent based on the user query cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: transmit a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device; and determine the user intent based on the subsequent query.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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, 8 and 15 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) further in view of Mars et al (US 2019/0130244 A1).
As per claim 1, Ramachandran teaches a computing apparatus comprising: a computer-readable storage medium; a domain interface engine comprising processor-executable instructions stored on the computer-readable storage medium; and one or more processors coupled to the computer-readable storage medium and configured to execute the processor-executable instructions, wherein the processor-executable instructions, when executed by the one or more processors, direct the computing apparatus, to at least (Col. 7, lines 39-67; Col. 8, lines 1-30):
receive, by a virtual assistant application in operable communication with the domain interface engine, a user query from a first client device, wherein (Col. 3, lines 3-67, e.g., client device 104, corresponding to the claimed first client device, transmits a user message to multi-domain chatbot 108, corresponding to the claimed virtual assistant application, and automated agent 110 communicates with domain-specific modules 112a–112c, corresponding to the claimed domain-interface functionality):
the domain interface engine comprises one or more microbots assigned to one or more backend domains (Col. 3, lines 14-41, e.g., domain-specific modules 112a–112c, corresponding to the claimed one or more microbots, are configured to handle respective subject-matter domains including information technology, finance, human resources, management, airline, hotel, and weather);
Ramachandran does not explicitly teach the one or more backend domains are decoupled from the virtual assistant application;
However, Fawcett teaches the one or more backend domains are decoupled from the virtual assistant application (Paragraph [0050] – primary systems 104 may be local, remote, or cloud based, may include remote legacy applications accessible through cloud systems, and may be operated by third-party organizations whose functions are separate from the mobile communication system; Paragraph [0051] – primary systems 104 may be remote from personal mobile communications device 108 and remote from chatbot server 102, wherein primary systems 104 correspond to the claimed backend domains and chatbot server 102/application 106 provide the virtual-assistant environment).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Fawcett's separately operated and remotely accessible primary systems to Ramachandran's domain-specific chatbot architecture in order to permit specialized domain modules to communicate with independently deployed backend systems while maintaining separation between the virtual-assistant application and backend domain systems (Fawcett).
Ramachandran and Fawcett do not explicitly teach retrieve, by a first microbot of the one or more microbots, domain content corresponding to the user query from the one or more backend domains and provide, to the virtual assistant application, the domain content for generating a user response to the user query based on the domain content.
However, Mars teaches retrieve, by a first microbot of the one or more microbots, domain content corresponding to the user query from the one or more backend domains (Paragraph [0018] – handlers perform operations that access one or more data sources relevant to a user query or command; Paragraph [0020] – AI virtual assistant platform 110 interacts with distinct and disparate service providers and data sources 160 may be external service-provider data sources, wherein the external data sources correspond to backend domain sources; Paragraph [0032] – observables extractor 140 determines data sources relevant to addressing the user query and accesses or collects data from the identified sources, wherein the accessed or collected data corresponds to the claimed domain content); and provide, to the virtual assistant application, the domain content for generating a user response to the user query based on the domain content (Paragraph [0033] – response generator 150 generates a response using handler outputs produced by observables extractor 140, wherein the handler outputs correspond to information derived from the retrieved backend data and response generator 150 corresponds to the response-generation functionality of the virtual assistant; Paragraphs [0035]–[0036] – AI virtual assistant platform 110 executes handlers and generates a response based upon the resulting information).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Mars’s external-data retrieval and response-generation teachings to Ramachandran’s selected domain-specific microbot and Fawcett’s backend systems in order to retrieve content corresponding to a user query from the associated backend domain and provide that content to the virtual-assistant application for generation of the user response (Mars).
Regarding claims 8, 15, claims 8, 15 are rejected for substantially the same reason as claim 1 above.
Claims 2, 10-11, 16 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) further in view of Yaramada et al (US 2020/0320133 A1).
As per claim 2, Ramachandran, Fawcett and Mars do not explicitly teach wherein the processor-executable instructions to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to: determine the domain content based on the user query; determine that a first backend domain of the one or more backend domains comprises the domain content; and select the first microbot for handling the user query based on the first backend domain comprising the domain content.
However, Yaramada wherein the processor-executable instructions to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to: determine the domain content based on the user query (Paragraphs [0028]–[0030] – AI routing framework 202 receives the user query/request, determines an input statement, calculates an embedding representing the input statement, and searches statement repository 214 for the stored statement having the closest semantic relationship to the input); determine that a first backend domain of the one or more backend domains comprises the domain content (Paragraph [0031] – after finding the matching stored statement, AI routing framework 202 extracts associated metadata, including an identifier of the domain and an identifier of a backend-system handler configured to process requests in that domain, wherein the identified domain corresponds to the claimed first backend domain); and select the first microbot for handling the user query based on the first backend domain comprising the domain content (Paragraph [0032] – AI routing framework 202 forwards the input statement to domain-specific handler 220 of backend software system 218 based upon the extracted domain and handler information, wherein domain-specific handler 220 corresponds functionally to the claimed first microbot).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Yaramada’s domain-identification and domain-handler routing teachings to Ramachandran’s selected domain-specific microbot and Fawcett’s backend systems in order to determine the backend domain containing content associated with the user query and select the microbot associated with that backend domain for handling the user query (Yaramada).
Regarding claims 10, 16, claims 10, 16 are rejected for substantially the same reason as claim 2 above.
As per claim 11, wherein the method further comprises assigning each microbot of the one or more microbots to a respective backend domain of the one or more backend domains during a configuration process of the domain interface engine (Paragraph [0022]-[0028], [0034] –if multi-domain chatbot is a chatbot in an enterprise for enabling self-service access to the enterprise's various internal business systems/applications, the user query/request received may pertain to any one of a plurality of different business domains handled by those disparate systems/applications and an administrator determines an appropriate domain and backend handler associated with an input statement and stores the input statement together with its embedding/domain/handler information in statement repository 214 for subsequent domain-based routing, Yaramada).
Claims 3, 14, 17 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) further in view of Wang et al (US 2018/0293484 A1).
As per claim 3, wherein the domain interface engine comprises a natural language model and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: submit the user query to the natural language model and determine a user intent of the user query based on a response from the natural language model (Paragraphs [0049]–[0054] – competency classification engine 120 employs machine-learning models that process received user input, generate competency classifications and associated probabilities indicating how well each classification matches the intent of the user input, and determine an applicable competency/intent, wherein the machine-learning models correspond to the claimed natural language model, Mars);
Ramachandran, Fawcett and Mars do not explicitly teach select the first microbot from the one or more microbots for handling the user query based on the user intent.
However, Wang teaches select the first microbot from the one or more microbots for handling the user query based on the user intent (Paragraphs [0066]–[0069] – virtual assistant manager 130 determines an information/query category corresponding to a received user query and selects or polls virtual assistants 135 associated with the matching category, wherein virtual assistants 135 correspond to the claimed microbots and the determined category corresponds to the subject matter/intent of the query);
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Wang’s category-based virtual-assistant selection teachings to the natural-language intent determination of Mars and the domain-specific microbots of Ramachandran and Fawcett in order to select a specialized microbot for handling the user query based on the determined user intent (Wang).
Regarding claims 14, 17, claims 14, 17 are rejected for substantially the same reason as claim 3 above.
Claims 4 and 12 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) further in view of Chen et al (US 2020/0007380 A1).
As per claim 4, wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: receive a second user query from a second client device (Col. 3, ll. 43–54 – client device 104 transmits user messages to multi-domain chatbot 108, Ramachandran);
Ramachandran, Fawcett and Mars do not explicitly teach determine that the second user query corresponds to an inapplicable domain; and transmit a redirecting response based on the second user query to the second client device.
However, Chen teaches determine that the second user query corresponds to an inapplicable domain (Paragraph [0097] – an “out of domain” condition exists when a user's question is outside the capabilities or expertise of the virtual agent, wherein the out-of-domain condition corresponds to the claimed inapplicable domain); and transmit a redirecting response based on the second user query to the second client device (Paragraph [0097] – when the question is out of domain, the virtual agent may state that it is not equipped to answer the question or that the question falls outside its expertise and may transfer the conversation to a human agent or another virtual agent capable of addressing the question, wherein the response/transfer corresponds to the claimed redirecting response).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Chen’s out-of-domain detection and redirection teachings to the multi-domain virtual-assistant system of Ramachandran, Fawcett, and Mars in order to determine when a user query corresponds to an inapplicable domain and provide a redirecting response to the user when the query cannot be handled by an applicable domain (Chen).
Regarding claim 12, claim 12 is rejected for substantially the same reason as claim 4 above.
Claims 5 and 13 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) further in view of Kwatra et al (US 2022/0093091 A1).
As per claim 5, Ramachandran, Fawcett and Mars do not explicitly teach wherein: the processor-executable instructions to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to:transmit, by the first microbot, a domain request to a first backend domain of the one or more backend domains; receive, from the first backend domain, a domain response comprising the domain content; and determine, by the first microbot, that the domain response comprises restricted content; and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: generate, via the virtual assistant application, a redirecting response based on the restricted content, wherein the redirecting response is transmitted to the first client device.
However, Kwatra teaches wherein: the processor-executable instructions to retrieve, by the first microbot of the one or more microbots, the domain content corresponding to the user query, when executed by the one or more processors, further direct the computing apparatus to:transmit, by the first microbot, a domain request to a first backend domain of the one or more backend domains (Paragraph [0066] – virtual assistant 102 reconstructs an input command and transmits the reconstructed command to host device 130 for processing, wherein the reconstructed command corresponds to the claimed domain request and host device 130 corresponds to the backend service); receive, from the first backend domain, a domain response comprising the domain content (Paragraph [0066] – host device 130 processes the received command, generates an output response, and returns the output response to virtual assistant 102, wherein the output response corresponds to the claimed domain response comprising domain content); and determine, by the first microbot, that the domain response comprises restricted content (Paragraph [0067] – virtual assistant 102 analyzes the output response to determine whether additional sensitive information is associated with the response and may remove such sensitive information, wherein sensitive information corresponds to restricted content); and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: generate, via the virtual assistant application, a redirecting response based on the restricted content, wherein the redirecting response is transmitted to the first client device (Paragraphs [0074]–[0075] – when the output response cannot appropriately be generated without sensitive information, the virtual assistant requests that the user restate the command through an alternative input mechanism, such as text, email, or a private display, wherein the request for an alternative interaction corresponds to the claimed redirecting response).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Kwatra’s backend-response sensitivity analysis and alternative-response teachings to Fawcett’s specialized microbot/backend interaction in order to determine whether a domain response comprises restricted content and provide a redirecting response when the restricted content prevents an appropriate response from being provided to the user (Kwatra).
As per claim 13, Fawcett teaches communication between a specialized sub-chatbot and a separate primary system (Paragraph [0084] – each sub-chatbot 602 communicates with at least one primary system 104 and handles interactions for a specific field or area).
Kwatra teaches generating, by the first microbot, a prompt based on the user query, wherein the prompt is configured to elicit a response from a first backend domain of the one or more backend domains, transmitting, by the first microbot, the prompt to the first backend domain and receiving, by the first microbot, a domain response from the first backend domain, wherein the domain response comprises the domain content (Paragraph [0066] – virtual assistant 102 reconstructs a command based on the user's input, transmits the reconstructed command to host device 130 for processing, and host device 130 generates an output response returned to the virtual assistant, wherein the reconstructed command corresponds to the claimed prompt/request, host device 130 corresponds to the backend service, and the returned output corresponds to the claimed domain response, Kwatra).
Claims 6, 19 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) further in view of Ahmadidaneshashtiani et al (US 2023/0377567 A1).
As per claim 6, Ramachandran, Fawcett and Mars do not explicitly teach wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: filter, by the first microbot, the user query to remove restricted content from the user query prior to retrieving the domain content.
However, Ahmadidaneshashtiani teaches wherein the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: filter, by the first microbot, the user query to remove restricted content from the user query prior to retrieving the domain content (Paragraph [0117] – when sanitization/obfuscation is enabled, the user's query is analyzed and modified to remove or replace sensitive information before downstream processing and paragraph [0129] – a data-protection plug-in sanitizes utterance strings by removing or replacing sensitive tokens, including identifying/account information, before providing the utterance to downstream NLP agents, wherein sensitive tokens correspond to the claimed restricted content).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Ahmadidanesh’s query-sanitization teachings to Ramachandran’s selected domain-specific microbot and Fawcett’s backend systems in order to remove restricted content from the user query before the query is used to retrieve domain content from the backend domain (Ahmadidanesh).
Regarding claims 19, claim 19 is rejected for substantially the same reason as claim 6 above.
Claims 7 and 18 are rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) further in view of Zhu et al (US 11,157,490 B2).
As per claim 7, Ramachandran, Fawcett and Mars do not explicitly teach wherein: the first microbot is assigned to a first backend domain of the one or more backend domains; and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: validate, by the first microbot, the domain content from the first backend domain based on a similarity index prior to providing the domain content to the virtual assistant application, wherein validating the domain content based on the similarity index determines a degree of similarity between the domain content and the user query.
However, Zhu teaches wherein: the first microbot is assigned to a first backend domain of the one or more backend domains; and the processor-executable instructions, when executed by the one or more processors, further direct the computing apparatus to: validate, by the first microbot, the domain content from the first backend domain based on a similarity index prior to providing the domain content to the virtual assistant application, wherein validating the domain content based on the similarity index determines a degree of similarity between the domain content and the user query (Col. 5, lines 1-22 – query entities and candidate document entities are mapped into vectors and a degree of similarity, including cosine similarity, is calculated between the query and candidate content, wherein the calculated degree of similarity corresponds to the claimed similarity index; Col. 6, lines 1-23 – candidate documents are assigned confidence scores indicating how well they satisfy or represent the query and documents failing an appropriate threshold may be filtered before results are provided).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Zhu’s similarity-based content-validation teachings to the selected domain-specific microbot of Ramachandran and Fawcett in order to determine a degree of similarity between retrieved domain content and the user query and validate the domain content before providing the content to the virtual-assistant application (Zhu).
Regarding claim 18, claim 18 is rejected for substantially the same reason as claim 7 above.
Claim 9 is rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) in view of White et al (US 2023/0187031 A1) further in view of Wang et al (US 2018/0293484 A1).
As per claim 9, Mars teaches that the domain interface engine may employ machine-learning/natural-language classification as discussed with respect to claim 3.
White teaches determining, by the domain interface engine, that additional information is needed based on the user query (Paragraph [0115] – virtual assistant/chatbot logic 212 compares received text/data against possible issues using match scores or probabilities and, when a sufficiently reliable match is not obtained, asks follow-up questions corresponding to the possible issues, thereby determining that additional information is required);
transmitting, by the domain interface engine via the virtual assistant application, a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device (Paragraph [0111] – virtual assistant/chatbot logic 212 selects one or more follow-up questions and provides an interactive session progressing through a hierarchy of questions using prompts to receive further information until a response action is identified; Paragraph [0116] – additional questions and answers refine a higher-order issue into a more precise issue and follow-up questions are selected according to possible issues and previous answers, White).
Mars teaches submitting, by the domain interface engine, the subsequent query to the natural language model (Paragraphs [0049]–[0054] – received user input is supplied to machine-learning competency-classification models for determining the intent/competency corresponding to the input, Mars).
Wang teaches responsive to receiving a response from the natural language model, selecting, by the domain interface engine, the first microbot of the one or more microbots for handling the user query based on the subsequent query (Paragraphs [0066]–[0069] – virtual assistant manager 130 determines a query/information category associated with user input and selects/polls virtual assistants 135 associated with the matching information category, wherein virtual assistants 135 correspond to the claimed microbots, Wang).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply White’s follow-up-question teachings and Wang’s category-based virtual-assistant selection teachings to the natural-language processing of Mars and the domain-specific microbots of Ramachandran and Fawcett in order to obtain additional information when the original user query is insufficient, process the subsequent query, and select the appropriate microbot based on the clarified user query (White; Wang).
Claim 20 is rejected under 35 U.S.C. § 103 as being unpatentable over Ramachandran et al (US 10,841,251 B1) in view of Fawcett et al (US 2019/0199657 A1) in view of Mars et al (US 2019/0130244 A1) in view of White et al (US 2023/0187031 A1).
As per claim 20, Ramachandran, Fawcett and Mars do not explicitly teach wherein the processor-executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: transmit, via the virtual assistant application, a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device; and determine a user intent for the user query based on the subsequent query.
However, White teaches wherein the processor-executable instructions of the domain interface engine cause the one or more processors to further execute processor-executable instructions stored in the computer-readable storage medium to: transmit, via the virtual assistant application, a prompt to the first client device, wherein the prompt is configured to elicit a subsequent query from the first client device (Paragraph [0111] – virtual assistant/chatbot logic 212 selects follow-up questions and presents prompts in an interactive session to obtain further information until an appropriate response action is identified; Paragraph [0116] – additional follow-up questions and answers refine a higher-order issue into a more precise issue); and determine a user intent for the user query based on the subsequent query (Paragraph [0115] – received user information is compared against possible issues using match scores/probabilities and further questions are presented when a sufficiently reliable match has not yet been obtained; Paragraph [0117] – answers received through the question hierarchy are evaluated until the system determines an issue/sub-issue associated with an appropriate response action, wherein the identified issue corresponds to the intent of the user's query as clarified by the subsequent response).
Thus, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply White’s clarification-dialog teachings to Mars’s natural-language intent-classification teachings in the virtual-assistant system of Ramachandran and Fawcett in order to transmit a prompt configured to elicit a subsequent query and determine the user intent based on the subsequently supplied information (White).
It is noted that any citation [[s]] to specific, pages, columns, lines, or figures in the prior art references and any interpretation of the references should not be considered to be limiting in any wav. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. [[See, MPEP 2123]].
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Mohammad A Sana whose telephone number is (571)270-1753. The examiner can normally be reached Monday-Friday 9-5.
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, Sanjiv Shah can be reached at 5712724098. 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.
/Mohammad A Sana/Primary Examiner, Art Unit 2166