(57)【要約】    【課題】  アプリケーションがオペレーティングシステム、デバイスドライバを含む一連の処理で周期的に実行する際、他のアプリケーションからデバイスドライバに対して処理時間を要する処理を実行させた場合でも、先のアプリケーションがその影響を受けることなく周期的に処理を実行できる通信システムを提供する。    【解決手段】  所定時間間隔で周期的に実行する必要のある第１のプロセス１３ａと、該第１のプロセスよりも優先度の低い少なくとも１つの下位プロセス１３ｂ，１３ｃを実行する通信システムであって、該下位プロセスの初回実行時に該下位プロセスの完了時間を計測し、計測した完了時間を保存するプロセス完了時間測定手段と、該プロセス完了時間測定手段によって設定された所定時間と比較する比較手段とを具備し、該比較手段は前記下位プロセスの完了時間が所定時間よりも長ければ、次回以降は前記下位プロセスの実行開始から所定時間と同じか、或は所定時間よりも短い一定時間経過後に前記下位プロセスを終了する。    【選択図】          図３
2010033311.tif 000002
【特許請求の範囲】
【請求項１】
所定時間間隔で周期的に実行する必要のある第１のプロセスと、該第１のプロセスよりも優先度の低い少なくとも１つの下位プロセスを実行する通信システムであって、該下位プロセスの初回実行時に該下位プロセスの完了時間を計測し、計測した完了時間を保存するプロセス完了時間測定手段と、該プロセス完了時間測定手段によって設定された所定時間と比較する比較手段とを具備し、該比較手段は前記下位プロセスの完了時間が所定時間よりも長ければ、次回以降は前記下位プロセスの実行開始から所定時間と同じか、或は所定時間よりも短い一定時間経過後に前記下位プロセスを終了することを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力端末から入力されたアナログ信号がデジタル信号に変換され、ネットワーク網を介して運ばれたデジタル信号が、出力端末でアナログ信号に変換されて出力される通信システムに関するものである。
【背景技術】
【０００２】
ＶｏＩＰ通信では、入力端末であるマイクにより拾われた音声波形や、発振器や、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）からの音声信号が連続的なアナログ信号として、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）に入力され、時間的に一定の間隔Ｔｓで信号の大きさをサンプリングし、離散的な信号へと変換する。一定のサンプリング周期毎に離散化されたデジタル的な飛び飛びの数値に変換され、離散化されたデジタルデータは符号化される。尚、アナログ信号を一定のサンプリング周期毎に離散化された波の大きさをどれだけ細かいレベル幅で量子化できるかは、Ａ／Ｄ変換の際に使用されるビット数により決められる。
【０００３】
又、符号化されたデータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有するＣＰＵボードへと処理を引渡される。該ＣＰＵボードには、より複雑な制御を行ったり、様々な対外的インタフェースを備えてより多彩な通信を行う為に予め定めたオペレーティングシステムが実装されており、該オペレーティングシステムの管理の下、アプリケーションがＤＳＰからの符号化された音声情報データをＩＰパケット化し、ネットワーク上に送出する。
【０００４】
ＤＳＰからＣＰＵへ伝達される符号化されたデジタルデータは、例えばＤＰＲＡＭ等のインタフェース媒体を経由して伝達され、ＤＰＲＡＭ経由で伝達される場合は、前記ＤＳＰから前記ＤＰＲＡＭに音声情報データが書込まれ、前記ＣＰＵが前記ＤＰＲＡＭに書込まれた音声情報データを読出し、音声情報データをＩＰパケット化する。
【０００５】
ネットワーク上に送出されたＩＰパケットは、ＶｏＩＰ出力端末で受信され、前記ＤＳＰにて符号化された方式と同じ方式で複合化され、複合化されたデータは電圧値等の連続したアナログ信号に復元される。又、復元されたアナログ信号が音声信号としてＶｏＩＰ出力端末より出力されるものである。
【０００６】
デジタル化され、符号化された音声データをＩＰパケット化するに当たり、符号化方式Ｇ．７１１（ＰＣＭ方式：ＰＣＭ＝パルス符号変調、サンプリング周波数：８ｋＨｚ、情報量：６４ｋｂｐｓ／チャネル、原理遅延：０．１２５ｍｓｅｃ、品質：ＭＯＳ値で４．１０）、Ｇ．７２９（ＣＳ−ＡＣＥＬＰ方式：Ｃｏｎｊｕｇａｔｅ  Ｓｔｒｕｃｔｕｒｅ  Ａｌｇｅｂｒａｉｃ  Ｃｏｄｅ  Ｅｘｃｉｔｅｄ  Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ、サンプリング周波数：８ｋＨｚ、情報量：８ｋｂｐｓ／チャネル、フレーム長：１０ｍｓｅｃ、原理遅延：１５ｍｓｅｃ、品質：ＭＯＳ値で３．９）等を使用するが、符号化方式Ｇ．７１１、Ｇ．７２９ではそれぞれ２０ｍｓ周期で音声をパケット化してネットワーク上に送出すことを前提としている。これはＤＳＰから符号化されたデータをＣＰＵにてＩＰパケット化してネットワーク上に送出する周期が２０ｍｓであることを意味している。尚、２０ｍｓという周期を一時的に変えることも可能である。
【０００７】
前記ＤＳＰから送られた符号化されたデータを、前記ＣＰＵにてＩＰパケット化してネットワークに送出す一連の処理を、予め定めたオペレーティングシステムが実装されたＣＰＵボードで処理する場合、アプリケーション、オペレーティングシステム、デバイスドライバでこれら一連の処理を担う必要がある。
【０００８】
前記アプリケーションからの指示の下、前記オペレーティングシステム経由で前記デバイスドライバが前記ＤＳＰとのインタフェースデバイスから符号化されたデータを読出して前記アプリケーションへとデータを引渡し、該アプリケーションでＩＰパケット化の加工を行い、再び前記オペレーティングシステム経由でデバイスドライバがパケットをネットワークに送出す。
【０００９】
この時、通常のオペレーティングシステムでは、デバイスドライバの処理時間が長時間に渡っても処理が完全に終了するまでアプリケーションに制御が戻ってこない為、該アプリケーションが音声パケットを２０ｍｓ間隔で周期的にネットワーク上に送出す様にプログラムされていても、前記オペレーティングシステムを含めた前記デバイスドライバの処理時間が前記アプリケーションとして許容できる範囲内で作動しなければ、設定した２０ｍｓという時間が守れなくなるという問題がある。
【００１０】
前記デバイスドライバの処理に時間が掛かりすぎると、符号化されたデータからＩＰパケット化までの流れに揺らぎが発生する可能性があり、又他のアプリケーションの動作に影響を及ぼす虞があった。
【００１１】
尚、ＶｏＩＰ通信を使用した通信システムとしては、特許文献１に示されるものがある。
【００１２】
【特許文献１】特開２００７−２２８４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は斯かる実情に鑑み、アプリケーションがオペレーティングシステム、デバイスドライバを含む一連の処理で周期的に実行する際、他のアプリケーションからデバイスドライバに対して処理時間を要する処理を実行させた場合でも、先のアプリケーションがその影響を受けることなく周期的に処理を実行できる通信システムを提供するものである。
【課題を解決するための手段】
【００１４】
本発明は、所定時間間隔で周期的に実行する必要のある第１のプロセスと、該第１のプロセスよりも優先度の低い少なくとも１つの下位プロセスを実行する通信システムであって、該下位プロセスの初回実行時に該下位プロセスの完了時間を計測し、計測した完了時間を保存するプロセス完了時間測定手段と、該プロセス完了時間測定手段によって設定された所定時間と比較する比較手段とを具備し、該比較手段は前記下位プロセスの完了時間が所定時間よりも長ければ、次回以降は前記下位プロセスの実行開始から所定時間と同じか、或は所定時間よりも短い一定時間経過後に前記下位プロセスを終了する通信システムに係るものである。
【発明の効果】
【００１５】
本発明によれば、所定時間間隔で周期的に実行する必要のある第１のプロセスと、該第１のプロセスよりも優先度の低い少なくとも１つの下位プロセスを実行する通信システムであって、該下位プロセスの初回実行時に該下位プロセスの完了時間を計測し、計測した完了時間を保存するプロセス完了時間測定手段と、該プロセス完了時間測定手段によって設定された所定時間と比較する比較手段とを具備し、該比較手段は前記下位プロセスの完了時間が所定時間よりも長ければ、次回以降は前記下位プロセスの実行開始から所定時間と同じか、或は所定時間よりも短い一定時間経過後に前記下位プロセスを終了するので、該下位プロセスの処理時間が所定時間より長かったとしても、前記第１のプロセスが前記下位プロセスの影響を受けることなく、又簡単な修正で周期的な処理の実行を実現できる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しつつ本発明を実施する為の最良の形態を説明する。
【００１７】
図１は、本発明に於ける通信システムの構成を示す図である。
【００１８】
同図のシステムは、入力端末としての発振器１がアナログ信号２をＤＳＰボード３に出力し、該ＤＳＰボード３は内部バス４を介してＣＰＵが搭載されたＣＰＵボード５と接続され、該ＣＰＵボード５はＥｔｈｅｒｎｅｔ（登録商標）６によってネットワーク網７に接続され、該ネットワーク網７を介して出力端末８に接続されて構成されている。
【００１９】
前記発振器１は、マイクより拾われた音声波形、発振器やＣＤからの音声信号を、全て電圧の変化、前記アナログ信号２として、前記ＤＳＰボード３へ出力し、該ＤＳＰボード３は、入力された前記アナログ信号２をデジタル信号に変換し、変換したデジタル信号を符号化する。前記内部バス４は、前記ＤＳＰボード３から符号化されたデジタルデータを前記ＣＰＵボード５へ伝送し、又該ＣＰＵボード５から前記ＤＳＰボード３に対してパラメータ設定情報を伝送するインタフェースであり、前記ＣＰＵボード５は、符号化されたデータをＲＴＰ（ｒｅａｌ−ｔｉｍｅ  ｔｒａｎｓｐｏｒｔ  ｐｒｏｔｏｃｏｌ  ＲＦＣ  １８８９／ＲＦＣ  ３３５０）を使用してＩＰパケット化し、音声パケットデータとして出力する。
【００２０】
前記音声パケットデータは、前記Ｅｔｈｅｒｎｅｔ６を介して前記ネットワーク網７へと伝送され、該ネットワーク網７を介して、前記音声パケットデータを前記出力端末８へと伝送している。又、前記音声パケットデータを受取った前記出力端末８は、前記ＤＳＰボード３で符号化された方式と同じ方式を以て複合化し、複合化されたデータは電圧値等の連続した前記アナログ信号２に復元される。最後に、復元された該アナログ信号２は、音声信号として前記出力端末８より出力され、通信が成立する。
【００２１】
次に、図２に於いて、前記ＤＳＰボード３と前記ＣＰＵボード５間のデータ通信について説明する。
【００２２】
前記ＤＳＰボード３は、主に前記アナログ信号２を受取るＡ／Ｄ変換部９と、該Ａ／Ｄ変換部９と接続された信号処理部１１と、該信号処理部１１で処理されたデータを格納し、該データを前記ＣＰＵボード５に送出する機能を持つＤＰＲＡＭ１２で構成されている。
【００２３】
前記ＣＰＵボード５はＣＰＵ及び記憶部等を具備し、該記憶部にはアプリケーション１３、オペレーティングシステム１４、デバイスドライバ１５、プロセス完了時間測定プログラム、所定時間比較プログラムが格納されている。又、前記ＣＰＵと前記記憶部と前記プロセス完了時間測定プログラムによって完了時間測定手段が構成され、前記ＣＰＵと前記記憶部と前記所定時間比較プログラムによって比較手段が構成されている。前記ＤＰＲＡＭ１２からの信号は、前記内部バス４より前記デバイスドライバ１５を介して入力され、又該デバイスドライバ１５は前記Ｅｔｈｅｒｎｅｔ６にデジタル信号を出力している。
【００２４】
前記発振器１より発振されたアナログ信号２は、前記Ａ／Ｄ変換部９にて前記アナログ信号２をデジタル化する為に、先ず時間的に一定の間隔Ｔｓで信号の大きさをサンプリングし、離散的なデジタル信号に変換する。サンプリングするに当たっては、通常は前記アナログ信号２に含まれる最大周波数の２倍以上のサンプリング周波数でサンプリングする。
【００２５】
前記Ａ／Ｄ変換部９にてデジタル信号に変換された後、一定のサンプリング周期毎に離散化されたそれぞれの波形の大きさは、次にデジタル的な飛び飛びの数値に量子化される。又、波の大きさをどれだけ細かいレベル幅で量子化できるかは、前記Ａ／Ｄ変換の際に使用されるビット数で決まる。
【００２６】
前記Ａ／Ｄ変換部９で量子化されたデータは、前記信号処理部１１で符号化される。符号化方式としては、Ｇ．７１１、Ｇ．７２９等がある。
【００２７】
前記信号処理部１１で符号化されたデジタルデータは、前記ＣＰＵボード５での処理によりＩＰパケット化される為、一度前記ＤＰＲＡＭ１２へと格納される。該ＤＰＲＡＭ１２に格納されたデジタルデータは、ＩＰパケット化する為に前記内部バス４を経由して前記ＣＰＵボード５へと伝送される。
【００２８】
前記アプリケーション１３は、前記オペレーティングシステム１４を経由して前記デバイスドライバ１５にアクセスし、該デバイスドライバ１５が前記内部バス４を通じて読出したデジタルデータを受取る。前記アプリケーション１３では、符号化されたデジタルデータをＩＰパケット化するに当たり、ストリームをリアルタイムで運ぶ為のプロトコルとして、ＩＥＴＦで標準化されているＲＴＰを用いる。尚、ＲＴＰパケットはＲＴＰヘッダを含み、ＲＴＰヘッダの中にはペイロード種別、音声化された順番を示すシーケンス番号、音声パケットの送信間隔であるタイムスタンプ等の情報が含まれている。
【００２９】
ＲＴＰヘッダに符号化されたデジタルデータを、タイムスタンプに応じた情報量でペイロードとして付与し、音声パケットとして前記アプリケーション１３から前記オペレーティングシステム１４、前記デバイスドライバ１５を経由して、前記Ｅｔｈｅｒｎｅｔ６へと送出される。
【００３０】
次に、図３、図４に於いて、前記ＣＰＵボード５内部の動作、及び周期的処理を実現する為の前記デバイスドライバ１５の処理フローを説明する。
【００３１】
前記ＣＰＵボード５内部では、符号化されたデジタルデータを音声パケットデータに加工、或は前記ＤＳＰボード３に対してパラメータの設定変更等を行う為、プロセス１３ａ〜プロセス１３ｃが、前記オペレーティングシステム１４の管理の下、順次動作している。尚、同時に複数の音声パケットデータを扱う際には、扱う数に応じてプロセスの数も増加する。
【００３２】
又、前記プロセス１３ａが符号化方式Ｇ．７１１の下、音声パケット化の作業を実行するとした場合、該プロセス１３ａは、前記プロセス１３ｂ、前記プロセス１３ｃがアクセスしている前記デバイスドライバ１５に対して処理負荷が掛かる処理を実施する、しないに拘わらず、２０ｍｓ周期で動作しなければならない。
【００３３】
然し乍ら、前記プロセス１３ａ〜前記プロセス１３ｃは、前記オペレーティングシステム１４を経由せずに前記デバイスドライバ１５にアクセスすることはできない為、前記プロセス１３ｂ、前記プロセス１３ｃが、前記デバイスドライバ１５に対して処理負荷が掛かる処理を実施し、処理時間が長くなった場合には、前記プロセス１３ａが２０ｍｓ周期で動作できなくなる虞がある。
【００３４】
尚、本発明では、処理負荷の掛かる処理を実行した場合にも、全体の処理周期が所定時間周期、例えば２０ｍｓ周期で１動作する様にする為、前記プロセス完了時間測定手段によって前記処理がどの程度の時間が掛かるのかを測定し、測定した時間が２０ｍｓよりも長いのか、或は短いのかを前記比較手段によって比較し、第１のプロセスである前記プロセス１３ａが前記処理に掛かる時間を許容できるか否かを決定する。
【００３５】
先ず、前記プロセス１３ｂ、前記プロセス１３ｃが前記デバイスドライバ１５に対して処理負荷の掛かる処理を実施する場合の初回の動作について説明する。
【００３６】
前記プロセス１３ｂと前記プロセス１３ｃが前記デバイスドライバ１５にアクセスする際に、引数として前記アプリケーション１３が許容すべき時間（２０ｍｓ）を引渡す。前記デバイスドライバ１５は処理を実行する前に現在の時間を記録する（ＳＴＥＰ：１）。次に、一連のプロセスが初回であるかどうかを判断する（ＳＴＥＰ：２）。初回に関しては実処理時間が不明な為、書込みや読出し等デバイスへアクセスし、処理が完了するまで実行する（ＳＴＥＰ：３）。ＳＴＥＰ：３完了後、処理終了後の時間を取得し（ＳＴＥＰ：４）、ＳＴＥＰ：１で記録した処理開始前の時間との差分から処理時間を算出する（ＳＴＥＰ：５）。ＳＴＥＰ：５で算出した処理時間と、前記デバイスドライバ１５にアクセスした際に引数として引渡された許容時間とを比較し、前記プロセス１３ｂと前記プロセス１３ｃの処理時間を前記アプリケーション１３が許容できるかをチェックし（ＳＴＥＰ：６）、許容時間よりも時間が経過していた場合には、前記デバイスドライバ１５の内部で管理している、次回から一定時間処理をしたらＣＰＵを開放するルーチンを通る為のフラグをＯＮに設定し（ＳＴＥＰ：７）、処理を完了する。
【００３７】
次に、ＳＴＥＰ：７で２回目以降の動作について説明する。
【００３８】
２回目以降の動作に関しては、初回であるかどうかをチェックするＳＴＥＰ：２を通過し、次に前記プロセス１３ｂと前記プロセス１３ｃの処理時間は、前記アプリケーション１３の許容時間を考慮する必要があるかをチェックし（ＳＴＥＰ：８）、考慮する必要がなければそのまま処理を続け、アプリケーションの許容時間を考慮する必要がある、即ちＳＴＥＰ：７のフラグをＯＮに設定したのであれば、一定時間処理をしたらＣＰＵを開放するルーチンを通る為のフラグをＯＦＦにする引数を引渡さない限り、ＳＴＥＰ：８にて分岐をし、書込みや読出し等デバイスへのアクセスを行い、一定時間処理をしたらＣＰＵを開放する（ＳＴＥＰ：９）処理を、全工程が終了するまで実行し続ける。
【００３９】
又、前記プロセス１３ｂ、前記プロセス１３ｃの何れか、或は双方が一時的にＣＰＵを開放した後に前記プロセス１３ａが処理を実行する為、前記オペレーティングシステム１４は各プロセスの優先度を変更できる機能を有している。
【００４０】
上記の処理を実行することで、処理時間の掛かる前記プロセス１３ｂ、前記プロセス１３ｃが一時的にＣＰＵを開放し、前記プロセス１３ａが処理を実行することができるので、該プロセス１３ａが２０ｍｓという周期を守ることができる。
【００４１】
以上の様に、本発明に於ける前記デバイスドライバ１５の処理を実行することで、符号化されたデジタルデータをＩＰパケット化する際の流れに揺らぎを生じさせることなく、又前記デバイスドライバ１５の処理に時間を掛けすぎることで他のプロセスの動作に影響を与えることなく通信を行うことが可能となる。
【００４２】
尚、本発明はＶｏＩＰ通信だけではなく、他の周期的な処理を要求されるシステムに関しても適用可能であることは言う迄もない。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態を示す通信システムの構成図である。
【図２】本発明のＤＳＰボードとＣＰＵボード間の通信構成を示す説明図である。
【図３】本発明のＣＰＵボード内の動作を示す説明図である。
【図４】本発明の実施の形態に於ける周期的処理を実現する為の動作処理を示すフローチャートである。
【符号の説明】
【００４４】
１              発振器
２              アナログ信号
３              ＤＳＰボード
５              ＣＰＵボード
８              出力端末
９              Ａ／Ｄ変換部
１１            信号処理部
１２            ＤＰＲＡＭ
１３            アプリケーション
１４            オペレーティングシステム
１５            デバイスドライバ
【図１】
2010033311.tif 000003
【図２】
2010033311.tif 000004
【図３】
2010033311.tif 000005
【図４】
2010033311.tif 000006