IP Library Patent Application 13176498
Patent Application
App. No. 13/176,498

METHOD AND APPARATUS FOR DATA STORAGE IN A PEER-TO-PEER NETWORK

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/176,498
Abstract

One embodiment of the present invention provides a peer-to-peer (P2P) data-storage system. The system includes a P2P network, a file upload module configured to receive a file uploaded by a user, a file processing module configured to disassemble the received file into a plurality of file blocks and select a plurality of peer nodes from the P2P network, and a file distribution module configured to distribute the file blocks to the selected peer nodes. A respective file block is distributed to a respective peer node.

Claims (78)

1 . A method for storing data in a peer-to-peer (P2P) network, comprising:

receiving a file uploaded by a user;

disassembling the received file into a plurality of file blocks;

selecting a plurality of peer nodes from the P2P network; and

distributing the file blocks to the selected peer nodes, wherein a respective file block is distributed to a respective peer node, and wherein distributing the respective file block to the respective peer node further involves:

determining whether the respective peer node is behind a firewall; and

in response to the selected peer node being behind a firewall, establishing a tunnel.

2 . The method of claim 1 , wherein the peer nodes include at least one of:

a plug computer;

a desktop computer;

a set top box; and

a wireless router.

3 . The method of claim 1 , further comprising:

generating multiple copies of the respective file block; and

distributing each copy to a different peer node, thereby resulting in the multiple copies of the respective file block being distributed to multiple different peer nodes.

4 . The method of claim 3 , further comprising:

monitoring the multiple different peer nodes;

in response to at least one of the multiple different peer nodes becoming unreachable:

identifying a file block stored in the unreachable peer node;

replicating the identified file block; and

storing the replicated file block in a different peer node in the P2P network.

5 . The method of claim 1 , further comprising encrypting the received file.

6 . The method of claim 1 , further comprising maintaining a tracker file, wherein the tracker file includes index information associated with the file blocks and the selected peer nodes.

7 . The method of claim 1 , further comprising maintaining a log file.

8 . The method of claim 1 , wherein distributing the file blocks to the selected peer nodes involves:

notifying a selected peer node that a file block is scheduled for distribution; and

allowing the selected peer node to download the scheduled file block.

9 . A peer-to-peer (P2P) data-storage system, comprising:

a P2P network;

a file upload module configured to receive a file uploaded by a user;

a file processing module configured to:

disassemble the received file into a plurality of file blocks; and

select a plurality of peer nodes from the P2P network;

a file distribution module configured to distribute the file blocks to the selected peer nodes, wherein a respective file block is distributed to a respective peer node; and

a tunnel module configured to establish a tunnel to a selected peer node that is behind a firewall.

10 . The P2P data-storage system of claim 9 , wherein the peer nodes include at least one of:

a plug computer;

a desktop computer;

a set top box; and

a wireless router.

11 . The P2P data-storage system of claim 9 , further comprising a replication module configured to generate multiple copies of the respective file block, and wherein the file distribution module is further configured to distribute each copy to a different peer node, thereby resulting in the multiple copies of the respective file block being downloaded to multiple different peer nodes.

12 . The P2P data-storage system of claim 11 , wherein the replication module is further configured to:

monitor the multiple different peer nodes;

in response to at least one of the multiple different peer nodes becoming unreachable:

identify a file block stored in the unreachable peer node; and

replicate the identified file block; and

wherein the file distribution module is configured to distribute the replicated file block to a different peer node in the P2P network.

13 . The P2P data-storage system of claim 9 , further comprising an encryption module configured to encrypt the received file.

14 . The P2P data-storage system of claim 9 , further comprising a tracker module configured to maintain a tracker file, wherein the tracker file includes index information associated with the file blocks and the selected peer nodes.

15 . The P2P data-storage system of claim 9 , further comprising a log module configured to maintain a log file.

16 . The P2P data-storage system of claim 9 , further comprising an event module configured to notify a selected peer node that a file block is scheduled for distribution.

17 . A non-transitory computer-readable storage medium storing instructions which when executed by a computer cause the computer to perform a method for storing data in a peer-to-peer (P2P) network, the method comprising:

receiving a file;

disassembling the received file into a plurality of file blocks;

selecting a plurality of peer nodes from the P2P network; and

distributing the file blocks to the selected peer nodes, wherein a respective file block is distributed to a respective peer node, and wherein distributing the respective file block to the respective peer node further involves:

determining whether the respective peer node is behind a firewall; and

in response to the selected peer node being behind a firewall, establishing a tunnel.

18 . The computer-readable storage medium of claim 17 , wherein the peer nodes include at least one of:

a plug computer;

a desktop computer;

a set top box; and

a wireless router.

19 . The computer-readable storage medium of claim 17 , wherein the method further comprises:

generating multiple copies of the respective file block; and

distributing each copy to a different peer node, thereby resulting in the multiple copies of the respective file block being distributed to multiple different peer nodes.

20 . The computer-readable storage medium of claim 19 , wherein the method further comprises:

monitoring the multiple different peer nodes;

in response to at least one of the multiple different peer nodes becoming unreachable:

identifying a file block stored in the unreachable peer node;

replicating the identified file block; and

storing the replicated file block in a different peer node in the P2P network.

21 . The computer-readable storage medium of claim 17 , wherein the method further comprises encrypting the received file.

22 . The computer-readable storage medium of claim 17 , wherein the method further comprises maintaining a tracker file, wherein the tracker file includes index information associated with the file blocks and the selected peer nodes.

23 . The computer-readable storage medium of claim 17 , wherein the method further comprises maintaining a log file.

24 . The computer-readable storage medium of claim 17 , wherein distributing the file blocks to the selected peer nodes involves:

notifying a selected peer node that a file block is scheduled for distribution; and

allowing the selected peer node to download the scheduled file block.

Assignments (2)
CONFIRMATORY PATENT ASSIGNMENT Recorded Feb 12, 2014
From: ROXBEAM (BEIJING) MEDIA NETWORK CORPORATION (DOING BUSINESS AS ROXBEAM MEDIA NETWORK CORPORATION); ROXBEAM MEDIA NETWORK CORPORATION
To: TV BANK CORPORATION
Reel/Frame 032251/0643 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2011
From: ZHANG, XINYAN; ZHOU, LI
To: ROXBEAM MEDIA NETWORK CORPORATION
Reel/Frame 026709/0770 →