JP2004295533A - アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム - Google Patents

アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム Download PDF

Info

Publication number
JP2004295533A
JP2004295533A JP2003087671A JP2003087671A JP2004295533A JP 2004295533 A JP2004295533 A JP 2004295533A JP 2003087671 A JP2003087671 A JP 2003087671A JP 2003087671 A JP2003087671 A JP 2003087671A JP 2004295533 A JP2004295533 A JP 2004295533A
Authority
JP
Japan
Prior art keywords
execution request
program
program execution
computer
request
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
JP2003087671A
Other languages
English (en)
Inventor
Isao Okada
勲 岡田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2003087671A priority Critical patent/JP2004295533A/ja
Publication of JP2004295533A publication Critical patent/JP2004295533A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】クライアントコンピュータから送られてくる、サーバコンピュータを不安定にする恐れがあるプログラム実行要求を事前に認識し、そのようなプログラム実行要求は他のコンピュータで処理させることにより、システムの信頼性及び可用性を向上させる。
【解決手段】監視用コンピュータ2は、クライアントコンピュータ1から送られてきたプログラム実行要求が予め定められている仕様条件を満たしていない場合は、評価用サーバコンピュータ4に送付する。更に、監視用コンピュータ2は、仕様条件を満たすプログラム実行要求であっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、評価用サーバコンピュータ4に送信する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、サーバコンピュータがクライアントコンピュータからのプログラム実行要求に従ってアプリケーションプログラムを実行する分散システムに関し、特に、サーバコンピュータを不安定にさせる恐れがあるプログラム実行要求を事前に認識し、そのようなプログラム実行要求は他のコンピュータで処理させることにより、システムの信頼性を向上させる技術に関する。
【0002】
【従来の技術】
分散システムにおいて、アプリケーションプログラムの状態を監視し、障害発生時の原因究明やデバッグに要する時間を短縮するということは従来から行われている。このような技術としては、種々の技術が知られており、例えば、被監視ノード上で動作するアプリケーションプログラムに、それ自身の稼働状況や障害に関する情報を出力するインタフェースを組み込んでおき、上記インタフェースによって得られた情報を被監視ノードから監視ノードに送信する技術が知られている(例えば、特許文献1参照)。
【0003】
ところで、分散システムにおいては、不特定多数のクライアントコンピュータからプログラム実行要求が送られてくる可能性がある。そのような状況においては、想定していないプログラム実行要求が送付されてくる場合もあり、そのまま処理すると、サーバコンピュータを不安定にする可能性がある。例えば、想定していないプログラム実行要求に従ってアプリケーションプログラムを実行した結果、大量のリソースが使用され、サーバコンピュータが不安定になることも考えられる。しかし、上述した特許文献1などに記載されている従来の技術は、あくまで障害発生後の復旧作業を効率的に行えるようにするための技術であるので、想定していないプログラム実行要求によってサーバコンピュータが不安定になるのを防ぐことはできない。
【0004】
このような問題点を解決するため、例えば、図6のブロック図に示すような分散システムが考えられる。この図6に示した分散システムは、プログラム実行要求を送付するクライアントコンピュータ61と、クライアントコンピュータ61からのプログラム実行要求を受け取り、アプリケーションプログラムを実行するサーバコンピュータ62から構成されている。
【0005】
クライアントコンピュータ61は、クライアントプログラムを動作させるクライアントプログラム実行手段611を含んでいる。
【0006】
一方、サーバコンピュータ62は、プログラム実行要求が満たすべき仕様条件が格納された実行要求仕様記憶部622と、クライアントコンピュータ61から送られてきたプログラム実行要求を解析し、その仕様が実行要求仕様記憶部622に格納されている仕様条件を満たしているか否かを判断し、満たしていない場合には要求元のクライアントコンピュータ61にエラー情報を返し、満たしている場合にはプログラム実行要求をプログラム実行手段623に渡す実行要求評価手段621と、プログラム実行要求によって要求されたアプリケーションプログラムを実行するプログラム実行手段623とを含んでいる。
【0007】
このような構成を有する分散システムは、次のように動作する。
【0008】
先ず、クライアントコンピュータ61内のクライアントプログラム実行手段611が、クライアントプログラムを実行し、サーバコンピュータ62内の実行要求評価手段621に対してプログラム実行要求を送付する。
【0009】
これにより、実行要求評価手段621は、受け取ったプログラム実行要求を解析して、実行要求仕様記憶部622に記憶されている仕様条件を満たすか否かを判断する。そして、仕様条件を満たさない場合にはクライアントプログラム実行手段611に対してエラー情報を送付する。これに対して、仕様条件を満たしている場合には、プログラム実行要求をプログラム実行手段623に渡す。
【0010】
プログラム実行手段623は、受け取ったプログラム実行要求を解析し、指定されたアプリケーションプログラムを実行する。アプリケーションプログラムの実行が終了すると、プログラム実行手段623は、実行結果を実行要求評価手段621へ送付する。実行要求評価手段621は、送付されてきた実行結果をクライアントプログラム実行手段611へ送付する。以上の処理により、クライアントプログラム実行手段611は、プログラム実行要求の結果を得るのである。
【0011】
【特許文献1】
特開平8−212177号公報
【0012】
【発明が解決しようとする課題】
図6に示した分散システムによれば、仕様条件を満たさないプログラム実行要求によって、サーバコンピュータが不安定になるという問題点は解決することができる。しかし、図6に示した分散システムにも、次のような問題点がある。
【0013】
第1の問題点は、仕様条件に合わないプログラム実行要求はプログラムの実行を試さずに全てエラーとして処理されてしまうということである。
【0014】
第2の問題点は、処理結果がエラーとなることが明らかであるプログラム実行要求であっても、プログラム実行要求が仕様通りであれば、サーバコンピュータで必ず処理されてしまうということがある。その結果、サーバコンピュータの動作が不安定になる可能性がある。
【0015】
そこで、本発明の目的は、サーバコンピュータを不安定にする恐れがあるプログラム実行要求を事前に認識し、そのようなプログラム実行要求は他のコンピュータで処理させることにより、システムの信頼性及び可用性を向上させることにある。
【0016】
【課題を解決するための手段】
本発明に係る第1のアプリケーション障害回避システムは、上記目的を達成するため、
クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求をサーバコンピュータへ送信し、満たしていない場合は、前記プログラム実行要求を評価用サーバコンピュータに送信する監視用コンピュータと、
該監視用コンピュータからプログラム実行要求が送られてきたとき、該プログラム実行要求に従ってアプリケーションプログラムを実行し、その実行結果を前記監視用コンピュータに返却するサーバコンピュータと、
前記監視用コンピュータからプログラム実行要求が送られてきたとき、該プログラム実行要求によって実行要求されたアプリケーションプログラムを、その実行状態を常時監視しながら実行し、実行結果を前記監視用コンピュータに返却する評価用サーバコンピュータとを備えたことを特徴とする。
【0017】
また、本発明に係る第2のアプリケーション障害回避システムは、仕様を満たしているプログラム実行要求であっても、アプリケーションプログラム側のバグなどにより、サーバコンピュータを不安定にする可能性があるプログラム実行要求は他のコンピュータで実行できるようにするため、第1のアプリケーション障害回避システムにおいて、
前記監視用コンピュータが、
前記クライアントコンピュータからのプログラム実行要求が前記仕様条件を満たすものであっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とする。
【0018】
より具体的には、本発明に係る第3のアプリケーション障害回避システムは、第1のアプリケーション障害回避システムにおいて、
前記監視用コンピュータが、
プログラム実行要求が満たすべき仕様条件が格納された実行要求仕様記憶部と、
前記クライアントコンピュータからのプログラム実行要求が、前記実行要求仕様記憶部に格納されている仕様条件を満たすか否かを判断し、満たしている場合は、前記プログラム実行要求を前記サーバコンピュータへ送信し、満たしていない場合は、前記プログラム実行要求を前記評価用サーバコンピュータへ送信する実行要求評価手段とを備えたことを特徴とする。
【0019】
また、本発明に係る第4のアプリケーション障害回避システムは、第3のアプリケーション障害回避システムにおいて、
過去にアプリケーションプログラムを異常終了させたプログラム実行要求の仕様および過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求の仕様が格納された実行エラー要求記憶部を備え、且つ、
前記実行要求仕様記憶部に、実行結果が満たすべき実行結果条件が格納され、前記実行要求評価手段が、前記クライアントコンピュータからのプログラム実行要求が前記実行要求仕様記憶部に格納されている仕様条件を満たしている場合であっても、前記実行エラー要求記憶部に格納されている仕様と合致する仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とする。
【0020】
また、本発明に係る第5のアプリケーション障害回避システムは、上記目的を達成するため、
クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求に従ってアプリケーションプログラムを実行し、満たしていない場合は、前記プログラム実行要求を評価用サーバコンピュータに送信するサーバコンピュータと、
前記サーバコンピュータからプログラム実行要求が送られてきたとき、該プログラム実行要求によって実行要求されているアプリケーションプログラムを、その実行状態を常時監視しながら実行し、実行結果を前記サーバコンピュータに返却する評価用サーバコンピュータとを備えたことを特徴とする。
【0021】
また、本発明に係る第6のアプリケーション障害回避システムは、第5のアプリケーション障害回避システムにおいて、
前記サーバコンピュータが、
前記クライアントコンピュータからのプログラム実行要求が前記仕様条件を満たすものであっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とする。
【0022】
【作用】
監視用コンピュータは、クライアントコンピュータから送られてきたプログラム実行要求が予め定められている仕様条件を満たしていない場合は、評価用サーバコンピュータに送付する。従って、仕様条件を満たしていないプログラム実行要求によって実運用のサーバコンピュータが不安定になることを防止できると共に、仕様条件を満たしていないプログラム実行要求についても、その実行結果を要求元のクライアントコンピュータに返信できる。
【0023】
また、監視用コンピュータは、仕様条件を満たすプログラム実行要求であっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、評価用サーバコンピュータに送信する。従って、上記したようなプログラム実行要求(アプリケーションプログラム側のバグや、システム環境などによりサーバコンピュータを不安定にする可能性があるプログラム実行要求)によって実運用のサーバコンピュータが不安定になることを防止できると共に、上記したようなプログラム実行要求についても、その実行結果を要求元のクライアントコンピュータに返信できる。
【0024】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0025】
【実施例の構成】
図1を参照すると、本発明のアプリケーション障害回避システムの一実施例は、遠隔からアプリケーションプログラムの実行を要求するクライアントコンピュータ1と、プログラム実行要求を解析する監視用コンピュータ2と、要求されたアプリケーションプログラムを実行するサーバコンピュータ3と、プログラムの実行状態を監視しながら要求されたアプリケーションプログラムを実行する評価用サーバコンピュータ4とから構成される。
【0026】
クライアントコンピュータ1は、クライアントプログラムを動作させるためのクライアントプログラム実行手段11を含んでいる。
【0027】
クライアントプログラム実行手段11は、クライアントプログラムを実行し、他のコンピュータに対するプログラム実行要求を作成し、そのプログラム実行要求を監視用コンピュータ2に送付する。
【0028】
監視用コンピュータ2は、クライアントコンピュータ1からのプログラム実行要求を受け取る実行要求受取手段21と、クライアントコンピュータから送付されてきたプログラム実行要求を検証する実行要求評価手段22と、プログラム実行要求が満たすべき仕様条件および実行結果が満たすべき実行結果条件が格納された実行要求・結果仕様記憶部23と、実行要求・結果仕様記憶部23に格納されている仕様条件は満たすが、サーバコンピュータ3においてアプリケーションプログラムを実際に実行した際、異常終了を発生させたプログラム実行要求および実行結果が実行要求・結果仕様記憶部23に格納されている実行結果条件を満たさないものとなったプログラム実行要求の仕様が格納される実行エラー要求記憶部24と、サーバコンピュータ3でのアプリケーションプログラムの実行結果を検証する実行結果評価手段25と、プログラム実行結果を要求元のクライアントプログラムに送付する実行結果送付手段26とを含んでいる。
【0029】
実行要求受取手段21は、クライアントコンピュータ1から送付されてくるプログラム実行要求を受け取り、実行要求評価手段22に渡す。
【0030】
実行要求・結果仕様記憶部23には、サーバコンピュータ3で実行可能なアプリケーションプログラム毎に、そのアプリケーションプログラムに対するプログラム実行要求が満たすべき仕様条件および実行結果が満たすべき実行結果条件が格納されている。プログラム実行要求が満たすべき仕様条件としては、例えば、引数のデータ型や範囲などがあり、また、実行結果が満たすべき実行結果条件としては、戻り値のデータ型や範囲などがある。
【0031】
実行エラー要求記憶部24には、実行要求・結果仕様記憶部23に格納されている仕様条件は満たすが、サーバコンピュータ3においてアプリケーションプログラムを実際に実行した際、異常終了を発生させたプログラム実行要求および実行結果が実行要求・結果仕様記憶部23に格納されている実行結果条件を満たさないものとなったプログラム実行要求の仕様が格納される。この仕様には、そのプログラム実行要求によって実行されたアプリケーションプログラムのプログラム名も含まれる。これらの情報は、実行結果評価手段25によって格納される。
【0032】
実行要求評価手段22は、実行要求受取手段21から渡されたプログラム実行要求を解析し、その仕様が実行要求・結果仕様記憶部23に格納されている仕様条件を満たすか否かを判断する。仕様条件を満たしている場合は、更に、実行エラー要求記憶部24に格納されているプログラム実行要求の仕様の中に、送付されてきたプログラム実行要求の仕様と一致するものがあるかどうかを調べる。プログラム実行要求が実行要求・結果仕様記憶部23に格納されている仕様条件を満たしており、且つ、実行エラー要求記憶部24に格納されている仕様の中に一致するものがない場合には、送付されてきたプログラム実行要求は安全に実行できるものであると判断し、プログラム実行要求をサーバコンピュータ3に送付する。プログラム実行要求が仕様条件を満たしていない場合、もしくは、実行エラー要求記憶部24に一致する仕様が格納されている場合には、アプリケーションプログラムが正しく実行されない恐れがあると判断し、プログラム実行要求を評価用サーバコンピュータ4に送付する。
【0033】
実行結果評価手段25は、サーバコンピュータ3でのプログラム実行結果を受け取り、その実行結果が実行要求・結果仕様記憶部23に記憶されている実行結果条件を満たすか否かを調べる。実行結果条件を満たしていない場合には、その結果をもたらしたプログラム実行要求の仕様を実行エラー要求記憶部24に格納する。また、サーバコンピュータ3でのプログラム実行結果がエラー(異常終了)の場合には、その結果をもたらしたプログラム実行要求の仕様を実行エラー要求記憶部24に格納する。
【0034】
実行結果送付手段26は、実行結果評価手段25で解析されたサーバコンピュータ3でのプログラム実行結果と、評価用サーバコンピュータ4で実行されたアプリケーションプログラムの実行結果をクライアントコンピュータ1へ送付する処理を実行する。
【0035】
記録媒体Kは、ディスク、半導体メモリ、その他の記録媒体であり、監視用コンピュータ2上に、実行要求受取手段21、実行要求評価手段22、実行結果評価手段25、実行結果送付手段26を実現するためのプログラムが記録されている。このプログラムは、監視用コンピュータ2によって読み取られ、その動作を制御することで、監視用コンピュータ2上に実行要求受取手段21、実行要求評価手段22、実行結果評価手段25、実行結果送付手段26を実現する。
【0036】
サーバコンピュータ3は、プログラム実行要求に応じてアプリケーションプログラムを実行するプログラム実行手段31を含んでいる。
【0037】
プログラム実行手段31は、監視用コンピュータ2経由でクライアントコンピュータ1から送付されてきたプログラム実行要求を解析して、要求されたプログラムを実行する。そして、その実行結果を監視用コンピュータ2に送付する。プログラム実行が異常終了した場合には、エラー情報を監視用コンピュータ2に送付する。
【0038】
評価用サーバコンピュータ4は、アプリケーションプログラムの実行状態(例えば、主記憶装置などのリソースの使用量)を常時監視するプログラム実行監視手段41と、プログラム実行要求に従ってアプリケーションプログラムを実行するプログラム評価実行手段42とを含んでいる。
【0039】
プログラム実行監視手段41は、監視用コンピュータ2から送付されてきたプログラム実行要求をプログラム評価実行手段42に渡すと共に、プログラム評価実行手段42で実行されているアプリケーションプログラムの実行状態を常時監視する。
【0040】
プログラム評価実行手段42は、プログラム実行監視手段41から受け取ったプログラム実行要求に従ってアプリケーションプログラムを実行する。アプリケーションプログラムの実行を終了すると、実行結果をプログラム実行監視手段41に送付する。また、プログラム評価実行手段42は、実行しているアプリケーションプログラムの実行状態を取得する機能およびアプリケーションプログラムの実行を強制終了させる機能を持っている。
【0041】
プログラム評価実行手段42でのアプリケーションプログラム実行が終了すると、プログラム実行監視手段41は、その実行結果をプログラム評価実行手段42から受け取り、監視用コンピュータ2に送付する。また、プログラム実行監視手段41は、アプリケーションプログラムの実行状態の監視中に異常を検出した場合には、プログラム評価実行手段42に対してプログラム実行の強制終了を指令する。このとき、プログラム実行監視手段41はエラー情報を監視用コンピュータ2に送付する。
【0042】
【実施例の動作の説明】
次に、図1及び図2のフローチャートを参照して本実施例の全体の動作について詳細に説明する。
【0043】
先ず、クライアントコンピュータ1内のクライアントプログラム実行手段11が、クライアントプログラムを実行し、或るアプリケーションプログラムAPの実行を要求するプログラム実行要求を監視用コンピュータ2に対して送付する(図2のステップA1)。
【0044】
次に、監視用コンピュータ2内の実行要求受取手段21が、クライアントコンピュータ1から送付されてきたプログラム実行要求を受け取る(ステップA2)。
【0045】
その後、実行要求評価手段22が、実行要求・結果仕様記憶部23に格納されているアプリケーションプログラムAPに対するプログラム実行要求の仕様条件に基づいて、実行要求受取手段21が受け取ったプログラム実行要求が仕様条件を満たしているか否かを判断する(ステップA3)。
【0046】
仕様条件を満たしていない場合は、そのプログラム実行要求に従ってアプリケーションプログラムを実行してもエラーとなる確率が高いので、実運用で用いているサーバコンピュータ3ではなく評価用サーバコンピュータ4でアプリケーションプログラムを実行するために、プログラム実行監視手段41にプログラム実行要求を送付する(ステップA12)。これに対して、仕様条件を満たしている場合は、実行要求評価手段22は、クライアントコンピュータ1から送られてきたプログラム実行要求の仕様と同一の仕様が実行エラー要求記憶部24に格納されているか否かを調べる(ステップA4)。
【0047】
そして、同一の仕様が実行エラー要求記憶部24に格納されている場合には、実行結果がエラーもしくは実行結果が実行結果条件を満たさない可能性があるので、評価用サーバコンピュータ4でアプリケーションプログラムを実行するためにプログラム実行監視手段41にプログラム実行要求を送付する(ステップA12)。これに対して、同一の仕様が実行エラー要求記憶部24に存在しない場合には、サーバコンピュータ3でアプリケーションプログラムを実行させるために、プログラム実行要求をプログラム実行手段31に送付する(ステップA5)。
【0048】
以上の処理により、クライアントコンピュータ1から送られてきたアプリケーションプログラムAPに対するプログラム実行要求は、それがエラーを発生させる確率が高いものである場合には、評価用サーバコンピュータ4へ送付され、そうでない場合はサーバコンピュータ3へ送付される。
【0049】
サーバコンピュータ3内のプログラム実行手段31は、実行要求評価手段22からプログラム実行要求が送られてくると、それを解析し、指定されたアプリケーションプログラムAPを実行する。そして、実行した結果を、監視用コンピュータ2内の実行結果評価手段25に送付する(ステップA6)。
【0050】
実行結果評価手段25は、サーバコンピュータ3から送付されてきたプログラム実行結果が正常終了したものであるかどうかの評価を行う(ステップA7)。正常に終了していない場合には、そのアプリケーションプログラムを実行するために送付されてきたプログラム実行要求の仕様を実行エラー要求記憶部24へ格納し(ステップA10)、その後、エラー情報を実行結果送付手段26へ送付する(ステップA11)。
【0051】
これに対して、送付されてきたプログラム実行結果が正常終了したものである場合には、送られてきた実行結果が、実行要求・結果仕様記憶部23に記憶されているアプリケーションプログラムAPについての実行結果条件を満足させているか否かを判断する(ステップA8)。
【0052】
そして、実行結果条件を満たしていない場合には、アプリケーションプログラムAPを実行するために送付されてきたプログラム実行要求の仕様を実行エラー要求記憶部24へ格納し(ステップA10)、その後、エラー情報を実行結果送付手段26へ送付する(ステップA11)。これに対して、実行結果が仕様を満たしている場合には、実行結果を実行結果送付手段26へ送付する(ステップA9)。
【0053】
一方、評価用サーバコンピュータ4内のプログラム実行監視手段41は、実行結果がエラーとなる可能性の高いプログラム実行要求を監視用コンピュータ2から受け取ると、それをプログラム評価実行手段42に転送すると共に、アプリケーションプログラムの実行状態の監視を開始する。プログラム評価実行手段42は、プログラム実行監視手段41からのプログラム実行要求を受け取ると、指定されたアプリケーションプログラムAPを実行する(ステップA13)。このとき、プログラム評価実行手段42は、プログラム実行監視手段41からの実行状態監視要求に対応できるようにするためにアプリケーションプログラムAPの実行状態を常に保持している。
【0054】
プログラム実行監視手段41は、監視処理においてアプリケーションプログラムAPの実行状態が異常状態になったことを検出した場合には(ステップA14)、アプリケーションプログラムAPの実行を強制終了するようプログラム評価実行手段42に要求する。停止を要求されたプログラム評価実行手段42は、対象となるアプリケーションプログラムAPの実行を強制終了させる(ステップA15)。そして、プログラム実行監視手段41は、実行時に発生したエラー情報を実行結果送付手段26に送付する(ステップA16)。
【0055】
プログラム評価実行手段42でのプログラムの実行が終了すると、プログラム実行監視手段41は、プログラムが正常に終了したかどうかを評価する(ステップA17)。プログラムの実行が正常に終了した場合には、プログラムの実行結果を実行結果送付手段26に送付する(ステップA18)。異常終了した場合には、エラー情報を実行結果送付手段26に送付する(ステップA16)。
【0056】
監視用コンピュータ2内の実行結果送付手段26は、サーバコンピュータ3もしくは評価用サーバコンピュータ4から受け取った実行結果もしくはエラー情報をクライアントコンピュータ1内のクライアントプログラム実行手段11に送付する(ステップA19)。以上の処理を経て、クライアントプログラムはプログラム実行要求の結果を取得する(ステップA20)。
【0057】
次に、具体例を挙げて本実施例の動作を説明する。
【0058】
先ず、図3を参照し、サーバコンピュータ3でアプリケーションプログラムが実行される場合について説明する。
【0059】
最初に、クライアントコンピュータ1から実行要求受取手段21に対して、「プログラムAの関数foo(1,2)の実行要求」が送付され(ステップA1)、実行要求評価手段22は、実行要求受取手段21経由でプログラム実行要求を受け取る(ステップA2)。
【0060】
実行要求評価手段22は、プログラム実行要求が実行要求・結果仕様記憶部23に記憶されている仕様条件を満たしているかどうかを評価する。プログラムAの関数fooに関する仕様は「第一引数は0以上10以下の数値」「第二引数は0以上の数値」であり、実行要求された値は「第一引数が1」「第二引数が2」であるので、プログラム実行要求は仕様条件を満たしていると評価することになる(ステップA3)。次に、送付されてきたプログラム実行要求の仕様と同一の仕様が実行エラー要求記憶部24に記憶されているかどうかを調べる。ここでは、実行エラー要求記憶部24にはプログラム実行要求の仕様がひとつも格納されていないので、「一致する仕様はなし」となる(ステップA4)。送付されてきたプログラム実行要求が仕様条件を満たしており、且つ実行エラー要求記憶部24に同一仕様が存在しないので、「プログラムAの関数foo(1,2)の実行要求」をプログラム実行手段31に送付する(ステップA5)。
【0061】
プログラム実行手段31は、プログラム実行要求を受け取り、プログラムAの関数foo(1,2)を実行する。ここで、プログラムの実行が異常終了したとする。その異常終了した結果(エラー情報)を実行結果評価手段25に送付する(ステップA6)。実行結果評価手段25は、送られてきた実行結果が正常終了したものであるか異常終了したものであるのかの判断を行う(ステップA7)。異常終了したものであるため、実行エラー要求記憶部24に異常終了したプログラムの実行要求「プログラムAの関数foo(1,2)の実行要求」の仕様を格納する(ステップA10)。
【0062】
その後、実行結果評価手段25は、エラー情報を実行結果送付手段26へ送付する(ステップA11)。これにより、実行結果送付手段26はエラー情報をクライアントプログラム実行手段11に送付し(ステップA19)、クライアントプログラム実行手段11は実行要求の結果(エラー情報)を受け取る(ステップA20)。
【0063】
以上のようにして、プログラム実行要求が処理され、実行エラー要求記憶部24に異常終了したプログラム実行要求の仕様が記憶されるのである。
【0064】
次に、図4を参照し、実行エラー要求記憶部24に格納されている仕様と同一仕様のプログラム実行要求が送付されてきた時の動作について説明する。
【0065】
最初に、クライアントコンピュータ1から実行要求受取手段21に対して、「プログラムAの関数foo(1,2)の実行要求」が送付され(ステップA1)、実行要求評価手段22は実行要求受取手段21経由でプログラム実行要求を受け取る(ステップA2)。
【0066】
実行要求評価手段22は、プログラム実行要求が実行要求・結果仕様記憶部23に記憶されている仕様条件を満たしているかどうかを評価する。プログラムAの関数fooに関する仕様は「第一引数は0以上10以下の数値」「第二引数は0以上の数値」であり、実行要求された値は「第一引数が1」「第二引数が2」であるので、プログラム実行要求は仕様条件を満たしていると評価することになる(ステップA3)。次に、送付されてきたプログラム実行要求の仕様と同一仕様が実行エラー要求記憶部24に格納されているか否かを調べる。実行エラー要求記憶部24には、「プログラムAの関数foo(1,2)を実行すると異常終了」の情報が記憶されており、送付されてきたプログラム実行要求の仕様と一致する(ステップA4)。送付されてきたプログラム実行要求の仕様と同一仕様が実行エラー要求記憶部24に存在しているので、「プログラムAの関数foo(1,2)の実行要求」をプログラム実行監視手段41に送付する(ステップA12)。
【0067】
プログラム実行監視手段41は、受け取ったプログラム実行要求をプログラム評価実行手段42へ転送する。プログラム評価実行手段42は、実行要求されたアプリケーションプログラムを実行する(ステップA13)。プログラム実行監視手段41は、プログラム評価実行手段42でのプログラムの実行状態を監視する(ステップA14)。ここでは、プログラム実行中にリソース不足などの異常状態は発生せず、アプリケーションプログラムが終了したものとする(ステップA14がn)。プログラム実行監視手段41は、プログラム評価実行手段42から送付されてきた実行結果を解析し、正常に終了したかどうかを判断する(ステップA17)。ここで異常終了したとすると、エラー情報を実行結果送付手段26へ送付する(ステップA16)。そして、実行結果送付手段26はエラー情報をクライアントプログラム実行手段11に送付し(ステップA19)、クライアントプログラム実行手段11は実行要求の結果(エラー情報)を受け取る(ステップA20)。
【0068】
【発明の他の実施例】
図5は本発明に係るアプリケーション障害回避システムの他の実施例のブロック図である。本実施例は、監視用コンピュータ2及びサーバコンピュータ3の代わりにサーバコンピュータ3aを備えている点が図1に示した実施例と相違している。サーバコンピュータ3aは、監視用コンピュータ2とサーバコンピュータ3とを一体化したものであり、実行要求受取手段21、実行要求評価手段22、実行要求・結果仕様記憶部23、実行エラー要求記憶部24、実行結果評価手段25、実行結果送付手段26、プログラム実行手段31及び記録媒体Kaを備えている。上記した各手段21〜26,31は、前述した実施例で説明した機能を有しており、また、記録媒体Kaには、サーバコンピュータ3a上に実行要求受取手段21、実行要求評価手段22、実行結果評価手段25、実行結果送付手段26、プログラム実行手段31を実現するためのプログラムが記録されている。
【0069】
【発明の効果】
第1の効果は、プログラムの実行環境を不安定にさせることなく、外部からのプログラム実行要求を処理できることにある。その結果、分散システムの信頼性を向上させることが可能となる。
【0070】
分散システムにおいては、不特定多数からプログラム実行を要求される可能性がある。そのような状況においては想定していないプログラム実行要求が送付される場合もあり、そのまま処理するとサーバコンピュータを不安定にさせる可能性がある。本発明では、アプリケーションプログラムを実行する前に実行要求を解析し、規定されている仕様条件に従っているか否かを判断することにより、コンピュータが不安定になる要因を取り除くことができるため、第1の効果を得ることができる。
【0071】
第2の効果は、規定されている仕様条件に従っていないプログラム実行要求についてもサーバコンピュータを不安定にすることなく、処理を実施できることにある。その結果、分散システムの可用性を向上させることが可能となる。
【0072】
その理由は、規定されている仕様条件に従っていないプログラム実行要求については、実運用のサーバコンピュータとは異なる評価用サーバコンピュータにおいてアプリケーションプログラムを実行しているためである。
【0073】
第3の効果は、仕様条件を満たしているのにもかかわらず、システム環境やプログラムバグにより実行結果が実行結果条件を満たさない、もしくは、エラーとなるプログラム実行要求を自動判別し、サーバコンピュータの安定性を確保できることにある。その結果、分散システムの信頼性を向上させることが可能となる。
【0074】
その理由は、プログラムの実行結果を解析し、異常終了したものや実行結果が実行結果条件を満たしていないものについては、同一の条件でプログラムを再度実行するとコンピュータを不安定にさせる可能性があるので、そのプログラム実行要求の仕様を保存しておき、次回、同一仕様のプログラム実行要求が送付されてきた場合には、実運用のサーバコンピュータとは異なったコンピュータでプログラム実行を実施しているためである。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】図1に示した実施例の動作を説明するためのフローチャートである。
【図3】図1に示した実施例の動作を具体例を用いて説明するための図である。
【図4】図1に示した実施例の動作を具体例を用いて説明するための図である。
【図5】本発明の他の実施例のブロック図である。
【図6】従来の技術の問題点を解決するために考えられる分散システムの構成例を示すブロック図である。
【符号の説明】
1…クライアントコンピュータ
11…クライアントプログラム実行手段
2…監視用コンピュータ
21…実行要求受取手段
22…実行要求評価手段
23…実行要求・結果仕様記憶部
24…実行エラー要求記憶部
25…実行結果評価手段
26…実行結果送付手段
3、3a…サーバコンピュータ
31…プログラム実行手段
4…評価用サーバコンピュータ
41…プログラム実行監視手段
42…プログラム評価実行手段
K、Ka…記録媒体

