JP2016021203A - 情報処理システム、情報処理装置及びコンピュータープログラム - Google Patents

情報処理システム、情報処理装置及びコンピュータープログラム Download PDF

Info

Publication number
JP2016021203A
JP2016021203A JP2014145592A JP2014145592A JP2016021203A JP 2016021203 A JP2016021203 A JP 2016021203A JP 2014145592 A JP2014145592 A JP 2014145592A JP 2014145592 A JP2014145592 A JP 2014145592A JP 2016021203 A JP2016021203 A JP 2016021203A
Authority
JP
Japan
Prior art keywords
plug
driver
information processing
registry
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014145592A
Other languages
English (en)
Inventor
純也 村下
Junya Murashita
純也 村下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014145592A priority Critical patent/JP2016021203A/ja
Publication of JP2016021203A publication Critical patent/JP2016021203A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】オペレーティングシステムの共通機能を利用することで、プリンタードライバーに機能を追加するプラグインをサーバーからユーザー端末に展開する情報処理装置及びコンピュータープログラムを提供する。【解決手段】プリントサーバー1は、インストールされたプリンタードライバー110を格納するドライバーストア10と、プラグイン120を格納するユーザーフォルダー12と、プリンタードライバー110の情報を格納するレジストリ13と、を有している。プリンタードライバー110は、プラグイン120を検出するプラグイン検出部114と、プラグイン検出部114が検出したプラグイン120をレジストリ13に登録するレジストリ登録部113aと、を有している。【選択図】図4

Description

