(57)【要約】      （修正有）【課題】知識を自動的に活用することができる方法、および同知識を使用してダイレクトリモートサポート支援をユーザに提供する。【解決手段】第１のコンピュータシステム１０をトラブルシューティングするシステムであって、トラブルシューティング情報２０を含む電子文書、および前記第１のコンピュータシステム１０によって実行され、前記電子文書の前記トラブルシューティング情報２０に関連するトラブルシューティングコマンドセット２２を記憶するメモリと、前記第１のコンピュータシステム１０からトラブルシューティング要求に応答して、前記電子文書および前記トラブルシューティングコマンドセット２２のアクセスを前記第１のコンピュータシステム１０に送るプロセッサとを備える第２のコンピュータシステム１２を設ける。【選択図】図１
2005285118.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータシステム（１０）をトラブルシューティングするシステムであって、
第２のコンピュータシステム（１２）
を備え、
該第２のコンピュータシステム（１２）は、
トラブルシューティング情報（２０）を含む電子文書と、
前記第１のコンピュータシステム（１０）によって実行され、前記電子文書の前記トラブルシューティング情報（２０）に関連するトラブルシューティングコマンドセット（２２）であって、前記電子文書に関連するトラブルシューティングコマンドセット（２２）と
を記憶するメモリ（２０６）と、
前記第１のコンピュータシステム（１０）からトラブルシューティング要求を受け取り、該トラブルシューティング要求に応答して、前記電子文書および前記トラブルシューティングコマンドセット（２２）のアクセスを前記第１のコンピュータシステム（１０）に送るプロセッサ（２０４）と、
を備えるトラブルシューティングシステム。
【請求項２】
前記トラブルシューティングコマンドセット（２２）は、前記第１のコンピュータシステム（１０）が前記電子文書にアクセスすると、前記第２のコンピュータシステム（１２）から前記第１のコンピュータシステム（１０）に転送される、請求項１記載のトラブルシューティングシステム。
【請求項３】
前記トラブルシューティングコマンドセット（２２）は、前記第２のコンピュータシステム（１２）から前記第１のコンピュータシステム（１０）に自動的に転送され、
前記第１のコンピュータシステム（１０）は、前記転送されたトラブルシューティングコマンドセット（２２）を自動的に実行することをさらに含む、請求項２記載のトラブルシューティングシステム。
【請求項４】
前記転送されたトラブルシューティングコマンドセット（２２）の前記第１のコンピュータシステム（１０）上での各実行ステップに、ユーザ確認が要求される、請求項２記載のトラブルシューティングシステム。
【請求項５】
第１のコンピュータシステム（１０）をトラブルシューティングする方法であって、
前記第１のコンピュータシステム（１０）からのトラブルシューティング要求を第２のコンピュータシステム（１２）において受け取るステップと、
前記トラブルシューティング要求に応答して、電子文書を前記第２のコンピュータシステム（１２）から前記第１のコンピュータシステム（１０）に送るステップであって、前記電子文書は、該電子文書に関連するトラブルシューティングコマンドセット（２２）へのアクセスを含む、送るステップと、
を含むトラブルシューティング方法。
【請求項６】
前記トラブルシューティングコマンドセット（２２）は、前記電子文書の送信と略同時に前記第２のコンピュータシステム（１２）から前記第１のコンピュータシステム（１０）に転送される、請求項５記載のトラブルシューティング方法。
【請求項７】
前記トラブルシューティングコマンドセット２２は、前記第２のコンピュータシステム（１２）から前記第１のコンピュータシステム（１０）に自動的に転送され、
前記第１のコンピュータシステム（１０）は、前記転送されたトラブルシューティングコマンドセット（２２）を自動的に実行することをさらに含む、請求項６記載のトラブルシューティング方法。
【請求項８】
前記転送されたトラブルシューティングコマンドセット（２２）の前記第１のコンピュータシステム（１０）上での各実行ステップに、ユーザ確認が要求される、請求項６記載のトラブルシューティング方法。
【請求項９】
トラブルシューティング情報（２０）および第１のコンピュータシステム（１０）によって実行されるトラブルシューティングコマンドセット（２２）を含む電子文書を生成する方法であって、
特定の問題を記述したトラブルシューティング情報（２０）を入力することと、
トラブルシューティングコマンド（２２）を入力することであって、該コマンドは、前記第１のコンピュータシステム（１０）によって実行されて前記特定の記述された問題を解決するように適合される、トラブルシューティングコマンド（２２）を入力することと、
前記トラブルシューティング情報（２０）の入力と前記トラブルシューティングコマンド（２２）の入力の組み合わせに基づいて、電子文書を生成することであって、前記トラブルシューティングコマンド（２２）は前記第１のコンピュータシステム（１０）によって実行可能である、生成することと、
を含む、電子文書を生成する方法。
【請求項１０】
前記第１のコンピュータシステム（１０）が前記トラブルシューティングコマンド（２２）を実行することにより、前記第１のコンピュータシステム（１０）上に修正支援エージェントが生成される、請求項９記載の電子文書を生成する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムをトラブルシューティングするシステムおよびトラブルシューティングシステムをユーザに提供する対応方法に関する。
【背景技術】
【０００２】
コンピュータネットワーク上で公開される情報を介して、コンピュータソフトウェアに関係するトラブルシューティング情報へのアクセスを提供することが当該技術分野において知られており、このようなネットワークの例は、一般にインターネットと呼ばれるワールドワイドパケット交換ネットワークである。様々なソフトウェア製作企業は、ウェブページ、すなわちハイパーテキストマークアップ言語（ＨＴＭＬ）ベースのファイルをウェブサイト上に提供し、その企業が製作したソフトウェア、または企業が製作したソフトウェアと対話するさらなるソフトウェア、たとえば第三者ソフトウェアに伴う問題の特定および修正を図るユーザがウェブページにアクセスする。
【０００３】
現在、ソフトウェア製作企業は様々な手動メカニズムおよび半自動メカニズムを使用して、各自のユーザに対してソフトウェアサポート支援を届けている。企業ソフトウェアサポート技術者は、電話を介して、出張サポートを通して、またはサポート技術者がユーザのコンピューティング環境を一時的に制御できる、またはトラブルシューティング目的のためにユーザのコンピューティング環境において行う必要がある処置一式をユーザにガイドできるようにするリモートコラボレーションソフトウェアの使用を通してユーザを支援する。すべての場合において、通常、サポート技術者はユーザの環境における情報を調べて、問題をトラブルシューティングし、ユーザの環境を変更して特定された問題を修復する必要がある。これにはサポート技術者およびユーザが時間をかける必要があり、この時間は両者にとってコスト的に高くつく。
【０００４】
ソフトウェア問題をトラブルシューティングしかつ修復するのに必要な時間の削減を図り、多くの企業は、上に述べたように、ユーザがサポートウェブサイトを利用できるようにしている。こういったウェブサイトには、企業のソフトウェアに発生することが知られている様々な問題のトラブルシューティングおよび修復についての文書が含まれている。通常、ユーザによって報告される新しい問題の発生後、企業サポート技術者はオーサリングシステムツールを使用してトラブルシューティング文書を作成する。これら文書は多くの場合、企業によって製作されたソフトウェアに関係する知識ベースの一部をなすものとみなされ、エラー、問題、および関連する修復を特定する特定の文書および情報文書は知識ベースの文書と呼ばれる。修復の種類としては、パッチ、ホットフィックス、およびコマンドが挙げられる。
【０００５】
しかし、ソフトウェア問題に直面しているユーザは、サポートウェブサイト上で有用なトラブルシューティング文書を見つけることができない（またはこのような文書の検索に時間をかけたくない）場合、支援を求めてサポート技術者に電話をかける傾向がある。この場合、サポート技術者は多くの場合、トラブルシューティング文書の知識ベースを検索して、ユーザの問題を解決する何らかの手掛かりがあるか確認することを選ぶ。サポート技術者が何を行う必要があるかを突き止めた後、上に述べたように、サポート技術者は手動または半自動のプロセスを開始する。より高度なケースでは、サポート技術者は、エージェントと呼ばれる実行可能なソフトウェアアプリケーションを作成し、トラブルシューティングタスクに適切な知識でエージェントを構成し、エージェントをユーザに送る。このタイプのユーザ対話はユーザ体験を向上させ、再使用可能な解決策のプールの構築に貢献する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし残念なことに、過去に報告され、トラブルシューティング文書に取り込まれたこのような問題の修復方法についての知識は、効率的に利用されていない。本発明による実施形態は、以下開示するように、知識を自動的に活用することができる方法、および同知識を使用してダイレクトリモートサポート支援をユーザに提供することができる方法を提案する。
【０００７】
本発明者らの知る限り、本発明の開示において述べるトラブルシューティング文書知識を活用する自動的な解決策はない。現在使用されている手動および半自動の解決策については上に述べた。
【課題を解決するための手段】
【０００８】
本発明は、トラブルシューティング情報およびコンピュータシステムによって実行される１つまたは複数のトラブルシューティングコマンドへのアクセスを含む電子文書を使用して、コンピュータシステムをトラブルシューティングするシステムを提供する。トラブルシューティングコマンドは、電子文書に含まれるトラブルシューティング情報に関係する。
【０００９】
方法の態様は、第１のコンピュータシステムからのトラブルシューティング要求を第２のコンピュータシステムにおいて受け取ることを含む。トラブルシューティング要求に応答して、第２のコンピュータシステムは、電子文書を第１のコンピュータシステムに送る。電子文書は、電子文書に関連する１つまたは複数のトラブルシューティングコマンドへのアクセスを含む。
【００１０】
システムの態様は、トラブルシューティング情報を含む電子文書、および第１のコンピュータシステムによって実行され、電子文書のトラブルシューティング情報に関連する１つまたは複数のトラブルシューティングコマンドを記憶するメモリを備える第２のコンピュータシステムを備える。１つまたは複数のトラブルシューティングコマンドは電子文書に関連する。第２のコンピュータシステムは、トラブルシューティング要求を第１のコンピュータシステムから受け取り、トラブルシューティング要求に応答して、電子文書および１つまたは複数のトラブルシューティングコマンドへのアクセスを第１のコンピュータシステムに送るプロセッサをさらに備える。
【００１１】
本発明のさらに他の目的および利点は、本発明の実行に最良であると考えられる最良の形態の単なる例示として、本発明の好ましい実施形態が図示され説明される以下の詳細な説明から当業者に容易に明らかになろう。認識されるように、本発明は他および異なる実施形態も可能であり、いくつかの詳細は様々な自明な場合において変更することが可能であり、これらはすべて本発明から逸脱することなく行われる。
【００１２】
本発明は限定ではなく例として、添付図面の中の図に示され、図面中、同じ参照番号を有する要素は全体を通して同様の要素を表す。
【発明を実施するための最良の形態】
【００１３】
上述の手法とは対照的に、本発明の実施形態によるメカニズムは、トラブルシューティング情報およびコンピュータシステムによって実行される１つまたは複数のトラブルシューティングコマンドへのアクセスを含む電子文書を使用して、コンピュータシステムをトラブルシューティングするシステムを提供する。トラブルシューティングコマンドは、電子文書に含まれるトラブルシューティング情報に関係する。
【００１４】
本発明の実施形態は、ソフトウェアベースのトラブルシューティングアクションおよび／または修復アクションの１つまたは複数の命令をサーバコンピュータ上の知識ベースの文書または関連ファイルから自動的に検索し、これらアクションをクライアントコンピュータ上で実行することが可能なメカニズムからなる。さらなる実施形態では、第１のコンピュータにおけるエラーは第１のコンピュータにおいて自動的に検出され、エラーの説明が第２のコンピュータに提供される。第２のコンピュータは、検出されたエラーに対応する１つまたは複数のトラブルシューティング命令へのアクセスを含む知識ベースの文書を有する知識ベースを備える。第２のコンピュータは、第１のコンピュータによって自動的に実行されてエラーを修正する１つまたは複数の命令を第１のコンピュータに送る。
【００１５】
以下述べるように、トラブルシューティング知識ベースは、ユーザが、各自のコンピュータ上で実行中のソフトウェアに関して有し得る問題を自分で解決（自己解決）するのを助ける知識ベースの文書を含む。通常、知識ベースの文書は、問題、問題のコンテキストを記述し、問題を解決するために行うべきステップについての情報を提供し、たとえば、提供される情報は、コンピュータコンフィギュレーションの変更、クライアントコンピュータ上で実行すべき１つまたは複数のコマンド等に関係する。
【００１６】
本発明の例示的な実施形態について、ユーザにより使用可能であり、かつサーバコンピュータ１２、たとえばソフトウェア企業のトラブルシューティング情報のウェブサーバと通信可能なユーザコンピュータ１０を示す図１を参照してこれより説明する。ユーザコンピュータ１０については図２を参照してより詳細に以下説明する。ユーザコンピュータ１０は、クライアントプログラム１４、すなわち実行可能命令セットを含む。サーバコンピュータ１２も、ユーザコンピュータ１０と同様であり、ユーザコンピュータ１０と通信可能であり、サーバプログラム１６および知識ベース（データ記憶装置）１８を備える。
【００１７】
クライアントコンピュータ１０は、クライアントプログラム１４を実行し、ソフトウェア企業のインフラストラクチャにおけるサーバコンピュータ１２によって実行されるサーバプログラム１６と通信する。クライアントプログラム１４とサーバプログラム１６の間の通信には、当業者に既知の標準ネットワークプロトコルが使用される。一実施形態では、使用されるネットワークプロトコルとしては、ハイパーテキストトランスポートプロトコル（ＨＴＴＰ）またはセキュアＨＴＴＰ（ＨＴＴＰＳ）が挙げられる。ＨＴＴＰおよびＨＴＴＰＳと記したが、当業者は、代替のプロトコルを本発明による実施形態を実施するのに使用することができることを理解しよう。
【００１８】
ソフトウェア問題がクライアントコンピュータ１０において発生した後、たとえば、エラーメッセージがユーザに表示された後、ユーザは手動でクライアントプログラム１４を呼び出し、すなわち、ユーザは、クライアントコンピュータによりクライアントプログラム１４を実行させ、クライアントコンピュータに伴う問題の説明、たとえば、問題の説明、エラーメッセージ、またはトラブルシューティングに関係する他の情報を含む入力をクライアントプログラムに提供する。一実施形態では、クライアントプログラム１４は、企業のウェブサーバ、たとえばサーバコンピュータ１２によって実行されるサーバプログラム１６に送るべき入力をユーザから受け取るウェブブラウザであることができる。別の実施形態では、クライアントプログラム１４は、クライアントコンピュータ１０上で実行され、サーバコンピュータ１２と通信することができるように構成されたソフトウェアエージェントであることができる。
【００１９】
代替の実施形態では、クライアントプログラム１４は、ユーザコンピュータ１０に提示され得る他のソフトウェアエグゼキュータブル（executable）（図示せず）の実行を監視する。クライアントプログラム１４は、当業者に既知のように、クライアントプログラム１４の一部として実行中の、あるいはユーザコンピュータ１０上で別個に実行中のプログラム（図示せず）としてのさらなるコンピュータソフトウェアエグゼキュータブルによってその他のソフトウェアエグゼキュータブルの状態を監視することにより、その他のソフトウェアエグゼキュータブルを監視してソフトウェア障害を自動的に検出する。
【００２０】
サーバプログラム１６は、クライアントプログラム１４から問題の説明を受け取った後、説明されている問題を解析し、ソフトウェア企業の知識ベース１８中の、問題の解決に適切な知識ベースの文書２０を特定する。一実施形態では、データベースまたは他のメカニズムが企業の知識ベース１８の知識ベースデータストア（knowledge base data store）を記憶するのに使用され、複数の検索エンジンおよびデータベース検索技術の１つまたは複数が、説明されている問題の編成、保持、および検索に使用される。特定の一実施形態では、サーバコンピュータ１２上で実行されるウェブサーバまたはウェブサービングソフトウェアが使用されて、ユーザとの対話を容易にするインタフェースがクライアントコンピュータ１０に提供される。
【００２１】
知識ベース１８内では、１つまたは複数の問題に固有の１つまたは複数のトラブルシューティングコマンド２２の一意のセットが、各知識ベースの文書２０に関連付けられている。たとえば、一実施形態では、文書２０に埋め込まれるアクティブ化可能なハイパーリンクボタン２４により、ユーザは命令ファイル、すなわちサーバ１２上のトラブルシューティングコマンドセット２２にアクセスすることが可能である。トラブルシューティングコマンドセット２２は、説明されている問題を解決するためにクライアントコンピュータ１０によって実行されるべきコマンド（複数可）の一連の１つまたは複数の命令を含む。トラブルシューティングコマンドセット２２は、クライアントコンピュータ１０によって実行すべきコマンド（複数可）の単一の命令または複数の命令を含むことができることが当業者により理解されたい。
【００２２】
問題説明を受け取って処理した後、サーバコンピュータ１２は、最も適切な解決策文書、たとえば知識ベースの文書２０をユーザに電子メールで、またはウェブページを介して戻し、ユーザは、知識ベースの文書２０が戻されると、関連するトラブルシューティングまたは修復コマンド（複数可）、たとえばトラブルシューティングコマンドセット２２の自動実行をイネーブルする前に、どの文書が適切であるかを判断する。サーバコンピュータ１２によって実行されるサーバプログラム１６は、ユーザ選択の適切な命令セットを、クライアントコンピュータ１０によって実行されるクライアントプログラム１４に送らせ、クライアントコンピュータは、ダウンロードされた命令セットを実行させるクライアントプログラムを実行する。このようにして、クライアントプログラム１４は、クライアントコンピュータ１０におけるソフトウェア問題のトラブルシューティングおよび／または修復に必要なコマンド（複数可）を実行することが可能なリモートサポートエージェントとして機能する。
【００２３】
リモートサポートエージェントは、命令を受け取る、またはスタックベースのメモリ構造から命令を読み取り、命令に関連する事前条件をチェックし、必要であればクライアントコンピュータ１０上での命令実行のユーザ確認を求め、クライアントコンピュータ上で命令を実行し、実行された命令に関連する事後条件をチェックすることが可能なソフトウェアエグゼキュータブルである。次の命令を受け取ることができ、プロセスは、リモートサポートエージェントにより実行すべきすべての命令に対して繰り返される。ユーザによる実行確認が求められない場合、エージェントは命令の受信、事前条件のチェック、クライアントコンピュータ１０上での命令の実行、および事後条件のチェックに、ユーザの介入なしで進む。一実施形態では、エージェントは、命令の実行にパスワード、たとえばルートパスワードを求める。
【００２４】
上記の方法では、リモートサポートエージェントは、知識ベースの文書２０から独立し、トラブルシューティングコマンドセット２２に関連する汎用実行可能シェルである。一実施形態では、エージェントは、ユーザをガイドするウィザードに類似するインタラクティブユーザインタフェースを備える。関連するトラブルシューティングコマンドセット２２は、一連の１つまたは複数のコマンド、事前条件、および事後条件を含む。コマンドセット２２が知識ベースの文書２０に統合される場合、適切な識別タグ、たとえばＸＭＬ／ＨＴＭＬタグが知識ベースの文書内のコマンド（複数可）を特定する。このようにして、クライアントコンピュータ１０上の問題を解決するように構成された修正サポートエージェントの作成は、エージェントのインスタンスおよび知識ベースの文書２０からの１つまたは複数のコマンドのロードからなる。
【００２５】
リスト１ａ、１ｂに、知識ベースの文書２０がトラブルシューティング情報を含み、トラブルシューティングコマンドセット２２がトラブルシューティング命令を含む上記実施形態による文書の一部の例示的なリストを示す。リスト１ａに知識ベースの文書２０の一部を示し、リスト１ｂに、クライアントコンピュータ３０に送られ、クライアントコンピュータ３０によって実行される関連のトラブルシューティングコマンドセット２２の一部を示す。
リスト１ａ
プロシージャ：
＝＝＝＝＝＝＝＝＝
ａ）現在のインスタンスを停止する（ＮＮＭプロセスがまだ実行中の場合）
ovdbcheck-stop
ｂ）現在のＤＢファイルを除去する
HP-UX/Solaris
cd$OV_DB/analysis/default
rm solid.db
rm solmsg.*
rm./log/sol*.log
リスト１ｂ
<CMD>
<PRECONDITION>
<DESC>ＮＮＭプロセスがまだ実行中であるか否かチェックする</DESC>
<EXEC>ps-ef|grep…</EXEC>
</PRECONDITION>
<EXEC>ovdbcheck-stop</EXEC>
<POSTCONDITION>
…
</POSTCONDITION>
</CMD>
<CMD>
<DESC>現在のＤＢファイルを除去する</DESC>
<EXEC>cd$OV_DB/analysis/default</EXEC>
<EXEC>rm solid.db</EXEC>
<EXEC>rm solmsg.*</EXEC>
<EXEC>rm./log/sol*.log</EXEC>
</CMD>
【００２６】
代替の実施形態では、クライアントコンピュータ１０はトラブルシューティングコマンドセット２２をサーバコンピュータ１２から受け取り、自動的に実行する。さらに別の実施形態では、トラブルシューティングコマンドセット２２は、統合知識ベースの文書２６（点線）に示されるように、知識ベースの文書２０に統合される。統合知識ベースの文書２６は、知識ベースの文書２０に見られるトラブルシューティング情報およびトラブルシューティングコマンドセット２２に見られるトラブルシューティング命令の両方を含む。
【００２７】
リスト２に、トラブルシューティング情報およびトラブルシューティング命令の両方が単一の知識ベースの文書２６に統合される上記代替の実施形態によるＸＭＬベースの文書の一部の例示的なリストを示す。
リスト２
<QUESTION>
一次データベースがダウンした場合にバックアップデータベースから読み取るようにＵＮＩＸ（登録商標）システム上のＶＶＶサーバのコンフィギュレーションをどのように変更することができるか。
</QUESTION>
<ANSWER>
vvvconfig.shスクリプトを-s、-b、および-dオプションとともに実行しなければならない。-bオプション後にバックアップデータベースＩＤを指定することを確認する。
<CMD_EXEC>
$VVVHOME/bin/vvvconfig.sh-s-b-d”${VVV_BKUP_DBID}”
</CMD_EXEC>
<UNDO>
$VVVHOME/bin/vvvconfig.sh-r-b
</UNDO>
また、コンフィギュレーション変更を実行するのに少なくとも５秒待たなければならない。
</ANSWER>
【００２８】
クライアントコンピュータ３０は、リスト２中のＸＭＬタグ名、大なり記号「>」と小なり記号「<」内のテキスト、<CMD_EXEC>タグと<UNDO>タグの間のテキスト内容を表示しない。特定の実施形態では、提示される文書は、<CMD_EXEC>タグ間に見られるコマンドを実行するシェルスクリプトを自動的に生成することが可能なユーザアクティブ化可能トリガメカニズム、たとえば「Do It For Me」ボタンを含む。次いで、生成されたシェルスクリプトは、たとえばアプレットを介してクライアントコンピュータ３０によって受け取られて実行される。「Undo」ボタンは、「Do It For Me」ボタンと同様であり、<UNDO>タグの間に指定されるコマンドのために作成される。
【００２９】
本発明による上記実施形態の変更形態および変形形態が考えられる。たとえば、特定の一実施形態では、クライアントプログラム３２を有するクライアントコンピュータ３０は、クライアントコンピュータ１０およびクライアントプログラム１４に関して上に述べたように動作するが、トラブルシューティングコマンドおよび修復コマンドの生成に使用される情報は、クライアントコンピュータ上のリモートサポートエージェントプログラム３４として自動的に生成される。特定の一実施形態は、ユーザがトラブルシューティングコマンドセット２２の実行を開始した、たとえばユーザが、ソフトウェアベンダのサポートウェブサイト上で特定の問題文書を検索した後、戻されてユーザのウェブブラウザに表示された知識ベースの文書２０に関連する「Do It For Me」ハイパーリンクボタン２４を選択した後、自動的に作成され、アップロードされ、クライアントコンピュータ３０上でリモートに実行されるシェルスクリプトプログラムとしてである。代替の実施形態では、クライアントコンピュータ３０に送られるリモートサポートエージェントプログラム３４の実行は、ユーザのために問題の解決を図るサポート技術者によって開始される。特定の実施形態では、認証メカニズムおよびセキュア送出メカニズムにより、クライアントコンピュータ３０が確実に悪影響を受けないようにされる。
【００３０】
一意のリモートエージェント命令セットをあらゆる問題に対して作成することは、ソフトウェアベンダの技術者にかなりの負担になり得るため、リモートエージェントコマンドセット、たとえばトラブルシューティングコマンドセット２２は自動的に作成される。トリガが、サポート技術者が知識ベースの文書２０を作成する際に使用するトラブルシューティング文書オーサリングシステムに追加される。文書オーサリングシステムは、新しいトラブルシューティング文書、すなわち知識ベースの文書２０のオーサリングプロセスの一環として、トラブルシューティングおよび／または修復コマンドのセットを入力するようにサポート技術者をガイドする「ウィザード」インタフェースを含む。次いで、コマンドセットは、トラブルシューティング文書のテキストで、すなわち知識ベースの文書２６と同様に提示され、また知識ベースの文書２０に関連するリモートエージェント命令セット中に、すなわちトラブルシューティングコマンドセット２２と同様に自動的に生成される。文書および命令セットの基となる予め規定されるＸＭＬフォーマットを使用することにより、データの自動処理が容易になる。リモート支援コマンドを一貫して文書に関連付けることの別の利点は、知識ライフサイクル制御のサポートにおいて明らかである。含まれる情報がもはや関連しない（またはおそらく有害にさえなっている）ことから文書が更新または回収されるとき、それに従ってリモートエージェント命令セットも自動的に更新または回収される。すなわち、知識ベースの文書２０が後に、不正確または不適切であると判断される場合、文書の削除または除去により、関連するトラブルシューティングコマンドセット２２も同時に除去され、除去されたトラブルシューティングコマンドセット２２に基づくリモートプログラム３４の生成が回避される。
【００３１】
特定の一実施形態では、クライアントプログラム１４は、トラブルシューティングコマンドセット２２を実行する前にユーザに通知し、トラブルシューティングまたは修復実行後に結果をユーザに通知する。多くの場合、ユーザは手動で強制的に、実行されたトラブルシューティングまたは修復をクライアントプログラム１４に「アンドゥ」させることができ（特に、試みられたトラブルシューティングまたは修復がうまくいかなかった、またはマイナスの副作用を引き起こした場合）、したがって、他の特定の実施形態では、「アンドゥ」命令セットがあらゆるトラブルシューティングコマンドセットに提供される。一実施形態では、アンドゥ命令セットはトラブルシューティングコマンドセット２２の一部として提供される。別の実施形態では、アンドゥ命令セットは知識ベース１８中の別個のエントリ（図示せず）である。
【００３２】
さらに別の実施形態では、クライアントプログラム１４は、ユーザコンピュータ１０上のユーザ環境の変更が検出される都度、事前対応的に（proactively）循環ベースでサーバプログラム１６に情報を送る。これにより、サーバプログラム１６は、ユーザ環境においていずれの問題も発生する前に、必要であれば（受け取ったクライアントプログラム情報のサーバプログラム評価によって判断される）事前対応トラブルシューティングまたは修復命令をクライアントプログラム１４に送ることができる。
【００３３】
本発明によるさらなる実施形態は、上記システムと併せて修正支援エージェントを組み込む。
【００３４】
上に述べたように、トラブルシューティング知識ベース１８は、ユーザがクライアントコンピュータ１０上で実行中のソフトウェアに伴う問題を自己解決するのを助ける知識ベースの文書２０を含む。通常、知識ベースの文書２０は問題、問題のコンテキストを記述し、問題を解決するステップの実行についての情報を提供する。提供される情報は、パッチのインストール、クライアントコンピュータ１０のコンフィギュレーションの変更、クライアントコンピュータ上で実行すべき一連のコマンド等に関係する。
【００３５】
本発明の実施形態は、自己解決プロセス中にユーザを支援するダウンロード可能なエージェント（修正支援エージェント）３４を各知識ベースの文書２０に関連付けることによってトラブルシューティング情報を向上させる。支援は対話モードで開始され、この間、コンピュータ３０上で実行中のダウンロードされたエージェント３４は、クライアントコンピュータ３０およびクライアントコンピュータ上で実行中のソフトウェアの検証を行い、ユーザは、エージェント３４が実行する前にトラブルシューティングプロセスの各ステップを確認する。信頼関係がエージェント３４とユーザの間に築かれると、ユーザはエージェント支援の全自動実行を許可し、エージェントはクライアントコンピュータ１０によって実行されて、ユーザに代わって問題を解決する。
【００３６】
目標は、まずユーザ体験の向上、次いで修正支援エージェント３４を検出メカニズムと結合することによる真の自己回復システムに向けての移行にある。
【００３７】
図２は、本発明の実施形態を実施することができる例示的なコンピュータシステム１２を示すブロック図である。本発明は、現在利用可能なパーソナルコンピュータ、ミニメインフレーム等と併せて使用することが可能である。クライアントコンピュータ１０の機能はサーバコンピュータ１２の機能と同様である。
【００３８】
コンピュータシステム１２は、バス２０２または情報を通信する他の通信機構、およびバス２０２に結合され、情報を処理するプロセッサ２０４を備える。コンピュータシステム１２は、バス２０２に結合され、トランザクションおよび対話データ、ならびにプロセッサ２０４により実行すべき命令を記憶する、ランダムアクセスメモリ（ＲＡＭ）または他の動的記憶装置等のメインメモリ２０６も備える。メインメモリ２０６は、プロセッサ２０４による実行すべき命令の実行中に、変数または他の中間情報の一時的な記憶にも使用することができる。コンピュータシステム１２は、バス２０２に結合され、プロセッサ２０４のために静的な情報および命令を記憶する読み取り専用メモリ（ＲＯＭ）２０８または他の静的記憶装置をさらに備える。磁気ディスクまたは光ディスク等の記憶装置２１０が設けられ、バス２０２に結合されて、トランザクションおよび対話データ、ならびに命令を記憶する。
【００３９】
コンピュータシステム１２は、バス２０２を介して、陰極線管（ＣＲＴ）またはフラットパネルディスプレイ等のディスプレイ２１２に結合して、情報を表示する。英数字キーおよび機能キーを含む入力装置２１４がバス２０２に結合され、情報およびコマンド選択をプロセッサ２０４に通信する。別のタイプのユーザ入力装置は、マウス、トラックボール、またはカーソル方向キー等のカーソル制御機構２１６であり、方向情報およびコマンド選択をプロセッサ２０４に通信し、ディスプレイ２１２上のカーソルの移動を制御する。この入力装置は通常、２つの軸、すなわち第１の軸（たとえば、ｘ）および第２の軸（たとえば、ｙ）における自由度２を有し、装置が平面上の位置を特定できるようにする。
【００４０】
本発明は、図２に示すシステム等のコンピュータシステム１２を使用して、コンピュータシステムをトラブルシューティングするシステムを提供することに関する。本発明の一実施形態によれば、知識ベースの文書２０およびトラブルシューティングコマンドセット２２が、入力装置２１４、カーソル制御機構２１６、または通信インタフェース２１８を介して受け取った入力に応答して、メインメモリ２０６に含まれる命令シーケンスを実行するプロセッサ２０４に応答して、コンピュータシステム１２によって、接続されたコンピュータシステム１０に提供される。このような命令は、記憶装置２１０等の別のコンピュータ可読媒体からメインメモリ２０６に読み出すことができる。
【００４１】
しかし、コンピュータ可読媒体は記憶装置２１０等の装置に限定されない。たとえば、コンピュータ可読媒体としては、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光学媒体、パンチカード、紙テープ、パターンになった穴を有する他の任意の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、他の任意のメモリチップまたはカートリッジ、電子信号、電磁信号、赤外線信号、または光信号に埋め込まれた搬送波、コンピュータが読み取ることのできる他の任意の媒体を挙げることができる。メインメモリ２０６に含まれる命令シーケンスの実行により、プロセッサ２０４に以下述べるプロセスステップを実行させる。代替の実施形態では、ハードワイヤード回路部を、コンピュータソフトウェア命令の代替として、または追加として使用して本発明を実施することができる。したがって、本発明の実施形態は、いずれの特定のハードウェア回路部とソフトウェアの組み合わせにも限定されない。
【００４２】
コンピュータシステム１２は、バス２０２に結合された通信インタフェース２１８も備える。通信インタフェース２１８は、既知のように双方向データ通信を提供する。たとえば、通信インタフェース２１８は、対応するタイプの電話回線にデータ通信接続を提供する統合サービスデジタルネットワーク（ＩＳＤＮ）カード、デジタル加入者回線（ＤＳＬ）カード、またはモデムであることができる。別の例としては、通信インタフェース２１８は、対応ＬＡＮにデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであることができる。ワイヤレスリンクも実施することが可能である。このようないずれの実施形態においても、通信インタフェース２１８は、様々なタイプの情報を表すデジタルデータストリームを搬送する電子信号、電磁信号、または光信号を送受信する。特に留意すべきことは、通信インタフェース２１８を通しての通信により、クライアントコンピュータ１０からの問題説明の送信または受信、ならびにサーバコンピュータ１２からの知識ベースの文書２０および関連するトラブルシューティングコマンドセット２２の送信または受信を可能にすることができることである。たとえば、通信インタフェース２１８を使用して、２以上のコンピュータシステム１２を従来のように互いに共にネットワーク化することができる。
【００４３】
ネットワークリンク２２０は通常、１つまたは複数のネットワークを通して他のデータ装置へのデータ通信を提供する。たとえば、ネットワークリンク２２０は、ローカルネットワーク２２２を通してホストコンピュータ２２４またはインターネットサービスプロバイダ（ＩＳＰ）２２６により運用されるデータ機器に接続を提供することができる。そして、ＩＳＰ２２６は、現在「インターネット」２２８と一般に呼ばれるワールドワイドパケットデータ通信ネットワークを通してデータ通信サービスを提供する。ローカルネットワーク２２２およびインターネット２２８は両方とも、デジタルデータストリームを搬送する電子信号、電磁信号、または光信号を使用する。コンピュータシステム１２に、またコンピュータシステム１２からデジタルデータを搬送する様々なネットワークを通る信号およびネットワークリンク２２０上、かつ通信インタフェース２１８を通しての信号は、情報を搬送する例示的な形態の搬送波である。
【００４４】
コンピュータシステム１２は、ネットワーク（複数可）、ネットワークリンク２２０、および通信インタフェース２１８を通してプログラムコードを含むメッセージを送り、データを受け取ることができる。インターネットの例では、サーバ２３０は、インターネット２２８、ＩＳＰ２２６、ローカルネットワーク２２２、および通信インタフェース２１８を通してアプリケーションプログラムに要求されたコードを送ることができる。本発明によれば、このような１つのダウンロードされるアプリケーションは、コンピュータシステムのトラブルシューティングに提供される。
【００４５】
受け取られたコードは、受け取られたときにプロセッサ２０４によって実行することができ、かつ／または後で実行するために記憶装置２１０または他の不揮発性記憶装置に記憶することができる。このようにして、コンピュータシステム１２は搬送波の形でアプリケーションコードを得ることができる。
【００４６】
トラブルシューティング情報および命令について本明細書に説明したが、情報および命令には、クライアントコンピュータ１０の修復に関する修復情報および修復命令も含むことができることが当業者により理解されよう。
【００４７】
上記明細書を読んだ後、当業者は、本明細書に大まかに開示した本発明の様々な変更、等価物の置換、および様々な他の態様を行うことができる。したがって、本明細書に認められる保護は添付の特許請求の範囲およびその等価物に含まれる規定によってのみ限定されることを意図する。
【図面の簡単な説明】
【００４８】
【図１】本発明による実施形態の高レベルブロック図である。
【図２】本発明の実施形態と併せて使用可能なコンピュータシステムのブロック図である。
【図１】
2005285118.tif 000003
【図２】
2005285118.tif 000004