(57)【特許請求の範囲】
【請求項１】
１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コール（ＲＰＣ）から前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する装置であって、
（Ａ）前記１つ以上のＲＰＣを得る手段と、
（Ｂ）前記１つ以上のＲＰＣに関連した１つ以上のエンドユーザ・トランザクションを認識する手段と、
（Ｃ）前記エンドユーザ・トランザクションの認識の結果を格納する記憶手段を有し、
前記エンドユーザ・トランザクションを認識する手段（Ｂ）が、
（Ｂ１）前記ＲＰＣのＲＰＣストリームを複数のエンドユーザ・トランザクション・セグメントにセグメント化する手段と、
（Ｂ２）各セグメントに対するエンドユーザ・トランザクション機能を抽出する手段と、
（Ｂ３）トレーニング・データから生成したモデルを用いて各セグメントに対するエンドユーザ・トランザクション機能から前記１つ以上のエンドユーザ・トランザクションを計算する手段と
を有するエンドユーザ・トランザクション認識装置。
【請求項２】
前記モデルがベイズ・ネット・モデルである請求項１記載の装置。
【請求項３】
前記計算する手段（Ｂ３）が、
対応する抽出された機能に対して、ベイズ・ネット・モデルに関連している機能値を割り当てる手段と、
各機能値に対して後の確率分布を見出す手段と、
前記後の確率分布に基づいて１つ以上のエンドユーザ・トランザクションを表す機能値を選択する手段と
をさらに有する、請求項２記載の装置。
【請求項４】
前記機能値を選択する手段が、１つ以上のエンドユーザ・トランザクションを表すために所定の抽出された機能に対する最も可能性のある機能値を選択する手段である、請求項３記載の装置。
【請求項５】
前記選択された機能値をエンドユーザ・トランザクションのクラス・ラベルとして出力する請求項３記載の装置。
【請求項６】
前記結果が十分な品質のものであるかどうかを判断するために前記結果の少なくとも一部を品質メトリックと比較する手段を有する請求項１記載の装置。
【請求項７】
１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のＲＰＣから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用されるモデルを構築するために使用されるトレーニング・データを生成する装置であって、
（Ａ）エンドユーザ・トランザクションをマーキングするためにマーキング・エージェントを前記サーバから前記クライアント・ワークステーションへダウンロードする手段と、
（Ｂ）前記マーキング・エージェントが１つ以上のエンドユーザ・トランザクションの開始及び終了を示すマークを生成する手段と、
（Ｃ）エンドユーザ・トランザクションでラベルされてトレーニング・データとしての役割を果たすＲＰＣを生成するために、前記生成されたマークを前記サーバで受信された前記１つ以上のＲＰＣと関連付ける手段と、
（Ｄ）生成した前記トレーニング・データを格納する記憶手段と
を有するトレーニング・データを生成する装置。
【請求項８】
１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のＲＰＣから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する方法であって、
（Ａ）前記サーバが、前記１つ以上のＲＰＣを得るステップと、
（Ｂ）前記サーバ又は前記サーバに接続された別のコンピュータ・システムが、前記１つ以上のＲＰＣに関連したトレーニング・データに基づいて前記１つ以上のエンドユーザ・トランザクションを認識するステップであって、
前記エンドユーザ・トランザクションを認識するステップ（Ｂ）が、
（Ｂ１）前記１つ以上のＲＰＣをエンドユーザ・トランザクション・セグメントにセグメント化するステップと、
（Ｂ２）各セグメントのエンドユーザ・トランザクション機能を抽出するステップと、
（Ｂ３）前記トレーニング・データから生成したモデルを用いて各セグメントの前記抽出されたエンドユーザ・トランザクション機能から前記１つ以上のエンドユーザ・トランザクションを計算するステップと
を含む前記認識するステップと、
を含むエンドユーザ・トランザクション認識方法。
【請求項９】
前記モデルはベイズ・ネット・モデルである請求項８記載の方法。
【請求項１０】
前記エンドユーザ・トランザクションを計算するステップ（Ｂ３）が、
ベイズ・ネット・モデルに関連している機能値を、対応する抽出機能に対して割り当てるステップと、
各機能値に対して後の確率分布を見出すステップと、
前記後の確率分布に基づいて１つ以上のエンドユーザ・トランザクションを表すために機能値を選択するステップと
を有する請求項９記載の方法。
【請求項１１】
前記機能値を選択するステップは、１つ以上のエンドユーザ・トランザクションを表すために所定の抽出した機能に対して最も有望な機能値を選択するステップを含む請求項１０記載の方法。
【請求項１２】
前記サーバ又は前記サーバに接続された別のコンピュータ・システムが、前記選択された機能値をエンドユーザ・トランザクションのクラス・ラベルとして出力するステップを有する請求項１０記載の方法。
【請求項１３】
前記サーバ又は前記サーバに接続された別のコンピュータ・システムが、結果が十分な品質かどうかを判断するために、結果の少なくとも一部分を品質メトリックと比較するステップを有する請求項８記載の方法。
【請求項１４】
１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のＲＰＣから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識するためのプログラムであって、該プログラムが前記サーバに、
前記１つ以上のＲＰＣを得る機能と、
前記１つ以上のＲＰＣに関連したトレーニング・データに基づいて前記１つ以上のＲＰＣを認識する機能であって、
（Ａ）前記ＲＰＣのＲＰＣストリームを複数のエンドユーザ・トランザクション・セグメントにセグメント化する機能と、
（Ｂ）各セグメントに対するエンドユーザ・トランザクション機能を抽出する機能と、
（Ｃ）トレーニング・データから生成したモデルを用いて各セグメントに対するエンドユーザ・トランザクション機能から前記１つ以上のエンドユーザ・トランザクションを計算する機能と
を実現させる、プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に分散システムの管理に関し、特にサーバで受信されたリモート・プロシージャ・コール（ＲＰＣ）のシーケンスを含むエンドユーザ・トランザクションを認識することに関する。
【０００２】
【従来の技術】
分散情報システムのエンドユーザに対して良質のサービス（例えば、低い応答時間）を提供することは、他のアプリケーションの中でもｅコマースにとって不可欠である。そのようなシステムの性能管理における重要なステップがエンドユーザの振るまいをモデリングすることである。現実的なエンドユーザ・モデルは、（ａ）エンドユーザが性能を認識する度合いを良好に量ること、（ｂ）代表的な作業負荷を生成すること、（ｃ）良好なリソース管理を提供すること、（ｄ）潜在的危険性を帯びたエンドユーザの挙動パターンを認識することによってシステムの保守性を改善することを可能とする。
【０００３】
エンドユーザ・モデルを構築する第１のステップは、エンドユーザ・トランザクション（ＥＵＴ）を特徴付けることである。ＥＵＴは、エンドユーザが該エンドユーザのワークステーションに対して出される一連のコマンド、例えばデータベースを開いたり、ビューを開いたり、いくつかのレコードを読んだり、さらにデータ・ベースを閉じたりするコマンドを含む。分散システムでは、それらのコマンドはリモート・プロシージャ・コール（ＲＰＣ）を生ずるもので、該ＲＰＣは一般にユーザのワークステーションから１つ以上のサーバに対して送られる。前述のことを例証するために、我々はLotus Notes（商標）の電子メールシステムを使う。共通のＲＰＣとして、例えばOPEN_DB、READ_ENTRIES、及びFIND_BY_KEYが挙げられる。同一のエンドユーザからのそのようなＲＰＣの時間順シーケンスを考えると、我々はＥＵＴの開始及び終了を確認して各々のタイプをラベル表示することを望む。Lotus NotesにおけるＥＵＴの例として、ノート探索、ノート更新、及び画面表示手段が含まれる。
【０００４】
エンドユーザ・ワークステーションはかなり多数あることから、また多くの場合アドミニストレイティブ・スタッフの責任ではないので、多くの場合ワークステーションそれ自体からＥＵＴに関する情報を収集する機会は殆どない。むしろ、それはＥＵＴ情報がＲＰＣシーケンスの形で得られるサーバにある。残念なことに、サーバにはエンドユーザ・タランザクションに関する情報は殆ど無い。原則として、クライアント・サーバ・プロトコルは、ユーザ・インタラクションの開始及び終了に印を付けることにあてられる。しかし、このことはＥＵＴを識別するのには十分ではない。なぜなら、ユーザは多くの場合一連のアプリケーション・インタラクションを１つの単位の仕事として見なすからである。慣例では、このような問題に対しては、ＥＵＴの代用物（例えば、探索ステーションによって生成された合成トランザクション）を用いること、又は後処理のために手操作でＥＵＴに印を付けることのいずれかによって取り組む。前者はしばしば誤ったサービス品質アセスメントを引き起こす。一方、後者はかなり時間を浪費する。
【０００５】
【発明が解決しようとする課題】
したがって、サーバに記録されたＲＰＣシーケンスを用いてＥＵＴを認識するための自動化システムを有することが強く求められている。
【０００６】
【課題を解決するための手段】
本発明は、サーバで受信されたリモート・プロシージャ・コール（ＲＰＣ）のシーケンスを含むエンド・ユーザ・トランザクションを認識するための方法及びシステムを提供する。そのような方法は、情報システムのエンドユーザに対して良質のサービス（例えば、低い応答時間）を提供する上で重要である。なぜなら、とりわけ、それは（ａ）エンドユーザが性能を認識する度合いを良好に量ること、（ｂ）代表的な作業負荷を生成すること、（ｃ）良好なリソース管理を提供すること、（ｄ）潜在的危険性を帯びたエンドユーザの挙動パターンを認識することによってシステムの保守性を改善することを可能とする。
【０００７】
本発明は、ＥＵＴを認識するための機械学習テクニックを使用して、我々のドメインの特異的な構造特性に対していくつかの周知の方法を適応されることを提案する。簡単に言うと、ＥＵＴ認識問題は２つの問題を有する。第１の問題はＲＰＣのストリーム（各ユーザから）をトランザクション・インスタンスのなかにセグメント化することである（セグメント化問題）。第２の問題は、セグメントに正しいトランザクション・タイプをラベルすることである（分類問題）。本発明のセグメント化アプローチは、先の計算を効率的に再利用することを可能とする動的計画法を用いることである。分類のために、本発明はベイズ・ネット（Bays Net）フレームワークを使用する（参考文献：Pearl, Judea, "Probabilistic Reasoning in Intelligent Systems", Morgan Kaufmann, San Mateo, CA, 1988、本明細書で援用）。Bayes Netは、不確かさのもとで推論するためのグラフィカル・フレームワークであり、興味の対象のエンティティの間の確率的依存性（確立変数によって表される）をコード化し、データに与えられた観察されていないエンティティについて予測することを可能とする。本発明では、我々は一組の機能によってコード化したＲＰＣシーケンスに与えられたＥＵＴタイプを予測することを望む。Bayes Netは、ノード及び確率的依存性に対応する確率変数がエッジによって表される閉路なし有向グラフ（有向サイクルを持たない有向エッジを持っているグラフ）である。各ノードは変数のドメインと呼ばれる変数の許可されたセットを有する。Bayes Nets、有向アークがしばしば変数間の原因依存性として解釈可能であることから、因果関係ネットワークとも呼ばれる。分類にBayes Netを使用することはいくつかの理由から魅力的である。第一に、Bayes Netsは結果を良好に解釈すること（比較、例えば明確さが低い意味論を持つニューラルネットワーク等のいくつかの他のモデルとの比較）を可能とする堅固な確率的理由にもとづいている。第２にベイズのフレームワークは、しばしばデータから純粋に得られた情報と同じように重要な先のドメイン知識を取り込むことを可能とする。第３に、Bayes Netsは、データの単純な相関よりもむしろ原因依存性を学習することを可能とする。
【０００８】
エンドユーザ・トランザクションを認識することの問題は、いまだ文献で扱われていない。しかし、ＥＵＴを認識する問題は、いくつかのよく研究された機械学習ドメイン、例えばパターン認識、ドキュメント分類、及びスピーチ認識とかなり関係している。一般的なパターン認識の問題は、所定のクラスラベルの１つをその機能ベクタによって表された所定のインスタンスに割り当てることである。例えば、ドキュメント分類では、タスクはどの所定の見出し（クラス・ラベル）が所定のテキスト・ドキュメント（インスタンス）と最も関連しているかを決定する。テキスト・ドキュメントは、ワード・カウントのワード出現等の一組の機能によって表される。正しい見出しによってラベルされた一組のテキスト実例上にトレーンされた分類アルゴリズム（トレーニング・データ）は、見出しを既に見られないテキスト・インスタンス（テスト・データ）に割り当てる。ドキュメント分類アプリケーションの例として、Ｗｅｂページの分類、電子メール又はニュース記事のソート、ユーザ・リーディング対象の学習が含まれる（例えば、Mitchell, Tom M., "Machine Learning", New York: McGraw-Hill, 1997を参照せよ。この文献を本明細書では援用する）。また、パターン認識の重要な部分は、機能選択問題であり、機能タイプ（例えば、テキスト分類におけるワード出現又はワード・カウント）を選択し、次に機能の数が多い場合に特に重要である所定のタイプの最も有益な機能からなるサブセットを選択することが含まれる。
【０００９】
テキスト分類による類似性にもかかわらず、ＥＵＴ認識問題は本質的によりいっそう複雑である。なぜなら、それは最初に異なるＥＵＴを表すセグメントにＲＰＣシーケンスをセグメント化し、次にそれらのセグメントをＥＵＴでラベル（分類）することを要求するからである。セグメント化問題上でのいくつかの作業は、サウンドのストリームがワードにセグメント化されるスピーチ認識（例えば、Jelinek, F., "Statistical Methods for Speech Recognition", Cambridge: MIT Press, 1998を参照せよ。本明細書ではこの文献を援用する）、さらにワードのシーケンスがフレーズにセグメント化されなければならない統計的自然言語処理（例えば、D. Beeferman, A. Berger, and J. Lafferty, "Statistical Models for Text Segmentation," Machine Learning, special issue on Natural Language Learning, C. Cardie and R. Mooney (eds.), 34(1-3), pp.177-210, 1999を参照せよ。本明細書ではこの文献を援用する）で行われてきた。 スピーチ認識における標準的なアプローチは、連続したサウンド間の依存性をモデリングするためにHidden Markov Models（ＨＭＭ）を使用することである。しかし、本発明のドメインは、Dynamic Belief Netsのよりいっそう一般的なフレームワークにつながるより複雑な依存性モデルを要求する。また、我々のドメインは、他のドメインでは現在のところ必要とされない特定の構造的特性を与えるもので、我々のシステムの効率を著しく改善することができる。
【００１０】
したがって、サーバに記録されたＲＰＣシーケンスを用いてエンドユーザ・トランザクションを認識するためのシステム及び方法を提供する。我々のアプローチは、いくつかの革新的な面を有する。例えば、
（１）我々は、分散システムのパフォーマンス管理では以前には解決されなかったＥＵＴ認識の問題に取り組むこと。
（２）我々は、この新規なドメインに対して機械学習テクニックの適用に基づいた自動的ＥＵＴ認識のためのシステム及び方法を提供する。
（３）我々は、手動操作によるラベル付けの代わりに、我々に学習システムではトレーニング・データの自動生成のための方法も提案する。この方法は、クライアント及びサーバの両方にトランザクション作製エージェントをあたえることが含まれる。
【０００１１】
本発明の１つの局面において、本発明のアーキテクチャは、ＥＵＴ認識プロセスの２つのフェーズ、すなわちトレーニング・フェーズとオペレーション・フェーズとに対応すＥＵＴモデル学習器コンポーネント及びＥＵＴ認識器コンポーネントから構成される。トレーニング・フェーズでは、ＥＵＴモデル学習器は対応するＥＵＴでラベルされた一連のＲＰＣから構成される一組のトレーニング・データからＥＵＴBayes Net Modelを構成する。トレーニング・データは、現在ヒューマン・エキスパートによって作り出される。オペレーション・フェーズでは、ＥＵＴ認識器はＥＵＴモデルを使用して入力未ラベルＲＰＣシーケンスのためのＥＵＴラベル付けを生成する。本発明の機能選択コンポーネントは、入力ＲＰＣシーケンスを次の分類に使用する一組のＥＵＴ機能に変換するフィルタとして働く。
【００１２】
本発明の別の局面において、本発明の方法はデータ構造化ステップ、ＥＵＴ機能を選択し、ＥＵＴモデルを学習し、さらにこのモデルを用いてＥＵＴ認識することが含まれる。
【００１３】
本発明のシステムで使用されるBayes Net分類器は、ＥＵＴタイプに対応するルート・ノードを含むもので、該ルート・ノードは各ＲＰＣタイプの出現又はカウント等の機能を表す一組の機能を示す。１つのＥＵＴに対応するＲＰＣシーケンスという条件のもで、機能抽出メカニズムは機能ノードに対して値を割り当て、Bayer Net分類器はその割り当てに対して最も有望なクラス（ＥＵＴラベル）を見つける。
【００１４】
ＥＵＴ認識器は入力ＲＰＣストリームを異なるＥＵＴに対応するシーケンスにセグメント化し、さらにBayes Net分類器を用いて適当なＥＵＴによってラベルする。セグメント化の品質は、品質メトリックによって制御される。すなわち、満足行く距離の値に達するまでセグメント化／ラベリング・プロセスが繰り返される。
【００１５】
最後に、本発明はクライアント及びサーバ・サイトでＥＵＴの自動化マーキングのための方法を提供するもので、それによってトレーニング・データを無制限に生成することが可能となる。この独創的なプロセスは、現行ヒューマン・エキスパート又はソフトウェアによるトレーニング・データの生成という時間浪費プロセスに取って置き換わるものであり、再び手操作で構築されたヒューリスティックスを使用する。独創的プロセスは、またトレーニング・データの品質を改善する。
【００１６】
本発明は、既存の最新技術である分散システムのパフォーマンス管理には存在しないいくつかの利点を提供するもので、そのいくつかの例をここで説明する。第１に、自動化ＥＵＴ認識によって、システム・パフォーマンスのエンドユーザ知覚を定量化するためのより良い方法を提供するもので、それはより良いサービスを提供する上で欠くことができない。第２に、ＥＵＴ認識によって、様々な環境下でのシステムの挙動を試験するために必要な典型的な仕事負荷の生成に使用される現実的なエンドユーザ・モデルがもたらされる。第３に、現実的なエンドユーザ及びシステム・モデルはより良いリソース管理にとって欠くことができない。最後に、ユーザの振るまいにおける典型的なパターンと非典型的なパターンとの比較に基づいた良好なセキュリティを提供するために、そのようなモデルを使用することができる。
【００１７】
本発明の上記及び他の目的、機能、及び利点は、例として挙げられる本発明の実施形態例を添付した図面を参照しながら以下に詳細に説明することによって明らかになろう。
【００１８】
【発明の実施の形態】
以下、本発明を実例となるシステム・アーキテクチャという面において以下説明する。しかし、本発明はいかなる特定のシステム・アーキテクチャ又はエンドユーザ・トランザクション（ＥＵＴ）の特定のタイプに限定されるものではない。むしろ、本発明はエンドユーザの振るまいのモデル化を提供するためにリモート・プロシージャ・コール（ＲＰＣ）シーケンスを用いてＥＵＴを認識することが望ましいより任意のシステム・アーキテクチャ及び任意のタイプのＥＵＴに対して、よりいっそう一般的に適用される。
【００１９】
本願発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するコンピュータ・システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムを制御し、本願発明にかかる処理を実行される。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または１．他の言語・コード・表記への変換、２．他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本願発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本願発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記載媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできす。
図１を参照しながら説明する。図１は、本発明が適用可能なネットワークという面において本発明の一実施形態にもとづくエンドユーザ・トランザクション認識システムの全体的なアーキテクチャを説明するためのブロック図である。図に示すように、エンドユーザ１００は、エンドユーザ・トランザクション（ＥＵＴ）１０１と呼ばれる一連のレベルの高いコマンド（例えば、データベースを開いたり、メールを読んだりするためのコマンド）を該エンドユーザ１００のワークステーション（クライアント）１０２へ送出する。分散システムでは、既に知られているように、各ＥＵＴは一連のリモート・プロシージャ・コール（ＲＰＣ）１０３をユーザのワークステーション１０２から該ＲＰＣ１０３を処理する１層以上のサーバ１０４へ送られる。クライアント・ワークステーション１０２とサーバ１０４とがネットワークによって繋がったコンピュータ・システムであってもよいことは理解されるはずである。ネットワークは、公衆ネットワーク（例えば、インターネット）、専用ネットワーク及び／又は何らかの他の適当なネットワークであってもよい。どのような場合では、他の情報、例えばセッション、時間等と共にＲＰＣのシーケンスがサーバのログ・ファイル１０５に格納される。しかし、サーバ上ではＥＵＴについての情報は利用可能ではない。
【００２０】
したがって、図１に示すように、また本発明にもとづくように、ＥＵＴ認識システム１１０は、ＥＵＴモデル学習器１２０、ＥＵＴモデル１３０、及びＥＵＴ認識器１４０を有するものとして提供される。トレーニング・フェーズでは、ＥＵＴモデル学習器１２０はオペレーション・フェーズでＥＵＴ認識器１４０によって後で使用されるＥＵＴモデル１３０を学習する。ＥＵＴモデル学習器１２０は、ＥＵＴ１０８によってラベルされたＲＰＣシーケンスを含む入力トレーニング・データとして用いる。一実施態様では、トレーニング・データを得ることは、ログ・ファイル１０５においてサーバ１０５上に格納されたＲＰＣシーケンスからＥＴＵシーケンスを再構成するヒューマン・エキスパート１０６によって達成される。本発明の別の実施態様によれば、図１０の構成に示すように、分散システム環境は、ヒューマン・エキスパートがトレーニング・データを抽出するための自動化システム（トレーニング・データ抽出システム）１０７と置き換えられるようにして構成されている。したがって、ヒューマン・エキスパートを必要とするよりはむしろ、トレーニング・データにもとづいてＥＵＴがラベルされたＲＰＣは、トレーニング・データ抽出システム１０７によって自動的に生成することができる。
【００２１】
どのような場合でも、ＥＵＴモデル学習器１２０によって構築されたＥＵＴモデル１３０は、ＥＵＴ認識器１４０によって使用され、サーバ・ログ・ファイル１０５に格納された入力ＲＰＣシーケンスとして見なされる。
【００２２】
図１１の構成でさらに説明されるように、図１に示すＥＵＴ認識システム１１０及びトレーニング・データ抽出システム１０７はサーバ１０４又は別のコンピュータ・システムに装備してもよい。
【００２３】
ここで図２に示すように、フローチャートは本発明の一実施態様にもとづく全体的なエンドユーザ・トランザクション認識方法論を説明するためのものである。最初の３つのステップがトレーニング・フェーズを含むことが分かる。ステップ２００では、サーバからのＲＰＣシーケンスが対応するＥＵＴによってラベルされるように入力ＲＰＣデータがトレーニング・データの中に構築される。既に説明したように、このことはヒューマン・エキスパート１０６（図１）によって行われるか、又はトレーニング・データ抽出システム１０７（図１）によって自動的に行われてもよい。次に、ステップ２０１において、ＥＵＴ機能が選択される。ＥＵＴ機能はステップ２０２でＥＵＴモデルを構築するために使用される。最後に、ステップ２０３は、オペレーション・システムであり、ここではラベルされていないＲＰＣシーケンスに対応するＥＵＴを認識するためにＥＵＴモデルが使用される。
【００２４】
ここで図３を参照しながら説明する。図３は本発明の一実施形態にもとづくエンドユーザ・トランザクション・モデル学習器を説明するためのブロック図である。特に、図３は図１のＥＵＴモデル学習器１２０等のＥＵＴモデル学習器モジュールの構成要素を示す。図に示すように、モデル学習器１２０はＥＵＴ機能セレクタ３００及びＥＵＴBayes Net学習システム３１０を有する。ＥＵＴ機能セレクタ３００は、トランザクションＴ内のいくつかのＲＰＣ  Ｒの出現等、ＲＰＣシーケンスの特定の特徴を選択する役割を担う。そのような特徴は、ＥＵＴモデルの鍵となる構成要素であり、対応する異なるＥＵＴの特性（機能）としてＥＵＴ認識器によって後で使用される。ＥＵＴ機能セレクタを通して濾過されたＥＵＴ（トレーニング・データ）によってラベルされたＲＰＣストリームは、ＥＵＴBayes Net学習システムへの入力を含むもので、ＥＵＴBayes Netモデル１３０を出力する。
【００２５】
図４をここで参照する。図４は本発明の一実施形態にもとづくエンドユーザ・他ランザクション機能を説明するためのブロック図である。特に、図４はＥＵＴ機能セレクタ、例えば図３のＥＵＴ機能セレクタ３００を記述する。図に示すように、ＥＵＴ機能セレクタ３００はＥＵＴ機能型セレクタ４００及びＥＵＴサブセット・セレクタ４０１を含む。第１に、ＥＵＴ機能型セレクタ４００は、セグメントか及びラベル化されたＲＰＣストリーム１０８に応答して、モデルで検討される機能のタイプ（ＲＰＣストリーム特性）に決める。可能な機能型は、例えば単一ＲＰＣの出現、又はＥＵＴでのＲＰＣグループ（ペア、トリプレット等）等のバイナリ機能、及び対応する出現のカウント等の整数機能を含むものであってもよい。ひとたび機能型が選択されると、ＥＵＴ機能サブセット・セレクタ４１０は所定の入力について対応する機能を計算し、ある評価距離（例えば、機能とＥＵＴレベルとの間の相互情報に関する最も有益な機能）にもとづいた最も高い値を持つ機能のサブセットのみを選択する。したがって、ＥＵＴ機能セレクタ４０１は、ＥＵＴでラベル化された各ＲＰＣサブシーケンスを同一ＥＵＴラベルを持つ機能（機能ベクタ）からなる対応の収集に変換するフィルタとして働く。
【００２６】
図５は、本発明の一実施形態例にもとづいて使用されるエンドユーザ・トランスザクションBayes Netモデルを説明するためのものである。特に、図５はＥＵＴBayes Netモデル、例えば図１のＥＵＴBayes Netモデル１３０を説明するためのものである。図に示すように、ルート・ノード５００はＥＵＴタイプを表すもので、一方下位のノード（子ノード）５００−１乃至５００−ＮはＥＵＴ機能を表す。ルート・ノード５００は先の確率分布に対応付けられており、一方各機能ノード"ｆＮ"はＥＵＴタイプが与えられたこの機能の条件確率分布に対応付けられている。例えば、機能２に対応付けられた条件確率分布はＰ（ｆ２｜ＥＵＴ、ｆ１）として表される。
【００２７】
図６は、本発明の一実施態様にもとづくエンドユーザ・トランザクションBayes Net学習システムを説明するためのブロック図である。特に、図６はＥＵＴ Bayes Net （ＢＮ）学習システム、例えば図３のＥＵＴのＢＮ学習システム３１０を説明するためのものである。図に示すように、ＢＮ学習システムは、Bayes Net構造学習モジュール６００とBayes Netパラメータ学習モジュール６２０とを有する。ＢＮ構造学習モジュール６００はＥＵＴBayes Netのグラフ構造を学習する。ＥＵＴがラベルされたＥＵＴ機能ベクタの入力シーケンスという条件のもとで、モジュール６００は機能間の依存性を学習してBayes Netグラフを生成する。Bayes Netグラフ構造の一例をブロック６１０に示す。学習システムの第２の構成要素であるＢＮパラメータ学習モジュール６２０は、Bayes Netのパラメータを学習し、構造という条件のもとで、機能ノード間の依存性と各ノードに対応した確率分布との両方を特定するＥＵＴ Bayes Netモデルを生成する。Bayes Netモデルの一例をブロック６３０に示す。
【００２８】
図７は、本発明の一実施形態にもとづくエンドユーザ・トランザクション認識器を説明するためのブロック図である。特に、図７はＥＵＴ認識器、例えば図１のＥＵＴ認識器１４０のようなＥＵＴ認識器を説明するためのものである。ＥＵＴ認識器は、ＲＰＣストリーム・セグメント化システム７００、ＥＵＴ機能抽出器７１０及びBayes Net分類器７２０を有する。トレーニング・フェーズが終了した後、既に述べたように、結果として生ずるＥＵＴ Bayes NetモデルはＥＵＴ認識器に対して入手可能である。一般に、認識は入力、すなわちサーバ・ログ・ファイル１０５からのＲＰＣシークエンスとして用いられ、該シークエンスをＥＵＴに対応するセグメントに分け、対応するＥＵＴによってセグメントをラベルし、さらに結果として得られるセグメントか及びラベル化ＲＰＣシーケンス１５０を出力する。特に、ＲＰＣストリーム・セグメント化システム７００は他の２つの部分、すなわち機能抽出器７１０と分類器７２０とをセグメント化プロセスの過程で呼び出す。ＥＵＴ機能抽出器は、ＥＵＴBayes Netモデルから使用するための機能についての情報を獲得し、入力データから該機能を抽出する。Bayes Net分類器は最もありそうなＥＵＴラベル（クラス・ラベル）を出力するもので、該ラベルはＲＰＣストリーム・セグメント化システムによって選択されたＲＰＣセグメントに与えられる。したがって、ＥＵＴ認識器１４０の出力（ブロック１５０）はＥＵＴ（ＲＰＣセグメント及びトランザクション・ラベル、例えばＴｘＡ、ＴｘＢ、ＴｘＣ）によってセグメント化及びラベル化されたＲＰＣシーケンス（例えば、数字１，２、３、４が付されたブロックとして表される）である。
【００２９】
図８は、本発明の一実施態様にもとづくBayes Net分類器を説明するためのブロック図である。特に、図８はBayes Net分類器、例えば図７のBayes Net分類器７２０を説明するためのものである。ＥＵＴBayes Netモデル及び機能抽出器７１０によって与えられたＥＵＴの値という条件のもとで、分類器は以下の作業を実行する。最初に、ステップ８００で、分類器は対応する機能変数に対してＥＵＴ機能値を割り当てる。ステップ８１０では、分類器はＥＴＵＴ変数のために後の確率分布を見出す。次に、ステップ８２０で、分類器は、ＥＵＴ変数に対する後の確率分布に基づいた所定のＥＵＴ機能について最も有望なＥＵＴ値を選択する。そして、Bayes Net分類器はこの最も有望なＥＵＴ値を所定のＥＵＴ機能ベクタのクラス・ラベルとして出力する。
【００３０】
図９は、本発明の一実施形態にもとづいてオペレーション・モード（トレーニング・モードと比較して）の間にエンドユーザ・トランザクション認識器による使用のための全体的な方法を説明するためのフローチャートである。ステップ９００では、認識器はサーバ・ログファイル１０５からＲＰＣストリームを読み込む。次に、ＲＰＣストリームはステップ９１０でＥＵＴセグメントにセグメント化される（ＲＰＣストリーム・セグメント化システム７００）。ステップ９２０では、ＥＵＴ機能ベクタは各セグメントに対して計算される（ＥＵＴ機能抽出器７１０）。そのような機能ベクタに基づいて、Bayes Net分類器７２０はステップ９３０においてセグメントのＥＵＴラベル化を計算する。セグメント化及びラベル化の品質は、ブロック９４０からの所定の品質メトリックを用いてステップ９５０で評価される。もし品質が十分であるならば、認識器はステップ９６０の分割されたＲＰＣストリームの結果として生ずるＥＵＴラベル化を出力する。さもなければ、プロセスはステップ９１０に戻り、繰り返される。
【００３１】
図１０は、本発明の一実施態様にもとづいてエンドユーザ・トランザクションによるリモート・プロシージャ・コールの自動ラベル化のためのシステムを説明するブロック図である。再現度、図１の構成で説明したように、本発明のＥＵＴ認識システムはＥＵＴによってＲＰＣをラベルするヒューマン・エキスパート１０６又は自動化システム１０７によって操作されるものであってもよく、例えば本発明にもとづいて提供され、かつ図１０の構成で例証される。図に示すように、エンドユーザ１０００はトランザクションを該エンドユーザのワークステーション１００２へ送る。ここでは各トランザクションの開始及び終了がクライアント・ワークステーションに常駐するＥＵＴマーカ・エージェント１０１０によって記される。このエージェント１０１０がサーバ１００３による現在又は以前のセッションの間、クライアントのコンピュータにダウンロードされることが理解されるはずである。別のアプローチは、トランザクション・シーケンスを生成する人工の仕事負荷ジェネレータ１００１を使用することである。さらに、ＥＵＴは、サーバ１００３に常駐する別のＥＵＴマーカ・エージェント１０１０によってキャプチャーされる複数のＲＰＣからなるシーケンスを生ずる。ＥＵＴマークと一緒にＲＰＣシーケンスはＥＵＴラベル装置１０２０に送られる。ＥＵＴラベル装置１０２０はＥＵＴ学習器モジュール１２０（図１）の入力（トレーニング・データ）として使用されるＥＵＴによってラベルされた複数のＲＰＣ１０３０からなるシーケンスを出力する。
【００３２】
図１１は、図に示すとともにここで詳細に説明するＥＵＴ（図１０）によるＲＰＣの自動ラベル化のためのシステム、及びＥＵＴ認識システム（図１）の様々な機能構成要素／モジュールを実現するのに適したコンピュータ・システムの一般化したハードウェア・アーキテクチャを説明するためのものである。ＥＵＴ認識システム及び自動ラベル化システムの個々の構成要素は１つのそのようなコンピュータ・システムに実装できることが理解されよう。また、サブシステムの個々の構成要素及び記憶リポジトリは、個別のそのようなコンピュータ・システムに実装することができる。図１１に示す構成要素は、エンドユーザのクライアント・ワークステーションがトランザクションするサーバ・コンピュータ・システムの一部、又は１つ以上の別のコンピュータ・システムの一部であってもよいことが理解されよう。
【００３３】
図に示すように、コンピュータ・システムはプロセッサ１１００、メモリ１１１０、及びＩ／Ｏデバイス１１２０により実現されるものであってもよい。ここで使用される「プロセッサ」という用語は任意の処理デバイス、例えばＣＰＵ（中央処理装置）及び／又は他の処理回路を含むように意図されている。ここで使用される用語「メモリ」は、プロセッサ又はＣＰＵ、例えばＲＡＭ、ＲＯＭ、固定メモリ・デバイス（例えば、ハード・ドライブ）、リムーバブル・メモリ・デバイス（例えば、フレキシブル・ディスク）、及びフラッシュ・メモリが含まれるように意図されている。さらに、ここで使用される用語「入力／出力装置」又は「Ｉ／Ｏデバイス」は、例えば、データを処理装置に入力するためのキーボード等の１つ以上の入力デバイス、及び／又は処理装置に関連した結果を表示するためのＣＲＴディスプレイ及び／又はプリンタを含むように意図されている。また、用語「プロセッサ」は複数の処理装置に言及するもので、また１つの処理装置に対応付けられた様々な要素を他の処理装置によって共有してもよいことが理解されよう。したがって、ここで説明するように、本発明の方法を実行するための命令又はコードを含むソフトウェア構成要素は、１つ以上の対応付けられたメモリ・デバイス（例えば、ＲＯＭ、固定又はリムーバブル・メモリ）に格納されるものであってもよく、さらに利用準備が整った時、部分的又は全体的にロード（例えば、ＲＡＭの中に）され、さらにＣＰＵによって実行される。
【００３４】
したがって、ここに説明されたように、方法及びシステムはリモート・プロシージャ・コール（ＲＰＣ）からなるシーケンス等、サーバ・データに基づいてエンドユーザ・トランザクション認識のために記述される。方法は、ベイス分類等のパターン・認識のための機械学習テクニック、及びＲＰＣシーケンスのセグメント化に対する動的計画法アプローチを含むものであってもよい。方法は、好ましくは情報・理論的アプローチ及び機械学習アプローチを組み合わせる。システムは、好ましくは学習エンジンとオペレーション・エンジンとを含む。学習エンジンは、データ準備サブシステム（機能抽出）及びBayes Net学習サブシステム（モデル構築）を含むものであってもよい。オペレーション・エンジンはトランザクション分割及びトランザクション分類サブシステムを含むものであってもよい。
【００３５】
以上、本発明の代表的な実施形態例を図面を参照しながら説明したが、本発明はそれらの的確な実施形態に限定されることなく、種々の他の変更及び修飾を本発明の範囲又は精神から逸脱することなく当業者が行うことが可能であることが理解されるであろう。
【００３６】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する装置であって、
（ｉ）前記１つ以上のリモート・プロシージャ・コールを得ること、及び（ｉｉ）前記１つ以上のリモート・プロシージャ・コールに関連した１つ以上のエンドユーザ・トランザクションを認識することができる少なくとも１つのプロセッサと、
前記少なくとも１つプロセッサに接続し、前記エンドユーザ・トランザクション認識の動作に関連した結果の少なくとも一部分を格納するメモリと、
を有することを特徴とするエンドユーザ・トランザクション認識装置。
（２）前記少なくとも１つのプロセッサは、さらに（ｉ）前記１つ以上のリモート・プロシージャ・コールを複数のエンドユーザ・トランザクション・セグメントにセグメント化し、（ｉｉ）各セグメントに対するエンドユーザ・トランザクション機能を抽出し、及び（ｉｉｉ）トレーニング・データから生成したモデルを用いて各セグメントに対するエンドユーザ・トランザクション機能から前記１つ以上のエンドユーザ・トランザクションを計算することによって前記エンドユーザ・トランザクション認識動作を実行することができることを特徴とする上記（１）に記載のエンドユーザ・トランザクション認識装置。
（３）前記モデルはベイズ・ネット・モデルであることを特徴とする上記（２）に記載のエンドユーザ・トランザクション認識装置。
（４）前記少なくとも１つのプロセッサは、（ｉ）対応する抽出された機能に対して、ベイズ・ネット・モデルに関連している機能値を割り当てこと、（ｉｉ）各機能値に対して後の確率分布を見出すこと、（ｉｉｉ）前記後の確率分布に基づいて１つ以上のエンドユーザ・トランザクションを表す機能を選択することを特徴とする上記（３）に記載のエンドユーザ・トランザクション認識装置。
（５）前記機能値選択動作は、１つ以上のエンドユーザ・トランザクションを表すために所定の抽出された機能に対する最も可能性のある機能値を選択することが含まれることを特徴とする上記（４）に記載のエンドユーザ・トランザクション認識装置。
（６）前記選択された機能値は、１つ以上のエンドユーザ・トランザクションのクラス・ラベルを形成することを特徴とする上記（４）に記載のエンドユーザ・トランザクション認識装置。
（７）前記結果が十分な品質のものであるかどうかを判断するために前記結果の少なくとも一部が品質メトリックと比較されることを特徴とする上記（１）に記載のエンドユーザ・トランザクション認識装置。
（８）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用されるモデルを生成する装置であって、
（ｉ）１つ以上のエンドユーザ・トランザクションによってラベルされた１つ以上のリモート・プロシージャ・コールを得ること、及び（ｉｉ）前記モデルが前記ラベルされた１つ以上のリモート・プロシージャ・コールから学習され、かつ前記１つ以上のエンドユーザ・トランザクションでラベルされている１つ以上の選択された機能を計算すること、及び（ｉｉｉ）前記選択された機能から前記モデルを構築することができる少なくとも１つのプロセッサと、
前記少なくとも１つプロセッサに接続し、前記モデルを生成する動作に関連した結果の少なくとも一部分を格納するメモリと、
を有することを特徴とするモデル生成装置。
（９）前記１つ以上のラベルされたリモート・プロシージャ・コールは手操作によって生成されることを特徴とする上記（８）に記載のモデル生成装置。
（１０）前記１つ以上のラベルされたリモート・プロシージャ・コールは自動で生成されることを特徴とする上記（８）に記載のモデル生成装置。
（１１）前記少なくとも１つのプロセッサは、さらに（ｉ）モデル構造を形成するために前記計算された機能間の依存性を学習すること、（ｉｉ）前記モデルを形成するために前記モデル構造に与えられた１つ以上のモデル・パラメータを学習することができることを特徴とする上記（８）に記載のモデル生成装置。
（１２）前記モデルはベイズ・ネット・モデルであることを特徴とする上記（８）に記載のモデル生成装置。
（１３）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用されるモデルを構築するために使用されるトレーニング・データを自動的に生成する装置であって、
（ｉ）前記クライアント・ワークステーションで生成される１つ以上のエンドユーザ・トランザクションの開始及び終了をマークするために前記クライアント・ワークステーションを生成すること、（ｉｉ）エンドユーザ・トランザクションでラベルされてトレーニング・データとしての役割を果たすリモート・プロシージャ・コールを生成するために、エンドユーザ・トランザクション・マークを前記サーバで受信された前記１つ以上のリモート・プロシージャ・コールと相関させることができる少なくとも１つのプロセッサと、
前記少なくとも１つプロセッサに接続し、前記トレーニング・データを生成する動作に関連した結果の少なくとも一部分を格納するメモリと、
を有することを特徴とするトレーニング・データ自動生成装置。
（１４）前記少なくとも１つのプロセッサは、さらに前記エンドユーザ・トランザクションをマーキングする際に使用するために前記クライアント・ワークステーションに対してマーキング・エージェントをダウンロードすることができることを特徴とする上記（１３）に記載のトレーニング・データ自動生成装置。
（１５）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する方法であって、
前記１つ以上のリモート・プロシージャ・コールを得るステップと、
前記１つ以上のリモート・プロシージャ・コールに関連したトレーニング・データに基づいて前記１つ以上のリモート・プロシージャ・コールを認識するステップと、
を有することを特徴とするエンドユーザ・トランザクション認識方法。
（１６）前記エンドユーザ・トランザクション認識ステップは、（ｉ）前記１つ以上のリモート・プロシージャ・コールをエンドユーザ・トランザクション・セグメントにセグメント化する工程と、（ｉｉ）各セグメントのエンドユーザ・トランザクション機能を抽出する工程と、（ｉｉｉ）前記トレーニング・データから生成したモデルを用いて各セグメントの前記抽出エンドユーザ・トランザクションから前記１つ以上のエンドユーザ・トランザクションを計算する工程と、
を有することを特徴とする上記（１５）に記載のエンドユーザ・トランザクション認識方法。
（１７）前記モデルはベイズ・ネット・モデルであることを特徴とする上記（１６）に記載のエンドユーザ・トランザクション認識方法。
（１８）前記エンドユーザ・トランザクション計算ステップは、（ｉ）ベイズ・ネット・モデルに関連している機能値を、対応する抽出機能に対して割り当てるステップと、（ｉｉ）各機能値に対して後の確率分布を見出すステップと、（ｉｉｉ）前記後の確率分布に基づいて１つ以上のエンドユーザ・トランザクションを表すために機能値を選択するステップと、
を有することを特徴とする上記（１７）に記載のエンドユーザ・トランザクション認識方法。
（１９）前記機能値選択ステップは、１つ以上のエンドユーザ・トランザクションを表すために所定の抽出した機能に対して最も有望な機能値を選択するステップを含むことを特徴とする上記（１８）に記載のエンドユーザ・トランザクション認識方法。
（２０）前記選択された機能値は、１つ以上のエンドユーザ・トランザクションの代表的なクラス・ラベルを形成することを特徴とする上記（１８）に記載のエンドユーザ・トランザクション認識方法。
（２１）結果が十分な品質かどうかを判断するために、結果の少なくとも一部分は品質メトリックと比較されることを特徴とする上記（１５）に記載のエンドユーザ・トランザクション認識方法。
（２２）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用するためのモデルを生成する方法であって、
１つ以上のエンドユーザ・トランザクションによってラベルされた１つ以上のリモート・プロシージャ・コールを得るステップと、
前記モデルが前記ラベルされたリモート・プロシージャ・コールから学習され、前記１つ以上のエンドユーザ・トランザクションによってラベルされている１つ以上の選択された機能を計算するステップと、
前記選択された機能から前記モデルを構築するステップと、
を有することを特徴とするモデル生成方法。
（２３）前記１つ以上のラベルされたリモート・プロシージャ・コールは手操作で生成されることを特徴とする上記（２２）に記載のモデル生成方法。
（２４）前記１つ以上のラベルされたリモート・プロシージャ・コールは自動的に生成されることを特徴とする上記（２２）に記載のモデル生成方法。
（２５）前記モデル構築ステップは、（ｉ）モデル構造を形成するために計算された機能間の依存性を学習するステップと、（ｉｉ）前記モデルを形成するために前記構造が与えられた１つ以上のモデル・パラメータを学習ステップと、
を有することを特徴とする上記（２２）に記載のモデル生成方法。
（２６）前記モデルはベイズ・ネット・モデルであることを特徴とする上記（２２）に記載のモデル生成方法。
（２７）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用するためのモデルを構築するために使用されるトレーニング・データを自動的に生成する方法であって、
前記クライアント・ワークステーションで生成する１つ以上のエンドユーザ・トランザクションの開始及び終了をマークするために前記クライアント・ワークステーションを生成するステップと、
エンドユーザ・トランザクションによってラベルされて前記トレーニング・データとしての役割を果たすリモート・プロシージャ・コールを生成するために前記サーバで受信した前記１つ以上のリモート・プロシージャ・コールによって前記エンドユーザ・トランザクションを相関させるステップと、
を有することを特徴とするトレーニング・データ自動生成方法。
（２８）前記生成ステップは、前記エンドユーザ・トランザクションで使用するために前記クライアント・ワークステーションに対してマーキング・エージェントをダウンロードするステップを含むことを特徴とする上記（２７）に記載の方法。
（２９）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識するための製品であって、
実行された場合に、
前記１つ以上のリモート・プロシージャ・コールを得るステップと、
前記１つ以上のリモート・プロシージャ・コールに関連したトレーニング・データに基づいて前記１つ以上のリモート・プロシージャ・コールを認識するステップと、
を実施する１つ以上のプログラムが含まれる機械読み取り媒体を含むことを特徴とする製品。
（３０）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用するためのモデルを生成するための製品であって、
実行された場合に、
１つ以上のエンドユーザ・トランザクションでラベルされた前記１つ以上のリモート・プロシージャ・コールを得るステップと、
前記モデルが前記ラベルされたリモート・プロシージャ・コールからトレーンされ、前記１つ以上のエンドユーザ・トランザクションによってラベルされている１つ以上の選択された機能を計算するステップと、
前記選択された機能から前記モデルを構築するステップと、
を実施する１つ以上のプログラムが含まれる機械読み取り媒体を含むことを特徴とする製品。
（３１）１つ以上のエンドユーザ・トランザクションに対応し、クライアント・ワークステーションと通信しているサーバで受信される１つ以上のリモート・プロシージャ・コールから前記クライアント・ワークステーションで生成される前記１つ以上のエンドユーザ・トランザクションを認識する際に使用するためのモデルを構築するために使用されるトレーニング・データを自動的に生成するための製品であって、
実行された場合に
前記クライアント・ワークステーションで生成する１つ以上のエンドユーザ・トランザクションの開始及び終了をマークするために前記クライアント・ワークステーションを生成するステップと、
エンドユーザ・トランザクションによってラベルされて前記トレーニング・データとしての役割を果たすリモート・プロシージャ・コールを生成するために前記サーバで受信した前記１つ以上のリモート・プロシージャ・コールによって前記エンドユーザ・トランザクションを相関させるステップと、
を実施する１つ以上のプログラムが含まれる機械読み取り媒体を含むことを特徴とする製品。
【図面の簡単な説明】
【図１】  本発明が適用可能なネットワークにおける本発明の一実施態様にもとづくエンドユーザ・トランザクション認識システムの全体的なアーキテクチャを説明するためのブロック図である。
【図２】  本発明の一実施形態にもとづくエンドユーザ・トランザクション認識方法を説明するためのフローチャートである。
【図３】  本発明の一実施形態にもとづくエンドユーザ・トランザクション・モデル学習器の構成要素を説明するためのブロック図である。
【図４】  本発明の一実施形態にもとづくエンドユーザ・トランザクション機能選択器の構成要素を説明するためのブロック図である。
【図５】  本発明の一実施形態にもとづくエンドユーザ・トランザクションBayes Netモデルを説明するための模式図である。
【図６】  本発明の一実施形態にもとづくエンドユーザ・トランザクションBayes Net学習システムを説明するためのブロック図である。
【図７】  本発明の一実施形態にもとづくエンドユーザ・トランザクション認識器を説明するためのブロック図である。
【図８】  本発明の一実施形態にもとづくBayes Net分類器とそれに関連したオペレーションとを説明するためのブロック図である。
【図９】  本発明の一実施形態にもとづくエンドユーザ・トランザクション認識器による使用のための方法を説明するフローチャートである。
【図１０】  本発明の一実施形態にもとづくエンドユーザ・トランザクションによるリモート・プロシージャ・コールを自動的にラベルするシステムを説明するためのブロック図である。
【図１１】  本発明にもとづくエンドユーザ・トランザクション認識システム及び／又はエンドユーザ・トランザクションによるリモート・プロシージャ・コールを自動的にラベルするシステムの一般化されたハードウェア・アーキテクチャを説明するためのブロック図である。
【符号の説明】
１００      エンドユーザ
１０１      エンドユーザ・トランザクション（ＥＵＴ）
１０２      ワークステーション（クライアント）
１０３      リモート・プロシージャ・コール（ＲＰＣ）
１０４      サーバ
１１０      ＥＵＴ認識システム
１２０      ＥＵＴモデル学習器
１３０      ＥＵＴモデル
１４０      ＥＵＴ認識器
３００      ＥＵＴ機能セレクタ
３１０      ＥＵＴBayes Net学習システム
４００      ＥＵＴ機能型セレクタ
４０１      ＥＵＴ機能サブセット・セレクタ
５００      ルート・ノード
５００−１〜５００−Ｎ      下位のノード（子ノード）
６００      Bayes Net構造学習モジュール
６１０      ブロック
６２０      Bayes Netパラメータ学習モジュール
７００      ＲＰＣストリーム・セグメント化システム
７１０      ＥＵＴ機能抽出器
７２０      Bayes Net分類器
１０００    エンドユーザ
１００１    仕事負荷ジェネレータ
１００２    ワークステーション
１００３    サーバ
１０１０    ＥＵＴマーカ・エージェント
１０２０    ＥＵＴラベル装置
１０３０    ＲＰＣ
【図１】
0003737714.tif 000002
【図２】
0003737714.tif 000003
【図３】
0003737714.tif 000004
【図４】
0003737714.tif 000005
【図５】
0003737714.tif 000006
【図６】
0003737714.tif 000007
【図７】
0003737714.tif 000008
【図８】
0003737714.tif 000009
【図９】
0003737714.tif 000010
【図１０】
0003737714.tif 000011
【図１１】
0003737714.tif 000012