DETAILED ACTION
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 Amendment
This office action is in response to the Application filed on 09/30/2025.
Claims 1-6, 8-14, 16-17 and 20 are presented for examination.
Specification
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
Response to Arguments
Remark 1: Applicant concerns Claim 20 of Kreutzer fails to teach "matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element and each second value of the least one semantic element of each second semantic query". Particularly, Applicant concerns that claim 20 only teaches “identifying two subgraphs based on two separate parts of a single query” without teaching “matching the first query to a second query”.
The examiner respectfully disagrees and submits that
Kreutzer not only teaches two separate parts of a single query but also teaches matching the first query to a second query.
Claim 20 identify a first subgraph cached by the graph server based on the characteristic {first value} associated with the first element of the graph query {first query}.
As cited in previous Office action, page 5, Kreutzer teaches characteristic {value} that identifies a cached query as shown in [0054] “cached subgraphs include a characteristic {second value} that identifies information regarding a previous query {second query} associated with the cached subgraph”.
Remark 2: Applicant concerns prior art fail to teach the newly added limitation:
PNG
media_image1.png
170
956
media_image1.png
Greyscale
The examiner respectfully submits that above limitation is a solution relying on mathematical formula with the additional elements that are insignificant extra solution activities. Please see following section for details.
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 1, 9, 17 and 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1: See MPEP 2106.03 II. Eligibility step 1.
claim(s) 1 recites a method for graph data caching …
claim(s) 9 and 17 recite an apparatus for graph data caching…
Claim(s) 20 recites a system for graph data caching…
Thus, each claim is directed to one of the four statutory categories (process, machine, manufacture, or composition of matter).
Step 2A - Prong 1: Regarding Eligibility step 2A. See MPEP 2106.04.11.
Next the claim is analyzed to determine whether it is directed to a judicial exception.
Claims 1, 9, 17 and 20 recite
PNG
media_image1.png
170
956
media_image1.png
Greyscale
Claims 1, 9, 17 and 20 recite a mathematical concept because the claims explicitly recite mathematical formula, calculation, and/or relationship. Thus, claims recite abstract ideas (i.e., mental processes combined with mathematical concept).
Step 2A - Prong 2:
This judicial exception is not integrated into a practical application.
Claims 1, 9, 17 and 20 recite following additional elements:
Claim 1 recite a cache storing query and graph data
Claim 9 and 20 recites a cache; a database; and an apparatus for graph data caching, the apparatus comprising: a receiving unit; a semantic parser; a query analyzer, and a cache
Claim 17 recites apparatus comprising: at least one processor; at least one memory coupled to the at least one processor
These additional elements are insignificant extra solution activities and generic component that is described in high level of genericity. Therefore, the above additional elements are insignificant extra-solution activities.
Thus, Applicant’s solutions rely on mathematical with the additional elements that are insignificant extra solution activities (e.g., loading and removing portion of memory) and generic components, the claims being evaluated as a whole do not integrate the abstract idea into a practical application because the insignificant extra solution activities and/or generic components do not impose any meaningful limits on practicing the abstract ideas.
Step 2B:
The claim 1, 9, 17 and 20 do not include additional elements that are sufficient to amount to significantly more than the judicial exception. Therefore, the above additional elements are insignificant extra-solution activities.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1, 9, 17 and 2 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claims 1, 9, 17 and 2 recite limitations
PNG
media_image1.png
170
956
media_image1.png
Greyscale
It is unclear what scope and meaning each of the labels recited in above mathematical formula refers to.
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.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-6, 8-14, 16-17 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Kreutzer et al. (US 2018/0173727; hereinafter Kreutzer) in view of Zhang et al. (WO 2021/120707; hereinafter Zhang).
Regarding independent claim(s) 1, 9, 17 and 20, taking claim 1 as exemplary analysis, Kreutzer teaches A method for graph data caching ([0004], Systems, methods, and computer readable devices embodying instructions are provided herein for reducing latencies and/or improving computational efficiency when traversing data stored in a relational graph by caching subgraphs and enabling the utilization of the cached subgraphs;
As shown in claim 20, the system includes a processing unit; and a memory including computer readable instructions, which when executed by the processing unit, causes the system to be operable to receive {corresponding to receiving unit}…, to analyze the graph query {corresponding to query analyzer} …, to identify a first subgraph, cached by the graph server, based on the characteristic associated with the first element; identify a second subgraph, cached by the graph server, based on the characteristic associated with the second element; combine the first subgraph and the second subgraph {query executor}; to cache the combined subgraph {cache manager}; Additionally, Zhang teaches in Fig. 7 and step 31, the query semantic parser that parses the query statement), the method comprising:
receiving a first semantic query on graph data; extracting, from the first semantic query, each first value of at least one semantic element (
[0004], after a user performs a graph query, the resulting subgraphs of the graph query are cached in a reusable form. Subsequent graph queries {a first semantic query on graph data} are able to identify cached subgraphs based on the graph query. Further, the subsequent graph query is operable to integrate the cached subgraphs as part of the result of subsequent graph query;
claim 16, receiving, at a graph server hosting a graph database, a graph query, wherein the graph query includes a first element and a second element; analyzing the graph query for a characteristic associated with the first element of the graph query; identifying a subgraph, cached by the graph server, based on the characteristic associated with the first element);
Although Kreutzer teaches graph data stored in the cache is identified by characteristic associated with the element in semantic query ([0054], cached subgraphs include a characteristic that identifies information regarding a previous query associated with the cached subgraph), Kreutzer does not expressly teach the semantic query is stored in the cache. In an analogous art of graph caching, Zhang teaches semantic query stored in the cache (
Page 7, Step 21: Query the cache based on semantic information.
The cache is used to record query history and query results. The cache includes a high-speed cache. The high-speed cache is used to record statistical high-frequency queries to improve query efficiency; page 8, step 31, The query log and result cache can record the query and maintenance records of the knowledge graph for query analysis and graph management. It can also cache high-frequency queries to improve retrieval performance).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Kreutzer and Zhang before them, to incorporate Zhang’s caching query log and result with Kreutzer‘s cached subgraphs include a characteristic that identifies information regarding a previous query associated with the cached subgraph for the motivation that cache high-frequency queries to improve retrieval performance.
The combination of Kreutzer and Zhang further teaches matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element; if the first semantic query has a match, achieving graph data linked with the at least one matched second semantic query from the cache (Kreutzer, [0045]-[0046], Using an exact matching for subgraph pattern recognition allows the reuse of cached subgraphs when an exact match of a query is identified… the subgraph pattern recognition is implemented using substring matching on the query string. Using substring matching for subgraph pattern recognition allows the reuse of cached subgraphs when an exact match of a query is identified and permits composition of subgraphs when a partial match of a query is identified; claim 16, identifying a subgraph, cached by the graph server, based on the characteristic associated with the first element), otherwise, achieving graph data from a database (Zhang, page 8, Step 32: If the corresponding query result is not found in the cache, the knowledge graph interface is called according to the semantic information, and the knowledge graph query and relational reasoning are performed in the knowledge graph to obtain the query result of the knowledge graph);
storing, in the cache, the first semantic query and the achieved graph data, wherein the first semantic query is linked with the achieved graph data (Zhang, page 8, Step 33: Generate a second query result set according to the query result of the knowledge graph; Step 34: Store the second query result set in the cache;
Kreutzer, [0054], cached subgraphs include a characteristic that identifies information regarding a previous query associated with the cached subgraph; [0027], when this query is executed, the resulting subgraph, i.e. the nodes corresponding to Alice and her directs and the edges between them, is cached for future use. Unless the results have been invalidated, the subgraph can be used directly the next time the same query arrives at the graph server 120);
The combination of Kreutzer and Zhang further teaches
wherein matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element comprises matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element and each second value of the least one semantic element of each second semantic query (Kreutzer, Claim 20, receive, at a graph server hosting a graph database, a graph query, wherein the graph query includes a first element and a second element; analyze the graph query for a characteristic associated with the first element; identify a first subgraph, cached by the graph server, based on the characteristic associated with the first element; identify a second subgraph, cached by the graph server, based on the characteristic associated with the second element; combine the first subgraph and the second subgraph); …
The combination of Kreutzer and Zhang further teaches
wherein the cache manager, upon detecting updated graph data in the database; and in response, invalidating all queries in the cache related to the updated graph data (
First, the combination of Kreutzer and Zhang teaches cached subgraphs include queries and corresponding results, as shown in
Kreutzer, [0054], cached subgraphs include a characteristic that identifies information regarding a previous query associated with the cached subgraph;
Zhang, page 8, step 31, The query log and result cache can record the query and maintenance records of the knowledge graph for query analysis and graph management.
Second, because Kreutzer teaches all subgraphs affected by a change to the underlying graph are invalidated (Kreutzer [0045], if the graph is non-static, all subgraphs affected by a change to the underlying graph are invalidated; [0027], when this query is executed, the resulting subgraph…is cached for future use. Unless the results have been invalidated, the subgraph can be used directly the next time the same query arrives at the graph server), therefore, all queries and corresponding results included in the invalidated subgraphs are invalidated).
Regarding claim(s) 2 and 10, the combination of Kreutzer and Zhang further teaches wherein, in the cache, the first semantic query is marked by each first value (Zhang, page 7, step 25, when the question and answer engine is maintained, the indexer uses the knowledge graph word segmentation lexicon, the relationship between entities and other information to index the full-text corpus (i.e., the question and answer engine), and store the established index in the index library).
Regarding claim(s) 3 and 11, the combination of Kreutzer and Zhang further teaches before matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element, mapping each first value of the at least one semantic element on first semantic metadata, wherein semantic metadata comprises the at least one semantic element (Kreutzer Claim 20, receive, at a graph server hosting a graph database, a graph query, wherein the graph query includes a first element and a second element; analyze the graph query for a characteristic associated with the first element; identify a first subgraph, cached by the graph server, based on the characteristic associated with the first element); wherein matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element comprises matching the first semantic query with at least one second semantic query stored in the cache based on the first semantic metadata and second semantic metadata of each second semantic query (
Kreutzer Claim 20, identify a first subgraph, cached by the graph server, based on the characteristic associated with the first element; identify a second subgraph, cached by the graph server, based on the characteristic associated with the second element; combine the first subgraph and the second subgraph
Kreutzer claim 8, the cached subgraph is a partial match for the subsequent graph query; claims 9-12, expanding the cached subgraph based on the second element of the subsequent graph query includes querying the cached subgraph with the second element of the subsequent graph query); and
in the cache, the first semantic query is marked by the first semantic metadata (Zhang, page 7, step 25, when the question and answer engine is maintained, the indexer uses the knowledge graph word segmentation lexicon, the relationship between entities and other information to index the full-text corpus (i.e., the question and answer engine), and store the established index in the index library).
Regarding claim(s) 4 and 12, Kreutzer and Zhang teach all elements as discussed above. Kreutzer further teaches wherein achieving the graph data linked with at least one matched second semantic query from the cache comprises: if the first semantic query's result is composed of at least two second queries' results, combining graph data linked respectively with the matched at least two second queries; or if the first semantic query's result is a subset of at least one second semantic query's result, achieving graph data from the minimum of the matched at least one second semantic query's result ([0046], the subgraph pattern recognition is implemented using substring matching on the query string. Using substring matching for subgraph pattern recognition allows the reuse of cached subgraphs when an exact match of a query is identified and permits composition of subgraphs when a partial match of a query is identified; claim 8, the cached subgraph is a partial match for the subsequent graph query; claims 9-12, expanding the cached subgraph based on the second element of the subsequent graph query includes querying the cached subgraph with the second element of the subsequent graph query. [0056]-[0057], the query is determined by combining multiple cached subgraphs. With respect to CODE 5, the graph server 120 combines cached subgraph associated with CODE 1 that corresponds to the first query for all of the users reporting to Alice and cached subgraph associated with CODE 2 that corresponds to the second query for all of the users working in Alice's building. As such, these two cached subgraphs are combined to answer the query associated with CODE 5).
Regarding claim(s) 5 and 13, the combination of Kreutzer and Zhang further teaches wherein there are at least two semantic elements, achieving graph data from the minimum of the matched at least one second semantic query's result comprises: according to predefined weight of each semantic element, the higher the weight, the higher priority the semantic element is taken into account when achieving graph data from the minimum of the matched at least one second semantic query's result (Zhang, page 6, Step 134, extract the keyword string. In this step, the intelligent question answering device uses multiple algorithms to extract keyword strings from the short text of the query request, and selects the first N keyword strings according to the length of the sentence. There are two aspects to keyword stringing: one is the keyword string with higher semantic importance {weight} calculated by the algorithm, and the other is the keyword string matching the preset keyword database).
Regarding claim(s) 6 and 14, Kreutzer and Zhang teach all elements as discussed above. Kreutzer further teaches before matching the first semantic query with at least one second semantic query in the cache based on each first value of the at least one semantic element, the method further comprises: calculating hash of the first semantic query ([0045], the graph server 120 may utilize a tuple including the root node identifier and a hash of the subgraph AST as the cache key, which allows efficient constant time lookups towards the cache); achieving from the cache graph data linked with a third semantic query, if hash of the third semantic query out of the at least one second semantic query is same with hash of the first semantic query; and matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element ([0046], the subgraph pattern recognition is implemented using exact matching on the query string. Using an exact matching for subgraph pattern recognition allows the reuse of cached subgraphs when an exact match of a query is identified) comprises: if none of hash of the at least one second semantic query is same with hash of the first semantic query, matching the first semantic query with at least one second semantic query stored in the cache based on each first value of the at least one semantic element (claim 8, the cached subgraph is a partial match for the subsequent graph query; claim 11, expanding the cached subgraph based on the second element of the subsequent graph query).
Regarding claim(s) 8 and 16, Kreutzer and Zhang teach all elements as discussed above. Kreutzer and Zhang further teach wherein the at least semantic element comprises one or multiple of following items: entity; relationship; condition; and target (
Kreutzer [0051], a query that is part of a request for the names of persons in an organization who “Alice” is a “manager of” and “works in” the same building as “Alice” may be formatted as shown. CODE 5: MATCH (a:USER {name:“Alice”})-[r:MANAGER_OF]->(u:USER)-[:WORKS_ON]->(p:PROJECT) RETURN u.name, p.title
Zhang, page 11, the semantic analysis module 3 is also used to extract entities, attributes and relationships from the query request and extract keyword strings when the semantic template is missed and the query request relates to a preset field).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRACY C CHAN whose telephone number is (571)272-9992. The examiner can normally be reached on Monday - Friday 10 AM to 6 PM EST.
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, TIM VO can be reached on (571)272-3642. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). 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.
/TRACY C CHAN/ Primary Examiner, Art Unit 2138