JP2022073284A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2022073284A
JP2022073284A JP2020183171A JP2020183171A JP2022073284A JP 2022073284 A JP2022073284 A JP 2022073284A JP 2020183171 A JP2020183171 A JP 2020183171A JP 2020183171 A JP2020183171 A JP 2020183171A JP 2022073284 A JP2022073284 A JP 2022073284A
Authority
JP
Japan
Prior art keywords
notification
information
print job
identification information
user
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
JP2020183171A
Other languages
English (en)
Other versions
JP2022073284A5 (ja
Inventor
佳佑 森田
Keisuke Morita
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 JP2020183171A priority Critical patent/JP2022073284A/ja
Priority to US17/511,005 priority patent/US11586401B2/en
Publication of JP2022073284A publication Critical patent/JP2022073284A/ja
Priority to US18/162,248 priority patent/US11947847B2/en
Publication of JP2022073284A5 publication Critical patent/JP2022073284A5/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00472Display of information to the user, e.g. menus using a pop-up window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00477Indicating status, e.g. of a job

Landscapes

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

Abstract

【課題】 クラウド上の印刷システムを利用して印刷するクラウドプリントの利用が増えてきているが、直接プリンターに対して印刷を行わないため、クライアントはプリンターで発生したエラーの通知を受け取ることができないという課題がある。【解決手段】 本発明を使用することで、クラウドプリントにおいても、機器で発生したエラー通知を受け取ることが可能となる。【選択図】 図5

Description

本発明は、サーバシステムを通した印刷における情報の通知方法に関する。
グーグルクラウドプリント等のクラウドプリントが知られている(特許文献1)。
特開2013-238924
こうしたクラウドプリントの形態では、画像形成装置側で仮に印刷エラーが起きたとしても、当該印刷エラーがユーザに通知される仕組みが知られていなかった。
印刷ジョブを情報処理装置から受信する受信手段と、
前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持手段と、
画像形成装置に対して前記保持された印刷ジョブを送信する送信手段とを有し、
前記受信手段が、前記送信した印刷ジョブの実行に失敗したことを示す通知を受信した場合に、前記送信手段は、前記ユーザ識別情報で識別されるユーザがログインしている前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステム。
本願によれば、直接プリンターから情報通知を受け取ることのできないクラウドプリントの形態においても、通知を受け取ることができる。
コンピューターシステムのハードウェアとソフトウェアのブロック構成図 クライアントとプリンターが接続された通信環境の構成図 クラウドプリントサービスの構成図 ユーザ通知先の管理情報 コンピューター上での通知の表示例 クライアントとクラウドサービスの通知に関する登録処理のシーケンス図 印刷時の情報通知処理のシーケンス図 印刷ジョブのデータの一例 印刷ジョブの属性パラメータの一例 プリンターの内部情報の一例 インストール済みのプリンターの表示画面 クラウドプリントサービスで発生したイベントの通知を行うシーケンス図 印刷拡張アプリでプリンターのステータス情報を表示する例 印刷拡張アプリでプリンターのステータス情報を表示する例 印刷拡張アプリからプリンターのステータス情報を取得し、表示するシーケンス図 プリンターのステータス情報の一例 印刷拡張アプリが直接プリンターと通信してステータス情報を取得する処理のシーケンス図
以下、本発明を実施するための形態について図面を用いて説明する。
図1は本発明の実施形態を示す一般的なコンピューター(情報処理装置)を用いたシステムのブロック構成図である。Central Processing Unit(CPU)101は、主記憶装置102のRead Only Memory(ROM)1021、Random Access Memory(RAM)1022あるいは補助記憶装置105に格納されたプログラムに従ってコンピューター100全体の制御を行う。RAM1022はCPU101が各処理を行う際のワークエリアとしても使用される。補助記憶装置105には、アプリケーション(アプリ)1051やデバイスアプリケーション(デバイスアプリ)1052、汎用プリンタードライバー1053、オペレーティングシステム(OS)1054等の各種プログラムが格納される。キーボード1031やマウス、タッチパネル、タッチパッドなどに代表されるポインティングデバイス1032等の入力機器は、入力インターフェース(I/F)103を通してコンピューター100に接続される。これらの入力機器を通してユーザからのプログラムへの操作を受け付ける。出力I/F104にはモニター1041等の出力デバイスが接続され、プログラムの指示に従いモニター上にUIを表示する。なお、スマートフォンやタブレット端末を始めとする端末に関してはポインティングデバイス1032とモニター1041が一体となっているものがあるが、ここでは役割ごとに分離して表記を行っているだけであり、置き換えて考えてももちろん構わない。通信I/F106はネットワーク1061に接続されており、コンピューター100の外部機器、例えば、図2のコンピューター1001、コンピューター1002、プリンター(画像形成装置)202との通信が可能である。上記モジュールは、システムバス107で接続され、各モジュール間でデータのやり取りが可能である。また、本発明の処理が含まれているアプリ1051~1054は、不図示のCD-ROMやUSBメモリーを介して補助記憶装置105に追加可能である。さらにネットワーク1061を経由して補助記憶装置105に追加することも可能である。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、Localネットワークを介して接続が為され処理が行われるシステムであってもよい。
図2は本発明の実施の形態におけるネットワーク1061の環境を簡略した図である。印刷を行う文書や画像を作成するコンピューター100/1001/1002が単体もしくは複数ネットワークに接続されている。さらにプリンター202が単体もしくは複数ネットワークに接続されていることやUSBを経由してコンピューター100/1001/1002に接続されることもある。加えて、コンピューター100は、ネットワーク上のクラウドプリントサービス300と接続されており、クラウドプリントサービス300を通すことで別のネットワーク管理下にあるプリンター200、プリンター201とも通信することが可能である。ネットワークにはPersonal Area Network(PAN)、LANなどの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウドなど、サーバーやプリンターがインターネットを経由して接続されていても構わない。この際の通信方式は限定は行わない。例えば、IEEE 802.11規格に則ったワイヤレスLANでの通信、Bluetooth(登録商標)通信などが考えられる。あるいはInternational Mobile Telecommunication 2000(IMT-2000) 規格に則った携帯電話回線なども考えられる。また、USBに関しては直接接続する形態以外にもUSBハブや交換機のようなもので中継されていても構わない。
図3はネットワーク上のクラウドプリントサービスであるサーバシステム300の構成図である。クラウドプリントサービス300は、複数のサーバシステム上に構築されるインターネット上のクラウドプリントサービスである。本実施例では、それぞれのイントラネットに対して接続が可能であり、インターネットを通じてコンピューター100やプリンター200と接続される。クラウドプリントサービス300は、ID(ユーザ識別情報)とPASSWORDを利用したアカウント管理がされており、ユーザはこのアカウントを利用してクラウドプリントサービス300にアクセスすることができる。また、ユーザ管理されているアカウントがOS1054のログインユーザと紐付いていてもよいし、アプリ1051が別途、ログイン認証を行い、ログイン中のため認証トークンを保持している場合などは、別途IDやPASSWORDの入力は必要ない。
図3はクラウドプリントサービス300の構成図である。クラウドプリントサービス300は、インターネットを通じたクラウド上に存在するサービスであり、印刷に関連する機能を提供可能とする。本実施形態ではクラウドプリントサービス300は、操作制御部301、記憶部302、印刷処理部303、画像処理部304、認証制御部305、プリントサービス制御部306、ユーザ管理制御部307、印刷通知制御部308を持つ。また、これらの機能がクラウドプリントサービス300と連携する別のクラウドプリントサービスであっても構わない。以下、プリンター200を例に記載するが、クラウドプリントサービス300と接続可能な、プリンター201、プリンター202であっても同様の処理で実現可能である。
ここで、操作制御部301は、クラウド環境に直接アクセス可能な操作画面、あるいはWebブラウザやクラウドプリントサービス300に対応したアプリケーションを通じて操作メニューを表示する。そして、ユーザからの指示入力を待ち受け、指示内容を他の制御部に転送する。
記憶部302は、他の制御部からの指示により、指定されたデータをクラウド上で管理された記憶領域に記憶する、あるいは記憶しているデータを読み出す。記憶部302が管理するデータの例として、印刷ジョブを始めとする印刷データやユーザのアカウント情報やクラウドプリントサービス300にログインしている認証情報がある。
印刷処理部303は、印刷ジョブの印刷設定の検証処理(Validate)や印刷対象のコンテンツデータを各環境やプリンターが解釈可能な形式にデータ変換を行い、データ転送を行う。
画像処理部304は、印刷ジョブの印刷用の画像データや中間データにレンダリングする処理を行う。
認証制御部305は、IDとPASSWORDを利用した認証や、ブラウザでCookieを利用したログイン制御や、アプリケーションで認証用トークンを利用した認証処理等を行う。他にもシングルサインオンを始めとするログインセッションを共有できる仕組みであれば方法は問わない。
プリントサービス制御部306はコンピューター100から受信した印刷要求を解釈し、印刷を何時にどのユーザから受信した、といった管理データと共に印刷ジョブの記憶や、印刷ジョブをプリンター200に送信し、その際の通知を受信する処理を行う。
ユーザ管理制御部307は、ユーザを管理する情報を取り扱う。例えば、本実施例では図4のように、認証中のユーザ名や接続機器に関する情報を取り扱う。ここでのユーザ名はログイン認証を行ったユーザのIDを指す。なお、ゲストアカウントの場合には一時的な割り当てIDや共用のID、「Unknown」のようなデフォルト処理で割り当てられるものであっても構わない。パスワードはユーザが認証を行うためのパスフレーズとして記載しているが、画面上をマウスやタッチ操作でなぞって行うパターン認証や、画像認証、生体認証や対象アプリの認証トークン情報にあたるデータやそのリンクであっても問題は無い。グループ情報は、そのユーザが所属している会社や部署等の情報があたる。端末情報は、ユーザがアクセスしている端末を特定する情報である。本実施例では一例として端末が接続に使用しているネットワークカードのMACアドレスを例に挙げている。その他にも、ハードディスクのボリュームシリアル番号やOSから取得可能であればID値、携帯端末であるならSIMの情報や端末シリアル番号など、端末を一意に特定できる情報なら特に種類は問わない。加えると、iOSである場合ならidentifierForVendor(IDFV)やAdvertisingIdentifier等の識別情報を使用するのでも良い。アクセス先の情報は本実施例ではIPアドレスを指すが、これもリンクやURI等、特定の端末にアクセス可能な情報であるなら種類は問わない。
印刷通知制御部308は、印刷に関する通知を出す処理を行う。また、それに伴うユーザのID,認証情報、印刷対象のプリンターのハードウェアID(HWID)、ユーザ端末のIPアドレス、アプリケーション情報など、通知を許可した通信機器に関する情報も保持する。
本実施例では、コンピューター100がクラウドプリントサービス300を通じてプリンター200に対して印刷を行う。さらに、エラー等プリンター200で発生した通知イベントをクラウドプリントサービス300から通知を受け取り、図5の画面通知501の表示処理を行う。
この際、クライアントのコンピューター100で通知を出す際に、未知の接続先であるクラウドプリントサービス300との通信を受け付けるのは、セキュリティ上の問題から、デフォルトでは許可されていないことがある。このため図6は、通知を行う上で、クライアントのコンピューター100をクラウドプリントサービス300に登録し、情報の通知を受け付けられるよう登録するシーケンスに関する図である。なお、最初からOS1054の仕組みとしてクラウドプリントサービス300から通知を受ける仕組みが組み込まれているのならば、必ずしも実施が必要というわけではない。また、ブラウザの機能を使って通知を受け取る場合は、「ブラウザを立ち上げてログインしておく」等の方法で、通知の待ち受けの代替としても良い。
まずコンピューター100は通知チャネルのURIの生成を行う(601)。例えばhttp://user01@test.pc.com:8080/SampleServiceのようなクライアントのコンピューター100に対してアクセス可能なURIを指す。
次に生成したURIをコンピューター100に対して登録する(602)。この際、通知に使用するアプリケーションやサービスに対して、通知の許可が必要な場合は許可も行う。なお、通知がされた際にユーザ側に「通知を許可しますか?」といった確認を行うような設定をしている場合等、任意のタイミングでも構わない。
登録したURIをコンピューター100からクラウドプリントサービス300に送信を行い(603)、クラウドプリントサービス300でもURIを保存し、登録を行う(604)。これらの操作により通信するためのチャネルが確率される。
この後、任意のタイミングでクラウドプリントサービス300からコンピューター100に対して、情報の通知を受ける(605)。
図7は、コンピューター100が印刷時に情報通知を受ける処理を表すシーケンス図である。
まず、ここで印刷ジョブのデータの持ち方の例について図8を用いて説明する。まず、「優先度」はジョブをスケジュールするための優先度を指す。ここでは例えば1~100のうちの大きさの指定を行い、100を最高の優先度とすることで、各ジョブの印刷順序の制御を行う。なお、「与えられたより高い優先度を与えない」等、適切なルールの下で運用されるのであれば、詳細は特に問わない。「印刷部数」は印刷ジョブの部数を指す。「印刷設定」は印刷に必要な設定、例えば、カラーや両面の指定、メディア情報、フィニッシング情報、印刷品質や解像度などの画質情報が格納される。本設定はXPSやPrintTicketのようなXML形式を始めとする構造化されたテキスト形式データでも、Devmodeのようなバイナリ形式の印刷設定データでも構わない。「印刷コンテンツ」はXPS、PDFなどのPageDescriptionLanguage(PDL)データや、単なるテキストや画像データでも文書データへの参照を含める形でも、転送先で解釈可能であれば、ベンダー独自のものでも構わない。また、「属性パラメータ」は、直接印刷に必要に必要なデータとは別に、印刷時の処理のやりとりのために存在するパラメータであり、図9を用いて、属性パラメータの説明を行う。この属性パラメータは、印刷データと共に印刷ジョブに付加する形で送付される。本実施例においては、ジョブの属性パラメータは「操作属性」に関するものと「ジョブオブジェクト属性」に関するものがあり、本実施例においては、特に追加で「拡張属性」も定義する。操作属性の状態コードは全体のやり取りに使用する。例えば、動作の実行に成功した(successful)、さらに動作が必要となる(redirection)、ジョブが実行不能(client-error)、有効と思われる要求の実行に失敗(server-error)、等がある。操作属性の言語コードは通信に使用する言語や文字コードを表す。ジョブオブジェクト属性のIDは数値やGUIDでジョブを一意に特定するためのものである。ジョブオブジェクト属性の状態はオブジェクトの状態を示すものである。具体的な例を数点挙げると、未処理(pending)、処理中(processing)、中断しているが原因が解消次第再開(processing-stopped)、Cancel-Job操作等でキャンセルされた(canceled)等がある。他にも、システムの異常により終了(abort)、ジョブの成功(completed)、等がある。ジョブオブジェクト属性の状態メッセージは、テキストデータを任意で書き込むことができる領域でメッセージの内容の記載に使う。
次に拡張属性であるが、これは本実施例で使用するメッセージ通知に関連するものとなる。「拡張属性(管理情報)」はメッセージの通知を行うクライアントのコンピューター100に該当するもので、それぞれは図4の例で説明済みであるため、詳細は省略する。これから以下で「拡張属性(通知情報)」の各パラメータに関して補足を行う。「情報種別」は、情報がどのような種類のものであるかで、「エラー」「警告」「情報」などがそれにあたる。「通知メッセージ」は、通知する内容のテキストデータとなる。「通知先」は通知先を特定する情報で、ユーザを指定する場合は「ユーザ名」、グループを指定する場合は「グループ情報」、端末を指定する場合はIPアドレスなどの「アクセス先」等の情報となる。「通知範囲」は、「端末」「ユーザ」「グループ」「端末全て」等、通知する範囲を指定する。例えば「通知範囲」を「ユーザ」で、「通知先」を「user01」と指定することで図4の場合「user01」が管理する上から2つの端末に対してメッセージを飛ばす指定となる。他にも「通知範囲」を「グループ」で、「通知先」を「Group001」とすることで、「Group001」の組織でログインしている端末全てに通知を送る指定となる。
まず、コンピューター100から印刷処理を行うため、ジョブの生成を行う(701)。ここでは、印刷に必要な「両面」「カラー」を始めとする印刷設定情報と印刷対象データとを、送信先のクラウドプリントサービス300で解釈可能なデータ、あるいは中間データに変換する処理を行う。変換された結果をジョブと呼ぶ。この際、印刷先の指定はクラウドプリントサービス300の仮想プリンターに対して行われる。この仮想プリンターは、クラウドプリントサービス300が提供している印刷機能のひとつである。ユーザがクラウド環境にログインしておくと、ActiveDirectoryのようなサービスシステムを通じて、通常のプリンターと同じように図10のプリンターの追加ボタン1001から探索・追加が可能となる。また、仮想プリンターは、図11のように他のプリンターと同様、「デバイス名」のほか、プリンターが持つ独自のIDである「HWID」や、プリンターの「接続ポート」情報を持つ。なお、本実施例で「接続ポート」情報はIPアドレスの指定を行ったが、「WSD-12345678-abcd-efgh-ab1234567890」のようなWSDポート指定でも構わない。また、接続先のアドレスもクラウドシステム自体のアドレスでも仮想的に割り当てられたアドレスでも構わない。コンピューターのOSやアプリケーションからは、図10の仮想プリンター1002のような形で、通常の物理プリンターと同じような形で見えており、通常のプリンターと同様に印刷ジョブを送信することで印刷が行われる。本実施例においては、仮想プリンター1002に対して印刷処理を行う(即ち、上記ジョブを送信する)ことでプリンター200に対してジョブを送信する。しかしながら、クラウドプリントサービス300に一旦印刷ジョブを保存しておき、別のタイミングで印刷を行う別の方法もある。この別の方法をとる場合には、ユーザはブラウザ等でプリンター200の仮想プリンターを提供するクラウドプリントサービス300にログオンして自分の印刷ジョブを表示し、表示された印刷ジョブのうち印刷したい印刷ジョブを選択して印刷の指示を行う。
ステップ702では、ユーザの識別情報の生成を行う。これは、印刷ジョブに付ける図4のグループ情報や端末情報といったクラウドプリントサービス300のユーザ管理制御部307で使用する情報を指す。ここで、「ユーザ名」「パスワード」「グループ情報」等の情報は、クラウドプリントサービス300にログインした際の登録情報を元に、クラウドプリントサービス300に問い合わせることで得る。または、コンピューター100のシステムや対応アプリケーションの設定情報部に保存されている認証情報を元に生成される。また、「端末情報」「アクセス先」の情報はクラウドプリントサービス300との接続に使用しているコンピューター100のものが使用される。通常のクラウドプリントでは、印刷を行った際に印刷セッションが終了してしまうため、別途ブラウザ等で印刷の管理画面を呼び出さない限り、クラウドプリントサービス300から印刷を行ったコンピューター100を特定することができない。つまりコンピューター100は、印刷ジョブを送信した後に、発生したエラーを始めとする印刷処理の詳細などの情報をクラウドプリントサービス300から得ることが出来なかった。しかし、ここで本情報を使用することで、クラウドプリントサービス300からコンピューター100のような通知対象の端末を特定することが可能となる。
この後ステップ703の処理にてクラウドプリントサービス300からの通知を受けられるよう通知の待ち受けを開始しておく。なお、OSの仕組みやサービスで待ち受けを行うほか、ブラウザの機能を利用して情報の通知を受ける場合は、「ログインセッションを確立させたブラウザを立ち上げて待機状態とする」等の処理でも良い。
ジョブの生成とユーザの識別情報の生成を行った後は、これらの情報をまとめて、クライアントのコンピューター100がクラウドプリントサービス300に対して送信を行う(704)。
印刷ジョブを受信したクラウドプリントサービス300は、受け取った印刷ジョブから印刷コンテンツのデータを抽出し、印刷先のプリンター200で解釈可能なデータへの変換を行う(705)。この際、クラウドプリントサービス300は印刷ジョブのリクエストに対しするレスポンスを返す(706)。次に印刷ジョブを受け取ったクラウドプリントサービス300は、印刷ジョブの属性パラメータ情報から図9の「拡張情報(管理情報)」に該当する「グループ情報」「端末情報」や「アクセス先」等の、通知先のクライアント情報を特定するための情報を取得する。取得した情報は、ジョブID(ジョブを識別するジョブ識別情報)等のジョブ情報と関連付けて、クラウドプリントサービス300の記憶部302に登録される(707)。プリンター200に対して、印刷ジョブを送信し、印刷処理要求を行う(708)。この際、印刷ジョブの送信先である端末情報やアクセス先をプリンター200に切り替え、必要に応じてジョブのIDや状態も最新のものに更新する。また、印刷コンテンツがプリンター200で受けられないフォーマットで合った場合は、印刷コンテンツをプリンター200の解釈可能なフォーマットに変換する。
印刷処理要求を受けたプリンター200は、印刷処理(709)を行うが、ここで何らかの通知イベントが発生した場合(710)、クラウドプリントサービス300に対して情報の通知を行う。ここで発生する通知イベントとは、例えば印刷時に発生したエラーが該当する。通知イベントが発生した場合はプリンター200が前述の図9の「拡張属性(通知情報)」の情報を取得し、クラウドプリントサービス300に対して情報の通知を行う(711)。この際の通知は、クラウドプリントサービス300からの印刷のリクエストに対するレスポンスとして行われる。なお、印刷処理(709)を行ってから、印刷が完了、あるいはキャンセルされるまでの間は、クラウドプリントサービス300では、印刷ジョブが保持される。また、完了通知を受け取った際に、クラウドプリントサービス300上の印刷ジョブは削除される。
情報の通知を受け取ったクラウドプリントサービス300は、クライアントのコンピューター100に対して、受け取った情報の通知を行う(712)。この際、通知先はプリンター200が格納した「通知範囲」や「通知先」情報(「通知範囲」が「ユーザ」で「通知先」が「user01」のため「user01に対して通知を行う」といった情報)を元に決定される。なお、その情報を図4の情報と照合することでコンピューター100といった物理的な通知先のデバイスを特定する。なお、この際、プリンター200が拡張属性に対応していなかった場合は、クラウドプリントサービス300が予め定めておいたルールに従って下記の処理を行ってもよい。即ち、印刷ジョブのエラー情報や、別途独自通信処理を行って得た情報を元に「拡張属性(通知情報)」の情報を格納しても良い。
最後に受け取った情報を元にコンピューター100が画面通知501の表示を行う(713)。
以上の処理を行うことで、クラウドプリントサービス実行時の通知情報の表示を行う。
なお、補足であるが、プリンター200で発生する通知イベントは印刷時のエラーを例に説明したが、正常に終了した場合でも、例えば「トナーや用紙の残量が減っている」といったユーザに通知したい情報が合った場合は、それを通知イベントとしても構わない。
実施例1では、クラウドプリントサービス300での印刷時にプリンター200で発生したエラー等の通知に関して説明したが、クラウドプリントサービス300側でも何かしら情報の通知が必要となることがある。例えば、実施例1では印刷ジョブ内の印刷設定等は変更せずに、そのままプリンター200に対して印刷指示を行っていた。しかし、クラウドプリントサービス300の方が高機能な印刷設定に対応している場合や、付加的な印刷サービスをもっている等のケースも考えられる。そのような場合には、追加機能に伴う追加の印刷設定を持つこととなるため、既存の印刷ジョブの設定と追加の印刷設定との競合が発生する可能性がある。また、追加機能が無かったとしても、クラウドプリントサービス300の方が、標準機能しか持たないクライアントのコンピューター100に比べて、より詳細な印刷設定の検証が可能な場合もある。このような場合には、プリンター200に印刷ジョブを送信するまでもなくエラーが発生することを予測することができるため、クラウドプリントサービス300上でエラー情報の通知を行う。
図12はクラウドプリントサービス300で発生したイベントの通知を行うシーケンス図である。なお、ジョブの生成といった基本的な流れは図7のシーケンスと同様であるため、説明を省略する。
ジョブの送信(705)を受けたクラウドプリントサービス300が、印刷ジョブが持たない拡張機能を持っていた場合、その設定情報の追加を行う(1201)。なお、ここでユーザによる追加設定の指定が必要となる場合は、別途アプリケーションやWebブラウザを立ち上げ、設定をさせても構わない。
次にジョブの設定情報の検証処理(Validate)を行う(1202)。この際、クラウドプリントサービス300は別途サービスやプリンター200と通信を行うことで追加の検証用のデータを取得しても構わない。
検証の結果問題が発生した場合は、クライアントのコンピューター100に対して通知を行う(1203)。通知を受け取ったコンピューター100は画面通知501の表示を行う(1204)。なお、この際、画面通知501をクリックすることで、問題の起きた設定を修正するための設定画面の表示を行っても良い。
以上に処理を行うことで、クラウドプリントサービス上で検出したエラーの通知を行うことが可能となる。
実施例1では、印刷を行った際にプリンター200で発生したエラーをクラウドプリントサービス300経由で受け取ってコンピューター100でエラー情報の通知を行った。しかし、実施例1では、あくまで印刷を行ったタイミングでしかプリンター200からの通知を受けることができなかった。
本実施例では、OS1054の標準印刷機能に独自の設定項目を追加したり、通知機能を追加する印刷拡張アプリ上からプリンターのステータス情報の取得を行う処理について述べる。この印刷拡張アプリであるが、本願では基本的にコンピューター100のデバイスアプリ1052として保存され、運用されることを想定して記載を行う。しかし、コンピューター100の汎用プリンタードライバー1053のモジュールを追加・上書を行う形で組み込まれても良いし、アプリ1051として導入され、汎用プリンタードライバー経由で機能を呼び出されるような構成でも構わない。
次に、本件の概要である、プリンター200のステータスをコンピューター100の印刷拡張アプリで取得する操作に関して記載を行う。まず、印刷拡張アプリは図13のような画面をしており、印刷時の「詳細な設定を行う」等のボタンやリンクを操作することで呼び出される。起動した後、印刷拡張アプリがプリンター200のステータスを取得するには、まず図13Aの情報取得ボタン1301を押下することでクラウドプリントサービス300を通してプリンター200のステータスを取得する。取得した情報は、図13Aのメッセージ1302のように印刷拡張アプリから呼び出されるモーダルメッセージやトースト通知のような形で呼び出されるか、印刷拡張アプリの画面内の表示1303のような形でユーザに通知される。また、設定画面がWebベースの造りであった場合、結果表示用の画面にページ遷移する形でステータスの通知を行っても良い。
ここから図14のシーケンス図を用いて全体の処理の詳細について述べる。まず、コンピューター100の印刷拡張アプリ上で図13Aの情報取得ボタン1301の押下を始めとするステータス情報の取得要求を受け付ける(1401)。ここでは、ユーザの直接的な指示を例としているが、印刷拡張アプリの起動時や一定時間経過後など印刷拡張アプリが定める所定のタイミングで呼び出されるものであっても構わない。また、印刷拡張アプリの外部からのイベントをきっかけとしてステータス情報の取得を行っても構わない。例えば、印刷拡張アプリの起動時にクラウドプリントサービス300で認証がされていない場合に、クラウドプリントサービス300のシステムにログインができたタイミングでステータス取得を行う場合である。また、クラウドプリントサービス300上からの情報更新等のイベントをトリガーとしてステータスの取得を行うでも良い。
情報取得ボタン1301が押されたら、ステータス情報の取得要求を送信する(1402)。ここでは、クラウドプリントサービス300が持つプリンター200の「準備完了」や「停止済み」といったステータス情報を取得する要求を出す。なお、クラウドプリントサービス300は、あくまで標準的なプリンターのステータス定義を行っているため、プリンターによって変わる詳細な情報が取得できないことがある。ここで言う詳細な情報とは、例えば、クラウドプリントサービス300には標準的な「トナー切れ」というステータス定義に対する、「赤と青のトナーが切れている」のような詳細な情報のことである。ここでは、そのような詳細な情報も含めた情報の取得要求を出すことを想定しているが、暗黙的に詳細な情報取得に対応していない場合、情報の取得要求に追加のパラメータを付加するか、あるいは詳細な情報取得用の特別な要求の送信を行っても良い。
情報取得の要求を受けたクラウドプリントサービス300はプリンター200に対し、受け取った情報取得の要求と同様の要求を送信する(1403)。なお、クラウドプリントサービス300が既にプリンター200のステータスを持つ場合は、そのままコンピューター100に対してステータス情報の通知を行う(1406)。
情報取得の要求を受けたプリンター200は、ステータス情報の生成を行う。ここでのステータス情報は例として図15の標準ステータス1501に詳細ステータス1502を加えたものを指す。標準ステータス情報1501は、例としてトナー情報の場合、プリンターの状態「停止中(Stopped)」や原因「トナー切れ(ink/Toner Empty)」、詳細な記載「インク・トナーが切れています(ink/Toner are running out.)」のように共通規格として一般に認知されているものを指す。詳細ステータス1502は、各トナーの残量をパーセンデージで表したものを始め、標準ステータス情報1501に存在していない情報を指す。その他、標準ステータス情報1501の定義では「その他(Other)」とされてしまうような情報の詳細を格納しても構わない。加えて「コンピューター100で、プリンター200の全ステータスを表示したい」といった処理を実現させるため、表示されていないステータス(例:トナー以外の「ジャムが発生している」等の別の問題)等を詳細ステータス情報1502に含めても良い。
プリンター200でステータス情報の生成を行ったらクラウドプリントサービス300に対して、生成した情報の通知を行い(1405)、クラウドプリントサービス300はコンピューター100に対して受け取った情報の通知を行う(1406)。
最後にコンピューター100で通知した情報を図13のような形で表示を行う。また、この際、例えば「トナー切れ」の標準ステータス情報1501と「赤トナー残量:0%」「青トナー残量:0%」の詳細ステータス情報1502を加工して、「赤と青のトナーが切れています」のように印刷拡張アプリ側で取得した情報を加工しても構わない。
以上の処理を行うことで、印刷拡張アプリでクラウドプリントサービス300に登録されているプリンター200のステータス情報の表示を行う。
ステップ1408以降の処理は、本件に関連する処理であるため、補足として記載を行う。まず、ステップ1407までの処理はユーザ側であるコンピューター100からステータス情報の取得要求を行っていたが、本処理ではプリンター側から通知が送信されてくる処理に関して記載する。本処理は、印刷時に一時的にしか開かれない一般的な設定画面でステータス表示を行う際にはあまり有効では無いが、バックグラウンドで動作し、通知を受けてメッセージ表示を行う機構を持つ場合や、継続してステータスをモニターするような機能を持つ場合を想定する。なお、本処理の前提として印刷拡張アプリが外部からのイベントを受けられるよう図6と同様の処理を行うことであらかじめ通知チャネルの登録を行っているものとする。それとは別に印刷拡張アプリ内に通知チャネル情報が組み込まれていても、もちろん構わない。
ここから、具体的な処理に関して述べるが、まずプリンター200でエラーが発生したり、再起動するといったデバイスの状態の変更を検知する(1408)と、ステップ1404の処理と同様ステータス情報の生成を行う(1409)。
その後、プリンター200がクラウドプリントサービス300に情報の通知を行い(1410)、通知を受けたクラウドプリントサービス300がコンピューター100に対して情報の通知を行う(1412)。
最後に通知を受けた、コンピューター100の印刷拡張アプリは、通知情報の表示を行う(1412)。
以上の処理を行うことで、プリンター200のステータス更新イベントの発生に応じて、コンピューター100の印刷拡張アプリ上でステータス情報の表示を行うことが可能となる。
上記処理では、クラウドプリントサービス300からプリンター200のステータス情報を取得していたが、プリンター200がクラウドプリントサービス300の定める通信方式でのステータス情報の通信に対応していない等の理由でステータス情報の取得ができない場合がある。そのため、図16ではコンピューター100の印刷拡張アプリが直接プリンター200と通信を行うことで、ステータス情報の取得を行う処理について述べる。
まず、コンピューター100の印刷拡張アプリはクラウドプリントサービス300に対してプリンター200のIPアドレスやURI、デバイス名のようなプリンター200に対して通信を行うための接続先情報を含む情報の取得要求を出す(1601)。
要求を受けたクラウドプリントサービス300は、プリンター200に関する情報をコンピューター100に対して送信する(1602)。
プリンター情報を取得した印刷拡張アプリは、そこからプリンターに対して接続ために必要な情報の取得を行い(1603)、その情報を元にプリンター200に対してステータス情報の取得要求を出す(1604)。
ステータス情報の取得要求を受けたプリンター200はステータス情報の生成を行う(1605)。本処理は図14のステップ1404と同様の処理であるため、詳細は省略する。
その後、プリンター200は生成したステータス情報をコンピューター100に対して送信する(1606)。なお、この際送信するデータは本願で述べたデータでないベンダー独自の規格に則ったデータであっても構わない。
最後に、ステータス情報を取得した印刷拡張アプリは図14のステップ1407と同様の処理で通知情報の表示を行う(1607)。
以上の処理を行うことで、印刷拡張アプリがプリンター200と直接通信を行い、プリンター200のステータス情報の表示を行うことが可能となる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (10)

  1. 印刷ジョブを情報処理装置から受信する受信手段と、
    前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持手段と、
    画像形成装置に対して前記保持された印刷ジョブを送信する送信手段とを有し、
    前記受信手段が、前記送信した印刷ジョブの実行に失敗したことを示す通知を受信した場合に、前記送信手段は、前記ユーザ識別情報で識別されるユーザがログインしている前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステム。
  2. 前記保持手段では、前記印刷ジョブを識別するジョブ識別情報と前記ユーザ識別情報は関連付けられており、
    前記受信手段が、前記通知を受信した場合に、前記受信した通知に含まれるジョブ識別情報と関連付けられた前記ユーザ識別情報を特定する特定手段をさらに有し、
    前記送信手段は、前記特定手段で特定されたユーザ識別情報で識別されるユーザがログインしている各装置に前記通知を行うことを特徴とする請求項1に記載のサーバシステム。
  3. 前記通知は、前記特定手段で特定されたユーザ識別情報で識別されるユーザがログインしている装置であれば、前記情報処理装置とは異なる装置にも行われることを特徴とする請求項2に記載のサーバシステム。
  4. 前記受信手段が、前記送信した印刷ジョブの実行に成功したことを示す第2の通知を受信した場合に、前記受信した第2の通知に含まれるジョブ識別情報で識別される前記印刷ジョブを削除する削除手段とをさらに有することを特徴とする請求項1乃至3の何れか1項に記載のサーバシステム。
  5. 印刷ジョブを情報処理装置から受信する受信工程と、
    前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持工程と、
    画像形成装置に対して前記保持された印刷ジョブを送信する送信工程とを有し、
    前記受信工程が、前記送信した印刷ジョブの実行に失敗したことを示す通知を受信した場合に、前記送信工程は、前記ユーザ識別情報で識別されるユーザがログインしている前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステムの制御方法。
  6. 前記保持工程では、前記印刷ジョブを識別するジョブ識別情報と前記ユーザ識別情報は関連付けられており、
    前記受信工程が、前記通知を受信した場合に、前記受信した通知に含まれるジョブ識別情報と関連付けられた前記ユーザ識別情報を特定する特定工程をさらに有し、
    前記送信工程は、前記特定工程で特定されたユーザ識別情報で識別されるユーザがログインしている各装置に前記通知を行うことを特徴とする請求項5に記載のサーバシステムの制御方法。
  7. 前記通知は、前記特定工程で特定されたユーザ識別情報で識別されるユーザがログインしている装置であれば、前記情報処理装置とは異なる装置にも行われることを特徴とする請求項6に記載のサーバシステムの制御方法。
  8. 前記受信工程が、前記送信した印刷ジョブの実行に成功したことを示す第2の通知を受信した場合に、前記受信した第2の通知に含まれるジョブ識別情報で識別される前記印刷ジョブを削除する削除工程とをさらに有することを特徴とする請求項5乃至7の何れか1項に記載のサーバシステムの制御方法。
  9. 請求項5乃至8の何れか1項に記載のサーバシステムの制御方法をサーバシステムに実行させるためのプログラム。
  10. 印刷ジョブを情報処理装置から受信する受信手段と、
    前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持手段と、
    画像形成装置に対して前記保持された印刷ジョブを送信する送信手段と、
    前記情報処理装置から前記画像形成装置のステータス情報の取得要求を受信する第2の受信手段と、
    前記第2の受信手段で前記取得要求を受信したことに基づいて、前記画像形成装置のステータス情報を取得する取得手段と、
    前記取得手段が、前記送信した印刷ジョブの実行に失敗したことを示すステータス情報を取得したした場合に、前記送信手段は、前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステム。
JP2020183171A 2020-10-30 2020-10-30 情報処理装置 Pending JP2022073284A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020183171A JP2022073284A (ja) 2020-10-30 2020-10-30 情報処理装置
US17/511,005 US11586401B2 (en) 2020-10-30 2021-10-26 Application for acquiring and displaying processing status of print data
US18/162,248 US11947847B2 (en) 2020-10-30 2023-01-31 Application for acquiring and displaying processing status of print data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020183171A JP2022073284A (ja) 2020-10-30 2020-10-30 情報処理装置

Publications (2)

Publication Number Publication Date
JP2022073284A true JP2022073284A (ja) 2022-05-17
JP2022073284A5 JP2022073284A5 (ja) 2023-11-01

Family

ID=81380246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020183171A Pending JP2022073284A (ja) 2020-10-30 2020-10-30 情報処理装置

Country Status (2)

Country Link
US (2) US11586401B2 (ja)
JP (1) JP2022073284A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023143184A (ja) * 2022-03-25 2023-10-06 ブラザー工業株式会社 サポートプログラムおよび印刷システム
JP2024016352A (ja) * 2022-07-26 2024-02-07 キヤノン株式会社 情報処理装置、プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8610927B2 (en) * 2010-02-09 2013-12-17 Apple Inc. Walk-up printing without drivers
JP2012048582A (ja) * 2010-08-27 2012-03-08 Canon Inc 印刷ジョブ管理システムおよびその制御方法、情報処理装置、印刷サーバ
JP5843691B2 (ja) 2012-05-11 2016-01-13 キヤノン株式会社 情報処理装置、印刷システム、情報処理装置の制御方法、およびコンピュータプログラム
JP7404691B2 (ja) * 2019-07-23 2023-12-26 富士フイルムビジネスイノベーション株式会社 印刷システムおよびプログラム

Also Published As

Publication number Publication date
US11586401B2 (en) 2023-02-21
US20220137898A1 (en) 2022-05-05
US11947847B2 (en) 2024-04-02
US20230176799A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US9230078B2 (en) Authentication system, control method thereof, service provision device, and storage medium
US8842320B2 (en) Print relay system, control method, and storage medium
US9710207B2 (en) Information processing system in which a printer associated with a web browser can be deleted
JP5791390B2 (ja) 印刷システム、プリントサーバ、印刷管理方法、およびプログラム
US10802779B2 (en) Print processing system and method having print server converts document data into print data and to store the print data into plural storage servers for printing at image processing apparatus
JP2015111408A (ja) 情報処理システム及び情報処理方法
US20200019357A1 (en) Information processing apparatus and non-transitory computer readable medium for logging into a printer service providing system
US11947847B2 (en) Application for acquiring and displaying processing status of print data
US9990166B2 (en) Information processing system in which connection for job transmission is established, processing apparatus, and server
US20170017448A1 (en) Printer registration apparatus, display apparatus, and method for printer registration
JP2007102491A (ja) 画像形成システム、設定値変更プログラム、および設定値変更方法
JP6168079B2 (ja) 印刷システム、印刷機器検索プログラム、および記録媒体
US20220326891A1 (en) Printing system, management server system, and control method
US20220350553A1 (en) Server system
JP6672596B2 (ja) 画像形成装置及びプログラム
US20130139249A1 (en) Image processing apparatus, method for controlling the same, and storage medium for carrying out login processing
US11086579B2 (en) Server system having print notification and control method thereof
US11614904B2 (en) Printing device, information processing device, and control method and medium for the same
US10891096B2 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method performed by communication device
JP7500206B2 (ja) 情報処理装置
JP2023031792A (ja) 情報処理装置および情報処理方法
US20190205069A1 (en) Data processing apparatus and non-transitory computer-readable storage medium for storing program
US11893289B1 (en) Printer, non-transitory computer-readable storage medium storing computer-readable instructions for printer, and method implementable by printer
JP2014160390A (ja) 出力制御装置、出力システム及びプログラム
US20220308802A1 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231024

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240625