JP2022040993A - 情報処理装置、制御方法及びプログラム - Google Patents

情報処理装置、制御方法及びプログラム Download PDF

Info

Publication number
JP2022040993A
JP2022040993A JP2020145982A JP2020145982A JP2022040993A JP 2022040993 A JP2022040993 A JP 2022040993A JP 2020145982 A JP2020145982 A JP 2020145982A JP 2020145982 A JP2020145982 A JP 2020145982A JP 2022040993 A JP2022040993 A JP 2022040993A
Authority
JP
Japan
Prior art keywords
printer
cloud
print
print job
print service
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.)
Pending
Application number
JP2020145982A
Other languages
English (en)
Inventor
茂樹 黒田
Shigeki Kuroda
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 JP2020145982A priority Critical patent/JP2022040993A/ja
Priority to US17/410,831 priority patent/US11755263B2/en
Publication of JP2022040993A publication Critical patent/JP2022040993A/ja
Pending legal-status Critical Current

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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/1226Discovery of devices having required properties
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1261Job scheduling, e.g. queuing, determine appropriate device by using alternate printing
    • 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/1268Job submission, e.g. submitting print job order or request not the print data itself
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】 CPSのクラウドプリンタに関連付けられたプリンタに対してCPSを経由せずに印刷ジョブを送信できるか否を判定し、結果に基づき、CPSを経由しない経路で印刷ジョブを送信する仕組みを提供することを目的の1つとする。【解決手段】 クラウドプリントサービスと通信する情報処理装置は、クラウドプリントサービス上のクラウドプリンタが出力先として選択されている場合に、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できるか否かを判定する。また情報処理装置は、判定結果に基づき、前記クラウドプリントサービスを経由しない経路で前記クラウドプリンタに関連付けられたプリンタに対して印刷ジョブを送信する。【選択図】 図1

Description

本発明は、印刷データを送信する情報処理装置、制御方法、及びアプリケーションプログラムに関する。
プリンタドライバ等のプリントクライアントを利用し、プリンタに対して印刷データを送信する構成が一般に知られている。情報処理装置には、基本ソフトウェアであるオペレーティングシステム(OS)がインストールされており、プリンタドライバ等のプリントクライアントは、OSから呼び出されて動作する。
また、近年、クラウド経由で印刷ジョブを投入し、プリンタに印刷ジョブを送信するクラウドプリントの仕組みが普及し始めている(特許文献1)。このような印刷システムでは、まず管理者がプリンタを、クラウドプリントサービス(以降、CPSとも呼ぶ)へ登録する。その後、CPSの使用を許可されているユーザは、CPSに登録されたプリンタを出力プリンタとして選択し、所望の印刷設定を行い、CPSに対して印刷ジョブを送信する。印刷ジョブを受信したCPSは選択された出力プリンタに対して当該印刷ジョブを転送する。プリンタは当該転送された印刷ジョブに基づき印刷を実行する。
特開2012-133489号公報
クラウドプリントサービス経由で印刷を行う場合、クラウドを介して印刷ジョブを送信するため、外出先でも、移動体通信網を利用するスマートフォンやタブレット端末等の情報処理装置から簡単に印刷を行うことができるといった利点がある。
一方、情報処理装置のネットワーク環境によっては、CPSを経由せず、ローカルネットワーク経由等で最終的に成果物を取得したいプリンタにアクセスできる場合がある。例えば、ユーザが自分のオフィスに居るときは、そのオフィスのローカルネットワークに情報処理装置を接続することでプリンタにアクセスできる。
ここで、ローカルネットワーク経由で印刷できる場合にまでCPSを使われてしまうと、膨大な印刷ボリュームに対応すべくクラウド側のリソース投資が必要でコストがかかってしまったり、リソースを増強しなければ処理に遅れが生じてしまったりする恐れがある。
このように、ローカルネットワーク経由で印刷できる場合にまでクラウドプリントサービス経由で印刷を行う構成と採用すると、クラウドプリントサービスを提供する事業者のクラウドリソースの維持コストが増大してしまうといった課題がある。
本発明は、上述の問題点の少なくとも1つを鑑みなされたものである。本発明の1つの側面としては、CPSのクラウドプリンタに関連付けられたプリンタに対してCPSを経由せずに印刷ジョブを送信できるか否を判定し、結果に基づき、CPSを経由しない経路で印刷ジョブを送信する仕組みを提供することを目的とする。
上記の少なくとも1つの目的を達成するために本発明の情報処理装置は、クラウドプリントサービスと通信する情報処理装置であって、前記クラウドプリントサービス上のクラウドプリンタが出力先として選択されている場合に、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できるか否かを判定する判定手段と、前記判定手段による判定結果に基づき、前記クラウドプリントサービスを経由しない経路で前記クラウドプリンタに関連付けられたプリンタに対して印刷ジョブを送信する送信制御手段を有することを特徴とする。
本発明の1つの側面としては、CPSのクラウドプリンタに関連付けられたプリンタに対してCPSを経由せずに印刷ジョブを送信できるか否を判定し、結果に基づき、CPSを経由しない経路で印刷ジョブを送信する仕組みを提供できるようになる。
印刷システムの一例を示す図である。 MFP101のハードウェア構成の一例を示す図である。 コンピュータのハードウェア構成の一例を示す図である。 情報処理装置103のソフトウェア構成の一例を示す図である。 印刷システムを用いた印刷シーケンスの一例を示す図である。 情報処理装置103が実行する印刷処理の一例を説明するフローチャートである。 CPS1022に登録されたプリンタを説明する模式図である。 第2の実施形態において、操作部137に表示される設定画面の一例である。 第2の実施形態において、情報処理装置103が実行する印刷処理の一例を説明するフローチャートである。
<第1の実施形態>
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものではなく、また、実施の形態で説明されている特徴の組み合わせのすべてが発明の解決手段に必須のものとは限らない。
まず、図1を用いて、本発明に係る印刷システムの構成を説明する。本実施形態に係る印刷システムは、MFP101、クラウドプリントサービス1022やクラウドストレージサービス1023等を提供するクラウドプラットフォーム102、情報処理装置103を含む。本実施形態では、AWS(登録商標)、Azure(登録商標)、GoogleCloudPlatform(登録商標)等のクラウドプラットフォーム上のサービスの一つとしてクラウドプリントサービス(以下CPS)が提供されることを想定している。
情報処理装置103は、ローカルエリアネットワーク100にも属することができる。本実施形態では、情報処理装置103が持ち運びできるデバイスであるノートPCやタブレット端末、スマートフォン等である場合を想定している。しかしながら、これに限定されるものではなく、スマートウォッチやスマートグラス、VRヘッドセットデバイス等を用いた印刷制御に適用することもできる。
これらの情報処理装置103は、会社や組織等のローカルエリアネットワーク100に接続し、会社内、組織内での業務、活動に使用される場合もある。また、情報処理装置103は、社外や組織外に持ち出されることもある。この場合、情報処理装置103は、公衆無線回線やその他ネットワーク等にはつながっているが、企業や組織内などのファイアウォールが設けられた内部ネットワークに接続されているMFP101とは直接通信を行えない場合がある。
MFP(Multi Function Peripheral)101は、ネットワークを経由して情報処理装置103やクラウドプラットフォーム102が提供するクラウドプリントサービス1022と通信する。本実施形態では、MFP101がクラウドプリントサービス1022の配下の出力プリンタとして登録されている状態を例示している。
続けてCPS1022を経由する印刷について説明する。CPS1022の使用を許可されているユーザは、情報処理装置103を操作し、CPS1022に登録されたプリンタを出力プリンタとして選択する。出力プリンタの選択が完了すると、図示省略の印刷設定画面を介して所望の印刷設定を行う。続けて、ユーザは印刷開始の指示を行い、CPS1022に対して印刷ジョブを送信する。印刷ジョブを受信したCPS1022はプリンタに対して当該印刷ジョブを転送する。プリンタは当該転送された印刷ジョブに基づき印刷を実行する。このような仕組みで図1の経路1で示した通信経路で印刷を行うことができる。
ところで、情報処理装置103が参加するネットワーク環境によっては、CPSを経由せず、ローカルネットワーク経由等で最終的に成果物を取得したいMFP101等のプリンタにアクセスできる場合がある。例えば、情報処理装置103が前述したローカルネットワーク100に接続されている場合、情報処理装置103は、MFP101とローカルエリアネットワーク100を介した経路2で通信を行うことができる。
また情報処理装置のネットワーク環境によっては、CPSを経由せず、ローカルネットワーク経由等で最終的に成果物を取得したいプリンタにアクセスできる場合がある。
ここで、ローカルネットワーク経由で印刷できる場合にまでCPSを使われてしまうと、印刷に対応すべくクラウド側のリソース投資が必要となりコストがかかってしまったり、リソースを増強しなければ処理に遅れが生じてしまったりする恐れがある。
この場合、クラウドリソースを消費せず印刷に必要なデータを転送できる経路2が存在するにも関わらず、クラウド経由での印刷が行われ、クラウドプリントサービスを提供する事業者のクラウドリソース維持コストを圧迫してしまうといった課題がある。
本実施形態では、上述の課題の少なくとも1つを解決する仕組みを提供する。本実施形態ではCPS上の出力プリンタ(クラウドプリンタとも呼ぶ)が選択された場合に、当該出力プリンタに対応するローカルプリンタにCPSを経由せずアクセスできる場合、CPSを経由せず印刷ジョブを送信する仕組みを提供する。以下具体的に説明する。なお、ローカルプリンタとは、シートに画像を印刷するハードウェアリソース(例えば、電子写真方式やインクジェット方式等の印刷方式でシートに画像を印刷するプリントエンジン)を有する装置を意味する。また、CPS上の出力プリンタ並びにクラウドプリンタとは、CPSに登録済みのローカルプリンタにデータを転送する、CPS上で管理される仮想プリンタを意味する。
MFP101は、スキャナを用いて原稿を読み取って得られた画像に基づくデータを外部に送信するスキャン機能や、外部装置から受信した印刷ジョブに基づき紙などのシートに画像を印刷する印刷機能、コピー機能を有する。また、MFP101はCPS1022を経由して印刷ジョブを受信し、印刷を行うこともできる。本実施形態では、印刷装置の一例として複数の機能を有するMFPを例示しているがこれに限定されるものではない。例えば、印刷機能のみを有する単機能の印刷装置などであってもよい。また、印刷装置は、受信した印刷データを配下のプリンタに転送するプリントサーバ等であってもよい。
CPS1022を経由する経路1の通信を行うためのネットワークはLAN、WANなどの通信ネットワーク、セルラネットワーク(例えば、LTEや5Gなど)、IEEE802.11に準拠する無線ネットワークなどを組み合わせて構成されてもよい。すなわち、経路1の通信を行うためのネットワークはデータの送受信が可能に構成されていればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。
続けてクラウドプラットフォーム102により顧客に提供されるクラウドサービスについて説明する。クラウドプラットフォーム102は、クラウドプリントサービス1022、クラウドストレージサービス1023、Webメール、ドキュメント作成、編集のためのサービスを企業などの組織に提供するサービスプラットフォームである。また、クラウドプラットフォームには、各種サービスを利用するユーザやデバイスを認証、管理するための認証サービス1021も含まれている。
認証サービス1021は、テナントごとにユーザやユーザグループ、デバイスの認証、管理を行う。クラウドプラットフォーム102では、テナント毎にクラウドサービスの利用権限の管理や顧客データへのアクセス管理を行う。ここで、テナントとは、クラウドプラットフォームの利用単位である。具体的には、クラウドサービスプラットフォームの利用契約を結んだ組織ごと(例えば、企業ごとや組織ごと)に異なるテナントが割り当てられているものとする。クラウドプリントサービスの仮想プリンタオブジェクトもテナント毎に管理される。即ち、印刷データやCPSの実現のために必要なデータ、ユーザ認証のためのユーザDB等を含むユーザデータ1024は、テナントごとに管理される。
仮想プリンタオブジェクトは、外部から受信した印刷ジョブを一時的にスプールする機能と、スプールした印刷ジョブを、後段のMFP等の印刷制御装置に転送する機能を提供するソフトウェアモジュールである。
CPS1022は情報処理装置103等のプリントクライアントから印刷ジョブを受信し、当該印刷ジョブを対応する仮想プリンタオブジェクトに受け渡す。仮想プリンタオブジェクトは、自身の管理するスプール領域に印刷ジョブを格納する。続けて、CPSに登録されたMFPに対して印刷ジョブが入稿されたことを通知する。当該通知を受け取ったMFPは仮想プリンタオブジェクトのスプール領域から印刷ジョブを取得し、取得した印刷ジョブに基づく印刷を実行する。
情報処理装置103には、CPS1022経由で印刷を行うためのプリントクライアントである共通プリンタドライバを備えている。情報処理装置103は、ローカルネットワーク100経由でCPS上の出力プリンタに対応するローカルプリンタと通信できる場合に、ローカルプリンタに直接印刷データを送信して印刷を行わせる機能も備えている。以降、当該機能をローカルクラウドプリント機能とも呼ぶ。詳細については後述する。
<MFPの構成>
続けて、本実施形態における印刷制御装置の一例であるMFP101のハードウェア構成について図2を用いて説明する。図2は、MFP101のハードウェア構成を示すブロック図である。
CPU(Central Processing Unit)111を含む制御部110は、MFP101全体の動作を制御する。CPU111は、ROM(Read Only Memory)112又はストレージ114に記憶された制御プログラムを読み出して、印刷制御や読取制御などの各種制御を行う。ROM112は、CPU111で実行可能な制御プログラムを格納する。RAM(Random Access Memory)113は、CPU111がアクセスする主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ114は、印刷ジョブ、画像データ、各種プログラム、及び各種設定情報を記憶する。このように、CPU111、ROM112、RAM113、ストレージ114等のハードウェアは、いわゆるコンピュータを構成している。ストレージ114には、クラウドプラットフォーム102上のユーザテナントのリソースにアクセスするためのアクセストークンや、CPS1022との通信に利用するアドレス情報も格納される。
なお、本実施形態のMFP101では、1つのCPU111が1つのメモリ(RAM113)を用いて印刷制御やCPS1022との通信制御を実行するものとするが、他の様態であっても構わない。例えば複数のプロセッサ、メモリ、及びストレージを協働させて後述する各処理を実行することもできる。また、ハードウェア回路を用いて一部の処理を実行するようにしてもよい。
プリンタI/F(インタフェース)119は、プリンタ120(プリンタエンジン)と制御部110とを接続する。MFP101は、CPS1022や情報処理装置103から受信した印刷ジョブに基づきプリンタ120に転送する印刷画像及び印刷制御コマンドを生成する。プリンタ120は、プリンタI/F119を介して入力された印刷画像や印刷制御コマンドに基づいて、不図示の給紙カセットから給紙されたシートに画像を印刷する。印刷の方式はトナーを紙に転写して定着させる電子写真方式であってもよいし、紙にインクを吐出して印刷するインクジェット方式であってもよい。
スキャナI/F117は、スキャナ118と制御部110とを接続する。スキャナ118は、図示省略の原稿台に載置された原稿を読み取り、そして画像データを生成する。スキャナ118が生成した画像データは、プリンタ120で印刷されたり、ストレージ114に記憶されたり、ネットワークI/F121を介して外部装置に送信されたりする。
操作部I/F115は、操作部116と制御部110とを接続する。操作部116には、タッチパネル機能を有する液晶表示部や各種ハードキーなどが備えられている。操作部116は、ユーザに情報を表示する表示部やユーザの指示を受け付ける受付部として機能する。CPU111は、操作部116と協働して情報の表示制御やユーザ操作の受け付け制御を行う。
ネットワークI/F121には、ネットワークケーブルが接続され、ネットワーク100上やインターネット上の外部装置と通信を実行することができる。本実施形態では、ネットワークI/F121がRJ45コネクタやGG(GigaGate)45コネクタ形式の有線ケーブルを接続し、イーサネット(登録商標)に準拠する有線通信を行う通信インタフェースである場合を想定している。しかしながら、これに限定されるものではない。例えば、IEEE802.11シリーズに準拠する無線通信インタフェースであってもよい。また、経路2の通信を行うための通信インタフェースを別に有してしてもよい。この場合、当該通信インタフェースは、CDMA等の3G回線、LTEなどの4G回線、5G NRなどの移動体通信を行う通信インタフェースであってもよい。
CPS1022から印刷ジョブが入稿された旨の通知を受信したMFP101は、CPS1022から印刷ジョブを受信する。続けてMFP101は、印刷ジョブに含まれるPDL(Page-Description Language)データをレンダリングし、印刷用画像データを生成する。CPU111は、レンダリングされた印刷画像データと、プリンタ120を制御する制御コマンドを印刷部I/F119を介してプリンタ120に送信し、プリンタ120に対して印刷処理を実行させる。
また、MFP101はIPP(Internet Printing Protocol)等の標準印刷機能をサポートしている。MFP101は、mDNS(multicast Domain Name System)を用いたプリンタ探索のパケットを情報処理装置103等の外部装置から受信すると、当該パケットに対して探索結果を応答する。探索結果にはプリンタを識別するための識別情報が含まれる。
続けて、図3を用いて情報処理装置103のハードウェア構成を説明する。CPU131を含む制御部130は、コンピュータ全体の動作を制御する。CPU131は、ROM132又はストレージ134に記憶されたプログラムをRAM133に展開し、それを実行することで各種制御を行う。RAM133は、CPU131の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。ROM132は、CPU131で実行可能な制御プログラムやブートプログラム等を格納する。
本実施形態ではストレージ134としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりにSSD(Solid State Drive)などの不揮発性メモリを用いるようにしても良い。このように、CPU131、RAM133、ROM132、ストレージ134等のハードウェアは、いわゆるコンピュータを構成している。
操作部I/F136は、キーボードやポインティングデバイス(マウス)、タッチ入力デバイス、ディスプレイなどの操作部137を制御するインタフェースである。操作部137は、ユーザからの操作を受け付ける受付部として機能する。また、操作部137は、ユーザに対して情報を表示する表示部として機能する。情報処理装置103は、ネットワークI/F140を介してネットワークやインターネットに接続される。情報処理装置103は、ネットワークI/F140を介してネットワーク100上の印刷装置に印刷データを送信したり、インターネット上のクラウドプラットフォーム102とデータ通信を行ったりする。通信方式は、IEEE802.11シリーズに準拠する無線通信であってもよいし、RJ45コネクタやGG45コネクタ形式で接続した有線ケーブルを経由してEthernet(登録商標)に接続する有線通信であってもよい。なお、インターネット上のクラウドプラットフォーム102とのデータ通信はLTEや5Gなどの移動体通信システムを介して行われてもよい。
なお、本実施形態の情報処理装置103では、1つのCPU131が1つのメモリ(RAM133)を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のプロセッサ、メモリ、及びストレージを協働させて後述するフローチャートに示す各処理を実行するよう構成することもできる。また、ハードウェア回路を用いて一部の処理を実行するようにしてもよい。
なお、クラウドプラットフォーム102の各クラウドサービスを実現する実リソースとしてのコンピュータも図3で説明したハードウェア構成と同様の構成を備える。即ち、図1で例示した各クラウドサービスは、所謂ノイマン型のコンピュータがプログラムコードを実行することより実現される。
また、本実施形態では、説明の簡略化のため、クラウドプラットフォーム102を構成する各クラウドサービスを、1つのCPUが1つのメモリを用いて各処理を実行する場合を例示するが、他の様態であっても構わない。例えば複数のプロセッサ、RAM、ROM、ストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、複数のサーバコンピュータのリソースを協働させ、各サービスを実現することもできる。クラウドプラットフォーム102を提供するコンピュータリソースは、コンテナ化技術や仮想化技術を適宜用いることで、複数の異なるテナントのデータ資源を適切に管理し、各クラウドサービスを各テナントに属するユーザに提供する。
<情報処理装置103のソフトウェア構成>
続けて、図4を用いて、情報処理装置103のソフトウェア構成の一例について説明する。まず、情報処理装置103内の動作ソフトウェアについて説明する。情報処理装置103内のソフトウェアは、OS(Operating System)210とアプリケーション220から構成される。
まず、OS210を構成する個々の要素について説明する。OS210は、情報処理装置103全体を統括して管理するシステムソフトウェアである。具体的には、入出力の制御、メモリやハードディスクなどのハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を提供する。更に本実施形態のOS210は、ユーザ管理モジュール211や、印刷フレームワーク300を有している。ユーザ管理モジュール211は、クラウドプラットフォーム102のユーザアカウントを管理する。ユーザ管理部212には、クラウドプラットフォーム102のユーザアカウント情報であるアクセストークンが記憶される。本実施形態では、情報処理装置103がクラウドプラットフォーム102の認証サービス1021で認証されており、デバイス管理されている場合を例示する。また、情報処理装置103を利用するユーザのログイン認証もクラウドプラットフォーム102の認証サービス1021と協働して行われるものとする。以降、説明のため「aaaAlice@companyA.example0.jp」といったクラウドアカウントでユーザ「Alice」が情報処理装置103にログインしている場合を例に説明する。
印刷フレームワーク300は、プリントキュー301、スプーラ302、マネージャ303、ローカルプリンタ探索モジュール304、クラウドプリンタ探索モジュール305から構成される。また、印刷フレームワーク300は、プリンタドライバ格納領域310に格納されたプリンタドライバと協働してPDLデータの生成処理を行う。本実施形態では、OS210にCPS1022経由で印刷を行うための共通プリンタドライバ311がプリインストールされている場合を例示している。また、ドライバ格納領域300には、ユーザ操作により情報処理装置103にインストールされたベンダが提供するプリンタドライバなども格納される。
プリントキュー301は、印刷を行う際に、印刷ジョブを一時的に保存する領域であり、複数個存在することができる。本実施形態では、説明のため、CPS1022を経由してCPS1022上で管理されるクラウドプリンタに印刷データを送信する場合に使用されるプリントキュー301が作成されているものとする。スプーラ302は、アプリケーション220が生成した印刷対象データであるXPS(XML Paper Specification)ファイルを一時的に保存及び管理するモジュールである。スプーラ302に保存されたXPSファイルは、PDLフィルタを用いてPDL(Page Description Language)に変換される。変換の結果得られたPDFファイルとプリントチケット等のフォーマットの印刷設定ファイルを含む印刷ジョブはスプーラ302に格納される。印刷ジョブはスプーラ302を通じてCPS1022や印刷装置に対して送信される。
マネージャ303は、フィルタパイプラインのコンフィグレーションやコンフィグレーションされたパイプラインを用いた印刷データの生成、印刷設定の生成、変更機能を提供するモジュールである。まずフィルタパイプラインのコンフィグレーションについて説明する。マネージャ303は、ドライバ格納領域に格納された1つ以上のPDLフィルタ312をロードして、XPSファイルをPDLファイルへと変換するフィルタパイプラインモジュールを構築する。具体的には、マネージャ303は、出力先プリンタに対応するプリンタドライバを特定する。ここでは、CPS1022が管理するクラウドプリンタが出力先プリンタとして選択され、対応するプリンタドライバとして、共通プリンタドライバ311が特定されたものとして説明する。
マネージャ303は、当該特定したプリンタドライバのフィルタコンフィグ313に基づき、共通プリンタドライバ311を構成する要素の一つである1つ以上のフィルタ312を読み込み、フィルタパイプラインモジュールを構築する。続けて印刷開始のユーザ操作を検知したことに従って、OS210は、フィルタパイプラインモジュールにロードされた1つ以上のフィルタ312を使用してXPSデータをPDLデータに変換する。PDLは、例えば、PCL(Printer Control Language)やPDF(Portable Document Format)などを採用することができる。
続けて印刷設定の管理について説明する。マネージャ303は出力先プリンタの能力情報であるPrintCapabilitiesや印刷時に適用すべき印刷設定を示すPrintTicketを管理する。共通プリンタドライバ311は、デバイスの機能が記述されたデバイス情報群314をフレームワーク300に提供する。これらのデバイス情報は、クラウドプリンタ毎に個別に記憶される。マネージャ303は、ユーザ選択された出力先プリンタを特定し、デバイス情報群314から対応するデバイス情報を取得する。続けて、当該デバイス情報に基づき出力先デバイスごとにカスタマイズされた印刷設定画面を提供する。
ローカルプリンタ探索モジュール304は、情報処理装置103が接続しているローカルエリアネットワーク100上のプリンタを探索するモジュールである。モジュール304は、図示省略の探索画面で新規プリンタの探索が行われる場合や、後述のフローチャートにてクラウドプリンタに対応するローカルプリンタの探索を行う場合に使用される。モジュール304は、例えば、mDNS等の探索用のブロードキャストパケットをネットワーク上にブロードキャストしネットワークプリンタを探索する。また、例えば、IPP規格で規定されるGet-PrinterーAttributes Request等を用いたユニキャスト通信でネットワークプリンタを探索することもできる。
クラウドプリンタ探索モジュール305は、CPS1022上のクラウドプリンタを探索するモジュールである。モジュール305は、図示省略の探索画面を表示するユーザ操作を受け付けたことに従って、新規プリンタの探索を行う場合に使用される。また、モジュール305は、ユーザログイン時やスリープ復帰時などに、ユーザが使用できるCPS1022上のクラウドプリンタを更新する場合に使用される。モジュール305は、ユーザ管理モジュール211からログインユーザに対応するアクセストークンを取得する。続けてモジュール305は、当該アクセストークンを用いてCPS1022が提供するプリンタ探索のWebAPIをコールする。当該WebAPIのコールを受け付けたCPS1022は、アクセストークンに基づきテナントを特定し、テナントに関連付けられたクラウドプリンタの情報を応答する。例えば、CPS1022は、「aaaAlice@companyA.example1.jp」といったアカウントに対応するアクセストークンを含む探索要求を受信した場合、テナント「companyA」に関連付けられたプリンタの一覧を通知する。
図7は、CPS1022で管理される、テナント「companyA」に関連付けられたクラウドプリンタ情報の一例を示している。情報702は、CPS1022上でクラウドプリンタを識別する識別情報であるプリンタ名を示している。また、情報703は、CPS1022に入稿された印刷ジョブを実際に処理するプリンタのURIを示している。情報704はプリンタのステータスを示す情報であり、情報705はプリンタのロケーションを示す情報である。情報706は、デバイス詳細情報の表示等に用いるメタデータである。情報707は、プリンタがいずれのユーザグループに共有されているかを特定するための情報である。情報708は情報処理装置103等のプリンタクライアントに通知するクラウドプリンタの能力情報を示している。具体的には、ステープル等のフィニッシング機能の能力情報、サポートするカラーモード、両面印刷をサポートするかどうかの能力情報などが含まれる。また、サポートするシートサイズ等の情報が格納されている。情報709は、クラウドプリンタが受信可能なPDLデータのサイズを示す情報が格納されている。例えば、当該情報は、PWG5100.16で定義されているpdf-k-octets-supported属性に相当する情報である。
図4の説明に戻り、OS210は、図示省略の探索画面に探索結果を表示する。探索画面には、ローカル探索やクラウド探索で見つかった各種出力先が表示される。探索で見つかったクラウドプリンタを出力先プリンタとして選択するユーザ操作を受け付けた場合、マネージャ303は、探索モジュール305と協働して、選択されたクラウドプリンタの能力情報を取得する。能力情報の取得は、例えば、IPPのGet-Printer-Attribute Request等を用いることができる。能力情報の取得要求を受信したCPS1022は、図7で説明した各種情報をマネージャ303に応答する。応答を受信したマネージャ303は、当該応答に基づき、共通プリンタドライバ311のデバイス情報群314にクラウドプリンタの能力情報を格納する。
経路変更モジュール306は、CPS1022を経由しない経路(経路2)で印刷が行えるかどうかの判定処理と、経路の切り替え処理を行う機能を提供するモジュールである。切り替えを行うと判定した場合、プリントキュー301の出力先の設定を変更し、出力先をCPS1022からローカルプリンタのURI(ローカルプリンタにアクセスするためのIPアドレスやホスト名)に変更する。切り替えの詳細は後述のフローチャートで説明する。
<印刷シーケンス>
続けて、「Alice」が情報処理装置103を使用し印刷処理をするシーケンスを図5を用いて説明する。まず、「Alice」は情報処理装置103にクラウドプラットフォーム102のユーザアカウントを用いてログインする(S500)。ログイン情報には、「Alice@companyA.example0.jp」と対応するパスワードが用いられる。
続けて、OS210のマネージャ303は、探索モジュール305と協働して、ログイン中のユーザ「Alice」に対応するアクセストークンを含むプリンタ探索要求をCPS1022に対して送信する(S501)。探索要求の結果として当該ユーザが使用可能なクラウドプリンタの情報を受信したマネージャ303は、当該探索の結果を示す情報をRAM133に一時記憶する。この探索の結果には、少なくとも図7で説明したプリンタ名称を示す情報と、ローカルプリンタのURIを示す情報が含まれる。
続けて、アプリケーション220を介して、文書データや画像データの印刷指示を受け付けると、OS210は、マネージャ303と協働して、プリンタ選択画面を表示する(S502)。プリンタ選択画面には、情報処理装置103にインストールされた、ベンダ等が提供するプリンタドライバを用いて印刷を行うプリンタに対応する表示アイテムと、S501で説明した探索処理で見つかったクラウドプリンタに対応する表示アイテムとが表示される。
OS210は、プリンタ選択画面を介して出力先プリンタの選択操作を受け付ける(S503)。ここでは、説明のため、選択画面から出力先プリンタとしてCPS1022上で管理されるクラウドプリンタが選択されたものとして説明する。続けて、マネージャ303は、ローカルエリアネットワーク100上のローカルプリンタの探索処理を行う(S504)。
例えば、マネージャ303は、探索モジュール304と協働して、IPP規格で規定されるGet-PrinterーAttributes Request等のユニキャスト通信を用いて、ネットワークプリンタが存在するかどうかを探索する。この場合、探索パケットの宛先には、クラウドプリンタに対応するローカルプリンタのURIを示す情報(即ち、ローカルプリンタのIPアドレスやホスト名)が指定されるものとする。例えば、図7のプリンター1に示すクラウドプリンタが出力先プリンタとして選択された場合、探索パケットの宛先には「192.168.111.111」が指定される。なお、探索の方法は一例である。また、SNMP(Simple Network Management Protocol)を用いてプリンタをユニキャスト探索してもよい。
更に、探索方法は、ユニキャスト探索に限られるものではない。例えば、CPS1022がローカルプリンタのURIではなく、クラウドプリンタに関連付けられたローカルプリンタを一意に特定するデバイスIDを通知するよう設計されている場合もある。デバイスIDは、例えば、デバイスを一意に特定できるUUID(Universally Unique Identifier)である。
この場合、ユニキャスト通信によるネットワーク上のローカルプリンタの探索は困難である。この場合、例えば、mDNS(multicast Domain Name System)等の探索パケットをネットワーク上にブロードキャストしてネットワーク上のローカルプリンタを探索するよう構成してもよい。この場合、ネットワーク上のローカルプリンタが複数見つかる。マネージャ303は、当該探索で見つかったプリンタのUUIDと、CPSから通知された、クラウドプリンタに関連付けられたローカルプリンタのUUIDとを比較して、出力先プリンタに対応するローカルプリンタが見つかったか否かを判断する。
<CaseA ローカルプリンタが見つかった場合の印刷制御>
続けて、S504の探索処理において、ローカルプリンタが見つかった場合の印刷制御についてS505~S511を用いて説明する。
S504の探索の結果、出力先プリンタに対応するローカルプリンタが見つかった場合、マネージャ303は、当該ローカルプリンタの能力情報を取得する(S505)。S504の探索にIPPのGet-Printer-Attributes Requestを用いた場合、当該探索に対する応答としてMFP101から能力情報が取得される。mDNSやSNMPを用いて出力先プリンタに対応するローカルプリンタが発見された場合、マネージャ303は、当該発見されたプリンタに対してユニキャストで能力情報の取得要求を送信し、当該要求の応答としてローカルプリンタの能力情報を取得する。
続けてマネージャ303は、経路2で印刷を行うと決定し、各種設定を更新する(S506)。具体的には、当該取得した能力情報で出力先プリンタの能力を示すPrintCapabilitiesや印刷時に適用すべき印刷設定を示すPrintTicketを更新する。また、必要に応じてフィルタパイプラインモジュールの再構成を行う。例えば、ローカルプリンタがPDLデータの形式としてPDFをサポートしていない場合、PDLフィルタ312からラスタ変換用のフィルタを取得し、フィルタパイプラインモジュールを再構成する。この処理により、ラスタ方式(例えば、PWG-Raster方式)でレンダリングを行うフィルタ状態に更新することができる。更に、マネージャ303は、経路変更モジュール306と協働して、プリントキュー301の出力先の設定を、ローカルプリンタのURI(ローカルプリンタにアクセスするためのIPアドレスやホスト名)に変更する。
S506の変更処理により、ローカルプリンタがサポートする能力に応じた印刷設定画面を適切に提供したり、ローカルプリンタがサポートするPDL形式を適切に選択したりすることができるようになる。また、S506の変更処理で、印刷データの出力先もローカルプリンタに切り替えることができる。
続けてユーザは印刷を実行する操作を行う。OS210は、印刷を実行するユーザ操作が行われたことを検知する(S507)とS508、S509の送信制御を実行する。
まず、OS210のマネージャ303は、CPS1022に対して印刷ジョブの書誌情報を送信する(S508)。当該書誌情報は印刷設定を示す情報や、ジョブの名称、ジョブのオーナー名を示す情報が含まれる。また、書誌情報には、ローカルクラウドプリントの経路(図1の経路2)で印刷を行うことを示す情報が含まれる。CPS1022は、当該書誌情報を受信したことに基づきローカルプリントが実行されていることを認識することができる。書誌情報を受信したCPS1022は、ジョブIDを発行し、当該ジョブIDを情報処理装置103に対して応答する。なお、本実施形態では、一例として経路2で示す経路で印刷を行う場合にCPS1022に対して書誌情報を送信する制御を行う場合を例示しているが、これに限定されるものではない。経路2で印刷を行うよう切り替える場合に、CPS1022に対して書誌情報を送信しないよう構成することもできる。
続けて、マネージャ303は、構成済みのフィルタパイプラインモジュールを使用して、アプリケーションからスプーラ302経由で受け取った描画データをPDLデータに変換する。続けてPDLデータと印刷設定を示す情報を含む印刷ジョブを生成し、キュー301にストアする。なお、キュー301にストアされた印刷ジョブの出力先はS506の変更処理でローカルプリンタに変更されている。OS210は、当該変更された出力先の設定に基づき、当該キュー301に格納される印刷ジョブのデータをローカルプリンタ宛に送信する(S509)。なお、当該印刷ジョブにも、ローカルクラウドプリントの経路(図1の経路2)で印刷を行うことを示す情報並びにCPS1022上で発行されたジョブIDが含まれている。
印刷ジョブを受信したローカルプリンタとしてのMFP101のCPU111は、プリンタ120と協働し、当該受信した印刷ジョブに基づく印刷処理を実行する。印刷ジョブに基づき印刷画像が印刷されたシートは図示省略の排紙トレイに排出される(S510)。
印刷が完了すると、MFP101は、印刷結果をCPS1022に通知する(S511)。CPS1022は通知された印刷結果を用いてCPS1022上で管理する印刷ジョブの実行結果を更新する。この実行結果にもジョブIDが含まれている。CPS1022は、実行結果に含まれているジョブIDに基づきジョブの実行状況を更新する。この更新処理によりローカルクラウドプリント機能を使用する場合であっても、クラウドプリントサービス上においてローカル経由で印刷された印刷枚数の実績等を適切に集計、管理できるようになる。
<CaseB ローカルプリンタが見つからない場合の印刷制御>
続けて、S504の探索処理において、ローカルプリンタが見つからない場合の印刷制御についてS521~S528を用いて説明する。探索処理でローカルプリンタが見つからなかった場合、マネージャ303は、経路1で印刷を行うと決定する。この場合、選択された出力先プリンタに対応するデバイス情報がデバイス情報群314に記憶されていない場合、CPS1022にプリンタ能力情報を問合せ、当該能力情報をデバイス情報群314に格納する処理を行う。続けてマネージャ303は出力先プリンタに対応するデバイス情報に基づきフィルタパイプラインモジュール、印刷設定情報、出力先の更新処理を行う(S521)。
続けてユーザは印刷を実行する操作を行う。OS210は、印刷を実行するユーザ操作が行われたことを検知する(S522)とS523の送信制御を実行する。
続けて、S523のシーケンスを説明する。マネージャ303は、構成済みのフィルタパイプラインモジュールを使用して、アプリケーションからスプーラ302経由で受け取った描画データをPDLデータに変換する。続けてPDLデータと印刷設定を示す情報を含む印刷ジョブを生成し、キュー301にストアする。なお、キュー301にストアされた印刷ジョブの出力先はS521の変更処理でCPS1022が管理する出力先プリンタに対応する仮想プリンタオブジェクト宛に変更されている。OS210は、当該変更された出力先の設定に基づき、当該キュー301に格納される印刷ジョブのデータをCPS1022宛に送信する。CPS1022は、当該印刷ジョブを仮想プリンタオブジェクトに受け渡す。仮想プリンタオブジェクトは受信した印刷ジョブを一時的にスプールする。続けて、CPS1022が、MFP101からの印刷ジョブの入稿有無の確認要求を受け付けた(S524)ことをトリガーとして、S525~S527に示す印刷ジョブの取得処理、印刷処理が実行される。印刷が完了すると、MFP101は、CPS1022に印刷結果を通知する(S528)。
続いて、情報処理装置103における具体的な切り替え制御について図6のフローチャートを用いて説明する。図6は、情報処理装置103における印刷制御を示すフローチャートである。図6のフローチャートに示す各動作は、図4で説明した各モジュール、コンポーネント、アプリケーションを実現するためのプログラムをRAM133に読み出し、CPU131で実行することにより実現される。なお、処理の主体を明確にするため、必要に応じて、各モジュール、コンポーネント、アプリケーションを主語として説明する。
なお、図6のフローチャートは、印刷装置の選択処理から印刷の完了といった情報処理装置における一連の印刷制御を抜粋して説明するフローチャートである。
S600において、OS210は、出力先プリンタの選択を受け付けたか否かを判断する。出力先プリンタの選択を受け付けた場合は処理をS601に進め、出力先プリンタの選択を受け付けていない場合はユーザによる選択処理を待ち受ける。
S601において、OS210は、CPS1022上で管理されるクラウドプリンタを出力先として選択するユーザ操作を受け付けたかどうかを判断する。CPS1022上で管理されるクラウドプリンタを出力先として選択するユーザ操作を受け付けた場合、処理をS603に進める。一方、CPS1022上で管理されるクラウドプリンタとは異なるプリンタを出力先として選択するユーザ操作を受け付けた場合、処理をS602に進める。
S602において、OS210は、選択に対応するその他のプリンタを出力先プリンタとして選択し、処理をS608に進める。
S603において、OS210は、マネージャ303と協働し、選択されたクラウドプリンタを出力先プリンタとして選択する。続けて、S604において、マネージャ303は、ローカルプリンタ探索モジュール304に、選択されたクラウドプリンタに対応するローカルプリンタを探索する処理を依頼する。このS604で実行される探索制御は、S504で説明した探索制御と同様であるため説明を省略する。
続けて、S605において、マネージャ303は、ローカルプリンタ探索モジュール304から探索結果を受け取り、当該探索結果に基づき、対応するローカルプリンタが見つかったかどうかを判断する。対応するローカルプリンタが見つかった場合は、処理をS607に進め、対応するローカルプリンタが見つからなかった場合は、処理をS606に進める。
S606において、マネージャ303は、CPS1022を経由して印刷データを送信する設定となるよう適宜出力先プリンタのドライバ構成を更新する。当該更新処理は図5のS521で説明した処理と同様である。即ち、フィルタパイプラインモジュールの構成処理、CPS1022が管理する能力情報に応じた印刷設定情報の変更処理、並びに出力先をCPS1022の仮想プリンタオブジェクト宛に適宜変更する処理が行われる。
一方、S607において、マネージャ303は、CPS1022を経由せずに印刷データを送信する設定となるよう出力先プリンタのドライバ構成を更新する。当該更新処理は図5のS506で説明した処理と同様である。即ち、ローカルプリンタがサポートするPDL能力に基づくフィルタパイプラインモジュールの構成処理、ローカルプリンタの能力情報に応じた印刷設定情報の変更処理が行われる。更に、出力先をローカルプリンタに変更する処理が行われる。
S608において、OS210は、印刷開始指示を受け付けたか否かを判断する。OS210が提供する図示省略の印刷ダイアログを介した印刷開始のユーザ指示を受け付けたと判断すると、処理をS609に進める。印刷開始のユーザ指示を受け付けていない場合、印刷設定変更指示や、印刷開始指示等のユーザ指示を待ち続ける。なお、印刷設定変更指示を受け付けた場合、マネージャ303は、印刷設定を示すPrintTicketを当該変更指示に応じて更新する。
S609において、OS210は、選択された出力先プリンタがCPS1022のクラウドプリンタであり、尚且つ、CPS1022を経由せず、ローカルプリンタに印刷データを送信するケースに該当するかを判断する。OS210は、選択された出力先プリンタがCPS1022のクラウドプリンタであり、尚且つ、CPS1022を経由せず、ローカルプリンタに印刷データを送信するケースに該当すると判断した場合、処理をS610に進める。一方CPS1022を経由せず、ローカルプリンタに印刷データを送信するケースに該当しないと判断した場合、処理をS612に進める。
S610において、OS210は、印刷ジョブの書誌情報をCPS1022に送信する。書誌情報を受信したCPS1022は、書誌情報に基づきジョブIDを含むジョブ管理情報を生成し、CPS1022上における印刷ジョブのステータス管理を行う。ジョブ管理情報の生成が完了すると、CPS1022は、情報処理装置103に対して、前記書誌情報に対してジョブIDを含む応答を送信する。
S609において、アプリケーション220と、OS210と、印刷フレームワーク300は協働してPDLデータの生成処理並びに印刷ジョブの送信処理を実行する。マネージャ303は、構成済みのフィルタパイプラインモジュールを使用して、アプリケーションからスプーラ302経由で受け取った描画データをPDLデータに変換する。続けてPDLデータと印刷設定を示す情報を含む印刷ジョブを生成し、キュー301にストアするOS210は、出力先の設定に基づき、当該キュー301に格納される印刷ジョブのデータを出力先に送信する。なお、S610の更新処理を行った場合、マネージャ303は、続けてPDLデータと印刷設定を示す情報と、CPS1022から受信したジョブIDとを含む印刷ジョブを生成し、キュー301にストアするものとする。
以上説明したように、本実施形態では、S605の判定結果に基づき通信経路を切り替えることができるようになる。従ってクラウドプリンタが出力先プリンタに選択された場合であって、当該クラウドプリンタに関連付けられたローカルプリンタにCPS1022を経由せずアクセスできる場合は、CPSを経由せず印刷ジョブを送信できるようになる。従って、クラウドプリントサービスを提供する事業者のクラウドリソース維持コストを下げることができるようになる。また、CPS1022にクラウドを経由せずに印刷ジョブを送信したことを適切に通知できるようになる。また、当該印刷ジョブの実行結果は、ジョブIDと共にMFP101からCPS1022に通知される。CPS1022は、ジョブIDに基づきCPS1022上でのジョブステータスを更新する。従って、ローカルクラウドプリント機能を使用する場合であっても、CPS1022上でユーザ毎の印刷実績などを適切に管理できるようになる。
<第2の実施形態>
第1の実施形態では、クラウドプリンタに関連付けられたローカルプリンタにCPS1022を経由せずアクセスできる場合、常にCPSを経由せず印刷ジョブを送信する場合を例示した。
第2の実施形態では、より柔軟に経路を選択することを可能とする仕組みを提供する。例えば、データサイズが小さい場合はCPS1022で事前に想定されているリソースで適切に処理が行える場合がある。これを鑑み、データサイズが所定の上限サイズを超える場合にのみローカル経由の印刷を試みるための仕組みについて説明する。
更に、CPS1022上でAI技術などを用いた印刷コンテンツの校閲を行いたいケースも考えられる。この場合、すべての印刷ジョブがCPS1022を経由するよう構成すべきである。従って第2の実施形態では受信上限サイズを超過するようなケースであってもローカルプリント機能を使用しないように制御する動作設定を設ける。
以下具体的に説明する。図8(A)、(B)はOS210が表示する共通プリンタドライバ311のプロパティ画面の一例である。画面801では、デバイス設定タブ802が選択された場合を例示している。画面801には、チェックボックス804と対応する設定を示すメッセージ803が含まれている。ここでは、チェックボックス804がチェックされ「ローカル経由のプリントを優先する」動作設定が有効に設定されている場合を例示している。ユーザは、チェックボックス804を選択することで、「ローカル経由のプリントを優先する」動作設定を有効とするか無効とするかを変更することができる。この動作設定が有効に設定されている場合、前述した第1の実施形態で説明した印刷経路の選択制御が行われる。「ローカル経由のプリントを優先する」動作設定がオンに設定されている場合、サイズ上限オーバー時の例外設定を示すチェックボックス806と、メッセージ805はグレーアウト状態、且つ、設定変更指示を受け付けない状態で表示される。
一方、「ローカル経由のプリントを優先する」動作設定をオフに変更する操作を受け付けた場合、OS210は、画面810を表示する。画面810では、画面801でグレーアウトしていたチェックボックスと対応するメッセージが正常状態且つ、指示を受け付け可能な状態で表示される。ユーザはチェックボックス815に対する操作で、サイズ上限オーバー時の例外設定を変更することができる。当該設定画面を介してなされた設定は、共通プリンタドライバ311のデバイス情報群314に格納される。これらの設定はCPS1022の配下の出力先プリンタを用いて印刷を行う場合に共通して使用される設定である。
なお、画面801及び画面810は、管理者権限を有するユーザのみに提供するよう構成されているものとする。また、動作設定のポリシを、CPS1022上のテナント毎のポリシとして定義できるように構成してもよい。この場合、OS210は、管理者権限を有するユーザに対しても、テナント毎に設定された動作設定のポリシに則った設定しか許容しないよう制限する制御を行う。例えば、ローカル経由のプリントを優先することを強制するポリシ設定や、ローカル経由のプリントを禁止するポリシ設定等をCPS1022上で行うように構成することができる。OS210は、CPS1022から当該ポリシ設定を取得し、ポリシ設定に基づいて動作設定の設定変更を制限する。
続けて、具体的な印刷制御について図9のフローチャートを用いて説明する。S901~S903は第1の実施形態におけるS601~S603で説明した出力先の選択制御と同様のため説明を省略する。
S911において、マネージャ303は、デバイス情報群314を参照し、ローカル経由の印刷を優先する動作設定がなされているかどうかを判断する。ローカル経由の印刷を優先する動作設定がなされていると判断した場合、処理をS604に進め、ローカル経由の印刷を優先する動作設定がなされていないと判断した場合、処理をS912に進める。
S912において、マネージャ303は、CPSを経由して印刷データを送信する設定となるよう適宜ドライバ構成を更新する。当該更新処理は、第1の実施形態のS606と同様の処理である。
S913において、OS210は、印刷開始指示を受け付けたか否かを判断する。印刷開始指示を受け付けた場合、処理をS914に進め、受け付けていない場合、印刷設定変更や印刷開始指示等の更なるユーザ指示を待ち受ける。
S914において、アプリケーション220と、OS210と、印刷フレームワーク300は協働してPDLデータの生成処理を開始する。
S915において、PDLデータサイズが出力先プリンタの上限サイズに達したかどうかを判断する。PDLデータの生成中に、PDLデータのサイズが出力先プリンタの上限サイズに達した場合、処理をS917に進める。PDLデータの生成中に、PDLデータのサイズが出力先プリンタの上限サイズに達することなくデータ変換を行えた場合、処理をS916に進める。S916では、OS210は、キュー301にストアされた、S914で生成したPDLデータを含む印刷ジョブをCPS1022に送信する。
一方、S917において、マネージャ303は、デバイス情報群314を参照し、サイズ上限時にローカル経由のプリントを試みる設定がなされているかどうかを判断する。
サイズ上限時にローカル経由のプリントを試みる設定がなされていると判断した場合、処理をS918に進める。サイズ上限時にローカル経由のプリントを試みる設定がなされていないと判断した場合、処理をS922に進める。
S922において、マネージャ303はPDLデータの生成処理を中止し、情報処理装置103の操作部137上に印刷エラーを通知する。通知が完了すると一連の処理を終了する。
一方、S918において、マネージャ303は、選択されたクラウドプリンタに対応するローカルプリンタを探索する探索処理を実行する。当該処理は、第1の実施形態のS604の処理と同様である。S919において、マネージャ303は、ローカル探索モジュール305から探索結果を受信し、対応するローカルプリンタが見つかったかどうかを判断する。対応するローカルプリンタが見つかった場合S920の処理に進め、対応するローカルプリンタが見つからなかった場合、S922のエラー処理に進める。
S920において、マネージャ303は、第1の実施形態のS607と同様にCPSを経由せずに印刷データを送信できるようにドライバ構成を更新する。
S921において、アプリケーション220と、OS210と、印刷フレームワーク300は協働してPDLデータの再生成処理とローカルプリンタへの印刷ジョブの送信処理を行う。
以上説明した処理により、情報処理装置103の管理者やCPS1022の管理者等の意図に合わせてより柔軟な経路設定が行えるようになる。
<変形例>
第1の実施形態は下記のように変形することができる。第1の実施形態に、ローカル経由のプリントを試みるか否かの動作設定を設けるように構成してもよい。この場合、ローカル経由のプリントを試みる設定がなされている場合は、S604以降の処理を行うよう構成すればよい。また、この場合、ローカル経由のプリントを試みない設定がなされている場合は、クラウドプリンタに関連付けられたローカルプリンタの探索を行うことなく、S606の処理に進めるよう構成すればよい。
また、第2の実施形態は下記の様に変形することができる。例えば、図8で例示した動作設定を有さず、上限サイズに達する場合にのみローカルネットワーク経由での印刷を試みるよう構成するようにしてもよい。この場合、ローカルネットワーク経由のプリンタ探索でクラウドプリンタに関連付けられたローカルプリンタが見つからなかった場合、印刷処理をエラー終了するよう構成すればよい。更には、図8の803、804で説明した動作設定を有さないよう構成することもできる。この場合、情報処理装置を、図9のS911で説明した処理を省略した制御を行うよう構成すればよい。
更に、第2の実施形態では、サイズ上限に達したか否かの判定を情報処理装置103で行う場合を例示したが、これに限定されるものではない。サイズ上限に達したかどうかの判定をCPS1022上で行うよう構成してもよい。この場合、サイズ上限に達した場合に、CPS1022から情報処理装置にエラーを通知するようにする。エラーの通知を受信した情報処理装置の印刷フレームワーク300は、当該通知を受信したことに従って、PDLデータの生成を中断し、S917以降の処理を行うように構成してもよい。
また、第2の実施形態では、例外の一例としてサイズ上限オーバーを例示した。更に、クラウドプラットフォーム102やCPS1022に障害が発生したなどの要因でCPSにアクセスできない場合に例外的にローカルプリントを試みるよう構成することもできる。
また、第2の実施形態では、S922において、印刷処理をエラー終了する場合を例示したがこれに限定されるものではない。例えば、マネージャ303は、1の印刷ジョブが上限サイズに収まるように適宜印刷ジョブを複数個に印刷ジョブに分割し送信するよう制御してもよい。
第1乃至第2の実施形態では、一例として、OSにより提供されるプリントフレームワークと共通プリンタドライバが連関して切り替え処理を実現するケースを例示した。しかしながらこれに限定されるものではない。例えば、Android(登録商標) OSやiOS(登録商標)等のモバイルプリントフレームワークで同様の経路の切り替え処理を行うよう構成することもできる。
<その他の実施形態>
本発明は、上述の各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASICやFPGA)によっても実現可能である。
101 MFP
102 クラウドプラットフォーム
103 情報処理装置
131 CPU

Claims (12)

  1. クラウドプリントサービスと通信する情報処理装置であって、
    前記クラウドプリントサービス上のクラウドプリンタが出力先として選択されている場合に、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できるか否かを判定する判定手段と、
    前記判定手段による判定結果に基づき、前記クラウドプリントサービスを経由しない経路で前記クラウドプリンタに関連付けられたプリンタに対して印刷ジョブを送信する送信制御手段を有することを特徴とする情報処理装置。
  2. クラウドプリントサービスと通信する情報処理装置を制御する制御方法であって、
    前記クラウドプリントサービス上のクラウドプリンタが出力先として選択されている場合に、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できるか否かを判定する判定工程と、
    前記判定工程の判定結果に基づき、前記クラウドプリントサービスを経由しない経路で前記クラウドプリンタに関連付けられたプリンタに対して印刷ジョブを送信する送信制御工程を有することを特徴とする制御方法。
  3. 前記送信制御工程では、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できると判定された場合に、前記クラウドプリントサービスを経由しない経路で前記クラウドプリンタに関連付けられたプリンタに対して印刷ジョブを送信する制御を実行し、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できないと判定された場合に、前記クラウドプリントサービスの前記クラウドプリンタ宛に印刷ジョブを送信する制御を実行することを特徴とする請求項2に記載の制御方法。
  4. ネットワークを介してプリンタを探索する探索工程を更に有し、
    前記判定工程では、前記探索工程による探索で前記クラウドプリンタの識別情報に対応するプリンタが見つかった場合に、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できると判定することを特徴とする請求項2又は3に記載の制御方法。
  5. 前記探索工程では、前記識別情報を含む探索パケットをネットワーク上に送信し、ネットワーク上のプリンタを探索することを特徴とする請求項4に記載の制御方法。
  6. 前記探索工程では、ネットワーク上のプリンタを探索するブロードキャストパケットを用いてプリンタを探索し、
    前記判定工程では、前記探索の結果として見つかったプリンタの中に、前記クラウドプリンタの識別情報に対応する識別情報を有するプリンタが見つかった場合に、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できると判定することを特徴とする請求項4に記載の制御方法。
  7. アプリケーションから受信したデータに基づきPDLデータを生成する生成工程と、
    前記生成工程で生成したPDLデータが上限サイズに達するかどうかを判定する第2の判定工程と、
    前記第2の判定工程で前記上限サイズに達しないと判定された場合、前記クラウドプリンタに関連付けられたプリンタに対して前記クラウドプリントサービスを経由せずに印刷ジョブを送信できるかどうかに関わらず、前記送信制御工程では、前記クラウドプリントサービスの前記クラウドプリンタ宛に印刷ジョブを送信することを特徴とする請求項2乃至6のいずれか1項に記載の制御方法。
  8. 前記上限サイズに達する場合に前記クラウドプリントサービスを経由せずに印刷ジョブを送信することを試みるかどうかを設定する設定工程を更に有し、
    前記設定工程で前記上限サイズに達する場合に前記クラウドプリントサービスを経由せずに印刷ジョブを送信することを試みないことが設定されている場合であって、前記第2の判定工程で前記上限サイズに達すると判定された場合、前記印刷ジョブの送信を中止することを特徴とする請求項7に記載の制御方法。
  9. 前記上限サイズに達する場合に前記クラウドプリントサービスを経由せずに印刷ジョブを送信することを試みるかどうかを設定する設定工程を更に有し、
    前記設定工程で前記上限サイズに達する場合に前記クラウドプリントサービスを経由せずに印刷ジョブを送信することを試みないことが設定されている場合であって、前記第2の判定工程で前記上限サイズに達すると判定された場合、前記印刷ジョブを複数ジョブに分割して前記クラウドプリントサービスに送信する第2の送信制御工程とを有することを特徴とする請求項7に記載の制御方法。
  10. 前記クラウドプリントサービスを経由しない経路で前記プリンタに対して印刷ジョブを送信する場合、前記クラウドプリントサービスに印刷ジョブの書誌情報を送信する第3の送信制御工程と、を有することを特徴とする請求項2乃至9のいずれか1項に記載の制御方法。
  11. 前記印刷ジョブの実行結果を前記プリンタから受信する受信工程と、
    前記受信工程で受信した実行結果を前記クラウドプリントサービスに通知する通知工程と、
    を更に有することを特徴とする請求項10に記載の制御方法。
  12. 請求項2乃至11のいずれか1項に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
JP2020145982A 2020-08-31 2020-08-31 情報処理装置、制御方法及びプログラム Pending JP2022040993A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020145982A JP2022040993A (ja) 2020-08-31 2020-08-31 情報処理装置、制御方法及びプログラム
US17/410,831 US11755263B2 (en) 2020-08-31 2021-08-24 Information processing apparatus, control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020145982A JP2022040993A (ja) 2020-08-31 2020-08-31 情報処理装置、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2022040993A true JP2022040993A (ja) 2022-03-11

Family

ID=80356894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020145982A Pending JP2022040993A (ja) 2020-08-31 2020-08-31 情報処理装置、制御方法及びプログラム

Country Status (2)

Country Link
US (1) US11755263B2 (ja)
JP (1) JP2022040993A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11954381B2 (en) 2022-06-15 2024-04-09 Canon Kabushiki Kaisha System includes server, printing apparatus, information processing apparatus to provide a technique for specifying a physical printer associated with a logical printer, and non-transitory storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012133489A (ja) 2010-12-20 2012-07-12 Canon Inc 印刷システム、プリントサービス装置、サービス提供装置、制御方法、及びプログラム
JP2015135607A (ja) * 2014-01-17 2015-07-27 株式会社沖データ 画像形成システム及び画像形成装置
JP6324217B2 (ja) * 2014-06-02 2018-05-16 キヤノン株式会社 情報処理装置、システム、情報処理方法及びプログラム
JP2019036923A (ja) * 2017-08-21 2019-03-07 キヤノン株式会社 情報処理装置、プログラム及び制御方法
CN109445722B (zh) * 2018-09-17 2022-07-08 珠海奔图电子有限公司 云打印方法、装置、终端设备及计算机可读存储介质
CN111897500A (zh) * 2020-07-06 2020-11-06 南京功夫豆信息科技有限公司 一种云打印方法及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11954381B2 (en) 2022-06-15 2024-04-09 Canon Kabushiki Kaisha System includes server, printing apparatus, information processing apparatus to provide a technique for specifying a physical printer associated with a logical printer, and non-transitory storage medium

