JP2006285453A - 情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP2006285453A
JP2006285453A JP2005102418A JP2005102418A JP2006285453A JP 2006285453 A JP2006285453 A JP 2006285453A JP 2005102418 A JP2005102418 A JP 2005102418A JP 2005102418 A JP2005102418 A JP 2005102418A JP 2006285453 A JP2006285453 A JP 2006285453A
Authority
JP
Japan
Prior art keywords
hardware
kernel
user program
extended
hardware failure
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.)
Pending
Application number
JP2005102418A
Other languages
English (en)
Inventor
Tomotake Koike
友岳 小池
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2005102418A priority Critical patent/JP2006285453A/ja
Priority to CN200610002445A priority patent/CN100576185C/zh
Priority to US11/386,705 priority patent/US7607051B2/en
Publication of JP2006285453A publication Critical patent/JP2006285453A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/08Indicating faults in circuits or apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/24Arrangements for supervision, monitoring or testing with provision for checking the normal operation
    • H04M3/241Arrangements for supervision, monitoring or testing with provision for checking the normal operation for stored program controlled exchanges
    • H04M3/242Software testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】 可用性を高める。
【解決手段】 情報処理装置において、広義カーネルの拡張カーネルのなかに、ハードウエアアクセス用拡張カーネルと、ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、監視用ユーザプログラムを設け、監視用ユーザプログラムは、ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、ハードウエア障害対策動作を実行させる。
【選択図】 図1

Description

