説明

負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置

【課題】 複数のプロセッサ(情報処理部)を並列に用いて情報処理を行う際に、効率良く負荷分散を行うことができる情報処理装置を提供する。
【解決手段】 本発明は、複数の情報処理部と、各ストリームの情報処理をいずれかの情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置に関する。そして、上記負荷分散装置において負荷分散の内容を制御する負荷分散制御装置は、負荷分散装置が、ストリームの情報処理の開始要求を受付けると、その開始要求に係るストリームのフレームの情報処理について予測所要時間及び処理制限時間を保持する手段と、少なくとも、保持した予測所要時間と処理制限時間とを利用して、開始要求に係るストリームの情報処理をいずれの上記情報処理部に担当させるか決定する手段とを有することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置に関し、例えば、複数のプロセッサを搭載したメディア変換装置における負荷分散に適用し得る。
【背景技術】
【0002】
固定通信網/移動通信網間や異なる通信事業者間などで、円滑な通信を実現するため、各通信網で使用される様々なメディア(例えば、音声・映像・データ等)のセッション(ストリーム)を、同時により多くのチャンネル数を変換するメディア変換装置の必要性が高まっている。
【0003】
多くのチャンネル数を処理する為には、メディア変換を行う複数個のプロセッサ(以下、「情報処理部」ともいう)を並列に処理させる必要がある。
【0004】
複数個のプロセッサを用いて並列処理する為には、プロセッサヘの処理対象のデータを、前段階の負荷分散装置(ロードバランサ)による振り分けが必要である。負荷分散装置における振り分け方法により、各プロセッサの負荷が変化する。振り分け方法として、従来の一般的な負荷分散装置における負荷分散制御としては、以下の5つのものなどがある。(1)ラウンドロビン:要求順に処理を振り分ける(2)重み付け:処理を行なう側に重み付け(ratio)をつけ、要求を振り分ける(3)優先順位:処理を行なう側に優先順位(Priority)をつけ、優先順位の高い処理を行なう側への要求が一定以上超えた場合、次の優先順位が高い処理を行なう側に振り分ける(4)接続数:処理要求数が少ない処理を行なう側へ振り分ける(5)処理量:プロセッサの処理量(ロードアベレージ)が少ない処理を行なう側に振り分ける方式。
【0005】
しかしながら、上述の(1)〜(4)を用いた方式では、メディア変換装置のように、複数種類のメディア(例えば、音声・映像・データ等)のメディア変換や、同じ種類のメディアでも複数種類の形式(例えば、異なるコーデックやパラメータを用いたメディアデータへの変換など)のメディア変換を行う場合には、変換処理の内容に応じて、セッション(ストリーム)ごとの処理量は異なることになる。
【0006】
そのため、処理量の異なる情報処理を、複数のプロセッサを並列に処理させる場合には、プロセッサごとの現在の処理量に応じて、動的に負荷分散を行う必要があるため、上述の(1)〜(4)の方式を用いずに、「(5)処理量」の方式を用いる場合がある。
【0007】
上述の「(5)処理量」の方式を用いた負荷分散を行う従来技術としては、例えば、特許文献1に記載の方法がある。特許文献1に記載の並列データベース処理方法では、一番処理負荷の軽いプロセッサに新規に発生した処理を振り分けることにより、各プロセッサの処理を均等に分散している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平8−137910号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、メディア変換装置においては、1つのプロセッサ内で、処理負荷が大きい映像や、処理負荷は小さいが処理時間の制限が厳しい音声パケットの処理等、が混在する場合がある。したがって、特許文献1に記載の並列データベース処理方法における、負荷分散の方式を、そのままメディア変換装置に適用した場合には、以下のような課題がある。
【0010】
例えば、処理負荷が高い映像パケット処理を実行している1つのプロセッサに対して、新たに10ms周期の音声処理を混在させる場合、処理遅延が発生し、音声パケットの揺らぎによる音声途切れなどの品質低下が発生してしまう。この課題を回避するためには、例えば、音声処理と映像処理専用のプロセッサを分離する必要があった。よって、従来のメディア変換装置では、運用条件によっては、一時的に映像処理が発生しない条件下では、音声処理の負荷が高い場合でも映像処理用のプロセッサを有効に使用できていなかった。
【0011】
そのため、複数のプロセッサ(情報処理部)を並列に用いて情報処理を行う際に、効率良く負荷分散を行うことができる負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置が望まれている。
【課題を解決するための手段】
【0012】
第1の本発明の負荷分散制御装置は、(1)フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、上記負荷分散装置を構成する、上記負荷分散装置の負荷分散の内容を制御する負荷分散制御装置において、(2)上記負荷分散装置が、ストリームの情報処理の開始要求を受付けると、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとに処理に要する予測所要時間を保持する予測所要時間保持手段と、(3)上記開始要求に係るストリームのフレームが発生してから、そのフレームの情報処理を完了するまでの処理制限時間を保持する処理制限時間保持手段と、(4)少なくとも、上記予測所要時間保持手段が保持した予測所要時間と、上記処理制限時間保持手段が保持した処理制限時間とを利用して、上記開始要求に係るストリームの情報処理を、いずれの上記情報処理部に担当させるか決定する決定手段とを有することを特徴とする。
【0013】
第2の本発明の負荷分散制御プログラムは、(1)フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、上記負荷分散装置に搭載されたコンピュータを、(2)上記負荷分散装置が、ストリームの情報処理の開始要求を受付けると、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとに処理に要する予測所要時間を保持する予測所要時間保持手段と、(3)上記開始要求に係るストリームのフレームが発生してから、そのフレームの情報処理を完了するまでの処理制限時間を保持する処理制限時間保持手段と、(4)少なくとも、上記予測所要時間保持手段が保持した予測所要時間と、上記処理制限時間保持手段が保持した処理制限時間とを利用して、上記開始要求に係るストリームの情報処理を、いずれの上記情報処理部に担当させるか決定を行う決定手段として機能させることを特徴とする。
【0014】
第3の本発明の負荷分散制御方法は、(1)フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、上記負荷分散装置の負荷分散の内容を制御する負荷分散制御方法において、(2)予測所要時間保持手段、処理制限時間保持手段、決定手段を有し、(3)上記予測所要時間保持手段は、上記負荷分散装置が、ストリームの情報処理の開始要求を受付けると、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとに処理に要する予測所要時間を保持し、(4)上記処理制限時間保持手段は、上記開始要求に係るストリームのフレームが発生してから、そのフレームの情報処理を完了するまでの処理制限時間を保持し、(4)上記決定手段は、少なくとも、上記予測所要時間保持手段が保持した予測所要時間と、上記処理制限時間保持手段が保持した処理制限時間とを利用して、上記開始要求に係るストリームの情報処理を、いずれの上記情報処理部に担当させるか決定することを特徴とする。
【0015】
第4の本発明の負荷分散装置は、(1)フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置を構成する、上記負荷分散装置において、(2)第1の本発明の負荷分散制御装置を備え、上記負荷分散制御装置を用いて負荷分散の内容を制御することを特徴とする。
【0016】
第5の本発明の情報処理装置は、(1)フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、(2)上記負荷分散装置として第4の本発明の負荷分散装置を適用したことを特徴とする。
【発明の効果】
【0017】
複数のプロセッサ(情報処理部)を並列に用いて情報処理を行う際に、効率良く負荷分散を行うことができる情報処理装置を提供する。
【図面の簡単な説明】
【0018】
【図1】実施形態に係る、メディア変換装置(情報処理装置)の全体構成及び、関係する各種装置の接続関係などを示すブロック図である。
【図2】実施形態に係る、メディア変換装置(情報処理装置)における、メディア変換の動作の全体を示したシーケンス図である。
【図3】実施形態に係る負荷分散制御装置において、トランスコード開始要求に係るメディア変換処理を担当させるDSP(デジタルシグナルプロセッサ)を決定する処理の詳細処理について示したフローチャートである。
【図4】実施形態に係る負荷分散制御装置において、任意のDSP(デジタルシグナルプロセッサ)について、処理余裕時間及び開始可能セッション数について演算した際の具体例について説明した説明図である。
【発明を実施するための形態】
【0019】
(A)主たる実施形態
以下、本発明による負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置の一実施形態を、図面を参照しながら詳述する。なお、この実施形態においては、本発明の情報処理装置をメディア変換装置に適用した例について説明している。
【0020】
(A−1)実施形態の構成
図1は、この実施形態のメディア変換装置1の全体構成及び、関係する各種装置の接続関係などを示すブロック図である。
【0021】
メディア変換装置1は、通信装置2(通信装置2−1〜2−M)の間を流れるメディアパケットをメディア変換するものであり、例えば、図1に示すように、送信元の通信装置2−1から送信先の通信装置2−2へ向けて送信されたメディアパケットが与えられると、そのメディアパケットを、送信先の通信装置2−2が対応するメディアに変換して、送信先の通信装置2−2へ向けて送出する。なお、図1においては、説明を簡易にするために、通信装置2−1〜2−Mは、メディア変換装置1と直接通信するように図示されているが、これは論理的な接続関係を示したもので、その他の通信装置を中継するようにしても良いし、通信装置2ごとに異なるネットワークに属していても良いことは当然である。
【0022】
なお、通信装置2−1〜2−Mは、既存のメディア通信を行う通信装置を適用することができる。
【0023】
また、図1において、メディア変換装置1では、G.711(ITU−T G.711)の形式の音声データのメディアパケットを、G.722(ITU−T G.722)の形式の音声データのメディアパケットに変換するものとして説明するが、双方向通信についてメディア変換する場合には、G.722からG.711にも対応するなどしてもよく、メディア変換装置1において対応するメディア変換の組み合わせや、組み合わせの種類は既存のメディア変換装置と同様に限定されないものである。また、メディア変換装置1における、個別のメディアパケットの変換処理自体は、既存のメディア変換装置(メディアゲートウェイなど)と同様の内容を適用するようにしても良い。
【0024】
以下、メディア変換装置1の詳細について説明する。
【0025】
メディア変換装置1は、変換処理部10、負荷分散装置20(ロードバランサ)及びCPU30を有している。
【0026】
変換処理部10は、メディア変換装置1において処理(メディア変換)対象となるデータを有するメディアパケット(以下、「変換対象パケット」という)を、変換する機能を担っている。
【0027】
変換処理部10は、N個の変換処理用のプロセッサ(DSP11−1〜11−N)を備え、それぞれ、メディア変換装置1において、変換対象パケットを変換する処理を行う。図1においては、変換処理部10は、DSP11−1〜11−Nという、N個のハードウェア(DSP)により構成されているものとして説明するが、一つのプロセッサの中で複数の変換処理部を有するもの(例えば、マルチコアのCPUなど)に置き換えるようにしても良いし、物理的には一つのプロセッサであっても、タイムスライスなどによりマルチタスクで処理を行うことにより、仮想的に複数のプロセッサを構成するようにしても良く、メディア変換装置1において、複数の情報処理部を構成する方法は限定されないものである。
【0028】
また、DSP11−1〜11−Nは、既存のメディア変換装置(メディアゲートウェイなど)において、メディア変換を実行するプロセッサを適用することができる。
【0029】
DSP11−1〜11−Nは、それぞれ、負荷分散装置20から、変換対象パケットが与えられると、その変換対象パケットを変換し、データが変換済のパケット(以下、「変換済パケット」という)を、負荷分散装置20に返す処理を行う。
【0030】
CPU30は、メディア変換装置1の全体を制御する機能を担っている。
【0031】
CPU30は、送信元の通信装置2から送信先の通信装置2へのメディア変換に係るセッション開始の要求を、外部から受け付けると、そのセッション(ストリーム)にかかるメディアパケットの変換(トランスコード)の開始要求(以下、「トランスコード開始要求」という)を、後述する負荷分散装置20(負荷分散制御装置22)に通知する。そして、負荷分散装置20(負荷分散制御装置22)から、そのセッションにかかるメディアパケットの変換(トランスコード)の開始が可能である旨の応答(以下、「トランスコード開始応答」という)があると、同様の応答をセッション開始の要求元に応答する。なお、CPU30に与えられる、セッション開始要求は、送信元の通信装置2、又は、図1においては図示を省略している呼制御装置から与えられるものとする。
【0032】
なお、CPU30としては、既存のメディア変換装置(メディアゲートウェイなど)における、制御部(CPU)を適用することができる。
【0033】
トランスコード開始要求には、例えば、変換対象パケットのメディア(図1の例では、G.711)や、変換対象パケットのメディアに係るパラメータ(例えば、ビットレートなど)、変換済パケットのメディア(図1の例では、G.722)や、変換済パケットのメディアに係るパラメータ(例えば、ビットレートなど)などが含まれている。
【0034】
なお、セッション開始要求が、双方向通信に係るメディア変換の場合には、CPU30は、第1の通信装置から第2の通信装置へのメディア変換に係るトランスコード開始要求と、第2の通信装置から第1の通信装置へのメディア変換に係るトランスコード開始要求とを、負荷分散制御装置22に与えるようにしても良い。この実施形態の以下の説明においては、説明を簡易にするため、メディア変換装置1において、片方向のみのメディア変換を行う場合を例として説明するが、双方向になった場合でも、上りと下りで同様の処理を行うようにすれば良いだけであるため、説明を省略する。
【0035】
負荷分散装置20は、送信元の通信装置2から、変換対象パケットが与えられると、その変換対象パケットを、所定のDSP11に与えてメディア変換させ、DSP11から変換済パケットが返されると、その変換済パケットを送信先の通信装置2に与えるものであり、負荷分散制御装置22及び制御テーブル12aを有している。
【0036】
負荷分散装置20は、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、実施形態の負荷分散制御プログラム等をインストールすることにより構築するようにしても良く、その場合でも機能的には上述の図1のように示すことができる。また、負荷分散装置20は、CPU30上で、実施形態の負荷分散制御プログラム等を動作させることにより構築するようにしても良いし、単独の装置として構築するようにしても良く、その具体的な構築形態は限定されないものである。
【0037】
スイッチ21は、送信元の通信装置2から、変換対象パケットが与えられると、その変換対象パケットを、ルーティング制御情報記憶部21aに設定された内容に応じたDSP11に与え、DSP11から変換済パケットが返されると、その変換済パケットを送信先の通信装置2に与える。なお、ルーティング制御情報記憶部21aは、後述する負荷分散制御装置22により設定されるものである。
【0038】
また、スイッチ21は、既存の複数プロセッサを有するメディア変換装置(メディアゲートウェイなど)において、負荷分散を行うスイッチを適用することができる。
【0039】
負荷分散制御装置22は、CPU30からトランスコード開始要求が与えられると、そのトランスコード開始要求に係るメディア変換処理を担当させるDSP11を、制御情報記憶部22aに保持された情報を利用して決定し、結滞した結果を、スイッチ21(ルーティング制御情報記憶部21a)に反映させる。負荷分散制御装置22において、トランスコード開始要求に係るメディア変換処理を担当させるDSP11を決定する構成については、後述する動作説明において詳述する。
【0040】
制御情報記憶部22aは、トランスコード開始要求に係るメディア変換処理を担当させるDSP11を決定するための情報(例えば、メディア変換に係る各コーデックのパラメータ条件など)が記憶されているデータベースである。制御情報記憶部22aに記憶される情報の内容は、後述する動作説明において詳述する。
【0041】
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態のメディア変換装置1におけるメディア変換の動作を説明する。
【0042】
(A−2−1)メディア変換装置全体の動作
図2は、メディア変換装置1における、メディア変換の動作の全体を示したシーケンス図である。
【0043】
まず、CPU30により、外部から、送信先の通信装置2へのメディア変換に係るセッション開始の要求が、受け付けられると、トランスコード開始要求が、負荷分散制御装置22に通知される(S101)。
【0044】
次に、トランスコード開始要求が通知されると、負荷分散制御装置22では、通知された内容と、制御情報記憶部22aの情報に基づいて、そのトランスコード開始要求に係るセッションのメディア変換を担当させるDSP11(以下、「DSP11−i」と表す)が決定される(S102)。
【0045】
次に、負荷分散制御装置22により、上述のステップS102における結果に従って、スイッチ21(ルーティング制御情報記憶部21a)の内容が設定される(S103)
以降は、スイッチ21では、上述のトランスコード開始要求に係るセッションのメディアパケットは、ルーティング制御情報記憶部21aに設定された内容に従って、DSP11−iにルーティングされることになる(S104)。
【0046】
(A−2−2)担当DSPの決定処理
次に、上述のステップS102の処理において負荷分散制御装置22において、トランスコード開始要求が与えられた場合に、そのトランスコード開始要求に係るメディア変換処理を担当させるDSP11を決定する処理の詳細について説明する。
【0047】
図3は、負荷分散制御装置22において、トランスコード開始要求に係るメディア変換処理を担当させるDSP11を決定する処理の詳細処理について示したフローチャートである。
【0048】
負荷分散制御装置22は、CPU30からトランスコード開始要求が与えられると、まず、後述する「トランスコード処理時間」及び「処理制限時間」を算出する(S201)。
【0049】
[トランスコード処理時間について]
負荷分散制御装置22では、トランスコード開始要求が与えられると、そのトランスコード開始要求に係る変換対象パケット(例えば、1パケット)を、DSP11が変換する際に要する時間(以下、「トランスコード処理時間」という)を計算する。
【0050】
DSP11において変換対象パケットをメディア変換する工程としては、変換対象パケットを一旦中間的なメディアデータにデコードする工程と、デコードしたメディアデータをエンコードして目的とするメディアに変換する工程と、サンプリングレート変換や、エコーキャンセル等の特殊処理を行う工程とがあるものとする。したがって、この実施形態においては、トランスコード処理時間は、以下の(1)式により算出されるものとする。
【0051】
トランスコード処理時間
=デコード処理時間+エンコード処理時間+特殊処理時間 …(1)
例えば、DSP11において、変換対象パケットを、直接目的とするメディアに変換する場合には、(1)式における「デコード処理時間+エンコード処理時間」を、直接変換する処理時間に置き換えるようにしても良いし、「特殊処理」が必要ない場合には、(1)式から「特殊処理時間」を省略するようにしても良い。
【0052】
デコード処理時間及びエンコード処理時間については、変換対象パケットが、音声データに係るものである場合には、変換対象パケットにおけるパケタライゼーション値、サンプリングレート/サンプリング数などのパラメータによって定めるようにしても良い。また、デコード処理時間及びエンコード処理時間については、変換対象パケットが、画像データに係るものである場合には、変換対象パケットにおけるフレームレートやフレームサイズなどのパラメータによって定めるようにしても良い。
【0053】
また、特殊処理時間については、変換対象パケットが音声データに係るものである場合には、サンプリングレートの変換(の有無)、音声フレーム長変換(の有無)、エコーキャンセル(の有無)などのパラメータによって定めるようにしても良い。また、特殊処理時間については、変換対象パケットが画像データに係るものである場合には、リサイズ(の有無)などのパラメータによって定めるようにしても良い。
【0054】
負荷分散制御装置22において、「デコード処理時間」、「エンコード処理時間」、「特殊処理時間」を求める際には、上述のようなパラメータに応じた処理時間を、予め制御情報記憶部22aに登録しておくようにしても良いし、予め制御情報記憶部22aに登録した計算式を用いて、上述のようなパラメータの組み合わせをあてはめて計算するようにしても良い。
【0055】
また、負荷分散制御装置22では、メディア変換処理の内容ごと(例えば、「G.711からG.722への変換」などの変換対象パケットと変換済パケットのメディアの組み合わせごと)に、トランスコード処理時間を予め制御情報記憶部22aに登録しておいて、トランスコード開始要求の内容に応じたトランスコード処理時間を制御情報記憶部22aから取り出すようにしても良く、負荷分散制御装置22においてメディア変換処理の内容ごとのトランスコード処理時間を保持する方法は限定されないものである。また、制御情報記憶部22aに、トランスコード処理時間自体を登録する場合は、例えば、予め理論値又は実測値を求めておくようにしても良い。
【0056】
なお、制御情報記憶部22aには、DSP11ごとの、現在メディア変換を行っている全てのメディア変換セッションのトランスコード処理時間の合計値(以下、「トランスコード処理合計時間」という)が保持されているものとする。例えば、あるDSP11が、トランスコード処理時間が4msecのメディア変換セッションが2本と、トランスコード処理時間が5msecのメディア変換セッションが2本のメディア変換を同時に担当している場合には、そのDSP11のトランスコード処理合計時間は、(4msec×2)+(5msec×2)=18msecとなる。
【0057】
[処理制限時間について]
負荷分散制御装置22では、トランスコード開始要求が与えられると、そのトランスコード開始要求に係る変換対象パケット(例えば、1パケット分)を、DSP11が変換処理する際に許容される制限時間(以下、「処理制限時間」という)を求める。
【0058】
処理制限時間は、例えば、そのトランスコード開始要求に係るセッションにおいて、送信元の通信装置2と送信先の通信装置2の間で、通信品質を保証するための最長の処理時間、言い換えると、変換対象パケットをメディア変換する際に許容される最長のターンアラウンドタイムである。メディア変換装置1では、変換対象パケットについて、それぞれのセッションごとの処理制限時間内にメディア変換処理(トランスコード処理)が完了するように、メディア変換処理が、DSP11−1〜11−Nに負荷分散される。
【0059】
負荷分散制御装置22では、例えば、メディア変換処理の内容ごと(例えば、「G.711からG.722への変換」などの変換対象パケットと変換済パケットのメディアの組み合わせごと)に、処理制限時間を予め制御情報記憶部22aに登録しておいて、トランスコード開始要求の内容に応じたトランスコード処理時間を制御情報記憶部22aから取り出すようにしても良く、負荷分散制御装置22においてメディア変換処理の内容ごとの処理制限時間を保持する方法は限定されないものである。制御情報記憶部22aに登録する処理制限時間については、例えば、通信装置2の間の通信品質が所望する品質となることを保証する時間について、理論値又は実測値を予め求めて登録するようにしても良い。
【0060】
なお、制御情報記憶部22aには、DSP11ごとの、現在メディア変換を行っている全てのメディア変換セッションの処理制限時間が保持されているものとする。
【0061】
負荷分散制御装置22では、「トランスコード処理時間」及び「処理制限時間」を算出すると、次に、各DSP11における処理負荷の余裕が算出される(S202)。
【0062】
負荷分散制御装置22では、上述のステップS201において算出した、「トランスコード処理時間」、「処理制限時間」と、「トランスコード処理合計時間」とを用いて、以下の(2)式により、DSP11ごとの処理制限時間を考慮した処理負荷の余裕(以下、「処理余裕時間」という)が算出されるものとする。ステップS202では、(2)式を、DSP11−1〜11−Nのそれぞれについて適用し、DSP11ごとの処理余裕時間が算出される。なお、(2)式における「処理制限時間」は、上述のステップS201で算出した、現在トランスコード開始要求を受けているセッションに係る処理制限時間である。
【0063】
処理余裕時間=処理制限時間−トランスコード処理合計時間 …(2)
負荷分散制御装置22では、DSP11ごとの処理余裕時間の算出が完了すると、次に、DSP11ごとに、現在トランスコード開始要求を受けているセッションのメディア変換を、新規に開始することが可能なセッション数(以下、「開始可能セッション数」という)が、以下の(3)式により算出される(S203)。
【0064】
ステップS203では、(3)式を、DSP11−1〜11−Nのそれぞれについて適用し、DSP11ごとの開始可能セッション数が算出される。なお、(3)式における「トランスコード処理時間」は、上述のステップS201で算出した、現在トランスコード開始要求を受けているセッションに係るトランスコード処理時間である。また、「処理余裕時間」は、上述のステップS202で求めたDSP11ごとの処理余裕時間を適用するものとする。
【0065】
開始可能セッション数=(処理余裕時間/トランスコード処理時間)+1 …(3)
負荷分散制御装置22では、DSP11ごとの開始可能セッション数の算出が完了すると、次に、最も開始可能セッション数が多いDSP11を、現在トランスコード開始要求を受けているセッションのメディアパケットのメディア変換処理を担当するものとして決定される(S204)。
【0066】
ステップS204において、負荷分散制御装置22では、最も開始可能セッション数が多いDSP11ではなく、最も処理余裕時間が長いDSP11を選択するようにしても良い。ただし、最も処理余裕時間が長いDSP11でも、開始可能セッション数が1に満たない場合には、そのトランスコード開始要求を拒否するように制御しても良い。
【0067】
ステップS204において、例えば、メディア変換装置1において、4つのDSP11−1〜DSP11−4が搭載されており、DSP11−1の開始可能セッション数が1本、DSP11−2の開始可能セッション数が4本、DSP11−3の開始可能セッション数が3本、DSP11−4の開始可能セッション数が2本であった場合には、開始可能セッション数が多いほど現在の処理負荷が軽いことを示すため、DSP11−2に、新たにトランスコード開始要求のあったセッションに係るメディア変換を担当させることに決定される。
【0068】
(A−2−3)開始可能セッション数算出の詳細について
次に、負荷分散制御装置22において、上述のステップS201〜S204の処理が行われる際に開始可能セッション数算出の詳細について説明する。
【0069】
図4は、負荷分散制御装置22において、トランスコード開始要求に係るメディア変換処理を担当させるDSP11を決定する際に、任意のDSP11(以下、「DSP11−j」という)について、処理余裕時間及び開始可能セッション数について演算した際の具体例について説明した説明図である。
【0070】
図4では、最初に、負荷分散制御装置22において、「トランスコードA」という変換処理内容のメディア変換に係る、トランスコード開始要求があり、その後に、「トランスコードB」という変換処理内容のメディア変換に係る、トランスコード開始要求があった場合の例について説明している。
【0071】
なお、トランスコードAのメディア変換については、処理時間が6mSec、処理制限時間が40mSecであるものとする。また、トランスコードBのメディア変換については、処理時間が5mSec、処理制限時間が20mSecであるものとする。なお、図4において、DSP11−1〜11−Nは、全て同じ処理能力であるものとして説明している。また、図4において、DSP11−jは初期状態として、1つもメディア変換のセッションを担当していないものとして説明している。
【0072】
まず、トランスコードAに係るトランスコード開始要求があった場合に、上記の(2)式に、処理時間(6mSec)、処理制限時間(40mSec)が適用され、図4(A)に示すように、処理余裕時間=40mSec−6mSec=34mSecとなる。さらに、負荷分散制御装置22では、上記の(3)式に、トランスコード処理時間(6mSec)、処理制限時間(40mSec)、処理余裕時間(34msec)が適用され、開始可能セッション数=(34mSec/6mSec)+1=6(本)と算出される。そして、トランスコードAに係るトランスコード開始要求に基づくセッションのメディア変換は、DSP11−jが担当することに決定したものとして以降の説明を行う。
【0073】
次に、負荷分散制御装置22に、トランスコードBに係るトランスコード開始要求があったものとする。
【0074】
この場合、負荷分散制御装置22において、DSP11−jについて処理余裕時間の算出に、上記の(2)式を適用する際には、処理制限時間として、現在担当しているセッションに係る処理制限時間と、トランスコード開始要求に基づくセッションに係る処理制限時間の中で最も短い処理制限時間が適用するようにしても良い。図4(B)の例においては、トランスコードAの処理制限時間が40mSecで、トランスコードBの処理制限時間が20msecなので、最も短いトランスコードBの処理制限時間(20msec)が適用されることになる。よって、図4(B)の例においては、DSP11−jについての処理余裕時間=20mSec−(6msec+5msec)=9mSecとなる。さらに、負荷分散制御装置22では、上記の(3)式に、処理時間(5msec)、処理制限時間(20msec)、処理余裕時間(9mSec)が適用され、開始可能セッション数=(9msec/5msec)+1=2(本)と算出されることになる。
【0075】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0076】
負荷分散制御装置22では、処理制限時間を考慮して、トランスコード開始要求に係るセッションのメディア変換を担当させるDSP11を決定している。これにより、メディア変換装置1では、各DSP11において、トランスコード処理合計時間が、現在メディア変換を担当しているセッションのうち、最も短い処理制限時間を越えることが無いため、一つのDSP11において処理負荷の異なるメディア変換処理が混在(例えば、音声と映像のメディア変換が混在)していても、通信装置2間の通信品質を所望の品質に維持することができる。
【0077】
また、メディア変換装置1では、一つのDSP11において処理負荷の異なるメディア変換処理が混在していても、通信装置2間の通信品質を所望の品質に維持することができることにより、従来のように、通信品質を維持するために、変換処理の種類ごと(例えば、音声データ処理や映像データ処理など)に、プロセッサ(DSP11)を備える必要が無い。すなわち、メディア変換装置1では、従来よりも効率よくプロセッサ(DSP11)を処理させ、少ない数のプロセッサ(DSP11)で従来と同様の品質の処理を行うことができる。さらに、メディア変換装置1において、DSP11や周辺メモリのリソース効率化、セッション最大処理数の向上、スループットの向上効果なども得られる。
【0078】
さらに、従来は上述の通り、変換処理の種類ごと(例えば、音声データ処理や映像データ処理など)にプロセッサを備える必要があるため、プロセッサの数を増減させる場合には、変換処理の種類ごとでなければ行うことができなかった。例えば、従来のメディア変換装置に、音声用のプロセッサと映像用のプロセッサがそれぞれ1つ搭載されていた場合に、音声用及び映像用の処理能力を向上させる際には、音声用と映像用のそれぞれに1つずつ(計2つ)プロセッサを増加させる必要があるが、この実施形態のメディア変換装置1では、1つのプロセッサ(DSP11)に音声と映像の両方のメディア変換を同時期に処理させることができるため、プロセッサ(DSP11)を1つずつ増加させることも可能である。このように、メディア変換装置1では、プロセッサ(DSP11)の数を増減させることが容易となり、拡張性の向上効果を奏することができる。
【0079】
さらにまた、負荷分散制御装置22では、DSP11ごとに、トランスコード処理合計時間や、現在メディア変換を担当している各セッションの処理制限時間を保持しているため、トランスコード開始要求に係るセッションのメディア変換を担当させるDSP11を決定する都度、DSP11に現在の処理負荷の問い合わせ等を行う必要が無く、負荷分散制御装置22及びDSP11の処理負荷を低減することができる。
【0080】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0081】
(B−1)上記の実施形態においては、本発明の負荷分散制御装置、プログラム及び方法、並びに、負荷分散装置及び情報処理装置をメディア変換装置に適用した例について説明したが、本発明は、メディア変換以外の他の情報処理に適用するようにしても良い。例えば、メディア変換の処理を、データ暗号化、データ復号化、データ圧縮など、他の情報処理に適用することなどが挙げられる。
【0082】
(B−2)上記の実施形態(上述の図1参照)においては、メディア変換装置1(負荷分散装置20)において、変換対象パケットの送信元及び変換済パケット送信先は、外部の通信装置(通信装置2)であるものとして説明しているが、メディア変換装置1(負荷分散装置20)において、変換対象パケットの送信元及び変換済パケット送信先の対象は限定されないものである。例えば、メディア変換装置1がさらに他の装置に組み込まれている場合には、変換対象パケットの送信元及び変換済パケット送信先は、その装置内の他の構成要素(例えば、他のプログラムや、通信処理部など)としても良い。また、変換対象パケットの送信元と、変換済パケット送信先が、同じものであっても良い。
【符号の説明】
【0083】
1…メディア変換装置(情報処理装置)、10…変換処理部、11、11−1〜11−N…DSP(デジタルシグナルプロセッサ)、20…負荷分散装置、21…スイッチ、11a…ルーティング制御情報記憶部、22…負荷分散制御装置、22a…制御情報記憶部、30…CPU、2、2−1〜2−M…通信装置。

