JP5177678B2 - クライアント装置 - Google Patents

クライアント装置 Download PDF

Info

Publication number
JP5177678B2
JP5177678B2 JP2009012857A JP2009012857A JP5177678B2 JP 5177678 B2 JP5177678 B2 JP 5177678B2 JP 2009012857 A JP2009012857 A JP 2009012857A JP 2009012857 A JP2009012857 A JP 2009012857A JP 5177678 B2 JP5177678 B2 JP 5177678B2
Authority
JP
Japan
Prior art keywords
driver
client device
printer
client
inquiry
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.)
Active
Application number
JP2009012857A
Other languages
English (en)
Other versions
JP2010170380A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009012857A priority Critical patent/JP5177678B2/ja
Publication of JP2010170380A publication Critical patent/JP2010170380A/ja
Application granted granted Critical
Publication of JP5177678B2 publication Critical patent/JP5177678B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はクライアント装置に関し、特に、デバイスドライバーを他のクライアント装置から取得する機能を有するクライアント装置に関する。
ユーザーが使用するコンピューターなどのクライアント装置からプリンターに印刷を行わせるためには、クライアント装置にプリンタードライバーをインストールする必要がある。プリンタードライバーは、クライアント装置が生成した印刷データに基づいてプリンターで印刷を行う場合に、そのプリンターに対する様々な制御を行うためのソフトウェアである。
このプリンタードライバーは、プリンターメーカーから、ユーザーに供給されるのが一般的である。すなわち、ユーザーがプリンターを購入すると、プリンターとともに、CD−ROMなどに格納されたプリンタードライバーも、一緒に梱包されている。ユーザーは、このCD−ROMから、プリンタードライバーを、自らのクライアント装置にインストールして、クライアント装置とプリンターとの間の制御が適正に行われるようにしている。
しかし、プリンタードライバーは、ソフトウェアであることから、機能の向上を図ったり、バグを解消したりした、新しいバージョンのプリンタードライバーが供給されることもある。このようにバージョンアップがなされた最新のプリンタードライバーをユーザーが取得するためには、プリンターメーカーのホームページにアクセスし、このホームページから最新のプリンタードライバーをクライアント装置にダウンロードする必要があった。
しかし、最新のプリンタードライバーがプリンターメーカーのホームページ上に提供されたとしても、ユーザーは、その存在を知らないまま、従来のプリンタードライバーを使用し続けることも多かった。また、最新のプリンタードライバーがホームページ上に掲載されたことをユーザーが知ったとしても、そのダウンロードはユーザーが能動的に行わなければならず、そのためのクライアント装置の操作が煩雑であるという問題もあった。
このような問題を解決するために、特開2004−199387号公報(特許文献1)では、管理パソコンがプリンターに最新のプリンタードライバーを保持させるように管理し、このプリンターにアクセスしてきたクライアント装置に、プリンターから最新のプリンタードライバーを供給する技術を開示している。これにより、クライアント装置は、プリンターから最新のプリンタードライバーを自動的に取得できるようにしている。
しかし、このような仕組みでは、プリンターに最新のバージョンのプリンタードライバーを保持させる必要があり、そのためには、管理パソコンの管理者が絶えず最新のプリンタードライバーを管理パソコンが保持しているように管理しなければならない。このため、管理者の管理負担が大きくなってしまうとともに、管理パソコンを別途設ける必要も生じて複雑なシステムになってしまう。
また、特開2006−82541号公報(特許文献2)では、クライアント装置においてプリンタードライバーのプロパティーを開くタイミングで、プリンターへ問い合わせを自動的に行い、プリンターの保持するプリンタードライバーのバージョンと、クライアント装置の保持するプリンタードライバーのバージョンとを比較する。そして、プリンターの保持するプリンタードバイバーのバージョンの方が新しい場合には、クライアント装置がプリンターからプリンタードライバーを取得する技術を開示している。
しかし、この仕組みにおいても、プリンターに最新のバージョンのプリンタードライバーを保持させなければならないのは同様である。しかも、特開2006−82541号公報(特許文献2)では、プリンターに最新のバージョンのプリンタードライバーを保持させるために、プリンターは、インターネットを介して定期的にWEBサーバーにアクセスすることとしており、セキュリティー上、問題がないとは言えない。
このようなドライバーのバージョン管理に対する問題は、プリンターに限らず、スキャナーやプロジェクターなどの周辺デバイスに関するデバイスドライバーであれば、同様に生じ得る。
特開2004−199387号公報 特開2006−82541号公報
そこで本発明は、前記課題に鑑みてなされたものであり、クライアント装置のデバイスドライバーのバージョン管理を容易に実現することを目的とする。
上記の課題を解決するために、本発明に係るクライアント装置は、ネットワークを介して他のクライアント装置に接続可能なクライアント装置であって、
前記ネットワークを介して、他のクライアントに、特定のデバイスドライバーを保持しているかどうかを問い合わせる、問い合わせ手段と、
前記ネットワークを介して、他のクライアントから、前記問い合わせに対する回答を受信する回答受信手段と、
前記回答受信手段で受信した回答に基づいて、最も新しいバージョンの前記特定のデバイスドライバーを保持する他のクライアント装置を特定クライアント装置として特定し、この特定クライアント装置から、前記特定のデバイスドライバーを取得する、ドライバー取得手段と、
を備えることを特徴とする。
この場合、前記問い合わせ手段が行う問い合わせには、前記特定のデバイスドライバーを用いるデバイスを特定する情報が含まれているようにしてもよい。
また、前記受信手段が受信する回答には、前記特定のデバイスドライバーのバージョンを特定する情報が含まれているようにしてもよい。
また、前記ドライバー取得手段は、
前記特定クライアント装置に、前記ネットワークを介して、デバイスドライバーの取得を要求する取得要求を送信した後、
前記特定クライアント装置の所定のフォルダーをアクセスし、この所定のフォルダーから、前記特定のデバイスドライバーのファイルを取得するようにしてもよい。
また、前記デバイスドライバーは、プリンター用のプリンタードライバーであり、
前記所定のタイミングは、当該クライアント装置において、前記プリンター用のプリンターキューを作成した際であるようにしてもよい。
また、クライアント装置は、前記ネットワークを介して、他のクライアント装置から、問い合わせ対象のデバイスドライバーを保持しているかどうかの問い合わせを受信する、問い合わせ受信手段と、
前記問い合わせ受信手段が問い合わせを受信した場合に、前記問い合わせ対象のデバイスドライバーを保持しているかどうかを判断する、判断手段と、
前記判断手段で、前記問い合わせ対象のデバイスドライバーを保持していると判断した場合には、問い合わせをしてきた他のクライアント装置に、前記問い合わせ対象のデバイスドライバーを保持していることを回答する、回答手段と、
前記回答手段で回答した他のクライアント装置から、前記問い合わせ対象のデバイスドライバーを取得する取得要求があった場合に、前記問い合わせ対象のデバイスドライバーを、前記取得要求を送信した他のクライアント装置と共有にして、前記取得要求を送信した他のクライアント装置が前記問い合わせ対象のデバイスドライバーにアクセスできるようにする、共有化手段と、
をさらに備えるようにしてもよい。
この場合、前記判断手段は、デバイスドライバーが格納されているドライバー用のフォルダーを検索して、このドライバー用のフォルダーに、前記問い合わせ対象のデバイスドライバーのファイルが格納されているか否かにより、前記問い合わせ対象のデバイスドライバーを保持しているかどうかを判断するようにしてもよい。
本発明に係るプログラムは、ネットワークを介して他のクライアント装置に接続可能なクライアント装置を制御するためのプログラムであって、
前記クライアント装置が、前記ネットワークを介して、他のクライアントに、特定のデバイスドライバーを保持しているかどうかを問い合わせるステップと、
前記クライアント装置が、前記ネットワークを介して、他のクライアントから、前記問い合わせに対する回答を受信するステップと、
前記クライアント装置が、受信した前記回答に基づいて、最も新しいバージョンの前記特定のデバイスドライバーを保持する他のクライアント装置を特定クライアント装置として特定し、この特定クライアント装置から、前記特定のデバイスドライバーを取得するステップと、
を前記クライアント装置に実行させることを特徴とする。
本発明の一実施形態に係るデバイスドライバー管理システムの全体構成を示すブロック図。 図1のクライアント装置の内部構成の一例を示すブロック図。 図1のデバイスドライバー管理システムで行われるデバイスドライバー管理取得処理の内容の一例を説明するためのフローを示す図。 図1のクライアント装置で実行されるドライバー検索処理の内容の一例を説明するためのフローチャートを示す図。 図1のクライアント装置で実行されるドライバー情報回答処理の内容の一例を説明するためのフローチャートを示す図。 図1のクライアント装置で実行されるドライバー提供処理の内容の一例を説明するためのフローチャートを示す図。
以下、図面を参照して、本発明の一実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
図1は、本実施形態に係るデバイスドライバー管理システム10の全体構成を示すブロック図である。この図1に示すように、本実施形態に係るデバイスドライバー管理システム10は、ネットワーク12に接続された、1又は複数のクライアント装置14と、1又は複数のプリンター16とを備えて、構成されている。この図1の例では、3台のクライアント装置14A〜14Cが、ネットワーク12に接続されており、1台のプリンター16が、ネットワーク12に接続されている。本実施形態においては、ネットワーク12には複数のクライアント装置14が接続されていることが前提であるが、ネットワーク12に接続されているプリンター16の台数は任意である。
本実施形態においては、ネットワーク12は、例えば、TCP/IPの規格に準拠しており、このネットワーク12に、同じくTCP/IPの規格に準拠したクライアント装置14とプリンター16とが接続されている。クライアント装置14は、プリンター16に情報を送信したり、プリンター16から情報を受信したりするクライアントの一例であり、例えば、パーソナルコンピューターやPDA(Personal Digital Assistant)などにより構成されている。プリンター16は、クライアント装置がデバイスドライバーを用いて、クライアント装置14から情報を送信したり、クライアント装置14に情報を送信したりするデバイスの一例である。
図2は、本実施形態に係るクライアント装置14の内部構成の一例を示すブロック図である。この図2に示すように、本実施形態に係るクライアント装置14は、CPU(Central Processing Unit)20と、RAM(Random Access Memory)22と、ROM(Read Only Memory)24と、ハードディスクドライブ26と、ユーザーインターフェース28と、表示画面30と、通信インターフェース32とを備えて構成されている。これらCPU20と、RAM22と、ROM24と、ハードディスクドライブ26と、ユーザーインターフェース28と、表示画面30と、通信インターフェース32とは、内部バス34を介して相互に接続されている。
CPU20は、このクライアント装置14の全体的な制御を行う制御部を構成する。特に、本実施形態においては、CPU20は、クライアント装置14が出力情報である印刷データを、ネットワーク12を介してプリンター16に送信し、印刷を行うための制御を行う。この制御を行うにあたり、CPU20は、このクライアント装置14の保持するプリンタードライバーを用いて、プリンター16に指示を送信したり、プリンター16から得た情報をユーザーに提供したりして、快適な印刷環境をユーザーに提供する。また、CPU20は、このクライアント装置14で行われる各種の制御を実現するにあたり、必要なプログラムをROM24やハードディスクドライブ26から読み込んだり、生成されたデータをRAM22に書き込んだりする。
ハードディスクドライブ26は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、代表的な出力情報である印刷データなども不揮発的に記憶される。ユーザーインターフェース28は、ユーザーがこのクライアント装置14に各種の情報や指示を入力するためのインターフェースである。例えば、このユーザーインターフェースは、キーボードやマウスなどにより、構成されている。
表示画面30は、クライアント装置14が各種の情報を表示するための画面である。例えば、この表示画面30は、LCD(Liquid Crystal Display)装置により構成されていてもよいし、CRT(Cathode Ray Tube)装置により構成されていてもよい。また、図2では、表示画面30は、このクライアント装置14の本体に一体に設けられている場合を図示しているが、表示画面30はクライアント装置14の本体とは別個に設けられるようにしてもよい。この場合、クライアント装置14の本体と表示画面30との間は、ケーブル等により接続されることとなる。
通信インターフェース32は、クライアント装置14をネットワーク12に接続するためのインターフェースである。本実施形態においては、この通信インターフェース32は、TCP/IPのプロトコルに準拠しており、ネットワーク12を介して、プリンター16に出力情報である印刷データを送信することができるように構成されている。
次に、本実施形態に係るデバイスドライバー管理システム10で実行されるデバイスドライバー管理取得処理を説明する。図3は、このデバイスドライバー管理取得処理で、クライアント装置14の間でなされるやり取りを説明するためのフローを示している。
また、図4は、本実施形態に係るクライアント装置14で実行されるドライバー検索処理の内容を説明するためのフローチャートを示す図である。このドライバー検索処理は、クライアント装置14で任意のタイミングで実行される処理である。例えば、このドライバー検索処理は、1日に1回、10日に一回というように、定期的に起動させるようにしてもよい。或いは、新たにプリンター16が導入された際にクライアント装置14でプリンターキューを生成したときに、そのプリンター16に対応するプリンタードライバーを取得するために、起動されるようにしてもよい。
また、このドライバー検索処理は、クライアント装置14のCPU20が、ROM24又はハードディスクドライブ26に格納されているドライバー検索処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、特に、クライアント装置14Aで、このドライバー検索処理が起動され、クライアント装置14Bからプリンタードライバーを取得する場合を想定して、説明をする。
これら図3及び図4に示すように、このドライバー検索処理が起動されると、まず、クライアント装置14Aは、ネットワーク12を介して、他のクライアント装置14に対して問い合わせを行う(ステップS10)。具体的には、クライアント装置14Aは、取得しようとしているプリンタードライバーのプリンターを特定する情報であるプリンター特定情報を含む問い合わせを行う。この問い合わせは、ブロードキャスト通信を用いて、ネットワーク12上にある他のクライアント装置14に対して、一斉に行われ、プリンター特定情報で特定されるプリンターのプリンタードライバーを持っている場合には、そのバージョンを特定する情報であるバージョン情報を回答するように要求する。ここでは、プリンター16のプリンタードライバーを取得しようとしている場合を想定する。
プリンター特定情報には、種々のものが考えられるが、例えば、プリンター16の機種名や、プリンター16のプリンターキュー名など、プリンター16固有の様々な情報を用いることができる。ここでは、プリンター16の機種名を用いる場合を例にして、以下の説明を行う。また、同一の機種でもプリンター毎に個別に特定する必要がある場合には、プリンター16のMACアドレス(Media Access Control address)や、プリンター16のシリアル番号を用いるようにすることもできる。
なお、TCP/IP規格では、ネットワーク12上の同一セグメント内にある他のクライアント装置14に対しては、特定の相手を指定せずともパケットを送信できるブロードキャスト通信がサポートされている。本実施形態では、このブロードキャスト通信を用いて、プリンタードライバーのバージョンの問い合わせを行うのである。図1の例では、この問い合わせは、クライアント装置14B、14Cで受信されるとする。
次に、クライアント装置14Aは、他のクライアント装置14から回答を取得する(ステップS12)。具体的には、ネットワーク12上の同一セグメント内にある他のクライアント装置14から、回答を受信し、そのクライアント装置14が保持するプリンタードライバーのバージョン情報を取得する。
本実施形態においては、他のクライアント装置14は、問い合わせに含まれているプリンター特定情報と合致するプリンターのプリンタードライバーを保持している場合に、そのバージョン情報を、問い合わせをしたクライアント装置14Aに回答することとしている。したがって、問い合わせに含まれているプリンター特定情報と合致するプリンターのプリンタードライバーを保持していない場合には、回答をしない。但し、保持していないことを問い合わせのあったクライアント装置14Aに回答するようにしてもよい。
次に、クライアント装置14Aは、他のクライアント装置14から取得できた回答の中で、自らが保持するプリンター16のプリンタードライバーのバージョン情報よりも新しいバージョン情報を含む回答が、いくつあるかを判断する(ステップS14)。すなわち、クライアント装置14A自体が保持するプリンター16のプリンタードライバーのバージョン情報と、受信した回答に含まれているバージョン情報とを比較して、自らが保持するプリンタードライバーのバージョンよりも新しいバージョンを保持するという回答の数をカウントする。
その結果、自らが保持するプリンター16のプリンタードライバーのバージョンよりも新しいバージョンを保持するという回答の数がゼロである場合には、クライアント装置14Aは、このドライバー検索処理を終了する。すなわち、他のクライアント装置14Aから、プリンタードライバーを取得しても、プリンタードライバーのバージョンは新たらしいものにはならないため、このドライバー検索処理を終了する。
一方、自らが保持するプリンタードライバーのバージョンよりも新しいバージョンを保持するという回答の数が2個以上の場合には、クライアント装置14Aは、最も新しいプリンタードライバーのバージョンを回答してきたクライアント装置14を特定する(ステップS16)。
このステップS16の後、或いは、自らが保持するプリンタードライバーのバージョンよりも新しいバージョンを保持するという回答の数が1個であるとステップS14で判断した場合には、クライアント装置14は、ネットワーク12を介してドライバー取得要求を送信する(ステップS18)。具体的には、ステップS16において、最も新しいプリンタードライバーのバージョンを回答してきたクライアント装置14を特定した場合には、その特定した他のクライアント装置14に、ドライバー取得要求を送信する。一方、クライアント装置14Aが保持するプリンタードライバーのバージョンよりも新しいバージョンを保持するという回答の数が1個である場合には、その回答をしてきたクライアント装置14に、ドライバー取得要求を送信する。ここでは、クライアント装置14Bに対して、このドライバー取得要求を送信したと仮定する。
次に、クライアント装置14Aは、ドライバー取得要求を送信したクライアント装置14Bから、プリンタードライバー取得の準備が完了したことを示す準備完了通知を受信したかどうかを判断する(ステップS20)。この準備完了通知を受信していない場合には、クライアント装置14Aは、準備完了通知を受信するまで待機する。
そして、この準備完了通知を受信した場合には、クライアント装置14Aは、クライアント装置14Bにアクセスし、クライアント装置14Bの保持するプリンター16のプリンタードライバーを取得する(ステップS22)。本実施形態においては、クライアント装置14Bのハードディスクドライブ26内に形成されているホルダーの1つに、プリンター16のプリンタードライバーのファイルが格納されており、また、このフォルダーがクライアント装置14Aもアクセスできる共有ホルダーになっている。このため、クライアント装置14Aは、このクライアント装置14Bの共有ホルダーにアクセスし、プリンター16のプリンタードライバーのファイルを取得する。プリンター16のプリンタードライバーが複数のファイルで構成されている場合には、共有ホルダーに複数のファイルがあるので、これらすべてのファイルを取得する。クライアント装置14Aは、取得したプリンタードライバーを、例えばハードディスクドライブ26に格納しておく。
クライアント装置14Bからプリンタードライバーを取得し終えたクライアント装置14Aは、ネットワーク12を介して、クライアント装置14Bに、取得完了通知を送信する(ステップS24)。
そして、クライアント装置14Aは、取得したプリンタードライバーのインストールを行う(ステップS26)。すなわち、クライアント装置14Aが現在使用しているプリンタードライバーを削除し、新たに取得したプリンタードライバーをハードディスクドライブ26から読み込んで、クライアント装置14Aで使用できる状態にする。これにより、本実施形態に係るドライバー検索処理は終了する。
図5は、本実施形態に係るデバイスドライバー管理取得処理において、クライアント装置14で実行されるドライバー情報回答処理を説明するためのフローチャートを示す図である。このドライバー情報回答処理は、ネットワーク12を介して、他のクライアント装置14から問い合わせを受けた場合に起動される処理である。すなわち、上述したステップS10の処理により、他のクライアント装置14から、自らが保持するプリンタードライバーのバージョンに関する問い合わせを受けた場合に、起動される処理である。
また、このドライバー情報回答処理は、クライアント装置14のCPU20が、ROM24又はハードディスクドライブ26に格納されているドライバー情報回答処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、特に、クライアント装置14Aからの問い合わせにより、クライアント装置14B、14Cのそれぞれで、このドライバー情報回答処理が起動された場合を想定して、説明をする。
この図5及び上述した図3に示すように、このドライバー情報回答処理が起動されると、まず、クライアント装置14B、14Cは、問い合わせ対象のプリンタードライバーを保持しているかどうかを判断する(ステップS40)。本実施形態においては、ハードディスクドライブ26において、各種ドライバーが格納されているフォルダーを検索し、問い合わせに含まれているプリンター特定情報で特定されるプリンターのプリンタードライバーを保持しているかどうかを判断する。プリンタードライバーが格納されているフォルダーは、一般に、クライアント装置14で定まっていることが多い。特に、オペレーティングシステムとして、Windows OS(登録商標)を用いている場合には、「ドライバーストア」というフォルダーを、検索する。Windows OSにおいては、この「ドライバーストアー」内には、プリンター毎にプリンタードライバーがまとまって格納されており、他のクライアント装置14にプリンタードライバーを提供するのに都合が良いからである。
但し、プリンタードライバーを構成するファイルが1つのフォルダーにまとまっていない場合には、これら離散して存在するファイルを1つ1つ検索して、問い合わせのあったプリンターのプリンタードライバーを保持しているか否かを判断するようにしてもよい。
問い合わせ対象のプリンターのプリンタードライバーを保持していると判断した場合(ステップS40:YES)には、クライアント装置14B、14Cは、そのプリンタードライバーのバージョンを特定し、このバージョンを特定する情報であるバージョン情報を含んだ回答を、問い合わせのあったクライアント装置14Aに送信する(ステップS42)。一方、問い合わせ対象のプリンターのプリンタードライバーを保持していないと判断した場合(ステップS40:NO)には、クライアント装置14B、14Cは、このステップS42をスキップする。
本実施形態においては、クライアント装置14Bとクライアント装置14Cの双方で、問い合わせ対象のプリンターのプリンタードライバーを保持しており、このため、ステップS42において、クライアント装置14B、14Cがともに、バージョン情報を含む回答を、クライアント装置14Aに送信したと仮定する。但し、クライアント装置14Bの保持するプリンタードライバーのバージョンの方が、クライアント装置14Cの保持するプリンタードライバーのバージョンよりも、新しいものであったと仮定する。
これにより、問い合わせを受けたクライアント装置14で実行される、ドライバー情報回答処理が終了する。
図6は、本実施形態に係るデバイスドライバー管理取得処理において、クライアント装置14で実行されるドライバー提供処理を説明するためのフローチャートを示す図である。このドライバー提供処理は、ネットワーク12を介して、他のクライアント装置14からドライバー取得要求を受けた場合に起動される処理である。すなわち、上述したステップS18の処理により、他のクライアント装置14から、ドライバー取得要求を受信したクライアント装置14で、起動される処理である。
また、このドライバー提供処理は、クライアント装置14のCPU20が、ROM24又はハードディスクドライブ26に格納されているドライバー提供処理プログラムを読み込んで実行することにより、実現される処理である。以下の説明では、クライアント装置14Aからのドライバー取得要求により、クライアント装置14Bで、このドライバー提供処理が起動された場合を想定して、説明をする。
この図6及び上述した図3に示すように、このドライバー提供処理が起動されると、まず、クライアント装置14Bは、指定されたプリンタードライバーを、ハードディスクドライブ26から取得する(ステップS50)。本実施形態においては、クライアント装置14Aから送信されたドライバー取得要求に、取得を要求するプリンタードライバーを特定する情報が含まれている。このプリンタードライバーを特定する情報は、上述したように、プリンターを特定するためのプリンター特定情報を用いてもよいし、プリンタードライバーを何らかの方法で直接指定する情報を用いてもよい。
次に、クライアント装置14Bは、ステップS50で取得したプリンタードライバーのファイルを、ドライバー取得要求を送信したクライアント装置14Aと共有できるようにする(ステップS52)。具体的には、クライアント装置14Bは、ハードディスクドライブ26に新しい共有ホルダーを1つ作成し、この共有フォルダーに、ステップS50で取得したプリンタードライバーのファイルをコピーして格納する。プリンタードライバーのファイルは、必ずしも1つであるとは限らず、複数のファイルで構成されていることもある。このような場合には、プリンタードライバーを構成する複数のファイルを、この共有フォルダーにコピーして格納しておく。
次に、クライアント装置14Bは、クライアント装置14Aから、取得完了通知を受信したかどうかを判断する(ステップS56)。すなわち、ステップS54で共有化したファイルを、上述したステップS22においてクライアント装置14Aが取得し終えた場合には、ステップS24を実行して、取得完了通知を送信してくる。このため、クライアント装置14Bは、このクライアント装置14Aからの取得完了通知の受信を待つのである。
この取得完了通知を受信したクライアント装置14Bは、ステップS52で生成したプリンタードライバーのファイルの共有を終了する(ステップS58)。具体的には、ステップS52でコピーしたプリンタードライバーのファイルを削除し、このプリンタードライバーを格納していた共有フォルダーも削除する。これにより、本実施形態に係るドライバー提供処理を終了する。
以上のように、本実施形態に係るデバイスドライバー管理システム10によれば、プリンター16のプリンタードライバーに関する特定の管理者が存在せずとも、ネットワーク12上で1台のクライアント装置14が最新のプリンタードライバーを保持しているだけで、他のクライアント装置14もこれを自動的に取得できる。このため、各クライアント装置14のユーザーが、プリンター16を製造したプリンターメーカーのホームページから新しいバージョンのプリンタードライバーをダウンロードしてクライアント装置14にインストールしたり、新しいバージョンのプリンタードライバーが格納されたCD−ROMを取得してクライアント装置14にインストールしたりする必要が無くなる。このため、各クライアント装置14のユーザーのプリンタードライバーに関する維持管理の手間を大幅に軽減することができる。
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、デバイスドライバー管理システム10で管理し配信するデバイスドライバーがプリンタードライバーである場合を例に本発明を説明したが、デバイスドライバー管理システム10で管理し配信するデバイスドライバーは、プリンタードライバーに限るものではない。例えば、スキャナー用のスキャナードライバーや、プロジェクター用のプロジェクタードライバーなどを、このデバイスドライバー管理システム10で管理し配信するようにしてもよい。
また、上述した実施形態では、クライアント装置14は、問い合わせをする側の処理である図4のドライバー検索処理を実行するとともに、問い合わせを受ける側の処理である図5のドライバー情報回答処理と図6のドライバー提供処理のいずれをも実行するとしたが、どちらか一方だけを実行できるようにしてもよい。すなわち、クライアント装置14は、問い合わせをする側の処理である図4のドライバー検索処理は実行するが、問い合わせを受ける側の処理である図5のドライバー情報回答処理と図6のドライバー提供処理は実行しないようにすることもできる。このようなクライアント装置14は、新しいバージョンのプリンタードライバーを取得することはあっても、提供することはないこととなる。或いは、クライアント装置14は、問い合わせをする側の処理である図4のドライバー検索処理は実行しないが、問い合わせを受ける側の処理である図5のドライバー情報回答処理と図6のドライバー提供処理は実行するようにすることもできる。このようなクライアント装置14は、新しいバージョンのプリンタードライバーを提供することはあっても、他のクライアント装置14からの自動的取得はしないこととなる。
また、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフレキシブルディスク、CD−ROM(Compact Disc-Read Only Memory)、ROM、メモリーカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムをクライアント装置14に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
また、クライアント装置14は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、クライアント装置14の備える他のプログラムを活用するために、そのクライアント装置14が備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、クライアント装置14に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだクライアント装置14は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
また、上述した実施形態では、各処理をソフトウェアにより実現する場合を例に説明したが、これらの各処理をASIC(Application Specific IC)などのハードウェアにより実現するようにしてもよい。さらには、これらの各処理を、ソフトウェアとハードウェアとが協働して実現するようにしてもよい。
10 デバイスドライバー管理システム
12 ネットワーク
14(14A、14B、14C) クライアント装置
20 CPU
22 RAM
24 ROM
26 ハードディスクドライブ
28 ユーザーインターフェース
30 表示画面
32 通信インターフェース

