(57)【要約】      （修正有）【課題】内部ネットワーク上にプリンタドライバの配信元となるネットワークサーバを設けることなく、最新バージョンのプリンタドライバを迅速に取得でき、これをプリンタの使用主体となるホスト装置に容易にインストールできる通信システムを提供する。【解決手段】プリンタ８０にＴＣＰ／ＩＰクライアント機能を拡張付与し、プリンタドライバの配信元となる外部サーバ装置９に、外部ネットワーク４１１経由で自発的にアクセスしてプリンタドライバをダウンロードし、さらに、ＴＣＰ／ＩＰサーバ機能により、プリンタドライバ記憶手段に記憶したプリンタドライバを第一のネットワーク４１０を介してホスト装置３に配信できるようにする。また、ダウンロードされたプリンタドライバのバージョンが、インストール済みのプリンタドライバのバージョンが古いホスト装置にのみ配信される。【選択図】図１
2008059239.tif 000002
【特許請求の範囲】
【請求項１】
プリンタと、該プリンタをネットワークプリンタとして使用するために、印刷データを生成して前記プリンタに送信するためのプリンタドライバがインストールされる複数のホスト装置と、ＴＣＰ／ＩＰに従うローカルエリアネットワークからなり、前記プリンタとホスト装置とを接続する第一のネットワークと、該第一のネットワークにルータを介して接続され、ＴＣＰ／ＩＰに従う外部ネットワークとして構成された第二のネットワークと、前記第二のネットワークに接続されるとともに前記プリンタドライバの配信元となる外部サーバー装置と、を備えるとともに、前記プリンタに、
プリンタドライバを記憶するプリンタドライバ記憶手段と、
当該プリンタを前記外部サーバー装置に対するＴＣＰ／ＩＰクライアントとして機能させるためのＴＣＰ／ＩＰクライアント機能付与手段と、
当該ＴＣＰ／ＩＰクライアント機能により、前記第一のネットワーク、前記ルータ及び前記第二のネットワークを介して前記外部サーバー装置にアクセスし、前記プリンタドライバをダウンロードして前記プリンタドライバ記憶手段に記憶するプリンタドライバダウンロード手段と、
前記プリンタを前記ホスト装置に対するＴＣＰ／ＩＰサーバとして機能させるためのＴＣＰ／ＩＰサーバ機能付与手段と、
前記ＴＣＰ／ＩＰサーバ機能により、前記プリンタドライバ記憶手段に記憶したプリンタドライバを前記第一のネットワークを介して前記ホスト装置に配信するプリンタドライバ配信手段と、が設けられ、
さらに、
前記プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報と、前記ホスト装置に既にインストールされているプリンタドライバのバージョン情報とを比較するプリンタドライババージョン比較手段と、
前記インストールされているプリンタドライバが、前記プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古いホスト装置に対してのみ、前記プリンタドライバ配信手段に対し、前記プリンタドライバ記憶手段に記憶したプリンタドライバを配信させるプリンタドライバ配信制御手段と、が設けられてなることを特徴とする通信システム。
【請求項２】
前記プリンタに、
複数の前記ホスト装置に各々インストールされているプリンタドライバのバージョン情報を前記第一のネットワークを介して前記ホスト装置から受信するプリンタドライババージョン情報取得手段と、
前記プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報を、前記ホスト装置から取得したプリンタドライバのバージョン情報と比較する前記プリンタドライババージョン比較手段と、
前記インストールされているプリンタドライバが、前記プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古いホスト装置に対してのみ、前記ＴＣＰ／ＩＰサーバ機能により、前記プリンタドライバ記憶手段に記憶したプリンタドライバを前記第一のネットワークを介して配信するプリンタドライバ配信手段と、
が前記プリンタドライバ配信制御手段とともに設けられてなる請求項１記載の通信システム。
【請求項３】
前記ホスト装置に、
前記プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報を、前記プリンタから前記第一のネットワークを介して取得するプリンタドライババージョン情報取得手段と、
取得した前記プリンタからのバージョン情報を、自身に既にインストールされているプリンタドライバのバージョン情報と比較する前記プリンタドライババージョン比較手段と、
前記インストールされているプリンタドライバが、前記プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古い場合にのみ、前記プリンタドライバ配信手段による前記プリンタからの前記プリンタドライバの配信を許容する前記プリンタドライバ配信制御手段と、
が設けられてなる請求項１記載の通信システム。
【請求項４】
前記プリンタドライバ記憶手段は、メディア装着用スロットと、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた不揮発性メモリからなり、該メディア装着用スロットに着脱可能に装着される着脱式記憶メディアとを備えた記憶装置として構成され、
前記プリンタドライバダウンロード手段は、前記プリンタドライバを前記外部サーバー装置からダウンロードして前記着脱式記憶メディアに記憶するとともに、
該着脱式記憶メディアに前記プリンタの機種を特定するプリンタ機種特定情報が書き込まれ、前記プリンタドライバ配信手段は、前記着脱式記憶メディアに書き込まれたプリンタ機種特定情報を参照し、前記ホスト装置のうち、当該プリンタ機種特定情報により特定されるプリンタのプリンタドライバがインストールされているものにのみ前記プリンタドライバを配信する請求項１ないし請求項３のいずれか１項に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ（以下「ＰＣ」とも称する）やワークステーション等をホスト装置としてこれにプリンタが接続された通信システムに関する。
【背景技術】
【０００２】
【特許文献１】特開平１１−２９６３２５号公報
【特許文献２】特開平８−３２８４２７号公報
【０００３】
パーソナルコンピュータ（ＰＣ）等からなるホスト装置から、画像や文書を印刷するための印刷データをプリンタに送信して印刷を行なう場合、ホスト装置とプリンタとをネットワーク接続し、ホスト装置とプリンタとの間で、そのネットワークのプロトコルに従う通信により印刷処理を実行できるようにしたネットワークプリンタシステムが使用されている（特許文献１）。ネットワークプリンタシステムを採用すると、１台（ないし複数台）のプリンタの、複数台のホスト装置による共有化を容易に実現できる利点がある。
【０００４】
特許文献１には、プリンタとこれを使用するホスト装置とネットワークサーバとを、オフィス等に接地された内部ネットワークで接続したプリンタシステムが開示されている。ホスト装置がネットワーク経由でプリンタを使用できるようにするには、印刷データを生成してプリンタに送信するためのプリンタドライバ（のソフトウェア）をホスト装置にインストールする必要がある。このプリンタドライバは、通常、プリンタ購入時にこれに標準添付されるＣＤ−ＲＯＭ等のプリンタドライバディスクに記憶された形で供給されることが多く、新しいホスト装置をネットワークに接続する場合は、使用するプリンタのプリンタドライバを、ホスト装置に設けられたＣＤ−ＲＯＭドライブ等からその都度インストールすることになる。しかし、この方法では、ユーザーがいちいちプリンタドライバディスクをホスト装置にセットしてインストール作業を行なわなければならず手間がかかる上、プリンタドライバディスクを紛失した場合は当然のことながらインストール作業ができなくなる欠点がある。
【０００５】
特許文献１においては、同じ内部ネットワークに接続されたネットワークサーバをプリンタドライバの配信元として利用し、ここにプリンタ側から定期的にアクセスして、新しいプリンタドライバが見つかれば自動インストールする技術が開示されている。これにより、ユーザーがプリンタドライバディスクをホスト装置にセットする手間が省け、また、プリンタドライバディスクを紛失しても新しいホスト装置にプリンタドライバを問題なくインストールできる。しかし、この方法では、プリンタドライバの配信元としてネットワークサーバを必ず内部ネットワーク上に設けなければならず、設備コストの高騰を招く問題がある。
【０００６】
そこで、特許文献１には、プリンタドライバを対応するプリンタ自身に格納しておき、新たなホスト装置（ＰＣ）がネットワークに接続された場合に、プリンタドライバを上記プリンタから内部ネットワーク経由でホスト装置にダウンロードし、インストールする技術が開示されている。これにより、特にネットワークサーバが設けられていない場合でも、プリンタ自身をサーバーとして新しいプリンタドライバをダウンロードでき、上記の問題を解決可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１においては、随時アップデートされるプリンタドライバをリアルタイムで入手するための技術的方法については何も検討されていないに等しい。例えば、プリンタ自身に装着されるＩＣカードから最新のプリンタドライバへのアップデートが可能な旨、特許文献１に開示されているが（段落００２４）、そのＩＣカードに書き込まれるべき最新のプリンタドライバをどのようにして入手するか、という、肝心の部分は全く不明である。
【０００８】
例えば、プリンタの登録ユーザーに対して、メーカーが新バージョンのプリンタドライバディスクを郵送等により配布することが従来行なわれていることを考慮すると、特許文献１では、ネットワーク管理者がそのプリンタドライバディスクからネットワークサーバに手動でコピーするか、あるいは、ＩＣカードにプリンタドライバを一旦コピーした後、プリンタに設けられたハードディスクに再コピーするかのいずれかのいずれかの手法が採用されているものと推測される。この場合、新バージョンのプリンタドライバディスクがユーザーの手元に届くまでに、郵送梱包の事務処理や配送所要日数により最終的なバージョンアップに相当の遅れが生ずるのは、いうまでもない。
【０００９】
さらに、特許文献１の通信システムにおいては、内部ネットワーク上に複数台のホスト装置が接続されている場合、それらのホスト装置が一斉にプリンタにアクセスしてプリンタドライバのダウンロードが競合的に行なわれると、内部ネットワークが輻輳してトラフィックが規制され、その間、プリンタでの印刷処理が不能に陥ってしまう問題がある。
【００１０】
なお、先行技術について補足説明すれば、特許文献１においては、ネットワークサーバをプリンタドライバの配信元として利用する態様についても、ここにプリンタ側から定期的にアクセスして、新しいプリンタドライバが見つかれば自動インストールする、といった内容が開示されているだけで（段落００１４）、そのネットワークサーバ内のプリンタドライバをどのようにして更新するか、については同様に全く検討されていない。また、特許文献１においては、新しいプリンタドライバが古いプリンタドライバとは異なるネットワークサーバに格納される状況も考慮して、プリンタドライバが格納されるネットワークサーバのＵＲＬとプリンタドライバのバージョン名とをプリンタに記憶しておき、新しいプリンタドライバが供給される場合に、そのプリンタ側の情報を更新する内容も開示されているが（段落００２５）、内部ネットワーク上のネットワークサーバがプリンタドライバの配信元となる状況に何ら変わりはない。
【００１１】
他方、特許文献２には、ＩＣカードリーダを有し、そのＩＣカードリーダからプログラムをダウンロードする機能を有した複写機が開示されているが、このダウンロードはＩＣカードリーダから複写機の内部メモリに向けて行なわれているに過ぎず、新しいバージョンのプリンタドライバをホスト装置に配信する概念や、あるいは、新しいプリンタドライバをその複写機自身が外部から取得する概念については何ら触れられていない。
【００１２】
本発明の課題は、内部ネットワーク上にプリンタドライバの配信元となるネットワークサーバを設けることなく、該内部ネットワーク上のホスト装置が新しいバージョンのプリンタドライバを迅速に取得できるとともに、複数のホスト装置がプリンタドライバを一斉にダウンロードすることによる内部ネットワークの輻輳を効果的に抑制できる通信システムを提供することにある。
【課題を解決するための手段及び発明の効果】
【００１３】
上記課題を解決するための本発明の通信システムは、
プリンタと、該プリンタをネットワークプリンタとして使用するために、印刷データを生成してプリンタに送信するためのプリンタドライバがインストールされる複数のホスト装置と、ＴＣＰ／ＩＰに従うローカルエリアネットワークからなり、プリンタとホスト装置とを接続する第一のネットワークと、該第一のネットワークにルータを介して接続され、ＴＣＰ／ＩＰに従う外部ネットワークとして構成された第二のネットワークと、第二のネットワークに接続されるとともにプリンタドライバの配信元となる外部サーバー装置と、を備えるとともに、プリンタに、
プリンタドライバを記憶するプリンタドライバ記憶手段と、
当該プリンタを外部サーバー装置に対するＴＣＰ／ＩＰクライアントとして機能させるためのＴＣＰ／ＩＰクライアント機能付与手段と、
当該ＴＣＰ／ＩＰクライアント機能により、第一のネットワーク、ルータ及び第二のネットワークを介して外部サーバー装置にアクセスし、プリンタドライバをダウンロードしてプリンタドライバ記憶手段に記憶するプリンタドライバダウンロード手段と、
プリンタをホスト装置に対するＴＣＰ／ＩＰサーバとして機能させるためのＴＣＰ／ＩＰサーバ機能付与手段と、
ＴＣＰ／ＩＰサーバ機能により、プリンタドライバ記憶手段に記憶したプリンタドライバを第一のネットワークを介してホスト装置に配信するプリンタドライバ配信手段と、が設けられ、
さらに、
プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報と、ホスト装置に既にインストールされているプリンタドライバのバージョン情報とを比較するプリンタドライババージョン比較手段と、
インストールされているプリンタドライバが、プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古いホスト装置に対してのみ、プリンタドライバ配信手段に対し、プリンタドライバ記憶手段に記憶したプリンタドライバを配信させるプリンタドライバ配信制御手段と、が設けられてなることを特徴とする。
【００１４】
本発明においてルータとは、第一のネットワークと第二のネットワークとの間に介在し、第一のネットワークと第二のネットワークとの間での通信パケットの転送を双方向に中継する装置を総称するものとする。
【００１５】
上記本発明においては、プリンタとホスト装置とを接続する第一のネットワークはローカルエリアネットワークであって、プリンタ及びホスト装置とともに、当該プリンタのユーザーサイドの施設内（企業の場合は一敷地内、個人の場合は一建物内）における私的ネットワークとして構築される。他方、その第一のネットワークにルータを介して接続される第二のネットワークは、プリンタユーザーを含む不特定多数のユーザーからのアクセスを前提とした、上記第一のネットワークよりも大規模な外部ネットワークとして構築される。この場合、第二のネットワークはインターネット等の公衆ネットワークとして構成することが可能であるが、インターネットのインフラ部分に共用化される法人名義の私的ネットワーク（例えば、地域ＩＰ網や、インターネットプロバイダネットワーク：この場合は、第二のネットワークも（巨大な）ローカルエリアネットワークとして構築されることとなる）として構成してもよい。
【００１６】
そして、プリンタドライバの配信元となる外部サーバー装置は、例えば、プリンタドライバの配信を行なうプリンタメーカー等によって管理され、第二のネットワークがインターネットである場合は、そのプリンタドライバのダウンロード元となるウェブサイトをなすインターネットサーバーである。インターネットを含め、本発明の第二のネットワークにて使用する通信のプロトコルは、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）である。
【００１７】
近年、インターネットの普及は目覚しいものがあり、新しいプリンタドライバのバージョンが作製されると、これがインターネット上のウェブサイトにてリアルタイムに公開されることが多くなってきている。この場合、プリンタを使用するホスト装置（ＰＣ）がインターネットに接続可能になっていれば、プリンタドライバを該インターネット経由でホスト装置にダウンロードしてこれにインストールできる。ホスト装置とプリンタとをローカルエリアネットワークにより接続して使用する場合は、ホスト装置は、ローカルエリアネットワークからルータを介して外部ネットワーク（例えば、インターネット）上のサーバー装置に接続することができる。ただし、ホスト装置が自らローカルエリアネットワーク及び外部ネットワークを経由して外部サーバー装置にアクセスし、プリンタドライバをダウンロードする方式では、ダウンロード処理により生ずる負荷のため、ホスト装置の使用が著しく制限される問題がある。
【００１８】
他方、従来のネットワークプリンタにおいては、印刷に直接関係するホスト装置とのローカルエリアネットワーク接続設定だけが技術的に着目されてきた。具体的には、ＴＣＰ／ＩＰに従うローカルエリアネットワークにおいて、プリンタ自身と、自身が接続されるローカルエリアネットワークとを特定するためのＩＰアドレスの設定情報だけが有効活用されるに留まっていた。しかし、外部ネットワーク（例えば、インターネット）もローカルエリアネットワークと同じＴＣＰ／ＩＰに従うものであることを考えれば、ローカルエリアネットワーク接続に使用するＩＰアドレス等の情報以外に、第一のネットワークと第二のネットワークとを相互接続するルータの特定情報（ＴＣＰ／ＩＰではゲートウェイ）も上記のプリンタに合わせて設定することが可能なはずである。本発明者は、その結果として、これまで全く考慮されていなかったネットワークプリンタから外部ネットワーク（インターネット）へのアクセスが可能となる点に着目した。
【００１９】
すなわち、本発明では、プリンタにＴＣＰ／ＩＰクライアント機能を拡張付与し、プリンタドライバの配信元となる外部サーバー装置に、第二のネットワーク（外部ネットワーク）経由で自発的にアクセスしてプリンタドライバをダウンロードし、さらに、ＴＣＰ／ＩＰサーバ機能により、プリンタドライバ記憶手段に記憶したプリンタドライバを第一のネットワークを介してホスト装置に配信できるようにした。また、ダウンロードされたプリンタドライバのバージョンが、各ホスト装置に既にインストール済みのプリンタドライバのバージョンと比較され、インストール済みのプリンタドライバのバージョンが古いホスト装置（つまり、プリンタドライバのバージョンアップが必要なホスト装置）にのみダウンロードされたプリンタドライバが配信されるようにした。その結果、以下のごとく、前述の課題をことごとく解決することができる。
【００２０】
（１）プリンタとホスト装置とを繋ぐローカルエリアネットワーク（第一のネットワーク）上に、プリンタドライバの配信元となるネットワークサーバを設ける必要がなくなり、その機能がプリンタに兼用されるので、ネットワークの構築コストを大幅に削減できる。
【００２１】
（２）上記（１）を前提として、プリンタは、自身のプリンタドライバを、印刷用のローカルエリアネットワーク（第一のネットワーク）から、さらにルータ及び外部ネットワーク（第二のネットワーク）を経由して、該プリンタドライバの配信元となる外部サーバー装置に自発的にアクセスしてこれをダウンロードできる。その結果、外部サーバー装置から外部ネットワーク上にアップロードされる最新のプリンタドライバをリアルタイムで取得でき、ホスト装置にその最新のプリンタドライバを滞りなくインストールすることができる。
【００２２】
（３）また、特許文献１のごとく、新しいプリンタドライバをいちいちＩＣカード等の記憶媒体にコピーする必要がなく、また、そのＩＣカードをプリンタに装着して読み取るための手順も完全に省略可能である。
【００２３】
（４）ローカルエリアネットワークに複数のホスト装置が接続されており、それらホスト装置が時系列的に競合してプリンタドライバをダウンロードし始めると、第二のネットワークへの通信負荷が大幅に増大し、他のホスト装置によるネットワークの利用（例えば、プリンタドライバのダウンロード以外の目的によるインターネットの利用など）に支障を来たすこともありえる。しかし、プリンタが自身に対応するプリンタドライバのダウンロードを、それら複数のホスト装置に成り代わり、代表して行なうことができるので、個々のホスト装置がプリンタドライバダウンロードのために第二のネットワークに競合してアクセスすることがなくなる。
【００２４】
（５）また、ＴＣＰ／ＩＰクライアントとしてプリンタドライバをダウンロードしたプリンタは、次に、ＴＣＰ／ＩＰサーバとなって、そのプリンタドライバを第一のネットワークを介してホスト装置に配信する。このとき、そのダウンロードされたプリンタドライバのバージョンが、各ホスト装置に既にインストール済みのプリンタドライバのバージョンと比較され、インストール済みのプリンタドライバのバージョンが古いホスト装置（つまり、プリンタドライバのバージョンアップが必要なホスト装置）にのみダウンロードされたプリンタドライバが配信されるので、バージョンアップが不要なホスト装置が配信先から除外される分だけ第一のネットワークの通信負荷を減ずることができる。その結果、複数のホスト装置によるプリンタドライバの一斉にダウンロード、ひいてはそれによる内部ネットワークの輻輳を効果的に抑制できる。
【００２５】
プリンタドライバのバージョンアップが必要なホスト装置にのみ、ダウンロードされたプリンタドライバを選択的に配信する具体的な方式としては、
（１）プリンタ側からホスト装置へプリンタドライバを自発的に配信する方式、及び、
（２）ホスト装置側からプリンタへプリンタドライバの配信を要請する方式、
との２通りがある。（１）の方式は、具体的にはプリンタに、
複数のホスト装置に各々インストールされているプリンタドライバのバージョン情報を第一のネットワークを介してホスト装置から受信するプリンタドライババージョン情報取得手段と、
プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報を、ホスト装置から取得したプリンタドライバのバージョン情報と比較するプリンタドライババージョン比較手段と、
インストールされているプリンタドライバが、プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古いホスト装置に対してのみ、ＴＣＰ／ＩＰサーバ機能により、プリンタドライバ記憶手段に記憶したプリンタドライバを第一のネットワークを介して配信するプリンタドライバ配信手段と、
をプリンタドライバ配信制御手段とともに設けることにより実現できる。
【００２６】
上記の構成によると、プリンタドライバのバージョン比較と、その比較結果に基づく、プリタンドライバの選択配信先となるホスト装置の特定がプリンタ側で全て自発的に行なわれ、ホスト装置側でのプリンタドライバの更新処理を大幅に単純化することができる。
【００２７】
他方、（２）の方式は、ホスト装置に、
プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報を、プリンタから第一のネットワークを介して取得するプリンタドライババージョン情報取得手段と、
取得したプリンタからのバージョン情報を、自身に既にインストールされているプリンタドライバのバージョン情報と比較するプリンタドライババージョン比較手段と、
インストールされているプリンタドライバが、プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古い場合にのみ、プリンタドライバ配信手段によるプリンタからのプリンタドライバの配信を許容するプリンタドライバ配信制御手段と、を設けることで実現できる。この方式では、プリンタは、自身がダウンロードしたプリンタドライバのバージョン情報を各ホスト装置に送信し、例えば、これを受けたホスト装置から、そのバージョン比較結果に基づく配信要請を受けた場合にのみ、当該プリンタドライバを配信するようにすればよいから、プリンタドライバを選択配信するためのアプリケーションをプリンタ側に設ける必要がなくなり、プリンタ側のソフトウェア構成を単純化することができる。
【００２８】
次に、プリンタドライバ記憶手段は、メディア装着用スロットと、ファイル単位による記憶データの読出し、書込み及び消去が可能とされた不揮発性メモリからなり、該メディア装着用スロットに着脱可能に装着される着脱式記憶メディアとを備えた記憶装置として構成することができる。プリンタドライバダウンロード手段は、プリンタドライバを外部サーバー装置からダウンロードして着脱式記憶メディアに記憶するものとできる。
【００２９】
この構成によると、予め不揮発性メモリを用意しておけば、これをプリンタのメディア装着用スロットに装着することで、ここにプリンタドライバを簡単にダウンロードすることができる。この場合、着脱式記憶メディアにプリンタの機種を特定するプリンタ機種特定情報を書き込み、プリンタドライバ配信手段は、着脱式記憶メディアに書き込まれたプリンタ機種特定情報を参照して、上記のホスト装置のうち、当該プリンタ機種特定情報により特定されるプリンタのプリンタドライバがインストールされているものにのみプリンタドライバを配信するように構成することができる。これにより、第一のネットワーク上で、配信元となるプリンタの（古いバージョンの）ドライバがインストールされているホスト装置にのみ、ダウンロードした新しいプリンタドライバが配信されるので、第一のネットワークの通信負荷軽減をさらに効果的に図ることができる。また、第一のネットワーク上に複数機種のプリンタが接続されている場合においても、着脱式記憶メディアに書き込まれたプリンタ機種特定情報を参照することで、自身に対応するプリンタドライバがインストールされているホスト装置を容易に特定でき、そのプリンタドライバの選択配信を問題なく行なうことができる。
【発明を実施するための最良の形態】
【００３０】
以下、適宜図面を参照して本発明の実施形態に係る通信システム１について説明する。なお、以下に説明する通信システム１の構成は、本発明を具現化するための単なる一例であり、本発明の要旨を変更しない範囲で構成を適宜変更できることは当然である。図１は、本発明の通信システムの概略構成を示すブロック図である。通信システム１は、  プリンタ８０と、該プリンタ８０をネットワークプリンタとして使用するホスト装置（パーソナルコンピュータ：以下、「ＰＣ］ともいう）３と、ＴＣＰ／ＩＰに従うローカルエリアネットワークからなり、プリンタ８０とホスト装置３とを接続する第一のネットワーク４１０と、該第一のネットワーク４１０にルータ８を介して接続され、ＴＣＰ／ＩＰに従う外部ネットワークとして構成された第二のネットワーク４１１と、第二のネットワーク４１１に接続されるとともにプリンタドライバの配信元となる外部サーバー装置９とを備える。
【００３１】
ルータ８は、第一のネットワーク４１０と第二のネットワーク４１１との間に介在し、第一のネットワーク４１０と第二のネットワーク４１１との間での通信パケットの転送を双方向に中継する。第一のネットワーク４１０はプリンタ８０のユーザーサイドの施設内（企業の場合は一敷地内、個人の場合は一建物内）における私的ネットワークとして構築される。他方、その第一のネットワーク４１０にルータ８を介して接続される第二のネットワーク４１１は、不特定多数のユーザーからのアクセスを前提とした上記第一のネットワーク４１０よりも大規模な外部ネットワークであり、本実施形態ではインターネットである。また、外部サーバー装置９は、例えば、プリンタ８０のメーカー等によって管理され、プリンタドライバのダウンロード元（配信元）となるウェブサイト（図面では「ダウンロードサイト」と表記している）をなすインターネットサーバーである。
【００３２】
ＰＣ３から第一のネットワーク４１０経由でプリンタ８０を使用するためには、各ＰＣ３に、印刷データを生成してプリンタ８０に送信するためのプリンタドライバをインストールする必要がある。本発明の通信システム１においては、プリンタ８０には、後述の各プログラムにより具現化される以下の機能実現手段が搭載されている。
・ＴＣＰ／ＩＰクライアント機能付与手段：外部サーバー装置９に対するＴＣＰ／ＩＰクライアントとして機能させる；
・プリンタドライバダウンロード手段：ＴＣＰ／ＩＰクライアント機能により、第一のネットワーク４１０、ルータ８及び第二のネットワーク４１１を介して外部サーバー装置９にとしてアクセスし、プリンタドライバをダウンロードして、プリンタ８０自身に設けられたプリンタドライバ記憶手段（後述の、ネットワークインストーラメディア１５）に記憶する；
・ＴＣＰ／ＩＰサーバ機能付与手段：プリンタ８０をＰＣ（ホスト装置）３に対するＴＣＰ／ＩＰサーバとして機能させる；
・プリンタドライババージョン情報取得手段：複数のＰＣ（ホスト装置）３に各々インストールされているプリンタドライバのバージョン情報を第一のネットワークを介してＰＣ（ホスト装置）３から受信する。
・プリンタドライババージョン比較手段：プリンタドライバ記憶手段に記憶したプリンタドライバのバージョン情報を、ホスト装置から取得したプリンタドライバのバージョン情報と比較する。
・プリンタドライバ配信手段：インストールされているプリンタドライバが、プリンタドライバ記憶手段に記憶されたプリンタドライバのバージョンよりも古いＰＣ（ホスト装置）３に対してのみ、ＴＣＰ／ＩＰサーバ機能により、該プリンタドライバ記憶手段に記憶したプリンタドライバを第一のネットワーク４１０を介して配信する。
【００３３】
図２は、プリンタ８０の外観構成を示すものである。該プリンタ８０は、いわゆる多機能装置（ＭＦＤ：Multi Function Device）であり、記憶装置をなすマルチリーダライタ２をプリンタに組み込んだプリンタ複合機として構成されている。具体的には、筐体下部に配設された印刷部８２と、その上部に配設されたスキャナ部８３と、原稿フィーダ８４を備えた原稿カバー８６と、装置上面の前方側に配置された操作パネル８５と、装置前面にメディア装着用スロット（以下、単に「スロット」ともいう）１６〜１９が露出するように配設されたマルチリーダライタ２とを一体的に備えてなり、プリンタ機能、スキャナ機能、コピー機能及びファクシミリ機能などを有する。
【００３４】
プリンタ８０は、ＰＣ３（図１）から送信された画像データや文書データを含む印刷データに基づき、印刷部８２において、画像や文書を所定の用紙に印刷する。また、印刷部８２は、マルチリーダライタ２によってメモリーカード（着脱式記憶メディア）から読み取られた上記印刷データに基づいても、画像や文書を所定の用紙に印刷する（直接印刷）。さらに、ＰＣ３と接続されて、ＰＣ３とマルチリーダライタ２に挿入されたメモリーカードとの間でデータ通信を行なうリーダライタ装置としても機能する。また、スキャナ部８３により読み取られた画像データをＰＣ３へ送信したり、スキャナ部８３で読み取った画像を印刷部８２を用いてコピーすることも可能である。
【００３５】
プリンタ８０のマルチリーダライタ２は、図１Ｂに示すように、メディア装着用スロット１６〜１９として、第１メモリーカード１１を挿入するための第１スロット１６と、第２メモリーカード１２を挿入するための第２スロット１７と、第３メモリーカード１３を挿入するための第３スロット１８と、第４メモリーカード１４を挿入するための第４スロット１９とを備えている。また、筐体前面には、表示部としての液晶パネル（ＬＣＤ）２１と、テンキーを含むキーボード９１と、ＬＣＤ２１上でのカーソル移動に使用するカーソル移動キー９２とが設けられている。また、液晶パネル（ＬＣＤ）２１に隣接する位置にも種々のメニューキー９３，９５が配設されている。該マルチリーダライタ２はＵＳＢ／ＳＣＳＩ型周辺機器として構成されている。
【００３６】
図２は、上記プリンタ８０の電気的構成を示すブロック図である。マルチリーダライタ２は、その内部に、各構成部を制御するＣＰＵ３４と、制御プログラムや種々のデータ等を格納するＲＯＭ３５（本実施形態では、不揮発性メモリ（フラッシュメモリメモリ等）にて構成している）と、ＣＰＵ３４による演算の作業領域となるＲＡＭ３７と、がバス３３を介して相互にデータ転送が可能なように接続されている。また、バス３３には、フラッシュメモリ制御用ＬＳＩ２３１を介して各スロット１６〜１９が接続されている。これらロット１６〜１９に着脱可能に装着される各第１〜第４メモリーカード１１〜１４は、例えば、コンパクトフラッシュ（ＣＦ：登録商標、第１メモリーカード１１）、スマートメディア（ＳＭ：登録商標、第２メモリーカード１２）、メモリースティック（ＭＳ：登録商標、第３メモリーカード１３）、ＳＤメモリーカード（ＳＤ：登録商標、第４メモリーカード１４）など、ＰＣ３によるデータの書込み、書き換え、消去、読出し、メディア装着確認等のデータアクセスが可能なフラッシュメモリを搭載したカード型記憶メディアである。
【００３７】
バス３３には、印刷部ドライバＬＳＩ１１３を介して印刷部８２が接続されている。スキャナ部１３２は、スキャナドライバＬＳＩ１１２を介して接続されている。また、モデムドライバＬＳＩ１１４が接続され、これに外部電話通信網などを接続するための電話線端子１３３が接続されている。他方、入力・表示用ＬＳＩ１１１を介して、前述のＬＣＤ２１、キーボード９１及びカーソル移動キー９２などが繋がれている。また、アクセスランプ制御用ＬＳＩ２３３を介してアクセスランプ１３４が接続されている。さらに、バス３３には、イーサネットＬＳＩ２３２（「イーサネット」は登録商標）、ローカルエリアネットワーク端子２４及び第一のネットワークを介してホスト装置であるＰＣ３が接続されている。複数のＰＣ３及びプリンタ８０は第一のネットワーク４１０内にてハブ７により相互接続されている（図１参照）。
【００３８】
ＲＯＭ３５には、印刷部８２の動作制御を司るプログラム、スキャナ部１３２の動作制御を司るプログラム、モデム１１４を介したファックス通信制御を司るプログラム、及び、キーボード９１あるいはカーソル移動キー９２（及び、図３では図示を略しているが、メニューキー９３，９５及び実行キー９４なども含む）からの入力制御や、ＬＣＤ２１への表示出力を司るプログラム、さらに、マルチリーダライタ２の動作制御プログラムが格納され、ＣＰＵ３４は、これらプログラムを、ＲＡＭ３７を実行エリアとして実行することで、プリンタ複合機としての総合的な動作制御を行なう（これらのプログラムは周知部分なので図示を省略している）。
【００３９】
また、ＲＯＭ３５には、第一のネットワーク（ローカルエリアネットワーク）４１０及び第二のネットワーク（インターネット）４１１を介した他のサーバー機器（外部サーバー９）ないしクライアント機器（ＰＣ３）と通信するための、ＴＣＰ／ＩＰのプロトコルエンジンを実現するための諸プログラムが格納されている。このうち、本発明の前述の機能実現手段に対応するプログラムは以下の通りである。
・ｈｔｔｐクライアントプログラム：プリンタ８０自身がｈｔｔｐクライアントとなってＴＣＰ／ＩＰネットワーク上のｈｔｔｐサーバー機器（ＵＲＬ（Universal Resource Locater）により特定されるサイト）にアクセスするためのプログラムであり、ＴＣＰ／ＩＰクライアント機能付与手段の主体をなす。
【００４０】
・インストーラダウンロードプログラム（以下、図面では、「ダウンロード」を略して「ＤＬ」とも記載する）：ＵＲＬが、外部サーバー装置９上のプリンタドライバのダウンロードサイトＵＲＬに固定された１種のサイト閲覧プログラムであり、後述のダウンロード専用メモリーカード１５内に圧縮プリンタドライバファイルと、その解凍及びＰＣ３へのインストールを司るプログラム実行ファイル（＝インストーラプログラム）とを、第二のネットワーク４１１（インターネット）、ルータ８及び第一のネットワーク（ローカルエリアネットワーク）４１０を介して上記ダウンロードサイト（外部サーバー装置９）からダウンロードする処理を司るものであり、プリンタドライバダウンロード手段の主体をなす。
【００４１】
・ｆｔｐサーバプログラム：プリンタ８０自身がｆｔｐサーバとなってＴＣＰ／ＩＰネットワーク上のｆｔｐクライアント機器に特定のファイルを配信（プログラム実行ファイルの場合は、そのプログラムの起動を含む：例えば、ＭＳ−ＤＯＳやＷｉｎｄｏｗｓ（商標名）、Ｗｉｎｄｏｗｓ ＮＴ（商標名）環境の場合は、．ＥＸＥファイル）するためのプログラムであり、ＴＣＰ／ＩＰサーバ機能付与手段の主体をなす。
【００４２】
ネットワークインストーラメディア１５内の上記インストーラプログラム（自己解凍型．ＥＸＥファイルである）は、ＰＣ３側から第一のネットワーク４１０を介して起動され、上記ｆｔｐサーバプログラムと協働して、プリンタ８０を使用するために必要なプリンタドライバファイルを圧縮解凍しつつＰＣ３に転送しインストールする処理を司る。従って、このインストーラプログラムがプリンタドライバ配信手段の主体をなす。
【００４３】
なお、第一のネットワーク４１０及び第二のネットワーク４１１を含むＴＣＰ／ＩＰネットワーク上にてプリンタ８０を特定するためのＩＰアドレスとサブネットマスクと、第二のネットワーク４１１への出入り口をなすルータ８を特定するためのゲートウェイもＲＯＭ３５に記憶されている。
【００４４】
次に、メディア装着用スロット１６〜１９には、印刷用ファイルを記憶したメモリーカード（着脱式記憶メディア）１１〜１４が装着され、当該装着されたメモリーカード１１〜１４から印刷用ファイルを読み出して、当該印刷用ファイルに基づく画像印刷を自身に設けられた印刷部にて直接実行するための直接印刷用スロットとして利用される。例えば、デジタルカメラの場合には、デジタルカメラで撮影した写真画像がＪＰＥＧ画像ファイルの形で、そのデジタルカメラのカードリーダに装着された固有の種別のメモリーカードに記憶・蓄積される。そこで、そのメモリーカードを抜き取ってプリンタ８０のスロット１６〜１９のうち対応するものに装着し、キーボード９１、カーソル移動キー９２あるいはメニューキー９３，９５の操作により、液晶パネル（ＬＣＤ）２１上にて「直接印刷」のメニューを選択して実行すれば、所望の写真画像ファイルを選んで直接印刷を行なうことができる。
【００４５】
上記の４つの直接印刷用スロット１６〜１９は、本実施形態では、プリンタハードウェア構成を簡略化するために、ネットワークインストーラメディア１５を装着しプリンタドライバのダウンロードを行なうためのダウンロード用スロットに兼用されている。この場合、プリンタ８０で使用可能な複数種類のメモリーカード（ＣＦ，ＳＭ，ＭＳ，ＳＤ）の全種類をネットワークインストーラメディア１５とすることも可能であるし、一部種類のメモリーカードのみをネットワークインストーラメディア１５として採用できるように構成してもよい。本実施形態では、ＣＦ（コンパクトフラッシュ）をネットワークインストーラメディア１５として使用する場合を例にとる。
【００４６】
ネットワークインストーラメディア１５として使用されるメモリーカードには、該メモリーカードの固定領域に、当該メモリーカード１１〜１４がネットワークインストーラメディア１５であることを識別するためのインストーラ識別情報が書き込まれる。プリンタ８０のＲＯＭ３５には、ネットワーク（ＮＷ）インストーラメディア識別プログラムが格納されている。該プログラムはＣＰＵ３４により実行され、メディア装着用スロット１６〜１９に装着されたメモリーカード１１〜１４の固定領域にアクセスするとともに、該固定領域に有効なインストーラ識別情報が書き込まれている場合には、プリンタドライバダウンロード手段によるプリンタドライバのダウンロードを許可し、同じく有効なインストーラ識別情報が書き込まれていない場合に該ダウンロードを禁止するダウンロード制御手段の主体をなす。インストーラ識別情報を書き込んでおくことで、当該メモリーカード１１〜１４がネットワークインストーラメディア１５であることをプリンタ８０側で識別でき、万一、ネットワークインストーラメディア１５として意図しない他のメモリーカード１１〜１４がプリンタ８０に装着された場合でも、これにプリンタドライバが誤ってダウンロードされることがなくなる。
【００４７】
また、ネットワークインストーラメディア１５には、上記のインストーラ識別情報とともに、ダウンロードするべきプリンタドライバの適用対象となるプリンタ（つまり、ネットワークインストーラメディア１５が装着されるプリンタ）８０の機種を特定するプリンタ機種特定情報が書き込まれている。
【００４８】
また、ＲＯＭ３５にはネットワーク（ＮＷ）インストーラメディア作成プログラムが格納されている。このプログラムはＣＰＵ３４により実行され、メディア装着用スロット１６に装着されたメモリーカード１５の上記固定領域にインストーラ識別情報を書き込むことにより、該メモリーカード１５をネットワークインストーラメディアに変換するメディア変換手段の主体をなす。
【００４９】
本実施形態では、いずれの種別のメモリーカードも、ＡＮＳＩ（American National Standard Institute）に準拠したハードディスクフォーマットをエミュレーションする形でフォーマットが定められたものである。具体的には、図４に示すように、ファイル単位による記憶データの読出し、書込み及び消去が可能とされたデータ記憶エリア３０８と、該データ記憶エリア３０８内における各データファイルの占有エリアと、データファイルに占有されない空きエリアと、それらエリアのデータ記憶エリア３０８内での位置を特定可能に記述されたファイル管理情報を記憶するファイル管理情報記憶エリア３０７と、該ファイル管理情報記憶エリア３０７の先頭側に隣接したブートセクタ３０４とがメディア内に１つのみのパーティションエリアを構成するよう形成されている。ブートセクタ３０４は、当該パーティションエリアをブートディスクとして使用するためのイニシャルプログラムローダー（ＩＰＬ）の格納セクタとして確保される。また、ファイル管理情報記憶エリア３０７には、その先頭側から、データファイルの占有セクタ番号をファイル名と対応付けて記憶するファイルアロケーションテーブル（ＦＡＴ）の格納セクタ３０５と、データファイルのルートディレクトリの格納セクタ３０６とが確保される。また、カード（メディア）の先頭セクタを含む領域には、パーティションエリアにてイニシャルプログラムローダーの有無を検索し、これを起動するためのマスターブートプログラムと、メディア内のパーティション情報を記憶したパーティションテーブルとを格納するためのマスターブートレコード（ＭＢＲ）セクタ３０２が確保される。この方式を採用すると、ＡＮＳＩにより広範に普及しているハードディスクの規格インフラをメモリーカード１１〜１４にもそっくり適用でき、そのデータファイルの読み書き制御に係るソフトウェア開発の負担を大幅に軽減することができる。前述のインストーラ識別情報（及びプリンタ機種特定情報）は、マスターブートレコードセクタ３０２、ブートセクタ３０４及びデータ記憶エリア３０８のいずれかに書き込まれる。
【００５０】
図５は、マスターブートレコードセクタ３０２の構造を示すもので、上記のハードディスクフォーマットを踏襲したものであるから、ＯＳのブートシーケンスに必要なエリアが以下のごとく形成されている。すなわち、マスターブートレコードセクタ３０２の先頭には、前述のマスターブートプログラムの格納エリア３０２Ａと、パーティションテーブル３０２Ｂの格納エリアがそれぞれ形成されている。また、符号３０２Ｃは、マスターブートレコードセクタ３０２の有効性を識別するためのシグネチャである。一方、図６に示すように、ブートセクタ３０４は、先頭から、イニシャルプログラム開始位置へのジャンプを指令するジャンプコードの格納エリア３０４Ｊと、パーティション内のフォーマット情報の格納エリア３０４Ｂと、ブートプログラムの格納エリア３０４Ａとがこの順序で形成されている（符号３０４Ｃは、ブートセクタの有効性を識別するためのシグネチャである）。
【００５１】
このメモリーカード１５のパーティションエリア３１０が、仮にブートドライブ（つまり、起動ディスク）として設定されている場合、ＰＣ３におけるＯＳのブートシーケンスでは、ＰＣ３が立ち上がったあとＢＩＯＳが読み込まれ、続いてマスターブートレコードセクタ３０２へのアクセスが行なわれて、マスターブートプログラムが実行される。これにより、パーティションエリア３１０にてイニシャルプログラムローダーの有無が検索され、イニシャルプログラムローダーが見つかればこれを起動する。イニシャルプログラムローダーはＯＳ起動の起点となるもので、ハードウェアのチェックを行なった後、ＯＳの読み込みを行なうべく動作するものである。しかし、本実施形態では、メモリーカード（ネットワークインストーラメディア）１５（図３）は起動ディスクとして使用されず、マスターブートプログラムの格納エリア３０２Ａも、ブートプログラムの格納エリア３０４Ａも、いずれも空き領域としての活用が可能である。
【００５２】
ネットワークインストーラメディア１５へのプリンタドライバのダウンロード処理は、ＴＣＰ／ＩＰクライアント機能によりプリンタ８０が（ホスト装置３とは無関係に）単独で実行する。従って、インストーラ識別情報は、ＰＣ（ホスト装置）３側の支援（例えば、ＰＣ３のＯＳ上で動作するファイルシステムによる支援）を受けずとも、プリンタ８０内で閉じた処理にてネットワークインストーラメディア１５から読み出し可能にしておかなければならない点が重要である。具体的な方法は、以下の通りである。
【００５３】
まず、記憶エリアとして定義されていないパーティションエリアをブートディスクとして使用しない前提では、図５に示すように、マスターブートレコードセクタ３０２においてマスターブートプログラムの格納用として確保された空き領域３０２Ａに、インストーラ識別情報（及びプリンタ機種特定情報）を書き込むことができる（つまり、使用するメディアにシステム起動ディスクの機能を持たせない場合は、マスターブートプログラムを搭載する必要がない）。また、パーティションエリアをブートディスクとして使用しない前提にて、図６のブートセクタ３０４においては、イニシャルプログラムローダーも搭載の必要がないから、その格納用として確保された空き領域３０４Ａに、インストーラ識別情報（及びプリンタ機種特定情報）を書き込むこともできる。いずれの場合も、プリンタ８０自体に、上記固定されたセクタ番号が示すセクタにアクセスしてインストーラ識別情報（及びプリンタ機種特定情報）を読み出すインストーラ識別情報読出し手段を設けておく必要がある。該手段は、前述のネットワークインストーラメディア識別プログラムの実行により実現される。インストーラ識別情報（及びプリンタ機種特定情報）の書込みセクタは固定的に定められ（例えば、空き領域３０２Ａの先頭セクタ）、マスターブートプログラムが不存在であることを、その先頭の複数ビットの状態で確認できるようにしておき（例えばそれらビットが全て「０」）、これに続く特定ビットをインストーラ識別情報として使用することができる（例えば、該特定ビットが「０」であればネットワークインストーラメディア１５でないことを、同じく「１」であればネットワークインストーラメディア１５であることを示す）。
【００５４】
他方、図４に示すように、インストーラ識別情報は、固定ファイル名が付与されたデータファイル４００に含まれる形でデータ記憶エリア３０８に格納しておくこともできる。この場合、該固定ファイル名にて特定されるデータファイルの占有セクタ番号が、該固定ファイル名と対応付けた形で、ファイルアロケーションテーブル３０７に書き込まれる。そして、プリンタ８０には、上記固定ファイル名を指定してファイルアロケーションテーブル３０７上にてデータファイル４００の占有セクタ番号を検索し、専用のアプリケーションにて該データファイルを開くことによりインストーラ識別情報（及びプリンタ機種特定情報）を読み出すインストーラ識別情報読出し手段を設けておくことが必要である。この場合、前述のネットワークインストーラメディア識別プログラムを、該手段を機能実現するプログラムとして構築することになる。
【００５５】
次に、直接印刷用スロット（ここではスロット１６）は、プリンタドライバのダウンロード用スロット（ネットワークインストーラメディア１５が装着される）に兼用されている。従って、例えば、デジタルカメラで撮影した画像ファイルをすぐに直接印刷したい場合など、ネットワークインストーラメディア１５へのプリンタドライバのダウンロードが継続中に、印刷用ファイルを格納した別のメディアから直接印刷を実行したくなることがある。近年、プリンタドライバのデータサイズは肥大化の傾向にあり（例えば、メモリーカード１１〜１４に格納された圧縮データファイル状態であっても、１００〜１５０ＭＢ程度）、通信状況によりダウンロードの開始から完了までに５〜１５分程度の長時間を要する場合がある。そこで、本実施形態では、プリンタドライバを含むデータファイルの外部サーバー装置９からのダウンロードを、定期的にダウンロード休止期間を発生させる形で間欠的に実行するようにしている。これにより、サイズの大きいプリンタドライバをダウンロード中であっても、定期的にダウンロード休止期間が発生するので、そのダウンロード休止期間を利用してネットワークインストーラメディア１５をメディア装着用スロット１６〜１９から安全に抜き取ることができる。
【００５６】
なお、図３に示すように、プリンタ８０には、ダウンロード休止期間を識別するためのインジケータとしてアクセスランプ１３４が設けられており、ユーザーはダウンロード休止期間が到来しているか否かを、このアクセスランプ１３４の点灯状態（例えば、点灯中はアクセス中、消灯中は非アクセス中）容易に識別できる。本実施形態では、図２に示すように、メニューキー９３のうち、直接印刷用のメニューを表示する直接印刷キー９３が透光性樹脂により構成され、これに内蔵されたＬＥＤがアクセスランプ１３４に流用されている。なお、ダウンロード休止期間を利用してネットワークインストーラメディア１５を印刷用のメディアと交換し、その直接印刷が終了すれば、印刷用のメディアを抜き取ってネットワークインストーラメディア１５を再装着することにより、プリンタドライバのダウンロードを再開することができる。
【００５７】
図４に示すように、プリンタドライバデータファイルは一定データ量からなるセグメントファイル（ダウンロード単位ファイル）に区切られ、１つのセグメントファイルのダウンロードが終了する毎にダウンロード休止期間を発生させる形でダウンロードが実行される。外部サーバー装置９上にて、プリンタドライバデータファイルはインストーラプログラムファイルとともにソフト的に梱包された状態で圧縮され、さらに上記のセグメントファイルに分割されている（図４は、ダウンロード完了直後（ただし、後述のファイル結合前）の状態を示すものである）。また、プリンタドライバデータファイル内には、当該プリンタドライバのバージョン情報が書き込まれている。
【００５８】
セグメントファイルはダウンロードされる毎に順次メモリーカード１５に書き込まれる。そして、全てのセグメントファイルのダウンロードが完了すれば、図１３に示すように、該メモリーカード１５上でそれらセグメントファイルを結合する処理が行なわれる。具体的には、複数のセグメントファイルをダウンロードするに先立って、それらセグメントファイルのリスト情報を含んだ管理ファイルが外部サーバー装置９からダウンロードされる（図４）。図１２は、管理ファイルの内容を概念的に示すものである。セグメントファイルを全てダウンロードし終わる前にメモリーカード１５がスロット１６から一旦抜き取られた後、該メモリーカード１５が再度スロット１６に装着された場合は、ダウンロード済のセグメントファイルと、図１２の管理ファイルのリスト情報とを対比すれば、未ダウンロードのセグメントファイルを容易に特定できる。そして、当該未ダウンロードのセグメントファイルからダウンロードを再開することができる。なお、全てのセグメントファイルを結合して得られるファイルは、前述のごとく、プリンタドライバデータファイルとインストーラプログラムファイルとがソフト的に梱包された自己解凍型の圧縮ファイル（例えばＺＩＰファイル）である。
【００５９】
なお、図４に示すように、プリンタドライバのダウンロードに使用するメモリーカード（ネットワークインストーラメディア）１５には、ダウンロード済みの旧バージョンのプリンタドライバと、これからダウンロードしようとする新バージョンのプリンタドライバとの双方を格納できるよう、２つのプリンタドライバ格納エリア３０８Ａ，３０８Ｂが形成されている。これらのプリンタドライバ格納エリア３０８Ａ，３０８Ｂは、新バージョンのプリンタドライバ（図４ではバージョンＢ）のダウンロードが完了すれば、旧バージョンのプリンタドライバ（図４ではバージョンＡ）が消去され、以後、交互に入れ替わりながら、一方が新バージョンのプリンタドライバの格納エリア、他方が旧バージョンのプリンタドライバの格納エリアとして使用されることとなる。なお、旧バージョンのプリンタドライバは、新バージョンのプリンタドライバのダウンロードに万一失敗したときは、消去されずにメモリーカード１５上にバックアップ用として残される。また、外部サーバー装置９から、これからダウンロードしようとしているプリンタドライバのバージョン情報をまず取得し、これをメモリーカード１５上のプリンタドライバのバージョン情報と比較することにより、ダウンロード対象のプリンタドライバのバージョンが最新のものであるか否かを確認することができる。もし、バージョンが新しくない場合は、ダウンロード処理への移行が禁止される。
【００６０】
以下、本発明に関係する機能を中心に、通信システム１の使用方法及びその動作について、フローチャートを用いて説明する。図１４は、ネットワークインストーラメディアの作成処理の流れを示すものであり、メモリーカード１５をプリンタ８０の対応するスロット１６に装着する。プリンタ８０側ではメモリーカード１５を検出するに伴い、図８に示すように、液晶パネル２１に表示するメニューを、ネットワークインストーラメディア作成をメニュー項目に含むメモリーカード管理メニューに切り替える（図１４：Ｓ１０２）。なお、この状態で直接印刷キー９３を押すと、図９に示すように、直接印刷に関係したメニューに切り替わるようになっている。
【００６１】
図８の状態でネットワークインストーラメディア作成がメニュー選択されると（図１４：Ｓ１０３）、図１０に示すごとく、変換を実行するか否かの選択画面に切り替わり、挿入したメモリーカード１５は初期化の後にネットワークインストーラメディアに変換される旨の警告メッセージも合わせて出力される。そして、変換を選択すると、図１４のＳ１０６に進み、挿入したメモリーカード１５が初期化され、さらにＳ１０７に進んでインストーラ識別情報が書き込まれて処理は終了する（図１１は、変換中の液晶パネル２１の表示例を示すものである）。
【００６２】
次に、上記通信システムにおける処理の詳細について説明する。まず、スロット１６に装着されたメモリーカードを認識する。そして、該メモリーカードがネットワークインストーラメディア１５であるか否かを、書き込まれているインストーラ識別情報に基づいて判定する。ネットワークインストーラメディア１５でなかった場合は、この先のダウンロード処理に係るステップは実行せずに終了する。一方、ネットワークインストーラメディア１５であった場合は、以下、図１５の流れに従い処理を実行する。
【００６３】
Ｓ２０１では、装着されたネットワークインストーラメディア１５にプリンタ８０の機種特定情報を書き込む。次いでＳ２０２に進み、外部サーバー９（ダウンロードサイト）から最新のプリンタドライバをダウンロードする。
【００６４】
図１６は、そのダウンロード処理の詳細を示すものであり、Ｓ３０１にて外部サーバー９（ダウンロードサイト）からインストーラプログラムを含むプリンタドライバファイルのダウンロードを開始する。具体的にはＳ３０２で前述のセグメントファイルを１個ダウンロードした後、全セグメントファイルのダウンロードが完了した場合を除いてＳ３０４に進み、ダウンロード休止期間を発生させる（ここでは約３０秒）。このダウンロード休止期間が満了する際に、ネットワークインストーラメディア１５がスロット１６から抜かれたかどうかが確認される（Ｓ３０５）。そして、抜かれていた場合はＳ３０６に進み、ネットワークインストーラメディア１５が再度検出されるまで次のセグメントファイルのダウンロードを休止する。
【００６５】
一方、Ｓ３０５にてネットワークインストーラメディア１５が抜かれていなければＳ３０２に戻り、次のセグメントファイルを１個ダウンロードし、全セグメントファイルのダウンロードが完了するまで以下同様の処理を繰り返す。そして、Ｓ３０３にてダウンロードが完了すればＳ３０７に進み、そのプリンタドライバのダウンロードが最初のダウンロードである場合（つまり、ネットワークインストーラメディア１５内に古いプリンタドライバが存在していない場合）はＳ３０９に進み、プリンタドライバのダウンロードが完了した通知情報を、例えば印刷出力する（あるいは、液晶パネル２１に表示してもよい）。また、最初のダウンロードでなく、古いバージョンのプリンタドライバ（及びインストーラ）が既にダウンロード済であった場合はＳ３０８に進み、その古いプリンタドライバ（及びインストーラ）を削除した後、Ｓ３０９に進む。なお、新旧のプリンタドライバを双方ともに格納できるサイズのメモリーカードを使用しない場合は、ダウンロード済みの古いバージョンのプリンタドライバを予め消去してから、最新のプリンタドライバのダウンロードを実行するように構成してもよい。
【００６６】
図１５に戻り、以下は、プリンタ８０のｆｔｐサーバー機能を用いてネットワークインストーラメディア１５からＰＣ３にプリンタドライバを配信（インストール）する処理となる。まず、第一のネットワーク４１０を介して各ＰＣ３に、個々にインストールされているプリンタドライバのバージョン情報の送信命令を、プリンタ機種特定情報とともに送信する。図１７は、ＰＣ３側の処理の流れを示すものであり、Ｓ４０１で該送信命令とプリンタ機種特定情報とを受け、プリンタ機種特定情報が特定するプリンタ用のもので既にインストールされているプリンタドライバが存在すれば、Ｓ４０２にて、そのバージョン情報をプリンタ８０に送り返す。もし、プリンタ機種特定情報が特定するプリンタ用のプリンタドライバが存在しない場合は、該プリンタドライバが存在しないことを示すステータスをプリンタ８０に返す。
【００６７】
図１５に戻り、プリンタ８０側では、Ｓ２０３でＰＣ３からのバージョン情報を受信・取得する（なお、上記のごとくプリンタ８０からの送信要求を受けてＰＣ３がバージョン情報をプリンタ８０に返すのではなく、ＰＣ３が自発的に（例えば定期的に）プリンタ８０にバージョン情報を送信するように構成してもよい）。そして、Ｓ２０４では、全てのＰＣ３からバージョン情報を取得しているか（つまり、全てのＰＣ３につき、プリンタドライバのバージョンの確認が終了し、必要なＰＣ３についてはそのプリンタドライバのバージョン更新が終了しているか）を確認する。取得していなければＳ２０５に進み、図１８に示すように、プリンタ８０側でダウンロードした最新プリンタドライバのバージョンと、当該ＰＣ３にインストールされているプリンタドライバのバージョンとの比較結果を示す情報を、プリンタ８０の液晶パネル２１（表示手段）に表示する。それぞれの具体的なバージョン名を並列表示するとともに、対応するＰＣ３におけるプリンタドライバのバージョン更新を行なうか否かを意思確認するメッセージを表示している。
【００６８】
なお、バージョン更新は、ＰＣ３にインストールされたプリンタドライバが、プリンタ８０側でダウンロードした最新プリンタドライバよりもバージョンが古い場合に限り可能とされており（図１５：Ｓ２０６）、具体的には、次のいずれかの方式を採用することができる。
（１）ＰＣ３にインストールされたプリンタドライバのバージョンが古くない場合は、バージョン比較結果自体を表示しない（当然、更新処理へも移行もできない）。
（２）ＰＣ３にインストールされたプリンタドライバのバージョンの新旧によらず、バージョン比較結果は必ず表示し、ＰＣ３にインストールされたプリンタドライバのバージョンが古ければ、バージョン更新の意思確認を行なう入力画面（図１０）に移行させる。ＰＣ３にインストールされたプリンタドライバのバージョンが古くなければ、バージョン更新の意思確認を行なう入力画面は表示しない。
【００６９】
例えば、（２）の場合、ユーザーはこの表示を見て、バージョン更新を行なうか否かを、テンキー９１等からの入力により選択する（ここでは、「１」が「更新を行なう」、「２」が「更新を行なわない」）。そして、「更新を行なう」が選択されれば、図１５のＳ２０７に進み、ダウンロードしたプリンタドライバファイルを対応するＰＣ３に送信するとともに、Ｓ２０８でＰＣ３にプリンタドライバの更新情報を送信する。
【００７０】
ＰＣ３側では、図１７のＳ４０３にてプリンタドライバファイルを受信し、さらに、Ｓ４０４にてプリンタドライバの更新情報を受信する。ＰＣ３には、このとき、図２０に示すように、新しいプリンタドライバが存在する旨を通知するメッセージが表示されるので、ユーザーはプリンタドライバを実際に更新するか否かを選択する入力を行なう（Ｓ４０５）。そして、「更新する」が選択された場合は、Ｓ４０６に進み、受信したプリンタドライバファイルにてインストール済みの古いプリンタドライバを更新する処理を行なう。以下、各ＰＣ３について上記の処理を繰り返し行なうことになる。プリンタドライバの更新は、上記のごとく、既にインストールされているプリンタドライバが、プリンタ８０側でダウンロードした最新プリンタドライバよりもバージョンが古い場合に限り実行されるので、結果として第一のネットワークの通信負荷を大幅に軽減することができる。
【００７１】
なお、上記の処理では、プリンタ８０は、各ＰＣ３からプリンタドライバのバージョン情報を受け取る毎に、自分がダウンロードしたプリンタドライバのバージョン情報と比較し、プリンタドライバの更新処理を随時行なうようにしていたが、各ＰＣ３からプリンタドライバのバージョン情報だけを先に取得し、更新の必要なＰＣ３へのプリンタドライバの配信をその後で一括して行なうように処理することも可能である。この場合、図１９に示すように、更新対象のＰＣ３を一覧表示するようにし、例えば、それらＰＣ３についてプリンタドライバの更新処理を一括して行なうモード（図１９では番号「１」）が選択できるようにしておくと便利である。また、それらＰＣ３について、予め選択したＰＣ３についてのみプリンタドライバの更新処理を行なうモード（図１９では番号「２」）を選択できるようにしてもよい。この場合は、例えば、図１８に示すように個々のＰＣ３毎に、プリンタドライバを更新するか否かを逐次選択できるように構成することができる。
【００７２】
また、上記処理とは異なり、ＰＣ３側で図２１に示すような流れの処理を行なってもよい。すなわち、Ｓ５０１にて、プリンタ８０がダウンロードしたプリンタドライバのバージョン情報をＰＣ３側でプリンタ８０から取得し、Ｓ５０２では、該ＰＣ３側で、自身に既にインストールされているプリンタドライバのバージョン情報との比較を行なう。そして、Ｓ５０３にて、自身にインストールされているプリンタドライバが古い場合はＳ５０４に進み、図２０と同様のメッセージをＰＣ３に表示する（他方、自身にインストールされているプリンタドライバが古くない場合は、処理を終了する）。Ｓ５０５では、ユーザーがプリンタドライバを実際に更新するか否かを選択する入力を行なう。そして、「更新する」が選択されるとＳ５０６に進み、ＰＣ３からプリンタ８０へ、ダウンロードしたプリンタドライバの送信要求命令が出され、これを受けてプリンタ８０から該プリンタドライバが対応するＰＣ３へ送信され（Ｓ５０６）、ＰＣ３にインストールされているプリンタドライバが更新される。
【００７３】
なお、プリンタ８０においては、図２及び図３に示すように、ネットワークインストーラメディア１５を装着し、プリンタドライバのダウンロードを行なうためのダウンロード用スロット１５を、直接印刷用スロット１６〜１９とは別に設けることもできる。図２に示すように、このダウンロード用スロット１５は、普段頻繁には触らないプリンタ８０の背面側に設けておき、ネットワークインストーラメディア１５を常時装着しておくことが望ましい（本実施形態では、ネットワークインストーラメディア１５を悲壮着磁においては、ダウンロード用スロット１５はカバー５０により塞がれるようになっている）。
【００７４】
この場合、プリンタドライバデータファイルの外部サーバー装置９からのダウンロードを、プリンタ８０側での意図的なダウンロード休止期間を発生させない形で一括して行なうことができる。具体的には、図１６において一点鎖線で囲った処理ルーチンＳＢ（Ｓ２０４〜Ｓ２０８）を全て省略することが可能である。
【００７５】
上記の構成では、プリンタドライバのダウンロードと直接印刷処理とが競合する場合は、両処理を並列に実行することも可能であるが、直接印刷自体はダウンロード処理の影響を受けて印刷完了までに余分な時間がかかってしまう可能性がある。そこで、ダウンロード用スロットにおいてプリンタドライバのダウンロードを実行中に、直接印刷用スロット１６〜１９を利用した直接印刷処理が割り込む場合に、ダウンロード用スロット１１５でのプリンタドライバのダウンロードを一時中断し、直接印刷処理を優先して実行するとともに、直接印刷処理が完了することを条件としてプリンタドライバのダウンロードを再開するように構成することもできる。このようにすると、直接印刷中はプリンタドライバのダウンロード処理が停止するので、印刷処理を迅速に完了することができる。
【００７６】
この場合、プリンタドライバのダウンロード中断は、直接印刷用スロット１６における印刷用メディア１１の装着検出をトリガーとして行なってもよいし、印刷用メディア１１の装着後にプリンタ８０側にて直接印刷のコマンド実行をトリガーとして行なってもよい。また、ダウンロード中断を可能とするために、前述のごとく、プリンタドライバデータファイルを（外部サーバー側で）ダウンロード単位ファイルに分割しておき、ダウンロード単位ファイル同士の切れ目をダウンロード中断のタイミングとして利用してもよいし、中断を欲する任意のタイミングで、プリンタドライバデータファイルをその都度分割処理するようにしてもよい。
【図面の簡単な説明】
【００７７】
【図１】本発明の通信システムの全体構成の概略を示すブロック図。
【図２】本発明の通信システムに適用されるプリンタの一例を示す斜視図。
【図３】プリンタの電気的構成の一例を示すブロック図。
【図４】メモリーカードのセクタ構造の概念図。
【図５】マスターブートレコードセクタの概念図。
【図６】イニシャルプログラムローダー格納用セクタの概念図。
【図７】プリンタにおけるテスト印刷のメニュー表示画面の一例を示す図。
【図８】同じくメディア管理メニュー表示画面の一例を示す図。
【図９】同じく直接印刷メニュー表示画面の一例を示す図。
【図１０】ネットワークインストーラメディアの作成メニューを実行する際の表示画面の一例を示す図。
【図１１】図１０に続く表示画面の図。
【図１２】管理ファイルの概念図。
【図１３】セグメントファイルの結合処理の概念図。
【図１４】ネットワークインストーラメディアの作成処理の流れを示すフローチャート。
【図１５】プリンタドライバのインストールに係るプリンタ側の処理の流れを示すフローチャート。
【図１６】ネットワークインストーラメディアを用いたプリンタドライバのダウンロード処理の流れを示すフローチャート。
【図１７】図１５に対応するＰＣ側の処理の流れを示すフローチャート。
【図１８】プリンタドライバ更新処理を実行するか否かを確認するための、プリンタ側の第一表示例を示す図。
【図１９】同じく第二表示例を示す図。
【図２０】プリンタドライバ更新処理を実行するか否かを確認するための、ＰＣ側の表示例を示す図。
【図２１】ＰＣ側の処理の別実施例を示すフローチャート。
【符号の説明】
【００７８】
１  通信システム
２  マルチリーダライタ
３  ＰＣ（ホスト装置）
８  ルータ
９  外部サーバー装置
１１  第１メモリーカード（着脱式記憶メディア）
１２  第２メモリーカード（記憶媒体）
１３  第３メモリーカード（記憶媒体）
１４  第４メモリーカード（記憶媒体）
１５  ネットワークインストーラメディア
１６〜１９  メディア装着用スロット
８０  プリンタ
３００  プリンタドライバインストールディスク
４１０  第一のネットワーク
４１１  第二のネットワーク
【図１】
2008059239.tif 000003
【図２】
2008059239.tif 000004
【図３】
2008059239.tif 000005
【図４】
2008059239.tif 000006
【図５】
2008059239.tif 000007
【図６】
2008059239.tif 000008
【図７】
2008059239.tif 000009
【図８】
2008059239.tif 000010
【図９】
2008059239.tif 000011
【図１０】
2008059239.tif 000012
【図１１】
2008059239.tif 000013
【図１２】
2008059239.tif 000014
【図１３】
2008059239.tif 000015
【図１４】
2008059239.tif 000016
【図１５】
2008059239.tif 000017
【図１６】
2008059239.tif 000018
【図１７】
2008059239.tif 000019
【図１８】
2008059239.tif 000020
【図１９】
2008059239.tif 000021
【図２０】
2008059239.tif 000022
【図２１】
2008059239.tif 000023