(57)【要約】コンピュータハードウェア及びソフトウェアのオンライン診断及び修復のための方法と装置を提供する。クライアントアプリケーション及び実行可能なプログラムスクリプトは、診断対象のコンピュータ（１０８）にダウンロードされる。クライアントアプリケーションは、スクリプトを実行し、これらのスクリプトを実行した結果として得られる情報をサーバ（１０４）に返す。次に、サーバ（１０４）は、返された情報にルールベース分析を適用し、診断対象のコンピュータ（１０８）に処置策を提供する。処置策には、検出された問題に対する潜在的な矯正策に関する情報、又は、自動的に修復を行なうための処置策を含み得る。１つの実施形態において、クライアントコンピュータ（１０８）は、修復を実施するために必要な情報又はファイルが存在する正確で普遍的な資源位置に導かれる。
2004514208.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを遠隔操作で診断するための方法であって、
サーバとクライアントコンピュータに関連する通信インターフェイスとの間において通信を確立する段階と、
前記クライアントコンピュータ上で動作するクライアントアプリケーションと前記サーバとの間において通信を確立する段階と、
前記通信インターフェイスに関連付けられた信号であって、前記サーバによって受信された前記信号に応じて、前記サーバから前記クライアントアプリケーションに第１診断ツールをダウンロードする段階と、
前記第１診断ツールを実行する段階と、
前記クライアントアプリケーションからの結果を前記サーバに返す段階と、
前記サーバからの診断を前記通信インターフェイスに返す段階と、
が含まれる方法。
【請求項２】
請求項１に記載の方法であって、前記通信インターフェイスにはブラウザが含まれ、更に、前記方法には、
前記サーバからのクライアント識別子を前記ブラウザにダウンロードする段階と、
ブラウザウィンドウのタイトルバーに前記識別子を配置する段階と、
前記クライアントアプリケーションに前記識別子を渡す段階であって、前記クライアントアプリケーションが前記ブラウザウィンドウから前記識別子をコピーする前記段階と、
が含まれる方法。
【請求項３】
請求項１に記載の方法であって、更に、
前記クライアントコンピュータに対応する前記サーバに関連するデータベースにユーザレコードを確立する段階であって、前記レコードには状態フィールドが含まれる前記段階と、
前記通信インターフェイスから受信された信号に応じて、前記状態フィールドを第１の値に設定する段階と、
前記ユーザレコードの前記第１の値を検出する前記クライアントアプリケーションに応じて、前記クライアントアプリケーションを用いて第２診断ツールを実行する段階と、
が含まれる方法。
【請求項４】
請求項３に記載の方法であって、更に、
前記クライアントアプリケーションから受信された信号に応じて、前記第２診断ツールを実行する前記ステップが本質的に完了した後、前記状態フィールドを第２の値に設定する段階と、
前記ユーザレコードにおける前記第２の値を検出する前記通信インターフェイスに応じて次のページを表示する段階と、
が含まれる方法。
【請求項５】
請求項３に記載の方法であって、前記クライアントアプリケーションは、前記サーバにポーリングを行なって前記第１の値を検出する方法。
【請求項６】
請求項４に記載の方法であって、前記通信インターフェイスは、前記サーバにポーリングを行なって前記第２の値を検出する方法。
【請求項７】
請求項１に記載の方法であって、更に、
前記通信インターフェイスを用いて、潜在的なコンピュータ問題を選択するようにユーザを促す段階と、
前記ユーザの入力に応じて、前記クライアントアプリケーションを用いて、第２診断ツールをダウンロードして実行する段階と、
前記第２診断ツールの実行の結果を前記サーバに返す段階と、
前記通信インターフェイスを用いて、前記ユーザに処置策を表示する段階と、
が含まれる方法。
【請求項８】
請求項７に記載の方法であって、前記サーバは、前記第２診断ツールを実行した前記結果を複数の記憶された結果と比較し、前記記憶された各結果は、複数の処置策の１つに対応し、また、前記サーバは、前記複数の処置策の少なくとも第１の処置策を前記通信インターフェイスに返す方法。
【請求項９】
請求項７に記載の方法であって、前記第２診断ツールは、前記クライアントコンピュータ上に生成されるエラーメッセージを取り込み、また、前記サーバに結果を返す前記ステップには、前記取り込まれたエラーメッセージを前記サーバに返す段階が含まれる方法。
【請求項１０】
請求項１に記載の方法であって、更に、
前記通信インターフェイスからの信号であって、前記サーバによって受信された前記信号に応じて、前記サーバから第２クライアント診断ツールを前記クライアントアプリケーションにダウンロードする段階と、
前記第２クライアント診断ツールを実行する段階と、
前記クライアントアプリケーションからの結果を前記サーバに返す段階と、
が含まれる方法。
【請求項１１】
請求項１に記載の方法であって、前記処置策には、インストールされたハードウェアの一覧と、インストールされたソフトウェアの一覧と、ハードウェア欠陥と、ソフトウェア欠陥と、保守手順を実行するための助言と、更なる情報を得るための情報源と、の少なくとも１つに関する情報が含まれる方法。
【請求項１２】
請求項１に記載の方法であって、更に、
前記クライアントコンピュータ上にインストールされた装置の少なくとも部分的な一覧表をユーザに提供する段階と、
前記クライアントコンピュータのユーザを促して、１つ以上の追加的にインストールされた装置を識別する段階と、
が含まれる方法。
【請求項１３】
請求項１に記載の方法であって、更に、
前記クライアントコンピュータ上にインストールされた装置の少なくとも部分的な一覧表を前記サーバに関連付けられたデータベースに記憶する段階が含まれる方法。
【請求項１４】
コンピュータハードウェア及びソフトウェアを遠隔操作で診断するためのシステムであって、
サーバと、
サーバアプリケーションプログラムと、
クライアントコンピュータと、
複数のクライアント診断ツールと、
前記サーバと前記クライアントコンピュータとを相互接続するコンピュータネットワークと、
前記サーバと通信を行なう通信インターフェイスと、
前記サーバと通信を行なうクライアントアプリケーションプログラムであって、
前記複数のクライアント診断ツールの少なくとも１つを実行する機能であって、前記クライアント診断ツールの内の少なくとも１つが前記サーバからダウンロードされる前記機能と、
前記実行ステップから得られた結果を前記サーバに返す機能であって、前記サーバに戻された前記結果に応じて、前記サーバアプリケーションプログラムは、前記クライアントコンピュータに関する処置策を前記通信インターフェイスに返す前記機能と、が含まれる数多くの機能を実行する前記クライアントアプリケーションプログラムと、
が含まれるシステム。
【請求項１５】
請求項１４に記載のシステムであって、前記コンピュータネットワークは、インターネットを含むシステム。
【請求項１６】
請求項１４に記載のシステムであって、第１の前記診断ツールは、前記クライアントコンピュータ上にインストールされたハードウェア及びソフトウェアの第１の一覧表を作成するシステム。
【請求項１７】
請求項１６に記載のシステムであって、前記第１の一覧表は、前記通信インターフェイスに返されるシステム。
【請求項１８】
請求項１４に記載のシステムであって、前記クライアントコンピュータに関する前記処置策には、提案された保守動作と、提案された修復と、検出された欠陥と、追加の修復情報源への照会と、の内の少なくとも１つが含まれるシステム。
【請求項１９】
請求項１８に記載のシステムであって、前記追加の修復情報源への照会には、電話番号、メーリングアドレス、Ｅメールアドレス及びユニバーサル・リソース・ロケータの内の少なくとも１つを提供する段階が含まれるシステム。
【請求項２０】
コンピュータのユーザに遠隔地から前記コンピュータの診断を提供するための方法であって、
前記コンピュータに関連する通信インターフェイスと前記遠隔地に配置されたサーバとの間において通信チャンネルを確立する段階と、
前記サーバが前記通信インターフェイスから第１の信号を受信するのに応じて、クライアントアプリケーションを前記コンピュータにダウンロードする段階と、
前記クライアントアプリケーションを前記コンピュータ上にインストールする段階と、
前記サーバが前記通信インターフェイスから第２の信号を受信するのに応じて、第１診断ツールを前記コンピュータにダウンロードする段階と、
前記クライアントアプリケーションを用いて、前記第１診断ツールを実行する段階であって、前記コンピュータに関連するハードウェアの少なくとも部分的な一覧表が得られる前記段階と、
前記クライアントアプリケーションからの前記ハードウェアの前記少なくとも部分的な一覧表を前記サーバに返す段階と、
第２診断ツールを前記コンピュータにダウンロードする段階と、
前記クライアントアプリケーションを用いて、前記第２診断ツールを実行する段階であって、前記インストールされたハードウェアの少なくとも一部の少なくとも第１機能テストが行なわれる前記段階と、
前記第１機能テストからの第１結果を前記サーバに返す段階と、
前記第１結果を分析する段階と、
前記コンピュータの処置策を前記ユーザに返す段階と、
が含まれる方法。
【請求項２１】
請求項２０に記載の方法であって、前記第１結果を分析する前記ステップには、前記第１結果と、関連する処置策を有する複数の記憶された結果とを比較する段階が含まれる方法。
【請求項２２】
請求項２０に記載の方法であって、更に、
第３診断ツールを前記コンピュータにダウンロードする段階と、
前記クライアントアプリケーションを用いて、前記第３診断ツールを実行する段階であって、前記コンピュータに常駐するアプリケーションが開かれ、また、前記常駐アプリケーションを開くことに関する情報が、前記サーバに返される段階と、
が含まれる方法。
【請求項２３】
請求項２２に記載の方法であって、前記情報には、前記常駐アプリケーションをロードする時間と、エラーメッセージと、前記常駐アプリケーションを終了する時間と、の内の少なくとも１つが含まれる方法。
【請求項２４】
請求項２０に記載の方法であって、更に、
前記コンピュータに識別子を割当てる段階と、
前記サーバから前記識別子を前記通信インターフェイスにダウンロードする段階と、
前記コンピュータ上のウィンドウのタイトルバーに前記識別子を配置する段階と、
前記タイトルバーから前記識別子を前記クライアントアプリケーションにコピーする段階と、
が含まれる方法。
【請求項２５】
請求項２０に記載の方法であって、前記第１診断ツールを実行する前記ステップは、前記クライアントアプリケーションが前記サーバ上に記憶されたユーザレコードの第１の値を検出するのに応じて開始され、前記第１の値は、前記通信インターフェイスから受信される信号に応じて、前記ユーザレコードに入力される方法。
【請求項２６】
請求項２５に記載の方法であって、前記第１診断ツールを実行する前記ステップの後、第２の値が、前記ユーザレコードに入力され、また、前記通信インターフェイスが前記第２の値を検出するのに応じて、次のページが表示される方法。
【請求項２７】
コンピュータを遠隔操作で診断するための方法であって、　コンピュータ関連選択入力を表示画面に提供する段階であって、前記入力が、ハードウェア関連選択入力、ソフトウェア関連選択入力、性能関連選択入力、及び他の関連する選択入力の内、複数を含む前記段階と、
コンピュータを用いて、複数のステップを実行する段階であって、前記複数のステップには、コンピュータに関連するハードウェア装置の少なくとも部分的な一覧表をチェックするステップと、数多くの前記ハードウェア装置に関連する機能テストを行なうステップと、コンピュータに関連する性能データを決定するステップと、コンピュータに関連するソフトウェアを診断するステップと、前記選択入力の内の少なくとも１つに依拠するステップと、コンピュータに関連するテストアプリケーションからログファイルを利用してコンピュータに関連する前記ハードウェア装置及び／又は前記ソフトウェアに関係する診断情報を作成するステップと、が含まれる前記段階と、
前記診断情報に基づき出力情報を生成する段階と、
が含まれる方法。
【請求項２８】
請求項２７に記載の方法であって、前記提供するステップには、前記ソフトウェア関連選択入力を選択する段階と、診断ソフトウェアに関係する第１メニューを作成する段階と、が含まれる方法。
【請求項２９】
請求項２７に記載の方法であって、前記提供するステップには、前記性能データ選択入力を選択する段階と、コンピュータの診断性能に関係する第２メニューを生成する段階と、が含まれる方法。
【請求項３０】
請求項２７に記載の方法であって、前記実行するステップには、前記ハードウェア装置の少なくとも部分的な前記一覧表をチェックする段階と、前記ハードウェア装置の前記少なくとも部分的な一覧表に関連する前記機能テストを行なう段階と、前記選択入力の内の少なくとも１つがコンピュータのユーザによって起動されたか否か確認する段階と、が含まれる方法。
【請求項３１】
請求項２７に記載の方法であって、前記出力情報は、コンピュータのユーザを支援してコンピュータを変更するステップと、前記サーバによる変更をコンピュータに提供するステップと、コンピュータに対して変更を行なうことに関する情報を有し得る情報源を提供するステップと、の内の少なくとも１つに関する方法。
【請求項３２】
請求項３１に記載の方法であって、前記出力情報には、
ウェブサイトリンク情報と、電話リンク情報と、顧客ヘルプ回線リンク情報と、電話サポートリンク情報と、ソフトウェアパッチと、の内の少なくとも１つが含まれる方法。
【請求項３３】
請求項２７に記載の方法であって、更に、
コンピュータに識別子を割当てる段階と、
コンピュータに関連する通信インターフェイスに前記識別子を提供する段階と、
コンピュータを用いて実行可能なクライアントアプリケーションに前記識別子を提供する段階と、
が含まれる方法。
【請求項３４】
請求項３３に記載の方法であって、
前記通信インターフェイスには、クライアントブラウザが含まれ、前記提供するステップには、前記クライアントブラウザのタイトルバーに前記識別子を配置する段階と、前記クライアントアプリケーションを用いて、前記タイトルバーを読み取る段階と、が含まれる方法。
【請求項３５】
コンピュータを遠隔操作で診断するためのシステムであって、
サーバと、
前記サーバと通信を行なう複数の項目を記憶する記憶メモリであって、前記項目には、コンピュータに関連するハードウェア装置の一覧表チェックに関係する第１診断ツール、コンピュータに関連するハードウェア装置に対して機能テストを行なうことに関係する第２診断ツール、コンピュータの動作に関連する性能データを決定することに関係する第３診断ツール、コンピュータに関連するソフトウェアを診断することに関係する第４診断ツール、及び／又はコンピュータに関連するテストアプリケーションからのファイル、が含まれる前記記憶メモリと、
が含まれるシステム。
【請求項３６】
請求項３５に記載のシステムであって、
前記記憶メモリは、コンピュータ上で実行可能なクライアントアプリケーションを記憶し、また、選択入力を利用することに関係する第６診断ツールも記憶するシステム。
【請求項３７】
請求項３６に記載の方法であって、
クライアントアプリケーションは、前記サーバからコンピュータにダウンロードされ、また、前記クライアントアプリケーションは、前記選択入力の内の少なくとも１つがコンピュータのユーザによって起動される時、情報を得るのに用いられ、また、起動された時、前記少なくとも１つの選択入力に関する情報が、前記サーバに提供される方法。
【請求項３８】
請求項３７に記載のシステムであって、更に、
前記クライアントアプリケーションを実行し、また、前記選択入力を表示するために用いられる第１コンピュータを含むシステム。
【請求項３９】
コンピュータを診断するための方法であって、
通信インターフェイスアプリケーションを診断ウェブサイトに導く段階と、
診断対象のコンピュータに関係する識別情報を提供する段階と、
診断対象の前記コンピュータでクライアントアプリケーションを受信する段階と、
診断対象の前記コンピュータにインストールされたハードウェアのテスト結果を受信する段階と、
診断する問題を選択する段階と、
前記問題に関する情報を受信する段階であって、前記情報には提案された自動修正及び提案された自助手順の内の少なくとも１つが含まれる段階と、
が含まれる方法。
【請求項４０】
請求項３９に記載の方法であって、更に、前記クライアントアプリケーションを実行する段階が含まれ、前記クライアントアプリケーションが、前記通信インターフェイスアプリケーションとは独立に実行される方法。
【請求項４１】
請求項３９に記載の方法であって、更に、
診断対象の前記コンピュータで少なくとも第１スクリプトを受信する段階と、
前記少なくとも第１スクリプトを実行する段階と、が含まれる方法。
【請求項４２】
請求項４１に記載の方法であって、前記少なくとも第１スクリプトには、診断プログラムが含まれる方法。
【請求項４３】
請求項４１に記載の方法であって、前記少なくとも第１スクリプトを実行する前記ステップには、前記クライアントアプリケーションと共に前記第１スクリプトを実行する段階が含まれる方法。
【請求項４４】
請求項３９に記載の方法であって、前記通信インターフェイスアプリケーションは、診断対象の前記コンピュータ上で動作する方法。
【請求項４５】
請求項３９に記載の方法であって、前記通信インターフェイスアプリケーションには、インターネットブラウザが含まれる方法。
【請求項４６】
請求項３９に記載の方法であって、更に、ユーザ識別情報を提供する段階が含まれる方法。
【請求項４７】
請求項３９に記載の方法であって、更に、スクリプトを受信してユーティリティプログラムを実行する段階が含まれ、提案された自動修正を含む情報の受信に応じて、前記提案された自動修正は、前記スクリプトを実行してユーティリティプログラムを実行することができる方法。
【請求項４８】
請求項３９に記載の方法であって、提案された自助手順が受信され、前記提案された自助手順には、前記手順を行なう方法を説明する指導機能が含まれる方法。
【請求項４９】
コンピュータを診断するための方法であって、
遠隔コンピュータから識別情報を受信する段階と、
識別子を前記遠隔コンピュータに割当てる段階と、
クライアントアプリケーションを前記遠隔コンピュータに提供する段階と、
前記クライアントアプリケーションを実行する段階であって、前記遠隔コンピュータにインストールされたハードウェアの一覧表が編集される前記段階と、
前記遠隔コンピュータに処置策を返す段階であって、前記処置策には、提案された自動修正と、提案された自助手順と、提案された保守手順と、の内の少なくとも１つが含まれる前記段階と、
が含まれる方法。
【請求項５０】
請求項４９に記載の方法であって、前記クライアントアプリケーションを実行する前記ステップは、通信インターフェイスアプリケーションとは独立に行われる方法。
【請求項５１】
請求項４９に記載の方法であって、更に、少なくとも第１テストスクリプトを前記遠隔コンピュータに提供する段階が含まれ、前記クライアントアプリケーションを実行する前記ステップには、前記テストスクリプトを実行する段階が含まれる方法。
【請求項５２】
請求項４９に記載の方法であって、更に、
少なくとも第１テストスクリプトを前記遠隔コンピュータに提供する段階と、
問題を診断する段階であって、前記少なくとも第１テストスクリプトを実行する段階が含まれる前記段階と、
が含まれる方法。
【請求項５３】
請求項４９に記載の方法であって、更に、
ユーザによって識別された問題の選択を前記遠隔コンピュータにおいて受信する段階と、
前記問題を診断する段階であって、前記選択に応じて実行される前記段階と、
が含まれる方法。
【請求項５４】
請求項４９に記載の方法であって、更に、
少なくとも第１テストスクリプトを前記遠隔コンピュータに提供する段階と、
前記テストスクリプトを実行する段階であって、少なくとも第１問題が、前記遠隔コンピュータに関連して識別される段階と、
前記識別された問題を診断する段階と、
が含まれる方法。
【請求項５５】
請求項４９に記載の方法であって、前記遠隔コンピュータにインストールされたソフトウェアの一覧表が編集される方法。
【請求項５６】
請求項４９に記載の方法であって、更に、提案された自動修正を行なうためのスクリプトを前記遠隔コンピュータに提供する段階が含まれる方法。
【請求項５７】
請求項４９に記載の方法であって、更に、前記提案された自動修正を行なうために前記遠隔コンピュータでの信号の受信に応じて、前記提案された自動修正を行なう段階が含まれる方法。
【請求項５８】
請求項４９に記載の方法であって、更に、
識別及び選択された問題の内の少なくとも１つを診断する段階と、
処置策を返す前記ステップの後、前記問題を再診断する段階と、
が含まれる方法。
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、遠隔地点からのコンピュータの診断に関する。特に、本発明は、遠隔地点からのコンピュータのハードウェア、ソフトウェア及び性能の問題を診断するための方法と装置であって、遠隔地点において少なくとも実質的に人間の支援を必要としない方法と装置に関する。
【０００２】
発明の背景
コンピュータの動作に関連する問題の診断及び修復は、コンピュータ業界にとってますます重要になっている。特に、繰り返し起こる問題を修復する際、熟練した又不慣れなコンピュータユーザの双方を支援することは、コンピュータハードウェア及びソフトウェア製造業者側の大きな負担になっている。通常、コンピュータユーザが直面する問題は、人間の電話オペレータによって処理される。電話オペレータ、即ち“サポート職員”は、問題のあるコンピュータに通信リンクを介してアクセスしたりしなかったりする。一般的に、遠隔地からコンピュータの問題を診断し修復するプロセスは、コンピュータユーザ及びサポート職員双方にとって時間のかかるものである。更に、サポート職員を提供すると、コンピュータ業界にとっては、かなりの費用負担になる。
【０００３】
サポート職員集団の維持に関連する出費を減らすために、コンピュータ業界は、様々な取り組みを実施してきている。例えば、サポート職員へのユーザアクセスを厳しく制限するソフトウェア及びハードウェア会社が在る。アクセスが、最近製品を購入した人に限定されたり、あるいは、サポート職員への連絡に対して料金がユーザに請求されたりする。しかしながら、このような支援を受ける資格がある顧客を限定することによって、あるいは、このような支援に対して料金を請求することによって、支援に対する顧客のアクセスを制限すると、顧客に不快な気持ちを起こさせる。更に、このような取り組みでは、問題をうまく修復するのに必要な時間が減らず、また、遠隔地からの問題に対する診断や修復の困難さが緩和されない。
【０００４】
他の選択肢として、又はサポート職員へのアクセスに対する制限に加えて、“オンライン”ヘルプを提供するコンピュータハードウェア及びソフトウェアプロバイダもいる。このようなオンラインヘルプは、典型的な問題とこれらの問題に対する提案された解決策を陳述した形態である。このオンラインヘルプは、ハードウェア及びソフトウェアと共に提供される媒体に記憶されたり、あるいは、インターネット等のコンピュータネットワーク上で、指定されたサーバと交信することによってユーザがアクセスしたりできる。しかしながら、このようなシステムは、コンピュータユーザが、そこに含まれた問題や提案された解決策の中から自分の特定の問題を認識できない場合、役に立たない。更に、このようなシステムは、特定のハードウェア又はソフトウェアに直接関連する問題に対してのみ支援を行なう。従って、このようなシステムは、例えば、特定のハードウェアやソフトウェアに影響を及ぼす問題であるが、ユーザのコンピュータにおける他のハードウェアやソフトウェア構成要素に起因する問題に対しては、ユーザを支援してうまく対処することが一般的に不可能である。
【０００５】
また、コンピュータハードウェア及びソフトウェアのプロバイダは、遠隔地のサポート職員が、遠隔地のユーザのコンピュータから情報を操作又は取得し得るプログラムを利用している。このようなシステムの利点は、専門の職員が直接ユーザのコンピュータを扱えることである。しかしながら、ユーザは、見ず知らずの他人がユーザのコンピュータに全面的にアクセスできることには異議を唱える場合がある。更に、このようなシステムでは、サポートスタッフを維持する必要性が無くならず、また、このようなシステムは、ユーザのコンピュータ資源に比較的大きい影響を及ぼす。
【０００６】
コンピュータユーザに対するサポート提供への更に他の取り組みは、自動又は半自動の診断プログラムを提供することである。このようなプログラムは、ユーザのコンピュータに常駐したり、あるいは、インターネット等のコンピュータネットワークを介してアクセスしたりできる。しかしながら、広範囲の問題を診断して潜在的に対処する能力を有するユーザのコンピュータに常駐するサポートプログラムを提供するには、比較的規模の大きなプログラムが必要である。特に、ユーザのコンピュータが正常に動作していない場合、このようなプログラムをロード又はアクセスすると、問題になる場合がある。同様に、ユーザによるコンピュータネットワークを介した診断プログラムへの相互接続を可能にする診断プログラムは、プログラムが比較的大きく、また、比較的大量のメモリや資源を動作のために必要とするという点において、一般的に、ユーザのコンピュータに大きな影響を及ぼす。例えば、インターネットブラウザは、コンピュータのシステム情報や制御設定値へのアクセスを可能にし得るが、ＡＣＴＩＶＥ・Ｘ又は他のブラウザの“プラグ・イン”等、このような対話機能を可能にするために必要なブラウザ構成要素は、ユーザのコンピュータに比較的大量の資源を要求する。更に、あらゆる種類又はバージョンのブラウザが、特定のブラウザのプラグ・インと互換性があるとは限らず、また、ユーザは、追加の又は他のブラウザ又はプラグ・インを取得しインストールすることが必要な場合がある。従って、このようなシステムの運用は、問題を生じる場合がある。更に、このようなシステムは、ユーザコンピュータに対して自動的な修復が不可能である。
【０００７】
コンピュータプログラムを遠隔地から診断し修復し得る方法と装置を提供すると有利である。特に、遠隔地でのサポート職員の関与を本質的に必要とせず、遠隔地からコンピュータの問題を遠隔操作で診断し修復するための方法と装置を提供すると有利である。更に、診断を必要とする問題又は問題群の結果として利用可能な資源が制限されているコンピュータ上で動作が可能な、遠隔地からコンピュータの問題を診断するための方法と装置を提供すると有利である。また、提案された解決策を取得するために、問題の正確な性質をユーザが言い表す必要の無い方法と装置を提供すると有利である。更に、提示されたほとんどの問題をうまく診断することが可能な、遠隔地からコンピュータの問題を診断するための方法と装置であって、妥当な費用で提供し得る方法と装置を提供すると有利である。
【０００８】
発明の概要
本発明に基づき、遠隔地からコンピュータの問題を診断するための方法と装置を提供する。一般に、本発明によって、診断テスト又は個々の指示を、遠隔地からダウンロードし、また、診断対象のコンピュータ又は他の装置上で動作させることが可能になる。特に、本発明によって、診断対象のコンピュータの資源を大量に必要とせずコンピュータを診断することが可能である。更に、自動解決策が利用可能な場合、本発明は、コンピュータを修復することが可能である。
【０００９】
本発明の１つの実施形態に基づき、コンピュータの問題の遠隔操作診断を可能にする方法と装置を提供する。本方法と装置によれば、診断対象のコンピュータのユーザは、診断サーバと交信を開始する。この交信は、インターネットブラウザプログラム等の通信インターフェイスを用いて、無線ネットワーク等のコンピュータネットワークを介して行ない得る。こうして、クライアントアプリケーションが、サーバからコンピュータにダウンロードされる。クライアントアプリケーションは、診断サーバからダウンロードし得るスクリプト又は個々のコマンドを実行することが可能である。一般に、スクリプトには、クライアントコンピュータに関する様々な情報を収集するための診断ツールが含まれる。クライアントスクリプト又は個々のコマンドを実行することにより得られた結果は、診断サーバに返される。返された結果は、ルールベース分析を用いて記憶された結果と比較し、処置策がコンピュータのブラウザに返される。この処置策には、保守又は修復手順を自動的に実行する段階が含まれたり、ユーザによる特定の保守又は更新手順の実施を提案したり、ユーザをウェブ・ページ又は情報源に自動的に導いたり、診断対象の問題に関する更に詳細な情報源や支援源にユーザを導いたりする。
【００１０】
本発明の他の実施形態によれば、診断対象のコンピュータ上で動作するクライアントアプリケーションには、ブラウザのタイトルバーからクライアントアプリケーションに識別子を渡すことによって診断サーバで生成される識別子が提供される。
【００１１】
本発明の更にもう１つの実施形態によれば、クライアントアプリケーションは、遠隔地に配置されたサーバ上で動作するサーバアプリケーションにポーリングを行なう。特に、クライアントアプリケーションは、そのコンピュータに関連して実行すべき次の動作に関わる指示がないかどうかサーバにポーリングを行なう。例えば、クライアントアプリケーションは、スクリプト又はコマンドを実行するための指示がないかサーバアプリケーションにポーリングを行ない得る。スクリプト又はコマンドを実行した後、クライアントアプリケーションは、実行が完了したという信号をサーバアプリケーションに送信する。特定のスクリプトの実行が完了したという標示は、クライアントコンピュータに関連付けられ又識別子によって識別されるデータベースレコードに入力される。更に、ブラウザが、サーバアプリケーションにポーリングを行なって、スクリプトの実行が完了したという標示を検出し得る。このような標示の検出に応じて、ブラウザ又は画面は、ユーザに対して次のページを表示する。
【００１２】
本発明の更にもう１つの実施形態によれば、ユーザは、インターネットブラウザ又は他の通信インターフェイスを用いて遠隔地に配置されたサーバと交信を確立する。ユーザは、サーバに登録し、識別子が割当てられる。クライアントアプリケーションは、サーバからダウンロードされ、また、クライアントコンピュータ又は装置にインストールされる。次に、クライアントアプリケーションを用いて実行するためのスクリプト又はコマンドは、クライアントコンピュータにダウンロードされる。クライアントアプリケーションは、遠隔地に配置されたサーバによって維持されるデータベースであって、クライアントコンピュータと同じ識別子を有するデータベースのレコードにポーリングを行ない、スクリプト又はコマンドの実行を開始するための信号を検出する。スクリプト又はコマンドを実行するための標示は、ブラウザ又はこのような実行を許可する他の通信インターフェイスからの信号に応じて提供し得る。標示を検出すると、スクリプトが実行され、また、その結果がサーバに返される。ブラウザ又は他の通信インターフェイスは、データベースレコードにポーリングを行ない、スクリプト又はコマンドの実行が完了したという標示を検出する。このような標示を検出すると、ブラウザ又は他の通信インターフェイスは、次のページを表示する。
【００１３】
本発明の更にもう１つの実施形態によれば、クライアントコンピュータのユーザは、問題がハードウェア、ソフトウェア又は動作であると考えられるか否か指定するよう促される。ユーザの選択に基づき、追加のスクリプト又はコマンドが、クライアントアプリケーションにダウンロードされ実行される。例えば、ユーザがソフトウェアの問題を指定する場合、スクリプトが、クライアントアプリケーションにダウンロードされ、問題の本質を決定し得る。例えば、このようなスクリプトを実行すると、問題のアプリケーションを開始するようにユーザは指示を受けることができる。次に、スクリプトは、コンピュータがアプリケーションをロードするために必要な時間の長さを決定し得る。又は、スクリプトは、問題のアプリケーションを開始しようとするユーザの試みに応じて生成されたエラーメッセージを収集し、そのエラーメッセージを分析のためにサーバに返し得る。
【００１４】
スクリプト又はコマンド形態の様々な診断ツールは、クライアントアプリケーションにダウンロードし実行し得る。一般に、スクリプト又はコマンドは、インベントリ及び診断機能を実行するために提供される。クライアントアプリケーション及び関連するスクリプト又はコマンドは、コンピュータのシステム資源に及ぼす影響が小さくなるように設計されている。
【００１５】
前述の概要によれば、本発明の数多くの顕著な特徴が、容易に認識される。遠隔地からコンピュータ又は他の装置の問題を診断するための方法と装置が提供される。本発明の方法と装置によって、問題の診断が可能であり、また、実質的にサーバ側で人間が介入する必要無く、コンピュータ又は他の装置のユーザに解決策を提案することが可能である。また、本発明は、診断対象のコンピュータの問題に対して自動的に解決策を提供し得る。更に、本発明の方法と装置は、診断対象のコンピュータ又は他の装置の資源に及ぼす影響が小さく、これによって、本方法と装置が、診断を要する問題又は問題群によりシステムの能力が低下してしまったコンピュータ又は他の装置の問題でさえうまく診断する可能性が増す。
本発明の他の利点は、以下の論議から、特に、添付の図面と共に解釈すると容易に明らかになるであろう。
【００１６】
詳細説明
図１は、本発明に基づくシステム１００を示す。一般的に、システム１００には、ネットワーク１１２によって複数のクライアントコンピュータ１０８ａ乃至１０８ｎに相互接続されるサーバ１０４が含まれる。一般的に、ネットワーク１１２は、インターネットや無線方式等、２つのコンピュータ間において通信を確立する任意のコンピュータネットワークや手段であってよい。
【００１７】
次に、図２において、本発明の実施形態に基づくサーバ１０４を示す。一般的に、サーバ１０４には、プロセッサ２００と、ネットワークインターフェイス２０４と、記憶装置２０８と、が含まれる。記憶装置２０８は、データベース２１２及び記憶されたプログラム２１６を含む。記憶されたプログラム２１６には、クライアントが実行可能な汎用プログラム２２０と、サーバアプリケーションプログラム２２４と、を含み得る。
【００１８】
一般的に、プロセッサ２００は、汎用サーバコンピュータでの用途に適した任意のコンピュータプロセッサであってよい。例えば、プロセッサ２００は、１つ以上のＩＮＴＥＬ・ＰＥＮＴＩＵＭ？ クラスのマイクロプロセッサを含み得る。ネットワークインターフェイス２０４は、サーバコンピュータの通信ネットワーク１１２への相互接続に適した任意の通信インターフェイスであってよい。例えば、ネットワークインターフェイス２０４には、ＴＣＰ／ＩＰインターフェイス又は他のものを含み得る。記憶装置２０８には、ハードドライブ、テープドライブ、又は光ドライブ等、任意の大容量媒体記憶装置を含み得る。更に、記憶装置２０８は、様々な種類の複数の装置を含み得る。
【００１９】
データベース２１２は、情報の記憶や構成に適した任意の制御プログラム及び関連するレコードであってよい。一般的に、クライアントが実行可能な汎用プログラム２２０は、クライアントコンピュータ１０８へのダウンロード用のプログラムを含む。サーバアプリケーションプログラム２２４には、ユーザのシステム１００への登録と、クライアントが実行可能な汎用プログラム２２０の構成要素のダウンロード及び実行と、データベース２１２とクライアントコンピュータ１０８との間の情報交換と、を調整するのに必要なコマンドと指示が含まれる。従って、サーバアプリケーションプログラム２２４には、データベース２１２をクライアントコンピュータ１０８に接続する構成要素が含まれる。
【００２０】
図３は、本発明の実施形態に基づくクライアントコンピュータ１０８を示す。クライアントコンピュータ１０８には、中央処理装置（ＣＰＵ）３００と、入力／出力装置３０４と、周辺装置３０８と、を含み得る。本発明の１つの実施形態によれば、クライアントコンピュータ１０８は、任意の一般的な又はパーソナルタイプのコンピュータである。本発明の更に他の実施形態によれば、クライアントコンピュータ１０８は、ＭＩＣＲＯＳＯＦＴ・ＷＩＮＤＯＷＳ？ オペレーティングシステムを走らせるＰＣコンピュータである。本明細書に用いるクライアントコンピュータという用語は、一般的な又はパーソナルタイプのコンピュータに加えて、パーソナル携帯情報機器（ＰＤＡ）又は他の携帯型装置等他のデジタル装置と通信が可能な様々な装置も意味し得る。
【００２１】
本発明の１つの実施形態によれば、一般的に、ＣＰＵ３００には、プロセッサ３１２と、記憶装置３１６と、ネットワークインターフェイス３２０と、ビデオカード３２４と、複数の内蔵装置３２８と、が含まれる。内蔵装置には、メモリ３３２と、ハードディスクドライブ３３６と、フロッピーディスクドライブ３４０と、ＣＤ−ＲＯＭドライブ３４４と、テープドライブ３４８と、他の内蔵装置３５０と、が含まれる。入力／出力装置には、ビデオディスプレイ即ちモニタ３５２と、キーボード３５６と、マウス３６０と、音声装置及び増設した位置指定装置等の他の入力／出力装置３６４と、を含み得る。一般的に、周辺装置３０８には、プリンタ３６８と、スキャナ３７２と、他の外部装置３７６と、を含み得る。またクライアントコンピュータ１０８には、オペレーティングソフトウェア３８０及びアプリケーションソフトウェア３８４を含み得る。一般的に、クライアントコンピュータの様々な構成要素は、通信バス３８８を介して互いに通信を行なう。
【００２２】
次に、図４において、サーバ１０４とクライアントコンピュータ１０８との間の通信の論理回線を示す。一般的に、第１論理通信回線４０８は、サーバアプリケーション２２４と通信インターフェイス４０４との間に延在する。通信インターフェイス４０４には、クライアントコンピュータ又は装置１０８とサーバアプリケーションプログラム２２４との間でデータの受け渡しが可能なクライアントコンピュータ又は装置１０８上で走る任意の通信アプリケーションを含み得る。例えば、通信インターフェイスには、インターネットブラウザを含み得る。同様に、第２論理通信回線４１２は、サーバアプリケーション２２４とクライアントアプリケーション４００との間に延在する。第３論理通信回線４１６は、クライアントが実行可能な汎用プログラム２２０とクライアントアプリケーション４００との間に延在する。図４から明らかなように、識別子通信経路４１８を除いては、一般的に、クライアントアプリケーション４００と通信インターフェイス４０４との間に直接的な通信回線は存在しない。従って、識別子通信経路４１８を介した通信インターフェイス４０４からクライアントアプリケーション４００への識別子の受け渡しを除き、後述するように、クライアントアプリケーション４００及び通信インターフェイス４０４は、サーバアプリケーション２２４を介した通信を行なう。それを介して論理通信チャンネル４０８、４１２及び４１６が確立される物理的な通信リンクには、上述したコンピュータネットワーク１１２並びに関連するネットワークインターフェイス２０４及び３２０を含み得る。それを介して識別子通信経路４１８が確立される物理的通信リンクは、通信バス３３８又は内部レジスタを含み得る。
【００２３】
クライアントアプリケーション４００及び通信インターフェイス４０４の動作は、以下に詳述するように、サーバアプリケーション２２４によって提供されるインターフェイスを介して、データベース２１２に記憶された表又はレコード４２０のフィールドをモニタすることによって互いに同期化される。この構成によって、クライアントアプリケーション４００は、動作のためにクライアントコンピュータ１０８のシステム資源を相対的にほとんど必要としない比較的小規模なプログラムとして実装し得る。特に、これによって、クライアントアプリケーション４００は、通信インターフェイス４０４と一体化されたプログラムを必要とせず、クライアントコンピュータ１０８の動作の局面を制御し得る。具体的には、クライアントアプリケーション４００には、選択された機能を実行する個々のコマンドやアプリケーションスクリプト４２４等の診断ツールが選択的に提供される。例えば、診断ツールには、クライアントコンピュータ１０８に常駐しつつ実行可能なコードを含み得る。このことは、インターネットブラウザ等の通信インターフェイス４０４と一体化されたプログラムであって、クライアントコンピュータ１０８の動作状況について詳細な対話が可能なプログラムは、通常、比較的大量のシステム資源を消費するため、有利である。更に、このようなプログラムは、全てのバージョン又は種類の通信インターフェイス４０４と互換性が無い場合がある。従って、図４に示した構成によって、本発明は、例えば、診断を必要とする問題によって、動作特性に障害が生じたクライアントコンピュータ１０８上でさえも機能することが可能である。また、図４に示した構成によって、本発明は、広範囲の通信インターフェイス４０４と協調して動作し得る。
【００２４】
次に、図５において、本発明の実施形態に基づくシステム１００の動作を示す。初めに、クライアントコンピュータ又は装置１０８のユーザは、サーバ１０４との接続を確立する（ステップ５００）。ユーザは、例えば、クライアントコンピュータ１０８の通信インターフェイス４０４をウェブサイトに導き、コンピュータネットワーク１１２を介してサーバ１０４へアクセスすることによって接続を確立し得る。本発明の１つの実施形態によれば、アクティブ状態のサーバページを用いて、クライアントコンピュータ又は装置１０８のユーザにサーバアプリケーション２２４からの情報を提供し得る。ユーザからの情報は、通信インターフェイス４０４を用いて、サーバアプリケーション２２４に提供し得る。
【００２５】
サーバ１０４との接続確立の一環として、ユーザは、サーバ１０４への登録が必要な場合がある。登録には、ユーザ識別情報のサーバ１０４への提供を含み得る。特に、登録には、ユーザから収集された様々な情報を記録するためのデータベース２１２におけるレコード４２０の作成を含み得る。例えば、ユーザ情報用のレコード４２０には、ユーザ名、ユーザアドレス、及びクレジットカード番号や有効期限等の課金情報用のフィールドを含み得る。更に、ユーザ情報用のレコード４２０には、サーバアプリケーションプログラム２２４によって割当てられ又システム１００によって用いられる識別子を記憶するためのフィールドが含まれ、サーバ１０４と通信状態にある又は通信状態を継続している他のクライアントコンピュータ１０８から特定のクライアントコンピュータ１０８を区別し得る。また、この識別子によって、個々のユーザは、複数のクライアントコンピュータ１０８を登録し診断し得る。また、次のスクリプト又はコマンドを示すためのフィールド及び次のページの表示情報を提供し得る。更に、スクリプト状態フィールドが、クライアントアプリケーション４００及び通信インターフェイス４０４の動作を同期化するために提供され用いられる。
【００２６】
登録が完了した後、クライアントアプリケーション４００は、クライアントコンピュータ１０８にダウンロードされインストールされる（ステップ５０４）。第１コマンド、スクリプト又は一組のスクリプト４２４は、クライアントアプリケーション４００でダウンロードし得る。本明細書に用いるスクリプト４２４という用語は、クライアントアプリケーションプログラム４００によって実行可能なコマンド又は一組のコマンドを含むものと理解されたい。スクリプト４２４を含むコマンド又はコマンド群は、クライアントコンピュータ１０８に既に常駐するプログラムコードのトリガリング実行（ｔｒｉｇｇｅｒｉｎｇ・ｅｘｅｃｕｔｉｏｎ）に有用な診断ツールを定義し得る。一般的に、クライアントアプリケーションプログラム４００は、サーバ１０４からスクリプト４２４を受信して、これらのスクリプト４２４を実行する。本発明の１つの実施形態によれば、数多くのスクリプト４２４が提供される。数多くの比較的規模の小さいスクリプト４２４を用いると、クライアントアプリケーション４００を用いてスクリプト４２４を実行した際、クライアントコンピュータ１０８に及ぼす影響が最小限になる。更に、複数のスクリプト４２４を用いると、テスト開始前にプログラムコードをダウンロードするための比較的長い初期待ち時間が必要な代わりに、クライアントコンピュータ１０８の診断を安定したペースで進めることが可能である。更に、複数のスクリプト４２４を用いると、特定のクライアントコンピュータ１０８を診断するのに有用であり得るこれらのテストのみのダウンロード及び動作が可能となり、これによって、テストプロセスが効率的になる。
【００２７】
スクリプト４２４は、様々な機能を実行する１つ以上のテストモジュール又は診断ツールとしてグループ化し得る。診断ツールは、それら自体１つ以上のスクリプト４２４を含むことができ、又は、スクリプト４２４によって起動されるクライアントコンピュータに既に常駐するツールを含み得る。一般的に、各スクリプト４２４は、以下の説明において述べるように、クライアントアプリケーション４００によって実行されると、個別の動作又は一連の動作を行なう。
【００２８】
ステップ５０８において、様々なテストが、クライアントコンピュータ１０８上で行われる。本発明の１つの実施形態によれば、様々なテストモジュール及び他のプログラム構成要素は、クライアントコンピュータ１０８にダウンロードされた直後又はほぼ直後に実行される。従って、本発明のこの実施形態によれば、プログラム構成要素をダウンロードするステップ（ステップ５０４）は、テストモジュール又はコマンドを実行するステップと交互に行ない得る。次に、テストモジュール及び他の任意のプログラム構成要素を実行して得られる結果は、論理通信回線４１２を介してクライアントアプリケーション４００からサーバアプリケーション２２４に返される。また、各テストモジュール又は個々のテストスクリプト４２４の実行後も、収集された情報をサーバアプリケーション２２４に返すことができる。
【００２９】
本発明の１つの実施形態によれば、一般的なテストを実行し、また、ユーザに提示された質問に対する応答が引き出された後、追加のテストを実施する。従って、本発明は、対話式問題解決方法を提供し得る。
【００３０】
サーバアプリケーション２２４は、返された結果をデータベース２１２が保持するレコード又はレコード群４２０に記憶する。本発明の１つの実施形態によれば、レコード４２０は、クライアントコンピュータ１０８に関する主な各情報カテゴリに対して提供される。例えば、レコード４２０には、ユーザ、モニタ、ポート、プリンタ、記憶装置、システム設定値、ビデオアダプタ、性能、ソフトウェア、音声装置、構成要素製造業者、及び処置策に関する情報用の個々のレコードを含み得る。追加の種類のレコードを用い得るが、より少数である。一般的に、特定のクライアントコンピュータ又は装置１０８に関する情報を含むレコード４２０は、ユーザがサーバアプリケーション２２４に登録した時、サーバアプリケーション２２４によってクライアントコンピュータ１０８に割当てられた識別子によって識別される。更に、レコード４２０には、修復手順等の手順を実行するためのスクリプト４２４等、特定の問題及び関連の処置策に関する一般的な情報と、潜在的な修復策に関する情報と、特定の装置又は問題に関する追加的なサポート情報源への自動転送用の交信情報と、が含まれる。自動転送が提供される場合、通信インターフェイス４０４は、問題のある装置又はプログラムの製造業者によって管理されるウェッブページ等のウェッブページであって、関連情報を含むウェッブページに自動的に導かれる。また、データベース２１２は、保守手順及びソフトウェアパッチを実行するためのスクリプト４２４を記憶したり、このようなスクリプト４２４やソフトウェアパッチへのリンクを記憶したりする。
【００３１】
ステップ５１２において、クライアントコンピュータ１０８における処置策のルールベースの決定が行われる。一般的に、テストモジュール又はコマンド及び他のソフトウェア構成要素を実行して得られる情報が分析され、また、クライアントコンピュータ１０８に関する処置策に至る。ルールベース分析は、本発明の１つの実施形態に基づき、特定の問題に応じてクライアントコンピュータ１０８に返される処置策が、追加又は代替の処置策がデータベースに追加されるにつれて変化し得るという点で適応性がある。例えば、処置策には、ソフトウェアパッチをインストールすること、保守手順を走らせること、修復手順を実行すること、更に具体的なテストを実行すること（例えば、電源又は信号ケーブルが正しく接続されているかチェックすること）、システム設定値を変更すること、又は他の情報源から追加情報を得ること等の提案が含まれる。
【００３２】
本発明の１つの実施形態によれば、クライアントコンピュータ１０８の処置策のルールベース分析には、データベース２１２のスクリプト４２４を含む診断ツールの実行から返される情報を記憶する段階が含まれる。特に、サーバ１０４に返された情報は、データベース２１２に保持又は作成される様々なレコード４２０に記憶される。一般的に、レコード４２０に含まれる情報は、特定の装置、又はクライアントコンピュータ１０８に関連する種類の装置に関する情報に限定し得る。特に、構成要素即ちクライアントコンピュータ１０８に関連する装置又はソフトウェアに関する情報は、特定の構成要素即ちクライアントコンピュータ１０８に関連する装置又はソフトウェアプログラムに関する情報を含むデータベースレコード４２０記憶し得る。ユーザが構成要素即ち装置又はソフトウェアプログラムに問題があると指定した場合、識別される項目に関する情報を含むレコード４２０に対して、その項目が先行の診断テストに合格したか判断するために問い合わせを行ない得る。例えば、レコード４２０に対して、その項目が先行のテストに合格したか又は不合格だったか判断するために問い合わせを行ない得る。次に、処置策情報が含まれる新規レコード４２０を作成して、その項目に関する情報を記憶し得る。次に、サポート情報を含むデータベース２１２の表に対して、サーバアプリケーション２２４がアクセスし得る。一般的に、サポート情報を含む表は、様々な構成要素即ちクライアントコンピュータ１０８に関連する装置又はソフトウェアに対する問題及び解決策に関するレコード４２０を含む。一般的に、診断対象の特定のクライアントコンピュータ１０８に関連して検出又は識別される同じ問題に関する処置策表に含まれるレコードに記憶された処置策は、クライアントコンピュータ１０８に返される。返された特定の処置策は、構成要素即ち装置又はソフトウェアプログラムが先行のテストに合格した又は不合格であったことが分かったかどうかによって変化し得る。更に、この特定の処置策には、複数の提案された処置策を含み得るということを理解されたい。
【００３３】
最初にクライアントコンピュータ１０８に返される特定の処置策は、本発明の１つの実施形態に基づき、識別された問題を修復するために最も適当なものであると判断された解決策である。最初の処置策が、識別された問題の修復に成功しなかった場合、追加の処置策を提供し得る。更に、クライアントコンピュータ１０８に返された処置策は、特定の問題を修復するのに成功した解決策に関する情報が集められるに伴い、セッション毎に変化し得る。
【００３４】
次に、処置策は、クライアントコンピュータ１０８に返される（ステップ５１６）。処置策が、提案された保守手順、修復手順、ソフトウェア修正、又はシステム設定値の変更を含む場合、手順は、自動的に実行し得る。例えば、クライアントコンピュータ１０８への処置策の返送には、提案された保守動作、修復手順、ソフトウェア修正、又はシステム設定値の変更、を自動的に行なうクライアントアプリケーション４００による実行のためのスクリプト４２４の提供を含み得る。この保守動作は、クライアントコンピュータ１０８に既にインストールされたソフトウェアアプリケーションを用いて実行可能な動作であり、この場合、スクリプト４２４は、そのアプリケーションを起動するのみである。他の選択肢として、スクリプト４２４には、それ自体、その手順を行なうための実行可能なプログラム又はコマンドを含み得る。
【００３５】
提案された矯正手順がソフトウェア修正を含む場合、クライアントコンピュータ１０８に処置策を返すステップには、必要なソフトウェアパッチ又はソフトウェアプログラムの提供を含み得る。例えば、デバイスドライバが故障していることが分かった場合、ソフトウェアパッチ又は新規ドライバをクライアントコンピュータ１０８にダウンロードして自動的にインストールし得る。更に、エラーメッセージが、．ｄｌｌ、．ｅｘｅ又はｃａｌｌ等、欠落したソフトウェア構成要素を示す場合、そのソフトウェア構成要素の交換や更新が可能である。システム設定値に修正が必要な場合、クライアントコンピュータ１０８への処置策の返送は、クライアントアプリケーション４００によって実行される時、システム設定値に対して必要な変更を行なうことが可能なスクリプト４２４の提供を含み得る。
【００３６】
前述の例において、提案された修正の実施は、クライアントコンピュータ１０８のユーザが、保守手順、ソフトウェアパッチ又はシステム切り換えを検索してから修正を実施する必要がないという点で、自動的であり得る。むしろ、サーバアプリケーション２２４は、処置策の一部として、スクリプト４２４及び手順を行なうのに必要な任意の追加ソフトウェアを提供する。本発明の１つの実施形態によれば、クライアントコンピュータ１０８のユーザは、提案された矯正手順が実行される前にその実施を許可するように要求され、ユーザがクライアントコンピュータ１０８に対して行われる変更を制御し得る。
【００３７】
他の例において、処置策は、診断される問題に対する提案された解決策をクライアントコンピュータ１０８のユーザに提供することを含み得るが、ユーザによる解決策の実施を要求する場合がある。例えば、クライアントコンピュータ１０８に関連する周辺装置３０８は、新規ドライバを要求する場合がある。しかしながら、クライアントコンピュータ１０８へのダウンロード用のサーバアプリケーション２２４が、そのドライバを利用不可能な場合がある。このような場合、処置策には、ユーザが必要なドライバを入手可能なウェブサイト又はユニバーサル・リソース・ロケータ（ＵＲＬ）アドレスに通信インターフェイス４０４を自動的に導くことが含まれる。問題の自動的な解決が不可能である他の場合、処置策は、必要な保守動作を行なう方法に関する情報、又は、交信情報をユーザに提供し得る。例えば、保守動作に関する情報には、ソフトウェアユーティリティを用いる方法、又は、物理的データ又はＣＰＵ３００と周辺装置３０８との間の電力接続をチェックする方法に関するユーザへの指示を含み得る。交信情報には、ウェブサイトアドレス又は電話番号が含まれ、ユーザは必要な情報、ソフトウェア、又は他の修正を入手し得る。
【００３８】
更に、処置策には、問題に対する自動及び手修正の組合せを含み得る。例えば、クライアントコンピュータ１０８の周辺装置３０８が、サーバアプリケーション２２４が直接入手不可能なドライバを要求する場合、要求されたドライバを入手できるウェブサイトアドレスに通信インターフェイス４０４が自動的に送られる。従って、ユーザは、そのウェブサイトから必要なドライバを入手する。本発明の１つの実施形態によれば、次に、スクリプト４２４は、クライアントアプリケーション４００によって実行され、ユーザによって得られたドライバを自動的にインストールする。
【００３９】
本明細書に用いる処置策には、複数の検出された問題及び提案された解決策を含み得ることを認識されたい。例えば、問題がクライアントコンピュータ１０８と関連するプリンタ３６８で検出された場合、ユーザには、以下の提案される解決策を提供する処置策が与えられる。即ち、緩んだ通信ケーブルをしっかり締めること、トナーカートリッジを交換すること、また、プリンタドライバを更新すること、等の処置策を提供し得る。更に、複数の問題がクライアントコンピュータ１０８で検出される場合、そのクライアントコンピュータ１０８に返される処置策には、全ての検出された問題の説明、及び検出された各問題に対する提案された解決策又は追加の情報源を含み得る。
【００４０】
クライアントアプリケーション４００の動作について、本発明の実施形態に基づき、図６に示す。クライアントアプリケーション４００の初期状態は、クライアントコンピュータ又は装置１０８にダウンロードされた後、クライアントコンピュータ又は装置１０８にそれ自体をインストールする状態である（ステップ６００）。自己インストール手順が完了した後、クライアントアプリケーション４００は、ステップ６０４に進み、ステップ６０４でサーバアプリケーション２２４によってクライアントコンピュータ１０８に割当てられた識別子が、通信インターフェイス４０４から得られる。一般的に、識別子は、通信インターフェイス４０４にダウンロードされ、また、通信インターフェイス４０４のタイトルバーに配置される。ステップ６０４において、クライアントアプリケーション４００は、通信インターフェイス４０４のタイトルバーから識別子を読み取る。従って、識別子は、識別子通信経路４１８を介して通信インターフェイス４０４からクライアントアプリケーション４００に提供される。この実施形態によれば、クライアントアプリケーション４００への識別子の通信以外には、クライアントアプリケーション４００とクライアント通信インターフェイス４０４との間の直接的な通信は存在しない。クライアントアプリケーション４００に識別子を渡すための記述した方法は、“ｃｏｏｋｉｅ”を用いる等この情報を受け渡す他の方法、又は、サーバアプリケーション２２４からクライアントアプリケーション４００に直接識別子を渡そうと試みる方法よりも信頼性が高いと考えられる。更に、クライアントアプリケーション４００と通信インターフェイス４０４の双方が利用可能な識別子として、クライアントコンピュータ１０８のネットワークアドレスを用いることよりも更に信頼性が高いと考えられる。特に、記述した方法によって、特定のクライアントコンピュータ又は装置１０８上のクライアントアプリケーション４００及び通信インターフェイス４０４は、必ず同じ識別子を受信する。以下に詳述するように、収集された情報及び作成された処置策が、同じクライアントコンピュータ又は装置１０８と確実に関連付けられるようにするために、正しい識別子が必要である。勿論、クライアントアプリケーション４００及び通信インターフェイス４０４に同じ識別子を転送する他の方法も、動作の信頼性が高い限り、本発明に基づき用い得る。
【００４１】
ステップ６０８において、クライアントアプリケーション４００は、論理通信回線４１２を介して、サーバアプリケーション２２４にポーリングを行なう。特に、クライアントアプリケーション４００は、サーバアプリケーション２２４にポーリングを行なって、クライアントコンピュータ又は装置１０８に関連するユーザ情報を含むレコード４２０に含まれるスクリプト状態フィールドにおいて“実行”コマンドを検出する。スクリプト状態フィールドにおいて“実行”という値を検出すると、クライアントアプリケーション４００は、論理通信回線４１６を用いて次のスクリプト４２４をダウンロードする（ステップ６１２）。ステップ６１６において、クライアントアプリケーション４００は、スクリプト状態フィールドを“実行中”という値に設定する。次に、ステップ６２０において、クライアントアプリケーション４００は、ダウンロードされたスクリプト４２４を実行する。次に、スクリプト４２４を実行して得られた結果は、サーバアプリケーション２２４に返される（ステップ６２４）。次に、スクリプト状態フィールドは、クライアントアプリケーション４００によって“完了”という値に設定される（ステップ６２８）。次に、スクリプト状態フィールドの値は、クライアントアプリケーション４００によって“実行可能状態”という値に設定される（ステップ６３２）。次に、クライアントアプリケーション４００は、ステップ６０８に戻り、次の実行コマンドの検出を待つ。一般的に、クライアントアプリケーション４００によってダウンロードされる次のスクリプト４２４は、ユーザ情報を含むデータベースレコード４２０に含まれる次のスクリプトフィールドに指定される。指定されたスクリプト４２４は、スクリプト状態フィールドにおける次の“実行”コマンドが検出されると、ダウンロードされる。
【００４２】
通信インターフェイス４０４が本発明の実施形態と共に用いられる場合の動作について、全般的に図７に示す。ステップ７００において、その主なページを表示する。この主なページは、診断サービスに関する情報並びにユーザに関する識別及び課金情報を収集するための帳票に関する情報を提供する。ユーザが登録帳票を記入し終えると、登録情報は、第１通信回線４０８を用いてサーバアプリケーション２２４に返される（ステップ７０４）。次に、サーバアプリケーション２２４によって割当てられた識別子は、クライアントコンピュータ１０８の通信インターフェイス４０４にダウンロードし得る（ステップ７０８）。他の選択肢として、識別子は、直ちに割当てられ、また、登録帳票と共に通信インターフェイス４０４に渡し得る。クライアントコンピュータ１０８及びユーザに関して収集されたあらゆる情報は、他のクライアントコンピュータ１０８及びユーザから収集された情報と区別し得るように、診断プロセスの初期に通信インターフェイス４０４に識別子を提供することが望ましい。
【００４３】
ステップ７１２において、通信インターフェイス４０４は、クライアントコンピュータ１０８に関連するレコード４２０のスクリプト状態フィールドにポーリングを行なう。スクリプト状態フィールドにおいて“完了”状態を検出すると、通信インターフェイス４０４は、次のページを表示する（ステップ７１６）。次のページは、ユーザ情報を含むレコード４２０のユーザ区間フィールドに表示される。次のページは、単に情報を与えるだけであってもよく、あるいは、ユーザから情報を収集する役割を果たしてもよい。次のページが情報を提供するだけの場合、通信インターフェイス４０４は、ステップ７１２に戻りサーバにポーリングを行ない、“完了”状態を検出する。次のページがユーザからの入力を必要とする場合は、通信インターフェイス４０４は、ステップ７２０に進む。例えば、表示されるページは、スクリプト４２４が実行される前、ユーザからの許可を要求し得る。ユーザから要求された情報がサーバアプリケーション２２４に返された後（ステップ７２４）、スクリプト状態フィールドは、“実行”に設定され、また、通信インターフェイス４０４は、ステップ７１２に戻る。クライアント選択をサーバアプリケーション２２４に戻す一環として、通信インターフェイス４０４がユーザからの許可を要求して次のスクリプトを実行する時等のように、通信インターフェイス４０４は、スクリプト状態フィールドを“実行”に設定し得る。
【００４４】
通信インターフェイス４０４が“完了”という値の検出を待つ間、前ページの表示は継続される（ステップ７２８）。例えば、通信インターフェイス４０４は、クライアントアプリケーション４００がスクリプト４２４を実行している間、メッセージ“動作中”を表示する。
【００４５】
クライアントアプリケーション４００及び通信インターフェイス４０４によって実行されるポーリング手順によって、クライアントアプリケーション４００及び通信インターフェイス４０４は、互いに同期化し得る。特に、クライアントアプリケーション４００及び通信インターフェイス４０４は、交信の共通地点としてデータベース２１２に保持されるレコード４２０の１つの一部として含まれるフィールドを用いる。このように、クライアントアプリケーション４００及び通信インターフェイス４０４の動作は、クライアントアプリケーション４００と通信インターフェイス４０４との間の直接的な通信の必要無く調整される。
【００４６】
次に、図８において、クライアントコンピュータ１０８の診断において実施し得るテスト手順又はコマンドを示す。最初に、クライアントコンピュータ１０８の装置及びレジストリ設定値の一覧表が取得される（ステップ８００）。この一覧表は、１つ以上のスクリプト４２４を含むインベントリモジュール診断ツールによって取得される。インベントリモジュールは、クライアントコンピュータ１０８にインストールされた装置及びクライアントコンピュータ１０８のレジストリ設定値の一覧表を得るための幾つかの異なる方法を利用し得る。例えば、インベントリモジュールは、インストールされた装置のレジストリを検索し、これらの装置に関する現在及び以前のレジストリ項目情報から構文解析を行ない得る。また、インベントリモジュールは、クライアントコンピュータ１０８のオペレーティングシステムの一部として含まれるシステムユーティリティから情報を得ることができる。更に、インベントリモジュールは、クライアントコンピュータ１０８の基本入出力システム（ＢＩＯＳ）から情報を得ることができる。一般的に、インベントリモジュールは、クライアントコンピュータ１０８に現時点で又は以前インストールされた装置に関するクライアントコンピュータ１０８に含まれるあらゆるファイル又はソフトウェア設定値から情報を収集し得る。更に、インベントリモジュールは、クライアントコンピュータ１０８の全般的なシステム資源及び動作設定値に関する情報を収集し得る。
【００４７】
またインベントリモジュールは、ユーザからクライアントコンピュータ１０８に関する情報を収集し得る。例えば、インベントリモジュールには、インストールされた最新のプログラム並びにダウンロードされた最新のプログラム及びファイルの名前を入力するようにユーザに要求するために通信インターフェイス４０４を起動する段階が含まれる。インベントリモジュールの実行によって収集された情報は、クライアントアプリケーション４００によってサーバアプリケーション２２４に返され、クライアントコンピュータ１０８に割当てられた識別子を用いて、クライアントコンピュータに関連する装置インベントリレコード４２０の一部としてデータベース２１２に記憶される。他の選択肢として、インベントリされた項目に関する情報は、複数の表又はレコード４２０に記憶される。例えば、第１レコード４２０は、ハードディスクドライブに関する情報を記憶するために設けられ、第２レコード４２０は、ビデオアダプタに関する情報を記憶するために設けられ、第３レコード４２０は、ＣＤＲＯＭドライブに関する情報を記憶するために設けられる、等である。一般的に、レコード４２０は、クライアントコンピュータ１０８に関係する装置及び設定値に関する所望の各情報区分に対して提供し得る。
【００４８】
ステップ８０４において、検出された装置の機能テストが行われる。これらの機能テストは、機能テストモジュールを含むスクリプト４２４を実行することによって実施し得る。診断ツールは、機能テストの一部が、インベントリモジュールによって検出された装置が機能していることを確認するように動作する。例えば、機能テストモジュールは、検出された各装置にアドレス指定して、これらの装置からの応答を要求し、これらの装置が実際にクライアントコンピュータ１０８にインストールされているか確認し得る。また、機能テストモジュールは、装置が正常に動作しているか判断し得る。例えば、ユーザは、フロッピーディスクドライブ３４０、ＣＤＲＯＭドライブ３４４、テープドライブ３４８、及び着脱自在の媒体を有する他の装置等の装置に媒体を挿入したり、プリンタ３６８に紙を入れたりするように指示されることがある。次に、機能テストモジュールは、このような装置が、読み取り及び／又は書き込み動作を行なう能力や印刷する能力等、正常に動作する能力についてテストを行ない得る。
【００４９】
ステップ８０８において、性能又はシステムデータが収集される。性能データには、どのくらいのメモリ３３２が用いられているか又どのくらいの空き領域がハードディスクドライブ３４０上で利用可能か等、資源利用状況に関する情報を含み得る。また性能データは、プロセッサ３１２が稼動する実際の速度を含み得る。性能データの収集は、１つ以上のスクリプト４２４を含む性能データモジュールによって行ない得る。
【００５０】
診断対象の問題又は問題群に関するユーザ入力は、ステップ８１２で得られる。本発明の１つの実施形態によれば、ユーザは、通信インターフェイス４０４によって表示されるドロップダウンメニューから選択することによって入力を行なう。例えば、ユーザは、“ハードウェア”、“ソフトウェア”、“性能”、又は“不明”とラベル表示されたメニュー項目を選ぶことによって問題の種類を示し得る。選択されたユーザ入力に応じて取られる処置は、以下更に詳述する。
【００５１】
選択された問題の種類に関わらず、表示し得る追加のテストアプリケーション又は保守手順は何れもステップ８１６で実行される。他のテストアプリケーションには、このような追加のユーティリティ又はテストがクライアントコンピュータ１０８の問題を診断するのに有用であると判断された場合、クライアントコンピュータ１０８にダウンロードされる特定のユーティリティが含まれる診断ツールを含み得る。テスト又は保守プログラムによって作成されたログ・ファイルを確認して、ログ・ファイルの全ての又は選択された部分を１つ以上のレコードの一部としてデータベースに記憶し得る。ログ・ファイルは、これに制限しないが、走査ディスク”及び“ディスクデフラグ”ユーティリティ等の診断ツールを含み得る機能テスト及び／又は保守プログラムを実行することによって生成し得る。
【００５２】
前述したインベントリモジュール、テストモジュール及びテストアプリケーションを用いることは好ましいが、決して全てが用いられるのではないことを認識されたい。例えば、個々のセッション中には、１つのテストモジュールのみを用いるのが適切であろう。
【００５３】
様々なテストモジュール及びテストアプリケーションを実行して得られた結果は、ステップ８２０でサーバに返される。本発明の他の選択可能な実施形態によれば、全てのテスト結果を、１バッチの結果の一部としてサーバに返す必要はない。例えば、結果は、各全体のテストモジュールを実行した後、又は、各個別のスクリプト４２４を実行した後、サーバアプリケーション２２４に返してよい。
【００５４】
ステップ８２４において、ルールベース分析をテスト結果に適用して処置策を得る。最後に、ステップ８２８において、この処置策をサーバアプリケーション２２４からクライアントコンピュータ１０８に返し得る。
【００５５】
次に、図９において、診断対象の問題がハードウェア問題であるというユーザの標示に応じた本発明の実施形態における作用を示す。最初に、ステップ９００において、ユーザは、ハードウェア問題に関係するメニュー項目を選択する。ステップ９０４において、ユーザは、装置の一覧の中から選択して、問題のあるハードウェア構成要素を更に指定する。本発明の１つの実施形態によれば、装置一覧には、インベントリモジュールの実行によって検出された装置が含まれる。本発明の更に他の実施形態によれば、装置一覧には、ユーザがインベントリモジュールによって検出されなかった装置の問題を示すことが可能なように、インベントリモジュールによって検出されたハードウェア装置に加えてハードウェア装置群が含まれる。本発明の更にもう１つの実施形態によれば、ユーザは、問題のある装置名又はその装置の内容を入力することによって、問題のある装置を指定し得る。
【００５６】
問題のある装置に関するユーザ情報を受信した後、装置自体又は関連するソフトウェアに対して追加テストを行ない得る（ステップ９０８）。例えば、追加テストのスクリプトは、クライアントアプリケーション４００にダウンロードして実行し得る。また識別された装置に関連するデバイスドライバ、ソフトウェアバージョン、改訂レベル又はハードウェア改訂を分析して、パッチ又は更新が入手可能か判断し得る。幾つかの場合、識別可能な呼び出し（ｒｅｃａｌｌ）データ又は他の関係する製造者情報が伝えられる。追加テスト及び／又はソフトウェア分析の結果は、サーバアプリケーション２２４に返され、これらの結果のルールベース分析が行われる。
【００５７】
ステップ９１２において、ステップ９０８で行われたテスト及びテスト結果を分析した結果として至った処置策がクライアントコンピュータ１０８に返される。更に、図８において説明したように、一般的なテストモジュールを実行して得られた処置策は、クライアントコンピュータに返される（ステップ９１６）。
【００５８】
本発明の実施形態における作用の上記説明から、ユーザがハードウェア問題を指定することが可能であることは有利であることが認識できる。特に、これによって、指定された装置に対処する処置策が、一般的なテストモジュールがこのような装置を検出しない場合でさえ、ユーザに返し得る。例えば、ステップ９１２で返される処置策には、一般的なテストモジュールによって検出されなかったが、ユーザによって問題があると識別された装置への電力及びデータケーブルの正常な接続をユーザが確かめるという提案を含み得る。
【００５９】
クライアントコンピュータ１０８に関して行われる一般的なテストの一部として、一般的なシステムパラメータ及び条件を分析し得る。例えば、ハードディスクドライブ３３６に残存する空き領域、ハードディスクドライブ３３６のフラグメンテーション、廃棄したファイルに占有されたハードディスクドライブ３３６の空き領域量、及び使用中のメモリ３３２の量が考慮される。このような一般的なシステムパラメータ及び条件に関する結果は分析され、処置策が、クライアントコンピュータ１０８に返される。返された処置策には、ユーザ用の情報、即ち、保守手順又はシステム設定を行なうための提案が含まれ、あるいは、スクリプト４２４が、クライアントアプリケーション４００に提供され、自動的に保守手順を実行若しくは起動し、又は、自動的にシステム設定値を変更し得る。また処置策には、処置策の種類の組合せを含み得る。例えば、ユーザには、ハードディスクドライブ３３６がフラグメンテーションを起こしていることを示す処置策が提供され、また、スクリプトをクライアントアプリケーション４００に提供し、クライアントコンピュータ１０８に既に常駐しているディスクデフラグユーティリティを自動的に呼び出し得る。
【００６０】
次に、図１０において、ソフトウェア問題のユーザの選択に応じた本発明の実施形態の作用を示す（ステップ１０００）。ステップ１００４において、ユーザは、遭遇しているソフトウェア問題の種類を選択するように要求される。例えば、本発明の１つの実施形態に基づき、ユーザは、以下の選択肢から選択し得る。
【００６１】
１．プログラムは、画面に現れる前にエラーメッセージを出す。
２．プログラムは起動するが、それを使用しようとする時、エラーメッセージを出す。
３．プログラムは走るが、その使用時、正常に機能しない。
４．プログラムは、全く起動しないように見える。
５．プログラムは、私の画面を全消去して、エラーメッセージを出す。
勿論、追加の又は他の選択可能なメニューの選択肢が提供される。本発明の１つの実施形態によれば、追加のメニュー項目は、データベースにおける関連する処置策を有する問題の数が増加するのに伴い追加される。一般的に、ユーザがソフトウェア問題の種類を指定した後、ユーザは、通信インターフェイス４０４が閉じられた後、問題のあるプログラムを起動するように指示される（ステップ１００８）。ステップ１０１２において、通信インターフェイス４０４が閉じられ、一方、クライアントアプリケーション４００はクライアントコンピュータ１０８上で動作を続ける。ステップ１０１６において、クライアントコンピュータ１０８が問題のあるプログラムをロードするのにどのくらいの時間が必要か確かめるために、タイマーが起動される。ステップ１０２０において、タイマーが切れたか判断する。タイマーが切れている場合、ユーザがまだそうしようと試みていなければ、ユーザは、プログラムを起動するように促される（ステップ１０２４）。
【００６２】
ステップ１０２８において、問題を含むプログラムを起動させようとするユーザの試みと共に、エラーメッセージが作成されたか判断する。エラーメッセージが作成された場合、メッセージ文は、解析され、サーバアプリケーション２２４に返され、そのメッセージのルールベース分析が行なわれる（ステップ１０３２）。
【００６３】
ステップ１０３６において、プログラムがフリーズ状態か又はロードされないか判断する。プログラムがフリーズ状態か又はロードされない場合、実行が失敗した時点が決定される（ステップ１０４０）。特に、実行可能なプログラム、．ｄｌｌファイル、又はソフトウェアのハングアップ又はロード失敗の起因である他のファイルが決定される。実行に失敗した時点に関する情報は、サーバアプリケーション２２４に返され、ルールベース分析される。
【００６４】
次に、ルールベース分析、又はソフトウェア問題のユーザ選択により行われた分析の結果得られた処置策は、クライアントコンピュータに返される（ステップ１０４４）。更にまた、一般的なテスト結果のルールベース分析から得られた処置策は、クライアントコンピュータ１００８に返される（ステップ１０４８）。
【００６５】
本発明の実施形態の作用に関する上記説明から、本発明は、ソフトウェア問題の本質を的確に識別することが可能であると認識し得る。特に、本発明は、ソフトウェアの問題がオペレーティングシステムによるのか、他のプログラムもしくは共有構成要素との競合によるのか、又は、問題のあるソフトウェア自体によるのか判断し得る。このことは、問題を含むプログラムをロードしようと試みること以上にユーザが何かを行なう必要なく達成される。更に、問題を分析するために専門の技術者を必要としない。その代わり、様々なテストの結果が、サーバアプリケーション２２４に返され、また、これらの結果のルールベース分析が、サーバ１０４によって行われる。
【００６６】
図１１は、ユーザによる性能問題の選択に応じた本発明の実施形態の作用を示す（ステップ１１００）。ステップ１１０４において、ユーザは、遭遇している特定の種類の性能問題を選択する。例えば、本発明の実施形態に基づき、ユーザは、以下の一般的な種類の性能問題から選択し得る。
【００６７】
１．コンピュータの性能は全般的に遅い。
２．コンピュータは選択されたどのようなプログラムでも開くのが困難である。
３．コンピュータは、特定のプログラム又はウィンドウに問題がある。
ステップ１１０８において、ユーザが動作一般の問題を選択したか判断する。一般的な動作の問題が選択された場合、システム設定値のルールベース分析を行なう（ステップ１１１２）。当業者によって認識されるように、システム設定値には、プロセッサ３１２の速度、空きＲＡＭ３３２の量、ハードディスクドライブ３３６の仮想ＲＡＭに割当てられた空き領域等が含まれる。更に、クライアントコンピュータ１０８に通常存在するアプリケーションを開くのに必要な時間、ハードディスクドライブ３３６のファイル数、及びバックグラウンドで常時動作しているプログラム数のルールベース分析を行ない得る。
【００６８】
ステップ１１１６において、ユーザが選択された任意のプログラムの開始又は動作の問題を標示したか決定する。選択された任意のプログラムの開始又は動作の問題が選択された場合、システム設定値のルールベース分析を行なう（ステップ１１１２）。更に、競合の有無をチェックする。
【００６９】
ステップ１１２０において、ユーザが特定のプログラム又はウィンドウの問題を選択したか判断する。そうである場合、図１０において上述したソフトウェア問題分析手順を行なう（ステップ１１２４）。図１０で述べたように、ソフトウェア問題分析には、ソフトウェア問題分析を行った結果として、サーバアプリケーション２２４に返された情報のルールベース分析が含まれる。
【００７０】
上述した説明から、一般的に、指定された種類の問題に関する情報はサーバアプリケーション２２４に返され、また、その情報のルールベース分析が行なわれることが認識できる。更に、分析には、適応性のあるルールベース分析を含み得る。返された情報に対してルールベース分析を適用した後、指定された特定の性能問題に関わらず、処置策が、クライアントコンピュータ１０８に返される（ステップ１１２８）。更に、ステップ１１３２において、一般的なテストモジュールの実行から得られた処置策は、クライアントコンピュータ１０８に返される。
【００７１】
また、本発明による実施形態の上述した説明から、性能問題の指定は、一般的なテストモジュールの実行中に行われるテストに加え、テストの性能にも起こり得ることを認識できる。更に、前出の例から、ソフトウェア問題の指定に応じて別な方法で実行される手順は、性能問題の指定に応じて行ない得ることが明らかである。本発明の実施形態の上述した構成によって、クライアントコンピュータ１０８上の性能問題に気付くユーザは、その問題の本質を細部に渡って識別する必要無く問題の診断を得ることが可能である。従って、本発明によって、ユーザは、ユーザが熟練したコンピュータユーザでない場合でも、性能問題を識別し修復することが可能である。
【００７２】
図１２は、問題の本質が分からないことを示すユーザによる選択に応じた本発明の実施形態の作用を示す（ステップ１２００）。特に、ユーザが問題の本質が分からないことを示すためのメニュー選択によって、ユーザが、特定の問題にハードウェア、ソフトウェア、あるいはクライアントコンピュータ１０８の性能が含まれているか明確にできない場合でも、診断を進めることが可能である。
【００７３】
ステップ１２００の問題の種類として”不明”を選択したことに応じて、本発明の１つの実施形態に基づき、性能問題の選択に応じて行なわれるテスト及び分析の幾つかを行ない得る。特に、システム設定値及びオペレーティングシステム設定値は、ルールベース分析を受け得る（ステップ１２０４）。一般的に、指定された任意の種類の問題に関連するあらゆるテスト手順を、ステップ１２００において、”不明”の選択に応じて行ない得る。特に、問題の起因であるハードウェア装置又はソフトウェアプログラムを指定する等、ユーザが何らかの追加的アクションを起こす必要のないあらゆるテスト手順を実行し得る。
【００７４】
ステップ１２０８において、クライアントコンピュータ１０８に関して行われる特定の又一般のテストから得られる処置策は、クライアントコンピュータに返される（ステップ１２０８）。更に、情報は、共通のコンピュータ問題及びこのような問題を修正する方法に関して、クライアントコンピュータ１０９に返される。
【００７５】
具体的な種類の問題が不明なユーザによる標示に応じた本発明の実施形態における作用の説明から、ユーザからの情報を必要としない限り、あらゆるテストをクライアントコンピュータ１０８上で行ない得るということを認識し得る。勿論、本発明の他の実施形態によれば、ユーザからの追加入力を要求しないテストは、ユーザによって選択された特定の種類の問題に関する入力に関わらず行ない得る。このようなテストの性能は、クライアントコンピュータ１０８上の問題又は問題群のより正確な診断を提供し得る。しかしながら、ユーザが基本診断サービスのみを選択した場合、または、診断を返すのに必要な時間を制限することが重要である場合等、自動的に行われるテスト数は、制限することが望ましい。
【００７６】
本発明の他の実施形態によれば、”不明”の選択に応じて、追加テストは行われない。その時、実行されたテストモジュールから得られる結果は、ルールベース分析を受ける。このように、クライアントコンピュータ１０８の問題を示す又は示し得る如何なるテスト結果も、識別することが可能である。処置策は、識別された各問題に関してクライアントコンピュータ１０８に返し得る。
【００７７】
本発明の更なるもう１つの実施形態によれば、”不明”の選択に応じて、ユーザは、更に詳細に問題を識別しようとする試みにおいて、追加の質問又は質問群を提供し得る。例えば、ユーザは、直面する環境問題が何かに基づき問合せを受け得る。ユーザの回答に基づき、潜在的問題の領域を識別し得る。例えば、このような質問は、潜在的な問題をハードウェア問題に絞るのに効果を奏し、また、クライアントコンピュータ１０８に関連する装置に関するテスト結果は、ルールベース分析を受け得る。
【００７８】
次に、図１３において、クライアントコンピュータ１０８に処置策を返す場合の本発明の実施形態における作用を示す。最初に、ステップ１３００において、クライアントコンピュータ１０８におけるテスト動作及びクライアントコンピュータ１０８からの情報収集の結果として、サーバアプリケーション２２４に返された結果が、レコード４２０に入力される。一般的に、結果が得られたクライアントコンピュータ１０８に関連する少なくとも１つのレコード４２０が、データベース２１２に作成される。本発明の他の選択可能な実施形態によれば、特定のクライアントコンピュータ１０８に関連する複数のレコード４２０が作成される。複数のレコードを作成すると結果が分類でき、これによって、記憶された情報の分析と検索が簡単になる。１つのカテゴリにおける複数のレコードは、例えば、そのカテゴリに複数の装置がある場合、作成し得る。例えば、“記憶装置”のカテゴリのレコード４２０は、１つのクライアントコンピュータ１０８において検出された第１ハードディスクドライブ３３６、フロッピードライブ３４０、及び第２ハードディスクドライブ３３６に提供し得る。一般的に、特定のクライアントコンピュータ１０８に関連する全てのレコード４２０には、記憶された情報が正しいクライアントコンピュータ１０８に関連付けられるように、そのクライアントコンピュータ１０８に割当てられた識別子を含むフィールドが含まれる。
【００７９】
ステップ１３０４において、データベースレコード４２０に記憶された情報のルールベース分析を行なう。本発明の１つの実施形態によれば、この情報は、個別の部分又は集合として分析される。例えば、ルールベース分析は、クライアントコンピュータ１０８にインストールされたハードディスクドライブ３３６に関して最初に行ない得る。更に詳細には、ルールベース分析は、ハードドライブ３３６に関する情報のみを含むレコード又はレコード群４２０から情報を取得し、あるいは、ハードドライブ３３６に関する情報のみが、分析のために、他の情報を含むレコード又はレコード群４２０から取り込まれる。次に、第２ルールベース分析が、ＣＤＲＯＭ３４４又はプリンタ３６８等、クライアントコンピュータ１０８の他の検出された装置又は側面に関して行われる。一般的に、一連のルールベース分析は、クライアントコンピュータ１０８に関する検出された装置、ソフトウェア及びパラメータによって要求もしくは示されるように、又は、ユーザによって指定された種類の問題によって示されるように行ない得る。
【００８０】
詳述したように、情報のルールベース分析には、収集された情報を見直して、異常又は潜在的な競合があるか判断する段階が含まれる。
ステップ１３０８において、潜在的な問題がルールベース分析の結果として示されるか判断する。潜在的な問題が存在する場合、標示した問題に関連するあらゆる潜在的な処置策が記憶される（ステップ１３１２）。例えば、レコード４２０は、このようなあらゆる潜在的な処置策を記憶するために提供される。特定のクライアントコンピュータ１０８に関連する他のレコード４２０の場合、レコード又はレコード群４２０は、クライアントコンピュータ１０８を識別するために用いられる識別子をレコード又はレコード群４２０に割当てることによって、処置策が関係するクライアントコンピュータ１０８に関連付けられる。
【００８１】
ステップ１３１６において、クライアントコンピュータ１０８から返されたいずれかの追加テスト結果又は情報が、分析を必要とするか判断する。従って、返された結果が、個別の集合の情報として分析される場合、分析を必要とする結果又は情報が無くなるまで、ステップ１３０４、１３０８、１３１６が、また、問題が存在する場合、ステップ１３１２が繰り返される。潜在的な処置策又は処置策群は、ステップ１３２０においてクライアントコンピュータ１０８に返される。
【００８２】
クライアントコンピュータ１０８に返された処置策は、検出された問題を矯正するための提案されたアクションを含み、検出された又は潜在的な問題に関する他の情報源に関する情報を提供し、あるいは、関連する情報を含むサイトにユーザを送り得る。例えば、返された処置策は、ユーザが特定のユーティリティプログラムを実行する又は装置の物理的チェックを行なう提案を含み得る。特定の手順の提案に加えて又は他の選択肢として、処置策は、問題の装置又はプログラムの製造業者等のインターネットアドレス（例えば、ユニバーサル・リソース・ロケータ）又は更なる情報源の電話番号等の情報を提供し得る。また処置策には、インストールされた装置又はソフトウェアの一覧表が含まれ、装置又はソフトウェアの状態に関する情報を含み得る。
【００８３】
また処置策には、自動的に矯正アクションを起動するための対応策を含み得る。例えば、ユーザは、提案された保守手順の実行を許可するように要求される。要求された許可を受信すると、スクリプト４２４が、クライアントアプリケーション４００に提供され実行される。スクリプト４２４は、それ自体ユーティリティアプリケーションを含んだり、クライアントコンピュータ１０８に記憶されたユーティリティプログラムの動作を起動するのに必要なプログラムコードを含んだりできる。何れにせよ、手順は、ユーザが手順の実行を許可すること以上に何かを行なう必要無く実施し得る。クライアントコンピュータ１０８に処置策を返す前の診断手順の間実行されるスクリプト４２４が、ユーザに診断又は解決策を求めさせる問題又は問題群を矯正し得えたことに留意されたい。例えば、本発明のひとつの実施形態によれば、スクリプト又はスクリプト群４２４の一部として提供されるディスク保守ユーティリティは、クライアントコンピュータ１０８の診断時、自動的に実行し得る。これらのユーティリティは、クライアントコンピュータ１０８の問題を矯正するのに効果的であり、更に修復を必要としない。このような例において、クライアントコンピュータ１０８に返された処置策には、構成要素（例えば、ハードディスクドライブ３３６）の問題が検出されたが、提供されたディスク保守ユーティリティ（例えば、ＳＣＡＮ・ＤＩＳＫ）が実行された時、修正されたというユーザへの通知を含み得る。ユーティリティは、ＳＣＡＮ・ＤＩＳＫ等の一般的に入手可能なプログラムあったり、本発明と関連する用途用に特別に開発したりできる。
【００８４】
ソフトウェアの特定の部分の問題が検出される場合、処置策には、問題を修復するためのソフトウェアパッチの提供、欠落した構成要素の提供、又はソフトウェアの交換が含まれる。従って、処置策には、ユーザが不良ソフトウェアの交換を許可するという要求を提供し得る。このような許可の受信に応じて、ソフトウェアパッチ又は代替品をクライアントコンピュータ１０８にダウンロードしてインストールし得る。ソフトウェアパッチ又は代替品は、クライアントアプリケーション４００によって自動的にインストールし得る。必要なソフトウェアパッチ又は代替品がサーバ１０４から入手不可能な場合、通信インターフェイス４０４は、要求したソフトウェアが入手可能なウェブサイトに導かれる。次に、ユーザは、要求したソフトウェアをクライアントコンピュータ１０８にダウンロードし得る。従って、本発明の１つの実施形態によれば、ダウンロードされたソフトウェアは、クライアントアプリケーション４０４によって自動的にインストールされる。
【００８５】
複数の処置策がクライアントコンピュータ１０８に返し得るということを認識されたい。例えば、保守手順を実施して、第１処置策としてクライアントコンピュータ１０８上にインストールされたハードディスクドライブ３３６の性能を改善するための提案が、そのディスクドライバ３３６用のデバイスドライバを交換するという提案を伴得る。更に、処置策は、クライアントコンピュータ１０８に関連する複数の装置又はソフトウェアに関係し得る。
【００８６】
次に、本発明の実施形態の作用を例によって示す。最初に、ユーザは、インターネットブラウザ等のクライアントコンピュータ１０８の通信インターフェイス４０４を用いて、コンピュータネットワーク１１２を介してサーバ１０４と交信する（ステップ５００）。ユーザには、診断サービスが記載されたブラウザページが提示される。ユーザが続行しようと決めると、登録帳票が、通信インターフェイス４０４によってユーザに提示される。登録帳票又はページによって、ユーザは、一般的な及び課金の情報を登録できる。例えば、ユーザは、自分の名前、アドレス、及びクレジットカード番号及びカード有効期限等の課金情報を入力するように要求される。ユーザは、その帳票の要求されたフィールド全てに入力した後、登録帳票の送信を選択し得る。送信された情報は、ユーザ情報を含むレコード４２０に記憶される。
【００８７】
ユーザ情報を含むレコード４２０には、診断される特定のクライアントコンピュータ１０８に固有の識別子を記憶するためのフィールドが含まれる。識別子は、ユーザが登録帳票からの情報を登録する際、サーバアプリケーション２２４によって割当てられる。一般的に、特定のクライアントコンピュータ１０８に関する全ての通信及びレコード４２０は、同じ識別子によって識別される。このように、サーバ１０４とクライアントコンピュータ１０８との間で受け渡される、あるいは、データベース２１２に記憶される情報は、正しいクライアントコンピュータ１０８に適切に関連付けできる。
【００８８】
登録の後、通信インターフェイス４０４は、ユーザに次のページを表示する。次のページを表示するための信号は、登録情報の収集及び／又は検証の完了時、ユーザ情報を含むレコード４２０に含まれるスクリプト状態フィールドを“完了”の値に設定することによって、通信インターフェイス４０４に送信される。表示用の次ページの識別子又はアドレスは、ユーザ情報を含むレコード４２０に含まれる次のページのフィールドに含まれている。一般的に、通信インターフェイス４０４は、サーバアプリケーション２２４にポーリングを行なうことによって、スクリプト状態フィールドへの変更を検出し得る（ステップ７１２）。表示された次のページ（ステップ７１６）は、本例によれば、クライアントにより実行可能な汎用プログラム２２０の構成要素が、次にクライアントコンピュータ１０８にダウンロードされインストールされ、また、ダウンロード及びインストールを開始するようにユーザからの許可を要求することを、ユーザに通知するページである。要求された許可を受信すると、通信インターフェイス４０４によって表示されるボタンをユーザがクリックすることによって送信された場合、クライアントアプリケーション４００が、クライアントコンピュータ１０８にダウンロードされインストールされる（ステップ５０４）。
【００８９】
ダウンロードされた後、クライアントアプリケーション４００は、クライアントコンピュータ１０８上にそれ自体を自動インストールする（ステップ６００）。サーバアプリケーション２２４に返された情報を該当するクライアントコンピュータ１０４と確実に関連付けるために、クライアントアプリケーション４００には、クライアントコンピュータ１０８に割当てられた識別子を提供しなければならない。本例によれば、識別子は、通信インターフェイス４０４に与えられ、また、通信インターフェイス４０４ウィンドウのタイトルバーに表示される。従って、インストールが完了すると、クライアントアプリケーション４００は、通信インターフェイス４０４のタイトルバーから識別子を読み取る。このように、識別子は、クライアントアプリケーション４００に確実に伝えられる。本例の実施形態によれば、通信インターフェイス４０４のタイトルバーからの識別子の読み取りは、クライアントアプリケーション４００と通信インターフェイス４０４との間の直接的な通信のみである。
【００９０】
次に、クライアントアプリケーション４００は、サーバアプリケーション２２４にポーリングを行なう。特に、サーバアプリケーション４００は、サーバアプリケーション２２４にポーリングを行なって、ユーザ情報を含むレコード４２０のスクリプト状態フィールドにおける“実行”という値を検出する。クライアントアプリケーション４００には、それがインストールされるクライアントコンピュータ１０８用の識別子が与えられるため、クライアントアプリケーション４００は、該当するクライアントコンピュータ１０８に関するユーザ情報を有するレコード４２０のみをモニタする（ステップ６０８）。“実行”コマンドを検出すると、クライアントアプリケーション４００は、アプリケーションスクリプト４２４をダウンロードする（ステップ６１２）。スクリプト４２４のダウンロードが完了すると、クライアントアプリケーション４００は、ユーザ情報を含むレコード４２０のスクリプト状態フィールドを“実行中”に設定し（ステップ６１６）、そのスクリプトを実行する（ステップ６２０）。
【００９１】
本例によれば、第１ スクリプト４２４は、クライアントコンピュータ１０８上にインストールされた装置のインベントリ及びクライアントコンピュータ１０８のレジストリ設定を行なう。一般的に、インストールされた装置及びレジストリ設定値に関する情報は、標準システム設定値や装置情報の問い合わせを行なうことによる等、クライアントコンピュータ１０８のオペレーティングシステムになされる問い合わせによって、また、インストールされた装置及び登録情報に関するファイルからの情報をこのようなファイルからこのような情報を解析するために設計されたプログラムを用いて抽出することによって、収集される。追加情報は、システムの基本入出力システム（ＢＩＯＳ）に問い合わせることによって得られる。装置インベントリ及びレジストリ設定モジュールの実行には、１つ又は複数のスクリプト４２４の実行を含み得る。
【００９２】
装置インベントリ及びレジストリ設定の実行の後、得られた結果は、サーバアプリケーション２２４に返される。サーバアプリケーション２２４は、その返された情報をデータベースレコード４２０に記憶する。本例によれば、個別のデータベースレコード４２０は、様々な装置、製造業者、及びシステム設定値に関係する情報を記憶するために提供される。例えば、個別のデータベースレコード４２０は、以下の各情報カテゴリに提供し得る。即ち、モニタ情報、ポート情報、プリンタ情報、記憶装置情報、システム情報、ビデオアダプタ情報、実行情報、ソフトウェア情報、及び音声情報に提供し得る。
【００９３】
特定のクライアントコンピュータ１０８と関連して、特定の種類の複数のレコード４２０を提供し得る。例えば、３つのアクティブ状態の通信ポートを有するクライアントコンピュータ１０８は、ポート情報を収めるための３つのレコード３２０を有する。
【００９４】
サーバアプリケーション２２４に対する実行及び情報返送の後、クライアントアプリケーション４００は、ユーザ情報を含むレコード４２０のスクリプト状態フィールドを“完了”に設定する（ステップ６２８）。クライアントアプリケーション４００がスクリプト４２４を実行し続ける間、通信インターフェイス４０４は、スクリプト状態フィールドにポーリングを行なっていることから（ステップ７１２）、そのフィールドの“完了”への変化を検出する。次に、通信インターフェイス４０４は、ユーザに次のページを表示する（ステップ７１６）。本発明によれば、複数のスクリプト４２４には、装置一覧表及びレジストリ設定値テストモジュールが含まれる。従って、サーバアプリケーション２２４は、クライアントアプリケーション４００が、スクリプト状態フィールドを“実行可能状態”に変更することによって、次のスクリプト４２４の実行が可能な状態にあることを示した直後、スクリプト状態フィールドを“実行”に変更し得る（ステップ６３２）。従って、スクリプト４２４をダウンロードして、そのスクリプト４２４を実行するプロセスは、装置インベントリ及びレジストリ設定モジュールと関連して実行する必要のある全てのスクリプト４２４が実行されるまで続く。
【００９５】
次に、機能テストが、検出された装置に対して行われる。本例によれば、クライアントコンピュータ１０８には、ハードディスクドライブ３３６が含まれる。従って、実施される機能テストの１つには、ハードディスクドライブ診断プログラムが含まれる。更に、本例に基づくクライアントコンピュータ１０８には、フロッピーディスクドライブ３４０が含まれる。従って、このクライアントコンピュータ１０８上で実行される機能テストの１つには、フロッピーディスクドライブ３４０の動作テストが含まれる。より完全なテストが、フロッピーディスクドライブ３４０等の着脱自在の媒体を有する記憶装置に対して行ない得るため、媒体がインストールされる場合、ステップ７１６においてインストールされた全てのドライブに媒体を挿入するようにユーザは要求される。ユーザがそのようにした後、ユーザは、通信インターフェイス４０４により表示されるボタンをクリックすることによって、サーバアプリケーション２２４にこのことを伝え機能テストを開始し得ることを示す（ステップ７２０）。ユーザの標示は、サーバアプリケーション２２４に返され（ステップ７２４）、その時点でスクリプト状態フィールドは“実行”に変化する。
【００９６】
上述したように、クライアントアプリケーション４００は、スクリプト状態フィールドの値“実行”を検出し、次のスクリプト４２４をダウンロードし（ステップ６１２）、スクリプト状態フィールドを“実行中”に設定し（ステップ６１６）、スクリプトを実行し（ステップ６２０）、スクリプトを実行した結果をサーバアプリケーション２２４に返し（ステップ６２４）、スクリプト状態フィールドを“完了”に設定し（ステップ６２８）、次に、スクリプト状態フィールドを“実行可能状態”に変更する（ステップ６３２）。機能テストモジュールを含むスクリプトの実行によって収集された情報は、本例によれば、各スクリプト４２４の実行後、サーバアプリケーション２２４に返される。この情報は、以前検出された装置及びレジストリ設定用に作成されたレコード４２０に記憶される。従って、機能テストモジュールを実行した結果としてサーバ１０４に返された情報は、以前作成されたレコード４２０に項目として記憶し得る。
【００９７】
本例によれば、性能データが次に収集される。性能データテストモジュールを含むスクリプト４２４の実行、及びこのように収集された情報のサーバ１０４への返送は、装置インベントリ及びレジストリ設定モジュール及び機能テストモジュールの実行に関して本質的に上述したように進む。従来通り、性能データ情報は、クライアントコンピュータ１０８に関する情報を記憶するために予め作成された１つ以上のレコード４２０に記憶し得る。
【００９８】
一覧表は、ソフトウェア実行可能形式なもの（．ｅｘｅ）だけでなく、全ての装置及び設定値のものが表示される。次に、ユーザは、ユーザが診断を必要とする問題であると気付いたものに関する情報を提供するように要求される（ステップ８１２）。例えば、ユーザは、ロードされた最新のプログラムはどれか、最新のインターネットダウンロードはどれか等の問合せを受け得る。本例によれば、ユーザは、クライアントコンピュータ１０８にハードウェア問題が在ることを示す（ステップ９００）。そして、ユーザは、クライアントコンピュータ１０８において検出された装置の一覧を提示される（ステップ９０４）。また、ユーザは、通常、クライアントコンピュータ１０８に在る装置の一覧を提示される。本例の場合、ユーザは、ＣＤＲＯＭドライブ３４４が問題であると標示するものと仮定する。更に、ＣＤＲＯＭドライブ３４４は、装置インベントリ及びレジストリ設定テストモジュールによって検出されなかったと仮定する。ＣＤＲＯＭドライブ３４４が検出されなかったことから、このような装置への追加テストは行なわれない（ステップ８１６及び９０８）。
【００９９】
次に、サーバ１０４に返されずに残っているクライアントコンピュータ１０８に関するあらゆる情報が、サーバアプリケーション２２４に提供される（ステップ８２０及び９１２）。
【０１００】
次に、サーバアプリケーション２２４は、クライアントコンピュータ１０８に関するレコード４２０に記憶された情報にルールベース分析を適用する。本例の場合、インストールされた又は検出されたレジストリ設定値として検出された装置に関する問題には、問題がないと仮定する。しかしながら、ＣＤＲＯＭドライブ３４４の問題のユーザによる標示は、診断を強く要求する。本例によれば、ＣＤＲＯＭドライブ３４４は、クライアントコンピュータ１０８上にインストールされたものとして検出されなかった。このことは、ＣＤＲＯＭドライブ３４４がクライアントコンピュータに適切に接続されていないことを示唆する。従って、クライアントコンピュータ１０８に返された処置策（ステップ８２８、９１２、及び９１６）は、クライアントコンピュータ１０８とＣＤＲＯＭドライブ３４４との間の信号及び電力ケーブルが損傷の無い状態で且つ適切に接続されていることをユーザが保証するように示唆する。
【０１０１】
上の例から、ユーザは、技術者の支援を必要とせずに、クライアントコンピュータ１０８上の問題の診断を提供されたことが認識できる。更に、本例においてユーザは気付いた問題に関する情報を提供したが、ユーザは、その問題を詳細に説明するように要求されなかった。更に、完全に自動化されたテスト手順は、ユーザ入力と組み合わせて、必要以上に狭く絞り込んだために利用できなくなった処置策を提供する。例えば、自動装置インベントリ及びシステム設定値の見直し無しでは、提案される矯正対策は、必然的に幅広いものになる。例えば、自動一覧表を作成しなかったシステムは、ＣＤＲＯＭドライブ３４４用のドライバを更新するように、又は、ドライブの製造業者に支援を要請するようにユーザに指示する。しかしながら、本発明は、前述の例に示したように、問題を矯正するための狭く限定した提案を提供し得る。従って、本発明は、クライアントコンピュータ１０８上の問題を診断し修復するプロセスを合理化することが可能である。
【０１０２】
次に、本発明の作用について、第２例に基づき説明する。この第２例によれば、本発明の作用は、前の例において上述したように進む。しかしながら、この例によれば、ユーザは、性能問題を選択する（ステップ８１２及び１１００）。次に、ユーザは、遭遇している特定の種類の性能問題を選択する（ステップ１１０４）。本例によれば、ユーザは、特定のプログラムの問題があることを示す（ステップ１１２０）。
【０１０３】
ユーザは、特定のプログラムの問題を示したことから、ソフトウェア動作分析が開始される（ステップ１１２８）。特に、ユーザは、通信インターフェイス４０４が閉じられた後、問題のあるプログラムを起動してみるように指示される（ステップ１００８）。次に、通信インターフェイス４０４は、自動的に閉じ（ステップ１０１２）、タイマーが起動される（ステップ１０１６）。
【０１０４】
次に、ユーザは、問題を含むプログラムをクリックするか、あるいは、そうでなければそれをロードしようと試みる。本例によれば、ロード中、プログラムがフリーズすると仮定する（ステップ１０３６）。ステップ１０４０において、どの時点でプログラムのローディングが失敗したか判断する。本例では、特定のファイルがロードされている最中にプログラムがフリーズすると判断される。このファイルに関する情報は、サーバアプリケーション２２４に返され、ルールベース分析が行なわれる（ステップ８２４）。
【０１０５】
クライアントコンピュータ１０８に返される処置策（ステップ８２８及び１０４４）は、プログラムがフリーズする時ロードされつつあるファイル又は構成要素の名前をユーザに通知し、また、ユーザからの許可を要求してそのファイル又は構成要素を交換し得る。次に、アプリケーションサーバ２２４は、問題のあるファイルのコピーを、例えば、ソフトウェア製造業者によって運用されるウェブサイトから取得し得る。次に、システム１００は、パッチ又は交換ファイルをクライアントコンピュータ１０８に自動的にインストールし得る。
【０１０６】
この第２例によって示したように、本発明は、特定のソフトウェアに関連してユーザが遭遇する問題を正確に判断することができる。更に、本発明は、問題に関するユーザ情報を提供すること、また、その問題を矯正することができる。本発明は、ユーザが具体的に問題を説明できない場合でも、問題を診断することができる。
【０１０７】
特定の問題の装置又はソフトウェアアプリケーションと関連して、クライアントコンピュータ１０８に返される処置策には、ユーザが考慮するための自助学習プログラムを含み得る。本発明の実施形態に基づき関連する利用可能な自助学習プログラムを有する装置及びソフトウェアアプリケーションの一覧を図１４に示す。図１４に示すように、異なる入力が、異なる装置の種類に設け得る。例えば、最初の組の自助学習プログラムは、ＩＤＥ・ＣＤ−ＲＯＭドライブに対して設定され、２番目の組はＳＣＳＩ・ＣＤ−ＲＯＭドライブに対して設定され、３番目の組はＵＳＢ・ＣＤ−ＲＯＭドライブに対して設定され、また、４番目の組はＦｉｒｅＷｉｒｅ・ＣＤ−ＲＯＭドライブに対して設定し得る。勿論、より多くの又はより少ない種類の装置及びソフトウェアアプリケーションが、利用可能な自助学習プログラムと関連付けできる。
【０１０８】
本発明の１つの実施形態によれば、潜在的な処置策が、順番に考慮され、適切か否か判断される。例えば、クライアントコンピュータ１０８に関連する又は関連し得る潜在的な問題がある各装置又はソフトウェアアプリケーションの場合、問題が標示されたか否かに関して判断がなされる。問題は、クライアントコンピュータ１０８と関連して得られる異常なテスト結果の検出又はユーザの何れかによって示し得る。問題を示す異常なテスト結果の一例として、ＣＤ−ＲＯＭドライブが、データを読み取れないことがある。ユーザが標示する問題の一例として、フロッピードライブ３４０が動作不能であることを人為的に示し得る。こうして、問題の装置又はソフトウェアアプリケーションと関連する下位の問題が標示されたか否かに関して判断がなされる。標示された各下位問題の場合、自助学習プログラムを含む処置策が、クライアントコンピュータ１０８に返され、ユーザが考慮し得る。特定の装置又はソフトウェアアプリケーションに関して問題が標示されていない場合、次の装置又はソフトウェアアプリケーションが考慮される。例えば、フロッピードライブ３４０の問題が示されない場合、このような装置に関する自助学習プログラムは、ユーザに返されない。次に、サーバ１０４は、次の装置又はソフトウェアアプリケーションの問題が標示されたか否か判断を継続する。例えば、図１４において、ハードディスクドライブに関する自助学習プログラムが提供されるべきか否かに関して判断がなされた後、ハードディスクドライブ３３６の問題が標示されたか否か考慮される。
【０１０９】
次に、図１５において、本発明の実施形態に基づく潜在的な処置策を考慮するプロセスを表すフローチャートを示す。ステップ１５００において、処置策決定プロセスが起動する。カウンタｉは、ステップ１５０４において、１に設定される。一般的に、固有値ｉは、本発明に関連する可能な処置策に含まれる各装置又はソフトウェアアプリケーションの見出しに順番に割当て得る。ステップ１５０８において、問題が装置ｉに関して標示されたか否かについて判断がなされる。問題が装置ｉに対して示されている場合、システムは、下位問題が装置ｉに関して示されるか判断を継続する（ステップ１５１２）。問題が標示されていれば、標示された下位問題に対する処置策が、ユーザに返される（ステップ１５１６）。次に、ステップ１５２０において、ｉはｉ＋１に設定される。また、値ｉは、ステップ１５０８で問題が示されなかった場合、又は、ステップ１５１２で下位問題が示されなかった場合、ｉ＋１に設定される（ステップ１５２０）。ステップ１５２４において、ｉの値に対応する装置があるか否かに関して判断がなされる。ｉ番目の装置がある場合、システムはステップ１５０８に戻る。このような装置が無い（即ち、関連する処置策を有する全ての装置が考慮された）場合、手順は終了する（ステップ１５２８）。
【０１１０】
上記説明から、システムは、問題が各ハードウェア装置又はソフトウェアアプリケーションに対して標示されているか否か引続き考慮し、また、標示されたあらゆる問題及び下位問題に対処する処置策を返すということを認識できる。上述したように、このような各処置策には、自助学習プログラムを含み得る。更に又は他の選択肢として、このような各処置策には、自動修復及び／又は他の情報源への照会を含み得る。
【０１１１】
次に、本発明の実施形態に基づくクライアントコンピュータ１０８の診断と関連して、クライアントコンピュータ１０８のユーザによって、実施されるステップ及び受信される情報の一例を挙げる。最初に、ユーザは、コンピュータネットワーク（例えば、インターネット）１１２を介して、クライアントコンピュータ１０８に関連する通信インターフェイス（例えば、インターネットブラウザ）４０４を、サーバ１０４に関連する診断資源（例えば、ウェブサイト）に導く。次に、ユーザには、診断サービスを記述する受入画面１６００（図１６参照）が提示される。受入画面１６００から、ユーザは、次ボタン１６０４を選択することによって、診断取得の続行を選択し得る。
【０１１２】
ユーザが次ボタン１６０４を選択した後、ユーザには、免責条項及びセキュリティ通知ページ１７００が提示される（図１７参照）。ユーザがサービス条件に同意する場合、次ボタン１７０４を選択すると、ユーザには、最低限のシステム要求事項のページ１８００が提示される（図１８参照）。最低限のシステム要求事項のページ１８００は、ユーザが追加指示及び他の選択可能なダウンロード方法を選択し得るハイパーテキスト・リンク１８０４、１８０８を提供し得る。次ボタン１８１２は、ユーザがクライアントアプリケーション４００のインストールを選択継続できるように設けられている。
【０１１３】
次ボタン１８１２の選択時、及びクライアントアプリケーション４００がクライアントコンピュータ１０８にダウンロードされる前、ユーザには、出所に関する証明書を提示し得る。出所に関する証明書には、ＶｅｒｉＳｉｇｎ・Ｃｏｍｍｅｒｃｉａｌ・Ｓｏｆｔｗａｒｅ・Ｐｕｂｌｉｓｈｅｒｓ・ＣＡＴＭ等、第三者のプロバイダによるソフトウェア出版社の識別の証明を含み得る。ユーザがクライアントアプリケーション４００のダウンロードやインストールを続けたいと望む場合、ユーザは、出所に関する証明書と共に提供される次ボタンを選択し得る。次ボタンを選択すると、インストールプロセスの進捗状況は、棒グラフ及びパーセンテージ形式の両方のウィンドウでユーザに提示される。
【０１１４】
クライアントアプリケーション４００がダウンロードされインストールされた後、ユーザには、クライアントコンピュータ１０８に割当てられたユーザＩＤ（即ち、識別子）を示すウィンドウ１９０４を含むログインページ１９００が提示される（図１９参照）。ユーザＩＤは、クライアントコンピュータ１０８に固有であり、また、診断サービスがクライアントコンピュータ１０８によって利用される都度、同じユーザＩＤがクライアントコンピュータ１０８に割当てられるように、そのクライアントコンピュータ１０８に対して保持される。更に、画面には、ログイン名ウィンドウ１９０８、及びパスワードウィンドウ１９１２を提供し得る。ユーザがまだログイン名及びパスワードを持っていない場合、ボタン又はハイパーリンク１９１６が提供され、ユーザはサービスの申し込み購入ができる。リンク１９１６をクリックすると、ユーザには、申し込み購入ページ２０００が提示される（図２０Ａ及び２０Ｂ参照）。
【０１１５】
申し込み購入ページ２０００は、通信インターフェイス４０４と関連して作成し得る。従って、通信インターフェイス４０４は、サーバ１０４と通信状態にあり、また、通信インターフェイス４０４は、クライアントアプリケーション４００がサーバ１０４と通信状態の時でさえ、サーバ１０４とクライアントコンピュータ１０８との間において、一般情報の通信のために用い得る。申し込み購入ページ２０００によって、ユーザは、適切なボタンを選択することによって、１回限りの診断２００４又は一年の申し込み２００８等、様々な申し込みレベルから選ぶことができる。またユーザには、選択される支払いオプションに必要な情報を入力するためのウィンドウ２０１６と共に、様々な支払いオプション２０１２を提示し得る。更に、ボタン２０２０は、ユーザから追加情報を収集するために設けてよい。送出ボタン２０２４が設けられと、ユーザは、承認用の入力情報を送出することができる。
【０１１６】
承認の後、ユーザは、ログイン名・パスワード選択ページ２１００からログイン名及びパスワードを選択し得る（図２１参照）。次に、ユーザは、継続ボタン２１０４を選択してログインページ１９００に戻ることができる（図１９参照）。次に、ユーザは、ログインボタン１９２０を選択して、クライアントコンピュータ１０８の診断を取得し続けることができる。サーバ１０４と交信している特定のクライアントコンピュータ１０８は、通常のセッション期間中に診断されることに留意されたい。更に、固有のユーザＩＤが、診断手順を始めた各クライアントコンピュータ１０８に割当てられる。しかしながら、１つのログイン名及びパスワードが、異なるクライアントコンピュータ１０８の診断と関連して用い得る。従って、会社又は家庭では、１つのログイン名及びパスワードを用いてそのクライアントコンピュータ１０８全てを診断し得る。
【０１１７】
ログインボタン１９２０の選択の後、ユーザには、クライアントコンピュータ１０８の正確な診断を確実に行なうために踏むべきステップに関する情報をユーザに提供する機能テスト手順受入ページ２２００が提示される（図２２参照）。例えば、ユーザには、着脱自在の媒体を有する全ての記憶装置に媒体を挿入するように指示し得る。例えば、ユーザには、ディスクをフロッピードライブ３４０に、ジップカートリッジをジップドライブ３５０に、又はカートリッジ若しくはテープを着脱自在の媒体を有する他の記憶装置３４８若しくは３５０に挿入するように指示し得る。次ボタン２２０４を選択することによって、ユーザには、テスト進行中ページ２３００が提示される（図２３参照）。
【０１１８】
テスト進行中ページ２３００は、クライアントコンピュータ１０８がテストされている最中であることをユーザに通知し、また、テストが完了するまで手順を停止しないようにユーザに警告する。またユーザには、テストが行われている間、予想されることに関する情報が提供される。例えば、ユーザには、クライアントコンピュータ１０８が様々な音を発することが予想し得ること、及びモニタ３５２の画面が点滅し得ることが通知される。
【０１１９】
テストが完了した後、ユーザには、システム情報レポートページが提示される（図２４Ａ乃至Ｃ）。システム情報レポートページ２４００には、ＣＰＵ３１２、オペレーティングシステムソフトウェア３８０、ＢＩＯＳ、ハードディスクドライブ３３６上の利用可能な空き領域、及びクライアントコンピュータ１０８上で利用可能なメモリ３３２の総量に関する情報等の一般システム情報２４０４を含み得る。
【０１２０】
更に、システム情報レポート２４００には、様々な周辺装置に関する情報を含み得る。例えば、情報２４０８が、音声カード等の入力／出力装置３６４に関して提供される。音声カード情報２４０８には、音声カード３６４、製造業者、型式、及び何らかの問題コードの説明を含み得る。更に、テスト結果を示し得る。システム情報レポート２４００に関して、様々な装置に対するテスト結果は、合格又は不合格と示し得る。
【０１２１】
情報を提供し得る記憶装置等の他の周辺装置は、ＣＤＲＯＭ３４４を含む。ＣＤＲＯＭに関する情報２４１２には、割当てられたドライブ文字、装置の説明、製造業者、型式、問題コード、及びテスト結果を含み得る。
【０１２２】
またインストールされたプリンタ３６８に対するテスト結果は、システム情報レポート２４００によって提供し得る。インストールされたプリンタ３６８に関する情報２４１６には、説明、製造業者、型名、問題コード、及びテスト結果を含み得る。またプリンタのテスト結果２４１６は、ある装置に特有なシステム情報レポート２４００においてメッセージの使用方法も示す。例えば、プリンタ３６８に関するシステム情報２４１６は、プリンタが検出されるためにオンされなければならないことに言及する。このように、ユーザには、予想外のテスト結果を生じ得る条件について通知し得る。
【０１２３】
またフロッピードライブ３４０に関する情報２４２０を提供し得る。このような情報２４２０には、割当てられたドライブ文字、装置の説明、製造業者、型式、問題コード、及びテスト結果を含み得る。
【０１２４】
またシステム情報レポート２４００は、モニタ３５２等、検出されたユーザインターフェイス装置に関する情報２４２４を提供し得る。モニタに関する情報２４２４には、説明、製造業者、型及び問題コードを含み得る。
【０１２５】
またユーザインターフェイス装置に関係する装置に関する情報２４２８は、システム情報レポートによって提供し得る。例えば、ビデオカード３２４に関するビデオアダプタ情報２４２８を提供し、また、説明、製造業者、型式、問題コード、及びテスト結果を含み得る。
【０１２６】
また検出されたハードディスクドライブ３３６に対するテスト結果は、システム情報レポート２４００にも含み得る。ハードディスクドライブ情報２４３２には、割当てられたドライブ文字、割当てられたドライブ番号、装置の説明、製造業者、型式、記憶容量、問題コード及びテスト結果を含み得る。
【０１２７】
ポインティング装置３６０等、ユーザ入力装置に関する情報２４３６には、装置の説明、製造業者、名前、問題コード及びテスト結果を含み得る。
システム情報レポート２４０に示されるテスト結果には、ネットワーク又はモデム接続（即ち、ネットワークインターフェイス）３２０に関する情報２４４０を含み得る。この情報２４４０には、モデム又はネットワークの説明、製造業者、型式、問題コード、及びテスト結果を含み得る。
【０１２８】
またクライアントコンピュータ１０８の一部として設けられたポートに関する情報２４４４は、システム情報レポート２４００の一部として表示し得る。この情報２４４４には、ポートの説明、製造業者、又、存在すれば、型式、問題コード及びテスト結果を含み得る。
【０１２９】
クライアントコンピュータ１０８に含まれるユニバーサル・シリアル・バスに関する情報２４４８は、他のポートに関する情報２４４４とは別に提供し得る。この情報２４４８には、説明、製造業者、型式、問題コード、及びテスト結果を含み得る。
【０１３０】
またソフトウェア一覧表２４５２は、システム情報レポート２４００の一部としてユーザに提示し得る。ソフトウェア一覧表２４５２は、本発明の実施形態によれば、クライアントコンピュータ１０８上で動作するオペレーティングシステムソフトウェア３８０に登録される全てのソフトウェアアプリケーション３８４を一覧表化する。
【０１３１】
システム情報レポート２４００は、次にボタン２４５６を提供し得る。次ボタン２４５６を選択すると、ユーザには、問題選択ページ２５００が提示される（図２５参照）。
【０１３２】
問題選択ページ２５００によって、ユーザは、様々な問題の種類２５０４の内１つを選択することができる。例えば、ユーザは、ハードウェア問題２５０８、又はソフトウェア問題２５１２を選択し得る。更に、ユーザは、クライアントコンピュータ１０８の動作が遅い２５１６こと、クライアントコンピュータ１０８がロックアップする２５２０こと、ユーザがファイル又はプログラムを取得できない２５２４こと、又はユーザが問題の本質を確信していない２５２８ことを示し得る。従って、問題選択ページ２５００によって、ユーザは、一般的な用語で問題を説明することができる。特に、問題選択ページ２５００は、ユーザが問題を専門用語で説明したり、あるいは、かなり専門的に問題を説明したりすることを必要としない。従って、本発明は、殆ど又は全く技術的な経験を持たないユーザでさえ用い得る。
【０１３３】
ハードウェア問題２５０８の選択に応じて、ユーザには、ハードウェア問題選択ページ２６００が提示される（図２６Ａ乃至Ｃ）。ハードウェア問題選択ページ２６００は、クライアントコンピュータ１０８のテスト中に検出される様々なハードウェア装置を列挙する。即ち、ユーザには、検出されたハードウェア装置の一覧が提示される。ハードウェア装置を説明するリンクをクリックすることによって、ユーザは、疑わしい問題がある装置として、選択した装置を指定し得る。
【０１３４】
更に、リンクが提供されることによって、ユーザは、ユーザがクライアントコンピュータ１０８と関連すると思うハードウェア装置が検出されていないことを示すことができる。また、検出されなかった装置、例えば、例示のハードウェア問題選択ページ２６００におけるテープ装置の場合、テープ装置が示されていないことを示すためのリンクのみが提供される。従って、ユーザは、自動的に検出されなかった装置に関して、問題を示すことができ、また、従って、処置策を受取ることができる。
【０１３５】
如何にしてハードウェア問題選択ページ２６００を用いて問題を診断し問題の修正においてユーザを支援するかという一例として、ユーザが、モニタ又はビデオディスプレイ３５２の問題に遭遇していると仮定する。モニタ３５２の問題を示すために、ユーザは、問題選択ページ２５００からハードウェア問題を選択すること、また、検出されたモニタ３５２に関連するリンク２６４を選択することだけが必要である。
【０１３６】
モニタ２６０４リンクの選択に応じて、ユーザには、モニタ問題解決策ページ２７００が提示される（図２７参照）。モニタ問題解決策ページ２７００によって、ユーザは、モニタ３５２でユーザが遭遇している特定の問題から選択し得る。例えば、ユーザは、モニタ３５２上の画像が欠落したり又は点いたり消えたりする場合、“消失画像”リンク２７０４を選択し得る。“不良又は歪画像”リンク２７０８は、モニタ３５２上の画像が歪んだり、透視画から外れた形状になったり、あるいは、画像が不鮮明又は読みにくい場合、選択し得る。“解像度又は色の問題”リンク２７１２は、印刷がより小さく／より大きく見えたり、又は、色若しくはテキストが鮮明でない若しくは変わってしまったりした場合、提供し得る。
【０１３７】
本例の場合、ユーザは、リンク２７０８を選択して、モニタ３５２の画像が不良又は歪んだことを示すものと仮定する。これに応じて、不良又は歪み画像解決策ページ２８００がユーザに提示される（図２８Ａ乃至Ｂ参照）。不良又は歪み画像解決策ページ２８００は、標示された問題を訂正しようとする試みにおいて、ユーザが従う数多くのステップを提供する。第１ステップ２８０４には、モニタ３５２用のドライバソフトウェアをチェックすることが含まれる。”修正を表示せよ”ボタン２８０８を選択することによって、ユーザは、正しくないドライバがインストールされたか判断するための手順に段階的にアクセスできる。特に、”修正を表示せよ”ボタン２８０８の選択に応じて、ユーザには、ビデオドライバ問題解決策ページ２９００が提示される（図２９Ａ乃至Ｂ参照）。
【０１３８】
ビデオドライバ問題解決策ページ２９００は、自助学習プログラム処置策の一例であり、また、正しくないビデオドライバがモニタ３５２と共に、特に、クライアントコンピュータ１０８のビデオカード３２４と共に用いられる場合、遭遇し得る問題に関する情報をユーザに提供する。更に、ユーザには、ビデオドライバを更新するための指示が与えられる。例えば、ユーザは、ビデオカード３２４の製造業者によって提供されたディスク又はＣＤを挿入して正しいドライバをインストールするように指示される。更に、ユーザには、ビデオカード３２４の製造業者のウェブサイト上で適切なドライバを特定するための指示が提供される。本発明の実施形態によれば、リンク（例えば、ユニバーサル・リソース・ロケータ）が、ユーザが選択し得るクライアントコンピュータ１０８にサーバ１０４によって提供され、ユーザは、通信インターフェイス４０４を用いて製造業者のウェブサイトへ利便性良くアクセスすることが可能になる。提示された手順が完了した後、ユーザは、リンク２９０４を選択して不良又は歪み画像解決策ページ２８００に戻ることができる。不良又は歪み画像解決策ページ２８００に戻ると、ユーザは、ボタン２８１０を選択して、ステップ１の２８０４が完了したことを示し得る。次に、ステップ１の２８０４が、不良又は歪み画像解決策ページ２８００から削除される。
【０１３９】
ステップ１の２８０４において、察知した問題の訂正が失敗である場合、ユーザは、ステップ２の２８１２に進むが、これは、ケーブルが緩んだ結果としてモニタ３５２の不良な又は歪んだ画像を訂正することに関する。具体的には、ユーザは、”修正を表示せよ”ボタン２８１６を選択することができる。”修正を表示せよ”ボタン２８１６を選択すると、ユーザには、ビデオコネクタ問題解決策ページ３０００が提示される（図３０Ａ−Ｂ参照）。
【０１４０】
ビデオコネクタ問題解決策ページ３０００は、自助学習プログラム処置策の他の例であり、切断若しくは欠陥のあるケーブル又は損傷したコネクタピンによって、モニタ３５２によって表示される画像の品質劣化又は歪みが生じ得ることをユーザに説明する。更に、ビデオコネクタ問題解決策ページ３０００は、接続が正しくなされたことを保証するために、ユーザが取り得るユーザアクションについて説明し得る。例えば、ユーザには、ケーブルがコンピュータの背面に設置されたコネクタに適切に挿入されたこと、及びケーブルがケーブルの一部として提供された取り付けネジでビデオカード３２４に固定されたことを確認するように指示し得る。写真３００４は、ユーザがチェックしなければならないケーブル及びコネクタの物理的構成をユーザに示すために提供し得る。提示された手順が完了すると、ユーザは、リンク３００８を選択して、不良又は歪み画像解決策ページ２８００に戻り得る。不良又は歪み画像解決策ページ２８００から、ユーザは、“完了”ボタン２８１８を選択することによって、ステップ２の２８１２が完了したことを示し得る。次に、ステップ２は、不良又は歪み画像解決策ページ２８００から削除される。
【０１４１】
続いて図２８において、ユーザは、例えば、標示された問題の解決が先行のステップにおいて失敗であった場合、ステップ３の２８２０に進み得る。ステップ３の２８２０は、競合する又は適切にインストールされていないビデオスロットに関する。”修正を表示せよ”ボタン２８２４を選択することによって、ユーザには、ビデオカード接続問題解決策ページ３１００が提示される（図３１Ａ−Ｂ参照）。ビデオカード接続問題解決策ページ３１００は、更にもう１つの自助学習プログラム処置策の例であり、クライアントコンピュータ１０８によって提供された対応するスロット又はコネクタに完全に挿入されていないビデオカード３２４の症状について説明する。更に、ユーザが、ビデオカード３２４が適切に接続されることを保証するために取り得るステップが記述されている。写真３１０４は、ビデオカード３２４及びビデオカード３２４を収容するためのスロットをユーザに説明するために提供し得る。記述した手順が行われた後、ユーザは、リンク３１０８を選択して、不良又は歪み画像解決策ページ２８００に戻り得る。次に、ステップ３の２８２０に関連する“完了”ボタン２８２６を選択して、不良又は歪み画像解決策ページ２８００からステップ３の２８２０を削除し得る。
【０１４２】
ステップ４の２８２４は、ケーブル又はビデオカード３２４のピンが曲がったことによって生じる不良又は歪画像の修正に対処する。”修正を表示せよ”ボタン２８３２を選択することによって、ユーザには、ビデオコネクタ問題解決策ページ３０００が提示される（図３０参照）。従って、自助としてユーザが行ない得る幾つかのアクションは、繰り返し得ることが認識できる。代表的な修復の場合、ユーザは、問題解決策ページからアクセスできる全ての修正を行なうことはない。従って、本例において、ユーザは、不良又は歪み画像解決策ページ２８００（図２８）から利用可能な潜在的な全ての修正にアクセスする必要はない。これは、ユーザが特定の修正によって解決し得る問題を修正している可能性があるためであり、また、従って、このような問題に関連する何らかの症状も、ユーザが特定の解決策の第２の例に到達する頃には失せているためである。更に、ユーザは、特定の解決策に関連する全ての症状を有するわけではない。従って、同様に、ユーザは、問題解決セッション期間中、先に提案された修正の繰り返しに偶然出くわす可能性は低い。完了したリンク３００８を選択することによって不良又は歪み画像解決策ページ２８００に戻ると、ユーザは、“完了”ボタン２８３４を選択することによってステップ４の２８２４を削除し得る。
【０１４３】
先行のステップが、クライアントモニタ３５２と関連して、遭遇する問題又は問題群の解決に失敗した場合、ユーザは、特定のアプリケーションプログラムをサポートしないビデオドライバに関する、又は、そのアプリケーションを実行するのに充分な程新しくないビデオカード３２４に関するステップ５の２８３６を選択し得る。”修正を表示せよ”ボタン２８４０を選択することによって、ユーザには、ビデオカード機能問題解決策ページ３２００が提示される（図３２参照）。ビデオカード機能問題解決策ページ３２００は、自助学習プログラム処置策の更にもう１つの例であり、また、あるビデオカード３２４が全てのソフトウェアアプリケーション３８４をサポートすることはできないことを説明し得る。従って、ビデオカード機能問題解決策ページ３２００は、ユーザがアプリケーションソフトウェア３８４の仕様を満たす又はその仕様に勝る新しいビデオカード３２４を購入しインストールすることを提案し得る。ユーザは、リンク３２０４を選択し、不良又は歪み画像解決策ページ２８００に戻るために、ユーザがステップを終了して及び／又は情報の見直しを終了したことを示し得る。次に、ユーザは、“完了”ボタン２８４２を選択することによってステップの一覧表からステップ５の２８３６を削除し得る。
【０１４４】
先行のステップが問題解決に失敗した場合、ユーザは、欠陥のあるビデオカードに関するステップ６の２８４４を選択し得る。”修正を表示せよ”ボタン２８４８を選択することによって、ユーザには、ビデオカード接続問題解決策ページ３１００が提示されるが、これは、ユーザが、確実にビデオカード３２４をクライアントコンピュータ１０８のマザーボードの対応するスロットに適切に相互接続するために実施し得る手順を記述する。ユーザは、リンク３１０８を選択することによって不良又は歪み画像解決策ページ２８００に戻り、手順が完了したことを示し得る。ステップ６の２８４４は、“完了”ボタン２８５０を選択することによって、ステップの一覧表から削除し得る。全てのステップが完了した場合、最後の“完了”ボタン（例えば、ボタン２８５０）を選ぶと、問題状態ページ５０００が表示される（図５０参照）。
【０１４５】
ユーザは、特定の問題の選択に応じてユーザに順番に提示される様々なステップを踏む必要はないことを認識されたい。例えば、ユーザが、適切なビデオが用いられていることを確信している場合、不良又は歪み画像解決策ページ２８００のステップ１の２８０８は、完了する必要はなく、ユーザは、ステップ２の２８１２又は他の任意のステップに進むことができる。更に、全てのステップを完了する必要はなく、ユーザは、いつでも特定の問題解決策ページを終了し得ることを認識されたい。例えば、ユーザがステップ２の２８１２に関連する手順を完了し、問題が解決されると、ユーザは、選択した他の装置／問題リンク２８５２をクリックして、問題選択ページ２５００に戻ることができる。
【０１４６】
また標示された問題に関連する全ての可能な自助ステップが、ユーザに提示される必要はないことを認識されたい。例えば、本発明の実施形態に基づき、自動テスト又は比較の何れかによって、大丈夫であることが分かっている項目に関するステップは、自助学習プログラム処置策の中に含まれない。例えば、モニタ３５２の問題のユーザによる選択に関する上記例において、正しくないドライバに関する第１ステップ２８０４は、比較によってビデオドライバが正しいことが示される場合、提供されるステップに含まれない。この比較には、クライアントコンピュータ上で検出されるビデオドライバのファイル名及びファイルサイズをビデオカード３２４に利用可能な殆どの現ビデオドライバのファイル名及びファイルサイズと比較する段階を含み得る。更にもう１つの例として、ハードウェアがクライアントコンピュータ１０８に適切に接続されていることの確認に関するステップは、自動的なテストでこのような装置が適切に接続されていることを確認する場合、自助学習プログラム処置策に含まれない。従って、本発明に基づき提供される処置策は適応性があり、また、ユーザに提示される特定の組の処置策は、クライアントコンピュータ１０８に関する比較及びテストの結果に応じて、動的に組み込まれることを認識されたい。
【０１４７】
ユーザによって示される又は選択される問題の解決と関連して取り得るステップの他の例として、ユーザは、問題選択ページからハードウェア問題２５０８を再度選択し得る。次に、ユーザは、ハードウェア問題選択ページ２６００からハードドライブリンク２６０８を選択することによって、問題の装置としてハードディスク３３６を選択し得る（図２６参照）。ハードディスクリンク２６０８を選択すると、ユーザには、ハードディスクドライブ問題解決策ページ３３００が提示される（図３３参照）。
【０１４８】
ハードディスクドライブ問題解決策ページ３３００は、クライアントコンピュータ１０８のテスト期間中検出される問題に対する解決策へのリンクを提供し得る。他の選択肢として、又は更に、複数のリンクが、代表的なハードディスクドライブ３３６の問題の解決策に対して提供し得る。例えば、第１リンク３３０４は、ハードディスクドライブ３３６からのプログラム又はデータの取得に関する問題に対応し得る。更に、ハードディスクドライブ３３６へのデータの書き込みを含む問題に対応する第２リンク３３０８を提供し得る。本発明の実施形態によれば、プログラム又はデータ３３０４の取得を含む問題へのリンク及びディスク３３０８へのデータの書き込みの問題に関するリンクは、クライアントコンピュータ１０８のテストの結果、ハードディスク３３６の問題が検出されたか否かに拘らず提供し得る（即ち、ユーザによるハードディスクリンク２６０８の選択に応じて提供し得る）。更に、ハードディスク３３６等、特定の装置またはプログラムを選択すると、追加テストを自動的に実施し得る。
【０１４９】
ユーザがデータ３３０８の書き込みを含む問題に対応するリンクを選択する場合、ユーザには、ハードディスクドライブ書き込み問題解決策ページ３４００が提示される（図３４）。第１ステップ３４０８は、満杯のハードディスク３３６によって生じる書き込み問題に対応し得る。”修正を表示せよ”ボタン３４１２を選択することによって、ユーザには、満杯のハードディスクドライブの問題解決策ページ３５００が提示される（図３５参照）。
【０１５０】
満杯のハードディスクドライブ問題解決策ページ３５００は、サーバ１０４から入手可能な自助学習プログラム処置策の一例であり、ハードドライブ３３６上の領域を解放するために取り得るアクションを記述し得る。更に、リンク３５０４は、不要なファイルを削除するために用い得るプログラムを自動的に起動ために提供し得る。不要なファイルの削除は、不要である可能性のあるファイルがユーザに一覧形式で提示し得るという点で、半自動化し得る。次に、ユーザは、これらのファイルを選択して削除の決定ができる。従って、満杯のハードディスクドライブ問題解決策ページ３５００は、自動修正又は保守処置策の一例でもある。不要である可能性のあるファイルの例は、インターネットを介したナビゲーションの速度を大きくするために保持されるインターネット一時ファイルである。ユーザは、リンク３５０８を選択することによってハードディスクドライブ書き込み問題解決策ページ３４００に戻り、手順が完了したことを示し得る。次に、ユーザは、完了ボタン３４１４を選択することによってハードディスクドライブ書き込み問題解決策ページ３４００上のステップの一覧からステップ１の３４０８を削除し得る。
【０１５１】
ハードディスクドライブ書き込み問題解決策ページ３４００のステップ２の３４１６は、ディスクドライブ３３６上に記憶されるデータの断片化による書き込み問題に対応する。”修正を表示せよ”ボタン３４２０を選択することによって、ユーザには、断片化ハードディスクドライブ問題解決策ページ３６００を提示し得る（図３６参照）。断片化ハードディスクドライブ問題解決策ページ３６００は、本発明に基づき提供される自助学習プログラム処置策の他の例であり、断片化ハードドライブ３３６によって生じる種類の問題の説明を提供し得る。更に、リンク３６０４が提供されることによって、ユーザは、デフラグユーティリティを自動的に起動することができる。従って、ユーザは、ハードディスクドライブ３３６をデフラグできるプログラムを特定する必要無く、適切なリンク（例えば、デフラグリンク３６０４）を選択するだけでハードディスクドライブ３３６をデフラグし得る。他の選択肢として、デフラグリンク３６０４の選択に応じて、デフラグスクリプト又はユーティリティが、サーバ１０４からクライアントコンピュータ１０８にダウンロードすることによって、ディスクドライブ３３６のデフラグを行なうことができる。従って、断片化ハードディスクドライブ問題解決策ページ３６００は、自動修正又は保守処置策の一例でもある。デフラグ手順が完了した後、ユーザは、ハードディスクドライブ書き込み問題解決策ページ３４００に自動的に戻るか、あるいは、完了したリンク３６０８を選択することによって、ハードディスクドライブ書き込み問題解決策ページ３４００に戻ることを決定し得る。
【０１５２】
引き続き図３４において、ステップ３の３４２４は、コネクタケーブルが緩むことによって生じるディスクドライブ３３６への書き込みの問題に対応する。”修正を表示せよ”ボタン３４２８を選択することによって、ユーザには、ハードディスクドライブ接続解決策ページ３７００が提示される（図３７参照）。ハードディスクドライブ接続解決策ページ３７００は、自助学習プログラム処置策の更にもう１つの例であり、ハードドライブ３３６に相互接続されるケーブルの種類、及び、損傷が、標示された問題を引き起こしたかどうか判断するためにユーザが確認すべきデータケーブルへのこのような損傷に関して記述し得る。更に、ユーザには、ケーブルが適切に取り付けられていること、また、関連するコネクタに曲がったピンが無いことを保証するように指示し得る。手順が完了した後、又は、ユーザが記述された手順を完了したくない場合、ユーザは、リンク３７０４を選択し、手順が完了してハードディスクドライブ書き込み問題解決策ページ３４００に戻ることを示し得る。最後に残っている“完了”ボタン（例えば、“完了”ボタン３４３０）を選択すると、ユーザには、問題状態ページ５０００が提示される（図５０参照）。
【０１５３】
他の例として、また、引き続き図２６において、ユーザは、リンク２６１２を選択して、プリンタ３６８が検出されていないことを示し得る。リンク２６１２を選択し、プリンタ３６８がハードウェアのリストに表示されていないことが示されると、ユーザには、プリンタの未検出解決策のページ３８００が提示される（図３８参照）。第１ステップ３８０４において、印刷するプリンタに対応する修正が提供される。”修正を表示せよ”ボタン３８０８を選択することによって、ユーザには、プリンタＣＭＯＳ項目問題解決策ページ３９００が提示される（図３９Ａ乃至Ｃ）。
【０１５４】
プリンタＣＭＯＳ項目問題解決策ページ３９００は、自助学習プログラム処置策の他の例であり、プリンタ用のＣＭＯＳ項目が適切に構成されていることを証明するためにユーザが踏まなければならないステップを記述する。更に、ＣＭＯＳ項目の設定と共に通常用いられるユーティリティの説明又は撮影画面３９０４を提供し得る。更に、異なるポートの種類の説明３９０８を提供して、プリンタ３６８がどんな種類のポートに接続されているか判断する際、ユーザを支援し得る。プリンタＣＭＯＳ項目問題解決策ページ３９００に示した手順の後、又は、何らかの理由によりユーザがそのページを終了したい場合、ユーザには、再度、“完了”リンク３９１２の選択の後、プリンタ未検出解決策ページ３８００が提示される。ステップ１は、対応する“完了”ボタン３８１０を選択することによって、プリンタ未検出解決策ページ３８００から削除し得る。
【０１５５】
再度、図３８において、ステップ２の３８１２は、オペレーティングソフトウェア３８０のプログラムのフォルダにリスト表示されないプリンタ３６８に対応する。”修正を表示せよ”ボタン３８１６を選択することによって、ユーザには、プリンタ接続問題解決策ページ４０００が提示される（図４０Ａ乃至Ｄ参照）。プリンタ接続問題解決策ページ４０００は、自助学習プログラム処置策の更にもう１つの例であり、適切なプリンタ動作に要求される接続に関する情報を含み得る。関連するコネクタを識別する際ユーザを支援するために、写真４００４を含み得る。示した手順が完了している場合、又は、ユーザがページを終了したい場合、ユーザは、リンク４００８を選択して、プリンタ未検出解決策ページ３８００に戻り得る。問題状態ページ５０００（図５０参照）は、ユーザがステップ２の３８１２に関連した“完了”ボタン３８１８を次に選択する場合、提示される。
【０１５６】
更にもう１つの例として、ソフトウェアを含む問題に遭遇していることを示すユーザには、ソフトウェア問題選択ページ４１００が提示される（図４１参照）。ソフトウェア問題選択ページ４１００には、特定の種類のソフトウェア問題に関する幾つかの説明が含まれる。例えば、ユーザは、“プログラムが画面に現れる前にプログラムがエラーメッセージを出す”４１０４、“プログラムは起動するが、それを用いようとすると、エラーメッセージが出る”４１０８、“プログラムは動作するが、使用時、適切に動作しない”４１１２、“プログラムを幾つか起動する時、画面が消失しエラーメッセージが出る”４１１６、及び“殆どの動作中、コンピュータの動作が遅い”４１２０から選択し得る。従って、本発明によって、ユーザは、遭遇している問題を非専門用語で記述することができる。
【０１５７】
“プログラムが画面に現れる前にプログラムがエラーメッセージを出す”４１０４という摘要の選択に応じて、ユーザには、ソフトウェアエラー処置策ページ４２００が提示される（図４２参照）。ソフトウェアエラー処置策ページ４２００は、標示された問題に対して提案された解決策を提供する。特に、ページ４２００は、ユーザが走査ディスク等のユーティリティプログラムを実行して、損なわれたファイルを修正するように提案し得る。更に、”修正を表示せよ”ボタン４２０４が提供される。”修正を表示せよ”ボタン４２０４を選択することによって、ユーザは、提案された修復に関する他の情報にアクセスし得る。例えば、ユーザには、走査ディスクプロセスを記述する走査ディスク情報ページ４３００を提示し得る（図４３参照）。また、走査ディスク情報ページ４３００には、ユーザが走査ディスクプログラムの実行を開始できる実行又は次ボタン４３０４を含み得る。従って、本発明によって、提案された保守又は修復手順をユーザに通知し得る仕組みが提供され、また、ユーザは、高い技術力を必要とせずに、クライアントアプリケーション４００からこれらの手順を起動し得る。走査ディスクユーティリティが実行された後、ユーザは、再度次ボタン４３０４を選択して、次のテストシーケンスページに進み得る。次に、ユーザは、ソフトウェアエラー処置策画面４２００に戻り、“完了”ボタン４２０８を選択して、先行のステップが完了したことを示し得る。
【０１５８】
次に、ユーザには、ソフトウェアエラーのデフラグ処置策画面４４００を提示し得る（図４４参照）。デフラグ処置策画面４４００には、ユーザが選択してデフラグプログラムを実行するためのステップ毎の手順を見ることができる”修正を表示せよ”ボタン４４０４を含み得る。”修正を表示せよ”ボタン４４０４を選択すると、ユーザには、デフラグ情報画面４５００が提示される（図４５参照）。デフラグ情報画面４５００には、ユーザがデフラグプログラムの実行を選択できる“次”ボタン４５０４が含まれる。デフラグプログラム動作が完了した後、ユーザは、ソフトウェアエラーのデフラグ処置策画面４４００に戻る。“完了”ボタン４４０８を選択すると、ユーザには、ソフトウェアエラーのエラーメッセージ処置策チェック画面４６００が提示される（図４６参照）。
【０１５９】
ソフトウェアエラーのエラーメッセージ処置策チェック画面４６００には、チェックプログラムエラー情報ページ４７００（図４７参照）にユーザを導く”修正を表示せよ”ボタン４６０４が含まれる。チェックプログラムエラー情報ページ４７００は、自動的に生じるステップと、ユーザが“次”ボタン４７０４をクリックした後、チェックを継続するために踏まなければならないステップとを記述する。特に、クライアントは、ユーザが問題を含むと考えるソフトウェアに関連する起動アイコンをダブルクリックするように指示し得る。
【０１６０】
次に、図４８において、見つけられたエラーメッセージページ４８００を示す。見つけられたエラーメッセージページ４８００は、ユーザによって起動されるプログラムで作成される特定のエラーメッセージをユーザに提示し、更にアクションを勧める。例えば、ユーザは、プログラムディスクが利用可能な場合、プログラムを削除してから再インストールするように教えられる。“完了”ボタン４８０４が提供されることによって、ユーザがそのページの情報を読み終えた時、ユーザは、見つけられたエラーメッセージページ４８００を終了することができる。
【０１６１】
“完了”ボタン４８０４の選択の後、ユーザには、アンインストールプログラム情報ページ４９００を提示し得る（図４９参照）。アンインストールプログラム情報ページ４９００から、ユーザは、”修正を表示せよ”ボタン４９０４を選択して、如何にしてプログラムをアンインストールするかに関する指示を受信し得る。次に、ユーザには、そこから選択するためのプログラム一覧が提示される。
【０１６２】
問題を含むプログラムを選択することによって、また、提供されたボタンをクリックして進みたいという希望を示すことによって、ユーザは、アンインストールプロセスを開始し得る。アンインストールプロセスが完了した時、ユーザは、“完了”ボタン４９０８を選択し得る。
【０１６３】
問題状態ページ５０００（図５０参照）は、標示された問題に関連する全ての手順が完了した後、ユーザに提示される。問題状態ページ５０００によって、ユーザは、セッションの要約を受信するよう選択でき、また、後続の手順が、標示された問題又は問題群の解決に至っていない場合、使用に供する様々な追加支援元を提供する。例えば、ユーザは、チャットリンク５００４を選択して、本物のサービス技術者とチャットセッションを開始する。更に、電話番号５００８が提供されることによって、ユーザは、電話でサービス技術者と話すことができる。更に、Ｅメールアドレス５０１２が提供されることによって、ユーザは、Ｅメールでサービス技術者と対話ができる。“次”ボタン５０１６は、要約報告書５１００をユーザに提示する（図５１Ａ乃至Ｂ参照）。
【０１６４】
要約報告書５１００は、クライアントコンピュータ１０８と共に検出される各装置の一覧５１０４を提供する。このような各装置の場合、自動テストの結果５１０８は、合格／不合格形式で提示される。問題が在るとユーザが示した装置の場合、ユーザによって識別された症状５１１２が提示される。従って、要約報告書５１００は、テストの結果及びユーザが遭遇した症状等、クライアントコンピュータ１０８に関連する装置の状態を提供する。更に、実施された保守手順又は修正のレコード５１１４を含み得る。
【０１６５】
一覧５１０４に含まれる全て又は幾つかの装置の場合、追加のサポート元へのアクセスのためにリンク５１１６を提供し得る。例えば、リンク５１１６は、リンク５１１６に関連する装置の製造業者によって管理されるサポートウェブサイトに対応するクライアントコンピュータ１０８上でブラウザウィンドウを開き得る。他の選択肢として又は更に、追加のサポートリンク５１１６は、リンク５１１６に関連する装置の製造業者との交信用の電話番号又はＥメールアドレス等、追加のサポート元と交信するための他の手段を提供し得る。
【０１６６】
他のリンクは、クライアントコンピュータ１０８の他の動作に対応する要約報告書ページ５１００に提供し得る。例えば、潜在的な問題のリンク５１２０が提供され、クライアントコンピュータ１０８に関連する潜在的な将来の問題に対してユーザに警告を発し得る。従って、潜在的な問題のリンク５１２０を選択すると、ユーザは、クライアントコンピュータ１０８の様々な側面の条件を要約する潜在的な問題ページ５２００に至ることができる（図５２参照）。保守リンク５１２４が選択されることによって、ユーザは、手引きへのアクセス又は様々な保守手順の実施が可能である。従って、本発明は、技術的に経験の浅いユーザでさえ、保守手順を行なうことができ、これによってクライアントコンピュータにおける将来の問題を潜在的に回避することができる機能を提供し得る。保守リンク５１２４、また、保守問題ページ５３００（図５３参照）を介してアクセスし得る保守手順の例には、不要なファイルを削除すること、走査ディスクを実行すること、デフラグユーティリティを実行すること、並びにウィルス保護ソフトウェアをインストール及び更新すること、が含まれる。製品リンク及びサービスリンク５１２８は、サービス及びアップグレードオプションページ５４００をユーザに提示する（図５４参照）。サービス及びアップグレードオプション５４００から、ユーザは、ウィルス保護ソフトウェア、コンピュータセキュリティ製品、ソフトウェア、ハードウェア供給者、コンピュータ手引き等の様々な製品のプロバイダにリンクすることができる。
【０１６７】
本発明に基づき、コンピュータハードウェア及びソフトウェアを診断するための方法と装置が提供される。本発明は、広義には、コンピュータ修復に精通しているユーザ又は技術者からの入力を必要とせずに、コンピュータハードウェア及びソフトウェアを診断するための方法と装置に関する。特に、本発明は、診断対象のコンピュータのユーザから基本入力のみを受信しつつ、また、システムのサーバ側での人間の介入を必要とせずに、コンピュータハードウェア及びソフトウェアを診断できる方法と装置を提供する。更に、本発明の方法と装置は、修復を自動的に行なうのに必要な情報等の修復情報を提供できる。
【０１６８】
本発明には特定の実施形態の説明が含まれるが、様々な修正が可能であり且つ本説明の範囲内にあることを認識されたい。例えば、発覚した問題又は問題群を説明するためにユーザが選択し得るメニュー項目には、前述の説明で述べた項目以外の又は他に選択し得る項目を含み得る。他の例として、診断対象のコンピュータは、スタンドアロンのコンピュータというより、ローカルコンピュータネットワークの一部であり得る。更に、本発明は、パーソナル携帯情報機器、様々な構成の無線装置、又は診断サーバと通信できる他の装置等、パーソナルコンピュータ以外のデジタル装置を診断するために用いることができる。
【０１６９】
本発明の前述の議論は、説明及び記述の目的のために提供した。更に、説明は、本明細書中に開示された形態に本発明を限定することを意図しない。従って、関連分野の技術及び知識内において、上記教示に対応した変形及び修正は、本発明の範囲内にある。これまでに述べた実施形態は、更に、本発明を実践するのに現在知られている最良の形態を説明することを意図し、また、当業者がこのような又は他の実施形態において及び本発明の特定のアプリケーション又は用途に必要とされる様々な修正と共に本発明を利用できるようにすることを意図する。添付された請求項は、従来技術によって容認されている程度に、他の選択可能な実施形態を含むように解釈されることを意図する。
【図面の簡単な説明】
【図１】本発明の実施形態に基づくシステムの主な構成要素を示すブロック図。
【図２】本発明の実施形態に基づくサーバを示すブロック図。
【図３】本発明の実施形態に基づくクライアントコンピュータを示すブロック図。
【図４】本発明の実施形態に基づくサーバとクライアントコンピュータとの間における論理通信回線を示すブロック図。
【図５】本発明の実施形態に基づくシステムの動作を示すフローチャート。
【図６】本発明の実施形態に基づくクライアントアプリケーションの動作を示す図。
【図７】本発明の実施形態に基づく通信インターフェイスの動作を示す図。
【図８】本発明の実施形態に基づくテストモジュールの動作を示すフローチャート。
【図９】ハードウェア問題の選択に応じた本発明の実施形態に基づくシステムの動作を示すフローチャート。
【図１０】ソフトウェア問題の選択に応じた本発明の実施形態に基づくシステムの動作を示すフローチャート。
【図１１】性能問題の選択に応じた本発明の実施形態に基づくシステムの動作を示すフローチャート。
【図１２】未知の問題の選択に応じた本発明の実施形態に基づくシステムの動作を示すフローチャート。
【図１３】本発明の実施形態に基づくクライアントコンピュータに対する処置策の提供を示すフローチャート。
【図１４Ａ〜１４Ｅ】本発明の実施形態に基づく自助処置策のカテゴリ及びサブカテゴリの説明図。
【図１５】本発明の実施形態に基づく処置策決定プロセスを示すフローチャート。
【図１６】本発明の実施形態に基づく診断サービス受入画面の撮影画面。
【図１７】本発明の実施形態に基づく免責及びセキュリティ通知ページの撮影画面。
【図１８】本発明の実施形態に基づく最低限のシステム要求事項ページの撮影画面。
【図１９】本発明の実施形態に基づくログインページの撮影画面。
【図２０Ａ及び２０Ｂ】本発明の実施形態に基づく申し込み購入ページの撮影画面。
【図２１】本発明の実施形態に基づくログイン名及びパスワード選択ページの撮影画面。
【図２２】本発明の実施形態に基づく機能テスト手順受入ページの撮影画面。
【図２３】本発明の実施形態に基づくテスト進行中ページの撮影画面。
【図２４Ａ乃至Ｃ】本発明の実施形態に基づくシステム情報レポートの撮影画面。
【図２５】本発明の実施形態に基づく問題選択ページの撮影画面。
【図２６Ａ乃至２６Ｃ】本発明の実施形態に基づくハードウェア問題選択ページの撮影画面。
【図２７】本発明の実施形態に基づくモニタ問題解決策ページの撮影画面。
【図２８Ａ及び２８Ｂ】本発明の実施形態に基づく不良又は変形写真解決策ページの撮影画面。
【図２９Ａ及び２９Ｂ】本発明の実施形態に基づくビデオドライバ問題解決策ページの撮影画面。
【図３０Ａ及び３０Ｂ】本発明の実施形態に基づくビデオコネクタ問題解決策ページの撮影画面。
【図３１Ａ及び３１Ｂ】本発明の実施形態に基づくビデオカード接続問題解決策ページの撮影画面。
【図３２】本発明の実施形態に基づくビデオカード能力問題解決策ページの撮影画面。
【図３３】本発明の実施形態に基づくハードディスクドライブ問題選択ページの撮影画面。
【図３４Ａ及び３４Ｂ】本発明の実施形態に基づくハードディスクドライブ書き込み問題解決策ページの撮影画面。
【図３５】本発明の実施形態に基づく満杯状態ハードディスクドライブ問題解決策ページの撮影画面。
【図３６】本発明の実施形態に基づく断片化ハードディスクドライブ問題解決策ページの撮影画面。
【図３７Ａ及び３７Ｂ】本発明の実施形態に基づくハードディスクドライブコネクタ解決策ページの撮影画面。
【図３８】本発明の実施形態に基づくプリンタ未検出解決策ページの撮影画面。
【図３９Ａ乃至３９Ｃ】本発明の実施形態に基づくプリンタＣＭＯＳ入力問題解決策ページの撮影画面。
【図４０Ａ乃至４０Ｄ】本発明の実施形態に基づくプリンタ接続問題解決策ページの撮影画面。
【図４１】本発明の実施形態に基づくソフトウェア問題選択ページの撮影画面。
【図４２】本発明の実施形態に基づくソフトウェアエラー走査ディスク処置策画面の撮影画面。
【図４３】本発明の実施形態に基づく走査ディスク情報ページの撮影画面。
【図４４】本発明の実施形態に基づくソフトウェアエラーデフラグ診断ページの撮影画面。
【図４５】本発明の実施形態に基づくデフラグ情報ページの撮影画面。
【図４６】本発明の実施形態に基づくソフトウェアエラーエラーメッセージ有無チェック処置策ページの撮影画面。
【図４７】本発明の実施形態に基づくチェックプログラムエラー情報ページの撮影画面。
【図４８】本発明の実施形態に基づくエラーメッセージ検出ページの撮影画面。
【図４９】本発明の実施形態に基づくアンインストールプログラム情報ページの撮影画面。
【図５０Ａ及び５０Ｂ】本発明の実施形態に基づく問題状態ページの撮影画面。
【図５１Ａ及び５１Ｂ】本発明の実施形態に基づく概要報告ページの撮影画面。
【図５２】本発明の実施形態に基づく潜在的問題ページの撮影画面。
【図５３】本発明の実施形態に基づく保守問題ページの撮影画面。
【図５４】本発明の実施形態に基づくサービス及びアップグレードオプションページの撮影画面。
【図１】
2004514208.tif 000003
【図２】
2004514208.tif 000004
【図３】
2004514208.tif 000005
【図４】
2004514208.tif 000006
【図５】
2004514208.tif 000007
【図６】
2004514208.tif 000008
【図７】
2004514208.tif 000009
【図８】
2004514208.tif 000010
【図９】
2004514208.tif 000011
【図１０】
2004514208.tif 000012
【図１１】
2004514208.tif 000013
【図１２】
2004514208.tif 000014
【図１３】
2004514208.tif 000015
【図１５】
2004514208.tif 000016
【国際公開パンフレット】
2004514208.tif 000017
2004514208.tif 000018
2004514208.tif 000019
2004514208.tif 000020
2004514208.tif 000021
2004514208.tif 000022
2004514208.tif 000023
2004514208.tif 000024
2004514208.tif 000025
2004514208.tif 000026
2004514208.tif 000027
2004514208.tif 000028
2004514208.tif 000029
2004514208.tif 000030
2004514208.tif 000031
2004514208.tif 000032
2004514208.tif 000033
2004514208.tif 000034
2004514208.tif 000035
2004514208.tif 000036
2004514208.tif 000037
2004514208.tif 000038
2004514208.tif 000039
2004514208.tif 000040
2004514208.tif 000041
2004514208.tif 000042
2004514208.tif 000043
2004514208.tif 000044
2004514208.tif 000045
2004514208.tif 000046
2004514208.tif 000047
2004514208.tif 000048
2004514208.tif 000049
2004514208.tif 000050
2004514208.tif 000051
2004514208.tif 000052
2004514208.tif 000053
2004514208.tif 000054
2004514208.tif 000055
2004514208.tif 000056
2004514208.tif 000057
2004514208.tif 000058
2004514208.tif 000059
2004514208.tif 000060
2004514208.tif 000061
2004514208.tif 000062
2004514208.tif 000063
2004514208.tif 000064
2004514208.tif 000065
2004514208.tif 000066
2004514208.tif 000067
2004514208.tif 000068
2004514208.tif 000069
2004514208.tif 000070
2004514208.tif 000071
2004514208.tif 000072
2004514208.tif 000073
2004514208.tif 000074
2004514208.tif 000075
2004514208.tif 000076
2004514208.tif 000077
2004514208.tif 000078
2004514208.tif 000079
2004514208.tif 000080
2004514208.tif 000081
2004514208.tif 000082
2004514208.tif 000083
2004514208.tif 000084
2004514208.tif 000085
2004514208.tif 000086
2004514208.tif 000087
2004514208.tif 000088
2004514208.tif 000089
2004514208.tif 000090
2004514208.tif 000091
2004514208.tif 000092
2004514208.tif 000093
2004514208.tif 000094
2004514208.tif 000095
2004514208.tif 000096
2004514208.tif 000097
2004514208.tif 000098
2004514208.tif 000099
2004514208.tif 000100
2004514208.tif 000101
2004514208.tif 000102
2004514208.tif 000103
2004514208.tif 000104
2004514208.tif 000105
2004514208.tif 000106
2004514208.tif 000107
2004514208.tif 000108
2004514208.tif 000109
2004514208.tif 000110
2004514208.tif 000111
2004514208.tif 000112
2004514208.tif 000113
2004514208.tif 000114
2004514208.tif 000115
2004514208.tif 000116
2004514208.tif 000117
2004514208.tif 000118
2004514208.tif 000119
2004514208.tif 000120
2004514208.tif 000121
2004514208.tif 000122
2004514208.tif 000123
2004514208.tif 000124
2004514208.tif 000125
2004514208.tif 000126
2004514208.tif 000127
2004514208.tif 000128
2004514208.tif 000129
2004514208.tif 000130
2004514208.tif 000131
2004514208.tif 000132
2004514208.tif 000133
2004514208.tif 000134
2004514208.tif 000135
2004514208.tif 000136
2004514208.tif 000137
2004514208.tif 000138
2004514208.tif 000139
2004514208.tif 000140
2004514208.tif 000141
2004514208.tif 000142
2004514208.tif 000143
2004514208.tif 000144
2004514208.tif 000145
2004514208.tif 000146
2004514208.tif 000147
2004514208.tif 000148
2004514208.tif 000149
2004514208.tif 000150
2004514208.tif 000151
2004514208.tif 000152
2004514208.tif 000153
2004514208.tif 000154
2004514208.tif 000155
2004514208.tif 000156
2004514208.tif 000157
【国際公開パンフレット（コレクトバージョン）】
2004514208.tif 000158
2004514208.tif 000159
【国際公開パンフレット（コレクトバージョン）】
2004514208.tif 000160
2004514208.tif 000161
2004514208.tif 000162
2004514208.tif 000163
2004514208.tif 000164
2004514208.tif 000165
2004514208.tif 000166
2004514208.tif 000167
2004514208.tif 000168
2004514208.tif 000169
2004514208.tif 000170
2004514208.tif 000171
2004514208.tif 000172
2004514208.tif 000173
2004514208.tif 000174
2004514208.tif 000175
2004514208.tif 000176
2004514208.tif 000177
2004514208.tif 000178
2004514208.tif 000179
2004514208.tif 000180
2004514208.tif 000181
2004514208.tif 000182
2004514208.tif 000183
2004514208.tif 000184
2004514208.tif 000185
2004514208.tif 000186
2004514208.tif 000187
2004514208.tif 000188
2004514208.tif 000189
2004514208.tif 000190
2004514208.tif 000191
2004514208.tif 000192
2004514208.tif 000193
2004514208.tif 000194
2004514208.tif 000195
2004514208.tif 000196
2004514208.tif 000197
2004514208.tif 000198
2004514208.tif 000199
2004514208.tif 000200
2004514208.tif 000201
2004514208.tif 000202
2004514208.tif 000203
2004514208.tif 000204
2004514208.tif 000205
2004514208.tif 000206
2004514208.tif 000207
2004514208.tif 000208
2004514208.tif 000209
2004514208.tif 000210
2004514208.tif 000211
2004514208.tif 000212
2004514208.tif 000213
2004514208.tif 000214
2004514208.tif 000215
2004514208.tif 000216
2004514208.tif 000217
2004514208.tif 000218
2004514208.tif 000219
2004514208.tif 000220
2004514208.tif 000221
2004514208.tif 000222
2004514208.tif 000223
2004514208.tif 000224
2004514208.tif 000225
2004514208.tif 000226
2004514208.tif 000227
2004514208.tif 000228
2004514208.tif 000229
2004514208.tif 000230
2004514208.tif 000231
2004514208.tif 000232
2004514208.tif 000233
2004514208.tif 000234
2004514208.tif 000235
2004514208.tif 000236
2004514208.tif 000237
2004514208.tif 000238
2004514208.tif 000239
2004514208.tif 000240
2004514208.tif 000241
2004514208.tif 000242
2004514208.tif 000243
2004514208.tif 000244
2004514208.tif 000245
2004514208.tif 000246
2004514208.tif 000247
2004514208.tif 000248
2004514208.tif 000249
2004514208.tif 000250
2004514208.tif 000251
2004514208.tif 000252
2004514208.tif 000253
2004514208.tif 000254
2004514208.tif 000255
2004514208.tif 000256
2004514208.tif 000257
2004514208.tif 000258
2004514208.tif 000259
2004514208.tif 000260
2004514208.tif 000261
2004514208.tif 000262
2004514208.tif 000263
2004514208.tif 000264
2004514208.tif 000265
2004514208.tif 000266
2004514208.tif 000267
2004514208.tif 000268
2004514208.tif 000269
2004514208.tif 000270
2004514208.tif 000271
2004514208.tif 000272
2004514208.tif 000273
2004514208.tif 000274
2004514208.tif 000275
2004514208.tif 000276
2004514208.tif 000277
2004514208.tif 000278
2004514208.tif 000279
2004514208.tif 000280
2004514208.tif 000281
2004514208.tif 000282
2004514208.tif 000283
2004514208.tif 000284
2004514208.tif 000285
2004514208.tif 000286
2004514208.tif 000287
2004514208.tif 000288
2004514208.tif 000289
2004514208.tif 000290
2004514208.tif 000291
2004514208.tif 000292
2004514208.tif 000293
2004514208.tif 000294
2004514208.tif 000295
【国際調査報告】
2004514208.tif 000296