IP Library Granted Patent US 9,716,733
Granted Patent B2
US 9,716,733 · App. 14/135,217 · Granted Jul 25, 2017

System and method for reusing file portions between different file formats

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 9,716,733
App. No.
14/135,217
Granted
Jul 25, 2017
Kind
B2
Abstract

An electronic device with one or more processors, memory and a display obtains information that enables distribution of content to a plurality of clients having different file format processing capabilities. The device provides, to a first client, first information that enables access to respective content in a first file format and provides, to a second client, second information that enables access to the respective content in a second file format different from the first file format. The first information identifies a first set of file portions that can be combined to generate the respective content in the first file format. The second information identifies a second set of file portions that can be combined to generate the respective content in the second file format. The second set of file portions includes one or more shared file portions that are included in the first set of file portions.

Claims (83)

1. A method, comprising:

at a computer system including one or more processors and memory:

obtaining information that enables distribution of content in a peer-to-peer network comprising a plurality of clients having different file format processing capabilities, the obtained information indicating respective locations in the peer-to-peer network at which file portions are stored;

providing to a first client, having first file format processing capabilities, first information from the obtained information that enables the first client to access respective content in a first file format; and

providing to a second client, having second file format processing capabilities different from the first file format processing capabilities, second information from the obtained information that enables the second client to access respective content in a second file format different from the first file format, wherein:

the first information identifies a first set of file portions distributed in the peer-to-peer network that includes file portions that can be combined to generate the respective content in the first file format;

the second information identifies a second set of file portions distributed in the peer-to-peer network that includes file portions that can be combined to generate the respective content in the second file format;

the second set of file portions includes one or more shared file portions that are included in the first set of file portions;

a leading portion in the first set of file portions is different from a leading portion of the second set of file portions;

the leading portion of the first set of file portions is followed by the one or more shared file portions;

the leading portion of the second set of file portions is followed by the one or more shared file portions; and

the leading portion of the second set of file portions includes respective metadata that is not included in the leading portion of the first set of file portions.

2. The method of claim 1 , wherein the first file format provides functionality that is not provided by the second file format.

3. The method of claim 1 , wherein the second file format provides functionality that is not provided by the first file format.

4. The method of claim 1 , wherein:

the leading portion of the first set of file portions is followed by the one or more shared file portions in a respective order; and

the leading portion of the second set of file portions is followed by the one or more shared file portions in the respective order.

5. The method of claim 1 , wherein the respective metadata is appended to a beginning of the leading portion of the second set of file portions.

6. The method of claim 1 , wherein:

each file portion of the first and second sets of file portions comprises a respective plurality of clusters, and

the second information has a file header that includes a cluster index, the cluster index enabling to identify respective file clusters within the second set of file portions.

7. The method of claim 1 , wherein:

each file portion of the first and second sets of file portions comprises a respective plurality of clusters, each cluster of the respective plurality of clusters comprising a respective group of frames, and

the second information has a file header that includes an identifier that points to a metadata file, the metadata file including one or more cluster headers that enable searching to identify respective frames within the second set of file portions.

8. The method of claim 1 , wherein:

the first set of file portions includes file portions that are compatible with the first file format; and

the second set of file portions includes file portions that are compatible with the first file format and modification information that enables the second client to generate file portions that are compatible with the second file format from file portions in the first format.

9. The method of claim 8 , wherein the modification information enables the second client to alter metadata from the second set of file portions to generate file portions that are compatible with the second file format.

10. The method of claim 8 , wherein the modification information includes information that enables the second client to transcode the second set of file portions from the first file format to the second file format to generate file portions that are compatible with the second file format.

11. The method of claim 1 , wherein:

the first set of file portions further includes respective file portions that are not compatible with the first file format and first modification information that enables the first client to generate file portions that are compatible with the first file format from the respective file portions that are not compatible with the first file format; and

the second set of file portions further includes respective file portions that are not compatible with the second file format and second modification information that enables the second client to generate file portions that are compatible with the second file format from the respective file portions that are not compatible with the second file format.

12. The method of claim 11 , wherein:

the first modification information enables the first client to alter metadata from the respective portions to generate file portions that are compatible with the first file format; and

the second modification information enables the second client to alter metadata from the respective portions to generate file portions that are compatible with the second file format.

13. The method of claim 11 , wherein:

the first modification information includes information that enables the first client to transcode the first set of file portions from a respective file format to the first file format to generate file portions that are compatible with the first file format; and

the second modification information includes information that enables the second client to transcode the second set of file portions from the respective file format to the second file format to generate file portions that are compatible with the second file format.

14. A computer system, comprising:

one or more processors; and

memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:

obtaining information that enables distribution of content in a peer-to-peer network comprising a plurality of clients having different file format processing capabilities, the obtained information indicating respective locations in the peer-to-peer network at which file portions are stored;

providing to a first client, having first file format processing capabilities, first information from the obtained information that enables the first client to access respective content in a first file format; and

providing to a second client, having second file format processing capabilities different from the first file format processing capabilities, second information from the obtained information that enables the second client to access respective content in a second file format different from the first file format, wherein:

the first information identifies a first set of file portions distributed in the peer-to-peer network that can be combined to generate the respective content in the first file format;

the second information identifies a second set of file portions distributed in the peer-to-peer network that can be combined to generate the respective content in the second file format;

the second set of file portions includes one or more shared file portions that are included in the first set of file portions;

a leading portion in the first set of file portions is different from a leading portion of the second set of file portions;

the leading portion of the first set of file portions is followed by the one or more shared file portions;

the leading portion of the second set of file portions is followed by the one or more shared file portions; and

the leading portion of the second set of file portions includes respective metadata that is not included in the leading portion of the first set of file portions.

15. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computer system with one or more processors, cause the computer system to:

obtain information that enables distribution of content in a peer-to-peer network comprising a plurality of clients having different file format processing capabilities, the obtained information indicating respective locations in the peer-to-peer network at which file portions are stored;

provide to a first client, having first file format processing capabilities, first information from the obtained information that enables the first client to access respective content in a first file format; and

provide to a second client, having second file format processing capabilities different from the first file format processing capabilities, second information from the obtained information that enables the second client to access respective content in a second file format different from the first file format, wherein:

the first information identifies a first set of file portions distributed in the peer-to-peer network that can be combined to generate the respective content in the first file format;

the second information identifies a second set of file portions distributed in the peer-to-peer network that can be combined to generate the respective content in the second file format;

the second set of file portions includes one or more shared file portions that are included in the first set of file portions;

a leading portion in the first set of file portions is different from a leading portion of the second set of file portions;

the leading portion of the first set of file portions is followed by the one or more shared file portions;

the leading portion of the second set of file portions is followed by the one or more shared file portions; and

the leading portion of the second set of file portions includes respective metadata that is not included in the leading portion of the first set of file portions.

16. A method, comprising:

at a computer system including one or more processors and memory:

obtaining information that enables distribution of content in a peer-to-peer network comprising a plurality of clients having different file format processing capabilities, the obtained information indicating respective locations in the peer-to-peer network at which file portions are stored;

providing to a first client, having first file format processing capabilities, first information from the obtained information that enables the first client to access respective content in a first file format; and

providing to a second client, having second file format processing capabilities different from the first file format processing capabilities, second information from the obtained information that enables the second client to access respective content in a second file format different from the first file format, wherein:

the first information identifies a first set of file portions distributed in the peer-to-peer network that includes file portions that can be combined to generate the respective content in the first file format;

the second information identifies a second set of file portions distributed in the peer-to-peer network that includes file portions that can be combined to generate the respective content in the second file format;

the second set of file portions includes a set of shared file portions that are included in the first set of file portions;

a leading portion of the first set of file portions is different from a leading portion of the second set of file portions;

the leading portion of the first set of file portions is followed by the set of shared file portions in a respective order; and

the leading portion of the second set of file portions is followed by the set of shared file portions in the respective order.

17. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computer system with one or more processors, cause the computer system to:

obtain information that enables distribution of content in a peer-to-peer network comprising a plurality of clients having different file format processing capabilities, the obtained information indicating respective locations in the peer-to-peer network at which file portions are stored;

provide to a first client, having first file format processing capabilities, first information from the obtained information that enables the first client to access respective content in a first file format; and

provide to a second client, having second file format processing capabilities different from the first file format processing capabilities, second information from the obtained information that enables the second client to access respective content in a second file format different from the first file format, wherein:

the first information identifies a first set of file portions distributed in the peer-to-peer network that can be combined to generate the respective content in the first file format;

the second information identifies a second set of file portions distributed in the peer-to-peer network that can be combined to generate the respective content in the second file format;

the second set of file portions includes a set of shared file portions that are included in the first set of file portions;

a leading portion of the first set of file portions is different from a leading portion of the second set of file portions;

the leading portion of the first set of file portions is followed by the set of shared file portions in a respective order; and

the leading portion of the second set of file portions is followed by the set of shared file portions in the respective order.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jun 13, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SPOTIFY AB
Reel/Frame 038982/0327 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Dec 29, 2014
From: SPOTIFY AB
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 034709/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2014
From: HOFFERT, ERIC; STRIGEUS, LUDVIG; OMAN, ANDREAS
To: SPOTIFY AB
Reel/Frame 032371/0507 →