(57)【要約】【課題】サービスを停止させずに運用中のプログラムの入れ替えを行う電子交換機のプログラム入替方法を提供する。【解決手段】端末との間でイベント及びオーダを送受信するプロセスと、プロセスの生成及び消滅を管理するプロセス生成消滅部とを備えた電子交換機において、現プロセスを運用中にプロセス生成消滅部により新プロセスが生成されると、現プロセスによるイベントの受信を停止させ、現プロセスにより受信した全てのイベント処理及びオーダ送信が終了すると、新プロセスによるイベントの受信を開始させると共に、現プロセスを消滅させる。【選択図】        図１
2007226437.tif 000002
【特許請求の範囲】
【請求項１】
端末との間でイベント及びオーダを送受信するプロセスと、前記プロセスの生成及び消滅を管理するプロセス生成消滅手段とを備えた電子交換機のプログラム入替方法において、
現プロセスを運用中に前記プロセス生成消滅手段により新プロセスが生成されると、前記現プロセスによるイベントの受信を停止させ、
前記現プロセスにより受信した全てのイベント処理及びオーダ送信が終了すると、前記新プロセスによるイベントの受信を開始させると共に、前記現プロセスを消滅させることを特徴とする電子交換機のプログラム入替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、交換ソフトウェア、特に汎用ＯＳをプラットフォームに採用している交換ソフトウェアの導入される電子交換機のプログラム入替方法に関し、特に、サービスを停止させずに運用中のプログラムの入れ替えを行う電子交換機のプログラム入替方法に関する。
【背景技術】
【０００２】
従来、運用中のシステムのプログラムの入れ替えは、プログラムの実行を停止して実施されるのが一般的であった。システムが提供するサービス内容の多様化に伴い、サービス内容の変更や機能追加等を目的としたプログラムの入れ替えの必要が増える一方、プログラムの実行停止によるサービスの中断が生じるという問題があった。
【０００３】
これに対して、特許文献１では、実行中のプログラムに含まれる関数をプログラムを停止させずに修正する方法が開示されている。この方法によると、関数毎にエントリアドレスを保持するアドレス管理テーブルに、関数の呼び出し禁止を示す呼び出し禁止フラグがセットされる領域が、予め設けられる。そして、関数を修正する際には、修正する関数の旧版はプログラム中に残したまま、新版をプログラムに追加し、その後、対応する関数のエントリアドレスを旧版関数のものから新版関数のものに書き換える。但し、エントリアドレスの書き換え期間中は、旧版関数の呼び出しが禁止されるように、呼び出し禁止フラグをセットしておく。これにより、プログラムを停止することなく関数の修正を行うことができる。
【０００４】
また、特許文献２では、電子交換機におけるプログラム更新処理をシステム無中断で行う方式が開示されている。この方式では、電子交換機の制御部がプログラムを実行している間に、新ロードモジュールを記憶装置の空きエリアに格納し、他のロードモジュールからの旧ロードモジュールの呼び出しを抑止したうえで、旧ロードモジュールの先頭番地を新ロードモジュールへのジャンプ命令に置き換えた後、呼び出し抑止を解除することにより、旧ロードモジュールから新ロードモジュールへの変更を行う。これにより、システムを稼動停止することなくプログラムの変更追加を行うことができる。
【特許文献１】特開平７−１５２５５１号公報
【特許文献２】特開平７−３１９６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、Ｗｉｎｄｏｗｓ（登録商標）をプラットフォームに採用している交換ソフトウェアにおいては、運用中のシステムのプログラムを入れ替える場合、プログラムの実行単位であるプロセスを消滅及び再生成しなければならない。そのため、交換処理全体を一時停止して初期設定しなければならず、通信中の呼情報消滅（呼切断）が発生するうえ、プロセスの再生成までサービスを停止させなければならないという問題がある。
【０００６】
そこで、本発明は、上記の従来技術の持つ問題点を解消し、サービスを停止させずに運用中のプログラムの入れ替えを行う電子交換機のプログラム入替方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、以上の点を解決するために、次の構成を採用する。
【０００８】
〈構成〉
本発明に係る電子交換機のプログラム入替方法は、端末との間でイベント及びオーダを送受信するプロセスと、プロセスの生成及び消滅を管理するプロセス生成消滅手段とを備えた電子交換機において、現プロセスを運用中にプロセス生成消滅手段により新プロセスが生成されると、現プロセスによるイベントの受信を停止させ、現プロセスにより受信した全てのイベント処理及びオーダ送信が終了すると、新プロセスによるイベントの受信を開始させると共に、現プロセスを消滅させることを特徴とする。
【発明の効果】
【０００９】
本発明の電子交換機のプログラム入替方法によれば、現プロセスを運用中に新プロセスを生成し、現プロセスから新プロセスへとイベント処理を引き継ぐことにより、サービスを停止させることなくプログラムを入替可能となるので、利便性が向上される。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図を用いて詳細に説明する。
【実施例】
【００１１】
図１は、本発明の実施例に係る電子交換機の機能構成を示すブロック図である。この電子交換機１０は、Ｗｉｎｄｏｗｓをプラットフォームに採用している交換ソフトウェアのプログラムを呼処理プロセスとして実行することにより、ソケットインタフェースを介して図示されない端末との間で交換処理イベント及びオーダの送受信を行う。
【００１２】
電子交換機１０は、プロセスマネージャ２０、共有データ格納部３０、共有メモリ４０、ソケット７０及びファームウェアプロセス８０を含んで構成される。
【００１３】
プロセスマネージャ２０は、後述する呼処理プロセス５０の管理を行うために、プロセス管理テーブル２１、プロセス生成消滅部２２及びプロセス制御部２３を含んで構成される。
【００１４】
プロセス管理テーブル２１は、複数の呼処理プロセス５０を識別するためのプロセス識別番号を格納している。
【００１５】
図２は、プロセス管理テーブルの例を示す説明図である。
プロセス管理テーブル２１は、例えば、図２（ａ）に示されるように、電子交換機１０に生成された呼処理プロセス５０、即ち現呼処理プロセス５０ａに対応するプロセス識別番号「ＰＩＤａ」を格納している。
【００１６】
プロセス生成消滅部２２は、呼処理プロセス５０の生成及び消滅処理を行う機能を有する。
また、プロセス生成消滅部２２は、生成した呼処理プロセス５０のプロセス識別番号をプロセス管理テーブル２１に格納させる機能と、消滅させた呼処理プロセス５０のプロセス識別番号をプロセス管理テーブル２１から削除する機能とを有する。
例えば、プロセス識別番号「ＰＩＤａ」を有する呼処理プロセス５０、即ち現呼処理プロセス５０ａにより呼処理を実行中に、プロセス識別番号「ＰＩＤｂ」を有する呼処理プロセス５０、即ち新呼処理プロセス５０ｂを生成すると、プロセス生成消滅部２２は、プロセス識別番号「ＰＩＤａ」が格納されているプロセス管理テーブル２１（図２（ａ））に、更にプロセス識別番号「ＰＩＤｂ」を格納させる（図２（ｂ））。また、プロセス識別番号「ＰＩＤａ」を有する現呼処理プロセス５０ａを消滅させると、プロセス生成消滅部２２は、プロセス管理テーブル２１からプロセス識別番号「ＰＩＤａ」を削除する（図２（ｃ））。
【００１７】
プロセス制御部２３は、各呼処理プロセス５０によるイベントの読み込みの開始及び停止を制御する機能を有する。また、各呼処理プロセス５０により処理中のイベントの掃出しを要求するための掃出要求を該呼処理プロセス５０へ送信する機能を有する。
【００１８】
共有データ格納部３０は、複数の呼処理プロセス５０からアクセス可能なメモリ域であり、後述する呼制御部５３により呼を制御するために必要なデータを格納する機能を有する。
共有データ格納部３０に格納されるデータとしては、例えば、電話番号等を含む通話相手の情報や、通話開始時刻や応答時刻、切断時刻等を含む通話時間情報、そして、ダイヤル中や呼び出し中、通話中、ビジートーン送出中等を含む呼の状態情報等が挙げられる。共有データ格納部３０は、これらのデータを呼制御メモリ３１として、後述する呼処理プロセス５０に複数起動される呼制御部５３毎に格納する。
【００１９】
共有メモリ４０は、端末との間でイベント及びオーダを送受信するためのメモリ域であり、端末側からイベントを書き込む領域としてのイベント記憶部４１と呼処理プロセス５０側からオーダを書き込む領域としてのオーダ記憶部４２とに分割されている。
【００２０】
ソケット７０は、図示されない複数の端末とのインタフェース部であり、端末からイベントを受信して後述するファームウェアプロセス８０へ送信する機能や、ファームウェアプロセス８０から受信したオーダを端末へ送信する機能を有する。
【００２１】
ファームウェアプロセス８０は、ソケット７０から受信したイベントをイベント記憶部４１へ書き込む機能や、オーダ記憶部４２からオーダを読み込んでソケット７０へ送信する機能を有する。
【００２２】
呼処理プロセス５０は、システム初期設定時に、プログラムの実行単位として、プロセスマネージャ２０のプロセス生成消滅部２２により生成される。この呼処理プロセス５０に対して、複数のスレッドが各処理を行うために起動される。起動されるスレッドとしては、初期状態として常時起動される常駐スレッドと、発呼や切断等の処理イベントが発生する毎に割り当てられる非常駐スレッドとがある。本実施例では、図１に示されるように、イベント受付部５１及びメッセージ分析部５２は常駐スレッドであり、呼制御部５３は非常駐スレッドである。
【００２３】
イベント受付部５１は、プロセス制御部２３の制御により、イベント記憶部４１からイベントを読み込み、該イベントに含まれるメッセージを、後述するメッセージキュー５４を介してメッセージ分析部５２へ送る機能を有する。また、プロセス制御部２３から掃出要求を受信すると、イベント記憶部４１からのイベントの読み込みを停止すると共に、呼制御部５３において処理中のメッセージの処理終了を通知させるための終了通知要求をメッセージ分析部５２へ送信する機能を有する。
【００２４】
メッセージ分析部５２は、イベント受付部５１からメッセージキュー５４を介してメッセージを受信すると、受信したメッセージを分析し、該メッセージを後述するメッセージキュー５５を介して呼制御部５３へ送信する機能を有する。また、呼制御部５３において処理中のメッセージ数を監視する機能を有し、イベント受付部５１から終了通知要求を受信した後、呼制御部５３におけるメッセージの処理が全て終了して、処理中のメッセージ数が０になると、処理終了を通知するための終了通知をイベント受付部５１へ送る機能を有する。
【００２５】
呼制御部５３は、メッセージ分析部５２からメッセージキュー５５を介して受信したメッセージの処理を実行する機能を有する。その際、呼制御部５３は、共有データ格納部３０にアクセスして、必要なデータを呼制御メモリ３１に格納する。また、端末へ送信するためのオーダをオーダ記憶部４２に書き込む機能や、メッセージの処理終了をメッセージ分析部５２へ通知する機能を有する。
【００２６】
メッセージキュー５４、５５は、受信したメッセージを受信順に保存しておくバッファである。メッセージキュー５４に保存されたメッセージはメッセージ分析部５２へ、メッセージキュー５５に保存されたメッセージは呼制御部５３へ、それぞれ受信順に送信されて、処理される。
【００２７】
次に、この電子交換機１０による通常の発呼処理における発呼からダイヤルトーン送信までの処理の流れを説明する。
図３は、本発明に係る電子交換機の発呼処理動作を示すフローチャートである。
【００２８】
まず、電子交換機１０の動作に先立ち、ソケット７０を介して電子交換機１０と通信可能な端末において、例えば電話を発信させるために、利用者が該端末を操作すると、発呼イベントが発生する。発生した発呼イベントは、該端末から電子交換機１０へ送信される。
【００２９】
電子交換機１０において、ソケット７０が発呼イベントを受信すると、該発呼イベントはファームウェアプロセス８０へ送信され、ファームウェアプロセス８０が共有メモリ４０のイベント記憶部４１に該発呼イベントを書き込む（Ｓ１０１）。
【００３０】
次に、プロセス制御部２３は、呼処理プロセス５０のイベント受付部５１を制御して、イベント記憶部４１からイベントを読み込ませる。イベント受付部５１は、端末からの発呼イベントをイベント記憶部４１から読み込む（Ｓ１０２）。
【００３１】
続いて、イベント受付部５１は、読み込んだ発呼イベントに含まれるメッセージを、メッセージキュー５４を介して呼制御部５３へ送る（Ｓ１０３）。
【００３２】
呼制御部５３は、メッセージキュー５４からメッセージを受けると、該メッセージの処理を行う（Ｓ１０４）。この際、呼制御部５３は、処理中のメッセージに関するデータを、共有データ格納部３０の呼制御メモリ３１に格納させる。
【００３３】
メッセージの処理が終了すると、呼制御部５３は、端末からの発呼イベントに対するオーダ、即ちダイヤルトーンを、オーダ記憶部４２へ書き込み（Ｓ１０５）、メッセージの処理が終了したことをメッセージ分析部５２へ通知する（Ｓ１０５）。
【００３４】
オーダ記憶部４２に書き込まれたオーダは、ファームウェアプロセス８０により読み込まれ、ソケット７０へ送られる（Ｓ１０６）。
【００３５】
そして、オーダを受けたソケット７０が、該オーダ、即ちダイヤルトーンを端末へ送信し（Ｓ１０７）、電子交換機１０は発呼処理を終了する。
【００３６】
上記のように、端末から発呼イベントを受信して、呼処理プロセスにおいて処理を行い、該発呼イベントに対するオーダ、即ちダイヤルトーンを該端末へ送信することにより、発呼処理を実行することができる。
【００３７】
続いて、呼処理を実行中の電子交換機１０において、プログラムの入れ替え処理を行う場合の流れを説明する。
【００３８】
現呼処理プロセス５０ａは、プロセス制御部２３の制御により、共有メモリ４０のイベント記憶部４１から各イベントを読み込み、該イベントに対する呼処理を実行中の呼処理プロセス５０である。このとき、プロセスマネージャ２０のプロセス管理テーブル２１には、図２（ａ）に示されるように、現呼処理プロセス５０ａのプロセス識別番号「ＰＩＤａ」が格納されている。
【００３９】
ここで、プロセスマネージャ２０にプログラムの入れ替えが通知された場合の処理の流れを、図を用いて説明する。
図４は、本発明の実施例に係る電子交換機のプログラム入替動作を示すフローチャートである。
【００４０】
プロセスマネージャ２０にプログラムの入れ替えが通知されると、プロセス生成消滅部２２は、サービス追加等が盛り込まれた新しいプログラムに基づいて、新呼処理プロセス５０ｂを生成する（Ｓ２０１）。この際、プロセス制御部２３は、新呼処理プロセス５０ｂに対して、イベント記憶部４１からのイベントの読み込みを開始させず、停止させたままにしておく（Ｓ２０１）。
【００４１】
また、プロセス生成消滅部２２は、新呼処理プロセス５０ｂのプロセス識別番号「ＰＩＤｂ」をプロセス管理テーブル２１に格納させる（Ｓ２０１）。このとき、プロセス管理テーブル２１は、図２（ｂ）に示されるように、現呼処理プロセス５０ａのプロセス識別番号「ＰＩＤａ」及び新呼処理プロセス５０ｂのプロセス識別番号「ＰＩＤｂ」を格納している。
【００４２】
次に、プロセス制御部２３は、呼処理を実行中の現呼処理プロセス５０ａに対して、イベント受付部５１ａによる共有メモリ４０のイベント記憶部４１からのイベントの読み込みを停止させる（Ｓ２０２）。そして、プロセス制御部２３は、現呼処理プロセス５０ａにおいて現在処理中のイベントの掃出しを要求する掃出要求を、現呼処理プロセス５０ａのイベント受付部５１ａへ送信する（Ｓ２０２）。
【００４３】
イベント受付部５１ａは、プロセス制御部２３から掃出要求を受信すると、呼制御部５３ａにおいて現在処理中のメッセージの処理終了を監視するために、メッセージ分析部５２ａに対して、呼制御部５３ａにおけるメッセージの処理終了の通知を要求する終了通知要求を送る（Ｓ２０３）。
【００４４】
終了通知要求を受けると、メッセージ分析部５２ａは、呼制御部５３ａにおいて現在実行中のメッセージ数を監視し、メッセージの処理が終了したか否かを判断する（Ｓ２０４）。
【００４５】
そして、呼制御部５３ａにおけるメッセージの処理が全て終了し、呼制御部５３ａから処理終了の通知を受けて、処理中メッセージ数が０になると、メッセージ分析部５２ａは、メッセージの処理終了を通知する終了通知をイベント受付部５１ａへ通知する（Ｓ２０５）。
【００４６】
メッセージ分析部５２ａから終了通知を受けると、イベント受付部５１ａは、イベントの掃出しが完了したことを通知する掃出完了信号を生成して、該掃出完了信号をプロセス制御部２３へ送信する（Ｓ２０６）。
【００４７】
プロセス制御部２３は、現呼処理プロセス５０ａから掃出完了信号を受信すると、新呼処理プロセス５０ｂに対して、サービスの開始、即ち共有メモリ４０のイベント記憶部４１からのイベントの読み込みを開始させる（Ｓ２０７）。これにより、新呼処理プロセス５０ｂのイベント受付部５１ｂは、イベント記憶部４１からのイベントの読み込みを開始する。
【００４８】
続いて、プロセス生成消滅部２２は、新呼処理プロセス５０ｂによる呼処理の実行開始を確認すると、現呼処理プロセス５０ａを消滅させる（Ｓ２０８）と共に、プロセス管理テーブル２１に格納されていた現呼処理プロセス５０ａのプロセス識別番号「ＰＩＤａ」を削除して（Ｓ２０８）、プログラム入替処理を終了する。プロセス管理テーブル２１は、図２（ｃ）に示されるように、新呼処理プロセス５０ｂのプロセス識別番号「ＰＩＤｂ」のみを格納している。
【００４９】
上記のように、プログラムの入替時に、運用中の現呼処理プロセスと生成された新呼処理プロセスとによるイベントの読み込みをそれぞれ停止させて、現呼処理プロセスにより処理中のイベントを掃出させた後、新呼処理プロセスによるイベントの読み込みを開始させると共に、現呼処理プロセスを消滅させることにより、現プロセスから新プロセスへとイベント処理を引き継ぐことが可能となり、サービスを停止させることなくプログラムを入れ替えることができる。
【００５０】
以上のように、本実施例の電子交換機によれば、サービスを停止させることなくプログラムを入れ替えることができるので、端末利用者に呼切断等の影響を与えることなく、サービスの追加や変更を実施することが可能となり、利便性が向上される。
【産業上の利用可能性】
【００５１】
本発明は、Ｗｉｎｄｏｗｓを用いたシステムにおけるプログラム入れ替えについて言及しているが、他のＯＳを用いた交換ソフトに対しても適用可能である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施例に係る電子交換機の機能構成を示したブロック図である。
【図２】プロセス管理テーブルの例を示す説明図である。
【図３】本発明の実施例に係る電子交換機の発呼処理動作を示すフローチャートである。
【図４】本発明の実施例に係る電子交換機のプログラム入替動作を示すフローチャートである。
【符号の説明】
【００５３】
１０        電子交換機
２０        プロセスマネージャ
２１        プロセス管理テーブル
２２        プロセス生成消滅部
２３        プロセス制御部
３０        共有データ格納部
３１        呼制御メモリ
４０        共有メモリ
４１        イベント記憶部
４２        オーダ記憶部
５０ａ      現呼処理プロセス
５０ｂ      新呼処理プロセス
５１        イベント受付部
５２        メッセージ分析部
５３        呼制御部
５４、５５  メッセージキュー
７０        ソケット
８０        ファームウェアプロセス
【図１】
2007226437.tif 000003
【図２】
2007226437.tif 000004
【図３】
2007226437.tif 000005
【図４】
2007226437.tif 000006