説明

システム、システム障害防止方法及びシステム障害防止プログラム

【課題】上位サービスの開発者に負担をかけることなく、アプリケーションサーバのリソース不足により発生する障害を防止することができるシステムや方法を提供する
【解決手段】 システムのリソースを監視するリソース監視手段と、上位サービスのプログラムに対する割り込み位置をジョイントポイントとして設定する設定ファイルと、割り込み処理を実行するインターセプタ手段と、設定ファイルを参照することにより、実行しようとする上位サービスのプログラム中の実行対象処理がジョイントポイントであるか否かを判定し、当該判定結果が是である場合は、インターセプタ手段を呼び出す呼出手段と、を備え、インターセプタ手段は、リソース監視手段に当該システムのリソースの状態を問い合わせ、この問い合せ結果に基づいて実行対象処理を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムの障害を防止する技術に関し、特に、システムのリソース不足により発生するシステム障害を防止する技術に関する。
【背景技術】
【0002】
アプリケーションサーバ上で実行されるログイン認証を行う上位サービスは、ユーザのログイン状態をサービス側で管理するため、セッション中のユーザの状態をメモリに格納している。従って、ログインしたままログアウトしないユーザがいた場合、アプリケーションサーバ上に確保されるセッションを保持するためのメモリがログイン者数に応じて増加する。最終的にアプリケーションサーバに割り当てられた最大メモリ容量に達した場合は、メモリ不足エラーが発生し、アプリケーションサーバ全体の動作が不正となる。その結果、未ログインかログイン済みかに関わらず、全ての利用者がサービスを利用できなくなるという問題がある。また、同じアプリケーションサーバのドメイン上で稼働している他の全てのサービスも影響を受けるという問題もある。
【0003】
このようなメモリ不足を防ぐため、アプリケーションサーバ側でタイムアウトの設定を行い、一定時間ユーザの操作がなければ、アプリケーションサーバ側でセッションをタイムアウトさせるという機能が提供されている。しかし、サービスを提供する側が、ユーザの利便性を考慮してタイムアウトの機能を使用しないか、あるいは12時間などの長時間に設定しているような場合には、実質的に機能することができず、メモリ不足が発生することがある。また、毎週月曜日の朝や長期休暇明けの朝など、短時間の間にユーザのログインが集中した場合にも、メモリ不足が発生することがある。
【0004】
アプリケーションサーバの負荷を軽減する方法として、ネットワーク的にアプリケーションサーバの前段に負荷分散装置を設置して、複数台のアプリケーションサーバに処理を分散させるという方法が提案されている。しかし、例えばIPアドレス単位で処理を分散するような負荷分散装置の場合、プロキシサーバ経由のアクセスは同じ1台のアプリケーションサーバへ振り分けられるため、負荷分散が行われない。
【0005】
また、負荷分散装置の機能として、定期的にアプリケーションサーバの状態監視を行い、障害発生時には当該アプリケーションサーバへの振り分けを止める機能が提供されている。しかし、振り分けを止めると、それまでにログインして問題なくサービスを利用できていたユーザが操作を継続できなくなり、新たに別のアプリケーションサーバのサービスへ再ログインする必要があるという問題がある。なお、運用監視装置により、アプリケーションサーバがメモリ不足状態となった場合に、自動的にサービスの再起動を行うことにより障害を復旧する方法もある。しかし、上記と同様に、それまでにログインしていたユーザのセッションは無効になるため、ユーザは再ログインが必要になる。
【0006】
ここで、ログインに関連する処理の一例が特許文献1(特開平05−250181号公報)に記載されている。特許文献1に記載のログイン処理方法は、複数利用者が一つのシステムを共有するマルチユーザシステムのログイン処理方法であり、予め利用者コード毎にシステム資源の利用制限情報を定め、ログイン操作時にこの情報を当該利用者の作業環境に設定するものである。
【0007】
また、システムの負荷を軽減する方法の一例が特許文献2(特許第2915061号公報)に記載されている。特許文献2に記載の計算機システムの負荷制御方法は、計算機システムが、中央処理装置の各リソース利用状況の情報をリアルタイムで取得して記憶し、予め任意に設定した条件のもとで規定した中央処理装置のリソースの利用状況の許容限度と、当該リアルタイムで取得した各リソースの利用状況の情報とを比較するというものである。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平05−250181号公報
【特許文献2】特許第2915061号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、例えば特許文献1や特許文献2に記載されているような方法を、アプリケーションサーバが提供する上位サービスにそのまま実装しようとすると、以下に述べるような問題がある。
【0010】
上位サービスの開発者は、アプリケーションサーバやオペレーティングシステムの種類の違いを意識してプログラムを開発する必要があるため、開発作業の負担となる。また、上位サービスの開発者は、アプリケーションサーバの残メモリ容量やシステム稼働状況を確認するといった上位サービスで提供される機能範囲外のプログラムをサービス毎に開発しなければならないため、上位サービスで提供される機能のプログラム開発に集中することができなくなる。また、既に、アプリケーションサーバに上位サービスが実装されているような場合には、上位サービスの実装内容の変更という新たな作業が発生する。また、複数の上位サービスを1台のサーバ上で同時にホスティングできるアプリケーションサーバの場合、全てのサービス開発者が同様の実装を行わなければ、結果としてアプリケーションサーバ全体の障害を防ぐことが難しい。
【0011】
例えば、ホスティングサービス提供事業者がアプリケーションサーバを実行環境として上位サービスの提供者に貸し出すSaaS(Software as a Service)と呼ばれるサービスホスティング形態がある。かかる形態において、ホスティングサービス提供事業者の間には、ホスティングサービスの利用者である上位サービスの開発者に対して、アプリケーションサーバの種類、OSの種類、メモリ容量などホスティングサービスの物理的な実行環境を意識させたくないというニーズがある。
【0012】
そこで、本発明の目的は、上位サービスの開発者に負担をかけることなく、アプリケーションサーバのリソース不足により発生する障害を防止することができるシステムや方法等を提供することにある。
【課題を解決するための手段】
【0013】
本発明の第1の障害防止システムは、上位サービスの提供により発生する障害を防止する障害防止システムであって、前記システムのリソースを監視するリソース監視手段と、前記上位サービスのプログラムに対する割り込み位置をジョイントポイントとして設定する設定ファイルと、割り込み処理を実行するインターセプタ手段と、前記設定ファイルを参照することにより、前記上位サービスのプログラム中の実行対象処理がジョイントポイントであるか否かを判定し、当該判定結果が是である場合は、前記インターセプタ手段を呼び出す呼出手段と、を備え、前記インターセプタ手段は、前記リソース監視手段に当該システムのリソースの状態を問い合わせ、この問い合せ結果に基づいて前記実行対象処理を制御することを特徴とする。
【0014】
また、本発明の第1のシステム障害防止方法は、上位サービスを提供するためのプログラムが実装されたシステムにおいて用いられる障害防止方法であって、前記システムは、前記システムのリソースを監視するリソース監視手段と、前記上位サービスのプログラムに対する割り込み位置をジョイントポイントとして設定する設定ファイルと、割り込み処理を実行するためのインターセプタ手段と、前記設定ファイルに基づいて前記インターセプタ手段を呼び出す呼出手段と、を備えており、前記呼出手段が、前記設定ファイルを参照することにより、前記上位サービスのプログラム中の実行対象処理がジョイントポイントであるか否かを判定するステップと、前記判定結果が是である場合は、前記インターセプタ手段を呼び出すステップと、を備え、前記呼び出されたインターセプタ手段が、前記リソース監視手段に当該システムのリソースの状態を問い合わせるステップと、前記問い合わせ結果に基づいて前記実行対象処理を制御するステップと、を備えることを特徴とする。
【0015】
また、本発明は、上記の障害防止方法をコンピュータに実行させるためのプログラムである。本発明のプログラムは、本発明の第1のシステム障害防止方法の各処理ステップをコンピュータに実行させることを特徴とする。本発明のプログラムは、CD−ROMやDVD−ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードすることができる。
【発明の効果】
【0016】
本発明によれば、上位サービスの実装内容を変更することなく、アプリケーションサーバのリソース不足により発生する障害を防止することができるシステムや方法を提供することができるという効果を奏する。上位サービスの実装内容を変更する必要がないので、上位サービスの開発者に負担をかけることもない。
【図面の簡単な説明】
【0017】
【図1】システムの概略構成を示すブロック図である。
【図2】障害防止処理の流れを示すフローチャートである。
【図3】上位サービスとインターセプタのプログラムの実装例を示す図である。
【図4】ジョイントポイント設定ファイルの一例を示す図である。
【図5】ログイン制御条件定義ファイルの一例を示す図である。
【図6】エラー画面の一例を示す図である。
【図7】障害防止処理に係る各モジュールの関連を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、図1〜図7において同一の要素には同一の符号を付し、重複する説明を省略する。
【0019】
本発明は、アスペクト指向技術を用いて構築される。アスペクト指向技術は、オブジェクト指向技術の問題点を補うために考え出された手法である。アスペクト指向技術では、ソフトウェアの特定の振舞いを「横断的関心事」とし、この「横断的関心事」をアスペクトとして分離して記述する。アスペクト指向言語の例としては、AspectJなどが知られている。
【0020】
本実施形態では、本発明に係るアスペクト指向技術を用いた障害防止システム、障害防止方法又は障害防止プログラム(以下、「障害防止システム等」という)を、ホスティングサービス提供事業者がアプリケーションサーバを実行環境として上位サービスの提供者に貸し出すSaaS(Software as a Service)と呼ばれるサービスホスティング形態に適用する場合について説明する。ただし、本発明が適用される形態はこれに限られない。
【0021】
また、本実施形態では、本発明に係るアスペクト指向技術を用いた障害防止システム等を、ログイン処理に対して適用する場合について説明する。ただし、本発明が適用される処理はシステムリソースを多く消費する他の処理に対しても適用可能であり、ログイン処理に限られない。
【0022】
(1)システムの概略構成
【0023】
図1は、本実施形態に係るシステムの概略構成を示すブロック図である。本システムは、サーバ100と、クライアント端末200と、管理端末300とを備え、これらがネットワークN(インターネット、専用線、パケット通信網、電話回線、LAN、企業内ネットワーク、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。)を介して相互に接続されることにより構成される。
【0024】
なお、図1では、クライアント端末200と管理端末300について、それぞれ1台ずつ記載しているが、設計に応じて、それぞれが1台以上となるように構成してもよい。また、サーバ100は、単一のコンピュータより構成されるものであっても、ネットワーク上に分散した複数のコンピュータより構成されるものであってもよい。
【0025】
サーバ100は、ソフトウェアであるアプリケーションサーバが動作する装置全体を表している。サーバ100は、CPU111、メモリ112、ネットワーク113、ディスク114を有するハードウェア110を備えている。なお、CPU111はサーバの動作全体を主に制御する制御手段、メモリ112及びディスク114は各種データを記憶する記憶手段、ネットワーク113は他のコンピュータ等と通信あるいは接続するための通信手段(接続手段)とも呼ばれる。なお、サーバ100のハードウェア構成はこれに限られず、設計に応じてハードウェアを追加してもよい。
【0026】
サーバ100は、ハードウェア110上に、OS120、アプリケーションサーバ130、アプリケーションサーバ上で動作する上位サービス群140、アスペクト実行エンジン150、インターセプタライブラリ160、ジョイントポイント設定ファイル170、ログイン制御条件定義ファイル180、システムリソース監視サービス190を備えている。これらのモジュールは、必要に応じてメモリ112等に読み込まれCPU111等によって実行されることにより所定の処理や動作を実行する機能実現手段となる。
【0027】
アプリケーションサーバ130は、ミドルウェアの一種で、例えば、所定のビジネスロジックなどのアプリケーションを実装したサーバソフトウェアである。
【0028】
上位サービス群140(上位サービス1、上位サービス2…上位サービスn)は、それぞれ異なる個別のサービスプログラム(アプリケーション)の集合である。上位サービス群140は、1つのアプリケーションサーバ上に並列に存在する。各上位サービスは、例えば、ユーザによるサービスの利用時にログイン処理を実行し、ユーザ固有のセッションをメモリ112上に作成する。
【0029】
アスペクト実行エンジン150は、アスペクト指向言語で記載されたスクリプトを解釈して実行するためのエンジンプログラムである。アスペクト実行エンジン150は、後述するジョイントポイント設定ファイル170を参照することにより、上位サービスのプログラム中の実行対象処理がジョイントポイントであるか否かを判定し、この判定結果が是である場合(ジョイントポイントであると判定した場合)は、後述するインターセプタライブラリ160から該当するインターセプタを呼び出す呼出手段とも呼ばれる。
【0030】
ジョイントポイント設定ファイル170は、上位サービス群140の各上位サービス(上位サービス1、上位サービス2…上位サービスn)に対応して用意され、上位サービス毎にサービスプログラム中のどのクラスのどの処理に対して割り込み処理を行うかを定義することができる。クラスとは、データとその操作手順であるメソッドをまとめたオブジェクトの雛型を定義したものである。ここで、割り込み処理を実施する対象箇所を「ジョイントポイント」と呼ぶ。また、このジョイントポイントに対して割り込み処理を実施するクラス(処理)を「インターセプタ」と呼ぶ。ジョイントポイント設定ファイル170中で、呼び出すインターセプタクラスが指定される。
【0031】
インターセプタライブラリ160は、ジョイントポイントごとに異なるインターセプタを設定することができる。インターセプタライブラリ160は、例えば、上位サービス群140の各上位サービス(上位サービス1、上位サービス2…上位サービスn)に対してそれぞれ割り込み処理を行う複数のインターセプタ(インターセプタ1、インターセプタ2…インターセプタn)を複数管理する。インターセプタは、CPU111によって実行されると、インターセプタ手段(割り込み処理を実行する割込処理実行手段)として機能する。
【0032】
ログイン制御条件定義ファイル180は、上位サービス群140の各上位サービス(上位サービス1、上位サービス2…上位サービスn)に対応して用意され、上位サービス毎に異なる条件によるログイン制限を定義することができる。すなわち、上位サービス毎に、異なるSLA(Service Level Agreement)を定義することが可能である。ログイン制御条件定義ファイル180は、各上位サービスによるリソースの利用を制限する条件を定義したリソース制限条件ファイルとも呼ばれる。
【0033】
システムリソース監視サービス190は、インターセプタライブラリ160に高速に最新のシステム(サーバ)の状況を返却することを目的とする。システムリソース監視サービス190は、例えば、監視対象とするリソースの特徴に応じて、問い合わせ毎に実際のシステムの状況を即時に取得して、その結果を返却する。また、状況確認処理にコストがかかるリソースの場合は、あらかじめ非同期に30秒毎や1分毎など定期的に問い合わせを行っておき、定期収集した結果を返却する場合もある。なお、システム状況の取得及び返却の方法は、これらに限られず、設計に応じて他の方法を採用することができる。また、システムリソース監視サービス190には、従来技術を適用することができる。システムリソース監視サービス190は、リソース監視手段とも呼ばれる。
【0034】
クライアント端末200は、図示してはいないが、CPU、ROMやRAM等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。上位サービス140の利用者は、クライアント端末200に実装されたクライアントアプリケーション201からネットワークNを通じて上位サービス群140中の利用したい特定のサービスにアクセスし、ログイン操作を行う。
【0035】
管理端末300は、図示してはいないが、CPU、ROMやRAM等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。アプリケーションサーバの管理者は、ログイン制御条件定義ファイル180の設定変更や適用作業、ジョイントポイント設定ファイル170の設定変更や適用作業、および、インターセプタライブラリ160へのインターセプタクラスの登録作業などを、管理端末300上の管理アプリケーション301を用いて行う。なお、負荷分散のために同一構成のサーバ100を複数台配置するシステム構成をとる場合があるが、管理端末300から管理対象となる複数台のアプリケーションサーバ130に対して一括で設定変更を行えるように構成されている。
【0036】
(2)障害防止処理
【0037】
次に、本実施形態に係る障害防止処理の流れについて図2〜図7を用いて詳細に説明する。ここでは、図7のモジュール関連図を参照しながら、図2のフローチャートに従って障害防止処理を説明する。
【0038】
アプリケーションサーバ130が起動されると、アスペクト実行エンジン150は、ジョイントポイント設定ファイル170を予め参照し、実行する各上位サービス(上位サービス1、上位サービス2…上位サービスn)140に対するジョイントポイントをメモリ112に読み込む(図7中の(1))。
【0039】
アプリケーションサーバ130は、上位サービス140のプログラムが実行されている場合、これから実行しようとする実行対象クラス(実行対象処理)がジョイントポイントであるか否かを確認するため、アスペクト実行エンジン150を呼び出す。アスペクト実行エンジン150は、メモリ112に読み込んだジョイントポイント設定ファイル170の情報を参照し、実行対象クラスがジョイントポイントであるか否かを判定する(図2のS1)。なお、ここでは、実行対象クラスがログイン処理である場合について説明する。
【0040】
ここで、図4は、ジョイントポイント設定ファイルの一例を示している。ここでは、ジョイントポイントとして、“LoginAction”という実行対象クラスの”login”というメソッドが呼び出されるときには、インターセプタライブラリからLoginIntercepterクラス(インターセプタ)を呼び出す、という定義の例が記載されている。
【0041】
従って、上位サービス140のユーザが、クライアント端末200からログイン要求を行うと(図7中の(2))、アスペクト実行エンジン150が呼び出され、この呼び出されたアスペクト実行エンジン150は、ジョイントポイント設定ファイル170に定義された内容に従ってジョイントポイントを検出する(図7中の(3);図2のS1)。
【0042】
アスペクト実行エンジン150は、実行対象クラスがジョイントポイントであると判定した場合、ジョイントポイント設定ファイル170の設定内容に基づいて、インターセプタライブラリ160から該当するインターセプタを取り出し(図7中の(4))、インスタンス化する(図7中の(5);図2のS2)。該当するインターセプタとは、ジョイントポイント設定ファイル170のジョイントポイントによって、実行対象クラスと対応付けて定義されているインターセプタを意味する。
【0043】
図3は、上位サービスとインターセプタのプログラムの実装例を示す図である。符号31は、上位サービスのプログラムの実装例を示す。符号32は、インターセプタのプログラムの実装例を示す。符号311は、ジョイントポイントを示している。図3では、上位サービスのLoginAction.classのlogin()メソッドが呼び出されたときに、インターセプタライブラリ160からLoginIntercepterクラスが取り出されることが示されている。
【0044】
次に、アスペクト実行エンジン150は、取り出したインターセプタ165の呼び出しを行う(図7中の(6);図2のS3)。図3のソース例には、LoginIntercepter.classのinvoke()メソッドが呼び出されることが示されている。
【0045】
呼び出されてインスタンス化されたインターセプタ165は、ログイン制御条件定義ファイル180の定義内容を参照して(図7中の(7))、システムリソース状況の確認処理(問い合わせ処理)を実行する(図7中の(8);図2のS4)。
【0046】
具体的には、インターセプタ165は、まず、システムリソース監視サービス190にシステムリソースの状況について問い合わせを行う。図3のソース例では、LoginIntercepter.classのcheck_system_resource()メソッドの呼び出しにより、システムリソース監視サービス190に問い合わせを行い、システムリソース状況の確認を行うことが示されている。
【0047】
システムリソース監視サービス190は、インターセプタ165からシステムリソースの状況について問い合わせを受け付けると、所定の方法によってサーバ100のリソース状況を取得して、その結果をインターセプタ165に返却(応答)する(図7中の(9))。例えば、システムリソース監視サービス190は、サーバ100のリソース状況を即時に取得して、その結果をインターセプタ165に返却する。また、状況確認処理にコストがかかるリソースの場合は、あらかじめ非同期に30秒毎や1分毎など定期的に問い合わせを行っておくことにより定期収集した結果を、インターセプタ165に返却してもよい。
【0048】
インターセプタ165は、システムリソース監視サービス190からサーバ100のリソース状況の問い合わせ結果を受信すると、ログイン制御条件定義ファイル180の定義内容に基づいて、システム状況に問題があるか否か(ログイン制限を行うか否か)を判定する(図2のS5)。
【0049】
図5は、ログイン制御条件定義ファイルの一例を示す図である。図5では、ログイン制御条件の一例として、メモリの使用状況が1024MBを5分以上継続して超えていた場合、またはCPUの利用率が90%を超える状況が5分以上継続していて場合には、ログイン制限を行うという設定がなされている。なお、ログイン制御条件は、図5に示すものに限られず、適宜条件を追加/変更/削除することができる。
【0050】
インターセプタ165は、システム状況に問題がない(ログイン制限を行う必要がない)と判定した場合(図2のS5;なし)、元のプログラムの処理に復帰する。上位サービス140のプログラムは、ログイン処理を継続し、例えば、ログイン成功画面をクライアント端末200へ返却する(図2のS6;図7中の(10))。
【0051】
一方、インターセプタ165は、システム状況に問題がある(ログイン制限を行う必要がある)と判定した場合(図2のS5;あり)、ログイン処理を制御する。すなわち、ログイン処理を継続させる代わりに、例えば、ログイン制限画面をクライアント端末200へ返却する(図2のS7;図7中の(11))。図6は、ログイン制限画面の一例を示す図である。
【0052】
本実施形態では、アスペクト実行エンジン150を備えるようにしたので、上位サービス側の実装内容(既に実装されたプログラム)を変更することなく、動的にログイン制限を実現できるという効果を得ることができる。同様に、本実施形態では、上位アプリケーションの実装内容を変更することなく、アプリケーションサーバ側の特定の処理(例えば、ログイン処理)を、後づけで制御することができるようになるという効果が得られる。
【0053】
また、本実施形態では、上位サービスのプログラム開発者が、アプリケーションサーバ130の残りメモリ容量、サーバ全体の残りメモリ容量、CPU負荷状況などを意識するようなプログラムを開発することなく、障害を未然に防止することのできる堅牢なサービスを提供できるようになる。
【0054】
また、本実施形態では、ログイン処理にジョイントポイントを設定することによって、システムリソース状況の確認による制限処理をログイン処理に限定して実行できるので、既にログイン済みのユーザは制限されることなく操作を継続できるという効果を奏する。
【0055】
また、本実施形態では、アプリケーションサーバの種類、オペレーティングシステムの種類、メモリ容量等の実行環境の違いを吸収することができるという効果がある。
【0056】
また、本実施形態では、システムリソース監視サービス190を備えるようにしたので、システムリソースの状況を確認する処理を専用のサービスで行うことができる。その結果、システムリソース状況の確認の伴う処理コストや時間コストを低減、集約することが可能になるという効果が得られる。
【0057】
また、本実施形態では、ログイン制御条件定義ファイル180を上位サービス毎に設定しているので、上位サービス毎にCPU負荷、メモリ使用量の制限条件を個別に設定することが可能になる。
【0058】
また、本実施形態は、インターセプタライブラリ160を備えるようにしたところ、インターセプタ165は上位サービス140のアプリケーション開発とは関係なく、開発し、実行することができる。そのため、SaaSのような、アプリケーションサーバ130の提供者と上位サービス140の提供者が異なるサービスホスティング形態を採用している場合でも、アプリケーションサーバ130の提供者側で、上位サービス140が消費するシステムリソースを、上位サービス140の提供者との契約に従って制限することができるという効果がある。
【0059】
(3)その他の実施形態
【0060】
上記実施形態では、本発明に係るシステム障害防止方法をログイン処理に適用する場合について説明したが、例えば、巨大メモリを消費することが予め想定される処理に対しても同様に適用することができる。この場合、当該巨大メモリを消費することが予め想定されるメソッドに対してジョイントポイントを設定し、インターセプタ165を提供する。このように構成することで、上位サービス側の実装内容(既に実装されたプログラム)を変更することなく、ログイン以外の操作においてもメモリ不足の発生を防止することができるようになる。
【0061】
また、上記実施形態では、インターセプタがシステムリソース状況を確認する場合について説明したが、システムメンテナンス停止時として全利用者のログインを即時制限することや、特定IDのログインを禁止すること、また、時間帯に応じてログインを制御するように構成してもよい。この場合においても、上位サービスの実装内容を変更することなく、これら処理を実行することができる。
【0062】
なお、本明細書等において、手段とは、単に物理的手段を意味するものではなく、その手段が有する機能をソフトウェアによって実現する場合も含む。また、1つの手段が有する機能が2つ以上の物理的手段により実現されても、2つ以上の手段の機能が1つの物理的手段により実現されてもよい。
【0063】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【符号の説明】
【0064】
100…サーバ、110…ハードウェア、111…CPU、112…メモリ、113…ネットワーク、114…ディスク、120…OS、130…アプリケーションサーバ、140…上位サービス群、150…アスペクト実行エンジン、160…インターセプタライブラリ、165…インターセプタ、170…ジョイントポイント設定ファイル、180…ログイン制御条件定義ファイル、190…システムリソース監視サービス、200…クライアント端末、201…クライアントアプリケーション、300…管理端末、301…管理アプリケーション、N…ネットワーク

