Prosecution Insights
Last updated: October 04, 2026
Application No. 19/303,640

SYSTEMS AND METHODS FOR METADATA BASED PATH FINDING

Non-Final OA §101§103§DOUBLEPATENT
Filed
Aug 19, 2025
Priority
Feb 17, 2021 — provisional 63/150,461 +2 more
Examiner
HOANG, SON T
Art Unit
2169
Tech Center
2100 — Computer Architecture & Software
Assignee
Datawalk Spólka Akcyjna
OA Round
1 (Non-Final)
84%
Grant Probability
Favorable
1-2
OA Rounds
1y 9m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 84% — above average
84%
Career Allowance Rate
775 granted / 926 resolved
+28.7% vs TC avg
Strong +35% interview lift
Without
With
+34.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 11m
Avg Prosecution
15 currently pending
Career history
939
Total Applications
across all art units

Statute-Specific Performance

§101
16.0%
-24.0% vs TC avg
§103
55.0%
+15.0% vs TC avg
§102
12.0%
-28.0% vs TC avg
§112
6.1%
-33.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 926 resolved cases

Office Action

§101 §103 §DOUBLEPATENT
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 . Status This instant application No. 19/303,640 has claims 22-41 pending based on the preliminary amendment filed on March 24, 2026. Priority / Filing Date Applicant’s claims for priority of parent application No. 18/232,913 (now Pat. No. US 12417247) which claims priority of application No. PCT/EP2022/053717 which claims priority of provisional application No. 63/150,431 is acknowledged. The effective filing date for this application is February 17, 2021. Abstract The abstract of the disclosure is objected due to the use of implied language. Note that in the abstract, the language should be clear and concise and should not repeat information given in the title. It should avoid using phrases which can be implied, such as, “The disclosure concerns,” “The disclosure defined by this invention,” “The disclosure describes,” etc… See MPEP § 608.01(b). Note that in the abstract, Applicant cites “The present disclosure provides a computer-implemented method for…” on lines 1-2. This citation clearly provokes the use of implied language and repeats the title. Correction and/or revision are required. One example is as follows: “A computer-implemented method for traversing a graphcomprising generating...” Drawings The drawings filed on August 19, 2025 are acceptable for examination purposes. Information Disclosure Statement As required by M.P.E.P. 609(C), the Applicant’s submission of the Information Disclosure Statement filed on November 5, 2025 is acknowledged by the Examiner and the cited references have been considered in the examination of the claims now pending. As required by M.P.E.P. 609 C(2), a copy of the PTOL-1449 initialed and dated by the Examiner is attached to the instant Office action. Claim Objections Claim 40 is objected for being dependent on claim 41. For the purpose of examination, claim 40 is considered to be dependent on claim 39. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the claims at issue are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the reference application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/forms/. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to http://www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 22-41 are rejected on the ground of nonstatutory double patenting over claims 1-20 of Pat. No. US 12417247. Claims 22-41 of the instant application recite similar limitations and claims 1-20 of ‘747 as being compared in the table below. For the purpose of illustration, only claims 22-38 (method claims) of the instant application are compared to the claims of the patent (underlining are used to indicate conflict limitations). The remaining claims of the instant application recite different categories (i.e., system and medium claims) and are therefore not compared for simplicity purposes. Instant Application Pat. No. US 12417247 Claim 22 A computer-implemented method for traversing a graph, the method comprising: (a) generating a metadata graph based on metadata associated with vertices and edges of the graph, wherein each reduced vertex of the metadata graph represents a plurality of vertices of the graph sharing a common entity class, and each edge of the metadata graph represents an edge type defining a relationship between two entity classes; (b) identifying, in the metadata graph, one or more filtered edge types connecting a source reduced vertex to one or more neighbor reduced vertices, wherein the source reduced vertex represents the entity class of a source vertex of the graph, and each of the one or more neighbor reduced vertices has a path distance in the metadata graph to a target reduced vertex that is no greater than a predetermined value, wherein the target reduced vertex represents the entity class of a target vertex of the graph; (c) traversing the graph from the source vertex to one or more neighbor vertices using only edges of the one or more filtered edge types; and (d) returning one or more paths from the source vertex to the target vertex based at least in part on the one or more neighbor vertices. Claim 1 A computer-implemented method for querying a database comprising: (a) executing a database query, in response to receiving a request via a graphical user interface (GUI) from a user, by finding all paths from a source vertex to a target vertex in a graph, wherein the source vertex and the target vertex represent a source data object and a target data object stored in the database, wherein the database is configured to store a plurality of data objects in a non-hierarchical structure, wherein the non-hierarchical structure comprises at least a definition of a dataset structure and a definition of a data object structure and wherein a vertex in the graph represents a data object stored in the database; (b) generating a metadata graph for reducing the graph, wherein the metadata graph comprises a plurality of reduced vertices each representing a dataset that one or more data objects belong to, wherein the dataset is stored by the dataset structure in the database, and wherein a source reduced vertex from the plurality of reduced vertices represents a dataset that the source vertex belongs to; (c) in the metadata graph, filtering one or more edge types that connect the source reduced vertex to one or more neighbor reduced vertices, to generate one or more filtered edge types based at least in part on a predetermined maximum length, wherein a path length from each of the one or more neighbor reduced vertices of the one or more filtered edge types to the target reduced vertex, containing the target vertex, is no greater than a predetermined maximum length, and a neighbor of a given vertex is another vertex being connected to the given vertex with a single edge; (d) in the graph, identifying, if any, one or more vertices in the datasets represented by the one or more neighbor reduced vertices connected by the one or more filtered edge types in (c) intersect with the target vertex and saving, in a memory associated with the database, the identified one or more vertices; (e) reducing the predetermined distance and updating the source vertex, and iterating (c)-(d) until the predetermined distance is reduced to zero; and (f) returning, via the GUI to the user, at least one path from the source vertex to the target vertex, wherein the at least one path comprises a sequence of two or more vertices identified in (c)-(e). See further Ghiglino and Belezko below for mapping and motivation to combine with Claim 1. Claim 23 The computer-implemented method of claim 22, wherein generating the metadata graph comprises pre-computing a path length between each pair of reduced vertices in the metadata graph. Claim 1 in view of Ghiglino. See mapping and motivation to combine below. Claim 24 The computer-implemented method of claim 22, further comprising: intersecting the one or more neighbor vertices with the target vertex; and saving a path to the target vertex as a traverse result upon identifying the target vertex among the one or more neighbor vertices. Claim 1 …(d) in the graph, identifying, if any, one or more vertices in the datasets represented by the one or more neighbor reduced vertices connected by the one or more filtered edge types in (c) intersect with the target vertex and saving, in a memory associated with the database, the identified one or more vertices… Claim 25 The computer-implemented method of claim 22, further comprising: decreasing the predetermined value by one; updating the source reduced vertex to a reduced vertex representing the entity class of one or more of the neighbor vertices; and repeating (b) and (c) until the predetermined value equals zero. Claim 16 …(f) decreasing the predetermined maximum length and repeating (d) and (e) until the maximum length is equal to zero… Claim 26 The computer-implemented method of claim 25, wherein updating the source reduced vertex comprises refreshing the source reduced vertex to include each neighbor vertex not intersecting the target vertex as a new source vertex. Claim 3 The computer-implemented method of claim 1, wherein the updating of the source vertex comprises setting at least one of the one or more vertices as the source vertex upon determining that the at least one vertex does not intersect with the target vertex. Claim 27 The computer-implemented method of claim 22, wherein the edge type defines a relation between two entity classes. Claim 8 The computer-implemented method of claim 7, wherein each edge type defines a relation between two data sets datasets. Claim 28 The computer-implemented method of claim 22, wherein the metadata comprises at least one of: an entity class associated with a vertex, a relationship type associated with an edge, or an attribute of an entity class, stored in predefined fixed data structures. Claim 9 The computer-implemented method of claim 7, wherein the metadata comprises entity class, relation between entity classes, or attributes of entity class stored in the non-hierarchical structure comprising a plurality of defined fixed data structures. Claim 29 The computer-implemented method of claim 22, wherein the vertices of the graph represent data objects stored in a database, and wherein each vertex in the graph corresponds to a data object assigned to a dataset identified by the entity class. Claim 1 …wherein the source vertex and the target vertex represent a source data object and a target data object stored in the database, wherein the database is configured to store a plurality of data objects in a non-hierarchical structure, wherein the non-hierarchical structure comprises at least a definition of a dataset structure and a definition of a data object structure and wherein a vertex in the graph represents a data object stored in the database… Claim 30 The computer-implemented method of claim 22, further comprising storing the metadata graph in a persistent cache prior to receiving a request to traverse the graph. Claim 1 in view of Cheng. See mapping and motivation to combine below. Claim 31 The computer-implemented method of claim 30, wherein storing the metadata graph comprises pre-computing and caching path lengths between all pairs of reduced vertices in the metadata graph. Claim 1 in view of Ghiglino. See mapping and motivation to combine below. Claim 32 The computer-implemented method of claim 30, further comprising updating the cached metadata graph upon detecting a change to the graph. Claim 1 in view of Ghiglino. See mapping and motivation to combine below. Claim 33 The computer-implemented method of claim 22, wherein the graph query underlying the traversal is one of a find-all-paths query, a shortest-path query, or a path- existence query. Claim 1 …(a) executing a database query, in response to receiving a request via a graphical user interface (GUI) from a user, by finding all paths from a source vertex to a target vertex in a graph… Claim 34 The computer-implemented method of claim 29, wherein the database is configured to store each property of a data object as a separate entry in a characteristics data structure, independently of other properties of the same data object. Claim 1 in view of Kang. See mapping and motivation to combine below. Claim 35 The computer-implemented method of claim 22, wherein the metadata graph is generated without reference to property values of individual vertices. Claim 1 in view of Belezko. See mapping and motivation to combine below. Claim 36 The computer-implemented method of claim 22, further comprising: performing a first metadata-level traversal from the source reduced vertex toward the target reduced vertex to identify the one or more filtered edge types; and performing a second metadata-level traversal from the target reduced vertex toward the source reduced vertex to identify one or more second filtered edge types; wherein traversing the graph comprises traversing the graph using at least the first filtered edge types or the second filtered edge type. Claim 1 …(c) in the metadata graph, filtering one or more edge types that connect the source reduced vertex to one or more neighbor reduced vertices, to generate one or more filtered edge types based at least in part on a predetermined maximum length, wherein a path length from each of the one or more neighbor reduced vertices of the one or more filtered edge types to the target reduced vertex, containing the target vertex, is no greater than a predetermined maximum length, and a neighbor of a given vertex is another vertex being connected to the given vertex with a single edge; (d) in the graph, identifying, if any, one or more vertices in the datasets represented by the one or more neighbor reduced vertices connected by the one or more filtered edge types in (c) intersect with the target vertex and saving, in a memory associated with the database, the identified one or more vertices… Claim 4 The computer-implemented method of claim 1, further comprising updating the source reduced vertex or the target reduced vertex. Claim 37 The computer-implemented method of claim 36, wherein performing the first metadata-level traversal and performing the second metadata-level traversal are executed simultaneously. Claim 5 The computer-implemented method of claim 4, wherein the source reduced vertex and the target reduced vertex are updated substantially simultaneously or in an alternating fashion. Claim 38 The computer-implemented method of claim 36, wherein performing the first metadata-level traversal and performing the second metadata-level traversal are executed in an alternating sequential fashion, alternating between updating the source reduced vertex and updating the target reduced vertex at each iteration. Claim 1 …(c) in the metadata graph, filtering one or more edge types that connect the source reduced vertex to one or more neighbor reduced vertices, to generate one or more filtered edge types based at least in part on a predetermined maximum length, wherein a path length from each of the one or more neighbor reduced vertices of the one or more filtered edge types to the target reduced vertex, containing the target vertex, is no greater than a predetermined maximum length, and a neighbor of a given vertex is another vertex being connected to the given vertex with a single edge; (d) in the graph, identifying, if any, one or more vertices in the datasets represented by the one or more neighbor reduced vertices connected by the one or more filtered edge types in (c) intersect with the target vertex and saving, in a memory associated with the database, the identified one or more vertices… Claim 4 The computer-implemented method of claim 1, further comprising updating the source reduced vertex or the target reduced vertex. Claim 5 The computer-implemented method of claim 4, wherein the source reduced vertex and the target reduced vertex are updated substantially simultaneously or in an alternating fashion. Although the conflicting claims are not identical, they are not patentably distinct from each other because they are substantially similar in scope and they use the similar limitations to produce the same end result of path finding based on metadata. It would have been obvious to a person with ordinary skills in the art at the time of the invention to modify the elements of claims 1-20 of ‘247 with any combination of the cited references below to arrive at the pending claims of the instant application for the purpose of reducing the size and complexity of the graph used to guide traversal and improving query/routing efficiency based on the graph vertices having equivalent data characteristics. Further, it would have been obvious to a person with ordinary skills in the art at the time of the invention to modify or to omit the additional elements of claims 1-20 of ‘247 to arrive at the pending claims of the instant application because the person would have realized that the remaining element would perform the same functions as before. “Omission of element and its function in combination is obvious expedient if the remaining elements perform same functions as before.” See In re Karlson (CCPA) 136 USPQ 184, decide Jan 16, 1963, Appl. No. 6857, U.S. Court of Customs and Patent Appeals. 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. The claimed invention in claims 22-41 is directed to a judicial exception (i.e., an abstract idea) without significantly more. a. Claims 22-41 pass step 1 of the 35 U.S.C. 101 analysis since each claim is either directed to a method, or a non-transitory computer-readable medium. b. Claims 22-41 each does not pass step 2A (prong 1) of the 35 U.S.C. 101 analysis because: Claims 22, and 39 recite each, in part, elements that are directed to an abstract idea (“Courts have examined claims that required the use of a computer and still found that the underlying, patent-ineligible invention could be performed via pen and paper or in a person’s mind.” Versata Dev. Group v. SAP Am., Inc., 793 F.3d 1306, 1335, 115 USPQ2d 1681, 1702 (Fed. Cir. 2015)) as follows: “generating a metadata graph for reducing the graph…” (e.g., observing, by eyes, an original graph displayed; and creating, using a pen, a reduced graph based on observed materials on a piece of paper); “identifying one or more filtered edge types…” (e.g., mentally or visually identifying the edge type); “traversing the graph…using only edges…” (e.g., mentally or visually observing to analyze the graph based on certain edges). In accordance with “October 2019 Update: Subject Matter Eligibility”, “…claims do recite a mental process when they contain limitations that can practically be performed in the human mind, including for example, observations, evaluations, judgements and opinions. Examples of claims that recite mental processes include: a claim to “collecting information, analyzing it, and displaying certain results of the collection and analysis,” where the data analysis steps are recited at a high level of generality such that they could practically be performed in the human mind…” (page 7); “The use of a physical aid (i.e. pen and paper) to help perform a mental step (e.g. a mathematical calculation) does not negate the mental nature of this limitation” (page 9). The steps above are recited at a high level of generality such that they could practically be performed in the human mind, even if with the use of a physical aid (i.e. pen and paper) as described above. Therefore, the limitations noted above, under their broadest reasonable interpretation, covers performance of the limitations in the mind but for generic computer components. Nothing in the claim precludes the steps from practically being performed in the mind and/or the physical aid. Thus, the limitations are parts of a mental process. Further, the claims recite additional step of “returning one or more paths…” which is an extra-solution activity of returning or displaying results of the mental or visual analysis (per step 2A – prong 2 of the Abstract Idea Analysis) that cannot be integrated into a practical application (e.g., the elements recite trivial elements that occurred or would occur after the mental process). Each of the additional limitation(s), at best, is no more than mere instructions to apply the exception using a generic computer component (e.g., processor, memory, and computer-executable instructions). The extra-solution activity in step 2A - prong 2 are reevaluated in step 2B to determining if each limitation is more than what is well-understood, routine, conventional (WURC) activity in the field. The background of the limitations does not provide any indication that the computer components (e.g., processor, memory, and computer-executable instructions) are not off-the-shelf computer components. The Symantec, TLI, and OOP Techs court decisions cited in MPEP 2106.05(d)(II) indicate that mere receiving, generating, storing, determining, identifying, and transmitting of data over a network are a well-understood, routine, and conventional functions when claimed in a merely generic manner (as it is here). Accordingly, a conclusion that the claims are well-understood, routine, conventional activity is supported under Berkheimer Option 2. For these reasons, there is no inventive concept in each claims, thus, the claims are ineligible. Claims 23 and 40 further recite in each claim …pre-computing a path length… which is implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally computing the length before visually traversing the graph). Thus, the claims are ineligible. Claims 24 and 41 further recite in each claim …intersecting the one or more neighbor vertices with the target vertex; and saving a path… which are implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., visually intersecting the vertices and writing down a path on paper based on the intersection). Thus, the claims are ineligible. Claim 25 further recites …decreasing the predetermined value…; and repeating…until the predetermine value equals zero which are implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally decreasing the value and mentally repeats the steps until 0 value). Thus, the claim is ineligible. Claim 26 further recites …updating the source reduced vertex comprises refreshing… which is implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally refreshing the path with each neighbor vertex not intersecting the target vertex). Thus, the claim is ineligible. Claim 27 merely provides definition for the edge type. Thus, the claim is ineligible. Claim 28 merely provides definition for the metadata. Thus, the claim is ineligible. Claim 29 merely provides definitions for …the vertices…represent data objects…and wherein each vertex…corresponds to a data object… Thus, the claim is ineligible. Claim 30 further recites storing the metadata graph in a persistent cache… which is an extra-solution and WURC activity (e.g., loading data in a cache for faster access and retrieval). Thus, the claim is ineligible. Claim 31 further recites …pre-computing and caching path lengths… which is an extra-solution and WURC activity (e.g., loading pre-computed data in the cache for faster data processing). Thus, the claim is ineligible. Claim 32 further recites …updating the cached metadata graph… which is an extra-solution and WURC activity (e.g., saving updated data in a cache for faster access and retrieval). Thus, the claim is ineligible. Claim 33 merely provides definition for the graph query underlying the traversal. Thus, the claim is ineligible. Claim 34 further recites the database is configured to store each property… which can be implemented in a human mind and/or with the aid of pen/paper similar to the above analysis (e.g., writing down the property of a data object in a certain table on paper). Further, such database configuration which is an extra-solution and WURC activity (e.g., saving data in a certain database configuration and/or format). Thus, the claim is ineligible Claim 35 further recites …the metadata graph is generated without reference to… which is implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally generating the metadata graph without a certain referenced value). Thus, the claim is ineligible. Claim 36 further recites …performing a first metadata-level traversal…and performing a second metadata=level traversal… which are implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally traversing the graph based on metadata). Thus, the claim is ineligible. Claim 37 further recites …performing the first…traversal and performing the second…traversal are executed simultaneously… which is implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally traversing the two paths of the graph based on metadata simultaneously). Thus, the claim is ineligible. Claim 38 further recites …performing the first…traversal and performing the second…traversal are executed in an alternating sequential fashion… which is implementable in a human mind and/or with the aid of pen/paper as presented above (e.g., mentally traversing the two paths of the graph based on metadata sequentially). Thus, the claim is ineligible. 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 22-29, 33, 35, and 39-41 are rejected under 35 U.S.C. 103 as being unpatentable over Ghiglino et al. (Pub. No. US 2004/0248576, published on December 9, 2004; hereinafter Ghiglino) in view of Belezko et al. (Pub. No. US 2021/0149851, filed on November 16, 2020; hereinafter Belezko). Regarding claim 22, and 39, Ghiglino clearly shows and discloses a computer-implemented method for traversing a graph (Abstract); a non-transitory computer-readable medium comprising machine-executable code that, upon execution by one or more computer processors ([0112]-[0113]), the method comprising: (a) generating a metadata graph based on metadata associated with vertices and edges of the graph, wherein each reduced vertex of the metadata graph represents a plurality of vertices of the graph (partitioning the graph G of the network and creating a reduced graph GR on the partitions Pi in a preprocessing step in which a dual graph of the network is constructed and the graph is reduced using connections restricted by the characteristics of the apparatuses , [0011]. Assign to each interlink of the original graph a node nf in the reduced graph GR, [0042]-[0053]); (b) identifying, in the metadata graph, one or more filtered edge types connecting a source reduced vertex to one or more neighbor reduced vertices, wherein the source reduced vertex represents the entity class of a source vertex of the graph, and each of the one or more neighbor reduced vertices has a path distance in the metadata graph to a target reduced vertex that is no greater than a predetermined value, wherein the target reduced vertex represents the entity class of a target vertex of the graph (Calculate the shortest path from each fictitious input node nfi to each fictitious output node nfu; each path is characterized by a set of arches of the original graph which connect the <input port, output port> node pair, [0047]-[0048]. Calculate the shortest paths from the source node to all the output ports of the source partition, associate with each path calculated under the above paragraph an arch containing the same data contained by the other arches of the reduced graph (list of arches traversed on the source partition, total cost, name of the source partition), [0064]-[0067]. It is clear that path distances are calculated in the reduced graph between source and target reduced vertices/partitions. Permissible connecting links/edges are filtered and only those paths/edges where the path distance or cost does not exceed a threshold are retained); (c) traversing the graph from the source vertex to one or more neighbor vertices using only edges of the one or more filtered edge types (Calculation of the paths from the input ports to the output ports of each partition ensures that the connection restrictions of the apparatuses are respected. The connection established by operating directly on the reduced graph GR thus respects the restrictions because it is the linking together of various paths which are all admissible, [0124]. Routing on the converted graph is done in such a way that for each request from node s in partition A to node d in partition B, type of traffic tr, the part of the graph associated with traffic tr and partitions A and B is replaced by two subgraphs giving least cost from node s to the nodes on the edge of partition A and least cost from the nodes on the edge of partition B to node d, [0178]. It is clear that the underlying graph is traversed by restricting execution strictly to the retained/filtered edges determined during reduced graph processing); and (d) returning one or more paths from the source vertex to the target vertex based at least in part on the one or more neighbor vertices (The last step, necessary for supplying the required solution, consists of linearizing the list by following the order of the arches of the reduced graph making up the solution and of course avoiding repetition of the interlink arches, [0075]. The shortest path from node 1 to node 8 in the original graph thus has a cost equal to the sum of the costs of these three arches, ctot=c1+C2+C3=23, and is made up of the following sequence of arches, [0092]. It is clear that the resolved path sequence is compiled, linearized and returned). Belezko then discloses wherein each reduced vertex of the metadata graph represents a plurality of vertices of the graph sharing a common entity class (The system 400 is configured to evaluate the data tables 404 and determines relationships between them. In some embodiments, data tables 404 are compared and common elements are sought between data tables 404 to establish such relationships, e.g., common rows and/or columns, [0155]), and each edge of the metadata graph represents an edge type defining a relationship between two entity classes (The relationships between the data tables 404 are pairwise relationships 406, i.e., they are relationships between two data tables. Thus, these appear as edges (lines joining the circles) on the graph database 408. In some embodiments, the edges represent common elements shared between two of the data tables 404, [0014]-[0015], [0155]). It would have been obvious to an ordinary person skilled in the art at the time of the invention was effectively filed to incorporate the teachings of Belezko with the teachings of Ghiglino for the purpose of generating a storage-efficient data structure representing a plurality of inter-related data tables and adapted for use in data traversal and associated result processing based on a graph database having edges and vertices and the equivalent inter-connected components of a reduced graph. Doing so would allow the system to prune unviable entity relationship pathways before performing graph traversal thereby saving computation time and memory resources. Regarding claims 23, and 40, Ghiglino further discloses generating the metadata graph comprises pre-computing a path length between each pair of reduced vertices in the metadata graph (creating a reduced graph GR on the partitions Pi in a preprocessing step in which a dual graph of the network is constructed and the graph is reduced using connections restricted by the characteristics of the apparatuses and performing the routing on the graph thus converted, [0011]. Calculate the shortest path from each fictitious input node nfi to each fictitious output node nfu; each path is characterized by a set of arches of the original graph which connect the <input port, output port> node pair, [0047]-[0048]). Regarding claims 24, and 41, Ghiglino further discloses: intersecting the one or more neighbor vertices with the target vertex (So an ordered list of arches <nfi, nfu> of the reduced graph GR is found. With each member of the list, that is with each arch mr of the reduced graph, is associated the list of arches of the original graph which are traversed by the shortest path between the two ports associated with the fictitious nodes nfi and nfu, [0074]); and saving a path to the target vertex as a traverse result upon identifying the target vertex among the one or more neighbor vertices (The shortest path from node 1 to node 8 in the original graph thus has a cost equal to the sum of the costs of these three arches, ctot=c1+C2+C3=23, and is made up of the following sequence of arches, [0092]. It is clear that the resolved path sequence is compiled, linearized and returned. Regarding claim 25, Ghiglino further discloses: decreasing the predetermined value by one (Calculate the shortest path, [0047]. A choice based on efficiency can advise the use of the Dijkstra algorithm implemented with the particular data structure of the Fibonacci Heap. In this implementation of the Dijkstra algorithm, [0131]); updating the source reduced vertex to a reduced vertex representing the entity class of one or more of the neighbor vertices (Calculate the shortest paths from the source node to all the output ports of the source partition, associate with each path calculated under the above paragraph an arch containing the same data contained by the other arches of the reduced graph (list of arches traversed on the source partition, total cost, name of the source partition), [0064]-[0067]. The shortest path from node 1 to node 8 in the original graph thus has a cost equal to the sum of the costs of these three arches, ctot=c1+C2+C3=23, and is made up of the following sequence of arches, [0092]); and repeating (b) and (c) until the predetermined value equals zero (It is clear that the step-by-step iterative path search algorithms such as Dijkstra of Breadth-First Search wherein distance threshold/costs are decremented or evaluated incrementally at each step/hop until a maximum search horizon or limit is reached, [0131]). Regarding claim 26, Ghiglino further discloses updating the source reduced vertex comprises refreshing the source reduced vertex to include each neighbor vertex not intersecting the target vertex as a new source vertex (assign cost 0 to the arch which has the node nfu as its head. The cost of the arch having as its tail the node nfi remains unchanged at cin), [0046]). Regarding claim 27, Belezko further discloses the edge type defines a relation between two entity classes (the edges define pairwise relationships between the vertices, i.e., each edge connects one vertex to another and represents a relationship between the data tables that are represented by the vertex. Each of the pairwise relationships is defined by one or more common elements of a corresponding pair of data tables of the plurality of inter-related data tables. For example, a relationship is established when two data tables have a common row, common column, or both, [0014]). Regarding claim 28, Belezko further discloses the metadata comprises at least one of: an entity class associated with a vertex, a relationship type associated with an edge, or an attribute of an entity class (Each data table of the plurality of inter-related data tables includes entity-based information for the plurality of separate entities, [0020]), stored in predefined fixed data structures (FIG. 10 shows a portion of the 14×14 adjacency matrix, [0175]). Regarding claim 29, Belezko further discloses the vertices of the graph represent data objects stored in a database, and wherein each vertex in the graph corresponds to a data object assigned to a dataset identified by the entity class (a graph database is generated using the inter-related data tables. The graph database comprises vertices and edges. Each inter-related data table of the plurality of inter-related data tables defines a corresponding vertex of the vertices. For example, a relationship is established when two data tables have a common row, common column, or both, [0014]). Regarding claim 33, Ghiglino further discloses the graph query underlying the traversal is one of a find-all-paths query, a shortest-path query, or a path- existence query (load all the data associated with the partition containing the two nodes and attempt first to calculate the shortest path between the two nodes inside the partition without using the reduced graph, [0095]). Regarding claim 35, Belezko further discloses the metadata graph is generated without reference to property values of individual vertices (The system first establishes the relation among the 16 tables. Since the system considers common rows and columns, the system uses table headers to build blocks, [0161]. It is clear that the quotient graphs are generated based on structural metadata (table headers, columns, schemas) without requiring full row-level content evaluation). Claims 30-32 are rejected under 35 U.S.C. 103 as being unpatentable over Ghiglino in view of Belezko and further in view of Cheng et al. (Pub. No. US 2019/0266528, published on August 29, 2019; hereinafter Cheng). Regarding claim 30, Cheng then discloses storing the metadata graph in a persistent cache (The database 155 of the system 100 may be utilized to store and relay information that traverses the system 100, cache information and/or content that traverses the system 100, store data about each of the devices in the system 100, and perform any other typical functions of a database. The database 155 may store a record of any and all information obtained from any data sources utilized by the system 100 to facilitate the operative functions of the system 100 and its components, any other data traversing the system 100, or any combination thereof, [0031]) prior to receiving a request to traverse the graph (The database 155 may also store information obtained from the system 100, store detected hidden correlations, store known correlations, store graphs generated by the system 100, store reduced graphs generated by the system 100, [0032]. A subgraph can be defined as part of the original reduced graph that has edges where all or some of the edges represent the same correlation relationship or a combination of several correlation relationships. In certain embodiments, if this is a property graph, the subgraph can be defined as part of the original reduced graph where all or some of the edges represent the same property or a combination of several properties, [0041]). It would have been obvious to an ordinary person skilled in the art at the time of the invention was effectively filed to incorporate the teachings of Cheng with the teachings of Ghiglino, as modified by Belezko, for the purpose of analyzing a predefined set of correlation relationships of entities using features computed from the graph database to evaluate correlations between relationships associated with the entities. Regarding claim 31, Ghiglino further discloses storing the metadata graph comprises pre-computing and caching path lengths between all pairs of reduced vertices in the metadata graph (partitioning the graph G of the network and creating a reduced graph GR on the partitions Pi in a preprocessing step in which a dual graph of the network is constructed and the graph is reduced using connections restricted by the characteristics of the apparatuses, [0011]). Regarding claim 32, Ghiglino further discloses updating the cached metadata graph upon detecting a change to the graph (For each type of traffic the reduced graph developed by applying the partitioning of the graph described above is kept in memory, [0177]-[0179]. Updating of the graph is necessary before the next routing but is applied only to the partitions used by the routing, [0180]). Claim 34 is rejected under 35 U.S.C. 103 as being unpatentable over Ghiglino in view of Belezko and further in view of Kang et al. (Pub. No. US 2017/0228468, published on August 10, 2017; hereinafter Kang). Regarding claim 34, Kang then discloses the database is configured to store each property of a data object as a separate entry in a characteristics data structure, independently of other properties of the same data object (when the database storing the data is a NoSQL database, since it is not forced to have the same type of the data, there is no predetermined schema, and the database has only a key-value structure of the properties. Therefore, as illustrated in FIG. 3B, the properties are not stored in the vertex table and the edge table, but are separately stored in a vertex property table and an edge property table, [0043]). It would have been obvious to an ordinary person skilled in the art at the time of the invention was effectively filed to incorporate the teachings of Kang with the teachings of Ghiglino, as modified by Belezko, for the purpose of efficiently search the data by improving a search speed of a graph, minimize the update of the information even when a storage location of the data is changed, and facilitate query by the graph data and efficiently use a storage space. Allowable Subject Matter Claims 36-38 would be allowable (over the prior art and given that all other rejections are overcome) if rewritten in independent form to incorporate the limitations of the base independent claim and any intervening claims. Relevant Prior Art The following references are considered relevant to the claims: Taffe et al. (Pub. No. US 2023/0244719) teaches edge profiling within a data graph measures the impact that a particular type of edge has on a data graph. A list of all edges contained within a single connected component within the graph is generated in order to search for bridges across connected subcomponents. The process is implemented as two MapReduce jobs on separate compute clusters. The first job is the edge profile job, which is implemented as a Map-only job. Akkiraju et al. (Pub. No. US 2016/0203327) teaches representing nodes in a graph; representing in the graph edges which interconnect the nodes; associating one or more facts with each of the edges; and providing an access control list with respect to one or more facts associated with one or more of the edges, via: associating a secret with at least one of the edges; and permitting conditional override of the access control list relative to at least one of the edges; and creating a reduced graph based on one or more restrictions relative to one or more access control lists.. Contact Information Any inquiry concerning this communication or earlier communications from the Examiner should be directed to Son Hoang whose telephone number is (571) 270-1752. The Examiner can normally be reached on Monday – Friday (7:00 AM – 4:00 PM). If attempts to reach the Examiner by telephone are unsuccessful, the Examiner’s supervisor, Usmaan Saeed can be reached on (571) 272-4046. 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 http://pair-direct.uspto.gov. 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. /SON T HOANG/Primary Examiner, Art Unit 2169 August 8, 2026
Read full office action

