JP2023012908A - 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法 - Google Patents

印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法 Download PDF

Info

Publication number
JP2023012908A
JP2023012908A JP2021116667A JP2021116667A JP2023012908A JP 2023012908 A JP2023012908 A JP 2023012908A JP 2021116667 A JP2021116667 A JP 2021116667A JP 2021116667 A JP2021116667 A JP 2021116667A JP 2023012908 A JP2023012908 A JP 2023012908A
Authority
JP
Japan
Prior art keywords
print job
information processing
print
service
image forming
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
JP2021116667A
Other languages
English (en)
Inventor
隼人 有働
Hayato Udo
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 JP2021116667A priority Critical patent/JP2023012908A/ja
Publication of JP2023012908A publication Critical patent/JP2023012908A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】画像形成装置が印刷ジョブの送信元を制限している場合でもクラウドプリントサービスを経由せずに印刷ジョブを送信可能にする。【解決手段】クラウドプリントサービスを提供するCPS1022と、印刷ジョブの送信元を制限する機能を有し、前記サービスの出力プリンタとして登録されているMFP101と、前記サービスと通信可能な情報処理装置103と、を含む印刷システムであって、CPS1022は、情報処理装置103から受け付けた印刷ジョブがファイルサイズの上限を超える場合に、印刷ジョブの送信先として選択されたMFP101に情報処理装置103のアドレス情報を通知し、MFP101は、CPS1022から情報処理装置103のアドレス情報が通知された場合に、情報処理装置103からの印刷ジョブの受け付けを許可する。【選択図】図8

Description

本発明は、印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法に関する。
近年、情報処理装置からクラウド経由でプリンタに印刷ジョブを送信するクラウドプリントサービスが普及している。ユーザは、クライアント端末からクラウドプリントサービスへ印刷ジョブを投入し、クラウドプリントサービスは受信した印刷ジョブを指定されたプリンタへと送信する。クラウドプリントサービスから印刷ジョブを受信したプリンタは印刷を実行し、印刷実行結果をクラウドに対して送信する。特許文献1は、ユーザがクラウドプラットフォームサービスへ印刷ジョブの操作命令を書き込むことにより印刷ジョブの操作を行う印刷システムを開示している。
クラウドプリントサービスを用いると、外出先でも、スマートフォンやタブレット端末等の情報処理装置から簡単に印刷を行うことができる。また、クラウドプリントサービスを経由した印刷を行うことにより、ユーザ毎の印刷枚数や、印刷日時、場所などをクラウドプリントサービスが一元的に記録・管理することができる。そのため、印刷経路を一本化し、印刷枚数やユーザなどを管理するため、クラウドプリントサービスを経由した印刷のみを許可する運用を行っている企業がある。
特開2012-133489号公報
しかしながら、ローカルネットワーク経由で印刷できる場合にまでクラウドプリントサービスを使われてしまうと、従量課金制が多いクラウドプラットフォームの利用において、不必要に大きなクラウドリソースを消費してしまう恐れがある。また、これらのクラウドリソースの過剰な利用を回避するために、クラウドプリントサービスにジョブの容量制限が設けられている場合もある。そのため、クラウドプリントサービスを経由した印刷のみを許可する運用が行われている場合、クラウドプリントサービスの容量制限を超えるジョブを印刷する方法がない。
本発明は、画像形成装置が印刷ジョブの送信元を制限している場合でもクラウドプリントサービスを経由せずに印刷ジョブを送信できる印刷システムを提供することを目的とする。
上記課題を解決するために、本発明の印刷システムは、クラウドプリントサービスを提供するサービスと、印刷ジョブの送信元を制限する機能を有し、前記サービスの出力プリンタとして登録されている画像形成装置と、前記サービスと通信可能な情報処理装置と、を含む印刷システムであって、前記サービスは、前記情報処理装置から受け付けた印刷ジョブがファイルサイズの上限を超える場合に、前記印刷ジョブの送信先として選択された前記画像形成装置に前記情報処理装置のアドレス情報を通知する通知手段を有し、前記画像形成装置は、印刷ジョブの送信元を管理する管理手段と、前記管理手段が管理する印刷ジョブの送信元に応じて、前記印刷ジョブの受け付けを制御する制御手段と、印刷ジョブに応じた印刷処理を行う印刷手段と、を有し、前記情報処理装置は、前記サービスに送信した印刷ジョブが前記サービスのファイルサイズの上限を超える場合に、同一のローカルエリアネットワーク内で当該印刷ジョブの送信先として選択された前記画像形成装置を探索する探索手段と、印刷ジョブを送信する送信手段と、を有する。前記画像形成装置の前記管理手段は、前記サービスから前記情報処理装置のアドレス情報が通知された場合に、前記情報処理装置からの印刷ジョブの受け付けを許可し、前記情報処理装置の前記送信手段は、前記探索された前記画像形成装置に前記ローカルエリアネットワークを経由して前記印刷ジョブを送信する。
本発明によれば、画像形成装置が印刷ジョブの送信元を制限している場合でもクラウドプリントサービスを経由せずに印刷ジョブを送信できる印刷システムを提供することができる。
印刷システムの構成を説明する図である。 MFP101のハードウェア構成を示す図である。 MFPのセキュリティ機能を説明する図である。 コンピュータのハードウェア構成を示す図である。 情報処理装置103のソフトウェア構成を示す図である。 MFP101のソフトウェア構成を示す図である。 クラウドプリンタ情報の一例を示す図である。 印刷システムが実行する印刷処理を説明するシーケンス図である。 印刷システムが実行する印刷中止処理を説明するシーケンス図である。 情報処理装置103が実行する印刷処理を説明するフローチャートである。 CPS1022が実行する印刷処理を説明するフローチャートである。 MFP101が実行する印刷処理を説明するフローチャートである。 IPアドレスを追加したIPPパケットの一例を示す図である。
(第1実施形態)
図1は、印刷システムの構成を説明する図である。本実施形態に係る印刷システムは、MFP(Multi Function Peripheral)101、クラウドプリントサービス(以下、CPSとも記す)1022、情報処理装置103を含む。MFP101、クラウドプリントサービス1022、情報処理装置103はネットワークを介して接続され、互いに通信可能である。情報処理装置103からクラウドプリントサービス1022を経由して、MFP101に印刷ジョブを送信し、印刷を行うことが可能である。
MFP101は、例えば、プリント機能、スキャン機能など多機能を備えた画像形成装置である。印刷では、外部装置から受信した印刷ジョブに基づき紙などのシートに画像を出力する。スキャンでは、原稿を読み取り、画像データを生成する。本実施形態のMFP101は、クラウドプリントサービス1022に出力プリンタ(クラウドプリンタ)として登録されている。出力プリンタ(クラウドプリンタ)とは、CPS1022からデータが転送される、CPS1022に登録済みで、CPS1022上で管理される仮想プリンタを意味する。また、本実施形態のMFP101は、印刷ジョブを受け付ける送信元を制限する機能を有している。情報処理装置103は、ノートPCやデスクトップPC、タブレットやスマートフォンなどの通信能力および印刷指示能力を有するクライアント端末である。また、情報処理装置103は、クラウドプリントサービス1022を利用することが可能である。
クラウドプリントサービス1022は、クラウドプラットフォーム102により顧客に提供されるクラウドサービスの一種である。クラウドプリントサービス1022は、ユーザが利用する情報処理装置103から投入された印刷ジョブをMFP101に送信する。またクラウドプリントサービス1022は、印刷に用いられる文書データや画像データ、印刷枚数などの管理を行う。クラウドプリントサービス1022は、AWS(登録商標)、Azure(登録商標)、GoogleCloudPlatform(登録商標)等のクラウドプラットフォーム102上のサービスの一つとして提供される。なお、クラウドプリントサービス1022は、1または複数のサーバなどの情報処理装置で構成されていてもよい。クラウドプリントサービス1022はプロトコルとして、例えば、IPP(Internet Printing Protocol)を使用している。
クラウドプラットフォーム102は、認証サービス1021、クラウドプリントサービス1022、クラウドストレージサービス1023、Webメール、ドキュメント作成、編集のためのサービスなどを企業などの組織に提供する。認証サービス1021は、各種サービスを利用するユーザやデバイスを認証、管理する。例えば、クラウドプラットフォーム102では、テナント毎にクラウドサービスの利用権限の管理や顧客データへのアクセス管理を行い、認証サービス1021は、テナントごとにユーザやユーザーグループ、デバイスの認証、管理を行う。
ここで、テナントとは、クラウドプラットフォームの利用単位である。具体的には、クラウドサービスプラットフォームの利用契約を結んだ組織ごと(例えば、企業ごとや組織ごと)に異なるテナントが割り当てられているものとする。CPS1022の出力プリンタもテナント毎に管理される。即ち、印刷データやCPS1022の実現のために必要なデータ、ユーザ認証のためのユーザDB等を含むユーザーデータ1024は、テナントごとに管理される。
CPS1022は情報処理装置103等のプリントクライアントから印刷ジョブを受信し、当該印刷ジョブを対応する仮想プリンタオブジェクトに受け渡す。出力プリンタは、外部から受信した印刷ジョブを一時的にスプールする機能と、スプールした印刷ジョブを、MFP110等の印刷装置に転送する機能を提供するソフトウェアモジュールである。仮想プリンタオブジェクトは、自身の管理するスプール領域に印刷ジョブを格納する。続けて、CPS1022に登録されたMFP101に対して印刷ジョブが入稿されたことを通知する。当該通知を受け取ったMFP101は仮想プリンタオブジェクトのスプール領域から印刷ジョブを取得し、取得した印刷ジョブに基づく印刷を実行する。
情報処理装置103とクラウドプリントサービス1022を提供するクラウドプラットフォーム102は、ネットワーク104で接続されている。クラウドプラットフォーム102とMFP101は、ネットワーク105で接続されている。ネットワーク104およびネットワーク105は、LAN、WANなどの通信ネットワーク、セルラネットワーク(例えば、LTEや5Gなど)、IEEE802.11に準拠する無線ネットワークのいずれか、またはこれらの組み合わせで構成されてもよい。すなわち、ネットワーク104およびネットワーク105はデータの送受信が可能に構成されていればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。
また、情報処理装置103とMFP101は、ローカルエリアネットワーク(以下、LANとも記す)100で接続されることが可能である。例えば情報処理装置103が社内にあるときは、情報処理装置103は、会社や組織等のローカルエリアネットワーク100に接続し、会社内、組織内での業務、活動に使用される。一方、情報処理装置103が社外等に持ち出される場合には、情報処理装置103は公衆無線回線やその他ネットワーク等には接続されるが、ファイアウォールが設けられた企業などの内部ネットワークに接続されているMFP101とは直接通信を行えない。
ここで、経路の異なる2つの印刷方法について説明する。まず、クラウドプリントサービス1022を経由する印刷について説明する。クラウドプリントでは、クライアントである情報処理装置103からの印刷指示により、クラウドプリントサービス1022を経由して、クラウドプリントサービス1022上の出力プリンタであるMFP101で印刷を行う。CPS1022の利用を許可されているユーザは、情報処理装置103を操作し、CPS1022に登録されたプリンタ(例えば、MFP101)を出力プリンタとして選択する。出力プリンタの選択が完了すると、ユーザは印刷設定画面を介して所望の印刷設定を行って、印刷開始の指示を行い、CPS1022に対して印刷ジョブを送信する。印刷ジョブを受信したCPS1022はMFP101に対して情報処理装置103から受信した当該印刷ジョブを転送する。MFP101は当該転送された印刷ジョブに基づき印刷を実行する。このような仕組みでクラウドプリントサービス1022を経由することにより、図1の経路110で示した通信経路で印刷を行うことができる。
次に、クラウドプリントサービス1022を経由しない印刷について説明する。情報処理装置103が参加するネットワーク環境によっては、CPS1022を経由せず、ローカルエリアネットワーク100経由等で最終的に成果物を取得したいプリンタ(例えば、MFP101)にアクセスできる場合がある。例えば、情報処理装置103がLAN100に接続されている場合、情報処理装置103は、MFP101とLAN100を介して直接通信を行うことができ、図1の経路120で示した通信経路で印刷を行うことができる。
ここで、LAN100経由で印刷できる場合にまでCPS1022を利用すると、余計なクラウドリソースを消費してしまうことになる。クラウドリソースの消費が大きいと、クラウド側のリソース投資が必要となったり、リソースを増強しなければ処理に遅れが生じてしまったりする恐れがあり、CPS1022を提供する事業者のクラウドリソース維持コストを圧迫してしまう。また、ユーザにとってもCPS1022を利用することによる費用が発生してしまう恐れがある。また、クラウドリソース削減のためにCPS1022にアップロードできるデータ容量の上限が設定されている場合には、データ容量の上限を超える印刷ジョブをCPS1022に対して送信すると、印刷を拒否されてしまうといった恐れもある。
一方で、LAN100を介する経路120で印刷が行われると、印刷枚数や印刷を行ったユーザなどの情報をCPS経由で管理することができなくなる。そのため、企業の情報システム管理者が、ユーザ個人毎の印刷枚数や印刷履歴などを一元管理するために、CPS1022を経由する経路110以外のすべての通信をIPフィルタ、ポートフィルタなどのMFP101の機能を用いてブロックしている場合がある。このような場合、容量上限が存在するCPSにおいては、容量上限以上の大きさの印刷ジョブをそもそも印刷することが不可能となってしまう。
そこで本実施形態は、CPS1022上の出力プリンタにCPS1022を経由せずアクセスできる場合、かつ、CPS1022経由以外のすべての通信をMFP101がブロックしている場合に、CPS1022を経由せず印刷ジョブを送信可能にする。
MFP101の詳細について説明する。MFP101は、スキャナを用いて原稿を読み取って得られた画像に基づくデータを外部に送信するスキャン機能や、外部装置から受信した印刷ジョブに基づき紙などのシートに画像を印刷する印刷機能、コピー機能を有する。また、MFP101はCPS1022の出力プリンタとして登録され、CPS1022を経由して印刷ジョブを受信し、印刷を行うことができる。また、MFP101はLAN100にも接続されている。本実施形態では、印刷装置の一例として複数の機能を有するMFPを例示しているがこれに限定されるものではない。例えば、印刷機能のみを有する単機能の印刷装置などであってもよい。また、印刷装置は、受信した印刷データを配下のプリンタに転送するプリントサーバ等であってもよい。
情報処理装置103からMFP101にCPS1022を経由する経路110で示される通信を行うためのネットワークは、ネットワーク104およびネットワーク105である。すなわち、経路110のネットワークはデータの送受信が可能に構成されていればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。
ここで、MFP101のハードウェア構成について説明する。図2は、MFP101のハードウェア構成を示す図である。MFP101は、制御部200、操作部206,スキャナ208、プリンタ210を備える。制御部200は、CPU201、ROM202、RAM203、ストレージ204、操作部I/F205、スキャナI/F207、プリンタI/F209、ネットワークI/F211を備える。
CPU(Central Processing Unit)201を含む制御部200は、MFP101全体の動作を制御する。CPU201は、ROM(Read Only Memory)202またはストレージ204に記憶された制御プログラムを読み出して、印刷制御や読取制御などの各種制御を行う。ROM202は、CPU201で実行可能な制御プログラムを格納する。RAM(Random Access Memory)203は、CPU201がアクセスする主記憶メモリであり、ワークエリア又は各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ204は、印刷ジョブ、画像データ、各種プログラム、各種設定情報を記憶する。また、ストレージ204には、クラウドプラットフォーム102上のユーザーテナントのリソースにアクセスするためのアクセストークンや、CPS1022との通信に利用するアドレス情報も格納される。このように、CPU201、ROM202、RAM203、ストレージ204等のハードウェアは、いわゆるコンピュータを構成している。
なお、本実施形態のMFP101では、1つのCPU201が1つのメモリ(RAM203)を用いて印刷制御やCPS1022との通信制御を実行するものとするが、他の様態であっても構わない。例えば複数のプロセッサー、メモリ、及びストレージを協働させて後述する各処理を実行することもできる。また、ハードウェア回路を用いて一部の処理を実行するようにしてもよい。
プリンタI/F(インタフェース)209は、プリンタ210(プリンタエンジン)と制御部200とを接続する。MFP101は、CPS1022や情報処理装置103から受信した印刷ジョブに基づきプリンタ210に転送する印刷画像及び印刷制御コマンドを生成する。プリンタ210は、プリンタI/F209を介して入力された印刷画像や印刷制御コマンドに基づいて、給紙カセットから給紙されたシート等に画像を印刷する。印刷の方式はトナーを紙に転写して定着させる電子写真方式であってもよいし、紙にインクを吐出して印刷するインクジェット方式であってもよい。
スキャナI/F207は、スキャナ208と制御部200とを接続する。スキャナ208は、原稿台に載置された原稿を読み取り、そして画像データを生成する。スキャナ208が生成した画像データは、プリンタ210で印刷されたり、ストレージ204に記憶されたり、ネットワークI/F211を介して外部装置に送信されたりする。
操作部I/F205は、操作部206と制御部200とを接続する。操作部206には、タッチパネル機能を有する液晶表示部や各種ハードキーなどが備えられている。操作部206は、ユーザに情報を表示する表示部やユーザの指示を受け付ける受付部として機能する。CPU201は、操作部206と協働して情報の表示制御やユーザ操作の受け付け制御を行う。
ネットワークI/F211には、ネットワークケーブルが接続され、ローカルエリアネットワーク100上やインターネット上の外部装置と通信を実行することができる。本実施形態では、ネットワークI/F211がRJ45コネクタやGG(GigaGate)45コネクタ形式の有線ケーブルを接続し、イーサネット(登録商標)に準拠する有線通信を行う通信インタフェースである場合を想定している。しかしながら、これに限定されるものではない。例えば、IEEE802.11シリーズに準拠する無線通信インタフェースであってもよい。また、経路120の通信を行うための通信インタフェースを別に有してしてもよい。この場合、当該通信インタフェースは、CDMA等の3G回線、LTEなどの4G回線、5G NRなどの移動体通信を行う通信インタフェースであってもよい。
CPS1022から印刷ジョブが入稿された旨の通知を受信したMFP101は、CPS1022から印刷ジョブを受信する。そしてMFP101は、印刷ジョブに含まれるPDL(Page-Description Language)データをレンダリングし、印刷用画像データを生成する。CPU201は、レンダリングされた印刷画像データと、プリンタ210を制御する制御コマンドを印刷部I/F209を介してプリンタ210に送信し、プリンタ210に対して印刷処理を実行させる。
また、MFP101はIPP(Internet Printing Protocol)等の標準印刷機能をサポートしている。MFP101は、mDNS(multicast Domain Name System)を用いたプリンタ探索のパケットを情報処理装置103等の外部装置から受信すると、当該パケットに対して探索結果を応答する。探索結果にはプリンタを識別するための識別情報が含まれる。
また、MFP101はIPフィルタやポートフィルタなど、特定の外部端末からのMFPへのアクセスを制限するセキュリティ機能を有する。例えば、MFP101は、接続を許可するアドレスを一覧形式で保持し、一覧に存在しない接続先からの通信をすべてブロックする許可リスト形式のセキュリティ機能を有する。MFPの許可リスト形式のセキュリティ機能設定画面の一例を図3に示す。
図3は、MFP101の通信のセキュリティ機能を説明する図である。MFP101は、セキュリティ機能により受け付ける印刷ジョブの送信元を制限している。MFP101のセキュリティ設定において、例えば、IPフィルタ機能が設定されているものとする。フィルタ設定画面300は、MFP101のセキュリティ機能であるIPフィルタ機能を設定する画面の一例である。フィルタ設定画面300には、IPフィルタ機能のデフォルトポリシーを設定するIPフィルタ設定301が表示される。IPフィルタ設定301でデフォルトポリシーがAllowに設定されている場合、拒否リスト(不図示)に登録されている情報機器からの通信のみを拒否する。
一方、IPフィルタ設定301でデフォルトポリシーがRejectに設定されている場合、許可リスト302に登録されている情報機器からの通信のみを受け付ける。許可リスト302に例えば、通信を許可する情報機器のアドレスとポート番号を追加することによって、当該情報機器からの通信を受け付けることが可能となる。MFP101においてIPフィルタ機能を設定してCPS1022からの通信のみを許可することにより、印刷のための通信経路をCPS1022からの通信のみに限定でき、MFP101のセキュリティを担保することが可能となる。すなわち、MFP101においてIPフィルタ機能を設定することにより、CPS1022からの印刷ジョブのみを受け付けるように制限することができる。
次に、情報処理装置103の詳細について説明する。情報処理装置103は、CPS1022経由で印刷を行うためのプリントクライアントである共通プリンタドライバを備えている。情報処理装置103は、LAN100経由でCPS1022上の出力プリンタに対応するプリンタと通信できる場合に、CPS1022を経由せずに、LAN100経由でプリンタに直接印刷データを送信して印刷を行わせる機能も備えている。以降、当該機能をローカルクラウドプリント機能とも呼ぶ。詳細については後述する。
図4は、情報処理装置103のハードウェア構成を説明する図である。情報処理装置103は、一般的なコンピュータの構成を有しており、制御部400、操作部407を備える。制御部400は、CPU401、ROM402、RAM403、ストレージ404、操作部I/F405、ネットワークI/F406を備える。
CPU401を含む制御部400は、コンピュータ全体の動作を制御する。CPU401は、ROM402またはストレージ404に記憶されたプログラムをRAM403に展開し、それを実行することで各種制御を行う。RAM403は、CPU401の主記憶メモリであり、ワークエリアまたは各種プログラムを展開するための一時記憶領域として用いられる。ROM402は、CPU401で実行可能な制御プログラムやブートプログラム等を格納する。ストレージ404は、画像データ、各種プログラム、各種設定情報を記憶する。また、ストレージ404には、クラウドプラットフォーム102にアクセスするためのアクセストークンや、CPS1022との通信に利用するアドレス情報も格納される。本実施形態ではストレージ404としてHDD(Hard Disk Drive)等の補助記憶装置を想定しているが、HDDの代わりにSSD(Solid State Drive)などの不揮発性メモリを用いるようにしても良い。このように、CPU401、RAM403、ROM402、ストレージ404等のハードウェアは、いわゆるコンピュータを構成している。
操作部407は、キーボードやポインティングデバイス(マウス)、タッチ入力デバイス等を有し、ユーザからの操作を受け付ける。また、操作部407は、ディスプレイ装置、タッチパネル等を備え、ユーザに対して情報を表示する表示部として機能する。操作部I/F405は、操作部407を制御するインタフェースである。情報処理装置103は、ネットワークI/F406を介してローカルエリアネットワーク100やインターネット(例えば、ネットワーク104)に接続される。情報処理装置103は、ネットワークI/F406を介してローカルエリアネットワーク100上の印刷装置に印刷データを送信したり、インターネット上のクラウドプラットフォーム102とデータ通信を行ったりする。通信方式は、IEEE802.11シリーズに準拠する無線通信であってもよいし、RJ45コネクタやGG45コネクタ形式で接続した有線ケーブルを経由してEthernet(登録商標)に接続する有線通信であってもよい。なお、インターネット上のクラウドプラットフォーム102とのデータ通信はLTEや5Gなどの移動体通信システムを介して行われてもよい。
なお、本実施形態の情報処理装置103では、1つのCPU401が1つのメモリ(RAM403)を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のプロセッサー、メモリ、及びストレージを協働させて後述するフローチャートに示す各処理を実行するよう構成することもできる。また、ハードウェア回路を用いて一部の処理を実行するようにしてもよい。
また、クラウドプラットフォーム102の各クラウドサービスを実現する実リソースとしてのコンピュータも図3で説明したハードウェア構成と同様の構成を備える。すなわち、図1で例示した各クラウドサービスは、所謂ノイマン型のコンピュータがプログラムコードを実行することより実現される。また、本実施形態では、説明の簡略化のため、クラウドプラットフォーム102を構成する各クラウドサービスを、1つのCPUが1つのメモリを用いて各処理を実行する場合を例示するが、他の様態であっても構わない。例えば複数のプロセッサー、RAM、ROM、ストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、複数のサーバコンピュータのリソースを協働させ、各サービスを実現することもできる。クラウドプラットフォーム102を提供するコンピュータリソースは、コンテナ化技術や仮想化技術を適宜用いることで、複数の異なるテナントのデータ資源を適切に管理し、各クラウドサービスを各テナントに属するユーザに提供する。
図5を用いて、情報処理装置103のソフトウェア構成について説明する。図5は、情報処理装置103のソフトウェア構成を示す図である。まず、情報処理装置103内の動作ソフトウェアについて説明する。情報処理装置103内のソフトウェアは、OS(Operating System)210とアプリケーション500を有する。OS510は、情報処理装置103全体を統括して管理するシステムソフトウェアである。OS510は、入出力の制御、メモリやハードディスクなどのハードウェアの管理、プロセスの管理といった、コンピュータの基本的な管理・制御を提供する。アプリケーション500は、情報処理装置103上で動作するアプリケーション群である。
OS510を構成する個々の要素について説明する。OS510は、ユーザ管理モジュール511や、印刷フレームワーク520を有する。また、OS510にはプリンタドライバ格納領域530が設けられている。ユーザ管理モジュール511は、クラウドプラットフォーム102のユーザアカウントを管理する。ユーザ管理モジュール511は、ユーザ管理部512を有する。ユーザ管理部512には、クラウドプラットフォーム102のユーザアカウント情報であるアクセストークンが記憶される。本実施形態では、情報処理装置103が既にクラウドプラットフォーム102の認証サービス1021で認証され、デバイス管理されているものとする。また、情報処理装置103を利用するユーザのログイン認証もクラウドプラットフォーム102の認証サービス1021と協働して行われる。以降では、説明のため「aaaAlice@companyA.example1.jp」といったクラウドアカウントでテナント「companyA」に属するユーザ「Alice」が情報処理装置103にログインしている場合を例に説明する。
印刷フレームワーク520は、共通プリンタドライバ531と協働して、印刷に関する処理を制御する。印刷フレームワーク520は、プリントキュー521、スプーラ522、マネージャ523、ローカルプリンタ探索モジュール524、クラウドプリンタ探索モジュール525を有する。また、印刷フレームワーク520は、プリンタドライバ格納領域530に格納されたプリンタドライバと協働してPDLデータの生成処理を行う。本実施形態では、OS510にCPS1022経由で印刷を行うための共通プリンタドライバ531がプリインストールされており、印刷フレームワーク520は共通プリンタドライバ531と協働してPDLデータの生成処理を行う。なお、プリンタドライバ格納領域530には、ユーザ操作により情報処理装置103にインストールされたベンダが提供するプリンタドライバなども格納される。
プリントキュー521は、印刷を行う際に、印刷ジョブを一時的に保存する領域である。プリントキュー521は、複数個存在することができる。本実施形態では説明のため、CPS1022を経由してCPS1022上で管理されるクラウドプリンタに印刷データを送信する場合に使用されるプリントキュー521が作成されているものとする。スプーラ522は、アプリケーション500が生成した印刷対象データであるXPS(XML Paper Specification)ファイルを一時的に保存および管理するモジュールである。スプーラ522に保存されたXPSファイルは、PDLフィルタを用いてPDL(Page Description Language)に変換される。変換の結果得られたPDFファイルとプリントチケット等のフォーマットの印刷設定ファイルを含む印刷ジョブはスプーラ522に格納される。印刷ジョブはスプーラ522を通じてCPS1022やMFP101に対して送信される。
マネージャ523は、情報処理装置103における印刷処理全体を制御する。また、マネージャ523は、フィルタパイプラインのコンフィグレーションやコンフィグレーションされたパイプラインを用いた印刷データの生成、印刷設定の生成、変更機能を提供するモジュールである。まずフィルタパイプラインのコンフィグレーションについて説明する。マネージャ523は、プリンタドライバ格納領域530に格納された1つ以上のPDLフィルタ532をロードして、XPSファイルをPDLファイルへと変換するフィルタパイプラインモジュールを構築する。具体的には、マネージャ523は、出力先プリンタに対応するプリンタドライバを特定する。ここでは、CPS1022が管理するクラウドプリンタが出力先プリンタとして選択され、対応するプリンタドライバとして、共通プリンタドライバ531が特定されたものとして説明する。マネージャ523は、当該特定したプリンタドライバのフィルタコンフィグ533に基づき、共通プリンタドライバ531を構成する要素の一つである1つ以上のPDLフィルタ532を読み込み、フィルタパイプラインモジュールを構築する。そして、印刷開始のユーザ操作を検知したことに従って、OS510は、フィルタパイプラインモジュールにロードされた1つ以上のPDLフィルタ532を使用してXPSデータをPDLデータに変換する。PDLは、例えば、PCL(Printer Control Language)やPDF(Portable Document Format)などを採用することができる。
次に印刷設定の管理について説明する。マネージャ523は、出力先プリンタの能力情報であるPrintCapabilitiesや印刷時に適用すべき印刷設定を示すPrintTicketを管理する。共通プリンタドライバ531は、デバイスの機能が記述されたデバイス情報群534を印刷フレームワーク520に提供する。これらのデバイス情報は、クラウドプリンタ毎に個別に記憶される。マネージャ523は、ユーザ選択された出力先プリンタを特定し、デバイス情報群534から対応するデバイス情報を取得する。マネージャ523は、取得したデバイス情報に応じてカスタマイズされた印刷設定画面を操作部407に提供する。
ローカルプリンタ探索モジュール524は、情報処理装置103が接続しているローカルエリアネットワーク内(本実施形態では、LAN100内)のプリンタを探索するモジュールである。ローカルプリンタ探索モジュール524は、探索画面でのユーザ操作により新規プリンタの探索が行われる場合や、後述のフローチャートにてクラウドプリンタに対応するローカルプリンタの探索を行う場合に使用される。ローカルプリンタ探索モジュール524は、例えば、mDNS等の探索用のブロードキャストパケットをネットワーク上にブロードキャストしローカルプリンタを探索する。また、例えば、ローカルプリンタ探索モジュール524は、IPP規格で規定されるGet-PrinterーAttributes Request等を用いたユニキャスト通信でローカルプリンタを探索することもできる。
クラウドプリンタ探索モジュール525は、CPS1022上のクラウドプリンタを探索するモジュールである。クラウドプリンタ探索モジュール525は、探索画面でのユーザ操作を受け付けたことに従って、新規プリンタの探索を行う。また、クラウドプリンタ探索モジュール525は、ユーザーログイン時やスリープ復帰時などに、ユーザが使用できるCPS1022上のクラウドプリンタを更新する場合にプリンタの探索を行う。クラウドプリンタ探索モジュール525は、ユーザ管理モジュール511からログインユーザーに対応するアクセストークンを取得する。続けてクラウドプリンタ探索モジュール525は、当該アクセストークンを用いてCPS1022が提供するプリンタ探索のWebAPIをコールする。当該WebAPIのコールを受け付けたCPS1022は、アクセストークンに基づきテナントを特定し、テナントに関連付けられたクラウドプリンタの情報(以下、クラウドプリンタ情報とも記す)を応答する。例えば、CPS1022は、アカウント「aaaAlice@companyA.example1.jp」に対応するアクセストークンを含む探索要求を受信した場合、テナント「companyA」に関連付けられたプリンタの一覧を通知する。クラウドプリンタ情報の詳細な説明は、図7を用いて後述する。
CPS1022からクラウドプリンタ探索の応答を受け取ったOS510は、探索画面に探索結果を表示する。探索画面には、ローカル探索やクラウド探索で見つかった各種出力先が表示される。探索で見つかったクラウドプリンタの中から出力先プリンタの選択を受け付けた場合、マネージャ523はクラウドプリンタ探索モジュール525と協働して、ユーザにより選択されたクラウドプリンタの能力情報を取得する。能力情報の取得は、例えば、IPPのGet-Printer-Attribute Request等を用いることができる。能力情報の取得要求を受信したCPS1022は、各種情報をマネージャ523に応答する。マネージャ523に応答する各種情報については、図7を用いて後述する。応答を受信したマネージャ523は、当該応答に基づき、共通プリンタドライバ531のデバイス情報群534にクラウドプリンタの能力情報を格納する。
経路変更モジュール526は、CPS1022を経由しない経路(経路120)で印刷が行えるかどうかの判定処理と、経路の切り替え処理を行う機能を提供するモジュールである。切り替えを行うと判定した場合、プリントキュー521の出力先の設定を変更し、出力先をCPS1022からローカルプリンタのURI(ローカルプリンタにアクセスするためのIPアドレスやホスト名)に変更する。切り替えの詳細は後述のフローチャートで説明する。
図6を用いて、MFP101のソフトウェア構成について説明する。図6は、MFP101のソフトウェア構成を示す図である。MFP101は、送受信部541、制御部542、通信制御部543、設定管理部544、印刷処理部545、設定DB546、印刷ジョブDB547を有する。
送受信部541は、外部装置と通信し、データの送受信を行う。本実施形態の送受信部541は、例えば、情報処理装置103、CPS1022、MFP101のWebブラウザ等との通信を処理し、データの送受信を行う。制御部542は、送受信部541が受け付けたリクエストに従って処理を実行する。
通信制御部543は、送受信部541が受信した印刷ジョブなどを構成するパケットの送信元および内容に応じて、当該パケットを破棄するか許可するかを制御する。例えば、通信制御部543は、送受信部541がパケットを受信した際に設定管理部544からIPフィルタの設定を取得し、パケットの送信元のIPアドレスがIPフィルタの設定において通信を許可されたIPアドレスであるか否かを確認する。パケットの送信元のIPアドレスがIPフィルタの設定において通信を許可されたIPアドレスである場合にはパケットを許可し、通信を許可されたIPアドレスでない場合にはパケットを破棄する。
設定管理部544は、CPS1022に関する各種設定情報や、IPフィルタをはじめとする各種セキュリティ設定、その他、MFP101に関する設定情報を管理する。また、CPS1022からIPアドレスを含むアドレス情報の通知を受けた際に、設定DB546に保存されているIPフィルタ設定に関する情報をアップデートする。設定DB546は、設定管理部544が管理する各種設定情報が格納される領域である。印刷処理部545は、情報処理装置103またはCPS1022などから受信した印刷ジョブを処理し、印刷ジョブDB547に保存したり、印刷ジョブに応じた印刷処理を実行したりする。印刷ジョブDB547は、印刷処理部545が処理する印刷ジョブが一時的に格納される領域である。
図7は、CPS1022で管理されるクラウドプリンタ情報の一例を示す図である。クラウドプリンタ情報700はCPS1022においてテナントごとに管理されるCPS1022上のクラウドプリンタに関する情報である。クラウドプリンタ情報700には、例えば、プリンタ名称602、URI603、ステータス604、位置情報605、プリンタメタデータ606、共有情報607、印刷設定608、受信上限サイズ709が含まれる。なお、図7では、テナント「companyA」に関連付けられたクラウドプリンタ情報を例に説明する。テナント「companyA」に属するユーザ「Alice」からCPS1022上のクラウドプリンタの探索指示を受けたCPS1022は、情報処理装置103にクラウドプリンタ情報700を応答する。
プリンタ名称602は、CPS1022上でクラウドプリンタを識別する識別情報であるプリンタ名を示す情報である。URI603は、CPS1022に入稿された印刷ジョブを実際に処理するプリンタのURI(Uniform Resource Identifier)を示す情報である。ステータス604は、プリンタのステータスを示す情報である。ステータス604には、例えば、印刷可能な状態を示す情報や、紙なし等のエラー状態が示される。位置情報605は、プリンタのロケーションを示す情報である。位置情報605は、例えば、緯度経度、住所、部署などにより示される。
プリンタメタデータ606は、デバイス詳細情報の表示等に用いるメタデータを示す情報である。プリンタメタデータ606には、例えば、プリンタの機種名やシリアル番号、登録日時などが示される。共有情報607は、プリンタがいずれのユーザーグループに共有されているかを特定するための情報である。印刷設定608は、情報処理装置103等のプリンタクライアントに通知するクラウドプリンタの能力情報を示す情報である。印刷設定608には、例えば、ステープル等のフィニッシング機能の能力情報、サポートするカラーモード、サポートする用紙サイズ、両面印刷をサポートするかどうかの能力情報などが含まれる。受信上限サイズ609は、クラウドプリンタが受信可能なPDLデータのサイズの上限を示す情報である。受信上限サイズ609は、例えば、PWG5100.16で定義されているpdf-k-octets-supported属性に相当する情報である。
図8を用いて、MFP101においてCPS1022経由での通信のみが許可されている状態でCPS1022経由での印刷ができない場合に、LAN100経由での印刷処理を実現する一連の処理のシーケンスを説明する。図8は、本実施形態における印刷システムが実行する印刷処理を説明するシーケンス図である。図8では、ユーザ「Alice」が情報処理装置103を操作してMFP101での印刷処理をするシーケンスを説明する。
S800で、情報処理装置103のユーザ管理部512は、ユーザによるログイン処理を受け付ける。ユーザ「Alice」は、クラウドプラットフォーム102のログイン情報を用いてログインする。ログイン情報には、例えば、ユーザアカウントである「Alice@companyA.example1.jp」と対応するパスワードの組み合わせが用いられる。
S801で、印刷フレームワーク520は、クラウドプリンタの探索要求をCPS1022に送信する。具体的には、マネージャ523が、クラウドプリンタ探索モジュール525と協働して、ログイン中のユーザ「Alice」に対応するアクセストークンを含むプリンタ探索要求をCPS1022に対して送信する。S802で、CPS1022はクラウドプリンタの探索要求の応答として、当該ユーザが使用可能なクラウドプリンタの情報を探索結果として情報処理装置103に送信する。探索結果には、少なくとも図7で説明したプリンタ名称602を示す情報と、ローカルプリンタのURI603を示す情報が含まれる。探索結果を受信した情報処理装置103のマネージャ523は、探索結果を示す情報を情報処理装置103のRAM403に一時記憶する。
情報処理装置103上でアプリケーション500を介して文書データや画像データの印刷を行うための操作受け付けると、S803で、印刷フレームワーク520は、プリンタ選択画面を表示する。プリンタ選択画面には、情報処理装置103にインストールされたベンダ等が提供するプリンタドライバを用いて印刷を行うプリンタと、S801の探索処理で見つかったクラウドプリンタとが表示される。
S804で、印刷フレームワーク520は共通プリンタドライバ531と協働して、プリンタ選択画面を介してユーザからの出力先となるプリンタの選択操作を受け付ける。ここでは説明のため、選択画面から出力先のプリンタとしてCPS1022上で管理されるクラウドプリンタであるMFP101が選択されたものとする。S805で、OS510は、ユーザからの印刷実行指示を受け付ける。S806で、印刷フレームワーク520は、CPS1022に対して印刷ジョブの書誌情報を送信する。印刷ジョブの書誌情報には、出力先のプリンタ情報、印刷設定を示す情報や、印刷ジョブのファイルサイズ、ジョブの名称、ジョブのオーナー名を示す情報等が含まれる。また、書誌情報には、CPS1022経由(図1の経路110)で印刷を行うことを示す情報が含まれる。
以下では、印刷ジョブのファイルサイズがクラウドで指定されたファイルサイズの上限を超えていたケースに関して説明する。CPS1022はS806で情報処理装置103から受信した印刷ジョブのファイルサイズが上限を超過していることを検知した場合、S807で、情報処理装置103に対して上限を超過している旨のエラーを通知する。
S808で、CPS1022は、印刷ジョブの送信先としてS804で選択されたMFP101に情報処理装置103のIPアドレスを含むアドレス情報を送信する。なお、本実施形態ではCPS1022がMFP101にアドレス情報を送信する例を説明したが、エラー通知を受け取った情報処理装置103がCPS1022を介してMFP101にLAN100内での自身のアドレス情報を送信するようにしてもよい。この場合、まず、情報処理装置103は、CPS1022に対してLAN100内での自身のアドレス情報を送信する。情報処理装置103からアドレス情報を受信したCPS1022は、MFP101に情報処理装置103のアドレス情報を送信する。
S809で、CPS1022からアドレス情報を受け取ったMFP101の設定管理部544は、当該アドレスからの通信を許可する。設定管理部544は、例えば、受信したアドレス情報を一時的にIPフィルタ機能の許可リストに追加することで、情報処理装置103からの通信を許可する。
S810で、印刷フレームワーク520は、LAN100上のプリンタ(以下、ローカルプリンタとも記す)の探索処理を行う。例えば、マネージャ523はローカルプリンタ探索モジュール524と協働して、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)である。CPS1022が情報処理装置103にローカルプリンタのURIではなくデバイスIDを通知する場合、ユニキャスト通信によるネットワーク上のローカルプリンタの探索は困難である。この場合には、例えば、mDNS(multicast Domain Name System)などの探索パケットをネットワーク上にブロードキャストしてネットワーク上のローカルプリンタを探索するよう構成してもよい。ネットワーク上のローカルプリンタが複数見つかる場合がある。ローカルプリンタが複数見つかった場合は、探索で見つかったプリンタのUUIDとCPS1022から通知されたクラウドプリンタに関連付けられたローカルプリンタのUUIDとを比較して、出力先プリンタに対応するローカルプリンタを見つける。
次に、S810のローカルプリンタの検索処理においてローカルプリンタが見つかった場合の印刷制御について、S811~S819を用いて説明する。以下では、S810のローカルプリンタの検索処理においてローカルプリンタとしてMFP101が見つかった場合について説明する。S811で、MFP101は、ローカルプリンタの検索に対し、応答を返す。情報処理装置103がS810のローカルプリンタの探索においてIPPのGet-Printer-Attributes Requestを用いた場合には、MFP101から当該探索に対する応答と共にMFP101の能力情報が取得される。能力情報には、サポートするカラーモード、サポートする用紙サイズ、両面印刷をサポートするかどうか、受け入れ可能なデータ形式などの情報が含まれている。
一方、S810のローカルプリンタの探索においてmDNSやSNMPによるマルチキャストやブロードキャスト検索が用いられた場合、S811で、印刷フレームワーク520は、MFP101に能力情報の取得要求を送信する。例えば、印刷フレームワーク520は、発見されたローカルプリンタに対してIPP GetPrinterAttributeやSNMP GetPbject Requestなどユニキャストで能力情報の取得要求を送信する。情報処理装置103からの能力取得の要求を受信したMFP101は、S813で、応答としてローカルプリンタの能力情報を要求元の情報処理装置103に送信する。以上説明したように、情報処理装置103はローカルプリンタの探索方法に応じてS811もしくはS813により、MFP101からMFP101の能力情報を取得する。
S814で、印刷フレームワーク520は、LAN100経由(図1の経路120)で印刷を行うと決定し、各種設定を更新する。例えば、マネージャ523は、先に取得したMFP101の能力情報に応じて、出力先プリンタの能力を示すPrintCapabilitiesや印刷時に適用すべき印刷設定を示すPrintTicketを更新する。また、マネージャ523は、必要に応じてフィルタパイプラインモジュールの再構成を行う。例えば、ローカルプリンタがPDLデータの形式としてPDFをサポートしていない場合、PDLフィルタ532からラスタ変換用のフィルタを取得し、フィルタパイプラインモジュールを再構成する。この処理により、ラスタ方式(例えば、PWG-Raster方式)でレンダリングを行うフィルタ状態に更新することができる。更に、マネージャ523は、経路変更モジュール526と協働して、プリントキュー521の出力先の設定を、ローカルプリンタのURI(ローカルプリンタにアクセスするためのIPアドレスやホスト名)に変更する。
S815で、印刷フレームワーク520は、CPS1022に対してローカルプリンタ用に新たに作成した印刷ジョブの書誌情報を送信する。S816で、印刷フレームワーク520は、印刷ジョブをS810で探索されたローカルプリンタであるMFP101に送信する。具体的には、まず、マネージャ523は、構成済みのフィルタパイプラインモジュールを使用して、アプリケーションからスプーラ522経由で受け取った描画データをPDLデータに変換する。そして、マネージャ523は、PDLデータと印刷設定を示す情報を含む印刷ジョブを生成し、プリントキュー521にストアする。なお、プリントキュー521にストアされた印刷ジョブの出力先は、S813の変更処理でローカルプリンタに変更されている。OS510は、当該変更された出力先の設定に基づき、当該プリントキュー521に格納される印刷ジョブのデータをローカルプリンタ宛に送信する。当該印刷ジョブには、ローカルクラウドプリントの経路(図1の経路120)で印刷を行うことを示す情報並びにCPS1022上で発行されたジョブIDが含まれている。
S817で、印刷ジョブを受信したローカルプリンタとしてのMFP101のCPU201は、プリンタ210と協働し、受信した印刷ジョブに応じた印刷処理を実行する。例えば、印刷ジョブに基づき印刷画像が印刷されたシートが排紙トレイに排出される。
印刷が完了すると、S818で、MFP101の設定管理部544は、S809で許可リストに追加していた情報処理装置103のアドレス情報を許可リストから除外する。そして、S819で、MFP101は、印刷結果として印刷の完了をCPS1022に通知する。
S820で、CPS1022は、MFP101から通知された完了通知に応じて、CPS1022上で管理する印刷ジョブの実行結果を更新する。完了通知には、印刷処理の実行結果と情報処理装置103から受信した印刷ジョブに含まれていたジョブIDが含まれている。CPS1022は、ジョブIDに基づき対応する印刷ジョブの実行状況を更新する。印刷ジョブの実行結果の更新処理によりローカルクラウドプリント機能を使用する場合であっても、CPS1022上においてLAN100経由で印刷された印刷枚数の実績等を適切に集計、管理できるようになる。
次に、S809の探索処理において、ローカルプリンタが見つからない場合の処理を、図9を用いて説明する。本実施形態では、ローカルプリンタが見つからない場合、LAN100経由での印刷処理を中止する。そして、印刷中止に伴いMFP101において通信の許可リストに追加していた情報処理装置103のアドレスが不要となるため、これを許可リストから削除する処理を行う。
図9は、ローカルプリンタが見つからない場合の処理を説明するシーケンス図である。図9において図8と同様の処理については同じ符号を付すことで、その説明を省略する。S810でのローカルプリンタ検索から予め定められた所定の時間、探索への応答が得られない場合、S900で、情報処理装置103の印刷フレームワーク520は、印刷を中止する。
MFP101では、S808において許可リストに情報処理装置103のアドレスを追加後、予め定められた所定の時間、情報処理装置103からの接続要求がない場合、S901で、情報処理装置103のアドレスを許可リストから除外する。そして、MFP101はCPS1022に印刷の失敗を通知する。MFP101は、許可リストから情報処理装置103のアドレスを削除した後、CPS1022に印刷処理の失敗を通知するようにしてもよい。このように、所定の時間の経過後に情報処理装置103からの通信の許可を取り消すことで、一時的に緩和していたセキュリティを元の状態に戻すことができる。
ファイルサイズを超過している場合の印刷システムの各装置における処理について、図10~図12を用いて説明する。特に、MFP101において受け付ける印刷ジョブの送信元がCPS1022に制限されている場合に必要な処理を中心に説明する。まず、図10を用いて、図8および図9で説明した一連の印刷処理における情報処理装置103の制御について説明する。図10は、情報処理装置103の処理を説明するフローチャートである。図10に示す処理は、ユーザによるCPS401が管理するクラウドプリンタを用いた印刷指示を受け付けたこと(S805)により開始される。図10に示される各処理は、情報処理装置103のCPU401がROM402またはストレージ404に記憶された各制御モジュールに対応するプログラムをRAM403に呼び出し、実行することにより実現される。なお、本実施形態においてデータの送受信処理などは、図5に示すソフトウェアが図4に示すハードウェアと協働して実現されるものとする。
ユーザからCPS1022経由の印刷指示を受け付けた情報処理装置103は、S1000で、印刷フレームワーク520が共通プリンタドライバ531は協働して、CPS1022に対して送信ジョブのファイルサイズや印刷設定等を含む書誌情報を送信する。S1000は、図8および図9におけるS806に相当する処理である。
S1001で、印刷フレームワーク520は、CPS1022からファイルサイズがサイズ上限を超えていることを示すエラー応答を受け付けたか否かを判断する。ファイルサイズがサイズ上限を超えていることを示すエラー応答を受け付けた場合、S1003に進む。受け付けた応答がエラー応答でなかった場合(即ち、正常応答を受け付けた場合)は、S1002に進む。
S1002において、印刷フレームワーク520と共通プリンタドライバ531は協働して、CPS1022に対して印刷ジョブまたは印刷に必要となる印刷データを送信する。CPS1022は、S1002で受信した印刷ジョブ、もしくは、S1002で受信した印刷データとS1000(S806)で受信した書誌情報を含む印刷ジョブを、S804で選択されたMFPに転送する。そして、CPS1022から印刷ジョブを受信したMFP101は印刷ジョブに応じた印刷処理を実行する。このようにS1002では、CPS1022経由(図1の経路110)での印刷が実施される。
S1003において、ローカルプリンタ探索モジュール524は、送信対象のMFP101とLAN100経由で直接通信できるかどうかを判定する。具体的には、ローカルプリンタ探索モジュール524は、mDNSやマルチキャスト探索等を用いて、ローカルプリンタを検索する。そして、ローカルプリンタ探索モジュール524は、探索の結果に基づいて同一のLAN100内に送信対象のMFP103が存在するか否か判定することにより、送信対象のMFP101とLAN100経由で直接通信できるかどうかを判定する。S1003の処理は、図8におけるS810およびS811の処理に相当する。送信対象のMFP101が同一のLAN100内に存在すると判定した場合は、S1004に進む。一方、送信対象のMFP101が同一のLAN100内に存在しないと判定した場合は、S1005に進む。
S1004において、印刷フレームワーク520と共通プリンタドライバ531は協働して、LAN100経由で送信対象のMFP101に書誌情報と印刷データを含む印刷ジョブを送信する。MFP101は、図8のS809の処理により、情報処理装置103のIPアドレスからのデータを受信可能な設定になっている。そのため、MFP101は情報処理装置103が送信した印刷ジョブを適切に受信し、印刷を行うことができる。
S1005において、印刷フレームワーク520は、印刷を中止する。印刷を中止する場合、情報処理装置103の操作部407にエラーメッセージを表示する。エラーメッセージは、例えば、サイズ上限に達したため印刷が行えなかったことを示すメッセージである。
次に、図11を用いて、図8および図9で説明した一連の印刷処理におけるCPS1022の制御について説明する。図11は、CPS1022の処理を説明するフローチャートである。CPS1022における受信ジョブのファイルサイズ上限に達している場合とそうでない場合の挙動の変化について図11を用いて説明する。図11に示すフローチャートは、クライアントである情報処理装置103から印刷要求を受け付けたことに従って開始される。図11に示す各処理は、CPS1022の実リソースとしてのコンピュータのプロセッサーが対応するプログラムをRAM403に呼び出し、実行することにより実現される。なお、本実施形態において、データの送受信処理などは各I/Fや各ハードウェアと協働して実現されるものとする。
S1100で、CPS1022は、情報処理装置103から受信した書誌情報から印刷対象のファイルサイズを取得する。なお、S1100は、図8のS806に相当する。S1101で、CPS1022は、ファイルサイズが規定のサイズ上限を超えているか否か判定する。ファイルサイズが上限以下である場合は、S1002に進む。一方、ファイルサイズが上限を超えている場合は、S1003に進む。
ファイルサイズが規定のサイズ上限を超えていない場合、S1002で、CPS1022は、情報処理装置103から印刷ジョブを受信し、受信した印刷ジョブをMFP101に対して送信する。そして、CPS1022から印刷ジョブを受信したMFP101は、印刷ジョブに応じた印刷処理を実行する。このようにS1102では、CPS1022経由(図1の経路110)での印刷が実施される。
ファイルサイズが上限を超えてしまっている場合、S1003で、情報処理装置103に対してファイルサイズがサイズ上限を超えていることを示すエラー応答を送信する。S1003の処理は、図8におけるS807の処理に相当する。また、ファイルサイズが上限を超えてしまっている場合、S1004で、CPS1022は、情報処理装置103から受信した情報処理装置103のIPアドレスを含むアドレス情報を印刷ジョブの送信先として選択されたMFP101に送信する。S1004の処理は、図8におけるS808の処理に相当する。アドレス情報の送信処理において、CPS1022とMFP101が常時接続されている場合は、Push通知を用いてIPアドレスの通知を行う。一方、Polling方式で接続されている場合は、MFP101からPollingでCPS1022に対してリクエストが来たら、当該リクエストへの応答として情報処理装置103のアドレス情報含んだ属性情報をMFP101に対して通知する。ここで、MFP101はCPS1022経由ではなくLAN100経由で情報処理装置103からの印刷を行うため、Job-Fetchableイベントはセットされない。なお、S1003とS1004の順序は逆であってもよい。
なお、不図示であるが、S1102またはS1104の後に、MFP101から印刷の完了通知を受け取ると、CPS1022は、CPS1022上でのジョブステータスを更新する。印刷の完了通知には、ジョブIDと印刷処理の実行結果が含まれており、CPS1022は、ジョブIDに基づきCPS1022上でのジョブステータスを更新する。したがって、ローカルクラウドプリント機能を使用する場合であっても、CPS1022上でユーザ毎の印刷実績などを適切に管理できるようになる。
次に、図12を用いて、図8および図9で説明した一連の印刷処理におけるMFP101の制御について説明する。図12は、MFP101の処理を説明するフローチャートである。図12に示す各処理は、MFP101のCPU201がROM202またはストレージ204に記憶された各制御モジュールに対応するプログラムをRAM203に呼び出し、実行することにより実現される。
S1200で、MFP101は、通信を受信するまで通信の待ち受けを行い、送受信部541が外部装置から通信を受信するとS1201に進む。S1201で、通信制御部543は、S1200で受信した通信がCPS1022からの印刷のための印刷ジョブの通知であるかを判断する。受信した通信がCPS1022からの印刷ジョブの通知である場合は、S1202に進む。一方、受信した通信がCPS1022からの印刷ジョブの通知でない場合は、S1203に進む。
CPS1022からの印刷ジョブを受信したMFP101は、S1202で、印刷処理部545が、CPS1022から受信した印刷ジョブに応じて印刷処理を実行する。印刷処理が終了すると、送受信部541はCPS1022に印刷完了の通知を送信し、S1200に戻る。
S1203で、通信制御部543は、S1200で受信した通信がアドレス情報であるかを判断する。受信した通信がアドレス情報でない場合には、S1204に進む。一方、受信した通信がアドレス情報である場合には、S1105に進む。S1204で、MFP101は、S1200で受信した情報に応じた処理を行い、S1200に戻る。
S1205で、設定管理部544は、受信したアドレス情報に含まれる情報処理装置103のIPアドレスを、通信の許可リストに追加し、IPフィルタを更新する。S1206で、設定管理部544は、S1205から所定の時間(設定されたタイムアウト時間)が経過するまでに許可リストに追加したIPアドレスからの印刷要求(印刷ジョブ)を受信したか判定する。設定されたタイムアウト時間までに許可リストに追加したIPアドレス(情報処理装置103)からの印刷要求を受信した場合は、S1207に進む。一方、設定されたタイムアウト時間までに許可リストに追加したIPアドレスからの印刷要求を受信しなかった場合は、S1208に進む。
S1207で、印刷処理部545は、S1106で受信した情報処理装置103からの印刷ジョブに応じた印刷処理を実行する。そして、S1208で、設定管理部544は、通信の許可リストから情報処理装置103のIPアドレスを削除し、再びIPフィルタを更新する。そして本処理を終了し、再び待ち受け状態に戻る。
CPS1022は、MFP101に情報処理装置103のIPアドレスを通知する際に、IPアドレスを属性情報に含め、属性情報をMFP101に送信する。属性情報は、例えば、IPPパケットとしてCPS1022からMFP101に送信される。IPPパケットには、一般的な属性情報である部数、カラーモード、フィニッシング設定などが含まれているが、IPアドレスを通知するための属性は存在しない。そのため、情報処理装置103のIPアドレスを通知するためのIPPパケットには、新たにアドレス情報を示す属性を追加する。図13は、IPアドレスを追加したIPPパケットの一例を示す図である。図13(A)の例では、IPPパケットのevent-notification-attribute-tag以下に新たにnotify-ip-address属性を追加し、情報処理装置103のIPアドレスを記載している。図13(B)の例では、IPPパケットのevent-notification-attribute-tag以下のnotify-textに、新たに情報処理装置103のIPアドレスを記載している。
以上説明したように、本実施形態では、印刷データのファイルサイズに応じて、通信経路を切り替えることができるようになる。ファイルサイズがCPS経由でのサイズ制限を超過している場合に、出力先プリンタに選択されたクラウドプリンタに対応するローカルプリンタにクライアントがCPSを経由せずアクセスできる場合は、クライアントがローカルプリンタに直接印刷指示を行う。この際、プリンタ側にCPS以外との通信が制限されるようなセキュリティ設定が施されていた場合であっても、本実施形態によれば、一時的にCPSを経由せずクライアントから直接ローカルエリアネットワーク経由で印刷ジョブを送信できるようになる。したがって、クラウドプリントサービスを提供する事業者のクラウドリソース維持コストを下げることができるようになる。また、クライアントから直接印刷指示を受けた場合でも、印刷実行後にプリンタがCPSにクラウドを経由せずに印刷ジョブを送信したことを適切に通知することで、CPSでユーザ毎の印刷実績など印刷状況の管理を適切に行うことができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
101 MFP
1022 クラウドプリントサービス
103 情報処理装置
502 印刷フレームワーク
531 共通プリンタドライバ
543 通信制御部
544 設定管理部
545 印刷処理部

