JP2011210201A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2011210201A JP2011210201A JP2010079855A JP2010079855A JP2011210201A JP 2011210201 A JP2011210201 A JP 2011210201A JP 2010079855 A JP2010079855 A JP 2010079855A JP 2010079855 A JP2010079855 A JP 2010079855A JP 2011210201 A JP2011210201 A JP 2011210201A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- cpu core
- cpu
- signaling
- multimedia
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 229
- 230000011664 signaling Effects 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims description 130
- 238000001514 detection method Methods 0.000 description 10
- 230000008054 signal transmission Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
【課題】CPUコアの処理負荷を抑制することのできる情報処理装置の提供。
【解決手段】第1実施形態に係るVoIPサーバ100は、ネットワークを介して、外部端末とのシグナリング処理を実行し、当該外部端末に送受信する音声および映像データのうち少なくとも一方のデータのマルチメディア処理を実行する。そしてVoIPサーバ100は、各種処理を実行可能なコア111及びコア113を備え、割当制御部120は、前記マルチメディア処理及び前記シグナリング処理との何れか一方の処理をコア111に割り当て、また、前記コア111及び前記コア113の処理状態に応じて、マルチメディア処理及びシグナリング処理との何れの処理でもない処理のうち少なくとも一部の処理を、当該コア111及びコア113のうち何れか一方に割り当てる。
【選択図】 図2
【解決手段】第1実施形態に係るVoIPサーバ100は、ネットワークを介して、外部端末とのシグナリング処理を実行し、当該外部端末に送受信する音声および映像データのうち少なくとも一方のデータのマルチメディア処理を実行する。そしてVoIPサーバ100は、各種処理を実行可能なコア111及びコア113を備え、割当制御部120は、前記マルチメディア処理及び前記シグナリング処理との何れか一方の処理をコア111に割り当て、また、前記コア111及び前記コア113の処理状態に応じて、マルチメディア処理及びシグナリング処理との何れの処理でもない処理のうち少なくとも一部の処理を、当該コア111及びコア113のうち何れか一方に割り当てる。
【選択図】 図2
Description
情報処理装置に関する。
VoIP通信システムにおいて、VoIPサーバは、端末とサーバ間の通信プロトコルや制御信号に関する処理であるシグナリング処理と、音声や映像データのエンコード/デコード等のマルチメディア処理とを実行するが、これらの処理には高いリアルタイム性が要求される。ここで、これらの処理を単一のCPU/CPUコアにて実行すると、一方の処理の負荷が上昇した場合に、他方の処理を圧迫する恐れがある。そのため、マルチメディア処理とシグナリング処理とを異なるCPU/CPUコアにて実行させることにより、処理負荷による影響を互いに及ぼさないようにすることが好ましい。
ここで、VoIPサーバのCPUコアの処理負荷は、当該CPUにおいて実行される処理の状態により変化するため、当該処理状態に応じたCPUコアに処理を動的に割り振ることにより、CPUコアの処理負荷を抑制できることが好ましい。
そこで本発明は、CPUコアの処理負荷を抑制することのできる情報処理装置の提供を目的とする。
上記の課題を解決する為に、請求項1に記載の情報処理装置は、ネットワークを介して、外部端末とのシグナリング処理を実行し、当該外部端末に送受信する音声および映像データのうち少なくとも一方のデータのマルチメディア処理を実行する情報処理装置であって、各種処理を実行可能な第1のCPUコア及び第2のCPUコアと、前記マルチメディア処理及び前記シグナリング処理との何れか一方の処理を前記第1のCPUコアに割り当て、他方の処理を前記第2のCPUコアに割り当てる第1の制御手段と、前記第1のCPUコア及び前記第2のCPUコアの処理状態に応じて、前記マルチメディア処理及び前記シグナリング処理との何れの処理でもない処理のうち少なくとも一部の処理を、当該第1及び第2のCPUコアのうち何れか一方に割り当てる第2の制御手段とを備えることを特徴とする。
また、請求項6に記載の情報処理装置は、ネットワークを介して、外部端末とのシグナリング処理を実行し、当該外部端末に送受信する音声および映像データのうち少なくとも一方のデータのマルチメディア処理を実行する情報処理装置であって、第1、第2及び第3のCPUコアと、前記マルチメディア処理及び前記シグナリング処理との何れか一方の処理を前記第1のCPUコアに実行させ、他方の処理を前記第2のCPUコアに実行させ、前記マルチメディア処理及び前記シグナリング処理との何れの処理でもない処理のうち少なくとも一部の処理を前記第3のCPUコアに実行させる第1の制御手段と、前記第1のCPUコアの処理状態に応じて、当該第1のCPUコアに割り当てられた処理の一部を前記第3のCPUコアに割り当てる第2の制御手段とを備えることを特徴とする。
CPUの処理負荷を抑制することができる。
(第1実施形態)
以下、図面を参照して本発明の第1実施形態について説明する。
図1は、本実施形態に係る情報処理装置の利用形態を示す図である。本実施形態に係る情報処理装置は、例えばVoIPサーバ100として実現されている。ここでVoIPサーバ100は、複数のCPUコアを含むCPU110等を備え、ネットワーク200を介してVoIP端末310、320及び330と接続されている。そしてVoIPサーバ100は、VoIP端末310、320及び330間における通信(電話)を制御する機能を有し、例えばVoIP端末に対するシグナリング処理やマルチメディア処理等を実行する。
以下、図面を参照して本発明の第1実施形態について説明する。
図1は、本実施形態に係る情報処理装置の利用形態を示す図である。本実施形態に係る情報処理装置は、例えばVoIPサーバ100として実現されている。ここでVoIPサーバ100は、複数のCPUコアを含むCPU110等を備え、ネットワーク200を介してVoIP端末310、320及び330と接続されている。そしてVoIPサーバ100は、VoIP端末310、320及び330間における通信(電話)を制御する機能を有し、例えばVoIP端末に対するシグナリング処理やマルチメディア処理等を実行する。
ここでシグナリング処理とは、VoIP端末とVoIPサーバとの間の通信プロトコルに関する処理であり、例えばVoIP端末間の通信(電話)を行う為の通信路を設定するための処理や、通信を開始/終了するための処理等が当該シグナリング処理に該当する。
シグナリング処理について、VoIP端末310とVoIP端末320とが電話を行う場合を例に挙げて説明する。VoIP端末310は、VoIP端末320への通話を要求するユーザ操作を受けると、VoIP端末320に対するセッション確立要求信号であるINVITEをVoIPサーバ100に送信する。そしてVoIPサーバ100は、当該INVITEを受信すると、当該INVITEをVoIP端末320に送信する。
そしてVoIP端末320は、VoIPサーバ100からのINVITE信号を受信すると、当該VoIP端末320に呼び出し音を鳴らせる為の呼び出し処理を行うとともに、現在呼び出し中であることを示す180RINGING通知信号をVoIPサーバ100に返送する。そしてVoIPサーバ100は、180RINGING通知を受信すると、当該180RINGING通知をVoIP端末310に送信する。
ここで、呼び出し中のVoIP端末320に対して、VoIP端末の受話器を取る等のユーザ応答操作を受けると、VoIP端末320は、VoIP端末310に対する応答通知信号である200OKをVoIPサーバ100に送信する。そしてVoIPサーバ100は、200OKを受信すると、当該200OKをVoIP端末310に送信する。
VoIP端末310は、VoIP端末320からの200OKを受信すると、VoIP端末320に対する確認応答通知であるACK通知信号をVoIPサーバ100に送信する。そしてVoIPサーバ100はACK通知を受信すると、当該ACK通知をVoIP端末320に送信し、VoIP端末320が当該ACK通知を受信すると、VoIP端末310と320との間でリアルタイム音声信号のやり取り(通話)が開始される。なお当該リアルタイム音声信号は、例えばRTPプロトコルにより送受信される。
また、VoIP端末310と320との間で通話を行っている際、通話を終了するためのユーザ操作入力をVoIP端末310が受けると、VoIP端末310はVoIP端末320に対する通話終了通知信号であるBYEをVoIPサーバ100に送信する。そしてVoIPサーバ100はBYE通知を受信すると、当該BYE通知をVoIP端末320に送信する。そしてVoIP端末320は、当該BYE通知を受信すると、当該BYEに対する応答信号である200OKをVoIPサーバ100に送信する。そしてVoIPサーバ100は、当該200OKを受信すると当該200OKをVoIP端末310に送信し、VoIP端末310が当該200OKを受信すると通話が終了する。
即ちVoIPサーバ100は、INVITE、180RINGING、200OK、ACK、及びBYE等のシグナリング信号を処理する。
またマルチメディア処理とは、例えば音声データや映像データのコーデック処理等である。ここでコーデック処理について、VoIP端末310、320及び330での電話会議を例に挙げて説明する。電話会議中においてVoIP端末310、320及び330は、夫々の端末のマイク部に対して入力される音声をエンコードし、当該エンコードした音声データをパケットにてVoIPサーバ100に送信する。そしてVoIPサーバ100は、VoIP端末310、320及び330から音声データを受信すると、これらの音声データをデコードする。そしてVoIPサーバ100は、複数のデコードした音声データをミキシングし、当該ミキシングした音声データをエンコードした後、VoIP端末310、320及び330に送信する。すなわちVoIPサーバ100は、VoIP端末310、320、及び330から入力した音声データのデコード、デコードした音声データのミキシング、及びミキシングした音声データのエンコード処理等を行う。
またマルチメディア処理とは、例えば音声データや映像データのコーデック処理等である。ここでコーデック処理について、VoIP端末310、320及び330での電話会議を例に挙げて説明する。電話会議中においてVoIP端末310、320及び330は、夫々の端末のマイク部に対して入力される音声をエンコードし、当該エンコードした音声データをパケットにてVoIPサーバ100に送信する。そしてVoIPサーバ100は、VoIP端末310、320及び330から音声データを受信すると、これらの音声データをデコードする。そしてVoIPサーバ100は、複数のデコードした音声データをミキシングし、当該ミキシングした音声データをエンコードした後、VoIP端末310、320及び330に送信する。すなわちVoIPサーバ100は、VoIP端末310、320、及び330から入力した音声データのデコード、デコードした音声データのミキシング、及びミキシングした音声データのエンコード処理等を行う。
またVoIPサーバ100は、前述したシグナリング処理やマルチメディア処理以外にも、障害検出処理や、保守処理等を行うことができる。ここで障害検出処理とは、VoIPサーバ100やネットワーク200等に障害が発生した場合における当該障害の検出処理や、当該障害に対する対応処理のことである。
また保守処理とは、例えばVoIPサーバ100のソフトウェアのセッティング等に係る処理であり、当該保守管理処理は、例えば一定期間毎に行われる。
ここで、シグナリング処理やマルチメディア処理、障害検出処理については、高いリアルタイム性が要求される。即ちシグナリング処理が遅れると、端末間の通話の確立に時間を要することとなり、マルチメディア処理が遅れると、音声や映像のリアルタイムでの送受信が困難となり、また障害検出処理が遅れると、VoIPシステムにおける障害の発見や対応が遅れることとなるため、これら処理は迅速に実行できることが好ましい。しかしながら、マルチメディア処理における音声や映像のコーデック処理等により、CPUの処理が圧迫される恐れがある。
ここで、シグナリング処理やマルチメディア処理、障害検出処理については、高いリアルタイム性が要求される。即ちシグナリング処理が遅れると、端末間の通話の確立に時間を要することとなり、マルチメディア処理が遅れると、音声や映像のリアルタイムでの送受信が困難となり、また障害検出処理が遅れると、VoIPシステムにおける障害の発見や対応が遅れることとなるため、これら処理は迅速に実行できることが好ましい。しかしながら、マルチメディア処理における音声や映像のコーデック処理等により、CPUの処理が圧迫される恐れがある。
これに対し本実施形態に係るVoIPサーバ100は、当該VoIPサーバ100が実行する処理を、複数のCPUコアに割り当てることにより、CPUコアの処理負荷を抑制することができるものであるが、詳細については図2乃至図12を参照して後述する。
図2は、本実施形態に係るVoIPサーバ100のシステム構成例を示す図である。VoIPサーバ100は、CPU110、割当制御部120、操作受付部130等を備える。ここでCPU110は、CPUコア111、CPUコア112及びCPUコア113等を備え、図1にて前述したシグナリング処理、マルチメディア処理、障害検出処理、保守処理等を実行する機能を有する。またCPU110は、これらの夫々の処理を、割当制御部120により割り当てられたCPUコアで実行する。
割当制御部120は、マルチメディア情報取得部121、シグナリング情報取得部122、優先度情報データベース123、割当情報データベース124、閾値情報データベース125等を備え、シグナリング処理、マルチメディア処理、障害検出処理、保守処理等の処理を実行するCPUコアを予め割り当てるとともに、CPUコアの処理状態に応じたCPUコアにこれら処理を実行させる機能を有する。
マルチメディア情報取得部121は、VoIPサーバ120が処理する音声データや映像データのコーデック処理についての情報やデータのビットレートについての情報を取得する。マルチメディア情報取得部121は、例えばINVITE等に含まれるSDP(Session Description Protcol)に記述されるコーデック情報やビットレート情報を取得する。なおここでコーデック情報とは通話や電話会議等において送受信される音声や映像のコーデックの情報である。
またマルチメディア情報取得部121は、例えばVoIPサーバ100が電話会議を制御する場合、当該電話会議で用いられるコーデックの情報を取得するとともに、当該電話会議におけるコーデック処理の数を判別する。即ち電話会議においてVoIPサーバ100は、電話会議に用いられるVoIP端末から受信する音声や映像データを夫々デコードするとともに、ミキシングした音声データ等をエンコードしたのち各VoIP端末に送信するため、当該電話会議に参加するVoIP端末の数に対応する数のデコード/エンコード処理を実行する。そしてマルチメディア情報取得部121は、これらのデコード/エンコード処理の数を判別する。
シグナリング情報取得部122は、VoIPサーバ100が処理するシグナリング処理の処理数等を判別する。即ちシグナリング情報取得部122は、例えばVoIPサーバが送受信している、INVITEや200OK等の信号の数をカウントする。ここでシグナリング情報取得部122は、例えばある時刻において送受信している信号の数を判別することもできるが、あるいはある時刻において送受信している信号の数と、当該送受信中の信号の後に送受信され得る信号の数との両方を判別することもできる。例えばVoIP端末とVoIP端末との間で通話を行う際には、端末から端末への呼び出し信号であるINVITEをVoIPサーバ100が処理すると、その後VoIPサーバ100は、RINGING、200OK、ACK等の信号を送受信する可能性があるが、シグナリング情報取得部122は、送受信する可能性のあるこれらの信号の数をも判別することができる。
優先度情報データベース123は、シグナリング処理、マルチメディア処理、障害検出処理、保守処理等の処理のうち、何れの処理を優先するかについてのデータベースである。なお当該データベースは、VoIPサーバ100が予め保持していてもよいし、あるいは割当制御部120が操作受付部130からのユーザ操作入力に基づいて生成してもよい。即ち、シグナリング処理、マルチメディア処理、障害検出処理及び保守処理等の処理のうち、何れの処理を優先するかをユーザに設定させてもよい。
割当情報データベース124は、シグナリング処理、マルチメディア処理、障害検出処理及び保守処理等の処理を、CPU110のCPUコアのうち何れのCPUコアに割り当て実行させるかについてのデータベースであり、割当制御部120が、優先度情報データベース123とVoIPサーバ100のCPUコア数とに基づいて生成する。なお当該割当情報データベース124については図4を参照して後述する。
閾値情報データベース125は、実行するCPUコアが割り当てられていない処理等を、割当制御部120がCPU110のCPUコアの処理状態に応じたCPUコアに割り当てる際に参照するデータベースであり、例えば閾値となるCPUコアの使用率、コーデック処理数、信号送受信数等が格納されている。なお当該閾値情報データベース125については、図5を参照して後述する。
次に図3を参照して、優先度情報データベース123の構成例について説明する。優先度情報データベース123には、例えばVoIPサーバ100が実行する処理と、当該処理の優先度とが対応付けられて格納される。即ち図3に示すように、C1の列には、VoIPサーバ100が実行する処理の一覧が格納され、C2の列には、処理の優先度が当該処理に対応付けられて格納される。
続いて図4を参照して割当情報データベース124の構成例について説明する。当該割当情報データベース124には、VoIPサーバ100が実行する処理と、当該処理を実行するCPU100のCPUコアとが対応付けられて格納される。ここで割当情報データベース124は、割当制御部120が、優先度情報データベース123と、当該割当制御部120が取得したCPU情報とに基づいて生成するものであり、各種処理に対しては、優先度に応じたCPUコアが割り当てられる。即ち割当制御部120は、CPU110から、当該CPUのコア数等のCPU情報を取得し、優先度情報データベース123から各処理の優先度を取得し、優先度に応じた数のCPUコアを各処理に割り当てる。また割当制御部120は、優先度に応じた数のCPUコアを各処理に割り当てるとともに、マルチメディア処理とシグナリング処理とを異なるCPUコアで実行されるように割り当てる。例えば図4に示すデータベースでは、優先度が「高」と設定されたマルチメディア処理及び障害検出処理には、優先度が「中」と設定されたシグナリング処理以上の数のCPUコアが割り当てられており、また優先度「高」の処理と「中」の処理とは、夫々異なるCPUコアに割り当てられている。なお当該割当情報データベース124は、必ずしも優先度情報データベース123に基づいて生成する必要はなく、少なくともマルチメディア処理とシグナリング処理とが別々のCPUコアに割り当てられるように生成されればよい。
次に図5を参照して閾値情報データベース125のデータ構成例について説明する。当該データベースには、VoIPサーバ100が実行する処理のうち、当該処理の閾値となる情報が格納される。例えば図5に示す例では、信号送受信数について閾値1000が、コーデック処理数について120が対応付けられている。ここで信号送受信数とは、例えば現在行っているシグナリング処理において送受信されている信号と、当該送受信中の信号に続いて送受信されうる信号との数の総数である。またコーデック処理数とは、VoIPサーバ100がエンコード/デコード処理している音声データや映像データの数である。なおコーデック処理においてVoIPサーバ100は、例えばG.711やG.729等のコーデックによりエンコード/デコードするが、コーデックによりCPUの処理負荷が異なるため、コーデック毎に重み付けした数値をコーデック処理数として設定してもよい。例えば、仮にG.729によるエンコード/デコード処理が、G.711によるエンコード/デコード処理の3倍の処理負荷があるとすると、閾値情報データベース125には、[(G.729によるコーデック処理の数)×3+(G.711によるコーデック処理の数)=コーデック処理数]等として当該コーデック処理数に対して閾値が設定されてもよい。
次に図6を参照して、割当制御部120が割当情報データベース124を生成する処理フロー例について説明する。
まず割当制御部120は、CPU110についての情報を取得する(S401)。そして割当制御部120は、CPUのコア数が2以上であるか否かを判別する(S402)。そして割当制御部120は、CPUのコア数が1である場合(S402のNo)、各処理をCPUコア毎に割り当てず、当該1のCPUコアに各処理を割り当てる(S403)。なおここで割当制御部120は、CPUのコア数を判別する場合に、VoIPサーバ100の備えるCPUのコアの総数を判別する。即ちVoIPサーバ100が、シングルCPUコアのCPUを2つ備える場合、割当制御部120は、当該VoIPサーバ100のCPUコア数を2として判別する。つまりS402においてCPUコア数が1である場合とは、VoIPサーバ100が備えるCPUの数が1であり、かつ当該CPUのコア数が1である場合を指す。
まず割当制御部120は、CPU110についての情報を取得する(S401)。そして割当制御部120は、CPUのコア数が2以上であるか否かを判別する(S402)。そして割当制御部120は、CPUのコア数が1である場合(S402のNo)、各処理をCPUコア毎に割り当てず、当該1のCPUコアに各処理を割り当てる(S403)。なおここで割当制御部120は、CPUのコア数を判別する場合に、VoIPサーバ100の備えるCPUのコアの総数を判別する。即ちVoIPサーバ100が、シングルCPUコアのCPUを2つ備える場合、割当制御部120は、当該VoIPサーバ100のCPUコア数を2として判別する。つまりS402においてCPUコア数が1である場合とは、VoIPサーバ100が備えるCPUの数が1であり、かつ当該CPUのコア数が1である場合を指す。
一方、S402においてCPUのコア数が2以上である場合(S402のYes)、割当制御部120は優先度情報データベース123を参照し、優先度が「高」と設定されている処理に、優先度が「中」と設定されている処理以上の数のCPUコアを割り当て、当該割当についての情報を割当情報データベース124に格納する(S405)。なお本実施形態において割当制御部120は、優先度「低」として設定された処理を実行するCPUコアを設定/割当しない。
次に図7を参照して、割当制御部120による割当実行処理に係る処理フロー例について説明する。
VoIPサーバ100が何らかの処理を実行する場合、割当制御部120は当該実行する処理が何の処理に該当するかを判別し、また当該処理の優先度を確認する(S501)。なおここで何らかの処理とは、当該割当実行処理を除くものとする。そして割当制御部120は、割当情報データベース124を参照し(S502)、当該処理がCPUコアに割り当てられている処理であるか否かを判別する(S503)。そして当該処理がCPUコアに割当られた処理である場合(S503のYes)、CPU110は当該処理が割り当てられたCPUコアで当該処理を実行する(S504)。
VoIPサーバ100が何らかの処理を実行する場合、割当制御部120は当該実行する処理が何の処理に該当するかを判別し、また当該処理の優先度を確認する(S501)。なおここで何らかの処理とは、当該割当実行処理を除くものとする。そして割当制御部120は、割当情報データベース124を参照し(S502)、当該処理がCPUコアに割り当てられている処理であるか否かを判別する(S503)。そして当該処理がCPUコアに割当られた処理である場合(S503のYes)、CPU110は当該処理が割り当てられたCPUコアで当該処理を実行する(S504)。
一方、S503において、実行する処理がCPUコアに割り当てられていない未割当処理である場合、割当制御部120は割当CPUコア判別処理を行い、CPU110の各CPUコアの処理状態に応じたCPUコアに、当該未割当処理を割り当てる(S505)。なお割当CPUコア判別処理の詳細については図8乃至図10を参照して後述する。そしてCPU110は、未割当処理を、S505の割当CPUコア判別処理にて割り当てられたCPUコアにて実行する(S506)。
次に、図8乃至図10を参照して、割当CPUコア判別処理の処理フロー例について説明する。
図8は、割当CPUコア判別処理の処理フローの一例を示す図である。当該フローでは、まず割当制御部120が、CPU110の各CPUコアの使用率を取得し、CPUコア毎の使用率を比較する(S601)。そして割当制御部120は、使用率が低いCPUコアに未割当処理を割り当てる(S602)。
図8は、割当CPUコア判別処理の処理フローの一例を示す図である。当該フローでは、まず割当制御部120が、CPU110の各CPUコアの使用率を取得し、CPUコア毎の使用率を比較する(S601)。そして割当制御部120は、使用率が低いCPUコアに未割当処理を割り当てる(S602)。
図9は、割当CPUコア判別処理の処理フローの一例を示す図である。当該フローでは、まずシグナリング情報取得部122が、シグナリング処理での信号送受信数を検出する(S701)。そして割当制御部120は、閾値情報データベース125を参照し、信号送受信数が閾値以下であるか否かを判別する(S703)。そして、信号送受信数が閾値以下である場合(S703のYes)、割当制御部120はシグナリング処理が割り当てられたCPUコアに未割当処理を割り当てる。一方S703において信号送受信数が閾値より多い場合、割当制御部120は、割当情報データベース124によりシグナリング処理が割り当てられていないCPUコアに、未割当処理を割り当てる(S705)。なお本実施形態において、シグナリング処理とマルチメディア処理とは別々のCPUコアに割り当てられるため、S705において未割当処理はマルチメディア処理が割り当てられたCPUコアに割り当てられる。
図10は、割当CPUコア判別処理の処理フローの一例を示す図である。当該フローでは、まずマルチメディア情報取得部121が、VoIPサーバ100がエンコード/デコードしている音声データや映像データのデータ数についてのコーデック処理数情報を取得する(S701)。そして割当制御部120は、閾値情報データベース125に格納されたコーデック処理閾値を参照し(S702)、コーデック処理数が閾値以下であるか否かを判別する(S703)。そしてコーデック処理数が閾値以下である場合、割当制御部120はマルチメディア処理が割り当てられたCPUコアに未割当処理を割り当てる(S704)。一方S703においてコーデック処理数が閾値より多い場合(S703のNo)、割当制御部120は、割当情報データベース124によりマルチメディア処理が割り当てられていないCPUコアに、未割当処理を割り当てる(S705)。なお本実施形態において、マルチメディア処理とシグナリング処理とは別々のCPUコアに割り当てられるため、S705において未割当処理はシグナリング処理が割り当てられたCPUコアに割り当てられる。
第1実施形態によれば、VoIPサーバ100は、マルチメディア処理とシグナリング処理とを異なるCPUコアに割り付けることにより、これら処理がお互い処理を圧迫すること抑制するとともに、マルチメディア処理とシグナリング処理とが割り付けられたCPUコアの処理状態に応じて、当該マルチメディア処理とシグナリング処理とは異なる処理をCPUコアに割り付けて実行することができるため、当該異なる処理によるCPUコアに対する処理負荷を抑制することができる。そのため、VoIPサーバとVoIP端末のシステムにおいて、安定したリアルタイム性を維持することができる。
なお本実施形態においては、VoIPサーバ100のCPU110が複数のCPUコアを有しているとして説明したが、例えばVoIPサーバ100が単数のCPUコアを有するCPUを複数備える場合であっても本実施形態を実施することができる。この場合割当制御部120は、当該複数のCPUが夫々有しているCPUコアに、各種処理を割り当てればよい。
またVoIPサーバ100は、マルチメディア処理の処理状態に応じて、当該マルチメディア処理とシグナリング処理とは異なる処理のうち一部の処理を、当該マルチメディア処理及びシグナリング処理が割り付けられた別々のCPUコアのうち一方のCPUコアに割り付けて実行することができる。これによりVoIPサーバ100は、エンコード/デコード処理の処理数をカウントすること等により、容易にCPUコアの処理状態を判別することができる。
またVoIPサーバ100は、シグナリング処理の処理状態に応じて、当該シグナリング処理とマルチメディア処理とは異なる処理のうち一部の処理を、当該シグナリング処理及びマルチメディア処理が割り付けられた別々のCPUコアのうち一方のCPUコアに割り付けて実行することができる。これによりVoIPサーバ100は、シグナリング処理の処理数をカウントすること等により、容易にCPUコアの処理状態を判別することができる。
更にVoIPサーバ100は、マルチメディア処理とシグナリング処理とのうち、優先する処理を決定し、当該優先すると決定した処理に、他方の処理以上の数のCPUコアを割り付けることができる。これによりVoIPサーバ100は、優先すべき処理の処理負荷の上昇を抑制することができる。
(第2実施形態)
次に図11乃至図12を参照して、第2実施形態について説明する。本実施形態に係るVoIPサーバ100は、当該VoIPサーバ100のCPUのコア数が3以上である場合に、マルチメディア処理とシグナリング処理と、当該マルチメディア処理及びシグナリング処理とは異なる処理とを、各々別のCPUコアに予め割り付けるとともに、マルチメディア処理やシグナリング処理等の処理状態に応じて、これらマルチメディア処理やシグナリング処理をCPUコアに割り付けて実行させるものである。なお第2実施形態におけるVoIPサーバ100のシステム構成、優先度情報データベース123、割当情報データベース124、閾値情報データベース125等については第1実施形態と同様であるため説明を省略する。
次に図11乃至図12を参照して、第2実施形態について説明する。本実施形態に係るVoIPサーバ100は、当該VoIPサーバ100のCPUのコア数が3以上である場合に、マルチメディア処理とシグナリング処理と、当該マルチメディア処理及びシグナリング処理とは異なる処理とを、各々別のCPUコアに予め割り付けるとともに、マルチメディア処理やシグナリング処理等の処理状態に応じて、これらマルチメディア処理やシグナリング処理をCPUコアに割り付けて実行させるものである。なお第2実施形態におけるVoIPサーバ100のシステム構成、優先度情報データベース123、割当情報データベース124、閾値情報データベース125等については第1実施形態と同様であるため説明を省略する。
図11は、第2実施形態のVoIPサーバ100が行う、各種処理についての割当情報データベース生成に係る処理フロー例である。
まず割当制御部120は、CPU情報を取得し、VoIPサーバ100が備えるCPU数やCPUコア数を確認し(S801)、CPUのコア数が2以上であるか否か判別する(S802)。そして割当制御部120は、CPUコア数が1である場合(S802のNo)、各処理をCPUコア毎に割り当てず、当該1のCPUコアに各処理を割り当てる(S803)。一方CPUコア数が2以上である場合(S802のYes)、続いて割当制御部120はCPUコア数が3以上であるか否かを判別する(S804)。そしてCPUコア数が3以上である場合(S805)、割当制御部120は、優先度情報データベース123を参照し、優先度が「高」「中」「低」に設定された処理を、それぞれ別のCPUコアに割り当て、当該割当についての情報を割当情報データベース124に格納する(S805)。なおここでマルチメディア処理とシグナリング処理とは、夫々別のCPUコアに割り当てられる。また、S804においてCPUコア数が2である場合(S804のNo)、割当制御部120は、当該2のCPUコアの夫々に、優先度「高」の処理と「中」の処理とを別々に割り当て、当該割当についての情報を割当情報データベース124に格納する(S806)。
まず割当制御部120は、CPU情報を取得し、VoIPサーバ100が備えるCPU数やCPUコア数を確認し(S801)、CPUのコア数が2以上であるか否か判別する(S802)。そして割当制御部120は、CPUコア数が1である場合(S802のNo)、各処理をCPUコア毎に割り当てず、当該1のCPUコアに各処理を割り当てる(S803)。一方CPUコア数が2以上である場合(S802のYes)、続いて割当制御部120はCPUコア数が3以上であるか否かを判別する(S804)。そしてCPUコア数が3以上である場合(S805)、割当制御部120は、優先度情報データベース123を参照し、優先度が「高」「中」「低」に設定された処理を、それぞれ別のCPUコアに割り当て、当該割当についての情報を割当情報データベース124に格納する(S805)。なおここでマルチメディア処理とシグナリング処理とは、夫々別のCPUコアに割り当てられる。また、S804においてCPUコア数が2である場合(S804のNo)、割当制御部120は、当該2のCPUコアの夫々に、優先度「高」の処理と「中」の処理とを別々に割り当て、当該割当についての情報を割当情報データベース124に格納する(S806)。
次に図12を参照して、第2実施形態のVoIPサーバ100による、処理の割当に係る処理フロー例について説明する。なお当該処理フローは、図11においてCPUコア数が3以上であると判別され、当該3以上のCPUコアに夫々処理が割り当てられている場合に実行される処理フローである。
VoIPサーバ100が何らかの処理を実行する場合、割当制御部120は当該実行する処理が何の処理に該当するかを判別し、また当該処理の優先度を確認する(S901)。そして割当制御部120は、当該処理の優先度が「低」に設定されている場合(S902のNo)、割当情報データベース124を参照し(S903)、CPU110は、当該処理が割り当てられているCPUコアにて当該処理を行う(S904)。
一方、実行する処理の優先度が「高」又は「中」である場合(S902のYes)、割当制御部120は割当情報データベース124を参照し(S905)、当該処理が割り当てられているCPUコアの処理状態を確認する(S906)。そしてS907において割当制御部120は、実行する処理が割り当てられているCPUコアの処理状態が予め設定された閾値以下であるか否かを判別する(S907)。
即ちS906及びS907において割当制御部120は、実行する処理がマルチメディア処理である場合、マルチメディア処理が割り当てられたCPUコアにおけるCPUコアの使用率あるいはコーデック処理数を確認し、当該使用率又はコーデック処理数が閾値以下であるか否かを判別する。またS906及びS907において、実行する処理がシグナリング処理である場合、割当制御部120は、シグナリング処理が割り当てられたCPUコアにおけるCPUコアの使用率あるいはシグナリング処理における信号送受信数を確認し、当該使用率あるいは信号送受信数が予め設定されている閾値以下であるか否かを判別する。
そしてS907において、CPUコアの処理状態が閾値以下である場合(S907のYes)、割当制御部120は当該処理を、予め割り当てられたCPUコアで行うように設定し、CPU110は予め割り当てられたCPUコアで当該処理を実行する(S908)。一方S907において、CPUコアの処理状態が閾値を上回っている場合(S907のNo)、割当制御部120は優先度「低」が割り当てられたCPUコアに、当該処理を割り当て、CPU110は当該割り当てられたCPUコアにて処理を実行する(S909)。
第2実施形態によれば、VoIPサーバ100は、マルチメディア処理とシグナリング処理とを異なるCPUコアに割り付けることにより、これら処理がお互い処理を圧迫すること抑制するとともに、マルチメディア処理とシグナリング処理とが割り付けられた夫々のCPUコアの処理状態に応じて、当該マルチメディア処理及びシグナリング処理の少なくとも一部を、これら処理が割り付けられたCPUコアとは異なるCPUコアに割り当てて実行することができる。これにより、マルチメディア処理及びシグナリング処理によるCPUコアに対する処理負荷を抑制することができる。
またVoIPサーバ100は、エンコード/デコード処理の処理数やシグナリング処理の処理数をカウントすること等により容易にCPUコアの処理状態を判別し、マルチメディア処理やシグナリング処理を、当該CPUコアの処理状態に応じたCPUコアに割り当てて実行させることができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
100…VoIPサーバ、110…CPU、111…CPUコア、112…CPUコア、113…CPUコア、120…割当制御部、121…マルチメディア情報取得部、122…シグナリング情報取得部、123…優先度情報データベース、124…割当情報データベース、125…閾値情報データベース、130…操作受付部、310…VoIP端末、320…VoIP端末、330…VoIP端末
Claims (11)
- ネットワークを介して、外部端末とのシグナリング処理を実行し、当該外部端末に送受信する音声および映像データのうち少なくとも一方のデータのマルチメディア処理を実行する情報処理装置であって、
1以上のCPUコアを其々含む第1及び第2のCPUコアと、
前記マルチメディア処理及び前記シグナリング処理との何れか一方の処理を前記第1のCPUコアに割り当て、他方の処理を前記第2のCPUコアに割り当てる第1の制御手段と、
前記第1のCPUコア及び前記第2のCPUコアの処理状態に応じて、前記マルチメディア処理及び前記シグナリング処理とは異なる処理を、当該第1及び第2のCPUコアのうち何れか一方に割り当てる第2の制御手段と
を備えることを特徴とする情報処理装置。 - 前記第2の制御手段は、前記第1又は第2のCPUコアに割り当てられたマルチメディア処理の処理状態に応じて、前記第1及び第2のCPUコアのうち一方に前記異なる処理を割り当てる
ことを特徴とする請求項1記載の情報処理装置。 - 前記第2の制御手段は、前記第1又は第2のCPUコアに割り当てられたコーデック処理の処理状態に応じて、前記第1及び第2のCPUコアのうち一方に前記異なる処理を割り当てる
ことを特徴とする請求項2記載の情報処理装置。 - 前記第2の制御手段は、前記第1又は第2のCPUコアに割り当てられたシグナリング処理の処理状態に応じて、前記第1及び第2のCPUコアのうち一方に前記異なる処理を割り当てる
ことを特徴とする請求項1記載の情報処理装置。 - 前記マルチメディア処理及び前記シグナリング処理とのうち、優先する処理を決定する決定手段を更に備え、
前記第1のCPUコアのCPUコア数は、前記第2のCPUコアのCPUコア数以上であり、
前記第1の制御手段は、前記決定手段が優先すると決定した処理を前記第1のCPUコアに割り当て、他の処理を前記第2のCPUコアに割り当てる
ことを特徴とする請求項1記載の情報処理装置。 - ネットワークを介して、外部端末とのシグナリング処理を実行し、当該外部端末に送受信する音声および映像データのうち少なくとも一方のデータのマルチメディア処理を実行する情報処理装置であって、
1以上のCPUコアを其々含む第1、第2及び第3のCPUコアと、
前記マルチメディア処理及び前記シグナリング処理との何れか一方の処理を前記第1のCPUコアに実行させ、他方の処理を前記第2のCPUコアに実行させ、前記マルチメディア処理及び前記シグナリング処理とは異なる処理を前記第3のCPUコアに実行させる第1の制御手段と、
前記第1のCPUコアの処理状態に応じて、当該第1のCPUコアに割り当てられた処理の一部を前記第3のCPUコアに割り当てる第2の制御手段と
を備えることを特徴とする情報処理装置。 - 前記第2の制御手段は、前記第1の制御手段により前記第1のCPUコアに前記マルチメディア処理が割り当てられている場合、当該第1のCPUコアに割り当てられたマルチメディア処理の処理状態に応じて、当該マルチメディア処理の一部を前記第3のCPUコアに割り当てる
ことを特徴とする請求項6記載の情報処理装置。 - 前記第2の制御手段は、前記第1のCPUコアに割り当てられたコーデック処理の処理状態に応じて、当該コーデック処理の一部を前記第3のCPUコアに割り当てる
ことを特徴とする請求項7記載の情報処理装置。 - 前記第2の制御手段は、前記第1の制御手段により前記第1のCPUコアに前記シグナリング処理が割り当てられている場合、当該第1のCPUコアに割り当てられたシグナリング処理の処理状態に応じて、当該シグナリング処理の一部を前記第3のCPUコアに割り当てる
ことを特徴とする請求項6記載の情報処理装置。 - 前記第2の制御手段は、前記第2のCPUコアの処理状態に応じて、当該第2のCPUコアに割り当てられた処理の一部を前記第3のCPUコアに割り当てる
ことを特徴とする請求項6記載の情報処理装置。 - 前記マルチメディア処理及び前記シグナリング処理とのうち、優先する処理を決定する決定手段を更に備え、
前記第1のCPUコアのCPUコア数は、前記第2のCPUコアのCPUコア数以上であり、
前記第1の制御手段は、前記決定手段により優先すると決定された処理を前記第1のCPUコアに割り当て、他方の処理を前記第2のCPUコアに割り当てる
ことを特徴とする請求項6記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010079855A JP2011210201A (ja) | 2010-03-30 | 2010-03-30 | 情報処理装置 |
US13/008,693 US20110247004A1 (en) | 2010-03-30 | 2011-01-18 | Information Processing Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010079855A JP2011210201A (ja) | 2010-03-30 | 2010-03-30 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011210201A true JP2011210201A (ja) | 2011-10-20 |
Family
ID=44711147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010079855A Pending JP2011210201A (ja) | 2010-03-30 | 2010-03-30 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110247004A1 (ja) |
JP (1) | JP2011210201A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10897426B2 (en) | 2013-09-30 | 2021-01-19 | Mitsubishi Electric Corporation | Reception apparatus and communication apparatus |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5516744B2 (ja) * | 2010-08-27 | 2014-06-11 | 富士通株式会社 | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 |
TWI463886B (zh) * | 2012-08-27 | 2014-12-01 | Hon Hai Prec Ind Co Ltd | 用戶終端設備的處理器資源管控系統及方法 |
CN114791857A (zh) * | 2021-01-25 | 2022-07-26 | 青岛海信宽带多媒体技术有限公司 | 一种家庭网关多核cpu处理器的控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004094473A (ja) * | 2002-08-30 | 2004-03-25 | Hitachi Ltd | コントローラ及びその制御方法 |
WO2007081022A1 (ja) * | 2006-01-16 | 2007-07-19 | Seiko Epson Corporation | マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
JP2007219577A (ja) * | 2006-02-14 | 2007-08-30 | Sony Corp | データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体 |
JP2010198307A (ja) * | 2009-02-25 | 2010-09-09 | Hitachi Automotive Systems Ltd | 自動車用制御装置 |
-
2010
- 2010-03-30 JP JP2010079855A patent/JP2011210201A/ja active Pending
-
2011
- 2011-01-18 US US13/008,693 patent/US20110247004A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004094473A (ja) * | 2002-08-30 | 2004-03-25 | Hitachi Ltd | コントローラ及びその制御方法 |
WO2007081022A1 (ja) * | 2006-01-16 | 2007-07-19 | Seiko Epson Corporation | マルチプロセッサシステム、マルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
JP2007219577A (ja) * | 2006-02-14 | 2007-08-30 | Sony Corp | データ処理装置、データ処理方法、データ処理方法のプログラム及びデータ処理方法のプログラムを記録した記録媒体 |
JP2010198307A (ja) * | 2009-02-25 | 2010-09-09 | Hitachi Automotive Systems Ltd | 自動車用制御装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10897426B2 (en) | 2013-09-30 | 2021-01-19 | Mitsubishi Electric Corporation | Reception apparatus and communication apparatus |
Also Published As
Publication number | Publication date |
---|---|
US20110247004A1 (en) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10097590B2 (en) | Call processing method and control apparatus, automatic call distribution apparatus, and agent terminal | |
US8300772B2 (en) | Method and apparatus for emergency call processing | |
US6018360A (en) | Method of switching a call to a multipoint conference call in a H.323 communication compliant environment | |
RU2483452C2 (ru) | Идентификация активного говорящего участника | |
US7912040B2 (en) | Systems and methods for dynamically allocating bandwidth of a subscriber line that carries voice over Internet Protocol (VoIP) telephone calls and Internet Protocol Telephone (IPTV) transmissions | |
CN1934796B (zh) | 模式转换通信系统和方法 | |
US10594744B2 (en) | Speech communication terminal, intermediate node, processing device, connection method, and non-transitory computer-readable recording medium | |
US8984156B2 (en) | Multi-party mesh conferencing with stream processing | |
WO2017030802A1 (en) | Methods and apparatus for multimedia conferences using single source multi-unicast | |
JP2011210201A (ja) | 情報処理装置 | |
US9661030B2 (en) | Building and switching IP multimedia sessions | |
CN111835674A (zh) | 通信方法、装置、第一网元及通信系统 | |
US9912623B2 (en) | Systems and methods for adaptive context-aware control of multimedia communication sessions | |
CN108293052B (zh) | 通信系统 | |
WO2018049627A1 (zh) | 一种集群组呼处理方法、相关设备和系统 | |
CN104079398A (zh) | 一种数据通信方法、装置及系统 | |
KR100986113B1 (ko) | 다자간 통화를 위한 단말간의 미디어 코덱 공유 방법 | |
JP4977222B2 (ja) | 通信システムとその通信制御方法および通信装置 | |
JP2004187108A (ja) | 多地点会議方法、端末状態監視サーバ及び端末 | |
CN110971577B (zh) | 一种会话管理方法及装置 | |
CN105706414B (zh) | 在多媒体通信网络中某些媒体流上执行动作 | |
CN113573006B (zh) | 专线视频会议通信方法、装置、设备和存储介质 | |
JP2009201045A (ja) | セッション制御装置及びセッション制御方法 | |
JP5827716B2 (ja) | 回線選択装置及び回線選択方法 | |
JP2010109878A (ja) | 主装置及び帯域割り当て方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120306 |