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 .
Examiner’s Note
The claimed “off-chain” conditions is defined within the specifications as time or username; see paragraph 13 of the PGPub version of the specifications.
The claimed “off-chain parameter” is defined as any parameter that is not specific to the blockchain, such as a string or value; see paragraph 15 of the PGPub version of the specifications.
Election/Restrictions
Claims 24-25 are cancelled from further consideration pursuant to 37 CFR 1.142(b) as being drawn to a nonelected classification of invention, there being no allowable generic or linking claim. Election was made without traverse in the reply filed on February 2, 2026.
Claims 1-3, 5-14, 18-20, and 34-35 are currently pending.
IDS
The IDS documents filed on December 7, 2023 and February 22, 2026 have been considered.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-3, 5-14, 18-20, and 34-35 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim(s) recite(s) creating nodes, arranging them in a tree along with parameter information. This judicial exception is not integrated into a practical application because the claimed limitations. The claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the claims do not recite an improvement to the computing technology nor do they claim something that cannot merely be performed by a mental process. As such they are directed to an abstract idea and not deemed statutory. A more detailed analysis follows.
A. Claim 1 is analyzed according to SME flowchart. Claim 1 is directed to a computer-implemented method. According to step 1, one or more child nodes with data payloads, are created of a target parent node. According to step 2, an edge between each target child node and the target parent node is formed, each target child node is associated with a respective link identifier that is based on at least one off-chain parameter.
B. When considering step 2A, prong 1, claim 1 recites an abstract idea. The type of abstract is categorized under a mental process. The claimed invention creates nodes in a parent-child layout, the nodes having data. Edges between the parent and child nodes are created. Each child node is associated with a link ID based on an off-chain parameter (i.e. string or value). The dependent claims discuss possible variations such as what types of data can be an off-chain parameter (i.e. time or user-specific parameters), and the parameters being encrypted.
The same rationale applied to independent claims 34-35.
With respect to dependent claims 2-3, 5-14, and 18-20 broad concepts such as variations of what can be a parameter does not impact the functions of the mental process.
C. The additional features of claim 1 are considered in step 2A, prong 2. The additional features of claim 1 are considered for determination of whether the claims are integrated in a practical application. The first addition feature is the implementation by a computer, which would indicate the implementation is a computer like machine. A computer is used as a tool for implementing the functions claimed not to make an improvement to computer technology.
The second additional limitation is a blockchain and a tree layout for the blockchain nodes The blockchain and the tree layout for the blockchain nodes are not an improvement in computer technology, they are forms of organizing data. The claims do not recite an improvement to the computing technology, nor do they recite steps that could not be done mentally.
Thus, claim 1 fails to recite additional features to integrate into a practical application in a technological environment or field of use.
The same rationale applied to independent claims 34-35.
Dependent claims 2-3, 5-14, and 18-20 do not add further improvement to the computing technology, nor do they recite steps that could not be done mentally.
D. The additional limitations of claim 1 are considered in Step 2B. Claim 1 does not recite additional limitations that amount to more than the judicial exception. One additional limitation is the tree structure which is a well understood type of data structure such as a listing. The tree structure does not integrate the invention in a technological field or a particular machine. Placing the nodes a tree structure is preprocessing not an integration into a technical solution. Another additional limitation is associating each child node with a link ID based on a parameter, such as a string or value. Again, this is just an approach to organizing data and does not amount to significant more than the abstract idea. The claim does not make an improvement to computer technology.
The same rationale applied to independent claims 34-35.
Dependent claims 2-3, 5-14, and 18-20 do not add further improvement to the computing technology, nor do they recite steps that could not be done mentally. They do not make an improvement to computer technology.
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-3, 5-14, 18-20, and 34-35 are rejected under 35 U.S.C. 103 as being unpatentable over Saket et al (US PGPub No: 2020/0379977) in view of Struttmann et al (US PGPub No: 2018/0205552), hereafter referred to as Saket and Struttmann, respectively.
With regard to claims 1, 34, and 35, Saket teaches through Struttmann, a computer-implemented method of creating different versions of a tree structure overlaid on a blockchain, the tree structure comprising a set of nodes and edges between nodes, wherein each node is a different transaction recorded on the blockchain, wherein each edge connects from a respective child node to a respective parent node, wherein one of the parent nodes is a root node of the tree structure, wherein each node is associated with a respective key, wherein each child node comprises i) a respective transaction identifier, and ii) a signature corresponding to the respective key associated with the respective parent node, and wherein the method is performed by a tree creator and comprises: creating one or more target child nodes of a target parent node, each target child node comprising a respective data payload (Saket teaches generating and adding a new blockchain leaf node (child node) to a merkle tree; see paragraph 83, Saket. Saket explains each node having up to two child nodes in a merkle tree; see paragraph 47, Saket. These two “sibling” nodes (two child nodes having the same parent node) share a parent node, with a path from a leaf to the root node see paragraph 47, Saket. Saket goes on to explain how each blockchain node (including leaf node) can receive blocks for storage; see paragraph 119, Saket. Each block contains a variety of transactional information including payload visibility (i.e. target child node has block with payload); see paragraph 124, Saket);
and forming a respective edge between each target child node and the target parent node by associating each of the target child nodes with a respective link identifier, wherein the respective link identifier is based on at least one off-chain parameter (see below).
While Saket teaches a blockchain with nodes in a tree structure connected by paths, Saket does not explicitly cite edge between child and parent nodes with a respective link identifier, each respective link identifier being based on at least one off-chain parameter (such as a value or string based on the applicant’s specifications). In the same field of endeavor Struttmann also teaches a network that supports blockchains in graphs such as tree structures (like Merkle trees) as well as children; see paragraphs 82-83, Struttmann. Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps amongst other types of values); see paragraphs 7 and 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 2, Saket teaches through Struttmann, the method wherein at least two of the target child nodes are associated with different respective link identifiers
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 3, Saket teaches through Struttmann, the method wherein each of the target child nodes are associated with a different respective link identifier
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Position indices would be different for each child node, since the nodes are in a tree format.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 5, Saket teaches through Struttmann, the method comprising receiving one, some or each of the respective link identifiers from one or more entities other than the tree creator
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Information can be delivered via third party; see paragraph 311, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 6, Saket teaches through Struttmann, the method wherein one, some or each of the respective link identifiers are generated by supplying a respective set of off-chain parameters to a respective link identifier function that is configured to generate a link identifier based on a set of parameters
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) or position-dependent (include position information); see paragraph 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 7, Saket teaches through Struttmann, the method wherein one, some or each of the respective link identifiers are generated by supplying a respective set of off-chain parameters to a same link identifier function.
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) hash function (same link identifier function since different positions are not applied to each of the functions); see paragraph 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 8, Saket teaches through Struttmann, the method wherein at least two of the respective link identifiers are generated by supplying a respective set of off-chain parameters to a different link identifier function
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-dependent (include position information) hash function (different link identifier function since the positions are different for each edge); see paragraph 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 9, Saket teaches through Struttmann, the method, wherein the respective set of off- chain parameters supplied to the respective link identifier function comprises one, some or each of: one or more time-related parameters, one or more user-specific parameters, one or more parameters specific to a group of users, one or more weighting parameters, one or more dataset-specific parameters, and one or more application-specific parameters
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Timestamp is a time-related parameter.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 10, Saket teaches through Struttmann, the method wherein in addition to the respective set of off- chain parameters, a transaction identifier of the target parent node is also supplied to the respective link identifier function to generate the respective link identifier
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Unique identifier can by applied; see paragraph 212, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 11, Saket teaches through Struttmann, the method wherein one or more of the respective set of parameters supplied to the link identifier function are encrypted
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) or position-dependent (include position information); see paragraph 181, Struttmann. Encryption of data is supported; see paragraph 226, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 12, Saket teaches through Struttmann, the method wherein one, some or each of the respective link identifiers are generated based on a different value of at least one same parameter
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-dependent (include position information) hash function (different value for each edge); see paragraph 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 13, Saket teaches through Struttmann, the method wherein the link identifier function comprises a hash function
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) hash function (same link identifier function since different positions are not applied to each of the functions); see paragraph 181, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 14, Saket teaches through Struttmann, the method wherein one, some or each of the target child nodes are associated with a respective user (Saket teaches leaf (child) nodes corresponding to an authorizing client; see paragraph 87, Saket).
With regards to claim 18, Saket teaches through Struttmann, the method wherein one, some or each of the respective link identifiers are generated by supplying a respective set of off-chain parameters to a respective link identifier function that is configured to generate a link identifier based on a set of parameters; the method comprising receiving one or more respective link identifiers from one or more respective users
Saket teaches leaf (child) nodes corresponding to an authorizing client; see paragraph 87, Saket. However, Saket does not explicitly cite edge between child and parent nodes with a respective link identifier, each respective link identifier being based on at least one off-chain parameter (such as a value or string based on the applicant’s specifications).
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) hash function (same link identifier function since different positions are not applied to each of the functions); see paragraph 181, Struttmann. Struttmann explains how user credentials can be fragmented and placed into different blockchain blocks.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 19, Saket teaches through Struttmann, the method wherein one, some or each of the respective link identifiers are generated by supplying a respective set of off-chain parameters to a respective link identifier function that is configured to generate a link identifier based on a set of parameters; the method comprising receiving one or more respective sets of parameters from one or more respective users
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) hash function (same link identifier function since different positions are not applied to each of the functions); see paragraph 181, Struttmann. Struttmann explains how the user can supply a variety of the parameters used; see paragraph 48, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
With regards to claim 20, Saket teaches through Struttmann, the method comprising embedding proof-of- work into the respective edge between at least one target child node and the parent node by generating a respective link identifier satisfying a predetermined difficulty, wherein the respective link identifier is generated by supplying the respective set of parameters and a nonce value to the respective link identifier function
Struttmann teaches how nodes within the graphs/trees can have two or more edges and each edge includes identifying values (such as timestamps, position indices, and other types of values); see paragraphs 7 and 181, Struttmann. Values to be used can be set, for instance the edge can be position-agnostic (do not include position information) hash function (same link identifier function since different positions are not applied to each of the functions); see paragraph 181, Struttmann. Struttmann explains how the graphs can store proof of work when untrusted; see paragraph 153, Struttmann.
By using trees in a blockchain, such as Merkle trees that support edges, fast response times can be provided; see paragraph 81, Struttmann. Therefore it would have been obvious to one skilled in the art, before the effective filing date, to have combined the teachings of Struttmann with those of Saket, to provide fast response times in a blockchain.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AZIZUL Q CHOUDHURY whose telephone number is (571)272-3909. The examiner can normally be reached M-F.
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, EMMANUEL MOISE can be reached at (571) 272-3865. 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.
/AZIZUL CHOUDHURY/Primary Examiner, Art Unit 2455