(57)【要約】【課題】アプリの常時起動が許可されない操作装置を有する画像処理装置において、操作装置で実行されるアプリが外部からの通知に応じて所定の処理を実行することができるようにする。【解決手段】画像処理装置は、第１のプログラムを実行する操作装置と画像処理を実行する実行装置とを含む画像処理装置であって、第１のプログラムは、外部装置から第１のプログラムに通知される処理情報を受付し、処理情報を第１のプログラムに通知する第２のプログラムを実行装置に実行させるプログラム制御手段と、第２のプログラムから通知される処理情報を、第１のプログラムが受信することができるように、操作装置を制御する制御システムに第２のプログラムに関する登録情報を登録するプログラム情報登録手段と、第２のプログラムから通知される処理情報に従って所定の処理を実行する処理実行手段と、として操作装置を機能させる。【選択図】図３
2018156490.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を行う第１のプログラムを実行する操作装置と、前記操作装置に接続され画像処理を実行する実行装置とを含む画像処理装置であって、
前記第１のプログラムは、
外部装置から前記第１のプログラムに通知される前記所定の処理に関する処理情報を受付し、前記処理情報を前記第１のプログラムに通知する第２のプログラムを前記実行装置に実行させるプログラム制御手段と、
前記第２のプログラムから通知される前記処理情報を、前記第１のプログラムが受信することができるように、前記操作装置を制御する制御システムに前記第２のプログラムに関する登録情報を登録するプログラム情報登録手段と、
前記第２のプログラムから通知される前記処理情報に従って、前記所定の処理を実行する処理実行手段と、
として前記操作装置を機能させる、画像処理装置。
【請求項２】
前記プログラム制御手段は、前記第１のプログラムが前記操作装置にインストールされたとき、前記第２のプログラムを前記実行装置に登録し、起動させる、請求項１に記載の画像処理装置。
【請求項３】
前記プログラム情報登録手段は、前記実行装置で所定の事象が発生したときに、前記実行装置から前記第１のプログラムに通知される通知情報を前記第１のプログラムが受信することができるように、前記所定の事象に関する登録情報を前記制御システムに登録する、請求項１又は２に記載の画像処理装置。
【請求項４】
前記プログラム情報登録手段は、前記第１のプログラムが前記操作装置にインストールされたときに、前記第２のプログラムに関する登録情報と、前記所定の事象、又は前記通知情報に関する登録情報とを前記制御システムに登録する、請求項３に記載の画像処理装置。
【請求項５】
前記実行装置は、前記実行装置から前記第１のプログラムに前記処理情報、又は前記通知情報を通知するときに前記操作装置が起動していない場合、前記操作装置を起動させる状態制御手段を有する、請求項３又は４に記載の画像処理装置。
【請求項６】
登録された時間に、所定の情報を前記第１のプログラムに通知するタイマ手段を有し、
前記第１のプログラムは、前記タイマ手段に前記時間を登録する通知タイマ登録手段として前記操作装置を機能させ、
前記プログラム情報登録手段は、前記タイマ手段から通知される情報を前記第１のプログラムが受信することができるように、前記タイマ手段から通知される情報に関する登録情報を前記制御システムに登録する、請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記通知タイマ登録手段は、前記タイマ手段に繰り返し前記時間を登録することにより、前記第１のプログラムに前記所定の情報に対応する処理を繰り返し実行させる、請求項６に記載の画像処理装置。
【請求項８】
登録された時間に前記操作装置が起動していない場合、前記操作装置、及び前記第１のプログラムを起動させるタイマ手段を有し、
前記第１のプログラムは、前記タイマ手段に前記時間を登録する起動タイマ登録手段として前記操作装置を機能させる、請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項９】
前記起動タイマ登録手段は、前記タイマ手段に繰り返し前記時間を登録することにより、前記第１のプログラムが実行する前記所定の処理が前記制御システムによって停止される時間を低減させる、請求項８に記載の画像処理装置。
【請求項１０】
前記制御システムは、前記操作装置で実行されるアプリケーションプログラムである前記第１のプログラムの常時起動を許可しないオペレーティングシステムである、請求項１乃至９のいずれか一項に記載の画像処理装置。
【請求項１１】
所定の処理を行う第１のプログラムを実行する操作装置と、前記操作装置に接続され画像処理を実行する実行装置とを含む画像処理装置の前記第１のプログラムであって、
外部装置から前記第１のプログラムに通知される前記所定の処理に関する処理情報を受付し、前記処理情報を前記第１のプログラムに通知する第２のプログラムを前記実行装置に実行させるプログラム制御手段と、
前記第２のプログラムから通知される前記処理情報を、前記第１のプログラムが受信することができるように、前記操作装置を制御する制御システムに前記第２のプログラムに関する登録情報を登録するプログラム情報登録手段と、
前記第２のプログラムから通知される前記処理情報に従って、前記所定の処理を実行する処理実行手段と、
として前記操作装置を機能させる、プログラム。
【請求項１２】
所定の処理を行う第１のプログラムを実行する操作装置と、前記操作装置に接続され画像処理を実行する実行装置とを含む情報処理システムであって、
前記第１のプログラムは、
外部装置から前記第１のプログラムに通知される前記所定の処理に関する処理情報を受付し、前記処理情報を前記第１のプログラムに通知する第２のプログラムを前記実行装置に実行させるプログラム制御手段と、
前記第２のプログラムから通知される前記処理情報を、前記第１のプログラムが受信することができるように、前記操作装置を制御する制御システムに前記第２のプログラムに関する登録情報を登録するプログラム情報登録手段と、
前記第２のプログラムから通知される前記処理情報に従って、前記所定の処理を実行する処理実行手段と、
として前記操作装置を機能させる、情報処理システム。
【請求項１３】
所定の処理を行う第１のプログラムを実行する操作装置と、前記操作装置に接続され画像処理を実行する実行装置とを含む情報処理システムにおける情報処理方法であって、
前記第１のプログラムが、
外部装置から前記第１のプログラムに通知される前記所定の処理に関する処理情報を受付し、前記処理情報を前記第１のプログラムに通知する第２のプログラムを前記実行装置に実行させるステップと、
前記第２のプログラムから通知される前記処理情報を、前記第１のプログラムが受信することができるように、前記操作装置を制御する制御システムに前記第２のプログラムに関する登録情報を登録するステップと、
前記第２のプログラムから通知される前記処理情報に従って、前記所定の処理を実行するステップと、
を前記操作装置に実行させる、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、プリンタ、スキャナ、コピー、ファクシミリ等の機能を有する画像処理装置等において、Ａｎｄｒｏｉｄ（登録商標）等の省電力型のＯＳ（Operating System）で動作する操作パネル（操作装置）が採用されているものがある。
【０００３】
また、インテント通知に応じてアプリケーションを起動させる情報端末において、情報端末が省電力状態中であるとき、アプリケーションに対する通知を抑止するか否かの設定に応じて、インテント通知を抑止する技術が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、Ａｎｄｒｏｉｄ ＯＳで動作する操作装置と、操作装置に接続され画像処理の実行する実行装置とを有する画像処理装置において、操作装置側で、様々なアプリケーションプログラム（以下、アプリと呼ぶ）を実行させることが考えられる。例えば、画像処理装置の操作装置側で、複数の処理が定義されたワークフローを実行するアプリ（以下、ワークフローアプリと呼ぶ）等を実行させることができる。
【０００５】
しかし、Ａｎｄｒｏｉｄ ＯＳでは、アプリの常時起動が許可されておらず、例えば、メモリの状態等によって、ＯＳがアプリを強制的に終了させる場合がある。このような場合、ワークフローアプリは、例えば、サーバ装置等から通知されるワークフロー情報を受け取ることができず、ワークフローを同期（更新）することができない。
【０００６】
このように、従来の技術では、アプリの常時起動が許可されない操作装置を有する画像処理装置において、操作装置で実行されるアプリが外部からの通知に応じて所定の処理を実行することができないという問題がある。
【０００７】
本発明の実施の形態は、上記問題点に鑑みてなされたものであって、アプリの常時起動が許可されない操作装置を有する画像処理装置において、操作装置で実行されるアプリが外部からの通知に応じて所定の処理を実行することができるようにする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一実施形態に係る画像処理装置は、所定の処理を行う第１のプログラムを実行する操作装置と、前記操作装置に接続され画像処理を実行する実行装置とを含む画像処理装置であって、前記第１のプログラムは、外部装置から前記第１のプログラムに通知される前記所定の処理に関する処理情報を受付し、前記処理情報を前記第１のプログラムに通知する第２のプログラムを前記実行装置に実行させるプログラム制御手段と、前記第２のプログラムから通知される前記処理情報を、前記第１のプログラムが受信することができるように、前記操作装置を制御する制御システムに前記第２のプログラムに関する登録情報を登録するプログラム情報登録手段と、前記第２のプログラムから通知される前記処理情報に従って、前記所定の処理を実行する処理実行手段と、として前記操作装置を機能させる。
【発明の効果】
【０００９】
本発明の実施の形態によれば、アプリの常時起動が許可されない操作装置を有する画像処理装置において、操作装置で実行されるアプリが外部からの通知に応じて所定の処理を実行することができるようになる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る情報処理システムの構成例を示す図である。
【図２】一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
【図３】第１の実施形態に係る画像形成装置の機能構成図である。
【図４】第１の実施形態に係るマニフェストファイルの一例のイメージを示す図である。
【図５】第１の実施形態に係るインストール時の処理の例を示すフローチャートである。
【図６】第１の実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。
【図７】第１の実施形態に係る情報処理システムの処理の別の一例を示すシーケンス図である。
【図８】第２の実施形態に係る画像形成装置の機能構成の一例を示す図である。
【図９】第２の実施形態に係る情報処理システムの処理の例を示すフローチャートである。
【図１０】第２の実施形態に係る画像形成装置の機能構成の別の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態について、添付の図面を参照して説明する。
【００１２】
＜システムの構成＞
図１は一実施形態に係る情報処理システムの構成例を示す図である。情報処理システム１００は、例えば、画像形成装置１１０、サーバ装置１２０、及びファクス送信装置１４０（外部装置の一例）等を有する。
【００１３】
画像形成装置１１０は、例えば、プリンタ、スキャナ、コピー、ファクシミリ等の画像処理機能を有するＭＦＰ（Multifunction Peripheral）等の画像処理装置である。画像形成装置１１０は、画像処理を実行する本体１１２と、本体１１２に接続される操作部１１１と有する。なお、画像形成装置１１０は、画像処理装置の一例である。
【００１４】
本体（実行装置）１１２は、例えば、利用者による操作部１１１への操作や、操作部１１１で実行されるワークフローアプリケーション（以下、ワークフローアプリと呼ぶ）等からの要求に応じて画像処理を実行する。例えば、スキャナにより原稿をスキャンして得られた画像データに対してさらに画像処理を行い、その画像をメール等で送信するようなワークフローを実行することがユーザの操作部１１１に対する操作によって要求されたものとする。この場合、ワークフローアプリはその要求に応じて、本体１１２に対してスキャンの実行を要求し、本体１１２はこの要求に応じてスキャナを動作させて原稿の読み取りを行い、画像データを取得して操作部１１１に送る。
【００１５】
操作部（操作装置）１１１は、通信路により本体１１２と通信可能に接続され、例えば、タッチパネルディスプレイ等の操作パネルに、画像形成装置１１０の操作画面等を表示する情報処理装置である。
【００１６】
また、操作部１１１は、例えば、Ａｎｄｒｏｉｄ（登録商標）等のＯＳ（Operating System）によって制御され、複数の処理が定義されたワークフローに基づいて所定の処理を実行するワークフローアプリを実行する。なお、ワークフローアプリは、操作部１１１で実行されるアプリケーションプログラム（以下、アプリと呼ぶ）の一例である。
【００１７】
ワークフローとは、例えば、画像データ等の処理対象となるデータに対する、入力処理、画像変換処理、フォルダ配信処理、メール配信処理等の複数の処理（プラグイン）を組合せて、所定の処理を定義したものである。
【００１８】
ワークフローアプリは、サーバ装置１２０等から通知されるワークフロー情報（以下、ＷＦ情報と呼ぶ）に従って、例えば、画像形成装置１１０がファクス受信した画像データに対して、変換、印刷、配信等の一連の処理をまとめて実行することができる。
【００１９】
サーバ装置１２０は、例えば、インターネットやＬＡＮ（Local Area Network）等のネットワーク１３０を介して画像形成装置１１０と通信可能な情報処理装置、又は複数の情報処理装置を含むシステムである。
【００２０】
サーバ装置１２０は、前述したＷＦ情報を管理し、例えば、ＷＦ情報が更新、追加、又は削除された場合等に、ワークフローアプリにＷＦ情報の更新を要求する同期要求を送信する。これにより、画像形成装置１１０のワークフローアプリは、最新のＷＦ情報に基づいてワークフローを実行することができる。また、サーバ装置１２０は、画像形成装置１１０あるいは操作部１１１においてワークフローの各処理を実行させる代わりに、これらから画像データを受信して、変換、印刷、配信等の一連の処理を実行することもできる。サーバ装置１２０はそのための各処理を実行する機能をし、画像形成装置１１０あるいは操作部１１１によって実行可能な処理と連携して一連の処理を行うＷＦ情報を作成することもできる。
【００２１】
ファクス送信装置１４０は、例えば、ＰＳＴＮ（Public Switched Telephone Network）回線１５０等を介して、画像形成装置１１０にファクス送信が可能な他の画像形成装置や、ファクシミリ装置等の電子機器である。なお、ファクス送信装置１４０は、画像形成装置１１０と通信可能な外部装置の一例である。
【００２２】
上記の構成において、画像形成装置１１０の操作部１１１で実行されるワークフローアプリは、サーバ装置１２０から通知されるＷＦ情報に基づいて、一例として、ファクス受信を契機として、所定のワークフロー（所定の処理）を実行する。
【００２３】
しかし、操作部１１１を制御するＡｎｄｒｏｉｄ ＯＳは、操作部１１１で実行されるアプリに対して常時起動を許可していない。そのため、Ａｎｄｒｏｉｄ ＯＳは、例えば、メモリの状態等によって、操作部１１１で実行されているワークフローアプリ等を自動的に終了させてしまう場合がある。このような場合、ワークフローアプリは、サーバ装置１２０から通知されるＷＦ情報等の通知を受け取ることができなくなる。
【００２４】
また、ワークフローが操作部１１１を介してユーザにより選択されて実行指示により実行される場合は、ユーザは操作部１１１を利用してワークフローアプリを使用していることになるため、ワークフローアプリが起動していないような状態はない。一方でファックスの受信を契機とする場合、ファックスの受信は画像形成装置の本体によって行われ、操作部１１１を介する必要がないため、その時点でワークフローアプリが起動していない場合が考えられる。
【００２５】
そこで、本実施形態に係るワークフローアプリは、操作部１１１にインストールされたとき等に、本体１１２に、サーバ装置１２０からワークフローアプリに通知されるＷＦ情報を受付し、ワークフローアプリに通知するサーブレットを登録して、実行させる。
【００２６】
また、ワークフローアプリは、操作部１１１にインストールされたとき等に、サーブレットから通知される処理情報を受信することができるように、サーブレットに関する登録情報をＡｎｄｒｏｉｄ ＯＳに登録する。例えば、ワークフローアプリは、サーブレットからワークフローアプリに通知されるＷＦ情報を受信するサービス、及び受信する情報を定義する情報を、Ａｎｄｒｏｉｄ ＯＳが管理するワークフローアプリのマニフェストファイル等に登録させる。
【００２７】
これにより、ワークフローアプリが起動していない場合でも、サーバ装置１２０からワークフローアプリに通知されるＷＦ情報をサーブレットが受付し、ワークフローアプリに通知することができるようになる。このとき、ワークフローアプリが起動していない場合には、Ａｎｄｒｏｉｄ ＯＳに登録されたサービスがワークフローアプリを起動させるので、ワークフローアプリは、サーブレットから通知されるＷＦ情報を受信することができる。
【００２８】
従って、本実施形態によれば、操作部１１１で実行されるワークフローアプリは、例えば、Ａｎｄｒｏｉｄ ＯＳによって終了された場合でも、サーバ装置１２０から通知される最新のＷＦ情報に基づいて、ワークフローを実行することができるようになる。
【００２９】
このように、本実施形態によれば、アプリの常時起動が許可されない操作部（操作装置）１１１を有する画像形成装置（画像処理装置）１１０において、操作部１１１で実行されるアプリが外部からの通知に応じて所定の処理を実行することができるようになる。
【００３０】
なお、図１に示す情報処理システム１００のシステムは一例であり、本発明の範囲を限定するものではない。例えば、サーバ装置１２０は、操作部１１１に所定の情報を通知する情報端末や、他の画像形成装置１１０等であっても良い。
【００３１】
また、ファクス送信装置１４０は必須ではなく、ワークフローアプリが実行するアプリは、例えば、画像形成装置１１０におけるスキャン操作等の他の処理を契機としてワークフローを開始させるものであっても良い。
【００３２】
さらに、Ａｎｄｒｏｉｄ ＯＳは、アプリケーションの常時起動が許可されないＯＳの一例である。例えば、Ａｎｄｒｏｉｄ ＯＳは、ｉＯＳ（登録商標）等の他のＯＳであっても良い。
【００３３】
＜ハードウェア構成＞
図２は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。画像処理装置の一例である画像形成装置１１０は、例えば、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の画像処理機能を実現する本体１１２と、ワークフローアプリを実行する操作部１１１とを備える。本体１１２と操作部１１１は、専用の通信路２２０を介して相互に通信可能に接続されている。通信路２２０は、例えばＵＳＢ（Universal Serial Bus）規格のものを用いることができるが、有線か無線かを問わず任意の規格のものであって良い。
【００３４】
なお、本体１１２は、操作部１１１からの制御に従って、様々な処理を実行することができる。また、本体１１２は、例えば、ファクス送信装置１４０や、情報端末等の外部装置と通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００３５】
（本体のハードウェア構成）
まず、本体１１２のハードウェア構成について説明する。図２に示すように、本体１１２は、例えば、ＣＰＵ（Central Processing Unit）２１１、ＲＯＭ（Read Only Memory）２１２、ＲＡＭ（Random Access Memory）２１３、ストレージ部２１４、通信Ｉ／Ｆ（Interface）２１５、接続Ｉ／Ｆ２１６、エンジン部２１７、及びファクスコントロールユニット（以下、ＦＣＵと呼ぶ）２１８、及びシステムバス２１９等を有する。
【００３６】
ＣＰＵ２１１は、本体１１２の動作を統括的に制御する。ＣＰＵ２１１は、ＲＡＭ２１３をワークエリア（作業領域）としてＲＯＭ２１２又はストレージ部２１４等に格納されたプログラムを実行することで、本体１１２全体の動作を制御する。
【００３７】
ＲＯＭ２１２は、例えば、本体１１２の起動時に実行されるＢＩＯＳ（Basic Input/Output System）や、各種の設定等を記憶する不揮発性のメモリである。ＲＡＭ２１３は、ＣＰＵ２１１のワークエリア等として用いられる揮発性のメモリである。ストレージ部２１４は、例えば、ＯＳ、アプリケーションプログラム、各種データ等を記憶する不揮発性の記憶装置であり、例えば、ＨＤＤや、ＳＳＤ（Solid State Drive）等で構成される。
【００３８】
通信Ｉ／Ｆ２１５は、本体１１２をネットワーク１３０に接続し、ネットワーク１３０に接続されたサーバ装置１２０等と通信を行うためのネットワークインタフェースである。接続Ｉ／Ｆ２１６は、通信路２２０を介して操作部１１１と通信するためのインタフェースである。
【００３９】
エンジン部２１７は、コピー機能、スキャナ機能、及びプリンタ機能等の機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。エンジン部２１７には、例えば、原稿の画像をスキャンして読み取るスキャナ、用紙等のシート材への印刷を行うプロッタ等が含まれる。
【００４０】
ＦＣＵ２１８は、ファクスデータの送受信を行う。システムバス２１９は、上記各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００４１】
（操作部のハードウェア構成）
続いて、操作部１１１のハードウェア構成について説明する。図２に示すように、操作部１１１は、一般的なコンピュータの構成を有しており、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３と、フラッシュメモリ２０４、操作パネル２０５、接続Ｉ／Ｆ２０６、外部接続Ｉ／Ｆ２０７、及びシステムバス２０８等を有する。
【００４２】
ＣＰＵ２０１は、操作部１１１の動作を統括的に制御する。ＣＰＵ２０１は、ＲＡＭ２０３をワークエリアとしてＲＯＭ２０２又はフラッシュメモリ２０４等に格納されたプログラムを実行することで、操作部１１１全体の動作を制御する。
【００４３】
ＲＯＭ２０２は、例えば、操作部１１１の起動時に実行されるＢＩＯＳや、各種の設定等を記憶する不揮発性のメモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリア等として用いられる揮発性のメモリである。フラッシュメモリ２０４は、例えば、ＯＳ、アプリケーションプログラム、各種データ等を記憶する不揮発性の記憶装置である。
【００４４】
操作パネル２０５は、ユーザの操作に応じた各種の入力を受け付けると共に、各種の情報を表示する。操作パネル２０５は、例えば、タッチパネル機能を搭載した液晶表示装置（LCD: Liquid Crystal Display）で構成されるが、これに限られるものではない。操作パネル２０５は、例えばタッチパネル機能が搭載された有機ＥＬ（Electro Luminescence）表示装置で構成されていても良い。さらに、操作パネル２０５は、これに加えて又はこれに代えて、ハードウェアキー等の操作部や、ランプ等の表示部を設けることもできる。
【００４５】
接続Ｉ／Ｆ２０６は、通信路２２０を介して本体１１２と通信するためのインタフェースである。外部接続Ｉ／Ｆ２０７は、例えば、ＵＳＢメモリ等の記憶媒体２０９を操作部１１１に接続するための、例えばＵＳＢ等のインタフェースである。システムバス２０８は、上記各構成要素に接続され、アドレス信号、データ信号、及び各種制御信号等を伝送する。
【００４６】
［第１の実施形態］
＜機能構成＞
図３は、第１の実施形態に係る画像形成装置の機能構成図である。
【００４７】
（操作部の機能構成）
操作部１１１は、例えば、図２のＣＰＵ２０１でプログラムを実行することにより、アプリケーション３１０、制御システム３２０、及び記憶部３３０等を実現している。
【００４８】
制御システム３２０は、例えば、図２のＣＰＵ２０１で実行されるＡｎｄｒｏｉｄ ＯＳ等のオペレーティングシステムによって実現され、Ａｎｄｒｏｉｄアプリケーションの実行環境を総合的に制御する。なお、Ａｎｄｒｏｉｄ ＯＳは、アプリの常時起動が許可されないＯＳの一例である。また、Ａｎｄｒｏｉｄアプリケーションは、アプリの常時起動が許可されないＯＳで実行されるアプリケーションの一例である。
【００４９】
制御システム３２０に含まれるインテント管理部３２１は、記憶部３３０に記憶したマニフェストファイル３３１に登録されているワークフローアプリ３１１の登録情報に基づいて、本体１１２から通知されるインテント（通知情報）をアプリケーション３１０に通知する。
【００５０】
マニフェストファイル（Androidmanifest.xml）３３１は、Ａｎｄｒｏｉｄアプリケーションであるワークフローアプリ３１１に関する登録情報が、例えば、ＸＭＬ（Extensible Markup Language）形式で記述されたファイルである。
【００５１】
図４は、第１の実施形態に係るマニフェストファイルの一例のイメージを示す図である。
マニフェストファイル３３１には、例えば、ワークフローアプリ３１１で利用するブロードキャストレシーバを定義する「ｒｅｃｅｉｖｅｒ要素」４２０等が含まれる。なお、ブロードキャストレシーバは、Ａｎｄｒｏｉｄアプリケーションが、Ａｎｄｒｏｉｄ ＯＳから通知されるインテントを受信するためのインタフェースである。
【００５２】
「ｒｅｃｅｉｖｅｒ要素」４２０には、例えば、アプリケーション３１０のブロードキャストレシーバであるインテント受信部３１２を定義する情報４２１や、インテントフィルタ（intent-filter）４２２等の情報が含まれる。また、インテントフィルタ４２２には、ブロードキャストレシーバを起動するアクション種別を定義する情報が含まれる。
【００５３】
これらの情報に基づいて、インテント管理部３２１は、本体１１２から、インテントフィルタ４２２に定義されたアクション種別に対応するインテントが通知された場合、対応するブロードキャストレシーバであるインテント受信部３１２にインテントを通知する。
【００５４】
また、マニフェストファイル３３１には、例えば、アプリケーション３１０で利用するサービスを定義する「ｓｅｒｖｉｃｅ要素」４１０が含まれる。
【００５５】
「ｓｅｒｖｉｃｅ要素」４１０には、本体１１２で実行されるプログラムであるサーブレット３４０から通知されるイベント（処理情報等）を受信するサービスである処理情報受信部３１３を定義する情報４１１が含まれる。また、「ｓｅｒｖｉｃｅ要素」４１０には、サービスを起動するアクション種別を定義するインテントフィルタ（intent-filter）４１２等の情報が含まれる。
【００５６】
これらの情報に基づいて、サーブレット３４０から操作部１１１に、インテントフィルタ４１２に定義されたアクション種別に対応するイベント（処理情報等）が通知された場合、処理情報受信部３１３にイベントが通知される。
【００５７】
ここで、図３に戻り、操作部１１１の機能構成の説明を続ける。
【００５８】
アプリケーション３１０は、ワークフローアプリ３１１、インテント受信部３１２、及び処理情報受信部３１３等を含む。
【００５９】
ワークフローアプリ（第１のプログラム）３１１は、例えば、Ａｎｄｒｏｉｄ ＯＳで実行されるＡｎｄｒｏｉｄアプリケーションであり、アプリ情報登録部３１４、処理実行部３１５、及びサーブレット制御部３１６等を含む。
【００６０】
サーブレット制御部（プログラム制御手段）３１６は、例えば、ワークフローアプリ３１１が操作部１１１にインストールされたとき等に、サーブレット（第２のプログラム）３４０を、本体１１２に実行させる。例えば、サーブレット制御部３１６は、圧縮したサーブレット３４０のファイルを予め有しており、解凍したサーブレット３４０を本体１１２に登録して、起動させる。
【００６１】
なお、サーブレット制御部３１６が本体１１２で実行させるサーブレット３４０は、２つ以上の数であっても良い。例えば、サーブレット制御部３１６は、サーバ装置１２０から通知される処理情報の種類毎、或いはサーバ装置１２０毎に異なるＵＲＬに対応する複数のサーブレット３４０を、本体１１２に実行させるものであっても良い。
【００６２】
アプリ情報登録部（プログラム情報登録手段）３１４は、本体１１２で実行されるサーブレット３４０から通知されるイベント（処理情報等）を、ワークフローアプリ３１１が受信することができるように、サーブレット３４０に関する登録情報を制御システム３２０に登録する。例えば、アプリ情報登録部３１４は、前述した、ワークフローアプリ３１１の「ｓｅｒｖｉｃｅ要素」４１０のマニフェストファイル３３１への登録を、制御システム３２０に要求する。
【００６３】
これにより、ワークフローアプリ３１１は、サーブレット３４０から通知されるイベントを受信するサービスである処理情報受信部３１３を利用することができるようになる。
【００６４】
また、アプリ情報登録部３１４は、本体１１２で所定の事象が発生したときに本体１１２から通知されるインテント（通知情報）を、ワークフローアプリ３１１が受信することができるように、所定の事象に関する登録情報を制御システム３２０に登録する。例えば、アプリ情報登録部３１４は、前述した、ワークフローアプリ３１１の「ｒｅｃｅｉｖｅｒ要素」４２０のマニフェストファイル３３１への登録を、制御システム３２０に要求する。
【００６５】
これにより、ワークフローアプリ３１１は、本体１１２から通知されるインテントを受信するインテント受信部３１２を利用することができるようになる。
【００６６】
処理実行部（処理実行手段）３１５は、サーブレット３４０がサーバ装置１２０から受付し、サーブレット３４０からワークフローアプリ３１１に通知されるＷＦ情報（処理情報）に従って、ワークフローを実行する。
【００６７】
インテント受信部３１２は、マニフェストファイル３３１に従ってインテント管理部３２１から通知されるインテント（通知情報）を受信するブロードキャストレシーバである。インテント受信部３１２は、ワークフローアプリ３１１が起動していない場合でも、ワークフローアプリ３１１に対するインテントを受信可能である。また、インテント受信部３１２は、ワークフローアプリ３１１に対するインテントを受信したときに、ワークフローアプリ３１１が起動していない場合、ワークフローアプリ３１１を起動させる。
【００６８】
処理情報受信部３１３は、サーブレット３４０から通知されるイベント（例えば、ＷＦ情報の更新を要求する同期要求等）を受信するサービスである。処理情報受信部３１３は、ワークフローアプリ３１１が起動していない場合でも、ワークフローアプリ３１１に対するイベントを受信可能である。また、処理情報受信部３１３は、ワークフローアプリ３１１に対するイベントを受信したときに、ワークフローアプリ３１１が起動していない場合、ワークフローアプリ３１１を起動させる。
【００６９】
記憶部３３０は、例えば、図２のフラッシュメモリ２０４、及び図２のＣＰＵ２０１で実行されるＯＳ等によって実現され、マニフェストファイル３３１等の様々なデータや情報を記憶する。
【００７０】
（本体の機能構成）
本体１１２は、図２のＣＰＵ２１１でプログラムを実行することにより、例えば、サーブレット３４０、状態制御部３５０、ファクス送受信部３６０、画像処理部３７０、及び記憶部３８０等を実現している。
【００７１】
サーブレット（第２のプログラム）３４０は、操作部１１１で実行されるワークフローアプリ３１１に対応して、本体１１２で実行されるプログラムであり、本体１１２を受付部３４１、及び通知部３４２として機能させる。
【００７２】
受付部３４１は、サーバ装置１２０から、ワークフローアプリ３１１に対応するＵＲＬ（Uniform Resource Locator）宛てに送信される処理情報を受付する。なお、サーバ装置１２０から送信される処理情報の例として、ＷＦ情報の更新を要求する同期要求や、ログの取得を要求するログ取得要求等の情報がある。
【００７３】
通知部３４２は、受付部３４１が、サーバ装置１２０から受付した処理情報をワークフローアプリに通知する。
【００７４】
状態制御部（状態制御手段）３５０は、操作部１１１にインテントやイベントを通知するときに、操作部１１１が起動していない場合、操作部１１１を起動させる（例えば、省電力モードから通常モードに移行させる）。
【００７５】
ファクス送受信部３６０は、例えば、図２のＦＣＵ２１８を制御して、ファクス送受信を行う。例えば、ファクス送受信部３６０は、ファクス送信装置１４０からファクス送信されたファクスデータを受信した場合、受信したファクスデータを記憶部３８０に記憶し、ファクス受信したことを示すインテント（通知情報）をワークフローアプリ３１１に通知する。
【００７６】
画像処理部３７０は、例えば、図２のエンジン部２１７を制御して、スキャン、コピー、印刷等の画像形成処理を行う。
【００７７】
記憶部３３０は、例えば、図２のストレージ部２１４、及び図２のＣＰＵ２１１で実行されるＯＳ等によって実現され、例えば、ファクスデータ等の様々なデータや情報を記憶する。
【００７８】
なお、本実施形態では、操作部１１１側のＯＳと本体１１２側のＯＳが互いに異なる。つまり、操作部１１１と本体１１２側は別々のＯＳで互いに独立して動作する。例えば、操作部１１１側のＯＳは、前述したようにＡｎｄｒｏｉｄ ＯＳ等、アプリの常時起動が許可されないＯＳで動作する。一方、本体１１２側のＯＳは、例えば、Ｌｉｎｕｘ（登録商標）や、ＮｅｔＢＳＤ（登録商標）等のアプリの常時起動が許容されるＯＳで動作する。
【００７９】
従って、操作部１１１側のワークフローアプリ３１１が起動していない場合でも、本体側のサーブレット３４０は、サーバ装置１２０から通知されるイベントを受付することができるものとする。
【００８０】
＜処理の流れ＞
続いて、本実施形態に係る情報処理システム１００における情報処理方法の処理の流れについて説明する。
【００８１】
（インストール時の処理）
図５は、第１の実施形態に係るインストール時の処理の例を示すフローチャートである。この処理は、ワークフローアプリ３１１を操作部１１１にインストールするときに実行される処理の例を示している。
【００８２】
ステップＳ５０１において、例えば、画像形成装置１１０の管理者等が、操作部１１１にワークフローアプリ３１１をインストールする。例えば、管理者等は、ワークフローアプリ３１１のインストールプログラムを記憶した記憶媒体２０９を、図２の外部接続Ｉ／Ｆ２０７に接続して、ワークフローアプリ３１１のインストール処理を実行させる。これにより、ワークフローアプリ３１１は、操作部１１１にインストールされ、ステップ５０２以降の処理を実行する。
【００８３】
ステップＳ５０２において、アプリ情報登録部３１４は、サーブレット３４０から通知されるイベント（処理情報等）を、ワークフローアプリ３１１が受信することができるように、サーブレット３４０に関する登録情報を制御システム３２０に登録する。例えば、アプリ情報登録部３１４は、図４に示すように、マニフェストファイル３３１の「ｓｅｒｖｉｃｅ要素」４１０に、処理情報受信部３１３を定義する情報４１１、及びインテントフィルタ４１２等の登録情報を登録する。
【００８４】
これにより、ワークフローアプリ３１１は、サーブレット３４０から通知される処理情報等を、登録されたサービスである処理情報受信部３１３を介して受信することができるようになる。
【００８５】
ステップＳ５０３において、アプリ情報登録部３１４は、本体１１２で所定の事象が発生したときに、本体１１２から通知されるインテントをワークフローアプリ３１１が受信することができるように、所定の事象に関する登録情報を制御システム３２０に登録する。例えば、アプリ情報登録部３１４は、図４に示すように、マニフェストファイル３３１の「ｒｅｃｅｉｖｅｒ要素」４２０に、インテント受信部３１２を定義する情報４２１、及びインテントフィルタ４２２等の登録情報を登録する。
【００８６】
これにより、ワークフローアプリ３１１は、本体１１２で所定の事象が発生したときに、本体１１２から通知されるインテントを、ブロードキャストレシーバであるインテント受信部３１２を介して受信することができるようになる。
【００８７】
なお、ステップＳ５０３の処理は、ステップＳ５０２の処理の前に行われるものであっても良いし、ステップＳ５０２の処理と同時に行われるものであっても良い。
【００８８】
ステップＳ５０４において、ワークフローアプリ３１１のサーブレット制御部３１６は、本体１１２にサーブレット３４０を登録する。例えば、サーブレット制御部３１６は、予め記憶したサーブレット３４０の圧縮ファイルを解凍し、本体１１２の記憶部３８０等に記憶する。また、必要に応じて、サーブレット３４０の本体１１２へのインストール処理等を行う。
【００８９】
ステップＳ５０５において、ワークフローアプリ３１１のサーブレット制御部３１６は、本体１１２に登録されたサーブレット３４０を起動させる。
【００９０】
上記の処理により、ワークフローアプリ３１１は、ワークフローアプリ３１１が起動していない場合でも、本体１１２から通知される通知情報、及びサーブレット３４０から通知される処理情報等を受信することができるようになる。
【００９１】
（情報処理システムの処理１）
図６は、第１の実施形態に係る情報処理システムの処理の一例を示すシーケンス図である。この処理は、サーバ装置１２０からワークフローアプリ３１１に、ファクス受信を契機として実行するワークフローが定義されたＷＦ情報を通知し、ワークフローアプリ３１１が、ファクス受信を契機としてワークフローを実行する場合の処理の例を示している。
【００９２】
なお、マニフェストファイル３３１には、処理情報受信部３１３が、サーブレット３４０から通知される同期要求を受信することができるように、インテントフィルタ４１２が登録されているものとする。
【００９３】
また、マニフェストファイル３３１には、インテント受信部３１２が、本体１１２から通知されるファクス受信通知を受信することができるように、インテントフィルタ４２２が登録されているものとする。
【００９４】
ステップＳ６０１において、サーバ装置１２０は、予め設定されたワークフローアプリ３１１のＵＲＬ宛てに、ファクス受信を契機として実行するワークフローが定義されたＷＦ情報を含む同期要求を送信する。
【００９５】
ステップＳ６０２において、本体１１２で実行されているサーブレット３４０の受付部３４１は、ワークフローアプリ３１１のＵＲＬ宛てに送信された同期要求を受付する。また、サーブレット３４０の通知部３４２は、受付した同期要求を処理情報受信部３１３に通知する。
【００９６】
ステップＳ６０３において、操作部１１１の処理情報受信部３１３は、ワークフローアプリ３１１が起動していない場合、サーブレット３４０から通知された同期要求を通知するために、ワークフローアプリ３１１を起動させる。なお、ワークフローアプリ３１１が起動している場合、ステップＳ６０３の処理は省略することができる。
【００９７】
ステップＳ６０４において、操作部１１１の処理情報受信部３１３は、サーブレット３４０から通知された同期要求をワークフローアプリ３１１に通知する。
【００９８】
ステップＳ６０４において、ワークフローアプリ３１１は、通知された同期要求に含まれるＷＦ情報を用いて、ワークフローを更新する。例えば、ワークフローアプリ３１１は、通知された同期要求に含まれるＷＦ情報が新たなワークフローを定義するものである場合、ＷＦ情報で定義されたワークフローを新たに登録する。また、ワークフローアプリ３１１は、通知された同期要求に含まれるＷＦ情報が既に登録済のワークフローを更新するものである場合、ＷＦ情報を用いて登録済のワークフローを更新する。
【００９９】
なお、ここで、同期要求に含まれるＷＦ情報には、ファクス受信を契機として所定の処理を実行するワークフローが定義されているものとする。
【０１００】
ステップＳ６０６において、ファクス送信装置１４０が、画像形成装置１１０に対してファクス送信を行うものとする。
【０１０１】
ステップＳ６０７において、本体１１２のファクス送受信部３６０は、ファクス送信装置１４０から送信されたファクスを受信する。
【０１０２】
ステップＳ６０８において、ファクス送受信部３６０は、受信したファクスデータに、例えば、ジョブＩＤを付与して記憶部３８０に記憶する。
【０１０３】
ステップＳ６０９において、ファクス送受信部３６０は、ファクス受信したことを示すファクス受信通知を操作部１１１の制御システム３２０に通知する。なお、このファクス受信通知には、記憶部３８０に記憶したファクスデータに付与したジョブＩＤが含まれる。
【０１０４】
ステップＳ６１０において、制御システム３２０のインテント管理部３２１は、通知されたファクス受信通知が、インテント受信部３１２のインテントフィルタ４２２に登録されていることを確認し、ファクス受信通知をインテント受信部３１２に通知する。
【０１０５】
ステップＳ６１１において、操作部１１１のインテント受信部３１２は、ワークフローアプリ３１１が起動していない場合、制御システム３２０から通知されたファクス受信通知を通知するために、ワークフローアプリ３１１を起動させる。なお、ワークフローアプリ３１１が起動している場合、ステップＳ６１１の処理は省略することができる。
【０１０６】
ステップＳ６１２において、操作部１１１のインテント受信部３１２は、制御システム３２０から通知されたファクス受信通知をワークフローアプリ３１１に通知する。これにより、ワークフローアプリ３１１は、ステップＳ６０５で更新した、ファクス受信を契機として所定の処理を実行するワークフローの実行を開始する。
【０１０７】
例えば、ステップＳ６１３において、ワークフローアプリ３１１は、ファクス受信通知に含まれるジョブＩＤに対応するファクスデータを、本体１１２の記憶部３８０から取得する。
【０１０８】
ステップＳ６１４において、ワークフローアプリ３１１は、取得したファクスデータを用いて、ワークフローに定義された処理を順次に実行する。なお、サーバ装置１２０にファクスデータを送信すると共に実行するワークフローを指定し、実行要求を送信することもできる。
【０１０９】
上記の処理により、画像形成装置１１０は、操作部１１１のワークフローアプリ３１１が起動していないときでも、サーバ装置１２０からの同期要求に応じてＷＦ情報を更新し、ワークフローを実行することができるようになる。
【０１１０】
従って、本実施形態によれば、アプリの常時起動が許可されない操作部１１１を有する画像形成装置１１０において、操作部１１１で実行されるワークフローアプリ３１１が外部からの通知に応じて所定の処理を実行することができるようになる。
【０１１１】
（情報処理システムの処理２）
図７は、第１の実施形態に係る情報処理システムの処理の別の一例を示すシーケンス図である。この処理は、操作部１１１が、例えば、省電力状態にある場合における情報処理システムの処理の例を示している。
【０１１２】
なお、基本的な処理は、図６で説明した処理と同様なので、ここでは詳細な説明は省略する。
【０１１３】
ステップＳ７０１において、サーバ装置１２０は、予め設定されたワークフローアプリ３１１のＵＲＬ宛てに、ファクス受信を契機として実行するワークフローが定義されたＷＦ情報を含む同期要求を送信する。
【０１１４】
ステップＳ７０２において、本体１１２で実行されているサーブレット３４０の受付部３４１は、ワークフローアプリ３１１のＵＲＬ宛てに送信された同期要求を受付する。また、サーブレット３４０の通知部３４２は、状態制御部３５０に操作部１１１の状態（起動中であるか否か）を問合せする。
【０１１５】
ステップＳ７０３において、本体１１２の状態制御部３５０は、操作部１１１が起動中でない場合（例えば、省電力状態に移行している場合等）、操作部１１１に起動を要求する起動要求を行う。
【０１１６】
ステップＳ７０４において、操作部１１１の制御システム３２０は、本体１１２からの起動要求に応じて操作部１１１を起動させる。例えば、制御システム３２０は、操作部１１１を省電力状態から、処理を実行することができる通常状態へ移行させる。
【０１１７】
ステップＳ７０４において、制御システム３２０は、操作部１１１が起動したことを示す起動通知を、本体１１２に通知する。
【０１１８】
ステップＳ７０６において、本体１１２の状態制御部３５０は、制御システム３２０が起動中であることを示す状態通知をサーブレット３４０に通知する。
【０１１９】
なお、操作部１１１が起動中である場合は、ステップＳ７０３〜Ｓ７０５の処理は省略することができる。
【０１２０】
ステップＳ７０７において、サーブレット３４０の通知部３４２は、受付した同期要求を処理情報受信部３１３に通知する。
【０１２１】
ステップＳ７０８において、操作部１１１の処理情報受信部３１３は、ワークフローアプリ３１１が起動していない場合、サーブレット３４０から通知された同期要求を通知するために、ワークフローアプリ３１１を起動させる。なお、ワークフローアプリ３１１が起動している場合、ステップＳ７０８の処理は省略することができる。
【０１２２】
ステップＳ７０９において、操作部１１１の処理情報受信部３１３は、サーブレット３４０から通知された同期要求をワークフローアプリ３１１に通知する。
【０１２３】
ステップＳ７１０において、ワークフローアプリ３１１は、通知された同期要求に含まれるＷＦ情報を用いて、ワークフローを更新する。
【０１２４】
ステップＳ７１１において、ファクス送信装置１４０が、画像形成装置１１０に対してファクス送信を行うものとする。
【０１２５】
ステップＳ７１２において、本体１１２のファクス送受信部３６０は、ファクス送信装置１４０から送信されたファクスを受信する。
【０１２６】
ステップ７１３において、本体１１２のファクス送受信部３６０は、状態制御部３５０に操作部１１１の状態を問合せする。
【０１２７】
ステップＳ７１４において、本体１１２の状態制御部３５０は、操作部１１１が起動中でない場合、操作部１１１に起動を要求する起動要求を行う。
【０１２８】
ステップＳ７１５において、操作部１１１の制御システム３２０は、本体１１２からの起動要求に応じて操作部１１１を起動させる。
【０１２９】
ステップＳ７１６において、制御システム３２０は、操作部１１１が起動したことを示す起動通知を、本体１１２に通知する。
【０１３０】
ステップＳ７１７において、本体１１２の状態制御部３５０は、制御システム３２０が起動中であることを示す状態通知をファクス送受信部３６０に通知する。
【０１３１】
なお、操作部１１１が起動中である場合は、ステップＳ７１４〜Ｓ７１６の処理は省略することができる。
【０１３２】
ステップＳ７１８において、ファクス送受信部３６０は、一例として、ファクスデータを含むファクス受信通知を操作部１１１の制御システム３２０に通知する。なお、このとき、図６のステップＳ６０８、Ｓ６０９に示すように、ファクス送受信部３６０は、ファクスデータを記憶部３８０に記憶し、ジョブＩＤを含むファクス受信通知を操作部１１１の制御システム３２０に通知するものであっても良い。
【０１３３】
ステップＳ７１９において、制御システム３２０のインテント管理部３２１は、通知されたファクス受信通知が、インテント受信部３１２のインテントフィルタ４２２に登録されていることを確認し、ファクス受信通知をインテント受信部３１２に通知する。
【０１３４】
ステップＳ７２０において、操作部１１１のインテント受信部３１２は、ワークフローアプリ３１１が起動していない場合、制御システム３２０から通知されたファクス受信通知を通知するために、ワークフローアプリ３１１を起動させる。なお、ワークフローアプリ３１１が起動している場合、ステップＳ７２０の処理は省略することができる。
【０１３５】
ステップＳ７２１において、操作部１１１のインテント受信部３１２は、制御システム３２０から通知されたファクス受信通知をワークフローアプリ３１１に通知する。
【０１３６】
ステップＳ７２２において、ワークフローアプリ３１１は、ステップＳ７１０で更新した、ファクス受信を契機として所定の処理を実行するワークフローの実行を開始する。例えば、ワークフローアプリ３１１は、ファクス受信通知に含まれるファクスデータを用いて、ワークフローに定義された処理を順次に実行する。
【０１３７】
上記の処理により、画像形成装置１１０は、ワークフローアプリ３１１が起動していないとき、及び操作部１１１が起動していないときでも、サーバ装置１２０からの同期要求に応じてＷＦ情報を更新し、ワークフローを実行することができるようになる。
【０１３８】
［第２の実施形態］
第１の実施形態で示した画像形成装置１１０のように、Ａｎｄｒｏｉｄ ＯＳ等で動作する操作部１１１は、制御システム３２０、及びアプリケーション３１０が処理を実行できない省電力状態に移行する場合がある。
【０１３９】
このような場合、例えば、操作部１１１で実行されるワークフローアプリ３１１は、ワークフローに定義された実行すべき処理がある場合でも、自発的に処理を開始することは困難である。
【０１４０】
また、Ａｎｄｒｏｉｄ ＯＳ等で動作する操作部１１１では、制御システム３２０は、ワークフローアプリ３１１が処理を実行中であっても、例えば、メモリの状態等により、ワークフローアプリ３１１をキル（強制終了）させる場合がある。このような場合、ワークフローアプリ３１１の処理を継続することができず、例えば、配信先に配信データを配信する処理等が中断されてしまう場合がある。
【０１４１】
第２の実施形態では、操作部１１１が省電力状態に移行した場合や、制御システム３２０によりワークフローアプリ３１１がキルされた場合等であっても、ワークフローアプリ３１１がワークフローを実行することができるようにする場合の例について説明する。
【０１４２】
＜機能構成＞
図８は、第２の実施形態に係る画像形成装置の機能構成の一例を示す図である。
【０１４３】
（本体の機能構成）
図８に示すように、第２の実施形態に係る本体１１２は、タイマ部８２０を有している。タイマ部８２０は、例えば、図２のＣＰＵ２１１で実行されるプログラムによって実現される。或いは、タイマ部８２０は、ハードウェアによって実現されるものであっても良い。
【０１４４】
タイマ部（タイマ手段）８２０は、ワークフローアプリ３１１の通知タイマ登録部８１１によって登録された時間に、通知タイマ登録部８１１によって登録されたインテント、又は所定のインテントをワークフローアプリ３１１に通知する。
【０１４５】
また、タイマ部８２０は、ワークフローアプリの起動タイマ登録部８１２によって登録された時間に、操作部１１１、及びワークフローアプリ３１１を起動させる。
【０１４６】
なお、第２の実施形態に係る本体１１２は、サーブレット３４０を有していても良いし、有していなくても良い。また、上記以外の、本体１１２の機能構成は、図３に示す第３の実施形態に係る本体１１２の機能構成と同様である。
【０１４７】
（操作部の機能構成）
操作部１１１で実行される第２の実施形態に係るワークフローアプリ３１１は、通知タイマ登録部８１１、及び起動タイマ登録部８１２のうち、少なくとも１つを有している。なお、第２の実施形態に係るワークフローアプリ３１１は、サーブレット制御部３１６を有していても良いし、有していなくても良い。
【０１４８】
通知タイマ登録部（通知タイマ登録手段）８１１は、タイマ部８２０に、インテントをワークフローアプリ３１１に通知する時間、通知するインテント等の情報を登録する。これにより、ワークフローアプリ３１１は、登録した時間に所定のインテントを、操作部１１１やワークフローアプリ３１１が起動していない場合であっても、ワークフローアプリ３１１に通知することができる。
【０１４９】
起動タイマ登録部（起動タイマ登録手段）８１２は、タイマ部８２０に、操作部１１１、及びワークフローアプリ３１１の起動を要求する時間を登録する。これにより、ワークフローアプリ３１１は、登録した時間に、操作部１１１、及びワークフローアプリ３１１を起動させることができる。
【０１５０】
また、本実施形態に係るアプリ情報登録部３１４は、タイマ部８２０から通知されるインテントを、ワークフローアプリ３１１が受信することができるように、タイマ部８２０から通知されるインテントに関する登録情報を制御システム３２０に登録する。
【０１５１】
なお、上記以外の、操作部１１１の機能構成は、図３に示す第１の実施形態に係る操作部１１１の機能構成と同様である。
【０１５２】
＜処理の流れ＞
図９は、第２の実施形態に係る情報処理システムの処理の例を示すフローチャートである。
【０１５３】
ステップＳ９０１において、ワークフローアプリ３１１の通知タイマ登録部８１１は、タイマ部８２０にタイマ情報（インテントを通知する時間、通知するインテント等）を登録する。
【０１５４】
或いは、ワークフローアプリ３１１の起動タイマ登録部８１２は、タイマ部８２０にタイマ情報（操作部１１１、及びワークフローアプリを起動させる時間）を登録する。
【０１５５】
ステップＳ９０２において、タイマ部８２０は、登録された時間になったと判断すると、処理をステップＳ９０３に移行させる。
【０１５６】
ステップＳ９０３において、タイマ部８２０は、操作部１１１が起動しているかを、例えば、状態制御部３５０に問合せすることにより判断する。
【０１５７】
操作部１１１が起動している場合、タイマ部８２０は、処理をステップＳ９０５に移行させる。一方、操作部１１１が起動していない場合、ステップＳ９０４において、状態制御部３５０は、操作部１１１を起動させる。
【０１５８】
ステップＳ９０５に移行すると、タイマ部８２０は、操作部１１１の制御システム３２０にインテントの通知を要求する。
【０１５９】
このとき、タイマ部８２０が通知を要求するインテントは、ステップＳ９０１で、通知タイマ登録部８１１によってタイマ情報が設定された場合、タイマ情報で指定されたインテント（又は所定のインテント）である。一方、ステップＳ９０１で、起動タイマ登録部８１２によってタイマ情報が設定された場合、予め定められたインテント（例えば、起動要求用のインテント等）である。
【０１６０】
ステップＳ９０６において、制御システム３２０のインテント管理部３２１は、予め登録されたタイマ部８２０からのインテントであることを確認し、要求されたインテントをインテント受信部３１２に通知する。
【０１６１】
ステップＳ９０７において、インテント受信部３１２は、ワークフローアプリ３１１が起動しているかを判断する。
【０１６２】
ワークフローアプリ３１１が起動している場合、インテント受信部３１２は、処理をステップＳ９０９へ移行させる。一方、ワークフローアプリ３１１が起動していない場合、ステップＳ９０８において、インテント受信部３１２は、ワークフローアプリ３１１を起動させる。
【０１６３】
ステップＳ９０９に移行すると、ワークフローアプリ３１１の処理実行部３１５は、実行する処理があるかを判断する。
【０１６４】
一例として、通知されたインテントが、新たに受信されたファクス受信データに対するワークフローの実行を指示する情報である場合、処理実行部３１５は、本体１１２の記憶部３８０に、新たに記憶されたファクス受信データがあるかを判断する。ファクス受信データがない場合、処理実行部３１５は、実行する処理がないと判断し、処理をステップＳ９１１に移行させる。一方、ファクス受信データがある場合、処理実行部３１５は、実行する処理があると判断し、ステップＳ９１０において、ファクス受信データに対してワークフローを実行する。
【０１６５】
別の一例として、通知されたインテントが、ワークフローアプリの起動を要求するインテントである場合、ワークフローアプリ３１１は、中断された、実行途中のワークフロー（実行する処理の一例）があるかを判断する。実行する処理がない場合、ワークフローアプリ３１１の処理実行部３１５は、処理をステップＳ９１１に移行させる。一方、実行する処理がある場合、ステップＳ９１０において、処理実行部３１５は、実行途中のワークフロー（所定の処理の一例）を再開させる。
【０１６６】
ステップＳ９１１において、通知タイマ登録部８１１、又は起動タイマ登録部８１２は、処理を終了させるかを判断する。
【０１６７】
一例として、通知タイマ登録部８１１は、１２時間毎にファックス受信データに関する処理等の定期処理を実行する場合、１２時間後に所定のインテントが通知されるようにタイマ情報を繰り返し設定する。
【０１６８】
これにより、ワークフローアプリ３１１は、操作部１１１やワークフローアプリ３１１が起動していない場合でも、所定の時間間隔で定期的に実行する処理（定期処理）を繰り返し実行することができるようになる。
【０１６９】
また、別の一例として、起動タイマ登録部８１２は、ワークフローに定義された処理が完了するまで、例えば、１０分後に操作部１１１、及びワークフローアプリ３１１を起動させるようにタイマ情報を繰り返し設定する。
【０１７０】
これにより、ワークフローアプリ３１１は、ワークフローに定義された処理を実行中に、操作部１１１が省電力状態に移行した場合、又は制御システム３２０によりワークフローアプリ３１１がキルされた場合でも、１０分後に処理を再開することができる。従って、ワークフローアプリ３１１が実行するワークフォローが、制御システム３２０によって停止される時間を低減させることができる。
【０１７１】
このように、本実施形態によれば、操作部１１１が省電力状態に移行した場合や、制御システム３２０によりワークフローアプリ３１１がキルされた場合等であっても、ワークフローアプリ３１１がワークフローを実行することができるようになる。
【０１７２】
なお、図８に示す第２の実施形態に係る画像形成装置１１０の機能構成は一例である。第２の実施形態に係る画像形成装置１１０は、例えば、図１０に示すように、サーブレット制御部３１６、サーブレット３４０、及び処理情報受信部３１３等を有していても良い。つまり、第２の実施形態は、第１の実施形態と組合せて適用することができる。
【０１７３】
また、上記の説明では、タイマ部８２０が本体１１２に含まれているものとして説明を行ったが、タイマ部８２０は、例えば、本体１１２や操作部１１１とは独立して設けられているものであっても良いし、操作部１１１に設けられているものであっても良い。
【符号の説明】
【０１７４】
１００      情報処理システム
１１０      画像形成装置（画像処理装置）
１２０      サーバ装置（外部装置）
１１１      操作部（操作装置）
１１２      本体（実行装置）
３１１      ワークフローアプリ（第１のプログラム）
３１４      アプリ情報登録部（プログラム情報登録手段）
３１５      処理実行部
３１６      サーブレット制御部（プログラム制御手段）
３２０      制御システム
３４０      サーブレット（第２のプログラム）
３５０      状態制御部（状態制御手段）
８１１      通知タイマ登録部（通知タイマ登録手段）
８１２      起動タイマ登録部（起動タイマ登録手段）
８２０      タイマ部（タイマ手段）
【先行技術文献】
【特許文献】
【０１７５】
【特許文献１】特開２０１３−１０６１５９号公報
【図１】
2018156490.tif 000003
【図２】
2018156490.tif 000004
【図３】
2018156490.tif 000005
【図４】
2018156490.tif 000006
【図５】
2018156490.tif 000007
【図６】
2018156490.tif 000008
【図７】
2018156490.tif 000009
【図８】
2018156490.tif 000010
【図９】
2018156490.tif 000011
【図１０】
2018156490.tif 000012