Prosecution Insights
Last updated: October 02, 2026
Application No. 18/213,138

INCORPORATING APPROXIMATE NEAREST NEIGHBOR SEARCH AS IMPLICIT EDGE IN KNOWLEDGE GRAPH

Final Rejection §101§103§112
Filed
Jun 22, 2023
Examiner
HICKS, AUSTIN JAMES
Art Unit
2142
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
2 (Final)
75%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 75% — above average
75%
Career Allowance Rate
315 granted / 420 resolved
+20.0% vs TC avg
Strong +26% interview lift
Without
With
+25.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
51 currently pending
Career history
469
Total Applications
across all art units

Statute-Specific Performance

§101
13.3%
-26.7% vs TC avg
§103
54.0%
+14.0% vs TC avg
§102
15.8%
-24.2% vs TC avg
§112
14.4%
-25.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 420 resolved cases

Office Action

§101 §103 §112
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Arguments Applicant's arguments filed 8/4/2026 have been fully considered but they are not persuasive. Applicant argues the note about 19 and 20 NOT being rejected for being a signal per se. The office action found, “Claims 19 and 20 do not have a signal per se rejection because the Spec. 89 explicitly disclaims signals per se for storage media.” The outstanding 101 rejection stands, for claims 1-20, because the claims are directed to an abstract idea without significantly more. On the 112 rejections, thank you for the amendment. The amendments overcame the old 112 rejections and required new 112 rejections, see below. On the 103 rejection Applicant argues that “Chalupsky does not teach receiving a search query that excludes explicit declaration of any implicit edges.” Remarks 9. Misiewicz teaches a set of keywords that does not include (excludes) explicit declaration of any implicit edges. For example, there is no explicit declaration of any implicit edges in Misiewicz fig. 4 excerpted below. This is in line with Applicant’s specification paragraph 26 that teaches a natural language query where the user doesn’t need to understand implicit and explicit edges. PNG media_image1.png 110 286 media_image1.png Greyscale Applicant argues, “Chalupsky does not teach performing a single search of the knowledge graph to obtain results by traversing both explicit edges and one or more implicit edges.” Remarks 9. Chalupsky sec. 4.4 step 4 “At query time we search an input vector V for the top nprobe q-cell centroids closest to it using the Faiss search API.” Chalupsky fig. 6 shows the query from the user, below. The explicit edge part is the “x in [“Q859, Q868…” The implicit edge part is “kvec_topk_cos_sim…” PNG media_image2.png 218 528 media_image2.png Greyscale Applicant argues that “Chalupsky also does not teach modeling a knowledge graph by including the embeddings as nodes in the knowledge graph.” Remarks 10. Chalupsky sec. 3 teaches a graph with each node having its own id and vector embedding called node2, see below. That is modeling a knowledge graph by including the embeddings as nodes in the graph. PNG media_image3.png 46 478 media_image3.png Greyscale Applicant argues “Additionally, the Officed Action appears to map Chalupsky's q-cell centroid assignment to the claimed implicit edges. This mapping is incorrect. Chalupsky's q-cell centroids are internal clustering constructs used by the Faiss ANN index for indexing efficiency; they are not edges in the knowledge graph of any kind, implicit or explicit. A q-cell centroid is an artificial clustering artifact that does not correspond to any entity in the knowledge graph and is not modeled as an edge or a node in the knowledge graph.” Remarks 10. The implicit part/edge is the cosine similarity of the embedding/node to the other nodes in the cluster. Cluster membership because cosine similarity meets a criteria for being included in the cluster is the implicit edge that the node shares with all the other nodes in the cluster. 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. Claims 19 and 20 do not have a signal per se rejection because the Spec. 89 explicitly disclaims signals per se for storage media. Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea of a mental concept and a mathematical relationship without significantly more. The claims recite the abstract idea of modeling a graph, searching the graph using implicit edges from the index, generating embeddings, and performing access control using access control information. This judicial exception is not integrated into a practical application because the additional elements of accessing an index of embeddings, receiving a query, presenting results and calling services are insignificant extra solution activity. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the processor, memory, media and servers are generic computer parts. Claim Rejections - 35 USC § 112 Claims 1-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. In claims 1, 10 and 19, Applicant recites “the search query excluding explicit declaration of any implicit edges…” This is not in the specification. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1, 2, 6-11 and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over Hybrid Structured and Similarity Queries over Wikidata plus Embeddings with Kypher-V by Chalupsky et al and US20220138170A1 to Misiewicz et al. Claims 3-5 and 12-14 are rejected under 35 U.S.C. 103 as being unpatentable over Hybrid Structured and Similarity Queries over Wikidata plus Embeddings with Kypher-V by Chalupsky et al, US20220138170A1 to Misiewicz et al and US20240202221A1 to Siebel et al. Siebel claims priority to three provisionals, all of the provisionals were filed before 6/22/2023 – therefore, Siebel is prior art.1 Chalupsky teaches claims 1, 10 and 19. A method comprising, accessing an approximate nearest neighbor (ANN) index that indexes entities by their embeddings; (Chalupsky sec. 4.4 “we are using a custom approximate nearest neighbor search (ANNS) index based on Faiss [4] which executes this query in less than a second.” Chalupsky sec. 4.4 step 2 “Quantization assigns vectors to the q-cell centroid they are closest to and writes the respective q-cell IDs as a column to the vector table.” The index is an ANN index, each embedding is a vector, and the implicit edge between the vectors/nodes/embeddings is the vector’s assignment to a centroid. This assignment is an indexing by the vector/embedding.) modeling a knowledge graph by including the embeddings as nodes in the knowledge graph; (Chalupsky sec. 3 teaches a graph with each node having its own id and vector embedding called node2, see below.) PNG media_image3.png 46 478 media_image3.png Greyscale receiving a search query from (Chalupsky sec. 4.4 step 4 “At query time we search an input vector V for the top nprobe q-cell centroids closest to it using the Faiss search API.” Queries come from users. Chalupsky fig. 6 shows the query from the user, below. ) PNG media_image2.png 218 528 media_image2.png Greyscale based on the search query, performing a single search of the knowledge graph to obtain results, traversing both explicit edges and one or more implicit edges from a node of an embedding in the knowledge graph to one or more related nodes in semantic vector space based on the ANN index; and (Chalupsky sec. 4.4 step 4 and 5 “4. At query time we search an input vector V for the top nprobe q-cell centroids closest to it using the Faiss search API. Thus, nprobe controls the depth of the similarity search trading off recall for speed. 5. Once the set of nprobe relevant q-cells has been determined, we bring in all the relevant vectors of these q-cells from disk and use a dynamically constructed Faiss search index to find the top-k matches for input V.” The inclusion in the centroids is the implicit edge, and Chalupsky searches this knowledge graph by finding the top-k matches.) causing presentation of the results on the device of the user. (Chalupsky shows how the results are displayed in figure 6 below, under the return command.) PNG media_image4.png 218 528 media_image4.png Greyscale Chalupsky doesn’t teach a device of a user. However, Misiewicz teaches receiving a search query from a device of a user... (Misiewicz para 61 “ receives, from an end user system, a search query including a set of keywords…” para 62 “identifies, using a neural network, an embedding vector based on the set of keywords…”) excluding explicit declaration of any implicit edges. (A set of keywords excludes explicit declaration of any implicit edges. For example, there is no explicit declaration of any implicit edges in Misiewicz fig. 4 excerpted below.) PNG media_image1.png 110 286 media_image1.png Greyscale Misiewicz, Chalupsky and the claims are all directed to vector based search results. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to take queries from a user device because “an end user may conduct a search for information about a merchant using a third party search engine…” Misiewicz para 2. Misiewicz teaches claims 2, 11 and 20. The method of claim 1, further comprising: generating a query embedding from the search query during execution of the search query, the query embedding being valid only during the execution of the search query. (Examiner will interpret this to mean that the query is turned into an embedding, like in fig. 4, and then the vector space is searched with a cosine similarity type search. Misiewicz para 61 “ receives, from an end user system, a search query including a set of keywords…” para 62 “identifies, using a neural network, an embedding vector based on the set of keywords…” Examiner assumes the embedding is only valid for the particular search because the embedding is made from the particular search query.) Chalupsky teaches claims 3 and 12. The method of claim 1, further comprising: performing access control on the results, wherein only candidates of the results (Chalupsky fig. 6 teaches returning only the top k results.) Chalupsky’s filter is not based on access control. However, Siebel teaches performing access control on the results, wherein only candidates of the results that are accessible by the user are returned. (Siebel abs “A deterministic response is selected from the set of potential responses based on scoring of the validation data and restricting based on access controls in view profile information associated with the prompt.”) Chalupsky, Siebel and the claims all respond to user queries/prompts. It would have been obvious to a person having ordinary skill in the art, at the time of filing, to restrict user access to “support granular enterprise access controls, privacy, and security requirements.” Siebel para 5. Siebel teaches claims 4 and 13. The method of claim 3, wherein performing access control comprises: accessing the ANN index, the ANN index including access control information; (Chalupksy teaches the ANN index. Siebel teaches the access control in para 103 “generates a set of potential responses to a prompt using one or more data models (e.g., one or more large language models) with data from at least a plurality of data domains of an enterprise information environment that includes access controls.”) determining from the ANN index whether the user has access to the candidates in the results; and (Siebel para 103 “one of the potential responses may correspond to (e.g., generated for) a director with access to the entire enterprise information environment (e.g., all of the data domains), and another potential response may correspond to (e.g., generated for) an engineer with limited access to the enterprise information environment (e.g., only one of the data domains).”) filtering out candidates that the user does not have access to. (Siebel para 103 “one of the potential responses may correspond to (e.g., generated for) a director with access to the entire enterprise information environment (e.g., all of the data domains), and another potential response may correspond to (e.g., generated for) an engineer with limited access to the enterprise information environment (e.g., only one of the data domains).”) Siebel teaches claims 5 and 14. The method of claim 3, wherein performing access control comprises: calling a further service that includes access control information; (Siebel para 103 “an enterprise generative artificial intelligence system … generates a set of potential responses to a prompt … with data from at least a plurality of data domains of an enterprise information environment that includes access controls.”) receiving the access control information from the further system; and (Siebel para 103 “ the set of potential responses includes responses that are generated based on different data and/or access control.”) based on the access control information, filtering out candidates that the user does not have access to. (Siebel para 103 “one of the potential responses may correspond to (e.g., generated for) a director with access to the entire enterprise information environment (e.g., all of the data domains), and another potential response may correspond to (e.g., generated for) an engineer with limited access to the enterprise information environment (e.g., only one of the data domains).” Less than full access for the engineer shows a filtering of candidates.) Misiewicz teaches claims 6 and 15. The method of claim 1, wherein performing the search comprises performing the search on a single user-centric system for a single-user query. (Misiewicz para 59 “In an embodiment, method 200 can be performed in an “offline” environment, wherein the indexed data store of structured data elements and embedding vectors can be built to enable generation of search results in response to a “real-time” search query.”) Misiewicz teaches claims 7 and 16. The method of claim 1, wherein performing the search comprises performing the search on a tenant-wide system for a multi-user query. (Misewicz fig. 1 excerpted below.) PNG media_image5.png 326 556 media_image5.png Greyscale Chalupsky and Misiewicz teach claims 8 and 17. The method of claim 1, wherein the ANN index comprises a local ANN index that is used to retrieve the results from a local server and a global ANN index that is used to retrieve the results from a plurality of servers, the global ANN index having a same vector space as the local ANN index. (The ANN index is taught by Chalupsky. Misiewicz para 20 teaches the global search space, “FIG. 1 illustrates an example computing environment 100 including a knowledge search system 110 communicatively connected to one or more end user systems 10 to receive and process one or more search queries relating to an entity and produce search results … In an embodiment, the knowledge search system 110 may be accessible via an entity system and executed on one or more separate computing devices (e.g., servers).” Misiewicz para 59 teaches a local search server search space as an offline environment, “In an embodiment, method 200 can be performed in an “offline” environment, wherein the indexed data store of structured data elements and embedding vectors can be built to enable generation of search results in response to a “real-time” search query.” Misiewicz doesn’t change the search/vector space.) Chalupsky teaches claims 9 and 18. The method of claim 1, further comprising: calculating distances between nodes of embeddings connected through implicit edges; ranking the nodes based on respective distances; and determining the results based on the ranking. (Chalupsky fig. 6 teaches retrieving the top k search results and ranking them based on cosine similarity, then displaying them in ranked order. See below) PNG media_image6.png 218 528 media_image6.png Greyscale Conclusion THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Austin Hicks whose telephone number is (571)270-3377. The examiner can normally be reached Monday - Thursday 8-4 PST. 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, Mariela Reyes can be reached at (571) 270-1006. 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. /AUSTIN HICKS/Primary Examiner, Art Unit 2142 1 Siebel para 1 “The present application claims the benefit of U.S. Provisional Patent Application Ser. No. 63/433,124 filed Dec. 16, 2022 and entitled “Unbounded Data Model Query Handling and Dispatching Action in a Model Driven Architecture,” U.S. Provisional Patent Application Ser. No. 63/446,792 filed Feb. 17, 2023 and entitled “System and Method to Apply Generative AI to Transform Information Access and Content Creation for Enterprise Information Systems,” and U.S. Provisional Patent Application Ser. No. 63/492,133 filed Mar. 24, 2023 and entitled “Iterative Context-based Generative Artificial Intelligence,” each of which is hereby incorporated by reference herein.” Support for the access control teachings of Siebel is in provisional 63/446,792 entitled “System and Method to Apply Generative AI to Transform Information Access and Content Creation for Enterprise Information Systems”.
Read full office action

