Prosecution Insights
Last updated: October 02, 2026
Application No. 18/238,030

UNIFICATION REDUCTION OF COMPLEX TRAVERSAL AND SEARCH APPLICATION PROGRAMMING INTERFACE

Non-Final OA §103
Filed
Aug 25, 2023
Examiner
CASTRO, ALFONSO
Art Unit
2421
Tech Center
2400 — Computer Networks
Assignee
Roku Inc.
OA Round
3 (Non-Final)
51%
Grant Probability
Moderate
3-4
OA Rounds
6m
Est. Remaining
70%
With Interview

Examiner Intelligence

Grants 51% of resolved cases
51%
Career Allowance Rate
230 granted / 451 resolved
-7.0% vs TC avg
Strong +19% interview lift
Without
With
+19.4%
Interview Lift
resolved cases with interview
Typical timeline
3y 8m
Avg Prosecution
27 currently pending
Career history
490
Total Applications
across all art units

Statute-Specific Performance

§101
5.8%
-34.2% vs TC avg
§103
72.1%
+32.1% vs TC avg
§102
4.5%
-35.5% vs TC avg
§112
10.1%
-29.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 451 resolved cases

Office Action

§103
DETAILED ACTION Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 4/30/2026 has been entered. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Response to Arguments Applicant’s arguments, see Remarks pg. 4, filed 4/30/2026, with respect to the status of the claims is hereby acknowledged. Claims 1-20 are pending. Claims 1, 10, and 16 18 are amended. Applicant’s arguments, see Remarks pg. 7-8, filed 4/30/2026, with respect to the rejection(s) of claim(s) 1-20 under 35 U.S.C. 103 have been fully considered. The examiner notes that the applicant’s arguments are directed to the newly amended limitations not previously presented. Therefore, upon further consideration, a new ground(s) of rejection is made in view of newly found prior art. Claim Rejections - 35 USC § 103 The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action. Claim(s) 1-8 and 10-20 are rejected under 35 U.S.C. 103 as being unpatentable over Dodson et al., US 20220382761A1 (hereafter Dodson) and in further view of Neo4j v4 4 Java Reference, December 2, 2021, XP093238692, Retrieved from the Internet URL https //neo4j com/docs/pdf/neo4j-java-reference-4 4 pdf, 88 pages (hereafter Neo4j Java Reference) and in further view of Querying a graph database – language selection and performance considerations, Florian Holzschuher et. al, December 2015, Journal of Computer and System Sciences, pgs. 45-68 (hereafter Holzschuher) and in further view of Michaelangelo; Nixon et al. US 20160027019 A1 (hereafter Michaelangelo). Regarding claim 1, “a computer-implemented method for a media device identifying data stored within a hierarchical data set stored in non-volatile memory of the media device, comprising: receiving, from an application installed on the media device, a request for the data; parsing the request to identify a search parameter, wherein a first value of the search parameter indicates a first type of traversal of the hierarchical data set and a second value of the search parameter indicates a second type of traversal of the hierarchical data set” Dodson para 31, 38, 131-138 teaches data management engine for providing query for information utilizing well-known or customized query languages such as SQL, JSON, XML, Javascript, regular expressions or the like wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information (e.g., metadata) that corresponds to the analyzed field node wherein the traversal is terminated based on a type of the query. See also para 134-136, 138, 140-141, 148, 153 parsing the query to determine query information indicating values for the type of query to be performed corresponding to values for query type. With respect to data stored within a hierarchical data set stored in non-volatile memory of the media device, Dodson para 76-78 for non-volatile memory for storing and performing API calls. Regarding “performing a traversal of the hierarchical data set, based on a unified traversal application performing interface (API) function, based on the first value of the search parameter or the second value of the search parameter; wherein the unified traversal API function is configured to traverse the hierarchical data set without calling additional API functions, wherein the traversal is limited to the non-volatile memory; and tracking a position in the hierarchical data set during the traversal” Dodson para 135-136, 145-149 teaches, inter alia, lineage engine may be arranged to determine metadata information based on the traversal of the dependency hierarchy and also different information queries or information query types may product different types of results. Some information query types may provide information based on the first qualified (as defined by the query) information determined from the dependency hierarchy or in some embodiments, other information queries or information query types may provide information for more than one field. See also para 135, 146, 155 corresponding to tracking the current position with the dependency hierarchy is implicit in traversal operation which determines the next node to query for information. With respect to “wherein the traversal is limited to the non-volatile memory”, Dodson para 76-78 for non-volatile memory for storing and performing API calls. Dodson does not explicitly state that the unified traversal API function is configured to traverse the hierarchical data set without calling additional API functions. Whereas Dodson does not use the term “position” but Dodson, as discussed above, does read on the recited limitations to describe “performing a traversal of the hierarchical data set, based on a unified traversal application performing interface (API) function”, “based on the first value of the search parameter or the second value of the search parameter” and “tracking a position in the hierarchical data set during the traversal” because in an analogous art, Neo4j Java Reference discloses embodiments for performing queries comprising wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information and tracking a position in the hierarchical data set during traversal (See Neo4j Java Reference pg. 41-45, 55-59 returning outputs of information tracked during query performance and tracking positions. See also Neo4j Java Reference pg. 13, 17, 19, 63 disclosing null values wherein pg. 5-6 discloses utilizing values and types when writing user-defined procedures and functions. With respect to “performing a traversal of the hierarchical data set, based on a unified traversal application performing interface (API) function” and “wherein the unified traversal API function is configured to traverse the hierarchical data set without calling additional API functions” the limitations would be understood to read on the teachings of Neo4j Java Reference and/or are rendered obvious. For example, Neo4j Java Reference pg. 55-59 teaches Neo4j Traversal Framework Java API and pg. 27-32, 39-40 teaches using Neo4j embedded in Java applications. The teachings of Neo4j Java Reference dovetail with the Holzschuher teaching querying a graph database, language selection and performance considerations and further teaching “Neo4j has a native Java API that offers direct retrieval and traversal methods as well as a traversal framework and some predefined algorithms for convenience. It is directly accessible when Neo4j is running in embedded mode, within the same process as the application using it” (see pg. 49 Section 3.1) and Section 6.3 also teaches the following: Further tests showed that simply swapping the embedded implementation with the REST API wrapper causes performance to drop by a factor of about 200–300 for both native access and Cypher queries. However, by using optimized, remotely executed Cypher queries and an adjusted result conversion, performance could be raised to be only one order of magnitude worse than the embedded instance, as claimed by the Neo4j developers. In the embedded Neo4j instance, we are using multiple queries to retrieve data associated with a person, whereas in the remote case we are now using singular, complex queries. In this way, only a single call is needed, reducing network overhead drastically. All things considered, a person of ordinary skill in the art, based on the combined teachings of Dodson, Neo4j Java Reference, and Holzschuher would have readily appreciated the benefit in Java, graph traversal is commonly accomplished using the Neo4j Traversal Framework or general graph libraries wherein these APIs are designed to allow a developer to define the traversal logic entirely within Java code, without requiring calls to external APIs once the framework is integrated into the application. Holzschuher does not disclose data stored within a hierarchical data set stored in non-volatile memory of the media device and in relation to “wherein the traversal is limited to the non-volatile memory.” In an analogous art, Michaelangelo teaches a client device comprising non-volatile memory wherein para 75-80 teach the following: Data storage 210 may also be employed to store social networking information including address books, buddy lists, aliases, user profile information, or the like. Data storage 210 may further include program code, data, algorithms, and the like, for use by a processor, such as processor 202 to execute and perform actions. In one embodiment, at least some of data storage 210 might also be stored on another component of client computer 200, including, but not limited to, non-transitory processor-readable removable storage device 236, processor-readable stationary storage device 234, or even external to the client computer. [0078] Applications 220 may include computer executable instructions which, when executed by client computer 200, transmit, receive, or otherwise process instructions and data. Applications 220 may include, for example, client display engine 222, other client applications 224, web browser 226, or the like. Client computers may be arranged to exchange communications, such as, queries, searches, messages, notification messages, event messages, alerts, performance metrics, log data, API calls, or the like, combination thereof, with visualization server computers. Therefore, it would have been obvious to one of ordinary skill in the after before the effective filing date of the claimed invention to modify Dodson’s invention for data management engine for providing query for information utilizing well-known or customized query languages such as SQL, JSON, XML, Javascript, regular expressions or the like wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information (e.g., metadata) that corresponds to the analyzed field node wherein the traversal is performed based on a type of the query indicated by a user and performing a traversal of the hierarchical data set based on the indicated search parameter values/identifiers by further incorporating known elements of Neo4j Java Reference for performing queries comprising wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information and tracking a position in the hierarchical data set during traversal because the prior art to Holzschuher recognizes the benefit of Neo4j in querying a graph database, language selection and performance considerations wherein Neo4j has a native Java API that offers direct retrieval and traversal methods as well as a traversal framework and some predefined algorithms for convenience and it is directly accessible when Neo4j is running in embedded mode, within the same process as the application using it to reduce the REST API functions and improve performance by reducing network overhead (i.e., “performing a traversal of the hierarchical data set, based on a unified traversal application performing interface (API) function” and “wherein the unified traversal API function is configured to traverse the hierarchical data set without calling additional API functions”). It would have been obvious to one of ordinary skill in the after before the effective filing date of the claimed invention to modify Dodson, Neo4j Java Reference, and Holzschuher comprising a data management engine for providing query for information utilizing well-known or customized query languages regular expressions or the like wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information (e.g., metadata) that corresponds to the analyzed field node wherein the traversal is performed based on a type of the query indicated by a user and performing a traversal of the hierarchical data set based on the indicated search parameter values/identifiers by further incorporating known elements of Michaelangelo’s invention which utilizes a local data storage employed to store social networking information including address books, buddy lists, aliases, user profile information, or the like and further comprising said data storage to include program code, data, algorithms, and the like, for use by a processor, such as processor 202 to execute and perform actions locally or in the alternative communicate with remote server computers regarding API calls. Regarding claim 2, “wherein the hierarchical data set is formatted in a tree structure” is further rejected on obviousness grounds as discussed in the rejection of claim 1 wherein Dodson Figs. 4, 7 and para 168 disclose a tree structure. See also Neo4j Java Reference pg. 50 creating a tree structure. Regarding claim 3, “wherein the request for the data is implemented as the unified traversal application programming interface (API) function” is further rejected on obviousness grounds as discussed in the rejection of claims 1-2 wherein Dodson para 138 discloses an API. See also Neo4j Java Reference pg. 2, 8, 22, 34, 37, 55, 72 disclosing the utilization of API. Regarding claim 4, “wherein the first value comprises a search string, wherein the traversal is the first type of traversal, and the first type of traversal is a resource search of the hierarchical data set, and wherein the resource search returns a result from the hierarchical data set that matches the search string” is further rejected on obviousness grounds as discussed in the rejection of claims 1-3 wherein Dodson para 148, 153, 162, 201 discloses search string identifiers to performing traversal based on type. See also Neo4j Java Reference pg. 41-45, 55-59 discloses embodiments for performing queries comprising wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information and tracking a position in the hierarchical data set during traversal. Regarding claim 5, “wherein the second value comprises a null value, wherein the traversal is the second type of traversal, wherein the hierarchical data set comprises a plurality of nodes, and the second type of traversal is a scan of the hierarchical data set, and wherein the scan returns a plurality of values corresponding to the plurality of nodes” is further rejected on obviousness grounds as discussed in the rejection of claims 1-4 wherein Dodson para 148, 153, 162, 201 discloses search string identifiers to performing traversal based on type. See also Neo4j Java Reference pg. 41-45, 55-59 discloses embodiments for performing queries comprising wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information and tracking a position in the hierarchical data set during traversal. See also Neo4j Java Reference pg. 13, 17, 19, 63 disclosing null values wherein pg. 5-6 discloses utilizing values and types when writing user-defined procedures and functions. Regarding claim 6, “wherein the hierarchical data set is implemented as an extensible markup language (XML) tree” is further rejected on obviousness grounds as discussed in the rejection of claims 1-5 wherein Dodson para 53, 75, 132, 164, 168, 179 discloses utilizing XML. See also Neo4j Java Reference pg. 4, 23, 28-29 utilizing XML files for querying hierarchical data. Regarding claim 7, “wherein the hierarchical data set is implemented as a javascript object notation (JSON) tree” is further rejected on obviousness grounds as discussed in the rejection of claims 1-6 wherein Dodson para 31, 38, 131-138 teaches data management engine for providing query for information utilizing well-known or customized query languages such as SQL, JSON, XML, Javascript, regular expressions or the like wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information (e.g., metadata) that corresponds to the analyzed field node wherein the traversal is terminated based on a type of the query. See also Neo4j Java Reference pg. 21-22 utilizing creation of JSON objects and JAVA JSON library. Regarding claim 8, “wherein the hierarchical data set comprises a plurality of nodes and wherein tracking the position in the hierarchical data set during the traversal comprises: incrementing an integer marker for each node of the plurality of nodes that is traversed during the traversal” is further rejected on obviousness grounds as discussed in the rejection of claims 1-7 wherein Dodson Fig. 7 and para 30-31, 33, 37-41, 131-138 teaches data management engine for providing query for information utilizing well-known or customized query languages such as SQL, JSON, XML, Javascript, regular expressions or the like wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information (e.g., metadata) that corresponding to the analyzed field node wherein the traversal is terminated based on a type of the query. Neo4j Java Reference discloses embodiments for performing queries comprising wherein queries are resolved using dependency hierarchies that correspond to a data model including traversing the hierarchy model and collecting the one or more values of information and tracking a position in the hierarchical data set during traversal (See Neo4j Java Reference pg. 41-45, 55-59 returning outputs of information tracked during query performance and tracking positions. See also Neo4j Java Reference pg. 48, 76. Regarding the system claims 10-15 and the non-transitory computer-readable claims 16-20, the claims are grouped and rejected with the method claims 1-8 because the steps of the method claims are met by the disclosure of the apparatus and methods of the reference(s) as discussed in the rejection of claims 1-8 and because the steps of the method are easily converted into elements of a computer system and non-transitory computer-readable medium by one of ordinary skill in the art. Claim(s) 9 is rejected under 35 U.S.C. 103 as being unpatentable over Dodson et al., US 20220382761A1 (hereafter Dodson) and in further view of Neo4j v4 4 Java Reference, December 2, 2021, XP093238692, Retrieved from the Internet URL https //neo4j com/docs/pdf/neo4j-java-reference-4 4 pdf, 88 pages (hereafter Neo4j Java Reference) and in further view of Querying a graph database – language selection and performance considerations, Florian Holzschuher et. al, December 2015, Journal of Computer and System Sciences, pgs. 45-68 (hereafter Holzschuher) and in further view of Michaelangelo; Nixon et al. US 20160027019 A1 (hereafter Michaelangelo) and in further view of Smith; Ned M. et al. US 20190349426 A1 (hereafter Smith). Regarding claim 9, “wherein the hierarchical data set is stored as a precompiled binary representation of a resource tree in a flash memory of the media device” wherein Dodson para 75-77, 91 teaches utilizing RAM, ROM, and other types of memory of computer-readable storage media (devices) for storage of information such as computer-readable instructions, data structures, program modules or other data, Dodson and Neo4j Java references does not mention flash memory. In an analogous art, Smith teaches the deficiency of Dodson and Neo4j (See Smith para 353-354, 1656 and 1671-1672). See also Neo4j Java Reference pg. 21-22 utilizing creation of JSON objects and JAVA JSON library and pg. 50 teaches infinite binary tree of notes in the database. See also Michaelangelo teaches a client device comprising non-volatile memory wherein para 75-80 teach the following: Data storage 210 may also be employed to store social networking information including address books, buddy lists, aliases, user profile information, or the like. Data storage 210 may further include program code, data, algorithms, and the like, for use by a processor, such as processor 202 to execute and perform actions. In one embodiment, at least some of data storage 210 might also be stored on another component of client computer 200, including, but not limited to, non-transitory processor-readable removable storage device 236, processor-readable stationary storage device 234, or even external to the client computer. [0078] Applications 220 may include computer executable instructions which, when executed by client computer 200, transmit, receive, or otherwise process instructions and data. Applications 220 may include, for example, client display engine 222, other client applications 224, web browser 226, or the like. Client computers may be arranged to exchange communications, such as, queries, searches, messages, notification messages, event messages, alerts, performance metrics, log data, API calls, or the like, combination thereof, with visualization server computers. Therefore, it would have been obvious to one of ordinary skill in the after before the effective filing date of the claimed invention to modify Dodson, Neo4j Java Reference, Holzschuher, and Michaelangelo as discussed in the rejection of claim 1 by further incorporating known elements of Smith for storing hierarchical data as a precompiled binary representation of a resource tree in a flash memory of the IOT device. CONCLUSION Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALFONSO CASTRO whose telephone number is (571)270-3950. The examiner can normally be reached on Monday to Friday from 10am to 6pm. 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, Nathan Flynn can be reached. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ALFONSO CASTRO/Primary Examiner, Art Unit 2421
Read full office action

