説明

処理速度調整方法、通信装置及びプログラム

【課題】
通信装置の制御方法において、発生するコマンドを一時的に格納するバッファを多段階に配置することで容易に処理速度を制御可能とし、オーバーフローによる障害を抑止可能とする方法、装置及びプログラムを提供する。
【解決手段】
通信装置の制御方法において、バッファを多段階に構成し、各バッファのオーバーフローを監視する手段と、各バッファのオーバーフローの発生を通知する手段と、オーバーフローが解消されたことを通知する手段により構成される。
例えば、着信が発生した際、CPUが各バッファのオーバーフローを監視し、オーバーフローが発生したバッファ毎にオーバーフロー発生を示すフラグをセットし、次段のバッファに着信の命令コードを積み重ねる。最後のバッファがオーバーフローしたときは命令コードを破棄する。その後、オーバーフローが解消してオーバーフローしたバッファに空き容量ができ、次段のバッファが空になった場合、オーバーフロー発生を示すフラグをリセットする。これらのフラグを用いてオーバーフロー発生の通知を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多段バッファのオーバーフローによる処理速度調整方法、該方法を用いた通信装置及びプログラムに関する。
【背景技術】
【0002】
通信装置としてボタン電話装置を例に挙げる。ボタン電話装置の制御において、過度の発信や着信が発生した場合の対策として内部にはウォッチドッグタイマーを持ち、設定時間以上内部の動作が停滞した場合に自らプログラムをリセットし、初期化することが一般的である。
なお、ウォッチドッグタイマーとは、常にシステムの監視を行ない、プログラムやシステムの暴走やソフトウェアのバグにより一定の時間応答がない場合、それを検出するための回路である。
【0003】
しかし、一般的なボタン電話装置では多大な入力(異常な数の着信や発信)に対して発生数をカウントする手段を有していない。外線からの着信や内線の発信が想定以上に発生した場合は、内部でのバッファオーバーフローが発生し、発生コマンドの欠落や、発生コマンドの滞留からシステムのスローダウンが発生する。また、最終的にはウォッチドッグタイマーが起動し、システムリセットが発生する。
【0004】
ボタン電話装置のシステムにリセットが発生すると、通話中であれば通話が切断されてしまい製品の信頼性を損なうこととなる。一方、実際の発信数や着信数をカウントすることは計数処理自体が負荷となりかねない。
【0005】
バッファオーバーフローを回避するための従来技術として、入力したセルをバッファリングして出力する各パス毎に設けられた複数のセルバッファ部と、複数のセルバッファ部に対して共通に接続される予備セルバッファ部と、セルバッファ部内のセルの数がバーストトラフィック発生によりバッファの容量を越えるときに、予備セルバッファを当該セルバッファ部に対して追加接続する制御を行う制御部を備え、バッファ量の送料を小さく抑えると共に、バーストトラフィックによるセル損失を適切に回避するためのセル損失回避システムがある(特許文献1参照)。
【0006】
しかし、前述した従来技術は、ATMネットワーク内におけるバーストトラフィック発生時のセル損失を適切に回避することを目的としており、多大な入力による負荷への対策について触れられていない。また、発生したバッファオーバーフローからの復帰についても述べられていない。
【0007】
CPUに負荷を与えることなく発着信のイベント数の増加を検出し、CPUが内部の処理速度を調整可能とすれば、前述の問題の解決を図ることができると考えられる。
【0008】
【特許文献1】特開平9―233099
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明の目的は、ボタン電話装置を始めとする通信装置の制御方法において、容易に処理速度を制御可能とする処理速度調整方法、通信装置及びプログラムを提供することである。
本発明の他の目的は、ボタン電話装置を始めとする通信装置の制御方法において、オーバーフローによる障害を抑止可能とする処理速度調整方法、通信装置及びプログラムを提供することである。
本発明の他の目的は、CPUに負荷を与えることなく発着信のイベント数の増加を検出し、CPUが内部の処理速度を調整できる処理速度調整方法、通信装置及びプログラムを提供することである。
本発明の他の目的は、使用するバッファの段数やサイズをプログラムにより可変とする処理速度調整方法、通信装置及びプログラムを提供することである。
【課題を解決するための手段】
【0010】
以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0011】
本発明の処理速度調整方法は、多段階のバッファ部(18)を構成するバッファ(41)のオーバーフローを監視するステップと、前記バッファ(41)にデータを格納するステップと、前記バッファ(41)の前記オーバーフローの発生を通知するステップと、前記オーバーフローの発生後、前記バッファ部(18)のうち空き容量のある次段バッファ(42)に前記データを格納するステップと、前記バッファ(41)に格納されている前記データをFIFOで順次処理するステップと、前記バッファ(41)に空き容量ができたとき、前記オーバーフローの解消を通知するステップと、前記次段バッファ(42)から前記バッファ(41)に前記データ又は前記データの書き込み位置を示すポインタを戻すステップとを具備する。
【0012】
本発明の処理速度調整方法は、前記オーバーフローの発生時に、前記バッファ(41)に前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグ(44)をセットするステップと、前記オーバーフローの解消時に、前記バッファオーバーフローフラグ(44)をリセットするステップとを具備する。
【0013】
本発明の他の処理速度調整方法は、前記オーバーフローの発生時に、前記バッファ(41)に前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグ(44)をリセットするステップと、初期状態又は前記オーバーフローの解消時に、前記バッファオーバーフローフラグ(44)をセットするステップとを具備する。
【0014】
本発明の処理速度調整方法は、前記バッファオーバーフローフラグ(44)の値を検出し、発着信の発生数の増加を検出するステップを具備する。
【0015】
本発明の処理速度調整方法は、前記バッファ部(18)の段数を変更するステップを具備する。
【0016】
本発明の処理速度調整方法は、前記バッファ(41)のサイズを変更するステップを具備する。
【0017】
本発明の処理速度調整方法は、前記バッファ部(18)を構成する全てのバッファ(41)(42)(43)に前記オーバーフローが発生したとき、前記制御部(11)が前記データを破棄するステップを具備する。
【0018】
本発明の通信装置は、制御部(11)と、前記制御部(11)に接続された呼制御モジュール(12)と、前記呼制御モジュール(12)に接続された入出力制御モジュール(13)と、前記入出力制御モジュール(13)に接続された通信ボード(15)と、前記通信ボード(15)から前記入出力制御モジュール(13)を経由して通知された着信に基づいて前記呼制御モジュール(12)がデータを格納するバッファ部(18)とを具備する。
前記バッファ部(18)はバッファ(41)(42)(43)を多段階に構成したものであり、制御部(11)は、前記バッファ(41)(42)(43)の各々についてオーバーフローを監視し、前記オーバーフローの発生を通知し、前記オーバーフローの解消を通知する。
【0019】
本発明の通信装置は、前記バッファ(41)に前記オーバーフローが発生すると、前記制御部(11)は前記オーバーフローが発生した前記バッファ(41)に対応するバッファオーバーフローフラグ(44)をセットする。前記オーバーフローが発生した前記バッファ(41)に空き容量ができると、前記制御部(11)は前記バッファオーバーフローフラグ(44)をリセットする。
【0020】
本発明の通信装置は、前記バッファ(41)に前記オーバーフローが発生すると、前記制御部(11)は前記オーバーフローが発生した前記バッファ(41)に対応するバッファオーバーフローフラグ(44)をリセットし、前記オーバーフローが発生した前記バッファ(41)に空き容量ができると、前記制御部(11)は前記バッファオーバーフローフラグ(44)をセットする。
【0021】
本発明の通信装置は、前記制御部(11)は前記バッファオーバーフローフラグ(44)の値を検出し、発着信の発生数の増加を検出する。
【0022】
本発明の通信装置は、前記バッファ(41)の一つである第1バッファ(41)及び第2バッファ(42)について、前記制御部(11)は前記第1バッファ(41)に前記オーバーフローが発生したとき、空き容量のある前記第2バッファ(42)に前記データを格納する。
【0023】
本発明の通信装置は、前記制御部(11)は前記バッファ部(18)の段数を変更する第1プログラムを実行する。
【0024】
本発明の通信装置は、前記制御部(11)は前記バッファ(41)のサイズを変更する第2プログラムを実行する。
【0025】
本発明の通信装置は、前記バッファ部(18)を構成する全てのバッファ(41)(42)(43)に前記オーバーフローが発生したとき、前記制御部(11)が前記データを破棄するステップを具備する。
【0026】
本発明のプログラムは、多段階のバッファ部(18)を構成するバッファ(41)のオーバーフローを監視するステップと、前記バッファ(41)にデータを格納するステップと、前記バッファ(41)の前記オーバーフローの発生を通知するステップと、前記オーバーフローの発生後、前記バッファ部(18)のうち空き容量のある次段バッファ(42)に前記データを格納するステップと、前記バッファ(41)に格納されている前記データをFIFOで順次処理するステップと、前記バッファ(41)に空き容量ができたとき、前記オーバーフローの解消を通知するステップと、前記次段バッファ(42)から前記バッファ(41)に前記データ又は前記データの書き込み位置を示すポインタを戻すステップとを具備する。
【0027】
本発明のプログラムは、前記オーバーフローの発生時に、前記バッファ(41)に前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグ(44)をセットするステップと、前記オーバーフローの解消時に、前記バッファオーバーフローフラグ(44)をリセットするステップとを具備する。
【0028】
本発明の他のプログラムは、前記オーバーフローの発生時に、前記バッファ(41)に前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグ(44)をリセットするステップと、初期状態又は前記オーバーフローの解消時に、前記バッファオーバーフローフラグ(44)をセットするステップとを具備する。
【0029】
本発明のプログラムは、前記バッファオーバーフローフラグ(44)の値を検出し、発着信の発生数の増加を検出するステップを具備する。
【0030】
本発明のプログラムは、前記バッファ部(18)の段数を変更するステップを具備する。
【0031】
本発明のプログラムは、前記バッファ(41)のサイズを変更するステップを具備する。
【0032】
本発明のプログラムは、前記バッファ部(18)を構成する全てのバッファ(41)(42)(43)に前記オーバーフローが発生したとき、前記制御部(11)が前記データを破棄するステップを具備する。
【発明の効果】
【0033】
通信装置の制御方法において、発生する命令コードを一時的に格納するバッファを多段階に配置することで容易に処理速度を制御可能とし、オーバーフローによる障害を抑止可能とする。
バッファがオーバーフローしたときは命令コードを空き容量のある他のバッファに格納し、オーバーフローしたバッファに空き容量ができると再び先のバッファに命令コードが戻ることを可能とする。
バッファのオーバーフローの発生又はオーバーフローの解消を通知することを可能とする。
また、CPUに負荷を与えることなく発着信のイベント数の増加を検出し、CPUが内部の処理速度を調整可能とする。
【発明を実施するための最良の形態】
【0034】
以下に本発明の第1実施形態について添付図面を参照して説明する。
ここでは、通信装置の例として、ボタン電話装置を使用する場合について説明する。
図1にボタン電話装置を用いたボタン電話システムの構成を示す。
ボタン電話システム100は、ボタン電話装置10と、公衆網19と、外線電話機20と、内線電話機30とを有している。
【0035】
ボタン電話装置10は、CPU11と、呼制御モジュール12と、I/O制御モジュール13と、I/O制御モジュール14と、外線インターフェースボード15と、内線インターフェースボード16と、メモリ部17と、バッファ部18とを備えている。
【0036】
ボタン電話装置10にはCPU11が内蔵され、ボタン電話装置全体を制御する。
CPU11は電話機の発信動作、着信動作及び外線からの発信動作、着信動作を制御する呼制御モジュール12と接続されている。
呼制御モジュール12はボタン電話装置10に収容される機能ボード毎に入出力を制御するI/O制御モジュール13、I/O制御モジュール14と接続されている。
I/O制御モジュール13、I/O制御モジュール14はそれぞれが担当する機能ボードである外線インターフェースボード15、内線インターフェースボード16に接続されている。
メモリ部17はCPU11と接続され、各種プログラムを格納している。
バッファ部18は呼制御モジュール12と接続されている。
公衆網19は外線インターフェースボード15と接続されている。
外線電話機20は公衆網19と接続されている。
内線電話機30は内線インターフェースボード16と接続されている。
【0037】
なお、I/O制御モジュール13とI/O制御モジュール14は一体となっていても良い。同様に、外線インターフェースボード15と内線インターフェースボード16は一体となっていても良い。
【0038】
図2を参照して外線からの着信が発生した場合の動作を説明する。
図2の構成では、図1の構成に加えて、更に、公衆網19には外線電話機21が接続されており、内線インターフェースボード16には内線電話機31が接続されている。
公衆網19に接続された外線電話機20及び外線電話機21が発信動作を行う。公衆網19は外線電話機20及び外線電話機21が送出する発信番号を検出すると、ボタン電話装置10に収容されている外線インターフェースボード15に着信信号を送出する。
外線インターフェースボード15は外線からの着信を検出すると、I/O制御モジュール13を経由して呼制御モジュール12に着信を通知する。呼制御モジュール12はバッファ部18に着信の命令コードを積み重ねる。命令コードは着信に対応するデータとしても良い。なお、命令コードを積み重ねるとは、命令コードをスタックすることである。命令コードは着信に含まれており、着信のイベントの発生を示す。ここでは、外線から着信が来ていることを示す。
CPU11はバッファ部18に積み重ねられた命令コードをFirst−in/First−out(先入れ先出し)で順次処理を行う。CPU11はメモリ部17に格納されたプログラムに従い、I/O制御モジュール14に着信を通知する。プログラムは通信制御を行うためのプログラムである。I/O制御モジュール14は内線インターフェースボード16に着信を通知し、最終的に内線電話機30及び内線電話機31に着信が通知され、内線電話機30及び内線電話機31が鳴動する。
【0039】
図3に、図2における外線からの着信が発生した場合の動作のフローチャートを示す。動作については、ボタン電話装置10自体が有する機能による場合と、動作を命令するプログラムによる場合とがある。
外線電話機20及び外線電話機21は公衆網19を介してボタン電話装置10に発信動作を行う(ステップS301)。
【0040】
公衆網19は外線電話機20及び外線電話機21が送出する発信番号を検出すると、ボタン電話装置10に収容されている外線インターフェースボード15に着信信号を送出する(ステップS302)。ここでは、図2を参照して、外線電話機20の発信番号に対応する着信信号を着信1、外線電話機21の発信番号に対応する着信信号を着信2とする。
【0041】
外線インターフェースボード15は外線からの着信である着信1及び着信2を検出する(ステップS303)。ここでは、図2を参照して、外線インターフェースボード15が着信1を検出した外線を外線1、外線インターフェースボード15が着信2を検出した外線を外線2とする。
ここからボタン電話装置10の内部での処理となる。
【0042】
外線インターフェースボード15はI/O制御モジュール13を経由して呼制御モジュール12に着信1、着信2を通知する(ステップS304)。まず、外線インターフェースボード15がI/O制御モジュール13に着信1、着信2を通知し、I/O制御モジュール13が呼制御モジュール12に着信1、着信2を通知する。
【0043】
呼制御モジュール12はバッファ部18に着信1、着信2の命令コードを積み重ねる(ステップS305)。バッファ部18は多段階に構成されたバッファであり、一つのバッファにオーバーフローが発生すると、空き領域がある他のバッファに命令コードを積み重ね、空き領域があるバッファが存在しないときは命令コードを破棄する仕組みになっている。バッファの容量はCPU11が監視する。
なお、複数回線からの着信が同時に発生した場合、積み重ねる命令コードの件数がバッファ容量をオーバーし、オーバーフローが発生してしまう場合もある。この場合については後で詳しく説明する。
【0044】
呼制御モジュール12はCPU11に着信1、着信2を通知する(ステップS306)。
CPU11はバッファ部18に積み重ねられた命令コードをFirst−in/First−out(先入れ先出し)で順次処理を行う(ステップS307)。First−in/First−out(先入れ先出し)とは、ある領域に保存されたデータを、保存された順番で処理する方式のことである。
【0045】
CPU11はメモリ部17に格納されたプログラムに従い、再び呼制御モジュール12に着信1、着信2を通知する(ステップS308)。ここで、プログラムとは、CPU11が呼制御モジュール12を制御するためのプログラムや、ボタン電話装置10の通信制御に用いるプログラムのことである。
その後、呼制御モジュール12からI/O制御モジュール14に着信1、着信2を通知する(ステップS309)。
【0046】
なお、場合によっては、ステップS306において、呼制御モジュール12は、CPU11に着信1、着信2を通知せず、そのままステップS309に移行し、直にI/O制御モジュール14に着信1、着信2を通知するようにしても良い。
【0047】
I/O制御モジュール14は内線インターフェースボード16に着信1、着信2を通知する(ステップS310)。ここでは、着信1の通知を受けた内線を内線1、着信2の通知を受けた内線を内線2とする。内線1は内線電話機30に接続され、内線2は内線電話機31に接続されている。
ここから再びボタン電話装置10の外部での処理となる。
【0048】
内線インターフェースボード16から内線1、内線2を介して最終的に内線電話機30及び内線電話機31に着信1、着信2が通知され、内線電話機30及び内線電話機31が鳴動する(ステップS311)。
【0049】
上記動作の説明においては、発信動作を行う外線電話機は外線電話機20及び外線電話機21の2台で説明しているが、実際には、複数台の電話機からの着信が同時に発生する。コールセンターなどでは数分間に数千件〜1万件などの着信が発生することもある。内線電話機についても同様である。
外線インターフェースボード15及び内線インターフェースボード16の回線数も、ボタン電話装置10の規模によるが、1回線〜1000回線規模が構成可能である。
【0050】
複数回線からの着信が同時に発生した場合、呼制御モジュール12がバッファ部18に積み重ねる命令コードの件数に対して、CPU11がバッファ部18に積み重ねられた命令コードを処理するスピードが間に合わず、バッファ部18の内部滞留件数が増加し、最終的にはバッファ容量をオーバーし、オーバーフローが発生してしまう。
【0051】
図4に本実施形態でのバッファ部18の具体的な構造を示す。
本実施形態では、バッファ部18が、第1バッファ41と、第2バッファ42と、第3バッファ43とで多段階に構成される例を示している。実際には、バッファの数はこの限りではない。なお、バッファは物理的に複数である必要はなく、一つのバッファの記憶領域を複数に区切ることで仮想的に複数のバッファとしたものでも良い。
第1バッファオーバーフローフラグ44は、第1バッファ41がオーバーフローしたことを示すフラグである。
第2バッファオーバーフローフラグ45は、第2バッファ42がオーバーフローしたことを示すフラグである。
第3バッファオーバーフローフラグ46は、第3バッファ43がオーバーフローしたことを示すフラグである。
各バッファオーバーフローフラグは、各バッファにおけるオーバーフローの検出や通知に用いられる。
【0052】
CPU11は、バッファのオーバーフロー発生時に、オーバーフローしたバッファに対応するバッファオーバーフローフラグをセットする。同様に、バッファのオーバーフロー解消時に、オーバーフローしたバッファに対応するバッファオーバーフローフラグをリセットする。
【0053】
また、呼制御モジュール12又はバッファ部18が、バッファの容量を監視する機能を有し、オーバーフローが発生又は解消したときに、CPU11に負荷を与えることなくバッファオーバーフローフラグをセット又はリセットするようにしても良い。
あるいは、ボタン電話装置10が更に具備するCPU11以外の制御部が、バッファの容量を監視し、バッファオーバーフローフラグをセット又はリセットするようにしても良い。
CPU11を使用せずに、バッファオーバーフローフラグをセット又はリセットした場合、これらのバッファオーバーフローフラグが、オーバーフローの発生又は解消をCPU11に通知するために用いられる。
【0054】
ここで、バッファのオーバーフロー発生時に、オーバーフローしたバッファに対応するバッファオーバーフローフラグをセットするとは、バッファオーバーフローフラグの値を、オーバーフローの発生を示す値にすることである。同様に、バッファのオーバーフロー解消時に、オーバーフローしたバッファに対応するバッファオーバーフローフラグをリセットするとは、バッファオーバーフローフラグの値を、オーバーフローの解消を示す値にすることである。
但し、上記の内容は例示であり、実際にはこれらの内容に限定されるものではない。
【0055】
なお、前述の説明中のバッファとは、第1バッファ41、第2バッファ42、第3バッファ43のことを指し、前述の説明中のバッファオーバーフローフラグとは、第1バッファオーバーフローフラグ44、第2バッファオーバーフローフラグ45、第3バッファオーバーフローフラグ46のことを指す。
【0056】
第1バッファ41は、呼制御モジュール12から着信の入力を受ける。第1バッファ41がオーバーフローすると、CPU11が、オーバーフローした命令コードを第2バッファ42に積み重ねると同時に第1バッファオーバーフローフラグ44をセットする。同様に第2バッファ42がオーバフローすると、CPU11が、オーバーフローした命令コードを第3バッファ43に積み重ねると同時に第2バッファオーバーフローフラグ45をセットする。続いて第3バッファ43がオーバーフローすると、CPU11が、第3バッファオーバーフローフラグ46をセットし、オーバフローした命令コードを廃棄する。
【0057】
着信の入力が減少してCPU11の処理が進むと第1バッファ41が容量以下となる。第1バッファ41に空き容量ができると、上記のオーバーフローと逆に第2バッファ42から第1バッファ41に命令コードが戻る仕組みとしている。但し、実際には命令コード自体が戻る仕組みとする必要はなく、例えば、バッファ内で命令コードを書き込む位置を示すライトポインタ(Write Pointer)が戻る仕組みとしても良い。
【0058】
第1バッファ41に命令コードを戻し第2バッファ42が空となった場合は、CPU11が、上記でセットした第1バッファオーバーフローフラグ44をリセットする。第3バッファ43が空となった場合も同様に、CPU11が、第2バッファオーバーフローフラグ45をリセットする。第3バッファ43に空き容量ができると、CPU11が、第3バッファオーバーフローフラグ46をリセットする。
バッファオーバーフローフラグ44〜46の値をCPU11が検出することで、発着信の発生数の増加を検出することが可能となる。
なお、命令コードの代わりにライトポインタが戻る仕組みとなっている場合は、例えば、第1バッファのオーバーフローが解消し、ライトポインタが第1バッファに戻った時点で、CPU11が第1バッファオーバーフローフラグ44をリセットするようにしても良い。
【0059】
ここで、CPU11がバッファオーバーフローフラグ44〜46の値に基づいて、オーバーフローの発生や解消、オーバーフローしたバッファの数といった情報を、音声又は信号又はデータ送信により、ボタン電話装置10の利用者又は管理者に通知するようにしても良い。このとき、ボタン電話装置10は、音声を発生する音声出力部と、受信した信号により点灯又は点滅する点灯部と、ディスプレイに表示する表示部のうち、通知に必要な装置を備えているものとする。また、必要であれば、外線電話機又は内線電話機に対して通知するようにしても良い。この場合、外線電話機又は内線電話機が、前述した通知に必要な装置を備えているものとする。
【0060】
図5にバッファ部18を構成する第1バッファ41と、第2バッファ42と、第3バッファ43とのバッファオーバーフロー時の動作を示す。動作はCPU11により制御されるものとする。動作については、CPU11又は各バッファ自体が有する機能による場合と、動作を命令するプログラムによる場合とがある。
【0061】
まず、第1バッファ41がオーバーフローしたとする(ステップS501)。
このとき、CPU11はオーバーフローした命令コードを第2バッファ42に積み重ねると同時に第1バッファオーバーフローフラグ44をセットする(ステップS502)。
なお、先に述べた通り、第1バッファ41に空き容量ができ、その後、第1バッファ41に命令コードを戻し第2バッファ42が空となった場合、CPU11は上記でセットした第1バッファオーバーフローフラグ44をリセットする。
【0062】
第2バッファ42がオーバフローすると(ステップS503)、CPU11はオーバーフローした命令コードを第3バッファ43に積み重ねると同時に第2バッファオーバーフローフラグ45をセットする(ステップS504)。
なお、先に述べた通り、第2バッファ42に空き容量ができ、その後、第2バッファ42に命令コードを戻し第3バッファ43が空となった場合、CPU11は上記でセットした第2バッファオーバーフローフラグ45をリセットする。
【0063】
更に、第3バッファ43がオーバーフローすると(ステップS505)、CPU11は第3バッファオーバーフローフラグ46をセットし、以降オーバフローした命令コードを廃棄する(ステップS506)。
なお、第3バッファ45に空き容量ができた場合、CPU11は第3バッファオーバーフローフラグ46をリセットするものとする。
【0064】
本発明の第2実施形態として、その基本的構成は第1実施形態と同じであるが、バッファの段数をプログラムにより可変とすることが考えられる。
バッファ部18の記憶領域を複数に区切り、仮想的に多段階バッファとしている場合は、プログラムにより区切る数を変更するようにしても良い。例えば、3つに区切っていたバッファ部18の記憶領域を、4つに区切るように変更する。
物理的に多段階バッファである場合には、プログラムにより、全てのバッファを統合して一つのバッファとみなして、仮想的に所望する段数に区切るようにしても良い。
なお、プログラムの実行については、ユーザの指示による実行の他、実行条件に基づいて、CPU11が自動的に実行するようにしても良い。
バッファ段数を変更させることで、オーバーフローの制御を細かく行うことが可能となる。
【0065】
本発明の第3実施形態として、バッファのサイズをプログラムにより変更可能とすることが考えられる。
この場合、全てのバッファを同サイズにしても良いし、個々のバッファ毎にサイズを変えても良い。例えば、先頭のバッファのサイズを他のバッファより大きくして、残りのバッファのサイズは均等にしても良い。
なお、プログラムの実行については、ユーザの指示による実行の他、実行条件に基づいて、CPU11が自動的に実行するようにしても良い。
バッファのサイズを変更させることで、オーバーフローの制御を細かく行うことが可能となる。
【0066】
本発明の第4実施形態として、第1実施形態とは逆に、バッファのオーバーフロー発生時に、オーバーフローしたバッファに対応するバッファオーバーフローフラグをリセットし、バッファのオーバーフロー発生時に、オーバーフローしたバッファに対応するバッファオーバーフローフラグをセットするようにしても良い。
【0067】
本発明における外線電話機や内線電話機は、通常の電話機に限定するものではなく、電話機能を持つ通信機であれば良い。
【0068】
本発明における通信装置として、交換機又はルータのように中継機としての機能を持つ装置を代わりに使用しても良い。
【0069】
本発明における内線電話機は、有線の通信機に限定するものではなく、構内PHSを始めとする無線の通信機を使用しても良い。また、通信装置と内線電話機との間の通信は有線、無線を問わない。
【0070】
本発明に関わる通信装置は、公衆網に限らず、ISDN、ADSL、光ファイバー、ケーブルテレビ及びその他のディジタル通信網において使用しても良い。但し、実際にはこれらの例に限定されるものではない。
【0071】
本発明の対象は、電話機を用いた電話システムに限定されるものではなく、発信を行う通信機を用いたデータ通信システムにおいて使用しても良い。この場合、バッファには、着信に含まれるデータが積み重ねられる。
【図面の簡単な説明】
【0072】
【図1】図1は、ボタン電話システムの構成を示すブロック図である。
【図2】図2は、ボタン電話システムの外線着信時の動作を示すブロック図である。
【図3】図3は、ボタン電話システムの外線着信時の動作を示すフローチャート図である。
【図4】図4は、バッファの構成を示すブロック図である。
【図5】図5は、バッファのオーバーフロー時の動作を示すフローチャート図である。
【符号の説明】
【0073】
10… ボタン電話装置
11… CPU
12… 呼制御モジュール
13… I/O制御モジュール
14… I/O制御モジュール
15… 外線インタフェースボード
16… 内線インタフェースボード
17… メモリ部
18… バッファ部
19… 公衆網
20… 外線電話機
21… 外線電話機
30… 内線電話機
31… 内線電話機
41… 第1バッファ
42… 第2バッファ
43… 第3バッファ
44… 第1バッファオーバーフローフラグ
45… 第2バッファオーバーフローフラグ
46… 第3バッファオーバーフローフラグ
100… ボタン電話システム

