(57)【要約】      （修正有）【課題】デバイスのコスト低減を図りつつ、デバイスドライバーのバージョン管理を実現することができるデバイスドライバー管理システムを提供する。【解決手段】デバイスは、ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、管理サーバーコンピューターに送信する。管理サーバーコンピューターは、受信した前記第１バージョン情報と、当該管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較して、第２バージョン情報の方が新しいバージョンである場合には、デバイスドライバーをダウンロードさせる必要があることを示すダウンロード要否識別情報を、デバイス特定情報に対応付けて保持する。【選択図】図５
2010165212.tif 000002
【特許請求の範囲】
【請求項１】
デバイスと、前記デバイスの使用に用いられるデバイスドライバーを管理する管理サーバーコンピューターとを有するとともに、前記デイバスはネットワークを介して前記管理サーバーコンピューターに接続可能である、デバイスドライバー管理システムであって、
前記デバイスは、
前記ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、前記管理サーバーコンピューターに送信する、デバイス情報送信手段と、
前記ネットワークを介して、前記管理サーバーコンピューターに対して、前記デバイス特定情報を付加して、所定の周期でポーリングを行う、ポーリング実行手段と、
を備えており、
前記管理サーバーコンピューターは、
前記デバイス情報送信手段で送信された前記第１バージョン情報と前記デバイス特定情報とを受信する、デバイス情報受信手段と、
前記デバイス情報受信手段で受信した前記第１バージョン情報と、当該管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較して、前記第２バージョン情報の方が新しいバージョンである場合には、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて保持する、ダウンロード要否識別情報保持手段と、
前記ポーリング実行手段によるポーリングを受信した場合に、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報が、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示しているか否かを判断する、ダウンロード要否判断手段と、
前記ダウンロード要否識別情報が、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記ダウンロード要否判断手段が判断した場合には、前記ポーリングを行った前記デバイスに当該管理サーバーコンピューターが保持するデバイスドライバーのダウンロードを実行させる命令セットを作成し、この命令セットを含むポーリング返信を、前記ネットワークを介して前記デバイスに送信する、返信送信手段と、
を備えており、
前記デバイスは、さらに、
前記返信送信手段で送信された前記ポーリング返信を受信し、前記ポーリング返信に含まれている命令セットを実行することにより、前記管理サーバーコンピューターから、前記管理サーバーコンピューターが保持するデバイスドライバーをダウンロードする、ダウンロード実行手段を、
備えることを特徴とする、デバイスドライバー管理システム。
【請求項２】
前記デバイスは、プリンターであり、前記デイバスドライバーは、プリンタードライバーである、ことを特徴とする請求項１に記載のデバイスドライバー管理システム。
【請求項３】
前記デバイスは、
ユーザーコンピューターから、当該ユーザーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第３バージョン情報を含む印刷要求を受信する、印刷要求受信手段と、
前記印刷要求受信手段で受信した前記第３バージョン情報と、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第４バージョン情報とを比較して、前記第４バージョン情報の方が新しいバージョンである場合には、新しいバージョンのデバイスドライバーの取得を促す督促通知を、前記ユーザーコンピューターに送信する、通知送信手段と、
をさらに備えることを特徴とする請求項２の記載のデバイスドライバー管理システム。
【請求項４】
前記デバイスは、前記督促通知に応じて、前記ユーザーコンピューターから、新しいバージョンのデバイスドライバーの送信要求を受け付けた場合には、当該デバイスが保持する前記デバイスドライバーを、前記ユーザーコンピューターに送信する、デバイスドライバー送信手段を、さらに備えることを特徴とする請求項３に記載のデバイスドライバー管理システム。
【請求項５】
前記ダウンロード要否識別情報保持手段は、
前記第１バージョン情報よりも前記第２バージョン情報の方が新しいバージョンである場合には、前記ダウンロード要否識別情報を、新しいバージョンのデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示す第１状態にし、
前記第１バージョン情報よりも前記第２バージョン情報の方が新しいバージョンではない場合には、前記ダウンロード要否識別情報を、新しいバージョンのデバイスドライバーを前記デバイスにダウンロードさせる必要がないことを示す第２状態にするとともに、
前記ダウンロード要否判断手段は、前記ダウンロード要否識別情報が前記第１状態である場合に、前記ダウンロード要否識別情報が、前記管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると判断する、
ことを特徴とする請求項１乃至請求項４のいずれかに記載のデバイスドライバー管理システム。
【請求項６】
ネットワークを介してデバイスに接続され、前記デバイスの使用に用いられるデバイスドライバーを管理する管理サーバーコンピューターであって、
前記デバイスから、前記ネットワークを介して所定の周期で、前記デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、前記デバイスを特定するデバイス特定情報とを含むデバイス情報を受信する、デバイス情報受信手段と、
前記デバイス情報受信手段で受信した前記第１バージョン情報と、当該管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較して、前記第２バージョン情報の方が新しいバージョンである場合には、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて保持する、ダウンロード要否識別情報保持手段と、
前記デバイスから、前記ネットワークを介して、前記デバイス特定情報を付加したポーリングを所定の周期で受信する、ポーリング受信手段と、
前記ポーリング受信手段で前記ポーリングを受信した場合に、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報が、当該管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示しているか否かを判断する、ダウンロード要否判断手段と、
前記ダウンロード要否識別情報が、当該管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記ダウンロード要否判断手段が判断した場合には、前記ポーリングを行った前記デバイスに当該管理サーバーコンピューターの保持するデバイスドライバーのダウンロードを実行させる命令セットを作成し、この命令セットを含むポーリング返信を、前記ネットワークを介して前記デバイスに送信する、返信送信手段と、
前記返信送信手段で送信された前記ポーリング返信に含まれている命令セットを実行することにより前記デバイスで生成されたデバイスドライバーのダウンロード要求に基づいて、当該管理サーバーコンピューターが保持するデバイスドライバーを、前記デバイスにダウンロードさせる、ダウンロード実行手段と、
を備えることを特徴とする、管理サーバーコンピューター。
【請求項７】
デバイスドライバーを管理する管理サーバーコンピューターに、ネットワークを介して接続可能な、デバイスであって、
前記ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、前記管理サーバーコンピューターに送信することにより、前記管理サーバーコンピューターに、前記第１バージョン情報と、前記管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較させて、前記第２バージョン情報の方が新しいバージョンである場合には、前記管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて前記管理サーバーコンピューターに保持させる、デバイス情報送信手段と、
前記ネットワークを介して、前記管理サーバーコンピューターに対して、前記デバイス特定情報を付加して、所定の周期でポーリングを行う、ポーリング実行手段と、
前記ポーリング実行手段によるポーリングを受信した前記管理サーバーコンピューターが、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報に基づいて、前記管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記管理サーバーコンピューターが判断した場合に、前記ポーリングを行った前記デバイスに前記管理サーバーコンピューターの保持するデバイスドライバーのダウンロードを実行させる命令セットを含むポーリング返信を、前記ネットワークを介して、前記管理サーバーコンピューターから受信する、ポーリング返信受信手段と、
前記ポーリング返信に含まれている前記命令セットを実行することにより、前記管理サーバーコンピューターから、前記管理サーバーコンピューターが保持するデバイスドライバーをダウンロードする、ダウンロード実行手段と、
を備えることを特徴とするデバイス。
【請求項８】
デバイスと、前記デバイスの使用に用いられるデバイスドライバーを管理する管理サーバーコンピューターとを有するとともに、前記デイバスはネットワークを介して前記管理サーバーコンピューターに接続可能である、デバイスドライバー管理システムの制御方法であって、
前記デバイスが、前記ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、前記管理サーバーコンピューターに送信するステップと、
前記管理サーバーコンピューターが、前記第１バージョン情報と前記デバイス特定情報とを受信するステップと、
受信した前記第１バージョン情報と、前記管理サーバーコンピューターの保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを、前記管理サーバーコンピューターが比較して、前記第２バージョン情報の方が新しいバージョンであると判断した場合には、前記管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて保持するステップと、
前記デバイスが、前記ネットワークを介して、前記管理サーバーコンピューターに対して、前記デバイス特定情報を付加して、所定の周期でポーリングを行うステップと、
前記管理サーバーコンピューターが前記ポーリングを受信した場合に、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報が、前記管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示しているか否かを判断するステップと、
前記ダウンロード要否識別情報が、前記管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記管理サーバーコンピューターが判断した場合には、前記ポーリングを行った前記デバイスに前記管理サーバーコンピューターが保持するデバイスドライバーのダウンロードを実行させる命令セットを作成し、この命令セットを含むポーリング返信を、前記ネットワークを介して前記デバイスに送信するステップと、
前記デバイスが前記ポーリング返信を受信し、前記ポーリング返信に含まれている命令セットを実行することにより、前記管理サーバーコンピューターから、前記管理サーバーコンピューターが保持するデバイスドライバーをダウンロードするステップを、
備えることを特徴とする、デバイスドライバー管理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスドライバー管理システムに関し、特に、プリンターの保持するデバイスドライバーのバージョン管理を効率的に行うデバイスドライバー管理システムに関する。
【背景技術】
【０００２】
ユーザーが使用するユーザーコンピューターからプリンターに印刷を行わせるためには、ユーザーコンピューターにプリンタードライバーをインストールする必要がある。プリンタードライバーは、ユーザーコンピューターが生成した印刷データに基づいてプリンターで印刷を行う場合に、そのプリンターに対する様々な制御を行うためのソフトウェアである。
【０００３】
このプリンタードライバーは、プリンターメーカーから、ユーザーに供給されるのが一般的である。すなわち、ユーザーがプリンターを購入すると、プリンターとともに、ＣＤ−ＲＯＭなどに格納されたプリンタードライバーも、一緒に梱包されている。ユーザーは、このＣＤ−ＲＯＭから、プリンタードライバーを、自らのユーザーコンピューターにインストールして、ユーザーコンピューターとプリンターとの間の制御が適正に行われるようにしている。
【０００４】
しかし、プリンタードライバーは、ソフトウェアであることから、機能の向上を図ったり、バグを解消したりした、新しいバージョンのプリンタードライバーが供給されることもある。このようにバージョンアップがなされた最新のプリンタードライバーをユーザーが取得するためには、プリンターメーカーのホームページにアクセスし、このホームページから最新のプリンタードライバーをユーザーコンピューターにダウンロードする必要があった。
【０００５】
しかし、最新のプリンタードライバーがプリンターメーカーのホームページ上に提供されたとしても、ユーザーは、その存在を知らないまま、従来のプリンタードライバーを使用し続けることも多かった。また、最新のプリンタードライバーがホームページ上に掲載されたことをユーザーが知ったとしても、そのダウンロードはユーザーが能動的に行わなければならず、そのためのユーザーコンピューターの操作が煩雑であるという問題もあった。
【０００６】
このような問題を解決するために、特開平１１−３２７８２８号公報（特許文献１）や特開２００６−８２５４１号公報（特許文献２）では、プリンター自体が最新のプリンタードライバーを保持する管理システムを開示している。すなわち、ネットワーク上に最新のプリンタードライバーを保持している管理サーバーコンピューターを設け、プリンターが定期的に管理サーバーコンピューターにアクセスし、自らが保持するプリンタードライバーのバージョンと、管理サーバーコンピューターが保持するプリンタードライバーのバージョンとをプリンター側で比較する。そして、自らが保持するプリンタードライバーのバージョンが最新のものでなければ、プリンターは、管理サーバーコンピューターからプリンタードライバーを取得し、このプリンターに接続されている各ユーザーコンピューターに、最新のプリンタードライバーを配信する。このようにすることにより、各ユーザーコンピューターは、プリンターに接続するだけで、最新のプリンタードライバーを取得できるようにしている。
【０００７】
しかしながら、特開平１１−３２７８２８号公報（特許文献１）や特開２００６−８２５４１号公報（特許文献２）に開示されている管理システムでは、プリンター自体がプリンタードライバーのバージョン管理を主体的に行う必要があり、そのための機能をプリンター本体に盛り込む必要がある。すなわち、プリンタードライバーのバージョンを比較したり、バージョンを管理したりするための各種ソフトウェアをプリンターに搭載する必要があり、そのソフトウェアの開発／維持管理コストが発生し、また、そのソフトウェアをプログラムとして格納する記憶装置がプリンターに必要となり、プリンターのコスト増大を招いてしまう。
【０００８】
このようなドライバーのバージョン管理に対する問題は、プリンターに限らず、スキャナーやプロジェクターなどの周辺デバイスに関するデバイスドライバーであれば、同様に生じ得る。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−３２７８２８号公報
【特許文献２】特開２００６−８２５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで本発明は、前記課題に鑑みてなされたものであり、デバイスのコスト低減を図りつつ、デバイスドライバーのバージョン管理を実現することができるデバイスドライバー管理システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明に係るデバイスドライバー管理システムは、
デバイスと、前記デバイスの使用に用いられるデバイスドライバーを管理する管理サーバーコンピューターとを有するとともに、前記デイバスはネットワークを介して前記管理サーバーコンピューターに接続可能である、デバイスドライバー管理システムであって、
前記デバイスは、
前記ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、前記管理サーバーコンピューターに送信する、デバイス情報送信手段と、
前記ネットワークを介して、前記管理サーバーコンピューターに対して、前記デバイス特定情報を付加して、所定の周期でポーリングを行う、ポーリング実行手段と、
を備えており、
前記管理サーバーコンピューターは、
前記デバイス情報送信手段で送信された前記第１バージョン情報と前記デバイス特定情報とを受信する、デバイス情報受信手段と、
前記デバイス情報受信手段で受信した前記第１バージョン情報と、当該管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較して、前記第２バージョン情報の方が新しいバージョンである場合には、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて保持する、ダウンロード要否識別情報保持手段と、
前記ポーリング実行手段によるポーリングを受信した場合に、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報が、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示しているか否かを判断する、ダウンロード要否判断手段と、
前記ダウンロード要否識別情報が、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記ダウンロード要否判断手段が判断した場合には、前記ポーリングを行った前記デバイスに当該管理サーバーコンピューターが保持するデバイスドライバーのダウンロードを実行させる命令セットを作成し、この命令セットを含むポーリング返信を、前記ネットワークを介して前記デバイスに送信する、返信送信手段と、
を備えており、
前記デバイスは、さらに、
前記返信送信手段で送信された前記ポーリング返信を受信し、前記ポーリング返信に含まれている命令セットを実行することにより、前記管理サーバーコンピューターから、前記管理サーバーコンピューターが保持するデバイスドライバーをダウンロードする、ダウンロード実行手段を、
備えることを特徴とする。
【００１２】
この場合、前記デバイスは、プリンターであり、前記デイバスドライバーは、プリンタードライバーであってもよい。
【００１３】
この場合、前記デバイスは、
ユーザーコンピューターから、当該ユーザーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第３バージョン情報を含む印刷要求を受信する、印刷要求受信手段と、
前記印刷要求受信手段で受信した前記第３バージョン情報と、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第４バージョン情報とを比較して、前記第４バージョン情報の方が新しいバージョンである場合には、新しいバージョンのデバイスドライバーの取得を促す督促通知を、前記ユーザーコンピューターに送信する、通知送信手段と、
をさらに備えるようにしてもよい。
【００１４】
この場合、前記デバイスは、前記督促通知に応じて、前記ユーザーコンピューターから、新しいバージョンのデバイスドライバーの送信要求を受け付けた場合には、当該デバイスが保持する前記デバイスドライバーを、前記ユーザーコンピューターに送信する、デバイスドライバー送信手段を、さらに備えるようにしてもよい。
【００１５】
また、前記ダウンロード要否識別情報保持手段は、
前記第１バージョン情報よりも前記第２バージョン情報の方が新しいバージョンである場合には、前記ダウンロード要否識別情報を、新しいバージョンのデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示す第１状態にし、
前記第１バージョン情報よりも前記第２バージョン情報の方が新しいバージョンではない場合には、前記ダウンロード要否識別情報を、新しいバージョンのデバイスドライバーを前記デバイスにダウンロードさせる必要がないことを示す第２状態にするとともに、
前記ダウンロード要否判断手段は、前記ダウンロード要否識別情報が前記第１状態である場合に、前記ダウンロード要否識別情報が、前記管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると判断するようにしてもよい。
【００１６】
本発明に係る管理サーバーコンピューターは、
ネットワークを介してデバイスに接続され、前記デバイスの使用に用いられるデバイスドライバーを管理する管理サーバーコンピューターであって、
前記デバイスから、前記ネットワークを介して所定の周期で、前記デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、前記デバイスを特定するデバイス特定情報とを含むデバイス情報を受信する、デバイス情報受信手段と、
前記デバイス情報受信手段で受信した前記第１バージョン情報と、当該管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較して、前記第２バージョン情報の方が新しいバージョンである場合には、当該管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて保持する、ダウンロード要否識別情報保持手段と、
前記デバイスから、前記ネットワークを介して、前記デバイス特定情報を付加したポーリングを所定の周期で受信する、ポーリング受信手段と、
前記ポーリング受信手段で前記ポーリングを受信した場合に、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報が、当該管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示しているか否かを判断する、ダウンロード要否判断手段と、
前記ダウンロード要否識別情報が、当該管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記ダウンロード要否判断手段が判断した場合には、前記ポーリングを行った前記デバイスに当該管理サーバーコンピューターの保持するデバイスドライバーのダウンロードを実行させる命令セットを作成し、この命令セットを含むポーリング返信を、前記ネットワークを介して前記デバイスに送信する、返信送信手段と、
前記返信送信手段で送信された前記ポーリング返信に含まれている命令セットを実行することにより前記デバイスで生成されたデバイスドライバーのダウンロード要求に基づいて、当該管理サーバーコンピューターが保持するデバイスドライバーを、前記デバイスにダウンロードさせる、ダウンロード実行手段と、
を備えることを特徴とする。
【００１７】
本発明に係るデバイスは、
デバイスドライバーを管理する管理サーバーコンピューターに、ネットワークを介して接続可能な、デバイスであって、
前記ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、前記管理サーバーコンピューターに送信することにより、前記管理サーバーコンピューターに、前記第１バージョン情報と、前記管理サーバーコンピューターが保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを比較させて、前記第２バージョン情報の方が新しいバージョンである場合には、前記管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて前記管理サーバーコンピューターに保持させる、デバイス情報送信手段と、
前記ネットワークを介して、前記管理サーバーコンピューターに対して、前記デバイス特定情報を付加して、所定の周期でポーリングを行う、ポーリング実行手段と、
前記ポーリング実行手段によるポーリングを受信した前記管理サーバーコンピューターが、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報に基づいて、前記管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記管理サーバーコンピューターが判断した場合に、前記ポーリングを行った前記デバイスに前記管理サーバーコンピューターの保持するデバイスドライバーのダウンロードを実行させる命令セットを含むポーリング返信を、前記ネットワークを介して、前記管理サーバーコンピューターから受信する、ポーリング返信受信手段と、
前記ポーリング返信に含まれている前記命令セットを実行することにより、前記管理サーバーコンピューターから、前記管理サーバーコンピューターが保持するデバイスドライバーをダウンロードする、ダウンロード実行手段と、
を備えることを特徴とする。
【００１８】
本発明に係るデバイスドライバー管理システムの制御方法は、
デバイスと、前記デバイスの使用に用いられるデバイスドライバーを管理する管理サーバーコンピューターとを有するとともに、前記デイバスはネットワークを介して前記管理サーバーコンピューターに接続可能である、デバイスドライバー管理システムの制御方法であって、
前記デバイスが、前記ネットワークを介して、所定の周期で、当該デバイスが保持するデバイスドライバーのバージョンに関する情報である第１バージョン情報と、当該デバイスを特定するデバイス特定情報とを、前記管理サーバーコンピューターに送信するステップと、
前記管理サーバーコンピューターが、前記第１バージョン情報と前記デバイス特定情報とを受信するステップと、
受信した前記第１バージョン情報と、前記管理サーバーコンピューターの保持するデバイスドライバーのバージョンに関する情報である第２バージョン情報とを、前記管理サーバーコンピューターが比較して、前記第２バージョン情報の方が新しいバージョンであると判断した場合には、前記管理サーバーコンピューターが保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示すダウンロード要否識別情報を、前記デバイス特定情報に対応付けて保持するステップと、
前記デバイスが、前記ネットワークを介して、前記管理サーバーコンピューターに対して、前記デバイス特定情報を付加して、所定の周期でポーリングを行うステップと、
前記管理サーバーコンピューターが前記ポーリングを受信した場合に、そのポーリングに付加されている前記デバイス特定情報に対応する前記ダウンロード要否識別情報が、前記管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示しているか否かを判断するステップと、
前記ダウンロード要否識別情報が、前記管理サーバーコンピューターの保持するデバイスドライバーを前記デバイスにダウンロードさせる必要があることを示していると、前記管理サーバーコンピューターが判断した場合には、前記ポーリングを行った前記デバイスに前記管理サーバーコンピューターが保持するデバイスドライバーのダウンロードを実行させる命令セットを作成し、この命令セットを含むポーリング返信を、前記ネットワークを介して前記デバイスに送信するステップと、
前記デバイスが前記ポーリング返信を受信し、前記ポーリング返信に含まれている命令セットを実行することにより、前記管理サーバーコンピューターから、前記管理サーバーコンピューターが保持するデバイスドライバーをダウンロードするステップを、
備えることを特徴とする。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係るデバイスドライバー管理システムの全体構成の一例を示すブロック図。
【図２】図１の管理サーバーコンピューターの内部構成の一例を説明するブロック図。
【図３】図１のユーザーコンピューターの内部構成の一例を説明するブロック図。
【図４】図１のプリンターの内部構成の一例を説明するブロック図。
【図５】図１のデバイスドライバー管理システムで実行されるデバイスドライバー管理処理の内容の一例を説明するためのフローチャートを示す図（その１）。
【図６】図１のデバイスドライバー管理システムで実行されるデバイスドライバー管理処理の内容の一例を説明するためのフローチャートを示す図（その２）。
【図７】本実施形態に係る管理サーバーコンピューターが保持するダウンロード要否識別テーブルの構成の一例を示す図。
【図８】本実施形態に係る管理サーバーコンピューターが作成するポーリング返信ファイルの一例を説明する図。
【図９】本実施形態に係るユーザーコンピューターの表示画面に表示されるユーザー確認画面の一例を示す図。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の実施形態を説明する。なお、以下に説明する実施形態は、本発明の技術的範囲を限定するものではない。
【００２１】
図１は、本実施形態に係るデバイスドライバー管理システム１０の全体構成の一例を説明するブロック図である。この図１に示すように、本実施形態に係るデバイスドライバー管理システム１０では、管理サーバーコンピューター２０と、この管理サーバーコンピューター２０にネットワーク３０を介して接続されたプリンターネットワークシステム３２とを備えて、構成されている。
【００２２】
また、プリンターネットワークシステム３２は、内部ネットワーク６０を介して、１又は複数のユーザーコンピューター４０とプリンター５０とを備えて、構成されている。図１の例では、内部ネットワーク６０を介して、１台のプリンター５０と、３台のユーザーコンピューター４０Ａ、４０Ｂ、４０Ｃが接続されている。この内部ネットワーク６０は、いわゆるローカルネットワークであり、この内部ネットワーク６０により、１台のプリンターを複数のユーザーコンピューター４０で利用する環境が実現されている。
【００２３】
内部ネットワーク６０には、ネットワークサーバー７０が接続されており、このネットワークサーバー７０を介して、ユーザーコンピューター４０とプリンター５０とは、ネットワーク３０に接続され、管理サーバーコンピューター２０に接続される。
【００２４】
ネットワーク３０を介して管理サーバーコンピューター２０に接続されるユーザーコンピューター４０やプリンター５０の台数は任意である。また、ネットワーク３０を介して管理サーバーコンピューター２０に接続されるプリンターネットワークシステム３２の数も任意である。特に本実施形態においては、複数のプリンターネットワークシステム３２が、ネットワーク３０を介して、管理サーバーコンピューター２０に接続される態様を想定している。
【００２５】
ネットワーク３０は、不特定多数の利用者が接続可能な公衆ネットワークで構成されており、例えば、インターネットにより構成されている。この図１の例では、ユーザーコンピューター４０やプリンター５０は、内部ネットワーク６０を介して、外部のネットワーク３０に接続されるように構成されているが、個々のユーザーコンピューター４０やプリンター５０が、直接、ネットワーク３０に接続されるようにしてもよい。
【００２６】
図２は、管理サーバーコンピューター２０の内部構成の一例を説明するブロック図である。この図２に示すように、本実施形態に係る管理サーバーコンピューター２０は、ＣＰＵ（Central Processing Unit）１００と、ＲＡＭ（Random Access Memory）１０２と、ＲＯＭ（Read Only Memory）１０４と、ハードディスクドライブ１０６と、通信インターフェース１０８と、ユーザー入力インターフェース１１０と、表示画面１１２とを備えており、これらは互いに、内部バス１１４を介して接続されている。
【００２７】
ＣＰＵ１００は、この管理サーバーコンピューター２０の全体的な制御を行う制御部を構成する。このＣＰＵ１００は、この各種の制御を実現するにあたり、必要なプログラムをＲＯＭ１０４やハードディスクドライブ１０６から読み込んだり、生成されたデータをＲＡＭ１０２やハードディスクドライブ１０６に書き込んだりする。また、ＣＰＵ１００は、管理サーバーコンピューター２０のユーザーに必要な情報を、適宜、表示画面１１２に表示する。
【００２８】
ハードディスクドライブ１０６は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、各種制御データなども不揮発的に記憶される。特に、本実施形態においては、このハードディスクドライブ１０６には、最新のプリンタードライバーや、このプリンタードライバーをプリンター５０に配信するのに必要なプログラムやデータを格納することができる。
【００２９】
通信インターフェース１０８は、管理サーバーコンピューター２０が、ユーザーコンピューター４０やプリンター５０と通信をするために必要となるインターフェースである。すなわち、管理サーバーコンピューター２０は、この通信インターフェース１０８を介して、ネットワーク３０に接続することにより、ユーザーコンピューター４０やプリンター５０との通信を実現する。
【００３０】
ユーザー入力インターフェース１１０は、ユーザーが、管理サーバーコンピューター２０に様々な指示やデータを入力するためのインターフェースであり、例えば、キーボードやマウス、各種の制御ボタンなどにより、構成されている。なお、図２の例では、ユーザー入力インターフェース１１０は、管理サーバーコンピューター２０の本体と一体に設けられているが、このユーザー入力インターフェース１１０は、管理サーバーコンピューター２０本体とは分離されて別個に設けられているようにしてもよい。
【００３１】
表示画面１１２は、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイや、液晶ディスプレイにより、構成されている。なお、図２の例では、表示画面１１２は、管理サーバーコンピューター２０の本体と一体に設けられているが、この表示画面１１２は、管理サーバーコンピューター２０本体とは分離されて別個に設けられているようにしてもよい。
【００３２】
管理サーバーコンピューター２０のユーザーは、ユーザー入力インターフェース１１０を操作して、ハードディスクドライブ１０６に、各プリンター５０に配信する最新のプリンタードライバーを格納し保持させておく。そして、管理サーバーコンピューター２０は、後述する処理を行うことにより、この最新のプリンタードライバーを、各プリンター５０に配信する。
【００３３】
図３は、ユーザーコンピューター４０の内部構成の一例を説明するブロック図である。この図３に示すように、本実施形態に係るユーザーコンピューター４０は、ＣＰＵ（Central Processing Unit）２００と、ＲＡＭ（Random Access Memory）２０２と、ＲＯＭ（Read Only Memory）２０４と、ハードディスクドライブ２０６と、通信インターフェース２０８と、ユーザー入力インターフェース２１０と、表示画面２１２とを備えており、これらは互いに、内部バス２１６を介して接続されている。
【００３４】
ＣＰＵ２００は、このユーザーコンピューター４０の全体的な制御を行う制御部を構成する。このＣＰＵ２００は、この各種の制御を実現するにあたり、必要なプログラムをＲＯＭ２０４やハードディスクドライブ２０６から読み込んだり、生成されたデータをＲＡＭ２０２やハードディスクドライブ２０６に書き込んだりする。また、ＣＰＵ２００は、ユーザーコンピューター４０のユーザーに必要な情報を、適宜、表示画面２１２に表示する。
【００３５】
ハードディスクドライブ２０６は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、各種制御データなども不揮発的に記憶される。特に、本実施形態においては、このハードディスクドライブ２０６には、各種アプリケーションプログラムや、アプリケーションプログラムを利用して生成した各種のデータが、格納されている。また、ハードディスクドライブ２０６には、各種のデータを、プリンター５０で印刷させるためのプログラムや、この印刷の際に必要となるプリンター５０のプリンタードライバーも格納することができる。
【００３６】
通信インターフェース２０８は、ユーザーコンピューター４０が、管理サーバーコンピューター２０やプリンター５０と通信をするために必要となるインターフェースである。すなわち、ユーザーコンピューター４０は、この通信インターフェース２０８を介して、内部ネットワーク６０に接続することにより、ネットワーク３０に接続されて、管理サーバーコンピューター２０との通信を実現する。また、ユーザーコンピューター４０は、この通信インターフェース２０８を介して、内部ネットワーク６０に接続されて、プリンター５０との通信を実現する。
【００３７】
ユーザー入力インターフェース２１０は、ユーザーが、ユーザーコンピューター４０に様々な指示やデータを入力するためのインターフェースであり、例えば、キーボードやマウス、各種の制御ボタンなどにより、構成されている。なお、図３の例では、ユーザー入力インターフェース２１０は、ユーザーコンピューター４０の本体と一体に設けられているが、このユーザー入力インターフェース２１０は、ユーザーコンピューター４０本体とは分離されて別個に設けられているようにしてもよい。
【００３８】
表示画面２１２は、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイや、液晶ディスプレイにより、構成されている。なお、図３の例では、表示画面２１２は、ユーザーコンピューター４０の本体と一体に設けられているが、この表示画面２１２は、ユーザーコンピューター４０本体とは分離されて別個に設けられているようにしてもよい。
【００３９】
ユーザーコンピューター４０のユーザーは、ユーザー入力インターフェース２１０を操作して、任意のタイミングでプリンター５０に印刷を指示するが、この際、このユーザーコンピューター４０が保持するプリンタードライバーのバージョンが古い場合には、プリンター５０から最新のプリンタードライバーに置き換えるように促される。本実施形態においては、このプリンター５０からの督促に応じて、プリンタードライバーの取得を要求するだけで、ユーザーは、ユーザーコンピューター４０のプリンタードライバーを最新のバージョンにすることができる。
【００４０】
図４は、プリンター５０の内部構成の一例を説明するブロック図である。この図４に示すように、本実施形態に係るプリンター５０は、ＣＰＵ（Central Processing Unit）３００と、ＲＡＭ（Random Access Memory）３０２と、ＲＯＭ（Read Only Memory）３０４と、ハードディスクドライブ３０６と、通信インターフェース３０８と、ユーザー入力インターフェース３１０と、表示画面３１２と、印刷実行部３１４を備えており、これらは互いに、内部バス３１６を介して接続されている。
【００４１】
ＣＰＵ３００は、このプリンター５０の全体的な制御を行う制御部を構成する。このＣＰＵ３００は、この各種の制御を実現するにあたり、必要なプログラムをＲＯＭ３０４やハードディスクドライブ３０６から読み込んだり、生成されたデータをＲＡＭ３０２やハードディスクドライブ３０６に書き込んだりする。また、ＣＰＵ３００は、ユーザーに必要な情報を、適宜、表示画面３１２に表示する。
【００４２】
ハードディスクドライブ３０６は、いわゆる大容量の補助記憶装置を構成しており、プログラムの他、各種制御データなども不揮発的に記憶される。特に、本実施形態においては、このハードディスクドライブ３０６には、管理サーバーコンピューター２０から取得した最新のバージョンのプリンタードライバーが格納される。また、管理サーバーコンピューター２０から最新のプリンタードライバーを取得したり、この取得したプリンタードライバーをユーザーコンピューター４０に配信したりするのに必要なプログラムやデータを格納することもできる。
【００４３】
但し、このハードディスクドライブ３０６は、プリンター５０に搭載しないようにすることもできる。この場合、プログラムやデータを書き換え可能に不揮発的に記憶するフラッシュメモリなどの補助記憶装置を搭載すればよい。この場合、後述するプリンタードライバーは、フラッシュメモリなどの補助記憶装置に格納される。また、管理サーバーコンピューター２０から最新のプリンタードライバーを取得したり、この取得したプリンタードライバーをユーザーコンピューター４０に配信したりするのに必要なプログラムやデータは、この補助記憶装置やＲＯＭ３０４に格納される。
【００４４】
通信インターフェース３０８は、プリンター５０が、管理サーバーコンピューター２０やユーザーコンピューター４０と通信をするために必要となるインターフェースである。すなわち、プリンター５０は、この通信インターフェース３０８を介して、内部ネットワーク６０に接続されて、ネットワーク３０に接続されることにより、管理サーバーコンピューター２０との通信を実現する。また、プリンター５０は、この通信インターフェース３０８を介して、内部ネットワーク６０に接続されることにより、ユーザーコンピューター４０との通信を実現する。
【００４５】
ユーザー入力インターフェース３１０は、ユーザーが、プリンター５０に様々な指示やデータを入力するためのインターフェースであり、例えば、テンキーや各種の制御ボタンなどにより、構成されている。また、例えば、表示画面３１２がタッチパネルで構成されている場合には、このユーザー入力インターフェース３１０と表示画面３１２と一体に構成することができる。表示画面３１２は、例えば、液晶ディスプレイにより、構成されている。
【００４６】
印刷実行部３１４は、このプリンター５０で印刷を行う機構部である。プリンターエンジンの方式は任意であるが、例えば、レーザービーム方式やインクジェット方式などがある。また、印刷用紙などの印刷媒体を、このプリンターエンジンに供給する機構も、この印刷実行部３１４に設けられている。
【００４７】
プリンター５０の基本的動作は、ユーザーコンピューター４０から印刷データを受信して、印刷実行部３１４で印刷を実行することである。但し、本実施形態に係るプリンター５０は、管理サーバーコンピューター２０から最新のバージョンのプリンタードライバーを取得して、ユーザーコンピューター４０に供給する機能も有している。
【００４８】
次に、図５及び図６に基づいて、本実施形態に係るデバイスドライバー管理システム１０で行われるデバイスドライバー管理処理について説明する。この図５及び図６は、デバイスドライバー管理システム１０で実行されるデバイスドライバー管理処理の内容を説明するためのフローチャートを示す図である。
【００４９】
管理サーバーコンピューター２０では、例えば、ＲＯＭ１０４やハードディスクドライブ１０６から、デバイスドライバー管理処理プログラムを読み出して、ＣＰＵ１００で実行することにより、実現される処理である。また、ユーザーコンピューター４０では、例えば、ＲＯＭ２０４やハードディスクドライブ２０６から、デバイスドライバー管理処理プログラムを読み出して、ＣＰＵ２００で実行することにより、実現される処理である。また、プリンター５０では、例えば、ＲＯＭ３０４やハードディスクドライブ３０６から、デバイスドライバー管理処理プログラムを読み出して、ＣＰＵ３００で実行することにより、実現される処理である。
【００５０】
図５に示すように、プリンター５０は、ネットワーク３０を介して、管理サーバーコンピューター２０に、所定の周期で定期的に、プリンター情報を送信する（ステップＳ１００）。このプリンター情報には、少なくとも、プリンター５０が保持しているプリンタードライバーのバージョンを特定するための情報と、プリンター５０を特定するためのプリンター特定情報とが、含まれている。このプリンター特定情報は、例えば、プリンター５０のシリアルナンバーにより構成されている。また、所定の周期をどの程度の期間にするかは、任意であり、例えば、１日に１回の周期や、１週間に１回の周期などが考えられる。
【００５１】
管理サーバーコンピューター２０は、ネットワーク３０を介して、プリンター５０から送信されたプリンター情報を受信する（ステップＳ１１０）。続いて、管理サーバーコンピューター２０は、プリンター情報に含まれていたプリンタードライバーのバージョンと、自らが保持しているプリンタードライバーのバージョンとを比較して、プリンター５０が保持しているプリンタードライバーのバージョンが最新のものであるかどうかを判断する（ステップＳ１２０）。
【００５２】
この比較の結果、プリンター５０が保持しているプリンタードライバーのバージョンが最新のものであると判断した場合には、管理サーバーコンピューター２０は、特別な処理をすることなく、プリンター情報を受信したことに伴う処理を終了する。
【００５３】
一方、この比較の結果、プリンター５０が保持しているプリンタードライバーのバージョンが最新のものはないと判断した場合、すなわち、管理サーバーコンピューター２０の保持するプリンタードライバーのバージョンの方が、プリンター５０の保持するプリンタードライバーのバージョンよりも新しいと判断した場合には、管理サーバーコンピューター２０は、ダウンロード要否識別テーブルを更新し、ダウンロードの必要性がある旨の情報を保持する（ステップＳ１３０）。
【００５４】
図７は、本実施形態に係るダウンロード要否識別テーブルＴＢ１０の構成の一例を示す図である。このダウンロード要否識別テーブルＴＢ１０は、例えば、管理サーバーコンピューター２０のハードディスクドライブ１０６に形成されて、保持されている。
【００５５】
このダウンロード要否識別テーブルＴＢ１０においては、プリンター特定情報と、ダウンロード要否識別情報とが、対応付けられて格納されている。すなわち、プリンター特定情報で特定されるプリンター５０に、この管理サーバーコンピューター２０が保持する新しいバージョンのプリンタードライバーをダウンロードさせる必要性が有るのか無いのかを識別する情報が、格納されている。
【００５６】
本実施形態のステップＳ１３０においては、管理サーバーコンピューター２０は、プリンター情報に含まれていたプリンター特定情報を検索キーとして、このダウンロード要否識別テーブルＴＢ１０を検索し、プリンター情報に含まれていたプリンター特定情報に対応するダウンロード要否識別情報を、「要」する。
【００５７】
例えば、プリンター特定情報としてプリンター５０のシリアルナンバーを用いている場合には、管理サーバーコンピューター２０は、ステップＳ１１０で受信したプリンター情報から、シリアルナンバーを取得する。この取得したシリアルナンバーが例えば「１２３４５６７８９」だったとすると、管理サーバーコンピューター２０は、この「１２３４５６７８９」というシリアルナンバーに対応する、ダウンロード要否識別情報を「不要」から「要」に変更する。
【００５８】
なお、本実施形態においては、プリンター特定情報は、管理サーバーコンピューター２０のユーザーが予め、ダウンロード要否識別テーブルＴＢ１０に登録しておくことを想定している。但し、このステップＳ１３０において、一致するプリンター特定情報がダウンロード要否識別テーブルＴＢ１０で検出できなかった場合には、自動的に、そのプリンター特定情報をダウンロード要否識別テーブルＴＢ１０に登録してしまうようにしてもよい。
【００５９】
次に、図５に示すように、プリンター５０は、所定の周期で、管理サーバーコンピューター２０に対してポーリングを行う（ステップＳ１４０）。本実施形態においては、このポーリングは、プリンター５０と管理サーバーコンピューター２０とが両者の存在を確認する目的で、また、プリンター５０の消耗品の残量管理や保守管理を管理サーバーコンピューター２０を用いて遠隔的に行う目的で、行われている。換言すれば、このステップＳ１４０のポーリングは、プリンター５０の保持するデバイスドライバーのバージョン管理を行うか否かに拘わらず、実行される処理である。
【００６０】
このポーリングは、例えば、１時間に１回といった周期で、プリンター５０から、管理サーバーコンピューター２０に対して、行われる。このポーリングには、少なくとも、プリンター５０を特定するために、上述したプリンター特定情報が含まれている。本実施形態においては、このポーリングは、ＸＭＬ（Extensible Markup Language）ファイルで作成される。
【００６１】
管理サーバーコンピューター２０では、ネットワーク３０を介して、このポーリングを受信する（ステップＳ１５０）。そして、このポーリングを受信した管理サーバーコンピューター２０は、ポーリングを正常に受信したことを示すポーリング返信ファイルを作成する（ステップＳ１６０）。本実施形態においては、このポーリング返信ファイルも、ＸＭＬファイルで作成される。
【００６２】
次に、管理サーバーコンピューター２０は、ポーリングを送信したプリンター５０が、プリンタードライバーのダウンロードが必要とされているものであるかどうかを判断する（ステップＳ１７０）。具体的には、管理サーバーコンピューター２０は、ポーリングに含まれているプリンター特定情報に基づいて、ダウンロード要否識別テーブルＴＢ１０を検索し、そのプリンター特定情報に対応するダウンロード要否識別情報を取得する。そして、このダウンロード要否識別情報が「要」になっている場合には、プリンタードライバーのダウンロードが必要とされているプリンター５０であると判断し、ダウンロード要否識別情報が「不要」になっている場合には、プリンタードライバーのダウンロードが必要とされていないプリンター５０であると判断する。
【００６３】
プリンタードライバーのダウンロードが必要とされていると判断した場合には、管理サーバーコンピューター２０は、プリンタードライバーダウンロード命令を、ポーリング返信ファイルに付加する（ステップＳ１８０）。すなわち、プリンター５０に管理サーバーコンピューター２０から新しいバージョンのプリンタードライバーをダウンロードさせるための命令セットを作成し、ポーリング返信ファイルに埋め込む。
【００６４】
図８は、このステップＳ１８０で作成されたポーリング返信ファイルの一例を示す図である。この図８に示すように、ポーリング返信ファイルは、ステップＳ１６０で作成された正常受信を示す情報と、ステップＳ１８０で作成されたプリンタードライバーダウンロード命令とを含む、ＸＭＬファイルとして生成される。
【００６５】
一方、ステップＳ１７０において、プリンタードライバーのダウンロードが必要とされていないと判断した場合には、管理サーバーコンピューター２０は、このステップＳ１８０の処理をスキップする。
【００６６】
次に、管理サーバーコンピューター２０は、作成したポーリング返信ファイルを、ネットワーク３０を介して、プリンター５０に送信する（ステップＳ１９０）。そして、プリンター５０は、このポーリング返信ファイルを受信する（ステップＳ２００）。
【００６７】
この受信したポーリング返信ファイルは、プリンター５０で開かれて実行されるため、このポーリング返信ファイルにプリンタードライバーダウンロード命令が含まれている場合には、プリンター５０は、このプリンタードライバーダウンロード命令を実行することとなる。すなわち、プリンター５０は、プリンタドライバダウンロード命令に基づいて、新しいプリンタードライバーを取得するために、ダウンロード要求を生成し、ネットワーク３０を介して、管理サーバーコンピューター２０に送信する（ステップＳ２１０）。このダウンロード要求は、管理サーバーコンピューター２０で受信される（ステップＳ２２０）。
【００６８】
このダウンロード要求を受信した管理サーバーコンピューター２０は、ハードディスクドライブ１０６から最新のバージョンのプリンタードライバーを取得し、ネットワーク３０を介して、このプリンター５０に対して送信する（ステップＳ２３０）。
【００６９】
管理サーバーコンピューター２０から送信された最新のバージョンのプリンタードライバーは、プリンター５０で受信され（ステップＳ２４０）、ハードディスクドライブ３０６に格納される（ステップＳ２５０）。すなわち、ハードディスクドライブ３０６に保持されていた古いバージョンのプリンタードバイバーを破棄して、新しいバージョンのプリンタドライバーに置き換える。これにより、プリンター５０が保持するプリンタードライバーが、最新のバージョンのものになったこととなる。
【００７０】
なお、ステップＳ２３０において、プリンタードライバーを送信し終えた管理サーバーコンピューター２０は、ダウンロード要否識別テーブルＴＢ１０におけるダウンロード要否識別情報を、「要」から「不要」に変更する（ステップＳ２６０）。これにより、次回のポーリングでは、ポーリング返信ファイルに、プリンタードライバーダウンロード命令が付加されないようになる。
【００７１】
次に、図６に示すように、ユーザーコンピューター４０では、任意のタイミングで印刷要求が生成される（ステップＳ３００）。例えば、ユーザーが、ユーザーコンピューター４０Ｂのアプリケーションプログラムを利用して、文書や画像を作成し、プリンター５０での印刷指示をユーザーコンピューター４０に入力することにより、ユーザーコンピューター４０Ｂで印刷要求が生成される。以下の説明では、ユーザーコンピューター４０Ｂで、印刷要求が生成された場合を例として、説明を行うが、他のユーザーコンピューター４０Ａ、４０Ｃで印刷要求が生成された場合でも、同様の処理が実行される。
【００７２】
ユーザーコンピューター４０Ｂで生成された印刷要求は、ユーザーコンピューター４０Ｂが保持するプリンタードライバーを利用して、ユーザーコンピューター４０Ｂから内部ネットワーク６０を介してプリンター５０に送信される（ステップＳ３０２）。本実施形態においては、この印刷要求には、通常の印刷データに加えて、このユーザーコンピューター４０Ｂが保持するプリンタードライバーのバージョンを特定する情報も含まれている。
【００７３】
ユーザーコンピューター４０Ｂから送信された印刷要求は、プリンター５０で受信される（ステップＳ３０４）。そして、プリンター５０は、印刷要求に含まれているプリンタードライバーのバージョンと、プリンター５０が保持しているプリンタードライバーのバージョンとを比較して、印刷要求に含まれていたプリンタードライバーのバージョンが最新のものであるかどうかを判断する（ステップＳ３０６）。
【００７４】
印刷要求に含まれていたプリンタードライバーのバージョンが最新のものである場合、すなわち、印刷要求に含まれていたプリンタードライバーのバージョンが、プリンター５０の保持するプリンタードライバーのバージョンと同じか、印刷要求に含まれていたプリンタードライバーのバージョンの方が新しい場合には、プリンター５０は、ステップＳ３０４で受信した印刷要求に基づく印刷を実行し（ステップＳ３０８）、この処理を終了する。
【００７５】
一方、印刷要求に含まれていたプリンタードライバーのバージョンが最新のものではない場合、すなわち、プリンター５０の保持するプリンタードライバーのバージョンの方が、印刷要求に含まれていたプリンタードライバーのバージョンよりも新しい場合には、プリンター５０は、旧バージョン通知を生成し、ユーザーコンピューター４０Ｂに送信する（ステップＳ３１０）。すなわち、ユーザーコンピューター４０Ｂのプリンタードライバーのバージョンが古いことをユーザーに知らせ、プリンター５０から新しいバージョンのプリンタードライバーを取得することを促す通知である、旧バージョン通知を生成し、内部ネットワーク６０を介して、ユーザーコンピューター４０Ｂに送信する。
【００７６】
ユーザーコンピューター４０Ｂは、この旧バージョン通知を受信し（ステップＳ３１２）、表示画面２１２に、ユーザー確認画面を表示する（ステップＳ３１４）。図９は、このステップＳ３１４で、表示画面２１２に表示されるユーザー確認画面Ｗ１０の構成の一例を示す図である。この図９に示すように、ユーザー確認画面Ｗ１０には、このユーザーコンピューター４０Ｂが使用しているプリンタードライバーのバージョンよりも新しいものが、プリンター５０から取得できる旨のメッセージを表示し、ユーザーに、新しいバージョンのプリンタードライバーの取得を促すとともに、取得するための処理を実行するかどうかを選択させる。
【００７７】
ユーザーは、このユーザー確認画面Ｗ１０が表示された場合、ユーザー入力インターフェース２１０を用いて、新しいバージョンのプリンタードライバーを取得するか否かを、このユーザーコンピューター４０Ｂに入力する。このため、ユーザーコンピューター４０Ｂは、ユーザーがどちらを選択入力したかを判断する（ステップＳ３１６）。
【００７８】
もし、ユーザーが新しいバージョンのプリンタードライバーを取得しない旨の指示を選択した場合には、ユーザーコンピューター４０は、新しいバージョンのプリンタードライバーを取得することなく、この処理を終了する。
【００７９】
一方、ユーザーが新しいバージョンのプリンタードライバーを取得する旨の指示を選択した場合には、ユーザーコンピューター４０Ｂは、プリンター５０に、最新のプリンタードライバーの送付を要求する最新ドライバー要求を、内部ネットワーク６０を介して送信する（ステップＳ３１８）。
【００８０】
この最新ドライバー要求は、プリンター５０で受信される（ステップＳ３２０）。そして、この最新ドライバー要求を受信したプリンター５０は、ハードディスクドライブ３０６から最新のプリンタードライバーを取得して、ユーザーコンピューター４０Ｂに内部ネットワーク６０を介して送信する（ステップＳ３２２）。
【００８１】
プリンター５０から送信された最新のプリンタードライバーは、ユーザーコンピューター４０Ｂで受信され（ステップＳ３２４）、インストールが実行される（ステップＳ３２６）。すなわち、プリンタードライバーを受信したユーザーコンピューター４０Ｂは、これを一時的にハードディスクドライブ２０６に格納し、現在使用しているプリンタードライバーと入れ替えるためのインストール処理を行う。これにより、ユーザーコンピューター４０Ｂのプリンタードライバーが、最新のバージョンのものに入れ替わったこととなる。
【００８２】
以上のように、本実施形態に係るデバイスドライバー管理システム１０によれば、管理サーバーコンピューター２０が保持する最新のプリンタードライバーを、ユーザーコンピューター４０のユーザーは、容易に取得し、ユーザーコンピューター４０が使用するプリンタードライバーを最新のものに維持管理することができる。すなわち、ユーザーコンピューター４０のユーザーは、プリンター５０から新しいプリンタードライバーの取得を促すユーザー確認画面Ｗ１０が表示された場合に、その取得を許諾する入力を行うだけで、自動的に、新しいバージョンのプリンタードライバーを、ユーザーコンピューター４０にインストールすることができる。このため、ユーザーコンピューター４０のユーザーが、自主的に、管理サーバーコンピューター２０にアクセスして、新しいプリンタードライバーを取得する必要がなくなり、ユーザーの利便性が向上する。
【００８３】
また、プリンター５０では、自らが保持するプリンタードライバーのバージョンに関する情報を、所定の周期に管理サーバーコンピューター２０に送信した上で、別の目的でも必要とされているポーリング処理をするだけで、自らが保持するプリンタードライバーのバージョンを最新のものに維持することができる。このため、プリンター５０に搭載するプログラムを簡易なものにすることができ、プログラムの開発コストや、メンテナンスコストの低減を図ることができる。さらに、プログラムが簡易なものになることから、プログラムを格納するための記憶装置の容量を削減でき、プリンター５０のコスト低減を図ることができる。
【００８４】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、上述した実施形態では、デバイスドライバー管理システム１０が管理するデバイスドライバーが、プリンタードライバーである場合を例に本発明を説明したが、このデバイスドライバー管理システム１０が管理するデバイスドライバーは、プリンタードライバーに限られるものではない。例えば、デバイスドライバー管理システム１０が、スキャナドライバーやプロジェクタドライバーなどのデバイスドライバーを管理するような場合でも、本発明を適用することができる。
【００８５】
また、上述の実施形態で説明したデバイスドライバー管理処理については、この処理を実行するためのプログラムをフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、この記録媒体に記録されたプログラムを管理サーバーコンピューター２０や、ユーザーコンピューター４０、プリンター５０に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【００８６】
また、管理サーバーコンピューター２０や、ユーザーコンピューター４０、プリンター５０は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、管理サーバーコンピューター２０や、ユーザーコンピューター４０、プリンター５０の備える他のプログラムを活用するために、そのコンピューターが備えるプログラムの中から、上述した実施形態と同等の処理を実現するプログラムを呼び出すような命令を含むプログラムを、記録媒体に記録するようにしてもよい。
【００８７】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、管理サーバーコンピューター２０や、ユーザーコンピューター４０、プリンター５０に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【００８８】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだ管理サーバーコンピューター２０や、ユーザーコンピューター４０、プリンター５０は、そのプログラムの復号や伸張を行った上で、実行する必要がある。
【００８９】
また、上述した実施形態では、デバイスドライバー管理処理をソフトウェアにより実現する場合を例に説明したが、管理サーバーコンピューター２０や、ユーザーコンピューター４０、プリンター５０に設けられたＡＳＩＣ（Application Specific IC）などのハードウェアにより実現するようにしてもよい。さらには、この処理を、ソフトウェアとハードウェアとが協働して実現するようにしてもよい。
【符号の説明】
【００９０】
１０  デバイスドライバー管理システム
２０  管理サーバーコンピューター
３０  ネットワーク
３２  プリンターネットワークシステム
４０（４０Ａ、４０Ｂ、４０Ｃ）  ユーザーコンピューター
５０  プリンター
６０  内部ネットワーク
７０  ネットワークサーバー
【図１】
2010165212.tif 000003
【図２】
2010165212.tif 000004
【図３】
2010165212.tif 000005
【図４】
2010165212.tif 000006
【図５】
2010165212.tif 000007
【図６】
2010165212.tif 000008
【図７】
2010165212.tif 000009
【図８】
2010165212.tif 000010
【図９】
2010165212.tif 000011