(57)【特許請求の範囲】
【請求項１】
画像形成装置から直接又はプリントサーバを介し受信した第１イベントメッセージを第２イベントメッセージに変換してプッシュ通知サーバへ送信するプロバイダと、該画像形成装置又は該プリントサーバである送信元装置とを含み、該プッシュ通知サーバは該第２イベントメッセージに基づいて、該第２イベントメッセージに含まれるデバイストークンに対応したモバイル端末へイベントメッセージをプッシュ通知するプッシュ通知システムであって、
該送信元装置は、少なくとも状態ＩＤとこれに関係した値との組を該第１イベントメッセージに含ませ、該状態ＩＤが属する状態種別ＩＤが印刷ジョブ状態であることを示す場合、印刷ジョブデータにデバイストークンが含まれていればこれも該第１イベントメッセージに含ませ、
該プロバイダは、
購読テーブルと、
該モバイル端末からの状態種別とデバイストークンとを伴った購読登録要求に応答して、該状態種別と該デバイストークンとを含むレコードを該購読テーブルに登録する購読マネージャと、
該第１イベントメッセージの受信に応答して、該第１イベントメッセージにデバイストークンが含まれていなければ、該購読テーブルに登録されている、該第１イベントメッセージに含まれている状態ＩＤが属する状態種別ＩＤと一致する各レコードのデバイストークンと該第１イベントメッセージに含まれている該組とを含むそれぞれの第２イベントメッセージを生成して該プッシュ通知サーバへ送信する通知マネージャと、
を有することを特徴とするプッシュ通知システム。
【請求項２】
該通知マネージャは、該第１イベントメッセージにデバイストークンが含まれ、且つ、該状態種別ＩＤと該デバイストークンとを含むレコードが該購読テーブルに登録されていれば、該デバイストークンと該イベントメッセージに含まれている該組とを含む該第２イベントメッセージを生成して該プッシュ通知サーバへ送信する、
ことを特徴とする請求項１に記載のプッシュ通知システム。
【請求項３】
該プロバイダはさらに、
オペレーティングシステムの起動時又は指示入力に応答して、該送信元装置に対し、通知先アドレスとしての自装置のＩＰアドレスと通知対象としての全状態種別を示す情報とを伴って購読登録要求する購読部、
を有することを特徴とする請求項２に記載のプッシュ通知システム。
【請求項４】
該プロバイダはさらに、
状態記憶部と、
該第１イベントメッセージの受信に応答して、該第１イベントメッセージに含まれる該状態ＩＤがジョブ状態の変化を示していなければ、該状態記憶部内の、該第１イベントメッセージに含まれる状態ＩＤに対応したアドレスに、該状態ＩＤに関係した該値を書き込むことにより該状態を更新し、該状態ＩＤがジョブ状態の変化を示していれば、該状態記憶部内の、該第１イベントメッセージに含まれる該ジョブＩＤに対応するデータを、該第１イベントメッセージの内容に基づいて更新するイベントシンクと、
を有し、
該通知マネージャは、該購読マネージャが該登録を行ったことに応答して、該状態記憶部に記憶されている各状態をその状態に変化した該第１イベントメッセージの受信と見なして該第２イベントメッセージを生成し該プッシュ通知サーバへ送信する、
ことを特徴とする請求項３に記載のプッシュ通知システム。
【請求項５】
該送信元装置は、印刷ジョブの状態変化に応答して、該印刷ジョブのジョブデータに含まれるＩＰアドレスをキーとして送信元装置側購読テーブルを検索し、ヒットすれば、該状態変化の変化後の状態ＩＤと該ジョブＩＤとを含む第１イベントメッセージを、該ＩＰアドレスを宛先として送信し、この際、該ジョブデータにデバイストークンが含まれていれば、該デバイストークンも該第１イベントメッセージに含ませる、
ことを特徴とする請求項２乃至４のいずれか１つに記載のプッシュ通知システム。
【請求項６】
請求項１乃至５のいずれか１つのプッシュ通知システムを構成するプロバイダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置から直接又はプリントサーバを介し受信したイベントメッセージをプロバイダが変換してプッシュ通知サーバへ送信し、該プッシュ通知サーバがさらにモバイル端末へイベントメッセージをプッシュ通知するプッシュ通知システム及びこれを構成するプロバイダに関する。
【背景技術】
【０００２】
画像形成装置などのネットワークデバイスで発生したイベントを、ネットワークを介しホストに通知する仕様がＷＳ−Ｅｖｅｎｔｉｎｇとして定められており、これによれば、登録要求したホストに対してのみ、要求に係る種類（Ｆｉｌｔｅｒ要素）のイベントを通知すればよく、また、特別な管理装置を介する必要がない。
【０００３】
一方、ｉＰｈｏｎｅ（登録商標）には上記仕様を適用することができず、プロバイダからＡＰＮＳ（Apple Push Notification Service）を介してｉＰｈｏｎｅにメッセージをプッシュ通知する仕組みとなっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２３３９９４号公報
【非特許文献】
【０００５】
【非特許文献１】「Local NotificationおよびPush Notificationプログラミングガイド」、https://developer.apple.com/jp/devcenter/ios/library/documentation/RemoteNotificationsPG.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記仕組みを利用して、ｉＰｈｏｎｅに対しても画像形成装置で発生したイベントをプッシュ通知するため、画像形成装置に上記プロバイダを組み込もうとすると、両仕様が大きく異なるので、画像形成装置のソフトウェア構成が複雑になるとともに、既存の画像形成装置を用いることができない。
【０００７】
そこで、該プロバイダを画像形成装置の外部に配置し、該プロバイダで両仕様の一方から他方へ変換しようとすると、ｉＰｈｏｎｅに対しては画像形成装置から全て該プロバイダへ通知メッセージを送信することになるので、デバイス毎に通知先が異なるＷＳ−Ｅｖｅｎｔｉｎｇの仕様と相性が悪く、画像形成装置側のソフトウェア構成もこれに合わせて変更しなければならない。このため、画像形成装置のソフトウェア構成が複雑になる。また、１つのイベント発生に対し、購読登録された各ｉＰｈｏｎｅに対応するイベントメッセージをプロバイダに送ると、通信トラフィックが増大する。
【０００８】
本発明の目的は、このような問題点に鑑み、ＷＳ−Ｅｖｅｎｔｉｎｇとプッシュ通知仕様が異なるモバイル端末に対しても、通信トラフィックの増大を抑制しつつ、画像形成装置側の既存ソフトウェアの変更をできるだけ少なくしてプッシュ通知できるようにすることが可能なプッシュ通知システム及びこれを構成するプロバイダを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１態様では、画像形成装置から直接又はプリントサーバを介し受信した第１イベントメッセージを第２イベントメッセージに変換してプッシュ通知サーバへ送信するプロバイダと、該画像形成装置又は該プリントサーバである送信元装置とを含み、該プッシュ通知サーバは該第２イベントメッセージに基づいて、該第２イベントメッセージに含まれるデバイストークンに対応したモバイル端末へイベントメッセージをプッシュ通知するプッシュ通知システムであって、
該送信元装置は、少なくとも状態ＩＤとこれに関係した値との組を該第１イベントメッセージに含ませ、該状態が示す状態種別ＩＤが印刷ジョブ状態であることを示す場合、印刷ジョブデータにデバイストークンが含まれていればこれも該第１イベントメッセージに含ませ、
該プロバイダは、
購読テーブルと、
該モバイル端末からの状態種別とデバイストークンとを伴った購読登録要求に応答して、該状態種別と該デバイストークンとを含むレコードを該購読テーブルに登録する購読マネージャと、
該第１イベントメッセージの受信に応答して、該第１イベントメッセージにデバイストークンが含まれていなければ、該購読テーブルに登録されている、該第１イベントメッセージに含まれている状態ＩＤが属する状態種別ＩＤと一致（例えば、状態ＩＤの一部が状態種別ＩＤと一致）する各レコードのデバイストークンと該第１イベントメッセージに含まれている該組とを含むそれぞれの第２イベントメッセージを生成して該プッシュ通知サーバへ送信する通知マネージャとを有する。
【００１０】
本発明によるプッシュ通知システムの第２態様では、第１態様において、該通知マネージャは、該第１イベントメッセージにデバイストークンが含まれ、且つ、該状態種別ＩＤと該デバイストークンとを含むレコードが該購読テーブルに登録されていれば、該デバイストークンと該イベントメッセージに含まれている該組とを含む該第２イベントメッセージを生成して該プッシュ通知サーバへ送信する。
【００１１】
本発明によるプッシュ通知システムの第３態様では、第２態様において、該プロバイダはさらに、
オペレーティングシステムの起動時又は指示入力に応答して、該送信元装置に対し、通知先アドレスとしての自装置のＩＰアドレスと通知対象としての全状態種別を示す情報とを伴って購読登録要求する購読部を有する。
【００１２】
本発明によるプッシュ通知システムの第４態様では、第３態様において、該プロバイダはさらに、
状態記憶部と、
該第１イベントメッセージの受信に応答して、該第１イベントメッセージに含まれる該状態ＩＤがジョブ状態の変化を示していなければ、該状態記憶部内の、該第１イベントメッセージに含まれる状態ＩＤに対応したアドレスに、該状態ＩＤに関係した該値を書き込むことにより該状態を更新し、該状態ＩＤがジョブ状態の変化を示していれば、該状態記憶部内の、該第１イベントメッセージに含まれる該ジョブＩＤに対応するデータを、該第１イベントメッセージの内容に基づいて更新するイベントシンクと、
を有し、
該通知マネージャは、該購読マネージャが該登録を行ったことに応答して、該状態記憶部に記憶されている各状態をその状態に変化した該第１イベントメッセージの受信と見なして該第２イベントメッセージを生成し該プッシュ通知サーバへ送信する。
【００１３】
本発明によるプッシュ通知システムの第５態様では、第２乃至４態様のいずれか１つにおいて、
該送信元装置は、印刷ジョブの状態変化に応答して、該印刷ジョブのジョブデータに含まれるＩＰアドレスをキーとして送信元装置側購読テーブルを検索し、ヒットすれば、該状態変化の変化後の状態ＩＤと該ジョブＩＤとを含む第１イベントメッセージを、該ＩＰアドレスを宛先として送信し、この際、該ジョブデータにデバイストークンが含まれていれば、該デバイストークンも該第１イベントメッセージに含ませる。
【発明の効果】
【００１４】
上記第１態様の構成によれば、ＷＳ−Ｅｖｅｎｔｉｎｇとプッシュ通知仕様が異なるモバイル端末に対してもプッシュ通知可能に構成する場合に、プロバイダが該第１イベントメッセージの受信に応答して、例えば図７に示すように、該第１イベントメッセージにデバイストークンが含まれていなければ、すなわちステップＳＴ１０でジョブ状態でないと判定されれば、例えば図８の購読テーブルに登録されている、該第１イベントメッセージに含まれている状態ＩＤが属する状態種別ＩＤと一致する各レコードのデバイストークンと、該第１イベントメッセージに含まれている状態ＩＤとこれに関係した値との組とを含むそれぞれの第２イベントメッセージを生成して（ＳＴ１３）、該プッシュ通知サーバへ送信する（ＳＴ１２）ので、該送信元装置での１つのイベント発生に対し、１つの第１イベントメッセージを該プロバイダに送信すればよく、各モバイル端末に対応するイベントメッセージを該プロバイダに送信する必要がないので、通信トラフィック量の増大を抑制することができるという効果を奏する。
【００１５】
上記第２態様の構成によれば、送信元装置において、例えば図６に示すように、状態ＩＤが属する状態種別ＩＤが印刷ジョブ状態であることを示す場合（ＳＴ０）、印刷ジョブデータにデバイストークンが含まれていれば（ＳＴ２）これも第１イベントメッセージに含ませる（ＳＴ３）という、従来構成に対する簡単な変更でよいという効果を奏する。
【００１６】
上記第３態様の構成によれば、該プロバイダにおいて、オペレーティングシステムの起動時又は指示入力に応答して、該送信元装置に対し、通知先アドレスとしての自装置のＩＰアドレスと通知対象としての全状態種別を示す情報とを伴って購読登録要求するので、該送信元装置は状態変化が有った場合、そのイベントメッセージを該プロバイダに通知するだけで、個々のモバイル端末へプッシュ通知することができるという効果を奏する。
【００１７】
上記第４態様の構成によれば、該プロバイダにおいて、各第１イベントメッセージに基づき該送信元装置の現在の状態を状態記憶部に記憶しておき、該モバイル端末からの購読登録要求時に購読登録のみならず（図７のＳ７）、該状態記憶部に記憶されている各状態をその状態に変化した該第１イベントメッセージの受信と見なして該第２イベントメッセージを生成し該プッシュ通知サーバへ送信するので（Ｓ８、Ｓ９）、モバイル端末ユーザは購読登録後直ぐに該送信元装置の現在の状態を把握することができるという効果を奏する。
【００１８】
上記第５態様の構成によれば、該送信元装置が、印刷ジョブの状態変化に応答して、該印刷ジョブのジョブデータに含まれるＩＰアドレスをキーとして送信元装置側購読テーブルを検索し、ヒットすれば、該状態変化の変化後の状態ＩＤと該ジョブＩＤとを含む第１イベントメッセージを、該ＩＰアドレスを宛先として送信するので、簡単な構成で、印刷ジョブについてはその依頼元のみプッシュ通知することができ、また、イベントメッセージにジョブＩＤが含まれるので、同一文書名の印刷ジョブであっても印刷ジョブ依頼元においてそれらを区別することができるという効果を奏する。
【００１９】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。 
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例１に係るプッシュ通知システムを示す概略ブロック図である。
【図２】図１のプロバイダと画像形成装置とのハードウェア構成を示す概略ブロック図である。
【図３】図２のシステムの概略機能ブロック図である。
【図４】（Ａ）は図３中の購読テーブル６２１の構成図、（Ｂ）は状態種別のコードと名前の対応テーブルを示す図、（Ｃ）は状態のコードと名前の対応テーブルを示す図である。
【図５】画像形成装置本体部での印刷ジョブの処理と通知マネージャとの関係を示す機能ブロック図である。
【図６】図３中の通知マネージャ６２２の処理を示す概略フローチャートである。
【図７】図３中の通知マネージャ８４の処理を示す概略フローチャートである。
【図８】図３中の購読テーブル８３の構成図である。
【図９】図１に示すシステムの動作を示す概略シーケンス図である。
【図１０】（Ａ）は図３中の状態記憶部内のジョブ状態記憶部の説明図であり、（Ｂ）はジョブＩＤと文書名との関係を示す図である。
【図１１】（Ａ）はモバイル端末にプッシュ通知された時のポップアップ表示説明図であり、（Ｂ）及び（Ｃ）はこの表示に続くステータスモニタ表示の説明図である。
【実施例１】
【００２１】
図１は、本発明の実施例１に係るプッシュ通知システムを示す概略ブロック図である。
【００２２】
このシステムでは、Ｎ台のＰＣ（パーソナルコンピュータ）１０−１〜１０−Ｎと、これらで使用される画像形成装置２０とが、ＬＡＮ（ローカルエリアネットワーク）３０で結合されている。ＷＳ−Ｅｖｅｎｔｉｎｇに従って購読登録しておき、ＰＣ１０−１〜１０−Ｎの任意の装置から印刷対象のファイルと画像形成装置２０とを指定して、このファイルの内容を画像形成装置２０で印刷させ、画像形成装置２０に関する状態（印刷ジョブ状態を含む）に変化があればこれを、ＷＳ−Ｅｖｅｎｔｉｎｇに従って購読登録した装置のステータスモニタにイベントメッセージをプッシュ通知する。これにより、そのモニタウインドで状態を確認することができる。
【００２３】
ＬＡＮ３０にはまた、アクセスポイント３１を介してモバイル端末３２が結合され、モバイル端末３２からも上記同様に画像形成装置２０で印刷を行わせることができる。画像形成装置２０に関する状態の変化をモバイル端末３２にプッシュ通知可能にするため、ＬＡＮ３０にプロバイダ４０が結合され、画像形成装置２０からインターネット４１を介してプッシュ通知サーバ４２にプッシュ通知を要求することにより、プッシュ通知サーバ４２がモバイル端末３２にプッシュ通知するように構成している。
【００２４】
以下においては、モバイル端末３２がｉＰｈｏｎｅで、プッシュ通知サーバ４２がＡＰＮＳである場合を説明するが、本案は他の同様のシステムに適用してもよい。
【００２５】
図２は、図１のプロバイダ４０と画像形成装置２０とのハードウェア構成を示す概略ブロック図である。
【００２６】
画像形成装置２０では、ＣＰＵ２０１がインターフェイス２０２を介してＰＲＯＭ２０３、ＤＲＡＭ２０４、ネットワークインターフェイス２０５、補助記憶装置２０６、操作パネル２０７、スキャナ２０８、プリンタ２０９及びファックスモデム２１０に結合されている。図２では、簡単化の為に、複数種のインターフェイスを１つのブロック２０２で表している。
【００２７】
ＰＲＯＭ２０３には、ＢＩＯＳ（基本入出力システム）、ＯＳ（オペレーティングシステム）、各種ドライバ、及び、画像形成装置として機能させるための各種アプリケーションが格納されている。該アプリケーションには、図３に示す画像形成装置２０内のプッシュ通知に関する構成が含まれる。ＤＲＡＭ２０４は、主記憶装置として用いられる。補助記憶装置２０６には、印刷用データ、スキャナ２０８で読み取った画像データ、後述の補助ファイル、及びファクシミリ受信データが保存される。ネットワークインターフェイス２０５は、ＬＡＮ３０に結合されている。操作パネル２０７は、入力部及び表示部を供えている。スキャナ２０８は、画像ファイル生成のために用いられ、このファイルは印刷、ファクシミリ送信又はファイル送信のために用いられる。プリンタ２０９は、プリントエンジン並びに用紙の給紙部、搬送部及び排紙部を備えている。
【００２８】
プロバイダ４０では、ＣＰＵ４０１がインターフェイス４０２を介してＰＲＯＭ４０３、ＤＲＡＭ４０４、ネットワークインターフェイス４０５及び補助記憶装置４０６に結合されている。図２では、簡単化の為に、複数種のインターフェイスを１つのブロック４０２で表している。
【００２９】
ＰＲＯＭ４０３は、例えばフラッシュメモリであり、これにＢＩＯＳが格納されている。ＤＲＡＭ４０４は、主記憶装置として用いられる。ネットワークインターフェイス４０５は、ＬＡＮ３０に結合されている。補助記憶装置４０６には、ＯＳ、各種ドライバ及びアプリケーション並びにデータが格納されている。該アプリケーションには、図３に示すプロバイダ４０内のプッシュ通知に関するものが含まれる。
【００３０】
図３は、図２のシステムの概略機能ブロック図である。
【００３１】
プロバイダ４０において、購読部５０は、ＯＳの起動時、すなわち、ＯＳが起動して購読部５０が動作可能になった時、又は、指示入力、例えば管理者の操作により、起動され、予め定められた購読登録要求情報を、ＳＯＡＰ処理部５１を介しＸＭＬシリアライズしてＳＯＡＰリクエストメッセージとし、通信部５２内のＨＴＴＰ／ＴＣＰ／ＩＰプロトコルスタック及びＬＡＮ３０を介し画像形成装置２０に送信する。このメッセージは、画像形成装置２０の通信部６０内のＨＴＴＰ／ＴＣＰ／ＩＰプロトコルスタックを介しＳＯＡＰ処理部６１に供給されてＸＭＬデシリアライズされ、購読登録要求オブジェクトとしてイベントソース６２の購読マネージャ購読マネージャ６２０に供給される。購読マネージャ購読マネージャ６２０は、このオブジェクトに基づき、ＰＣ１０−１〜１０−Ｎからの購読登録要求と同様にして、購読テーブル６２１に購読登録する。
【００３２】
上記ＳＯＡＰリクエストメッセージには、ReplyToアドレス（購読部５０のアドレス）と、NotifyToアドレス（イベントシンク５３のアドレス）と、要求先のＩＰアドレスを含むToアドレス（購読マネージャ購読マネージャ６２０のアドレス）と、Filter要素としての状態種別コード（状態種別ＩＤ）とが含まれている。この状態種別コード（上記購読登録要求情報に含まれる状態種別コード）は、全状態を示すコードである。
【００３３】
状態の変化でイベントが発生するので、状態種別は、イベント種別でもある。
【００３４】
図４（Ａ）は、購読テーブル６２１の構成例を示す。購読マネージャ６２０は、ユニークな購読ＩＤを生成し、これと、上記購読登録要求オブジェクトに含まれている状態種別コード及びNotifyToのＩＰアドレスと、現時刻に所定値を加算した期限（通知が有効な期限）とを含むレコードを購読テーブル６２１に追加することにより、購読登録する。
【００３５】
図４（Ｂ）及び（Ｃ）はそれぞれ、状態種別テーブル及び状態テーブルを示す。この例では、状態コードは４桁であり、その上位２桁が状態種別コードとなっている。例えば、図４（Ｃ）の状態コード０１００〜０１０４は状態種別が図４（Ｂ）のジョブ状態であり、同様に、状態コード０２００〜０２０３は状態種別がトナー残量であることを示している。上記全状態は*で表される。
【００３６】
画像形成装置本体部６３でイベントが発生すると、その引数（EventArgs）を伴って通知マネージャ６２２が呼び出される。通知マネージャ６２２はこれに応答して、購読テーブル６２１を検索し、後述の通知処理を行う。
【００３７】
図５は、画像形成装置本体部６３での印刷ジョブの処理と通知マネージャ６２２との関係を示す機能ブロック図である。
【００３８】
通信部６０から受け取った印刷ジョブデータは、図２のＤＲＡＭ４０４に一時保存される。このデータには、ジョブデータ本体部に、ジョブＩＤ及び通知先ＩＤが含まれている。
【００３９】
通知先ＩＤは、通知先がＰＣ１０−１〜１０−Ｎのいずれか場合、そのＩＰアドレスであって、そのプリンタドライバで付加されたものであり、通知先がモバイル端末３２の場合、プッシュ通知サーバ４２のＩＰアドレスとモバイル端末３２のデバイストークンとの組であって、モバイル端末３２内の印刷アプリケーションにより印刷対象のファイルに付加されたものである。
【００４０】
印刷処理部７１は、印刷ジョブ状態の変化時である処理開始時、印刷停止時、印刷一時停止時、印刷再開時、印刷した用紙の排出時（印刷頁変化時）及び印刷終了時のそれぞれ時点において、イベントジェネレータ７２を呼び出す。イベントジェネレータ７２は、このようなジョブ状態の変化の場合、図５（Ｃ）に示す状態コード０１００〜０１０４のうち対応したものと、上記通知先ＩＤと、ジョブＩＤと、必要な関連情報（印刷頁変化時はその頁の値／全頁）とを含む引数（EventArgs）７３を伴って、イベントハンドラとしての通知マネージャ６２２を呼び出す。
【００４１】
イベントジェネレータ７２は、他の状態（ジョブ状態以外）の変化の場合、その変化を示す状態コードと、関連情報（例えば、トナー残量％又は給紙カセット内用紙残量％など）とを含むイベント引数７３を伴って、通知マネージャ６２２を呼び出す。
【００４２】
通知マネージャ６２２は、これらのそれぞれの呼び出しに応答して、図６に示す処理を開始する。以下、括弧内は図中のステップ識別符号である。
【００４３】
（ＳＴ０）引数７３の状態コードがジョブ状態以外を示していれば（ジョブ状態に属さなければ）、すなわち上位２桁の状態種別コードが"01"以外であれば、ステップＳＴ１へ進み、ジョブ状態であることを示していれば、ステップＳＴ２へ進む。
【００４４】
（ＳＴ１）この状態種別コードをキーとして、図４（Ａ）の購読テーブル６２１を検索し、ヒットした各行について（「全状態」の行はヒット）、現時刻がこの行の期限内であれば、そのＩＰアドレスを宛先としてイベント情報（状態コード、関連情報）を通知する。すなわちＳＯＡＰ処理部６１を介してこのイベント情報を含むＸＭＬ形式のＳＯＡＰメッセージを生成し、通信部６０のＨＴＴＰ／ＴＣＰ／ＩＰプロトコルスタックを介して宛先に送信する。次いで図６の処理を終了する。
【００４５】
（ＳＴ２）イベント引数７３の通知先ＩＤにデバイストークンが含まれていればステップＳＴ３へ進み、そうでなければステップＳＴ４へ進む。
【００４６】
（ＳＴ３）このデバイストークンをイベント通知内容に含める。
【００４７】
（ＳＴ４）イベント引数７３の状態コードの上位２桁（状態種別コード）とイベント引数７３の通知先ＩＤに含まれるＩＰアドレスとの組をキーとして、図４（Ａ）の購読テーブル６２１を検索し、現時刻が、ヒットした行（「全状態」の行はＩＰアドレスが一致すればヒット）の期限内であれば、そのＩＰアドレスを宛先としてイベント情報（状態コード、ジョブＩＤ、デバイストークン、関連情報）を通知し、図７の処理を終了する。
【００４８】
通知先がプロバイダ４０である場合、ＳＯＡＰメッセージが通信部５２のＨＴＴＰ／ＴＣＰ／ＩＰプロトコルスタックを介しＳＯＡＰ処理部５１に伝達されて、ＸＭＬデシリアライズされ、そのイベント情報オブジェクトがイベントシンク５３に供給される。
【００４９】
イベントシンク５３はこれに応答して、状態記憶部５４内の対応する状態をイベント情報で更新する。
【００５０】
状態記憶部５４は、ジョブ状態に関し図１０（Ａ）に示すようなテーブルを備えており、イベントシンク５３は、状態コードがジョブ状態のコードである場合、このテーブル上の、上記イベント情報に含まれるジョブＩＤを含む行の「状態」（状態コードが印刷頁数でない場合）を、状態コードで更新し、又は、印刷頁数（状態コードが印刷頁数の場合）を該イベント情報に含まれる印刷頁数で更新する。イベントシンク５３は、状態コードがジョブ状態以外のコードである場合、状態記憶部５４内の状態コードに対応したアドレスに、関連情報の値を書き込むことにより状態を更新する。
【００５１】
イベントシンク５３はまた、受信した内容（イベントメッセージ）を引数として通知マネージャ８４を呼び出す。
【００５２】
通知マネージャ８４はこれに応答して、図７に示す処理を開始する。
【００５３】
（ＳＴ１０）該引数の状態コードの上位２桁である状態種別コードが、ジョブ状態であることを示していれば、すなわち上位２桁の状態種別コードが"01"であれば（換言すれば、イベントメッセージにデバイストークンが含まれていれば）、ステップＳＴ１１へ進み、そうでなければ、ステップＳＴ１３へ進む。
【００５４】
（ＳＴ１１）該状態種別コードと該引数のデバイストークンとの組をキーとして、後述のように作成される図８の購読テーブル８３を検索し、現時刻が、ヒットした行の期限内であれば、このデバイストークンと、該引数の状態コード及び関連情報とを含む所定形式のメッセージオブジェクトを生成する。
【００５５】
（ＳＴ１２）該メッセージオブジェクトを引数としてＪＳＯＮ（JavaScript Object Notation）処理部８１を呼び出すことにより、このオブジェクトをＪＳＯＮ形式に変換し、それを、通信部８０内のＨＴＴＰ／ＳＳＬ／ＴＣＰ／ＩＰプロトコルスタックを介しプッシュ通知サーバ４２に送信して、図７の処理を終了する。
【００５６】
（ＳＴ１３）該状態種別コードをキーとして、図７の購読テーブル８３を検索し、ヒットした各行について、現時刻がこの行の期限内であれば、この行のデバイストークンと、該引数の状態コード及び関連情報とを含む所定形式のオブジェクトを生成し、ステップステップＳＴ１２へ進む。
【００５７】
図９は、図１に示すシステムの動作を示す概略シーケンス図である。
【００５８】
（Ｓ０）ユーザ７５は、モバイル端末３２を操作してステータスモニタ（アプリケーション）をインストールする。
【００５９】
（Ｓ１）ユーザ７５は、インストールされたステータスモニタのアイコンをタッチしてこれを起動させる。
【００６０】
（Ｓ２）このステータスモニタは、ユーザに設定画面を表示させ、ユーザはプッシュ通知対象の状態種別コードや、通知時の表示方法、通知時に音声を鳴らすか否か等の選択設定を行う。
【００６１】
（Ｓ３）ユーザの操作によりこの設定が確定すると、ステータスモニタはプッシュ通知サーバ４２に対し、通知登録を要求する。
【００６２】
（Ｓ４）プッシュ通知サーバ４２は、ＵＵＩＤ（Universally Unique Identifier）であるデバイストークンを生成し、これとモバイル端末３２のアドレスとを対応付けて登録を行う。
【００６３】
（Ｓ５）プッシュ通知サーバ４２は、このデバイストークンをモバイル端末３２に返信する。
【００６４】
（Ｓ６）ステータスモニタは、このデバイストークンを、ステップＳ２での状態種別コードとともにプロバイダ４０へ送信して、購読登録要求する。
【００６５】
（Ｓ７）この要求は図３において、通信部８０及びＪＳＯＮ処理部８１を介して購読マネージャ８２に通知され、購読マネージャ８２は図８に示すような購読テーブル８３に、状態種別コードとデバイストークンと、現時刻に所定期間を加算した期限とを含むレコードを追加登録する。状態種別コードが複数ある場合には、それぞれに対応したレコードを追加登録する。
【００６６】
（Ｓ８）購読マネージャ８２はさらに、このデバイストークンを指定して通知マネージャ８４に、状態記憶部５４の内容に基づく（状態記憶部５４に記憶されている各状態をその状態に変化したイベントメッセージの受信と見なす）イベント通知要求を行う。
【００６７】
通知マネージャ８４はこれに応答して、すなわち、通知マネージャ８４は、購読マネージャ８２が上記追加登録を行ったことに応答して、このデバイストークンをキーとして購読テーブル８３を検索し、ヒットしたそれぞれの行（但し、この段階では、ジョブ状態の行を除く）について、その状態種別コードを持つ状態記憶部５４内の各状態コード（アドレス）とその値の組をキーとキー値として読み出し、この組にデバイストークンを付加したものを所定形式のメッセージオブジェクトにし、これを引数としてＪＳＯＮ処理部８１を呼び出すことにより、このオブジェクトをＪＳＯＮ形式に変換し、それを、通信部８０内のＨＴＴＰ／ＳＳＬ／ＴＣＰ／ＩＰプロトコルスタックを介しプッシュ通知サーバ４２に送信する。すなわち、状態記憶部５４に記憶されている各状態をその状態に変化したイベントメッセージの受信と見なして、これに対応するメッセージを生成しプッシュ通知サーバ４２へ送信する。
【００６８】
（Ｓ１０）プッシュ通知サーバ４２はこれに応答して、このデバイストークンに対応したアドレスのモバイル端末３２に対し、受信したジェイソン形式のメッセージをプッシュ通知する。
【００６９】
（Ｓ１１）モバイル端末３２では、このメッセージを受け取ると、対応するアプリケーション（上記ステータスモニタ）を起動し、ステップＳ２での設定に従って、通知をポップアップ表示する。ステータスモニタは、状態記憶部５４と同様の状態記憶部を有し、プッシュ通知メッセージに基づきイベントシンク５３と同様にしてこの内容を更新する。
【００７０】
ユーザ７５は、この状態記憶部の内容に対応した後述の図１０（Ｂ）、（Ｃ）に示すような表示を見て、画像形成装置２０で印刷可能であることを確認し、印刷アプリケーションを起動し、このアプリケーションで、印刷対象のファイル及び画像形成装置２０を指定して、ｉＯＳを介し印刷要求する。このアプリケーションは、該印刷要求の前に、ＵＵＩＤのジョブＩＤを生成し、印刷対象のファイルの内容にこれと、該デバイストークンとを付加する。
【００７１】
画像形成装置２０は、受信したファイルをスプールし、順に印刷する。
【００７２】
（Ｓ１３）印刷を開始すると、図５において印刷処理部７１がイベントジェネレータ７２を呼び出すことにより印刷開始イベントが発生し、通知マネージャ６２２が呼び出される。
【００７３】
（Ｓ１４）通知マネージャ６２２はこれに応答して、上記のようにしてイベント通知処理を行う。これにより、この通知が図３においてＳＯＡＰ処理部６１、通信部６０、通信部５２及びＳＯＡＰ処理部５１を介してイベントシンク５３に伝達される。
【００７４】
（Ｓ１５）イベントシンク５３はこれに応答して、上記のように、状態記憶部５４内の対応する状態をイベント情報で更新すると共に、受信内容を引数として通知マネージャ８４を呼び出す。
【００７５】
（Ｓ１６）通知マネージャ８４により、図７の上記処理が行われて、プッシュ通知サーバ４２にＪＳＯＮ形式のメッセージが通知される。
【００７６】
（Ｓ１７）プッシュ通知サーバ４２は、上記ステップＳ１０と同様にしてこのメッセージをモバイル端末３２にプッシュ通知する。
【００７７】
（Ｓ１８）上記ステータスモニタにより、例えば図１１（Ａ）に示すようなポップアップ表示が行われる。この表示の際、図１０（Ｂ）に示すようなテーブルが用いられて、プッシュ通知メッセージに含まれるジョブＩＤが文書名に変更される。
【００７８】
図１０（Ａ）の「表示」ボタンをタッチすると、例えば図１０（Ｂ）に示すような全ジョブ状態の詳細が表示される。この表示は、モバイル端末３２から複数の印刷要求をした場合の各文書のジョブ状態と全印刷頁数に対する現在の印刷頁が示されている。文書名ｄｏｃ１．ｄｏｃ〜ｄｏｃ５．ｄｏｃの左側のアイコンはそれぞれ、ジョブ状態が印刷停止、印刷中、印刷待、印刷待、印刷待であることを示している。
【００７９】
各印刷ジョブにおいて、印刷頁数が変化する毎にイベントが発生してプッシュ通知される。但し、印刷頁数の変化に対しては上記ステータスモニタが図１０（Ａ）に示すようなポップアップ表示を行わない。
【００８０】
図１０（Ｂ）の状態で画面を左へスライドさせると、図１０（Ｃ）に示すトナー残量の状態が表示される。ＣＭＹＫ各色のトナー残量は、２５％刻みで表示され、その値が変化すると、画像形成装置２０においてイベントが発生する。
【００８１】
なお、購読テーブル６２１の期限の更新や購読の解除等は、ＷＳ−Ｅｖｅｎｔｉｎｇの仕様に従って行われ、これは、ＡＰＮＳが直接関与しない購読テーブル８３についても同様である。
【００８２】
本実施例１によれば、ＷＳ−Ｅｖｅｎｔｉｎｇとプッシュ通知仕様が異なるモバイル端末に対してもプッシュ通知可能に構成する場合に、画像形成装置２０においては、図６に示すように、状態種別コードが印刷ジョブ状態であることを示す場合（ＳＴ０）、印刷ジョブデータにデバイストークンが含まれていれば（ＳＴ２）、これもイベントメッセージに含ませる（ＳＴ３）という、従来構成に対する簡単な変更でよいという効果を奏する。
【００８３】
また、プロバイダ４０がこのイベントメッセージの受信に応答して、図７に示すように、
イベントメッセージにデバイストークンが含まれていなければ、すなわちジョブ状態でないと判定されれば（ＳＴ１０）、図８の購読テーブルに登録されている、イベントメッセージに含まれている状態ＩＤが属する状態種別ＩＤと一致する各レコードのデバイストークンと、このイベントメッセージに含まれている状態ＩＤとこれに関係した値との組とを含むそれぞれのイベントメッセージを生成して（ＳＴ１３）、プッシュ通知サーバ４０へ送信し（ＳＴ１２）、
イベントメッセージにデバイストークンが含まれ、すなわちジョブ状態と判定され（ＳＴ１０）、且つ、該状態種別コードと該デバイストークンとを含むレコードが図８の購読テーブルに登録されていれば、該デバイストークンと該イベントメッセージに含まれている該組とを含むイベントメッセージを生成して（ＳＴ１１）、プッシュ通知サーバ４０へ送信する（ＳＴ１２）ので、画像形成装置２０での１つのイベント発生に対し、１つのイベントメッセージをプロバイダ４０に送信すればよく、各モバイル端末３２に対応するイベントメッセージをプロバイダ４０に送信する必要がないので、通信トラフィック量の増大を抑制することができるという効果を奏する。
【００８４】
また、プロバイダ４０において、オペレーティングシステムの起動時又は指示入力に応答して、画像形成装置２０に対し、通知先アドレスとしての自装置のＩＰアドレスと通知対象としての全状態種別を示すコードとを伴って購読登録要求するので、画像形成装置２０は状態変化が有った場合、そのイベントメッセージをプロバイダ４０に通知するだけで、個々のモバイル端末３２へプッシュ通知することができるという効果を奏する。
【００８５】
さらに、プロバイダ４０において、受信したイベントメッセージに基づき画像形成装置２０の現在の状態を状態記憶部５４に記憶しておき、モバイル端末３２からの購読登録要求時に購読登録のみならず（図７のステップＳ７）、状態記憶部５４に記憶されている各状態をその状態に変化したイベントメッセージの受信と見なしてイベントメッセージを生成しプッシュ通知サーバ４２へ送信するので（Ｓ８、Ｓ９）、モバイル端末ユーザは購読登録後直ぐに画像形成装置２０の現在の状態を把握することができるという効果を奏する。
【００８６】
また、プロバイダ４０をＰＣ１０−１〜１０−Ｎと同様に取り扱うことができ、しかも、ＬＡＮ３０に複数のプロバイダ４０が結合されていても問題が生じない。
【００８７】
さらに、プロバイダ４０を複数のＬＡＮ３０で共通に用いることができる。この場合、図３において、通信部５２の代わりに通信部８０を用い、通信部６０についても通信部８０と同様に構成する。
【００８８】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記実施例で述べた各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【００８９】
例えば、図３の構成要素６０〜６２をプリントサーバに備え、プリントサーバで購読登録し、これとローカル接続又はネットワーク接続された画像形成装置からのイベント通知を、プリントサーバの通知マネージャを介してイベント通知する構成であってもよい。
【００９０】
また、図８の購読テーブルは、期限を含まない構成であってもよい。
【符号の説明】
【００９１】
１０−１〜１０−Ｎ  クライアントＰＣ
２０  画像形成装置
２０１、４０１  ＣＰＵ
２０２、４０２  インターフェイス
２０３、４０３  ＰＲＯＭ
２０４、４０４  ＤＲＡＭ
２０５、４０５  ネットワークインターフェイス
２０６、４０６  補助記憶装置
２０７  操作パネル
２０８  スキャナ
２０９  プリンタ
２１０  ファックスモデム
３０  ＬＡＮ
３１  アクセスポイント
３２  モバイル端末
４０  プロバイダ
４１  インターネット
４２  プッシュ通知サーバ
５０  購読部
５１、６１  ＳＯＡＰ処理部
５２、６０、８０  通信部
５３  イベントシンク
５４  状態記憶部
６２  イベントソース
６２０、８２  購読マネージャ
６２１、８３  購読テーブル
６２２、８４  通知マネージャ
６３  画像形成装置本体部
７０  ジョブデータ
７１  印刷処理部
７２  イベントジェネレータ
７３  イベント引数
８１  ＪＳＯＮ処理部
【図１】
0005612036.tif 000002
【図２】
0005612036.tif 000003
【図３】
0005612036.tif 000004
【図４】
0005612036.tif 000005
【図５】
0005612036.tif 000006
【図６】
0005612036.tif 000007
【図７】
0005612036.tif 000008
【図８】
0005612036.tif 000009
【図９】
0005612036.tif 000010
【図１０】
0005612036.tif 000011
【図１１】
0005612036.tif 000012