(57)【特許請求の範囲】
【請求項１】
（１）ユーザ端末から通信ネットワークを介してアップロードデータを受け付け、前記受け付けたアップロードデータについてのデータ処理の結果データを同期もしくは非同期で前記ユーザ端末に返信する受付応答装置と、（２）前記受付応答装置から取得した前記アップロードデータを分断して複数の断片データを生成し、前記生成した複数の断片データがデータ処理された結果である複数の断片結果データを統合して前記結果データを生成する分断統合装置と、（３）前記分断統合装置から前記断片データを取得してキューとして保存し、複数の処理装置のうちの１つからの要求により前記断片データを当該処理装置に送信する１つ以上のキュー管理装置と、（４）前記断片データを前記キュー管理装置から取得し、前記取得した断片データをデータ処理して、前記断片結果データとして前記分断統合装置に送信する前記複数の処理装置と、を備える分散処理システムであって、
前記受付応答装置は、
前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるデータ受付部と、前記データ受付部から前記アップロードデータを取得してファイル化し、前記ファイル化したデータをデータ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するファイル処理部と、前記ファイル処理部が生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信し、前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信する送信制御部と、を備え、
前記分断統合装置は、
前記受付応答装置から送信された前記データを当該データの最初から順に読み込むデータ読込部と、前記データ読込部が読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行う断片データ生成部と、前記断片データ生成部により、前記複数の断片データのうちの１つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなＩＤを付して、前記シーケンシャルなＩＤが付された断片データが生成される毎に、前記１つ以上のキュー管理装置のいずれかに当該断片データを送信するデータ管理部と、
前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記ＩＤに対応付けて前記断片結果データに付されたシーケンシャルなＩＤに基づき、すべての前記断片結果データを取得したか否かを判定する断片結果データ取得部と、前記断片結果データ取得部が、すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなＩＤを用いて、当該ＩＤ順に前記断片結果データを統合し前記結果データを生成する断片結果データ統合部と、前記断片結果データ統合部により生成された前記結果データが記憶されるデータ記憶部と、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信する結果データ出力部と、を備え、
前記キュー管理装置は、
前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するキュー受付部と、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するキュー管理部と、前記キュー受付部が受け付けた断片データが保存される前記キュー保存部と、を備え、
前記処理装置は、
前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得する断片データ取得部と、前記断片データ取得部が取得した前記断片データに対し、所定のデータ処理を実行するデータ処理部と、前記データ処理部によりデータ処理された結果である前記断片結果データに、前記断片データに付された前記ＩＤに対応付けたシーケンシャルなＩＤを付して、前記分断統合装置に送信する断片結果データ出力部と、
を備えることを特徴とする分散処理システム。
【請求項２】
前記受付応答装置は、
前記データ受付部が、前記アップロードデータの受け付けを開始すると、前記起動指示メッセージを生成し、前記送信制御部を介して前記分断統合装置に送信させ、前記データ受付部が受け付けている前記アップロードデータのうちの所定量を取得する毎に分割してファイル化し、前記ファイル化したデータを逐次前記データ蓄積部に保存し、前記データを前記データ蓄積部に保存する毎に、当該データを前記送信制御部を介して前記分断統合装置に送信させる逐次ファイル処理部をさらに備え、
前記分断統合装置は、
前記データ読込部が、前記受付応答装置から前記データを読み込む毎に、前記断片データ生成部に引き渡し、前記断片データ生成部が前記断片データを生成すること
を特徴とする請求項１に記載の分散処理システム。
【請求項３】
前記分断統合装置の前記断片データ生成部は、
前記データ読込部が読み込んだ前記データの種類が日本語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、句点文字およびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す日本語テキスト断片データ生成部を、
さらに備えることを特徴とする請求項１または請求項２に記載の分散処理システム。
【請求項４】
前記分断統合装置の前記断片データ生成部は、
前記データ読込部が読み込んだ前記データの種類が英語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、ピリオドおよびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す英語テキスト断片データ生成部を、
さらに備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載の分散処理システム。
【請求項５】
前記分断統合装置の前記断片データ生成部は、
前記データ読込部が読み込んだ前記データの種類がＧＯＰ（Group Of Pictures）単位で構成される映像データの場合に、所定数のＧＯＰ毎に前記映像データを切り出して断片データを生成する映像断片データ生成部を、
さらに備えることを特徴とする請求項１乃至請求項４のいずれか１項に記載の分散処理システム。
【請求項６】
（１）ユーザ端末から通信ネットワークを介してアップロードデータを受け付け、前記受け付けたアップロードデータについてのデータ処理の結果データを同期もしくは非同期で前記ユーザ端末に返信する受付応答装置と、（２）前記受付応答装置から取得した前記アップロードデータを分断して複数の断片データを生成し、前記生成した複数の断片データがデータ処理された結果である複数の断片結果データを統合して前記結果データを生成する分断統合装置と、（３）前記分断統合装置から前記断片データを取得してキューとして保存し、複数の処理装置のうちの１つからの要求により前記断片データを当該処理装置に送信する１つ以上のキュー管理装置と、（４）前記断片データを前記キュー管理装置から取得し、前記取得した断片データをデータ処理して、前記断片結果データとして前記分断統合装置に送信する前記複数の処理装置と、を備える分散処理システムに用いられる分散処理方法であって、
前記受付応答装置は、
前記アップロードデータがファイル化されて保存されるデータ蓄積部を備え、
前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるステップと、前記受け付けたアップロードデータを取得してファイル化し、前記ファイル化したデータを前記データ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するステップと、前記生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信するステップと、を実行し、
前記分断統合装置は、
前記受付応答装置から送信された前記データを当該データの最初から順に読み込むステップと、前記読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行うステップと、前記複数の断片データのうちの１つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなＩＤを付して、前記シーケンシャルなＩＤが付された断片データが生成される毎に、前記１つ以上のキュー管理装置のいずれかに当該断片データを送信するステップと、を実行し、
前記キュー管理装置は、
前記分断統合装置から送信された前記断片データがキューとして保存されるキュー保存部を備え、
前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するステップと、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するステップと、を実行し、
前記処理装置は、
前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得するステップと、前記取得した前記断片データに対し、所定のデータ処理を実行するステップと、前記データ処理された結果である前記断片結果データに、前記断片データに付された前記ＩＤに対応付けたシーケンシャルなＩＤを付して、前記分断統合装置に送信するステップと、を実行し、
前記分断統合装置は、
前記断片結果データを統合した前記結果データが記憶されるデータ記憶部を備え、
前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記ＩＤに対応付けて前記断片結果データに付された前記シーケンシャルなＩＤに基づき、すべての前記断片結果データを取得したか否かを判定するステップと、前記すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなＩＤを用いて、当該ＩＤ順に前記断片結果データを統合し前記結果データを生成するステップと、前記生成された結果データを前記データ記憶部に記憶するステップと、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信するステップと、を実行し、
前記受付応答装置は、
前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信するステップを
実行することを特徴とする分散処理方法。
【請求項７】
請求項６に記載の分散処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アップロードデータの分散処理システム、分散処理方法、およびプログラムに関するものである。
【背景技術】
【０００２】
Ｗｅｂ上でのサービスを提供する場合に、１つのまとまったデータについて、データ量が巨大であり、何らかの処理を行うに際して、処理結果をユーザに提供するのに、リアルタイムでは、処理しきれない場合が存在する。例えば、日英翻訳処理や、日本語係り受け解析処理、映像からの注目シーン抽出等である。具体的には、日本語係り受け解析処理の場合において、ある設計書１６０００行（７００ＫＢ）に対して、係り受け解析処理に１００秒かかるケース等がある。この場合に、この処理をＷｅｂブラウザ経由のサービスとして実行すると、１００秒経つ以前に、ブラウザのタイムアウトが発生してしまう。従って、従来は、このような場合に、以下のような対処が行われてきた。
【０００３】
（１）情報量の多いデータの投入を禁止する。このような制限を設けるサービスシステムは、非常に多いが、ユーザに要求する制限が厳しすぎる場合には、そもそもサービス自体が利用されなくなるという問題がある。
【０００４】
（２）非同期の結果確認インタフェースを設ける。ユーザに対してブラウザのタイムアウト時間内に回答できないケースに備えて、処理完了後にメールにおいてユーザに通知する等の新たな処理群として、例えば、メールアドレス登録、メール送信、エラー再送、結果進捗状態照会等を用意しておく。この場合は、システムの本質的でない部分において、処理構成が複雑になるという問題がある。
【０００５】
（３）ユーザ認証が可能なストレージエリア等に、処理結果を生成することとし、ユーザは、適当な頃合を見計らって、結果が生成されていることを確認する。この場合は、ユーザがいつ生成されるか分からない結果を得るために、何度も結果の確認を行う必要があり、ユーザの負担が大きくなるという問題がある。
【０００６】
一方、大量のＰＣ群を活用して処理の高速化を行う技術として、MapReduceモデルが存在する（非特許文献１参照）。MapReduceモデルは、例えば、Ｗｅｂをクロールして得た細かなデータ群（Ｗｅｂページ群）を分散ファイルシステム（ＧＦＳ）上に保管し、各分散ファイルシステムを提供するマシン上で、形態素解析処理や単語のカウント処理等を並列に実行させる。これにより、総容量として１０ＴＢといった巨大なファイル群に対して、短時間で転置ファイルの作成等を可能にする。
【０００７】
また、システムのスループットを向上する技術として、分散構成が提案されている（特許文献１参照）。この分散構成は、複数の受付キューが存在し、複数の処理部が存在する構成で、複数のデータを複数の受付キューで受け付け、受け付けた複数のデータを分散して各処理部に処理させることで、システム全体としてのスループットを向上させることができるものである。このシステムは、追記参照型ＤＭＳ（Data Management System）、もしくは単にＤＭＳと呼ばれる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】ＩＴ用語辞典、“MapReduce”、［online］、［平成21年12月20日検索］、インターネット＜URL: http://e-words.jp/w/MapReduce.html＞
【特許文献】
【０００９】
【特許文献１】特開２００８−８３８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献１に記載された技術である、MapReduceモデルは、計算の前にどのマシンに処理を分散実行させるかというスケジューリングを時間をかけて行う必要がある点や、分散ファイルシステム上にデータを登録する必要がある点等の制約が強く、バッチ処理に向いており、リアルタイムの処理には向いていないものである。よって、ユーザからアップロードされたデータに即応して、対象とした処理を高速化することに適用することはできなかった。また、基本的には、Ｗｅｂページデータ等、細かなファイルが多数存在するケースに対応しており、本発明が対象とするような単一の情報量の多いファイルの投入に対しては、データのサイズのみでの分断を実施したとしても、分断した近辺において、意味的な整合を維持しつつ分散処理を実行することが困難であった。
【００１１】
また、特許文献１に記載の技術である追記参照型ＤＭＳは、複数のデータを受け付ける場合に、システム全体としてのスループットの向上を目的とするものであり、そのままでは、アップロードされた単一の情報量の多いデータに対して、レスポンスを高速化させることはできなかった。
【００１２】
このように、バッチ処理の処理時間を短縮させる技術や、既に分割されている複数のデータに対して処理スループットを向上させる技術は存在したが、ユーザからの単一の情報量の多いアップロードデータに即応して、データの意味的な整合を維持しつつ分散処理を実行し、対象とした処理の応答時間を短縮することはできなかった。
【００１３】
このような背景に鑑みて本発明がなされたのであり、本発明は、単一の情報量の多いデータに対して、レスポンスの高速化を図ることができる、分散処理システム、分散処理方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
前記した課題を解決するため、請求項１に記載の発明は、（１）ユーザ端末から通信ネットワークを介してアップロードデータを受け付け、前記受け付けたアップロードデータについてのデータ処理の結果データを同期もしくは非同期で前記ユーザ端末に返信する受付応答装置と、（２）前記受付応答装置から取得した前記アップロードデータを分断して複数の断片データを生成し、前記生成した複数の断片データがデータ処理された結果である複数の断片結果データを統合して前記結果データを生成する分断統合装置と、（３）前記分断統合装置から前記断片データを取得してキューとして保存し、複数の処理装置のうちの１つからの要求により前記断片データを当該処理装置に送信する１つ以上のキュー管理装置と、（４）前記断片データを前記キュー管理装置から取得し、前記取得した断片データをデータ処理して、前記断片結果データとして前記分断統合装置に送信する前記複数の処理装置と、を備える分散処理システムであって、前記受付応答装置が、前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるデータ受付部と、前記データ受付部から前記アップロードデータを取得してファイル化し、前記ファイル化したデータをデータ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するファイル処理部と、前記ファイル処理部が生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信し、前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信する送信制御部と、を備え、前記分断統合装置が、前記受付応答装置から送信された前記データを当該データの最初から順に読み込むデータ読込部と、前記データ読込部が読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行う断片データ生成部と、前記断片データ生成部により、前記複数の断片データのうちの１つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなＩＤを付して、前記シーケンシャルなＩＤが付された断片データが生成される毎に、前記１つ以上のキュー管理装置のいずれかに当該断片データを送信するデータ管理部と、前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記ＩＤに対応付けて前記断片結果データに付されたシーケンシャルなＩＤに基づき、すべての前記断片結果データを取得したか否かを判定する断片結果データ取得部と、前記断片結果データ取得部が、すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなＩＤを用いて、当該ＩＤ順に前記断片結果データを統合し前記結果データを生成する断片結果データ統合部と、前記断片結果データ統合部により生成された前記結果データが記憶されるデータ記憶部と、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信する結果データ出力部と、を備え、前記キュー管理装置が、前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するキュー受付部と、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するキュー管理部と、前記キュー受付部が受け付けた断片データが保存される前記キュー保存部と、を備え、前記処理装置が、前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得する断片データ取得部と、前記断片データ取得部が取得した前記断片データに対し、所定のデータ処理を実行するデータ処理部と、前記データ処理部によりデータ処理された結果である前記断片結果データに、前記断片データに付された前記ＩＤに対応付けたシーケンシャルなＩＤを付して、前記分断統合装置に送信する断片結果データ出力部と、を備えることを特徴とする分散処理システムとした。
【００１５】
また、請求項６に記載の発明は、（１）ユーザ端末から通信ネットワークを介してアップロードデータを受け付け、前記受け付けたアップロードデータについてのデータ処理の結果データを同期もしくは非同期で前記ユーザ端末に返信する受付応答装置と、（２）前記受付応答装置から取得した前記アップロードデータを分断して複数の断片データを生成し、前記生成した複数の断片データがデータ処理された結果である複数の断片結果データを統合して前記結果データを生成する分断統合装置と、（３）前記分断統合装置から前記断片データを取得してキューとして保存し、複数の処理装置のうちの１つからの要求により前記断片データを当該処理装置に送信する１つ以上のキュー管理装置と、（４）前記断片データを前記キュー管理装置から取得し、前記取得した断片データをデータ処理して、前記断片結果データとして前記分断統合装置に送信する前記複数の処理装置と、を備える分散処理システムに用いられる分散処理方法であって、前記受付応答装置が、前記アップロードデータがファイル化されて保存されるデータ蓄積部を備え、前記ユーザ端末から前記通信ネットワークを介して、前記アップロードデータを受け付けるステップと、前記受け付けたアップロードデータを取得してファイル化し、前記ファイル化したデータを前記データ蓄積部に保存した後に、前記分断統合装置を起動させる起動指示メッセージを生成するステップと、前記生成した起動指示メッセージおよび前記ファイル化したデータを前記分断統合装置に送信するステップと、を実行し、前記分断統合装置が、前記受付応答装置から送信された前記データを当該データの最初から順に読み込むステップと、前記読み込んだデータの種類を判定し、前記判定したデータの種類に応じて、前記処理装置が前記データをデータ処理する際に処理可能な単位での切り出しによる前記複数の断片データの生成を行うステップと、前記複数の断片データのうちの１つが生成される順に、前記複数の断片データそれぞれにシーケンシャルなＩＤを付して、前記シーケンシャルなＩＤが付された断片データが生成される毎に、前記１つ以上のキュー管理装置のいずれかに当該断片データを送信するステップと、を実行し、前記キュー管理装置が、前記分断統合装置から送信された前記断片データがキューとして保存されるキュー保存部を備え、前記分断統合装置から送信された前記断片データを受け付け、キューとしてキュー保存部に保存するステップと、前記処理装置からの前記断片データの取得要求に基づき、前記キュー保存部に保存された前記断片データを当該処理装置に送信するステップと、を実行し、前記処理装置が、前記キュー管理装置に前記断片データ取得要求を送信し、前記キュー管理装置から前記断片データを取得するステップと、前記取得した前記断片データに対し、所定のデータ処理を実行するステップと、前記データ処理された結果である前記断片結果データに、前記断片データに付された前記ＩＤに対応付けたシーケンシャルなＩＤを付して、前記分断統合装置に送信するステップと、を実行し、前記分断統合装置が、前記断片結果データを統合した前記結果データが記憶されるデータ記憶部を備え、前記複数の処理装置から送信された前記断片結果データを受信し、前記断片データに付された前記ＩＤに対応付けて前記断片結果データに付された前記シーケンシャルなＩＤに基づき、すべての前記断片結果データを取得したか否かを判定するステップと、前記すべての前記断片結果データを取得したと判定した場合に、前記断片結果データに付された前記シーケンシャルなＩＤを用いて、当該ＩＤ順に前記断片結果データを統合し前記結果データを生成するステップと、前記生成された結果データを前記データ記憶部に記憶するステップと、前記データ記憶部に記憶された前記結果データを、前記受付応答装置へ送信するステップと、を実行し、前記受付応答装置が、前記分断統合装置から取得した前記結果データを、前記通信ネットワークを介して、前記ユーザ端末に送信するステップを実行することを特徴とする分散処理方法とした。
【００１６】
このようにすることで、本発明よれば、単一の情報量の多いデータあっても、複数の処理装置を用意すれば、ユーザ端末からの処理要求に対して、レスポンスの高速化を図ることができる。よって、ブラウザのタイムアウト時間内に結果をユーザ端末に返却可能となる。また、処理結果を事後に通知する等の付随したシステム（メールアドレス登録、メール送信等のシステム）の構築を省略することが可能となる。
【００１７】
請求項２に記載の発明は、前記受付応答装置が、前記データ受付部が、前記アップロードデータの受け付けを開始すると、前記起動指示メッセージを生成し、前記送信制御部を介して前記分断統合装置に送信させ、前記データ受付部が受け付けている前記アップロードデータのうちの所定量を取得する毎に分割してファイル化し、前記ファイル化したデータを逐次前記データ蓄積部に保存し、前記データを前記データ蓄積部に保存する毎に、当該データを前記送信制御部を介して前記分断統合装置に送信させる逐次ファイル処理部をさらに備え、前記分断統合装置が、前記データ読込部が、前記受付応答装置から前記データを読み込む毎に、前記断片データ生成部に引き渡し、前記断片データ生成部が前記断片データを生成することを特徴とする請求項１に記載の分散処理システムとした。
【００１８】
このようにすることで、本発明によれば、ユーザ端末から受付応答装置へのデータのアップロード処理、分断統合装置による断片データ生成処理、そして、キュー管理装置への断片データの送信処理が、並列に実行可能となるため、更なるレスポンス（応答時間）の短縮が可能となる。
【００１９】
請求項３に記載の発明は、前記分断統合装置の前記断片データ生成部が、前記データ読込部が読み込んだ前記データの種類が日本語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、句点文字およびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す日本語テキスト断片データ生成部を、さらに備えることを特徴とする請求項１または請求項２に記載の分散処理システムとした。
【００２０】
このようにすることで、日本語テキストデータが受付応答装置にアップロードされた場合に、分断統合装置の日本語テキスト断片データ生成部が、データのサイズと、句点文字およびそれに続く改行コードを検索し、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行うことができる。
【００２１】
請求項４に記載の発明は、前記分断統合装置の前記断片データ生成部が、前記データ読込部が読み込んだ前記データの種類が英語テキストデータの場合に、所定量まで前記データを読み込み、前記読み込んだデータの最後から、前方もしくは後方に、ピリオドおよびそれに続く改行コードを検出し、前記検出された地点までを、前記処理装置が前記データをデータ処理する際に処理可能な部分としての断片データとして切り出す英語テキスト断片データ生成部を、さらに備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載の分散処理システムとした。
【００２２】
このようにすることで、英語テキストデータが受付応答装置にアップロードされた場合に、分断統合装置の英語テキスト断片データ生成部が、データのサイズと、ピリオドおよびそれに続く改行コードを検索し、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行うことができる。
【００２３】
請求項５に記載の発明は、前記分断統合装置の前記断片データ生成部が、前記データ読込部が読み込んだ前記データの種類がＧＯＰ（Group Of Pictures）単位で構成される映像データの場合に、所定数のＧＯＰ毎に前記映像データを切り出して断片データを生成する映像断片データ生成部を、さらに備えることを特徴とする請求項１乃至請求項４のいずれか１項に記載の分散処理システムとした。
【００２４】
このようにすることで、単一の情報量の多い映像データが入力された場合に、複数の処理装置を用意することで、ユーザからの処理要求に対して、レスポンス（応答時間）の短縮を図ることが可能となる。
【００２５】
請求項７に記載の発明は、請求項６に記載の分散処理方法をコンピュータに実行させるためのプログラムとした。
【００２６】
このようなプログラムによれば、請求項６に記載の分散処理方法を一般的なコンピュータで実現することができる。
【発明の効果】
【００２７】
本発明によれば、単一の情報量の多いデータに対して、レスポンスの高速化を図ることができる、分散処理システム、分散処理方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態に係る分散処理システムの構成例を示す機能ブロック図である。
【図２】本発明の第１の実施形態に係る分散処理システムによる分散処理の流れを示すシーケンス図である。
【図３】本発明の第１の実施形態に係る分断統合装置のテキスト断片データ生成部が行う断片データ生成処理の流れを示すフローチャートである。
【図４】本発明の第１の実施形態に係る分散処理システムに入力される日本語テキストデータの一例を示す図である。
【図５】本発明の第１の実施形態に係る分散処理システムが生成する結果データの一例を示す図である。
【図６】本発明の第１の実施形態に係る分断統合装置のテキスト断片データ生成部が生成する断片データの一例を示す図である。
【図７】本発明の第２の実施形態に係る分散処理システムの分散処理の流れを示すシーケンス図である。
【図８】本発明の第３の実施形態に係る分断統合装置の映像断片データ生成部が行う断片データ生成処理の流れを示すフローチャートである。
【図９】本発明の実施形態に係る分散処理システムの変形例について説明するための構成図である。
【発明を実施するための形態】
【００２９】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００３０】
《第１の実施形態》
図１は、本発明の第１の実施形態に係る分散処理システム１の構成例を示す機能ブロック図である。
【００３１】
最初に、本発明の第１の実施形態に係る分散処理システム１における分散処理の概要を、図１を参照して説明する。まず、ユーザ端末２からネットワーク３を介して受付応答装置１０がデータのアップロードを受け付ける。このときアップロードされるデータは、例えば、後記する図４に示すような単一の情報量の多いテキストデータ等である。受付応答装置１０は、受け付けた単一のデータを分断統合装置２０に送信し、分断統合装置２０では、所定のデータサイズとパターン検索により、処理装置がデータ処理する際に処理可能な単位で切り出して断片データ（後記する図６参照）を生成し、１つ以上のキュー管理装置３０へ送信する。そして、複数の処理装置４０は、それぞれキュー管理装置３０から断片データを受け取り、データ処理（例えば、日英翻訳処理）を実行し断片結果データを生成する。各処理装置４０から断片結果データを取得した分断統合装置２０は、すべての断片結果データを統合して、結果データ（後記する図５参照）を生成して、受付応答装置１０を介してユーザ端末２へ送信する。
【００３２】
このように、分断統合装置２０が、アップロードされた単一のデータを分断し、複数の処理装置４０により分散してデータ処理を行った上で、データを統合することで、本発明の第１の実施形態に係る分散処理システム１によれば、アップロードされたデータへのレスポンス（応答時間）の短縮が図れるものである。
【００３３】
次に、本発明の第１の実施形態に係る分散処理システム１の構成について具体的に説明する。
分散処理システム１は、ユーザ端末２からネットワーク３を介してデータ（アップロードデータ）を受信する受付応答装置１０と、受付応答装置１０が受け付けたデータを取得して、そのデータを分断して断片データを生成し、さらに処理された断片結果データを統合する分断統合装置２０と、断片データを取得し、データ処理を行う複数の処理装置４０（４０ａ，４０ｂ，４０ｃ，…）と、分断統合装置２０から出力された断片データを取得してキューとして記憶し、処理装置４０からの要求により断片データを処理装置４０に送信する１つ以上のキュー管理装置３０（３０ａ，３０ｂ，…）と、を含んで構成される。
【００３４】
なお、（１）受付応答装置１０と、分断統合装置２０との間、（２）分断統合装置２０と、キュー管理装置３０（３０ａ，３０ｂ，…）および処理装置４０（４０ａ，４０ｂ，４０ｃ，…）との間、（３）キュー管理装置３０（３０ａ，３０ｂ，…）と、処理装置４０（４０ａ，４０ｂ，４０ｃ）との間は、それぞれ図示しないネットワークや専用回線により接続される。また、キュー管理装置３０の数は、１つ以上のキュー管理装置３０（３０ａ，３０ｂ，…）であり、処理装置４０の数は、２つ以上の処理装置４０（４０ａ，４０ｂ，４０ｃ，…）であればよい。
【００３５】
＜受付応答装置＞
受付応答装置１０は、ユーザ端末２から送信された単一のデータ（アップロードデータ）を、ネットワーク３を介して受け付ける。この受付応答装置１０は、データ受付部１１と、ファイル処理部１２と、送信制御部１３と、データ蓄積部１４とを含んで構成される。なお、ここでは、図示を省略しているが、受付応答装置１０は、各種データの入力を司る入力部と、出力を司る出力部と、ＣＰＵ（Central Processing Unit）と、通信インタフェースとを備えるコンピュータにより実現される。
【００３６】
データ受付部１１は、ユーザ端末２から、ネットワーク３または入力部（不図示）を介して、単一のデータ（アップロードデータ）を受信する。そして、その受信したデータを、ファイル処理部１２へ引き渡す。
【００３７】
ファイル処理部１２は、データ受付部１１から取得したデータを、ファイル化してデータ蓄積部１４へ保存する。また、ファイル処理部１２は、データのアップロードが完了したことを契機として、起動指示メッセージを送信制御部１３を介して分断統合装置２０へ送信する。そして、ファイル処理部１２は、分断統合装置２０から、データ処理され統合された結果データを取得し、送信制御部１３を介して、その結果データをユーザ端末２へ送信する。なお、図１に示すファイル処理部１２が備える逐次ファイル処理部１２１は、後記する第２の実施形態に係る分散処理システム１ａにおいて、備えられるものであるので、ここでは説明を省略する。
【００３８】
送信制御部１３は、ファイル処理部１２の指示によりデータ蓄積部１４に記憶されたデータを分断統合装置２０へ送信する制御を行う。また、送信制御部１３は、ファイル処理部１２が取得した結果データを、ユーザ端末２へ送信する制御を行う。
【００３９】
データ蓄積部１４は、データ受付部１１が受け付けたデータを記憶する記憶手段であり、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）等により実現される。
【００４０】
なお、データ受付部１１、ファイル処理部１２、および送信制御部１３は、ＣＰＵによるプログラム実行処理または専用のハードウェアにより実現される。ＣＰＵによるプログラム実行処理により実現する場合、データ蓄積部１４にはこれらのプログラムが記憶される。
【００４１】
＜分断統合装置＞
分断統合装置２０は、受付応答装置１０から受信したデータについて、処理装置がデータ処理する際に処理可能な単位で切り出して、断片データを生成する。そして、分断統合装置２０は、各処理装置４０（４０ａ，４０ｂ，４０ｃ，…）により処理された後の断片結果データを統合して、１つの処理済みの結果データを生成する。この分断統合装置２０は、データ読込部２１と、断片データ生成部２２と、データ管理部２３と、断片結果データ取得部２４と、断片結果データ統合部２５と、結果データ出力部２６と、データ記憶部２７とを含んで構成される。なお、ここでは、図示を省略しているが、分断統合装置２０は、各種データの入力を司る入力部と、出力を司る出力部と、ＣＰＵとを備えるコンピュータにより実現される。
【００４２】
データ読込部２１は、受付応答装置１０により送信されたデータを読み込む。そして、読み込んだデータを断片データ生成部２２へ引き渡す。
【００４３】
断片データ生成部２２は、引き渡されたデータの種類を判定し、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行う。なお、ここで、処理装置がデータ処理する際に処理可能な単位での切り出しとは、例えば、データが日本語テキストデータであれば、句点および改行で区切られて、日本語として意味を理解することができる文章の切れ目で切り出しを行うことをいう（図３，図６参照）。また、後記するｍｐｅｇ２等の映像データであれば、ＧＯＰ（Group Of Pictures）と呼ばれる動画を構成する最小の単位構造がいくつか連なった映像のシーンの単位での切り出しをいう（図８参照）。
【００４４】
この断片データ生成部２２は、テキスト断片データ生成部２２１および映像断片データ生成部２２２を含んで構成される。なお、映像断片データ生成部２２２については、後記する第３の実施形態に係る分散処理システム１ｂにおいて備わるものであり、ここでの説明は省略する。
【００４５】
テキスト断片データ生成部２２１は、データの種類がテキストデータの場合に、まず、所定のバイト数を読み込み、所定のバイト数を読み込んだデータの最後の地点から、前方（もしくは後方）に、句点文字およびそれに続く改行コードがあるか否かを検出し、検出された地点までを、処理装置がデータ処理する際に処理可能な部分としての断片データとして切り出す処理を行う。なお、本実施形態において、前方とは、あるデータからみてそれより後の将来に向かって読み込まれるデータ側に向かって処理することをいい、後方とは、あるデータからみて、それより前に読み込まれたデータ側に向かって処理することをいう。また、このテキスト断片データ生成部２２１による断片データ生成処理については、後記する図３において詳細に説明する。
【００４６】
データ管理部２３は、断片データ生成部２２により、断片データが生成される順に、各断片データにシーケンシャルなＩＤを付し、また、断片データ生成部２２が切り出した最後の断片データには、最後であることが識別可能なフラグ（以下、「最後フラグ」と呼ぶ）を付与する。そして、データ管理部２３は、ＩＤが付された断片データを、キュー管理装置３０へ送信する。このとき、キュー管理装置３０が複数存在する場合は、受付キューの負荷分散等を考慮して、ラウンドロビン法等の分散アルゴリズムを用いて、複数のキュー管理装置３０（３０ａ，３０ｂ，…）に断片データを分散して送信するようにすることもできる。このようにすることにより、キュー管理装置３０の処理負荷を低減し、処理待ちキューが停滞することを防ぐことができる。
【００４７】
断片結果データ取得部２４は、処理装置４０（４０ａ，４０ｂ，４０ｃ，…）から、断片結果データを取得し、データ管理部２３が断片データに付し、断片結果データに引き継がれたＩＤをファイル名として、断片結果データをデータ記憶部２７に記憶する。また断片結果データ取得部２４は、断片結果データに付されたＩＤを用いて、すべての断片データに対応する断片結果データを取得したか否かを判定する。
【００４８】
断片結果データ統合部２５は、断片結果データ取得部２４が、すべての断片結果データを取得したことを契機として、断片結果データに付されたＩＤ順にマージすることにより、各断片結果データを統合し、結果データを生成する。また、断片結果データ統合部２５は、生成した結果データをデータ記憶部２７に記憶する。
【００４９】
結果データ出力部２６は、断片結果データ統合部２５による結果データの生成を契機として、データ処理の完了通知を生成し、その完了通知とともに、結果データを受付応答装置１０に送信する。
【００５０】
データ記憶部２７は、受付応答装置１０から取得したデータや、断片データ生成部２２が生成した断片データ、断片結果データ取得部２４が取得した断片結果データ、断片結果データ統合部２５が生成した結果データ等が記憶される記憶手段であり、ＲＡＭ、ＨＤＤ等により実現される。
【００５１】
なお、データ読込部２１、断片データ生成部２２、データ管理部２３、断片結果データ取得部２４、断片結果データ統合部２５、および結果データ出力部２６は、ＣＰＵによるプログラム実行処理または専用のハードウェアにより実現される。ＣＰＵによるプログラム実行処理により実現する場合、データ記憶部２７にはこれらのプログラムが記憶される。
【００５２】
＜キュー管理装置＞
キュー管理装置３０（３０ａ，３０ｂ，…）は、分断統合装置２０から送信された断片データをキューとして管理・保存し、処理装置４０（４０ａ，４０ｂ，４０ｃ，…）からの要求に応じて、断片データを要求のあった処理装置４０に送信する。このキュー管理装置３０は、キュー受付部３１と、キュー管理部３２と、キュー保存部３３とを含んで構成される。なお、ここでは、図示を省略しているが、キュー管理装置３０は、各種データの入力を司る入力部と、出力を司る出力部と、ＣＰＵとを備えるコンピュータにより実現される。
【００５３】
キュー受付部３１は、分断統合装置２０から送信されたＩＤの付された断片データを取得し、キューとしてキュー保存部３３に保存する。また、キュー管理部３２は、処理装置４０（４０ａ，４０ｂ，４０ｃ，…）から断片データの取得要求があったとき、キュー保存部３３に保存された断片データを、その処理装置４０へ送信する。
【００５４】
キュー保存部３３は、キュー受付部３１が取得した断片データを保存しておく記憶手段であり、ＲＡＭ、ＨＤＤ等により実現される。
【００５５】
＜処理装置＞
処理装置４０は、キュー管理装置３０から断片データを取得し、その取得した断片データに対し所定のデータ処理を実行する。この処理装置４０は、キュー選択部４１と、断片データ取得部４２と、データ処理部４３と、断片結果データ出力部４４とを含んで構成される。なお、ここでは、図示を省略しているが、処理装置４０は、各種データの入力を司る入力部と、出力を司る出力部と、各種データを記憶する記憶部と、ＣＰＵとを備えるコンピュータにより実現される。
【００５６】
キュー選択部４１は、断片データの取得元となるキュー管理装置３０を選択する。このときのキュー管理装置３０の選択は、例えば、ラウンドロビン法等の分散アルゴリズムを用いて行われる。
【００５７】
断片データ取得部４２は、キュー選択部４１により選択されたキュー管理装置３０に、断片データの取得要求を送信し、キュー管理装置３０から断片データを取得する。
【００５８】
データ処理部４３は、断片データ取得部４２が取得した断片データに対し、所定のデータ処理を実行する。例えば、日英翻訳処理や、日本語係り受け解析処理等を実行する。なお、後記する映像データに関しては、カット点検出処理や注目シーン検出処理等を実行する。
【００５９】
断片結果データ出力部４４は、データ処理部４３においてデータ処理された結果である断片結果データを分断統合装置２０へ出力する。なお、このとき、断片結果データには、分断統合装置２０のデータ管理部２３により断片データに付されたシーケンシャルなＩＤがそのまま引き継がれ付される。
【００６０】
以上説明した、受付応答装置１０、分断統合装置２０、キュー管理装置３０（３０ａ，３０ｂ，…）、および処理装置４０（４０ａ，４０ｂ，４０ｃ，…）は、図１に示したように、それぞれ別個のコンピュータ（装置）により実現してもよいし、これらをまとめて１つのコンピュータとして実現するようにしてもよい。
【００６１】
＜動作手順＞
次に、本発明の第１の実施形態に係る分散処理システム１の動作手順について、図１を参照しつつ、図２を用いて詳細に説明する。図２は、本発明の第１の実施形態に係る分散処理システム１による分散処理の流れを示すシーケンス図である。
【００６２】
まず、ユーザ端末２からネットワーク３を介して、データが送信されると（ステップＳ１０１）、受付応答装置１０のデータ受付部１１がデータを受信する（ステップＳ１０２）。そして、受付応答装置１０のファイル処理部１２は、データ受付部１１によるデータの受信が完了したか否かを判定する（ステップＳ１０３）。そして、データの受信が完了していなければ（つまり、データ受信中であれば）（ステップＳ１０３→Ｎｏ）、ステップＳ１０２へ戻り、データ受付部１１はデータの受信を続ける。一方、データの受信が完了すると（ステップＳ１０３→Ｙｅｓ）、ファイル処理部１２は、データ受付部１１が受け付けたデータを、１つのファイルとして、データ蓄積部１４に記憶する。
【００６３】
また、ファイル処理部１２は、データの受付（アップロード）が完了したことを契機として、起動指示メッセージを、送信制御部１３を介して分断統合装置２０へ送信する。そして、送信制御部１３は、分断統合装置２０へデータ蓄積部１４に記憶されたデータを送信する（ステップＳ１０４）。
【００６４】
次に、受付応答装置１０からの起動指示メッセージの受信により起動した分断統合装置２０は、データ読込部２１によるデータの読み込みを開始する（ステップＳ１０５）。そして、データ読込部２１は、データの読み込みを行いつつ、断片データ生成部２２にデータを引き渡す。
【００６５】
続いて、断片データ生成部２２は、引き渡されたデータの種類を判定し、処理装置がそのデータをデータ処理する際に処理可能な単位での切り出しによる断片データ生成処理を行う（ステップＳ１０６）。なお、この断片データ生成部２２による断片データ生成処理の詳細は、後記する図３において説明する。
【００６６】
そして、データ管理部２３は、断片データ生成部２２により、断片データが生成される毎に、断片データを受け取り、各断片データの生成順にシーケンシャルなＩＤを付し、また、断片データ生成部２２が切り出した最後の断片データには、最後であることが識別可能なフラグ（最後フラグ）を付与する。そして、データ管理部２３は、複数のキュー管理装置３０が存在する場合には、ラウンドロビン法等を用いてデータの出力先となるキュー管理装置３０を決定し、その決定したキュー管理装置３０へ、断片データを送信する（ステップＳ１０７）。続いて、データ管理部２３は、データ読込部２１が読み込んだデータのすべてを切り出し、断片データのすべてを送信したか否かを判定する（ステップＳ１０８）。そして、まだ、読込み中のデータがあり、断片データのすべてを送信していない場合には（ステップＳ１０８→Ｎｏ）、ステップＳ１０５に戻り、データ読込部２１によるデータの読込みを続ける。一方、断片データのすべてを送信した場合には（ステップＳ１０８→Ｙｅｓ）、処理を終了する。
【００６７】
次に、キュー管理装置３０のキュー受付部３１は、分断統合装置２０から、ＩＤの付された断片データを受け付け（ステップＳ１０９）、キューとしてキュー保存部３３に記憶する。そして、キュー管理部３２は、処理装置４０（４０ａ，４０ｂ，４０ｃ，…）からの断片データ取得要求に応じて、キュー保存部３３に記憶された断片データを、処理装置４０（４０ａ，４０ｂ，４０ｃ，…）へ送信する（ステップＳ１１０）。
【００６８】
続いて、処理装置４０のキュー選択部４１は、断片データの取得元となるキュー管理装置３０を、ラウンドロビン法等を用いて選択する（ステップＳ１１１）。そして、処理装置４０の断片データ取得部４２は、キュー選択部４１により選択されたキュー管理装置３０に、断片データの取得要求を送信し、そのキュー管理装置３０から断片データを取得する（ステップＳ１１２）。次に、データ処理部４３は、断片データ取得部４２が取得した断片データに対し、所定のデータ処理を実行する（ステップＳ１１３）。そして、データ処理部４３の処理結果である断片結果データを、断片結果データ出力部４４は、分断統合装置２０に送信する（ステップＳ１１４）。
【００６９】
この処理装置４０は、例えば、日本語テキストの断片データをキュー管理装置３０から取得し、データ処理部４３において、日英翻訳処理を行う。そして、そのデータ処理の結果として得られた断片結果データを、断片データに付されたＩＤを付したまま分断統合装置２０へ出力する。また、この１つの処理装置４０とは別の処理装置４０も同様の処理を行い、それぞれの処理装置４０（４０ａ，４０ｂ，４０ｃ，…）においてデータ処理された各断片結果データが、分断統合装置２０へ送信される。
【００７０】
このように、処理時間のかかる日英翻訳処理等のデータ処理を、複数の断片データに分断した上で、複数の処理装置４０において分散して実行することによって、全体の処理時間を短縮することが可能となる。
【００７１】
次に、分断統合装置２０の断片結果データ取得部２４は、各処理装置４０（４０ａ，４０ｂ，４０ｃ，…）から断片結果データを取得する（ステップＳ１１５）。そして、断片結果データ統合部２５は、断片結果データ取得部２４が取得した断片結果データに付されたＩＤをファイル名等にしてファイル化し、データ記憶部２７に記憶する。また、断片結果データ統合部２５は、取得した断片結果データに最後フラグを付与されているか否かを判定する。そして、断片結果データ統合部２５は、最後フラグが付与された断片結果データを取得した以後に、断片データを取得した場合には、その断片データに付されたＩＤをファイル名等にしてファイル化するとともに、すべての断片データを取得したか否かを判定する（ステップＳ１１６）。
【００７２】
そして、まだ取得していない断片データがある場合には（ステップＳ１１６→Ｎｏ）、ステップＳ１１５へ戻り、断片データの取得を続ける。一方、すべての断片データを取得した場合には（ステップＳ１１６→Ｙｅｓ）、取得処理を終了し、断片結果データ統合部２５は、ファイルに付されたＩＤ順にマージして、断片結果データを統合した結果データを生成し（ステップＳ１１７）、生成した結果データをデータ記憶部２７に記憶する。
【００７３】
続いて、結果データ出力部２６は、処理完了通知を生成し、その処理完了通知を受付応答装置１０へ送信する（ステップＳ１１８）。次に、処理完了通知を受け付けた受付応答装置１０のデータ受付部１１は、送信制御部１３を介して、処理完了通知をユーザ端末２へ送信する（つまり、結果データを非同期でユーザ端末２へ返信する）（ステップＳ１１９）。なお、ステップＳ１１８において、分断統合装置２０の結果データ出力部２６が処理完了通知を受付応答装置１０へ向けて送信する際に、処理完了通知とともに、結果データを併せて、受付応答装置１０へ送信し、受付応答装置１０からユーザ端末２へ送信するようにしてもよい（つまり、結果データを同期でユーザ端末２へ返信する）。そして、ユーザ端末２が、処理完了通知（結果データ）を受信することで処理を終了する（ステップＳ１２０）。
【００７４】
（断片データ生成処理）
次に、図２のステップＳ１０６における分断統合装置２０の断片データ生成部２２が行う断片データ生成処理について説明する。図３は、本発明の第１の実施形態に係る分断統合装置２０のテキスト断片データ生成部２２１が行う断片データ生成処理の流れを示すフローチャートである。なお、本実施形態においては、図４に示す日本語テキストデータがアップロードされ、このデータが処理装置４０により日英翻訳処理を行うことで、図５に示す英語テキストデータに変換する処理を行うものとして説明する。この場合、分断統合装置２０の断片データ生成部２２に備えられたテキスト断片データ生成部２２１が、データのサイズとデータのパターンを基準にして、処理装置がデータ処理する際に処理可能な単位での切り出しによる断片データの生成を行う。例えば、所定のバイト数を読み込んだデータの最後の地点から前方（もしくは後方）にパターンの検索を行う。このパターンは、句点文字およびそれに続く改行コードが存在するか否かを判定する。このパターンが存在した場合に、その地点までを、処理装置がそのデータをデータ処理する際に処理可能な部分としての断片データとして切り出す。以下、具体的に説明する。
【００７５】
まず、断片データ生成部２２は、データ読込部２１が読込みを開始したデータの種類を判定する。ここでは、データの種類が日本語テキストデータか否かを判定する（ステップＳ２０１）。データ読込部２１が読み込んだデータが日本語テキストデータでなければ（ステップＳ２０１→Ｎｏ）、処理を終了する。一方、読み込んだデータが日本語テキストデータであれば（ステップＳ２０１→Ｙｅｓ）、次のステップＳ２０２へ進む。
【００７６】
ステップＳ２０２において、断片データ生成部２２に備えられたテキスト断片データ生成部２２１は、まず、所定量のデータの読込みを行う。例えば、図４に示した日本語テキストデータの先頭からデータサイズが１０２４ＫＢの地点までのデータを読込む。
【００７７】
次に、テキスト断片データ生成部２２１は、ステップＳ２０２において、データを読み込む際に、ファイルの終端が存在したか否かを判定する（ステップＳ２０３）。ファイルの終端が存在した場合には（ステップＳ２０３→Ｙｅｓ）、テキスト断片データ生成部２２１は、最後の断片データとして切り出し（ステップＳ２０７）、断片データ生成処理を終了する。一方、ファイルの終端が存在しなかった場合には（ステップＳ２０３→Ｎｏ）、次のステップＳ２０４へ進む。
【００７８】
ステップＳ２０４において、テキスト断片データ生成部２２１は、前方（もしくは後方）へ向けてパターン検索を行う。具体的には、テキスト断片データ生成部２２１は、句点文字とそれに続く改行コードが存在するか否かを判定する（ステップＳ２０５）。そして、句点文字とそれに続く改行コードが存在しなければ（ステップＳ２０５→Ｎｏ）、さらに前方（もしくは後方）へ向けてパターン検索を続ける。一方、句点文字とそれに続く改行コードが存在した場合には（ステップＳ２０５→Ｙｅｓ）、テキスト断片データ生成部２２１は、その地点までを切り出し、断片データを生成して（ステップＳ２０６）、ステップＳ２０２へ戻る。
【００７９】
以上の処理を具体例を用いて説明する。図４に示すように、先頭からのデータサイズが１０２４ＫＢの最後の地点が、符号４０１の地点の「流」の文字であるとすると、その後方に向けて、句点文字「。」とそれに続く改行コード「↓」の存在する地点、つまり行番号「０５」の行末までを、処理装置がデータ処理する際に処理可能な部分としての断片データとして生成する。次に、２回目以降は、先頭から１０２４ＫＢの地点ではなく、直前に断片データとして切り出した直後の位置から１０２４ＫＢの地点までの読込みを行う。図４では、行番号「０６」の先頭からデータサイズが１０２４ＫＢの地点が、符号４０２の地点の「鎖」の文字であるとすると、その後方に向けて、句点文字「。」とそれに続く改行コード「↓」の存在する地点、つまり行番号「１２」の行末までを、処理装置がデータ処理する際に処理可能な部分である断片データとして生成する。
【００８０】
図６は、本発明の第１の実施形態に係る分断統合装置２０のテキスト断片データ生成部２２１が生成する断片データの一例を示す図である。図６に示すように、テキスト断片データ生成部２２１により生成された断片データは、単に、データサイズに基づきデータを分断する場合に比べて、パターン検索を行うことにより、日本語として文章が中断されることない。よって、断片データを、処理装置がデータ処理する際に処理可能な単位としてのデータとして切り出すことが可能となる。
【００８１】
なお、本発明の第１の実施形態に係る分散処理システム１を用いた分散処理により、レスポンス（応答時間）が短縮される効果がより期待できるのは、以下のような場合である。
【００８２】
分断統合装置２０でのデータの分断時間をＤ、分断統合装置２０での統合時間をＭ、処理装置４０での処理時間をＰとすると、Ｄ≪Ｐ、Ｍ≪Ｐの場合である。例えば、本発明の第１の実施形態で示した日英翻訳処理は、日本語テキストを分断する時間をＤ１、英語テキストを統合する時間をＭ１、翻訳処理時間をＰ１とすると、分析時間Ｄ１および統合時間Ｍ１が、翻訳処理時間Ｐ１に比べ、非常に短くなるため、著しい分散処理の効果が期待できる。
【００８３】
また、本発明の第１の実施形態に係るテキスト断片データ生成部２２１は、日本語テキスト断片データ生成部として、日本語テキストデータの断片データ生成処理を行うものとして説明した。これに対し、英語テキストデータが受付応答装置１０にアップロードされ、処理装置４０において、英日翻訳処理を行い日本語テキストデータに変換する処理を行う場合には、テキスト断片データ生成部２２１として英語テキスト断片データ生成部を設け、英語テキストデータの断片データ生成処理を行うものとしてもよい。この場合、英語テキスト断片データ生成部は、所定量のデータを読み込み、その読み込んだデータの最後から、前方もしくは後方に、ピリオドおよびそれに続く改行コードを検出する。そして、検出された地点までを、処理装置がそのデータをデータ処理する際に処理可能な部分としての断片データとして切り出すことにより、断片データ生成処理を行うことができる。
【００８４】
以上説明したように、本発明の第１の実施形態に係る分散処理システム１によれば、単一の情報量の多いデータであっても、複数の処理装置４０を用意すれば、ユーザ端末２からの処理要求に対して、レスポンスの高速化を図ることができる。よって、ブラウザのタイムアウト時間内に結果をユーザ端末２に返却可能となる。また、処理結果を事後に通知する等の付随したシステム（メールアドレス登録、メール送信等のシステム）の構築を省略することが可能となる。
【００８５】
《第２の実施形態》
次に、本発明の第２の実施形態に係る分散処理システム１ａについて説明する。本発明の第１の実施形態に係る分散処理システム１との違いは、図１に示すように、受付応答装置１０のファイル処理部１２に、逐次ファイル処理部１２１をさらに備えていることである。第２の実施形態に係る分散処理システム１ａは、第１の実施形態に係る分散処理システム１で得られる、データを分散して処理することによりレスポンス（応答時間）を短縮する効果に加えて、逐次ファイル処理部１２１が、データのアップロードを開始とともに、分断統合装置２０の起動を行い、データを受信しつつファイル化を行う。そして、すべてのデータのアップロードを待つことなく、ファイル化したデータから順に分断統合装置２０へ送信する処理を行う。このようにすることで、さらにレスポンス（応答時間）の短縮を図るものである。以下、具体的に説明する。
【００８６】
本発明の第１の実施形態に係るファイル処理部１２の処理においては、データ受付部１１がすべてのデータの受け付けを完了してから、データをファイル化してデータ蓄積部１４に保存し、その後、分断統合装置２０へ起動指示メッセージを出力していた（図２のステップＳ１０２〜Ｓ１０４参照）。一方、本発明の第２の実施形態に係る逐次ファイル処理部１２１は、ユーザ端末２からのデータをデータ受付部１１が受け付け開始すると、まず、分断統合装置２０へ起動指示メッセージを送信する。そして、逐次ファイル処理部１２１は、所定量（例えば、１０バイト）のデータを受け付ける毎に、受け付けたデータをファイル化してデータ蓄積部１４に保存し、その保存したデータを順次分断統合装置２０へ送信する。
【００８７】
このようにすることで、受付応答装置１０によるデータすべてのアップロードを待つことなく、受け付けたデータから順に、分断統合装置２０へ送信することができ、レスポンス（応答時間）をさらに短縮することができる。
【００８８】
図７は、本発明の第２の実施形態に係る分散処理システム１ａの分散処理の流れを示すシーケンス図である。本発明の第１の実施形態に係るシーケンス（図２参照）と同様の処理は、同一符号を付し説明を省略する。
【００８９】
まず、ユーザ端末２からネットワーク３を介して、データが送信されると（ステップＳ１０１）、受付応答装置１０のデータ受付部１１がデータを受け付け、そのデータの受け付けを契機として、逐次ファイル処理部１２１が、分断統合装置２０へ起動指示メッセージを、送信制御部１３を介して送信する（ステップＳ３０１）。そして、分断統合装置２０は、この起動指示メッセージを受信することにより（ステップＳ３０２）、起動してデータ読込み待ち状態となる。
【００９０】
次に、受付応答装置１０の逐次ファイル処理部１２１は、データ受付部１１が所定量（例えば、１０バイト）のデータを受け付ける毎に、受け付けたデータを逐次ファイル化してデータ蓄積部１４に保存し、その保存したデータを順次分断統合装置２０へ送信する（ステップＳ３０３）。そして、逐次ファイル処理部１２１は、アップロードされるすべてのデータの読込みと、分断統合装置２０への送信が終了したか否かを判定する（ステップＳ３０４）。そして、まだ読込みと送信が終わっていないデータがあれば（ステップＳ３０４→Ｎｏ）、ステップＳ３０３へ戻り処理を続ける。一方、すべてのデータの読込みと送信が終わっている場合には（ステップＳ３０４→Ｙｅｓ）、処理を終了する。
【００９１】
分断統合装置２０のデータ読込部２１は、受付応答装置１０から取得したデータを、すべてのデータの受信完了を待たずに、読込みを行い（ステップＳ１０５）、読み込んだデータを断片データ生成部２２へ引き渡す。次に、断片データ生成部２２では、順次データの読み込みを行い、断片データ生成処理を行う（ステップＳ１０６）。そして、生成した断片データをデータ管理部２３が、キュー管理装置３０へ送信する（ステップＳ１０７）。
以下は、図１に示すステップＳ１０８〜Ｓ１２０と同様の処理を行い、分断統合装置２０において断片結果データを統合し、処理完了通知をユーザ端末２に送信する。
【００９２】
以上のように、本発明の第２の実施形態に係る分散処理システム１ａによれば、ユーザ端末２から受付応答装置１０へのデータのアップロード処理と、分断統合装置２０による断片データ生成処理、そして、キュー管理装置３０への断片データの送信が、並列に実行可能となるため、更なるレスポンス（応答時間）の短縮が可能となる。
【００９３】
《第３の実施形態》
次に、本発明の第３の実施形態に係る分散処理システム１ｂについて説明する。本発明の第１の実施形態に係る分散処理システム１との違いは、ユーザ端末２からアップロードされるデータが映像データ（映像コンテンツ）であることである。この映像データは、例えば、ｍｐｅｇ２やＨ．２６４映像、もしくはその後継コーデックや派生コーデックである。そして、この映像データを分断するために、断片データ生成部２２には、図１に示すように、分断統合装置２０の断片データ生成部２２内に映像断片データ生成部２２２を備える。なお、この映像データのアップロードに対して、処理装置４０が行う処理は、例えば、１つの映像から他の映像へ切り換わるカット点を検出するカット点検出処理や、人物等の被写体が大きく写っているアップショット等の注目シーンを検出する注目シーン検出処理の提供等があげられる。
【００９４】
この映像断片データ生成部２２２は、映像データからの断片データの切り出しの際に、ＧＯＰ（Group Of Pictures）を１つの分割不能な単位とし、所定数のＧＯＰを含む映像データを、1つ以上の映像シーンの集合である断片データとして切り出す。
そして、映像断片データ生成部２２２により生成された断片データは、第１の実施形態と同様に、データ管理部２３によりキュー管理装置３０へ送信され、処理装置４０によって、断片データ毎に、カット点検出処理や注目シーン検出処理が行われる。
【００９５】
次に、映像断片データ生成部２２２が行う断片データ生成処理について説明する。
図８は、本発明の第３の実施形態に係る分断統合装置２０の映像断片データ生成部２２２が行う断片データ生成処理の流れを示すフローチャートである。
【００９６】
まず、断片データ生成部２２は、データ読込部２１が読込みを開始したデータの種類を判定する。ここでは、データの種類が、ｍｐｅｇ２やＨ．２６４映像、もしくはその後継コーデックや派生コーデック等の映像データであるか否かを判定する（ステップＳ４０１）。データ読込部２１が読み込んだデータが、ｍｐｅｇ２等の映像データでなければ（ステップＳ４０１→Ｎｏ）、処理を終了する。一方、読み込んだデータが、ｍｐｅｇ２等の映像データであれば（ステップＳ４０１→Ｙｅｓ）、次のステップＳ４０２へ進む。
【００９７】
ステップＳ４０２において、断片データ生成部２２に備えられた映像断片データ生成部２２２は、所定数のＧＯＰの含むデータの切り出しを行う。次に、映像断片データ生成部２２２は、データを読み込む際にファイルの終端が存在したか否かを判定する（ステップＳ４０３）。ファイルの終端が存在した場合には（ステップＳ４０３→Ｙｅｓ）、映像断片データ生成部２２２は、その読み込んだデータを最後の断片データとして切り出し（ステップＳ４０５）、コンテナ（動画ファイル）内に含めて断片データを生成する。一方、ファイルの終端が存在しなかった場合には（ステップＳ４０３→Ｎｏ）、映像断片データ生成部２２２は、ステップＳ４０２で切り出したデータを、コンテナ内に含めて断片データを生成し（ステップＳ４０４）、ステップＳ４０２へ戻る。
【００９８】
映像毎にデコードを実行して断片データを切り出す処理を行う場合と比較して、本発明の第３の実施形態に係る映像断片データ生成部２２２によるＧＯＰ単位の切り出しによれば、処理装置４０での処理時間Ｐに比べ、分断統合装置２０での分断時間Ｄを大幅に短縮することができるため、Ｄ≪Ｐを実現することができる。また、カット点検出処理や注目シーン検出処理は、その結果が映像内のフレーム番号等であるため、そのフレーム番号に対応した画像の生成をするだけでよく、アップロードされた一連の映像データのデータ量に比べ、出力情報のデータ量が著しく減少し、分断統合装置２０での統合時間Ｍ≪処理時間Ｐとなり、本発明による分散処理効果を享受することが可能となる。
【００９９】
また、例えば、ｍｐｅｇ２コーデックの映像を、Ｈ．２６４コーデックの映像に変換する処理を、処理装置４０が行う場合にも、本発明の適用することができる。ただし、複数の変換後の断片結果映像（Ｈ．２６４にエンコードされた映像）を結合すると、統合時間Ｍのコストが高く、Ｍ≪Ｐを状態が実現できないケースが存在する。その場合には、複数の映像コンテナを更にまとめて１つの映像コンテナとしてみなすプレイリスト等を結合結果として利用することで、統合の負荷が低減され、Ｍ≪Ｐの状態を実現でき、本発明による分散処理効果を享受することが可能となる。
【０１００】
以上のように、本発明の第３の実施形態に係る分散処理システム１ｂによれば、単一の情報量の多い映像データ（もしくはコンテンツ）が入力された場合に、複数の処理装置４０を用意することで、ユーザからの処理要求に対して、レスポンス（応答時間）の短縮を図ることが可能となる。
【０１０１】
なお、本発明の第３の実施形態に係る分散処理システム１ｂにおいては、分断統合装置２０の断片データ生成部２２に映像断片データ生成部２２２を備えるものとしたが、例えば、音声データに関して、音声断片データ生成部を備えるようにしてもよい。この場合、音声断片データ生成部は、受付応答装置１０で受け付けた音声データを、例えば、その音声データの無音時間が所定時間連続する部分を区切りとしてデータを切り出すことで、処理装置がデータ処理する際に処理可能な単位としての断片データを生成する。そして、キュー管理装置３０を介して、処理装置４０において、例えば、その断片データ（音声データ）を日本語テキストデータに変換するデータ処理を実行させることもできる。
【０１０２】
≪本実施形態の変形例≫  
次に、本発明の実施形態に係る分散処理システム１の変形例について説明する。図９は、本実施形態に係る分散処理システム１の変形例について説明するための構成図である。図９に示すシステム１００は、図１に示す分散処理システム１の受付応答装置１０の代わりに、前記した特許文献１に記載された追記参照型ＤＭＳ（Data Management System）４を適用したものである。
【０１０３】
このＤＭＳ４においては、複数のユーザ端末２からネットワーク３を介して、複数のデータがアップロードされると、受付振り分け装置５０が、受信したデータを複数の追記装置６０に振り分けて保存し、複数の処理装置７０が追記装置６０からデータを取得してデータ処理する。そして各処理装置７０の処理結果を受付振り分け装置５０に送信して、ユーザ端末２へ返信する。このことにより、ＤＭＳ４によれば、複数のデータを並列処理することができ、システム全体してスループットを向上させることができる。
【０１０４】
そして、このシステム１００においては、ＤＭＳ４を、本実施形態に係る分散処理システム１の受付応答装置１０の代わりに設ける。ここでＤＭＳ４の処理装置７０は、Polder Engine処理を行うものとする。このPolder Engine処理は、例えば、ユーザがユーザ端末２のＧＵＩ機能を用いて、複数のデータファイルを選択して、フォルダに一括ＤＲＯＰすると、そのフォルダは処理付きフォルダとして、そのフォルダ名に示される処理を実行し、処理結果の各々がフォルダ内に格納させるものである。このPolder Engine処理においては、処理付きフォルダの入れ子構造によって、一つの処理付きフォルダ内にさらに処理付きフォルダを入れ込むことができる。例えば、ある画像データをＯＣＲ処理により、日本語テキストデータに変換し、さらに、その日本語テキストデータについて、日英翻訳処理を行わせ、さらにその英文の要約処理を行うような場合である。このような処理を、処理付きフォルダの入れ子構造によって、一括処理することが可能となる。
【０１０５】
この処理を本システム１００において行う場合には、ＤＭＳ４の処理装置７０からデータを取得して、（１）まず、ＯＣＲ処理装置４５がＯＣＲ処理を行い、（２）次に、その結果データを、処理装置７０が分散処理システム１の分断統合装置２０に送信する。そして、分断統合装置２０によりデータを分断し断片データを生成する。続いて、キュー管理装置３０に記憶された断片データを、各処理装置４０が取得して、日本語テキストデータを英語テキストデータに翻訳した上で、断片結果データを分断統合装置２０に送信する。分断統合装置２０では、断片結果データを統合し、その統合した結果データを、ＤＭＳ４の処理装置７０に送信する。（３）そして、英文要約処理装置４６が英語テキストデータの要約処理を行う。このような処理を行うことによって、処理装置７０によるレスポンス（応答時間）を短縮することが可能となる。さらに、これらの処理を多数のユーザ端末２から同時にリクエストされた場合（つまり，同時にアップロードされた場合）には処理装置７０が同時に動作することでシステムのスループットが向上する。
【０１０６】
このように、本システム１００によれば、ＤＭＳ４により、多数のユーザからのリクエストの対するスループットの向上を図ることができ、さらにユーザから入力された単一の情報量の多いデータに対しても、本実施形態に係る分散処理システム１を組み合わせることで、レスポンス（応答時間）の向上も図れるものとなる。
【符号の説明】
【０１０７】
１      分散処理システム
２      ユーザ端末
３      ネットワーク
５      ＤＭＳ
１０    受付応答装置
１１    データ受付部
１２    ファイル処理部
１３    送信制御部
１４    データ蓄積部
２０    分断統合装置
２１    データ読込部
２２    断片データ生成部
２３    データ管理部
２４    断片結果データ取得部
２５    断片結果データ統合部
２６    結果データ出力部
２７    データ記憶部
３０    キュー管理装置
３１    キュー受付部
３２    キュー管理部
３３    キュー保存部
４０，７０  処理装置
４１    キュー選択部
４２    断片データ取得部
４３    データ処理部
４４    断片結果データ出力部
４５    ＯＣＲ装置
４６    英文要約処理装置
５０    受付振り分け装置
６０    追記装置
１２１  逐次ファイル処理部
２２１  テキスト断片データ生成部
２２２  映像断片データ生成部
【図１】
0005410301.tif 000002
【図２】
0005410301.tif 000003
【図３】
0005410301.tif 000004
【図４】
0005410301.tif 000005
【図５】
0005410301.tif 000006
【図６】
0005410301.tif 000007
【図７】
0005410301.tif 000008
【図８】
0005410301.tif 000009
【図９】
0005410301.tif 000010