DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
2. This action is in response to the following communication: Non-provisional Application No. 18/795,707 filed on 08/06/24.
3. Claims 1-20 are pending.
Claims 1, 8 and 15 are independent claims.
Claim Interpretation
4. It is noted that claim 1 recites intended use language.
Claim 1. “when executed by the at least one hardware processor”.
Appropriate corrections are required.
Claim Rejections - 35 USC § 103
5. 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 of this title, 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, 6, 8, 13, 15 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Hoverfly, “Capture Mode”, published 2025, in view of Yujian Tang, “Conversational Memory in LangChain”, June 05, 2023 (hereinafter Tang) in view of Rajagopalan et al., US 2021/0374039 (hereinafter Rajagopalan).
In regards to claim 1, Hoverfly teaches:
A system comprising: at least one hardware processor; and a computer-readable medium storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising: intercepting requests from and responses to a first microservice in a microservices environment (p. 1), see “capture mode: Capture mode is used for creating API simulations. In Capture mode, Hoverfly (running as a proxy server - see Hoverfly as a proxy server) intercepts communication between the client application and the external service. It transparently records outgoing requests from the client and the incoming responses from the service API).
Hoverfly doesn't explicitly teach:
recording the requests and responses in a vector database.
However, Tang teaches such use: (p. 2), see “Conversational Memory with LangChain: LangChain offers the ability to store the conversation you’ve already had with an LLM to retrieve that information later” and (p. 4), see “Setting Up Conversation Context: To use the vector database for conversational memory, we need to instantiate it as a retriever”.
passing at least one request and corresponding response from the vector database to a large language model (LLM) to generate at least one hypothetical response.
However, Tang teaches such use: (p. 2), see “Conversational Memory with LangChain: LangChain offers the ability to store the conversation you’ve already had with an LLM to retrieve that information later”, (p. 4), see “Setting Up Conversation Context: To use the vector database for conversational memory, we need to instantiate it as a retriever” and (p. 7), see “the image below shows what an expected response from the LLM could look like. In this example, it has responded by saying its name is “AI””.
Hoverfly and Tang are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly and Tang before him or her, to modify the system of Hoverfly to include the teachings of Tang, as a conversational memory in LangChain, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to capture conversations, as suggested by Tang (p. 2, “Conversational Memory with LangChain”, p. 1, 1st para.).
Hoverfly and Tang, in particular Hoverfly doesn't explicitly teach:
using the at least one hypothetical response to integration test the first microservice.
However, Rajagopalan teaches such use: (p. 1, [0012]), see “FIG. 7 illustrates a flow diagram of an example, non-limiting computer-implemented method that facilitates automatically mutating an event sequence for generating test inputs for testing of microservices of a microservices-based application”.
Hoverfly, Tang and Rajagopalan are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly, Tang and Rajagopalan before him or her, to modify the system of Hoverfly and Tang, in particular Hoverfly to include the teachings of Rajagopalan, as a system for automated test input generation, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to generate an aggregated log of user interface event sequences and application program interface call sets, as suggested by Rajagopalan (p. 1, [0012], p. 15, [0095]).
In regards to claim 6, Hoverfly doesn't explicitly teach:
embedding the requests and responses using an embedding machine learning model, prior to the requests and responses being recorded in the vector database.
However, Tang teaches such use: (p. 2), see “conversational Memory with LangChain: To set up persistent conversational memory with a vector store, we need six modules from LangChain. First, we must get the OpenAIEmbeddings and the OpenAI LLM. We also need VectorStoreRetrieverMemory and the LangChain version of Milvus to use a vector store backend. Then we need ConversationChain and PromptTemplate to save our conversation and query it”.
Hoverfly and Tang are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly and Tang before him or her, to modify the system of Hoverfly to include the teachings of Tang, as a conversational memory in LangChain, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to capture conversations, as suggested by Tang (p. 2, “Conversational Memory with LangChain”, p. 1, 1st para.).
In regards to claim 8, Hoverfly teaches:
A method comprising: intercepting requests from and responses to a first microservice in a microservices environment (p. 1), see “capture mode: Capture mode is used for creating API simulations. In Capture mode, Hoverfly (running as a proxy server - see Hoverfly as a proxy server) intercepts communication between the client application and the external service. It transparently records outgoing requests from the client and the incoming responses from the service API).
Hoverfly doesn't explicitly teach:
recording the requests and responses in a vector database.
However, Tang teaches such use: (p. 2), see “Conversational Memory with LangChain: LangChain offers the ability to store the conversation you’ve already had with an LLM to retrieve that information later” and (p. 4), see “Setting Up Conversation Context: To use the vector database for conversational memory, we need to instantiate it as a retriever”.
passing at least one request and corresponding response from the vector database to a large language model (LLM) to generate at least one hypothetical response.
However, Tang teaches such use: (p. 2), see “Conversational Memory with LangChain: LangChain offers the ability to store the conversation you’ve already had with an LLM to retrieve that information later”, (p. 4), see “Setting Up Conversation Context: To use the vector database for conversational memory, we need to instantiate it as a retriever” and (p. 7), see “the image below shows what an expected response from the LLM could look like. In this example, it has responded by saying its name is “AI””.
Hoverfly and Tang are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly and Tang before him or her, to modify the system of Hoverfly to include the teachings of Tang, as a conversational memory in LangChain, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to capture conversations, as suggested by Tang (p. 2, “Conversational Memory with LangChain”, p. 1, 1st para.).
Hoverfly and Tang, in particular Hoverfly doesn't explicitly teach:
using the at least one hypothetical response to integration test the first microservice.
However, Rajagopalan teaches such use: (p. 1, [0012]), see “FIG. 7 illustrates a flow diagram of an example, non-limiting computer-implemented method that facilitates automatically mutating an event sequence for generating test inputs for testing of microservices of a microservices-based application”.
Hoverfly, Tang and Rajagopalan are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly, Tang and Rajagopalan before him or her, to modify the system of Hoverfly and Tang, in particular Hoverfly to include the teachings of Rajagopalan, as a system for automated test input generation, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to generate an aggregated log of user interface event sequences and application program interface call sets, as suggested by Rajagopalan (p. 1, [0012], p. 15, [0095]).
In regards to claim 13, Hoverfly doesn't explicitly teach:
embedding the requests and responses using an embedding machine learning model, prior to the requests and responses being recorded in the vector database.
However, Tang teaches such use: (p. 2), see “conversational Memory with LangChain: To set up persistent conversational memory with a vector store, we need six modules from LangChain. First, we must get the OpenAIEmbeddings and the OpenAI LLM. We also need VectorStoreRetrieverMemory and the LangChain version of Milvus to use a vector store backend. Then we need ConversationChain and PromptTemplate to save our conversation and query it”.
Hoverfly and Tang are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly and Tang before him or her, to modify the system of Hoverfly to include the teachings of Tang, as a conversational memory in LangChain, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to capture conversations, as suggested by Tang (p. 2, “Conversational Memory with LangChain”, p. 1, 1st para.).
In regards to claim 15, Hoverfly teaches:
A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising: intercepting requests from and responses to a first microservice in a microservices environment (p. 1), see “capture mode: Capture mode is used for creating API simulations. In Capture mode, Hoverfly (running as a proxy server - see Hoverfly as a proxy server) intercepts communication between the client application and the external service. It transparently records outgoing requests from the client and the incoming responses from the service API).
Hoverfly doesn't explicitly teach:
recording the requests and responses in a vector database.
However, Tang teaches such use: (p. 2), see “Conversational Memory with LangChain: LangChain offers the ability to store the conversation you’ve already had with an LLM to retrieve that information later” and (p. 4), see “Setting Up Conversation Context: To use the vector database for conversational memory, we need to instantiate it as a retriever”.
passing at least one request and corresponding response from the vector database to a large language model (LLM) to generate at least one hypothetical respons.
However, Tang teaches such use: (p. 2), see “Conversational Memory with LangChain: LangChain offers the ability to store the conversation you’ve already had with an LLM to retrieve that information later”, (p. 4), see “Setting Up Conversation Context: To use the vector database for conversational memory, we need to instantiate it as a retriever” and (p. 7), see “the image below shows what an expected response from the LLM could look like. In this example, it has responded by saying its name is “AI””.
Hoverfly and Tang are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly and Tang before him or her, to modify the system of Hoverfly to include the teachings of Tang, as a conversational memory in LangChain, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to capture conversations, as suggested by Tang (p. 2, “Conversational Memory with LangChain”, p. 1, 1st para.).
Hoverfly and Tang, in particular Hoverfly doesn't explicitly teach:
using the at least one hypothetical response to integration test the first microservice.
However, Rajagopalan teaches such use: (p. 1, [0012]), see “FIG. 7 illustrates a flow diagram of an example, non-limiting computer-implemented method that facilitates automatically mutating an event sequence for generating test inputs for testing of microservices of a microservices-based application”.
Hoverfly, Tang and Rajagopalan are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly, Tang and Rajagopalan before him or her, to modify the system of Hoverfly and Tang, in particular Hoverfly to include the teachings of Rajagopalan, as a system for automated test input generation, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to generate an aggregated log of user interface event sequences and application program interface call sets, as suggested by Rajagopalan (p. 1, [0012], p. 15, [0095]).
In regards to claim 20, Hoverfly doesn't explicitly teach:
embedding the requests and responses using an embedding machine learning model, prior to the requests and responses being recorded in the vector database.
However, Tang teaches such use: (p. 2), see “conversational Memory with LangChain: To set up persistent conversational memory with a vector store, we need six modules from LangChain. First, we must get the OpenAIEmbeddings and the OpenAI LLM. We also need VectorStoreRetrieverMemory and the LangChain version of Milvus to use a vector store backend. Then we need ConversationChain and PromptTemplate to save our conversation and query it”.
Hoverfly and Tang are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly and Tang before him or her, to modify the system of Hoverfly to include the teachings of Tang, as a conversational memory in LangChain, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to capture conversations, as suggested by Tang (p. 2, “Conversational Memory with LangChain”, p. 1, 1st para.).
7. Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Hoverfly in view of Tang in view of Rajagopalan in view of Netto et al., US 2024/0053980 (hereinafter Netto).
In regards to claims 1 and 8 the rejections above are incorporated respectively.
In regards to claim 7, Hoverfly, Tang and Rajagopalan, in particular Hoverfly doesn’t explicitly teach:
the using the at least one hypothetical response to integration test the first microservice is performed in response to a code change of the first microservice.
However, Netto teaches such use: (Abstract), see “obtaining information about a requested modification to an original code of a software program and classifying it based on the type of change requested by the modification. The unit tests available are then identified. At least one of the identified unit tests are selected and customized based on classification of the type of code modification requested”.
Hoverfly, Tang and Netto are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly, Tang and Netto before him or her, to modify the system of Hoverfly and Tang, in particular Tang to include the teachings of Netto, as a shortened narrative instruction generation system, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to highlight code modification, as suggested by Netto (Abstract, p. 7, [0083]).
In regards to claim 14, Hoverfly, Tang and Rajagopalan, in particular Hoverfly doesn’t explicitly teach:
the using the at least one hypothetical response to integration test the first microservice is performed in response to a code change of the first microservice.
However, Netto teaches such use: (Abstract), see “obtaining information about a requested modification to an original code of a software program and classifying it based on the type of change requested by the modification. The unit tests available are then identified. At least one of the identified unit tests are selected and customized based on classification of the type of code modification requested”.
Hoverfly, Tang and Netto are analogous art because they are from the same field of endeavor, AI simulation.
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teaching of Hoverfly, Tang and Netto before him or her, to modify the system of Hoverfly and Tang, in particular Tang to include the teachings of Netto, as a shortened narrative instruction generation system, and accordingly it would enhance the system of Hoverfly, which is focused on a system for capture modes for creating simulations, because that would provide Hoverfly with the ability to highlight code modification, as suggested by Netto (Abstract, p. 7, [0083]).
Allowable Subject Matter
8. Claims 2-5, 9-12 and 16-19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all the limitation of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter: As per claims 2, 3, 9, 10, 16 and 17, prior art of record does not each and/or fairly suggest “using the at least one hypothetical response as training data for a mock server machine learning algorithm to train a mock server machine learning model to imitate one or more components other than the first microservice; and during integration testing of the first microservice, receiving a first request from the first microservice to a first component and generating a response to the first request using the mock server machine learning model without the first component being run”. The art of record does not expressly disclose such features.
The following is a statement of reasons for the indication of allowable subject matter: As per claims 4, 5, 11, 12, 18 and 19, prior art of record does not each and/or fairly suggest that “receiving a first request from the first microservice to a first component, wherein the passing the at least one request and corresponding response includes passing a plurality of requests and corresponding responses, for requests that are similar to the first request, to the LLM; and wherein the using further comprises generating a response to the first request using output of the LLM, without the first component being run”. The art of record does not expressly disclose such features.
Conclusion
9. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
US Patent Application Publications
Rastogi 20230162098 teaches systems and methods for performing task-oriented response generation that can provide advantages for artificial intelligence systems or other computing systems that include natural language processing for interpreting user input. Example implementations can process natural language descriptions of various services that can be accessed by the system. In response to a natural language input, systems can identify relevant values for executing one of the service(s), based in part on comparing embedded representations of the natural language input and the natural language description using a machine learned model.
Lester 11150874 teaches obtaining a plurality of API requests and responses to the plurality of API requests. Methods include processing these API requests and responses to API requests to identify one or more attributes, such as, for example, variables, query parameters, response status codes, and response schemas. Methods include identifying variables using a tree data structure to represent resource paths. Methods include identifying query parameters based on resource items in resource paths.
10. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Evral Bodden whose telephone number is 571-272-3455. The examiner can normally be reached on Monday to Friday from 9am to 5pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Cha Do, can be reached at telephone number 571-272-3721. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
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) Form at https://www.uspto.gov/patents/uspto-automatedinterview-request-air-form.
If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/EVRAL E BODDEN/Primary Examiner, Art Unit 2193