Also Published As

Publication number Publication date
US20220066705A1 (en) 2022-03-03
US11755263B2 (en) 2023-09-12

Similar Documents

Publication Publication Date Title
US11922084B2 (en) Image printing apparatus having print setting values, printing system, control method, and storage medium
JP5565346B2 (ja) プリンタ
US11409483B2 (en) Server system for obtaining a token for accessing a service
US10956095B2 (en) Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system
JP5814904B2 (ja) 画像形成装置および画像形成処理システム
KR20150125526A (ko) 클라우드 서버, 화상형성장치 및 인쇄 제어 방법
JP7362855B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2013092886A (ja) プリンター、制御方法、およびプログラム
JP5982862B2 (ja) プリントショップアーキテクチャにおけるケーパビリティプレゼンテーションのプロトコルオーバーライド
JP7168790B2 (ja) 印刷システム、及び印刷方法
US20230315361A1 (en) Information processing apparatus, print setting application, and print system
JP2022040993A (ja) 情報処理装置、制御方法及びプログラム
JP2013084047A (ja) 印刷中継サーバ装置、クラウド印刷サービス提供サーバ装置、情報処理方法及びプログラム
JP2013058010A (ja) 画像処理システム、画像処理装置、画像形成装置およびプログラム
JP5858092B2 (ja) プリンタ
JP2015197837A (ja) 印刷システム、端末装置、サーバ装置、印刷装置、端末装置の制御方法、サーバ装置の制御方法、印刷装置の制御方法及びプログラム
JP6024109B2 (ja) 情報処理システム及びジョブ実行方法
JP2020140394A (ja) 情報処理装置、その制御方法、プログラム、及びシステム
JP2023012908A (ja) 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法
JP7070205B2 (ja) 記憶媒体読取装置、プログラム、印刷システム
EP4350501A1 (en) Information processing apparatus, control method thereof, and program and printing system thereof
JP6256563B2 (ja) 情報処理システム及びジョブ実行方法
JP2017191412A (ja) システムおよびその制御方法
JP2012133533A (ja) プリントサーバ及びその制御方法、プリントシステム
JP2023183237A (ja) 印刷装置、その制御方法及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20200918