【特許請求の範囲】
【請求項1】
フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、上記負荷分散装置を構成する、上記負荷分散装置の負荷分散の内容を制御する負荷分散制御装置において、
上記負荷分散装置が、ストリームの情報処理の開始要求を受付けると、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとに処理に要する予測所要時間を保持する予測所要時間保持手段と、
上記開始要求に係るストリームのフレームが発生してから、そのフレームの情報処理を完了するまでの処理制限時間を保持する処理制限時間保持手段と、
少なくとも、上記予測所要時間保持手段が保持した予測所要時間と、上記処理制限時間保持手段が保持した処理制限時間とを利用して、上記開始要求に係るストリームの情報処理を、いずれの上記情報処理部に担当させるか決定する決定手段と
を有することを特徴とする負荷分散制御装置。
【請求項2】
フレームの情報処理内容に対応する予測所要時間に係る情報を記憶する予測所要時間関連情報記憶手段をさらに有し、
上記予測所要時間保持手段は、上記予測所要時間関連情報記憶手段に記憶された情報を利用して、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとの処理に要する予測所要時間を求めて保持する
ことを特徴とする請求項1に記載の負荷分散制御装置。
【請求項3】
フレームの情報処理内容に応じた処理制限時間に係る情報を記憶する処理制限時間関連情報記憶手段をさらに有し、
上記処理制限時間保持手段は、上記処理制限時間関連情報記憶手段に記憶された情報を利用して、上記開始要求に係るストリームのフレームの情報処理について、処理制限時間を求めて保持する
ことを特徴とする請求項1又は2に記載の負荷分散制御装置。
【請求項4】
上記情報処理部ごとに、少なくとも、その情報処理部が現在情報処理を担当している全てのストリームに係る予測所要時間の合計時間の情報と、その情報処理部が現在情報処理を担当しているストリームごとの処理制限時間の情報とを保持する処理状況保持手段をさらに有し、
上記決定手段は、上記処理状況保持手段が保持している情報も利用して、上記開始要求に係るストリームの情報処理を担当させる情報処理部を決定する
ことを特徴とする請求項1〜3のいずれかに記載の負荷分散制御装置。
【請求項5】
上記フレームは、メディア通信を行う通信装置間を流れるメディアパケットであり、
上記ストリームは、メディア通信に係る通信セッションであり、
上記情報処理部は、メディアパケットを異なる形式のメディアパケットに変換する情報処理を行う
ことを特徴とする請求項1〜4のいずれかに記載の負荷分散制御装置。
【請求項6】
フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、上記負荷分散装置に搭載されたコンピュータを、
上記負荷分散装置が、ストリームの情報処理の開始要求を受付けると、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとに処理に要する予測所要時間を保持する予測所要時間保持手段と、
上記開始要求に係るストリームのフレームが発生してから、そのフレームの情報処理を完了するまでの処理制限時間を保持する処理制限時間保持手段と、
少なくとも、上記予測所要時間保持手段が保持した予測所要時間と、上記処理制限時間保持手段が保持した処理制限時間とを利用して、上記開始要求に係るストリームの情報処理を、いずれの上記情報処理部に担当させるか決定を行う決定手段と
して機能させることを特徴とする負荷分散制御プログラム。
【請求項7】
フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、上記負荷分散装置の負荷分散の内容を制御する負荷分散制御方法において、
予測所要時間保持手段、処理制限時間保持手段、決定手段を有し、
上記予測所要時間保持手段は、上記負荷分散装置が、ストリームの情報処理の開始要求を受付けると、上記開始要求に係るストリームのフレームの情報処理について、上記情報処理部ごとに処理に要する予測所要時間を保持し、
上記処理制限時間保持手段は、上記開始要求に係るストリームのフレームが発生してから、そのフレームの情報処理を完了するまでの処理制限時間を保持し、
上記決定手段は、少なくとも、上記予測所要時間保持手段が保持した予測所要時間と、上記処理制限時間保持手段が保持した処理制限時間とを利用して、上記開始要求に係るストリームの情報処理を、いずれの上記情報処理部に担当させるか決定する
ことを特徴とする負荷分散制御方法。
【請求項8】
フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置を構成する、上記負荷分散装置において、
請求項1〜5のいずれかに記載の負荷分散制御装置を備え、上記負荷分散制御装置を用いて負荷分散の内容を制御する
ことを特徴とする負荷分散装置。
【請求項9】
フレーム単位に情報処理を行う複数の情報処理部と、複数のフレームが一定又は不定の間隔で発生するストリームごとに情報処理の要求を受付けて、受付けたストリームに係る情報処理を、いずれかの上記情報処理部に振り分けて実行させる負荷分散装置とを備える情報処理装置において、
上記負荷分散装置として請求項8に記載の負荷分散装置を適用したことを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2010−277272(P2010−277272A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−128127(P2009−128127)
【出願日】平成21年5月27日(2009.5.27)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成21年度独立行政法人情報通信研究機構「高度通信・放送研究開発委託研究/次世代ネットワーク(NGN)基盤技術の研究開発」委託研究、産業技術力強化法第19条の適用を受けるもの)
【出願人】(000000295)沖電気工業株式会社 (6,645)