(57)【要約】【課題】ＪＡＩＮを採用した情報処理システムにおいて、クラスタ切り替え後のオブジェクト間の一貫性を回復する。【解決手段】運用システム１のメモリ転送装置５０はヒープ２０および関係保持テーブル３０の内容を定期的に予備システム２に転送する。運用システム１に何らかの障害が発生すると、予備システム２は運用システムに切替り、ＪＡＩＮライブラリ１０はヒープ２０内のコール２２単体、アプリケーション２１単体での内部状態を確認し、異常なコール２２、アプリケーション２１を消去するとともに、関係保持テーブル３０を参照して対応するアプリケーション、コールおよびそれらに関するレコードを消去する。【選択図】    図１
2004287945.tif 000002
【特許請求の範囲】
【請求項１】
運用システムと予備システムからなる、ＪＡＩＮを採用した情報処理システムにおいて、
システムの運用時、前記運用システムは自システム内のヒープに蓄積されているコールおよびアプリケーションのそれぞれのオブジェクトの内部状態を予備システムに転送し、
前記運用システムの障害発生時、タスク切り替えにより新運用システムとなった前記予備システムが前記オブジェクトを復元し、コールおよびアプリケーションの正常性を確認する、オブジェクト内部状態の一貫性確認方法。
【請求項２】
正常性が失われたオブジェクトを解放する、請求項１に記載の方法。
【請求項３】
コールおよびアプリケーションがそれぞれ保持するＩＤによりコールとアプリケーションの対応関係を保持する関係保持テーブルを前記運用システムから前記予備システムに転送し、前記予備システムは前記運用システムの障害発生時、前記関係保持テーブルを利用し、異常なコール、異常なアプリケーションを消去するとともにそれらに対応するアプリケーション、コールおよびそれらに関するレコードを消去する、請求項１に記載の方法。
【請求項４】
オブジェクト間の一貫性が失われたオブジェクトを開放する、請求項１に記載の方法。
【請求項５】
ＪＡＩＮライブラリと、
コールとアプリケーションの組を１つ以上蓄積するヒープと、
自身が運用システムの場合、前記ヒープに蓄積されているコールおよびアプリケーションのそれぞれのオブジェクトを予備システムに転送する手段と、
自身が予備システムの場合、運用システムの障害発生時、運用システムから転送されてきたオブジェクトを復元し、コールおよびアプリケーションの正常性を確認する手段を有する情報処理システム。
【請求項６】
前記の正常性を確認する手段は、正常性が失われたオブジェクトを解放する、請求項５に記載の情報処理システム。
【請求項７】
自システム内のヒープに蓄積されているコールおよびアプリケーションがそれぞれ保持するＩＤによりコールとアプリケーションの対応関係を保持する関係保持テーブルを有し、
自システムが運用システムの場合、前記転送する手段は、システムの運用時、前記関係保持テーブルを前記予備システムに転送し、
前記の正常性を確認する手段は、自システムが予備システムの場合、運用システムから転送されてきた前記関係保持テーブルを利用し、異常なコール、異常なアプリケーションを消去するとともに、それらに対応するアプリケーション、コール、およびそれらに関するレコードを消去する、請求項５に記載の情報処理システム。
【請求項８】
請求項５から７のいずれか１項に記載の情報処理システムの機能をコンピュータで実行するためのプログラム。
【請求項９】
請求項８記載のプログラムを記録した、コンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークをコントロールするＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）の一種であるＪＡＩＮを採用した情報処理システムに関し、特にシステムを構成する各オブジェクトの内部状態の一貫性を確認し、一貫性が失われているオブジェクトを開放する方法に関する。
【０００２】
【従来の技術】
従来の交換機では、信頼性を向上させるために２重化などのクラスタ構成を採用している。従来の交換機では、通常動作時にクラスタ間でメモリ空間の複製を保持することにより、オブジェクトであるアプリケーションとコールの内部状態の情報の共有を図っていた。また、アプリケーションとコールの関係は多対１となっていた。クラスタ切り替えが発生した場合、交換機のプラットフォームが各アプリケーションに通知を出し、オブジェクトの内部状態の一貫性を確認するために、それ自体オブジェクトであるアプリケーションが、自身の内部状態と対応するコールオブジェクトの内部状態の一貫性を確認していた。また、一貫性が失われている場合は、それらのオブジェクトを開放していた。また、各コールオブジェクトにＩＤが付与されており、アプリケーションはそのＩＤを元に対応するコールオブジェクトを見つけていた。
【０００３】
【非特許文献１】
Ｒｅｌｉａｂｌｅ  ｒｅａｌ−ｔｉｍｅ  ｓｏｆｔｗａｒｅ  ｓｔｒｕｃｔｕｒｅ  ｆｏｒ  ｄｉｓｔｒｉｂｕｔｅｄ  ｓｗｉｔｃｈｉｎｇ  ｎｏｄｅｓ  Ｙａｍａｄａ，  Ｔ．    Ｋｏｙａｎａｇｉ，  Ｋ．    Ｓｕｎａｇａ，  Ｈ．    Ｍａｔｓｕｍｕｒａ，  Ｈ．Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｓｙｓｔ．  Ｌａｂｓ．，  ＮＴＴ，  Ｔｏｋｙｏ；Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  Ｇｌｏｂａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｃｏｎｆｅｒｅｎｃｅ，  １９９４．    ＧＬＯＢＥＣＯＭ  ’９４，  ＩＥＥＥ  Ｏｎ  ｐａｇｅ（ｓ）：  ４９５−４９９  ｖｏｌ．１
【０００４】
【発明が解決しようとする課題】
一方、ＪＡＩＮを採用した情報処理システムでは、アプリケーションとコールの関係は多対多となっており、クラスタ切り替えの通知も定義されていない。さらに、各コールにはＩＤがアプリケーションから見える形で付与されておらず、アプリケーションが対応するコールを見つけることができない。
【０００５】
本発明の目的は、ＪＡＩＮのモデルにおいて、クラスタ切り替え後のオブジェクト間の一貫性を回復し、一貫性の失われたオブジェクトを開放する方法、情報処理システム、プログラム、および記録媒体を提供することにある。
【０００６】
【課題を解決するための手段】
本発明の、オブジェクト内部状態の一貫性確認方法は、
システムの運用時、運用システムは自システム内のヒープに蓄積されているコールおよびアプリケーションのそれぞれのオブジェクトの内部状態を予備システムに転送し、
運用システムの障害発生時、タスク切り替えにより新運用システムとなった予備システムが前記オブジェクトを復元し、コールおよびアプリケーションの正常性を確認する。
【０００７】
また、本発明の情報処理システムは、
ＪＡＩＮライブラリと、
コールとアプリケーションの組を１つ以上蓄積するヒープと、
自身が運用システムの場合、前記ヒープに蓄積されているコールおよびアプリケーションのそれぞれのオブジェクトを予備システムに転送する手段と、
自身が予備システムの場合、運用システムの障害発生時、運用システムから転送されてきたオブジェクトを復元し、コールおよびアプリケーションの正常性を確認する手段を有する。
【０００８】
したがって、一貫性の失われたオブジェクトを解放し、信頼性を大きく向上させることが可能となる。
【０００９】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１０】
図１に示す本発明の一実施形態の情報処理システムは運用システム１と予備システム２から構成される。
【００１１】
運用システム１はＪＡＩＮライブラリ１０とヒープ２０と関係保持テーブル３０と外部装置４０とメモリ転送装置５０から構成される。予備システム２も運用システム１と同様である。ヒープ２０はアプリケーション２１とコール２２から構成される。関係保持テーブル３０は、アプリケーション２１が保持するＩＤとコール２２が保持するＩＤの対を保持する。外部装置４０は、端末としてユーザが操作する。メモリ転送装置５０は、ヒープ２０および関係保持テーブル３０の内容を予備システム２のヒープ２０へ定期的に転送する。
【００１２】
ユーザの操作により外部装置４０からプロトコルメッセージがＪＡＩＮライブラリ１０に通知されると、ＪＡＩＮライブラリ１０は、ヒープ２０内にコール２２を生成する。さらに、同じ外部装置４０からプロトコルメッセージが通知されるとＪＡＩＮライブラリ１０は、コール２２の内部状態を遷移させる。内部状態が遷移すると、ＪＡＩＮライブラリ１０は、コール２２に対応するアプリケーション２１を生成し、アプリケーション２１が保持するＩＤとコール２２が保持するＩＤを関係保持テーブル３０に書き込んだ後、その状態遷移をアプリケーション２１に通知する。このときに、ＪＡＩＮライブラリ１０は、同時にコール２２のリファレンス（ヒープ２０内での位置）を通知し、アプリケーション２１はそのリファレンスからコール２２の位置を把握し、コール２２のメソッドを呼び出し、状態を制御する。
【００１３】
図２に本実施形態における通常動作を図２のフローチャートにより説明する。ステップ１０１に、ユーザの操作により外部装置４０からプロトコルメッセージが運用システム１に送信され、ＪＡＩＮライブラリ１０がこれを受信する。ステップ１０２に、ＪＡＩＮライブラリ１０は受信したプロトコルメッセージが新規呼かどうか（プロトコルがＳＩＰの場合は、メッセージの種別がＩＮＶＩＴＥかどうか）をプロトコルメッセージの種別から判定する。新規呼の場合、ステップ１０３に、ＪＡＩＮライブラリ１０はヒープ２０上に、コール２２と、それに対応するアプリケーション２１を生成し、それぞれに一意となるＩＤを割り当てる。その後、ステップ１０４に、関係保持テーブル３０にコールのＩＤとアプリケーションのＩＤの対応関係を保存する。新規呼でない場合、ステップ１０８に、ＪＡＩＮライブラリ１０はプロトコルメッセージの種別によって、コールの内部状態を遷移させ（たとえば、プロトコルメッセージがＢＹＥで現在の状態が接続中の場合、状態を「切断」に遷移させる）、ステップ１０４と１０８の後、ステップ１０５に、その状態をイベントとして、コール２２に対応するアプリケーション２１に通知する。ステップ１０６に、アプリケーション２１がメソッド起動などによりコール２２を実行する。実行されたコール２２のメソッドはＪＡＩＮライブラリ１０にその情報を通知する。ステップ１０７に、ＪＡＩＮライブラリ１０はコール２２の状態やアプリケーション２１から呼び出されたメソッドに応じて外部装置４０へプロトコルメッセージを送信する。
【００１４】
次に、システムの通常運用時のヒープ領域の転送の手順を図３のフローチャートにより説明する。ステップ２０１に、運用システム１のメモリ転送装置５０は、ヒープ２０上のオブジェクトと関係保持テーブル３０を予備システム２のメモリ転送装置５０へ定期的に転送する。ステップ２０２に、予備システム２のメモリ転送装置５０は、転送されたデータを予備システム２のヒープ２０および関係保持テーブル３０へ展開する。
【００１５】
次に、システム障害発生時の動作を図４のフローチャートにより説明する。
【００１６】
運用システム１において何らかの障害が発生すると、クラスタ切り替えが発生し、予備システム２が新運用システム、運用システム１が新予備システムとなる。クラスタ切り替えが発生すると、ステップ３０１に、新運用システムのＪＡＩＮライブラリ１０はヒープ２０内のコール２２単体での内部状態の正常性を確認する。このときにＪＡＩＮライブラリ１０は、異常なコール２２を消去し、そのコール２２に対応するアプリケーション２１を消去し、さらに関係保持テーブル３０のそのコール２２およびアプリケーション２１に関するレコードを消去する。ステップ３０２に、ＪＡＩＮライブラリ１０はヒープ２０内のアプリケーション２１単体での内部状態の正常性を確認する。このときにＪＡＩＮライブラリ１０は、異常なアプリケーション２１を消去し、そのアプリケーション２１に対応するコール２２を消去し、さらに関係保持テーブル３０のそのアプリケーション２１およびコール２２に関するレコードを消去する。ステップ３０３に、ＪＡＩＮライブラリ１０は関係保持テーブル３０に存在しないコール２２、アプリケーション２１に関する情報が含まれていないか、正常性を確認し、異常なレコードを消去する。ステップ３０４に、ＪＡＩＮライブラリ１０は正常なコール２２に対応するアプリケーション２１へ再生通知を送る。ステップ３０５に、アプリケーション２１は、自らの内部状態と対応するコール２２の内部状態の一貫性を確認する。一貫性が保たれていない場合は、自らおよびコール２２を消去する。その後、新運用システムにて運用を再開する。
【００１７】
このような、正常性が失われた（異常な）オブジェクトを消去（解放）することにより、オブジェクトに割り当てられたメモリなどのソースが、再利用を可能とするために解放されない状態（リソース浮き）をなくすことができる。
【００１８】
なお、本発明は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００１９】
【発明の効果】
以上説明したように、本発明によれば、ＪＡＩＮのモデルにおいて、クラスタ切り替え時のオブジェクト再生およびオブジェクト間の一貫性を回復することにより、一貫性の失われたオブジェクトを解放することが可能となる。これにより、システムを２重化することができ、信頼性を大きく向上させることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態の情報処理システムの構成図である。
【図２】図１の実施形態の通常運用時の動作を示すフローチャートである。
【図３】図１の実施形態の通常運用時のヒープ領域の転送の手順を示すフローチャートである。
【図４】図１の実施形態の、障害発生によるタスク切り替え時の動作を示すフローチャートである。
【符号の説明】
１    運用システム
２    予備システム
１０    ＪＡＩＮライブラリ
２０    ヒープ
２１    アプリケーション
２２    コール
３０    関係保持テーブル
４０    外部装置
５０    メモリ転送装置
１０１〜１０８，２０１，２０２，３０１〜３０５    ステップ
【図１】
2004287945.tif 000003
【図２】
2004287945.tif 000004
【図３】
2004287945.tif 000005
【図４】
2004287945.tif 000006