(57)【要約】【課題】  ネットワーク通信エージェントおよびトラブルシュータを提供すること。【解決手段】  装置を複数の段階でネットワークサービスに自動接続し、各段階に関して接続の進行のリアルタイム状態報告を表示し、ある段階が成功しなかった場合は、その段階に関してトラブルシューティングヘルプおよび指示を表示するネットワーク接続エージェントおよびトラブルシュータを備える。【選択図】  図１
2005025753.tif 000002
【特許請求の範囲】
【請求項１】
複数の段階で装置をネットワークサービスに接続するステップと、
前記複数の段階ごとの状態をリアルタイムで表示するステップと、
前記状態がエラー状態を含む場合、リアルタイムでトラブルシューティングヘルプをさらに表示するステップと
を備えたことを特徴とする方法。
【請求項２】
前記複数の段階のうち所定の段階を完了させるため第１の技術を使用し、前記第１の技術が失敗した場合、前記段階を完了させるため、前記第１の技術に続く１つまたは複数の技術を自動的に試行するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記接続するステップは、前記装置とネットワークとの間の通信結合段階で接続することを特徴とする請求項１に記載の方法。
【請求項４】
前記接続するステップは、ネットワークプロトコルおよびネットワークアドレスの一方を構成するためのネットワーク設定段階で接続することを特徴とする請求項１に記載の方法。
【請求項５】
前記ネットワーク設定段階は、インターネットプロトコル（ＩＰ）設定段階として存在し、前記ネットワークアドレスは、ＩＰアドレスとして存在することを特徴とする請求項４に記載の方法。
【請求項６】
前記ＩＰ設定段階を完了させるために、動的ホスト構成プロトコル（ＤＨＣＰ）技術、ｐｏｉｎｔ  ｔｏ  ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＰＰＰｏＥ）技術、およびブートストラッププロトコル（ＢＯＯＴＰ）技術のうちの１つを含む１つまたは複数の技術が試行されることを特徴とする請求項５に記載の方法。
【請求項７】
前記接続するステップは、前記ネットワークアドレスをネットワークドメイン名に関連付ける名前解決段階で接続することを特徴とする請求項４に記載の方法。
【請求項８】
前記名前解決段階は、ドメイン名システム（ＤＮＳ）による名前解決段階として存在することを特徴とする請求項７に記載の方法。
【請求項９】
前記接続するステップは、前記ネットワークサービスとの通信を確認するサービス接続段階で接続することを特徴とする請求項１に記載の方法。
【請求項１０】
前記接続するステップは、前記複数の段階の各々の間で自動的に実行を続けることを特徴とする請求項１に記載の方法。
【請求項１１】
前記リアルタイムで表示される状態は、前記複数の段階のうちの１つを記述するメッセージを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記メッセージは、前記複数の段階のうちの１つを完了させるために使用する技術の進行を記述することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記リアルタイムで表示される状態は、前記複数の段階のうちの１つの進行を視覚的に示すインジケータを含むことを特徴とする請求項１に記載の方法。
【請求項１４】
前記リアルタイムで表示される状態は、前記複数の段階のうちの１つの成功または失敗を視覚的に示すインジケータを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記トラブルシューティングヘルプは、前記複数の段階のうちの１つを完了させるための指示を含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記トラブルシューティングヘルプは、前記複数の段階のうちの１つを完了させるために使用する技術を完了させるための指示を含むことを特徴とする請求項１に記載の方法。
【請求項１７】
前記トラブルシューティングヘルプは、前記装置のシリアル番号を含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記トラブルシューティングヘルプは、前記接続中に収集されたエラーログを含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記トラブルシューティングヘルプは、前記接続中に障害が生じた段階を含むことを特徴とする請求項１に記載の方法。
【請求項２０】
前記接続するステップは、ＱｏＳテスト段階で接続することを特徴とする請求項１に記載の方法。
【請求項２１】
前記トラブルシューティングは、ＱｏＳ情報を含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記ＱｏＳ情報は、上り帯域幅、下り帯域幅、ネットワークデータパケット待ち時間、ネットワークデータパケットドロップ率、およびネットワークジッター値のうちの１つを含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記装置は、インターネットを介してネットワークサービスに接続することを特徴とする請求項１に記載の方法。
【請求項２４】
前記接続するステップは、インターネット用ネットワークプロトコルおよびインターネットプロトコルアドレスのうちの一方を構成するためのネットワーク設定段階で接続することを特徴とする請求項２３に記載の方法。
【請求項２５】
前記ネットワーク設定段階を完了させるために動的ホスト構成プロトコル（ＤＨＣＰ）技術が試行され、前記ＤＨＣＰ技術が失敗すると、前記ネットワーク設定段階を完了させるためにｐｏｉｎｔ  ｔｏ  ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＰＰＰｏＥ）技術が自動的に試行されることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記接続するステップは、
前記装置と前記ネットワークとの間に通信結合が存在するかどうかをテストするステップと、
前記テストの状態をリアルタイムで表示するステップであって、前記通信結合が存在する場合は第１の成功インジケータを表示し、前記通信結合が存在しない場合は第１の失敗インジケータおよび前記通信結合を確立するためのトラブルシューティング指示を表示するステップと、
ネットワーク設定検出を試行して、前記ネットワーク設定の検出が成功した場合は第２の成功インジケータを表示し、前記通信結合が存在しない場合は第２の失敗インジケータおよび前記ネットワーク設定を検出するためのトラブルシューティング指示を表示するステップと、
ドメイン名システムによる名前解決を試行して、ドメイン名の解決が成功した場合は第３の成功インジケータを表示し、前記ドメイン名が解決されない場合は第３の失敗インジケータおよび前記ドメイン名を解決するためのトラブルシューティング指示を表示するステップと、
前記ネットワーク上で使用可能なネットワークサービスとの通信を試行して、前記ネットワークサービスとの通信が成功した場合は第４の成功インジケータを表示し、前記ネットワークサービスとの前記通信が失敗した場合は第４の失敗インジケータおよび前記ネットワークサービスと通信するためのトラブルシューティング指示を表示するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項２７】
装置とネットワークとの間の通信結合を確認する通信結合エンジンと、
ネットワークアドレスを含むネットワーク設定を構成するネットワーク設定エンジンと、
コンピューティングドメイン名を前記ネットワークアドレスに関連付ける名前解決エンジンと、
ネットワークサービスと通信するサービス接続エンジンと
を備えたことを特徴とする装置をネットワークに接続するためのエンジン。
【請求項２８】
ネットワークにおけるＱｏＳパラメータをテストし、および記録するＱｏＳモジュールをさらに備えたことを特徴とする請求項２７に記載のエンジン。
【請求項２９】
接続障害に対する応答として指示を行うためのヘルプおよびトラブルシューティングエンジンをさらに備えたことを特徴とする請求項２７に記載のエンジン。
【請求項３０】
１つまたは複数の接続試行中エラーを記録するエラーロギングエンジンをさらに備えたことを特徴とする請求項２７に記載のエンジン。
【請求項３１】
前記エラーロギングエンジンは、失敗した接続段階の障害記録および関連の拡張エラー情報を残しておき、前記失敗した接続段階に続くネットワークへの接続の成功に応答してサービスにアップロードすることを特徴とする請求項３０に記載のエンジン。
【請求項３２】
前記障害記録および関連の拡張エラー情報はアップロードされて、複数の接続障害の統計的処理されることを特徴とする請求項３１に記載のエンジン。
【請求項３３】
前記障害記録および関連の拡張エラー情報は、ベイジアンネットワークが前記装置と前記ネットワークとの間の接続段階を改良するためにアップロードされることを特徴とする請求項３１に記載のエンジン。
【請求項３４】
前記装置と前記ネットワークとの間の通信結合の状態を表示するためにユーザインターフェースを生成するユーザインターフェースエンジンをさらに備えたことを特徴とする請求項２７に記載のエンジン。
【請求項３５】
前記ユーザインターフェースエンジンは、ヘルプおよびトラブルシューティング指示のうちの１つを表示するユーザインターフェースを生成することを特徴とする請求項３４に記載のエンジン。
【請求項３６】
前記ユーザインターフェースエンジンは、ＱｏＳエンジンからＱｏＳ情報を表示するユーザインターフェースを生成することを特徴とする請求項３４に記載のエンジン。
【請求項３７】
前記ユーザインターフェースエンジンは、エラーロギングエンジンからエラー情報を表示するユーザインターフェースを生成することを特徴とする請求項３４に記載のエンジン。
【請求項３８】
前記装置と前記ネットワークとの自動接続、および前記装置と前記ネットワークとの手動接続の間を切り換えるモードセレクタをさらに備え、前記手動接続は少なくとも１つのネットワーク設定の手動入力を含むことを特徴とする請求項２７に記載のエンジン。
【請求項３９】
接続段階を達成するためのコンピュータによって実行可能な命令を含む１つまたは複数のコンピュータ読取可能な媒体であって、該命令は、
装置とネットワークの間の通信結合を確認するステップと、
前記通信結合が確認されると前記通信結合を使用してインターネットプロトコル（ＩＰ）アドレスを取得するステップであって、前記ＩＰアドレスは、動的ホスト構成プロトコル（ＤＨＣＰ）を使用して取得が試行され、ＤＨＣＰを使用してＩＰアドレスが取得されない場合は、ｐｏｉｎｔ  ｔｏ  ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＰＰＰｏＥ）を使用してＩＰアドレスの取得が試行されるステップと、
ＩＰアドレスが取得されると、ドメイン名システム（ＤＳＮ）に問い合わせを行ってドメイン名を解決するステップと、
前記ドメイン名が解決されると、前記ＩＰアドレスまたは前記ドメイン名を使用してオンラインサービスとの通信を試行するステップと
を備えたことを特徴とする１つまたは複数のコンピュータ読取可能な媒体。
【請求項４０】
前記装置と前記オンラインサービスとの間のＱｏＳパラメータをテストするための命令をさらに含むことを特徴とする請求項３９に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４１】
前記通信結合を確認するステップ、前記ＩＰアドレスを取得するステップ、前記ＤＳＮに問い合わせを行うステップ、前記オンラインサービスとの通信を試行するステップ、および前記ＱｏＳパラメータをテストするステップごとの状態を含めて、前記装置と前記ネットワークとの間の接続プロセスの１つまたは複数の状態をリアルタイムで示すための命令をさらに含むことを特徴とする請求項４０に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４２】
前記方法の一部が自動的に完了しないときはいつでも、前記方法の前記一部に関連するトラブルシューティング指示を表示するための命令をさらに含むことを特徴とする請求項４１に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４３】
通信結合を確認するステップ、ＩＰアドレスを取得するステップ、ドメイン名システムに問い合わせを行うステップ、およびオンラインサービスとの通信を試みるステップの前記通信段階における障害に関して障害記録および関連の拡張エラー情報を格納するための命令をさらに含むことを特徴とする請求項３９に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４４】
前記障害に続くネットワークへの接続の成功に応答して前記障害記録および関連する拡張エラー情報をアップロードするための命令をさらに含むことを特徴とする請求項４３に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４５】
前記障害記録および関連する拡張エラー情報をベイジアンネットワークで使用して、前記接続段階の少なくとも１つを改善させることを特徴とする請求項４４に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４６】
ネットワーク接続およびトラブルシューティングエンジンによって実行される自動化された方法であって、
装置とネットワークまたはネットワークサービスとを接続するタスクを複数の段階に分割するステップと、
前記段階の１つを選択するステップと、
前記選択した段階を完了させる技術を試行するステップと、
前記試行するステップおよび前記技術の成功または失敗のリアルタイムの状態報告を表示するステップと、
前記試行された技術が成功した場合は前記試行された段階に続く段階を選択し、該選択された段階を完了させるための技術を試行するステップと、
前記試行された技術が成功しなかった場合、より多くの技術が使用可能であれば、前記段階のために別の技術を選択して試行するステップと、
前記試行された技術が成功せず、より多くの技術を使用できない場合はトラブルシューティング指示を表示するステップと
を備えたことを特徴とする自動化された方法。
【請求項４７】
前記装置は、インターネットを介してネットワークサービスに接続することを特徴とする請求項４６に記載の自動化された方法。
【請求項４８】
前記接続するタスクは、前記装置と前記ネットワークとの間の通信結合段階で接続することを特徴とする請求項４６に記載の自動化された方法。
【請求項４９】
前記接続するタスクは、ネットワークプロトコルおよびネットワークアドレスの一方を構成するためのネットワーク設定段階で接続することを特徴とする請求項４６に記載の自動化された方法。
【請求項５０】
前記ネットワーク設定段階は、インターネットプロトコル（ＩＰ）設定段階として存在し、前記ネットワークアドレスはＩＰアドレスとして存在することを特徴とする請求項４９に記載の自動化された方法。
【請求項５１】
前記ＩＰ設定段階を完了させるために動的ホスト構成プロトコル（ＤＨＣＰ）技術、ｐｏｉｎｔ  ｔｏ  ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＰＰＰｏＥ）技術、およびブートストラッププロトコル（ＢＯＯＴＰ）技術のうちの１つを含む１つまたは複数の技術が試行されることを特徴とする請求項５０に記載の自動化された方法。
【請求項５２】
前記接続するタスクは、前記ネットワークアドレスをネットワークドメイン名に関連付ける名前解決段階で接続することを特徴とする請求項４９に記載の自動化された方法。
【請求項５３】
前記名前解決段階は、ドメイン名システム（ＤＮＳ）の名前解決段階として存在することを特徴とする請求項５２に記載の自動化された方法。
【請求項５４】
前記接続するタスクは、前記ネットワークサービスとの通信を確認するサービス接続段階で接続することを特徴とする請求項４６に記載の自動化された方法。
【請求項５５】
前記接続するタスクは、前記複数の段階の各々の間で自動的に実行を続けることを特徴とする請求項４６に記載の自動化された方法。
【請求項５６】
前記リアルタイムで表示される状態は、前記複数の段階のうちの１つを記述するメッセージを含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項５７】
前記メッセージは、前記複数の段階のうちの１つを完了させるために使用する技術の進行を記述することを特徴とする請求項５６に記載の自動化された方法。
【請求項５８】
前記リアルタイムで表示される状態は、前記複数の段階のうちの１つの進行を視覚的に示すインジケータを含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項５９】
前記リアルタイムで表示される状態は、前記複数の段階のうちの１つの成功または失敗を視覚的に示すインジケータを含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６０】
前記トラブルシューティングヘルプは、前記複数の段階のうちの１つを完了させるための指示を含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６１】
前記トラブルシューティングヘルプは、前記複数の段階のうちの１つを完了させるために使用する技術を完了させるための指示を含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６２】
前記トラブルシューティングヘルプは、前記装置のシリアル番号を含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６３】
前記トラブルシューティングヘルプは、前記接続中に収集されたエラーログを含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６４】
前記トラブルシューティングヘルプは、接続中に障害が生じた段階を含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６５】
前記接続するステップは、ＱｏＳテスト段階を含むことを特徴とする請求項４６に記載の自動化された方法。
【請求項６６】
前記トラブルシューティングは、ＱｏＳ情報を含むことを特徴とする請求項６５に記載の自動化された方法。
【請求項６７】
前記ＱｏＳ情報は、上り帯域幅、下り帯域幅、ネットワークデータパケット待ち時間、ネットワークデータパケットドロップ率、およびネットワークジッター値のうちの１つを含むことを特徴とする請求項６６に記載の自動化された方法。
【請求項６８】
所与の段階で、前記段階の完了に使用する技術が失敗した場合は、前記失敗した技術に続く技術を自動的に試行して前記段階を完了させることを特徴とする請求項４６に記載の自動化された方法。
【請求項６９】
前記接続するステップは、インターネット用ネットワークプロトコルおよびインターネットプロトコルアドレスのうちの一方を構成するためのネットワーク設定段階で接続することを特徴とする請求項６８に記載の自動化された方法。
【請求項７０】
前記ネットワーク設定段階を完了させるために動的ホスト構成プロトコル（ＤＨＣＰ）技術が試行され、前記ＤＨＣＰ技術が失敗すると、前記ネットワーク設定段階を完了させるためにｐｏｉｎｔ  ｔｏ  ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＰＰＰｏＥ）技術が自動的に試行されることを特徴とする請求項６９に記載の自動化された方法。
【請求項７１】
ディスプレイおよびユーザインターフェース選択装置を含むグラフィカルユーザインターフェースを有するコンピュータネットワーク通信およびトラブルシューティングシステムにおいて、
装置とネットワークとの自動接続、および前記装置と前記ネットワークとの手動接続の間を選択するリンクを有するメニューを含めメニューについて１組のメニュー項目を取り出すステップであって、前記手動接続は少なくとも１つのネットワーク設定の手動入力を含むステップと、
前記１組の編集メニュー項目を含む前記メニューを前記ディスプレイ上に表示するステップと、
前記ディスプレイ上の前記メニュー項目上の前記リンクのうちの１つを指す前記ユーザインターフェース選択装置を示すメニュー項目選択信号を受信し、前記選択信号に応答して、前記装置の前記ネットワークへの自動接続または手動接続のいずれかを選択するステップと
を備えたことを特徴とする前記ディスプレイ上でメニューの提供および選択を行う方法。
【請求項７２】
前記ネットワーク設定の前記手動入力を受け付けるメニューをさらに含むことを特徴とする請求項７１に記載のメニューの提供および選択を行う方法。
【請求項７３】
前記装置を前記ネットワークに接続する前記ステップの状態を表示するメニューをさらに含むことを特徴とする請求項７２に記載のメニューの提供および選択を行う方法。
【請求項７４】
前記装置の前記ネットワークへの接続の失敗に応答して、トラブルシューティング指示を表示するメニューをさらに含むことを特徴とする請求項７１に記載のメニューの提供および選択を行う方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にネットワーク接続に関し、より詳細にはネットワーク接続エージェントおよびトラブルシュータに関する。
【背景技術】
【０００２】
家庭およびオフィスでの電子装置（スマートデバイスや娯楽用電子機器など）がネットワークに結合し、ネットワークを介して通信できる消費者向け製品の仲間入りをするようになるにつれて、適切なネットワーク接続および設定を確立するプロトコルおよび方法の必要性が生じてきた。
【０００３】
ネットワークに接続するという作業は、熟練者ですら気力が失せるようなものであり、未熟練者には途方に暮れる場合もある。モデム、ゲームなどの装置をインターネットに接続するための使用説明書を含むユーザマニュアルおよびインストールプログラムが提供されても、結局プログラミングコードの断片にあふれ、製造者と同等の装置の知識を持つ技術者のために書かれたような、わかりにくく下手に訳された説明が広まるだけである。
【０００４】
ＭＯＴＩＶＥ  ＸＩ  ＳＭＡＲＴＳＥＲＶＩＣＥ  ＳＵＩＴＥなど既知のソフトウェアは、ブロードバンドプロバイダと顧客との間で対話を自動化してプリインストールすることはできるが、これは一般に、ブロードバンドマルチシステムオペレータ（ＭＳＯ）レベルであり、ケーブルおよびデジタル加入者線（ＤＳＬ）ネットワークを提供するためのものである（Ｍｏｔｉｖｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ社、テキサス州オースティン）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
インターネットまたはオンラインサービスに１回の動作でうまく接続できるのは、インストール指示書の理解およびそれへの準拠によるものというよりむしろ幸運による場合が多い。接続への試みが失敗すると、カスタマサービスに電話をして、役に立たない録音メッセージを聞くことになる。問題がネットワークに存在するか、必須のケーブル、ドライバ、または無線構成要素がインストールキットからなくなっているときのように、より身近に存在するのかが明白ではないため、失敗したユーザは、的を射た支援を受けることができないことがある。
【課題を解決するための手段】
【０００６】
本発明は、装置を複数の段階でネットワークサービスに自動接続し、各段階に関して接続の進行のリアルタイムで表示される状態報告を表示し、ある段階が成功しなかった場合は、その段階に関してトラブルシューティングヘルプおよび指示を表示するネットワーク接続エージェントおよびトラブルシュータを備える。ネットワーク接続エージェントおよびトラブルシュータは、段階ごとに複数の技術を使用することができ、ある技術が失敗すると、別の技術が自動的に試行される。自動接続中、ネットワーク設定の手動入力を選択することができる。
【０００７】
一実施形態において、ネットワーク接続エージェントおよびトラブルシュータは、装置とネットワークの間の通信結合を確認し、ＤＨＣＰまたはＰＰＰｏＥを使用してＩＰ設定を検出し、ＤＳＮ名前解決を行い、それに接続されているネットワークサービスと通信することによって設定を確認する。
【発明を実施するための最良の形態】
【０００８】
概要
本明細書に示した発明の内容は、電子装置をネットワークおよび／またはオンラインネットワークサービス（「サービス」）に結合して通信を行い、接続障害を追跡し、特にインターネットまたはサービスとのプラグインおよび／または接続の初回試行を行うネットワーク接続エージェントおよびトラブルシュータ（以下「ＮＣＡＴ」）の実施形態を含む。ＮＣＡＴは、ネットワーク接続セットアッププロセスの様々な段階をより自動化するだけではなく、接続の試行における各段階の状態の更新をリアルタイムで行うスマートメッセージングをユーザに提供し、コンテキストセンシティブなトラブルシューティングヘルプを提供する。したがってユーザから見れば、例示のＮＣＡＴによって、リアルタイムでの自動接続プロセス、プロセスのどれだけが残っているか、エラーが生じたプロセスの段階、および必要な場合はコンテキストセンシティブなトラブルシューティングヘルプをユーザが見ることができるので、装置のインストールの経験が向上する。装置（またはオンラインサービス）の提供者の観点からすれば、ＮＣＡＴによって、オンラインサービスや消費者向け電子装置、例えばインターネットに接続するモデム、ゲームコンソール、セットトップボックス、パーソナルメディアレコーダ（ｐｅｒｓｏｎａｌ  ｍｅｄｉａ  ｒｅｃｏｒｄｅｒ）、パーソナルコンピュータ、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、無線ルータなどがよりユーザフレンドリになると考えられる。というのは、オンラインサービスまたは装置は、ネットワークおよび／またはサービスに「それ自体で」接続することができ、したがって消費者にはより魅力的だからである。
【０００９】
通常ＮＣＡＴは、従来の方法に比べより自動的に、および（ユーザにとって）楽に装置をネットワークおよび／またはネットワークサービスに接続することができ、ほとんどの状態では、ＮＣＡＴが基本的な通信結合など通信結合の確認を自動的に開始し、ＴＣＰ／ＩＰまたは他のネットワークプロトコルのより上位層における接続を確立するので、ユーザは積極的に接続の確立に関与する必要はない。
【００１０】
ネットワークまたはサービスへの接続試行中に問題が生じると、ＮＣＡＴは回避策のツールボックスを備えており、その結果問題が克服されることが多く、ネットワーク接続がさらに多くの環境で確立される。
【００１１】
ネットワーク接続の確立が失敗すると、ＮＣＡＴは、コンテキストセンシティブなトラブルシューティング指示およびエラーログのツールボックスをさらに備えることとなる。
【００１２】
図１は、コンピューティング環境１０２での文脈におけるＮＣＡＴ１００の例を示す。ＮＣＡＴ１００は、装置１０４およびネットワーク１０６に結合して通信を行い、それを介してサービス１０８が使用可能となる。次いでＮＣＡＴ１００は、装置１０４がネットワーク１０６および／またはサービス１０８と適切に通信するのに必要なすべての接続および通信を自動的に確立しようと試みる。
【００１３】
一実施形態において、ＮＣＡＴ１００は、接続すべき様々な装置１０４とともに使用可能な個別のソフトウェアおよび／またはハードウェアエンティティである。図示したものなど別の実施形態においては、ＮＣＡＴ１００は、インターネットなどのネットワーク１０６に接続する、モデム、オンラインゲーム用ゲームコンソール、セットトップボックス、パーソナルメディアレコーダ、パーソナルコンピュータ、ポータブルコンピュータ、ＰＤＡ、無線ルータなど、装置１０４に一体化設計することができるソフトウェアおよび／またはハードウェアエンティティである。一実施形態において、所与のタイプの装置１０４に一体化設計され、または少なくとも「含まれた」一部としてインストールされると、各ゲームコンソールなどそのタイプの各装置１０４は、ＮＣＡＴ１００でブートし、したがって接続障害が異なる理由で起こる場合でさえ、接続障害を扱う通常の方法を提供することができる。
【００１４】
ＮＣＡＴ１００は、接続プロセスの各ステップにおいて、ある接続技術で失敗すると、別の技術を試みる。例えば、ＮＣＡＴ１００によるネットワーク設定の自動検出が成功しなかった場合、ＮＣＡＴ１００は、別のプロトコルを試み、および／またはコンテキストセンシティブヘルプを提供して、ユーザがテクニカルサポートなしに問題を修正するのを支援することができる。ヘルプは、例えばユーザフレンドリなヘルプ、または技術者およびサポートエンジニア向けのより詳細な技術情報など、いくつかのレベルで提供することができる。全体的に、ＮＣＡＴ１００が提供可能な包括的なヘルプの対策によって、接続を対象としたサービス１０８および／またはユーザのインターネットサービスプロバイダ（ＩＳＰ）へのサポートコールの数を低減することができる。ＮＣＡＴ１００がサポート要員に中継できる拡張情報を戻すため、サポートコールは、必要な場合でも短縮することができる。
【００１５】
一実施形態において、図１に示すように、ＮＣＡＴ１００は、装置１０４をネットワーク１０６および／またはサービス１０８に結合して通信を行うタスクを、通信結合段階１１０、ネットワーク設定構成段階１１２、（例えばドメイン名システム（ＤＳＮ）による）名前解決段階１１４、およびサービス接続段階１１６の４つの段階に分割し、装置１０４は、そこで装置１０４と関連するサービス１０８との通信を確立する（すなわち装置１０４がゲームコンソールである場合、サービス１０８はオンラインゲームサイトである）。しかし、正常な通信接続を確立するタスクを分割する別の方法を使用することもできる。
【００１６】
通信結合段階１１０は、電気電子技術者協会（ＩＥＥＥ）仕様８０２．１１、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇに従う赤外線結合および／または無線通信結合、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＨＯＭＥＲＦ  ＳＷＡＰ（ｓｈａｒｅｄ  ｗｉｒｅｌｅｓｓ  ａｃｃｅｓｓ  ｐｒｏｔｏｃｏｌ）、Ｗｉ−Ｆｉなど、例えばケーブル１１８および／または無線結合１１９を介してネットワーク１０６との物理的な通信手段を確立することを含む。言い換えれば、ＮＣＡＴ１００は、ユーザが機器を適切に接続し、ネットワーク１０６との通信結合を確立したかどうかを決定するよう試みる。ネットワーク１０６にアクセスするためのケーブル１１８および／または無線結合１１９のプラグが抜かれ、または動作しなくなると、接続プロセスは停止し、ケーブル１１８および／または無線結合１１９のプラグが抜かれた、またはそれらに欠陥があることがユーザに通知される。ケーブル１１８および／または無線結合１１９の適切な接続が検出され、または再確立される（すなわちユーザがプラグを差し込む）と、全接続およびトラブルシューティングプロセスが再開する。
【００１７】
装置１０４と対象のネットワーク１０６へのアクセスポイントの間の通信結合段階１１０がＮＣＡＴ１００によって正常に検出されると、ＮＣＡＴ１００は、ネットワーク設定構成段階１１２に入る。ＮＣＡＴ１００は、ユーザのＩＳＰ１２０との接続を試みる。例えばＮＣＡＴ１００は、動的ホスト構成プロトコル（ＤＨＣＰ）または一般にデジタル加入者線ＤＳＬとともに提供されるｐｏｉｎｔ  ｔｏ  ｐｏｉｎｔ  ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）（ＰＰＰｏＥ）のいずれかを介してＩＰ設定を確立しようと試みることができる。一実施形態において、ＤＨＣＰを使用してＩＰアドレスが取得されると、ネットワーク設定構成段階１１２は成功し、ＮＣＡＴ１００は、第３の接続段階に実行を続けることができる。ユーザは、静的ＩＰアドレスなど手動による設定を入力することもでき、ＮＣＡＴ１００は、データ入力を最低限に抑えるために、ドメイン名サービス（ＤＳＮ）から自動的に情報を取り出すことに注意されたい。ユーザがＩＰアドレスを手動で設定しようと試行したが、ＤＨＣＰサーバが見つからない場合、ＮＣＡＴ１００は、ネットワーク設定構成段階１１２を停止し、ＩＰアドレスが見つからなかったことをユーザに通知し、ＩＰの競合やケーブルのゆるみなど、考え得る障害の原因についての詳細に説明の形でヘルプを提供することができる。
【００１８】
一実施形態において、ＩＰアドレスが取得されず、ユーザが静的ＩＰアドレスを入力していない場合、ＮＣＡＴ１００は、ネットワーク設定構成段階１１２を続行し、ＰＰＰｏＥコンセントレータの検出を試みる。ＰＰＰｏＥコンセントレータが発見されると、ＮＣＡＴ１００は、ＰＰＰｏＥを使用して接続を試みる。したがって、ＤＨＣＰプロトコルが装置１０４のＩＰアドレスを取得できない場合、ＮＣＡＴ１００は、自動的にＰＰＰｏＥサーバの存在を検出しようと試みる（ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）ＸＰを使用しているコンピュータがＤＨＣＰサーバからＩＰアドレスを取得しない場合、コンピューティング装置は、（１６９．ｘｘｘ．ｘｘｘ．ｘｘｘ）形式の内部アドレスを自動的に割り当てるが、ＷＩＮＤＯＷＳ（登録商標）ＸＰによって割り当てられたこの内部アドレスでは、ユーザはインターネットに接続することができず、また装置を接続するための別の方法を見つけようともしない）（Ｍｉｃｒｏｓｏｆｔ社、ワシントン州レドモンド）。
【００１９】
ＰＰＰｏＥを使用してネットワーク設定構成段階１１２を完了する自動的な試行が失敗すると、ＮＣＡＴ１００は、ログインするための適切なユーザ名およびパスワードなど適切なＰＰＰｏＥコンセントレータ、および／またはユーザのＩＳＰ１２０によって提供される他の情報を入力するようユーザに要求することができる。一実施形態において、ユーザが信用証明書（ｃｒｅｄｅｎｔｉａｌ）を提供したが、不正な情報を入力した場合、ＮＣＡＴ１００は、再度自動的に接続しようと試みる。
【００２０】
ネットワーク設定構成段階１１２が成功すると、ＮＣＡＴ１００は、名前解決段階１１４に進む。名前解決段階１１４の障害は、接続する装置１０４の設定、またはユーザのＩＳＰ１２０に関する問題である可能性がある。ＤＮＳ１１２とのやりとり中に有効なＤＮＳサーバが見つかると、ＮＣＡＴ１００は、サービス接続段階１１６に進むことができる。
【００２１】
サービス接続段階１１６では、接続する、および／またはセットアップする装置１０４がゲームコンソールである場合、ＮＣＡＴ１００は、例えばオンラインゲームサービスなど所望のサービス１０８に接続しようと試みる。接続プロセス全体に例示のサービス接続段階１１６を含めることによって、接続プロセスのそれ以前の段階で得られたネットワーク設定の確認が行われる。
【００２２】
一部の実施形態においては、ＮＣＡＴ１００は、サービス１０８によって保証されている、あるいは装置１０４のために必要、および／または提案されているサービス品質（ＱｏＳ）の分析を行うものがある。ＮＣＡＴ１００がサービス１０８に接続できない場合、または一部の実施形態においてＱｏＳデータが無効または不十分である場合、ＮＣＡＴ１００は、サービス１０８が応答していないことをユーザに通知することができる。
【００２３】
一部の実施形態において、自動ＱｏＳチェックおよび／またはネットワーク状態デバッグログによって、拡張情報がユーザ、テクニカルサポート、および装置１０４の開発チームにさえ提供される場合がある。この情報は、接続の試行時に記録され、ユーザの画面に表示された接続状態に関してテクニカルサポートまたは開発チームに提供することができる。デバッグのために捕捉されたＱｏＳ情報は、接続の試行および／または障害中、並びに障害時のネットワーク接続の段階および／または状態中に、例えば帯域幅、待ち時間、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）ルータの存在などを提供することができる。
【００２４】
一実施形態において、接続障害に応答し、装置１０４のシリアル番号はユーザに表示され、および／またはサポート要員が装置１０４に問題があるかどうかをチェックするために格納される。
【００２５】
ＮＣＡＴエンジンの例
図２は、接続段階１１０、１１２、１１４、１１６を実行するための構成要素を含め、ネットワーク接続およびトラブルシューティングエンジン「ＮＣＡＴエンジン」２００の例を示している。したがって、通信結合エンジン２０２、ネットワーク設定エンジン２０４、名前解決エンジン２０６、およびサービス接続エンジン２０８は、図に示すように、相互に、および制御ロジック２１０に結合して通信可能である。ユーザインターフェースエンジン２１２、ヘルプおよびトラブルシューティングエンジン２１４、およびエラーロギングエンジン２１６も、図に示すように他のエンジンおよび制御ロジック２１０に結合する。ネットワーク設定の自動設定検出と手動入力の間を切り換えるモードセレクタ２１８を含めることもできる。一部の実施形態において、サービス接続エンジン２０８は、関連するＱｏＳモジュール２２０を有する。例示されたＮＣＡＴエンジン２００の実装に適した環境として、パーソナルコンピュータ１０９などの装置１０４の例を図８に示す。
【００２６】
通信結合エンジン２０２は、上述したように、Ｅｔｈｅｒｎｅｔ（登録商標）ケーブルなどのケーブル１１８の接続状態、または無線結合１１９の状況をチェックすることができる。一実施形態において、これは、ケーブル１１８を介してデータパケットフローを検出することによって達成することができ、一方代替の実施形態において、接続結合エンジン２０２は、他の手段によって決定することができる。すなわち、例えばわずかだがケーブル１１８に関連する電圧、電流、および／または静電容量を測定する；ある種の電子信号を送出し応答信号を測定することによりケーブル１１８が接続済みかまたは未接続か明らかにさせることによって；または、無線結合１１９で信号を検出することによってなどの手段によって決定することができる。機器がケーブルまたは無線結合を介してハブに適切に接続されている場合、測定可能な電気信号が多くのネットワークセットアップに存在する。当然機能しているネットワークにハブを接続することはできないが、この段階（１１０）においては、通信結合エンジン２０２は、一般にローカル通信結合にしか働かないのである。通信結合エンジン２０２は、ユーザインターフェースエンジン２１２並びにヘルプおよびトラブルシューティングエンジン２１４に対し通知を行って、成功または失敗のコンテキストセンシティブな説明および必要に応じてトラブルシューティングの方法とともに、成功メッセージまたは失敗メッセージのいずれかをユーザに表示させる。
【００２７】
一実施形態において、ネットワーク設定エンジン２０４は、装置１０４の稼働中のＩＰアドレス、ゲートウェイ、サブネットマスクなどおよび／または接続を確立する、または少なくとも基本設定を取得することを目的とする。ＩＰアドレスおよび／または設定の格納の場所は、装置１０４の種類に依存する。したがって、ネットワーク設定エンジン２０４は、時に、名前解決エンジン２０６とともに、ネットワーク１０６と接続するためにローカルネットワークトポロジおよび設定の取得を試みる。
【００２８】
使用中のネットワーク１０６またはインターフェース構成に応じて、ＮＣＡＴエンジン２００は、ＤＨＣＰの存在を検出しようと試みることはできるが、ＤＨＣＰが動作していない場合、パケットを「発見」ブロードキャストとして送信して、ＰＰＰｏＥなど使用中の可能性のある他の例示のプロトコルの検出を試みる。一実施形態において、ＰＰＰｏＥコンセントレータおよび／またはサーバが検出されると、名前解決エンジン２０６は、接続プロセスの次の段階を開始することができる。ネットワーク設定エンジン２０４も、ユーザインターフェースエンジン２１２およびヘルプおよびトラブルシューティングエンジン２１４に、成功メッセージまたは失敗メッセージのいずれかを、成功または失敗のコンテキストセンシティブな説明、および必要に応じてトラブルシューティングの方法とともにユーザに表示するよう通知を行う。一実施形態において、ＮＣＡＴ１００は、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）をサポートするホームルータの検出を試み、それが検出されると適切なポートを開く。
【００２９】
一実施形態において、名前解決エンジン２０６は、ＤＮＳサーバに名前解決について問い合わせを行う。すでにＩＰアドレスを所有している場合、ＮＣＡＴ１００は、インターネット上の他のマシンを探すために一般に普及している名前およびＵＲＬが必要となる可能性がある。例えば、装置１０４がゲームコンソールである場合、ＮＣＡＴ１００は、オンラインゲームのＷｅｂサイトおよび／または装置１０４の提供者に関連するライブサーバの名前が必要となるかもしれない。
【００３０】
名前解決エンジン２０６は、名前解決を２つの部分で行うことができる。第１に、ＤＮＳサーバアドレスを取得する必要がある。第２に、ＤＮＳサーバ、すなわち名前解決のために確立された接続を検索する必要がある。名前解決エンジン２０６がこれら２つの部分のいずれかを正常に行うことができなかった場合、名前解決段階１１４が接続障害であると考えられる。
【００３１】
名前解決エンジン２０６およびネットワーク設定エンジン２０４は、モードセレクタ２１８とともに、ユーザが設定および他の情報を手動で入力できるようにする。例えばユーザは、静的ＩＰアドレスおよび／または関連するドメイン名を手動で入力することができる。一実施形態において、ＮＣＡＴエンジン２００は、通常確認なしにユーザ入力は正しいとみなす。
【００３２】
ＤＮＳ名前解決が成功すると、名前解決エンジン２０６は、ドメイン名および／または他の設定、およびＩＰアドレスを、接続プロセスにおける接続段階の次の段階のサービス接続エンジン２０８に送信する。名前解決エンジン２０６も、ユーザインターフェースエンジン２１２およびトラブルシューティングヘルプエンジン２１４に、成功メッセージまたは失敗メッセージのいずれかを、成功または失敗のコンテキストセンシティブな説明、および必要に応じてトラブルシューティングの方法とともにユーザに対し表示するように通知を行う。
【００３３】
サービス接続エンジン２０８は、サービス１０８との実際の接続および／または通信を確立する。理論上、ＮＣＡＴ１００がいったん通信結合（物理ネットワーク接続など）を確認し、適切なＩＰ設定を取得し、サービス１０８のドメイン名を所有すると、サービス１０８と接続し、および通信することができるのは、論理的には確実である。しかし、予期せぬ状態を考えると、装置１０４とサービス１０８の間の全接続の目的を達成したと宣言できるようになるには、サービス１０８との実際の通信が必要であることがしばしばある。サービス１０８との実際の接続によって、適切なハンドシェイクで接続の確立ができること、インターネットの一部がダウンしていないこと、および前の接続ステップが本当に適切な設定を返していることが確認される。
【００３４】
例示されるＮＣＡＴエンジン２００がＱｏＳモジュール２２０を含んでいる場合、装置１０４とネットワーク１０６および／またはサービス１０８の間の接続が成功したとユーザに対して宣言する前に、ＱｏＳパラメータの確認を実行することもできる。ＮＣＡＴエンジン２００によって収集され、および／または分析されたＱｏＳ統計データおよび／またはパラメータは、上り帯域幅、下り帯域幅、ドロップされたまたは紛失したデータパケット数、待ち時間、ジッターなど、および保証されたデータ転送能力を提供する本分野において知られている他のＱｏＳパラメータを含む。一部の実施形態において、ＱｏＳ情報の進行中の記録は、接続試行の段階中に行われる。これによってエラーロギングエンジン２１６は、接続段階のいずれかが失敗した時点で、ユーザまたはサポート要員にＱｏＳパラメータを提供することができる。例えば、ある接続試行でＤＮＳサーバに接続できない場合、おそらくＱｏＳパラメータは、障害時に、上り帯域幅が一時的に０付近まで低下し、パケットロス率が異常に高くなったことを示す。
【００３５】
ＮＣＡＴエンジン２００のＱｏＳモジュール２２０によって収集されたＱｏＳ統計データおよび／またはパラメータは、正常な接続を達成するために使用されるが、ユーザインターフェースエンジン２１２に送信してユーザに対して進行中の表示を行うこともできる。一部の実施形態において、ＱｏＳ情報は、装置１０４のダッシュボード情報（ｄａｓｈｂｏａｒｄ  ｉｎｆｏｒｍａｔｉｏｎ）に含まれているが、代替実施形態においては、技術者、または装置１０４のサービスメニューなど、一般にほとんどの顧客に対して文書化されていないアクセス方法を知っている者のみがＱｏＳ情報を使用できるようにすることができる。
【００３６】
一部の実施形態において、ユーザインターフェースエンジン２１２は、「ＤＨＣＰは使用できません」または「ＩＰは検出されません」など状況報告とみなされるメッセージを提供し、別の実施形態においては、トラブルシューティングヘルプエンジン２１４は、メッセージ内で報告されるイベントを補修するために表示される方法の前置きなどのメッセージを提供することができる。さらに別の代替の実施形態においては、こうしたメッセージはエラーメッセージであり、したがってエラーロギングエンジン２１６によって提供される。
【００３７】
エラーロギングエンジン２１６は、一般の接続状態および接続失敗メッセージおよび情報に加え、拡張エラーコードおよびメッセージをトラップし、記録し、返すことができる。拡張エラー情報の例としては、接続障害時のＱｏＳパラメータの値、接続試行の様々な段階における接続試行および／またはログオン試行の回数、アップリンクおよびダウンリンクの回数、装置１０４のシリアル番号などがある。こうした拡張エラーメッセージおよびコードのすべては、ユーザが解決できない問題をサポート要員が解決するのをサポートするのに有効である。
【００３８】
一実施形態において、例示のエラーロギングエンジン２１６は、エラーイベント、および上記の拡張エラー情報（障害中のＱｏＳ環境のスナップショットなど）を含む接続障害のレコードを格納する。障害記録および関連のエラー情報は、例えばハードディスク上に残して、サービス１０８との接続が実際に成功すると、後でアップロードすることができる。一実施形態において、障害記録および関連のエラー情報を、接続障害の複数のインスタンスにわたる装置１０４の接続特性の統計的処理に使用する。一実施形態において、障害記録および／または関連のエラー情報を使用して、ベイジアンエンジンのサイクルを完了させることができる。ベイジアンエンジンによって、装置１０４の将来のユーザのために、またはカスタマサービスおよび技術計画の目的のために接続の解決策を改良することができる。
【００３９】
一実施形態において、サービス１０８は、アップロードされた障害記録およびエラー情報を任意の種類またはモデルの装置１０４の多くの接続障害発生から取得することができ、障害発生を意思決定ツールとして使用されている確率的信念ネットワーク（ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｂｅｌｉｅｆ  ｎｅｔｗｏｒｋ）（ベイジアンネットワークなど）のノードとして使用することができる。このように構築されたベイジアンネットワークは、ネットワークにおける他の関連の変数の証拠が与えられると、ベイジアンネットワークにおける１組の変数の確率分布を計算するための直観的な推論を提供することができる。複数の部分（ステップ、状態、および／またはモジュール）を有する装置１０４では、ベイジアンネットワークの例は、部分および／または接続段階１１０、１１２、１１４、１１６との間の確率的関係を説明し、他の部分および／または接続段階からの挙動、状態、および／または入力についての確率推論を使用して、１つまたは複数の部分および／または接続段階についての決定を行うことができる。例示の１つまたは複数のエラーロギングエンジン２１６によって格納された接続障害情報からこのように構築されたベイジアンネットワークを使用して、所与の種類またはモデルの装置１０４に関してどの要因が接続障害に影響を与えているかを決定することができる。
【００４０】
当然、ＮＣＡＴエンジン２００は、図示したＮＣＡＴエンジン２００の例とは異なる構成を有することもできる。装置１０４とネットワーク１０６および／またはネットワークサービス１０８との間の接続を自動的に開始するタスクは、多くの方法に分割することができ、ＮＣＡＴエンジン２００のエンジンおよびモジュールのバリエーションは、様々な段階またはセグメントへの接続タスクの分割のバリエーションを反映し得ることとなる。
【００４１】
例示の方法
図３は、装置１０４をネットワーク１０６および／またはネットワークサービス１０８に結合して通信を行う例示の方法３００を示している。フローチャートにおいて、操作を個々のブロックにまとめている。例示の方法３００の操作は、ハードウェアで、および／またはプロセッサまたは例示のＮＣＡＴエンジン２００を含む装置などの装置で実行できる機械読取可能命令（ソフトウェアまたはファームウェア）として実行することができる。
【００４２】
ブロック３０２で、装置をネットワークおよび／またはネットワークサービスに接続するタスクを複数の段階に分割する。
【００４３】
ブロック３０４で、この複数の段階のうちの１つを選択する。選択は一般に、例えば通信結合を完了した上でＩＰ設定の確立が可能にするなど、論理的順序で進められる。
【００４４】
ブロック３０６で、選択した段階を完了するための技術を試行する。この技術は、その段階の完了のために試行した複数の技術のうちの１つとすることができる。
【００４５】
ブロック３０８で、状況報告をリアルタイムで表示する。状況報告は、非常に具体的なもの、すなわち技術作業の完了した割合を示す進行インジケータ（ｐｒｏｇｒｅｓｓ  ｉｎｄｉｃａｔｏｒ）とすることができ、またはより全般的なもの、すなわち技術作業が成功したか失敗したかを示すインジケータとすることができる。さらに、状況報告は単に、試行されている段階が完全に成功したか、失敗したかを示すだけのものでもよい。
【００４６】
ブロック３１０で、ある段階の技術作業が成功した場合、例示の方法はブロック３１２に分岐するが、技術作業が失敗した場合、例示の方法３００はブロック３１４に分岐する。
【００４７】
ブロック３１２で、技術作業の成功によって接続のある段階が完了した後、さらに完了すべき段階がある場合、例示の方法３００はブロック３０４に分岐して、試行すべきその後の接続段階を選択する。完了すべき段階がそれ以上ない場合、ブロック３１６で成功状態が表示され、ブロック３１８で例示の方法３００が終了する。
【００４８】
ブロック３１４で、接続の段階を完了するために試行する技術作業がさらにある場合、例示の方法３００はブロック３０６に分岐して、次の技術作業を試行する。試行すべき技術作業がそれ以上ない場合、ブロック３２０で障害状態が表示され、トラブルシューティングヘルプが表示され、ブロック３２２で例示の方法が一時中断または終了する。
【００４９】
図４は、装置１０４をネットワーク１０６および／またはネットワーク装置１０８に結合して通信を行う別の例示の方法４００を示している。このフローチャートにおいて、操作を個々のブロックにまとめている。例示の方法４００の操作は、ハードウェア、および／またはプロセッサまたは例示のＮＣＡＴエンジン２００を備えた装置などの装置において実行できる機械読取可能命令（ソフトウェアまたはファームウェア）として実行させることができる。
【００５０】
ブロック４０２で、装置１０４とネットワーク１０６との間の通信結合の状況を決定する。例えばＮＣＡＴ１００は、Ｅｔｈｅｒｎｅｔ（登録商標）ケーブルのプラグが挿入されており、および／または動作可能であるかどうかを決定する。通信結合が動作可能である場合、例示の方法はブロック４０４および４０６に分岐する。ブロック４０４で、通信結合が成功したことが画面に表示され、および／または何らかの方法で示される。通信結合が動作していない場合、例示の方法４００はブロック４０８に分岐し、失敗した通信結合がヘルプとともに表示または示される。ヘルプは、トラブルシューティングのための特定のコンテキストセンシティブな指示を含むことができる。
【００５１】
ブロック４０６で、例示の方法４００は、ＩＰ設定の構成を開始する。例示の方法４００は、ＤＨＣＰサービス（または使用中の場合、ブートストラッププロトコル「ＢＯＯＴＰ」）が構成されているか、すなわち例示の方法４００がＩＰアドレスの「リース」を取得しようと試みるか否かを決定する。成功した場合、例示の方法４００はブロック４１０および４１２に分岐する。ブロック４１０で、ＩＰ設定の構成が成功したことがユーザに表示され、および／または示される。ブロック４１２で、例示の方法４００は、後述するように次の段階のＤＮＳ名前解決を開始する。
【００５２】
ブロック４０６でＤＨＣＰサービスが構成されていない場合、例示の方法４００はブロック４１４に分岐し、例示の方法４００では、ＰＰＰｏＥを必要とされるかどうかが決定される。ＰＰＰｏＥサービスを必要とする場合、例示の方法はブロック４１６に分岐し、ＰＰＰｏＥ接続を試行する。ＰＰＰｏＥ接続が成功した場合、ブロック４１０で、ＩＰ設定の構成が成功したことが表示または示され、例示の方法４００はブロック４１２に実行を続ける。しかしブロック４１４で、ＩＰ設定の構成にＰＰＰｏＥサービスが必要でなかった（かつブロック４０６でＤＨＣＰが動作しなかった）場合、ブロック４１８で、例示の方法４００は、ＩＰ設定の構成の障害をヘルプとともに表示または示す。ヘルプは、トラブルシューティングのための特定のコンテキストセンシティブな指示を含むことができる。
【００５３】
ブロック４１２において、例示の方法４００は、続いてＤＮＳにＩＰアドレスの問い合わせ、すなわちＤＮＳ名前解決を行う。ＩＰアドレスの取得に成功した場合、例示の方法はブロック４２０および４２２に分岐する。ブロック４２０で、ＤＮＳ名前解決が成功したことが表示され、および／または示される。ブロック４２２で、例示の方法４００は、後述するように次の段階のサービス１０８との接続を開始する。ブロック４１２でＤＮＳ名前解決が成功しなかった場合、ブロック４２４でＤＮＳ名前解決障害メッセージが表示、または示される。
【００５４】
ブロック４２２において、サービス１０８との通信を試行する。ブロック４２２でサービス１０８との通信が成功すると、例示の方法はブロック４２６に分岐する。試行されたサービス１０８との通信が失敗した場合、例示の方法はブロック４２８に分岐し、サービス接続障害メッセージが表示、または示される。
【００５５】
ブロック４２６で、例示の方法４００はＱｏＳチェックを行う。ＱｏＳチェックが成功し、例えば保証された帯域幅の最低基準または選択された値を満たす場合、例示の方法はブロック４３０に分岐して、サービス接続成功メッセージが表示または示され、またブロック４３２に分岐して、例示の方法を一時中断、または終了する。たとえブロック４２２でサービス１０８との通信が確立されていても、ブロック４２６でＱｏＳチェックが成功しなかった場合、例示の方法はブロック４２８に分岐し、サービス接続障害メッセージが表示または示される。
【００５６】
上述した例示の方法４００は、ＮＣＡＴ１００が装置１０４とネットワーク１０６および／またはサービス１０８との間の接続プロセスをどのように行うことができるかを示したほんの一例にすぎない。その他の変形および追加が可能であり、例えば異なる数の異なるプロトコル、および異なる順序のプロセスを使用してもよい。同様に、例示の方法４００の各部分は、より小さい部分、または独立した部分に分割することができ、例えばブロック４２６のＱｏＳチェックプロセスは、ブロック４２２におけるサービス接続段階１１６と、ブロック４２６および４３０における失敗および成功のインジケータとを組み合わせているが、これに替えて、特定の成功および失敗の表示結果を有する別個の段階とすることができる。
【００５７】
例示のユーザインターフェース
図５は、ＮＣＡＴ１００の一実施形態の例示のユーザインターフェース（ＵＩ）５００を示している。メイン画面５０２は、初期メッセージを表示し、ネットワーク設定の自動検出および／または接続と手動入力との間の選択肢を提供する。自動検出および／または接続を選択すると、以前の設定および／またはデフォルト設定が削除され、メイン画面５０２は、接続状態画面５０４にリンクする。ここにネットワーク設定発見プロセス中の自動接続および自動検出の状態がリアルタイムに表示される。一部の実施形態において、自動接続および自動検出中、画面間のナビゲーションが一時中断される。しかし、自動プロセスを停止するために、キャンセルリンク５０６を提供することができる。また、自動プロセスを中断し、例えば設定入力画面５１２（後述）で手動設定を追加するオプションをユーザに提供するための第１の設定リンク５０８を提供することもできる。例えばＮＣＡＴ１００がＰＰＰｏＥ信用証明書をユーザに要求しているときなど、ユーザに情報を要求するときに例示のＮＣＡＴ１００が第１の設定リンク５０８を強調表示することもできる。接続の所定の段階が失敗すると、ＮＣＡＴ１００が自動的にコンテキストセンシティブヘルプおよびトラブルシューティングの方法を戻す場合であっても、ヘルプを要求するためにヘルプリンク５１０を備えることができる。
【００５８】
ユーザがネットワーク設定の手動入力を選択する場合、メイン画面５０２は、ネットワーク設定入力画面５１２にリンクしており、ユーザは、ここでＩＰ情報、ＤＮＳサーバ、ホスト名、ＰＰＰｏＥ設定などの設定を入力することができる。設定入力画面５１２は、ユーザが入力した設定の試運転を実行するために「テスト接続」リンク５１４を備えていてもよい。
【００５９】
「テスト接続」リンク５１４は、ユーザが提供した設定を使用し、例示の各接続段階において自動接続の試行をリアルタイムで表示するネットワーク状態画面５１６を呼び出すことができる。障害が起こると、第２の設定リンク５１８によって、ユーザは設定入力画面５１２に戻ることができる。「完了」リンク５２０によって、入力した設定および表示された状態の結果に対してユーザの満足が得られる。
【００６０】
図６は、図５の例示のネットワーク接続状態画面５０４をより詳細に示している図である。通信状態画面５０４は、接続プロセスの段階ごとに状況メッセージを表示する。図示した接続状態画面５０４は、接続プロセスにおける４つの段階を示しているが、ある通信プロセスにおいて異なる数の段階を使用して、通信状態画面５０４で対応する数の状態メッセージを得るようにすることもできる。
【００６１】
一般に、ネットワーク接続状態画面５０４では、その段階の接続試行の状態に応じて、所与の段階の異なるメッセージが表示される。例えば通信結合状態１１０では、「ケーブルが接続されていません」、「ケーブル接続中です」、または「ケーブルが接続されました」を示す状態メッセージがリアルタイムで表示される可能性がある。接続プロセスの各段階の接続状態を、状態メッセージの表示と同時に、またはそれとは別に図示することができる。
【００６２】
図示した例では、通信結合段階１１０のリアルタイムの状態を示すために通信結合状態メッセージ６０２が表示され、対応するインジケータ６１０の図形は、この場合最初はオフまたは空のライトまたはボタンの画像であり、その段階が正常に完了したことを示すためにオンになる、またはパターン若しくは無地で塗りつぶされる。段階の完了がまだ試行されていない場合、（６１０に示すように）インジケータ図形をオフまたはブランクのままとし、またある段階が失敗した場合、（６１４に示すように）空のインジケータ図形上に大きい「Ｘ」を表示するなど、インジケータによって障害の合図を示すことができる。同様に、ネットワーク設定構成段階１１２のリアルタイムの状態を示すためにＩＰ設定の構成状態メッセージ６０４が表示され、その段階が正常に完了したことを示すために、最初は空の対応するインジケータ図形６１２がパターンまたは無地で塗りつぶされる。同様に名前解決段階１１４のリアルタイムの状態を示すためにＤＮＳ名前解決状態メッセージ６０６が表示される。図示した例では、試行が失敗し、そのため「ＤＮＳ名前解決できません」という状態メッセージ６０６が表示され、対応するインジケータ図形６１４が大きい「Ｘ」で消されている。サービス接続段階１１６のリアルタイムの状態を示すためにサービス接続状態メッセージ６０８が表示され、図示した例ではサービスに接続するための試行が行われていないので、対応するインジケータ図形６１６はオフまたは空のままである。
【００６３】
図７は、ＮＣＡＴ１００によって自動的に生成される例示のヘルプ画面７００を示す図である。例示のヘルプ画面７００は、スマートメッセージングを使用する。例示のヘルプ画面７００で提供される情報はコンテキストセンシティブであり、リアルタイム接続状態に応答して自動的に生成される。例えば、名前解決段階１１４中にＤＮＳサーバに到達できない場合、例示のヘルプ画面７００は、障害が発生している接続プロセス内の段階をユーザに通知する全般的な状態メッセージ７０２「ＤＮＳエラー」、失敗した接続の段階内の特定の操作または技術をユーザに通知するより具体的な状態メッセージ７０４「ＤＮＳサーバに到達できません」などいくつかの情報を含み得る。応答性に優れたこうしたリアルタイムの情報は、「プロセスを中止しました」、「エラーＡ７５１」、「接続が失敗しました」、「操作を完了できませんでした」などといった従来のメッセージ、または単にスピンカーソルのスピンを停止するといったことよりかなりコンテキストセンシティブなものである。
【００６４】
例示のヘルプ画面７００は、「ＤＮＳサーバアドレスがＩＳＰによって提供される設定に一致していることを確認してください」など、コンテキストセンシティブなトラブルシューティングヘルプ７０６も提供する。この例のメッセージは、（ユーザはＩＳＰから任意の設定を受信していないため）ほとんどのユーザが受信したくないトラブルシューティングヘルプを示しているが、依然としてトラブルシューティングヘルプ７０６はコンテキストセンシティブであり、すでにトラブルシューティングを特定の問題まで絞っており、ユーザがそれに取り組むと、その障害が解決されるか、少なくともその障害の解決策の第１の段階が解決される。したがって、前後関係から得られる状態報告およびトラブルシューティングヘルプによって、問題だけではなくネットワーク接続プロセスにおけるどの時点で障害が発生しているかがユーザに通知される。
【００６５】
例示のコンピューティング装置
図８は、本発明の態様を実施するのに適した環境として例示のコンピュータ１０９を示す図である。コンピュータ１０９の構成要素は、それだけには限定されないが、処理ユニット８２０、システムメモリ８３０、およびシステムメモリ８３０を含む様々なシステム構成要素を処理ユニット８２０に結合するシステムバス８２１を含むことができる。システムバス８２１は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが一例として、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡＡ）バス、ビデオ電子装置規格化協会（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られている周辺部品相互接続（ＰＣＩ）バスなどがある。
【００６６】
例示のコンピュータ１０９は、一般に様々なコンピュータ読取可能な媒体を備える。コンピュータ読取可能な媒体は、コンピュータ１０９からアクセスできる使用可能な任意の媒体とすることができ、揮発性および不揮発性媒体、取外し可能および固定媒体を含む。コンピュータ読取可能な媒体は、それだけには限定されないが一例として、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体には、コンピュータ読取可能命令、データ構造、プログラムモジュール、他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性の取外し可能および固定媒体がある。コンピュータ記憶媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報の格納に使用でき、コンピュータ１０９からアクセスできる他の任意の媒体などがある。通信媒体は一般に、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの変調されたデータ信号に組み込む。これには任意の情報配送媒体がある。「変調されたデータ信号」という用語は、信号内の情報を符号化するように設定または変更された１つまたは複数のその特徴を有する信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体がある。また、上記のどんな組合せでもコンピュータ読取可能な媒体の範囲内に含まれるものとする。
【００６７】
システムメモリ８３０は、読取り専用メモリ（ＲＯＭ）８３１やランダムアクセスメモリ（ＲＡＭ）８３２など、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。基本入出力システム８３３（ＢＩＯＳ）は、例えば起動中など、コンピュータ１０９内の要素間での情報の転送を助ける基本ルーチンを含み、一般にＲＯＭ８３１に格納されている。ＲＡＭ８３２は一般に、処理ユニット８２０から直接アクセス可能な、および／または処理ユニット１２０が現在処理しているデータおよび／またはプログラムモジュールを含む。図８は、それだけには限定されないが一例として、オペレーティングシステム８３４、アプリケーションプログラム８３５、他のプログラムモジュール８３６、およびプログラムデータ８３７を示している。例示のＮＣＡＴ２００をランダムアクセスメモリ８３２内のソフトウェアとして示しているが、例示のＮＣＡＴ２００の他の実施形態をハードウェアまたはソフトウェアおよびハードウェアの組合せとしてもよい。
【００６８】
例示のコンピュータ１０９は、他の取外し可能／固定、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。一例にすぎないが、図８は、固定不揮発性磁気媒体から読み取り、あるいはそこに書き込むハードディスクドライブ８４１、取外し可能不揮発性磁気ディスク８５２から読み取り、あるいはそこに書き込む磁気ディスクドライブ８５１、およびＣＤ−ＲＯＭや他の光媒体など、取外し可能不揮発性光ディスク８５６から読み取り、あるいはそこに書き込む光ディスクドライブ８５５を示している。動作環境の例で使用できる他の取外し可能／固定、揮発性／不揮発性コンピュータ記憶媒体には、それだけには限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどがある。ハードディスクドライブ８４１は一般に、インターフェース８４０などの固定メモリインターフェースを介してシステムバス８２１に接続され、磁気ディスクドライブ８５１および光ディスクドライブ８５５は一般に、インターフェース８５０などの取外し可能メモリインターフェースによってシステムバス８２１に接続される。
【００６９】
上述し、図８に示すドライブおよびその関連のコンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、およびコンピュータ１０９の他のデータの記憶を提供する。図８では例えば、ハードディスクドライブ８４１は、オペレーティングシステム８４４、アプリケーションプログラム８４５、他のプログラムモジュール８４６、およびプログラムデータ８４７を記憶するものとして示されている。これらの構成要素は、オペレーティングシステム８３４、アプリケーションプログラム８３５、他のプログラムモジュール８３６、およびプログラムデータ８３７と同じであっても、異なっていてもよいことに注意されたい。オペレーティングシステム８４４、アプリケーションプログラム８４５、他のプログラムモジュール８４６、およびプログラムデータ８４７は少なくとも異なるコピーであることを示すために、ここではそれらに異なる番号を付している。ユーザは、キーボード８５４、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング装置８６１などの入力装置を介してコマンドおよび情報をコンピュータ例１０９に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどがある。これらおよび他の入力装置は、しばしばシステムバスに結合されているユーザ入力インターフェース８６０を介して処理ユニット８２０に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など他のインターフェースおよびバス構造で接続してもよい。モニタ８９８または他のタイプの表示装置もまた、ビデオインターフェース８９０などのインターフェースを介してシステムバス８２１に接続される。モニタ８９８に加えて、コンピュータは、出力周辺インターフェースなどを介して接続できるスピーカ８９７、プリンタ８９６などの他の周辺出力装置を備えることもできる。
【００７０】
例示のコンピュータ１０９は、リモートコンピュータ８８０など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ８８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の一般のネットワークノードでよく、一般にコンピュータ１０９に関連して上述した多くまたはすべての要素を含むが、図８にはメモリ記憶装置のみを示している。図８に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）８７１および広域エリアネットワーク（ＷＡＮ）８７３を含むが、他のネットワークを含んでいてもよい。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００７１】
ＬＡＮネットワーキング環境で使用する場合、例示のコンピュータ１０９は、ネットワークインターフェースまたはアダプタ８８４を介してＬＡＮ８７１に接続される。ＷＡＮネットワーキング環境で使用する場合、例示のコンピュータ１０９は一般に、モデム８７２、またはインターネットなどＷＡＮ８７３を介して通信を確立する他の手段を含む。モデム８７２は、内蔵のものでも外付けのものでもよく、ユーザ入力インターフェース８６０または他の適切な機構を介してシステムバス８２１に接続することができる。ネットワーク化された環境では、例示のコンピュータ１０９に関連して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納することができる。図８は、それだけには限定されないが一例として、リモートアプリケーションプログラム８８５をメモリ装置上に存在するものとして示している。図示したネットワーク接続は一例であり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されよう。
【００７２】
結論
上記において、ネットワーク接続エージェントおよびトラブルシュータ（ＮＣＡＴ）の例および装置をネットワークおよび／またはネットワークサービスに接続するための関連する方法について説明した。本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの両方で実施することができる。一部の実施形態において、例示のＮＣＡＴおよび関連の方法は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般の文脈で説明することができる。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。本発明は、タスクが通信ネットワークを介してリンクされるリモート処理装置によって無線通信を介して実行される分散通信環境で実施することもできる。無線ネットワークでは、プログラムモジュールを、メモリ記憶装置を含むローカルおよびリモートの通信装置記憶媒体に置くことができる。
【図面の簡単な説明】
【００７３】
【図１】本発明を実施できるコンピューティング環境の例を示すブロック図である。
【図２】ネットワーク接続およびトラブルシューティングエンジンの例を示すブロック図である。
【図３】装置をネットワークまたはネットワークサービスに接続する例示の方法を示すフローチャートである。
【図４】装置をネットワークまたはネットワークサービスに接続する別の例示の方法を示すフローチャートである。
【図５】ネットワーク接続エージェントおよびトラブルシュータ例のユーザインターフェースの例を示す図である。
【図６】ネットワーク状態画面のユーザインターフェースの例を示す図である。
【図７】例示のＮＣＡＴのヘルプおよびトラブルシューティング画面のユーザインターフェースの一例を示す図である。
【図８】主題との使用に適したコンピューティング装置の例を示すブロック図である。
【符号の説明】
【００７４】
１００  ＮＣＡＴ
１０２  コンピューティング環境
１０４  装置
１０６  ネットワーク
１０８  サービス
１０９  パーソナルコンピュータ
１１８  ケーブル
１１９  無線結合
１２０  ＩＳＰ
１２２  ＤＮＳ
２００  ネットワーク通信エージェントおよびトラブルシュータエンジン
２０２  通信結合エンジン
２０４  ネットワーク設定エンジン
２０６  名前解決エンジン
２０８  サービス接続エンジン
２１０  制御ロジック
２１２  ユーザインターフェースエンジン
２１４  ヘルプおよびトラブルシューティングエンジン
２１６  エラーロギングエンジン
２１８  モードセレクタ
２２０  ＱｏＳモジュール
５００  ユーザインターフェース
５０２  ＮＣＡＴ初期画面
５０４  ネットワーク接続状態
５０６  キャンセル
５０８  設定
５１０  ヘルプ
５１２  ネットワーク設定入力
５１４  テスト接続
５１６  ネットワーク状態画面
５１８  設定
５２０  完了
６１０〜６１６  インジケータ
８２０  処理ユニット
８２１  バス
８３０  システムメモリ
８３１  ＲＯＭ
８３２  ＲＡＭ
８３３  ＢＩＯＳ
８３４、８４４  オペレーティングシステム
８３５、８４５  アプリケーションプログラム
８３６、８４６  他のプログラムモジュール
８３７、８４７  プログラムデータ
８４０  固定メモリインターフェース
８５０  取外し可能メモリインターフェース
８５１  磁気ディスクドライブ
８５２  磁気ディスク
８５４  キーボード
８５５  光ディスクドライブ
８５６  光ディスク
８６０  ユーザ入力インターフェース
８６１  ポインティング装置
８７１  ローカルエリアネットワーク
８７２  モデム
８７３  広域ネットワーク
８８０  リモートコンピュータ
８８４  ネットワークインターフェース
８８５  アプリケーションプログラム
８９０  ビデオアダプタ
８９６  プリンタ
８９７  スピーカ
８９８  モニタ
【図１】
2005025753.tif 000003
【図２】
2005025753.tif 000004
【図３】
2005025753.tif 000005
【図４】
2005025753.tif 000006
【図５】
2005025753.tif 000007
【図６】
2005025753.tif 000008
【図７】
2005025753.tif 000009
【図８】
2005025753.tif 000010