Prosecution Timeline

Aug 25, 2023
Application Filed
Jul 16, 2025
Non-Final Rejection mailed — §103
Oct 16, 2025
Response Filed
Dec 30, 2025
Final Rejection mailed — §103
Apr 30, 2026
Request for Continued Examination
May 06, 2026
Response after Non-Final Action
Jul 29, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12744966
CONTROL DEVICE, CONTROL METHOD, AND RECORDING MEDIUM
3y 0m to grant Granted Sep 22, 2026
Patent 12707120
LOW-LATENCY CONTENT DELIVERY OVER A PUBLIC NETWORK
2y 0m to grant Granted Aug 11, 2026
Patent 12689787
SYSTEM FOR PROGRAMMING CONTENT CHANNELS
2y 5m to grant Granted Jul 21, 2026
Patent 12647640
Information Processing Apparatus, Information Processing Method, and Program
5y 1m to grant Granted Jun 02, 2026
Patent 12641188
METHOD OF BROADCASTING REAL-TIME ON-LINE COMPETITIONS AND APPARATUS THEREFOR
2y 8m to grant Granted May 26, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

3-4
Expected OA Rounds
51%
Grant Probability
70%
With Interview (+19.4%)
3y 8m (~6m remaining)
Median Time to Grant
High
PTA Risk
Based on 451 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