本発明は情報処理装置、情報処理方法、および情報処理プログラムに関し、例えば、呼制御サーバなどに適用して好適なものである。
従来、多くのOS(オペレーティングシステム)は、ハードウエア障害によるカーネル停止が発生すると、システムダウンするか、情報収集用の情報をダンプする動作を行う。
ところで、高度な可用性を要求されるケースなどでは、クラスタリングなどを行って、複数のサーバ装置(例えば、呼制御サーバ装置AとB)を連携させる構成を取ることがある。このような構成では、各呼制御サーバ装置の内部においてOSの上位の階層で動作し、OSが提供するサービスを利用するユーザプログラムの1つとして、クラスタ管理プログラムが設けられる。クラスタ管理プログラムは、例えば、呼制御サーバ装置A内で蓄積された呼状態を示す情報(呼状態情報)を、連携する他の呼制御サーバ装置Bへ転送する動作などを実行している。呼制御サーバ装置Bは、その呼状態情報を受け取ることにより、もしも呼制御サーバ装置Aが動作しなくなったときには、いつでも、呼制御サーバ装置Aに代わって呼制御サービスを提供することができる。
しかしながら、ハードウエア障害によって、OS(例えば、呼制御サーバ装置A上のOS)が上述したダンプなどの処理のみを行ってダウンした場合、呼状態情報の転送も突然、中断されてしまい、呼制御サーバ装置Aに代わって呼制御サーバ装置Bが提供する呼制御サービスに支障が生じる可能性が高いため、IP電話機などを利用する呼制御サービスのユーザからすると、可用性が低下したものとして認識される。
かかる課題を解決するために、第1の本発明では、最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理装置において、(1)前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、(2)前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、(3)当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする。
また、第2の本発明では、最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理方法において、(1)前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、(2)前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、(3)当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする。
さらに、第3の本発明では、最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理プログラムにおいて、(1)前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネル機能と、拡張部分を構成する拡張カーネル機能を備える場合、コンピュータに、当該拡張カーネル機能の一部として、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネル機能と、当該ハードウエアアクセス用拡張カーネル機能によるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネル機能とを実現させると共に、(2)前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、(3)当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネル機能からハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする。
本発明によれば、可用性を極めて高い水準にまで高めることが可能である。
(A)実施形態
以下、本発明にかかる情報処理装置、情報処理方法、および情報処理プログラムを、VoIP通信システム中の呼制御サーバ装置に適用した場合を例に、実施形態について説明する。
(A−1)実施形態の構成
本実施形態にかかるVoIP通信システム10の全体構成例を図6に示す。なお、当該VoIP通信システム10中に、図示しないサーバ類(例えば、DNSサーバなど)が存在していてもよいことは当然である。
図6において、当該VoIP通信システム10は、インターネット11と、呼制御サーバ装置12,13と、IP電話機14,15とを備えている。
このうちインターネット11はその他のネットワークに置換可能であるが、本実施形態では、インターネットを想定する。
呼制御サーバ装置12は、インターネット11経由でIP電話機に呼制御サービスなどの各種サービスを提供するサーバである。当該呼制御サーバ装置12は、例えば、SIPサーバなどに該当する。したがって呼制御サーバ装置12がロケーションサーバなどの機能を備えていてもよい。
呼制御サーバ装置13も当該呼制御サーバ装置12と同様な機能を持つ通信装置であるが、呼制御サーバ装置13と12でクラスタリング構成を取るものとする。したがって、例えば、呼制御サーバ装置12がIP電話機14,15に前記呼制御サービスを提供している途中でハードウエア障害が発生した場合、呼制御サーバ装置12が提供していた呼制御サービスを、そのまま呼制御サーバ装置13が引き継ぐ。この引き継ぎの前後で、IP電話機14,15のユーザU1,U2に、ハードウエア障害の発生や引き継ぎの発生をまったく体感させることのない高度の可用性が求められる。
IP電話機14はVoIP対応機能を備えた電話機である。当該IP電話機14は、VoIPゲートウエイと一般電話機(VoIP対応機能を備えていない電話機)の組み合わせに置換可能である。
IP電話機15は当該IP電話機14に対応する。IP電話機14はユーザU1によって利用され、IP電話機15はユーザU2によって利用される。
前記呼制御サーバ装置12の内部構成は例えば図1に示す通りであってよい。呼制御サーバ装置13の内部構成もこれと同様である。
(A−1−1)呼制御サーバ装置の内部構成例
図1において、当該呼制御サーバ装置12は、ハードウエア20,21と、カーネル22と、カーネルモジュール23,24と、ハングチェック部25と、アプリケーション26,27と,監視プロセス(監視プログラム)28とを備えている。
このうちハードウエア20は、任意のハードウエアであってよいが、ハードウエア障害の監視対象とするハードウエアに限る。周知のように通信装置は多種多様なハードウエアを備えているが、ハードウエア障害の監視対象となるのは、その通信装置の提供するサービスにとって重要なものに限定してよい。例えば、呼制御サービスを提供する呼制御サーバ装置14の場合、NIC(ネットワーク・インタフェース・カード)や、ハードディスクなどは重要なハードウエアであるといえる。NICは、ネットワーク経由の通信を行うために不可欠なハードウエアであるし、ハードディスクは、ログ情報などを蓄積するために不可欠なハードウエアである。呼制御サーバ装置12を運営し、IP電話サービスを提供する通信事業者にとって、課金などを行う関係上、呼処理のログ情報は極めて重要である。
ハードウエア21は当該ハードウエア20に対応する。一例として、ハードウエア20が前記NICで、ハードウエア21はハードディスクであってよい。なお、呼制御サーバ装置は通常、複数のNIC(例えば、6個)を備えているため、NICごとに(すなわち、ネットワークごとに)、監視対象とするか否かを決めて、きめ細かな管理を行うこともできる。
カーネル22は、OS(オペレーティングシステム)の中核部分を構成するプログラムで、メモリ管理やタスク管理などを行う。
カーネルモジュール23は、デバイスドライバなどに相当するプログラムである。したがって、デバイス(ハードウエア)ごとに、カーネルモジュールが存在し得る。「カーネル」の語を広義で捕らえた場合、カーネルモジュールもカーネルの一部とみることができる。
カーネルモジュール24は、当該カーネルモジュール23に対応する。
カーネルモジュール23は、前記ハードウエア21のデバイスドライバであり、カーネルモジュール24は前記ハードウエア20のデバイスドライバである。したがって、カーネルモジュール23,24に対応し、ハードウエアアクセスのためのタスク(ハードウエアアクセスタスク)が実行される。
呼制御サーバ装置12内に搭載された複数のカーネルモジュールのなかには、ハングチェック部を持つものと持たないものが混在していてよい。図示の例では、カーネルモジュール24はハングチェック部25を持つが、カーネルモジュール23は持たない。ハングチェック部を持つカーネルモジュール(例えば、24)の場合、その実行時には、ほぼ同時に、前記ハードウエアアクセスタスクのほか、前記ハングチェック部(例えば、25)に対応するハングチェックタスクが実行される。
ハングチェック部25は、カーネルモジュール24の一部を構成するプログラムであるが、本実施形態において特別な役割を持っている。すなわち、当該ハングチェック部25は、カーネルモジュール24自体のハングアップを検出する機能を持つ。ハングチェック部25が、カーネルモジュール24のハングアップを検出するために備える具体的な機能については後で説明するが、ハングチェック部25が、カーネルモジュール24のハングアップを検出した場合、ハードウエア障害通知HE1(図2参照)を前記監視プロセス28に送信する。ハングチェック部(ここでは、25)を持つカーネルモジュールが複数存在する場合には、そのハードウエア障害通知HE1がいずれのカーネルモジュールに関するものであるかを示す識別情報も当該ハードウエア障害通知HE1とともに送信してよいことは当然である。
アプリケーション26は、カーネル22やカーネルモジュール23が提供するサービスを利用するユーザプログラムである。同様に、アプリケーション27はカーネル22やカーネルモジュール24が提供するサービスを利用するユーザプログラムである。呼制御サーバ装置12上で動作するアプリケーションには様々なものがあり得るが、主要なものは、前記呼制御サービスなどを提供するためのサービスアプリケーションである。ここでは一例として、アプリケーション27が、呼制御サービスを提供するサービスアプリケーションであるものとする。
各アプリケーションは、その機能に応じて、利用するカーネルモジュールが決まっている。
例えば、呼制御サービスを提供するサービスアプリケーション27の場合、ネットワーク経由の通信を行うことは必須であるから、ハードウエア(NIC)20のデバイスドライバであるカーネルモジュール24を利用することになる。したがって、例えば、ハードウエア障害(例えば、NIC自体の障害など)によって、カーネルモジュール24がハングアップした場合には、サービスアプリケーション27は呼制御サービスを提供することができなくなる。
監視プロセス(監視プログラム)28は、監視対象となる各アプリケーションの状態を監視するアプリケーションで、前記ハードウエア障害通知HE1を受信した場合、対応するアプリケーションの状態が所定の障害復旧動作を実行して差し支えないものとなったことを確認してから、障害復旧動作を実行させる。
監視対象となるアプリケーションは、ハングチェック部(ここでは、25)を持つカーネルモジュール(ここでは、24)を利用するアプリケーションである。したがって、23,24以外のカーネルモジュールは存在しないものと仮定すると、前記アプリケーション26がカーネルモジュール23を利用するが、カーネルモジュール24を利用しないのであれば、当該アプリケーション26は、監視対象外である。これに対し前記サービスアプリケーション27は、前記カーネルモジュール24を利用するため、監視対象となる。
前記障害復旧動作には様々なものがあり得るが、例えば、OSのリブート(再起動)などであってよい。また、障害復旧動作を実行して差し支えないアプリケーション状態には、例えば、サービスアプリケーション27が上述した呼状態情報を他の呼制御サーバ装置13に転送している場合、その転送が終了したあと等が該当する。このような呼状態情報の転送が、前記再起動によって妨げられることなく正常に終了していれば、呼制御サーバ装置12,13間の前記引き継ぎを円滑に行って、可用性を高めることが可能になる。
以下、上記のような構成を有する本実施形態の動作について図2〜図5を参照しながら説明する。
図2は、ハードウエア障害通知を行う様子を示す概念図である。
図3は前記ハードウエアアクセスタスクがハングチェックのために実行する動作を示すフローチャートで、S10〜S12の各ステップを備えている。
図4は前記ハングチェックタスクがハングチェックのために実行する動作を示すフローチャートで、S20〜S23の各ステップを備えている。
図5は前記監視プロセス28の動作を示すフローチャートで、S30〜S35の各ステップを備えている。ここでは、主として、呼制御サーバ装置12に注目して動作を説明する。同様な動作が前記呼制御サーバ装置13内でも実行されてよいことは当然である。
(A−2)実施形態の動作
呼制御サーバ装置12が動作しているとき、前記サービスアプリケーション27は、前記カーネルモジュール24を介してハードウエア(NIC)20を利用し、インターネット11経由で各IP電話機(例えば、14,15)に呼制御サービスを提供している。また、この呼制御サービスの進行に伴って呼状態情報が発生すると、その呼状態情報が所定の手順で前記呼制御サーバ装置13に転送される。呼状態情報の転送は、他のアプリケーションが実行する構成とすることも可能であるが、ここでは、サービスアプリケーション27自体が実行するものとする。
このとき、前記監視プログラム(監視プロセス)28は呼制御サーバ装置12のメモリ(主記憶装置)に常駐させ、いつでもハードウエア障害通知HE1を受信できる状態としておいてよい。
前記カーネルモジュール24がハードウエアアクセスタスク(例えば、呼制御メッセージの送信や受信など)を実行する場合、図3に示すように、必ず最初に、タイムスタンプを記録し(S10)、つづいてハードウエアアクセスタスクを実行し(S11)、ハードウエアアクセスタスクが正常に終了したらステップS10で記録したタイムスタンプを無効化する(S12)という動作を繰り返している。ステップS10のタイムスタンプは、その時点の時刻を示すものであってよい。タイムスタンプの無効化は、ハングチェックタスク(ハングチェック部25)に今回のハードウエアアクセスが成功したことを伝えるための操作であるので、その目的を達成できるものであれば、どのような態様で実行してもかまわない。
カーネルモジュール24に関しては、このハードウエアアクセスタスクとほぼ同時並列的に、ハングチェックタスクが動作しており、図4に示すように、タイムスタンプを収集する(S20)。この収集は、前記ステップS10で、ハードウエアアクセスタスクが記録したタイムスタンプを収集するものである。この時点で、当該タイムスタンプが、前記ステップS12で無効化された状態であれば、収集自体を行わないが、そうでなければ収集し、次のステップS21を実行する。
ステップS21では、タイムスタンプが示す時刻と現在時刻の差を算出する。そして、算出した差が、所定の閾値以下であれば、ステップS22がYes側に分岐して処理はステップS20に戻り、閾値を越えていれば、ステップS22がNo側に分岐する。ステップS22のNo側の分岐につづくステップS23では、図2に示すハードウエア障害通知HE1が送信される。これにより、ハードウエア障害が発生しているにもかかわらずその事実を検出できないサイレント障害を防止することが可能である。
一方、監視プロセス28のほうは、図5の例の場合、いつでも当該ハードウエア障害通知HE1を受信できる受信待ちの状態にある(S30)。そして、実際にハードウエア障害通知HE1を受信すると(S31)、当該監視プロセス28は、当該ハードウエア障害通知HE1の送信元であるカーネルモジュール24に対応する前記サービスアプリケーションの動作状態を確認する(S32)。この確認は、常時、実行しているものであってもよいが、図5の例では、ハードウエア障害通知HE1を受信したあとに実行している。
いずれにしても、ハードウエア障害通知HE1を受信した時点のサービスアプリケーション27の状態が、例えば、前記呼状態情報の転送途中などである場合、監視プロセス28は、当該サービスアプリケーション27は停止不可の状態にあると判定してステップS33はNo側に分岐し、所定の待ち時間を置いたあと(S34)、処理は再び、前記ステップS32に進む。このステップS32,S33,S34によって構成されるループは、アプリケーションの状態が停止可能なものとなるまで繰り返される。
例えば、前記呼状態情報の転送が終了した場合などに、監視プロセス28は、サービスアプリケーション27が停止可能な状態になったものと判定して、ステップS33はYes側に分岐し、前記障害復旧動作(例えば、OSのリブートなど)を実行させる。
OSをリブートすれば、監視プロセス28自体も一度、動作を停止するが、リブートによる起動後には、再び、ステップS30から処理を開始する。
(A−3)実施形態の効果
以上のように、本実施形態によれば、例えば、上述した呼状態情報の転送などクラスタリング構成のための呼制御サーバ装置(12,13)間の連携が適切に行えるから、可用性を極めて高い水準にまで高めることが可能である。
加えて、本実施形態では、カーネルモジュールごとにハングチェックを行うか行わないかを決めて、きめ細かな管理を行うことができる。これによって、すべてのカーネルモジュールでハングチェックを行う場合に比べ、ハングチェックのための負荷(例えば、CPU(中央処理装置)使用率の上昇など)を軽減することも可能である。
(B)他の実施形態
上記実施形態では、クラスタリングにかかる呼制御サーバ装置は2台であったが、3台以上であってもよいことは当然である。
また、図6では、IP電話機(14,15)を2台のみ図示したが、1つのVoIP通信システムのなかに3台以上のIP電話機が含まれていてよいことは当然である。
なお、上記実施形態では、個別のカーネルモジュール(例えば、24)が、自身のハングアップを検出するためのハングチェック部(例えば、25)を持つ構成であったが、他のカーネルモジュールのハングアップを検出する独立したカーネルモジュール(ハングチェック用カーネルモジュール)を用意し、当該ハングチェック用カーネルモジュールで、他の任意のカーネルモジュールのハングアップを検出するようにしてもよい。
さらに、必要に応じて、狭義のカーネルに、カーネルモジュールのハングアップを検出する機能を持たせることも可能である。
なお、上記実施形態では、VoIP通信システムに本発明を適用したが、本発明は、VoIP通信システム以外に適用できる可能性がある。
また、上記実施形態で例示した通信プロトコルは他の通信プロトコルに置換可能である。例えばIPプロトコルは、一例として、IPXプロトコルなどに置換できる可能性があり、SIPプロトコルも他の呼制御プロトコルに置換できる可能性がある。
さらに、上記実施形態では、呼制御サーバ装置に本発明を適用したが、本発明は、呼制御サーバ装置以外の通信装置に適用できる可能性もある。
なお、本発明は、通信装置以外の情報処理装置に適用することも可能である。
以上の説明でハードウエア的に実現した機能の大部分はソフトウエア的に実現することが可能であり、ソフトウエア的に実現した機能のほとんど全ては、ハードウエア的に実現することが可能である。
実施形態で使用する呼制御サーバ装置の主要部の構成例を示す概略図である。 実施形態で使用する呼制御サーバ装置の動作例を示す概略図である。 実施形態で使用する呼制御サーバ装置の動作例を示すフローチャートである。 実施形態で使用する呼制御サーバ装置の動作例を示すフローチャートである。 実施形態で使用する呼制御サーバ装置の動作例を示すフローチャートである。 実施形態にかかるVoIP通信システムの全体構成例を示す概略図である。
符号の説明
10…VoIP通信システム、11…インターネット、12,13…呼制御サーバ装置、20,21…ハードウエア、22…カーネル、23,24…カーネルモジュール、25…ハングチェック部、26,27…アプリケーション、28…監視プロセス(監視プログラム)。

