(57)【特許請求の範囲】
【請求項１】
周辺デバイスが接続された場合に、前記デバイスからデバイス名称を取得し、取得したデバイス名称に対応するデバイスドライバを起動するオペレーティングシステム上で動作し、複数機種のデバイスを制御可能なデバイスドライバであって、
前記オペレーティングシステムから自らが対応するデバイスの接続情報を受け付けると、前記デバイスから、前記オペレーティングシステムを介さずに第２のデバイス名称を取得し、
取得した第２のデバイス名称が前記オペレーティングシステムに登録されていない場合、前記第２のデバイス名称を用いて前記デバイスを前記オペレーティングシステムに登録する処理をコンピュータに実行させることを特徴とするデバイスドライバ。
【請求項２】
周辺デバイスが接続された場合に、前記デバイスからデバイス名称を取得し、取得したデバイス名称に対応するデバイスドライバを起動するオペレーティングシステムが動作するホストコンピュータと周辺デバイスとを有するコンピュータシステムであって、
前記周辺デバイスは、前記ホストコンピュータのオペレーティングシステムに通知する汎用デバイス名称と、自周辺デバイスを制御するデバイスドライバに通知する固有デバイス名称とを記憶しており、
前記ホストコンピュータは、
前記オペレーティングシステムから自らが対応する前記デバイスの接続情報を受け付けると、前記デバイスから、前記固有デバイス名称を取得し、取得した前記固有デバイス名称が前記オペレーティングシステムに登録されていない場合、取得した固有デバイス名称を用いて前記デバイスを前記オペレーティングシステムに登録するデバイスドライバが動作することを特徴とするコンピュータシステム。
【請求項３】
周辺デバイスが接続された場合に、前記デバイスからデバイス名称を取得し、取得したデバイス名称に対応するデバイスドライバを起動するオペレーティングシステムが動作するホストコンピュータと接続されるデバイスであって、
前記ホストコンピュータのオペレーティングシステムにおいて自デバイスを制御するデバイスドライバと対応している汎用デバイス名称と、前記ホストコンピュータのオペレーティングシステムに登録されるための固有デバイス名称とを記憶しており、
前記ホストコンピュータのオペレーティングシステムからのデバイス名称の問い合わせに前記汎用デバイス名称を回答し、
前記自デバイスを制御するデバイスドライバからのデバイス名称の問い合わせに前記固有デバイス名称を回答することを特徴とするデバイス。
【請求項４】
新たな周辺デバイスが接続された場合に、前記周辺デバイスからデバイス名称を取得し、取得したデバイス名称に対応する機能を起動するオペレーティングシステムが動作するホストコンピュータにおけるデバイス登録方法であって、
前記オペレーティングシステムがデバイス名称に対応する機能を起動し、
前記機能が、前記周辺デバイスから、前記オペレーティングシステムを介さずに第２のデバイス名称を取得し、
取得した第２のデバイス名称を用いて前記新たなデバイスを前記オペレーティングシステムに登録することを特徴とするデバイス登録方法。
【請求項５】
周辺デバイスが接続された場合に、前記デバイスからデバイス名称を取得し、取得したデバイス名称に対応するデバイスドライバを起動するオペレーティングシステム上で動作し、複数機種のデバイスを制御可能なデバイスドライバであって、
前記オペレーティングシステムから自らが対応するデバイスの新規接続情報を受け付けると、前記デバイスから、前記オペレーティングシステムを介さずに第２のデバイス名称を取得し、
前記第２のデバイス名称を用いて前記デバイスを前記オペレーティングシステムに登録する処理をコンピュータに実行させることを特徴とするデバイスドライバ。
【請求項６】
周辺デバイスが接続された場合に、前記デバイスからデバイス名称を取得し、取得したデバイス名称に対応するデバイスドライバを起動するオペレーティングシステムが動作するホストコンピュータと周辺デバイスとを有するコンピュータシステムであって、
前記周辺デバイスは、前記ホストコンピュータのオペレーティングシステムに通知する汎用デバイス名称と、自周辺デバイスを制御するデバイスドライバに通知する固有デバイス名称とを記憶しており、
前記ホストコンピュータは、
前記オペレーティングシステムから自らが対応する前記デバイスの新規接続情報を受け付けると、前記デバイスから、前記固有デバイス名称を取得し、取得した固有デバイス名称を用いて前記デバイスを前記オペレーティングシステムに登録するデバイスドライバが動作することを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺デバイスおよびデバイスドライバに係り、特に、複数機種の周辺デバイスを制御可能な汎用デバイスドライバに関する。
【背景技術】
【０００２】
ホストコンピュータに、プリンタ等の周辺デバイスを接続する場合には、接続する周辺デバイスに対応したデバイスドライバをホストコンピュータにインストールし、さらに、周辺デバイスをホストコンピュータのオペレーティングシステムに登録する作業が必要になる。
【０００３】
このため、複数機種の周辺デバイスを使用する場合には、それぞれの周辺デバイス専用のデバイスドライバをホストコンピュータにインストールすることになる。
【０００４】
図３は、複数機種の周辺デバイスとして３種類のプリンタ（プリンタＡ１２０ａ、プリンタＢ１２０ｂ、プリンタＣ１２０ｃ）が接続された場合のプリンタドライバ１１２とオペレーティングシステム１１１との関係を示している。
【０００５】
本図に示すように、プリンタＡ専用プリンタドライバ１１２ａと、プリンタＢ専用プリンタドライバ１１２ｂと、プリンタＣ専用プリンタドライバ１１２ｃとが、ホストコンピュータ１１０にインストールされ、オペレーティングシステム１１１にプリンタＡ、プリンタＢ、プリンタＣが登録されており、それぞれのプリンタに対応するアイコンが表示されている。
【０００６】
これにより、ホストコンピュータ１１０では、プリンタＡ１２０ａ、プリンタＢ１２０ｂ、プリンタＣ１２０ｃが選択的に使用可能になっている。
【０００７】
ここで、ホストコンピュータ１１０に新たなデバイスとしてプリンタが接続された場合の処理について、図４のフロー図を参照して説明する。ここでは、プリンタＣ１２０ｃが新たに接続された場合を例にする。
【０００８】
ホストコンピュータ１１０にプリンタＣ１２０ｃが接続されると（Ｓ２０１）、オペレーティングシステム１１１のプラグアンドプレイ（登録商標）機能が起動する（Ｓ２０２）。この機能にしたがって、オペレーティングシステム１１１は、新たに接続されたプリンタＣ１２０ｃに対してデバイス名称を要求する（Ｓ２０３）。各周辺デバイスにはあらかじめオペレーティングシステム１１１に通知するデバイス名称が設定されており、プリンタＣ１２０ｃは、自身のデバイス名称である「プリンタＣ」を回答する（Ｓ２０４）。なお、デバイス名称に替えて、機器ＩＤ等を用いる場合もあるが、ここでは、デバイス名称に含まれるものとする。
【０００９】
そして、オペレーティングシステム１１１は、デバイス名称に対応するデバイスドライバに処理を移す（Ｓ２０５）。なお、この際に、対応するデバイスドライバが存在しない場合は、自動的に対応するデバイスドライバのインストールを行なうか、ユーザにインストールを促すようにする。
【００１０】
プリンタＣ専用のデバイスドライバであるプリンタドラバ１１２ｃは、初期化、各種設定等のプリンタＣ１２０ｃに対応した処理を行なう（Ｓ２０６）。そして、オペレーティングシステム１１１にプリンタＣを登録する（Ｓ２０７）。この結果、図３に示したように、オペレーティングシステム１１１にプリンタＣ１２０ｃが登録され、使用できるようになる。
【００１１】
なお、同一の機種のデバイスが複数接続されている場合には、その機種専用のデバイスドライバが共通に用いられ、オペレーティングシステム１１１への登録がそれぞれの個体毎に行なわれる。例えば、プリンタＣがさらにもう一台接続されると、プリンタドライバ１１２ｃは共通に用いられ、プリンタＣという名称のプリンタがもう一台オペレーティングシステム１１１に登録されて、対応するアイコンが２つになり、それぞれが使用可能になる。ここで、対応するアイコンを２つにするのはオペレーティングシステムである。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述のように、デバイスドライバは機種毎に用意されてきたが、近年、デバイスドライバを汎用化して、複数機種に対応できるようにすることが提案されている。
【００１３】
このようなデバイスドライバでは、複数機種の周辺デバイスとの対応付けを行なわなくてならない。上述のように、周辺デバイスとデバイスドライバとの対応付けは、デバイス名称により行なわれる。このため、汎用化したデバイスドライバに対応する周辺デバイスに対して、共通のデバイス名称を付すことが考えられる。
【００１４】
しかしながら、異なる機種について共通のデバイス名称を付すと、複数機種がオペレーティングシステムに登録された際に、同名称のデバイスが複数存在することになり、各機種の判別に不便である。
【００１５】
本発明は、複数機種の周辺デバイスに対応した汎用のデバイスドライバを採用した場合に、オペレーティングシステムに登録されたそれぞれの機種の判別を容易に行なえるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するため本発明によれば、
周辺デバイスが接続された場合に、前記デバイスからデバイス名称を取得し、取得したデバイス名称に対応するデバイスドライバを起動するオペレーティングシステム上で動作し、複数機種のデバイスを制御可能なデバイスドライバであって、
前記オペレーティングシステムから自らが対応するデバイスの接続情報を受け付けると、前記デバイスから、前記オペレーティングシステムとは別の取得経路により第２のデバイス名称を取得し、
取得した第２のデバイス名称が前記オペレーティングシステムに登録されていない場合、前記第２のデバイス名称を用いて前記デバイスを前記オペレーティングシステムに登録する処理をコンピュータに実行させることを特徴とするデバイスドライバが提供される。
【００１７】
本発明では、デバイスドライバが、オペレーティングシステムが取得するデバイス名称とは別のデバイス名称をデバイスから取得してオペレーティングシステムに登録するため、複数機種の周辺デバイスに対応した汎用のデバイスドライバを採用した場合に、オペレーティングシステムに登録されたそれぞれの機種の判別を容易に行なえるようにすることが可能となる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施の形態について図面を参照して説明する。ここでは、周辺デバイスとしてプリンタを例に説明する。この場合、周辺デバイスを制御するデバイスドライバは、プリンタドライバとなる。ただし、本発明は、これらに限られず、他の周辺デバイスおよびデバイスドライバにも適用することができる。
【００１９】
本実施形態において、プリンタを制御するためのプリンタドライバは、複数機種を制御可能な汎用プリンタドライバであり、すでにホストコンピュータにインストールされているものとする。
【００２０】
図１は、ホストコンピュータ１０に、３種類のプリンタ（プリンタ２０ａ、プリンタ２０ｂ、プリンタ２０ｃ）が接続された場合のプリンタドライバ１２とオペレーティングシステム１１との関係を示している。
【００２１】
プリンタ２０ａ、プリンタ２０ｂ、プリンタ２０ｃはそれぞれ異なる機種であるが、上述のようにプリンタドライバ１２は、いずれのプリンタ２０も制御可能である。
【００２２】
本実施形態では、各プリンタ２０は、オペレーティングシステム１１に対する名称として共通のデバイス名称が与えられている。これは、従来のデバイス名称に対応する。ここでは、いずれのプリンタ２０も「プリンタＸ」というデバイス名称があらかじめ設定されているものとする。
【００２３】
すなわち、プリンタドライバ１２は、プリンタＸに対応したプリンタドライバとすることができる。逆に言えば、ある汎用のプリンタドライバで制御可能なプリンタは共通のデバイス名称が与えられることになる。
【００２４】
一方で、それぞれ異なる機種である各プリンタ２０は、機種に対応した固有のデバイス名称も与えられている。ここでは、プリンタ２０ａ、プリンタ２０ｂ、プリンタ２０ｃに対して、それぞれ「プリンタＡ」「プリンタＢ」「プリンタＣ」の固有デバイス名称が与えられているものとする。
【００２５】
ここで、ホストコンピュータ１０に新たなプリンタが接続された場合の処理について、図２のフロー図を参照して説明する。ここでは、すでにインストール済みのプリンタドライバ１２で制御可能なプリンタＸ（プリンタＣ）２０ｃが新たに接続された場合を例にする。
【００２６】
ホストコンピュータ１０にプリンタＸ（プリンタＣ）２０ｃが接続されると（Ｓ１０１）、オペレーティングシステム１１のプラグアンドプレイ機能が起動する（Ｓ１０２）。この機能にしたがって、オペレーティングシステム１１は、新たに接続されたプリンタＸ（プリンタＣ）２０ｃに対してデバイス名称を要求する（Ｓ１０３）。
【００２７】
プリンタＸ（プリンタＣ）２０ｃは、オペレーティングシステム１１に対するデバイス名称として「プリンタＸ」が与えられているため、デバイス名称として「プリンタＸ」を回答する（Ｓ１０４）。
【００２８】
そして、オペレーティングシステム１１は、「プリンタＸ」の新たな装置であると認識すると、新たにアイコンを作成して、デバイス名称に対応するデバイスドライバに処理を移す（Ｓ１０５）。ここでは、「プリンタＸ」に対応するプリンタＸ用汎用プリンタドライバ１２に処理が移される。
【００２９】
プリンタＸのデバイスドライバである汎用プリンタドラバ１２は、初期化、各種設定等のプリンタＸに対する共通の処理を行なう（Ｓ１０６）。
【００３０】
つぎに、汎用プリンタドラバ１２は、新規に接続されたプリンタＸ（プリンタＣ）２０ｃに対して、固有デバイス名称を要求する（Ｓ１０７）。この要求は、オペレーティングシステム１１のデバイス名称の問い合わせとは別の手段で、プリンタＸ（プリンタＣ）２０ｃに送られる。
【００３１】
プリンタＸ（プリンタＣ）２０ｃは、固有デバイス名称の要求に対して、固有デバイス名称として「プリンタＣ」を回答する（Ｓ１０８）。この回答も、オペレーティングシステム１１のデバイス名称の問い合わせとは別の手段で、汎用プリンタドラバ１２に送られる。
【００３２】
すなわち、プリンタＸ（プリンタＣ）２０ｃと汎用プリンタドラバ１２との間で行なわれる固有デバイス名称のやり取りは、プリンタＸ（プリンタＣ）２０ｃとオペレーティングシステム１１との間で行なわれるデバイス名称のやり取りとは別の経路で行なわれることになる。
【００３３】
汎用プリンタドラバ１２は、プリンタＸ（プリンタＣ）２０ｃから固有デバイス名称「プリンタＣ」を取得すると、「プリンタＣ」がオペレーティングシステムに登録されていない場合には、取得した固有デバイス名称「プリンタＣ」で、オペレーティングシステム１１にデバイス登録を行なう（Ｓ１０９）。
【００３４】
なお、接続されたプリンタが新規な装置でない場合には処理（Ｓ１０５)で新たなアイコンを作成せずに処理をデバイスドライバに移すことになり、処理（Ｓ１０６）から処理（Ｓ１０８)まで進み、汎用プリンタドライバ１２が新規な装置でないことを認識してデバイスの登録は行なわない。
【００３５】
この結果、図１に示すように、汎用プリンタドライバ１２は、それぞれ異なる機種であるが、「プリンタＸ」というデバイス名称が共通するプリンタ２０ａ、プリンタ２０ｂ、プリンタ２０ｃを制御する。また、オペレーティングシステム１１には、固有デバイス名称であるプリンタＡ、プリンタＢ、プリンタＣが登録され、それぞれのアイコンが表示されており、選択的に使用可能になっている。
【００３６】
以上説明したように、本発明におけるデバイスドライバは、複数機種の周辺デバイスを制御可能な汎用のデバイスドライバであり、新規に周辺デバイスが接続された場合、オペレーティングシステムを介さずに周辺デバイスから、固有のデバイス名称を取得し、取得した固有のデバイスを用いて新たな周辺デバイスをオペレーティングシステムに登録する処理を行なう。
【００３７】
また、本発明における周辺デバイスは、オペレーティングシステムに対して通知する共通のデバイス名称が付されており、さらにデバイス名称以外の機種固有のデバイス名称を有し、デバイスドライバからの要求に対して機種固有のデバイス名称を回答する機能を備えている。
【００３８】
なお、デバイスドライバは、オペレーティングシステムを介さずにデバイスの固有名称を取得する際に、その機種独自の機能等を取得して、その機能に応じた設定、処理等をさらに行なうようにしてもよい。
【００３９】
また、別のタイミングで新規な装置がどうかを判断する別例として以下の手順が考えられる。すなわち、処理（Ｓ１０５）から処理（Ｓ１０６）において、汎用プリンタドライバ１２が、接続されたのが新規な装置であるという情報をオペレーティングシステム１１から得ると、処理（Ｓ１０７）から処理（Ｓ１０９）に進み、処理（Ｓ１０９）では、判断を行なわずに登録する。一方、接続されたのが新規な装置ではないという情報を得ると、処理（Ｓ１０７）には進まない。
【図面の簡単な説明】
【００４０】
【図１】プリンタとプリンタドライバとオペレーティングシステムの関係を示す図。
【図２】実施形態における処理を説明するフロー図。
【図３】プリンタとプリンタドライバとオペレーティングシステムの関係を示す図。
【図４】従来における処理を説明するフロー図。
【符号の説明】
【００４１】
１０…ホストコンピュータ、１１…オペレーティングシステム、１２…汎用プリンタドライバ、２０…プリンタ
【図１】
0004586666.tif 000002
【図２】
0004586666.tif 000003
【図３】
0004586666.tif 000004
【図４】
0004586666.tif 000005