(57)【要約】      （修正有）【課題】直接プリンターから情報通知を受け取ることのできないクラウドプリントの形態においても、通知を受け取ることができる情報処理装置を提供する。【解決手段】サーバシステムにおいて、コンピューターがクラウドプリントサービスを通じてプリンターに対して印刷を行う。さらに、エラー等プリンターで発生した通知イベントをクラウドプリントサービスから通知を受け取り、画面通知５０１の表示処理を行う。【選択図】図５
2020187728.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを情報処理装置から受信する受信手段と、
前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持手段と、
画像形成装置に対して前記保持された印刷ジョブを送信する送信手段とを有し、
前記受信手段が、前記送信した印刷ジョブの実行に失敗したことを示す通知を受信した場合に、前記送信手段は、前記ユーザ識別情報で識別されるユーザがログインしている前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステム。
【請求項２】
前記保持手段では、前記印刷ジョブを識別するジョブ識別情報と前記ユーザ識別情報は関連付けられており、
前記受信手段が、前記通知を受信した場合に、前記受信した通知に含まれるジョブ識別情報と関連付けられた前記ユーザ識別情報を特定する特定手段をさらに有し、
前記送信手段は、前記特定手段で特定されたユーザ識別情報で識別されるユーザがログインしている各装置に前記通知を行うことを特徴とする請求項１に記載のサーバシステム。
【請求項３】
前記通知は、前記特定手段で特定されたユーザ識別情報で識別されるユーザがログインしている装置であれば、前記情報処理装置とは異なる装置にも行われることを特徴とする請求項２に記載のサーバシステム。
【請求項４】
前記受信手段が、前記送信した印刷ジョブの実行に成功したことを示す第２の通知を受信した場合に、前記受信した第２の通知に含まれるジョブ識別情報で識別される前記印刷ジョブを削除する削除手段とをさらに有することを特徴とする請求項１乃至３の何れか１項に記載のサーバシステム。
【請求項５】
印刷ジョブを情報処理装置から受信する受信工程と、
前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持工程と、
画像形成装置に対して前記保持された印刷ジョブを送信する送信工程とを有し、
前記受信工程が、前記送信した印刷ジョブの実行に失敗したことを示す通知を受信した場合に、前記送信工程は、前記ユーザ識別情報で識別されるユーザがログインしている前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステムの制御方法。
【請求項６】
前記保持工程では、前記印刷ジョブを識別するジョブ識別情報と前記ユーザ識別情報は関連付けられており、
前記受信工程が、前記通知を受信した場合に、前記受信した通知に含まれるジョブ識別情報と関連付けられた前記ユーザ識別情報を特定する特定工程をさらに有し、
前記送信工程は、前記特定工程で特定されたユーザ識別情報で識別されるユーザがログインしている各装置に前記通知を行うことを特徴とする請求項５に記載のサーバシステムの制御方法。
【請求項７】
前記通知は、前記特定工程で特定されたユーザ識別情報で識別されるユーザがログインしている装置であれば、前記情報処理装置とは異なる装置にも行われることを特徴とする請求項６に記載のサーバシステムの制御方法。
【請求項８】
前記受信工程が、前記送信した印刷ジョブの実行に成功したことを示す第２の通知を受信した場合に、前記受信した第２の通知に含まれるジョブ識別情報で識別される前記印刷ジョブを削除する削除工程とをさらに有することを特徴とする請求項５乃至７の何れか１項に記載のサーバシステムの制御方法。
【請求項９】
請求項５乃至８の何れか１項に記載のサーバシステムの制御方法をサーバシステムに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステムを通した印刷における情報の通知方法に関する。
【背景技術】
【０００２】
グーグルクラウドプリント等のクラウドプリントが知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２３８９２４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
こうしたクラウドプリントの形態では、画像形成装置側で仮に印刷エラーが起きたとしても、当該印刷エラーがユーザに通知される仕組みが知られていなかった。
【課題を解決するための手段】
【０００５】
印刷ジョブを情報処理装置から受信する受信手段と、
前記受信した印刷ジョブを、前記情報処理装置にログイン中のユーザを示すユーザ識別情報と関連付けて保持する保持手段と、
画像形成装置に対して前記保持された印刷ジョブを送信する送信手段とを有し、
前記受信手段が、前記送信した印刷ジョブの実行に失敗したことを示す通知を受信した場合に、前記送信手段は、前記ユーザ識別情報で識別されるユーザがログインしている前記情報処理装置に前記送信した印刷ジョブの実行に失敗した旨の通知を行うことを特徴とするサーバシステム。
【発明の効果】
【０００６】
本願によれば、直接プリンターから情報通知を受け取ることのできないクラウドプリントの形態においても、通知を受け取ることができる。
【図面の簡単な説明】
【０００７】
【図１】コンピューターシステムのハードウェアとソフトウェアのブロック構成図
【図２】クライアントとプリンターが接続された通信環境の構成図
【図３】クラウドプリントサービスの構成図
【図４】ユーザ通知先の管理情報
【図５】コンピューター上での通知の表示例
【図６】クライアントとクラウドサービスの通知に関する登録処理のシーケンス図
【図７】印刷時の情報通知処理のシーケンス図
【図８】印刷ジョブのデータの一例
【図９】印刷ジョブの属性パラメータの一例
【図１１】プリンターの内部情報の一例
【図１０】インストール済みのプリンターの表示画面
【図１２】クラウドプリントサービスで発生したイベントの通知を行うシーケンス図
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【０００９】
図１は本発明の実施形態を示す一般的なコンピューター（情報処理装置）を用いたシステムのブロック構成図である。Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１０１は、主記憶装置１０２のＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）１０２１、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ。）１０２２あるいは補助記憶装置１０５に格納されたプログラムに従ってコンピューター１００全体の制御を行う。ＲＡＭ１０２２はＣＰＵ１０１が各処理を行う際のワークエリアとしても使用される。補助記憶装置１０５には、アプリケーション（アプリ）１０５１やデバイスアプリケーション（デバイスアプリ）１０５２、汎用プリンタードライバー１０５３、オペレーティングシステム（ＯＳ）１０５４等の各種プログラムが格納される。キーボード１０３１やマウス、タッチパネル、タッチパッドなどに代表されるポインティングデバイス１０３２等の入力機器は、入力インターフェース（Ｉ／Ｆ）１０３を通してコンピューター１００に接続される。これらの入力機器を通してユーザからのプログラムへの操作を受け付ける。出力Ｉ／Ｆ１０４にはモニター１０４１等の出力デバイスが接続され、プログラムの指示に従いモニター上にＵＩを表示する。なお、スマートフォンやタブレット端末を始めとする端末に関してはポインティングデバイス１０３２とモニター１０４１が一体となっているものがあるが、ここでは役割ごとに分離して表記を行っているだけであり、置き換えて考えてももちろん構わない。通信Ｉ／Ｆ１０６はネットワーク１０６１に接続されており、コンピューター１００の外部機器、例えば、図２のコンピューター１００１、コンピューター１００２、プリンター（画像形成装置）２０２との通信が可能である。上記モジュールは、システムバス１０７で接続され、各モジュール間でデータのやり取りが可能である。また、本発明の処理が含まれているアプリ１０５１〜１０５４は、不図示のＣＤ−ＲＯＭやＵＳＢメモリーを介して補助記憶装置１０５に追加可能である。さらにネットワーク１０６１を経由して補助記憶装置１０５に追加することも可能である。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、Ｌｏｃａｌネットワークを介して接続が為され処理が行われるシステムであってもよい。
【００１０】
図２は本発明の実施の形態におけるネットワーク１０６１の環境を簡略した図である。印刷を行う文書や画像を作成するコンピューター１００／１００１／１００２が単体もしくは複数ネットワークに接続されている。さらにプリンター２０２が単体もしくは複数ネットワークに接続されていることやＵＳＢを経由してコンピューター１００／１００１／１００２に接続されることもある。加えて、コンピューター１００は、ネットワーク上のクラウドプリントサービス３００と接続されており、クラウドプリントサービス３００を通すことで別のネットワーク管理下にあるプリンター２００、プリンター２０１とも通信することが可能である。ネットワークにはＰｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＰＡＮ）、ＬＡＮなどの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウドなど、サーバーやプリンターがインターネットを経由して接続されていても構わない。この際の通信方式は限定は行わない。例えば、ＩＥＥＥ  ８０２．１１規格に則ったワイヤレスＬＡＮでの通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信などが考えられる。あるいはＩｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  ２０００（ＩＭＴ−２０００）規格に則った携帯電話回線なども考えられる。また、ＵＳＢに関しては直接接続する形態以外にもＵＳＢハブや交換機のようなもので中継されていても構わない。
【００１１】
図３はネットワーク上のクラウドプリントサービスであるサーバシステム３００の構成図である。クラウドプリントサービス３００は、複数のサーバシステム上に構築されるインターネット上のクラウドプリントサービスである。本実施例では、それぞれのイントラネットに対して接続が可能であり、インターネットを通じてコンピューター１００やプリンター２００と接続される。クラウドプリントサービス３００は、ＩＤ（ユーザ識別情報）とＰＡＳＳＷＯＲＤを利用したアカウント管理がされており、ユーザはこのアカウントを利用してクラウドプリントサービス３００にアクセスすることができる。また、ユーザ管理されているアカウントがＯＳ１０５４のログインユーザと紐付いていてもよいし、アプリ１０５１が別途、ログイン認証を行い、ログイン中のため認証トークンを保持している場合などは、別途ＩＤやＰＡＳＳＷＯＲＤの入力は必要ない。
【００１２】
図３はクラウドプリントサービス３００の構成図である。クラウドプリントサービス３００は、インターネットを通じたクラウド上に存在するサービスであり、印刷に関連する機能を提供可能とする。本実施形態ではクラウドプリントサービス３００は、操作制御部３０１、記憶部３０２、印刷処理部３０３、画像処理部３０４、認証制御部３０５、プリントサービス制御部３０６、ユーザ管理制御部３０７、印刷通知制御部３０８を持つ。また、これらの機能がクラウドプリントサービス３００と連携する別のクラウドプリントサービスであっても構わない。以下、プリンター２００を例に記載するが、クラウドプリントサービス３００と接続可能な、プリンター２０１、プリンター２０２であっても同様の処理で実現可能である。
【００１３】
ここで、操作制御部３０１は、クラウド環境に直接アクセス可能な操作画面、あるいはＷｅｂブラウザやクラウドプリントサービス３００に対応したアプリケーションを通じて操作メニューを表示する。そして、ユーザからの指示入力を待ち受け、指示内容を他の制御部に転送する。
【００１４】
記憶部３０２は、他の制御部からの指示により、指定されたデータをクラウド上で管理された記憶領域に記憶する、あるいは記憶しているデータを読み出す。記憶部３０２が管理するデータの例として、印刷ジョブを始めとする印刷データやユーザのアカウント情報やクラウドプリントサービス３００にログインしている認証情報がある。
【００１５】
印刷処理部３０３は、印刷ジョブの印刷設定の検証処理（Ｖａｌｉｄａｔｅ）や印刷対象のコンテンツデータを各環境やプリンターが解釈可能な形式にデータ変換を行い、データ転送を行う。
【００１６】
画像処理部３０４は、印刷ジョブの印刷用の画像データや中間データにレンダリングする処理を行う。
【００１７】
認証制御部３０５は、ＩＤとＰＡＳＳＷＯＲＤを利用した認証や、ブラウザでＣｏｏｋｉｅを利用したログイン制御や、アプリケーションで認証用トークンを利用した認証処理等を行う。他にもシングルサインオンを始めとするログインセッションを共有できる仕組みであれば方法は問わない。
【００１８】
プリントサービス制御部３０６はコンピューター１００から受信した印刷要求を解釈し、印刷を何時にどのユーザから受信した、といった管理データと共に印刷ジョブの記憶や、印刷ジョブをプリンター２００に送信し、その際の通知を受信する処理を行う。
【００１９】
ユーザ管理制御部３０７は、ユーザを管理する情報を取り扱う。例えば、本実施例では図４のように、認証中のユーザ名や接続機器に関する情報を取り扱う。ここでのユーザ名はログイン認証を行ったユーザのＩＤを指す。なお、ゲストアカウントの場合には一時的な割り当てＩＤや共用のＩＤ、「Ｕｎｋｎｏｗｎ」のようなデフォルト処理で割り当てられるものであっても構わない。パスワードはユーザが認証を行うためのパスフレーズとして記載しているが、画面上をマウスやタッチ操作でなぞって行うパターン認証や、画像認証、生体認証や対象アプリの認証トークン情報にあたるデータやそのリンクであっても問題は無い。グループ情報は、そのユーザが所属している会社や部署等の情報があたる。端末情報は、ユーザがアクセスしている端末を特定する情報である。本実施例では一例として端末が接続に使用しているネットワークカードのＭＡＣアドレスを例に挙げている。その他にも、ハードディスクのボリュームシリアル番号やＯＳから取得可能であればＩＤ値、携帯端末であるならＳＩＭの情報や端末シリアル番号など、端末を一意に特定できる情報なら特に種類は問わない。加えると、ｉＯＳである場合ならｉｄｅｎｔｉｆｉｅｒＦｏｒＶｅｎｄｏｒ（ＩＤＦＶ）やＡｄｖｅｒｔｉｓｉｎｇＩｄｅｎｔｉｆｉｅｒ等の識別情報を使用するのでも良い。アクセス先の情報は本実施例ではＩＰアドレスを指すが、これもリンクやＵＲＩ等、特定の端末にアクセス可能な情報であるなら種類は問わない。
【００２０】
印刷通知制御部３０８は、印刷に関する通知を出す処理を行う。また、それに伴うユーザのＩＤ，認証情報、印刷対象のプリンターのハードウェアＩＤ（ＨＷＩＤ）、ユーザ端末のＩＰアドレス、アプリケーション情報など、通知を許可した通信機器に関する情報も保持する。
【００２１】
本実施例では、コンピューター１００がクラウドプリントサービス３００を通じてプリンター２００に対して印刷を行う。さらに、エラー等プリンター２００で発生した通知イベントをクラウドプリントサービス３００から通知を受け取り、図５の画面通知５０１の表示処理を行う。
【００２２】
この際、クライアントのコンピューター１００で通知を出す際に、未知の接続先であるクラウドプリントサービス３００との通信を受け付けるのは、セキュリティ上の問題から、デフォルトでは許可されていないことがある。このため図６では、通知を行う上で、クライアントのコンピューター１００をクラウドプリントサービス３００に登録し、情報の通知を受け付けられるよう登録するシーケンスに関する図である。なお、最初からＯＳ１０５４の仕組みとしてクラウドプリントサービス３００から通知を受ける仕組みが組み込まれているのならば、必ずしも実施が必要というわけではない。また、ブラウザの機能を使って通知を受け取る場合は、「ブラウザを立ち上げてログインしておく」等の方法で、通知の待ち受けの代替としても良い。
【００２３】
まずコンピューター１００は通知チャネルのＵＲＩの生成を行う（６０１）。例えばｈｔｔｐ：／／ｕｓｅｒ０１＠ｔｅｓｔ．ｐｃ．ｃｏｍ：８０８０／ＳａｍｐｌｅＳｅｒｖｉｃｅのようなクライアントのコンピューター１００に対してアクセス可能なＵＲＩを指す。
【００２４】
次に生成したＵＲＩをコンピューター１００に対して登録する（６０２）。この際、通知に使用するアプリケーションやサービスに対して、通知の許可が必要な場合は許可も行う。なお、通知がされた際にユーザ側に「通知を許可しますか？」といった確認を行うような設定をしている場合等、任意のタイミングでも構わない。
【００２５】
登録したＵＲＩをコンピューター１００からクラウドプリントサービス３００に送信を行い（６０３）、クラウドプリントサービス３００でもＵＲＩを保存し、登録を行う（６０４）。これらの操作により通信するためのチャネルが確率される。
【００２６】
この後、任意のタイミングでクラウドプリントサービス３００からコンピューター１００に対して、情報の通知を受ける（６０５）。
【００２７】
図７は、コンピューター１００が印刷時に情報通知を受ける処理を表すシーケンス図である。
【００２８】
まず、ここで印刷ジョブのデータの持ち方の例について図８を用いて説明する。まず、「優先度」はジョブをスケジュールするための優先度を指す。ここでは例えば１〜１００のうちの大きさの指定を行い、１００を最高の優先度とすることで、各ジョブの印刷順序の制御を行う。なお、「与えられたより高い優先度を与えない」等、適切なルールの下で運用されるのであれば、詳細は特に問わない。「印刷部数」は印刷ジョブの部数を指す。「印刷設定」は印刷に必要な設定、例えば、カラーや両面の指定、メディア情報、フィニッシング情報、印刷品質や解像度などの画質情報が格納される。本設定はＸＰＳやＰｒｉｎｔＴｉｃｋｅｔのようなＸＭＬ形式を始めとする構造化されたテキスト形式データでも、Ｄｅｖｍｏｄｅのようなバイナリ形式の印刷設定データでも構わない。「印刷コンテンツ」はＸＰＳ、ＰＤＦなどのＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ（ＰＤＬ）データや、単なるテキストや画像データでも文書データへの参照を含める形でも、転送先で解釈可能であれば、ベンダー独自のものでも構わない。また、「属性パラメータ」は、直接印刷に必要に必要なデータとは別に、印刷時の処理のやりとりのために存在するパラメータであり、図９を用いて、属性パラメータの説明を行う。この属性パラメータは、印刷データと共に印刷ジョブに付加する形で送付される。本実施例においては、ジョブの属性パラメータは「操作属性」に関するものと「ジョブオブジェクト属性」に関するものがあり、本実施例においては、特に追加で「拡張属性」も定義する。操作属性の状態コードは全体のやり取りに使用する。例えば、動作の実行に成功した（ｓｕｃｃｅｓｓｆｕｌ）、さらに動作が必要となる（ｒｅｄｉｒｅｃｔｉｏｎ）、ジョブが実行不能（ｃｌｉｅｎｔ−ｅｒｒｏｒ）、有効と思われる要求の実行に失敗（ｓｅｒｖｅｒ−ｅｒｒｏｒ）、等がある。操作属性の言語コードは通信に使用する言語や文字コードを表す。ジョブオブジェクト属性のＩＤは数値やＧＵＩＤでジョブを一意に特定するためのものである。ジョブオブジェクト属性の状態はオブジェクトの状態を示すものである。具体的な例を数点挙げると、未処理（ｐｅｎｄｉｎｇ）、処理中（ｐｒｏｃｅｓｓｉｎｇ）、中断しているが原因が解消次第再開（ｐｒｏｃｅｓｓｉｎｇ−ｓｔｏｐｐｅｄ）、Ｃａｎｃｅｌ−Ｊｏｂ操作等でキャンセルされた（ｃａｎｃｅｌｅｄ）等がある。他にも、システムの異常により終了（ａｂｏｒｔ）、ジョブの成功（ｃｏｍｐｌｅｔｅｄ）、等がある。ジョブオブジェクト属性の状態メッセージは、テキストデータを任意で書き込むことができる領域でメッセージの内容の記載に使う。
【００２９】
次に拡張属性であるが、これは本実施例で使用するメッセージ通知に関連するものとなる。「拡張属性（管理情報）」はメッセージの通知を行うクライアントのコンピューター１００に該当するもので、それぞれは図４の例で説明済みであるため、詳細は省略する。これから以下で「拡張属性（通知情報）」の各パラメータに関して補足を行う。「情報種別」は、情報がどのような種類のものであるかで、「エラー」「警告」「情報」などがそれにあたる。「通知メッセージ」は、通知する内容のテキストデータとなる。「通知先」は通知先を特定する情報で、ユーザを指定する場合は「ユーザ名」、グループを指定する場合は「グループ情報」、端末を指定する場合はＩＰアドレスなどの「アクセス先」等の情報となる。「通知範囲」は、「端末」「ユーザ」「グループ」「端末全て」等、通知する範囲を指定する。例えば「通知範囲」を「ユーザ」で、「通知先」を「ｕｓｅｒ０１」と指定することで図４の場合「ｕｓｅｒ０１」が管理する上から２つの端末に対してメッセージを飛ばす指定となる。他にも「通知範囲」を「グループ」で、「通知先」を「Ｇｒｏｕｐ００１」とすることで、「Ｇｒｏｕｐ００１」の組織でログインしている端末全てに通知を送る指定となる。
【００３０】
まず、コンピューター１００から印刷処理を行うため、ジョブの生成を行う（７０１）。ここでは、印刷に必要な「両面」「カラー」を始めとする印刷設定情報と印刷対象データとを、送信先のクラウドプリントサービス３００で解釈可能なデータ、あるいは中間データに変換する処理を行う。変換された結果をジョブと呼ぶ。この際、印刷先の指定はクラウドプリントサービス３００の仮想プリンターに対して行われる。この仮想プリンターは、クラウドプリントサービス３００が提供している印刷機能のひとつである。ユーザがクラウド環境にログインしておくと、ＡｃｔｉｖｅＤｉｒｅｃｔｏｒｙのようなサービスシステムを通じて、通常のプリンターと同じように図１０のプリンターの追加ボタン１００１から探索・追加が可能となる。また、仮想プリンターは、図１１のように他のプリンターと同様、「デバイス名」のほか、プリンターが持つ独自のＩＤである「ＨＷＩＤ」や、プリンターの「接続ポート」情報を持つ。なお、本実施例で「接続ポート」情報はＩＰアドレスの指定を行ったが、「ＷＳＤ−１２３４５６７８−ａｂｃｄ−ｅｆｇｈ−ａｂ１２３４５６７８９０」のようなＷＳＤポート指定でも構わない。また、接続先のアドレスもクラウドシステム自体のアドレスでも仮想的に割り当てられたアドレスでも構わない。コンピューターのＯＳやアプリケーションからは、図１０の仮想プリンター１００２のような形で、通常の物理プリンターと同じような形で見えており、通常のプリンターと同様に印刷ジョブを送信することで印刷が行われる。本実施例においては、仮想プリンター１００２に対して印刷処理を行う（即ち、上記ジョブを送信する）ことでプリンター２００に対してジョブを送信する。しかしながら、クラウドプリントサービス３００に一旦印刷ジョブを保存しておき、別のタイミングで印刷を行う別の方法もある。この別の方法をとる場合には、ユーザはブラウザ等でプリンター２００の仮想プリンターを提供するクラウドプリントサービス３００にログオンして自分の印刷ジョブを表示し、表示された印刷ジョブのうち印刷したい印刷ジョブを選択して印刷の指示を行う。
【００３１】
ステップ７０２では、ユーザの識別情報の生成を行う。これは、印刷ジョブに付ける図４のグループ情報や端末情報といったクラウドプリントサービス３００のユーザ管理制御部３０７で使用する情報を指す。ここで、「ユーザ名」「パスワード」「グループ情報」等の情報は、クラウドプリントサービス３００にログインした際の登録情報を元に、クラウドプリントサービス３００に問い合わせることで得る。または、コンピューター１００のシステムや対応アプリケーションの設定情報部に保存されている認証情報を元に生成される。また、「端末情報」「アクセス先」の情報はクラウドプリントサービス３００との接続に使用しているコンピューター１００のものが使用される。通常のクラウドプリントでは、印刷を行った際に印刷セッションが終了してしまうため、別途ブラウザ等で印刷の管理画面を呼び出さない限り、クラウドプリントサービス３００から印刷を行ったコンピューター１００を特定することができない。つまりコンピューター１００は、印刷ジョブを送信した後に、発生したエラーを始めとする印刷処理の詳細などの情報をクラウドプリントサービス３００から得ることが出来なかった。しかし、ここで本情報を使用することで、クラウドプリントサービス３００からコンピューター１００のような通知対象の端末を特定することが可能となる。
【００３２】
この後ステップ７０３の処理にてクラウドプリントサービス３００からの通知を受けられるよう通知の待ち受けを開始しておく。なお、ＯＳの仕組みやサービスで待ち受けを行うほか、ブラウザの機能を利用して情報の通知を受ける場合は、「ログインセッションを確立させたブラウザを立ち上げて待機状態とする」等の処理でも良い。
【００３３】
ジョブの生成とユーザの識別情報の生成を行った後は、これらの情報をまとめて、クライアントのコンピューター１００がクラウドプリントサービス３００に対して送信を行う（７０４）。
【００３４】
印刷ジョブを受信したクラウドプリントサービス３００は、受け取った印刷ジョブから印刷コンテンツのデータを抽出し、印刷先のプリンター２００で解釈可能なデータへの変換を行う（７０５）。この際、クラウドプリントサービス３００は印刷ジョブのリクエストに対しするレスポンスを返す（７０６）。次に印刷ジョブを受け取ったクラウドプリントサービス３００は、印刷ジョブの属性パラメータ情報から図９の「拡張情報（管理情報）」に該当する「グループ情報」「端末情報」や「アクセス先」等の、通知先のクライアント情報を特定するための情報を取得する。取得した情報は、ジョブＩＤ（ジョブを識別するジョブ識別情報）等のジョブ情報と関連付けて、クラウドプリントサービス３００の記憶部３０２に登録される（７０７）。プリンター２００に対して、印刷ジョブを送信し、印刷処理要求を行う（７０８）。この際、印刷ジョブの送信先である端末情報やアクセス先をプリンター２００に切り替え、必要に応じてジョブのＩＤや状態も最新のものに更新する。また、印刷コンテンツがプリンター２００で受けられないフォーマットで合った場合は、印刷コンテンツをプリンター２００の解釈可能なフォーマットに変換する。
【００３５】
印刷処理要求を受けたプリンター２００は、印刷処理（７０９）を行うが、ここで何らかの通知イベントが発生した場合（７１０）、クラウドプリントサービス３００に対して情報の通知を行う。ここで発生する通知イベントとは、例えば印刷時に発生したエラーが該当する。通知イベントが発生した場合はプリンター２００が前述の図９の「拡張属性（通知情報）」の情報を取得し、クラウドプリントサービス３００に対して情報の通知を行う（７１１）。この際の通知は、クラウドプリントサービス３００からの印刷のリクエストに対するレスポンスとして行われる。なお、印刷処理（７０９）を行ってから、印刷が完了、あるいはキャンセルされるまでの間は、クラウドプリントサービス３００では、印刷ジョブが保持される。また、完了通知を受け取った際に、クラウドプリントサービス３００上の印刷ジョブは削除される。
【００３６】
情報の通知を受け取ったクラウドプリントサービス３００は、クライアントのコンピューター１００に対して、受け取った情報の通知を行う（７１２）。この際、通知先はプリンター２００が格納した「通知範囲」や「通知先」情報（「通知範囲」が「ユーザ」で「通知先」が「ｕｓｅｒ０１」のため「ｕｓｅｒ０１に対して通知を行う」といった情報）を元に決定される。なお、その情報を図４の情報と照合することでコンピューター１００といった物理的な通知先のデバイスを特定する。なお、この際、プリンター２００が拡張属性に対応していなかった場合は、クラウドプリントサービス３００が予め定めておいたルールに従って下記の処理を行ってもよい。即ち、印刷ジョブのエラー情報や、別途独自通信処理を行って得た情報を元に「拡張属性（通知情報）」の情報を格納しても良い。
【００３７】
最後に受け取った情報を元にコンピューター１００が画面通知５０１の表示を行う（７１３）。
【００３８】
以上の処理を行うことで、クラウドプリントサービス実行時の通知情報の表示を行う。
【００３９】
なお、補足であるが、プリンター２００で発生する通知イベントは印刷時のエラーを例に説明したが、正常に終了した場合でも、例えば「トナーや用紙の残量が減っている」といったユーザに通知したい情報が合った場合は、それを通知イベントとしても構わない。
【実施例２】
【００４０】
実施例１では、クラウドプリントサービス３００での印刷時にプリンター２００で発生したエラー等の通知に関して説明したが、クラウドプリントサービス３００側でも何かしら情報の通知が必要となることがある。例えば、実施例１では印刷ジョブ内の印刷設定等は変更せずに、そのままプリンター２００に対して印刷指示を行っていた。しかし、クラウドプリントサービス３００の方が高機能な印刷設定に対応している場合や、付加的な印刷サービスをもっている等のケースも考えられる。そのような場合には、追加機能に伴う追加の印刷設定を持つこととなるため、既存の印刷ジョブの設定と追加の印刷設定との競合が発生する可能性がある。また、追加機能が無かったとしても、クラウドプリントサービス３００の方が、標準機能しか持たないクライアントのコンピューター１００に比べて、より詳細な印刷設定の検証が可能な場合もある。このような場合には、プリンター２００に印刷ジョブを送信するまでもなくエラーが発生することを予測することができるため、クラウドプリントサービス３００上でエラー情報の通知を行う。
【００４１】
図１２はクラウドプリントサービス３００で発生したイベントの通知を行うシーケンス図である。なお、ジョブの生成といった基本的な流れは図７のシーケンスと同様であるため、説明を省略する。
【００４２】
ジョブの送信（７０５）を受けたクラウドプリントサービス３００が、印刷ジョブが持たない拡張機能を持っていた場合、その設定情報の追加を行う（１２０１）。なお、ここでユーザによる追加設定の指定が必要となる場合は、別途アプリケーションやＷｅｂブラウザを立ち上げ、設定をさせても構わない。
【００４３】
次にジョブの設定情報の検証処理（Ｖａｌｉｄａｔｅ）を行う（１２０２）。この際、クラウドプリントサービス３００は別途サービスやプリンター２００と通信を行うことで追加の検証用のデータを取得しても構わない。
【００４４】
検証の結果問題が発生した場合は、クライアントのコンピューター１００に対して通知を行う（１２０３）。通知を受け取ったコンピューター１００は画面通知５０１の表示を行う（１２０４）。なお、この際、画面通知５０１をクリックすることで、問題の起きた設定を修正するための設定画面の表示を行っても良い。
【００４５】
以上に処理を行うことで、クラウドプリントサービス上で検出したエラーの通知を行うことが可能となる。
【実施例３】
【００４６】
実施例１、実施例２では、基本的にプリンター２００やクラウドプリントサービス３００上で発生した「エラー」や「警告」に関するメッセージの通知を行った。しかし、クラウドプリントサービス３００で問題が発生しない場合でもジョブの処理状態に関して「プリンター２００にてジョブが処理中です」のような通知を表示した方が適切であるケースも存在する。特にクラウドプリントサービス３００では、印刷ジョブが直接コンピューター１００上からプリンター２００に対して送信されるのではなく、間にクラウドプリントサービス３００や関連サービスが、いくつか仲介している複雑な構成となることもある。このようにサービスの形態によっては、そもそもジョブがどこにあるか分からないといった問題も考えられるため、単にジョブの状態の通知を受けるだけでも意義は大きい。
【００４７】
このため、本実施例においてはクラウドプリントサービス３００において、ジョブを受信した際、プリンターにジョブを送信する際など、ジョブの処理状態が変わった際に、コンピューター１００に通知を行う処理について述べる。
【００４８】
また、実施例１、実施例２においては、印刷時にプリンター２００を直接指定することで、印刷処理を実行していた。一方、本実施例においてはジョブを受け取った後、そのまま図７の印刷ジョブを送信する処理（７０８）に移行せず、一旦ジョブを留めておく形態について述べる。この場合、留められた印刷ジョブはユーザから指示を受ける等のトリガーを受けることでプリンター２００に送信される。
【００４９】
なお、もちろん実施例１のようにクラウドプリントサービス３００上にジョブを留めないケースにおいても、同様にジョブの処理状態の通知を行うことは可能であるものとする。
【００５０】
次に、クラウドプリントサービス３００の構成についてであるが、本願ではクラウドプリントサービス３００にプリンター２００が直接接続された構成を例に説明するが、プリンター２００が直接接続される代わりに、別のシステムが間に入った構成でも構わない。別のシステムとは例えば、プリンター２００を管理するプリントサーバや外部クラウドプリントサービスがそれに該当し、その場合はプリンター２００から発行された通知を受け、それをクラウドプリントサービス３００に対して転送する。この転送の際、もちろん外部クラウドプリントサービス上で通知情報の変換や独自情報の追加など更新をしても構わない。
【００５１】
ここから通知の処理に関して説明する。通知はクラウドプリントサービス３００がコンピューター１００に対して行うもので、クラウドプリントサービス３００が「ジョブを受信した際」「ジョブを送信する際」「一定時間ごと」「ジョブの生存期間が近づいている場合」のタイミングで通知を行う。タイミングの詳細に関しては、後述する。
【００５２】
通知が確定した場合、通知情報がコンピューター１００に送信され、『「クラウドプリントサービス３００」上で、印刷ジョブ「無題ドキュメント．ｔｘｔ」が処理中です。』のようなメッセージが画面通知５０１としてコンピューター１００上に表示される。なお、ここで対象とする機種名が確定している場合は、画面通知５０１のアイコン画像を表示する領域に機種のサムネイルを表示するなどしても構わない。
【００５３】
また、画面通知５０１をクリックすることでクラウドプリントサービス３００の管理アプリケーション、あるいは管理画面にアクセス可能なＷｅｂページが立ち上がるよう処理が登録されていても良い。加えて、画面通知５０１の上にマウスを重ねる等することで、画面通知５０１が広がって、より詳細な情報を表示するよう表示の切り替えをしても良い。ここでの詳細な情報とは、機種名、プリンターの場所、ＩＰアドレス、プリンターに登録されているコメント、共有名、「モノクロ機」等の機器の能力情報など、対象のプリンターに関するものや、印刷設定やページ数等のジョブの書誌情報に関するものである。
【００５４】
ここからは前述の通知のタイミングの詳細に関して述べる。
【００５５】
まず、「ジョブを受信した際」の処理であるが、これはコンピューター１００からジョブの送信を受け付けられる度に、「クラウドプリントサービス３００にてジョブが処理中」である旨の通知を返す。この際、別のジョブが滞留している場合は、そのジョブに関しても通知を行っても良い。
【００５６】
次に「ジョブを送信する際」の処理であるが、これはユーザがクラウドプリントサービス３００の管理画面から印刷ジョブの処理を行った場合や、プリンター２００のパネル上でのユーザ操作かプリンターのシステムがジョブの受付を行ったタイミングである。この場合、該当の「プリンター２００に対してジョブを送信しました」という旨の通知を行う。
【００５７】
次に「一定時間ごと」に行う処理であるが、これはクラウドプリントサービス３００にジョブを投入した後にジョブの処理がされなかった場合に、ユーザに「印刷を忘れていないか？」等の通知を行う目的で実施される。これはクラウドプリントサービス３００上で所定のタイミングごとにサービス内に滞留しているジョブが存在しているかの確認を行い、滞留ジョブが存在する場合に「クラウドサービス上で印刷ジョブが処理中」である旨の通知を行う。なお、通知対象のジョブが複数ある場合は、印刷ジョブをまとめて列挙する形で表示しても構わないし、ジョブの個数分通知を行っても構わない。
【００５８】
最後に、「ジョブの生存期間が近づいている場合」に関してであるが、これもクラウドプリントサービス３００上で一定時間ごとにジョブの確認処理を行うタイミングで行われるが、特に、一定時間でジョブを削除する設定がされている場合の処理となる。ジョブの存在確認の際に、さらにジョブの削除時間が近づいているような場合に、『「クラウドプリントサービス３００」上の、印刷ジョブ「無題ドキュメント．ｔｘｔ」が、「あと〇〇」で削除されます。』といった通常とは異なる通知を行う。
【００５９】
以上の処理を行うことで、クラウドプリントサービス３００上でジョブの処理状態の通知を行うことが可能となる。
【００６０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020187728.tif 000003
【図２】
2020187728.tif 000004
【図３】
2020187728.tif 000005
【図４】
2020187728.tif 000006
【図５】
2020187728.tif 000007
【図６】
2020187728.tif 000008
【図７】
2020187728.tif 000009
【図８】
2020187728.tif 000010
【図９】
2020187728.tif 000011
【図１０】
2020187728.tif 000012
【図１１】
2020187728.tif 000013
【図１２】
2020187728.tif 000014