DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant’s arguments, see Remarks pg. 6, filed 10/16/2025, with respect to the status of the claims is hereby acknowledged. Claims 1-20 are pending. Claims 1, 3, 10, 12, 16, and 18 are amended.
Applicant’s arguments, see Remarks pg. 6-7, filed 10/16/2025, 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).
Regarding claim 1, “a computer-implemented method for a media device identifying data stored within a hierarchical data set, comprising: receiving 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. 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 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. 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.
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”).
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 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.
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, and Holzschuher 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
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, 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).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
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