(A)第1の実施形態
以下、本発明によるゲートウェイ装置及びプログラムの第1の実施形態を、図面を参照しながら説明する。
(A−1)第1の実施形態の構成
図1は、第1の実施形態のゲートウェイ装置10のネットワークの位置の説明図である。
第1の実施形態のゲートウェイ装置10は、PSTNシステム及びVoIPシステム間の置き換えを実行するものである。第1の実施形態のゲートウェイ装置10は、複数のPSTN電話端末1−0〜1−Nを収容しており、しかも、IPネットワーク2に属するものである。ゲートウェイ装置10が収容できるPSTN電話端末1−0〜1−Nの最大台数N+1は任意に設計すれば良いが、例えば、80台(80チャネル)を挙げることができる。以下、各PSTN電話端末1−0〜1−Nとの通話路をチャネルと呼んで区別することとする。
図2は、第1の実施形態のゲートウェイ装置10における特徴的なVoIP化・パケット化処理構成を示すブロック図である。
VoIP化・パケット化処理は、一般的には、CPU(Central Processing Unit)やDSP(Digital Signal Processor)のような演算器を使用したファームウェア(ハードウェアを制御するソフトウェア;ゲートウェイプログラム)で実行されるが、機能的には、図2で表すことができる。なお、ファームウェアの全て若しくは一部に代え、ハードウェアを適用するようにしても良いことは勿論である。
図2において、第1の実施形態のゲートウェイ装置10は、タイマ11、装置管理部12、チャネル処理順番生成部13、送信パケット間隔制御部14、PSTNデータバッファ部15及びVoIP化・パケット化処理部16を有する。
タイマ11は、VoIP化・パケット化処理のために各チャネルに割り当てる一定時間を計時するものであり、例えば、システムクロックの到来によってタイマ値を0〜Mmaxの範囲でカウントアップしていく、最大値Mmaxの次は0にリセットする自走式のカウンタで実現される。以下、タイマ11のタイマ値が0〜Mmaxをとる時間を、チャネル処理割当時間と呼ぶこととする。
なお、タイマ11は、送信パケット間隔制御部14からの設定により、後述する調整時間もカウントするものである。
装置管理部12は、図示しない呼制御部からの情報に基づき、当該ゲートウェイ装置10が収容して各PSTN電話端末1−0〜1−Nの通話路確立状態(呼確立状態)を判別し、各PSTN電話端末1−0〜1−Nについて、通話路が確立しているPSTN電話端末(チャネル)か否かを表す有効チャネル情報を、チャネル処理順番生成部13及び送信パケット間隔制御部14の少なくとも一方に与えるものである。装置管理部12は、例えば、タイマ11が自走によりリセットされる毎に、有効チャネル情報に係るチャネルを切り替えるものである。
チャネル処理順番生成部13は、VoIP化・パケット化処理するチャネル番号を順次切り替え、チャネル処理順番情報として送信パケット間隔制御部14に与えるものである。チャネル処理順番生成部13は、例えば、基本的には、タイマ11のタイマ値がリセットされたときに、チャネル番号を次のチャネル番号に切り替える。チャネル処理順番生成部13に有効チャネル情報が与えられる構成の場合であれば、チャネル処理順番生成部13は、切り替えられた新たなチャネル番号が、通話路が確立している有効チャネルの場合にのみ、送信パケット間隔制御部14に通知するようにしても良く、また、有効チャネルのチャネル番号だけを切り替え対象とするようにしても良い。後者の場合において、チャネル処理順番情報に、有効チャネルのチャネル番号が隙間を開けることなく、詰まるようにしても良い。さらに、有効チャネル情報が与えられる構成の場合であっても、チャネル処理順番生成部13は、チャネルの有効/無効に拘わらず、チャネル番号を順次切り替えてチャネル処理順番情報としても良く、この場合において、チャネル処理順番情報にチャネルの有効/無効を明記するようにしても良く、また、明記しなくても良い。
例えば、収容しているPSTN電話端末1−0〜1−Nに係るチャネル番号ch0〜chNを、チャネル処理順番生成部13は、ch0側から1ずつ漸増させたり、若しくは、chN側から1ずつ漸減させたりする。
送信パケット間隔制御部14は、チャネル処理順番情報が有効チャネルのチャネル番号を表しているときに、VoIP化・パケット化処理部16に対して、そのチャネル番号のチャネルについての処理(VoIP化・パケット化処理)を起動すると共に、その処理結果であるパケット(IPパケット)を取り込んで図示しないIPインタフェース部を介してIPネットワーク2に送信するものである。送信パケット間隔制御部14は、VoIP化・パケット化処理部16からパケットが与えられたときに直ちに送信するようにしても良く、また、内部にバッファを備え、タイマ11のタイマ値がリセットされて新たなチャネルがチャネル処理順番となったタイミングで、その直前のチャネル処理割当時間でチャネル処理が実行されて得られたIPパケットを送信するようにしても良い。以下では、前者であるとして説明する。送信パケット間隔制御部14は、チャネル処理順番情報が規定するチャネル番号のチャネルが有効チャネルか否かは、チャネル処理順番情報に含まれている有効/無効情報に基づいて判定するようにしても良く、また、装置管理部12からの有効チャネル情報に基づいて判定するようにしても良い。
送信パケット間隔制御部14は、チャネル処理順番が最後のチャネルchNのチャネル処理割当時間が満了したときには、タイマ11に調整時間を計時させるようにする。タイマ11は、調整時間の計時が終了したときには、チャネル処理割当時間を計時する状態に復帰する。例えば、送信パケット間隔制御部14は、タイマ11にある値をプリセットさせ、そのプリセット値から最大値Mmaxまでの計時に係る時間が調整時間になるようにさせる。
ここで、調整時間は、パケット送信間隔から、チャネル処理割当時間×チャネル数を減算した時間に定められている。このような調整時間の設定により、各チャネルについてのパケットの送信間隔が、規定のパケット送信間隔を満たすようになる。
この第1の実施形態の場合、あるチャネルについてのチャネル処理(VoIP化・パケット化処理)の起動周期(以下、パケット化周期と呼ぶことがある)と、パケット送信間隔とは、同じに選定されている。
各PSTN電話端末1−0〜1−Nからの信号がそれぞれ図示しないPSTNインタフェース部によってデジタル信号(PSTNデータ)に変化された後、図示しない集線部によって多重化されたデータが、PSTNデータバッファ部15に与えられる。また、この多重化データの入力に併せて、多重化周期(フレーム周期)を規定する図3に示すフレーム信号もPSTNデータバッファ部15に入力される。1多重化周期(フレーム周期)は、図3に示すように、全N+1チャネルのタイムスロットに分かれており、チャネルch0〜chNのPTSNデータが多重されている。
上述したパケット処理順番生成部13も、フレーム周期のチャネルの割当順番と同じ順番でチャネル処理の順番のチャネルを生成するが、チャネル処理の順番はこれに限定されるものではない。この場合の変形例を後述している。
PSTNデータバッファ部15は、多重化データをチャネルch0〜chN毎に区別し、チャネル毎にPSTNデータをバッファリングするものである。なお、各チャネルのPSTNデータが多重化されることなく図2に示す構成部分に入力され、PSTNデータバッファ部15が、そのように入力された各チャネルのPSTNデータをバッファリングするものであっても良い。
VoIP化・パケット化処理部16は、送信パケット間隔制御部14から、あるチャネル番号のチャネル処理(VoIP化・パケット化処理)が起動されたとき、PSTNデータバッファ部15にバッファリングされている、そのチャネルについてのPTSNデータに対するチャネル処理を行い、生成されたIPパケットを送信パケット間隔制御部14に返信するものである。
例えば、フレーム周期が125μsでパケット送信間隔が10msの場合、80(=10000/125)フレームのPTSNデータに対してチャネル処理が実行される。
従来であれば、音声符号化処理などのVoIP化処理(IPパケットの生成処理以外の処理をVoIP化処理と呼んでいる)の終了後において、処理データを一旦バッファリングした後、パケット化処理の起動を待って、IPパケットの生成(パケット化)を行うのが一般的である。この第1の実施形態では、VoIP化処理が終了したときに、間を開けることなく、パケット化処理を継続して行う。
このようなVoIP化・パケット化に要する一連の処理時間は、チャネルの種類等によって変化するが、この第1の実施形態では、チャネル毎のチャネル処理に割り当てた時間は、タイマ11が自走するタイマ値の範囲で定まる、上述した固定時間のチャネル処理割当時間となっている。
VoIP化・パケット化に要する一連の処理時間は、例えば、通常の音声通信のチャネルより、FAX通信のチャネルの方が多くかかる。また、音声通信のチャネルでも、付加サービスを伴わないチャネルの処理時間の方が、付加サービスを伴うチャネルの処理時間の方より短い。この第1の実施形態では、以上のように、チャネルの種類等によって異なるチャネル処理時間の中で、最も長いチャネル処理時間(若しくはそれより僅かに長い時間)を、上述した固定時間のチャネル処理割当時間としている。言い換えると、タイマ11が自走するタイマ値の1周期0〜Mmaxは、チャネルの種類等によって異なるチャネル処理時間の中で最も長いチャネル処理時間を考慮して定められている。
(A−2)第1の実施形態の動作
次に、第1の実施形態のゲートウェイ装置10における特徴的な動作について説明する。
各PSTN電話端末1−0〜1−Nからの信号はそれぞれ、図示しないPSTNインタフェース部によってデジタル信号(PSTNデータ)に変化された後、図示しない集線部によって多重化され、多重化PSTNデータと、それに同期した図3に示すフレーム信号とが、PSTNデータバッファ部15に入力される。PSTNデータバッファ部15においては、多重化PSTNデータに含まれているチャネルch0〜chN毎のPSTNデータが区別されてバッファリングされる。これにより、各チャネルch0〜chNについて、チャネル処理(VoIP化・パケット化処理)を実行できるように、データが揃った状態となる。
図4は、各部のタイミングチャートを表形式で示したものである。図4は、タイマ11のタイマ値が0〜Mmaxで変化するチャネル処理割当時間を単位として、各部の信号や情報を示したものである。
図4の1行目は、タイマ11のタイマ値の変化を示している。2行目及び3行目は、装置管理部12から出力される有効チャネル情報を表しており、2行目はチャネル番号を表し、3行目はチャネルの有効又は無効を表しており、2行目及び3行目の情報の組が有効チャネル情報を構成している。4行目は、チャネル処理順番生成部13から送出されるチャネル処理順番を表しており、チャネルの有効/無効が反映されている。5行目は、VoIP化・パケット化処理部16が生成して送信パケット間隔制御部14から送信される送信パケットに係るチャネル番号を記述している。
前回の調整時間が満了し、タイマ11のタイマ値が0にリセットされ、新たなチャネル処理割当時間の計時が開始されたときには、装置管理部12から出力される有効チャネル情報のチャネル番号がch0のチャネルに係る情報に更新され、これに応じて、チャネル処理順番生成部13から送出されるチャネル処理順番も更新される。図4の例の場合、チャネル番号がch0のチャネルは有効チャネルであり、送信パケット間隔制御部14に対して、有効チャネルを表すチャネル処理順番の情報が与えられる。
これにより、送信パケット間隔制御部14からVoIP化・パケット化処理部16へ、チャネル番号がch0のチャネルの処理(VoIP化・パケット化処理)の起動が指示され、VoIP化・パケット化処理部16によって、PSTNデータバッファ部15にバッファリングされているそのチャネルのPSTNデータに対するVoIP化処理や、その後のパケット化処理が実行される。得られたチャネル番号ch0のチャネルのIPパケットは、VoIP化・パケット化処理部16から送信パケット間隔制御部14に与えられ、送信パケット間隔制御部14によってIPネットワーク2へ向けて送信される。
ここで、タイマ11が自走するチャネル処理割当時間(タイマ値が0からMmaxへ変化するのに要する時間)は、チャネル番号ch0のチャネルがどのような種類のチャネルであっても、IPパケットを得るのに十分な時間になっているので、チャネル番号ch0のチャネルのIPパケットは、チャネル処理割当時間内で生成されて送出される。
仮に、チャネル番号ch0のチャネルが、チャネル処理を起動されてからIPパケットを生成して送出するまでのチャネル処理時間が、チャネル処理割当時間より短い場合には、IPパケットの送出後でも、チャネル処理割当時間が残っているが、この残存時間では、VoIP化・パケット化処理部16は何ら処理を実行することなく、次のチャネルに対する処理起動を待ち受ける。
チャネル番号ch0のチャネルのためにチャネル処理割当時間を計時していたタイマ11のタイマ値がMmaxに対して図示しない次のクロックによって0にリセットされると、新たなチャネル処理割当時間の計時が開始される。このときには、装置管理部12から出力される有効チャネル情報のチャネル番号がch1のチャネルに係る情報に更新され、これに応じて、チャネル処理順番生成部13から送出されるチャネル処理順番も更新される。図4の例の場合、チャネル番号がch1のチャネルは無効チャネルであり、送信パケット間隔制御部14に対して、チャネル処理順番生成部13から無効チャネルを表すチャネル処理順番の情報が与えられる。
従って、送信パケット間隔制御部14によって、VoIP化・パケット化処理部16へ、チャネル番号ch1のチャネル処理の起動が指示されることはなく、VoIP化・パケット化処理部16は待機状態となる。
チャネル番号ch1のチャネルのためにチャネル処理割当時間を計時していたタイマ11のタイマ値がMmaxに対して図示しない次のクロックによって0にリセットされると、新たなチャネル処理割当時間の計時が開始される。このときには、装置管理部12から出力される有効チャネル情報のチャネル番号がch2のチャネルに係る情報に更新され、これに応じて、チャネル処理順番生成部13から送出されるチャネル処理順番も更新される。図4の例の場合、チャネル番号ch2のチャネルは有効チャネルであり、送信パケット間隔制御部14に対して、有効チャネルを表すチャネル処理順番の情報が与えられる。
これにより、送信パケット間隔制御部14からVoIP化・パケット化処理部16へ、チャネル番号ch2のチャネル処理の起動が指示され、上述したと同様にして、チャネル番号ch2のPSTNデータの情報を含むIPパケットが生成され、送信パケット間隔制御部14によってIPネットワーク2へ向けて送信される。
チャネル番号ch3〜chNの各チャネルについても、上述と同様にして、そのチャネルが有効か無効に応じた処理(待機処理を含む)が実行される。
チャネル番号chNのチャネルのためにチャネル処理割当時間を計時していたタイマ11のタイマ値がMmaxに対して図示しない次のクロックによって0にリセットされると、送信パケット間隔制御部14は、今までチャネル処理割当時間を計時していたチャネルが最大チャネル番号chNのチャネルであることに基づき、タイマ11に調整時間の計時を指示し、これにより、調整時間が計時される。
調整時間の計時が満了したときには、タイマ11がリセットされ、また、満了したことがタイマ11から直接、若しくは、送信パケット間隔制御部14を介して、装置管理部12に通知され、装置管理部12からの有効チャネル情報のチャネル番号がch0のチャネルに係る情報に更新される。
これにより、上記と同様にして、チャネル番号ch0のチャネルの処理が起動され、これ以降も、チャネル処理割当時間を周期とし、チャネル番号ch1〜chNの各チャネルの処理が順次起動される。
同一チャネルについては、パケット送信間隔毎に、チャネル処理が起動されるので、そのチャネルに係るIPパケットは、パケット送信間隔で、IPネットワーク2に向けて送信される。
(A−3)第1の実施形態の効果
第1の実施形態によれば、タイマ値が一巡する時間であるチャネル処理割当時間毎に、順次、各チャネルにチャネル処理を割り当てるようにしたので、チャネル処理を割り当てるための構成や処理を簡易なものとすることができる。因みに、上述した特許文献2の記載技術の場合、基本同期信号を基準に一定位相差の同期信号とイネーブル信号から送信タイミングを生成しており、イネーブル信号を利用しているため、構成や処理が複雑になっていた。
また、パケット送信間隔に、挿入可能なチャネル処理割当時間の数に等しい多くのチャネルについて、IPパケットの生成、送信を行うことができる。ここで、VoIP化処理と、それに継続して直ちに実行されるパケット化処理とを併せて、チャネル処理とするようにしたので、VoIP化処理の終了後、パケット化処理の開始前の待機時間は存在せず、チャネル処理時間を短いものとできる。チャネルの種類等で異なる複数のチャネル処理時間の中で最長のチャネル処理時間をチャネル処理割当時間としても、上述した待機時間が存在しないためそれなりに短い時間となり、多くのチャネルについてIPパケットの生成、送信を行うことができる。
有効な各チャネルについて、IPパケットの送信間隔は、予め定められているパケット送信間隔となり、IPパケットの送信に揺らぎは発生しない。
(A−4)第1の実施形態の変形実施形態
上述した第1の実施形態の説明においても変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
図4は、1パケット送信間隔内のN+1のチャネル処理割当時間に対し、チャネル番号がch0のチャネルからchNのチャネルへ、順次、割り当てる場合を示したが、このように単純に割り当てる場合であれば、チャネル処理順番生成部13を省略し、処理を起動するチャネルの順番を、送信パケット間隔制御部14が制御するようにしても良い。
図4は、1パケット送信間隔内のN+1のチャネル処理割当時間(この段落においてはタイムスロットSL0〜SLNと呼ぶ)に対し、チャネル番号がch0のチャネルからchNのチャネルへ、順次、割り当てる場合を示したが、各タイムスロットに対するチャネルの割当ては、図4の割当方法に限定されるものではない。例えば、通話路が切断されたチャネルについて割り当てられたタイムスロットは開放する。新たに通話路が確立されたチャネルについては、開放されているタイムスロットのうち、最も、タイムスロットSL0に近いタイムスロット(タイムスロットSL0そのものであっても良い)を割り当てる。このようにした場合、有効なチャネルが、1パケット送信間隔内の先頭側に集まるようになる。また例えば、全ての有効チャネルをタイムスロットSL0寄りに固めるようにしても良い。
上記では、調整時間の確保もタイマ11による計時を利用する場合を説明したが、調整時間を確保できるのであれば、他の方法を適用するようにしても良い。例えば、タイマ11とは異なる別個のタイマ(この段落において第2のタイマと呼ぶ)を設け、第2のタイマがパケット送信間隔を繰り返し計時するものとする。すなわち、タイマ11がチャネルchNのチャネル処理割当時間の計時を満了したときに計時を停止し、第2のタイマが前回のパケット送信間隔の計時を終了したときにタイマ22の計時を再開し、タイマ11の停止時間が調整時間となるようにしても良い。
第1の実施形態では、パケット送信間隔(例えば10ms)と、各チャネルについてのチャネル処理の起動周期とが同じ場合を示したが、各チャネルについてのチャネル処理の起動周期が、パケット送信間隔と異なるようにしても良い。図5は、このような変形実施形態の説明図である。この変形例の場合、タイマ11(図2参照)は、タイマ値が0〜Mmax/2の範囲で自走するものであり、チャネル処理の起動周期は図4の場合の半分である。例えば、パケット送信間隔が10msであれば、チャネル処理の起動周期は5msである。そのため、VoIP化・パケット化処理部16は、1回目の起動によるチャネル処理時間内ではそのチャネルに係るIPパケットの生成までを行うことができず、2回目の起動によるチャネル処理で前回の処理の続きを行うことがIPパケットを生成して送出することができる。すなわち、2回の起動毎(従って、周期はパケット送信間隔に等しい)に1個のIPパケットを送信する。なお、1回目の起動によるチャネル処理の時間が経過したときには、VoIP化・パケット化処理部16は、その旨を表す内蔵するフラグをセットしたり、処理途中のデータを内部の所定領域に退避したりすることを行い、また、2回目の起動によるチャネル処理では、VoIP化・パケット化処理部16は、フラグをリセットしたり、退避したデータを読み出してその続きのチャネル処理を再開したりする。
図5における前半の5msにおいて、1回目のチャネル処理を行うチャネルと、2回目のチャネル処理を行うチャネルとが混在していても良く、この場合、図5における後半の5msでは、前半の5msで1回目のチャネル処理が実行されたチャネルについては2回目のチャネル処理が実行され、前半の5msで2回目のチャネル処理が実行されたチャネルについては1回目のチャネル処理が実行される。
(B)第2の実施形態
次に、本発明によるゲートウェイ装置及びプログラムの第2の実施形態を、図面を参照しながら説明する。
(B−1)第2の実施形態の構成
図6は、第2の実施形態のゲートウェイ装置10Aにおける特徴的なVoIP化・パケット化処理構成を示すブロック図であり、第1の実施形態に係る図2との同一、対応部分には同一、対応符号を付して示している。
図6において、第2の実施形態のゲートウェイ装置10Aも、タイマ11A、装置管理部12、チャネル処理順番生成部13、送信パケット間隔制御部14A、PSTNデータバッファ部15及びVoIP化・パケット化処理部16を有する。
第2の実施形態のゲートウェイ装置10Aは、タイマ11A及び送信パケット間隔制御部14Aが第1の実施形態のものと異なっている。
第2の実施形態のタイマ11Aも、VoIP化・パケット化処理のために各チャネルに割り当てる一定時間を計時するものであるが、計時する一定時間が第1の実施形態のタイマ11とは異なっている。第1の実施形態のタイマ11は、タイマ値を0〜Mmaxの範囲で巡回させるものであるが、第2の実施形態のタイマ11Aは、タイマ値を0〜Mminの範囲で巡回させるものである。
上述したように、チャネルの種類(音声通信、FAX通信、付加サービスの有無等)等によってチャネル処理(VoIP化処理及びパケット化処理)の時間は異なる。第1の実施形態の場合、複数のチャネル処理時間の中で、最も長いチャネル処理時間(若しくはそれより僅かに長い時間)をタイマ11が自走する周期0〜Mmaxとしていた。
この第2の実施形態の場合、最も短いチャネル処理時間(若しくはそれより僅かに長い時間;以下、これら時間を最短チャネル処理時間と呼ぶ)をタイマ11Aが自走する周期0〜Mminとしている。
そのため、最短チャネル処理時間より長いチャネル処理時間のチャネルでは、タイマ11Aの1周期では処理が終わらないことになる。この点を補償すべく、送信パケット間隔制御部14Aが、第1の実施形態のものから変更されている。
第2の実施形態の送信パケット間隔制御部14Aは、チャネル処理待ちキュー17及び処理中フラグ18を備える。
チャネル処理待ちキュー17は、タイマ11Aの計時に基づけばチャネル処理を起動しても良いが、前に起動されたチャネルのチャネル処理が終了していないために起動を待機するチャネル情報をキューイングしておくものである。
処理中フラグ18は、VoIP化・パケット化処理部16に対してチャネル処理を起動したときにセットされ、VoIP化・パケット化処理部16において起動したチャネル処理が終了してIPパケットが返信されたときにリセットされるフラグである。
送信パケット間隔制御部14Aは、チャネル処理待ちキュー17及び処理中フラグ18を利用しながら、VoIP化・パケット化処理部16のチャネル処理を適宜起動し、チャネル処理によって得られたIPパケットを取込んでIPネットワーク2側に送信する。送信パケット間隔制御部14Aによる制御の詳細については、後述する動作の項の説明で明らかにする。
(B−2)第2の実施形態の動作
次に、第2の実施形態のゲートウェイ装置10Aにおける特徴的な動作について説明する。
最初に、送信パケット間隔制御部14Aの制御動作を説明する。送信パケット間隔制御部14Aの制御動作は、大きくは、タイマ11Aのタイマ値が自走時の最大値Mminから0に変化し、新たな最短チャネル処理時間の計時に移行したときに起動される制御動作と、VoIP化・パケット化処理部16からIPパケットが与えられたときの制御動作とに分けることができる。
まず、前者の制御動作を、図7のフローチャートを参照しながら説明し、その後、後者の制御動作を、図8のフローチャートを参照しながら説明する。
図7は、タイマ11Aのタイマ値が自走により0に変化したときに開始される処理を示すフローチャートである。
送信パケット間隔制御部14Aは、タイマ11Aのタイマ値が自走により0に変化したときには、図7に示す処理を開始し、チャネル処理順番生成部13から与えられた新たな処理順番のチャネルが有効チャネルか否かを判別する(ステップ100)。
新たな処理順番のチャネルが無効チャネルであれば、送信パケット間隔制御部14Aは、図7に示す一連の処理を直ちに終了する。
一方、新たな処理順番のチャネルが有効チャネルであれば、送信パケット間隔制御部14Aは、処理中フラグ18がセットされているか否かを判別する(ステップ101)。
処理中フラグ18がセットされていれば、送信パケット間隔制御部14Aは、チャネル処理待ちキュー17に、今回の有効チャネル情報を追加して(ステップ102)、図7に示す一連の処理を終了する。
これに対して、処理中フラグ18がリセットされていれば、送信パケット間隔制御部14Aは、VoIP化・パケット化処理部16に今回の有効チャネル情報を与えて、そのチャネルの処理を起動させ(ステップ103)、その後、処理中フラグ18をセットして(ステップ104)、図7に示す一連の処理を終了する。
図8は、VoIP化・パケット化処理部16からIPパケットが与えられたときに開始される処理を示すフローチャートである。
送信パケット間隔制御部14Aは、VoIP化・パケット化処理部16からIPパケットが与えられたときには、図8に示す処理を開始し、与えられたIPパケットをIPネットワーク2に向けて送信すると共に(ステップ200)、処理中フラグ18をリセットする(ステップ201)。
その後、送信パケット間隔制御部14Aは、チャネル処理待ちキュー17にキューイングされているチャネル情報があるか否かを判別する(ステップ202)。キューイングされているチャネル情報がなければ、送信パケット間隔制御部14Aは、図8に示す一連の処理を直ちに終了する。一方、キューイングされているチャネル情報があれば、送信パケット間隔制御部14Aは、先頭のチャネル情報を取出してVoIP化・パケット化処理部16によるそのチャネルのチャネル処理を起動し(ステップ203)、処理中フラグ18をセットして(ステップ204)、図8に示す一連の処理を終了する。
図9は、第2の実施形態における各部のタイミングチャートを表形式で示したものである。図9は、タイマ11Aのタイマ値が0〜Mminで変化する時間を単位として、各部の信号や情報を示したものである。
図9の1行目は、タイマ11Aのタイマ値の変化を示している。2行目及び3行目は、装置管理部12から出力される有効チャネル情報を表しており、2行目はチャネル番号を表し、3行目はチャネルの有効又は無効を表しており、2行目及び3行目の情報の組が有効チャネル情報を構成している。4行目は、送信パケット間隔制御部14AがVoIP化・パケット化処理部16によるチャネル処理を起動したチャネルの番号を示しており、5行目は、その処理の結果、得られた送信されるIPパケットに係るチャネル番号を示している。
図9は、チャネル番号ch0、ch1、ch3のチャネルが有効チャネルであり、チャネル番号ch3のチャネルはチャネル処理時間が最短のチャネルであり、チャネル番号ch0及びch1のチャネルはチャネル処理時間が最短チャネル処理時間より長いチャネルである。
タイマ11Aのタイマ値が0にリセットされ、有効チャネル情報に係るチャネルがチャネル番号ch0のチャネルになったとする。チャネル番号ch0のチャネルは、有効チャネルであり、この時点ではチャネル処理待ちキュー17は空であり、処理中フラグ18はセットされていないので、送信パケット間隔制御部14Aは、VoIP化・パケット化処理部16にチャネル番号ch0のチャネルの処理を起動する。
チャネル番号ch0のチャネルは、チャネル処理時間が最短チャネル処理時間より長いチャネルであるので、タイマ11Aのタイマ値が0に再度リセットされたときにはチャネル処理が終了しておらず、VoIP化・パケット化処理部16が、IPパケットを送信パケット間隔制御部14Aに返信するのは、今回のリセット時点より遅い時点である。
今回のリセット時点において、有効チャネル情報に係る新たなチャネルがチャネル番号ch1のチャネルになったとする。チャネル番号ch1のチャネルは、有効チャネルであり、この時点ではチャネル処理待ちキュー17は空であるが、処理中フラグ18はセットされているので、送信パケット間隔制御部14Aは、チャネル処理待ちキュー17にチャネル番号ch1のチャネル情報をキューイングする。
チャネル番号ch0のチャネルの処理を満了し、VoIP化・パケット化処理部16がIPパケットを送信パケット間隔制御部14Aに返信すると、送信パケット間隔制御部14Aは、そのIPパケットをIPネットワーク2側へ送信した後、チャネル処理待ちキュー17の状態を確認する。このとき、チャネル処理待ちキュー17にはチャネル番号ch1のチャネル情報がキューイングされているので、送信パケット間隔制御部14Aは、キューを取出して、VoIP化・パケット化処理部16にチャネル処理を指示する。
チャネル番号ch1のチャネルの処理が起動された時点は、タイマ11Aのタイマ値が0にリセットされた時点より遅く、また、チャネル番号ch1のチャネル処理時間は最短チャネル処理時間より長いので、タイマ11Aのタイマ値が次に0にリセットされたときにチャネル処理が終了していない。
このリセット時点において、有効チャネル情報に係る新たなチャネルがチャネル番号ch2のチャネルになったとする。チャネル番号ch2のチャネルは、無効チャネルであるので、送信パケット間隔制御部14Aは何らの制御も実行しない。
チャネル番号ch1のチャネルの処理を満了し、VoIP化・パケット化処理部16がIPパケットを送信パケット間隔制御部14Aに返信すると、送信パケット間隔制御部14Aは、そのチャネル番号ch1のチャネルに係るIPパケットをIPネットワーク2側へ送信した後、チャネル処理待ちキュー17の状態を確認する。このときには、チャネル処理待ちキュー17は空であるので、送信パケット間隔制御部14Aは処理の待機状態に戻る。
このような状況において、タイマ11Aが再びリセットされたとする。このときの有効チャネル情報に係るチャネルがチャネル番号ch3のチャネルになったとする。チャネル番号ch3のチャネルは、有効チャネルであり、この時点ではチャネル処理待ちキュー17は空であり、処理中フラグ18はセットされていないので、送信パケット間隔制御部14Aは、VoIP化・パケット化処理部16にチャネル番号ch3のチャネルの処理を起動する。
以上のように、タイマ11Aのタイマ値の一巡時間を最短チャネル処理時間に選定したため、タイマ11Aがリセットされたときに、前のタイミングで起動されたチャネル処理が終了していないことがあるが、無効チャネルがチャネルの処理順番に含まれているため、その後側へのずれを無効チャネルの割当区間で吸収することができる。
なお、第2の実施形態でも、パケット送信間隔毎に調整時間が設けられている。第2の実施形態の場合、この調整時間は無効チャネル時間と同様に機能する時間にもなっている。そのため、第2の実施形態の調整時間は、第1の実施形態における調整時間より長めに選定しておくことが好ましい。
調整時間が満了した場合には、チャネル番号がch0のチャネルから順に、上述したと同様な処理が実行される。
図9では、最短チャネル処理時間より長いチャネル処理時間を要するチャネルの方が最短チャネル処理時間を要するチャネルより多いように記述しているが、実際上は、この逆であることがほとんどである。すなわち、収容しているN+1チャネルの大半が付加サービスを伴わない音声通信であり、付加サービスを伴い音声通信やFAX通信等の特殊な通信のチャネルは少ないことが一般的である。
(B−3)第2の実施形態の効果
第2の実施形態によっても、タイマ値が一巡する時間毎に、順次、各チャネルにチャネル処理を割り当てるようにしたので、チャネル処理を割り当てるための構成や処理を簡易なものとすることができる。
ここで、第2の実施形態の場合、タイマ値が一巡する時間を、チャネルの種類等によって異なる複数のチャネル処理時間の中の最も短い時間に選定しているため、当該ゲートウェイ装置10Aに収容し得るチャネル数を、最も長い時間に選定している第1の実施形態に比較して多くすることができる。
例えば、パケット送信間隔(=チャネル化周期)が10msであって、基本音声通信(基本音声呼)のチャネル処理時間が100μsであり、付加サービスの処理が基本的な処理の20%程度であって、付加サービスを伴う音声通信(付加サービス呼)のチャネル処理時間が120μsである場合(他の種類のチャネルがないとする)、第1の実施形態の場合、83チャネル(≒10ms÷120μs)が収容可能なのに対して、第2の実施形態の場合、96チャネル(100μsチャネル処理時間のチャネルが80チャネル、120μsチャネル処理時間のチャネルが16チャネルの計96チャネル)が収容可能である。
上述のようにタイマ値が一巡する時間を最も短いチャネル処理時間に合わせた場合、それよりチャネル処理時間を要するチャネルの処理があった場合、直後のチャネルの割当タイミングが遅れることも生じるが、無効チャネルの存在や調整時間を設けたことにより、それまでの遅延の累積を解消するので、遅延が問題となることはない。
また、付加サービスを伴わない音声通信を行っていたチャネルが付加サービスを伴うように変化したり、その逆の変化がしたりした場合、チャネル処理時間が切り替わるが、その切替時にパケット送信間隔がジャンプするが、それ以降は一定のパケット送信間隔を確保でき、このような変化は揺らぎというほどのものではなく、ネットワークでの揺らぎに比較して、無視できるレベルである。
(B−4)第2の実施形態の変形実施形態
上述した第1の実施形態についての変形実施形態の技術思想のうち、第2の実施形態に適用可能なものは、第2の実施形態についての変形実施形態となる。
上記第2の実施形態では、チャネル処理待ちキュー17及び処理中フラグ18を送信パケット間隔制御部14Aに設け、チャネル処理中に、他のチャネルの処理を起動するタイミングを知らせるタイマ11Aのタイマ値のリセットがあっても、処理中のチャネル処理の終了を待って、VoIP化・パケット化処理部16の処理を起動するものを示した。これに代え、チャネル処理待ちキュー17及び処理中フラグ18をVoIP化・パケット化処理部(16A)の入力段に設け、送信パケット間隔制御部(14)は、タイマ11Aのタイマ値がリセットされたときに、直ちに、チャネル処理の起動を指示するようにしても良い。
上記第2の実施形態では、タイマ11Aのタイマ値の一巡時間を、複数のチャネル処理時間の中の最短時間に選定していたが、最長時間でない他のチャネル処理時間をタイマ11Aのタイマ値の一巡時間に選定するようにしても良い。例えば、チャネル処理時間の種類が3種類の場合に、中間のチャネル処理時間をタイマ11Aのタイマ値の一巡時間に選定するようにしても良い。第1の実施形態に比較して収容可能なチャネル数を増大でき(但し、第2の実施形態に比較して収容可能なチャネル数は少なくなる)、第2の実施形態に比較して、チャネル処理の起動を待ち受ける時間(開始の遅延時間)を少なくすることができる。
(C)他の実施形態
上記各実施形態では、各チャネルのPSTNデータに対してVoIP化・パケット化処理する装置を示したが、処理するデータは電話通信のデータに限定されず(音声に限定されない)、入力データから送信パケットを得るまでの処理時間がチャネルによって異なる装置であれば、本発明の技術思想を適用することができる。