(57)【要約】システムは、アプリケーションのランタイム中に発生するイベント（例えば、例外）を分類することができる。システムはイベントの徴表を受信して、分類データ構造のエレメントとの比較に基づいてイベントを分類することができる。分類データ構造はヒエラルキカルデータ構造であることができ、また、子エレメントは親エレメントから特徴を継承することができる。システムは分類に基づいて１以上のアクションを行うことができ、これらはデータ構造のエレメントによって指定されることができる。例えば、システムは、管理者及び／又はユーザに対して通知を提供したり、イベントからのリカバリを試みたり、及び／又はこれらのようなことを行い得る。各イベントは固有の識別子と関連付けられていることができ、これによってサポート要員に伝える際にユーザがより簡便にイベントの特定を行えるようにする。システムは、管理者によるイベントの追跡及びどのイベントが最たる重要性を有するかの識別を支援するための分析ツールを、含むことができる。【選択図】図１
2017538173.tif 000002
【特許請求の範囲】
【請求項１】
ランタイムイベントを分類するためのシステムであって、該システムは、
プロセッサと、
前記プロセッサと通信するメモリであって、前記メモリには命令が格納されており、該命令は前記プロセッサによって実行されると前記プロセッサに、
イベントの徴表と前記イベントの１以上の特徴とを受信するステップであって、前記イベントはアプリケーションのランタイム中に発生する、ステップと、
前記イベントの前記１以上の特徴を、以前に分類された複数のイベントの特徴と比較するステップと、
前記イベントを前記比較に基づいて分類するステップ
とを行わせる、メモリ
とを備える、システム。
【請求項２】
前記イベントは例外を含む、請求項１に記載のシステム。
【請求項３】
前記以前に分類された複数のイベントがヒエラルキーを構成し、また、前記命令は前記プロセッサに、前記１以上の特徴に従って前記ヒエラルキーを走査することによって前記イベントを分類するステップを行わせる、請求項１に記載のシステム。
【請求項４】
前記命令は前記プロセッサに、前記イベントが以前に分類されたイベントに一致しないとの決定に応答して前記ヒエラルキー内に新たなエントリを作成するステップを行わせる、請求項３に記載のシステム。
【請求項５】
前記命令は前記プロセッサに、前記イベントの種類に基づいて前記新たなエントリにどの特徴を保存すべきかを決定するステップを行わせる、請求項４に記載のシステム。
【請求項６】
前記命令は前記プロセッサに、前記イベントの分類に基づいて前記イベントに応答するアクションを行うステップを行わせる、請求項１に記載のシステム。
【請求項７】
前記命令は前記プロセッサに、類似するとして以前に分類されたイベントの件数に基づいてどのアクションを行うべきかを決定するステップを行わせる、請求項６に記載のシステム。
【請求項８】
前記命令は前記プロセッサに、固有の識別子を前記イベントに割り当てるステップと、前記固有の識別子をユーザに対して表示するステップとを行わせる、請求項１に記載のシステム。
【請求項９】
前記１以上の特徴はタイプと値とを含み、特徴を閲覧するためのユーザアクセスは前記タイプに基づいて決定される、請求項１に記載のシステム。
【請求項１０】
前記命令は前記プロセッサに、第２のイベントの徴表を受信するステップと、前記第２のイベントが意図的であると決定するステップと、前記第２のイベントを分類せずに無視するステップとを行わせる、請求項１に記載のシステム。
【請求項１１】
前記命令は前記プロセッサに、前記イベントの再分類を要請するユーザ要求を受信するステップを行わせる、請求項１に記載のシステム。
【請求項１２】
ランタイムイベントを分類する方法であって、該方法は、
イベントの徴表と前記イベントの１以上の特徴とを受信するステップであって、前記イベントはアプリケーションのランタイム中に発生する、ステップと、
前記イベントの前記１以上の特徴を、複数の分類エレメントの特徴と比較するステップと、
前記イベントを前記比較に基づいて分類するステップ
とを含む、方法。
【請求項１３】
前記以前に分類された複数のイベントがツリー構造を構成し、また、前記イベントの前記１以上の特徴を複数の分類エレメントの特徴と比較するステップは、一致する分類エレメントを求めて前記ツリー構造を検索することを含む、請求項１２に記載の方法。
【請求項１４】
前記イベントを分類するステップは、前記イベントが前記複数の分類エレメントのどれにも一致しないとの決定に応答して前記ツリー構造内に新たなエントリを作成することを含む、請求項１３に記載の方法。
【請求項１５】
前記イベントを分類するステップは、将来のイベントを分類するための前記新たなエントリにどの特徴を保存すべきかを決定することを含む、請求項１４に記載の方法。
【請求項１６】
前記イベントの分類に基づいて前記イベントに応答するアクションを行うステップをさらに含む、請求項１２に記載の方法。
【請求項１７】
前記分類エレメントに関連付けられている１以上のタグ及び／又は注釈に基づいてどのアクションを行うべきかを決定するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記イベントが完全に処理されたことをイベントコンテキストに通知するステップをさらに含む、請求項１２に記載の方法。
【請求項１９】
固有の識別子を前記イベントに割り当てるステップと、前記固有の識別子をユーザに対して表示するように前記アプリケーションに対して命令するステップとをさらに含む、請求項１２に記載の方法。
【請求項２０】
ランタイムイベントを分類する方法をプロセッサに行わせるように構成されたプログラムコードを備える非一時的コンピュータ可読記憶媒体であって、該方法は、
アプリケーションと関連付けられているイベントの徴表と前記イベントの１以上の特徴とを受信するステップと、
分類データ構造との比較に基づいて前記イベントを分類するステップと、
前記分類データ構造によって指示されたアクションを行うステップ
とを含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、アプリケーションのランタイム中に発生するイベントを格納、分類、および分析するためのシステム及び方法に関する。
【０００２】
関連出願の相互参照
本願は、２０１４年１０月３日に出願された「ランタイムイベントを分類及び分析するためのシステム及び方法」と題された米国特許出願第１４／５０６，１５９号の優先権を主張し、該出願の全体が参照によって取り込まれる。
【発明の概要】
【０００３】
コンピュータシステムは、その動作中に多数のイベントに遭遇し得る。例えば、コンピュータシステムは多数のユーザからアクセスされ得るのであり、各々のユーザはイベントに遭遇し得る複数のプログラムを実行しているかもしれない。イベントは、アプリケーションのランタイム中に発生し得る任意のイベントを含むことができる。実施形態では、イベントは、プログラムから送出される例外を含むか、プログラムから送出される例外からなることができる。コンピュータシステムの管理者は、どのイベントが重要であり、どのイベントが重複しており、どのイベントに対して既知の解決策が存在しているか等を決定したいと希望することがある。多くのイベントは既知のパターンに合致するが、既存のシステムは、管理者及びユーザがイベントを管理及び／又は緩和することを支援する態様で遭遇したイベントに対応することができない。
【０００４】
イベントを管理及び／又は緩和することを支援するために、コンピュータシステムは、イベントを分類及び／又は分析することができる。実施形態では、コンピュータシステムは、イベントの徴表（indication）とイベントの１以上の特徴（characteristic）とを受信することができる。イベントは、分類可能な特徴を有するアプリケーションのランタイム中に発生する任意のイベントであったり、例外であったり、期待されていない又は非典型的な任意のイベント等であったりすることができる。コンピュータシステムは、イベントの１以上の特徴を複数の以前のイベントの特徴と比較することによって、イベントを分類することができる。比較に基づいて、コンピュータシステムはイベントを分類することができる。
【０００５】
イベントは、分類カタログに分類されることができる。分類カタログは、ツリー構造等のヒエラルキカルデータ構造であることができる。例えば、分類ヒエラルキーは、未分類イベントのためのルートノードを含み得る。ルート以外の各ノードは、イベントに関してのあるノードとの類似性を決定するためにイベントと比較することができる特徴を、含むことができる。ルートノードより下方の各ノードは、親ノードと０個以上の子ノードにリンクされていることができる。ルートノード以外の各子ノードは、その親ノードと共通する１以上の特徴を含むことができる。ノードは、分類（classification）及び／又は分類エレメント（classification element）と称することもある。
【０００６】
新たなエレメントは、それらの特徴を、分類カタログ内の分類エレメントの特徴と比較することによって、分類することができる。あるイベントの分類エレメントとの類似性は、一致する特徴の個数として算出されることができる。特徴については、重み付けを行う又は重み付けを行わないことができる。横型及び／又は縦型検索を用いて一致する何らかの分類を探すことができる。例えば、ルートノードより下方の各分類エレメントはイベントと比較されることができ、一致する分類エレメントに接続しているリンクのみをさらに走査できる。代替的に又は追加的には、類似性は、分類エレメントの親のチェーン全体（例えば、全ての親、祖父母世代等）との類似性を再帰的に計算して、そして、計算された類似性を分類エレメント自身と合算することによって計算することができる。再帰的な計算は、既定の個数の一致しない特徴が発見された際（例えば、一致しない特徴が最初に見つかった際）に中止されることができる。
【０００７】
イベントは次のような場合に分類エレメントにマッチされることができる：分類エレメント及びその親の特徴全てがイベントの特徴と一致する場合、特徴に関して既定の個数若しくは既定のパーセンテージより多い一致がある場合、分類エレメントが最良マッチである場合及び／又はこれらに類する場合。一致が発見されなかった場合、イベントに関して新たな分類エレメントを自動的に作成することができる。例えば、新たな分類を、最も近似しているマッチとなった分類の子として、作成することができる。新たな分類エレメントに関連付けられる特徴は、親に対して新たな分類エレメントを特殊化する特徴を識別することによって、決定することができる。したがって、分類カタログは、予め検査を特別にコーディングしておくことなく、イベントに関しての詳細な情報を提供し得る。分類エレメントは、タイトル、説明、及び、深刻度に関する徴表を含むことができる。分類エレメントは、自己の特徴及び／又はその親から継承された特徴を含むことができる。実施形態では、１以上のタグ及び／又は注釈を分類エレメントに追加することができる。注釈には次の事項が含まれることができる：調査関連の詳細事項／備考、関連事象の徴表、バグ追跡システムへのリンク、サポート要員がイベントに直面しているユーザに提供すべきメッセージ、ユーザに対して即時に表示されるべきメッセージ、通知を送信すべき連絡先アドレス（例えば、電子メールアドレス）、及び／又はこれらに類する事項。
【０００８】
各特徴は、タイプ及び／又は値を含むことができる。新たなイベントを分類する際に、値を、新たなイベントと比較することができる。タイプは、例えば特徴に関しての閲覧可能主体（例えば、特徴を閲覧するために必要とされるアクセスレベル）を決定するため等に使用することができる。例えば、一部の特徴はユーザによって閲覧されることができるが、他の特徴は管理者のみから閲覧できるようにし得る。代替的又は追加的には、タイプが、特徴に関して表示される情報量を決定することができる（例えば、要約型、テクニカル型、包括型、等）。タイプは、ユーザログイン名、セッション識別子、アプリケーションバージョン、及び／又はこれらに類する事項を含み得る。
【０００９】
イベントが発生した後は、ユーザに提供することができる固有の識別子をイベントに割り当てることができる。固有の識別子によって、問題を説明できる程にユーザが技術的に習熟していることを要求せずに、発生した事象についての詳細なドキュメンテーションを管理者が受け取ることができるようにし得る。ユーザは、固有の識別子のみを提供するだけで良いとすることができる。固有の識別子は、イベントが分類される前及び／又は分類された後に割り当てられることができる。一致が発見された後及び／又は新たな分類エレメントが作成された後は、分類エレメントのタグ、注釈、深刻度等、及び／又は発生件数に基づいて、イベントを保持（persist）することができる。システムは、アクションを行うことによっても、イベントに応答することができる。例えば、１以上の分類エレメントが、イベントが該分類エレメントに一致すると決定された場合に行われるべきアクションを指定することができる。アクションは、分類エレメントに追加されたタグ及び／又は注釈によって指定されることができる。実施形態では、アクションは次の行為を含むことができる：１以上の人物に電子メールを発してイベントの発生を彼等に警告すること、追加の情報を収集すること（例えば、フルスレッドダンプを記録すること）、即時にメッセージをユーザに示すこと（例えば、既知の解決策又は回避策をユーザに告知すること）、フェールセーフ保護機構を発動すること、バックアップサービスに切り替えること、及び／又はこれらに類する行為。システムは軽微なイベントに関してはアクションを行わないことができ、及び／又は、タグはイベントが意図的であるか陳腐化している故に無視されるべきと指示することができる。
【００１０】
分類エレメントに関連付けられているタグに基づいて、システムは、どのアクションをとるべきかを決定することができる。タグは、既定のものとされるか及び／又は管理ユーザによって定義されることができる。タグは次の事項を含むことができる：汎用的、意図的、セッションにとって致命的、電子メール通知、スレッドダンプ、ユーザエラー、バックアップサービスに切り替え等。意図的であるとタグ付けされた分類エレメントに関しては、システムは、一致するイベントからのデータを持続性記憶域に保存しないことができる。自動化検査ツール、セキュリティペネトレーションツール及び／又はこれらに類するものによって生起されたイベントに関連付けられる分類エレメントは、意図的であるとタグ付けされ得る。これらのツールは、システムの正常動作性の有無に関する兆候をもたらさない多数のイベントを作成することがある。タグを注釈と共に組み合わせて用いることにより、システムによって行われたアクションを決定することができる。例えば、タグが電子メールを送信すべきであると指示し、また、注釈が電子メールの送信されるべきアドレスを指示することができる。
【００１１】
イベントの発生件数等のシステム状態に応じて、システムは、異なるアクションを行ったり、及び／又は異なるデータを保持したりすることができる。例えば、イベントが発生した初回においては、イベントの特徴及び／又は利用可能データの全てを持続性記憶域に保存することができるが、イベントが既定回数発生した後は、統計的情報（例えば、イベントが発生した回数）に関してのロギング又は記録のみを行うことができる。同様に、イベントが頻繁に発生する場合、送信する電子メールの件数を制限したり、及び／又は、統計的な要約を電子メールで送信したりすることができる。発生件数は、発絶対的な生回数として、既定の期間内の発生回数として、及び／又はこれらに類するものとして決定されることができる。
【００１２】
イベントに関するコンテキスト（例えば、例外コンテキスト）は、分類カタログと協調してイベントを分類することができ及びイベントに応答することができる。例えば、イベントコンテキストは、イベントの種類、利用可能な／関連性のある情報、及び／又はこれらに類する事項に基づいて記録することのできる特徴を識別することができる。例えば、ウェブサーバに対してのユーザ要求に関するイベントコンテキストは、ユーザ、セッション、ウェブブラウザ等に関する情報を記録せよと分類カタログに命じることができ、また、ファイル処理ジョブに関するイベントコンテキストは、ファイルパス、ファイルタイプ及びジョブ識別子を記録せよと分類カタログに命じることができる。
【００１３】
イベントが完全に処理された際には、分類カタログがイベントコンテキストに通知することができる（例えば、イベントが分類され及び任意の応答的アクションが履行された場合）。このコールバックは、特定のジョブ、アプリケーション、ユーザ、及び／又はこれらに類する事項に関しての最近のイベントの履歴を追跡するために用いることができる。履歴を将来のイベントと共に記録して、同一のユーザやプロセス等に関連付けられた以前のイベントの影響をあるイベントがいつ受けたか又は同一のユーザやプロセス等に関連付けられた以前のイベントによってあるイベントがいつ生起されたかを、識別することを支援することができる。イベントコンテキスト及び分類カタログは通知及びコールバックの存在を認知しているため、システムは、自動化されたリカバリ、監視、又は、通知アクションを実装することができる。そのようなアクションを行うに際して、システムは、イベントの履歴及びタグ及び注釈を考慮することができる。
【００１４】
例えば、システムは、バックアップシステムへのフェールオーバをトリガするものとしてタグ付けされた分類エレメントに関して監視することができる。システムは、追加的な既定の条件に基づいて、バックアップシステムにフェールオーバせよとイベントコンテキストに対して命じるべきか否かを決定することができる。例えば、システムは、既定の期間内のイベントの発生件数が既定の閾値を超過したか否かを決定することができる。したがって、システムは、具体的なイベント及びイベントの履歴によって指示される現在システム状態に基づいて、イベントに対しての微調整された応答を提供することができる。さらに、先進的なエラーリカバリシステムを起動したり又はブラウザクッキーを設定したりする等のプロプライエタリな又はコンテキスト特有なフィーチャは、汎用分類システムにおいてのイベント応答として実装されることができ、多数の異なるシステムにて再利用され得る。
【００１５】
実施形態では、イベントを格納済みイベントコンテキスト内にラップ（wrap）することができ、これによって複数のイベントコンテキストを一緒に協調させて多数のイベントを生起させる複雑なプロセスの特徴を記録することができる。イベントの件数が増加するに従って、利用可能であれば追加のイベントコンテキストを追加することができる。イベントは、イベントの関係及び／又は時系列を維持する態様で記録することができる。そして、イベントは、イベントの原因の診断を試みる際に、容易く一緒に分析することができる。
【００１６】
システムは、システム状態を監視するための及び／又はイベントを分析するための様々な分析ツールを含むことができる。例えば、各分類エレメントは、重大な事象と軽微な事象とを判別するために用いることのできる深刻度の値と関連付けられることができる。深刻度（severity）は、経時的に監視されることができる。実施形態では、期間内のイベントの重要性（importance）は、発生の頻度を、割り当てられた深刻度で乗算したものとして算出されることができる。重要性は１以上の期間にわたって監視されることができ、また、統計及び／又はアラートを管理者に提供することができる。重要性は、新たな事象、流行っている事象、及び／又は修復された事象を示すために用いることができる。全体論的な結果はより長い期間を監視することによって検出することができ、また、新たな重要な事象はより短い期間を監視することによって即時的に検出することができる。イベントは、分類、ユーザ、アプリケーション等によってグループ化することができ、及び／又は、イベントは重要性に従ってランク付けすることができ、これによって各グループ及び／又は分類がシステムに与えている影響を示すことができる。さらには或いは代替的には、イベントはユーザ役割、会社等によってグループ化することができ、これによってどのグループがイベントからの影響を最も受けているかを示すことができる。
【００１７】
システムは、イベントの特徴に関して取得され得る追加的詳細事項に関して自動的に検索することができる。イベント記録が閲覧されると、システムは、追加的なデータを取得できるか否かを決定する。例えば、システムは次の事柄に関して決定することができる：持続性記憶装置からユーザデータを読み込めるか否か、外部システム（例えば、セッション監視ツール）からのデータが利用可能であるか否か、及び／又は、これらに類する事柄。データが利用可能である場合、システムは、追加のデータを閲覧する選択肢を管理者に対して提供することができる。また、システムは、管理者が最近のイベントに関して再分類を行うことを許容することができ、これによって新たな又は変更された分類エレメントがより良好な一致であるか否かを決定することもできる。システムは、再分類を実行するに際しては、次の事項を考慮することができる：自動的に変更又は追加された分類エレメント、手動で変更又は追加された分類エレメント、及び／又は、これらに類する事項。代替的又は追加的には、システムは、分類カタログがアドホック構築時に決定された時の編成よりもより効率的な分類カタログの編成を決定することができる。
【００１８】
実施形態は種々のステップを含むことができ、これらのステップは、コンピュータシステムによって実行される機械実行可能な命令の形で具体化することができる。コンピュータシステムは、１以上の汎用又は専用コンピュータ（或いは、他の電子装置）を含む。コンピュータシステムは、これらのステップを実行するための特定の論理回路を含むハードウェア構成要素を含むことができ、或いは、ハードウェア、ソフトウェア、及び／又はファームウェアの組合せを含むことができる。
【００１９】
本願にて説明する処理を実行するようにコンピュータシステム又は他の電子装置をプログラムすることができる命令を格納しているコンピュータ可読媒体を含むコンピュータプログラム製品として実施形態を提供することもできる。コンピュータ可読媒体は、ハードドライブ、フロッピー（登録商標）ディスケット、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光学カード、ソリッドステートメモリ装置、又は電子的命令を格納するのに適している他のタイプの媒体／コンピュータ可読媒体等を含むことができるがこれらには限定されない。
【００２０】
コンピュータシステム、及びコンピュータシステム内のコンピュータ同士は、ネットワークを介して接続することができる。本願明細書で説明する構成及び／又は使用法に適したネットワークは、１以上のローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、及び／又は、ワールドワイドウェブ、プライベート（私設）インターネット、セキュアインターネット、付加価値通信網、仮想プライベートネットワーク、エクストラネット、イントラネットのような「インターネット」又はＩＰネットワーク、さらには、媒体の物理的な搬送によって他のマシンと通信するスタンドアロンマシン（所謂、「スニーカーネット」）を含む。特に、適切なネットワークは、異種のハードウェア及びネットワーク通信技術を用いるネットワークを含めた２つ以上の他のネットワークの部分又は全体で形成することができる。
【００２１】
ある適切なネットワークは、サーバ及び複数のクライアントを含み；他の適切なネットワークは、サーバ、クライアント、及び／又はピアツーピアノードの他の組合せを含むことができ、所定のコンピュータシステムは、クライアント及びサーバの両方として機能することができる。各ネットワークは、サーバ及び／又はクライアントのような少なくとも２つのコンピュータ又はコンピュータシステムを含む。コンピュータシステムは、ワークステーション、ラップトップコンピュータ、着脱可能なモバイル（携帯）コンピュータ、サーバ、メインフレーム、クラスタ、いわゆる「ネットワークコンピュータ」又は「シンクライアント」、タブレット、スマートホン、パーソナルデジタルアシスタント（個人用携帯情報端末）又は他のハンドヘルド（手持ち型）コンピュータ装置、「スマート」な民生用電子装置又は電化製品、医療機器、或いはそれらの組合せを含むことができる。
【００２２】
ネットワークは、Novell（登録商標）社、Microsoft（登録商標）社、Artisoft社、及び他のベンダーから入手可能なソフトウェアのような通信又はネットワークソフトウェアを含むことができ、そして、ＴＣＰ／ＩＰ、ＳＰＸ、ＩＰＸ、及び他のプロトコルを用いて、ツイストペア、同軸、又は光ファイバケーブル、電話回線、電波、衛星中継、マイクロ波中継、変調ＡＣ電力線、物理的な媒体搬送、及び／又は当業者に既知の他のデータ伝送「線」上で又は無線プロトコル上で動作することができる。ネットワークは、より小規模なネットワークを包含することができ、及び／又は、ゲートウェイ又は同様のメカニズムを通して他のネットワークと接続可能である。
【００２３】
各コンピュータシステムは、少なくとも１つのプロセッサ及びメモリを含み；コンピュータシステムは、種々の入力装置及び／又は出力装置を含むこともできる。プロセッサは、インテル（登録商標）、ＡＭＤ（登録商標）、又は他の「オフザシェルフ」（既製の）マイクロプロセッサ等の汎用装置を含むことができる。プロセッサは、ＡＳＩＣ、ＳｏＣ、ＳｉＰ、ＦＰＧＡ、ＰＡＬ、ＰＬＡ、ＦＰＬＡ、ＰＬＤのような専用処理装置、或いは他のカスタマイズされたデバイス又はプログラム可能なデバイスを含むことができる。メモリは、スタティックＲＡＭ、ダイナミックＲＡＭ、フラッシュメモリ、１以上のフリップフロップ、ＲＯＭ、ＣＤ−ＲＯＭ、ディスク、テープ、磁気記憶媒体、光記憶媒体、又は他のコンピュータ記憶媒体を含むことができる。入力装置は、キーボード、マウス、タッチスクリーン、ライトペン、タブレット、マイクロホン、センサ、或いはファームウェア及び／又はソフトウェアを伴う他のハードウェアを含むことができる。出力装置は、モニタ又は他のディスプレイ、プリンタ、音声又は文字合成器、スイッチ、信号線、或いはファームウェア及び／又はソフトウェアを伴う他のハードウェアを含むことができる。
【００２４】
コンピュータシステムは、フロッピードライブ、テープドライブ、光学ドライブ、光磁気ドライブ、又は、記憶媒体を読み込むための他の手段を用いることができるように構成されることができる。適切な記憶媒体には、磁気的な装置や光学的な装置、又は特定の物理的構成を有している他のコンピュータ可読記憶装置が含まれる。適切な記憶装置には、フロッピーディスク、ハードディスク、テープ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ、ＰＲＯＭ、ランダムアクセスメモリ、フラッシュメモリ、及び他のコンピュータシステム用記憶装置が含まれる。物理的構成はデータ及び命令を表し、それらがコンピュータシステムの動作に作用するのであり、本願明細書にて説明した態様での具体的かつ定義済みの動作を行わせる。
【００２５】
本発明の実装を支援するための適切なソフトウェアは、本願の教示事項並びにJava、Pascal、C++ データベース言語、ＡＰＩ、ＳＤＫ、アセンブリ語、ファームウェア、マイクロコード及び／又は他の言語やツール等のプログラミング言語やツールを、当業者が使用することによって十分に提供することができる。適切な信号フォーマットは、アナログ又はデジタル形式で、誤り検出及び／又は訂正ビット、パケットヘッダー、特定フォーマットのネットワークアドレス、及び／又は、当業者が容易に用意することのできる他の支援データ付きで、或いはこうした支援データなしで具体化することができる。
【００２６】
説明する実施形態の幾つかの態様は、ソフトウェアモジュール又はソフトウェアコンポーネントとして例示することができる。本願明細書で用いるソフトウェアモジュール又はソフトウェアコンポーネントは、メモリ装置内に配置された任意の種類のコンピュータ命令又はコンピュータ実行可能コードを含むことができる。ソフトウェアモジュールは、例えば、コンピュータ命令の１以上の物理ブロック又は論理ブロックを具えることができ、これらのコンピュータ命令は、１以上のタスクを実行するか特定の抽象的データタイプを実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等として編成することができる。
【００２７】
特定実施形態では、特定のソフトウェアモジュールが、メモリ装置の異なる場所、異なるメモリ装置、又は異なるコンピュータに記憶された異種の命令を含むことができ、これらの命令がまとまって、説明するモジュールの機能を実現する。実際に、モジュールは、単一の命令又は多数の命令を含むことができ、そして、異なるコードセグメントにわたって、異なるプログラム間に、及び幾つかのメモリ装置にわたって分散することができる。一部の実施形態は、分散型コンピュータ環境内で実施することができ、こうした環境では、通信ネットワークを通してリンクされたリモート処理装置によってタスクが実行される。分散型コンピュータ環境では、ソフトウェアモジュールを、ローカル及び／又はリモートメモリ記憶装置に配置することができる。これに加えて、データベースレコード内で結合されるか一緒にされたデータを、同じメモリ装置内に、又は幾つかのメモリ装置にわたって常駐させることができ、そして、ネットワーク越しにまとめてリンクして、データベース内のレコードのフィールドの形にすることができる。
【００２８】
本発明に従って使用されることができるインフラストラクチャの多くは既に利用可能であり、これらには、汎用コンピュータ、コンピュータプログラミングツール及び手法、コンピュータネットワーク及びネットワーキング技術、デジタル記憶媒体、並びに、公開鍵、暗号化、ファイアウォール及び／又は他の手段によって提供される認証やアクセス制御や他の種類のセキュリティ用のツール及び手法等が含まれる。
【図面の簡単な説明】
【００２９】
【図１】実施形態による、コンピュータシステムについての概略図である。
【図２】例外の特徴を格納するように構成されたプログラムの例示的な画面表示を示す図である。
【図３】例外に関する詳細事項を表示している際の、プログラムの例示的な画面表示を示す図である。
【図４】例外に関する追加的な詳細事項を表示している際の、プログラムの例示的な画面表示を示す図である。
【図５】例外を分類するために使用される分類カタログの例示的な画面表示を示す図である。
【図６】分類エレメントを編集するためのインタフェースの例示的な画面表示を示す図である。
【図７】様々な例外の重要性を示すテーブルの例示的な画面表示を示す図である。
【図８】様々な例外の重要性に関しての最近の変化を示すテーブルの例示的な画面表示を示す図である。
【図９】様々な期間に関してのシステムハピネススコアを示すテーブルの例示的な画面表示を示す図である。
【図１０】様々なエンティティが遭遇した例外の重要性を示すテーブルの例示的な画面表示を示す図である。
【図１１】例外を分類する方法に関してのフローチャートである。
【発明を実施するための形態】
【００３０】
図１は、実施形態による、コンピュータシステム１００についての概略図である。様々なプログラムがコンピュータシステム１００上で動作していることができる。例えば、コンピュータシステム１００は、オペレーティングシステム１５０、ウェブアプリケーション１４１及びファイル処理アプリケーション１４２を実行していることができる。アプリケーション１４１，１４２は、エラー又は予期していないイベントが発生した場合に例外を送出（throw）することができる。コンピュータシステム１００は、アプリケーション１４１，１４２によって送出された例外を分類し及び該例外に対処するように構成されていることができる。
【００３１】
コンピュータシステム１００は、例外ヒエラルキー１１０を含むことができる。例外ヒエラルキー１１０は、例外を分類するように構成されたデータ構造であることができる。例外ヒエラルキー１１０は、分類エレメントを含むツリーであることができる。各分類エレメントは、例外と比較することによって例外を分類するために用いることのできる１以上の特徴を含むことができる。コンピュータシステム１００は、分類モジュール１２０を含むことができる。分類モジュール１２０は、アプリケーション１４１，１４２から例外を受信し、例外を例外ヒエラルキー１１０と比較し、及び、比較の結果に基づいて例外を分類するように構成されていることができる。分類モジュール１２０は、例外ヒエラルキーを走査してどれかの分類エレメントが例外に一致するかを決定することができる。分類モジュール１２０は、次のことを行うように構成されていることができる：最良の一致を発見すること、既定の閾値より高い類似性を有する一致対象を発見すること、全ての特徴が一致する分類エレメントを発見すること（例えば、分類エレメントの特徴全てが例外と一致するが、分類エレメントには含まれていない追加的な特徴を例外は有することができる場合）、及び／又はこれらに類すること。例外が分類エレメントのどれにも一致しない場合、分類モジュール１２０は、例外ヒエラルキー１１０内に新たな分類エレメントを作成することができる。分類モジュール１２０は、例外からのデータ及び／又は例外に関する統計的情報を、例えば例外ヒエラルキー１１０に保持することができる。データ及び／又は統計的情報は、管理者特権を有しているユーザに対してアクセス可能とすることができ、コンピュータシステム１００の状態を追跡させたり及び／又は特定の例外を検討させたりすることができる。
【００３２】
コンピュータシステム１００は、応答モジュール１３０を含むことができる。応答モジュール１３０は、アプリケーション１４１，１４２によって送出される例外に応答するように構成されていることができる。分類モジュール１２０は、例外について決定された分類を応答モジュール１３０に示すことができる。応答モジュール１３０は、１以上のアクションを行うべきか否かを例外の分類に基づいて決定することができる。例えば、例外ヒエラルキー１１０内の分類エレメントはタグ及び／又は注釈を含むことができ、また、応答モジュール１３０は、１以上のアクションが行われるべきかをタグ及び／又は注釈に基づいて決定することができる。代替的又は追加的には、例外の発生件数を例外ヒエラルキー１１０内にて追跡することができ、また、応答モジュール１３０は、１以上のアクションが行われるべきかを発生件数に基づいて決定することができる。応答モジュール１３０は、行われるべきアクションをアプリケーション１４１，１４２及び／若しくはオペレーティングシステム１５０に通知することができ、並びに／又は、自身でアクションを行うことができる。実施形態では、応答モジュール１３０は、必要なアクションに関してのアプリケーション１４１，１４２への通知を、コールバックを介して行うことができ、アプリケーション１４１，１４２はアクションを行うことができる。
【００３３】
図２は、例外の特徴を格納するように構成されたプログラムの例示的な画面表示２００を示す図である。管理者は、検索インタフェース２６０を使用して特定の条件に一致する例外に関しての詳細事項を要求することができる。検索インタフェース２６０は、特定された条件を保持されている例外と比較して一致する結果を発見することができる。検索結果は管理者に対して表示することができる。検索結果は、発生した例外に関する基礎的情報を含むことができる。例えば、基礎的情報は次の事項を含むことができる：例外が発生した時刻２１０、例外に関しての固有の追跡識別子として使用され得るキー２２０、例外を送出する原因となったアクションを行ったユーザ２３０、例外に関しての短い説明２４０。管理者は、詳細ボタン２５０を選択することもでき、これによって特定の例外に関する追加的な詳細を要求することができる。
【００３４】
図３は、例外に関する詳細事項を表示している際の、プログラムの例示的な画面表示３００を示す図である。詳細インタフェース３２０は例外に関する詳細事項を表示することができ、また、検索インタフェース３１０の隣に表示されることができる。図示の実施形態では、検索インタフェース３１０によって発見された例外記録３１２についての追加的な情報を、管理者が要求している場合がある。追加的な情報は次の事項を含むことができる：ユーザの識別に関するさらなる情報、運用されているアプリケーションに関しての情報、ユーザが提携しているエンティティに関する情報、及び／又はこれらに類する事項。追加的な詳細事項は、関連する事象及び／又は例外の以前の発生事案に関連する他の記録３２５を、含むことができる。
【００３５】
詳細インタフェース３２０は、管理者が例外記録３１２に詳細をさらに追加できるようにするための詳細を追加するボタン３２１を含むことができる。詳細インタフェース３２０は、管理者に例外記録３１２に関しての追加的な情報をみせるための詳細をさらに表示するボタン３２２と全ての詳細を表示するボタン３２３を含むこともできる。管理者は、詳細をエクスポートするボタン３２４を用いることによって、詳細をバグ追跡プログラムへとエクスポートすることができる。一部の実施形態では、ボタン３２１〜３２４の代わりに他のインタフェースを用いて関連付けられたアクションの履行を要求できる。
【００３６】
図４は、例外に関する追加的な詳細事項を表示している際の、プログラムの例示的な画面表示４００を示す図である。例えば、画面表示４００は、例外記録の詳細全てを閲覧する要求に応答して生成されることができる。画面表示４００は、持続性記憶域に記録されておりかつ例外に関連付けられている情報全てを示すことができる。画面表示４００は、レコードの各エレメントについてのタイプ４１０と、レコードの各エレメントについての値４２０とを含むことができる。管理者は、例外記録の詳細を再検討して解決策や回避策を決定することができる。
【００３７】
図５は、例外を分類するために使用される分類カタログの例示的な画面表示５００を示す図である。分類カタログは、分類エレメントのヒエラルキーを含むことができる。図示の実施形態では、ヒエラルキーは、各分類エレメントのタイトル５１０のインデント量で示されている。他の手段によって分類できない例外のための分類エレメントとしては、ルートノードがある。他の分類エレメントは、例外のカテゴリ及び／又は具体的な例外に対応することができる。各分類エレメントは、深刻度５２０と関連付けられていることができる。深刻度は、例外が重大な事柄であるか否かを示すことができる。例えば、未分類の例外はより深刻なものとみなされることができる。なぜならば、そのような例外には以前遭遇していないからである。これに対して、反復される警告は、深刻度がより少ないものとみなされることができる。
【００３８】
１以上の分類エレメントは、タグ５３０を含むことができる。例えば、複数の例外に汎用的に適用され得る分類エレメントについては、汎用タグを用いることができる。タグ５３０は、分類エレメントに一致する例外に応答してどのようなアクションをとるべきかを指示することができる。分類エレメントは、説明５４０と関連付けられていることができる。説明５４０は、発生した例外についての理解可能な徴表を管理者に提供することができる。
【００３９】
例示的な画面表示５００は、ルートエレメント以外の分類エレメントの各々について編集ボタン５５０を含むことができる。編集ボタン５５０によって、管理者は、分類エレメントを編集したり、並びに／又は分類エレメントにタグ及び／若しくは注釈を追加したりすることができる。例示的な画面表示５００は、各分類エレメントについて例外閲覧ボタン５６０を含むことができる。例外閲覧ボタン５６０によって、管理者は、分類エレメントに一致すると決定された全ての例外を閲覧することができる。例えば、画面表示２００に似たリスティングを、例外閲覧ボタン５６０の押下に合わせて表示することができる。
【００４０】
図６は、分類エレメントを編集するためのインタフェースの例示的な画面表示６００を示す図である。画面表示６００は、分類エレメントを編集するための管理者からの要求に応答して生成されることができる。インタフェースは、分類エレメントに関する編集可能識別情報６１０を含むことができるのであって、例えば、タイトル、親の徴表、説明、及び／又はこれらに類する事項が含まれることができる。インタフェースは、管理者が、分類エレメントの深刻度６２０を編集することをも可能とする。インタフェースは、分類エレメントに割り当てるべき適切な深刻度を決定するに際して管理者を支援するための深刻度推奨ガイドラインを含むこともできる。
【００４１】
インタフェースは、分類エレメントの特徴６３１，６３２を表示することができる。例えば、インタフェースは、１以上の親分類エレメントから継承された特徴６３１を表示することができる。インタフェースは、分類エレメントに属する特徴６３２をも表示することができる。分類エレメントに属する特徴６３２は編集可能であり得るが、１以上の親分類エレメントから継承された特徴６３１は、親を直接に編集しないと編集可能とはならないものとし得る。特徴に関する指定値との関係で特徴６３２がどの程度近接したマッチをもたらすべきかを、管理者は指定することができる。
【００４２】
分類エレメントは、インタフェースを通じて追加、編集、及び／又は削除され得るタグ及び／又は注釈６４０を含むことができる。例えば、タグは、例外に関して電子メール通知を提供すべきであることを指示し得る。関連付けられた注釈は、電子メール通知を送るべきユーザを指示することができる。追加的な注釈は、ユーザが例外に関して問い合わせした場合に担当員が述べるべき事柄に関する指令を含むことができる。図示された分類エレメントは、特定の例外がセッションを無効化することを指示するタグを、含むこともできる。タグによって、管理者は、迅速に例外の挙動を決定することができるようになり得る。インタフェースは、１以上のボタン６５０を含むことができ、これによって管理者が次の行為を行えるようになる：変更を保存及び／若しくは破棄すること、分類エレメントに一致する例外を閲覧すること、手動で子分類エレメントを作成すること、並びに／又は、これらに類する行為。
【００４３】
図７は、様々な例外の重要性を示すテーブルの例示的な画面表示７００を示す図である。テーブルは、重要性が最高の分類エレメントを示すことができる。重要性は、分類エレメントに割り当てられた深刻度を、分類エレメントに一致するとして分類された例外の件数で乗算したものとして、算出されることができる。したがって、より深刻な例外及び／又は頻繁に発生する例外が、より高い重要性を有し得る。テーブルは、タイトル７１０及び／又は重要な分類エレメントの説明を含むことができる。テーブルは、１以上の期間に関する列挙された分類エレメントの各々についての重要性７２０を含むこともできる。複数の期間を含めることによって、管理者は傾向を見定めることできるのであり、例えば、新たな例外及び／又は解決された例外を検出すること等ができる。テーブルは、詳細ボタン７３０も含むことができ、これによって、管理者は、テーブル内に列挙された分類エレメント及び対応する例外に関する追加的な情報を閲覧することができる。
【００４４】
図８は、様々な例外の重要性に関しての最近の変化を示すテーブルの例示的な画面表示８００を示す図である。重要性についての最近の変化によって、傾向に関しての追加的な情報が提供され得る。テーブルは、タイトル８１０及び／又は重要な分類エレメントの説明を含むことができる。テーブルは、分類エレメントの重要性８２０も含むことができ、これは絶対的な重要性及び／又は重要性の変化分として表現することができる。重要性の変化は、異なる期間の間での重要性を比較することによって計算することができる（例えば、本日における重要性との比較での過去１週間又は４週間における重要性）。ここでも、テーブルは詳細ボタン８３０を含むことができ、これによって、管理者は、テーブル内に列挙された分類エレメント及び対応する例外に関する追加的な情報を閲覧することができる。
【００４５】
図９は、様々な期間９１０に関してのシステムハピネススコア９２０を示すテーブルの例示的な画面表示９００を示す図である。システムハピネススコア９２０は、例外の合計した重要性９４１とユーザから受信した合計要求件数９４２との比較とすることができる。例えば、実施形態において例示されているように、スコアは、１００に合計要求件数９４２を乗算して、これを例外の合計した重要性９４１で除算したものとして算出することができる。テーブルは、最近の期間９１０を列挙することができ、また、システムハピネススコアに関しての数値的な９２０及びグラフィカルな９３０表現を含むことができる。テーブルは各期間に関しての様々な統計を含むことができ、例えば、合計した重要性９４１、合計要求件数９４２、平均深刻度９４３、例外に遭遇したユニークユーザ数９４４、例外の合計発生件数９４５等が含まれ得る。テーブルは、管理者に対して、様々な期間９１０に関してのシステム健全性に関する簡便な指標をもたらし得る。
【００４６】
図１０は、様々なエンティティが遭遇した例外の重要性を示すテーブルの例示的な画面表示１０００を示す図である。システムは、様々なカテゴリにわたって遭遇された例外を分析することができる。例えば、システムは、最高の重要性を有する例外に遭遇しているユーザがどのエンティティに属しているかを決定することができる。テーブルは、高い重要性を有する例外に遭遇しているエンティティ１０１０の各々の名称を列挙することができる。テーブルは、経験されている例外の重要性１０２０を示すこともできる。テーブルは、詳細ボタン１０３０も含むことができ、これによって、管理者は、対応するエンティティによって体験されている例外に関する追加的な情報を閲覧することができる。テーブルによって管理者はどの顧客が最多の問題に遭遇しているかを決定することができるのであり、これによって管理者は、それらの顧客の問題の解決に向けて資源を投下できるようになり、顧客の幸福度は維持され得る。
【００４７】
図１１は、例外を分類する方法１１００に関してのフローチャートである。方法１１００は、アプリケーションから例外の徴表が受信されることによって開始することができる（１１０２）。例外の徴表は、例外の特徴、ユーザ、アプリケーション、及び／又はこれらに類する事項を含むことができる。固有の識別子を例外に割り当てることができる（１１０４）。固有の識別子は、ユーザに提供するか、及び／又はアプリケーションに送ってそれからユーザに提供できるようにすることができる。固有の識別子は、例外の具体的発生事案特有のものであることができ、僅かでも遅く発生した新たな事案には異なる固有の識別子を割り当て得る。
【００４８】
例外を分類エレメントのヒエラルキーと比較することができる（１１０６）。比較行為は、例外の特徴を、各分類エレメント及びその親の特徴と比較して類似しているかを判断することを含むことができる。分類エレメント内の各特徴が例外の対応する特徴と類似している場合、一致の成立を宣言することができる。代替的に又は追加的には、既定の個数若しくは既定のパーセンテージより多い一致がある場合、及び／又は、最大数の類似的特徴を有する分類エレメントに関して一致を宣言できる場合に、一致を見出すことができる。分類エレメントは例外よりも少数の特徴を含むことができるため、一致があるか否かについて決定する場合には、対応するカウンターパートを有する特徴のみを考慮することができる。
【００４９】
一致が発見された場合、比較に基づいて例外を分類することができる（１１０８）。分類エレメントに基づいて、例外の特徴を記憶装置に保持することができる。一致が発見されなかった場合、ヒエラルキー内に新たなエントリを作成することができる（１１１０）。既存の分類エレメントに対して例外を特殊化する特徴を決定することができ（１１１２）、これらの特徴を内包する新たな分類エレメントを自動的にヒエラルキーに追加することができる。例外の特徴は、記憶装置に保持することができる。
【００５０】
アクションを行って例外に対処することができる（１１１４）。例えば、例外に関して１以上の人物に通知を発すること、自動化されたリカバリを行うこと、バックアップシステムへのフェールオーバを行うこと、及び／又はこれに類する行為を行うことができる。アクションは、分類エレメントに関連付けられているタグ及び／又は注釈によって指示されていることができる。代替的に又は追加的には、タグ及び／又は注釈が、特定の例外に関しては応答的なアクションを行うべきでないと指示することができる。アクションを行うこと（１１１４）は、例外を送出しているアプリケーションに対して、特定のアクションをとるべきであると指示することを含むことができる。
【００５１】
一部の実施形態では、例外を再分類せよとの要求を受信することができる（１１１６）。例えば、管理者が１以上の分類エレメントを変更しているか、及び／又は１以上の分類エレメントが新規に追加されているかもしれない。したがって、再分類行為（１１１６）は、例外に関して、これまでに存在していなかったかもしれないより良い一致を決定しようとすることを、含むことができる。再分類に基づいて、追加的な応答的行為を行うか、及び／又は例外の特徴を記憶装置の異なる論理的位置又は物理的位置へと記憶することができる。
【００５２】
本願明細書にて様々な側面及び実施形態を開示したが、当業者であれば他の側面及び実施形態をも見出すことができるであろう。本願明細書にて開示した様々な側面及び実施形態は、例示のみを目的としており、限定を意図してはおらず、その真の範囲及びその精神は添付の特許請求の範囲によって指定される。
【図１】
2017538173.tif 000003
【図２】
2017538173.tif 000004
【図３】
2017538173.tif 000005
【図４】
2017538173.tif 000006
【図５】
2017538173.tif 000007
【図６】
2017538173.tif 000008
【図７】
2017538173.tif 000009
【図８】
2017538173.tif 000010
【図９】
2017538173.tif 000011
【図１０】
2017538173.tif 000012
【図１１】
2017538173.tif 000013
【国際調査報告】
2017538173.tif 000014
2017538173.tif 000015