IP Library Granted Patent US 9,401,813
Granted Patent B2
US 9,401,813 · App. 12/648,806 · Granted Jul 26, 2016

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 9,401,813
App. No.
12/648,806
Granted
Jul 26, 2016
Kind
B2
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 (65)

1. A method comprising:

by executing event driven program instructions in a computer system, the event driven program instructions including:

receiving, in response to a request, a first plurality of stream records including a plurality of parameters to identify a corresponding first plurality of media streams being served by a stream server, wherein each media stream of the first plurality of media streams include first packetized media content and associated first metadata;

monitoring events, through one or more program listening objects, based on the first plurality of stream records, the each media stream of the first plurality of media streams being served by the stream server;

asynchronously and concurrently testing the each media stream of the first plurality of media streams for streaming errors, based on triggers of the one or more program listening objects, relating at least to the first packetized media content and to the associated first metadata; and

displaying a result of the testing for the each media stream of the first plurality of media streams to a display device.

2. The method of claim 1 , further comprising:

discontinuing testing of an individual media stream in response to at least one of the plurality of first media streams successfully connecting and broadcasting the associated first metadata.

3. The method of claim 1 , wherein the event driven program instructions further comprising:

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

4. The method of claim 3 , wherein the event driven program instructions further comprising:

receiving, in response to the request, a second plurality of stream records including a second plurality of parameters to identify a corresponding second plurality of media streams being served by the stream server, wherein each media stream of the second plurality of media streams include second packetized media content and associated second metadata;

monitoring events, through the one or more program listening objects, based on the second plurality of stream records, the each media stream of the second plurality of media streams being served by the stream server;

concurrently testing the each media stream of the second plurality of media streams for streaming errors, based on triggers of the one or more program listening objects, relating at least to the second packetized media content and to the associated second metadata; and

displaying a result of the testing for the each of the second plurality of media streams to the display device.

5. The method of claim 1 , wherein the event driven program instructions further comprising:

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

6. The method of claim 1 , wherein the testing comprises:

generating programming events indicating a status of the each of the first plurality of media streams; and

providing the programming events to at least one program event handler.

7. A system comprising:

a processor;

memory operably associated with the processor;

a program of event driven instructions configured to be stored in the memory and executed by program event handlers within the processor, the program of instructions comprising:

receive, in response to a request, a first plurality of stream records including a plurality of parameters to identify a corresponding first plurality of media streams being served by a stream server, wherein each media stream of the first plurality of media streams include first packetized media content and associated first metadata;

monitor events, through one or more program listening objects, based on the first plurality of stream records, the each media stream of the first plurality of media streams being served by the stream server;

asynchronously and concurrently test the each media stream of the first plurality of media streams for streaming errors, based on program objects triggered by the one or more program listening objects, relating to at least the first packetized media content and to the associated first metadata; and

display a result of the test of the each media stream of the first plurality of media streams to a display device.

8. The system of claim 7 , the program of event driven instructions further comprising:

discontinue testing of an individual media stream in response to the media stream successfully connecting and broadcasting metadata.

9. The system of claim 7 , the program of event driven instructions further comprising:

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

10. The system of claim 9 , the program of event driven instructions further comprising:

receive, in response to the request, a second plurality of stream records including a second plurality of parameters to identify a corresponding second plurality of media streams being served by the stream server, wherein each media stream of the second plurality of media streams include second packetized media content and associated second metadata;

monitor events, through the one or more program listening objects, based on the second plurality of stream records, the each media stream of the second plurality of media streams being served by the stream server;

concurrently test, based on program objects triggered by the one or more program listening objects, each media stream of the second plurality of media streams for streaming errors relating at least to the second packetized media content and to the associated second metadata; and

display a result of the testing for the each media stream of the second plurality of media streams.

11. The system of claim 7 , the program of event driven instructions further comprising:

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

12. The system of claim 7 , the program of event driven instructions further comprising:

generate programming events indicating a status of the each of the first plurality of media streams; and

provide the programming events to at least one the program event handlers.

13. A non-transitory computer readable medium tangibly embodying a program of computer executable event driven instructions, the program of computer executable event driven instructions comprising:

