(57)【要約】【課題】高効率、かつ、有効に、ドライバーをインストールするセットアッププログラムのダウンロード処理を実現する。【解決手段】画像を処理する画像処理装置であって、通信可能な情報処理装置からの要求に応じて、他の画像処理装置と共有可能な、外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記画像処理装置の内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、前記情報処理装置に提供し、前記情報処理装置より、前記外部記憶装置に格納されているセットアッププログラムのダウンロード要求を受け取った場合、前記外部記憶装置より前記セットアッププログラムを取得し、取得した前記セットアッププログラムに前記画像処理装置の構成情報を付加して前記情報処理装置に送信することによって課題を解決する。【選択図】図１６
2014074962.tif 000002
【特許請求の範囲】
【請求項１】
画像を処理する画像処理装置であって、
ネットワークを介して通信可能な情報処理装置からの要求に応じて、他の画像処理装置と共有可能な、ネットワークを介して通信可能な外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記画像処理装置の内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、前記情報処理装置に提供する提供手段と、
前記情報処理装置より、前記外部記憶装置に格納されているセットアッププログラムのダウンロード要求を受け取った場合、前記外部記憶装置より前記セットアッププログラムを取得する取得手段と、
前記取得手段により取得された前記セットアッププログラムに前記画像処理装置の構成情報を付加して前記情報処理装置に送信する送信手段と、
を有する画像処理装置。
【請求項２】
ネットワークを介して通信可能な管理装置より、ドライバーをインストールするセットアッププログラムを受信する受信手段と、
前記受信手段により受信された前記セットアッププログラムを前記外部記憶装置にアップロードするアップロード手段と、
を更に有する請求項１記載の画像処理装置。
【請求項３】
前記受信手段により受信された前記セットアッププログラムを前記外部記憶装置に格納するか否かを判定する判定手段と、
前記判定手段により前記セットアッププログラムを前記内部記憶装置に格納すると判定された場合、前記セットアッププログラムに前記画像処理装置の構成情報を付加して前記内部記憶装置に格納する格納手段と、
を更に有し、
前記アップロード手段は、前記判定手段により前記セットアッププログラムを前記外部記憶装置に格納すると判定された場合、前記セットアッププログラムを前記外部記憶装置にアップロードする請求項２記載の画像処理装置。
【請求項４】
前記受信手段は、前記セットアッププログラムと共に前記セットアッププログラムを他の画像処理装置と共有するか否かの設定情報を受信し、
前記判定手段は、前記設定情報に基づき、前記受信手段により受信された前記セットアッププログラムを前記外部記憶装置に格納するか否かを判定する請求項３記載の画像処理装置。
【請求項５】
前記提供手段は、前記情報処理装置のユーザーの権限に応じて、前記情報処理装置に提供する前記一覧情報に含まれるドライバーをインストールするセットアッププログラムを変更する請求項１乃至４何れか１項記載の画像処理装置。
【請求項６】
ネットワーク上のドライバーを検索する検索手段と、
前記検索手段で検索された前記ドライバーをインストールするセットアッププログラムを作成する作成手段と、
を更に有し、
前記アップロード手段は、更に、前記作成手段で作成された前記セットアッププログラムを前記外部記憶装置にアップロードする請求項２記載の画像処理装置。
【請求項７】
画像を処理する画像処理装置であって、
ネットワークを介して通信可能な管理装置より、ドライバーをインストールするセットアッププログラムと、プリントサーバー経由の印刷か否かの印刷経路情報と、を受信する受信手段と、
前記印刷経路情報に基づき、プリントサーバー経由の印刷か否かを判定する判定手段と、
前記判定手段によりプリントサーバー経由の印刷であると判定された場合、前記プリントサーバーを指し示すアドレス情報を含む前記セットアッププログラムを外部記憶装置にアップロードするアップロード手段と、
前記アップロード手段で前記外部記憶装置にアップロードされた前記セットアッププログラムの前記プリントサーバーを指し示すアドレス情報を、前記画像処理装置を示すアドレス情報に書き換えて緊急用として内部記憶装置に格納する格納手段と、
前記外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、ネットワークを介して通信可能な情報処理装置に提供する提供手段と、
を有する画像処理装置。
【請求項８】
前記格納手段は、前記判定手段によりプリントサーバー経由の印刷でないと判定された場合、前記セットアッププログラムを前記内部記憶装置に格納する請求項７記載の画像処理装置。
【請求項９】
画像を処理する画像処理装置が実行する情報処理方法であって、
ネットワークを介して通信可能な情報処理装置からの要求に応じて、他の画像処理装置と共有可能な、ネットワークを介して通信可能な外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記画像処理装置の内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、前記情報処理装置に提供する提供ステップと、
前記情報処理装置より、前記外部記憶装置に格納されているセットアッププログラムのダウンロード要求を受け取った場合、前記外部記憶装置より前記セットアッププログラムを取得する取得ステップと、
前記取得ステップにより取得された前記セットアッププログラムに前記画像処理装置の構成情報を付加して前記情報処理装置に送信する送信ステップと、
を含む情報処理方法。
【請求項１０】
画像を処理する画像処理装置が実行する情報処理方法であって、
ネットワークを介して通信可能な管理装置より、ドライバーをインストールするセットアッププログラムと、プリントサーバー経由の印刷か否かの印刷経路情報と、を受信する受信ステップと、
前記印刷経路情報に基づき、プリントサーバー経由の印刷か否かを判定する判定ステップと、
前記判定ステップによりプリントサーバー経由の印刷であると判定された場合、前記プリントサーバーを指し示すアドレス情報を含む前記セットアッププログラムを外部記憶装置にアップロードするアップロードステップと、
前記アップロードステップで前記外部記憶装置にアップロードされた前記セットアッププログラムの前記プリントサーバーを指し示すアドレス情報を、前記画像処理装置を示すアドレス情報に書き換えて緊急用として内部記憶装置に格納する格納ステップと、
前記外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、ネットワークを介して通信可能な情報処理装置に提供する提供ステップと、
を含む情報処理方法。
【請求項１１】
コンピュータに、
ネットワークを介して通信可能な情報処理装置からの要求に応じて、他のコンピュータと共有可能な、ネットワークを介して通信可能な外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記コンピュータの内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、前記情報処理装置に提供する提供ステップと、
前記情報処理装置より、前記外部記憶装置に格納されているセットアッププログラムのダウンロード要求を受け取った場合、前記外部記憶装置より前記セットアッププログラムを取得する取得ステップと、
前記取得ステップにより取得された前記セットアッププログラムに前記コンピュータの構成情報を付加して前記情報処理装置に送信する送信ステップと、
を実行させるプログラム。
【請求項１２】
コンピュータに、
ネットワークを介して通信可能な管理装置より、ドライバーをインストールするセットアッププログラムと、プリントサーバー経由の印刷か否かの印刷経路情報と、を受信する受信ステップと、
前記印刷経路情報に基づき、プリントサーバー経由の印刷か否かを判定する判定ステップと、
前記判定ステップによりプリントサーバー経由の印刷であると判定された場合、前記プリントサーバーを指し示すアドレス情報を含む前記セットアッププログラムを外部記憶装置にアップロードするアップロードステップと、
前記アップロードステップで前記外部記憶装置にアップロードされた前記セットアッププログラムの前記プリントサーバーを指し示すアドレス情報を、前記コンピュータを示すアドレス情報に書き換えて緊急用として内部記憶装置に格納する格納ステップと、
前記外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、ネットワークを介して通信可能な情報処理装置に提供する提供ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、企業のオフィス等にプリンターが普及し、誰でも簡単に印刷ができるようになった。情報処理装置としてのＰＣ（パーソナルコンピュータ）からプリンターで印刷するには、プリンターを制御し印刷データを生成するプリンタードライバーをＰＣにインストールする必要がある。
一般的にプリンタードライバーは、ＰＣのオペレーティングシステム（ＯＳ）や印刷するプリンター毎に用意され、プリンターと同梱されたＣＤ−ＲＯＭやＦＤ等の記憶媒体によって提供されている。また、管理者は、最新のプリンタードライバーを、公衆ネットワークを介してプリンターの製造元が開設したホームページからダウンロードすることにより入手することが一般的である。更に、管理者は、入手したプリンタードライバーとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザーに配置場所をアナウンスしてプリンターを利用させるといった運用が行われている。一般ユーザーは、アナウンスされた配置場所から取得した情報に従い、ＰＣにプリンタードライバーをインストールする。
近年の印刷装置は、多機能化により印刷目的毎に異なる印刷言語による印刷機能を有する物がある。一般的に、印刷言語が異なるとプリンタードライバーが異なり、ユーザーは、印刷言語毎にプリンタードライバーをインストールする必要がある。また、オフィスに印刷装置を複数導入すると、ユーザー毎に使用する印刷装置が異なることが普通である。プリンタードライバーにもモデルが存在し、印刷装置のモデルが異なるとプリンタードライバーのモデルも異なることが普通である。プリンタードライバーのインストール、及び印刷ジョブの送付先としてのポートの設定等は、管理者、一般ユーザー共に大変な作業である。更に、付加価値の高い印刷システムを構築するために、ネットワーク上にプリントサーバーを配置し、印刷ジョブをプリントサーバーに集約する印刷システムが実現されている。このようなサーバー・クライアント型の印刷システムにおいては、一般ユーザーが操作するクライアントＰＣの印刷環境にプリントサーバーの設定を反映させる必要がある。ところが、付加価値が高度化することにより、プリントサーバーの設定はより複雑になっている。また、クライアントＰＣの環境構築は、一般ユーザーにより行われるのが一般的であり、一般ユーザーが間違いなくプリントサーバーの設定を反映させるのは困難であった。
プリンタードライバーを容易にクライアントＰＣにインストールする方法として、印刷装置にプリンタードライバーを保存し、クライアントＰＣに配信する技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−５９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、印刷装置が外部サーバーからプリンタードライバーをダウンロードし、ネットワークを介してクライアントＰＣに配信する技術が開示されている。これにより、内部ネットワークにプリンタードライバーの配信元となるネットワークサーバーを設けることなく、印刷装置は、最新バージョンのプリンタードライバーを迅速に取得でき、クライアントＰＣに容易にインストールするができる。
しかし、特許文献１では、印刷装置が同時に複数のプリンタードライバーを保持し、１つのプリンタードライバーを選択して、クライアントＰＣにインストールする技術は開示されていない。つまり、複数の印刷言語による印刷機能を有する印刷装置において、複数の印刷言語によるプリンタードライバーを同時にクライアントＰＣにインストールすることはできない。更に、特許文献１では、印刷装置が外部サーバーから取得するプリンタードライバーを選択する機能については開示されていない。
特許文献１で開示されている機能は、最新のドライバーを取得する方法だけである。なお、最新のプリンタードライバーが必ずしもユーザーが満足する機能を有するとは限らない。例えば、最新ドライバーでは障害が発生する、特定環境（ＯＳ等）のサポートを停止した等の場合がある。そのため、旧バージョンのプリンタードライバーをプリンター内に予備として保管し、最新ドライバーでエラーが発生した場合に、その予備を使用し、ＰＣに旧バージョンのプリンタードライバーを再インストールすることができない。
上記問題に鑑み、印刷装置がインストーラ格納用の記憶装置を保持し、ネットワークを介してアップロードされた任意のプリンタードライバーをインストール可能なドライバーインストーラを複数保持する印刷システムが提案されている。印刷装置は、保持しているインストーラを一覧表示する機能を持ち、一覧表示したドライバーインストーラからユーザーによって選択された１つを、クライアントＰＣ（情報処理装置）にダウンロードすることが可能である。クライアントＰＣは、ダウンロードされたドライバーインストーラを実行することで、前記印刷装置から印刷することが可能になる。
【０００５】
ところが、前記提案されている印刷システムでは、印刷装置が同時に保持できるプリンタードライバー数は記憶装置の容量に依存する。そのため、印刷装置が同時に保持できるプリンタードライバーの数に限界がある。ユーザーの印刷環境が高度化することにより、特定の印刷アプリケーションを含む特定の印刷システムには、そのシステムに特化したプリンタードライバーが必要になる。また、ファクスドライバーもプリンタードライバーと同様の仕組みでＰＣにインストールすることが可能になる。そのため、印刷装置に格納し、ＰＣにダウンロードできるプリンタードライバー（ファクスドライバーを含む）の数を増やすことが求められている。印刷装置が同時に保有可能なプリンタードライバー数を増やすには、物理的な記憶容量、メモリ容量を増やすことが必要でありコスト増を招く。物理的な容量を増加させずに保有可能なプリンタードライバー数を増やすと、他のプログラムが利用可能な資源（記憶容量、メモリ容量）が枯渇し、正常に動作しなくなる。或いは、印刷装置が他のプログラムを追加インストールできなくなる。
また、前記提案されている印刷システムでは、印刷装置へ任意のプリンタードライバーをアップロードする際、プリンタードライバーを管理装置に用意する必要がある。また、オフィス環境では複数の印刷装置が同一のフロアに存在することが一般的であり、印刷装置毎にアップロード作業が必要となる。また、アップロードしたプリンタードライバーを更新したい場合は、アップロードした印刷装置毎に更新作業が必要である。
プリントサーバー経由の印刷システムでは、プリントサーバー、又はシステム管理サーバーが稼働停止すると印刷が止まってしまう特徴がある。そのため、システムにはサーバー停止時に備え、サーバーを経由しない印刷経路が用意されている。システム管理者は、システム構築時に印刷経路に合わせて複数のインストーラを用意する。また、システム管理者は、プリンタードライバーのインストール手順を記載した手順書を用意する必要があった。
【０００６】
本発明は、上記課題を鑑みてなされたもので、高効率、かつ、有効に、ドライバーをインストールするセットアッププログラムのダウンロード処理を実現することを目的とする。
【課題を解決するための手段】
【０００７】
画像を処理する画像処理装置であって、ネットワークを介して通信可能な情報処理装置からの要求に応じて、他の画像処理装置と共有可能な、ネットワークを介して通信可能な外部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、前記画像処理装置の内部記憶装置に格納されている、ドライバーをインストールするセットアッププログラムと、の一覧情報を、前記情報処理装置に提供する提供手段と、前記情報処理装置より、前記外部記憶装置に格納されているセットアッププログラムのダウンロード要求を受け取った場合、前記外部記憶装置より前記セットアッププログラムを取得する取得手段と、前記取得手段により取得された前記セットアッププログラムに前記画像処理装置の構成情報を付加して前記情報処理装置に送信する送信手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、高効率、かつ、有効に、ドライバーインストールするセットアッププログラムのダウンロード処理を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のシステム構成の一例を示す図である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】管理装置におけるデバイス選択画面の一例を示す図である。
【図４】実施形態１での管理装置におけるアップロード条件の設定画面の一例を示す図である。
【図５】ドライバーダウンロード画面の一例を示す図である。
【図６】印刷システムにおける主要なモジュール構成の一例を示す図である。
【図７】管理装置によるデバイス選択処理の一例を示すフローチャートである。
【図８】管理装置によるアップロード条件設定処理の一例を示すフローチャートである。
【図９】管理装置によるプリンタードライバー取得処理の一例を示すフローチャートである。
【図１０】管理装置によるアップロード処理の一例を示すフローチャートである。
【図１１】セットアッププログラム起動時に必要な情報、及びダウンロードページ作成に必要な情報が記載されたファイルの一例を示す図である。
【図１２】管理装置によるセットアッププログラム作成処理の一例を示すフローチャートである。
【図１３Ａ】初期セットアッププログラムの一例を示す図である。
【図１３Ｂ】管理装置により作成されたセットアッププログラムの一例を示す図である。
【図１４Ａ】セットアッププログラムの起動に必要な情報等が記載されたファイルの一例を示す図である。
【図１４Ｂ】図１４Ａを更新したファイルの一例を示す図である。
【図１４Ｃ】図１４Ｂを更新したファイルの一例を示す図である。
【図１５Ａ】インストーラが必要とする情報が記載されたファイルの一例を示す図である。
【図１５Ｂ】図１５Ａを更新したファイルの一例を示す図である。
【図１５Ｃ】図１５Ｂを更新したファイルの一例を示す図である。
【図１６】実施形態１でのプリンターによる基本処理の一例を示すフローチャートの一例である。
【図１７】実施形態１でのプリンターによるアップロード受付処理の一例を示すフローチャートである。
【図１８】実施形態１でのプリンターによるダウンロードページのリスト表示処理の一例を示すフローチャートである。
【図１９】プリンターによる構成情報更新処理の一例を示すフローチャートである。
【図２０】セットアップモジュールの処理の一例を示すフローチャートである。
【図２１】実施形態２でのプリンターによるアップロード受付処理の一例を示すフローチャートである。
【図２２】実施形態３での管理装置におけるアップロード条件の設定画面の一例を示す図である。
【図２３】実施形態３でのプリンターによるアップロード受付処理の一例を示すフローチャートである。
【図２４】実施形態３でのプリンターによるダウンロードページのリスト表示処理の一例を示すフローチャートである。
【図２５】実施形態４でのプリンターによる基本処理の一例を示すフローチャートの一例である。
【図２６】実施形態５でのプリンターによるアップロード受付処理の一例を示すフローチャートである。
【図２７Ａ】実施形態５での書き換え前の"ｓｅｔｕｐ．ｉｎｉ"の一例を示す図である。
【図２７Ｂ】実施形態５での書き換え後の"ｓｅｔｕｐ．ｉｎｉ"の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づき説明する。
【００１１】
＜用語の定義＞
まず、本実施形態で用いられる以下の用語について説明する。
「プリンタードライバー」とは、アプリケーションからの印刷指示に応じて、ＯＳから呼び出されて印刷データを生成するソフトウェアを意味する。
「論理プリンター」とは、ＯＳのスプーラ上の印刷キューのことであり、ソフトウェアとしてのプリンターを意味する。
「論理プリンター名」とは、論理プリンターを識別する名称である。
「共有プリンター」とは、論理プリンターを接続したＰＣをプリントサーバーとして機能させ、ＬＡＮ等のネットワークに接続した複数のＰＣから共有して使うことのできる論理プリンターである。
「ポート」とは、論理プリンターが物理プリンターに印刷データを送付するネットワークポート、又はローカルポートの総称を意味する。１つのポートには印刷データの送信先（例えば、ＩＰアドレス）が１つだけマッピングされているのが普通である。
「ポート名」とは、ポートを識別する名称である。
「インストーラ」とは、プリンタードライバーをインストールするアプリケーションであり、インストールプログラムと、インストール情報とを記載した情報ファイルからなる。また、インストーラは、プリンタードライバーのインストールと同時に論理プリンターの登録、ポートの作成も行うことができる。
「アップロード」とは、記憶領域にＰＣやサーバーからのデータを登録することである。
「ダウンロード」とは、記憶領域に保存したデータをＰＣ、又はサーバーに転送することである。
また、説明の簡略化のため、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）を例にとり説明する。
【００１２】
＜実施形態１＞
本実施形態のシステムについて説明する。
図１は、本実施形態におけるシステム構成の一例を示す図である。
なお、本実施形態のシステムは、本実施形態の機能が実現されるのであれば、単体の機器であっても、複数の機器から構成されるシステムであってもよい。また、本実施形態のシステムは、本実施形態の機能が実現されるのであれば、複数の機器がＬＡＮ、ＷＡＮ等のネットワークを介して接続されることにより処理が行われるシステムであってもよい。
１０１、１０２、１０３、及び１０４は、情報処理装置である。情報処理装置は、イーサネット（登録商標）等によって、ネットワーク１０６に接続されている。更に、情報処理装置は、アプリケーションプログラム等の各種のプログラムを実行することが可能であり、ネットワーク１０６に接続されている他の機器と双方向に通信可能な通信装置を備えている。
【００１３】
情報処理装置１０１は、プリントサーバーとしての情報処理装置である。以下、他の情報処理装置と区別するため、プリントサーバー１０１と呼ぶ。
情報処理装置１０２は、管理装置としての情報処理装置である。以下、他の情報処理装置と区別するため、管理装置１０２と呼ぶ。管理装置１０２は、プリンター１０５に関する様々な情報を保持し、プリンターの印刷ログ、動作ログ等を集計して保持する機能を有する。
情報処理装置１０３、１０４は、パーソナルクライアントコンピュータとしての情報処理装置である。以下、他の情報処理装置と区別するため、クライアント１０３、１０４と呼ぶ。
プリントサーバー１０１は、クライアント１０３、１０４からの印刷データを含むジョブを保持するキューを有し、キューからジョブを順次取り出し、プリンターに送信する。
プリンター１０５は、図示しないネットワークインターフェィスを介してネットワーク１０６に接続されている。更に、プリンター１０５は、プリントサーバー１０１、クライアント１０３、１０４から送信される印刷データを含むジョブを解析して１ページずつイメージに変換して、１ページ毎に印刷する。なお、プリンター１０５は、画像処理装置の一例である。また、プリンター１０５は、電子写真方式を採用したレーザービームプリンター、インクジェット方式を採用したインクジェットプリンター、熱転写方式を利用したプリンター等の様々な方式のもののうち何れであってもよい。
【００１４】
図２は、情報処理装置１０１〜１０４と、プリンター１０５とのハードウェア構成の一例を示す図である。
まず、情報処理装のハードウェア構成の詳細について説明する。
ＣＰＵ２００は、ハードディスク（ＨＤ）２０５に格納されている各種プログラムに基づいて処理を実行することにより、後述する情報処理装置の機能（ソフトウェアの機能）、及び情報処理装置に関するフローチャートに係る処理を実現する。ここで、情報処理装置は、プリントサーバー１０１、管理装置１０２、クライアント１０３、１０４を含む。更に、ＣＰＵ２００は、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する。
ＲＯＭ２０１は、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。
ＲＡＭ２０２は、ＣＰＵ２００の主メモリ、ワーク領域等として機能する。
フレキシブルディスク（ＦＤ）ドライブ２０３は、記憶媒体としてのフレキシブルディスク（ＦＤ）２０４に記憶されたプログラム等をクライアントである本コンピュータシステムにロードする。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
ＦＤ２０４は、コンピュータによって読み取り可能なプログラムを格納している。
【００１５】
ハードディスク（ＨＤ）２０５は、大容量メモリとして機能し、アプリケーションプログラム、プリンタードライバープログラム、ＯＳ、制御プログラム、関連プログラム等を格納している。なお、スプーラは、ハードディスク（ＨＤ）２０５に確保される。スプーラは、クライアントにおいてはクライアントスプーラであり、プリントサーバーではサーバスプーラである。また、プリントサーバーでは、クライアントから受けたジョブ情報と、順序制御を行うためのテーブルとが、ハードディスク（ＨＤ）２０５に格納される。
キーボード２０６は、ユーザーからの入力を受け付ける入力デバイスである。
表示部２０７は、キーボード２０６から入力されたコマンドや、後述の管理アプリケーション等のアプリケーションプログラムを表示するディスプレイ等である。
システムバス２０８は、クライアントであるコンピュータ内のデータの流れを司るバスである。
双方向インターフェース２０９は、情報処理装置が外部装置とデータのやり取りを行うためのインターフェースである。
【００１６】
次に、プリンター１０５のハードウェア構成の詳細について説明する。
プリンター１０５は、ハードディスク（ＨＤ）２２８、接続部２２６、データ制御部（プリンターエンジン）２２５、操作部２２４、外部メモリ２２３、ＰＣＰＵ２２０、ＰＲＡＭ２２２、及びＰＲＯＭ２２１を有する。これらの構成要素がシステムバス２２７を介して互いに接続されている。
プリンターＣＰＵ（ＰＣＰＵ）２２０は、ＰＲＯＭ２２１等に格納されている各種プログラムに基づいて処理を実行することにより、後述するプリンター１０５の機能（ソフトウェアの機能）、及びプリンター１０５に関するフローチャートに係る処理を実現する。また、ＰＣＰＵ２２０は、接続部２２６で受信したプリンター制御コマンド（送信データ）より、画像信号をデータ制御部２２５に送信する。
ハードディスク（ＨＤ）２２８は、フォントデータや印刷ジョブ等のデータを格納する大容量の記憶装置である。また、ハードディスク（ＨＤ）２２８は、図示しない外部装置としての記憶装置と置き換えが可能である。ハードディスク（ＨＤ）２２８を外部の記憶装置と置き換える場合、プリンター１０５は、接続部２２６を介して外部装置とデータの送受信を行う。
【００１７】
ＰＲＡＭ２２２は、ＰＣＰＵ２２０による制御が実行される際の、ワークデータエリアとして使用される各種データの一時記憶領域を備える主メモリである。
外部メモリ２２３は、フォントデータ、シミュレーションプログラム、フォームデータ等を記憶する。なお、外部メモリ２２３は、オプションとして接続されるメモリである。
ＰＲＯＭ２２１は、プリンター１０５の内部メモリであり、外部メモリと同様に、各種データや本プリンターを制御するプリンター制御プログラム等を記憶している。
データ制御部２２５は、ＰＣＰＵ２２０がＰＲＯＭ２２１、又は外部メモリ２２３に記憶された制御プログラムを実行することにより制御されるプリンターエンジンである。データ制御部２２５は、システムバス２２７を介して出力された画像信号を受け、実際の印刷処理を行う。
操作部２２４は、操作パネル、操作スイッチ等の入力部、ＬＥＤ、液晶パネル等の表示部等を有し、オペレータの操作を受け、結果を表示する。オペレータは、操作部２２４を介してプリンターの設定を指示したり、確認したりすることができる。
接続部２２６は、上述の双方向インターフェース２０９を介して情報処理装置の接続部２１０に接続され、印刷制御コマンド（送信データ）を受信したり、プリンター１０５内部の状態等を通知したりすることができる。
【００１８】
図３は、本実施形態における管理装置１０２で実行される管理アプリケーションにより提供されるデバイス選択画面の一例を示す図である。
ユーザーは、管理アプリケーションにより提供される操作画面を操作することで、デバイスを管理下に追加登録することができる。図３に示されるように、管理装置１０２は、管理下のデバイスを、状態、ＩＰアドレス等の構成情報と共にリストで画面に一覧表示することができる。なお、管理下となるデバイスとは、印刷機能のみを有するプリンターや、印刷機能、スキャナ、ＦＡＸ機能、コピー機能を併せ持つ複合機等を含む。また、全てのデバイスは、印刷機能を有し、プリンタードライバーのアップロード対象となるものとする。更に、ユーザーが、一覧表示されたデバイスを選択し、「ドライバー登録」ボタンを押下すると、後述する図４に示されるドライバーのアップロード条件の設定画面が管理装置１０２の表示部２０７に表示される。また、ユーザーが、「アドレス帳」、「ドライバー削除」等のボタンを押下すると、押下したボタンに対応する図示しない画面が管理装置１０２の表示部２０７に表示される。
なお、説明の簡略化のため、図３のデバイス選択画面で登録表示されているデバイスは、全て印刷機能のみを有するプリンターであるとする。以降の説明において、特に断りのない限り「デバイス」とは、「プリンター」を意味するものとする。
【００１９】
図４は、本実施形態における管理装置１０２で実行される管理アプリケーションにより提供されるアップロード条件の設定画面の一例を示す図である。
ユーザーが、設定画面上の「参照」ボタンを押下すると、図示しないファイル選択ダイアログが管理装置１０２の表示部２０７に表示される。ユーザーは、ファイル選択ダイアログからプリンタードライバーインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルを指定する。管理アプリケーションは、指定されたｓｅｔｕｐ．ｅｘｅや、付随するファイルからインストーラのドライバー種類、バージョン、システムの種類等を読み込む。管理アプリケーションは、読み込んだドライバー種類、バージョン、システムの種類を、設定画面のテキストエリア（「ドライバー種類：」、「バージョン：」、「システムの種類：」）に反映させる。更に、管理アプリケーションは、インストーラが保持するドライバーモデルのリストから、図３に示されるデバイス選択画面で指定されたプリンターのデバイスモデル名を検索し、検索したものを「ドライバーモデル名」コンボボックスに表示する。ユーザーが、この画面で"ＯＫ"を押下することで、ファイル選択ダイアログで指定したインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルの情報に、後述の表示名やアップロード番号等の設定を反映させたものがセットアッププログラムとして構築される。そして、構築された前記セットアッププログラムが、プリンターの記憶装置にアップロードされる。更に、管理アプリケーションは、「ドライバーモデル名」コンボボックスに設定されたドライバーモデル名を「表示名」テキストボックスの初期値として設定する。なお、「表示名」テキストボックスは、ユーザーによって任意の文字列に編集可能である。ユーザーにより「表示名」テキストボックスで指定された文字列は、ユーザーがダウンロードを行う際に目的ドライバーを認識しやすいように、後述のドライバーダウンロードページに表示される。
【００２０】
「アップロードＮｏ．」コンボボックスでは、ユーザーは、アップロードするセットアッププログラムを格納するアップロード番号を指定できる。本実施形態では、ユーザーは、１から３までのアップロード番号を指定できる。プリンター１０５の記憶装置は、アップロード番号に対応した格納領域を予め確保している。ユーザーが既にセットアッププログラムが格納済みのアップロード番号を指定してアップロードの実行を指示すると、既存のセットアッププログラムは無効化され、新規にアップロードされたセットアッププログラムが有効になる。
「コメント」テキストボックスは、ユーザーが任意のコメントを入力できるテキストボックスである。「コメント」テキストボックスで指定された文字列は、ユーザーがダウンロードを行う際に目的ドライバーを認識しやすいように、後述のドライバーダウンロードページに表示される。更に、前記文字列は、クライアントに作成された論理プリンターのプロパティにコメントとして追加される。
「ポート」では、ユーザーは、論理プリンターに接続するポートの種類を「ＩＰアドレス」、「ホスト名」、「ポート名を指定する」ラジオボタンから選択できる。更に、ユーザーは、「ポート名を指定する」ラジオボタンを指定することで、「ポート名」テキストボックスに任意のポート名を入力できる。
【００２１】
「プリントサーバーを指定する」チェックボックスは、ユーザーがプリントサーバーを指定するか否かを設定するチェックボックスである。ユーザーがチェックすると、「ホスト名又はＩＰアドレス」テキストボックス、及び「共有名」テキストボックスが入力可能となる。ユーザーがチェックしてアップロードを指示すると、セットアッププログラムに基づき処理を実行するＣＰＵ２００は、「ホスト名又はＩＰアドレス」テキストボックス、及び「共有名」テキストボックスに入力された値を基にプリントサーバーを設定する。
「ボックスのパス」テキストボックスは、ユーザーがセットアッププログラムをアップロードする記憶装置のパスを指定するテキストボックスである。
「ユーザー名」テキストボックスは、ユーザーが「ボックスのパス」テキストボックスで指定したパスへのアクセス権のあるユーザー名を指定するテキストボックスである。
「パスワード」テキストボックスは、ユーザーが「ボックスのパス」テキストボックスで指定したパスへのアクセス権のあるユーザーのパスワードを指定するテキストボックスである。
【００２２】
図５は、本実施形態におけるドライバーダウンロード画面の一例を示す図である。
図５のドライバーダウンロード画面は、クライアント１０３、１０４の情報処理装置の表示部２０７に表示される画面である。
ＣＰＵ２００は、ログイン画面から取得したユーザー名を判定し、取得したユーザー名が管理者ユーザーであると判定した場合、図５に示される管理者用ダウンロード画面を表示する。一方、ＣＰＵ２００は、取得したユーザー名が一般ユーザーであると判定した場合、図示しない一般者用ダウンロード画面を表示する。
ＣＰＵ２００は、ドライバーダウンロード画面に、アップロードされたセットアッププログラムの一覧として、「Ｎｏ．」、「表示名」、「ドライバー種類」、「バージョン」、「システムの種類」、及び「コメント」を各種操作ボタンと共に表示する。なお、ＣＰＵ２００は、管理者用ダウンロード画面では、更に「パス」を表示する。
【００２３】
「Ｎｏ．」は、アップロードされたセットアッププログラムを識別する情報である。ＣＰＵ２００は、プリンター１０５が保持する内部記憶装置に格納されたセットアッププログラムでは、図４に示される画面の「アップロードＮｏ．」で指定されたアップロード番号を表示する。また、ＣＰＵ２００は、外部記憶装置６３０に格納されたセットアッププログラムでは、Ａｎ（ｎは数値）を表示する。
「表示名」は、アップロード条件設定画面の「表示名」で指定された文字列を表示している。
「ドライバー種類」は、図４に示される画面の「ドライバー種類：」で設定された文字列を表示している。
「バージョン」は、図４に示される画面の「バージョン：」で設定された文字列を表示している。
「システムの種類」は、図４に示される画面の「システムの種類：」の表示値を表示している。
「パス」は、図４に示される画面の「ボックスのパス」で指定された文字列を表示している。
「コメント」は、図４に示される画面の「コメント」で指定された文字列を表示している。
【００２４】
上述の各種操作ボタンとは、「ダウンロード」及び「削除」ボタンのことである。ＣＰＵ２００は、管理者用ダウンロード画面の場合のみ、「削除」ボタンを表示する。
ユーザーが、何れかの行の「ダウンロード」ボタンを押下すると、図示しないダウンロードダイアログが表示され、セットアッププログラムのダウンロードが開始される。ユーザーは、セットアッププログラムのダウンロードを、上述のダウンロードダイアログに指定されたダウンロードディレクトリに行うよう指示する。
ユーザーが、何れか行の「削除」ボタンを押下すると、押下したボタンの行のセットアッププログラムが削除される。
【００２５】
図６は、本本実施形態の印刷システムにおける主要なモジュール構成の一例を示す図である。
これらのモジュールは、システム内の各装置においてＣＰＵがプログラムを実行することで実現される機能を提供するための論理的な構成になる。
プリンター１０５は、モジュール構成として、記憶部６０１、監視部６０３、セットアッププログラム更新部６０４、Ｗｅｂサーバー機能部６０５、アップロード受付部６０６、及びダウンロード部６０７を有する。
記憶部６０１、及び外部記憶部６３１は、管理装置１０２のアップロード部６１５からセットアッププログラムを受け取り、記憶装置に予め確保された格納領域に格納する。
記憶部６０１のセットアッププログラム６０２は、インストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルの情報と、論理プリンター作成時に必要となる各種設定とを含む実行プログラムである。
監視部６０３は、プリンターの構成情報を監視し、変更が発生した場合はセットアッププログラム更新部６０４にセットアッププログラム６０２の更新を依頼する。構成情報とは、プリンターに設定された情報であり、例えばＩＰアドレス、ホスト名、機器名、設置場所情報等である。また、監視部６０３は、管理装置１０２からのセットアッププログラムのアップロードや登録済みセットアッププログラムの削除指示を監視する。
【００２６】
セットアッププログラム更新部６０４は、監視部６０３からの指示基づき、セットアッププログラム６０２の内部情報を書き換える。
Ｗｅｂサーバー機能部６０５は、Ｗｅｂサーバーとして動作し、図５に示されるドライバーダウンロード画面を含む、各種Ｗｅｂページを提供する。
アップロード受付部６０６は、管理装置１０２からのセットアッププログラムのアップロードを受け付ける。アップロード受付部６０６は、後述の条件に従い、セットアッププログラムを記憶部６０１、又は外部記憶部６３１、又はセットアッププログラムを記憶部６０１及び外部記憶部６３１に格納する。
ダウンロード部６０７は、Ｗｅｂサーバー機能部６０５を介して、クライアント１０３からのダウンロード要求を受け付ける。更に、ダウンロード部６０７は、記憶部６０１、又は外部記憶部６３１に格納されているセットアッププログラムを取り出し、ダウンロード要求元のクライアント１０３に送信する。
【００２７】
管理装置１０２は、デバイス選択部６１１、アップロード条件設定部６１２、作成部６１４、アップロード部６１５、及びプリンタードライバー取得部６１３を有する。
デバイス選択部６１１は、管理アプリケーションが提供する画面（図３）を表示部２０７に表示する。
アップロード条件設定部６１２は、アップロード条件設定画面（図４）を表示部２０７に表示する。
プリンタードライバー取得部６１３は、アップロード条件設定画面（図４）から起動され、プリンタードライバーインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルを取り込む。
作成部６１４は、プリンタードライバー取得部６１３が取得したプリンタードライバーインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルに、アップロード条件設定部６１２から取得した論理プリンター登録に必要な情報を設定し、セットアッププログラムを作成する。
アップロード部６１５は、セットアッププログラムをプリンター１０５に送信する。
【００２８】
外部記憶装置６３０は、プリンター１０５の外部に置かれ、プリンター１０５からアクセス可能な記憶装置である。なお、外部記憶装置６３０は、複数のプリンター等で共有可能な記憶装置である。外部記憶装置６３０は、情報処理装置、及びプリンター１０５が有する記憶装置をネットワーク上の機器からアクセス可能となるように設定された記憶装置、ネットワークと直接接続するファイルサーバー専用機等である。また、外部記憶装置６３０は、上記の複数の物理的な記憶装置を仮想化した記憶装置等であってもよい。
外部記憶装置６３０は、外部記憶部６３１を有し、セットアッププログラム６３２を格納する。
クライアント１０３は、Ｗｅｂブラウザー６２０を有し、ユーザーの指示によりプリンター１０５のＷｅｂサーバー機能部６０５にアクセスし、セットアッププログラム６０２、又はセットアッププログラム６３２のダウンロード等を行う。
【００２９】
図７は、管理装置１０２のデバイス選択部６１１が実行する処理の一例を示すフローチャートである。
本処理のためのプログラムは、予め管理装置１０２のＨＤ２０５にインストールされており、ＣＰＵ２００によりＲＡＭ２０２に呼び出され、実行されるものとする。また、図３に示される画面に登録表示されているデバイスは、全てプリンターであるとする。
Ｓ７０１で、デバイス選択部６１１は、イベントが発生したか否かを判定し、イベントが発生したと判定した場合、処理をＳ７０２に進める。一方、Ｓ７０１で、デバイス選択部６１１は、イベントが発生していないと判定した場合、Ｓ７０１の処理を再度繰り返す。例えば、ＭＳＤＮＬｉｂｒａｒｙ（登録商標）で開示されている方法は、以下の通りである。例えば、ＣＰＵは、ユーザーによるマウスのクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するＩＤとを認識することにより、イベントの発生有無を判定する。
Ｓ７０２で、デバイス選択部６１１は、イベントとしてデバイスの選択が行われたか否か判定し、デバイスの選択が行われたと判定した場合、処理をＳ７０３に進める。一方、Ｓ７０２で、デバイス選択部６１１は、デバイスの選択が行われなかったと判定した場合、処理をＳ７０４に進める。より具体的には、デバイス選択部６１１は、イベントにおいて、図３に示されるデバイス選択画面のデバイスリストのレコードの示すＩＤと、左マウスボタン操作とを認識した場合、イベントとして「デバイス選択」が行われたと判定する。
Ｓ７０３で、デバイス選択部６１１は、予めＲＡＭ２０２やＨＤ２０５等の記憶装置に確保されているワーク領域のデバイスリストにレコードを追加し、処理をＳ７０１に進める。なお、デバイスリストは、デバイスモデル名、ＩＰアドレス、及びシリアルナンバー等のプリンター固有の情報を含む。
【００３０】
Ｓ７０４で、デバイス選択部６１１は、イベントが「ドライバー登録」ボタン押下であるか否かを判定し、「ドライバー登録」ボタン押下であると判定した場合、処理をＳ７０５に進める。一方、Ｓ７０４で、デバイス選択部６１１は、イベントが「ドライバー登録」ボタン押下でないと判定した場合、処理をＳ７０７に進める。より具体的には、デバイス選択部６１１は、イベントにおいて、図３に示されるデバイス選択画面の「ドライバー登録」ボタンを示すＩＤと、左マウスボタン操作とを認識した場合、イベントとして「ドライバー登録」のボタン押下が行われたと判定する。
Ｓ７０５で、デバイス選択部６１１は、Ｓ７０３で作成したデバイスリストをアップロード条件設定部６１２に渡す。アップロード条件設定部６１２は、後述する図８に示される処理によってアップロード条件の設定を行い、処理をＳ７０６に進める。
Ｓ７０６で、デバイス選択部６１１は、Ｓ７０３で作成したデバイスリストと、Ｓ７０５で取得したプリンタードライバーインストーラと、Ｓ７０５で設定したアップロード条件とをアップロード部６１５に渡す。アップロード部６１５は、後述する図１０に示される処理によってアップロード処理を行い、処理をＳ７０１に進める。
Ｓ７０７で、デバイス選択部６１１は、イベントが「終了」であるか否かを判定し、終了であると判定した場合、所定の手続きに基づき、ＲＡＭ２０２やＨＤ２０５等の記憶装置に確保されているワーク領域を開放し、処理を終了する。一方、Ｓ７０７で、デバイス選択部６１１は、イベントが「終了」でないと判定した場合、他の操作が行われたものとして、処理をＳ７０１に進める。ここでは、他の操作に関する説明を省略する。より具体的には、デバイス選択部６１１は、イベントにおいて、図３に示されるデバイス選択画面の「終了」アイコンを示すＩＤと、左マウスボタン操作とを認識した場合、イベントとして「終了」アイコンが押下され、イベントが「終了」したと判定する。
【００３１】
次に、図８を用いて、図７に示されるＳ７０５のアップロード条件設定処理について説明する。
図８は、管理装置１０２のアップロード条件設定部６１２が実行する処理の一例を示すフローチャートである。
アップロード条件設定部６１２は、図４に示されるアップロード条件設定画面を表示部２０７に表示する。
Ｓ８０１で、アップロード条件設定部６１２は、イベントが発生したか否かを判定し、発生したと判定した場合、処理をＳ８０５に進める。一方、Ｓ８０１で、アップロード条件設定部６１２は、イベントが発生していないと判定した場合、処理をＳ８０２に進める。なお、Ｓ８０１で、アップロード条件設定部６１２は、Ｓ７０１と同様の処理によりイベントの発生有無を判定する。
【００３２】
Ｓ８０２で、アップロード条件設定部６１２は、設定が完了したか否かを判定し、完了したと判定した場合、処理をＳ８０３に進める。一方、Ｓ８０２で、アップロード条件設定部６１２は、設定が完了していないと判定した場合、処理をＳ８０４に進める。より具体的には、アップロード条件設定部６１２は、図４に示されるアップロード条件の設定画面を検索し、検索した結果、全項目に値が設定済であった場合、設定が完了したと判定する。
Ｓ８０３で、アップロード条件設定部６１２は、図４に示される設定画面の「ＯＫ」ボタンを有効化し、処理をＳ８０１に進める。なお、有効化とは、ＯＳに備えられている機能を用い、ボタンのテキストを黒色表示し、ボタン押下のイベントを通知可能に設定することである。
Ｓ８０４で、アップロード条件設定部６１２は、図４に示される設定画面の「ＯＫ」ボタンを無効化し、処理をＳ８０１に進める。なお、無効化とは、ＯＳに備えられている機能を用い、ボタンのテキストをグレー表示し、ボタン押下のイベントを通知不可能に設定することである。
【００３３】
Ｓ８０５で、アップロード条件設定部６１２は、イベントがファイルパスの設定か否かを判定し、ファイルパスの設定であると判定した場合、処理をＳ８０６に進める。一方、Ｓ８０５で、アップロード条件設定部６１２は、イベントがファイルパスの設定でないと判定した場合、処理をＳ８０７に進める。より具体的には、アップロード条件設定部６１２は、イベントにおいて、図４に示される設定画面の「参照」ボタンを示すＩＤと、左マウスボタン操作とを認識した場合、「ファイルパスの設定」と判定する。
Ｓ８０６で、アップロード条件設定部６１２は、プリンタードライバー取得部６１３を呼び出す。プリンタードライバー取得部６１３は、後述する図９に示される処理によって、プリンタードライバー取得処理を行い、処理をＳ８０１に進める。
Ｓ８０７で、アップロード条件設定部６１２は、「ＯＫ」ボタンが押下されたか否かを判定し、押下されたと判定した場合、設定画面上で設定されたアップロード条件をデバイス選択部６１１に返して、設定処理を終了する。一方、Ｓ８０７で、アップロード条件設定部６１２は、「ＯＫ」ボタンが押下されなかったと判定した場合、他の操作が行われものとして、処理をＳ８０１に進める。ここでは、他の操作に関する説明を省略する。より具体的には、アップロード条件設定部６１２は、イベントにおいて、図４に示される設定画面の「ＯＫ」ボタンを示すＩＤと、左マウスボタン操作とを認識した場合、「ＯＫ」ボタンが押下されたと判定する。
【００３４】
次に、図９を用いて、図８に示されるＳ８０６のプリンタードライバー取得処理について説明する。
図９は、管理装置１０２のプリンタードライバー取得部６１３が実行する処理の一例を示すフローチャートである。
Ｓ９０１で、プリンタードライバー取得部６１３は、ドライバー情報ファイルを読み込み、処理をＳ９０２に進める。プリンタードライバー取得部６１３は、ユーザーによって図示しないファイル選択ダイアログから指定された"ｓｅｔｕｐ．ｅｘｅ"のパス情報を取得し、同パス以下からドライバー情報ファイル（ｓｅｔｕｐ．ｉｎｆ）を検索する。プリンタードライバー取得部６１３は、ドライバー情報ファイルを見つけると、所定のフォーマットに従いファイルを検索し、バージョン情報、ドライバー種類、及びシステムの種類を読み出し、ＲＡＭ２０２等の記憶装置の所定のワーク領域に保存する。
Ｓ９０２で、プリンタードライバー取得部６１３は、Ｓ９０１で取得した情報を、アップロード条件の設定画面（図４）の「バージョン情報：」、「ドライバー種類：」、及び「システムの種類：」のテキストエリアに書き込み、処理をＳ９０３に進める。
【００３５】
Ｓ９０３で、プリンタードライバー取得部６１３は、ドライバーモデル名を設定し、処理をＳ９０４に進める。より具体的には、プリンタードライバー取得部６１３は、ドライバー情報ファイルを検索し、プリンターに相応しいドライバーモデル名を検索する。例えば、ＭＳＤＮＬｉｂｒａｒｙでは、ＩＮＦファイルのモデルセクションに、ドライバーモデル名と、ハードウェアＩＤとを１つのエントリーとして記載する方法が開示されている。その記載に従い、プリンタードライバー取得部６１３は、Ｓ９０１で読み込んだドライバー情報ファイルから、プリンターの持つハードウェアＩＤと同一の記載を全検索する。プリンタードライバー取得部６１３は、見つけたドライバーモデル名を、表示部２０７に表示されているアップロード条件の設定画面（図４）の「ドライバーモデル名」コンボボックスにおける表示リストに登録する。設定画面上では、表示リストの先頭候補となるドライバーモデル名が選択状態となる。プリンタードライバー取得部６１３は、ドライバーモデル名を見つけられない場合、ドライバー情報ファイルに記載されている全てのドライバーモデル名を「ドライバーモデル名」コンボボックスにおける表示リストに登録する。この場合、初期状態では、どのドライバーモデルも選択されていない状態で設定画面に表示される。なお、本ステップで用いるドライバーモデル名は、図３に示されるデバイス選択画面が表示しているデバイスリストから選択された先頭のデバイス用のドライバーモデル名とする。
Ｓ９０４で、プリンタードライバー取得部６１３は、Ｓ９０３で設定された「ドライバーモデル名」コンボボックスの情報を、「表示名」テキストボックスに設定し、処理を終了する。
【００３６】
次に、図１０を用いて、図７に示されるＳ７０６のアップロード処理について説明する。
図１０は、管理装置１０２のアップロード部６１５が実行する処理の一例を示すフローチャートである。
アップロード対象とするデバイスのリスト、及びアップロードに必要とする情報は、デバイス選択部６１１からアップロード部６１５に渡され、ＲＡＭ２０２等の記憶領域に確保されたワーク領域に保持されているものとする。
Ｓ１００１で、アップロード部６１５は、作成部６１４を呼び出し、必要な情報、及びアップロード対象のインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルを渡す。作成部６１４は、後述する図１２に示される処理によってセットアッププログラム作成処理を行い、処理をＳ１００２に進める。
Ｓ１００２で、アップロード部６１５は、モデル判定が必要か否か判定し、必要と判定した場合、処理をＳ１００３に進める。一方、Ｓ１００２で、アップロード部６１５は、モデル判定が必要ないと判定した場合、処理をＳ１００４に進める。より具体的には、アップロード部６１５は、ＲＡＭ２０２等の記憶領域に確保されたワーク領域に保持されている情報を検索する。アップロード部６１５は、検索の結果、ドライバーモデル名の指定がない、又は"Ｕｎｉｖｅｒｓａｌ"等の汎用ドライバーを意味する文字列を見つけた場合、モデル判定が必要ないと判定する。ここで、汎用ドライバーとは、全プリンターモデルに適用できるドライバーのことである。
【００３７】
Ｓ１００３で、アップロード部６１５は、デバイスのモデル名と、セットアッププログラムのドライバーのモデル名とが一致しているか否かを判定し、一致していると判定した場合、処理をＳ１００４に進める。一方、Ｓ１００３で、アップロード部６１５は、モデル名が一致していないと判定した場合、処理をＳ１００６に進める。より具体的には、アップロード部６１５は、ＲＡＭ２０２等の記憶領域に確保されたワーク領域に保持されているデバイスリストから１レコードを取り出す。次に、アップロード部６１５は、取り出したレコード中のデバイスモデル名と、後述の作成部６１４が作成したセットアッププログラムのドライバーのモデル名とを比較する。そして、アップロード部６１５は、比較の結果、両者が一致した場合、モデル名が一致していると判定する。例えば、デバイスモデル名が"Ｃ＿ｉＡＤＶＣ５０５１"であり、ドライバーのモデル名が"Ｃ＿ｉＡＤＶＣ５０５１／５０４１"のようにデバイスモデル名を含む場合は、アップロード部６１５は、ドライバーモデル名が一致していると判定する。
Ｓ１００４で、アップロード部６１５は、セットアッププログラムを送信し、処理をＳ１００５に進める。より具体的には、アップロード部６１５は、後述の作成部６１４が作成したセットアッププログラムを、アップロード条件の設定画面（図４）の設定値に従い、プリンターの記憶部６０１に予め用意されたワーク領域に配置する。
【００３８】
Ｓ１００５で、アップロード部６１５は、プリンター１０５にアップロードを通知し、処理をＳ１００６に進める。より具体的には、アップロード部６１５は、所定の手続きに基づき、予め用意された通信手段を用いて、プリンター１０５にアップロード番号、パス、ファイル名、及びプリンターが保持するダウンロードページの作成に必要な情報を通知する。ダウンロードページの作成に必要な情報は、図５のクライアントの情報処理装置の管理者用ダウンロード画面のドライバー一覧における、表示名、ドライバー種類、バージョン、システムの種類、登録プリンター数、パス、及びコメントの各表示値等を含む。更に、前記必要な情報は、図１１に示される詳細画面における、「リストのタイトル文字列」、「プリンター名」、「ドライバーモデル名」、「ポートの設定」、「ＩＰアドレス／ホスト名」、「ポート名」、「設置場所」、「コメント」、及び各種値等である。
Ｓ１００６で、アップロード部６１５は、全デバイスへの処理が終了したか否かを判定し、終了したと判定した場合、処理を終了する。一方、Ｓ１００６で、アップロード部６１５は、全デバイスへの処理が終了していないと判定した場合、処理をＳ１００２に進める。より具体的には、アップロード部６１５は、ＲＡＭ２０２等の記憶領域に確保されたワーク領域に保存されているデバイスリストを検索し、未処理のレコードが存在しない場合、全プリンターへの処理が終了したと判定する。
【００３９】
次に、図１２、図１３、図１４、及び図１５を用いて、Ｓ１００１のセットアッププログラム作成処理について説明する。なお、アップロード条件設定画面（図４）から、図３に示される管理装置１０２のデバイス選択画面に登録済のデバイス名「Ｃｏｌｏｒ＿Ｐｒｉｎｔｅｒ」に対して、セットアッププログラムをアップロードした場合を例に挙げ説明する。また、アップロード部６１５は、セットアッププログラム作成に必要な情報、及びインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルを適宜、作成部６１４に渡しているものとする。
図１２は、管理装置１０２の作成部６１４が実行する処理の一例を示すフローチャートである。
Ｓ１１０１で、作成部６１４は、一時フォルダを作成し、処理をＳ１１０２に進める。例えば、作成部６１４は、ＯＳが提供している機能を利用し、ＲＡＭ２０２、ＨＤ２０５等の記憶領域に確保されているワーク領域にフォルダを作成する。
Ｓ１１０２で、作成部６１４は、Ｓ１１０１で作成した一時フォルダに、図１３Ａに示される初期セットアッププログラムを作成する。初期セットアッププログラムは、ヘッダー部と、プログラム部とを含む。
【００４０】
ヘッダー部には、プログラム部の動作を決定するための様々なパラメータが格納されている。一例として、ヘッダー部には、以下のようなものが含まれている。
・Ｏｆｆｓｅｔ＿ｔｏ＿ｅｎｔｒｙ：結合ファイルの情報を格納している領域を格納している先頭からのオフセット。
・Ｓｉｚｅ＿ｏｆ＿ａｌｌ＿ｅｎｔｒｙ：結合ファイルの情報を格納している領域の合計サイズ。
・ｓｉｚｅ＿ｏｆ＿ｆｉｌｅ＿ｅｎｔｒｙ：結合ファイルの情報を格納している領域のサイズ。
・ｎｕｍ＿ｏｆ＿ｅｎｔｒｙ：結合ファイルの情報を格納している領域の総数。
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは０にセットされている。
プログラム部には、ヘッダーを参照して結合ファイルの位置を特定し、結合されているインストーラを分離し、インストーラを起動するためのプログラムが格納されている。
【００４１】
Ｓ１１０３で、作成部６１４は、Ｓ１１０１で作成した一時フォルダに図１４Ａ、図１５Ａに示される情報ファイルを作成し、処理をＳ１１０４に進める。
図１４Ａは、セットアッププログラム起動時に必要な情報、及び後述のダウンロードページ作成に必要な情報が記載されたファイルの一例を示す図である。
図１４Ａに示されるファイルのファイル名は、"ｓｅｔｕｐ．ｉｎｉ"とする。"ｓｅｔｕｐ．ｉｎｉ"ファイルは、［ＤｒｉｖｅｒＵｐｌｏａｄＩｎｆｏ］セクションを含み、以下の設定が可能である。なお、エントリーがないものは設定値がないものとして扱う。
・［論理プリンター名］：セクションに、論理プリンター名を記載する。
・ＤｒｉｖｅｒＭｏｄｅｌＮａｍｅ：ドライバーモデル名。
・ＰｒｉｎｔｅｒＮａｍｅ：ＰＣにインストールする論理プリンター名。
・Ｃｏｍｍｅｎｔｓ：ＰＣにインストールした論理プリンターに設定するコメント。
・ＰｏｒｔＴｙｐｅ：ポートの種類（１：ＩＰアドレス、２：ホスト名、３：ポート名）。
・ＰｏｒｔＮａｍｅ：ポート名。
・ＰｒｉｎｔＳｅｒｖｅｒ：プリントサーバーの名前、又はＩＰアドレス。
・ＳｈａｒｅＮａｍｅ：共有プリンターの共有名。
・ＤｅｖｉｃｅＭｏｄｅｌ：デバイスモデル名。
【００４２】
図１４Ａは、アップロード条件設定画面（図４）からアップロード条件設定された例であり、１つの論理プリンター、及びプリントサーバーの情報が記載されている。
ドライバーモデルは、"Ｃ＿ｉＡＤＶＣ５０４５／５０５１"である。
論理プリンター名は、"Ｃ＿ｉＡＤＶＣ５０５１"である。
コメントは"３Ｆｓｈａｒｅｐｒｉｎｔｅｒ"である。
ポートの種類は"１"である（ＩＰアドレスを意味する。）。
ポート名は、未設定である。
プリントサーバーのＩＰアドレスは、未設定である。
共有名は、未設定である。
デバイスモデル名は、未設定である。
【００４３】
図１５Ａは、結合されたセットアッププログラムから分離されたインストーラが必要とする情報が記載されたファイルの一例を示す図である。
図１５Ａに示されるファイルのファイル名は、"ｓｉｌｅｎｔ．ｉｎｉ"とする。"ｓｉｌｅｎｔ．ｉｎｉ"ファイルは、［ＩｎｓｔａｌｌＣｏｍｐｌｅｔｅ］、［ＳｅｌｅｃｔＪｏｂ］、及び［ＰｒｉｎｔｅｒＩｎｆｏ］のセクションを含み、以下の設定が可能である。
・Ｒｅｂｏｏｔ：インストール終了後にＰＣのリブートを制御するフラグ（０：リブートなし、１：リブート）。
・ＳｅｌｅｃｔＪｏｂ：プリンタードライバーのインストールモード（０：新規インストール、１：上書きインストール、２：インストールしない）。
・ＰＲＴｎ：論理プリンター名／ドライバーモデル／接続ポート／デフォルトプリンタ／共有名を指定する（ｎ＝１、２、３…）。
【００４４】
図１５Ａは、リブートなし、上書きインストールが指定されている例である。論理プリンター名、ドライバーモデル、及び接続ポートは、初期状態では未設定である。これら未設定項目は、後述するセットアッププログラム更新部６０４によるセットアッププログラム更新処理で設定される。
Ｓ１１０４で、作成部６１４は、Ｓ１１０２で作成した初期セットアッププログラムに、Ｓ１１０３で作成した情報ファイルと、Ｓ８０６で取得したプリンタードライバーのインストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイルとを結合させ、処理をＳ１１０５に進める。
Ｓ１１０５で、作成部６１４は、Ｓ１１０４で作成したセットアッププログラムのヘッダーを書き換え、図１３Ｂに示されるセットアッププログラムを作成し、処理を終了する。
作成部６１４は、ヘッダー部の"Ｏｆｆｓｅｔ＿ｔｏ＿ｅｎｔｒｙ"に、結合ファイルの情報を格納している領域のセットアッププログラム先頭からのオフセット"４０９６"を設定する。
作成部６１４は、ヘッダー部の"Ｓｉｚｅ＿ｏｆ＿ａｌｌ＿ｅｎｔｒｙ"に、結合ファイルの情報を格納している領域の合計サイズ"１５３６"を設定する。
作成部６１４は、ヘッダー部の"ｓｉｚｅ＿ｏｆ＿ｆｉｌｅ＿ｅｎｔｒｙ"に、結合ファイルの情報を格納している領域のサイズ"５１２"を設定する。
作成部６１４は、ヘッダー部の"ｎｕｍ＿ｏｆ＿ｅｎｔｒｙ"に、結合ファイルの情報を格納している領域の総数"３"を設定する。
【００４５】
作成部６１４は、結合ファイルの情報を格納する３つ領域を"Ｏｆｆｓｅｔ＿ｔｏ＿ｅｎｔｒｙ"で指定される領域に確保する。そして、作成部６１４は、結合したファイルの情報を、前記３つの領域に格納する。なお、格納される情報は、先頭から、"ｓｅｔｕｐ．ｉｎｉ"ファイル、インストーラの"ｓｅｔｕｐ．ｅｘｅ"ファイル、"ｓｉｌｅｎｔ．ｉｎｉ"ファイルである。作成部６１４は、それぞれの領域に各ファイルの以下の情報をセットする。
・ＯＦＦＳＥＴ：結合されたファイルが位置するセットアッププログラム先頭からのオフセット。
・Ｓｉｚｅ：結合されたファイルのサイズ。
・Ｔｙｐｅ：結合されたファイルのタイプ（１：実行ファイル、２：テンポラリファイル、３：情報ファイル、４：その他）。
・ＦＩＬＥＮＡＭＥ：結合されたファイル名。
【００４６】
次に、図１６に示されるフローチャートを用いて、プリンター１０５の基本処理について説明する。
図１６は、本実施形態におけるプリンター１０５の処理の一例を示すフローチャートである。
監視部６０３等のプリンター１０５内部で稼働している各モジュールは、プリンター１０５の稼動と共に起動し、プリンター１０５が稼動終了するまで起動するものとする。
Ｓ１２０１で、監視部６０３は、管理装置１０２からのセットアッププログラムのアップロード通知があるか否かを判定し、通知があると判定した場合、処理をＳ１２０２に進める。一方、Ｓ１２０１で、監視部６０３は、セットアッププログラムのアップロード通知がないと判定した場合、処理をＳ１２０４に進める。より具体的には、監視部６０３は、所定の手続きに基づき双方向インターフェース２０９、接続部２２６を介して受信したパケットを検索し、所定フォーマットのアップロード通知を見つければ、アップロード通知があったと判定する。
Ｓ１２０２で、監視部６０３は、アップロード受付部６０６を呼び出す。更に、監視部６０３は、アップロード通知により得たセットアッププログラム、アップロード番号、パス、ファイル名、ダウンロードページの作成に必要な情報、後述の構成情報、及び登録指示をアップロード受付部６０６に渡す。そして、アップロード受付部６０６は、後述する図１７に示される処理によってセットアッププログラムのアップロード処理を行い、処理をＳ１２０３に進める。
Ｓ１２０３で、監視部６０３は、アップロード結果通知を行い、処理をＳ１２０１に進める。より具体的には、監視部６０３は、所定の方法に基づき、接続部２２６を介し、所定のフォーマットで作成したアップロード結果通知を、Ｓ１２０１でアップロード通知を行った送信元（管理装置）に送信する。
【００４７】
Ｓ１２０４で、監視部６０３は、構成情報に変更があったか否かを判定し、変更があったと判定した場合、処理をＳ１２０５に進める。一方、Ｓ１２０４で、監視部６０３は、構成情報に変更がなかったと判定した場合、処理をＳ１２０６に進める。より具体的には、監視部６０３は、ＰＲＡＭ２２２等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があれば、構成情報に変更があったと判定する。構成情報に変更があった場合、監視部６０３は、次回判定時の比較対象のために、ＰＲＡＭ２２２等の記憶装置の予め用意されているワーク領域に構成情報を保存する。なお、構成情報とは、管理者が変更可能な設置場所、機器名、ＩＰアドレス等である。
Ｓ１２０５で、監視部６０３は、処理をセットアッププログラム更新部６０４に渡す。そして、セットアッププログラム更新部６０４は、後述する図１９に示される処理によって構成情報更新処理を行い、処理をＳ１２０１に進める。
Ｓ１２０６で、監視部６０３は、ダウンロードページの表示要求があったか否かを判定し、要求があったと判定した場合、処理をＳ１２０７に進める。一方、Ｓ１２０６で、監視部６０３は、ダウンロードページの表示要求がなかったと判定した場合、処理をＳ１２０８に進める。より具体的には、監視部６０３は、所定の手続きに基づき双方向インターフェース２０９、接続部２２６を介して受信したパケットを検索し、所定フォーマットのダウンロードページの表示要求を見つければ、ダウンロードページの表示要求があったと判定する。
Ｓ１２０７で、監視部６０３は、処理をＷｅｂサーバー機能部６０５に渡す。そして、Ｗｅｂサーバー機能部６０５は、後述する図１８に示される処理によってダウンロードリスト表示処理を行い、処理をＳ１２０１へ進める。
【００４８】
Ｓ１２０８で、監視部６０３は、ユーザーによりダウンロードを指示されたか否かを判定し、指示されたと判定した場合、処理をＳ１２０９に進める。そして、監視部６０３は、処理をダウンロード部６０７に渡す。なお、ダウンロード処理に必要な情報は、監視部６０３からダウンロード部６０７に適宜渡されているものとする。一方、Ｓ１２０８で、監視部６０３は、ユーザーによりダウンロードを指示されなかったと判定した場合、処理をＳ１２０１に進める。より具体的には、監視部６０３は、接続部２２６を介して受信したパケットからダウンロードのリクエストを検索し、ダウンロードのリクエストを見つければ、ダウンロードを指示されたと判定する。
Ｓ１２０９で、ダウンロード部６０７は、ダウンロード指示されたセットアッププログラムが外部記憶装置６３０に格納されているか判定し、格納されていると判定すれば、処理をＳ１２１０に進める。一方、Ｓ１２０９で、ダウンロード部６０７は、ダウンロード指示されたセットアッププログラムが外部記憶装置６３０に格納されていないと判定した場合、処理をＳ１２１１に進める。より具体的には、ダウンロード部６０７は、図５に示される「Ｎｏ．」を、セットアッププログラムを識別するＩＤとして扱い、外部記憶装置６３０の外部記憶部６３１が保持しているリストから検索する。そして、ダウンロード部６０７は、検索したリストから「Ｎｏ．」を見つけた場合、外部記憶装置６３０に格納されていると判定する。
【００４９】
Ｓ１２１０で、ダウンロード部６０７は、前記「Ｎｏ．」で識別されるセットアッププログラム６３２を外部記憶部６３１から取得し、処理をＳ１２１２に進める。次に、ダウンロード部６０７は、取得したセットアッププログラム６３２をＰＲＡＭ２２２等の記憶装置に予め用意されているワーク領域に格納する。そして、ダウンロード部６０７は、前記セットアッププログラムに構成情報を付加し、監視部６０３から渡された構成情報を反映させる。例えば、ダウンロード部６０７は、ＩＰアドレスが"１７２．１０．１０．１０"、機器名が"Ｃｏｌｏｒ＿Ｐｒｉｎｔｅｒ"、デバイスモデル名が"Ｃ＿ｉＡＤＶＣ５０５１"といった情報を反映させる。この場合、ダウンロード部６０７は、前記セットアッププログラムに連結された"ｓｅｔｕｐ．ｉｎｉ"ファイル、"ｓｉｌｅｎｔ．ｉｎｉ"ファイルをそれぞれ更新し、保存する。ここで、図１４Ａ、図１５Ａは、更新前のファイルを示している。一方、図１４Ｂ、図１５Ｂは、更新後のファイルを示している。ダウンロード部６０７は、論理プリンター名に機器名を、ポート名にＩＰアドレスを、デバイスモデル名にデバイスモデル名を反映して変更している。
Ｓ１２１１で、ダウンロード部６０７は、記憶部６０１からセットアッププログラム６０２を取得し、処理をＳ１２１２に進める。より具体的には、ダウンロード部６０７は、前記「Ｎｏ．」で識別されるセットアッププログラムを記憶部６０１から取得し、ＰＲＡＭ２２２等の記憶装置に予め用意されているワーク領域に格納する。
Ｓ１２１２で、ダウンロード部６０７は、Ｓ１２１０で取得したセットアッププログラム６３２、又はＳ１２１１で取得したセットアッププログラム６０２をダウンロード指示の要求元に対して送信し、処理をＳ１２０１に進める。
【００５０】
次に、図１７を用いて、Ｓ１２０２のプリンター１０５のアップロード受付部６０６によるアップロード受付処理について説明する。
図１７は、プリンター１０５のアップロード受付部６０６が実行する処理の一例を示すフローチャートである。
Ｓ１３０１で、アップロード受付部６０６は、監視部６０３から渡されたセットアッププログラムを外部記憶装置６３０に格納し、処理をＳ１３０２に進める。より具体的には、監視部６０３は、セットアッププログラムを外部記憶装置６３０が有する外部記憶部６３１に格納する。そして、アップロード受付部６０６は、外部記憶装置６３０に予め用意された領域に確保されている、アップロードがあった場合にその旨を記録する管理情報を適宜設定する。更に、アップロード受付部６０６は、ＰＲＡＭ２２２等の記憶装置に確保されているワーク領域にセットアッププログラムをコピーする。
Ｓ１３０２で、アップロード受付部６０６は、セットアッププログラムに構成情報を付加し、処理をＳ１３０３に進める。より具体的には、アップロード受付部６０６は、Ｓ１３０１でワーク領域にコピーしたセットアッププログラムに、監視部６０３から渡された構成情報を反映させる。例えば、アップロード受付部６０６は、ＩＰアドレスが"１７２．１０．１０．１０"、機器名が"Ｃｏｌｏｒ＿Ｐｒｉｎｔｅｒ"、デバイスモデル名が"Ｃ＿ｉＡＤＶＣ５０５１"といった情報を反映させる。この場合、アップロード受付部６０６は、前記セットアッププログラムに連結された"ｓｅｔｕｐ．ｉｎｉ"ファイル、"ｓｉｌｅｎｔ．ｉｎｉ"ファイルをそれぞれ更新し、保存する。ここで、図１４Ａ、図１５Ａは、更新前のファイルを示している。一方、図１４Ｂ、図１５Ｂは、更新後のファイルを示している。アップロード受付部６０６は、論理プリンター名に機器名を反映し、ポート名にＩＰアドレスを反映し、デバイスモデル名にデバイスモデル名を反映し、変更している。
Ｓ１３０３で、アップロード受付部６０６は、Ｓ１３０２で構成情報を付加したセットアッププログラムを内部記憶装置に格納する。更に、アップロード受付部６０６は、ＨＤ２２８等の記憶装置に予め用意された領域に確保されたアップロードがあった場合、その旨を記録する管理情報を適宜設定し、処理を終了する。なお、ユーザーは、内部記憶装置の情報を随時消去可能である。ユーザーは、内部記憶装置の空き容量等の状況に応じて内部記憶装置に格納されている情報を消去し、外部記憶装置に格納されている情報に構成情報を付加した情報を新たに格納してもよい。
【００５１】
次に、図１８を用いて、Ｓ１２０７のプリンター１０５のＷｅｂサーバー機能部６０５によるダウンロードページのリスト表示処理について説明する。
図１８は、プリンター１０５のＷｅｂサーバー機能部６０５の処理の一例を示すフローチャートである。
Ｗｅｂサーバー機能部６０５は、プリンター１０５の起動と同時に動作を開始し、プリンター１０５の終了と共に動作を終了するものとする。また、表示用のデータは、ＰＲＡＭ２２２等の確保されたワーク領域に予め用意されているものとする。
Ｓ１４０１で、Ｗｅｂサーバー機能部６０５は、表示用リストを初期化し、処理をＳ１４０２に進める。より具体的には、Ｗｅｂサーバー機能部６０５は、ワーク領域の表示用データを初期化する。
Ｓ１４０２で、Ｗｅｂサーバー機能部６０５は、内部記憶装置に保存されているデータから表示リストを作成し、処理をＳ１４０３に進める。より具体的には、Ｗｅｂサーバー機能部６０５は、ＨＤ２２８等の記憶装置に確保した管理情報を検索し、記憶部６０１に格納済のセットアッププログラムの一覧情報を作成し、ワーク領域の表示用データに反映させる。
Ｓ１４０３で、Ｗｅｂサーバー機能部６０５は、外部記憶装置６３０からセットアッププログラムの情報を１つ取り出し、処理をＳ１４０４に進める。より具体的には、Ｗｅｂサーバー機能部６０５は、外部記憶部６３１から格納済のセットアッププログラムの情報を１レコード取得する。
【００５２】
Ｓ１４０４で、Ｗｅｂサーバー機能部６０５は、外部記憶装置６３０に格納済のセットアッププログラムを全件検索したか否かを判定し、全件検索したと判定した場合、処理をＳ１４０７に進める。一方、Ｓ１４０４で、Ｗｅｂサーバー機能部６０５は、格納済のセットアッププログラムを全件検索していないと判定した場合、処理をＳ１４０５に進める。より具体的には、Ｗｅｂサーバー機能部６０５は、Ｓ１４０３で新たなセットアッププログラムの情報が取得できなければ、全件検索したと判定する。
Ｓ１４０５で、Ｗｅｂサーバー機能部６０５は、Ｓ１４０３で取得したセットアッププログラムの情報を検索し、セットアッププログラムに記載されたモデル名と、プリンター１０５のデバイスモデルとが一致するか否か判定する。Ｓ１４０５で、Ｗｅｂサーバー機能部６０５は、一致すると判定した場合、処理をＳ１４０６に進め、一致しないと判定した場合、処理をＳ１４０３に進める。より具体的には、Ｗｅｂサーバー機能部６０５は、図１４Ｂに記載のＤｅｖｉｃｅＭｏｄｅｌＮａｍｅの値を取得し、プリンター１０５のデバイスモデルと比較して一致すれば、モデル名が一致していると判定する。
Ｓ１４０６で、Ｗｅｂサーバー機能部６０５は、Ｓ１４０３で取得したセットアッププログラムの情報を、ワーク領域の表示用データに反映させ、処理をＳ１４０３に進める。
Ｓ１４０７で、Ｗｅｂサーバー機能部６０５は、ワーク領域の表示用データに基づき、図５に示されるドライバーダウンロード画面を作成してダウンロードページの表示要求元に送信し、処理を終了する。
【００５３】
次に、図１９を用いて、Ｓ１２０５のプリンター１０５のセットアッププログラム更新部６０４による構成情報更新処理について説明する。
図１９は、プリンター１０５のセットアッププログラム更新部６０４による処理の一例を示すフローチャートである。
なお、監視部６０３からの更新指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報等の更新処理に用いる情報は、ＰＲＡＭ２２２等に確保されたワーク領域に保存されているものとする。
Ｓ１５０１で、セットアッププログラム更新部６０４は、セットアッププログラムが記憶部６０１にアップロードされているか否かを判定し、アップロードされていると判定した場合、処理をＳ１５０２に進める。一方、Ｓ１５０１で、セットアッププログラム更新部６０４は、アップロードされていないと判定した場合、処理を終了する。より具体的には、セットアッププログラム更新部６０４は、記憶部６０１から読み出した結果、セットアッププログラムの情報が１つ以上存在する場合、セットアッププログラムが管理装置１０２からアップロードされていると判定する。
Ｓ１５０２で、セットアッププログラム更新部６０４は、ＨＤ２２８等の記憶装置に配置されたアップロードされたセットアッププログラムを、ＰＲＡＭ２２２等の記憶装置に確保したワーク領域にコピーし、処理をＳ１５０３に進める。
【００５４】
Ｓ１５０３で、セットアッププログラム更新部６０４は、Ｓ１５０２でコピーしたセットアッププログラムに、監視部６０３から渡された構成情報を反映させる。例えば、セットアッププログラム更新部６０４は、ＩＰアドレスが"１７２．３０．３０．３０"、機器名が"Ｃｏｌｏｒ＿Ｐｒｉｎｔｅｒ"、デバイスモデル名が"Ｃ＿ｉＡＤＶＣ５０５１"といった情報を反映させる。この場合、セットアッププログラム更新部６０４は、Ｓ１５０２でコピーしたセットアッププログラムに連結された"ｓｅｔｕｐ．ｉｎｉ"ファイル、"ｓｉｌｅｎｔ．ｉｎｉ"ファイルをそれぞれ更新し、保存する。なお、図１４Ｂ、図１５Ｂは、更新前のファイルを示している。一方、図１４Ｃ、図１５Ｃは、更新後のファイルを示している。セットアッププログラム更新部６０４は、ポート名に変更されたＩＰアドレスを反映させ、ポート名を変更している。
Ｓ１５０４で、セットアッププログラム更新部６０４は、Ｓ１５０３で更新したセットアッププログラムを、Ｓ１５０２でコピーした元のファイルに上書き保存し、処理をＳ１５０５に進める。
Ｓ１５０５で、セットアッププログラム更新部６０４は、全てのセットアッププログラムの更新処理が終了したか否かを判定し、終了したと判定した場合、ワーク領域を開放し、セットアッププログラム更新処理を終了する。一方、Ｓ１５０５で、セットアッププログラム更新部６０４は、終了していないと判定した場合、処理をＳ１５０２に進める。より具体的には、セットアッププログラム更新部６０４は、セットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しなければ、全てのセットアッププログラムの更新処理が終了したと判定する。
【００５５】
次に、図２０を用いて、ＣＰＵ２００がセットアッププログラム６０２、又はセットアッププログラム６３２に基づいて処理を実行することにより実現されるセットアップモジュールの処理の一例について説明する。以降、セットアッププログラム６０２を例にとり説明する。
図２０は、セットアップモジュールが実行する処理の一例を示すフローチャートである。
プリントサーバー１０１、又はクライアント１０３は、キーボード２０６等を介してユーザーの操作に基づいて、セットアッププログラム６０２をダウンロードする。そして、ＣＰＵ２００は、起動ＰＣのＲＡＭ２０２等の記憶装置に確保されたプログラム領域にロードされたセットアッププログラム６０２に基づいて処理を実行することにより、セットアップモジュールの機能を実現する。
Ｓ１９０１で、セットアップモジュールは、一時フォルダを作成し、処理をＳ１９０２に進める。より具体的には、セットアップモジュールは、ＯＳが提供している機能を利用し、ＲＡＭ２０２、ＨＤ２０５等の記憶領域に確保されているワーク領域にフォルダを作成する。
Ｓ１９０２で、セットアップモジュールは、Ｓ１９０１でフォルダ作成が成功したか否かを判定し、成功したと判定した場合、処理をＳ１９０３に進める。一方、Ｓ１９０２で、セットアップモジュールは、フォルダ作成が失敗したと判定した場合、処理をＳ１９０９に進める。
【００５６】
Ｓ１９０３で、セットアップモジュールは、結合されているファイルを分離し、処理をＳ１９０４に進める。より具体的には、セットアップモジュールは、図１３Ｂに示される"ｓｉｌｅｎｔ．ｉｎｉ"ファイル、"ｓｅｔｕｐ．ｅｘｅ"ファイル、"ｓｅｔｕｐ．ｉｎｉ"ファイルを、Ｓ１９０１で作成した一時フォルダに作成する。
Ｓ１９０４で、セットアップモジュールは、Ｓ１９０３のファイル分離処理が成功したか否かを判定し、成功したと判定した場合、処理をＳ１９０５に進める。一方、Ｓ１９０４で、セットアップモジュールは、失敗したと判定した場合、処理をＳ１９０９に進める。例えば、セットアップモジュールは、一時フォルダが書き込み禁止になっていた場合、ファイル分離処理に失敗したと判定する。
Ｓ１９０５で、セットアップモジュールは、Ｓ１９０３で分離したｓｉｌｅｎｔ．ｉｎｉを更新する。例えば、セットアップモジュールは、インストール後にＰＣ再起動が必要になることが分かった場合、［ＩｎｓｔａｌｌＣｏｍｐｌｅｔｅ］セクションをＲｅｂｏｏｔ＝１に書き換える。
Ｓ１９０６で、セットアップモジュールは、プリンタードライバーインストーラを起動し、処理をＳ１９０７に進める。より具体的には、セットアップモジュールは、Ｓ１９０３で分離したプリンタードライバーインストーラに、例えば以下のコマンドによってｓｉｌｅｎｔ．ｉｎｉを渡し、起動する。
ｓｅｔｕｐ．ｅｘｅ／ｓｉｌｅｎｔ．ｉｎｉ／ｌｏｇｓｉｌｅｎｔ．ｌｏｇ
上記コマンドは、情報ファイルとしてｓｉｌｅｎｔ．ｉｎｉを指定し、結果格納ファイルとしてｓｉｌｅｎｔ．ｌｏｇを指定している。ドライバーインストーラは、ｓｉｌｅｎｔ．ｉｎｉの指示を読み、ｓｉｌｅｎｔ．ｉｎｉに記載がない項目はデフォルト動作をし、結果をｓｉｌｅｎｔ．ｌｏｇに記載する。
【００５７】
Ｓ１９０７で、セットアップモジュールは、Ｓ１９０６で起動したインストーラの処理が完了したか否かを判定し、完了したと判定した場合、処理をＳ１９１０に進める。一方、Ｓ１９０７で、セットアップモジュールは、完了していないと判定した場合、処理をＳ１９０８に進める。より具体的には、セットアップモジュールは、インストーラの戻り値が"０"の場合は完了と判定し、"０"以外の場合はエラーで終了したと判定する。
Ｓ１９１０で、セットアップモジュールは、論理プリンターのプロパティを設定し、処理を終了する。例えば、セットアップモジュールは、Ｗｉｎｄｏｗｓに用意されているＷｉｎ３２関数のＳｅｔＰｒｉｎｔｅｒ（）を用いる。セットアップモジュールは、この関数のＰＲＩＮＴＴＥＲ＿ＩＮＦＯ＿２構造体のメンバー"ｐＣｏｍｍｅｎｔ"にＳ１９０３で分離した"ｓｅｔｕｐ．ｉｎｉ"ファイルに記載の"Ｃｏｍｍｅｎｔｓ"を指定する。
Ｓ１９０８で、セットアップモジュールは、プリンタードライバーインストーラが作成した"ｓｉｌｅｎｔ．ｌｏｇ"からエラー内容を取り出し、処理をＳ１９０９に進める。Ｓ１９０９で、セットアップモジュールは、Ｓ１９０８で取り出したエラー内容や、ＯＳから取得できるエラー情報から適宜エラーメッセージを作成し、表示部２０７に前記作成したエラーメッセージを表示して処理を終了する。
【００５８】
以上、上述の実施形態１によれば、ネットワークで接続されたプリンターにアップロードしたセットアッププログラムを、別のプリンターと共有することが可能になる。また、セットアッププログラムにダウンロードしたプリンターの固有情報を付加することで、プリンターがローカルに有する記憶装置に格納したセットアッププログラムと同等の使用が可能となる。また、管理者によるアップロード回数を減らすことが可能になり、管理者の管理負荷が軽減する。更に、ダウンロードページからダウンロード可能なセットアッププログラムの数を増やすことができ、ユーザーの利便性が向上する。固有情報は、構成情報の一例であり、ＩＰアドレス等の機器固有の情報である。
【００５９】
＜実施形態２＞
プリンター出荷時には、プリンターメーカーが予めセットアッププログラムをプリンターが有する記憶装置に登録しておき、ユーザーによるアップロードでは外部記憶装置にのみアップロードをさせる方法もある。なお、説明の簡略化のため、実施形態１と異なる点についてのみ説明する。
実施形態１とは、Ｓ１２０２のプリンター１０５のアップロード受付部６０６によるアップロード受付処理が異なる。
図２１を用いて、プリンター１０５のアップロード受付部６０６によるアップロード受付処理について説明する。
図２１は、アップロード受付部６０６の処理の一例を示すフローチャートである。
Ｓ２００１で、アップロード受付部６０６は、監視部６０３から渡されたセットアッププログラムを外部記憶装置に格納する。より具体的には、アップロード受付部６０６は、セットアッププログラムを外部記憶装置６３０が有する外部記憶部６３１に格納し、処理を終了する。
本実施形態では、例えば以下のような例が考えられる。
例えば、プリンター１０５の記憶部６０１には、プリンターが出荷される際に予めＧｅｎｅｒｉｃドライバー等が格納されるようにし、外部記憶装置６３０には、監視部６０３から渡されたセットアッププログラムが格納されるようにしてもよい。
また、プリンター１０５の記憶部６０１には、デバイス個体に合わせて最適化されているカスタムドライバーが格納されるようにし、外部記憶装置６３０には、非カスタムドライバーが格納されるようにしてもよい。
【００６０】
以上、上述の実施形態２によれば、プリンターメーカーは、予めセットアッププログラムをプリンターが有する記憶装置に登録しておくことで、ユーザーはセットアッププログラムのアップロード作業なしに、セットアッププログラムをダウンロードできる。また、管理者によるアップロードによる手間を軽減できる。更に、管理者による任意のセットアッププログラムをアップロードすることも可能となり、ユーザーの利便性が向上する。
【００６１】
＜実施形態３＞
プリンタードライバーの性質によって、ユーザーがダウンロード可能なセットアッププログラムに制限を設ける方法もある。なお、説明の簡略化のため、実施形態１と異なる点について、図２２、１１、２３、２４を用いて説明する。
実施形態１とは、アップロード受付画面、及びＳ１２０２のプリンター１０５のアップロード受付部６０６によるアップロード受付処理が異なる。
図２２を用いて、アップロード条件設定画面について説明する。図２２は、管理装置１０２で表示されるアップロード設定条件の設定画面の一例を示す図である。なお、図４に示されるアップロード設定条件の設定画面と異なる点についてのみ以下に説明する。
ユーザーが「公開」ラジオボタンを選択してアップロードすると、セットアッププログラムは、一般ユーザーからダウンロード可能になる。
ユーザーが「非公開」ラジオボタンを選択しアップロードすると、セットアッププログラムは一般ユーザーからダウンロード不可能になる。なお、「公開」ラジオボタンと、「非公開」ラジオボタンとはトグルである。
ユーザーが「共有」ラジオボタンを選択しアップロードすると、セットアッププログラムは、他のプリンターのダウンロードページにリスト表示される。
ユーザーが「非共有」ラジオボタンを選択しアップロードすると、セットアッププログラムは、他のプリンターのダウンロードページにリスト表示されない。なお、「共有」ラジオボタンと、「非共有」ラジオボタンとはトグルである。
【００６２】
図１１を用いて、セットアッププログラム起動時に必要な情報、及びダウンロードページ作成に必要な情報が記載された"ｓｅｔｕｐ．ｉｎｉ"ファイルについて説明する。
設定"Ｓｈａｒｅ"は、ユーザーによりアップロード条件設定画面から「共有する」が設定されると、値「１」が記載され、「共有しない」が設定されると、値「０」が記載される。
設定"Ｐｒｏｔｅｃｔ"は、ユーザーによりアップロード条件設定画面から「公開」が設定されると、値「１」が記載され、「非公開」が設定されると、値「０」が記載される。
【００６３】
図２３を用いて、プリンター１０５のアップロード受付部６０６によるアップロード受付処理について説明する。
図２３は、アップロード受付部６０６によるアップロード受付処理の一例を示すフローチャートである。
Ｓ２３０１で、アップロード受付部６０６は、セットアッププログラムを外部記憶装置に格納するか否かを判定し、格納すると判定した場合、処理をＳ２３０２に進める。一方、Ｓ２３０１で、アップロード受付部６０６は、格納しないと判定した場合、処理をＳ２３０３に進める。より具体的には、アップロード受付部６０６は、"ｓｅｔｕｐ．ｉｎｉ"ファイルに記載の"Ｓｈａｒｅ"の値が「１」の場合、外部記憶装置に格納すると判定する。なお、"ｓｅｔｕｐ．ｉｎｉ"ファイルに記載の"Ｓｈａｒｅ"の値は、アップロード受付部６０６がセットアッププログラムを他の画像処理装置と共有するか否かを判定するための設定情報の一例である。
Ｓ２３０２で、アップロード受付部６０６は、監視部６０３から渡されたセットアッププログラムを外部記憶装置に格納し、処理を終了する。より具体的には、アップロード受付部６０６は、セットアッププログラムを外部記憶装置６３０が有する外部記憶部６３１に格納する。そして、アップロード受付部６０６は、ＰＲＡＭ２２２等の記憶装置に確保したワーク領域にセットアッププログラムをコピーする。
Ｓ２３０３で、アップロード受付部６０６は、セットアッププログラムに構成情報を付加し、処理をＳ２３０４に進める。より具体的には、アップロード受付部６０６は、セットアッププログラムに監視部６０３から渡された構成情報を反映させる。例えば、アップロード受付部６０６は、ＩＰアドレスが"１７２．１０．１０．１０"、機器名が"Ｃｏｌｏｒ＿Ｐｒｉｎｔｅｒ"、デバイスモデル名が"Ｃ＿ｉＡＤＶＣ５０５１"等の情報を反映させる。この場合、アップロード受付部６０６は、Ｓ１５０２でコピーしたセットアッププログラムに連結された"ｓｅｔｕｐ．ｉｎｉ"ファイル、"ｓｉｌｅｎｔ．ｉｎｉ"ファイルをそれぞれ更新し、保存する。
Ｓ２３０４で、アップロード受付部６０６は、Ｓ２３０３で構成情報を付加したセットアッププログラムを内部記憶装置に格納する。更に、アップロード受付部６０６は、ＨＤ２２８等の記憶装置に予め用意された領域に確保された、アップロードがあった場合にその旨を記録する管理情報を適宜設定し、処理を終了する。
【００６４】
図２４のフローを用いて、プリンター１０５のＷｅｂサーバー機能部６０５によるダウンロードページのリスト表示処理について説明する。
図２４は、Ｗｅｂサーバー機能部６０５によるダウンロードページのリスト表示処理の一例を示すフローチャートである。
Ｓ２４０１からＳ２４０６までの処理は、図１８のフローチャートにおけるＳ１４０１からＳ１４０６までの処理と同じであるので、説明を省略する。
Ｓ２４０７で、Ｗｅｂサーバー機能部６０５は、ダウンロードページ表示要求をしたクライアント１０３のユーザーが管理者権限を持っているか否かを判定し、持っていると判定した場合、処理をＳ２４０８に進める。一方、Ｓ２４０７で、Ｗｅｂサーバー機能部６０５は、ユーザーが管理者権限を持っていないと判定した場合、処理をＳ２４０９に進める。例えば、Ｗｅｂサーバー機能部６０５は、ダウンロードページ表示を指示する画面に設けられたユーザー名入力欄に入力されたユーザー名を、保持しているユーザー名と、権限とのリストから検索し、検索したユーザーに管理者権限があるか否かを判定する。
Ｓ２４０８で、Ｗｅｂサーバー機能部６０５は、図示しない管理者用のダウンロードページを表示し、処理を終了する。なお、管理者用のダウンロードページに表示されているセットアッププログラムのリストに制限はない。
Ｓ２４０９で、Ｗｅｂサーバー機能部６０５は、図示しない一般者用のダウンロードページを表示し、処理を終了する。なお、一般者用のダウンロードページには、"ｓｅｔｕｐ．ｉｎｉ"記載の"Ｐｒｏｔｅｃｔ"の値が「１」のセットアッププログラムは表示されない。
【００６５】
以上、上述の実施形態３によれば、ユーザーは、セットアッププログラムをアップロードしたプリンターとは別のプリンターが前記セットアッププログラムを共有できるか否かを設定できる。つまり、ユーザーは、セットアッププログラムを特定のプリンターだけで利用したり、複数のプリンター間で共有したりといった指定を設定することができる。また、管理者は、ユーザーに利用させるセットアッププログラムを任意に設定できるため、一般ユーザーは、ダウンロードするセットアッププログラムを迷うことながなくなり、利便性が向上する。更に、一般ユーザーからの問い合わせが減る等、管理者による管理負荷が減る。
【００６６】
＜実施形態４＞
プリンターメーカーは、最新のドライバーをダウンロードサイトで公開することが一般的である。そこで、プリンターがネットワークを介して自動でドライバーを取得する方法もある。なお、説明の簡略化のため、実施形態１と異なる点についてのみ、図２５を用いて説明する。
図２５は、本実施形態におけるプリンター１０５の処理の一例を示すフローチャートである。
なお、Ｓ２５０１からＳ２５１２までの処理は、図１６のフローチャートにおけるＳ１２０１からＳ１２１２までの処理と同じであるため、説明を省略する。
【００６７】
Ｓ２５１３で、監視部６０３は、ネットワーク上からドライバーを検索できたか否かを判定し、検索できたと判定した場合、処理をＳ２５１４に進める。一方、Ｓ２５１３で、監視部６０３は、検索できなかったと判定した場合、処理をＳ２５０１に進める。より具体的には、プリンター１０５は、ｈｔｔｐクライアントとなり、プリンターメーカーが一般公開しているｈｔｔｐサーバーにアクセスし、同モデルのプリンタードライバーをダウンロードする。プリンター１０５が同モデルのプリンタードライバーをダウンロードできた場合、監視部６０３は、ネットワーク上からドライバーを検索できたと判定する。一方、プリンター１０５が同モデルのプリンタードライバーをダウンロードできなかった場合、監視部６０３は、ネットワーク上からドライバーを検索できなかったと判定する。
Ｓ２５１４で、プリンター１０５のＰＣＰＵ２２０は、セットアッププログラムを作成し、処理をＳ２５１５に進める。なお、Ｓ２５１５でのセットアッププログラム作成処理は、図１２に示されるフローチャートの処理をプリンター１０５のＰＣＰＵ２２０で実行した場合と同様であるため、説明を省略する。
Ｓ２５１５で、アップロード受付部６０６は、Ｓ２５１４で作成したセットアッププログラムをアップロードし、処理をＳ２５０１に進める。なお、アップロード受付部６０６によるアップロード受付処理は、図１７に示されるフローチャートの処理と同様であるため、説明を省略する。
【００６８】
以上、上述した実施形態４によれば、管理者がアップロードしなくても、プリンタードライバーをダウンロードできる。更に、最新ドライバーへの更新も自動で行えるため、管理者によるアップロード作業の手間を軽減できる。
【００６９】
＜実施形態５＞
高度な印刷制御（例えば、ユーザー毎に印刷枚数を集計して、上限超過時には印刷を不許可にする。）を実現するために、プリントサーバーを利用した印刷システムがある。プリントサーバーを利用した印刷システムでは、プリントサーバー経由の印刷経路と、クライアントＰＣからプリンターへ直接印刷データを送信する直接印刷経路と、複数の印刷経路による印刷とが可能である。サーバー経由の印刷システムは、サーバーに接続される複数のプリンターで共有できる。一般的に、ネットワークの特性やユーザー環境によって、印刷経路を使い分けることがなされている。例えば、通常時はプリントサーバー経由の印刷経路を用い、プリントサーバーが停止したときは直接印刷経路を用いる。これら複数の印刷経路に適用する改良が考えられる。これにより、ユーザーは、サーバーが停止しても直接印刷経路を用いることで印刷業務を継続できる。なお、説明の簡略化のため、実施形態１と異なる点についてのみ、図２６、図２７を用いて説明する。また、プリントサーバー経由の印刷とは、Ｗｉｎｄｏｗｓに備えられている共有プリンターによる印刷を例とする。
実施形態１とは、Ｓ１２０２のプリンター１０５のアップロード受付部６０６によるアップロード受付処理が異なる。
図２６に示されるフローチャートを用いて、プリンター１０５のアップロード受付部６０６によるアップロード受付処理を説明する。
図２６は、アップロード受付部６０６によるアップロード受付処理の一例を示すフローチャートである。
管理者は、図４に示されるアップロード設定画面から「プリントサーバーを指定する」チェックボックスを選択する。更に、管理者は、「ホスト名又はＩＰアドレス」テキストボックスに"Ｐｓｅｒｖｅｒ０１"を、「共有名」テキストボックスに"ＳｈａｒｅＰｒｉｎｔｅｒ"を設定したとする。また、管理者は、「コメント」テキストボックスに"通常使うプリンター"と設定し、その他の設定は適宜行ったとする。アップロード先のプリンターのＩＰアドレスは"１７２．４０．４０．４０"とする。
【００７０】
Ｓ２６０１で、アップロード受付部６０６は、セットアッププログラムに設定された印刷経路がプリントサーバー経由であるか否か判定し、サーバー経由であると判定した場合、処理をＳ２６０２に進める。一方、Ｓ２６０１で、アップロード受付部６０６は、サーバー経由でないと判定した場合、処理をＳ２６０４に進める。より具体的には、アップロード受付部６０６は、"ｓｅｔｕｐ．ｉｎｉ"ファイルに記載の"ＰｒｉｎｔＳｅｒｖｅｒ"の値が空欄でない場合、サーバー経由と判定する。なお、"ＰｒｉｎｔＳｅｒｖｅｒ"の値は、印刷経路を示す印刷経路情報の一例である。
Ｓ２６０２で、アップロード受付部６０６は、監視部６０３から渡されたセットアッププログラムを外部記憶装置に格納し、処理をＳ２６０３に進める。より具体的には、アップロード受付部６０６は、セットアッププログラムを外部記憶装置６３０が有する外部記憶部６３１に格納する。更に、アップロード受付部６０６は、ＰＲＡＭ２２２等の記憶装置に確保したワーク領域に前記セットアッププログラムをコピーする。
Ｓ２６０３で、アップロード受付部６０６は、前記ワーク領域にコピーしたセットアッププログラムの固有情報を書き換え、処理をＳ２６０４に進める。なお、図２７Ａは、書き換え前の"ｓｅｔｕｐ．ｉｎｉ"の一例を示す図である。図２７Ｂは、書き換え後の"ｓｅｔｕｐ．ｉｎｉ"の一例を示す図である。書き換え前は、プリントサーバー"Ｐｓｅｒｖｅｒ０１"の共有名"ＳｈａｒｅＰｒｉｎｔｅｒ"経由の印刷経路になっている。書き換え後は、ＩＰアドレス"１７２．４０．４０．４０"でポートを作る印刷経路になっていることが分かる。なお、ＩＰアドレスは、アドレス情報の一例である。
【００７１】
Ｓ２６０４で、アップロード受付部６０６は、セットアッププログラムのコメント情報を書き換え、処理をＳ２６０５に進める。例えば、アップロード受付部６０６は、図２７Ｂに示される、"ｓｅｔｕｐ．ｉｎｉ"のコメント値を"緊急用プリンター"と特定の文字列に変換する。
Ｓ２６０５で、アップロード受付部６０６は、Ｓ２６０３、Ｓ２６０４で書き換えたセットアッププログラムを内部記憶装置に格納し、処理を終了する。
なお、セットアッププログラムの実行時に共有プリンターを作成するには、ユーザーは、ＯＳに予め用意されている方法を用いて以下の入力を設定する。
ｒｕｎｄｌｌ３２ｐｒｉｎｔｕｉ．ｄｌｌ、ＰｒｉｎｔＵＩＥｎｔｒｙ／ｉｎ／ｎ"ＩＰアドレス又はホスト名"￥"共有名"
ここで、ユーザーが指定する「ホスト名又はＩＰアドレス」、「共有名」には、それぞれ、"Ｓｅｔｕｐ．ｉｎｉ"記載の"ＰｒｉｎｔＳｅｒｖｅｒ"、"ＳｈａｒｅＮａｍｅ"の値が用いられる。
【００７２】
以上、アップロード受付部６０６が、プリントサーバー経由の印刷経路の設定を直接印刷経路の設定に書き換える例について説明した。しかしながら、ユーザーがアップロード設定画面から直接印刷経路の設定を行い、プリントサーバー経由の設定に書き換える場合においても本実施形態は適用される。
なお、プリンター１０５は、通常時はダウンロードページにプリントサーバー経由の設定のセットアッププログラムだけを表示し、直接印刷経路を閉じておいてもよい。逆に、プリンター１０５は、緊急時はダウンロードページに直接印刷経路の設定のセットアッププログラムだけを表示し、直接印刷経路を開くようにしてもよい。また、例えばプリンターが保持しているファイアーウォール機能により、印刷プロトコルが用いる特定のポートを開閉する、又は通信相手先を確認して通信を許可・不許可することで、印刷経路の開閉を実現してもよい。通常時に戻ったときは、プリンター１０５は、直接印刷経路を閉じて、ダウンロードページにプリントサーバー経由の設定のセットアッププログラムだけを表示するように戻してもよい。なお、プリントサーバー経由の設定のセットアッププログラムと、直接印刷経路の設定のセットアッププログラムとの格納先を別々としたが、同一の格納先としてもよい。また、本実施形態では、プリントサーバー経由の場合、セットアップデータは外部記憶装置に記憶され、直接印刷経路の場合、セットアップデータはプリンターの内部記憶装置に格納されるようにしたが、格納場所は逆であってもよい。
【００７３】
以上、上述の実施形態５によれば、ユーザーは、サーバーが停止しても印刷業務を継続できる。また、１度のアップロード作業で、プリントサーバー経由の設定、直接印刷経路の設定の複数セットアッププログラムを予め用意しておくことが容易にできる。これにより、管理者の管理業務を軽減できる。プリントサーバーのアドレス、又はホスト名が変更された場合、管理者は、外部記憶装置格納のセットアッププログラムだけを更新すれば済むので、管理者の管理作業の負担を軽減できる。
【００７４】
＜その他の実施形態＞
また、本実施形態は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７５】
以上、上述した実施形態の処理によれば、ネットワークで接続されたプリンターにアップロードしたセットアッププログラムを別のプリンターと共有することが可能となる。また、セットアッププログラムにダウンロードしたプリンターの固有情報を付加することで、プリンターがローカルに有する記憶装置に格納したセットアッププログラムと同等の使用が可能となる。また、管理者によるアップロード回数を減らすことができ、管理者の管理負荷を軽減させることが可能となる。また、物理的な記憶容量を増やすことなく、印刷装置が保有するダウンロードページからダウンロード可能なセットアッププログラムの数を増やすことができ、ユーザーの利便性を向上させることが可能となる。つまり、高効率、かつ、有効に、ドライバーをインストールするセットアッププログラムのダウンロード処理を実現することが可能となる。
【００７６】
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した説明において、印刷データの送信先として、"ＩｎｔｅｒｎｅｔＰｒｏｔｏｃｏｌＶｅｒ．４"形式のＩＰアドレスを例にとり説明したが、その他の形式のＩＰアドレスであってもよい。また、プリンターをデバイスの一例として説明したが、プリンターに限定されるものでなく、印刷機能を持つ複合機や、プリンタードライバーと同等の仕組みのＦＡＸドライバーで動作するＦＡＸであってもよい。
【図１】
2014074962.tif 000003
【図２】
2014074962.tif 000004
【図３】
2014074962.tif 000005
【図４】
2014074962.tif 000006
【図５】
2014074962.tif 000007
【図６】
2014074962.tif 000008
【図７】
2014074962.tif 000009
【図８】
2014074962.tif 000010
【図９】
2014074962.tif 000011
【図１０】
2014074962.tif 000012
【図１１】
2014074962.tif 000013
【図１２】
2014074962.tif 000014
【図１３Ａ】
2014074962.tif 000015
【図１３Ｂ】
2014074962.tif 000016
【図１４Ａ】
2014074962.tif 000017
【図１４Ｂ】
2014074962.tif 000018
【図１４Ｃ】
2014074962.tif 000019
【図１５Ａ】
2014074962.tif 000020
【図１５Ｂ】
2014074962.tif 000021
【図１５Ｃ】
2014074962.tif 000022
【図１６】
2014074962.tif 000023
【図１７】
2014074962.tif 000024
【図１８】
2014074962.tif 000025
【図１９】
2014074962.tif 000026
【図２０】
2014074962.tif 000027
【図２１】
2014074962.tif 000028
【図２２】
2014074962.tif 000029
【図２３】
2014074962.tif 000030
【図２４】
2014074962.tif 000031
【図２５】
2014074962.tif 000032
【図２６】
2014074962.tif 000033
【図２７Ａ】
2014074962.tif 000034
【図２７Ｂ】
2014074962.tif 000035