Method and apparatus for distributed arbitration of a right to speak among a plurality of devices participating in a real-time voice conference
First Claim
1. A method for distributed arbitration of a right to speak among a plurality of devices participating in a real-time voice conference through a network via multimedia data packets having source identifiers, the method comprising the steps of:
- associating an agent with each of the plurality of devices for arbitrating between a talk stream generated by the device and a listen stream intended for the device and generated by another device on the network;
defining in the agent a “
Talk Mode”
in which the agent passes the talk stream from the device to other devices participating in the conference while blocking all listen streams intended for the device, and a “
Listen Mode”
in which the agent blocks the talk stream of the device from the network and passes a single listen stream from the network to the device; and
making a decision, by the agent, to enter one of the Talk Mode and the Listen Mode, wherein the decision is based upon a presence of at least one of the talk stream and the listen stream, and wherein the decision is further based upon a comparison of the source identifiers of the talk and listen streams when required to resolve a conflict.
2 Assignments
0 Petitions
Accused Products
Abstract
An agent (100) is associated with each of a plurality of devices (201-204) for arbitrating between a talk stream generated by the device and a listen stream intended for the device and generated by another device on a network (210). In the agent a “Talk Mode” (300) is defined in which the agent passes the talk stream from the device to other devices participating in the conference while blocking all listen streams intended for the device, and a “Listen Mode” (400) is defined in which the agent blocks the talk stream of the device from the network and passes a single listen stream from the network to the device. The agent makes a decision to enter one of the Talk Mode and the Listen Mode, wherein the decision is based upon a presence of at least one of the talk stream and the listen stream, and wherein the decision is further based upon a comparison of source identifiers of the talk and listen streams when required to resolve a conflict.
56 Citations
25 Claims
-
1. A method for distributed arbitration of a right to speak among a plurality of devices participating in a real-time voice conference through a network via multimedia data packets having source identifiers, the method comprising the steps of:
-
associating an agent with each of the plurality of devices for arbitrating between a talk stream generated by the device and a listen stream intended for the device and generated by another device on the network;
defining in the agent a “
Talk Mode”
in which the agent passes the talk stream from the device to other devices participating in the conference while blocking all listen streams intended for the device, and a “
Listen Mode”
in which the agent blocks the talk stream of the device from the network and passes a single listen stream from the network to the device; and
making a decision, by the agent, to enter one of the Talk Mode and the Listen Mode, wherein the decision is based upon a presence of at least one of the talk stream and the listen stream, and wherein the decision is further based upon a comparison of the source identifiers of the talk and listen streams when required to resolve a conflict. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
performing an arbitration of a right to speak for a plurality of separate devices;
providing a single talk stream into the agent; and
receiving a single listen stream from the agent.
-
-
4. The method of claim 1, further comprising in the agent the step of:
entering an “
Idle Mode”
when a stream being passed by the agent stops sending voice for more than a predetermined idle time.
-
5. The method of claim 4, further comprising in the agent the steps of:
-
when in the Idle Mode, monitoring all possible streams to detect a non-silent stream;
after detecting a non-silent stream, entering a convergence period having a predetermined convergence duration;
when a first detected stream comes from the device associated with the agent, entering a “
Converge-Talk Mode”
; and
when the first detected stream is intended for the device associated with the agent, entering a “
Converge-Listen Mode”
.
-
-
6. The method of claim 4, further comprising in the agent the step of
when a plurality of non-silent streams are detected after entering the Idle Mode, selecting one of the streams based upon the following rules: -
when the non-silent streams are a talk stream and a listen stream, selecting the listen stream; and
when the non-silent streams comprise a plurality of listen streams, selecting the listen stream having a highest priority, based upon the source identifiers.
-
-
7. The method of claim 5, further comprising in the agent, when in the Converge-Listen Mode, the steps of:
-
blocking the talk stream from the device while a currently selected listen stream towards the device is present;
continuously looking for new listen streams;
when finding a new listen stream, comparing its priority with that of the currently selected listen stream, based upon the source identifiers; and
if the priority of the new listen stream is higher, switching to the new listen stream.
-
-
8. The method of claim 5, further comprising in the agent, when in the Converge-Listen Mode, the steps of:
-
monitoring how long the agent has been in the Converge-Listen Mode; and
entering the Listen Mode when the agent has been in the Converge-Listen Mode for the predetermined convergence duration.
-
-
9. The method of claim 5, further comprising in the agent, when in the Converge-Talk Mode, the steps of:
-
continuously looking for new listen streams towards the device;
when finding a new listen stream, comparing its priority with that of the talk stream from the device, based upon the source identifiers; and
if the priority of the new listen stream is higher, switching to the new listen stream and transitioning to the Converge-Listen Mode.
-
-
10. The method of claim 5, further comprising in the agent, when in the Converge-Talk Mode, the steps of:
-
monitoring how long the agent has been in the Converge-Talk Mode; and
entering the Talk Mode when the agent has been in the Converge-Talk Mode for the predetermined convergence duration.
-
-
11. An apparatus in a network for distributed arbitration of a right to speak among a plurality of devices participating in a real-time voice conference through the network via multimedia data packets having source identifiers, the apparatus comprising:
-
a device interface for communicating with a device of the plurality of devices;
a network interface for communicating with other devices through the network; and
a processor coupled to the device interface and coupled to the network interface for controlling communications through the device interface and the network interface, wherein the processor is programmed to;
act as an agent associated with the device for arbitrating between a talk stream generated by the device and a listen stream intended for the device and generated by another device on the network;
define in the agent a “
Talk Mode”
in which the agent passes the talk stream from the device to the other devices participating in the conference while blocking all listen streams intended for the device, and a “
Listen Mode”
in which the agent blocks the talk stream of the device from the network and passes a single listen stream from the network to the device; and
make a decision to enter one of the Talk Mode and the Listen Mode, wherein the decision is based upon a presence of at least one of the talk stream and the listen stream, and wherein the decision is further based upon a comparison of the source identifiers of the talk and listen streams when required to resolve a conflict. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
perform an arbitration of a right to speak for a plurality of separate devices;
provide a single talk stream into the agent; and
receive a single listen stream from the agent.
-
-
14. The apparatus of claim 11, wherein the processor is further programmed to control the agent to
enter an “ - Idle Mode”
when a stream being passed by the agent stops sending voice for more than a predetermined idle time.
- Idle Mode”
-
15. The apparatus of claim 14, wherein the processor is further programmed to control the agent to:
-
when in the Idle Mode, monitor all possible streams to detect a non-silent stream;
after detecting a non-silent stream, enter a convergence period having a predetermined convergence duration;
when a first detected stream comes from the device associated with the agent, enter a “
Converge-Talk Mode”
;
when the first detected stream is intended for the device associated with the agent, enter a “
Converge-Listen Mode”
.
-
-
16. The apparatus of claim 14, wherein the processor is further programmed to control the agent to
when a plurality of non-silent streams are detected after entering the Idle Mode, select one of the streams based upon the following rules: -
when the non-silent streams are a talk stream and a listen stream, select the listen stream; and
when the non-silent streams comprise a plurality of listen streams, select the listen stream having a highest priority, based upon the source identifiers.
-
-
17. The apparatus of claim 15, wherein the processor is further programmed to control the agent to, when in the Converge-Listen Mode:
-
block the talk stream from the device while a currently selected listen stream towards the device is present;
continuously look for new listen streams;
when finding a new listen stream, compare its priority with that of the currently selected listen stream, based upon the source identifiers; and
if the priority of the new listen stream is higher, switch to the new listen stream.
-
-
18. The apparatus of claim 15, wherein the processor is further programmed to control the agent to, when in the Converge-Listen Mode:
-
monitor how long the agent has been in the Converge-Listen Mode; and
enter the Listen Mode when the agent has been in the Converge-Listen Mode for the predetermined convergence duration.
-
-
19. The apparatus of claim 15, wherein the processor is further programmed to control the agent to, when in the Converge-Talk Mode:
-
continuously look for new listen streams towards the device;
when finding a new listen stream, compare its priority with that of the talk stream from the device, based upon the source identifiers; and
if the priority of the new listen stream is higher, switch to the new listen stream and transition to the Converge-Listen Mode.
-
-
20. The apparatus of claim 15, wherein the processor is further programmed to control the agent to, when in the Converge-Talk Mode:
-
monitor how long the agent has been in the Converge-Talk Mode; and
enter the Talk Mode when the agent has been in the Converge-Talk Mode for the predetermined convergence duration.
-
-
21. A method for distributed arbitration of a right to speak among a plurality of devices participating in a real-time voice conference through a network via multimedia data packets having source identifiers, the method comprising the steps of:
-
associating an agent with each of the plurality of devices for arbitrating between a talk stream generated by the device and a listen stream intended for the device and generated by another device on the network;
defining in the agent a “
Converge-Talk Mode”
in which the agent provisionally passes the talk stream from the device to other devices participating in the conference while blocking all listen streams intended for the device, and a “
Converge-Listen Mode”
in which the agent blocks the talk stream of the device from the network and passes a single listen stream from the network to the device; and
making a decision, by the agent, to enter one of the Converge-Talk Mode and the Converge-Listen Mode, wherein the decision is based upon a presence of at least one of the talk stream and the listen stream, and wherein the decision is further based upon a comparison of the source identifiers of the talk and listen streams when required to resolve a conflict. - View Dependent Claims (22, 23, 24, 25)
entering an “
Idle Mode”
when a stream being passed by the agent stops sending voice for more than a predetermined idle time.
-
-
23. The method of claim 21, further comprising in the agent the steps of:
-
when in an Idle Mode, monitoring all possible streams to detect a non-silent stream;
when a first detected stream comes from the device associated with the agent, entering the Converge-Talk Mode; and
when the first detected stream is intended for the device associated with the agent, entering the Converge-Listen Mode.
-
-
24. The method of claim 21, further comprising in the agent, when in the Converge-Talk Mode, the steps of:
-
continuously looking for new listen streams towards the device;
when finding a new listen stream, comparing its priority with that of the talk stream from the device, based upon the source identifiers; and
if the priority of the new listen stream is higher, switching to the new listen stream and transitioning to the Converge-Listen Mode.
-
-
25. The method of claim 21, further comprising in the agent, when in the Converge-Listen Mode, the steps of:
-
blocking the talk stream from the device while a currently selected listen stream towards the device is present;
continuously looking for new listen streams;
when finding a new listen stream, comparing its priority with that of the currently selected listen stream, based upon the source identifiers; and
if the priority of the new listen stream is higher, switching to the new listen stream.
-
Specification