JP3705121B2 - Multiprocessor call processing method - Google Patents

Multiprocessor call processing method Download PDF

Info

Publication number
JP3705121B2
JP3705121B2 JP2000363068A JP2000363068A JP3705121B2 JP 3705121 B2 JP3705121 B2 JP 3705121B2 JP 2000363068 A JP2000363068 A JP 2000363068A JP 2000363068 A JP2000363068 A JP 2000363068A JP 3705121 B2 JP3705121 B2 JP 3705121B2
Authority
JP
Japan
Prior art keywords
call
processing
host processor
call processing
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000363068A
Other languages
Japanese (ja)
Other versions
JP2002165239A (en
Inventor
広和 高玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000363068A priority Critical patent/JP3705121B2/en
Publication of JP2002165239A publication Critical patent/JP2002165239A/en
Application granted granted Critical
Publication of JP3705121B2 publication Critical patent/JP3705121B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

【0001】
【産業上の技術分野】
本発明は、呼処理を複数のプロセッサに振り分けて処理するようにしたマルチプロセッサ型呼処理方式に関する。
【0002】
【従来の技術】
従来から、呼処理を複数のプロセッサに振り分けて処理するようにしたマルチプロセッサ型呼処理システムが開発され又、利用に供されている。
マルチプロセッサ型呼処理システムの例として、通話路容量や制御系処理能力それぞれの要求条件が異なる地域に対して、同一システムで迅速かつ効率的にサービスを提供するため、通話路系制御装置と、制御系制御装置を分離したアーキテクチャを採用し、各々独立に拡張できる通信ノードシステムの一例が、“マルチプロセッサノードシステムにおける装置分散制御方式”(信学技報SSE99−106・TM99−49、電子情報通信学会、1999年11月発行)に記載されている。前記文献記載のシステムでは、制御系装置と、通話路系装置とがそれぞれ別の処理モジュールとして分離して実装されているため、システム性能のスケールアップに柔軟に対応が可能である。また、故障範囲がモジュール内に収まる場合、その故障によりシステム全体が停止することを避けられ、処理モジュールを交換するだけで故障から回復できる等の利点がある。
【0003】
また、特開昭62−95049号公報、特開平6−77997号公報、特開平10−233776号公報、特開平10−243095号公報、特開2000−197094号公報、特開2000−224649号公報には、マルチプロセッサ呼処理システムにおける呼処理の振り分け方法が記載されている。これらの公報に記載された呼処理の振り分け方法は、振り分け部が負荷の低い呼処理ユニットを認識できるように、各呼処理ユニットが振り分け部に対して自身の負荷状況を定期的に通知し、これにより、振り分け部は前記通知がない呼処理ユニットは異常状態、例えば輻輳状態にあると認識できようにしている。振り分け部は、これらの状態をもとに、異常状態にない呼処理ユニットに処理を振り分けたり、呼処理の負荷の均一化を図るようにしている。
【0004】
【発明が解決しようとする課題】
しかしながら、システム性能を向上するに際して、処理性能向上と処理の多様化は、しばしばトレードオフの関係にあり、多様な例外処理が存在する場合、前記文献や各公報に記載された発明のように、単に負荷の状況に応じて処理を振り分けてマルチプロセッサ処理するだけでは高速化が十分に達成できないという問題がある。
【0005】
本発明は、規模拡張性、および、機能拡張性に優れ、高速処理可能なマルチプロセッサ型呼処理システムを提供することを課題としている。
【0006】
【課題を解決するための手段】
本発明によれば、呼処理を複数のプロセッサに振り分けて処理するようにしたマルチプロセッサ型呼処理方式において、呼処理を振り分ける振り分け手段と、所定種類の呼の処理を行う複数の呼処理手段と、少なくとも一つのホストプロセッサ手段とを備え、前記各呼処理手段は、自身が処理できない種類の呼の処理を前記振り分け手段によって振り分けられたとき、前記ホストプロセッサ手段に前記呼の処理を依頼し、前記ホストプロセッサ手段は依頼された前記呼の処理を行うことを特徴とするマルチプロセッサ型呼処理方式が提供される。各呼処理手段は、自身が処理できない種類の呼の処理を振り分け手段によって振り分けられたとき、ホストプロセッサ手段に前記呼の処理を依頼し、前記ホストプロセッサ手段は依頼された前記呼の処理を行う。
【0007】
ここで、前記各呼処理手段は、前記ホストプロセッサ手段に依頼した呼及び呼処理を依頼したホストプロセッサ手段を対応付けした呼状態管理表を記憶する第1の記憶手段を有し、前記呼状態管理表を用いて、呼処理をホストプロセッサ手段に依頼している間は、その呼に関して後続するメッセージを該ホストプロセッサ手段へ転送するように構成してもよい。
また、前記各呼処理手段は、呼処理をホストプロセッサ手段に依頼した際に前記振り分け手段に対して処理を依頼した呼及びホストプロセッサ手段を表す処理依頼内容を通知し、前記振り分け手段は、前記処理依頼内容を第2の記憶手段に記憶し、前記第2の記憶手段に記憶された処理依頼内容を参照して、前記呼当ての後続するメッセージを該当するホストプロセッサ手段に送信するように構成してもよい。
また、前記各呼処理手段は、呼処理をホストプロセッサ手段に依頼した際に前記振り分け手段に対して処理を依頼した呼及びホストプロセッサ手段を表す処理依頼内容を通知し、前記振り分け手段は、前記処理依頼内容を第2の記憶手段に記憶し、前記第2の記憶手段に記憶された処理依頼内容を参照して、前記呼当ての後続するメッセージを該当する呼処理手段及びホストプロセッサ手段に送信するように構成してもよい。
【0008】
また、前記呼処理手段がホストプロセッサ手段に処理依頼を行う際、処理依頼メッセージに、処理依頼に必要な情報を付加して送信するように構成してもよい。
また、前記ホストプロセッサ手段が処理依頼を受けて呼処理した際、呼処理の依頼をした呼処理手段では処理できないメッセージが後続すると判断した場合、前記後続するメッセージの処理が該ホストプロセッサ手段で全て終了した後、処理終了通知を前記呼処理手段に送信するように構成してもよい。
また、前記振り分け手段又は呼処理手段が呼設定処理をキャンセルする要求を受け取った場合、前記振り分け手段又は呼処理手段が前記キャンセル要求に対する応答を行った後、前記呼処理手段は該当する呼状態管理表におけるエントリの削除処理を行うように構成してもよい。
また、前記呼処理手段を処理機能単位の呼処理を行うように構成してもよい。
【0009】
また、本発明によれば、呼処理を複数のプロセッサに振り分けて処理するようにしたマルチプロセッサ型呼処理方式において、呼処理を振り分ける振り分け手段と、第3の記憶手段と、所定種類の呼の処理を行う複数の呼処理手段と、少なくとも一つのホストプロセッサ手段とを有し、前記各呼処理手段は、自身が処理できない種類の呼の処理を前記振り分け手段によって振り分けられたとき、前記ホストプロセッサ手段に前記呼の処理を依頼すると共に、前記ホストプロセッサ手段に処理を依頼した呼及び該ホストプロセッサ手段名を前記振り分け手段に通知し、前記ホストプロセッサ手段は前記呼処理手段から依頼を受けた呼の処理を行ない、前記振り分け手段は、前記呼処理手段から受信した前記呼及びホストプロセッサ手段名を前記第3の記憶手段に記憶すると共に、前記第3の記憶手段の記憶内容を参照して、前記呼宛の後続するメッセージを該ホストプロセッサ手段に直接送信することを特徴とするマルチプロセッサ型呼処理方式が提供される。各呼処理手段は、自身が処理できない種類の呼の処理を振り分け手段によって振り分けられたとき、ホストプロセッサ手段に前記呼の処理を依頼すると共に、前記ホストプロセッサ手段に処理を依頼した呼及び該ホストプロセッサ手段名を前記振り分け手段に通知する。前記ホストプロセッサ手段は前記呼処理手段から依頼を受けた呼の処理を行なう。前記振り分け手段は、前記呼処理手段から受信した前記呼及びホストプロセッサ手段名を前記第3の記憶手段に記憶すると共に、前記第3の記憶手段の記憶内容を参照して、前記呼宛の後続するメッセージを該ホストプロセッサ手段に直接送信する。
【0010】
【発明の実施の形態】
本発明の実施の形態に係るマルチプロセッサ型呼処理方式について説明するに先立って、先ず、その概要を説明する。
本発明の実施の形態に係るマルチプロセッサ型呼処理方式は、フロントエンドに配設した所定種類の呼の処理(例えば、単純な呼の処理)を行う複数の呼処理ユニット部にて効率的に処理し、前記所定種類以外の呼の処理(例えば、複雑な処理、もしくは、呼処理ユニット部が対応していない処理)については、少なくとも一つ設けられたホストプロセッサ部に処理依頼を行うことで、処理効率の高いシステムを構築している。マルチプロセッサ構成を取ることにより、規模拡張性も実現している。具体的には、呼処理ユニット部で高速な処理を行うために、呼状態管理表を呼処理ユニット部に配置することで、メモリアクセス時間の短縮を図っている。また、プロトコル動作の整合性を保つために、呼処理をホストプロセッサ部に依頼している間は、その呼に関するメッセージを確実に該ホストプロセッサ部へ転送している。
【0011】
また、ホストプロセッサ部で処理すべきメッセージが呼処理ユニット部を経由せずに迅速にホストプロセッサへ到達するように構成することにより、ホストプロセッサ部での処理開始時間を短縮できるようにすると共に、ホストプロセッサ部での処理遅延が減少し、結果としてシステムの処理性能を向上させるようにしている。
また、呼処理ユニット部がホストプロセッサ部に処理の依頼(切り替え要求)を行う際に、処理依頼メッセージ(切り替え要求メッセージ)に、処理依頼に必要な情報(呼状態、呼処理ユニットが受信したメッセージ、呼処理ユニット番号)を追加して送付する。これにより、ホストプロセッサ部によって切り替え要求が承認された場合に、あらためて処理依頼に必要な情報を送らないで済むため、呼処理ユニット部とホストプロセッサ部とのメッセージ交換回数を減らすことが可能になり、したがって、処理速度を向上させることが可能になる。
【0012】
また、ホストプロセッサ部がメッセージを処理した後、該ホストプロセッサ部は、呼処理ユニット部では処理できないメッセージが後続すると判断した場合、それらメッセージの処理が該ホストプロセッサ部で全て終了した後、処理終了の通知(切り替え要求)を呼処理ユニット部に送信する。これにより、ホストプロセッサ部と呼処理ユニット部との間での切り替え回数を減らすことができるため、処理時間を短縮することができる。
また、振り分け部もしくは呼処理ユニット部が呼設定処理をキャンセルする要求を示すキャンセル要求メッセージ受け取った場合、直ちに前記キャンセル要求に対する応答を行い、関連する処理(該当する呼状態表エントリーのクリア)は前記応答の後に行うようにしている。これにより、キャンセル要求メッセージに対する処理遅延を短縮できる。
【0013】
また、呼処理ユニットを処理機能単位(例えば、転送処理機能、名前解決機能等)で構成する。これにより、ある機能に対する処理性能が不足している場合、対応する処理機能を実現する呼処理ユニットを追加すればよいため、機能毎の性能に応じた拡張を実現できるようにしている。また、ある機能の実装方式が変更になった場合にも呼処理ユニットを交換するだけで対応できるため、機能実装の変更に対する柔軟な対応が可能になるようにしている。
また、共通呼状態記憶部を備えるように構成することにより、ホストプロセッサ部への処理依頼時に、振り分け部とホストプロセッサ部間でのみメッセージ伝達が行われるので、振り分け部と呼処理ユニット部間でのメッセージ送受回数を減らして、システム資源を有効に活用できる。
【0014】
以下、本発明の実施の形態について詳細に説明する。図1は、本発明の実施の形態に係るマルチプロセッサ型呼処理方式に使用するマルチプロセッサ型呼処理システムのブロック図であり、また、マルチプロセッサを用いた呼処理方法に適用されるシステムのブロック図である。本実施の形態においては、SIP(Session Initiation Protocol)プロトコル処理を行うプロキシ(Proxy)サーバの例を示している。尚、SIPはアプリケーション層プロトコルであり、複数台のSIP端末装置間で呼の接続、切断を行うために使用されるシグナリング・プロトコルである。
【0015】
図1において、マルチプロセッサ型呼処理システムは、振り分け手段を構成する振り分け部101、フロントエンドに配設され各々呼処理手段を構成する複数の呼処理ユニット105、105、・・・、ホストプロセッサ手段を構成する一つまたは複数のホストプロセッサ109、109、・・・、および加入者データベース110から構成される。
呼処理ユニット105、105・・・は、所定種類の呼の処理(例えば、単純な呼の処理)、つまり、予め定めた所定の処理のみを行い、前記所定種類以外の呼の処理(例えば、複雑な処理、もしくは、呼処理ユニット部が対応していない処理)については、少なくとも一つ設けられたホストプロセッサ部109、109、・・・に処理を依頼をする機能を有している。また、各呼処理ユニット105、105・・・の処理対象は後述するように各々相違するように設定できるが(例えば、音声信号の処理、呼処理ユニット105はビデオ信号の処理)、ここでは、同一のものを想定している。
【0016】
振り分け部101は、外部ネットワークから受信したメッセージを、どの呼処理ユニット105、105、・・・で処理すべきかを決定する機能を有しており、メッセージ送受信手段を構成するメッセージ送受信部102、メッセージ解析手段を構成するメッセージ解析部103、および、呼処理ユニット番号対応表が記憶され第2の記憶手段を構成する呼処理ユニット状態管理部104から成っている。メッセージ送受信部102は外部との間でメッセージの送受信を行う。メッセージ解析部103は、メッセージ送受信部102で受信したメッセージ内容を解析し、そのメッセージが対象としている呼を識別するための呼識別子(Call-ID:呼ID)を該メッセージから抽出する(必要であれば、呼IDのみならず送信元アドレス及び宛先アドレスも抽出する)。呼処理ユニット状態管理部104は、呼ID(必要であれば、呼IDのみならず送信元アドレス及び宛先アドレス)と呼処理ユニット105、105、・・・、若しくは、呼ID(必要であれば、呼IDのみならず送信元アドレス及び宛先アドレス)とホストプロセッサ109、109、・・・との対応関係を記憶して管理している。メッセージ解析部103は、呼処理ユニット状態管理部104の記憶内容を参照することで、メッセージの転送先を決定することができる。
【0017】
尚、メッセージはヘッダ部とボディ部から構成されている。ヘッダ部には、主に、このメッセージがどのプロトコル処理に対応しているのかを示すプロトコル処理情報(このメッセージは呼接続を行うのか、呼切断を行うのか等の情報)、及び、メッセージがネットワーク中を正しく伝播するために必要なアドレス情報(送信元アドレス、宛先アドレス、呼を識別するための呼ID、メッセージが伝播してきたコンピュータのアドレス等)が含まれる。また、ボディ部には、SIPとは直接関係のないあらゆる情報(例えば、SIP端末装置間で使用するメディアをネゴシエーションするための情報)が格納される。また、メッセージの種類は、リクエストメッセージとレスポンスメッセージに大別される。リクエストメッセージはメソッド(METHOD:クライアントがサーバに対して行わせる処理であり、例えば、INVITE(呼の接続を要求)、ACK(呼の接続を確認し会議を開始)、BYE(呼を切断)、INFO(呼に関係した情報を送信)等)の種類に対応した数だけ複数存在し又、レスポンスメッセージはレスポンスコード(例えば、100番台は情報通知、200番台は成功、300番台はリダイレクト、400番台はリクエストが間違っていることによる失敗)の種類に対応した数だけ複数存在する。
【0018】
呼処理ユニット部105、105、・・・は、受信したメッセージを入力として、該当する呼状態を遷移させ、それに伴う処理を行う。各呼処理ユニット部105、105、・・・は同一構成されているため、それらの構成を処理ユニット部105を例にとって説明すると、呼処理ユニット部105はメッセージ送受信手段を構成するメッセージ送受信部107、呼処理プロセッサ手段を構成する呼処理プロセッサ部106および、第1の記憶手段を構成する呼状態記憶部108から構成される。メッセージ送受信部107は、振り分け部101、および、ホストプロセッサ部109、109、・・・との間でメッセージを送受信する。呼状態記憶部108は呼状態を表す呼状態管理表を記憶している。
加入者データベース110には加入者のデータが格納されており、メッセージの宛先を加入者データベース110で検索し、転送先が存在するか否かを調べるためのものである。
【0019】
図2に、呼状態記憶部108に記憶された呼状態管理表を示す。呼状態管理表の各エントリーは、呼ID、呼状態、処理を依頼しているホストプロセッサ番号、および、ホストプロセッサ部に転送したメッセージ数から構成される。尚、「null」はホストプロセッサ部に処理依頼をしていないことを表している。呼処理プロセッサ部106は受信したメッセージと、該当する呼状態から、処理を決定し呼処理を行う。
図3に、呼処理ユニット105、105、・・・のメッセージ送受信部107、107、・・・にメッセージが到着してからの処理手順を示しており、各呼処理ユニット105、105、・・・の呼処理プロセッサ部106、106、・・・が図3に示した処理を行う。呼処理ユニット105、105、・・・の処理手順は同一であり、各々、図3の処理を行う。
【0020】
呼処理ユニット105を例にとって図3の処理を説明すると、呼処理ユニット105のメッセージ送受信部107が振り分け部101からメッセージを受信した場合、呼処理プロセッサ部106は該メッセージの内容を分析し(図3の処理ステップA1)、該当する呼状態を呼状態記憶部108から検索する(ステップA2)。ここで、振り分け部101にて抽出した呼ID(必要であれば、呼IDのみならず送信元アドレス及び宛先アドレス)を、振り分け部101が呼処理ユニット105に転送するメッセージに付加し、呼処理プロセッサ部106がそれを参照することで、該当する呼状態を呼状態記憶部108から検索するように構成することもできる。
次に、該当する呼状態が“ホストプロセッサに処理依頼中”かどうかを判断し(ステップA3)、その呼がホストプロセッサに処理依頼中でなければ、呼処理プロセッサ106での処理が開始される(A5〜A122)。
【0021】
この場合、呼処理プロセッサ106では、まずメッセージ種別を判断し(ステップA5)、そのメッセージが呼処理ユニット105自身で処理可能か否か、即ち所定種類の呼か否かを判断する(ステップA6)。処理可能ならば、ステップA2で検索した呼状態を遷移させて呼処理を行う(ステップA7)。その後、それに伴うメッセージ送信処理を行う。この場合、先ず、遷移後の呼状態を呼状態記憶部108に書き込んで更新し(ステップA8)、送信するメッセージがあれば、それを振り分け部131へ送信して終了する(ステップA9)。振り分け部131は前記メッセージをメッセージ送受信部132から外部へ送信する。
ステップA6において、受信したメッセージを呼処理ユニット105自身で処理できないと判断した場合、ホストプロセッサへ処理を依頼する。この場合、先ず、処理を依頼するホストプロセッサを決定する(ステップA10)。このとき、振り分け部101と同じように、ホストプロセッサ109、109、・・・の負荷状態を考慮してホストプロセッサを決定することが考えられる。そして、選択したホストプロセッサに対して、呼処理依頼ができるかどうか尋ねる、つまり、処理依頼通知(切り替え通知)を送信して呼処理依頼(処理の切り替え)が可能か否かを尋ねる(ステップA11)。
【0022】
該ホストプロセッサ部から切り替えが拒否された場合には、ステップA10へ戻り(ステップA12)、別のホストプロセッサ部を選択し、処理を継続する。ホストプロセッサ部によって切り替えが承認された場合(ステップA12)、図11の破線で示すように、該当するホストプロセッサに対して、処理依頼に必要な情報である呼状態、該呼処理ユニット105が受信したメッセージ及び呼処理ユニット105の呼処理ユニット番号を転送し、処理の依頼を行う(ステップA121)。依頼を行う際に用いるメッセージの内容を図4に示す。図4に示すように、依頼メッセージは、呼ID、呼状態、呼処理ユニット105が受信したメッセージ及び呼処理ユニット105の呼処理ユニット番号によって構成される。INFOは、呼に関係した情報を送信する旨を表すメッセージである。なお、処理の依頼が完了する前に呼処理ユニット105に該当する呼宛てのメッセージが振り分け部101から到達した場合、ステップA121でそのメッセージも該ホストプロセッサ部に転送される。
その後、呼状態記憶部108内の呼状態管理表(図2)の該当するエントリーを書き換えて呼状態を更新する(ステップA122)。このときエントリーの呼状態は、“ホストプロセッサに処理依頼中”、ホストプロセッサ番号には、該当するホストプロセッサ部のホストプロセッサ番号が書き込まれる。
【0023】
ステップA3において、該当する呼が“ホストプロセッサで処理中”の場合、受け取ったメッセージを同じホストプロセッサに転送し、その処理を依頼する。
そのために、呼状態記憶部108の該当するエントリーに含まれる転送メッセージ数を1つ増やし(ステップA13)、エントリーに含まれるホストプロセッサ番号から転送先を決定し(ステップA14)、メッセージを転送する(ステップA15)。
ホストプロセッサが依頼された処理を終了すると、依頼を受けた呼処理ユニットに対して、処理を終了する旨を表す終了通知(切り替え要求)を通知する。なお、前記切り替え要求通知には、図5で示す処理結果メッセージが付加される。即ち、呼ID、呼状態及び転送メッセージ数が付加される。
【0024】
図6に呼処理ユニット105、105、・・・がホストプロセッサ109、109、・・・から処理切り替え要求を通知された後の動作手順を示す。各呼処理ユニット105、105、・・・の呼処理プロセッサ106、106、・・・は図6に示した処理を行う。
呼処理ユニット105を例にとって説明すると、メッセージ送受信部107を介して終了通知(切り替え通知)を受信した呼処理プロセッサ106では、呼状態記憶部108の該当する呼の転送メッセージ数と、処理結果に含まれる転送メッセージ数とを比較する(ステップB1)。両者が等しければ、切り替え承認を該ホストプロセッサに伝え(ステップB3)、呼状態記憶部108の呼状態管理表に処理後の呼状態を書き込んで更新する(ステップB4)。
ステップB2において、呼処理ユニット部105が転送したメッセージ数が、該ホストプロセッサから転送されたメッセージ数よりも少ない場合、メッセージが転送中の可能性がある。そこで、両転送メッセージ数が異なる場合、該ホストプロセッサに終了(切り替え)の拒否を伝える(ステップB5)。また、該呼処理ユニット部105の処理負荷が高く処理を行えない場合等にも切り替え拒否を伝えることもできる。切り替え拒否を受信した該ホストプロセッサは、後続メッセージを待って処理を行い、その処理が終わった時点で、再び切り替え要求を該当する呼処理ユニット105に通知する。
【0025】
図7にシステム全体の動作例を示す。この例では、ある呼に対応するメッセージが、呼IDに対応する呼処理ユニット105へ伝達されたものの、呼処理ユニット105では該メッセージの処理ができず、ホストプロセッサ109へ処理を依頼する例を示している。例を説明するために、SIP(Session Initiation Protocol)を用いる。SIPの仕様に関しては、IETF(Internet Engineering Task Force)発行のRFC2543に記載されている。
【0026】
図7において、外部ネットワークからメッセージ#1が振り分け部101に届くと(1)、該メッセージ♯1はメッセージ送受信部102で受信された後、メッセージ解析部103が該メッセージ♯1から呼ID(Call-ID)を抽出し、呼処理ユニット状態管理部104を参照して、転送先の呼処理ユニットを決定する。この例では呼処理ユニット105へ転送する(2)。呼処理ユニット105では、呼処理プロセッサ106がメッセージ種別を判別する(図3のステップA5)。その結果、前記メッセージが呼処理ユニット105では対応していない種類の呼処理であるMETHOD(例えばINFO)である場合、ホストプロセッサに処理を依頼することを決定する。ホストプロセッサ109を転送先に決定し(ステップA10)、ホストプロセッサ109に対して処理依頼(切り替え)通知を行う(3)。
【0027】
ホストプロセッサ109から処理依頼(切り替え)承認を受けると(4)、呼処理ユニット105が保持している呼状態、および、処理を依頼するメッセージを転送する。この例の場合、ホストコンピュータ109への切り替え処理が終了する前に、その呼宛の新たなメッセージ♯2が転送されてきている(5)(6)。こうした場合、呼処理ユニット105は、受信した(6)のメッセージ♯2を保持しておき、処理依頼時に、呼状態、および、最初に受信したメッセージ#1をホストプロセッサ109に転送した(7)後、保持していたメッセージ#2も同じホストプロセッサ109へ転送する(8)。
ホストプロセッサ109に処理依頼中に、該当する呼宛てのメッセージ#3が呼処理ユニット105に転送されてきた場合(9)(10)、呼処理ユニット105は呼状態記憶部108に格納された呼状態管理表を参照して、該当するホストプロセッサ109にメッセージ♯3を転送する(11)。
【0028】
もし、ホストプロセッサ109へ転送したメッセージ#3がホストプロセッサ109に到着する前に、ホストプロセッサ109からの処理終了を表す終了通知(切り替え要求)が通知される(12)と、メッセージ配信の不整合が発生する。しかし、この不整合は、ステップB1において転送メッセージ数を比較することで呼処理ユニット105が発見できるため、終了(切り替え)の否認を行う(13)。
終了の否認を受けたホストプロセッサ109は、メッセージ#3に対する処理を行った後、再び、終了通知(切り替え要求)を通知する。今度は、ステップB1においてメッセージ転送数が一致しているため、終了通知(切り替え)は承認され、呼処理ユニット105へ処理後の呼状態が送信される。呼処理ユニット105は呼状態記憶部108の該当するエントリーを更新する。
【0029】
以上述べた本発明の第1の実施の形態によれば、所定種類の処理のみを行う複数の呼処理ユニット105、105・・・を備えることによってマルチプロセッサ構成としているので、呼処理ユニットを追加することにより、処理単位ごとの追加を容易に行うことができ、したがって、規模拡張性を実現することが可能になる。この場合、前記所定種類の処理は複数の機能の処理であってもよい。
また、制御系装置を、単機能を処理する複数の呼処理モジュール部105、105、・・・と、複雑処理に対応する少なくとも1つのホストプロセッサ部109、109、・・・とに分離し、規模拡張性、および、機能拡張性に優れ、制御系処理能力をさらに高めたマルチプロセッサ型呼処理システムを構築することが可能になる。
【0030】
さらに、フロントエンドに配置した呼処理ユニット105、105、・・・は、呼状態記憶部108、108、・・・内の呼状態管理表にアクセスしながら、単純な呼処理を高速に実現しているため、効率的な呼処理を実現することが可能になる。
さらにまた、呼処理ユニット105、105、・・・は単純な呼処理機能を提供すればよいので、その回路規模を小さくでき、それを複数追加することで、処理性能を低コストで向上させられるため、システムを低コストで実現することが可能になる。
また、プロトコル拡張は、ホストプロセッサ上のソフトウェア変更で対応できるため、柔軟な機能拡張を実現することが可能になる。
【0031】
次に、本発明の第2の実施の形態について説明する。本第2の実施の形態のハードウェア構成は前記第1の実施の形態と同一であり、図1のように構成されれる。
本第2の実施の形態が前記第1の実施の形態と異なる点は、呼処理ユニット105、105、・・・がホストプロセッサ109、109、・・・に呼処理依頼中の場合、図13の破線で示すように、振り分け部101がメッセージを、依頼処理を行っているホストプロセッサ109、109、・・・に直接転送する点である。
【0032】
図14は、呼処理ユニット105、105、・・・のメッセージ送受信部107、107、・・・にメッセージが到着してからの処理手順を示すフローチャートである。各呼処理ユニット105、105、・・・の呼処理プロセッサ部106、106、・・・が図14に示した処理を行う。各呼処理プロセッサ部106、106、・・・は各々図14に示す処理を行うため、呼処理ユニット105の処理を例にとって説明する。
図14において、ステップA1からステップA12の各処理は前記第1の実施の形態の処理動作と同一であるため説明を省略する。
ステップA6で判断した結果、振り分け部101から受信したメッセージを該呼処理ユニット105で処理できない場合、ホストプロセッサ109、109、・・・のいずれかに処理を依頼する。前記第1の実施の形態と異なるのは、処理依頼の後、呼処理プロセッサ部106が、振り分け部101の中にある呼処理ユニット状態管理部104を書き替えて更新する点である(ステップC1)。即ち、呼処理ユニット105がホストプロセッサに処理を依頼した後、呼処理プロセッサ部106は、呼処理ユニット状態管理部104の記憶内容を、該呼に対する処理をホストプロセッサに依頼した旨及び依頼したホストプロセッサの番号を書き込む。
【0033】
ステップC1の処理後、振り分け部101に、該当する呼宛てのメッセージが届いた場合に、メッセージ解析部103は、呼処理ユニット状態管理部104を参照して、図13の破線で示すように、該当する呼の処理を、該当するホストプロセッサに依頼するため、前記メッセージを直接転送する。
また、ステップA3において該当する呼が“ホストプロセッサで処理中”の場合はエラーとなる(ステップE1)。これはステップC1により、振り分け部101の動作を変更させているため、呼処理ユニット105へメッセージが転送されることがありえないためである。なお、第1の実施の形態で用いていた、各呼処理ユニット105、105、・・・が備える転送メッセージカウンタは、本実施の形態では用いない。
【0034】
なお、ホストプロセッサでの処理が正常に終了した場合、振り分け部101の処理動作を変更し、ホストプロセッサ宛てにはメッセージを転送しないようにさせる必要がある。図15に呼処理ユニット105がホストプロセッサからの処理結果を受信した後の動作手順を示す。ステップB2からステップB5までは前記第1の実施の形態の処理手順と同一であるため説明を省略する。ホストプロセッサでの処理が正常に終了して終了通知を受信した場合、ステップD1で呼処理ユニット状態管理部104の記憶内容を、処理を完了した前記ホストプロセッサ宛てにメッセージを送信しないように変更する。
【0035】
図16に本第2の実施の形態におけるシステム全体の動作例を示す。この例では、ある呼に対応するメッセージが、呼IDに対応する呼処理ユニット105へ伝達されたものの、呼処理ユニット105では該メッセージの処理ができず、ホストプロセッサ109へ処理を依頼する例を示している。
図16に示す第2の実施の形態のシステム全体の処理動作が、図7に示す前記第1の実施の形態の処理動作と異なる点は、図16の(4)において呼処理ユニット105がホストプロセッサ109から処理依頼(切り替え)承認を受けた後に、(5)で振り分け部101に、該呼に対する処理をホストプロセッサ109に処理依頼した旨の(切り替え)通知を送信して、振り分け部101の呼処理ユニット状態管理部104を変更する点である(図14のステップC1)。この操作により、(11)でメッセージ#3が振り分け部101に到着した後、該メッセージ♯3は、図13の破線で示すように、振り分け部101からホストプロセッサ109へ直接転送される。ただし、ホストプロセッサ部109から呼処理ユニット部105へ処理切り替えを行った後なので、(16)でホストプロセッサ109へ転送されたメッセージを呼処理ユニット105へ転送しなおしている。
【0036】
ホストプロセッサ109に依頼していた処理が終了し、呼処理ユニット105が終了(切り替え)を承認した後(13)には、処理終了(切り替え)を承認した旨を振り分け部101に通知し(14)、振り分け部101は呼処理ユニット状態管理部104に記憶した呼処理ユニット状態を更新する(D1)。この操作により、これ以降は、該当する呼に対するメッセージは、呼処理ユニット部105、105、・・・だけに転送されることになる。
【0037】
また、図17に第2の実施の形態のシステム全体の処理動作の別の例を示す。この例では、(4)で呼処理ユニット105がホストプロセッサ109から切り替え承認を受けた後、(10)で呼状態とメッセージ#1を転送する前に、メッセージ#3が振り分け部101からホストプロセッサ109へ転送されている。この場合ホストプロセッサ109は転送されてきたメッセージ#3を、(10)および(11)でそれぞれ呼状態、メッセージ#1、および、メッセージ#2が転送されてくるまで保持しておいて、メッセージ番号順に処理を行う。このメッセージ番号はSIPで定義されているシーケンス番号ヘッダ情報(CSeq)を用いる。また、振り分け部101が各呼に対するメッセージにそれぞれ付加することもできる。
同じように(20)でホストプロセッサ109が呼処理ユニット105にメッセージ#4を転送する前に、(19)で、振り分け部101から呼処理ユニット105にメッセージ#5が転送されている。この場合も、呼処理ユニット105は(20)でメッセージ#4が転送されてきた後で、メッセージ#5の処理を行う。
以上のように、本第2の実施の形態によれば、ホストプロセッサ109、109、・・・で処理すべきメッセージが呼処理ユニット105、105、・・・を経由せずにホストプロセッサ109、109、・・・に直接到達するため、ホストプロセッサ109、109、・・・での処理開始時間を短縮できるので、前記第1の実施の形態と比較して、ホストプロセッサ部109、109、・・・での処理遅延が減少し、結果としてシステムの処理性能を向上することが可能になる。
【0038】
次に、本発明の第3の実施の形態について説明する。本第3の実施の形態のハードウェア構成は前記第1の実施の形態と同一であり、図1のように構成されれる。
本第3の実施の形態が前記第1の実施の形態と異なる点は、呼処理ユニット105、105、・・・がホストプロセッサ109、109、・・・に呼処理依頼中の場合、図12の破線で示すように、振り分け部101がメッセージを、呼処理ユニット105、105、・・・だけでなく、ホストプロセッサ109、109、・・・にも転送する点である。
【0039】
図8は、呼処理ユニット105、105、・・・のメッセージ送受信部107、107、・・・にメッセージが到着してからの処理手順を示すフローチャートである。各呼処理ユニット105、105、・・・の呼処理プロセッサ部106、106、・・・が図8に示した処理を行う。各呼処理プロセッサ部106、106、・・・は、図8に示す処理を行うため、呼処理ユニット105の処理を例にとって説明する。
図8において、ステップA1からステップA12、および、ステップA13の各処理は前記第1の実施の形態の処理動作と同一であるため説明を省略する。
ステップA6で判断した結果、振り分け部101から受信したメッセージを該呼処理ユニット105で処理できない場合、ホストプロセッサ109、109、・・・のいずれかに処理を依頼する。前記第1の実施の形態と異なるのは、処理依頼の後、呼処理プロセッサ部106が、振り分け部101の中にある呼処理ユニット状態管理部104を書き替えて更新する点である(ステップC1)。即ち、呼処理ユニット105がホストプロセッサに処理を依頼した後、呼処理プロセッサ部106は、呼処理ユニット状態管理部104の記憶内容を、該呼に対する処理をホストプロセッサに依頼した旨及び依頼したホストプロセッサの番号を書き込む。
【0040】
ステップC1の処理後、振り分け部101に、該当する呼宛てのメッセージが届いた場合に、メッセージ解析部103は、呼処理ユニット状態管理部104を参照して、図12の破線で示すように、該当する呼の処理を振り分けた呼処理ユニット105だけでなく、該当するホストプロセッサにも前記メッセージを転送する。
また、ステップA3において該当する呼が“ホストプロセッサで処理中”の場合、呼処理プロセッサ部106は、呼状態記憶部108の該当するエントリーに含まれる転送メッセージ数を1つ増やした後、そのメッセージは廃棄してしまう(ステップC2)。これはステップC1により、振り分け部101の動作を変更させているため、呼処理ユニット150がメッセージを転送せずとも、同じメッセージが該当するホストプロセッサに到着しているためである。
【0041】
なお、ホストプロセッサでの処理が正常に終了した場合、振り分け部101の処理動作を変更し、ホストプロセッサ宛てにはメッセージを転送しないようにさせる必要がある。図9に呼処理ユニット105がホストプロセッサからの処理結果を受信した後の動作手順を示す。ステップB1からステップB5までは前記第1の実施の形態の処理手順と同一であるため説明を省略する。ホストプロセッサでの処理が正常に終了して終了通知を受信した場合、ステップD1で呼処理ユニット状態管理部104の記憶内容を、処理を完了した前記ホストプロセッサ宛てにメッセージを送信しないように変更する。
【0042】
図10に本第3の実施の形態におけるシステム全体の動作例を示す。この例では、ある呼に対応するメッセージが、呼IDに対応する呼処理ユニット105へ伝達されたものの、呼処理ユニット105では該メッセージの処理ができず、ホストプロセッサ109へ処理を依頼する例を示している。
図10に示す第3の実施の形態のシステム全体の処理動作が、図7に示す前記第1の実施の形態の処理動作と異なる点は、図10の(4)において呼処理ユニット105がホストプロセッサ109から処理依頼(切り替え)承認を受けた後に、(5)で振り分け部101に、該呼に対する処理をホストプロセッサ109に処理依頼した旨の(切り替え)通知を送信して、振り分け部101の呼処理ユニット状態管理部104を変更する点である(図8のステップC1)。この操作により、(10)でメッセージ#3が振り分け部101に到着した後、該メッセージ♯3は、図12の破線で示すように、振り分け部101から呼処理ユニット部105およびホストプロセッサ部109の両方に送信(バイキャスト)される。
【0043】
ホストプロセッサ109に依頼していた処理が終了し、呼処理ユニット105が終了(切り替え)を承認した後(16)には、処理終了(切り替え)を承認した旨を振り分け部101に通知し(17)、振り分け部101は呼処理ユニット状態管理部104に記憶した呼処理ユニット状態を更新する(D1)。この操作により、これ以降は、該当する呼に対するメッセージは、呼処理ユニット部105、105、・・・だけに転送されることになる。
以上のように、本第3の実施の形態によれば、ホストプロセッサ109、109、・・・で処理すべきメッセージが呼処理ユニット105、105、・・・を経由せずにホストプロセッサ109、109、・・・に直接到達するため、ホストプロセッサ109、109、・・・での処理開始時間を短縮できるので、前記第1の実施の形態と比較して、ホストプロセッサ部109、109、・・・での処理遅延が減少し、結果としてシステムの処理性能を向上することが可能になる。
【0047】
なお、前述した各実施の形態は種々の変更が可能である。例えば、前記各実施の形態において、呼処理ユニット部105、105、・・・がキャンセル要求メッセージ等の所定の処理には対応しておらず、前記キャンセル要求メッセージの処理をホストプロセッサ109、109、・・・に依頼した場合、ホストプロセッサ109、109、・・・までキャンセル要求メッセージが伝達された後、ホストプロセッサ109、109、・・・でキャンセル処理を行い、その結果を呼処理ユニット部105、105、・・・へ伝えるように処理が行われる。それに対して、振り分け部101もしくは呼処理ユニット部105、105、・・・が呼設定処理をキャンセルする要求を受け取った場合、振り分け部101もしくは呼処理ユニット部105、105、・・・が直ちにキャンセル要求に対する応答を行い、関連する処理(該当する呼状態管理表のエントリーのクリア)は呼処理ユニット部105、105、・・・が応答の後に行うようにしてもよい。これにより、キャンセル要求メッセージ等の所定のメッセージに対する処理遅延を短縮できる。
【0048】
また、ホストプロセッサ109、109、・・・が呼処理の依頼を受けて呼処理した際、ホストプロセッサ109、109、・・・が前記呼処理を依頼した呼処理ユニット部105、105、・・・では処理できないメッセージが後続すると判断した場合、それらメッセージの処理が該ホストプロセッサで全て終了した後、処理終了通知を、依頼した呼処理ユニットに送信するようにしてもよい。
例えば、ホストプロセッサから、依頼した呼処理ユニットに対して、処理終了許可のリクエストメッセージを送信し、該呼処理ユニットからレスポンスメッセージを受信するまでは、呼処理を依頼した呼処理ユニット部では処理できないメッセージが後続すると判断するようにすればよい。これにより、ホストプロセッサと呼処理ユニットとの間での切り替え回数を低減することができ、処理時間を短縮することが可能になる。
【0049】
また、呼処理ユニット105、105、・・・を処理機能単位(例えば、転送処理機能、名前解決機能等)で構成するようにしてもよい。これにより、機能毎の性能に応じた拡張を実現できるため、ある機能に対する処理性能が不足している場合、対応する処理機能を実現する呼処理ユニットを追加すればよい。また、機能実装の変更に対する柔軟な対応が可能になるため、ある機能の実装方式が変更になった場合にも、ユニットを交換するだけで対応可能になる。
【0050】
【発明の効果】
本発明によれば、規模拡張性、および、機能拡張性に優れ、高速処理可能なマルチプロセッサ型呼処理方式を提供することが可能になる。
【図面の簡単な説明】
【図1】 本発明の第1乃至第3の実施の形態に使用するマルチプロセッサ型呼処理システムのブロック図である。
【図2】 本発明の実施の形態に使用する呼状態管理表を示す図である。
【図3】 本発明の第1の実施の形態における処理を示すフローチャートである。
【図4】 本発明の実施の形態で使用する依頼メッセージを示す図である。
【図5】 本発明の実施の形態で使用する処理結果メッセージを示す図である。
【図6】 本発明の第1の実施の形態における処理を示すフローチャートである。
【図7】 本発明の第1の実施の形態における処理を示す説明図である。
【図8】 本発明の第3の実施の形態における処理を示すフローチャートである。
【図9】 本発明の第3の実施の形態における処理を示すフローチャートである。
【図10】 本発明の第3の実施の形態における処理を示す説明図である。
【図11】 本発明の第1の実施の形態に使用するマルチプロセッサ型呼処理システムの説明図である。
【図12】 本発明の第3の実施の形態に使用するマルチプロセッサ型呼処理システムの説明図である。
【図13】 本発明の第2の実施の形態における処理を示す説明図である。
【図14】 本発明の第2の実施の形態における処理を示すフローチャートである。
【図15】 本発明の第2の実施の形態における処理を示すフローチャートである。
【図16】 本発明の第2の実施の形態における処理を示す説明図である。
【図17】 本発明の第2の実施の形態における処理を示す説明図である。
【符号の説明】
101・・・振り分け手段を構成する振り分け部
102、107、107・・・メッセージ送受信手段を構成するメッセージ送受信部
103・・・メッセージ解析手段を構成するメッセージ解析部
104・・・第2の記憶手段を構成する呼処理ユニット状態管理部
105、105・・・呼処理手段を構成する呼処理ユニット部
106、106・・・呼処理プロセッサ手段を構成する呼処理プロセッサ部
108、108・・・第1の記憶手段を構成する呼状態記憶部
109、109・・・ホストプロセッサ手段を構成するホストプロセッサ部
110・・・加入者データベース
[0001]
[Industrial technical field]
The present invention relates to a multiprocessor call processing system in which call processing is distributed to a plurality of processors for processing.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a multiprocessor type call processing system in which call processing is distributed to a plurality of processors for processing has been developed and used.
As an example of a multiprocessor type call processing system, in order to provide services quickly and efficiently in areas where the requirements of each of the communication path capacity and control system processing capacity are different, the communication path system control device, An example of a communication node system that adopts an architecture in which control system control devices are separated and can be independently extended is “device distributed control system in multiprocessor node system” (Science Technical Report SSE99-106 / TM99-49, Electronic Information) Communication Society, published in November 1999). In the system described in the document, since the control system device and the speech path system device are separately mounted as separate processing modules, it is possible to flexibly cope with a system performance scale-up. In addition, when the failure range is within the module, there is an advantage that the entire system can be prevented from being stopped due to the failure, and the failure can be recovered by simply replacing the processing module.
[0003]
Also, JP-A-62-95049, JP-A-6-77997, JP-A-10-233776, JP-A-10-243095, JP-A-2000-197094, JP-A-2000-224649. Describes a call processing distribution method in a multiprocessor call processing system. In the call processing distribution method described in these publications, each call processing unit periodically notifies the distribution unit of its own load status so that the distribution unit can recognize a call processing unit with a low load. Thereby, the distribution unit can recognize that the call processing unit without the notification is in an abnormal state, for example, a congestion state. Based on these states, the distribution unit distributes processing to call processing units that are not in an abnormal state, and equalizes the load of call processing.
[0004]
[Problems to be solved by the invention]
However, in improving system performance, processing performance improvement and processing diversification are often in a trade-off relationship, and when there are various exception processing, as in the inventions described in the above-mentioned documents and each publication, There is a problem that high speed cannot be sufficiently achieved simply by distributing the processing according to the load situation and performing multiprocessor processing.
[0005]
It is an object of the present invention to provide a multiprocessor type call processing system that is excellent in scale expandability and function expandability and is capable of high-speed processing.
[0006]
[Means for Solving the Problems]
According to the present invention, in a multiprocessor type call processing system in which call processing is distributed to a plurality of processors, the distribution means for distributing call processing, and the plurality of call processing means for processing a predetermined type of call, At least one host processor means, and each call processing means requests the host processor means to process the call when the distribution means distributes a type of call that cannot be processed by itself, A multiprocessor type call processing system is provided in which the host processor means processes the requested call. Each call processing means requests the host processor means to process the call when the distribution means distributes the type of call that cannot be processed by itself, and the host processor means performs the requested call processing. .
[0007]
Here, each of the call processing means has a first storage means for storing a call state management table in which a call requested to the host processor means and a host processor means for which the call processing is requested are associated with each other. The management table may be used to forward subsequent messages regarding the call to the host processor means while requesting call processing from the host processor means.
Each of the call processing means notifies the distribution processor of the request for processing and the content of the processing request representing the host processor means when requesting the call processing to the host processor means. The processing request content is stored in the second storage means, and the message subsequent to the call is transmitted to the corresponding host processor means with reference to the processing request content stored in the second storage means. May be.
Each of the call processing means notifies the distribution processor of the request for processing and the content of the processing request representing the host processor means when requesting the call processing to the host processor means. The processing request content is stored in the second storage means, and the message subsequent to the call is transmitted to the corresponding call processing means and host processor means with reference to the processing request content stored in the second storage means. You may comprise.
[0008]
Further, when the call processing means makes a processing request to the host processor means, information necessary for the processing request may be added to the processing request message and transmitted.
In addition, when the host processor means receives a processing request and performs call processing, if it is determined that a message that cannot be processed by the call processing means that requested the call processing will follow, all processing of the subsequent message is performed by the host processor means. After completion, the processing end notification may be transmitted to the call processing means.
In addition, when the distribution unit or the call processing unit receives a request to cancel the call setting process, the call processing unit responds to the cancellation request, and then the call processing unit An entry deletion process in the table may be performed.
The call processing means may be configured to perform call processing in units of processing functions.
[0009]
Further, according to the present invention, in a multiprocessor type call processing system in which call processing is distributed to a plurality of processors, the call processing distribution unit, the third storage unit, and a predetermined type of call A plurality of call processing means for performing processing, and at least one host processor means, wherein each of the call processing means, when the processing of the type of call that cannot be processed by itself is distributed by the distribution means, the host processor Requesting the call processor to process the call and notifying the distribution means of the call requested to the host processor means and the name of the host processor means, and the host processor means receives the call received from the call processing means. The distribution means executes the call received from the call processing means and the name of the host processor means. 3. A multiprocessor type call processing system characterized in that the subsequent message addressed to the call is directly transmitted to the host processor means with reference to the storage contents of the third storage means while being stored in the storage means of the third storage means. Is provided. Each call processing means requests the host processor means to process the call when the processing of the type of call that cannot be processed by the distribution means is assigned, and calls the host processor means to process the call and the host The processor means name is notified to the sorting means. The host processor means processes a call received from the call processing means. The distribution means stores the call received from the call processing means and the host processor means name in the third storage means, and refers to the storage contents of the third storage means to determine the subsequent address for the call. Messages to be sent directly to the host processor means.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Prior to describing the multiprocessor type call processing system according to the embodiment of the present invention, an outline thereof will be described first.
The multiprocessor type call processing method according to the embodiment of the present invention is efficiently performed by a plurality of call processing units that perform predetermined types of call processing (for example, simple call processing) disposed in the front end. For processing of a call other than the predetermined type (for example, complicated processing or processing not supported by the call processing unit), a processing request is made to at least one host processor provided. , Has built a system with high processing efficiency. By adopting a multi-processor configuration, scalability is also realized. Specifically, in order to perform high-speed processing in the call processing unit, a call state management table is arranged in the call processing unit to shorten the memory access time. Further, in order to maintain the consistency of the protocol operation, while requesting the call processing to the host processor unit, the message related to the call is reliably transferred to the host processor unit.
[0011]
In addition, by configuring the message to be processed in the host processor unit to reach the host processor quickly without going through the call processing unit unit, the processing start time in the host processor unit can be shortened, The processing delay in the host processor is reduced, and as a result, the processing performance of the system is improved.
In addition, when the call processing unit part makes a processing request (switching request) to the host processor unit, the processing request message (switching request message) includes information necessary for the processing request (call status, message received by the call processing unit). The call processing unit number) is added and sent. As a result, when the switching request is approved by the host processor unit, it is not necessary to send the information necessary for the processing request again, so the number of message exchanges between the call processing unit unit and the host processor unit can be reduced. Therefore, the processing speed can be improved.
[0012]
In addition, after the host processor unit processes the message, if the host processor unit determines that a message that cannot be processed by the call processing unit unit follows, the processing ends after all processing of the message is completed by the host processor unit. Is sent to the call processing unit. As a result, the number of times of switching between the host processor unit and the call processing unit unit can be reduced, so that the processing time can be shortened.
Further, when the distribution unit or the call processing unit unit receives a cancel request message indicating a request to cancel the call setting process, it immediately responds to the cancel request, and the related process (clearing the corresponding call state table entry) I do it after the response. Thereby, the processing delay with respect to the cancellation request message can be shortened.
[0013]
Further, the call processing unit is constituted by processing function units (for example, transfer processing function, name resolution function, etc.). As a result, when the processing performance for a certain function is insufficient, a call processing unit that realizes the corresponding processing function may be added, so that the expansion according to the performance for each function can be realized. In addition, even when the mounting method of a certain function is changed, it can be dealt with by simply exchanging the call processing unit, so that it is possible to flexibly cope with the change of the function mounting.
In addition, by configuring so as to include a common call state storage unit, a message is transmitted only between the distribution unit and the host processor unit at the time of processing request to the host processor unit, so between the distribution unit and the call processing unit unit. System resources can be effectively utilized by reducing the number of times messages are sent and received.
[0014]
Hereinafter, embodiments of the present invention will be described in detail. FIG. 1 is a block diagram of a multiprocessor type call processing system used in a multiprocessor type call processing system according to an embodiment of the present invention, and a system block applied to a call processing method using a multiprocessor. FIG. In the present embodiment, an example of a proxy server that performs SIP (Session Initiation Protocol) protocol processing is shown. SIP is an application layer protocol, which is a signaling protocol used to connect / disconnect calls between a plurality of SIP terminals.
[0015]
In FIG. 1, a multiprocessor type call processing system includes a distribution unit 101 that constitutes a distribution unit, and a plurality of call processing units 105 that are arranged in the front end and each form a call processing unit. 1 , 105 2 ... one or more host processors 109 constituting the host processor means 1 , 109 2 ,... And the subscriber database 110.
Call processing unit 105 1 , 105 2 Is a predetermined type of call processing (for example, simple call processing), that is, only predetermined predetermined processing is performed, and call processing other than the predetermined type (for example, complicated processing, or For the processing not supported by the call processing unit, at least one host processor 109 is provided. 1 , 109 2 ,... Have a function to request processing. In addition, each call processing unit 105 1 , 105 2 Can be set to be different from each other as will be described later (for example, processing of an audio signal, call processing unit 105) 2 Are assumed to be the same.
[0016]
The distribution unit 101 transfers the message received from the external network to which call processing unit 105. 1 , 105 2 ,... Has a function for determining whether or not to process, a message transmission / reception unit 102 constituting a message transmission / reception unit, a message analysis unit 103 constituting a message analysis unit, and a call processing unit number correspondence table are stored. The call processing unit state management unit 104 constitutes the second storage means. The message transmission / reception unit 102 transmits / receives messages to / from the outside. The message analysis unit 103 analyzes the content of the message received by the message transmission / reception unit 102, and extracts a call identifier (Call-ID: call ID) for identifying the call targeted by the message from the message (necessary) If there is, not only the call ID but also the source address and destination address are extracted). The call processing unit state management unit 104 includes a call ID (if necessary, a source address and a destination address as well as a call ID) and a call processing unit 105. 1 , 105 2 ,... Or call ID (if necessary, not only call ID but also source address and destination address) and host processor 109 1 , 109 2 ,... Are stored and managed. The message analysis unit 103 can determine the message transfer destination by referring to the stored contents of the call processing unit state management unit 104.
[0017]
The message is composed of a header part and a body part. The header part mainly includes protocol processing information indicating which protocol processing is supported by this message (information such as whether this message performs call connection or call disconnection), and the message in the network. Address information (sender address, destination address, call ID for identifying a call, address of a computer to which a message has been propagated, etc.) necessary for correctly propagating inside is included. The body portion stores all information that is not directly related to SIP (for example, information for negotiating media to be used between SIP terminal devices). The message types are roughly classified into request messages and response messages. The request message is a method (METHOD: processing that the client performs to the server, for example, INVITE (call connection request), ACK (confirm call connection and start conference), BYE (disconnect call), There are as many as the number corresponding to the type of INFO (send information related to the call, etc.), and the response message is a response code (for example, information notification for 100 range, success for 200 range, redirect for 300 range, 400 range) There are multiple as many as the number corresponding to the type of (failure due to wrong request).
[0018]
Call processing unit 105 1 , 105 2 ,... Receives the received message as input, transitions the corresponding call state, and performs processing associated therewith. Each call processing unit 105 1 , 105 2 ,... Have the same configuration, so that the configuration of the processing unit 105 1 As an example, the call processing unit 105 1 Is a message transmitting / receiving unit 107 constituting a message transmitting / receiving means 1 The call processor 106 constituting the call processor means 1 And the call state storage unit 108 constituting the first storage means 1 Consists of Message transceiver 107 1 The distribution unit 101 and the host processor unit 109 1 , 109 2 Send and receive messages to and from. Call state storage unit 108 1 Stores a call state management table representing a call state.
The subscriber database 110 stores subscriber data. The subscriber database 110 searches the subscriber database 110 for the destination of the message and checks whether or not a forwarding destination exists.
[0019]
FIG. 2 shows the call state storage unit 108. 1 The call state management table stored in FIG. Each entry in the call state management table includes a call ID, a call state, a host processor number requesting processing, and the number of messages transferred to the host processor unit. Note that “null” indicates that no processing request has been made to the host processor unit. Call processor 106 1 Determines the processing from the received message and the corresponding call state and performs the call processing.
FIG. 3 shows the call processing unit 105. 1 , 105 2 ,... 1 107 2 ,... Shows a processing procedure after the message arrives, and each call processing unit 105 1 , 105 2 ,... 1 , 106 2 ,... Performs the processing shown in FIG. Call processing unit 105 1 , 105 2 The processing procedure of... Is the same, and the processing of FIG.
[0020]
Call processing unit 105 1 The processing of FIG. 3 will be described with reference to FIG. 1 Message sending and receiving unit 107 1 When the message is received from the distribution unit 101, the call processor 106 1 Analyzes the content of the message (processing step A1 in FIG. 3) and displays the corresponding call state in the call state storage unit 108. 1 (Step A2). Here, the distribution unit 101 uses the call processing unit 105 to extract the call ID extracted by the distribution unit 101 (if necessary, the source address and the destination address as well as the call ID). 1 Added to the message to be transferred to the call processor 106 1 By referring to it, the call state storage unit 108 stores the corresponding call state. 1 It can also comprise so that it may search from.
Next, it is determined whether or not the corresponding call state is “processing request to host processor” (step A3). If the call is not requesting processing to the host processor, call processor 106 1 Is started (A5 to A122).
[0021]
In this case, the call processor 106 1 First, the message type is determined (step A5), and the message is called the call processing unit 105. 1 It is determined whether or not it can be processed by itself, that is, whether or not it is a predetermined type of call (step A6). If processing is possible, the call state searched in step A2 is changed to perform call processing (step A7). Thereafter, a message transmission process associated therewith is performed. In this case, first, the call state after the transition is set to the call state storage unit 108. 1 If there is a message to be transmitted, it is transmitted to the distribution unit 131 and the process is terminated (step A9). The distribution unit 131 transmits the message from the message transmission / reception unit 132 to the outside.
In step A6, the received message is transferred to the call processing unit 105. 1 If it is determined that it cannot be processed by itself, it requests the host processor to perform processing. In this case, first, a host processor to request processing is determined (step A10). At this time, as with the distribution unit 101, the host processor 109 1 , 109 2 It is conceivable to determine the host processor in consideration of the load state of. Then, it asks the selected host processor whether or not a call processing request can be made, that is, sends a processing request notification (switching notification) to ask whether or not the call processing request (processing switching) is possible (step A11). ).
[0022]
When switching is rejected from the host processor unit, the process returns to step A10 (step A12), another host processor unit is selected, and the process is continued. When switching is approved by the host processor unit (step A12), as shown by a broken line in FIG. 1 Received by the call and call processing unit 105 1 The call processing unit number is transferred and a processing request is made (step A121). The contents of the message used when making the request are shown in FIG. As shown in FIG. 4, the request message includes a call ID, a call state, and a call processing unit 105. 1 Received by the call and call processing unit 105 1 Of call processing unit numbers. INFO is a message indicating that information related to a call is transmitted. Note that before the processing request is completed, the call processing unit 105 1 When the message addressed to the call corresponding to the message arrives from the distribution unit 101, the message is also transferred to the host processor unit in step A121.
Thereafter, the call state storage unit 108 1 The call state is updated by rewriting the corresponding entry in the call state management table (FIG. 2) (step A122). At this time, the call state of the entry is “processing request to host processor”, and the host processor number of the corresponding host processor unit is written in the host processor number.
[0023]
In step A3, if the corresponding call is “processing by host processor”, the received message is transferred to the same host processor, and the processing is requested.
Therefore, the call state storage unit 108 1 The number of transfer messages included in the corresponding entry is increased by 1 (step A13), the transfer destination is determined from the host processor number included in the entry (step A14), and the message is transferred (step A15).
When the host processor completes the requested process, it notifies the requested call processing unit of an end notification (switching request) indicating that the process is to end. Note that the processing result message shown in FIG. 5 is added to the switching request notification. That is, the call ID, call state, and number of transfer messages are added.
[0024]
FIG. 6 shows the call processing unit 105. 1 , 105 2 ,... Is the host processor 109. 1 , 109 2 The operation procedure after being notified of the process switching request from. Each call processing unit 105 1 , 105 2 ,... 1 , 106 1 ,... Perform the processing shown in FIG.
Call processing unit 105 1 As an example, the message transmitting / receiving unit 107 1 The call processor 106 that has received the end notification (switch notification) via 1 Then, the call state storage unit 108 1 The number of transfer messages of the corresponding call is compared with the number of transfer messages included in the processing result (step B1). If they are equal, the switch approval is transmitted to the host processor (step B3), and the call state storage unit 108 is notified. 1 The call state after processing is written and updated in the call state management table (step B4).
In step B2, the call processing unit 105 1 If the number of messages transferred by is less than the number of messages transferred from the host processor, the message may be being transferred. Therefore, if the numbers of both transfer messages are different, the host processor is notified of termination (switching) rejection (step B5). The call processing unit 105 1 Even when the processing load is high and processing cannot be performed, it is possible to notify the switch rejection. The host processor that has received the switching refusal waits for a subsequent message and performs processing. When the processing is completed, the host processor again issues a switching request. 1 Notify
[0025]
FIG. 7 shows an operation example of the entire system. In this example, the message corresponding to a certain call is the call processing unit 105 corresponding to the call ID. 2 Is transferred to the call processing unit 105 2 In this case, the message cannot be processed, and the host processor 109 1 An example of requesting processing is shown. In order to explain the example, SIP (Session Initiation Protocol) is used. The SIP specification is described in RFC2543 issued by IETF (Internet Engineering Task Force).
[0026]
In FIG. 7, when message # 1 arrives at the distribution unit 101 from the external network (1), the message # 1 is received by the message transmission / reception unit 102, and then the message analysis unit 103 receives a call ID (Call ID) from the message # 1. -ID) is extracted, and the call processing unit state management unit 104 is referenced to determine a call processing unit as a transfer destination. In this example, the call processing unit 105 2 (2). Call processing unit 105 2 The call processor 106 2 Determines the message type (step A5 in FIG. 3). As a result, the message is transferred to the call processing unit 105. 2 In the case of METHOD (for example, INFO), which is a type of call processing that is not supported, the host processor is determined to request processing. Host processor 109 1 As the transfer destination (step A10), and the host processor 109 1 A processing request (switching) notification is sent to (3).
[0027]
Host processor 109 1 When a processing request (switching) approval is received from (4), the call processing unit 105 2 The call state and the message requesting processing are transferred. In this example, the host computer 109 1 Before the switching process is completed, a new message # 2 addressed to the call has been transferred (5) (6). In such a case, the call processing unit 105 2 Holds the received message # 2 of (6), and at the time of processing request, the host processor 109 stores the call state and the first received message # 1. 1 (7) after the message is transferred to the same host processor 109 1 (8).
Host processor 109 1 Message # 3 addressed to the corresponding call during the processing request to the call processing unit 105. 2 (9) and (10), the call processing unit 105 2 Call state storage unit 108 2 Referring to the call state management table stored in the corresponding host processor 109, 1 Message # 3 is transferred to (11).
[0028]
If the host processor 109 1 Message # 3 transferred to the host processor 109 1 Before arriving at the host processor 109 1 When an end notification (switching request) indicating the end of processing from is notified (12), inconsistency in message delivery occurs. However, this inconsistency is caused by comparing the number of forwarded messages in step B1. 2 Therefore, the termination (switching) is denied (13).
Host processor 109 that has been denied termination 1 After processing the message # 3, again notifies the end notification (switching request). This time, since the number of message transfers matches in step B1, the end notification (switching) is approved, and the call processing unit 105 2 The processed call state is transmitted to. Call processing unit 105 2 Call state storage unit 108 2 Update the corresponding entry in.
[0029]
According to the first embodiment of the present invention described above, a plurality of call processing units 105 that perform only a predetermined type of processing. 1 , 105 2 Since a multi-processor configuration is provided, it is possible to easily add each processing unit by adding a call processing unit, and thus it is possible to realize scale scalability. In this case, the predetermined type of processing may be processing of a plurality of functions.
In addition, the control system device includes a plurality of call processing module units 105 that process a single function. 1 , 105 2 ,..., At least one host processor unit 109 corresponding to complex processing 1 , 109 2 ,..., And can be constructed as a multiprocessor type call processing system that is excellent in scale expandability and function expandability and that further enhances control system processing capability.
[0030]
Further, a call processing unit 105 arranged at the front end. 1 , 105 2 ,... Are the call state storage unit 108. 1 , 108 2 ,...,...,..., Because simple call processing is realized at high speed while accessing the call state management table. Thus, efficient call processing can be realized.
Furthermore, the call processing unit 105 1 , 105 2 Since it is only necessary to provide a simple call processing function, the circuit scale can be reduced, and by adding a plurality of them, the processing performance can be improved at a low cost, thereby realizing the system at a low cost. It becomes possible.
In addition, since protocol expansion can be handled by software change on the host processor, flexible function expansion can be realized.
[0031]
Next, a second embodiment of the present invention will be described. The hardware configuration of the second embodiment is the same as that of the first embodiment, and is configured as shown in FIG.
The second embodiment is different from the first embodiment in that the call processing unit 105 1 , 105 2 ,... Is the host processor 109. 1 , 109 2 If you are requesting call processing, ... FIG. As shown by the broken line in FIG. 5, the distribution unit 101 sends a message to the host processor 109 that is performing the request processing. 1 , 109 2 It is a point to transfer directly to.
[0032]
FIG. Call processing unit 105 1 , 105 2 ,... 1 107 2 .. Is a flowchart showing a processing procedure after a message arrives at. Each call processing unit 105 1 , 105 2 ,... 1 , 106 2 ,···But FIG. Perform the process shown in. Each call processor 106 1 , 106 2 , ... are each FIG. In order to perform the processing shown in FIG. 1 This process will be described as an example.
FIG. In FIG. 8, the processing from step A1 to step A12 is the same as the processing operation of the first embodiment, and the description thereof is omitted.
As a result of the determination in step A6, the message received from the distribution unit 101 is transferred to the call processing unit 105. 1 If it cannot be processed by the host processor 109, 1 , 109 2 Request processing to any of. The difference from the first embodiment is that the call processor 106 after the processing request is made. 1 However, the call processing unit state management unit 104 in the distribution unit 101 is rewritten and updated (step C1). That is, the call processing unit 105 1 Call the host processor, the call processor 106 1 Writes the information stored in the call processing unit state management unit 104 to the effect that the host processor is requested to process the call and the number of the requested host processor.
[0033]
After the process of step C1, when the message addressed to the corresponding call arrives at the distribution unit 101, the message analysis unit 103 refers to the call processing unit state management unit 104, FIG. As indicated by the broken line, the message is directly transferred to request the corresponding host processor to process the corresponding call.
If the corresponding call is “processing by host processor” in step A3, an error occurs (step E1). This is because the operation of the distribution unit 101 is changed in step C1, so that the call processing unit 105 is changed. 1 This is because a message cannot be forwarded to. Each call processing unit 105 used in the first embodiment is used. 1 , 105 2 ,... Are not used in the present embodiment.
[0034]
When the processing in the host processor ends normally, it is necessary to change the processing operation of the distribution unit 101 so that the message is not transferred to the host processor. FIG. Call processing unit 105 1 Shows the operation procedure after receiving the processing result from the host processor. Steps B2 to B5 are the same as the processing procedure of the first embodiment, and a description thereof will be omitted. When the processing in the host processor ends normally and an end notification is received, in step D1, the stored contents of the call processing unit state management unit 104 are changed so as not to send a message to the host processor that has completed the processing. .
[0035]
FIG. Shows an operation example of the entire system according to the second embodiment. In this example, the message corresponding to a certain call is the call processing unit 105 corresponding to the call ID. 2 Is transferred to the call processing unit 105 2 In this case, the message cannot be processed, and the host processor 109 1 An example of requesting processing is shown.
FIG. The processing operation of the entire system of the second embodiment shown in FIG. 7 is different from the processing operation of the first embodiment shown in FIG. FIG. Call processing unit 105 in (4) of FIG. 2 Is the host processor 109 1 After receiving the processing request (switching) approval from the host processor 109, the distribution unit 101 is processed by the host processor 109 in (5). 1 (Switching) notification to the effect that the processing has been requested is transmitted to change the call processing unit state management unit 104 of the distribution unit 101 ( FIG. Step C1). With this operation, after message # 3 arrives at distribution unit 101 in (11), message # 3 is FIG. As shown by the broken line in FIG. 1 Directly transferred to. However, the host processor unit 109 1 To call processing unit 105 2 Since the processing has been switched to the host processor 109 in (16). 1 The message transferred to the call processing unit 105 2 Transferring to again.
[0036]
Host processor 109 1 The processing requested to be completed is completed, and the call processing unit 105 2 After approving the end (switching), the distribution unit 101 is notified that the processing end (switching) has been approved (14), and the distribution unit 101 stores the call stored in the call processing unit state management unit 104. The processing unit state is updated (D1). From this point onward, a message for the corresponding call is transmitted to the call processing unit section 105 thereafter. 1 , 105 2 , ... will be transferred only.
[0037]
Also, FIG. Another example of the processing operation of the entire system according to the second embodiment is shown in FIG. In this example, call processing unit 105 in (4). 2 Is the host processor 109 1 Message # 3 is sent from the distribution unit 101 to the host processor 109 before the call status and message # 1 are transferred in (10) after receiving the switching approval from. 1 Has been transferred to. In this case, the host processor 109 1 Holds the transferred message # 3 until the call state, message # 1, and message # 2 are transferred in (10) and (11), respectively, and performs processing in the order of the message numbers. This message number uses sequence number header information (CSeq) defined by SIP. In addition, the distribution unit 101 can add the message to each call.
Similarly, in (20), the host processor 109 1 Call processing unit 105 2 Before transferring message # 4 to the call processing unit 105 from the distribution unit 101 in (19). 2 Message # 5 has been forwarded. Again, the call processing unit 105 2 After message # 4 has been transferred in (20), message # 5 is processed.
As described above, according to the second embodiment, the host processor 109 1 , 109 2 ,... Are messages to be processed by the call processing unit 105. 1 , 105 2 ,... Without going through the host processor 109 1 , 109 2 ,... To reach directly, the host processor 109 1 , 109 2 Since the processing start time at... Can be shortened, the host processor unit 109 is compared with the first embodiment. 1 , 109 2 ,... Is reduced, and as a result, the processing performance of the system can be improved.
[0038]
Next, a third embodiment of the present invention will be described. The hardware configuration of the third embodiment is the same as that of the first embodiment, and is configured as shown in FIG.
The third embodiment is different from the first embodiment in that the call processing unit 105 1 , 105 2 ,... Is the host processor 109. 1 , 109 2 ,... Are in a call processing request, as shown by a broken line in FIG. 1 , 105 2 In addition to the host processor 109 1 , 109 2 ,... Are also transferred.
[0039]
FIG. 8 shows the call processing unit 105. 1 , 105 2 ,... 1 107 2 .. Is a flowchart showing a processing procedure after a message arrives at. Each call processing unit 105 1 , 105 2 ,... 1 , 106 2 ,... Performs the processing shown in FIG. Each call processor 106 1 , 106 2 ,... Perform the processing shown in FIG. 1 This process will be described as an example.
In FIG. 8, each processing from step A1 to step A12 and step A13 is the same as the processing operation of the first embodiment, and the description thereof is omitted.
As a result of the determination in step A6, the message received from the distribution unit 101 is transferred to the call processing unit 105. 1 If it cannot be processed by the host processor 109, 1 , 109 2 Request processing to any of. The difference from the first embodiment is that the call processor 106 after the processing request is made. 1 However, the call processing unit state management unit 104 in the distribution unit 101 is rewritten and updated (step C1). That is, the call processing unit 105 1 Call the host processor, the call processor 106 1 Writes the information stored in the call processing unit state management unit 104 to the effect that the host processor is requested to process the call and the number of the requested host processor.
[0040]
After the process of step C1, when a message addressed to the corresponding call arrives at the distribution unit 101, the message analysis unit 103 refers to the call processing unit state management unit 104, as shown by a broken line in FIG. Call processing unit 105 that distributes the processing of the corresponding call 1 In addition, the message is transferred to the corresponding host processor.
If the corresponding call is “processing by host processor” in step A3, the call processor 106 1 The call state storage unit 108 1 After the number of transfer messages included in the corresponding entry is increased by 1, the message is discarded (step C2). This is because the operation of the distribution unit 101 is changed in step C1, so that the call processing unit 150 1 This is because the same message has arrived at the corresponding host processor without transferring the message.
[0041]
When the processing in the host processor ends normally, it is necessary to change the processing operation of the distribution unit 101 so that the message is not transferred to the host processor. FIG. 9 shows the call processing unit 105. 1 Shows the operation procedure after receiving the processing result from the host processor. Steps B1 to B5 are the same as the processing procedure of the first embodiment, and a description thereof will be omitted. When the processing in the host processor ends normally and an end notification is received, in step D1, the stored contents of the call processing unit state management unit 104 are changed so as not to send a message to the host processor that has completed the processing. .
[0042]
FIG. 10 shows an operation example of the entire system in the third embodiment. In this example, the message corresponding to a certain call is the call processing unit 105 corresponding to the call ID. 2 Is transferred to the call processing unit 105 2 In this case, the message cannot be processed, and the host processor 109 1 An example of requesting processing is shown.
The processing operation of the entire system of the third embodiment shown in FIG. 10 is different from the processing operation of the first embodiment shown in FIG. 7 in that the call processing unit 105 in FIG. 2 Is the host processor 109 1 After receiving the processing request (switching) approval from the host processor 109, the distribution unit 101 is processed by the host processor 109 in (5). 1 (Switching) notification indicating that the processing is requested is transmitted to change the call processing unit state management unit 104 of the distribution unit 101 (step C1 in FIG. 8). By this operation, after message # 3 arrives at the distribution unit 101 in (10), the message # 3 is transmitted from the distribution unit 101 to the call processing unit unit 105 as shown by the broken line in FIG. 2 And host processor 109 1 Are sent (bicast) to both.
[0043]
Host processor 109 1 The processing requested to be completed is completed, and the call processing unit 105 2 After approving the end (switching), the distribution unit 101 is notified that the processing end (switching) has been approved (17), and the distribution unit 101 stores the call stored in the call processing unit state management unit 104. The processing unit state is updated (D1). From this point onward, a message for the corresponding call is transmitted to the call processing unit section 105 thereafter. 1 , 105 2 , ... will be transferred only.
As described above, according to the third embodiment, the host processor 109 1 , 109 2 ,... Are messages to be processed by the call processing unit 105. 1 , 105 2 ,... Without going through the host processor 109 1 , 109 2 ,... To reach directly, the host processor 109 1 , 109 2 Since the processing start time at... Can be shortened, the host processor unit 109 is compared with the first embodiment. 1 , 109 2 ,... Is reduced, and as a result, the processing performance of the system can be improved.
[0047]
Various modifications can be made to each of the above-described embodiments. For example, in each of the above embodiments, the call processing unit unit 105 1 , 105 2 ,... Do not correspond to predetermined processing such as a cancel request message, and the processing of the cancel request message is not processed by the host processor 109. 1 , 109 2 When requested to the host processor 109 1 , 109 2 After the cancel request message is transmitted to the host processor 109, 1 , 109 2 ,... Cancel processing is performed, and the result is sent to the call processing unit 105. 1 , 105 2 Processing is performed so as to convey to. On the other hand, the distribution unit 101 or the call processing unit unit 105 1 , 105 2 When receiving a request to cancel the call setting process, the distribution unit 101 or the call processing unit unit 105 1 , 105 2 ,... Immediately respond to the cancel request, and the related processing (clearing the corresponding call state management table entry) is the call processing unit 105. 1 , 105 2 ,... May be performed after the response. Thereby, the processing delay for a predetermined message such as a cancel request message can be shortened.
[0048]
In addition, the host processor 109 1 , 109 2 When the host processor 109 receives a call processing request and processes the call, 1 , 109 2 ,... Requested the call processing unit 105. 1 , 105 2 When it is determined that a message that cannot be processed by... Follows, after all processing of the message is completed by the host processor, a processing end notification may be transmitted to the requested call processing unit.
For example, the call processing unit section that requested the call processing cannot process until the host processor sends a request message for permitting process termination to the requested call processing unit and receives a response message from the call processing unit. What is necessary is just to judge that a message follows. As a result, the number of times of switching between the host processor and the call processing unit can be reduced, and the processing time can be shortened.
[0049]
The call processing unit 105 1 , 105 2 ,... May be configured by processing function units (for example, transfer processing function, name resolution function, etc.) As a result, the expansion according to the performance of each function can be realized. Therefore, when the processing performance for a certain function is insufficient, a call processing unit for realizing the corresponding processing function may be added. In addition, since it is possible to flexibly cope with a change in function implementation, it is possible to cope with a change in the implementation method of a certain function by simply replacing the unit.
[0050]
【The invention's effect】
According to the present invention, it is possible to provide a multiprocessor type call processing method that is excellent in scale expandability and function expandability and can perform high-speed processing.
[Brief description of the drawings]
FIG. 1 is a block diagram of a multiprocessor call processing system used in first to third embodiments of the present invention.
FIG. 2 is a diagram showing a call state management table used in the embodiment of the present invention.
FIG. 3 is a flowchart showing processing in the first embodiment of the present invention.
FIG. 4 is a diagram showing a request message used in the embodiment of the present invention.
FIG. 5 is a diagram showing a processing result message used in the embodiment of the present invention.
FIG. 6 is a flowchart showing processing in the first embodiment of the present invention.
FIG. 7 is an explanatory diagram showing a process according to the first embodiment of this invention.
FIG. 8 is a flowchart showing processing in the third embodiment of the present invention;
FIG. 9 is a flowchart showing processing in the third embodiment of the present invention;
FIG. 10 is an explanatory diagram showing processing in the third embodiment of the present invention.
FIG. 11 is an explanatory diagram of a multiprocessor type call processing system used in the first embodiment of the present invention.
FIG. 12 is an explanatory diagram of a multiprocessor type call processing system used in the third embodiment of the present invention.
FIG. 13 is an explanatory diagram showing a process in the second embodiment of the present invention.
FIG. 14 is a flowchart showing processing in the second embodiment of the present invention;
FIG. 15 is a flowchart showing processing in the second embodiment of the present invention;
FIG. 16 is an explanatory diagram showing processing in the second embodiment of the present invention;
FIG. 17 is an explanatory diagram showing processing in the second embodiment of the present invention;
[Explanation of symbols]
101: Sorting unit constituting sorting means
102, 107 1 107 2 ... Message transmission / reception units constituting message transmission / reception means
103: Message analysis unit constituting message analysis means
104: Call processing unit state management unit constituting second storage means
105 1 , 105 2 ... Call processing units constituting call processing means
106 1 , 106 2 ... Call processor section constituting call processor means
108 1 , 108 2 ... Call state storage unit constituting first storage means
109 1 , 109 2 ... Host processor section constituting host processor means
110 ... Subscriber database

