説明

信号処理装置および信号処理方法

【課題】過負荷となる信号の流入を阻止するとパケットロスが発生し易いこと。
【解決手段】単位時間当たり予め設定された閾値以下の信号数を限度に外部から受信した信号を受信キューに格納する信号受信タスク部と、外部から入力されたコマンドを受信するコマンド受信タスク部とに対して1番高い優先度を設定する。その他のタスク部に対しては、入力側から出力側に向けて優先度が高くなるように設定する。各タスク部のうち、処理すべきデータが存在し、処理の優先度がより高いものを処理対象として検出する処理対象検出手段と、この処理対象検出手段によって検出された処理対象に存在するデータの処理を実行するデータ処理手段と、このデータ処理手段によって処理対象に存在するデータの処理が行われた後、上記処理対象検出手段に処理を移行させる処理移行手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された信号およびコマンドを処理して外部に出力する信号処理装置および信号処理方法に関する。
【背景技術】
【0002】
通信システムのノード、例えば中継機能を備えたノードでは、他のノードから信号を受信して、ノード内部で処理を行い、処理後の信号を次のノードに送信している。また、ネットワークの運用・管理・保守を行うための機能であるOAM(Operations Administration Maintenance)機能を備えたノードでは、制御端末からOAMコマンド(以下、単にコマンドと称す)を受信して、ノード内部で処理を行い、コマンド処理の結果を制御端末に送信している。
【0003】
図4は本発明に関連する技術の一例としての通信システムの一例を第2のノードを中心に表したものである。この図に示した例では、第1のノード101と第3のノード103との間に第2のノード102が配置されている。第2のノード102は、第1のノード101から送られてくるパケット信号1111を受信する第1の入力タスク部1121と、第3のノード103から送られてくるパケット信号1113を受信する第3の入力タスク部1123と、第1のノード101に送出されるパケット信号1131を送信する第1の出力タスク部1141と、第3のノード103に送出されるパケット信号1133を送信する第3の出力タスク部1143と、OAM制御端末104から送られてくるコマンドを受信する第2の入力タスク部1122と、コマンドの処理結果をOAM制御端末104に送信する第2の出力タスク部1142と、これら第1〜第3の入力タスク部1121〜1123、第1〜第3の出力タスク部1141〜1143の制御を行う制御タスク部115とを備えている。
【0004】
このような構成の第2のノード102においては、第1および第3の入力タスク部1121、1123ならびに第1および第3の出力タスク部1141、1143は、信号処理の優先度として同一の実行プライオリティが与えられている。また、第1および第3の入力タスク部1121、1123ならびに第1および第3の出力タスク部1141、1143は、信号処理の遅延を避けるために、制御タスク部115に比べて信号処理について相対的に高い優先度が設定されている。さらに第2の入力タスク部1122および第2の出力タスク部1142は、ユーザアプリケーションとして実装されるため、制御タスクと比べて相対的に低い優先度が設定されている。すなわち、図4に示すように、第2の入力タスク部1122および第2の出力タスク部1142は相対的に一番低い低優先度領域120に属しているのに対して、制御タスク部115は次に低い低優先度領域121に属し、第1および第3の入力タスク部1121、1123ならびに第1および第3の出力タスク部1141、1143は、相対的に最も高い高優先度領域122に属している。
【0005】
図4に示した第2のノード102の動作を次に説明する。第1のノード101から送られてきたパケット信号1111は、第1の入力タスク部1121で受信される。また、第3のノード103から送られてきたパケット信号1113は第3の入力タスク部1123で受信される。第1の入力タスク部1121は、このパケット信号1111を制御タスク部115に送って適切な信号処理を受ける。同様に、第3の入力タスク部1123は、受信したパケット信号1133を制御タスク部115に送って適切な信号処理を受ける。制御タスク部115は、信号処理後の信号を第1の出力タスク部1141あるいは第3の出力タスク部1143に送信する。
【0006】
このうち、第1の出力タスク部1141に送られたパケット信号は、パケット信号1131として第1のノード101に送信される。第3の出力タスク部1143に送られたパケット信号は、パケット信号1133として第3のノード103に送信される。
【0007】
パケット信号によっては、カプセル化を行ったり、その反対にデカプセル化を行ったりする場合がある。本明細書では、これらをまとめて「カプセル化処理」と称することにする。このようなカプセル化処理は、制御タスク部115が第1あるいは第3の入力タスク部1121、1123に処理途中のパケット信号を送り返すことで実現する。
【0008】
このような第1の関連技術では、第2のノード102の各部をモジュール構造とした場合に、第1の出力タスク部1141と第1の入力タスク部1121を第1のノード101とのプロトコル処理に関係する第1の通信機能部として1つの概念で取り扱っている。また、第3の出力タスク部1143と第3の入力タスク部1123についても、第3のノード103とのプロトコル処理に関係する第3の通信機能部として、第1の通信機能部と共通した概念で取り扱っている。制御タスク部115は、制御タスク自体がプロトコル処理とは機能的に大きく異なるので、第1および第3の通信機能部と異なる概念で取り扱い、かつ送受信の信号処理の遅延を避けるために、送受信の処理よりも実行プライオリティを低く設定している。さらに、第2の入力タスク部1122と第2の出力タスク部1142をユーザアプリケーション処理に関係する機能部として取り扱って、ユーザアプリケーションとして実装されるため、制御タスク部115と比べて低い実行プライオリティを設定している。
【0009】
このような第1の関連技術によれば、送信と受信のプライオリティが等しく設定されている。このため、一時的にパケットの受信が多くなると、制御タスク部115の処理が優先度との関係で遅延する。この結果、第2のノード102の内部で未処理のタスクが増加することになって、結果的に送信処理までも遅延することになる。
【0010】
特に制御タスク部115がカプセル化のようなデータの通信処理に付帯する処理を必要とした場合、優先度の低い機能部で処理が一層滞留することになり、第2のノード102自体が機能障害に陥るおそれがあった。
【0011】
また、第2の入力タスク部1122と第2の出力タスク部1142がアプリケーションタスクとして相対的に一番低い実行プライオリティに設定されているため、新たな信号が次々と到着することとなる状態(過負荷時あるいは輻輳状態)では、OAM制御端末104からのコマンドによる制御を行うことができなくなる。
【0012】
そこで、上記課題を解決する技術が本発明の第2の関連技術として提案されている(例えば特許文献1参照)。
【0013】
図5を参照すると、本発明の第2の関連技術としての信号処理装置を使用した通信システムは、第1のノード201と第3のノード203との間に、第2のノード202が配置されている。また、ネットワークの運用・管理・保守を行うためのOAM制御端末214が配置されている。
【0014】
第2のノード202は、第1のノード201から送られてくるパケット信号を外部インタフェース2111を通じて第1のプロトコルを用いて受信する第1の入力タスク部2121と、第3のノード203から送られてくるパケット信号を外部インタフェース2113を通じて第3のプロトコルを用いて受信する第3の入力タスク部2133と、第1のノード201に送出されるパケット信号を外部インタフェース2131を通じて第1のプロトコルを用いて送信する第1の出力タスク部2141と、第3のノード203に送出されるパケット信号を外部インタフェース2133を通じて第3のプロトコルを用いて送信する第3の出力タスク部2143と、第1のプロトコルを用いてカプセル化の処理を行う第1の再入力タスク部2151と、第3のプロトコルを用いてカプセル化の処理を行う第3の再入力タスク部2153と、OAM制御端末214から送られてくるコマンドを外部インタフェース2112を通じて受信する第2の入力タスク部2122と、OAM制御端末204に送出されるコマンド処理結果を外部インタフェース2132を通じてOAM制御端末214に送信する第2の出力タスク部2142と、これら第1〜第3の入力タスク部2121〜2123、第1〜第3の出力タスク部2141〜2143、ならびに第1および第3の再入力タスク部2151、2153の制御を行う制御タスク部216とを備えている。
【0015】
また、第2のノード202は、CPU(Central Processing Unit)221と、その制御プログラムとしてのOS(Operating System)を格納したり、データ処理用のメモリ領域を備えたメモリ222を有している。
【0016】
図5に示される第1〜第3の出力タスク部2141〜2143は、優先度が1番高い階層としての実行プライオリティを持っている。制御タスク部216は、優先度が2番目に高い階層としての実行プライオリティを持っている。第1および第3の再入力タスク部2151、2153は、優先度が3番目に高い階層としての実行プライオリティを持っている。第2の入力タスク部2122は、優先度が4番目に高い階層としての実行プライオリティを持っている。第1および第3の入力タスク部2121、2123は、優先度の一番低い階層としての実行プライオリティを持っている。このような実行プライオリティの設定は、メモリ222内に格納されたOSに記述されている。
【0017】
この本発明の第2の関連技術では、受信側から送信側に向けて、各タスク部2121〜2123、2141〜2143、2151、2153、216の優先度が順に高まるように設定されている。従って、制御タスク部216から単純に第1あるいは第3の出力タスク部2141、2143に送出された信号と、第1あるいは第3の再入力タスク部2151、2153にカプセル化の処理を行うために回された信号とがあった場合、第1あるいは第3の出力タスク部2141、2143に送出された信号の方が優先度が高いので、これらがまず処理されることになる。
【0018】
このように本発明の第2の関連技術では受信側から送信側に向けて、各タスク部2121〜2123、2141〜2143、2151、2153、216の優先度が順に高まるように設定されているので、送信側の処理が受信側よりも早く処理される。このため、第2のノード202内でそれぞれ1パケットを単位とするタスクが滞留することがない。従って、CPU221は、効率的に各タスク部2121、2123、2141、2143、2151、2153、216の処理をパケット単位で実行することができる。
【0019】
また、本発明の第2の関連技術によれば、新しい信号の受信処理の優先度が相対的に低い。このため、先に受信した信号が処理されている間は、第1および第3の入力タスク部2121、2133が新たな信号を受信することが抑制される。この結果、第2のノード202は、過負荷となる信号の流入を事前に阻止することができる。
【0020】
また、本発明の第2の関連技術によれば、カプセル化処理のような、システム内の処理ルートを複数回巡回するような場合を考慮して、送信処理と受信処理の中間の実行プライオリティを与えることで、一旦システム内に取り込んだ信号が、新しい受信信号よりも高い優先度で処理されるようにして、処理の滞留の発生を防止している。
【0021】
更に、本発明の第2の関連技術によれば、コマンド受信処理の優先度が信号の受信処理の優先度より相対的に高い。このため、新しい信号が次々と到着する過負荷時や輻輳時においてもOAM制御端末204からのコマンド操作が不能になることがなく、コマンド制御が可能になる。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特開2011−49815号公報
【発明の概要】
【発明が解決しようとする課題】
【0023】
しかしながら、上記第2の関連技術では、新しいパケット信号の受信処理の優先度が相対的に低いため、先に受信した信号が処理されている間は、第1および第3の入力タスク部2121、2133が新たなパケット信号を受信することが抑制される。この結果、第2のノード202は、過負荷となるパケット信号の流入を事前に阻止することができる反面、パケットロスを発生し易いという課題があった。
【0024】
以上、通信装置あるいはノードにおけるデータ処理の問題を説明したが、一般に、信号を入力して内部処理を行い、その結果を出力する信号処理装置には同様の問題があった。
【0025】
そこで本発明の目的は、過負荷となる信号の流入を阻止すると一時的な過負荷状態であってもパケットロスが発生し易いという課題を解決した信号処理装置および信号処理方法ならびに信号処理プログラムを提供することにある。
【課題を解決するための手段】
【0026】
本発明の一形態にかかる信号処理装置は、
単位時間当たり予め設定された閾値以下の信号数を限度に外部から受信した信号を受信キューに格納する信号受信タスク部と、
外部から入力されたコマンドを受信するコマンド受信タスク部と、
前記受信キューから信号を取り出す入力調停タスク部と、
前記取り出された信号を入力する信号入力タスク部と、
前記受信されたコマンドを入力するコマンド入力タスク部と、
前記入力された信号およびコマンドを内部処理する中間タスク部と、
前記内部処理された信号を外部に出力する信号出力タスク部と、
前記内部処理されたコマンドを外部に出力するコマンド出力タスク部と、
前記信号受信タスク部と前記コマンド受信タスク部に対して相対的に1番高い優先度を設定し、前記信号出力タスク部と前記コマンド出力タスク部とに対して前記信号受信タスク部と前記コマンド受信タスク部に比べて低い優先度を設定し、前記中間タスク部に対して前記信号出力タスク部と前記コマンド出力タスク部とに比べて低い優先度を設定し、前記コマンド入力タスク部に対して前記中間タスク部に比べて低い優先度を設定し、前記信号入力タスク部に対して前記コマンド入力タスク部に比べて低い優先度を設定し、前記入力調停タスク部に対して前記信号入力タスク部に比べて低い優先度を設定する優先度情報格納手段と、
前記信号受信タスク部、前記コマンド受信タスク部、前記入力調停タスク部、前記信号入力タスク部、前記コマンド入力タスク部、前記中間タスク部、前記信号出力タスク部、および前記コマンド出力タスク部のうち、処理すべきデータが存在し、前記優先度情報格納手段に格納された処理の優先度がより高いものを処理対象として検出する処理対象検出手段と、
該処理対象検出手段によって検出された処理対象に存在するデータの処理を実行するデータ処理手段と、
該データ処理手段によって処理対象に存在するデータの処理が行われた後、前記処理対象検出手段に処理を移行させる処理移行手段と
を備える、といった構成を採る。
【発明の効果】
【0027】
本発明は上述したような構成を有するため、過負荷となる信号の流入を阻止することができると同時にパケットロスの発生を極力防止することができる。
【図面の簡単な説明】
【0028】
【図1】本発明の第1の実施の形態のブロック図である。
【図2】本発明の第1の実施の形態の動作の流れを示すフローチャートである。
【図3】本発明の第2の実施の形態のブロック図である。
【図4】本発明に関連する第1の関連技術のブロック図である。
【図5】本発明に関連する第2の関連技術のブロック図である。
【発明を実施するための形態】
【0029】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態に係る信号処理装置を使用した通信システムは、第1のノード301と第3のノード303との間に、本発明の第2のノード302が配置されている。また、ネットワークの運用・管理・保守を行うためのOAM制御端末304が配置されている。
【0030】
第2のノード302は、第1のノード301から受信したパケット信号を格納する受信キュー3181と、第3のノード303から受信したパケット信号を格納する受信キュー3183と、第1のノード301から外部インタフェース3111を通じて受信したパケット信号を単位時間当たり予め設定された閾値以下の信号数を限度に受信キュー3181に格納する第1の受信タスク部3171と、第3のノード303から外部インタフェース3113を通じて受信したパケット信号を単位時間当たり予め設定された閾値以下の信号数を限度に受信キュー3183に格納する第3の受信タスク部3173と、受信キュー3181、3183からパケット信号を取り出す入力調停タスク部319と、入力調停タスク部319で取り出されたパケット信号を第1のプロトコルを用いて受信する第1の入力タスク部3121と、入力調停タスク部319で取り出されたパケット信号を第3のプロトコルを用いて受信する第3の入力タスク部3133と、第1のノード301に送出されるパケット信号を第1のプロトコルを用いて外部インタフェース3131を通じて送信する第1の出力タスク部3141と、第3のノード303に送出されるパケット信号を第3のプロトコルを用いて外部インタフェース3133を通じて送信する第3の出力タスク部3143と、第1のプロトコルを用いてカプセル化の処理を行う第1の再入力タスク部3151と、第3のプロトコルを用いてカプセル化の処理を行う第3の再入力タスク部3153と、OAM制御端末304から外部インタフェース3112を通じて送られてくるコマンドを受信する第2の入力タスク部3122と、OAM制御端末304に送出されるコマンド処理結果をOAM制御端末304に外部インタフェース3132を通じて送信する第2の出力タスク部3142と、これら第1〜第3の入力タスク部3121〜3123、第1〜第3の出力タスク部3141〜3143、ならびに第1および第3の再入力タスク部3151、3153の制御を行う制御タスク部316とを備えている。
【0031】
受信キュー3181および受信キュー3183は、好ましくは、パケット信号の優先度別に設けられていることが望ましい。この場合、第1の受信タスク部3171および第3の受信タスク部3173は、受信したパケット信号の優先度を判別し、判別した優先度に対応する受信キュー3181および受信キュー3183にパケット信号を格納する。また、入力調停タスク部319は、受信キュー3181および受信キュー3183の両方を検査し、最も優先度の高い受信キュー3181、3183から順にパケット信号を取り出し、受信キュー3181から取り出したパケット信号は第1の入力タスク部3121に送信し、受信キュー3183から取り出したパケット信号は第3の入力タスク部3123に送信する。
【0032】
また、第2のノード302は、CPU(Central Processing Unit)321と、その制御プログラムとしてのOS(Operating System)を格納したり、データ処理用のメモリ領域を備えたメモリ322とを有している。
【0033】
ここで、第1の受信タスク部3171および第3の受信タスク部3173は、上述したように、受信キュー3181および受信キュー3183に格納される単位時間当たりのパケット信号の最大数が予め設定された上限閾値を超えないように制御する。第1の受信タスク部3171および第3の受信タスク部3173は、上限閾値を超えるパケット信号は無条件に破棄する。例えば、第1および第3の受信タスク部3171、3173は、外部のノード(この例では第1のノード301と第3のノード303)からパケット信号が1つ受信される毎に発生するハードウェア割込みを契機に起動される。また、第1の受信タスク部3171および第3の受信タスク部3173は、一定の周期で発生するタイマー割込みによっても起動される。第1の受信タスク部3171および第3の受信タスク部3173は、タイマー割込みを契機に起動すると、受付パケット信号数を保持する変数を0クリアする。第1の受信タスク部3171および第3の受信タスク部3173は、パケット受信によるハードウェア割込みを契機に起動すると、受付パケット信号数を保持する変数を+1し、閾値と比較する。変数の値が閾値を超えていれば、直ちに処理を終了する。この場合、割込みの原因となったパケット信号は結果的に破棄される。変数の値が閾値を超えていなければ、受信したパケット信号を解析し、その優先度を判定した上で、優先度毎に分かれた受信キュー3181および受信キュー3183に格納する。また、第1の受信タスク部3171および第3の受信タスク部3173は、受付パケット信号数を保持する変数が閾値を超えていることを検出した時点で、パケット受信によるハードウェア割込みをマスクするようにしてもよい。この場合、第1の受信タスク部3171および第3の受信タスク部3173は、タイマー割込み時に上記のマスクを解除する。
【0034】
また、第1および第3の出力タスク部3141、3143は、外部のノード(この例では第1のノード301と第3のノード303)にパケット信号を1つずつ送信する機能部である。第1および第3の再入力タスク部3151、3153は、IP(Internet Protocol)トンネルのように、信号がカプセル化された構造を持つ場合の処理に使用される。すなわち、パケット信号の外側に相当する箇所のプロトコル処理後に、内側に相当する箇所の信号を取り出したり、逆に受信した信号の処理後にカプセル化処理として、外側に相当する箇所にプロトコルのヘッダを付加した上で送信を行うことがある。第1および第3の再入力タスク部3151、3153は、このようなカプセル化処理を行うために使用される。
【0035】
また第2の入力タスク部3122は、外部のOAM制御端末304からコマンドを1つずつ受信する機能部であり、第2の出力タスク部3142は、外部のOAM制御端末304にコマンド処理結果を1つずつ送信する機能部である。
【0036】
制御タスク部316は、受信したパケット信号についてカプセル化処理が必要だと判断した場合、その信号を第1あるいは第3の再入力タスク部3151、3153のうちの該当するものに送信する。第1あるいは第3の再入力タスク部3151、3153は、制御タスク部316から受信したパケット信号についてカプセル化処理を行う。そして、これらの信号が外部のノードから受信されて処理されたかのようにカプセル化処理された信号を再度、制御タスク部316に送信する。
【0037】
また制御タスク部316は、第2の入力タスク部3122で受信されたOAM制御端末304からのコマンドを解釈し、そのコマンドで要求された処理を実行し、処理結果を第2の出力タスク部3142を通じてOAM制御端末304へ出力する。OAMについては、各レイヤごとに標準化が進められており、SONET/SDH OAM、ATM OAM、Ethernet(登録商標)OAM、IP OAM、MPLS OAMなどがある。また、それぞれ必要なコマンドが定義されている。例えばIEEE802.3ahとして標準化が行われているEthernet OAMには、OAMの設定情報およびポートの設定情報を表示するためのコマンド、OAMに関する統計情報を表示するためのコマンド、OAMに関する統計情報をクリアするためのコマンド、OAMプログラムを再起動するためのコマンド、OAMプログラムで採取している詳細イベントトレース情報および制御テーブル情報をファイルへ出力するためのコマンドなどが定義されている。
【0038】
2系統の受信タスク部3171、3173、入力タスク部2121、2133、出力タスク部2141、2143および再入力タスク部2151、2153は例示であり、本実施の形態の第2のノード302は、任意数の通信プロトコルに対応することができる。
【0039】
図1に例示した第1〜第3の受信タスク部3171〜3173は、優先度が1番高い階層としての実行プライオリティを持っている。第1〜第3の出力タスク部3141〜3143は、優先度が2番目に高い階層としての実行プライオリティを持っている。制御タスク部316は、優先度が3番目に高い階層としての実行プライオリティを持っている。第1および第3の再入力タスク部3151、3153は、優先度が4番目に高い階層としての実行プライオリティを持っている。第2の入力タスク部3122は、優先度が5番目に高い階層としての実行プライオリティを持っている。第1および第3の入力タスク部3121、3123は、優先度の一番低い階層としての実行プライオリティを持っている。このような実行プライオリティの設定は、メモリ322内に格納されたOSに記述されている。
【0040】
図2は、第2のノードのOSが各タスク部の処理を行う手順を表したものである。第2のノード302は、図1に示したCPU321がメモリ322内に格納されたOSを実行することで、図1に示した第1〜第3の受信タスク部3171〜3173、入力調停タスク部319、第1〜第3の入力タスク部3121〜3123、第1〜第3の出力タスク部3141〜3143、第1および第3の再入力タスク部3151、3153および制御タスク部316の制御を行うようになっている。
【0041】
まず、CPU321は、第2のノード302内でタスクが存在する(処理すべきデータが存在する)優先度の最も高いタスク部を判別する(ステップS401)。このようなタスク部が存在していれば(ステップS402でY)、そのタスク部の処理を単位量だけ実行し(ステップS403)、再度、ステップS401に戻る。単位量としては、例えば1つのパケット信号、1つのコマンドとすることができる。勿論、1つ以上のパケット信号やコマンドを単位量としてもよい。例えば、パケット信号の受信に伴うハードウェア割込みがなく、第1の出力タスク部3141と第3の出力タスク部3143が共にパケット信号の送信に関するタスクを有しており、第2の出力タスク部3142がコマンド処理結果の送信に関するタスクを有していた場合、これらのタスクが完全に処理されるまで、制御タスク部316およびこれよりも低い階層のタスクの処理は行われない。
【0042】
ここで、第1の出力タスク部3141と第2の出力タスク部3142と第3の出力タスク部3143の間で、何れのタスクの処理を優先するかについて特に定めはない。従って、これら同一階層のタスクについては、時分割処理を行っても良い。ステップS402で第2のノード302内に何らのタスクも存在しないと判別された場合には、再度、ステップS401に戻って、タスクが存在するようになるまで処理を待機することになる。
【0043】
例えば第2のノード302がある時点で立ち上げられたとし、その時点で各タスク部3121〜3123、3141〜3143、3151、3153、316、3171〜3173に処理すべきタスクが存在しなかったとする。それ以後のある時点に、図1に示す第1のノード301からパケット信号が外部インタフェース3111を通じて連続して受信されたとする。このとき、各パケット信号の受信毎にハードウェア割込みが発生し、第1の受信タスク部3171による処理が実行される(ステップS403)。第1の受信タスク部3171は、パケット信号の優先度を判定し、優先度別の受信キュー3181に格納する。第1の受信タスク部3171は相対的に1番高い優先度を持つため、他のタスク部3122、3123、3141〜3143、3151、3153、316よりも優先的に実行される。これにより、パケット信号が受信されたのにもかかわらず受信キューに格納されず破棄される事態、すなわちパケットロスが防止される。但し、過剰な受信パケットがノード内に流入するのを防ぐために、第1の受信タスク部3171は、単位時間当たりの受信処理の閾値を持っており、この閾値を超えるパケット信号は無条件に破棄する。
【0044】
第1の受信タスク部3171のタスクがなくなると、入力調停タスク部319は最も低い優先度であるけれども、その時点では他のタスク部3121〜3123、3141〜3143、3151、3153、316、3171〜3173にタスクが存在しないため、入力調停タスク部319が、受信キュー3181からパケット信号を取り出し、第1の入力タスク部3121に送信する(ステップS403)。
【0045】
入力調停タスク部319による処理が完了すると、ステップS401に処理が戻り、最も高い優先度のタスク部が判別される。この場合には、第1の入力タスク部3121が該当するので、第1の入力タスク部3121が入力調停タスク部319からのパケット信号を入力するための処理を実行する(ステップ403)。
【0046】
第1の入力タスク部312による処理が完了すると、処理後の信号は制御タスク部316に送られる。そして、ステップS401に処理が戻り、最も高い優先度のタスク部が判別される。この場合には、制御タスク部316が最も優先度が高くなる。そこで、この例の場合には、次に制御タスク部316でのタスク処理が実行される(ステップS403)。そして、この結果、カプセル化の処理が必要と判別されれば処理後の信号は前記したように第1の再入力タスク部315に送られ、このような処理が不要な場合には第1の出力タスク部314に送られる。
【0047】
次の段階ではステップS401に戻って第2のノード302内での優先度の最も高いタスク部が選択される。このとき、第1のノード301との間の通信処理と並行して、第3のノード303との通信も行われており、さらにOAM制御端末304との通信も行われていたとする。このような場合には、各タスク部3121〜3123、3141〜3143、3151、3153、316、3171〜3173、319がそれぞれ処理すべきタスクを複雑に有していることになる。
【0048】
本実施の形態では、ハードウェア的な受信処理を除き、受信側から送信側に向けて、各タスク部3121〜3123、3141〜3143、3151、3153、316、319の優先度が順に高まるように設定されている。従って、制御タスク部316から単純に第1あるいは第3の出力タスク部3141、3143に送出された信号と、第1あるいは第3の再入力タスク部3151、3153にカプセル化の処理を行うために回された信号とがあった場合、第1あるいは第3の出力タスク部3141、3143に送出された信号の方が優先度が高いので、これらがまず処理されることになる。
【0049】
このように本実施の形態では、ハードウェア的な受信処理を除き、受信側から送信側に向けて、各タスク部3121〜3123、3141〜3143、3151、3153、316、319の優先度が順に高まるように設定されているので、送信側の処理が受信側よりも早く処理される。このため、第2のノード302内で受信キュー3181、3183を除き、それぞれ1パケットを単位とするタスクが滞留することがない。従って、CPU321は、効率的に各タスク部3121、3123、3141、3143、3151、3153、316、319の処理をパケット単位で実行することができる。
【0050】
また、本実施の形態によれば、第1および第3の受信タスク部3171、3173において単位時間当たりの受信パケットの流入量を或る閾値以下に制限している。この結果、第2のノード302は、過負荷となる信号の流入を事前に阻止することができる。
【0051】
また、本実施の形態によれば、優先度毎に分かれた受信キュー3181、3183を用意し、第1および第3の受信タスク部3171、3173が受信したパケット信号をその優先度に対応する受信キュー3181、3183に積み込み、入力調停タスク部319が優先度のより高い受信キューから優先的にパケット信号を取り出しているため、パケット信号のQoS等の優先度を考慮した優先処理を行うことができる。
【0052】
更に、本実施の形態によれば、コマンド入力処理の優先度がパケット信号の入力処理の優先度より相対的に高い。このため、新しいパケット信号が次々と到着する過負荷時や輻輳時においてもOAM制御端末304からのコマンド操作が不能になることがなく、コマンド制御が可能になる。
【0053】
[第2の実施形態]
図3は、ゲートウェイ装置に本発明を適用した実施の形態を示したものである。図3において図1と同一部分には同一の符号を付しており、これらの説明を適宜省略する。
【0054】
図3に示したゲートウェイ装置で構成された第2のノード302Aは、IPプロトコル上のSIP(Session Initiation Protocol)機能とRANAP(Radio Access Network Application Part)プロトコル上の3GPP(3rd Generation Partnership Project)の呼処理機能の変換機能を実現するようになっている。このため、この実施の形態は、第1のノード301AがIPルータで構成されており、第3のノード303AがRNC(Radio Network Controller:無線基地局制御装置)で構成されている。
【0055】
図3において、第1の受信タスク部3171、受信キュー3181、入力調停タスク部319、第1の入力タスク部3121、第1の再入力タスク部3151、および第1の出力タスク部3141は、IPプロトコル機能を実現する。また、第3の受信タスク部3173、受信キュー3183、入力調停タスク部319、第3の入力タスク部3123、および第3の出力タスク部3143は、RANAP機能を実現する。さらに、制御タスク部316は、IPプロトコル上のSIP機能とPANAP機能上の3GPPの呼処理機能との変換機能を実現する。
【0056】
本実施形態でも、IP網から受信したパケット信号を受信キュー3181に格納する第1の受信タスク部3171と、移動体網から受信したパケット信号を受信キュー3183に格納する第3の受信タスク部3173と、シリアル回線からコマンドを受信する第2の受信タスク部3172とに対して、処理の優先度が最も高く設定されている。また、インターネットプロトコル(IP)による処理を行ってパケット信号をIP網を通じてIPルータ301に出力する第1の出力タスク部3141と、RANAPによる処理を行ってパケット信号を移動体網を通じてRNC303に出力する第3の出力タスク部3143と、コマンド処理の結果をシリアル回線を通じてOAM制御端末304に出力する第2の出力タスク部3142Aとに対して、2番目に高い優先度が設定されている。また、SIPと3GPPプロトコルの呼処理変換の制御とコマンド処理を行う制御タスク部316が、3番目に高い優先度に設定されている。第1の再入力タスク部3151は、4番目に高い優先度に設定されている。OAM制御端末304からのコマンドを入力する第2の入力タスク部3122は、5番目に高い優先度に設定されている。入力調停タスク部319から送られてくるパケット信号を受信する第1の入力タスク部3121と、入力調停タスク部319から送られてくるパケット信号を受信する第3の入力タスク部3123は、6番目に高い優先度に設定されている。受信キュー3181および受信キュー3183からパケット信号を取り出して第1の入力タスク部3121および第3の入力タスク部3123に送信する入力調停タスク部319は、7番目に高い優先度、すなわち最も低い優先度に設定されている。優先度の設定は、メモリ322内に格納されたOSに記述されている。
【0057】
受信キュー3181および受信キュー3183は、パケット信号の優先度別に設けられている。第1の受信タスク部3171および第3の受信タスク部3173は、受信したパケット信号の優先度を判別し、判別した優先度に対応する受信キュー3181および受信キュー3183にパケット信号を格納する。また、入力調停タスク部319は、受信キュー3181および受信キュー3183の両方を検査し、最も優先度のより高い受信キュー3181、3183から順にパケット信号を取り出し、受信キュー3181から取り出したパケット信号は第1の入力タスク部3121に送信し、受信キュー3183から取り出したパケット信号は第3の入力タスク部3123に送信する。
【0058】
また、第1の受信タスク部3171および第3の受信タスク部3173は、受信キュー3181および受信キュー3183に格納される単位時間当たりのパケット信号の最大数が予め設定された上限閾値を超えないように制御する。第1の受信タスク部3171および第3の受信タスク部3173は、上限閾値を超えるパケット信号は無条件に破棄する。
【0059】
また、第2のノード302は、CPU321と、その制御プログラムとしてのOSを格納したり、データ処理用のメモリ領域を備えたメモリ322とを有している。
【0060】
次に本実施形態の動作を説明する。
【0061】
IP網からノード302に到着したパケット信号は、ハードウェア割込みを起点とした第1の受信タスク部3171で処理される。第1の受信タスク部3171では、閾値をもって、単位時間あたりの許容処理数と比較し、閾値を超えている場合、そのパケット信号は破棄する。閾値を超えていない場合、信号の優先度を調べる。例えば、Ethernet(登録商標)であれば、CoS(Class of Service)フィールドを調べる。信号の優先度に基づき、第1の受信タスク部3171は、受信キュー3181内の適切なキューに信号を積み込む。入力調停タスク部319は、受信キュー3181を検査し、高優先度のキューから優先的にパケット信号を取り出し、第1の入力タスク部3121に送出する。第1の入力タスク部3121では、受信信号のプロトコルに関する信号の入力処理を行い、さらに信号を制御タスク部316に送る。制御タスク部316でプロトコル変換が必要であると判断された場合、適切な信号の変換を行い、RANAPの信号として第3の出力タスク部3143に送られる。第3の出力タスク部3143でRANAPとして必要な送信処理を行い、外部インタフェース3133を通じてRNC303に送信される。第1の出力タスク部3141、第3の出力タスク部3143、制御タスク316で信号が処理されている間はこれらのタスクが優先的に動作するので、新たな信号が第1および第3の受信キュー3181、3183、第1および第3の入力タスク部3121、3123に到着しても、低い優先度でしか処理されない。
【0062】
トンネル処理により、第1の再入力タスク部3151でパケット信号が処理されている場合においても、同様に新たな信号が入力調停タスク部319や第1および第3の入力タスク部3121、3123で処理されるよりは高い優先度で処理される。
【0063】
コマンド入力を第2の入力タスク部3122で受け付けた場合、第1および第3の出力タスク部3141、3143、制御タスク316、第1の再入力タスク部3151で処理が滞留している場合は、コマンド処理は待ち状態となり、過度のコマンド入力が行われることはない。また、入力調停タスク部319や第1および第3の入力タスク部3121、3123で受け付ける入力信号より第2の入力タスク部3122でのコマンド入力処理の優先度が高いため、過度の受信信号が原因となってコマンド操作が不能になることもない。
【0064】
このように本実施形態のノード302は、SIPと3GPPプロトコルのゲートウェイ機能を実現しつつ、自ノードが過負荷状態にならないよう、ノード内の信号の滞留と過度の信号受信をともに防いでいる。
【0065】
さらに、処理しきれないほどの入力信号があった場合も、第1および第3の受信タスク部3171、3173が、一定の閾値をもって入力信号を間引き、さらに入力調停タスク部319、第1の入力タスク部3121、3123が動作するより前に、第2の入力タスク部3122が優先的に動作することで、ノード内の信号の滞留と過度の信号受信をともに防ぎつつ、コマンド処理の優先的な実施は実現している。
【0066】
なお、本実施形態では、第1のプロトコルとしてIPプロトコルを、第3のプロトコルとしてRANAPプロトコルを用いたが、第1および第3のプロトコルは上記以外の他の通信プロトコルであってもよい。
【0067】
[他の実施形態]
【0068】
以上、本発明を幾つかの実施形態を挙げて説明したが、本発明は以上の実施形態にのみ限定されず、その他各種の付加変更が可能である。
【0069】
例えば、図1および図3における第3の受信タスク部3173、第3の出力タスク部3143、第3の入力タスク部3123、および受信キュー3183を省略してもよい。この場合、省略後のノード302は、IPルータや、L2スイッチとして動作し、かつ、優先制御と効率的な輻輳制御を実現する装置として動作する。
【0070】
また、以上の各実施の形態では、本発明がノードあるいは通信装置に適用される場合を示したが、一般に装置内部で複数の処理を行って、その結果を出力する情報処理装置で、内部にデータの滞留を防止する場合に本発明を同様に適用可能である。
【0071】
また、入力から出力に至る一連の処理を複数に区切る区切りの行われる箇所および区切りの総数は、ソフトウェアの機能部やハードウェアの回路部品によって任意に設定可能であり、上述した実施の形態で示したものに限定されるものではない。
【0072】
更に上述した実施の形態では、パケット信号の1つずつをそれぞれ1つのタスクとして処理する前提で説明したが、全く同一の長さのパケットあるいは同一データ量の信号を処理の対象とする必要はない。すなわち、可変長のパケットやデータ量の異なる信号に対して本発明を適用することができる。
【0073】
また本発明の通信装置は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における通信装置であるノード302として機能させる。
【産業上の利用可能性】
【0074】
本発明の信号処理装置、信号処理方法および信号処理プログラムは、例えば受信部でパケット信号を受信して、カプセル化等の信号処理を行った後、相手先の装置にパケット信号として出力する通信装置などに適用可能である。
【符号の説明】
【0075】
301…第1のノード
302…第2のノード
303…第3のノード
304…OAM制御端末
3111〜3113…外部インタフェース
3121…第1の入力タスク部
3122…第2の入力タスク部
3123…第3の入力タスク部
3131〜3133…外部インタフェース
3141…第1の出力タスク部
3142…第2の出力タスク部
3143…第3の出力タスク部
3151…第1の再入力タスク部
3153…第3の再入力タスク部
316…制御タスク部
3171…第1の受信タスク部
3172…第2の受信タスク部
3173…第3の受信タスク部
3181…第1の受信キュー
3183…第3の受信キュー
321…CPU
322…メモリ

