(57)【要約】【課題】クライアントのハードウエアに適合したデバイスドライバを動的に組み込む。【解決手段】クライアント２０の機種情報を取得し、取得された機種情報をパラメータとして、機種情報により特定されるハードウエアに適合したデバイス情報をサーバ１０に問い合わせ、サーバ１０から返却されたデバイス情報に基づいて、クライアント２０に必要なデバイスドライバをサーバ１０から動的に組み込む機能をクライアント２０に実現させるプログラムをサーバ１０上に記録保持する。そして、コンピュータネットワークに接続されたクライアント２０が起動されたときに、このプログラムをクライアント２０に転送する一方、クライアント２０からサーバ１０にデバイス情報の問い合わせがあったときに、機種情報により特定されるハードウエアに適合したデバイス情報をクライアント２０に返送するようにする。【選択図】　図２
2004046587.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを経由してクライアントが接続されたサーバで動作するプログラムであって、
サーバ上で記録保持され、クライアントの機種情報を取得し、取得された機種情報をパラメータとして、該機種情報により特定されるハードウエアに適合したデバイス情報をサーバに問い合わせ、サーバから返却されたデバイス情報に基づいて、クライアントに必要なデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、前記クライアントが起動されたときに、該クライアントに転送する第１のプログラム転送機能と、
前記デバイス情報の問い合わせがあったときに、前記機種情報により特定されるハードウエアに適合したデバイス情報をクライアントに返送する第１のデバイス情報返送機能と、
をサーバに実現させるためのデバイスドライバ組込プログラム。
【請求項２】
前記第１のデバイス情報返送機能は、機種情報に対応したハードウエア及びそのデバイス情報が定義されたデータベースを検索し、前記機種情報により特定されるハードウエアに適合したデバイス情報を決定することを特徴とする請求項１記載のデバイスドライバ組込プログラム。
【請求項３】
サーバ上で記録保持され、ユーザ識別子をパラメータとして、該ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をサーバに問い合わせ、サーバから返却された外部記憶装置の使用権限及びそのデバイス情報に基づいて、前記ユーザグループが使用権限を有する外部記憶装置のデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、前記クライアントにおいてユーザログインがあったときに、該クライアントに転送する第２のプログラム転送機能と、
前記外部記憶装置の使用権限及びそのデバイス情報の問い合わせがあったときに、前記ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をクライアントに返送する第２のデバイス情報返送機能と、
をさらにサーバに実現させることを特徴とする請求項１又は請求項２に記載のデバイスドライバ組込プログラム。
【請求項４】
サーバ上で記録保持され、クライアントの機種情報を取得し、取得された機種情報をパラメータとして、該機種情報により特定されるハードウエアに適合したデバイス情報をサーバに問い合わせ、サーバから返却されたデバイス情報に基づいて、クライアントに必要なデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、ネットワークを経由して接続されたクライアントが起動されたときに、該クライアントに転送する第１のプログラム転送手段と、
前記デバイス情報の問い合わせがあったときに、前記機種情報により特定されるハードウエアに適合したデバイス情報をクライアントに返送する第１のデバイス情報返送手段と、
を含んで構成されたことを特徴とするデバイスドライバ組込装置。
【請求項５】
サーバ上で記録保持され、ユーザ識別子をパラメータとして、該ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をサーバに問い合わせ、サーバから返却された外部記憶装置の使用権限及びそのデバイス情報に基づいて、前記ユーザグループが使用権限を有する外部記憶装置のデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、前記クライアントにおいてユーザログインがあったときに、該クライアントに転送する第２のプログラム転送手段と、
前記外部記憶装置の使用権限及びそのデバイス情報の問い合わせがあったときに、前記ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をクライアントに返送する第２のデバイス情報返送手段と、
をさらに含んで構成されたことを特徴とする請求項４記載のデバイスドライバ組込装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアント／サーバシステムにおいて、クライアント・コンピュータ（以下単にクライアント）のハードウエアに適合したデバイスドライバを動的に組み込む技術に関する。
【０００２】
【従来の技術】
近年、クライアント／サーバシステムにおいて、クライアントに最低限の機能しか持たせず、サーバ・コンピュータ（以下単にサーバ）側でアプリケーションソフトウエアやファイルなどの資源を管理する「シンクライアントシステム」が実用化されている。シンクライアントシステムでは、クライアントとして、最低限の機能のみを備えた専用端末だけではなく、安価かつ高機能なＰＣ（Ｐｅｒｓｏｎａｌ
Ｃｏｍｐｕｔｅｒ）を利用したいという要望があった。
【０００３】
【発明が解決しようとする課題】
しかしながら、ＰＣを起動するときには、ビデオカード，サウンドカード．キーボード，マウスなどのハードウエアに適合したデバイスドライバを組み込む必要がある。デバイスドライバの組み込みは、ＵＮＩＸ（登録商標）では、システム設定ファイル「ＸＦ８６Ｃｏｎｆｉｇ」で事前定義しなければならない。一方、シンクライアントシステムでは、コンピュータネットワークにクライアントを接続すれば、そのクライアントがすぐ利用可能になるというコンセプトがある。このため、ハードウエアが異なるＰＣを用いた場合、そのデバイスドライバの組み込みが事前定義できず、シンクライアントシステムを構築することが極めて困難であった。
【０００４】
また、ＰＣには、フロッピディスクドライブ，ＣＤ−ＲＯＭドライブ，ＭＯドライブなどの外部記憶装置が搭載されていることが多い。従来のシンクライアントシステムのクライアントには、情報漏洩防止のために外部記憶装置を備えていないが、ＰＣをシンクライアントシステムのクライアントとして使用する場合、特定の利用者については、外部記憶装置を使用させたいという要望が出てきた。しかし、外部記憶装置を使用するためには、そのデバイスドライバを組み込む必要があり、利用者の権限に応じて外部記憶装置の使用を禁止又は許可することは、不可能であった。
【０００５】
そこで、本発明は以上のような従来の問題点に鑑み、クライアント起動時に、そのハードウエアに適合したデバイスドライバを動的に組み込む一方、ユーザログイン時に、その権限に適合した外部記憶装置のデバイスドライバを動的に組み込むことで、クライアント／サーバシステムの機能を拡張する技術を提供することを目的とする。
【０００６】
【課題を解決するための手段】
このため、本発明に係るデバイスドライバ組込技術では、コンピュータネットワークに接続されたクライアントが起動されたときに、クライアントの機種情報により特定されるハードウエアに適合したデバイス情報をサーバに問い合わせ、サーバから返却されたデバイス情報に基づいて、クライアントに必要なデバイスドライバをサーバから動的に組み込むためのプログラムが、サーバからクライアントに転送される。そして、クライアントにおいて、例えば、ＢＩＯＳに保持される機種情報をパラメータとして、サーバに対してデバイス情報が問い合わされる。サーバからクライアントに対してデバイス情報が返却されると、そのデバイス情報に応じて生成された設定ファイルに基づいて、サーバに記録保持されるデバイスドライバが組み込まれる。このとき、デバイスドライバとしては、例えば、ＵＮＩＸ（登録商標）システムでは、Ｘウィンドウシステムを起動するために最低限必要なビデオカード，サウンドカード，キーボード及びマウスに関するものであることが望ましい。
【０００７】
かかる構成によれば、クライアントの起動に際して、その機種情報により特定されるハードウエアに適合したデバイスドライバが動的に組み込まれることとなり、複数種のパーソナルコンピュータをクライアントとして用いてクライアント／サーバシステムが構築される。また、クライアントのＢＩＯＳに保持される機種情報を使用するようにすれば、多種多様なハードウエアにより構成されるパーソナルコンピュータを利用する場合であっても、その機種情報が容易に特定される。
【０００８】
一方、サーバにおいては、機種情報に対応したハードウエア及びそのデバイス情報が定義されたデータベースを検索し、機種情報により特定されるハードウエアに適合したデバイス情報を決定するようにすればよい。このようにすれば、データベースを適切に設計することで、サーバにおける処理負荷の増加を抑制しつつ、デバイス情報を容易に決定することができる。
【０００９】
さらに、クライアントにおいてユーザログインがあったときに、ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をサーバに問い合わせ、サーバから返却された外部記憶装置の使用権限及びそのデバイス情報に基づいて、ユーザグループが使用権限を有する外部記憶装置のデバイスドライバをサーバから動的に組み込むためのプログラムが、サーバからクライアントに転送される。そして、クライアントにおいて、ユーザ識別子をパラメータとした問い合わせに対する応答がサーバからあると、外部記憶装置の使用権限及びそのデバイス情報に応じて生成された設定ファイルに基づいて、サーバに記録保持されるデバイスドライバが組み込まれる。
【００１０】
かかる構成によれば、クライアントにおいてユーザログインが行われると、ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報に基づいて、使用権限を有する外部記憶装置のデバイスドライバが動的に組み込まれる。このため、ユーザグループに適合した外部記憶装置のデバイスドライバを動的に組み込むことができ、特定ユーザについてのみ、所定のデバイスドライバを使用させることができるようになる。
【００１１】
一方、サーバにおいては、ユーザグループが使用権限を有する外部記憶装置及びそのデバイス情報が定義されたデータベースを検索し、ユーザ識別子により特定されるユーザグループの外部記憶装置及びそのデバイス情報を決定するようにすればよい。このようにすれば、データベースを適切に設計することで、サーバにおける処理負荷の増加を抑制しつつ、ユーザグループが使用権限を有する外部記憶装置及びそのデバイス情報を容易に決定することができる。
【００１２】
【発明の実施の形態】
以下、添付された図面を参照して本発明を詳述する。
図１は、本発明をクライアント／サーバシステムに適用して構築したシンクライアントシステムを示す。
シンクライアントシステムは、管理サーバ１０と、少なくとも１台のクライアント２０（２０Ａ〜２０Ｃ）と、ネットワークプリンタ３０と、を含んで構成される。クライアント２０としては、従来の専用端末に加え、フロッピディスクドライブ，ＣＤ−ＲＯＭドライブ，ＭＯドライブなどの外部記憶装置を搭載したＰＣが利用される。そして、管理サーバ１０，クライアント２０及びネットワークプリンタ３０は、イーサネット（登録商標）などのコンピュータネットワーク４０を介して相互接続される。
【００１３】
次に、クライアント起動時に実行される処理について、図２を参照しつつ説明する。なお、以下の説明では、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）として、ＵＮＩＸ（登録商標）系のＬｉｎｕｘを使用したシステムを前提とする。
管理サーバ１０には、各種データベースとして、ｈａｒｄｗａｒｅ．ｂｔファイル１０Ａと、ｋｅｒｎｅｌｄｒｉｖｅｒ．ｂｔファイル１０Ｂと、ｏｐｔｉｏｎ．ｂｔファイル１０Ｃと、が備えられる。ｈａｒｄｗａｒｅ．ｂｔファイル１０Ａでは、図３に示すように、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）形式を用いて（以下同様）、ＰＣ機種（Ｐｒｏｄｕｃｔ　ｎａｍｅ）とビデオカード及びサウンドカードとの関連付けが定義される。ｋｅｒｎｅｌｄｒｉｖｅｒ．ｂｔファイル１０Ｂでは、図４に示すように、ビデオカード，サウンドカード，ＳＣＳＩ（Ｓｍａｌｌ　Ｃｏｍｐｕｔｅｒ　Ｓｙｓｔｅｍ　Ｉｎｔｅｒｆａｃｅ）カードとデバイスドライバ及びそのパラメータとの関連付けが定義される。ｏｐｔｉｏｎ．ｂｔファイル１０Ｃでは、図５及び図６に示すように、ＭＡＣ（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ）アドレスにより特定されるクライアント２０とモニタ情報，キーボード，マウス，ネットワークプリンタ，外部記憶装置（ＦＤＤ，ＣＤ−ＲＯＭ，ＭＯなど）との関連付けが定義される。ここで、モニタ情報としては、解像度，周波数及び表示可能色、キーボード又はマウスとしては、機種、ネットワークプリンタとしては、プリンタホスト，スプールキュー名など、外部記憶装置としては、インターフェイスタイプなどが設定される。なお、ｏｐｔｉｏｎ．ｂｔファイル１０Ｃでは、ＭＡＣアドレスの代わりに、ＰＣ機種によりクライアント２０のハードウエアを特定するようにしてもよい。
【００１４】
そして、クライアント２０の電源が投入されると、／ｓｂｉｎ／ｉｎｉｔから呼び出される起動スクリプト（／ｅｔｃ／ｒｃＳ．ｄ／Ｓ２０ｂｔ−ｃｃｍ．ｓｈ−＞／ｅｔｃ／ｉｎｉｔ．ｄ／ｂｔ−ｃｃｍ．ｓｈ）において、管理サーバ１０と接続すべく、ＮＦＳ（Ｎｅｔｗｏｒｋ　Ｆｉｌｅ　Ｓｙｓｔｅｍ）にマウントされる。ＮＦＳへのマウントが完了すると、管理サーバ１０で管理されるプログラム，デバイスドライバ，ファイルなどの資源が、あたかもクライアント２０の資源であるかのように取り扱うことが可能となる。なお、図中では、クライアント側とサーバ側との機能分担を明確にすべく、クライアント２０に各種機能が備えられているように図示されるが、これらは管理サーバ１０からクライアント２０に転送されたものである（以下同様）。ここで、クライアント２０をＮＦＳにマウントする処理により、第１のプログラム転送機能，第２のプログラム転送機能，第１のプログラム転送手段及び第２のプログラム転送手段が夫々実現される。
【００１５】
起動スクリプトにおいて、ＰＣのハードウエア情報を取得するコマンド（／ｏｐｔ／ｃｃｍ／ｓｂｉｎ／ｇｅｔｈｄｉｎｆｏ）が呼び出されると、マザーボードのＳＭ−ＢＩＯＳ（Ｓｙｓｔｅｍ　Ｍａｎａｇｅｍｅｎｔ　ＢＩＯＳ）から、クライアントたるＰＣの機種情報を読み込む。なお、Ｌｉｎｕｘのカーネル２．４では、ＳＭ−ＢＩＯＳの情報を／ｐｒｏｃ／ｋｃｏｒｅなどに保持しているので、ここから機種情報を読み込むようにしてもよい。機種情報が取得されると、機種情報及びＭＡＣアドレスをパラメータとして、ｈｔｔｐ（ＨｙｐｅｒＴｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）を用いて管理サーバ１０に対してデバイス情報を問い合わせる。
【００１６】
デバイス情報の問合せを受けた管理サーバ１０では、ｈｔｔｐサーバプログラムであるＡｐａｃｈｅ及びＣＧＩ（Ｃｏｍｍｏｎ　Ｇａｔｅｗａｙ　Ｉｎｔｅｒｆａｃｅ）を介してｐｈｐ（Ｐｒｏｆｅｓｓｉｏｎａｌ　ＨＴＭＬ　Ｐｒｅｐｒｏｃｅｓｓｏｒ）スクリプトが呼び出される。呼び出されたｐｈｐスクリプトは、ｈａｒｄｗａｒｅ．ｂｔファイル１０Ａ，ｋｅｒｎｅｌｄｒｉｖｅｒ．ｂｔファイル１０Ｂ及びｏｐｔｉｏｎ．ｂｔファイル１０Ｃを検索し、機種情報に適合したハードウエア情報及びそのデバイスドライバ（以下「デバイス情報」という）を抽出する。
【００１７】
機種情報が「ＦＭＶ６３３ＣＬ６Ｓ」のときには、図３に示すｈａｒｄｗａｒｅ．ｂｔファイル１０Ａを検索し、Ｐｒｏｄｕｃｔ　ｎａｍｅ＝”ＦＭＶ６３３ＣＬ６Ｓ”に対応するビデオカード”ｓａｖａｇｅ４”及びサウンドカード”ＶＩＡ−ＶＴ８２Ｃ６８６Ａ”が抽出される。次に、図４に示すｋｅｒｎｅｌｄｒｉｖｅｒ．ｂｔファイル１０Ｂを検索し、ビデオカード”ｓａｖａｇｅ４”に対応するデバイスドライバ”ｓａｖａｇｅ”及びパラメータ”４０９６”、並びに、サウンドカード”ＶＴ８２Ｃ６８６Ａ”に対応するデバイスドライバ”ｖｉａ６８６ａ”及びパラメータ”０ｘ３３０”などが抽出される。また、図５及び図６に示すｏｐｔｉｏｎ．ｂｔファイル１０Ｃを検索し、例えば、ＭＡＣアドレス”００００ｅ２１ａａ６４２”により特定されるクライアント２０のモニタ情報，キーボード”ｊｐ１０６”及びマウス”ＰＳ２”が抽出される。
【００１８】
そして、抽出されたデバイス情報に基づいて、図７に示すように、ＸＭＬ形式で記述されたデバイス情報ファイル「ｃｃｍ．ｂｔ」を生成し、これをｈｔｔｐを用いてクライアント２０に返送する。ここで、デバイス情報をクライアント２０に返送する処理により、第１のデバイス情報返送機能及び第１のデバイス情報返送手段が夫々実現される。
【００１９】
デバイス情報ファイルを受け取ったクライアント２０では、デバイス情報ファイルを、例えば、ディレクトリ「／ｔｍｐ」に保存する。
ＰＣのハードウエア情報を取得するコマンドの実行に続いて、設定ファイルを生成するシェルスクリプト（／ｏｐｔ／ｃｃｍ／ｓｂｉｎ／ｍｋｃｏｎｆｓ．ｓｈ）が呼び出されると、システム設定ファイル「ＸＦ８６Ｃｏｎｆｉｇ」（図８及び図９参照）及びカーネルモジュールのロードに対する設定ファイル　「ｍｏｄｕｌｅｓ．ｃｏｎｆ」（図１０参照）が生成される。即ち、デバイス情報ファイル「／ｔｍｐ／ｃｃｍ．ｂｔ」並びに設定ファイルのテンプレートとなるｘｓｌ（Ｅｘｔｅｎｓｉｂｌｅ　Ｓｔｙｌｅｓｈｅｅｔ　Ｌａｎｇｕａｇｅ）ファイル「ｍｋＸＦ８６Ｃｏｎｆｓ，ｘｓｌ」及び「ｍｋｍｏｄｃｏｎｆｓ．ｘｓｌ」をパラメータとして、ＸＳＬＴ（ｘｓｌ　Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ）プロセッサを起動し、システム設定ファイル「ＸＦ８６Ｃｏｎｆｉｇ」及び設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」を生成する。ここで、ＸＳＬＴプロセッサとしては、Ｍｏｚｉｌｌａ．ｏｒｇのＴｒａｎｓｆｏｒＭｉｉｘ，Ａｐａｃｈｅ．ｏｒｇのＸａｌａｎなどが利用可能である。
【００２０】
設定ファイルの生成が完了すると、Ｂシェル（／ｂｉｎ／ｓｈ）において、システム設定ファイル「ＸＦ８６Ｃｏｎｆｉｇ」及び設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」に基づいて、クライアント２０の起動に必要なデバイスドライバが組み込まれる。
以上説明した処理によれば、クライアント２０を起動するときには、ＰＣのＳＭ−ＢＩＯＳからその機種情報が取得される。そして、取得された機種情報及びＭＡＣアドレスをパラメータとして、管理サーバ１０に対してデバイス情報が問い合わされる。デバイス情報の問合せを受け付けた管理サーバ１０では、機種情報及びＭＡＣアドレスに基づいて、ＰＣのハードウエアに適合したデバイス情報が生成され、これがクライアント２０に返送される。デバイス情報を受け取ったクライアント２０では、ＸＳＬＴプロセッサを起動することで、システム設定ファイル「ＸＦ８６Ｃｏｎｆｉｇ」及び設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」が生成される。そして、これらの設定ファイルに基づいて、Ｘウインドウシステムを起動することで、ＰＣのハードウエアに適合したデバイスドライバが動的に組み込まれる。
【００２１】
従って、クライアント２０のハードウエアに適合したデバイスドライバを事前に組み込む必要がなく、複数種のＰＣを用いてシンクライアントシステムを構築することができる。このため、既存のＰＣの利用が可能となり、シンクライアントシステムの構築に要する費用を低減することもできる。
図１１は、シンクライアントシステムにおいて、ユーザログイン時に実行される処理を示す。
【００２２】
管理サーバ１０には、各種データベースとして、ｏｐｔｉｏｎ．ｂｔファイル１０Ｃに加え、ｇｒｏｕｐ．ｂｔファイル１０Ｄが備えられる。ｇｒｏｕｐ．ｂｔファイル１０Ｄでは、図１２に示すように、ユーザーグループ（ユーザが１人のみのグループも含む）と使用可能なネットワークプリンタ及び外部記憶装置の関連付けが定義される。図示の例では、ＵｓｅｒＧｒｏｕｐ＝”ｂｔｕｓｅｒｓ”に属する利用者は、ネットワークプリンタとして”ｌｐ０１”及び”ｌｐ０２”が使用可能であると共に、外部記憶装置として”ＦＤＤ”，”ＣＤ−ＲＯＭ”及び”ＭＯ”が使用可能であることが定義されている。これらのデバイスの使用が不可能であれば、ＤｅｖｉｃｅＩｓＵｓｅｄタグが、「ｆａｌｓｅ」に設定される。
【００２３】
そして、グループ名を入力したユーザログインが行われると、ログイン時に実行されるシェルスクリプト（／ｅｔｃ／Ｘ１１／Ｘｓｅｓｓｉｏｎ）において、ユーザグループに適合したグループデバイス情報を取得するコマンド（ｇｅｔｇｒｐｉｎｆｏ）が呼び出される。すると、グループ名及びＭＡＣアドレスをパラメータとして、ｈｔｔｐにより管理サーバ１０に対してグループデバイス情報が問い合わされる。
【００２４】
グループデバイス情報の問合せを受けた管理サーバ１０では、Ａｐａｃｈｅ及びＣＧＩを介してｐｈｐスクリプトが呼び出される。呼び出されたｐｈｐスクリプトは、ｏｐｔｉｏｎ．ｂｔファイル１０Ｃ及びｇｒｏｕｐ．ｂｔファイル１０Ｄを検索し、グループ名により特定されるユーザグループにおいて使用が許可又は禁止されるネットワークプリンタ及び外部記憶装置に関するグループデバイス情報が抽出される。
【００２５】
グループ名が「ｂｔｕｓｅｒｓ」のときには、図１２に示すｇｒｏｕｐ．ｂｔファイル１０Ｄを検索し、ＵｓｅｒＧｒｏｕｐ＝”ｂｔｕｓｅｒｓ”により特定されるユーザグループにおいて、ネットワークプリンタ及び外部記憶の使用許可情報が抽出される。また、図５及び図６に示すｏｐｔｉｏｎ．ｂｔファイル１０Ｃを検索し、例えば、ＭＡＣアドレス”００００ｅ２１ａａ６４２”により特定されるクライアント２０のローカルプリンタ情報、並びに、外部記憶装置のインターフェイス情報などが抽出される。
【００２６】
そして、抽出された使用許可情報などに基づいて、図１３に示すように、ＸＭＬ形式で記述されたグループデバイス情報ファイル「ｃｃｍｇｒｐ．ｂｔ」を生成し、これをｈｔｔｐを用いてクライアント２０に返送する。ここで、グループデバイス情報ファイルをクライアント２０に返送する機能により、第２のデバイス情報返送機能及び第２のデバイス情報返送手段が夫々実現される。
【００２７】
グループデバイス情報ファイルを受け取ったクライアント２０では、グループデバイス情報ファイルを、例えば、ディレクトリ「／ｔｍｐ」に保存する。
グループデバイス情報を取得するコマンドの実行に続いて、カーネルモジュールのロードに対する設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」（図１４参照），ローカルプリンタの設定ファイル「ｐｒｉｎｔｃａｐ」（図１５参照）及び外部記憶装置のデバイスドライバの組み込み及び取り外し処理を実行するシェルスクリプト「ｍｏｄｌｏａｄｅｒ．ｓｈ」（図１６参照）を生成するシェルスクリプト（ｍｋｃｏｎｆｓ＃ｇｒｐ．ｓｈ）が呼び出される。すると、グループデバイス情報ファイル「／ｔｍｐ／ｃｃｍｇｒｐ．ｂｔ」並びに設定ファイル及びシェルスクリプトのテンプレートとなるｘｓｌファイル「ａｄｄｍｏｄｃｏｎｆ．ｘｓｌ」，「ｍｋｐｒｉｎｔｃａｐ．ｘｓｌ」及び「ｍｋｍｏｄｌｏａｄｅｒ．ｘｓｌ」をパラメータとして、ＸＳＬＴプロセッサを起動し、設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」及び「ｐｒｉｎｔｃａｐ」並びにシェルスクリプト「ｍｏｄｌｏａｄｅｒ．ｓｈ」を生成する。
【００２８】
設定ファイル並びにシェルスクリプトの生成が完了すると、Ｂシェル（／ｂｉｎ／ｓｈ）において、設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」及び「ｐｒｉｎｔｃａｐ」に基づいて、カーネルモジュールのロードに対する設定及びローカルプリンタの設定が行われる。また、シェルスクリプト「ｍｏｄｌｏａｄｅｒ．ｓｈ」に基づいて、ｍｏｄｐｒｏｂｅコマンドが呼び出され、使用が許可される外部記憶装置としてのフロッピディスクドライブ，ＣＤ−ＲＯＭドライブ，ＭＯドライブなどに適合したデバイスドライバが組み込まれる。このとき、使用が許可されない外部記憶装置のデバイスドライバが既に組み込まれていたら、そのデバイスドライバが取り外される。なお、デバイスドライバを組み込む前に、全てのデバイスドライバを取り外すようにしてもよい。
【００２９】
以上説明した処理によれば、ユーザログインするときには、そのグループ名及びＭＡＣアドレスをパラメータとして、管理サーバ１０に対してネットワークプリンタ及び外部記憶装置のグループデバイス情報が問い合わされる。グループデバイス情報の問合せを受け付けた管理サーバ１０では、グループ名及びＭＡＣアドレスに基づいて、ネットワークプリンタ及び外部記憶装置の使用許可を含んだグループデバイス情報が生成され、これがクライアント２０に返送される。デバイス情報を受け取ったクライアント２０では、ＸＳＬＴプロセッサを起動することで、設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」及び「ｐｒｉｎｔｃａｐ」並びにシェルスクリプト「ｍｏｄｌｏａｄｅｒ．ｓｈ」が生成される。そして、設定ファイル「ｍｏｄｕｌｅｓ．ｃｏｎｆ」及び「ｐｒｉｎｔｃａｐ」に基づいて、カーネルモジュールのロードに対する設定及びローカルプリンタの設定が行われる。また、シェルスクリプト「ｍｏｄｌｏａｄｅｒ．ｓｈ」に基づいて、ｍｏｄｐｒｏｂｅコマンドが呼び出され、使用が許可される外部記憶装置に適合したデバイスドライバが動的に組み込まれる。
【００３０】
従って、ユーザログイン時に、ユーザグループに適合した外部記憶装置のデバイスドライバを動的に組み込むことができ、特定の利用者に対してのみ、外部記憶装置を使用させることができる。
【００３１】
（付記１）ネットワークを経由してクライアントが接続されたサーバで動作するプログラムであって、サーバ上で記録保持され、クライアントの機種情報を取得し、取得された機種情報をパラメータとして、該機種情報により特定されるハードウエアに適合したデバイス情報をサーバに問い合わせ、サーバから返却されたデバイス情報に基づいて、クライアントに必要なデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、前記クライアントが起動されたときに、該クライアントに転送する第１のプログラム転送機能と、前記デバイス情報の問い合わせがあったときに、前記機種情報により特定されるハードウエアに適合したデバイス情報をクライアントに返送する第１のデバイス情報返送機能と、をサーバに実現させるためのデバイスドライバ組込プログラム。
【００３２】
（付記２）前記クライアントに必要なデバイスドライバを動的に組み込む機能は、前記サーバから返却されたデバイス情報に基づいて、デバイスドライバを組み込むための設定ファイルを生成し、生成された設定ファイルに基づいて、前記サーバに記録保持されるデバイスドライバを組み込むことを特徴とする付記１記載のデバイスドライバ組込プログラム。
【００３３】
（付記３）前記第１のデバイス情報返送機能は、機種情報に対応したハードウエア及びそのデバイス情報が定義されたデータベースを検索し、前記機種情報により特定されるハードウエアに適合したデバイス情報を決定することを特徴とする付記１又は付記２に記載のデバイスドライバ組込プログラム。
【００３４】
（付記４）前記クライアントの起動に必要なデバイスドライバは、ビデオカード，サウンドカード，キーボード及びマウスに関するものであることを特徴とする付記１〜付記３のいずれか１つに記載のデバイスドライバ組込プログラム。
【００３５】
（付記５）前記機種情報は、前記クライアントのＢＩＯＳに保持されるものを使用することを特徴とする付記１〜付記４のいずれか１つに記載のデバイスドライバ組込プログラム。
【００３６】
（付記６）サーバ上で記録保持され、ユーザ識別子をパラメータとして、該ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をサーバに問い合わせ、サーバから返却された外部記憶装置の使用権限及びそのデバイス情報に基づいて、前記ユーザグループが使用権限を有する外部記憶装置のデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、前記クライアントにおいてユーザログインがあったときに、該クライアントに転送する第２のプログラム転送機能と、前記外部記憶装置の使用権限及びそのデバイス情報の問い合わせがあったときに、前記ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をクライアントに返送する第２のデバイス情報返送機能と、をさらにサーバに実現させることを特徴とする付記１〜付記５のいずれか１つに記載のデバイスドライバ組込プログラム。
【００３７】
（付記７）前記ユーザグループが使用権限を有する外部記憶装置のデバイスドライバを動的に組み込む機能は、前記サーバから返却された外部記憶装置の使用権限及びそのデバイス情報に基づいて、デバイスドライバを組み込むための設定ファイルを生成し、生成された設定ファイルに基づいて、前記サーバに記録保持されるデバイスドライバを組み込むことを特徴とする付記６記載のデバイスドライバ組込プログラム。
【００３８】
（付記８）前記第２のデバイス情報返送機能は、ユーザグループが使用権限を有する外部記憶装置及びそのデバイス情報が定義されたデータベースを検索し、前記ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報を決定することを特徴とする付記６又は付記７に記載のデバイスドライバ組込プログラム。
【００３９】
（付記９）サーバ上で記録保持され、クライアントの機種情報を取得し、取得された機種情報をパラメータとして、該機種情報により特定されるハードウエアに適合したデバイス情報をサーバに問い合わせ、サーバから返却されたデバイス情報に基づいて、クライアントに必要なデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、ネットワークを経由して接続されたクライアントが起動されたときに、該クライアントに転送する第１のプログラム転送手段と、前記デバイス情報の問い合わせがあったときに、前記機種情報により特定されるハードウエアに適合したデバイス情報をクライアントに返送する第１のデバイス情報返送手段と、を含んで構成されたことを特徴とするデバイスドライバ組込装置。
【００４０】
（付記１０）サーバ上で記録保持され、ユーザ識別子をパラメータとして、該ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をサーバに問い合わせ、サーバから返却された外部記憶装置の使用権限及びそのデバイス情報に基づいて、前記ユーザグループが使用権限を有する外部記憶装置のデバイスドライバをサーバから動的に組み込む機能をクライアントに実現させるプログラムを、前記クライアントにおいてユーザログインがあったときに、該クライアントに転送する第２のプログラム転送手段と、前記外部記憶装置の使用権限及びそのデバイス情報の問い合わせがあったときに、前記ユーザ識別子により特定されるユーザグループの外部記憶装置の使用権限及びそのデバイス情報をクライアントに返送する第２のデバイス情報返送手段と、をさらに含んで構成されたことを特徴とする付記９記載のデバイスドライバ組込装置。
【００４１】
【発明の効果】
以上説明したように、本発明に係るデバイスドライバ組込技術によれば、クライアントの起動に際して、その機種情報により特定されるハードウエアに適合したデバイスドライバが動的に組み込まれることとなる。このため、クライアントのハードウエアに適合したデバイスドライバを事前に組み込む必要がなく、複数種のパーソナルコンピュータをクライアントとして用いてクライアント／サーバシステムを構築することができる。また、既存のパーソナルコンピュータの利用が可能となり、クライアント／サーバシステムの構築に要する費用を低減することもできる。
【図面の簡単な説明】
【図１】本発明を適用して構築したシンクライアントシステムの構成図
【図２】クライアント起動時の処理を示す説明図
【図３】管理サーバに備えられるｈａｒｄｗａｒｅ．ｂｔファイルの説明図
【図４】管理サーバに備えられるｋｅｒｎｅｌｄｒｉｖｅｒ．ｂｔファイルの説明図
【図５】管理サーバに備えられるｏｐｔｉｏｎ．ｂｔファイルの説明図
【図６】管理サーバに備えられるｏｐｔｉｏｎ．ｂｔファイルの説明図
【図７】管理サーバにより生成されたデバイス情報の説明図
【図８】クライアントにより生成されたシステム設定ファイルの説明図
【図９】クライアントにより生成されたシステム設定ファイルの説明図
【図１０】クライアントにより生成された設定ファイルの説明図
【図１１】ユーザログイン時の処理を示す説明図
【図１２】管理サーバに備えられるｇｒｏｕｐ．ｂｔファイルの説明図
【図１３】管理サーバにより生成されたグループデバイス情報の説明図
【図１４】クライアントにより生成された設定ファイルの説明図
【図１５】クライアントにより生成されたプリンタ設定ファイルの説明図
【図１６】クライアントにより生成されたシェルスクリプトの説明図
【符号の説明】
１０　　管理サーバ
１０Ａ　ｈａｒｄｗａｒｅ．ｂｔファイル
１０Ｂ　ｋｅｒｎｅｌｄｒｉｖｅｒ．ｂｔファイル
１０Ｃ　ｏｐｔｉｏｎ．ｂｔファイル
１０Ｄ　ｇｒｏｕｐ．ｂｔファイル
２０（２０Ａ〜２０Ｃ）　クライアント
４０　　コンピュータネットワーク
【図１】
2004046587.tif 000003
【図２】
2004046587.tif 000004
【図３】
2004046587.tif 000005
【図４】
2004046587.tif 000006
【図５】
2004046587.tif 000007
【図６】
2004046587.tif 000008
【図７】
2004046587.tif 000009
【図８】
2004046587.tif 000010
【図９】
2004046587.tif 000011
【図１０】
2004046587.tif 000012
【図１１】
2004046587.tif 000013
【図１２】
2004046587.tif 000014
【図１３】
2004046587.tif 000015
【図１４】
2004046587.tif 000016
【図１５】
2004046587.tif 000017
【図１６】
2004046587.tif 000018