Claims (8)

  1. ネットワークを介して他のクライアント装置に接続可能なクライアント装置であって、
    前記ネットワークを介して、他のクライアントに、特定のデバイスドライバーを保持しているかどうかを問い合わせる、問い合わせ手段と、
    前記ネットワークを介して、他のクライアントから、前記問い合わせに対する回答を受信する回答受信手段と、
    前記回答受信手段で受信した回答に基づいて、最も新しいバージョンの前記特定のデバイスドライバーを保持する他のクライアント装置を特定クライアント装置として特定し、この特定クライアント装置から、前記特定のデバイスドライバーを取得する、ドライバー取得手段と、
    を備えることを特徴とするクライアント装置。
  2. 前記問い合わせ手段が行う問い合わせには、前記特定のデバイスドライバーを用いるデバイスを特定する情報が含まれている、ことを特徴とする請求項1に記載のクライアント装置。
  3. 前記受信手段が受信する回答には、前記特定のデバイスドライバーのバージョンを特定する情報が含まれている、ことを特徴とする請求項1又は請求項2に記載のクライアント装置。
  4. 前記ドライバー取得手段は、
    前記特定クライアント装置に、前記ネットワークを介して、デバイスドライバーの取得を要求する取得要求を送信した後、
    前記特定クライアント装置の所定のフォルダーをアクセスし、この所定のフォルダーから、前記特定のデバイスドライバーのファイルを取得する、
    ことを特徴とする請求項1乃至請求項3のいずれかに記載のクライアント装置。
  5. 前記デバイスドライバーは、プリンター用のプリンタードライバーであり、
    当該クライアント装置において、前記プリンター用のプリンターキューを作成した際に、前記問い合わせ手段は、他のクライアントに、特定のデバイスドライバーを保持しているかどうかを問い合わせる
    ことを特徴とする請求項1乃至請求項4のいずれかに記載のクライアント装置。
  6. 前記ネットワークを介して、他のクライアント装置から、問い合わせ対象のデバイスドライバーを保持しているかどうかの問い合わせを受信する、問い合わせ受信手段と、
    前記問い合わせ受信手段が問い合わせを受信した場合に、前記問い合わせ対象のデバイスドライバーを保持しているかどうかを判断する、判断手段と、
    前記判断手段で、前記問い合わせ対象のデバイスドライバーを保持していると判断した場合には、問い合わせをしてきた他のクライアント装置に、前記問い合わせ対象のデバイスドライバーを保持していることを回答する、回答手段と、
    前記回答手段で回答した他のクライアント装置から、前記問い合わせ対象のデバイスドライバーを取得する取得要求があった場合に、前記問い合わせ対象のデバイスドライバーを、前記取得要求を送信した他のクライアント装置と共有にして、前記取得要求を送信した他のクライアント装置が前記問い合わせ対象のデバイスドライバーにアクセスできるようにする、共有化手段と、
    をさらに備えることを特徴とする請求項1乃至請求項のいずれかに記載のクライアント装置。
  7. 前記判断手段は、デバイスドライバーが格納されているドライバー用のフォルダーを検索して、このドライバー用のフォルダーに、前記問い合わせ対象のデバイスドライバーのファイルが格納されているか否かにより、前記問い合わせ対象のデバイスドライバーを保持しているかどうかを判断する、ことを特徴とする請求項6に記載のクライアント装置。
  8. ネットワークを介して他のクライアント装置に接続可能なクライアント装置を制御するためのプログラムであって、
    前記クライアント装置が、前記ネットワークを介して、他のクライアントに、特定のデバイスドライバーを保持しているかどうかを問い合わせるステップと、
    前記クライアント装置が、前記ネットワークを介して、他のクライアントから、前記問い合わせに対する回答を受信するステップと、
    前記クライアント装置が、受信した前記回答に基づいて、最も新しいバージョンの前記特定のデバイスドライバーを保持する他のクライアント装置を特定クライアント装置として特定し、この特定クライアント装置から、前記特定のデバイスドライバーを取得するステップと、
    を前記クライアント装置に実行させることを特徴とするプログラム。
