(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、プログラム、記憶媒体、及び印刷システム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240219BHJP
H04N 1/00 20060101ALI20240219BHJP
B41J 29/38 20060101ALI20240219BHJP
【FI】
G06F3/12 373
G06F3/12 303
G06F3/12 353
G06F3/12 387
H04N1/00 127B
H04N1/00 127A
B41J29/38 201
(21)【出願番号】P 2021053209
(22)【出願日】2021-03-26
【審査請求日】2023-02-01
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】川嵜 敬二
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2015-156164(JP,A)
【文献】特開2007-172054(JP,A)
【文献】特開2012-150715(JP,A)
【文献】特開2019-174999(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00-29/70
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
サーバシステムと通信可能な情報処理装
置であって
、
前記サーバシステムを介さずに前記情報処理装置から印刷装置に対して送信された第1の形式の第1の印刷指示の印刷設定情報を取得する取得手段と、
前記取得された印刷設定情報を編集する編集手段と
、
前記編集された印刷設定情報を含む第2の印刷指示が、前記サーバシステムへ送信される
ように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記第2の印刷指示が、前記第1の形式とは異なる第2の形式に変換され
て前記サーバシステムへ送信される
ように処理する処理手段を更に有することを特徴とする請求項1に記載の
情報処理装置。
【請求項3】
前記処理手段は、前記第2の形式として、Internet Printing Protocol(IPP)の仕様に基づく形式に変換された前記第2の印刷指示が、前記サーバシステムへ送信される
ように処理することを特徴とする請求項2に記載の
情報処理装置。
【請求項4】
前記第1の印刷指示は、IPPの仕様に基づく形式とは異なる形式であり、前記第1の形式の印刷指示を生成可能な印刷データ生成ソフトウェアにより生成されることを特徴とする請求項1から3のいずれか1項に記載の
情報処理装置。
【請求項5】
前記サーバシステムにより、前記第2の印刷指示に基づき、印刷履歴が保存されることを特徴とする請求項1から4のいずれか1項に記載の
情報処理装置。
【請求項6】
前記編集手段は、前記取得された印刷設定情報に、第1の情報を付加する編集を実行し、
前記第1の情報が付加された前記第2の印刷指示が前記サーバシステムへ送信された場合、印刷装置では印刷は実行されないことを特徴とする請求項1から5のいずれか1項に記載の
情報処理装置。
【請求項7】
前記第1の情報が付加された前記第2の印刷指示が前記サーバシステムへ送信された場合、前記サーバシステムから前記印刷装置へ前記第2の印刷指示に基づく印刷指示は送信されないことにより、前記印刷装置では印刷は実行されないことを特徴とする請求項6に記載の
情報処理装置。
【請求項8】
前記第1の情報が付加された前記第2の印刷指示が前記サーバシステムへ送信された場合、前記サーバシステムから前記印刷装置へ前記第2の印刷指示に基づく印刷ジョブが送信されても、前記印刷装置では印刷は実行されないことを特徴とする請求項6に記載の
情報処理装置。
【請求項9】
前記制御手段は、前記サーバシステムに対して前記第2の印刷指示を送信できない状態の場合は、前記第2の印刷指示は前記情報処理装置に保存される
ように制御することを特徴とする請求項1から8のいずれか1項に記載の
情報処理装置。
【請求項10】
コンピュータを、請求項1乃至9のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
【請求項11】
コンピュータを、請求項1乃至9のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項12】
サーバシステムと通信可能な情報処理装置の制御方法であって、
前記サーバシステムを介さずに前記情報処理装置から印刷装置に対して送信された第1の形式の第1の印刷指示の印刷設定情報を取得する取得ステップと、
前記取得された印刷設定情報を編集する編集ステップと、
前記編集された印刷設定情報を含む第2の印刷指示が、前記サーバシステムへ送信されるように制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項13】
情報処理装置と、サーバシステムと、印刷装置と、を含む印刷システムであって、
前記情報処理装置は、
前記サーバシステムを介さずに前記情報処理装置から印刷装置に対して送信された第1の形式の第1の印刷指示の印刷設定情報を取得する取得手段と、
前記取得された印刷設定情報を編集する編集手段と、
前記編集された印刷設定情報を含む第2の印刷指示を前記サーバシステムへ送信する送信手段と、
を備え、
前記サーバシステムは、
前記情報処理装置から送信された前記第2の印刷指示を受信する受信手段と、
前記受信された前記第2の印刷指示に基づき、印刷履歴を保存する保存手段と、
を備え、
前記サーバシステムが受信した前記第2の印刷指示に基づく印刷は前記印刷装置では実行されないことを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、プログラム、記憶媒体、及び印刷システムに関する。
【背景技術】
【0002】
PC等の情報処理装置からクラウド上のサーバを経由して印刷を実行する構成が知られている。具体的には、情報処理装置からクラウド上に構成されたクラウド印刷サービスシステムに対して印刷要求を発行し、クラウド印刷サービスシステム上で関連付けられた印刷装置に対して印刷要求を送信する。このようなクラウド印刷サービスシステムは、企業内において、従業員が印刷装置を共有利用するユースケースでも利用されている。このようなケースにおいては、ある企業内の従業員の印刷要求は、全てクラウド印刷サービスシステムを経由し、印刷ジョブが印刷装置に到達する。クラウド印刷サービスシステムは、印刷要求の履歴を管理する能力を備えている。よって、ある企業内でITインフラを管理する管理者は、クラウド印刷サービスシステムの履歴管理機能を利用し、企業内における部門ごとの印刷枚数や、利用された印刷設定等を参照することができる。
【0003】
このように、企業内等において、印刷履歴を一括管理するための構成が知られている。特許文献1では、印刷履歴の送信先である収集サーバが異常な状態であった場合に、印刷履歴データを退避し、サーバが正常な状態に復旧した後に、退避した印刷履歴データをサーバに送信する。この構成により、特許文献1のシステムは、印刷履歴の収集サーバに異常が生じていても、正常に印刷履歴を管理することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
クラウド印刷サービスシステムを経由した印刷を行うためには、情報処理装置と印刷装置の両方が、ネットワーク(例えばインターネット)に接続されていることが前提条件として必須となる。したがって、一時的にインターネットに接続できない等の理由により、USBケーブル等を用いて情報処理装置から印刷装置に対して直接要求した印刷ジョブについては、クラウド印刷サービスシステム上に印刷履歴が蓄積されないという課題があった。そこで、本発明の一態様では、前述のような課題が生じる環境下であっても、印刷履歴を管理可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述のような課題を解決するため、本発明の情報処理装置の一態様は、
サーバシステムと通信可能な情報処理装置であって、
前記サーバシステムを介さずに前記情報処理装置から印刷装置に対して送信された第1の形式の第1の印刷指示の印刷設定情報を取得する取得手段と、
前記取得された印刷設定情報を編集する編集手段と、
前記編集された印刷設定情報を含む第2の印刷指示が、前記サーバシステムへ送信されるように制御する制御手段と、
を有することを特徴とする。
【発明の効果】
【0007】
本発明の一態様により、印刷履歴を管理することが可能となる。
【図面の簡単な説明】
【0008】
【
図2】情報処理装置及びクラウド印刷サービスシステムのハードウェア構成を示すブロック図。
【
図3】情報処理装置のソフトウェア構成を説明する機能ブロック図。
【
図4】クラウド印刷サービスシステムが管理する各種設定情報の例。
【
図5】クラウド印刷サービスシステムを経由した印刷フローを説明するシーケンス図。
【
図6】プリンタドライバを経由した印刷フローを説明するシーケンス図。
【
図8】Validate-Jobオペレーションの一例。
【
図9】プリンタドライバを経由した印刷フローの別構成を説明するシーケンス図。
【
図10】プリンタドライバを経由した印刷フローの別構成を説明するシーケンス図。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0010】
<<実施形態1>>
<印刷システムの構成>
図1は、本発明の実施形態に係る印刷システムの構成を説明する図である。LAN(Local Area Network)102上には印刷装置111が接続されている。なお、印刷装置111は、IPP(IPP:Internet Printing Protocol)仕様と、クラウド印刷の標準仕様と、に基づく印刷に対応(サポート)している印刷装置である。印刷装置111は、クラウド印刷の標準仕様の一例として、IPP Shared Infrastructure Extensions(以下、IPP-Infraと呼ぶ)と称されるクラウド印刷を実行するための標準仕様に基づくクラウド印刷機能に基づく印刷に対応している。印刷装置112は、IPP仕様とクラウド印刷の標準仕様とに基づく印刷に対応(サポート)していてもよく、対応してなくてもよい。
【0011】
AP101が構築するLAN100には、タブレット131、スマートフォン132、PC133が接続されている。なお以下では、タブレット131、スマートフォン132、PC133などを総称して、情報処理装置130と呼ぶこともある。情報処理装置130には、USBケーブル等を用いて印刷装置112が直接接続されている。情報処理装置130は、情報処理装置130上で動作するOSが備える印刷機能、及び後述するプリンタドライバを利用して、印刷装置112に対して印刷指示としての印刷ジョブを送信することができる。なお、
図1では、印刷装置112はLAN100には接続されていないが、本実施形態はこれに限定されない。つまり、LAN100に接続され、LAN100を介して情報処理装置130と通信可能に構成しても良い。
【0012】
LAN100とLAN102はインターネット103に接続されている。インターネット103上には、クラウド上で印刷サービスを提供するクラウドサーバシステム(以下、クラウド印刷サービスシステム)120が接続されている。情報処理装置130、印刷装置111は、インターネット103を介して、クラウド印刷サービスシステム120と通信することができる。
【0013】
クラウド印刷サービスシステム120は、一例として、IPP-Infraに基づくクラウド印刷機能に対応しており、IPP仕様に基づく印刷ジョブを一次保存する。そして、IPP-Infraに基づくクラウド印刷仕様に対応する印刷装置111からの要求に応じて、IPP-Infraの仕様に基づき、印刷装置に印刷ジョブを送信する機能を提供する。
【0014】
情報処理装置130内のOS(オペレーティングシステム)には、IPP仕様(IPP:Internet Printing Protocol)に基づく印刷ジョブを生成可能なIPP-Clientモジュールと呼ばれるプログラムが標準搭載されている。情報処理装置130は、このIPP-Clientモジュールを利用し、IPP仕様に基づく印刷ジョブを生成することができる。ユーザからの指示に基づき情報処理装置130がクラウド印刷サービスシステム120に対して印刷ジョブを送信すると、クラウド印刷サービスシステム120は、クラウド上にその印刷ジョブを留め置く。
【0015】
IPP-Infra仕様に基づくクラウド印刷に対応した印刷装置である印刷装置111は、クラウド印刷サービスシステム120に印刷ジョブが保存されると、クラウド印刷サービスシステム120に印刷ジョブを要求する。印刷装置111は、クラウド印刷サービスシステム120に対して、印刷ジョブの取得を定期的に要求しても良い。若しくは、ユーザが、印刷装置111上で、印刷ジョブの取得を指示したことを受けて、クラウド印刷サービスシステム120に対して、印刷ジョブの取得を要求するよう構成しても良い。若しくは、クラウド印刷サービスシステム120に印刷ジョブが保存されると、クラウド印刷サービスシステム120に対して印刷ジョブが保存されたことを示す通知を、印刷装置111に対して発行するように構成しても良い。この場合、印刷装置111は、印刷ジョブが保存されたことを示す通知を受信すると、クラウド印刷サービスシステム120に対して印刷ジョブの取得を要求する。クラウド印刷サービスシステム120は、印刷装置111からの要求を受け、印刷指示として、クラウド印刷サービスシステム120に留め置かれている印刷ジョブを印刷装置111に対して送信する。これにより印刷装置111は、印刷ジョブを取得して印刷を実行する。
【0016】
ここで、クラウド印刷サービスシステム120を利用するためには、クラウド印刷サービスシステム120上で管理者権限を持つユーザ(管理者)が、クラウド印刷サービスシステム120上に印刷装置を登録する必要がある。具体的には、事前にユーザが印刷装置111を操作して、クラウド印刷サービスシステム120に登録する処理を実行する。
【0017】
尚、本実施形態のクラウド印刷サービスシステム120は、1台のサーバにより構成されていてもよく、クラウド上の複数のサーバが連携して動作することで各機能を実行するよう構成されていてもよい。また、ローカルネットワーク上のサーバ装置であってもよい。また、本実施形態では、印刷システムの一例として上記の構成例で説明するが、本発明はこれに限定されるものではなく、情報処理装置130とクラウド印刷サービスシステム120と印刷装置110がネットワークを介して通信可能に接続されていればよい。またネットワークは無線であっても有線であっても良い。
【0018】
<情報処理装置及びクラウド印刷サービスシステムのハードウェア構成>
図2は、情報処理装置130のハードウェア構成を示すブロック図である。本図における情報処理装置130は、一例としてPCであり、入力インタフェース210、CPU211、ROM212、RAM213、外部記憶装置214、出力インタフェース215、及び入出力インタフェース216を有する。また、入力インタフェース210には、キーボード218、ポインティングデバイス217などの入力デバイスが接続され、出力インタフェース215には、表示部219などの表示デバイスが接続されている。
【0019】
ROM212には、初期化プログラムが格納され、外部記憶装置214には、アプリケーションプログラム群、オペレーティングシステム(OS)、その他の各種のデータが格納されている。RAM213は、外部記憶装置214にストアされる各種のプログラムの実行の際のワークメモリ等として使用される。また情報処理装置130は、ネットワークI/F220を介してLAN100に接続されている。
【0020】
なお、本実施形態では、CPU211が、ROM212に格納されたプログラムの手順に従って処理を行うことによって、情報処理装置130における後述の機能及び後述するフローチャートに係る処理を実行する。デバイスである印刷装置112は、入出力インタフェース216を介して、情報処理装置130と接続されている。ここでは、情報処理装置130と印刷装置112が分かれて構成されているが、これらが一つの情報処理装置として構成されていても良い。なお、印刷装置は、インクを紙面上に吐出することで印刷するインクジェットプリンタを例に説明するが、他の方法(例えば電子写真方式)で印刷が実行されても良い。また、情報処理装置130は、サーバ装置でも、デスクトップパソコンでも、スマートフォンでも、ノートパソコンでも構わない。
【0021】
なお、クラウド印刷サービスシステム120のハードウェア構成も、
図4に示すハードウェア構成と同じであるため説明を省略する。
【0022】
<情報処理装置のソフトウェア構成>
図3は、実施形態に係る情報処理装置130の印刷処理に係るソフトウェア構成を説明する機能ブロック図である。以降、各ソフトウェア及び機能ブロックを、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU211が実行することで、対応する機能が実現されることになる。
【0023】
情報処理装置130には、OS801がインストールされている。OS1001には、OSの機能として、IPPクラスドライバ802、クラウド印刷ドライバ803、IPP-Clientモジュール804、スプーラー805が含まれる。
【0024】
IPPクラスドライバ802は、IPP仕様に基づく印刷ジョブを、LAN100(情報処理装置130と同一のネットワーク)に接続された印刷装置(例えば、LAN100に接続された状態の印刷装置112)に対して送信することで印刷を実行させるためのプリンタドライバ(印刷データ生成ソフトウェア)である。
【0025】
クラウド印刷ドライバ803は、インターネット103を経由することにより、情報処理装置130と同一のローカルネットワークに接続されていない印刷装置に対しても印刷を実行させることができるプリンタドライバ(印刷データ生成ソフトウェア)である。クラウド印刷ドライバ803は、IPP仕様に基づく印刷ジョブを、クラウド印刷サービスシステム120に対して送信する。IPP-Infra仕様に基づくクラウド印刷に対応し、クラウド印刷サービスシステム120に登録されている印刷装置(一例として印刷装置111)は、クラウド印刷サービスシステム120から、クラウド印刷ドライバ803が送信した印刷ジョブを受信し、印刷する。
【0026】
IPP-Clientモジュール804は、IPP仕様に基づく印刷ジョブを生成するためのプログラムである。IPPクラスドライバ802とクラウド印刷ドライバ803は、IPP-Clientモジュール804を利用することにより、IPP仕様に基づく印刷ジョブを生成する。
【0027】
スプーラー805は、後述する印刷指示アプリケーション806から受け取った印刷ジョブ(印刷対象データ)の一時保存やプリンタドライバへの送付を行うプログラムである。さらに、スプーラー805は、プリンタドライバが生成した印刷ジョブ(印刷データ)を印刷指示として印刷装置へ送付する等、印刷に係る処理を実行することができる。
【0028】
印刷指示アプリケーション806は、印刷指示機能を有するアプリケーションである。具体的には、文書データや図面データなどの描画データを生成し、印刷指示することが可能な描画アプリケーションである。
【0029】
プリンタドライバ807は、情報処理装置130に接続された印刷装置(例えば印刷装置112)に対して印刷を実行させるためのプログラム(印刷データ生成ソフトウェア)である。このプリンタドライバ807は、通常、印刷装置を提供するベンダによって印刷装置の機種ごとに個別に提供される固有のプリンタドライバである。具体的には、プリンタドライバ807は、印刷指示アプリケーション806からスプーラー805を経由し印刷ジョブを受け取ると、印刷装置112が解釈可能な形式(例えば、IPP仕様に基づく形式とは異なるベンダー固有の形式)の印刷ジョブに変換する。そして、この印刷ジョブを、再度スプーラー805を経由し、印刷装置112に送信する。これにより、印刷指示アプリケーション806の指示に応じた印刷が、印刷装置112上で実行される。
【0030】
ログ収集アプリケーション808は、後述する処理により、印刷履歴情報をクラウド印刷サービスシステム120に送信するためのプログラムである。
【0031】
<クラウド印刷サービスが管理する情報>
図4は、本実施形態に係るクラウド印刷サービスシステム120が管理する各種設定情報のうち代表的な情報の例を模式的に示した表である。クラウド印刷サービスシステム120は、会社等のグループごとに利用可能に構成され、ある会社は別の会社の情報を閲覧できないように管理される。1つのグループをテナント(ディレクトリ)と呼び、
図4は、仮の会社として「XYCompany」という名称のテナントの設定情報を示す。設定401は管理者名であり、対応する値として、このテナントの各種設定の変更権限を持つ管理者権限のユーザIDが格納されている。管理者名の値に、複数のユーザIDを格納しても良い。なお、管理者権限は、クラウド印刷サービスシステム120において、印刷装置の登録に関する許可権限を与えるユーザを示し、本開示では、管理者権限のユーザを管理者と呼ぶこともある。
【0032】
印刷情報に分類される設定402は、ユーザ権限のユーザIDによるプリンタ登録を許可しているか否かを示す情報が格納される。設定403は、登録許可ユーザ情報であり、対応する値として、プリンタ登録が許可されているユーザのユーザIDが格納される。設定403には、複数のユーザIDを登録することもできる。設定404には、ユーザ権限のユーザIDによるプリンタ登録要求(登録依頼)があった場合に、管理者による確認が必要か否かの情報が値として格納される。設定402、403、404の値は、管理者によって変更可能である。ユーザ権限は管理者権限よりも制限された権限であり、例えば、管理者権限が変更可能な設定402、403、404の値は、ユーザ権限では変更することはできない。
【0033】
図4に示すテナントには、プリンタ1というプリンタと、プリンタ2というプリンタの、2つのプリンタが登録されている。ここでいうプリンタとは、クラウド印刷サービスシステム120上に登録された論理的なプリンタであり、
図1の印刷装置111のような物理的な印刷装置(プリンタ)と紐づけられている。発行された印刷要求は対応する論理的なプリンタに蓄積され、関連付けて登録されている実際の物理的な印刷装置から印刷ジョブの取得要求があると、論理的なプリンタからは印刷ジョブは削除される。
【0034】
クラウド印刷サービスシステム120には3つ以上のプリンタを登録することも可能であり、その場合は、登録されているプリンタの数分の情報が格納される。設定405は、プリンタ名であり、対応する値として、そのプリンタの名称が格納される。設定406はデバイスIDであり、対応する値として、そのプリンタを一意に特定するIDが値として格納される。設定407は登録ステータスであり、このプリンタの登録状況を示す値が格納される。プリンタ1の登録ステータスは、「登録済み」となっており、このプリンタが利用可能な状態となっていることを示す。他方、プリンタ2の登録ステータスは「承認待ち」となっており、管理者による承認待ちであることを示す。
【0035】
設定408は共有設定であり、プリンタが他のユーザが利用可能な共有状態であるか否かを示す値が設定される。設定409は初期設定であり、クラウド印刷サービスシステム120上のこのプリンタに対して印刷する際の、デフォルト状態における印刷設定を示す。設定410は、クラウド印刷サービスシステム120上の対応するプリンタを利用可能なユーザを示す。ここでは、User AとUser Bという二人のユーザが登録されているが、三人以上であっても構わない。
【0036】
設定408、409、410の値は、管理者によって変更可能である。設定411はプリンタ能力で、このプリンタで指定可能な印刷設定とその設定値が値として格納される。設定412はプリンタステータスであり、登録されている印刷装置の現在のステータスが値として格納される。このステータスは、関連付けられている実際の印刷装置の状態に従って変化する。
【0037】
以上のように、クラウド印刷サービスシステム120は、印刷装置を複数台登録することができる。また、それぞれの印刷装置に対して利用可能なユーザを設定することができる。
【0038】
<クラウド印刷サービスシステムを経由した印刷フロー>
図5は、実施形態に係るクラウド印刷サービスシステム120を経由した印刷フローを説明するシーケンス図である。以降、各ソフトウェア及び機能ブロックを、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU211が実行することで、対応する機能が実現されることになる。なお、以下では、ユーザは
図1の情報処理装置130のいずれかを用い、クラウド印刷サービスシステム120にログインしているものとする。さらに、クラウド印刷サービスシステム120には、印刷装置111が登録されており、さらに印刷装置111を利用可能なユーザとして、該ユーザが登録されているものとする。
【0039】
S501において、情報処理装置130上の印刷指示アプリケーション806は、ユーザから印刷指示を受けると、クラウド印刷ドライバ803に対して印刷ジョブを発行する。クラウド印刷ドライバ803は、S502において、受信した印刷ジョブを、IPP仕様に基づく形式の印刷ジョブ(印刷データ)に変換する。次に、S503において、クラウド印刷ドライバ803は、変換した印刷ジョブをクラウド印刷サービスシステム120に送信する。
【0040】
クラウド印刷サービスシステム120は、S504において、受信した印刷ジョブを一時的に保存すると共に、印刷履歴を保存する。保存する印刷履歴には、印刷ジョブのページ数等の情報、印刷ジョブの印刷設定情報(両面印刷、モノクロ印刷、等)、印刷ジョブに含まれる印刷を指示したユーザ情報、印刷装置情報、印刷ステータス情報、等が含まれる。S504では、クラウド印刷サービスシステム120は、印刷ステータス情報として、印刷中であることを示す情報を格納する。
【0041】
続いて、S505において、印刷装置111はクラウド印刷サービスシステム120に対して印刷ジョブを要求する。前述の通り、クラウド印刷サービスシステム120から、印刷装置111に対して、印刷ジョブが存在することを通知するように構成しても良い。印刷装置111は、S506において、受信した印刷ジョブに従い、印刷処理を行う。
【0042】
次に、印刷装置111は、S507において、印刷が完了したことを示す印刷ステータス情報(ジョブステータス)を、クラウド印刷サービスシステム120に送信する。なお、実際には、印刷装置111は、特定ページの印刷処理が完了したことを示す情報や、ユーザ操作によって印刷がキャンセルされたことを示す情報等についても、適宜クラウド印刷サービスシステム120に送信するとよい。
【0043】
S507の処理の後、S508において、クラウド印刷サービスシステム120は、S504で保存した印刷履歴を更新する。具体的には、クラウド印刷サービスシステム120は、印刷履歴に含まれる印刷ステータス情報として、S507で受信したステータスを格納する。S506で全てのページの印刷が完了した場合は、印刷ステータス情報として、印刷が完了したことを示す情報が格納される。印刷途中でキャンセルされた場合は、印刷ステータス情報として、印刷がキャンセルされたことと、印刷が完了したページ数が格納される。以上がクラウド印刷サービスシステム120を経由した印刷フローである。
【0044】
会社内において、全ての印刷をこのようなクラウド印刷サービスシステム120を経由した印刷とすることで、会社内における全ての印刷ジョブの印刷履歴がクラウド印刷サービスシステム120に蓄積されることになる。クラウド印刷サービスシステム120のあるテナントにおいて管理者権限を持つユーザは、自身が所属するテナントの印刷履歴を全て参照することができる。印刷履歴には、印刷を指示したユーザ情報も含まれているため、管理者は、特定のユーザや、特定の部門の印刷ボリュームを簡単に確認することができる。このように、クラウド印刷サービスシステム120を利用することで、管理者は、会社内における印刷の管理を容易に低コストで実施することができる。
【0045】
<プリンタドライバを経由した印刷フロー>
次に、クラウド印刷サービスシステム120を経由せずに印刷を実行するフローを説明する。
図6は、実施形態に係るプリンタドライバ807を経由した印刷フローを説明するシーケンス図である。以降、各ソフトウェア及び機能ブロックを、各処理の主体として説明することもあるが、実際には、対応するプログラムをCPU211が実行することで、対応する機能が実現されることになる。なお、以下では、ユーザは
図1の情報処理装置130のいずれかを用い、クラウド印刷サービスシステム120にログインしているものとする。さらに、クラウド印刷サービスシステム120には、印刷装置111が登録されており、さらに印刷装置111を利用可能なユーザとして、該ユーザが登録されているものとする。なお、プリンタドライバ807ではなく、IPPクラスドライバ802が利用されても良い。また、情報処理装置130には、ログ収集アプリケーション808がインストールされている。さらに、ログ収集アプリケーション808は情報処理装置の起動中は常駐起動していることが好ましい。ログ収集アプリケーション808は、情報処理装置130を利用するユーザがインストールしても良い。もしくは、ユーザが所属する会社のITインフラを管理する部門の管理者が、会社内の全ての情報処理装置に事前にインストールしたり、自動的にインストールしたりするように構成しても良い。
【0046】
S601において、情報処理装置130上の印刷指示アプリケーション806は、ユーザから印刷指示を受けると、プリンタドライバ807に対して印刷ジョブを発行する。ログ収集アプリケーション808は、情報処理装置130にインストールされている全てのプリンタドライバに対する印刷ジョブの有無を監視するように構成される。ログ収集アプリケーション808は、S602で、プリンタドライバ807に印刷ジョブが追加されたことを確認すると、追加された印刷ジョブを外部記憶装置214若しくはRAM213に保存する。
【0047】
一方、プリンタドライバ807は、S601で印刷ジョブを受信すると、受信した印刷ジョブを、印刷装置112が解釈可能な形式(例えば、プリントベンダー固有の形式)に変換し、変換した印刷ジョブを印刷装置112に送信する(S603)。印刷装置112は、S604で、受信した印刷ジョブに基づいて印刷処理を行う。なお、この例では、情報処理装置130と印刷装置112は、USBケーブル等で接続されているものとする。
【0048】
このようにプリンタドライバ807を経由した印刷では、印刷ジョブは、クラウド印刷サービスシステム120を経由しないため、クラウド印刷サービスシステム120は、印刷履歴を保存することができない。クラウド印刷サービスシステム120を経由した印刷は、印刷要求を発行する情報処理装置、及び印刷装置の両方が、クラウド印刷サービスシステム120と同じネットワーク(例えばインターネット)に接続していることが前提となる。従って、営業先でインターネットに接続できないなどの状況下においては、クラウド印刷サービスシステム120を経由した印刷を指示することができない。これにより、会社内で発生する印刷の印刷履歴を、クラウド印刷サービスシステム120で一括管理したい場合であっても、一時的にインターネットに非接続の状態で発生した印刷の履歴を管理することが難しい。そこで、以下では、本実施形態のログ収集アプリケーション808を用いて印刷履歴を管理する方法を説明する。
【0049】
ログ収集アプリケーション808は、S602の処理の後、プリンタドライバ807の印刷ジョブの印刷ステータス(印刷装置112から取得したステータス情報)をスプーラー805に対して問い合わせることにより、ステータスを取得する(S605)。具体的には、ログ収集アプリケーション808は、S605の処理の中で、スプーラー805に対して繰り返し問い合わせを行い、印刷ジョブのうちの処理ページ数、及び印刷ジョブのステータスを取得する。ログ収集アプリケーション808は、印刷ジョブの終了を確認した後、S605の処理を終了する。この処理により、ログ収集アプリケーション808は、印刷ジョブによる印刷が終了したか、途中でキャンセルされたか、キャンセルされた場合は何ページまで印刷されたか、を判定する。
【0050】
S605の処理の後、ログ収集アプリケーション808は、S606において、S602で保存した印刷ジョブを編集し、印刷ジョブに含まれる印刷設定情報に、印刷をスキップするフラグ、及びS605で判定した、印刷ジョブのステータスを付加する。
【0051】
ログ収集アプリケーション808によってS606の付加処理が実行された後の印刷設定情報について
図7を用いて説明する。ここでは、印刷ジョブ(印刷データ)が、XPSデータ形式であり、かつ印刷ジョブに含まれる印刷設定情報がPrintTicketであるものとして説明する。それ以外のデータ形式であっても、同等の処理により適用可能である。PrintTicket701には、印刷装置の印刷動作を指定するための設定が含まれており、例えば印刷する用紙サイズを指定するための情報702等が含まれる。情報702においては、PageMediaSizeという機能(Feature)において、A4サイズ(ISOA4)という選択項目(Option)が指定されている。
【0052】
情報703は、実際の印刷を行うか、ログ収集を目的とするものであり、実際の印刷をスキップするか否か、を示す情報である。ここでは、ログ収集機能を意味するJobLogPrintというFeatureのOptionがONとなっているため、ログ収集を目的とする印刷であることを示す。実際の印刷を行う場合は、JobLogPrintというFeatureのOptionがOFFとなる。情報704は、印刷ジョブのステータス情報を示す。ここでは、ステータス情報を示すJobPrintStatusというFeatureのOptionがPrintedとなっており、印刷ジョブの印刷が正常に完了していることを示す。情報703と情報704は、ログ収集アプリケーション808が、S606で付加する情報である。ログ収集アプリケーション808は、S606で、情報703にONを格納すると共に、情報704にS605で取得したステータス情報を格納する。
【0053】
なお、
図7の情報704には、ステータス情報として、印刷ジョブの印刷が正常に完了したことを示す情報が格納されている。しかしながら、S604の印刷処理が途中でキャンセルされた場合は、それを示す情報(Canceled)や、キャンセルされるまでに印刷されたページ数情報等が格納される。
【0054】
S606の処理の後、ログ収集アプリケーション808は、S607において、情報処理装置130が、クラウド印刷を利用できる状態にあるか否かを判定する。具体的には、情報処理装置130がインターネットに接続されているか、クラウド印刷ドライバ803がインストールされているか、クラウド印刷サービスシステム120にログインされているか、等を確認する。これらの条件を全て満たす場合、ログ収集アプリケーション808は、クラウド印刷を利用できると判断し、そうでない場合は、クラウド印刷を利用できないと判断する。
【0055】
S607でクラウド印刷を利用できないと判断した場合、ログ収集アプリケーション808は、S608において、印刷ジョブを外部記憶装置214若しくはRAM213に保存し、処理を終了する。
【0056】
一方、S607でクラウド印刷を利用できると判断した場合、ログ収集アプリケーション808は、S609において、S602で保存しS606で編集した印刷ジョブを、クラウド印刷ドライバ803に送信し、印刷を指示する。なお、S609において、ログ収集アプリケーション808は、S608で過去に蓄積した複数の印刷ジョブも含めて全ての印刷ジョブをクラウド印刷ドライバ803に対して印刷指示するとよい。これにより、S607からS609の処理により、情報処理装置130が一時的にインターネットに接続していないような場合にも対応可能である。具体的には、情報処理装置130がインターネットに接続された後に、蓄積されていたログ収集用の印刷ジョブをクラウド印刷サービスシステム120に送信するよう構成するとよい。
【0057】
なお、ログ収集アプリケーション808は、S606の処理の後ではなくても、定期的にS607の判定を行ってもよい。つまり、ログ収集アプリケーション808は、定期的にS607の判定を行いクラウド印刷が利用できると判断した場合は、S608で過去に蓄積したログ収集用の印刷ジョブを、クラウド印刷ドライバ803に送信するよう構成しても良い。これにより、印刷履歴をできるだけ早くクラウド印刷サービスシステム120に送信することができる。
【0058】
S609の印刷指示を受けると、クラウド印刷ドライバ803は、S610において、受信した印刷ジョブを、IPP仕様に基づく形式の印刷ジョブに変換する。この時、S606で印刷設定情報に対して付加された印刷をスキップするフラグ、及び印刷ジョブのステータス情報も変換される。クラウド印刷ドライバ803がS610で生成する印刷ジョブに含まれる、IPPのValidate-Jobオペレーションを概念的に示した例を
図8の81に示す。Validate-Jobオペレーション81はIPPにおける印刷設定情報であり、印刷設定属性情報82が含まれる。S609の変換前の印刷ジョブに含まれる情報702、情報703、情報704が、変換後の印刷ジョブでは、情報83、情報84、情報85になる。情報83は、印刷する用紙サイズがA4サイズであることを示す。情報84は、ログ収集を目的とする印刷であることを示す。情報85は、印刷ジョブの印刷が正常に完了していることを示す。つまり、情報702から情報704の示す設定値と同じ意味を持つ設定値が、そのまま情報83から情報84の値として格納される。
【0059】
なお、本実施形態において、これらの情報は、印刷ジョブ中のValidate-Jobオペレーション内に格納されているが、印刷ジョブ中のその他の領域に格納するよう構成しても良い。
【0060】
次に、S611において、クラウド印刷ドライバ803は、変換した印刷ジョブをクラウド印刷サービスシステム120に送信する。
【0061】
次に、クラウド印刷サービスシステム120は、S612において、受信した印刷ジョブを一時的に保存すると共に、印刷履歴を保存する。保存する印刷履歴には、印刷ジョブのページ数等の情報、印刷ジョブの印刷設定情報(両面印刷、モノクロ印刷、等)、印刷ジョブに含まれる印刷を指示したユーザ情報、印刷装置情報、印刷ステータス情報、等が含まれる。なお、
図5のS504では、クラウド印刷サービスシステム120は、印刷ステータス情報として、印刷中であることを示す情報を格納している。しかしながら、印刷ジョブに印刷ステータス情報を示す情報85が含まれる場合は、情報85が示すステータスを、印刷ステータス情報として格納するとよい。S612において、ステータス情報以外については、S504と同等の処理で、印刷履歴を保存する。
【0062】
次に、クラウド印刷サービスシステム120は、S613において、受信した印刷ジョブに含まれる情報84を確認する。そして、実際の印刷を行う印刷ジョブ(値が「off」)か、ログ収集を目的とする印刷ジョブものであり印刷はスキップするか(値が「on」)か、を判断する。
【0063】
S613において、実際の印刷を行うと判断した場合(情報84の値が「off」の場合)、クラウド印刷サービスシステム120は、印刷装置112に印刷ジョブを送信し印刷させる。具体的には、
図5のS505からS508の処理を実行し、クラウド経由の印刷を実行する。
【0064】
一方、S613において、印刷はスキップすると判断した場合(情報84の値が「on」の場合)、クラウド印刷サービスシステム120は、クラウド経由の印刷を印刷装置112に実行させることなく、処理を終了する。つまり、クラウド印刷サービスシステム120は、印刷装置112に印刷ジョブを送信しない。
【0065】
以上の処理により、プリンタドライバ807を利用してクラウド印刷サービスシステム120を経由せずに印刷が実行された印刷ジョブについても、クラウド印刷サービスシステム120に印刷履歴を保存することができる。これにより、外出先等において、一時的にインターネットに接続していないような状況下で印刷を実行した場合であっても、その印刷に基づく印刷履歴を一元的にクラウド印刷サービスシステム120に保存されることになる。よって、管理者は印刷履歴を一元的に管理することができ、管理負荷の軽減につながる。
【0066】
また、在宅ワーク等で、クラウド印刷サービスシステム120からの印刷に対応していない(クラウド印刷サービスシステム120からの印刷をサポートしていない)印刷装置を使用して業務上の印刷を行うケースにおいても、本実施形態は適用可能である。具体的には、プリンタドライバ807を用いて印刷を実行させ、S607の判定でクラウド印刷が利用可能と判断されれば、該印刷の印刷履歴は、
図6に示したフローによって、クラウド印刷サービスシステム120に蓄積される。従って、管理者は、在宅ワークにおける印刷履歴や印刷ボリュームも管理、参照することができ、従業員に対して在宅ワーク中に発生した印刷の費用を支給するといったことが可能となる。
【0067】
なお、ログ収集アプリケーション808は、S606で、さらに印刷ジョブ中の各ページの描画情報を全て削除して白紙にしたり、ページを1ページのみ残し、それ以外のページ情報を削除するなどしても良い。S606で編集する印刷ジョブは、印刷履歴保存用の印刷ジョブであるため、これらの情報が必要ない場合は、削除することで、クラウド印刷サービスシステムに送信する印刷ジョブを軽量化できる。
【0068】
また、上記例におけるログ収集アプリケーション808は、S602で、情報処理装置130にインストールされている全てのプリンタドライバを監視するが、監視するプリンタドライバを指定できるように構成しても良い。これにより、文書の形式を変換するなどの特殊な用途に利用され、印刷動作を伴わないプリンタドライバを、印刷履歴の保存対象から除外することができる。
【0069】
なお、実施形態の上述の例では、印刷履歴保存用(ログ収集用)の印刷ジョブは、クラウド印刷ドライバ803が作成して送信するが、本実施形態はこれに限定されない。つまり、ログ収集アプリケーション808自身が、印刷履歴保存用の印刷ジョブを作成し、クラウド印刷サービスシステム120に送信するように構成しても良い。
【0070】
このような構成における、プリンタドライバを経由する印刷フローを
図9に示す。ログ収集アプリケーション808は、S901において、S602で保存した印刷ジョブを、IPP仕様に基づく形式の印刷ジョブに変換する。さらに、印刷をスキップするフラグ(情報84)、及び印刷ジョブのステータス情報(情報85)も付加する。
【0071】
そして、S607で、クラウド印刷が利用可能であると判断した場合、ログ収集アプリケーション808は、クラウド印刷サービスシステム120にS901で作成した印刷ジョブを送信する(S902)。その他の処理については、
図6の同じステップ番号を有する各処理と同じ処理を実行する。この構成例の場合、クラウド印刷ドライバ803が、印刷履歴保存に利用する情報703、情報704の指定ができない場合でも、本実施形態を実現可能となる。つまり、ログ収集アプリケーション808が、印刷履歴の保存に必要な情報84、情報85を含む印刷ジョブを自身で生成することができるため好ましい。
【0072】
さらに、ログ収集アプリケーション808の、S901、S607、S608,S902の処理を、プリンタドライバ807が実施するように構成しても良い。この場合、ログ収集アプリケーションを情報処理装置130にインストールすることが不要となる。さらに、S602のような、プリンタドライバの印刷ジョブを監視する処理も不要となるため、情報処理装置130の処理負荷を軽減できる。さらに、S605のステータス監視処理も不要となる上、プリンタドライバ807がS603の印刷処理に伴い把握した印刷ステータス情報を利用できるため、より正確な印刷ステータス情報となる。
【0073】
また、本実施形態の
図6の例では、クラウド印刷サービスシステム120が、実印刷を行うか否かを判断する処理S613を実行するが、この判断処理を印刷装置側で実施するよう構成しても良い。
【0074】
このような構成における、プリンタドライバを経由する印刷フローを
図10に示す。クラウド印刷サービスシステム120は、印刷ジョブにおける印刷スキップフラグの有無に関わらず、S505において、印刷ジョブを、印刷ジョブで指定されている印刷装置111に送信する。
【0075】
印刷装置111は、印刷ジョブを受け取ると、S1001において、印刷のスキップが指定されているか否かを、情報84を参照して判定する。S1001で印刷のスキップが指定されていると判定した場合、印刷装置111は、印刷を実行せずに、ジョブステータスをクラウド印刷サービスシステム120に送信する(S1002)。一方、印刷装置111は、S1001で印刷のスキップが指定されていないと判定した場合、S506で印刷を実行する。
【0076】
なお、S506で印刷処理を実行した場合は、その印刷処理に応じたステータスを送信するが、印刷処理を実行しなかった場合は、印刷ジョブに含まれるステータス情報85が示す情報を返却する。その他の処理については、
図7の同じ番号を有する各処理と同じ処理を実行する。この構成では、クラウド印刷サービスシステム120が、印刷履歴保存に利用する情報84、情報85を指示できない場合でも、本実施形態を実現可能となる。つまり、ログ収集アプリケーション808が、印刷履歴の保存に必要な情報84、情報85を含む印刷ジョブを自身で生成することができる。
【0077】
なお、
図6、
図7、
図8の各構成でそれぞれ部分的に異なる処理を示したが、それぞれの異なる処理同士を組み合わせても良い。
【0078】
<<実施形態2>>
上述した実施形態は、以下の処理を実行することによっても実行される。すなわち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。これによって、上述した目的を達成することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0079】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0080】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【0081】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【0082】
111,112 印刷装置
120 クラウド印刷サービスシステム
130 情報処理装置
300 ローカルIPPサービス
803 クラウド印刷ドライバ
807 プリンタドライバ
808 ログ収集アプリケーション