(57)【特許請求の範囲】
【請求項１】
ユーザーがコンピュータネットワーク内のローカルコンピュータシステム(20)にログオンする時にユーザーについてのログオンデータを格納し、
ユーザーが独立システムリソースにアクセスする時に確認データを格納し、
更に、アプリケーション（50）からの独立ネットワークリソースにアクセスする要求に応答して、ログオンデータと格納された確認データとを用いて独立ネットワークリソースにアクセスすることを試みる
コンピュータネットワークの独立リソースにアクセスする方法であって、
前記アプリケーション（50）からの要求を、ネットワーク化アプリケーションプログラミングインタフェース（ＡＰＩ）をサポートする多重プロバイダルーター（52）が、サービスプロバイダインタフェース（ＳＰＩ）に適合してそれぞれ異なる型のネットワークへのアクセスを提供し且つ前記ログオンデータおよび確認データを共用する複数のネットワークプロバイダ(62,64,66)のうちの一つに、ルーチングするステップ、
前記ネットワークプロバイダ(62,64,66)が、異なるネットワーク型へのアクセスを提供する前記ネットワークプロバイダ(62,64,66)の間で共用される格納されたログオンデータを用いて、独立ネットワークリソースにアクセスを試みるステップ、及び
前記ネットワークプロバイダ(62,64,66)が、異なるネットワーク型へのアクセスを提供する前記ネットワークプロバイダ(62,64,66)の間で共用される格納された確認データを用いて、独立ネットワークリソースにアクセスを試みるステップ
を実行することを特徴とするコンピュータネットワークの独立リソースにアクセスする方法。
【請求項２】
確認データがキャッシュ(101)に格納されることを特徴とする請求項１に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項３】
キャッシュ(101)がローカルコンピュータシステム(20)の主記憶装置(38)中に存在することを特徴とする請求項２に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項４】
キャッシュ(101)中の確認データがログオンデータを用いて暗号化されることを特徴とする請求項２又は３に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項５】
独立ネットワークにアクセスする要求は、
アプリケーション（50）が、１又は複数のネットワークサーバー上で利用できるネットワークリソースを表示するためのユーザーからの要求を受信し、前記多重プロバイダルーター（52）およびネットワークプロバイダ(62,64,66)によりもたらされる列挙表示された利用できるネットワークリソースのうち接続すべきネットワークリソースを決定することをユーザーに促す走査検索をすることで行われ、
アプリケーション（50）が、決定されたネットワークリソースを含む１又は複数のネットワークサーバーとのコネクションを確立することにより独立ネットワークにアクセスする
ことを特徴とする請求項１乃至４のいずれかの項に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項６】
格納されたログオンデータ及び格納された確認データを用いてネットワークにアクセスする試みが両者共失敗した時には、ユーザーに対して確認データを入力するように促すことを特徴とする請求項３に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項７】
格納された確認データを用いてコンピュータが独立ネットワークリソースへのアクセスを試みる場合、
サーバー名(102)についてローカルコンピュータシステム(20)の主記憶装置(38)中のキャッシュ(101)をサーチすること、
キャッシュ(101)中にサーバー名が存在する場合は、キャッシュ(101)中のサーバー名に対応する格納された確認データを読取り、サーバー名(102)に対応するサーバーにアクセスするための格納された確認データを用いること
を含むことを特徴とする請求項６に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項８】
キャッシュ(101)中に格納された確認データが暗号化されることを特徴とする請求項７に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項９】
キャッシュ(101)中に格納された確認データがログオンデータを用いて暗号化され、且つ、ローカルコンピュータシステム(20)に対応するログオンデータがローカルコンピュータシステムに入力される時は、ローカルコンピュータシステムのユーザーがローカルコンピュータシステム(20)の主記憶装置(38)中のキャッシュ(101)に対してアクセスできることを特徴とする請求項８に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項１０】
独立ネットワークリソースにアクセスする要求が、特定のリソースを指定せずに、その独立ネットワークリソースを介して利用できるリソースを列挙する要求である場合、
その独立ネットワークリソースとのコネクションを確立すること、及び
そのコネクションを用いてその独立ネットワークリソースを介して利用できるリソースを列挙すること
を含むことを特徴とする請求項１に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項１１】
確認データがユーザー識別記号(104)及びパスワード(106)を含むことを特徴とする請求項１乃至１０のいずれかの項に記載のコンピュータネットワークの独立リソースにアクセスする方法。
【請求項１２】
コンピュータネットワーク中のクライアントコンピュータシステム(20)の記憶装置中に位置し、コンピュータネットワーク中の独立サーバーにアクセスするためのネットワークサブシステムであって、
ユーザーが独立ネットワークリソースにアクセスする時に確認データを格納する手段、
格納された確認データを用いて独立ネットワークリソースへのアクセスを試みる手段
を含むネットワークサブシステムにおいて
それぞれ特定のネットワーク型にアクセスするための機能を具え、確認データを格納するために共用キャッシュ(101)と通信し、異なる型のネットワークリソースにアクセスするための共用キャッシュ(101)に格納された確認データを用いるために動作し得る、複数のネットワークプロバイダ(62,64,66)、
アプリケーションプログラム(50)と通信を行いネットワークリソースの一つにアクセスする要求を受信し、且つ、ネットワークプロバイダ(62,64,66)と通信を行いそのネットワークリソースにアクセスする要求を対応するネットワークプロバイダにルーチングするための多重プロバイダルーター(52)、及び
それぞれのネットワークプロバイダ(62,64,66)に対応し、ネットワークリソースと通信を行うためのリディレクタ(68,70,72)
を具備することを特徴とするネットワークサブシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータネットワークに関し、特にコンピュータネットワーク上の独立リソースへのアクセスに関する。
【０００２】
【従来の技術】
コンピュータはしばしばネットワークに相互接続され、多数のコンピュータが通信しリソースを共用することが可能になっている。ネットワークの大きさは、数台のコンピュータとプリンタ及び他の装置からなる小さいローカルエリアネットワークから、巨大な地理的範囲に分布した多くの大小のコンピュータからなる極めて大きいネットワークまで、広い範囲に亘っている。ローカルエリアネットワーク即ちＬＡＮは通常多数のパーソナルコンピュータを含み、レーザープリンタ及び大型ハードディスクのようなリソースを共用する。ネットワーク中のコンピュータ及び他の装置が通信することを可能にするためには、同軸又は光ファイバケーブルのような通信リンクでネットワーク装置を相互に結ぶ。
【０００３】
クライアントサーバーモデルは、ローカルエリアネットワークについて広く用いられるネットワークアーキテクチャである。クライアントとサーバーの両者がインテリジェントでプログラマブルなコンピュータシステムである。クライアントは、通常ユーザー主体のアプリケーションプログラムを走らせるためのスタンドアロンのパーソナルコンピュータであり、サーバーは、データ管理を行い、クライアント間の情報を共用し、ネットワーク管理及びセキュリティ能力を持つ他のパーソナルコンピュータ又はもっと強力なコンピュータシステムである。サーバーは、プリンタ等のリソース、ディスクディレクトリ中のファイルの集積、又はファクス或いはモデム等の通信装置を共用するための管理アクセスを管理する。
【０００４】
現在設けられている多くのクライアント−サーバーネットワークにおいては、ネットワークが多数の完全に独立なサーバーリソースを含んでいる。この場合の「独立」とは、そのネットワークリソースが共用ではなく独立の確認データベースを持つことを意味する。このようなネットワークにおいては、ユーザーは、独立のネットワークリソースにアクセスするためには、ユーザー識別記号（ユーザーＩＤ）及びパスワードのような確認情報を登録しなければならない。セキュリティのこの形式は、コンピュータネットワークにおいて、コンピュータネットワークに対する歓迎されないアクセスを防ぐために不可欠である。しかしながら、多数の独立サーバーを含むネットワークにおいては、所定のリソースにアクセスするプロセスはユーザーにとって時間を浪費し混乱させるものである。
【０００５】
過去においては、サーバーリソースに対するアクセスを簡単にすることは重要な関心事ではなかった。ユーザーが通常必要とする一二のサーバーへのアクセスでは、その都度ネットワークにログオンしていた。この場合、サーバーへのアクセスは、ユーザーが自己のコンピュータを立ち上げてネットワークに接続する時に行うログオン手順の間に容易に処理することができる。
【０００６】
ネットワーク及びネットワーク技術が進歩するに連れて、ユーザーが多数の異なる独立サーバーにアクセスすることが稀ではなくなって来た。問題を複雑にするために、ユーザーは、常に同一のサーバーにアクセスすることを好まず、このため、ユーザーがアクセスする可能性のあるサーバーリソースを推定することができない。コンピュータネットワークにおける最近の動向は、ネットワーク中の各コンピュータがサーバーとして動作することができる「対等な」能力である。対等なネットワークでは明らかにユーザーが潜在的にアクセスできるサーバーの数が増加するので、各「サーバー」に対する簡易なアクセスが不可欠である。
【０００７】
ネットワークについて他の１つの重要な機能は、ユーザーがリソースを探すために１つのネットワーク又は一連のネットワークを選択的に走査検索することを可能にするネットワーク走査検索の機能である。この機能は更に、アクセスが簡単で、ユーザーにとって透明であることを要求する。代替技術は、ユーザーに対して、サーバーリソースの走査検索の対象の各サーバーに繰り返しユーザーの確認情報を登録することを要求するものである。
【０００８】
サーバーにアクセスする際の問題に対する１つの解は、ネットワークサーバー又はネットワークオペレーティングシステムソフトウェアの集中化ログオンの能力を強化することである。集中化ログオンをサポートするためには、ネットワークが全てのユーザーに対するログオンを処理するためのサーバーを含む。ユーザーが一度集中化ログオン手順を通して記録すると、そのユーザーは追加のサーバーリソースにアクセスするための特別なキーを獲得する。アクセスはユーザーに対して「透明」であり、全く見えない所で処理される。
【０００９】
【発明が解決しようとする課題】
不幸なことに、集中化ログオンの解は、サーバーソフトウェアの高価なアップグレードを必要とし、従って多数の実際に存在するユーザーのための実行可能な解ではない。現在存在するサーバーソフトウェアを引き続き使用しようとする大多数の人々にとっては、安価で同等の効果のある代替技術が必要である。
【００１０】
【課題を解決するための手段】
独立サーバーリソースに対応するこれらの欠点に鑑み、本発明は、独立ネットワークリソースに対するアクセスを行うための方法及びシステムを提供する。１つの実施例においては、独立ネットワークリソースにアクセスするための方法及びシステムは、クライアントコンピュータシステム中にロードされたネットワークサブシステムで実現される。このネットワークサブシステムは、通常のネットワーク化機能をサポートし、アプリケーションプログラムに対するネットワーク化インタフェースを実現する多重プロバイダルーターを含む。多重プロバイダルーターは、特定のネットワーク型にアクセスするためのネットワークプロバイダと通信を行う。オペレーティングシェルプログラムのようなアプリケーションがネットワークリソースにアクセスするための要求を行う場合は、多重プロバイダルーターがこの要求を適当なネットワークプロバイダに送る。
【００１１】
ネットワークサブシステムは、ネットワークリソースにアクセスするために必要なユーザー相互作用を最小にする。この実施例では、ネットワークサブシステムが確認データを格納するためのキャッシュを含み、それはシステムログオンからのログオンデータを保持する。独立サーバーにアクセスするため、例えばネットワークプロバイダが、それが存在するローカルコンピュータに格納されたログオンデータを用いる。これが成功しない場合、ネットワークプロバイダは確認データについてキャッシュをサーチする。アクセスされるべきサーバーに関する確認データがそのキャッシュに存在する場合、サーバーにアクセスするためにこのデータが用いられる。これらの試みが両者共失敗した場合、ユーザーが確認情報を登録することになる。この方法を用いれば、独立リソースへのアクセスは、通常要求するユーザーの介入を必要とせずに行われる。
【００１２】
本発明は、サーバーを独立リソースとして扱うネットワークにおいて有用である。このようなシステムにおいては、独立サーバーに対するアクセスを確認する問題があるため走査検索の機能をサポートすることは難しい。この問題は、多数のコンピュータがサーバーとして作用できるシステムにおいては、アクセスできるサーバーの数が増加するためなお一層悪化する。本発明は、自動的に確認を実行することにより、ユーザーとの相互作用を最小にしてこの問題を解決する。
【００１３】
【発明の実施の形態】
次に図面を用いて、本発明の利点と特徴について詳細に説明する。
図１は、本発明の方法及びシステムを実現するために用いられるコンピュータシステム20のブロック図である。クライアント−サーバーモデルに対応するコンピュータネットワークにおいては、クライアント及びサーバーシステムの両者がコンピュータシステム20のような同一の基本アーキテクチャを持つことができる。コンピュータシステム20は、基本構成要素としてコンピュータ22、入力装置24及び出力装置26を含む。
【００１４】
コンピュータ22は、一般にバス構造32を通して通信する中央処理ユニット（ＣＰＵ）28及びメモリーシステム30を含む。ＣＰＵ28は、計算を実行するための数学的論理ユニット（ＡＬＵ）33、データを一時的に格納するためのレジスタ34、及びアプリケーション又はオペレーティングシステムのようなコンピュータプログラムからの命令に応答してコンピュータシステム20の動作を制御するための制御ユニット36を含む。
【００１５】
メモリーシステム30は、一般的に、ランダムアクセスメモリー（ＲＡＭ）及びリードオンリーメモリー（ＲＯＭ）半導体デバイスのような媒体で形成される高速主記憶装置38、及びフロッピィーディスク、ハードディスク、テープ、ＣＤ−ＲＯＭ等、及び光学的、磁気的又は他の記録材料のような媒体で形成される二次記憶装置40を含む。主記憶装置38は、コンピュータのオペレーティングシステム及び現在走っているアプリケーションプログラムのようなプログラムを格納する。主記憶装置38は、更に表示装置によって画像を表示するためのビデオ表示メモリーを含む。
【００１６】
入力装置24は及び出力装置26は、バス構造32によってコンピュータ22に接続された代表的な周辺装置である。入力装置24は、キーボード、モデム、ポイント装置、ペン、又はコンピュータにデータを入力するための他の装置である。出力装置26は、表示装置、モデム、プリンタ、音響装置、又はコンピュータからデータを出力するための他の装置である。
【００１７】
コンピュータシステムがネットワーク中の他のコンピュータと通信することを可能にするためには、コンピュータシステムはネットワークアダプタを含む。コンピュータがネットワークを通してデータを転送することを可能にすると、ネットワークアダプタは、コンピュータの入力及び出力装置、24及び26の両者として動作する。ネットワークアダプタは、一般的にはコンピュータシステム20の拡張バス32に接続された拡張カードである。これに代わるものとしては、ネットワークアダプタは、ＰＣＭＣＩＡ(Personal Computer Memory Card International Association) ネットワークアダプタのような他の型の周辺装置であってもよい。ネットワークアダプタの型は、更にネットワークトポロジー（即ち、バス、リング、スター等の構成）、データ転送媒体（即ち、同軸ケーブル、ツイスト対、光ファイバケーブル）、及び装置の販売元に従って変わる。これらのネットワークアダプタは、容易に利用することができ、コンピュータ産業では良く知られている。
【００１８】
図１はコンピュータシステムの基本構成要素を説明するためのブロック図であることを理解すべきである。この図は、コンピュータシステム20について特定のアーキテクチャを示すことを意図するものではない。例えば、コンピュータシステムの構成要素を相互接続するために、コンピュータ設計の分野で知られた種々のバス構造が必要に応じて多くの方法で用いられるので、特別のバス構造が示されている訳ではない。ＣＰＵ28は、個別のＡＬＵ33、レジスタ34及び制御ユニット36からなっているか、又はマイクロプロセッサのようにＣＰＵのこれらの部分の１又は複数が集積されている単一の装置である。更に、コンピュータシステムの構成要素の数及び配置は、図示し既知の技術として説明したものと異なることがあり得る。
【００１９】
コンピュータネットワークは種々の異なるコンピュータ及びネットワークプリンタ及びモデムのような付加装置を含むことができる。クライアント−サーバーアーキテクチャにおいては、パーソナルコンピュータがネットワーク中のクライアント及びサーバーの両者として動作できる。これに加えて、ミニコンピュータ又はメインフレームのようなより大きいコンピュータもまたクライアントとしてもサーバーとしても動作し得る。パーソナルコンピュータは、ディスクアレイの制御装置として機能することができる。ディスクアレイは、ディスクドライブの大集積に対する入力／出力（Ｉ／Ｏ）を管理するための処理パワーの大きな部分を用いるサーバーの１つの特別な種類である。パーソナルコンピュータは、更に共用モデムへのアクセスを制御する通信サーバーとして動作し得る。サーバーは、一般的に、ネットワークトラヒックの管理、ネットワーク上で多く使われる共通プログラム又はデータの格納等のタスクを実行する。ネットワーク中の全てではないとしても殆どのコンピュータがクライアントとサーバーとの両者として機能できるため、計算パワー及び記憶装置の増加に従って、クライアントとサーバーとの区別は重要ではなくなって来ている。
【００２０】
従来技術の項で概説したように、或る種のネットワークはサーバーを独立ネットワークリソースとして扱う。これは、アプリケーションがネットワークリソースにアクセスする必要が生じる度毎に確認情報を用いる必要があるため、ユーザー及びアプリケーションの開発者にとって問題である。確認情報は、ネットワークリソースに対するアクセスを得るために用いられ、ネットワークリソースへの歓迎されないアクセスに対するセキュリティを提供するために用いられるデータである。確認情報は、通常パスワード及びユーザー識別記号（ユーザーＩＤ）を含むが、別の形式であってもよい。本発明は、確認プロセスによって提起される問題を、独立リソースにアクセスするための方法及びシステムを提供することによって解決する。
【００２１】
図２は、本発明の実施例が実行されるネットワークサブシステムのアーキテクチャのブロック図である。クライアントのコンピュータシステムのメモリー中にロードされると、ネットワークサブシステムは、アプリケーションプログラム50（オペレーティングシステムシェルプログラムを含む）が１又は複数のネットワークにアクセスすることを可能にする。ネットワークサブシステムは、多重プロバイダルーター52、１又は複数のネットワークプロバイダ62、64、66、各ネットワークプロバイダに対応するリディレクタ68、70、72、各リディレクタに対応するネットワークトランスポート74、76、78、及びネットワークアダプタドライバ80を含む。
【００２２】
図２に示されたネットワークサブシステムは、本発明が実行されるアーキテクチャのほんの一例に過ぎない。このネットワークサブシステムは、マイクロソフトコーポレーション（Microsoft Corporation ）製のウィンドウズ９５オペレーティングシステムに対応することができるネットワークサブシステムの一例である。本発明は、この特別なサブシステムアーキテクチャに限定されないことが理解されるべきである。
【００２３】
多重プロバイダルーター52は、アプリケーション50のための共通ネットワークインタフェースを提供する。多重プロバイダルーター52は、ダイナミックリンクライブラリ（ＤＬＬ）であり、これはネットワークアプリケーションプログラミングインタフェース（ＡＰＩ）82をサポートするためのコードを含む。多重プロバイダルーター52は、共通ネットワーク機能を単一ＤＬＬ中に実現することにより、多重ネットワークをサポートするために必要なコードの複製を避ける。多重プロバイダルーター52はＤＬＬであるため、これは、オペレーティングシステムシェルプログラムを含むアプリケーションプログラム50によって共用される。多重プロバイダルーター52は、アプリケーション50に対するインタフェースを提供し、これにより、ネットワークディレクトリ、プリンタ及び他のネットワークリソースのようなネットワークリソースについて、確認情報中での継ぎ目のない走査検索を可能にする。アプリケーションの視点からは、多重プロバイダルーター52は多重ネットワークに跨がる確認要求の矛盾しない処理を提供する。
【００２４】
アプリケーションは、ネットワーク化ＡＰＩ82を用いる機能に関係するネットワークを形成する。ネットワーク化ＡＰＩは、ネットワーク接続を作り又は壊す機能、ネットワークリソースを列挙する機能、エラーを報告する機能、格納するためにパスワードキャッシュにアクセスする機能、及びユーザーに確認情報の入力を促す機能を含む。多重プロバイダルーターは、初期には全てのネットワーク化ＡＰＩを処理するが、それはまたいくつかのＡＰＩを適当なネットワークプロバイダモジュールにルーチングすることもある。このネットワーク化ＡＰＩ82は「ウィン３２ネットワーク化ＡＰＩ仕様書」(Win32 Networking API Specification)（文献Ａ）に詳細に説明されている。
【００２５】
図２に示されたネットワークサブシステムは、サービスプロバイダインタフェース（ＳＰＩ）84に適合する多くのネットワークプロバイダを含むことによって多くの異なるネットワークをサポートすることができる。ＳＰＩの詳細な仕様は「シカゴ／ウィン３２ネットワークプロバイダＳＰＩ仕様書」(Chicago/Win32 Network Provider SPI Specification)（文献Ｂ）を参照するとよい。ＳＰＩ84は、ネットワークをサポートするためにネットワークプロバイダ62、64、66中で実行される一連の機能を含む。ネットワークプロバイダに具えられた機能にアクセスするために、アプリケーションはネットワーク化ＡＰＩ82中の機能を呼出す。多重プロバイダルーター52は、次にこれらの機能を適当なネットワークプロバイダ62、64、66のＳＰＩ84に移す。全てのネットワークに共通の機能が、多重プロバイダルーターで一度に実行され、多重プロバイダルーターは各ネットワークプロバイダのコードベースを減らし、ネットワーク間の挙動を共通にする。ネットワークに特有の機能は、ネットワークプロバイダ62、64、66で実行される。
【００２６】
各ネットワークプロバイダはＳＰＩを実現するダイナミックリンクライブラリである。ネットワークプロバイダはＳＰＩにおける全ての機能を実現することはないが、諸機能の部分的な組を実現することができることに注意すべきである。ネットワークプロバイダでサポートされるＳＰＩ機能は、ユーザーの識別、デバイスリディレクション、シェルインタフェース、列挙、確認、及びコンフィギュレーションの機能を含む。これらのＳＰＩ機能は、文献Ａに詳細に説明されている。
【００２７】
デバイスリディレクション機能は、多重プロバイダルーターでサポートされた接続機能のターゲットである。これは文献Ｂの９−１６を参照するとよい。これらはネットワークリソースとドライブ記号又はプリンタのデバイス名のようなネットワークリソース名との間の対応を形成する。
【００２８】
シェルインタフェース機能は、ユーザーのために、ネットワークレイアウト及び接続されているリソースの表示を助ける。これは文献Ｂの１８−２０を参照するとよい。ＮＰサーチ対話機能と呼ばれる特別の機能は、ネットワークプロバイダが対応するネットワークの視点でそれを表示できるようにすることにより、シェル走査検索機能を拡張する。
【００２９】
列挙機能は、ネットワーク走査検索をサポートするためにネットワークプロバイダが用いる機能である。これは文献Ｂの２０−２８を参照するとよい。
確認機能は、ネットワークプロバイダが、多重プロバイダルーター52によって制御された、ネットワークログオン及びログオフ手順に関与することを可能にする。
【００３０】
ネットワークプロバイダ62、64、66の利点は確認情報を共用することである。この機能は、例えば複数のネットワーク間のリソースに対する走査検索をサポートするために有用である。ネットワークプロバイダは、そのネットワークプロバイダが存在するローカルコンピュータシステムに対して、アクセスするために用いられるユーザー名及びパスワードを含むログオン情報を共用することができる。同様に、ネットワークプロバイダは、ネットワークリソースに対する接続の履歴からの確認情報を含む、パスワードキャッシュ中の確認情報を共用することができる。
【００３１】
ネットワークソフトウェアの販売元は、ＳＰＩ82に適合するネットワークプロバイダを開発することによって、このネットワークサブシステムにクライアントサポートを組み込むことができる。図２は、それぞれ別個のネットワークをサポートする３つのネットワークプロバイダ62、64、66を持つネットワークサブシステムの例を示す。この実施例においては、独立サーバーリソースにアクセスを行うためのサポートは、第一義的には「ＮＰＮＷ．ｄｌｌ」と呼ばれるネットワークプロバイダ62中に位置する。以下に更に詳細に説明するように、ネットワークプロバイダＮＰＮＷ．ｄｌｌ62は、ノベルネットウェア  バージョン３(Novell NetWare Version 3)ネットワークシステムをサポートするためのモジュールに関する。「ネットウェア３」(NetWare 3) は、ノベル社(Novell,Inc.) から販売されたネットワークソフトウェア製品の一バージョンの名称である。
【００３２】
本発明は、更に、ネットワークリソースが独立リソースとして扱われる種々のネットワークシステムに用いることができる。本発明は、この実施例に限定されるものではなく、独立ネットワークリソースへのアクセスに問題がある全てのネットワークを対象とするものであることが理解されるべきである。マイクロソフト社からの製品或いは他の販売元からの製品においても、ネットワークプロバイダＮＰＮＷ．ｄｌｌに加えて、ネットワークサブシステムが付加的にネットワークプロバイダ64、66を含むことができる。
【００３３】
ネットワークプロバイダ62、64、66は、リディレクタ68、70、72を用いて、これに対応するネットワークへ又はネットワークからデータを転送する。一般的に、リディレクションは、通常ターゲット又はソースとなるファイル又はデバイスと異なるファイル又はデバイスへの書込み又はこれらからの読出しのプロセスである。ネットワークにおいては、リディレクタは、遠隔のファイルシステム又はデバイスに対するデータの読出し又は書込みを制御する。このサブシステムにおけるリディレクタは、特定の遠隔ファイルシステムの特定のセマンティクスを再指示する。リディレクタは特定のネットワークに対して特定的に書込まれるので、リディレクタは、一般的にはネットワーク販売元によって提供される。例えば、ノベル社のネットウェア３ネットワークソフトウェアについては、ノベル社がリディレクタを提供し、アプリケーションプログラミングインタフェースを販売し、他とそれとの調和が取れるようにする。マイクロソフト社から販売されたワークグループのためのウィンドウズのような他の型のネットワークに対しては、ネットワークサブシステムがコンパチブルリディレクタを含む。
【００３４】
ネットワークトランスポート74、76、78は、ネットワークトランスポートプロトコルに特有のデバイスとなる。ネットワークデータの実際の発信及び受信に際して、リディレクタがトランスポートを呼出す。各リディレクタは、別個のトランスポートを用いることができる。しかしながら、このネットワークサブシステムではリディレクタ及びトランスポートの機能が明らかに分離しているので、複数のリディレクタが同一のトランスポートを用いることも可能である。市販されているトランスポートモジュールのいくつかの例には、マイクロソフト社のＮＥＴＢＥＵＩ及びノベル社のＩＰＸ／ＳＰＸが含まれる。種々のネットワークトランスポートが用いられるが、それらは対応するリディレクタに適合したものでなければならない。
【００３５】
ネットワークドライバインタフェース仕様（ＮＤＩＳ）86は、販売元に依存しないソフトウェア仕様であり、全てのネットワークトランスポートと下層のデバイスドライバとの相互作用を定める。ＮＤＩＳ86は、複数のトランスポート74、76、78に対して、対応するデバイスドライバとして同一の物理的ネットワークアダプタ80の利用を可能にする。
【００３６】
ネットワークアダプタドライバ80は、コンピュータシステム20のネットワークアダプタカードのような物理的ネットワークハードウェアを制御する。ネットワークアダプタドライバ80は、ネットワークトランスポートと協働して、ネットワークを通してデータパケットを送信し受信する。良く知られているように、市販されているアダプタドライバ80は多数あり、本発明においてはドライバの特定のバージョン又は型を必要とはしない。
【００３７】
ネットワークサブシステムについて既に述べたので、ここで独立ネットワークリソースにアクセスする方法を説明することが可能になった。図３は、本発明の実施例により独立ネットワークリソースにアクセスするステップを示す。
【００３８】
独立ネットワークリソースにアクセスするプロセスは、アプリケーション又はシェルがネットワークリソースへのアクセスを要求することによって始められる。これは例えば、ネットワークリソースの走査検索を行う時、又はアプリケーションが特定のネットワークリソースに接続することを要求する時に生起する。最初、ネットワークプロバイダが、接続が既に存在するか否かを決定する（90）。このステップ９０はネットワークに特有であり、従ってネットワークの各々の型に対して要求する必要はない。ネットウェア３ネットワークをサポートするネットワークプロバイダについては、ネットワークプロバイダ（ＮＰＮＷ．ｄｌｌ）62が、サーバーに対して、クライアントが既に確認されたか否かを決定するための要求を送信する。クライアントが既に確認されたことは、クライアントとサーバーとの間に既に接続が確立されていることを意味する。接続が既に存在すれば、ネットワークプロバイダ62が確認情報を提供する必要がなく、リソースにアクセスするプロセスは終了する。
【００３９】
接続が存在しない場合は、ネットワークプロバイダ62は次にアクセスされるべきリソースが利用可能か否かを決定する（92）。「利用可能」とはそのネットワークリソースが下層リディレクタによってサポートされたネットワークインタフェースを通してアクセスすることができることを意味する。ネットウェア３ネットワークの例では、アクセスされるべきサーバーがアクティブであり、ネットワークコアプロトコル（ＮＣＰ）をサポートし、且つ新しい接続を作ることが可能ならば、ネットワークサーバーが利用可能である。サーバーが新しい接続を作ることが可能か否かについては、いくつかのサーバーは、それらがサポートできる接続の合計数に限界を有する。従って、接続の数がこの限界にある場合はサーバーは「利用不可」である。ネットワークリソースが利用不可ならば、ネットワークは、リソースが利用不可である旨を識別するエラー信号を返す（94）。
【００４０】
ネットワークリソースが利用可能の場合は、次にネットワークプロバイダがログオン情報を用いてサーバーにアクセスすることを試みる（96）。ログオン情報は、マスターログオンの間に登録されたユーザー名及びローカルコンピュータシステムをログオンするために登録されたパスワードを含む。ログオン情報はＲＡＭに格納され、更に特別な場合はネットワークプロバイダ62のコード空間に格納される。ログオン情報を用いたサーバーへの確認アクセスの試みが成功すると（98）、独立リソースにアクセスする方法が終了する。
【００４１】
上記のログオン情報は、単に１つの実施例に用いられた情報の型の一例に過ぎない。異なるシステムは異なるログオン情報を用いるので、ログオン情報は、本発明の範囲を逸脱することなく変化し得ることに注意すべきである。
【００４２】
ログオン情報を用いたサーバーへの確認アクセスの試みが失敗すると、次にネットワークプロバイダは、サーバーに対する確認情報がローカルパスワードキャッシュに格納されているか否かを決定する（100 ）。パスワードキャッシュは確認情報を格納するためのデータ格納手段である。パスワードキャッシュは、以前にアクセスされたことのあるサーバーに対する確認情報を格納する。例えば、ユーザーがネットウェア３ネットワーク上の遠隔サーバーについてのディレクトリにアクセスすると、このサーバーに対する確認情報がキャッシュされる。次回ユーザーがその特定のサーバーにアクセスする必要が生じた場合、パスワードキャッシュに格納された確認情報がサーバーへのアクセスに用いられる。
【００４３】
図４はパスワードキャッシュ101 の構造を示す。パスワードキャッシュ構造101 は、サーバー名102 、ユーザーＩＤ104 及びパスワード106 を識別するための部分を含む。この特定の実施例においては、ユーザー名及びパスワードは共にストリング108 に空値即ち零で分離されて置かれている。これは本発明において必須ではなく、この構造がユーザーＩＤとパスワードとに対して分離されたフィールドを持っていてもよい。パスワードキャッシュ101 は、ローカルコンピュータシステムの主記憶装置に保持される。ユーザーのオプションにより、パスワードキャッシュ101 のデータはローカルコンピュータシステムの二次記憶装置（例えばハードディスク）に書込まれる。追加のセキュリティが必要なら、パスワードキャッシングを無効にすることができる。
【００４４】
セキュリティのため、パスワードキャッシュ101 はシステムログオンユーザー名又はＩＤ及びパスワードを用いて暗号化される。ユーザーが自己のローカルコンピュータシステムでログオンに成功すると、ネットワークプロバイダ62、64、66及びアプリケーションプログラム50によって、パスワードキャッシュが利用可能にされる。
【００４５】
パスワードキャッシュ101 がアクセスされるべきサーバーに対する確認情報を含んでいるか否かを決めるために、ネットワークプロバイダがサーバー名についてパスワードキャッシュ101 をサーチする。サーバーに対する確認情報が格納されておれば（116 ）、ネットワークプロバイダがその確認情報を用いてサーバーに接続する（118 ）。
【００４６】
他方、パスワードキャッシュがサーバーに対する確認情報を持っていない場合は、次にネットワークプロバイダはユーザーに対して確認情報を求めなければならない（120 ）。ネットワークプロバイダは確認対話機能を呼出してユーザーから情報を得ることができる。このサービスは文献Ｂの４５頁冒頭に記載されている。
【００４７】
このようにしてネットワークサブシステムが独立ネットワークリソースにアクセスするので、ユーザーとの相互作用が最小になる。ログオンデータが必要な確認データを供給せず且つパスワードキャッシュが必要な確認データを含んでいない場合にのみ、ユーザーが確認情報を登録することが必要になるに過ぎない。従って、ユーザーは確認情報を繰り返し登録することなしに、例えばリソースを走査検索することができ或いは遠隔プリンタへの接続を要求することができる。
【００４８】
上記のネットワークサブシステムは、アプリケーションが独立ネットワークリソースに対して行うアクセスを簡易化する。オペレーティングシステムシェルプログラムのようなアプリケーションは、プリンタ又はファイルシステム本体に対応するドライブ記号のような特別なデバイスを特定せずに、サーバーに接続するための追加接続機能を利用することができる。これにより、オペレーティングシステムが走査検索機能をサポートすることが可能になる。走査検索の間に、デバイス又はファイルシステム本体を特定せずに、シェルプログラムがサーバーへの接続を確立することができ、サーバー上で利用可能なデバイスが接続を用いて列挙される。デバイス名を特定せずにサーバーに対する接続を開設する能力は、更に、他のアプリケーションのためのネットワークリソースに対するアクセスを簡易化することができる。例えば、サーバーに対する接続を設定するためにシェルプログラムが利用でき、従って、接続を確立するために必要な確認機能をサポートすることなしに、他のアプリケーションがサーバーにアクセスすることができる。
【００４９】
セキュリティが重要である環境においては、ユーザーの相互作用なしの独立リソースへのアクセスを無効にすることができる。追加のセキュリティを具えるためには、独立ネットワークリソースが接続を確立するために確認されることを必要とする度毎に、ユーザーが毎回確認情報を入力するようにすることができる。これに加えて、確認情報のキャッシングを無効にすることもでき、これにより、ネットワークサブシステムに組み込まれた確認機能は利用できなくなる。確認機能をオプションにすることにより、ネットワーク管理者は、必要に応じてネットワークをより安全にすることができる。
【００５０】
これまでの記載において本発明は特定の実施例について説明されたが、実施例に対して本発明の範囲を逸脱しない多くの変形が可能であることが理解されるべきである。例えば、ネットワークサブシステムの機能が、多数の異なるネットワークシステムアーキテクチャで実現され得る。共通ネットワーク化機能を共用ＤＬＬにおいて実現することが好ましいが、これは請求されていない。更に、ネットワークプロバイダがＤＬＬにおいて共通サービスプロバイダインタフェースにより実現することが好ましいが、これも請求されていない。
【００５１】
本発明による方法は、本発明の範囲を逸脱せずに変形することができる。例えば、各ステップを異なる順序で実行することができる。ネットワークリソースにアクセスするために、ログオンデータを供給する前に、最初にパスワードキャッシュ中の確認データを供給することができる。パスワードキャッシュに格納される情報を最小にすることが好ましいが、データの型及び格納期間が変わり得る。キャッシュを暗号化する構造及び方法も同様に変えることができる。多くの他の変形が可能である。
【００５２】
本発明の原理を含む多くの可能な実施例があり得るとの観点から、ここに記載された細部の実施例は説明のためのみのものであり、本発明の範囲を限定するものと受け取られるべきではないことが強調されなければならない。本発明の特許請求の範囲は、本発明の範囲及びその精神に含まれる実施例及びそれに等価の実施例の全てを含むように意図されている。
【図面の簡単な説明】
【図１】本発明の方法及びシステムを実現するために用いられるコンピュータシステムのブロック図である。
【図２】本発明の実施例が実行されるネットワークサブシステムのアーキテクチャのブロック図である。
【図３】本発明の実施例により独立ネットワークリソースにアクセスするステップを示すフローチャートである。
【図４】本発明の実施例によるパスワードキャッシュの構造を示す図である。
【符号の説明】
２０  コンピュータシステム
２２  コンピュータ
２４  入力装置
２６  出力装置
２８  中央処理ユニット（ＣＰＵ）
３０  メモリーシステム
３２  バス構造
３３  数学的論理ユニット（ＡＬＵ）
３４  レジスタ
３６  制御ユニット
３８  主記憶装置
４０  二次記憶装置
５０  アプリケーションプログラム
５２  多重プロバイダルーター
６２、６４、６６  ネットワークプロバイダ
６８、７０、７２  リディレクタ
７４、７６、７８  ネットワークトランスポート
８０  ネットワークアダプタドライバ
８２  アプリケーションプログラミングインタフェース（ＡＰＩ）
８４  サービスプロバイダインタフェース（ＳＰＩ）
８６  ネットワークドライバインタフェース仕様（ＮＤＩＳ）
１０１  パスワードキャッシュ
１０２  サーバー名
１０４  ユーザーＩＤ
１０６  パスワード
１０８  ストリング
【図１】
0004173563.tif 000002
【図２】
0004173563.tif 000003
【図３】
0004173563.tif 000004
【図４】
0004173563.tif 000005