(57)【要約】【課題】効率的にネットワーク上で動作するコンピューティング装置を構成する。【解決手段】ポーリングコンピュータがネットワークに接続されるとき、ポーリングコンピュータは、ネットワークトラフィックを監視し、ネットワーク上で使用されているプロトコルを判定する。こうしたプロトコルがポーリングコンピュータ上にインストールおよびロードされる。ポーリングコンピュータは、ネットワーク上のボーティングコンピュータを見つけ、ボーティングコンピュータにクエリーを送り、ネットワーク設定やネットワーク資源などのネットワーク情報を発見することができる。ポーリングコンピュータは結果をデータ構造内に格納する。データ構造はソートすることができ、ネットワーク上で使用される最も人気のあるネットワーク設定および資源を見つけるために探索可能である。ネットワーク設定および資源を自動的にポーリングコンピュータに適用することができる。【選択図】図２
2006254445.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の伝送を監視するステップと、
前記伝送で使用されるプロトコルを判定するステップと、
前記プロトコルが判定された後、コンピューティング装置が前記プロトコルを使用して通信することを自動的に可能にするステップと
を備えるステップを実施するコンピュータ実行可能命令を有することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２】
前記コンピューティング装置を動作可能にするステップは、前記プロトコルのためのドライバをインストールするステップを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項３】
前記コンピューティング装置を動作可能にするステップは、前記プロトコルのためのドライバをロードするステップを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項４】
前記ネットワーク上の第２のコンピューティング装置に照会して、前記第２のコンピューティング装置で使用されるネットワーク構成設定を発見するステップをさらに備えることを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項５】
前記ネットワーク上の第２のコンピューティング装置に照会し、前記第２のコンピューティング装置で使用されるネットワーク資源を発見するステップをさらに備えることを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項６】
ユーザインタフェースをユーザに提示するステップをさらに備え、前記ユーザインタフェースは前記プロトコルの名前を含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項７】
前記コンピューティング装置が前記ネットワークに接続されたとき、前記コンピュータ実行可能命令が自動的に開始されることを特徴とする請求項１に記載のコンピュータ読み取り可能な記録媒体。
【請求項８】
第１のコンピューティング装置で使用されるネットワーク設定とネットワーク資源の少なくとも一方に関して前記第１のコンピューティング装置に照会するステップと、
前記要求に対する応答を受信するステップと、
ネットワーク設定とネットワーク資源の前記少なくとも１つを使用するように第２のコンピューティング装置を自動的に構成するステップと
を備えるステップを実施するコンピュータ実行可能命令を有することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
前記第２のコンピューティング装置上で前記応答に含まれる情報を格納するステップをさらに備えることを特徴とする請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記情報がデータ構造に格納されることを特徴とする請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
最も頻繁に出現する前記データ構造内のエントリを選択することにより、ネットワーク設定とネットワーク資源の前記少なくとも一方を使用するように前記第２のコンピュータが自動的に構成されることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記第１のコンピューティング装置と前記第２のコンピューティング装置との間の前記ネットワーク内の近さに基づいて、前記データ構造内のエントリを重み付けするステップをさらに備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記第１のコンピューティング装置と前記第２のコンピューティング装置との間の類似性に基づいて、前記データ構造内のエントリを重み付けするステップをさらに備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記応答に含まれる情報を表示するユーザインタフェースを前記ユーザに提示するステップをさらに備えることを特徴とする請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記第２のコンピューティング装置を自動的に構成するステップは、前記第２のコンピューティング装置に対してネットワーク設定を適用することによって行われることを特徴とする請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記第２のコンピューティング装置を自動的に構成するステップは、資源をデフォルト資源として選択することによって行われることを特徴とする請求項８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
ディスプレイおよびユーザインタフェース選択装置を含むグラフィカルユーザインタフェースを有するコンピュータシステムにおいて、ネットワーク上の第１のコンピューティング装置で使用されるネットワーク設定とネットワーク資源の少なくとも一方を発見する方法であって、
前記ネットワークに第２のコンピューティング装置を接続するステップと、
前記第１のコンピューティング装置で使用されるネットワーク設定とネットワーク資源の前記少なくとも一方に関して前記第１のコンピューティング装置に照会するステップと、
前記要求に対する応答を受信するステップと、
前記ディスプレイ上にユーザインタフェース要素を提示するステップであって、前記ユーザインタフェース要素は、ネットワーク設定およびネットワーク資源の前記少なくとも一方を含むステップと、
前記ユーザインタフェース選択装置を用いてネットワーク設定およびネットワーク資源の前記少なくとも一方を選択して、前記第２のコンピューティング装置上でネットワーク設定およびネットワーク資源の前記少なくとも一方を使用するステップと
を備えることを特徴とする方法。
【請求項１８】
前記第２のコンピューティング装置上でデータ構造内で前記応答内の情報を格納するステップをさらに備えることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記ユーザインタフェース上に表示されるネットワーク設定およびネットワーク資源の前記少なくとも一方が、前記データ構造から取り出されることを特徴とする請求項１８に記載の方法。
【請求項２０】
ネットワーク上の伝送を監視するステップと、
前記伝送で使用されるプロトコルを判定するステップと、
前記プロトコルが判定された後、前記第２のコンピューティング装置が前記プロトコルを使用して通信することを自動的に可能にするステップと
をさらに備えることを特徴とする請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で動作するコンピューティング装置を構成することに関し、より詳細には、コンピューティング装置の自動構成およびネットワーク資源の自動発見に関する。
【背景技術】
【０００２】
パーソナルコンピュータなどのコンピューティング装置をネットワークに接続することは、時間がかかり、困難であることがある。ネットワークプロトコル、ＩＰサブネット、ゲートウェイ、サブネットマスクなどのネットワーク設定は、典型的なユーザにとって容易に理解できるものではなく、またはそれを得ることは容易ではない。このタイプの構成情報は、通常はネットワーク管理者、サービスプロバイダ、またはその他のネットワークサポートスタッフによって制御される。ネットワークに接続することを望むユーザは、ネットワークに接続するのに必要な設定の提供を受けるために他の人に依拠しなければならない。これは、ユーザと、ユーザに情報を提供する人のどちらにとっても時間の浪費である。ユーザがネットワークに接続するのに必要な設定を最終的に得たときであっても、こうした設定を実際に適用することは、多くのユーザにとって複雑かつ困難である可能性がある。こうした設定を適用することを試みることにより、さらに時間が浪費され、ユーザならびにユーザがネットワークに接続するのを助けようと試みる人の側にとってフラストレーションとなる可能性がある。したがって、現在、ユーザおよび／または他の人によるかなりの対話なしにユーザがネットワークに接続するための容易な方式は存在しない。
【０００３】
同様に、他の有用なネットワーク情報は通常、口頭によって、またはユーザによる自主的な発見によってでしか入手可能ではない。人気があり有用なウェブサイト、重要な共通ファイルサーバ、ピアネットワーク、および他のタイプの共有インターネット資源などの情報は、ユーザがこうした資源が存在することを知るためにでさえもユーザが発見しなければならないので、そうした資源に接続して利用できるようにするためにはなおさらである。しばしば、こうした資源の有用性ならびにそれがユーザの生産性を向上させる可能性があるにもかかわらず、ユーザは、こうしたタイプの資源を発見することさえできない。したがって、現在、ユーザがネットワーク資源を見つける簡単な方式は存在しない。なぜならユーザは、このタイプの情報について他の人に尋ねるか（ユーザが尋ねる人が所与の資源をちょうど知っていると仮定して）、またはユーザ自身でこうしたタイプの資源を自主的に探索して、かなりの時間量を費さなければならない。明らかに、こうした手法はいずれも非効率であり、どちらも初心のコンピュータユーザにとって非常に困難である可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【０００５】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、効率的にネットワーク上で動作するコンピューティング装置を構成する、ネットワーク設定とネットワーク資源の少なくとも一方を発見する方法及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、ユーザ対話を必要とすることなくコンピューティング装置がそれ自体を自動的に構成してネットワーク上で通信する方式を提供する。要約すると、新しいコンピュータ（ポーリングコンピュータ）がネットワークに追加されたとき、ポーリングコンピュータは、ネットワーク上の他のコンピュータ（ボーティングコンピュータ）の中でどのネットワーク構成設定および資源が最も一般的に使用されているかを見つける。次いで、ポーリングコンピュータは、こうした設定および資源をデフォルトとして選択し、ユーザ対話を必要とすることなく、ポーリングコンピュータがネットワークを介して通信し、ネットワーク資源を見つけることを可能にする。
【０００７】
より具体的には、本発明の実施形態は、ネットワークを介して通信するようにコンピュータを自動的に構成するのに使用することのできる１つまたは複数のモジュールを提供する。ポーリングコンピュータがネットワークに接続されるとき、ポーリングコンピュータは、ネットワークトラフィックを監視し、ネットワーク上で使用されているプロトコルを判定する。次いで、こうしたプロトコルがポーリングコンピュータ上にインストールおよびロードされる。ポーリングコンピュータは、ネットワーク上のボーティングコンピュータを見つけ、ボーティングコンピュータにクエリーを送り、ネットワーク設定やネットワーク資源などのネットワーク情報を発見することができる。ポーリングコンピュータは結果をデータ構造内に格納する。データ構造はソートすることができ、ネットワーク上で使用される最も人気のあるネットワーク設定および資源を見つけるために探索可能である。ポーリングコンピュータ上で動作するように設定および資源を自動的に構成することができ、またはユーザが特定の設定および／または資源を選択することを可能にするユーザインタフェースをユーザに提供することができる。
【０００８】
本発明の上記およびその他の利点、ならびに本発明の追加の特徴は、以下の詳細な説明を読み、図面を参照する際に明らかとなるであろう。
【発明の効果】
【０００９】
本発明によれば、効率的にネットワーク上で動作するコンピューティング装置を構成することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【００１１】
図面を参照すると、図１にコンピューティング装置１００が示されている。その最も基本的な構成において、装置１００は一般にプロセッサ１０２およびメモリ１０４を含む。コンピューティング装置の厳密な構成およびタイプに応じて、メモリ１０４は揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、または両者の何らかの組合せでよい。さらに、装置１００は、磁気、光ディスク、テープなどの大容量記憶装置（リムーバブル１０８および／またはノンリムーバブル１１０）も有することができる。同様に、装置１００は、キーボード、マウス、タッチパッド、タッチスクリーンなどの入力装置１１４および／またはディスプレイなどの出力装置１１６も有することができる。装置１００の他の態様は、有線媒体またはワイヤレス媒体を用いた、他の装置、コンピュータ、ネットワーク、サーバなどへの通信／ネットワーク接続１１２を含むことができる。すべてのこうした装置は当技術分野で良く知られており、ここで詳細に議論する必要はない。
【００１２】
１つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的状況で本発明を説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。一般に、様々な実施形態でプログラムモジュールの機能を望み通りに組み合わせることができ、または分散させることができる。
【００１３】
話を簡単にするために、本発明の実施形態をコンピュータに適用して一般的に説明することができる。しかし、本発明の態様は任意の適切なコンピューティング装置１００に適用可能であることを当業者は理解されよう。例えば、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能消費者向け電子機器、ミニコンピュータ、メインフレームコンピュータ、ならびに上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などに本発明の実施形態を適用することができる。
【００１４】
本発明は、ユーザがコンピューティング装置１００を容易に構成してネットワークを介して通信するための方式を提供する。コンピューティング装置１００が（ワイヤレスに、または従来の通信ケーブルを介して）ネットワーク２２０に接続された後、本発明はまず、ネットワーク通信でどのプロトコルが使用されているかを確認することができる。本発明は、発見したプロトコルを使用してコンピューティング装置１００が通信するために、ドライバおよびその他の必要なファイルをユーザ対話なしに自動的にインストールおよびロードすることができる。本発明のこの態様は、図２に示すプロトコル発見コンポーネント２０２によって制御することができる。
【００１５】
本発明の別の態様は、ネットワーク２２０上の他のコンピューティング装置１００をポーリングして、それがどのネットワーク設定およびネットワーク資源を使用しているかを見つけることを含む。この情報が、ポーリングコンピューティング装置（すなわち、ネットワークを介して通信するように構成中の装置）によって使用され、ポーリングコンピューティング装置がどのネットワーク設定および／またはネットワーク資源を使用するかが決定される。このことは、ネットワーク設定コンポーネント２０４および／またはネットワーク資源コンポーネント２０６を介して実施される。こうした２つのコンポーネントを別々のコンポーネントとして説明するが、これらは単一のコンポーネントとして動作することができる。さらに、ネットワーク設定コンポーネント２０４およびネットワーク資源コンポーネント２０６をネットワーク情報コンポーネントとして個々に、または組み合わせて一般的に説明することができる。
【００１６】
本発明のコンポーネントを「トライバルナレッジ（ｔｒｉｂａｌ  ｋｎｏｗｌｅｄｇｅ）」モジュール２００のコンポーネントであるとして一般的に説明する。これは、コンピューティング装置１００がそれ自体を構成して、ネットワーク上で通信し、ネットワーク上の他のコンピューティング装置（すなわちトライバルメンバ）を「リッスン（listen）」し、「ポーリング」することによってネットワーク上の資源を自動的に発見するために使用される当技術分野の用語である。ネットワーク上で通信することを試みているコンピューティング装置１００は、ネットワーク情報を求めてトライバルメンバに要求を送信するのでポーリングコンピューティング装置として説明することができる。トライバルメンバは、この要求に対する応答を提供することによってボート（vote）し、したがってボーティングコンピューティング装置と呼ぶことできる。こうした応答をポーリングコンピューティング装置に提供することにより、ネットワーク上の他のコンピューティング装置について「トライバルナレッジ」が取得される。ある実施形態では、ボーティングコンピューティング装置で使用される最も人気のある設定および資源がデフォルト設定として選ばれ、ポーリングコンピューティング装置上にインストールされる。したがって、ある実施形態では、トライバルメンバは、情報を求めるポーリングコンピュータによる要求に対する応答を提供することによってボートし、この情報が、トライブ／ネットワークに接続しようと試みているポーリングコンピューティング装置に関するデフォルト設定および資源を決定するのに使用される。
【００１７】
図２に、本発明の教示による「トライバルナレッジ」モジュール２００の一例を示す。トライバルナレッジモジュール２００は、ネットワーク２２０を介して通信するようにコンピュータを自動的に構成する１組のコンピュータ実行可能命令を含む。トライバルナレッジモジュール２００は、プロトコル発見コンポーネント２０２、ネットワーク設定コンポーネント２０４、ネットワーク資源コンポーネント２０６、および情報クエリーコンポーネント２０８のうちの少なくとも１つを含むことができる。プロトコル発見コンポーネント２０２は、ネットワーク２２０上の伝送を監視して、ネットワーク２２０上で使用されるプロトコルを判定するネットワークプローブ２１０を含むことができる。あるいは、ネットワークプローブ２１０は、プロトコル発見コンポーネント２０２にプロトコル情報を供給する独立したコンポーネントでもよい。あるＭｉｃｒｏｓｏｆｔ「Ｗｉｎｄｏｗｓ（登録商標）」ベースの実施形態では、プロトコル発見コンポーネント２０２は、Ｍｉｃｒｏｓｏｆｔの「ＮＥＴＷＯＲＫ  ＭＯＮＩＴＯＲ」などのアプリケーションを使用してネットワークを監視する。「ＮＥＴＷＯＲＫ  ＭＯＮＩＴＯＲ」は、ネットワーク管理者がネットワーク伝送を監視することによってネットワーク問題を検出し、問題解決することを可能にする。このプログラムは、ネットワーク構成のために使用されないが、トライバルナレッジモジュール２００と共に使用して、プロトコル情報を検出し、それをプロトコル発見コンポーネント２０２に供給するように適合させることができる。プロトコル発見コンポーネント２０２は、プロトコル情報を使用して、コンピュータ上に適切なプロトコルドライバをインストールおよび／またはロードする。
【００１８】
情報クエリーコンポーネント２０８は、ネットワーク２２０上の他のコンピュータ（ボーティングコンピュータ）にクエリーを送信して、ボーティングコンピュータについての情報を要求する。トライバルナレッジモジュール２００のこのコンポーネントはまた、クエリーに対する応答をボーティングコンピュータから受信し、この情報を１つまたは複数のデータ構造２１２に格納する。ネットワーク設定コンポーネント２０４は、データ構造２１２を使用してネットワーク設定を選択し、それをコンピュータに適用する。同様に、ネットワーク資源コンポーネント２０６は、データ構造２１２を使用してコンピュータ上の資源を選択および適用する。ネットワーク設定コンポーネント２０４とネットワーク資源コンポーネント２０６は共に、情報クエリーコンポーネント２０８を開始および制御することができる。各コンポーネントを単一のトライバルナレッジモジュール２００の部分として図示し、説明するが、その代わりにコンポーネントのうちの１つまたは複数は独立モジュールでもよい。
【００１９】
本発明のある実施形態におけるコンピューティング装置のためのネットワーク通信層の概略図が図３に示されている。コンピューティング装置は、例えばイーサネット（登録商標）カード３００、ネットワーク装置インタフェースドライバ３０２、およびＴＣＰ／ＩＰドライバ３０４を含む。現在、Ｍｉｃｒｏｓｏｆｔ「ＷＩＮＤＯＷＳ（登録商標）ＸＰ」オペレーティングシステムは、デフォルトとしてプリロードされるＴＣＰ／ＩＰドライバ３０４を有し、したがってこのオペレーティングシステムを実行するコンピュータ上にＴＣＰ／ＩＰプロトコルをインストールする必要はない。Ｍｉｃｒｏｓｏｆｔ「ＷＩＮＤＯＷＳ（登録商標）」ベースのオペレーティングシステムでは、「ＮＥＴＷＯＲＫ  ＭＯＮＩＴＯＲ」ドライバ３０６またはその他の適切なドライバが、ネットワーク装置インタフェースドライバ３０２およびネットワークプローブ２１０と対話する。ネットワークプローブ２１０は、ネットワーク２２０上のトラフィックを監視し、プロトコル情報をネットワークマネージャ３０８に供給する。ネットワークマネージャ３０８は、コンピューティング装置上にまだロードされていない、ネットワーク２２０上で検出したプロトコルに関するプロトコルドライバをロードするのに使用することができる。プロトコル発見コンポーネント２０２は、ネットワークプローブ２１０とネットワークマネージャ３０８との間の対話を実施することができ、前述のように、監視側面および／またはネットワークプローブをプロトコル発見コンポーネント２０２内に構築することができる。あるＭｉｃｒｏｓｏｆｔ「ＷＩＮＤＯＷＳ（登録商標）」ベースのオペレーティングシステムに関してこの例を説明したが、任意の適切なオペレーティングシステムに本発明を適用できることを当業者なら理解されよう。
【００２０】
本発明の実施形態は、ネットワーク上のネットワーク設定および資源を自動的に判定することによってユーザがコンピュータをネットワーク２２０上で通信するように容易に構成する方式を提供する。コンピュータがネットワーク２２０上の他のコンピュータによって使用されているネットワーク設定および資源がどれであるかを判定することができる前に、ネットワーク上の他のコンピュータが使用中のプロトコルと通信するようにコンピュータを構成する必要がある。ネットワークプロトコルを発見および適用するプロセスを図４に示す。この図を参照すると、ユーザは、ステップ４０２でコンピュータとネットワーク２２０との間の接続を確立することによって開始する。接続されたとき、ステップ４０４で、コンピュータは、ネットワーク上の伝送の監視を開始する。ステップ４０６で、所与の伝送で使用中のプロトコルのタイプを判定する。このプロセスは、コンピュータがネットワークに接続されたことをコンピュータが認識した後に自動的に開始することができ、またはユーザが開始することができる。
【００２１】
伝送で使用中の特定のプロトコルをコンピュータが判定するとき、ステップ４０８で、プロトコル発見モジュール２０２は、このプロトコルについての必要なドライバのインストール（それが必要な場合）およびローディングを実施する（コンピュータ上にドライバがまだロードされていないと仮定する）。プロトコルは、コンピュータによって自動的にロードすることができ、またはユーザが特定のプロトコルについてのドライバをインストールしたいかどうかを選択するようにユーザインタフェース（ダイアログボックスなど）でユーザに促すことができる。発見することのできるネットワークプロトコルの例には、限定はしないが、ＴＣＰ／ＩＰ、ＡｐｐｌｅＴａｌｋ、Ｎｅｔｗａｒｅ、非同期転送モード（ＡＴＭ）が含まれる。
【００２２】
例えば、限定はしないが、ユーザは、ユーザのコンピュータとユーザが接続したいネットワーク２２０との間のワイヤレス接続を確立することができる。新しいネットワークが接続されたことをコンピュータが検出した後、またはユーザの指示で、プロトコル発見コンポーネント２０２は、ネットワーク上の伝送のリッスンを（すなわちネットワークプローブ２１０を使用して）開始することができる。プロトコルが発見されたとき、プロトコル発見コンポーネント２０２は、その特定のプロトコルについて必要なドライバが既にインストールされているかどうかを判定することができる。ドライバがインストールされていない場合、プロトコル発見コンポーネント２０２は、プロトコルドライバのインストールを実施し、プロトコルドライバをロードすることができる。上述のように、ある実施形態では、ネットワークマネージャ３０８を使用して、プロトコルドライバをロードするこのプロセスを実施することができる。この時、ユーザのコンピュータは、このプロトコルを使用してネットワーク通信を送信および受信することができ、次いでプロトコル発見コンポーネント２０２は、このプロセスを反復して、ネットワークで使用される追加のプロトコルを見つけることができる。したがって、図４に記載のプロセスは、コンピュータ上にまだインストールされておらず、ロードされていないプロトコルを発見し、使用するのに有用である。
【００２３】
コンピュータが所与のプロトコルをロードすると、コンピュータは、情報クエリーコンポーネント２０８によって送られるクエリーを通じて、ネットワーク上の他のコンピュータを発見することができる。このことは例えば、ネットワーク上の他のコンピュータに応答するように要求するブロードキャストをネットワークを介して送信することによって実施することができ、またはユーザがネットワーク上の特定のコンピュータを知っている場合、ユーザがこの情報を情報クエリーコンポーネント２０８に手動で与えることができる。あるいは、コンピュータは、ネットワークを介してブロードキャストを送信した他のコンピュータをリッスンすることもできる。ネットワーク上の他のコンピュータを発見する任意の適切な方法を使用できることを当業者なら理解されよう。
【００２４】
本発明によれば、コンピュータ（ポーリングコンピュータ）は、ネットワーク上の他のコンピュータ（ボーティングコンピュータ）で使用されるネットワーク情報を発見することができる。このネットワーク情報は、ネットワーク構成設定／オプションおよびネットワーク資源についての情報を含むことができる。このタイプの情報は一般に、口頭によって、またはユーザ自身の発見によってでしか利用可能ではない。したがって、所与の設定または資源を発見すること、およびその設定を使用し、または資源にアクセスするようにコンピュータを構成することのどちらにも、通常はユーザ対話が必要である。例えば、限定はしないが、コンピュータが発見することのできるネットワーク設定／オプションの一部には、ＩＰサブネット、サブネットマスク、ゲートウェイ、ＤＮＳサーバ、ＷＩＮＳサーバ、Ｅメールサーバ、ＡＴＭアドレス、ドメインコントローラ、好ましいドメイン名、ワークグループなどに関する情報が含まれる。発見することのできるネットワーク資源またその他の情報の例には、ウェブサイト、プリンタ、共通ファイルシェア、ソースコード制御サーバ、インターネットプロキシアドレス、ピアネットワーク、ｔｅｌｎｅｔサーバ、ＦＴＰサーバ、ファイルシェアポイント、インストールされるアプリケーションソフトウェア、インストールされるデバイスドライバ（ダウンロードソースおよび現バージョン）、インストールされるセキュリティパッチ、オペレーティングシステムバージョン（および最新のパッチ）、ネットワーク接続装置（例えば汎用プラグアンドプレイ装置など）、ローカルハードウェア周辺機器（例えばグラフィックスカード、サウンドカード、マルチメディア装置など）、ＩＲＣチャットチャネルなどが含まれる。資源名、資源インターネットプロトコル（ＩＰ）アドレス、ならびに／あるいは所与の資源を突き止め、かつ／または使用するのに必要なその他の適切な情報をボーティングコンピュータから発見することができる。ネットワーク設定、ネットワーク資源についての任意の適切な情報、またはネットワーク上のボーティングコンピュータについてのその他の情報を発見できることを当業者なら理解されよう。
【００２５】
ネットワーク設定および資源を発見するプロセスを図５で見ることができる。ステップ５０２で、ポーリングコンピュータ上のトライバルナレッジモジュール２００の情報クエリーコンポーネント２０８は、構成および／または資源情報を求める要求をネットワーク上のボーティングコンピュータに送信する。ステップ５０４で、この要求が、ネットワーク２２０上の１つまたは複数のボーティングコンピュータで受信される。ステップ５０６で、要求に応答して、ネットワーク上のボーティングコンピュータは、要求された情報をポーリングコンピュータに送り返す。ステップ５０８で、ポーリングコンピュータの情報クエリーコンポーネント２０８はこの情報を受信し、ステップ５１０で、情報をデータ構造２１２内に格納することができる。このプロセスはこの時点で終了し、他のボーティングコンピュータに関連するネットワーク情報を見つけるためにこのプロセスを反復することができる。
【００２６】
上述のステップに続いて、データ構造内の情報を使用してコンピュータを構成し、ネットワーク設定および／またはネットワーク資源を使用することができる。ステップ５１２で、データ構造２１２にアクセスし、ボーティングコンピュータに関連するネットワーク情報を取り出すことができる。次いでステップ５１４に示すように、この情報をポーリングコンピュータに適用することができる。図５の流れ図の中ではステップ５１２および５１４をステップ５１０に続く潜在的経路として示しているが、データ構造がアクセスされる度に、またはネットワーク設定／資源がポーリングコンピュータに適用される度に、これらの２つのステップに先行するステップを実施する必要はない。これらの２つのステップは、図示するようにステップ５０２〜５１０とは完全に別個に実施することができる。例えば、ネットワーク情報を既に含んでいるデータ構造２１２を、ネットワーク２２０上で通信するように構成中のコンピューティング装置上にコピーすることができる。この状況では、ネットワーク情報がデータ構造２１２内で既に利用可能であるので、ステップ５０２〜５１０は不要である。別の例として、ポーリングコンピュータがボーティングコンピュータからのネットワーク情報の収集を停止していることがあるが、コンピュータは、後の時点で依然としてデータ構造２１２にアクセスすることができ、以前に適用されなかった追加の設定または資源を適用することができる。
【００２７】
データ構造２１２の一例を図６に示す。データ構造２１２は、リスト、テーブル、スプレッドシート、データベース、あるいは特定のボーティングコンピュータをボーティングコンピュータの設定、プリファレンス、および／または資源を表すデータ構造内のフィールドと関連付けるその他の適切なデータ構造でよい。情報を求める要求に応答するボーティングコンピュータごとに、エントリ６０２などの１つのエントリがデータ構造に取り込まれる。データ構造２１２は、各エントリ内に情報を提供したボーティングコンピュータに関する識別子を含むフィールド６０４を含むことができる。識別子は、例えばコンピュータの名前でよい。他の適切な識別子を使用してボーティングコンピュータを識別できることを当業者なら理解されよう。このデータ構造２１２は、プロトコル、アドレス、ゲートウェイ、プリンタ、プロキシ、Ｅメールサーバ、お気に入りウェブサイトリスト、データベースなどに関連するデータを表す、フィールド６０６などの追加のフィールドを有することができる。資源または設定の名前、資源／設定に関連するアドレス（インターネットプロトコル（ＩＰ）アドレスなど）、および／または所与の資源／設定を突き止め、かつ／または使用するのに必要な他の適切な情報をボーティングコンピュータから発見することができる。データ構造２１２は特定のフィールド内でソート可能であり、フィールド内の所与の値がデータ構造内で何回出現するかをユーザがわかるように特定のエントリの現在の合計を維持することができる。
【００２８】
ポーリングコンピュータにより、データ構造２１２に所望の時間量および／またはエントリ数についてデータが追加される。代替実施形態では、ボーティングコンピュータ設定／資源の変化を反映するように、データ構造に継続的に追加することができ、または周期的に追加することができる。データ構造２１２にデータを十分に追加した後、どの設定が最も頻繁に出現するか、すなわち最も「人気のある」設定に基づいてデフォルトネットワーク設定を選ぶことができる。最も人気のある選択を選ぶ理由は、最も頻繁に使用されるネットワーク設定が、ネットワーク２２０に接続することを試みるコンピュータに対して正しい設定または好ましい設定である可能性が高いためである。同様に、最も一般的に使用される資源が、ポーリングコンピュータのユーザが使用したい、または知りたい可能性の高い資源である。こうした設定は自動的に適用することができ、またはこうした設定を適用する前に承認を求めてユーザに提示することができる。
【００２９】
データ構造内のデータの完全性を維持するために、トライバルナレッジモジュール２００は、既にポーリングしてそこからデータを受信したコンピュータを追跡することができる。任意の重複データを廃棄することができ、またはリストを更新して、ボーティングコンピュータが採用した可能性のある任意の新しい設定または資源を反映することができる。最終的に、データ構造２１２内のデータをゆがめることになる、同一のコンピュータからの重複エントリが存在しないようにリストを維持する。
【００３０】
完全に発生頻度に基づいて選択を行う代わりに、データ構造内のエントリを、ポーリングコンピュータに対するボーティングコンピュータの近さなどの因子に基づいて、またはボーティングとポーリングコンピュータとの間の類似性に基づいて重み付けすることができる。したがって、ネットワーク設定および／または資源を選択するときに、近さおよび／または類似性を考慮に入れることができる。近さは、例えば、ボーティングコンピュータからどれほど迅速にデータが到着するかによって、またはホップカウントによって測定することができる。類似性は、例えばポーリングコンピュータとボーティングコンピュータのハードウェア、ソフトウェア、他のシステムデフォルトまたは設定、ワークグループまたはドメイン内の共通メンバシップ、および／またはＥメールサーバ提供の組織構造データの間の類似性によって判定することができる。あるボーティングコンピュータの設定が、遠く離れた、かつ／またはあまり類似していない他のボーティングコンピュータよりもポーリングコンピュータに関連する可能性があるので、エントリを重み付けすることが望ましい。
【００３１】
例えば、限定はしないが、ボーティングコンピュータからポーリングコンピュータまで応答が必要とするホップ数に基づいて、特定のデフォルトプリンタに重みを与えることができる。この例について、データ構造２１２が、ポーリングコンピュータに到達するのに１０ホップを必要とするプリンタ１を使用する第１のボーティングコンピュータからのエントリと、ポーリングコンピュータに到達するのに２０ホップを必要とするプリンタ１を使用する第２のボーティングコンピュータについての第２のエントリと、ポーリングコンピュータに到達するのに５ホップを必要とするプリンタ２を使用する第３ボーティングコンピュータについての第３エントリとを含むと仮定する。厳密な人気／使用頻度を使用して、各エントリを特定のプリンタについての１票としてカウントする（この結果、プリンタ１がポーリングコンピュータ上のデフォルトプリンタとして選択されることになる）代わりに、ホップ数の逆数を考慮に入れることによって各票を重み付けすることができる。この結果、第１のボーティングコンピュータはプリンタ１について０．１票（１／１０）を有し、第２のコンピュータは、プリンタ１について０．０５（１／２０）票を有し、第３ボーティングコンピュータは、プリンタ２について０．２（１／５）票を有する。重み付きの票を使用して各プリンタについての票を加算すると、プリンタ１は０．１５票（すなわち第１のボーティングコンピュータからの０．１と第２のボーティングコンピュータからの０．０５の和）を有し、プリンタ２は０．２票を有する。したがって、より多くのコンピュータがプリンタ２を使用していても、プリンタ２はプリンタ１よりも高い重み付き票を有するので、ポーリングコンピュータについてのデフォルト選択はプリンタ２となる。これは、重み付き計算を行うことのできる多数の方式のうちの１つの単純な例に過ぎない。データ構造２１２内のデータを重み付けし、データ構造２１２からネットワーク情報を選択する適切な方法を使用できることを当業者なら理解されよう。
【００３２】
ネットワーク上のボーティングコンピュータからの情報を収集し、データ構造２１２に格納した後、最も頻繁に生じる資源を自動的にロードし、選択し、プリファレンスとして保存し、ポーリングコンピュータ上のデフォルトとして設定することができる。例えば、人気のあるウェブサイトをポーリングコンピュータのインターネットブラウザ内のフォルダに自動的に保存することができる。あるいは、データ構造２１２をグラフィカルユーザインタフェース（ＧＵＩ）上でユーザに提示することもできる。次いで、ユーザは、最も人気のある資源を検討することができるだけでなく、ネットワーク上の他のコンピュータで使用されている他の資源も閲覧することができる。これにより、ユーザは、望むなら最も人気のある資源以外の資源を選択することが可能となる。例えば、ある状況では、ユーザは、プリンタなどについて、プリンタキュー内のより多数のユーザと競合しなければならなくなるので、最も人気のある資源を望まないことがある。したがって、ユーザは、データ構造２１２から最も人気のあるものではない別のプリンタを選択することを決定することができる。データ構造２１２をユーザに提示することにより、ユーザが使用することに関心のないある資源をユーザが適用しないことも可能となる。
【００３３】
データベース中の情報は、様々なユーザインタフェースを介してユーザに提示することができる。例えば、図１３に示すように、ユーザインタフェースは、推奨される設定をユーザに提示するダイアログボックス１３００でよい。あるいは、リスト内の特定のフィールドに基づいてソート可能であるリストとして情報を提示することもでき、または情報を２次元または３次元グラフとして提示することもできる。グラフィカルユーザインタフェースでデータベースを表示する他の方式には、いくつかの結果をオブジェクトとしてディスプレイ上に示すことが含まれる。ディスプレイ上のオブジェクトは、例えば可変のサイズ、見かけ距離、カラー、明るさ、透明性、速度、変化するアニメーションを有することができる。例えば、限定はしないが、ユーザがどのプリンタを使用するかを判定中の場合、様々なプリンタを提示するアイコンを有するディスプレイでユーザに提示することができる。アイコンは、各プリンタの相対的人気を示すためにディスプレイ上で様々なサイズである。プリンタの相対的サイズは、ネットワーク上でどのプリンタが他のプリンタよりも一般的に使用されているかをユーザに示す。より頻繁に使用されているプリンタはより大きいプリンタアイコンで表され、あまり頻繁に使用されていないプリンタはより小さいプリンタアイコンで表される。このようにして、ユーザは、プリンタがユーザの必要にとって最良であるかを容易に判定することができる。
【００３４】
以下の例では本発明をさらに例示するが、もちろん、何らかの形で本発明の範囲を限定するものと解釈すべきではない。図７に、サーバ７０２、ハブ７０４、およびパーソナルコンピュータ（ＰＣ）アルファ７０６、ベータ７０８、およびオメガ７１０を含むネットワーク７００の一例を示す。ＰＣアルファ７０６とＰＣベータ７０８は既にそれぞれＡｐｐｌｅＴａｌｋおよびＴＣＰ／ＩＰプロトコルを使用してネットワークを介して通信中であることが図８からわかるであろう。ＰＣオメガ７１０が最近ネットワーク７００に接続され、トライバルナレッジモジュール２００が開始されている。ネットワークトラフィックをリッスンし、どのプロトコルがネットワーク７００上で使用されているかを判定するためにプロトコル発見コンポーネント２０２が使用されている。プロトコルが発見されたとき、プロトコル発見コンポーネント２０２は、必要なドライバをインストールおよびロードして、こうしたプロトコルを使用してＰＣオメガ７１０が通信することを可能にする。図９に示すように、この時、ＰＣオメガ７１０は、ＡｐｐｌｅＴａｌｋとＴＣＰ／ＩＰの両方を使用して通信するために必要なドライバをインストールする。
【００３５】
プロトコルがＰＣオメガ７１０上にインストールされると、図１０に示すように、このＰＣはネットワーク７００にクエリーを送り、ネットワーク７００に接続された他のＰＣを見つけることを試みる。ＰＣアルファ７０６やベータ７０８などのＰＣを発見すると、図１１に示すように、ＰＣオメガ７１０は、ネットワーク設定やネットワーク資源などの情報を求めて、発見したＰＣ（ボーティングＰＣ）にクエリーを送る。図１２で、ボーティングＰＣ７０６、７０８は要求された情報で応答し、それがＰＣオメガ７１０に送られる。この情報がＰＣオメガ７１０で受信されたとき、トライバルナレッジモジュール２００は、データベーステーブルなどのデータ構造２１２に情報を格納する。最後に、図１３に示すように、トライバルナレッジモジュール２００は、ユーザに関するデフォルト設定を自動的に選択し、かつ／またはダイアログボックスなどのユーザインタフェース要素１３００を使用して設定を選択するようにユーザに促す。こうした設定は、どの設定が最も「人気がある」かに基づいて、トライバルナレッジモジュール２００が選択または推奨することができる。上述のように、人気は、特定の設定がデータベース２１２内に出現する実例の数によって判定することができる。あるいは、またはそれに加えて、設定および推奨は、ＰＣの類似性および互いのＰＣの近さを考慮に入れる重み付けシステムに基づくことができる。図１３に示すように、プリンタ２がデータ構造２１２内で最も頻繁に出現しており、したがってユーザは、このプリンタをＰＣオメガ７１０に関するデフォルトプリンタとするようにユーザインタフェース１３００に促される。
【００３６】
ある代替実施形態では、ネットワーク設定またはネットワーク資源をポーリングコンピュータに直ちに適用することができ、ボーティングコンピュータからこの情報を受信したときにユーザインタフェースで提示することができる。例えば、図５のステップ５０８に続いて、要求されたネットワーク情報を直ちに適用することができ、またはユーザに提示することができる。情報がユーザに提示される場合、この設定または資源をポーリングコンピュータに適用するかどうかに関する決定を行うようにユーザに促すことができる。これは、例えばユーザがネットワークを介して通信するようにコンピュータをセットアップ中であり、ユーザがネットワークを介して通信中の別のコンピュータを既に気付いているときに有用である。
【００３７】
例えば、限定はしないが、ユーザは、情報クエリーコンポーネント２０８に、情報を求める要求を、ネットワーク上で通信するように既に構成されている他のコンピュータに送信させることができる。この情報が受信されると、ネットワーク設定および／または資源を自動的にポーリングコンピュータに適用することができ、本質的に、ボーティングコンピュータから設定および／または資源がミラーリングされる。これは、複数の新しいコンピュータを同時にセットアップしようと試みている人にとって有用である。ユーザは、新しいコンピュータのうちの１つでステップ５０２〜５１４を実施することができ、ユーザは、他のコンピュータにこのコンピュータをポーリングさせて、同一の設定／資源情報を取り出すことができる。同様に、ユーザは、ユーザの家で新しいコンピュータを構成中であり、ユーザのホームネットワーク上のユーザの他のコンピュータのうちの１つから設定および／または資源を複写したいことがある。ユーザは、新しいコンピュータにポーリングさせ、ユーザのホームネットワーク内の別のコンピュータの設定／資源を自動的に適用させることができる。ユーザのコンピュータに対して特定の設定または資源を適用する前に、ユーザがそれを見たいとき、ポーリングコンピュータ上のユーザインタフェース１３００などのユーザインタフェースに設定／資源を提示することができる。
【００３８】
本発明は、あるコンピュータについての情報が別のコンピュータに送られるときにプライバシー問題が存在することを考慮に入れることができる。したがって、ある設定および資源へのアクセスをボーティングコンピュータのユーザが制限することができる。例えば、ボーティングコンピュータのユーザは、ユーザが訪れるウェブサイトのすべてを共有することを望まないことがある。その代わりに、ユーザは、ユーザのお気に入りウェブサイトフォルダ内のウェブサイトだけを共有することを望むことがあり、またはユーザは、ユーザが共有することを望むウェブサイトだけに対するリンクを配置することができる共有ウェブサイトフォルダを確立することがある。したがって、情報を求める要求がポーリングコンピュータからボーティングコンピュータに送られるとき、ボーティングコンピュータのユーザが共有することを望む資源および設定だけが応答で送られることになる。さらに、ボーティングコンピュータのユーザが、情報を求めるどんな要求にも応答しないようにボーティングコンピュータを構成することを選ぶ場合、ボーティングコンピュータをそのように構成することができる。
【００３９】
本発明を説明する文脈での「ａ」および「ａｎ」および「ｔｈｅ」ならびに類似の指示対象（referent）は（特許請求の範囲の文脈では特に）、本明細書で別段の指示がない限り、または文脈によって明らかに矛盾するのでない限り、単数と複数のどちらも包含すると解釈すべきである。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｖｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、および「含む（ｃｏｎｔａｉｎｉｎｇ）」は、別段の注記がない限り、広い解釈ができる用語（ｏｐｅｎ−ｅｎｄｅｄ  ｔｅｒｍ）（すなわち「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ，ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ，）」を意味する）であると解釈すべきである。本明細書での値の範囲の詳述は、本明細書で別段の指示がない限り、単にその範囲内のそれぞれの別々の値を個々に参照する簡単な方法としての役割を果たすだけのものであり、それぞれの別々の値が、あたかも本明細書で個々に列挙されるかのように明細書に組み込まれる。本明細書に記載のすべての方法は、本明細書で別段の指示がない限り、または文脈によって明らかに矛盾するのでない限り、任意の適切な順序で実施することができる。本明細書で与えた任意かつすべての例、または例示的な言葉（例えば「など（ｓｕｃｈ  ａｓ）」は、本発明をより明確にするためのものに過ぎず、別段の主張がない限り、本発明の範囲を限定するものではない。明細書中の言葉は、特許請求の範囲に記載されていない何らかの要素が本発明の実施に不可欠であることを示していると理解すべきではない。
【００４０】
本発明を実施するための、発明者等にとって既知の最良の方法を含む本発明の好適実施形態が本明細書で説明される。こうした好適実施形態の変形形態が、上記の説明を読むときに当業者には明らかとなる。本発明者等は、そのような変形形態を適宜利用することを予期し、本発明者等は、本明細書で具体的に説明されたのとは異なる方法で本発明が実施されることを意図する。したがって、本発明は、準拠法によって許可される、本明細書に添付された特許請求の範囲に記載の主題のすべての修正形態および均等物を含む。さらに、本明細書で別段の指示がない限り、または文脈によって明白に矛盾するのでない限り、本発明のすべての可能な変形形態における上述の要素の任意の組合せが本発明によって包含される。
【図面の簡単な説明】
【００４１】
【図１】単純化したコンピューティング装置の図である。
【図２】本発明の教示によるトライバルナレッジモジュールを示す図である。
【図３】コンピューティング装置上のネットワーク通信層を示す概略図である。
【図４】ネットワークプロトコルを発見および適用するための流れ図である。
【図５】ネットワーク設定および資源を使用および／または発見するようにコンピューティング装置を構成するための流れ図である。
【図６】本発明の教示によるデータ構造の図である。
【図７】単純なネットワークの図である。
【図８】ネットワークトラフィックをリッスンするコンピュータを示す図である。
【図９】ネットワークを介して通信するコンピュータを示す図である。
【図１０】コンピュータがクエリーを送信してネットワーク上の他のコンピュータを発見することを示す図である。
【図１１】コンピュータがトライバルナレッジを求めるクエリーをネットワーク上の他のコンピュータに送信することを示す図である。
【図１２】コンピュータが図１１のトライバルナレッジクエリーに対する応答を受信することを示す図である。
【図１３】推奨されるネットワーク資源を選択するようにユーザインタフェースがユーザに促すことを示す図である。
【符号の説明】
【００４２】
２００  トライバルナレッジモジュール
２０２  プロトコル発見コンポーネント
２０４  ネットワーク設定コンポーネント
２０６  ネットワーク資源コンポーネント
２０８  情報クエリーコンポーネント
２１０  ネットワークプローブ
２１２  データ構造
２２０  ネットワーク
【図１】
2006254445.tif 000003
【図２】
2006254445.tif 000004
【図３】
2006254445.tif 000005
【図４】
2006254445.tif 000006
【図５】
2006254445.tif 000007
【図６】
2006254445.tif 000008
【図７】
2006254445.tif 000009
【図８】
2006254445.tif 000010
【図９】
2006254445.tif 000011
【図１０】
2006254445.tif 000012
【図１１】
2006254445.tif 000013
【図１２】
2006254445.tif 000014
【図１３】
2006254445.tif 000015