Prosecution Insights
Last updated: July 17, 2026
Application No. 19/248,804

DATA ATTRIBUTE RETRIEVAL

Non-Final OA §102§103
Filed
Jun 25, 2025
Priority
Oct 05, 2023 — continuation of 12/360,987
Examiner
SHANMUGASUNDARAM, KANNAN
Art Unit
2161
Tech Center
2100 — Computer Architecture & Software
Assignee
Capital One Services LLC
OA Round
1 (Non-Final)
72%
Grant Probability
Favorable
1-2
OA Rounds
2y 6m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
426 granted / 590 resolved
+17.2% vs TC avg
Strong +36% interview lift
Without
With
+36.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 7m
Avg Prosecution
23 currently pending
Career history
612
Total Applications
across all art units

Statute-Specific Performance

§101
3.9%
-36.1% vs TC avg
§103
85.7%
+45.7% vs TC avg
§102
6.9%
-33.1% vs TC avg
§112
1.8%
-38.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 590 resolved cases

Office Action

§102 §103
DETAILED ACTION Claims 1-20 are pending in the Instant Application. Claims 1-20 are rejected (Non-Final Rejection). 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 . Priority The Instant Application, filed 06/25/2025 is a continuation of 18/481,504, filed 10/05/2023. Thus, the earliest effective filing date is 10/05/2023 for what is recited therein. 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 conflicting claims 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); 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 nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined 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 § 2146 et seq. 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 filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual 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 www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claim 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,360,987. Although the claims at issue are not identical, they are not patentably distinct from each other because the claim limitations of the Instant Application are recited within the claim language of U.S. Patent # 12360987. The claims are related as describe below: Instant Application U.S. Patent # 12360987 1. A system comprising: one or more processors configured to: generate dependency trees for respective data attributes included in a set of data attributes, wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute, and wherein a dependency tree of the dependency trees indicates a list of the one or more dependent data attributes; identify an anchor dependency tree from the dependency trees; generate queries to respective data sources based on the dependency trees, wherein the respective data sources are indicated via nodes of the anchor dependency tree; and retrieve, via the respective data sources and based on executing the queries, the set of data attributes. 1. A system for data attribute retrieval, the system comprising: one or more memories; and one or more processors, communicatively coupled to the one or more memories, configured to: receive a request to obtain a set of data attributes, wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute; generate dependency trees for respective data attributes included in the set of data attributes, wherein a dependency tree of the dependency trees indicates an ordered list of the one or more dependent data attributes; identify an anchor dependency tree from the dependency trees, wherein the anchor dependency tree is associated with a longest length among the dependency trees; generate, via a set of iterations, queries to respective data sources based on the dependency trees, wherein the respective data sources are indicated via current leaf nodes of the anchor dependency tree in respective iterations of the set of iterations, and wherein each iteration of the set of iterations includes removing data attributes from the dependency trees that have been indicated in prior queries; retrieve, via the respective data sources and based on executing the queries, the set of data attributes; and provide, in response to receiving the request, the set of data attributes. 2. The system of claim 1, wherein a leaf node of the anchor dependency tree is associated with a first data attribute, and wherein the one or more processors, to generate the queries, are configured to: generate a first query to a first data source requesting a first one or more data attributes including the first data attribute and any other data attributes associated with the first data source as indicated by nodes of the dependency trees; remove, from the dependency trees, the first one or more data attributes; update a current node, of the anchor dependency tree, to a second node associated with a second data attribute, wherein the second data attribute is stored by a second data source; and generate a second query to the second data source to obtain a second one or more data attributes including the second data attribute and any other data attributes associated with the second data source as indicated by the nodes of the dependency trees. 2. The system of claim 1, wherein a first leaf node of the anchor dependency tree is associated with a first data attribute, and wherein the one or more processors, to generate the queries, are configured to: generate a first query to a first data source requesting a first one or more data attributes including the first data attribute and any other data attributes associated with the first data source as indicated by leaf nodes of the dependency trees; remove, from the dependency trees, the first one or more data attributes; update a current leaf node, of the anchor dependency tree, to a second leaf node associated with a second data attribute, wherein the second data attribute is stored by a second data source; and generate a second query to the second data source to obtain a second one or more data attributes including the second data attribute and any other data attributes associated with the second data source as indicated by the leaf nodes of the dependency trees. 3. The system of claim 2, wherein the one or more processors, to retrieve the set of data attributes, are configured to: execute the first query to obtain the first one or more data attributes from the first data source; and execute, after executing the first query, the second query to obtain the second one or more data attributes from the second data source. 3. The system of claim 2, wherein the one or more processors, to retrieve the set of data attributes, are configured to: execute the first query to obtain the first one or more data attributes from the first data source; and execute, after executing the first query, the second query to obtain the second one or more data attributes from the second data source. 4. The system of claim 1, wherein the respective data sources are where data attributes are stored as indicated by current nodes of the anchor dependency tree. 4. The system of claim 1, wherein the respective data sources are where data attributes are stored as indicated by the current leaf nodes of the anchor dependency tree during the respective iterations from the set of iterations. 5. The system of claim 1, wherein the one or more processors, to generate the queries, are configured to: generate, for an iteration of a set of iterations, a query, of the queries, to a data source indicated by a current node associated with the iteration to obtain a data attribute indicated by the current node and to obtain data attributes indicated by nodes of respective dependency trees, of the dependency trees, that are associated with the data source. 5. The system of claim 1, wherein the one or more processors, to generate the queries, are configured to: generate, for an iteration of the set of iterations, a query, of the queries, to a data source indicated by a current leaf node associated with the iteration to obtain a data attribute indicated by the current leaf node and to obtain data attributes indicated by leaf nodes of respective dependency trees, of the dependency trees, that are associated with the data source. 6. The system of claim 1, wherein the one or more processors, to identify the anchor dependency tree, are configured to: identify that a first dependency tree and a second dependency tree, of the dependency trees, are each associated with a longest length among the dependency trees; and determine that the anchor dependency tree includes both the first dependency tree and the second dependency tree. 6. The system of claim 1, wherein the one or more processors, to identify the anchor dependency tree, are configured to: identify that a first dependency tree and a second dependency tree, of the dependency trees, are each associated with the longest length among the dependency trees; and determine that the anchor dependency tree includes both the first dependency tree and the second dependency tree. 7. The system of claim 1, wherein the one or more processors, to identify the anchor dependency tree, are configured to: identify that a first dependency tree and a second dependency tree, of the dependency trees, are each associated with a longest length among the dependency trees, wherein a first node of the first dependency tree is associated with a first data source and a second node of the second dependency tree is associated with a second data source, and wherein a first quantity of nodes, of other dependency trees from the dependency trees, are associated with the first data source and a second quantity of nodes, of the other dependency trees, are associated with the second data source; and identify that the first dependency tree is the anchor dependency tree based on the first quantity being greater than the second quantity. 7. The system of claim 1, wherein the one or more processors, to identify the anchor dependency tree, are configured to: identify that a first dependency tree and a second dependency tree, of the dependency trees, are each associated with the longest length among the dependency trees, wherein a first leaf node of the first dependency tree is associated with a first data source and a second leaf node of the second dependency tree is associated with a second data source, and wherein a first quantity of leaf nodes, of other dependency trees from the dependency trees, are associated with the first data source and a second quantity of leaf nodes, of the other dependency trees, are associated with the second data source; and identify that the first dependency tree is the anchor dependency tree based on the first quantity being greater than the second quantity. 8. A method, comprising: generating one or more lists for respective data attributes included in a set of data attributes, wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute, and wherein the one or more lists are based on dependencies associated with the set of data attributes; identifying an anchor list, from the one or more lists, that is associated with a highest order among the one or more lists; generating a first query to a first data source indicated by a first data attribute in a position of the anchor list, wherein the first query requests a first one or more data attributes including the first data attribute and any other data attributes, associated with the first data source, that are in positions of respective lists of the one or more lists; and transmitting, to the first data source, the first query. 8. A method of data attribute retrieval, comprising: receiving, by a device, a request to obtain a set of data attributes, wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute; generating, by the device, one or more hierarchical lists for respective data attributes included in the set of data attributes, wherein the one or more hierarchical lists are based on dependencies associated with the set of data attributes; identifying, by the device, an anchor hierarchical list, from the one or more hierarchical lists, that is associated with a highest order among the one or more hierarchical lists; generating, by the device, a first query to a first data source indicated by a first data attribute in a top position of the anchor hierarchical list, wherein the first query requests a first one or more data attributes including the first data attribute and any other data attributes, associated with the first data source, that are in top positions of respective hierarchical lists of the one or more hierarchical lists; removing, by the device, the first one or more data attributes from the one or more hierarchical lists; and transmitting, by the device and to the first data source, the first query. 9. The method of claim 8, further comprising: generating one or more queries, including the first query, to obtain the set of data attributes based on the one or more lists, wherein the one or more queries are to respective data sources that are based on a storage location of a data attribute currently in the position of the anchor list; transmitting, to the respective data sources, the one or more queries to obtain the set of data attributes; and transmitting, in response to a request, the set of data attributes. 9. The method of claim 8, further comprising: generating one or more queries, including the first query, to obtain the set of data attributes based on the one or more hierarchical lists, wherein the one or more queries are to respective data sources that are based on a storage location of a data attribute currently in the top position of the anchor hierarchical list; transmitting, to the respective data sources, the one or more queries to obtain the set of data attributes; and transmitting, in response to the request, the set of data attributes. 10. The method of claim 8, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein an iteration of the set of iterations comprises: identifying a data source indicated by a data attribute currently in the position of the anchor list during the iteration; generating a query to the data source to obtain the data attribute and any other data attributes currently in positions of other lists, of the one or more lists, that are associated with the data source; transmitting, to the data source, the query; and removing, from the one or more lists, any data attributes retrieved via transmitting the query. 10. The method of claim 8, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein an iteration of the set of iterations comprises: identifying a data source indicated by a data attribute currently in the top position of the anchor hierarchical list during the iteration; generating a query to the data source to obtain the data attribute and any other data attributes currently in the top positions of other hierarchical lists, of the one or more hierarchical lists, that are associated with the data source; transmitting, to the data source, the query; and removing, from the one or more hierarchical lists, any data attributes retrieved via transmitting the query. 11. The method of claim 10, wherein the set of iterations are associated with generating and transmitting one or more queries, including the first query, until the one or more lists are empty. 11. The method of claim 10, wherein the set of iterations are associated with generating and transmitting one or more queries, including the first query, until the one or more hierarchical lists are empty. 12. The method of claim 10, wherein a second iteration of the set of iterations is associated with a second query to a second data source, wherein the second query is associated with obtaining a second data attribute included in the anchor list that is positioned after the first data attribute in the anchor list, and wherein the method further comprises: transmitting, to the second data source and after transmitting the first query, the second query. 12. The method of claim 10, wherein a second iteration of the set of iterations is associated with a second query to a second data source, wherein the second query is associated with obtaining a second data attribute included in the anchor hierarchical list that is positioned after the first data attribute in the anchor hierarchical list, and wherein the method further comprises: transmitting, to the second data source and after transmitting the first query, the second query 13. The method of claim 12, wherein the second query uses the first data attribute retrieved via the first query as an input to the second data source. 13. The method of claim 12, wherein the second query uses the first data attribute retrieved via the first query as an input to the second data source. 14. The method of claim 8, wherein identifying the anchor list comprises: identifying that a first list and a second list, of the one or more lists, are each associated with the highest order; wherein the first list includes the first data attribute, wherein a second data attribute in a position of the second list is associated with a second data source, and wherein a first quantity of data attributes, in the positions of other lists, are associated with the first data source, and a second quantity of data attributes, in the positions of the other lists, are associated with the second data source; and identifying that the first list is the anchor list based on the first quantity being greater than the second quantity. 14. The method of claim 8, wherein identifying the anchor hierarchical list comprises: identifying that a first hierarchical list and a second hierarchical list, of the one or more hierarchical lists, are each associated with the highest order; wherein the first hierarchical list includes the first data attribute, wherein a second data attribute in a top position of the second hierarchical list is associated with a second data source, and wherein a first quantity of data attributes, in the top positions of other hierarchical lists, are associated with the first data source, and a second quantity of data attributes, in the top positions of the other hierarchical lists, are associated with the second data source; and identifying that the first hierarchical list is the anchor hierarchical list based on the first quantity being greater than the second quantity. 15. The method of claim 14, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein, during a second iteration of the set of iterations, the second list is the anchor list. 15. The method of claim 14, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein, during a second iteration of the set of iterations, the second hierarchical list is the anchor hierarchical list. 16. The method of claim 8, wherein the one or more lists include one or more dependency trees. 16. The method of claim 8, wherein the one or more hierarchical lists include one or more dependency trees. 17. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors, cause a device to: generate one or more lists for respective data attributes included in a set of data attributes, wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute; identify an anchor list, from the one or more lists, that is associated with a highest order among the one or more lists; generate a first query to a first data source indicated by a first data attribute in a position of the anchor list, wherein the first query requests a first one or more data attributes including the first data attribute and any other data attributes, associated with the first data source, that are in positions of respective lists of the one or more lists; and transmit, to the first data source, the first query. 17. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to: receive a request to obtain a set of data attributes, wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute; generate one or more hierarchical lists for respective data attributes included in the set of data attributes; identify an anchor hierarchical list, from the one or more hierarchical lists, that is associated with a highest order among the one or more hierarchical lists; generate a first query to a first data source indicated by a first data attribute in a top position of the anchor hierarchical list, wherein the first query requests a first one or more data attributes including the first data attribute and any other data attributes, associated with the first data source, that are in top positions of respective hierarchical lists of the one or more hierarchical lists; remove the first one or more data attributes from the one or more hierarchical lists; and transmit, to the first data source, the first query. 18. The non-transitory computer-readable medium of claim 17, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein, for an iteration of the set of iterations, the one or more instructions cause the device to: identify a data source indicated by a data attribute currently in the position of the anchor list during the iteration; generate a query to the data source to obtain the data attribute and any other data attributes currently in positions of other lists, of the one or more lists, that are associated with the data source; transmit, to the data source, the query; and remove, from the one or more lists, any data attributes retrieved via transmitting the query. 18. The non-transitory computer-readable medium of claim 17, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein, for an iteration of the set of iterations, the one or more instructions cause the device to: identify a data source indicated by a data attribute currently in the top position of the anchor hierarchical list during the iteration; generate a query to the data source to obtain the data attribute and any other data attributes currently in the top positions of other hierarchical lists, of the one or more hierarchical lists, that are associated with the data source; transmit, to the data source, the query; and remove, from the one or more hierarchical lists, any data attributes retrieved via transmitting the query. 19. The non-transitory computer-readable medium of claim 18, wherein the set of iterations are associated with generating and transmitting one or more queries, including the first query, until the one or more lists are empty. 19. The non-transitory computer-readable medium of claim 18, wherein the set of iterations are associated with generating and transmitting one or more queries, including the first query, until the one or more hierarchical lists are empty. 20. The non-transitory computer-readable medium of claim 17, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, wherein, during the first iteration, a first list, of the one or more lists, is the anchor list, and wherein, during a second iteration of the set of iterations, a second list, of the one or more lists, is the anchor list. 20. The non-transitory computer-readable medium of claim 17, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, wherein, during the first iteration, a first hierarchical list, of the one or more hierarchical lists, is the anchor hierarchical list, and wherein, during a second iteration of the set of iterations, a second hierarchical list, of the one or more hierarchical lists, is the anchor hierarchical list Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claims 8-12 and 14-20 are rejected under 35 U.S.C. 102(a)(1) as being unpatentable by Safaie et al. (“Safaie”), United States Patent Application Publication No. 2022/0164349. As per claim 8, Safaie discloses a method, comprising: generating one or more lists for respective data attributes included in a set of data attributes[0035] wherein a set of sub-trees is generated based on the data attributes (fields in the prior art) stored at each source)), wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute ([0039] wherein a hierarchy structure is described to denote dependencies in the query request, see Fig. 5), and wherein the one or more lists are based on dependencies associated with the set of data attributes ([0039] wherein a hierarchy structure is described to denote dependencies in the query request, see Fig. 5);; identifying an anchor list, from the one or more lists, that is associated with a highest order among the one or more lists([0040] and [Fig. 5] wherein the reference identifies an anchor dependency tree, v4, placing v4 a full layer deeper than the other trees, and wherein v4 is calculated first and then joined with v3 as described); generating a first query to a first data source indicated by a first data attribute in a position of the anchor list, wherein the first query requests a first one or more data attributes including the first data attribute and any other data attributes , associated with the first data source, that are in positions of respective lists of the one or more lists ([0049]-[0050] wherein based on the dependency tree (See [0050] wherein sub-trees are described for each source), wherein the “top position” is considered the leaf node of the tree, a query is generated for each source); and transmitting, to the first data source, the first query([0040] wherein the query is transmitted and a view is returned). As per claim 9, Safaie discloses the method of claim 8, further comprising: generating one or more queries, including the first query, to obtain the set of data attributes based on the one or more lists, wherein the one or more queries are to respective data sources that are based on a storage location of a data attribute currently in the position of the anchor list ([0040]-[0047] wherein queries are generated for each source, wherein the “top position” is recognized as the next join to be performed, so after v4 is determined, the source of v3 is queried and joined); transmitting, to the respective data sources, the one or more queries to obtain the set of data attributes ([0047] wherein the queries are transmitted to the data sources and all the data attributes (fields in the prior art) are obtained); and transmitting, in response to a request, the set of data attributes ([0050] wherein a selection clause is substituted for each attribute to retrieve the attributes); and provide, in response to receiving the request, the set of data attributes ([0046] wherein the joins are unioned to form the final result). As per claim 10, Safaie discloses the method of claim 8, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes, and wherein an iteration of the set of iterations comprises: identifying a data source indicated by a data attribute currently in the position of the anchor list during the iteration ([0049] wherein the query logic identifies a source indicated by a data attribute (fields in the prior art)); generating a query to the data source to obtain the data attribute and any other data attributes currently in positions of other lists, of the one or more lists ,that are associated with the data source ([0047]-[0050] wherein a query is generated for each source to determine a view to obtain the data attribute in the “top position,” (recognized as the next join to be performed), as in [0040] v1 is first query and must be joined with v3, so the next query is performed on that source); transmitting, to the data source, the query ([0045] wherein queries are transmitted and the results stored); and removing, from the one or more lists, any data attributes retrieved via transmitting the query ([0047] wherein the data attributes are removed (turned into views as described in [0040]) with views as the queries are performed). . As per claim 11, Safaie discloses the method of claim 10, wherein the set of iterations are associated with generating and transmitting one or more queries, including the first query, until the one or more lists are empty ([0040] wherein the tree is traversed until all that’s left is the final result). As per claim 12, Safaie discloses the method of claim 10, wherein a second iteration of the set of iterations is associated with a second query to a second data source, wherein the second query is associated with obtaining a second data attribute included in the anchor list that is positioned after the first data attribute in the anchor list ([0040] wherein the second data attribute is obtained by turning v3 into a view), and wherein the method further comprises: transmitting, to the second data source and after transmitting the first query, the second query ([0040] wherein the first query is executed to generate a view from the same source, and then v3, is turned into the second query, having a different source, and is turned into a view to be joined).. As per claim 14, Safaie discloses the method of claim 8, wherein identifying the anchor list comprises: identifying that a first list and a second list, of the one or more lists, are each associated with the highest order ([0040] wherein it is determined that v3 and v4 are associated with the longest length among the hierarchical lists by the join in v4 being joined with v3);wherein the first list includes the first data attribute, wherein a second data attribute in a position of the second list is associated with a second data source ([0040] wherein v4 is associated with a first source and is related to two fields), and wherein a first quantity of data attributes, in the positions of other lists, are associated with the first data source ([0040] wherein v4 is also associated with v1),, and a second quantity of data attributes, in the positions of the other lists, are associated with the second data source [0040] and [Fig. 5] wherein no other trees are associated with the second data source); and identifying that the first list is the anchor list based on the first quantity being greater than the second quantity ([0040] wherein the anchor tree is the one including v4 based on the most data fields requiring the first join before preceding based on the dependency tree). As per claim 15, Safaie discloses the method of claim 14, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes ([0040] wherein a view is generated based on the first query in the first iteration (v4)), and wherein, during a second iteration of the set of iterations, the second list is the anchor list ([0040] wherein it is determined that v3 and v4 are in the anchor hierarchical list since after a query is submitted for v4, v3 generates a query that produces a view, that is joined with the view determined by the query generated for v4 ). As per claim 16, Safaie discloses the method of claim 8, wherein the one or more lists include one or more dependency trees ([0039] wherein the hierarchical lists make up a dependency tree). As per claim 17, claim 17 is the computer program product performing the method of claim 8 and is rejected for the same rationale and reasoning. As per claim 18, claim 18 is the computer program product performing the method of claim 10 and is rejected for the same rationale and reasoning. As per claim 19, claim 19 is the computer program product performing the method of claim 11 and is rejected for the same rationale and reasoning. As per claim 20, Safaie discloses the non-transitory computer-readable medium of claim 17, wherein generating the first query is part of a first iteration of a set of iterations associated with retrieving the set of data attributes([0040] wherein the list including v4 is the anchor hierarchical list for the first iteration), wherein, during the first iteration, a first list, of the one or more lists, is the anchor list, and wherein, during a second iteration of the set of iterations, a second list, of the one or more lists, is the anchor list ([0040] wherein the second iteration includes the join between v3 and v4 and is part of the anchor hierarchical list as succeeding v4)). 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-7 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Safaie et al. (“Safaie”), United States Patent Application Publication No. 2022/0164349, in view of Pal et al. (“Pal’), United States Patent Application Publication No. 2019/0147092 As per claim 1, Safaie discloses a system comprising: one or more processors ([0052] wherein processors are described) configured to: generate dependency trees for respective data attributes included in a set of data attributes ([0035] wherein a set of sub-trees is generated based on the data attributes (fields in the prior art) stored at each source)), wherein a data structure associated with a data attribute of the set of data attributes indicates one or more dependent data attributes that are needed to obtain the data attribute ([0039] wherein a hierarchy structure is described to denote dependencies in the query request, see Fig. 5); identify an anchor dependency tree from the dependency trees ([0040] and [Fig. 5] wherein the reference identifies an anchor dependency tree); generate queries to respective data sources based on the dependency trees, wherein the respective data sources are indicated via nodes of the anchor dependency tree ([Fig. 5] wherein the different sources are indicated by con 1, con 2, con 3 and spark/db); and retrieve, via the respective data sources and based on executing the queries, the set of data attributes ([0046] wherein data is retrieved from all the views representing data from the data sources and a the final query is run and final results are sent), but does not disclose wherein a dependency tree of the dependency trees indicates a list of the one or more dependent data attributes. However, Pal teaches wherein a dependency tree of the dependency trees indicates a list of the one or more dependent data attributes ([0418] wherein the DAG is a list of dependent search strings including attributes, therefore a list of the dependent data attributes). Both Safaie and Pal describe exercising source based queries based on dependencies. One could use the dependency tree in Safaie with the addition of a list of attributes as in Pal to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the application to combine the method of generating dependencies to insure attribute dependence and query access management in Safaie with the list of queries in dependency order including attributes in Pal in order to provide a sequential search query plan to avoid issues. As per claim 2, note the rejection of claim 1 where Safaie and Pal are combined The combination teaches the system of claim 1. Safaie further discloses wherein a leaf node of the anchor dependency tree is associated with a first data attribute ([0028] wherein table including a first attribute is a first leaf node), and wherein the one or more processors, to generate the queries, are configured to: generate a first query to a first data source requesting a first one or more data attributes including the first data attribute and any other data attributes associated with the first data source as indicated by nodes of the dependency trees([0049]-[0050] wherein a query is generated for each source including each attribute (field) that is represented by a table in that source); remove, from the dependency trees, the first one or more data attributes ([0040] wherein v4 is first calculated and replaced with a view, which is then joined with v3); update a current node, of the anchor dependency tree, to a second node associated with a second data attribute, wherein the second data attribute is stored by a second data source ([0040] wherein the subquery for another attribute, v3 is calculated, updating the current leaf node); and generate a second query to the second data source to obtain a second one or more data attributes including the second data attribute and any other data attributes associated with the second data source as indicated by the nodes of the dependency trees ([0040] wherein subquery v4 is executed and joined with v4). As per claim 3, note the rejection of claim 1 where Safaie and Pal are combined The combination teaches the system of claim 2. Safaie further discloses wherein the one or more processors, to retrieve the set of data attributes, are configured to: execute the first query to obtain the first one or more data attributes from the first data source; and execute, after executing the first query, the second query to obtain the second one or more data attributes from the second data source ([0040] wherein the first query is executed to generate a view from the same source, and then v3, is turned into the second query, having a different source, and is turned into a view to be joined). . As per claim 4, note the rejection of claim 1 where Safaie and Pal are combined The combination teaches the system of claim 1. Safaie further discloses wherein the respective data sources are where data attributes are stored as indicated by current nodes of the anchor dependency tree ([0039] wherein each respective data source stores the attribute (field) indicated by the current leaf node in the dependency tree). As per claim 5, note the rejection of claim 1 where Safaie and Pal are combined The combination teaches the system of claim 1. Safaie further disclose wherein the one or more processors, to generate the queries, are configured to: generate, for an iteration of a set of iterations, a query, of the queries, to a data source indicated by a current node associated with the iteration to obtain a data attribute indicated by the current node and to obtain data attributes indicated by nodes of respective dependency trees, of the dependency trees, that are associated with the data source ([0040] wherein all subqueries that correspond to the same source are built into the same query). As per claim 6, note the rejection of claim 1 where Safaie and Pal are combined The combination teaches the system of claim 1. Safaie further disclose wherein the one or more processors, to identify the anchor dependency tree, are configured to: identify that a first dependency tree and a second dependency tree, of the dependency trees, are each associated with a longest length among the dependency trees ([0040] wherein it is determined that v3 and v4 are associated with the longest length among the dependency tree by the join in v4 being joined with v3); and determine that the anchor dependency tree includes both the first dependency tree and the second dependency tree ([0039] wherein the tree is built based on the determination that the first and second dependency tree, v3 and v4, are joined and related as shown in Fig. 5). As per claim 7, note the rejection of claim 1 where Safaie and Pal are combined The combination teaches the system of claim 1. Safaie further disclose wherein the one or more processors, to identify the anchor dependency tree, are configured to: identify that a first dependency tree and a second dependency tree, of the dependency trees, are each associated with a longest length among the dependency trees, wherein a first node of the first dependency tree is associated with a first data source and a second node of the second dependency tree is associated with a second data source ([0040] wherein it is determined that v3 and v4 are associated with the longest length among the dependency tree by the join in v4 being joined with v3, but are from different sources), and wherein a first quantity of nodes, of other dependency trees from the dependency trees, are associated with the first data source ([0040] wherein v4 is also associated with v1) and a second quantity of nodes, of the other dependency trees, are associated with the second data source ([0040] and [Fig. 5] wherein no other trees are associated with the second data source, a quantity of 0); and identify that the first dependency tree is the anchor dependency tree based on the first quantity being greater than the second quantity ([0040] wherein the anchor tree is the one including v4 based on the most data fields requiring the first join before preceding based on the dependency tree). As per claim 13, Safaie disclose the method of claim 12, but does not disclose wherein the second query uses the first data attribute retrieved via the first query as an input to the second data source. However, Pal teaches wherein the second query uses the first data attribute retrieved via the first query as an input to the second data source ([0418] wherein “results of any search string depend on results of another search string such that the later search string must follow the former search string sequentially.”) Both Safaie and Pal describe exercising source based queries based on dependencies. One could use the dependency tree in Safaie with the addition of a list of attributes query dependencies as in Pal to teach the claimed invention. It would have been obvious to one of ordinary skill in the art before the effective filing date of the application to combine the method of generating dependencies to insure attribute dependence and query access management in Safaie with the list of queries in dependency order including attributes in Pal in order to provide a sequential search query plan to avoid issues. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to KANNAN SHANMUGASUNDARAM whose telephone number is (571)270-7763. The examiner can normally be reached M-F 9:00 AM -6:00 PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Charles Rones can be reached at (571) 272-4085. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /KANNAN SHANMUGASUNDARAM/Primary Examiner, Art Unit 2168
Read full office action

Prosecution Timeline

Jun 25, 2025
Application Filed
Jul 07, 2026
Non-Final Rejection mailed — §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675692
LEARNING METHOD, LEARNING APPARATUS AND PROGRAM
3y 7m to grant Granted Jul 07, 2026
Patent 12675487
CHECKING SQL ASSERTIONS
3y 6m to grant Granted Jul 07, 2026
Patent 12670234
PROGRESS ESTIMATION OF ITERATIVE HIERARCHICAL CLUSTERING ALGORITHMS
3y 5m to grant Granted Jun 30, 2026
Patent 12664222
METHODS AND SYSTEMS FOR PRIORITIZING DIGITAL MEDIA CONTENT WITHIN A DIGITAL MEDIA CONTENT GALLERY
2y 11m to grant Granted Jun 23, 2026
Patent 12657225
INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND STORAGE MEDIUM
1y 6m to grant Granted Jun 16, 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
72%
Grant Probability
99%
With Interview (+36.3%)
3y 7m (~2y 6m remaining)
Median Time to Grant
Low
PTA Risk
Based on 590 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