【特許請求の範囲】
【請求項1】
多段階のバッファ部を構成するバッファのオーバーフローを監視するステップと、
前記バッファにデータを格納するステップと、
前記バッファの前記オーバーフローの発生を通知するステップと、
前記オーバーフローの発生後、前記バッファ部のうち空き容量のある次段バッファに前記データを格納するステップと、
前記バッファに格納されている前記データをFIFOで順次処理するステップと、
前記バッファに空き容量ができたとき、前記オーバーフローの解消を通知するステップと、
前記次段バッファから前記バッファに前記データ又は前記データの書き込み位置を示すポインタを戻すステップと
を具備する
処理速度調整方法。
【請求項2】
請求項1に記載の処理速度調整方法において、
前記オーバーフローの発生時に、前記バッファに前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグをセットするステップと、
前記オーバーフローの解消時に、前記バッファオーバーフローフラグをリセットするステップと
を具備する
処理速度調整方法。
【請求項3】
請求項1に記載の処理速度調整方法において、
前記オーバーフローの発生時に、前記バッファに前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグをリセットするステップと、
初期状態又は前記オーバーフローの解消時に、前記バッファオーバーフローフラグをセットするステップと
を具備する
処理速度調整方法。
【請求項4】
請求項2又は3に記載の処理速度調整方法において、
前記バッファオーバーフローフラグの値を検出し、発着信の発生数の増加を検出するステップを具備する
処理速度調整方法。
【請求項5】
請求項1乃至4のいずれか一項に記載の処理速度調整方法において、
前記バッファ部の段数を変更するステップを具備する
処理速度調整方法。
【請求項6】
請求項1乃至5のいずれか一項に記載の処理速度調整方法において、
前記バッファのサイズを変更するステップを具備する
処理速度調整方法。
【請求項7】
請求項1乃至6のいずれか一項に記載の処理速度調整方法において、
前記バッファ部を構成する全てのバッファに前記オーバーフローが発生したとき、前記データを破棄するステップを具備する
処理速度調整方法。
【請求項8】
制御部と、
前記制御部に接続された呼制御モジュールと、
前記呼制御モジュールに接続された入出力制御モジュールと、
前記入出力制御モジュールに接続された通信ボードと、
前記通信ボードから前記入出力制御モジュールを経由して通知された着信に基づいて前記呼制御モジュールがデータを格納するバッファ部と
を具備し、
前記バッファ部はバッファを多段階に構成したものであり、制御部は、前記バッファの各々についてオーバーフローを監視し、前記オーバーフローの発生を通知し、前記オーバーフローの解消を通知する
通信装置。
【請求項9】
請求項8に記載の通信装置において、
前記バッファに前記オーバーフローが発生すると、前記制御部は前記オーバーフローが発生した前記バッファに対応するバッファオーバーフローフラグをセットし、
前記オーバーフローが発生した前記バッファに空き容量ができると、前記制御部は前記バッファオーバーフローフラグをリセットする
通信装置。
【請求項10】
請求項8に記載の通信装置において、
前記バッファに前記オーバーフローが発生すると、前記制御部は前記オーバーフローが発生した前記バッファに対応するバッファオーバーフローフラグをリセットし、
前記オーバーフローが発生した前記バッファに空き容量ができると、前記制御部は前記バッファオーバーフローフラグをセットする
通信装置。
【請求項11】
請求項9又は10に記載の通信装置において、
前記制御部は前記バッファオーバーフローフラグの値を検出し、発着信の発生数の増加を検出する
通信装置。
【請求項12】
請求項8乃至11のいずれか一項に記載の通信装置において、
前記バッファの一つである第1バッファ及び第2バッファについて、前記制御部は前記第1バッファに前記オーバーフローが発生したとき、空き容量のある前記第2バッファに前記データを格納する
通信装置。
【請求項13】
請求項8乃至12のいずれか一項に記載の通信装置において、
前記制御部は前記バッファ部の段数を変更する第1プログラムを実行する
通信装置。
【請求項14】
請求項8乃至13のいずれか一項に記載の通信装置において、
前記制御部は前記バッファのサイズを変更する第2プログラムを実行する
通信装置。
【請求項15】
請求項8乃至14のいずれか一項に記載の処理速度調整方法において、
前記バッファ部を構成する全てのバッファに前記オーバーフローが発生したとき、前記制御部が前記データを破棄する
通信装置。
【請求項16】
多段階のバッファ部を構成するバッファのオーバーフローを監視するステップと、
前記バッファにデータを格納するステップと、
前記バッファの前記オーバーフローの発生を通知するステップと、
前記オーバーフローの発生後、前記バッファ部のうち空き容量のある次段バッファに前記データを格納するステップと、
前記バッファに格納されている前記データをFIFOで順次処理するステップと、
前記バッファに空き容量ができたとき、前記オーバーフローの解消を通知するステップと、
前記次段バッファから前記バッファに前記データ又は前記データの書き込み位置を示すポインタを戻すステップと
を具備する
プログラム。
【請求項17】
請求項16に記載のプログラムにおいて、
前記オーバーフローの発生時に、前記バッファに前記オーバーフローが発生したことを示すために前記バッファオーバーフローフラグをセットするステップと、
前記オーバーフローの解消時に、前記バッファオーバーフローフラグをリセットするステップと
を具備する
プログラム。
【請求項18】
請求項16に記載のプログラムにおいて、
前記オーバーフローの発生時に、前記バッファに前記オーバーフローが発生したことを示すためにバッファオーバーフローフラグをリセットするステップと、
初期状態又は前記オーバーフローの解消時に、前記バッファオーバーフローフラグをセットするステップと
を具備する
プログラム。
【請求項19】
請求項17又は18に記載のプログラムにおいて、
前記バッファオーバーフローフラグの値を検出し、発着信の発生数の増加を検出するステップを具備する
プログラム。
【請求項20】
請求項16乃至19のいずれか一項に記載のプログラムにおいて、
前記バッファ部の段数を変更するステップを具備する
プログラム。
【請求項21】
請求項16乃至20のいずれか一項に記載のプログラムにおいて、
前記バッファのサイズを変更するステップを具備する
プログラム。
【請求項22】
請求項16乃至21のいずれか一項に記載の処理速度調整方法において、
前記バッファ部を構成する全てのバッファに前記オーバーフローが発生したとき、前記データを破棄するステップを具備する
プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−33348(P2006−33348A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−208546(P2004−208546)
【出願日】平成16年7月15日(2004.7.15)
【出願人】(000227205)NECインフロンティア株式会社 (1,047)
【Fターム(参考)】