receive, in response to a request, a first plurality of stream records including a plurality of parameters to identify a corresponding first plurality of media streams being served by a stream server, wherein each media stream of the first plurality of media streams include first packetized media content and associated first metadata;

monitor events, through one or more program listening objects, based on the first plurality of stream records, the each media stream of the first plurality of media streams being served by the stream server;

asynchronously and concurrently test, based on program objects triggered by the one or more program listening objects, the each media stream of the first plurality of media streams for streaming errors relating at least to the first packetized media content and to the associated first metadata; and

display a result of the testing for the each media stream of the first plurality of media streams to a display device.

14. The non-transitory computer readable medium of claim 13 , the computer executable event driven program of instructions further comprising:

discontinue testing of an individual media stream in response to at least one of the plurality of first media streams successfully connecting and broadcasting the associated first metadata.

15. The non-transitory computer readable medium of claim 13 , the computer executable event driven program of instructions further comprising:

remove the first plurality of stream records from memory in response to the test of each of the first plurality of media streams being completed.

16. The non-transitory computer readable medium of claim 15 , the computer executable event driven program of instructions further comprising:

receive, in response to the request, a second plurality of stream records including a second plurality of parameters to identify a corresponding second plurality of media streams being served by the stream server, wherein each media stream of the second plurality of media streams include second packetized media content and associated second metadata;

monitor events, through the one or more program listening objects, based on the second plurality of stream records, the each media stream of the second plurality of media streams being served by the stream server;

concurrently test, based on program objects triggered by the one or more program listening objects, the each media stream of the second plurality of media streams for streaming errors relating at least to the second packetized media content and to the associated second metadata; and

display a result of the testing for each media stream of the second plurality of media streams to the display device.

17. The non-transitory computer readable medium of claim 13 , the computer executable event driven program of instructions further comprising:

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

18. The non-transitory computer readable medium of claim 13 , the computer executable event driven program of instructions further comprising:

generate programming events indicating a status of the each of the first plurality of media streams; and

provide the programming events to at least one program event handler.

19. The method of claim 1 , wherein the program instructions further comprises:

communicating with the stream server with the request for the first plurality of stream records associated with the first plurality of media streams being served by the stream server.

20. The non-transitory computer readable medium of claim 13 , the computer executable event driven program of instructions further comprising:

communicate with the stream server with the request for the first plurality of stream records associated with the first plurality of media streams being served by the stream server.

Assignments (21)
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 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 →
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 →
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 069793/0758 →
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 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 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 035109/0168 Recorded May 10, 2019
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: AMFM RADIO LICENSES, LLC; CAPSTAR RADIO OPERATING COMPANY; CAPSTAR TX, LLC; CITICASTERS CO.; CITICASTERS LICENSES, INC.; CLEAR CHANNEL BROADCASTING LICENSES, INC.; IHEARMEDIA + ENTERTAINMENT, INC.; AMFM TEXAS BROADCASTING, LP; IHEARTMEDIA MANAGEMENT SERVICES, INC.; CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.
Reel/Frame 049149/0714 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 034008/0027 Recorded May 10, 2019
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: AMFM RADIO LICENSES, LLC; CAPSTAR RADIO OPERATING COMPANY; CAPSTAR TX, LLC; CITICASTERS CO.; CITICASTERS LICENSES, INC.; CLEAR CHANNEL BROADCASTING LICENSES, INC.; IHEARMEDIA + ENTERTAINMENT, INC.; AMFM TEXAS BROADCASTING, LP; CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.; CLEAR CHANNEL INVESTMENTS, INC.
Reel/Frame 049149/0773 →
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: 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
Reel/Frame 049079/0814 →
SECURITY AGREEMENT Recorded Feb 27, 2015
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.; CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 035109/0168 →
CHANGE OF NAME Recorded Oct 21, 2014
From: CLEAR CHANNEL MANAGEMENT SERVICES, INC.
To: IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 034026/0037 →
SECURITY AGREEMENT Recorded Oct 15, 2014
From: CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL INVESTMENTS, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 034008/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2009
From: VIERS, JACK CURTIS
To: CLEAR CHANNEL MANAGEMENT SERVICES, INC.
Reel/Frame 023713/0705 →