Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Claims 1-20 are pending in this application.
Claim Objections
Claim 1 is objected to because of the following informalities: there is an typographical error after predetermined “s” of nodes in the next to the last limitation. The “s” should be removed. Appropriate correction is required.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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 1-2, 4, 10-11, 17 and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Baudet et al (“Baudet” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17)
Regarding claim 1, Baudet discloses a method for organizing operation of a distributed network, the distributed network comprising a plurality of nodes and a plurality of clients in communication, the method executed on at least one of a computing device of one or more of the nodes, a computing device of one or more of the clients, or another computing device, the method comprising:
directing each client, which desires to transition a state associated with the client, to communicate a request for state transition to the nodes; (Baudet describes on Pages 1-8 that the sender issues a transfer order to all authorities in its shard. To initiate a payment, the client sends the signed transfer order containing the recipient, amount, sequence number to all authorities. A transfer order is a request by the client to change its account state such as spend funds, lower balance, update sequence number. The sender wants to spend coins/update an account and the client sends the transfer order to all authorities)
directing the nodes to evaluate the validity of each request received from each client; (Baudet describes on Pages 1-8 each authority checks the transfer order, verifies the sender’s signature and checks that the sequence number matches the expected next sequence and ensures sufficient balance. If the payment order is valid, the authority signs it. Signature verification, sequence number check, balance check read on evaluate the validity and authorities independently validate every incoming transfer order [each request received from each client])
directing each node, which has validated the request, to change a state associated with the clients that sent the validated request to a pre-commitment state, (Baudet describes on Pages 1-8 that authorities lock the account by recording the sequence number and marking the transfer as pending. The signed transfer order indicates that the authority has approved the transfer, but the payment is not yet final. The authority marks transfer as pending/locked until the quorum certificate [pre-commitment state]).
and communicate to the client, which communicated the validated request, a signed acknowledgement that the request has been validated; (Baudet describes on Pages 1-8 that each authority signs the transfer order and returns the signature to the sender. The signature constitutes proof that the authority has approved the transfer [signed acknowledgement])
directing the clients that received signed acknowledgments to collate all the signed acknowledgments received from the nodes; (Baudet describes on Pages 1-8 the sender collects 2f+1 signed transfer orders and aggregates them into a quorum certificate. A certificate is a bundle of authority signatures [collating signed acknowledgements from the nodes])
where the client has collated signed acknowledgments from at least a predetermined s of nodes, directing the client to communicate the collated acknowledgements to the nodes; (Baudet describes on Pages 1-8 that a payment certificate requires 2f+1 signatures from authorities [predetermined number of nodes] which is the BFT fault-tolerance threshold. The sender transmits the certificate which are the aggregated signatures back to the authorities and the authorities verify the certificate and then apply the state update).
and directing each node to advance the state associated with each client that communicated collated acknowledgements from the pre-commitment state to a next state (Baudet describes on Pages 1-8 upon receiving a valid certificate, the authority executes the transfer, deducts the balance, updates the sequence number, and credits the recipients account. The account is unlocked and moved to the new state [this is the next state] following the pending/locked [pre-commitment] state)
Regarding claim 2, Baudet discloses the method of claim 1.
Baudet further discloses wherein the predetermined number of nodes comprises a sufficient majority as determined under a byzantine fault tolerant or asynchronous byzantine fault tolerant consensus scheme, (Baudet discloses on Pages 1-8, a Byzantine Fault Tolerant quorum of 2f+1 authorities in a BFT/partially asynchronous BFT model as the predetermined number of nodes required for client state transition)
Regarding claim 4, Baudet discloses the method of claim 1.
Baudet further discloses wherein the state of each client is maintained on at least a portion of the nodes based on a token account, (Baudet describes on Pages 1-8 that each user maintains an account with a balance and sequence number. Each authority stores the balance and sequence number for each account it manages. A transfer reduces the sender’s balance and increases the recipients balance. Each shard consists of a committee of authorities responsible for the accounts assigned to that shard. Each authority stores the state for the accounts in its shard. Only the authorities in one shard maintain the account state for a given client. Other authorities do not store the client’s state. The account represents the value [a token] with the balance and sequence number).
Regarding claim 10, Baudet discloses a method for operating a node on a distributed network, the node executed on a computing device, the method comprising:
receiving a state transition request associated with a client on the distributed network; (Baudet on Pages 1-8 describe clients submitting transfer orders to authorities [nodes] where the sender issues a transfer order to the authorities and the sender sends the signed transfer order to each authority in its shard [this is a state transition request because it’s a request to modify account balances])
evaluating the validity of the request received from the client; (Baudet on Pages 1-8 describe authorities validate the transfer order where each authority checks the transfer order, verifies the signature, checks the sequence number, checks the balance and authorities verify the payment order before signing)
where the request is valid, changing a state associated with the client to a pre-commitment state, (Baudet on Pages 1-8 describe after validation, the authorities sign the transfer order, a signed transfer order represents approval, but he payment is not yet final, finality requires a quorum certificate this creates a intermediate state between a proposal received and a final committed transfer [pre-commitment condition])
and communicating a signed acknowledgement that the request has been validated to the client; (Baudet on Pages 1-8 describe the authorities return their signature on the transfer order to the sender and each authority produces a signed approval message)
receiving, from the client, collated acknowledgements from at least a predetermined number of nodes; (Baudet on Pages 1-8 describe the sender collects a quorum (2F+1) of signed transfer orders from the authorities. The sender assembles these signatures into a certificate (quorum certificate). The sender submits the certificate to the authorities for finalization)
and advancing the state associated with the client from the pre-commitment state to a next state, (Baudet on Pages 1-8 describe upon receipt of a valid certificate, the authority decreases the sender’s balance and increases the recipient’s balance. The certificate finalizes the transfer. Finalization moves the account to its new state. The quorum is validated but unsigned [pre-commitment state] and the final committed balances updated refers to the next state).
Regarding claim 11, claim 11 is a directed to the method of claim 10. Claim 11 is similar in scope to claim 2 and is therefore rejected under the same rationale.
Regarding claim 17, Baudet discloses a method for operating a client on a distributed network, the client executed on a computing device, the method comprising:
where the client desires to transition a state associated with the client, communicating a request for state transition to nodes on the distributed network; (Baudet describes on Pages 1-8 that the client constructs a transfer order containing the recipient, amount, sequence number and client’s signature. The client sends this transfer order to all authorities [validating/nodes]. Users send operations to partially-trusted shared authorities to create/spend coins; those operations change the user’s account/coin state).
received a signed acknowledgement that the state transition request has been validated from a plurality of the nodes; (Baudet describes on Pages 1-8 that each authority verifies the transfer order (signature, sequence number, balance) and if valid the authority signs the order and sends back its signature [signed acknowledgement] to the sender. A coin is defined as a quorum of validator signatures as a certificate binding an account ID and value. Those signatures arise from authorities signing a spend/create operation)
where signed acknowledgments have been received from at least a predetermined number of nodes, collating the signed acknowledgments received from the plurality of nodes; (Baudet describes on Pages 1-8 that the user collects the signatures from a quorum of authorities [signed acknowledgements], and uses them to form a transfer certificate and the Quorum size is 2f+1 [predetermined number] of n authorities. Signatures are assembled into a certificate by an aggregate/combined proof [collating]. A coin is a certificate-a quorum of validator signatures over (id, s, v))
and communicating the collated acknowledgements to the nodes to advance the state associated with the client to a next state (Baudet describes on Pages 1-8 that, after forming the certificate, the sender broadcasts the certificate back to the committee. The sender now has at least 2f+1 signed certificates. The sender broadcasts to the committee to aggregate the certificate. The committee verifies the certificate, updates the account balance, increments the sequence number, then unlocks the account. The collated acknowledgements correspond to an aggregate certificate. The client sends this back to the nodes and the nodes verify and then update account state [advance from the old state to the new state. A certificate with a quorum of validator signatures is presented in subsequent protocol steps to cause coin/account state changes (spend, redeem)).
Regarding claim 20, claim 20 is a directed to a distributed network. Claim 20 is similar in scope to claim 1 and is therefore rejected under the same rationale.
Claims 3 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Baudet et al (“Baudet,” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17) and further in view of Zhuo et al (“Zhuo,” US 20200167345).
Regarding claim 3, Baudet discloses the method of claim 1.
Baudet fails to explicitly disclose wherein a history of states for each client is recorded in a cryptographically linked hash chain, merkle structure, or graph.
However, in an analogous art, Zhuo discloses wherein a history of states for each client is recorded in a cryptographically linked hash chain, merkle structure, or graph, (Zhuo describes wherein a history of states [0004] for each client [0115] is recorded in a cryptographically linked hash chain, merkle structure [0116], or graph)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Zhuo with Baudet to include wherein a history of states for each client is recorded in a cryptographically linked hash chain, merkle structure, or graph. One would have been motivated to provide a method and an apparatus for storing blockchain state data, and an electronic device, (Zhuo, [0002]).
Regarding claim 19, Baudet discloses the method of claim 17.
Baudet fails to explicitly disclose wherein a history of states for the client is recorded in a cryptographically linked hash chain, merkle structure, or graph.
However, in an analogous art, Zhuo discloses wherein a history of states for the client is recorded in a cryptographically linked hash chain, merkle structure, or graph, (Zhuo describes wherein a history of states [0004] for each client [0115] is recorded in a cryptographically linked hash chain, merkle structure [0116], or graph)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Zhuo with Baudet to include wherein a history of states for the client is recorded in a cryptographically linked hash chain, merkle structure, or graph. One would have been motivated to provide a method and an apparatus for storing blockchain state data, and an electronic device, (Zhuo, [0002]).
Claims 5 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Baudet et al (“Baudet,” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17) and further in view of Youb et al (“Youb,” US 20190080392).
Regarding claim 5, Baudet discloses the method of claim 1.
Baudet fails to explicitly disclose wherein state transitions are charged against the token account at a fixed rate or at a rate based on computing work or resources.
However, in an analogous art, Youb discloses wherein state transitions are charged against the token account at a fixed rate or at a rate based on computing work or resources (Youb describes [0069], [0074], [0081] wherein state transitions are charged against the token account at a fixed rate or at a rate based on computing work or resources [0133])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Youb with Baudet to include wherein state transitions are charged against the token account at a fixed rate or at a rate based on computing work or resources. One would have been motivated to provide system and methods for conducting transactions (Youb, [0002]).
Regarding claim 12, Baudet discloses the method of claim 10.
Baudet fails to explicitly disclose wherein state transitions are charged against a token account associated with the client at a fixed rate or at a rate based on computing work or resources.
However, in an analogous art, Youb discloses wherein state transitions are charged against a token account associated with the client at a fixed rate or at a rate based on computing work or resources, (Youb describes [0069], [0074], [0081] wherein state transitions are charged against the token account at a fixed rate or at a rate based on computing work or resources [0133])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Youb with Baudet to include wherein state transitions are charged against the token account at a fixed rate or at a rate based on computing work or resources. One would have been motivated to provide system and methods for conducting transactions (Youb, [0002]).
Claims 6 and 13 are rejected under 35 U.S.C. 103 as being unpatentable Baudet et al (“Baudet,” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17) and further in view of Thai et al (“Thai,” US 20210406872).
Regarding claim 6, Baudet discloses the method of claim 1.
Baudet fails to explicitly disclose wherein the nodes are assigned into shards, each shard maintaining states for a subset of the clients of the distributed network.
However, in an analogous art, Thai discloses wherein the nodes are assigned into shards, each shard maintaining states for a subset of the clients of the distributed network, (Thai discloses wherein the nodes [0018] are assigned into shards [0024], each shard maintaining states [0024] for a subset of the clients [0060] of the distributed network [0080], [0062])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Thai with Baudet to include wherein the nodes are assigned into shards, each shard maintaining states for a subset of the clients of the distributed network. One would have been motivated to provide computer storage of digital assets (Thai, [0002]).
Regarding claim 13, Baudet discloses the method of claim 10.
Baudet fails to explicitly disclose wherein the node is assigned a shard, where each shard maintains states for a subset of the clients of the distributed network.
However, in an analogous art, Thai discloses wherein the node is assigned a shard, where each shard maintains states for a subset of the clients of the distributed network, (Thai discloses wherein the nodes [0018] are assigned into shards [0024], each shard maintaining states [0024] for a subset of the clients [0060] of the distributed network [0080], [0062])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Thai with Baudet to include wherein the node is assigned a shard, where each shard maintains states for a subset of the clients of the distributed network. One would have been motivated to provide computer storage of digital assets (Thai, [0002]).
Claims 7, 14 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Baudet et al (“Baudet,” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17) and further in view of Wu et al (“Wu,” US 20190188711).
Regarding claim 7, Baudet disclose the method of claim 1.
Baudet fails to explicitly disclose wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client that is desirous to transition the state.
However, in an analogous art, Wu discloses wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client that is desirous to transition the state, (Wu describes [0007]-[0008], wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client that is desirous to transition the state; also see [0006]-[0007], [0147]-[0151])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Wu with Baudet to include wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client that is desirous to transition the state. One would have been motivated to provide blockchain and other distributed ledger technologies (Wu, [0002]).
Regarding claim 14, Baudet discloses the method of claim 10.
Baudet fail to explicitly disclose wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the node against the state of the client.
However, in an analogous art, Wu discloses wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the node against the state of the client, (Wu describes [0007]-[0008], wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the node against the state of the client; also see [0006]-[0007], [0147]-[0151])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Wu with Baudet to include wherein where state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the node against the state of the client. One would have been motivated to provide blockchain and other distributed ledger technologies (Wu, [0002]).
Regarding claim 18, Baudet discloses the method of claim 17.
Baudet fails to explicitly disclose wherein state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client.
However, in an analogous art, Wu discloses wherein state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client, (Wu describes [0007]-[0008], wherein state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client; also see [0006]-[0007], [0147]-[0151])
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Wu with Baudet to include wherein state transitions are divided into sending and receiving halves, and wherein the receiving halves are buffered on the nodes against the state of the client. One would have been motivated to provide blockchain and other distributed ledger technologies (Wu, [0002]).
Claims 8 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Baudet et al (“Baudet,” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17) and further in view of Sharma et al (“Sharma,” US 10,983,981).
Regarding claim 8, Baudet discloses the method of claim 1.
Baudet fail to explicitly disclose wherein directing the nodes to evaluate the validity of each request received from each client comprises using an ACID (atomicity, consistency, isolation, durability) paradigm.
However, in an analogous art, Sharma discloses wherein directing the nodes to evaluate the validity of each request received from each client comprises using an ACID (atomicity, consistency, isolation, durability) paradigm, (Sharma discloses wherein directing the nodes (Col. 2, Line 20) to evaluate the validity of each request (Col. 13, Line 9) received from each client (Col. 15, Line 49) comprises using an ACID (atomicity, consistency, isolation, durability) paradigm as described in (Col. 2, Lines 16-30))
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Sharma with Baudet to include wherein directing the nodes to evaluate the validity of each request received from each client comprises using an ACID (atomicity, consistency, isolation, durability) paradigm. One would have been motivated to provide a distributed key-value database having a high degree of conformance to ACID properties to ensure that a transaction is reliability processed (Col. 1, Lines 62-66)
Regarding claim 15, Baudet disclose the method of claim 10.
Baudet fails to explicitly disclose wherein evaluating the validity of the request comprises using an ACID (atomicity, consistency, isolation, durability) paradigm.
However, in an analogous art, Sharma discloses wherein evaluating the validity of the request comprises using an ACID (atomicity, consistency, isolation, durability) paradigm, (Sharma discloses wherein directing the nodes (Col. 2, Line 20) to evaluate the validity of each request (Col. 13, Line 9) received from each client (Col. 15, Line 49) comprises using an ACID (atomicity, consistency, isolation, durability) paradigm as described in (Col. 2, Lines 16-30))
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Sharma with Baudet to include wherein evaluating the validity of the request comprises using an ACID (atomicity, consistency, isolation, durability) paradigm. One would have been motivated to provide a distributed key-value database having a high degree of conformance to ACID properties to ensure that a transaction is reliability processed (Col. 1, Lines 62-66)
Claims 9 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Baudet et al (“Baudet,” “FastPay: High Performance Byzantine Fault Tolerant Settlement,” March 25, 2020, Pages 1-17) and further in view of Banerjee et al (“Banerjee,” US 7,478,400).
Regarding claim 9, Baudet discloses the method of claim 1.
Baudet fails to explicitly disclose wherein the state transitions can include Precommit, Preabort, Update, Commit, or Abort.
However, in an analogous art, Banerjee discloses wherein the state transitions can include Precommit, Preabort, Update, Commit, or Abort, (Banerjee describes wherein the state transitions (Col. 16, Line 5) can include Precommit (Col. 6, Line 32), Preabort (Col. 10, Lines 14-15), Update, Commit (Col. 7, Line 1), or Abort (Col. 14, Line 47))
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Banerjee with Baudet to include wherein the state transitions can include Precommit, Preabort, Update, Commit, or Abort. One would have been motivated to provide efficient distributed transaction protocol for a distributed file sharing system (Banerjee, Col. 1, Lines 8-11)
Regarding claim 16, Baudet discloses the method of claim 10.
Baudet fails to explicitly disclose wherein the state transitions can include Precommit, Preabort, Update, Commit, or Abort.
However, in an analogous art, Banerjee discloses wherein the state transitions can include Precommit, Preabort, Update, Commit, or Abort, (Banerjee describes wherein the state transitions (Col. 16, Line 5) can include Precommit (Col. 6, Line 32), Preabort (Col. 10, Lines 14-15), Update, Commit (Col. 7, Line 1), or Abort (Col. 14, Line 47))
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claim invention to combine the teachings of Banerjee with Baudet to include wherein the state transitions can include Precommit, Preabort, Update, Commit, or Abort. One would have been motivated to provide efficient distributed transaction protocol for a distributed file sharing system (Banerjee, Col. 1, Lines 8-11)
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAMES J WILCOX whose telephone number is (571)270-3774. The examiner can normally be reached M-F: 8 A.M. to 5 P.M..
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, Luu T. Pham can be reached on (571)270-5002. 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.
/JAMES R TURCHEN/Primary Examiner, Art Unit 2439
/JAMES J WILCOX/Examiner, Art Unit 2439