Prosecution Insights
Last updated: April 19, 2026
Application No. 17/811,473

MECHANISMS FOR DELETING TRIPLES OF A DATABASE STORE

Final Rejection §103§112
Filed
Jul 08, 2022
Examiner
DEWAN, KAMAL K
Art Unit
2163
Tech Center
2100 — Computer Architecture & Software
Assignee
Salesforce Inc.
OA Round
4 (Final)
49%
Grant Probability
Moderate
5-6
OA Rounds
4y 4m
To Grant
90%
With Interview

Examiner Intelligence

Grants 49% of resolved cases
49%
Career Allow Rate
108 granted / 222 resolved
-6.4% vs TC avg
Strong +41% interview lift
Without
With
+41.1%
Interview Lift
resolved cases with interview
Typical timeline
4y 4m
Avg Prosecution
29 currently pending
Career history
251
Total Applications
across all art units

Statute-Specific Performance

§101
21.0%
-19.0% vs TC avg
§103
65.4%
+25.4% vs TC avg
§102
4.0%
-36.0% vs TC avg
§112
7.6%
-32.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 222 resolved cases

Office Action

§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 . Detailed Action The instant application having Application No. 17/811,473 has claims 1-20 pending filed on 07/08/2022; there are 3 independent claim and 17 dependent claims, all of which are ready for examination by the examiner. Response to Arguments This Office Action is in response to applicant’s communication filed on May 13, 2025 in response to PTO Office Action dated February 13, 2025. The Applicant’s remarks and amendments to the claims and/or specification were considered with the results that follow. Claim Rejections - 35 USC § 112(b) In view of the applicant’s amendment to the independent claims 1, 11 and 16 (dated 05/13/2025), the 35 U.S.C. § 112(b) rejection for being indefinite for failing to particularly point out and distinctly claim the subject matter for the claims 1-20 is withdrawn. Claim Rejections - 35 USC § 103 35 USC § 103 Rejection of claims 1-20 Applicant's arguments filed on 05/13/2025 with respect to the claims 1-20 have been fully considered but are moot because the arguments do not apply to any of the references being used in the current rejection. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. Claims 1-20 are rejected under 35 U.S.C. 112(a), 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 pre-AIA the inventor(s), at the time the application was filed, had possession of the claimed invention. Independent Claims 1, 11 and 16 As described above, the disclosure does not provide adequate structure to perform the claimed function or written description of the function “ … metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting, wherein a deletion of a first edge identified as garbage collecting … “. The support in the specifications for the amendments as indicated by the applicant (specification Page 8 Lines 30-31) indicates “… With respect to deletion, triple metadata 130 may indicate whether an edge is weak or strong (alternatively, garbage collecting) …”. It does not indicate anywhere that “… metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting …”. There is no mention of non-garbage collecting or any relationship of non-garbage collecting to weak strength. Dependent Claims 2-10, 12-15 and 17-20 The dependent claims 2-10, 12-15 and 17-20 are rejected under 35 U.S.C. 112(a) as they are dependent on independent claims 1, 11 and 16 directly or indirectly respectively and are thus rejected for the reasons specified supra for the independent claims 1, 11 and 16. 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-6, 10-13,15-18 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Bedi et al (US PGPUB 20230169117) in view of Donohue et al (US Patent 10534706) and in further view of Garduno et al (US PGPUB 20230334014). As per claim 1: Bedi teaches: “A method of garbage collection of particular data of a database, the method comprising” (Paragraph [0018] and Paragraph [0054] (a method where the triples in the graph database may be used to represent nodes and edges (relationships) in a graph of connected items and to perform the updates or the deletion of one or more related (garbage collection of particular data of a database), provides) “maintaining, by a computer system, the database, wherein the database stores data as a plurality of triples, a given triple of which includes a first data entity connected to a second data entity via an edge, wherein ones of the plurality of triples are connected to form a plurality of graphs” (Paragraph [0018] (systems for query language interoperability in a graph database are described where a graph database stores data elements using an internal data model, the data model represents the data elements as resource description framework (RDF) triples comprising subjects, predicates, and objects and the triples in the graph database may be used to represent nodes and edges (relationships) in a graph of connected items)) “receiving, by the computer system, a request to delete a particular one of the plurality of graphs, wherein the particular graph includes a set of edges between the particular graph and other graphs of the plurality of graphs” (Paragraph [0022] and Paragraph [0054] (a query has been received, the query may be performed on the graph database, the triples in a graph database may be used to represent nodes and edges (relationships) in a graph of connected items, the graph database may store one graph or multiple graphs (wherein the particular graph includes a set of edges originating in the particular graph to other graphs of the plurality of graphs) and the received query to perform the updates including the deletion of one or more triples in the database graph)). Bedi does not EXPLICITLY disclose: storing, by the computer system, metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting; wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph; and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge; determining, by the computer system based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete; and deleting, by the computer system, the particular graph and the determined graphs from one or more storage devices underlying the database. However, in an analogous art, Donohue teaches: “storing, by the computer system, metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting” (Col 2 Lines 42-55 (the objects that may require removal from the database are tagged with garbage collection metadata, to signal to a garbage collector that the object should be checked for removal and the data structures in the object oriented database take the form of object graphs, which via processing end-up becoming object trees, which enables the system to distinguish strongly connected sub-graphs that share the same data life progression and must be garbage collected together)) “wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph” (Col 5 Lines 7-14 (the garbage collection (GC)) root object comprises the top-level object of a subtree of object, the GC root object is associated with garbage collection root metadata which indicates that the subtree that GC root object is at the top level of comprises a subtree that can be garbage collected)) “and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge” (Col 9 Lines 3-7 (the determination of whether or not to perform garbage collection always starts with the root and then moves onto its associated member(s) and in the event that the root is not designated to be garbage collected, nothing is garbage collected)) “determining, by the computer system based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete” (Col 2 Lines 58-67 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected for garbage collection root and zero, one or more garbage collection member objects, in the event it is determined that a garbage collection root and garbage collection member objects should be garbage collected, the garbage collection root object and all related garbage collection member objects are collected as a whole)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Donohue and apply them on teachings of Bedi for the method “storing, by the computer system, metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting; wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph; and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge; determining, by the computer system based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete”. One would be motivated as it determines that an object is the root object, determine whether the root object is to be garbage collected, and in the event that the root object is to be garbage collected, then garbage collect the root object and the one or more member objects (Donohue, Col 2 Lines 27-30). Bedi and Donohue do not EXPLICITLY disclose: and deleting, by the computer system, the particular graph and the determined graphs from one or more storage devices underlying the database. However, in an analogous art, Garduno teaches: “and deleting, by the computer system, the particular graph and the determined graphs from one or more storage devices underlying the database” (Paragraph [0028] (the operating system may use the hidden edge entry in the gnode for node B to identify the one-directional relationship from node A to node B and remove the edge entry that identifies node B from the gnode for node A)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Garduno and apply them on teachings of Bedi and Donohue for the method “and deleting, by the computer system, the particular graph and the determined graphs from one or more storage devices underlying the database”. One would be motivated as the ability to create one-directional relationships within a GOFS has utility in various contexts, such as in the context of programmatic containers or virtual machine (VM) instances (Garduno, Paragraph [0071]). As per claim 2: Bedi, Donohue and Garduno teach the method as specified in the parent claim 1 above. Donohue further teaches: “for a particular one of the set of edges, determining whether the particular edge is identified as garbage collecting or non-garbage collecting based on the metadata” (Col 2 Lines 58-67 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected for garbage collection root and zero, one or more garbage collection member objects, in the event it is determined that a garbage collection root and garbage collection member objects should be garbage collected, the garbage collection root object and all related garbage collection member objects are collected as a whole)) “based on the particular edge being identified as garbage collecting, determining whether a target data entity of the particular edge is connected to another edge identified as garbage collecting” (Col 2 Lines 58-62 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected? for garbage collection root and zero, one or more garbage collection member objects)). Also, Garduno further teaches: “and in response to determining that the target data entity is not connected to another edge identified as garbage collecting, deleting one of the other graphs that includes the target data entity” (Paragraph [0028] (the operating system may use the hidden edge entry in the gnode for node B to identify the one-directional relationship from node A to node B and remove the edge entry that identifies node B from the gnode for node A)). As per claim 3: Bedi, Donohue and Garduno teach the method as specified in the parent claim 1 above. Donohue further teaches: “for a particular one of the set of edges, determining whether the particular edge is identified as garbage collecting or non-garbage collecting based on the metadata” (Col 2 Lines 58-62 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected? for garbage collection root and zero, one or more garbage collection member objects)). Also, Garduno further teaches: “based on the particular edge being identified as non-garbage collecting, preventing a target data entity of the particular edge from being deleted as a part of deleting the particular edge” (Paragraph [0074] (If the deletion would result in one or more disconnected nodes, the operating system performs the action of adding a relationship between a disconnected node and a particular other node in the graph (preventing a target data entity of the particular edge from being deleted as a part of deleting the particular edge))). As per claim 4: Bedi, Donohue and Garduno teach the method as specified in the parent claim 1 above. Donohue further teaches: “determining that a particular one of the set of edges is connected to a target data entity that is connected to a different set of edges that originate in a set of graphs different than the particular graph, wherein the different set of edges are edges identified as garbage collecting” (Col 2 Lines 58-67 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected for garbage collection root and zero, one or more garbage collection member objects, in the event it is determined that a garbage collection root and garbage collection member objects should be garbage collected, the garbage collection root object and all related garbage collection member objects are collected as a whole)). Also, Bedi further teaches: “in response to determining that the set of graphs will be deleted as a part of deleting the particular graph, deleting one of the other graphs that includes the target data entity” (Paragraph [0074] (the graph database service may support queries in SPARQL or another semantic query language to delete one or more triples from a graph, load the contents of a document representing a graph into the graph database, and clear all the triples in one or more graphs (deleting one of the other graphs that includes the target data entity)). As per claim 5: Bedi, Donohue and Garduno teach the method as specified in the parent claim 1 above. Bedi further teaches: “wherein the given triple is associated with a graph identifier that identifies one of the plurality of graphs that includes the given triple” (Paragraph [0022] (the graph database may store multiple graphs, the triples are also stored with graph identifiers that indicate particular graphs or sub-graphs to which the triples belong)). As per claim 6: Bedi, Donohue and Garduno teach the method as specified in the parent claim 5 above. Bedi further teaches: “wherein the deleting includes” (Paragraph [0074] (the graph database service may support queries in SPARQL or another semantic query language to delete one or more triples from a graph)) “identifying, from the plurality of triples, a set of triples having a graph identifier that identifies the particular graph” (Paragraph [0022] (the triples are also stored with graph identifiers that indicate particular graphs or sub-graphs to which the triples belong)) “and deleting the set of triples” (Paragraph [0074] (delete one or more triples from a graph)). As per claim 10: Bedi, Donohue and Garduno teach the method as specified in the parent claim 1 above. Bedi further teaches: “wherein the set of edges that originate in the particular graph connect to root data entities of the other graphs” (Paragraph [0022] (the triples in a graph database may be used to represent nodes and edges (relationships) in a graph of connected items and the graph database may store one graph or multiple graphs)). As per claim 11: Bedi teaches: “A non-transitory computer readable medium having program instructions stored thereon that are executable by a computer system to cause the computer system to perform operations to garbage collect particular data of a database, the operations comprise” (Paragraph [0054] and Paragraph [0093] (a computer-readable (i.e., computer-accessible) medium configured to store program instructions and data for implementing embodiments of the corresponding methods and apparatus and to perform the updates or the deletion of one or more related triples (nodes and edges) in the graph database (garbage collect particular data of a database) includes )) “maintaining the database, wherein the database stores data as a plurality of triples, a given triple of which includes a first data entity connected to a second data entity via an edge, wherein ones of the plurality of triples are connected to form a plurality of graphs” (Paragraph [0018] (systems for query language interoperability in a graph database are described where a graph database stores data elements using an internal data model, the data model represents the data elements as resource description framework (RDF) triples comprising subjects, predicates, and objects and the triples in the graph database may be used to represent nodes and edges (relationships) in a graph of connected items)) “receiving a request to delete a particular one of the plurality of graphs, wherein the particular graph includes a set of edges between the particular graph and other graphs of the plurality of graphs” (Paragraph [0022] and Paragraph [0054] (a query has been received, the query may be performed on the graph database, the triples in a graph database may be used to represent nodes and edges (relationships) in a graph of connected items, the graph database may store one graph or multiple graphs (wherein the particular graph includes a set of edges originating in the particular graph to other graphs of the plurality of graphs) and the received query to perform the updates including the deletion of one or more triples in the database graph)). Bedi does not EXPLICITLY disclose: Bedi does not EXPLICITLY disclose: storing metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting; wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph; and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge; determining, based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete; and deleting the particular graph and the determined graphs from one or more storage devices underlying the database. However, in an analogous art, Donohue teaches: “storing metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting” (Col 2 Lines 42-55 (the objects that may require removal from the database are tagged with garbage collection metadata, to signal to a garbage collector that the object should be checked for removal and the data structures in the object oriented database take the form of object graphs, which via processing end-up becoming object trees, which enables the system to distinguish strongly connected sub-graphs that share the same data life progression and must be garbage collected together)) “wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph” (Col 5 Lines 7-14 (the garbage collection (GC)) root object comprises the top-level object of a subtree of object, the GC root object is associated with garbage collection root metadata which indicates that the subtree that GC root object is at the top level of comprises a subtree that can be garbage collected)) “and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge” (Col 9 Lines 3-7 (the determination of whether or not to perform garbage collection always starts with the root and then moves onto its associated member(s) and in the event that the root is not designated to be garbage collected, nothing is garbage collected)) “determining based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete” (Col 2 Lines 58-67 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected for garbage collection root and zero, one or more garbage collection member objects, in the event it is determined that a garbage collection root and garbage collection member objects should be garbage collected, the garbage collection root object and all related garbage collection member objects are collected as a whole)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Donohue and apply them on teachings of Bedi for the non-transitory computer readable medium “storing metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting; wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph; and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge; determining based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete”. One would be motivated as it determines that an object is the root object, determine whether the root object is to be garbage collected, and in the event that the root object is to be garbage collected, then garbage collect the root object and the one or more member objects (Donohue, Col 2 Lines 27-30). Bedi and Donohue do not EXPLICITLY disclose: and deleting the particular graph and the determined graphs from one or more storage devices underlying the database. However, in an analogous art, Garduno teaches: “and deleting the particular graph and the determined graphs from one or more storage devices underlying the database” (Paragraph [0028] (the operating system may use the hidden edge entry in the gnode for node B to identify the one-directional relationship from node A to node B and remove the edge entry that identifies node B from the gnode for node A)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Garduno and apply them on teachings of Bedi and Donohue for the non-transitory computer readable medium “and deleting the particular graph and the determined graphs from one or more storage devices underlying the database”. One would be motivated as the ability to create one-directional relationships within a GOFS has utility in various contexts, such as in the context of programmatic containers or virtual machine (VM) instances (Garduno, Paragraph [0071]). As per claim 12, the claim is rejected based upon the same rationale given for the parent claim 11 and the claim 2 above. As per claim 13, the claim is rejected based upon the same rationale given for the parent claim 11 and the claims 5 and 6 above. As per claim 15, the claim is rejected based upon the same rationale given for the parent claim 11 and the claim 4 above. As per claim 16: Bedi teaches: “A system, comprising” (Paragraph [0018] (a system providing)) “at least one processor” (Paragraph [0088] (computing device includes one or more processors)) “and memory having program instructions stored thereon that are executable by the at least one processor to cause the system perform operations to garbage collect particular data of a database, the operations comprise” (Paragraph [0054] and Paragraph [0090] (system memory may be configured to store program instructions and data accessible by processor and to perform the updates or the deletion of one or more related triples (nodes and edges) in the graph database (garbage collect particular data of a database) includes)) “maintaining the database, wherein the database stores data as a plurality of triples, a given triple of which includes a first data entity connected to a second data entity via an edge, wherein ones of the plurality of triples are connected to form a plurality of graphs” (Paragraph [0018] (systems for query language interoperability in a graph database are described where a graph database stores data elements using an internal data model, the data model represents the data elements as resource description framework (RDF) triples comprising subjects, predicates, and objects and the triples in the graph database may be used to represent nodes and edges (relationships) in a graph of connected items)) “receiving a request to delete a particular one of the plurality of graphs, wherein the particular graph includes a set of edges between the particular graph and other graphs of the plurality of graphs” (Paragraph [0022] and Paragraph [0054] (a query has been received, the query may be performed on the graph database, the triples in a graph database may be used to represent nodes and edges (relationships) in a graph of connected items, the graph database may store one graph or multiple graphs (wherein the particular graph includes a set of edges originating in the particular graph to other graphs of the plurality of graphs) and the received query to perform the updates including the deletion of one or more triples in the database graph)). Bedi does not EXPLICITLY disclose: Bedi does not EXPLICITLY disclose: storing metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting; wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph; and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge; determining, based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete; and deleting the particular graph and the determined graphs from one or more storage devices underlying the database. However, in an analogous art, Donohue teaches: “storing metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting” (Col 2 Lines 42-55 (the objects that may require removal from the database are tagged with garbage collection metadata, to signal to a garbage collector that the object should be checked for removal and the data structures in the object oriented database take the form of object graphs, which via processing end-up becoming object trees, which enables the system to distinguish strongly connected sub-graphs that share the same data life progression and must be garbage collected together)) “wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph” (Col 5 Lines 7-14 (the garbage collection (GC)) root object comprises the top-level object of a subtree of object, the GC root object is associated with garbage collection root metadata which indicates that the subtree that GC root object is at the top level of comprises a subtree that can be garbage collected)) “and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge” (Col 9 Lines 3-7 (the determination of whether or not to perform garbage collection always starts with the root and then moves onto its associated member(s) and in the event that the root is not designated to be garbage collected, nothing is garbage collected)) “determining based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete” (Col 2 Lines 58-67 (the garbage collector makes a garbage collection determination i.e. should these garbage collection objects be garbage collected for garbage collection root and zero, one or more garbage collection member objects, in the event it is determined that a garbage collection root and garbage collection member objects should be garbage collected, the garbage collection root object and all related garbage collection member objects are collected as a whole)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Donohue and apply them on teachings of Bedi for the system “storing metadata that identifies edges of triples that originate and end in different ones of the plurality of graphs as garbage collecting or non-garbage collecting; wherein a deletion of a first edge identified as garbage collecting causes deletion of a target graph when no other edge identified as garbage collecting is connected to the target graph; and wherein a deletion of a second edge identified as non-garbage collecting has no impact on the existence of a target graph connected to the second edge; determining based on whether ones of the set of edges are garbage collecting or non-garbage collecting as identified by the metadata, which ones of the other graphs to delete”. One would be motivated as it determines that an object is the root object, determine whether the root object is to be garbage collected, and in the event that the root object is to be garbage collected, then garbage collect the root object and the one or more member objects (Donohue, Col 2 Lines 27-30). Bedi and Donohue do not EXPLICITLY disclose: and deleting the particular graph and the determined graphs from one or more storage devices underlying the database. However, in an analogous art, Garduno teaches: “and deleting the particular graph and the determined graphs from one or more storage devices underlying the database” (Paragraph [0028] (the operating system may use the hidden edge entry in the gnode for node B to identify the one-directional relationship from node A to node B and remove the edge entry that identifies node B from the gnode for node A)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Garduno and apply them on teachings of Bedi and Donohue for the system “and deleting the particular graph and the determined graphs from one or more storage devices underlying the database”. One would be motivated as the ability to create one-directional relationships within a GOFS has utility in various contexts, such as in the context of programmatic containers or virtual machine (VM) instances (Garduno, Paragraph [0071]). As per claim 17, the claim is rejected based upon the same rationale given for the parent claim 16 and the claim 2 above. As per claim 18, the claim is rejected based upon the same rationale given for the parent claim 16 and the claim 3 above. As per claim 20, the claim is rejected based upon the same rationale given for the parent claim 16 and the claims 5 and 6 above. Claims 7-9, 14 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Bedi et al (US PGPUB 20230169117) in view of Donohue et al (US Patent 10534706) and in further view of Garduno et al (US PGPUB 20230334014) and Tsypliaev et al (US Patent 10437804). As per claim 7: Bedi, Donohue and Garduno teach the method as specified in the parent claim 1 above. Bedi further teaches: “receiving, by the computer system, information that specifies a plurality of data entities” (Paragraph [0020] and Paragraph [0025] (, a client may supply a query and receive query results from the graph database service where graphs can model data may include social networks and in a graph within a social network, User1, User2, and User3 may be entities)). Bedi, Donohue and Garduno do not EXPLICITLY disclose: parsing, by the computer system, ones of the plurality of data entities to identify root data entities and descendent data entities that descend from the root data entities; and for a given one of the root data entities, the computer system generating a graph having the given root data entity and descendent data entities of the given root data entity. However, in an analogous art, Tsypliaev teaches: “parsing, by the computer system, ones of the plurality of data entities to identify root data entities and descendent data entities that descend from the root data entities” (Col 3 Lines 24-27, Col 8 Lines 1-5 and Col 14 Lines 42-46 (the triple is a data entity composed of subject-predicate-object, the triples are stored in B-trees, the B-tree is kept balanced by requiring that all leaf nodes are located at the same depth and all leaf nodes being one more node further away from the root)) “and for a given one of the root data entities, the computer system generating a graph having the given root data entity and descendent data entities of the given root data entity” (Col 8 Lines 48-51 and Col 14 Lines 5-8 (a B-tree is used for storing triples, quadruples, quintuples etc represented by graphs and in the B-trees, internal (non-leaf) nodes can have a variable number of child nodes within a pre-defined range)). It would have been obvious to one of ordinary skill in the art before the effective filing date to take the teachings of Tsypliaev and apply them on teachings of Bedi, Donohue and Garduno for the method “parsing, by the computer system, ones of the plurality of data entities to identify root data entities and descendent data entities that descend from the root data entities; and for a given one of the root data entities, the computer system generating a graph having the given root data entity and descendent data entities of the given root data entity”. One would be motivated as the B-trees have substantial advantages over alternative implementations when node access times far exceed access times within the nodes, because the cost of accessing the node can be amortized over multiple operations within the node (Tsypliaev, Col 14 Lines 47-51). As per claim 8: Bedi, Donohue, Garduno and Tsypliaev teach the method as specified in the parent claim 7 above. Tsypliaev further teaches: “wherein the descendent data entities of the given root data entity are not directly accessible via edges from other graphs” (Col 14 Lines 65-67 and Col 15 Lines 1-3 (each key has an associated child that is the root of a sub-tree containing all nodes with the keys less than or equal to the key, but greater than the preceding key and a node also has an additional rightmost child (edges from other graphs) that is the root for a sub-tree containing all keys greater than any keys in the node (descendent data entities of the given root data entity are not directly accessible))). As per claim 9: Bedi, Donohue, Garduno and Tsypliaev teach the method as specified in the parent claim 7 above. Tsypliaev further teaches: “wherein the metadata indicates whether a given data entity of the plurality of data entities is a root data entity or a descendent data entity” (Col 9 Lines 27-32 and Col 10 Lines 26-32 (the metadata about data/triples in the stores can be stored together with such data/triples, such metadata can include location of stored data and key-value stores, key stores, B-trees, the information about distributions of data/triples between stores and B-trees and a key-value store in the database/B-tree is, in particular, a store (or table) containing relations between the predicates and arguments, such as the Subjects and the Objects (a given data entity of the plurality of data entities is a root data entity or a descendent data entity), can contain the Objects, the Predicates, the Subjects, links to other key-value stores and/or key stores)). As per claim 14, the claim is rejected based upon the same rationale given for the parent claim 11 and the claim 7 above. As per claim 19, the claim is rejected based upon the same rationale given for the parent claim 16 and the claim 7 above. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Wu et al, (US PGPUB 20230140423), it relates to a method and system for storing data in a graph database. The method includes: separating a key-value structure of the storage engine and separately storing a graph structure and a graph property of graph data; and reading, by the compute engine, the graph structure, caching the graph structure for a short term in a single query request scenario, and caching the graph structure for a long term in a read-only analysis scenario. Lutz et al, (US PGPUB 20220147447), it is generally directed towards garbage collecting content selection graphs and related data from in an in-memory content selection graph data store. When a set of content selection graphs expire, a more current content selection graph set becomes active, and the storage space (e.g., in a Redis cache) used by the expired content selection graphs is reclaimed via garbage collection. Some graphs can be replaced before use, referred to as orphaned graphs, and the storage space for any such orphaned graphs is also reclaimed during garbage collection. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAMAL K DEWAN whose telephone number is (571)272-2196. The examiner can normally be reached on Mon-Fri 8:00 AM – 5:00 PM (EST). If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, TONY MAHMOUDI can be reached on 571-272-4078. 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 Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center to authorized users only. Should you have questions about access to Patent Center, 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. /Kamal K Dewan/ Examiner, Art Unit 2163 /TONY MAHMOUDI/Supervisory Patent Examiner, Art Unit 2163
Read full office action

