IP Library Granted Patent US 7,788,384
Granted Patent B1
US 7,788,384 · App. 12/101,543 · Granted Aug 31, 2010

Virtual media network

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 7,788,384
App. No.
12/101,543
Granted
Aug 31, 2010
Kind
B1
Abstract

A system and method for setting up and reconfiguring a multimedia system dynamically to transport and process streams of multimedia data.

Claims (98)

1. A method for setting up and reconfiguring a multimedia system dynamically to transport and process streams of multimedia data comprising the steps of:

creating transmitting media elements in source media nodes and receiving media elements in destination media nodes;

creating a first set of pairs of the transmitting media elements and the receiving media elements;

providing a stream of the multimedia data to at least one pair of the first set of pairs including

the steps of:

creating, in the source media node, a listener for at least one network associated with the source media node;

if a destination media element channel interface (MECH) exists, configuring, in the destination media node, the destination MECH to provide processing and storage for a channel;

if the destination MECH does not exist, creating, in the destination media node, the destination MECH;

creating, in the destination media node, a link between a receiver (RX) in the destination media node and at least one of the plurality of media elements;

creating, in the destination media node, a media element receiving, destination/sink block interface (MERX) and associating the MERX with the RX;

requesting, in the destination media node, through the RX, a transmitting/sourcing block interface (METX), a type, the channel, and certificate information;

connecting the destination media node to the listener;

sending, from the destination media node to the listener, the METX, the type, the channel, and the certificate information;

requesting, from the destination media node, information;

suggesting, from the destination media node, a transmission protocol to the listener;

authenticating, in the source media node, the information, the suggestion, the METX, the type, and the certificate information;

requesting authorization to create, in the source media node, a source MECH and a METX based on the certificate information;

configuring, in the source media node, a transmitter (TX) with the transmission protocol and a socket;

instructing, in the source media node, the source media controller to recreate the source MECH for processing the multimedia stream;

creating, in the source media node, the source MECH;

creating, in the source media node, the METX;

associating, in the source media node, the METX with the TX;

commanding, in the source media node, the TX to execute;

sending, from the source media node, the transmission protocol to the RX;

acknowledging, in the destination media node, the protocol;

connecting, in the destination media node, the RX with the MERX;

creating, in the destination media node, a destination streaming session;

reporting, in the destination media node, that the RX and the MERX are connected;

creating, in the source media node, a source streaming session; and

reporting, in the source media node, that the TX and the METX are connected;

adding a second set of pairs without affecting the first set of pairs;

reconfiguring the multimedia system to provide the stream to at least one pair of the second set of pairs;

creating a third set of pairs including transmitting media elements from the first set of pairs and receiving media elements from the second set of pairs or including receiving media elements from the first set of pairs and transmitting media elements from the second set of pairs; and

reconfiguring the multimedia system to provide the stream to at least one pair of the third set of pairs.

2. The method as in claim 1 further comprising the steps of:

removing one or more pairs from the second set of pairs without affecting the first set of pairs; and

removing one or more pairs from the first set of pairs if the one or more pairs are not streaming the multimedia data.

3. The method as in claim 1 further comprising the step of:

processing the multimedia data.

4. The method as in claim 1 wherein said step of providing the multimedia data further comprises the steps of:

(a) delivering, from the source media node, a sample of the multimedia data from the METX to the TX;

(b) delivering, from the source media node, the sample to the RX;

(c) delivering, in the destination media node, the sample to the MERX; and

(d) while the stream is active, repeating said steps (a)-(c).

5. The method as in claim 1 wherein said step of adding a second set of pairs without affecting the first set of pairs comprises the steps of:

accessing a reconfiguration map;

re-configuring, in the source media node, the TX with the transmission protocol and the socket according to the reconfiguration map;

re-instructing, in the source media node, the source media controller to recreate the source MECH for processing of the multimedia stream;

re-creating, in the source media node, the source MECH;

re-creating, in the source media node, the METX;

re-associating, in the source media node, the METX with the TX;

re-commanding, in the source media node, the TX to execute;

re-sending, from the source media node, the transmission protocol to the RX;

re-acknowledging, in the destination media node, the protocol;

re-connecting, in the destination media node, the RX with the MERX;

re-creating, in the destination media node, a destination streaming session;

re-reporting, in the destination media node to the source media node, that the RX and the MERX are connected;

re-creating, in the source media node, a source streaming session; and

re-reporting, in the source media node to the destination media node, that the TX and the METX are connected.

6. The method as in claim 1 further comprising the step of:

disconnecting the stream.

7. The method as in claim 6 wherein said step of disconnecting session flow comprises the steps of:

detecting, in the source media node or the destination media node, a disconnect;

if the disconnect is detected in the source media node, signaling, in the source media node, the disconnect to the METX and the source media controller;

if the disconnect is detected in the destination media node, signaling the disconnect to the MERX and the destination media controller;

if the disconnect is detected in the source media node, disconnecting the streaming session and closing the streaming session in the source media node;

if the disconnect is detected in the destination media node, disconnecting the streaming session in the destination media node and closing the streaming session in the destination media node.

8. The method of claim 1 further comprising the steps of:

accessing a reconfiguration map;

configuring a plurality of the source media nodes and a plurality of the destination media nodes in server computers;

interconnecting the plurality of the source media nodes with the plurality of the destination media nodes; and

modifying the interconnections according to the reconfiguration map without restarting the server computers.

9. The method of claim 1 further comprising the step of:

creating configuration maps; and

when a failure is detected, executing a failover process based on the configuration maps without interrupting a stored content stream flowing to the destination media node, wherein a failing channel and a failover channel supply the multimedia data that originate from a common media source.

10. The method of claim 1 further comprising the step of:

configuring the receiving media element with long term storage;

accepting a sample of the multimedia data by the receiving media element; and

storing the multimedia data in the long term storage.

11. The method of claim 1 further comprising the steps of:

configuring the receiving media element with storage;

accepting closed caption samples associated with the multimedia data by the receiving media element;

storing the closed caption samples in the storage;

retrieving the closed caption samples from the storage through the transmitting media element before delivering the multimedia data in the stream; and

searching the storage for specific of the closed caption samples.

12. The method of claim 1 further comprising the steps of:

configuring the receiving media element with long term storage;

accepting clips associated with the multimedia data by the receiving media element;

storing selected of the clips in the long term storage and

retrieving the stored clips from the long term storage; and

searching the long term storage for specific of the stored clips.

13. The method as in claim 1 further comprising the step of:

recognizing pre-selected objects within the multimedia data.

14. The method as in claim 1 further comprising the step of:

recognizing pre-selected sounds within the multimedia data.

15. A computer communications network for carrying out the steps of claim 1 .

16. A node in a communications network for carrying out the steps of claim 1 .

17. A computer program product comprising a computer readable memory having computer readable code embodied therein for causing a computer system to carry out the steps of claim 1 .

Assignments (11)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2025
From: EDGIO, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 070071/0327 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: EDGECAST INC.
To: EDGIO, INC.
Reel/Frame 061738/0972 →
CHANGE OF NAME Recorded Mar 15, 2022
From: VERIZON DIGITAL MEDIA SERVICES INC.
To: EDGECAST INC.
Reel/Frame 059367/0990 →
MERGER Recorded May 15, 2018
From: VOLICON INC.
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 045809/0793 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2009
From: RUBINSTEIN, NADAV, MR.
To: VOLICON, INC.
Reel/Frame 023624/0405 →