(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】サーバー及び印刷システム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240910BHJP
B41J 29/38 20060101ALI20240910BHJP
【FI】
G06F3/12 332
G06F3/12 303
G06F3/12 384
G06F3/12 385
B41J29/38 204
(21)【出願番号】P 2020135714
(22)【出願日】2020-08-11
【審査請求日】2023-07-31
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】100104710
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【氏名又は名称】井上 一
(74)【代理人】
【識別番号】100124682
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100166523
【氏名又は名称】西河 宏晃
(74)【代理人】
【識別番号】100187539
【氏名又は名称】藍原 由和
(72)【発明者】
【氏名】古田 泰大
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2020-087294(JP,A)
【文献】特開2011-076437(JP,A)
【文献】特開2012-234444(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
(57)【特許請求の範囲】
【請求項1】
クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、
少なくとも1つの給紙装置を有する印刷装置とUSB(Universal Serial Bus)規格による通信を行う第2インターフェイスと、
前記第1インターフェイス及び前記第2インターフェイスの制御を行う制御部と、
記憶部と、
を含み、
前記制御部は、
前記第2インターフェイスを介して、前記印刷装置の前記給紙装置に格納されているメディアのメディア情報を取得し、取得した前記メディア情報を前記記憶部に記憶する制御を行い、
前記第1インターフェイスを介して前記クライアントから前記メディア情報の取得要求を受信したとき、前記記憶部から前記メディア情報を読み出し、読み出した前記メディア情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行
い、
前記制御部は、
前記第1インターフェイスを介して、前記クライアントから印刷データを受信し、
受信した前記印刷データを、第1~第n(nは2以上の整数)の印刷データに分割し、
第i(iは1≦i<nを満たす整数)の印刷データを送信した後、前記印刷装置への前記メディア情報の取得コマンドの送信及び前記メディア情報の受信を行い、前記メディア情報の受信後に第i+1の印刷データを送信することを特徴とするサーバー。
【請求項2】
請求項1において、
前記制御部は、
前記第1~第nの印刷データ
を、前記取得コマンドの送信間隔よりも短い期間で送信可能なデータ量に調整
することを特徴とするサーバー。
【請求項3】
クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、
少なくとも1つの給紙装置を有する印刷装置とUSB(Universal Serial Bus)規格による通信を行う第2インターフェイスと、
前記第1インターフェイス及び前記第2インターフェイスの制御を行う制御部と、
記憶部と、
を含み、
前記制御部は、
前記第2インターフェイスを介して、前記印刷装置の前記給紙装置に格納されているメディアのメディア情報を取得し、取得した前記メディア情報を前記記憶部に記憶する制御を行い、
前記第1インターフェイスを介して前記クライアントから前記メディア情報の取得要求を受信したとき、前記記憶部から前記メディア情報を読み出し、読み出した前記メディア情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行
い、
前記制御部は、
前記第1インターフェイスを介して、前記クライアントにより第1~第n(nは2以上の整数)の印刷データに分割された印刷データを前記クライアントから受信し、
第i(iは1≦i<nを満たす整数)の印刷データを送信した後、前記印刷装置への前記メディア情報の取得コマンドの送信及び前記メディア情報の受信を行い、前記メディア情報の受信後に第i+1の印刷データを送信することを特徴とするサーバー。
【請求項4】
請求項
3において、
前記制御部は、
前記クライアントにより前記取得コマンドの送信間隔よりも短い期間で送信可能なデータ量に調整され
た前記第1~第nの印刷データを、受信することを特徴とするサーバー。
【請求項5】
請求項1
乃至4のいずれか一項において、
前記制御部は、
前記クライアントから前記印刷装置の探索要求を受信したとき、USB接続している前記印刷装置に関する印刷装置情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行うことを特徴とするサーバー。
【請求項6】
請求項1
乃至5のいずれか一項において、
前記印刷装置は、複数の前記給紙装置を含み、
前記制御部は、
前記第2インターフェイスを介して、複数の前記給紙装置の各給紙装置に格納されている前記メディアに関する前記メディア情報を取得する制御を行うことを特徴とするサーバー。
【請求項7】
請求項1乃至
6のいずれか一項において、
前記制御部は、
前記第1インターフェイスを介して、前記クライアントから印刷データを受信し、
前記制御部は、
前記印刷データの送信よりも、前記メディア情報の取得を優先的に実行するように、前記第2インターフェイスを制御することを特徴とするサーバー。
【請求項8】
請求項1乃至
6のいずれか一項において、
前記制御部は、
前記第1インターフェイスを介して、前記クライアントから印刷データを受信した場合であっても、
前記印刷装置に前記メディア情報の取得コマンドを送信してから、前記メディア情報を取得するまでの期間において、前記印刷データを前記印刷装置に送信しないことを特徴とするサーバー。
【請求項9】
請求項1乃至
8のいずれか一項において、
前記制御部は、
前記第2インターフェイスを介して前記メディア情報を取得したとき、取得した前記メディア情報と、前記記憶部に記憶された過去の前記メディア情報との比較処理に基づいて、前記メディア情報のバージョン情報の管理を行うことを特徴とするサーバー。
【請求項10】
請求項
9において、
前記制御部は、
前記第1インターフェイスを介して前記クライアントに前記バージョン情報を送信し、前記バージョン情報に基づいて、前記クライアントから前記メディア情報の取得要求を受信した場合に、前記メディア情報を送信することを特徴とするサーバー。
【請求項11】
少なくとも1つの給紙装置を有する印刷装置と、
サーバーを含み、
前記サーバーは、
クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、
前記印刷装置とUSB(Universal Serial Bus)規格による通信を行う第2インターフェイスと、
前記第1インターフェイス及び前記第2インターフェイスの制御を行う制御部と、
記憶部と、
を含み、
前記制御部は、
前記第2インターフェイスを介して前記印刷装置の前記給紙装置に格納されているメディアのメディア情報を取得し、取得した前記メディア情報を前記記憶部に記憶する制御を行い、
前記第1インターフェイスを介して前記クライアントから前記メディア情報の取得要求を受信したとき、前記記憶部から前記メディア情報を読み出し、読み出した前記メディア情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行
い、
前記制御部は、
前記第1インターフェイスを介して、前記クライアントから印刷データを受信し、
受信した前記印刷データを、第1~第n(nは2以上の整数)の印刷データに分割し、
第i(iは1≦i<nを満たす整数)の印刷データを送信した後、前記印刷装置への前記メディア情報の取得コマンドの送信及び前記メディア情報の受信を行い、前記メディア情報の受信後に第i+1の印刷データを送信することを特徴とする印刷システム。
【請求項12】
少なくとも1つの給紙装置を有する印刷装置と、
サーバーを含み、
前記サーバーは、
クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、
前記印刷装置とUSB(Universal Serial Bus)規格による通信を行う第2インターフェイスと、
前記第1インターフェイス及び前記第2インターフェイスの制御を行う制御部と、
記憶部と、
を含み、
前記制御部は、
前記第2インターフェイスを介して前記印刷装置の前記給紙装置に格納されているメディアのメディア情報を取得し、取得した前記メディア情報を前記記憶部に記憶する制御を行い、
前記第1インターフェイスを介して前記クライアントから前記メディア情報の取得要求を受信したとき、前記記憶部から前記メディア情報を読み出し、読み出した前記メディア情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行
い、
前記制御部は、
前記第1インターフェイスを介して、前記クライアントにより第1~第n(nは2以上の整数)の印刷データに分割された印刷データを前記クライアントから受信し、
第i(iは1≦i<nを満たす整数)の印刷データを送信した後、前記印刷装置への前記メディア情報の取得コマンドの送信及び前記メディア情報の受信を行い、前記メディア情報の受信後に第i+1の印刷データを送信することを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバー及び印刷システム等に関する。
【背景技術】
【0002】
従来、プリントサーバー等のデバイスサーバーが広く知られている。デバイスサーバーは、USB(Universal Serial Bus)等を用いて接続されたデバイスの情報を取得し、取得した情報に基づいて、デバイスが有する機能をネットワーク上のクライアントに提供する。
【0003】
例えば特許文献1には、デバイスをネットワーク上のクライアントPC(Personal Computer)で共用する場合の通信制御手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の手法では、デバイスサーバーは、印刷装置等のデバイスの情報をクライアントPCに提供することが可能である。ただし特許文献1のデバイスサーバーは、動的に変動する状態を提供していない。動的に変動する状態には、用紙サイズ等のメディア情報が含まれる。
【課題を解決するための手段】
【0006】
本開示の一態様は、クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、少なくとも1つの給紙装置を有する印刷装置とUSB規格による通信を行う第2インターフェイスと、前記第1インターフェイス及び前記第2インターフェイスの制御を行う制御部と、記憶部と、を含み、前記制御部は、前記第2インターフェイスを介して、前記印刷装置の前記給紙装置に格納されているメディアのメディア情報を取得し、取得した前記メディア情報を前記記憶部に記憶する制御を行い、前記第1インターフェイスを介して前記クライアントから前記メディア情報の取得要求を受信したとき、前記記憶部から前記メディア情報を読み出し、読み出した前記メディア情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行うサーバーに関係する。
【0007】
本開示の他の態様は、少なくとも1つの給紙装置を有する印刷装置と、サーバーを含み、前記サーバーは、クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、前記印刷装置とUSB規格による通信を行う第2インターフェイスと、前記第1インターフェイス及び前記第2インターフェイスの制御を行う制御部と、記憶部と、を含み、前記制御部は、前記第2インターフェイスを介して前記印刷装置の前記給紙装置に格納されているメディアのメディア情報を取得し、取得した前記メディア情報を前記記憶部に記憶する制御を行い、前記第1インターフェイスを介して前記クライアントから前記メディア情報の取得要求を受信したとき、前記記憶部から前記メディア情報を読み出し、読み出した前記メディア情報を、前記第1インターフェイスを介して前記クライアントに送信する制御を行う印刷システムに関係する。
【図面の簡単な説明】
【0008】
【
図5】クライアントが印刷装置を追加する際の処理を説明する図。
【
図6】印刷装置におけるメディア情報の取得処理を説明する図。
【
図9】サーバーが印刷装置からメディア情報を取得する処理を説明する図。
【
図11】クライアントがサーバーからメディア情報を取得する処理を説明する図。
【
図16】メディア情報取得処理と印刷データ送信処理の実行タイミングを説明する図。
【
図17】サーバーがメディア情報の変更を通知する場合の処理を説明する図。
【
図18】クライアントの起動時の処理を説明する図。
【発明を実施するための形態】
【0009】
以下、本開示の好適な実施形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された内容を不当に限定するものではなく、本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
【0010】
1.システム構成
図1は、本実施形態に係るサーバー100を含む印刷システム10の構成例を説明する図である。
図1に示すように、印刷システム10は、サーバー100と印刷装置200を含む。またサーバー100は、ネットワークNWを介してクライアント300と接続される。
【0011】
サーバー100は、デバイスサーバーであり、狭義には印刷装置200と接続されるプリントサーバーである。印刷装置200は、印刷機能を有する装置である。印刷装置200は、印刷機能を含む複数の機能を有する複合機(MFP:Multifunction Peripheral)であってもよい。クライアント300は、スマートフォンやタブレット端末等の携帯端末装置である。またクライアント300は、PC等の情報処理装置であってもよい。
【0012】
クライアント300上ではアプリケーションApp、ドライバーDri等のソフトウェアが動作する。例えばアプリケーションAppは、ドライバーDriのAPI(Application Programming Interface)を呼び出することによって、印刷設定の取得や、印刷の実行を要求する。アプリケーションAppの要求を実行するため、ドライバーDriはネットワークNW経由でサーバー100と通信する。
【0013】
サーバー100はUSB経由で印刷装置200と接続され、ネットワークNW経由でクライアント300と接続される。より具体的には、サーバー100は所与のプロトコルを用いてクライアント300との通信を行う。サーバー100は、クライアント300からの要求を実行するため、USB経由で印刷装置200にコマンドを送信し、応答を処理する。
【0014】
印刷装置200は、サーバー100からのコマンドに基づいて、情報の応答や、印刷を実行する。印刷装置200は、給紙装置270を含む。給紙装置270にはセンサー271が設けられており、印刷装置200はセンサー271の出力に基づいて、メディアがセットされたことを検出できる。またセンサー271は、メディアのサイズを検出可能であってもよい。
【0015】
なお、印刷システム10は
図1の構成に限定されず、他の構成要素を追加するなどの種々の変形実施が可能である。例えば、クライアント300や印刷装置200は複数であってもよい。また、アプリケーションAppがドライバーDriを介さずにサーバー100と通信する等、クライアント300上のソフトウェアの構成は異なってもよい。また、構成要素の省略や追加等の変形実施が可能である点は、後述する
図2~
図4等においても同様である。
【0016】
図1の構成を用いることによって、印刷装置200の機能を、ネットワークNWを介して接続されるクライアント300に提供することが可能になる。特に、印刷装置200が所与の通信プロトコルに対応していない場合であっても、サーバー100が当該プロトコルを用いた通信を実行可能であることによって、クライアント300は、印刷装置200を、当該プロトコルを用いた印刷機能を提供する機器として利用することが可能になる。
【0017】
ただし、プロトコルによっては、メディア情報が必須の場合がある。またプロトコルによっては、メディア情報は必須でないものの、メディア情報を使用することによって利便性が向上可能な場合がある。ここでのメディア情報は、印刷装置200が画像を形成する対象となる媒体に関する情報である。メディア情報は、メディアのサイズ情報や種類情報を含む。サイズ情報とは、A4、A5、L版等のメディアのサイズを表す情報である。種類情報とは、普通紙や写真用紙等のメディアの種類を表す情報である。なお、以下ではメディアが紙である例について説明するが、メディアは布、フィルム、PVC(polyvinyl chloride)等の他の媒体を含んでもよい。
【0018】
特許文献1等の従来手法では、デバイスサーバーは、動的に変化する情報である印刷装置200のメディア情報を収集、提供する手法を開示していない。また従来手法では、プロトコルと、当該プロトコルにおいて必須又は有用な情報との関係を考慮していない。そのため従来のデバイスサーバーは、例えばメディア情報が必須であるプロトコルによって、印刷装置200の機能を提供できない。或いは従来のデバイスサーバーは、上記プロトコルによって、印刷装置200の機能を提供できたとしても、利便性を高めることが難しい。
【0019】
これに対して、本実施形態に係るサーバー100は、印刷装置200のメディア情報を取得し、当該メディア情報をクライアント300に提供する。以下、
図2~
図4を用いて、サーバー100、印刷装置200、クライアント300の構成例を説明する。
【0020】
図2は、サーバー100の構成例を示す図である。サーバー100は、制御部110と、記憶部120と、第1インターフェイス130と、第2インターフェイス140を含む。
【0021】
制御部110は、第1インターフェイス130及び第2インターフェイス140の通信制御を行う。また制御部110は、記憶部120の書き込み及び読み出しの制御を行う。制御部110は、具体的にはプロセッサー又はコントローラーである。
【0022】
本実施形態の制御部110は、下記のハードウェアによって構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子によって構成できる。1又は複数の回路装置は例えばIC(Integrated Circuit)、FPGA(field-programmable gate array)等である。1又は複数の回路素子は例えば抵抗、キャパシター等である。
【0023】
また制御部110は、下記のプロセッサーによって実現されてもよい。本実施形態のサーバー100は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。ここでのメモリーは、記憶部120であってもよいし、他のメモリーであってもよい。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。メモリーは、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターによって読み取り可能な命令を格納しており、当該命令をプロセッサーが実行することによって、制御部110の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
【0024】
記憶部120は、データやプログラムなどの各種の情報を記憶する。制御部110、第1インターフェイス130、第2インターフェイス140は例えば記憶部120をワーク領域として動作する。記憶部120は、SRAM、DRAMなどの半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。記憶部120は、印刷装置200のメディア情報を記憶する。
【0025】
第1インターフェイス130は、ネットワークNWを介してクライアント300との通信を行うインターフェイスである。例えば、ここでのネットワークNWは、無線LAN(Local Area Network)である。第1インターフェイス130は、例えばIEEE802.11の規格に従った無線通信を行う無線通信デバイスである。第1インターフェイス130は、例えばWi-Fi方式の無線通信を行うWi-Fiチップである。ただしここでのネットワークNWは、イーサネット等の他のネットワークであってもよく、第1インターフェイス130が有線での通信を行うための通信インターフェイスであってもよい。
【0026】
本実施形態のサーバー100は、第1インターフェイス130を用いて、クライアント300との間で所与のプロトコルに従った通信を行う。なお当該プロトコルに従った通信を行うための通信制御は、制御部110によって行われる。ここでの制御部110は、第1インターフェイス130とは別体として設けられるプロセッサーであってもよいし、第1インターフェイス130の内部に設けられるプロセッサーであってもよいし、その両方の組み合わせであってもよい。
【0027】
第1インターフェイス130は、後述するように、クライアント300へのメディア情報の送信や、クライアント300からの印刷要求の受信等を行う。
【0028】
第2インターフェイス140は、USB規格に従った通信を行う通信インターフェイスであり、印刷装置200との通信を行う。第2インターフェイス140は、具体的にはUSBホストコントーラーやルートハブ等を含むUSBインターフェイスである。なおUSB規格はUSB2.0やUSB3.0等の種々の規格が知られている。本実施形態のUSBは、これらの種々の規格や、当該規格を発展させた規格を含むことが可能である。
【0029】
第2インターフェイス140は、後述するように、印刷装置200からのメディア情報の取得や、印刷装置200への印刷コマンド及び印刷データの送信等を行う。
【0030】
図3は、印刷装置200の構成の一例を示すブロック図である。印刷装置200は、処理部210、通信部220、表示部230、操作部240、印刷部250、記憶部260、給紙装置270を含む。
【0031】
処理部210は、印刷装置200の各部の制御を行う。例えば処理部210は、メインCPU、サブCPUなどの複数のCPUを含むことができる。メインCPUは、印刷装置200の各部の制御や全体的な制御を行う。サブCPUは、例えば印刷についての各種の処理を行うCPUである。
【0032】
本実施形態の処理部210は、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアによって構成される。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子によって構成できる。また処理部210は、ハードウェアを含むプロセッサーにより実現されてもよい。本実施形態の印刷装置200は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。プロセッサーは、CPU、GPU、DSP等、各種のプロセッサーを用いることが可能である。メモリーは、半導体メモリー、レジスター、磁気記憶装置、光学式記憶装置等である。
【0033】
通信部220は、USB規格に従った通信を行う。通信部220は、具体的にはUSBホストコントーラー等を含むUSBインターフェイスである。
【0034】
また通信部220は、Wi-Fi規格に準拠した無線通信を実行する無線通信デバイスを含んでもよい。ただし、印刷装置200の通信部220は、サーバー100が第1インターフェイス130を用いて実行する通信に用いられる上記所与のプロトコルに非対応であることが想定される。
【0035】
表示部230は、各種情報をユーザーに表示するディスプレイ等で構成される。操作部240は、ユーザーからの入力操作を受け付けるボタン等で構成される。なお、表示部230及び操作部240は、例えばタッチパネルにより一体的に構成してもよい。
【0036】
印刷部250は、印刷エンジンを含む。印刷エンジンとは、印刷対象となるメディアへの画像の印刷を実行する機械的構成である。印刷エンジンは、例えばインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、給紙装置270から搬送されたメディアに対して、吐出ヘッドからインクを吐出することによって、当該メディアに画像を印刷する。なお、印刷エンジンの具体的構成はここで例示したものに限られず、電子写真方式でトナーにより印刷するものでもよい。
【0037】
記憶部260は、データやプログラムなどの各種の情報を記憶する。処理部210や通信部220は例えば記憶部260をワーク領域として動作する。記憶部260は、半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。記憶部260は、メディア情報を記憶する。
【0038】
給紙装置270は、印刷に用いられるメディアが載置される装置である。給紙装置270は、例えば用紙カセットである。給紙装置270には、センサー271が設けられる。センサー271は、例えば給紙装置270にメディアがセットされたことを検出するセンサーである。或いはセンサー271は、メディアのサイズを検出可能なセンサーであってもよい。例えばセンサー271は、メディアの載置や搬送をガイドするための用紙ガイドの位置を検出することによって、メディアのサイズを検出する。
【0039】
図4は、クライアント300の構成の一例を示すブロック図である。クライアント300は、処理部310、無線通信部320、表示部330、操作部340、報知部350、記憶部360を含む。
【0040】
処理部310は、無線通信部320、表示部330、操作部340、報知部350、記憶部360の各部の制御を行う。処理部310は、具体的にはプロセッサー又はコントローラーである。クライアント300は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。例えば、メモリーはアプリケーションソフトウェアとドライバーソフトウェアを格納している。プロセッサーが当該ソフトウェアに従って動作することによって、
図1に示すアプリケーションAppやドライバーDriが実現される。
【0041】
無線通信部320は、少なくとも1つの無線通信デバイスにより実現される。無線通信デバイスは、例えば、Wi-Fi規格に準拠した無線通信を実行する無線通信デバイスである。ただし、クライアント300は、有線通信を実行する通信部を含んでもよい。
【0042】
表示部330は、各種情報をユーザーに表示するディスプレイ等で構成される。操作部340は、ユーザーからの入力操作を受け付けるボタン等で構成される。なお、表示部330及び操作部340は、例えばタッチパネルにより一体的に構成してもよい。報知部350は、ユーザーに対する報知を行う。報知部350は、例えば音による報知を行うスピーカーであってもよいし、振動による報知を行う振動部であってもよいし、これらの組み合わせであってもよい。
【0043】
記憶部360は、データやプログラムなどの各種の情報を記憶する。処理部310や無線通信部320は例えば記憶部360をワーク領域として動作する。記憶部360は、SRAM、DRAMなどの半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
【0044】
図2に示したように、本実施形態に係るサーバー100は、第1インターフェイス130と、第2インターフェイス140と、制御部110と、記憶部120を含む。第1インターフェイス130は、クライアント300と所与のプロトコルによる通信を行う。第2インターフェイス140は、印刷装置200とUSB規格による通信を行う。制御部110は、第1インターフェイス130及び第2インターフェイス140の制御を行う。
【0045】
なお、ネットワークを介した通信を実現する際には、複数のプロトコルが用いられる。複数のプロトコルとは、例えばTCP/IP(Transmission Control Protocol /Internet Protocol)群に含まれる種々のプロトコルである。本実施形態においても、例えばMAC(Medium Access Control)等のプロトコルを用いてイーサネットや無線LANによる通信を実現し、さらにその上で動作する複数のプロトコルを組み合わせることによって、クライアント300に印刷装置200の機能を提供するための通信を実現することが想定される。ここで、上記「所与のプロトコル」は、当該複数のプロトコルの組み合わせを表すものであってもよいし、そのうちの一部のプロトコルを表すものであってもよい。本実施形態における「所与のプロトコル」とは、メディア情報が必須又は有用であるプロトコルであればよく、具体的なプロトコルは種々の変形実施が可能である。
【0046】
制御部110は、第2インターフェイス140を介して、印刷装置200の給紙装置270に格納されているメディアのメディア情報を取得し、取得したメディア情報を記憶部120に記憶する制御を行う。また制御部110は、第1インターフェイス130を介してクライアント300からメディア情報の取得要求を受信したとき、記憶部120からメディア情報を読み出し、読み出したメディア情報を、第1インターフェイス130を介してクライアント300に送信する制御を行う。
【0047】
本実施形態の手法によれば、所与のプロトコルを用いてクライアント300との通信を行うサーバー100において、USB接続される印刷装置200のメディア情報を収集すること、及び、収集したメディア情報をクライアント300に提供することが可能になる。このようにすれば、印刷装置200自体が上記所与のプロトコルに対応していない場合であっても、クライアント300に対して当該プロトコルを用いて印刷装置200の機能を提供することが可能になる。その際、シンプルな印刷機能を提供するだけでなく、メディア情報を利用した機能を提供することが可能になる。例えばサーバー100を利用した印刷において、ユーザーが印刷操作を行う際に、印刷設定値のデフォルト値としてセットされている用紙サイズ及び用紙種類の少なくとも一方を表示できる。これにより、ユーザーの操作を容易にすることや、設定ミスによる印刷ミスを抑制することが可能になる。
【0048】
また本実施形態の手法は、上記の印刷装置200と、サーバー100を含む印刷システム10に適用できる。印刷システム10のサーバー100は、上述したとおり、第1インターフェイス130と、第2インターフェイス140と、制御部110と、記憶部120を含む。サーバー100の制御部110は、第2インターフェイス140を介して印刷装置200の給紙装置270に格納されているメディアのメディア情報を取得し、取得したメディア情報を記憶部120に記憶する制御を行う。制御部110は、第1インターフェイス130を介してクライアント300からメディア情報の取得要求を受信したとき、記憶部120からメディア情報を読み出し、読み出したメディア情報を、第1インターフェイス130を介してクライアント300に送信する制御を行う。
【0049】
2.処理の流れ
本実施形態の処理の流れを詳細に説明する。
【0050】
2.1 クライアントにおける印刷前の処理
図5は、クライアント300において印刷前に実行される処理の流れを説明する図である。具体的には、クライアント300は印刷装置200の探索と、ドライバーDriのインストールを行う。なお、
図5の説明では通信態様の詳細を省略する場合があるが、クライアント300とサーバー100との間の通信は、ネットワークNWを介して行われる。具体的には、サーバー100は第1インターフェイス130を用いてクライアント300と通信する。またサーバー100と印刷装置200の間の通信は、USBを用いて行われる。具体的には、サーバー100は第2インターフェイス140を用いて印刷装置200と通信する。この点は、
図6以降の図面の説明においても同様である。
【0051】
この処理が開始されると、まずステップS101において、ユーザーがクライアント300に印刷装置200を追加する操作を行う。ステップS102において、クライアント300は、ネットワークNW上の印刷装置200を探索する処理を行う。具体的には、クライアント300は、ネットワークNWにマルチキャストパケットを送信する。サーバー100は、クライアント300と同じネットワークNWに接続しているため、マルチキャストパケットを受信可能である。
【0052】
ステップS103において、サーバー100は、マルチキャストパケットに対する応答として、印刷装置200の名称や接続情報を送信する。具体的には、サーバー100はUSB接続された印刷装置200の情報をあらかじめ取得しておく。なお、サーバー100にUSB接続される印刷装置200は複数であってもよく、この場合、サーバー100は、複数の印刷装置200のそれぞれについて、名称や接続情報を送信する。またステップS103において、サーバー100は、サーバー100自身の名称や接続情報を送信してもよい。
【0053】
ここでの接続情報は、クライアント300が印刷装置200を特定してコマンドや印刷データを送信する際に用いられる情報である。例えば接続情報は、IPアドレスやポート番号を含む。またクライアント300はURL(Uniform Resource Locator)等を用いて印刷装置200を特定してもよく、この場合の接続情報はURLであってもよい。
【0054】
ステップS104において、クライアント300は、サーバー100又は印刷装置200の名称を、表示部330に表示する。なお、ネットワークNWに他のサーバー100や印刷装置200が接続されてもよい。その場合、ステップS104では、複数のサーバー100や複数の印刷装置200の名称が表示される。
【0055】
ステップS105において、ユーザーは、表示部330に表示された1又は複数の名称から、印刷に使用する印刷装置200の名称を選択する。クライアント300は、選択された印刷装置200を使用するためのドライバーDriをインストールする処理を行う。
【0056】
通信に用いるプロトコルによっては、ドライバーDriが1つに限定される場合がある。この場合、ステップS106において、クライアント300は当該ドライバーDriをインストールする処理を行う。なお、システムによってはドライバーDri相当の機能があらかじめ組み込まれていて、ドライバーDriのインストールが必要ないシステムもある。この場合、ステップS106の処理は省略が可能であり、クライアント300は単にステップS105で選択された印刷装置200の情報を記憶する。
【0057】
一方、プロトコルからドライバーDriが一意に決定されない場合、クライアント300は印刷装置200に問い合わせを行い、回答に応じてドライバーDriを決定する。具体的には、ステップS107において、クライアント300はユーザーによって選択された印刷装置200の接続情報に基づいて、機種やサポートする印刷データフォーマットを問い合わせる。クライアント300からの問い合わせは、サーバー100に送信される。
【0058】
ステップS108において、サーバー100は、クライアント300からの問い合わせに基づいて、印刷装置200に機種等を問い合わせる。ステップS109において、印刷装置200は、機種等の情報をサーバー100に回答する。なお、サーバー100は、USB接続された際に印刷装置200の機種等の情報をあらかじめ取得、記憶しておいてもよい。この場合、ステップS108及びS109の処理を省略できる。ステップS110において、サーバー100は、印刷装置200の機種等の情報をクライアント300に回答する。
【0059】
ステップS111において、クライアント300は回答された機種やサポートする印刷データフォーマットに基づいて、ドライバーDriを選択する。ステップS112において、クライアント300は選択したドライバーDriをインストールする。なお必要に応じて、クライアント300はインターネット等のネットワークを用いて、ドライバーDriをダウンロードする処理を行ってもよい。
【0060】
以上のように、サーバー100の制御部110は、クライアント300から印刷装置200の探索要求を受信したとき、USB接続している印刷装置200に関する印刷装置情報を、第1インターフェイス130を介してクライアント300に送信する制御を行う。
【0061】
ここで、探索要求とは、例えばステップS102におけるマルチキャストパケットである。ただし探索要求は、ネットワークNW上に存在する印刷装置200又はサーバー100に対して回答を求める要求であればよく、具体的な形式はこれに限定されない。また印刷装置情報とは、印刷装置200に関する情報であり、例えば上記のように名称及び接続情報を含む。
【0062】
このようにすれば、サーバー100は、USB接続している印刷装置200に関する情報を、適切にクライアント300に送信できる。ここでの印刷装置200は直接ネットワークNWに接続されていないが、当該ネットワークNWに接続しているサーバー100が、印刷装置200に代わって回答することによって、クライアント300から印刷装置200を探索することが可能になる。換言すれば、本実施形態のサーバー100は、クライアント300から見たとき、あたかも印刷装置200であるかのように振る舞う。
【0063】
2.2 印刷装置におけるメディア情報設定
図6は、印刷装置200がメディア情報を取得する処理を説明する図である。まずステップS201において、ユーザーが印刷装置200の給紙装置270にメディアをセットする。ここでのメディアは例えば用紙であり、ユーザーは、用紙ガイドに沿って、所定の位置に用紙を載置する。
【0064】
ステップS202において、印刷装置200は、給紙装置270にメディアがセットされたことをセンサー271を用いて検出する。メディアのセットを検出した場合、ステップS203において、印刷装置200は表示部230に、メディア情報を問い合わせる画面を表示する。
【0065】
図7は、ステップS203において表示される画面の例である。
図7に示すように、印刷装置200は、給紙装置270を特定する情報と、サイズ情報と、種類情報とを含む表示画面を表示する。給紙装置270を特定する情報は、X1に示すように給紙装置270の名称であってもよいし、X2に示すように印刷装置200の外観図における給紙装置270の位置を特定する情報であってもよい。
図7では、印刷装置200は、センサー271の出力に基づいて、メディアがセットされた給紙装置270がC1であると特定した例を示している。
【0066】
表示画面にはX3に示す暫定的なサイズ情報と、X4に示す暫定的な種類情報が表示されている。また表示画面には、例えばX5に示すように、メディア情報の確認や変更を促すテキストが表示されている。ユーザーは、表示画面を確認し、必要に応じて操作部240を用いてメディア情報の入力操作を行う。なお、初期状態においてはサイズ情報及び種類情報が非表示であり、ユーザーによる入力が行われた後に、サイズ情報や種類情報が表示されてもよい。或いは、初期状態においてはデフォルトとして設定されているサイズ情報及び種類情報が表示されていてもよい。デフォルトのサイズ情報及び種類情報は任意であるが、例えば使用頻度が高い「A4」、「普通紙」が用いられる。
【0067】
また本実施形態のセンサー271は、用紙サイズを検出可能なセンサーであってもよい。例えばセンサー271は、用紙ガイドの位置を検出することによって用紙サイズを検出する。この場合、センサー271の検出結果が、初期状態におけるサイズ情報として表示される。
【0068】
図6に戻って説明を続ける。ステップS204において、
図7に示した表示画面に基づいて、ユーザーがサイズ情報及び種類情報を入力し、決定ボタンを押下する。ステップS205において、印刷装置200は、入力されたメディア情報を、設定値として記憶部260に記憶する。
【0069】
なお印刷装置200は複数の給紙装置270を含んでもよい。この場合、給紙装置270ごとに、種々のメディアをセットすることが可能である。よって印刷装置200は、給紙装置270ごとのメディア情報を記憶部260に記憶する。また後述するように、サーバー100の制御部110は、第2インターフェイス140を介して、複数の給紙装置270の各給紙装置270に格納されているメディアに関するメディア情報を取得する制御を行う。
【0070】
図8は、印刷装置200が記憶部260に記憶するメディア情報の例である。メディア情報は、給紙装置270を特定する情報と、サイズ情報と、種類情報とを含む。給紙装置270を特定する情報は、例えば給紙装置270の名称である。またメディア情報は、
図8には不図示の他の情報を含んでもよい。
【0071】
図8は、C1~C4の4つの給紙装置270を含む印刷装置200におけるメディア情報の例である。この例では、C1に示す給紙装置270にA4普通紙がセットされている。同様に、C2に示す給紙装置270にL版の写真用紙がセットされ、C3に示す給紙装置270にA4普通紙がセットされ、C4に示す給紙装置270にA5普通紙がセットされている。
【0072】
このように、1つの印刷装置200におけるメディア情報は、複数の給紙装置270のそれぞれについて、当該給紙装置270にセットされたメディアを特定する情報であってもよい。このようにすれば、複数の給紙装置270を含む印刷装置200にセットされたメディアの情報を適切に管理することが可能になる。
図6及び
図7を用いて上述したように、所与の給紙装置270においてメディアのセットが検出された場合、当該給紙装置270に関するメディア情報の更新処理が行われる。
【0073】
なお、印刷装置200は単一の給紙装置270を含む装置であってもよく、この場合のメディア情報は当該単一の給紙装置270にセットされたメディアに関する情報である。
【0074】
2.3 印刷装置からサーバーへのメディア情報の送信
図9は、印刷装置200が記憶したメディア情報を、サーバー100に送信する処理を説明する図である。まずステップS301において、サーバー100はUSBを用いて、印刷装置200にメディア情報を取得するコマンドを送信する。ステップS301の処理は、例えば定期的に実行される。処理の実行間隔は例えば数秒であるが、具体的な時間はこれに限定されない。またサーバー100に複数の印刷装置200がUSB接続される場合、それぞれの印刷装置200を対象として
図9の処理が実行される。
【0075】
コマンドを受信した印刷装置200は、ステップS302において、記憶部260に記憶されたメディア情報を読み出し、当該メディア情報をUSBを用いてサーバー100に送信する。
【0076】
ステップS303において、サーバー100は、対象となる印刷装置200の過去のメディア情報と、ステップS302で新たに取得したメディア情報を比較する。メディア情報が同じである場合、サーバー100は処理を終了する。具体的には、印刷装置200のメディアは変更されておらず、記憶部120に記憶されているメディア情報を継続して利用可能と判定される。ここでメディア情報が同じであるとは、例えば
図8に示した給紙装置270ごとのサイズ情報及び種類情報が、全て一致することを表す。
【0077】
また少なくとも1つの給紙装置270において、サイズ情報及び種類情報の少なくとも一方が変化している場合、2つのメディア情報は異なると判定される。この場合、ステップS304において、サーバー100は、ステップS302で取得したメディア情報を記憶部120に記憶する。またステップS304において、サーバー100はメディア情報のバージョン情報を更新する。ここでのバージョン情報とは、メディア情報のバージョンを表す情報である。バージョン情報は、メディア情報が更新されるごとに値がインクリメントされる数値データであってもよいし、更新タイミングを表すタイムスタンプであってもよい。またバージョン情報は、メディア情報の内容に応じて変化する情報であってもよい。
【0078】
図10は、サーバー100が記憶部120に記憶する情報の例である。サーバー100には、1又は複数の印刷装置200がUSB接続される。この場合、印刷装置200ごとに、当該印刷装置200を特定する情報、接続情報、メディア情報及びバージョン情報が記憶される。
【0079】
印刷装置200を特定する情報は、名称であってもよいし、MACアドレス等の識別情報であってもよい。接続情報は、上述したようにIPアドレス、ポート番号、URL等である。メディア情報は、
図8を用いて上述したように、給紙装置270ごとのサイズ情報及び種類情報である。バージョン情報は、上述したように、1つのメディア情報のバージョンを管理する情報である。ここでは、1つの印刷装置200について1つのメディア情報が対応付けられるため、バージョン情報も印刷装置200ごとに管理される。ただし、給紙装置270ごとにバージョン情報を付与する等の変形実施も妨げられない。
【0080】
以上のように、制御部110は、第2インターフェイス140を介してメディア情報を取得したとき、取得したメディア情報と、記憶部120に記憶された過去のメディア情報との比較処理に基づいて、メディア情報のバージョン情報の管理を行う。ここで比較対象となるのは、同一の印刷装置200から取得されたタイミングの異なる2つのメディア情報である。このようにすれば、メディア情報の更新の有無をバージョン情報を用いて判定することが可能になる。例えば、
図11を用いて後述するように、サーバー100は、まずクライアント300へバージョン情報を送信して更新の有無を判定させる。これにより、不必要な場面でのメディア情報の送信を省略し、通信負荷を抑制すること等が可能になる。
【0081】
なお、
図11を用いて後述するように、メディア情報はクライアント300において利用される情報である。クライアント300は、メディア情報が必要となった場面でサーバー100に対して問い合わせを行う。そのため、サーバー100は、クライアント300からの問い合わせをトリガーとして、
図9に示す処理を実行することも妨げられない。ただし、USBの通信状態によっては、サーバー100は、メディア情報を取得するためのコマンドを発行できないタイミングがある。例えば、サーバー100が、メディア情報の取得対象である印刷装置200に対して印刷データを送信中の場合、コマンドを発行できない。
【0082】
よって上述したように、サーバー100は、
図9のステップS301に示したコマンド送信を定期的に実行してもよい。このようにすれば、サーバー100が保持するメディア情報が数秒ごとに更新される。クライアント300からの問い合わせがあったときに、サーバー100は印刷装置200にコマンドを発行せずに、自身が保持するメディア情報を回答すればよいため、回答に遅延が発生することを抑制できる。
【0083】
2.4 サーバーからクライアントへのメディア情報の送信
図11は、サーバー100からクライアント300へメディア情報を送信する処理を説明する図である。まずステップS401において、クライアント300は、所与の印刷装置200のメディア情報が必要となったときに、サーバー100に問い合わせを送信する。ステップS401の処理は、例えばドライバーDriによって行われる。メディア情報が必要になるときとは、後述するように、
図12に示す印刷操作が行われた場合や、
図13に示す印刷設定操作が行われた場合である。ステップS401における問い合わせは、具体的にはバージョン情報の問い合わせである。
【0084】
ステップS402において、サーバー100は、対象となった印刷装置200に対応付けられたバージョン情報を回答する。ステップS403において、クライアント300は、取得したバージョン情報と、対象となる印刷装置200に関する前回の問い合わせによって取得、記憶していたバージョン情報とを比較する。ステップS403の処理は、例えばドライバーDriによって行われる。
【0085】
バージョンが同一である場合、クライアント300はステップS404~S406の処理を省略する。そして、ステップS407において、過去に取得した印刷装置200のメディア情報を継続して利用する。
【0086】
バージョンが異なる場合、ステップS404において、クライアント300は、印刷装置200のメディア情報をサーバー100に問い合わせる。ステップS404の処理は、例えばドライバーDriによって行われる。ステップS405において、サーバー100は、問い合わせ対象である印刷装置200のメディア情報を、クライアント300に送信する。ステップS406において、クライアント300は、取得したメディア情報を記憶部360に記憶する。この場合、ステップS407において、クライアント300は、新たに取得したメディア情報を利用する。
【0087】
以上のように、サーバー100の制御部110は、第1インターフェイス130を介してクライアント300にバージョン情報を送信し(ステップS402)、バージョン情報に基づいて、クライアント300からメディア情報の取得要求を受信した場合に(ステップS404)、メディア情報を送信する(ステップS405)。
【0088】
このようにすれば、サーバー100とクライアント300との間のメディア情報の送受信を、バージョン情報を用いて制御することが可能になる。バージョン情報は、例えばメディア情報の更新ごとに値が変化する数値データであるため、メディア情報に比べてデータ量が少ない。また、2つのバージョン情報の比較処理は、2つのメディア情報の比較処理に比べて処理負荷が低い。よって
図11に示すように、まずバージョン情報を送受信することによって、メディア情報の更新有無をクライアント300で判定する際に、当該判定を少ない通信データ量で容易に実現することが可能になる。結果として、メディア情報が更新されていない場合、不要な通信を抑制することが可能になる。
【0089】
2.5 印刷
図12は、印刷に関する処理の流れを説明する図である。まずステップS501において、ユーザーは、クライアント300のアプリケーションAppを操作し、印刷操作を行う。印刷操作とは、例えばアプリケーションAppによって表示される印刷ボタンの押下操作である。ステップS501の操作に基づいて、クライアント300は、所与の印刷装置200のメディア情報が必要となったと判定する。よってステップS501をトリガーとして、
図11に示した処理が実行され、クライアント300は、給紙装置270ごとのサイズ情報及び種類情報を取得する。ステップS502以降の処理は、
図11のステップS407に対応する。
【0090】
ステップS502において、クライアント300のアプリケーションAppは、ドライバーDriからデフォルトの給紙装置270と、当該給紙装置270に対応付けられたサイズ情報を取得する。またステップS502において、アプリケーションAppはサイズ情報に合わせて印刷用の画像を生成する。
【0091】
ステップS503において、アプリケーションAppはドライバーDriのAPIを呼び出すことによって、印刷を要求する。なおステップS503の印刷要求には、ステップS502で生成された画像が付与される。
【0092】
ステップS504において、ドライバーDriは、デフォルトの給紙装置270と、当該給紙装置270に対応付けられたサイズ情報及び種類情報に基づいて、印刷データを生成する。ここでの印刷データは、例えば印刷画像を特定するデータを含む。ステップS505において、ドライバーDriは、ネットワークNWを介してサーバー100に印刷データ送信し、印刷を要求する。
【0093】
ステップS506において、サーバー100はUSBを用いて、印刷コマンド及び印刷データを印刷装置200に送信する。ステップS507において、印刷装置200は、印刷部250を用いて印刷を実行する。
【0094】
図12に示す処理では、ユーザーは印刷操作を行えば、それ以降は給紙装置270の選択操作等を行う必要がないため、印刷に関するユーザー負担を軽減できる。
【0095】
図13は、印刷に関する他の処理の流れを説明する図である。まずステップS601において、ユーザーは、クライアント300のアプリケーションAppを操作し、印刷設定操作を行う。印刷設定操作とは、印刷前にメディアのサイズ及び種類を設定するための操作である。なお印刷前の設定には、カラー/モノクロの設定や、片面/両面印刷の設定等が含まれてもよい。ステップS601の操作に基づいて、クライアント300は、印刷装置200のメディア情報が必要となったと判定する。よってステップS601をトリガーとして、
図11に示した処理が実行され、クライアント300は、給紙装置270ごとのサイズ情報及び種類情報を取得する。ステップS602以降の処理は、
図11のステップS407に対応する。
【0096】
ステップS602において、クライアント300のアプリケーションAppは、ドライバーDriからデフォルトの給紙装置270と、当該給紙装置270に対応付けられたサイズ情報及び種類情報を取得する。ステップS603において、アプリケーションAppは取得したサイズ情報及び種類情報を選択肢として表示部330に表示する。
【0097】
図14は、ステップS603において表示される印刷設定画面の例である。印刷設定画面は、選択されている給紙装置270と、当該給紙装置270に対応付けられたサイズ情報及び種類情報を表示する画面である。選択されている給紙装置270は、例えばプルダウンメニュー等を用いて変更可能である。
【0098】
図15は、ステップS603において表示される印刷設定画面の他の例である。印刷設定画面は、印刷装置200が有する1又は複数の給紙装置270と、各給紙装置270に対応付けられたサイズ情報及び種類情報を一覧表示する画面である。
図15に示す例では、例えばラジオボタン等を用いて、いずれか1つの給紙装置270を選択する操作が可能である。
【0099】
ステップS604において、ユーザーは給紙装置270を変更する操作を行う。ステップS604の操作は、
図14におけるプルダウンメニューの操作であってもよいし、
図15におけるラジオボタンの選択操作であってもよいし、他の操作であってもよい。クライアント300のアプリケーションAppは、選択操作に応じて表示画面を更新する。
図14であれば、アプリケーションAppは、表示されるサイズ情報及び種類情報を、選択された給紙装置270に応じて変更する。
図15であれば、アプリケーションAppは、ラジオボタンの選択状態を変更する。またステップS605において、アプリケーションAppは、現在のサイズ及び種類の設定を、選択状態になっている給紙装置270に対応するサイズ情報及び種類情報を用いて更新する。なお、ステップS604及びS605の処理は、複数回行われてもよいし、1回も行われなくてもよい。
【0100】
ステップS606においてユーザーが印刷操作を行うと、ステップS607において、アプリケーションAppはドライバーDriのAPIを呼び出すことによって、印刷を要求する。ステップS606の操作は、例えば
図14や
図15におけるOKボタンの押下操作である。
【0101】
ステップS608において、ドライバーDriは、選択状態になっている給紙装置270と、当該給紙装置270に対応付けられたサイズ情報及び種類情報に基づいて、印刷データを生成する。ステップS609において、ドライバーDriは、ネットワークNWを介してサーバー100に印刷データ送信し、印刷を要求する。
【0102】
ステップS610において、サーバー100はUSBを用いて、印刷コマンド及び印刷データを印刷装置200に送信する。ステップS611において、印刷装置200は、印刷部250を用いて印刷を実行する。
【0103】
このようにすれば、サーバー100を用いてクライアント300に印刷装置200の機能を提供する場合において、印刷時にメディア情報を利用することが可能になる。そのため、ユーザーの操作負担を軽減できる。例えば
図12に示したように、印刷操作以外の操作を省略することも可能である。また
図13に示した例でも、デフォルトのサイズ及び種類を利用可能である場合、ユーザーの選択操作を簡略化できる。また、ここでのサイズ情報及び種類情報は、サーバー100を介して印刷装置200から取得したメディア情報であるため、サイズや種類の設定ミスを抑制することが可能である。
【0104】
なおステップS506やステップS610に示したように、サーバー100は、第2インターフェイス140を用いて、印刷装置200に印刷データを送信する。また
図9のステップS301及びS302に示したように、サーバー100は、第2インターフェイス140を用いて、印刷装置200との間で、定期的にコマンド送信とメディア情報の受信を行う。第2インターフェイス140を用いた通信の態様にもよるが、例えばUSBでは、同じ印刷装置200を対象として、印刷データの送信とメディア情報の受信を同時に行うことはできない。そのため、印刷データのデータ量が大きい場合、印刷データの送信が継続的に行われることによって、サーバー100による定期的なメディア情報の取得が妨げられるおそれがある。
【0105】
よってサーバー100の制御部110は、第1インターフェイス130を介して、クライアント300から印刷データを受信する場合に、印刷データの送信よりも、メディア情報の取得を優先的に実行するように、第2インターフェイス140を制御してもよい。このようにすれば、印刷データの送信によってメディア情報の取得が妨げられることを抑制できる。即ち、サーバー100は定期的にメディア情報を取得できるため、クライアント300に適切なメディア情報を提供することが可能になる。
【0106】
例えば制御部110は、第1インターフェイス130を介して、クライアント300から印刷データを受信した場合であっても、印刷装置200にメディア情報の取得コマンドを送信してから、メディア情報を取得するまでの期間において、印刷データを印刷装置200に送信しない。
【0107】
図16は、メディア情報の取得タイミングと、印刷データの送信タイミングの関係を説明する図である。
図16の横軸は時間を表す。上述したように、コマンド送信及びメディア情報の取得は定期的に行われる。
図16の例では、ta1のタイミングでサーバー100はコマンドを送信し、ta2のタイミングでメディア情報の取得を完了する。同様に、ta3、ta5がコマンドの送信タイミングを表し、ta4及びta6がメディア情報の取得完了タイミングを表す。ta1とta3の間隔、ta3とta5の間隔であるT1が数秒程度に設定される。なお、ta1とta2の間隔はT1に比べて十分短い。
【0108】
サーバー100は、例えばta1~ta2、ta3~ta4、ta5~ta6の期間では、印刷データの送信を行わない。例えばサーバー100は、
図16に示したようにtb1~tb2の期間や、tb3~tb4の期間に印刷データを送信する。tb1はta2よりも後のタイミングであり、tb2はta3よりも前のタイミングである。tb3はta4よりも後のタイミングであり、tb4はta5よりも前のタイミングである。
【0109】
このようにすれば、コマンド送信及びメディア情報の取得が、印刷データ送信によって阻害されることを抑制できる。特に、コマンド送信タイミングがあらかじめ定期的に設定されている場合、コマンドを送信してからメディア情報を取得するまでの期間は、
図16に示すようにある程度既知となる。よって当該期間に印刷データを送信しない制御を実現することが容易である。
【0110】
この際、所与のクライアント300から取得した1つの印刷ジョブに係る印刷データは、第1~第nの印刷データに分割されていてもよい。nは2以上の整数である。ここでの印刷ジョブとは、印刷装置200に1回の印刷動作を行わせるための情報であり、印刷実行を指示する印刷コマンドと、画像を特定する印刷データを含む。サーバー100の制御部110は、第iの印刷データを送信した後、印刷装置200へのメディア情報の取得コマンドの送信及びメディア情報の受信を行い、メディア情報の受信後に第i+1の印刷データを送信する。iは1≦i<nを満たす整数である。
【0111】
例えば
図16において、制御部110は、tb1~tb2の期間において第iの印刷データを送信し、tb3~tb4の期間において第i+1の印刷データを送信する。このように1つの印刷ジョブの印刷データを複数回に分けて送信することによって、ある程度データ量の多い印刷データの印刷要求を受け付けた場合であっても、適切にメディア情報を取得することが可能になる。
【0112】
この際、第1~第nの印刷データは、取得コマンドの送信間隔よりも短い期間で送信可能なデータ量に調整されている。取得コマンドの送信間隔は、例えば
図16のT1である。より具体的には、第1~第nの印刷データは、メディア情報の取得後、次の取得コマンドの送信までの期間よりも短い期間で送信可能なデータ量に調整されている。このようにすれば、n個に分割された印刷データのうちの1つの印刷データの送信は、次のコマンド送信までに完了することが期待できる。そのため、印刷データの送信が、メディア情報の取得を阻害することをより抑制することが可能になる。
【0113】
なお、1つの印刷ジョブに関する印刷データを第1~第nの印刷データに分割する処理は、例えばサーバー100の制御部110が実行する。ただし当該処理は、クライアント300において実行されてもよい。
【0114】
3.変形例
以上では、
図11~
図13を用いて上述したように、クライアント300が必要となった場合に、クライアント300からサーバー100にメディア情報の問い合わせが行われる例を説明した。ただし、サーバー100からクライアント300へメディア情報を送信する制御はこれに限定されない。
【0115】
図17は、変形例における処理を説明する図である。ステップS701~S704は、
図9のステップS301~S304と同様である。具体的には、まずステップS701において、サーバー100は、印刷装置200にコマンドを送信する。コマンドを受信した印刷装置200は、ステップS702において、記憶部260に記憶されたメディア情報を読み出し、当該メディア情報をUSBを用いてサーバー100に送信する。
【0116】
ステップS703において、サーバー100は、対象となる印刷装置200の過去のメディア情報と、ステップS702で新たに取得したメディア情報を比較する。メディア情報が同じである場合、サーバー100は処理を終了する。2つのメディア情報が異なる場合、ステップS704において、サーバー100は、ステップS702で取得したメディア情報を記憶部120に記憶する。
【0117】
次にステップS705において、サーバー100は、クライアント300にメディア情報の変更を通知する。具体的には、サーバー100はネットワークNWへマルチキャストパケットを送信する。
【0118】
ステップS706において、クライアント300のドライバーDriは、マルチキャストパケットを受信した際に、ネットワークNWを介して、サーバー100へメディア情報を問い合わせる。ステップS707において、サーバー100は給紙装置270ごとのサイズ情報及び種類情報を回答する。ステップS708において、クライアント300のドライバーDriは、サーバー100からの回答を受信し、メディア情報を記憶部360に記憶する。
【0119】
このようにすれば、メディア情報の更新があった場合に、サーバー100からクライアント300に対して問い合わせを促すことが可能になる。メディア情報が更新されなければクライアント300から問い合わせを行う必要がないため、通信負荷を抑制することが可能になる。また、ステップS705における通知は、例えばマルチキャストパケットを用いて行われる。そのため、クライアント300の電源が切れている場合であっても、サーバー100の動作への影響を抑制できる。例えばサーバー100は、クライアント300からの応答がない場合に、タイムアウトを待つ必要がない。
【0120】
ただし、電源が切れているクライアント300は、サーバー100が保持するメディア情報が更新されたとしても、その更新を検知できないため、サーバー100が保持するメディア情報とクライアント300が保持するメディア情報が乖離してしまう。よってクライアント300は、起動時に問い合わせを行ってもよい。
【0121】
図18は、ドライバーDriの起動時の処理を説明する図である。まずステップS801において、クライアント300においてドライバーDriが動作を開始する。ステップS802において、ドライバーDriは動作開始時に、サーバー100へネットワークNW経由でメディア情報を問い合わせる。
【0122】
ステップS803において、サーバー100は、問い合わせに対する回答としてメディア情報を返答する。クライアント300のドライバーDriは、回答を受信し、給紙装置270ごとのサイズ情報及び種類情報を記憶する。このようにすれば、サーバー100が保持するメディア情報とクライアント300が保持するメディア情報の乖離を、動作開始時に解消することが可能になる。
【0123】
また以上では、メディア情報として、サイズ情報及び種類情報を用いる例を説明した。ただしメディア情報は、所与の給紙装置270にメディアがセットされているか否かの情報を含んでもよい。この場合のクライアント300は、例えば
図12のステップS502において、デフォルトに設定されている給紙装置270にメディアがセットされていないと判定したら、選択する給紙装置270を他の給紙装置270に変更する処理を行う。或いはクライアント300は、
図13のS603の表示処理において、メディアがセットされていない給紙装置270を選択肢から除外する処理を行ってもよい。
【0124】
また以上では、
図6に示すようにまず印刷装置200がメディア情報を取得し、その後、
図9に示すようにサーバー100が印刷装置200から第2インターフェイス140を用いて当該メディア情報を取得する。ただし、印刷装置200は、メディア情報を使用する所与のプロトコルに対応していない機器であることが想定される。そのため、印刷装置200は、メディア情報を取得する機能を有さない場合がある。
【0125】
よってサーバー100は、印刷装置200においてメディア情報をユーザーに入力させるための制御を実行してもよい。例えば、サーバー100は、
図7に示す表示画面を生成する制御、及び当該表示画面を印刷装置200の表示部230に表示させる制御を行う。このようにすれば、サーバー100を起点として印刷装置200にメディア情報を取得させることが可能になる。
【0126】
或いは、サーバー100は、第1インターフェイス130と、第2インターフェイス140と、制御部110と、記憶部120と、不図示の表示部と操作部とを含んでもよい。例えば制御部110は、
図7と同様の表示画面をサーバー100の表示部に表示し、操作部は当該表示画面に基づくユーザー入力を受け付ける。制御部110は、印刷装置200の給紙装置270に格納されているメディアのメディア情報を操作部を用いて取得し、取得したメディア情報を記憶部120に記憶する制御を行う。
【0127】
このようにすれば、サーバー100が印刷装置200のメディア情報を直接取得することが可能になる。これ以降の制御は同様である。制御部110は、第1インターフェイス130を介してクライアント300からメディア情報の取得要求を受信したとき、記憶部120からメディア情報を読み出し、読み出したメディア情報を、第1インターフェイス130を介してクライアント300に送信する制御を行う。
【0128】
以上で説明したように、本実施形態のサーバーは、クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、印刷装置とUSB(Universal Serial Bus)規格による通信を行う第2インターフェイスと、第1インターフェイス及び第2インターフェイスの制御を行う制御部と、記憶部と、を含む。制御部は、第2インターフェイスを介して、印刷装置の給紙装置に格納されているメディアのメディア情報を取得し、取得したメディア情報を記憶部に記憶する制御を行う。制御部は、第1インターフェイスを介してクライアントからメディア情報の取得要求を受信したとき、記憶部からメディア情報を読み出し、読み出したメディア情報を、第1インターフェイスを介してクライアントに送信する制御を行う。
【0129】
本実施形態の手法によれば、所与のプロトコルを用いてクライアントに印刷装置の機能を提供するサーバーにおいて、印刷装置のメディア情報をクライアントに送信することが可能になる。これにより、ユーザーの負担軽減や、印刷ミスの抑制が可能になる。また、所与のプロトコルがメディア情報を要求するプロトコルである場合にも、当該プロトコルに従ったサービスの提供が可能になる。
【0130】
また本実施形態では、制御部は、クライアントから印刷装置の探索要求を受信したとき、USB接続している印刷装置に関する印刷装置情報を、第1インターフェイスを介してクライアントに送信する制御を行ってもよい。
【0131】
このようにすれば、サーバーにUSB接続された印刷装置を、クライアントから適切に探索することが可能になる。
【0132】
また本実施形態では、印刷装置は複数の給紙装置を含み、制御部は、第2インターフェイスを介して、複数の給紙装置の各給紙装置に格納されているメディアに関するメディア情報を取得する制御を行ってもよい。
【0133】
このようにすれば、複数の給紙装置を含む印刷装置を対象とする場合にも、メディア情報を適切に取得することが可能になる。
【0134】
また本実施形態では、制御部は、第1インターフェイスを介して、クライアントから印刷データを受信し、制御部は、印刷データの送信よりも、メディア情報の取得を優先的に実行するように、第2インターフェイスを制御してもよい。
【0135】
このようにすれば、メディア情報の取得が、印刷データの送信によって妨げられることを抑制できる。
【0136】
また本実施形態では、制御部は、第1インターフェイスを介して、クライアントから印刷データを受信した場合であっても、印刷装置にメディア情報の取得コマンドを送信してから、メディア情報を取得するまでの期間において、印刷データを印刷装置に送信しなくてもよい。
【0137】
このようにすれば、メディア情報の取得が、印刷データの送信によって妨げられることを抑制できる。
【0138】
また本実施形態では、制御部は、第1インターフェイスを介して、クライアントから印刷データを受信し、印刷データは、第1~第n(nは2以上の整数)の印刷データに分割されており、制御部は、第i(iは1≦i<nを満たす整数)の印刷データを送信した後、印刷装置へのメディア情報の取得コマンドの送信及びメディア情報の受信を行い、メディア情報の受信後に第i+1の印刷データを送信してもよい。
【0139】
このようにすれば、メディア情報の取得が、印刷データの送信によって妨げられることを抑制できる。
【0140】
また本実施形態では、第1~第nの印刷データは、取得コマンドの送信間隔よりも短い期間で送信可能なデータ量に調整されていてもよい。
【0141】
このようにすれば、メディア情報の取得が、印刷データの送信によって妨げられることを抑制できる。
【0142】
また本実施形態では、制御部は、第2インターフェイスを介してメディア情報を取得したとき、取得したメディア情報と、記憶部に記憶された過去のメディア情報との比較処理に基づいて、メディア情報のバージョン情報の管理を行ってもよい。
【0143】
このようにすれば、サーバーにおいてメディア情報のバージョン管理を行うことが可能になる。
【0144】
また本実施形態では、制御部は、第1インターフェイスを介してクライアントにバージョン情報を送信し、バージョン情報に基づいて、クライアントからメディア情報の取得要求を受信した場合に、メディア情報を送信してもよい。
【0145】
このようにすれば、クライアントにおいて、バージョン情報を用いてメディア情報の更新の有無を判定することが可能になる。
【0146】
また本実施形態の印刷システムは、印刷装置と、サーバーを含む。サーバーは、クライアントと所与のプロトコルによる通信を行う第1インターフェイスと、印刷装置とUSB(Universal Serial Bus)規格による通信を行う第2インターフェイスと、第1インターフェイス及び第2インターフェイスの制御を行う制御部と、記憶部と、を含む。制御部は、第2インターフェイスを介して印刷装置の給紙装置に格納されているメディアのメディア情報を取得し、取得したメディア情報を記憶部に記憶する制御を行う。制御部は、第1インターフェイスを介してクライアントからメディア情報の取得要求を受信したとき、記憶部からメディア情報を読み出し、読み出したメディア情報を、第1インターフェイスを介してクライアントに送信する制御を行う。
【0147】
本実施形態の手法によれば、所与のプロトコルを用いてクライアントに印刷装置の機能を提供する印刷システムにおいて、印刷装置のメディア情報をクライアントに送信することが可能になる。これにより、ユーザーの負担軽減や、印刷ミスの抑制が可能になる。また、所与のプロトコルがメディア情報を要求するプロトコルである場合にも、当該プロトコルに従ったサービスの提供が可能になる。
【0148】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。またサーバー、印刷装置、クライアント、印刷システム等の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0149】
App…アプリケーション、Dri…ドライバー、NW…ネットワーク、10…印刷システム、100…サーバー、110…制御部、120…記憶部、130…第1インターフェイス、140…第2インターフェイス、200…印刷装置、210…処理部、220…通信部、230…表示部、240…操作部、250…印刷部、260…記憶部、270…給紙装置、271…センサー、300…クライアント、310…処理部、320…無線通信部、330…表示部、340…操作部、350…報知部、360…記憶部