JP2015154271A - Distribution circuit, distribution device, and distribution method - Google Patents
Distribution circuit, distribution device, and distribution method Download PDFInfo
- Publication number
- JP2015154271A JP2015154271A JP2014026685A JP2014026685A JP2015154271A JP 2015154271 A JP2015154271 A JP 2015154271A JP 2014026685 A JP2014026685 A JP 2014026685A JP 2014026685 A JP2014026685 A JP 2014026685A JP 2015154271 A JP2015154271 A JP 2015154271A
- Authority
- JP
- Japan
- Prior art keywords
- data
- content
- distribution
- buffer
- storage
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
本発明の実施形態は、配信回路、配信装置、及び配信方法に関する。 Embodiments described herein relate generally to a distribution circuit, a distribution device, and a distribution method.
映像素材や音声素材などのコンテンツを配信するコンテンツ配信サービスの需要が高まっている。中でも近年では、TCP/IP(Transmission Control Protocol/Internet Protocol)をベースとしたベストエフォート型のネットワーキング技術を基盤インフラとしたフィールドでの配信需要が伸びている。このフィールドにおいてコンテンツ配信サービスを提供するための実運用上、または実運用における現実的な装置の配置解の一つとして以下がある。すなわち、配信ネットワークのエッジ側に、エンドユーザの端末装置にコンテンツ配信を行う廉価的な配信装置を多数配置する。そして、配信ネットワークの中心側やバックエンド側にコンテンツの蓄積・確保を主目的として、配信装置に対してコンテンツデータを配信するコンテンツ蓄積装置を少数配置する。このような配置をとる場合、配信ネットワークのエッジ側においては圧倒的多数のコンテンツ配信要求を処理しつつ、バックエンド側から効率的にコンテンツをキャッシングすることが求められる。 The demand for content distribution services that distribute content such as video and audio materials is increasing. In particular, in recent years, there has been an increasing demand for distribution in the field based on the best-effort networking technology based on TCP / IP (Transmission Control Protocol / Internet Protocol). In this field, there is the following as one of practical device arrangement solutions in actual operation or actual operation for providing a content distribution service. That is, many inexpensive distribution apparatuses that distribute contents to end user terminal devices are arranged on the edge side of the distribution network. A small number of content storage devices that distribute content data to the distribution device are arranged mainly for the purpose of storing and securing content on the center side and back end side of the distribution network. In such an arrangement, it is required to efficiently cache content from the back end side while processing an overwhelming number of content distribution requests on the edge side of the distribution network.
本発明が解決しようとする課題は、バックエンド側から効率的に配信対象のコンテンツをキャッシングし、多数のコンテンツ配信要求を処理することができる配信回路、配信装置、及び配信方法を提供することである。 The problem to be solved by the present invention is to provide a distribution circuit, a distribution device, and a distribution method capable of efficiently caching content to be distributed from the back end side and processing a large number of content distribution requests. is there.
実施形態の配信回路は、受信時バッファ制御部と、データ配信部と、キャッシュ制御部と、ダイレクトキャッシュアクセス部とを持つ。受信時バッファ制御部は、配信対象のコンテンツのデータを受信し、バッファに書込む。データ配信部は、バッファからコンテンツのデータを読出し、エンドユーザの端末装置へ配信する。キャッシュ制御部は、バッファに記憶されている配信済みのコンテンツのデータを、コンテンツを蓄積するストレージに書込むよう指示し、ストレージに書込まれたコンテンツのデータをバッファから消去する。ダイレクトキャッシュアクセス部は、キャッシュ制御部から書込みが指示されたコンテンツのデータをバッファから読出してストレージに書込む。 The distribution circuit according to the embodiment includes a reception buffer control unit, a data distribution unit, a cache control unit, and a direct cache access unit. The reception buffer control unit receives the data of the content to be distributed and writes it into the buffer. The data distribution unit reads the content data from the buffer and distributes the data to the end user terminal device. The cache control unit instructs to write the distributed content data stored in the buffer to the storage for storing the content, and erases the content data written in the storage from the buffer. The direct cache access unit reads the content data instructed to be written from the cache control unit from the buffer and writes it to the storage.
以下、実施形態の配信回路、配信装置、及び配信方法を、図面を参照して説明する。
図1は、実施形態のコンテンツ配信システムの全体構成図である。同図に示す配信システムは、配信装置1、コンテンツ蓄積装置3、及び複数のエンドユーザの端末装置5を備えて構成される。同図においては、配信装置1を複数台示しているが、コンテンツ配信システムは、配信装置1を1台のみ備えてもよい。また、同図においては、コンテンツ蓄積装置3を1台のみ示しているが、コンテンツ配信システムは、複数台のコンテンツ蓄積装置3を備えてもよい。配信装置1と端末装置5は、IP(Internet Protocol)ネットワーク7を介して接続される。端末装置5は、有線または無線によりIPネットワーク7にアクセスする。端末装置5は、例えば、パーソナルコンピュータ(PC)、IPテレビジョン受信機(IPTV)、STB(セット・トップ・ボックス)、スマートフォン、タブレット端末などである。エンドユーザは、コンテンツの視聴者である。
Hereinafter, a distribution circuit, a distribution device, and a distribution method according to embodiments will be described with reference to the drawings.
FIG. 1 is an overall configuration diagram of a content distribution system according to an embodiment. The distribution system shown in the figure includes a
コンテンツ蓄積装置3は、コンテンツを蓄積するバックエンド側のオリジンサーバである。本実施形態のコンテンツ蓄積装置3は、SSD(Solid State Drive:ソリッドステートドライブ)をストレージに用いてコンテンツを蓄積する。配信装置1は、エッジ側のプロキシキャッシュサーバである。配信装置1は、エンドユーザへ配信するコンテンツデータをバッファリングする1以上の記憶装置(バッファ)と、コンテンツをキャッシュする1以上の記憶装置(ストレージ)とを備える。本実施形態の配信装置1は、配信するコンテンツデータをバッファリングする記憶装置として複数のSDRAM(Synchronous Dynamic Random Access Memory:シンクロナスランダムアクセスメモリ)を備える。さらに、配信装置1は、コンテンツをキャッシュする記憶装置として複数のSSDを備える。ストレージは、バッファよりもデータ記憶容量が大きい。一方、バッファは、ストレージよりもデータ転送速度が速い。
The
配信装置1は、エンドユーザから配信が要求されたコンテンツをキャッシュしていない場合、その要求されたコンテンツをコンテンツ蓄積装置3から取得し、エンドユーザの端末装置5へ配信する。一方、配信装置1は、要求されたコンテンツをキャッシュしている場合、キャッシュしているコンテンツをエンドユーザの端末装置5へ配信する。なお、複数の配信装置1それぞれがキャッシュしているコンテンツは異なっていてもよい。これは、端末装置5から配信装置1にアクセスするエンドユーザによって、各配信装置1においてキャッシュすることが効率的なコンテンツが異なり得るためである。
When the content requested for distribution by the end user is not cached, the
配信装置一台当たりの投資コスト(メリット)はコンテンツの同時配信可能数に大きく依存する。また、コンテンツを蓄積するためのストレージデバイス自体や、それらストレージデバイスの集合体に対するコストパフォーマンスが求められている。コストパフォーマンスの代表的な要素として、「容量」と「アクセス速度(read/write性能)」が挙げられる。一般的かつ代表的なストレージデバイスには、HDD(Hard disk drive)とSSDがある。SSDは、HDDと比較して「アクセス速度(read/write性能)」の性能が高いものの高価である。そこで、図1に示すようにコンテンツ配信システムを構成することで、一台当たりの配信装置1におけるSSDの容量を抑えるとともに、同時配信可能数を抑えることができる。従って、コンテンツ配信システム全体として、コストを抑えながらも、配信ネットワークのエッジ側においては多数のコンテンツ配信要求を処理することが可能となる。
The investment cost (merit) per distribution device greatly depends on the number of contents that can be distributed simultaneously. Further, there is a demand for cost performance with respect to the storage device itself for storing contents and a collection of these storage devices. Typical factors of cost performance include “capacity” and “access speed (read / write performance)”. Common and typical storage devices include HDD (Hard disk drive) and SSD. The SSD is expensive although it has a higher “access speed (read / write performance)” performance than the HDD. Therefore, by configuring the content distribution system as shown in FIG. 1, it is possible to reduce the capacity of SSDs in the
図2は、コンテンツ配信システムにおけるコンテンツのキャッシングの流れを示すシーケンス図である。同図では、2台の端末装置5をそれぞれ、端末装置5−1、端末装置5−2と記載している。
エンドユーザの端末装置5−1は、コンテンツの配信要求であるGET要求を、IPネットワーク7を介して配信装置1に送信する(ステップS1)。配信装置1は、GET要求により配信が要求されたコンテンツをキャッシュしていない場合(ステップS2)、キャッシュを実施するために、配信が要求されたコンテンツのGET要求をコンテンツ蓄積装置3へ送信する(ステップS3)。コンテンツ蓄積装置3は、GET要求への応答として、配信が要求されたコンテンツを配信装置1へ配信する(ステップS4)。配信装置1は、コンテンツ蓄積装置3から受信したコンテンツをキャッシュする(ステップS5)。配信装置1は、GET要求への応答として、キャッシュしたコンテンツを端末装置5−1へ配信する(ステップS6)。
FIG. 2 is a sequence diagram showing the flow of content caching in the content distribution system. In the figure, the two
The end user terminal device 5-1 transmits a GET request, which is a content distribution request, to the
エンドユーザの端末装置5−2は、コンテンツの配信要求であるGET要求を、IPネットワーク7を介して配信装置1に送信する(ステップS7)。配信装置1は、GET要求により配信が要求されたコンテンツをキャッシュしていると判断する(ステップS8)。配信装置1は、バックエンド側にコンテンツを要求することなく、キャッシュしているコンテンツを端末装置5−2に配信する(ステップS9)。
The end user terminal device 5-2 transmits a GET request, which is a content distribution request, to the
図2に示すコンテンツデータのキャッシングの流れは、配信ネットワークのエッジ側に配信装置を配置し、配信ネットワークの中心側やバックエンド側にコンテンツ蓄積装置を配置した構成の従来のコンテンツ配信システムにおいても同様である。ここで、本実施形態の配信装置の技術的な特徴を明確にするために、従来のコンテンツ配信システムに用いられる配信装置について説明する。 The flow of content data caching shown in FIG. 2 is the same in the conventional content distribution system in which the distribution device is arranged on the edge side of the distribution network and the content storage device is arranged on the center side or back end side of the distribution network. It is. Here, in order to clarify the technical features of the distribution apparatus of the present embodiment, a distribution apparatus used in a conventional content distribution system will be described.
図12は、従来の配信装置9の構成とキャッシュ処理フローを示す図である。同図に示す配信装置9は、RX(受信機)11と、配信部90と、SDRAM13と、SSD14と、CPU(Central Processing Unit)15と、TX(送信機)16とを備えて構成される。
RX11は、例えば、100Gビットのイーサネット(登録商標)により、コンテンツ蓄積装置3からデータを受信する。TX16は、例えば、100Gビットのイーサネット(登録商標)により、エンドユーザの端末装置5にデータを送信する。SDRAM13は、端末装置5へ配信するコンテンツデータをバッファリングするバッファである。SSD14は、コンテンツをキャッシュするストレージである。SSD14は、セクタ単位でデータを記憶する。CPU15は、アプリケーションとオペレーティング・システム(OS)を実行する。OSは、各コンテンツのエクステント情報を取得する。エクステント情報は、コンテンツのファイルを構成するコンテンツデータのエクステントがストレージ(SSD14)のどの記憶領域に書込まれたかを示す情報である。OSは、取得したエクステント情報に基づいて、コンテンツデータをストレージから読出してSDRAM13へ転送するよう配信部90に指示する。
FIG. 12 is a diagram showing a configuration of a
The
配信部90は、例えばFPGA(field-programmable gate array)により実現される配信回路である。配信部90は、CPU15を介することなく、ストレージから読み出したコンテンツデータをネットワーク処理してエンドユーザの端末装置5へ配信する。配信部90は、受信MAC(Medium Access Control)処理部20と、TOE(TCP/IP Offload Engine)91と、受信時バッファ制御部92と、SDRAM制御部23と、SATA(Serial Advanced Technology Attachment)25と、DSA(Direct Storage Access)26と、送信時バッファ制御部27と、送信MAC処理部28と、PCIe(Peripheral Component Interconnect Express)29とを備えて構成される。
The
受信MAC処理部20は、RX11が受信したデータ信号に対してMAC処理を行い、TOE91に出力する。TOE91は、送受信信号のTCP/IPの処理を実行するともに、配信部90内の機能部間のデータ転送をおこなう。受信時バッファ制御部92は、コンテンツ蓄積装置3から受信したデータに対する処理を行う。SDRAM制御部23は、SDRAM13に対するデータの読出しや書込みを制御する。SATA25は、SSD14に対するデータの読出しや書込みを制御する。DSA26は、SATA25がSSD14から読出したコンテンツデータをSDRAM13へ転送する。送信時バッファ制御部27は、SDRAM13にバッファリングされているコンテンツデータの配信を制御する。送信MAC処理部28は、TOE91から出力されたデータ送信信号に対してMAC処理を行い、TX16に出力する。PCIe29は、配信部90内の各部とCPU15との間のシリアルインタフェースである。
The reception
配信装置9における処理フローを説明する。配信装置9は、エンドユーザの端末装置5に配信するコンテンツをキャッシュしていないため、コンテンツ蓄積装置3へコンテンツを要求する(図2のステップS2、S3に相当)。コンテンツ蓄積装置3は、要求されたコンテンツのコンテンツデータD1、D2、…を配信装置9へ配信する(図2のステップS4に相当)。
A processing flow in the
配信装置9は、コンテンツ蓄積装置3からコンテンツデータD1、D2、…が設定されたパケットをRX11により受信する。受信MAC処理部20は、受信したパケットにMAC処理を行ってTOE91に出力する。TOE91は、MAC処理が行われたパケットのTCP/IPフレームからコンテンツデータD1、D2、…を読出し、受信時バッファ制御部92に出力する。受信時バッファ制御部92は、受信したコンテンツデータD1、D2、…を、PCIe29を介してCPU15に出力する(ステップS91)。CPU15が実行するOSは、配信装置9が備えるシステムメモリ(図示せず)にコンテンツデータを記憶する。CPU15が実行するOSは、システムメモリに記憶したコンテンツデータD1、D2、…を、配信部90に出力し、ストレージへの書込みを指示する。SATA25は、コンテンツデータD1、D2、…をSSD14に書込む(ステップS92)。CPU15が実行するOSは、SATA25がコンテンツデータを書込んだ各エクステントの物理アドレスと論理アドレスをと対応付けるエクステント情報を取得する。なお、1つのエクステントに含まれるデータは、パケットで受信したコンテンツデータの単位とは一致しなくてもよい。
The
DSA26は、SATA25にコンテンツデータの読出しを指示する。SATA25は、コンテンツデータが記憶されているSSD14のセクタからデータを読出してDSA26に出力する。DSA26は、SATA25がセクタ単位で読出したデータからコンテンツデータD1、D2、…を抽出してSDRAM制御部23へ出力し、書込みを指示する。SDRAM制御部23は、DSA26から出力されたコンテンツデータD1、D2、…をSDRAM13に書込む(ステップS93)。TOE91は、送信時バッファ制御部27からの指示を受け、配信するコンテンツデータD1、D2、…の読出しをSDRAM制御部23に指示する。TOE91は、SDRAM制御部23が読出したコンテンツデータD1、D2、…をTCP/IPのフレームに設定し、送信MAC処理部28に出力する。送信MAC処理部28は、コンテンツデータD1、D2、…が設定されたTCP/IPのフレームにMAC処理を行い、TX16からエンドユーザの端末装置5へ配信する(ステップS94)。
The
同図で示した通り、配信装置9におけるコンテンツデータの受信から配信までの処理パスとしてステップS91〜ステップS94の大きく4ステップが必要である。つまり、配信装置9は、一旦CPU15およびシステムメモリへコンテンツ蓄積装置3から受信したコンテンツデータを展開する。その後、配信装置9は、キャッシングのため、CPU15およびシステムメモリからストレージへコンテンツデータを格納する。配信装置9は、ストレージからコンテンツデータを読出し、バッファに格納する。配信装置9は、バッファからコンテンツを読み出し、エンドユーザの端末装置5へ配信する。
As shown in the figure, a processing path from the reception of content data to distribution in the
図3は、本実施形態によるコンテンツ配信システムにおけるVOD(Video On Demand)ストリーミング配信とキャッシングの概要図である。コンテンツ蓄積装置3は、ストレージにSSDを使用してコンテンツを記憶している。また、配信装置1は、配信装置9と同様に、配信するコンテンツデータをバッファリングするSDRAM13と、コンテンツをキャッシュするSSD14を備える。配信装置1がVODストリーミング配信するコンテンツをキャッシングしていない場合、コンテンツ蓄積装置3は、そのコンテンツのコンテンツデータをストレージから読出し、各配信装置1に配信する。配信装置1は、コンテンツ蓄積装置3から配信されたコンテンツデータを受信する(図2のステップS4に相当)。
FIG. 3 is a schematic diagram of VOD (Video On Demand) streaming distribution and caching in the content distribution system according to the present embodiment. The
配信装置1は、図3に示すように、コンテンツ蓄積装置3から配信されたコンテンツデータのキャッシュを、SDRAMによる一次キャッシュと、ストレージ(SSD)による二次キャッシュとにより行う。配信装置1は、このキャッシュにより、TOE及びDSAの効果及び性能を保ちつつ、キャッシュを効率的に実施し、コンテンツデータを端末装置5へ配信する。
As shown in FIG. 3, the
図4から図6は、配信装置1におけるキャッシング処理の概要を示す図である。コンテンツ蓄積装置3は、VODストリーミングが終了するまで、コンテンツを構成するコンテンツデータD1、D2、…を配信装置1に送信する。図4において、配信装置1は、コンテンツ蓄積装置3から受信したコンテンツデータD1、D2、…を、SDRAM13にキャッシュデータとして蓄積し始める。これが、SDRAMによる一次キャッシュである。
4 to 6 are diagrams showing an outline of the caching process in the
図5において、配信装置1は、SDRAM13にある程度コンテンツデータを蓄積すると、SDRAM13からコンテンツデータD1、D2、…を順次読出してエンドユーザの端末装置5へ配信し始める。このように配信装置1は、全てのコンテンツデータをキャッシュし終えるまで待つことなく、エンドユーザ側へ速やかに配信を行うことができる。
5, when the content data is accumulated to some extent in the
図6において、配信装置1は、エンドユーザの端末装置5へ配信を終えたコンテンツデータD1、D2、…を、SDRAM13からSSD14へ転送して蓄積し、保存し始める。なお、配信装置1は、SDRAM13による一次キャッシュのみでコンテンツデータを破棄し、二次キャッシュによるコンテンツデータの蓄積及び保存を行わないようにしてもよい。
In FIG. 6, the
図7は、本実施形態の配信装置1の構成を示すブロック図である。同図において、図12に示す従来の配信装置9と同一の部分には同一の符号を付し、その説明を省略する。同図に示す配信装置1は、RX11と、配信部12と、SDRAM13と、SSD14と、CPU15と、TX16とを備えて構成される。同図に示す配信装置1が、図12に示す従来の配信装置9と異なる点は、配信部90に代えて配信部12を備える点である。
FIG. 7 is a block diagram illustrating a configuration of the
配信部12は、例えばFPGAにより実現される配信回路である。配信部12は、CPU15を介することなく、ストレージから読み出したコンテンツデータをネットワーク処理してエンドユーザの端末装置5へ配信する。配信部12は、受信MAC処理部20と、TOE21と、受信時バッファ制御部22と、SDRAM制御部23と、DCA(Direct Cache Access:ダイレクトキャッシュアクセス)24と、SATA25と、DSA26と、送信時バッファ制御部27と、送信MAC処理部28と、PCIe29とを備えて構成される。同図に示す配信部12が、図12に示す従来の配信装置9の配信部90と異なる点は、TOE91、及び受信時バッファ制御部92に代えてTOE21、及び受信時バッファ制御部22を備える点、ならびに、DCA24をさらに備える点である。
The
TOE21は、送受信信号のTCP/IPの処理を実行する。TOE21は、コンテンツデータの一次キャッシュや二次キャッシュを制御するキャッシュ制御部210を備える。受信時バッファ制御部22は、コンテンツ蓄積装置3から受信したコンテンツデータをSDRAM13に格納するよう指示する。DCA24は、CPU15を介することなく、SDRAM制御部23がSDRAM13から読出したコンテンツデータをSATA25に転送し、SATA25により直接SSD14に書込ませる。DCA24は、SSD14に書込まれたコンテンツデータのエクステント情報を生成し、CPU15へ出力する。
The TOE 21 executes TCP / IP processing of transmission / reception signals. The TOE 21 includes a
図8から図11は、配信装置1の処理フローを示す図である。配信装置1は、エンドユーザの端末装置5に配信するコンテンツデータをキャッシュしていないため、コンテンツ蓄積装置3へコンテンツを要求する(図2のステップS2、S3に相当)。コンテンツ蓄積装置3は、要求されたコンテンツのコンテンツデータD1、D2、…を配信装置1へ配信する(図2のステップS4に相当)。
8 to 11 are diagrams illustrating a processing flow of the
図8において、配信装置1は、コンテンツ蓄積装置3から送信されたコンテンツデータD1、D2、…のパケットをRX11により受信する。受信MAC処理部20は、受信したパケットにMAC処理を行ってTOE21に出力する。TOE21は、MAC処理が行われたパケットのTCP/IPフレームからコンテンツデータを読出し、受信時バッファ制御部22に出力する。受信時バッファ制御部22は、受信したコンテンツデータD1、D2、…を、TOE21のキャッシュ制御部210を介してSDRAM制御部23に出力し、書込みを指示する。SDRAM制御部23は、コンテンツデータD1、D2、…をSDRAM13に書込む。
8, the
図9において、TOE21のキャッシュ制御部210は、SDRAM制御部23にコンテンツデータD1、D2、…の読出しを指示する。SDRAM制御部23は、読出しが指示されたコンテンツデータD1、D2、…をSDRAM13から読出し、TOE21に出力する。TOE21は、SDRAM制御部23により読出されたコンテンツデータD1、D2、…をTCP/IPのフレームに設定し、送信MAC処理部28に出力する。送信MAC処理部28は、コンテンツデータD1、D2、…が設定されたTCP/IPのフレームにMAC処理を行い、TX16からエンドユーザの端末装置5へ配信する(ステップS22)。
9, the
図10において、TOE21のキャッシュ制御部210は、配信済みのコンテンツデータD1、D2、…をストレージに転送するようSDRAM制御部23に指示する。SDRAM制御部23は、転送が指示されたコンテンツデータD1、D2、…をSDRAM13から読出し、DCA24に出力する。DCA24は、SATA25にコンテンツデータD1、D2、…を出力し、SSD14への書込みを指示する。SATA25は、DCA24から受信したコンテンツデータD1、D2、…をSSD14に書込む(ステップS23)。
10, the
図11において、TOE21のキャッシュ制御部210は、SSD14に書込んだコンテンツデータの破棄をSDRAM制御部23に指示する。SDRAM制御部23は、SDRAM13から破棄が指示されたコンテンツデータを、SDRAM13から消去する(ステップS24)。
In FIG. 11, the
なお、DCA24は、ステップS23において、SATA25がコンテンツデータを書込んだ各エクステントの物理アドレスと論理アドレスをと対応付けるエクステント情報を生成し、CPU15が実行するOSに出力する。エクステント情報をOSに出力することで、CPU15は、エンドユーザの端末装置5からコンテンツデータの配信要求を受信したときに、そのコンテンツデータがSSD14にキャッシングされているか否かを判断することができる。コンテンツデータがキャッシングされている場合、CPU15が実行するOSは、エクステント情報に基づいてコンテンツデータの読出し指示を配信部12に出力する。配信部12が、コンテンツデータが記憶されているSSD14のセクタからデータを読出した以降の処理は、上述した従来技術の配信装置9の処理と同様である。
In step S23, the
すなわち、配信部12のDSA26は、SATA25にコンテンツデータの読出しを指示する。SATA25は、コンテンツデータが記憶されているSSD14のセクタからデータを読出してDSA26に出力する。DSA26は、SATA25がセクタ単位で読出したデータから配信対象のコンテンツデータを抽出してSDRAM制御部23へ出力し、書込みを指示する。SDRAM制御部23は、DSA26から出力されたコンテンツデータをSDRAM13に書込む。TOE11は、送信時バッファ制御部27からの指示を受け、配信するコンテンツデータの読出しをSDRAM制御部23に指示する。TOE11は、SDRAM制御部23が読出したコンテンツデータをTCP/IPのフレームに設定し、送信MAC処理部28に出力する。送信MAC処理部28は、コンテンツデータが設定されたTCP/IPのフレームにMAC処理を行い、TX16からエンドユーザの端末装置5へ配信する。
That is, the
配信装置1が受信時バッファ制御部22、キャッシュ制御部210、及びDCA24を備えることにより、コンテンツデータの受信から配信までの処理パスがステップS21からステップS23の大きく3ステップとなる。よって、従来の順序のキャッシュ処理フローと比較して1ステップ分が削減される。さらに、PCIe29のバスを経由してCPU15やシステムメモリへ受信したコンテンツデータを展開する必要がなくなるため、処理負荷も低減される。
Since the
なお、配信装置1は、DCA24によるストレージ(SSD14)へのコンテンツデータの二次キャッシュ(蓄積・保存)を行わず、SDRAM13に一次キャッシュしたコンテンツデータをエンドユーザへ配信した後、破棄してもよい。この場合、キャッシュ制御部210が、コンテンツデータの二次キャッシュを行うか否かを判断する。
The
コンテンツ蓄積装置3から配信装置1へのコンテンツデータの配信には、HTTPを用いることができる。キャッシュ制御部210は、コンテンツ蓄積装置3から受信したコンテンツデータのパケットに設定されているHTTPのヘッダ部に基づいて、二次キャッシュを行うか否かを判断する。なお、端末装置5へのコンテンツデータの配信にHTTPを用いる場合、キャッシュ制御部210は、端末装置5から受信した信号に設定されているHTTPのヘッダ部に基づいて、二次キャッシュを行うか否かを判断してもよい。HTTPのヘッダには、「Expired:YYYY」、「Content−Length:XXXXX」、「Cache:ZZZZ」の情報が含まれる。「Expired」は、コンテンツの有効期限を示す。「Content−Length」は、コンテンツデータ全体の長さ(容量)を示す。「Cache」は、キャッシュに関する情報を示す。
HTTP can be used for distributing content data from the
キャッシュ制御部210は、「Expired」の値「YYYY」が、所定の時間よりも短い場合、一次キャッシュしたコンテンツデータをエンドユーザへ配信した後、SSD14への二次キャッシュを行わずに破棄する。これは、ストレージに二次キャッシュとしてコンテンツを格納しておける期間が合理的ではないためである。
When the value “YYYY” of “Expired” is shorter than the predetermined time, the
また、キャッシュ制御部210は、「Content−Length」の値「XXXXX」が、データ量が小さいと判断する基準の所定バイト数よりも小さい場合、SSD14への二次キャッシュを行わずにコンテンツデータを破棄する。これは、ストレージに二次キャッシュとしてコンテンツを格納しておくと、細切れのデータが多く、フラグメントが多発して合理的ではないためである。加えて、データ量がある程度大きい場合はコンテンツ蓄積装置3からのコンテンツデータの読出しにかかる負荷が大きいが、データ量が小さい場合は読出しにかかる負荷が小さいためでもある。あるいは、キャッシュ制御部210は、「Content−Length」の値「XXXXX」が、データ量が大きいと判断する基準の所定バイト数よりも大きい場合、SSD14への二次キャッシュを行わずにコンテンツデータを破棄してもよい。これは、ストレージの記憶容量を圧迫するためである。
In addition, when the value “XXXX” of “Content-Length” is smaller than the reference predetermined number of bytes for determining that the data amount is small, the
また、キャッシュ制御部210は、「Cache」の値「ZZZZ」が「no−cache」の様に、キャッシュし続ける事を許可しない旨を示している場合、SSD14への二次キャッシュを行わずにコンテンツデータを破棄する。これは、コンテンツ提供側の要求により、ストレージにコンテンツデータを格納し、蓄積しておくことが禁止されているためである。
Further, the
上記においては、コンテンツが映像コンテンツである場合を例に説明したが、静止画、音声、文書、プログラムなど任意の種類のコンテンツとすることができる。
また、上記においては、配信部12は、TOE21の内部にキャッシュ制御部210を備える構成であるが、TOE21の外部にキャッシュ制御部210を備える構成としてもよい。
また、上記実施形態の配信部12の一部または全ての機能部を、ソフトウェア機能部により実現してもよい。配信部12の一部または全ての機能部をソフトウェア機能部により実現する場合、その機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
In the above description, the case where the content is video content has been described as an example.
In the above description, the
Moreover, you may implement | achieve a part or all the function part of the
以上説明した少なくともひとつの実施形態によれば、受信時バッファ制御部22、キャッシュ制御部210、及びDCA24を持つことにより、TOE及びDSAの効果及び性能を保ちつつ、バックエンド側から効率的に配信対象のデータをキャッシングし、エンドユーザからの多数のデータ配信要求を処理することができる。
また、以上説明した少なくともひとつの実施形態によれば、キャッシュ制御部210を持つことにより、キャッシュすることが効率的なコンテンツのみをストレージにキャッシュすることができる。
また、以上説明した少なくともひとつの実施形態によれば、DCA24を持つことにより、CPU15を介さずにキャッシュしたコンテンツを、ストレージから読出してエンドユーザの端末装置5へ配信することができる。
According to at least one embodiment described above, by having the reception
Further, according to at least one embodiment described above, by having the
Further, according to at least one embodiment described above, by having the
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.
1…配信装置、3…コンテンツ蓄積装置、5…端末装置、7…IPネットワーク、11…RX、12…配信部(配信回路)、13…SDRAM(バッファ)、14…SSD(ストレージ)、15…CPU、16…TX、20…受信MAC処理部、21…TOE(データ配信部)、22…受信時バッファ制御部、23…SDRAM制御部、24…DCA(ダイレクトキャッシュアクセス部)、25…SATA、26…DSA(ダイレクトストレージアクセス部)、27…送信時バッファ制御部、28…送信MAC処理部(データ配信部)、29…PCIe、210…キャッシュ制御部
DESCRIPTION OF
Claims (6)
前記バッファから前記コンテンツのデータを読出し、エンドユーザの端末装置へ配信するデータ配信部と、
前記バッファに記憶されている配信済みの前記コンテンツのデータを、コンテンツを蓄積するストレージに書込むよう指示し、前記ストレージに書込まれた前記コンテンツのデータを前記バッファから消去するキャッシュ制御部と、
前記キャッシュ制御部から書込みが指示された前記コンテンツのデータを前記バッファから読出して前記ストレージに書込むダイレクトキャッシュアクセス部と、
を備える配信回路。 A reception buffer control unit that receives data of content to be distributed and writes it to the buffer;
A data distribution unit that reads the data of the content from the buffer and distributes the data to an end user terminal device;
A cache control unit for instructing to write the data of the distributed content stored in the buffer to a storage for storing the content, and erasing the data of the content written in the storage from the buffer;
A direct cache access unit that reads the data of the content instructed to be written from the cache control unit from the buffer and writes the data to the storage;
A distribution circuit comprising:
前記ダイレクトキャッシュアクセス部により生成された前記情報に基づいて配信対象のコンテンツのデータが前記ストレージに記憶されていると判断されたとき、前記ストレージから配信対象の前記コンテンツのデータを読出して前記バッファに書込むダイレクトストレージアクセス部をさらに備える請求項1または請求項2に記載の配信回路。 The direct cache access unit generates information for managing a data writing area of the content written in the storage,
When it is determined that the content data to be distributed is stored in the storage based on the information generated by the direct cache access unit, the content data to be distributed is read from the storage and stored in the buffer. The distribution circuit according to claim 1, further comprising a direct storage access unit for writing.
配信対象のコンテンツのデータを記憶するバッファと、
請求項1から請求項3のいずれか1項に記載の配信回路と、
を備える配信装置。 Storage to store content,
A buffer for storing data of contents to be distributed;
The distribution circuit according to any one of claims 1 to 3,
A distribution device comprising:
前記ストレージは、前記バッファよりもデータ記憶容量が大きい請求項4に記載の配信装置。 The buffer has a higher data transfer rate than the storage,
The distribution device according to claim 4, wherein the storage has a data storage capacity larger than that of the buffer.
受信時バッファ制御部が、配信対象のコンテンツのデータを受信し、バッファに書込む一次キャッシュ過程と、
データ配信部が、前記バッファから前記コンテンツのデータを読出し、エンドユーザの端末装置へ配信するデータ配信過程と、
キャッシュ制御部が、前記バッファに記憶されている配信済みの前記コンテンツのデータを、コンテンツを蓄積するストレージに書込むよう指示するキャッシュ制御過程と、
ダイレクトキャッシュアクセス部が、前記キャッシュ制御過程において書込みが指示された前記コンテンツのデータを前記バッファから読出して前記ストレージに書込む二次キャッシュ過程と、
前記キャッシュ制御部が、前記二次キャッシュ過程において前記ストレージに書込まれた前記コンテンツのデータを前記バッファから消去する一次キャッシュ消去過程と、
を有する配信方法。 A distribution method executed by a distribution circuit,
When receiving, the buffer control unit receives the data of the content to be distributed and writes it into the buffer,
A data distribution process in which a data distribution unit reads the data of the content from the buffer and distributes the data to an end user terminal device;
A cache control process in which a cache control unit instructs to write the data of the distributed content stored in the buffer to a storage for storing the content;
A secondary cache process in which the direct cache access unit reads the data of the content instructed to be written in the cache control process from the buffer and writes the data to the storage;
A primary cache erase process in which the cache controller erases the data of the content written in the storage from the buffer in the secondary cache process;
Having a delivery method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014026685A JP2015154271A (en) | 2014-02-14 | 2014-02-14 | Distribution circuit, distribution device, and distribution method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014026685A JP2015154271A (en) | 2014-02-14 | 2014-02-14 | Distribution circuit, distribution device, and distribution method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2015154271A true JP2015154271A (en) | 2015-08-24 |
Family
ID=53896121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014026685A Pending JP2015154271A (en) | 2014-02-14 | 2014-02-14 | Distribution circuit, distribution device, and distribution method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2015154271A (en) |
-
2014
- 2014-02-14 JP JP2014026685A patent/JP2015154271A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103457993B (en) | Local caching device and method for providing content caching service | |
| US8717890B2 (en) | Application, usage and radio link aware transport network scheduler | |
| US9781224B2 (en) | Content transmitting system, method for optimizing network traffic in the system, central control device and local caching device | |
| CN110022482B (en) | Video broadcasting method, video service system and storage medium | |
| CN108063769A (en) | A kind of implementation method of content service, device and content delivery network node | |
| CN103455439B (en) | Local cache device and for providing the system and method for content caching service | |
| US10404828B2 (en) | Streaming apparatus, streaming method, and streaming service system using the streaming apparatus | |
| US12052302B2 (en) | Data distribution method and network device | |
| CN110445723A (en) | A kind of network data dispatching method and fringe node | |
| WO2017125017A1 (en) | Method for adjusting cache content, device, and system | |
| CN102291629B (en) | A P2P proxy on-demand system and implementation method applied to IPTV | |
| US8812622B2 (en) | Application optimization in a network system | |
| CN104641655A (en) | Terminal cache method, terminal and server | |
| US11082474B2 (en) | Data buffering method and apparatus in adaptive streaming service | |
| JP2014002634A (en) | Communication control system, aggregation server and communication control method | |
| US9294821B2 (en) | Scrubbing noise remover and methods for use therewith | |
| KR20220158275A (en) | A method for playing content streamed over a network in a player on a client device | |
| JP5729659B2 (en) | Media streaming method and media controller | |
| JP2015170323A (en) | Distribution device and distribution method | |
| CN105900433B (en) | Method and corresponding cache for providing content parts of multimedia content to client terminals | |
| JP2015154271A (en) | Distribution circuit, distribution device, and distribution method | |
| KR102519390B1 (en) | Method for distributing a content and apparatus thereof | |
| CN104469539A (en) | A cooperation buffering method, streaming media managing subsystem and server | |
| KR101971595B1 (en) | Method for providing content caching service in adapted streaming service and local caching device thereof | |
| JP2017175334A (en) | CONTENT DISTRIBUTION CONTROL DEVICE, CONTENT DISTRIBUTION CONTROL METHOD, AND PROGRAM |