(57)【要約】【課題】配信ジョブに関するイベントを適切に通知することのできる画像形成装置の提供を目的とする。【解決手段】原稿より画像データを読み取る読取手段と、読み取られた画像データに関する配信ジョブの実行要求をネットワークを介して配信装置へ送信する配信要求手段と、前記配信ジョブのキャンセル要求に応じ、前記配信装置に該配信ジョブのキャンセルを実行させるジョブ管理手段と、前記イベント送信手段は、前記配信ジョブのキャンセルに成功したときは、キャンセルによって配信ジョブが終了したことを示す前記ジョブ完了イベントをログ記録装置に送信し、キャンセル対象の配信ジョブが既に完了していることによりキャンセルに失敗したときは、キャンセルに失敗したことを示すジョブ状態イベントと、配信ジョブが完了したことを示す前記ジョブ完了イベントとを前記ログ記録装置に送信するイベント送信手段とを有する。【選択図】図２
2010166408.tif 000002
【特許請求の範囲】
【請求項１】
原稿より画像データを読み取る読取手段と、
読み取られた画像データに関する配信ジョブの実行要求をネットワークを介して配信装置へ送信する配信要求手段と、
前記配信ジョブのキャンセル要求に応じ、前記配信装置に該配信ジョブのキャンセルを実行させるジョブ管理手段と、
前記イベント送信手段は、前記配信ジョブのキャンセルに成功したときは、キャンセルによって配信ジョブが終了したことを示す前記ジョブ完了イベントをログ記録装置に送信し、キャンセル対象の配信ジョブが既に完了していることによりキャンセルに失敗したときは、キャンセルに失敗したことを示すジョブ状態イベントと、配信ジョブが完了したことを示す前記ジョブ完了イベントとを前記ログ記録装置に送信するイベント送信手段とを有する画像形成装置。
【請求項２】
前記ジョブ管理手段は、当該画像形成装置が備える入力手段より入力される、又はネットワークを介して受信されるキャンセル要求に応じ、前記配信装置に配信ジョブのキャンセルを実行させ、
前記イベント送信手段は、前記入力手段より第一のキャンセル要求が入力された後に同一の配信ジョブに対してネットワークを介して第二のキャンセル要求が受信されたときは、前記第一のキャンセル要求に基づいて該配信ジョブのキャンセルが成功した後に該配信ジョブがキャンセルによって終了したことを示す前記ジョブ完了イベントのみを前記ログ記録装置に送信する請求項１記載の画像形成装置。
【請求項３】
ネットワークを介して受信される配信ジョブのキャンセル要求の送信元の第一の識別情報と、配信ジョブのキャンセルが許可された装置の識別情報として記憶手段に記録されている第二の識別情報とを比較し、両者が一致しないときは該キャンセル要求は不正であると判定する不正要求検知手段を有する請求項１又は２記載の画像形成装置。
【請求項４】
前記イベント送信手段は、前記キャンセル要求は不正であると判定されたときに、不正なキャンセル要求が有ったことを示す前記ジョブ状態イベントを前記ログ記録装置に送信する請求項３記載の画像形成装置。
【請求項５】
前記不正要求検知手段は、前記キャンセル要求は不正であると判定したときに前記第一の識別情報を記憶手段に記録し、
前記イベント送信手段は、前記第一の識別情報の記録後にネットワークを介して受信される配信ジョブのキャンセル要求の送信元の識別情報が前記第一の識別情報と一致するときは、不正なキャンセル要求が有ったことを示す前記ジョブ状態イベントを前記ログ記録装置に送信しない請求項４記載の画像形成装置。
【請求項６】
前記イベント送信手段は、前記第一の識別情報の記録後にネットワークを介して受信される配信ジョブのキャンセル要求の送信元の識別情報が前記第一の識別情報と一致した場合に、前記第一の識別情報の記録時から所定期間内であるとき、又は前記識別情報が前記第一の識別情報と一致する前記キャンセル要求の回数が前記第一の識別情報の記録時から所定回数以内であるときは不正なキャンセル要求が有ったことを示す前記ジョブ状態イベントを前記ログ記録装置に送信しない請求項５記載の画像形成装置。
【請求項７】
画像形成装置が実行するイベント通知方法であって、
原稿より画像データを読み取る読取手順と、
読み取られた画像データに関する配信ジョブの実行要求をネットワークを介して配信装置へ送信する配信要求手順と、
前記配信ジョブのキャンセル要求に応じ、前記配信装置に該配信ジョブのキャンセルを実行させるジョブ管理手順とを有し、
前記配信ジョブのキャンセルに成功したときは、キャンセルによって配信ジョブが終了したことを示す前記ジョブ完了イベントを前記ログ記録装置に送信し、キャンセル対象の配信ジョブが既に完了していることによりキャンセルに失敗したときは、キャンセルに失敗したことを示すジョブ状態イベントと、配信ジョブが完了したことを示す前記ジョブ完了イベントとを前記ログ記録装置に送信するイベント送信手順とを有するイベント通知方法。
【請求項８】
前記ジョブ管理手順は、当該画像形成装置が備える入力手段より入力される、又はネットワークを介して受信されるキャンセル要求に応じ、前記配信装置に配信ジョブのキャンセルを実行させ、
前記イベント送信手順は、前記入力手順より第一のキャンセル要求が入力された後に同一の配信ジョブに対してネットワークを介して第二のキャンセル要求が受信されたときは、前記第一のキャンセル要求に基づいて該配信ジョブのキャンセルが成功した後に該配信ジョブがキャンセルによって終了したことを示す前記ジョブ完了イベントのみを前記ログ記録装置に送信する請求項７記載のイベント通知方法。
【請求項９】
画像形成装置、
原稿より画像データを読み取る読取手順と、
読み取られた画像データに関する配信ジョブの実行要求をネットワークを介して配信装置へ送信する配信要求手順と、
前記配信ジョブのキャンセル要求に応じ、前記配信装置に該配信ジョブのキャンセルを実行させるジョブ管理手順とを有し、
前記配信ジョブのキャンセルに成功したときは、キャンセルによって配信ジョブが終了したことを示す前記ジョブ完了イベントを前記ログ記録装置に送信し、キャンセル対象の配信ジョブが既に完了していることによりキャンセルに失敗したときは、キャンセルに失敗したことを示すジョブ状態イベントと、配信ジョブが完了したことを示す前記ジョブ完了イベントとを前記ログ記録装置に送信するイベント送信手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、イベント通知方法、及びプログラムに関し、特に配信ジョブに関するイベントをネットワークを介したコンピュータに通知する画像形成装置、イベント通知方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、スキャナを有する画像形成装置においてスキャンされた画像データを配信サーバに転送し、設定された配信先への画像データの配信を当該配信サーバに実行させる配信システムが存在する。
【０００３】
配信サーバによって配信処理の制御が行われることにより、ハードウェアリソースの乏しい画像形成装置の負荷を軽減することができる。その結果、画像形成装置のハードウェアリソースを本来の機能（印刷、スキャン、コピー等）に振り向けることができる。
【０００４】
ところで、コンピュータシステムにおいては、障害解析、課金情報の記録、又はセキュリティの確保等、各種の用途を目的としてログが記録されるのが一般的である。配信システムも同様に、配信ジョブに関するログの記録が必要とされる。画像形成装置のハードウェアリソースの消費量の抑制の観点からは、配信ジョブのログの記録先は、画像形成装置以外のコンピュータ（以下、「ログ記録装置」という。）であることが望ましい。この場合、画像形成装置は、配信ジョブに関して発生する各種のイベントを逐一ログ記録装置に通知する必要がある。ログ記録装置では、画像形成装置より通知されるイベントによってログの記録が可能となるからである。
【特許文献１】特開２００８−９７５８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、配信ジョブに対してキャンセルの実行が可能とされる場合、画像形成装置からログ記録装置へのイベントの通知が適切に行われなければ、冗長又は解析しづらいログが記録されたり、ネットワーク負荷を不要に高めてしまったりする可能性がある。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、配信ジョブに関するイベントを適切に通知することのできる画像形成装置、イベント通知方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、本発明は、原稿より画像データを読み取る読取手段と、読み取られた画像データに関する配信ジョブの実行要求をネットワークを介して配信装置へ送信する配信要求手段と、前記配信ジョブのキャンセル要求に応じ、前記配信装置に該配信ジョブのキャンセルを実行させるジョブ管理手段と、前記イベント送信手段は、前記配信ジョブのキャンセルに成功したときは、キャンセルによって配信ジョブが終了したことを示す前記ジョブ完了イベントをログ記録装置に送信し、キャンセル対象の配信ジョブが既に完了していることによりキャンセルに失敗したときは、キャンセルに失敗したことを示すジョブ状態イベントと、配信ジョブが完了したことを示す前記ジョブ完了イベントとを前記ログ記録装置に送信するイベント送信手段とを有する。
【０００８】
このような画像形成装置では、配信ジョブに関するイベントを適切に通知することができる。
【発明の効果】
【０００９】
本発明によれば、配信ジョブに関するイベントを適切に通知することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態における配信システムの構成例を示す図である。同図において、配信システム１は、画像形成装置１０、配信サーバ２０、管理端末３０、及びディレクトリサーバ４０等を含む。
【００１１】
画像形成装置１０は、配信ジョブの実行指示の入力を受け付ける。本実施の形態において、配信ジョブとは、画像形成装置１０においてスキャンされた画像データを配信サーバ２０が配信するまでの一連の処理をいう。配信サーバ２０は、画像形成装置１０によって読み取られた画像データの配信処理を実行するコンピュータである。同図では、配信ジョブにおける画像データの配信先として、Ｗｅｂサーバ５１、ファイル共有サーバ５２、及びメールサーバ５３が例示されている。
【００１２】
管理端末３０は、配信システム１の管理者が利用するＰＣ（Personal Computer）等のコンピュータである。管理者は、管理端末３０を介して、スキャン及び配信に関する設定情報（以下、「配信設定情報」という。）をユーザ又はグループごとに設定する。すなわち、配信ジョブに対する設定情報は、ジョブの実行時に各ユーザによって設定されるのではなく、予め管理者によって設定される。また、管理者は、管理端末３０を介して、配信サーバ２０に蓄積されている配信ジョブの操作（例えば、配信ジョブのキャンセル等）を行う。
【００１３】
ディレクトリサーバ４０は、配信システム１を利用するユーザの認証機能や、配信設定情報の管理機能等を有するコンピュータである。
【００１４】
なお、画像形成装置１０は、配信サーバ２０、管理端末３０、及びディレクトリサーバ４０と通信可能である。また、管理端末３０はディレクトリサーバ４０と通信可能である。但し、図１に示される全ての装置が相互に通信可能であってもよい。ここで、通信可能とは、ＬＡＮ（Local Area Network）等のネットワークを介して接続されていたり、無線ＬＡＮ（Local Area Network）等によって通信可能であったりすることをいう。
【００１５】
図２は、第一の実施の形態における配信システムの機能構成例を示す図である。同図における各部は、各装置にインストールされたプログラムが各装置のＣＰＵに実行させる処理によって実現される。
【００１６】
管理端末３０は、配信設定受付部３１、ジョブ操作部３２、及びログ記録部３３等を含む。
【００１７】
配信設定受付部３１は、ユーザ又はグループごとの配信設定情報の入力を管理者より受け付け、当該配信設定情報をディレクトリサーバ４０に登録する。配信設定情報には、配信対象とする画像データのスキャンに関する設定情報（スキャン条件）、及び配信に関する設定情報（配信条件）が含まれる。スキャンに関する設定情報には、例えば、読み取り解像度、カラーモード等が含まれる。また、配信に関する設定情報には、配信方法（メール、ファイル転送等の別）、配信先に関する情報が含まれる。配信設定受付部３１は、また、入力された配信設定情報をディレクトリサーバ４０に登録する前に、当該配信設定情報の妥当性を画像形成装置１０に検証させる。
【００１８】
ジョブ操作部３２は、配信サーバ２０において実行中又は蓄積されている配信ジョブの操作要求を管理者より受け付け、当該操作要求を画像形成装置１０に送信する。本実施の形態では、配信ジョブのキャンセル要求が操作要求として入力される。ログ記録部３３は、配信ジョブに関して発生したイベントを画像形成装置１０より受信し、配信ジョブに関するログを管理端末３０の記憶装置に記録する。
【００１９】
画像形成装置１０は、配信設定検証部１２１、認証制御部１２２、配信制御部１２３、スキャナ制御部１２４、ジョブ管理部１２５、不正要求検知部１２６、及びイベント通知部１２７等を有する。
【００２０】
配信設定検証部１２１は、管理端末３０の配信設定受付部３１からの要求に応じ、配信設定情報の妥当性を検証する。配信設定情報の妥当性とは、配信設定情報に含まれているスキャンに関する設定情報に、画像形成装置１０が対応可能であるか否か（対応する能力を有するか否か）をいう。例えば、配信設定情報においてフルカラーによる読み取りが設定されている場合に、画像形成装置１０がモノクロの読み取りしか対応できない場合は、当該配信設定情報は妥当でないと判定される。
【００２１】
認証制御部１２２は、画像形成装置１０のユーザの認証処理を制御する。実際の認証処理はディレクトリサーバ４０に委譲される。認証されたユーザのみが、配信のためのスキャンを画像形成装置１０に実行させることができる。配信制御部１２３は、配信ジョブの前段処理（配信対象とする画像データを配信設定情報に従ってスキャンし、スキャンされた画像データの配信要求を配信サーバ２０へ送信する処理）の実行を制御する。スキャナ制御部１２４は、画像形成装置１０が備えるスキャナを制御し、原稿より画像データを読み取る。
【００２２】
ジョブ管理部１２５は、管理端末３０のジョブ操作部３２からの配信ジョブの操作要求に応じた処理を実行する。不正要求検知部１２６は、不正な端末からの配信ジョブの操作要求を検知する。本実施の形態では、配信ジョブの操作要求は、画像形成装置１０の操作パネル又は管理端末３０のみから受け付け可能とされている。すなわち、画像データの配信指示を画像形成装置１０に対して入力したユーザ及び管理者に対してのみ配信ジョブの操作が許可されている。したがって、不正要求検知部１２６は、管理端末３０以外からのネットワークを介した操作要求は、不正な端末からの操作要求であると判定する。なお、本実施の形態では、操作要求の一例として、配信ジョブのキャンセル要求が採用される。
【００２３】
イベント通知部１２７は、配信ジョブに関するイベントを管理端末３０のログ記録部３３に通知する。
【００２４】
ディレクトリサーバ４０は、配信設定管理部４１、認証処理部４２、及びユーザＤＢ４３等を有する。配信設定管理部４１は、管理端末３０の配信設定受付部３１より転送される配信設定情報をユーザＤＢ４３に登録する。配信管理部４１は、また、画像形成装置１０の配信制御部１２３からの要求に応じ、ユーザＤＢ４３に登録されている配信設定情報を配信制御部１２３に対して送信する。認証処理部４２は、画像形成装置１０の認証制御部１２３からの要求に応じ、ユーザＤＢ４３に登録されている認証情報（例えば、ユーザ名及びパスワード）を用いて画像形成装置１０のユーザを認証する。ユーザＤＢ４３は、ユーザ又はグループごとに認証設定情報を記憶すると共に、ユーザごとに認証情報を記憶したデータベースである。
【００２５】
配信サーバ２０は、配信ジョブ受信部２１及び配信ジョブ処理部２２を有する。配信ジョブ受信部２１は、画像形成装置１０の配信制御部１２３より配信ジョブを受信する。配信ジョブ処理部２２は、配信ジョブ受信部２１によって受信された配信ジョブについて後段処理（配信設定情報において設定された宛先に画像データを配信する処理）を実行する。
【００２６】
図３は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図３において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００２７】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記録される。
【００２８】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、画像データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行されうる。
【００２９】
なお、本実施の形態の実施にあたり、画像形成装置１０は、プリンタ１３及びモデム１４を備えていなくてもよい。
【００３０】
以下、配信システム１の処理手順について説明する。図４は、配信設定情報の登録処理を説明するためのシーケンス図である。
【００３１】
ステップＳ１０１において、管理端末３０の配信設定受付部３１は、管理者より配信設定情報の入力を受け付ける。配信設定情報は、例えば、配信設定受付部３１が管理端末３０の表示装置に表示させる配信設定画面を介して入力される。配信設定画面では、ユーザ又はグループごとに配信設定情報（スキャンに関する設定情報及び配信に関する設定情報等）の入力が可能とされている。したがって、管理者は、ユーザ又はグループごとに、当該ユーザ又はグループに許可可能なスキャン方法や配信先等を考慮して、配信設定情報を入力する。なお、一度の入力作業において、複数のユーザ又はグループに対して配信設定情報が入力されてもよい。また、一人のユーザ又は一つのグループに対して複数の配信設定情報が入力されてもよい。なお、各配信設定情報には、それぞれの設定内容を識別可能な名前（設定名）も設定される。
【００３２】
続いて、配信設定受付部３１は、入力された配信設定情報を画像形成装置１０の配信設定検証部１２１に送信し、当該配信設定情報の妥当性の検証を要求する（Ｓ１０２）。妥当性の検証要求の受信に応じ、配信設定検証部１２１は、当該検証要求の送信元のＩＰアドレスを管理端末３０の識別情報としてＨＤＤ１１４に記録しておく（Ｓ１０３）。なお、当該検証要求の送信元のＩＰアドレスは、当該検証要求を示すメッセージに含まれている。
【００３３】
続いて、配信設定検証部１２１は、画像形成装置１０のスキャンに関する能力情報と配信設定情報に含まれているスキャンに関する設定情報とを比較し、配信設定情報の妥当性を検証する（Ｓ１０４）。ここで、能力情報とは、例えば、画像形成装置１０が実行するスキャンジョブに対して設定可能な設定項目の一覧情報をいい、画像形成装置１０のＨＤＤ１１４に保存されている。したがって、配信設定検証部１２１は、能力情報に含まれていない設定項目が配信設定情報に含まれている場合、当該配信設定情報は妥当でないと判定する。一方、配信設定検証部１２１は、配信設定情報に含まれているスキャンに関する設定情報の設定項目の全てが、能力情報に含まれている場合、当該配信設定情報は妥当であると判定する。続いて、配信設定検証部１２１は、検証結果を配信設定受付部３１に返信する（Ｓ１０５）。続いて、配信設定受付部３１は、妥当であると判定された配信設定情報をディレクトリサーバ４０の配信設定管理部４１に送信し、当該配信設定情報の登録を要求する（Ｓ１０６）。配信設定管理部４１は、受信された配信設定情報を設定対象のユーザ又はグループに関連付けて、ユーザＤＢ４３に登録する。
【００３４】
続いて、図５は、配信ジョブの処理手順を説明するためのシーケンス図である。図５では、或るユーザ（管理者以外の一般ユーザも含む）によって画像形成装置１０において操作が行われる。
【００３５】
画像形成装置１０の操作パネル１５を介して、ユーザによって配信ジョブの開始指示が入力されると、認証制御部１２２は、ログイン画面を操作パネル１５に表示させる。ユーザは、ログイン画面を介して自らの認証情報（ユーザ名及びパスワード）を入力する（Ｓ１１１）。認証制御部１２２は、入力された認証情報に基づく認証をディレクトリサーバ４０の認証処理部４２に実行させる（Ｓ１１２）。より詳しくは、認証制御部１２２は、入力された認証情報を認証処理部４２に転送する。認証処理部４２は、当該認証情報をユーザＤＢ４３に登録されている認証情報と照合し、ユーザの認証を行う。認証処理部４２は、認証結果を認証制御部１２２に返信する。
【００３６】
認証に成功した場合、配信制御部１２３は、認証されたユーザ（以下、「ログインユーザ」という。）に対して登録された配信設定情報をディレクトリサーバ４０の配信設定管理部４１より取得する（Ｓ１１３）。より詳しくは、配信制御部１２３は、ログインユーザのユーザ名を指定して配信設定情報の取得要求を配信設定管理部４１に送信する。配信設定管理部４１は、当該ユーザ名に対して登録されている配信設定情報をユーザＤＢ４３より取得する。ここでは、複数の配信設定情報が取得されうる。配信設定管理部４１は、取得されたユーザ設定情報を配信制御部１２３に返信する。
【００３７】
続いて、配信制御部１２３は、受信された配信設定情報の一覧（すなわち、ログインユーザに対して管理者によって設定された配信設定情報の一覧）を操作パネル１５に表示させる（Ｓ１１４）。例えば、配信設定情報の設定名の一覧が表示される。一覧に含まれる各配信設定情報は、その設定内容（例えば、スキャン方法や配信方法等）が相互に異なる。したがって、ユーザは、一覧の中から所望のスキャン方法及び配信方法に対応した配信設定情報を選択する（Ｓ１１５）。配信制御部１２３は、選択された配信設定情報を実行対象としてＲＡＭ１１２に記録する。続いて、ユーザによって配信対象とする原稿がスキャナ１２にセットされ、操作パネル１５の実行ボタン（スタートキー）が押下されると（Ｓ１１７）、配信制御部１２３は、配信ジョブを開始する。配信ジョブの開始に際し、配信制御部１２３は、各配信ジョブに一意なＩＤ（ジョブＩＤ）を開始対象の配信ジョブに割り当て、当該ジョブＩＤに対応するエントリをジョブ管理テーブルに生成する。
【００３８】
図６は、ジョブ管理テーブルの構成例を示す図である。同図において、ジョブ管理テーブル１２８は、ジョブＩＤごとに設定名及びステータスを管理するためのテーブルである。設定名は、ジョブＩＤに係る配信ジョブにおいて利用された配信設定情報の設定名である。ステータスは配信ジョブの状態を示す情報であり、開始時には「開始」が登録される。図６では、ジョブＩＤが「００２」の配信ジョブに対するエントリが追加された状態が示されている。
【００３９】
続いて、配信制御部１２３は、ジョブ状態イベントの管理端末３０への送信をイベント通知部１２７に要求する。イベント通知部１２７は、管理端末３０のログ記録部３３にジョブ状態イベントを送信する（Ｓ１１８）。ジョブ状態イベントとは、配信ジョブの完了又は終了以外の事象であって、配信ジョブに関して発生する各種の事象（例えば、配信ジョブの状態の変化等）を通知するための通知情報をいう。本実施の形態において、ジョブ状態イベントは、ジョブの開始、ジョブのキャンセルの失敗、不正なジョブキャンセルの検知を通知されるために用いられる。ステップＳ１１８では、ジョブの開始を示すジョブ状態イベントが送信される。すなわち、ステップＳ１１８において送信されるジョブ状態イベントには、開始された配信ジョブのジョブＩＤと、ジョブの開始を示す識別子とが属性情報として含まれている。なお、画像形成装置１０のＨＤＤ１１４には、配信設定検証部１２１によって管理端末３０の識別情報（ＩＰアドレス）が記録されている。イベント通知部１２７は、当該識別情報に基づいてイベントの送信先を判断する。
【００４０】
当該ジョブ状態イベントを受信したログ記録部３３は、当該ジョブ状態イベントの属性情報に基づいて配信ジョブに関するログを管理端末３０の記憶装置に記録する。
【００４１】
続いて、配信制御部１２３は、スキャナ制御部１２４にスキャンの実行指示を入力する。スキャナ制御部１２４は、当該実行指示に応じ、スキャナ１２を制御し、原稿からの画像データの読み取り（スキャン）を実行する（Ｓ１１９）。この際、スキャナ制御部１２４は、実行対象としてＲＡＭ１１２に記録されている配信設定情報に含まれているスキャンに関する設定情報に従ってスキャンを実行する。スキャナ制御部１２４は、読み取られた画像データをＲＡＭ１１２又はＨＤＤ１１４に記録する。
【００４２】
画像データのスキャンが完了すると、配信制御部１２３は、ＲＡＭ１１２又はＨＤＤ１１４に記録されている画像データと、実行対象とされた配信設定情報と、ジョブＩＤとを配信サーバ２０の配信ジョブ受信部２１に送信し、配信処理の実行を要求する（Ｓ１２０）。配信制御部１２３は、配信サーバ２０への要求の送信後、ジョブ管理テーブル１２８における当該ジョブＩＤのステータスを「処理中」に更新する。
【００４３】
続いて、配信ジョブ受信部２１は、受信されたジョブＩＤをジョブキューに登録し、受信された画像データ及び配信設定情報をジョブＩＤに関連付けて配信サーバ２０の記憶装置に保存する。ジョブキューとは、ジョブの実行順に応じてジョブＩＤが記録された記憶領域をいう。
【００４４】
続いて、配信ジョブ処理部２２は、ジョブキューに登録されたジョブＩＤに基づいて配信ジョブを順番に処理する。具体的には、配信ジョブ処理部２２は、ジョブキューよりジョブＩＤを一つ取り出し、当該ジョブＩＤに関連付けられて保存されている配信設定情報に含まれている配信に関する設定情報に設定されている配信先（例えば、Ｗｅｂサーバ５１、ファイル共有サーバ５２、又はメールサーバ５３）に、当該ジョブＩＤに関連付けられて保存されている画像データを配信する（Ｓ１２１）。例えば、Ｗｅｂサーバ５１に配信された画像データは、Ｗｅｂサーバ５１によってＷｅｂ上に公開される。ファイル共有サーバ５２に配信された画像データは、保存先とされたフォルダに保存される。保存先のフォルダ名は、配信設定情報において配信先を構成する情報として含まれている。メールサーバ５３に配信された画像データは、メール送信される。送信先のメールアドレスは、配信設定情報において配信先を構成する情報として含まれている。
【００４５】
配信ジョブ処理部２２は、配信処理が正常に完了すると、配信処理の完了（正常終了）をジョブＩＤと共に画像形成装置１０の配信制御部１２３に通知する（Ｓ１２２）。当該通知に応じ、配信制御部１２３は、ジョブ管理テーブル１２８における当該ジョブＩＤに対応するステータスを「完了」に更新する。又は、当該ジョブＩＤに係るエントリがジョブ管理テーブル１２８より削除されてもよい。また、配信制御部１２３は、ジョブ完了イベントの管理端末３０への送信をイベント通知部１２７に要求する。イベント通知部１２７は、ジョブ完了イベントを管理端末３０のログ記録部３３に送信する（Ｓ１２３）。ジョブ完了イベントとは、配信ジョブの完了又は終了を通知するための通知情報をいう。全ての配信ジョブは、必ず完了又は終了する。したがって、ジョブ完了イベントは、全ての配信ジョブについて基本的に（通信異常等が発生しない限り）必ず一度発行される。ジョブの完了又は終了には、正常終了によるジョブの完了、中断によるジョブの終了、又はキャンセルによるジョブの終了がある。ジョブ完了イベントには、正常終了、中断、及びキャンセルを識別するための識別子とジョブＩＤとを属性情報として含む。ここでは、配信ジョブは正常終了したため、イベント通知部１２７は、正常終了を示すジョブ完了イベントをログ記録部３３に送信する。
【００４６】
当該ジョブ完了イベントを受信したログ記録部３３は、当該ジョブ状態イベントの属性情報に基づいて配信ジョブに関するログを管理端末３０の記憶装置に記録する。
【００４７】
なお、配信ジョブの完了は、配信ジョブの状態の変化として捉えることができる。したがって、配信ジョブの正常終了に応じて、ジョブ状態イベントも管理端末３０に送信することが考えられる。しかし、本実施の形態において、配信ジョブが正常終了した場合、イベント通知部１２７は、ジョブ状態イベントは送信しない。配信ジョブが正常終了したことを示すジョブ状態イベントを通知したとしても、その内容はジョブ完了イベントに含まれており、実質的に同じ内容を重複して通知することになるからである。正常終了を示すジョブ状態イベントが送信されないことにより、イベント送信が冗長となることが回避される。また、管理端末３０において、配信ジョブが正常終了したことを示すログが重複して記録されることが回避される。
【００４８】
続いて、管理端末３０からの配信ジョブのキャンセルについて説明する。図７は、管理端末からの配信ジョブのキャンセル処理の処理手順を説明するためのシーケンス図である。同図では、管理端末３０において管理者によって操作が行われる。
【００４９】
例えば、ジョブ操作部３２が管理端末３０の表示装置に表示させているジョブ操作画面を介してジョブ一覧の表示指示が管理者によって入力されると（Ｓ１３１）、ジョブ操作部３２は配信ジョブの一覧情報の取得要求を画像形成装置１０のジョブ管理部１２５に送信する（Ｓ１３２）。ジョブ管理部１２５は、ジョブ管理テーブル１２８に登録されている配信ジョブの一覧情報をジョブ操作部３２に返信する（Ｓ１３３）。ジョブ操作部３２は、受信された配信ジョブの一覧（ジョブ一覧）をジョブ操作画面に表示させる（Ｓ１３４）。ジョブ一覧では、例えば、配信ジョブの設定名とステータスの一覧が表示される。
【００５０】
続いて、管理者によってジョブ一覧の中から任意の配信ジョブが選択され、ジョブ操作画面のキャンセルボタンがクリックされると（Ｓ１３５）、ジョブ操作部３２は、選択された配信ジョブのジョブＩＤを指定して、当該配信ジョブのキャンセル要求をジョブ管理部１２５に送信する（Ｓ１３６）。なお、ステップＳ１３５においてキャンセル対象として選択可能な配信ジョブは、ステータスが「開始」又は「処理中」の配信ジョブである。
【００５１】
ジョブ管理部１２５は、配信ジョブのキャンセル要求を受信すると、当該キャンセル要求の正当性の確認を不正要求検知部１２６に要求する。不正要求検知部１２６は、キャンセル要求元のＩＰアドレス（キャンセル要求に含まれているＩＰアドレス）を、管理端末３０の識別情報（すなわち、キャンセルが許可された装置の識別情報）としてＨＤＤ１１４に記録されているＩＰアドレスと比較し、キャンセル要求の正当性を確認する（Ｓ１３７）。不正要求検知部１２６は、両者が一致しない場合、当該キャンセル要求は不正であると判定し、両者が一致した場合、当該キャンセル要求は正当であると判定する。ここでは、管理端末３０がキャンセル要求の送信元であるため、キャンセル要求は正当であると判定される。
【００５２】
ジョブ管理部１２５は、キャンセル要求の正当性が確認されると、キャンセル対象のジョブＩＤを指定して、配信ジョブのキャンセル要求を配信サーバ２０の配信ジョブ受信部２１に送信する（Ｓ１３８）。なお、ジョブ管理部１２５は、キャンセル要求の送信前又は送信後に、ジョブ管理テーブル１２８における当該ジョブＩＤのステータスを「キャンセル中」に更新する。
【００５３】
配信ジョブ受信部２１は、キャンセル要求において指定されたジョブＩＤをジョブキューより削除し、当該ジョブＩＤに関連付けられている画像データ及び配信設定情報を配信サーバ２０の記憶装置より削除する（Ｓ１３９）。これによって、配信ジョブはキャンセルされる。キャンセルに成功すると、配信ジョブ受信部２１は、キャンセルの成功を示す情報をジョブＩＤと共にジョブ管理部１２５に返信する（Ｓ１４０）。
【００５４】
ジョブ管理部１２５は、キャンセルの成功を示す情報を受信すると、ジョブ管理テーブル１２８における当該ジョブＩＤのステータスを「キャンセル済み」に更新する。続いて、ジョブ管理部１２５は、イベント通知部１２７に対してジョブ完了イベントの通知を要求する。イベント通知部１２７は、ジョブＩＤとキャンセルによる終了であることを示す識別子とを属性情報として含むジョブ完了イベントを管理端末３０のログ記録部３３に送信する（Ｓ１４１）。
【００５５】
当該ジョブ完了イベントを受信したログ記録部３３は、当該ジョブ状態イベントの属性情報に基づいて配信ジョブに関するログを管理端末３０の記憶装置に記録する。
【００５６】
なお、キャンセルが成功し、キャンセルによって配信ジョブが終了した場合もジョブ状態イベントの送信は行われない。その理由は、配信ジョブが正常終了した場合と同じである。
【００５７】
続いて、図８は、完了した配信ジョブに対してキャンセルが指示された場合の処理手順を説明するためのシーケンス図である。図８中、図７と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【００５８】
図８では、例えば、ジョブ一覧においてキャンセル指示が行われている最中等に、キャンセル対象の配信ジョブに関する配信処理が配信サーバ２０において実行される（Ｓ１５１）。続いて、配信の完了がジョブＩＤと共に画像形成装置１０の配信制御部１２３に通知される（Ｓ１５２）。当該通知に応じ、配信制御部１２３は、ジョブ管理テーブル１２８における当該ジョブＩＤに対応するステータスを「完了」に変更する。
【００５９】
その後、当該ジョブＩＤに対するキャンセル要求が管理端末３０のジョブ操作部３２より画像形成装置１０のジョブ管理部１２５に送信される（Ｓ１３６）。ここで、指定されたジョブＩＤのステータスは「完了」でありキャンセルすることはできない。そこで、ジョブ管理部１２５は、キャンセルの失敗を通知するためのジョブ状態イベントの送信をイベント通知部１２７に要求する。イベント通知部１２７は、当該要求に応じ、ジョブＩＤとキャンセル失敗を示す識別子とを属性情報として含むジョブ状態イベントを管理端末３０のログ記録部３３に送信する（Ｓ１５３）。また、配信ジョブ処理部２２からの配信ジョブの完了通知（Ｓ１５２）に応じ、配信制御部１２３は、配信ジョブの正常終了を示すジョブ完了イベントの送信をイベント通知部１２７に要求する。イベント通知部１２７は、当該要求に応じ、ジョブＩＤと配信ジョブの正常終了を示す識別子とを属性情報として含むジョブ完了イベントを管理端末３０のログ記録部３３に送信する（Ｓ１５４）。
【００６０】
管理端末３０のログ記録部３３は、ジョブ状態イベント及びジョブ完了イベントのそれぞれを受信したタイミング（Ｓ１５３、Ｓ１５４）で、当該ジョブ状態イベント又は当該ジョブ完了イベントの属性情報に基づいて配信ジョブに関するログを管理端末３０の記憶装置に記録する。
【００６１】
ここで、ジョブ状態イベントも通知されるのは、ジョブ完了イベントではキャンセルの失敗を通知するのは適切でないからである。すなわち、ジョブ完了イベントは、配信ジョブの完了又は終了に応じて通知されるものであるところ、キャンセルの失敗時には、配信ジョブはまだ処理中かもしれないし、既に完了又は終了しているかもしれず、ジョブ完了イベントを発行することはできないからである。そこで、本実施の形態では、キャンセルの失敗はジョブ状態イベントによって通知が行われるのである。
【００６２】
一方、キャンセルの成功と配信ジョブの終了とのタイミングは一致する。したがって、キャンセルの成功時は、図７において説明したようにキャンセルの成功を示すジョブ完了イベントのみが発行されるのである。
【００６３】
なお、ステップＳ１５３のジョブ状態イベントとステップＳ１５４のジョブ完了イベントとの前後関係は、タイミングによって変化しうる。例えば、ジョブ完了イベントが先に通知された後、ジョブ状態イベントが通知されることもありうる。
【００６４】
続いて、図９は、操作パネルからのキャンセル指示と管理端末からのキャンセル指示が重複した場合の処理手順を説明するためのシーケンス図である。
【００６５】
例えば、ジョブ管理部１２５が画像形成装置１０の操作パネル１５に表示させているジョブ一覧画面において、ユーザによってキャンセル対象の配信ジョブが選択され、キャンセル指示が入力されると（Ｓ１６１）、ジョブ管理部１２５は、キャンセル対象とされた配信ジョブのジョブＩＤを指定して、配信ジョブのキャンセル要求を配信サーバ２０の配信ジョブ受信部２１に送信する（Ｓ１６２）。ジョブ管理部１２５は、キャンセル要求の送信前又は送信後に、ジョブ管理テーブル１２８における当該ジョブＩＤのステータスを「キャンセル中」に更新する。なお、ジョブ一覧画面には、ジョブ管理テーブル１２８にジョブＩＤ等が登録されている配信ジョブの一覧が表示される。
【００６６】
続いて（例えば、ステップＳ１６１の直後に）、ジョブ管理部１２５が、管理端末３０のジョブ操作部３２より、操作パネル１５よりキャンセルが指示された配信ジョブと同一の配信ジョブについてキャンセル要求を受信したとする（Ｓ１６３）。なお、ステップＳ１６３は、図７のステップＳ１３６に対応する。この場合、ジョブ管理部１２５は、ジョブ管理テーブル１２８に基づいて、当該配信ジョブはキャンセル中（すなわち、既にキャンセル要求済み）であることを認識し、配信サーバ２０への再度のキャンセル要求は行わない。ところで、この場合、管理端末３０からのキャンセル要求については、失敗したと考えることができる。しかし、ジョブ管理部１２５は、キャンセルの失敗を示すジョブ状態イベントの送信は、イベント通知部１２７には要求しない。
【００６７】
続いて、ジョブ管理部１２５は、配信サーバ２０の配信ジョブ受信部２１より、キャンセルの成功を示す情報を受信する（Ｓ１６４）。続いて、ジョブ管理部１２５は、キャンセル対象とされた配信ジョブのステータスをジョブ管理テーブル１２８において「キャンセル済み」に更新する。続いて、ジョブ管理部１２５は、キャンセルによる終了を示すジョブ完了イベントの送信をイベント通知部１２７に要求する。イベント通知部１２７は、ジョブＩＤとキャンセルによる終了であることを示す識別子とを属性情報として含むジョブ完了イベントを管理端末３０のログ記録部３３に送信する（Ｓ１６５）。
【００６８】
すなわち、厳密には、管理端末３０からのキャンセル要求に対する処理は失敗しているが、配信ジョブのキャンセル自体は成功している。したがって、画像形成装置１０は、キャンセルの失敗を示すジョブ状態イベントを管理端末３０には送信せずに、キャンセルの成功を示すジョブ完了イベントのみを管理端末３０に送信する。仮に、キャンセルの失敗を示すジョブ状態イベントが管理端末３０に送信された場合、当該ジョブ状態イベントに基づいてキャンセルの失敗を示すログが記録され、その後のジョブ完了イベントに基づいてキャンセルの成功による配信ジョブの終了を示すログが記録されてしまう。そうすると、キャンセルが失敗したのか成功したのかが一見して非常に分かりづらいログが記録されてしまう。また、実質的に配信ジョブのキャンセルは成功しているのだから、管理端末３０に対してもキャンセルの成功として通知するのが妥当であると考えられる。そこで、本実施の形態では、重複したキャンセル指示によって既に配信ジョブのキャンセルが行われている場合は、管理端末３０にはキャンセルによる終了を示すジョブ完了イベントのみを通知するのである。
【００６９】
続いて、図１０は、管理端末以外の端末より配信ジョブのキャンセルが要求された場合の処理手順を説明するためシーケンス図である。同図において、端末６０は、管理端末３０とは別のコンピュータである。
【００７０】
ステップＳ２０１において、画像形成装置１０のジョブ管理部１２５は、実際に存在するジョブＩＤが指定されたジョブのキャンセル要求を端末６０より受信する。続いて、ジョブ管理部１２５は、当該キャンセル要求の正当性の確認を不正要求検知部１２６に要求する。不正要求検知部１２６は、キャンセル要求元のＩＰアドレス（キャンセル要求に含まれているＩＰアドレス）を、管理端末３０の識別情報としてＨＤＤ１１４に記録されているＩＰアドレスと比較し、キャンセル要求の正当性を確認する（Ｓ１３７）。ここでは、管理端末３０以外の端末６０がキャンセル要求の送信元であるため、キャンセル要求は不正であると判定される。
【００７１】
キャンセル要求は不正であることを示す判定結果に応じ、ジョブ管理部１２５は、不正なキャンセル要求が有ったことを示すジョブ状態イベントの送信をイベント通知部１２７に要求する。イベント通知部１２７は、キャンセル対象とされたジョブＩＤと不正なキャンセル要求が有ったことを示す識別子とを属性情報として含むジョブ状態イベントを管理端末３０のログ記録部３３に送信する（Ｓ２０３）。
【００７２】
当該ジョブ状態イベントを受信したログ記録部３３は、当該ジョブ状態イベントの属性情報に基づいて不正なキャンセル要求が有ったことを示すログを管理端末３０の記憶装置に記録する。
【００７３】
このように、画像形成装置１０は、管理端末３０の識別情報を予め保持しているため、キャンセル要求元が管理端末３０であるか否かを適切に判定することができる。したがって、管理端末３０以外からのキャンセル要求を適切に検知することができる。また、不正なキャンセル要求が有ったことを示すジョブ状態イベントが管理端末３０に通知されるため、管理端末３０において不正なキャンセル要求があったことを適切にログに記録することができる。その結果、ログを参照した管理者は、不正なアクセスが有ったこという事実を確認することができる。なお、不正なキャンセル要求の要求元の識別情報（例えば、ＩＰアドレス等）をジョブ状態イベントの属性情報に含めてもよい。この場合、当該識別情報がログに記録されることにより、管理者による不正なキャンセル要求元の追跡調査に対する負担が軽減されることが期待される。
【００７４】
ところで、端末６０のユーザに悪意がある場合、ジョブＩＤを変化させつつ繰り返しジョブのキャンセル要求が行われることが考えられる。全ての不正なキャンセル要求に関してジョブ状態イベントが発行されていては、ネットワーク負荷が増大し、また、管理端末３０におけるログの記録領域が短期間でログフル状態（空き容量が無い状態）になってしまうことが考えられる。そこで、斯かる不都合の発生を防止する例について説明する。
【００７５】
図１１は、繰り返し行われる不正なキャンセル要求に対する第一の対抗処理の処理手順を説明するためのシーケンス図である。同図において、端末６０は不正なキャンセル要求を繰り返し送信する端末である。
【００７６】
ステップＳ２０１において、画像形成装置１０のジョブ管理部１２５は、ジョブのキャンセル要求を端末６０より受信する（Ｓ２１１）。当該ジョブキャンセル要求に指定されているジョブＩＤは、実在するものかもしれないし、実在しないものかもしれない。続いて、ジョブ管理部１２５は、当該キャンセル要求の正当性の確認を不正要求検知部１２６に要求する。ジョブ管理部１２５は、管理端末３０以外の端末６０がキャンセル要求の送信元であることを検知し、キャンセル要求は不正であると判定する（Ｓ２１２）。キャンセル要求が不正であると判定した場合、不正要求検知部１２６は、当該キャンセル要求元の識別情報（例えば、ＩＰアドレス）と現在の時刻（すなわち、不正なキャンセル要求が受信された時刻）とを不正端末の識別情報としてＨＤＤ１１４に記録しておく（Ｓ２１３）。
【００７７】
キャンセル要求は不正であることを示す判定結果に応じ、ジョブ管理部１２５は、不正なキャンセル要求が有ったことを示すジョブ状態イベントの送信をイベント通知部１２７に要求する。イベント通知部１２７は、キャンセル対象とされたジョブＩＤと不正なキャンセル要求が有ったことを示す識別子とを属性情報として含むジョブ状態イベントを管理端末３０のログ記録部３３に送信する（Ｓ２１４）。
【００７８】
その後、ジョブ管理部１２５は、端末６０より繰り返しジョブのキャンセル要求を受信する（Ｓ２１５、Ｓ２１７、Ｓ２１９）。キャンセル要求が受信されるたびに、不正要求検知部１２６は、キャンセル要求の正当性（キャンセル要求元が管理端末３０であるか）のチェックを行うと共に、キャンセル要求元のＩＰアドレスが不正端末の識別情報としてＨＤＤ１１４に記録されている識別情報と一致するか否かを判定する（Ｓ２１６、Ｓ２１８、Ｓ２２０）。
【００７９】
キャンセル要求元のＩＰアドレスが不正端末の識別情報と一致すると判定された場合であって、かつ、不正端末の識別情報が記録された時刻から所定時間内である場合、ジョブ管理部１２５は、不正なキャンセル要求が有ったことを示すジョブ状態イベントの送信をイベント通知部１２７には要求しない。
【００８０】
図１１の処理によれば、同一端末から繰り返し行われる不正なキャンセル要求に基づくジョブ状態イベントの送信回数を必要最小限に抑えることができる。その結果、ネットワーク負荷が異常に高くなることを防止することができる。また、管理端末３０におけるログの記憶領域が不必要に圧迫されるのを防止することができる。
【００８１】
また、図１２は、繰り返し行われる不正なキャンセル要求に対する第二の対抗処理の処理手順を説明するためのシーケンス図である。図１２中、図１１と同一ステップには同一ステップ番号を付し、その説明は省略する。
【００８２】
図１２では、同一の端末６０からの不正なキャンセル要求に応じたジョブ状態イベントの送信が、一定時間ごとではなく一定回数ごとに行われる点が図１１と異なる。したがって、図１２では、不正要求検知部１２６は、端末６０からの不正なキャンセル要求を検知するたびに不正なキャンセル要求の回数を更新する。当該回数が所定数を超えたとき、イベント通知部１２７は、改めて不正なキャンセル要求が有ったことを示すジョブ状態イベントを管理端末３０のログ記録部３３に送信する。
【００８３】
図１２の処理手順によっても図１１と同様の効果を得ることができる。
【００８４】
上述したように、第一の実施の形態によれば、ジョブ完了イベントとジョブ状態イベントといった２種類のイベントの通知のタイミングを適切に制御することにより、ネットワーク負荷の増大や、記録されるログが冗長又は解析しづらくなることを効果的に防止することができる。
【００８５】
ところで、第一の実施の形態では、配信ジョブの後段処理（配信処理）は、予め定められた配信サーバ２０によって行われていた。但し、各ユーザが利用しているＰＣ（Personal Computer）（以下、「ユーザＰＣ」という。）を配信サーバ２０として機能させてもよい。ユーザＰＣを配信サーバ２０として機能させた例として第二の実施の形態を示す。
【００８６】
図１３は、第二の実施の形態における配信システムの構成例を示す図である。同図の配信システム２において、画像形成装置５１０、ユーザＰＣ５２０、及びネットアプリ管理サーバ５３０は、ＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）によって接続されている。
【００８７】
ユーザＰＣ５２０は、画像形成装置５１０又はユーザＰＣ等よりネットワークを介して利用可能なアプリケーション（以下、「ネットアプリ」という。）を有する。ネットアプリは、ネットワーク上の任意のコンピュータに配置することが可能である。したがって、図示されていない他のユーザＰＣにおいてもネットアプリが配置されうる。
【００８８】
図１３において、ユーザＰＣ５２０には配信アプリ５２１が配置されている。配信アプリ５２１は、画像形成装置５１０においてスキャンされた画像データの配信処理を実行するネットアプリである。配信アプリ５２１は、起動通知部５２１１、連携部５２１２、アプリ情報管理ファイル５２１３、及び配信部５２１４等を有する。
【００８９】
起動通知部５２１１は、配信アプリ５２１が起動されたときに、配信アプリ５２１が起動されたことをネットアプリ管理サーバ５３０に通知する。連携部５２１２は、画像形成装置５１０とのコミュニケーション（情報のやりとり等）を制御する。アプリ情報管理ファイル２２３は、配信アプリ５２１に対する設定情報を格納するファイルである。配信部５２１４は、配信アプリ５２１のロジック部（配信アプリ５２１に固有の部分）であり、画像データの配信処理を実行する。配信部５２１４以外は、他の機能のネットアプリも同様に有する。他の機能のネットアプリは、配信部５２１４の代わりに当該他の機能を実現するためのロジックを有する。
【００９０】
なお、図１３では、ユーザＰＣ５２０にネットアプリは一つずつしか配置されていないが、一つのユーザＰＣ５２０に複数のネットアプリが配置されていてもよい。
【００９１】
ネットアプリ管理サーバ５３０は、広告部５３１、仲介部５３２、ジョブ操作部５３３、及びログ記録部５３４等を有するコンピュータである。広告部５３１は、ネットアプリからの起動の通知（起動通知）に応じ、当該ネットアプリが起動されたことを示す広告をネットワーク上に発行（ブロードキャスト又はマルチキャスト等）する。仲介部５３２は、ネットアプリと画像形成装置５１０とのコミュニケーションを仲介する。ジョブ操作部５３３は、ユーザＰＣ５２０において実行中又は蓄積されている配信ジョブの操作要求を管理者より受け付け、当該操作要求を画像形成装置５１０に送信する。ログ記録部３３は、配信ジョブに関して発生したイベントを画像形成装置５１０より受信し、配信ジョブに関するログをネットアプリ管理サーバ５３０の記憶装置に記録する。
【００９２】
画像形成装置５１０は、ハードウェア的には第一の実施の形態と同様でよい（図３参照）。第二の実施の形態の画像形成装置５１０は、ソフトウェアとしてネットアプリ検知部５１１、ＵＩ制御部５１２、ネットアプリ連携部５１３、機能制御部５１４、ネットアプリ管理テーブル５１５、及び不正要求検知部５１６等を有する。
【００９３】
ネットアプリ検知部５１１は、ネットアプリ管理サーバ５３０より発行される広告に基づいて、ネットアプリの存在を検知し、広告に含まれているアプリ情報をネットアプリ管理テーブル５１５に登録する。ネットアプリ管理テーブル５１５は、アプリ情報を管理するためのテーブルである。ＵＩ制御部５１２は、ユーザよりネットアプリの起動指示等の入力を受け付ける。ネットアプリ連携部５１３は、ネットアプリとのコミュニケーションを制御する。機能制御部５１４は、ネットアプリからの要求に応じ画像形成装置５１０のハードウェアを制御する。例えば、機能制御部５１４の制御により、スキャン又は印刷等が実行される。不正要求検知部５１６は、不正な端末からの配信ジョブの操作要求を検知する。
【００９４】
以下、配信システム２の処理手順について説明する。図１４は、配信アプリ起動時の処理手順を説明するためのシーケンス図である。
【００９５】
ユーザＰＣ５２０において配信アプリ５２１が起動されると、配信アプリ５２１の起動通知部５２１１は、アプリ情報管理ファイル５２１３に格納されているアプリ情報をネットアプリ管理サーバ５３０の広告部５３１に送信することにより、配信アプリ５２１の起動を通知する（Ｓ３０１）。
【００９６】
図１５は、アプリ情報の構成例を示す図である。同図に示されるように、アプリ情報は、アプリＩＤ、連携機能識別子、ネットアプリアドレス、表示名、アイコンデータ、及び設定情報等を含む。
【００９７】
アプリＩＤは、各ネットアプリに一意に割り当てられた識別情報である。連携機能識別子は、ネットアプリと連携する画像形成装置５１０が有している必要のある機能（換言すれば、ネットアプリが利用する機能）を識別するための情報である。連携機能識別子の一例として「ｐｒｉｎｔ」、「ｓｃａｎ」等が挙げられる。「ｐｒｉｎｔ」は、印刷機能を示す。「ｓｃａｎ」は、スキャン機能を示す。配信アプリ２１は、画像形成装置５１０のスキャン機能を利用する。したがって、図１５の例では、「ｓｃａｎ」が連携機能識別子とされている。
【００９８】
ネットアプリアドレスは、ネットワーク通信において各ネットアプリを一意に識別するための識別情報（例えば、ＵＲＬ等）である。表示名は、ネットアプリの名前の表示用の文字列である。アイコンデータは、ネットアプリの表示用のアイコンデータである。設定情報は、ネットアプリの実行条件に対する設定値を含む情報である。すなわち、設定情報を変更することにより、ネットアプリの振る舞いを変更することができる。配信アプリ５２１については、スキャンに関する設定情報や配信に関する設定情報等がアプリ情報の設定情報に含まれている。
【００９９】
続いて、アプリ情報の受信に応じ、ネットアプリ管理サーバ５３０の広告部５３１は、アプリ情報をネットワーク上に広告（ブロードキャスト又はマルチキャスト等）する。広告されたアプリ情報は、画像形成装置５１０のネットアプリ検知部５１１によって受信される（Ｓ３０２）。なお、画像形成装置５１０が複数存在する場合、それぞれの画像形成装置５１０のネットアプリ検知部５１１によって同じ広告が受信される。
【０１００】
ネットアプリ検知部５１１は、アプリ情報に含まれている連携機能識別子（ｓｃａｎ）に基づいて、当該ネットアプリ検知部５１１が属する装置（画像形成装置５１０）がアプリ情報に係るネットアプリ（配信アプリ５２１）と連携可能であるか否かを判定する。画像形成装置５１０はスキャン機能を有する。したがって、画像形成装置５１０のネットアプリ検知部５１１は、当該ネットアプリとは連携可能であると判定し、受信されたアプリ情報をネットアプリ管理テーブル３３に登録する。
【０１０１】
以上によって、配信アプリ５２１は、画像形成装置５１０に登録されたことになる。すなわち、配信アプリ５２１の存在が画像形成装置５１０に認識されたことになる。これによって、画像形成装置５１０より配信アプリ５２１の利用（すなわち、配信ジョブの実行）が可能となる。
【０１０２】
図１６は、第二の実施の形態における配信ジョブの処理手順を説明するためのシーケンス図である。
【０１０３】
画像形成装置５１０のユーザによりネットアプリの利用指示が画像形成装置５１０に対して入力されると、ＵＩ制御部５１２は、ネットアプリ管理テーブル５１５に登録されているアプリ情報に含まれているアイコンデータに基づいて、ネットアプリ一覧画面を操作パネル１５に表示させる（Ｓ４０１）。当該ネットアプリ一覧画面には、ネットアプリ管理テーブル５１５に登録されているネットアプリのアイコンの一覧が表示される。なお、本実施の形態において、ネットアプリ管理テーブル５１５に登録されているアプリ情報は、配信アプリ５２１に係るものだけである。したがって、本実施の形態におけるネットアプリ一覧画面には、配信アプリ５２１に対応するアイコンが表示される。
【０１０４】
ネットアプリ一覧画面において配信アプリ５２１に対応するアイコンがユーザによって選択され、操作パネル１５上のスタートキーが押下されると、機能制御部５１４は、配信ジョブを開始する。配信ジョブの開始に際し、配信制御部１２３は、各配信ジョブに一意なＩＤ（ジョブＩＤ）を開始対象の配信ジョブに割り当て、当該ジョブＩＤに対応するエントリをジョブ管理テーブルに生成する。当該ジョブ管理テーブルの構成は、第一の実施の形態（図６参照）と同様でよい。
【０１０５】
続いて、機能制御部５１４は、選択された配信アプリ５２１のアプリ情報をネットアプリ管理テーブル５１５より取得し、当該アプリ情報に含まれている連携機能識別子（ｓｃａｎ）と設定情報とに基づいて、スキャンを実行する（Ｓ４０２）。すなわち、機能制御部５１４は、ユーザによって画像形成装置５１０にセットされた原稿に対するスキャンをスキャナ１２に実行させ、その結果得られる画像データを機能の実行結果としてネットアプリ連携部５１３に出力する。
【０１０６】
ネットアプリ連携部５１３は、機能の実行結果としての画像データとジョブＩＤとを配信アプリ５２１の連携部５２１２に送信する（Ｓ４０３）。画像データの送信前又は後において、ネットアプリ連携部５１３は、ジョブ管理テーブルにおける配信ジョブのステータスを「処理中」に更新する。
【０１０７】
連携部５２１２は、ジョブＩＤ及び画像データを受信すると、ジョブＩＤをジョブキューに登録する。また、連携部５２１２は、受信された画像データをジョブＩＤに関連付けてユーザＰＣ５２０の記憶装置に保存する。続いて、配信部５２１４は、ジョブキューに登録されたジョブＩＤに基づいて画像データを取得し、当該画像データをアプリ情報管理ファイル５２１３に設定されている配信先に配信する（Ｓ４０４）。
【０１０８】
配信部５２１４による処理が完了すると、連携部５２１２は、配信ジョブの完了を画像形成装置５１０のネットアプリ連携部５１３に通知する（Ｓ４０５）。ネットアプリ連携部５１３は、当該通知に含まれているジョブＩＤのステータスをジョブ管理テーブルにおいて「完了」に更新する。続いて、ネットアプリ連携部５１３は、ジョブＩＤと正常終了であることを示す識別子とを属性情報として含むジョブ完了イベントをネットアプリ管理サーバ５３０のログ記録部５３４に送信する（Ｓ４０６）。当該ジョブ完了イベントを受信したログ記録部５３４は、当該ジョブ状態イベントの属性情報に基づいて配信ジョブに関するログをネットアプリ管理サーバ５３０の記憶装置に記録する。
【０１０９】
続いて、ネットアプリ管理サーバ５３０からの配信ジョブのキャンセルについて説明する。図１７は、ネットアプリ管理サーバからの配信ジョブのキャンセル処理の処理手順を説明するためのシーケンス図である。同図では、ネットアプリ管理サーバ５３０において管理者によって操作が行われる。
【０１１０】
例えば、ジョブ操作部５３３がネットアプリ管理サーバ５３０の表示装置に表示させているジョブ操作画面を介してジョブ一覧の表示指示が管理者によって入力されると（Ｓ４３１）、ジョブ操作部５３３は配信ジョブの一覧情報の取得要求を画像形成装置５１０のネットアプリ連携部５１３に送信する（Ｓ４３２）。ネットアプリ連携部５１３は、ジョブ管理テーブルに登録されている配信ジョブの一覧情報をジョブ操作部５３３に返信する（Ｓ４３３）。ジョブ操作部５３３は、受信された配信ジョブの一覧（ジョブ一覧）をジョブ操作画面に表示させる（Ｓ４３４）。
【０１１１】
続いて、管理者によってジョブ一覧の中から任意の配信ジョブが選択され、ジョブ操作画面のキャンセルボタンがクリックされると（Ｓ４３５）、ジョブ操作部５３３は、選択された配信ジョブのジョブＩＤを指定して、当該配信ジョブのキャンセル要求をネットアプリ連携部５１３に送信する（Ｓ４３６）。なお、ステップＳ４３５においてキャンセル対象として選択可能な配信ジョブは、ステータスが「開始」又は「処理中」の配信ジョブである。
【０１１２】
ネットアプリ連携部５１３は、配信ジョブのキャンセル要求を受信すると、当該キャンセル要求の正当性の確認を不正要求検知部５１６に要求する。不正要求検知部５１６は、キャンセル要求元のＩＰアドレス（キャンセル要求に含まれているＩＰアドレス）を、ネットアプリ管理サーバ５３０の識別情報として予めＨＤＤ１１４に記録されているＩＰアドレスと比較し、キャンセル要求の正当性を確認する（Ｓ４３７）。不正要求検知部５１６は、両者が一致しない場合、当該キャンセル要求は不正であると判定し、両者が一致した場合、当該キャンセル要求は正当であると判定する。ここでは、ネットアプリ管理サーバ５３０がキャンセル要求の送信元であるため、キャンセル要求は正当であると判定される。
【０１１３】
ネットアプリ連携部５１３は、キャンセル要求の正当性が確認されると、キャンセル対象のジョブＩＤを指定して、配信ジョブのキャンセル要求を配信アプリ５２１の連携部５２１２に送信する（Ｓ４３８）。なお、ネットアプリ連携部５１３は、キャンセル要求の送信前又は送信後に、ジョブ管理テーブルにおける当該ジョブＩＤのステータスを「キャンセル中」に更新する。
【０１１４】
連携部５２１２は、キャンセル要求において指定されたジョブＩＤをジョブキューより削除し、当該ジョブＩＤに関連付けられている画像データをユーザＰＣ５２０の記憶装置より削除する（Ｓ４３９）。これによって、配信ジョブはキャンセルされる。キャンセルに成功すると、連携部５２１２は、キャンセルの成功を示す情報をジョブＩＤと共にネットアプリ連携部５１３に返信する（Ｓ４４０）。
【０１１５】
ネットアプリ連携部５１３は、キャンセルの成功を示す情報を受信すると、ジョブ管理テーブルにおける当該ジョブＩＤのステータスを「キャンセル済み」に更新する。続いて、ネットアプリ連携部５１３は、ジョブＩＤとキャンセルによる終了であることを示す識別子とを属性情報として含むジョブ完了イベントをネットアプリ管理サーバ５３０のログ記録部５３４に送信する（Ｓ４４１）。
【０１１６】
当該ジョブ完了イベントを受信したログ記録部５３４は、当該ジョブ状態イベントの属性情報に基づいて配信ジョブに関するログをネットアプリ管理サーバ５３０の記憶装置に記録する。
【０１１７】
続いて、図１８は、第二の実施の形態において完了した配信ジョブに対してキャンセルが指示された場合の処理手順を説明するためのシーケンス図である。図１８中、図１７と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【０１１８】
図１８では、例えば、ジョブ一覧においてキャンセル指示が行われている最中等に、キャンセル対象の配信ジョブに関する配信処理が配信アプリ５２１において実行される（Ｓ４５１）。続いて、配信の完了がジョブＩＤと共に画像形成装置５１０のネットアプリ連携部５１３に通知される（Ｓ４５２）。当該通知に応じ、ネットアプリ連携部５１３は、ジョブ管理テーブルにおける当該ジョブＩＤに対応するステータスを「完了」に変更する。
【０１１９】
その後、当該ジョブＩＤに対するキャンセル要求がネットアプリ管理サーバ５３０のジョブ操作部５３３より画像形成装置５１０のネットアプリ連携部５１３に送信される（Ｓ４３６）。ここで、指定されたジョブＩＤのステータスは「完了」でありキャンセルすることはできない。そこで、ネットアプリ連携部５１３は、ジョブＩＤとキャンセル失敗を示す識別子とを属性情報として含むジョブ状態イベントをネットアプリ管理サーバ５３０のログ記録部５３４に送信する（Ｓ４５３）。また、配信アプリ２１の連携部５２１２からの配信ジョブの完了通知（Ｓ４５２）に応じ、ネットアプリ連携部５１３は、ジョブＩＤと配信ジョブの正常終了を示す識別子とを属性情報として含むジョブ完了イベントをネットアプリ管理サーバ５３０のログ記録部５３４に送信する（Ｓ４５４）。
【０１２０】
ネットアプリ管理サーバ５３０のログ記録部５３４は、ジョブ状態イベント及びジョブ完了イベントのそれぞれを受信したタイミング（Ｓ４５３、Ｓ４５４）で、当該ジョブ状態イベント又は当該ジョブ完了イベントの属性情報に基づいて配信ジョブに関するログをネットアプリ管理サーバ５３０の記憶装置に記録する。
【０１２１】
なお、ステップＳ４５３のジョブ状態イベントとステップＳ４５４のジョブ完了イベントとの前後関係は、タイミングによって変化しうる。例えば、ジョブ完了イベントが先に通知された後、ジョブ状態イベントが通知されることもありうる。
【０１２２】
続いて、図１９は、第二の実施の形態において操作パネルからのキャンセル指示と管理端末からのキャンセル指示が重複した場合の処理手順を説明するためのシーケンス図である。
【０１２３】
例えば、ＵＩ制御部５１２が画像形成装置５１０の操作パネル１５に表示させているジョブ一覧画面において、ユーザによってキャンセル対象の配信ジョブが選択され、キャンセル指示が入力されると（Ｓ４６１）、ネットアプリ連携部５１３は、キャンセル対象とされた配信ジョブのジョブＩＤを指定して、配信ジョブのキャンセル要求を配信アプリ５２１の連携部５２１２に送信する（Ｓ４６２）。ネットアプリ連携部５１３は、キャンセル要求の送信前又は送信後に、ジョブ管理テーブルにおける当該ジョブＩＤのステータスを「キャンセル中」に更新する。なお、ジョブ一覧画面には、ジョブ管理テーブルにジョブＩＤ等が登録されている配信ジョブの一覧が表示される。
【０１２４】
続いて（例えば、ステップＳ４６１の直後に）、ネットアプリ連携部５１３が、ネットアプリ管理サーバ５３０のジョブ操作部５３３より、操作パネル１５よりキャンセルが指示された配信ジョブと同一の配信ジョブについてキャンセル要求を受信したとする（Ｓ４６３）。なお、ステップＳ４６３は、図１７のステップＳ４３６に対応する。この場合、ネットアプリ連携部５１３は、ジョブ管理テーブルに基づいて、当該配信ジョブはキャンセル中（すなわち、既にキャンセル要求済み）であることを認識し、配信アプリ５２１への再度のキャンセル要求は行わない。
【０１２５】
続いて、ネットアプリ連携部５１３は、配信アプリ５２１の連携部５２１２より、キャンセルの成功を示す情報を受信する（Ｓ４６４）。続いて、ネットアプリ連携部５１３は、キャンセル対象とされた配信ジョブのステータスをジョブ管理テーブルにおいて「キャンセル済み」に更新する。続いて、ネットアプリ連携部５１３は、ジョブＩＤとキャンセルによる終了であることを示す識別子とを属性情報として含むジョブ完了イベントをネットアプリ管理サーバ５３０のログ記録部５３４に送信する（Ｓ４６５）。
【０１２６】
なお、第二の実施の形態において、図１０、図１１、及び図１２に対応する処理手順は上記の説明より自明であるため、その説明は省略する。
【０１２７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１２８】
【図１】第一の実施の形態における配信システムの構成例を示す図である。
【図２】第一の実施の形態における配信システムの機能構成例を示す図である。
【図３】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図４】配信設定情報の登録処理を説明するためのシーケンス図である。
【図５】配信ジョブの処理手順を説明するためのシーケンス図である。
【図６】ジョブ管理テーブルの構成例を示す図である。
【図７】管理端末からの配信ジョブのキャンセル処理の処理手順を説明するためのシーケンス図である。
【図８】完了した配信ジョブに対してキャンセルが指示された場合の処理手順を説明するためのシーケンス図である。
【図９】操作パネルからのキャンセル指示と管理端末からのキャンセル指示が重複した場合の処理手順を説明するためのシーケンス図である。
【図１０】管理端末以外の端末より配信ジョブのキャンセルが要求された場合の処理手順を説明するためシーケンス図である。
【図１１】繰り返し行われる不正なキャンセル要求に対する第一の対抗処理の処理手順を説明するためのシーケンス図である。
【図１２】繰り返し行われる不正なキャンセル要求に対する第二の対抗処理の処理手順を説明するためのシーケンス図である。
【図１３】第二の実施の形態における配信システムの構成例を示す図である。
【図１４】配信アプリ起動時の処理手順を説明するためのシーケンス図である。
【図１５】アプリ情報の構成例を示す図である。
【図１６】第二の実施の形態における配信ジョブの処理手順を説明するためのシーケンス図である。
【図１７】ネットアプリ管理サーバからの配信ジョブのキャンセル処理の処理手順を説明するためのシーケンス図である。
【図１８】第二の実施の形態において完了した配信ジョブに対してキャンセルが指示された場合の処理手順を説明するためのシーケンス図である。
【図１９】第二の実施の形態において操作パネルからのキャンセル指示と管理端末からのキャンセル指示が重複した場合の処理手順を説明するためのシーケンス図である。
【符号の説明】
【０１２９】
１、２        配信システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          配信サーバ
２１          配信ジョブ受信部
２２          配信ジョブ処理部
３０          管理端末
３１          配信設定受付部
３２          ジョブ操作部
３３          ログ記録部
４０          ディレクトリサーバ
４１          配信設定管理部
４２          認証処理部
４３          ユーザＤＢ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１２１        配信設定検証部
１２２        認証制御部
１２３        配信制御部
１２４        スキャナ制御部
１２５        ジョブ管理部
１２６        不正要求検知部
１２７        イベント通知部
５１０        画像形成装置
５１１        ネットアプリ検知部
５１２        ＵＩ制御部
５１３        ネットアプリ連携部
５１４        機能制御部
５１５        ネットアプリ管理テーブル
５１６        不正要求検知部
５２０        ユーザＰＣ
５２１        配信アプリ
５３０        ネットアプリ管理サーバ
５３１        広告部
５３２        仲介部
５３３        ジョブ操作部
５３４        ログ記録部
５２１１        起動通知部
５２１２        連携部
５２１３        アプリ情報管理ファイル
５２１４        配信部
【図１】
2010166408.tif 000003
【図２】
2010166408.tif 000004
【図３】
2010166408.tif 000005
【図４】
2010166408.tif 000006
【図５】
2010166408.tif 000007
【図６】
2010166408.tif 000008
【図７】
2010166408.tif 000009
【図８】
2010166408.tif 000010
【図９】
2010166408.tif 000011
【図１０】
2010166408.tif 000012
【図１１】
2010166408.tif 000013
【図１２】
2010166408.tif 000014
【図１３】
2010166408.tif 000015
【図１４】
2010166408.tif 000016
【図１５】
2010166408.tif 000017
【図１６】
2010166408.tif 000018
【図１７】
2010166408.tif 000019
【図１８】
2010166408.tif 000020
【図１９】
2010166408.tif 000021