IP Library Granted Patent US 10,171,324
Granted Patent B2
US 10,171,324 · App. 15/218,113 · Granted Jan 1, 2019

Media stream monitor

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 10,171,324
App. No.
15/218,113
Filed
Jul 25, 2016
Granted
Jan 1, 2019
Kind
B2
Art Unit
2459
USPC
709/219
Abstract

A stream monitor can request a streaming media server to send stream records associated with streams currently being served. The stream monitor uses the stream records to test streams being served by the streaming media server. The stream monitor can concurrently test multiple streams for connection errors, silence errors, metadata errors, and other errors.

Claims (49)

1. A media broadcast chain comprises:

a media processing server generating a primary media stream of content for broadcast;

an encoding unit receiving the primary media stream of content from the media processing server and encoding the primary stream of content into an encoded media stream of one or more streaming formats;

a streaming server receiving the encoded media stream and outputting multiple individual encoded media streams to different end users via a network;

a stream monitor receiving a plurality of the individual encoded media streams, wherein the streaming monitor includes a computer memory operative with a host web page serving a plurality of extensible markup language (XML) pages executing program instructions, the program instructions including:

receiving, in response to a web page request, a plurality of stream records from a stream manager database, the plurality of stream records including parameters to identify a corresponding plurality of media streams, wherein the plurality of media streams each include packetized media content and associated metadata;

monitoring, based on the plurality of stream records, the plurality of media streams being served by the stream server;

asynchronously and concurrently testing each media stream of the plurality of media streams for streaming errors;

generating results of the testing for each media stream of the plurality of media streams;

discontinuing, by the host web page, the asynchronous and concurrent testing of an individual media stream of the plurality of media streams in response to one or more of: detection of an error with the individual media stream or broadcast of metadata associated with the individual media stream;

removing stream records discontinued from the asynchronous and concurrent testing from computer memory; and

receiving additional stream records associated with other media streams being served by the stream server for testing.

2. The stream monitor of claim 1 , wherein the program instructions include at least an Extensible Markup Language (XML) return associated with the web page request.

3. The stream monitor of claim 1 , wherein the web page request is generated via a dynamic scripting language or served via proxy through the dynamic scripting language.

4. The stream monitor of claim 1 , wherein the web page request is parsed to return the plurality of stream records.

5. The stream monitor of claim 1 , wherein the stream records for each media stream can include any of: a protocol to use to connect to the media stream, a URL (uniform resource locator) used to connect to the media stream, a path on the streaming server to the media stream, a host name of the host web page hosting the media stream on the streaming server, a stream title for the media stream, a site associated with the media stream, a station associated with the media stream, a description of a media stream type, a description of the media stream, a type of URL for the media stream, unique id (identification) number for the media stream, a secured hash token used to connect to the media stream, or a total number of media stream records available.

6. The stream monitor of claim 1 , wherein the web page request includes any of: an integer value indicating a stream record number at which to begin retrieving the stream records or a limit of the integer value including a total number of records to retrieve.

7. The stream monitor of claim 1 , wherein the program instructions further comprise:

attempting to establish concurrent connections to the plurality of media streams, based on the parameters included in the plurality of stream records.

8. The stream monitor of claim 7 , wherein the connections to the plurality of media streams includes any of: sampling, reading, intercepting, or accessing.

9. The stream monitor of claim 1 , wherein the streaming errors include any of: connection errors, silence, amplitude errors, or metadata errors.

10. The stream monitor of claim 1 further comprises, if no streaming errors are detected for a particular one of the media streams, checking to determine if the stream successfully connects and begins to send metadata.

11. The stream monitor of claim 1 , wherein the testing includes event handlers including any of: polymorphic, overridden or inherited by child classes.

12. The stream monitor of claim 11 , wherein the event handlers include several listener objects responding to a same event without interfering with each other.

13. The stream monitor of claim 1 , wherein the program instructions further comprise:

in response to the testing of the plurality of media streams being completed, removing the plurality of stream records from memory.

14. A method comprises:

receiving from a streaming server, in response to a web page request, a plurality of stream records from an associated stream manager database, the plurality of stream records including parameters to identify a corresponding plurality of media streams, wherein the plurality of media streams each include packetized media content and associated metadata;

