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 .
Double Patenting
2. A rejection based on double patenting of the “same invention” type finds its support in the language of 35 U.S.C. 101 which states that “whoever invents or discovers any new and useful process... may obtain a patent therefor...” (Emphasis added). Thus, the term “same invention,” in this context, means an invention drawn to identical subject matter. See Miller v. Eagle Mfg. Co., 151 U.S. 186 (1894); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Ockert, 245 F.2d 467, 114 USPQ 330 (CCPA 1957).
A statutory type (35 U.S.C. 101) double patenting rejection can be overcome by canceling or amending the claims that are directed to the same invention so they are no longer coextensive in scope. The filing of a terminal disclaimer cannot overcome a double patenting rejection based upon 35 U.S.C. 101.
3. Claims 1-20 is/are rejected under 35 U.S.C. 101 as claiming the same invention as that of claim 1-20 of prior U.S. Patent No. (US 11611615 B1). This is a statutory double patenting rejection.
Instant app# 18/839,709
U.S. Patent No. (US 11,611,615 B1)
1. A method for decentralized storage, comprising:
dividing, by a source node in a decentralized network, a file into a plurality of file portions;
for each given file portion in the plurality of file portions, locating a corresponding peer storage node in the decentralized network,
wherein a distance between the corresponding peer storage node and the given file portion is below a given threshold,
wherein the distance is computed based on an identifier of the corresponding peer storage node and an identifier of the given file portion, and
wherein the given threshold is associated with a storage capacity of the corresponding peer storage node;
transmitting, by the source node, each given file portion to the corresponding peer storage node; and
generating, by the source node, a file identifier for the file, based on the identifiers of the plurality of file portions.
2. The method of claim 1, wherein for each given file portion in the plurality of file portions, the locating the corresponding peer storage node in the decentralized network comprises:
gossiping the identifier of the given file portion through the decentralized network; and receiving a location notification from the corresponding peer storage node, wherein the location notification indicates that the distance between the corresponding peer storage node and the given file portion is below the given threshold associated with the storage capacity of the corresponding peer storage node.
3. The method of claim 1, wherein for each given file portion in the plurality of file portions, the locating the corresponding peer storage node in the decentralized network comprises: retrieving, by the source node, a list of registered peer storage nodes from a blockchain; and selecting the corresponding peer storage node from the list of registered peer storage nodes.
4. The method of claim 1, wherein the identifier of the corresponding peer storage node and the identifier of the given file portion are computed using a hash function.
5. The method of claim 1, wherein the identifier of the corresponding peer storage node is computed based on a crypto wallet address associated with the corresponding peer storage node.
6. The method of claim 1, wherein the generating of the file identifier comprises performing a vector commitment scheme on the identifiers of the plurality of file portions.
7. The method of claim 1, further comprising: submitting the file identifier to a smart contract.
8. The method of claim 1, further comprising: performing a distributed hash table (DHT) lookup using the file identifier, to determine the identifier of each of the plurality of file portions;
for each given file portion of the plurality of file portions, performing a DHT lookup on the identifier of the given file portion to determine an address for a peer storage node storing the given file portion;
retrieving each given file portion from the peer storage node storing the given file portion, using the determined address; and
assembling the retrieved file portions into the file.
9. A source node system in a decentralized network for decentralized storage, comprising:
at least one processor; and a non-transitory physical medium for storing program code accessible by the processor, the program code when executed by the processor causes the processor to:
divide a file into a plurality of file portions; for each given file portion in the plurality of file portions,
locate a corresponding peer storage node in the decentralized network,
wherein a distance between the corresponding peer storage node and the given file portion is below a given threshold,
wherein the distance is computed based on an identifier of the corresponding peer storage node and an identifier of the given file portion, and
wherein the given threshold is associated with a storage capacity of the corresponding peer storage node;
transmit each given file portion to the corresponding peer storage node; and
generate a file identifier for the file, based on the identifiers of the plurality of file portions.
10. The source node system of claim 9, wherein for each given file portion in the plurality of file portions, the program code to locate the corresponding peer storage node, when executed by the processor, causes the processor to: gossip the identifier of the given file portion through the decentralized network; and receive a location notification from the corresponding peer storage node, wherein the location notification indicates that the distance between the corresponding peer storage node and the given file portion is below the given threshold associated with the storage capacity of the corresponding peer storage node.
11. The source node system of claim 9, wherein for each given file portion in the plurality of file portions, the program code to locate the corresponding peer storage node, when executed by the processor, causes the processor to: retrieve a list of registered peer storage nodes from a blockchain; and select the corresponding peer storage node from the list of registered peer storage nodes.
12. The source node system of claim 9, wherein the identifier of the corresponding peer storage node and the identifier of the given file portion is computed using a hash function.
13. The source node system of claim 9, wherein the identifier of the corresponding peer storage node is computed based on a crypto wallet address associated with the corresponding peer storage node.
14. The source node system of claim 9, wherein the program code to generate the file identifier, when executed by the processor, causes the processor to: perform a vector commitment scheme on the identifiers of the plurality of file portions.
15. The source node system of claim 9, wherein the program code when executed by the processor further causes the processor to: submit the file identifier to a smart contract.
16. The source node system of claim 9, wherein the program code when executed by the processor further causes the processor to: perform a distributed hash table (DHT) lookup using the file identifier, to determine the identifier of each of the plurality of file portions; for each given file portion of the plurality of file portions, perform a DHT lookup on the identifier of the given file portion to determine an address for a peer storage node storing the given file portion; retrieve each given file portion from the peer storage node storing the given file portion, using the determined address; and assemble the retrieved file portions into the file.
17. A method for decentralized storage, comprising:
receiving, by a peer storage node, a file portion of a file, wherein the file is divided into a plurality of file portions by a source node;
computing, by the peer storage node, a distance based on an identifier of the received file portion, and an identifier of the peer storage node;
determining, by the peer storage node, whether the distance is below a threshold associated with a storage capacity of the peer storage node; and
storing the received file portion in the peer storage node in response to determining that the distance is below the threshold.
18. The method of claim 17, wherein the identifier of the peer storage node and the identifier of the received file portion are computed using a hash function.
19. The method of claim 17, wherein the identifier of the peer storage node is computed based on a crypto wallet address associated with the peer storage node.
20. The method of claim 17, further comprising :
retrieving a random number from a blockchain; computing a reward hash, based on the received file portion and the random number; and submitting the reward hash to a smart contract on the blockchain.
1. A method for decentralized storage, comprising:
dividing, by a source node in a decentralized network, a file into a plurality of file portions;
for each given file portion in the plurality of file portions, locating a corresponding peer storage node in the decentralized network,
wherein a distance between the corresponding peer storage node and the given file portion is below a given threshold,
wherein the distance is computed based on an identifier of the corresponding peer storage node and an identifier of the given file portion, and
wherein the given threshold is associated with a storage capacity of the corresponding peer storage node;
transmitting, by the source node, each given file portion to the corresponding peer storage node; and
generating, by the source node, a file identifier for the file, based on the identifiers of the plurality of file portions.
2. The method of claim 1, wherein for each given file portion in the plurality of file portions, the locating the corresponding peer storage node in the decentralized network comprises: gossiping the identifier of the given file portion through the decentralized network; and receiving a location
notification from the corresponding peer storage node, wherein the location notification indicates that the distance between the corresponding peer storage node and the given file portion is below the given threshold associated with the storage capacity of the corresponding peer storage node.
3. The method of claim 1, wherein for each given file portion in the plurality of file portions, the locating the corresponding peer storage node in the decentralized network comprises: retrieving, by the source node, a list of registered peer storage nodes from a blockchain; and selecting the corresponding peer storage node from the list of registered peer storage nodes.
4. The method of claim 1, wherein the identifier of the corresponding peer storage node and the identifier of the given file portion are computed using a hash function.
5. The method of claim 1, wherein the identifier of the corresponding peer storage node is computed based on a crypto wallet address associated with the corresponding peer storage node.
6. The method of claim 1, wherein the generating of the file identifier comprises performing a vector commitment scheme on the identifiers of the plurality of file portions.
7. The method of claim 1, further comprising: submitting the file identifier to a smart contract.
8. The method of claim 1, further comprising: performing a distributed hash table (DHT) lookup using the file identifier, to determine the identifier of each of the plurality of file portions;
for each given file portion of the plurality of file portions, performing a DHT lookup on the identifier of the given file portion to determine an address for a peer storage node storing the given file portion;
retrieving each given file portion from the peer storage node storing the given file portion, using the determined address; and
assembling the retrieved file portions into the file.
9. A source node system in a decentralized network for decentralized storage, comprising:
at least one processor; and a non-transitory physical medium for storing program code accessible by the processor, the program code when executed by the processor causes the processor to:
divide a file into a plurality of file portions; for each given file portion in the plurality of file portions,
locate a corresponding peer storage node in the decentralized network,
wherein a distance between the corresponding peer storage node and the given file portion is below a given threshold,
wherein the distance is computed based on an identifier of the corresponding peer storage node and an identifier of the given file portion, and
wherein the given threshold is associated with a storage capacity of the corresponding peer storage node;
transmit each given file portion to the corresponding peer storage node; and
generate a file identifier for the file, based on the identifiers of the plurality of file portions.
10. The source node system of claim 9, wherein for each given file portion in the plurality of file portions, the program code to locate the corresponding peer storage node, when executed by the processor, causes the processor to: gossip the identifier of the given file portion through the decentralized network; and receive a location notification from the corresponding peer storage node, wherein the location notification indicates that the distance between the corresponding peer storage node and the given file portion is below the given threshold associated with the storage capacity of the corresponding peer storage node.
11. The source node system of claim 9, wherein for each given file portion in the plurality of file portions, the program code to locate the corresponding peer storage node, when executed by the processor, causes the processor to: retrieve a list of registered peer storage nodes from a blockchain; and select the corresponding peer storage node from the list of registered peer storage nodes.
12. The source node system of claim 9, wherein the identifier of the corresponding peer storage node and the identifier of the given file portion is computed using a hash function.
13. The source node system of claim 9, wherein the identifier of the corresponding peer storage node is computed based on a crypto wallet address associated with the corresponding peer storage node.
14. The source node system of claim 9, wherein the program code to generate the file identifier, when executed by the processor, causes the processor to: perform a vector commitment scheme on the identifiers of the plurality of file portions.
15. The source node system of claim 9, wherein the program code when executed by the processor further causes the processor to: submit the file identifier to a smart contract.
16. The source node system of claim 9, wherein the program code when executed by the processor further causes the processor to: perform a distributed hash table (DHT) lookup using the file identifier, to determine the identifier of each of the plurality of file portions; for each given file portion of the plurality of file portions, perform a DHT lookup on the identifier of the given file portion to determine an address for a peer storage node storing the given file portion; retrieve each given file portion from the peer storage node storing the given file portion, using the determined address; and assemble the retrieved file portions into the file.
17. A method for decentralized storage, comprising:
receiving, by a peer storage node, a file portion of a file, wherein the file is divided into a plurality of file portions by a source node;
computing, by the peer storage node, a distance based on an identifier of the received file portion, and an identifier of the peer storage node;
determining, by the peer storage node, whether the distance is below a threshold associated with a storage capacity of the peer storage node; and
storing the received file portion in the peer storage node in response to determining that the distance is below the threshold.
18. The method of claim 17, wherein the identifier of the peer storage node and the identifier of the received file portion are computed using a hash function.
19. The method of claim 17, wherein the identifier of the peer storage node is computed based on a crypto wallet address associated with the peer storage node.
20. The method of claim 17, further comprising:
retrieving a random number from a blockchain; computing a reward hash, based on the received file portion and the random number; and submitting the reward hash to a smart contract on the blockchain.
Conclusion
4. Any inquiry concerning this communication or earlier communications from the examiner should be directed to Kidest Mendaye whose telephone number is (571)272-2603. The examiner can normally be reached on Monday through Friday 7:00 am-5:00pm EST. 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, Ario Etienne can be reached on (571) 272-4001. 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.
12/22/2025
/KIDEST MENDAYE/
Examiner, Art Unit 2457
/ARIO ETIENNE/Supervisory Patent Examiner, Art Unit 2457