特許第5815822号(P5815822)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラドキュメントソリューションズ株式会社の特許一覧

<>
  • 特許5815822-プッシュ通知システム 図000002
  • 特許5815822-プッシュ通知システム 図000003
  • 特許5815822-プッシュ通知システム 図000004
  • 特許5815822-プッシュ通知システム 図000005
  • 特許5815822-プッシュ通知システム 図000006
  • 特許5815822-プッシュ通知システム 図000007
  • 特許5815822-プッシュ通知システム 図000008
  • 特許5815822-プッシュ通知システム 図000009
  • 特許5815822-プッシュ通知システム 図000010
  • 特許5815822-プッシュ通知システム 図000011
  • 特許5815822-プッシュ通知システム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5815822
(24)【登録日】2015年10月2日
(45)【発行日】2015年11月17日
(54)【発明の名称】プッシュ通知システム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20151029BHJP
   B41J 29/38 20060101ALI20151029BHJP
   H04N 1/00 20060101ALI20151029BHJP
【FI】
   G06F3/12 359
   G06F3/12 329
   G06F3/12 307
   G06F3/12 309
   G06F3/12 388
   G06F3/12 392
   B41J29/38 Z
   H04N1/00 107Z
【請求項の数】6
【全頁数】18
(21)【出願番号】特願2014-178732(P2014-178732)
(22)【出願日】2014年9月3日
(62)【分割の表示】特願2012-170450(P2012-170450)の分割
【原出願日】2012年7月31日
(65)【公開番号】特開2015-28792(P2015-28792A)
(43)【公開日】2015年2月12日
【審査請求日】2014年9月3日
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100097113
【弁理士】
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【弁理士】
【氏名又は名称】前島 幸彦
(72)【発明者】
【氏名】小熊 嵩志
【審査官】 征矢 崇
(56)【参考文献】
【文献】 特開2009−230477(JP,A)
【文献】 特開2007−009263(JP,A)
【文献】 特開2004−295440(JP,A)
【文献】 特開2008−233994(JP,A)
【文献】 特開2005−107837(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/09−3/12
B41J29/00−29/70
B41J5/00−5/52;21/00−21/18
H04N1/00
(57)【特許請求の範囲】
【請求項1】
ネットワークに結合された画像形成装置と、アクセスポイントを介して前記ネットワークに結合され、前記画像形成装置に印刷ジョブを送信して印刷を行わせるモバイル端末と、前記ネットワークに結合されたプロバイダーと、前記ネットワークに結合されたプッシュ通知サーバーとを備えたプッシュ通知システムであって、
前記画像形成装置は、
状態種別コードが含まれた状態コードと該状態コードに対応した関連情報とを含み、前記状態種別コードが印刷ジョブ状態を示す場合には前記印刷ジョブに含まれる前記モバイル端末のデバイストークンを更に含む第1イベントメッセージを生成し、
生成した前記第1イベントメッセージを前記プロバイダーに送信し、
前記プロバイダーは、
前記モバイル端末から送信された購読登録要求に応答して、前記購読登録要求に含まれる状態種別コードとデバイストークンを含むレコードを購読テーブルに登録し、
前記画像形成装置から送信された前記第1イベントメッセージに前記デバイストークンが含まれていなければ、前記購読テーブルに登録されている、前記第1イベントメッセージの前記状態コードの前記状態種別コードと一致する前記レコードの前記デバイストークンと、前記第1イベントメッセージの前記状態コードと、前記第1イベントメッセージの前記関連情報とを含む第2イベントメッセージを生成し、
前記画像形成装置から送信された前記第1イベントメッセージに前記デバイストークンが含まれていれば、前記購読テーブルに登録されている、前記第1イベントメッセージの前記状態コードの前記状態種別コードと前記第1イベントメッセージの前記デバイストークンと一致する前記レコードの前記デバイストークンと、前記第1イベントメッセージの前記状態コードと、前記第1イベントメッセージの前記関連情報とを含む第2イベントメッセージを生成し、
生成した前記第2イベントメッセージを前記プッシュ通知サーバーに送信し、
前記プッシュ通知サーバーは、
前記プロバイダーから送信された前記第2イベントメッセージに含まれる前記デバイストークンに対応した前記モバイル端末に前記第2イベントメッセージを送信する
ことを特徴とするプッシュ通知システム。
【請求項2】
前記プロバイダーは、
オペレーティングシステムの起動時又は指示入力に応答して、全状態を示す前記状態種別コードと前記プロバイダーのIPアドレスとを含む購読登録要求を前記画像形成装置に送信する
ことを特徴とする請求項1に記載のプッシュ通知システム。
【請求項3】
前記プロバイダーは、
前記第1イベントメッセージの前記状態コードの前記状態種別コードが前記印刷ジョブ状態を示さない場合、記憶領域における前記第1イベントメッセージの前記状態コードに対応したアドレスに前記第1イベントメッセージの前記関連情報を書き込み、
前記第1イベントメッセージの前記状態コードの前記状態種別コードが前記印刷ジョブ状態を示す場合、前記記憶領域における前記第1イベントメッセージに含まれるジョブIDに対応する状態コードを前記第1イベントメッセージの前記状態コードで更新する
ことを特徴とする請求項1に記載のプッシュ通知システム。
【請求項4】
前記状態種別コードが前記印刷ジョブ状態を示さない場合、前記状態種別コードは、トナー残量、及び/又は給紙トレイ用紙残量を示す
ことを特徴とする請求項1に記載のプッシュ通知システム。
【請求項5】
前記状態種別コードが前記印刷ジョブ状態を示す場合、前記状態コードは、印刷待ち、印刷中、印刷停止、印刷頁数、及び/又は印刷完了を示す
ことを特徴する請求項1に記載のプッシュ通知システム。
【請求項6】
前記状態種別コードが前記印刷ジョブ状態を示さない場合、前記状態コードは、各トナーのトナー残量、及び/又は各給紙トレイの用紙残量を示す
ことを特徴とする請求項1に記載のプッシュ通知システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置から直接又はプリントサーバーを介し受信したイベントメッセージをプロバイダーが変換してプッシュ通知サーバーへ送信し、該プッシュ通知サーバーがさらにモバイル端末へイベントメッセージをプッシュ通知するプッシュ通知システムに関する。
【背景技術】
【0002】
画像形成装置などのネットワークデバイスで発生したイベントを、ネットワークを介しホストに通知する仕様がWS−Eventingとして定められており、これによれば、登録要求したホストに対してのみ、要求に係る種類(Filter要素)のイベントを通知すればよく、また、特別な管理装置を介する必要がない。
【0003】
一方、iPhone(登録商標)には上記仕様を適用することができず、プロバイダーからAPNS(Apple Push Notification Service)を介してiPhoneにメッセージをプッシュ通知する仕組みとなっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−233994号公報
【非特許文献】
【0005】
【非特許文献1】「Local NotificationおよびPush Notificationプログラミングガイド」、https://developer.apple.com/jp/devcenter/ios/library/documentation/RemoteNotificationsPG.pdf
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記仕組みを利用して、iPhoneに対しても画像形成装置で発生したイベントをプッシュ通知するため、画像形成装置に上記プロバイダーを組み込もうとすると、両仕様が大きく異なるので、画像形成装置のソフトウェア構成が複雑になるとともに、既存の画像形成装置を用いることができない。
【0007】
そこで、該プロバイダーを画像形成装置の外部に配置し、該プロバイダーで両仕様の一方から他方へ変換しようとすると、iPhoneに対しては画像形成装置から全て該プロバイダーへ通知メッセージを送信することになるので、デバイス毎に通知先が異なるWS−Eventingの仕様と相性が悪く、画像形成装置側のソフトウェア構成もこれに合わせて変更しなければならない。このため、画像形成装置のソフトウェア構成が複雑になる。また、1つのイベント発生に対し、購読登録された各iPhoneに対応するイベントメッセージをプロバイダーに送ると、通信トラフィックが増大する。
【0008】
本発明の目的は、このような問題点に鑑み、WS−Eventingとプッシュ通知仕様が異なるモバイル端末に対しても、通信トラフィックの増大を抑制しつつ、画像形成装置側の既存ソフトウェアの変更をできるだけ少なくしてプッシュ通知できるようにすることが可能なプッシュ通知システムを提供することにある。
【課題を解決するための手段】
【0009】
本発明は、ネットワークに結合された画像形成装置と、アクセスポイントを介して前記ネットワークに結合され、前記画像形成装置に印刷ジョブを送信して印刷を行わせるモバイル端末と、前記ネットワークに結合されたプロバイダーと、前記ネットワークに結合されたプッシュ通知サーバーとを備えたプッシュ通知システムであって、前記画像形成装置は、状態種別コードが含まれた状態コードと該状態コードに対応した関連情報とを含み、前記状態種別コードが印刷ジョブ状態を示す場合には前記印刷ジョブに含まれる前記モバイル端末のデバイストークンを更に含む第1イベントメッセージを生成し、生成した前記第1イベントメッセージを前記プロバイダーに送信し、前記プロバイダーは、前記モバイル端末から送信された購読登録要求に応答して、前記購読登録要求に含まれる状態種別コードとデバイストークンを含むレコードを購読テーブルに登録し、前記画像形成装置から送信された前記第1イベントメッセージに前記デバイストークンが含まれていなければ、前記購読テーブルに登録されている、前記第1イベントメッセージの前記状態コードの前記状態種別コードと一致する前記レコードの前記デバイストークンと、前記第1イベントメッセージの前記状態コードと、前記第1イベントメッセージの前記関連情報とを含む第2イベントメッセージを生成し、前記画像形成装置から送信された前記第1イベントメッセージに前記デバイストークンが含まれていれば、前記購読テーブルに登録されている、前記第1イベントメッセージの前記状態コードの前記状態種別コードと前記第1イベントメッセージの前記デバイストークンと一致する前記レコードの前記デバイストークンと、前記第1イベントメッセージの前記状態コードと、前記第1イベントメッセージの前記関連情報とを含む第2イベントメッセージを生成し、生成した前記第2イベントメッセージを前記プッシュ通知サーバーに送信し、前記プッシュ通知サーバーは、前記プロバイダーから送信された前記第2イベントメッセージに含まれる前記デバイストークンに対応した前記モバイル端末に前記第2イベントメッセージを送信することを特徴とする。
また、前記プロバイダーは、オペレーティングシステムの起動時又は指示入力に応答して、全状態を示す前記状態種別コードと前記プロバイダーのIPアドレスとを含む購読登録要求を前記画像形成装置に送信してもよい。
また、前記プロバイダーは、前記第1イベントメッセージの前記状態コードの前記状態種別コードが前記印刷ジョブ状態を示さない場合、記憶領域における前記第1イベントメッセージの前記状態コードに対応したアドレスに前記第1イベントメッセージの前記関連情報を書き込み、前記第1イベントメッセージの前記状態コードの前記状態種別コードが前記印刷ジョブ状態を示す場合、前記記憶領域における前記第1イベントメッセージに含まれるジョブIDに対応する状態コードを前記第1イベントメッセージの前記状態コードで更新してもよい。
また、前記状態種別コードが前記印刷ジョブ状態を示さない場合、前記状態種別コードは、トナー残量、及び/又は給紙トレイ用紙残量を示してもよい。
また、前記状態種別コードが前記印刷ジョブ状態を示す場合、前記状態コードは、印刷待ち、印刷中、印刷停止、印刷頁数、及び/又は印刷完了を示してもよい。
また、前記状態種別コードが前記印刷ジョブ状態を示さない場合、前記状態コードは、各トナーのトナー残量、及び/又は各給紙トレイの用紙残量を示してもよい。
【発明の効果】
【0010】
本発明によれば、WS−Eventingとプッシュ通知仕様が異なるモバイル端末に対しても、通信トラフィックの増大を抑制しつつ、画像形成装置側の既存ソフトウェアの変更をできるだけ少なくしてプッシュ通知できるようにすることが可能なプッシュ通知システムを提供できる。
【0011】
本発明の他の目的、特徴的な構成及び効果は、以下の説明を特許請求の範囲及び図面の記載と関係づけて読むことにより明らかになる。
【図面の簡単な説明】
【0012】
図1】本発明の実施例1に係るプッシュ通知システムを示す概略ブロック図である。
図2図1のプロバイダーと画像形成装置とのハードウェア構成を示す概略ブロック図である。
図3図2のシステムの概略機能ブロック図である。
図4】(A)は図3中の購読テーブル621の構成図、(B)は状態種別のコードと名前の対応テーブルを示す図、(C)は状態のコードと名前の対応テーブルを示す図である。
図5】画像形成装置本体部での印刷ジョブの処理と通知マネージャとの関係を示す機能ブロック図である。
図6図3中の通知マネージャ622の処理を示す概略フローチャートである。
図7図3中の通知マネージャ84の処理を示す概略フローチャートである。
図8図3中の購読テーブル83の構成図である。
図9図1に示すシステムの動作を示す概略シーケンス図である。
図10】(A)は図3中の状態記憶部内のジョブ状態記憶部の説明図であり、(B)はジョブIDと文書名との関係を示す図である。
図11】(A)はモバイル端末にプッシュ通知された時のポップアップ表示説明図であり、(B)及び(C)はこの表示に続くステータスモニタ表示の説明図である。
【実施例1】
【0013】
図1は、本発明の実施例1に係るプッシュ通知システムを示す概略ブロック図である。
【0014】
このシステムでは、N台のPC(パーソナルコンピュータ)10−1〜10−Nと、これらで使用される画像形成装置20とが、LAN(ローカルエリアネットワーク)30で結合されている。WS−Eventingに従って購読登録しておき、PC10−1〜10−Nの任意の装置から印刷対象のファイルと画像形成装置20とを指定して、このファイルの内容を画像形成装置20で印刷させ、画像形成装置20に関する状態(印刷ジョブ状態を含む)に変化があればこれを、WS−Eventingに従って購読登録した装置のステータスモニタにイベントメッセージをプッシュ通知する。これにより、そのモニタウインドで状態を確認することができる。
【0015】
LAN30にはまた、アクセスポイント31を介してモバイル端末32が結合され、モバイル端末32からも上記同様に画像形成装置20で印刷を行わせることができる。画像形成装置20に関する状態の変化をモバイル端末32にプッシュ通知可能にするため、LAN30にプロバイダー40が結合され、画像形成装置20からインターネット41を介してプッシュ通知サーバー42にプッシュ通知を要求することにより、プッシュ通知サーバー42がモバイル端末32にプッシュ通知するように構成している。
【0016】
以下においては、モバイル端末32がiPhoneで、プッシュ通知サーバー42がAPNSである場合を説明するが、本案は他の同様のシステムに適用してもよい。
【0017】
図2は、図1のプロバイダー40と画像形成装置20とのハードウェア構成を示す概略ブロック図である。
【0018】
画像形成装置20では、CPU201がインターフェイス202を介してPROM203、DRAM204、ネットワークインターフェイス205、補助記憶装置206、操作パネル207、スキャナ208、プリンタ209及びファックスモデム210に結合されている。図2では、簡単化の為に、複数種のインターフェイスを1つのブロック202で表している。
【0019】
PROM203には、BIOS(基本入出力システム)、OS(オペレーティングシステム)、各種ドライバ、及び、画像形成装置として機能させるための各種アプリケーションが格納されている。該アプリケーションには、図3に示す画像形成装置20内のプッシュ通知に関する構成が含まれる。DRAM204は、主記憶装置として用いられる。補助記憶装置206には、印刷用データ、スキャナ208で読み取った画像データ、後述の補助ファイル、及びファクシミリ受信データが保存される。ネットワークインターフェイス205は、LAN30に結合されている。操作パネル207は、入力部及び表示部を供えている。スキャナ208は、画像ファイル生成のために用いられ、このファイルは印刷、ファクシミリ送信又はファイル送信のために用いられる。プリンタ209は、プリントエンジン並びに用紙の給紙部、搬送部及び排紙部を備えている。
【0020】
プロバイダー40では、CPU401がインターフェイス402を介してPROM403、DRAM404、ネットワークインターフェイス405及び補助記憶装置406に結合されている。図2では、簡単化の為に、複数種のインターフェイスを1つのブロック402で表している。
【0021】
PROM403は、例えばフラッシュメモリであり、これにBIOSが格納されている。DRAM404は、主記憶装置として用いられる。ネットワークインターフェイス405は、LAN30に結合されている。補助記憶装置406には、OS、各種ドライバ及びアプリケーション並びにデータが格納されている。該アプリケーションには、図3に示すプロバイダー40内のプッシュ通知に関するものが含まれる。
【0022】
図3は、図2のシステムの概略機能ブロック図である。
【0023】
プロバイダー40において、購読部50は、OSの起動時、すなわち、OSが起動して購読部50が動作可能になった時、又は、指示入力、例えば管理者の操作により、起動され、予め定められた購読登録要求情報を、SOAP処理部51を介しXMLシリアライズしてSOAPリクエストメッセージとし、通信部52内のHTTP/TCP/IPプロトコルスタック及びLAN30を介し画像形成装置20に送信する。このメッセージは、画像形成装置20の通信部60内のHTTP/TCP/IPプロトコルスタックを介しSOAP処理部61に供給されてXMLデシリアライズされ、購読登録要求オブジェクトとしてイベントソース62の購読マネージャ購読マネージャ620に供給される。購読マネージャ購読マネージャ620は、このオブジェクトに基づき、PC10−1〜10−Nからの購読登録要求と同様にして、購読テーブル621に購読登録する。
【0024】
上記SOAPリクエストメッセージには、ReplyToアドレス(購読部50のアドレス)と、NotifyToアドレス(イベントシンク53のアドレス)と、要求先のIPアドレスを含むToアドレス(購読マネージャ購読マネージャ620のアドレス)と、Filter要素としての状態種別コード(状態種別ID)とが含まれている。この状態種別コード(上記購読登録要求情報に含まれる状態種別コード)は、全状態を示すコードである。
【0025】
状態の変化でイベントが発生するので、状態種別は、イベント種別でもある。
【0026】
図4(A)は、購読テーブル621の構成例を示す。購読マネージャ620は、ユニークな購読IDを生成し、これと、上記購読登録要求オブジェクトに含まれている状態種別コード及びNotifyToのIPアドレスと、現時刻に所定値を加算した期限(通知が有効な期限)とを含むレコードを購読テーブル621に追加することにより、購読登録する。
【0027】
図4(B)及び(C)はそれぞれ、状態種別テーブル及び状態テーブルを示す。この例では、状態コードは4桁であり、その上位2桁が状態種別コードとなっている。例えば、図4(C)の状態コード0100〜0104は状態種別が図4(B)のジョブ状態であり、同様に、状態コード0200〜0203は状態種別がトナー残量であることを示している。上記全状態は*で表される。
【0028】
画像形成装置本体部63でイベントが発生すると、その引数(EventArgs)を伴って通知マネージャ622が呼び出される。通知マネージャ622はこれに応答して、購読テーブル621を検索し、後述の通知処理を行う。
【0029】
図5は、画像形成装置本体部63での印刷ジョブの処理と通知マネージャ622との関係を示す機能ブロック図である。
【0030】
通信部60から受け取った印刷ジョブデータは、図2のDRAM404に一時保存される。このデータには、ジョブデータ本体部に、ジョブID及び通知先IDが含まれている。
【0031】
通知先IDは、通知先がPC10−1〜10−Nのいずれか場合、そのIPアドレスであって、そのプリンタドライバで付加されたものであり、通知先がモバイル端末32の場合、プッシュ通知サーバー42のIPアドレスとモバイル端末32のデバイストークンとの組であって、モバイル端末32内の印刷アプリケーションにより印刷対象のファイルに付加されたものである。
【0032】
印刷処理部71は、印刷ジョブ状態の変化時である処理開始時、印刷停止時、印刷一時停止時、印刷再開時、印刷した用紙の排出時(印刷頁変化時)及び印刷終了時のそれぞれ時点において、イベントジェネレータ72を呼び出す。イベントジェネレータ72は、このようなジョブ状態の変化の場合、図5(C)に示す状態コード0100〜0104のうち対応したものと、上記通知先IDと、ジョブIDと、必要な関連情報(印刷頁変化時はその頁の値/全頁)とを含む引数(EventArgs)73を伴って、イベントハンドラとしての通知マネージャ622を呼び出す。
【0033】
イベントジェネレータ72は、他の状態(ジョブ状態以外)の変化の場合、その変化を示す状態コードと、関連情報(例えば、トナー残量%又は給紙カセット内用紙残量%など)とを含むイベント引数73を伴って、通知マネージャ622を呼び出す。
【0034】
通知マネージャ622は、これらのそれぞれの呼び出しに応答して、図6に示す処理を開始する。以下、括弧内は図中のステップ識別符号である。
【0035】
(ST0)引数73の状態コードがジョブ状態以外を示していれば(ジョブ状態に属さなければ)、すなわち上位2桁の状態種別コードが"01"以外であれば、ステップST1へ進み、ジョブ状態であることを示していれば、ステップST2へ進む。
【0036】
(ST1)この状態種別コードをキーとして、図4(A)の購読テーブル621を検索し、ヒットした各行について(「全状態」の行はヒット)、現時刻がこの行の期限内であれば、そのIPアドレスを宛先としてイベント情報(状態コード、関連情報)を通知する。すなわちSOAP処理部61を介してこのイベント情報を含むXML形式のSOAPメッセージを生成し、通信部60のHTTP/TCP/IPプロトコルスタックを介して宛先に送信する。次いで図6の処理を終了する。
【0037】
(ST2)イベント引数73の通知先IDにデバイストークンが含まれていればステップST3へ進み、そうでなければステップST4へ進む。
【0038】
(ST3)このデバイストークンをイベント通知内容に含める。
【0039】
(ST4)イベント引数73の状態コードの上位2桁(状態種別コード)とイベント引数73の通知先IDに含まれるIPアドレスとの組をキーとして、図4(A)の購読テーブル621を検索し、現時刻が、ヒットした行(「全状態」の行はIPアドレスが一致すればヒット)の期限内であれば、そのIPアドレスを宛先としてイベント情報(状態コード、ジョブID、デバイストークン、関連情報)を通知し、図7の処理を終了する。
【0040】
通知先がプロバイダー40である場合、SOAPメッセージが通信部52のHTTP/TCP/IPプロトコルスタックを介しSOAP処理部51に伝達されて、XMLデシリアライズされ、そのイベント情報オブジェクトがイベントシンク53に供給される。
【0041】
イベントシンク53はこれに応答して、状態記憶部54内の対応する状態をイベント情報で更新する。
【0042】
状態記憶部54は、ジョブ状態に関し図10(A)に示すようなテーブルを備えており、イベントシンク53は、状態コードがジョブ状態のコードである場合、このテーブル上の、上記イベント情報に含まれるジョブIDを含む行の「状態」(状態コードが印刷頁数でない場合)を、状態コードで更新し、又は、印刷頁数(状態コードが印刷頁数の場合)を該イベント情報に含まれる印刷頁数で更新する。イベントシンク53は、状態コードがジョブ状態以外のコードである場合、状態記憶部54内の状態コードに対応したアドレスに、関連情報の値を書き込むことにより状態を更新する。
【0043】
イベントシンク53はまた、受信した内容(イベントメッセージ)を引数として通知マネージャ84を呼び出す。
【0044】
通知マネージャ84はこれに応答して、図7に示す処理を開始する。
【0045】
(ST10)該引数の状態コードの上位2桁である状態種別コードが、ジョブ状態であることを示していれば、すなわち上位2桁の状態種別コードが"01"であれば(換言すれば、イベントメッセージにデバイストークンが含まれていれば)、ステップST11へ進み、そうでなければ、ステップST13へ進む。
【0046】
(ST11)該状態種別コードと該引数のデバイストークンとの組をキーとして、後述のように作成される図8の購読テーブル83を検索し、現時刻が、ヒットした行の期限内であれば、このデバイストークンと、該引数の状態コード及び関連情報とを含む所定形式のメッセージオブジェクトを生成する。
【0047】
(ST12)該メッセージオブジェクトを引数としてJSON(JavaScript(登録商標) Object Notation)処理部81を呼び出すことにより、このオブジェクトをJSON形式に変換し、それを、通信部80内のHTTP/SSL/TCP/IPプロトコルスタックを介しプッシュ通知サーバー42に送信して、図7の処理を終了する。
【0048】
(ST13)該状態種別コードをキーとして、図7の購読テーブル83を検索し、ヒットした各行について、現時刻がこの行の期限内であれば、この行のデバイストークンと、該引数の状態コード及び関連情報とを含む所定形式のオブジェクトを生成し、ステップステップST12へ進む。
【0049】
図9は、図1に示すシステムの動作を示す概略シーケンス図である。
【0050】
(S0)ユーザ75は、モバイル端末32を操作してステータスモニタ(アプリケーション)をインストールする。
【0051】
(S1)ユーザ75は、インストールされたステータスモニタのアイコンをタッチしてこれを起動させる。
【0052】
(S2)このステータスモニタは、ユーザに設定画面を表示させ、ユーザはプッシュ通知対象の状態種別コードや、通知時の表示方法、通知時に音声を鳴らすか否か等の選択設定を行う。
【0053】
(S3)ユーザの操作によりこの設定が確定すると、ステータスモニタはプッシュ通知サーバー42に対し、通知登録を要求する。
【0054】
(S4)プッシュ通知サーバー42は、UUID(Universally Unique Identifier)であるデバイストークンを生成し、これとモバイル端末32のアドレスとを対応付けて登録を行う。
【0055】
(S5)プッシュ通知サーバー42は、このデバイストークンをモバイル端末32に返信する。
【0056】
(S6)ステータスモニタは、このデバイストークンを、ステップS2での状態種別コードとともにプロバイダー40へ送信して、購読登録要求する。
【0057】
(S7)この要求は図3において、通信部80及びJSON処理部81を介して購読マネージャ82に通知され、購読マネージャ82は図8に示すような購読テーブル83に、状態種別コードとデバイストークンと、現時刻に所定期間を加算した期限とを含むレコードを追加登録する。状態種別コードが複数ある場合には、それぞれに対応したレコードを追加登録する。
【0058】
(S8)購読マネージャ82はさらに、このデバイストークンを指定して通知マネージャ84に、状態記憶部54の内容に基づく(状態記憶部54に記憶されている各状態をその状態に変化したイベントメッセージの受信と見なす)イベント通知要求を行う。
【0059】
通知マネージャ84はこれに応答して、すなわち、通知マネージャ84は、購読マネージャ82が上記追加登録を行ったことに応答して、このデバイストークンをキーとして購読テーブル83を検索し、ヒットしたそれぞれの行(但し、この段階では、ジョブ状態の行を除く)について、その状態種別コードを持つ状態記憶部54内の各状態コード(アドレス)とその値の組をキーとキー値として読み出し、この組にデバイストークンを付加したものを所定形式のメッセージオブジェクトにし、これを引数としてJSON処理部81を呼び出すことにより、このオブジェクトをJSON形式に変換し、それを、通信部80内のHTTP/SSL/TCP/IPプロトコルスタックを介しプッシュ通知サーバー42に送信する。すなわち、状態記憶部54に記憶されている各状態をその状態に変化したイベントメッセージの受信と見なして、これに対応するメッセージを生成しプッシュ通知サーバー42へ送信する。
【0060】
(S10)プッシュ通知サーバー42はこれに応答して、このデバイストークンに対応したアドレスのモバイル端末32に対し、受信したジェイソン形式のメッセージをプッシュ通知する。
【0061】
(S11)モバイル端末32では、このメッセージを受け取ると、対応するアプリケーション(上記ステータスモニタ)を起動し、ステップS2での設定に従って、通知をポップアップ表示する。ステータスモニタは、状態記憶部54と同様の状態記憶部を有し、プッシュ通知メッセージに基づきイベントシンク53と同様にしてこの内容を更新する。
【0062】
ユーザ75は、この状態記憶部の内容に対応した後述の図10(B)、(C)に示すような表示を見て、画像形成装置20で印刷可能であることを確認し、印刷アプリケーションを起動し、このアプリケーションで、印刷対象のファイル及び画像形成装置20を指定して、iOSを介し印刷要求する。このアプリケーションは、該印刷要求の前に、UUIDのジョブIDを生成し、印刷対象のファイルの内容にこれと、該デバイストークンとを付加する。
【0063】
画像形成装置20は、受信したファイルをスプールし、順に印刷する。
【0064】
(S13)印刷を開始すると、図5において印刷処理部71がイベントジェネレータ72を呼び出すことにより印刷開始イベントが発生し、通知マネージャ622が呼び出される。
【0065】
(S14)通知マネージャ622はこれに応答して、上記のようにしてイベント通知処理を行う。これにより、この通知が図3においてSOAP処理部61、通信部60、通信部52及びSOAP処理部51を介してイベントシンク53に伝達される。
【0066】
(S15)イベントシンク53はこれに応答して、上記のように、状態記憶部54内の対応する状態をイベント情報で更新すると共に、受信内容を引数として通知マネージャ84を呼び出す。
【0067】
(S16)通知マネージャ84により、図7の上記処理が行われて、プッシュ通知サーバー42にJSON形式のメッセージが通知される。
【0068】
(S17)プッシュ通知サーバー42は、上記ステップS10と同様にしてこのメッセージをモバイル端末32にプッシュ通知する。
【0069】
(S18)上記ステータスモニタにより、例えば図11(A)に示すようなポップアップ表示が行われる。この表示の際、図10(B)に示すようなテーブルが用いられて、プッシュ通知メッセージに含まれるジョブIDが文書名に変更される。
【0070】
図10(A)の「表示」ボタンをタッチすると、例えば図10(B)に示すような全ジョブ状態の詳細が表示される。この表示は、モバイル端末32から複数の印刷要求をした場合の各文書のジョブ状態と全印刷頁数に対する現在の印刷頁が示されている。文書名doc1.doc〜doc5.docの左側のアイコンはそれぞれ、ジョブ状態が印刷停止、印刷中、印刷待、印刷待、印刷待であることを示している。
【0071】
各印刷ジョブにおいて、印刷頁数が変化する毎にイベントが発生してプッシュ通知される。但し、印刷頁数の変化に対しては上記ステータスモニタが図10(A)に示すようなポップアップ表示を行わない。
【0072】
図10(B)の状態で画面を左へスライドさせると、図10(C)に示すトナー残量の状態が表示される。CMYK各色のトナー残量は、25%刻みで表示され、その値が変化すると、画像形成装置20においてイベントが発生する。
【0073】
なお、購読テーブル621の期限の更新や購読の解除等は、WS−Eventingの仕様に従って行われ、これは、APNSが直接関与しない購読テーブル83についても同様である。
【0074】
本実施例1によれば、WS−Eventingとプッシュ通知仕様が異なるモバイル端末に対してもプッシュ通知可能に構成する場合に、画像形成装置20においては、図6に示すように、状態種別コードが印刷ジョブ状態であることを示す場合(ST0)、印刷ジョブデータにデバイストークンが含まれていれば(ST2)、これもイベントメッセージに含ませる(ST3)という、従来構成に対する簡単な変更でよいという効果を奏する。
【0075】
また、プロバイダー40がこのイベントメッセージの受信に応答して、図7に示すように、
イベントメッセージにデバイストークンが含まれていなければ、すなわちジョブ状態でないと判定されれば(ST10)、図8の購読テーブルに登録されている、イベントメッセージに含まれている状態IDが属する状態種別IDと一致する各レコードのデバイストークンと、このイベントメッセージに含まれている状態IDとこれに関係した値との組とを含むそれぞれのイベントメッセージを生成して(ST13)、プッシュ通知サーバー40へ送信し(ST12)、
イベントメッセージにデバイストークンが含まれ、すなわちジョブ状態と判定され(ST10)、且つ、該状態種別コードと該デバイストークンとを含むレコードが図8の購読テーブルに登録されていれば、該デバイストークンと該イベントメッセージに含まれている該組とを含むイベントメッセージを生成して(ST11)、プッシュ通知サーバー40へ送信する(ST12)ので、画像形成装置20での1つのイベント発生に対し、1つのイベントメッセージをプロバイダー40に送信すればよく、各モバイル端末32に対応するイベントメッセージをプロバイダー40に送信する必要がないので、通信トラフィック量の増大を抑制することができるという効果を奏する。
【0076】
また、プロバイダー40において、オペレーティングシステムの起動時又は指示入力に応答して、画像形成装置20に対し、通知先アドレスとしての自装置のIPアドレスと通知対象としての全状態種別を示すコードとを伴って購読登録要求するので、画像形成装置20は状態変化が有った場合、そのイベントメッセージをプロバイダー40に通知するだけで、個々のモバイル端末32へプッシュ通知することができるという効果を奏する。
【0077】
さらに、プロバイダー40において、受信したイベントメッセージに基づき画像形成装置20の現在の状態を状態記憶部54に記憶しておき、モバイル端末32からの購読登録要求時に購読登録のみならず(図7のステップS7)、状態記憶部54に記憶されている各状態をその状態に変化したイベントメッセージの受信と見なしてイベントメッセージを生成しプッシュ通知サーバー42へ送信するので(S8、S9)、モバイル端末ユーザは購読登録後直ぐに画像形成装置20の現在の状態を把握することができるという効果を奏する。
【0078】
また、プロバイダー40をPC10−1〜10−Nと同様に取り扱うことができ、しかも、LAN30に複数のプロバイダー40が結合されていても問題が生じない。
【0079】
さらに、プロバイダー40を複数のLAN30で共通に用いることができる。この場合、図3において、通信部52の代わりに通信部80を用い、通信部60についても通信部80と同様に構成する。
【0080】
以上において、プッシュ通知システムの第1態様では、画像形成装置から直接又はプリントサーバーを介し受信した第1イベントメッセージを第2イベントメッセージに変換してプッシュ通知サーバーへ送信するプロバイダーと、該画像形成装置又は該プリントサーバーである送信元装置とを含み、該プッシュ通知サーバーは該第2イベントメッセージに基づいて、該第2イベントメッセージに含まれるデバイストークンに対応したモバイル端末へイベントメッセージをプッシュ通知するプッシュ通知システムであって、該送信元装置は、少なくとも状態IDとこれに関係した値との組を該第1イベントメッセージに含ませ、該状態が示す状態種別IDが印刷ジョブ状態であることを示す場合、印刷ジョブデータにデバイストークンが含まれていればこれも該第1イベントメッセージに含ませ、該プロバイダーは、購読テーブルと、該モバイル端末からの状態種別とデバイストークンとを伴った購読登録要求に応答して、該状態種別と該デバイストークンとを含むレコードを該購読テーブルに登録する購読マネージャと、該第1イベントメッセージの受信に応答して、該第1イベントメッセージにデバイストークンが含まれていなければ、該購読テーブルに登録されている、該第1イベントメッセージに含まれている状態IDが属する状態種別IDと一致(例えば、状態IDの一部が状態種別IDと一致)する各レコードのデバイストークンと該第1イベントメッセージに含まれている該組とを含むそれぞれの第2イベントメッセージを生成して該プッシュ通知サーバーへ送信する通知マネージャとを有する。
【0081】
また、プッシュ通知システムの第2態様では、第1態様において、該通知マネージャは、該第1イベントメッセージにデバイストークンが含まれ、且つ、該状態種別IDと該デバイストークンとを含むレコードが該購読テーブルに登録されていれば、該デバイストークンと該イベントメッセージに含まれている該組とを含む該第2イベントメッセージを生成して該プッシュ通知サーバーへ送信する。
【0082】
また、プッシュ通知システムの第3態様では、第2態様において、該プロバイダーはさらに、オペレーティングシステムの起動時又は指示入力に応答して、該送信元装置に対し、通知先アドレスとしての自装置のIPアドレスと通知対象としての全状態種別を示す情報とを伴って購読登録要求する購読部を有する。
【0083】
また、プッシュ通知システムの第4態様では、第3態様において、該プロバイダーはさらに、状態記憶部と、該第1イベントメッセージの受信に応答して、該第1イベントメッセージに含まれる該状態IDがジョブ状態の変化を示していなければ、該状態記憶部内の、該第1イベントメッセージに含まれる状態IDに対応したアドレスに、該状態IDに関係した該値を書き込むことにより該状態を更新し、該状態IDがジョブ状態の変化を示していれば、該状態記憶部内の、該第1イベントメッセージに含まれる該ジョブIDに対応するデータを、該第1イベントメッセージの内容に基づいて更新するイベントシンクと、を有し、該通知マネージャは、該購読マネージャが該登録を行ったことに応答して、該状態記憶部に記憶されている各状態をその状態に変化した該第1イベントメッセージの受信と見なして該第2イベントメッセージを生成し該プッシュ通知サーバーへ送信する。
【0084】
また、プッシュ通知システムの第5態様では、第2乃至4態様のいずれか1つにおいて、該送信元装置は、印刷ジョブの状態変化に応答して、該印刷ジョブのジョブデータに含まれるIPアドレスをキーとして送信元装置側購読テーブルを検索し、ヒットすれば、該状態変化の変化後の状態IDと該ジョブIDとを含む第1イベントメッセージを、該IPアドレスを宛先として送信し、この際、該ジョブデータにデバイストークンが含まれていれば、該デバイストークンも該第1イベントメッセージに含ませる。
【0085】
上記第1態様の構成によれば、WS−Eventingとプッシュ通知仕様が異なるモバイル端末に対してもプッシュ通知可能に構成する場合に、プロバイダーが該第1イベントメッセージの受信に応答して、例えば図7に示すように、該第1イベントメッセージにデバイストークンが含まれていなければ、すなわちステップST10でジョブ状態でないと判定されれば、例えば図8の購読テーブルに登録されている、該第1イベントメッセージに含まれている状態IDが属する状態種別IDと一致する各レコードのデバイストークンと、該第1イベントメッセージに含まれている状態IDとこれに関係した値との組とを含むそれぞれの第2イベントメッセージを生成して(ST13)、該プッシュ通知サーバーへ送信する(ST12)ので、該送信元装置での1つのイベント発生に対し、1つの第1イベントメッセージを該プロバイダーに送信すればよく、各モバイル端末に対応するイベントメッセージを該プロバイダーに送信する必要がないので、通信トラフィック量の増大を抑制することができるという効果を奏する。
【0086】
上記第2態様の構成によれば、送信元装置において、例えば図6に示すように、状態IDが属する状態種別IDが印刷ジョブ状態であることを示す場合(ST0)、印刷ジョブデータにデバイストークンが含まれていれば(ST2)これも第1イベントメッセージに含ませる(ST3)という、従来構成に対する簡単な変更でよいという効果を奏する。
【0087】
上記第3態様の構成によれば、該プロバイダーにおいて、オペレーティングシステムの起動時又は指示入力に応答して、該送信元装置に対し、通知先アドレスとしての自装置のIPアドレスと通知対象としての全状態種別を示す情報とを伴って購読登録要求するので、該送信元装置は状態変化が有った場合、そのイベントメッセージを該プロバイダーに通知するだけで、個々のモバイル端末へプッシュ通知することができるという効果を奏する。
【0088】
上記第4態様の構成によれば、該プロバイダーにおいて、各第1イベントメッセージに基づき該送信元装置の現在の状態を状態記憶部に記憶しておき、該モバイル端末からの購読登録要求時に購読登録のみならず(図7のS7)、該状態記憶部に記憶されている各状態をその状態に変化した該第1イベントメッセージの受信と見なして該第2イベントメッセージを生成し該プッシュ通知サーバーへ送信するので(S8、S9)、モバイル端末ユーザは購読登録後直ぐに該送信元装置の現在の状態を把握することができるという効果を奏する。
【0089】
上記第5態様の構成によれば、該送信元装置が、印刷ジョブの状態変化に応答して、該印刷ジョブのジョブデータに含まれるIPアドレスをキーとして送信元装置側購読テーブルを検索し、ヒットすれば、該状態変化の変化後の状態IDと該ジョブIDとを含む第1イベントメッセージを、該IPアドレスを宛先として送信するので、簡単な構成で、印刷ジョブについてはその依頼元のみプッシュ通知することができ、また、イベントメッセージにジョブIDが含まれるので、同一文書名の印刷ジョブであっても印刷ジョブ依頼元においてそれらを区別することができるという効果を奏する。
【0090】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記実施例で述べた各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【0091】
例えば、図3の構成要素60〜62をプリントサーバーに備え、プリントサーバーで購読登録し、これとローカル接続又はネットワーク接続された画像形成装置からのイベント通知を、プリントサーバーの通知マネージャを介してイベント通知する構成であってもよい。
【0092】
また、図8の購読テーブルは、期限を含まない構成であってもよい。
【符号の説明】
【0093】
10−1〜10−N クライアントPC
20 画像形成装置
201、401 CPU
202、402 インターフェイス
203、403 PROM
204、404 DRAM
205、405 ネットワークインターフェイス
206、406 補助記憶装置
207 操作パネル
208 スキャナ
209 プリンタ
210 ファックスモデム
30 LAN
31 アクセスポイント
32 モバイル端末
40 プロバイダー
41 インターネット
42 プッシュ通知サーバー
50 購読部
51、61 SOAP処理部
52、60、80 通信部
53 イベントシンク
54 状態記憶部
62 イベントソース
620、82 購読マネージャ
621、83 購読テーブル
622、84 通知マネージャ
63 画像形成装置本体部
70 ジョブデータ
71 印刷処理部
72 イベントジェネレータ
73 イベント引数
81 JSON処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11