System and method for peer-to-peer multi-party voice-over-IP services
First Claim
1. A method for providing multi-party voice-over-IP services, the method on an information processing system comprising:
- establishing a peer-to-peer distribution tree to broadcast a composite audio signal from a root mixing node to a plurality of participating nodes, wherein a subset of the participating nodes are originating nodes that provide a respective audio stream output received by the root mixing node to produce the composite audio signal, wherein the root mixing node directly receives at least one of audio stream output from a second subset of originating nodes within the participating nodes;
identifying, independently of the peer-to-peer distribution tree, a first intermediate mixing node from within the plurality of participating nodes, the first intermediate mixing node providing to the root mixing node a mixing of respective audio stream outputs provided by a first subset of originating nodes to the first intermediate mixing node;
monitoring a processing load on the root mixing node;
identifying, in response to an increase in the processing load on the root mixing node and independently of the distribution tree, a second intermediate mixing node from the at least one neighbor; and
assigning, in response to the identifying the second intermediate mixing node, the second subset of originating nodes to the second intermediate mixing node and configuring the second intermediate mixing node to provide a mixing of the at least one audio stream outputs from the second subset to the root mixing node.
3 Assignments
0 Petitions
Accused Products
Abstract
A system, method, and computer program product for establishing multi-party VoIP conference audio calls in a distributed, peer-to-peer network where any number of nodes are able to arbitrarily and asynchronously start or stop producing audio output to be mixed into a single composite audio stream that is distributed to all nodes. A single distribution tree is used that has optimal communications characteristics to distribute the composite audio signal to all nodes. An audio mixing tree is established and maintained by adaptively and dynamically adding and merging intermediate mixing nodes operating between user nodes and the root of the single distribution tree. The intermediate mixing nodes and the root of the single distribution tree are all hosted, in an exemplary embodiment, on user nodes that are endpoints of the distribution tree.
28 Citations
9 Claims
-
1. A method for providing multi-party voice-over-IP services, the method on an information processing system comprising:
-
establishing a peer-to-peer distribution tree to broadcast a composite audio signal from a root mixing node to a plurality of participating nodes, wherein a subset of the participating nodes are originating nodes that provide a respective audio stream output received by the root mixing node to produce the composite audio signal, wherein the root mixing node directly receives at least one of audio stream output from a second subset of originating nodes within the participating nodes; identifying, independently of the peer-to-peer distribution tree, a first intermediate mixing node from within the plurality of participating nodes, the first intermediate mixing node providing to the root mixing node a mixing of respective audio stream outputs provided by a first subset of originating nodes to the first intermediate mixing node; monitoring a processing load on the root mixing node; identifying, in response to an increase in the processing load on the root mixing node and independently of the distribution tree, a second intermediate mixing node from the at least one neighbor; and assigning, in response to the identifying the second intermediate mixing node, the second subset of originating nodes to the second intermediate mixing node and configuring the second intermediate mixing node to provide a mixing of the at least one audio stream outputs from the second subset to the root mixing node. - View Dependent Claims (2, 3, 4)
-
-
5. A method for providing multi-party voice-over-IP services, the method on an information processing system comprising:
-
establishing a peer-to-peer distribution tree to broadcast a composite audio signal from a root mixing node to a plurality of participating nodes, wherein a subset of the participating nodes are originating nodes that provide a respective audio stream output received by the root mixing node to produce the composite audio signal; identifying, independently of the peer-to-peer distribution tree, a first intermediate mixing node from within the plurality of participating nodes, the first intermediate mixing node providing to the root mixing node a mixing of resrective audio stream outputs provided by a first subset of originating nodes to the first intermediate mixing node; monitoring a processing load on the first intermediate mixing node and on at least one neighbor node within the participating nodes; identifying, in response to an increase in the processing load on the first intermediate mixing node and independently of the distribution tree, a second intermediate mixing node from the at least one neighbor; and assigning, in response to the identifying, a portion of the first subset of originating nodes to the second intermediate mixing node and configuring the second intermediate mixing node to provide a mixing of the portion of the first subset of originating nodes to a parent mixing node of the first intermediate mixing node. - View Dependent Claims (6, 7)
-
-
8. A method for providing multi-party voice-over-IP services, the method on an information processing system comprising:
-
establishing a peer-to-peer distribution tree to broadcast a composite audio signal from a root mixing node to a plurality of participating nodes, wherein a subset of the participating nodes are originating nodes that provide a resrective audio stream output received by the root mixing node to produce the composite audio signal; and identifying, independently of the peer-to-peer distribution tree, a first intermediate mixing node from within the plurality of participating nodes, the first intermediate mixing node providing to the root mixing node a mixing of respective audio stream outputs provided by a first subset of originating nodes to the first intermediate mixing node, wherein the establishing the peer-to-peer distribution tree comprises; establishing overlay mesh interconnections among the participating nodes; constructing, at each node within the participating nodes, a respective broadcast tree from the respective node to every other node within the participating nodes; distributing a respective performance characteristic for each respective broadcast tree to each node within the participating nodes; and performing, at each node within the participating node based upon the respective performance characteristic, an election protocol to determine an optimal root mixing node to be the root mixing node of the peer-to-peer distribution tree. - View Dependent Claims (9)
-
Specification