Claims (5)

呼処理を複数のプロセッサに振り分けて処理するようにしたマルチプロセッサ型呼処理方式において、
呼処理を振り分ける振り分け手段と、所定種類の呼の処理を行う複数の呼処理手段と、少なくとも一つのホストプロセッサ手段とを備え、
前記各呼処理手段は、自身が処理できない種類の呼の処理を前記振り分け手段によって振り分けられたとき、前記ホストプロセッサ手段に前記呼の処理を依頼すると共に、呼処理をホストプロセッサ手段に依頼した際に前記振り分け手段に対して処理を依頼した呼及びホストプロセッサ手段を表す処理依頼内容を通知し、
前記振り分け手段は、前記処理依頼内容を第2の記憶手段に記憶し、前記第2の記憶手段に記憶された処理依頼内容を参照して、前記呼当ての後続するメッセージを該当する呼処理手段及びホストプロセッサ手段に送信し、
前記ホストプロセッサ手段は依頼された前記呼の処理を行うことを特徴とするマルチプロセッサ型呼処理方式。
In a multiprocessor type call processing system in which call processing is distributed to a plurality of processors for processing,
A distribution means for distributing call processing, a plurality of call processing means for processing a predetermined type of call, and at least one host processor means,
Each of the call processing means requests the host processor means to process the call and requests the host processor means to process the call when the distribution means distributes the type of call that cannot be processed by the call processing means. To the call request processing to the distribution means and processing request contents representing the host processor means,
The distribution unit stores the processing request content in a second storage unit, refers to the processing request content stored in the second storage unit, and applies a message subsequent to the call to the corresponding call processing unit. And to the host processor means,
The multiprocessor type call processing system, wherein the host processor means processes the requested call.
前記各呼処理手段は、前記ホストプロセッサ手段に依頼した呼及び呼処理を依頼したホストプロセッサ手段を対応付けした呼状態管理表を記憶する第1の記憶手段を有し、前記呼状態管理表を用いて、呼処理をホストプロセッサ手段に依頼している間は、その呼に関して後続するメッセージを該ホストプロセッサ手段へ転送することを特徴とする請求項1記載のマルチプロセッサ型呼処理方式。  Each of the call processing means includes first storage means for storing a call state management table in which a call requested to the host processor means and a host processor means for which call processing is requested are associated, and the call state management table 2. A multiprocessor call processing system according to claim 1, wherein while the call processing is requested to the host processor means, a subsequent message relating to the call is transferred to the host processor means. 前記呼処理手段がホストプロセッサ手段に処理依頼を行う際、処理依頼メッセージに、処理依頼に必要な情報を付加して送信することを特徴とする請求項1又は2記載のマルチプロセッサ型呼処理方式。 3. The multiprocessor type call processing method according to claim 1, wherein when the call processing means makes a processing request to the host processor means, information necessary for the processing request is added to the processing request message and transmitted. . 前記ホストプロセッサ手段が処理依頼を受けて呼処理した際、呼処理の依頼をした呼処理手段では処理できないメッセージが後続すると判断した場合、前記後続するメッセージの処理が該ホストプロセッサ手段で全て終了した後、処理終了通知を前記呼処理手段に送信することを特徴とする請求項1乃至3のいずれか一に記載のマルチプロセッサ型呼処理方式。When the host processor means receives a processing request and performs call processing, if it is determined that a message that cannot be processed by the call processing means that has requested the call processing follows, the processing of the subsequent message is all completed by the host processor means 4. The multiprocessor call processing method according to claim 1 , wherein a processing end notification is transmitted to the call processing unit. 前記振り分け手段又は呼処理手段が呼設定処理をキャンセルする要求を受け取った場合、前記振り分け手段又は呼処理手段が前記キャンセル要求に対する応答を行った後、前記呼処理手段は該当する呼状態管理表におけるエントリの削除処理を行うことを特徴とする請求項1乃至4のいずれか一に記載のマルチプロセッサ型呼処理方式。When the distribution unit or call processing unit receives a request to cancel the call setting process, after the distribution unit or call processing unit responds to the cancellation request, the call processing unit 5. The multiprocessor call processing system according to claim 1 , wherein an entry deletion process is performed.
JP2000363068A 2000-11-29 2000-11-29 Multiprocessor call processing method Expired - Fee Related JP3705121B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000363068A JP3705121B2 (en) 2000-11-29 2000-11-29 Multiprocessor call processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000363068A JP3705121B2 (en) 2000-11-29 2000-11-29 Multiprocessor call processing method