【特許請求の範囲】
【請求項1】
上位サービスの提供により発生する障害を防止する障害防止システムであって、
前記システムのリソースを監視するリソース監視手段と、
前記上位サービスのプログラムに対する割り込み位置をジョイントポイントとして設定する設定ファイルと、
割り込み処理を実行するインターセプタ手段と、
前記設定ファイルを参照することにより、前記上位サービスのプログラム中の実行対象処理がジョイントポイントであるか否かを判定し、当該判定結果が是である場合は、前記インターセプタ手段を呼び出す呼出手段と、を備え、
前記インターセプタ手段は、
前記リソース監視手段に当該システムのリソースの状態を問い合わせ、この問い合せ結果に基づいて前記実行対象処理を制御することを特徴とする障害防止システム。
【請求項2】
前記上位サービスによる前記システムのリソースの利用を制限する条件を定義するリソース制限条件ファイルをさらに備え、
前記インターセプタ手段は、
前記リソース制限条件ファイルを参照し、この参照結果と前記リソース監視手段から得られる問合せ結果とに基づいて、前記実行対象処理を制御することを特徴とする請求項1に記載の障害防止システム。
【請求項3】
前記設定ファイルは、
前記上位サービスのプログラム中のログイン処理に対してジョイントポイントを設定していることを特徴とする請求項1または2に記載の障害防止システム。
【請求項4】
前記インターセプタ手段は、
前記リソース監視手段からの問合せ結果が既定条件を満たす場合は、ログイン要求を受け付けないように、前記ログイン処理を制御することを特徴とする請求項3に記載の障害防止システム。
【請求項5】
上位サービスを提供するためのプログラムが実装されたシステムにおいて用いられる障害防止方法であって、
前記システムは、前記システムのリソースを監視するリソース監視手段と、前記上位サービスのプログラムに対する割り込み位置をジョイントポイントとして設定する設定ファイルと、割り込み処理を実行するためのインターセプタ手段と、前記設定ファイルに基づいて前記インターセプタ手段を呼び出す呼出手段と、を備えており、
前記呼出手段が、
前記設定ファイルを参照することにより、前記上位サービスのプログラム中の実行対象処理がジョイントポイントであるか否かを判定するステップと、
前記判定結果が是である場合は、前記インターセプタ手段を呼び出すステップと、を備え、
前記呼び出されたインターセプタ手段が、
前記リソース監視手段に当該システムのリソースの状態を問い合わせるステップと、
前記問い合わせ結果に基づいて前記実行対象処理を制御するステップと、
を備えることを特徴とする障害防止方法。
【請求項6】
前記上位サービスによる前記システムのリソースの利用を制限する条件を定義するリソース制限条件ファイルをさらに備え、
前記呼び出されたインターセプタ手段は、
前記制御するステップにおいて、前記リソース制限条件ファイルを参照し、この参照結果と前記問い合わせ結果とに基づいて、前記実行対象処理を制御することを特徴とする請求項5に記載の障害防止方法。
【請求項7】
前記設定ファイルは、
前記上位サービスのプログラム中のログイン処理に対してジョイントポイントを設定していることを特徴とする請求項5または6に記載の障害防止方法。
【請求項8】
前記呼び出されたインターセプタ手段は、
前記制御するステップにおいて、前記受け付けた問合せ結果が既定条件を満たす場合は、ログイン要求を受け付けないように、前記ログイン処理を制御することを特徴とする請求項7に記載の障害防止方法。
【請求項9】
請求項5に記載の障害防止方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−18295(P2011−18295A)
【公開日】平成23年1月27日(2011.1.27)
【国際特許分類】
【出願番号】特願2009−164161(P2009−164161)
【出願日】平成21年7月10日(2009.7.10)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】