Prosecution Timeline

Jun 22, 2023
Application Filed
May 08, 2026
Non-Final Rejection mailed — §101, §103, §112
Jul 05, 2026
Interview Requested
Jul 20, 2026
Applicant Interview (Telephonic)
Jul 20, 2026
Examiner Interview Summary
Aug 04, 2026
Response Filed
Aug 31, 2026
Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748999
EXPECTATION VALUE ESTIMATION METHOD AND APPARATUS IN QUANTUM SYSTEM, DEVICE, AND SYSTEM
3y 10m to grant Granted Sep 29, 2026
Patent 12718943
FACILITATING INTERPRETABILITY OF CLASSIFICATION MODEL
4y 6m to grant Granted Aug 25, 2026
Patent 12711096
OPTICAL CO-PROCESSOR ARCHITECTURE USING ARRAY OF WEAK OPTICAL PERCEPTRON
3y 10m to grant Granted Aug 18, 2026
Patent 12711355
SYSTEM AND METHOD FOR AN ADJUSTABLE NEURAL NETWORK
3y 4m to grant Granted Aug 18, 2026
Patent 12705474
REDUCED POWER CONSUMPTION ANALOG OR HYBRID MAC NEURAL NETWORK
4y 6m to grant Granted Aug 11, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
75%
Grant Probability
99%
With Interview (+25.8%)
3y 2m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 420 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month