JP2014236465A - データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置 - Google Patents

データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置 Download PDF

Info

Publication number
JP2014236465A
JP2014236465A JP2013118719A JP2013118719A JP2014236465A JP 2014236465 A JP2014236465 A JP 2014236465A JP 2013118719 A JP2013118719 A JP 2013118719A JP 2013118719 A JP2013118719 A JP 2013118719A JP 2014236465 A JP2014236465 A JP 2014236465A
Authority
JP
Japan
Prior art keywords
processing
data
stream
cost
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013118719A
Other languages
English (en)
Inventor
大塚 卓哉
Takuya Otsuka
卓哉 大塚
英一 細谷
Hidekazu Hosoya
英一 細谷
青木 孝
Takashi Aoki
孝 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013118719A priority Critical patent/JP2014236465A/ja
Publication of JP2014236465A publication Critical patent/JP2014236465A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】ストリームデータに対する情報の付加、情報の隠ぺいなどのリアルタイムのデータ加工処理をネットワーク内で実行することにより、多様な利用者に対して利用者ごとにその環境に適合した内容のストリームデータを配信できるようにする。
【解決手段】ネットワーク内に、それぞれ再構成可能ハードウェア計算機を備える複数の自律システム(AS)を配置する。各ASが、そのASに関わる負荷度を算出して負荷度に関する情報を他のASとの間で交換する。受信者からの処理要求を受けたASが、各ASの負荷度に基づき、処理要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるよう、データ加工処理を実行すべき再構成可能ハードウェア計算機の配置を選択し、選択された再構成可能ハードウェア計算機が自システムのものであるときにはその処理を実行するハードウェア構成情報を作成して設定する。
【選択図】図2

Description