Publications (2)

Publication Number Publication Date
JP2002165239A JP2002165239A (en) 2002-06-07
JP3705121B2 true JP3705121B2 (en) 2005-10-12

Family

ID=18834234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000363068A Expired - Fee Related JP3705121B2 (en) 2000-11-29 2000-11-29 Multiprocessor call processing method

Country Status (1)

Country Link
JP (1) JP3705121B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870265B2 (en) * 2005-06-30 2011-01-11 Oracle International Corporation System and method for managing communications sessions in a network
JP5007450B2 (en) * 2008-01-11 2012-08-22 株式会社ナカヨ通信機 Distributed call control IP phone system
JP4722150B2 (en) * 2008-03-26 2011-07-13 三菱電機株式会社 Client server system

Also Published As

Publication number Publication date
JP2002165239A (en) 2002-06-07

Similar Documents

Publication Publication Date Title
CN101080915B (en) Methods, systems and computer program products for bypassing routing stacks using mobile internet protocol
US8051189B2 (en) Methods, systems, and computer program products for session initiation protocol (SIP) fast switchover
EP0381365A2 (en) A system and method for interconnecting applications across different networks of data processing systems
EP2200247B1 (en) A message processing method, apparatus and ip communication system based on the sip protocol
US6061807A (en) Methods systems and computer products for error recovery of endpoint nodes
JP2006254253A (en) Session repeating device
US7532620B2 (en) Routing table synchronization method, network apparatus, and routing table synchronization program
KR100793349B1 (en) Multicast forwarding apparatus and control method in system for using PPP multi-link
US8527661B1 (en) Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path
US6633901B1 (en) Multi-route client-server architecture
TW200928777A (en) Data processing method and apparatus based on cluster
CN110875914B (en) Method and device for transmitting messages based on shared session link
EP1122918A2 (en) Method and apparatus for tracking a transaction across a multi-hop network
JP2007060326A (en) Session relay and session relief method
JP2845208B2 (en) Address resolution device
JP2008219461A (en) Communicating history information managing system, sip client terminal, history server, and communicating history information managing method
CN110581805A (en) Routing table updating method, device, switch and storage medium
US7350014B2 (en) Connecting peer endpoints
CN101889426B (en) A method of reducing size of presence messages
CN107483628B (en) DPDK-based one-way proxy method and system
US20080155107A1 (en) Communication Paths From An InfiniBand Host
JP3705121B2 (en) Multiprocessor call processing method
KR101205387B1 (en) A method, a network entity and a network system for transferring the resource
US20030204642A1 (en) System and method for creating a communication connection
CN115514698A (en) Protocol calculation method, switch, cross-device link aggregation system and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050718

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080805

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090805

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100805

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110805

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120805

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130805

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees