IP Library Granted Patent US 9,584,557
Granted Patent B2
US 9,584,557 · App. 14/207,487 · Granted Feb 28, 2017

Proxy for facilitating streaming of media from server to client

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,584,557
App. No.
14/207,487
Granted
Feb 28, 2017
Kind
B2
Abstract

A method for preparing streaming media content to be rendered by a media player employs a proxy for the media player. The proxy sends a request over a network to a content server. In response, a rolling manifest file is received by the proxy. The manifest file includes a sequence of media segment URLs indicating an ordering of the media segments that create a representation of a portion of the content stream. The URLs follow a predefined naming convention that allows URLs occurring prior to and subsequent to the URLs included in the manifest file to be predicted. The proxy predicts additional URLs that occur prior to and/or subsequent to the URLs included in the manifest file. The manifest file is modified by inserting the additional media segment URLs into the manifest file. The additional URLs are sequentially located before or after the URLs included in the manifest file.

Claims (33)

1. A method of preparing streaming media content to be rendered by a media player, the method comprising:

receiving a request to receive a stream of media content; forwarding the request over a network to content server;

in response to the request, receiving over the network a rolling manifest file that includes a sequence of media segment URLs indicating an ordering of the media segments that create a representation of a portion of the media content stream, the media segment URLs following a predefined naming convention that allows media segment URLs occurring prior to and subsequent to the media segment URLs included in the manifest file to be predicted;

modifying the manifest file by inserting at least one additional media segment URL into the manifest file comprising a private tag identifying an amount of content before or after the media segment URLs, the at least one additional media segment URL being sequentially located before or after the media segment URLs included in the manifest file;

sending the modified manifest file to the media player; and

predicting the at least one additional media segment URL using the predefined naming convention by using the private tag to describe the number of seconds of content available from the server before or after the media segment URLs.

2. The method of claim 1 , further comprising conditioning the manifest file prior to sending the modified manifest file to the media play, the conditioning being performed so that the manifest file is compatible for use by the media player, the manifest file including the private tag to specify an amount of content to be removed before or after the manifest file URLs.

3. The method of claim 2 , wherein the conditioning includes protocol translation.

4. The method of claim 3 , wherein the protocol translation includes the removal of the amount of content, including removal of one or more tags from the manifest file.

5. The method of claim 4 , wherein the one or more tags that are removed include a tag indicating a change in an encryption key employed to encrypt the media segments and further comprising performing any necessary decryption and encryption so that the manifest file is compatible for use by the media player.

6. The method of claim 1 , wherein the request is received and forwarded by a proxy for the media player.

7. The method of claim 6 , wherein the proxy is a plug-in to the media player.

8. The method of claim 1 , wherein the request to receive the stream of media content requests presentation of the media content from a first specified time during presentation of the media content subsequent to a start time of the media content, the manifest file received from the server comprising a first subset of the plurality of URLs indicating an ordering of media segments that create a representation of the stream of media content beginning at the specified time during presentation of the media content.

9. The method of claim 1 , wherein the request to receive the stream of media content requests presentation of the media content in a trick-play mode of operation, the manifest file received from the server comprising a subset of the plurality of URLs indicating an ordering of media segments that create a representation of the stream of media content presentable in the trick play mode of operation.

10. A method of preparing streaming media content to be rendered by a media player, the method comprising:

receiving a request to receive a stream of media content;

forwarding the request over a network to content server;

in response to the request, receiving over the network a rolling manifest file that includes a sequence of media segment URLs indicating an ordering of the media segments that create a representation of a portion of the media content stream, the media segment URLs following a predefined naming convention that allows media segment URLs occurring prior to and subsequent to the media segment URLs included in the manifest file to be predicted;

modifying the manifest file by inserting at least one additional media segment URL into the manifest file, the at least one additional media segment URL being sequentially located before or after the media segment URLs included in the manifest file; and

sending the modified manifest file to the media player,

wherein the manifest file includes a number of media segment URLs to be inserted before or after a specified media segment URL included in the manifest file and further comprising modifying the manifest file by inserting the specified number of media segment URLs before or after the specified media segment URL.

11. One or more computer-readable storage media, containing instructions which, when executed by one or more processors perform a method of preparing streaming media content to be rendered by a media player, the method comprising:

receiving a request to receive a stream of media content;

forwarding the request over a network to content server;

in response to the request, receiving over the network a rolling manifest file that includes a sequence of media segment URLs indicating an ordering of the media segments that create a representation of a portion of the media content stream;

conditioning the manifest file so that it is compatible for use by the media player; and

sending the conditioned manifest file to the media player,

wherein the manifest file includes a tag indicating a specified number of media segment URLs to be inserted before or after a specified media segment URL included in the manifest file and further comprising modifying the manifest file by inserting the specified number of media segment URLs before or after the specified media segment URL.

12. The one or more computer-readable storage media of claim 11 , wherein the conditioning includes protocol translation.

13. The one or more computer-readable storage media of claim 12 , wherein the protocol translation includes removal of one or more tags from the manifest file.

14. The one or more computer-readable storage media of claim 13 , wherein the one or more tags that are removed include a tag indicating a change in an encryption key employed to encrypt the media segments and further comprising performing any necessary decryption and encryption so that the manifest file is compatible for use by the media player.

15. The one or more computer-readable storage media of claim 11 , wherein the request to receive the stream of media content requests presentation of the media content from a first specified time during presentation of the media content subsequent to a start time of the media content, the manifest file received from the server comprising a first subset of the plurality of URLs indicating an ordering of media segments that create a representation of the stream of media content beginning at the specified time during presentation of the media content.

16. The one or more computer-readable storage media of claim 11 , wherein the request to receive the stream of media content requests presentation of the media content in a trick-play mode of operation, the manifest file received from the server comprising a subset of the plurality of URLs indicating an ordering of media segments that create a representation of the stream of media content presentable in the trick play mode of operation.

Assignments (13)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: ARRIS TECHNOLOGY, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060791/0583 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED AT REEL: 049820 FRAME: 0495. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jul 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049858/0161 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
CHANGE OF NAME Recorded Jul 2, 2019
From: ARRIS ENTERPRISES. INC
To: ARRIS
Reel/Frame 049669/0652 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
Reel/Frame 050721/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2015
From: ARRIS TECHNOLOGY, INC
To: ARRIS ENTERPRISES, INC.
Reel/Frame 037328/0341 →
SECURITY INTEREST Recorded Jun 26, 2015
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036020/0789 →
MERGER AND CHANGE OF NAME Recorded Mar 5, 2015
From: GENERAL INSTRUMENT CORPORATION; ARRIS TECHNOLOGY, INC.
To: ARRIS TECHNOLOGY, INC.
Reel/Frame 035133/0286 →