Claims (12)

  1. クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求をサーバコンピュータへ送信し、満たしていない場合は、前記プログラム実行要求を評価用サーバコンピュータに送信する監視用コンピュータと、
    該監視用コンピュータからプログラム実行要求が送られてきたとき、該プログラム実行要求に従ってアプリケーションプログラムを実行し、その実行結果を前記監視用コンピュータに返却するサーバコンピュータと、
    前記監視用コンピュータからプログラム実行要求が送られてきたとき、該プログラム実行要求によって実行要求されたアプリケーションプログラムを、その実行状態を常時監視しながら実行し、実行結果を前記監視用コンピュータに返却する評価用サーバコンピュータとを備えたことを特徴とするアプリケーション障害回避システム。
  2. 請求項1記載のアプリケーション障害回避システムにおいて、
    前記監視用コンピュータが、
    前記クライアントコンピュータからのプログラム実行要求が前記仕様条件を満たすものであっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とするアプリケーション障害回避システム。
  3. 請求項1記載のアプリケーション障害回避システムにおいて、
    前記監視用コンピュータが、
    プログラム実行要求が満たすべき仕様条件が格納された実行要求仕様記憶部と、
    前記クライアントコンピュータからのプログラム実行要求が、前記実行要求仕様記憶部に格納されている仕様条件を満たすか否かを判断し、満たしている場合は、前記プログラム実行要求を前記サーバコンピュータへ送信し、満たしていない場合は、前記プログラム実行要求を前記評価用サーバコンピュータへ送信する実行要求評価手段とを備えたことを特徴とするアプリケーション障害回避システム。
  4. 請求項3記載のアプリケーション障害回避システムにおいて、
    過去にアプリケーションプログラムを異常終了させたプログラム実行要求の仕様および過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求の仕様が格納された実行エラー要求記憶部を備え、且つ、
    前記実行要求仕様記憶部に、実行結果が満たすべき実行結果条件が格納され、前記実行要求評価手段が、前記クライアントコンピュータからのプログラム実行要求が前記実行要求仕様記憶部に格納されている仕様条件を満たしている場合であっても、前記実行エラー要求記憶部に格納されている仕様と合致する仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とするアプリケーション障害回避システム。
  5. クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求に従ってアプリケーションプログラムを実行し、満たしていない場合は、前記プログラム実行要求を評価用サーバコンピュータに送信するサーバコンピュータと、
    前記サーバコンピュータからプログラム実行要求が送られてきたとき、該プログラム実行要求によって実行要求されているアプリケーションプログラムを、その実行状態を常時監視しながら実行し、実行結果を前記サーバコンピュータに返却する評価用サーバコンピュータとを備えたことを特徴とするアプリケーション障害回避システム。
  6. 請求項5記載のアプリケーション障害回避システムにおいて、
    前記サーバコンピュータが、
    前記クライアントコンピュータからのプログラム実行要求が前記仕様条件を満たすものであっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とするアプリケーション障害回避システム。
  7. クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求を、受信したプログラム実行要求に従ってアプリケーションプログラムを実行するサーバコンピュータへ送信し、満たしていない場合は、前記プログラム実行要求を、受信したプログラム実行要求によって実行要求されているアプリケーションプログラムを、その実行状態を常時監視しながら実行する評価用サーバコンピュータに送信する構成を有することを特徴とする監視用コンピュータ。
  8. 請求項7記載の監視用コンピュータにおいて、
    前記クライアントコンピュータからのプログラム実行要求が前記仕様条件を満たすものであっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とする監視用コンピュータ。
  9. クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求に従ってアプリケーションプログラムを実行し、満たしていない場合は、前記プログラム実行要求を、受信したプログラム実行要求によって実行要求されているアプリケーションプログラムをその実行状態を常時監視しながら実行する評価用サーバコンピュータに送信する構成を有することを特徴とするサーバコンピュータ。
  10. 請求項9記載のサーバコンピュータにおいて、
    前記クライアントコンピュータからのプログラム実行要求が前記仕様条件を満たしているものであっても、過去にアプリケーションプログラムを異常終了させたプログラム実行要求と同一仕様のプログラム実行要求もしくは過去にアプリケーションプログラムの実行結果を不正としたプログラム実行要求と同一仕様のプログラム実行要求は、前記評価用サーバコンピュータに送信する構成を有することを特徴とするサーバコンピュータ。
  11. コンピュータを、
    クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求を、受信したプログラム実行要求に従ってアプリケーションプログラムを実行するサーバコンピュータへ送信し、満たしていない場合は、前記プログラム実行要求を、受信したプログラム実行要求によって実行要求されているアプリケーションプログラムを、その実行状態を常時監視しながら実行する評価用サーバコンピュータに送信する手段として機能させるためのプログラム。
  12. コンピュータを、
    クライアントコンピュータからのプログラム実行要求が、予め定められている仕様条件を満たしているか否かを判断し、満たしている場合は、前記プログラム実行要求に従ってアプリケーションプログラムを実行し、満たしていない場合は、前記プログラム実行要求を、受信したプログラム実行要求によって実行要求されているアプリケーションプログラムを、その実行状態を常時監視しながら実行する評価用サーバコンピュータに送信する手段として機能させるためのプログラム。