本発明は、情報処理システム、情報処理装置及びコンピュータープログラムに関する。
従来より、パーソナルコンピューター(以下「PC」という)や各種デバイスのネットワーク化が進められており、プリンター等のデバイスが複数のクライアントPCで共有して使用されている。また、オフィスなどといった大規模な環境下では、ネットワークにプリントサーバーを設置し、このプリントサーバーにより各クライアントPCからの印刷ジョブを管理している。具体的には、クライアントPCにより発生する印刷ジョブは一旦管理サーバーに送信される。プリントサーバーは、ネットワークを介して受信する印刷ジョブを、印刷ジョブの送信ユーザーによって指定されたプリンターに出力する。
このようなネットワーク環境においては、マイクロソフト社のWINDOWS(登録商標)が提供するPoint&Print(ポイントアンドプリント)機能により、プリンタードライバーをインストールする手法が一般的に用いられている。このPoint&Print機能では、その前提として、プリントサーバーが共有するプリンターのプリンタードライバーを予めインストールしておく必要がある。そして、クライアントPCでは、プリントサーバーが共有するプリンターを指定することで、プリントサーバーにインストールされたプリンタードライバーが当該プリントサーバーからクライアントPCに自動的に送信される。この方法によれば、個々のクライアントPCにてプリンタードライバーのインストールメディアを用意したり、プリンターのIPアドレスを予め調べたりする手間が必要なく、容易に共有プリンターを使用することができる。
また、基準となるプログラムに対して、機能を自在に追加する手法としてプラグインと呼ばれるものが知られている。この手法によれば、基準となるプログラムに対してプラグインを組み込むことで、基準となるプログラムが備えていない機能を利用することが可能となる。
Point&Print機能では、ドライバーパッケージのファイル構成を記述したファイル(INFファイル)に記載されたファイルしかクライアントPCへ展開されないという仕様がある。そのため、元のドライバーパッケージに含まれていないプラグインについては、クライアントPCに展開されないという不都合がある。
例えば特許文献1では、デバイスドライバーに対する機能追加を記述した追加機能データファイルをサーバーの論理プリンターに格納している。これにより、WINDOWSのPoint&Print機能により、追加機能をクライアントPCのプリンタードライバーに反映させることとしている。
例えば特許文献2では、ドライバー情報ファイル(INFファイル)の記述において、ファイルリスト部に、プリンタードライバー本体部を構成するファイル群に属する各ファイル名とともに、プラグイン格納用ファイルのファイル名を記述している。これにより、プリンタードライバー本体に対して複数個のプラグインを追加していっても、ファイルリスト部の記述は変化せず、プラグインファイル格納用ファイルは、OS側からはプリンタードライバーパッケージを構成する1つのファイルであると認識される。そして、プリンタードライバーのインストール動作を制御するOS側は、ドライバー情報ファイルにおけるファイルリスト部の記述に基づきプリンタードライバーパッケージを構成するファイルのファイル名を取得し、取得したファイル名に従いインストール動作を実行する。
特開2009−25865号公報 特開2013−149302号公報
しかしながら、特許文献1に開示された技術は、ドライバーコアが提供する機能のうち、新たに追加された機種でどのような機能を使えるかを示したファイルをレジストリに登録するものである。そして、クライアントPC側では、プリンタードライバーのドライバーコアがそのレジストリデータを参照し、プリンタードライバーが提供する機能を変えることとしている。すなわち、ドライバーコアでサポートされていない機能をプラグインとして追加することまでは想定されていない。
また、特許文献2に開示された技術では、ドライバーストアに格納されているプリンタードライバーがクライアント側にコピーされる。しかしながら、オペレーティングシステムの仕様上、ドライバーコアのファイルを改変することができないので、プラグインをクライアントPC側へ展開することができないという問題がある。
本発明はかかる事情に鑑みてなされたものであり、その目的は、プリンタードライバーに追加するプラグインをサーバーからクライアントに展開することができる情報処理システム、情報処理装置及びコンピュータープログラムを提供することである。
かかる課題を解決するために、第1の発明は、第1の情報処置装置と第2の情報処理装置とからなる情報処理システムを提供する。ここで、第1の情報処理装置は、第1の記憶装置と第1のプロセッサとを備え、第1の記憶装置は、デバイスドライバーを格納するための第1のドライバー格納部と、デバイスドライバーに追加するプラグインを格納するための第1のプラグイン格納部と、デバイスドライバーの情報を格納するための第1のレジストリと、を有し、第1のプロセッサは、第1のプラグイン格納部を検索して第1のプラグインを検出し、検出した第1のプラグインを第1のレジストリに登録する。また、第2の情報処理装置は、第2の記憶装置と第2のプロセッサとを備え、第2の記憶装置は、デバイスドライバーを格納するための第2のドライバー格納部と、デバイスドライバーに追加するプラグインを格納するための第2のプラグイン格納部と、デバイスドライバーの情報を格納するための第2のレジストリと、を有し、第2のプロセッサは、第2のレジストリを検索して第2のプラグインを検出し、検出した第2のプラグインを第2のプラグイン格納部に格納する。
ここで、第1の発明において、Point&Printにより、第1の情報処理装置は、第1のドライバー格納部に格納されたデバイスドライバーと第1のレジストリに格納されたデバイスドライバーの情報を第2の情報処理装置に送信することが好ましい。また、Point&Printにより、第2の情報処理装置は、第1の情報処理装置により送信されたデバイスドライバーを第2のドライバー格納部に格納するとともに第1の情報処理装置により送信されたデバイスドライバーの情報を第2のレジストリに格納することが望ましい。
また、第2の発明は、他の情報処理装置と通信可能な情報処理装置を提供する。この情報処理装置は、記憶装置とプロセッサとを備え、記憶装置は、デバイスドライバーを格納するためのドライバー格納部と、デバイスドライバーに追加するためのプラグインを格納するプラグイン格納部と、デバイスドライバーの情報を格納するためのレジストリと、を有し、プロセッサは、プラグイン格納部を検索してプラグインを検出し、検出したプラグインをレジストリに登録する。
ここで、第2の発明は、Point&Printにより、ドライバー格納部に格納されたデバイスドライバーとレジストリに格納されたデバイスドライバーの情報を他の情報処理装置に送信することが好ましい。
また、第3の発明は、他の情報処理装置と通信可能な情報処理装置を提供する。この情報処理装置は、記憶装置とプロセッサとを備え、記憶装置は、デバイスドライバーを格納するためのドライバー格納部と、デバイスドライバーに追加するプラグインを格納するためのプラグイン格納部と、デバイスドライバーの情報を格納するためのレジストリと、を有し、プロセッサは、レジストリを検索してプラグインを検出し、検出したプラグインをプラグイン格納部に格納する。
ここで、第3の発明は、Point&Printにより、他の情報処理装置により送信されたデバイスドライバーをドライバー格納部に格納するとともに他の情報処理装置により送信されたデバイスドライバーの情報をレジストリに格納することが好ましい。
また、第4の発明は、情報処理装置に所定の処理を実行させるコンピュータープログラムを提供するものであり、この情報処理装置は、デバイスドライバーを格納するためのドライバー格納部と、デバイスドライバーに追加するためのプラグインを格納するプラグイン格納部と、デバイスドライバーの情報を格納するためのレジストリと、を備える記憶装置を有するものである。このコンピュータープログラムは、当該情報処理装置に、プラグイン格納部を検索するステップと、プラグイン格納部において第1のプラグインを検出した場合に、検出したプラグインをレジストリに登録するステップと、レジストリを検索するステップと、レジストリにおいて第2のプラグインを検出した場合に、検出したプラグインをプラグイン格納部に格納するステップと、を実行させる。
ここで、第4の発明において、情報処理装置は、Point&Printにより、ドライバー格納部に格納されたデバイスドライバーとレジストリに格納されたデバイスドライバーの情報を他の情報処理装置に送信する、又は、Point&Printにより、他の情報処理装置により送信されたデバイスドライバーをドライバー格納部に格納するとともにデバイスドライバーの情報をレジストリに格納することが好ましい。
また、第5の発明は、情報処理装置に所定の処理を実行させるコンピュータープログラムを提供するものであり、この情報処理装置は、デバイスドライバーを格納するためのドライバー格納部と、デバイスドライバーに追加するためのプラグインを格納するプラグイン格納部と、デバイスドライバーの情報を格納するためのレジストリと、を備える記憶装置を有するものである。このコンピュータープログラムは、当該情報処理装置に、当該情報処理装置がサーバーであるか、それともクライアントであるかを判断するステップと、情報処理装置がサーバーであると判断された場合に、プラグイン格納部を検索するステップと、プラグイン格納部において第1のプラグインを検出した場合に、検出した第1のプラグインをレジストリに登録するステップと、情報処理装置がクライアントであると判断された場合に、レジストリを検索するステップと、レジストリにおいて第2のプラグインを検出した場合に、検出した第2のプラグインをプラグイン格納部に格納するステップと、を実行させる。
ここで、第5の発明において、情報処理装置は、当該情報処理装置がサーバーである場合には、Point&Printにより、ドライバー格納部に格納されたデバイスドライバーとレジストリに格納されたデバイスドライバーの情報をユーザー端末に送信し、情報処理装置がユーザー端末である場合には、Point&Printにより、サーバーにより送信されたデバイスドライバーをドライバー格納部に格納するとともにデバイスドライバーの情報をレジストリに格納することが好ましい。
本発明によれば、プラグインをレジストリに登録することで、プリンタードライバーのみならず、プラグインも第1の情報処理装置から第2の情報処理装置へと展開することが可能となる。これにより、プリンタードライバーでサポートされていない機能をプリンタードライバーに追加することができる。
印刷制御システムの構成を示す説明図 プリントサーバーの構成を示すブロック図 クライアントPCの構成を示すブロック図 プリントサーバーのシステム構成を示すブロック図 クライアントPCのシステム構成を示すブロック図 プリントサーバーにおけるレジストリ登録の処理を示すフローチャート クライアントPCにおけるファイル復元の処理を示すフローチャート
図1は、本実施形態に係る印刷制御システムの構成を示す説明図である。情報処理システムの一例である印刷制御システムは、プリントサーバー1と、クライアントPC2と、プリンター3とで構成されている。プリントサーバー1と、クライアントPC2と、プリンター3とは、LAN(Local Area Network)などのネットワーク5に接続されて、互いに通信可能に構成されている。なお、本実施形態では、プリントサーバー1と、クライアントPC2と、プリンター3とがそれぞれ一つずつ設けられているが、一つ以上備える構成であってもよい。また、ネットワーク5は、インターネットなどの外部ネットワークを含む構成であってもよい。
図2は、プリントサーバー1の構成を示すブロック図である。プリントサーバー1は、CPU1a、ROM1b、RAM1c、記憶装置1d、表示装置1e、入力装置1f、ネットワークI/F部1gなどを備え、これらはバス1hを介して相互に接続されている(第1の情報処理装置)。
プロセッサとしてのCPU1aは、OS(Operating System)プログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する。ROM1bは、CPU1aが実行する各種プログラムを、当該CPU1aが読み取り可能なプログラムコードの形態で格納する。また、ROM1bは、プログラムの実行に必要となるデータを記憶する。RAM1cは、作業用の記憶領域となる。ROM1b及び記憶装置1dに格納されたプログラム及びデータは、CPU1aにより読み出されると、RAM1c上に展開される。そして、CPU1aは、RAM1c上に展開したプログラム及びデータに基づいて、各種の処理を行う。
記憶装置1dは、例えばHDD(Hard Disk Drive)からなる補助記憶装置であり、クライアントPC1から送信されてきた印刷ジョブを一時的に保存したり、その他各種のアプリケーションプログラムやデータ等を保存したりしている。表示装置1dは、CRTや液晶表示装置等からなり、各種のメッセージ及びユーザーに対する入力受付画面、選択画面等を表示する。入力装置1fは、キーボードやマウス等からなり、ユーザーによる入力操作に用いられる。ネットワークI/F部1gは、クライアントPC2やプリンター3等の外部機器との間で、ネットワーク5を介して、データの送受信を行う通信手段である。
このプリントサーバー1は、オペレーティングシステムとして、例えばWINDOWSを搭載している。プリントサーバー1には、ネットワーク5上のプリンター3に対応するデバイスドライバーの一例であるプリンタードライバーがインストールされ、当該プリンター3を共有している。プリントサーバー1は、クライアントPC2から送信される印刷ジョブを受信すると、その印刷ジョブをネットワーク5に接続されているプリンター3に送信し、そのプリンター3により印刷を行わせる。このプリントサーバー1は、WINDOWSのPoint&Print機能により、ネットワーク5上のプリンター3に対応するプリンタードライバー110をクライアントPCに展開することができる。
図3は、クライアントPC2の構成を示すブロック図である。クライアントPC2は、CPU2a、ROM2b、RAM2c、記憶装置2d、表示装置2e、入力装置2f、ネットワークI/F部2gなどを備え、これらはバス2hを介して相互に接続されている(第2の情報処理装置)。
プロセッサとしてのCPU2aは、OS(Operating System)プログラムをベースとし、その上で、ミドルウェアやアプリケーションプログラムなどを実行する。ROM2bは、CPU2aが実行する各種プログラムを、当該CPU2aが読み取り可能なプログラムコードの形態で格納する。また、ROM2bは、プログラムの実行に必要となるデータを記憶する。RAM2cは、作業用の記憶領域となるメモリである。ROM2b及び記憶装置1dに格納されたプログラム及びデータは、CPU2aにより読み出されると、RAM2c上に展開される。そして、CPU2aは、RAM2c上に展開したプログラム及びデータに基づいて、各種の処理を行う。
記憶装置2dは、例えばHDD(Hard Disk Drive)からなる補助記憶装置であり、各種のアプリケーションプログラムやデータ等を保存したりしている。表示装置2dは、CRTや液晶表示装置等からなり、各種のメッセージ及びユーザーに対する入力受付画面、選択画面等を表示する。入力装置26は、キーボードやマウス等からなり、ユーザーによる入力操作に用いられる。ネットワークI/F部2gは、プリントサーバー1やプリンター3等の外部機器との間で、ネットワーク5を介して、データの送受信を行う通信手段である。
このクライアントPC2は、オペレーティングシステムとして、例えばWINDOWSを搭載している。クライアントPC2には、オペレーティングシステム上で動作するアプリケーションプログラムがインストールされている。クライアントPC2は、アプリケーションプログラムにより作成された文書に対して印刷要求がなされると、プリンタードライバー110が印刷設定に応じた印刷データを作成する。そして、クライアントPC2は、プリントサーバー1に印刷ジョブを送信する。クライアントPC2には、WINDOWSのPoint&Print機能により、ネットワーク5上のプリンター3に対応するプリンタードライバー110がプリントサーバー1から展開されている。
プリンター3は、プリントサーバー1から印刷ジョブを取得し、その印刷ジョブを実行することによって印刷出力を行う。すなわち、プリンター3は、印刷ジョブを受信すると、その印刷ジョブに基づいて用紙などに画像形成を行うことによって印刷出力を行う画像形成装置である。なお、プリンター3は、印刷出力を行うプリント機能のみを備えた装置であってもよいし、プリント機能の他にスキャン機能やコピー機能などを備えた複合機として構成される装置であってもよい。
図4は、本実施形態に係るプリントサーバー1のシステム構成を示すブロック図である。プリントサーバー1は、ドライバーストア10と、システムフォルダー11と、ユーザーフォルダー12と、レジストリ13とで構成されている。
ドライバーストア10は、プリンタードライバー110のデータベースシステムであり、管理者によりインストールされたプリンタードライバー110を格納する。ドライバーストア10へのファイルの追加・削除は、オペレーティングシステムが管理しており、プリンタードライバー110のインストール及びアンインストールを介して行われる。そのため、プリンタードライバー110のインストール後に、ユーザーの操作でドライバーストア10内のプリンタードライバー110の一部ファイルのみを変更することはできない。本実施形態において、Point&Print機能によりプリントサーバー1とクライアントPC2との間で授受されるプリンタードライバー110は、プリントサーバー1のドライバーストア10に格納されたデータが対象となる。
システムフォルダー11は、ドライバーストア10からコピーされたプリンタードライバー110を格納する。このシステムフォルダー11には、オペレーティングシステム上でプリンタードライバーとして動作するファイルが格納される。プリンタードライバー110の構成については後述する。
ユーザーフォルダー12は、プラグイン120のファイルを格納するフォルダーである。ユーザーフォルダー12は、上述のドライバーストア10及びシステムフォルダー11と異なるフォルダーである。プラグイン120は、プリンタードライバー110に新たな機能を追加するために当該プリンタードライバー110に追加するプログラムであり、プリンタードライバー110が読み出して利用するライブラリや、それ自身で実行可能な実行ファイルなどから構成される。このユーザーフォルダー12に格納されたファイルが、プリンタードライバー110によりプラグインとして認識され、利用されることとなる。
レジストリ13は、オペレーティングシステムで用いられている設定情報のデータベースである。このレジストリ13には、インストールされたプリンタードライバー110の情報や、プリンタードライバー110で利用する設定情報が格納される。WINDOWSのPoint&Print機能では、ドライバーストア10に格納されたデータのみならず、このレジストリ13に格納された情報も、プリントサーバー1とクライアントPC2との間で授受される。
プリンタードライバー110は、ユーザーインターフェース部(UI部)111と、レンダリング部112と、プラグイン操作部113と、プラグイン検出部114と、を有している。
UI部111は、ユーザーがプリンタードライバー110の操作を行うためのダイアログを生成して表示装置(図示せず)に表示させるユーザーインターフェースである。UI部111が生成するダイアログとしては、印刷設定や、プリンター3のオプション設定等が挙げられる。
レンダリング部112は、アプリケーションプログラムから印刷を要求されたデータを、UI部111のダイアログを通じて設定された印刷設定及びオプション設定に従い、プリンター3が印刷可能な形式に変換し、これにより、印刷データを生成する。
プラグイン操作部113は、後述するプラグイン検出部114の指示を受けて、プラグイン120に関する操作を行うものである。このプラグイン操作部113は、レジストリ登録部113aと、ファイル復元部113bとを有している。
レジストリ登録部113aは、ユーザーフォルダー12に格納されたプラグイン120のファイルとそのファイル名とをバイナリ化して、そのデータをレジストリ13のプリンタードライバー110の情報内に登録する。このレジストリ登録部113aは、プリンタードライバー110がプリントサーバー1に適用された際に、その機能を担うこととなる。
ファイル復元部113bは、レジストリ13のプリンタードライバー110の情報内に保存されているバイナリ化されたプラグイン120とそのファイル名との情報から、プラグインのファイルを復元する(プラグインのファイルに変換する)。そして、ファイル復元部113bは、プラグイン120のファイルをユーザーフォルダー12に格納する。このファイル復元部113bは、プリンタードライバー110がクライアントPC2に適用された際に、その機能を担うこととなる。
プラグイン検出部114は、プリンタードライバー110のプラグイン120を検出する。具体的には、プリンタードライバー110がプリントサーバー1に適用された際には、プラグイン検出部114は、ユーザーフォルダー12を検索し、プラグイン120のファイルを検出する(第1の検出部)。プラグイン検出部114はユーザーフォルダー12においてプラグイン120のファイルを検出した場合には、レジストリ登録部113aにレジストリ登録の指示を行う。
また、プリンタードライバー110がクライアントPC2に適用された際には、プラグイン検出部114は、レジストリ13を検索し、プラグイン120のデータを検出する。プラグイン検出部114はレジストリ13においてプラグイン120のデータを検出した場合には、ファイル復元部113bにファイル復元の指示を行う。
図5は、本実施形態に係るクライアントPC2のシステム構成を示すブロック図である。クライアントPC2は、ドライバーストア20と、システムフォルダー21と、ユーザーフォルダー22と、レジストリ23とで構成されている。これらの要素は、プリントサーバー1におけるドライバーストア10と、システムフォルダー11と、ユーザーフォルダー12と、レジストリ13と対応しており、その詳細については説明を省略する。
つぎに、図4を参照し、プリントサーバー1に関する処理を説明する。まず、管理者の操作によりプリントサーバー1にプリンタードライバー110がインストールされると、プリンタードライバー110がドライバーストア10に格納される。
つぎに、ドライバーストア10からシステムフォルダー11にプリンタードライバー110がコピーされる。このシステムフォルダー11にコピーされたドライバーストア10が、オペレーティングシステム上で動作するファイルとなる。
プリンタードライバー110のインストール後には、必要に応じて、管理者の操作によりプリントサーバー1にプラグイン120が追加される。このプラグイン120が追加されると、そのファイルは、ユーザーフォルダー12に格納される。
図6は、プリントサーバー1におけるレジストリ登録の処理を示すフローチャートである。プリントサーバー1は、ROM1bに記憶されたプログラムをCPU1aが実行することにより、図6のフローチャートに示す処理を実現する。
まず、ステップS10において、プラグイン検出部114は、ユーザーフォルダー12を探索する。
ステップS11において、プラグイン検出部114は、ユーザーフォルダー12においてプラグイン120を検出したか否かを判断する。このステップS11において肯定判定された場合、すなわち、プラグイン120を検出した場合には、ステップS12に進む。一方、ステップS11において否定判定された場合、すなわち、プラグイン120を検出しない場合には、本処理を終了する(END)。
ステップS12において、プラグイン検出部114は、プラグイン120をレジストリ13に登録するように、レジストリ登録部113aに指示を行う(レジストリ登録の指示)。
ステップS13において、レジストリ登録部113aは、ユーザーフォルダー12に格納されたプラグイン120のファイルとそのファイル名とをバイナリ化する。そして、レジストリ登録部113aは、バイナリ化したプラグイン120のデータを、レジストリ13のプリンタードライバーの情報内に登録し、本処理を終了する(END)。
この際、レジストリ登録部113aは、既にレジストリ13にプラグイン120のデータが登録されていた場合には、ユーザーフォルダー12に存在するプラグイン120のバージョンと既に登録されていたプラグイン120のバージョンとを比較する。そして、ユーザーフォルダー12に存在するプラグイン120の方がバージョンが新しい場合には、レジストリ登録部113aは、レジストリ13のデータを上書きする。一方、ユーザーフォルダー12に存在するプラグイン120の方がバージョンが古い場合には、レジストリ登録部113aは、何もしない。
つぎに、図5を参照し、クライアントPC2に関する処理を説明する。まず、Point&Print機能により、プリントサーバー1からプリンタードライバー110がインストールされる。これにより、プリントサーバー1のドライバーストア10からクライアントPC2へとプリンタードライバー110が展開され、クライアントPC2のドライバーストア20に格納される。同様に、プリントサーバー1のレジストリ13からクライアントPC2へとその情報が展開され、クライアントPC2のレジストリ23に格納される。プリントサーバー1にプラグイン120が追加されている場合、レジストリ13の情報には、バイナリ化されたプラグイン120のデータが含まれている。これにより、Point&Print機能を通じて、クライアントPC2にプラグイン120も提供されることとなる。
プリンタードライバー110がドライバーストア20にコピーされると、ドライバーストア20からシステムフォルダー21にプリンタードライバー110がコピーされる。このシステムフォルダー21にコピーされたドライバーストア20が、オペレーティングシステム上で動作する。
図7は、クライアントPC2におけるファイル復元の処理を示すフローチャートである。クライアントPC2は、ROM2bに記憶されたプログラムをCPU2aが実行することにより、図7のフローチャートに示す処理を実現する。
まず、ステップS20において、プラグイン検出部114は、レジストリ23を探索する。
ステップS21において、プラグイン検出部114は、レジストリ23においてプラグイン120のデータを検出したか否かを判断する。このステップS21において肯定判定された場合、すなわち、プラグイン120を検出した場合には、ステップS22に進む。一方、ステップS21において否定判定された場合、すなわち、プラグイン120を検出しない場合には、本処理を終了する(END)。
ステップS22において、プラグイン検出部114は、プラグイン120をユーザーフォルダー22に復元するように、ファイル復元部113bに指示を行う(ファイル復元の指示)。
ステップS23において、ファイル復元部113bは、レジストリ23のプラグイン120のデータとそのファイル名とからファイルに復元する。そして、ファイル復元部113bは、プラグイン120のファイルを、ユーザーフォルダー22の所定の場所にコピーし、本処理を終了する(END)。
このように本実施形態によれば、プリントサーバー1とクライアントPC2とからなる情報処理システムが構成されている。ここで、プリントサーバー1は、記憶装置1d(第1の記憶装置)とCPU1a(第1のプロセッサ)とを備えている。記憶装置1dは、プリンタードライバー110を格納するためのドライバーストア(第1のドライバー格納部)10と、プリンタードライバー110に追加するプラグイン120を格納するためのユーザーフォルダー12(第1のプラグイン格納部)と、プリンタードライバー110の情報を格納するためのレジストリ13(第1のレジストリ)と、を有している。そして、CPU1aは、ユーザーフォルダー12を検索してプラグイン120(第1のプラグイン)を検出し、検出したプラグイン120をレジストリ13に登録する。一方、クライアントPC2は、記憶装置2d(第2の記憶装置)とCPU2a(第2のプロセッサ)とを備えている。記憶装置2dは、プリンタードライバー110を格納するためのドライバーストア20(第2のドライバー格納部)と、プリンタードライバー110に追加するプラグイン120を格納するためのユーザーフォルダー22(第2のプラグイン格納部)と、プリンタードライバー110の情報を格納するためのレジストリ23(第2のレジストリ)と、を有している。そして、CPU2aは、レジストリ23を検索してプラグイン120(第2のプラグイン)を検出し、検出したプラグイン120をユーザーフォルダー22に格納する。
この構成によれば、プリントサーバー1に追加されたプラグイン120は、レジストリ13へと登録されることとなる。オペレーティングシステムのPoint&Print機能では、ドライバーストア10に格納されたデータのみならず、レジストリ13に格納された情報もプリントサーバー1からクライアントPC2に送信される。これにより、プリンタードライバー110のみならず、プラグイン120もクライアントPC2に展開されることとなる。このプラグイン120により、プリンタードライバー110(ドライバーコア)でサポートされていない機能をクライアントPC2に追加することができる。
なお、上述した実施形態では、プリンタードライバー110は、プリントサーバー1として動作しているか、それともクライアントPC2として動作しているかを認識せずに、プラグイン検出部114によるプラグイン120の検出結果に応じて動作している。しかしながら、プリンタードライバー110が、サーバーとして動作しているか、クライアントとして動作しているかを認識し、それに応じて動作を切り替えることもできる。プリンタードライバー110が、プリントサーバー1として動作しているか、それともクライアントPC2として動作しているかを認識することは、レジストリ13,23に含まれる情報を参照することで行うことができる。
具体的には、プリントサーバー1から提供されたプリンタードライバー110、すなわち、クライアントPC2のドライバーストア20に格納されるプリンタードライバー110のレジストリ23には、対応するプリンタードライバー110を提供したプリントサーバー1を識別するための識別情報が含まれている。そのため、プリンタードライバー110は、レジストリ13,23にプリントサーバー1の識別情報が含まれる場合は、自身がクライアントPC2として動作していると認識し、上述のステップ21以降の処理を行う。また、プリンタードライバー110は、レジストリ13,23にプリントサーバー1の識別情報が含まれない場合は自身がプリントサーバー1として動作していると認識し、上述のステップ11以降の処理を行う。
以上、本発明の実施形態にかかるプリントサーバー及びクライアントを含む情報処理装置について説明したが、本発明は上述した実施形態に限定されることなく、その発明の範囲内において種々の変形が可能であることはいうまでもない。例えば、プリンタードライバーに限らず、スキャナードライバーやファクスドライバー等、種々のデバイスに適用するデバイスドライバーについて適用することができる。また、サーバー及びクライアントに上述の処理を実行させるコンピュータープログラム、及びこのコンピュータープログラムを記憶してコンピューター読取可能な情報記憶媒体も本発明の一部として機能する。
1 プリントサーバー(情報処理装置)
10 ドライバーストア
11 システムフォルダー
12 ユーザーフォルダー
13 レジストリ
2 クライアントPC(情報処理装置)
20 ドライバーストア
21 システムフォルダー
22 ユーザーフォルダー
23 レジストリ
110 プリンタードライバー
111 UI部
112 レンダリング部
113 プラグイン操作部
113a レジストリ登録部
113b ファイル復元部
114 プラグイン検出部
120 プラグイン

