DETAILED ACTION
1. This office action is in response to Applicant’s submission filed on 1/11/2022. Claims 1-21 are pending in the application and have been examined.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
3. Claim 21 is object ed to for the following informalities: The phrase “add the extracted grammar rules and an existing grammar a dynamic grammar” needs to be amended to recite “add the extracted grammar rules and an existing grammar to a dynamic grammar.” Claim 21 is interpreted below as the corrected version.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
4. Claims 1-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Independent Claims 1, 6, 7, 11, 16, 20, and 21 recite various limitations that, but for the recitation of generic computer components (i.e. a client device), can be performed in the human mind or with simple tools. The claims under their broadest reasonable interpretation cover the concept of receiving data, analyzing the received data, generating a grammar or a grammar rule based on the received data, and utilizing the generated grammar or grammar rule (see MPEP 2106.04(a)(2) III).
This judicial exception is not integrated into a practical application because the claims only recite elements in the form of “an agent" and “a client.” These elements are used to perform the claimed methods and steps and are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claims are directed to an abstract idea.
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because they do not include subject matter that could not be performed by a human, as discussed above with respect to integration of the abstract idea into a practical application, the additional element of using the generic computing elements to perform the claimed elements amounts to no more than mere instructions to apply the exception using a generic computer component. Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. The claims are not patent eligible.
Regarding claims 2 and 12, these claims further limit the elements of claims 1 and 11 by reciting the grammar is generated automatically without user input. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 2 and 12 are not patent eligible.
Regarding claims 3 and 13, these claims further limit the elements of claims 1 and 11 by reciting the API specification is in an industry-standard format. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 3 and 13 are not patent eligible.
Regarding claims 4 and 14, these claims further limit the elements of claims 1 and 11 by reciting detecting one or more types within the API specification; converting the types to grammar non-terminal symbols; and constructing grammar rules using function declarations from the API, wherein the types include function return types and argument types. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 4 and 14 are not patent eligible.
Regarding claims 5 and 15, these claims further limit the elements of claims 1 and 11 by reciting the grammar is induced by a collection of known good programs. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 5 and 15 are not patent eligible.
Regarding claims 8 and 17, these claims further limit the elements of claims 7 and 16 by reciting identifying API arguments within the previous conversation history by the extractor mechanism; and dynamically creating grammar rules to allow constrained decoding based on the dynamically created grammar rule. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 8 and 17 are not patent eligible.
Regarding claims 9 and 18, these claims further limit the elements of claims 7 and 16 by reciting the input data includes prior predicted programs and executed programs and their results within the current conversation. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 9 and 18 are not patent eligible.
Regarding claims 10 and 19, these claims further limit the elements of claims 7 and 16 by reciting identifying a first API that is required to be invoked before invoking a second API; and dynamically creating a grammar rule to enforce the invocation of the second API only after the first API has been invoked. However, this does not preclude the limitations from being performed in the human mind or by simple tools. Similar to claim 1 above, no additional elements beyond the use of generic computing elements are claimed, therefore the judicial exception is not integrated into a practical application nor are the claim elements sufficient to amount to significantly more than the judicial exception. Therefore, claims 10 and 19 are not patent eligible.
Claim Rejections - 35 USC § 103
5. 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 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.
6. Claims 1-5 and 11-15 are rejected under 35 U.S.C. 103 as unpatentable over U.S. Pat. Ap. Pub. No. 20190334789 (Roche et al., hereinafter “Roche”) in view of U.S. Pat. Ap. Pub. No. 20210117624 (Aghajanyan et al., hereinafter “Agh”).
With regard to Claim 1, Roche describes:
“A method for automatically inducing a grammar, comprising:
receiving API specification data associated with an API [[to be accessed by an automated agent that processes a user request received within an interaction between automated agent and a client;]] (Paragraph 34 describes that data 335 is received by the device.)
parsing the API specification; (Paragraph 34 describes that data 335 is parsed.) and
automatically constructing a grammar based on the parsed API specification, the automatically constructed grammar to be used in representing subsequent calls to the API. (Paragraph 34 describes that message specifications (cited as “a grammar”) are generated.)
Roche does not explicitly describe that the API is to be accessed by an automated agent that processes a user request received within an interaction between automated agent and a client.
However, paragraph 54 of Agh describes that API-request servers can be used to communicate between an agent and a client.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the API-request servers as described by Agh into the system of Roche to allow for more flexible use of automated agents, as describes in paragraph 54 of Agh.
With respect to Claim 2, Roche describes “the grammar is generated automatically without user input.” Paragraph 25 describes that the grammar is generated automatically.
With respect to Claim 4, Roche describes “the API specification is in an industry-standard format.” Paragraph 69 describe the use of standard API specifications.
With respect to Claim 4, Roche describes “detecting one or more types within the API specification; (Paragraph 27 describes that service types are detected.)
converting the types to grammar non-terminal symbols; (Paragraph 27 describes that data model and/or message specifications are generated based on the types) and
constructing grammar rules using function declarations from the API, wherein the types include function return types and argument types. (Paragraph 27 describes that data model and/or message specifications (which include grammar rules) are generated based on the types.)
With respect to Claim 5, Roche describes “the grammar is induced by a collection of known good programs.” Paragraph 29 describes that the grammar is based on audit/transaction logs 120, which would be known good programs.
With respect to Claims 11-15, medium Claim 11 and method Claim 1 are related as a medium programmed to perform the same method, with each claimed medium function corresponding to each claimed method step. Accordingly, Claims 11-15 are similarly rejected under the same rationale as applied above with respect to Claims 1-5.
7. Claims 6-10 and 16-19 are rejected under 35 U.S.C. 103 as unpatentable over U.S. Pat. Ap. Pub. No. 20210049167 (Brushaber et al., hereinafter “Bru”) in view of U.S. Pat. Ap. Pub. No. 20240296292 (Kumar et al., hereinafter “Kum”).
With regard to Claim 6, Bru describes:
“A method for automatically generating a dynamic grammar based on business logic, comprising:
identifying [[two or more]] APIs that require invocation in a specific order based on business logic; (Figure 11A shows multiple API in a specific order.)
dynamically creating a grammar rule to enforce the order of the invocation of the [[two or more]] APIs based on business logic; and (Paragraph 96 describes adding grammar rules that are used by the API tree.)
adding the dynamically created grammar rule to an existing context free grammar. (Paragraph 6 describes generating grammar rules to add to existing grammar.)
Bru does not explicitly describe that two or more APIs are invoked. However, paragraph 31 of Kum describes that multiple API calls may be invoked.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the multiple API invocations as described by Kum into the system of Bru to allow for more flexible scenarios, as described in paragraph 31 of Kum.
With regard to Claim 7, Bru describes:
“A method for automatically generating a dynamic grammar, comprising:
identifying a first API that is required to be invoked [[before invoking a second API;]] (Figure 11A shows multiple API in a specific order.)
extracting grammar rules from the input data by an extractor mechanism; and (Paragraph 96 describes extracting grammar rules that are used by the API tree.)
adding the extracted grammar rules and an existing grammar to a dynamic grammar. (Paragraph 6 describes generating grammar rules to add to existing grammar.)
Bru does not explicitly describe that two or more APIs are invoked. However, paragraph 31 of Kum describes that multiple API calls may be invoked.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the multiple API invocations as described by Kum into the system of Bru to allow for more flexible scenarios, as described in paragraph 31 of Kum.
With regard to Claim 8, Bru describes:
“identifying API arguments within the previous conversation history by the extractor mechanism; and (Figure 11A shows multiple API in a specific order in an API tree (conversation history).)
dynamically creating grammar rules to allow constrained decoding based on the dynamically created grammar rule. (Paragraph 6 describes generating grammar rules to add to existing grammar.)
With regard to Claim 9, Bru describes:
“the input data includes prior predicted programs and executed programs and their results within the current conversation.” (Figure 11A shows multiple API in a specific order in an API tree (conversation history including prior predicted programs and executed programs).)
With regard to Claim 10, Bru describes:
identifying a first API that is required to be invoked [[before invoking a second API;]] and (Figure 11A shows multiple API in a specific order.)
dynamically creating a grammar rule to enforce the invocation of the second API [[only after the first API has been invoked.]] (Paragraph 6 describes generating grammar rules to add to existing grammar.)
Bru does not explicitly describe that two or more APIs are invoked. However, paragraph 31 of Kum describes that multiple API calls may be invoked.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the multiple API invocations as described by Kum into the system of Bru to allow for more flexible scenarios, as described in paragraph 31 of Kum.
With regard to Claim 16, Bru describes:
“A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to automatically generating a dynamic grammar, the method comprising:
extracting grammar rules from the input data by an extractor mechanism; and (Paragraph 96 describes extracting grammar rules that are used by the API tree.)
adding the extracted grammar rules and an existing grammar a dynamic grammar. (Paragraph 6 describes generating grammar rules to add to existing grammar.)
Bru does not explicitly describe “receiving input data including previous conversation history between a user and an automated agent currently engaged in an interaction.” However, Table 4 of Kum describes providing a conversation history between a user and an automated agent.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the history as described by Kum into the system of Bru to allow for the API to address issues from the interaction history, as described in paragraph 49 of Kum.
With regard to Claim 17, Bru describes:
“identifying API arguments within the previous conversation history by the extractor mechanism; and (Figure 11A shows multiple API in a specific order in an API tree (conversation history).)
dynamically creating grammar rules to allow constrained decoding based on the dynamically created grammar rule.” Paragraph 6 describes generating grammar rules to add to existing grammar.)
With regard to Claim 18, Bru describes “the input data includes prior predicted programs and executed programs and their results within the current conversation.” (Figure 11A shows multiple API in a specific order in an API tree (conversation history including prior predicted programs and executed programs).)
With regard to Claim 19, Bru describes “identifying a first API that is required to be invoked [[before invoking a second API;]] and (Figure 11A shows multiple API in a specific order.)
dynamically creating a grammar rule to enforce the invocation of the second API [[only after the first API has been invoked.]] (Paragraph 6 describes generating grammar rules to add to existing grammar.)
Bru does not explicitly describe that two or more APIs are invoked. However, paragraph 31 of Kum describes that multiple API calls may be invoked.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the multiple API invocations as described by Kum into the system of Bru to allow for more flexible scenarios, as described in paragraph 31 of Kum.
8. Claims 20 and 21 are rejected under 35 U.S.C. 103 as unpatentable over Roche in view of Kum.
With regard to Claim 20, Roche describes:
A system for automatically inducing a grammar, comprising:
one or more servers, wherein each server includes a memory and a processor; and (Figure 3, servers 330 and 364)
one or more modules stored in the memory and executed by at least one of the one or more processors (Paragraph 83) to
receive API specification data associated with an API to be accessed by an automated agent that processes a user request received [[within an interaction between automated agent and a client]], (Paragraph 32 describes that the exemplary microservice specification generation process 200 receives the application programming interface specification.)
parse the API specification, and (Paragraph 32 describes that the exemplary microservice specification generation process 200 generates the required microservices for the target run-time environment after parsing the application programming interface specification.)
automatically construct a grammar based on the parsed API specification, the automatically constructed grammar to be used in representing subsequent calls to the API. (Paragraph 32 describes that the exemplary microservice specification generation process 200 generates the required microservices for the target run-time environment, which is cited as “a grammar.”)
Roche does not explicitly describe that the interactions are between a user and a an automated agent. However, paragraph 31 of Kum describes that multiple API calls may be invoked.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the multiple API invocations as described by Kum into the system of Bru to allow for more flexible scenarios, as described in paragraph 31 of Kum.
21. A system for automatically generating a dynamic grammar, comprising:
one or more servers, wherein each server includes a memory and a processor; and
one or more modules stored in the memory and executed by at least one of the one or more processors to receive input data including previous conversation history between a user and an automated agent currently engaged in an interaction, extract grammar rules from the input data by an extractor mechanism, and add the extracted grammar rules and an existing grammar a dynamic grammar.
Bru does not explicitly describe that two or more APIs are invoked. However, paragraph 31 of Kum describes that multiple API calls may be invoked.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to include the multiple API invocations as described by Kum into the system of Bru to allow for more flexible scenarios, as described in paragraph 31 of Kum.
Conclusion
9. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S. Pat. Ap. Pub. No. 20070079130 (Vandewater et al.) also describes digital watermarking of audio data.
10. Any inquiry concerning this communication or earlier communications from the examiner should be directed to EDWARD TRACY whose telephone number is (571)272-8332. The examiner can normally be reached Monday-Friday 9 AM- 5PM.
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, Bhavesh Mehta can be reached on 571-272-7453. 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.
/EDWARD TRACY JR./Examiner, Art Unit 2656