Peer-to-peer communications
First Claim
1. A method for communicating at least voice, comprising:
- providing a first plurality of user terminals including at least a first master and a number of slaves, including at least a first slave and a second slave, at least said first master, said first slave and said second slave being parts of a particular peer-to-peer system, with said at least first master functioning differently than each of said first and second slaves, each of said plurality of user terminals having at least an audio input device and an audio output device, said first plurality of user terminals being associated with a first determined topology that relates to connections among them in said particular peer-to-peer system,wherein each master including said at least first master is a user terminal that has at least the following master functions;
(i) provides its own audio data;
(ii) combines at least (a) audio data provided by at least one other user terminal and (b) its own audio data or audio data from a second other user terminal;
(iii)combines audio data only when said user terminal outputs processed audio data to at least one slave such that the communication path therebetween is without any other user terminal intermediate thereof; and
(iv)outputs audio data using its own audio output device;
and each slave including said first slave and said second slave is a user terminal that has at least the following slave functions;
(i) provides its own audio data;
(ii) processes only its own audio data, including not combining audio data from any other user terminal;
(iii)does not send another user terminal'"'"'s audio data to any other user terminal; and
(iv)outputs audio data using its own audio output device;
processing audio data from said first slave using said at least first master to generate processed first slave audio data;
processing audio data from said second slave using said at least first master to generate processed second slave audio data;
sending at least said processed first slave audio data to said second slave using said at least first master;
sending at least said processed second slave audio data to said first slave using said at least first master; and
transitioning, while communications are occurring utilizing said first determined topology, from said first determined topology to a second determined topology associated with a second plurality of user terminals and with said second plurality of user terminals being different from said first plurality of user terminals, wherein said transitioning comprises;
dropping out by said first master from said first plurality of user terminals and with said second plurality of user terminals including said first and second slaves of said first predetermined topology and not including said first master,determining which one of said second plurality of user terminals is said second master and in which said second master replaces said first master for communicating audio data with other of said second plurality of user terminals, wherein said second master performs at least master functions in said second determined topology that are comparable to master functions performed by said first master in said first determined topology involving communications with at least one of said first and second slaves, said determining including;
(i) utilizing a first bandwidth obtained using data sent from said second master to said first slave;
(ii) utilizing a second bandwidth obtained using data sent from said first slave to said second master;
(iii) utilizing a third bandwidth obtained using data sent from said second master to said second slave;
(iv) utilizing a fourth bandwidth obtained using data sent from said second slave to said second master;
(v) utilizing a fifth bandwidth obtained using data sent from said first slave to said second slave; and
(vi) utilizing a sixth bandwidth obtained using data sent from said second slave to said first slave, andusing said second determined topology for communicating by said second plurality of user terminals after said determining.
1 Assignment
0 Petitions
Accused Products
Abstract
A peer-to-peer (p2p) communication system is provided. One or both of audio and video can be transferred among a number of user terminals in the p2p system. The user terminals include at least one master terminal. The master terminal is identified, based on a determined topology, using obtained information provided in a data parameters table. Each user terminal includes a control for processing video and/or audio that is sent and/or received by the user terminal. The master terminal control can process the same video and/or audio and generate different video and/or audio data to be provided to different user terminals. Such different video data is a function of the communication paths between the master terminal and the different user terminals. Such different audio data can be a function of virtual relative positions associated with the user terminals. Audio volumes can also be separately controlled by each user terminal. Video and/or audio can be transferred in an aggregate manner, such as when the master terminal sends audio originating from a number of user terminals to another user terminal. This p2p system can be utilized with online game playing.
-
Citations
35 Claims
-
1. A method for communicating at least voice, comprising:
-
providing a first plurality of user terminals including at least a first master and a number of slaves, including at least a first slave and a second slave, at least said first master, said first slave and said second slave being parts of a particular peer-to-peer system, with said at least first master functioning differently than each of said first and second slaves, each of said plurality of user terminals having at least an audio input device and an audio output device, said first plurality of user terminals being associated with a first determined topology that relates to connections among them in said particular peer-to-peer system, wherein each master including said at least first master is a user terminal that has at least the following master functions; (i) provides its own audio data; (ii) combines at least (a) audio data provided by at least one other user terminal and (b) its own audio data or audio data from a second other user terminal; (iii)combines audio data only when said user terminal outputs processed audio data to at least one slave such that the communication path therebetween is without any other user terminal intermediate thereof; and (iv)outputs audio data using its own audio output device; and each slave including said first slave and said second slave is a user terminal that has at least the following slave functions; (i) provides its own audio data; (ii) processes only its own audio data, including not combining audio data from any other user terminal; (iii)does not send another user terminal'"'"'s audio data to any other user terminal; and (iv)outputs audio data using its own audio output device; processing audio data from said first slave using said at least first master to generate processed first slave audio data; processing audio data from said second slave using said at least first master to generate processed second slave audio data; sending at least said processed first slave audio data to said second slave using said at least first master; sending at least said processed second slave audio data to said first slave using said at least first master; and transitioning, while communications are occurring utilizing said first determined topology, from said first determined topology to a second determined topology associated with a second plurality of user terminals and with said second plurality of user terminals being different from said first plurality of user terminals, wherein said transitioning comprises; dropping out by said first master from said first plurality of user terminals and with said second plurality of user terminals including said first and second slaves of said first predetermined topology and not including said first master, determining which one of said second plurality of user terminals is said second master and in which said second master replaces said first master for communicating audio data with other of said second plurality of user terminals, wherein said second master performs at least master functions in said second determined topology that are comparable to master functions performed by said first master in said first determined topology involving communications with at least one of said first and second slaves, said determining including;
(i) utilizing a first bandwidth obtained using data sent from said second master to said first slave;
(ii) utilizing a second bandwidth obtained using data sent from said first slave to said second master;
(iii) utilizing a third bandwidth obtained using data sent from said second master to said second slave;
(iv) utilizing a fourth bandwidth obtained using data sent from said second slave to said second master;
(v) utilizing a fifth bandwidth obtained using data sent from said first slave to said second slave; and
(vi) utilizing a sixth bandwidth obtained using data sent from said second slave to said first slave, andusing said second determined topology for communicating by said second plurality of user terminals after said determining. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification