(57)【要約】【課題】プリンタドライバのインストールを効率よく支援する。【解決手段】ＭＦＰ１０には、Ｉ／Ｆ部１４０に所望の追加オプションを接続可能である。受信部１３１０は未だプリンタドライバをインストールしていない他の装置からのプリンタドライバ配信要求を受信する。状態取得部１１１０は、Ｉ／Ｆ部１４０に接続された追加オプションの検知結果や、内部構成、設定パラメータを含む機器状態を取得する。生成部１１３０は機器状態に応じたプリンタドライバを生成する。そして、送信部１３２０を用いて、生成したプリンタドライバを要求を送信した装置に配信する。【選択図】図３
2015006751.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器状態を持つ印刷装置であって、
現在の機器状態を示す情報である状態情報を取得する取得手段と、
前記取得手段が取得した状態情報が示す機器状態に応じたプリンタドライバを配信データとして設定する設定手段と、
前記設定手段が設定した配信データを他の装置に配信する配信手段と、
を備えることを特徴とする印刷装置。
【請求項２】
前記印刷装置を用いるためのプリンタドライバを既にインストールした他の装置が送信する、該プリンタドライバの更新要求を受信する受信手段を更に備え、
前記設定手段は、前記受信手段が受信した更新要求に応じて、前記取得手段が取得した状態情報が示す機器状態に対応するか、最新バージョンであるか、の少なくとも一方を満たすプリンタドライバの少なくとも一部を、前記配信データとして設定する、
ことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記設定手段は、前記更新要求を送信した他の装置にインストールされたプリンタドライバが前記取得手段が取得した機器状態に対応し、かつ最新バージョンである場合には、前記更新要求に応じた配信を中止する、
ことを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記設定手段は、前記更新要求を送信した他の装置にインストールされたプリンタドライバが最新バージョンと異なる場合には、前記取得手段が取得した機器状態に対応するか否かに関わらず、該インストールされたプリンタドライバを最新バージョンに更新するためのデータを前記配信データとして設定する、
ことを特徴とする請求項２又は３に記載の印刷装置。
【請求項５】
前記設定手段は、前記更新要求を送信した他の装置にインストールされたプリンタドライバが前記取得手段が取得した機器状態に対応しない場合には、該プリンタドライバが最新バージョンであるか否かに関わらず、該インストールされたプリンタドライバを該機器状態に対応させるためのデータを前記配信データとして設定する、
ことを特徴とする請求項２乃至４の何れかに記載の印刷装置。
【請求項６】
前記機器状態に応じて、前記プリンタドライバの少なくとも一部を生成するための生成規則を記憶する記憶手段を更に備え、
前記設定手段は、前記記憶手段が記憶する生成規則を用いて、前記取得手段が取得した状態情報が示す機器状態に応じたプリンタドライバを生成する生成手段を含むとともに、該生成手段が生成したプリンタドライバを前記配信データとして設定する、
ことを特徴とする請求項１乃至５の何れかに記載の印刷装置。
【請求項７】
オプション機器を接続可能な接続手段を更に備え、
前記取得手段は、前記接続手段に接続されたオプション機器の検知結果を含む状態情報を取得し、
前記記憶手段は、前記生成規則として、前記オプション機器に対応するプリンタドライバを生成する生成規則を記憶し、
前記生成手段は、前記状態情報に含まれる検知結果に基づいて、前記生成規則を用いて前記接続されたオプション機器に対応するプリンタドライバを生成する、
ことを特徴とする請求項６に記載の印刷装置。
【請求項８】
前記取得手段は、前記印刷装置のネットワーク上の位置を特定する情報を含む状態情報を取得し、
前記生成手段は、前記状態情報に含まれる位置を特定する情報を含むプリンタドライバを生成する、
ことを特徴とする請求項６又は７に記載の印刷装置。
【請求項９】
前記機器状態は、前記印刷装置の機器構成の状態と、内部構成の状態と、内部パラメータの内容と、の何れかを少なくとも含む、
ことを特徴とする請求項１乃至８の何れかに記載の印刷装置。
【請求項１０】
前記配信手段は、前記印刷装置を利用するためのプリンタドライバを新規にインストールする他の装置に、前記設定手段が設定した、前記機器状態に応じたプリンタドライバを配信する、
ことを特徴とする請求項１乃至９の何れかに記載の印刷装置。
【請求項１１】
複数の機器状態を持つ印刷装置のプリンタドライバの配信方法であって、
前記印刷装置の現在の機器状態を示す情報である状態情報を取得し、
前記取得した状態情報が示す機器状態に応じたプリンタドライバを配信データとして設定し、
前記設定した配信データを他の装置に配信する、
ことを特徴とする配信方法。
【請求項１２】
複数の機器状態を持つ印刷装置を制御するコンピュータに、
現在の機器状態を示す情報である状態情報を取得する処理、
前記取得した状態情報が示す機器状態に応じたプリンタドライバを配信データとして設定する処理、
前記設定した配信データを他の装置に配信する処理、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、配信方法及びプログラムに関する。
【背景技術】
【０００２】
複数の機器状態を持つ印刷装置が知られている。このような印刷装置では、ユーザは必要に応じてオプション機器を接続したり、設定内容を変更することにより、使用する機器の状態をニーズに合わせて選択することができる。一方、このような印刷装置を他の装置（パーソナルコンピュータ等）から使用するためには、現在の機器状態に合致したプリンタドライバを他の装置にインストールをする必要があった。このインストール作業の煩雑さを軽減するため、プリンタドライバのインストールを支援する技術が知られている（例えば、特許文献１）。
【０００３】
特許文献１は、端末装置にプリンタドライバをインストールした後に、インストールしたプリンタドライバを印刷装置の機能と整合させるシステムを開示している。特許文献１が開示するシステムを用いてインストールを支援する場合、プリンタドライバを端末装置にインストールする処理と、インストールしたドライバと機器状態の整合性を確認する処理と、現在の機器状態に合致したドライバに更新する処理と、をそれぞれ実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２６０３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１が開示する技術では、現在の機器状態に合致したプリンタドライバをインストールする処理は、プリンタドライバを端末装置にインストールする処理と、インストールしたドライバと機器状態の整合性を確認する処理と、現在の機器状態に合致したドライバに更新する処理と、を含む。そのため、冗長な処理が必要となり、プリンタドライバのインストールを支援するにあたって効率が低かった。
【０００６】
本発明は上記のような事情に鑑みてなされたもので、プリンタドライバのインストールを効率よく支援する印刷装置、配信方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る印刷装置は、複数の機器状態を持つ印刷装置であって、現在の機器状態を示す情報である状態情報を取得する取得手段と、前記取得手段が取得した状態情報が示す機器状態に応じたプリンタドライバを配信データとして設定する設定手段と、前記設定手段が設定した配信データを他の装置に配信する配信手段と、を備えることを特徴とする。
【０００８】
前記印刷装置は、前記印刷装置を用いるためのプリンタドライバを既にインストールした他の装置が送信する、該プリンタドライバの更新要求を受信する受信手段を更に備え、前記設定手段は、前記受信手段が受信した更新要求に応じて、前記取得手段が取得した状態情報が示す機器状態に対応するか、最新バージョンであるか、の少なくとも一方を満たすプリンタドライバの少なくとも一部を、前記配信データとして設定する、としてもよい。
【０００９】
前記印刷装置において、前記設定手段は、前記更新要求を送信した他の装置にインストールされたプリンタドライバが前記取得手段が取得した機器状態に対応し、かつ最新バージョンである場合には、前記更新要求に応じた配信を中止する、としてもよい。
【００１０】
前記印刷装置において、前記設定手段は、前記更新要求を送信した他の装置にインストールされたプリンタドライバが最新バージョンと異なる場合には、前記取得手段が取得した機器状態に対応するか否かに関わらず、該インストールされたプリンタドライバを最新バージョンに更新するためのデータを前記配信データとして設定する、としてもよい。
【００１１】
前記印刷装置において、前記設定手段は、前記更新要求を送信した他の装置にインストールされたプリンタドライバが前記取得手段が取得した機器状態に対応しない場合には、該プリンタドライバが最新バージョンであるか否かに関わらず、該インストールされたプリンタドライバを該機器状態に対応させるためのデータを前記配信データとして設定する、としてもよい。
【００１２】
前記印刷装置は、前記機器状態に応じて、前記プリンタドライバの少なくとも一部を生成するための生成規則を記憶する記憶手段を更に備え、前記設定手段は、前記記憶手段が記憶する生成規則を用いて、前記取得手段が取得した状態情報が示す機器状態に応じたプリンタドライバを生成する生成手段を含むとともに、該生成手段が生成したプリンタドライバを前記配信データとして設定する、としてもよい。
【００１３】
前記印刷装置は、オプション機器を接続可能な接続手段を更に備え、前記取得手段は、前記接続手段に接続されたオプション機器の検知結果を含む状態情報を取得し、前記記憶手段は、前記生成規則として、前記オプション機器に対応するプリンタドライバを生成する生成規則を記憶し、前記生成手段は、前記状態情報に含まれる検知結果に基づいて、前記生成規則を用いて前記接続されたオプション機器に対応するプリンタドライバを生成する、としてもよい。
【００１４】
前記印刷装置において、前記取得手段は、前記印刷装置のネットワーク上の位置を特定する情報を含む状態情報を取得し、前記生成手段は、前記状態情報に含まれる位置を特定する情報を含むプリンタドライバを生成する、としてもよい。
【００１５】
前記印刷装置において、前記機器状態は、前記印刷装置の機器構成の状態と、内部構成の状態と、内部パラメータの内容と、の何れかを少なくとも含む、としてもよい。
【００１６】
前記印刷装置において、前記配信手段は、前記印刷装置を利用するためのプリンタドライバを新規にインストールする他の装置に、前記設定手段が設定した、前記機器状態に応じたプリンタドライバを配信する、としてもよい。
【００１７】
上記目的を達成するため、本発明の第２の観点に係る配信方法は、複数の機器状態を持つ印刷装置のプリンタドライバの配信方法であって、前記印刷装置の現在の機器状態を示す情報である状態情報を取得し、前記取得した状態情報が示す機器状態に応じたプリンタドライバを配信データとして設定し、前記設定した配信データを他の装置に配信する、ことを特徴とする。
【００１８】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、複数の機器状態を持つ印刷装置を制御するコンピュータに、現在の機器状態を示す情報である状態情報を取得する処理、前記取得した状態情報が示す機器状態に応じたプリンタドライバを配信データとして設定する処理、前記設定した配信データを他の装置に配信する処理、を実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、プリンタドライバのインストールを効率よく支援できる。
【図面の簡単な説明】
【００２０】
【図１】この発明の実施形態１に係る印刷システムの構成を示す図である。
【図２】実施形態１に係るＭＦＰ本体及びオプション機器の例を示す図である。
【図３】（Ａ）は、実施形態１に係るＭＦＰの機能構成を示すブロック図である。（Ｂ）は、ＭＦＰを制御する制御コンピュータの構成を示すブロック図である。
【図４】実施形態１に係る、生成規則を用いてプリンタドライバを生成する処理を説明するための図である。
【図５】実施形態１に係るＰＣの機能構成を示すブロック図である。
【図６】実施形態１に係るドライバ配信処理の一例を示すフローチャートである。
【図７】実施形態１に係るインストール処理の一例を示すフローチャートである。
【図８】この発明の実施形態２に係るＭＦＰの機能構成を示すブロック図である。
【図９】実施形態２に係るＰＣの機能構成を示すブロック図である。
【図１０】実施形態２に係るドライバ配信処理の一例を示すフローチャートである。
【図１１】実施形態１に係るインストール処理の一例を示すフローチャートである。
【図１２】実施形態の変形例に係る配信リストの一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態に係る、プリンタドライバのインストールを支援する機能を備える印刷装置を含む印刷システムを、図を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００２２】
（実施形態１）
実施形態１に係る印刷システム１は、図１に示すように、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）１０と、パーソナルコンピュータ（ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）２０ａ〜２０ｄ）と、を含む。ＭＦＰ１０と各ＰＣ（ＰＣ２０ａ〜２０ｄ）はネットワークを介して互いに接続されている。なお、以後ＰＣ２０ａ〜２０ｄのそれぞれを区別しない場合には、単にＰＣ２０と表現する。
【００２３】
ＭＦＰ１０は、本体１０Ａと、任意に接続可能なオプション機器（拡張ユニット）と、から構成される。オプション機器には、例えば図２に示すように、ハンドセット１０ａや、給紙デスク１０ｂ、大容量給紙トレイ１０ｃ、キーボード１０ｄ、中継ユニット１０ｆ、小型フィニッシャ１０ｅ、パンチユニット１０ｇ、フィニッシャ１０ｈ、サドルフィニッシャ１０ｉ等が含まれる。これらのオプション機器を接続することで、ＭＦＰ１０の機器構成をユーザのニーズや予算に合わせて変更することが出来る。
【００２４】
ＭＦＰ１０は、機器構成を複数持ち得ると共に、内部パラメータや内部構成を変更可能である。内部パラメータにはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスやネットワークにおける名称といったネットワーク設定が含まれる。内部構成は、例えば搭載されたトナーの種類や、何れの給紙トレーにどの大きさの紙がセットされているかといった、消耗品のセッティング状態を含む。また、内部構成はディップスイッチや内部配線によって選択されるＭＦＰの内部機能の構成をさらに含む。このように、ＭＦＰ１０はユーザのニーズに応じて、機器構成、内部構成及び内部パラメータといった機器状態を変更可能である。言い換えれば、ＭＦＰ１０は複数の機器状態を持ちうる。
【００２５】
印刷システム１で印刷装置（ＭＦＰ１０）をＰＣ２０ａ〜２０ｄで利用するためには、端末装置であるＰＣ２０ａ〜２０ｄにプリンタドライバをインストールする必要がある。そこで、ＭＦＰ１０が各装置（ＰＣ２０ａ〜２０ｄ）に現在の機器状態に対応するプリンタドライバを配信することにより、プリンタドライバのインストールを支援する。特に、新たに印刷システム１に加えられたり、初期化を行った場合など、未だＭＦＰ１０を利用するためのドライバをインストールしておらず、新規にプリンタドライバをインストールする端末装置（ＰＣ２０）に対して、直接現在の機器状態に応じたドライバを配信する。このため、一旦他の装置（ＰＣ２０）にプリンタドライバをインストールした後に、現在の機器状態を確認して、プリンタドライバを現在の機器状態に応じて更新するよりも効率的にインストールを実行できる。即ち、インストール支援の効率が高い。このとき配信されるプリンタドライバを配信ドライバと表記する。配信ドライバは後述する配信データの実体となる。
【００２６】
ＭＦＰ１０は図３（Ａ）に示すように、制御部１１０と、記憶部１２０と、通信部１３０と、Ｉ／Ｆ（ＩｎｔｅｒＦａｃｅ）部１４０と、操作部１５０と、表示部１６０と、ＭＦＰ機能部１７０と、を含む。制御部１１０および記憶部１２０は、ＭＦＰ１０の諸機能を制御する制御コンピュータ１００を構成する。
【００２７】
制御コンピュータ１００は、物理的には、図３（Ｂ）に示すようにＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）部１０４と、外部記憶装置１０５と、内部バス１０６と、から構成される。
【００２８】
ＣＰＵ１０１は、制御コンピュータ１００及びＭＦＰ１０の諸機能を制御する中央演算装置であり、ＲＯＭ１０３からＲＡＭ１０２にロードされたプログラムを実行して、後述する処理を実行する。
【００２９】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムや中間データを一時的に保存し、ＣＰＵ１０１が各種処理を行う際の作業領域として使用する揮発性メモリである。ＲＯＭ１０３は、ＣＰＵ１０１が実行するプログラムや各種データを格納している不揮発性メモリである。
【００３０】
Ｉ／Ｏ部１０４は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やシリアルポート、ネットワークアダプタ等のインターフェース機器やＭＦＰ１０の各部と接続された専用コネクタから構成され、操作部１５０、表示部１６０、ＭＦＰ機能部１７０、通信部１３０やその他外部装置等と、制御コンピュータ１００との情報の入出力を実現する。
【００３１】
外部記憶装置１０５は、ハードディスクドライブ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ等の不揮発性記憶装置である。外部記憶装置１０５は、後述するドライバ配信処理１等に用いるデータを記憶している。なお、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、Ｉ／Ｏ部１０４と、外部記憶装置１０５とは内部バス１０６によってそれぞれ接続され、相互に情報の送信が可能である。
【００３２】
ＣＰＵ１０１がＩ／Ｏ部１０４を通じてＭＦＰ１０の各部と通信し、かつＲＡＭ１０２を作業領域として用いることで、図３（Ａ）の制御部１１０として機能する。このような物理構成により、制御部１１０は後述する状態取得部１１１０と、判別部１１２０と、生成部１１３０と、の機能を実現する。
【００３３】
ＲＡＭ１０２、ＲＯＭ１０３及び外部記憶装置１０５は、共同して、あるいは単独で記憶部１２０として機能する。記憶部１２０は、ネットワーク設定ＮＳを含む現在のＭＦＰ１０の設定データを記憶する。ネットワーク設定ＮＳは、ＭＦＰ１０に割り振られたＩＰアドレスやＭＡＣアドレス、ＭＦＰ１０のネットワーク上の名称や通信に使用するポート番号等の情報を含む。また、記憶部１２０はＭＦＰ１０のプリンタドライバと、プリンタドライバを生成するための生成規則ＧＲを記憶する。本実施の形態では、プリンタドライバはドライバ本体（実行ファイルやデータ）であるベースドライバＢＤと、ベースドライバＢＤを現在の機器状態に合わせて使用するための設定ファイルを含む拡張ドライバＥｘＤと、から構成される。ベースドライバＢＤは、少なくとも機器状態の変更に選らず共通して必要となる、ＭＦＰ１０の本体１０Ａの諸機能を使用するための実行ファイルやデータを含む。ベースドライバＢＤは、ＭＦＰ１０を製造したメーカ等により、バージョンが更新される場合がある。
【００３４】
拡張ドライバＥｘＤは、現在の機器状態に応じたドライバのプロパティを指定する情報（設定ファイル）と、現在の機器状態のうちベースドライバＢＤのみでは利用できない構成を利用するためのデータ（例えばライブラリファイルや追加の実行ファイル）と、を含む。また、生成規則ＧＲは、プリンタドライバの少なくとも一部（ここでは、拡張ドライバＥｘＤに含まれる設定ファイル）を、現在の状態情報に応じて生成するための生成規則を含む。本実施の形態では、生成規則ＧＲは既知のオプション機器及びネットワーク設定に応じた設定ファイルを生成する規則を含む。
【００３５】
通信部１３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）機器や通信モデムから構成され、ＭＦＰ１０をＰＣ２０ａ〜２０ｄといった他の装置が接続されたネットワークに接続する。通信部１３０は、他の装置からのプリンタドライバの配信要求（新規インストールする装置からの配信要求と、インストール済の装置からの更新要求を含む）を受信する受信部１３１０と、配信データ（配信ドライバ）を配信相手の他の機器に送信する送信部１３２０として機能する。なお、配信データとは、ＭＦＰ１０がプリンタドライバのインストールを支援するために他の装置に配信するデータ一般である。本実施形態では、配信データの実体は配信ドライバである。受信部１３１０は、受信した配信要求を制御部１１０に伝達する。また、送信部１３２０は、制御部１１０の指示に基づいて、制御部１１０によって送信バッファに格納された配信データ（配信ドライバ）を、指定されたＩＰアドレスの機器に送信する。
【００３６】
Ｉ／Ｆ部１４０は、図２に示したオプション機器（１０ａ〜１０ｉ）を接続可能なインターフェースであり、接続の有無・及び接続したオプション機器の種別を感知し、感知結果を制御部１１０に伝達する。Ｉ／Ｆ部１４０は、オプション機器を接続する複数の接続部（第１接続部１４１０、第２接続部１４２０、…）を含む。何れかの接続部に、他のオプション機器をさらに接続可能なオプション機器（例えば、中継ユニット１０ｆ）を接続した場合には、そのオプション機器の接続部もＩ／Ｆ部１４０に含まれる。この場合には、オプション機器の接続部に接続された他のオプション機器の検知結果も、制御部１１０に伝達される。
【００３７】
操作部１５０は、タッチパネル、キーボード、ボタン、ポインティングデバイス等の、ユーザの操作を受付ける操作受付装置と、操作受付装置が受け付けた操作の情報を制御部１１０に伝達する伝達部と、から構成される。操作部１５０はこのような物理構成によりユーザの操作を受け付けて、操作情報を制御部１１０に伝達する。例えば、ユーザは操作部１５０を用いて設定項目を入力することで、ネットワーク設定ＮＳ等の設定情報を入力することができる。また、操作部１５０はコピーの開始指示を受け付ける実行キーやコピー枚数を指示するテンキー等により、ＭＦＰ１０の機能単位への指示操作を受け付ける。
【００３８】
表示部１６０は、液晶ディスプレイ等から構成され、制御部１１０から伝達された情報を表示する。表示部１６０には、例えばネットワーク設定ＮＳ等の設定情報を入力するための画面等が表示される。
【００３９】
ＭＦＰ機能部１７０は、印刷、ファクシミリ、スキャナといったＭＦＰ１０が持つ諸機能を発揮するための機能単位を含む。例えば、コピー原稿やファクシミリ原稿をスキャンするスキャナ部１７１０、原稿を印刷する印刷部１７２０、給紙トレイから印刷用紙を取り込む給紙部１７３０、印刷した原稿を指定された排紙トレイに排紙する排紙部１７４０等が含まれる。ＭＦＰ機能部１７０は、Ｉ／Ｆ部１４０に接続されたオプション機器と共同して、印刷機能を代表とするＭＦＰ１０の各機能を担う。また、ＭＦＰ機能部１７０は、給紙トレイにセットされた用紙の大きさや、印刷部１７２０にセットされたトナーの種類といった内部状況（内部構成）を検出し、検出結果を制御部１１０に伝達する。
【００４０】
次に、制御部１１０の機能について説明する。制御部１１０は、図３（Ａ）に示すように、機能単位として状態取得部１１１０と、判別部１１２０と、生成部１１３０と、を含む。状態取得部１１１０は、現在の機器状態の状態を取得し、判別部１１２０に伝達する。具体的には、Ｉ／Ｆ部１４０から、各接続部（第１接続部１４１０、第２接続部１４２０…）に接続されたオプション機器の検知結果を示す情報を取得する。さらに、ＭＦＰ機能部１７０から、各部（印刷部１７２０や給紙部１７３０等）の内部構成の状態を示す情報を取得する。さらに、記憶部１２０からネットワーク設定ＮＳ等に記憶された設定パラメータの内容を取得する。そして、取得した情報を現在の機器状態をしめす状態情報としてまとめた上で、判別部１１２０や生成部１１３０に伝達する。状態取得部１１１０は、ＭＦＰ１０の電源投入や所定時間の経過といった任意のタイミングで現在の機器状態を取得しても良いが、本実施の形態では受信部１３１０が配信要求を受信したことを契機に機器状態を取得する。
【００４１】
判別部１１２０は、配信先の装置にインストールされたプリンタドライバの状態と、状態取得部１１１０が取得した構成状態と、に基づいて配信内容を判別する。具体的には、まず配信先の装置のプリンタドライバのインストール状態を取得する。例えば判別部１１２０は、受信した配信要求の内容に基づいて、配信先の装置にプリンタドライバがインストールされているか否か、インストールされている場合には、ドライバのバージョン情報と、対応する機器状態と、を示す情報を特定する。受信部１３１０がプリンタドライバ全体を配信する要求を受信した場合に、配信先の装置にプリンタドライバがインストールされていないと判別する。一方、ドライバの更新要求を受信した場合には、更新要求に含まれるドライバのバージョン情報・対応する機器状態とを抽出することで、インストールされたプリンタドライバの状態を取得すればよい。あるいは、配信要求を受信した後、通信部１３０を用いて配信要求を送信した装置（ＰＣ２０ａ〜２０ｄの何れか）と通信し、ＭＦＰ１０を使用するためのプリンタドライバのインストール状態を取得しても良い。
【００４２】
インストール状態を取得した結果、配信先の装置にＭＦＰ１０を使用するためのプリンタドライバがインストールされていないと判別した場合には、判別部１１２０は状態取得部１１１０が取得した機器状態に対応し、かつ最新バージョンのプリンタドライバ全体を配信すると判別する。そして、そのような配信対象となるプリンタドライバ（配信ドライバ）を生成する旨のコマンドを生成部１１３０に伝達する。
【００４３】
一方、既にＭＦＰ１０を使用するためのプリンタドライバがインストールされている場合には、判別部１１２０はどのような更新が必要であるか判別する。具体的には、判別部１１２０は、インストールされたプリンタドライバが現在の状態取得部１１１０が取得した機器状態に対応するか判別する。例えば、インストールされた拡張ドライバに含まれる設定ファイルが、状態取得部１１１０が取得した機器状態と異なる場合に、現在の機器状態に対応しないと判別する。そして、インストールされたドライバを現在の機器状態に対応させる更新データ（新たな拡張ドライバ）を配信すると判別する。そして、現在の機器状態に対応する拡張ドライバの少なくとも一部（設定ファイル）を生成する旨のコマンドを生成部１１３０に伝達する。さらに、不足するファイル（ライブラリファイル等）がある場合には、記憶部１２０から不足ファイルを読み出して、これを含む配信ファイルを生成する旨のコマンドを送信する。一方、現在の機器状態に対応する場合には、新たな拡張ドライバは配信不要であると判別する。
【００４４】
また、判別部１１２０はインストールされているプリンタドライバのバージョンが、記憶部１２０に記憶された最新バーションと一致するか否かを判別する。そして、一致しない場合には、プリンタドライバを最新バージョンにするためのデータを配信すると判別する。一方、最新バージョンと一致する場合には、プリンタドライバを最新バージョンにするためのデータは配信不要であると判別する。
【００４５】
生成部１１３０は、状態取得部１１１０が新たに状態情報を取得するたびに、記憶部１２０に記憶された拡張ドライバＥｘＤが最新の状態情報に対応するか判別する。そして、拡張ドライバＥｘＤが最新の状態情報に対応しない場合には、生成規則ＧＲを用いて最新の状態情報に応じた拡張ドライバを生成し、記憶部１２０に上書き保存する。図４に示すように、生成部１１３０は状態取得部１１１０がＩ／Ｆ部１４０に接続されたオプション機器１０ａ、１０ｆ、１０ｉと、記憶部１２０に記憶されたネットワーク設定ＮＳと、ＭＦＰ機能部１７０が感知した内部構成と、に基づいて生成規則ＧＲを用いて拡張ドライバＥｘＤを生成する。ここで、拡張ドライバＥｘＤは、（１）ネットワーク設定ＮＳに含まれるＩＰアドレス等の情報を用いて、現在のネットワーク上のＭＦＰ１０の位置を特定する情報と、（２）接続されたオプション機器及びその種別を特定すると共に、そのオプション機器を使用可能とするための情報（例えば、ライブラリファイルの位置情報）と、（３）内部構成（例えば、何れのトレイにどのサイズの用紙がセットされているか）を特定する情報と、の何れかを含む。図４の例では、生成規則ＧＲは、このような条件を満たす拡張ドライバＥｘＤの少なくとも一部（設定情報を文字情報で示すテキストを含む設定ファイル）を生成するため、状態情報を変数としたテキスト生成規則である。
【００４６】
ＭＦＰ１０は、内部規則ＧＲを用いて、最新の状態情報に応じたプリンタドライバを生成できるので、ありうる機器状態の全パターンに対応するプリンタドライバを記憶する必要がない。よって、少ない記憶容量で、複数の機器状態を持ち得る印刷機に対応するプリンタドライバを配信できる。即ち、プリンタドライバのインストール支援を効率よく実行できる。
【００４７】
生成部１１３０はさらに、判別部１１２０から伝達されたコマンドに基づいて、配信対象の装置に配信するプリンタドライバ（配信ドライバ）を生成する。具体的には、プリンタドライバ全体を配信する場合には、最新バージョンのベースドライバＢＤと、状態取得部１１１０が取得した最新の状態情報に応じて生成された拡張ドライバＥｘＤ（必要な場合はライブラリファイルを含む）と、を合成して配信ドライバを生成する。また、最新バージョンに更新するが、現在の機器状態に対応させるための更新は不要である場合には、最新バージョンのベースドライバＢＤを含み、拡張ドライバＥｘＤを含まない配信ドライバを生成する。また、現在の機器状態に対応させるための更新を実行するが、最新バージョンＢＤへの更新が不要である場合には、最新の状態情報に応じて生成された拡張ドライバＥｘＤを含むが、ベースドライバＢＤを含まない配信ドライバを生成する。
【００４８】
生成部１１３０は、生成した配信ドライバを、配信データとして設定する。具体的には、生成した配信ドライバを、ＲＡＭ１０２の所定領域に設けられた送信バッファに格納する。このように、生成部１１３０は、状態取得部１１１０が取得した状態情報が示す機器状態に応じたプリンタドライバ（配信ドライバ）を配信データとして設定する機能を担う。そして、制御部１１０が、送信部１３２０を用いて、送信バッファに格納された配信データ（配信ドライバ）をＰＣ２０に送信することにより、配信データ（配信ドライバ）が配信される。配信先の装置に、ＭＦＰ１０を使用するためのプリンタドライバをインストールされて居なかった場合には、プリンタドライバ全体が配信される。即ち、制御部１１０に制御された送信部１３２０が、印刷装置（ＭＦＰ１０）を利用するためのプリンタドライバを未だインストールしていない、これから新規にプリンタドライバをインストールする他の装置に配信する配信手段として機能する。配信されたプリンタドライバを他の装置（ＰＣ２０）にインストールすれば、その後にネットワーク情報の入力や更新処理をする必要なく、現在の機器状態に合わせて他の装置からＭＦＰ１０をすぐに利用することが出来る。よって、プリンタドライバのインストール支援を効率よく実行できる。
【００４９】
配信対象となるＰＣ２０は、例えば図５に示すように、制御部２１０と、通信部２２０と、記憶部２３０と、操作部２４０と、表示部２５０と、を含む。制御部２１０は、ＲＡＭを作業領域としたＣＰＵから構成された汎用のパーソナルコンピュータの演算部である。制御部２１０は、操作部２４０を用いたユーザの指示操作に基づいて、プリンタデバイスの配信要求コマンドを生成する要求生成部２１１０と、要求に応じてＭＦＰ１０が配信したプリンタデバイスをインストールするインストール部２１２０と、として機能する。本実施の形態では、要求生成部２１１０は、記憶部２３０にＭＦＰ１０を実行するためのプリンタドライバが記憶されていない場合には、最新の機器状態に対応する最新バージョンのプリンタドライバ全体の配信要求を生成する。一方、既にインストール済の場合には、インストールされたベースドライバのバージョンを示す情報と、現在の拡張ドライバが対応する機器状態を示す情報（例えば、インストールされたドライバが対応する機器状態を示す設定ファイル）と、を含む配信要求を生成する。
【００５０】
なお、操作部２４０を用いたユーザの指示操作は、ＰＣ２０にインストールされたインストール支援ソフトウェアの起動を指示する操作である。あるいは、すでにインストールされたプリンタドライバがインストールされている場合には、プリンタドライバに含まれる更新用ソフトウェアの実行指示であってもよい。一方、プリンタドライバがインストールされていない場合には、例えばネットワークディスクであるＭＦＰ１０の記憶部１２０に含まれるインストール用ソフトウェアの実行指示をネットワークを介して送信する指示操作であってもよい。このような構成によれば、ＰＣ２０に要求指示を送信する特別の構成が無くても、ＭＦＰ１０の記憶部１２０を他の装置から参照可能とするだけで、最新バージョンかつ最新の機器設定に対応したプリンタドライバを効率的に支援するシステムを構築できる。
【００５１】
図５に戻って、通信部２２０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）機器や通信モデムから構成され、ＰＣ２０をＭＦＰ１０が接続されたネットワークに接続する。通信部２２０は、このような物理構成により要求生成部２１１０が生成した配信要求コマンドをＭＦＰ１０に送信する送信部２２１０と、ＭＦＰ１０が配信したプリンタデバイス等を受信する受信部２２２０として機能する。
【００５２】
記憶部２３０は、ハードディスクドライブやフラッシュメモリ等の不揮発性記憶装置である。記憶部２３０は、インストール部２１２０のインストール処理に基づくプリンタドライバを記憶する。その結果、記憶部２３０には配信時の機器状態に対応する拡張ドライバと、最新バージョンのベースドライバを含むプリンタドライバが記憶される。
【００５３】
操作部２４０は、タッチパネル、キーボード、ボタン、ポインティングデバイス等の、ユーザの操作を受付ける操作受付装置と、操作受付装置が受け付けた操作の情報を制御部２１０に伝達する伝達部と、から構成される。操作部２４０はこのような物理構成によりユーザの操作を受け付けて、操作情報を制御部２１０に伝達する。例えば、ユーザは操作部２４０を用いて配信要求の送信処理や、配信されたプリンタドライバのインストール処理の実行をＰＣ２０に指示することができる。
【００５４】
表示部２５０は、液晶ディスプレイ等から構成され、制御部２１０から伝達された情報を表示する。ユーザは、このような表示部２５０に表示された画面に基づいて操作部２４０を操作することにより、制御部２１０への指示操作を実行すると共に、インストールの結果を確認することが出来る。
【００５５】
次に、印刷システム１において実行される処理のうち、プリンタドライバのインストール支援に関する処理を、フローチャートを参照して説明する。印刷システム１において、ＭＦＰ１０が図６に示すドライバ配信処理１を実行し、かつ、ＰＣ２０が図７に示すインストール処理１を実行することにより、最新のＭＦＰ１０の機器状態に応じたプリンタドライバをＰＣ２０にインストールすることが出来る。
【００５６】
ＭＦＰ１０は、電源が投入された後初期設定が終了して定常状態に移行すると、ＭＦＰ１０の諸機能を実現するための他の処理と平行して、図６に示すドライバ配信処理１を開始する。ドライバ配信処理１では、まず制御部１１０は受信部１３１０が他の装置が送信する配信要求（プリンタドライバをインストールしていない装置からの配信要求、又は、インストール済みの装置からの更新要求）を受信したか否か判別する（ステップＳ１０１）。受信していない場合は（ステップＳ１０１；Ｎｏ）、ステップＳ１０１を繰り返して受信するまで待ち受ける。一方、受信している場合には（ステップＳ１０１；Ｙｅｓ）、状態取得部１１１０が現在の機器状態を取得する（ステップＳ１０２）。具体的には、Ｉ／Ｆ部１４０から接続されたオプション機器の有無や種別を含む機器構成の状態情報を取得し、記憶部１２０から現在のＩＰアドレスやネットワークにおける名称を取得し、ＭＦＰ機能部１７０から内部構成の状態情報を取得する。そして、取得した情報を状態情報としてまとめ、ＲＡＭ１０２の所定領域に一時記憶する。
【００５７】
次に、生成部１１３０が、状態取得部１１１０が一時記憶した現在の状態情報に基づいて、拡張ドライバＥｘＤを生成する（ステップＳ１０３）。生成された拡張ドライバＥｘＤは、記憶部１２０に記憶される。この拡張ドライバＥｘＤには、少なくともＩＰアドレスといった、ネットワーク上のＭＦＰ１０の位置を特定する情報が含まれることが望ましい。なお、生成規則ＧＲに、状態情報に対応するために必要なライブラリファイルが指定されている場合には、生成部１１３０はそのライブラリファイルを拡張ドライバＥｘＤに加える。なお、前回に拡張ドライバＥｘＤを作成したときと状態が変わらない場合には、ステップＳ１０３をスキップしてもよい。
【００５８】
次に判別部１１２０が、配信要求を送信した装置に最新バージョンのベースドライバがインストールされているか否か確認する（ステップＳ１０４）。
【００５９】
ここでは、配信要求に最新バージョンのベースドライバがインストール済みであるとの情報が含まれている場合に、最新バージョンのベースドライバがインストール済みであると判別する（ステップＳ１０４；Ｙｅｓ）。この場合、ベースドライバの配信は不要なので、判別部１１２０は処理をステップＳ１０６にスキップする。一方、旧バージョンのベースドライバがインストールされているか、バージョン情報が配信要求に含まれて居ない（未インストール）の場合には、最新バージョンのドライバがインストールされていないと判別し（ステップＳ１０４；Ｎｏ）、ステップＳ１０５を実行する。ステップＳ１０５では、判別部１１２０が最新バージョンのベースドライバを配信すると判別した上で、ＲＡＭ１０２の所定領域に最新バージョンのベースドライバをセットする（ステップＳ１０５）。
【００６０】
ステップＳ１０５の処理を実行するか、ステップＳ１０４でＹｅｓと判別した後に、次に判別部１１２０は要求を送信した装置に、現在の機器状態に全て対応する拡張ドライバがインストールされているか否か判別する（ステップＳ１０６）。具体的には、配信要求に記憶部１２０に記憶された、直近に取得された最新の機器状態に対応する拡張ドライバＥｘＤの設定ファイルと一致する設定ファイルが含まれている場合に、現在の機器状態に応じた拡張ドライバがインストールされていると判別する（ステップＳ１０６；Ｙｅｓ）。この場合、拡張ドライバの配信は不要なので、制御部１１０は処理をステップＳ１０８にスキップする。一方、拡張ドライバＥｘＤの設定ファイルと不一致の拡張ドライバがインストールされているか、拡張ドライバが配信要求に含まれていないか、いずれかの場合には、現在の機器状態に応じた拡張ドライバがインストールされていないので（ステップＳ１０６；Ｎｏ）、ステップＳ１０７を実行する。ステップＳ１０７では、判別部１１２０は拡張ドライバＥｘＤを配信すると判別し、ＲＡＭ１０２の所定領域に最新に取得された機器状態に対応する拡張ドライバＥｘＤをセットする（ステップＳ１０７）。
【００６１】
ステップＳ１０７の処理を実行するか、ステップＳ１０６でＹｅｓと判定した後に、判別部１１２０は要求を送信した装置に最新バージョンのベースドライバと、ステップＳ１０２で取得された機器状態に全対応する拡張ドライバがインストール済みであるが判別する（ステップＳ１０８）。ここでは、ステップＳ１０４でＹｅｓと判別し、かつステップＳ１０６でＹｅｓと判別した場合には、最新かつ全対応のプリンタドライバがインストール済みであると判別する（ステップＳ１０８；Ｙｅｓ）。即ち、状態取得部１１１０が直近に取得した機器状態と、インストールされた拡張ドライバが対応する構成と、を比較している。この場合には、制御部１１０は配信処理を中止（キャンセル）し、更新不要コマンドを、配信要求を送信した装置（ＰＣ２０）に送信する（ステップＳ１１１）。即ち、プリンタドライバを配信しない。
【００６２】
一方、ステップＳ１０４でＮｏと判別したか、ステップＳ１０６でＮｏと判別したか、少なくとも一方を満たす場合には（ステップＳ１０８；Ｎｏ）、生成部１１３０がステップＳ１０５及びステップＳ１０７のうち実行されたステップでセットされたドライバを含む配信ドライバを配信データとして設定する（ステップＳ１０９）。具体的には、セットされたベースドライバＢＤ及び／又は拡張ドライバＥｘＤを、アーカイバを用いて圧縮する。そして、ＲＡＭ１０２の所定領域に設けられた送信バッファに圧縮したデータを格納するなどして、圧縮された配信ドライバをＰＣ２０に配信する配信データとして設定する。配信データとして設定された配信ドライバは、送信部１３２０が配信先の装置に送信する（ステップＳ１１０）。ステップＳ１１０又はステップＳ１１１の処理が終了すると、ステップＳ１０１で受信した配信要求に応じたインストール支援は終了する。そのため、ステップＳ１０１に戻って次の要求を待ち受ける。ＭＦＰ１０は、この処理を、電源が落ちるまで繰り返す。
【００６３】
続いて、ＰＣ２０が実行する処理のうち、プリンタドライバのインストールに関する処理について説明する。ＰＣ２０は、電源が投入された後初期設定が終了して定常状態に移行すると、ＰＣ２０の諸機能を実現するための他の処理と平行して、図７に示すインストール処理１を開始する。あるいは、予めインストールされたプリンタドライバのインストール支援ソフトを立ち上げ操作を受け付けると、インストール処理１を開始するとしても良い。
【００６４】
インストール処理１では、まず制御部２１０が、ＭＦＰ１０の機器状態に対応するプリンタドライバのインストールを指示するユーザ操作を受け付けたか否か判別する（ステップＳ２０１）。操作部２４０を通じたインストール指示操作を検知できなかった場合には、インストール操作を受け付けていないと判別し（ステップＳ２０１；Ｎｏ）、ステップＳ２０１を繰り返して操作を待ち受ける。一方、受け付けた場合には（ステップＳ２０１；Ｙｅｓ）、要求生成部２１１０が記憶部２３０に問い合わせて、現在インストールされているプリンタドライバの構成を取得する（ステップＳ２０２）。具体的には、ＭＦＰ１０に対応するプリンタドライバがあるか否か、ある場合にはベースドライバのバージョン情報と、拡張ドライバが対応する機器状態と、を示す情報を取得する。
【００６５】
次に、要求生成部２１１０が、ステップＳ２０２で取得した情報に応じた配信要求を生成する。そして、生成された配信要求を、送信部２２１０を用いてＭＦＰ１０に送信する（ステップＳ２０３）。既にプリンタドライバがインストールされている場合には、この配信要求はプリンタドライバの更新要求と言うことが出来る。
【００６６】
ステップＳ２０３の送信処理が終わると、次にステップＳ２０４にて受信部２２２０がＭＦＰ１０からの応答を受信したか判別する。未だ応答を受信していない場合には（ステップＳ２０４；Ｎｏ）、ステップＳ２０４を繰り返して応答を待ち受ける。このとき、所定の時刻（例えば１分）を超えて応答が無い場合には、タイムアウト処理としてインストール処理１をエラー停止してもよい。あるいは再度、配信要求を送信してもよい。
【００６７】
一方、図６のステップＳ１１０又はＳ１１１におけるＭＦＰ１０の応答を受信した場合には（ステップＳ２０４；Ｙｅｓ）、次に制御部２１０が受信したコマンドがステップＳ１１１で送信される更新不要コマンドであるか否か判別する（ステップＳ２０５）。更新不要コマンドである場合には（ステップＳ２０５；Ｙｅｓ）、すでに最新バージョンかつ、最新の機器状態に対応するプリンタドライバがインストール済みであるので、ステップＳ２０１にもどって新たな操作を待ち受ける。
【００６８】
一方、更新不要コマンドで無い場合には（ステップＳ２０５；Ｎｏ）、受信したコマンドは、配信ドライバを含んでいる。そこで、ステップＳ１０９で生成され、ステップＳ２０４で制御部２１０が受信した配信ドライバをインストールする処理を実行する（ステップＳ２０６）。具体的には、圧縮された送信ファイルを解凍し、解凍したファイルを記憶部２３０の所定領域に保存する。既にインストールされている場合には、上書き保存することで更新する。また、必要な場合はＯＳの設定ファイルも更新する。その後、ステップＳ２０１にもどって新たな操作を待ち受ける。
【００６９】
以上説明したとおり、本実施形態の印刷システム１では、現在の印刷装置（ＭＦＰ１０）の機器状態を示す情報である状態情報を取得した上で、取得した状態情報が示す機器状態に応じたプリンタドライバ（配信ドライバ）を配信データとして設定し、印刷装置を利用する他の装置（ＰＣ２０）に配信する。そのため、配信されたプリンタドライバを他の装置にインストールするだけで、印刷装置を直ぐに使用できる。即ち、高い効率でプリンタドライバのインストールを支援することが出来る。
【００７０】
例えば、一旦プリンタドライバを他の装置にインストールした後に、現在の装置状態を印刷装置に問い合わせて設定操作をする場合と比べ、印刷装置及び端末装置（他の装置であるＰＣ２０）の双方の処理負担が小さい。また、必要な通信量が減少する。さらに、印刷装置そのものによってインストール支援を行うので、別途サーバを設ける必要がない。
【００７１】
また、状態情報に係る機器状態は、印刷装置の機器構成の状態と、内部構成の状態と、内部パラメータの内容と、何れかを少なくとも含む。そのため、機器構成、内部構成又は内部パラメータをユーザのニーズに合わせて変更した場合でも、機器構成に応じたプリンタドライバを効率よく他の機器にインストールする事が出来る。
【００７２】
なお、上記実施例では状態取得部は機器状態としてオプション機器の接続状態を含む機器構成の状態と、消耗品のセッティング状態やディップスイッチや内部配線によって選択されるＭＦＰ内部の機能構成を含む内部構成の状態と、ネットワーク設定などの設定パラメータの内容と、を取得した。本発明は、このうち少なくとも一つを機器状態として取得し、機器状態に対応するドライバを配信することで上述の効果を発揮することができる。
【００７３】
また、生成部が生成規則を用いて機器状態に応じたプリンタドライバを生成するため、あり得る全ての機器状態に対して予めプリンタドライバを記憶する必要が無い。そのため、インストール支援をするための必要記憶容量が少ない。
【００７４】
また、本実施形態では、オプション機器を接続可能な接続手段（Ｉ／Ｆ部など）を備える印刷装置において、機器構成の状態情報としてオプション機器の検知結果を取得した上で、接続されたオプション機器に対応するプリンタドライバを配信する。そのため、ユーザがオプション機器を接続することで印刷装置の機能をニーズに合わせて拡張可能であり、かつ効率良く接続されたオプション機器に応じたプリンタドライバを印刷装置を利用する他の装置にインストールすることが出来る、利便性が高い印刷システムを提供できる。
【００７５】
また、内部構成を変更可能な印刷装置において、内部構成の状態の検知結果を取得した上で、取得した内部構成の状態情報に対応するプリンタドライバを配信する。そのため、ユーザがニーズに合わせて、消耗品のセッティング状態や内部設定等の内部構成の状態を変更可能であり、かつ効率良く内部構成の状態に対応するプリンタドライバを印刷装置を利用する他の装置にインストールすることが出来る、利便性が高い印刷システムを提供できる。
【００７６】
さらに、設定パラメータを変更可能な印刷装置において、設定パラメータの内容に応じたプリンタドライバを配信する。そのため、ユーザがニーズに合わせて設定パラメータを変更可能であり、かつ効率良く設定パラメータの内容に対応するプリンタドライバを印刷装置を利用する他の装置にインストールすることが出来る、利便性が高い印刷システムを提供できる。特に、設定パラメータとしてＩＰアドレスなどのネットワーク上の印刷装置の位置を特定できるパラメータを含むため、ＰＣ２０等の他の装置から印刷装置を検索したりＩＰアドレスを設定する必要が無いため、インストールがより簡便に実行できる。
【００７７】
また、印刷装置を用いるためのプリンタドライバを既にインストールした他の装置が送信する、プリンタドライバの更新要求（即ち、インストール済の装置からの配信要求）を受信した場合には、状態取得部が取得した現在の状態情報が示す機器状態に対応するか、最新バージョンであるか、少なくとも一方を満たすプリンタドライバの少なくとも一部を更新要求を送信した他の装置に配信する。そのため、インストール済みのプリンタドライバを、最新バージョンであるか、あるいは最新の機器状態に対応するか、少なくとも一方を満たすように効率よく更新することが出来る。
【００７８】
ここで、本実施形態の印刷装置は更新要求を送信した他の装置にインストールされたプリンタドライバが取得手段が取得した機器状態に対応し、かつ最新バージョンである場合には、更新要求に応じたプリンタドライバの配信を中止する。即ち、プリンタドライバを配信しない。そのため、不要なトラフィック及び処理負担の増加を防止することが出来る。
【００７９】
また、更新要求を送信した他の装置にインストールされたプリンタドライバが最新バージョンと異なる場合には、状態取得部が取得した現在の機器状態に対応するか否かに関わらず、インストールされたプリンタドライバを最新バージョンに更新するためのデータを他の装置に配信する。よって、煩雑な更新操作の要無くインストールされたプリンタドライバを最新バージョンに更新することができる。
【００８０】
さらに、更新要求を送信した他の装置にインストールされたプリンタドライバが、状態取得部が取得した現在の機器状態に対応しない場合には、プリンタドライバが最新バージョンであるか否かに関わらず、インストールされたプリンタドライバを機器状態に対応させるためのデータを他の装置に送信する。そのため、煩雑な更新操作の要無くインストールされたプリンタドライバを取得した機器状態に対応するように更新することができる。
【００８１】
また、印刷装置を利用するためのプリンタドライバを新規にインストールするＰＣに、状態取得部が取得した現在の機器状態に対応するプリンタドライバを配信する。このため、新規インストールする場合でも、配信されたプリンタドライバをインストールするだけで良いので、インストール後の判別処理や通信が不要となる。よって、インストール支援の効率が高い。
【００８２】
（実施形態２）
次に、本発明の実施形態２について説明する。実施形態２に係る印刷システムは、図８に示すＭＦＰ１１と、図９に示すＰＣ２１と、を含む。実施形態２に係る印刷システムは、インストール済みのプリンタドライバの設定内容を参照して配信内容を判別する処理を、端末装置であるＰＣ２１で実行する点で、実施形態１と異なる。
【００８３】
ＭＦＰ１１は、図８に示すように、実施形態１に係るＭＦＰ１０と比較して制御部１１１が判別部の代わりに応答部１１４０を備える点が異なる。ＭＦＰ１１の物理構成及び他の機能構成はＭＦＰ１０と同様である。
【００８４】
応答部１１４０は、後述するＰＣ２１の比較部２１３０が送信する状態要求コマンドに応答して、状態取得部１１１０が取得した機器状態を示す状態情報と、ベースドライバの最新バージョンを示す情報と、をＰＣ２１に送信する。
【００８５】
ＰＣ２１は、図９に示すように、実施形態１に係るＰＣ２０と比較して制御部２１１が比較部２１３０を更に備える点が異なる。また、要求生成部２１１１の機能が異なる。ＰＣ２１の物理構成及び他の機能構成はＰＣ２０と同様である。
【００８６】
要求生成部２１１１は、操作部２４０を用いたユーザの指示操作に基づいて、プリンタデバイスの配信要求コマンドを生成する。ただし、インストール済みのドライバの内容を示す情報は取得せず、単に配信処理を開始するにあたって状態情報の送信を要求する状態要求コマンドを生成する点が、実施形態１の要求生成部２１１０と異なる。要求生成部２１１１は、状態要求コマンドを、送信部２２１０を用いてＭＦＰ１１に送信する。なお、インストール済の場合には、送信部２２１０が送信するコマンドは、デバイスの更新処理の開始を要求することになる。
【００８７】
比較部２１３０は、ＭＦＰ１１の応答部１１４０が状態要求コマンドに応答して送信する状態情報と、記憶部２３０に記憶されたドライバの内容を比較する。そして、比較結果に基づいて、必要なプリンタドライバの内容を指定する配信ドライバ指定コマンドを、送信部２２１０を用いてＭＦＰ１１に送信する。具体的には、ＭＦＰ１１を使用するためのプリンタドライバがインストールされていない場合には、ベースドライバ及び拡張ドライバを含むプリンタドライバ全体の配信を要求するコマンドを送信する。この場合、ＰＣ２１はこれから新規にＭＦＰ１１を使用するためのプリンタドライバをインストールする。
【００８８】
また、インストールされたベースドライバのバージョンが最新でない場合には、比較部２１３０はベースドライバを更新するため、ベースドライバＢＤの配信を要求するコマンドを送信する。また、拡張ドライバが状態情報が示す機器状態に対応しない場合には、拡張ドライバを更新するため、拡張ドライバＥｘＤの配信を要求するコマンドを送信する。なお、ベースドライバのバージョンが最新であり、かつ拡張ドライバが状態情報が示す機器状態に対応する場合には、更新の必要が無いので、ドライバの配信を要求（更新要求）するコマンドを送信しない。このとき、配信処理の停止を示すコマンドをＭＦＰ１１に送付してもよい。
【００８９】
次に、本実施形態の印刷システムにおいて実行されるインストール支援に関する処理を、フローチャートを参照して説明する。
【００９０】
ＭＦＰ１１は、電源が投入された後初期設定が終了して定常状態に移行すると、ＭＦＰ１１の諸機能を実現するための他の処理と平行して、図１０に示すドライバ配信処理２を開始する。ドライバ配信処理２では、まず制御部１１１は受信部１３１０が他の装置（ＰＣ２１）が送信する状態要求コマンドを受信したか否か判別する（ステップＳ３０１）。受信していない場合は（ステップＳ３０１；Ｎｏ）、ステップＳ３０１を繰り返して受信するまで待ち受ける。一方、受信している場合には（ステップＳ３０１；Ｙｅｓ）、図６のステップＳ１０２と同様に、状態取得部１１１０が現在の機器状態を取得する（ステップＳ３０２）。
【００９１】
次に、制御部１１１は前回拡張ドライバを更新したときから機器状態が更新されているか判別する（ステップＳ３０３）。更新されている場合には（ステップＳ３０３；Ｙｅｓ）、図６のステップＳ１０３と同様に、現在の機器状態に応じた拡張ドライバを生成する（ステップＳ３０４）。
【００９２】
次に、ステップＳ３０３で更新されていないと判別するか（ステップＳ３０３；Ｎｏ）、ステップＳ３０４の処理を終えた後に、応答部１１４０が、ステップＳ３０２で取得した機器状態を示す状態情報と、ベースドライバＢＤのバージョンを示す情報と、をＰＣ２１に送信する（ステップＳ３０５）。具体的には、最新バージョンを示す数値と、拡張ドライバＥｘＤに含まれる設定ファイルと、を含むファイルを送信部１３２０を用いてＰＣ２１に送信する。
【００９３】
次に、制御部１１１は、受信部１３１０が他の装置（ＰＣ２１）が後述するステップＳ４０６で送信する配信ドライバ指定コマンドを受信したか否か判別する（ステップＳ３０６）。受信していない場合は（ステップＳ３０６；Ｎｏ）、次に送信待ち処理がタイムアウトしたか否か判定する（ステップＳ３０７）。具体的には、ステップＳ３０５にて送信してから所定時間（例えば１分）が経過してなお配信ドライバ指定コマンドを受信していない場合には、タイムアウトと判別して（ステップＳ３０７；Ｙｅｓ）、配信処理を中止し、ステップＳ３０１に戻る。これにより、ステップＳ３０５で送信した状態情報に基づき、ＰＣ２１の比較部２１３０がプリンタドライバの更新が不要であると判別して配信ドライバ指定コマンドを送信しなかった場合に、プリンタドライバの配信を中止することができる。即ち、プリンタドライバの配信を行わない。
【００９４】
一方、タイムアウトでないと判別すると（ステップＳ３０７；Ｎｏ）、ステップＳ３０６に戻ってコマンドを受信するまで待ち受ける。
【００９５】
ステップＳ３０６にて、配信ドライバ指定コマンドを受信したと判別した場合には（ステップＳ３０６；Ｙｅｓ）、次に制御部１１１は配信ドライバ指定コマンドの内容に基づいて、配信ドライバを設定する（ステップＳ３０８）。具体的には、最新に取得された機器状態に全対応する拡張ドライバＥｘＤ及び最新バージョンのベースドライバＢＤのうち、配信ドライバ指定コマンドが要求するものをアーカイバを用いて圧縮する。そして、ＲＡＭ１０２の所定領域に設けられた送信バッファに圧縮したデータを格納するなどして、圧縮された配信ドライバをＰＣ２０に配信する配信データとして設定する。次に、配信データとして設定された配信ドライバを、送信部１３２０が配信先のＰＣ２１に送信する（ステップＳ３０９）。ステップＳ３０９の処理が終了すると、ステップＳ３０１で受信した配信要求に応じたインストール支援は終了する。そのため、ステップＳ３０１に戻って次の要求を待ち受ける。ＭＦＰ１１は、この処理を、電源が落ちるまで繰り返す。
【００９６】
続いて、ＰＣ２１が実行する処理のうち、プリンタドライバのインストールに関する処理について説明する。ＰＣ２１は、電源が投入された後初期設定が終了して定常状態に移行すると、ＰＣ２１の諸機能を実現するための他の処理と平行して、図１１に示すインストール処理２を開始する。あるいは、予めインストールされたプリンタドライバのインストール支援ソフトを立ち上げ操作を受け付けると、インストール処理１を開始するとしても良い。インストール処理２では、まず制御部２１１が、ＭＦＰ１１の機器状態に対応するプリンタドライバのインストールを指示するユーザ操作を受け付けたか否か判別する（ステップＳ４０１）。操作部２４０を通じたインストール指示操作を検知できなかった場合には、インストール操作を受け付けていないと判別し（ステップＳ４０１；Ｎｏ）、ステップＳ４０１を繰り返して操作を待ち受ける。一方、受け付けた場合には（ステップＳ４０１；Ｙｅｓ）、要求生成部２１１１がＭＦＰ１１への状態要求コマンドを生成する。そして、生成した状態要求コマンドをＭＦＰ１１に送信する（ステップＳ４０２）。既にプリンタドライバがインストールされている場合には、この状態要求コマンドはプリンタドライバの更新支援処理の開始を要求するコマンドと言うことが出来る。
【００９７】
ステップＳ４０２が終わると、次に、制御部２１１は受信部２２２０がＭＦＰ１１がステップＳ３０５で送信する状態情報を受信したか否か判別する（ステップＳ４０３）。未だ受信していない場合には（ステップＳ４０３；Ｎｏ）、ステップＳ４０３を繰り返して応答を待ち受ける。このとき、所定の時刻（例えば１分）を超えて応答が無い場合には、タイムアウト処理としてインストール処理２をエラー停止してもよい。あるいは再度、状態要求コマンドを送信してもよい。
【００９８】
一方、状態情報を受信した場合には（ステップＳ４０３；Ｙｅｓ）、次に比較部２１３０がインストールされたプリンタドライバの内容と、状態情報が示す最新のＭＦＰ１１の機器状態と、を比較する（ステップＳ４０４）。
【００９９】
比較部２１３０は、比較の結果に基づいて、最新バージョンのベースドライバと、機器状態に全て対応する拡張ドライバと、がすでにインストールされているか否かを判別する（ステップＳ４０５）。最新バージョンのベースドライバと、機器状態に全て対応する拡張ドライバと、がすでにインストールされている場合には（ステップＳ４０５；Ｙｅｓ）、ドライバの更新は不要であるので、ステップＳ４０１で受け付けた操作に基づくプリンタドライバのインストールを中止する。具体的には、処理内容を示すバッファをフラッシュして、ステップＳ４０１に戻って新たなインストール指示操作を待ち受ける。
【０１００】
一方、最新バージョンのベースドライバと、機器状態に全て対応する拡張ドライバと、の何れかがインストールされていないと判別した場合には（ステップＳ４０５；Ｎｏ）、必要なプリンタドライバの内容を指定する配信ドライバ指定コマンドを生成した上で、ＭＦＰ１１に送信する（ステップＳ４０６）。ここで、最新バージョンのベースドライバがインストールされていない場合には、配信ドライバ指定コマンドは最新バージョンのベースドライバの配信要求コマンドを含む。また、機器状態に全て対応する拡張ドライバがインストールされていない場合には、最新の拡張ドライバの配信要求コマンドを含む。また、最新バージョンのベースドライバも機器状態に全て対応する拡張ドライバも共にインストールされていない場合には、両方の配信要求コマンドを含む。なお、配信ドライバ指定コマンドは、プリンタドライバがインストールされていない場合には、新規インストールのためのドライバ配信要求である。一方、インストールされている場合には、既存のプリンタドライバを更新するためのドライバを要求する更新要求コマンドである。
【０１０１】
ステップＳ４０６の送信処理が終わると、次にステップＳ４０７にて受信部２２２０がＭＦＰ１１からの応答（配信ドライバ）を受信したか判別する。未だ応答を受信していない場合には（ステップＳ４０７；Ｎｏ）、ステップＳ４０７を繰り返して応答を待ち受ける。このとき、所定の時刻（例えば１分）を超えて応答が無い場合には、タイムアウト処理としてインストール処理２をエラー停止してもよい。あるいは再度、配信ドライバ指定コマンドを送信してもよい。
【０１０２】
一方、図１０のステップＳ３０８でＭＦＰ１１が送信する配信ドライバを受信したと判別した場合には（ステップＳ４０７；Ｙｅｓ）、受信した配信ドライバをインストールする処理を実行する（ステップＳ４０８）。具体的には、圧縮された送信ファイルを解凍し、解凍したファイルを記憶部２３０の所定領域に保存する。既にインストールされている場合には、上書き保存することで更新する。また、必要な場合はＯＳの設定ファイルも更新する。その後、ステップＳ４０１にもどって新たな操作を待ち受ける。
【０１０３】
以上説明したとおり、本実施形態ではＭＦＰに変わり印刷装置を利用する端末装置（ＰＣ２１）が配信ドライバの内容を決定する処理を実行する。そのため、プリンタドライバのインストールを支援するにあたって、ＭＦＰの処理負担が軽い。一般に、ＰＣはＭＦＣよりも計算処理能力が高い。さらに、複数のＰＣが一つのＭＦＣを使用する場合が多いため、ＭＦＣの処理負担を軽くして、ＰＣがその分を負担することが有効である場合が多い。即ち、インストール支援の処理負担を適切に分担することが出来る。
【０１０４】
（変形例）
以上、本発明の実施形態１及び２について説明したが、本発明の実施形態はこれに限られない。
【０１０５】
例えば、印刷装置は他の装置からの要求に応じてプリンタドライバを配信した。しかし、これに限らず印刷装置がベースドライバの更新や機器設定の変更を契機に他の装置にプリンタドライバを配信してもよい。
【０１０６】
このためには、印刷装置はプリンタドライバを配信するたびに、図１２に示すようなリストに配信先の装置を登録し、ベースドライバの更新や機器設定の変更が発生するたびに、登録された装置に必要なプリンタドライバの配信を行えばよい。
【０１０７】
これに関連して、印刷装置がメーカのサーバ等と通信して、プリンタドライバのバージョンが更新される毎に記憶部１２０に最新のバージョンをダウンロードする構成も有効である。このような構成と、印刷装置がバージョンの更新を契機に他の装置にドライバを配信する構成とを合わせれば、印刷システムの各端末装置に、自動的に最新バージョンのプリンタドライバをインストールすることができる。
【０１０８】
また、上記実施形態では、配信要求を受信したことを契機に機器状態を取得して拡張ドライバを更新した。このような構成によれば、配信要求に対して、そのときに取得した最新の機器状態に応じたプリンタドライバを配信することができる。その他のタイミングとして、例えば電源投入時に機器状態を取得する構成も可能である。このような構成は、特に機器状態のうち機器構成の状態（接続されたオプション機器の状態）を重視する場合に有効である。オプション機器を新たに接続したり、取り外したりする場合には、一旦電源を落とす。そのため、電源投入時に機器構成の状態情報を取得するだけで、最新の機器構成の状態に応じたプリンタドライバを配信できる。このような構成では、印刷装置の処理負担を減らすと共に、配信要求に対してプリンタドライバを配信する応答速度を向上させることが出来る。その他、予め定めた期間（例えば、１時間）毎に機器状態を確認する、といった任意の設定が可能である。
【０１０９】
さらに、上記実施形態では、端末装置におけるプリンタドライバのインストール状態を確認した上で、必要な構成のみを配信した。しかし、印刷装置が配信要求を送信した他の装置にプリンタドライバがインストールされているかにかかわらず、最新バージョンかつ最新の機器状態に対応するプリンタドライバ全体を配信してもよい。このような構成によれば、配信処理を簡略化できる。また、インストールされたプリンタドライバの内容を送受信するための構成を備えていない端末装置に対しても、インストール支援を効率よく実行することが出来る。即ち、インストール支援ソフトを端末装置にインストールする必要がない。なお、インストール支援ソフトを端末装置にインストールする変わりに、印刷機がネットワークを介して提供するインストール支援ソフトの機能を、端末装置が利用する構成も有効である。
【０１１０】
例えば、印刷システム１に含まれる印刷装置として、ＭＦＰを例に挙げて説明した。しかしこれに限らず、本発明は家庭用のレーザプリンタやインクジェットプリンタなど、制御部と記憶部を有し、複数の機器状態を取りうる任意の印刷装置に応用可能である。また、印刷装置を利用する他の装置としてパーソナルコンピュータ（ＰＣ２０、ＰＣ２１）を例示したが、これに限らずタブレット端末やスマートフォン、ＰＤＡといった、プリンタドライバをインストールして印刷装置を使用可能な任意の端末装置であってよい。
【０１１１】
また、インストール支援の対象となるプリンタドライバが、ドライバ本体（実行ファイルやデータ）であるベースドライバＢＤと、ベースドライバＢＤを現在の機器状態に合わせて使用するための設定ファイルを含む拡張ドライバＥｘＤと、から構成される例について主に説明した。しかし、プリンタドライバの構成はこれに限らない。例えば、拡張ドライバはベースドライバと連動して動作する実行ファイルであっても良い。また、プリンタドライバがベースドライバと拡張ドライバに分離されていない構成も可能である。例えば、記憶部にプリンタドライバのソースファイルを記憶しておき、生成規則を用いてソースファイルに含まれるパラメータ変数やソースコードを取得した機器状態に合わせて改変した上でビルドすれば、分離されていない配信デバイスを生成することが出来る。あるいは、ソースコードは変更せず、ビルドする際の環境変数を機器状態に合わせて改変してもよい。
【０１１２】
他の機器（ＰＣ２０やＰＣ２１）にインストールされているプリンタドライバがどのような機器状態に対応しているかを決定する方法は、拡張ドライバに含まれる設定ファイルそのものを伝達する方法に限られない。例えば、拡張ドライバの少なくとも一部（設定ファイル）を生成するに当たって、その拡張ドライバが対応する機器状態を特定可能な情報を付加し、更新要求時に設定ファイルではなく付加情報を伝送して、対応の可否を確認する構成も可能である。この付加情報としては、例えば拡張ドライバを生成した時刻、又は、ＭＦＰが何度目に生成した拡張ドライバであるかを示す番号といった拡張ドライバが生成されたタイミングを示すタグ情報が考えられる。
例えば実施形態１において、他の機器（ＰＣ２０）は、新規インストール時に配信された拡張ドライバに含まれるタグ情報を記憶装置に記憶した上で、更新時にタグ情報を含めた更新要求を送信すればよい。
一方、ＭＦＰ（ＭＦＰ１０）は、拡張ドライバを生成するたびに、生成時刻や生成回数を示すタグ情報を拡張ドライバに付加し、配信にあたってタグ情報を含む拡張ドライバを配信すればよい。また、タグ情報を含まない配信要求を受け取った場合には、新規インストールのための配信要求であると判定して、現在の機器状態に対応する拡張ドライバとベースドライバを含む配信データを配信すればよい。一方、タグ情報を含む配信要求を受信した場合には、受信したタグ情報が示すタイミングから機器状態が更新されたか否かを確認して、更新されている場合には、例えば図６のステップＳ１０６でＮｏと判定するなどして、現在の機器状態に対応する拡張ドライバを配信すればよい。
【０１１３】
あるいは、付加情報として、その拡張ドライバが対応する機器状態を特定可能な情報のみを凝縮したデータを用いても良い。例えば、あり得る全ての機器状態の項目を変数とし、変数に対してユニークなハッシュ値を返すハッシュ関数を設計する。そして、拡張ドライバを生成するたびに、このビット列を付加情報として生成した拡張ドライバの先頭などに付加する。そして、図３（Ａ）の判別部１１２０や図９の比較部２１３０が拡張ドライバが現在の機器状態に対応するか否かを判定するときに、設定ファイル全体の代わりにこの付加情報を通信し、直近に取得した機器状態を変数としたハッシュ値と、インストール済の拡張ドライバに付加された付加情報とを比較すれば良い。このような構成を採用すれば、少ない通信データ量で更新処理を実現することができる。
【０１１４】
尚、本発明は、上記実施形態、若しくはその変形例に係るＭＦＰとして提供できることはもとより、プログラムの適用により、既存の印刷装置に接続された既存のパーソナルコンピュータなど、汎用の計算機によって実現することもできる。すなわち、ＭＦＰによる各機能構成を実現させるための制御プログラムを、図３（Ｂ）のような物理構成を持ち、印刷装置に接続された既存のコンピュータ（ＣＰＵなど）が実行できるように適用することで、上記実施形態、若しくは変形例に係るＭＦＰとして機能させることができる。
【０１１５】
このようなプログラムの配布方法は任意であり、例えば、メモリカード、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体に格納して配布できる他、インターネットなどの通信媒体を介して配布することもできる。また、再配置ＣＴＤ及び転置インデックス等の上記処理に必要なデータの一部又は全部は、外部サーバに記憶されており、通信機能によりこれらのデータを取得して上記処理を実行する構成も可能である。また、汎用のコンピュータではなく、ＣＰＵ又は専用チップと、記憶装置と、を備えた印刷機に装着可能な拡張ボードにこのようなプログラムをインストールしてもよい。
【０１１６】
以上の実施形態は例示であって、制限的なモノではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲での全ての変更が含まれることが意図される。
【符号の説明】
【０１１７】
１ 印刷システム
１０、１１ ＭＦＰ
１０Ａ 本体
１０ａ ハンドセット
１０ｂ 給紙デスク
１０ｃ 大容量給紙トレイ
１０ｄ キーボード
１０ｆ 中継ユニット
１０ｅ 小型フィニッシャ
１０ｇ パンチユニット
１０ｈ フィニッシャ
１０ｉ サドルフィニッシャ
１００ 制御コンピュータ
１０１ ＣＰＵ
１０２ ＲＡＭ
１０３ ＲＯＭ
１０４ Ｉ／Ｏ部
１０５ 外部記憶装置
１１０、１１１ 制御部
１１１０ 状態取得部
１１２０ 判別部
１１３０ 生成部
１１４０ 応答部
１２０ 記憶部
１３０ 通信部
１３１０ 受信部
１３２０ 送信部
１４０ Ｉ／Ｆ部
１４１０ 第１接続部
１４２０ 第２接続部
１５０ 操作部
１６０ 表示部
１７０ ＭＦＰ機能部
１７１０ スキャナ部
１７２０ 印刷部
１７３０ 給紙部
１７４０ 排紙部
２０、２１、２０ａ〜２０ｄ ＰＣ
２１０、２１１ 制御部
２１１０、２１１１ 要求生成部
２１２０ インストール部
２２０ 通信部
２２１０ 送信部
２２２０ 受信部
２３０ 記憶部
２４０ 操作部
２５０ 表示部
【図１】
2015006751.tif 000003
【図２】
2015006751.tif 000004
【図３】
2015006751.tif 000005
【図４】
2015006751.tif 000006
【図５】
2015006751.tif 000007
【図６】
2015006751.tif 000008
【図７】
2015006751.tif 000009
【図８】
2015006751.tif 000010
【図９】
2015006751.tif 000011
【図１０】
2015006751.tif 000012
【図１１】
2015006751.tif 000013
【図１２】
2015006751.tif 000014