(57)【要約】【課題】多数の周辺機器を接続する場合においてもコンピュータに大きな処理負担をかけることなくデバイスドライバを構築することができる情報処理システムを提供する。【解決手段】ＰＣ（情報処理装置）と該ＰＣの指示に応じて動作するプリンタとからなる情報処理システムである。プリンタは、予め自プリンタを動作させるためのプログラムモジュールに関する処理情報を記憶した処理情報格納部を具備している。ＰＣは、予め複数のプログラムモジュールが記憶されたモジュール格納部５５と、プリンタを駆動する際にプリンタから処理情報を取得する処理情報取得部５２と、プリンタ２から取得した処理情報に基づいてモジュール格納部５５内のプログラムモジュールを読み出すモジュール選択部５４とを具備し、印刷時に読み出したモジュールを実行する。【選択図】    図１
2005018232.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおいて、
前記周辺機器は、予め自周辺機器を動作させるためのプログラムモジュールに関する処理情報を記憶した処理情報格納部を具備し、
前記情報処理装置は、
予め複数のプログラムモジュールが記憶されたモジュール格納部と、
前記周辺機器を駆動する際に前記周辺機器から前記処理情報を取得する処理情報取得部と、
前記周辺機器から取得した処理情報に基づいて前記モジュール格納部内のプログラムモジュールを読み出し、実行する第１の処理手段と、
を具備することを特徴とする情報処理システム。
【請求項２】
前記第１の処理手段は、前記処理情報を解析し解析結果に従ってモジュール選択情報を生成する処理情報解析部と、前記モジュール選択情報に従って前記モジュール格納部からプログラムモジュールを読み出すモジュール選択部と、読み出されたプログラムモジュールを実行する実行手段とを具備することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１の処理手段に代えて、外部のサーバと通信ネットワークを介して通信する通信部と、前記周辺機器から取得した処理情報に基づいて前記通信部を介して前記サーバからプログラムモジュールを取得して実行する第２の処理手段とを設けたことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記周辺機器はプリンタであることを特徴とする請求項１〜請求項３のいずれかの項に記載の情報処理システム。
【請求項５】
情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおける情報処理方法において、
前記情報処理装置が、前記周辺機器を動作させるためのプログラムモジュールに関する処理情報を前記周辺機器へ要求する第１の手順と、
前記周辺機器が、内部の処理情報格納部から処理情報を読み出し、前記情報処理装置へ送信する第２の手順と、
前記情報処理装置が、前記周辺機器から取得した処理情報に基づいて内部のモジュール格納部に記憶されたプログラムモジュールを読み出し、実行する第３の手順と、
を有することを特徴とする情報処理方法。
【請求項６】
情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおける前記情報処理装置において、
予め複数のプログラムモジュールが記憶されたモジュール格納部と、
前記周辺機器を駆動する際に前記周辺機器から前記処理情報を取得する処理情報取得部と、
前記周辺機器から取得した処理情報に基づいて前記モジュール格納部内のプログラムモジュールを読み出し、実行する第１の処理手段と、
を具備することを特徴とする情報処理装置。
【請求項７】
情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおいて、
前記情報処理装置を構成するコンピュータに、
前記周辺機器を動作させるためのプログラムモジュールに関する処理情報を前記周辺機器へ要求する第１の手順と、
前記周辺機器から取得した処理情報に基づいて内部のモジュール格納部に記憶されたプログラムモジュールを読み出し、実行する第２の手順と、
を実行させるためのプログラム。
【請求項８】
情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおける前記周辺機器であって、
予め自周辺機器を動作させるためのプログラムモジュールに関する処理情報を記憶した処理情報格納部と、
前記情報処理装置からの要求に応じて前記処理情報格納部から処理情報を読み出し、前記情報処理装置へ送信する送信手段と、
を具備することを特徴とする周辺機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータ等の情報処理装置および周辺機器から構成される情報処理システムに係り、特に、周辺機器とのインターフェースとなるデバイスドライバの改良を図った情報処理システムに関する。
【０００２】
【従来の技術】
従来、デバイスドライバの改良を図った情報処理装置として特許文献１に記載されるものが知られている。この情報処理装置は、出力対象となる周辺機器からデバイスＩＤを取得し、それを元にデータベース管理手段から対応するプロセスＩＤとモジュール識別データを取得してデバイスドライバを構成している。このような構成の場合、対応する周辺機器が増えるほど、データベースに格納されている情報量が増え、ＰＣ（パーソナルコンピュータ）にかかる資源の負荷が増大する問題がある。
【０００３】
また、あらかじめ周辺機器のドライバをインストールする必要があり、ユーザにドライバをインストールすることを強制する。さらに、この従来の情報処理装置は、データベースからデバイスＩＤに適したプロセスＩＤとモジュール識別データを検索し取得するし、さらには処理中に依存処理手段識別情報を用いて、依存部分の処理モジュールの検索、決定をしている。このような構成の場合には、対応する周辺機種が多くなるにつれて、処理時間が著しく増大する可能性がある。
【０００４】
【特許文献１】
特開平１１−０７５４６５号公報
【０００５】
【発明が解決しようとする課題】
本発明は、このような事情を考慮してなされたもので、その目的は、多数の周辺機器を接続する場合においてもコンピュータに大きな処理負担をかけることなくデバイスドライバを構築することができる情報処理システムを提供することにある。
また、本発明の他の目的は、あらかじめ周辺機器のドライバをインストールすることなく、周辺機器駆動時においてデバイスドライバを構築することができる情報処理システムを提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおいて、前記周辺機器は、予め自周辺機器を動作させるためのプログラムモジュールに関する処理情報を記憶した処理情報格納部を具備し、前記情報処理装置は、予め複数のプログラムモジュールが記憶されたモジュール格納部と、前記周辺機器を駆動する際に前記周辺機器から前記処理情報を取得する処理情報取得部と、前記周辺機器から取得した処理情報に基づいて前記モジュール格納部内のプログラムモジュールを読み出し、実行する第１の処理手段とを具備することを特徴とする情報処理システムである。
【０００７】
このような構成によれば、利用するモジュールの検索する手間が省けるため、従来技術に比して利用するモジュールの検索・決定処理を高速に行なうことが可能である。また、処理するモジュールの情報を周辺機器側に持たせることにより、情報処理装置側で選択する際に必要なデータベースを持つ必要がなくなる。これにより、情報処理装置のハードウェア（ＲＡＭサイズ）、ソフトウェア（処理時間）的な負荷が軽減する。これは、対応する周辺機器の機種が多ければ多いほど顕著である。また、特定の機種に対し、複数のモジュールからプリンタドライバを構成するため、同様の処理が必要な機種では既存のモジュールを組み込むことで対応ができる。これにより、モジュールの再利用性が向上する利点がある。
【０００８】
またこの発明は、前記第１の処理手段を、前記処理情報を解析し解析結果に従ってモジュール選択情報を生成する処理情報解析部と、前記モジュール選択情報に従って前記モジュール格納部からプログラムモジュールを読み出すモジュール選択部と、読み出されたプログラムモジュールを実行する実行手段とで構成する。
またこの発明は、前記第１の処理手段に代えて、外部のサーバと通信ネットワークを介して通信する通信部と、前記周辺機器から取得した処理情報に基づいて前記通信部を介して前記サーバからプログラムモジュールを取得して実行する第２の処理手段とを設けたことを特徴とする。
これにより、インターネットを介してサーバから必要なモジュールを取得して、利用することができ、ユーザは周辺機器のドライバをインストールする手間を省くことが出来る。また、すべてのモジュールをインターネットなどネットワーク上からダウンロードして構築するような構成を採れば、ＰＣ側でモジュールを持つ必要がなくなる。これにより、ＰＣのＲＯＭサイズを軽減することが出来る。
またこの発明は、前記周辺機器がプリンタであることを特徴とする。
【０００９】
また、この発明は、情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおける情報処理方法において、前記情報処理装置が、前記周辺機器を動作させるためのプログラムモジュールに関する処理情報を前記周辺機器へ要求する第１の手順と、前記周辺機器が、内部の処理情報格納部から処理情報を読み出し、前記情報処理装置へ送信する第２の手順と、前記情報処理装置が、前記周辺機器から取得した処理情報に基づいて内部のモジュール格納部に記憶されたプログラムモジュールを読み出し、実行する第３の手順とを有することを特徴とする情報処理方法である。これにより、上述した情報処理システムと同様の効果を得ることができる。
【００１０】
またこの発明は、情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおける前記情報処理装置において、予め複数のプログラムモジュールが記憶されたモジュール格納部と、前記周辺機器を駆動する際に前記周辺機器から前記処理情報を取得する処理情報取得部と、前記周辺機器から取得した処理情報に基づいて前記モジュール格納部内のプログラムモジュールを読み出し、実行する第１の処理手段とを具備することを特徴とする情報処理装置である。
【００１１】
またこの発明は、情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおいて、前記情報処理装置を構成するコンピュータに、前記周辺機器を動作させるためのプログラムモジュールに関する処理情報を前記周辺機器へ要求する第１の手順と、前記周辺機器から取得した処理情報に基づいて内部のモジュール格納部に記憶されたプログラムモジュールを読み出し、実行する第２の手順とを実行させるためのプログラムである。
またこの発明は、情報処理装置と該情報処理装置の指示に応じて動作する周辺機器とからなる情報処理システムにおける前記周辺機器であって、予め自周辺機器を動作させるためのプログラムモジュールに関する処理情報を記憶した処理情報格納部と、前記情報処理装置からの要求に応じて前記処理情報格納部から処理情報を読み出し、前記情報処理装置へ送信する送信手段とを具備することを特徴とする周辺機器である。
【００１２】
【発明の実施の形態】
以下、図面を参照し、本発明の実施の形態について説明する。図３は本発明の一実施の形態による情報処理システムの構成を示すブロック図であり、このシステムは、ＰＣ・１とプリンタ２とから構成されている。ＰＣ・１において、３はＣＰＵ（中央処理装置）、４はメモリ、５は各種のファイルが記憶されたファイルシステムである。６はインターネット等のネットワークに接続するためのネットワークインターフェイス、７は周辺機器を接続するための端末間インターフェイス、８はキーボード、マウス等のＩ／Ｏ装置、９はＩ／Ｏ装置８のコントローラ、１０は液晶等による表示装置、１１は表示装置１０のコントローラ、１２はＣＰＵ３のバスラインである。
【００１３】
また、プリンタ２において、２１はＣＰＵ、２２はメモリ、２３はファイルシステム、２４は端末間インターフェイスである。また、２５はＩ／Ｏ装置、２６はＩ／Ｏコントローラ、２７は印刷装置、２８は印刷コントローラ、２９は排紙装置、３０は排紙コントローラ、３１は給紙装置、３２は給紙コントローラ、３３はＣＰＵ２１のバスラインである。
【００１４】
次に、図１はＰＣ・１の周辺機器ドライブ用のドライバコントローラの構成を示すブロック図、図２はプリンタ２のデバイスドライバ用ユニットの構成を示すブロック図である。図２において、４１は処理情報を格納している処理情報格納部である。ここで、処理情報とは、プリンタ２の駆動において必要とされるモジュールとその順番を記述したものであり、図４にそのイメージを示す。ＰＣ・１のドライバコントローラはプリンタ２と通信し、プリンタ２からこの処理情報を取得する。そして、この処理情報を元に必要とするモジュールを組み込み、パスの決定を行ってプリンタドライバを構築する。なお、処理情報格納部４１に格納する情報は１つだけでも良いし、複数であってもよい。複数の場合には、複数の中から一つだけ選択する仕組みを設ける必要がある。
通信部４２は、プリンタ２を利用するＰＣ・１とコネクションを張る。ＰＣ・１からの処理情報取得要求に対し、処理情報格納部４１内の処理情報をＰＣ・１に送信する。
【００１５】
次に、図１において、通信部５１は利用するプリンタ２との通信を司る。通信には、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ，  ＲＳ２３２Ｃなどの有線通信やｂｌｕｅｔｏｏｔｈ（登録商標），ＩＥＥＥ８０２，１１ａなどの無線通信を利用する。印刷時に処理情報取得部５２からの要求によりプリンタ２とコネクションを張り、プリンタ２から処理情報を取得する。また、印刷データの送信を行なう。
【００１６】
処理情報取得部５２は、プリンタ２から処理情報を取得する。取得する際には通信部５１を利用する。通信部５１を利用して取得した処理情報は、処理情報解析部５３へと渡される。処理情報解析部５３は、プリンタ２から取得した処理情報を解析し、モジュールを選択できるレベルの情報に処理する。処理された情報はモジュール選択部５４へ渡される。モジュール選択部５４は、処理情報解析部５３より送られてきた情報を元に、モジュール格納部５５から必要なモジールを取得する。そして、取得した処理モジュールから処理のパスを構築する。また、処理情報解析部５３より送られてきた情報のモジュールを取得できなかった場合は、インターネット上から必要となるモジュールを取得する。そして、選択されたモジュールを用いて実際の印刷処理が行なわれる。モジュール格納部５５は処理に必要なコア部分以外のモジュールを格納しており、モジュール選択部５４から要求されたモジュールをモジュール選択部５４へ出力する。
なお、上述した処理情報解析部５３、モジュール選択部５４および実行手段としてのＣＰＵ３が第１の処理手段を構成している。
【００１７】
次に、上記実施形態による情報処理システムの動作を説明する。本システムは、印刷時にＰＣ・１が有線または無線で接続しているプリンタ２から処理情報を取得し、その処理情報を元に印刷に必要なモジュールを決定する。処理情報のデータ形式はどのようなものでもよく、例えばＸＭＬで記述しているものでもよく、あるいは、独自のフォーマットで記述されているものでもよい。印刷実行時に、実際の印刷処理を行なう前にプリンタから処理情報を取得し、そこから印刷に必要なモジュールを構築し、印刷処理を実施する。
【００１８】
以下、詳細に説明する。図５にＰＣ・１のプリンタドライバのソフトウエア構成を示す。このドライバによる処理は、ＰＣ・１で実行中のアプリケーションから「印刷」機能が指定され、かつ、プリンタ２が指定されたところから開始される。印刷処理は通常の印刷時とほとんど差異はない。
図６に本実施形態で取り扱う処理情報の具体例を示す。図６の例では、処理情報をＸＭＬ文書としている。（ｍｏｄｕｌｅＩｎｆｏ）要素で囲まれた部分により処理情報が構成されている。（ｐｒｏｃｅｓｓＸ）要素は―つの処理を表すものである。Ｘは処理の順番を表す数である。Ｘが１であれば、１番目の処理ということになる。（ｐｒｏｃｅｓｓＸ）要素内のｍｏｄｕｌｅ属性は、その処理で選択するモジュールを表す。例えば、図６の文書内の（ｐｒｏｃｅｓｓ２）要素、つまり２番目の処理では、「ｍｏｄｕｌｅ＿Ｂ＿３」というモジュールが選択されることを意味する。
【００１９】
図７に本実施形態の印刷処理のフローを示す。この処理は大きく分けて４つのステップ、すなわち、処理情報取得ステップＳ１、処理情報解析ステップＳ２、モジュール選択ステップＳ３および印刷ステップＳ４から構成される。ここで、印刷ステップＳ４以外のステップはドライバコントローラの処理である。以下、これらの処理を順次説明する。
【００２０】
○処理情報取得ステップＳ１
図８に処理情報取得ステップＳ１の処理過程を示す。アプリケーションからプリンタ種別を含む印刷指示を受けた処理情報取得部５２は、通信部５１に、指定されたプリンタ検索指示を出力する（ステップＳａ１）。通信部５１はプリンタ検索を行い（ステップＳａ２）、検出したプリンタに対しコネクションを張る（ステップＳａ３）。それに対し、プリンタ２の通信部４２がコネクション確認を返信する（ステップＳａ４）。なお、プリンタ２からの確認がなかった場合は（ステップＳａ５）、通信部５１から処理情報取得部５２へ接続失敗が送られ（ステップＳａ６）、処理情報取得部５２において印刷終了処理が行われる（ステップＳａ７）。
【００２１】
プリンタ２からコネクション確認が得られた時は、次に、処理情報取得部５２が通信部５１へ処理情報取得指示を出力する（ステップＳａ８）。通信部５１はプリンタ２の通信部４２へ処理情報取得要求を送信する（ステップＳａ９）。通信部４２はその要求を受け、処理情報格納部４１へ処理情報取得要求を出力し（ステップＳａ１０）、処理情報格納部４１が処理情報を通信部４２へ出力する（ステップＳａ１１）。通信部４２はその処理情報をＰＣ・１の通信部５１へ出力する（ステップＳａ１２）。通信部５１はその処理情報を処理情報取得部５２へ送る（ステップＳａ１３）。処理情報取得部５２は、通信部５１から受けた処理情報を処理情報解析部５３へ送る（ステップＳａ１４）。処理情報解析部５３は、その処理情報の解析を行う（ステップＳａ１５）。
【００２２】
○処理情報解析ステップＳ２
図９に処理情報解析ステップＳ２の処理過程を示す。このステップＳ２において生成される選択モジュール情報はどのような形式のものでもよい。処理情報がＸＭＬ形式で記述されていればＤＯＭのような木構造オプジェクトを生成しても良く、または、処理モジュールのリストを生成してもよい。
【００２３】
処理情報取得部５２から処理情報を受けた処理情報解析部５３は、その処理情報の解析を行い（ステップＳｂ１）、解析結果に基づいてモジュール選択情報を生成する（ステップＳｂ２）。そして、生成したモジュール選択情報をモジュール選択部５４へ送る（ステップＳｂ３）。なお、解析に失敗した場合、あるいはモジュール選択情報の生成に失敗した場合は終了処理を行い全体的な処理を終了する（ステップＳｂ４）。
【００２４】
○モジュール選択ステップＳ３
図１０にモジュール選択ステップＳ３の処理過程を示す。処理情報解析部５３からモジュール選択情報を受けたモジュール選択部５４は、その選択情報に基づいてモジュール格納部５５にモジュール取得要求を出力する（ステップＳｃ１）。モジュール格納部５５はその要求を受け、要求されたモジュールがない場合はその旨の返信を行い（ステップＳｃ２）、モジュールがある場合はそのモジュールをモジュール選択部５４へ送信する（ステップＳｃ３）。
【００２５】
モジュールなしの場合、モジュール選択部５４は通信部５１へモジュール取得指示を出力する（ステップＳｃ４）。通信部５１はその指示を受け、インターネットを介してモジュール配信サーバへアクセスし、モジュールを取得する。そして、取得したモジュールをモジュール選択部５４へ出力する（ステップＳｃ５）。モジュール選択部５４はそのモジュールをモジュール格納部５５に登録する（ステップＳｃ６）。次に、モジュール選択部５４は、取得したモジュールについて前工程のモジュールとの関連設定を行う（ステップＳｃ７）。そして、上述したステップＳｃ１〜Ｓｃ７の処理を全てのモジュール選択情報に対して繰り返す。
【００２６】
なお、モジュールなしの場合において（ステップＳｃ２）、通信部５１を利用してモジュールを取得するのではなく、予めモジュール格納部５５内にデフォルトモジュールを用意しておき、そのデフォルトモジュールを使用するようにしてもよい（ステップＳｃ８、Ｓｃ９）。
【００２７】
図１１は、図６に示す処理情報に基づいて上述した各処理を行った後の処理構成図である。アプリケーションからの印刷指示があると、その指示はＯＳ（オベレーティングシステム）の描画インターフェイスを介してドライバコントローラモジュールへ送られ、ドライバコントローラモジュール、コアドライバモジュールが実行された後、モジュールＡ１、Ｂ３、Ｃ２が逐次実行され、その結果が、スープラを介してプリンタ２へ送られる。この印刷ステップは通常の印刷処理と変わらないため詳細は省略する。
なお、モジュール格納部５５を用意せず、必要なモジュールはその都度インターネットを介して取得する構成にしてもよい。この場合、ＰＣ・１の内部にモジュールをあらかじめ用意する必要がないため、メモリサイズ（ＲＯＭサイズおよびＲＡＭサイズ）を軽減することができる。
【００２８】
以上がこの発明の一実施形態の詳細である。この実施形態によれば、あらかじめプリンタに処理情報を持たせておき、その処理情報を解析することにより利用するモジュールを決定する。これにより、利用するモジュールの検索する手間が省けるため、従来技術に比して利用するモジュールの検索・決定処理を高速に行なうことが可能である。
【００２９】
また、処理するモジュールの情報をプリンタ側に持たせることにより、ＰＣ側で選択する際に必要なデータベースを持つ必要がなくなる。これにより、ＰＣでのハードウェア（ＲＡＭサイズ）、ソフトウェア（処理時間）的な負荷が軽減する。これは、対応するプリンタの機種が多ければ多いほど顕著である。
また、対応するモジュールがモジュール格納部にない場合には、インターネットを介してサーバから必要なモジュールを取得して、それを利用する。これにより、ユーザはプリンタドライバをインストールする手間を省くことが出来る。
【００３０】
また、すべてのモジュールをインターネットなどネットワーク上からダウンロードして構築するような構成を採れば、ＰＣ側でモジュールを持つ必要がなくなる。これによりＰＣのＲＯＭサイズを軽減することが出来る。
また、特定の機種に対し、複数のモジュールからプリンタドライバを構成するため、同様の処理が必要な機種では既存のモジュールを組み込むことで対応ができる。これにより、モジュールの再利用性が向上する利点がある。
本実施形態はプリンタドライバについてであるが、このようなモジュール（パス）の決定方法は他の周辺機器などでも勿論利用することができる。また、モジュール化アーキテクチャを利用したもの（例えばＸＨＴＭＬ）などにおいては、文書ファイルと一緒に処理のモジュール情報を渡せば、特定サブセット向けのプラウザをその場で構築することが可能になる。
【図面の簡単な説明】
【図１】この発明の一実施形態の構成を示すブロック図。
【図２】プリンタ２に設けられるデバイスドライバ用ユニットを示す図。
【図３】この発明の実施形態による情報処理システムを示すブロック図。
【図４】処理情報格納部４１内の処理情報を示す図。
【図５】プリンタドライバのソフトウエア構成を示す図。
【図６】処理情報の具体例を示す図。
【図７】本実施形態の印刷処理の流れ図。
【図８】処理情報取得ステップＳ１の処理過程を示す流れ図。
【図９】処理情報解析ステップＳ２の処理過程を示す流れ図。
【図１０】モジュール選択ステップＳ３の処理過程を示す流れ図。
【図１１】図６の処理情報に基づく印刷処理過程を示すブロック図。
【符号の説明】
１…ＰＣ（パーソナルコンピュータ）、２…プリンタ、３…ＣＰＵ、４１…処理情報格納部、４２…通信部、５１…通信部、５２…処理情報取得部、５３…処理情報解析部、５４…モジュール選択部、５５…モジュール格納部。
【図１】
2005018232.tif 000003
【図２】
2005018232.tif 000004
【図３】
2005018232.tif 000005
【図４】
2005018232.tif 000006
【図５】
2005018232.tif 000007
【図６】
2005018232.tif 000008
【図７】
2005018232.tif 000009
【図８】
2005018232.tif 000010
【図９】
2005018232.tif 000011
【図１０】
2005018232.tif 000012
【図１１】
2005018232.tif 000013