IP Library Granted Patent US 7,707,299
Granted Patent B2
US 7,707,299 · App. 11/562,135 · Granted Apr 27, 2010

Data package with recovery data

View Patent ↗
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 7,707,299
App. No.
11/562,135
Granted
Apr 27, 2010
Kind
B2
Abstract

An improved solution for communicating content over a network, such as a peer-to-peer network, is provided. In an embodiment of the invention, when content is published in a data package for sharing with other peers on the network, recovery data is included in the data package. Subsequently, a peer can receive a combination of content and recovery data and generate the remaining content using the recovery data. In this manner, a peer will not be prevented from obtaining content by missing a single slice of content, resulting in a higher success rate for content transmissions.

Claims (41)

1. A method of communicating content over a network, the method comprising:

obtaining recovery data based on the content, wherein the recovery data enables regeneration of at least some of the content that is not available;

generating a data package on a first peer on the network for communication over the network, the data package including the content and the recovery data;

publishing the data package to the network for processing by a second peer on the network;

receiving a portion of the data package at the second peer on the network, the portion including at least some of the recovery data and not including at least some of the content; and

generating the at least some of the content not included using the at least some of the recovery data at the second peer on the network.

2. The method of claim 1 , further comprising generating a plurality of data slices based on the data package.

3. The method of claim 2 , wherein the plurality of data slices includes:

a content slice including at least a portion of the content; and

a recovery slice including at least a portion of the recovery data.

4. The method of claim 3 , further comprising assigning a transmission priority to the plurality of data slices, wherein the recovery slice has a higher transmission priority than the content slice.

5. The method of claim 1 , the data package comprising a single data file.

6. The method of claim 1 , further comprising:

receiving a non-recovery data package over the network; and

obtaining the content from the non-recovery data package.

7. The method of claim 1 , the recovery data including a set of parity recovery segments.

8. A method of obtaining content, the method comprising:

receiving a portion of a data package on a first peer over a network, the data package including the content and recovery data for the content and the portion including at least some of the recovery data and not including at least some of the content, wherein the recovery data enables regeneration of at least some of the content that is not available;

generating the at least some of the content not included on the first peer using the at least some of the recovery data;

generating the data package for communication over the network on a second peer on the network; and

publishing the data package at the second peer on the network to the network.

9. The method of claim 8 , further comprising requesting the data package from a set of peers on a peer-to-peer network.

10. The method of claim 8 , the receiving including:

receiving a content slice including a portion of the content; and

receiving a recovery slice including at least a portion of the recovery data.

11. A system for communicating content over a network, the system comprising:

at least one computing device;

a system for obtaining recovery data based on the content, wherein the recovery data enables regeneration of at least some of the content that is not available;

a system for generating a data package for communication over the network, the data package including the content and the recovery data;

a system for publishing the data package to the network for processing by a peer on the network;

a system for receiving a portion of requested content, the portion including at least some recovery data for the requested content and not including at least some of the requested content; and

a system for generating the at least some of the requested content not included using the at least some of the recovery data.

12. The system of claim 11 , further comprising a system for generating a plurality of data slices based on the data package.

13. The system of claim 12 , wherein the system for generating the plurality of data slices further assigns a transmission priority to a data slice based on data in the data slice.

14. The system of claim 11 , wherein the network comprises a peer-to-peer network.

15. A computer program comprising program code stored on a computer-readable storage medium, which when executed, enables a computer system to implement a method of communicating content over a network, the method comprising:

obtaining recovery data based on the content, wherein the recovery data enables regeneration of at least some of the content that is not available;

generating a data package for communication over the network, the data package including the content and the recovery data;

publishing the data package to the network for processing by a peer on the network;

receiving a portion of requested content, the portion including at least some recovery data for the requested content and not including at least some of the requested content; and

generating the at least some of the requested content not included using the at least some of the recovery data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 034194/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2006
From: PAGAN, WILLIAM G.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 018546/0254 →