JP2003087671A 2003-03-27 2003-03-27 アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム Pending JP2004295533A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003087671A JP2004295533A (ja) 2003-03-27 2003-03-27 アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003087671A JP2004295533A (ja) 2003-03-27 2003-03-27 アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム

Publications (1)

Publication Number Publication Date
JP2004295533A true JP2004295533A (ja) 2004-10-21

Family

ID=33402006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003087671A Pending JP2004295533A (ja) 2003-03-27 2003-03-27 アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム

Country Status (1)

Country Link
JP (1) JP2004295533A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108008972A (zh) * 2016-10-27 2018-05-08 北京京东尚科信息技术有限公司 客户端的应用程序的修复方法、装置及系统
JP2019160270A (ja) * 2018-03-14 2019-09-19 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 欠陥関数を検査する方法、装置、サーバ及びプログラム
WO2024053080A1 (ja) * 2022-09-09 2024-03-14 ファナック株式会社 数値制御装置、及び記憶媒体

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021194A (ja) * 1996-07-03 1998-01-23 Nec Corp アプリケーションプログラムの誤動作防止システム、誤 動作 防止方法および誤動作防止用プログラムを記憶した記憶 媒体
JPH10124350A (ja) * 1996-10-22 1998-05-15 Toshiba Microelectron Corp マイクロコンピュータ用プログラムのデバッグ方法及びデバッグ装置
JP2001022717A (ja) * 1999-07-12 2001-01-26 Hitachi Ltd 分散環境の運用管理システムに関する誤操作判別方法
JP2002007234A (ja) * 2000-06-20 2002-01-11 Mitsubishi Electric Corp 不正メッセージ検出装置、不正メッセージ対策システム、不正メッセージ検出方法、不正メッセージ対策方法、及びコンピュータ読み取り可能な記録媒体
JP2002111727A (ja) * 2000-09-29 2002-04-12 Kddi Corp 不正侵入防止システム
JP2002149602A (ja) * 2000-11-13 2002-05-24 Ntt Software Corp 不正アクセスを防御するためのネットワーク接続装置
JP2002328897A (ja) * 2001-04-27 2002-11-15 Matsushita Electric Ind Co Ltd コンピュータネットワークセキュリティシステム
JP2002342279A (ja) * 2001-03-13 2002-11-29 Fujitsu Ltd フィルタリング装置、フィルタリング方法およびこの方法をコンピュータに実行させるプログラム
JP2003008661A (ja) * 2001-06-19 2003-01-10 Fuji Xerox Co Ltd ネットワーク接続中継制御方法および装置
JP2003256234A (ja) * 2002-03-05 2003-09-10 Communication Research Laboratory 抗脆弱性サーバ装置及びソフトウェア

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021194A (ja) * 1996-07-03 1998-01-23 Nec Corp アプリケーションプログラムの誤動作防止システム、誤 動作 防止方法および誤動作防止用プログラムを記憶した記憶 媒体
JPH10124350A (ja) * 1996-10-22 1998-05-15 Toshiba Microelectron Corp マイクロコンピュータ用プログラムのデバッグ方法及びデバッグ装置
JP2001022717A (ja) * 1999-07-12 2001-01-26 Hitachi Ltd 分散環境の運用管理システムに関する誤操作判別方法
JP2002007234A (ja) * 2000-06-20 2002-01-11 Mitsubishi Electric Corp 不正メッセージ検出装置、不正メッセージ対策システム、不正メッセージ検出方法、不正メッセージ対策方法、及びコンピュータ読み取り可能な記録媒体
JP2002111727A (ja) * 2000-09-29 2002-04-12 Kddi Corp 不正侵入防止システム
JP2002149602A (ja) * 2000-11-13 2002-05-24 Ntt Software Corp 不正アクセスを防御するためのネットワーク接続装置
JP2002342279A (ja) * 2001-03-13 2002-11-29 Fujitsu Ltd フィルタリング装置、フィルタリング方法およびこの方法をコンピュータに実行させるプログラム
JP2002328897A (ja) * 2001-04-27 2002-11-15 Matsushita Electric Ind Co Ltd コンピュータネットワークセキュリティシステム
JP2003008661A (ja) * 2001-06-19 2003-01-10 Fuji Xerox Co Ltd ネットワーク接続中継制御方法および装置
JP2003256234A (ja) * 2002-03-05 2003-09-10 Communication Research Laboratory 抗脆弱性サーバ装置及びソフトウェア

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108008972A (zh) * 2016-10-27 2018-05-08 北京京东尚科信息技术有限公司 客户端的应用程序的修复方法、装置及系统
JP2019160270A (ja) * 2018-03-14 2019-09-19 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 欠陥関数を検査する方法、装置、サーバ及びプログラム
WO2024053080A1 (ja) * 2022-09-09 2024-03-14 ファナック株式会社 数値制御装置、及び記憶媒体