【特許請求の範囲】
【請求項1】
単位時間当たり予め設定された閾値以下の信号数を限度に外部から受信した信号を受信キューに格納する信号受信タスク部と、
外部から入力されたコマンドを受信するコマンド受信タスク部と、
前記受信キューから信号を取り出す入力調停タスク部と、
前記取り出された信号を入力する信号入力タスク部と、
前記受信されたコマンドを入力するコマンド入力タスク部と、
前記入力された信号およびコマンドを内部処理する中間タスク部と、
前記内部処理された信号を外部に出力する信号出力タスク部と、
前記内部処理されたコマンドを外部に出力するコマンド出力タスク部と、
前記信号受信タスク部と前記コマンド受信タスク部に対して相対的に1番高い優先度を設定し、前記信号出力タスク部と前記コマンド出力タスク部とに対して前記信号受信タスク部と前記コマンド受信タスク部に比べて低い優先度を設定し、前記中間タスク部に対して前記信号出力タスク部と前記コマンド出力タスク部とに比べて低い優先度を設定し、前記コマンド入力タスク部に対して前記中間タスク部に比べて低い優先度を設定し、前記信号入力タスク部に対して前記コマンド入力タスク部に比べて低い優先度を設定し、前記入力調停タスク部に対して前記信号入力タスク部に比べて低い優先度を設定する優先度情報格納手段と、
前記信号受信タスク部、前記コマンド受信タスク部、前記入力調停タスク部、前記信号入力タスク部、前記コマンド入力タスク部、前記中間タスク部、前記信号出力タスク部、および前記コマンド出力タスク部のうち、処理すべきデータが存在し、前記優先度情報格納手段に格納された処理の優先度がより高いものを処理対象として検出する処理対象検出手段と、
該処理対象検出手段によって検出された処理対象に存在するデータの処理を実行するデータ処理手段と、
該データ処理手段によって処理対象に存在するデータの処理が行われた後、前記処理対象検出手段に処理を移行させる処理移行手段と
を備えることを特徴とする信号処理装置。
【請求項2】
前記受信キューは、信号の優先度別に設けられている
請求項1に記載の信号処理装置。
【請求項3】
前記信号受信タスク部は、信号の優先度を判別し、該判別した優先度に対応する前記受信キューに信号を格納する
請求項2に記載の信号処理装置。
【請求項4】
前記入力調停タスク部は、優先度のより高い前記受信キューから優先的に信号を取り出す
請求項2または3に記載の信号処理装置。
【請求項5】
前記中間タスク部は、
前記入力された信号およびコマンドを内部処理する制御タスク部と、
カプセル化されたパケット信号をデカプセル化したり、その逆の処理を実施する再入力タスク部とから構成され、
前記優先度情報格納手段では、前記制御タスク部に対して前記信号出力タスク部と前記コマンド出力タスク部とに比べて低い優先度が設定され、前記再入力タスク部に対して前記制御タスク部に比べて低く且つ前記コマンド入力タスク部に比べて高い優先度が設定されている
請求項1乃至4の何れかに記載の信号処理装置。
【請求項6】
前記コマンドは、ネットワークの運用・管理・保守を行うためのコマンドである
請求項1乃至5の何れか1項に記載の信号処理装置。
【請求項7】
単位時間当たり予め設定された閾値以下の信号数を限度に外部から受信した信号を受信キューに格納する信号受信タスク部と、
外部から入力されたコマンドを受信するコマンド受信タスク部と、
前記受信キューから信号を取り出す入力調停タスク部と、
前記取り出された信号を入力する信号入力タスク部と、
前記受信されたコマンドを入力するコマンド入力タスク部と、
前記入力された信号およびコマンドを内部処理する中間タスク部と、
前記内部処理された信号を外部に出力する信号出力タスク部と、
前記内部処理されたコマンドを外部に出力するコマンド出力タスク部と、
前記信号受信タスク部と前記コマンド受信タスク部に対して相対的に1番高い優先度を設定し、前記信号出力タスク部と前記コマンド出力タスク部とに対して前記信号受信タスク部と前記コマンド受信タスク部に比べて低い優先度を設定し、前記中間タスク部に対して前記信号出力タスク部と前記コマンド出力タスク部とに比べて低い優先度を設定し、前記コマンド入力タスク部に対して前記中間タスク部に比べて低い優先度を設定し、前記信号入力タスク部に対して前記コマンド入力タスク部に比べて低い優先度を設定し、前記入力調停タスク部に対して前記信号入力タスク部に比べて低い優先度を設定する優先度情報格納手段と、処理対象検出手段と、データ処理手段と、処理移行手段とを有する信号処理装置が実行する信号処理方法であって、
前記処理対象検出手段が、前記信号受信タスク部、前記コマンド受信タスク部、前記入力調停タスク部、前記信号入力タスク部、前記コマンド入力タスク部、前記中間タスク部、前記信号出力タスク部、および前記コマンド出力タスク部のうち、処理すべきデータが存在し、前記優先度情報格納手段に格納された処理の優先度がより高いものを処理対象として検出し、
前記データ処理手段が、前記処理対象検出手段によって検出された処理対象に存在するデータの処理を実行し、
前記処理移行手段が、前記データ処理手段によって処理対象に存在するデータの処理が行われた後、前記処理対象検出手段に処理を移行させる
ことを特徴とする信号処理方法。
【請求項8】
単位時間当たり予め設定された閾値以下の信号数を限度に外部から受信した信号を受信キューに格納する信号受信タスク部と、
外部から入力されたコマンドを受信するコマンド受信タスク部と、
前記受信キューから信号を取り出す入力調停タスク部と、
前記取り出された信号を入力する信号入力タスク部と、
前記受信されたコマンドを入力するコマンド入力タスク部と、
前記入力された信号およびコマンドを内部処理する中間タスク部と、
前記内部処理された信号を外部に出力する信号出力タスク部と、
前記内部処理されたコマンドを外部に出力するコマンド出力タスク部と、
前記信号受信タスク部と前記コマンド受信タスク部に対して相対的に1番高い優先度を設定し、前記信号出力タスク部と前記コマンド出力タスク部とに対して前記信号受信タスク部と前記コマンド受信タスク部に比べて低い優先度を設定し、前記中間タスク部に対して前記信号出力タスク部と前記コマンド出力タスク部とに比べて低い優先度を設定し、前記コマンド入力タスク部に対して前記中間タスク部に比べて低い優先度を設定し、前記信号入力タスク部に対して前記コマンド入力タスク部に比べて低い優先度を設定し、前記入力調停タスク部に対して前記信号入力タスク部に比べて低い優先度を設定する優先度情報格納手段とを有するコンピュータを、
前記信号受信タスク部、前記コマンド受信タスク部、前記入力調停タスク部、前記信号入力タスク部、前記コマンド入力タスク部、前記中間タスク部、前記信号出力タスク部、および前記コマンド出力タスク部のうち、処理すべきデータが存在し、前記優先度情報格納手段に格納された処理の優先度がより高いものを処理対象として検出する処理対象検出手段と、
該処理対象検出手段によって検出された処理対象に存在するデータの処理を実行するデータ処理手段と、
該データ処理手段によって処理対象に存在するデータの処理が行われた後、前記処理対象検出手段に処理を移行させる処理移行手段と
して機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate