(57)【要約】発呼者が円滑で途切れない会話を体験することを保証するために、音声および非音声データを処理する方法およびシステムが、音声データの処理を非音声データの処理よりも確実に優先するように構成される。非音声データだけを処理するために確保される処理負荷の推定値が計算される。現在の割当て時間中に、非音声データだけを処理するために確保される処理負荷の割当てを監視し制御するために、複数の割当てデータ・オブジェクトが設定される。
2005522145.tif 000002
【特許請求の範囲】
【請求項１】
音声データと非音声データを含む通信信号を受信し処理する通信システムの、処理負荷を割り当てるコンピュータ実施方法であって、
（ａ）前記非音声データだけを処理するために確保される前記通信システムの処理負荷の推定値を計算すること、および
（ｂ）現在の割当て時間中に前記非音声データだけを処理するために確保される前記処理負荷の割当てを監視し制御するために使用される、複数の割当てデータ・オブジェクトを設定すること、からなる方法。
【請求項２】
前記通信システムが複数の通信インタフェースと少なくとも１つのメモリとを含み、工程（ｂ）がさらに、
（ｉ）それぞれの前記通信インタフェースについて、前記現在の割当て時間中に前記通信インタフェースによって処理可能な非音声データの最大バイト数を示す、インタフェースの総バイト割当て制限を表す第１の割当て値を、前記メモリ内に格納すること、および
（ｉｉ）それぞれの前記通信インタフェースについて、前記現在の割当て時間中に前記通信インタフェースによってまだ処理可能な非音声データのバイト数を示す、インタフェースの総バイト割当て残を表す第２の割当て値を、前記メモリ内に格納すること、からなる請求項１に記載の方法。
【請求項３】
（ｃ）前記通信インタフェースのうちの特定の１つのインタフェースで、非音声データの実際のバイト数を含むメッセージを含む非音声データ・パケットを受信すること、
（ｄ）所定のバイト数を、前記非音声データの実際のバイト数に加算して、調整されたバイト数を得ること、
（ｅ）前記インタフェース総バイト割当て残から、前記調整バイト数を減算して、新しい第２の割当て値を得ること、および
（ｆ）前記新しい第２の割当て値が０以上の場合に、前記特定の通信インタフェースが前記非音声データ・パケットを処理すること、からさらになる、請求項２に記載の方法。
【請求項４】
工程（ｂ）がさらに、
（ｉｉｉ）それぞれの前記通信インタフェースについて、前記現在の割当て時間中に前記通信インタフェースによって処理可能な非音声データ・パケットの最大数を示す、インタフェースのパケット数割当て制限を表す第３の割当て値を、前記メモリ内に格納すること、および
（ｉｖ）それぞれの前記通信インタフェースについて、前記現在の割当て時間中に前記通信インタフェースによってまだ処理可能な非音声データ・パケットの数を示す、インタフェースのパケット数割当て残を表す第４の割当て値を、前記メモリ内に格納すること、からなる、請求項２に記載の方法。
【請求項５】
（ｃ）前記通信インタフェースのうちの特定の１つのインタフェースで、非音声データの実際のバイト数を含むメッセージを含む非音声データ・パケットを受信すること、
（ｄ）前記インタフェース総バイト割当て残から、前記非音声データの実際のバイト数を減算して、新しい第２の割当て値を得ること、
（ｅ）前記第４の割当て値を１だけ減分して、新しい第４の割当て値を得ること、および
（ｆ）前記新しい第２の割当て値および前記新しい第４の割当て値が０以上の場合に、前記特定の通信インタフェースが前記非音声データ・パケットを処理すること、からさらになる、請求項４に記載の方法。
【請求項６】
（ｃ）前記通信インタフェースのうちの少なくとも１つについて設定された割当て制限
が超過される場合、前記通信システムが非音声データを廃棄することからさらになる、請求項２に記載の方法。
【請求項７】
（ｃ）前記通信インタフェースのうちの少なくとも１つについて設定された割当て制限が超過される場合、前記通信システムが前記通信インタフェースから受信される割込みをディセーブルすることからさらになる、請求項２に記載の方法。
【請求項８】
（ｃ）前記通信インタフェースのうちの少なくとも１つについて設定された割当て制限が超過される場合、前記通信システムが前記通信インタフェースへの非音声データ・パケットのフローを一時的に減少させることからさらになる、請求項２に記載の方法。
【請求項９】
（ｃ）新しい現在の割当て時間を定期的に設定すること、および
（ｄ）前記新しい現在の割当て時間が設定されるときに、前記割当て値を所定の値に設定すること、からさらになる、請求項２に記載の方法。
【請求項１０】
（ｃ）前記通信インタフェースのうちの少なくとも１つについて、割当て制限が設定された後に、新しい現在の割当て時間を設定することからさらに成り、以前は使用不可能であった処理負荷が、前記非音声データを処理するために現在は使用可能である、請求項２に記載の方法。
【請求項１１】
工程（ａ）がさらに、
（ｉ）前記通信システムによって受信される音声データの現在量に基づいて、前記音声データだけを処理するために確保される処理負荷の推定値を計算すること、および
（ｉｉ）前記音声データと非音声データの両方を処理するために使用可能にされる処理負荷から、前記音声データだけを処理するために確保される処理負荷の前記推定値を減算して、前記非音声データだけを処理するために確保される処理負荷の推定値を得ること、からなる、請求項１に記載の方法。
【請求項１２】
前記音声データと非音声データの両方を処理するために使用可能にされる前記処理負荷が、前記通信システムの総処理負荷容量より小さく、また工程（ａ）がさらに、
（ｉｉｉ）前記通信システムの前記総処理負荷容量から、前記通信システムのオーバヘッドおよびハウスキーピングのために確保される所定の処理負荷を減算して、前記音声データと非音声データの両方を処理するために使用可能にされる前記処理負荷の推定値を得ること、からなる、請求項１１に記載の方法。
【請求項１３】
前記通信システムが少なくとも１つのメモリを含み、工程（ｂ）がさらに、
（ｉ）前記現在の割当て時間中に前記通信システムよって処理可能な非音声データの最大バイト数を示す、システムの総バイト割当て制限を表す第１の割当て値を、前記メモリ内に格納すること、および
（ｉｉ）前記現在の割当て時間中に前記通信システムによってまだ処理可能な非音声データのバイト数を示す、システムの総バイト割当て残を表す第２の割当て値を、前記メモリ内に格納すること、からなる、請求項１に記載の方法。
【請求項１４】
工程（ｂ）がさらに、
（ｉｉｉ）前記現在の割当て時間中に前記通信システムによって処理可能な非音声データ・パケットの最大数を示す、システムのパケット数割当て制限を表す第３の割当て値を、前記メモリ内に格納すること、および
（ｉｖ）前記現在の割当て時間中に前記通信システムによってまだ処理可能な非音声データ・パケットの数を示す、システムのパケット数割当て残を表す第４の割当て値を、前記メモリ内に格納すること、からなる、請求項１３に記載の方法。
【請求項１５】
音声データを含む通信信号が複数のアクティブな音声チャネル上で受信され、工程（ａ）がさらに、
（ｉ）アクティブ音声チャネルの数を判断すること、
（ｉｉ）前記アクティブ音声チャネルのうちの単一のチャネルをサポートするのに必要な最大処理負荷を推定すること、
（ｉｉｉ）前記アクティブ音声チャネルの数に、前記推定最大処理負荷を掛けて、すべての前記アクティブ音声チャネルについての、前記音声データだけを処理するために確保される処理負荷を得ること、
（ｉｖ）すべての前記アクティブ音声チャネルをサポートするために実際に必要な処理負荷を判断すること、および
（ｖ）すべての前記アクティブ音声チャネルをサポートするために実際に必要な前記処理負荷が、前記推定最大処理負荷より小さい場合に、前記最大処理負荷の推定値を減らすこと、からなる、請求項１に記載の方法。
【請求項１６】
音声データを含む通信信号が複数のアクティブ音声チャネル上で受信され、工程（ａ）がさらに、
（ｉ）それぞれのアクティブ音声チャネルをサポートするのに必要な最大処理負荷を推定すること、
（ｉｉ）それぞれの前記アクティブ音声チャネルの前記推定最大処理負荷を合計して、音声データだけを処理するために確保される総処理負荷を求めること、からなる、請求項１に記載の方法。
【請求項１７】
音声データと非音声データを含む通信信号を受信し処理する通信システムであって、
（ａ）通信信号を受信する少なくとも１つの通信インタフェースと、
（ｂ）前記インタフェースと通信し、また非音声データだけを処理するために確保される通信システムの処理負荷の推定値を計算するプロセッサと、
（ｃ）前記プロセッサと通信し、また現在の割当て時間中に前記非音声データだけを処理するために確保される前記システムの前記処理負荷の割当を監視し制御するために使用される、複数の割当てデータ・オブジェクトを格納する、少なくとも１つのメモリと、からなるシステム。
【請求項１８】
前記割当てデータ・オブジェクトが、
（ｉ）前記通信インタフェースに関連し、前記現在の割当て時間中に前記通信インタフェースによって処理可能な非音声データの最大バイト数を示す、インタフェースの総バイト割当て制限を表す第１の割当て値と、
（ｉｉ）前記通信インタフェースに関連し、前記現在の割当て時間中に前記通信インタフェースによってまだ処理可能な非音声データのバイト数を示す、インタフェースの総バイト割当て残を表す第２の割当て値と、からなる、請求項１７に記載のシステム。
【請求項１９】
前記割当てデータ・オブジェクトがさらに、
（ｉｉｉ）前記通信インタフェースに関連し、前記現在の割当て時間中に前記通信インタフェースによって処理可能な非音声データ・パケットの最大数を示す、インタフェースのパケット数割当て制限を表す第３の割当て値と、
（ｉｖ）前記通信インタフェースに関連し、前記現在の割当て時間中に前記通信インタフェースによってまだ処理可能な非音声データ・パケットの数を示す、インタフェースのパケット数割当て残を表す第４の割当て値と、からなる、請求項１８に記載のシステム。
【請求項２０】
前記通信インタフェースが、ボイス・オーバ・ケーブル・モデム（ＶｏＣＭ）内に配置された、ブロードバンド電話インタフェース（ＢＴＩ）である、請求項１７に記載のシス
テム。
【請求項２１】
前記通信インタフェースが、ボイス・オーバ・ケーブル・モデム（ＶｏＣＭ）内に配置された、組込みメディア・ターミナル・アダプタ（ｅＭＴＡ）である、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、通信システム内のデータ・トラフィックの監視および制御に関する。
【背景技術】
【０００２】
ケーブル・ベースのＩＰ電話は、消費者が現在、インターネット、テレビおよび電話サービスの別々のプロバイダに対して支払っているより低い費用で提供され得る、簡略化された統合型の通信サービスである。リアルタイム音声アプリケーションのためのインターネットの使用が急増している。ケーブル・モデム技術を使用するインターネット・プロトコル（ＩＰ）電話の目標は、ケーブル配線の基盤上で、電話、ビデオおよびデータ信号を統合することである。
【０００３】
ボイス・オーバＩＰ（ＶｏＩＰ）ゲートウェイは、公衆交換電話網（ＰＳＴＮ）または統合サービスデジタル通信網（ＩＳＤＮ）を、パケット交換データ・ネットワーク（ＴＣＰ／ＩＰローカル・エリア・ネットワーク）と結ぶ。こうしたＶｏＩＰゲートウェイは、ＩＰ通話制御、ならびに音声チャネルの圧縮および圧縮解除を含む、ＩＰデータ伝送を提供するように構成されている。ＶｏＩＰは、データ・オーバ・ケーブル・システム・インタフェース仕様（ＤＯＣＳＩＳ）ケーブル・ネットワークによってサポートされ得る比較的新しいサービスである。ＤＯＣＳＩＳには、ケーブルＴＶ事業者とコンピュータの間のケーブル・モデム・インタフェースの規格が記載されている。ＤＯＣＳＩＳは、このインタフェースを介して着信および発信データ信号を処理する装置の規格として、受け入れられている。ＤＯＣＳＩＳ１．０は、１９９８年３月に、国際電気通信連合（ＩＴＵ）によって批准された。ＤＯＣＳＩＳ準拠のケーブル・モデムは、ケーブル事業者が運営する、多くのエリアで使用可能である。ＤＯＣＳＩＳは、ケーブルを介して双方向信号を交換するための変調方式およびプロトコルを定める発展途上の規格であり、バージョン４のＩＰトラフィックによって、ケーブル・モデム終端システム−ネットワーク側インタフェース（ＣＭＴＳ−ＮＳＩ：Ｃａｂｌｅ  Ｍｏｄｅｍ  Ｔｅｒｍｉｎａｔｉｏｎ  Ｓｙｓｔｅｍ−Ｎｅｔｗｏｒｋ  Ｓｉｄｅ  Ｉｎｔｅｒｆａｃｅ）とケーブル・モデム−加入者宅内機器インタフェース（ＣＭＣＩ：Ｃａｂｌｅ  Ｍｏｄｅｍ  ｔｏ  Ｃｕｓｔｏｍｅｒ  Ｐｒｅｍｉｓｅ  Ｅｑｕｉｐｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）との間の透過的な転送が行える。ＶｏＩＰの品質を最高にするための既存のケーブル・モデムおよびＤＳＰのアップグレードは、ＥＥＰＲＯＭフラッシュ・メモリ内のプログラミングを変更することによって実現され得る。
【０００４】
ＤＯＣＳＩＳ１．１仕様は、音声通信に必要であり、またパケット・トラフィックの優先順位付けを可能にする、サービス品質（ＱｏＳ）機能を加えて改良された。これによって、ケーブル事業者は、特定のパケット（音声など）に優先権を与えることができ、他のトラフィックを、使用可能な帯域幅によって決定される「ベスト・エフォート」の優先度で送信することができる。
【０００５】
音声および非音声データの処理のバランスを取る従来の方法は、優先度および低オーバヘッドの設計に基づいてマルチタスクのアルゴリズムを実行する。こうした方法は、通常の条件下ではうまく動作してきたが、緊張度の高い厳しい条件では、こうした方法は、失敗し、高品質の電話製品に必要な堅牢性をもたらすことができない。
【０００６】
ブロードバンド電話インタフェース（ＢＴＩ）は通常、ウェブ・サーフィンおよびファイル転送プロトコル（ＦＴＰ）操作を用いて、何の問題もなく、複数の通話を同時にサポ
ートすることが可能である。このＢＴＩが重い音声トラフィックと大量のデータ・トラフィックの両方の影響を受けると、既に報告されている問題が発生する。こうしたトラフィックは、ハイブリッド・ファイバ同軸（ＨＦＣ）ネットワーク、イーサネット、ユニバーサル・シリアル・バス（ＵＳＢ）またはホーム・ネットワークから生じ得る。それは、同じ１組のインタフェースにルーティングされる可能性が最も高い。こうしたトラフィックは、以下のように、音声に影響を及ぼし得る。
【０００７】
（１）プロセッサの処理負荷全体が増加する。
（２）音声をサポートするのに必要なリソース（キューやメモリ・バッファなど）を消費する。
【０００８】
（３）音声によって使用されたであろう伝送機会を費やす。
（４）セマフォを保持することによって、クリティカル・セクションでの音声処理を妨げ得る。
【０００９】
（５）インタフェース・ハードウェアの割込み時、音声処理タイミングにジッタおよび遅延を加え得る。
（６）データが同じタスクで処理される場合に、音声処理タイミングにジッタおよび遅延を加え得る。一般的な失敗は、ＢＴＩがイーサネット・トラフィックを、ＢＴＩのデータ処理能力を超える速度で受信する場合である。
【００１０】
発呼者はＶｏＩＰゲートウェイを使用して、他のＶｏＩＰゲートウェイに音声パケットを送信し、また他のＶｏＩＰゲートウェイから受信する。発呼者が円滑で途切れない会話を体験することを保証するためには、そうした音声パケットを、データ・パケットよりも優先されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、最も厳しいデータ環境下でも、音声を適切に操作することを可能にする。本発明の基本前提は、音声が非音声データより優先することである。さらに、音声をサポートするデータは、他のデータより優先する。その結果、非音声データが遅延されるか、さらには廃棄され、音声ストリームの保全性が保護され得る。
【課題を解決するための手段】
【００１２】
好ましい１実施形態では、本発明は、音声データと非音声データを含む通信信号を受信し処理する通信システムの、処理負荷を割り当てる。非音声データだけを処理するために確保される、通信システムの処理負荷の推定値が計算される。複数の割当てデータ・オブジェクトが設定される。このデータ・オブジェクトを使用して、現在の割当て時間中に、非音声データだけを処理するために確保される、処理負荷の割当てを監視し制御する。
【００１３】
通信システムは、複数の通信インタフェースと、少なくとも１つのメモリとを含み得る。それぞれの通信インタフェースについて、メモリ内に、様々な割当て値が格納され得る。第１の割当て値は、現在の割当て時間中に処理可能な非音声データの最大バイト数を示す、インタフェースまたはシステムの総バイト割当て制限を表し得る。第２の割当て値は、現在の割当て時間中にまだ処理可能な非音声データのバイト数を示す、インタフェースまたはシステムの総バイト割当て残を表し得る。第３の割当て値は、現在の割当て時間中に処理可能な非音声データ・パケットの最大数を示す、インタフェースまたはシステムのパケット数の割当て制限を表し得る。第４の割当て値は、現在の割当て時間中にまだ処理可能な非音声データ・バケットの数を示す、インタフェースまたはシステムのパケット数の割当て残を表し得る。
【００１４】
本発明の１実施形態では、非音声データの実際のバイト数を含むメッセージを含む、非音声データ・パケットが受信され得る。所定のバイト数を非音声データの実際のバイト数に加算して、調整されたバイト数が取得され得る。総バイト割当て残から、調整されたバイト数を減算して、新しい割当て値が取得され得る。新しい第２の割当て値が０以上である場合、非音声データ・パケットが処理され得る。
【００１５】
音声データだけを処理するために確保される処理負荷の推定値は、通信システムによって受信されている現在の音声データ量に基づいて計算され得る。音声データと非音声データの両方を処理するために使用可能にされる処理負荷から、音声データだけを処理するために確保される通信システムの処理負荷の推定値を減算して、非音声データだけを処理するために確保される処理負荷の推定値が取得され得る。
【００１６】
音声データを含む通信信号が受信される、アクティブな音声チャネルの数が判断され得る。アクティブ音声チャネルのうちの単一のチャネルをサポートするために必要な最大処理負荷が推定され得る。アクティブ音声チャネルの数を推定最大処理負荷で乗算して、すべてのアクティブ音声チャネルについての、音声データだけを処理するために確保される処理負荷が取得され得る。すべてのアクティブ音声チャネルをサポートするために、実際に必要なプロセッサの負荷が判断され得る。すべてのアクティブ音声チャネルをサポートするために実際に必要な処理負荷が、推定最大処理負荷より小さい場合は、最大処理負荷の推定値が減らされ得る。
【００１７】
音声データを含む通信信号が受信される、アクティブ音声チャネルの数が判断され得る別のやり方は、それぞれのアクティブ音声チャネルについて、アクティブ音声チャネルをサポートするために必要な最大処理負荷を推定することによるものである。それぞれのアクティブ音声チャネルの推定最大処理負荷を合計して、音声データだけを処理するために確保される総処理負荷が判断され得る。
【００１８】
通信システムは、非音声データの実際のバイト数を含むメッセージを含む、非音声データ・パケットを受信し得る。総バイト割当て残から、非音声データの実際のバイト数を減算して、新しい第２の割当て値が取得され得る。４番目の割当て値を１だけ減分して、新しい第４の割当て値が取得され得る。新しい第２の割当て値および新しい第４の割当て値が０以上であれば、非音声データ・パケットが処理され得る。
【００１９】
割当て制限が超過される場合、通信システムは、設定された割当て制限を超過する非音声データを廃棄し、割込みをディセーブルし、または非音声データ・パケットのフローを一時的に減少させ得る。通信インタフェースは、ボイス・オーバ・ケーブル・モデム（ＶｏＣＭ）内に配置された、ブロードバンド電話インタフェース（ＢＴＩ）であっても、組込みメディア・ターミナル・アダプタ（ｅＭＴＡ）であってもよい。
【００２０】
本発明の好ましい実施形態についての以下の詳細な説明は、添付図面と併せ読めば、よりよく理解される。本発明について例示するため、図面に、現時点での好ましい実施形態を示す。しかし、本発明は、図示する厳密な構成および手段に限定されない。
【発明を実施するための最良の形態】
【００２１】
本発明は、ソフトウエアを使用して、音声トラフィックのレベルを監視し、音声トラフィックをサポートするのに必要な処理リソースを推定する。その推定に基づいて、このソフトウエアは、非音声データ・トラフィックについて、残りが何であるかを推定し、非音声データを制限するための割当て計画を策定する。この割当て計画は、それぞれのインタフェースについての一連の割当て値として実現される。通話の状況が変化するたびに、音
声伝送に充てられる処理リソースの推定値が再計算され、非音声データのための新しい割当て計画が計算される。
【００２２】
図１に、音声データと非音声データを含む通信信号を受信し処理する、通信システム１００を示す。通信システム１００は、通信信号を受信する１つまたは複数の通信インタフェース１１０、１２０、１３０、通信インタフェース１１０、１２０、１３０と通信するプロセッサ１４０、およびプロセッサ１４０と通信する少なくとも１つのメモリ１５０を含む。プロセッサ１４０は、非音声データだけを処理するために確保される通信システム１００の処理負荷の推定値を計算する。メモリ１５０は、現在の割当て時間中に非音声データだけを処理するために確保される、システムの処理負荷の割当てを監視し制御するために使用される、複数の割当てデータ・オブジェクトを格納する。通信システム１００は、ケーブル事業者が加入者にＩＰ電話および高速データ・サービスを提供できるようにする、１つまたは複数のブロードバンド電話インタフェース（ＢＴＩ）または組込みメディア・ターミナル・アダプタ（ｅＭＴＡ）を含む、ボイス・オーバ・ケーブル・モデム（ＶｏＣＭ）であってよい。
【００２３】
通信インタフェース１２０にパケットが届くと、それは、非音声データ割当ての状況に基づいて処理される。通信インタフェース１２０が、音声データの処理のために確保された処理負荷に対する妨げにならずに、パケットを処理できるほど十分な容量を有すると判断される（それが、常時更新される割当を超過しない）場合は、パケットが処理される。パケットは、通信インタフェース１２０に関するすべての割当て値のマイナスと見なされる。通信インタフェース１２０が割当てを満たさない場合、修正措置が、以下のように取られる。
【００２４】
（１）１つの可能な修正措置は、通信システム１００が、設定された割当て制限を超過する非音声データを廃棄することである。
（２）別の可能な修正措置は、通信システム１００が、通信インタフェース１２０から受信される割込みをディセーブルし、または通信インタフェース１２０のメッセージ受信の機能をディセーブルすることである。
【００２５】
（３）さらに別の可能な修正措置は、通信インタフェース１２０の着信データ側の装置にコンタクトし、装置から通信インタフェース１２０に受信されるデータ・フローの速度を減少させるように、その装置に命じることである。
【００２６】
たとえば、ケーブル・モデム（ＣＭ）のＨＦＣインタフェース上で受信される、ダウンストリームのデータ・トラフィックの速度は、データ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）  Ｍａｃメッセージを使用した、ＤＯＣＳＩＳ通信システムによって低下され得る。動的サービス変更（ＤＳＣ）メッセージを使用することによって、ダウンストリーム・データのサービス・フローの最大データ速度は、通話の全時間中に、またはＣＭが過負荷状態である場合に、動的に制限され得る。いくつのパケットおよびバイトが廃棄され、また割込みが何回ディセーブルされたかについての統計値が維持される。音声トラフィックが終了されると、非音声データのサービス・フローが、その初期パラメータに戻される。
【００２７】
次の割当て時間のために、すべての割当ては定期的に、所定の初期値にリセットされる。たとえば、割当てが、１秒間に１００回リセットされる場合、割当て値は、１００分の１秒の割当て時間だけにデータを制限する。現在の割当て時間中に割当てを超過するため、通信インタフェース１２０への非音声データのフローが廃棄され、または一時的に減らされる場合は、新しい割当て時間の開始によって、割当て値がリセットされ、通信インタフェース１２０は、受信される非音声データを処理するのに十分な処理負荷を再び有する
。特定の通信インタフェースが割当て制限を超過したためという理由だけで、特定の通信インタフェースの割込みがディセーブルされた場合、新しい割当て時間が開始されると、割込みは再びイネーブルされる。
【００２８】
図２に、それぞれのインタフェース１１０、１２０、１３０（以下、通信インタフェースＡ、Ｂ、Ｃと称する）について、インタフェースの割当て値を格納し処理するために使用される、メモリ１５０内に配置された例示的なデータベース構造を示す。現在の割当て時間中に、通信システム１０の通信インタフェース（Ａ、Ｂ、Ｃ）によって受信され処理される、非音声データだけを処理するために確保される処理負荷の割当てを監視し制御するために、複数の割当てデータ・オブジェクトが設定され使用される。
【００２９】
通信システム１００の各通信インタフェース（Ａ、Ｂ、Ｃ）について、以下のインタフェースの割当てデータ・オブジェクトが設定される。
（１）第１のインタフェース割当て値ＱＶ１Ａ、ＱＶ１Ｂ、ＱＶ１Ｃが、メモリ１５０の個々のメモリ位置２０５、２１０、２１５に格納される。それぞれの第１の割当て値は、現在の割当て時間中に個々の通信インタフェース（Ａ、Ｂ、Ｃ）によって処理可能な非音声データの最大バイト数を示す、インタフェースの総バイト割当て制限を表す。
【００３０】
（２）第２のインタフェース割当て値ＱＶ２Ａ、ＱＶ２Ｂ、ＱＶ２Ｃが、メモリ１５０の個々のメモリ位置２２０、２２５、２３０に格納される。それぞれの第２の割当て値は、現在の割当て時間中に個々の通信インタフェース（Ａ、Ｂ、Ｃ）によってまだ処理可能な非音声データのバイト数を示す、インタフェースの総バイト割当て残を表す。
【００３１】
任意選択で、通信システム１００のそれぞれの通信インタフェース（Ａ、Ｂ、Ｃ）について、以下の追加のインタフェース割当てデータ・オブジェクトを設定してもよい。
（３）第３のインタフェース割当て値ＱＶ３Ａ、ＱＶ３Ｂ、ＱＶ３Ｃが、メモリ１５０の個々のメモリ位置２３５、２４０、２４５に格納される。それぞれの第３の割当て値は、現在の割当て時間中に個々の通信インタフェース（Ａ、Ｂ、Ｃ）によって処理可能な非音声データ・パケットの最大数を示す、インタフェースのパケット数割当て制限を表す。
【００３２】
（４）第４のインタフェース割当て値ＱＶ４Ａ、ＱＶ４Ｂ、ＱＶ４Ｃが、メモリ１５０の個々のメモリ位置２５０、２５５、２６０に格納される。それぞれの第４の割当て値は、現在の割当て時間中に個々の通信インタフェース（Ａ、Ｂ、Ｃ）によってまだ処理可能な非音声データ・パケットの数を示す、インタフェースのパケット数割当て残を表す。
【００３３】
図３に、通信システム１００の、システムの割当て値を単独で、またはインタフェースの割当て値と併せて、格納し処理するために使用される、メモリ１５０内に配置された例示的なデータベース構造を示す。現在の割当て時間中に通信システム１００によって受信され処理される非音声データだけを処理するために確保される、処理負荷の割当てを監視し制御するために、複数の割当てデータ・オブジェクトが設定される。
【００３４】
たとえば、それぞれの通信インタフェースＡ、ＢおよびＣは、７００バイトに設定されるバイト割当てを有し、通信システム１００は、２０００バイトに設定されるバイト割当てを有する。現在の割当て時間中に、インタフェースＡが９００バイトの非音声メッセージ・トラフィックを受信し、インタフェースＢが３００バイトの非音声メッセージ・トラフィックを受信し、インタフェースＣが６００バイトの非音声トラフィックを受信する場合、インタフェースＢおよびＣによって受信されたすべての非音声メッセージ・トラフィックは、処理される。しかし、インタフェースＡの個別のバイト割当てを超過する、インタフェースＡによって受信された２００バイトのメッセージ・トラフィックは、インタフェースＡ、ＢおよびＣによって受信された合計バイト数が、通信システム１００のバイト
割当てを超過していなくても、処理されない。
【００３５】
通信システム１００について、以下のシステム割当てデータ・オブジェクトが設定される。
（１）第１のシステム割当て値ＱＶ１Ｓは、メモリ１５０のメモリ位置３０５に格納され、現在の割当て時間中に通信システム１００によって処理可能な非音声データの最大バイト数を示す、システムの総バイト割当て制限を表す。
【００３６】
（２）第２のシステム割当て値ＱＶ２Ｓは、メモリ１５０のメモリ位置３１０に格納され、現在の割当て時間中に通信システム１００によってまだ処理可能な非音声データのバイト数を示す、システムの総バイト割当て残を表す。
【００３７】
任意選択で、通信システム１００について、以下の追加のシステム割当てデータ・オブジェクトを設定してもよい。
任意選択で、通信システム１００のそれぞれの通信インタフェース（Ａ、Ｂ、Ｃ）について、以下の追加のインタフェースの割当てデータ・オブジェクトを設定してもよい。
【００３８】
（３）第３のシステム割当て値ＱＶ３Ｓは、メモリ１５０のメモリ位置３１５に格納され、現在の割当て時間中に通信システム１００によって処理可能な非音声データ・パケットの最大数を示す、システムのパケット数割当て制限を表す。
【００３９】
（４）第４のシステム割当て値ＱＶ４Ｓは、メモリ１５０のメモリ位置３２０に格納され、現在の割当て時間中に通信システム１００によってまだ処理可能な非音声データ・パケットの数を示す、システムのパケット数割当て残を表す。
【００４０】
図４に、プロセッサ１４０によって実行される関数４００のデータ・フローチャートを示す。着信データが通信システム１００によって受信されると、インタフェース処理関数４０５は、着信データを処理すべきかどうかを判断する。処理のためにどんどん多くの着信データが受け取られるので、メモリ１５０内の割当てデータ・オブジェクトは、常時更新される。インタフェース処理関数４０５によって、着信データが設定された割当てを超過しないと判断されると、通常の処理、たとえば着信データを別のインタフェースにルーティングしまたは転送するために、着信データは、インタフェース処理関数４０５によって、データ処理タスク関数４１０に転送される。
【００４１】
インタフェース処理関数４０５によって行われる判断は、メモリに照会し、メモリ１５０内に格納された割当てデータ・オブジェクトにアクセスし、割当てデータ・オブジェクトに対して様々なアルゴリズムを実施して、音声データを処理するために必要な処理負荷を犠牲にせずに、非音声データを処理できるほど十分な使用可能な処理負荷が存在するかどうかを判断することによって行われる。判断プロセスは、以下の関数のうちの１つまたは複数の関数を使用して実施される。
【００４２】
（１）それぞれの割当て残を、対応する割当て制限の現在の値に設定することによって、割当て残の値を設定するために使用される、割当て時間処理関数４１５
（２）割当ての統計値を使用して割当て制限を確立する、簡易ネットワーク管理プロトコル（ＳＮＭＰ：ｓｉｍｐｌｅ  ｎｅｔｗｏｒｋ  ｍａｎａｇｅｍｅｎｔ  ｐｒｏｔｏｃｏｌ）エージェント関数４２０
（３）音声接続データに基づいて割当て制限を設定するために使用される、負荷推定器関数４２５
（４）更新された音声接続データを提供し、また負荷推定器に、更新された音声接続データに基づいて更新割当て制限を再計算するように命じる、通話生成・削除・修正処理関
数４３０
通話生成・削除・修正処理関数４３０による判断に従って、接続が確立され、切断されまたは修正されるときはいつでも、推定音声総コスト（ＴＣＶ）などの音声接続データが再計算される。推定音声総コスト（ＴＣＶ）は、負荷推定器関数４２５が、Ｎ個の音声接続について、音声チャネル当たりの推定コスト（ＥＣＶＣ）を合計することによって計算される。用語「コスト」は、通信を確実にサポートするために確保されなければならない処理負荷を指す。音声チャネル当たりの推定コスト（ＥＣＶＣ）は、１音声チャネル当たりの固定コスト（ＦＣＶＣ）に、１秒当たりのパケット数（ＮＰ）と、特定のパケット長（ＬＰ）での１音声パケット当たりコスト（ＣＶＰ）との積を加算することによって計算される。これは、以下の数式で要約される。
【００４３】
ＥＣＶＣ＝ＦＣＶＣ＋（ＮＰ×ＣＶＰ）
ＴＣＶ＝ΣＥＣＶＣｎ
ここで、ＬＰおよびＮＰは、生成／修正接続コマンド内で指定され、ＦＣＶＣおよびＣＶＰは、実験的に判断される。更新されたＴＣＶに基づいて、新しい割当て制限が選択される。
【００４４】
あるいは、１音声パケット当たりのコスト（ＣＶＰ）は、１音声パケット当たりの固定コスト（ＦＣＰ）に、１バイト当たりのコスト（ＣＢ）と、パケット長（ＬＰ）との積を加算することによって計算される。これは、以下の数式で要約される。
【００４５】
ＣＶＰ＝ＦＣＰ＋（ＣＢ×ＬＰ）
図５に、音声データと非音声データを含む通信信号を受信し処理する通信システム１００の処理負荷を割り当てる、コンピュータ実施方法によって実施される工程を示す。工程５０５で、非音声データだけを処理するために確保される、通信システム１００の処理負荷を推定するために、計算が実施される。工程５１０、５１５、５２０、５２５で、現在の割当て時間中に非音声データだけを処理するために確保される、処理負荷の割当てを監視し制御するために、個々のインタフェースおよび／またはシステム単位で、複数の割当てデータ・オブジェクトが設定される。工程５１０で、総バイト割当て制限が設定される。工程５１５で、パケット数割当て制限が設定される。工程５２０で、総バイト割当て残が、工程５１０で設定された総バイト割当て制限に設定される。工程５２５で、パケット数割当て残が、工程５１５で設定されたパケット数割当て制限に設定される。工程５３０で、データ・パケットが受信される。工程５３５で、受信されたデータ・パケットに応答して、総バイト割当て残およびパケット数割当て残が更新される。工程５４０で、現在の割当て時間が経過したと判断される場合、処理は、工程５２０に戻る。工程５４０で、現在の割当て時間が経過していないと判断される場合、工程５４５で、電話接続が確立され、切断され、または修正されなかったかどうかが判断される。工程５４５で、電話接続が確立され、切断され、または修正されなかったと判断された場合、処理は、別の受信データ・パケットを処理するために、工程５３０に戻る。工程５４５で、電話接続が確立され、切断され、または修正されたと判断された場合、処理は、工程５０５に戻る。
【００４６】
図６に、個々のインタフェースおよび／またはシステム単位で、割当てデータ・オブジェクトを処理するために使用される、本発明の好ましい１実施形態を示す。工程６０５で、通信システム１００の通信インタフェース（Ａ、Ｂ、Ｃ）のうちの特定の１つのインタフェースで、メッセージを含む非音声データ・パケットが受信される。メッセージは、非音声データの実際のバイト数（Ｘ）を含む。工程６１０で、一定のペナルティを構成する所定のバイト数（Ｙ）を、実際のバイト数（Ｘ）に加算して、調整されたバイト数（Ｘ＋Ｙ）を得る。工程６１５で、第２の割当て値（ＱＶ２Ａ、ＱＶ２Ｂ、ＱＶ２Ｃ、ＱＶ２Ｓなど）から、調整されたバイト数（工程６１０の結果）を減算して、新しい第２の割当て値を得る。上述したように、第２の割当て値は、現在の割当て時間中に、特定の通信イン
タフェース（Ａ、Ｂ、Ｃ）および／または通信システム１００によって、まだ処理可能な非音声データのバイト数を示す、総バイト割当て残数を表す。工程６２０で、メモリ１５０内で、新しい第２の割当て値が更新される。工程６２５で、新しい第２の割当て値が０以上であると判断された場合、通信システム１００の特定の通信インタフェース（Ａ、Ｂ、Ｃ）によって、受信された非音声データ・パケットが処理される（工程６３５）。工程６２５で、新しい第２の割当て値が０未満であると判断された場合、上述のように、修正措置が取られる（工程６３０）。
【００４７】
図７に、個々のインタフェースおよび／またはシステム単位で、割当てデータ・オブジェクトを処理するために使用される、本発明の代替実施形態を示す。工程７０５で、通信システム１００の通信インタフェース（Ａ、Ｂ、Ｃ）のうちの特定の１つのインタフェースで、メッセージを含む非音声データ・パケットが受信される。メッセージは、非音声データの実際のバイト数（Ｘ）を含む。工程７１０で、第２の割当て値（ＱＶ２Ａ、ＱＶ２Ｂ、ＱＶ２Ｃ、ＱＶ２Ｓなど）から、実際のバイト数（Ｘ）を減算して、新しい第２の割当て値を得る。工程７１５で、メモリ１５０内で、新しい第２の割当て値が更新される。工程７２０で、第４の割当て値（ＱＶ４Ａ、ＱＶ４Ｂ、ＱＶ４Ｃ、ＱＶ４Ｓなど）を、１だけ減分して、新しい第４の割当て値を得る。上述したように、第４の割当て値は、現在の割当て時間中に、通信システム１００の特定の通信インタフェース（Ａ、Ｂ、Ｃ）によってまだ処理可能な非音声データ・パケットの数を示す、インタフェースのパケット数割当て残を表す。工程７２５で、メモリ１５０内で、新しい第４の割当て値が更新される。工程７３０および７４０で、新しい第２割当て値と第４割当て値の両方が、０以上であると判断された場合、通信システム１００の特定の通信インタフェース（Ａ、Ｂ、Ｃ）によって、受信された非音声データ・パケットが処理される（工程７５０）。工程７３０で、新しい第２の割当て値が０未満であると判断された場合、上述したように、修正措置が取られる（工程７３５）。工程７４０で、新しい第４の割当て値が０未満であると判断された場合、上述したように、修正措置が取られる（工程７４５）。
【００４８】
図８に、非音声データだけを処理するために確保される処理負荷の推定値が、どのように求められるかについて示す。工程８０５で、通信システム１００の総処理負荷容量（Ｔ）から、通信システム１００のオーバヘッドおよびハウスキーピングのために確保される所定の処理負荷（Ｒ）を減算して、音声データと非音声データの両方を処理するために使用可能にされる処理負荷（Ｔ−Ｒ）の推定値を得る。工程８１０で、通信システム１００によって受信される音声データの現在量に基づいて、音声データだけを処理するために確保される、処理負荷（Ｖ）を推定するための計算が実施される。工程８１５で、音声データと非音声データの両方を処理するために使用可能にされる処理負荷（Ｔ−Ｒ）から、音声データだけを処理するために確保される処理負荷（Ｖ）の推定値を減算して、非音声データだけを処理するために確保される処理負荷（Ｔ−Ｒ−Ｖ）の推定値を得る。
【００４９】
たとえば、プロセッサ１４０は、１００ＭＩＰＳ（百万命令／秒：ｍｉｌｌｉｏｎ  ｉｎｓｔｒｕｃｔｉｏｎｓ  ｐｅｒ  ｓｅｃｏｎｄ）の総処理負荷容量（Ｔ）を有する。オーバヘッドおよびハウスキーピングのための１５ＭＩＰＳ（Ｒ）を減算した後、音声データと非音声データの処理に使用するには８５ＭＩＰＳ（Ｔ−Ｒ）が残る。また通信システム１００で、２０ミリ秒の音声パケットが、１音声パケット当たり０．１ＭＩＰＳのコスト（ＣＶＰ）で処理されると仮定する。１音声チャネル当たりの固定コスト（ＦＣＶＣ）が１ＭＩＰであり、パケット化の時間が２０ミリ秒である場合、パケット伝送レート（ＮＰ）は、１００パケット／秒（アップストリーム５０パケットおよびダウンストリーム５０パケット）である。推定される１音声チャネル当たりのコスト（ＥＣＶＣ）は、以下の数式で要約される。
【００５０】
ＥＣＶＣ＝ＦＣＶＣ＋（ＮＰ×ＣＶＰ）
＝１＋（１００×０．１）
＝１＋１０
＝１１ＭＩＰＳ
２つのアクティブな音声チャネルがある場合、推定される音声総コスト（ＴＣＶ）は、２２ＭＩＰＳ、であり、６３ＭＩＰＳがデータ用に残る。したがって、非音声データの処理に使用可能なリソースが、６３／８５の割合だけ削減される。
【００５１】
図９に、より確実で最新の情報が使用可能であり、したがって、非音声データの処理により多くの処理リソースを割り当て可能である場合に、推定される音声チャネルの処理要件がどのように削減され得るかについて示す。たとえば、通話の最初に、リソースは一般に、比較的に大きいＧ．７１１パケットを処理するために確保される。しかしながら、ネゴシエーションの後で、より小さいパケットを必要とする低速のボコーダが選択され得る。その結果、余分の処理リソースを開放して、さらなるデータ伝送をサポートすることが可能である。複数のアクティブ音声チャネルで、音声データを含む通信信号が受信される場合、アクティブ音声チャネルの数（Ｎ）が判断される（工程９０５）。工程９１０で、アクティブ音声チャネルのうちの単一の音声チャネルをサポートするのに必要な最大処理負荷（Ｍ）を推定するための計算が実施される。工程９１５で、アクティブ音声チャネルの数（Ｎ）に、推定最大処理負荷（Ｍ）を掛けて、すべてのアクティブ音声チャネルについての、音声データだけを処理するために確保される処理負荷（Ｖ＝Ｎ×Ｍ）を得る。工程９２０で、すべてのアクティブ音声チャネルをサポートするために実際に必要な処理負荷が判断され、すべてのアクティブ音声チャネルをサポートするために実際に必要な処理負荷が推定最大処理負荷（Ｍ）より小さい場合は、最大処理負荷（Ｍ）の推定値が減らされる。
【００５２】
図１０に、音声チャネルの処理要件を推定するための、本発明の代替実施形態を示す。工程１００５で、それぞれのアクティブ音声チャネルをサポートするために必要な最大処理負荷が推定される。工程１０１０で、それぞれのアクティブ音声チャネルの推定処理負荷を合計して、音声データだけを処理するために確保される総処理負荷を判断する。
【００５３】
プロセッサ負荷のモデルを使用する代わりに、通信システム１００は、プロセッサ負荷を測定し、その測定された値に基づいて割当て値を計算してもよい。アイドルまたはスリープ時間を、定期的にまたは重要なイベント時に測定することによって、未使用のプロセッサ・リソースの推定を行い得る。
【００５４】
さらに、破局的なシナリオの場合に通信システム１００を補助するために、より厳しい割当て値が使用される、パニック・モードを追加してもよい。たとえば重要なキューが非常に遠くで停滞している場合、通信システム１００によって処理されるトラフィックが緩和されるまで、より厳しい割当て値が実装され得る。
【００５５】
本発明は、ハードウェアとソフトウエアの任意の組み合わせで実施され得る。コンピュータ実施装置として実施される場合、本発明は、上述のすべての工程および関数を実行するための手段を使用して実施される。
【００５６】
本発明は、たとえばコンピュータが使用可能な媒体を含む製品（１つまたは複数のコンピュータ・プログラム製品など）内に含まれ得る。その媒体は、その中に、たとえば本発明の機構を提供し実行するためのコンピュータ読取り可能プログラム・コード手段を含む。その製品は、コンピュータ・システムの一部として含まれてもよいし、または別個に販売されてもよい。
【００５７】
説明した諸実施形態に対する変更が、その幅広い発明的概念から逸脱せずに行われ得る
ことが当業者には理解されよう。したがって、本発明は、開示した特定の諸実施形態に限定されるものではなく、特許請求の範囲によって定義された本発明の精神および範囲内にある改変物を網羅するものである。
【図面の簡単な説明】
【００５８】
【図１】本発明に従って動作する通信システムのブロック図。
【図２】本発明による、インタフェースの割当て値を格納し処理するために使用される例示的なデータベース構造の図。
【図３】本発明による、システムの割当て値を格納し処理するために使用される例示的なデータベース構造の図。
【図４】図１の通信システムによって実施されるプロセスのデータ・フローチャート。
【図５】図１の通信システムによって実施される工程を含む高レベル機能フローチャート。
【図６】図１の通信システムによって実施される工程を含む高レベル機能フローチャート。
【図７】図１の通信システムによって実施される工程を含む高レベル機能フローチャート。
【図８】図１の通信システムによって実施される工程を含む高レベル機能フローチャート。
【図９】図１の通信システムによって実施される工程を含む高レベル機能フローチャート。
【図１０】図１の通信システムによって実施される工程を含む高レベル機能フローチャート。
【図１】
2005522145.tif 000003
【図２】
2005522145.tif 000004
【図３】
2005522145.tif 000005
【図４】
2005522145.tif 000006
【図５】
2005522145.tif 000007
【図６】
2005522145.tif 000008
【図７】
2005522145.tif 000009
【図８】
2005522145.tif 000010
【図９】
2005522145.tif 000011
【図１０】
2005522145.tif 000012
【国際調査報告】
2005522145.tif 000013
2005522145.tif 000014
2005522145.tif 000015