(57)【特許請求の範囲】
【請求項１】
情報処理装置と、サーバとを含む情報処理システムであって、
前記情報処理装置が、第１の処理に必要な第２の処理を実行するための第１の情報を予め有していない場合は、前記サーバが保持している前記第１の情報を示す第２の情報を取得する第１の取得部と、
前記第１の処理の実行を要求する第１の要求を受け付けた場合、前記第２の情報を利用する権限を有することを示すトークン情報を取得する第２の取得部と、
前記第２の取得部により前記トークン情報が取得された場合、前記トークン情報を、前記第２の処理の実行を要求する第２の要求に付加する付加部と、
前記第２の要求に前記トークン情報が付加されている場合に限り、前記第２の情報を利用して前記第２の処理を実行する第２の処理部と、を備える、
情報処理システム。
【請求項２】
前記第１の取得部は、前記情報処理装置が有する機能の詳細な内容を示す機能詳細情報を参照して、前記情報処理装置が前記第１の情報を予め有しているか否かを判断する、
請求項１に記載の情報処理システム。
【請求項３】
前記トークン情報は、前記トークン情報が有効な期間を示す有効期間情報を含み、
前記第２の処理部は、前記トークン情報が付加された前記第２の要求を受け付けたときの時刻が、該トークン情報に含まれる前記有効期間情報が示す期間内の場合に限り、前記第２の情報を利用して前記第２の処理を実行する、
請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記有効期間情報は、前記第２の取得部が前記トークン情報の取得を要求した日時を始点として、一定の期間が経過した時点を終点とする期間を示す情報である、
請求項３に記載の情報処理システム。
【請求項５】
ユーザが前記第１の処理の実行を要求する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、前記第１のユーザ情報と、前記第１の処理の実行を要求する権限を有するユーザを識別するための第２のユーザ情報とを比較して前記認証処理を実行する認証処理部をさらに備える、
請求項１乃至４のうちの何れか１項に記載の情報処理システム。
【請求項６】
前記認証処理は、前記第１のユーザ情報と前記第２のユーザ情報とが一致する場合は、前記第１のユーザ情報を入力したユーザは前記第１の処理の実行を要求する権限を有すると判断し、前記第１のユーザ情報と前記第２のユーザ情報とが一致しない場合は、前記第１のユーザ情報を入力したユーザは前記第１の処理の実行を要求する権限を有していないと判断する処理である、
請求項５に記載の情報処理システム。
【請求項７】
前記第２の処理の結果を用いて、前記第１の処理を実行する第１の処理部をさらに備える、
請求項１乃至６のうちの何れか１項に記載の情報処理システム。
【請求項８】
前記第１の処理は、原稿から読み取った画像データに含まれる文字を認識するＯＣＲ処理により得られたテキストデータを翻訳する処理であって、一定期間に限って無料で実行可能な処理であり、
前記第２の処理は前記ＯＣＲ処理であり、
前記第１の情報は、特徴パターンと文字との対応関係を示す辞書情報であり、
前記第２の情報は、前記サーバが保持する前記辞書情報である、
請求項１乃至７のうちの何れか１項に記載の情報処理システム。
【請求項９】
第１の処理に必要な第２の処理を実行するための第１の情報を予め有していない場合は、サーバが保持している前記第１の情報を示す第２の情報を取得する第１の取得部と、
前記第１の処理の実行を要求する第１の要求を受け付けた場合、前記第２の情報を利用する権限を有することを示すトークン情報を取得する第１の取得部と、
前記第１の取得部により前記トークン情報が取得された場合、前記トークン情報を、前記第２の処理の実行を要求する第２の要求に付加する付加部と、
前記第２の要求に前記トークン情報が付加されている場合に限り、前記第２の情報を利用して前記第２の処理を実行する第２の処理部と、を備える、
情報処理装置。
【請求項１０】
第１の処理に必要な第２の処理を実行するための第１の情報を予め有していない場合は、サーバが保持している前記第１の情報を示す第２の情報を取得する第１の取得ステップと、
前記第１の処理の実行を要求する第１の要求を受け付けた場合、前記第２の情報を利用する権限を有することを示すトークン情報を取得する第２の取得ステップと、
前記第２の取得ステップにより前記トークン情報が取得された場合、前記トークン情報を、前記第２の処理の実行を要求する第２の要求に付加する付加ステップと、
前記第２の要求に前記トークン情報が付加されている場合に限り、前記第２の情報を利用して前記第２の処理を実行する第２の処理ステップと、を含む、
情報処理方法。
【請求項１１】
コンピュータに、
第１の処理に必要な第２の処理を実行するための第１の情報を予め有していない場合は、サーバが保持している前記第１の情報を示す第２の情報を取得する第１の取得ステップと、
前記第１の処理の実行を要求する第１の要求を受け付けた場合、前記第２の情報を利用する権限を有することを示すトークン情報を取得する第２の取得ステップと、
前記第２の取得ステップにより前記トークン情報が取得された場合、前記トークン情報を、前記第２の処理の実行を要求する第２の要求に付加する付加ステップと、
前記第２の要求に前記トークン情報が付加されている場合に限り、前記第２の情報を利用して前記第２の処理を実行する第２の処理ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、クラウドサービスの拡大に伴い、ベンダーはクラウドサービスと連携するアプリケーションの開発に注力している。このため、例えば複合機の基本機能(スキャン、プリント、ファクスなど)を利用しながら、クラウドサービスと連携できる多くの新規機能が開発されている。そして、追加する予定の新規機能の効果を検証するため、一定期間の間、お客様に対して、機能を無料で利用させるというビジネスモデル（以下、「無料トライアル」と称する場合がある）が登場している。
【０００３】
機能の追加に伴い、お客様が使用する機器（以下、「クライアント機器」と称する場合がある）は、当該新規機能の実行に必要な情報（モジュールやデータ等を含む）を有している必要がある。例えば特許文献１には、ＭＦＰが特定のサービスの実行に必要なアプリケーションを有していない場合、外部サーバから当該アプリケーションを自動的にダウンロードする技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えばクライアント機器が、機能の実行に必要な情報を有していないために、予め無料トライアル用に用意した情報（以下、「無料トライアル用の情報」と称する場合がある）を、サーバからクライアント機器へ供給する場合（クライアント機器にインストールさせる場合）、その無料トライアル用の情報が、追加された機能以外の機能に利用されてしまうおそれがある。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置と、サーバとを含む情報処理システムであって、前記情報処理装置が、第１の処理に必要な第２の処理を実行するための第１の情報を予め有していない場合、前記サーバが保持している前記第１の情報を示す第２の情報を取得する第１の取得部と、前記第１の処理の実行を要求する第１の要求を受け付けた場合、前記第２の情報を利用する権限を有することを示すトークン情報を取得する第２の取得部と、前記第２の取得部により前記トークン情報が取得された場合、前記トークン情報を、前記第２の処理の実行を要求する第２の要求に付加する付加部と、前記第２の要求に前記トークン情報が付加されている場合に限り、前記第２の情報を利用して前記第２の処理を実行する第２の処理部と、を備える情報処理システムである。
【発明の効果】
【０００６】
本発明によれば、機能の追加に伴ってサーバから情報処理装置へ供給した情報が、追加された機能以外の機能に利用されることを防止できる。
【図面の簡単な説明】
【０００７】
【図１】図１は、情報処理システムの概略構成の一例を示す図である。
【図２】図２は、トライアルホームページの一例を示す図である。
【図３】図３は、アカウント作成画面の一例を示す図である。
【図４】図４は、ＭＦＰのハードウェア構成の一例を示す図である。
【図５】図５は、ＭＦＰのソフトウェア構成の一例を示す図である。
【図６】図６は、ＭＦＰの機能構成の一例を示す図である。
【図７】図７は、ログイン画面の一例を示す図である。
【図８】図８は、ログイン画面の他の例を示す図である。
【図９】図９は、ログイン画面の他の例を示す図である。
【図１０】図１０は、翻訳サーバの機能構成の一例を示す図である。
【図１１】図１１は、スキャナケーパビリティ情報の一例を示す図である。
【図１２】図１２は、モジュール管理サーバの機能構成の一例を示す図である。
【図１３】図１３は、翻訳要求画面の一例を示す図である。
【図１４】図１４は、トークン情報の一例を示す図である。
【図１５】図１５は、トライアル用ＯＣＲ辞書を取得する手順の一例を示すシーケンス図である。
【図１６】図１６は、翻訳トライアルに係る翻訳処理を実行する手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る情報処理システム、情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。以下では、本発明に係る情報処理装置の一例として、複合機（ＭＦＰ：Multifunction  Peripheral）を例に挙げて説明するが、これに限られるものではなく、例えばプロジェクタなどであってもよい。なお、複合機とは、コピー機能、スキャナ機能、プリント機能、ＦＡＸ機能などの複数の異なる機能を有する装置である。
【０００９】
図１は、本実施形態の情報処理システム１の概略構成の一例を示す図である。図１に示すように、情報処理システム１は、ＭＦＰ１００と、翻訳サーバ２００と、モジュール管理サーバ３００とを備え、これらはネットワーク４００を介して相互に接続される。
【００１０】
具体的な内容は後述するが、ＭＦＰ１００は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。この例では、操作部２０にインストールされるブラウザアプリ（Ｗｅｂブラウザの機能を提供するためのアプリケーション）が、翻訳サーバ２００から翻訳アプリをダウンロードして表示する。
【００１１】
翻訳アプリは、原稿から読み取った画像データに含まれる文字を認識するＯＣＲ処理により得られたテキストデータを翻訳し、その翻訳結果をユーザへ通知する翻訳サービスを提供するためのアプリケーションである。本実施形態では、一定期間の間、ユーザに対して、翻訳サービスを無料で利用させるサービス（以下、「翻訳トライアル」と称する場合がある）を提供する場合における翻訳アプリの機能を中心に説明する。
【００１２】
なお、本実施形態における翻訳アプリは、翻訳サーバ２００に配置したアプリケーションを、操作部２０にインストールされるブラウザアプリを用いて利用することができるソフトウェア（つまり、Ｗｅｂアプリ）であるが、これに限らず、例えば翻訳アプリが、操作部２０にインストールされる通常のアプリケーションであってもよい。ただし、本実施形態のように、翻訳アプリをＷｅｂアプリとする形態によれば、翻訳アプリを操作部２０にインストールしなくても済むという利点がある。
【００１３】
この例では、ユーザが、操作部２０に対して、翻訳サーバ２００が管理している翻訳トライアルのＷｅｂページ（以下、「トライアルホームページ」と称する場合がある）のＵＲＬを入力すると、ブラウザアプリは、翻訳サーバ２００に対してトライアルホームページのデータを要求し（ｈｔｔｐリクエスト）、この要求を受けた翻訳サーバ２００は、要求されたデータをブラウザアプリに返信する（ｈｔｔｐレスポンス）。そして、ブラウザアプリは、翻訳サーバ２００から受信したデータを解析し、図２のようなトライアルホームページを操作部２０に表示する。
【００１４】
図２に示すトライアルホームページには、翻訳トライアルを申し込むためのボタン（図２の例では「お試し版申込み」というボタン）が表示されており、ユーザが、このボタンを押下すると、操作部２０に表示される画面は、図３のようなアカウント作成画面に切り替わる。ユーザが、アカウント作成画面に対して、メールアドレスを入力し、翻訳トライアルの申し込みを指示するボタン（図３の例では「申込む」というボタン）を押下すると、翻訳サーバ２００は、入力されたメールアドレスを宛先として、本申込をするためのＷｅｂページ（申込用ページ）のＵＲＬ（申込用ＵＲＬ）がリンク先として記述されたお知らせメールを送信する。ユーザは、受信したお知らせメールに記述された申込用ＵＲＬにアクセスし、申込用ページに対して、ユーザ名とログインパスワードを入力し、規約などを同意した上で本申込を行う。翻訳サーバ２００は、本申込を行ったユーザごとに、当該ユーザを識別する第２のユーザ情報（後述）を登録しておく。翻訳トライアルを提供する場合における翻訳アプリの詳細な機能については後述する。
【００１５】
図１に戻って説明を続ける。モジュール管理サーバ３００は、ＯＣＲ処理を実行するためのＯＣＲ辞書を保持し、後述のトークン情報を発行する機能を有する。より具体的な内容については後述する。
【００１６】
次に、図４を用いて、ＭＦＰ１００のハードウェア構成について説明する。図４に示すように、ＭＦＰ１００は、コピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種の機能を実現可能な本体１０と、ユーザの操作を受け付ける操作部２０とを備える。なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む概念である。本体１０と操作部２０は、専用の通信路３０を介して相互に通信可能に接続されている。通信路３０は、例えばＵＳＢ（Universal  Serial  Bus）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってよい。
【００１７】
なお、本体１０は、操作部２０で受け付けた操作に応じた動作を行うことができる。また、本体１０は、クライアントＰＣ（パーソナルコンピュータ）等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００１８】
まず、本体１０のハードウェア構成について説明する。図４に示すように、本体１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＨＤＤ（ハードディスクドライブ）１４と、通信Ｉ／Ｆ（インタフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００１９】
ＣＰＵ１１は、本体１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２またはＨＤＤ１４等に格納されたプログラムを実行することで、本体１０全体の動作を制御し、上述したコピー機能、スキャナ機能、ファクス機能、プリンタ機能などの各種機能を実現する。
【００２０】
通信Ｉ／Ｆ１５は、ネットワーク４００と接続するためのインタフェースである。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２０と通信するためのインタフェースである。
【００２１】
エンジン部１７は、コピー機能、スキャナ機能、ファクス機能、および、プリンタ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。例えば、原稿の画像をスキャンして読み取るスキャナ（画像読取部）、用紙等のシート材への印刷を行うプロッタ（画像形成部）、ファクス通信を行うファクス部などを備えている。更に、印刷済みシート材を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置）のような特定のオプションを備えることもできる。
【００２２】
次に、操作部２０のハードウェア構成について説明する。図４に示すように、操作部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７とを備え、これらがシステムバス２８を介して相互に接続されている。
【００２３】
ＣＰＵ２１は、操作部２０の動作を統括的に制御する。ＣＰＵ２１は、ＲＡＭ２３をワークエリア（作業領域）としてＲＯＭ２２またはフラッシュメモリ２４等に格納されたプログラムを実行することで、操作部２０全体の動作を制御し、ユーザから受け付けた入力に応じた情報（画像）の表示などの後述する各種機能を実現する。
【００２４】
通信Ｉ／Ｆ２５は、ネットワーク４００と接続するためのインタフェースである。接続Ｉ／Ｆ２６は、通信路３０を介して本体１０と通信するためのインタフェースである。
【００２５】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、ＭＦＰ１００の動作状況を示す情報、設定状態などを示す情報など）を表示する。この例では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。さらに、これに加えて又はこれに代えて、ハードウェアキー等の操作部やランプ等の表示部を設けることもできる。
【００２６】
次に、ＭＦＰ１００のソフトウェア構成について説明する。図５は、ＭＦＰ１００のソフトウェア構成の一例を示す模式図である。図５に示すように、本体１０は、アプリ層１０１と、サービス層１０２と、ＯＳ層１０３とを有する。アプリ層１０１、サービス層１０２、および、ＯＳ層１０３の実体は、ＲＯＭ１２やＨＤＤ１４等に格納されている各種ソフトウェアである。ＣＰＵ１１が、これらのソフトウェアを実行することにより、各種の機能が提供される。
【００２７】
アプリ層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、単に「アプリ」と称する場合がある）である。例えばアプリとしては、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリなどが挙げられる。
【００２８】
サービス層１０２のソフトウェアは、アプリ層１０１とＯＳ層１０３との間に介在し、アプリに対し、本体１０が備えるハードウェア資源を利用するためのインタフェースを提供するためのソフトウェアである。より具体的には、ハードウェア資源に対する動作要求の受付、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求としては、スキャナによる読み取りやプロッタによる印刷等の要求が考えられる。
【００２９】
なお、サービス層１０２によるインタフェースの機能は、本体１０のアプリ層１０１だけではなく、操作部２０のアプリ層２０１に対しても提供される。すなわち、操作部２０のアプリ層２０１（アプリ）も、サービス層１０２のインタフェース機能を介して、本体１０のハードウェア資源（例えばエンジン部１７）を利用した機能を実現することができる。
【００３０】
ＯＳ層１０３のソフトウェアは、本体１０が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム）である。サービス層１０２のソフトウェアは、各種アプリからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリの要求に従った動作を行う。
【００３１】
同様に、操作部２０は、アプリ層２０１と、サービス層２０２と、ＯＳ層２０３とを有する。操作部２０が備えるアプリ層２０１、サービス層２０２及びＯＳ層２０３も、階層構造については本体１０側と同様である。ただし、アプリ層２０１のアプリにより提供される機能や、サービス層２０２が受け付け可能な動作要求の種類は、本体１０側とは異なる。アプリ層２０１のアプリは、操作部２０が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアであってもよいが、主として本体１０が備える機能（コピー機能、スキャナ機能、ファクス機能、プリンタ機能）に関する操作や表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアである。
【００３２】
なお、本実施形態では、機能の独立性を保つために、本体１０側のＯＳ層１０３のソフトウェアと操作部２０側のＯＳ層２０３のソフトウェアが互いに異なる。つまり、本体１０と操作部２０は、別々のオペレーティングシステムで互いに独立して動作する。例えば、本体１０側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２０側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いることも可能である。
【００３３】
以上のように、本実施形態のＭＦＰ１００において、本体１０と操作部２０は別々のオペレーティングシステムで動作するため、本体１０と操作部２０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作部２０が受け付けた情報（ユーザからの指示内容）を本体１０へ伝達する動作（コマンド通信）や、本体１０が操作部２０へイベントを通知する動作などがこれに該当する。ここでは、操作部２０が本体１０へコマンド通信を行うことにより、本体１０の機能を使用することができる。また、本体１０から操作部２０に通知するイベントには、本体１０における動作の実行状況、本体１０側で設定された内容などが挙げられる。
【００３４】
また、本実施形態では、操作部２０に対する電力供給は、本体１０から通信路３０を経由して行われているので、操作部２０の電源制御を、本体１０の電源制御とは別に（独立して）行うことができる。
【００３５】
次に、ＭＦＰ１００の機能構成について説明する。図６は、ＭＦＰ１００の機能構成の一例を示すブロック図である。図６に示すように、ＭＦＰ１００は、ログイン画面表示部１１１と、認証制御部１１２と、第１の取得部１１３と、翻訳要求画面表示部１０４と、第２の取得部１０５と、付加部１０６と、機能呼出部１０７と、第２の処理部１０８と、翻訳依頼部１０９とを有する。説明の便宜上、図６では、翻訳アプリにより提供される機能を中心に例示しているが、ＭＦＰ１００が有する機能は、これらに限られるものではない。
【００３６】
ログイン画面表示部１１１は、ユーザが翻訳トライアルの提供を受ける権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報の入力を促すログイン画面を操作パネル２７に表示し、第１のユーザ情報の入力を受け付ける。図７は、本実施形態のログイン画面の一例を示す図である。この例では、第１のユーザ情報は、メールアドレスとパスワードの組み合わせで構成されているが、これに限られるものではない。
【００３７】
本実施形態では、翻訳トライアルを利用しようとするユーザは、まず操作部２０に対して、トライアルホームページのＵＲＬを入力する。これにより、操作パネル２７上には図２に示すトライアルホームページが表示される。図２に示すトライアルホームページには、ログイン画面の表示を要求するためのボタン（図２の例では「ログイン画面へ」というボタン）が表示されており、ユーザがこのボタンを押下すると、翻訳アプリ（ログイン画面表示部１１１）は、図７に示すログイン画面を操作パネル２７に表示し、第１のユーザ情報（この例ではメールアドレスとパスワードの組み合わせ）の入力を受け付ける。
【００３８】
なお、これに限らず、例えばユーザが、トライアルホームページ上のログイン画面の表示を要求するためのボタンを押下すると、翻訳アプリ（ログイン画面表示部１１１）は、図８に示すように、複数のユーザ名の中からログインするユーザ（認証対象のユーザ）のユーザ名を選択することを促す画面を表示し、特定のユーザを選択する入力を受け付けると、図９に示すようなパスワードの入力を促す画面を表示し、パスワードの入力を受け付ける形態であってもよい。
【００３９】
図６に戻って説明を続ける。ログイン画面表示部１１１が第１のユーザ情報の入力を受け付けた場合、認証制御部１１２は、翻訳サーバ２００に対して、受け付けた第１のユーザ情報を用いて認証処理を実行することを依頼する。
【００４０】
ここで、図１０を用いて、翻訳サーバ２００の機能構成について説明する。図１０に示すように、翻訳サーバ２００は、記憶部２１１と、認証処理部２１２と、第１の処理部２１３とを有する。説明の便宜上、図１０では、本発明に係る機能を主に例示しているが、翻訳サーバ２００が有する機能は、これらに限られるものではない。
【００４１】
記憶部２１１は、翻訳トライアルの本申込を行ったユーザごとに、当該ユーザを識別するための第２のユーザ情報を記憶する。この例では、第２のユーザ情報は、メールアドレスとパスワードの組み合わせで構成されるが、これに限られるものではない。ここでは、第２のユーザ情報とは、翻訳トライアルの提供を受ける権限を有する者として予め登録されたユーザを識別するための情報であると考えることができる。見方を変えれば、第２のユーザ情報とは、原稿から読み取った画像データに含まれる文字を認識するＯＣＲ処理により得られたテキストデータを翻訳する翻訳処理（この例では、一定期間に限って実行可能な翻訳処理、つまり翻訳トライアルに係る翻訳処理）の実行を要求する権限を有するユーザを識別するための情報であると考えることもできる。
【００４２】
認証処理部２１２は、ユーザが第１の処理の実行を要求する権限を有するか否かを判断する認証処理に用いられる第１のユーザ情報を受け付けた場合、第１のユーザ情報と、第２のユーザ情報とを比較して認証処理を実行する。この例では、第１の処理は、原稿から読み取った画像データに含まれる文字を認識するＯＣＲ処理により得られたテキストデータを翻訳する処理であって、一定期間に限って無料で（ユーザに対して課金せずに）実行可能な処理（翻訳トライアルに係る翻訳処理）であると考えることができる。
【００４３】
また、認証処理は、第１のユーザ情報と、第２のユーザ情報とが一致する場合は、第１のユーザ情報を入力したユーザは、第１の処理の実行を要求する権限を有すると判断し、第１のユーザ情報と第２のユーザ情報とが一致しない場合は、第１のユーザ情報を入力したユーザは、第１の処理の実行を要求する権限を有していないと判断する処理である。この例では、認証処理は、第１のユーザ情報と第２のユーザ情報とが一致する場合は、第１のユーザ情報を入力したユーザは、翻訳トライアルに係る翻訳処理の実行を要求する権限を有する（翻訳トライアルの提供を受ける権限を有する）と判断し、第１のユーザ情報と第２のユーザ情報とが一致しない場合は、第１のユーザ情報を入力したユーザは、翻訳トライアルに係る翻訳処理の実行を要求する権限を有していないと判断する処理である。
【００４４】
本実施形態では、認証処理部２１２は、ＭＦＰ１００の認証制御部１１２から、ユーザによって入力された第１のユーザ情報を用いた認証処理の実行依頼を受け付けると、その受け付けた第１のユーザ情報と、予め記憶部２１１に記憶された第２のユーザ情報とを比較して認証処理を行う。そして、認証処理部２１２は、認証処理の結果を認証制御部１１２へ通知する。
【００４５】
第１の処理部２１３は、第２の処理の結果を用いて、第１の処理を実行する。上述したように、この例では、第１の処理は翻訳トライアルに係る翻訳処理である。また、この例では、第２の処理はＯＣＲ処理である。第１の処理部２１３の具体的な内容、および、翻訳サーバ２００の具体的な動作例については後述する。
【００４６】
なお、本実施形態の翻訳サーバ２００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えた通常のコンピュータのハードウェア構成を有している。上述の記憶部２１１は、ＲＯＭやＲＡＭ等により実現され、上述の認証処理部２１２および第１の処理部２１３の各々の機能は、ＣＰＵがＲＯＭ等に格納されたプログラムを実行することにより実現される。ただし、これに限らず、例えば上述の認証処理部２１２および第１の処理部２１３の各々の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。
【００４７】
図６に戻って説明を続ける。認証制御部１１２は、認証処理部２１２から、第１のユーザ情報を入力したユーザを認証したことを通知された場合、その旨を、第１の取得部１１３および翻訳要求画面表示部１０４へ通知する。
【００４８】
第１の取得部１１３は、ＭＦＰ１００（この例では、請求項の「情報処理装置」に対応）が、第１の処理に必要な第２の処理を実行するための第１の情報を予め有していない場合は、モジュール管理サーバ３００（この例では、請求項の「サーバ」に対応）が保持している第１の情報を示す第２の情報を取得する。より具体的には、第１の取得部１１３は、ＭＦＰ１００が有する機能の詳細な内容を示す機能詳細情報を参照して、ＭＦＰ１００が第１の情報を有しているか否かを判断する。
【００４９】
この例では、第１の取得部１１３は、認証制御部１１２からユーザが認証された旨の通知を受けた場合、後述の機能呼出部１０７に対して、スキャナ機能の詳細なスペック（性能）を示すスキャナケーパビリティ情報（機能詳細情報の一例）を要求し、機能呼出部１０７からスキャナケーパビリティ情報を受け取る。そして、受け取ったスキャナケーパビリティ情報を参照して、ＭＦＰ１００が、ＯＣＲ処理を実行するための辞書情報（以下、「ＯＣＲ辞書」と称する場合がある）を予め有しているか否かを判断する。ＯＣＲ辞書は、特徴パターンと文字との対応関係を示す辞書情報であり、公知の様々な構成を採用することができる。
【００５０】
なお、この例では、ＯＣＲ辞書は請求項の「第１の情報」に対応しているが、これに限られるものではない。例えば、ＯＣＲ処理を実行するための特定の機能を提供するモジュールを第１の情報とする形態であってもよい。要するに、第１の情報は、第１の処理（この例では翻訳トライアルに係る翻訳処理）に必要な第２の処理（この例ではＯＣＲ処理）を実行するための情報（データでもよいし、モジュールでもよい）であればよい。また、例えば第１の情報が複数の情報（データまたはモジュール）から構成され、第１の取得部１１３は、第１の情報を構成する複数の情報を同時に取得する形態であってもよい。
【００５１】
図１１は、本実施形態におけるスキャナケーパビリティ情報の一例を示す図である。図１１の例では、スキャナケーパビリティ情報はＪＳＯＮ形式で記述されているが、これに限られるものではない。図１１の例では、第１の取得部１１３は、スキャナケーパビリティ情報に記述されたＯＣＲ処理に関する設定（図１１の例では「ocrList」、「ocrLanguageList」、「omitBlankPageList」）の有無を判断することで、ＭＦＰ１００がＯＣＲ辞書を有しているか否かを判断することができる。
【００５２】
第１の取得部１１３は、ＭＦＰ１００がＯＣＲ辞書を有していないと判断した場合、モジュール管理サーバ３００に対して、モジュール管理サーバ３００が保持しているＯＣＲ辞書（以下の説明では、「トライアル用ＯＣＲ辞書」と称する場合がある）を要求する。この例では、モジュール管理サーバ３００が保持しているＯＣＲ辞書（トライアル用ＯＣＲ辞書）が、請求項の「第２の情報」に対応していると考えることができる。本実施形態では、第１の取得部１１３は、ＭＦＰ１００を一意に特定するデバイス情報（例えば機番等）を、予め用意された暗号鍵で暗号化したデータ（以下、「暗号化デバイス情報」と称する場合がある）を含み、かつ、ＯＣＲ辞書を要求するＯＣＲ辞書リクエスト信号を、モジュール管理サーバ３００へ送信する。第１の取得部１１３は、ＯＣＲ辞書リクエスト信号の応答として、モジュール管理サーバ３００からトライアル用ＯＣＲ辞書を受け取る。この例では、第１の取得部１１３は、取得したトライアル用ＯＣＲ辞書を本体１０のＨＤＤ１４に保存する制御を行う。より具体的な内容については後述する。
【００５３】
ここで、図１２を用いて、モジュール管理サーバ３００の機能構成について説明する。図１２に示すように、モジュール管理サーバ３００は、記憶部３０１と、トライアル用ＯＣＲ辞書送信部３０２と、トークン情報発行部３０３とを有する。説明の便宜上、図１２では、本発明に係る機能を主に例示しているが、モジュール管理サーバ３００が有する機能は、これらに限られるものではない。
【００５４】
記憶部３０１は、トライアル用ＯＣＲ辞書を記憶する。トライアル用ＯＣＲ辞書は、モジュール管理サーバ３００が保持するＯＣＲ辞書であり、ＭＦＰ１００がＯＣＲ辞書を有していない場合に、ＭＦＰ１００にインストールさせて利用させるためのＯＣＲ辞書である。
【００５５】
トライアル用ＯＣＲ辞書送信部３０２は、記憶部３０１に記憶されたトライアル用ＯＣＲ辞書をＭＦＰ１００へ送信する。この例では、トライアル用ＯＣＲ辞書送信部３０２は、ＭＦＰ１００からのＯＣＲ辞書リクエスト信号を受信すると、当該ＯＣＲ辞書リクエスト信号に含まれる暗号化デバイス情報を、予め用意された復号鍵（ＭＦＰ１００で利用する暗号鍵に対応する復号鍵）で復号し、復号して得られたデバイス情報から、ＯＣＲ辞書を要求してきたＭＦＰ１００を識別する。そして、トライアル用ＯＣＲ辞書送信部３０２は、記憶部３０１に記憶されたトライアル用ＯＣＲ辞書を、要求元のＭＦＰ１００へ送信する。
【００５６】
トークン情報発行部３０３は、後述のトークン情報を発行する。トークン情報の具体的な内容、および、モジュール管理サーバ３００の具体的な動作例については後述する。
【００５７】
本実施形態のモジュール管理サーバ３００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えた通常のコンピュータのハードウェア構成を有している。上述の記憶部３０１は、ＲＯＭやＲＡＭ等により実現され、上述のトライアル用ＯＣＲ辞書送信部３０２およびトークン情報発行部３０３の各々の機能は、ＣＰＵがＲＯＭ等に格納されたプログラムを実行することにより実現される。ただし、これに限らず、例えば上述のトライアル用ＯＣＲ辞書送信部３０２およびトークン情報発行部３０３の各々の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。
【００５８】
なお、本実施形態では、上述の翻訳サーバ２００と上述のモジュール管理サーバ３００とが別々に設けられているが、これに限らず、例えば上述の翻訳サーバ２００と上述のモジュール管理サーバ３００が１つのサーバで構成される形態であってもよい。
【００５９】
図６に戻って説明を続ける。翻訳要求画面表示部１０４は、翻訳トライアルに係る翻訳処理の実行を要求するための翻訳要求画面を操作パネル２７に表示する。より具体的には、翻訳要求画面表示部１０４は、認証制御部１１２からユーザが認証された旨の通知を受けた場合、図１３に示すような翻訳要求画面を操作パネル２７に表示する。図１３の例では、認証されたユーザは、スキャナに原稿（翻訳の対象となる文章（原文）が記述された原稿）をセットし、翻訳要求画面から、翻訳元の言語（原文を記述するのに用いられる言語）、および、翻訳先の言語（翻訳結果を記述するのに用いられる言語）を指定する入力を行った上で、図１３に示す「翻訳スタート」というボタンを押下する。これにより、原稿に記述された文章を、指定した翻訳元の言語から翻訳先の言語に翻訳する翻訳処理（この例では、翻訳トライアルに係る翻訳処理）の実行を要求する翻訳要求を入力することができる。
【００６０】
第２の取得部１０５は、第１の処理の実行を要求する第１の要求を受け付けた場合、第２の情報を利用する権限を有することを示すトークン情報を取得する。本実施形態では、第２の取得部１０５は、上述の翻訳要求（第１の要求に対応）を受け付けた場合、モジュール管理サーバ３００に対して、トライアル用ＯＣＲ辞書を利用する権限を有することを示すトークン情報の取得を要求するトークン要求信号を送信し、その応答として、モジュール管理サーバ３００からトークン情報を受け取る。この例では、トークン要求信号には現在の日時（ＭＦＰ１００がトークン情報の取得を要求した日時に相当）を示す日時情報も含まれる。
【００６１】
図１２に示すモジュール管理サーバ３００のトークン情報発行部３０３は、ＭＦＰ１００からトークン要求信号を受信すると、受信したトークン要求信号に含まれている日時情報を用いてトークン情報を生成する。この例では、トークン情報発行部３０３は、予め用意された暗号鍵でトークン情報を暗号化し、その暗号化したトークン情報（以下の説明では、「暗号化トークン情報」と称する場合がある）をＭＦＰ１００へ送信する。この例では、トークン情報は、トークン情報が有効な期間を示す有効期間情報を少なくとも含み、有効期間情報は、ＭＦＰ１００（第２の取得部１０５）がトークン情報の取得を要求した日時を始点として、一定の期間が経過した時点を終点とする期間を示す情報である。
【００６２】
図１４は、トークン情報の一例を示す図である。図１４の例では、トークン情報は、「ID」を示すキーと、対応するバリューとの組、「Requested Time」を示すキーと、対応するバリューとの組、「Expiry Time」を示すキーと、対応するバリューとの組、「Service Class」を示すキーと、対応するバリューとの組、「Charge Kind」を示すキーと、対応するバリューとの組から構成されている。「ID」は、トークン情報ごとに割り当てられる識別子を表す項目であり、対応するバリューは例えばuuid形式で表すことができる。「Requested Time」は、ＭＦＰ１００（第２の取得部１０５）がトークン情報の取得を要求した日時（トークン要求信号に含まれる日時情報が示す日時に相当）を表す項目であり、対応するバリューは例えばRFC3339形式で表すことができる。「Expiry Time」は、ＭＦＰ１００がトークン情報の取得を要求した日時（この例では「Requested Time」に対応するバリューが示す日時）を始点として、一定の期間が経過した時点を終点とする期間を表す項目であり、対応するバリューは例えばRFC3339形式で表すことができる。「Service Class」はサービス名を表す項目であり、この例では、対応するバリューは、翻訳サービスを意味する「translate」という固定文字列で表すことができる。「Charge Kind」は、トライアル用ＯＣＲ辞書のライセンス（利用権限）を表す項目であり、この例では、対応するバリューは、翻訳トライアルにおけるライセンスを意味する「trial」という固定文字列で表すことができる。
【００６３】
図６に戻って説明を続ける。付加部１０６は、第２の取得部１０５によりトークン情報が取得された場合、トークン情報を、第２の処理の実行を要求する第２の要求に付加する。上述したように、この例では、第２の処理はＯＣＲ処理であり、付加部１０６は、第２の取得部１０５により暗号化トークン情報が取得された場合、その取得された暗号化トークン情報を、ＯＣＲ処理の実行を要求するＯＣＲ要求に付加（セット）する。そして、暗号化トークン情報を付加したＯＣＲ要求を、後述の機能呼出部１０７へ送信する。
【００６４】
機能呼出部１０７は、操作部２０側のアプリケーションが、本体１０の機能を呼び出すためのインタフェースであり、例えばＷｅｂ  ＡＰＩ（Application  Programming  Interface）である。本実施形態では、機能呼出部１０７は、第１の取得部１１３から上述のスキャナケーパビリティ情報の要求を受けると、スキャナアプリ（この例では後述の第２の処理部１０８）に対してスキャナケーパビリティ情報を要求し、スキャナアプリからスキャナケーパビリティ情報を取得する。そして、機能呼出部１０７は、その取得したスキャナケーパビリティ情報を第２の取得部１０５へ送信する。
【００６５】
また、機能呼出部１０７は、上述の暗号化トークン情報が付加されたＯＣＲ要求を受信すると、トークン情報の正当性を確認する。より具体的には、機能呼出部１０７は、予め用意された復号鍵（モジュール管理サーバ３００で利用する暗号鍵に対応する復号鍵）を用いて、暗号化トークン情報の復号を試みる。予め用意された復号鍵で暗号化トークン情報を復号できた場合は、トークン情報は正当である（モジュール管理サーバ３００が発行したトークン情報である）と判断し、復号したトークン情報を付加したＯＣＲ要求を、後述の第２の処理部１０８へ送信する。なお、本実施形態では、機能呼出部１０７がトークン情報の正当性を確認しているが、これに限らず、例えば後述の第２の処理部１０８がトークン情報の正当性を確認してもよい。
【００６６】
第２の処理部１０８は、第２の要求にトークン情報が付加されている場合に限り、第２の情報を利用して第２の処理を実行する。より具体的には、第２の処理部１０８は、トークン情報が付加された第２の要求を受け付けたときの時刻が、該トークン情報に含まれる有効期間情報が示す期間内の場合に限り、第２の情報を利用して第２の処理を実行する。
【００６７】
本実施形態では、第２の処理部１０８は、機能呼出部１０７から受信したＯＣＲ要求にトークン情報が付加されている場合に限り、トライアル用ＯＣＲ辞書を利用して、ＯＣＲ要求に従った処理を実行する。より具体的には、第２の処理部１０８は、原稿から画像データを読み取るスキャン処理を実行し、原稿から読み取った画像データに対して、トライアル用ＯＣＲ辞書を利用してＯＣＲ処理を施すことで、透明テキスト付きＰＤＦを生成する。そして、第２の処理部１０８により生成された透明テキスト付きＰＤＦは、機能呼出部１０７を介して、後述の翻訳依頼部１０９へ送信される。
【００６８】
なお、この例では、第２の処理部１０８は、機能呼出部１０７から受信したＯＣＲ要求にトークン情報が付加されておらず、かつ、本体１０に保存されたＯＣＲ辞書がトライアル用ＯＣＲ辞書である場合は、当該ＯＣＲ要求を破棄する。また、この例では、第２の処理部１０８は、スキャナアプリにより提供される機能であるが、これに限られるものではない。
【００６９】
翻訳依頼部１０９は、翻訳サーバ２００に対して、第２の処理部１０８により生成された透明テキスト付きＰＤＦのテキストデータを、上述の翻訳要求により指定された翻訳元言語から翻訳先言語に翻訳することを依頼する。
【００７０】
翻訳依頼部１０９からの依頼を受けた翻訳サーバ２００（第１の処理部２１３）は、第２の処理部１０８により生成された透明テキスト付きＰＤＦのテキストデータを、翻訳要求により指定された翻訳元言語から翻訳先言語に翻訳する翻訳処理を実行する。この例では、第１の処理部２１３は、翻訳処理を実行した結果のファイル（以下、「翻訳結果ファイル」と称する場合がある）のリンク先を記述したメール（以下、「結果通知メール」と称する場合がある）を、翻訳要求を入力したユーザ（認証済みのユーザ）を識別するための第２のユーザ情報に含まれるメールアドレスを宛先として送信する制御を行う。翻訳要求を入力したユーザは、結果通知メールに記述されたリンク先にアクセスし、翻訳結果ファイルをダウンロードして取得することになる。なお、これに限らず、例えば翻訳処理を実行した結果を操作部２０の操作パネル２７に表示する形態であってもよい。
【００７１】
なお、本実施形態では、以上に説明したログイン画面表示部１１１、認証制御部１１２、翻訳要求画面表示部１０４、第１の取得部１１３、第２の取得部１０５、付加部１０６、および、翻訳依頼部１０９の各々の機能は翻訳アプリにより提供され、以上に説明した機能呼出部１０７および第２の処理部１０８の各々の機能は、本体１０に搭載されたソフトウェアにより提供されるが、これに限られるものではない。
【００７２】
次に、図１５を用いて、ＭＦＰ１００がトライアル用ＯＣＲ辞書を取得する手順の一例について説明する。なお、図１５の例では、操作部２０にはJavaScript（登録商標）で記述されたプログラム（以下、「JavaScript（登録商標）」と表記する場合がある）がインストールされ、本体１０は、上述の暗号化デバイス情報を管理（保持）するＳＣＳ１１０を備えていることを前提として説明する。
【００７３】
図１５の例では、ステップＳ１、ステップＳ２において、ユーザが認証され、翻訳アプリが起動していることを前提とする。翻訳アプリ（第１の取得部１１３）は、JavaScript（登録商標）を利用して、本体１０側の機能呼出部１０７に対してスキャナケーパビリティ情報を要求する（ステップＳ３）。この要求を受けた機能呼出部１０７は、第２の処理部１０８に対してスキャナケーパビリティ情報を要求し（ステップＳ４）、その応答としてスキャナケーパビリティ情報を取得する(ステップＳ５)。次に、機能呼出部１０７は、ステップＳ５で取得したスキャナケーパビリティ情報を、JavaScript（登録商標）を利用して翻訳アプリへ送信する（ステップＳ６）。これにより、翻訳アプリはスキャナケーパビリティ情報を取得することができる。以下の説明では、翻訳アプリと本体１０との間の情報の送受信、および、翻訳アプリとモジュール管理サーバ３００との間の情報の送受信は、JavaScript（登録商標）を利用して行われることを前提とする。
【００７４】
次に、翻訳アプリ（第１の取得部１１３）は、スキャナケーパビリティ情報を参照して、ＭＦＰ１００が予めＯＣＲ辞書を有しているか否かを判断する（ステップＳ７）。以下では、ＭＦＰ１００が予めＯＣＲ辞書を有していないと判断した場合を例に挙げて説明する。第１の取得部１１３は、ＳＣＳ１１０に対して、暗号化デバイス情報を要求し（ステップＳ８）、その応答として暗号化デバイス情報を取得する（ステップＳ９）。
【００７５】
次に、翻訳アプリ（第１の取得部１１３）は、暗号化デバイス情報を含み、かつ、ＯＣＲ辞書を要求する上述のＯＣＲ辞書リクエスト信号をモジュール管理サーバ３００へ送信する（ステップＳ１０）。ＯＣＲ辞書リクエスト信号を受信したモジュール管理サーバ３００（トライアル用ＯＣＲ辞書送信部３０２）は、その受信したＯＣＲ辞書リクエスト信号に含まれる暗号化デバイス情報を、予め用意された復号鍵で復号し（ステップＳ１１）、復号して得られたデバイス情報から、ＯＣＲ辞書を要求してきたＭＦＰ１００を識別する。そして、モジュール管理サーバ３００（トライアル用ＯＣＲ辞書送信部３０２）は、記憶部３０１に記憶されたトライアル用ＯＣＲ辞書を、要求元のＭＦＰ１００へ送信する（ステップＳ１２）。これにより、翻訳アプリ（第１の取得部１１３）は、モジュール管理サーバ３００からトライアル用ＯＣＲ辞書を取得することができる。
【００７６】
トライアル用ＯＣＲ辞書の取得が完了すると、翻訳アプリ（第１の取得部１１３）は、本体１０側の機能呼出部１０７に対して、トライアル用ＯＣＲ辞書を保存することを依頼する（ステップＳ１３）。翻訳アプリからの依頼を受けた機能呼出部１０７は、第２の処理部１０８に対して、トライアル用ＯＣＲ辞書を保存することを依頼し（ステップＳ１４）、機能呼出部１０７からの依頼を受けた第２の処理部１０８は、例えば本体１０のＨＤＤ１４内にトライアル用ＯＣＲ辞書を保存するための領域を用意し、その用意した領域にトライアル用ＯＣＲ辞書を保存する（ステップＳ１５）。なお、例えばトライアル用ＯＣＲ辞書に対して、ＯＣＲ辞書の種別を示す情報（予めＭＦＰ１００が有しているＯＣＲ辞書であるかトライアル用ＯＣＲ辞書であるかを識別するための情報）を紐付けて保存する形態であってもよい。トライアル用ＯＣＲ辞書の保存が完了すると、第２の処理部１０８は、機能呼出部１０７に対して、トライアル用ＯＣＲ辞書の保存が完了した旨を通知し（ステップＳ１６）、機能呼出部１０７は、翻訳アプリに対して、その旨を通知する（ステップＳ１７）。
【００７７】
次に、図１６を用いて、翻訳トライアルに係る翻訳処理を実行する手順の一例について説明する。以下では、図１５に示す手順により、ＭＦＰ１００はトライアル用ＯＣＲ辞書を取得していることを前提として説明する。
【００７８】
まず、上述の翻訳要求画面を介して上述の翻訳要求を受け付けると（ステップＳ２０、ステップＳ２１）、翻訳アプリ（第２の取得部１０５）は、JavaScript（登録商標）を利用して、トークン情報の発行を依頼する上述のトークン要求信号をモジュール管理サーバ３００へ送信する（ステップＳ２２）。トークン要求信号を受信したモジュール管理サーバ３００（トークン情報発行部３０３）は、受信したトークン要求信号に含まれている日時情報を用いてトークン情報を生成する（ステップＳ２３）。具体的な内容は上述したとおりである。この例では、上述したように、モジュール管理サーバ３００（トークン情報発行部３０３）は、予め用意された暗号鍵でトークン情報を暗号化して暗号化トークン情報を生成し、その生成した暗号化トークン情報を、JavaScript（登録商標）を利用して翻訳アプリへ送信する（ステップＳ２４）。
【００７９】
次に、翻訳アプリ（付加部１０６）は、モジュール管理サーバ３００から受信した暗号化トークン情報を、ＯＣＲ処理の実行を要求するＯＣＲ要求に付加する。そして、暗号化トークン情報を付加したＯＣＲ要求を、JavaScript（登録商標）を利用して本体１０側の機能呼出部１０７へ送信する（ステップＳ２５）。機能呼出部１０７は、暗号化トークン情報が付加されたＯＣＲ要求を受信すると、トークン情報の正当性を確認する（ステップＳ２６）。具体的な内容は上述したとおりである。以下では、トークン情報は正当であると判断した場合を例に挙げて説明する。
【００８０】
ステップＳ２６の後、機能呼出部１０７は、復号したトークン情報を付加したＯＣＲ要求を、第２の処理部１０８へ送信する（ステップＳ２７）。第２の処理部１０８は、機能呼出部１０７から受信したＯＣＲ要求にトークン情報が付加されていることを確認し（ステップＳ２８）、ＯＣＲ要求に従った処理を実行する。より具体的には、第２の処理部１０８は、まず、原稿から画像データを読み取るスキャン処理を実行する。そして、第２の処理部１０８は、原稿から読み取った画像データに対して、トライアル用ＯＣＲ辞書を利用してＯＣＲ処理を施す（ステップＳ２９、ステップＳ３０）。これにより、透明テキスト付きＰＤＦが生成される。第２の処理部１０８は、生成した透明テキスト付きＰＤＦを、機能呼出部１０７へ送信し（ステップＳ３１）、機能呼出部１０７は、第２の処理部１０８から受信した透明テキスト付きＰＤＦを、JavaScript（登録商標）を利用して翻訳アプリへ送信する（ステップＳ３２）。
【００８１】
ＯＣＲ要求に対する応答として透明テキスト付きＰＤＦを受信した翻訳アプリ（翻訳依頼部１０９）は、翻訳サーバ２００に対して、透明テキスト付きＰＤＦのテキストデータを、上述の翻訳要求により指定された翻訳元言語から翻訳先言語に翻訳することを依頼する（ステップＳ３３）。この依頼を受けた翻訳サーバ２００（第１の処理部２１３）は、透明テキスト付きＰＤＦのテキストデータを、翻訳要求により指定された翻訳元言語から翻訳先言語に翻訳する翻訳処理を実行する（ステップＳ３４）。翻訳処理が完了すると、上述したように、翻訳サーバ２００（第１の処理部２１３）は、翻訳結果ファイルのリンク先を記述した結果通知メールを、翻訳要求を入力したユーザを識別するための第２のユーザ情報に含まれるメールアドレスを宛先として送信する（ステップＳ３５）。なお、翻訳サーバ２００（第１の処理部２１３）は、翻訳アプリに対して、翻訳処理が完了した旨の通知を併せて行うことができる。
【００８２】
以上に説明したように、本実施形態では、翻訳トライアルに係る翻訳処理に必要なＯＣＲ処理の実行を要求するＯＣＲ要求に、トライアル用辞書を利用する権限を有することを示すトークン情報が付加されている場合に限り、トライアル用ＯＣＲ辞書を利用してＯＣＲ処理を実行する。トークン情報は、翻訳トライアルに係る翻訳処理の実行を要求する翻訳要求の受け付けを契機として発行されるので、この翻訳要求を入力することなく、トライアル用ＯＣＲ辞書を利用してＯＣＲ処理を実行することはできない。すなわち、トライアル用ＯＣＲ辞書が、上述の翻訳トライアル以外の機能に利用されることを防止できるという有利な効果を奏する。
【００８３】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００８４】
なお、以上に説明したＭＦＰ１００の各部の機能（ログイン画面表示部１１１、認証制御部１１２、第１の取得部１１３、翻訳要求画面表示部１０４、第２の取得部１０５、付加部１０６、機能呼出部１０７、第２の処理部１０８、翻訳依頼部１０９）は、ＣＰＵ（１１または２１）が、上述の翻訳アプリ（この例ではＷｅｂアプリ）や記憶装置（例えばＲＯＭ１２、ＨＤＤ１４、ＲＯＭ２２、フラッシュメモリ２４等）に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば上記ＭＦＰ１００の各部の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。
【００８５】
また、上述の実施形態では、本体１０と操作部２０は、別々のオペレーションシステムで互いに独立して動作しているが、これに限らず、例えば本体１０と操作部２０が同じオペレーションシステムで動作する形態であってもよい。
【００８６】
また、上述した実施形態のＭＦＰ１００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００８７】
１      情報処理システム
１０    本体
２０    操作部
１００  ＭＦＰ
１０４  翻訳要求画面表示部
１０５  第２の取得部
１０６  付加部
１０７  機能呼出部
１０８  第２の処理部
１０９  翻訳依頼部
１１１  ログイン画面表示部
１１２  認証制御部
１１３  第１の取得部
２００  翻訳サーバ
２１１  記憶部
２１２  認証処理部
２１３  第１の処理部
３００  モジュール管理サーバ
３０１  記憶部
３０２  トライアル用ＯＣＲ辞書送信部
３０３  トークン情報発行部
４００  ネットワーク
【先行技術文献】
【特許文献】
【００８８】
【特許文献１】特許第４４７４４４０号公報
【図１】
0006303979.tif 000002
【図２】
0006303979.tif 000003
【図３】
0006303979.tif 000004
【図４】
0006303979.tif 000005
【図５】
0006303979.tif 000006
【図６】
0006303979.tif 000007
【図７】
0006303979.tif 000008
【図８】
0006303979.tif 000009
【図９】
0006303979.tif 000010
【図１０】
0006303979.tif 000011
【図１１】
0006303979.tif 000012
【図１２】
0006303979.tif 000013
【図１３】
0006303979.tif 000014
【図１４】
0006303979.tif 000015
【図１５】
0006303979.tif 000016
【図１６】
0006303979.tif 000017