Prosecution Timeline

Aug 19, 2025
Application Filed
Aug 11, 2026
Non-Final Rejection mailed — §101, §103, §DOUBLEPATENT (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12737422
INTELLIGENT CLUSTERING SYSTEMS AND METHODS USEFUL FOR DOMAIN PROTECTION
2y 3m to grant Granted Sep 15, 2026
Patent 12730815
SYSTEMS AND METHODS FOR ANALYZING DISTRIBUTED SYSTEM DATA STREAMS USING DECLARATIVE SPECIFICATION, DETECTION, AND EVALUATION OF HAPPENED-BEFORE RELATIONSHIPS
1y 6m to grant Granted Sep 08, 2026
Patent 12717824
ARTIFICIAL INTELLIGENCE APPARATUS AND CHEMICAL MATERIAL SEARCH METHOD THEREOF
1y 7m to grant Granted Aug 25, 2026
Patent 12688256
CENTRALIZED REPOSITORY AND DATA SHARING HUB FOR ESTABLISHING MODEL SUFFICIENCY
4y 2m to grant Granted Jul 21, 2026
Patent 12688229
MEDIA FILE RECOMMENDATIONS FOR A SEARCH ENGINE
1y 6m to grant Granted Jul 21, 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

1-2
Expected OA Rounds
84%
Grant Probability
99%
With Interview (+34.6%)
2y 11m (~1y 9m remaining)
Median Time to Grant
Low
PTA Risk
Based on 926 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