JP5022748B2 - クライアント装置及び情報処理方法 - Google Patents

クライアント装置及び情報処理方法 Download PDF

Info

Publication number
JP5022748B2
JP5022748B2 JP2007077099A JP2007077099A JP5022748B2 JP 5022748 B2 JP5022748 B2 JP 5022748B2 JP 2007077099 A JP2007077099 A JP 2007077099A JP 2007077099 A JP2007077099 A JP 2007077099A JP 5022748 B2 JP5022748 B2 JP 5022748B2
Authority
JP
Japan
Prior art keywords
module
print
client
module configuration
server
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.)
Expired - Fee Related
Application number
JP2007077099A
Other languages
English (en)
Other versions
JP2008234577A (ja
Inventor
浩暁 中田
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2007077099A priority Critical patent/JP5022748B2/ja
Priority to US12/051,747 priority patent/US20080231891A1/en
Publication of JP2008234577A publication Critical patent/JP2008234577A/ja
Application granted granted Critical
Publication of JP5022748B2 publication Critical patent/JP5022748B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Description

本発明は、クライアント装置及び情報処理方法に関する。
近年、予めサーバ(サーバ装置)にインストールされているデバイスドライバをダウンロードしてインストールを行い、クライアント(クライアント装置)で利用可能にする「ダウンロードインストール」技術が開発されている。
デバイスドライバの中でも、プリンタドライバを例に取ると、Windows(登録商標)オペレーティングシステムにおけるポイントアンドプリント(Point&Print)がその一例として良く知られている。
例えば、クライアントでユーザがポイントアンドプリントの指示を行うと、クライアントはポイントアンドプリントの際に、リモートプロシージャコール(RPC)の「true connect」プリンタ接続を作成する。
RPC接続が作成されると、プリントサーバからクライアントへプリンタドライバと、プリンタとの設定がダウンロードされる。更に、クライアントはプリントサーバから自動的にモジュールやデバイス設定の更新を受け取ることができる。
プリンタドライバのモジュールやデバイス設定が更新されると、クライアントは新しい設定を非同期的に受け取り、そのドライバを用いて印刷処理を実行する。
一方、あるベースとなるプログラムに対して付加機能を自由に着脱することができる「プラグイン」と呼ばれる仕組みが広く知られている。
このようなプラグインの仕組みは、一般的なアプリケーションソフトばかりでなく、デバイスドライバであるプリンタドライバにも応用され、開発が行われている。
プリンタドライバは、オペレーティングシステム(OS)に組み込まれた印刷サービスの制御下で動作するため、プリンタドライバも印刷サービスに対する一種のプラグインとみなすことができる。
しかしながら、このようなインストール済みのプリンタドライバに対して、更にプラグインとしてプログラムファイルやデータファイル等のモジュールを追加したり、削除したりする方法も研究されている。
特許文献1では、これらプリンタドライバの支配下のプラグインモジュールがポイントアンドプリントのようなOS支配下のインストールの系でも正しくインストールするシステムについての提案がなされている。
ところで、Windows(登録商標) Vistaでは、従来のポイントアンドプリントを発展させ、セキュリティを向上させたパッケージポイントアンドプリント(Package Point&Print)というインストール方法が導入されている。
パッケージポイントアンドプリントとは「パッケージ」と呼ばれる予めOSに登録されたインストールセットを、クライアントに一旦ダウンロードしてからセットアップするインストール方法である。
パッケージポイントアンドプリントでは、インストール後のプリンタドライバでなく、インストール前のインストールセットであるパッケージを使ってインストールが行われる。
インストール前のインストールセットは電子的に署名されているため、パッケージポイントアンドプリントは、従来のポイントアンドプリントよりも信頼性が高いとされている。
特開2005−208895号公報
しかしながら、パッケージポイントアンドプリントでは、予め署名された未インストールのパッケージを使ってインストールが行われる。
そのため、サーバのドライバにプラグインモジュールが付加されていた場合、プラグインモジュールがダウンロードインストールされないという問題がある。
更に、従来のポイントアンドプリントで有効だったクライアントへのプログラムの自動更新機能は、パッケージポイントアンドプリントではセキュリティの強化を理由に無効化されている。
したがって、特許文献1で提案されている方法でサーバと、クライアントとのモジュール構成の整合性をとることもできない。
本発明はこのような問題点に鑑みなされたもので、サーバ装置とクライアント装置との間のモジュール構成の差異を解消することを目的とする。
そこで、本発明は、共有設定されたプリンタを管理するサーバ装置と、ネットワークを介して通信可能なクライアント装置であって、前記共有設定されたプリンタについてのパッケージポイントアンドプリントの処理の完了を示す当該クライアント装置内のスプーラからの通知に応じて、前記パッケージポイントアンドプリントの処理により当該クライアント装置にインストールされているデバイスドライバに関するモジュール構成情報を収集する収集手段と、前記収集手段が収集した前記モジュール構成情報を前記サーバ装置に送信するモジュール構成情報送信手段と、当該クライアント装置にインストールされているデバイスドライバに関するモジュール構成と、前記サーバ装置にインストールされているデバイスドライバに関するモジュール構成と、の差異を補完する補完データを前記サーバ装置より受信する補完データ受信手段と、前記補完データ受信手段が受信した補完データに基づき、前記デバイスドライバに関するモジュール構成を補完する補完手段と、を有することを特徴とする。
本発明によれば、サーバ装置とクライアント装置との間のモジュール構成の差異を解消することができる。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、プリントサーバシステムの構成の一例を示す図である。
図1に示されるように、プリントサーバシステムは、プリントサーバ10と、クライアントコンピュータ20と、プリンタ装置30と、を含む。また、各装置は、ネットワークを介して通信可能なように接続されている。
プリントサーバ10は、クライアントコンピュータ20から入力された印刷データを仲介し、プリンタ装置30に出力して印刷を実行させる。
このように、プリントサーバ10には印刷機能を備えたプログラム(アプリケーション又はサービス)が少なくとも一つ組み込まれており、同時に、アプリケーションからプリンタ装置30への印刷を仲介するプリンタドライバも組み込まれている。また、クライアントコンピュータ20には、通常、少なくとも一つの印刷機能を備えた、プリントサーバ10と同様のプログラムが組み込まれている。
ここで、クライアントコンピュータ20を利用するユーザがプリンタ装置30を使用して印刷を実行させるためには、プリントサーバ10に組み込まれているプリンタドライバと同じプリンタドライバをクライアントコンピュータ20に組み込まなければならない。
何故ならば、クライアントコンピュータ20のアプリケーションによって生成される印刷データは、プリンタ装置30に入力される前にプリントサーバ10上のプリンタドライバによって仲介される必要があるからである。更にプリントサーバ10のプリンタドライバに印刷データを仲介させるためには、クライアントコンピュータ20上で同じプリンタドライバに印刷データを仲介させる必要があるからである。
従って、プリントサーバシステムでは、クライアントコンピュータ20に、プリントサーバ10にインストールされているものと同じプリンタドライバをインストールしなければならない。
しかしながら、このようなクライアントコンピュータ20におけるインストール作業は、そのクライアントコンピュータ20を利用するユーザにとって負担になってしまうという問題がある。
このような問題を解決する方法として、上述したポイントアンドプリントが知られている。
以下、このポイントアンドプリンタによるインストールの流れを図2及び図3を参照して説明する。
図2Aは、プリントサーバ10のハードウェア構成の一例を示すブロック図である。
図2Aに示されるように、プリントサーバ10は、ハードウェア構成として、CPU11と、RAM12と、HD13と、ネットワークI/F14と、を含む。また、各構成は、バス15を介して互いに接続されている。
CPU11は、RAM12にロードされたプログラムに従って、本実施形態のプリントサーバ10の機能に係る処理等を実行する。RAM12は、各種プログラムを記憶するメモリエリアと、CPU11による処理の実行時にワークエリアとして私用され、各種データを一時的に記憶(保存)するメモリエリアと、を有している。
ハードディスク(HD)13には、予めOSや各種プログラムがインストールされている。HD13にインストールされているプログラムは、プリントサーバ10の立ち上げ時、或は起動が指示されたときに、RAM12にロードされてCPU11の制御の下に実行される。
ネットワークI/F14は、プリントサーバ10をネットワークと接続するためのインターフェースユニットである。なお、プリントサーバ10は、後述するクライアントコンピュータ20のように、表示部や入力部をハードウェア構成として含んでもよい。
図2Bは、クライアントコンピュータ20のハードウェア構成の一例を示すブロック図である。
図2Bに示されるように、クライアントコンピュータ20は、ハードウェ構成として、CPU21と、RAM22と、HD23と、表示部24と、入力部25と、ネットワークI/F26と、を含む。また、各構成は、バス27を介して互いに接続されている。
CPU21は、RAM22にロードされたプログラムに従って、本実施形態のクライアントコンピュータ20の機能に係る処理等を実行する。RAM22は、各種プログラムを記憶するメモリエリアと、CPU21による処理の実行時にワークエリアとして私用され、各種データを一時的に記憶(保存)するメモリエリアと、を有している。
ハードディスク(HD)23には、予めOSや各種プログラムがインストールされている。HD23にインストールされているプログラムは、クライアントコンピュータ20の立ち上げ時、或は起動が指示されたときに、RAM22にロードされてCPU21の制御の下に実行される。
表示部24は、例えばCRTや液晶等のディスプレイであり、ユーザインターフェースを表示する。
入力部25は、キーボードやマウス等のポインティングデバイスを含み、ユーザの操作に応じてデータを入力する。
ネットワークI/F26は、クライアントコンピュータ20をネットワークと接続するためのインターフェースユニットである。
図3は、ポイントアンドプリントにおけるプリンタドライバのインストールに関連するモジュールを説明するための機能ブロック図である。
プリントサーバ10上の印刷サービス100は、プリントサーバ10のOS上で印刷処理や、プリンタドライバのインストールを制御するサービスプログラムである。
Windows(登録商標) OSにおいてはスプーラー(Spooler)サービスがこれに相当する。スプーラーサービスは、プリンタへの印刷データの送信や、プリンタドライバのインストール、ポイントアンドプリント等、様々な機能を利用する手段を提供する。
より具体的に説明すると、スプーラーは、API(Application Program Interface)という関数インターフェースを公開することにより、プログラム等が上述のような機能を実現する手段を提供している。つまり、アプリケーションやプリンタドライバはこのAPIを通じて処理を実行する。
本実施形態における印刷サービス100も上述したスプーラーと同様な特徴(機能)を備えているものとする。
ドライバ構成情報101は、プリントサーバ10におけるプリンタドライバ102のドライバ構成情報(モジュール構成情報)であり、OSの共有記憶領域に格納されている。ドライバ構成情報101により、OSの一部として実装される印刷サービス100及びプリンタドライバ102は、プラグインの着脱を認識することができる。
印刷キュー103は、印刷データをプリンタ装置30へ出力する前に一旦、貯める働きをする仮想的なキューである。
ランゲージモニター104は、印刷サービス100から送出された印刷データを解析しつつ、プリンタドライバ102(又はプリンタ装置30)へデータを送出したり、プログラムからのプリンタ構成情報やプリントサーバ構成情報の取得要求に応答したりする。
なお、図3において、ランゲージモニター104をプリンタドライバ102と区別して記載しているが、印刷サービス100からはあくまでプリンタドライバ102の一部として見なされる。
クライアントコンピュータ20上の印刷サービス200の働きは、プリントサーバ10の印刷サービス100と同様に、クライアントコンピュータ20のOS上で印刷処理や、プリンタドライバのインストールを制御している。
なお、ポイントアンドプリントの実行前には、プリンタドライバ202と、そのドライバ構成情報201、印刷キュー203は、クライアントコンピュータ20上に存在していない。
ポイントアンドプリントによって、これらをクライアントコンピュータ20に組み込むのが目的である。
なお、ランゲージモニター104は、その位置付け上、ポイントアンドプリントの対象外であるため、クライアントコンピュータ20にはダウンロードされない。
図4は、ポイントアンドプリントによるインストールの流れを説明するための図である。
クライアントコンピュータ20を利用するユーザが、クライアントコンピュータ20の印刷サービス200を通じて共有プリンタに接続し、ポイントアンドプリントの要求を出す(S10)。
プリントサーバ10の印刷サービス100は、この要求に応じてドライバ構成情報101を参照してダウンロードすべきインストールセットを決定する(S11)。
次に、印刷サービス100は、クライアントコンピュータ20の印刷サービス200と連携しながら、プリントサーバ10のプリンタドライバ102のインストールセットをクライアントコンピュータ20にコピーする(S12)。
次に、クライアントコンピュータ20の印刷サービス200は、このコピーされたインストールセットに基づいてプリンタドライバ202をクライアントコンピュータ20のOSに登録する。同時に印刷サービス200は、ドライバ構成情報201を登録、更に印刷キュー203を作成する(S13)。
この結果、クライアントコンピュータ20のユーザは、プリントサーバ10を介してプリンタ装置30に対して印刷を実行させることができる。
図5は、プリントサーバ10にインストールされたプリンタドライバ102のプラグイン105を説明するための図である。
プラグイン105は、例えばDLL(Dynamic Link Library)等のプログラムファイルを含むファイル群である。
プラグイン105は、プラグインインストーラ106によって追加インストールされることによって、プリンタドライバ102の共通拡張インターフェースを用いて通信可能となり、機能拡張を実現する。
即ち、プラグインインストーラ106は、プリンタドライバ102がインストール済みの状態で実行可能なプログラムである。また、プラグイン105は、プリンタドライバ102の一部として動作する。
なお、プラグイン105による機能拡張のより具体的な例としては、印刷ジョブの履歴を収集したり、印刷データに背景画像を付加したりする機能等が挙げられる。
プラグインインストーラ106は、追加インストールの際、ドライバ構成情報101にプラグインの情報を追加する。これにより、印刷サービス100及びプリンタドライバ102は、プラグイン105がプリンタドライバ102の一部であると認識させられる。
したがって、上述したポイントアンドプリントの処理によって、プリンタドライバ102と共にその一部であるプラグイン105は、それぞれプリンタドライバ202、プラグイン205としてクライアントコンピュータ20にダウンロードインストールされる。
その結果、プリントサーバ10と、クライアントコンピュータ20とでそれぞれプリンタドライバは同一のモジュール構成となる。よって、後から組み込まれたプラグイン105(プラグインモジュール)による機能をクライアントコンピュータ20のユーザが利用することもできる。
なお、ランゲージモニター104は上述したように、例外的にクライアントコンピュータ20にはダウンロードされない。その代わり、ランゲージモニター104はプリントサーバ10に留まったまま、クライアントコンピュータ20のプリンタドライバ202に対してもプリントサーバ10上のプリンタドライバ102と同様の役割を果たす。
より具体的には、例えばクライアントコンピュータ20上のプリンタドライバ202等が印刷サービス200に対してランゲージモニター104の機能を使用するAPIを呼び出す。すると、印刷サービス200は、プリントサーバ10上の印刷サービス100を通じてランゲージモニター104を呼び出す。
図6は、パッケージポイントアンドプリントによるインストールに関連するモジュールを説明するための機能ブロック図である。
プリントサーバ10上のパッケージ107は、プリンタドライバ102とその一部であるランゲージモニター104をインストールするために使用され、OSに登録されたファイル郡である。
パッケージ107は、CD−ROM等のメディアやインターネットを通じて配布されるドライバのインストールセットを使用してインストールが行われた際、バックアップとしてOS内に保存され、登録される。
パッケージを利用する利点は、例えばドライバを誤って消してしまったとき等にもう一度インストール用メディアを探さなくても直ちにインストールができること等がある。
なお、プラグイン105は、プラグインインストーラ106によってインストールされるものであるため、パッケージ107の中には含まれていない。
一方、クライアントコンピュータ20は、パッケージポイントアンドプリントが行われる前は、プリンタドライバ202、印刷キュー203、パッケージ207は存在しない。
上述したポイントアンドプリントと、パッケージポイントアンドプリントとの違いはクライアントコンピュータ20へのドライバのインストールにパッケージが使用されることである。
パッケージポイントアンドプリントの処理の流れについては次の図7を用いて説明する。
図7は、パッケージポイントアンドプリントによるインストールの流れを示すための図である。
ポイントアンドプリントの場合と同様、クライアントコンピュータ20を利用するユーザが、クライアントコンピュータ20の印刷サービス200を通じて共有プリンタに接続し、要求を出す(S20)。
プリントサーバ10の印刷サービス100は、この要求に応じてクライアントコンピュータ20との間でパッケージポイントアンドプリントが可能か否かを判定する(S21)。
可能と判定した場合、プリントサーバ10の印刷サービス100は、クライアントコンピュータ20の印刷サービス200と連携しながら、プリントサーバ10に登録されているパッケージ107をクライアントコンピュータ20にコピーする(S22)。
次に、印刷サービス200は、コピーされたパッケージ207をクライアントコンピュータ20のOSにパッケージとして登録する(S23)。
最後に、印刷サービス200は、パッケージ207からプリンタドライバ202をインストールする(S24)。
このとき、パッケージに含まれているランゲージモニターは上述した通りクライアントにはインストールされず、プリントサーバ10に留まったままその機能を果たす。
こうして、クライアントコンピュータ20のユーザは、プリントサーバ10に登録されているプリンタドライバ102を利用し、印刷等を行うことができるようになる。
しかしながら、明白な問題として、パッケージ内にはプリントサーバ10に後からインストールされたプラグイン105が含まれていない。そのため、クライアントコンピュータ20のユーザは、プラグイン105によって付加された機能を利用することができない。
また、パッケージポイントアンドプリントではセキュリティの理由によりプリントサーバ10からのモジュールの更新を受けることができないため、結果としてプラグイン105がクライアントコンピュータ20にダウンロードされることもない。
プラグイン105をクラインアントにインストールする方法として、プラグインインストーラ106がプラグイン105をインストールする際、同時にパッケージ107へプラグイン105を予め組み入れておく方法が考えられる。
しかし、パッケージは電子的に署名されているため、中に含まれるファイル群の構成が代わったり、ファイルが書き換えられたりするとその改ざんがOSによって検知され、結果としてパッケージポイントアンドプリントも行われなくなる。
以下ではこのような課題を解決するための処理、又は方法について具体的に述べる。
図8は、プリントサーバシステムにおけるモジュールのインストール方法に係る処理の流れを示すフローチャートである。
図8に示す処理は、図6及び図7で示したパッケージポイントアンドプリントにより、プリンタドライバ202が、プラグイン105なしでクライアントコンピュータ20にインストールされた状態から開始される。
より具体的には、クライアントコンピュータ20上の印刷サービス200は、インストールが完了すると、ポイントアンドプリント又はパッケージポイントアンドプリントが完了したことを示す通知を、PIを通じてプリンタドライバ202に対して送信する。
プリンタドライバ202はこの通知を受け取ることにより、以下に示す処理を開始する。
ステップS100において、プリンタドライバ202は、プリントサーバ10とモジュール構成の同期を取るために必要なクライアント側の情報であるクライアントデバイスドライバ構成情報(クライアントコンピュータ20のドライバ構成情報201)を収集する。なお、ステップS100の処理の詳細は、後述する図10を用いて説明する。
(モジュール構成情報送信)
次に、ステップS200において、プリンタドライバ202は、収集したクライアントデバイスドライバ構成情報を、印刷サービス等を介してプリントサーバ10上のランゲージモニター104に対して送信する。
なお、ステップS200において送信されるクライアントデバイスドライバ構成情報のデータ形式の詳細は、後述する図11に示す。
(モジュール構成情報受信、差異の検出)
次に、ステップS300において、ランゲージモニター104(又はプリンタドライバ102)は、受信したクライアントデバイスドライバ構成情報に基づき、プリントサーバ10とクライアントコンピュータ20とのモジュール構成を比較する。なお、ステップS300の処理の詳細は、後述する図12を用いて説明する。
(補完データ生成)
次に、ステップS400において、ランゲージモニター104(又はプリンタドライバ102)は、ステップS300において比較した結果に基づきモジュール構成の差異を補完する補完データを生成する。なお、ステップS400において生成された補完データのデータ形式の詳細は、後述する図13に示す。
(補完データ送信)
次に、ステップS500において、ランゲージモニター104(又はプリンタドライバ102)は、生成した補完データを、印刷サービス等を介してクライアントコンピュータ20のプリンタドライバ202に対して返却(又は送信)する。
(補完データ受信、モジュール構成の補完)
最後に、ステップS600において、プリンタドライバ202は、返却された補完データに基づき補完セットアップ(モジュール構成の補完)を行う。なお、ステップS600の処理の詳細は、後述する図14に示す。
なお、ステップS200と、S500とにおけるクライアントコンピュータ20のプリンタドライバ202と、ランゲージモニター104との間のデータの送受信方法について述べる。
ランゲージモニター104は、上述したように、プログラムからのプリンタ構成情報やプリントサーバ構成情報の取得要求に応答する制御を行う。プログラムは印刷サービス100が公開するAPIを通じて印刷サービス100が提供する機能を利用することができる。
なお、例えばクライアントコンピュータ20上のプリンタドライバ202等が印刷サービス200に対してランゲージモニター104の機能を使用するAPIを呼び出す。すると、印刷サービス200は、プリントサーバ10上の印刷サービス100を通じてランゲージモニター104を呼び出す。
ランゲージモニター104のAPIによって提供される機能の一つに、ランゲージモニター104に対して問い合わせの情報を送信し、この問い合わせの情報に対する応答の情報を受信する機能がある。
問い合わせる情報の典型的な例としては、両面ユニットやフィニッシャーの着脱状況等のプリンタの構成情報がある。また、他の例としては、プリンタドライバが保持する設定情報等もある。
本実施形態においては、自身がプリンタドライバでもあるクライアントコンピュータ20のプリンタドライバ202が、モジュール構成の同期を取るために、この問い合わせAPIの機能を使って、(印刷サービスを介して)情報の送受信を行っている。
ランゲージモニター104のAPIを使う利点は、通信のプロトコルやタイミング等の通信に特化した処理を全てクライアントコンピュータ20と、プリントサーバ10とのそれぞれの印刷サービスに任せられるため処理を簡素化できる所にある。
もちろん、HTTPや独自の通信プロトコルを用いてプリントサーバ10上の通信サービスと通信を行うことでも同様の目的は達成することができる。
次に、プリントサーバ10と、クライアントコンピュータ20とのモジュール構成の差異について説明する。
図9A、図9B、図9Cは、モジュール間(モジュール構成)の差異を表す図である。
図9Aは、あるモジュールがサーバ側(プリントサーバ10側)には存在しているが、クライアント側(クライアントコンピュータ20側)には存在していない場合の一例を示す図である。
図9Aでは、より具体的には、クライアント側には、DrvPlugIn1.dllと、DrvPlugIn2.dllという2つのファイルが不足している状態を例示している。
このような状態は、サーバ側に後から追加インストールされたプラグインがパッケージポイントアンドプリントではクライアント側にはダウンロードインストールされないことで生じるものであり、解消されるべき差異である。
次に、図9Bは、あるサーバ側のモジュールの方が、クライアント側のモジュールよりも更新時刻が新しい場合の一例を示す図である。
図9Bでは、より具体的には、DrvBaseC.dllと、DrvPlugIn1.dllという2つのファイルが、それぞれサーバ側にあるファイルの方がクライアント側にあるファイルより更新時刻が新しい状態を例示している。
このような状態は、クライアント側にダウンロードインストールが行われた後に、サーバ側のドライバのモジュールの一部が更新された場合等に生じるものであり、これも解消されるべき差異である。
次に、図9Cは、あるクライアント側のあるモジュールがサーバ側にはもはや存在していない場合の一例を示す図である。
図9Cでは、より具体的には、DrvBaseC.dllというファイルがサーバ側にはもはや存在していない状態を例示している。
このような状態は、クライアント側にダウンロードインストールが行われた後に、サーバ側のプラグインモジュールがアンインストールされ、外された場合等に生じるものであり、これも解消されるべき差異である。
図10は、図8に示したステップS100のクライアントデバイスドライバ構成情報を収集する処理の詳細を説明するためのフローチャートである。
S101において、プリンタドライバ202は、クライアントコンピュータ20のアーキテクチャ情報を取得する。ここで、アーキテクチャ情報とは、例えばIntel(登録商標) 32bitやAMD(登録商標) 64bitといったハードウェアの種類に関する情報である。
サーバ側とクライアント側とが異なるアーキテクチャである場合、ポイントアンドプリントの接続要求があると、サーバ側の印刷サービス100は、クライアント側に適合したアーキテクチャのプリンタドライバ又はそのパッケージをコピーする。
何故ならDLL等のプログラムモジュールは、通常はOSが動作するハードウェアのアーキテクチャ間での互換性がないためである。
したがって、DLLのようなプログラムモジュールであるプラグインも、ダウンロードされ、その一部となるクライアント側のプリンタドライバ202と同じアーキテクチャである必要がある。そのため、プリンタドライバ202は、サーバ側に送信する情報の一つとしてアーキテクチャ情報を収集する。
次に、S102において、プリンタドライバ202は、ドライバ構成情報201にアクセスし、モジュールの名称と、更新時刻との一覧を取得する。なお、プリンタドライバ202は、印刷サービス200の提供するAPIを通じてドライバ構成情報201を取得することができる。
図10に示す処理によって、クライアントのプリンタドライバ202を構成するモジュール名称の一覧を得ることができる。また、更に各々のモジュールの更新時刻をOSのAPI等を用いて得ることができる。
図11は、クライアントデバイスドライバ構成情報のデータ形式の一例を示す図である。
ステップS101と、ステップS102とで得た情報は、ランゲージモニター104へ問い合わせる情報としてプリンタドライバ202によって一つのデータ形式としてまとめられる。データ形式は、ランゲージモニター104のAPIによって定められる。図11の例では、情報はXML(Extensible Markup Language)形式でデータ内に記述されている。
より具体的に説明すると、Query要素のSchema属性に書かれている文字列は、ランゲージモニター104に対して問い合わせる情報を表している。
図11の例では、
LackingModule(クライアント側に不足している不足モジュール)、
UpdatedModule(サーバ側が新しいものに更新されている更新モジュール)、
SurplusModule(サーバ側で使用されなくなった余剰モジュール)
の3つが記述されている。
また、Hint要素は、ランゲージモニター104が応答を行うために使用する情報をまとめており、name属性は、情報の項目名を、value属性は、情報に関する値を表している。
図11の例では、Architecture(アーキテクチャ情報)という項目に対して32bitが文字列値として記述されている。
また、図11の例では、Modules(モジュール)という項目に対して「,」(カンマ)で区切られたモジュール名称の一覧が文字列値として記述されている。
なお、各々の名称に続く括弧内の数値はそのモジュールの最終更新時刻を表現したものである。
プリンタドライバ202は、図11の例に示すようなXMLデータをランゲージモニター104へ問い合わせるためのAPIに対する入力とする。
図12は、図8に示したステップS300のモジュール構成を比較する処理の詳細を説明したフローチャートである。
ランゲージモニター104は、ステップS200において、印刷サービス100から問い合わせのAPIを通じて呼び出され、クライアントデバイスドライバ構成情報のデータを受信すると、以下の処理を開始する。
ステップS301において、ランゲージモニター104は、クライアントデバイスドライバ構成情報に含まれるアーキテクチャ情報に適合するドライバ構成情報101を取得する。
プリンタドライバは、上述したように、サーバ側とクライアント側とが異なるアーキテクチャであったとしてもポイントアンドプリントが可能である。そのため、複数のアーキテクチャのプリンタドライバが装置に登録(又はインストール)されている場合がある。このような場合、クライアント側のアーキテクチャに適合するプリンタドライバのモジュール構成と同期を取る必要がある。したがって、ランゲージモニター104は、クライアント側のアーキテクチャに適合するドライバ構成情報101を取得しなければならない。
次に、ステップS302において、ランゲージモニター104は、クライアントデバイスドライバ構成情報に含まれるモジュール構成の全モジュールに関してステップS303からS306までの処理を繰り返す。
ステップS303において、ランゲージモニター104は、クライアントコンピュータ20の各モジュールの名称がプリントサーバ10のドライバ構成情報101のモジュール名称の一覧に含まれているか否かを判定する。
ここでもし含まれていなければ、ランゲージモニター104は、このモジュールはプリントサーバ10にはもはや存在しない余剰なモジュール(余剰モジュール)と判定し、S304へ進む。一方、含まれていれば、ランゲージモニター104は、S305へ進む。
ステップS304において、ランゲージモニター104は、該当するモジュールの名称を余剰モジュールとして記憶し、再びステップS302へ戻る。余剰モジュールは、プラグインがインストール後に不要となったためにアンインストールされた場合等に出現するモジュールである。
ステップS305において、ランゲージモニター104は、クライアントコンピュータ20の各モジュール更新時刻と、プリントサーバ10の各モジュール更新時刻とを比較する。プリントサーバ10のモジュールの更新時刻の方がクライアントコンピュータ20の対応するモジュールの更新時刻より新しい場合、ランゲージモニター104は、プリントサーバ10の前記モジュールを更新モジュールと判定し、ステップS306へ進む。一方、そうでなければ、ランゲージモニター104は、S302へ戻る。
ステップS306において、ランゲージモニター104は、該当するモジュールの名称を更新モジュールとして記憶し、再びステップS302へ戻る。更新モジュールは、プラグインの更新がサーバ側で行われた場合等に出現するモジュールである。
以上の処理を繰り返し、全てのクライアントのモジュールについて処理が終わった場合、ランゲージモニター104は、ステップS307に進む。
ステップS307において、ランゲージモニター104は、クライアント側の構成に含まれていないサーバ側のモジュールを、クライアントに不足している不足モジュールとして記憶する。不足モジュールは、パッケージポイントアンドプリントでダウンロードインストールを行った際にプラグインがダウンロードされない場合等に出現するモジュールである。
上述した処理において記憶された余剰モジュール、更新モジュール、不足モジュールの各モジュールのリストはステップS400における補完データの生成の際に利用される。
図13は、補完データのデータ形式の一例を示す図である。
補完データのデータ形式も、ランゲージモニター104のAPIによって定められる。図13の例では、情報はXML形式でデータ内に記述されている。
より具体的に説明すると、Query要素下のSchema要素のname属性は問い合わせに使用した情報を表しており、その中には返却された情報のデータが格納されている。
LackingModule(不足モジュール)と、UpdatedModule(更新モジュール)とは、それぞれバイナリ形式のデータが格納されており、SurplusModule(余剰モジュール)は文字列形式のデータが格納されている。
ここで、LackingModule(不足モジュール)と、UpdatedModule(更新モジュール)とのバイナリデータは、各々のファイル群を一つの書庫としてまとめたZIPアーカイブを表現したエンコード文字列である。
また、SurplusModule(余剰モジュール)の文字列形式のデータは、プリントサーバ10において既に使われなくなったモジュール名称の一覧を「,」(カンマ)区切りで表現されている。
図14は、図8に示したステップS600の補完データに基づき補完セットアップを行う処理の詳細を説明したフローチャートである。
クライアントコンピュータ20上のプリンタドライバ202は、ステップS500において、図13に例示した補完データを、印刷サービス200を通じてランゲージモニター104から受信すると、以下に示す処理を開始する。
ステップS601において、プリンタドライバ202は、補完データに含まれている不足モジュールと、更新モジュールとのファイル群がまとめられたZIPアーカイブのエンコード文字列を解読する。
文字列のエンコード形式はbase64エンコード等一般的なものであるため、その解読の方法も標準的な手続きに基づき行われる。
次に、ステップS602において、プリンタドライバ202は、前記ZIPアーカイブに含まれるデータをファイルとして展開し、ドライバのインストールディレクトリにコピーする。
このとき、更新モジュールのファイル群は既にクライアントコンピュータ20のインストールディレクトリに存在しているが、プリントサーバ10に合わせて更新することが目的なので、プリンタドライバ202は、上書きでコピーを行う。
不足モジュールは、クライアントコンピュータ20に存在しないので、上書きは発生せず、そのままコピーされる。
次に、ステップS603において、プリンタドライバ202は、補完データに含まれている余剰モジュールの情報を読み取り、ドライバのインストールディレクトリから余剰となっているモジュールのファイルを削除する。
最後に、ステップS604において、プリンタドライバ202は、ドライバ構成情報201に、不足モジュールとしてコピーしたモジュールの情報(名称や更新時刻)を追加し、また余剰モジュールとして削除したモジュールの情報を削除する。
また、プリンタドライバ202は、ドライバ構成情報201に記述されている、更新モジュールとして上書きしたモジュールの更新時刻を新しくする。
以上の処理により、サーバ側のプリンタドライバ102と、クライアント側のプリンタドライバ202とが互いに同じモジュール構成となる。
<実施形態2>
上述した実施形態では、プリンタドライバ202がクライアントコンピュータ20にインストールされたことをきっかけに処理を開始し、プリントサーバ10とのモジュール構成の不整合を解消する例を示した。しかしながら、不整合を開始する処理のきっかけは他のタイミングであってもよい。
例えば、ユーザが、プリンタドライバ202の印刷設定を行うユーザインターフェースを開いたタイミングや、プリンタドライバ202がアプリケーション等の指示により印刷処理を開始するタイミングでもよい。
また、図15に示すようなユーザインターフェースにおいて、ユーザが更新ボタンを押したタイミングでクライアントコンピュータ20は、プリントサーバ10との同期処理を開始してもよい。図15は、モジュール構成の同期を開始するためのユーザインターフェース(UI)の一例を示す図である。
<その他の実施形態>
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
以上、上述した実施形態によれば、サーバ側のドライバと、パッケージポイントアンドプリントでダウンロードインストールされたクライアント側のドライバとの間でモジュール構成の整合性を取ることができる。
これによって、サーバ側にインストールされたドライバにプラグインモジュールが付加されている場合でも、このプラグインモジュールをクライアント側にダウンロードし、セットアップすることができる。つまり、サーバ側と、クライアント側とのモジュール構成を同一にすることができる。
また、予めパッケージポイントアンドプリントによってクライアント側にインストール済みのドライバであってもUIが開かれたり、UIで指示されたり、印刷が開始されたりするタイミングでサーバ側のドライバとの整合性を取ることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
プリントサーバシステムの構成の一例を示す図である。 プリントサーバ10のハードウェア構成の一例を示すブロック図である。 クライアントコンピュータ20のハードウェア構成の一例を示すブロック図である。 ポイントアンドプリントにおけるプリンタドライバのインストールに関連するモジュールを説明するための機能ブロック図である。 ポイントアンドプリントによるインストールの流れを説明するための図である。 プリントサーバ10にインストールされたプリンタドライバ102のプラグイン105を説明するための図である。 パッケージポイントアンドプリントによるインストールに関連するモジュールを説明するための機能ブロック図である。 パッケージポイントアンドプリントによるインストールの流れを示すための図である。 プリントサーバシステムにおけるモジュールのインストール方法に係る処理の流れを示すフローチャートである。 モジュール間(モジュール構成)の差異を表す図(その1)である。 モジュール間(モジュール構成)の差異を表す図(その2)である。 モジュール間(モジュール構成)の差異を表す図(その3)である。 図8に示したステップS100のクライアントデバイスドライバ構成情報を収集する処理の詳細を説明するためのフローチャートである。 クライアントデバイスドライバ構成情報のデータ形式の一例を示す図である。 図8に示したステップS300のモジュール構成を比較する処理の詳細を説明したフローチャートである。 補完データのデータ形式の一例を示す図である。 図8に示したステップS600の補完データに基づき補完セットアップを行う処理の詳細を説明したフローチャートである。 モジュール構成の同期を開始するためのユーザインターフェース(UI)の一例を示す図である。
符号の説明
10 プリントサーバ
20 クライアントコンピュータ
30 プリンタ装置

Claims (8)

  1. 共有設定されたプリンタを管理するサーバ装置と、ネットワークを介して通信可能なクライアント装置であって、
    前記共有設定されたプリンタについてのパッケージポイントアンドプリントの処理の完了を示す当該クライアント装置内のスプーラからの通知に応じて、前記パッケージポイントアンドプリントの処理により当該クライアント装置にインストールされているデバイスドライバに関するモジュール構成情報を収集する収集手段と、
    前記収集手段が収集した前記モジュール構成情報を前記サーバ装置に送信するモジュール構成情報送信手段と、
    当該クライアント装置にインストールされているデバイスドライバに関するモジュール構成と、前記サーバ装置にインストールされているデバイスドライバに関するモジュール構成と、の差異を補完する補完データを前記サーバ装置より受信する補完データ受信手段と、
    前記補完データ受信手段が受信した補完データに基づき、前記デバイスドライバに関するモジュール構成を補完する補完手段と、
    を有することを特徴とするクライアント装置。
  2. 前記補完手段は、前記補完データに基づき、
    前記サーバ装置にインストールされているデバイスドライバにしかない不足モジュールをインストールする、又
    該クライアント装置にインストールされているデバイスドライバのモジュールを、前記モジュールより更新時刻が新しい更新モジュールで上書きする
    ことを特徴とする請求項1に記載のクライアント装置。
  3. 前記サーバ装置から受け取ったデータに基づきクライアント装置のモジュール構成情報に存在する少なくとも1つの余剰モジュールをアンインストールするアンインストール手段を更に有することを特徴とする請求項1又は2に記載のクライアント装置。
  4. 共有設定されたプリンタを管理するサーバ装置と、ネットワークを介して通信可能なクライアント装置における情報処理方法であって、
    前記共有設定されたプリンタについてのパッケージポイントアンドプリントの処理の完了を示す前記クライアント装置内のスプーラからの通知に応じて、前記パッケージポイントアンドプリントの処理により前記クライアント装置にインストールされているデバイスドライバに関するモジュール構成情報を収集する収集ステップと、
    前記収集ステップが収集した前記モジュール構成情報を前記サーバ装置に送信するモジュール構成情報送信ステップと、
    前記クライアント装置にインストールされているデバイスドライバに関するモジュール構成と、前記サーバ装置にインストールされているデバイスドライバに関するモジュール構成と、の差異を補完する補完データを前記サーバ装置より受信する補完データ受信ステップと、
    前記補完データ受信ステップが受信した補完データに基づき、前記デバイスドライバに関するモジュール構成を補完する補完ステップと、
    を含むことを特徴とする情報処理方法。
  5. 前記補完ステップでは、前記補完データに基づき、
    前記サーバ装置にインストールされているデバイスドライバにしかない不足モジュールをインストールする、又は
    前記クライアント装置にインストールされているデバイスドライバのモジュールを、前記モジュールより更新時刻が新しい更新モジュールで上書きする
    ことを特徴とする請求項4に記載の情報処理方法。
  6. 前記サーバ装置から受け取ったデータに基づきクライアント装置のモジュール構成情報に存在する少なくとも1つの余剰モジュールをアンインストールするアンインストールステップを更に含むことを特徴とする請求項4又は5に記載の情報処理方法。
  7. 共有設定されたプリンタを管理するサーバ装置と、ネットワークを介して通信可能なコンピュータに、
    前記共有設定されたプリンタについてのパッケージポイントアンドプリントの処理の完了を示す前記コンピュータ内のスプーラからの通知に応じて、前記パッケージポイントアンドプリントの処理により前記コンピュータにインストールされているデバイスドライバに関するモジュール構成情報を収集する収集ステップと、
    前記収集ステップが収集した前記モジュール構成情報を前記サーバ装置に送信するモジュール構成情報送信ステップと、
    前記コンピュータにインストールされているデバイスドライバに関するモジュール構成と、前記サーバ装置にインストールされているデバイスドライバに関するモジュール構成と、の差異を補完する補完データを前記サーバ装置より受信する補完データ受信ステップと、
    前記補完データ受信ステップが受信した補完データに基づき、前記デバイスドライバに関するモジュール構成を補完する補完ステップと、
    を実行させることを特徴とするプログラム。
  8. 請求項7に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
JP2007077099A 2007-03-23 2007-03-23 クライアント装置及び情報処理方法 Expired - Fee Related JP5022748B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007077099A JP5022748B2 (ja) 2007-03-23 2007-03-23 クライアント装置及び情報処理方法
US12/051,747 US20080231891A1 (en) 2007-03-23 2008-03-19 Client apparatus, server apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007077099A JP5022748B2 (ja) 2007-03-23 2007-03-23 クライアント装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2008234577A JP2008234577A (ja) 2008-10-02
JP5022748B2 true JP5022748B2 (ja) 2012-09-12

Family

ID=39774374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007077099A Expired - Fee Related JP5022748B2 (ja) 2007-03-23 2007-03-23 クライアント装置及び情報処理方法

Country Status (2)

Country Link
US (1) US20080231891A1 (ja)
JP (1) JP5022748B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7770016B2 (en) * 1999-07-29 2010-08-03 Intertrust Technologies Corporation Systems and methods for watermarking software and other media
JP5383117B2 (ja) * 2008-08-21 2014-01-08 キヤノン株式会社 記録装置及びその制御方法、並びに、プログラム
JP2010157134A (ja) * 2008-12-27 2010-07-15 Canon Inc 情報処理装置、情報処理方法及び情報処理システム
JP5182165B2 (ja) * 2009-03-12 2013-04-10 株式会社リコー 情報処理装置,情報処理方法,プログラム,および記録媒体
JP5310246B2 (ja) * 2009-05-12 2013-10-09 株式会社リコー 情報処理装置、情報処理システム、及びプログラム
JP5267337B2 (ja) * 2009-06-01 2013-08-21 株式会社リコー プログラム、記憶媒体、情報処理装置、プリンタ装置およびシステム
KR101509172B1 (ko) * 2009-10-01 2015-04-06 삼성전자주식회사 화상형성장치, 그 ui 컨텐츠 제공방법, 및 호스트 장치의 ui 컨텐츠 수신방법
JP5600925B2 (ja) * 2009-11-20 2014-10-08 株式会社リコー サーバ装置、プリントシステム、プログラムおよび記録媒体
JP5625477B2 (ja) * 2010-05-18 2014-11-19 株式会社リコー ドライバ制御システム、及びドライバ制御方法
JP2012216166A (ja) * 2011-03-28 2012-11-08 Canon Inc 情報処理装置、その方法、及びプログラム
JP5790143B2 (ja) * 2011-05-18 2015-10-07 株式会社リコー 情報処理装置及びプログラム
JP2013206036A (ja) * 2012-03-28 2013-10-07 Exa Corp 端末装置、配信装置及び配信システム
JP6024279B2 (ja) * 2012-08-13 2016-11-16 株式会社リコー デバイス制御プログラム、情報処理装置および情報処理システム
JP6160102B2 (ja) * 2013-02-06 2017-07-12 株式会社リコー 画像形成出力制御システム、画像形成出力制御装置及び制御プログラム
JP5673730B2 (ja) * 2013-05-09 2015-02-18 株式会社リコー 情報処理装置
JP6315965B2 (ja) * 2013-12-10 2018-04-25 キヤノン株式会社 情報処理装置、プログラム及び制御方法
CN105204894B (zh) * 2015-08-28 2019-07-23 小米科技有限责任公司 安装智能设备的插件的方法和装置
CN105119790B (zh) * 2015-09-09 2019-02-19 小米科技有限责任公司 设备控制方法及装置
JP6466010B2 (ja) * 2018-03-28 2019-02-06 キヤノン株式会社 情報処理装置、プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960204A (en) * 1996-10-28 1999-09-28 J.D. Edwards World Source Company System and method for installing applications on a computer on an as needed basis
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
JP3758020B2 (ja) * 1999-12-10 2006-03-22 セイコーエプソン株式会社 制御処理開始認識プログラムを記録した媒体、制御処理開始認識システムおよび制御処理開始認識方法
JP2001222400A (ja) * 2000-01-05 2001-08-17 Hewlett Packard Co <Hp> コンピュータ・クライアントのプリンタ・ドライバ変更方法
US6814510B1 (en) * 2000-08-02 2004-11-09 Xerox Corporation Method and apparatus for automatic update of a printer driver configuration and status
US20020067504A1 (en) * 2000-12-06 2002-06-06 Xerox Corporation Method and apparatus for automatic upgrade of a product's printer driver
US20020097428A1 (en) * 2001-01-11 2002-07-25 Ferlitsch Andrew R. Methods and systems for print job interleaving
JP2002222136A (ja) * 2001-01-25 2002-08-09 Matsushita Electric Ind Co Ltd ネットワークドライバ更新システム
US7089551B2 (en) * 2001-02-06 2006-08-08 Hewlett-Packard Development Company, L.P. System for installing peripheral software during peripheral installation
US7055149B2 (en) * 2001-07-25 2006-05-30 Lenovo (Singapore) Pte Ltd. Method and apparatus for automating software upgrades
JP2003108332A (ja) * 2001-09-27 2003-04-11 Canon Inc 周辺機器管理装置及び周辺機器管理方法
US20030195951A1 (en) * 2002-04-12 2003-10-16 Wittel Walter I. Method and system to dynamically detect, download and install drivers from an online service
JP4551607B2 (ja) * 2002-06-13 2010-09-29 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム
JP4371673B2 (ja) * 2003-02-28 2009-11-25 キヤノン株式会社 プログラムインストール方法およびサーバ装置
JP4908731B2 (ja) * 2003-07-31 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2005208895A (ja) * 2004-01-22 2005-08-04 Canon Inc 情報処理装置及びその制御方法及びそのプログラムと記憶媒体
JP2005251023A (ja) * 2004-03-05 2005-09-15 Sharp Corp 情報処理装置、情報処理装置の制御プログラム、記録媒体、情報処理方法
US7392523B1 (en) * 2004-06-01 2008-06-24 Symantec Corporation Systems and methods for distributing objects
JP4182094B2 (ja) * 2004-08-30 2008-11-19 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP2006092418A (ja) * 2004-09-27 2006-04-06 Canon Inc 情報処理装置、方法および媒体
US7716382B2 (en) * 2005-01-11 2010-05-11 Microsoft Corporation Rich targeting criteria for selection of driver packages

Also Published As

Publication number Publication date
US20080231891A1 (en) 2008-09-25
JP2008234577A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
JP5022748B2 (ja) クライアント装置及び情報処理方法
JP4533780B2 (ja) 画像形成システム、画像形成装置、端末装置及び端末装置のドライバの更新方法
JP4944812B2 (ja) 情報処理システムと情報処理方法とプログラム
JP2003288191A (ja) プリンタドライバを動的にアップデートするシステムおよび方法
JP2003177989A (ja) 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2008009967A (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体
JP5553670B2 (ja) 管理装置、その制御方法およびプログラム
JP2001337817A (ja) 複合機のバージョンアップ装置
US20160092281A1 (en) Information processing apparatus, method for controlling the same, and storage medium
JP2005208895A (ja) 情報処理装置及びその制御方法及びそのプログラムと記憶媒体
JP4996272B2 (ja) 情報処理装置及びその制御方法及び該方法を実行するプログラム
JP5955104B2 (ja) 情報処理装置、プログラムおよび制御方法
JP2009151480A (ja) 契約製品提供方法、クライアント装置、サーバ、プログラム、および該プログラムを記録した記録媒体
US7715027B2 (en) Method and apparatus for embedded driver download using raw imaging protocol
US20100165391A1 (en) Information processing apparatus, information processing method, and information processing system
JP2012008736A (ja) 画像形成装置、プログラム、及びインストール方法
JP2009237815A (ja) ファームウェア管理システム、電子機器、及びファームウェア管理サーバ
US10310780B2 (en) System and control method for installing printer driver
JP4693911B2 (ja) 情報処理システム及びその制御方法及びサーバ装置とその制御プログラム
JP2017111531A (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
JP2005107708A (ja) アプリケーション配布システム
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
JP6375817B2 (ja) 印刷制御システム、情報処理装置及びコンピュータープログラム
JP7447064B2 (ja) 印刷設定画面を提供するアプリケーション
JP5353997B2 (ja) 情報処理装置、情報処理システム、プログラム及びその記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120618

R151 Written notification of patent or utility model registration

Ref document number: 5022748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees