(57)【要約】【課題】複数の信号処理装置から所定の信号処理を実行するのに最適な実行装置を選択すること。【解決手段】通信中継部１０は、複数のサーバから所定の信号処理を実行する実行装置を選択する。ベクトル算出部１０４２は、複数のサーバそれぞれにおける処理リソースの使用可能量を、各処理リソースを座標軸とした複数の装置ベクトルとして表すとともに、信号処理に必要な処理リソースの使用量を、処理リソースを座標軸とした処理負荷ベクトルとして表す。装置選択部１０４４は、複数の装置ベクトルのうち処理負荷ベクトルとなす角度が最も小さい装置ベクトルに対応する信号処理装置を実行装置として選択する。【選択図】図４
2016151902.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号処理装置から所定の信号処理を実行する実行装置を選択する装置選択方法であって、
複数の前記信号処理装置のそれぞれにおける処理リソースの使用可能量を、前記処理リソースを座標軸とした複数の装置ベクトルとして表すとともに、前記信号処理に必要な前記処理リソースの使用量を、前記処理リソースを座標軸とした処理負荷ベクトルとして表すベクトル算出工程と、
複数の前記装置ベクトルと前記処理負荷ベクトルとに基づいて、前記信号処理を実行する実行装置を選択する装置選択工程と、
を含むことを特徴とする装置選択方法。
【請求項２】
前記装置選択工程では、複数の前記装置ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、
ことを特徴とする請求項１に記載の装置選択方法。
【請求項３】
複数の前記信号処理を単一の前記信号処理装置を用いて実行する場合、
前記ベクトル算出工程では、それぞれの前記信号処理に対して前記処理負荷ベクトルを算出するとともに、算出した複数の前記処理負荷ベクトルの合成ベクトルを算出し、
前記装置選択工程では、複数の前記装置ベクトルのうち前記合成ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、
ことを特徴とする請求項１に記載の装置選択方法。
【請求項４】
複数の前記信号処理装置のうち所定の信号処理装置群を用いて単一の前記信号処理を実行する場合、
前記ベクトル算出工程では、それぞれの前記信号処理装置に対して前記装置ベクトルを算出するとともに、前記信号処理装置群に含まれる前記信号処理装置に対応する装置ベクトル群の合成ベクトルを算出し、
前記装置選択工程では、前記合成ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記合成ベクトルに対応する前記信号処理装置群を前記実行装置として選択する、
ことを特徴とする請求項１に記載の装置選択方法。
【請求項５】
複数の信号処理装置から所定の信号処理を実行する実行装置を選択する信号処理制御装置であって、
複数の前記信号処理装置のそれぞれにおける処理リソースの使用可能量を、前記処理リソースを座標軸とした複数の装置ベクトルとして表すとともに、前記信号処理に必要な前記処理リソースの使用量を、前記処理リソースを座標軸とした処理負荷ベクトルとして表すベクトル算出手段と、
複数の前記装置ベクトルと前記処理負荷ベクトルとに基づいて、前記信号処理を実行する実行装置を選択する装置選択手段と、
を備えることを特徴とする信号処理制御装置。
【請求項６】
前記装置選択手段は、複数の前記装置ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、
ことを特徴とする請求項５に記載の信号処理制御装置。
【請求項７】
複数の前記信号処理を単一の前記信号処理装置を用いて実行する場合、
前記ベクトル算出手段は、それぞれの前記信号処理に対して前記処理負荷ベクトルを算出するとともに、算出した複数の前記処理負荷ベクトルの合成ベクトルを算出し、
前記装置選択手段は、複数の前記装置ベクトルのうち前記合成ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、
ことを特徴とする請求項５に記載の信号処理制御装置。
【請求項８】
複数の前記信号処理装置のうち所定の信号処理装置群を用いて単一の前記信号処理を実行する場合、
前記ベクトル算出手段は、それぞれの前記信号処理装置に対して前記装置ベクトルを算出するとともに、前記信号処理装置群に含まれる前記信号処理装置に対応する装置ベクトル群の合成ベクトルを算出し、
前記装置選択手段は、前記合成ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記合成ベクトルに対応する前記信号処理装置群を前記実行装置として選択する、
ことを特徴とする請求項５に記載の信号処理制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の信号処理装置から所定の信号処理を実行する実行装置を選択する装置選択方法および信号処理制御装置に関する。
【背景技術】
【０００２】
近年、ネットワーク機器の仮想化による通信網の仮想化が検討されている（例えば、非特許文献１参照）。すなわち、従来はネットワーク機能ごとに専用の装置を配置して構成している通信網を、汎用サーバ群によるクラウドシステムや汎用転送装置による転送ネットワークを用いて構成する技術が検討されている。
仮想化された通信網では、仮想化されたインスタンス間で物理リソースが共有されることとなり、インスタンスごとの使用リソース分配の最適化がなされると考えられる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】有満秀浩、他６名、「ネットワーク仮想化に向けた技術開発の現状」、ＮＴＴ技術ジャーナル、日本電信電話株式会社、２０１４年５月、Ｖｏｌ２６、Ｎｏ５、６〜９頁
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のネットワークでは、ネットワーク機能ごとに専用の装置を用いており、また通信方法もＳＤＨ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ）やＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）をはじめとして、通信フレームの送信タイミングや大きさが定められている。
このため、ネットワーク上で処理可能な信号量の導出を容易に行うことができ、必要な分だけ処理リソースを増やすなど、設備設計を容易に行うことができた。
一方、上述のように仮想化された通信網では、メモリやＣＰＵなどのリソース種別や量の選択肢が増えるとともに、そのバランスが多様になることが予測される。また、多様な呼種をはじめとする、さまざまな通信種別を疎通させる必要があり、従来に比べて処理リソースの選択や適切な信号処理装置の配分や設備設計が困難となることが予測される。
【０００５】
本発明は、このような事情に鑑みなされたものであり、複数の信号処理装置から所定の信号処理を実行するのに最適な実行装置を選択することを目的とする。
【課題を解決するための手段】
【０００６】
上述の目的を達成するため、請求項１に記載の発明は、複数の信号処理装置から所定の信号処理を実行する実行装置を選択する装置選択方法であって、複数の前記信号処理装置のそれぞれにおける処理リソースの使用可能量を、前記処理リソースを座標軸とした複数の装置ベクトルとして表すとともに、前記信号処理に必要な前記処理リソースの使用量を、前記処理リソースを座標軸とした処理負荷ベクトルとして表すベクトル算出工程と、複数の前記装置ベクトルと前記処理負荷ベクトルとに基づいて、前記信号処理を実行する実行装置を選択する装置選択工程と、を含むことを特徴とする装置選択方法とした。
【０００７】
請求項５に記載の発明は、複数の信号処理装置から所定の信号処理を実行する実行装置を選択する信号処理制御装置であって、複数の前記信号処理装置のそれぞれにおける処理リソースの使用可能量を、前記処理リソースを座標軸とした複数の装置ベクトルとして表すとともに、前記信号処理に必要な前記処理リソースの使用量を、前記処理リソースを座標軸とした処理負荷ベクトルとして表すベクトル算出手段と、複数の前記装置ベクトルと前記処理負荷ベクトルとに基づいて、前記信号処理を実行する実行装置を選択する装置選択手段と、を備えることを特徴とする信号処理制御装置とした。
【０００８】
このようにすることで、各信号処理装置が有する複数の処理リソースのバランスと、対象となる信号処理が必要とする処理リソースとのバランスを考慮して、適切な信号処理装置を実行装置として選択することができる。また、信号処理装置の処理能力を、各処理リソースを座標軸としたベクトルとして表すので、評価対象とする処理リソース数が多い場合でも演算処理を容易に行うことができる。
【０００９】
請求項２に記載の発明は、前記装置選択工程では、複数の前記装置ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、ことを特徴とする装置選択方法とした。
【００１０】
請求項６に記載の発明は、前記装置選択手段は、複数の前記装置ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、ことを特徴とする信号処理制御装置とした。
【００１１】
このようにすることで、対象となる信号処理に必要な処理リソースのバランスに最も近い処理能力を有する信号処理装置を選択することができ、信号処理を効率的に実行することができる。
【００１２】
請求項３に記載の発明は、複数の前記信号処理を単一の前記信号処理装置を用いて実行する場合、前記ベクトル算出工程では、それぞれの前記信号処理に対して前記処理負荷ベクトルを算出するとともに、算出した複数の前記処理負荷ベクトルの合成ベクトルを算出し、前記装置選択工程では、複数の前記装置ベクトルのうち前記合成ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、ことを特徴とする装置選択方法とした。
【００１３】
請求項７に記載の発明は、複数の前記信号処理を単一の前記信号処理装置を用いて実行する場合、前記ベクトル算出手段は、それぞれの前記信号処理に対して前記処理負荷ベクトルを算出するとともに、算出した複数の前記処理負荷ベクトルの合成ベクトルを算出し、前記装置選択手段は、複数の前記装置ベクトルのうち前記合成ベクトルとなす角度が最も小さい前記装置ベクトルに対応する前記信号処理装置を前記実行装置として選択する、ことを特徴とする信号処理制御装置とした。
【００１４】
このようにすることで、複数の信号処理を単一の信号処理装置を用いて実行する場合に、最も適当な信号処理装置を容易に選択することができる。また、複数の信号処理に対する信号処理装置の割り当てを同時に行うことができるので、処理システムの効率を向上させることができる。
【００１５】
請求項４に記載の発明は、複数の前記信号処理装置のうち所定の信号処理装置群を用いて単一の前記信号処理を実行する場合、前記ベクトル算出工程では、それぞれの前記信号処理装置に対して前記装置ベクトルを算出するとともに、前記信号処理装置群に含まれる前記信号処理装置に対応する装置ベクトル群の合成ベクトルを算出し、前記装置選択工程では、前記合成ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記合成ベクトルに対応する前記信号処理装置群を前記実行装置として選択する、ことを特徴とする装置選択方法とした。
【００１６】
請求項８に記載の発明は、複数の前記信号処理装置のうち所定の信号処理装置群を用いて単一の前記信号処理を実行する場合、前記ベクトル算出手段は、それぞれの前記信号処理装置に対して前記装置ベクトルを算出するとともに、前記信号処理装置群に含まれる前記信号処理装置に対応する装置ベクトル群の合成ベクトルを算出し、前記装置選択手段は、前記合成ベクトルのうち前記処理負荷ベクトルとなす角度が最も小さい前記合成ベクトルに対応する前記信号処理装置群を前記実行装置として選択する、ことを特徴とする。
【００１７】
このようにすることで、単一の信号処理を複数の信号処理装置（信号処理装置群）を用いて実行する場合に、最も適当な信号処理装置群を容易に選択することができる。また、単一の信号処理に対して複数の信号処理装置を割り当てることができるので、処理負荷が大きい信号処理を迅速に処理することができる。
【発明の効果】
【００１８】
本発明によれば、信号処理装置が有する処理リソースおよび信号処理に必要な処理リソースを総合して、複数の信号処理装置から所定の信号処理を実行するのに最適な実行装置を選択することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態にかかる通信中継部が適用されるネットワークの構成を模式的に示す説明図である。
【図２】異なる通信網に接続された端末間の通信経路を模式的に示す説明図である。
【図３】ＳＩＰ信号のフォーマットの一例を示す説明図である。
【図４】通信中継部の機能的構成を示すブロック図である。
【図５】コーデックの組み合わせおよび実行装置の一例を示す説明図である。
【図６】実行装置への送信用情報の一例を示す説明図である。
【図７】ベクトル算出部によって算出するベクトルの一例を示す説明図である。
【図８】通信中継部における処理手順を示すフローチャートである。
【図９】通信中継部における処理手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照して、本発明にかかる装置選択方法および信号処理制御装置の好適な実施の形態を詳細に説明する。
本実施の形態では、異なる通信網を接続する通信中継部１０（図２，図４参照）に対して、本発明にかかる装置選択方法を適用して信号処理制御装置として機能させる場合について説明する。
【００２１】
（実施の形態）
図１は、実施の形態にかかる通信中継部１０が適用されるネットワーク２０の構成を模式的に示す説明図である。
ネットワーク２０は、仮想化されたネットワークシステムであり、汎用サーバ２０２で構成されるクラウドシステムＣおよび汎用転送機器２０４で構成される転送ネットワークＮによって構成される。
【００２２】
クラウドシステムＣでは、従来専用のハードウェアを用いて実現されているネットワーク機能がソフトウェア化され、汎用サーバ２０２上で動作されることにより、ネットワーク２０における制御機能およびサービス機能を実現する。すなわち、従来はネットワーク機器に一体化されていた制御機能と転送機能を分離し、制御機能をソフトウェア化して汎用サーバ２０２で構成されるクラウドシステムＣに集約している。
転送ネットワークＮは、相互に接続された汎用転送機器２０４によって形成される。上述のように制御機能はクラウドシステムＣに集約されているため、汎用転送機器２０４は汎用スイッチなどのように、指定された転送先にデータを転送する機能を有する機器であればよい。
【００２３】
クラウドシステムＣ上には、ネットワーク２０を制御するアプリケーションとしてネットワークコントローラ２２が設けられている。
ネットワークコントローラ２２は、複数の汎用サーバ２０２としてクラウドシステムＣ内に配置されるコンピューティングリソースと、転送ネットワークＮを構成するネットワークリソース（汎用転送機器２０４）の両方を管理、制御する。
ネットワークコントローラ２２は、ネットワーク２０全体のリソースの割当て状況を管理、制御するオーケストレータと、汎用転送機器２０４を制御する転送側コントローラから構成される。
【００２４】
オーケストレータは、ネットワーク２０上で提供されるサービスごとの需要の変動や、サービス事業者からのリソース割当ての要求に応じて、動的にリソースの配分を変更するなどの制御を実施する。
転送側コントローラは、オーケストレータから指示を受けて汎用転送機器２０４で構成される転送ネットワークＮを制御する。転送側コントローラと転送ネットワークＮの間のインターフェースやプロトコル規定はＳｏｕｔｈｂｏｕｎｄ  ＡＰＩと呼ばれ、ＯｐｅｎＦｌｏｗなどを適用することができる。
【００２５】
また、ネットワーク２０には、複数のサーバ３０（３０Ａ，３０Ｂ）が接続されている。サーバ３０は仮想サーバであってもよいし、個々の物理サーバであってもよい。また、サーバ３０は、クラウドシステムＣの一部を構成するものであってもよい。
各サーバ３０Ａ，３０Ｂは、個別にＣＰＵやメモリ等の処理リソースを有し、信号処理能力がそれぞれ異なる。
本実施の形態では、通信中継部１０（信号処理制御装置）は、コーデック変換処理部１２を実現する信号処理装置、すなわちコーデック変換を実行する実行装置を、複数のサーバ３０の中から選択する機能を有する。
【００２６】
本実施の形態では、ネットワーク２０に接続された端末４０Ａ，４０Ｂ間の通信を例にして説明する。
本実施の形態では、端末４０Ａ，４０ＢはＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）端末であり、ＳＩＰ信号を用いてセッションを開始させた後、音声データや動画データ、テキストデータなどのメディア信号を相互に伝送してリアルタイム通信を行うものとする。以下、端末４０Ａを発信側（ユーザーエージェント・クライアント）、端末４０Ｂを着信側（ユーザーエージェント・サーバ）とする。
【００２７】
図２は、端末４０Ａ，４０Ｂ間の通信経路を模式的に示す説明図である。
図２では、端末４０Ａと端末Ｂとは異なる通信網（通信網Ａおよび通信網Ｂ）に接続している。
通信中継部１０（信号処理制御装置）は、異なる通信網（通信網Ａおよび通信網Ｂ）にそれぞれ接続された端末４０Ａ，４０Ｂ間の通信を通信網の境界で中継する。
異なる通信網とは、例えば異なるキャリアがそれぞれ運用するＩＰ電話サービス網同士や、中小規模のエンタープライズが運用する社内網同士、ユニファイドコミュニケーションサービスの相互接続などが挙げられる。
【００２８】
通信中継部１０は、従来のセッションボーダーコントローラに対応する機能部である。従来のセッションボーダーコントローラは、主に以下のような機能を有する。
下記機能のうち、コーデック変換機能については、後述するコーデック変換処理部１２によって実行する。
１．コーデック変換機能
Ｕプレーン（ユーザプレーン、メディア信号をやり取りする機能群）データのコーデックをあわせるために、コーデック変換を実施する機能。
２．ＳＩＰ差分吸収機能
ＲＦＣ３２６１等で規定されるＳＩＰプロトコルの範囲で通信網同士を相互に疎通させるために差分を吸収する機能。すなわち、通信網間で後述するＳＩＰ信号のヘッダ部などに差分が生じた場合に、これを補完する。
３．トポロジハイディング機能
通信網内のネットワーク構成、例えばＩＰアドレスやポート番号などを通信網外に対して隠蔽する機能。
４．ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御機能
通信網間で異なるパケットの優先度ＤＳＣＰ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ）等をあわせる機能。
５．ピンホール制御機能
Ｃプレーン（コントロールプレーン、後述するＳＩＰ信号をやり取りする機能群）で決定された条件でＵプレーンデータを入出力させるためにＵプレーンのポートの開け閉めを行う機能。
【００２９】
通信中継部１０は、通信網Ａおよび通信網Ｂ以外の他の通信網と接続されていてもよい。通信中継部１０は、それぞれの通信網に対して方路ごとのシナリオを設定している。シナリオとは、通信網への入方向および出方向ごとのルール、ＳＩＰヘッダの取扱いルール、各ヘッダのパラメータの取扱いや操作を定義したルール、などによって構成される。具体的には、例えば図６に示す実行装置６０２、設定用プロトコル６０４、設定用アドレス６０６、設定用ポート番号６０８、送信先アドレス６１０、送信先ポート番号６１２などを含んでいる。
【００３０】
本実施の形態では、通信中継部１０およびＳＩＰサーバ２１２はクラウドシステムＣ上のアプリケーションとして実現される。
また、コーデック変換処理部１２は、通信中継部１０によって選択されたいずれかのサーバ３０によって実現される。
【００３１】
端末４０Ａ，４０Ｂ間の接続はＳＩＰサーバ２１２（２１２Ａ，２１２Ｂ）を介して行う。図２では、端末４０Ａ，４０Ｂは、それぞれエッジルータ２１４（２１４Ａ，２１４Ｂ）を介してＳＩＰサーバ２１２と接続されている。また、ＳＩＰサーバ２１２（２１２Ａ，２１２Ｂ）は、それぞれの通信網の境界において通信中継部１０と接続している。この経路がＣプレーンである。
なお、図２では１つの通信網に２台のＳＩＰサーバ２１２を図示しているが、ＳＩＰサーバ２１２の設置数は任意である。
【００３２】
端末４０Ａ，４０Ｂ間の接続についてより詳細に説明すると、ユーザエージェントである端末４０Ａ，４０Ｂは、それぞれ起動時に自端末の識別情報やＩＰアドレスを含んだ登録メッセージを、ＳＩＰサーバ２１２へ送信する。ＳＩＰサーバ２１２は、端末４０Ａ，４０Ｂの登録情報をデータベースに記録する。
端末４０Ａが端末４０Ｂに対して音声通話等の発信を行う場合、端末４０Ｂの識別情報を指定した発信メッセージ（ＩＮＶＩＴＥメッセージ）を含むＳＩＰ信号を、ＳＩＰサーバ２１２へ送信する。
ＳＩＰサーバ２１２は、データベースの情報を検索して、指定された識別情報に対応するＩＰアドレスへ発信メッセージを転送する。なお、端末４０Ａ−端末４０Ｂ間に複数のＳＩＰサーバ２１２がある場合、ＳＩＰサーバ２１２間で順次発信メッセージを転送する。
また、通信網Ａと通信網Ｂとの境界では、通信中継部１０が上記ＳＩＰ差分吸収機能によって適宜ＳＩＰ信号の差分を補完する。
発信メッセージを受信した端末４０Ｂは応答メッセージをＳＩＰサーバ２１２へ返し、ＳＩＰサーバ２１２はその応答メッセージを端末４０Ａに転送する。
【００３３】
この一連の流れによって、端末４０Ａおよび端末４０Ｂはメッセージ中に含まれていた相手のＩＰアドレスを知ることができる。
このような接続処理の後、端末４０Ａ，４０ＢはＳＩＰサーバ２１２を介さずに、Ｕプレーンを介してメディア信号を直接送り合う。
【００３４】
図３は、ＳＩＰ信号のフォーマットの一例を示す説明図である。
ＳＩＰ信号は、スタートラインとヘッダ情報、空白行を挟んだボディ部に分けられている。ヘッダ情報には、発信側の端末４０Ａを識別する識別子ｓｉｐ：ａｌｉｃｅ＠ａｔｌａｎｔａ．ｃｏｍ、着信側の端末４０Ｂを識別する識別子ｓｉｐ：ｂｏｂ＠ｂｉｌｏｘｉ．ｃｏｍ、メッセージの種類（ＩＮＶＩＴＥ）などが記載される。
また、ボディ部には、ＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）と呼ばれる記述構文を使い、音声などのメディアストリーミングのＩＰアドレスや圧縮形式といったセッション情報が記載される。
【００３５】
特に、ボディ部の下段から３行目以下（ｃ行、ｍ行、ａ行：符号２０１）については、以下の情報が記載されている。
ｃ行：コネクション情報、自分が受け取りたいメディアのアドレスとポート番号が記載される。
ｍ行：メディア種別
より詳細には以下の情報が記載される。ｍ行は複数行設定可能である。
ｍ＝＜メディア種別＞＜ポート番号＞＜トランスポートプロトコル＞＜メディアフォーマット＞＜０＝  Ｇ．７１１  ｕ−Ｌａｗ、１８＝Ｇ．７２９＞
ａ行：メディア属性（図３ではＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）の属性）
より詳細には以下の情報が記載される。ａ行は複数行設定可能である。
ａ＝ｒｔｐｍａｐ＜ペイロードタイプ＞＜コーデック＞＜サンプリングレート＞
【００３６】
端末４０Ａ，４０Ｂ間の通信開始時には、図３のようなＳＩＰ信号を用いて使用するコーデック等のネゴシエーションを行う。これは、各端末４０Ａ，４０Ｂの仕様や、端末４０Ａ，４０Ｂがそれぞれ接続する通信網の仕様によって、疎通可能なコーデックや帯域などの条件が異なるためである。
発信側の端末４０Ａは、ＩＮＶＩＴＥメッセージに今回の通信で使用するコーデックを指定する。着信側の端末４０Ｂは、指定されたコーデックが使用可能であればＯＫの応答を返す。また、指定されたコーデックが使用できない場合はエラー応答を返す。
なお、本実施の形態では、端末４０Ａ，４０Ｂ間で共通に使用できるコーデックがない場合でも、通信中継部１０のコーデック変換機能により変換をおこなって伝送することが可能である。
接続処理後のメディア信号は、ＳＩＰサーバ２１２を介さない経路、すなわちエッジルータ２１４（２１４Ａ，２１４Ｂ）、コアルータ２１６（２１６Ａ，２１６Ｂ）、およびコーデック変換処理部１２を介する経路で伝送される。この経路がＵプレーンである。
【００３７】
図４は、通信中継部１０の機能的構成を示すブロック図である。
通信中継部１０は、変換判定部１０２、処理装置選択部１０４、送信先制御部１０６、制御信号出力部１０８によって構成される。
変換判定部１０２は、端末４０Ａ，４０Ｂ間で伝送されるメディア信号のコーデックを変換する必要があるか否かを判定する。
変換判定部１０２は、端末４０Ａ，４０Ｂ間のセッション開始時に送受信されるＳＩＰ信号からコーデックの変換の要否を判定する。すなわち、ＳＩＰ信号を参照し、端末４０Ａおよび４０Ｂでそれぞれ使用可能なコーデックに一致するものがある場合にはコーデックを変換する必要がないと判定し、一致するコーデックがない場合にはコーデックを変換する必要があると判定する。
【００３８】
なお、それぞれの通信網（通信網Ａ、通信網Ｂ）において、端末４０Ａ，４０Ｂの種別や通信網の条件によって対応可能なコーデックが複数あり、利用するコーデックは端末４０Ａ，４０Ｂ間のネゴシエーションによってセッションごとに決定する。すなわち、特定の通信網間においても複数のコーデックの変換パターン（変換前後の組み合わせ）を取り得る。よって、複数の変換パターンの中からいずれの変換パターンを適用するか選択する必要がある。
また、ネゴシエーション時に端末間または通信網で許容できる複数のメディアが指定されることがある。これは、ネゴシエーションの結果、より適切なコーデックを選択できるようにするためであり、コーデック変換を伴う場合にもより高品質な通信が行えるようコーデックを選択する。
【００３９】
処理装置選択部１０４は、メディア信号のコーデックの変換が必要と判定された場合に、コーデックの変換処理を実行する実行装置を決定する。すなわち、コーデック変換処理部１２とするサーバ３０を選択する。
処理装置選択部１０４は、さらにベクトル算出部１０４２（ベクトル算出手段）および装置選択部１０４４（装置選択手段）によって構成される。
ベクトル算出部１０４２は、複数の信号処理装置（本実施の形態ではサーバ３０Ａ，３０Ｂ）のそれぞれにおける処理リソースの使用可能量を、処理リソースを座標軸とした複数の装置ベクトルとして表すとともに、所定の信号処理（本実施の形態ではコーデック変換処理）に必要な処理リソースの使用量を、処理リソースを座標軸とした処理負荷ベクトルとして表す。
装置選択部１０４４は、複数の装置ベクトルと処理負荷ベクトルとに基づいて、所定の信号処理を実行する実行装置を選択する。
【００４０】
図７は、ベクトル算出部１０４２（ベクトル算出手段）によって算出するベクトルの一例を示す説明図である。
図７では、サーバ３０Ａおよびサーバ３０Ｂのそれぞれについて、Ｘ軸にＣＰＵの使用可能量、Ｙ軸にメモリの使用可能量を取り、各サーバ３０Ａ，３０Ｂの処理リソース使用可能量を原点Ｏからのベクトルａ，ｂで表している。
すなわち、サーバ３０Ａの処理能力を装置ベクトルａ（Ｘａ，Ｙａ）、サーバ３０Ｂの処理能力を装置ベクトルｂ（Ｘｂ，Ｙｂ）として示している。
一般に、処理対象が単一信号である場合、処理可能信号数とＣＰＵ使用率の関係は線形になる。同様に、処理対象が単一信号である場合、処理可能信号数とメモリ使用量の関係は線形になる。このため、信号処理装置の処理能力のバランスをベクトルであらわすことができる。
装置ベクトルａおよび装置ベクトルｂを比較すると、サーバ３０ＡはＣＰＵに比べてメモリに余裕がある状態であり、サーバ３０Ｂはメモリ比べてＣＰＵに余裕がある状態であることがわかる。
【００４１】
なお、処理リソースの処理能力については、単位時間に同一信号を同一量処理するための能力で比較する他、以下のように評価してもよい。
まず、信号処理装置のＣＰＵ処理能力については、同一信号を同一量処理するために使用する単位時間当たりのＣＰＵ使用率に換算する。複数のＣＰＵが搭載されている場合などには個数を示す係数を乗算する。また、ＣＰＵが複数のコアからなり、処理に対してコアを割り当てる場合は、コア数に応じて除算する。また、７０％運用等、ＣＰＵリソースを全量使わないケースがある場合には、この数値に合わせて除算する。つまり、ＣＰＵ使用率を７０％に設定することにより、信号処理装置の処理能力のバランスを変えるようにする、即ち、ベクトルの角度を変えるようにして、実行装置を選択することもできる。
また、信号処理装置のメモリ速度については、単位時間に処理できるメモリ量に換算する。複数のメモリが搭載されている場合などには個数を示す係数を乗算する。
【００４２】
また、図７では、対象となる信号処理（本実施の形態ではコーデック変換）に必要な処理リソース量（信号処理の処理負荷）をベクトルｐ（Ｘｐ，Ｙｐ）で表している。
信号処理の処理負荷は、当該処理を実行するために必要な単位時間当たりのＣＰＵ使用率とメモリ量で表す。
【００４３】
装置選択部１０４４（装置選択手段）は、処理負荷ベクトルｐとのなす角度が最も小さい装置ベクトルに対応する信号処理装置を実行装置として選択する。
すなわち、複数の装置ベクトルａ，ｂのうち、処理負荷ベクトルｐとの角度が小さいものほど、リソースバランスが適切な信号処理装置として選択する。
図７の例では、装置ベクトルａと処理負荷ベクトルｐとがなす角度θ１の方が、装置ベクトルｂと処理負荷ベクトルｐとがなす角度θ２よりも小さい。よって、装置ベクトルａに対応するサーバ３０Ａを実行装置として選択する。
このように、各信号処理装置の処理能力および実行対象となる信号処理を、信号処理が有する処理リソースを座標軸としたベクトルとして表すことによって、信号処理の特性（例えば、メモリ量占有量が多いがＣＰＵ処理が軽い信号処理など）に適した信号処理装置を実行装置として選択することが容易となる。
【００４４】
なお、装置ベクトル（下記式（１）では装置ベクトルａとする）と処理負荷ベクトルｐとのなす角度θ１は、下記式（１）から求められる。
【００４５】
【数１】
2016151902.tif 000003
【００４６】
また、図７では装置ベクトルａ，ｂおよび処理負荷ベクトルｐを、ＣＰＵおよびメモリの２軸を用いた２次元ベクトルで表したが、３個以上（Ｎ個）の処理リソースを座標軸としたＮ次元ベクトルとしてもよい。処理リソースとしては、ＣＰＵおよびメモリの他、ディスク量やインターフェース速度などを用いることができる。
この場合でも、装置ベクトルと処理負荷ベクトルｐとのなす角度θは、下記式（２）から求められる。
なお、下記式において、Ｘ，Ｙ，Ｚは座標軸であり、信号処理装置の評価に用いる処理リソースに対応する。
【００４７】
【数２】
2016151902.tif 000004
【００４８】
単一の信号処理装置で複数の信号処理を実施する場合は、各信号処理の処理負荷ベクトルｐｎ（ｎ＝１，２・・）を合成した合成ベクトルを用いて信号処理装置を選択する。
より詳細には、例えば信号処理Ｑおよび信号処理Ｒを単一の信号処理装置で処理する場合、信号処理Ｑの処理負荷（使用リソース量）を処理負荷ベクトルｑ（Ｘｑ，Ｙｑ）、信号処理Ｒの処理負荷（使用リソース量）を処理負荷ベクトルｒ（Ｘｒ，Ｙｒ）とし、処理負荷ベクトルｑ，ｒの合成ベクトルｓ（Ｘｓ，Ｙｓ）を各信号処理装置の装置ベクトルと比較する。
【００４９】
すなわち、複数の信号処理を単一の信号処理装置を用いて実行する場合、ベクトル算出部１０４２は、それぞれの信号処理に対して処理負荷ベクトルを算出するとともに、算出した複数の処理負荷ベクトルの合成ベクトルを算出し、装置選択部１０４４は、複数の装置ベクトルのうち合成ベクトルとなす角度が最も小さい装置ベクトルに対応する信号処理装置を実行装置として選択する。
【００５０】
また、複数の信号処理装置を仮想的に１台の信号処理装置とみなす場合は、複数の信号処理装置に対応する装置ベクトルを合成すればよい。この場合、同一スペックの信号処理装置を１台にみなす場合には、各信号処理装置でベクトルが変わらないため、なす角はほぼ等しくなる。「ほぼ」とは、複数の信号処理装置を１台とみなす際にハイパバイザなどのミドルウェア技術を使用した際のオーバヘッドを考慮する必要があることを示し、この分の処理リソース使用量を差し引く必要があることを意味する。
また、元々仮想化された信号処理装置を組み合わせる場合は、仮想化に際してのオーバヘッドは少なく、１台とみなすための機能分のオーバヘッドを考慮すればよい。
【００５１】
すなわち、複数の信号処理装置のうち所定の信号処理装置群を用いて単一の信号処理を実行する場合、ベクトル算出部１０４２は、それぞれの信号処理装置に対して装置ベクトルを算出するとともに、信号処理装置群に含まれる信号処理装置の装置ベクトル（装置ベクトル群）の合成ベクトルを算出し、装置選択部１０４４は、合成ベクトルのうち処理負荷ベクトルとなす角度が最も小さい合成ベクトルに対応する信号処理装置群を実行装置として選択する。
【００５２】
また、装置選択部１０４４は、処理負荷ベクトルｐとのなす角度が最も小さい装置ベクトルａ，ｂに対応する信号処理装置を実行装置として選択するため、実行装置が信号処理を実行中にも他の信号処理を実行し得る処理リソースが余っている可能性がある。
すなわち、処理負荷ベクトルｐと装置ベクトルａ，ｂとが完全に一致する場合には、実行装置は処理リソースを完全に使用して信号処理を行うと考えられるが、処理負荷ベクトルｐと装置ベクトルａ，ｂとに角度がある場合や装置ベクトルａ，ｂの長さが長い場合には、信号処理中にもいずれかの処理リソースが使用されていない可能性がある。
この場合、信号処理装置の残りのリソースを示す装置ベクトルをａ２とし、使用中の処理リソースを示す装置ベクトルをａ１とし、装置ベクトルａ２と装置ベクトルａ１との合成ベクトルが元の装置ベクトルａとなるようにする。
すなわち、元の装置ベクトルａと角度の異なる装置ベクトルａ２を用いて、上記の判定を行う。
【００５３】
図５は、コーデックの組み合わせおよび実行装置の一例を示す説明図である。
図５の表５０には、変換前のコーデック５０２、変換後のコーデック５０４、およびこれらの組み合わせに対応する実行装置５０６が示されている。
１行目の組み合わせは、Ｇ．７１１  ａ−Ｌａｗでコーデックされていたメディア信号をＧ．７１１  ｕ−Ｌａｗに変換するものである。この変換処理の実行装置はサーバ３０Ａ（装置Ａ）が指定されている。
２行目の組み合わせは、Ｇ．７１１  ｕ−Ｌａｗでコーデックされていたメディア信号をＧ．７１１  ａ−Ｌａｗに変換するものである。この場合の実行装置はサーバ３０Ａ（装置Ａ）が指定されている。
３行目の組み合わせは、Ｇ．７１１  ｕ−Ｌａｗでコーデックされていたメディア信号をＡＭＲ−ＷＢに変換するものである。この場合の実行装置はサーバ３０Ｂ（装置Ｂ）が指定されている。
【００５４】
例えば、Ｇ．７１１  ａ−ＬａｗからＧ．７１１  ｕ−Ｌａｗへの変換は、ＡＭＲ−ＷＢからＧ．７１１  ｕ−Ｌａｗへの変換に比べて処理負荷が小さい。
すなわち、変換前後のコーデックにおけるサンプリングレートや帯域幅が同じであるなど、コーデックの方式が近い場合（Ｇ．７１１  ａ−ＬａｗとＧ．７１１  ｕ−Ｌａｗなど）には、相対的に処理負荷が小さくなる。一方で、Ｇ．７１１  ｕ−ＬａｗとＡＭＲ−ＷＢとの変換などは処理負荷が大きくなる。
処理装置選択部１０４は、これらの処理負荷、特に各処理リソースの使用量のバランスに基づいて、対象となる信号処理に最も適切なサーバ３０を選択する。
【００５５】
図６は、実行装置への送信用情報の一例を示す説明図である。
図６の表６０には、実行装置６０２、設定用プロトコル６０４、設定用アドレス６０６、設定用ポート番号６０８、送信先アドレス６１０、送信先ポート番号６１２が示されている。
【００５６】
実行装置６０２は、図５の実行装置５０６に対応する。
設定用プロトコル６０４は、実行装置に対してメディア信号を送信する際に用いるプロトコルである。
設定用プロトコル６０４が選択されると、発信側の端末４０は予め備えているプロトコルスタックを利用して処理リソースへ送信する。
設定プロトコルとしては、ＳＤＮ（Ｓｏｆｔｗａｒｅ−Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ）で用いられるＯｐｅｎＦｌｏｗやＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）などを用いることができる。これらのプロトコルを用いることによって、仮想化されたネットワーク２０において、パケットの受信側端末のアドレスとポート番号をネットワークコントローラ２２に設定することで、所望の実行装置を経由して受信側の端末４０Ｂに送信することができる。
【００５７】
実際には、仮想化ネットワークでは、通信網の入口となる装置に流入パケットを判別する判別手段を設けて流入パケットを監視し、流入パケットがメディア信号の場合にコーデック変換処理部１２として選択された実行装置へと誘導する。
誘導にはＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）のパスやＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、タグＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などが用いられる。
【００５８】
設定用アドレス６０６には、汎用転送機器２０４がネットワークコントローラ２２との接続に用いるインターフェースに割り振られたＩＰアドレスが指定される。設定用ポート番号６０８には、汎用転送機器２０４がネットワークコントローラ２２からの制御信号を受信する際の受信ポートが指定される。
送信先アドレス６１０には、コーデック変換処理部１２として選択された実行装置（サーバ３０Ａまたはサーバ３０Ｂ）のＩＰアドレスが指定される。送信先ポート番号６１２には、実行装置でのメディア信号の受信ポートが指定される。
【００５９】
なお、実行装置との間にＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）装置が中継している場合には、送信先アドレス６１０および送信先ポート番号６１２としてＮＡＰＴ装置の手前にある機器を指定する必要がある。
【００６０】
図４の説明に戻り、送信先制御部１０６は、メディア信号の発信側の端末４０Ａから処理装置選択部１０４で決定された処理リソースにメディア信号を送信するよう制御する。
送信先制御部１０６は、着信側端末４０Ｂから発信側端末４０Ａに返信されるＳＩＰ信号を編集して、メディア信号の送信先にコーデック変換処理部１２として決定された実行装置のＩＰアドレスやポート番号を記載する。
制御信号出力部１０８は、コーデック変換処理部１２として決定されたサーバ３０に対して、メディア信号のコーデック変換処理を実行するよう制御信号を送信する。
【００６１】
図８および図９は、通信中継部１０における処理手順を示すフローチャートである。
図８のフローチャートにおいて、通信中継部１０は、上流側のＳＩＰサーバ２１２からＳＩＰ信号を取得する（ステップＳ８００）。
通信中継部１０は、取得したＳＩＰ信号を参照して通信の方路が特定されているか否かを判断する（ステップＳ８０２）。
方路が特定されていない場合は（ステップＳ８０２：Ｎｏ）、通信中継部１０は、エラー応答を選択して（ステップＳ８０４）、エラー応答を記載したＳＩＰ信号を上流側のＳＩＰサーバ２１２へと送信する（ステップＳ８１６）。
【００６２】
一方、方路が特定されている場合（ステップＳ８０２：Ｙｅｓ）、通信中継部１０は、方路ごとのシナリオを取得して（ステップＳ８０６）、メディア信号のコーデック変換が必要か否かを判断する（ステップＳ８０８）。
メディア信号のコーデック変換が不要な場合は（ステップＳ８０８：Ｎｏ）、通信中継部１０は、メディア信号の送信先として規定の送信先を指定する（ステップＳ８１０）。規定の送信先とは、例えば着信側端末やコーデック変換以外の処理を行うサーバなどである。なお、送信先を指定するとは、図６に示す各種の設定を反映させてＳＩＰ信号を書き換えることを指す。
【００６３】
また、メディア信号のコーデック変換が必要な場合（ステップＳ８０８：Ｙｅｓ）、通信中継部１０は、コーデック変換を実行する実行装置を選択する（ステップＳ８１２）。実行装置の選択処理については、図９を用いて詳細に説明する。
実行装置を選択すると、通信中継部１０は、選択した実行装置をメディア信号の送信先として指定する（ステップＳ８１４）。
その後、通信中継部１０は、指定した実行装置を反映したＳＩＰ信号を下流側のＳＩＰサーバ２１２へと送信して（ステップＳ８１６）、本フローチャートの処理を終了する。
【００６４】
つづいて、図９を用いてステップＳ８１２の実行装置の決定処理について説明する。
通信中継部１０は、まず、対象となる信号処理の処理負荷情報を取得する（ステップＳ９００）。処理負荷情報とは、対象となる信号処理に必要な処理リソース量を示す情報である。通信中継部１０は、例えば変換前後のコーデックの組み合わせと処理負荷情報とを予め関連付けておいてもよい。
つぎに、実行装置の候補であるサーバ３０Ａ，３０Ｂ（信号処理装置）の各リソース状態を示すリソース情報を取得する（ステップＳ９０２）。
【００６５】
つづいて、通信中継部１０は、ステップＳ９００で取得した処理負荷情報を用いて処理負荷ベクトルを、ステップＳ９０２で取得したリソース情報を用いて装置ベクトルを、それぞれ算出する（ステップＳ９０４）。
そして、算出した処理負荷ベクトルと装置ベクトルとに基づいて、サーバ３０Ａ，３０Ｂの中から実行装置を選択する（ステップＳ９０６）。具体的には、処理負荷ベクトルとの角度が最も小さい装置ベクトルに対応するサーバ３０を実行装置として選択して、本フローチャートによる処理を終了する。
なお、サーバ３０に実行させる信号処理が他にある場合には、ステップＳ９００に戻り以降の処理をくり返す。
【００６６】
以上説明したように、実施の形態にかかる通信中継部１０によれば、各信号処理装置が有する複数の処理リソースのバランスと、対象となる信号処理が必要とする処理リソースとのバランスを考慮して、適切な信号処理装置を実行装置として選択することができる。また、信号処理装置の処理能力を、各処理リソースを座標軸としたベクトルとして表すので、評価対象とする処理リソース数が多い場合でも演算処理を容易に行うことができる。
【００６７】
なお、本実施の形態では、本発明をメディア信号のコーデック変換を実行する信号処理装置を選択する場合に適用した例について説明したが、本発明の適用はこれに限らず、各種の処理に適用可能である。
本願の適用は、ＳＩＰ端末間の通信のようにＳＩＰネゴシエーションなどによって次に送信されるパケットの種別が予測できるもの、または次に送信されるパケットの種別を操作できるもの、またはルーティングのように設備設計時にどちらのルートに振り分けるか決定できるものを対象とすることで、特に高い効果が得られる。
すなわち、処理対象となる最初のパケットを受信する直前までに実行装置を選択できるケースで採用することが好ましい。
【００６８】
また、本実施の形態では、シグナリングプロトコルとしてＳＩＰを用いた場合について説明したが、これに限らず、例えばＸＭＰＰ（ｅＸｔｅｎｓｉｂｌｅ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｐｒｏｔｏｃｏｌ）を用いることができる。この場合、メディア信号の通信については、ＳＴＵＮ（Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  ＵＤＰ  ｔｈｒｏｕｇｈ  ＮＡＴｓ）、ＩＣＥ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｅｓｔａｂｌｉｓｈｍｅｎｔ）、ＴＵＲＮ（Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙ  ＮＡＴ）などを利用して送信先アドレスやポート番号を交換することができる。ホームネットワークであれば、ＷＡＮ側のアドレスおよびポート番号が対応する。
【符号の説明】
【００６９】
１０    通信中継部（信号処理制御装置）
１０２  変換判定部
１０４  処理装置選択部
１０４２  ベクトル算出部（ベクトル算出手段）
１０４４  装置選択部（装置選択手段）
１０６  送信先制御部
１０８  制御信号出力部
１２    コーデック変換処理部
２０    ネットワーク
２２    ネットワークコントローラ
２０２  汎用サーバ
２０４  汎用転送機器
２１２  ＳＩＰサーバ
２１４  エッジルータ
２１６  コアルータ
３０（３０Ａ，３０Ｂ）  サーバ
４０Ａ，４０Ｂ  端末
【図１】
2016151902.tif 000005
【図２】
2016151902.tif 000006
【図３】
2016151902.tif 000007
【図４】
2016151902.tif 000008
【図５】
2016151902.tif 000009
【図６】
2016151902.tif 000010
【図７】
2016151902.tif 000011
【図８】
2016151902.tif 000012
【図９】
2016151902.tif 000013