Prosecution Timeline

Jul 08, 2022
Application Filed
Nov 26, 2023
Non-Final Rejection — §103, §112
Feb 29, 2024
Examiner Interview Summary
Feb 29, 2024
Applicant Interview (Telephonic)
Mar 01, 2024
Response Filed
May 21, 2024
Final Rejection — §103, §112
Aug 27, 2024
Applicant Interview (Telephonic)
Aug 27, 2024
Examiner Interview Summary
Aug 28, 2024
Request for Continued Examination
Sep 03, 2024
Response after Non-Final Action
Feb 08, 2025
Non-Final Rejection — §103, §112
May 06, 2025
Examiner Interview Summary
May 06, 2025
Applicant Interview (Telephonic)
May 13, 2025
Response Filed
Nov 01, 2025
Final Rejection — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12475082
SYSTEM AND METHOD FOR SYNCHRONIZING DELETE OPERATIONS BETWEEN PRIMARY AND SECONDARY DATABASES
2y 5m to grant Granted Nov 18, 2025
Patent 12461940
CROSS-CLOUD REPLICATION OF RECURRENTLY EXECUTING DATA PIPELINES
2y 5m to grant Granted Nov 04, 2025
Patent 12449987
SYSTEM AND METHOD FOR IMPROVING MEMORY RESOURCE ALLOCATIONS IN DATABASE BLOCKS USING BLOCKCHAIN
2y 5m to grant Granted Oct 21, 2025
Patent 12436916
APPARATUS AND METHODS FOR LIGHTWEIGHT TRANSCODING
2y 5m to grant Granted Oct 07, 2025
Patent 12393571
Multidimensional Multitenant System
2y 5m to grant Granted Aug 19, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
49%
Grant Probability
90%
With Interview (+41.1%)
4y 4m
Median Time to Grant
High
PTA Risk
Based on 222 resolved cases by this examiner. Grant probability derived from career allow 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