monitoring by a stream monitor, based on the plurality of stream records, the plurality of media streams being served by the streaming server, wherein the stream monitor includes at least a processor and computer memory;

asynchronously and concurrently testing each media stream of the plurality of media streams for streaming errors, wherein the streaming errors include one or more of: connection errors, media content errors, metadata errors, or errors related to a media stream being served by the streaming server;

generating results of the testing for each media stream of the plurality of media streams;

discontinuing, by the stream monitor, by another web page request, the asynchronous and concurrent testing of an individual media stream of the plurality of media streams in response to one or more of: detection of streaming error with the individual media stream or broadcast of metadata associated with the individual media stream;

removing, by the stream monitor, stream records discontinued from the asynchronous and concurrent testing from computer memory; and

receiving, by the stream monitor, additional stream records associated with other media streams being served by the stream server for testing.

15. The method of claim 14 , wherein the stream records for each media stream can include any of: a protocol to use to connect to the media stream, a URL (uniform resource locator) used to connect to the media stream, a path on the streaming server to the media stream, a host name of a host hosting the media stream on the streaming server, a stream title for the media stream, a site associated with the media stream, a station associated with the media stream, a description of a media stream type, a description of the media stream, a type of URL for the media stream, unique id (identification) number for the media stream, a secured hash token used to connect to the media stream, or a total number of media stream records available.

16. The method of claim 14 further comprises attempting to establish concurrent connections to the plurality of media streams, based on the parameters included in the plurality of stream records.

17. The method of claim 14 , wherein the streaming errors include any of: silence, amplitude errors, or metadata errors.

18. A media stream monitor comprising:

an interface configured to interface and communicate with a communication system;

computer memory that stores operational instructions; and

a processor operably coupled to the interface and computer memory, wherein the processor is configured to implement:

a set of web pages serving a plurality of extensible markup language (XML) pages operable with the processor to execute the operational instructions, wherein operational instructions include:

receiving from a streaming server, in response to a web page request, a plurality of stream records from an associated stream manager database, the plurality of stream records including parameters to identify a corresponding plurality of media streams, wherein the plurality of media streams each include packetized media content and associated metadata;

monitoring, based on the plurality of stream records, the plurality of media streams being served by a stream server, wherein the monitoring includes establishing connections with each of the plurality of media streams, the establishing connections including one or more of sampling, reading, or intercepting packets included in an individual media stream currently being served by the streaming server to an end user;

asynchronously and concurrently testing each media stream of the plurality of media streams for streaming errors, wherein the testing includes generating programming events indicating a status of each of the individual media streams being tested, and providing those programming events to one or more program event handlers; and

generating results of the testing for each media stream of the plurality of media streams;

discontinuing, by another web page request, the asynchronous and concurrent testing of an individual media stream of the plurality of media streams in response to one or more of: detection of an error with the individual media stream or broadcast of metadata associated with the individual media stream;

removing, by another web page request, stream records discontinued from the asynchronous and concurrent testing from computer memory; and

receiving, through another web page request, additional stream records associated with other media streams being served by the streaming server for testing.

Assignments (15)
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: BANK OF AMERICA, N.A., AS SUCCESSOR COLLATERAL AGENT TO CITIBANK, N.A., AS COLLATERAL AGENT
To: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 075557/0138 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 050017/0882) Recorded Jan 1, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0626 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 049067/0800) Recorded Dec 31, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0423 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 049079/0814) Recorded Dec 31, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0488 →
PATENT SECURITY AGREEMENT Recorded Dec 29, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 069795/0912 →
PATENT SECURITY AGREEMENT Recorded Dec 28, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069794/0248 →
PATENT SECURITY AGREEMENT Recorded Dec 28, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069793/0758 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069792/0335 →
PATENT SECURITY AGREEMENT Recorded Dec 23, 2024
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 069762/0453 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Feb 5, 2020
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: BANK OF AMERICA, N.A., AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 052144/0833 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2019
From: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U. S. BANK NATIONAL ASSOCIATION
Reel/Frame 051143/0579 →
SECURITY INTEREST Recorded Aug 9, 2019
From: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050017/0882 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049067/0606 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION AS COLLATERAL AGENT
Reel/Frame 049067/0800 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 049079/0814 →