Claims (10)

  1. 第1の情報処置装置と第2の情報処理装置とからなる情報処理システムであって、
    前記第1の情報処理装置は、
    第1の記憶装置と第1のプロセッサとを備え、
    前記第1の記憶装置は、
    デバイスドライバーを格納するための第1のドライバー格納部と、
    前記デバイスドライバーに追加するプラグインを格納するための第1のプラグイン格納部と、
    前記デバイスドライバーの情報を格納するための第1のレジストリと、を有し、
    前記第1のプロセッサは、
    前記第1のプラグイン格納部を検索して第1のプラグインを検出し、
    検出した前記第1のプラグインを前記第1のレジストリに登録し、
    前記第2の情報処理装置は、
    第2の記憶装置と第2のプロセッサとを備え、
    前記第2の記憶装置は、
    前記デバイスドライバーを格納するための第2のドライバー格納部と、
    前記デバイスドライバーに追加するプラグインを格納するための第2のプラグイン格納部と、
    前記デバイスドライバーの情報を格納するための第2のレジストリと、を有し、
    前記第2のプロセッサは、
    前記第2のレジストリを検索して第2のプラグインを検出し、
    検出した前記第2のプラグインを前記第2のプラグイン格納部に格納する、
    ことを特徴とする情報処理システム。
  2. Point&Printにより、前記第1の情報処理装置は、前記第1のドライバー格納部に格納されたデバイスドライバーと前記第1のレジストリに格納されたデバイスドライバーの情報を前記第2の情報処理装置に送信し、
    Point&Printにより、前記第2の情報処理装置は、前記第1の情報処理装置により送信された前記デバイスドライバーを前記第2のドライバー格納部に格納するとともに前記第1の情報処理装置により送信された前記デバイスドライバーの情報を前記第2のレジストリに格納することを特徴とする請求項1に記載された情報処理システム。
  3. 他の情報処理装置と通信可能な情報処理装置であって、
    記憶装置とプロセッサとを備え、
    前記記憶装置は、
    デバイスドライバーを格納するためのドライバー格納部と、
    前記デバイスドライバーに追加するためのプラグインを格納するプラグイン格納部と、
    前記デバイスドライバーの情報を格納するためのレジストリと、を有し、
    前記プロセッサは、
    前記プラグイン格納部を検索してプラグインを検出し、
    検出した前記プラグインを前記レジストリに登録する、
    ことを特徴とする情報処理装置。
  4. Point&Printにより、前記ドライバー格納部に格納されたデバイスドライバーと前記レジストリに格納されたデバイスドライバーの情報を前記他の情報処理装置に送信することを特徴とする請求項3に記載された情報処理装置。
  5. 他の情報処理装置と通信可能な情報処理装置であって、
    記憶装置とプロセッサとを備え、
    前記記憶装置は、
    デバイスドライバーを格納するためのドライバー格納部と、
    前記デバイスドライバーに追加するプラグインを格納するためのプラグイン格納部と、
    前記デバイスドライバーの情報を格納するためのレジストリと、を有し、
    前記プロセッサは、
    前記レジストリを検索してプラグインを検出し、
    検出した前記プラグインを前記プラグイン格納部に格納する、
    ことを特徴とする情報処理装置。
  6. Point&Printにより、前記他の情報処理装置により送信されたデバイスドライバーを前記ドライバー格納部に格納するとともに前記他の情報処理装置により送信された前記デバイスドライバーの情報を前記レジストリに格納することを特徴とする請求項5に記載された情報処理装置。
  7. 情報処理装置に所定の処理を実行させるコンピュータープログラムにおいて、
    前記情報処理装置は、
    デバイスドライバーを格納するためのドライバー格納部と、
    前記デバイスドライバーに追加するためのプラグインを格納するプラグイン格納部と、
    前記デバイスドライバーの情報を格納するためのレジストリと、を備える記憶装置を有するものであり、
    当該情報処理装置に、
    前記プラグイン格納部を検索するステップと、
    前記プラグイン格納部において第1のプラグインを検出した場合に、検出した前記プラグインをレジストリに登録するステップと、
    前記レジストリを検索するステップと、
    前記レジストリにおいて第2のプラグインを検出した場合に、検出した前記プラグインを前記プラグイン格納部に格納するステップと、
    を実行させることを特徴とするコンピュータープログラム。
  8. 前記情報処理装置は、Point&Printにより、前記ドライバー格納部に格納されたデバイスドライバーと前記レジストリに格納されたデバイスドライバーの情報を他の情報処理装置に送信する、又は、Point&Printにより、他の情報処理装置により送信された前記デバイスドライバーを前記ドライバー格納部に格納するとともに前記デバイスドライバーの情報を前記レジストリに格納することを特徴とする請求項7に記載されたコンピュータープログラム。
  9. 情報処理装置に所定の処理を実行させるコンピュータープログラムにおいて、
    前記情報処理装置は、
    デバイスドライバーを格納するためのドライバー格納部と、
    前記デバイスドライバーに追加するためのプラグインを格納するプラグイン格納部と、
    前記デバイスドライバーの情報を格納するためのレジストリと、を備える記憶装置を有するものであり、
    当該情報処理装置に、
    当該情報処理装置がサーバーであるか、それともクライアントであるかを判断するステップと、
    前記情報処理装置が前記サーバーであると判断された場合に、前記プラグイン格納部を検索するステップと、
    前記プラグイン格納部において第1のプラグインを検出した場合に、検出した前記第1のプラグインをレジストリに登録するステップと、
    前記情報処理装置が前記クライアントであると判断された場合に、前記レジストリを検索するステップと、
    前記レジストリにおいて第2のプラグインを検出した場合に、検出した前記第2のプラグインを前記プラグイン格納部に格納するステップと、
    を実行させることを特徴とするコンピュータープログラム。
  10. 前記情報処理装置は、
    当該情報処理装置が前記サーバーである場合には、Point&Printにより、前記ドライバー格納部に格納されたデバイスドライバーと前記レジストリに格納されたデバイスドライバーの情報を前記ユーザー端末に送信し、
    前記情報処理装置が前記ユーザー端末である場合には、Point&Printにより、前記サーバーにより送信された前記デバイスドライバーを前記ドライバー格納部に格納するとともに前記デバイスドライバーの情報を前記レジストリに格納することを特徴とする請求項9に記載されたコンピュータープログラム。