Claims (4)

  1. 最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理装置において、
    前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、
    前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、
    当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする情報処理装置。
  2. 請求項1の情報処理装置において、
    前記ハードウエアアクセス用拡張カーネルは、
    自身が該当するハードウエアにアクセスする前に、その時点の時刻を示す時刻記録情報を記録し、自身が、該当するハードウエアにアクセスしたあとでその時刻記録情報を所定のアクセス成功状態に変化させ、
    前記ハングチェック用拡張カーネルは、現在時刻と、前記アクセス成功状態にない時刻記録情報が示す時刻の差にあたる時間が、所定の基準時間を越えたか否かを判定し、越えたと判定したときには、前記ハードウエア障害検出通知を送信することを特徴とする情報処理装置。
  3. 最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理方法において、
    前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネルと、拡張部分を構成する拡張カーネルによって構成され、当該拡張カーネルのなかに、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネルと、当該ハードウエアアクセス用拡張カーネルによるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネルを設けると共に、
    前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、
    当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネルからハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする情報処理方法。
  4. 最下位の階層に各種のハードウエア、その上の階層に広義カーネル、その上の階層に各種のユーザプログラムを配置する階層構造を用いて所望の機能を実現する情報処理プログラムにおいて、
    前記広義カーネルが、当該広義カーネルの中核部分を構成する基本カーネル機能と、拡張部分を構成する拡張カーネル機能を備える場合、コンピュータに、当該拡張カーネル機能の一部として、該当する前記ユーザプログラムからの依頼に応じて、該当する前記ハードウエアにアクセスするためのハードウエアアクセス用拡張カーネル機能と、当該ハードウエアアクセス用拡張カーネル機能によるハードウエアアクセスの正常性を検査し、検査の結果、ハードウエアアクセスの異常を検出した場合には、ハードウエア障害検出通知を送信することによってハングチェックを行うハングチェック用拡張カーネル機能とを実現させると共に、
    前記ユーザプログラムとして、他のユーザプログラムの動作状態を把握している監視用ユーザプログラムを設け、
    当該監視用ユーザプログラムは、前記ハングチェック用拡張カーネル機能からハードウエア障害検出通知を受け取ると、当該ハードウエア障害検出通知に対応する他のユーザプログラムの動作状態を確認し、当該動作状態が所定のハードウエア障害対策動作を実行して差し支えのないものとなったときに、当該ハードウエア障害対策動作を実行させることを特徴とする情報処理プログラム。
