DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
2. This action is responsive to the Applicant’s amendment filed on December 05, 2025.
3. Claims 1-20 are pending, of which claims 1, 11, and 16 are in independent form.
4. Claims 1, 5, 6, 11, 15, and 16 are amended.
Information Disclosure Statement
5. The information disclosure statement (IDS) submitted on January 15, 2026. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the IDS is being considered by the examiner.
Response to Arguments
6. Applicant’s argument, see “35 U.S.C. §103”, filed on December 05, 2025, have been carefully considered and are related to newly added limitations and are addressed in the rejection below.
7. Applicant’s arguments, see “35 U.S.C. § 101”, filed on December 05, 2025 has been carefully but are not persuasive.
8. Applicant argues: The Applicant contends that the amended claims are not directed to an abstract idea because they recite, inter alia, generating vectors from snapshots of a computing system and performing vector similarity search, which allegedly cannot be practically performed in the human mind and require complex computing system (citing the October 2019 Update).
Response: Examiner has carefully considered the argument but respectfully disagrees. This argument is not persuasive. While Applicant asserts integration into a practical application, merely applying an abstract idea to a particular technological environment does not render the claims patent eligible.
The claims, under their broadest reasonable interpretation, recite: “generating vectors from data (snapshots of a computing system”, “comparing vectors using a semantic similarity threshold”, and “retrieving and providing information based on the comparison (including generating a prompt and response via a large language model (LLM)”
These limitations describe data collect5ion, analysis, and selection, including mathematical relationships and calculations (e.g., vector representations and similarity determinations), which fall within the category of abstract ideas, including mathematical concepts and mental processes, as set forth in the 2019 Revised Patent Subject Matter Eligibility Guidance. The Federal Circuit has held that claims directed collecting, analyzing, and displaying information are abstract. See Electric Power Group, LLC v. Alstom S.A. Additionally, the user of mathematical techniques to analyze information does not render claims non-abstract. See Alice Corp. v. CLS Bank International.
9. Applicant argues: The Applicant, argues that the claims cannot be performed in the Human mind. Response: Examiner has carefully considered the argument but respectfully disagrees. Applicant’s assertion that the claimed invention cannot be performed in the human mind and therefore is not a mental process is unpersuasive. The relevant inquiry is not whether the claimed invention is performed mentally, but whether the claim recites concept that practically analogous to mental processes or mathematical analysis, even if performed on a computer. Courts have consistently held that implementing abstract ideas on a computer, even where large-scare data or complex processing in involved, does not remove the claims from the abstract realm. Here, the claimed steps of generating representations of data, comparing those representation, and selecting relevant results are conceptually analogous to human information evaluation. The claims do not integrate the abstract idea into a practical application. The additional elements, including: “a data management system (DMS)”, “a vector database”, “vectors representing snapshot data”, and “a large language model (LLM)”, are recited at a high level of generality and perform their ordinary and expected function, namely storing data, processing data, and generating output. The claims do not recite: - any improvement to the functioning of a computer or database, - any specific improvement to vector search techniques, - any particular manner of generating or structuring snapshot data that improves system performance, or - any improvement to the operation of the LLM itself. Instead, the claims merely use generic computing components as tools to perform the abstract idea. This is insufficient to integrate the abstract idea into a practical application.
Accordingly, the rejection claims 1-20 under 35 U.S.C. §101 as being directed to patent ineligible matter is maintained and made final.
Claim Rejections - 35 USC § 101
10. 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.
11. Claims 1–20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The following analysis follows the 2019 PEG guidelines for analyzing subject matter eligibility.
Step 1: Statutory Category
Claims 1–10 are directed to a process (method) for retrieving information and generating prompts/responses via a large language model (LLM).
Claims 11–15 are directed to a machine or system (apparatus).
Claims 16–20 are directed to a manufacture (non-transitory computer-readable medium).
Step 2A, Prong 1 – Judicial Exception
Representative Claim: Claim 1
Claim 1 recites: [a] generating, by a data management system (DMS), vectors comprising data associated with one or more snapshots of a computing system obtained by the DMS; [b] receiving, by the DMS, a query for a large language model (LLM) via an application; [c] retrieving, by the DMS and based at least in part on contextual information associated with the query, information from a vector database accessible to the DMS, wherein the vector database comprises the vectors comprising data associated with one or more snapshots of a computing system, wherein [d] ... identifying a subset of the vectors comprising data associated with one or more snapshots of the computing system that satisfy a semantic similarity threshold with the contextual information associated with the query, [e] a prompt for the LLM is generated based at least in part on the query and the information; [f] a response to the query is provided based at least in part of the prompt and the LLM.
Abstract idea analysis:
Limitation [a] – generating …. Vectors comprising data associated with… snapshots…this limitation recites the abstract idea of mathematically transforming and organizing information, similar to a person summarizing or encoding detailed records into a structured format (e.g., notes, codes, or numerical ratings) for easier comparison and analysis.
Limitation [b] - receiving a query is the abstract idea of collecting and organizing information, similar to a person receiving a request for information.
Limitation [c] – retrieving information from a vector database based on contextual information is the abstract idea of searching and selecting relevant data, akin to a person consulting notes or documents.
Limitation [d] – identifying a subset… that satisfy a semantic similarity threshold…. This limitation recites the abstract idea of analyzing information using mathematical comparisons, similar to a person comparing items and selecting those that are sufficiently similar to a given reference based on subjective or objective criteria.
Limitation [e] – generating a prompt based on the query and retrieved information is the abstract idea of formulating a response using known information.
Limitation [f] - providing a response based on the prompt and LLM is presenting information derived from abstract reasoning.
Thus, claim 1 is directed to collecting information, selecting relevant data, combining it, and producing a response, which are abstract mental processes.
Step 2A, Prong 2 – Integration into a Practical Application
Additional elements:
Use of DMS, vector database, and LLM.
Analysis:
The DMS, vector database, and LLM are generic computer components performing conventional functions.
The operations—receiving a query, retrieving vectors, generating prompts, providing responses—merely automate human mental processes.
There is no claimed improvement to the functioning of the computer itself or a technical problem being solved.
As an ordered combination, the steps automate abstract ideas without transforming them into a practical application.
Dependent Claims (Claims 2–10)
Claims 2–3 – further recite generating prompts, transmitting them, receiving replies, and providing responses. These are additional steps of the same abstract idea.
Claim 4 – specifies the entity is external to the DMS (e.g., a customer). This is a field-of-use limitation, which does not add “significantly more.”
Claims 5–7 – recite identifying subsets of vectors/text portions, and filtering by semantic similarity or access permissions. These are abstract data selection and filtering steps.
Claims 8–10 – recite handling multiple queries/applications, communication topics, and identifying keywords. These are organizing and analyzing data, which remain abstract.
Apparatus Claims (11–15)
Claims 11–15 recite generic computer components (processors, memory) configured to perform the abstract method of claims 1–10.
The apparatus merely performs routine computer functions (receiving, retrieving, generating prompts, responding) using conventional hardware.
There is no improvement to the functioning of the apparatus itself.
Non-Transitory Computer-Readable Medium Claims (16–20)
Claims 16–20 recite instructions stored on a medium to perform the same abstract methods.
Storing instructions on a conventional medium is insufficient to render the abstract idea patent-eligible.
The claims merely automate mental processes using generic computing components.
Step 2B – Significantly More
The generic recitation of processors, memory, DMS, vector database, or LLM is insufficient, as these are well-understood, routine, and conventional computer components.
The claimed operations (receiving queries, retrieving vectors, generating prompts, providing responses) are routine computer functions automating mental processes.
There is no improvement to the functioning of the computer itself or technical problem being solved.
As an ordered combination, the claims do not provide “significantly more” than the abstract idea itself.
Dependent claims 2–10, 12-15, and 17-20 merely add details about the type of queries, vector subsets, access permissions, multiple applications, or user accounts, which are field-of-use limitations or insignificant post-solution activity.
101 Abstract Idea Analysis
Based on the above rationale, claims 1–20 are directed to ineligible subject matter under 35 U.S.C. § 101. The claims recite mental processes, organizing information, and applying abstract reasoning using generic computer components, without reciting significantly more or integrating the abstract idea into a practical application.
Claim Rejections - 35 USC § 103
12. 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.
13. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
14. Claims 1-6 and 8-20 are rejected under 35 U.S.C. 103 as being unpatentable over Fabian et al. US 20240303421 A1 (hereinafter Fabian) in view of Mishra et al. US 20250094400 A1 (hereinafter Mishra).
Regarding claim 1, Fabin discloses a method, comprising: receiving, by the DMS, a query for a large language model (LLM) via an application (Fabian [0023] e.g., “…receives a natural language (NL) input from a user in the context of a spreadsheet and generates a prompt based on the natural language input and at least a portion of the spreadsheet. The application submits the prompt to a large language model (LLM) service… and receives a reply from the LLM. The application then generates a response to the user input based on the reply from the LLM”. This teaches receiving q query, generating a prompt based on that query, submitting the prompt to an LLM, receiving a reply from the LLM, and providing a response to the query based on the reply); a prompt for the LLM is generated based at least in part on the query and the information (Fabian [0060] e.g., “ Application service 110 receives the input and generates a prompt to be submitted to LLM service 120 based on the input. The prompt includes contextual information, such as a chat history and spreadsheet data or metadata…”. This support for the prompt generation from the user query + information) [0023] e.g., “The application submits the prompt to a large language model (LLM) service (or “LLM”) and receives a reply from the LLM. The application then generates a response to the user input based on the reply from the LLM”), and a response to the query is provided based at least in part on the prompt and the LLM (Fabian [0023] e.g., “…receives a natural language (NL) input from a user in the context of a spreadsheet and generates a prompt based on the natural language input and at least a portion of the spreadsheet. The application submits the prompt to a large language model (LLM) service… and receives a reply from the LLM. The application then generates a response to the user input based on the reply from the LLM”. This teaches receiving q query, generating a prompt based on that query, submitting the prompt to an LLM, receiving a reply from the LLM, and providing a response to the query based on the reply).
Fabian does not explicitly teach generating, by a data management system (DMS), vectors comprising data associated with one or more snapshots of a computing system obtained by the DMS ; retrieving, by the DMS and [based at least in part on contextual information associated with the query, information from a vector database accessible to the DMS, wherein the vector database comprises the vectors comprising data associated with one or more snapshots of a computing system, wherein the retrieving information from the vector database comprises: based on a vector representative of the query, comprising data associated with one or more snapshots of the computing system that satisfy a semantic similarity threshold with the contextual information associated with the query. Mishra discloses generating, by a data management system (DMS), vectors comprising data associated with one or more snapshots of a computing system obtained by the DMS (Mishra [0203] e.g., “As described herein, an HNSW index is a multi-layer in-memory neighbor graph built from vectors. The HNSW index is also built as of a specific point in time, which may be determined using timestamps or system change numbers (SCNs). The time at which an HNSW index is built is referred to as the “build SCN.” Thus, an HNSW index may be considered a “snapshot” of the index”. This shows vector exist ‘built from vectors’, system structure is defined by those vectors ‘HNSW index’, and snapshot concept explicitly tied to system state ‘may considered a ‘snapshot’”. So, it directly supports vector comprising data associated with one or more snapshots of a computing system, because the index is equivalent to snapshot. The index is built from vectors. Therefore, vectors belong to snapshot state. See also [0211] e.g., “…snapshot i+1 is created by applying changes in the shared journal … resulting in snapshot i+1”. This shows that snapshots are constructed from vector changes and reinforces that snapshots are data structures derived from vector state evolution); retrieving, by the DMS and [based at least in part on contextual information associated with the query (Mishra [0080] e.g., “A version retrieval component retrieves one or more versions of a vector…”. This shows retrieval functionality, implement as a component in a system, and called by a vector search application (can map to DMS), “…part of vector database server … storage sub-layer”. This shows system-level architecture flexibility”, see also [0081] e.g., “…determined based on one or more inputs (e.g., from a user or application)”, see also [0082] e.g., default most recent version is no input is provided”. This is equivalent to “based on contextual information associated with the query. See also [0128] e.g., “…vector query includes a query vector and optional search criteria”. This ties query – execution plan and retrieval. So it satisfy “based on contextual information associated with the query”), information from a vector database accessible to the DMS, wherein the vector database comprises the vectors comprising data associated with one or more snapshots of a computing system (Mishra [0203] e.g., “…an HNSW index is… built from vectors … built as of a specific point in time … may be considered a ‘snapshot’ of the index”), wherein the retrieving information from the vector database comprises: based on a vector representative of the query (Mishra [0135-0136] e.g. “ A computing instance translates a data request”, see also [0052] e.g., “Vector_Distance (data, : query)” Explicit query vector used in retrieval), identifying a subset of the vectors (Mishra [0136] e.g., “…two clusters are selected…”, see also [0137] e.g., “Top K vectors in each identified partition are identified”, see also [0138] e.g., “only partitions are searched / not considered as candidates”) comprising data associated with one or more snapshots of the computing system that satisfy a semantic similarity threshold with the contextual information associated with the query (Mishra [0131] e.g., “Vector similarity is defined in terms of Vector_Distance () calculations”, see also [0131] e.g., “….Vector indexes tend to group data based on vector similarity with the search restricted to a few groups,”. This supports identifying a subset of vectors, not searching full corpus, and restricting search space based on similarity structure. See also [0130] e.g., “… trade-off search quality (recall/accuracy) for search speed.”. This supports approximate nearest neighbor (ANN) and ranking-based subset selection), 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 vector database retrieval and snapshot based indexing techniques of Mishra, into the LLM query and prompt-generation system of Fabin, to yield the predictable results of enabling the LLM system to retrieve semantically relevant, snapshot-consistent information to supplement query prompts, thereby improving both the quality and efficiency of responses (Mishra [01265]).
Claims 11 and 20 incorporate substantively all the limitations of claim 1 in an apparatus, and a non-transitory computer-readable medium format and are rejected under the same rationale.
Regarding claim 2, the proposed combination of Fabians and Mishra discloses a method of claim 1, wherein the application is supported by the DMS, the method further comprising: generating the prompt for the LLM (Fabian [0053] e.g., “ The application service generates a prompt for the LLM service based on the input and at least a portion of the spreadsheet…”. Fabian clearly teaches the limitation); transmitting the prompt to the LLM (Fabian [0031] e.g., “…when the application sends a portion of the spreadsheet…to the LLM along with a prompt”. This explicitly describes the application sending the prompt to the LLM. See also [0050] e.g., “… the user may submit an input to task pane 142 causing application service 110 to generate and send a prompt to LLM service 120 …”); receiving, from the LLM, a reply to the prompt, wherein the response to the query is based at least in part on the reply to the prompt (Fabian [0060] e.g., “Application service 110 receives the input and generates a prompt to be submitted to LLM service 120 based on the input”, see also [0070] e.g., “Having configured a prompt, prompt engine 305 submits the prompt to LLM 330. LLM 330 generates a reply according to the prompt”); and providing the response to the query (Fabian [0117] e.g., “… the application receives and processes the input to generate a prompt…The prompt may also include a request to provide a self-evaluation of the reply or of suggestions in the reply by which the application determines whether or how to display the reply or the suggestions in the reply to the user in task pane 1010”. This teaches the step of taking the LLM reply and providing the response to the user).
Regarding claim 3, the proposed combination of Fabians and Mishra discloses a method of claim 1, wherein the application is supported by an entity not in control of the DMS (Fabian [0052] e.g., “An application service hosts a web-based productivity application…and displays a user interface for a client application of the application service on a user computing device remote from the application server”, see also [0043] e.g., “Operational environment 100 includes application service 110, LLM service 120, and computing devices 130. Application service 110 hosts a productivity application such as a spreadsheet application… to endpoints such as computing devices 130 which execute applications that provide a local user experience and that interface with application service 110”. The application service is separate from the local client device (i.e., the DMS) supported by an external entity not in control of the DMS), the information is received (Fabian [0053] e.g., “The application service generates a prompt for the LLM service based on the input and at least a portion of the spreadsheet …the prompt includes contextual information…”, see also [0032] e.g., “To generate a prompt based on a user's natural language input, the application will configure the prompt according to one or more of: the scope of the problem, the tasks to be completed, illustrative examples, sample data or spreadsheet contextual information, rules, the output format, and a cue to get the LLM to complete the task…”. The application receives user input (information) and generates a prompt for the LLM based on the input and contextual data), the prompt for the LLM is generated (Fabian [0070] e.g., “LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This configured prompt is explicitly transmitted from the application to the LLM), the prompt is transmitted to the LLM (Fabian [0070] e.g., “Having configured a prompt, prompt engine 305 submits the prompt to LLM 330. LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This configured prompt is explicitly transmitted from the application to the LLM), and a reply to the prompt from the LLM is received (Fabian [0070] e.g., “LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This describes receiving the LLM’s reply at the application), the response to the query based at least in part on the reply to the prompt (Fabian [0117] e.g., “…the application determines whether or how to display the reply or the suggestions in the reply to the user in task pane 1010”, see also [0038] e.g., “… the application may display a formula suggested by the LLM with a natural language explanation of the formula”, and [0023] e.g., “The application then generates a response to the user input based on the reply from the LLM.”. The application user the LLM reply to generate the user-facing response).
Regarding claim 4, the proposed combination of Fabians and Mishra discloses a method of claim 3, wherein the entity not in control of the DMS is a customer of an entity in control of the DMS (Fabian [0052] e.g., “An application service hosts a web-based productivity application…and displays a user interface for a client application of the application service on a user computing device remote from the application server”, see also [0043] e.g., “ Operational environment 100 includes application service 110, LLM service 120, and computing devices 130. Application service 110 hosts a productivity application such as a spreadsheet application… to endpoints such as computing devices 130 which execute applications that provide a local user experience and that interface with application service 110”. The application service is separate from the local client device (i.e., the DMS) supported by an external entity not in control of the DMS).
Regarding claim 5, the proposed combination of Fabians and Mishra discloses a method of claim 1, wherein the information comprises data associated with the subset of the vectors (Mishra [0131] e.g., “Vector similarity is defined in terms of Vector_Distance () calculations”, see also [0131] e.g., “….Vector indexes tend to group data based on vector similarity with the search restricted to a few groups,”. This supports identifying a subset of vectors, not searching full corpus, and restricting search space based on similarity structure. See also [0130] e.g., “… trade-off search quality (recall/accuracy) for search speed.”. This supports approximate nearest neighbor (ANN) and ranking-based subset selection).
Regarding claim 6, the proposed combination of Fabians and Mishra discloses a method of claim 5, wherein: the vectors are representative of one or more respective portions of text within one or more files represented by the one or more snapshots, the one or more respective portions of text stored in the vector database or in a secondary storage environment accessible to the DMS and in association with the vectors (Mishra [0128] e.g., “…A vector query typically includes a “query vector” and, optionally, one or more other search criteria…For example, a vector query may ask for the top five matching vectors that are associated with the state of California”. This shows that vectors are tied to contextual metadata (dates, location, etc.), which are extracted from text and associated with vector. See also [0094] e.g., “Deleting a particular version of a multiple vectors may involve receiving an instruction that indicates the particular version (e.g., the first version or the most recent version…) …determines the version…that matches the particular version and either (i) deletes the embedding data…” That supports that vectors are embeddings derived from portions of text and version tie them to stored data), see also [0128] e.g., “…other search criteria may comprise data from columns that are part of the same table that includes the vector column that stores the vectors that the vector query targets”. This indicated that vectors are explicitly associated with underlying textual/structured information in database tables), and the information from the vector database comprises a subset of the one or more respective portions of text that correspond to the subset of the vectors (Mishra [0129] e.g., “In order to identify vectors that are similar to a query vector, vector database server 110 may compare the query vector to each vector..”. When this section combined with [0128] (metadata tied to vectors) the teaching is that selecting a subset of vectors (e.g., “top five matching vectors” [0128] yields the associated subset of text portions linked to those vectors).
Regarding claim 8, the proposed combination of Fabians and Mishra discloses a method of claim 1, further comprising: receiving, by the DMS, a second query for the LLM via a second application (Fabian [0060] e.g., “In an implementation, the application service receives a natural language input from the user in association with the application (step 201). The user keys in a natural language input in a chat interface in the user interface displayed on the computing device.”. This shows that the input is received via an application, see also [0060] e.g., “Application service 110 receives the input and generates a prompt to be submitted to LLM service 120 based on the input”,; and retrieving, by the DMS and based at least in part on second contextual information (Fabian [0060] e.g., “…The prompt includes contextual information, such as a chat history and spreadsheet data or metadata, such as a table name, worksheet name, or spreadsheet name, row and column headers, and at least a subset of the data”) associated with the second query, second information from a second vector database accessible to the DMS, wherein the second vector database comprises one or more second vectors comprising second data associated with the one or more snapshots (Mishra [0042] e.g., “Vector database server 110 … receive and process data requests, including data retrieval requests (e.g., queries) and data modification requests (e.g., queries)… A computing instance translates a data request into a storage layer request that … transmits to vector database 120”. This is retrieving based at least in part to contextual information associated with the query (This shows the DMS (vector database server) retrieving from the vector database).
Regarding claim 9, the proposed combination of Fabians and Mishra discloses a method of claim 8, wherein: the application is associated with a first communication topic (Fabian [0052] e.g., “An application service hosts a web-based productivity application such as a spreadsheet…the application service receives a natural language input from the user in association with the application…”. This teaches one “application” (spreadsheet) that is tied to a certain communication topic (spreadsheet/table data)), and the second application is associated with a second communication topic (Mishra [0044] e.g., “Vector database 120 may also store one or more indexes…vector-related data (e.g., actual vector embeddings and metadata thereof)”. This describes queries to a vector database, retrieval of embeddings, and versioned vectors. It provides a different type of context (vector embeddings, indexes, snapshots). Together, the two references suggest two different topics of communication;(1) spreadsheet /natural language queries as disclosed by Fabian. (2) vector database/versioned embeddings as disclosed by Mishra. It would have been obvious to one of ordinary skill in the art at time of the invention to combine the teachings of Fabian with the teachings of Mishra, because both references are directed to improving query processing using large language models (LLM) and contextual data. The combination would allow queries from different applications or “communication topics” to be supported (e.g., spreadsheet vs. another productivity application), while leveraging the vector database’s ability to store and retrieve embeddings across snapshots.
Regarding claim 10, the proposed combination of Fabians and Mishra discloses a method of claim 1, further comprising: identifying, by the DMS, one or more keywords in the query, wherein the contextual information is based at least in part on the one or more keywords 6(Fabian [0060] e.g., “The prompt includes contextual information, such as a chat history and spreadsheet data or metadata…row and column headers, and at least a subset of the data…Contextual information can also include the recent or latest actions performed by the user”. This implies keyword-like tokens (e.g., headers, table names, formula reference. See also (Mishra [0157] e.g., “Each entry in neighbor count array 1022 includes a value that indicates a number of neighbors…at least one neighbor…identified …”. This is about structure/graph relationship. Spreadsheet column/row headers, metadata, and formulas are keyword) It would be obvious to user keywords as part of contextual information for query generation (keywords -> embeddings).
Regarding claim 12, the proposed combination of Fabians and Mishra discloses an apparatus of claim 11, wherein the application is supported by the DMS, and wherein the one or more processors are individually or collectively further operable to execute the code to cause the apparatus to: generate the prompt for the LLM (Fabian [0053] e.g., “ The application service generates a prompt for the LLM service based on the input and at least a portion of the spreadsheet…”. Fabian clearly teaches the limitation); transmit the prompt to the LLM (Fabian [0031] e.g., “…when the application sends a portion of the spreadsheet…to the LLM along with a prompt”. This explicitly describes the application sending the prompt to the LLM. See also [0050] e.g., “… the user may submit an input to task pane 142 causing application service 110 to generate and send a prompt to LLM service 120 …”); receive, from the LLM, a reply to the prompt, wherein the response to the query is based at least in part on the reply to the prompt (Fabian [0060] e.g., “Application service 110 receives the input and generates a prompt to be submitted to LLM service 120 based on the input”, see also [0070] e.g., “Having configured a prompt, prompt engine 305 submits the prompt to LLM 330. LLM 330 generates a reply according to the prompt”); and provide the response to the query (Fabian [0117] e.g., “… the application receives and processes the input to generate a prompt…The prompt may also include a request to provide a self-evaluation of the reply or of suggestions in the reply by which the application determines whether or how to display the reply or the suggestions in the reply to the user in task pane 1010”. This teaches the step of taking the LLM reply and providing the response to the user).
Regarding claim 13, the proposed combination of Fabians and Mishra discloses the apparatus of claim 11, wherein the application is supported by an entity not in control of the DMS (Fabian [0052] e.g., “An application service hosts a web-based productivity application…and displays a user interface for a client application of the application service on a user computing device remote from the application server”, see also [0043] e.g., “Operational environment 100 includes application service 110, LLM service 120, and computing devices 130. Application service 110 hosts a productivity application such as a spreadsheet application… to endpoints such as computing devices 130 which execute applications that provide a local user experience and that interface with application service 110”. The application service is separate from the local client device (i.e., the DMS) supported by an external entity not in control of the DMS), the information is received (Fabian [0053] e.g., “The application service generates a prompt for the LLM service based on the input and at least a portion of the spreadsheet …the prompt includes contextual information…”, see also [0032] e.g., “To generate a prompt based on a user's natural language input, the application will configure the prompt according to one or more of: the scope of the problem, the tasks to be completed, illustrative examples, sample data or spreadsheet contextual information, rules, the output format, and a cue to get the LLM to complete the task…”. The application receives user input (information) and generates a prompt for the LLM based on the input and contextual data), the prompt for the LLM is generated (Fabian [0070] e.g., “LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This configured prompt is explicitly transmitted from the application to the LLM), the prompt is transmitted to the LLM (Fabian [0070] e.g., “Having configured a prompt, prompt engine 305 submits the prompt to LLM 330. LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This configured prompt is explicitly transmitted from the application to the LLM), and a reply to the prompt from the LLM is received, the response to the query based at least in part on the reply to the prompt (Fabian [0070] e.g., “LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This describes receiving the LLM’s reply at the application), the response to the query based at least in part on the reply to the prompt (Fabian [0117] e.g., “…the application determines whether or how to display the reply or the suggestions in the reply to the user in task pane 1010”, see also [0038] e.g., “… the application may display a formula suggested by the LLM with a natural language explanation of the formula”, and [0023] e.g., “The application then generates a response to the user input based on the reply from the LLM.”. The application user the LLM reply to generate the user-facing response).
Regarding claim 14, the proposed combination of Fabians and Mishra discloses the apparatus of claim 13, wherein the entity not in control of the DMS is a customer of an entity in control of the DMS (Fabian [0052] e.g., “An application service hosts a web-based productivity application…and displays a user interface for a client application of the application service on a user computing device remote from the application server”, see also [0043] e.g., “ Operational environment 100 includes application service 110, LLM service 120, and computing devices 130. Application service 110 hosts a productivity application such as a spreadsheet application… to endpoints such as computing devices 130 which execute applications that provide a local user experience and that interface with application service 110”. The application service is separate from the local client device (i.e., the DMS) supported by an external entity not in control of the DMS).
Regarding claim 15, the proposed combination of Fabians and Mishra discloses the apparatus of claim 11, wherein the information comprises data associated with the subset of the vectors (Mishra [0131] e.g., “Vector similarity is defined in terms of Vector_Distance () calculations”, see also [0131] e.g., “….Vector indexes tend to group data based on vector similarity with the search restricted to a few groups,”. This supports identifying a subset of vectors, not searching full corpus, and restricting search space based on similarity structure. See also [0130] e.g., “… trade-off search quality (recall/accuracy) for search speed.”. This supports approximate nearest neighbor (ANN) and ranking-based subset selection).
Regarding claim 17, the proposed combination of Fabians and Mishra discloses the non-transitory computer-readable medium of claim 16, wherein the application is supported by the DMS, and wherein the instructions are further executable by the one or more processors to: generate the prompt for the LLM (Fabian [0053] e.g., “ The application service generates a prompt for the LLM service based on the input and at least a portion of the spreadsheet…”. Fabian clearly teaches the limitation); transmit the prompt to the LLM (Fabian [0031] e.g., “…when the application sends a portion of the spreadsheet…to the LLM along with a prompt”. This explicitly describes the application sending the prompt to the LLM. See also [0050] e.g., “… the user may submit an input to task pane 142 causing application service 110 to generate and send a prompt to LLM service 120 …”); receive, from the LLM, a reply to the prompt, wherein the response to the query is based at least in part on the reply to the prompt (Fabian [0060] e.g., “Application service 110 receives the input and generates a prompt to be submitted to LLM service 120 based on the input”, see also [0070] e.g., “Having configured a prompt, prompt engine 305 submits the prompt to LLM 330. LLM 330 generates a reply according to the prompt”); and provide the response to the query (Fabian [0117] e.g., “… the application receives and processes the input to generate a prompt…The prompt may also include a request to provide a self-evaluation of the reply or of suggestions in the reply by which the application determines whether or how to display the reply or the suggestions in the reply to the user in task pane 1010”. This teaches the step of taking the LLM reply and providing the response to the user).
Regarding claim 18, the proposed combination of Fabians and Mishra discloses the non-transitory computer-readable medium of claim 16, wherein the application is supported by an entity not in control of the DMS (Fabian [0052] e.g., “An application service hosts a web-based productivity application…and displays a user interface for a client application of the application service on a user computing device remote from the application server”, see also [0043] e.g., “Operational environmental 100 includes application service 110, LLM service 120, and computing devices 130. Application service 110 hosts a productivity application such as a spreadsheet application… to endpoints such as computing devices 130 which execute applications that provide a local user experience and that interface with application service 110”. The application service is separate from the local client device (i.e., the DMS) supported by an external entity not in control of the DMS), the information is received (Fabian [0053] e.g., “The application service generates a prompt for the LLM service based on the input and at least a portion of the spreadsheet …the prompt includes contextual information…”, see also [0032] e.g., “To generate a prompt based on a user's natural language input, the application will configure the prompt according to one or more of: the scope of the problem, the tasks to be completed, illustrative examples, sample data or spreadsheet contextual information, rules, the output format, and a cue to get the LLM to complete the task…”. The application receives user input (information) and generates a prompt for the LLM based on the input and contextual data), the prompt for the LLM is generated (Fabian [0070] e.g., “LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This configured prompt is explicitly transmitted from the application to the LLM), the prompt is transmitted to the LLM (Fabian [0070] e.g., “Having configured a prompt, prompt engine 305 submits the prompt to LLM 330. LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This configured prompt is explicitly transmitted from the application to the LLM), and a reply to the prompt from the LLM is received, the response to the query based at least in part on the reply to the prompt (Fabian [0070] e.g., “LLM 330 generates a reply according to the prompt and sends the reply to prompt engine 305”. This describes receiving the LLM’s reply at the application), the response to the query based at least in part on the reply to the prompt (Fabian [0117] e.g., “…the application determines whether or how to display the reply or the suggestions in the reply to the user in task pane 1010”, see also [0038] e.g., “… the application may display a formula suggested by the LLM with a natural language explanation of the formula”, and [0023] e.g., “The application then generates a response to the user input based on the reply from the LLM.”. The application user the LLM reply to generate the user-facing response).
Regarding claim 19, the proposed combination of Fabians and Mishra discloses the non-transitory computer-readable medium of claim 18, wherein the entity not in control of the DMS is a customer of an entity in control of the DMS (Fabian [0052] e.g., “An application service hosts a web-based productivity application…and displays a user interface for a client application of the application service on a user computing device remote from the application server”, see also [0043] e.g., “ Operational environment 100 includes application service 110, LLM service 120, and computing devices 130. Application service 110 hosts a productivity application such as a spreadsheet application… to endpoints such as computing devices 130 which execute applications that provide a local user experience and that interface with application service 110”. The application service is separate from the local client device (i.e., the DMS) supported by an external entity not in control of the DMS).
Regarding claim 20, the proposed combination of Fabians and Mishra discloses the non-transitory computer-readable medium of claim 16, wherein the query is associated with a user account (Fabians [0052] e.g., “An application service hosts a web-based productivity application such as a spreadsheet and displays a user interface for a client application of the application service on a user computing device remote from the application server. The application service also interfaces with an LLM service based on inputs received from the user”. This shows the query associated with a specific user account/session., [0060] e.g., “…The prompt includes contextual information, such as a chat history and spreadsheet data or metadata… Contextual information can also include the recent or latest actions performed by the user on the spreadsheet, such as the user creating a new column or entering a formula”. Contextual information is based at least in part on the user’s activity/account data), wherein the contextual information is based at least in part on the user account (Fabian [0060] e.g., “…The prompt includes contextual information, such as a chat history and spreadsheet data or metadata… Contextual information can also include the recent or latest actions performed by the user on the spreadsheet, such as the user creating a new column or entering a formula”. Contextual information is based at least in part on the user’s activity/account data. See also [0063] e.g., “Application service 110 receives the reply from LLM service 120 and generates a response to the user's input… The response may include suggestions for other actions the user may want to implement…”. System clearly maintains association with the user account),
15. Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Fabian et al. US 20240303421 A1 (hereinafter Fabian) in view of Mishra et al. US 20250094400 A1 (hereinafter Mishra) as applied to claims 1-6 and 8-20 above, and further in view of Fakhraie et al. US 10,963,589 B1 (hereinafter Fakhraie).
Regarding claim 7, the proposed combination of Fabians and Mishra does not explicitly discloses a method of claim 6, further comprising: identifying, based at least in part on a set of access permissions associated with a user account associated with the query; identifying, based at least in part on a set of access permissions associated with a user account associated with the query, wherein the set of access permissions are indicative of a subset of the one or more files the user account is allowed to access, and wherein the prompt is generated using the second subset of the one or more respective portions of text. However, Fakhraie discloses identifying, based at least in part on a set of access permissions associated with a user account associated with the query (Fakhraie [col. 9, lines 67 – col. 10, line 3] e.g., “The service provider computing system may determine whether to grant the entity with access to the user information according to the access permission”, see also [col. 9, lines 49-51] e.g., “The interactive graphical interface may identify an entity for which an access permission to user information is controlled”, see also [col. 9, lines 56-59] e.g., “The access permission may be selectable between at least a first setting to permit access to user information, and a second setting to restrict access to user information”), a second subset of the one or more respective portions of text from the subset of the one or more respective portions of text (Fakhraie [col. 27, lines 47-50] e.g., “ For example, the customer 102 may revoke a particular merchant's permission to access customer information by pressing the “off” portion of a particular status indicator 416”, see also [col. 28, lines 54-57] e.g., “Additionally, the interface may enable the customer 102 to identify the particular information that may be provided to the identified merchant”), wherein the set of access permissions are indicative of a subset of the one or more files the user account is allowed to access (Fakhraie [col. 27, lines 53-58] e.g., “… in response, the access control circuit 122 may update the permissions for that merchant such that the financial institution computing system 110 will not grant various information requests regarding the customer 102 transmitted by the third party system 106…”, see also [col. 28, lines 54-57] e.g., “Additionally, the interface may enable the customer 102 to identify the particular information that may be provided to the identified merchant”) and wherein the prompt is generated using the second subset of the one or more respective portions of text (Fakhraie [col. 9, lines 67 – col. 10, line 3] e.g., “The service provider computing system may determine whether to grant the entity with access to the user information according to the access permission”, see also [col. 27, lines 53-58] e.g., “… in response, the access control circuit 122 may update the permissions for that merchant such that the financial institution computing system 110 will not grant various information requests regarding the customer 102 transmitted by the third party system 106…”, see also [col. 28, lines 54-57] e.g., “Additionally, the interface may enable the customer 102 to identify the particular information that may be provided to the identified merchant”. Since the system dynamically determines which information can be shared base on permissions, that second subset would form the data basis for the LLM prompt). It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to include the functionality of access permissions based on data type as being disclosed and taught by Fakhraie in the LLM query and prompt-generation system of Fabian in combination with the vector database retrieval and snapshot techniques of Mishra, to yield the predictable results of an LLM query and response system that retrieves contextually relevant information while enforcing selective access and retention policies, thereby improving both the security of sensitive information and the efficiency of contextual query handling (Fakhraie [col. 38, lines 45-52]).
Conclusion
16. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
17. Any inquiry concerning this communication or earlier communications from the examiner should be directed to BERHANU MITIKU whose telephone number is (571)270-1983. The examiner can normally be reached Monday – Friday 8:30AM – 4:00PM.
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, Ajay Bhatia can be reached at 571-272-3906. 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.
/BERHANU MITIKU/Examiner, Art Unit 2156
/AJAY M BHATIA/Supervisory Patent Examiner, Art Unit 2156