Method and apparatus for selecting a media processor to host a conference
First Claim
1. A method for selecting a media processor to host a new conference, comprising:
- receiving, by a multipoint controller, an indication of a need for a media processor to host a new conference;
determining by the multipoint controller, for each of a plurality of media processors under control of the multipoint controller, a number of additional participants that can be supported by each of said plurality of media processors based on a current number of conference participants on each of said plurality of media processors and based on a current CPU utilization percentage for each of said plurality of media processors in accordance with the following expression;
NbChannels=CurrentNbChannels×
((MaxCPUUtil/CurrentCPUUtil)−
1)where NbChannels is a number of new conference participants or channels each media processor can support, CurrentNbChannels is a value indicating the current number of conference participants on a media processor, MaxCPUUtil is a constant value indicating a maximum CPU utilization percentage allowed for the media processor, CurrentCPUUtil is a value indicating a current CPU utilization percentage for the media processor, the value of CurrentNbChannels is set to one for determining NbChannels if it is zero, and the value CurrentCPUUtil is set to one for determining NbChannels if it is zero; and
determining which one of said plurality of media processors is to host said new conference based, at least in part, on said determined number of additional participants that each of said plurality of media processors can support, where the number of participants in said new conference is not known at the time of the determining of the number of additional participants that can be supported by each of said plurality of media processors, the number of participants in said new conference may dynamically change, and at least two of said plurality of media processors operate on different devices having different capabilities.
8 Assignments
0 Petitions
Accused Products
Abstract
A system, method, apparatus, means, and computer program code for selecting a media processor to host a conference is provided. According to some embodiments, a multipoint controller may control or be associated with a plurality of media processors. Different media processors may be implemented in software and operating on different hardware platforms. When a request for a media processor is indicated or received and the multipoint controller needs to select or allocate a media processors to host the conference, the multipoint controller may select one of the media processors to support the new conference based on the media processor'"'"'s ability to support more additional participants than the other media processors in the plurality of media processors. In some embodiments, the determination of a media processor'"'"'s ability to support additional participants may be based on the media processor'"'"'s current number of supported participants in conferences and the media processor'"'"'s current CPU utilization percentage.
33 Citations
16 Claims
-
1. A method for selecting a media processor to host a new conference, comprising:
-
receiving, by a multipoint controller, an indication of a need for a media processor to host a new conference; determining by the multipoint controller, for each of a plurality of media processors under control of the multipoint controller, a number of additional participants that can be supported by each of said plurality of media processors based on a current number of conference participants on each of said plurality of media processors and based on a current CPU utilization percentage for each of said plurality of media processors in accordance with the following expression;
NbChannels=CurrentNbChannels×
((MaxCPUUtil/CurrentCPUUtil)−
1)where NbChannels is a number of new conference participants or channels each media processor can support, CurrentNbChannels is a value indicating the current number of conference participants on a media processor, MaxCPUUtil is a constant value indicating a maximum CPU utilization percentage allowed for the media processor, CurrentCPUUtil is a value indicating a current CPU utilization percentage for the media processor, the value of CurrentNbChannels is set to one for determining NbChannels if it is zero, and the value CurrentCPUUtil is set to one for determining NbChannels if it is zero; and determining which one of said plurality of media processors is to host said new conference based, at least in part, on said determined number of additional participants that each of said plurality of media processors can support, where the number of participants in said new conference is not known at the time of the determining of the number of additional participants that can be supported by each of said plurality of media processors, the number of participants in said new conference may dynamically change, and at least two of said plurality of media processors operate on different devices having different capabilities. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for selecting a media processor to host a new conference, comprising:
-
receiving, by a multipoint controller, an indication of a need for a media processor to host a new conference; determining by the multipoint controller, for each of a plurality of media processors under the control of the multipoint controller, a current number of conference participants and a current CPU utilization; and determining one of said plurality of media processors to host said new conference based, at least in part, on said determined current number of conference participants and based on said determined current CPU utilization for each of said plurality of media processors, in accordance with the following expression;
NbChannels=CurrentNbChannels×
((MaxCPUUtil/CurrentCPUUtil)−
1)where NbChannels is a number of new conference participants or channels each media processor can support, CurrentNbChannels is a value indicating the current number of conference participants on a media processor, MaxCPUUtil is a constant value indicating a maximum CPU utilization percentage allowed for the media processor, CurrentCPUUtil is a value indicating a current CPU utilization percentage for the media processor, the value of CurrentNbChannels is set to one for determining NbChannels if it is zero, and the value CurrentCPUUtil is set to one for determining NbChannels if it is zero, and where the number of participants in said new conference is not known at the time of the determining of the number of additional participants that can be supported by each of said plurality of media processors, the number of participants in said new conference may dynamically change, and at least two of said plurality of media processors operate on different devices having different capabilities. - View Dependent Claims (7, 8, 9)
-
-
10. A system, comprising:
-
a device having a processor and a multipoint controller operating on said device, wherein said multipoint controller controls a plurality of media processors and said multipoint controller is adapted to select a first media processor from said plurality of media processors to support a new conference based on said first media processor'"'"'s ability to support more additional participants than other media processors in said plurality of media processors based, at least in part, on said first media processor'"'"'s current number of conference participants and based on current CPU utilization percentage in accordance with the following expression;
NbChannels=CurrentNbChannels×
((MaxCPUUtil/CurrentCPUUtil)−
1)where NbChannels is a number of new conference participants or channels each media processor can support, CurrentNbChannels is a value indicating the current number of conference participants on a media processor, MaxCPUUtil is a constant value indicating a maximum CPU utilization percentage allowed for the media processor, CurrentCPUUtil is a value indicating a current CPU utilization percentage for the media processor, the value of CurrentNbChannels is set to one for determining NbChannels if it is zero, and the value CurrentCPUUtil is set to one for determining NbChannels if it is zero, where the number of participants in said new conference is not known at the time of the determining of the number of additional participants that can be supported by each of said plurality of media processors, the number of participants in said new conference may dynamically change, and at least two of said plurality of media processors operate on different devices having different capabilities. - View Dependent Claims (11, 12)
-
-
13. An apparatus, comprising:
-
a processor; a communication port coupled to said processor and adapted to communicate with at least one device; and a storage device coupled to said processor and storing instructions adapted to be executed by said processor to; receive an indication of a need for a media processor for a new conference; determine, for each of a plurality of media processors under control of a multipoint controller, a number of additional participants that can be supported by each of said plurality of media processors based on a current number of conference participants on each of said plurality of media processors and based on a current CPU utilization percentage for each of said plurality of media processors in accordance with the following expression;
NbChannels=CurrentNbChannels×
((MaxCPUUtil/CurrentCPUUtil)−
1)where NbChannels is a number of new conference participants or channels each media processor can support, CurrentNbChannels is a value indicating the current number of conference participants on a media processor, MaxCPUUtil is a constant value indicating a maximum CPU utilization percentage allowed for the media processor, CurrentCPUUtil is a value indicating a current CPU utilization percentage for the media processor, the value of CurrentNbChannels is set to one for determining NbChannels if it is zero, and the value CurrentCPUUtil is set to one for determining NbChannels if it is zero; and determine one of said plurality of media processors to host said new conference based, at least in part, on said determined number of additional participants that each of said plurality of media processors can support, where the number of participants in said new conference is not known at the time of the determining of the number of additional participants that can be supported by each of said plurality of media processors, the number of participants in said new conference may dynamically change, and at least two of said plurality of media processors operate on different devices having different capabilities. - View Dependent Claims (14, 15)
-
-
16. An article of manufacture comprising:
-
a computer readable medium having stored thereon instructions which, when executed by a processor, cause said processor to; receive an indication of a need for a media processor for a new conference; determine, for each of a plurality of media processors under control of a multipoint controller, a number of additional participants that can be supported by each of said plurality of media processors based on a current number of conference participants on each of said plurality of media processors and based on a current CPU utilization percentage for each of said plurality of media processors in accordance with the following expression;
NbChannels=CurrentNbChannels×
((MaxCPUUtil/CurrentCPUUtil)−
1)where NbChannels is a number of new conference participants or channels each media processor can support, CurrentNbChannels is a value indicating the current number of conference participants on a media processor, MaxCPUUtil is a constant value indicating a maximum CPU utilization percentage allowed for the media processor, CurrentCPUUtil is a value indicating a current CPU utilization percentage for the media processor, the value of CurrentNbChannels is set to one for determining NbChannels if it is zero, and the value CurrentCPUUtil is set to one for determining NbChannels if it is zero; and determine one of said plurality of media processors to said host new conference based, at least in part, on said determined number of additional participants that each of said plurality of media processors can support and based on a current CPU utilization percentage for each of said plurality of media processors, where the number of participants in said new conference is not known at the time of the determining of the number of additional participants that can be supported by each of said plurality of media processors, the number of participants in said new conference may dynamically change, and at least two of said plurality of media processors operate on different devices having different capabilities.
-
Specification