NON-FINAL OFFICE 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 .
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1-3, 6, 11-16, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over U.S. Patent Pub. No. 2021/0119805 to Zhuo et al. (hereinafter Zhuo) in view of “Secure Data Storage and Recovery in Industrial Blockchain Network Environments” by Liang et al. (hereinafter Liang).
Zhuo discloses:
1. A data processing method based on a blockchain network, the blockchain network comprising a witness network and a consensus network, the witness network being formed by multiple service nodes, the consensus network being formed by multiple consensus nodes, and the witness network and the consensus network establishing a communication connection (para. [0078] and Fig. 6, validating peers 604-608 and non-validating peers 612-618), the method comprising:
when determining that a target block needs to be recovered based on a check block of the target block, obtaining the check block from the service node in the witness network (paras. [0033], [0080], [0081] and Fig. 6, Vhash1);
recovering the target block based on the check block obtained from the service node in the witness network (paras. [0033], [0066], [0068]), wherein:
the target block being a block on a blockchain maintained by the consensus node in the consensus network (para. [0079] and Fig. 6, Block 100, Data1); the check block of the target block stored by the service node being obtained by the service node when synchronizing related block data of the target block from the consensus node in the consensus network (paras. [0080], [0081]); the check block being obtained by the consensus node in the consensus network by encoding the target block using the coding matrix (paras. [0080], [0081])); and the check block being configured for recovering the target block (paras. [0033], [0066], [0068]).
Zhuo does not disclose expressly:
determining a data recovery reference matrix based on a coding matrix and the check block obtained from the service node in the witness network; and
recovering the target block based on the data recovery reference matrix and the check block obtained from the service node in the witness network.
Liang teaches:
determining a data recovery reference matrix based on a coding matrix and the check block obtained from the service node in the witness network; and
recovering the target block based on the data recovery reference matrix and the check block obtained from the service node in the witness network (pp. 6547-6548, “B. Efficient Blockchain-Based Recovery Algorithm” and Algorithm 2).
Before the effective filing date of the claimed invention, it would have been obvious to a person of ordinary skill in the art to modify Zhuo by determining a data recovery matrix based on coding matrix and check block and using it to recover the target bloc, as taught by Liang. A person of ordinary skill in the art would have been motivated to do so in order to be able to “quickly repair multiple failed nodes, due to excellent local repairability and reduced overhead of disk input/output,” as discussed by Liang (p. 6548).
Modified Zhuo discloses:
2. The method according to claim 1, wherein the method further comprises:
if detecting that the target block needs to be recovered, a percentage of abnormal consensus nodes in the consensus network exceeds a set percentage, and the service node in the witness network does not store all block data of the target block, determining that the target block needs to be recovered based on the check block of the target block (Zhuo – para. [0066]).
3. The method according to claim 1, wherein the target block has K check blocks, wherein K is a positive integer greater than 1 (Liang – p. 6546, n check blocks Yi); and the determining a data recovery reference matrix based on a coding matrix and the check block obtained from the service node in the witness network; and recovering the target block based on the data recovery reference matrix and the check block obtained from the service node in the witness network comprises:
when the K check blocks of the target block are obtained from the service node in the witness network, obtaining, from the coding matrix, matrix elements corresponding to the K check blocks (Liang - pp. 6546-6548, Algorithm 2 and formula (14));
determining the data recovery reference matrix based on the obtained matrix elements corresponding to the K check blocks, and determining an inverse matrix of the data recovery reference matrix (Liang - pp. 6546-6548, Algorithm 2 and formula (14)); and
recovering the target block based on the inverse matrix of the data recovery reference matrix and the K check blocks (Liang - pp. 6546-6548, Algorithm 2 and formula (14)).
6. The method according to claim 1, wherein the target block has K check blocks, wherein K is a positive integer greater than 1 (Liang – p. 6546, n check blocks Yi); and the method further comprises:
obtaining a block header of a reference block from the service node in the witness network; wherein the reference block is a next block of the target block on the blockchain, and the block header of the reference block comprises a root of a Merkle tree constructed based on the K check blocks corresponding to the target block (Zhuo – paras. [0046], [0048], [0067]); and
discarding a check block that is of the obtained check blocks of the target block and that does not match the root of the Merkle tree comprised in the block header of the reference block (Zhuo – paras. [0046], [0048], [0067]).
11. A data processing method based on a blockchain network, the blockchain network comprising a witness network and a consensus network, the witness network being formed by multiple service nodes, the consensus network being formed by multiple consensus nodes, and the witness network and the consensus network establishing a communication connection (Zhuo - para. [0078] and Fig. 6, validating peers 604-608 and non-validating peers 612-618), the method comprising:
transmitting a block synchronization request to the consensus node in the consensus network, the block synchronization request carrying a synchronization block height and a node identifier of the target service node, the synchronization block height being a block height of a target block that needs to be synchronized, and the target block being a block on a blockchain maintained by the consensus node in the consensus network, and the block synchronization request requesting the consensus node to return related data of the target block (Zhuo – paras. [0083], [0084]);
receiving the related data of the target block returned by the consensus node, the related data comprising a block header of the target block, transaction data that is comprised in the target block accessible by the target service node, and a matching check block that is of K check blocks corresponding to the target block and that matches the node identifier, the K check blocks being obtained by encoding the target block using a coding matrix, and K being a positive integer greater than 1 (Zhuo – paras. [0048], [0080], [0081], and Liang - p. 6546, n check blocks Yi)); and
storing the related data of the target block, the stored matching check block being used by the consensus node in the consensus network to recover the target block (Khuo - paras. [0033], [0066], [0068] and Liang - pp. 6546-6548, Algorithm 2 and formula (14)).
12. The method according to claim 11, wherein the method further comprises:
receiving a check block obtaining request about the target block transmitted by a target consensus node in the consensus network, the check block obtaining request being broadcast by the target consensus node to the service node in the witness network when the target consensus node determines that the target block needs to be recovered based on the check block of the target block (Liang - pp. 6546-6548, Algorithm 2); and
transmitting the stored matching check block corresponding to the target block to the target consensus node, the target consensus node recovering the target block based on the matching check block (Liang - pp. 6546-6548, Algorithm 2 and formula (14)).
13. The method according to claim 11, wherein the method further comprises:
obtaining a block header of a reference block synchronized from the consensus node in the consensus network, wherein the reference block is a next block of the target block on the blockchain, and the block header of the reference block comprises a root of a Merkle tree constructed based on the K check blocks corresponding to the target block (Zhuo – paras. [0046], [0048], [0067]); and
if the matching check block in the related data matches the root of the Merkle tree comprised in the block header of the reference block, storing the matching check block (Zhuo – paras. [0046], [0048], [0067]).
Claims 14-16 and 19 are a computer device for performing the identical method as recited in claims 1-3 and 6, and are rejected under the same rationale.
Allowable Subject Matter
Claims 4, 5, 7-10, 17, 18, and 20 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Philip Guyton whose telephone number is (571)272-3807. The examiner can normally be reached M-F 8:00-4:30.
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, Bryce Bonzo can be reached at (571)272-3655. 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.
/PHILIP GUYTON/Primary Examiner, Art Unit 2113