Method and apparatus for sharing media files among network nodes
First Claim
1. A method for sharing a file, the method comprising:
- dividing at least some of the file into a sequence of data blocks;
forming k segments, each of the k segments including some of the data blocks, wherein k is a finite integer greater than 1 and determined in accordance with a predefined minimum uploading bandwidth;
causing at least a first device and a second device to locally cache at least one of the k segments; and
designating the first device to supply a first portion of the one of the k segments and the second device to supply a second portion of the one of the k segments to a third device at substantially similar time, wherein the first and second portions are interleaved and multiplexed to reassemble the one of the k segments in the third device.
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.
162 Citations
20 Claims
-
1. A method for sharing a file, the method comprising:
-
dividing at least some of the file into a sequence of data blocks; forming k segments, each of the k segments including some of the data blocks, wherein k is a finite integer greater than 1 and determined in accordance with a predefined minimum uploading bandwidth; causing at least a first device and a second device to locally cache at least one of the k segments; and designating the first device to supply a first portion of the one of the k segments and the second device to supply a second portion of the one of the k segments to a third device at substantially similar time, wherein the first and second portions are interleaved and multiplexed to reassemble the one of the k segments in the third device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for sharing a file, the method comprising:
-
dividing a file pertaining to a title into a sequence of data chunks, wherein the title is included in a release to update the library in each of boxes in service; designating an initial set of seeding boxes to receive the data chunks collectively, each of the seeding boxes receiving at least some of the data chunks; and causing each of the seeding boxes to propagate at least some or all of the received data chunks to a set of the boxes, wherein one of the boxes receives one of the data chunks from a first one and a second one of the seeding boxes concurrently, and wherein data from the first one and the second one is interleaved and multiplexed to recover the one of the data chunks. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system for sharing a file, the system comprising:
-
at least a first device and a second device, each locally caching a data segment; an ordering device configured to receive the data segment; and a server configured to designate the first device to upload a first portion of the data segment to the ordering device, and the second device to upload a second portion of the data segment to the ordering device in accordance with respective uploading bandwidths for the first and second devices, wherein the first and second portions are interleaved determine. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification