(57)【要約】【課題】画像形成装置と外部アプリケーションとの連携によって提供されるサービスに関する課金形態を単純化すること。【解決手段】ネットワークを介して接続される情報処理装置が要求する処理フローにおいて利用される処理の一覧を示す処理情報を受信する手段と、処理の一覧の中で、当該画像形成装置に対して要求されている処理を実行し、実行された処理に関する課金情報を、処理フローに対する課金情報記録データに記録する手段と、処理の一覧において処理の実行が要求されているサービス提供装置に対して課金情報記録データを転送させる手段と、サービス提供装置によって実行された処理に関して該サービス提供装置によって課金情報が記録された課金情報記録データを受信する手段と、処理の一覧に含まれる処理ごとに課金情報が記録された課金情報記録データを課金情報記憶手段に記録する手段とを有する。【選択図】図４
2011028056.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される情報処理装置が要求する処理フローにおいて利用される処理の一覧を示す処理情報を受信する処理情報受信手段と、
前記処理の一覧の中で、当該画像形成装置に対して要求されている処理を実行し、実行された処理に関する課金情報を、前記処理フローに対する課金情報記録データに記録する処理実行手段と、
前記処理の一覧において処理の実行が要求されているサービス提供装置に対して前記課金情報記録データを転送させるデータ転送手段と、
前記サービス提供装置によって実行された処理に関して該サービス提供装置によって課金情報が記録された前記課金情報記録データを受信するデータ受信手段と、
前記処理の一覧に含まれる処理ごとに前記課金情報が記録された前記課金情報記録データを課金情報記憶手段に記録する課金情報記録手段とを有する画像形成装置。
【請求項２】
前記課金情報記録データには、前記処理の成否を示す情報が該処理ごとに記録され、
前記課金情報記録手段は、前記課金情報記録データに処理の失敗を示す情報が記録されている場合は、当該課金情報記録データにおける課金情報を無効化する請求項１記載の画像形成装置。
【請求項３】
前記データ転送手段は、前記課金情報記録データを所定の暗号鍵を用いて暗号化し、暗号化された前記課金情報記録データを転送させ、
前記データ受信手段は、前記サービス提供装置によって前記所定の暗号鍵を用いて暗号化された前記課金情報記録データを受信し、受信された該課金情報記録手段を前記所定の暗号鍵を用いて復号する請求項１又は２記載の画像形成装置。
【請求項４】
前記データ転送手段は、当該画像形成装置が実行した処理の結果として出力されるデータを前記サービス提供装置に転送する場合は該データも前記所定の暗号鍵を用いて暗号化し、
前記データ受信手段は、前記サービス提供装置によって実行された処理の結果として出力されるデータが受信される場合は該データも前記所定の暗号鍵を用いて復号する請求項３記載の画像形成装置。
【請求項５】
前記処理フローに含まれる全ての処理に関する課金情報が前記課金情報記録データに記録された場合に、前記所定の暗号鍵を前記情報処理装置に転送する暗号鍵転送手段を有する請求項４記載の画像形成装置。
【請求項６】
前記暗号鍵転送手段によって前記情報処理装置に前記所定の暗号鍵が送信された後に、前記所定の暗号鍵を更新し、更新された暗号鍵を前記サービス提供装置に転送させる暗号鍵提供手段を有する請求項５記載の画像形成装置。
【請求項７】
前記暗号鍵転送手段は、前記処理情報において前記暗号鍵の転送が要求されている場合に前記所定の暗号鍵を前記情報処理装置に転送する請求項５又は６記載の画像形成装置。
【請求項８】
前記暗号鍵転送手段は、前記処理の一覧において当該画像形成装置に対して要求されている処理が最後の処理である場合に前記所定の暗号鍵を前記情報処理装置に転送する請求項５又は６記載の画像形成装置。
【請求項９】
画像形成装置が実行する課金情報記録方法であって、
ネットワークを介して接続される情報処理装置が要求する処理フローにおいて利用される処理の一覧を示す処理情報を受信する処理情報受信手順と、
前記処理の一覧の中で、当該画像形成装置に対して要求されている処理を実行し、実行された処理に関する課金情報を、前記処理フローに対する課金情報記録データに記録する処理実行手順と、
前記処理の一覧において処理の実行が要求されているサービス提供装置に対して前記課金情報記録データを転送させるデータ転送手順と、
前記サービス提供装置によって実行された処理に関して該サービス提供装置によって課金情報が記録された前記課金情報記録データを受信するデータ受信手順と、
前記処理の一覧に含まれる処理ごとに前記課金情報が記録された前記課金情報記録データを課金情報記憶手段に記録する課金情報記録手順とを有する課金情報記録方法。
【請求項１０】
画像形成装置に、
ネットワークを介して接続される情報処理装置が要求する処理フローにおいて利用される処理の一覧を示す処理情報を受信する処理情報受信手順と、
前記処理の一覧の中で、当該画像形成装置に対して要求されている処理を実行し、実行された処理に関する課金情報を、前記処理フローに対する課金情報記録データに記録する処理実行手順と、
前記処理の一覧において処理の実行が要求されているサービス提供装置に対して前記課金情報記録データを転送させるデータ転送手順と、
前記サービス提供装置によって実行された処理に関して該サービス提供装置によって課金情報が記録された前記課金情報記録データを受信するデータ受信手順と、
前記処理の一覧に含まれる処理ごとに前記課金情報が記録された前記課金情報記録データを課金情報記憶手段に記録する課金情報記録手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、課金情報記録方法、及びプログラムに関し、特に画像形成装置と外部のアプリケーションとの連携によるサービスに対する課金情報を記録する画像形成装置、課金情報記録方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置がネットワークを介して接続される他のコンピュータ上で動作するアプリケーションと連携して動作する仕組みが提案されている（例えば、特許文献１）。
【０００３】
他方において、画像形装置には、コピー、印刷、ＦＡＸ、又はスキャン等の固有の機能について、課金を行うための機能が組み込まれている。具体的には、画像形成装置は、各機能について利用状況を記録するためのカウンタを記憶装置内に有し、各機能の利用に応じてカウンタをカウントアップするという仕組みを備えている。リース契約等によってオフィス等に設置されている画像形成装置については、画像形成装置のメーカーのサービスマン等によって定期的にカウンタが確認され、課金額の徴収が行われる。画像形成装置に設置されたコインラック等によって、その場で（コピー時等に）課金が行われる形態もある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像形成装置が、そのサービスが有料である外部のアプリケーションと連携する場合、当該アプリケーションによって提供されるサービスに対する課金は、当該アプリケーションの提供者によって行われる。その結果、ユーザから見た場合には、一つのサービスを利用したにも拘わらず、画像形成装置と外部アプリケーションとのそれぞれについて個別に課金が行われるという事態が発生する。特に、それぞれについて課金が行われるタイミング（例えば、請求書が送付されるタイミング）が異なる場合はユーザにとって非常に煩雑である。また、課金形態が従量制の場合には、ユーザ自らによる利用状況と、複数の請求書とを対比させなければならず、ユーザは、正当な課金額であるか否かを把握するのが困難であるという問題がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、画像形成装置と外部アプリケーションとの連携によって提供されるサービスに関する課金形態を単純化することのできる画像形成装置、課金情報記録方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、ネットワークを介して接続される情報処理装置が要求する処理フローにおいて利用される処理の一覧を示す処理情報を受信する処理情報受信手段と、前記処理の一覧の中で、当該画像形成装置に対して要求されている処理を実行し、実行された処理に関する課金情報を、前記処理フローに対する課金情報記録データに記録する処理実行手段と、前記処理の一覧において処理の実行が要求されているサービス提供装置に対して前記課金情報記録データを転送させるデータ転送手段と、前記サービス提供装置によって実行された処理に関して該サービス提供装置によって課金情報が記録された前記課金情報記録データを受信するデータ受信手段と、前記処理の一覧に含まれる処理ごとに前記課金情報が記録された前記課金情報記録データを課金情報記憶手段に記録する課金情報記録手段とを有する。
【０００７】
このような画像形成装置では、画像形成装置と外部アプリケーションとの連携によって提供されるサービスに関する課金形態を単純化することができる。
【発明の効果】
【０００８】
本発明によれば、画像形成装置と外部アプリケーションとの連携によって提供されるサービスに関する課金形態を単純化することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における情報処理システムの構成例を示す図である。
【図２】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における画像形成装置及びユーザ端末のソフトウェア構成例を示す図である。
【図４】第一の実施の形態におけるウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【図５】ウィジェット起動時の処理手順を説明するためのシーケンス図である。
【図６】翻訳コピーウィジェットのウィジェット情報の例を示す図である。
【図７】ユーザ管理テーブルの構成例を示す図である。
【図８】実行対象とするウィジェットの選択処理の処理手順を説明するためのシーケンス図である。
【図９】ユーザ選択画面の表示例を示す図である。
【図１０】ウィジェットマネージャからプロバイダアプリに送信される翻訳コピーウィジェットのウィジェット情報の構成例を示す図である。
【図１１】ウィジェット選択画面の表示例を示す図である。
【図１２】第一の実施の形態における翻訳コピーウィジェットの処理フローの実行時の処理手順を説明するためのシーケンス図である。
【図１３】ジョブトラッキングデータの構成例を示す図である。
【図１４】課金度数及び実行結果が記録されたジョブトラッキングデータの例を示す図である。
【図１５】翻訳コピーウィジェットによる処理フローの制御のバリエーションを示す図である。
【図１６】第一の実施の形態において翻訳コピーウィジェットの処理フローの途中でエラーが発生した場合の処理手順を説明するためのシーケンス図である。
【図１７】エラーが発生した場合のジョブトラッキングデータの例を示す図である。
【図１８】課金度数が無効化されたジョブトラッキングデータの例を示す図である。
【図１９】第二の実施の形態におけるウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【図２０】第二の実施の形態における翻訳コピーウィジェットの処理フローの実行時の処理手順を説明するためのシーケンス図である。
【図２１】最終成果物の画像データの提供要求を含むウィジェット情報の例を示す図である。
【図２２】共通鍵の必要の有無を示す情報を含むウィジェット情報の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム１において、一台以上の画像形成装置１０、一台以上のユーザ端末２０、及び課金情報収集サーバ３０は、ＬＡＮ（Local Area Network）等のネットワーク４０（有線又は無線の別は問わない。）を介して接続されている。また、ＯＣＲサーバ５０及び翻訳サーバ６０は、インターネット等の広域的なネットワーク７０を介してネットワーク４０と接続されている。
【００１１】
画像形成装置１０は、印刷、スキャン、コピー、及びＦＡＸ送受信等の機能（画像形成機能）を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を実現する装置（プリンタ、スキャナ、コピー機、ファクシミリ等）を画像形成装置１０として用いてもよい。なお、画像形成装置１０は、利用された画像形成機能に関する課金情報をＨＤＤ（Hard Disk Drive）等の不揮発性の記録媒体に記録する。
【００１２】
ユーザ端末２０は、ユーザが利用する個人端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末２０の具体例として、デスクトップ型のＰＣ（Personal Computer）、ノートＰＣ、ＰＤＡ（Personal Digital Assistance）、又は携帯電話等の情報処理装置が挙げられる。
【００１３】
課金情報収集サーバ３０は、ネットワーク４０上に接続されている各画像形成装置１０において記録されている課金情報を定期的に収集し、一元的に管理するコンピュータである。課金情報収集サーバ３０は、管理されている課金情報を表示装置に表示させたり、画像形成装置１０等に印刷させたりすることが可能である。例えば、画像形成装置１０のサービスマンは、課金情報収集サーバ３０を利用して、画像形成装置１０のユーザへの課金額の請求を行う。なお、課金情報収集サーバ３０は、必ずしも設置されなくてもよい。各画像形成装置１０において個別に課金情報が管理されてもよい。この場合、サービスマンは、各画像形成装置１０より課金情報を収集すればよい。
【００１４】
ＯＣＲサーバ５０は、サービス提供装置の一例であり、ＯＣＲ（Optical Character Recognition）機能をＷｅｂサービス（翻訳サービス）としてネットワーク上に提供するアプリケーションプログラムを備えたコンピュータである。
【００１５】
翻訳サーバ６０は、サービス提供装置の一例であり、文書データ（例えば、テキストデータ）の翻訳機能（例えば、英語から日本語への翻訳）をＷｅｂサービス（翻訳サービス）としてネットワーク上に提供するアプリケーションプログラムを備えたコンピュータである。
【００１６】
なお、ＯＣＲサーバ５０及び翻訳サーバ６０は、それぞれのサービスを有料で提供する。また、説明の便宜上、ＯＣＲサーバ５０及び翻訳サーバ６０は、それぞれ画像形成装置１０の提供者と異なる事業者によって運営されていることとする。
【００１７】
図２は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図２において、画像形成装置１０は、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００１８】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、及びＨＤＤ１１４等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記録される。
【００１９】
スキャナ１２は、原稿より画像データを読み取るためのハードウェアである。プリンタは１３、印刷データを印刷用紙に印刷するためのハードウェアである。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置１０では、ＲＯＭ１１３に記録されたプログラムだけでなく、ＳＤカード８０に記録されたプログラムもＲＡＭ１１２にロードされ、実行されうる。
【００２０】
図３は、本発明の実施の形態における画像形成装置及びユーザ端末のソフトウェア構成例を示す図である。同図において、ユーザ端末２０は、スキャンウィジェット２１ａ、印刷ウィジェット２１ｂ、翻訳コピーウィジェット２１ｃ、ウィジェットマネージャ２２、及びＯＳ２３等を有する。
【００２１】
スキャンウィジェット２１ａ、印刷ウィジェット２１ｂ、及び翻訳コピーウィジェット２１ｃは、本実施の形態において、ウィジェット２１として総称されるアプリケーションプログラムである。近年では、ウィジェット（Ｗｉｄｇｅｔ）又はガジェット（Ｇａｄｇｅｔ）とよばれる手軽なアプリケーションが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションという程度の意味においてこれらのアプリケーションをウィジェット２１と呼ぶ（すなわち、技術的な意義において限定する趣旨ではない）。本実施の形態において、各ウィジェット２１は、画像形成装置１０又はネットワーク７０上において提供されているサービスを利用して、所定の処理フローを制御するという点において共通する。
【００２２】
スキャンウィジェット２１ａは、画像形成装置１０にスキャンを実行させ、スキャンされた画像データをユーザ端末２０内に保存するウィジェット２１である。
【００２３】
印刷ウィジェット２１ｂは、ユーザ端末２０内に保存されている文書データの印刷を画像形成装置１０に実行させるウィジェット２１である。
【００２４】
翻訳コピーウィジェット２１ｃは、画像形成装置１０にスキャンを実行させ、スキャンされた画像データに対するＯＣＲ処理をＯＣＲサーバ５０に実行させ、ＯＣＲ処理の結果得られるテキストデータの翻訳処理を翻訳サーバ６０に実行させ、翻訳処理されたテキストデータの印刷を画像形成装置１０に実行させるウィジェット２１である。すなわち、翻訳コピーウィジェット２１ｃは、あたかも英語の文書をコピーすると日本語の文書がコピー結果として出力されるという処理フローを実現する。
【００２５】
ウィジェットマネージャ２２は、ウィジェット２１のフレームワークとして位置付けられ、ウィジェット２１と画像形成装置１０との間の通信の仲介等を行う。各ウィジェット２１は、ウィジェットマネージャ２２によって規定されるインタフェース及び処理手順を備える必要がある。換言すれば、ウィジェットマネージャ２２と協調して動作するアプリケーションが、本実施の形態におけるウィジェット２１である。
【００２６】
ＯＳ２３は、いわゆるＯＳ（Operating System）である。ユーザ端末２０上の各ソフトウェアは、ＯＳ２３上においてプロセス又はスレッドとして動作する。
【００２７】
一方、画像形成装置１０は、標準アプリ１２１、ＳＤＫアプリ１２２、ＳＤＫプラットフォーム１２３、コントロールサービス１２４、及びＯＳ１２５等を有する。
【００２８】
標準アプリ１２１は、画像形成装置１０に標準的に（出荷時に予め）実装されているアプリケーションの集合である。同図では、スキャンアプリ１２１１、印刷アプリ１２１２、コピーアプリ１２１３、及びＦＡＸアプリ１２１４が例示されている。スキャンアプリ１２１１は、スキャンジョブを実行する。印刷アプリ１２１２は印刷ジョブを実行する。コピーアプリ１２１３は、コピージョブを実行する。ＦＡＸアプリ１２１４は、ＦＡＸの送信ジョブ又は受信ジョブを実行する。
【００２９】
コントロールサービス１２４は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関する機能、スキャナの制御機能、プリンタの制御機能、メモリの管理機能等を有する。
【００３０】
ＳＤＫアプリ１２２は、画像形成装置１０の出荷後において、画像形成装置１０の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、ＳＤＫアプリ１２２として、プロバイダアプリ１２２１が例示されている。プロバイダアプリ１２２１は、ウィジェット２１を画像形成装置１０より操作可能とするための処理やウィジェット２１に要求された処理を画像形成装置１０に実行させるための処理等を実行する。
【００３１】
ＳＤＫプラットフォーム１２３は、ＳＤＫアプリ１２２の実行環境を提供する。各ＳＤＫアプリ１２２は、ＳＤＫプラットフォーム１２３が提供するＡＰＩ（Application Program Interface）を利用して開発される。例えば、ＳＤＫプラットフォーム１２３は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等をＳＤＫアプリ１２２に提供する。なお、ＳＤＫプラットフォーム１２３のＡＰＩは公開されており、サードベンダ等によってもＳＤＫアプリ１２２は開発されうる。
【００３２】
ＯＳ１２５は、いわゆるＯＳ（Operating System）である。画像形成装置１０上の各ソフトウェアは、ＯＳ１２５上においてプロセス又はスレッドとして動作する。
【００３３】
続いて、ウィジェット２１、ウィジェットマネージャ２２、及びプロバイダアプリ１２２１について更に詳しく説明する。図４は、第一の実施の形態におけるウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
【００３４】
同図に示されるように、各ウィジェット２１は、ウィジェットＵＩ部２１１、ウィジェット情報送信部２１２、連携部２１３、ロジック部２１４、及び属性情報管理ファイル２１５等を有する。
【００３５】
ウィジェットＵＩ部２１１は、ウィジェット２１に関する各種の表示画面をユーザ端末２０の表示装置に表示させる。ウィジェット情報送信部２１２は、ウィジェット２１が起動されたときに、ウィジェット情報の登録要求をウィジェットマネージャ２２に送信する。ウィジェット情報にはウィジェット２１の実行に必要な情報（例えば、処理フローに関する情報）が含まれる。連携部２１３は、ウィジェットマネージャ２２とのコミュニケーション（情報のやりとり等）を制御する。属性情報管理ファイル２１５は、ウィジェット２１対する設定情報等を格納するファイルである。ロジック部２１４は、各ウィジェット２１に固有の機能が実装される部分である。
【００３６】
ウィジェットマネージャ２２は、ウィジェット情報登録部２２３、広告部２２４、ウィジェット情報提供部２２５、中継部２２６、及びウィジェット情報管理テーブル２２７等を有する。
【００３７】
ウィジェット情報登録部２２３は、ウィジェット２１より送信されるウィジェット情報の登録要求を受信し、当該ウィジェット情報をウィジェット情報管理テーブル２２７に保存する。ウィジェット情報管理テーブル２２７には、ユーザ端末２０において起動されている各ウィジェット２１のウィジェット情報が登録されるテーブルであり、ユーザ端末２０の記憶装置に生成される。
【００３８】
広告部２２４は、ウィジェット情報登録部２２３によって受信されたウィジェット情報に含まれるユーザＩＤ等をネットワーク上に広告（ブロードキャスト又はマルチキャスト等）する。広告は、ユーザ単位（ユーザＩＤ単位）で発行される。具体的には、ユーザ端末２０内における或るウィジェット２１の起動に応じてユーザＡに関して広告が発行された後、当該ユーザ端末２０内において、他のウィジェット２１が起動されたとしても当該ウィジェット情報に応じた広告は発行されない。本実施の形態では、便宜上、ユーザ端末２０とユーザとは一対一に対応する。したがって、広告部２２４による広告は、何らかのウィジェット２１を利用可能になったユーザが新たに発生したことを画像形成装置１０に通知するための情報であるといえる。但し、ウィジェット情報単位で広告が行われてもよい。この場合、同一ユーザについて重複して広告が発行されることになるが、重複の排除は画像形成装置１０側で行えばよい。
【００３９】
ウィジェット情報提供部２２５は、画像形成装置１０からの要求に応じ、ウィジェット情報管理テーブル２２７に登録されているウィジェット情報を画像形成装置１０に提供（送信）する。中継部２２６は、ウィジェット２１とプロバイダアプリ１２２１とのコミュニケーションを中継する。
【００４０】
プロバイダアプリ１２２１は、ユーザ検知部１３１、ＵＩ制御部１３２、ウィジェット情報取得部１３３、ジョブトラッキングデータ生成部１３４、データ転送部１３５、データ受信部１３６、サービス制御部１３７、ジョブトラッキングデータ記録部１３８、及びユーザ管理テーブル１４１等を有する。
【００４１】
ユーザ検知部１３１は、ウィジェットマネージャ２２より発行される広告に基づいて、ウィジェット２１を利用可能なユーザの存在を検知し、広告に含まれているユーザＩＤ等をユーザ管理テーブル１４１に登録する。ユーザ管理テーブル１４１は、ウィジェット２１をネットワーク上において起動しているユーザの一覧を管理するテーブルである。
【００４２】
ＵＩ制御部１３２は、ウィジェット２１の操作指示等の入力をユーザより受け付ける。すなわち、ウィジェット２１は、ユーザ端末２０に配置されているが、画像形成装置１０の操作パネル１５からも操作されうる。ウィジェット情報取得部１３３は、ユーザ管理テーブル１４１に登録されているユーザの中から実行対象として選択されたユーザに属するウィジェット２１のウィジェット情報をウィジェットマネージャ２２より取得する。
【００４３】
ジョブトラッキングデータ生成部１３４は、ジョブトラッキングデータ（以下、「ＪＴＤ」とも表記する。）を生成する。ジョブトラッキングデータとは、ウィジェットが実行する処理フローにおいて利用されるサービス（実行される処理）ごとに課金情報（課金量を示す情報）やサービスを提供するための処理の成否を示す情報等を記録するためのデータをいう。すなわち、ジョブトラッキングデータは課金情報記録データの一例である。一つのジョブトラッキングデータは、処理フローに含まれる各サービスの実行主体の間を流通し、各実行主体によって課金情報が記録される。
【００４４】
データ転送部１３５は、実行対象とされたウィジェット２１の処理フローに含まれるサービス（処理）のうち、画像形成装置１０に提供が要求されているサービス（実行が要求されている処理）の実行の結果として出力されるデータや、ジョブトラッキングデータ等をウィジェットマネージャ２２に転送する。
【００４５】
データ受信部１３６は、画像形成装置１０以外のサービスの実行主体（本実施の形態ではＯＣＲサーバ５０又は翻訳サーバ６０）によるサービスの実行結果として出力されるデータや、当該サービスの課金情報が記録されたジョブトラッキングデータ等をウィジェットマネージャ２２より受信する。
【００４６】
サービス制御部１３７は、ウィジェット２１から要求されたサービスの実行を制御する。サービスを実現するための処理は、標準アプリ１２１や他のＳＤＫアプリ１２２に委譲される。
【００４７】
ジョブトラッキングデータ記録部１３８は、処理フローの完了後等に、ジョブトラッキングデータを不揮発性の記録媒体（例えば、ＨＤＤ１１４）に記録する。
【００４８】
以下、情報処理システム１の処理手順について説明する。図５は、ウィジェット起動時の処理手順を説明するためのシーケンス図である。同図の初期状態において、ウィジェットマネージャ２２は既に起動されていることとする。
【００４９】
例えば、ユーザの指示入力に応じて翻訳コピーウィジェット２１ｃが起動されると、翻訳コピーウィジェット２１ｃのウィジェット情報送信部２１２は、属性情報管理ファイル２１５よりウィジェット情報を取得し、当該ウィジェット情報をウィジェットマネージャ２２のウィジェット情報登録部２２３に送信する（Ｓ１０１）。
【００５０】
図６は、翻訳コピーウィジェットのウィジェット情報の例を示す図である。同図において、翻訳コピーウィジェット２１ｃのウィジェット情報は、ウィジェットＩＤ、ユーザＩＤ、ウィジェットアドレス、表示名、及び処理フロー情報等を含む。
【００５１】
ウィジェットＩＤは、各ウィジェット２１を一意に識別する識別情報である。ユーザＩＤは、翻訳コピーウィジェット２１ｃのユーザの識別子である。すなわち、各ウィジェット２１は、当該ウィジェット２１がインストールされたユーザ端末２０のユーザに関連付けられている。ウィジェットアドレスは、ネットワーク通信において各ウィジェット２１を一意に識別するための識別情報（例えば、ＵＲＬ等）である。表示名は、翻訳コピーウィジェット２１ｃの名前の表示用の文字列である。
【００５２】
処理フロー情報は、翻訳コピーウィジェット２１ｃが実行する処理フローにおいて利用されるサービス（実行される処理）ごとに、サービス名、提供者名、ＵＲＬ、及び設定情報等を含む情報である。サービス名は、サービスの識別名称である。本実施の形態では日本語で記載されているが、プログラム上処理しやすい符号等によってサービス名が定義されてもよい。提供者名は、サービスを提供している事業者の名前である。例えば、スキャンサービス及び印刷サービスに対する提供者名（「ＡＢＣ」）は、画像形成装置１０のメーカーを示す。また、ＯＣＲサービス及び翻訳サービスに対する提供者名は、ＯＣＲサーバ５０又は翻訳サーバ６０の運営者の名前を示す。ＵＲＬは、画像形成装置１０のプロバイダアプリ１２２１が各サービスをネットワーク上において識別するための情報である。本実施の形態ではＵＲＬを用いているが、利用する通信プロトコルに応じて他の識別情報をＵＲＬに代替させてもよい。設定情報は、各サービスに対する設定情報（実行条件）である。例えば、スキャンサービスであれば、解像度、カラーモード等に関する指定である。また、ＯＣＲサービスであれば、文書の方向（横書き又は縦書き）や言語の種別等に関する指定である。翻訳サービスであれば、翻訳元と翻訳先の言語の指定等である。印刷サービスであれば、用紙サイズ、カラーモード、集約、両面等に関する指定である。
【００５３】
なお、本実施の形態において、処理フロー情報におけるサービスの配列順は、サービスの利用順に従っている。すなわち、翻訳コピーウィジェット２１ｃの処理フローでは、スキャン→ＯＣＲ→翻訳→印刷の順でサービスが利用（処理が実行）される。処理フロー情報におけるサービスの配列順をサービスの利用順とは無関係に定義可能とする場合は、サービスの利用順を示す情報を処理フロー情報に含めてもよい。また、同図では、翻訳コピーウィジェット２１ｃのウィジェット情報について説明したが、他のウィジェット２１のウィジェット情報も同様の構造を有する。
【００５４】
ところで、ウィジェット情報は、属性情報管理ファイル２１５より取得されるものである。したがって、ユーザは、属性情報管理ファイル２１５を編集することにより、各サービスの設定情報に関してカスタマイズを行うことができる。
【００５５】
続いて、ウィジェット情報登録部２２３は、受信されたウィジェット情報に含まれているユーザＩＤに対応するウィジェット情報管理テーブル２２７に当該ウィジェット情報を登録する（Ｓ１０２）。当該ユーザＩＤに対応するウィジェット情報管理テーブル２２７が存在しない場合、ウィジェット情報登録部２２３は、当該ユーザＩＤに対応するウィジェット情報管理テーブル２２７を生成し、生成されたウィジェット情報管理テーブル２２７にウィジェット情報を登録する。なお、本実施の形態では、ユーザ端末２０とユーザとは一対一に対応する。また、ウィジェット情報管理テーブル２２７は、ウィジェットマネージャ２２の終了時に削除される。したがって、本実施の形態では、ユーザ端末２０の起動後において初めてウィジェット２１が起動された場合、ウィジェット情報管理テーブル２２７が生成される。
【００５６】
ウィジェット情報管理テーブル２２７が新たに生成された場合（すなわち、受信されたウィジェット情報に含まれているユーザＩＤに係るユーザについて、初めてウィジェット情報が登録された場合）、広告部２２４は、受信されたウィジェット情報に含まれているユーザＩＤと、ウィジェット情報取得用ＵＲＬ（Uniform Resource Locator）とを含む広告をネットワーク上に発行する（Ｓ１０３）。ウィジェット情報取得用ＵＲＬとは、ウィジェットマネージャ２２ごとに（すなわち、ユーザ端末２０ごとに）一意なＵＲＬである。
【００５７】
当該広告は、ユーザ端末２０と通信可能な状態にある各画像形成装置１０のユーザ検知部１３１によって受信される。すなわち、複数の画像形成装置１０において広告は受信されうる。各画像形成装置１０のユーザ検知部１３１は、広告の受信に応じ、当該広告に含まれているユーザＩＤ及びウィジェット情報取得用ＵＲＬをユーザ管理テーブル１４１に登録する（Ｓ１０４）。
【００５８】
図７は、ユーザ管理テーブルの構成例を示す図である。同図に示されるように、ユーザ管理テーブル１４１は、ユーザＩＤとウィジェット情報取得用ＵＲＬとを対応づけて管理する。同図では、ユーザＡ及びユーザＢについてレコードが登録されている例が示されている。
【００５９】
以上によって、翻訳コピーウィジェット２１ｃの存在はウィジェットマネージャ２２によって認識された。また、ユーザ端末２０のユーザの存在は、画像形成装置１０に認識された。したがって、当該ユーザは、画像形成装置１０より翻訳コピーウィジェット２１ｃを利用できる状態となった。なお、当該ユーザが、スキャンウィジェット２１ａや印刷ウィジェット２１ｂを続けて起動した場合、これらのウィジェット２１についてもウィジェット情報がウィジェットマネージャ２２のウィジェット情報管理テーブル２２７に登録される。但し、広告は発行されない。当該ユーザに関する広告は既に発行されているからである。
【００６０】
図５の処理の後、ユーザは、翻訳コピーウィジェット２１ｃを動作させるために画像形成装置１０の設置場所へ移動する。なお、複数の画像形成装置１０がユーザ端末２０と通信可能な状態である場合、ユーザは任意の画像形成装置１０を選択可能である。すなわち、ユーザは、複数の画像形成装置１０の中で所望の画像形成装置１０に赴いて翻訳コピーウィジェット２１ｃを動作させることができる。
【００６１】
続いて、画像形成装置１０におけるユーザによる操作に応じて実行される処理について説明する。図８は、実行対象とするウィジェットの選択処理の処理手順を説明するためのシーケンス図である。
【００６２】
ユーザによって操作パネル１５を介してプロバイダアプリ１２２１の利用指示が入力されると（Ｓ１２１）、プロバイダアプリ１２２１のＵＩ制御部１３２は、ユーザ管理テーブル１４１に登録されている情報に基づいてユーザ選択画面を操作パネル１５に表示させる（Ｓ１２２）。なお、ステップＳ１２２において、ＵＩ制御部１３２は、ウィジェットマネージャ２２よりユーザ情報を取得し、取得されたユーザ情報に基づいてユーザ選択画面を表示させるようにしてもよい。この場合、図５のステップＳ１０３及びＳ１０４は必ずしも事前に行われなくてもよい。
【００６３】
図９は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面６１０には、ユーザＩＤごとにボタンが表示されている。同図では、ユーザＡに対応するボタン６１１とユーザＢに対応するボタン６１２とが表示されている。
【００６４】
続いて、ユーザは、ユーザ選択画面６１０において自らのユーザＩＤに対応するボタンを押下する（Ｓ１２３）。ボタンの押下に応じ、ウィジェット情報取得部１３３は、選択されたボタンに対応するユーザＩＤに関連付けられているウィジェット情報取得用ＵＲＬをユーザ管理テーブル１４１より取得する。なお、ユーザＩＤに対応するボタンの押下に応じ、ユーザの認証を行い、ユーザが認証された場合にのみ、以降の処理が実行されるようにしてもよい。
【００６５】
続いて、ウィジェット情報取得部１３３は、ウィジェット情報取得用ＵＲＬ宛に、ウィジェット情報の取得要求を送信する（Ｓ１２４）。ウィジェット情報取得用ＵＲＬ宛のウィジェット情報の取得要求は、ウィジェットマネージャ２２のウィジェット情報提供部２２５によって受信される。ウィジェット情報提供部２２５は、ウィジェット情報管理テーブル２２７に登録されている全てのウィジェット２１のウィジェット情報を取得し、取得されたウィジェット情報の一覧をプロバイダアプリ１２２１に送信する（Ｓ１２５）。ウィジェット情報の一覧の送信に際し、ウィジェット情報提供部２２５は、プロバイダアプリ１２２１と各ウィジェット２１との通信を中継するためのＵＲＬ（以下、「ウィジェット中継用ＵＲＬ」という。）をウィジェット２１ごと（ウィジェット情報ごと）に一意に生成する。ウィジェット情報提供部２２５は、ウィジェット２１ごとに生成されたウィジェット中継用ＵＲＬを、各ウィジェット２１に対応するウィジェット情報に付加し、ウィジェット中継用ＵＲＬが付加されたウィジェット情報の一覧をプロバイダアプリ１２２１に送信する。したがって、ステップＳ１２５において送信されるウィジェット情報は、例えば、図１０に示されるような構成を有する。
【００６６】
図１０は、ウィジェットマネージャからプロバイダアプリに送信される翻訳コピーウィジェットのウィジェット情報の構成例を示す図である。
【００６７】
図１０に示されるウィジェット情報は、図６のウィジェット情報に対してウィジェット中継用ＵＲＬが付加されたものである。ステップＳ１２５では、同図に示されるようなウィジェット情報の一覧が送信される。ここでは、ウィジェット情報が一つしか含まれないものもウィジェット情報の一覧という。
【００６８】
なお、ウィジェット中継用ＵＲＬは、ウィジェット情報がウィジェット情報管理テーブル２２７に登録される際に生成され、ウィジェット情報に付加されてもよい。
【００６９】
続いて、プロバイダアプリ１２２１のＵＩ制御部１３２は、受信されたウィジェット情報の一覧をＲＡＭ１１２に記録しておき、当該ウィジェット情報の一覧に基づいて、ユーザに利用可能なウィジェット２１の一覧を含む画面（ウィジェット選択画面）を表示させる（Ｓ１２６）。
【００７０】
図１１は、ウィジェット選択画面の表示例を示す図である。同図に示されウィジェット選択画面６２０には、ウィジェット２１ごとにボタンが表示されている。同図では、翻訳コピーウィジェット２１ｃに対応するボタン６２１と、スキャンウィジェット２１ａに対応するボタン６２２と、印刷ウィジェット２１ｂに対応するボタン６２３とが表示されている。
【００７１】
ウィジェット選択画面６２０において、翻訳コピーウィジェット２１ｃに対応するボタン６２１が選択され、スキャナ１２に原稿がセットされた後、操作パネル１５のスタートキーが押下されると（Ｓ１２７）、翻訳コピーウィジェット２１ｃの処理フローが開始される。
【００７２】
続いて、翻訳コピーウィジェット２１ｃの処理フローの実行時の処理手順について説明する。図１２は、第一の実施の形態における翻訳コピーウィジェットの処理フローの実行時の処理手順を説明するためのシーケンス図である。
【００７３】
翻訳コピーウィジェット２１ｃが実行対象として選択されたことに応じ、プロバイダアプリ１２２１のジョブトラッキングデータ生成部１３４は、翻訳コピーウィジェット２１ｃに対応するウィジェット情報（以下、「カレントウィジェット情報」という。）に基づいて、ジョブトラッキングデータ（ＪＴＤ）をＲＡＭ１１２に生成する（Ｓ１３１）。
【００７４】
図１３は、ジョブトラッキングデータの構成例を示す図である。同図に示されるように、ジョブトラッキングデータは、カレントウィジェット情報の処理フロー情報に対してジョブトラッキングＩＤを付加したものである。ジョブトラッキングＩＤは、ジョブトラッキングデータの識別情報であり、例えば、ジョブトラッキングデータごとに一意な文字列である。ジョブトラッキングＩＤは、ジョブトラッキングデータの生成に伴って、ジョブトラッキングデータ生成部１３４によって割り当てられ、ジョブトラッキングデータに付与（記録）される。
【００７５】
ジョブトラッキングデータは、更に、処理フロー情報において、サービスごとに課金度数及び実行結果を記録可能なように構成されている。課金度数は、課金量を示す指標である。課金額そのものが課金度数として記録されてもよい。実行結果は、サービスの実行の成否を示す情報である。図１３の状態では、まだいずれのサービスも実行されていないため、課金度数及び実行結果の値は全てのサービスについて空となっている。
【００７６】
ジョブトラッキングデータ生成部１３４は、カレントウィジェット情報と、生成されたジョブトラッキングデータとの関連付け情報をＲＡＭ１１２に記録しておく。例えば、カレントウィジェット情報のウィジェットＩＤとジョブトラッキングＩＤとの組（ペア）が当該関連付け情報としてＲＡＭ１１２に記録される。
【００７７】
続いて、プロバイダアプリ１２２１のサービス制御部１３７は、ジョブトラッキングデータ生成部１３４によって生成されたジョブトラッキングデータに含まれている処理フロー情報の第一エントリ（図１０参照）のサービス名が「スキャン」であることとＵＲＬが空であることとに基づいて、スキャンアプリ１２１１がスキャンサービスを実行すべきことを判定する。すなわち、ＵＲＬが空であることにより、スキャンサービスの実行場所は画像形成装置１０内であることが判定される。また、画像形成装置１０内においてスキャンサービスを実行するアプリケーションは、スキャンアプリ１２２１であるため、スキャンサービスの実行主体はスキャンアプリ１２２１であると判定される。
【００７８】
そこで、サービス制御部１３７は、ジョブトラッキングデータを指定して、スキャンの実行指示をスキャンアプリ１２１１に入力する（Ｓ１３２）。スキャンアプリ１２１１は、ジョブトラッキングデータに含まれているスキャンサービスに対する設定情報にしたがって１枚の原稿に対するスキャンをスキャナ１２に実行させ、１枚のスキャン分の課金度数とスキャンの実行結果とをジョブトラッキングデータに記録する（Ｓ１３３）。続いて、スキャンアプリ１２１１は、原稿よりスキャンされた画像データ（スキャン画像）と、スキャンサービスに対する課金度数及びスキャンの実行結果が記録されたジョブトラッキングデータとをサービス制御部１３７に出力する（Ｓ１３４）。
【００７９】
続いて、サービス制御部１３７は、処理フロー情報の第二エントリに含まれているサービス名「ＯＣＲ」とＵＲＬとに基づいて、外部のＷｅｂサービスによってＯＣＲサービスが実行されるべきことを判定する。当該判定に応じ、プロバイダアプリ１２２１のデータ転送部１３５は、スキャン画像及びジョブトラッキングデータを含むスキャン完了通知をカレントウィジェット情報に含まれているウィジェット中継用ＵＲＬ宛に送信する（Ｓ１３５）。ウィジェット中継用ＵＲＬ宛に送信されたスキャン完了通知は、ウィジェットマネージャ２２の中継部２２６によって受信される。中継部２２６は、当該ウィジェット中継用ＵＲＬに対応するウィジェット情報をウィジェット情報管理テーブル２２７より取得し、当該ウィジェット情報に含まれているウィジェットアドレス宛にスキャン完了通知を転送する。当該ウィジェットアドレス宛に送信されたスキャン完了通知は、翻訳コピーウィジェット２１ｃのロジック部２１４によって受信される。
【００８０】
このように、データ転送部１３５から翻訳コピーウィジェット２１ｃへのデータの転送は、ウィジェットマネージャ２２を介して実行される。但し、シーケンス図においてはウィジェットマネージャ２２による仲介処理は便宜上省略されている。また、以降の説明においても、ウィジェットマネージャ２２による仲介処理に関しては省略して説明する。
【００８１】
続いて、翻訳コピーウィジェット２１ｃのロジック部２１４は、スキャン完了通知の受信に応じ、スキャン画像に対するＯＣＲ処理の実行要求をＯＣＲサーバ５０に送信する（Ｓ１３６）。当該実行要求には、スキャン完了通知に含まれていたスキャン画像及びジョブトラッキングデータが含まれる。なお、翻訳コピーウィジェット２１ｃのロジック部２１４は、翻訳コピーウィジェット２１ｃが実行する処理フロー、当該処理フローにおいて利用される各サービス、及び各サービスの提供者の所在（ＵＲＬ等）を知っている。斯かる知識はロジック部２１４にロジックとして組み込まれていてもよいし（ハードコーディングされていてもよいし）、翻訳コピーウィジェット２１ｃの属性情報管理ファイル２１５に基づいて動的に獲得されてもよい。
【００８２】
続いて、ＯＣＲサーバ５０は、スキャン画像に対してＯＣＲ処理を実行し、ＯＣＲ処理に応じた課金度数及びＯＣＲ処理の実行結果をジョブトラッキングデータに記録する（Ｓ１３７）。続いて、ＯＣＲサーバ５０は、ＯＣＲ処理の結果得られるテキストデータ（ＯＣＲ済データ）及びジョブトラッキングデータを含むＯＣＲ完了通知を翻訳コピーウィジェット２１ｃに返信する（Ｓ１３８）。
【００８３】
翻訳コピーウィジェット２１ｃのロジック部２１４は、ＯＣＲ完了通知に応じ、ＯＣＲ済データに対する翻訳処理の実行要求を翻訳サーバ６０に送信する（Ｓ１３９）。当該実行要求には、ＯＣＲ済データ及びジョブトラッキングデータが含まれる。
【００８４】
続いて、翻訳サーバ６０は、ＯＣＲ済データに対して翻訳処理を実行し、翻訳処理に応じた課金度数及び翻訳処理の実行結果をジョブトラッキングデータに記録する（Ｓ１４０）。続いて、翻訳サーバ６０は、翻訳処理の結果得られるテキストデータ（翻訳済データ）及びジョブトラッキングデータを含む翻訳完了通知を翻訳コピーウィジェット２１ｃに返信する（Ｓ１４１）。
【００８５】
翻訳コピーウィジェット２１ｃのロジック部２１４は、翻訳完了通知に応じ、翻訳済データの印刷処理の実行要求を画像形成装置１０のプロバイダアプリ１２２１に送信する（Ｓ１４２）。当該実行要求には、翻訳済データ及びジョブトラッキングデータが含まれる。なお、翻訳コピーウィジェット２１ｃからプロバイダアプリ１２２１への処理の実行要求は、ウィジェットマネージャ２２の中継部２２６を介して転送される。但し、ウィジェットマネージャ２２による斯かる中継処理については、シーケンス図及び以降の説明において便宜上省略する。
【００８６】
プロバイダアプリ１２２１のデータ受信部１３６は、印刷処理の実行要求を受信すると、当該実行要求をサービス制御部１３７に通知する。サービス制御部１３７は、当該実行要求に含まれている翻訳済データ及びジョブトラッキングデータを指定して、印刷の実行指示を印刷アプリ１２１２に入力する（Ｓ１４３）。印刷アプリ１２１２は、ジョブトラッキングデータに含まれている印刷サービスに対する設定情報にしたがって翻訳済データの印刷をプリンタ１３に実行させ、１枚の印刷分の課金度数と印刷の実行結果とをジョブトラッキングデータに記録する（Ｓ１４４）。続いて、印刷アプリ１２１２は、印刷サービスに対する課金度数及び印刷の実行結果が記録されたジョブトラッキングデータをサービス制御部１３７に出力し、印刷の完了をサービス制御部１３７に通知する（Ｓ１４５）。
【００８７】
サービス制御部１３７は、ジョブトラッキングデータの課金度数又は実行結果の記録に基づいて、翻訳コピーウィジェット２１ｃの処理フローの完了を判定する。処理フローの完了に応じ、プロバイダアプリ１２２１のジョブトラッキングデータ記録部１３８は、処理フローに含まれている全てのサービスの実行結果が成功（正常終了）であるか否かを確認する。全てのサービスの実行結果が成功である場合、ジョブトラッキングデータ記録部１３８はジョブトラッキングデータを不揮発性の記録媒体（例えば、ＨＤＤ１１４）に記録（保存）する（Ｓ１４６）。
【００８８】
図１４は、課金度数及び実行結果が記録されたジョブトラッキングデータの例を示す図である。同図に示されるジョブトラッキングデータには、スキャンサービス、ＯＣＲサーサービス、翻訳サービス、及び印刷サービスのそれぞれについて、課金度数「１」、「２」、「５」、「１」が記録されている。また、全てのサービスの実行結果として、成功を示す「ＯＫ」が記録されている。
【００８９】
続いて、データ転送部１３５は、印刷処理の完了通知を翻訳コピーウィジェット２１ｃに送信する（Ｓ１４７）。印刷処理の完了通知に応じ、翻訳コピーウィジェット２１ｃのロジック部２１４は、処理フローの実行を終了させる。
【００９０】
なお、ＨＤＤ１１４に記録されたジョブトラッキングデータは、ユーザに対する課金情報として利用される。ここで、翻訳コピーウィジェット２１ｃが利用した全てのサービスによる課金度数は、ジョブトラッキングデータに記録され画像形成装置１０に一元的に管理されている。したがって、翻訳コピーウィジェット２１ｃのユーザに対する課金は、ジョブトラッキングデータに基づいて一括的に行うことができる。例えば、画像形成装置１０のメーカーのサービスマンが、ジョブトラッキングデータを参照して、一括してユーザに対して課金額の請求を行う。したがって、ユーザは、一つの請求元に対して課金額を支払えばよく、サービスの提供者ごとに課金額を支払うといった煩雑さから解放される。
【００９１】
なお、一括して課金額を徴収した画像形成装置１０のメーカーは、ジョブトラッキングデータに記録されている課金度数に応じて、徴収した課金額を他のサービスの提供者（ＯＣＲサーバ５０の運営者や翻訳サーバ６０の運営者等）に分配する。課金額に関するこのような取り扱いについては、画像形成装置１０のメーカーと、各サービスの提供者との間で予め契約等を結んでおけばよい。
【００９２】
なお、原稿が複数ページ有る場合、最も単純なシーケンスとしては、ステップＳ１３１〜Ｓ１４７をページ数分繰り返せば（ループさせれば）よい（ケース１）。但し、翻訳コピーウィジェット２１ｃが複数ページ数分のデータを滞留させることにより、ループさせるステップが一部分に限定されるようにしてもよい。具体的には、翻訳コピーウィジェット２１ｃは、ステップＳ１３１〜Ｓ１３５までが全ページ分について実行され、全ページ分のスキャン画像が受信されるまで待機するようにしてもよい（ケース２）。この場合、翻訳コピーウィジェット２１ｃは、ステップＳ１３６において全ページ分のスキャン画像をまとめてＯＣＲサーバ５０に送信する。したがって、ステップＳ１３６以降の処理（ＯＣＲ、翻訳、及び印刷）では、全ページ分のデータが一回分の処理対象とされる。
【００９３】
または、翻訳コピーウィジェット２１ｃは、ステップＳ１３１〜Ｓ１４１までが全ページ分について実行され、全ページ分の翻訳済データが受信されるまで待機するようにしてもよい（ケース３）。この場合、翻訳コピーウィジェット２１ｃは、ステップＳ１４２において全ページ分の翻訳済データをまとめてプロバイダアプリ１２２１に送信する。したがって、ステップＳ１４２以降の処理（ＯＣＲ、翻訳、及び印刷）では、全ページ分のデータが一回分の処理対象とされる。
【００９４】
上記ケース１〜ケース３の概略を図１５に示す。図１５は、翻訳コピーウィジェットによる処理フローの制御のバリエーションを示す図である。同図において、ＯＣＲサーバ５０及び翻訳サーバ６０は、便宜上、同一軸上に記載されている。また、ｄ１〜ｄ３は、ジョブトラッキングデータを示す。同一符号のジョブトラッキングデータの実体は各ケース内において同一である。
【００９５】
例えば、原稿が３ページであるとすると、ケース１では、スキャン→ＯＣＲ→翻訳→印刷といった処理フローが３回繰り返される（ループする）。この場合、１回目の処理フローではジョブトラッキングデータｄ１に、２回目の処理フローではジョブトラッキングデータｄ２に、３回目の処理フローではジョブトラッキングデータｄ３にそれぞれ課金度数及び実行結果が記録される。なお、ジョブトラッキングデータｄ２及びｄ３は、例えば、スキャンアプリ１２１１が、１ページずつスキャンが実行されるたびにジョブトラッキングデータｄ１の複製（課金度数及び実行結果は除く）として生成されてもよい。または、スキャンアプリ１２１１が、１ページずつスキャンが実行されるたびに、プロバイダアプリ１２２１に新たなジョブトラッキングデータの生成を要求し、当該要求に応じてプロバイダアプリ１２２１のジョブトラッキングデータ生成部１３４が新たなジョブトラッキングデータとしてジョブトラッキングデータｄ２及びｄ３を生成してもよい。この点については、ケース２及びケース３についても同様である。
【００９６】
ケース２では、３ページ分について連続的にスキャンされ、３ページ分のスキャン画像に対してＯＣＲ及び翻訳が実行され、３ページ分の翻訳済データに対して印刷が実行される。この場合、ＯＣＲ処理の実行要求及びその応答時、翻訳処理の実行要求及びその応答時、並びに印刷処理の実行要求時において、３ページ分のジョブトラッキングデータｄ１〜ｄ３が一度に転送される。したがって、ＯＣＲサーバ５０、翻訳サーバ６０、及び印刷アプリ１２１２は、ジョブトラッキングデータｄ１〜ｄ３のうち、各ページに対応するジョブトラッキングデータに課金度数及び実行結果を記録する。
【００９７】
ケース３では、スキャン→ＯＣＲ→翻訳といった処理フローが３回繰り返され、３ページ分の翻訳済データが翻訳コピーウィジェット２１ｃに滞留する。その後、３ページ分の翻訳済データに対して印刷が実行される。この場合、印刷処理の実行要求時において３ページ分のジョブトラッキングデータｄ１〜ｄ３が一度に転送される。したがって、印刷アプリ１２１２は、ジョブトラッキングデータｄ１〜ｄ３のうち、各ページに対応するジョブトラッキングデータに課金度数及び実行結果を記録する。
【００９８】
なお、ケース１〜３のいずれの場合においても、ジョブトラッキングデータｄ１〜ｄ３の三つのジョブトラッキングデータがＨＤＤ１１４に記録（蓄積）される。
【００９９】
続いて、処理フローの途中でエラーが発生した場合について説明する。図１６は、第一の実施の形態において翻訳コピーウィジェットの処理フローの途中でエラーが発生した場合の処理手順を説明するためのシーケンス図である。図１６中、図１２と同一ステップには同一ステップ番号を付し、その説明は省略する。
【０１００】
同図では、ＯＣＲサーバ５０によるＯＣＲ処理（Ｓ１３７ｅ）においてエラーが発生した例が示されている。この場合、ＯＣＲサーバ５０は、ＯＣＲ処理が失敗したことをジョブトラッキングデータに記録する。
【０１０１】
図１７は、エラーが発生した場合のジョブトラッキングデータの例を示す図である。同図の例では、ＯＣＲサービスの実行結果として、失敗（エラー）を示す「ＮＧ」が記録されている。なお、同図の例ではＯＣＲサービスの課金度数には何も記録されていないが、０（零）が記録されてもよい。
【０１０２】
続いて、ＯＣＲサーバ５０は、エラー通知メッセージとジョブトラッキンデータとを翻訳コピーウィジェット２１ｃに返信する（Ｓ１３８ｅ）。翻訳コピーウィジェット２１ｃのロジック部２１４は、エラー通知メッセージを受信すると、以降の処理を中止し、ジョブトラッキングデータをプロバイダアプリへ転送する（Ｓ１３９ｅ）。プロバイダアプリ１２２１のジョブトラッキングデータ記録部１３８は、ジョブトラッキングデータに基づいて実行結果が「ＮＧ」であるサービス（ここでは、ＯＣＲサービス）が存在することを検知すると、ジョブトラッキングデータに既に記録されている課金度数を無効化する（Ｓ１４０ｅ）。例えば、既に記録されている課金度数の値を「０」にしたり、削除したり（クリアしたり）して、課金が行われないようにする。続いて、ジョブトラッキングデータ記録部１３８は、課金度数が無効化されたジョブトラッキングデータを不揮発性の記録媒体（例えば、ＨＤＤ１１４）に記録する（Ｓ１４１ｅ）。
【０１０３】
図１８は、課金度数が無効化されたジョブトラッキングデータの例を示す図である。同図では、既に「１」が記録されていたスキャンサービスの課金度数が「０」にされた例が示されている。
【０１０４】
処理フローの途中でエラーが発生した場合に課金度数が無効化されることにより、最終成果物（ここでは、日本語による印刷物）が得られていないにも拘わらず、処理が成功した一部のサービス（ここでは、スキャンサービス）について課金が行われるといった不合理な事態の発生を回避することができる。
【０１０５】
なお、図１５を参照しつつ、原稿が複数ページの場合に２ページ以降の処理でエラーが発生した場合の課金範囲（課金対象）について説明する。
【０１０６】
ケース１において、例えば、２ページ目においてエラーが発生した場合、ジョブトラッキングデータｄ２の課金度数が全て無効化される。但し、ジョブトラッキングデータｄ１の課金度数については既に確定されているため、課金度数は無効化されない。したがって、１ページ分について課金が行われる。同様の理由で、３ページ目においてエラーが発生した場合、２ページ分について課金が行われる。すなわち、ページ単位において処理フローが完了した範囲で課金が行われる。
【０１０７】
ページ単位において処理フローが完了した範囲で課金が行われるといった規則は、ケース２及びケース３にも当てはめる。但し、ケースごとに、各サービスにおいて一回の処理で処理対象とされるデータの単位（ページ数）が異なるため、当該単位の相違に応じて各ジョブトラッキングデータの課金度数の確定のタイミングが異なる。
【０１０８】
すなわち、ケース２において、１〜３ページ目のスキャン処理、ＯＣＲ処理、又は翻訳処理においてエラーが発生した場合、ジョブトラッキングデータｄ１〜ｄ３のいずれについても、処理フローの全てのサービスの実行結果が「ＯＫ」にはならない。具体的には、例えば、２ページ目のＯＣＲ処理でエラーが発生した場合、ジョブトラッキングデータｄ１、ｄ２、及びｄ３のそれぞれのＯＣＲサービスの実行結果は、「ＯＫ」、「ＮＧ」、「ＮＧ」となる。ここで、１ページ目についてＯＣＲ処理が成功したとしても、３ページを１単位とした場合にＯＣＲ処理は失敗したため、ＯＣＲ処理の失敗により処理フローは中止される。その結果、ジョブトラッキングデータｄ１についても印刷サービスの実行結果には「ＯＫ」は記録されない。したがって、ＯＣＲサービスの実行結果に「ＮＧ」が記録されているジョブトラッキングデータｄ２及びｄ３のみならず、印刷サービスの実行結果が記録されていないジョブトラッキングデータｄ１についても全ての課金度数が無効化される。その結果、全ページについて課金は行われない。但し、２ページ目の印刷処理においてエラーが発生した場合、ジョブトラッキングデータｄ１の課金度数は既に確定しているため、１ページ分について課金が行われる。３ページ目の印刷処理においてエラーが発生した場合も同様の理由により、２ページ分について課金が行われる。ケース３についてもケース２と同様の結果となる。
【０１０９】
続いて、第二の実施の形態について説明する。図１９は、第二の実施の形態におけるウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。図１９中、図４と同一部分には同一符号を付し、その説明は省略する。
【０１１０】
同図において、プロバイダアプリ１２２１は、共通鍵提供部１３９を更に有する。共通鍵提供部１３９は、各サービスの実行結果として生成されるデータやジョブトラッキングデータ等を暗号化するための暗号鍵（共通鍵）を生成する。共通鍵提供部１３９は、また、生成された共通鍵をＯＣＲサーバ５０及び翻訳サーバ６０等に安全に転送する。
【０１１１】
以下、第二の実施の形態の情報処理システム１の処理手順について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に明記しない点については第一の実施の形態と同様でよい。
【０１１２】
図２０は、第二の実施の形態における翻訳コピーウィジェットの処理フローの実行時の処理手順を説明するためのシーケンス図である。すなわち、第二の実施の形態では、図１２の代わりに図２０に示される処理が実行される。
【０１１３】
ステップＳ２０１において、プロバイダアプリ１２２１のジョブトラッキングデータ生成部１３４は、図１２のステップＳ１３１と同様にジョブトラッキングデータ（ＪＴＤ）をＲＡＭ１１２に生成する。続いて、プロバイダアプリ１２２１の共通鍵提供部１３９は、ネットワーク上を流通するデータを暗号化するための暗号鍵（以下、「共通鍵Ａ」という。）をＲＡＭ１１２に生成し、ジョブトラッキングＩＤと関連付けておく（Ｓ２０２）。共通鍵Ａの生成ロジックは所定のものに限定されない。例えば、乱数発生器で発生させた乱数を共通鍵Ａとしてもよい。
【０１１４】
続いて共通鍵提供部１３９は、ジョブトラッキングデータに含まれているそれぞれのＵＲＬに基づいて、ＯＣＲサーバ５０及び翻訳サーバ６０に対して電子証明書の提示を要求する（Ｓ２０３、Ｓ２０９）。ここでいう電子証明書は、いわゆる認証局（ＣＡ）によって発行されているデジタル証明書である。ＯＣＲサーバ５０及び翻訳サーバ６０より電子証明書が返信されると（Ｓ２０４、Ｓ２１０）、共通鍵提供部１３９は、返信された電子証明書の信頼性を確認する（Ｓ２０５、Ｓ２１１）。電子証明書の信頼性の確認方法については公知技術に従えばよい。電子証明書の信頼性が確認されると、共通鍵提供部１３９は、共通鍵Ａを各電子証明書に含まれている公開鍵によって暗号化する（Ｓ２０６、Ｓ２１２）。続いて、共通鍵提供部１３９は、暗号化された共通鍵ＡをジョブトラッキングデータのジョブトラッキングＩＤ（ＪＴＩＤ）と共にＯＣＲサーバ５０及び翻訳サーバ６０に送信する（Ｓ２０７、Ｓ２１３）。図Ｓ３において、＜＞で囲まれたデータは暗号化されていることを示す。例えば、ステップＳ２０７及びＳ２１３における＜共通鍵＞という表記は、暗号化された共通鍵Ａを示す。
【０１１５】
ＯＣＲサーバ５０及び翻訳サーバ６０のそれぞれは、暗号化された共通鍵Ａをそれぞれの秘密鍵によって復号し、共通鍵Ａと共に受信されたジョブトラッキングＩＤと関連付けて記憶装置に保存しておく（Ｓ２０８、Ｓ２１４）。
【０１１６】
以上で、共通鍵Ａは、画像形成装置１０、ＯＣＲサーバ５０、及び翻訳サーバ６０によって安全に共有されたことになる。
【０１１７】
続いて、プロバイダアプリ１２２１のサービス制御部１３７は、ステップＳ１３２（図１２）と同様に、ジョブトラッキングデータを指定して、スキャンの実行指示をスキャンアプリ１２１１に入力する（Ｓ２２１）。スキャンアプリ１２１１は、ステップＳ１３３と同様にスキャナ１２にスキャンを実行させ、課金度数及びスキャンの実行結果をジョブトラッキングデータに記録する（Ｓ２２２）。続いて、スキャンアプリ１２１１は、スキャンされた画像データ（スキャン画像）とジョブトラッキングデータとをサービス制御部１３７に出力する（Ｓ２２３）。
【０１１８】
続いて、データ転送部１３５は、スキャン画像及びジョブトラッキングデータを共通鍵Ａによって暗号化する（Ｓ２２４）。続いて、データ転送部１３５は、暗号化されたスキャン画像及びジョブトラッキングデータを含むスキャン完了通知を翻訳コピーウィジェット２１ｃに送信する（Ｓ２２５）。図２０において、＜＞で囲まれたデータは暗号化されていることを示す。例えば、ステップＳ２２５における＜スキャン画像、ＪＴＤ＞という表記は、スキャン画像及びジョブトラッキングデータが暗号化されていることを示す。
【０１１９】
なお、スキャン完了通知において、平文のジョブトラッキングＩＤは確認可能な状態とされる。例えば、ステップＳ２２４においてジョブトラッキングデータを暗号化する際、ジョブトラッキングＩＤが暗号化対象から除外されるようにしてもよい。または、全部が暗号化されたジョブトラッキングデータとスキャン画像データと共に、平文のジョブトラッキングＩＤが送信されるようにしてもよい。
【０１２０】
スキャン完了通知の受信に応じ、翻訳コピーウィジェット２１ｃのロジック部２１４は、スキャン完了通知に含まれていた暗号化されたスキャン画像及びジョブトラッキングデータを含むＯＣＲ処理の実行要求をＯＣＲサーバ５０に送信する（Ｓ２２６）。当該実行要求にも平文のジョブトラッキングＩＤは引き継がれる。
【０１２１】
続いて、ＯＣＲサーバ５０は、受信された平文のジョブトラッキングＩＤに基づいて、受信されたデータを復号するための共通鍵Ａを特定し、当該共通鍵Ａを用いてスキャン画像及びジョブトラッキングデータを復号する（Ｓ２２７）。このように、平文のジョブトラッキングＩＤは、複数存在しうる共通鍵の中で、各要求元（クライアント）に対応する共通鍵を特定（識別）するために用いられる。共通鍵が複数存在しうるのは、複数の画像形成装置１０においてウィジェット２１が同時期に利用される可能性があるからである。
【０１２２】
続いて、ＯＣＲサーバ５０は、復号されたスキャン画像に対してＯＣＲ処理を実行し、ＯＣＲ処理に応じた課金度数及びＯＣＲ処理の実行結果を復号されたジョブトラッキングデータに記録する（Ｓ２２８）。続いて、ＯＣＲサーバ５０は、共通鍵ＡによってＯＣＲ済データ及びジョブトラッキングデータを暗号化する（Ｓ２２９）。続いて、ＯＣＲサーバ５０は、暗号化されたＯＣＲ済データ及びジョブトラッキングデータを含むＯＣＲ完了通知を翻訳コピーウィジェット２１ｃに返信する（Ｓ２３０）。なお、ＯＣＲ完了通知においても、平文のジョブトラッキングＩＤは確認可能とされる。
【０１２３】
翻訳コピーウィジェット２１ｃのロジック部２１４は、ＯＣＲ完了通知を受信すると、ＯＣＲ済データに対する翻訳処理の実行要求を翻訳サーバ６０に送信する（Ｓ２３１）。当該実行要求には、暗号化されたＯＣＲ済データ及びジョブトラッキングデータが含まれる。また、平文のジョブトラッキングＩＤも当該実行要求に引き継がれる。
【０１２４】
続いて、翻訳サーバ６０は、受信された平文のジョブトラッキングＩＤに基づいて、受信されたデータを復号するための共通鍵Ａを特定し、当該共通鍵Ａを用いてＯＣＲ済データ及びジョブトラッキングデータを復号する（Ｓ２３２）。続いて、翻訳サーバ６０は、復号されたＯＣＲ済データに対して翻訳処理を実行し、翻訳処理に応じた課金度数及び翻訳処理の実行結果を復号されたジョブトラッキングデータに記録する（Ｓ２３３）。続いて、翻訳サーバ６０は、共通鍵Ａによって翻訳済データ及びジョブトラッキングデータを暗号化する（Ｓ２３４）。続いて、翻訳サーバ６０は、暗号化された翻訳済データ及びジョブトラッキングデータを含む翻訳完了通知を翻訳コピーウィジェット２１ｃに返信する（Ｓ２３５）。なお、翻訳完了通知においても、平文のジョブトラッキングＩＤは確認可能とされる。
【０１２５】
翻訳コピーウィジェット２１ｃのロジック部２１４は、翻訳完了通知に応じ、翻訳済データの印刷処理の実行要求を画像形成装置１０のプロバイダアプリ１２２１に送信する（Ｓ２３６）。当該実行要求には、暗号化された翻訳済データ及びジョブトラッキングデータが含まれる。また、平文のジョブトラッキングＩＤも当該実行要求に引き継がれる。
【０１２６】
プロバイダアプリ１２２１のデータ受信部１３６は、印刷処理の実行要求を受信すると、平文のジョブトラッキングＩＤに基づいて復号に利用する共通鍵Ａを特定し、共通鍵Ａを用いて暗号化されている翻訳済データ及びジョブトラッキングデータを復号する（Ｓ２３７）。データ受信部１３６は、復号された翻訳済データ及びジョブトラッキングデータを含む印刷処理の実行要求をサービス制御部１３７に入力する。
【０１２７】
以降ステップＳ２３８〜Ｓ２４２は、図１２のステップＳ１４３〜Ｓ１４７と同様でよい。但し、ステップＳ２４２において、データ転送部１３５は、暗号鍵転送手段として印刷完了通知と共に共通鍵Ａを翻訳コピーウィジェット２１ｃに送信する。そうすることにより、翻訳コピーウィジェット２１ｃは、例えば、スキャン画像、ＯＣＲ済データ、翻訳済データ等の中間データを保持しておいた場合に、共通鍵Ａを利用してこれらの中間データを復号することができる。なお、データ転送部１３５は、ジョブトラッキングデータにおいて全てのサービスの実行結果が「ＯＫ」の場合に限って共通鍵Ａを転送する。すなわち、全てのサービスに関する課金度数がジョブトラッキングデータに記録され、課金が行える状態が整った場合に限って共通鍵Ａは転送される。課金できない状態において中間データが復号され、実質的にサービスが無料で提供されてしまうという事態の発生を防止するためである。
【０１２８】
また、プロバイダアプリ１２２１は、翻訳コピーウィジェット２１ｃより電子証明書を取得し、当該電子証明書の信頼性が確認できた場合に翻訳コピーウィジェット２１ｃに対して共通鍵Ａを転送するようにしてもよい。この場合、当該電子証明書に含まれている公開鍵によって共通鍵Ａを暗号化すれば、安全に共通鍵Ａを転送することができる。または、共通鍵Ａの転送先は、ウィジェットマネージャ２２としてもよい。ウィジェットマネージャ２２は、ウィジェット２１に比べて信頼性が高いからである。ウィジェットマネージャ２２は、受信した共通鍵Ａを利用して、翻訳コピーウィジェット２１ｃによって所定のフォルダ等に記録されている中間データを復号すればよい。
【０１２９】
上述したように、第二の実施の形態によれば、ジョブトラッキングデータは、暗号化された状態でネットワーク上を流通する。したがって、サービスの実行主体、すなわち課金主体においてのみ、ジョブトラッキングデータの加工又は編集等が可能とされる。換言すれば、サービスの要求者（翻訳コピーウィジェット２１ｃ）は、ジョブトラッキングデータの中身を参照することはできない。したがって、悪意をもった開発者によって開発されたウィジェット２１（以下、「不正ウィジェット」という。）による不正なサービスの利用を防止することができる。特に、本実施の形態では、処理フローの制御はウィジェット２１によって行われるため、処理フローの進行に伴ってジョブトラッキングデータはウィジェット２１を経由せざるをえない。したがって、不正ウィジェットによってジョブトラッキングデータに対して改ざんが行われる虞がある。しかし、第二の実施の形態では、ジョブトラッキングデータは暗号化されているため、不正な改ざんを適切に防止することができる。なお、ジョブトラッキングデータの改ざんの例としては、課金度数を無効化したり実行結果を「ＮＧ」としたりすることが挙げられる。課金度数が無効化された場合、第一の実施の形態では不正ウィジェットに対して無料でサービスが提供されてしまう。また、実行結果が「ＮＧ」とされた場合、第一の実施の形態では少なくとも一部のサービスが無料で提供されてしまう。実行結果に「ＮＧ」が記録された場合、プロバイダアプリ１２２１のジョブトラッキングデータ記録部１３８によってジョブトラッキングデータの課金度数は無効化されてしまうところ、ユーザ端末２０には、一部の中間データが保持されている可能性があるからである。
【０１３０】
また、第二の実施の形態によれば、共通鍵は課金できる状態が確定した後に（すなわち、ジョブトラッキングデータと引き替えに）ウィジェット２１に提供される。したがって処理フローの最終成果物が画像形成装置１０によって出力されるものでないウィジェット２１に対しても、ジョブトラッキングデータの画像形成装置１０への転送（返却）を強制させることができる。具体的に説明すると、「スキャン→ＯＣＲ→翻訳」といったウィジェット２１（以下、「スキャン翻訳ウィジェット」という。）が作成されたとする。スキャン翻訳ウィジェットの最終成果物は、翻訳済データであるため、第一の実施の形態の場合、スキャン翻訳ウィジェットは、ステップＳ１４１（図１２）において当該最終成果物を得ることができる。すなわち、ステップＳ１４１において翻訳済データと共に受信されるジョブトラッキングデータをプロバイダアプリ１２２１に転送（返却）せずともスキャン翻訳ウィジェットは最終成果物を得ることができてしまう。したがって、スキャン翻訳ウィジェットによるプロバイダアプリ１２２１へのジョブトラッキングデータの返却はスキャン翻訳ウィジェットの開発者の善意に委ねられてしまう。そして、ジョブトラッキングデータが返却されない場合、画像形成装置１０には課金度数は記録されないため、サービスの提供者は課金を行えなくなってしまう。
【０１３１】
一方、第二の実施の形態では、ステップＳ２３５において得られる翻訳済データを利用するためには、スキャン翻訳ウィジェットはジョブトラッキングデータをプロバイダアプリ１２２１に転送しなければならない。ジョブトラッキングデータをプロバイダアプリ１２２１に転送しなければ、スキャン翻訳ウィジェットは、暗号化された翻訳済データを復号するための共通鍵を獲得することはできないからである。したがって、不正な課金逃れを適切に防止することができる。
【０１３２】
また、第二の実施の形態によれば、不正ウィジェットを利用した善意のユーザの保護も可能となる。ここでの不正ウィジェットとしては、例えば、悪意のあるＷｅｂサービスの提供者等によって開発され、ネットワーク上でダウンロード可能とされているウィジェット２１等を想定するとよい。当該ウィジェット２１は、悪意のあるＷｅｂサービスを利用し、不当な課金を行うというものであるとする。しかし、このようなＷｅｂサービスは、予め共通鍵Ａを入手することができないため、ジョブトラッキングデータの課金度数を編集することはできない。したがって、当該Ｗｅｂサービスは、不当な課金を行うことはできない。また、不正ウィジェットが、悪意のあるＷｅｂサービスへ中間データを流出させるという処理が実装されているものであっても、流出されたデータは、暗号化されているため、平文の場合に比べて高い安全性が確保され、情報漏洩等を適切に防止することができる。
【０１３３】
なお、共通鍵を常にウィジェット２１に転送するのではなく、転送すべきか否かをプロバイダアプリ１２２１が自動的に判断するようにしてもよい。例えば、プロバイダアプリ１２２１のデータ転送部１３５は、ジョブトラッキング情報の処理フロー情報において、当該画像形成装置１０によって提供されるサービスが最後に指定されている場合は、共通鍵の転送は行わない。この場合、処理フローの最終成果物は、本実施の形態のように画像形成装置１０より出力（例えば、印刷又はＦＡＸ送信等）されるため、最終成果物を復号する必要性は低いと考えられるからである。一方、データ転送部１３５は、ジョブトラッキング情報の処理フロー情報において、当該画像形成装置１０以外において提供されるサービスが最後に指定されている場合は、ウィジェット２１に対して共通鍵を転送する。この場合は、共通鍵が提供されなければウィジェット２１は最終成果物を復号することができないからである。
【０１３４】
また、画像形成装置１０において最終成果物が出力される場合において、ウィジェット２１が当該最終成果物に対応する画像データの提供を要求する場合、データ転送部１３５は、共通鍵の代わりに当該画像データをウィジェット２１に対して転送してもよい。最終成果物に対応する画像データとは、本実施の形態においては翻訳済データの印刷画像に相当する。すなわち、印刷時には、各種の画像処理が行われる。また、地紋やバーコード等、所定の情報を埋め込むための画像が合成される場合もある。これらの画像処理が施された画像が、ここでいう印刷画像である。ウィジェット２１が最終成果物に対応する画像データの提供を要求するか否かは、例えば、図２１に示されるようにウィジェット情報において指定可能としてもよい。
【０１３５】
図２１は、最終成果物の画像データの提供要求を含むウィジェット情報の例を示す図である。同図のウィジェット情報には、処理フロー情報の最後に翻訳コピーウィジェット２１ｃが追加されている。すなわち、ウィジェット２１自身が処理フローの最後に含まれている場合、データ転送部１３５は、画像形成装置１０において出力される最終成果物に対応する画像データ（印刷される画像データ又はＦＡＸ送信される画像データ等）をウィジェット２１に転送する。なお、当該画像データと共に共通鍵が転送されてもよい。
【０１３６】
また、中間データを利用可能である場合と利用可能でない場合とに応じて課金額を変化させるようにしてもよい。例えば、共通鍵の提供も一つのサービスと考え、当該サービスの提供に応じて課金を行うようにしてもよい。この場合、当該サービスを利用するか否か（共通鍵が必要であるか否か）はクライアント側（ウィジェット２１）に選択権が有るべきである。したがって、例えば、図２２に示されるようにウィジェット情報において共通鍵の必要の有無を指定可能としてもよい。
【０１３７】
図２２は、共通鍵の必要の有無を示す情報を含むウィジェット情報の例を示す図である。同図のウィジェット情報には、鍵要求フラグが追加されている。鍵要求フラグが「ｔｒｕｅ」である場合は共通鍵が必要であることを示し、「ｆａｌｓｅ」である場合は共通鍵は不要であることを示す。したがって、データ転送部１３５は、鍵要求フラグが「ｔｒｕｅ」である場合に共通鍵をウィジェット２１に送信する。
【０１３８】
なお、原稿が複数ページの場合、図１５のケース１のときはデータ転送部１３５は、各ジョブトラッキングデータが回収されるたびに共通鍵を翻訳コピーウィジェット２１ｃに転送すればよい。共通鍵提供部１３９は、共通鍵がウィジェット２１に転送された後に共通鍵を更新（生成）し、更新された共通鍵をＯＣＲサーバ５０及び翻訳サーバ６０に転送する。そうすることにより、ページごとに異なる共通鍵によって中間データ及びジョブトラッキングデータの暗号化が行われるようにする。すなわち、データ転送部１３５は、ページごとに異なる共通鍵によってスキャン画像及びジョブトラッキングデータを暗号化する。ＯＣＲサーバ５０は、ページごとに異なる共通鍵によってＯＣＲ済データ及びジョブトラッキングデータを暗号化する。翻訳サーバ６０は、ページごとに異なる共通鍵によって翻訳済データ及びジョブトラッキングデータを暗号化する。その結果、１ページ目について提供された共通鍵を用いて、翻訳コピーウィジェット２１ｃによって２ページ目以降のジョブトラッキングデータ等に対して不正処理が実行されるのを防止することができる。
【０１３９】
また、図１５のケース２及びケース３の場合は、３ページ分のジョブトラッキングデータが一度に回収されるため、データ転送部１３５は、当該ジョブトラッキングデータの回収に応じて共通鍵を翻訳コピーウィジェット２１ｃに転送すればよい。ケース２又はケース３が繰り返し実行される場合（例えば、合計９ページの原稿を３ページずつ処理する場合）は、ケース１の場合と同様に、共通鍵提供部１３９は、共通鍵が翻訳コピーウィジェット２１ｃに送信された後に共通鍵を更新すればよい。
【０１４０】
なお、ジョブトラッキングデータ及び中間データ等を暗号化する場合においても、途中でエラーが発生したときの課金範囲は、図１５を用いて説明した通りである。
【０１４１】
ところで、本実施の形態では、画像形成装置１０において最初にサービスが実行される（スキャンが実行される）ウィジェット２１（翻訳コピーウィジェット２１ｃ）を用いて説明を行った。但し、ウィジェット２１が実行可能な処理フローの自由度は高く、処理フローの起点は画像形成装置１０に限定されない。例えば、ユーザ端末２０に保存されている画像データをＯＣＲ処理し、翻訳処理し、印刷するといったウィジェット２１（以下、「翻訳印刷ウィジェット」という。）が作成されてもよい。斯かる翻訳印刷ウィジェットについても、本実施の形態の内容は翻訳コピーウィジェット２１ｃと同様に適用されうる。すなわち、翻訳印刷ウィジェットについても、図５及び図８において説明した処理が実行される。翻訳印刷ウィジェットが実行対象として選択された場合、図１２において、ステップＳ１３２〜Ｓ１３４を除いた処理が実行される。したがって、ステップＳ１３５では、スキャン画像は転送されず、ジョブトラッキングデータがスキャン翻訳ウィジェットに転送される。
【０１４２】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１４３】
１、２      情報処理システム
１０          画像形成装置
１１          コントローラ
１２          スキャナ
１３          プリンタ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          ユーザ端末
２１ａ        スキャンウィジェット
２１ｂ        印刷ウィジェット
２１ｃ        翻訳コピーウィジェット
２２          ウィジェットマネージャ
２３          ＯＳ
３０          課金情報収集サーバ
５０          ＯＣＲサーバ
６０          翻訳サーバ
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１２１        標準アプリ
１２２        ＳＤＫアプリ
１２３        ＳＤＫプラットフォーム
１２４        コントロールサービス
１２５        ＯＳ
１３１        ユーザ検知部
１３２        ＵＩ制御部
１３３        ウィジェット情報取得部
１３４        ジョブトラッキングデータ生成部
１３５        データ転送部
１３６        データ受信部
１３７        サービス制御部
１３８        ジョブトラッキングデータ記録部
１３９        共通鍵提供部
１４１        ユーザ管理テーブル
２１１        ウィジェットＵＩ部
２１２        ウィジェット情報送信部
２１３        連携部
２１４        ロジック部
２１５        属性情報管理ファイル
２２３        ウィジェット情報登録部
２２４        広告部
２２５        ウィジェット情報提供部
２２６        中継部
２２７        ウィジェット情報管理テーブル
【先行技術文献】
【特許文献】
【０１４４】
【特許文献１】特開２００８−１０９９３号公報
【図１】
2011028056.tif 000003
【図２】
2011028056.tif 000004
【図３】
2011028056.tif 000005
【図４】
2011028056.tif 000006
【図５】
2011028056.tif 000007
【図６】
2011028056.tif 000008
【図７】
2011028056.tif 000009
【図８】
2011028056.tif 000010
【図９】
2011028056.tif 000011
【図１０】
2011028056.tif 000012
【図１１】
2011028056.tif 000013
【図１２】
2011028056.tif 000014
【図１３】
2011028056.tif 000015
【図１４】
2011028056.tif 000016
【図１５】
2011028056.tif 000017
【図１６】
2011028056.tif 000018
【図１７】
2011028056.tif 000019
【図１８】
2011028056.tif 000020
【図１９】
2011028056.tif 000021
【図２０】
2011028056.tif 000022
【図２１】
2011028056.tif 000023
【図２２】
2011028056.tif 000024