【文献】
南端邦彦,佐藤文明,水野忠則,共有仮想環境のための高信頼マルチキャスト方式,情報処理学会研究報告,日本,社団法人情報処理学会,1998年 6月 4日,Vol:98,No:55,(98-DPS-89),Pages:37〜42
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下では図面を参照し本願発明に係る分散処理システムの実施例を説明する。なお,以下では,動画像のフォーマット変換処理を上述した分散処理システムにて行うことを例に説明する。
[実施例1]
[システム全体図]
【0017】
図1は本実施例にかかるシステムの全体図である。依頼側ネットワーク端末101は,フォーマット変換が必要な動画像を有するネットワーク端末である。つまり,処理を依頼する側のネットワーク端末である。なお,本実施例で示す動画像は複数のフレーム単位の静止画により構成されており,フォーマット変換はフレーム単位で行うことが可能である。
【0018】
分散処理装置102〜104はすべて同じ機能を持つネットワーク端末である。具体的には,依頼側ネットワーク端末101から送信されたフォーマット変換前の動画像データをフレーム単位で受信し,受信したフレームデータのフォーマット変換を行い,これを所定のタイミングにて後述する受信側ネットワーク端末105に送信する。
【0019】
受信側ネットワーク端末105は,分散処理装置102〜104から送信されたフォーマット変換後のフレームデータを蓄積する端末である。
【0020】
システム全体の動きとしては,依頼側ネットワーク端末101が各分散処理装置102〜104に向けてフォーマット変換前のフレームデータを送信し,分散処理装置は受信したフレームデータのフォーマット変換を行ったあと,所定のタイミングにて受信側ネットワーク端末105に送信する。こうすることで,フォーマット変換後のフレームデータが受信側ネットワーク端末105に蓄積され,結果として当該ネットワーク端末にて動画像を得ることができる。
【0021】
もちろん,フォーマット変換後のフレームデータを依頼元である依頼側ネットワーク端末101にて蓄積したい場合には,分散処理装置は,受信側ネットワーク端末105ではなく,依頼側ネットワーク端末101に向けて送信すればよい。
[シーケンス図]
【0022】
図2は本実施例にかかるシステム全体のシーケンス図である。
【0023】
まずステップ211〜213にて,依頼側ネットワーク端末101は,フォーマット変換前のフレームデータF(1)〜F(3)を各分散処理装置102〜104に送信する。ここで,どの分散処理装置にどのフレームを送信するかは,各分散処理装置の個々の能力等を考慮して自在に決めることができる事項であるが,本実施例では,すべての分散処理装置の処理能力は同等とし,単純に1フレームずつの処理を各分散処理装置に割り当てる。
【0024】
ステップ221にて,フォーマット変換を完了した分散処理装置102は,フォーマット変換後フレームデータ(変換後F(1))を受信側ネットワーク端末105に送信する。なお,フレームの先頭であるF(1)のみ,後述する受信完了通知を受信することなく,受信側ネットワーク端末105に向けて送信する。
【0025】
ステップ251にて,変換後F(1)を受信した受信側ネットワーク端末105は,これを自身が備える記憶領域(図示せず)に保存する。
【0026】
ステップ252にて,受信側ネットワーク端末105は,変換後F(1)の受信が完了した旨(受信完了通知)を同報通信にて送信する。ここでの同報通信とは,同じネットワークに属するすべての端末に送信するブロードキャスト通信だけでなく,特定のグループに送信するマルチキャスト通信が含まれる。特定の1つの宛先(ユニキャスト通信)でないことが本実施例における同報通信の特徴となる。
【0027】
変換後F(1)の受信完了通知を受信した分散処理装置103は,フレームデータF(1)の次のフレームであるF(2)が自身が保持するフレームデータであることを認識し,ステップ231にて,フォーマット変換後のフレームデータ(変換後F(2))を受信側ネットワーク端末105に向けて送信する。
【0028】
なお,この時点(ステップ252の受信完了通知を受信した時点)において,分散処理装置104は,フォーマット変換を完了していたとしても,このフレームデータ(変換後F(3))を送信せず,自身の所定の記憶領域に一時保存する。なぜなら,自身が保持する変換後F(3)の1つ前のフレームデータである変換後F(2)の受信完了通知をまだ受信していないためである。
【0029】
その後,分散処理装置104は,ステップ254にて,受信側ネットワーク端末105から送信された変換後F(2)の受信完了通知を受信すると,ステップ241にて,フォーマット変換後のフレームデータ(変換後F(3))を受信側ネットワーク端末105に送信する。
【0030】
この間も各分散処理装置は依頼側ネットワーク端末101から送信されたフォーマット変換前のフレームデータを随時受信し,変換を実施したうえで自身の有する記憶領域に保持している。そして,受信側ネットワーク端末105からの受信完了通知にもとづいて,適時,フォーマット変換後のフレームデータを送信している。
【0031】
このような処理を繰り返すことで,受信側ネットワーク端末105には,フレームの順序が維持された状態で変換後のフレームデータが蓄積されることとなる。
[受信側ネットワーク端末の機能ブロック図]
【0032】
図3は受信側ネットワーク端末105の機能ブロック図である。
【0033】
ネットワーク接続手段301は,ネットワークを通じてデータを送受信する手段である。
【0034】
データ受信手段302は,分散処理装置から送信されたフォーマット変換後のフレームデータを受信する手段である。受信したフレームデータは記憶装置303に保存する。
【0035】
順序情報抽出手段304は,受信したフレームデータの順序情報を抽出する。ここでの順序情報とは,元の動画像における当該フレームデータの時間的位置のことを意味する。たとえばフレームデータF(1)とF(2)であれば,F(1)のほうが時間的前方に位置するフレームデータである。
【0036】
受信完了通知手段305は,順序情報抽出手段304が抽出した順序情報を同報通信にて送信する手段である。これにより,受信側ネットワーク端末105が所定のフレームデータの受信が完了した旨を,分散処理装置に通知することができる。
[受信側ネットワーク端末の動作フロー]
【0037】
図4は,受信側ネットワーク端末105の動作フローである。
【0038】
ステップ401にて,依頼側ネットワーク端末101から送信されたフォーマット変換後のフレームデータを受信したかどうかを判断する。判断の結果,受信していれば次のステップに進み,そうでなければ当該判断処理を繰り返す。
【0039】
ステップ402にて,受信したフレームデータを記憶装置303に保存する。
【0040】
ステップ403にて,受信したフレームデータに含まれる順序情報を抽出する。
【0041】
ステップ404にて,フレームデータを受信した旨が含まれる受信完了通知を同報通信にて送信する。
[分散処理装置の動作フロー]
【0042】
図5は分散処理装置102〜104の動作フローである。図示する通り動作フローは2つの独立したタスクにより構成されている。
【0043】
まずは,フレームデータのフォーマットを変換するタスク(ステップ501〜504)について説明する。
【0044】
ステップ501にて,依頼側ネットワーク端末101からフォーマット変換前のフレームデータを受信したかどうかを判断する。判断の結果,受信していれば,次のステップに進み,そうでなければ当該判断を繰り返す。
【0045】
ステップ502にて,フォーマット変換前のフレームデータを受信する。
【0046】
ステップ503にて,受信したフレームデータのフォーマットを所定のフォーマットに変換する。
【0047】
ステップ504にて,フォーマット変換後のフレームデータを所定の記憶領域(図示せず)に保存して,ステップ501に戻る。
【0048】
なお,分散処理における先頭データ,つまり本実施例の場合の先頭フレームF(1)の場合のみ,後述するステップ511〜513を経ることなく,直接,受信側ネットワーク端末105に向けて送信する(ステップ514)。
【0049】
次いで,フォーマット変換後のフレームデータを送信するタスク(ステップ511〜514)について説明する。
【0050】
ステップ511にて,受信側ネットワーク端末105からの受信完了通知を受信したかどうかを判断する。判断の結果,受信していれば次のステップに進み,そうでなければ当該判断処理を繰り返す。
【0051】
ステップ512にて,受信した受信完了通知に含まれる順序情報を抽出する。
【0052】
ステップ513にて,抽出した順序情報にもとづいて,自身が保持するフォーマット変換後のフレームデータを送信すべきかどうかについて判断する。判断の結果,送信すべきであれば,次のステップに進み,そうでなければ当該判断を繰り返す。
【0053】
ステップ514にて,ステップ504にて保存したフォーマット変換後のフレームデータを所定の記憶領域から読み出し,受信側ネットワーク端末105に向けて送信する。
[他の実施例]
【0054】
上述の実施例における分散処理システムでは,3台の分散処理装置が存在したが,この台数は処理の途中で増減させることも可能である。もちろん,処理の途中に限らず,3台とは異なる台数を予め準備しておいてもよい。
【0055】
たとえば,処理スピードの向上を意図して分散処理装置の数を途中で増やした場合,依頼側ネットワーク端末101は,必要に応じて,各分散処理装置にフォーマット変換前のフレームデータを割り当てることで,特別な手段を講じることなく継続して分散処理を行うことが可能である。
【0056】
これは,受信側ネットワーク端末105が送信する受信完了通知が,同報通信によって送信されるためである。同報通信を用いることにより,分散処理装置の増減にかかわりなく,受信が完了したフレームデータの順序情報が伝わり,これに基づいて,分散処理装置が,変換後のフレームデータを送信すべきか否かを判断できるためである。
【0057】
さらに,個々の分散処理装置は,必ずしも同等の処理能力である必要はない。たとえば,データの種類に応じて,異なる能力を持つ分散処理装置を使用することも可能である。
【0058】
また,実施例1で示した動画像のフォーマット変換処理は,本願発明適用の一例にすぎない。順序情報を有するデータの分散処理を行うものであれば,どのようなものにも本願発明は適用可能である。
[まとめ]
【0059】
本願発明にかかる分散処理システムによれば,処理後のデータを受信した受信側ネットワーク端末が,当該処理後のデータを受信した旨(受信完了通知)を同報通信にて送信する。この同報通信には受信したデータの順序情報が含まれているため,同報通信を受信した処理側ネットワーク端末は,当該順序情報に基づいて,自身が処理したデータを送信するかどうかを判断することができる。したがって,自身の処理データが送信可能な時にのみ送信することとなる。
【0060】
結果として,処理後のデータの並び替えを受信側ネットワーク端末で行うことなく,順序情報が保たれた状態で処理後のデータを得ることができる。
【0061】
また,受信した処理後のデータはすでに正しい順序で並んでいるため,受信後すぐに利用することが可能である。たとえば,動画像の場合には順次再生(ストリーミング再生)することが可能である。
【0062】
さらに同報通信にて通知することにより,すべての処理側ネットワーク端末に通知が到達することから,処理側ネットワーク端末の数が途中で増減した場合であっても特別な手順を必要とすることなく分散データ処理を継続することができる。たとえば,処理スピードを上げたい場合は,単に処理側ネットワーク端末を増やし,当該ネットワーク端末に処理の必要なデータを割り当てるだけでよい。