JP2014145592A 2014-07-16 2014-07-16 情報処理システム、情報処理装置及びコンピュータープログラム Pending JP2016021203A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014145592A JP2016021203A (ja) 2014-07-16 2014-07-16 情報処理システム、情報処理装置及びコンピュータープログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014145592A JP2016021203A (ja) 2014-07-16 2014-07-16 情報処理システム、情報処理装置及びコンピュータープログラム

Publications (1)

Publication Number Publication Date
JP2016021203A true JP2016021203A (ja) 2016-02-04

Family

ID=55265994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014145592A Pending JP2016021203A (ja) 2014-07-16 2014-07-16 情報処理システム、情報処理装置及びコンピュータープログラム

Country Status (1)

Country Link
JP (1) JP2016021203A (ja)

Similar Documents

Publication Publication Date Title
US11989462B2 (en) Information processing apparatus, method, and a non-transitory storage medium, receives first print settings information supports the internet printing protocol (IPP) and further receives second print settings that does not support the internet printing protocol (IPP) from printer
US8640148B2 (en) Information processing apparatus, information processing method and storage medium
JP6787115B2 (ja) 画像形成装置、機能追加方法、プログラム、
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2008009967A (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
JP6890938B2 (ja) 情報処理装置
US9965299B2 (en) Information processing apparatus, method for controlling the same, and storage medium
JP5581793B2 (ja) 情報処理装置、プログラムおよび記憶媒体
US20150355871A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
JP2016177432A (ja) プログラム、情報処理装置、記憶媒体、画面作成方法
JP2018084893A (ja) 情報処理装置、制御方法およびプログラム
US9262105B2 (en) Printing system, control method for information processing apparatus, and non-transitory computer-readable medium for transmitting setting information
JP2017204139A (ja) 更新アプリケーション及び更新方法
JP5919925B2 (ja) プログラム、情報処理装置、記憶媒体
JP2016021203A (ja) 情報処理システム、情報処理装置及びコンピュータープログラム
JP6375817B2 (ja) 印刷制御システム、情報処理装置及びコンピュータープログラム
US11314469B2 (en) Information processing device and control method to generate a virtual device in the information processing device
US8643885B2 (en) Printing control apparatus and non-transitory computer readable medium with setting authentication information in a devmode structure
US11327693B2 (en) Computer-readable medium, information processing device, and Method for installing appropriate program
US20240069818A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
US20230333786A1 (en) Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
JP2016053861A (ja) 画像形成装置の監視情報の管理システム及びプログラム
JP6415150B2 (ja) 機能提供装置、機能提供プログラム
JP5737330B2 (ja) プログラム、記憶媒体、情報処理装置及びシステム
JP2006146490A (ja) 印刷制御装置及び印刷制御プログラム