Similar Documents

Publication Publication Date Title
US8781972B2 (en) Distributed license management
US6460151B1 (en) System and method for predicting storage device failures
US7603484B2 (en) Protocol for communication with a user-mode device driver
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US6799147B1 (en) Enterprise integrated testing and performance monitoring software
JP5341295B2 (ja) プログラム実行の不安定の状態に基づくソフトウェアプログラムのカスタム製品のサポートを提供する方法、システムおよび装置
US7757120B2 (en) Ignoring redundant symptoms in modular self-healing systems
CN106294102B (zh) 应用程序的测试方法、客户端、服务器及系统
US20110214017A1 (en) Failed process reporting
US20110252404A1 (en) Web-based software debugging apparatus and method for remote debugging
US20030236844A1 (en) Testing distributed applications
US7979744B2 (en) Fault model and rule based fault management apparatus in home network and method thereof
US6928585B2 (en) Method for mutual computer process monitoring and restart
US6836881B2 (en) Remote tracing of data processing nodes in an asynchronous messaging network
US7818625B2 (en) Techniques for performing memory diagnostics
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
US9231825B2 (en) Network management apparatus, management server, client terminal, and control method thereof
US7051363B2 (en) System and method for interfacing to different implementations of the intelligent platform management interface
US20110010723A1 (en) Information processing apparatus, information processing method and computer-readable storage medium
US10360089B2 (en) System for monitoring a plurality of distributed devices
JPH07117929B2 (ja) 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法
JP2004295533A (ja) アプリケーション障害回避システム、監視用コンピュータ、サーバコンピュータ及びプログラム
US8171345B2 (en) Disablement of an exception generating operation of a client system
US20030154288A1 (en) Server-client system and data transfer method used in the same system
JPH0341522A (ja) メッセージ紛失検出処理方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080304