(57)【要約】      （修正有）【課題】処理の種類の増加に柔軟に対応可能な情報処理システム及び情報処理方法を提供する。【解決手段】１以上の情報処理装置により構成される情報処理システムで、所定の処理をそれぞれ実行する複数の実行手段と、処理の実行要求を受信すると、該実行要求に係る該処理を、複数の実行手段のうち少なくとも２以上の実行手段にそれぞれ実行させる複数の処理に分割する処理分割手段と、処理分割手段により分割された複数の処理を記憶する記憶手段と、変更要求を記憶する変更要求記憶手段と、を有し、複数の実行手段それぞれは、記憶手段に記憶された複数の処理のうち、自身で実行すべき処理を実行する前に、変更要求記憶手段に変更要求が記憶されているかを確認し、変更要求が記憶されていないときは、該自身で実行する処理を実行する一方、変更要求が記憶されているときは、記憶手段に記憶された複数の処理を該変更要求に基づいて書き換える。【選択図】図２
2015135592.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報処理装置により構成される情報処理システムであって、
所定の処理をそれぞれ実行する複数の実行手段と、
処理の実行要求を受信すると、該実行要求に係る該処理を、前記複数の実行手段のうち少なくとも２以上の実行手段にそれぞれ実行させる複数の処理に分割する処理分割手段と、
前記処理分割手段により分割された複数の処理を記憶する記憶手段と、
前記実行要求に対する処理を変更させる変更要求を受信すると、該変更要求を記憶する変更要求記憶手段と、
を有し、
前記複数の実行手段それぞれは、
前記記憶手段に記憶された複数の処理のうち、自身で実行すべき処理を実行する前に、前記変更要求記憶手段に前記変更要求が記憶されているかを確認し、前記変更要求が記憶されていないときは、該自身で実行する処理を実行する一方、前記変更要求が記憶されているときは、前記記憶手段に記憶された複数の処理を該変更要求に基づいて書き換えること
を特徴とする情報処理システム。
【請求項２】
前記複数の実行手段それぞれは、
前記自身で実行すべき処理を実行した後に前記変更要求記憶手段に前記変更要求が記憶されているかを確認し、前記変更要求が記憶されているときは、前記記憶手段に記憶された複数の処理を該変更要求に基づいて書き換えること
を特徴とする請求項１記載の情報処理システム。
【請求項３】
前記複数の実行手段それぞれは、
前記記憶手段に記憶された複数の処理を前記変更要求に基づいて書き換えた場合、該変更要求を前記変更要求記憶手段から削除すること
を特徴とする請求項１又は２記載の情報処理システム。
【請求項４】
電子データを記憶するデータ記憶手段を有し、
前記複数の実行手段それぞれは、
前記電子データに対して前記自身で実行すべき処理を実行した後、該電子データを前記データ記憶手段に保存すること
を特徴とする請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
前記複数の実行手段は、各々異なる処理を実行すること
を特徴とする請求項１ないし４のいずれか１項に記載の情報処理システム。
【請求項６】
前記複数の実行手段は、あるデータ形式から別のデータ形式へ所定のデータ変換を実行する複数の変換手段を含み、
前記処理分割手段は、第１のデータ形式の電子データを第２のデータ形式の電子データへ変換する前記実行要求に前記処理を、前記複数の変換手段のうち少なくとも２以上の変換手段にそれぞれ実行させる複数の処理に分割すること
を特徴とする請求項１ないし５のいずれか１項に記載の情報処理システム。
【請求項７】
１以上の情報処理装置により構成され、所定の処理をそれぞれ実行する複数の実行手段を有する情報処理システムにおいて実行される情報処理方法であって、
処理の実行要求を受信すると、該実行要求に係る該処理を、前記複数の実行手段のうち少なくとも２以上の実行手段にそれぞれ実行させる複数の処理に分割する処理分割手段と、
を有し、
変更要求記憶手段、
を有し、
前記複数の実行手段それぞれは、
前記処理分割手段により分割された複数の処理を記憶する記憶手段に記憶された前記複数の処理のうち、自身で実行すべき処理を実行する前に、前記実行要求に対する処理を変更させる変更要求を受信すると該変更要求を記憶する変更要求記憶手段に前記変更要求が記憶されているかを確認し、前記変更要求が記憶されていないときは、該自身で実行する処理を実行する一方、前記変更要求が記憶されているときは、前記記憶手段に記憶された複数の処理を該変更要求に基づいて書き換えること
を特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
従来、デバイスと、ウェブサービスと、分散環境を提供するプラットフォームとを連携させて、画像処理などのサービスを提供するクラウドコンピューティングシステムは知られている（例えば特許文献１参照）。このようなクラウドコンピューティングシステムは、機器からジョブの処理依頼を受信し、ジョブに対応する処理を行う。
【０００３】
また、従来、複数の処理工程から構成されるジョブの実行中にエラーが発生した場合に、ジョブを処理済の部分と未処理の部分に分割するプログラムは知られている（例えば特許文献２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、あるデータ形式から他のデータ形式に変換する際、プログラムの独立性やメンテナンス性を高めるために、データ形式を変換するデータ変換エンジン（データ変換プログラム又はデータ変換ライブラリ）を用いる場合がある。
【０００５】
データ形式の変換に限らず、何らかの処理を実行する際、プログラムの独立性やメンテナンス性を高めるために、何らかの処理を実行する処理実行エンジン（処理実行プログラム又は処理実行ライブラリ）を用いる場合がある。
【０００６】
しかしながら、データ形式の種類が多数の場合には入力データ形式の種類と出力データ形式の種類のペア分のデータ変換エンジンが必要になる。例えば、変換前のデータ形式の候補が３種類あり、変換後のデータ形式の候補が３種類あると、それぞれのパターンに応じたデータ変換エンジンを９種類用意する必要がある。すなわち、変換前又は変換後のデータ形式の選択肢が多くなればなるほど、用意しなければならないデータ変換エンジンの数が増える。このように、実行する処理の種類が多数の場合には処理の種類分の処理実行エンジンが必要となる。
【０００７】
要約すると、データ変換処理など実行する処理の種類が多くなればなるほど、用意しなければならない処理実行エンジンの数が増えることが想定されるが、処理の種類の増加に柔軟に対応できないことが課題である。
【０００８】
本発明の実施の形態は、上記の点に鑑みなされたもので、処理の種類の増加に柔軟に対応可能な情報処理システム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の実施の形態は、１以上の情報処理装置により構成される情報処理システムであって、所定の処理をそれぞれ実行する複数の実行手段と、処理の実行要求を受信すると、該実行要求に係る該処理を、前記複数の実行手段のうち少なくとも２以上の実行手段にそれぞれ実行させる複数の処理に分割する処理分割手段と、前記処理分割手段により分割された複数の処理を記憶する記憶手段と、前記実行要求に対する処理を変更させる変更要求を受信すると、該変更要求を記憶する変更要求記憶手段と、を有し、前記複数の実行手段それぞれは、前記記憶手段に記憶された複数の処理のうち、自身で実行すべき処理を実行する前に、前記変更要求記憶手段に前記変更要求が記憶されているかを確認し、前記変更要求が記憶されていないときは、該自身で実行する処理を実行する一方、前記変更要求が記憶されているときは、前記記憶手段に記憶された複数の処理を該変更要求に基づいて書き換えることを特徴とする。
【発明の効果】
【００１０】
本発明の実施の形態によれば、処理の種類の増加に柔軟に対応可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るクラウドサービスの一例を表した模式図である。
【図２】本実施形態に係るクラウドサービスを実現する情報処理システムの構成例を示すブロック図である。
【図３】本実施形態に係るクラウドサービスの手順の一例を表したフローチャートである。
【図４】本実施形態に係るデータ変換システムの構成例を示すブロック図である。
【図５】本実施形態に係る変換手段の構成を示すブロック図である。
【図６】本実施形態に係る非同期変換サーバの動作の一例を示すシーケンス図である。
【図７】本実施形態に係るリクエストの情報の一例を説明するための図である。
【図８】本実施形態に係るタスク分割定義の一例を説明するための図である。
【図９】本実施形態に係る分割前後のリクエストの情報の一例を説明するための図である。
【図１０】本実施形態に係る非同期変換サーバの動作の他の例を示すシーケンス図である。
【図１１】本実施形態に係る変更リクエストの情報の一例を説明するための図である。
【図１２】本実施形態に係るタスク書換え後のジョブの情報の一例を説明するための図である。
【図１３】タスク処理の流れの一例を説明するための図である。
【図１４】本実施形態に係る非同期変換サーバの動作の他の例を示すシーケンス図である。
【図１５】タスク処理の流れの他の例を説明するための図である。
【図１６】本実施形態に係る非同期変換サーバの動作の一例を示すシーケンス図である。
【図１７】本実施形態に係る分割前後のリクエストの情報の一例を説明するための図である。
【図１８】本実施形態に係るtranslate定義の一例を説明するための図である。
【図１９】本実施形態に係る変更リクエストの一例を説明するための図である。
【発明を実施するための形態】
【００１２】
［第１の実施形態］
以下、本発明の実施形態について図面を参照しながら説明する。
【００１３】
図１は本実施形態に係るクラウドサービスの一例を表した模式図である。クラウドサービスは、クラウドコンピューティングを利用してデータ形式の変換、文書ファイルの翻訳、プリントなどの各種サービスを提供する。ステップＳ１において、インプット側機器の一例としてのＰＣ（パーソナルコンピュータ）１２は例えばワードプロセッサアプリケーションなどで作成した電子文書ファイルをクラウド１０上のサーバ１１にアップロードする。なお、クラウド１０上のサーバ１１にアップロードするファイルは、電子文書ファイルに限られず、画像ファイル、動画ファイル、音声ファイルなどの各種電子データでもよい。
【００１４】
ステップＳ２において、サーバ１１はアップロードされた電子文書ファイルを例えばＰＤＦやＲＰＣＳ（株式会社リコーが開発したページ記述言語）などの別のデータ形式への変換や電子文書ファイルの他言語への翻訳（データ変換処理）などを行う。アウトプット側機器の一例としてのＰＣ１３はステップＳ３において、クラウド１０上でデータ変換処理を行ったデータを取得する。なお、例えばアウトプット側機器の他の例としてＭＦＰ（複合機）を用いて、取得したデータをプリントしてもよい。
【００１５】
クラウド１０側から見ると、ＰＣ１２とＰＣ１３とはクライアントとなる。クライアントであるＰＣ１２とＰＣ１３は、クラウド１０上のサーバ１１と通信を行い、所与の目的を達成する。
【００１６】
本実施形態のクラウドサービスではクラウド１０上でデータ変換処理を行うため、クライアントであるＰＣ１２にデータ変換エンジンを持つ必要がない。ところが、クラウド１０側で用意するデータ変換エンジンは多種多様な電子文書ファイルに対応する必要がある。また、電子文書ファイルの種類は今後も増えていく可能性がある。出力に関しても、データ変換エンジンはアウトプット側機器がＰＣ１３である場合の他、ＭＦＰ（複合機）、プロジェクタや、或いは全く未知の機器への出力に対応する可能性がある。さらに、データ変換エンジンは別のクラウドサービスで利用できるデータ形式に対応する可能性もあり得る。
【００１７】
このような事情は、データ変換処理と同様、何らかの処理を実行するクラウド１０側において共通の課題であると言える。例えばインプット側機器としてのＭＦＰ（複合機）を用いて、このＭＦＰ（複合機）でスキャンした画像をクラウド１０側でＯＣＲ（Optical Character Reader）処理して、別のクラウドサービスが提供するオンラインストレージに保存する場合も共通の課題を有する。
【００１８】
また、別のクラウドサービスが提供するオンラインストレージからファイルを読み出してプリントデータ（印刷ファイル）への変換やＯＣＲ処理などのデータ変換処理を行う場合も共通の課題を有する。
【００１９】
以下では、クラウド１０上でデータ変換処理を行うクラウドサービスを一例として説明する。なお、上記したように、アウトプット側としてＭＦＰ（複合機）を用いたプリントサービス（クラウドプリント）や、ＭＦＰ（複合機）でスキャンした画像をクラウド１０側でＯＣＲ処理して、別のクラウドサービスが提供するオンラインストレージに保存処理などにも適用可能である。また、上記したように、別のクラウドサービスが提供するオンラインストレージからファイルを読み出して別のデータ形式への変換やＯＣＲ処理などを行う処理にも適用可能である。
【００２０】
図１に示すクラウドサービスは、図２に示すようなクラウドコンピューティング型の情報処理システムで構成される。図２は本実施形態に係るクラウドサービスを実現する情報処理システムの構成例を示すブロック図である。
【００２１】
ローカル側にはＰＣ１２、ＰＣ１３が存在する。ＰＣ１２及びＰＣ１３は、ＬＡＮなどのネットワーク上のゲートウェイ等に設置されているファイヤウォール１０３を介してインターネットなどのネットワークに接続する。なお、本実施形態のクラウドサービスではＰＣ１２とＰＣ１３とが同一のネットワーク上にあってもよいし、なくてもよい。以下ではＰＣ１２とＰＣ１３とが同一のネットワーク上にないと仮定して説明する。
【００２２】
図２において、クラウド側は、データ変換システム１００、ジョブ管理サーバ１０２、リバースプロキシ１０４、認証サーバ１０５及び認証用データベース１０６を有する構成である。
【００２３】
データ変換システム１００は、非同期変換サーバ１０１、共有ファイルストレージ１０７、ジョブ情報管理データベース１０８、及び変更管理データベース１０９を有する。なお、共有ファイルストレージ１０７はデータ変換システム１００の外側に置く設計としてもよい。さらに、図４に示すようにジョブ情報管理データベース１０８及び／又は変更管理データベース１０９は非同期変換サーバ１０１の一部として含まれる構成としてもよい。
【００２４】
データ変換システム１００とジョブ管理サーバ１０２とは、ローカル側の機器であるＰＣ１２がアップロードしたジョブを管理／登録する。ローカル側の機器であるＰＣ１３からファイルの取得要求があった場合、データ変換システム１００とジョブ管理サーバ１０２とは取得要求があったファイルをＰＣ１３に送信する。
【００２５】
ジョブは、ワードプロセッサアプリケーションなどで作成した電子文書ファイルが含まれる。データ変換システム１００は、ジョブに含まれる電子文書ファイルを例えばテキスト形式からＰＤＦ形式の電子データに変換する。また、このとき、例えば電子文書ファイルを日本語から英語に翻訳変換することもできる。なお、本実施形態のクラウドサービスをクラウドプリントに適用した場合、データ変換システム１００は、アウトプット側機器であるＭＦＰで出力可能なデータ形式（ページ記述言語（ＰＤＬ））の電子データであるプリントデータに変換する。
【００２６】
図２に示した情報処理システムの利用例について図３を参照して説明する。図３は本実施形態に係るクラウドサービスの手順の一例を表したフローチャートである。
【００２７】
ステップＳ１０１において、ユーザはＰＣ１２から本実施形態に係るクラウドサービスにログインする。認証処理は認証サーバ１０５が実行する。ステップＳ１０２において、ユーザはデータ形式の変換や言語の翻訳をしたい電子文書ファイルを、ＰＣ１２から本実施形態に係るクラウドサービスにアップロードする。ステップＳ１０２の処理がジョブの登録である。ジョブの登録処理はジョブ管理サーバ１０２が実行する。ここまでがＰＣ１２から行われる手順である。
【００２８】
ジョブが登録されると、本実施形態に係るクラウドサービスはバックグラウンドでデータ変換処理を行う。つまり、本実施形態に係るクラウドサービスは非同期処理の一例としてデータ変換処理を実現している。
【００２９】
ステップＳ１０３において、ジョブ管理サーバ１０２は登録された電子文書ファイルのデータ変換をデータ変換システム１００に依頼する。また、ジョブ管理サーバ１０２は登録された電子文書ファイルのデータ変換の変更要求（例えば変換するデータ形式の変更や翻訳後の言語の変更）を受け付けた場合、変更後のデータ変換をデータ変換システム１００に依頼する。ここで行われるデータ変換処理の詳細については後述する。
【００３０】
ユーザはデータ変換を行ったファイルを取得する場合、ＰＣ１３にて以下の一連の手順を行う。ステップＳ１０４において、クラウド側はＰＣ１３がクラウドサービスに対応の機器であるかを確かめる。機器としての認証である。これは、例えばアウトプット側機器がＭＦＰであるような場合、そのＭＦＰがクラウドサービスに対応していない場合があるからである。次に、ステップＳ１０５において、ユーザはＰＣ１３を操作してクラウドサービスにログインする。ユーザとしての認証である。
【００３１】
認証後、ＰＣ１３はステップＳ１０６においてジョブ一覧をクラウドサービスから取得し、表示画面などに表示する。次にユーザはステップＳ１０７において、表示されているジョブ一覧の中から所望するジョブを選択する。
【００３２】
ユーザによりジョブが選択されると、ＰＣ１３はステップＳ１０８においてクラウドサービスからジョブを取得する。クラウドサービスは、ＰＣ１２にデータ変換エンジン（例えばデータ形式変換プログラムや翻訳プログラム）を用意する必要がない。なお、同様に、本実施形態に係るクラウドサービスをクラウドプリントに適用した場合、ＰＣ１２にアウトプット側機器であるＭＦＰ（複合機）のプリンタドライバ（データ変換エンジン）を用意する必要がないので、例えば、会議資料を事前に作成／アップロードしておき、海外出張時に現地で印刷するような用途に有効である。
【００３３】
≪データ変換システム≫
本実施形態に係るデータ変換システム１００は、多種多様なデータ変換要求に応えるため、また、データ変換要求の種類の増加に柔軟に対応するため、以下に説明する構成を備える。図４に、データ変換システム１００の機能構成を示す。図４は本実施形態に係るデータ変換システムの構成例を示すブロック図である。
【００３４】
図４に示すように、データ変換システム１００は、フロントエンドアプリケーション１０２ａと、共有ファイルストレージ１０７と、非同期変換サーバ１０１とを含む。フロントエンドアプリケーション１０２ａはジョブ管理サーバ１０２の一機能である。非同期変換サーバ１０１は非同期変換サービスを提供する。また、非同期変換サーバ１０１は、データ変換要求管理手段１１１と、メッセージキュー１１２と、ジョブ情報管理データベース１０８と、変更管理データベース１０９と、複数の変換手段１２０を含む構成である。
【００３５】
ジョブ管理サーバ１０２は、インプット側機器の一例としてのＰＣ１２から送信されたジョブを受信して、ジョブに含まれる電子文書ファイル等を共有ファイルストレージ１０７に登録する機能を備える。また、ジョブ管理サーバ１０２は、必要なファイル変換を判断して、データ変換システム１００に変換を実行させる制御を行う。
【００３６】
データ変換システム１００は、処理の単位であるタスクを定義し、複数のタスクをジョブとして取り扱う。データ変換システム１００は、メッセージキュー１１２にジョブを登録しておき、変換手段１２０がジョブを一つずつ処理していく。変換手段１２０は、例えばＷｏｒｋｅｒにより実現される。
【００３７】
データ変換後のファイルは共有ファイルストレージ１０７に登録される。例えばアウトプット側機器の一例としてのＰＣ１３からファイルの取得要求を受信すると、ジョブ管理サーバ１０２は共有ファイルストレージ１０７に登録された変換後のファイルをＰＣ１３に送信する。
【００３８】
フロントエンドアプリケーション１０２ａは、必要なデータ変換を判断する機能を備える。フロントエンドアプリケーション１０２ａは、例えばＰＣ１２が送信したジョブが画像データからＰＤＦデータへのデータ変換を要求するものである場合、画像データ形式からＰＤＦデータ形式へのデータ変換が必要と判断する。また、本実施形態に係るクラウドサービスをクラウドプリントに適用した場合において、例えば電子ファイルがドキュメントファイルであり、アウトプット側機器がＲＰＣＳ対応の出力機器である場合、フロントエンドアプリケーション１０２ａは、ドキュメントファイルのデータ形式からＲＰＣＳのデータ形式へのデータ変換が必要と判断する。
【００３９】
フロントエンドアプリケーション１０２ａは、判断したデータ形式の種類を例えば「"ｔｙｐｅ"："ｏｃｒ２ｐｄｆ"」のようなパラメータにして、非同期変換サーバ１０１に送信するリクエスト（ジョブ）に埋め込む。
【００４０】
同様に、データ変換元のデータのＵＲＩ（Uniform Resource Identifier）もパラメータとしてリクエスト（ジョブ）に埋め込む。ＵＲＩは共有ファイルストレージ１０７におけるデータの存在する場所の情報である。
【００４１】
データ変換の種類とデータのＵＲＩを少なくとも含むリクエストを受け取った非同期変換サーバ１０１では、データ変換要求管理手段１１１がリクエストを受け取る。データ変換要求管理手段１１１は、データ変換に係るリクエストを解析して、データ変換の種類に合致するメッセージキュー１１２に、ジョブ（メッセージ）を入れる。
【００４２】
データ変換要求管理手段１１１は、メッセージキュー１１２にジョブ（メッセージ）を入れることと同時に並行して、ジョブ情報管理データベース１０８に、当該リクエスト（ジョブ）の情報を登録する。このとき、データ変換要求管理手段１１１は、当該リクエスト（ジョブ）の情報を一意に識別するＩＤを採番し、ジョブ情報管理データベース１０８に登録する。
【００４３】
また、データ変換要求管理手段１１１は、ジョブ情報管理データベース１０８に登録済の情報に対する変更要求（変更リクエスト）をフロントエンドアプリケーション１０２ａから受け取った場合、当該変更リクエストの情報を変更管理データベース１０９に登録する。なお、変更リクエストには、変更後のデータ変換の種類に加えて、変更対象であるリクエストの情報を一意に識別するＩＤが含まれる。また、変更リクエストには、ＵＲＩが含まれていてもよい。
【００４４】
なお、データ変換要求管理手段１１１は、フロントエンドアプリケーション１０２ａから受け取った情報が、リクエスト又は変更リクエストのいずれであるかをＩＤの有無で判断する。すなわち、データ変換要求管理手段１１１は、フロントエンドアプリケーション１０２ａから受け取った情報に、ジョブの情報を一意に識別するＩＤが指定されていない合、リクエストであると判断し、ＩＤが指定されている場合、変更リクエストであると判断する。
【００４５】
ジョブ情報管理データベース１０８に登録される情報は、ジョブ（リクエスト）の情報を一意に識別するＩＤ、ファイルの場所（共有ファイルストレージ１０７上のＵＲＩ）、ジョブ（リクエスト）に含まれるデータ変換の種類、当該リクエストの状態などである。リクエストの状態としては、「データ変換実行中」、「データ変換中継中」、「データ変換完了」などがある。リクエストの状態は、データ変換の処理状況を示すステータスを表す。
【００４６】
変更管理データベース１０９に登録される情報は、変更対象であるリクエストの情報を一意に識別するＩＤ、変更リクエストに含まれるデータ変換の種類などである。例えば、変換対象のデータを変更する場合、ＵＲＩが含まれていてもよい。変更管理データベース１０９にＩＤを登録することで、ジョブ情報管理データベース１０８に登録されているどのジョブ（リクエスト）の情報に対する変更なのかを関連付けることができる。
【００４７】
メッセージキュー１１２は複数の変換手段１２０に対応するキューを有する。図４では変換手段１２０とメッセージキュー１１２が有するキューとが一対一に対応する例を示しているが、多対多に対応していてもよい。
【００４８】
各変換手段１２０は、その変換手段１２０に対応するキューを監視しており、キューにメッセージ（ジョブ）が入ると、ジョブ情報管理データベース１０８に登録された、そのメッセージ（ジョブ）に対応するジョブ（リクエスト）の情報を取りに行く。また、各変換手段１２０は、ジョブ情報管理データベース１０８から取得したリクエストの情報に対応する変更リクエストの情報の有無を、変更管理データベース１０９を参照して確認する。各変換手段１２０は、ジョブ情報管理データベース１０８から取得したリクエストの情報に含まれるＵＲＩに基づいて、共有ファイルストレージ１０７上のデータを取得する。
【００４９】
そして、各変換手段１２０は、リクエストの情報及び変更リクエストの情報に基づいて、取得したデータの変換を行う。各変換手段１２０は、変換後のデータを共有ファイルストレージ１０７上に登録し、ジョブ情報管理データベース１０８上に登録されたリクエストの情報（具体的にはリクエストの状態）を書き換えて更新する。また、後述するように連携してデータ変換する場合、各変換手段１２０はデータ変換した後、新たなメッセージを次にデータ変換を行う変換手段１２０のキューに入れる。
【００５０】
複数の変換手段１２０は、図５に示すように、変換処理ライブラリ１２０ａと変換エンジン１２０ｂを備える構成である。変換処理ライブラリ１２０ａは、その変換手段１２０に対応するキューを監視する処理や、変換後のデータを共有ファイルストレージ１０７上に登録する処理、変更管理データベース１０９を参照して変更リクエストの有無を確認する処理などを実行する。
【００５１】
また、変換処理ライブラリ１２０ａは、ジョブ情報管理データベース１０８上に登録されたリクエストの情報を書き換えて更新する処理などを行う。また、変換処理ライブラリ１２０ａは、連携してデータ変換する場合にデータ変換後の新たなメッセージを次にデータ変換を行う変換手段１２０のキューに入れる処理などを実行する。
【００５２】
変換エンジン１２０ｂとしては、例えば、以下のようなものがある。
・ｏｃｒ２ｔｘｔ：ＪＰＥＧ（Joint Photographic Experts Group）などの画像データをテキスト形式のデータに変換するエンジン
・ｔｘｔ２ｄｏｃ：テキスト形式のデータをドキュメントファイル形式のデータに変換するエンジン
・ｔｘｔ２ｐｄｆ：テキスト形式のデータをＰＤＦ形式のデータに変換するエンジン
・ｔｘｔ２ｅｎｇ：日本語を英語に翻訳変換するエンジン
・ｔｘｔ２ｄｕｔ：日本語をオランダ語に翻訳変換するエンジン
次に、非同期変換サーバ１０１による非同期変換サービスの流れについて、説明する。まず、ユーザがクラウド１０上にジョブを登録した後に、変更要求を行わない場合の処理について説明する。また、ユーザがデータ形式の変換を要求したリクエスト（処理実行要求）を行った場合について説明する（ユーザが電子文書ファイルの言語の翻訳変換を要求したリクエストを行う場合については、第２の実施形態で説明する。）。図６は、本実施形態に係る非同期変換サーバの動作の一例を示すシーケンス図である。
【００５３】
ステップＳ１１において、フロントエンドアプリケーション１０２ａは共有ファイルストレージ１０７に登録しておいたデータに対するデータ変換の要求（ジョブ登録依頼）を非同期変換サーバ１０１のデータ変換要求管理手段１１１に対して行う。つまり、非同期変換サービスは、フロントエンドアプリケーション１０２ａが共有ファイルストレージ１０７に登録しておいたデータに対するデータ変換の要求（リクエスト）をデータ変換要求管理手段１１１に送信すると始まる。
【００５４】
ステップＳ１１で送信されるリクエストは例えば図７（ａ）に示すような情報である。図７（ａ）の例では、データ形式を画像データからＰＤＦ形式にデータ変換するリクエストであることを示す「"ｔｙｐｅ"："ｏｃｒ２ｐｄｆ"」と記述されている。また、図７（ａ）に示すリクエストには、データ変換しようとしているデータのＵＲＩが「"ｆｉｌｅ"："ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓａｍｐｌｅ．ｊｐｇ"」と記述されている。
【００５５】
ステップＳ１２において、ジョブ（リクエスト）を受信したデータ変換要求管理手段１１１はジョブを解析して、データ変換の種類に合致する変換手段１２０があるか否かを判定する。データ変換の種類に合致する変換手段１２０がある場合、データ変換要求管理手段１１１は、その変換手段１２０に対応するメッセージキュー１１２のキューに、ジョブ（メッセージ）を登録する。また、このとき、データ変換要求管理手段１１１は、フロントエンドアプリケーション１０２ａから受信したリクエストの情報（ジョブの情報）をジョブ情報管理データベース１０８に登録する。図７（ｂ）はジョブ情報管理データベース１０８に登録したリクエストの情報である。データ変換要求管理手段１１１は、リクエストの情報を一意に識別するＩＤを採番し、このＩＤをリクエストの情報に埋め込んだ上で登録する。図７（ｂ）に示す例では、「"＿ＩＤ"：１２３４５」とＩＤが記述されている。
【００５６】
ステップＳ１３において、データ変換要求管理手段１１１はジョブ登録結果をフロントエンドアプリケーション１０２ａに返す。ここでは、第１の変換手段１２１に対応するメッセージキュー１１２のキューにジョブが登録されたものとして説明を続ける。
【００５７】
ステップＳ１４において、自身が処理できるジョブに対応するキューを監視している第１の変換手段１２１はキューにジョブが登録されたことを検知する。
【００５８】
ステップＳ１５において、第１の変換手段１２１は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。例えば、第１の変換手段１２１は「"＿ＩＤ"：１２３４５」に該当する変更リクエストの情報が変更管理データベース１０９に登録されているか否かを判断し、登録されている場合、変更要求があったと判断する。
【００５９】
ステップＳ１６において、第１の変換手段１２１はキューに登録されたジョブの情報（リクエストの情報）をジョブ情報管理データベース１０８から取得する。
【００６０】
第１の変換手段１２１は取得したジョブの情報（リクエストの情報）に含まれるタスクの内容を解析し、そのタスクを変換手段１２０でデータ変換できる種類のタスクに分割する。ステップＳ１６におけるタスクの分割は、タスク分割定義に基づいて行われる。図８は、本実施形態に係るタスク分割定義の一例を説明するための図である。図８のタスク分割では、「ｏｃｒ２ｐｄｆ」は画像データからテキスト形式のデータに変換するタスク「ｏｃｒ２ｔｘｔ」と、テキスト形式のデータをＰＤＦ形式のデータに変換するタスク「ｔｘｔ２ｐｄｆ」に分割できることを示している。同様に、図８の例では、「ｏｃｒ２ｄｏｃ」は画像データからテキスト形式のデータに変換するタスク「ｏｃｒ２ｔｘｔ」と、テキスト形式のデータをドキュメント形式のデータに変換するタスク「ｔｘｔ２ｄｏｃ」に分割できることを示している。
【００６１】
したがって、第１の変換手段１２１は、図９（ａ）に示すような「ｏｃｒ２ｐｄｆ」のタスクが含まれるリクエストの情報（ジョブの情報）は、図９（ｂ）に示すような「ｏｃｒ２ｔｘｔ」のタスクと「ｔｘｔ２ｐｄｆ」のタスクを含むリクエストの情報（ジョブの情報）に分割する。なお、本実施形態では、一つの変換手段１２０で画像データをＰＤＦデータに変換することはできないものとする。
【００６２】
これにより、フロントエンドアプリケーション１０２ａは複数の変換手段１２０を連携させて「ｏｃｒ２ｐｄｆ」のデータ変換を行う。すなわち、フロントエンドアプリケーション１０２ａは例えば「ｏｃｒ２ｐｄｆ」のタスクを「ｏｃｒ２ｔｘｔ」及び「ｔｘｔ２ｐｄｆ」の二つのタスクに分割する第１の変換手段１２１に対応するメッセージキュー１１２にジョブを登録する。第１の変換手段１２１は「ｏｃｒ２ｐｄｆ」のタスクを「ｏｃｒ２ｔｘｔ」及び「ｔｘｔ２ｐｄｆ」の二つのタスクに分割する。第１の変換手段１２１は、次に行うタスク（すなわち、「ｏｃｒ２ｔｘｔ」）に対応するキューに、それぞれのタスクを含むジョブを再登録することで、複数の変換手段１２０を連携させたデータ変換が可能になる。本実施形態では、データ変換の種類「ｏｃｒ２ｔｘｔ」のデータ変換が可能な第２の変換手段１２２と、データ変換の種類「ｔｘｔ２ｐｄｆ」のデータ変換が可能な第３の変換手段１２３とが存在するものとして説明する。
【００６３】
したがって、第１の変換手段１２１は、１つの変換手段１２０で変換できないデータ変換の種類のタスクを含むジョブから第２の変換手段１２２及び第３の変換手段１２３で変換できるデータ変換の種類のタスクを含むジョブを生成する。第１の変換手段１２１は、第２の変換手段１２２及び第３の変換手段１２３で変換できるデータ変換の種類のタスクを含むジョブを生成することにより、第２の変換手段１２２と第３の変換手段１２３とを連携させたデータ変換を実現している。
【００６４】
なお、例えば、第２の変換手段１２２が、第１の変換手段１２１が行うタスクの分割を行ってもよい。すなわち、各変換手段１２０はタスクの分割が行えるようにし、最初に処理を行うタスクに対応する変換手段１２０がタスクの分割を行うようにしてもよい。
【００６５】
図６に戻り説明を続ける。ステップＳ１７において、ステップＳ１５と同様に、第１の変換手段１２１は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。ステップＳ１８において、第１の変換手段１２１は分割したタスクを含むジョブを、次に行うタスク（例えばｏｃｒ２ｔｘｔ）のデータ変換の種類に対応するキューに登録する。ステップＳ１９において、自身が処理できるジョブに対応するキューを監視している第２の変換手段１２２はキューにジョブが登録されたことを検知する。
【００６６】
ステップＳ２０において、ステップＳ１５と同様に、第２の変換手段１２２は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。ステップＳ２１において、第２の変換手段１２２はキューに登録されたジョブの情報をジョブ情報管理データベース１０８から取得する。第２の変換手段１２２はジョブの情報を解析し、先頭のタスクの情報に含まれるＵＲＩに基づいて共有ファイルストレージ１０７上のデータを取得し、先頭のタスクの情報に含まれるデータ変換の種類に応じたデータ変換を行う。
【００６７】
第２の変換手段１２２は、変換後のデータを共有ファイルストレージ１０７上に登録又は更新する。また、第２の変換手段１２２はデータ変換したことを表すために、ジョブ情報管理データベース１０８に登録されているジョブの情報を更新する。このとき、リクエストの状態が例えば「データ変換中継中」に更新される。ステップＳ２２において、ステップＳ２０と同様に、第２の変換手段１２２は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。
【００６８】
そして、ステップＳ２３において、第２の変換手段１２２はジョブの情報から先頭のタスク（処理済み）の情報を削除し、次に行うタスク（例えばｔｘｔ２ｐｄｆ）のデータ変換の種類に対応するキューに、残りのタスクを含むジョブを登録する。
【００６９】
ステップＳ２４において、自身が処理できるジョブに対応するキューを監視している第３の変換手段１２３はキューにジョブが登録されたことを検知する。ステップＳ２５において、ステップＳ２２と同様に、第３の変換手段１２３は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。ステップＳ２６において、第３の変換手段１２３はキューに登録されたジョブの情報をジョブ情報管理データベース１０８から取得する。
【００７０】
第３の変換手段１２３はジョブの情報を解析し、先頭のタスクの情報に含まれるＵＲＩに基づいて共有ファイルストレージ１０７上のデータを取得し、先頭のタスクの情報に含まれるデータ変換の種類に応じたデータの変換を行う。
【００７１】
第３の変換手段１２３は、変換後のデータを共有ファイルストレージ１０７上に登録又は更新する。また、第３の変換手段１２３は変換したことを表すために、ジョブ情報管理データベース１０８に登録されているジョブの情報を更新する。このとき、リクエストの状態が例えば「データ変換完了」に更新される。ステップＳ２７において、ステップＳ２５と同様に、第３の変換手段１２３は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。
【００７２】
そして、ステップＳ２８において、第３の変換手段１２３はジョブの情報から先頭のタスク（処理済み）の情報を削除し、次に行うタスクがジョブ情報に含まれていないため、他のキューにジョブを登録することなく処理を終了する。
【００７３】
なお、各変換手段１２０は、タスクの分割又はデータ変換を行う前後に変更管理データベース１０９を参照して変更要求の有無を確認しているが、これに限られない。例えば、各変換手段１２０は、タスクの分割を行う前又はタスクの分割を行った後のいずれか一方で変更要求の有無を確認するようにしてもよい。同様に、各変換手段１２０は、データ変換を行う前又はデータ変換を行った後のいずれか一方で変更要求の有無を確認するようにしてもよい。
【００７４】
上述した動作により、本実施形態では直接変換する変換手段１２０が存在しない変換要求のリクエストを満足する変換手段１２０を用意するのではなく、複数の既存の変換エンジン１２０を組み合わせて連携させることで、変換要求を処理できるようになる。
【００７５】
次に、ユーザがクラウド１０上にジョブを登録した後に、変更要求を行った場合について説明する。つまり、例えばユーザがクラウド１０上にジョブを登録した後に、変換するデータ形式を変更したような場合である。例えばユーザがクラウド１０上に、画像データをＰＤＦに変換するジョブを登録した後、このジョブを画像データからドキュメントデータに変換するように変更要求を行った場合である。
【００７６】
上述したように、画像データをＰＤＦに変換する場合、「ｏｃｒ２ｐｄｆ」を「ｏｃｒ２ｔｘｔ」と「ｔｘｔ２ｐｄｆ」の２つのタスクに分割し、それぞれ変換を行うための変換手段が連携して変換を行う。また、画像データからドキュメントデータに変換する場合の変更要求である「ｏｃｒ２ｄｏｃ」は「ｏｃｒ２ｔｘｔ」と「ｔｘｔ２ｄｏｃ」と分割される。なお、本実施形態では、一つの変換手段１２０で画像データからドキュメントデータに変換することはできないものとする。
【００７７】
まず、非同期変換サーバの変換手段１２０が処理する前のタスクを変更する場合について説明する。すなわち、例えば、「ｔｘｔ２ｐｄｆ」のタスクを処理する前に、ユーザが変更要求を行い、「ｔｘｔ２ｐｄｆ」が「ｔｘｔ２ｄｏｃ」に変更されるような場合について説明する。図１０は、本実施形態に係る非同期変換サーバの動作の他の例を示すシーケンス図である。
【００７８】
ステップＳ３１〜Ｓ４１の処理は、それぞれ図６のステップＳ１１〜Ｓ２１の処理と同様のため説明を省略する。ステップＳ４２において、ユーザが登録したジョブの変更要求を行うと、フロントエンドアプリケーション１０２ａはデータ変換の変更リクエスト（ジョブの情報の変更依頼）を非同期変換サーバ１０１のデータ変換要求管理手段１１１に対して行う。
【００７９】
ステップＳ４３において、データ変換要求管理手段１１１は変更リクエストを変更管理データベース１０９に登録する。ここで、変更管理データベース１０９に登録する変更リクエストの情報について説明する。図１１は、本実施形態に係る変更リクエストの情報の一例を説明するための図である。図１１に示す変更リクエストには、「"＿ｉｄ"」と「"ｔｙｐｅ"」が指定されている。"＿ｉｄ"は、ジョブ情報管理データベース１０８に登録されている変更対象のリクエストの情報（ジョブの情報）を特定するための情報である。「"ｔｙｐｅ"」は変更内容である。図１２に示す例では、「"＿ｉｄ"」が「１２３４５」のリクエスト（ジョブ）のデータ変換を「ｏｃｒ２ｄｏｃ」（画像データからドキュメントデータへの変換）に変更する場合を示している。
【００８０】
ステップＳ４４において、データ変換要求管理手段１１１は登録結果をフロントエンドアプリケーション１０２ａに対して行う。
【００８１】
ステップＳ４５において、第２の変換手段１２２は変更管理データベース１０９を参照して変更要求（変更リクエスト）の有無を確認する。例えば、第２の変換手段１２２は「"＿ＩＤ"：１２３４５」に該当する変更リクエストの情報が変更管理データベース１０９に登録されているか否かを判断し、登録されている場合、変更要求があったと判断する。
【００８２】
ステップＳ４６において、第２の変換手段１２２はステップＳ４５で変更要求（変更リクエスト）があったと判断した場合、変更管理データベース１０９から変更リクエストの情報を取得し、ジョブ内のタスクを書き換える。すなわち、例えば、図９（ｂ）に示すジョブの情報を図１２に示すジョブの情報に書き換える。具体的には、２番目に処理されるタスク（ｔｘｔ２ｐｄｆ）を「ｔｘｔ２ｄｏｃ」に書き換える。これにより、後続の処理を第３の変換手段１２３（ｔｘｔ２ｐｄｆを行う変換手段１２０）ではなく、第４の変換手段１２４（ｔｘｔ２ｄｏｃを行う変換手段１２０）に依頼することができる。なお、ジョブの情報を書き換えた後、書き換え後のジョブの情報をジョブ情報管理データベース１０８に登録又は更新し、変更管理データベース１０９から変更リクエストの情報を削除する。
【００８３】
ステップＳ４７において、第２の変換手段１２２はジョブの情報から先頭のタスク（処理済み）の情報を削除し、次に行うタスク（例えばｔｘｔ２ｄｏｃ）のデータ変換の種類に対応するキュー（すなわち、第４の変換手段１２４に対応するキュー）に、残りのタスクを含むジョブを登録する。
【００８４】
ステップＳ４８において、自身が処理できるジョブに対応するキューを監視している第４の変換手段１２４はキューにジョブが登録されたことを検知する。ステップＳ４９において、第４の変換手段１２４は変更管理データベース１０９を参照して変更要求（変更リクエスト）の有無を確認する。
【００８５】
ステップＳ４９において、第４の変換手段１２４はキューに登録されたジョブの情報（ステップＳ４６で書き換えたジョブの情報）をジョブ情報管理データベース１０８から取得する。
【００８６】
第４の変換手段１２４はジョブの情報を解析し、先頭のタスクに含まれるＵＲＩに基づいて共有ファイルストレージ１０７上のデータを取得し、先頭のタスクの情報に含まれるデータ変換の種類に応じたデータ変換を行う。
【００８７】
第４の変換手段は、変換後のデータを共有ファイルストレージ１０７上に登録又は更新する。また、第４の変換手段１２４は変換したことを表すために、ジョブ情報管理データベース１０８に登録されているジョブの情報を更新する。このとき、リクエストの状態が例えば「データ変換完了」に更新される。ステップＳ５１において、ステップＳ４９と同様に第４の変換手段１２４は変更管理データベース１０９を参照して変更要求（変更リクエスト）の有無を確認する。そして、ステップＳ５２において、第４の変換手段１２４はジョブの情報から先頭のタスク（処理済み）の情報を削除し、次に行うタスクがジョブの情報に含まれていないため、他のキューにジョブを登録することなくタスクを終了する。
【００８８】
上述した動作により、ジョブの変更要求があった場合でも、すでに処理済みのタスク（図１０で説明した例では、ｏｃｒ２ｔｘｔ）を再度処理する必要がない。
【００８９】
すなわち、上述した動作によれば、図１３に示すように、例えばタスクＡ、タスクＢ、タスクＣ、タスクＤからなるジョブについて、タスクＡ及びタスクＢの処理が完了したタイミングでタスクＤ（未処理）を削除してタスクＥを追加する変更要求があった場合、従来のシステムと異なり、タスクＡ及びタスクＢを再度処理する必要がない。したがって、ユーザがジョブの変更要求を行った場合において、変換処理に関するユーザの待ち時間が短縮される。
【００９０】
次に、非同期変換サーバの変換手段１２０がすでに処理を行ったタスクを変更する場合について説明する。すなわち、例えば「ｏｃｒ２ｔｘｔ」のタスクが処理された後に、「ｏｃｒ２ｔｘｔ」が「ｄｏｃ２ｔｘｔ」に変更されるような場合について説明する。図１４は、本実施形態に係る非同期変換サーバの動作の他の例を示すシーケンス図である。
【００９１】
ステップＳ６１〜Ｓ７３の処理は、それぞれ図１０のステップＳ３１〜Ｓ４１及びステップＳ４５、ステップＳ４７の処理と同様のため説明を省略する。また、ステップＳ７４〜Ｓ７６の処理は、それぞれ図１０のステップＳ４２〜Ｓ４４の処理と同様のため説明を省略する。なお、ステップＳ７４の処理における変更要求は、「"＿ｉｄ"」が「１２３４５」のリクエスト（ジョブ）のデータ変換を「ｄｏｃ２ｐｄｆ」（ドキュメントデータからドキュメントデータへの変換）に変更するものであるとする。つまり、この変更要求は「ｄｏｃ２ｔｘｔ」と「ｔｘｔ２ｐｄｆ」の２つのタスクに分割される。
【００９２】
ステップＳ７７の処理は、図６のステップＳ２４の処理と同様のため説明を省略する。ステップＳ７８において、第３の変換手段１２３は変更管理データベース１０９を参照し変更要求（変更リクエスト）の有無を確認する。例えば、第３の変換手段１２１は「"＿ＩＤ"：１２３４５」に該当する変更リクエストの情報が変更管理データベース１０９に登録されているか否かを判断し、登録されている場合、変更要求があったと判断する。
【００９３】
ステップＳ７９において、第３の変換手段１２３はステップＳ７８で変更要求（変更リクエスト）があったと判断した場合、変更管理データベース１０９から変更リクエストの情報を取得し、ジョブ内のタスクを書き換える。すなわち、例えば、図９（ｂ）に示すジョブの情報の最初のタスクを「ｏｃｒ２ｔｘｔ」から「ｄｏｃ２ｔｘｔ」に書き換える。また、この場合、データ変換の変換元のデータも変更になるため、ＵＲＩも例えば「"ｆｉｌｅ"："ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ｓａｍｐｌｅ．ｄｏｃ"」に書き換える。なお、ジョブの情報を書き換えた後、書き換え後のジョブの情報をジョブ情報管理データベース１０８に登録又は更新し、変更管理データベース１０９から変更リクエストの情報を削除する。
【００９４】
ステップＳ８０において、第３の変換手段１２３は次に処理を行うタスク（例えばｄｏｃ２ｔｘｔ）のデータ変換の種類に対応するキュー（すなわち、第５の変換手段１２５に対応するキュー）に、タスクを含むジョブを登録する。なお、このとき、ジョブの情報の先頭のタスクが処理済みである場合、先頭のタスクの情報を削除する。
【００９５】
ステップＳ８１において、自身が処理できるジョブに対応するキューを監視している第５の変換手段１２５はキューにジョブが登録されたことを検知する。ステップＳ８２において、第５の変換手段１２５は変更管理データベース１０９を参照して変更要求（変更リクエスト）の有無を確認する。
【００９６】
ステップＳ８３において、第５の変換手段１２５はキューに登録されたジョブの情報（ステップＳ７９で書き換えたジョブの情報）をジョブ情報管理データベース１０８から取得する。
【００９７】
第５の変換手段１２５はジョブの情報を解析し、先頭のタスクに含まれるＵＲＩに基づいて共有ファイルストレージ１０７上のデータを取得し、先頭のタスクの情報に含まれるデータ変換の種類に応じたデータ変換を行う。
【００９８】
第５の変換手段は、変換後のデータを共有ファイルストレージ１０７上に登録又は更新する。また、第５の変換手段１２５は変換したことを表すために、ジョブ情報管理データベース１０８に登録されているジョブの情報を更新する。このとき、リクエストの状態が例えば「データ変換中継中」に更新される。ステップＳ８４において、ステップＳ８２と同様に第５の変換手段１２５は変更管理データベース１０９を参照して変更要求（変更リクエスト）の有無を確認する。
【００９９】
そして、ステップＳ８５において、第５の変換手段１２５はジョブの情報から先頭のタスク（処理済み）の情報を削除し、次に行うタスク（例えばｔｘｔ２ｐｄｆ）のデータ変換の種類に対応するキューに、残りのタスクを含むジョブを登録する。
【０１００】
ステップＳ８６〜Ｓ９０の処理は、それぞれ図６のステップＳ２４〜Ｓ２８の処理と同様のため説明を省略する。
【０１０１】
上述した動作により、ジョブの変更要求があった場合でも、すでに処理済みのタスクを再度処理する必要がない。すなわち、上述した動作によれば、図１５に示すように、例えばタスクＡ、タスクＢ、タスクＣ、タスクＤからなるジョブについて、タスクＡ及びタスクＢの処理が完了したタイミングでタスクＢ（処理済み）を削除してタスクＥを追加する変更要求があった場合、従来のシステムと異なり、タスクＡを再度処理する必要がない。したがって、ユーザがジョブの変更要求を行った場合において、変換処理に関するユーザの待ち時間が短縮される。
【０１０２】
以上のように、本実施形態によれば、データ変換のリクエストの増加に柔軟に対応することができるようになる。また、本実施形態によれば、フロントエンドアプリケーション１０２ａは変換手段１２０のタスクを一つ含むジョブを登録することで、複数の変換手段１２０が処理することを意識することなく、複数のタスクを実行できる。
【０１０３】
また、本実施形態によれば、ユーザがジョブの登録を行った後、ジョブの変更要求を行った場合、ジョブの変更要求によって変更になるタスクが未処理のタスクであっても、すでに処理済のタスクであっても、変更要求前にすでに処理済のタスクに関しては再度処理する必要がなく、変換処理に関するユーザの待ち時間が短縮される。
【０１０４】
なお、変換手段１２０の種類としては、上記実施形態のものとに限定されない。データ変換を行う変換手段以外にも、例えばバーコード画像のデータを文字データに変換する変換手段や、画像ファイルのデータからＯＣＲ処理して、文字列のデータに変換する変換手段、また、第２の実施形態で述べるように言語を他言語に翻訳変換する変換手段など、種々のものが考えられる。また、上記実施形態は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
［第２の実施形態］
第２の実施形態は、前述した第１の実施形態と一部を除いて同様であるため、同一部分について適宜説明を省略する。本実施形態について図１６を用いて説明する。なお、図１６において、特に言及した処理以外は第１の実施形態の図１０の対応する処理と同様であるため説明を省略する。
【０１０５】
ステップＳ２０２において、データ変換要求管理手段１１１によってジョブ情報管理データベース１０８に登録されたジョブの情報は、図１７（ａ）に示すような情報であるとする。すなわち、本実施形態では、データ形式の変換「"ｔｙｐｅ"："ｏｃｒ２ｐｄｆ"」に加えて、他言語への翻訳変換「"ｔｒａｎｓｌａｔｅ"："ｅｎｇｌｉｓｈ"」（日本語から英語への翻訳変換）が含まれている。このようなジョブの情報は、ステップＳ２０６において、図１７（ｂ）に示すような３つのタスクに分割される。すなわち、画像データからテキスト形式データへの変換（「ｏｃｒ２ｔｘｔ」）、テキスト形式データからＰＤＦ形式データへの変換（「ｔｘｔ２ｐｄｆ」）、及び日本語から英語への翻訳変換（「ｔｘｔ２ｅｎｇ」）の３つのタスクに分割される。
【０１０６】
このような、翻訳変換を含むタスクの分割は、例えば図１８に示すようｔｒａｎｓｌａｔｅ定義に基づいて行われる。すなわち、例えば「"ｔｒａｎｓｌａｔｅ"："ｅｎｇｌｉｓｈ"」と指定されていた場合、日本語を英語に翻訳変換する「ｔｘｔ２ｅｎｇ」タスクを含むジョブに分割される。
【０１０７】
ステップＳ２１２の処理における、変更要求は図１９に示すような変更リクエストの情報であったとする。すなわち、「"ｔｒａｎｓｌａｔｅ"："ｄｕｔｃｈ"」との指定は、日本語からオランダ語に翻訳変換することをリクエストする変更リクエストである。このとき、ステップＳ２１６の処理では、日本語から英語への翻訳変換「ｔｘｔ２ｅｎｇ」が日本語からオランダ語への翻訳変換「ｔｘｔ２ｄｕｔ」に書き換えられる。そして、Ｓ２２２において、例えば日本語から英語への翻訳変換「ｔｘｔ２ｅｎｇ」タスクを処理する第６の変換手段１２６に対応するキューではなく、日本語からオランダ語への翻訳変換「ｔｘｔ２ｄｕｔ」タスクを処理する第７の変換手段１２７に対応するキューに、タスクを含むジョブを登録する。
【０１０８】
ステップＳ２２５において、第７の変換手段１２７はキューに登録されたジョブの情報をジョブ情報管理データベース１０８から取得する。また、共有ファイルストレージ１０７上のデータを取得し、データ変換の種類に応じたデータ変換（日本語からオランダ語への翻訳変換）を行う。
【０１０９】
以上のように、本実施形態によれば、図１８のようにタスクを分割するための定義を導入することでデータ形式の変換以外の種々の処理を含むジョブをタスクに分割することができる。
【０１１０】
本発明は、具体的に開示された上記実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、変換手段１２０は実行手段及び処理分割手段の一例である。メッセージキュー１１２は、記憶手段の一例である。変更管理データベース１０９は、変更要求記憶手段の一例である。共有ファイルストレージ１０７は、データ記憶手段の一例である。
【符号の説明】
【０１１１】
１０    クラウド
１１    サーバ
１２、１３    ＰＣ
１００    データ変換システム
１０１    非同期変換サーバ
１０２    ジョブ管理サーバ
１０２ａ    フロントエンドアプリケーション
１０３    ファイヤウォール
１０４    リバースプロキシ
１０５    認証サーバ
１０６    認証用データベース
１０７    共有ファイルストレージ
１０８    ジョブ情報管理データベース
１０９    変更管理データベース
１１１    データ変換要求管理手段
１１２    メッセージキュー
１２０    変換手段
１２０ａ    変換処理ライブラリ
１２０ｂ    変換エンジン
【先行技術文献】
【特許文献】
【０１１２】
【特許文献１】特開２０１１−１９２２５０号公報
【特許文献２】特開２００７−１６４４５４号公報
【図１】
2015135592.tif 000003
【図２】
2015135592.tif 000004
【図３】
2015135592.tif 000005
【図４】
2015135592.tif 000006
【図５】
2015135592.tif 000007
【図６】
2015135592.tif 000008
【図７】
2015135592.tif 000009
【図８】
2015135592.tif 000010
【図９】
2015135592.tif 000011
【図１０】
2015135592.tif 000012
【図１１】
2015135592.tif 000013
【図１２】
2015135592.tif 000014
【図１３】
2015135592.tif 000015
【図１４】
2015135592.tif 000016
【図１５】
2015135592.tif 000017
【図１６】
2015135592.tif 000018
【図１７】
2015135592.tif 000019
【図１８】
2015135592.tif 000020
【図１９】
2015135592.tif 000021