本発明の実施例について添付の図面を参照しつつ詳細に説明する。
<第1の実施例>
図2は、本発明の第1の実施例を示し、冗長化ゲートウェイシステムの全体構成を示している。ここで、冗長化ゲートウェイシステムは、電話網700とパケットネットワーク800との間に接続されて相互間の電話通信を可能とするシステムであって、冗長多重構成されたゲートウェイ装置100及びゲートウェイ装置200と、TDM交換部300と、制御部400と、2つのパケットネットワークインタフェース部500及び600とから構成されている。
制御部400は、TDM交換部300、ゲートウェイ装置100及びゲートウェイ装置200にそれぞれ接続され、これら各部の動作を制御する。制御部400は、また、システム障害または保守業務のために系切替要求が発生した場合に、外部からの操作指令または障害検知に基づく自動処理により、TDM交換部300、ゲートウェイ装置100及びゲートウェイ装置200に系切替信号を送出し、ゲートウェイ装置100及びゲートウェイ装置200の各々を運用系または予備系の何れかに択一的にその動作を変更する。制御部400が生成する制御信号には、ゲートウェイ装置100及びゲートウェイ装置200の音声処理等の各部に設定情報や動作契機すなわち動作タイミングを与える制御コマンド(以下、コマンドと略称する)を含む。例えば、パケット処理に対するコマンドとして、パケット化周期(5ms/10ms/20ms等の値)や宛先情報(宛先MACアドレス及びIPアドレス)等のパラメータを含む宛先情報設定コマンドがある。音声処理部へのコマンドとして、エコーキャンセラ動作(ON/OFF)パラメータを含む音声処理設定コマンドや、通話開始や通話終了に基づく音声処理開始コマンド及び音声処理停止コマンドがある。
TDM交換部300は、電話網700に接続されてその網伝送方式を終端し、電話網700上のTDM信号をゲートウェイ装置100及びゲートウェイ装置200との双方との間で送受信する。TDM交換部300はタイミング信号生成部301を含む。タイミング信号生成部301は、複数のゲートウェイ装置100及び200の双方に共通して、それぞれの音声処理を含む各処理に基準タイミングを与える共通タイミング信号s1を生成し、これをゲートウェイ装置100及びゲートウェイ装置200の両系の各部に常に供給する。共通タイミング信号s1は、例えば電話網700から供給されるTDM信号に同期した信号とし、TDM信号のフレームクロック周期の整数倍周期、例えば5〜20msとすることが想定される。
パケットネットワークインタフェース部500及びパケットネットワークインタフェース部600はパケットネットワーク800に接続されている。パケットネットワークインタフェース部500は受信パケット交絡線PLを介してパケット処理部208に接続され、パケットネットワークインタフェース部600は受信パケット交絡線PLを介してパケット処理部108に接続されている。これにより、ゲートウェイ装置100とゲートウェイ装置200との間でパケットネットワーク800上で伝送されるパケットの複製データを交換可能とする。
音声処理部107と音声処理部207は、音声処理情報の授受のために、交絡線SPを介して接続されている。これにより、新たに予備系ゲートウェイ装置として組み込まれた装置に動作中の運用系ゲートウェイ装置からエコーキャンセラの状態変数に代表される音声処理情報を供給可能とする。
ゲートウェイ装置100及びゲートウェイ装置200は同じ機能構成を備える。すなわち、ゲートウェイ装置100は、制御インタフェース部101と、コマンド受信部102と、コマンドキュー103と、コマンド送受信部104と、コマンド処理部105と、TDM処理部106と、音声処理部107と、パケット処理部108とから構成され、ゲートウェイ装置200は、制御インタフェース部201と、コマンド受信部202と、コマンドキュー203と、コマンド送受信部204と、コマンド処理部205と、TDM処理部206と、音声処理部207と、パケット処理部208とから構成されている。ゲートウェイ装置100及びゲートウェイ装置200が同じ機能構成を備えることから、ゲートウェイ装置100とゲートウェイ装置200とが互いに他を代替し得る冗長構成が実現される。
図3は、図2に示したゲートウェイ装置の機能構成を拡大して示している。本図では、説明の容易性からゲートウェイ装置100及び200を便宜的に1つの構成図で示している。制御部400からの制御信号が、ゲートウェイ装置100及びゲートウェイ装置200の制御インタフェース部101及び制御インタフェース部201にそれぞれ供給されている。制御インタフェース部101及び制御インタフェース部201は、制御部400からの制御信号からコマンドを検知してこれを取り出すコマンド受信部102及びコマンド受信部202にそれぞれ接続されている。コマンド受信部102及びコマンド受信部202は、取り出されたコマンドが待ち行列状に一時的に蓄積され且つ先入れ先出し方式で順番に読み書きされるコマンドキュー103及びコマンドキュー203にそれぞれ接続されている。コマンドキュー103及びコマンドキュー203は、コマンド処理部105及びコマンド処理部205とコマンド送受信部104及びコマンド送受信部204にそれぞれ接続されている。コマンド処理部105及びコマンド処理部205は、TDM処理部106及びTDM処理部206と、音声処理部107及び音声処理部207と、パケット処理部108及びパケット処理部208とにそれぞれ接続されている。コマンド送受信部104及びコマンド送受信部204は、系間でコマンドを送受信するために相互に接続されている。
TDM交換部300のタイミング信号生成部301が生成する共通タイミング信号s1がTDM処理部106及びTDM処理部206と、音声処理部107及び音声処理部207と、コマンド処理部105及びコマンド処理部205と、コマンド送受信部104及びコマンド送受信部204とに供給されている。TDM処理部106及びTDM処理部206は、TDM信号を送受信するためにTDM交換部300に接続されている。パケット処理部108及びパケット処理部208は、パケットを送受信するためにパケットネットワークインタフェース部500及びパケットネットワークインタフェース部600にそれぞれ接続されている。
ゲートウェイ装置100及びゲートウェイ装置200におけるTDM処理部106及びTDM処理部206と、音声処理部107及び音声処理部207と、パケット処理部108及びパケット処理部208とは、共通タイミング信号s1に共に同期しつつ、内蔵バッファ(図示せず)に対する書込みポインタWP及び読み出しポインタRP、並びにパケットのタイムスタンプ値TS及びシーケンスナンバーSNを交換している。また、パケット処理部108及びパケット処理部208は、共通タイミング信号s1に共に同期しつつ、受信パケット交絡線PLを介して互いに複製されたパケットを交換している。かかる構成によって、ゲートウェイ装置100及びゲートウェイ装置200とは、TDM信号又はパケットによって搬送される音声データに対して同時多重化された同一処理を行い、さらに系切替時に音声データの無瞬断切替を実現する。音声データの無瞬断切替については特許文献1に開示される動作を本実施例においても実施することで実現される。
ゲートウェイ装置100とゲートウェイ装置200は、冗長構成されており、通常、何れか一方を運用系とし他方を予備系とする運用が行われる。以下、ゲートウェイ装置100を運用系としゲートウェイ装置200を予備系とした場合に、両系間で異なる動作をする機能についてさらに説明する。
制御部400は、運用系ゲートウェイ装置100に対して、TDM処理部106、音声処理部107またはパケット処理部108を制御するためのコマンドを含む制御信号を出力する。制御部400は、予備系ゲートウェイ装置200に対しては制御信号を出力しない。
運用系ゲートウェイ装置100の制御インタフェース部101は、制御部400からの制御信号を終端し、これをコマンド受信部102に出力する。コマンド受信部102は、制御部400の制御信号からコマンドを検出して取り出し、これをコマンドキュー103に出力する。コマンドキュー103は受信したコマンドを待ち行列状に一時的に蓄積する。コマンドキュー103は、さらに、蓄積していたコマンドを、後述する所定のタイミングに従ってコマンド処理部105に出力すると共に、併せてコマンド送受信部104に出力する。コマンド処理部105は、コマンドキュー103から出力されたコマンドの内容を解析し、解析結果に応じてTDM処理部106、音声処理部107またはパケット処理部108に当該コマンドを出力する。コマンド送受信部104は、自系が運用系であることから、運用系に供給された全てのコマンドの複製を生成し、これを予備系ゲートウェイ装置200に向けて出力する。これにより、冗長系ゲートウェイシステムの全系に亘ってコマンドが共通化されることになる。
予備系ゲートウェイ装置200のコマンド送受信部204は、運用系ゲートウェイ装置100から送信されたコマンドすなわち複製されたコマンドを受信し、自系のコマンド処理部205に出力する。コマンド処理部205は、自系が予備系であることから、自系のコマンドキュー203からのコマンドを選択せずに、コマンド送受信部204からのコマンドを選択してこれを解析し、解析結果に応じてTDM処理部206、音声処理部207またはパケット処理部208に当該コマンドを出力する。
以上の機能構成により、TDM処理部106及びTDM処理部206、音声処理部107及び音声処理部207、並びにパケット処理部108及びパケット処理部208において、同じ内容のコマンドが同じタイミングにて供給されて処理されることになる。
図4A及び図4Bは、第1の実施例における動作手順を示し、図4Aは、ゲートウェイ装置100を運用系ゲートウェイ装置とし、ゲートウェイ装置200を予備系ゲートウェイ装置とした場合を示し、図4Bは、操作指令に基づいて系切替が発生し、ゲートウェイ装置200を運用系ゲートウェイ装置とし、ゲートウェイ装置100を予備系ゲートウェイ装置とした場合を示している。両図において横軸は時間であって、共通タイミング信号s1の1周期を単位時間とし、各単位時間の始点をt0〜t5で示している。
音声処理部107及び音声処理部207は、共通タイミング信号s1の1周期を単位時間として、この期間のうちのコマンド処理期間及び音声処理期間内に、入力されたコマンドに対するコマンド処理と音声処理を完了する動作を行う。時刻t1からのコマンド処理と音声処理は時刻tαで完了し、同様に時刻t2からのコマンド処理と音声処理は時刻tβで完了し、時刻t3からのコマンド処理と音声処理は時刻tγで完了し、t4からのコマンド処理と音声処理は時刻tδで完了する。
図4Aを参照すると、時刻t1から時刻t2間において、新たなコマンドとして5個のコマンドC1、C2、C3、C4、C5が制御部400から運用系ゲートウェイ装置100に出力されたとする。制御部400は一般的にソフトウェア処理で実行されることから、コマンドの出力タイミングは共通タイミング信号s1に対して非同期である。
時刻t1から時刻tα間に、音声処理部107及び音声処理部207が以前のコマンド処理と音声処理を完了する。一方この時刻tαまでに、新たなコマンドのうちで4個のコマンドC1、C2、C3、C4がコマンドキュー103に入力されて蓄積されている。コマンドC1〜C4は、次の時刻t2と時刻t3との間においてコマンド処理及び音声処理されるべきコマンドである。
そこで時刻t2以前に、コマンドC1〜C4は、コマンドキュー103から運用系ゲートウェイ装置100のコマンド処理部105に一括して出力されると同時に、コマンド送受信部104に出力され予備系ゲートウェイ装置200に向けて一括してコマンド転送される。転送されたコマンドC1〜C4は予備系のコマンド送受信部204に入力される。
時刻t2において、コマンド処理部105は音声処理部107にコマンドC1〜C4を出力する。同時に時刻t2において、予備系のコマンド送受信部204は、入力されたコマンドC1〜C4をコマンド処理部205に出力し、コマンド処理部205はコマンドC1〜C4を音声処理部207に出力する。以上の動作によって、両系の音声処理部107及び音声処理部207は、時刻t2においてコマンドC1〜C4に対応する音声処理を共通して行うことが可能となる。
例として、コマンドC1〜C3を音声処理に必要なパラメータ設定コマンドとし、コマンドC4を音声処理開始を指示するコマンドであるとする。時刻t2において、音声処理部107及び音声処理部207はコマンドC1〜C3によって指示されたパラメータの設定を行い、次にコマンドC4に応じてこれを契機として音声処理を開始する。ここで、音声処理部107及び音声処理部207は、共通タイミング信号s1を共通のタイミングとして動作していることから、両系でコマンドC4への対応に若干のずれが有ったとしても両系で同期した同じタイミングから音声処理を開始することが可能である。これにより、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200の音声処理状態が完全に一致される。
尚、時刻tα以後に、制御部400から出力されたコマンドC5は、時刻t3から時刻t4間において処理されるべきコマンドとして扱われる。従って、コマンドC5は、時刻t2においてコマンドキュー103に蓄積されているにも関わらず、時刻t2においてはコマンド処理部105によってコマンドキュー103から読み出されず、時刻t3において読み出される。すなわち、時刻t3から時刻t4間の音声処理期間内でコマンド処理されるべきコマンドの蓄積期間は、時刻tαからtβの期間であって、共通タイミング信号s1に同期した期間となる。
次に図4Bを参照して、運用系ゲートウェイ装置100を新たに予備系とし予備系ゲートウェイ装置200を新たに運用系とする系切替が実行される場合について説明する。
時刻t3において系切替が行われた場合、以前の時刻t2から時刻t3間において制御部400が旧運用系のゲートウェイ装置100に出力したコマンドC8がゲートウェイ装置100のコマンドキュー103に蓄積されたまま残っている。コマンドC8に対するコマンド処理に漏れがないようにする必要がある。
そこで、時刻t4以前において、予備系となったゲートウェイ装置100はなお運用系の如く動作する。すなわち、ゲートウェイ装置100は、コマンドC8をコマンドキュー103からゲートウェイ装置100のコマンド処理部105に出力すると同時に、コマンド送受信部104に出力して新たな運用系ゲートウェイ装置200に向けてコマンド転送する。以上の如く、コマンドC8に対して、ゲートウェイ装置100はなお運用系の如く処理し、ゲートウェイ装置200はなお予備系の如く処理する。この変則したコマンド供給動作は切替時(t3)直後の1周期(時刻t3〜時刻t4)にわたる。
一方、時刻t3から時刻t4間において、運用系となったゲートウェイ装置200が制御部400からのコマンドC9〜C11を受信してコマンドキュー203に蓄積する。運用系となったゲートウェイ装置200は、系切替が実施された直後の時刻t3から時刻t4期間に受信したコマンドは、旧運用系のゲートウェイ装置100が受信したコマンドに対する上記した変則動作を保証するために、時刻t4で処理することなく次の時刻t5で処理する。時刻t5以後、ゲートウェイ装置100及び200の各々は運用系又は予備系として図4Aに示した定常の動作を行う。以上の動作により系切替後においても運用系ゲートウェイ装置200と予備系ゲートウェイ装置100の音声処理状態を完全に一致させることが可能となる。
以上のように第1の実施例において、運用系ゲートウェイ装置と予備系ゲートウェイ装置は、共通タイミング信号に同期した蓄積期間毎に、制御部から運用系ゲートウェイ装置に出力されるコマンドを運用系ゲートウェイ装置で一時的に蓄積し、当該蓄積期間の終了毎の待機期間に蓄積していたコマンドを自系音声処理部に一括して出力すると同時に、冗長系にある予備系ゲートウェイ装置に対してその複製したコマンドを一括して転送している。これにより、コマンドが両系に同報供給され、予備系ゲートウェイ装置においても運用系ゲートウェイ装置と同じタイミングすなわち同一順序で同じコマンドを音声処理部に出力することを可能となり、エコーキャンセラ等の音声処理においても音声処理状態の一致を含む完全な同期が可能となる。
次に、2重化構成のための予備系ゲートウェイ装置を運用系ゲートウェイ装置の動作中に組み込んだ場合や、N+1重化構成にある予備系ゲートウェイ装置に、新たに冗長構成対象とする運用系ゲートウェイ装置を割当てた場合の予備系ゲートウェイ装置の音声処理状態を運用系ゲートウェイ装置の音声処理状態に一致させるための実施例について詳細に説明する。
図7Aは、ゲートウェイ装置100を運用系とし、ゲートウェイ装置200を予備系として組込む場合に、待機期間において、ゲートウェイ装置で処理する全ての音声チャネルの音声処理情報とコマンドを供給する動作を示している。
ここに音声処理情報とは、運用系ゲートウェイ装置100と、予備系ゲートウェイ装置として組込まれるゲートウェイ装置200の音声処理状態を一致させるためのデータであり、処理チャネルの設定情報や呼処理状態情報、運用系ゲートウェイ装置100で受信して揺らぎ吸収のために保存してある揺らぎ吸収バッファ内のデータ、エコーキャンセラの動作状態を示す状態変数、トーン出力位相情報などである。
例えば予備系ゲートウェイ装置は、組込み完了後、最適な音声処理状態とするためにエコーキャンセラの学習を行う。そこで、エコーキャンセラは連続したデータに対して処理を行うものであるから、通話途中から組込まれた後に音声処理を実施した予備系ゲートウェイ装置200と、通話開始時点から音声処理を実施している運用系ゲートウェイ装置100の間で、エコーキャンセラの状態変数が異なったものとなる。このように、組込み時にエコーキャンセラの状態変数を授受しない場合、冗長系間で完全に一致した音声処理状態とすることができなくなる。
図7Aでは、時刻t1からt2期間は運用系ゲートウェイ装置100による1重化動作をしている。時刻t2からt3期間において、予備系ゲートウェイ装置200が組込み開始され、運用系ゲートウェイ装置100の音声処理終了後の待機期間中に、音声処理情報が予備系ゲートウェイ装置200に供給されている。同様に、運用系ゲートウェイ装置100で未処理の時刻t3からt4の間に処理されるコマンドについても予備系ゲートウェイ装置200に供給されている。このように共通タイミングに同期した音声処理単位時間内に運用系ゲートウェイ装置100から予備系ゲートウェイ装置200に音声処理情報と未処理コマンドが供給されることにより、時刻t3時点で運用系ゲートウェイ装置100と予備系ゲートウェイ装置200の音声処理状態を一致させることが可能となり、時刻t3以降から、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200は同じ音声処理動作を実施することで、音声処理状態を完全に一致した動作とすることが可能となる。
ここに、音声処理単位時間とは、TDM処理される複数の音声処理チャネルの総てを処理する単位時間を意味する。図7Aの場合、時刻tβから時刻t3の1つの待機時間内に全チャネル分の音声処理情報が転送され、時刻tβから時刻tγの音声処理単位時間内で全チャネル分の音声処理が両系でなされる。すなわち、図7Aの場合、音声処理単位時間は共通タイミング信号の1周期に一致する。
ここに、運用系ゲートウェイ装置100から供給される音声処理情報のうち、パケットネットワーク800から受信する音声パケットについては、時刻t3に跨って受信するパケットや、時刻t2からt3間にパケット受信したものの、処理遅延時間の関係からt2からt3間の組込み中の音声処理情報として供給できないことがあるため、これを回避するために予備系ゲートウェイ装置200は、音声処理情報供給開始以前にパケット受信を可能としておく。
実際のハードウェア構成では、装置信頼性を考慮して、冗長系間の交絡信号線数は極力少なく抑えるように設計される。ゲートウェイ装置で処理する音声チャネル数が多い場合、予備系ゲートウェイ装置を組込む際に供給すべきデータ量は大容量となるが、昨今のインタフェース技術では毎秒数ギガビットの転送能力を有する高速シリアルI/Oが実現でき、これらのインタフェース技術を使って短時間で全チャネルの音声処理情報を供給することで実現可能である。
図7Bは、ゲートウェイ装置100を運用系とし、ゲートウェイ装置200を予備系として組込む場合に、待機期間において、ゲートウェイ装置で処理する全チャネルのうち組込むチャネルを限定し、複数回に分けて音声処理情報を供給する動作を示している。図7Bの例では、ゲートウェイ装置で処理する全チャネル数を24チャネルとし、音声処理単位時間内に8チャネルずつ、合計3回に分けて音声処理情報を供給している。
時刻t1からt2期間は運用系ゲートウェイ装置100による1重化動作をしている。時刻t2からt3期間において、予備系ゲートウェイ装置200が組込み開始され、運用系ゲートウェイ装置100の音声処理終了後の待機期間中に、チャネル0からチャネル7までの音声処理情報が予備系ゲートウェイ装置200に供給されている。同様に、運用系ゲートウェイ装置100で未処理の時刻t3からt4の間に処理されるコマンドについても予備系ゲートウェイ装置200に供給されている。このように共通タイミングに同期した音声処理単位時間内に運用系ゲートウェイ装置100から予備系ゲートウェイ装置200に音声処理情報と未処理コマンドが供給されることにより、時刻t3時点で運用系ゲートウェイ装置100と予備系ゲートウェイ装置200のチャネル0からチャネル7までの音声処理状態を一致させることが可能となり、時刻t3以降から、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200はチャネル0からチャネル7までは同じ音声処理動作を実施することで、音声処理状態を完全に一致した動作とすることが可能となる。
同様に、時刻t3からt4の間にチャネル8からチャネル15までの音声処理情報供給が完了し、t4時点でチャネル0からチャネル15までの音声処理状態を完全に一致させることが可能となり、時刻t4以降から、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200はチャネル8からチャネル15までは同じ音声処理動作を実施することで、音声処理状態を完全に一致した動作とすることが可能となる。
時刻t4からt5の間にチャネル16からチャネル23までの音声処理情報転送が完了し、t5時点でゲートウェイ装置の処理する全チャネルの音声処理状態を完全に一致させることが可能となる。時刻t5以降から、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200は全チャネルで同じ音声処理動作を実施することで、全チャネルの音声処理状態を完全に一致した動作とすることが可能となる。
ここに、運用系ゲートウェイ装置100から供給される音声処理情報のうち、パケットネットワーク800から受信する音声パケットについては、時刻t3に跨って受信するパケットや、時刻t2からt3間にパケット受信したものの、処理遅延時間の関係からt2からt3間の組込み中の音声処理情報として供給できないことがあるため、これを回避するために予備系ゲートウェイ装置200は、音声処理情報転送開始以前にパケット受信を可能としておく。
また、音声チャネルを順番に組込む途中で、予備系ゲートウェイ装置200においてまだ組込み完了していないチャネルに対するコマンドが制御部400から入力された場合は、運用系ゲートウェイ装置100でのみ処理するものとし、予備系ゲートウェイ装置200では未処理とする。以後、該当チャネルについては組込み時に、その時点までコマンド処理された結果が運用系ゲートウェイ装置100から予備系ゲートウェイ装置200に供給され、冗長系間の音声処理状態を完全に一致することが可能となる。
図7Bの実施例によれば、予備系ゲートウェイ装置200の組込み完了までの時間に余裕を持つことが可能なシステムにおいて、図7Aの実施例に比べて冗長系間の交絡信号線のインタフェースを低速化でき、より容易に実現できる。
図7Cは、ゲートウェイ装置100を運用系とし、ゲートウェイ装置200を予備系として組込む場合に、待機期間において、コマンドとゲートウェイ装置で処理する全チャネルの音声処理情報を時分割処理により音声処理単位時間内の音声処理を完了したチャネル毎に音声処理情報を順次供給する動作を示している。図7Cの例では、ゲートウェイ装置で処理する全チャネル数を24チャネルとして音声処理情報を供給している。
時刻t1からt2期間は運用系ゲートウェイ装置100による1重化動作をしている。時刻t2からt3期間において、予備系ゲートウェイ装置200が組込み開始され、運用系ゲートウェイ装置100において音声処理が完了したチャネルについて、順次音声処理情報を予備系ゲートウェイ装置200に供給している。時刻t3以降は、図7Aに示す例と同様の動作となり、音声処理状態を完全に一致することが可能となる。
図7Cの実施例によれば、待機期間を意識することなく音声処理情報を供給することが可能となるが、図7Aの実施例に比べて供給のためのオーバヘッドが増えることになる。
以上のように、2重化構成にある予備系ゲートウェイ装置を運用系ゲートウェイ装置の動作途中に組み込んだ場合や、N+1重化構成にある予備系ゲートウェイ装置に、新たに冗長構成対象とする運用系ゲートウェイ装置を割当てた場合において、共通タイミングに同期した音声処理単位時間内に音声処理情報を授受することで、運用系ゲートウェイ装置で処理中の音声チャネルにおける音声処理状態を運用系ゲートウェイ装置と予備系ゲートウェイ装置で完全に一致させることが可能となる。
<第2の実施例>
図5は、本発明の第2の実施例を示し、ゲートウェイ装置の機能構成を示している。本図を参照すると、ゲートウェイ装置100及び200の構成は、第1の実施例における構成にコマンドポインタ管理部109及びコマンドポインタ管理部209が追加され、コマンド送受信部104及びコマンド送受信部204をポインタ送受信部104及びポインタ送受信部204に置き換えた構成となっている。
コマンドポインタ管理部109及びコマンドポインタ管理部209内には、制御部400が更新したポインタ値を保存するメモリ109a及び209aと、コマンド処理部105及びコマンド処理部205並びにポインタ送受信部104及びポインタ送受信部204に転送されるべきポインタ値を保存するメモリ109b及び209bをそれぞれ含んでいる。このように、ポインタ値を保存するポインタメモリとして、更新用のメモリ109a及び209aと、転送用のメモリ109b及び209bとの2つのタイプのメモリが準備される。その目的は、制御部400におけるコマンドの出力タイミング及びポインタ値の更新タイミングは共通タイミング信号s1に対して非同期であることから、ポインタ値を系間で転送する途中でその値が制御部400からの更新されたポインタ値によって書き替えられてしまうのを防止することにある。
コマンドポインタ管理部109及びコマンドポインタ管理部209は、制御インタフェース部101及び制御インタフェース部201と、コマンド処理部105及びコマンド処理部205と、ポインタ送受信部104及びポインタ送受信部204とにそれぞれ接続され、タイミング信号生成部301から共通タイミング信号s1が供給されている。ポインタ送受信部104及びポインタ送受信部204は、コマンドポインタ管理部109及びコマンドポインタ管理部209にそれぞれ接続されている。ポインタ送受信部104とポインタ送受信部204は、運用系ゲートウェイ装置から予備系ゲートウェイ装置にポインタ値を転送するために相互に接続されている。
本第2の実施例は、第1の実施例と同様に、ゲートウェイ装置100とゲートウェイ装置200が冗長構成されており、通常、何れか一方を運用系とし他方を予備系とする運用が行われる。そこで、ゲートウェイ装置100を運用系としゲートウェイ装置200を予備系とした場合に、両系間で異なる動作をする機能についてさらに説明する。
制御部400からの制御信号は、第1の実施例と異なり、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200の双方に供給される。制御部400は、第1の実施例における機能に加えて、運用系ゲートウェイ装置100のコマンドキュー103と予備系ゲートウェイ装置200のコマンドキュー203との双方における蓄積アドレスすなわちポインタ値を全系に亘って共通化して管理し、ゲートウェイ装置に一連のコマンドを出力完了した時にポインタ値を更新し、更新したポインタ値を運用系ゲートウェイ装置100に出力する機能を備える。ポインタ値の更新タイミングは、例えば、設定コマンド〜開始コマンドの如き機能上のまとまり単位に行われる。
図6A及び図6Bは、第2の実施例における動作手順を示し、図6Aは、ゲートウェイ装置100を運用系ゲートウェイ装置とし、ゲートウェイ装置200を予備系ゲートウェイ装置とした場合を示し、図6Bは、操作指令に基づいて系切替が発生し、ゲートウェイ装置200を運用系ゲートウェイ装置とし、ゲートウェイ装置100を予備系ゲートウェイ装置とした場合を示している。両図において横軸は時間であって共通タイミング信号の各周期毎に反復する期間(t0〜t5)によって区分されている。
音声処理部107及び音声処理部207は、共通タイミング信号s1の1周期を単位時間として、この期間のうちのコマンド処理期間及び音声処理期間内に、入力されたコマンドに対するコマンド処理と音声処理を完了する動作を行う。時刻t1からのコマンド処理と音声処理は時刻tαで完了し、同様に時刻t2からのコマンド処理と音声処理は時刻tβで完了し、時刻t3からのコマンド処理と音声処理は時刻tγで完了し、t4からのコマンド処理と音声処理は時刻tδで完了する。
図6Aを参照すると、時刻t1から時刻t2間において、コマンドC1a、C2a、C3aが制御部400から運用系ゲートウェイ装置100に出力され、コマンドC1s、C2sが予備系ゲートウェイ装置200に出力されたとする。各コマンドはコマンドキュー103及びコマンドキュー203に各々蓄積される。ここで、コマンドC1aとコマンドC1s、コマンドC2aとコマンドC2sとは複製された同一のコマンドであって、制御部400によってコマンドキュー103及びコマンドキュー203の各々において同一の蓄積アドレスすなわち同一ポインタ値に対応する記憶位置に書き込まれるように制御される。
次に、制御部400は、更新したポインタ値P2を運用系ゲートウェイ装置100に出力して一連のコマンドを出力完了したことを通知する。ポインタ値P2は、コマンドポインタ管理部109で受信され、メモリ109aのポインタ値がポインタ値P2に書き替えられる。コマンドポインタ管理部109は、時刻tαでメモリ109aに保存していたポインタ値P2をメモリ109bに転送してメモリ109bのポインタ値をポインタ値P2に書き替える。メモリ109bのポインタ値がポインタ値P2に書き替えられることで、新たなコマンドC1とC2がコマンドキュー内に保存されていることが認識される。ここで、制御部400は一般的にソフトウェア処理で実行されており、コマンドの出力タイミングは共通タイミング信号s1に対して非同期である。
時刻tαにおいて、コマンドポインタ管理部109は、メモリ109bのポインタ値がポインタ値P2に書き替えられたことをコマンド処理部105に通知する。コマンド処理部105は、以前にコマンドキュー103から読み出した最後のポインタ値の次のポインタ値から新たに通知されたポインタ値P2まで蓄積されていたコマンドC1〜C2を読み出し、次いで時刻t2において読み出したコマンドC1〜C2を音声処理部107に出力する。
また、時刻tαにおいて、コマンドポインタ管理部109は、メモリ109bのポインタ値P2をポインタ送受信部104に出力する。ポインタ送受信部104は、予備系ゲートウェイ装置200のポインタ送受信部204に新たなポインタ値としてポインタ値P2を転送する。ポインタ送受信部204は、受信したポインタ値P2をコマンドポインタ管理部209に出力する。コマンドポインタ管理部209は、自系が予備系装置であるため、自系のメモリ209bのポインタ値を選択せずに、ポインタ送受信部204からのポインタ値P2を選択し、ポインタ値がポインタ値P2に更新されたことをコマンド処理部205に通知する。コマンド処理部205は、以前にコマンドキューから読み出した最後のポインタ値の次のポインタ値から新たに通知されたポインタ値P2まで、保存されていたコマンドC1〜C2を時刻t2以前に読み出し、読み出したコマンドC1〜C2を時刻t2において音声処理部207に出力する。以上の動作により、音声処理部107及び音声処理部207は、時刻t2においてコマンドC1〜C2を共通に処理することが可能となる。
例として、コマンドC1を音声処理に必要なパラメータ設定コマンドとし、コマンドC2を音声処理開始を指示するコマンドであるとする。時刻t2において、音声処理部107及び音声処理部207はコマンドC1にて指示されたパラメータの設定を行い、次にコマンドC2に応じてこれを契機として音声処理を開始する。ここで、音声処理部107及び音声処理部207は、共通タイミング信号s1を共通のタイミングとして動作していることから、両系でコマンドC2への対応に若干のずれが有ったとしても両系で同期した同じタイミングから音声処理を開始することが可能となり、運用系ゲートウェイ装置100と予備系ゲートウェイ装置200の音声処理状態を完全に一致させることが可能となる。
尚、時刻tα以後に制御部400から出力されたコマンドC3aは、時刻t3から時刻t4間において処理されるべきコマンドとして扱われる。従って、コマンドC3は、時刻t2においてコマンドキュー103に蓄積されているにも関わらず、時刻t2においてはコマンド処理部105によってコマンドキュー103から読み出されず、時刻t3において読み出される。
図6Bを参照して、運用系ゲートウェイ装置100を新たに予備系とし予備系ゲートウェイ装置200を新たに運用系とする系切替が実行される場合について説明する。時刻t3において系切替が行われた場合、以前の時刻t2から時刻t3間において、コマンドC3s〜C6sが制御部400から運用系ゲートウェイ装置100及び予備系ゲートウェイ装置200に出力され、コマンドキュー103及びコマンドキュー203にそれぞれ蓄積されている。時刻tβにおいて更新されているポインタ値はポインタ値P5となっていることから、時刻t3において、コマンドC3〜C5がコマンド処理部105及びコマンド処理部205から音声処理部107及び音声処理部207にそれぞれ出力される。時刻tβから時刻t3間において、更新されたポインタ値P6が出力されているが、時刻tβにおけるポインタ値がポインタ値P5になっていることから、時刻t3においては、コマンドC6はコマンド処理部105及びコマンド処理部205から音声処理部107及び音声処理部207にまだ出力されない。
系切替直後の時刻t4においては、予備系ゲートウェイ装置100のコマンドポインタ管理部109は、時刻tγにおいてなおメモリ109bに保存されているポインタ値P6を選択しコマンド処理部105から音声処理部にコマンドC6を出力すると共に、ポインタ送受信部104から運用系ゲートウェイ装置200のポインタ送受信部204にポインタ値P6を転送する。ポインタ送受信部204は、ポインタ値P6をコマンドポインタ管理部209に出力する。コマンドポインタ管理部209は、自系が運用系であるにも関わらず、ポインタ送受信部204から出力されたポインタ値P6を選択してコマンド処理部205から音声処理部207にコマンドC6を出力する。この変則したコマンド供給動作は切替時(時刻t3)直後の1周期(時刻t3〜時刻t4)にわたる。
一方、時刻t3から時刻t4間において、コマンドC7a〜C8sが制御部400からゲートウェイ装置100及びゲートウェイ装置200に出力されている。時刻t3において系切替がされていることから、制御部400は、更新したポインタ値P8を新たな運用系のゲートウェイ装置200に出力する。ゲートウェイ装置200のコマンドポインタ管理部209は、更新されたポインタ値P8をメモリ209aに保存する。次いで、時刻tγにおいて、メモリ209aに保存されていたポインタ値P8はメモリ209bに転送されて保存されている。しかし時刻t4においては、上記した様に、新たな運用系のゲートウェイ装置200のコマンド処理部205は、自系のメモリ209aに保存されていたポインタ値P8を選択せずに、ポインタ送受信部204から出力されたポインタP6を選択し、コマンド処理部205から音声処理部207にコマンドC6を出力する。
時刻t4から時刻t5間において、コマンドC9a、C9sが制御部400から出力され、運用系ゲートウェイ装置200のメモリ209aのポインタ値がポインタ値P1に書き替えられている。時刻tδにおいて、メモリ209aのポインタ値P1はメモリ209bに転送されて保存され、ポインタ値P8からポインタ値P1に書き替えられている。
時刻t5以前において、メモリ209bに保存されていたポインタ値P1はコマンド処理部205に出力される。コマンド処理部205は、以前にコマンドキューから読み出したポインタの次のポインタ値P7から新たに通知されたポインタ値P1まで、保存されているコマンドC7〜C9を時刻t5以前に読み出す。読み出されたコマンドC7〜C9は時刻t5において音声処理部207に出力される。
また、時刻tδにおいて、運用系ゲートウェイ装置200のコマンドポインタ管理部209は、メモリ209bに保存しているポインタ値P1をポインタ送受信部204に出力する。ポインタ送受信部204は、ポインタ値P1を予備系ゲートウェイ装置100のポインタ送受信部104に転送する。ポインタ送受信部104は、受信したポインタ値P1をコマンドポインタ管理部109に出力する。コマンドポインタ管理部109は、自系が予備系であるためポインタ送受信部104からのポインタ値P1を選択し、ポインタ値がポインタ値P1に書き替えられたことをコマンド処理部105に通知する。コマンド処理部105は、以前にコマンドキューから読み出したポインタの次のポインタP7から新たに通知されたポインタ値P1に対応するコマンドC7〜C9を時刻t5以前に読み出す。次いで、コマンド処理部105は、時刻t5においてコマンドC7〜C9を音声処理部107に出力する。以上の動作によって、音声処理部107及び音声処理部207は、同時刻t5においてコマンドC7〜C9を共通に処理することが可能となる。これにより、系切替後においてもコマンド処理の連続性と処理タイミングの共通化を確保することが可能となり、運用系ゲートウェイ装置200と予備系ゲートウェイ装置100の音声処理状態は完全に一致する。
以上のように第2の実施例において、制御部は、運用系ゲートウェイ装置と予備系ゲートウェイ装置の双方に同じ内容のコマンドを出力し、共通化したポインタ値に従って蓄積させる管理を行っている。運用系ゲートウェイ装置は、ポインタ値を予備系ゲートウェイ装置を含む全てのゲートウェイ装置に通知することによって、実質的にコマンドを共通したタイミングすなわち同一順序で一括して各音処理声部に同報供給することができる。
従って、第2の実施例によれば、第1の実施例の場合と同様の作用効果を奏するのみならず、複製したコマンドの全てを転送する第1の実施例に比べて、冗長系間でポインタ値のみを転送することから、転送データ量を少なくすることが可能となる。
第2の実施例においても、第1の実施例で示した予備系ゲートウェイ装置の組込み時に関する音声処理情報を一致させる方法を適用でき、2重化構成にある予備系ゲートウェイ装置を運用系ゲートウェイ装置の動作途中に組み込んだ場合や、N+1重化構成にある予備系ゲートウェイ装置に、新たに冗長構成対象とする運用系ゲートウェイ装置を割当てた場合において、共通タイミングに同期した音声処理単位時間内に音声処理情報を授受することで、運用系ゲートウェイ装置で処理中の音声チャネルにおける音声処理状態を運用系ゲートウェイ装置と予備系ゲートウェイ装置で完全に一致させることが可能となる。
<変形例>
以上の複数の実施例において、本発明がIPプロトコル上で転送を行う通信形態を例にして説明されたが、本発明が用いる転送プロトコルはIPプロトコルに限らず、ATM(Asynchronous Transfer Mode)やFR(Frame Relay)等の他のパケットプロトコルの場合でも本発明は適用可能である。また、冗長化多重構成として2つのゲートウェイ装置が説明されたが、本発明にかかる限定はなく、3つ以上のゲートウェイ装置を含む形態も可能である。
また、3つ以上のゲートウェイ装置を含む冗長化ゲートウェイシステムにおいて、2つ以上の運用系ゲートウェイ装置が設定されてもよい。例えば、2つ以上の運用系ゲートウェイ装置が複数の音声処理チャネルのうちの幾つかを各々分担する形態が想定される。