JP2005102418A 2005-03-31 2005-03-31 情報処理装置、情報処理方法、および情報処理プログラム Pending JP2006285453A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005102418A JP2006285453A (ja) 2005-03-31 2005-03-31 情報処理装置、情報処理方法、および情報処理プログラム
CN200610002445A CN100576185C (zh) 2005-03-31 2006-01-26 信息处理装置和信息处理方法
US11/386,705 US7607051B2 (en) 2005-03-31 2006-03-23 Device and method for program correction by kernel-level hardware monitoring and correlating hardware trouble to a user program correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005102418A JP2006285453A (ja) 2005-03-31 2005-03-31 情報処理装置、情報処理方法、および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2006285453A true JP2006285453A (ja) 2006-10-19

Family

ID=37030378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005102418A Pending JP2006285453A (ja) 2005-03-31 2005-03-31 情報処理装置、情報処理方法、および情報処理プログラム

Country Status (3)

Country Link
US (1) US7607051B2 (ja)
JP (1) JP2006285453A (ja)
CN (1) CN100576185C (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185783B2 (en) * 2007-11-22 2012-05-22 Microsoft Corporation Split user-mode/kernel-mode device driver architecture
JP5304657B2 (ja) * 2008-02-22 2013-10-02 富士通株式会社 情報処理装置、プロセス検証支援方法およびプロセス検証支援プログラム
CN103995759B (zh) * 2014-05-21 2015-04-29 中国人民解放军国防科学技术大学 基于核内外协同的高可用计算机***故障处理方法及装置
EP3451220B1 (en) * 2016-04-25 2021-07-14 Yokogawa Electric Corporation Erasing device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528753A (en) * 1994-06-30 1996-06-18 International Business Machines Corporation System and method for enabling stripped object software monitoring in a computer system
US5630049A (en) * 1994-11-30 1997-05-13 Digital Equipment Corporation Method and apparatus for testing software on a computer network
US5968189A (en) * 1997-04-08 1999-10-19 International Business Machines Corporation System of reporting errors by a hardware element of a distributed computer system
JP3601777B2 (ja) 2000-06-02 2004-12-15 日本電気株式会社 コールエージェント用呼制御データの集中管理方法及びシステム
US6931571B2 (en) * 2001-11-20 2005-08-16 Hewlett-Packard Development Company, L.P. Method and apparatus for handling transient memory errors
US7000154B1 (en) * 2001-11-28 2006-02-14 Intel Corporation System and method for fault detection and recovery
US7043666B2 (en) * 2002-01-22 2006-05-09 Dell Products L.P. System and method for recovering from memory errors
CN1331318C (zh) * 2002-08-19 2007-08-08 上海贝尔有限公司 一种用于通信***的基于自陷保护与调试装置
US6959262B2 (en) * 2003-02-27 2005-10-25 Hewlett-Packard Development Company, L.P. Diagnostic monitor for use with an operating system and methods therefor
US20050015672A1 (en) * 2003-06-25 2005-01-20 Koichi Yamada Identifying affected program threads and enabling error containment and recovery
US7191364B2 (en) * 2003-11-14 2007-03-13 Microsoft Corporation Automatic root cause analysis and diagnostics engine
US7373558B2 (en) * 2004-09-23 2008-05-13 Intel Corporation Vectoring process-kill errors to an application program
US7308603B2 (en) * 2004-10-18 2007-12-11 International Business Machines Corporation Method and system for reducing memory faults while running an operating system

Also Published As

Publication number Publication date
CN100576185C (zh) 2009-12-30
US20060248531A1 (en) 2006-11-02
CN1841341A (zh) 2006-10-04
US7607051B2 (en) 2009-10-20

Similar Documents

Publication Publication Date Title
KR101470712B1 (ko) 컴퓨터 애플리케이션에서의 데이터 손실을 최소화하기 위한 방법 및 시스템
US6934880B2 (en) Functional fail-over apparatus and method of operation thereof
US8910172B2 (en) Application resource switchover systems and methods
CN103201724B (zh) 在高可用性虚拟机环境中提供高可用性应用程序
US8549639B2 (en) Method and apparatus for diagnosing and mitigating malicious events in a communication network
US9367379B1 (en) Automated self-healing computer system
US11706080B2 (en) Providing dynamic serviceability for software-defined data centers
US11330071B2 (en) Inter-process communication fault detection and recovery system
KR20160044484A (ko) 클라우드 배치 기반구조 검증 엔진
US20030196148A1 (en) System and method for peer-to-peer monitoring within a network
US20070168201A1 (en) Formula for automatic prioritization of the business impact based on a failure on a service in a loosely coupled application
US10120779B1 (en) Debugging of hosted computer programs
CN109286529A (zh) 一种恢复RabbitMQ网络分区的方法及***
CN102314382A (zh) 一种紧急探查***信息的方法及模块
JP2006285453A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
US20050234919A1 (en) Cluster system and an error recovery method thereof
JP6421516B2 (ja) サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法
US20070198993A1 (en) Communication system event handling systems and techniques
CN116126457A (zh) 容器迁移方法和服务器集群
JP2015114952A (ja) ネットワークシステム、監視制御装置およびソフトウェア検証方法
CN112954264B (zh) 一种平台备份保护方法及装置
JP5691248B2 (ja) タスク引継プログラム、処理装置及びコンピュータ・システム
CN106685697B (zh) 一种异常边际消息数据恢复处理的方法及***
US20110225464A1 (en) Resilient connectivity health management framework
JP2016200961A (ja) サーバー障害監視システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091222