本発明は、ネットワークを介した映像ストリームなどのストリームデータの配信に関し、特に、ネットワーク内でデータ加工処理を実行することで、多様な利用者のそれぞれに対してその利用者の環境(例えば社会的環境)や要求に適合したストリームデータを配信できるようにした方法及びシステムと、そのようなシステムにおいて用いられる構成情報最適配置装置に関する。
インターネット上で映像を生放送し、視聴者とリアルタイムの双方向コミュニケーションを行う機会が増えている。映像のストリームデータはデータ量が極めて大きいものであるから、利用者からの配信要求に応えて配信元のサーバが利用者ごとにストリームデータを配信する構成とすると、多数の利用者からの配信要求を受け付けた場合に配信元のサーバやネットワークを構成する機器に過大な負荷がかかる恐れがある。
そこで、ストリームデータの配信に適したネットワーク構成として、CDN(コンテンツ配信ネットワーク:Content Delivery Network)がある。CDNは、ネットワーク上において、映像ストリームサービスの利用者に近い位置に設けられている機器に映像の複製を生成しておくことにより、多数の利用者から映像の配信要求が発生した場合でも、個々の利用者からの配信要求に対してはネットワーク上で当該利用者の近くにある機器から映像を配信するものである(非特許文献1)。このようなCDNによれば、映像の配信元のサーバやネットワークを構成する機器に対して過大な負荷をかけることなく、映像配信を実行することができる。
Zhuang, Zhenyun; et al., "Optimizing CDN Infrastructure for Live Streaming with Constrained Server Chaining,' Parallel and Distributed Processing with Applications (ISPA), 2011 IEEE 9th International Symposium on, pp. 183-188, 26-28 May, 2011 Prasanna Sundararajan, "FPGAを用いた高性能コンピューティング," [Online], Xilinx Inc., [2013年5月17日検索], インターネット〈URL:http://japan.xilinx.com/support/documentation/white_papers/j_wp375_HPC_Using_FPGAs.pdf〉
映像ストリームを配信する場合、受信者すなわち視聴者が置かれている社会的環境(例えば、国、言語、文化的背景、慣習など)の違いにより、完全に同一の映像ストリームを多数の受信者に配信することが適切であるとは言えないことがある。そこで、映像のストリームデータの内容を自動的に解析し、適切な情報(例えば、翻訳)を付加したり、あるいは、不適切な情報(例えば、社会的に禁忌とされている表現)を隠すなどのデータ加工処理を施しながら配信することで、適切に加工されたストリームデータを視聴者に配信できることが望まれる。しかしながら現状では、録画済みのストリームデータに対してデータ加工処理を行う技術は確立しているものの、生放送などの映像ストリームデータに対するリアルタイム処理は非常にコストが高いので、映像ストリームデータ内容を解釈してリアルタイムに情報を付加するなどの処理は実行されておらず、そのままの映像を配信するのみである。
また映像のストリームデータ以外のストリームデータであっても、配信先の数が多い場合に、配信先ごとに適合したデータ加工処理を配信元においてリアルタイムで行うことが、ネットワーク負荷や配信元サーバの能力などの問題により現実的でない場合もある。
本発明の目的は、ストリームデータに対する情報の付加、情報の隠ぺいなどのリアルタイムのデータ加工処理をネットワーク内で実行することにより、多様な利用者に対して利用者ごとに当該利用者の環境に適合した内容のストリームデータを配信できるデータストリーミング方法及びシステムを提供することにある。
本発明の別の目的は、ストリームデータに対する情報の付加、情報の隠ぺいなどのリアルタイムのデータ加工処理をネットワーク内で実行することにより、多様な利用者に対して利用者ごとに当該利用者の環境に適合した内容のストリームデータを配信できるデータストリーミングシステムで用いられる構成情報最適配置装置を提供することにある。
本発明のデータストリーミング方法は、受信者に応じてネットワーク内でストリームデータに対するデータ加工処理を行いつつ、配信者から受信者に対してネットワークを介してストリームデータを配信するデータストリーミング方法であって、ネットワーク内に、それぞれ再構成可能ハードウェア計算機を備える複数の自律システムを配置し、各自律システムが、その自律システムに関わるデータトラフィック及び再構成可能ハードウェア計算機の負荷度を算出して負荷度に関する情報を他の自律システムとの間で交換し、受信者からの処理要求を受けた自律システムが、各自律システムの負荷度に基づき、その処理要求で要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるようそのデータ加工処理を実行すべき再構成可能ハードウェア計算機の配置を選択し、選択された再構成可能ハードウェア計算機が自システムのものであるときにはそのデータ加工処理を実行するハードウェア構成情報を作成してその選択された再構成可能ハードウェア計算機に設定する。
本発明のデータストリーミングシステムは、受信者に応じてネットワーク内でストリームデータに対するデータ加工処理を行いつつ、配信者から受信者に対してネットワークを介してストリームデータを配信するデータストリーミングシステムであって、ネットワーク内に配置されて相互に接続する複数の自律システムを備え、各自律システムは、再構成可能ハードウェア計算機として構成されてデータ加工処理を実行するストリーム処理実行ブロックと、ストリーム処理実行ブロックに対してストリームデータの入出力を行うストリームデータ入出力部と、ストリーム処理実行ブロック及びストリームデータ入出力部の負荷度をモニターし、ネットワーク内の他の自律システムと負荷度情報を交換する負荷度モニター部と、受信者からの処理要求を受けたときに、負荷度モニター部から情報に基づき、その処理要求で要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるようそのデータ加工処理を実行すべきストリーム処理実行ブロックの配置を選択し、選択されたストリーム処理実行ブロックが自システムのものであるときにはそのデータ加工処理を実行するようにハードウェア構成情報を作成して自システムのストリーム処理実行ブロックに設定する制御部と、を備える。
本発明の構成情報最適配置装置は、受信者に応じてストリームデータに対するデータ加工処理を行いつつ配信者から受信者に対してストリームデータを配信するネットワーク内に分散配置される自律システム内に設けられる構成情報最適配置装置であって、再構成可能ハードウェア計算機として構成されてデータ加工処理を実行するストリーム処理実行ブロックと、ストリーム処理実行ブロックに対してストリームデータの入出力を行うストリームデータ入出力部と、ストリーム処理実行ブロック及びストリームデータ入出力部の負荷度をモニターし、ネットワーク内の他の自律システムと負荷度情報を交換する負荷度モニター部と、受信者からの処理要求を受けたときに、負荷度モニター部から情報に基づき、その処理要求で要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるようそのデータ加工処理を実行すべきストリーム処理実行ブロックの配置を選択し、選択されたストリーム処理実行ブロックが自システムのものであるときにはそのデータ加工処理を実行するようにハードウェア構成情報を作成して自システムのストリーム処理実行ブロックに設定する制御部と、を備える。
本発明によれば、再構成可能ハードウェア計算機を備える自律システムをネットワーク内に分散配置し、各再構成可能ハードウェア計算機の負荷度やネットワークの負荷度などに応じたコスト計算により、ストリームデータに対するデータ加工処理を実行する自律システムを決定してそのデータ加工処理に対応するハードウェア構成情報を再構成可能ハードウェア計算機に設定するので、インターネットなどのネットワーク上でストリーム配信を行う配信者とそれらストリームデータを適切に加工したものを受信する受信者の分布を考慮して、必要とされる処理ブロックをネットワーク内に適切に配置することが可能となる。これにより、データ処理に必要な計算機資源コストとトラッフィクコストの総量を削減することが可能になる。
本発明に基づくデータストリーミング方法が適用されるべきネットワークの構成の一例を示す図である。 本発明の実施の一形態のデータストリーミングシステムの構成を示すブロック図である。 再構成可能ハードウェア計算機としてのストリーム処理実行ブロックを備える構成情報最適配置装置の構成を示すブロック図である。 構成情報最適配置装置の制御部の処理を示すフローチャートである。 単純なストリーム分岐構成を採用した場合の処理ブロックの配置例を示す図である。 他のAS(自律システム)で実行されている処理ブロックを自ASの装置に複製して実行する構成を採用した場合の処理ブロックの配置例を示す図である。 他のASの装置で実行されている処理ブロックを別のASの装置に移動、または縮約して実行する構成を採用した場合の処理ブロックの配置例を示す図である。
次に、本発明の実施の形態について、図面を参照して説明する。
まず、本発明に基づくデータストリーミング方法が適用されるべきネットワークについて、図1を参照して説明する。図1は、リアルタイムで映像をストリームデータとして配信するネットワークの一例を示している。
リアルタイム映像を配信する場合、プライバシーの保護等の観点から、個人の特定に繋がるような必要以上の情報が映像中に入り込まないことが、配信者側に要求される場合がある。このような場合、配信者は、例えば画像中に映り込む人物の顔にぼかしを入れたり、人物の声を変調して個人の特定を困難にする。あるいは、レポーターが何らかの事件の現場報道を行っている映像である場合には、例えば、レポーターの周囲の環境映像にぼかしを入れてレポート地の特定を困難にするなどの配慮をする。
また、映像ストリームデータを世界全体に向けて配信する場合、配信がより多くの受信者にとって有益で利便性の高いものとなるためには、音声の自動認識・自動翻訳による多言語の字幕挿入は重要な要素になる。また、各国の文化、習慣に即して映像を編集することも重要な要素になる。
図1に示した例では、配信者110(ここでは、実際に映像を撮影している者とし、図ではカメラのシンボルで示されている)が、日本国内のある場所から不特定多数に向けてリアルタイム配信を行っており、受信者111(ここではリアルタイム配信された映像を視聴している者であり、図ではディスプレイのシンボルで示されている)は、日本国内にいる受信者とする。この場合、受信者111は日本国内に在住する者であり、受信者111に対しては日本国内の放送倫理に従った配信をする必要性が有ることを鑑みると、受信者111が受信する配信映像には、場所を特定するような必要以上の情報は隠ぺいされていることが望ましい。
日本国内の受信者111に配信されるべき映像情報に対するこのようなデータ加工処理は、機能ごとにまとめられた処理ブロック101〜104を組み合わせ、処理ブロック101から処理ブロック104の順で映像ストリームデータに対して処理を行うことで実現できる。
処理ブロック101は、撮影装置の手揺れなどに起因する画像ブレを補正する画像揺れ補正処理を実行する。画像揺れ補正処理を実行する処理ブロック101は、例えば、比較的小さな揺れを補正するために撮像装置(カメラ)内に内蔵される機械駆動の手振れ補正機構であってもよいし、あるいは、撮像装置とは別個に設けられ、画像全体のオプティカルフローを元にして画角の大きな揺れを補正する機能を有するものであってもよい。
処理ブロック102は、映像から画像特徴量を計算する特徴量計算処理を実行する。映像の中に映り込んでいる物体を識別するための前処理として、映像そのものではなく、識別に有効とされる画像特徴量(例えば、HOG(Histogram of Oriented Gradient)、SIFT(Scale-Invariant Feature Transform)、Haar−Likeなど)を計算することが一般的である。したがって処理ブロック102は、物体認識のために、処理ブロック101から出力される映像ストリームデータから画像特徴量を算出する。この例では、処理ブロック102は、HOG特徴量を計算する特徴量計算処理ブロックであるものとする。
処理ブロック103は、処理ブロック102で算出された画像特徴量から、画像中に映っている特定の物体を見つけ出す物体認識処理を実行する。物体認識処理としては、サポートベクターマシン(SVM)、適応ブースティング(Adaptive Boosting(Adaboost))などの種々の機械学習アルゴリズムが用いられることが一般的である。人物、顔、車両、交通標識など、認識したい対象に応じて処理ブロック102の特徴量計算処理と処理ブロック103の物体認識処理とを組み合わせることにより、実用的な自動画像認識が可能になる。この例では処理ブロック103は、映像中の人物を検出する認識処理ブロックであるものとする。
処理ブロック104は、処理ブロック103での物体認識処理の結果を受けて、映像中の特定の物体に対してぼかしを重畳させる(オーバーレイする)画像合成処理を実行する。この例では、処理ブロック104は、映像中の人物とその近傍のみを残し、他の環境風景に対してぼかし処理を行う画像合成処理を行う。
その結果、図1において符号120に示されるような映像を配信者110が撮影し配信しようとしたとすると、受信者111には、環境風景に対するぼかし処理が行われた符号121に示されるような映像が提示される。
また、配信者110からの配信映像は、日本国外の受信者112に対しても行われる。配信者110によるナレーションが自動翻訳され、字幕として配信映像に追加されていることは、国外の受信者112にとって利便性が高い。また、受信者112の居住地における社会背景として女性の顔や肌の露出が避けられるべきものであるとすると、配信映像中の女性の顔や肌は隠されることが好ましい。このような受信者112に対するデータ加工処理は、図1中の機能ごとにまとめられた処理ブロック105〜107を組み合わせて実現することができる。
処理ブロック105は、処理ブロック105と同様に、処理ブロック102で得られた画像特徴量から、映像中に映っている特定の物体を見つけ出す物体認識処理を実行する。ここでは、処理ブロック105は、映像中の女性を検出する画像認識処理を実行する。
処理ブロック106は、配信される映像ストリームデータ中の音声に対して音声認識を行い、音声認識結果に基づいて自動翻訳を行う翻訳処理を実行する。翻訳処理による結果は、例えば、テキストデータとして出力される。現状の言語処理技術では完全な音声認識や自動翻訳を行うことは困難であるが、部分的に音声認識及び翻訳が可能となるだけでも受信者112にとってリアルタイム配信の利便性が向上する。
処理ブロック107は、女性を検出する画像認識処理を行う処理ブロック105の結果と、翻訳処理を行う処理ブロック106との結果を受けて、配信される映像中の女性の顔に例えばブルカなどの画像を重畳させ、映像に対して翻訳テキストを挿入する画像合成処理を実行する。その結果、図1において符号120に示されるような映像を配信者110が撮影し配信しようとしたとすると、受信者112には、符号123で示すような映像が提示されることになる。
上述した各処理ブロック101〜107での処理は、映像配信をリアルタイムに行うためには高速に実行される必要がある。しかも処理ブロックで処理すべき内容は、受信者によって配信が要求されたストリームの内容によって変化し得る。また、ネットワークを構成する機器への負荷を軽減するためには、配信元のサーバ等で一元的に実行するのではなく、ネットワーク上のトラフィック量や処理の内容に応じてこれらの処理をネットワーク内で分散して実行することが好ましい。
そこで、本実施形態のデータストリーミング方法では、処理ブロック101〜107による処理(特に、手ぶれ補正を除いた処理ブロック102〜107の処理)の各々を再構成可能なハードウェア計算機上で実行することとし、これらの再構成可能ハードウェア計算機をネットワーク内に分散配置する。
ここで再構成可能ハードウェア計算機について説明すると、再構成可能ハードウェア計算機とは、多種多様の計算ユニットとそれらの計算ユニット間を接続するスイッチ網とを備え、ハードウェア構成情報(例えば、どのような計算ユニットを用いてどのように配線するかの情報)を与えることにより、ハードウェア構成情報によって定義されるハードウェア処理ブロックとして機能するもののことである。例えば、再構成可能ハードウェア機器は、半導体集積回路であるFPGA(フィールド・プログラマブル・ゲート・アレイ(Field-Programmable Gate Array))によって構成され、HDL(ハードウェア記述言語:Hardware Description Language)で記述されるハードウェア構成情報をそのFPGAに書き込めるようにしたものである。FPGAの回路規模によっては、そのFPGAを複数の処理ブロックして機能させ、これら処理ブロックを並列または連携動作させることも可能である。これにより、再構成可能ハードウェア計算機は、例えば非特許文献2に記載されるように、HPC(高性能計算:High-Performance Computation)と呼ばれるような高速計算を実行することができ、また、適切なハードウェア構成によって必要な時だけ当該計算機器を実行することが可能となり、計算資源の効率的な利用が達成される。
図1に示したネットワークシステムにおいて、処理ブロック101〜107の各々を再構成可能ハードウェア計算機によって構成する場合には、そのような処理ブロックを実現するためのハードウェア構成情報をFPGAなどからなる再構成可能ハードウェア計算機に読み込ませることにより、受信者の要求に応じてそのような処理ブロックが再構成可能ハードウェア計算機上に生成されて、実行されることになる。
配信者から多種多様な多数の受信者(例えば、世界各地に分布している受信者)に対し、ネットワーク中でそれぞれの受信者に適合したデータ加工処理を行いながらストリームデータを配信することを考えると、受信者の分布とネットワークのトポロジーとに応じ、ネットワーク内に分散配置されている複数の再構成可能ハードウェア計算機の間で、効率的な処理の集約、処理ブロックの共有、処理ブロックの適切な配置を行うことが好ましい。処理の集約や処理ブロックの共有、配置を適切に行うことは、結局は、各再構成可能ハードウェア計算機に与えられるハードウェア構成情報をどのようなものにするか、という問題に帰着する。したがって本発明に基づくデータスケジューリング方法は、ネットワーク内に配置されている各再構成可能ハードウェア計算機に読み込ませるべきハードウェア構成情報をネットワーク上に最適配置することも含んでいる。
図2は、本発明の実施の一形態のデータストリーミングシステムを示している。このデータストリーミングシステムは、図1で説明したネットワークシステムを実現するものであって、特に、図1に示すシステムにおける各処理ブロック101〜107をネットワーク内に配置された再構成可能ハードウェア計算機202,203,205によって実現するようにしたものである。なお、図2に示した例は、映像ストリームデータをインターネットを介して配信するものであるが、本発明のデータストリーミングシステムは、映像ストリームデータの配信に限定されるものではなく、また、インターネットを利用するものに限定されるものではない。
映像ストリームデータを配信する配信者110のエンドユーザ端末201と、映像ストリームデータの配信を受ける受信者111,112のエンドユーザ端末204,206が設けられている。ここで配信者110及び受信者111は日本国内にいるものとし、受信者112は日本国外、特に、女性の顔や肌の露出が避けられるべきものであるとされている社会背景の下にいるものとする。
配信者110のエンドユーザ端末201は、アクセス網211を介してAS(自律システム:Autonomous System)214に接続し、受信者111,112のエンドユーザ端末204,206は、それぞれ、アクセス網212,213を介してAS215,216に接続している。AS214〜216を相互に接続するAS間ネットワークとして、インターネット210が用いられている。AS214〜216には、それぞれ、再構成可能ハードウェア計算機202,203,205が所属している。したがって、各ASに属している再構成可能ハードウェア計算機202,203,205は、いずれも、他のASやアクセス網211〜213を介して、エンドユーザ端末201,204,206と繋がっていることになる。
このように再構成可能ハードウェア計算機202,203,205がネットワーク内に配置されているとして、図1に示した処理ブロック101〜107の処理をそれぞれどの再構成可能ハードウェア計算機に割り当てればよいかを考える。
処理ブロック101,102での処理は、受信者111,112の両方に必要とされる処理であるため、共通の再構成可能ハードウェア計算機で処理させたものを両者に配分することで、計算機資源の削減が可能になる。したがって、処理ブロック101,102の処理をAS14に属する再構成可能ハードウェア計算機202で実行させることで、受信者111のために再構成可能ハードウェア計算機203を用い受信者112のために再構成可能ハードウェア計算機205を用いる場合に比べ、使用する計算機資源が少なくて済む。
これに対し、処理ブロック103,104の処理結果は受信者111のみが必要とし、処理ブロック105〜107の処理結果は受信者112のみが必要としているため、受信者111に近い方のAS215に属する再構成可能ハードウェア計算機203で処理ブロック103,104の処理を実行し、受信者112に近い方のAS216に属する再構成可能ハードウェア計算機205で処理ブロック105〜107の処理を実行することで、処理ブロックの出力結果の送信に要するネットワークトラフィク量を削減することができる。処理ブロック105〜107の処理を配信者110に近いAS214に属する再構成可能ハードウェア計算機202で実行した場合には、処理結果のデータも含めた増加したデータが、受信者112に到達するまでにインターネット上の経路を流れることになり、ネットワーク全体のトラフィックコストを増加させてしまう。処理ブロック103,104の場合も同様である。
上述した例において、処理ブロック101の処理をエンドユーザ端末201において実行するような利用形態、さらには、配信者110のカメラの内部で実行する形態も考えられる。また、必要に応じ、処理ブロック104,107の処理をそれぞれエンドユーザ端末204、206において実行するような利用形態も考えられる。
どの処理ブロックの処理をどの再構成可能ハードウェア計算機に実行させれば最適であるかについて説明する。一般論として、ある処理ブロックにおいて、その処理ブロックに入力されるデータが処理結果のデータによって差し替えられ、入力されるデータ量に比べて出力されるデータ量が減少する場合、その処理ブロックの処理ができるだけ配信者側に近い計算機で実行されることが、インターネットを流れるトラッフィク量総量の削減につながるし、受信者ごとの処理ブロックが物理的に共通化されることにより、必要とされる計算機資源の総量コストも削減することができる。
これに対し、ある処理ブロックにおいて、その処理ブロックに入力されるデータに処理結果のデータが追加されることによって、出力されるデータ量が入力されるデータ量より増加する場合、処理ブロックの処理ができるだけ受信者側に近い計算機で実行されることが、インターネットを流れるトラッフィク量総量の削減につながる。その一方で、多数の受信者が存在することを想定すると、各受信者に近い複数の再構成可能ハードウェア計算機の各々で、同じ処理ブロックの動作がそれぞれ実行されることになるため、必要とされる計算機資源の総量コストは増大してしまう。そのため、配信者と受信者の分布を考慮し、必要とされる処理ブロックの処理を適切に再構成可能ハードウェア計算機に配置することで、計算機資源コストとトラッフィクコストの総量を最小にする。
次に、各処理ブロックの処理を最適に各再構成可能ハードウェア計算機に配置するために、各ASに設けられる構成情報最適配置装置について、図3を用いて説明する。
構成情報最適配置装置301は、再構成可能ハードウェア計算機とその再構成可能ハードウェア計算機にハードウェア構成情報を設定するための処理部とを一体化したものであって、各ASごとに1つ、または複数設けられるものである。構成情報最適配置装置301は、FPGAなどの再構成可能ハードウェア計算機であって、与えられたハードウェア構成情報をもとに生成された実行可能な回路を実現し、その回路によってストリームデータに対してデータ加工処理を実行するストリーム処理実行ブロック302と、ストリーム処理実行ブロック302へのストリームデータの入力と出力を行い、そのデータ流量を計測するストリームデータ入出力部303と、ストリーム処理ブロック302の動作を監視ししてストリーム処理ブロック302の負荷度をモニターし、データ流量計測に基づいてストリームデータ入出力部303の負荷度をモニターする負荷モニター部304と、負荷モニター部304からの情報(すなわち負荷度情報)に基づき、ストリーム処理実行ブロック302に対するハードウェア構成情報を決定する制御部305と、から構成されている。本実施形態では、各処理ブロックの処理がそれぞれ最適な再構成可能ハードウェア計算機で実行されるように、各ASに設けられる構成情報最適配置装置301の負荷モニター部304は、同一または他のASに配備されている他の構成情報最適配置装置301との間で、負荷度情報(自構成情報最適配置装置でのストリーム処理実行ブロック302の負荷度とストリームデータ入出力部303の負荷度)を相互に交換する。ストリーム処理実行ブロック302の負荷度には、そのストリーム処理実行ブロック302において現在実行している処理ブロックについての情報も含まれる。また、ネットワークトポロジーに基づいてストリームデータ入出力部303の負荷度を加算すれば、処理ブロックの処理に関連してネットワーク内での各場所で発生するデータトラフィック量を求めることができる。
制御部305は、自装置の負荷度と他装置の負荷度とに基づいて、自装置のストリーム処理実行ブロック302に対するハードウェア構成情報を決定してストリーム処理実行簿ロック302に設定する。すなわち制御部305は、自装置においてその処理を実行することとなる処理ブロックを決定することとなる。また制御部305は、自装置でのハードウェア構成情報の決定に伴って、他装置で実行されるべき処理ブロックについての変更が生じる場合には、当該他装置の制御部305に対し、当該他装置で実行する処理ブロックを変更する指示を送信する。一方、制御部305は、他装置からそのような変更の指示を受け取ったときには、その指示に合わせ、自装置のハードウェア構成情報を変更してストリーム処理実行ブロック302に設定する。
図4は、制御部305におけるハードウェア構成情報の決定の処理を示している。
制御部305は、自装置が属するASに接続していエンドユーザ端末からのストリーム処理の生成要求を待ち受けている。ステップ401において、エンドユーザ端末からのストリーム処理の生成要求を受信すると、制御部305は、ステップ402において、エンドユーザ端末からの要求に応じて、必要となる処理ブロックの配置及び配線のコストCを算出する。このとき、制御部305は、(1)単純なストリーム分岐構成を採った場合、(2)他のASの装置で実行されている処理ブロックの処理を自ASの装置に複製して実行する構成を採った場合、及び(3)他のASの装置で実行されている処理ブロックの処理を別のASの装置に移動または縮約して実行する構成を採った場合、の3つの仮想構成について、それぞれコストCを算出する。コストの算出は、ネットワークトラッフィク量T、処理ブロックの処理を実行させたときの再構成可能ハードウェア計算機におけるリソース消費量R、ストリーム処理に要する時間遅延量D、の3つの量に関し、現在の状態に対し、その要求されたストリーム処理を新規に実行することとした場合に発生する増減分を算出することによって行われる。ネットワークトラフィック量Tの増減値を無名数に変換したもの、すなわち無名数で表したものをΔT、リソース消費量Rの増減値を無名数で表したものをΔR、時間遅延量Dの増減値を無名数で表したものをΔDとすれば、コストCは、例えば、
C=ΔT+ΔR+ΔD
と表すことができる。
次に制御部305は、ステップ403において、上記の仮想構成(1)〜(3)の各々の場合について算出されたコストCを比較し、コストCが最小となる仮想構成を採用して、当該仮想構成での処理ブロックの配置となるように自装置のストリーム処理実行ブロック302に対するハードウェア構成情報を決定してストリーム処理実行ブロック302に設定する。
以下、仮想構成(1)〜(3)の各々の詳細について説明する。
図5は、単純なストリーム分岐構成を採った場合(仮想構成(1))での配置配線例を示している。初期状態として、(a)に示すように、配信者110からAS501を介して受信者113にストリームデータが配信されており、AS501では、配信されるストリームデータに対し、処理ブロックaと処理ブロックbによるデータ加工処理が行われている。ここで、AS502に属する受信者114から同じストリームデータ処理の要求が発生したとすると、単純なストリーム分岐構成では、(b)に示すように、既存のストリームデータ処理の結果を分岐して、そのまま受信者114に配信する。AS502は、ストリームを転送するのみであって、それに属する処理ブロックが動作させられることはない。したがって、AS502内の構成情報最適配置装置301の制御部305は、(転送を除いて)何も実行しないというハードウェア構成情報を生成することになる。この場合、追加となるコストは、分岐されたストリームデータの転送によるネットワークトラッフィク量の増加と、そのデータ転送に要する遅延量である。
図6は、他のASの装置で実行されている処理ブロックを自ASの装置に複製して実行する構成を採った場合(仮想構成(2))での配置配線例を示している。(a)は初期状態を示しているが、これは図5の(a)に示すものと同じである。ここで、AS502に属する受信者114から同じストリームデータ処理の要求が発生したとする。ここでは(b)に示すように、既にAS501で実行されている処理ブロックの一部、図示した例で処理ブロックbの複製を、自ASであるAS502にも生成する。AS502内の構成情報最適配置装置301の制御部305は、処理ブロックbの処理を実行するというハードウェア構成情報を生成することになる。この場合、追加となるコストは、AS502において処理ブロックbを実行するために必要な再構成可能ハードウェア計算機のリソース量と、AS501の処理ブロックaとAS502の処理ブロックbの間のストリームデータ転送、及び、AS502の処理ブロックbと受信者の間のストリームデータ送信に要するネットワークトラッフィク量である。
図7は、他のASの装置で実行されている処理ブロックをそれとは別のASの装置に移動して実行する構成を採った場合(仮想構成(3))での配置配線例を示している。(a)は初期状態を示しているが、これは、図6の(b)に示すものと同じである。ここで、AS503に属する受信者115から同じストリームデータ処理の要求が発生したとする。ここでは(b)に示すように、既にAS501で実行されている処理ブロックbとAS502で実行されている処理ブロックとのいずれをも、これらのASとは異なる第3のASであるAS503に移動する。その結果、処理ブロックbが行うべき処理に関して、AS503の処理ブロックbが共通して使われることになり、再構成可能ハードウェア計算機の使用リソースが削減(縮約)される。この構成では、既に実行されているストリーム処理のデータフローにも影響がおよび、構成を変更する前後における、ストリームデータの転送に要するネットワークトラッフィク量の増減、及び、構成変更前に実行されていたストリームデータ処理の遅延量の増減が、コスト増減分として計算される。
また、図7に示した例では、処理ブロックbがAS503に集約されることとなるので、AS503の構成情報最適配置装置301の制御部305は、処理ブロックbの処理を実行させるハードウェア構成情報を生成して自装置のストリーム処理実行ブロック302に設定するとともに、AS501及びAS502の制御部305に対し、処理ブロックbの処理を行わないように変更の指示を送信する。この変更の指示を受けて、AS501及びAS502の制御部305は、処理ブロックbの処理の実行を削除したハードウェア構成情報を生成して、当該制御部の属する装置のストリーム処理実行ブロック302に設定する。
いずれかのASに属する受信者が、既にシステム上で実行されているデータ加工処理とは異なる処理を必要とするストリームデータ処理を要求する場合がある。例えば、ネットワーク内で処理ブロックaと処理ブロックbとが実行されている場合に、これらとは異なる処理ブロックxによる処理が要求されることがある。そのような場合、処理要求を受け付けたASの構成情報最適配置装置301の制御部305は、仮想構成(2)の場合と同様の手順で自装置において処理ブロックxの処理を実行したときのコストと、仮想構成(3)の場合と同様の手順で他装置において処理ブロックxの処理を実行したときのコストとを算出し、コスト比較に基づき、自装置において処理ブロックxの処理を実行するか、他装置において処理ブロックxの処理を実行するかを決定する。自装置で実行する決定した場合には、制御部305は、処理ブロックxの処理を実行するようなハードウェア構成情報を生成して設定し、他装置で実行する決定した場合には、当該他装置に対し処理ブロックxの処理を実行するように変更の指示を送信する。
サービス事業者がネットワーク上で分散配置された再構成可能ハードウェア計算機を運営しているとして、上記のデータストリーミング方法及びシステムによれば、そのサービス事業者は、ハードウェア構成情報を適切に再構成可能ハードウェア計算機に配置及び設定できるようになり、その結果、ストリーミングデータに対する処理の低遅延化とネットワーク上の計算機器コストの最小化とを実現することが可能になる。
101〜107 処理ブロック
110 配信者
111〜115 受信者
201,204,206 エンドユーザ端末
202,203,205 再構成可能ハードウェア計算機
210 インターネット(AS間ネットワーク)
211〜213 アクセス網
214〜216,501〜503 AS(自律システム)
301 構成情報最適配置装置
302 ストリーム処理実行ブロック
303 ストリームデータ入出力部
304 負荷モニター部
305 制御部

Claims (8)

  1. 受信者に応じてネットワーク内でストリームデータに対するデータ加工処理を行いつつ、配信者から前記受信者に対して前記ネットワークを介して前記ストリームデータを配信するデータストリーミングシステムであって、
    前記ネットワーク内に配置されて相互に接続する複数の自律システムを備え、
    各自律システムは、
    再構成可能ハードウェア計算機として構成されてデータ加工処理を実行するストリーム処理実行ブロックと、
    前記ストリーム処理実行ブロックに対してストリームデータの入出力を行うストリームデータ入出力部と、
    前記ストリーム処理実行ブロック及び前記ストリームデータ入出力部の負荷度をモニターし、前記ネットワーク内の他の自律システムと負荷度情報を交換する負荷度モニター部と、
    前記受信者からの処理要求を受けたときに、前記負荷度モニター部から情報に基づき、当該処理要求で要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるよう当該データ加工処理を実行すべき前記ストリーム処理実行ブロックの配置を選択し、前記選択されたストリーム処理実行ブロックが自システムのものであるときには当該データ加工処理を実行するようにハードウェア構成情報を作成して自システムのストリーム処理実行ブロックに設定する制御部と、
    を備えるデータストリーミングシステム。
  2. 前記制御部は、前記ストリーム処理実行ブロックに前記処理要求で要求されたデータ加工処理を行わせたとした場合における、ネットワークトラッフィク量の増減値、前記ストリーム処理実行ブロックによるリソース消費量の増減値、及び当該データ加工処理に要する時間遅延量の増減値の和として前記コストを算出する、請求項1に記載のデータストリーミングシステム。
  3. 前記制御部は、前記処理要求を受け付けたときに、(1)前記処理要求に対して当該自律システムに関し単純なストリーム分岐構成を採用したときの前記コスト、(2)前記処理要求に対し他の自律システムで実行されているデータ加工処理を自システムに複製して前記ストリーム処理実行ブロックで実行させるときの前記コスト、及び(3)他の自律システムで実行されているデータ加工処理を当該他の自律システムとは異なる自律システムに移動させて実行させるときの前記コストを計算し、最小となるコストに基づいて、前記データ加工処理を実行すべきストリーム処理実行ブロックの配置を決定する、請求項2に記載のデータストリーミングシステム。
  4. 受信者に応じてネットワーク内でストリームデータに対するデータ加工処理を行いつつ、配信者から前記受信者に対して前記ネットワークを介して前記ストリームデータを配信するデータストリーミング方法であって、
    前記ネットワーク内に、それぞれ再構成可能ハードウェア計算機を備える複数の自律システムを配置し、
    各自律システムが、当該自律システムに関わるデータトラフィック及び前記再構成可能ハードウェア計算機の負荷度を算出して前記負荷度に関する情報を他の前記自律システムとの間で交換し、
    前記受信者からの処理要求を受けた自律システムが、各自律システムの前記負荷度に基づき、当該処理要求で要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるよう当該データ加工処理を実行すべき前記再構成可能ハードウェア計算機の配置を選択し、前記選択された再構成可能ハードウェア計算機が自システムのものであるときには当該データ加工処理を実行するハードウェア構成情報を作成して当該選択された再構成可能ハードウェア計算機に設定する、
    データストリーミング方法。
  5. 前記コストは、前記再構成可能ハードウェア計算機に前記処理要求で要求されたデータ加工処理を行わせたとした場合における、ネットワークトラッフィク量の増減値、前記再構成可能ハードウェア計算機によるリソース消費量の増減値、及び当該データ加工処理に要する時間遅延量の増減値の和として算出される、請求項4に記載のデータストリーミング方法。
  6. 前記処理要求を受け付けた自律システムは、(1)前記処理要求に対して当該自律システムに関し単純なストリーム分岐構成を採用したときの前記コスト、(2)前記処理要求に対し他の自律システムで実行されているデータ加工処理を自システムに複製して前記再構成可能ハードウェア計算機で実行させるときの前記コスト、及び(3)他の自律システムで実行されているデータ加工処理を当該他の自律システムとは異なる自律システムに移動させて実行させるときの前記コストを計算し、最小となるコストに基づいて、前記データ加工処理を実行する自律システムを決定する、請求項5に記載のデータストリーミング方法。
  7. 受信者に応じてストリームデータに対するデータ加工処理を行いつつ配信者から前記受信者に対して前記ストリームデータを配信するネットワーク内に分散配置される自律システム内に設けられる構成情報最適配置装置であって、
    再構成可能ハードウェア計算機として構成されてデータ加工処理を実行するストリーム処理実行ブロックと、
    前記ストリーム処理実行ブロックに対してストリームデータの入出力を行うストリームデータ入出力部と、
    ストリーム処理実行ブロック及びストリームデータ入出力部の負荷度をモニターし、前記ネットワーク内の他の自律システムと負荷度情報を交換する負荷度モニター部と、
    前記受信者からの処理要求を受けたときに、前記負荷度モニター部から情報に基づき、当該処理要求で要求されたデータ加工処理を行った場合のコストを計算してコストが最小となるよう当該データ加工処理を実行すべき前記ストリーム処理実行ブロックの配置を選択し、前記選択されたストリーム処理実行ブロックが自システムのものであるときには当該データ加工処理を実行するようにハードウェア構成情報を作成して自システムのストリーム処理実行ブロックに設定する制御部と、
    を備える構成情報最適配置装置。
  8. 前記制御部は
    前記ストリーム処理実行ブロックに前記処理要求で要求されたデータ加工処理を行わせたとした場合における、ネットワークトラッフィク量の増減値、前記ストリーム処理実行ブロックによるリソース消費量の増減値、及び当該データ加工処理に要する時間遅延量の増減値の和として前記コストを算出し、
    前記処理要求を受け付けたときに、(1)前記処理要求に対して当該自律システムに関し単純なストリーム分岐構成を採用したときの前記コスト、(2)前記処理要求に対し他の自律システムで実行されているデータ加工処理を自システムに複製して前記ストリーム処理実行ブロックで実行させるときの前記コスト、及び(3)他の自律システムで実行されているデータ加工処理を当該他の自律システムとは異なる自律システムに移動させて実行させるときの前記コストを計算し、最小となるコストに基づいて、前記データ加工処理を実行すべきストリーム処理実行ブロックの配置を決定する、請求項7に記載の構成情報最適配置装置。
JP2013118719A 2013-06-05 2013-06-05 データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置 Pending JP2014236465A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013118719A JP2014236465A (ja) 2013-06-05 2013-06-05 データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013118719A JP2014236465A (ja) 2013-06-05 2013-06-05 データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置

Publications (1)

Publication Number Publication Date
JP2014236465A true JP2014236465A (ja) 2014-12-15

Family

ID=52138844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013118719A Pending JP2014236465A (ja) 2013-06-05 2013-06-05 データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置

Country Status (1)

Country Link
JP (1) JP2014236465A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018061825A1 (ja) * 2016-09-29 2018-04-05 日本電気株式会社 分散処理システム、分散処理方法、及び記録媒体
JP2019523618A (ja) * 2016-08-03 2019-08-22 デジェロ ラブス インコーポレイテッド データ・ストリーム変更を制御するシステムおよび方法
WO2021130967A1 (ja) 2019-12-26 2021-07-01 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531332A (ja) * 2003-07-04 2007-11-01 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ストリーミングメディアサービスを管理するための方法
JP2010273298A (ja) * 2009-05-25 2010-12-02 Broad Earth Inc コンテンツ配信システム、配信制御装置及び配信制御プログラム
JP2011061439A (ja) * 2009-09-09 2011-03-24 Toshiba Corp 監視システム、画像処理装置、インタフェース回路及び撮像装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531332A (ja) * 2003-07-04 2007-11-01 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ストリーミングメディアサービスを管理するための方法
JP2010273298A (ja) * 2009-05-25 2010-12-02 Broad Earth Inc コンテンツ配信システム、配信制御装置及び配信制御プログラム
JP2011061439A (ja) * 2009-09-09 2011-03-24 Toshiba Corp 監視システム、画像処理装置、インタフェース回路及び撮像装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016017837; 大塚ほか: 'ネットワークサービスのためのマルチFPGAシステム' 電子情報通信学会誌 第96巻 第2号, 20130201, p.80-84, 一般社団法人電子情報通信学会 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019523618A (ja) * 2016-08-03 2019-08-22 デジェロ ラブス インコーポレイテッド データ・ストリーム変更を制御するシステムおよび方法
US11375249B2 (en) 2016-08-03 2022-06-28 Dejero Labs Inc. System and method for controlling data stream modifications
JP7251791B2 (ja) 2016-08-03 2023-04-04 デジェロ ラブス インコーポレイテッド データ・ストリーム変更を制御するシステムおよび方法
US11792449B2 (en) 2016-08-03 2023-10-17 Dejero Labs Inc. System and method for controlling data stream modifications
WO2018061825A1 (ja) * 2016-09-29 2018-04-05 日本電気株式会社 分散処理システム、分散処理方法、及び記録媒体
US11294736B2 (en) 2016-09-29 2022-04-05 Nec Corporation Distributed processing system, distributed processing method, and recording medium
WO2021130967A1 (ja) 2019-12-26 2021-07-01 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US10938725B2 (en) Load balancing multimedia conferencing system, device, and methods
WO2021139625A1 (zh) 图像处理方法、图像分割模型训练方法及相关装置
KR101595763B1 (ko) 기계 학습을 이용하여 매체 컴포넌트들을 매핑하기 위한 방법
US9344751B1 (en) Coordination of fault-tolerant video stream processing in cloud-based video streaming system
US11249796B2 (en) Method and apparatus for enhanced assertion management in cloud media processing
US9686576B2 (en) Coordination of video stream timing in cloud-based video streaming system
JP2017507557A (ja) 高解像度の動画ストリームを自身の端末で視聴するユーザの体感品質を向上するためのプロセス
JP6517107B2 (ja) ネットワーク上でのピアツーピアデータ供給
CA2923942A1 (en) Data publication and distribution
JP7512518B2 (ja) データ処理方法、装置、電子機器及びコンピュータプログラム
US11223662B2 (en) Method, system, and non-transitory computer readable record medium for enhancing video quality of video call
EP4016396A1 (en) Ai processing method and device
JP2014236465A (ja) データストリーミング方法、データストリーミングシステム及び構成情報最適配置装置
US20240250924A1 (en) Enhancing a social media post with content that is relevant to the audience of the post
Wang et al. CoLive: Edge-Assisted Clustered Learning Framework for Viewport Prediction in 360$^\circ $ Live Streaming
JP6821398B2 (ja) 画像処理装置、画像処理方法及びプログラム
CN105706412B (zh) 自校正内容递送网络中的带宽策略管理
US10567837B2 (en) System for providing cloud-based user interfaces and method thereof
CN109361929A (zh) 一种确定直播间标签的方法以及相关设备
US9131275B2 (en) Managing video-on-demand in a hierarchical network
US10818264B2 (en) Generating virtual reality and augmented reality content for a live event
US11212562B1 (en) Targeted video streaming post-production effects
US10425460B2 (en) Marking objects of interest in a streaming video
Vargic et al. Advanced interactive multimedia delivery in 5G networks
WO2022153568A1 (ja) サーバ装置、および、ネットワーク制御方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20141027

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150701

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161115