JP2009012857A 2009-01-23 2009-01-23 クライアント装置 Active JP5177678B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009012857A JP5177678B2 (ja) 2009-01-23 2009-01-23 クライアント装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009012857A JP5177678B2 (ja) 2009-01-23 2009-01-23 クライアント装置

Publications (2)

Publication Number Publication Date
JP2010170380A JP2010170380A (ja) 2010-08-05
JP5177678B2 true JP5177678B2 (ja) 2013-04-03

Family

ID=42702469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009012857A Active JP5177678B2 (ja) 2009-01-23 2009-01-23 クライアント装置

Country Status (1)

Country Link
JP (1) JP5177678B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7259426B2 (ja) * 2019-03-12 2023-04-18 株式会社リコー 情報処理装置、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134135A (ja) * 1997-10-30 1999-05-21 Sharp Corp プリンタ制御システム
JP2001043177A (ja) * 1999-07-30 2001-02-16 Canon Inc データ処理装置および印刷制御装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US20030023770A1 (en) * 2001-07-26 2003-01-30 Barmettler James W. Automated software driver installation
JP2005321984A (ja) * 2004-05-07 2005-11-17 Ricoh Co Ltd プリントシステム

Also Published As

Publication number Publication date
JP2010170380A (ja) 2010-08-05

