Method and apparatus for sharing media files among network nodes
First Claim
1. A method for sharing a data file among a plurality of devices in a network, the method comprising:
- partitioning at least a portion of the data file into a sequence of data blocks;
forming a number of segments, wherein each of the segments includes a plurality of the data blocks and wherein the number of segments is determined in accordance with a predefined minimum uploading bandwidth;
causing each of a first device and a second device, of the plurality of devices, to locally store at least a first segment of the number of segments;
configuring each of the first device and the second device to propagate, in response to determining that the network has a certain amount of bandwidth available, a set of locally stored segments, of the number of segments, wherein the first device and the second device propagates the set of locally stored segments to other devices, of the plurality of devices, which do not already store the set of locally stored segments; and
configuring each of the first device and the second device to cease the propagation of locally stored segments whenever that device is instructed to serve a particular data file for playback for a user.
6 Assignments
0 Petitions
Accused Products
Abstract
Techniques for sharing data among a plurality of networked devices, also referred to network nodes, are discussed. To best use an available uploading bandwidth of a device sharing data with a receiving device, a portion of the data is uploaded within the available uploading bandwidth, and another portion of the data is uploaded from another device locally caching the same data. To satisfy the minimum transmission rate of the data to the receiving device, both portions of the data are concurrently uploaded from the two devices to the receiving device. In reference to a predetermined minimum uploading bandwidth and the available uploading bandwidth, the two portions of data are interleaved and must be reassembled to recover the data for consumption in the receiving device. A size of the first portion of the data is determined by a server in view of the available uploading bandwidth a designated supplying box has.
-
Citations
19 Claims
-
1. A method for sharing a data file among a plurality of devices in a network, the method comprising:
-
partitioning at least a portion of the data file into a sequence of data blocks; forming a number of segments, wherein each of the segments includes a plurality of the data blocks and wherein the number of segments is determined in accordance with a predefined minimum uploading bandwidth; causing each of a first device and a second device, of the plurality of devices, to locally store at least a first segment of the number of segments; configuring each of the first device and the second device to propagate, in response to determining that the network has a certain amount of bandwidth available, a set of locally stored segments, of the number of segments, wherein the first device and the second device propagates the set of locally stored segments to other devices, of the plurality of devices, which do not already store the set of locally stored segments; and configuring each of the first device and the second device to cease the propagation of locally stored segments whenever that device is instructed to serve a particular data file for playback for a user. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for sharing a data file among a plurality of devices in a network, the method comprising:
-
partitioning at least a portion of the data file into a sequence of data blocks, wherein the data file pertains to a title that is included in a library and wherein the library is updated in each of the plurality of devices in the network; configuring a first set of devices, of the plurality of devices, to receive the sequence of data blocks collectively, such that each device in the first set receives at least one of the data blocks; configuring each of a first device and a second device of the first set of devices to propagate, in response to determining that the network has a certain amount of bandwidth available, a set of locally stored data blocks, of the sequence of data blocks, to other devices, of the plurality of devices, which do not already store the set of locally stored data blocks; and configuring each of the first device and the second device to cease the propagation of locally stored data blocks whenever that device is instructed to serve a particular data file for playback for a user. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system for sharing a data file among a plurality of devices in a network, the system comprising:
-
a first device and a second device, of the plurality of devices, each locally storing at least a first data segment of a plurality of data segments pertaining to the data file, wherein each of the plurality of devices is configured to; propagate, in response to determining that the network has a certain amount of bandwidth available, a set of locally stored segments, of the number of segments, to other devices, of the plurality of devices, which do not already store the set of locally stored segments; and cease the propagation of locally stored segments whenever that device is instructed to serve a particular data file for playback for a user; a third device, of the plurality of devices, configured to initiate a request for the first data segment; and a server to receive the request from the third device and configure the first and second devices to transmit respective first and second portions of the first data segment, concurrently, to the third device. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification