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