Claims (14)

  1. クラウドプリントサービスを提供するサービスと、印刷ジョブの送信元を制限する機能を有し、前記サービスの出力プリンタとして登録されている画像形成装置と、前記サービスと通信可能な情報処理装置と、を含む印刷システムであって、
    前記サービスは、
    前記情報処理装置から受け付けた印刷ジョブがファイルサイズの上限を超える場合に、前記印刷ジョブの送信先として選択された前記画像形成装置に前記情報処理装置のアドレス情報を通知する通知手段を有し、
    前記画像形成装置は、
    印刷ジョブの送信元を管理する管理手段と、
    前記管理手段が管理する印刷ジョブの送信元に応じて、前記印刷ジョブの受け付けを制御する制御手段と、
    印刷ジョブに応じた印刷処理を行う印刷手段と、を有し、
    前記情報処理装置は、
    前記サービスに送信した印刷ジョブが前記サービスのファイルサイズの上限を超える場合に、同一のローカルエリアネットワーク内で当該印刷ジョブの送信先として選択された前記画像形成装置を探索する探索手段と、
    印刷ジョブを送信する送信手段と、を有し、
    前記画像形成装置の前記管理手段は、前記サービスから前記情報処理装置のアドレス情報が通知された場合に、前記情報処理装置からの印刷ジョブの受け付けを許可し、
    前記情報処理装置の前記送信手段は、前記探索された前記画像形成装置に前記ローカルエリアネットワークを経由して前記印刷ジョブを送信することを特徴とする印刷システム。
  2. 前記画像形成装置の前記管理手段は、前記サービスから前記情報処理装置のアドレス情報が通知された場合に、前記アドレス情報を許可リストに追加することで前記情報処理装置からの印刷ジョブの受け付けを許可することを特徴とする請求項1に記載の印刷システム。
  3. 前記画像形成装置において、前記印刷手段が前記ローカルエリアネットワークを経由して前記情報処理装置から受信した印刷ジョブに応じた印刷処理を完了すると、前記管理手段は、前記許可リストから前記情報処理装置のアドレス情報を削除することを特徴とする請求項2に記載の印刷システム。
  4. 前記画像形成装置において、前記管理手段は、前記許可リストに前記情報処理装置のアドレス情報を追加してから所定の時間を経過するまでに前記情報処理装置からの印刷ジョブを受信しない場合、前記許可リストから前記情報処理装置のアドレス情報を削除することを特徴とする請求項2または3に記載の印刷システム。
  5. 前記管理手段は、IPフィルタまたはポートフィルタにより、印刷ジョブの送信元を制限することを特徴とする請求項1乃至4のいずれか1項に記載の印刷システム。
  6. 前記サービスの通知手段は、前記情報処理装置のアドレス情報を印刷ジョブの属性情報に含めて前記画像形成装置に通知することを特徴とする請求項1乃至5のいずれか1項に記載の印刷システム。
  7. 前記サービスは、前記画像形成装置との通信のプロトコルとしてIPP(Internet Printing Protocol)を用い、
    前記サービスの通知手段は、前記情報処理装置のアドレス情報をIPPパケットに含めて前記画像形成装置に通知することを特徴とする請求項1乃至6のいずれか1項に記載の印刷システム。
  8. クラウドプリントサービスを提供するサービスであって、
    クライアントである情報処理装置から受け付けた印刷ジョブを、出力先の画像形成装置に送信する送信手段と、
    前記印刷ジョブがファイルサイズの上限を超える場合に、前記出力先の前記画像形成装置に前記印刷ジョブの送信元の前記情報処理装置のアドレス情報を通知する第1の通知手段と、
    前記印刷ジョブがファイルサイズの上限を超える場合に、前記印刷ジョブの送信元の前記情報処理装置にファイルサイズが上限を超えている旨のエラーを通知する第2の通知手段と、を有し、
    前記第1の通知手段からの通知を受けた画像形成装置は、前記情報処理装置からの印刷ジョブの受け付けを許可することを特徴とするサービス。
  9. 印刷ジョブの送信元を制限する機能を有し、クラウドプリントサービスの出力プリンタとして登録されている画像形成装置であって、
    印刷ジョブの送信元を管理する管理手段と、
    印刷ジョブの送信元に応じて、前記印刷ジョブの受け付けを制御する制御手段と、
    印刷ジョブに応じた印刷処理を行う印刷手段と、を有し、
    前記管理手段は、前記クラウドプリントサービスからの印刷ジョブの受け付けを許可しており、前記クラウドプリントサービスから情報処理装置のアドレス情報が通知された場合に、前記情報処理装置のアドレス情報を許可リストに追加し、
    前記制御手段は、前記許可リストにあるアドレス情報の情報処理装置からの印刷ジョブの受け付けを許可することを特徴とする画像形成装置。
  10. 前記印刷手段が前記情報処理装置から受信した印刷ジョブに応じた印刷処理を完了すると、前記管理手段は、前記許可リストから前記情報処理装置のアドレス情報を削除することを特徴とする請求項9に記載の画像形成装置。
  11. 前記管理手段は、前記許可リストに前記情報処理装置のアドレス情報を追加してから所定の時間を経過するまでに前記情報処理装置からの印刷ジョブを受信しない場合、前記許可リストから前記情報処理装置のアドレス情報を削除することを特徴とする請求項9又は10に記載の画像形成装置。
  12. クラウドプリントサービスを提供するサービスと、印刷ジョブの送信元を制限する機能を有し、前記サービスの出力プリンタとして登録されている画像形成装置と、前記サービスと通信可能な情報処理装置と、を含む印刷システムにおける印刷処理方法であって、
    前記情報処理装置から受け付けた印刷ジョブがファイルサイズの上限を超える場合に、前記サービスが前記印刷ジョブの送信先として選択された前記画像形成装置に前記情報処理装置のアドレス情報を通知する工程と、
    前記画像形成装置において、前記サービスから前記情報処理装置のアドレス情報が通知された場合に、前記情報処理装置のアドレス情報を印刷ジョブの送信元の許可リストに追加する工程と、
    前記サービスに送信した印刷ジョブが前記サービスのファイルサイズの上限を超える場合に、同一のローカルエリアネットワーク内で当該印刷ジョブの送信先として選択された前記画像形成装置を前記情報処理装置が探索する工程と、
    前記情報処理装置から前記探索された前記画像形成装置に前記ローカルエリアネットワークを経由して前記印刷ジョブを送信する工程と、
    前記画像形成装置において、前記ローカルエリアネットワークを経由して前記情報処理装置から取得した前記印刷ジョブに応じた印刷処理を行う工程と、を有することを特徴とする印刷処理方法。
  13. クラウドプリントサービスを提供するサービスの制御方法であって、
    クライアントである情報処理装置から受け付けた印刷ジョブを、出力先の画像形成装置に送信する工程と、
    前記印刷ジョブがファイルサイズの上限を超える場合に、前記出力先の前記画像形成装置に前記印刷ジョブの送信元の前記情報処理装置のアドレス情報を通知する工程と、
    前記印刷ジョブがファイルサイズの上限を超える場合に、前記印刷ジョブの送信元の前記情報処理装置にファイルサイズが上限を超えている旨のエラーを通知する工程と、を有することを特徴とするサービスの制御方法。
  14. 印刷ジョブの送信元を制限する機能を有し、クラウドプリントサービスの出力プリンタとして登録されている画像形成装置の制御方法であって、
    前記クラウドプリントサービスから情報処理装置のアドレス情報が通知された場合に、前記情報処理装置のアドレス情報を印刷ジョブの送信元の許可リストに追加する工程と、
    前記許可リストにあるアドレス情報の情報処理装置からの印刷ジョブを受け付ける工程と、
    前記印刷ジョブに応じた印刷処理を行う工程と、を有することを特徴とする画像形成装置の制御方法。
JP2021116667A 2021-07-14 2021-07-14 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法 Pending JP2023012908A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021116667A JP2023012908A (ja) 2021-07-14 2021-07-14 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021116667A JP2023012908A (ja) 2021-07-14 2021-07-14 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法

Publications (1)

Publication Number Publication Date
JP2023012908A true JP2023012908A (ja) 2023-01-26

Family

ID=85129315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021116667A Pending JP2023012908A (ja) 2021-07-14 2021-07-14 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法

Country Status (1)

Country Link
JP (1) JP2023012908A (ja)

Similar Documents

Publication Publication Date Title
US20240201918A1 (en) Image forming apparatus having print setting value, printing system, control method, and storage medium
JP7379123B2 (ja) サーバシステム
EP2431905B1 (en) Image information processing apparatus, image information processing system, and computer-readable storage medium for computer program
CN202394219U (zh) 便于无驱动打印的打印机和系统
CN102147715B (zh) 便于进行无驱动打印的方法、系统及计算设备
JP6315450B2 (ja) セキュリティ要件に応じて印刷を行うシステム、コンピュータおよびプログラム
JP6364738B2 (ja) 情報処理システム、情報処理装置、プログラム及び処理実行方法
US8570574B2 (en) Processing system, control method, and storage medium therefor
US20140055809A1 (en) Apparatus and system for controlling output of data
US8537392B2 (en) Follow-me printer driver
JP6327027B2 (ja) 画像処理装置、端末装置、プログラムおよび画像処理システム
JP6041687B2 (ja) 印刷サーバシステム、および制御方法、およびプログラム
JP6171346B2 (ja) 情報処理装置、処理実行方法、プログラム
JP2019185657A (ja) 画像形成システム及び画像形成方法
US9405490B2 (en) Electronic apparatus, management server, print system and method of controlling printing including determining a plurality of storages to store print data
JP7168790B2 (ja) 印刷システム、及び印刷方法
US11755263B2 (en) Information processing apparatus, control method, and storage medium
JP6024204B2 (ja) 情報処理装置、プログラム及び分散処理方法
US20220156017A1 (en) Image processing apparatus, method of providing cloud print service, and program storage medium
JP5707893B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2023012908A (ja) 印刷システム、クラウドプリントサービス、画像形成装置、印刷処理方法、クラウドプリントサービスの制御方法および画像形成装置の制御方法
JP2013058010A (ja) 画像処理システム、画像処理装置、画像形成装置およびプログラム
JP7370804B2 (ja) 印刷システムとサーバ、及びそれらの制御方法、並びにプログラム
JP2012133590A (ja) プリントシステム、クラインアントpc及びその制御方法、プリントサーバ及びその制御方法
US20210318842A1 (en) Security printing using group information

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240703