Efficient routing of real-time multimedia information
First Claim
1. A computer-readable storage device storing instructions that implement an application program interface relating to routing real-time multimedia information, the instructions comprising:
- a software component stored on a memory or storage device that provides the application program interface and is connectable to other software components for making connections, the connections indicating routes between inputs and outputs, the application program interface enabling other software components to command and control the software component;
a component for setting a mode to at least reflector;
a component for receiving data on at least two inputs, wherein each input is received from a different computing device;
a component for processing the received data based on the set mode, wherein (a) when the mode is set to mixer, the processing includes mixing audio, and selecting or mixing video, (b) when the mode is set to reflector, the processing includes forwarding the received data to the indicated output without performing any mixing, (c) when the mode is set to selector, the processing includes forwarding data received on an input and ignoring data received on other inputs;
a component for setting a role as one of a client, server, or client-server, wherein if the role is set to client-server, messages are both consumed and routed to at least one client; and
a component for forwarding the processed data to an output indicated for the input on which the data was received.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for efficient routing of real-time multimedia information is provided. The system efficiently routes messages containing real-time multimedia information by configuring and using multi-control unit connectors (“connectors”), which are special-purpose components optimized to route messages. A computing device may use multiple connectors to dynamically create connections with resources of the computing device or other computing devices simultaneously. An application can dynamically configure a connector to operate as client, server, or client-servers. The connector may also have a mode in which it operates, such as mixer, reflector, or selector. These modes may define how a connector is to process received messages before forwarding them. By using the various modes and roles, the system can be used to combine and efficiently route multimedia information for meaningful presentation to users of disparate computing devices.
74 Citations
32 Claims
-
1. A computer-readable storage device storing instructions that implement an application program interface relating to routing real-time multimedia information, the instructions comprising:
-
a software component stored on a memory or storage device that provides the application program interface and is connectable to other software components for making connections, the connections indicating routes between inputs and outputs, the application program interface enabling other software components to command and control the software component; a component for setting a mode to at least reflector; a component for receiving data on at least two inputs, wherein each input is received from a different computing device; a component for processing the received data based on the set mode, wherein (a) when the mode is set to mixer, the processing includes mixing audio, and selecting or mixing video, (b) when the mode is set to reflector, the processing includes forwarding the received data to the indicated output without performing any mixing, (c) when the mode is set to selector, the processing includes forwarding data received on an input and ignoring data received on other inputs; a component for setting a role as one of a client, server, or client-server, wherein if the role is set to client-server, messages are both consumed and routed to at least one client; and a component for forwarding the processed data to an output indicated for the input on which the data was received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method performed by a computer system having a central processing unit for routing real-time multimedia information, the computer system having a connector implemented in software that is connectable to software components, comprising:
-
providing an application program interface configured to receive command and control instructions; receiving by the application program interface routing information, the routing information specifying an input and an output; receiving an indication of a mode as at least reflector; configuring by the central processing unit the connector based on the routing information and the mode; setting a role as one of a client, server, or client-server, wherein if the role is set to client-server, messages are both consumed and routed to at least one client; and forwarding data received on an input of the connector to an output of the connector based on the configuration, wherein (a) when the mode is set to mixer, mixing audio, and selecting or mixing video before forwarding the received data, (b) when the mode is set to reflector, forwarding the received data to the specified output without performing any mixing, and (c) when the mode is set to selector, forwarding data received on one of multiple inputs and ignoring data received on other inputs. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for routing real-time multimedia information, the system having a connector implemented in software that is connectable to software components, comprising:
-
a central processing unit and memory; a component that provides an application program interface configured to receive command and control instructions; a component that receives via the application program interface routing information, the routing information specifying an input and an output; a component that receives an indicated selection of a mode as at least reflector; a component that configures the connector based on the routing information and the mode; a component that sets a role as one of a client, server, or client-server, wherein if the role is set to client-server, messages are both consumed and routed to at least one client; a component that processes the received data based on the set mode, wherein (a) when the mode is set to mixer, the processing includes mixing audio, and selecting or mixing video, (b) when the mode is set to reflector, the processing includes forwarding the received data to the indicated output without performing any mixing, (c) when the mode is set to selector, the processing includes forwarding data received on an input and ignoring data received on other inputs; and a component that forwards data received on an input of the connector to an output of the connector based on the configuration. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification