JP2020035233A - 印刷システムとその制御方法、及びサーバとその制御方法、並びにプログラム - Google Patents

印刷システムとその制御方法、及びサーバとその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2020035233A
JP2020035233A JP2018162104A JP2018162104A JP2020035233A JP 2020035233 A JP2020035233 A JP 2020035233A JP 2018162104 A JP2018162104 A JP 2018162104A JP 2018162104 A JP2018162104 A JP 2018162104A JP 2020035233 A JP2020035233 A JP 2020035233A
Authority
JP
Japan
Prior art keywords
information
information processing
capability information
printing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018162104A
Other languages
English (en)
Other versions
JP2020035233A5 (ja
JP7208744B2 (ja
Inventor
健 金田
Takeshi Kaneda
健 金田
柏木 正樹
Masaki Kashiwagi
正樹 柏木
明紀 竹尾
Akinori Takeo
明紀 竹尾
宮嶋 純
Jun Miyajima
純 宮嶋
誠二郎 今井
Seijiro Imai
誠二郎 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018162104A priority Critical patent/JP7208744B2/ja
Priority to US16/552,523 priority patent/US10990334B2/en
Publication of JP2020035233A publication Critical patent/JP2020035233A/ja
Publication of JP2020035233A5 publication Critical patent/JP2020035233A5/ja
Application granted granted Critical
Publication of JP7208744B2 publication Critical patent/JP7208744B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1273Print job history, e.g. logging, accounting, tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】印刷装置の能力情報が動的に変化する場合でも、情報処理装置が最新の能力情報に基づいて印刷ジョブを作成することができる印刷システムとその制御方法、及びサーバとその制御方法、並びにプログラムを提供する。【解決手段】アプリケーションを実行して印刷ジョブを作成する少なくとも一つの情報処理装置と、複数の印刷装置を集約した印刷サービスを提供する仮想プリンタを備えるサーバとを有する印刷システムであって、情報処理装置は、複数の印刷装置の能力を示す能力情報をサーバに要求し、その能力情報に応じた印刷設定に従って生成した印刷ジョブをサーバに送信する。サーバは、その要求に応じて能力情報を情報処理装置に通知し、複数の印刷装置のいずれかにおける能力の変化に応じて、能力情報を更新し、その更新された能力情報を、更新対象の情報処理装置に通知する。【選択図】図6

Description

本発明は、印刷システムとその制御方法、及びサーバとその制御方法、並びにプログラムに関するものである。
近年の情報処理装置は、印刷装置のために設計されたベンダー独自の印刷ドライバ(又は印刷アプリケーション)を介さずに、印刷装置で印刷できる印刷データを生成することができる。例えば、近年の印刷アプリケーションやクラウド上の印刷サービスは、OS(オペレーティングシステム)に標準搭載されているIPP−Clientモジュールを利用し、IPP仕様(IPP:Internet Printing Protocol)に基づく印刷データを生成して印刷装置に送信する。
IPP−Infra仕様に基づくクラウド印刷サービスでは、情報処理装置がクラウド印刷サービスに対して印刷ジョブを送信すると、クラウド印刷サービスはクラウド上に、その印刷ジョブを留め置く。そして、印刷装置からクラウド印刷サービスに印刷ジョブを要求して、クラウド印刷サービスに留め置かれている印刷ジョブを取得して印刷を実行する。
クラウド印刷サービスと印刷装置の接続形態として、クラウド印刷サービス毎に1台の印刷装置を紐づける方法と、1つのクラウド印刷サービスに複数台の印刷装置を集約して紐づける方法(印刷装置集約型)がある。ここでは後者について述べる。情報処理装置がクラウド印刷サービスから取得する能力情報は、クラウド印刷サービスが個々の仕様の異なる印刷装置から取得した能力情報の論理和或いは論理積により構成される。情報処理装置は、クラウド印刷サービスから取得した仮想プリンタの能力情報に基づいて印刷画面を表示し、ユーザはその画面で印刷設定を行って印刷ジョブを送信する。その後、印刷装置が、クラウド上に留め置かれている印刷ジョブを取得して印刷を実行する。
特開2006−259853号公報
IPP−Infra仕様に基づくクラウド印刷サービスにおいて、情報処理装置が印刷ジョブを作成した後、仮想プリンタから取得した能力情報を保持するか、或いは保持せずに印刷ジョブの作成の度に廃棄するかは、印刷装置や仮想プリンタに対して保証していない。情報処理装置が印刷ジョブを作成した後、どちらの挙動を行うかは情報処理装置の実装に依存する。情報処理装置が仮想プリンタの能力情報を保持する場合、同じ仮想プリンタに対する印刷ジョブを作成する際は、仮想プリンタから能力情報を取得せずに、保持している仮想プリンタの能力情報を基に印刷ジョブを作成することができる。
また、クラウド印刷サービス毎に1台の印刷装置が紐づけられているクラウド印刷サービスでは、仮想プリンタと印刷装置が1対1であるため、仮想プリンタと情報処理装置の能力情報は常に一致している。一方、印刷装置集約型のクラウド印刷サービスでは、1つの仮想プリンタに対して複数の印刷装置が紐づけられる。そのため、仮想プリンタを構成する印刷装置の能力情報が変化した場合、仮想プリンタの能力情報も変化する。印刷装置の能力情報が変化する例として、縮退モードへの移行に伴う使用可能な機能の削減や、仮想プリンタを構成する印刷装置のデバイス追加や削除等が挙げられる。
印刷装置集約型のクラウド印刷サービスにおいて、情報処理装置が仮想プリンタの能力情報を保持する場合、仮想プリンタの能力情報が変化した際に、情報処理装置が保持している仮想プリンタの能力情報と、実際の仮想プリンタの能力情報との間に差異が生じてしまう。その結果、情報処理装置が特定の印刷装置で実行不可能な印刷ジョブを生成してしまう可能性がある。
また特許文献1において、仮想プリンタの能力情報を作成或いは更新する際、情報処理装置が、仮想プリンタに紐付く各印刷装置から能力情報をそれぞれ取得して、仮想プリンタの能力情報を作成する。しかし、情報処理装置の処理の負荷が大きく、処理に要する時間が一定時間を超える場合は、能力情報の作成を中断してしまうという課題があった。そのため場合によっては、仮想プリンタの能力情報の作成や更新が正常に行われない可能性があった。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、印刷装置の能力情報が動的に変化する場合でも、情報処理装置が最新の能力情報に基づいて印刷ジョブを作成できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る印刷システムは以下のような構成を備える。即ち、
アプリケーションを実行して印刷ジョブを作成する少なくとも一つの情報処理装置と、複数の印刷装置を集約した印刷サービスを提供するサーバとを有する印刷システムであって、
前記情報処理装置は、
前記複数の印刷装置の能力を示す能力情報を前記サーバに要求する要求手段と、
前記能力情報に応じた印刷設定に従って生成した印刷ジョブを前記サーバに送信する送信手段と、を有し、
前記サーバは、
前記要求手段による要求に応じて前記能力情報を前記情報処理装置に通知する第1通知手段と、
前記印刷ジョブを受信して保持する保持手段と、
前記複数の印刷装置のいずれかにおける前記能力の変化に応じて、前記能力情報を更新する更新手段と、
前記更新手段により更新された能力情報を、更新対象の情報処理装置に通知する第2通知手段と、を有し、
前記更新対象の情報処理装置は、前記第1通知手段により通知された前記能力情報の保存が許可された情報処理装置であることを特徴とする。
本発明によれば、印刷装置の能力情報が動的に変化する場合でも、情報処理装置が最新の能力情報に基づいて印刷ジョブを作成できるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態に係る印刷システムの構成を説明する図。 実施形態に係る情報処理装置のハードウェア構成を説明するブロック図。 実施形態に係る情報処理装置のソフトウェア構成を説明する機能ブロック図。 実施形態に係る仮想プリンタのハードウェア構成を説明するブロック図。 実施形態に係る仮想プリンタのソフトウェア構成を説明する機能ブロック図。 実施形態に係る印刷システムにおける情報処理装置、仮想プリンタ及び印刷装置との間のデータのやり取りを示すシーケンス図。 実施形態に係る情報処理装置が能力情報の保持が禁止されている場合における、仮想プリンタの能力情報の更新処理を示すシーケンス図。 実施形態に係る印刷システムにおける情報処理装置、仮想プリンタ、及び印刷装置との間のデータのやり取りを示すシーケンス図。 実施形態に係る情報処理装置が実行する処理を説明するフローチャート。 実施形態に係る仮想プリンタによる処理を説明するフローチャート。 実施形態に係る仮想プリンタによる処理を説明するフローチャート。 実施形態に係る情報処理装置による処理を説明するフローチャート。 実施形態に係る情報処理装置と仮想プリンタのIPP通信のメッセージの一例を示す図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでするものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本発明の実施形態に係る印刷システムの構成を説明する図である。
LAN(Local Area Network)100上にはAP(アクセスポイント)101、LAN102上には印刷装置110が接続されている。実施形態では、情報処理装置130の一例として、タブレット、スマートフォン、PCなどの携帯端末131,132,133を例に説明する。尚、以下の説明では、タブレット131、スマートフォン132、PC133などを総称して情報処理装置130と呼ぶ。この情報処理装置130は、AP101を介して、インターネット103上でクラウドサービスを提供するクラウドサーバ(以下、仮想プリンタ)120、イベント配信サービスを提供するイベント配信サーバ140と通信が可能である。仮想プリンタ120は、情報処理装置130から送信された印刷ジョブを留め置く。そして仮想プリンタ120が集約している管理している複数の印刷装置のいずれかから印刷ジョブが要求されると、その留め置いている印刷ジョブを、その印刷装置に送信して印刷させる。尚、LAN100,LAN102は無線LANであってもよい。
印刷装置110は、インターネット103上の仮想プリンタ120と通信が可能である。実施形態では、1つのクラウド印刷サービスに複数台の印刷装置を集約して紐づける印刷装置集約型を前提としているため、印刷装置110は、例えばAサイズの用紙を収容して印刷及びステープルが可能な印刷装置111と、A4サイズとA3サイズの用紙を収容して印刷及びステープルとパンチができる印刷装置112とを含んでいるものとする。但し、以下の説明では、これら印刷装置111,112をまとめて印刷装置110として説明する。印刷装置110は、仮想プリンタ120に留め置かれた印刷ジョブを取得して印刷を実行する。
イベント配信サーバ140は、仮想プリンタ120の状態を監視し、その能力情報が更新されると、インターネット103を介して、情報処理装置130に対してその能力情報が更新されたことを通知する。ここで仮想プリンタ120の能力情報は印刷装置110の能力情報に対応しており、例えば、印刷装置110の能力情報は、印刷装置111と印刷装置112の能力情報の論理積に基づいて生成されるものとする。例えば図1の例では、印刷装置110の能力情報は、A3サイズの用紙への印刷機能と、ステープル機能を含むことになる。更に、イベント配信サーバ140は、仮想プリンタ120の能力情報が更新されると、仮想プリンタ120の能力情報が更新されたことを知らせる通知を印刷装置110に送信する。
尚、実施形態では、一例として仮想プリンタ120と、イベント配信サーバ140がクラウドサーバとして実装される場合を例示しているが、本発明はこれに限定されるものではない。仮想プリンタ120とイベント配信サーバ140は、ネットワーク上の物理的なサーバ装置であってもよい。
また実施形態では、印刷システムの一例として上記の構成例で説明するが、本発明はこれに限定されるものではなく、少なくとも1つ以上の情報処理装置と印刷装置と仮想プリンタとがネットワークを介して通信可能に接続されていればよい。またネットワークは無線であっても有線であっても良い。
次に、情報処理装置130について説明する。情報処理装置130は、ユーザの設定に基づいた印刷ジョブを作成し、その印刷ジョブを仮想プリンタ120に送信する。
図2は、実施形態に係る情報処理装置130のハードウェア構成を説明するブロック図である。
CPU(Central Processing Unit)201を含む制御部200は、情報処理装置130の全体の動作を制御する。CPU201は、ROM(Read Only Memory)202又はストレージ204に記憶されたプログラムをRAM203に展開し、その展開したプログラムを実行して各種処理を行う。ROM202は、CPU201で実行可能な制御プログラムやブートプログラム等を格納する。RAM(Random Access Memory)203は、CPU201の主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ204は、アプリケーションデータ、印刷データ、各種プログラム、及び各種設定情報を記憶する。実施形態では、ストレージ204としてSSD(Solid State Drive)を想定しているがHDD(ハードディスクドライブ)等を用いても良い。Bluetooth(登録商標)205は、キーボードやポインティングデバイス209を接続して利用するために使用される。ネットワークインタフェース(I/F)206は、情報処理装置130を、LAN100や無線LAN等に接続する。操作部I/F207を介して接続されたタッチパネル208は、画面への描画と、ユーザのタッチ入力の検知を行う。尚、実施形態に係る情報処理装置130では、1つのCPU201が1つのメモリ(RAM203)を用いて、後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のCPU、RAM、ROM、及びストレージを協働させて、後述するフローチャートで示す各処理を実行しても良い。操作部I/F207は、タッチパネル208と制御部200とを接続する。タッチパネル208には、タッチ機能を有する表示部が備えられ、情報を表示する表示部や、ユーザの指示を受け付ける受付部として機能する。また制御部200は、ネットワークI/F206を介してLAN100に接続されている。
図3は、実施形態に係る情報処理装置130のソフトウェア構成を説明する機能ブロック図である。尚、この図3に示す各機能ブロックは、CPU201がRAM203に展開したプログラムを実行することにより達成されるものとする。
印刷アプリケーション301は、情報処理装置130上で動作するアプリケーションであり、例えばワープロや表計算などの一般的な機能をユーザに提供する。また印刷アプリケーションは、情報処理装置130上のオペレーティングシステム(OS)が提供するOS描画エンジン312を通じて、ユーザ操作用のGUIを描画するだけでなく、印刷用のデータを生成する。
ユーザが印刷アプリケーション301で印刷機能を呼び出すと、その印刷アプリケーション301は、印刷画面制御部311を呼び出す。印刷アプリケーション301は、印刷用のページデータをOS描画エンジン312を通じて生成し、生成した印刷用のページデータを印刷画面制御部311に渡す。印刷画面制御部311は、仮想プリンタ情報管理部306から仮想プリンタ120の能力情報を取得し、その仮想プリンタ120の能力情報に合わせた印刷設定用のUI画面を生成する。
OS印刷フレームワーク302は、IPPクライアント制御部303とプリントスプーラ309とを有している。IPPクライアント制御部303は、IPP通信メッセージの生成及び送信や受信を行うIPP通信メッセージ処理部304と、仮想プリンタ120に関する情報を処理する仮想プリンタ情報処理部305と、仮想プリンタ120から取得した能力情報を保持する仮想プリンタ情報管理部306と、印刷ジョブを生成する印刷ジョブ生成部307と、仮想プリンタ120からの能力情報の更新通知の受信に関する制御を行うイベント受信制御部308とを有している。プリントスプーラ309は、IPPクライアント制御部303が生成した印刷ジョブを、順番に、データ通信制御部310を介して仮想プリンタ120へ転送する。
IPP通信メッセージ処理部304は、IPP通信メッセージの受信と、IPP通信メッセージの生成及び送信を行う。IPP通信メッセージ処理部304で生成されたメッセージは、データ通信制御部310を介して仮想プリンタ120に送信される。仮想プリンタ情報処理部305は、IPP通信メッセージ処理部304が仮想プリンタ120から受信した能力情報の通知メッセージから、仮想プリンタ120の能力情報を取得する。また仮想プリンタ情報処理部305は、その能力情報の通知メッセージから、仮想プリンタ120の能力情報の保持が禁止されているか否か判定する。仮想プリンタ情報管理部306は、仮想プリンタ情報処理部305が取得した仮想プリンタの能力情報を保持する。
イベント受信制御部308は、仮想プリンタ120からの能力情報の更新通知の受信に関する制御を行う。能力情報の更新通知は、仮想プリンタ120の能力情報が更新された場合、能力情報の更新が発生したことを、仮想プリンタ120から情報処理装置130に知らせるための通知である。情報処理装置によっては、仮想プリンタ120からの能力情報の更新通知を受信できないものがある。またイベント受信制御部308は、情報処理装置130がイベントを受信可能であるか否かを判定する。イベントの受信とは、OSサービスがクラウド基盤と連携して提供するイベント配信サービス経由で通知を受け取ることを指す。このようなサービスを利用すると、イベントの送信側は、受信側がメッセージを受信できるまで再送する責務を負う必要がない。イベントの受信の可否は、後述する方法で、情報処理装置から仮想プリンタ120に通知される。情報処理装置130がイベントを受信できる場合、イベント受信制御部308はデータ通信制御部310を介して、仮想プリンタ120から送られてくる能力情報の更新通知を受信する。
続いて仮想プリンタ120について説明する。仮想プリンタ120の実体はインターネット103上のクラウドサーバである。この仮想プリンタ120は、情報処理装置130から送信された印刷ジョブを留め置く。その後、仮想プリンタ120は、印刷装置110からの要求に応じて、留め置いている印刷ジョブを、その印刷装置に送信して印刷させる。
図4は、実施形態に係る仮想プリンタ120のハードウェア構成を説明するブロック図である。ここではインターネットと上のクラウドサーバであるため、そのハードウェア構成は、一般的なPC(パーソナルコンピュータ)などと同じである。
CPU411は、ROM412又はストレージ414に記憶されたプログラムをRAM413に展開し、その展開したプログラムを実行して仮想プリンタ120の全体の制御や各種機能を実現する。ROM412は、CPU411で実行可能な制御プログラムやブートプログラム等を格納する。RAM413は、CPU411の主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ414は、印刷ジョブ、各種プログラム、及び各種設定情報を記憶する。実施形態では、ストレージ414としてHDD等の補助記憶装置を想定しているが、SSD等の不揮発性メモリを用いても良い。通信部I/F415は、インターネット103を経由して、LAN100上の情報処理装置130、LAN102上の印刷装置110との間で、メッセージや印刷ジョブの送受信を行う。
図5は、実施形態に係る仮想プリンタ120のソフトウェア構成を説明する機能ブロック図である。尚、図5に示す各機能ブロックは、実施形態では、CPU411がRAM413に展開したプログラムを実行することによって達成されるものとする。
IPP Infra Service500は、仮想プリンタ管理部510、ジョブ管理部520を有している。仮想プリンタ管理部510は、仮想プリンタ120に関する情報の管理を行う。IPP通信メッセージ処理部515は、IPP通信メッセージの受信と、生成及び送信を行う。クライアント情報処理部511は、IPP通信メッセージ処理部515が受信したメッセージを解析し、情報処理装置130の情報を取得する。またクライアント情報処理部511は、情報処理装置130から受信した能力情報要求のメッセージ内容から、情報処理装置130がイベントを受信可能かどうか判定する。情報処理装置130がイベントを受信可能である場合、クライアント情報処理部511は、取得した情報処理装置130の情報をクライアントDB512に保存する。クライアントDB512は、イベントの受信が可能である情報処理装置を記憶するための領域である。
プリンタ情報処理部513は、IPP通信メッセージ処理部515が受信したIPP通信メッセージから、仮想プリンタ120に対応する印刷装置110の能力情報を取得する。またプリンタ情報処理部513は、取得した印刷装置110の能力情報をプリンタDB514に保存する。プリンタDB514は、印刷装置110の能力情報を保存するための領域である。仮想プリンタ能力情報生成部516は、仮想プリンタ120の能力情報を情報処理装置130に通知する際に、プリンタDB514に保存されている印刷装置110の能力情報に基づいて仮想プリンタ120の能力情報を生成し、IPP通信メッセージ処理部515に渡す。イベント通知制御部517は、情報処理装置130への能力情報の更新通知に関する制御を行う。
ジョブ管理部520は、情報処理装置130から受信した印刷ジョブを管理する。仮想キュー・ホストジョブ制御部521は、印刷ジョブの制御を行う。ホストジョブ生成部522は、IPP通信メッセージ処理部515が情報処理装置130から受信したIPP通信メッセージから得た印刷ジョブを取得し、ホストジョブ保存部523に保存する。ホストジョブ保存部523は、情報処理装置130から送信された印刷ジョブを留め置くための保存領域である。仮想プリントキュー・印刷ジョブ制御部524は、ホストジョブ保存部523に保存されている印刷ジョブのPDL形式が、印刷を実行する印刷装置において扱うことが可能か否か判定する。印刷ジョブのPDL形式が印刷装置が扱うことができない場合は、扱うことが可能なPDL形式へ変換する。こうして変換された印刷ジョブは、変換ジョブ保存部525に保存される。変換ジョブ保存部525は、印刷装置110からの送信要求に応じて、その要求された印刷ジョブを印刷装置110に送信する。データ通信制御部530は、通信部I/F415を介して行われるデータの送受信を制御する。
図6は、実施形態に係る印刷システムにおける情報処理装置130、仮想プリンタ120及び印刷装置110との間のデータのやり取りを示すシーケンス図である。尚、図6は、情報処理装置130が能力情報の保持が許可されている場合の例を示している。
S601でユーザは、情報処理装置130の印刷アプリケーション301から印刷画面を開いて仮想プリンタを選択する。S602で情報処理装置130は、自身がイベントの受信が可能かどうか判定する。そしてS603で情報処理装置130は、仮想プリンタ120に対して能力情報を要求する。この例において情報処理装置130は、イベント配信サービスに対応するため、能力情報の要求(Get-Printer-Attributes Request)は、情報処理装置130がイベントの受信が可能であることを示す判定結果を示す情報を含む。IPP通信メッセージの具体的な内容は、図13を参照して後述する。
この能力情報の要求を受信した仮想プリンタ120はS604で、その受信したメッセージから、情報処理装置130がイベントを受信可能かどうか判定する。ここでは情報処理装置130は、イベントを受信可能である。このためS605で仮想プリンタ120は、この情報処理装置130をクライアントDB512に登録する。これにより情報処理装置130は、仮想プリンタ120からの能力情報の更新通知を受信できる情報処理装置として登録されたことになる。次にS606で仮想プリンタ120は、S603で受信した能力情報の要求に対する応答メッセージを送信する。ここでは情報処理装置130がイベントを受信可能であるため、送信するIPP通信メッセージ(Get-Printer-Attributes Response)は、通知する能力情報とともに、その能力情報の保持を許可することを示す情報を含んで送信される。IPP通信メッセージの具体的な内容は、図13を参照して後述する。
これによりS607で情報処理装置130は、S606で受信した能力情報に基づいて印刷設定画面の作成及び表示を行う。
これによりS608でユーザは、表示された印刷設定画面から所望の印刷設定を行った後、印刷データを送信するように要求する操作を行う。これによりS609で情報処理装置130は、ユーザが入力した印刷設定に基づいて印刷ジョブを作成する。そして情報処理装置130はS610で、その作成した印刷ジョブを仮想プリンタ120に送信する。このときS611で情報処理装置130は、仮想プリンタ120の能力情報の保持が許可されているため、S606で取得した能力情報を仮想プリンタ情報管理部306に保持する。
この後、S612で印刷装置110から仮想プリンタ120に印刷ジョブが要求されると、仮想プリンタ120はS613で、その要求された印刷ジョブを印刷装置に送信する。これにより印刷装置110はS614で、その印刷ジョブを実行して、ユーザが所望する印刷物が得られることになる。
こうして、情報処理装置130が1度目の印刷ジョブを作成して送信した後、S615で、印刷装置110のある印刷装置(例えば印刷装置111)が縮退モードへ移行し、使用可能な機能が削減される。それに伴ってS616で印刷装置110は、自身の能力情報を更新する。そしてS617で印刷装置110は、変化後の印刷装置110の能力情報を仮想プリンタ120に通知する。これは例えば図1の例で、印刷装置112のステープル機能が針の補充待ちで使用できなくなった場合、その能力情報は、2つの印刷装置111,112の能力の論理積からA3サイズの用紙への印刷機能のみとなる。
これにより仮想プリンタ120はS618で、S617で取得した印刷装置110の能力情報に基づいて仮想プリンタ120の能力情報を更新する。この仮想プリンタ120の能力情報の更新に伴い、S619で仮想プリンタ120は、クライアントDB512から能力情報の更新の通知先リストを取得する。能力情報の更新の通知先リストは、仮想プリンタ120が、能力情報の保持を許可した情報処理装置の一覧を示すリストである。
そしてS620で仮想プリンタ120は、S619で取得したリストに含まれる、更新対象の情報処理装置に対して、能力情報の更新通知を送信する。この能力情報の更新通知は、仮想プリンタ120において、能力情報が更新されたことを情報処理装置130に知らせる通知である。尚、S620の各装置に更新通知を配信するタイミング(時間)を、適宜ずらして分散させてもよい。これは、各装置からリクエストされる能力情報の再取得要求のタイミングを分散させる効果がある。これにより同タイミングで多数のリクエストが仮想プリンタ120に対して送信されることが抑制され、仮想プリンタ120上における単位時間あたりの負荷を低減することができる。
この更新通知を受信した情報処理装置130はS621で、仮想プリンタ120に対して、その更新された能力情報を要求し、S622で情報処理装置130は、更新された能力情報を仮想プリンタ120から取得する。そしてS623で情報処理装置130は、その取得した能力情報に基づいて、仮想プリンタ情報管理部306で保持している仮想プリンタ120の能力情報を更新する。これにより印刷装置110の能力情報と情報処理装置130が保持している仮想プリンタ120の能力情報との同期がとれたことになる。
続いてS624でユーザは、情報処理装置130で印刷画面を開き、仮想プリンタを選択する。そしてS625で情報処理装置130は、仮想プリンタ情報管理部306にアクセスし、S623で更新した仮想プリンタ120の能力情報を基に印刷設定画面の作成及び表示を行う。そしてS626でユーザは、その表示された印刷設定画面から所望の印刷設定を行って印刷データを送信するための操作を行う。これにより情報処理装置130はS627で、ユーザが入力した印刷設定を基に印刷ジョブを作成し、S628で、その印刷ジョブを仮想プリンタ120に送信する。そしてS629〜S631で、前述のS612〜S614と同様に、印刷装置110から仮想プリンタ120に印刷ジョブを要求し、仮想プリンタ120が、その要求された印刷ジョブを印刷装置に送信することより、印刷装置110で、その印刷ジョブが実行される。
このように情報処理装置130が仮想プリンタ120からイベントを受信可能である場合は、仮想プリンタ120は、情報処理装置130に対して、仮想プリンタ120の能力情報の保持を許可する。そして印刷装置110の能力情報が更新されて仮想プリンタ120に保存されている能力情報が更新されると、情報処理装置130に対して能力情報の更新通知が送信される。これにより情報処理装置130は、その更新通知に応答して仮想プリンタ120に保存されている能力情報を再取得する。これにより情報処理装置130は、最新の仮想プリンタ120の能力情報に従って印刷ジョブを作成することができる。
図7は、実施形態に係る情報処理装置130が能力情報の保持が禁止されている場合の仮想プリンタ120の能力情報の更新処理を示すシーケンス図である。
S701で情報処理装置130は、仮想プリンタ120に対して、イベント配信サービス700の生成を要求する。このイベント配信サービス700は、イベント配信サーバ140で動作し、仮想プリンタ120の状態を監視する。またイベント配信サービス700は、仮想プリンタ120における能力情報の更新を検知すると、その能力情報の更新を情報処理装置130に通知する。
S702で仮想プリンタ120は、イベント配信サーバ140においてイベント配信サービス700を生成する。そしてS703で仮想プリンタ120は、情報処理装置130に対して、イベント配信サービスの生成要求に対する応答を送信する。この応答によって仮想プリンタ120は、イベント配信サービス700の生成が成功したことを情報処理装置130に通知する。
これによりS704で情報処理装置130は、イベント配信サービス700に対して、更新された能力情報を通知するように要求する。
その後、S705で仮想プリンタ120の能力情報が更新されるとイベント配信サービス700は、仮想プリンタ120の能力情報が更新されたことを検知する。そしてS706でイベント配信サービス700は、情報処理装置130に対して、仮想プリンタ120の能力情報が更新されたことを通知する。こうして情報処理装置130は、この能力情報の更新通知を受信することによって、仮想プリンタ120の能力情報が更新されたことを検知することができる。
図8は、実施形態に係る印刷システムにおける情報処理装置130、仮想プリンタ120、及び印刷装置110との間のデータのやり取りを示すシーケンス図である。尚、図8は前述の図6と異なり、情報処理装置130が能力情報の保持が禁止されている場合の例を示している。
S801でユーザは、情報処理装置130の印刷アプリケーション301から印刷画面を開いて仮想プリンタを選択する。これにより情報処理装置130はS802で、自身がイベントを受信可能かどうか判定する。ここでは報処理装置130は、イベントの受信が不可であるとして説明する。S803で情報処理装置130は、仮想プリンタ120に対して能力情報を要求する。この例において情報処理装置130は、イベント配信に対応していないため能力情報の要求(Get-Printer-Attributes Request)は、情報処理装置130がイベントの受信が不可であることを示す情報を含む。IPP通信メッセージの具体的な内容は図13を参照して後述する。
S804で仮想プリンタ120は、情報処理装置130から受信したIPP通信メッセージに基づいて、情報処理装置130がイベントの受信が可能かどうか判定する。この例では、情報処理装置130はイベントの受信が不可であるため、仮想プリンタ120は、その情報処理装置をクライアントDB512へ登録しない。そしてS805で仮想プリンタ120は、S803で受信した能力情報の要求に対する応答メッセージを送信する。ここで情報処理装置130は、イベントの受信が不可であるため、IPP通信メッセージ(Get-Printer-Attributes Response)は、通知する能力情報とともに、能力情報の保持を禁止することを示す情報が含まれて送信される。具体的なメッセージは、図13を参照して後述する。
S806で情報処理装置130は、受信した能力情報の応答メッセージから、能力情報の保持が禁止されているかどうか判定する。そしてS807で情報処理装置130は、受信した能力情報に基づいて、印刷設定画面の作成及び表示を行う。
続いてS808でユーザは、その印刷設定画面を介して所望の印刷設定を行った後、情報処理装置130に対して印刷データの送信要求を行う。
これによりS809で情報処理装置130は、ユーザが入力した印刷設定に基づいて印刷ジョブを生成する。そしてS810で情報処理装置130は、その生成した印刷ジョブを仮想プリンタ120に送信する。そしてS811で情報処理装置130は、仮想プリンタ120の能力情報の保持が禁止されているため、S805で受信した能力情報を保持せず廃棄する。このS811は、前述の図6のS611と大きく異なる点である。
この後、S812〜S814で、前述の図6のS612〜S614と同様に、印刷装置110から仮想プリンタ120に印刷ジョブが要求され、仮想プリンタ120はその要求された印刷ジョブを印刷装置に送信する。これにより印刷装置110はS814で、その印刷ジョブを実行して、ユーザが所望する印刷物が得られることになる。
こうして、情報処理装置130が1度目の印刷ジョブを作成して送信した後、S815で、印刷装置110が縮退モードへ移行して、印刷装置110の使用可能な機能が削減される。それに伴いS816で印刷装置110は、その縮退に応じて、自身の能力情報を更新する。そしてS817で印刷装置110は、更新後の印刷装置110の能力情報を仮想プリンタ120に通知する。これは前述の図6のS615〜S617と同じである。
これによりS818で仮想プリンタ120は、能力情報を更新する。仮想プリンタ120の能力情報の更新に伴い、S819で仮想プリンタ120は、クライアントDB512から能力情報の更新の通知先リストを取得する。この例では情報処理装置130はクライアントDB512に登録されていないため、仮想プリンタ120は、この能力情報の更新通知を情報処理装置130に対して送信しない。従って、図6のS620〜S623に示すような、仮想プリンタ120から情報処理装置130への能力情報の更新通知が実行さない。
こうして仮想プリンタ120の能力情報が更新された後、ユーザは、再度、印刷ジョブの作成を行う。S820でユーザは、情報処理装置130の印刷アプリケーション301から印刷画面を開いて、仮想プリンタ120を選択する。そしてS821で情報処理装置130は、イベントの受信が不可であることを示す情報を含めて仮想プリンタ120に、その能力情報を要求する。
これによりS822で仮想プリンタ120は、受信したIPP通信メッセージに基づいて、情報処理装置130がイベントを受信不可であるか否か判定する。そしてS823で仮想プリンタ120は、情報処理装置130がイベントの受信が不可であるため、情報処理装置130に、能力情報の保持禁止を示す情報を含めて能力情報を通知する。
S824で情報処理装置130は、受信した能力情報の応答メッセージから、能力情報の保持が禁止されているかどうか判定する。そしてS825で情報処理装置130は、受信した能力情報から印刷設定画面の作成及び表示を行う。
そしてS826でユーザは、その印刷設定画面を介して所望の印刷設定を行い、印刷データの送信要求を行う。これにより情報処理装置130はS827で、ユーザが入力した印刷設定に基づいて印刷ジョブを作成する。そしてS828で情報処理装置130は、その作成した印刷ジョブを仮想プリンタ120に送信する。そしてS829で情報処理装置130は、能力情報の保持が禁止されているため、その能力情報を仮想プリンタ情報管理部306に登録せずに廃棄する。尚、仮想プリンタ120の能力情報の更新後の印刷ジョブ作成のシーケンスは、前述のS801〜S814と同じシーケンスとなるため、その説明を省略する。またS830〜S832の処理も、前述のS812〜S814の処理と同じであるため、その説明を省略する。
以上説明したように情報処理装置130が仮想プリンタ120からイベントを受信できない場合、仮想プリンタ120は、情報処理装置130に対して、仮想プリンタ120の能力情報の保持を禁止する。これにより情報処理装置は、印刷ジョブを作成した後、能力情報を保持せず、印刷ジョブを作成する度に、仮想プリンタ120から能力情報を取得する。これにより情報処理装置130は、イベントを受信できない場合でも、仮想プリンタ120の最新の能力情報に基づいて印刷ジョブを作成できる。
図9は、実施形態に係る情報処理装置130が実行する処理を説明するフローチャートである。尚、このフローチャートで示す処理はCPU201がRAM203に展開したプログラムを実行することにより実現される。尚、このフローチャートで示す処理は、ユーザが印刷画面で仮想プリンタ120を選択した後、1度目の印刷ジョブを仮想プリンタ120に送信するまでの処理で示している。
まずS901でCPU201はイベント受信制御部308として機能し、情報処理装置130がイベントを受信可能かどうか判定する。ここでイベントを受信可能と判定するとS902に進み、そうでないときはS907に進む。S911でCPU201はIPP通信メッセージ処理部304として機能し、情報処理装置130がイベントを受信可能であることを示す情報を含めた能力情報の要求メッセージを生成し、データ通信制御部310を通じて仮想プリンタ120に送信する。
その後、S903でCPU201はIPP通信メッセージ処理部304として機能し、仮想プリンタ120からデータ通信制御部310を通じて応答メッセージを受信する。そしてCPU201は仮想プリンタ情報処理部305として機能し、その受信した応答メッセージから能力情報を取得してRAM203に一時的に記憶する。
次にS904でCPU201は印刷画面制御部311として機能し、ユーザの操作に応じて、仮想プリンタ情報処理部305が取得した能力情報を用いて印刷設定画面を作成して操作部I/F207を介してタッチパネル208に表示する。そしてS905でCPU201はIPPクライアント制御部303として機能し、印刷設定画面を介してユーザが入力した設定内容を印刷画面制御部311から取得する。そしてCPU201は印刷ジョブ生成部307として機能して、印刷アプリケーションで生成した印刷データに基づいて印刷ジョブを生成する。そしてCPU201は、その生成した印刷ジョブをプリントスプーラ309に保存し、データ通信制御部310を経由して仮想プリンタ120に順次送信する。そしてS906に進みCPU201は仮想プリンタ情報処理部305として機能し、RAM203に保持されている能力情報を仮想プリンタ情報管理部306に登録して、この処理を終了する。
一方、S901で情報処理装置130がイベントの受信が不可であると判定した場合はS907に進む。S907でCPU201はIPP通信メッセージ処理部304として機能し、情報処理装置130がイベントの受信が不可であることを示す情報を含めた能力情報の要求メッセージを生成し、データ通信制御部310により仮想プリンタ120に送信する。そしてS908でCPU201はIPP通信メッセージ処理部304として機能し、仮想プリンタ120からの応答メッセージを受信すると、その受信した応答メッセージから能力情報を取得してRAM203に一時的に記憶する。
次にS909に進みCPU201は仮想プリンタ情報処理部305として機能し、受信した応答メッセージの内容から、能力情報の保持が禁止されているか否か判定する。ここで能力情報の保持が禁止されていると判定したときはS910に進む。S910でCPU201は印刷画面制御部311として機能し、取得した能力情報を用いて印刷設定画面を作成し、その印刷設定画面を操作部I/F207を介してタッチパネル208に表示する。そしてS911でCPU201は印刷ジョブ生成部303として機能し、ユーザが入力した設定内容を取得する。そしてCPU201は印刷ジョブ生成部307として機能し、その印刷設定に基づいて印刷ジョブを生成して仮想プリンタ120に送信する。そしてS912に進みCPU201は仮想プリンタ情報処理部305として機能し、RAM203に保持されている能力情報を、仮想プリンタ情報管理部306に登録せずにクリア(廃棄)して、この処理を終了する。
またS903でCPU201は、能力情報の保持が禁止されていないと判定したときはS913に進む。S913でCPU201は、S904,S910と同様に、印刷設定画面を表示し、続いてS914で、S905,S911と同様にして印刷ジョブの作成と送信を行う。そしてS915に進みCPU201は仮想プリンタ情報処理部305として機能し、RAM203に保持されている能力情報を、仮想プリンタ情報管理部306に登録して、この処理を終了する。
この処理により情報処理装置130は、イベントの受信が可能であれば、仮想プリンタ120から取得した能力情報を保存できるため、一々、仮想プリンタ120に問い合わせなくても、能力情報に応じた印刷ジョブを作成できる。また、イベントの受信が不可で、能力情報の保存が禁止されていれば仮想プリンタ120から取得した能力情報を保存しない。これにより、仮想プリンタの能力情報が変化した際に、情報処理装置が保持している仮想プリンタの能力情報と、実際の仮想プリンタの能力情報との間に差異が生じることがなくなる。
図10は、実施形態に係る仮想プリンタ120による処理を説明するフローチャートである。尚、このフローチャートで示す処理はCPU411がRAM413に展開したプログラムを実行することにより実現される。また、ここでは仮想プリンタ120が、情報処理装置130からの能力情報の要求を受信し、情報処理装置130に能力情報を通知するまでの処理を示している。
まずS1001でCPU411はクライアント情報処理部511として機能し、後述の能力情報要求メッセージ1301(図13)で通知されたイベント受信可否情報1302に基づき、情報処理装置130が、イベント配信サーバ140を経由してイベント(能力情報の更新通知)の受信が可能かどうか判定する。ここで、情報処理装置130がイベントの受信が可能と判定するとS1002に進む。S1002でCPU411は仮想プリンタ能力生成部516として機能し、プリンタDB514に保存されている印刷装置110の能力情報に基づいて仮想プリンタ120の能力情報を生成してIPP通信メッセージ処理部515に渡す。これによりIPPメッセージ処理部515は、情報処理装置130に能力情報の保持を許可するために、能力情報の保持を許可する情報を含めた能力情報通知メッセージを生成し、データ通信制御部530を通じて情報処理装置130に送信する。そしてS1003に進みCPU411はクライアント情報処理部511として機能し、能力情報の保持を許可した情報処理装置130を登録するクライアントDB512に、この情報処理装置130を登録して、この処理を終了する。
またS1001でCPU411は、情報処理装置130がイベントの受信が不可と判定するとS1004に進む。S1004でCPU411は仮想プリンタ能力生成部516として機能し、プリンタDB514に保存されている印刷装置110の能力情報に基づいて仮想プリンタ120の能力情報を生成してIPP通信メッセージ処理部に渡す。このときCPU411はIPPメッセージ処理部515として機能し、情報処理装置130に能力情報の保持を禁止するための情報を含めた能力情報通知メッセージを生成して情報処理装置130に送信する。
この処理により、能力情報の更新通知を受信できない情報処理装置に対しては、能力情報の保持を禁止し、能力情報の更新通知を送信する対象の情報処理装置として登録しない。一方、能力情報の更新通知を受信できる情報処理装置に対しては、能力情報の保持を許可し、能力情報の更新通知を送信する対象の情報処理装置として登録する。これにより、能力情報が更新されたときは、登録されている情報処理装置に、その更新通知が送られるため、情報処理装置が保持している能力情報と、仮想プリンタの能力情報との齟齬が生じることがなくなる。
図11は、実施形態に係る仮想プリンタ120による処理を説明するフローチャートである。尚、このフローチャートで示す処理はCPU411がRAM413に展開したプログラムを実行することにより実現される。また、ここでは仮想プリンタ120が、情報処理装置130に能力情報の保持を許可した後、仮想プリンタ120の能力情報を更新する際の動作を示している。
まずS1101でCPU411はIPP通信メッセージ処理部515として機能し、印刷装置110からデータ通信制御部530を通じて能力情報の通知メッセージを受信する。そしてCPU411はプリンタ情報処理部513として機能し、受信したメッセージから印刷装置110の最新の能力情報を取得してプリンタDB514に保存する。こうして仮想プリンタ能力情報生成部516は、プリンタDB514に保存された印刷装置110の能力情報に基づいて、仮想プリンタ120の能力情報を更新する。次にS1102に進みCPU411はイベント通知制御部517として機能し、クライアントDB512から、能力情報の更新通知が必要な情報処理装置のリストを取得する。そしてS1103に進みCPU411はイベント通知制御部517として機能し、取得したリストに含まれる、送信対象の情報処理装置に対して、データ通信制御部530を通じて能力情報の更新を通知する。
この処理により仮想プリンタは、集約して管理している印刷装置の能力情報が更新されたときは、登録されている情報処理装置に、その更新通知を送信することができる。
図12は、実施形態に係る情報処理装置130による処理を説明するフローチャートである。尚、このフローチャートで示す処理はCPU201がRAM203に展開したプログラムを実行することにより実現される。この処理は、情報処理装置130が能力情報の保持を許可されている場合における、仮想プリンタ120の能力情報の更新時の動作を示している。
まずS1201でCPU201はイベント受信制御部308として機能し、仮想プリンタ120から能力情報の更新通知を受信する。次にS1202に進みCPU201はIPP通信メッセージ処理部306として機能し、その更新された能力情報を要求するメッセージを生成して仮想プリンタ120に送信する。次にS1203に進みCPU201は仮想プリンタ情報管理部306として機能し、IPP通信メッセージ処理部304が受信した能力情報の通知メッセージから、仮想プリンタ120の更新された能力情報を取得する。そしてS1204に進みCPU201は仮想プリンタ情報処理部305として機能し、仮想プリンタ情報管理部306に保持している仮想プリンタ120の能力情報を更新して、この処理を終了する。
こうして情報処理装置は、保持している仮想プリンタの能力情報を、最新の能力情報に更新することができる。
図13は、実施形態に係る情報処理装置130と仮想プリンタ120のIPP通信のメッセージの一例を示す図である。図13の例は、情報処理装置130においてイベント通知の受信が不可である場合の例を示している。
1301は、仮想プリンタ120から情報処理装置130に送信される能力情報要求メッセージの一例(Get-Printer-Attributes Request)を示す。この能力情報要求メッセージ1301は、イベント受信可否情報1302を含んでいる。イベント受信可否情報1302は、情報処理装置130がイベント配信サーバ140経由でイベント受信が可能であるかを示す情報である。「event-notification-supported」の値は、情報処理装置130がイベントの受信が可能な場合は「true」、イベントの受信が不可の場合は「false」となる。図13では、情報処理装置130はイベント受信を行うことができないため、「event-notification-supported」の値は「false」となっている。
仮想プリンタ120のクライアント情報処理部511は、受信した能力情報要求メッセージ1301に含まれるイベント受信可否情報1302を参照し、情報処理装置130がイベント受信可能であるか判定する。
1303は、能力情報要求メッセージ1301に対する仮想プリンタ120からの能力情報応答メッセージの一例(Get-Printer-Attributes Response)を示す。応答メッセージ1303は、能力情報の保持禁止情報1304を含んでいる。能力情報の保持許可/禁止情報1304は、情報処理装置130に対して、応答メッセージ1303で通知する能力情報の保持を禁止するか否かを示す情報である。「attributes-save-prohibited」の値は、仮想プリンタ120が情報処理装置130に能力情報の保持を禁止する場合は「true」、能力情報の保持を許可する場合は「false」となる。図13では、仮想プリンタ120が、能力情報要求メッセージ1301から情報処理装置130がイベントの受信が不可であると判定する。従って仮想プリンタ120は、情報処理装置130に対して、通知した能力情報の保持を禁止するため、「attributes-save-prohibited」の値を「true」にする。情報1304は、能力情報の保持を制限するための情報の一例であり、これに限定されるものではない。例えば、情報1304の代わりに情報をキャッシュ可能な有効期限を示す情報などを通知するようにしてもよい。当該有効期限は、例えば30分や12時間などを適用することができる。また、当該有効期限を仮想プリンタ120の管理者等が変更できるようにすることもできる。
情報処理装置130の仮想プリンタ情報処理部305は、受信した応答メッセージ1302に含まれる能力情報の保持を禁止するかどうかを示す保持許可/禁止情報1304を参照し、印刷ジョブを作成した後に、取得した仮想プリンタ120の能力情報を保持するか否か判定する。なお、保持許可/禁止情報1304の代わりに有効期限を通知する場合、情報処理装置130は、図6のS601のタイミングで、保持している能力情報が有効期限切れでないか判定する。有効期限切れであると判定した場合、能力情報を再要求し、新しい能力情報を課総プリンタ120から取得の上、当該能力情報を保持する。一方、有効期限切れでないと判定した場合、保持している能力情報をそのまま利用する。
以上説明したように実施形態によれば、仮想プリンタの能力情報が動的に変化する場合でも、ユーザが使用する情報処理装置がイベント受信可能であるか否かに拘わらず、情報処理装置において最新の仮想プリンタの能力情報に基づいて印刷ジョブを作成できる。これにより、仮想プリンタの能力情報が動的に変化する場合であっても、情報処理装置が、印刷装置が実行できない印刷ジョブを作成するという事態の発生を防止できる。
(変形例)
上述の実施形態では、能力情報が変化した場合に、仮想プリンタからプッシュ通知する構成を前提として説明したが、これに限定されるものではない。例えば、何れの情報処理装置に対しても能力情報とともに、当該能力情報のキャッシュ利用を抑制するための情報を応答するように構成してもよい。この場合、能力情報の要求を受信した仮想プリンタ120のCPU411は、当該要求に対する応答として図10のS1004で説明した、能力情報の保持を制限するための情報(禁止情報や有効期限を示す情報)を含む能力情報通知を送信すればよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
130…情報処理装置、110…印刷装置、120…仮想プリンタ、140…イベント配信サーバ

Claims (18)

  1. アプリケーションを実行して印刷ジョブを作成する少なくとも一つの情報処理装置と、複数の印刷装置を集約した印刷サービスを提供するサーバとを有する印刷システムであって、
    前記情報処理装置は、
    前記複数の印刷装置の能力を示す能力情報を前記サーバに要求する要求手段と、
    前記能力情報に応じた印刷設定に従って生成した印刷ジョブを前記サーバに送信する送信手段と、を有し、
    前記サーバは、
    前記要求手段による要求に応じて前記能力情報を前記情報処理装置に通知する第1通知手段と、
    前記印刷ジョブを受信して保持する保持手段と、
    前記複数の印刷装置のいずれかにおける前記能力の変化に応じて、前記能力情報を更新する更新手段と、
    前記更新手段により更新された能力情報を、更新対象の情報処理装置に通知する第2通知手段と、を有し、
    前記更新対象の情報処理装置は、前記第1通知手段により通知された前記能力情報の保存が許可された情報処理装置であることを特徴とする印刷システム。
  2. 前記情報処理装置は、更に、イベントの受信が可能か否か判定する判定手段を有し、
    前記要求手段は、前記判定手段による判定結果を含めて前記サーバに要求することを特徴とする請求項1に記載の印刷システム。
  3. 前記サーバは、前記要求に含まれた前記判定結果がイベントの受信が可能であることを示している場合、前記情報処理装置を前記更新対象の情報処理装置として登録する登録手段を、更に有することを特徴とする請求項2に記載の印刷システム。
  4. 前記サーバは、前記要求に含まれた前記判定結果がイベントの受信が可能であることを示している場合、前記第1通知手段による前記通知に、前記情報処理装置に前記能力情報の保持を許可する情報を含ませることを特徴とする請求項2に記載の印刷システム。
  5. 前記サーバは、前記要求に含まれた前記判定結果がイベントの受信が不可であることを示している場合、前記第1通知手段による前記通知に、前記情報処理装置に前記能力情報の保持を禁止する情報を含ませることを特徴とする請求項2に記載の印刷システム。
  6. 前記情報処理装置は、前記能力情報の保持を許可する前記情報に応じて、前記サーバから通知された前記能力情報を保存する保存手段を、更に有することを特徴とする請求項4に記載の印刷システム。
  7. 前記情報処理装置は、前記保存手段に保存された前記能力情報に基づいて、ユーザに前記印刷設定を入力させるための画面を表示する表示手段を、更に有することを特徴とする請求項6に記載の印刷システム。
  8. 前記情報処理装置は、前記第1通知手段或いは前記第2通知手段により通知された前記能力情報に基づいて、ユーザに前記印刷設定を入力させるための画面を表示する表示手段を、更に有することを特徴とする請求項1乃至7のいずれか1項に記載の印刷システム。
  9. 前記印刷システムは、更にイベント配信サーバを有し、
    前記情報処理装置は、前記判定結果がイベントの受信が不可であることを示している場合、前記サーバに対して前記イベント配信サーバによるイベント配信サービスを要求し、当該イベント配信サービスにより、前記更新手段により更新された前記能力情報を受け取ることを特徴とする請求項2に記載の印刷システム。
  10. ネットワークを介して、複数の印刷装置を集約した印刷サービスを情報処理装置に提供するサーバであって、
    前記情報処理装置からの要求に応じて、前記複数の印刷装置の能力を示す能力情報を前記情報処理装置に通知する第1通知手段と、
    前記要求に含まれる情報に基づいて、前記情報処理装置を、更新対象の情報処理装置として登録する登録手段と、
    印刷ジョブを受信して保持する保持手段と、
    前記複数の印刷装置のいずれかにおける前記能力の変化に応じて、前記能力情報を更新する更新手段と、
    前記更新手段により更新された能力情報を、前記登録手段に登録されている前記更新対象の情報処理装置に通知する第2通知手段と、を有し、
    前記複数の印刷装置のいずれかから前記保持手段に保持している印刷ジョブが要求されると、当該印刷ジョブを、要求した印刷装置に送信して印刷させることを特徴とするサーバ。
  11. 前記登録手段は、前記要求に含まれる前記情報が、前記情報処理装置がイベントの受信が可能であることを示している場合、前記情報処理装置を、更新対象の情報処理装置として登録することを特徴とする請求項10に記載のサーバ。
  12. 前記要求に含まれる前記情報が、前記情報処理装置がイベントの受信が可能であることを示している場合、前記第1通知手段は、前記情報処理装置に前記能力情報の保持を許可する情報を前記通知に含ませることを特徴とする請求項10に記載のサーバ。
  13. 前記要求に含まれる前記情報が、前記情報処理装置がイベントの受信が不可であることを示している場合、前記第1通知手段は、前記情報処理装置に前記能力情報の保持を禁止する情報を前記通知に含ませることを特徴とする請求項10に記載のサーバ。
  14. アプリケーションを実行して印刷ジョブを作成する少なくとも一つの情報処理装置と、複数の印刷装置を集約した印刷サービスを提供するサーバとを有する印刷システムを制御する制御方法であって、
    前記情報処理装置は、
    前記複数の印刷装置の能力を示す能力情報を前記サーバに要求する要求工程と、
    前記能力情報に応じた印刷設定に従って生成した印刷ジョブを前記サーバに送信する送信工程と、を実行し、
    前記サーバは、
    前記要求工程による要求に応じて前記能力情報を前記情報処理装置に通知する第1通知工程と、
    前記印刷ジョブを受信して保持する保持工程と、
    前記複数の印刷装置のいずれかにおける前記能力の変化に応じて、前記能力情報を更新する更新工程と、
    前記更新工程により更新された能力情報を、更新対象の情報処理装置に通知する第2通知工程と、を有し、
    前記更新対象の情報処理装置は、前記第1通知工程により通知された前記能力情報の保存が許可された情報処理装置であることを特徴とする制御方法。
  15. ネットワークを介して、複数の印刷装置を集約した印刷サービスを情報処理装置に提供するサーバを制御する制御方法であって、
    前記情報処理装置からの要求に応じて、前記複数の印刷装置の能力を示す能力情報を前記情報処理装置に通知する第1通知工程と、
    前記要求に含まれる情報に基づいて、前記情報処理装置を、更新対象の情報処理装置として登録する登録工程と、
    印刷ジョブを受信して保持する保持工程と、
    前記複数の印刷装置のいずれかにおける前記能力の変化に応じて、前記能力情報を更新する更新工程と、
    前記更新工程により更新された能力情報を、前記登録工程に登録されている前記更新対象の情報処理装置に通知する第2通知工程と、を有し、
    前記複数の印刷装置のいずれかから前記保持工程で保持している印刷ジョブが要求されると、当該印刷ジョブを、要求した印刷装置に送信して印刷させることを特徴とする制御方法。
  16. コンピュータを、請求項10乃至13のいずれか1項に記載のサーバの各手段として機能させるためのプログラム。
  17. ネットワークを介して、複数の印刷装置を集約した印刷サービスを情報処理装置に提供するサーバであって、
    前記情報処理装置からの要求に応じて、前記複数の印刷装置の能力を示す能力情報とともに、当該能力情報のキャッシュ利用に制限を設ける情報を前記情報処理装置に通知する通知手段と、
    印刷ジョブを受信して保持する保持手段と、
    前記複数の印刷装置のいずれかにおける前記能力の変化に応じて、前記能力情報を更新する更新手段と、
    を有し、
    前記複数の印刷装置のいずれかから前記保持手段に保持している印刷ジョブが要求されると、当該印刷ジョブを、要求した印刷装置に送信して印刷させることを特徴とするサーバ。
  18. 当該能力情報のキャッシュ利用に制限を設ける情報は、前記能力情報のキャッシュを禁止することを示す情報であることを特徴とする請求項17に記載のサーバ。
JP2018162104A 2018-08-30 2018-08-30 サーバとその制御方法、並びにプログラム Active JP7208744B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018162104A JP7208744B2 (ja) 2018-08-30 2018-08-30 サーバとその制御方法、並びにプログラム
US16/552,523 US10990334B2 (en) 2018-08-30 2019-08-27 System, server and method of controlling the system and method of controlling the server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018162104A JP7208744B2 (ja) 2018-08-30 2018-08-30 サーバとその制御方法、並びにプログラム

Publications (3)

Publication Number Publication Date
JP2020035233A true JP2020035233A (ja) 2020-03-05
JP2020035233A5 JP2020035233A5 (ja) 2021-09-30
JP7208744B2 JP7208744B2 (ja) 2023-01-19

Family

ID=69641123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018162104A Active JP7208744B2 (ja) 2018-08-30 2018-08-30 サーバとその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US10990334B2 (ja)
JP (1) JP7208744B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4350501A1 (en) 2022-10-05 2024-04-10 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and program and printing system thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019123106A (ja) 2018-01-12 2019-07-25 キヤノン株式会社 画像形成装置、該画像形成装置の制御方法
US11467790B2 (en) * 2020-07-31 2022-10-11 Brother Kogyo Kabushiki Kaisha Image processing apparatus and setting data management system
JP2022089041A (ja) * 2020-12-03 2022-06-15 キヤノン株式会社 情報処理装置、およびアプリケーション
JP2022136579A (ja) * 2021-03-08 2022-09-21 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122888A (ja) * 2007-11-14 2009-06-04 Seiko Epson Corp デバイス制御システム
JP2011039948A (ja) * 2009-08-18 2011-02-24 Ricoh Co Ltd 印刷システム,プリンタドライバ,および印刷装置
JP2016177432A (ja) * 2015-03-19 2016-10-06 株式会社リコー プログラム、情報処理装置、記憶媒体、画面作成方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006259853A (ja) 2005-03-15 2006-09-28 Canon Inc 情報処理装置
JP5571911B2 (ja) 2009-06-22 2014-08-13 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
JP5854654B2 (ja) * 2010-09-30 2016-02-09 キヤノン株式会社 プリントシステム、印刷方法、プリントサーバ、制御方法、及びプログラム
JP5721409B2 (ja) * 2010-12-02 2015-05-20 キヤノン株式会社 印刷システム、画像形成装置、印刷方法、及び、プログラム
JP5943571B2 (ja) * 2011-09-09 2016-07-05 キヤノン株式会社 印刷システム、プリンター、プリントサーバー、及びその方法
JP6147020B2 (ja) * 2013-02-22 2017-06-14 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6288931B2 (ja) * 2013-04-09 2018-03-07 キヤノン株式会社 画像形成装置及びその制御方法とプログラム
JP6603490B2 (ja) 2015-06-26 2019-11-06 キヤノン株式会社 画像形成装置とその制御方法、及び記憶媒体
JP6609140B2 (ja) * 2015-08-25 2019-11-20 キヤノン株式会社 情報処理装置とその制御方法、及びデバイスアプリケーションとプログラム
JP2018099840A (ja) 2016-12-21 2018-06-28 キヤノン株式会社 画像形成装置、給紙制御方法、及びプログラム
US20180239563A1 (en) * 2017-02-17 2018-08-23 Konica Minolta, Inc. Image forming apparatus, information processing system, and method for image forming apparatus and terminal device to communicate
JP2019164517A (ja) 2018-03-19 2019-09-26 キヤノン株式会社 情報処理端末、その制御方法、プログラム、及び画像形成装置
JP7175618B2 (ja) 2018-03-27 2022-11-21 キヤノン株式会社 印刷システム、印刷装置とその制御方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122888A (ja) * 2007-11-14 2009-06-04 Seiko Epson Corp デバイス制御システム
JP2011039948A (ja) * 2009-08-18 2011-02-24 Ricoh Co Ltd 印刷システム,プリンタドライバ,および印刷装置
JP2016177432A (ja) * 2015-03-19 2016-10-06 株式会社リコー プログラム、情報処理装置、記憶媒体、画面作成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4350501A1 (en) 2022-10-05 2024-04-10 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and program and printing system thereof

Also Published As

Publication number Publication date
US20200073603A1 (en) 2020-03-05
US10990334B2 (en) 2021-04-27
JP7208744B2 (ja) 2023-01-19

Similar Documents

Publication Publication Date Title
JP7208744B2 (ja) サーバとその制御方法、並びにプログラム
US11488588B2 (en) Voice control system and control method for controlling printing apparatus
JP6704881B2 (ja) システム
JP2017102817A (ja) 情報処理装置及びその制御方法、プログラム
US20190018624A1 (en) Print system, print apparatus, control method, and storage medium
US10567602B2 (en) Print apparatus and control method for obtaining print data when a print instruction is received by audio
JP2020140439A (ja) 印刷管理プログラム、印刷管理方法、および印刷管理装置
JP2023168372A (ja) アプリケーションプログラム
JP2014179739A (ja) 通信装置、通信装置の制御方法、及びプログラム
JP6489870B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2015107594A (ja) 印刷装置、印刷制御方法及びプログラム
US10673810B2 (en) Mobile terminal that acquires address information of an intended image forming apparatus for printing a print job
JP2022164669A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6843522B2 (ja) 通信装置及びその制御方法、並びにプログラム
JP2015103098A (ja) 情報処理プログラムおよび情報処理装置
JP6486233B2 (ja) 周辺装置、その方法、及びプログラム
US9691010B2 (en) Information processing apparatus, distributed printing system, and method of controlling printing
JP2018081416A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6668769B2 (ja) 情報処理装置、情報処理プログラム、画像形成システム、画像形成システムの制御方法
JP7479867B2 (ja) 印刷装置とその制御方法、及びプログラム
JP2019114249A (ja) 情報処理装置、記録媒体及び情報処理方法
JP2007213583A (ja) 画像処理装置の適応設定方法、媒体、及び設定装置
JP2021026707A (ja) クラウドプリントサービスの提供方法及びサーバ
JP7293268B2 (ja) 通信装置及びその制御方法、並びにプログラム
JP2018024258A (ja) 画像形成装置、および画像形成装置の制御方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210818

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230106

R151 Written notification of patent or utility model registration

Ref document number: 7208744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151