(57)【要約】【課題】  可用性を高める。【解決手段】  情報処理装置において、広義カーネルの拡張カーネルのなかに、ハードウエアアクセス用拡張カーネルと、ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、監視用ユーザプログラムを設け、監視用ユーザプログラムは、ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、ハードウエア障害対策動作を実行させる。【選択図】  図１
2006285453.tif 000002
【特許請求の範囲】
【請求項１】
最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理装置において、
前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、
前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、
当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする情報処理装置。
【請求項２】
請求項１の情報処理装置において、
前記ハードウエアアクセス用拡張カーネルは、
自身が該当するハードウエアにアクセスする前に、その時点の時刻を示す時刻記録情報を記録し、自身が、該当するハードウエアにアクセスしたあとでその時刻記録情報を所定のアクセス成功状態に変化させ、
前記ハングチェック用拡張カーネルは、現在時刻と、前記アクセス成功状態にない時刻記録情報が示す時刻の差にあたる時間が、所定の基準時間を越えたか否かを判定し、越えたと判定したときには、前記ハードウエア障害検出通知を送信することを特徴とする情報処理装置。
【請求項３】
最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理方法において、
前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、
前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、
当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする情報処理方法。
【請求項４】
最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理プログラムにおいて、
前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネル機能と、拡張部分を構成する拡張カーネル機能を備える場合、コンピュータに、当該拡張カーネル機能の一部として、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネル機能と、当該ハードウエアアクセス用拡張カーネル機能によるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネル機能とを実現させると共に、
前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、
当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネル機能からハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理方法、および情報処理プログラムに関し、例えば、呼制御サーバなどに適用して好適なものである。
【背景技術】
【０００２】
従来、多くのＯＳ（オペレーティングシステム）は、ハードウエア障害によるカーネル停止が発生すると、システムダウンするか、情報収集用の情報をダンプする動作を行う。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、高度な可用性を要求されるケースなどでは、クラスタリングなどを行って、複数のサーバ装置（例えば、呼制御サーバ装置ＡとＢ）を連携させる構成を取ることがある。このような構成では、各呼制御サーバ装置の内部においてＯＳの上位の階層で動作し、ＯＳが提供するサービスを利用するユーザプログラムの１つとして、クラスタ管理プログラムが設けられる。クラスタ管理プログラムは、例えば、呼制御サーバ装置Ａ内で蓄積された呼状態を示す情報（呼状態情報）を、連携する他の呼制御サーバ装置Ｂへ転送する動作などを実行している。呼制御サーバ装置Ｂは、その呼状態情報を受け取ることにより、もしも呼制御サーバ装置Ａが動作しなくなったときには、いつでも、呼制御サーバ装置Ａに代わって呼制御サービスを提供することができる。
【０００４】
しかしながら、ハードウエア障害によって、ＯＳ（例えば、呼制御サーバ装置Ａ上のＯＳ）が上述したダンプなどの処理のみを行ってダウンした場合、呼状態情報の転送も突然、中断されてしまい、呼制御サーバ装置Ａに代わって呼制御サーバ装置Ｂが提供する呼制御サービスに支障が生じる可能性が高いため、ＩＰ電話機などを利用する呼制御サービスのユーザからすると、可用性が低下したものとして認識される。
【課題を解決するための手段】
【０００５】
かかる課題を解決するために、第１の本発明では、最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理装置において、（１）前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、（２）前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、（３）当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする。
【０００６】
また、第２の本発明では、最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理方法において、（１）前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、（２）前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、（３）当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする。
【０００７】
さらに、第３の本発明では、最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理プログラムにおいて、（１）前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネル機能と、拡張部分を構成する拡張カーネル機能を備える場合、コンピュータに、当該拡張カーネル機能の一部として、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネル機能と、当該ハードウエアアクセス用拡張カーネル機能によるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネル機能とを実現させると共に、（２）前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、（３）当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネル機能からハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、可用性を極めて高い水準にまで高めることが可能である。
【発明を実施するための最良の形態】
【０００９】
（Ａ）実施形態
以下、本発明にかかる情報処理装置、情報処理方法、および情報処理プログラムを、ＶｏＩＰ通信システム中の呼制御サーバ装置に適用した場合を例に、実施形態について説明する。
【００１０】
（Ａ−１）実施形態の構成
本実施形態にかかるＶｏＩＰ通信システム１０の全体構成例を図６に示す。なお、当該ＶｏＩＰ通信システム１０中に、図示しないサーバ類（例えば、ＤＮＳサーバなど）が存在していてもよいことは当然である。
【００１１】
図６において、当該ＶｏＩＰ通信システム１０は、インターネット１１と、呼制御サーバ装置１２，１３と、ＩＰ電話機１４，１５とを備えている。
【００１２】
このうちインターネット１１はその他のネットワークに置換可能であるが、本実施形態では、インターネットを想定する。
【００１３】
呼制御サーバ装置１２は、インターネット１１経由でＩＰ電話機に呼制御サービスなどの各種サービスを提供するサーバである。当該呼制御サーバ装置１２は、例えば、ＳＩＰサーバなどに該当する。したがって呼制御サーバ装置１２がロケーションサーバなどの機能を備えていてもよい。
【００１４】
呼制御サーバ装置１３も当該呼制御サーバ装置１２と同様な機能を持つ通信装置であるが、呼制御サーバ装置１３と１２でクラスタリング構成を取るものとする。したがって、例えば、呼制御サーバ装置１２がＩＰ電話機１４，１５に前記呼制御サービスを提供している途中でハードウエア障害が発生した場合、呼制御サーバ装置１２が提供していた呼制御サービスを、そのまま呼制御サーバ装置１３が引き継ぐ。この引き継ぎの前後で、ＩＰ電話機１４，１５のユーザＵ１，Ｕ２に、ハードウエア障害の発生や引き継ぎの発生をまったく体感させることのない高度の可用性が求められる。
【００１５】
ＩＰ電話機１４はＶｏＩＰ対応機能を備えた電話機である。当該ＩＰ電話機１４は、ＶｏＩＰゲートウエイと一般電話機（ＶｏＩＰ対応機能を備えていない電話機）の組み合わせに置換可能である。
【００１６】
ＩＰ電話機１５は当該ＩＰ電話機１４に対応する。ＩＰ電話機１４はユーザＵ１によって利用され、ＩＰ電話機１５はユーザＵ２によって利用される。
【００１７】
前記呼制御サーバ装置１２の内部構成は例えば図１に示す通りであってよい。呼制御サーバ装置１３の内部構成もこれと同様である。
【００１８】
（Ａ−１−１）呼制御サーバ装置の内部構成例
図１において、当該呼制御サーバ装置１２は、ハードウエア２０，２１と、カーネル２２と、カーネルモジュール２３，２４と、ハングチェック部２５と、アプリケーション２６，２７と，監視プロセス（監視プログラム）２８とを備えている。
【００１９】
このうちハードウエア２０は、任意のハードウエアであってよいが、ハードウエア障害の監視対象とするハードウエアに限る。周知のように通信装置は多種多様なハードウエアを備えているが、ハードウエア障害の監視対象となるのは、その通信装置の提供するサービスにとって重要なものに限定してよい。例えば、呼制御サービスを提供する呼制御サーバ装置１４の場合、ＮＩＣ（ネットワーク・インタフェース・カード）や、ハードディスクなどは重要なハードウエアであるといえる。ＮＩＣは、ネットワーク経由の通信を行うために不可欠なハードウエアであるし、ハードディスクは、ログ情報などを蓄積するために不可欠なハードウエアである。呼制御サーバ装置１２を運営し、ＩＰ電話サービスを提供する通信事業者にとって、課金などを行う関係上、呼処理のログ情報は極めて重要である。
【００２０】
ハードウエア２１は当該ハードウエア２０に対応する。一例として、ハードウエア２０が前記ＮＩＣで、ハードウエア２１はハードディスクであってよい。なお、呼制御サーバ装置は通常、複数のＮＩＣ（例えば、６個）を備えているため、ＮＩＣごとに（すなわち、ネットワークごとに）、監視対象とするか否かを決めて、きめ細かな管理を行うこともできる。
【００２１】
カーネル２２は、ＯＳ（オペレーティングシステム）の中核部分を構成するプログラムで、メモリ管理やタスク管理などを行う。
【００２２】
カーネルモジュール２３は、デバイスドライバなどに相当するプログラムである。したがって、デバイス（ハードウエア）ごとに、カーネルモジュールが存在し得る。「カーネル」の語を広義で捕らえた場合、カーネルモジュールもカーネルの一部とみることができる。
【００２３】
カーネルモジュール２４は、当該カーネルモジュール２３に対応する。
【００２４】
カーネルモジュール２３は、前記ハードウエア２１のデバイスドライバであり、カーネルモジュール２４は前記ハードウエア２０のデバイスドライバである。したがって、カーネルモジュール２３，２４に対応し、ハードウエアアクセスのためのタスク（ハードウエアアクセスタスク）が実行される。
【００２５】
呼制御サーバ装置１２内に搭載された複数のカーネルモジュールのなかには、ハングチェック部を持つものと持たないものが混在していてよい。図示の例では、カーネルモジュール２４はハングチェック部２５を持つが、カーネルモジュール２３は持たない。ハングチェック部を持つカーネルモジュール（例えば、２４）の場合、その実行時には、ほぼ同時に、前記ハードウエアアクセスタスクのほか、前記ハングチェック部（例えば、２５）に対応するハングチェックタスクが実行される。
【００２６】
ハングチェック部２５は、カーネルモジュール２４の一部を構成するプログラムであるが、本実施形態において特別な役割を持っている。すなわち、当該ハングチェック部２５は、カーネルモジュール２４自体のハングアップを検出する機能を持つ。ハングチェック部２５が、カーネルモジュール２４のハングアップを検出するために備える具体的な機能については後で説明するが、ハングチェック部２５が、カーネルモジュール２４のハングアップを検出した場合、ハードウエア障害通知ＨＥ１（図２参照）を前記監視プロセス２８に送信する。ハングチェック部（ここでは、２５）を持つカーネルモジュールが複数存在する場合には、そのハードウエア障害通知ＨＥ１がいずれのカーネルモジュールに関するものであるかを示す識別情報も当該ハードウエア障害通知ＨＥ１とともに送信してよいことは当然である。
【００２７】
アプリケーション２６は、カーネル２２やカーネルモジュール２３が提供するサービスを利用するユーザプログラムである。同様に、アプリケーション２７はカーネル２２やカーネルモジュール２４が提供するサービスを利用するユーザプログラムである。呼制御サーバ装置１２上で動作するアプリケーションには様々なものがあり得るが、主要なものは、前記呼制御サービスなどを提供するためのサービスアプリケーションである。ここでは一例として、アプリケーション２７が、呼制御サービスを提供するサービスアプリケーションであるものとする。
【００２８】
各アプリケーションは、その機能に応じて、利用するカーネルモジュールが決まっている。
【００２９】
例えば、呼制御サービスを提供するサービスアプリケーション２７の場合、ネットワーク経由の通信を行うことは必須であるから、ハードウエア（ＮＩＣ）２０のデバイスドライバであるカーネルモジュール２４を利用することになる。したがって、例えば、ハードウエア障害（例えば、ＮＩＣ自体の障害など）によって、カーネルモジュール２４がハングアップした場合には、サービスアプリケーション２７は呼制御サービスを提供することができなくなる。
【００３０】
監視プロセス（監視プログラム）２８は、監視対象となる各アプリケーションの状態を監視するアプリケーションで、前記ハードウエア障害通知ＨＥ１を受信した場合、対応するアプリケーションの状態が所定の障害復旧動作を実行して差し支えないものとなったことを確認してから、障害復旧動作を実行させる。
【００３１】
監視対象となるアプリケーションは、ハングチェック部（ここでは、２５）を持つカーネルモジュール（ここでは、２４）を利用するアプリケーションである。したがって、２３，２４以外のカーネルモジュールは存在しないものと仮定すると、前記アプリケーション２６がカーネルモジュール２３を利用するが、カーネルモジュール２４を利用しないのであれば、当該アプリケーション２６は、監視対象外である。これに対し前記サービスアプリケーション２７は、前記カーネルモジュール２４を利用するため、監視対象となる。
【００３２】
前記障害復旧動作には様々なものがあり得るが、例えば、ＯＳのリブート（再起動）などであってよい。また、障害復旧動作を実行して差し支えないアプリケーション状態には、例えば、サービスアプリケーション２７が上述した呼状態情報を他の呼制御サーバ装置１３に転送している場合、その転送が終了したあと等が該当する。このような呼状態情報の転送が、前記再起動によって妨げられることなく正常に終了していれば、呼制御サーバ装置１２，１３間の前記引き継ぎを円滑に行って、可用性を高めることが可能になる。
【００３３】
以下、上記のような構成を有する本実施形態の動作について図２〜図５を参照しながら説明する。
【００３４】
図２は、ハードウエア障害通知を行う様子を示す概念図である。
【００３５】
図３は前記ハードウエアアクセスタスクがハングチェックのために実行する動作を示すフローチャートで、Ｓ１０〜Ｓ１２の各ステップを備えている。
【００３６】
図４は前記ハングチェックタスクがハングチェックのために実行する動作を示すフローチャートで、Ｓ２０〜Ｓ２３の各ステップを備えている。
【００３７】
図５は前記監視プロセス２８の動作を示すフローチャートで、Ｓ３０〜Ｓ３５の各ステップを備えている。ここでは、主として、呼制御サーバ装置１２に注目して動作を説明する。同様な動作が前記呼制御サーバ装置１３内でも実行されてよいことは当然である。
【００３８】
（Ａ−２）実施形態の動作
呼制御サーバ装置１２が動作しているとき、前記サービスアプリケーション２７は、前記カーネルモジュール２４を介してハードウエア（ＮＩＣ）２０を利用し、インターネット１１経由で各ＩＰ電話機（例えば、１４，１５）に呼制御サービスを提供している。また、この呼制御サービスの進行に伴って呼状態情報が発生すると、その呼状態情報が所定の手順で前記呼制御サーバ装置１３に転送される。呼状態情報の転送は、他のアプリケーションが実行する構成とすることも可能であるが、ここでは、サービスアプリケーション２７自体が実行するものとする。
【００３９】
このとき、前記監視プログラム（監視プロセス）２８は呼制御サーバ装置１２のメモリ（主記憶装置）に常駐させ、いつでもハードウエア障害通知ＨＥ１を受信できる状態としておいてよい。
【００４０】
前記カーネルモジュール２４がハードウエアアクセスタスク（例えば、呼制御メッセージの送信や受信など）を実行する場合、図３に示すように、必ず最初に、タイムスタンプを記録し（Ｓ１０）、つづいてハードウエアアクセスタスクを実行し（Ｓ１１）、ハードウエアアクセスタスクが正常に終了したらステップＳ１０で記録したタイムスタンプを無効化する（Ｓ１２）という動作を繰り返している。ステップＳ１０のタイムスタンプは、その時点の時刻を示すものであってよい。タイムスタンプの無効化は、ハングチェックタスク（ハングチェック部２５）に今回のハードウエアアクセスが成功したことを伝えるための操作であるので、その目的を達成できるものであれば、どのような態様で実行してもかまわない。
【００４１】
カーネルモジュール２４に関しては、このハードウエアアクセスタスクとほぼ同時並列的に、ハングチェックタスクが動作しており、図４に示すように、タイムスタンプを収集する（Ｓ２０）。この収集は、前記ステップＳ１０で、ハードウエアアクセスタスクが記録したタイムスタンプを収集するものである。この時点で、当該タイムスタンプが、前記ステップＳ１２で無効化された状態であれば、収集自体を行わないが、そうでなければ収集し、次のステップＳ２１を実行する。
【００４２】
ステップＳ２１では、タイムスタンプが示す時刻と現在時刻の差を算出する。そして、算出した差が、所定の閾値以下であれば、ステップＳ２２がＹｅｓ側に分岐して処理はステップＳ２０に戻り、閾値を越えていれば、ステップＳ２２がＮｏ側に分岐する。ステップＳ２２のＮｏ側の分岐につづくステップＳ２３では、図２に示すハードウエア障害通知ＨＥ１が送信される。これにより、ハードウエア障害が発生しているにもかかわらずその事実を検出できないサイレント障害を防止することが可能である。
【００４３】
一方、監視プロセス２８のほうは、図５の例の場合、いつでも当該ハードウエア障害通知ＨＥ１を受信できる受信待ちの状態にある（Ｓ３０）。そして、実際にハードウエア障害通知ＨＥ１を受信すると（Ｓ３１）、当該監視プロセス２８は、当該ハードウエア障害通知ＨＥ１の送信元であるカーネルモジュール２４に対応する前記サービスアプリケーションの動作状態を確認する（Ｓ３２）。この確認は、常時、実行しているものであってもよいが、図５の例では、ハードウエア障害通知ＨＥ１を受信したあとに実行している。
【００４４】
いずれにしても、ハードウエア障害通知ＨＥ１を受信した時点のサービスアプリケーション２７の状態が、例えば、前記呼状態情報の転送途中などである場合、監視プロセス２８は、当該サービスアプリケーション２７は停止不可の状態にあると判定してステップＳ３３はＮｏ側に分岐し、所定の待ち時間を置いたあと（Ｓ３４）、処理は再び、前記ステップＳ３２に進む。このステップＳ３２，Ｓ３３，Ｓ３４によって構成されるループは、アプリケーションの状態が停止可能なものとなるまで繰り返される。
【００４５】
例えば、前記呼状態情報の転送が終了した場合などに、監視プロセス２８は、サービスアプリケーション２７が停止可能な状態になったものと判定して、ステップＳ３３はＹｅｓ側に分岐し、前記障害復旧動作（例えば、ＯＳのリブートなど）を実行させる。
【００４６】
ＯＳをリブートすれば、監視プロセス２８自体も一度、動作を停止するが、リブートによる起動後には、再び、ステップＳ３０から処理を開始する。
【００４７】
（Ａ−３）実施形態の効果
以上のように、本実施形態によれば、例えば、上述した呼状態情報の転送などクラスタリング構成のための呼制御サーバ装置（１２，１３）間の連携が適切に行えるから、可用性を極めて高い水準にまで高めることが可能である。
【００４８】
加えて、本実施形態では、カーネルモジュールごとにハングチェックを行うか行わないかを決めて、きめ細かな管理を行うことができる。これによって、すべてのカーネルモジュールでハングチェックを行う場合に比べ、ハングチェックのための負荷（例えば、ＣＰＵ（中央処理装置）使用率の上昇など）を軽減することも可能である。
【００４９】
（Ｂ）他の実施形態
上記実施形態では、クラスタリングにかかる呼制御サーバ装置は２台であったが、３台以上であってもよいことは当然である。
【００５０】
また、図６では、ＩＰ電話機（１４，１５）を２台のみ図示したが、１つのＶｏＩＰ通信システムのなかに３台以上のＩＰ電話機が含まれていてよいことは当然である。
【００５１】
なお、上記実施形態では、個別のカーネルモジュール（例えば、２４）が、自身のハングアップを検出するためのハングチェック部（例えば、２５）を持つ構成であったが、他のカーネルモジュールのハングアップを検出する独立したカーネルモジュール（ハングチェック用カーネルモジュール）を用意し、当該ハングチェック用カーネルモジュールで、他の任意のカーネルモジュールのハングアップを検出するようにしてもよい。
【００５２】
さらに、必要に応じて、狭義のカーネルに、カーネルモジュールのハングアップを検出する機能を持たせることも可能である。
【００５３】
なお、上記実施形態では、ＶｏＩＰ通信システムに本発明を適用したが、本発明は、ＶｏＩＰ通信システム以外に適用できる可能性がある。
【００５４】
また、上記実施形態で例示した通信プロトコルは他の通信プロトコルに置換可能である。例えばＩＰプロトコルは、一例として、ＩＰＸプロトコルなどに置換できる可能性があり、ＳＩＰプロトコルも他の呼制御プロトコルに置換できる可能性がある。
【００５５】
さらに、上記実施形態では、呼制御サーバ装置に本発明を適用したが、本発明は、呼制御サーバ装置以外の通信装置に適用できる可能性もある。
【００５６】
なお、本発明は、通信装置以外の情報処理装置に適用することも可能である。
【００５７】
以上の説明でハードウエア的に実現した機能の大部分はソフトウエア的に実現することが可能であり、ソフトウエア的に実現した機能のほとんど全ては、ハードウエア的に実現することが可能である。
【図面の簡単な説明】
【００５８】
【図１】実施形態で使用する呼制御サーバ装置の主要部の構成例を示す概略図である。
【図２】実施形態で使用する呼制御サーバ装置の動作例を示す概略図である。
【図３】実施形態で使用する呼制御サーバ装置の動作例を示すフローチャートである。
【図４】実施形態で使用する呼制御サーバ装置の動作例を示すフローチャートである。
【図５】実施形態で使用する呼制御サーバ装置の動作例を示すフローチャートである。
【図６】実施形態にかかるＶｏＩＰ通信システムの全体構成例を示す概略図である。
【符号の説明】
【００５９】
１０…ＶｏＩＰ通信システム、１１…インターネット、１２，１３…呼制御サーバ装置、２０，２１…ハードウエア、２２…カーネル、２３，２４…カーネルモジュール、２５…ハングチェック部、２６，２７…アプリケーション、２８…監視プロセス（監視プログラム）。
【図１】
2006285453.tif 000003
【図２】
2006285453.tif 000004
【図３】
2006285453.tif 000005
【図４】
2006285453.tif 000006
【図５】
2006285453.tif 000007
【図６】
2006285453.tif 000008