IP Library Granted Patent US 9,876,840
Granted Patent B2
US 9,876,840 · App. 13/207,368 · Granted Jan 23, 2018

Method and apparatus for dynamically generating media sequences on demand for HTTP live streaming

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,876,840
App. No.
13/207,368
Granted
Jan 23, 2018
Kind
B2
Abstract

Dynamically generating media sequence files on demand for HTTP live streaming is described. The operations may include receiving a request for a media sequence file, over a network utilizing HTTP live streaming, based on a forward or backward seek operation of a remote media player; in response to the request, determining a position of a media source file that corresponds to the media sequence file to enable seeking to the position of the media source file to generate the media sequence file from the media source file; and facilitating provision of a notification that the media sequence file is generated. The media sequence file represents one of sequential portions of the media source file. The format of the media sequence file is different from a format of the media source file. The format of the media sequence file is compatible with the remote media player.

Claims (131)

1. A method for dynamically generating media sequence files on demand for hypertext transfer protocol (HTTP) live streaming, comprising:

based on a seek operation of a remote media player, receiving a first request for a media sequence file over a network utilizing HTTP live streaming; and

in response to the first request,

identifying a position of a media source file, the position corresponding to the seek operation;

making a determination whether the media sequence file exists;

when the determination indicates that the media sequence file exists, allowing fetching of the media sequence file;

when the determination indicates that the media sequence file does not exist, generating the media sequence file from the first media portion of the media source file; and

facilitating provision of a notification that the media sequence file is generated,

wherein the media sequence file includes a first media portion of a plurality of sequential media portions included in the media source file, the first media portion corresponding to the position,

wherein a first format of the media sequence file is different from a second format of the media source file, and

wherein the first format is compatible with the remote media player.

2. The method of claim 1 , wherein the position of the media source file is a time corresponding to the seek operation.

3. The method of claim 1 , further comprising:

based on a change in a playback configuration for the remote media player, adjusting a configuration parameter used for the generating the media sequence file.

4. The method of claim 3 , wherein the generating the media sequence file includes:

generating the media sequence file using the adjusted configuration parameter.

5. The method of claim 1 , further comprising:

prior to receiving the first request, receiving a second request from the remote media player to play media of the media source file; and

in response to the second request, performing an initial setup process, comprising:

determining a first location of the media source file;

determining a second location for storing a playlist file;

determining a third location for storing media sequence files associated with the media source file; and

generating configuration parameters used for the generating the media sequence files.

6. The method of claim 5 , wherein the initial setup process further comprises:

determining a total number of the media sequence files in the first format associated with the media source file in the second format; and

generating the playlist file, the playlist file specifying names of the media sequence files,

wherein the second format is not compatible with the remote media player,

wherein a third format of the playlist file is compatible with the remote media player, and

wherein the first request specifies a name of a media sequence file specified in the playlist file.

7. The method of claim 6 , further comprising:

facilitating provision of the playlist file to the remote media player,

wherein the identifying the position of the media source file is based on information in the playlist file.

8. The method of claim 1 , further comprising:

facilitating creation of a playlist file for the media source file;

based on the playlist file, facilitating determination of a total number of media sequence files to be generated from the media source file; and

prior to completion of generating the media sequence files, enabling the remote media player to:

initiate playing at least one of the media sequence files; and

perform a seek operation.

9. The method of claim 1 , further comprising:

facilitating provision of the media sequence file to the remote media player,

wherein the identifying the position of the media source file, the generating of the media sequence file, and the facilitating provision of the media sequence file are performed external to the remote media player.

10. The method of claim 9 , wherein the media sequence file is sent to the remote media player using HTTP live streaming, and wherein the network comprises at least one of: the Internet and a wireless network.

11. The method of claim 1 , further comprising:

in response to the first request, converting the position of the media source file to a time.

12. A non-transitory computer-readable medium comprising instructions executable by a processor, the instructions, when executed by the processor, for:

based on a seek operation of a remote media player, receiving a first request for a media sequence file over a network utilizing hypertext transfer protocol (HTTP) live streaming; and

in response to the first request,

identifying a position of a media source file, the position corresponding to the seek operation;

making a determination whether the media sequence file exists;

when the determination indicates that the media sequence file exists, allowing fetching of the media sequence file; and

when the determination indicates that the media sequence file does not exist, generating the media sequence file from the first media portion of the media source file,

wherein the media sequence file includes a first media portion of a plurality of sequential media portions included in the media source file, the first media portion corresponding to the position,

wherein a first format of the media sequence file is different from a second format of the media source file, and

wherein the first format is compatible with the remote media player.

13. The computer-readable medium of claim 12 , wherein the position of the media source file is a time corresponding to the seek operation.

14. The computer-readable medium of claim 12 , further comprising instructions for:

based on a change in a playback configuration for the remote media player, adjusting a configuration parameter used for the generating the media sequence file.

15. The computer-readable medium of claim 14 , wherein the instructions for generating the media sequence file include instructions for:

generating the media sequence file using the adjusted configuration parameter.

16. The computer-readable medium of claim 12 , further comprising instructions for:

prior to receiving the first request, receiving a second request from the remote media player to play media of the media source file; and

in response to the second request, performing an initial setup process, comprising:

determining a first location of the media source file;

determining a second location for storing a playlist file;

determining a third location for storing media sequence files associated with the media source file; and

generating configuration parameters used for the generating the media sequence files.

17. The computer-readable medium of claim 16 , wherein the initial setup process further comprises:

determining a total number of the media sequence files in the first format associated with the media source file in the second format; and

generating the playlist file, the playlist file specifying names of the media sequence files,

wherein the second format is not compatible with the remote media player,

wherein a third format of the playlist file is compatible with the remote media player, and

wherein the first request specifies a name of a media sequence file specified in the playlist file.

18. The computer-readable medium of claim 17 , further comprising instructions for:

facilitating provision of the playlist file to the remote media player,

wherein the identifying the position of the media source file is based on information in the playlist file.

19. The computer-readable medium of claim 12 , further comprising instructions for:

facilitating creation of a playlist file for the media source file;

based on the playlist file, facilitating determination of a total number of media sequence files to be generated from the media source file; and

prior to completion of generating the media sequence files, enabling the remote media player to:

initiate playing at least one of the media sequence files; and

perform a seek operation.

20. The computer-readable medium of claim 12 , further comprising instructions for:

facilitating provision of the media sequence file to the remote media player,

wherein the identifying the position of the media source file, the generating of the media sequence file, and the facilitating provision of the media sequence file are performed external to the remote media player.

21. The computer-readable medium of claim 12 , further comprising instructions for:

in response to the first request, converting the position of the media source file to a time.

22. The computer-readable medium of claim 12 , further comprising instructions for:

in response to the first request, facilitating provision of a notification that the media sequence file is generated.

23. A hardware apparatus, comprising:

a processor configured to access memory media, wherein the memory media store instructions executable by the processor, the instructions, when executed by the processor, for:

based on a seek operation of a remote media player, receiving a first request for a media sequence file over a network utilizing hypertext transfer protocol (HTTP) live streaming; and

in response to the first request,

identifying a position of a media source file, the position corresponding to the seek operation;

making a determination whether the media sequence file exists;

when the determination indicates that the media sequence file exists, allowing fetching of the media sequence file; and

when the determination indicates that the media sequence file does not exist, generating the media sequence file from the first media portion of the media source file,

wherein the media sequence file includes a first media portion of a plurality of sequential media portions included in the media source file, the first media portion corresponding to the position,

wherein a first format of the media sequence file is different from a second format of the media source file, and

wherein the first format is compatible with the remote media player.

24. The hardware apparatus of claim 23 , wherein the position of the media source file is a time corresponding to the seek operation.

25. The hardware apparatus of claim 23 , wherein the memory media store instructions for:

based on a change in a playback configuration for the remote media player, adjusting a configuration parameter used for the generating the media sequence file; and

generating the media sequence file using the adjusted configuration parameter.

26. The hardware apparatus of claim 23 , wherein the memory media store instructions for:

prior to receiving the first request, receiving a second request from the remote media player to play media of the media source file; and

in response to the second request, performing an initial setup process, comprising:

determining a first location of the media source file;

determining a second location for storing a playlist file;

determining a third location for storing media sequence files associated with the media source file;

generating configuration parameters used for the generating the media sequence files;

determining a total number of the media sequence files in the first format associated with the media source file; in the second format; and

generating the playlist file, the playlist file specifying names of the media sequence files,

wherein the second format is not compatible with the remote media player,

wherein a third format of the playlist file is compatible with the remote media player, and

wherein the first request specifies a name of a media sequence file specified in the playlist file.

27. The hardware apparatus of claim 26 , wherein the memory media store instructions for:

facilitating provision of the playlist file to the remote media player,

wherein the identifying the position of the media source file is based on information in the playlist file.

28. The hardware apparatus of claim 23 , wherein memory media store instructions for:

facilitating creation of a playlist file for the media source file;

based on the playlist file, facilitating determination of a total number of media sequence files to be generated from the media source file; and

prior to completion of generating the media sequence files, enabling the remote media player to:

initiate playing at least one of the media sequence files; and

perform a seek operation.

29. The hardware apparatus of claim 23 , wherein the memory media store instructions for:

facilitating provision of the media sequence file to the remote media player,

wherein the identifying the position of the media source file, the generating of the media sequence file, and the facilitating provision of the media sequence file are performed external to the remote media player.

30. The hardware apparatus of claim 23 , wherein the memory media store instructions for:

in response to the first request, converting the position of the media source file to a time.

31. The hardware apparatus of claim 23 , wherein the memory media store instructions for:

in response to the first request, facilitating provision of a notification that the media sequence file is generated.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
CHANGE OF NAME Recorded Nov 15, 2013
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 031645/0051 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2011
From: NANDAKUMAR, SARUN MADARAKAL; BARRETO, DANIEL ERNESTO
To: WYSE TECHNOLOGY INC.
Reel/Frame 026816/0765 →