Similar Documents

Publication Publication Date Title
US20230291722A1 (en) Information processing device, information management method, and information processing system
KR101099262B1 (ko) 네트워크 상에서 문서를 원격 프린팅하는 방법, 클라이언트 컴퓨터 시스템, 컴퓨터 판독가능 매체 및 네트워크 시스템
US7707323B2 (en) Method and apparatus for enabling enhanced USB interaction
JP2012104063A (ja) サービス処理装置、サービス処理システム及びプログラム
US7711863B2 (en) Method and apparatus for variably enabling USB interaction
US7107591B1 (en) Task-specific flexible binding in a software system
JP2014178893A (ja) 連携処理装置、プログラム及びソフトウェア更新方法
JP5177678B2 (ja) クライアント装置
US20150160899A1 (en) Method of performing cloud printing and mobile device, image forming apparatus, and cloud printing system for performing using the same
JP2004078282A (ja) プリンタ機器情報設定方法、画像印刷装置及びプログラム
US9509657B2 (en) Information processing apparatus, relay method, and computer-readable storage medium
JP2007323653A (ja) データ配信システム、データ配信方法及びデータ配信プログラム
EP1898306A1 (en) Method and apparatus for variably enabling USB interaction
JP2003150342A (ja) ドライバ管理システム
JP2002323964A (ja) プリンタドライバ配信システム、プリンタドライバ配信方法及びプリンタドライバ配信サーバ装置
US20120166606A1 (en) Distributed file operation apparatus, distributed file operation method, and non-transitory computer-readable medium storing distributed file operation program
JP6115253B2 (ja) プリントシステム、スプールサーバ、スプール方法、及びプログラム
US20230214161A1 (en) Information processing apparatus, non-transitory computer readable medium storing information processing program, and information processing method
JP2009217353A (ja) 印刷システム、印刷システムの管理プログラム、記憶媒体
JP3691873B2 (ja) 複合計算機システムにおけるファイル転送システム
EP1898305A1 (en) Method and apparatus for enabling enhanced USB interaction
JP6337532B2 (ja) 情報処理システム、及び情報処理方法
JP2013196469A (ja) データ処理装置、データ処理システムおよびプログラム
JP2010113676A (ja) 入出力指示装置
JP2002007421A (ja) サービス提供方法および装置並びにサービス検索装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121108

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: 20121214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121227

R150 Certificate of patent or registration of utility model

Ref document number: 5177678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350