(57)【特許請求の範囲】
【請求項１】
交換処理用の現在のデータを利用して交換処理を実行する多数のオブジェクトを備える交換機のオブジェクト更新システムにおいて、
前記現在のデータの更新を必要とする更新対象オブジェクトに対し前記現在のデータを旧データとして登録すると共に更新データを新データとして登録し、前記更新に伴って追加すべきオブジェクトを生成すると共に追加されるデータを新データとして登録し、前記更新に伴って削除される削除対象オブジェクトに対し削除されるデータを旧データとして登録するオブジェクト更新制御部と、
該オブジェクト更新制御部から前記登録の通知を受けると、前記更新対象オブジェクトと前記追加オブジェクト及び削除対象オブジェクトに対し非現用を示す工事モードデータを付与すると共に他のオブジェクトに対し現用を示す運用モードデータを付与するオブジェクト管理部と、
試験用メッセージを供給して前記新データに基づく交換処理を前記更新対象及び追加のオブジェクトに実行させ、所定の交換処理が終了すると切替え要求を出力するメッセージ制御部とを含み、
前記オブジェクト更新制御部は、前記切替え要求を受けると、全てのオブジェクトの実行終了を待って前記オブジェクト管理部の工事モードデータを運用モードデータに変換させ、かつ前記更新対象オブジェクトに対応のデータエリアに前記新データを書き込むと共に前記削除対象オブジェクト及びその対応するデータエリアの旧データを削除する、
ことを特徴とする交換機のオブジェクト更新システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子交換機のオブジェクト指向ソフトウェアにおける、システムの運用中に発生するシステム構成の変更や収容回線や加入者等の増減に伴うオブジェクトの更新を行う交換機のオブジェクト更新システムに関する。
【０００２】
【従来の技術】
交換機システム運用中のシステム構成の変更や収容回線や加入者等の増減設に伴い、交換ソフトウェアの局データ変更作業が発生する。一般に、オンライン局データ変更は、交換機に接続された保守装置からのコマンド入力によりコマンド実行プログラムが変更対象となるデータの変更操作を行う。
オブジェクト指向型交換ソフトウェアにおける局データ変更操作とは、局データを有する既存オブジェクトの属性変更やオブジェクト自身の追加や削除の操作を行うことを意味する。
【０００３】
【発明が解決しようとする課題】
上記のような局データ変更処理において、一つの局データ変更作業は複数の段階からなり、一般的に複数のオブジェクト（局データ）が関係する。個々のオブジェクトのデータ変更やオブジェクトの新規生成あるいは削除の操作はシーケンシャルに、かつ、独立に実行される。そして、これらの操作単位にオブジェクトのデータエリアに対応するメモリは直接書き換えられていた。
従って、保守者の操作ミス等による局データ変更の誤りは作業完了後運用されるまで検出されないため、システムの信頼性を損ねる恐れがあった。
【０００４】
また、局データの変更作業において、その作業途中の各段階において、システムが何らかの障害により再開した場合、局データの矛盾が発生する。これを解消するためには、再開発生時点で作業途中だった局データ変更を実行する以前の状態に復旧させる必要があるが、保守者がどこまで変更操作を行ったか認識している場合はコマンドで切り戻しを行えるが、その手順は非常に複雑になる。また、どこまで変更したかを認識していない場合は、ＩＰＬ手順によりバックアップされたデータをローディングして再開させる必要があった。
【０００５】
このような点から、局データ変更誤りのまま運用されてしまうことを未然に防止でき、また、局データ変更作業中に、作業を停止した場合であっても、特別な保守操作が必要ない交換機のオブジェクト更新システムの実現が望まれていた。
【０００６】
【課題を解決するための手段】
本発明は、前述の課題を解決するため次の構成を採用する。
＜請求項１の構成＞
本発明は、交換処理用の現在のデータを利用して交換処理を実行する多数のオブジェクトを備える交換機のオブジェクト更新システムにおいて、前記現在のデータの更新を必要とする更新対象オブジェクトに対し前記現在のデータを旧データとして登録すると共に更新データを新データとして登録し、前記更新に伴って追加すべきオブジェクトを生成すると共に追加されるデータを新データとして登録し、前記更新に伴って削除される削除対象オブジェクトに対し削除されるデータを旧データとして登録するオブジェクト更新制御部と、該オブジェクト更新制御部から前記登録の通知を受けると、前記更新対象オブジェクトと前記追加オブジェクト及び削除対象オブジェクトに対し非現用を示す工事モードデータを付与すると共に他のオブジェクトに対し現用を示す運用モードデータを付与するオブジェクト管理部と、試験用メッセージを供給して前記新データに基づく交換処理を前記更新対象及び追加のオブジェクトに実行させ、所定の交換処理が終了すると切替え要求を出力するメッセージ制御部とを含み、前記オブジェクト更新制御部は、前記切替え要求を受けると、全てのオブジェクトの実行終了を待って前記オブジェクト管理部の工事モードデータを運用モードデータに変換させ、かつ前記更新対象オブジェクトに対応のデータエリアに前記新データを書き込むと共に前記削除対象オブジェクト及びその対応するデータエリアの旧データを削除する、ことを特徴とする交換機のオブジェクト更新システム。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて詳細に説明する。
図１は本発明の交換機のオブジェクト更新システムの実施の形態を示す構成図であるが、これに先立ち、本発明システムの基本となるシステムの説明を行う。
【００１８】
図２は、オブジェクト指向交換ソフトウェアの構成図である。
図において、オブジェクト指向交換ソフトウェアは、リアルタイムＯＳ１００、オブジェクトインタフェーサ１０１、アプリケーション１０２からなる。
リアルタイムＯＳ１００は、コンピュータハードウェア２００上の階層に位置し、コンピュータが行う各種の処理を管理するオペレーティングシステムである。
オブジェクトインタフェーサ１０１は、リアルタイムＯＳ１００の機能を用いて、上位のアプリケーション１０２に実行環境を提供する機能を備え、メッセージ管理機能、スレッド管理機能、オブジェクト管理機能、クラス管理機能、メモリ管理機能等を備えている。
【００１９】
ここで、メッセージ管理機能とは、オブジェクトがメッセージ送信を行うときに起動され、宛先オブジェクトを判定して適当なメッセージ送信手段を選択してメッセージを宛先オブジェクトに届ける機能を備えている。スレッド管理機能は、送信メッセージを実行するための並列処理単位となるリソースを提供する機能である。オブジェクト管理機能は、オブジェクトの生成追加や削除および実行中状態の管理を行う機能である。クラス管理機能は、クラスと呼ばれるオブジェクトの種類を表す単位で、アプリケーションプログラムやデータサイズ等の属性情報を管理する機能である。メモリ管理機能は、オブジェクトの追加や削除に応じて必要となるメモリエリアの捕捉や解放機能を提供するものである。
【００２０】
また、アプリケーション１０２は、情報と、情報の処理操作をカプセル化し、メッセージによってアクセスするオブジェクト指向と呼ばれる概念に基づいて設計されたソフトウェアで、各種のオブジェクト群で構成され、交換システムの各種サービスを実現するものである。尚、交換ハードウェア２０１は、これらリアルタイムＯＳ１００、オブジェクトインタフェーサ１０１、アプリケーション１０２で構成される交換ソフトウェアによって交換処理を行うハードウェアである。
【００２１】
図３および図４は、交換システムのモデル構成図、およびそれに対応するアプリケーションオブジェクトの実装の例を示す説明図である。
図５〜図７は、各オブジェクトのデータ構成図である。
【００２２】
交換システムは、図３に示すように、回線収容装置Ａ１１０、回線収容装置Ｂ１１１、交換スイッチ１１２、制御装置（ＣＰＵ）１１３、保守端末１１４、端末Ａ１〜Ａ３、Ｂ１、Ｂ２からなる。
回線収容装置Ａ１１０は、それぞれポートＡ１〜Ａ３に接続された端末Ａ１〜Ａ３を収容する装置であり、回線収容装置Ｂ１１１は、それぞれポートＢ１、Ｂ２に接続された端末Ｂ１、Ｂ２を収容する装置である。交換スイッチ１１２は、回線収容装置Ａ１１０、Ｂ１１１からの通信をスイッチングする機能を有している。制御装置１１３は、制御バスを介して回線収容装置Ａ１１０、Ｂ１１１および交換スイッチ１１２を制御するための制御装置であり、図４に示すようなオブジェクト構成となっている。また、保守端末１１４は、各種の指示入力や状態表示等を行うための端末である。そして、図４に示す制御装置１１３内のオブジェクトのデータは図５〜図７に示すようになっている。
【００２３】
次に、図３に示すように、内線番号“１３”の端末Ａ３を、交換機の収容位置ポートＡ３から収容位置ポートＢ３に移動した場合を例として局データ変更の操作を説明する。
【００２４】
図８は、局データ変更作業のフローチャートであり、本発明の交換機のオブジェクト更新システムの変更作業の比較となるものである。
（１）ステップＳ１では、内線番号“１３”の削除を行う。オブジェクト更新動作では、図７で示した番号翻訳オブジェクトの変数データ（テーブル１）を、番号“１３”でインデックスした部分のデータ書き換え（端末“Ａ３”から“空”）を行う（操作１）。
（２）ステップＳ２では、端末Ａ３の削除を行う。オブジェクト更新動作では、操作２において、図５の回線収容装置Ａオブジェクトの変数データ（収容位置変換表）を収容位置番号“２”でインデックスした部分のデータ書き換え（“端末Ａ３”から“未実装”）を行う。そして、操作３において、端末Ａ３オブジェクトの削除（データエリアの解放）を行う。
【００２５】
（３）ステップＳ３では、端末Ｂ３の登録を行う。オブジェクト更新動作では、以下の変数データを持つ端末クラスＢ３オブジェクトを新規に生成する（操作４）。
・回線収容オブジェクトＩＤは“回線収容装置Ｂ”
・収容位置番号は“２”
・内線番号は“１３”
【００２６】
（４）ステップＳ４では、ポートＢ３の閉塞解除を行う。オブジェクト更新動作では、回線収容装置Ｂオブジェクトの変数データ（収容位置変換表）を収容位置番号“２”でインデックスした部分のデータ書き換え（“未実装”から“端末Ａ３”）を行う（操作５）。
（５）ステップＳ５では、内線番号“１３”の追加を行う。オブジェクト更新動作では、番号翻訳オブジェクトの変数データ（テーブル１）を番号“１３”でインデックスした部分のデータ書き換え（“空”から“端末Ａ３”）を行う（操作６）。
【００２７】
このように、上記の局データ変更操作は、図８に示すように、一つの局データ変更作業は複数の段階からなり、一般的に複数のオブジェクト（局データ）が関係する。個々のオブジェクトのデータ変更やオブジェクトの新規生成あるいは削除の操作は、シーケンシャルに、かつ、独立に実行される。そして、これらの操作単位にオブジェクトのデータエリアに対応するメモリは直接書き換えられている。その結果、保守者の操作ミス等による局データ変更の誤りは作業完了後運用されるまで検出されないことになる。
【００２８】
また、図８に示す局データの変更作業において、その作業途中の各段階において、システムが何らかの障害により再開した場合、局データの矛盾が発生する。これを解消するためには、再開発生時点で作業途中だった局データ変更を実行する以前の状態に復旧させる必要がある。この場合、保守者がどこまで変更操作を行ったか認識している場合はコマンドで切り戻しを行えるが、その手順は非常に複雑になる。また、どこまで変更したかを認識していない場合は、ＩＰＬ手順によりバックアップされたデータをローディングして再開させる必要がある。
【００２９】
更に、複数のコマンドが同時に実行され、かつ、それらが同一のオブジェクト（局データ）にアクセスすると、局データが破壊されてしまうことになる。そこで、同種のデータにアクセスする可能性のあるコマンドは同時にただ一つしか実行できない等の制限条件を付け、コマンド実行制御プログラム内部に競合チェック機能を設ける必要がある。
【００３０】
図９、図１０は、コマンド間の競合の説明図である。
即ち、図９、図１０は、種々の局データ変更に関するコマンド実行オブジェクトと変更対象オブジェクト（局データ）との関係説明図である。
例えば、図示例では、クラスＢに対して複数のコマンドが同時に実行可能であり、アクセス競合の恐れがあるため、コマンド１〜３は同時に実行できない条件とされている。
従って、このようにアクセス競合を防止するために、大量の局データ変更を実行する場合でも、シーケンシャルにコマンドを実行させることになり、作業効率を阻害する要因となる。
【００３１】
そこで、本発明の交換機のオブジェクト更新システムは、関連する一連の局データ変更操作を一つの処理単位として管理することにより、その単位で局データの更新や復旧を保証し、かつ、アプリケーションに汎用的な局データ変更手段を提供するようにしたものであり、以下、その詳細を具体例を用いて説明する。
【００３２】
《具体例１》
〈構成〉
図１において、交換機のオブジェクト更新システムは、リアルタイムＯＳ１００、オブジェクトインタフェーサ１０１、アプリケーション１０２からなる。ここで、リアルタイムＯＳ１００は、図２で説明したように、コンピュータが行う各種の処理を管理するオペレーティングシステムである。また、アプリケーション１０２は、各種のオブジェクト群で構成されている。
【００３３】
オブジェクトインタフェーサ１０１は、メッセージ制御部１、オブジェクト管理部２、クラス管理部３、メモリ管理部４、再開初期設定部５、スレッド管理部６、オブジェクト更新制御部７からなる。
【００３４】
メッセージ制御部１は、上述したメッセージ制御機能を有すると共に、変更されたオブジェクトの工事用環境から通常運用環境への切替え操作と、その切替え操作中のオブジェクトに対するアクセスとを排他制御する機能を有している。オブジェクト管理部２は、上述したオブジェクト管理機能を有すると共に、工事グループに登録されるオブジェクトに対して、変更作業用に通常運用環境とは異なる工事用環境を用意する機能を有している。また、クラス管理部３、メモリ管理部４、スレッド管理部６は、上述したクラス管理機能、メモリ管理機能、スレッド管理機能を有するものである。更に、再開初期設定部５は、交換機システムが再開した場合の初期設定を行う機能を有するものである。そして、オブジェクト更新制御部７は、交換機のオブジェクトを変更する場合、変更対象となるデータを有するオブジェクト群を一つの工事グループとして管理する機能を有するものである。
【００３５】
〈動作〉
図１１は、具体例１の局データ変更動作のフローチャートである。
図１２は、局データ変更時の動作説明図である。
図１３は、局データ変更時のオブジェクト管理部２とオブジェクト更新制御部７の管理データ構成の説明図である。
図１４、１５は、各フェーズにおけるオブジェクト状態の説明図である。
【００３６】
図１２は、局データ変更中の更新対象オブジェクトＡ、Ｂ、Ｃとオブジェクト更新制御部７およびオブジェクト管理部２との関係を示しており、ここでは、オブジェクトＡが変更対象オブジェクト、オブジェクトＢが追加オブジェクト、オブジェクトＣが削除オブジェクトの例となっている。
【００３７】
また、図１３に示すように、オブジェクト管理部２はオブジェクト管理テーブル３０を備え、このオブジェクト管理テーブル３０は、オブジェクト状態と、オブジェクトデータエリアへの運用モードへのポインタと、工事モードへのポインタと、工事グループ番号とが示されている。そして、オブジェクト更新制御部７は、工事グループ管理テーブルを備え、この工事グループ管理テーブルには、工事グループ状態とグループ情報リストへのポインタとが示されている。
【００３８】
以下、図１１のフローチャートに沿って局データ変更動作を説明する。
（１）フェーズ１は、保守者からのコマンドを受信したコマンド実行制御オブジェクトが局データ変更操作に先立ち、オブジェクト更新制御部７から“工事グループ番号”を捕捉するフェーズである。
即ち、上記（１）では、図１２に示すように、コマンド実行制御オブジェクト２０が、オブジェクト更新制御部７に対して工事グループ番号を捕捉する。ここでは、工事グループ２１とする。
【００３９】
（２）フェーズ２は、局データ変更の対象となるオブジェクトＡ、Ｂ、Ｃを、先に捕捉した工事グループ２１に登録するフェーズであり、局データ変更の数分、本フェーズは繰り返される。ここで、オブジェクトの変更方法によって、オブジェクト更新制御部７は以下の動作を行う。
【００４０】
（ａ）既存のオブジェクト（図１２ではオブジェクトＡ）を“変更”する場合、オブジェクト更新制御部７は、“工事開始要求”により、対象オブジェクトＡの複製を作成して工事グループ２１に登録する。この時、基になるオブジェクトを“運用モード”と呼び、複製オブジェクトを“工事モード”と呼ぶ。このオブジェクトが２面確保された状態は、オブジェクト管理部２に通知され、“工事中”状態として図１３に示すオブジェクト管理テーブル３０上に記憶される。
（ｂ）新規にオブジェクト（図１２ではオブジェクトＢ）を追加する場合、オブジェクト更新制御部７は、“追加要求”により、オブジェクトＢを生成し、工事グループ２１に登録する。この生成されたオブジェクトＢは“工事モード”として扱われ、オブジェクト管理部２に通知される。
（ｃ）既存のオブジェクト（図１２ではオブジェクトＣ）を削除する場合、オブジェクト更新制御部７は“削除要求”により、オブジェクトＣを工事グループ２１に登録する。
【００４１】
以上、各オブジェクトの状態遷移は、図１４におけるフェーズ１からフェーズ２への移行に対応する。
【００４２】
（３）フェーズ３は、アプリケーション１０２が実際に局データの変更を実行するフェーズであり、これは、先にオブジェクト更新制御部７が生成した“工事モード”側の変数データを書き換えることになる。本フェーズは、“変更”または“追加”オブジェクトＡ、Ｂに対して適用される。以下に、工事モードへのアクセスメカニズムを説明する。
【００４３】
図１６は、一般的なオブジェクト間通信の概念の説明図である。
図１７は、オブジェクト間通信を実現するメッセージ制御部１の処理フローチャートである。
（ａ）図１６に示すように、送信元オブジェクト４０がメッセージ送信要求を行うと、メッセージ制御部１は、メッセージ送信の種類によってメッセージ実行に必要なリソース（スレッド）の確保を行うか否かを判断し、行う場合｛非同期メッセージの場合：図１６（ａ）｝は、スレッド管理部６に要求し、行わない場合｛同期メッセージの場合：図１６（ｂ）｝は、現在の実行環境であるスレッド４２をそのまま用いて宛先オブジェクト４１にメッセージを届ける。これが、図１７におけるステップＳ１の処理である。尚、スレッド４３は、宛先オブジェクト４１への起動のためのスレッドである。また、ここでの処理については、例えば、特願平２−２８５８９１号“並列処理方法”等に記載されているように、既知の手法を用いている。
【００４４】
（ｂ）更に、メッセージ制御部１は、次に述べるスレッドの実行モードと宛先オブジェクト４１の状態によってメッセージをどのモードのオブジェクトに届けるかを判断する。これが図１７におけるステップＳ２〜ステップＳ９の処理である。
（ｃ）アプリケーション１０２は、メッセージ送信を行う際に、メッセージ実行環境であるスレッド４２、４３に対して、メッセージの宛先オブジェクト４１が工事中の場合に、運用モードと工事モードのどちらにアクセスするかを指定できる。これは、スレッドに対する“実行モード設定要求”であり、図１７のステップＳ３に示すように、“運用モードアクセス／工事モードアクセス／試験モードアクセス”のいずれかを選択可能とする。
【００４５】
図１８は、スレッドの実行モードとメッセージ送信の説明図である。
この図１８のａ）運用モードアクセス設定、ｂ）工事モードアクセス設定、ｃ）試験モードアクセス設定は、それぞれ、図１７のステップＳ３におけるスレッド実行モードの運用モードアクセス、工事モードアクセス、試験モードアクセスに対応するものである。
【００４６】
（ｄ）“工事モードアクセス”と指定されたスレッド上でメッセージ送信を行うと、宛先オブジェクト４１が工事中でかつ工事モードを持つ場合は工事モード側でメッセージを実行する。即ち、この状態は、図１８のｂ）工事モードアクセス設定に対応するものである。尚、“運用モードアクセス”と指定されたスレッド上でメッセージ送信を行った場合は、図１８のａ）に示すように、宛先オブジェクト４１の運用モード側でメッセージを実行する（図１７におけるステップＳ２からステップＳ６への状態）。
（ｅ）フェーズ３では、上記のメッセージに対応するプログラムが変数データを書き換えを行う。
【００４７】
（４）フェーズ４は、局データ変更が正しく行われたか否かを確認するフェーズである。これは、図１８のｃ）に示した試験モードアクセスに設定したスレッドを利用することにより実現される。以下、図３、４で示した端末収容替えを例に、試験動作を説明する。
図１９は、確認試験の動作説明図である。
即ち、図１９は、図３、４における局データ変更を確認するための試験構成例を示すものであり、試験端末として登録された端末５０から、内線番号“１３”をダイヤルしてポートＡ３からポートＢ３に移動した端末５１に着信できることを確認する試験を想定したものである。
【００４８】
（ａ）試験端末５０より発呼信号を受けると、これに対応する試験端末オブジェクト５２は、呼処理動作を開始する。
（ｂ）試験端末５０よりダイヤル信号を受けると、試験端末オブジェクト５２は、スレッドの実行モードを“試験アクセスモード”に設定して、番号翻訳オブジェクト５３に“番号翻訳”要求メッセージ５６を送信する。
（ｃ）上記のメッセージ送信要求は、メッセージ制御部１により宛先オブジェクトである番号翻訳オブジェクト５３が工事中である場合は、その工事モード側に届けられる。
（ｄ）番号翻訳オブジェクト５３の工事モード側において、番号の翻訳が実行されると、処理結果として“端末Ｂ３オブジェクト５８”のオブジェクト識別番号が試験端末オブジェクト５２に返送される。
【００４９】
（ｅ）試験端末オブジェクト５２は、端末Ｂ３オブジェクト５８に“着信要求”メッセージ５７を送信する。
（ｆ）メッセージ制御部１は、スレッドの実行モードが“試験アクセスモード”であり、かつ、端末Ｂ３オブジェクト５８は工事中であることをチェックして、端末Ｂ３オブジェクト５８の工事モードにメッセージ５７を届ける。
（ｇ）端末Ｂ３オブジェクト５８は、メッセージ５７を受けると、回線収容装置Ｂオブジェクト５４の工事モードにメッセージを届ける。
（ｈ）メッセージ制御部１は、スレッドの実行モードが“試験アクセスモード”であり、かつ、回線収容装置Ｂオブジェクト５４は工事中であることをチェックして回線収容装置Ｂオブジェクト５４の工事モードにメッセージを届ける。
（ｉ）回線収容装置Ｂオブジェクト５４は、メッセージ５９を受けると、ポート番号Ｂ３の回線に呼出信号を送信する。
【００５０】
（５）フェーズ５は、運用する局データを変更した新データに切り替えるフェーズであり、オブジェクト更新制御部７に対する“モード切替え”要求により実行される。以下に、その切替えの構成を説明する。
（ａ）モード切替え要求を受信すると、オブジェクト更新制御部７は指定された工事グループに登録されている運用モードを持つ全てのオブジェクトに対して“切替え予告”メッセージを送信する。
（ｂ）“切替え予告”メッセージを受信したオブジェクトは、切替え前処理プログラムを実行して、運用モードで実行中の他の処理があれば、その掃き出しを行う。
（ｃ）次に、オブジェクト更新制御部７は、工事グループ内の全てのオブジェクトの実行中状態をオブジェクト管理部２に問い合わせて、実行中のオブジェクトがなくなることを監視する。
【００５１】
（ｄ）工事グループ内の全てのオブジェクト（運用モード）が実行中でないことを検出すると、オブジェクト更新制御部７は、各オブジェクトの切替え操作を実行する。以上の操作を実施した状態が、図１５のフェーズ５／６に対応する。
▲１▼“変更”対象オブジェクトは、運用モードと工事モードとを“交換”して、オブジェクト状態を運用中とする。尚、“交換”とは、図１５におけるオブジェクト管理データ中の各モードへのポインタの組替え操作を意味する。
▲２▼“追加”対象オブジェクトは工事モードを運用モードに変更してオブジェクト状態を運用中とする。
▲３▼“削除”対象オブジェクトは運用モードを工事モードに変更して、オブジェクト状態を工事中とする。この場合は、運用モードがない場合であり、移行このオブジェクトへの一般アクセスはできなくなる。
（ｅ）切替え操作を完了すると、オブジェクト更新制御部７は、工事グループに登録されている運用モードを持つ全てのオブジェクトに対して“切替え完了”メッセージを送信する。
（ｆ）“切替え完了”メッセージを受信したオブジェクトは、切替え後処理プログラムを実行する。
【００５２】
（ｇ）また、切替え操作中に工事グループ登録中のオブジェクトにメッセージ送信要求があった場合は、切替え操作との競合による処理矛盾を回避するため、該当する要求（スレッド）はオブジェクト更新制御部７が工事グループ単位に予め用意した待ちキューに登録する。
【００５３】
図２０は、この状態を示すモード切替え中のオブジェクトアクセスの待ち合わせの説明図である。
また、この場合のメッセージ制御部１の動作は、図１７のフローチャートに示す通りである。即ち、オブジェクトＸからメッセージ送信要求があると、メッセージ制御部１は、宛先オブジェクト状態を参照する（図１７におけるステップＳ２）。そして、これが工事中であった場合、その工事グループ状態を参照する（図１７におけるステップＳ３からステップＳ７の流れ）。ここで、工事グループ状態は切替え中であるため、そのスレッドは起動待ち合わせとなる（図１７におけるステップＳ８）。
【００５４】
（ｈ）全ての切替え後処理が完了すると、オブジェクト更新制御部７は、切り替えた工事グループの待ちキューにスレッドが登録されていれば、それを取り出して実行させ、切替えルーチンを終了する。
（６）フェーズ６は、変更した新局データで運用している状態（仮運用）である。
（７）フェーズ７は、局データ変更作業の終了フェーズであり、オブジェクト更新制御部７は“工事終了”メッセージを受信すると、指定された工事グループの解放処理を実行する（以下の操作を実施した状態が図１５のフェーズ７に対応する）。
（ａ）“変更”対象オブジェクトの工事モード（この時点では、変更前の旧データ側）を解放する。
（ｂ）“追加”対象オブジェクトは何もしない。
（ｃ）“削除”対象オブジェクトを消滅させる。
（ｄ）工事グループ番号と、その管理データエリアを解放する。
【００５５】
以上述べた処理は、正常動作の例であり、局データ変更作業中に何らかの要因でアプリケーション１０２が処理を中断させたい場合、オブジェクト更新制御部７に対して“破壊要求”メッセージを送ることにより、局データを復旧させることができる。
［１］フェーズ３（試験中）で中断する場合、指定された工事グループに登録されているオブジェクトは旧状態で運用されているため、工事モードを解放すれば元の状態に復旧できる。
［２］フェーズ６（仮運用）で中断する場合、指定された工事グループに登録されているオブジェクトは新状態で運用されているため、再び切替え操作を実行（フェーズ５の逆の動作）を行った後、工事モードを解放すれば、元の状態に復旧することができる。
【００５６】
〈効果〉
以上のように、上記具体例１によれば、以下の効果が得られる。
（１）局データ変更作業中の変更対象オブジェクトが行っている通常の動作と、局データ変更に関する動作は独立に扱うことができ、また、変更操作を確実に行えたかどうかの確認が行えることから、保守作業を確実に行うことができる。
（２）局データの切替え操作と一般の処理との競合による処理矛盾が起きないことが関連するデータを持つオブジェクトグループの単位で保証されることにより、サービスの連続性を保ちつつ、局データ変更を行うことができる。
（３）関連する一連の局データ変更操作を単位として、任意の段階で中断しても局データが元の状態に復旧できることが保証されるため、保守作業の安全性を高めることができる。
【００５７】
《具体例２》
〈構成〉
図２１は、具体例２の構成図である。
即ち、具体例２は、複数の制御プロセッサで構成された分散システムの例であり、各プロセッサは、プロセッサバスを介して各種の制御を行う。
図２２は、各プロセッサにおけるオブジェクトインタフェーサの構成図である。
各オブジェクトインタフェーサにおいて、図１に示した上記具体例１との構成上の相違は、プロセッサ間通信制御部８を付加している点である。このプロセッサ間通信制御部８は、各プロセッサ間の通信制御を行う機能を有している。尚、図２２において、プロセッサＰ２、Ｐ３内部の構成はプロセッサＰ１と同様であるため、内部構成の図示は省略している。
【００５８】
〈動作〉
図２３は、具体例２におけるプロセッサ再開時の動作説明図である。
即ち、この図２３に示す状態は、図１２に示した工事グループを分散環境に拡張した場合のアプリケーション（オブジェクト群）とオブジェクト更新制御部７との関係を示すものであるが、基本的にアプリケーションが意識する工事グループは分散透過な概念であり、各制御プロセッサに存在するオブジェクト更新制御部７がプロセッサ間相互で連係して工事グループを管理していることを示している。
尚、図２３における工事グループ１には、プロセッサＰ１とプロセッサＰ２に存在するオブジェクトが登録され、工事グループ２にはプロセッサＰ２とプロセッサＰ３に存在するオブジェクトが登録されているものとする。
【００５９】
（１）プロセッサＰ１の再開初期設定部５は、自プロセッサの再開により各種制御部の初期設定ルーチンを起動する。
（２）プロセッサＰ１のオブジェクト更新制御部７の初期設定ルーチンは、工事グループ管理テーブルを読み出し、再開発生時点で存在していた工事グループがあれば、全ての工事グループについてそのグループに登録されている自プロセッサ内のオブジェクトを復旧させた後、工事グループを解放する。図２３の例では、オブジェクトＡおよび工事グループ１がこれに対応する。
（３）プロセッサＰ１のプロセッサ間通信制御部８は、初期設定要求を受信すると、他の全てのプロセッサに再開通知メッセージを送信する。これを受信した他のプロセッサのプロセッサ間通信制御部８は、再開初期設定部５にこれを通知すると、再開初期設定部５は、各種制御部の他プロセッサ再開ルーチンを起動する。
【００６０】
（４）オブジェクト更新制御部７の他プロセッサ再開ルーチンは、工事グループ管理テーブルを読み出し、再開発生時点で存在していた工事グループがあれば、全ての工事グループについて、そのグループに登録されている自プロセッサ内のオブジェクトを復旧させた後、工事グループを解放する。図２３の例では、プロセッサＰ２においては、オブジェクトＢとオブジェクトＣを復旧させて工事グループ１および工事グループ２が解放される。また、プロセッサＰ３においては、オブジェクトＤを復旧させて工事グループ２が解放される。
【００６１】
〈効果〉
以上のように、具体例２によれば、マルチプロセッサシステムにおいて、局データ変更作業中に一部のプロセッサが再開すると、処理途中の全ての局データ変更操作が復旧するため、プロセッサ間のデータ矛盾を解消させるためにシステム全体を再開させる必要がなくなる。これはシステムの信頼性の向上につながる。
【００６２】
尚、上記具体例２では、いずれかのプロセッサが再開した場合は、全てのオブジェクトを登録以前の状態に復旧するようにしたが、再開したプロセッサの関係するオブジェクトのみを登録以前の状態に復旧するように構成してもよい。例えば、図２３に示す例では、プロセッサＰ１、Ｐ２のオブジェクト更新制御部７は、工事グループ１を解放し、その工事グループに属するオブジェクトを復旧させるが、プロセッサＰ２、Ｐ３のオブジェクト更新制御部７は、工事グループ２の状態をそのままとする。
【００６３】
このように構成することにより、工事グループ２の変更操作はそのまま継続状態で再開することができるため、それまでの処理結果を生かすことができ、従って、局データ変更処理を速やかに終了させることができる。
【００６４】
《具体例３》
この具体例３では、同時に複数のコマンドが入力された場合のコマンド間の競合検出メカニズムについて説明する。
図１１のフェーズ２における対象オブジェクトの工事グループへの登録動作は、上記具体例１で示した通りであるが、オブジェクト更新制御部７は登録に当り、“指定されたオブジェクトが既に工事中でないか”のチェックを行う。これは図１３に示されるオブジェクト管理テーブル３０内のオブジェクト状態を参照することにより行われる。もしそうならば、その登録要求は拒否される。これは、「オブジェクトは同時には一つの工事グループのみ登録できる」ことを意味する。
【００６５】
また、図１１におけるフェーズ３において、オブジェクトの局データ書き換えは、予めスレッドの実行モードを“工事アクセスモード”にしておき、そのスレッド上でメッセージ送信を行うことで実現されるが、メッセージ制御部１およびスレッド管理部６は更に以下の機能を有している。
【００６６】
（１）スレッドの実行モードを“工事アクセスモード”に設定するとき、宛先オブジェクトが登録されている工事グループとスレッドは関係付けられ、スレッド管理部６により記憶される。
（２）メッセージ制御部１は、“工事モードアクセス”のスレッドで宛先オブジェクトを起動する際に、そのスレッドに関係する工事グループと、宛先オブジェクトが登録されている工事グループを比較し、一致していればメッセージ送信を実行し、不一致の場合はメッセージ送信要求を拒否する。
この動作は、図１８のｂ）に対応する。即ち、図１８に示すオブジェクトＣは工事グループ１に登録されており、工事グループ２に登録されているオブジェクトＤにはアクセスできないことを示す。これは「局データの書き換えは複数の工事グループに跨って実行できない」ことを意味する。また、この動作は、図１７におけるステップＳ３のスレッド実行モードが工事アクセスモードの場合である。この場合は、ステップＳ９において、登録工事グループとスレッドが関係する工事グループが一致するかをチェックし、一致した場合はステップＳ５に移行して工事モードのポインタを取り出し、一致しない場合は、上記の異なる工事グループに跨るアクセスの禁止により、エラーリターンとなる。
【００６７】
〈効果〉
以上のように具体例３では、オブジェクトは同時には一つの工事グループのみ登録でき、また、局データの書き換えは複数の工事グループに跨って実行できないようにしたので、アプリケーション１０２は、コマンド間の同時実行による競合検出をオブジェクトインタフェーサ１０１に任せることが可能となり、コマンドの種類に応じた独自の競合チェック論理を用意する必要がなくなる。これにより、シーケンシャルにコマンドを実行させる必要がなく、変更対象が全く無関係なオブジェクトであるコマンドは同時に複数実行することが可能な環境が構築され、保守作業の効率化が図れる。
【００６８】
【発明の効果】
以上説明したように、請求項１の交換機のオブジェクト更新システムによれば、局データ変更中の変更対象オブジェクトが行っている通常の動作と、局データ変更に関する動作とを独立に扱うことができ、また、変更操作を確実に行えたかどうかの確認も、工事モードのオブジェクトに対して行えばよいため、保守作業を確実に行うことができる。しかも、関連する一連の局データ変更操作を単位として任意の段階で中断しても、局データが元の状態に復旧することが保証できるため、保守作業の安全性を高めることができる。更に、局データの切替え操作と、一般の処理との競合による処理矛盾が起きないことが、関連するデータを持つオブジェクトのグループ単位で保証されることになり、サービスの連続性を保ちつつ局データの変更を行うことができる。
【００６９】
請求項２の交換機のオブジェクト更新システムによれば、いずれかの制御プロセッサの再開時点で、どの工事グループでどの程度変更操作を行っていたかを管理することがなく、各プロセッサ間のデータ矛盾を解消させるためにシステム全体を再開させる必要がない。
【００７０】
請求項３の交換機のオブジェクト更新システムによれば、再開した制御プロセッサとは無関係の工事グループにおける変更操作はそのまま継続させることができるため、局データ変更処理を速やかに終了させることができる。
【００７１】
請求項４の交換機のオブジェクト更新システムによれば、工事グループに属さないオブジェクト間のアクセス、即ち、変更対象が全く無関係なオブジェクトであるコマンドは同時に複数実行可能な環境が構築され、保守作業の効率化を図ることができる。
【図面の簡単な説明】
【図１】本発明の交換機のオブジェクト更新システムの実施の形態を示す構成図である。
【図２】オブジェクト指向交換ソフトウェアの構成図である。
【図３】交換システムのモデル構成図である。
【図４】交換システムのモデルに対応するアプリケーションオブジェクトの実装の例を示す説明図である。
【図５】各オブジェクトのデータ構成図（その１）である。
【図６】各オブジェクトのデータ構成図（その２）である。
【図７】各オブジェクトのデータ構成図（その３）である。
【図８】本発明の変更作業の比較となる局データ変更作業のフローチャートである。
【図９】コマンド間の競合の説明図（その１）である。
【図１０】コマンド間の競合の説明図（その２）である。
【図１１】具体例１の局データ変更動作のフローチャートである。
【図１２】局データ変更時の動作説明図である。
【図１３】局データ変更時のオブジェクト管理部とオブジェクト更新制御部の管理データ構成の説明図である。
【図１４】
各フェーズにおけるオブジェクト状態の説明図（その１）である。
【図１５】各フェーズにおけるオブジェクト状態の説明図（その２）である。
【図１６】一般的なオブジェクト間通信の概念の説明図である。
【図１７】オブジェクト間通信を実現するメッセージ制御部の処理フローチャートである。
【図１８】スレッドの実行モードとメッセージ送信の説明図である。
【図１９】確認試験の動作説明図である。
【図２０】モード切替え中のオブジェクトアクセスの待ち合わせの説明図である。
【図２１】具体例２の構成図である。
【図２２】具体例２の各プロセッサにおけるオブジェクトインタフェーサの構成図である。
【図２３】具体例２におけるプロセッサ再開時の動作説明図である。
【符号の説明】
１  メッセージ制御部
２  オブジェクト管理部
７  オブジェクト更新制御部
１０１  オブジェクトインタフェーサ
１０２  アプリケーション（オブジェクト群）
【図１】
0003697467.tif 000002
【図２】
0003697467.tif 000003
【図３】
0003697467.tif 000004
【図４】
0003697467.tif 000005
【図５】
0003697467.tif 000006
【図６】
0003697467.tif 000007
【図７】
0003697467.tif 000008
【図８】
0003697467.tif 000009
【図９】
0003697467.tif 000010
【図１０】
0003697467.tif 000011
【図１１】
0003697467.tif 000012
【図１２】
0003697467.tif 000013
【図１３】
0003697467.tif 000014
【図１４】
0003697467.tif 000015
【図１５】
0003697467.tif 000016
【図１６】
0003697467.tif 000017
【図１７】
0003697467.tif 000018
【図１８】
0003697467.tif 000019
【図１９】
0003697467.tif 000020
【図２０】
0003697467.tif 000021
【図２１】
0003697467.tif 000022
【図２２】
0003697467.tif 000023
【図２３】
0003697467.tif 000024