IP Library › Granted Patent US 11,573,997
Granted Patent B2
US 11,573,997 · App. 16/372,127 · Granted Feb 7, 2023

Efficient data distribution to multiple devices

Inventor: Michael Chen (Wallingford, PA)
Assignee: COMCAST CABLE COMMUNICATIONS, LLC
G06F16/43
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 11,573,997
App. No.
16/372,127
Granted
Feb 7, 2023
Kind
B2
Abstract

Methods and systems for providing content are disclosed. Content may be provided to a first device. A manifest file may be generated. The content may be provided to a second device.

Claims (40)

1. A method comprising:

sending, to a device, a first portion of a media file;

and

sending, based on a second portion of the media file not being sent, a manifest file, wherein the manifest file comprises information that facilitates playback, by the device, of a plurality of data fragments of the second portion of the media file without requiring the device to have access to the first portion.

2. The method of claim 1 , further comprising sending, based on a request associated with the information in the manifest file, the plurality of data fragments to another device.

3. The method of claim 1 , further comprising determining the plurality of data fragments based on at least one of: a device usage history, a media download history, a media viewing history, or an instruction.

4. The method of claim 1 , further comprising determining that the second portion of the media file was not sent based on at least one of: network connectivity, a memory constraint, a storage constraint, or a hardware failure.

5. The method of claim 1 , wherein sending the manifest file comprises re-indexing the plurality of data fragments.

6. The method of claim 5 , wherein re-indexing the plurality of data fragments comprises indexing the plurality of data fragments as a beginning of the media file.

7. The method of claim 1 , wherein the information that facilitates playback of the plurality of data fragments comprises at least one of: a temporal playback order of the plurality of data fragments or location identifiers indicating locations from which to retrieve the plurality of data fragments.

8. A method comprising:

sending, to a device, a first portion of a media file, wherein the first portion comprises a plurality of data fragments;

and

sending, based on the first portion, a manifest file, wherein the manifest file comprises information that facilitates playback of the plurality of data fragments by the device without requiring the device to have access to a second portion of the media file.

9. The method of claim 8 , further comprising sending, based on a request associated with the information in the manifest file, the plurality of data fragments to another device.

10. The method of claim 8 , further comprising determining the plurality of data fragments based on at least one of: a device usage history, a media download history, a media viewing history, or an instruction.

11. The method of claim 8 , further comprising determining that the second portion of the media file was not sent based on at least one of: network connectivity, a memory constraint, a storage constraint, or a hardware failure.

12. The method of claim 8 , wherein sending the manifest file comprises at least one of: re-indexing the plurality of data fragments, replacing index values of the plurality of data fragments with different index values, or adjusting uniform resource locators associated with the plurality of data fragments.

13. The method of claim 8 , wherein the information that facilitates playback of the plurality of data fragments comprises at least one of: a temporal playback order of the plurality of data fragments or location identifiers indicating locations from which to retrieve the plurality of data fragments.

14. An apparatus, comprising:

one or more processors; and

a memory storing processor executable instructions that, when executed by the one or more processors, cause the apparatus to:

send, to a device, a first portion of a media file; and

send, based on a second portion of the media file not being sent, a manifest file, wherein the manifest file comprises information that facilitates playback, by the device, of a plurality of data fragments without requiring the device to have access to the first portion.

15. The apparatus of claim 14 , wherein the processor executable instructions further cause the apparatus to send, based on a request associated with the information in the manifest file, the plurality of data fragments to another device.

16. The apparatus of claim 14 , wherein the processor executable instructions further cause the apparatus to determine the plurality of data fragments based on at least one of: a device usage history, a media download history, a media viewing history, or an instruction.

17. The apparatus of claim 14 , wherein the processor executable instructions further cause the apparatus to determine that the second portion of the media file was not sent based on at least one of: network connectivity, a memory constraint, a storage constraint, or a hardware failure.

18. The apparatus of claim 14 , wherein the processor executable instructions that cause the apparatus to send the manifest file further cause the apparatus to re-index the plurality of data fragments.

19. The apparatus of claim 14 , wherein the information that facilitates playback of the plurality of data fragments comprises at least one of: a temporal playback order of the plurality of data fragments or location identifiers indicating locations from which to retrieve the plurality of data fragments.

20. An apparatus, comprising:

one or more processors; and

a memory storing processor executable instructions that, when executed by the one or more processors, cause the apparatus to:

send, to a device, a first portion of a media file, wherein the first portion comprises a plurality of data fragments;

and

send, based on the first portion, a manifest file, wherein the manifest file comprises information that facilitates playback, by the device, of the plurality of data fragments without requiring the device to have access to a second portion of the media file.

21. The apparatus of claim 20 , wherein the processor executable instructions further cause the apparatus to send, based on a request associated with the information in the manifest file, the plurality of data fragments to another device.

22. The apparatus of claim 20 , wherein the processor executable instructions further cause the apparatus to determine the plurality of data fragments based on at least one of: a device usage history, a media download history, a media viewing history, or an instruction.

23. The apparatus of claim 20 , wherein the processor executable instructions further cause the apparatus to determine that the second portion of the media file was not sent based on at least one of: network connectivity, a memory constraint, a storage constraint, or a hardware failure.

24. The apparatus of claim 20 , wherein the processor executable instructions further cause the apparatus to re-index the plurality of data fragments, replace index values of the plurality of data fragments with different index values, or adjust uniform resource locators associated with the plurality of data fragments.

25. The apparatus of claim 20 , wherein the information that facilitates playback of the plurality of data fragments comprises at least one of: a temporal playback order of the plurality of data fragments or location identifiers indicating locations from which to retrieve the plurality of data fragments.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2021
From: CHEN, MICHAEL
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 057516/0874 →
Continuity (3)
Continuation 15624178 · Jun 15, 2017
Continuation 13835487 · Mar 15, 2013
Related Publication 20200034382A1 · Jan 30, 2020