JP2006509266A - 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム - Google Patents

分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム Download PDF

Info

Publication number
JP2006509266A
JP2006509266A JP2003584859A JP2003584859A JP2006509266A JP 2006509266 A JP2006509266 A JP 2006509266A JP 2003584859 A JP2003584859 A JP 2003584859A JP 2003584859 A JP2003584859 A JP 2003584859A JP 2006509266 A JP2006509266 A JP 2006509266A
Authority
JP
Japan
Prior art keywords
user
server
information
thread
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.)
Granted
Application number
JP2003584859A
Other languages
English (en)
Other versions
JP2006509266A5 (ja
JP4267462B2 (ja
Inventor
チョン、ジェームズ、シー
チャン、ジョセフ、エル
パテル、タシャー、エム
ヘラー、ジャン−ジャック
ソウ、チー、ホン
ツァン、アーサー
ラム、ロバート、エス
チャウ、レイモンド
タン、ヘンリー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006509266A publication Critical patent/JP2006509266A/ja
Publication of JP2006509266A5 publication Critical patent/JP2006509266A5/ja
Application granted granted Critical
Publication of JP4267462B2 publication Critical patent/JP4267462B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】分散環境にあるエンタープライズ・コンピュータ・システムでの問題判別のための方法、システムおよびコンピュータ・プログラムを提供する。
【解決手段】この方法では、エンタープライズ・アプリケーションに関する情報が得られ、ユーザに高レベル情報が提示され、同時に、より詳細な情報の要求を促す1つまたは複数のプロンプトがユーザに提供される。アプリケーションに関するより詳細な情報を求めるユーザからの要求に応答して、より詳細な情報がユーザに提供される。個々のスレッドに関する情報を含めて、アプリケーションに関する複数のレベルのより詳細な情報が入手できる。また、この方法は、ユーザにアカウントを設けるための管理者からの指示を受け取るステップと、1つまたは複数のサーバをそのアカウントと関連付けるステップと、対応するユーザに関連付けられたサーバだけへのアクセスを可能にするステップも含む。この方法では、ストリングおよび要求を求めるサーチを実行することができ、識別されたストリングおよび要求を様々な基準でソートすることもできる。

Description

本発明は、コンピュータ・ソフトウェアに関し、詳細には、分散エンタープライズ・アプリケーションに関する。
最近まで企業は、UNIX(R)やWindows(R)NTなどのオペレーティング・システムに基づく中間層プラットフォームは脆弱すぎて企業の主幹業務アプリケーションをホスティングすることができないと考えていた。サン・マイクロシステムズ社によるJava(R)の導入、インターネットを用いた取引の普及と共に、状況は変化した。企業は、今では、サン・マイクロシステムズのJava(R)2エンタープライズ・エディション(J2EE)に基づく技術を使用し、中間層プラットフォーム上で重要な業務アプリケーションを構築している。そうしたアプリケーションは、一般に、多数のCPUを備えるサーバ・ファームを有する分散計算処理環境で実行される。
多くの企業がインターネットを使用して顧客と取引を行うため、重要な業務アプリケーションは、現在、ブラウザを介してエンドユーザに示される。これらのオンライン・アプリケーションに伴うどんなダウン時間や問題も、膨大な直接および間接の機会費用を生じる。ある分析家によれば、Webサイトは8秒以内に応答する必要があり、そうでないとユーザはそのサイトを去って競争相手のWebサイトに行ってしまうという。ある推定によれば、ダウン時間またはサイトの応答が遅いことが原因で、毎年米国だけで約43億5千万米ドルのオンライン売上げが失われている。
ネットワーク、データベース、記憶装置、およびプラットフォームの性能を監視するために夥しい数のシステム管理ツールが用意されており、それらは併せて主幹業務アプリケーションのインフラストラクチャを構成する。これらのツールは、必ず必要でありそのしかるべき役割を有する。しかし、アプリケーションがそれらのリソースのすべてを接続するのであり、顧客に直接影響を与えるのはアプリケーションの性能である。アプリケーションは、ネットワーク・トラフィック、データベース使用量、およびプラットフォーム作業負荷を決定する。その結果、大部分のインターネットWebサイトの停止はアプリケーション関連であり、既存のシステム管理ツールは、アプリケーションがどのように振舞っているかの洞察を与えるには不十分である。現在の市販のアプリケーション管理システムは、主に、アプリケーションではなく、アプリケーション・サーバ機能に集中している。
多くのアプリケーションは、Web上で1日24時間顧客に直接公開されるので、厳密な可用性および性能要件が課される。現在、データ・センタは、通常、問題のあるアプリケーション・サーバをリサイクルすることによってサーバ問題を解決する。残念ながら、エラーはほとんどの場合再発するため、リサイクルは、通常、一時的な解決にすぎない。より良い解決を識別できないのは、中間層プラットフォーム上で欠陥のあるシステムおよびアプリケーションを保守し、そのトラブルシューティングを行うための生産クラスの非侵入的ツールがないためである。
別のアプリケーション管理の課題は、生産作業負荷にサービスを提供することによって生じる問題によるものである。企業のIT組織では、開発活動と生産サービス活動の間で労力を明確に分けるのが標準的である。しかし、データ・センタ業務とシステム開発活動の間には大きな切断が存在する。管理者がアプリケーション・サーバ内部で実行中の作業負荷を視覚化できるようにする非侵略的ツールがない。生産サービス・スタッフから開発スタッフに渡されるJ2EEコンテキストなしの診断は、低レベルすぎて開発者にどんな問題解決の手がかりも提供しない。
どんなアプリケーション・レベルのトレースも、本質的に、高いオーバーヘッドを伴い、このため、大容量システムには許容されない。診断のためには、サーブレット、JSP、エンタープライズJava(R)Bean、オブジェクト、メソッド、SQL、セッションおよびコンテキストを含めて、多種多様なコンポーネントが監視される必要がある。分散されたサーバが断続的問題の主要な原因である。
現在のアプリケーション管理製品は、複数の、分散されたアプリケーションをリアルタイム方式で処理するのに最適とはいい難い機能しか提供しない。アプリケーションは統合されつつあるが、大部分の現行のシステム管理製品は、依然として、別個のコンポーネントを調べるものである。この手法は、アプリケーションのトラブルシューティングを困難にし、根本原因分析をほとんど不可能にする。
要約すると、J2EEアプリケーション・サーバ・ファームでは様々な問題が発生する可能性があり、それらは電子業務アプリケーションの性能を妨げる。これらの問題で最も一般的なものは、ループ、低速処理、停止状況、失速状況、例外発生、断続的問題、デッドロック、タイムアウト、API関連問題、およびメモリ・リークである。既存の環境およびトラブルシューティング・モニタは、分散環境でのアプリケーション・サーバには使用できない。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の一方法は、エンタープライズ・アプリケーションに関する情報を得るステップと、得られた情報から選択された、情報の項目を含む高レベル情報をユーザに提示するステップと、より詳細な情報の要求を促す1つまたは複数のプロンプトをユーザに提供するステップと、プロンプトの1つに応答して、より詳細な情報を求めるユーザからの要求を受け取るステップと、要求に応答してユーザにより詳細な情報を提供するステップとを含む。
複数のサーバ上にある分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の一方法は、ユーザのアカウントを設けるための管理者からの指示を受け取るステップと、1台または複数のサーバをそのアカウントと関連付けるステップと、対応するユーザに関連付けられたサーバだけへのアクセスを可能にするステップとを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別および解決の一方法は、分散環境で実行中のスレッドを識別するステップと、ユーザにそのスレッドのソフト・キル実行の選択を促すステップと、ソフト・キルを実行するコマンドに応答して、要求が取り消されるように例外をスローさせるコードを付加するステップとを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の一方法は、ユーザにアプリケーション・サーバおよびサーチ・ストリングを選択するよう促すこと、そのサーチ・ストリングの出現を求めてWeb要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名の間をサーチすること、および識別されたストリングおよび要求を表示することを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の一方法は、ユーザに、監視されないアプリケーションのクラス名の除外リストを入力するよう促すこと、ユーザに、監視されるクラス名の除外指定変更リストを入力するよう促すこと、および要求された情報を受け取ると、除外リストで識別され、除外指定変更リストで識別されないクラス以外のすべてのクラスを監視することを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の一方法は、分散環境にあるサーバ上で実行中のアプリケーションのアクティビティ・ベースの可用度を監視するステップと、アクティビティ・ベースの可用度に基づいてサーバが使用可能であるかそれとも使用不能であるかの指示をユーザに表示するステップとを含む。この方法は、監視されるアプリケーションに起因し得る差分CPU使用量、差分スループット量、および差分メモリ使用量のうちの1つまたは複数を監視することを含み得る。それらの値のいずれかが閾値を下回る場合には、そのサーバは、ハードウェアの可用度にかかわらず、使用不能であるとみなされる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判定のための一システムは、エンタープライズ・アプリケーションに関する情報を得、ユーザに高レベル情報を提示し、より詳細な情報の要求を促す1つまたは複数のプロンプトをユーザに提供し、プロンプトの1つに応答して、より詳細な情報を求めるユーザからの要求を受け取り、要求に応答してより詳細な情報を提供するように構成されたコンピュータ・ハードウェアを含む。
複数のサーバ上にある分散環境で実行中のエンタープライズ・アプリケーションでの問題判定のための一システムは、ユーザのアカウントを設けるための管理者からの指示を受け取り、1台または複数のサーバをそのアカウントと関連付け、対応するユーザに関連付けられたサーバだけへのアクセスを可能にするように構成されたコンピュータ・ハードウェアを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判定および解決のための一システムは、分散環境で実行中のスレッドを識別し、ユーザにそのスレッドのソフト・キル実行の選択を促し、ソフト・キルを実行するコマンドに応答して、要求が取り消されるように例外をスローさせるコードを付加するように構成されたコンピュータ・ハードウェアを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判定のための一システムは、アプリケーション・サーバおよびサーチ・ストリングの選択を受け取り、そのサーチ・ストリングの出現を求めてWeb要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名の間をサーチし、識別されたストリングおよび要求を表示するように構成されたコンピュータ・ハードウェアを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判定のための一システムは、ユーザに、監視されないアプリケーションのクラス名の除外リストを入力するよう促し、ユーザに、監視されるクラス名の除外指定変更リストを入力するよう促し、要求された情報を受け取ると、除外リストで識別され、除外指定変更リストで識別されないクラス以外のすべてのクラスを監視するように構成されたコンピュータ・ハードウェアを含む。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判定のための一システムは、分散環境にあるサーバ上で実行中のアプリケーションのアクティビティ・ベースの可用度を監視し、アクティビティ・ベースの可用度に基づいてサーバが使用可能であるかそれとも使用不能であるかの指示をユーザに表示するように構成されたコンピュータ・ハードウェアを含む。このコンピュータ・ハードウェアは、監視されるアプリケーションに起因し得る差分CPU使用量、差分スループット、および差分メモリ使用量のうちの1つまたは複数を監視するように構成することができる。それらの値のいずれかが閾値を下回る場合には、そのサーバは、ハードウェアの可用度にかかわらず、使用不能であるとみなされる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判定のための一コンピュータ・プログラムは媒体上に記憶された命令からなり、それらの命令は、プロセッサで実行されるとそのプロセッサに、得られた情報から選択された情報項目を含む高レベル情報をユーザからアクセス可能な形式で提示するステップと、情報項目のうちの1つまたは複数に関連するより詳細な情報を要求するように促す1つまたは複数のプロンプトをユーザに提供するステップと、前記プロンプトの1つに応答して、前記情報項目のうちの1つまたは複数に関するより詳細な情報を求めるユーザからの要求を受け取るステップと、要求に応答してユーザに要求されたより詳細な情報を提供するステップとを実行させる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のための一コンピュータ・プログラムは媒体上に記憶された命令からなり、それらの命令は、プロセッサで実行されるとそのプロセッサに、ユーザのアカウントを設けるための管理者からの指示を受け取るステップと、1台または複数のサーバをそのアカウントと関連付けるステップと、対応するユーザに関連付けられたサーバだけへのアクセスを可能にするステップとを実行させる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別および解決のための一コンピュータ・プログラムは媒体上に記憶された命令からなり、それらの命令は、プロセッサで実行されるとそのプロセッサに、その環境で実行中のスレッドを識別するステップと、ユーザにそのスレッドのソフト・キルを実行する選択を提供するステップと、ソフト・キルを実行するコマンドに応答して、スレッドが取り消されるように例外をスローさせるコードをそのスレッドに付加するステップとを実行させる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のための一コンピュータ・プログラムは媒体上に記憶された命令からなり、それらの命令は、プロセッサで実行されるとそのプロセッサに、ユーザにアプリケーション・サーバおよびサーチ問い合わせを選択するよう促すステップと、サーチ問い合わせに応答して、Web要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名の間をサーチするステップと、識別されたストリングおよび要求を表示するステップを実行させる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のための一コンピュータ・プログラムは媒体上に記憶された命令からなり、それらの命令は、プロセッサで実行されるとそのプロセッサに、ユーザに、監視されないアプリケーションのクラス名の除外リストを入力するよう促すステップと、ユーザに、監視されるクラス名の除外指定変更リストを入力するよう促すステップと、除外リスト中のクラス名の一部を定義する除外指定変更リストを受け取ると、除外リストで識別され、除外指定変更リストで識別されないクラス以外のすべてのクラスを監視するステップを実行させる。
分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のための一コンピュータ・プログラムは媒体上に記憶された命令からなり、それらの命令は、プロセッサで実行されるとそのプロセッサに、サーバ上で実行中のアプリケーションのアクティビティ・ベースの可用度を監視するステップと、アクティビティ・ベースの可用度に基づいてサーバが使用可能であるかそれとも使用不能であるかの指示をユーザに表示するステップを実行させる。
本発明の方法およびシステムでは、ユーザにサーバおよびシステムの動作に関する情報を与える方法が提供される。この方法は、具体的には、Java(R)プログラミング・システムに基づくシステムを実行中のエンタープライズ・サーバに適合される。また、この方法は、具体的には、複数のサーバ上で複数のクライアント/サーバ・アプリケーションを実行中のシステム上で使用するようにも適合される。
本発明の方法では、ユーザとは、通常、問題のユーザ・レポートを調査するよう依頼される情報技術部門の担当者である。このプロセスを問題判別として説明する。クライアントからサーバが使用できない、クライアント要求の処理が遅い、クライアントによる要求提出後の応答がないなどを含めて、多種多様な問題が発生し得る。この方法の最初のステップでは、ユーザがログインすると、ユーザに情報を与えるユーザ・インターフェイスが提示される。最初のユーザ要求に応答して、ユーザに高レベルの情報が提示される。この情報の最高レベルは、アプリケーション・サーバ・グループ・レベルとも呼ばれる。というのは、アプリケーション・サーバのグループに関する情報が提供されるからである。本発明のコンピュータ・システムは、ユーザへの提示のためにこの高レベル情報を選択している。この情報は、多数の情報項目を含むものであると理解され得る。提供される情報は、ユーザが閲覧する権限を有する選択されたアプリケーションを実行中のサーバの、リアルタイムでの、あるいは、直近の過去、例えば直前1分間、直前5分間、直前1時間などでの性能に関する情報を含む。ユーザには、提供され得る詳細な情報に関する1つまたは複数のオプションが与えられる。具体的には、それらのオプション、あるいはプロンプトは、提示された情報項目のうちの1つまたは複数に関するより詳細な情報を得るためのものである。ユーザは、より詳細な情報の表示のためにそれらの項目の1つまたは複数を選択する。このユーザ要求の受領に応答して、その1つまたは複数の提示項目に関してより詳細なレベルで情報が提供される。ユーザは、例えば、ハイパーリンクをマウスでクリックすることによってこれを実現することができる。例えば、サーバ名など、情報項目の一機能がハイパーリンクされ得る。より詳細なレベルでの情報を要求する他の多くの方式も提供され得る。より詳細な情報を求めるオプションの提示は、ユーザに詳細なレベルを得るドリルダウンを可能にするものであると理解され得る。
情報は、ハードウェアやオペレーティング・システム機能に関してではなく、アプリケーションに関して提供される。最高レベルで提供される情報には、クライアントに直接影響を与える情報が含まれる。例えば、クライアントには要求またはトランザクションの処理が見える。最高レベルで提供される情報には、好ましくは、最近の短期間に処理されたトランザクション数に関する情報を含む。この情報は、アプリケーション・サーバごとにアプリケーション・サーバ上に置くこともでき、アプリケーション・サーバ・グループごととすることもできる。ユーザの参照のために、それほど新しくない期間での同じ情報を提供して、ユーザが処理されたトランザクションまたは要求の数での傾向を閲覧できるようにすることもできる。他の利用可能情報には、要求またはトランザクションを処理する時間についての平均値などの統計情報が含まれる。この情報は、1台のサーバに影響を与えている問題を分離するために、サーバごとに提供することができる。アプリケーションに特有の情報を提供することによって、ユーザは、比較的迅速に判断を行って、問題がそのアプリケーションでのものかどうか、およびアプリケーション中のどこに問題が存在するかを判定することができる。次いで、ユーザは、本発明の方法に含まれない、既存のツールを使用して問題を解決することができる。あるいは、特定の種類の問題を解決するツールを、本発明の方法を実装するコンピュータ・プログラムおよびシステムに組み込むことも可能である。
アプリケーション情報の表示
次に、本発明の方法を、提供情報の一連のレベルの例を引いて説明する。レベル数、各レベルで与えられる情報、表示の種類などの設計上の特徴は、本発明の方法の範囲内で変動し得るものであることが理解されるであろう。この例では、最高のレベルとは、アプリケーション・サーバ・グループのレベルまたはアプリケーション概要ページである。以下で、図1〜4を参照して例示的なプロセスの流れについて説明する。ブロック100で示すように、ユーザが最初にログインする。ユーザがログインすると、この方法は、ブロック105に示すように、アプリケーション・サーバ・グループまたはアプリケーション概要ページを表示させる。図8に例示的アプリケーション概要ページ500を示す。アプリケーション・サーバ・グループ・レベルでは、以下の情報がユーザに提供され得る。505のボックスに示すように、各サーバが使用可能であるかそれとも使用不能であるかが示される。システムによって使用される使用可能または使用不能の定義は、サーバ上で実行中のアプリケーションの可用度を意味する。可用度または非可用度は、アプリケーションによって処理された要求を監視することによって評価される。可用度または非可用度は、好ましくは、ハードウェアの可用度または非可用度によって、あるいはソフトウェアにダミー要求を送信することによっては評価されない。見やすいように、この用法は図表により提供され得る。総サーバに対する使用可能サーバの割合は、ボックス510に示すように、パーセンテージで示され得る。同じ表示には、515に示すように、各サーバ・グループ上のアプリケーションのスループットに関する情報が提供される。好ましくは、最近の1期間または複数の期間にわたる完了要求数に関する情報が提供される。好ましい実施形態では、520に示すように、選択された数の最近の時間間隔にわたる完了要求数に関する情報が提供される。好ましい実施形態では、ボックス515に示すように、最新の12の5分間隔など、いくつかの最近の期間にわたる完了要求数が提供される。各間隔における完了要求数は、見やすいように図表で提示され得る。最高レベル、またはアプリケーション・サーバ・グループの表示は、完了要求の総数も提供し得る。この概要を見ることによって、ユーザは有用な情報を得る。例えば、サーバが完了要求を提供するのが遅くなり、またはそれを停止した場合には、これが直ちに示される。例えば、ユーザによる多数の要求のために完了要求の量が次第に増加している場合には、それを直ちに見ることができる。スループット情報のグラフ表示は、ユーザに傾向が一目でわかるようにする。
最高レベルの表示、またはアプリケーション概要ページからは、ユーザに、表示されたアプリケーションに関するより詳細な情報の表示を活動化する少なくとも1つの手段が提示される。図8の525に示すように、ハイパーリンクされたテキストが提供され得る。本発明の方法では、ユーザ入力が受け取られる。要求が、判断ブロック120で示すように、単一のアプリケーションに関するより詳細な情報を求める要求の性質を持つものである場合には、選択されたアプリケーションに関する追加情報が提供される。要求が別の種類のものである場合には、要求された機能が実行される。最高レベルがアプリケーション・グループ・レベルである例では、次のより詳細な表示レベルは、ブロック125で示すように、アプリケーション・サーバ・グループ・レベルまたはサーバ可用度詳細ページと呼ばれる。アプリケーション・サーバ・グループ・レベルまたはサーバ可用度詳細ページの一例を図9の600で示す。アプリケーション・サーバ・グループ・レベルでは、図9に記載のサーバ605、610のように、サーバごとに、1つの選択されたアプリケーションに関する情報が提供される。アプリケーション・グループ・レベルの表示からは、表示された各アプリケーションに関連付けられた少なくとも1つの選択がある。この選択は、図9に示すように、そのアプリケーションを実行中の各サーバまたはJava(R)仮想マシン(JVM)に関する追加詳細を提供する表示とすることができる。選択された情報は、各サーバに関して表示される。この情報はサーバを識別し、CPU使用量とメモリ使用量の少なくとも1つを指示する情報を含むはずである。一例では、この情報はサーバ名を含み、以下のうちの1つまたは複数を含み得る。それらは、サーバのIPアドレス、サーバの開始時間、サーバの累積実行可能時間、増分JVMCPU使用量、サーバの合計CPU、JVMCPU時間(累積)、JVMCPU使用量、JVMメモリ使用量、前回のリフレッシュからのJVMメモリ増分、完了要求の総数、および完了要求の増分数である。この情報は、図表で、数値で、あるいはその両方で表示することができる。アプリケーション・サーバ・グループ・レベル情報を調べれば、問題の原因が直ちにユーザに示され得る。例えば、1台のサーバによる非常に大きなCPU使用量は、ユーザがその1台のサーバの動作をさらに調べる必要があることを示すものである。いくつかのサーバによる完了要求数が低いことは、それらの個々のサーバを調べる必要があることを示すものである。すべてのサーバがこのレベルで非常に類似した情報を持つ場合には、ユーザは、問題の原因をそのシステムの別の場所で探すべきであることを知るであろう。
アプリケーション・グループ・サーバ・レベルからの次の詳細レベルはアプリケーション・サーバ・レベルである。アプリケーション・サーバ・レベルの表示は、アプリケーション・アクティビティ表示と呼ぶことができる。可用性管理表示、またはアプリケーション・グループ・サーバ・ビューからは、好ましくは、表示された各サーバに関連付けられたアプリケーション・サーバ・レベルに移動するのに使用可能な選択がある。この方法では、ブロック130で示すように、ユーザ入力が受け取られる。ユーザ入力が、判断ブロック135で示すように、選択されたサーバに関連する追加情報を求める要求の性質を持つものである場合には、ブロック140で示すように、アプリケーション・サーバ・レベル情報が表示される。ユーザ情報が、選択されたサーバに関連する追加情報を求める要求でない場合には、要求された機能が実行される。アプリケーション・サーバ・レベルは、例えば、図10の画面700で示すように、個々の時点においてそのサーバによって実行中のスレッドのそれぞれに関する情報を提供する。これは、各行705が単一のスレッドに関する情報を提供する、スレッドごとの情報の表示である。その時点は最近のものであり、そのシステムから利用可能な最新の情報とすることができる。スレッドに関して表示される情報には、列710のクライアント要求などの少なくともスレッド識別情報、およびスレッドの実行速度とスレッドによるシステム・リソースの使用に関連する情報が含まれる。実行速度に関連する情報には、クライアント要求の時間、列715に示す滞留時間、列720に示す累積CPU時間、および列725に示す遊休時間が含まれ得る。この実行速度に関連する情報を調べることによって、ユーザは、1つまたは複数のスレッドが実行されていないことを直ちに調べることができる。システム・リソースの使用に関連する情報は累積CPU時間を含み得る。システム・リソースの使用に関する情報は、ループしており、または他の何らかの理由で他のスレッドがシステム・リソースにアクセスするのを妨げているスレッドを識別するのに役立ち得る。列730に示すスレッドによって実行中の現在のメソッドに関する情報、列735に示すクライアント要求開始時間、および列740に示すスレッド状況も提供され得る。
表示用に選択されるスレッド数を制限するためにフィルタが提供され得る。フィルタは、スレッドの属性に関する一定の基準を有する。図2の判断ブロック145およびブロック150に示すように、フィルタが活動化された場合には、フィルタの基準を満たすスレッドだけが表示される。フィルタは、1つまたは複数の選択された種類の処理速度カテゴリまたはシステム・リソースの使用カテゴリでの閾値基準を満たすスレッドだけに表示を限定することができる。例えば、一定の閾値を上回る滞留時間を有するスレッドだけが選択されるようにフィルタが構成され得る。滞留時間の長いスレッドは、クライアントによって応答が遅くなるとみなされる可能性が高い。別の例をあげると、閾値量を超えるCPU時間を累積しているスレッドだけが表示され得る。この情報は、ユーザが、ループしており、あるいは他のスレッドの処理を妨げている可能性のあるスレッドを識別できるようにする。例をあげると、750に示すように、使用可能なフィルタのドロップ・ダウン・メニューが提供され、ユーザが、755に示すラジオ・ボタンを使用してフィルタの適用を要求することが考えられる。
与えられる情報は、要求の名称、スレッドの種類、クラス名など、要求の種類の性質を持つものとすることもできる。この要求の性質情報の表示は、ユーザが、他の要求とは区別して処理される要求のクラスを識別できるようにする。例えば、金融サービス会社は、クライアントに、アカウント情報を閲覧させ、そのWebサイトを介した取引を開始させることができる。取引を完了するのに極端に長時間を要するが、アカウント情報の閲覧を求める要求はすぐに処理される場合には、要求の性質情報はこの不均衡を指示する。表示されるスレッド情報には、スレッドによって現在実行中のメソッドに関する情報も含まれ得る。この現在のメソッドの情報は、ユーザに、完了するのに極端に長時間を要しているメソッドを識別させることができる。
アプリケーション・アクティビティ表示から、ユーザは、個々のスレッドに関するより詳細な情報を閲覧するように選択することができる。ブロック155で示すようにユーザからの入力が受け取られ、ブロック160で関連する判断ブロックが示される。要求が1つのスレッドに関する情報を求めるものでない場合には、要求された機能が実行される。図3を参照すると、ブロック165で示すように、選択されたスレッドに関するアプリケーション・スレッド・ビューが提供される。一例では、この情報は、アプリケーション・スレッド・ビュー、または要求詳細ページと呼ばれ、それを図11の800で示す。追加の詳細情報には、前述の要素の1つまたは複数、ならびに適当なSQL命令文が含まれ得る。好ましくは、セッション・オブジェクト、要求オブジェクトおよびスタック・トレースを含む追加情報がこのページから要求され得る。
判別後に問題に対処するためのツールが提供され得る。例えば、問題判別の結果として、ループしている特定のスレッドが識別され得る。表示800などの詳細の表示は、1つまたは複数のツールまたは操作を活動化する1つまたは複数のボタンまたはリンクを含み得る。それらのツールまたは操作は、他の表示された情報とは別に提供され得る。一例では、ユーザに、スレッド上で実行され得るいくつかの操作が提供される。それらの操作には、805で使用可能なドロップ・ダウン・メニューで示すスレッドの優先度の変更、810で使用可能なドロップ・ダウン・メニューで示すスレッド状況の変更、ソフト・キルまたはハード・キルによるスレッドの強制終了、あるいはメソッド・トレースなどの追加情報の取得が含まれ得る。ソフト・キルは、815で示すようなラジオ・ボタンによって使用し得る。ハード・キルは、820に示すようなラジオ・ボタンによって使用し得る。メソッド・トレースを求める要求は、メニュー825で示すようないくつかのメニュー項目の1つとして提供され得る。スレッドのソフト・キルは、そのスレッドが取り消されるように例外をスローさせるコードを付加することによって実行され得る。これは、(後述する)プローブ/パブリッシュ・エンジン中のJVMPIインターフェイスを介してリアルタイムで実行され得る。ソフト・キルは、ハード・キルより望ましい。というのは、スレッドのハード・キルはJVMの再始動を必要とすることになり得るからである。一例では、図3のブロック180で示すように、操作が要求されたかどうか判定するためにユーザ入力が評価され得る。操作が要求された場合には、プロセスの流れは、任意選択で、ユーザ入力に様々な操作を求める要求があるかどうか引き続きチェックすることができる。プロセスの流れは、ブロック185で示すように、スレッド優先度の変更を求める要求の有無をチェックし、変更が要求されている場合には、ブロック190で示すように、スレッド優先度を変更することができる。プロセスの流れは、スレッド状況の変更を求める要求の有無をチェックし、そうした要求が識別された場合には、ブロック191および192で示すように、その要求を実行することができる。図4を参照すると、プロセスの流れは、ブロック194で示すように、ソフト・キルを求める要求の有無をチェックすることができる。ソフト・キルを求める要求が検出された場合には、ブロック195に記載する、前述のコードが付加される。ハード・キルを求める要求が受け取られた場合には、ブロック196および197で示すように、ハード・キルが実行される。
さらなる詳細項目がスタック・トレースであり、それを図12の表示900で示す。スタック・トレースは、スタック・トレースが出力したメソッドで開始する、905に示すメソッド呼び出しのリストを表示する。この例では、メソッド呼び出しは「後入れ先出し」の順序である。したがって、910に示すメソッドなど、最後に実行されたメソッドがスタック・トレースの先頭に表示される。
前述のように、さらなる詳細レベルがメソッド・トレースの表示であり、その一例を図13に表示1000で示す。ユーザは、メニュー825から選択を行うなど、要求詳細ページから入力を提出することによってメソッド・トレースの表示を得ることができる。メソッド・トレースは全実行履歴を表示し(その一例を、スレッドによって処理中の要求のメソッド・トレースに関して1005に示す)、好ましくは、SQL命令文も含む。メソッド・トレース表示は、ユーザが、例えば、個々のスレッドがループしているかどうか識別するのに役立ち得る。
図14の表示1100で示すように、現在の要求オブジェクトおよびセッション・オブジェクトに関する情報は、要求詳細ページからの要求によって得ることができる。現在の要求に関する情報には、1105に示す要求のURL、1110に示す要求オブジェクトの属性が含まれ得る。セッション・オブジェクト情報には、1115に示すセッション識別、1120に示すセッション作成時間、および、ある場合には、1125に示すセッション属性が含まれ得る。
サーチ
前述の例では、各表示は、個々のサーバ・グループ、サーバ、またはスレッドに関する1つの詳細レベルの選択を提供する。好ましい実施形態では、複数の詳細レベルを使用することができる。例えば、任意のレベルにおいて、ユーザにサーチを実行するオプションが提供され得る。以下で、サーチに関連するプロセスの流れを図5との関連で説明する。ブロック201に示すように、アプリケーション要求サーチ・ページを求めるユーザ要求が受け取られる。このオプションを選択した後で、ブロック205で示すように、アプリケーション要求サーチ・ページが表示される。アプリケーション要求サーチ・ページの一例を、図15の表示1200で示す。アプリケーション要求サーチ・ページは、ユーザに、サーチのために1205に示す使用可能なドロップ・ダウン・メニューなどでグループを、1210などでサーバを選択し、ウィンドウ1215などにテキスト・ストリングの形で探索語を入力するよう促す。流れ図の210に示すように、ユーザからサーバ指定および探索語が受け取られる。ブロック215に示すように、テキスト・ストリングの形の探索語を求めて、Web要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名がサーチされる。結果ページは、流れ図のブロック220に示すように、すべての識別されたURLストリングまたはアクティブ・エンタープライズJava(R)Bean要求を表示する。サーチ結果ページの一例を図16の表示1300で示し、その結果を1305に示す。表示される情報には、列1305で示す結果のサーバ名、列1310で示すクライアント要求名、列1315で示す開始日時、列1320で示すスレッドの識別、列1325で示す合計リソース時間が含まれ得る。ユーザには、これらのサーチ結果をソートできることが提示される。ソート基準には、好ましくは、開始時間および合計滞留時間が含まれる。図16の表示では、ユーザは、列見出しのいくつかを選択することによって、様々な基準で結果をソートさせることができる。したがって、結果は、サーバ名、クライアント要求、開始日時、合計リソース時間でソートされ得る。特に、開始時間および合計滞留時間でのソートにより、ユーザは、失速し、ループし、あるいはそれ以外の問題のあるURLおよび要求を直ちに調べることができる。ブロック225で示すように、ユーザからサーチ基準が受け取られる。それに応答して、ブロック230で示すように、ストリングまたは要求が受け取った基準でソートして表示される。ドロップ・ダウン・メニューまたはその他の希望探索語のリストも提供され得る。このサーチ・オプションは、ユーザが、サーチされるクライアント要求の種類に対応する個々のスレッドに付随する情報の表示に直接進むことを可能にする。このサーチ・オプションは、どの表示画面でも提示され得る。
いくつかのサーチ・オプションが提供され得る。サーチ戦略は、好ましくは、挙動でトランザクションを識別することができる。例えば、サーチは、5分間、10分間、15分間など、選択された期間より長い間システム中に存在しているシステム中のすべてのトランザクションを対象とし得る。あるいは、一定の時間内に開始されたすべてのトランザクション、閾値数(10,000など)を超えるSQLを発行しており、まだ終了していないすべてのトランザクション、および閾値数(10,000など)を超えるメソッドを発行しており、まだ終了していないすべてのトランザクションを求めるサーチを実行することもできる。ユーザの個々のシステムおよびアプリケーションでの経験に基づき、ユーザが、システム中の閾値時間の長さおよび閾値トランザクション数を含むパラメータを選択することができることが理解されるであろう。
本発明の方法は、好ましくは、アプリケーション・サーバ・システム・リソース・アナライザを提供する。このアナライザは、様々なサーバの動作を比較するようにも選択され得る。ユーザには、前述のドリルダウンの記述中のすべてのまたは任意の箇所においてシステム・リソース・アナライザを選択するオプションが提示され得る。Websphere PMIインターフェイスなど既存のツールを使用して情報が提供され得る。サーバ・システム・リソース・アナライザの第1のページは、システム・リソース・ポータルと呼ばれる。システム・リソース・ポータルは、異なるサーバなど、異なるリソースの数に関する情報を提供する。好ましくは、各リソースに関して与えられる情報は、最大値のパーセンテージとして示され、図表で表示され得る。所与のリソースの使用が最大値の一定の定義閾値内にある場合には異なる色を使用するなどの技法が用いられ得る。表示され得る情報には、プール、メモリ使用量、CPU使用量、アプリケーション・アクティビティ、詳細なリソース情報リンクが含まれる。図17の表示1400に一例を示す。この例示的表示では、CPU使用量が1405に、メモリ使用量が1410に、トランザクション障害率が1415に示されている。詳細リンクはメニュー1420に与えられている。エンタープライズJava(R)Beanについては、ユーザは、メニュー1420を使用してエンタープライズJava(R)Beanのリストを選択することができる。そのリストから、ユーザは、いくつかのエンタープライズJava(R)Beanのうちの1つを選択することができる。その選択に応答して、図18の表示1500に示す情報を含めて、選択されたエンタープライズJava(R)Beanのメソッドに関する大量の情報の表示が行われ得る。1505でのエンタープライズJava(R)Beanの識別以外に、1510に様々なメソッド情報が示されている。作成されたメソッド数、削除された数、活動化された数、不活動化された数、インスタンス化され、破棄された数、ロードされ、格納された数、同時アクティブ・メソッドの数、同時ライブ・メソッドの数、メソッド呼び出しの数、その他の情報などの数量情報が示され得る。また、平均作成時間や平均除去時間などの統計情報も示され得る。データベース接続プールについて、ユーザは、メニュー1420からデータベース接続プールに関する追加情報を選択することができる。それに応答して、図19の表示1600で示すようなデータベース接続プール概要ページが表示される。行1605に示す各接続プールごとに、列1610に示す同時待機者、列1615に示す平均待ち時間、列1620に示す障害、列1625に示す使用パーセンテージなどの情報が示され得る。データベース接続プール概要ページから、個々のデータベース接続プール名1630を選択するなどによって、データベース接続プールに関するさらなる詳細レベルが選択され得る。このさらなる詳細レベルは、図20の表示1700などのデータベース接続プール詳細ページで表示される。表示1700は、1705の個々のデータベース接続プールの識別以外に、詳細なスタップショットのタイムスタンプ、作成された接続数、破棄された接続数、戻された接続数、割り振られた接続数、プール・サイズ、PREP命令文キャッシュからの廃棄数などの情報、ならびに1710に一般的に示す、データベース接続プール概要ページからの情報を含み得る。
サーブレットおよびセッション・マネージャについては、メニュー1420からサーブレットおよびセッション・マネージャ概要データ・ページが選択され得る。そうしたページの一例を図21の表示1800で示す。このページは、1810に一般的に示すように、作成されたセッション数、無効化されたセッション数、終了したセッション数、セッション存続時間、アクティブ・セッション数、ライブ・セッション数を識別する。スレッド・プールについては、メニュー1420からスレッド・プール概要ページが選択され得る。スレッド・プール概要ページの一例を図22の1900で示す。スレッド・プール概要ページは、スレッド・プールのリストを、行1905に示すように、好ましくは、詳細スナップショットのタイムスタンプ、スレッド作成数、スレッド破棄数、アクティブ・スレッド数、プール・サイズ、および最大使用リソースのパーセントと共に示すことができる。
トランザクション・マネージャ詳細ページは、メニュー1420から選択することができ、図23の表示2000で示すように、スナップショットのタイムスタンプ、および、2010に一般に、開始されたグローバル・トランザクションのそれぞれの数、関与するグローバル・トランザクション、開始されたローカル・トランザクション、アクティブなグローバル・トランザクション、アクティブなローカル・トランザクション、グローバル・トランザクション存続時間、グローバル完了前存続時間、グローバル準備時間、グローバル・コミット時間、ローカル完了前時間、ローカル・コミット時間、最適化数、コミットされたグローバル・トランザクション、コミットされたローカル・トランザクション、ロールバックされたグローバル・トランザクション、ロールバックされたローカル・トランザクション、時間切れのグローバル・トランザクション、および時間切れのローカル・トランザクションを含み得る。
メニュー1420からWebアプリケーション概要ページが選択され得る。Webアプリケーション概要ページは、その一例を図24の表示2100で示すが、列2105に名前で識別され、例えば、それぞれ、列2110および2115に、それぞれの合計要求および同時要求を有するサーブレットのリストを示すことができる。それぞれの合計要求および同時要求を有する、JSPのリストも表示され得る。Webアプリケーション概要ページからサーブレットまたはJSPの名前をクリックすることによって、Webアプリケーション詳細ページが選択され得る。Webアプリケーション詳細ページを図25に表示2200で示す。これは、選択されたサーブレットまたはJSPについて、タイムスタンプ、および2210で一般に、合計要求、同時要求、応答時間、およびエラー数を示す。前述の種類の情報の即時の表示は、ユーザが、1つのアプリケーションで識別され、別のアプリケーションでは識別されない問題の原因を識別する際に役立ち得る。
本発明の方法が、各レベルで使用可能な個々の情報、情報の表示方式、各レベルでユーザが使用可能なドリルダウン・パスの変形形態を用いても実行され得ることが理解されるであろう。レベルの数も本発明の範囲内で変動され得る。この方法は、ユーザまたは管理者によるレベル数、各レベルで表示される情報の種類、および表示方式のカスタマイズを提供することができる。
ユーザの権限
本発明の方法およびシステムは、各ユーザが定義された機能およびアプリケーションの状況にアクセスできるようにする。システム管理者は、各個別ユーザごとにアカウントを作成するオプションを有する。各ユーザを、1つまたは複数のアプリケーション・サーバ・グループに割り当てることができ、それらのグループがユーザのアカウントに関連付けられる。各ユーザには、システム管理者によってそのユーザのアカウントに選択されたアプリケーション・サーバ・グループだけに付随する情報を閲覧する権限が与えられる。各ユーザは、そのシステムにアクセスするのに必要とされるパスワードを持つことができる。好ましい実施形態では、UNIX(R)などのオペレーティング・システムがパスワード検証を実施する。サーバのサーバ・グループへの割り当ても、ユーザのサーバ・グループへの割り当てと同様に、システム管理者の制御下に置かれる。メンバ構成がオーバーラップする異なるサーバ・グループも作成され得る。ユーザも同様に、様々なサーバおよびサーバ・グループ上で閲覧しコマンドを実行する様々な権限を持つことができる。
アクセスについての例として、図6に簡略化したシステムを示す。システム300はサーバ1から10と指定された10台のサーバ305を備える。各サーバ305は、サーバ・グループ310、312、314のうちの少なくとも1つに指定される。第1のサーバ・グループ310はサーバ1〜5を含み得る。第2のサーバ・グループ312はサーバ1、2、6、7を含む。第3のサーバ・グループ314は、サーバ8、9、10を含む。したがって、サーバは、メンバ構成がオーバーラップしてもしなくてもよい。管理者320は、すべてのサーバ・グループに対するすべての権限、および許可システム322を変更する権限を有するものとして示されている。ユーザ325は、情報を閲覧し、コマンドを実行する様々な権限を有し、あるいはまったく権限を持たないものとして図示されている。1人のユーザは、第1のグループに関する第1の権限、および第2のグループに関する第2の権限を有する。第1の権限には、情報を閲覧する権限だけが含まれ得るが、コマンドを実行する権限は含まれない。第2の権限には、情報を閲覧する権限および選択されたコマンドまたはすべての利用可能なコマンドを実行する権限が含まれ得る。サーバ・グループはオーバーラップしてもしなくてもよいことが理解されるであろう。2セットを超える権限も提供され得る。
データ・コレクタの構成
本発明の方法では、表示される情報はアプリケーションの監視によって収集される。監視されるアプリケーションは、本発明の一方法では、動的に調整され得る。どんな監視も、あるサーバまたはグループの機能の実行からシステム・リソースを転用するものであることが理解されるであろう。したがって、監視のためのアプリケーションを選択できることは、例えば、問題のあるアプリケーションの監視だけのためにシステム・リソースが維持され得ることを意味する。その選択は、好ましくは、サーバ・レベルまたはグループ・レベルのどちらかで実行され得る。図26を参照すると、未構成のデータ・コレクタ構成ページ2300が示されている。未構成のデータ・コレクタが2310に記載されている。このページを使用してデータ・コレクタの構成が登録される。このページから、例えばボタン2315によって、デフォルトのデータ・コレクタ構成を選択することができ、あるいはカスタム構成のために2320のデータ・コレクタの名前を選択することができる。カスタム構成が収集された場合には、図27の表示2400で示すように、データ・コレクタ構成ページが表示される。ボックス2405に表示するクラス名フィルタ・リスト(除外)は、それらのクラスが除外指定変更リストに記載されない限り監視されることのないクラスのリストである。ボックス2410に表示するクラス名フィルタ・リスト(除外指定変更)は、監視される除外リスト中のクラスの一部の入力のために設けられる。除外リストに含まれないすべてのクラスは監視される。除外リスト中のクラスの一部だけが監視される。この技法は、リソースが不必要に監視に割り振られないように、ユーザがフィルタリングのために必要最小限の数のクラス名を選択することができるようにする。例えば、除外リストは、クラス「java(R).*」を含むことができ、除外指定変更リストは、「java(R).util.*」を含むことができる(「*」は任意の拡張子を示す)。図7の例示的なプロセスの流れでは、ユーザはブロック405でクラスを入力するよう促される。ブロック410に示すように、ユーザから識別された1つまたは複数のクラスが受け取られる。
例示的システム・アーキテクチャ
本発明の問題判別システムは、以下で述べるアーキテクチャを持ち得る。このアーキテクチャは、各アプリケーション・サーバ上で動作するエージェントの性質を持ち得るものであり、専用サーバ上の残りのコンポーネントには、中央制御を提供するカーネル、プローブ・エンジンからデータを受け取るパブリッシュ・サーバ、キャッシュからデータベースにデータを移動するアーカイブ・エージェント、データベース、すべてのエンド・ユーザ・アプリケーションを提供する視覚化エンジン、および(Websphereなどの)アプリケーション・サーバから一定のアプリケーション・サーバ特有のデータを収集するアプリケーション・サーバ・エージェントが含まれる。例示的アーキテクチャを図28に示す。2510に示すようなアプリケーション・サーバ・エージェントはアプリケーション・サーバ上にインストールされる。プローブ/パブリッシュ・エンジン2511は、アプリケーション・サーバ・エージェント2510の主要コンポーネントである。残りのコンポーネントは、専用サーバ2520上にインストールされ得る。カーネル2530は中央制御を提供する。パブリッシュ・サーバ2540は、アプリケーション・サーバ・エージェント2510からデータを受け取り、アーカイブ・エージェント2550にデータを移動する。アーカイブ・エージェント2550はデータベース2560にデータを移動する。視覚化エンジン2570は、すべてのエンド・ユーザ・アプリケーションを証明し、履歴情報についてデータベースとやりとりし、スナップショット情報を要求し、受け取るためにアプリケーション・サーバ・エージェントと直接やりとりする。
一実施形態では、前述の方法でユーザに提供されるデータの供給元を、プローブ/パブリッシュ・エンジンとすることができる。プローブ/パブリッシュ・エンジンは、特定のスレッドに付随するすべての情報を得る。好ましい実施形態では、プローブ・エージェントに標準Java(R)プロファイリング・インターフェイス(JVMPI)が用いられ得る。
図29を参照すると、プローブ/パブリッシュ・エンジン2511が、それがやりとりするJava(R)仮想マシン2610、ならびにアプリケーション・サーバ2615との関連で示されている。プローブ/パブリッシュ・エンジン2511は、好ましくは、5つのコンポーネント、すなわちプローブ・コントローラ2512、コマンド・エージェント2513、イベント・エージェント2514、イベント・ハンドラ2515、およびパブリッシュ・エンジン2516を備える。プローブ・コントローラ2512は、その他のコンポーネントのライフ・サイクルを制御するコントローラ・スレッドである。イベント・エージェント2514は、当該のJVMPIイベントのためのイベント・ハンドラを登録する。そうしたイベントが発生すると、それらのハンドラが呼び出される。それらのハンドラは、関連情報を収集し、それをイベント待ち行列に付加する。次いで、パブリッシュ・エンジン2516が、イベント待ち行列からそのデータを得、それをパブリッシュ・サーバ2540に送る。それらのエージェントは、JDK(Java(R)Development Kit)1.2.2以上で提供される標準Java(R)プロファイリング・インターフェイスを使用して構築され得る。
この実施形態では、JVMPIライブラリがJVMと共にロードされ、JVM、プローブ・コントローラ、イベント・エージェント、およびコマンド・エージェントとやりとりする。JNI関数を使用してすべてのイベントベースのデータ、日時スタンプ、壁時計およびCPUクロックが取り込まれ得る。JVMPIライブラリによって登録されるイベントを以下の表1に示す。
Figure 2006509266
JVMPIライブラリから得られた情報は、イベント待ち行列と呼ばれる待ち行列に格納され、イベント・エージェントは、その待ち行列からレコードを取り出し、それらをパケットにし、パブリッシュ・エンジンを介してパブリッシュ・サーバに送る。イベント・エンジンによって待ち行列から収集されるデータを以下の表2に示す。
Figure 2006509266
コマンド・エージェントは、カーネルに登録されたRMIサービスである。コマンド・エージェントは、視覚化エンジンおよびその他の外部コンポーネントからコマンドを受け取り、JVMPIまたはJNI呼び出しを使用してそれらを満足させる。コマンドの例示的リスト、およびそれらのコマンドがJVMPIに提供されるか、それともJNIに提供されるかを以下の表3に示す。
Figure 2006509266
プローブ・コントローラも、好ましくは、カーネル2530に登録されたRMIサービスであり、他のプローブ・コンポーネントを開始および停止し、そのプローブの構成を取得する。プローブの新しい構成は、カーネル2530からプローブ・コントローラに送られる。プローブ・コントローラは、新しい構成を受け取ると、プローブを開始すべきかそれとも停止すべきか、あるいはフィルタを変更すべきかどうか判定する。プローブ/パブリッシュ・エンジンの論理図を図30で示す。この論理図によれば、2702で示すように、JVMがロードされると、2704で示すように、スレッド開始、スレッド終了およびJVMの初期設定完了を識別するイベントがカーネルに登録される。2706で示すように、JVMの初期設定が完了すると、2708で示すように、システム属性が設定され、プローブを開始するためのスレッドが作成される。次いでスレッドは、2710で示すように、メソッド入力およびクラス・ロード・イベントを有効にし、2712で示すように、アプリケーション・サーバが開始するまで待機する。メソッド入力は、2714で、JVMでのプロセスの流れを開始し、2716でアプリケーション・サーバが開始されているかどうかチェックする。アプリケーション・サーバが開始されている場合には、プロセスの流れがInitProbeスレッドに渡され、それが2718でメソッド入力およびクラス・ロード・イベントを無効にし、2720でプローブ・コントローラ・スレッドを作成する。プローブ・コントローラ・スレッドは、2722で、カーネルからプローブ構成を捜し出す。プローブ構成が見つからなかった場合には、2724および2726で示すように、流れが終了する。構成が見つかった場合には、プロセスの流れは、2728のその構成でプローブが有効にされているかどうかの判定に進む。有効にされていない場合、プロセスの流れは終了する。また、プロセスの流れは、2730で示すように、カーネルからのRMI呼び出しの形で、新しい構成を開始することもできる。プローブが有効にされている場合には、プロセスの流れは、2732に示すように、イベント・エージェントおよびコマンド・エージェントを開始し、クラス・ロード・イベントおよびメソッド入力2イベントを有効にする。コマンド・エージェントは、2734および2736で示すように、視覚化エンジンからのコマンドを待つ。メソッド入力イベントの有効化は、2750で示すように、JVMでのプロセスの流れを開始させる。2750で示すように、CPUクロック、壁時計、メソッド識別、スレッド識別、またはURLおよびSQLあるいはそれらの組み合わせなどのデータが得られ、イベント待ち行列2760に渡される。クラス・ロード・イベントは、2754で示すように、JVMでのプロセスの流れを開始する。2756に示すように、クラス名、メソッド名およびシグニチャを取得する関数が開始され、この情報がクラス・ハッシュ表2762に渡される。イベント・エージェントは、2780で示すように、イベント待ち行列2760からレコードを取り出す。イベント・エージェントは、2782に示すように、パブリッシュ頻度に応じて待機する。
視覚化エンジン2750は、本発明の方法およびシステムで使用されるフロントエンド・ユーザ・インターフェイス・コンポーネントを提供する。視覚化エンジン2750の実装には標準J2EE技術が使用され得る。視覚化エンジン2750のフロントエンド枠組みは、セッション管理やセキュリティなどのハウスキーピングを扱う。視覚化エンジン2750は、好ましくは、フロントエンド・アプリケーションおよび業務論理コンポーネントの開発につながる環境を提供するために、可能な限り多数の共通タスクを扱う。視覚化エンジン2750は、それがユーザ要求に応答してアクセスするデータベースの上に位置する。そのアーキテクチャを図31に示す。これは、ブラウザ2810を使用し、Apache WebサーバとすることのできるWebサーバ2815、および、IBMのWebsphereなどの、データベースとWebサーバの間のインターフェイスを提供するアプリケーション・サーバ2820とやりとりする、ブラウザベースのものとして示されている。サーブレットを使用して要求を処理し、アプリケーション・フローを管理することができる。また、サーブレットは、フォーム・データ入力の検証を行い、データを含むJava(R)BeanオブジェクトをJSPページに送ることによってフロントエンド挙動を制御するのにも用いられ得る。JSPページは大部分のフロントエンド表示論理を扱うことができる。エンタープライズJava(R)Beanを使用して業務論理が実装され得る。一般に、ステートレス・セッションBeanが使用される。
サーブレットは、前述のようなフォーム入力データの検証、およびアプリケーション論理フローに使用され得る。すべてのサーブレット・アプリケーションが拡張する必要のある基本サーブレットが提供され得る。この基本サーブレットは、グローバル変数をセットアップし、認証および許可を扱い、必要に応じてログインおよびアクセス拒否ページへの宛先変更を行う。リソース・バンドル、ログ・メッセージおよび監査証跡メッセージ・ファイルが提供される。JSPはブラウザで表示されるWebページを表現するためのHTMLコードを生成する。サーブレットは、Java(R)Beanオブジェクトを使用して所望のデータをJSPに渡す。
ステートレス・セッションBeanの最上位層はAPIを構成する。最上位層の下には、データベースからのデータへのアクセスを扱う、エンタープライズJava(R)BeanまたはJava(R)クラスの層が存在し得る。データベースからのデータは、DBAccessデータ・アクセス枠組みの一部であるデータベース・アクセス層を介して得ることができる。
アプリケーション・アクティビティ表示機能は、前述のように、データへのリアルタイム・アクセスを提供し、視覚化エンジンと対応するパブリッシュ・サーバおよびプローブの間の直接通信を伴う。この直接通信のために、パブリッシュ・サーバ・インターフェイスおよびコマンド・エージェント・インターフェイスが提供される。これらのインターフェイスへのスタブはカーネルによって維持され、ルックアップ・エージェント・ヘルパー・クライアントを使用して視覚化エンジンがカーネルからルックアップを行うことにより取り出される。プローブが実行中の各サーバは、そのプローブの一意の識別を持つ。プローブ識別が得られると、カーネルからコマンド・エージェントのインターフェイス・スタブが得られる。次いで、プローブによって使用されたパブリッシュ・サーバの識別がプローブから得られる。パブリッシュ・サーバの対応するインターフェイス・スタブがカーネルから得られる。次いで、アクティブ要求および関連するデータのリストを、選択されたパブリッシュ・サーバから直接得ることができる。追加の要求データはプローブから直接得ることができる。スレッド変更、スレッドの停止、優先度変更などのコマンドは、コマンド・エージェント・インターフェイスを介してプローブに直接送られる。視覚化エンジンと、プローブのコマンドおよびパブリッシュ・サーバの間の通信はリアルタイムであり同期的である。
視覚化エンジンは、前述のセキュリティ機能を含む。J2EE仕様のセキュリティ機能は前述のセキュリティ機能を提供するのに十分ではないため、独自のAPIが開発された。セキュリティ機能は、認証および許可機能からなる。認証は、第三者認証システムをラップする独自のJava(R)APIによって実施される。認証は、ユーザまたはグループごとのアクセス制御リストを維持することによって実施される。ユーザは特定のグループと関連付けられ、それらのグループ中のサーバ用のデータだけにアクセスすることができる。サーバは、それぞれ、1つまたは複数のグループに関連付けられる。
次に、カーネルについて詳細に説明する。カーネルは、様々なサービスがネットワーク上で相互に発見し合えるようにし、サービスが動的に、活発に対話する方法を提供する。サービスがオンラインまたはオフラインの状態にされるときには、ユーザ介入は不要である。カーネルに結合するサービスは、その他のサービスのいずれかがオンラインまたはオフラインになるときに動的に適応することができる。サービスの消費者は、そのサービスの実装の事前知識を必要としない。図32を参照すると、カーネルの2つのインスタンス、2530、2530’が示されている。このカーネルのアーキテクチャは、コア2531、リース管理機能2532、RFSサーバ2533、コードベース・サーバ2534、登録データベース2535、可用度サーバ2536、および構成サーバ2537を特徴として持つ。カーネルの2つのインスタンスは、好ましくは、可用度を高めるために別々のサーバ上で実行される。
カーネル・コア2531は、サービスからのすべての結合、更新、離脱およびルックアップ要求を処理する。それらのサービスは、プローブ・エージェント、可用度サーバ2536、および構成サーバ2537である。結合要求では、サービスは、プロキシ・オブジェクトおよびそれに関連するサービス属性をカーネルに渡す。カーネルは、プロキシ・オブジェクトおよびサービス属性を登録データベースに格納することによって要求を満たす。クライアントは、タスクを遂行するために特定の種類のサービスを必要とするときには、カーネルにサーチ・テンプレートを渡し、ルックアップ要求を発行することによってそのサービスを捜す。サーチ・テンプレートに基づいて、カーネルはクライアントに、対応するプロキシ・オブジェクトを返す。各サービスは、定期的にカーネルに更新要求を発行することによってそのリースを更新する必要がある。カーネルが必要なときに更新要求を受け取らなかった場合には、カーネルは、登録データベースからサービスのプロキシ・オブジェクトおよびサービス属性を削除する。この更新要件は、使用不能のサービスに要求が送られることを防ぐ。プローブ/パブリッシュ・サーバは、好ましくは、リースが更新されるときに、完了した要求およびCPU利用の量など、アプリケーションおよびシステムの情報を1つにまとめる。したがって、リースの概念はサーバの可用度および高レベル統計情報を報告するように働く。サービスはカーネルに離脱要求を発行することもできる。
リース管理機能コンポーネント2532は、登録データベース中のレコードを追跡する。いずれかの登録が失効し、あるいは離脱要求が受け取られた場合には、リース管理機能2532は、対応するレコードを削除させて、カーネルがどのクライアントにも対応するプロキシ・オブジェクトを渡さないようにする。RFS(スタブを求める要求)サーバ2533は、接続のためのポート上でリッスンする。接続が識別されると、カーネルの直列化スタブ・オブジェクトが、カーネルとのインターフェイスに使用するためにそのサービスまたはクライアントに送出される。コードベース2534は、HTTPサーバと類似のものであるが、サービスのクライアントにそれがカーネルから得るプロキシ・オブジェクトのクラス定義をダウンロードさせる機能を提供する。登録データベース2535は、プロキシ・オブジェクトおよび関連サービス属性のためのメモリ内記憶を提供する。サーバ可用度および統計情報は、登録データベース2535中に在る。
可用度サーバ2536は、サーバの可用度および統計データを視覚化エンジン2570に提供するのを容易にするために、スナップショットを取り込み、登録データベース2535の履歴を記憶する。
構成サーバ2537は、すべてのコンポーネントの構成データを記憶するための集中された場所である。構成データはXML形式であり、データベースに保持される。ユーザは、視覚化エンジンを介して構成を変更することができる。これが実行されるときには、構成サーバ2537はカーネルから、旧構成に適合されているプロキシ・オブジェクトのリストを取り出す。構成サーバ2537は、プロキシ・オブジェクトを利用して新しい構成を同報送信する。これは、視覚化エンジンでユーザ・コマンドに応答してプローブの構成を更新するのに役立つ。
JoinManagerと呼ばれるヘルパー・ユーティリティは、カーネルのスタブ・オブジェクトを要求し、カーネルをプロキシ・オブジェクトおよびそのサービス属性と結合する。スタブ・オブジェクトが使用不能である場合には、このユーティリティは、それに成功するまで再試行し続ける。このユーティリティは、リースの維持および更新も行う。クライアントがルックアップ・マネージャ・ユーティリティを使用して特定のサービスを捜すこともできる。
パブリッシュ・サーバ2540は、様々なパブリッシュ・エンジンから受け取ったデータを管理する。単一のインストールで複数のパブリッシュ・サーバが提供され得る。パブリッシュ・サーバは、視覚化エンジンのための問い合わせ機能を提供する。パブリッシュ・サーバは、性能管理インターフェイス・データの増分検索も管理する。パブリッシュ・サーバ・アーキテクチャを図33に示す。
パブリッシュ・サーバ2540は、マルチスレッド・プロセスとして実装され得る。各スレッドは、特定のパブリッシュ・エンジンに接続され、そこからデータを受け取る。これは、始動、シャットダウンおよびカーネルへの通信を扱う追加スレッドも含み得る。
図33を参照すると、パブリッシュ・サーバ2540は、3002に示すように、カーネルに結合するスレッドを作成し、その契約を規則的に更新する。パブリッシュ・サーバ2540は、3004に示すように、ソケット接続を受け入れるスレッドも作成する。判断ブロック3006で示すように、次のステップは、対応するパブリッシュ・エンジンから問い合わせが受け取られたかどうかによって異なる。問い合わせではなくデータが受け取られた場合には、3008に示すように、永続的ソケット接続が確立される。データは要求とも関連付けられる。次いで、3010に示すように、パブリッシュ・エンジンを介してプローブからデータが得られる。3012および3014に示すように、サーバ再始動信号が受け取られた場合には、パブリッシュ・サーバは、続行する前に、再始動されたサーバに累積されたデータをリセットする。3016および3018に示すように、データが新しいプローブからのものである場合には、サーバのPMI情報が、例えば5分ごとなど、定期的に取り出されるようにサーバが登録される。次いで、プロセスの流れは、3020に示すように、プローブから受け取ったメソッド・レベル・レコードの処理に進む。3022に示すように、終了が要求され、またはレコード数が過剰である場合には、3024に示すように、アクティブ要求リストからプローブが削除される。次いで、プロセスの流れは、3026からつながるラベルで示すように、戻ってプローブからの次のデータを受け入れる。
データが問い合わせであると判定された場合には、属性を使用して適当な情報の種類が判定され得る。3030、3032、3034に示すように、問い合わせは様々な情報を要求し得る。次いで、その結果が直列化され、パブリッシュ・エンジンに戻される。また、パブリッシュ・サーバは、3036で示すように、そのクライアントによって出された、状況を求めるなどの一定の管理要求を受け取り、3038で示すように、そのサービスを停止する。これらのタスクは、管理者によって呼び出され得る。問い合わせに応答した情報が提供されると、3040に示すように接続が閉じられ、パブリッシュ・サーバは再度ソケット接続の受け入れが可能になる。
前述のアーキテクチャは、本発明の方法の諸ステップを実行する手段を備える一システムを表すことが理解されるであろう。視覚化エンジンは、ユーザに情報を提示する手段、ユーザを促す手段、およびユーザから要求を受け取る手段を含む。プローブ・エンジンは、分散アプリケーションに関する情報を得る手段、および分散アプリケーションのフィルタリングされた監視を実行する手段を含む。パブリッシュ・エンジン、アーカイブ、データベースおよびカーネルの機能は、視覚化エンジンおよびプローブ・エンジンと協働してこの方法の諸ステップを実行する一手段を提供することが理解されるであろう。
総括および結論
本発明の問題判別システムは、監視されるサーバ、および本発明の残りのソフトウェアのための別のサーバ上への一定のプローブ・ソフトウェアのインストールによってインストールされ得る。この構成は、本発明のシステムの比較的簡単なインストールを可能にする。
本発明は、方法およびそれらの方法を実施する装置の形で実施され得る。また、本発明は、フロッピー(R)・ディスケット、CD−ROM、ハード・ドライブ、または他の任意の機械可読記憶媒体など、有形の媒体に実施されたプログラム・コードの形でも実施され得るものであり、そのプログラム・コードが、コンピュータなどの機械にロードされ、それによって実行されると、その機械は本発明を実施する装置になる。また、本発明は、例えば、記憶媒体に記憶され、機械にロードされまたはそれによって実行され、あるいはその両方が行われる、それとも電気配線またはケーブルを介して、光ファイバを介して、あるいは電磁放射を介してなど何らかの伝送媒体を介して伝送されるプログラム・コードの形でも実施され得るものであり、そのプログラム・コードがコンピュータなどの機械にロードされ、それによって実行されると、その機械は本発明を実施する装置になる。汎用プロセッサ上に実装されると、そのプログラム・コード・セグメントは、プロセッサと相まって、特定の論理回路と同様に動作する固有のデバイスを提供する。
以上、Java(R)技術、具体的には、J2EE技術を使用したエンタープライズ・アプリケーションに関して、例示的実施形態を説明したが、本発明の方法は、他の技術でも実装され得る。例えば、本発明の方法は、他のプラットフォームに依存しない技術でも実装され得る。また、本発明の方法は、分散エンタープライズ・アプリケーションに適用可能な他の技術でも実装され得る。
以上、例示的実施形態について詳細に説明したが、本発明はそれだけに限られるものではない。むしろ、本発明は、その他の変形形態および実施形態を含むものとして広義に解釈すべきものである。
本発明による例示的なプロセスの流れを示すプロセス流れ図である。 本発明による例示的なプロセスの流れを示すプロセス流れ図である。 本発明による例示的なプロセスの流れを示すプロセス流れ図である。 本発明による例示的なプロセスの流れを示すプロセス流れ図である。 本発明による例示的なプロセスの流れを示すプロセス流れ図である。 本発明の一特徴を表す概略図である。 本発明による例示的なプロセスの流れを示すプロセス流れ図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明によるユーザ・インターフェイスでの例示的画面を示す図である。 本発明のシステムの例示的アーキテクチャを表す概略図である。 本発明によるシステムの例示的アーキテクチャを示す概略図である。 本発明のシステムのコンポーネントの例示的アーキテクチャを示す流れ図である。 本発明によるシステムのコンポーネントの例示的アーキテクチャを示す概略図である。 本発明によるシステムのコンポーネントの例示的アーキテクチャを示す概略図である。 本発明のシステムのコンポーネントの例示的アーキテクチャを示す流れ図である。

Claims (68)

  1. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の方法であって、
    前記エンタープライズ・アプリケーションに関する情報を得るステップと、
    前記得られた情報から選択された複数の情報項目を含む高レベル情報をユーザからアクセス可能な形式で提示するステップと、
    前記情報項目の1つまたは複数に関連するより詳細な情報の要求を促す1つまたは複数のプロンプトを提供するステップと、
    前記プロンプトの1つに応答して、前記情報項目の1つまたは複数に関するより詳細な情報を求めるユーザからの要求を受け取るステップと、
    前記要求に応答して前記ユーザに前記要求されたより詳細な情報を提供するステップを含む方法。
  2. 前記高レベル情報を提示するステップが、複数のサーバ上でのアプリケーション性能に関する情報を提示することを含む請求項1に記載の方法。
  3. 前記アプリケーション性能情報が、複数の最近の期間にわたる完了要求数に関する情報を含む請求項2に記載の方法。
  4. 前記より詳細な情報を提供するステップが、複数のサーバのそれぞれの1つのアプリケーションによる使用に関する情報を同時に表示するステップを含む請求項1に記載の方法。
  5. 前記提供された情報が、前記選択されたアプリケーションによる各サーバのCPUの使用を含む請求項4に記載の方法。
  6. さらに詳細な情報を提供するステップをさらに含み、前記さらに詳細な情報は前記サーバの少なくとも1つに関するスレッドごとの情報を含む請求項4に記載の方法。
  7. 前記スレッドごとの情報が、各スレッドによるリソースの使用に関する情報を含む請求項6に記載の方法。
  8. 1つまたは複数の基準を有するフィルタを提供し、前記スレッドのうちの前記基準を満たすものだけを選択的に表示するステップをさらに含む請求項6に記載の方法。
  9. 前記基準が少なくとも1つの要求の種類を含む請求項8に記載の方法。
  10. 選択されたスレッドに関するさらに詳細な情報を提供するステップをさらに含む請求項4に記載の方法。
  11. 前記選択されたスレッドに関するさらに詳細な情報が、前記選択されたスレッドによって処理されている要求のメソッド・トレースに関しての実行履歴を含む請求項10に記載の方法。
  12. メソッド呼び出しのリストを提供するステップをさらに含む請求項4に記載の方法。
  13. 複数のサーバ上にある分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の方法であって、
    ユーザのアカウントを設けるための管理者からの指示を受け取るステップと、
    1台または複数のサーバを前記アカウントと関連付けるステップと、
    前記対応するユーザに前記関連付けられたサーバだけへのアクセスを可能にするステップと
    を含む方法。
  14. 管理者からの指示に応答して第1のサーバ・グループが設けられ、対応するユーザが前記第1のサーバ・グループ中のサーバにアクセスすることのできる請求項13に記載の方法。
  15. 管理者からの指示に応答して第2のサーバ・グループが設けられ、前記第2のサーバ・グループが前記第1のサーバ・グループ中の選択されたサーバを含む請求項14に記載の方法。
  16. 前記対応するユーザが、第1のサーバに関する第1の権限、および第2のサーバに関する第2の権限を有する請求項13に記載の方法。
  17. 前記第1の権限が情報を閲覧する権限からなる請求項16に記載の方法。
  18. 前記第2の権限が情報を閲覧し、選択されたコマンドを実行する権限からなる請求項17に記載の方法。
  19. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別および解決の方法であって、
    前記環境で実行中のスレッドを識別するステップと、
    ユーザに前記スレッドのソフト・キルを実行するオプションを提供するステップと、
    ソフト・キルを実行するコマンドに応答して、前記スレッドが取り消されるように例外をスローさせるコードを前記スレッドに付加するステップと
    を含む方法。
  20. コマンドがプローブ/パブリッシュ・エンジンに送られる請求項19に記載の方法。
  21. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の方法であって、
    ユーザにアプリケーション・サーバおよびサーチ問い合わせを選択するよう促すステップと、
    前記サーチ問い合わせに応答して、Web要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名の間をサーチするステップと、
    識別されたストリングおよび要求を表示するステップと
    を含む方法。
  22. サーチ問い合わせがテキスト・ストリングを含む請求項21に記載の方法。
  23. サーチ問い合わせが、閾値より大きい経過時間を有するすべてのトランザクションを含む請求項21に記載の方法。
  24. サーチ問い合わせが、選択された時間内に開始されたトランザクションを含む請求項21に記載の方法。
  25. サーチ問い合わせが、閾値を超える数のSQLを発行しているトランザクションを含む請求項21に記載の方法。
  26. サーチ問い合わせが、閾値を超える数のメソッドを発行しているすべてのトランザクションを含む請求項21に記載の方法。
  27. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の方法であって、
    ユーザに、監視されないアプリケーションのクラス名の除外リストを入力するよう促すステップと、
    ユーザに、監視されるクラス名の除外指定変更リストを入力するよう促すステップと、
    前記除外リスト中のクラス名の一部を定義する前記除外指定変更リストを受け取ると、前記除外リストで識別され、前記除外指定変更リストで識別されないクラス以外のすべてのクラスを監視するステップと
    を含む方法。
  28. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別の方法であって、
    サーバ上で実行中のアプリケーションのアクティビティ・ベースの可用度を監視するステップと、
    前記アクティビティ・ベースの可用度に基づいて、前記サーバが使用可能であるかそれとも使用不能であるかの指示をユーザに表示するステップと
    を含む方法。
  29. アクティビティ・ベースの可用度を監視するステップが、前記アプリケーションに起因し得る中央処理装置使用量の変化を監視することを含む請求項28に記載の方法。
  30. アクティビティ・ベースの可用度を監視するステップが、前記アプリケーションに起因し得るスループット量の変化を監視することを含む請求項28に記載の方法。
  31. アクティビティ・ベースの可用度を監視するステップが、前記アプリケーションに起因し得るメモリ使用量の変化を監視することを含む請求項28に記載の方法。
  32. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのシステムであって、
    前記エンタープライズ・アプリケーションに関する情報を得る手段と、
    前記得られた情報から選択された複数の情報項目を含む高レベル情報をユーザからアクセス可能な形式で提示する手段と、
    前記情報項目の1つまたは複数に関連するより詳細な情報の要求を促す1つまたは複数のプロンプトを前記ユーザに提供する手段と、
    前記プロンプトの1つに応答して、前記情報項目の1つまたは複数に関するより詳細な情報を求めるユーザからの要求を受け取る手段と、
    前記要求に応答して前記ユーザに前記要求されたより詳細な情報を提供する手段と
    を含むシステム。
  33. 前記高レベル情報を提示する手段が、複数のサーバ上でのアプリケーション性能に関する情報を提示する手段を含む請求項32に記載のシステム。
  34. 前記アプリケーション性能情報が、複数の最近の期間にわたる完了要求数に関する情報を含む請求項33に記載のシステム。
  35. 前記より詳細な情報を提供する手段が、複数のサーバのそれぞれの1つのアプリケーションによる使用に関する情報を同時に表示する手段を含む請求項32に記載のシステム。
  36. 前記提供された情報が、前記選択されたアプリケーションによる各サーバのCPUの使用を含む請求項35に記載のシステム。
  37. さらに詳細な情報を提供する手段をさらに含み、前記さらに詳細な情報が前記サーバの少なくとも1つに関するスレッドごとの情報を含む請求項32に記載のシステム。
  38. 前記スレッドごとの情報が、各スレッドによるリソースの使用に関する情報を含む請求項37に記載のシステム。
  39. 1つまたは複数の基準を有するフィルタを提供し、前記スレッドのうちの前記基準を満たすものだけを選択的に表示する手段をさらに含む請求項37に記載のシステム。
  40. 前記基準が少なくとも1つの要求の種類を含む請求項39に記載のシステム。
  41. 選択されたスレッドに関するさらに詳細な情報を提示する手段をさらに含む請求項37に記載のシステム。
  42. 前記選択されたスレッドに関するさらに詳細な情報が、前記選択されたスレッドによって処理されている要求のメソッド・トレースに関しての実行履歴を含む請求項41に記載のシステム。
  43. メソッド呼び出しのリストを提供するステップをさらに含む請求項42に記載のシステム。
  44. 複数のサーバ上にある分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのシステムであって、
    ユーザのアカウントを設けるための管理者からの指示を受け取る手段と、
    1台または複数のサーバを前記アカウントと関連付ける手段と、
    前記対応するユーザに、前記関連付けられたサーバだけへのアクセスを可能にする手段と
    を含むシステム。
  45. 管理者からの指示に応答して第1のサーバ・グループが設けられ、対応するユーザが前記第1のサーバ・グループ中のサーバにアクセスすることのできる請求項44に記載のシステム。
  46. 管理者からの指示に応答して第2のサーバ・グループが設けられ、前記第2のサーバ・グループが前記第1のサーバ・グループ中の選択されたサーバを含む請求項45に記載のシステム。
  47. 前記対応するユーザが第1のサーバに関する第1の権限、および第2のサーバに関する第2の権限を有する請求項44に記載のシステム。
  48. 前記第1の権限が、情報を閲覧する権限からなる請求項47に記載のシステム。
  49. 前記第2の権限が、情報を閲覧し、選択されたコマンドを実行する権限からなる請求項48に記載のシステム。
  50. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別および解決のシステムであって、
    前記環境で実行中のスレッドを識別し、ユーザに前記スレッドのソフト・キルを実行するオプションを提供し、
    ソフト・キルを実行するコマンドに応答して、前記スレッドが取り消されるように例外をスローさせるコードを前記スレッドに付加する手段を含むシステム。
  51. 前記コマンドがプローブ/パブリッシュ・エンジンに送られる請求項50に記載のシステム。
  52. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのシステムであって、
    ユーザに、アプリケーション・サーバおよびサーチ問い合わせを選択するよう促す手段と、
    前記サーチ問い合わせに応答して、Web要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名の間をサーチする手段と、
    識別されたストリングおよび要求を表示する手段と
    を含むシステム。
  53. サーチ問い合わせがテキスト・ストリングを含む請求項52に記載のシステム。
  54. サーチ問い合わせが、閾値より大きい経過時間を有するすべてのトランザクションを含む請求項52に記載のシステム。
  55. サーチ問い合わせが、選択された時間内に開始されたトランザクションを含む請求項52に記載のシステム。
  56. サーチ問い合わせが、閾値を超える数のSQLを発行しているトランザクションを含む請求項52に記載のシステム。
  57. サーチ問い合わせが、閾値を超える数のメソッドを発行しているすべてのトランザクションを含む請求項52に記載のシステム。
  58. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのシステムであって、
    ユーザに、監視されないアプリケーションのクラス名の除外リストを入力するよう促し、前記ユーザに、監視されるクラス名の除外指定変更リストを入力するよう促す手段と、
    前記除外リスト中のクラス名の一部を定義する前記除外指定変更リストを受け取ると、前記除外リストで識別され、前記除外指定変更リストで識別されないクラス以外のすべてのクラスを監視する手段と
    を含むシステム。
  59. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのシステムであって、
    サーバ上で実行中のアプリケーションのアクティビティ・ベースの可用度を監視する手段と、
    前記アクティビティ・ベースの可用度に基づいて、前記サーバが使用可能であるかそれとも使用不能であるかの指示をユーザに表示する手段と
    を含むシステム。
  60. 前記アクティビティ・ベースの可用度を監視する手段が、前記アプリケーションに起因し得る中央処理装置使用量の変化を監視する手段を含む請求項59に記載のシステム。
  61. 前記アクティビティ・ベースの可用度を監視する手段が、前記アプリケーションに起因し得るスループット量の変化を監視する手段を含む請求項59に記載のシステム。
  62. アクティビティ・ベースの可用度を監視する手段が、前記アプリケーションに起因し得るメモリ使用量の変化を監視する手段を含む請求項59に記載のシステム。
  63. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのコンピュータ・プログラムであって、媒体上に記憶された命令からなり、前記命令は、
    プロセッサ上で実行されると前記プロセッサに、前記得られた情報から選択された複数の情報項目を含む高レベル情報をユーザからアクセス可能な形式で提示するステップと、
    前記ユーザに、前記情報項目の1つまたは複数に関連するより詳細な情報の要求を促す1つまたは複数のプロンプトを提供するステップと、
    前記プロンプトの1つに応答して、前記情報項目の1つまたは複数に関するより詳細な情報を求めるユーザからの要求を受け取るステップと、
    前記要求に応答して前記ユーザに前記要求されたより詳細な情報を提供するステップと
    を実行させるコンピュータ・プログラム。
  64. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのコンピュータ・プログラムであって、媒体上に記憶された命令からなり、前記命令は、
    プロセッサ上で実行されると前記プロセッサに、ユーザのアカウントを設けるための管理者からの指示を受け取るステップと、
    1台または複数のサーバを前記アカウントと関連付けるステップと、前記対応するユーザに、前記関連付けられたサーバだけへのアクセスを可能にするステップと
    を実行させるコンピュータ・プログラム。
  65. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別および解決のためのコンピュータ・プログラムであって、媒体上に記憶された命令からなり、前記命令は、
    プロセッサ上で実行されると前記プロセッサに、前記環境で実行中のスレッドを識別するステップと、
    ユーザに前記スレッドのソフト・キルを実行するオプションを提供するステップと、
    ソフト・キルを実行するコマンドに応答して、前記スレッドが取り消されるように例外をスローさせるコードを前記スレッドに付加するステップと
    を実行させるコンピュータ・プログラム。
  66. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのコンピュータ・プログラムであって、媒体上に記憶された命令からなり、前記命令は、
    プロセッサ上で実行されると前記プロセッサに、ユーザにアプリケーション・サーバおよびサーチ問い合わせを選択するよう促すステップと、
    前記サーチ問い合わせに応答して、Web要求でのすべてのアクティブURLストリングおよびリモート・エンタープライズJava(R)Bean要求でのアクティブ・クラス名の間をサーチするステップと、
    識別されたストリングおよび要求を表示するステップと
    を実行させるコンピュータ・プログラム。
  67. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのコンピュータ・プログラムであって、媒体上に記憶された命令からなり、前記命令は、
    プロセッサ上で実行されると前記プロセッサに、ユーザに、監視されないアプリケーションのクラス名の除外リストを入力するよう促すステップと、
    ユーザに、監視されるクラス名の除外指定変更リストを入力するよう促すステップと、
    前記除外リスト中のクラス名の一部を定義する前記除外指定変更リストを受け取ると、前記除外リストで識別され、前記除外指定変更リストで識別されないクラス以外のすべてのクラスを監視するステップと
    を実行させるコンピュータ・プログラム。
  68. 分散環境で実行中のエンタープライズ・アプリケーションでの問題判別のためのコンピュータ・プログラムであって、媒体上に記憶された命令からなり、前記命令は、プロセッサ上で実行されると前記プロセッサに、サーバ上で実行中のアプリケーションのアクティビティ・ベースの可用度を監視するステップと、前記アクティビティ・ベースの可用度に基づいて前記サーバが使用可能であるかそれとも使用不能であるかの指示をユーザに表示するステップと
    を実行させるコンピュータ・プログラム。
JP2003584859A 2002-04-08 2003-04-08 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム Expired - Fee Related JP4267462B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37103502P 2002-04-08 2002-04-08
PCT/US2003/010459 WO2003087982A2 (en) 2002-04-08 2003-04-08 Method and system for problem determination in distributed enterprise applications

Publications (3)

Publication Number Publication Date
JP2006509266A true JP2006509266A (ja) 2006-03-16
JP2006509266A5 JP2006509266A5 (ja) 2006-06-01
JP4267462B2 JP4267462B2 (ja) 2009-05-27

Family

ID=29250621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003584859A Expired - Fee Related JP4267462B2 (ja) 2002-04-08 2003-04-08 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム

Country Status (6)

Country Link
US (5) US7383332B2 (ja)
EP (1) EP1495398A4 (ja)
JP (1) JP4267462B2 (ja)
CN (1) CN100375013C (ja)
AU (1) AU2003221817A1 (ja)
WO (1) WO2003087982A2 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
JP4267462B2 (ja) 2002-04-08 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム
US20030226056A1 (en) * 2002-05-28 2003-12-04 Michael Yip Method and system for a process manager
JP4528116B2 (ja) 2002-06-25 2010-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散環境中でアプリケーションの性能を監視するための方法およびシステム
US7165103B2 (en) * 2002-06-26 2007-01-16 Microsoft Corporation Method and system for matching network clients and servers under matching constraints
US7568025B2 (en) * 2003-06-27 2009-07-28 Bank Of America Corporation System and method to monitor performance of different domains associated with a computer system or network
US7840635B2 (en) 2003-08-15 2010-11-23 International Business Machines Corporation Method and system for monitoring performance of processes across multiple environments and servers
US20050235284A1 (en) * 2004-04-14 2005-10-20 International Business Machines Corporation Systems and methods for tracking processing unit usage
US20060136504A1 (en) * 2004-12-17 2006-06-22 Dieter Babutzka Combined analysis of statistical and performance data in a computer based enterprise application environment
EP1854024A4 (en) * 2005-01-13 2008-11-05 Hsbc North America Holdings In COMPUTER SOFTWARE IMPLEMENTED FRAME FOR THE CONFIGURATION AND OUTPUT MANAGEMENT OF GROUP SYSTEM SOFTWARE AND METHOD THEREFOR
US7774784B2 (en) * 2005-03-17 2010-08-10 Microsoft Corporation Determining an actual amount of time a processor consumes in executing a portion of code
US7529744B1 (en) * 2005-06-30 2009-05-05 Symantec Corporation Search interface server and storage management
US20070028174A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing dynamic screensaver
US8032635B2 (en) * 2005-07-29 2011-10-04 Sap Ag Grid processing in a trading network
US20070028175A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
US7454492B2 (en) * 2005-08-26 2008-11-18 International Business Machines Corporation Method and apparatus for configuring and modeling server information in an enterprise tooling environment
US7784033B2 (en) * 2005-10-11 2010-08-24 Bea Systems, Inc. JDBC monitoring and diagnostics enhancements
US7921084B2 (en) * 2005-10-11 2011-04-05 Oracle International Corporation Timer-driven diagnostic image inhibition for statement cache/connection pool
US20070083526A1 (en) * 2005-10-11 2007-04-12 Rahul Srivastava Monitoring statistics and profile information for JDBC resources
US20070083525A1 (en) * 2005-10-11 2007-04-12 Rahul Srivastava JDBC debugging enhancements
US7823136B2 (en) * 2005-10-11 2010-10-26 Bea Systems, Inc. Callbacks for monitoring driver-level statistics
US7765537B2 (en) * 2005-11-21 2010-07-27 International Business Machines Corporation Profiling interface assisted class loading for byte code instrumented logic
US7853929B2 (en) * 2005-12-16 2010-12-14 International Business Machines Corporation Dynamically profiling consumption of CPU time in Java methods with respect to method line numbers while executing in a Java virtual machine
US7844952B2 (en) * 2005-12-22 2010-11-30 International Business Machines Corporation Grouping threads in a debugger display
US7673189B2 (en) * 2006-02-06 2010-03-02 International Business Machines Corporation Technique for mapping goal violations to anamolies within a system
US7487341B2 (en) * 2006-06-29 2009-02-03 Intel Corporation Handling address translations and exceptions of a heterogeneous resource of a processor using another processor resource
US8510430B2 (en) * 2006-08-03 2013-08-13 International Business Machines Corporation Intelligent performance monitoring based on resource threshold
US7978617B2 (en) 2006-09-15 2011-07-12 Citrix Systems, Inc. Methods for providing performance improvement recommendations
US8078972B2 (en) 2006-09-15 2011-12-13 Citrix Systems, Inc. Methods and interfaces for displaying performance data related to a current remote access session
US20080222636A1 (en) * 2007-03-05 2008-09-11 David Tzat Kin Wang System and method of real-time multiple-user manipulation of multimedia threads
EP1976232B1 (en) * 2007-03-30 2014-01-22 Hewlett-Packard Development Company, L.P. Signaling status information of an application service
US8356286B2 (en) * 2007-03-30 2013-01-15 Sap Ag Method and system for providing on-demand profiling infrastructure for profiling at virtual machines
US20080243970A1 (en) * 2007-03-30 2008-10-02 Sap Ag Method and system for providing loitering trace in virtual machines
US8522209B2 (en) * 2007-03-30 2013-08-27 Sap Ag Method and system for integrating profiling and debugging
US8601469B2 (en) * 2007-03-30 2013-12-03 Sap Ag Method and system for customizing allocation statistics
US8667471B2 (en) * 2007-03-30 2014-03-04 Sap Ag Method and system for customizing profiling sessions
US8336033B2 (en) * 2007-03-30 2012-12-18 Sap Ag Method and system for generating a hierarchical tree representing stack traces
US8464205B2 (en) 2007-04-13 2013-06-11 International Business Machines Corporation Life cycle of a work packet in a software factory
US8566777B2 (en) * 2007-04-13 2013-10-22 International Business Machines Corporation Work packet forecasting in a software factory
US7937611B2 (en) * 2007-04-30 2011-05-03 Sap Ag Method, system and machine accessible medium of a reconnect mechanism in a distributed system (cluster-wide reconnect mechanism)
US9612848B2 (en) * 2007-06-25 2017-04-04 OutSystems—Software em Rede S.A. Systems and methods for gathering and processing user feedback
JP2009048386A (ja) * 2007-08-20 2009-03-05 Chepro:Kk 通信システム、通信方法、通信制御プログラムおよびこのプログラムを記憶した記録媒体
US9189757B2 (en) * 2007-08-23 2015-11-17 International Business Machines Corporation Monitoring and maintaining balance of factory quality attributes within a software factory environment
US8539437B2 (en) * 2007-08-30 2013-09-17 International Business Machines Corporation Security process model for tasks within a software factory
US20090132954A1 (en) * 2007-11-20 2009-05-21 Honeywell International Inc. Apparatus and method for isolating problems in content loaded into a human-machine interface application
US8826242B2 (en) 2007-11-27 2014-09-02 Microsoft Corporation Data driven profiling for distributed applications
US8290966B2 (en) * 2007-11-29 2012-10-16 Sap Aktiengesellschaft System and method for implementing a non-destructive tree filter
US20090249400A1 (en) * 2008-03-27 2009-10-01 United Video Properties, Inc. Systems and methods for providing on-demand media content
US8667469B2 (en) * 2008-05-29 2014-03-04 International Business Machines Corporation Staged automated validation of work packets inputs and deliverables in a software factory
US8595044B2 (en) * 2008-05-29 2013-11-26 International Business Machines Corporation Determining competence levels of teams working within a software
US8312384B2 (en) * 2008-06-11 2012-11-13 Honeywell International Inc. Apparatus and method for fault-tolerant presentation of multiple graphical displays in a process control system
US8452629B2 (en) 2008-07-15 2013-05-28 International Business Machines Corporation Work packet enabled active project schedule maintenance
US20100023920A1 (en) * 2008-07-22 2010-01-28 International Business Machines Corporation Intelligent job artifact set analyzer, optimizer and re-constructor
US8336026B2 (en) 2008-07-31 2012-12-18 International Business Machines Corporation Supporting a work packet request with a specifically tailored IDE
US8271949B2 (en) 2008-07-31 2012-09-18 International Business Machines Corporation Self-healing factory processes in a software factory
US8972787B2 (en) * 2009-03-31 2015-03-03 Microsoft Technology Licensing, Llc Dynamic collection of instrumentation data
US8898575B2 (en) * 2009-09-02 2014-11-25 Yahoo! Inc. Indicating unavailability of an uploaded video file that is being bitrate encoded
US8635600B2 (en) * 2009-11-24 2014-01-21 International Business Machines Corporation Systems and methods for virtual machine thread tracing
US8756586B2 (en) * 2009-12-10 2014-06-17 Tata Consultancy Services Limited System and method for automated performance testing in a dynamic production environment
US8566653B2 (en) * 2009-12-22 2013-10-22 At&T Intellectual Property I, L.P. Infrastructure for rapid service deployment
GB2483111A (en) * 2010-08-27 2012-02-29 Zeus Technology Ltd Monitoring connections to servers and memory management
US8527970B1 (en) * 2010-09-09 2013-09-03 The Boeing Company Methods and systems for mapping threads to processor cores
CN102111452B (zh) * 2011-03-04 2013-04-17 天泽信息产业股份有限公司 利用分布式数据存储程序存储车载信息的系统及其存储方法
CN102148725A (zh) * 2011-03-21 2011-08-10 中兴通讯股份有限公司 一种aaa服务器服务状态检测方法及系统
US9244741B2 (en) * 2011-04-02 2016-01-26 Open Invention Network, Llc System and method for service mobility
WO2012155081A1 (en) 2011-05-11 2012-11-15 Visa International Service Association Electronic receipt manager apparatuses, methods and systems
KR101954215B1 (ko) * 2011-07-12 2019-06-07 삼성전자주식회사 비휘발성 저장 장치의 이용 방법 및 장치
US10044678B2 (en) 2011-08-31 2018-08-07 At&T Intellectual Property I, L.P. Methods and apparatus to configure virtual private mobile networks with virtual private networks
US20130111404A1 (en) * 2011-11-02 2013-05-02 Microsoft Corporation User interface for saving documents using external storage services
US8959605B2 (en) * 2011-12-14 2015-02-17 Apple Inc. System and method for asset lease management
US20130254761A1 (en) * 2012-03-20 2013-09-26 Cellco Partnership D/B/A Verizon Wireless Granular application sessions tagging
US9892193B2 (en) 2013-03-22 2018-02-13 International Business Machines Corporation Using content found in online discussion sources to detect problems and corresponding solutions
US9119056B2 (en) * 2013-05-06 2015-08-25 Sap Se Context-driven application information access and knowledge sharing
JP5853996B2 (ja) * 2013-06-10 2016-02-09 コニカミノルタ株式会社 情報システム、情報機器およびコンピュータプログラム
US9436527B2 (en) * 2014-12-05 2016-09-06 Sybase, Inc. Memory management of a device accessing applications
US10445220B2 (en) * 2017-01-25 2019-10-15 Verizon Patent And Licensing Inc. System and methods for application activity capture, error identification, and error correction
US10931513B2 (en) * 2019-01-31 2021-02-23 Cisco Technology, Inc. Event-triggered distributed data collection in a distributed transaction monitoring system
CN110224943B (zh) * 2019-05-29 2022-09-16 掌阅科技股份有限公司 基于url的流量服务限流方法、电子设备及计算机存储介质
US11301316B2 (en) 2019-07-12 2022-04-12 Ebay Inc. Corrective database connection management
US11038952B2 (en) 2019-07-12 2021-06-15 Ebay Inc. Connection service discovery and load rebalancing
CN111949693B (zh) * 2020-08-12 2024-03-01 北京锐安科技有限公司 一种数据处理装置、数据处理方法、存储介质及电子设备
CN115021951B (zh) * 2022-04-13 2024-05-17 深圳市联软科技股份有限公司 一种业务应用管理方法及系统

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2626512B2 (ja) 1993-11-02 1997-07-02 日本電気株式会社 情報処理性能測定方法
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6119101A (en) 1996-01-17 2000-09-12 Personal Agents, Inc. Intelligent agents for electronic commerce
US5828833A (en) 1996-08-15 1998-10-27 Electronic Data Systems Corporation Method and system for allowing remote procedure calls through a network firewall
US7146230B2 (en) * 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US6438573B1 (en) * 1996-10-09 2002-08-20 Iowa State University Research Foundation, Inc. Real-time programming method
US5870559A (en) * 1996-10-15 1999-02-09 Mercury Interactive Software system and associated methods for facilitating the analysis and management of web sites
US6031528A (en) * 1996-11-25 2000-02-29 Intel Corporation User based graphical computer network diagnostic tool
US6408336B1 (en) * 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US5958010A (en) 1997-03-20 1999-09-28 Firstsense Software, Inc. Systems and methods for monitoring distributed applications including an interface running in an operating system kernel
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6106569A (en) * 1997-08-14 2000-08-22 International Business Machines Corporation Method of developing a software system using object oriented technology
US6167537A (en) 1997-09-22 2000-12-26 Hewlett-Packard Company Communications protocol for an automated testing system
US6014760A (en) 1997-09-22 2000-01-11 Hewlett-Packard Company Scheduling method and apparatus for a distributed automated testing system
US9197599B1 (en) * 1997-09-26 2015-11-24 Verizon Patent And Licensing Inc. Integrated business system for web based telecommunications management
JPH11120106A (ja) 1997-10-17 1999-04-30 Fujitsu Ltd サーバ資源利用状況の表示方式およびそのための記録媒体
US6023696A (en) * 1997-10-31 2000-02-08 Oracle Corporation Summary table query routing
US6321263B1 (en) 1998-05-11 2001-11-20 International Business Machines Corporation Client-based application availability
US6070190A (en) 1998-05-11 2000-05-30 International Business Machines Corporation Client-based application availability and response monitoring and reporting for distributed computing environments
US6633908B1 (en) 1998-05-20 2003-10-14 International Business Machines Corporation Enabling application response measurement
US6054987A (en) 1998-05-29 2000-04-25 Hewlett-Packard Company Method of dynamically creating nodal views of a managed network
DE69925605D1 (de) 1998-08-03 2005-07-07 Firstsense Software Inc Verfahren und programm zur überwachung verteilter anwendungen mit diagnoseinformationen
US6446028B1 (en) 1998-11-25 2002-09-03 Keynote Systems, Inc. Method and apparatus for measuring the performance of a network based application program
US7058704B1 (en) 1998-12-01 2006-06-06 Network Appliance, Inc.. Method and apparatus for implementing a service-level agreement
US6360214B1 (en) * 1998-12-16 2002-03-19 Microsoft Corporation Automatic database statistics creation
JP3190902B2 (ja) 1999-02-02 2001-07-23 中部日本電気ソフトウェア株式会社 性能監視装置、性能監視方法および性能監視プログラムを記録した記録媒体
JP3265280B2 (ja) 1999-02-18 2002-03-11 エヌイーシーソフト株式会社 アプリケーション性能分析システム
JP2000250833A (ja) 1999-02-26 2000-09-14 Hitachi Information Systems Ltd 複数サーバ運用管理における稼働情報取得方法およびそのプログラムを記録した記録媒体
EP1049278A1 (en) * 1999-04-30 2000-11-02 Sony International (Europe) GmbH Broadcast API - an application programming interface for accessing information services provided by a broadcast system
JP2000315198A (ja) 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
EP1052806B1 (en) * 1999-05-13 2006-03-22 Canon Kabushiki Kaisha Apparatus for searching a device on a network
US8862507B2 (en) * 1999-06-14 2014-10-14 Integral Development Corporation System and method for conducting web-based financial transactions in capital markets
US7844594B1 (en) * 1999-06-18 2010-11-30 Surfwax, Inc. Information search, retrieval and distillation into knowledge objects
US6298451B1 (en) 1999-11-02 2001-10-02 Idini Corporation Directory-based failure recovery and load balancing system
US6711739B1 (en) * 1999-11-08 2004-03-23 Sun Microsystems, Inc. System and method for handling threads of execution
US6829639B1 (en) * 1999-11-15 2004-12-07 Netvision, Inc. Method and system for intelligent global event notification and control within a distributed computing environment
US6909481B2 (en) 2000-11-07 2005-06-21 Seiko Epson Corporation Liquid crystal display and electronic appliance
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6453269B1 (en) 2000-02-29 2002-09-17 Unisys Corporation Method of comparison for computer systems and apparatus therefor
US6701363B1 (en) 2000-02-29 2004-03-02 International Business Machines Corporation Method, computer program product, and system for deriving web transaction performance metrics
US6691244B1 (en) * 2000-03-14 2004-02-10 Sun Microsystems, Inc. System and method for comprehensive availability management in a high-availability computer system
CA2303739C (en) * 2000-04-04 2009-06-30 Webhancer Corporation Method and system for managing performance of data transfers for a data access system
US7415537B1 (en) 2000-04-07 2008-08-19 International Business Machines Corporation Conversational portal for providing conversational browsing and multimedia broadcast on demand
US6892221B2 (en) 2000-05-19 2005-05-10 Centerbeam Data backup
US7140022B2 (en) 2000-06-02 2006-11-21 Honeywell International Inc. Method and apparatus for slack stealing with dynamic threads
US7127743B1 (en) * 2000-06-23 2006-10-24 Netforensics, Inc. Comprehensive security structure platform for network managers
US6658471B1 (en) 2000-06-29 2003-12-02 International Business Machines Corporation Method and system for zero overhead software performance measurement instrumentation
JP2002041331A (ja) 2000-07-27 2002-02-08 Mitsubishi Electric Corp サーバ性能測定装置
JP2002082926A (ja) 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> 分散アプリケーション試験・運用管理システム
AU2001289009A1 (en) 2000-09-12 2002-03-26 Falcon Asset Acquisition Group Method and apparatus for flash load balancing
JP2002099448A (ja) 2000-09-21 2002-04-05 Ntt Data Corp 性能監視装置、及びその方法
AU2002214659A1 (en) 2000-10-26 2002-05-06 James C. Flood Jr. Method and system for managing distributed content and related metadata
US7937470B2 (en) 2000-12-21 2011-05-03 Oracle International Corp. Methods of determining communications protocol latency
US7685224B2 (en) * 2001-01-11 2010-03-23 Truelocal Inc. Method for providing an attribute bounded network of computers
US20020165999A1 (en) * 2001-03-07 2002-11-07 Ajile Systems, Inc. Apparatus and method for interfacing hardware events with software events
US6616049B1 (en) 2001-04-10 2003-09-09 Symbol Technologies, Inc. Retail sales customer marketing system with electronic coupon processing
US7051339B2 (en) 2001-06-29 2006-05-23 Goldman, Sachs & Co. System and method to measure latency of transaction information flowing through a computer system
US6976193B2 (en) * 2001-09-20 2005-12-13 Intel Corporation Method for running diagnostic utilities in a multi-threaded operating system environment
US20030065764A1 (en) * 2001-09-26 2003-04-03 Karen Capers Integrated diagnostic center
US6941298B2 (en) * 2002-01-18 2005-09-06 Bea Systems, Inc. System and method for providing result sets using EJB query language
US20030182157A1 (en) 2002-03-25 2003-09-25 Valk Jeffrey W. System architecture for information management system
JP4267462B2 (ja) 2002-04-08 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム
US8234128B2 (en) 2002-04-30 2012-07-31 Baxter International, Inc. System and method for verifying medical device operational parameters
JP4528116B2 (ja) 2002-06-25 2010-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散環境中でアプリケーションの性能を監視するための方法およびシステム
US7945909B2 (en) 2003-05-09 2011-05-17 Sap Aktiengesellschaft Initiating recovery of an executing task using historical information and task information
US7840635B2 (en) 2003-08-15 2010-11-23 International Business Machines Corporation Method and system for monitoring performance of processes across multiple environments and servers
US7725529B2 (en) 2003-11-19 2010-05-25 George Mason Intellectual Properties, Inc. Geographic information system
US20060167929A1 (en) 2005-01-25 2006-07-27 Amit Chakraborty Method for optimizing archival of XML documents
US7757214B1 (en) 2005-11-10 2010-07-13 Symantec Operating Coporation Automated concurrency configuration of multi-threaded programs
EP1949273A1 (en) 2005-11-16 2008-07-30 Evri Inc. Extending keyword searching to syntactically and semantically annotated data
US7650394B2 (en) 2006-09-15 2010-01-19 Microsoft Corporation Synchronizing email recipient lists using block partition information
US7945804B2 (en) 2007-10-17 2011-05-17 International Business Machines Corporation Methods and systems for digitally controlled multi-frequency clocking of multi-core processors
US8443056B2 (en) 2010-01-22 2013-05-14 Netflix, Inc. Client-server signaling in content distribution networks
US8341650B1 (en) 2010-02-02 2012-12-25 Cellco Partnership High thread count analyzer for web application server environment
JP5730518B2 (ja) 2010-08-27 2015-06-10 株式会社日立国際電気 特定人物検知システムおよび特定人物検知方法
US8738765B2 (en) 2011-06-14 2014-05-27 Lookout, Inc. Mobile device DNS optimization
US20120324568A1 (en) 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection

Also Published As

Publication number Publication date
US20120047255A1 (en) 2012-02-23
EP1495398A4 (en) 2008-11-26
AU2003221817A8 (en) 2003-10-27
AU2003221817A1 (en) 2003-10-27
US20150149831A1 (en) 2015-05-28
US9727405B2 (en) 2017-08-08
US7383332B2 (en) 2008-06-03
US8990382B2 (en) 2015-03-24
EP1495398A2 (en) 2005-01-12
WO2003087982A3 (en) 2003-12-18
US7953848B2 (en) 2011-05-31
CN100375013C (zh) 2008-03-12
US20070294660A1 (en) 2007-12-20
CN1650263A (zh) 2005-08-03
JP4267462B2 (ja) 2009-05-27
US20080201642A1 (en) 2008-08-21
WO2003087982A2 (en) 2003-10-23
US20040054984A1 (en) 2004-03-18
US8090851B2 (en) 2012-01-03

Similar Documents

Publication Publication Date Title
JP4267462B2 (ja) 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム
US9678964B2 (en) Method, system, and computer program for monitoring performance of applications in a distributed environment
US9716624B2 (en) Centralized configuration of a distributed computing cluster
KR100763326B1 (ko) 분산 시스템에서의 근본 원인 식별 및 문제점 판정을 위한방법 및 장치
US11706084B2 (en) Self-monitoring
US11645186B2 (en) Remote deployment of monitoring agents on computing systems
Alapati et al. Analyzing Operating System Performance
Phelps et al. Monitoring and Troubleshooting
Jamen et al. Oracle Fusion Middleware Performance and Tuning Guide 11g Release 1 (11.1. 1.7. 0) E10108-13
Phelps et al. Oracle Applications DBA Field Guide
Kooijmans et al. Performance Monitoring and Best Practices for WebSphere on z/OS
Darmawan et al. IBM Tivoli Composite Application Manager for WebSphere V6. 0
Shaw et al. Linux Performance Monitoring
Davies et al. Managing WebSphere Message Broker Resources in a Production Environment

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051117

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20051117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080610

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080610

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081031

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090130

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20090130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090130

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees