IP Library Granted Patent US 7,761,876
Granted Patent B2
US 7,761,876 · App. 10/393,187 · Granted Jul 20, 2010

Method and system for balancing the load on media processors based upon CPU utilization information

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,761,876
App. No.
10/393,187
Granted
Jul 20, 2010
Kind
B2
Abstract

The present invention is a method and system for balancing the load on processors based upon the CPU utilization information of the processors. Real time CPU utilization information of processors may be effectively analyzed to prevent overloading of processing resources as assigned by a multipoint controller of a VoIP network. CPU utilization information may include the number of current conferencing channels being supported by each processor, CPU speed and the quantity of other applications being supported by the media processor. CPU utilization information from each processor may be retrieved by establishing a communication protocol with each processor and periodically polling the processors in regard to their CPU load capability. Assignment of processing tasks to processors may be based on which specific processors have the capability to handle the processing task.

Claims (20)

1. A method executed by a controller for balancing a load on a plurality of software-based media processors executing on a plurality of appliances, each one of the plurality of software-based media processors executing on one of the plurality of appliances, the load balancing based upon a CPU utilization information for the plurality of appliances, comprising:

establishing a communication channel with each one of the plurality of software-based media processors;

requesting said CPU utilization information of each appliance of said plurality of appliances, said requesting of said CPU utilization information occurs upon receipt of an additional processing task by said controller and said requesting of said CPU utilization information is repeated according to a periodic basis after receipt of said additional processing task, said additional processing task being a new conference inquiry;

retrieving a CPU utilization information for each appliance of the plurality of appliances, wherein the CPU utilization information includes a processing speed of each appliance, a number of media channels currently supported by each software-based media processor, a number of conferences being supported by each software-based media processor across a conferencing system and a quantity of processing tasks currently supported by each appliance of said plurality of appliances other than processing tasks related to the software-based media processor executing on the appliance;

assigning said additional processing task to a software-based media processor of said plurality of software-based media processors based upon said CPU utilization information for each appliance, and said assigning of said additional processing task includes determining an amount of processing resources necessary to execute said additional processing task; and

receiving an alert when the software-based media processor of said plurality of software-based media processors is incapable of handling another processing task.

2. A system including a plurality of appliances for balancing a load on a plurality of software-based media processors, executing on the plurality of appliances, the load balancing based upon a CPU utilization information of the plurality of appliances, comprising:

a controller, said controller requests said CPU utilization information upon a receipt of an additional processing task and said controller requests said CPU utilization information on a periodic basis after receipt of said additional processing task, said additional processing task being a new conference inquiry;

the plurality of software-based media processors executing on the plurality of appliances, each one of the plurality of software-based media processors executing on one of the plurality of appliances, each of said plurality of appliances being communicatively coupled to said controller;

means for accessing said CPU utilization of each appliance of said plurality of appliances, wherein said CPU utilization of each appliance includes a processing speed of each appliance, a number of media channels currently supported by each software-based media processor, a number of conferences being supported by each software-based media processor across a conferencing system and a quantity of processing tasks currently supported by each appliance of said plurality of appliances other than processing tasks related to the software-based media processor executing on the appliance;

means for assigning said additional processing task to a specific software-based media processor of said plurality of software-based media processors according to said CPU utilization information of each appliance, said means for assigning includes means for determining an amount of processing resources necessary to execute said additional processing task; and

means for receiving an alert when the specific software-based media processor of said plurality of software-based media processors is incapable of handling another processing task.

3. The system as described in claim 2 , wherein said plurality of software-based media processors report said CPU utilization information when a processing capability for said plurality of software-based media processors has been exhausted.

4. A voice over Internet Protocol (VoIP) network conferencing system utilizing Session Initiation Protocol (SIP), comprising:

a multipoint controller; said multipoint controller controlling communications across said VoIP network conferencing system utilizing SIP, said multipoint controller requests CPU utilization information upon a receipt of an additional processing task and said multipoint controller requests said CPU utilization information on a periodic basis after receipt of said additional processing task;

a plurality of software-based media processors executing on a plurality of appliances, each of said plurality of software-based media processors being communicatively coupled to said multipoint controller and each one of said plurality of software-based media processors executing on one of the plurality of appliances; said plurality of software-based media processors handling processing of audio/video and data across said VoIP network conferencing system utilizing SIP; and

at least one terminal operatively coupled to said multipoint controller; said at least one terminal providing a receptacle for audio/video and data input, wherein said multipoint controller receives said additional processing task, said additional processing task being a new conference inquiry, said CPU utilization information from said plurality of appliances is retrieved and said additional processing task is delegated to at least one specific software-based media processor of said plurality of software-based media processors based upon an amount of processing resources necessary to execute said additional processing task, and said CPU utilization information of said plurality of appliances, wherein said CPU utilization information includes:

a processing speed of each appliance, a number of media channels currently supported by each software-based media processor, a number of conferences being supported by each software-based media processor across said VoIP network conferencing system utilizing SIP and a quantity of processing tasks currently supported by each appliance of said plurality of appliances other than processing tasks related to the software-based media processor executing on the appliance;

each of said plurality of software-based media processors providing an alert to said multipoint controller when the at least one specific software-based media processor of said plurality of software-based media processors is incapable of handling another processing task.

5. The system as described in claim 4 , wherein said plurality of software-based media processors report said CPU utilization information when a processing capability for said plurality of software-based media processors has been exhausted.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: WELLS FARGO TRUST CORPORATION LIMITED
To: UNIFY INC.
Reel/Frame 037661/0781 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 20, 2016
From: WELLS FARGO TRUST CORPORATION LIMITED, AS SECURITY AGENT
To: UNIFY INC. (F/K/A SIEMENS ENTERPRISE COMMUNICATIONS, INC.)
Reel/Frame 037564/0703 →
CHANGE OF NAME Recorded Nov 11, 2015
From: SIEMENS ENTERPRISE COMMUNICATIONS, INC.
To: UNIFY, INC.
Reel/Frame 037090/0909 →
GRANT OF SECURITY INTEREST IN U.S. PATENTS Recorded Nov 10, 2010
From: SIEMENS ENTERPRISE COMMUNICATIONS, INC.
To: WELLS FARGO TRUST CORPORATION LIMITED, AS SECURITY AGENT
Reel/Frame 025339/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2010
From: SIEMENS COMMUNICATIONS, INC.
To: SIEMENS ENTERPRISE COMMUNICATIONS, INC.
Reel/Frame 024294/0040 →
MERGER Recorded Apr 22, 2010
From: SIEMENS INFORMATION AND COMMUNICATION NETWORKS, INC.
To: SIEMENS COMMUNICATIONS, INC.
Reel/Frame 024263/0817 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2003
From: OLIVEIRA, MARCELO GOMES
To: SIEMENS INFORMATION AND COMMUNICATION NETWORKS, INC.
Reel/Frame 014386/0555 →