(57)【特許請求の範囲】
【請求項１】
複数の異なるネットワークの１つにコンピュータを接続する方法において、前記コンピュータに、
前記異なるネットワークの各々についての構成情報を獲得するステップであって、該構成情報は、該ネットワークの各々に対する接続から独立して獲得され、該ネットワークへの接続のために動作するデバイス媒体の型と、デバイスを一意に識別する識別子とを識別する、構成情報を獲得するステップと、
前記ネットワークの各々に対する構成情報をデータ構造に維持するステップであって、該データ構造は、他のネットワークと関連付けられた他のデータ構造とは独立するオブジェクトであり、メソッドおよびデータをその中に含む、データ構造に維持するステップと、
前記ネットワークの特定の一つに接続するためにユーザーからの要求を受信するステップと、
前記要求に基づいて当該ネットワークに対する前記データ構造に維持される構成情報を検索するステップと、
前記構成情報を前記システムにおいてイネーブルされたデバイスと調和させるステップであって、
該調和させるステップは、
前記検索した構成情報に、前記ユーザーから要求されるデバイスを示す前記識別子が含まれているかを判定するステップと、
前記識別子が含まれていない場合に、前記デバイス媒体の型に基づいて前記システムの中の両立性のあるデバイスを捜し出して、該デバイスを前記接続に利用可能なデバイスとして選択するステップと
を含む、調和させるステップと、
その検索され、かつ調和された構成情報に基づいてネットワーク接続パラメータの値をセットするステップであって、前記オブジェクトの少なくとも１つのメソッドを実行するステップを含み、
前記パラメータ値を介してネットワークに接続するステップと
を実行させることを特徴とする方法。
【請求項２】
前記構成情報は、
デバイスアダプタを含むデバイス媒体の型およびプロトコルを示すデータを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記調和させるステップは、
前記システムの中に新しくイネーブルされたまたはインストールされたデバイスを検出するステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
請求項１に記載の前記方法を実行するためのコンピュータ実行可能な命令を有するコンピュータ読み取り可能な記憶媒体。
【請求項５】
複数の異なるネットワークにコンピュータを接続するためのコンピュータシステムを構成するシステムにおいて、
前記異なるネットワークの各々についての構成情報であって、前記構成情報は、ネットワークへの接続のために動作するデバイス媒体の型と、デバイスを一意に識別する識別子とを示す情報であるデバイス情報を含み、ネットワークの各々への接続から独立して獲得される構成情報を獲得するためのユーザーインタフェースと、
不揮発性記憶装置と、
各々のネットワークに対する前記構成情報をメソッドおよびデータを含むオブジェクトであって、他のネットワークと関連付けられた他のデータ構造とは独立するオブジェクトとして前記不揮発性記憶装置に記憶されるデータ構造にストアする手段であって、前記ネットワークの内の一つに対する構成情報を他のいずれのネットワークの構成情報からも独立して前記オブジェクトのメソッドを介して検索することができるようにした手段と、
選択ネットワークとしてネットワークを選択する手段と、
その選択ネットワークに対するストアされた構成情報を検索する手段と、
前記構成情報を前記システムの中のデバイスと調和する手段であって、
前記調和する手段は、
前記検索した構成情報に、前記ユーザーから要求されるデバイスを示す前記識別子が含まれているかを判定する手段と、
前記識別子が含まれていない場合に、前記デバイス媒体の型に基づいて前記システムの中の両立性のあるデバイスを捜し出して、該デバイスを前記接続に利用可能なデバイスとして選択する手段と
を含む、調和する手段と、
前記調和された構成情報を適用して前記コンピュータシステムを前記選択ネットワークへ接続する前記オブジェクトの中の少なくとも１つのメソッドと
を備えたことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、一般的にはコンピュータおよびコンピュータネットワークに関し、より詳細には、コンピュータをコンピュータネットワークに接続するための改良された方法およびシステムに関する。
【０００２】
（発明の背景）
コンピュータユーザーのネットワークとの対話は、ますます増加傾向にある。しかし、コンピュータをネットワークに接続するために、セットアップすることは、人の気力をくじく仕事である。接続をセットアップするためには、現在ユーザーは、ユーザーがネットワーキング実装モデルを理解することを要求する高度に技術的なユーザーインタフェースで作業する必要がある。一般的に、ネットワーキングのためにコンピュータを構成するために、コンピュータユーザーは、個別にネットワーク構成オプションを手動で修正する必要があり、典型的にはネットワーキング構成要素のプロトコルスタックの属性値をインストールし、バインディングしおよび設定する。同時に、「アダプタ」、「プロトコル」、「サービス」および「バインディング」といった実装構成は、それらが提供する目的が何であるのかユーザーには知らせないので、平均的なユーザーにとって大抵は不可解なもしくは極端におびえさせるものになっている。
【０００３】
それにもかかわらず、コンピュータをネッワークに接続するように適切に構成するために、ユーザーは各々に対して正しいオプションを選択しなければならず、その正しいオプションは時々他のオプションの設定に依存して変更することがある。例えば、特殊なタイプのクライアントソフトウェアを使用するには、特殊なプロトコルを必要とすることがある。その結果、手動で、ネットワークパラメータを直接構成することは、かなりの数のユーザーエラーを起こしやすく、ネットワーク構成を助けるためのサポートコールが、多くかつ長引くことになる。
【０００４】
さらに、現在、コンピュータネットワーキングは、静的ネットワーク構成、すなわちいったん確立するとその後は変更されることはないと仮定している。しかし、このモデルは、本来備わっている短所を有する。その理由は、コンピュータは、ネットワーク構成の変更、コンピュータ配置の変更、ユーザー要求の変更などに基づいてネットワークと様々に対話することがますます要求されるからである。例えば、ユーザーは、オフィスではローカルエリアネットワーク（ＬＡＮ）に接続し、家庭ではワイドエリアネットワーク（ＷＡＮ）に接続することがある。物理的に同じコンピュータを双方の場所で使うならば、ユーザーは、他方のタイプの接続にするたびにコンピュータを再構成する必要がある。物理的に同じコンピュータを使わないとしても、ユーザーは、各々の接続に対する独立した一意的なユーザーインタフェースが提供され、さらに、すでに困難な構成プロセスを処理することになる。
【０００５】
（発明の目的および概要）
従って、本発明の目的は、ネットワーク構成を簡単にするための方法およびシステムを提供することにある。
【０００６】
この目的を達成するにあたり、静的なネットワーク構成モデルをコネクション型のネットワーキングモデルで置きかえることは、関連する目的である。
【０００７】
他の目的は、ユーザーが、複雑な手続きを実質的になくして選択されたネットワークへの接続を構成できる、上記に特徴づけた方法およびシステムを提供することにある。
【０００８】
さらに他の目的は、それぞれ異なった方法で異なるネットワーキング方法を提供するユーザーインタフェースを提供することにある。
【０００９】
さらにまた他の目的は、ユーザーが、エラーの機会を少なくしてコンピュータのネットワーク構成を容易に変更することができる方法およびシステムを提供することにある。
【００１０】
他の目的は、選択された構成オプションを、特定のコンピュータシステム上で利用できる実際の構成要素と自動的に調和させる方法およびシステムを提供することにある。
【００１１】
つまり、本発明は、異なるネットワークへ接続するようにコンピュータを構成する方法およびシステムを提供する。ユーザーからの入力を受信するために、ユーザーインタフェースを設け、その入力によりネットワークおよびその構成情報を識別する。構成情報は、不揮発性の記憶装置に保存されたデータ構造の中に情報を書き込むことによって、例えば、オブジェクトクラス情報およびパメータデータを各々のネットワーク接続に対してファイルシステム中のファイルに個別にストアして、おのおの異なるネットワークに対し独立して保存される。
【００１２】
コンピュータを選択されたネットワークに接続するために、構成情報を選択されたネットワークに対応するデータ構造から検索し、および接続をシステムの動作構成に対して検索された情報およびパラメータを適用することによって行う。プロセスは、接続オブジェクトで記述されたネットワーク構成要素をコンピュータシステム上で実際に提供されているネットワーク構成要素と調和させるために提供される。
【００１３】
他の目的および効果は、図と関連して以下に詳しく述べるところから明らかにされる。
【００１４】
（好適実施形態の詳細な説明）
（典型的な実行環境）
図１および以下の議論は、本発明を実施することができる適当なコンピュータ環境の簡単な概略の目的を提供することを意図している。必ずしも要求されないが、本発明は、パーソナルコンピュータによって実行されるプログラムモジュールのような、コンピュータが実行可能な命令に関連して説明される。一般的に、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データ型を実行する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。さらに、当業者にとって、本発明は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサ型またはプログラマブル民生電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等が含まれる他のコンピュータシステム構成においても実行できることが明らかである。本発明は、通信ネットワークによって接続された遠隔の演算装置によってタスクが実行される分散コンピューティング環境においても実行できる。分散コンピューティング環境においては、プログラムモジュールは、ローカルとリモートの両方の記憶装置に配置することができる。
【００１５】
図１を参照するに、本発明を実施する典型的なシステムは、慣例のパーソナルコンピュータ２０等の形態の汎用のコンピュータ装置を含む。このコンピュータには、演算装置２１、システムメモリ２２、およびシステムメモリを含む様々なシステム構成要素を演算装置２１に接続するシステムバス２３を含む。システムバス２３は、種々のバスアーキテクチャを使用したメモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含む、いくつかのバス構成のいずれでもよい。システムメモリは、リードオンリメモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。基本入出力システム２６（ＢＩＯＳ）は、スタートアップ時などにパーソナルコンピュータ２０内のエレメント間で情報の転送を助ける基本ルーチンを含み、ＲＯＭ２４に格納されている。パーソナルコンピュータ２０は、さらに、図示しないハードディスクに対し読み出しおよび書き込みを行うためのハードディスクドライブ２７、リムーバブル磁気ディスク２９に対し読み出しおよび書き込みを行うための磁気ディスクドライブ２８、およびＣＤ−ＲＯＭまたは他の光学的媒体などのリムーバブル光ディスク３１に対し読み出しおよび書き込みを行うための光ディスクドライブ３０を含むことができる。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、それぞれハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、および光ディスクドライブインタフェース３４によってシステムバス２３に接続されている。これらドライブとそれらに関連するコンピュータリムーバブル媒体は、コンピュータ読み取り可能な命令、データ構造プログラムモジュール、およびパーソナルコンピュータ２０に対する他のデータに不揮発性の記憶媒体を提供する。ここに述べた典型的な環境では、ハードディスク、リムーバブル磁気ディスク２９、およびをリムーバブル光ディスク３１用いているが、コンピュータによってアクセス可能なデータを保存することができる他の種類のコンピュータリムーバブル媒体も、当業者にとっては容易に理解することができる。典型的な動作環境において用いることができる、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭｓ）、リードオンリィメモリ（ＲＯＭｓ）などである。
【００１６】
多数のプログラムモジュールは、ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、またはＲＡＭ２５に格納することができ、多数のプログラムモジュールは、オペレーティングシステム３５（ファイルシステムを含むことを考慮してもよい）、１または２以上のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含む。ユーザーは、キーボード４０およびポインティングデバイス４２のような入力装置を通して、コマンドおよび情報ををパーソナルコンピュータ２０に入力することができる。他の入力装置（図示しない）としては、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が含まれる。これらおよび他の入力装置は、しばしばシステムバスに接続されたシリアルポートインタフェース４６を通して演算装置２１に接続されているが、他のインタフェース、例えば、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）によって接続してもよい。モニタ４７または他の種類の表示装置も、ビデオアダプタ４８のようなインタフェースを通してシステムバス２３に接続されている。モニタ４７に加えて、パーソナルコンピュータは、典型的にはスピーカーおよびプリンタのような、他の周辺出力装置（図示しない）を含む。
【００１７】
パーソナルコンピュータ２０は、リモートコンピュータ４９のように、１または２以上のリモートコンピュータに対する論理的な接続を用いて、ネットワーク環境において実行するよう構成される。リモートコンピュータ４９は、他のパーソナルコンピュータ、サーバー、ルーター、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードとすることができ、図１にはメモリ記憶装置５０のみが示されているだけであるが、典型的にはパーソナルコンピュータ２０に関連して上述した多くのまたはすべてのエレメントを含む。図１に示された論理的な接続は、ローカルエリアネットワーク（ＬＡＮ）５１、およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーク環境は、オフィス、企業の広域コンピュータネットワーク、イントラネットおよびインターネットではありふれたものである。
【００１８】
ＬＡＮネットワーキング環境の使用時に、パーソナルコンピュータ２０は、ネットワークインタフェースまたはアダプタ５３を経てローカルネットワーク５１に接続される。ＷＡＮネットワーキング環境の使用時に、パーソナルコンピュータ２０は、インターネットのようなワイドエリアネットワーク５２で、通信を確立するためのモデム５４または他の手段を含む。内蔵のまたは外付けのいずれでもよいモデム５４は、シリアルポートインタフェース４６を経てシステムバス２３に接続される。ネットワーク環境では、パーソナルコンピュータ２０に関連して示されたプログラムモジュール、またはそれらの一部分は、遠隔のメモリ記憶装置に格納されていてもよい。図示されているネットワーク接続は典型的なものであり、コンピュータ間の通信リンクを確立するための他の手段を使用することは理解されるだろう。本発明の目的に対して、上述したパーソナルコンピュータ２０は、ユーザーが他のコンピュータシステム、特にネットワークに接続することを要求するローカルデバイスとして用いることができる。
【００１９】
図２は、コンピュータが様々なネットワーク６０，６２に接続することができる方法のいくつかを例示している。図２の鎖線で囲まれた構成要素によって表わされるように、ユーザーは、ネットワークカード６４を通してシステム２０を、プロトコル６８としてＩＰＸを用いたNetwareクライアント６６として、ネットワーク６０（例えば企業ネットワーク）に接続することができる。一方、図２において点線で囲まれた構成要素によって表わされるように、ユーザーは、同じネットワークカード６４を通してシステム２０を同じ企業ネットワーク６０に接続することができるが、TCP/IPプロトコル７２を介してMicrosoftネットワーキングクライアント７０として接続することもできる。
【００２０】
さらに、ユーザーシステム２０は、リモートアクセスサーバー（ＲＡＳ）７４およびTCP/IPプロトコル７２を介して、モデム５４を通してインターネット６２へ接続することができる。一方、ユーザーは、モデム５４並びに、Microsoftネットワーキングクライアント７０およびTCP/IPプロトコル７２、またはNetwareクライアント６６およびＩＰＸプロトコル６８のどちらかを通して、インターネット６２へ接続することが可能である。明らかに導かれるように、多くの他のデバイス、プロトコル、サービス、ネットワーキングソフトウェア等は、ネットワークへの接続に対して他方に結びつけられてもよい。
【００２１】
本発明の一側面に関連して、図３に概念的に示すように、ネットワークの設定を変更する代わりに、ユーザーは、他のコンピュータへの接続に対応するネットワーキング構成要素（例えば、デバイス、プロトコル、バインディング情報など）の各々の組み合わせに対して、例えば、各ネットワーク接続に対して、接続オブジェクト７６1−７６nを生成する。一般的に、接続オブジェクトは、ユーザーのコンピュータと他のエンティティとの間の機能をサポートするリンクを提供する。例えば、各々の接続オブジェクト７６1−７６nは、特定のネットワークへ接続することを要求するネットワーキング構成の独立した記述を含んでいる。例えば、接続オブジェクト７６1は、クライアントソフトウェア情報８０、アダプタ情報８２、プロトコル情報８４およびバインディング情報８６を識別する。
【００２２】
図４に示すように、種々のネットワーキング情報は、ユーザーインタフェースから獲得することができる。例えば、ウィザードプロセス８８として提供されるユーザーインタフェースおよび／または変更可能な値を有する１または２以上の属性値シート９０である。ウィザードプロセスは、次表において示されたオプションを提供する。
【００２３】
【表１】
0004647096.tif 000002
【００２４】
ウィザードおよび属性値シートを加えて、特定のネットワークに対して構成情報を獲得する他の方法は、実行可能であり、使用することもできる。どのように情報を獲得するかに関係なく、接続オブジェクトは、特定のユーザー接続を特定のネットワークに関連づける情報が含まれている。例えば、図４に示すように、接続オブジェクト７６2は、接続がTCP/IPプロトコル７２といっしょにＬＡＮネットワークアダプタ６４で確実に使われることを識別し、およびMicrosoftクライアント７０として接続する。パラメータデータおよびバインディング情報８６は、その中にストアされている（例えば、ＬＡＮアダプタ６４はTCP/IPプロトコル７２に結びつけられる）。接続オブジェクト中の情報の各断片は、それ自身オブジェクトおよび／またはそれに関連したパラメータ値を含むことができる。
【００２５】
接続オブジェクト７６1−７６nは、その中にカプセル化されたメソッドおよびデータを有するデータ構造を含むことが望ましい。接続オブジェクトに共通の基本的なメソッドは、オブジェクトの構成情報を介してネットワークへ接続すること、または接続されている場合は切断することが含まれる。ネットワークへ接続するために、適合した構成情報が、後述するシステムの動作構成に適用される。
【００２６】
５つのオブジェクトのクラスが既に定義されている。ＬＡＮ、ダイアルアップ、直接接続、仮想私設網およびインバウンドクラスを含む。仮想私設網は、インターネットのような公衆網を通じて私設網への安全な接続に適用する。重要な利点として、付加的なメソッドは、オブジェクトの各クラスに対するルールを含むことができ、オブジェクトは、しばしば混乱する設定の多くをユーザーから隠すことができる。例えば、Netwareクライアントソフトウェア６６は、ＩＰＸプロトコル６８を使用しなければならず、Netware（例えば、ＬＡＮまたはダイアルアップ）を許容するオブジェクトクラスに対するメソッドは、ユーザーがいくつかの矛盾するコンポーネントを選択するのを妨げることができる。さらに、コンポーネントバインディングは、ユーザーにとって特にめんどうであり、実質的にユーザーから隠してしまうことができる。
【００２７】
本発明の一側面に関連して、多数の接続オブジェクトは、システム上で独立して存在しているので、各々の接続オブジェクトは、いくつかの現在の動作構成から独立したネットワーク構成の一意的なエレメントを維持する。その結果、ユーザーがネットワーク構成を変更することを望むとき、ユーザーは、新しい接続オブジェクトを選択するか、他の接続オブジェクトの属性値を変更することができ、その接続オブジェクトを現在の動作構成に適用することができる。よく知られているように（例えばWindows NTおよびWindows 95準拠システムにおいて）、いかなるネットワークコンポーネント情報にも対応する動作構成が、システムの登録に存在する。ゆえに、本発明の範囲内において、他のネットワークへ接続するために、接続オブジェクトのコンポーネントおよびパラメータ情報が、その登録の中に情報が書き込まれることによって動作構成に適用される。通常、コンピュータは、ネットワーク構成を変更するために、再スタートする必要はない。
【００２８】
さらに、接続オブジェクト情報は、不揮発性記憶装置に保存することができる（例えば、図１のハードドライブ２７）。より詳細には、接続オブジェクトを例示するのに必要な情報（例えば、クラスおよびパラメータデータ）を含む一意的に名づけられたファイルを、各接続オブジェクトに対して、ファイルシステムまたは同様のものに保存することができる。ここで単純化の目的ために、接続オブジェクト自身が名づけられていると考えることができる。さらに、オブジェクトおよび／またはファイルを要求するために、本発明を限定する意図ではない。むしろ、本発明は、いずれかのデータの集積を使うことを考慮する。そのデータは、ネットワークの一つの構成情報が、他のネットワークの構成情報から独立して生成され、保存され、検索され、運用され、および／または適用されることが可能である。
【００２９】
図５に示すように、接続オブジェクトの使用を簡単にするために、接続マネージャ７８は、フォルダ９６を通してユーザーとインタフェースをとり、接続オブジェクト７６1−７６nを管理する。ネットワーク接続は、一般に接続フォルダ９６の中のアイコンとして現れる（図６に示すように、典型的な画面は接続オブジェクトの細目を含む）。接続フォルダ９６は、接続オブジェクトのセットを表示する。その接続オブジェクトは、最初に作られたとき（新しい接続ウィザードを通して）または後に再度名づけられたときのいずれかに、ユーザーによって一意的な名称がつけられる。一例として、接続１（７６1）は、ユーザーによって「ＭＳＮ」と名づけられ、図２の「ＲＡＳ７４−TCP/IP７２−モデム５４−インターネット６２」接続オプションとして表される。接続２（７６2）は、「オフィス」と名づけられ、図２の「Microsoftネットワーキングクライアント７０−TCP/IP７２−ネットワークカード６４−企業ネットワーク６０」接続として表される。
【００３０】
まとめると、各々のネットワークに対してネットワーキング構成を遂行するために、ユーザーはウィザード８８または属性値シート９０を変更して、接続を構成し、要求されたサービスおよび通信メソッドをサポートする。コンピュータのネットワーキング構成は、その接続オブジェクト７６1−７６nのセットおよびそれらの属性値によって反映される。各々の接続オブジェクト７６1−７６nは、コンピュータを単一のネットワークへ接続する能力を表わし、いずれかの他の接続オブジェクトがコンピュータ上で存在することまたは動作することとは関わりない。
【００３１】
本発明の他の側面に関連して、各々の接続オブジェクト７６1−７６nは、接続の種類（例えば、ＷＡＮまたはＬＡＮ）に関わらず、異なる要素からなるユーザーインタフェースを提供する。これにより、オブジェクトは、異なる要素からなる接続を、それら基本的な接続メソッドに対してプロキシおよび入力点として働くユーザーインタフェースオブジェクトとして採用する。接続は、それらがサポートするネットワーキングの種類に関係なく、接続オブジェクトが保存され、アクセスされ、操作され、転送され、同じ方法で生成されおよび消滅されるようにする。
【００３２】
同様に、さらに識別された接続オブジェクトクラスが存在し、機能的なおよびユーザーのインタフェース要求を処理する。各々の接続オブジェクトは、基本的メソッドの同じセットをサポートし、同じ転送モデルに適合させ（例えば、ファイル転送）、およびその属性値を確実な属性として共用する。
【００３３】
例えば、システム内の各接続は、接続フォルダの中の対応する接続オブジェクトを有している。接続オブジェクトは、各接続のための構成の属性値およびメソッドの中の第１のユーザー入力点である。図７の属性値シート９０に示すように、各接続は、それに対して接続することを要求する最も基本的なパラメータを含む「一般」タブを有する。一般タブの目的は、接続の基本的な属性値への対話とアクセスを提供することで、例えば、接続が行われる以外には属性値に触れさせない。一般タブの属性値の例として、デバイス／媒体（全てのメソッドクラス）、電話番号（ダイアルアップ）、およびアドレス／ホスト名（トンネル）がある。
【００３４】
接続オブジェクトは、その属性値シート９０の中に「オプション」タブを提供する。オプションタブは、その接続に至るまで高いレベルの機能上でユーザー制御を提供する。オプションタブにおいて、クライアントとサービスは、すでにインストールされているが、与えられた接続のために作り出す必要はない。
【００３５】
接続は、プロトコル構成、暗号化、認証などのいくらか技術的な属性値に触れさせる必要があれば、「拡張」タブが接続インタフェース間で一貫性のある手段を提供する。「拡張」タブは、他のネットワークスタック構成のようにプロトコル構成がどこに存在するかを示す。
【００３６】
最後に、「認可」タブは、管理者やパワーユーザーに、接続のためにユーザーが有する権利を指定し、他方接続に対する案全性を管理する能力を与える。
【００３７】
本発明の範囲内において、与えられた機器の上で有効な動作中のデバイスまたは複数のデバイスに関連した接続オブジェクトが保存された情報を自動的に調和する機能が与えられる。一般的にデバイスを調和する目的は、ユーザーの要求に基づいて同時に保存されるデバイスの参照をデバイスから独立して維持することである。
【００３８】
例として、システム管理者により管理される多数のコンピュータが、ＬＡＮアダプタ５３に接続され、管理者は、そのアダプタ５３を使用する対応する接続オブジェクトを配備したいと要求することができる。同時に、特定のシステムが代わりにＬＡＮアダプタの他の接続を使用するとき、調和によって自動的に他の接続を試みるだろう。
【００３９】
調和を達成するために、システムは、世界的に一意的な識別子（ＧＵＩＤｓ）を利用する。良く知られているように、ＧＵＩＤは、１２８ビットの整数値で、ＣＯＭインタフェースおよびコクラスに対して世界的に一意的な識別子を指定するのに使用される。ＧＵＩＤｓは、ＧＵＩＤクラスのインスタンスにマッピングされる。
【００４０】
調和のために、システムは、デバイスインスタンスＧＵＩＤを解析する調和プロセス９２（図５）を提供し、デバイス媒体の型は、接続が適用された時に保存される。接続において使用されるデバイスに対するＧＵＩＤｓの保存は、次の機会に接続が活性化されていることを保証し、その動作は、デバイスハードウェアがシステム上で変更されない限り、同一である。これはまた、ユーザーへの問い合わせを必要とするかにかかわらず、いずれの調和手続も活性化された接続を要求し、与えられたハードウェア形態は、ただの一度だけ実行されることを保証する。
【００４１】
媒体の型を保存することは、たとえデバイスが異なる接続であってもまたは異なる能力を有していても、システムに、接続構成と両立しそうなデバイスを目標とすることを可能にする。媒体の型の例として、イーサネット、ファーストイーサネットトークンリング、ＦＤＤＩ、ＡＴＭ、ＩＳＤＮ、モデム、シリアルポートおよびパラレルポートを含む。
【００４２】
一般的に、調和の２つの段階は、２つの明瞭な目的を成し遂げるために提供される。第１の目的は、両立性のあるデバイスのシステム不足の結果として接続が利用できない時を示すためである。第２の目的は、接続の元のデバイスが利用できいと判断した後に、接続に係るデバイスをリセットすることである。
【００４３】
両立性のあるデバイスが利用不可能な時、結果としてそのようなデバイスはシステムから削除されるか、インストールされて、その非有用性が、接続フォルダ、タスクバーまたは接続が使用できないユーザーインタフェースを通して、ユーザーに示すために検出される。例えば、ネットワーキングデバイスがユーザーのドッキングステーションの中に存在するとき、およびポータブルコンピュータがドッキングされていない時（および有用な他の両立性のあるデバイスがないとき）、接続オブジェクトは、それらが利用不可能であることを示している。
【００４４】
代わりに、接続の元のデバイスが提供されていないが、両立性のあるデバイスが存在する時、調和は、接続によって特定されたデバイスのリセットの可能性を新しく検出されたデバイスに提供する。例えば、ユーザーがコンピュータの中のモデムまたはＬＡＮカードを置き換えた時、元のデバイスを参照するいずれかの接続は、元の参照のリセットに対して新しく利用可能なデバイスの参照を提供する。他の例として、システム管理者が接続オブジェクトを配備し複数のシステムで使用する時、接続オブジェクトは、分散接続オブジェクトに関連したデバイスのリセットに対して、エンドユーザーシステムの中の分散接続オブジェクトと関連するデバイスを提供する。
【００４５】
調和が引き起こされる一つのイベントは、接続フォルダ９６の中に接続オブジェクトが存在するときである。例えば、システム管理者が多数のシステムユーザーに新しい接続オブジェクトを分配する場合で、ユーザーが、ユーザーの機器の構成情報を使用するために、異なる機器から接続オブジェクトを獲得する場合である。
【００４６】
図８は、接続フォルダの中に転送されたとして接続オブジェクトが検出されたときの、調和プロセス９２による一般的なステップを示す。最初に、ステップ８００で、接続デバイス（ＧＵＩＤ）が、現在のシステム２０に既に存在するものとして認められるか否かを判断することが実行される。典型的には、デバイス状態情報が、プラグインプレイ技術として知られているように、自動的にデバイス状態検出手段９４を介してシステムに適用される。もしデバイスが存在するならば、ステップ８００からステップ８０２に分岐して、接続オブジェクトの中に維持されたデバイス情報は、機器上のデバイスに適合するようセットされる（通常は、いずれか更新が可能でない限り変化しない。）。
【００４７】
しかし、デバイスインスタンスＧＵＩＤが機器上に存在しなければ、システム上のいずれの動作デバイスも媒体の型に適合する（例えば、両立性がある）か否かを判断するステップ８０４実行される。もし適合しないならば、ステップ８０４からステップ８０６に分岐し、ユーザーインタフェースは、この接続が利用できないことを示すために必要な変更がなされる。一方、適合するならば、ステップ８０４からステップ８０８に分岐し、ユーザーインタフェースは、接続が利用可能であることを示すが、内部的には接続が調和しないことを記す。例えば、異なるイーサネットカードがデバイス上に存在するとき、ステップ８０４は、適合を検出して、接続が利用可能であることを示すが、内部的には接続が調和しないものとして記す。調和されない接続は、ユーザーに対して確立することまたはさらに情報を獲得することを要求することに使用することができる。
【００４８】
図９は、接続オブジェクトの中で特定されたデバイスが利用できない（削除または失敗）ときの、調和プロセス９２による一般的なステップを示す。そのイベントはデバイス状態検出コンポーネント（例えば、プラグアンドプレイ）９４によって検出される。ステップ９００では、いずれの接続も、接続オブジェクトの中のＧＵＩＤ領域で識別されたデバイスインスタンスを使用するか否かを判断することが実行される。使用しなければ、ステップ９００は、プロセスを終了し、利用できないデバイスに反映する何ら動作を必要としない。
【００４９】
しかし、もし接続がインスタンスＧＵＩＤを使用するならば、ステップ９００からステップ９０４に分岐し、接続オブジェクトの媒体の型が、システム上で動作するデバイスに対して比較され、両立性のあるデバイスが存在するかを見つける。もしなければ、ステップ９０４からステップ９０６に分岐し、接続オブジェクトは、ユーザーに対し、接続が利用できないことを示し、調和プロセスを終了する。一方、適合するならば、ステップ９０４からステップ９０８に分岐し、接続は利用可能であるとしてユーザーに示すが、内部的には調和しないことを記す。
【００５０】
図１０は、デバイスが新しくシステムの中にイネーブルされたかまたはインストールされたとして検出された（デバイス状態検出コンポーネント９４によって）ときの、調和プロセス９２による一般的なステップを示す。ステップ１０００〜１００２は、接続フォルダの中の多数の接続オブジェクトをスキャンし、いずれがデバイスのＧＵＩＤと同じインスタンスＧＵＩＤを指定するか判断し、指定するならば、これら接続が利用可能であることを示す。同様に、ステップ１００４〜１００８は、利用できないとして記された接続をスキャンし、インストールまたはイネーブルされたデバイスとして、同じ媒体の型のデバイスのいずれが使用されたか否かを判断し、同じ型のものは、ユーザーに利用可能であることが示され、内部的には調和しないことを記す。この方法で、新しい利用可能なデバイスが検出されると、適合した接続オブジェクトが更新される。
【００５１】
図１１は、接続が開始された（例えば、接続メソッドが始動されたとき）ときの調和ステップを示す。ステップ１１００では、接続によって特定されたデバイスインスタンスＧＵＩＤは、各々のデバイスがシステムの中で現在、動作中であるか確かめるためにチェックされる。そうであるならば、ステップ１１０２に分岐し、接続され、その後調和プロセスは終了する。そうでなければ、ステップ１１００からステップ１１０４に分岐して、システム上の他のデバイスが、接続オブジェクトの中に示された媒体の型に適合するか否かを判断するためにチェックされる。もし適合しないならば、ステップ１１０６は、適合するエラーメッセージを出し、プロセスを終了する（後述のユーザー承認など）。
【００５２】
しかし、ステップ１１０４でデバイスが適合すれば、２以上の動作デバイスが、接続オブジェクトの中に示された媒体の型に適合するか否か判断するためのステップ１１０８が実行される。そうであるならば、ステップ１１１０は、どのデバイスを使用するかユーザーに要求する。ユーザーは、デバイスを選択するか、接続をキャンセル（ステップ１１１４で、接続が中断される）することができる。ユーザー選択によって、または唯一適合するデバイスが存在するとき、唯一特定されたデバイスは媒体の型に適合するので、ステップ１１１２では、接続におけるデバイスは適合するデバイスにリセットされ、接続を行う。
【００５３】
図１２は、システムがＬＡＮに接続され、接続が要求されたときに実行されるネットワーク調和プロセスを示す。ステップ１２００では、ＬＡＮアダプタに接続するための２以上の接続オブジェクトが特定されているか判断するためチェックされる。特定されなければ、ステップ１２００からステップ１２０８へ分岐し、接続されたＬＡＮアダプタに特定された一つの接続オブジェクトが活性化される。
【００５４】
しかし、２以上のアダプタが特定されると、ステップ１２００からステップ１２０２に分岐し、提供されたとき、自動的にＬＡＮアダプタに接続する２以上の接続オブジェクトを見つける。自動接続に対して唯一の接続オブジェクトが特定されているか、ステップ１２０４で判断され、ステップ１２０８で接続オブジェクトが活性化される。一方、ステップ１２０４で２以上であれば、ステップ１２０６は、どの接続オブジェクトを使用するかユーザーに要求する。ユーザーが一つを選択すると、ステップ１２０８で接続オブジェクトが活性化され、他方ユーザーがキャンセルすると、ステップ１２１０で接続は中断される。
【００５５】
最後に、本発明は、動的ネットワークコンポーネントバインディングを提供する。これは、動作中のネットワークコンポーネントおよびその構成を、システムスタート後に再構成する能力を提供する。これは、接続オブジェクトおよびそれに対応するネットワーク構成を、コンピュータの再スタートを必要とせず柔軟に様々な組み合わせに適用する能力によってなされる。この結果、動作構成に適用するために接続オブジェクトが選択されたとき、動的ネットワークコンポーネントバインディングプロセス９８は、選択された接続オブジェクトに示された様々なコンポーネントを通し、これらコンポーネントがシステムで利用可能であるか否かを見つける。例えば、特定のネットカードが定義されているとき、プロセスは、そのカード（または両立性のあるカード）がシステム上に存在するか否かをチェックする。同様に、プロトコルおよび／またはクライアントソフトウェアのインスタンスが定義されたとき、プロセスは、そのインスタンスがロードされるか否かを決定し、それをロードして（可能であれば）、インスタンスを開始する。また、バインディングは、動的に選択され、コンポーネントに接続する。この方法で、選択された構成は、最小限のユーザー命令で適用することができる。
【００５６】
以上詳細な説明で見てきたように、ネットワーク構成を簡単にするシステムおよび方法を提供し、静的なネットワーク構成モデルをコネクション型のネットワークモデルに置きかえる。このシステムおよび方法は、ユーザーに、複雑な手続きを実質的に少くして選択されたネットワークへの接続を構成することを可能にし、異なった方法で異なるネットワーキングメソッドを提供するユーザーインタフェースを提供する。この方法およびシステムは、ユーザーに対し、エラーの機会を少なくしたコンピュータのネットワーク構成の簡単な選択を与え、自動的に特定のコンピュータシステム上で利用できる動作コンポーネントと共に選択された構成オプションの調和を与える。
【００５７】
本発明は、様々な変更および代替の構成に適合可能であり、図示された実施例は図中に明らかにされており、詳細は以上に述べた。本発明を開示された特定の内容に限定する意図はなく、さらに本発明は、すべての変更、代替の構成、および本発明の目的および要旨を逸脱することのない同様のものを含むことは理解されるであろう。
【図面の簡単な説明】
【図１】  本発明を組み込むことのできるコンピュータシステムを示すブロック図である。
【図２】  コンピュータをネットワークへ接続する多数の方法の一実施例を示すブロック図である。
【図３】  本発明の一形態に従って構成情報を保存するための接続オブジェクトの概念を表わす図である。
【図４】  本発明の一形態に従ってネットワークへ接続するための構成情報を有する接続オブジェクトを表わす図である。
【図５】  本発明の接続オブジェクト上で動作する種々のコンポーネントを示すブロック図である。
【図６】  接続フォルダを通してユーザーに提供されるユーザーインタフェースを示す図である。
【図７】  属性値シートを通してユーザーから構成情報を受信するためのユーザーインタフェースを示す図である。
【図８】  接続が接続フォルダに転送された時に生じる調和プロセスを示すフロー図である。
【図９】  システムデバイスが削除または消去されたことを検出した時に生じる調和プロセスを示すフロー図である。
【図１０】  システムデバイスがイネーブルまたはインストールされたことを検出した時に生じる調和プロセスを示すフロー図である。
【図１１】  接続が動作するのに先だって生じる調和プロセスを示すフロー図である。
【図１２】  ２以上の接続オブジェクトが取り付けられたＬＡＮアダプタを規定する時に生じる調和プロセスを示すフロー図である。
【図１】
0004647096.tif 000003
【図２】
0004647096.tif 000004
【図３】
0004647096.tif 000005
【図４】
0004647096.tif 000006
【図５】
0004647096.tif 000007
【図６】
0004647096.tif 000008
【図７】
0004647096.tif 000009
【図８】
0004647096.tif 000010
【図９】
0004647096.tif 000011
【図１０】
0004647096.tif 000012
【図１１】
0004647096.tif 000013
【図１２】
0004647096.tif 000014