JP2004072686A - Content distribution server, content distribution method and program - Google Patents

Content distribution server, content distribution method and program Download PDF

Info

Publication number
JP2004072686A
JP2004072686A JP2002233234A JP2002233234A JP2004072686A JP 2004072686 A JP2004072686 A JP 2004072686A JP 2002233234 A JP2002233234 A JP 2002233234A JP 2002233234 A JP2002233234 A JP 2002233234A JP 2004072686 A JP2004072686 A JP 2004072686A
Authority
JP
Japan
Prior art keywords
content
buffer
terminal
distribution
content distribution
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.)
Granted
Application number
JP2002233234A
Other languages
Japanese (ja)
Other versions
JP3676330B2 (en
Inventor
Mitsunori Hirano
平野 光徳
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.)
NTT Comware Corp
Original Assignee
NTT Comware 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 NTT Comware Corp filed Critical NTT Comware Corp
Priority to JP2002233234A priority Critical patent/JP3676330B2/en
Publication of JP2004072686A publication Critical patent/JP2004072686A/en
Application granted granted Critical
Publication of JP3676330B2 publication Critical patent/JP3676330B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a content distribution server and a content distribution method in which distribution data are created by a buffer of a size corresponding to a transfer bit rate to distribute the contents. <P>SOLUTION: When a request of distribution of contents is received from a terminal 1, a receiving means 21 of a content distribution server 2 notifies a buffer control means 22 of the request. The buffer control means 22 acquires an appropriate buffer size based upon a transfer bit rate of a contents file read out of contents files stored in a database 23. Then, a buffer of the acquired buffer size is dynamically secured, and streaming data of the contents file are read out of the database 23 and written in the secured buffer. A distribution means 25 creates distribution data from the streaming data written in the buffer and performs streaming distribution to the terminal 1. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、コンテンツの転送ビットレートに応じたサイズのバッファに読み込まれたコンテンツから配信データを作成してコンテンツ配信を行うコンテンツ配信サーバ及びコンテンツ配信方法に関する。
【0002】
【従来の技術】
近年、インターネット技術の発展にともない、ブロードバンド環境が整備され、インターネットプロバイダやASP(Application Service Provider)は、様々なコンテンツを配信するサービスを提供している。コンテンツ配信サーバは、一旦、バッファと呼ばれるデータ処理のために一時的に利用されるメモリ領域にデータベース内のコンテンツファイルを読み込んで配信データを生成し、ユーザへコンテンツ配信を行っている。しかし、従来、64kbps〜6Mbpsと様々な転送ビットレートによりコンテンツを配信する場合であっても、コンテンツ配信サーバは、固定のサイズのバッファにコンテンツファイルを読み込み、配信データを作成していた。
【0003】
【発明が解決しようとする課題】
コンテンツのストリーミング配信において、1台のサーバから配信できるストリーミングの本数を最大にすることは、コスト削減において大変重要である。例えば、6Mbpsなどの転送ビットレートの大きなコンテンツを配信するときに、小さなサイズのバッファを使用した場合は、コンテンツファイルを記憶しているディスクへのアクセス回数が増えてしまうため、1度にディスクから読み込むデータ量が大きいほど効率がよい。一方、64kbpsなど転送ビットレートの小さなコンテンツの配信において大きなバッファを使用した場合、1度にディスクから読み込むデータ量が大きくなることにより、ディスクのヘッド利用時間が長くなるため、多重度、すなわち、ストリーミングの本数を増やすことができないばかりか、途中でユーザがコンテンツを視聴しなくなることにより、読み込んだバッファを破棄する確率が高くなるといった問題がある。そこで、コンテンツの転送ビットレートに合わせてバッファのサイズを適正化し、1台のサーバから配信できるストリーミングの本数を増やすことが求められていた。
この発明は、このような事情を考慮してなされたもので、その目的は、コンテンツの転送ビットレートに応じたサイズのバッファを動的に確保し、確保したバッファに読み込んだコンテンツファイルから配信データを作成してコンテンツを配信することができるコンテンツ配信サーバ及びコンテンツ配信方法を提供することにある。
【0004】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項1に記載の発明は、ネットワークを介して端末と接続され、前記端末にコンテンツを配信するコンテンツ配信サーバにおいて、コンテンツを記憶する記憶手段と、前記端末へ配信するコンテンツを一時的に記憶するバッファと、前記端末からコンテンツの配信の要求を受信する受信手段と、配信の要求があった前記コンテンツの転送ビットレートに応じたサイズの前記バッファを確保し、該コンテンツを前記記憶手段から読み出して該バッファに書き込むバッファ制御手段と、前記バッファ制御手段が前記バッファへ書き込んだ前記コンテンツを配信の要求元の前記端末へ配信する配信手段と、を備えることを特徴とするコンテンツ配信サーバである。
【0005】
請求項2に記載の発明は、請求項1に記載のコンテンツ配信サーバであって、前記記憶手段は、転送ビットレート毎のバッファサイズを記憶し、前記バッファ制御手段は、前記コンテンツの転送ビットレートに応じたバッファサイズを前記記憶手段から読み出して、確保するバッファのサイズを決定する、ことを特徴とする。
【0006】
請求項3に記載の発明は、請求項1に記載のコンテンツ配信サーバであって、前記バッファ制御手段は、転送ビットレートからバッファサイズを算出するための計算式を用いて、確保するバッファのサイズを決定することを特徴とする。
【0007】
請求項4に記載の発明は、ネットワークを介して端末と接続され、前記端末にコンテンツを配信するコンテンツ配信サーバにおいて、コンテンツを記憶する記憶手段と、前記端末へ配信するコンテンツを一時的に記憶するバッファとを備え、前記端末からコンテンツの配信の要求を受信し、配信の要求があった前記コンテンツの転送ビットレートに応じたサイズの前記バッファを確保し、配信の要求があった前記コンテンツを前記記憶手段から読み出して確保した前記バッファに書き込み、前記バッファへ書き込まれた前記コンテンツを配信の要求元の前記端末へ配信する、ことを特徴とするコンテンツ配信方法である。
【0008】
請求項5に記載の発明は、ネットワークを介して端末と接続され、前記端末にコンテンツを配信するコンテンツ配信サーバ上で実行されるコンピュータプログラムであって、前記端末からコンテンツの配信の要求を受信するステップと、内部に備えられ、配信の要求があった前記コンテンツの転送ビットレートに応じたサイズのバッファを確保するステップと、配信の要求があった前記コンテンツを内部から読み出し、確保した前記バッファに書き込むステップと、前記バッファへ書き込まれた前記コンテンツを配信の要求元の前記端末へ配信するステップと、をコンピュータに実行させるためのコンテンツ配信サーバのプログラムである。
【0009】
【発明の実施の形態】
以下、図面を参照し、この発明の実施の形態について説明する。図1は、この発明の一実施の形態によるコンテンツ配信サーバを用いたコンテンツ配信システムの構成を示すブロック図である。
【0010】
端末1は、コンテンツ配信サービスのユーザが保有するパーソナルコンピュータであり、インターネットなどの公衆網であるネットワークNと接続され、ネットワークNを介してコンテンツ配信業者の保有するコンテンツ配信サーバ2と接続される。そして、コンテンツ配信サーバ2へコンテンツの配信の要求を送信する機能と、コンテンツ配信サーバ2からストリーミング配信されるコンテンツを受信し、再生する機能を備える。
【0011】
コンテンツ配信サーバ2は、コンテンツ配信業者の保有するサーバであり、ネットワークNを介してユーザの端末1と接続され、受信手段21、バッファ制御手段22、データベース23、データベース24及び配信手段25から構成される。これらの各ブロックは、具体的には、CPUならびにメモリを含む周辺LSIで構成され、CPUがメモリに記録されたプログラムを読み出し逐次実行することにより、そのブロックが持つ機能を実現するものである。
【0012】
受信手段21は、ネットワークNを介して端末1からコンテンツの配信の要求を受信する機能と、受信したコンテンツ配信の要求をバッファ制御手段22に通知する機能を有する。
【0013】
バッファ制御手段22は、受信手段21からコンテンツの配信の要求を受信する機能と、データベース24内に記憶され、転送ビットレートに応じたバッファサイズが記述されたテーブルを検索して、コンテンツの転送ビットレートに合ったバッファサイズを読み出し、バッファを確保する機能と、配信対象のコンテンツファイルをデータベース23から読み出してバッファへ書き込む機能と、配信手段25へコンテンツの配信を指示する機能を有する。なお、バッファとは、半導体メモリ上に存在し、配信手段25が端末1に対してコンテンツをストリーミング配信するときに送信する配信データを生成するために、コンテンツファイルを一時的に記憶する領域である。
【0014】
データベース23は、複数のコンテンツファイルを記憶する。コンテンツファイルは、転送ビットレート、画像の横の画素数、画像の縦のライン数、画像の表示周期などの情報からなるヘッダ情報と、コンテンツの画像及び音声データからなるストリーミングデータにより構成される。
【0015】
データベース24は、コンテンツファイルの転送ビットレートに応じたバッファサイズを記述したテーブルを記憶する。テーブルの設定例を以下に示す。

Figure 2004072686
上記テーブルは、転送ビットレート64kbpsのコンテンツファイルのストリーミング配信においては、サイズが16Kバイトのバッファを使用し、転送ビットレートが128kbpsの場合はサイズが32Kバイトのバッファ、転送ビットレートが512kbpsの場合はサイズが256Kバイトのバッファ、転送ビットレートが1Mbpsの場合はサイズが512Kバイトのバッファ、転送ビットレート6Mbpsの場合はサイズが3Mバイトのバッファを使用することを示している。
なお、適切なバッファサイズは、配信サーバ2の記憶手段23が実装するディスク台数やディスクの回転速度、ディスクの1セクタなどの大きさなど、ハードウェアの構成に依存する。
【0016】
配信手段25は、バッファに読み出されたコンテンツファイルのストリーミングデータから配信データを生成し、ネットワークNを介して端末1へ送信することにより、コンテンツをストリーミング配信する機能を有する。
【0017】
続いて、同実施の形態によるコンテンツ配信サーバ2の動作について説明する。図2は、コンテンツ配信サーバ2の動作のフローを示す。
ステップS30:
まず、端末1は、ネットワークNを介して、コンテンツ配信サーバ2へコンテンツの配信の要求を送信する。コンテンツの配信の要求には、配信を要求するコンテンツのファイル名、タイトル、コードなどのコンテンツ識別情報と、要求を送信した端末1のIPアドレスなどのアドレス情報が設定される。コンテンツ配信サーバ2の受信手段21は、ネットワークNを介して端末1からコンテンツの配信の要求を受信すると、バッファ制御手段22へ通知する。バッファ制御手段22は、通知されたコンテンツ識別情報により識別されるコンテンツファイルのヘッダ情報をデータベース23から読み出す。そして、読み出したヘッダ情報に含まれている転送ビットレートを取得する。
【0018】
ステップS35:
バッファ制御手段22は、ステップS30において取得した転送ビットレートにより、データベース24に記憶されているテーブルを検索し、バッファサイズを取得する。
ステップS40:
バッファ制御手段22は、現在使用されていないバッファの領域から、ステップS35において取得したバッファサイズに相当するサイズのバッファを2つ確保する。
【0019】
ステップS45:
バッファ制御手段22は、ステップS30において通知されたコンテンツ識別情報で識別されるコンテンツファイルのストリーミングデータをデータベース23から読み出し、ステップS40において確保した1つ目のバッファに書き込む。そして、1つ目のバッファの6割、あるいは、8割など、予め決められたサイズまでストリーミングデータを書き込むと、1つ目のバッファへのストリーミングデータの書き込みを続けながら、同時に2つ目のバッファへのストリーミングデータの書き込みを始める。そして、1つ目のバッファサイズの上限までストリーミングデータの書き込みを終えると、配信手段25へ端末1へのストリーミング配信を指示する。配信手段25は、バッファ制御手段22からストリーミング配信の指示を受信すると、1つ目のバッファに書き込まれたストリーミングデータを読み出して配信データを生成し、ネットワークNを介してステップS30において通知されたアドレス情報が示す端末1へ送信する。
一方、バッファ制御手段22は、2つ目のバッファへ予め決められたサイズまでストリーミングデータを書き込むと、1つ目のバッファに書き込んだ内容が既に配信済みであれば、2つ目のバッファへのストリーミングデータの書き込みを続けながら、同時に1つ目のバッファへのストリーミングデータの書き込みを始める。そして、2つ目のバッファサイズの上限までストリーミングデータの書き込みを終えると、配信手段25へ端末1へのストリーミング配信を指示し、配信手段25は、2つ目のバッファに書き込まれたストリーミングデータを読み出して配信データを生成し、端末1へ送信する。
このようにして、ストリーミングデータを全てバッファへ読み込み、配信を終えるまで、バッファ制御手段22によるストリーミングデータのバッファへの書き込みと、配信手段25による配信データの送信を繰り返し、端末1へストリーミング配信を行う。
【0020】
なお、ステップS35において、バッファ制御手段23は、記憶手段24が記憶しているテーブルからバッファサイズを求める代わりに、読み出したコンテンツファイルの転送ビットレートからバッファサイズを求めるための計算式、例えば、
(バッファサイズ)=ax+bx+c
x:転送ビットレート、 a,b,c:定数
などによりバッファサイズを取得してもよい。ただし、適切なバッファサイズを求めるための計算式は、ハードウェアの構成に依存する。
【0021】
また、データベース23は、コンテンツ配信サーバ2に接続されるデータベースサーバなど、外部に接続される装置でもよい。
【0022】
なお、上述のコンテンツ配信サーバ2は、内部にコンピュータシステムを有している。そして、上述した動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものである。
【0023】
また、「コンピュータ読み取り可能な記録媒体」とは、ROMの他に、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0024】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0025】
【発明の効果】
この発明によれば、配信するコンテンツの転送ビットレートに応じて、コンテンツファイルの読み込みに最適なサイズのバッファを動的に確保することができる。これにより、最も効率的にバッファ領域を使用して配信データを生成することができるため、1台のサーバにおいて配信可能なストリーミングの本数を最大に近づけることが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施の形態によるコンテンツ配信サーバを用いたコンテンツ配信システムの構成を示すブロック図である。
【図2】同実施の形態によるコンテンツ配信サーバ2の動作フローを示す図である。
【符号の説明】
1…端末
2…コンテンツ配信サーバ
21…受信手段
22…バッファ制御手段
23、24…データベース(記憶手段)
25…配信手段[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a content distribution server and a content distribution method for generating distribution data from content read into a buffer having a size corresponding to a content transfer bit rate and performing content distribution.
[0002]
[Prior art]
In recent years, with the development of Internet technology, a broadband environment has been improved, and Internet providers and ASPs (Application Service Providers) provide services for distributing various contents. The content distribution server temporarily reads a content file in a database into a memory area temporarily used for data processing called a buffer, generates distribution data, and distributes the content to the user. However, conventionally, even when distributing content at various transfer bit rates of 64 kbps to 6 Mbps, the content distribution server reads the content file into a fixed-size buffer and creates distribution data.
[0003]
[Problems to be solved by the invention]
In content streaming distribution, maximizing the number of streams that can be distributed from one server is very important for cost reduction. For example, when distributing a content having a large transfer bit rate such as 6 Mbps, if a small-sized buffer is used, the number of accesses to the disk storing the content file increases, so that it is necessary to transmit the content file from the disk at one time. The greater the amount of data to be read, the better the efficiency. On the other hand, when a large buffer is used for distributing a content having a small transfer bit rate such as 64 kbps, the amount of data read from the disk at one time increases, and the time for using the head of the disk increases. In addition to the fact that it is not possible to increase the number of files, there is a problem that the probability that the read buffer is discarded increases because the user stops viewing the content in the middle. Therefore, it has been required to optimize the buffer size in accordance with the content transfer bit rate and increase the number of streams that can be distributed from one server.
The present invention has been made in view of such circumstances, and has as its object to dynamically secure a buffer having a size corresponding to the content transfer bit rate and to distribute distribution data from a content file read into the secured buffer. To provide a content distribution server and a content distribution method capable of distributing content by creating a content distribution server.
[0004]
[Means for Solving the Problems]
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and the invention according to claim 1 stores a content in a content distribution server that is connected to a terminal via a network and distributes the content to the terminal. Storage means, a buffer for temporarily storing content to be delivered to the terminal, receiving means for receiving a content distribution request from the terminal, and a size according to a transfer bit rate of the content requested to be distributed Buffer control means for securing the buffer, reading the content from the storage means and writing the content to the buffer, and distributing means for distributing the content written to the buffer by the buffer control means to the terminal which has requested distribution And a content distribution server.
[0005]
The invention according to claim 2 is the content distribution server according to claim 1, wherein the storage unit stores a buffer size for each transfer bit rate, and the buffer control unit controls the transfer bit rate of the content. Is read from the storage means, and the size of the buffer to be secured is determined.
[0006]
According to a third aspect of the present invention, in the content distribution server according to the first aspect, the buffer control means uses a calculation formula for calculating a buffer size from a transfer bit rate, and the size of the buffer to be secured. Is determined.
[0007]
According to a fourth aspect of the present invention, in a content distribution server that is connected to a terminal via a network and distributes the content to the terminal, a storage unit that stores the content and temporarily stores the content that is distributed to the terminal A buffer, and receives a request for distribution of the content from the terminal, secures a buffer having a size corresponding to a transfer bit rate of the content for which the distribution was requested, and stores the content for which the distribution was requested for the content. A content distribution method, wherein the content is read from a storage unit, written in the buffer secured, and the content written in the buffer is distributed to the terminal that has requested distribution.
[0008]
The invention according to claim 5 is a computer program that is connected to a terminal via a network and is executed on a content distribution server that distributes content to the terminal, and receives a content distribution request from the terminal. And a step of reserving a buffer having a size corresponding to the transfer bit rate of the content requested to be provided internally, and reading the content requested to be delivered from the inside and storing the buffer in the reserved buffer. A program of a content distribution server for causing a computer to execute a writing step and a step of distributing the content written to the buffer to the terminal that has requested distribution.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a content distribution system using a content distribution server according to one embodiment of the present invention.
[0010]
The terminal 1 is a personal computer owned by a user of the content distribution service, is connected to a network N which is a public network such as the Internet, and is connected to a content distribution server 2 owned by a content distributor through the network N. The content distribution server 2 has a function of transmitting a content distribution request to the content distribution server 2 and a function of receiving and reproducing content distributed by streaming from the content distribution server 2.
[0011]
The content distribution server 2 is a server owned by a content distributor, is connected to the user's terminal 1 via the network N, and includes a receiving unit 21, a buffer control unit 22, a database 23, a database 24, and a distribution unit 25. You. Each of these blocks is specifically configured by a peripheral LSI including a CPU and a memory, and the CPU implements the functions of the blocks by reading out and sequentially executing programs recorded in the memory.
[0012]
The receiving unit 21 has a function of receiving a content distribution request from the terminal 1 via the network N and a function of notifying the buffer control unit 22 of the received content distribution request.
[0013]
The buffer control unit 22 has a function of receiving a content distribution request from the reception unit 21 and a table stored in the database 24 and describing a buffer size corresponding to the transfer bit rate. It has a function of reading a buffer size that matches the rate and securing the buffer, a function of reading a content file to be distributed from the database 23 and writing the content file in the buffer, and a function of instructing the distribution unit 25 to distribute content. The buffer is an area that exists in the semiconductor memory and temporarily stores a content file in order to generate distribution data to be transmitted when the distribution unit 25 distributes the content to the terminal 1 by streaming. .
[0014]
The database 23 stores a plurality of content files. The content file includes header information including information such as a transfer bit rate, the number of horizontal pixels of an image, the number of vertical lines of the image, and the display cycle of the image, and streaming data including the image and audio data of the content.
[0015]
The database 24 stores a table describing a buffer size according to the transfer bit rate of the content file. An example of setting the table is shown below.
Figure 2004072686
The above table indicates that a 16 Kbyte buffer is used for streaming distribution of a content file with a transfer bit rate of 64 kbps, a buffer with a size of 32 Kbyte when the transfer bit rate is 128 kbps, and a buffer with a size of 32 Kbyte when the transfer bit rate is 512 kbps. A buffer having a size of 256 Kbytes, a buffer having a transfer bit rate of 1 Mbps indicates a buffer having a size of 512 Kbytes, and a buffer having a transfer bit rate of 6 Mbps indicates a buffer having a size of 3 Mbytes.
Note that the appropriate buffer size depends on the hardware configuration, such as the number of disks, the rotational speed of the disks, and the size of one sector of the disks, which are mounted on the storage unit 23 of the distribution server 2.
[0016]
The distribution unit 25 has a function of generating distribution data from the streaming data of the content file read into the buffer and transmitting the generated data to the terminal 1 via the network N, thereby streaming-distributing the content.
[0017]
Next, an operation of the content distribution server 2 according to the embodiment will be described. FIG. 2 shows a flow of the operation of the content distribution server 2.
Step S30:
First, the terminal 1 transmits a content distribution request to the content distribution server 2 via the network N. In the content distribution request, content identification information such as a file name, title, and code of the content requested to be distributed, and address information such as the IP address of the terminal 1 that transmitted the request are set. When receiving the content distribution request from the terminal 1 via the network N, the receiving unit 21 of the content distribution server 2 notifies the buffer control unit 22 of the request. The buffer control unit 22 reads from the database 23 the header information of the content file identified by the notified content identification information. Then, the transfer bit rate included in the read header information is obtained.
[0018]
Step S35:
The buffer control unit 22 searches the table stored in the database 24 based on the transfer bit rate acquired in step S30, and acquires the buffer size.
Step S40:
The buffer control unit 22 secures two buffers of a size corresponding to the buffer size acquired in step S35 from the area of the buffer not currently used.
[0019]
Step S45:
The buffer control unit 22 reads the streaming data of the content file identified by the content identification information notified in step S30 from the database 23, and writes the streaming data in the first buffer secured in step S40. When the streaming data is written to a predetermined size, such as 60% or 80% of the first buffer, the second buffer is written simultaneously while the writing of the streaming data to the first buffer is continued. Start writing streaming data to. Then, when the writing of the streaming data is completed to the upper limit of the first buffer size, the distribution unit 25 is instructed to perform the streaming distribution to the terminal 1. Upon receiving the streaming distribution instruction from the buffer control unit 22, the distribution unit 25 reads out the streaming data written in the first buffer to generate distribution data, and sends the address notified via the network N in step S30. The information is transmitted to the terminal 1 indicated by the information.
On the other hand, when the buffer control unit 22 writes the streaming data to the second buffer to the predetermined size, if the content written in the first buffer has already been distributed, the buffer control unit 22 writes the streaming data to the second buffer. While continuing to write the streaming data, the writing of the streaming data to the first buffer is started at the same time. When the writing of the streaming data to the upper limit of the second buffer size is completed, the distribution means 25 is instructed to perform streaming distribution to the terminal 1, and the distribution means 25 transfers the streaming data written to the second buffer. The data is read out to generate distribution data and transmitted to the terminal 1.
In this way, all the streaming data is read into the buffer, and the writing of the streaming data to the buffer by the buffer control unit 22 and the transmission of the distribution data by the distribution unit 25 are repeated until the distribution is completed, thereby performing the streaming distribution to the terminal 1. .
[0020]
In step S35, the buffer control unit 23 calculates the buffer size from the transfer bit rate of the read content file instead of calculating the buffer size from the table stored in the storage unit 24, for example,
(Buffer size) = ax 2 + bx + c
x: transfer bit rate, a, b, c: buffer size may be obtained by a constant or the like. However, the formula for calculating the appropriate buffer size depends on the hardware configuration.
[0021]
The database 23 may be an externally connected device such as a database server connected to the content distribution server 2.
[0022]
The content distribution server 2 has a computer system inside. The process of the above-described operation is stored in a computer-readable recording medium in the form of a program, and the above-described processing is performed by reading and executing the program by the computer system. Here, the computer system includes an OS and hardware such as peripheral devices.
[0023]
The “computer-readable recording medium” refers to not only ROM but also portable media such as magnetic disks, magneto-optical disks, CD-ROMs, and DVD-ROMs, and storage devices such as hard disks built into computer systems. That means. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) inside a computer system which is a system or a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. In addition, programs that hold programs for a certain period of time are also included.
[0024]
Further, the above program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
Further, the program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
[0025]
【The invention's effect】
According to the present invention, it is possible to dynamically secure a buffer having a size optimal for reading a content file according to a transfer bit rate of content to be distributed. As a result, the distribution data can be generated most efficiently using the buffer area, so that the number of streams that can be distributed by one server can be made close to the maximum.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a content distribution system using a content distribution server according to an embodiment of the present invention.
FIG. 2 is a diagram showing an operation flow of a content distribution server 2 according to the embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Terminal 2 ... Content distribution server 21 ... Receiving means 22 ... Buffer control means 23, 24 ... Database (storage means)
25 ... means of distribution

Claims (5)

ネットワークを介して端末と接続され、前記端末にコンテンツを配信するコンテンツ配信サーバにおいて、
コンテンツを記憶する記憶手段と、
前記端末へ配信するコンテンツを一時的に記憶するバッファと、
前記端末からコンテンツの配信の要求を受信する受信手段と、
配信の要求があった前記コンテンツの転送ビットレートに応じたサイズの前記バッファを確保し、該コンテンツを前記記憶手段から読み出して該バッファに書き込むバッファ制御手段と、
前記バッファ制御手段が前記バッファへ書き込んだ前記コンテンツを配信の要求元の前記端末へ配信する配信手段と、
を備えることを特徴とするコンテンツ配信サーバ。
In a content distribution server connected to a terminal via a network and distributing content to the terminal,
Storage means for storing content,
A buffer for temporarily storing content to be delivered to the terminal,
Receiving means for receiving a content distribution request from the terminal;
Buffer control means for securing the buffer having a size corresponding to the transfer bit rate of the content requested to be distributed, reading the content from the storage means, and writing the content to the buffer;
A delivery unit that delivers the content written to the buffer by the buffer control unit to the terminal that has requested delivery;
A content distribution server comprising:
前記記憶手段は、転送ビットレート毎のバッファサイズを記憶し、
前記バッファ制御手段は、前記コンテンツの転送ビットレートに応じたバッファサイズを前記記憶手段から読み出して、確保するバッファのサイズを決定する、
ことを特徴とする請求項1に記載のコンテンツ配信サーバ。
The storage means stores a buffer size for each transfer bit rate,
The buffer control unit reads a buffer size corresponding to a transfer bit rate of the content from the storage unit, and determines a size of a buffer to be secured.
The content distribution server according to claim 1, wherein:
前記バッファ制御手段は、転送ビットレートからバッファサイズを算出するための計算式を用いて、確保するバッファのサイズを決定することを特徴とする請求項1に記載のコンテンツ配信サーバ。2. The content distribution server according to claim 1, wherein the buffer control unit determines a size of the buffer to be secured using a calculation formula for calculating a buffer size from a transfer bit rate. 3. ネットワークを介して端末と接続され、前記端末にコンテンツを配信するコンテンツ配信サーバにおいて、
コンテンツを記憶する記憶手段と、
前記端末へ配信するコンテンツを一時的に記憶するバッファとを備え、
前記端末からコンテンツの配信の要求を受信し、
配信の要求があった前記コンテンツの転送ビットレートに応じたサイズの前記バッファを確保し、
配信の要求があった前記コンテンツを前記記憶手段から読み出して確保した前記バッファに書き込み、
前記バッファへ書き込まれた前記コンテンツを配信の要求元の前記端末へ配信する、
ことを特徴とするコンテンツ配信方法。
In a content distribution server connected to a terminal via a network and distributing content to the terminal,
Storage means for storing content,
A buffer for temporarily storing content to be delivered to the terminal,
Receiving a content distribution request from the terminal,
Reserve the buffer of a size corresponding to the transfer bit rate of the content requested for distribution,
Writing the content requested for distribution to the buffer secured by reading from the storage means,
Distributing the content written in the buffer to the terminal that has requested distribution,
A content distribution method, characterized in that:
ネットワークを介して端末と接続され、前記端末にコンテンツを配信するコンテンツ配信サーバ上で実行されるコンピュータプログラムであって、
前記端末からコンテンツの配信の要求を受信するステップと、
内部に備えられ、配信の要求があった前記コンテンツの転送ビットレートに応じたサイズのバッファを確保するステップと、
配信の要求があった前記コンテンツを内部から読み出し、確保した前記バッファに書き込むステップと、
前記バッファへ書き込まれた前記コンテンツを配信の要求元の前記端末へ配信するステップと、
をコンピュータに実行させるためのコンテンツ配信サーバのプログラム。
A computer program connected to a terminal via a network and executed on a content distribution server that distributes content to the terminal,
Receiving a content distribution request from the terminal;
A step of reserving a buffer having a size corresponding to the transfer bit rate of the content that is provided internally and requested to be distributed;
Reading the content requested for distribution from the inside, and writing the content to the secured buffer;
Distributing the content written to the buffer to the terminal that has requested distribution;
Of a content distribution server for causing a computer to execute the program.
JP2002233234A 2002-08-09 2002-08-09 Content distribution server, content distribution method, and program Expired - Fee Related JP3676330B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002233234A JP3676330B2 (en) 2002-08-09 2002-08-09 Content distribution server, content distribution method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002233234A JP3676330B2 (en) 2002-08-09 2002-08-09 Content distribution server, content distribution method, and program

Publications (2)

Publication Number Publication Date
JP2004072686A true JP2004072686A (en) 2004-03-04
JP3676330B2 JP3676330B2 (en) 2005-07-27

Family

ID=32018408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002233234A Expired - Fee Related JP3676330B2 (en) 2002-08-09 2002-08-09 Content distribution server, content distribution method, and program

Country Status (1)

Country Link
JP (1) JP3676330B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7924456B1 (en) 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
US8365236B2 (en) 2004-06-07 2013-01-29 Sling Media, Inc. Personal media broadcasting system with output buffer
US8799969B2 (en) 2004-06-07 2014-08-05 Sling Media, Inc. Capturing and sharing media content
US8904455B2 (en) 2004-06-07 2014-12-02 Sling Media Inc. Personal video recorder functionality for placeshifting systems
US9131253B2 (en) 2004-06-07 2015-09-08 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US9491523B2 (en) 1999-05-26 2016-11-08 Echostar Technologies L.L.C. Method for effectively implementing a multi-room television system
US9584757B2 (en) 1999-05-26 2017-02-28 Sling Media, Inc. Apparatus and method for effectively implementing a wireless television system
JP2022524733A (en) * 2019-03-06 2022-05-10 ドルビー ラボラトリーズ ライセンシング コーポレイション Download control in a multi-server communication system

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491523B2 (en) 1999-05-26 2016-11-08 Echostar Technologies L.L.C. Method for effectively implementing a multi-room television system
US9781473B2 (en) 1999-05-26 2017-10-03 Echostar Technologies L.L.C. Method for effectively implementing a multi-room television system
US9584757B2 (en) 1999-05-26 2017-02-28 Sling Media, Inc. Apparatus and method for effectively implementing a wireless television system
US8819750B2 (en) 2004-06-07 2014-08-26 Sling Media, Inc. Personal media broadcasting system with output buffer
US8621533B2 (en) 2004-06-07 2013-12-31 Sling Media, Inc. Fast-start streaming and buffering of streaming content for personal media player
US10419809B2 (en) 2004-06-07 2019-09-17 Sling Media LLC Selection and presentation of context-relevant supplemental content and advertising
US8904455B2 (en) 2004-06-07 2014-12-02 Sling Media Inc. Personal video recorder functionality for placeshifting systems
US9106723B2 (en) 2004-06-07 2015-08-11 Sling Media, Inc. Fast-start streaming and buffering of streaming content for personal media player
US9131253B2 (en) 2004-06-07 2015-09-08 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US10123067B2 (en) 2004-06-07 2018-11-06 Sling Media L.L.C. Personal video recorder functionality for placeshifting systems
US9253241B2 (en) 2004-06-07 2016-02-02 Sling Media Inc. Personal media broadcasting system with output buffer
US9356984B2 (en) 2004-06-07 2016-05-31 Sling Media, Inc. Capturing and sharing media content
US8799969B2 (en) 2004-06-07 2014-08-05 Sling Media, Inc. Capturing and sharing media content
US8365236B2 (en) 2004-06-07 2013-01-29 Sling Media, Inc. Personal media broadcasting system with output buffer
US9716910B2 (en) 2004-06-07 2017-07-25 Sling Media, L.L.C. Personal video recorder functionality for placeshifting systems
US9237300B2 (en) 2005-06-07 2016-01-12 Sling Media Inc. Personal video recorder functionality for placeshifting systems
KR101121479B1 (en) * 2007-01-12 2012-02-28 브로드버스 테크놀러지스, 인크. Data distribution and buffering
US7924456B1 (en) 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
JP2022524733A (en) * 2019-03-06 2022-05-10 ドルビー ラボラトリーズ ライセンシング コーポレイション Download control in a multi-server communication system
JP7163510B2 (en) 2019-03-06 2022-10-31 ドルビー ラボラトリーズ ライセンシング コーポレイション Download control in multi-server communication system
US11671485B2 (en) 2019-03-06 2023-06-06 Dolby Laboratories Licensing Corporation Download control in multi-server communication system

Also Published As

Publication number Publication date
JP3676330B2 (en) 2005-07-27

Similar Documents

Publication Publication Date Title
US5991809A (en) Web serving system that coordinates multiple servers to optimize file transfers
US7891010B2 (en) Information providing apparatus and information providing method
JP3217002B2 (en) Digital studio apparatus and control method thereof
WO1998004985A9 (en) Web serving system with primary and secondary servers
JP3676330B2 (en) Content distribution server, content distribution method, and program
JP4133690B2 (en) Advertisement information providing system, information providing server, information providing method, program, and recording medium
CN100365619C (en) A method for playing multimedia data and a system of enabling the method
JP2003030458A (en) Contents data distribution method and contents data distribution system
JP2005115533A (en) Content delivery system and management server
US7539292B2 (en) Contents distribution system, contents server, contents receiving apparatus, contents distribution method, program and storage media
US7599962B2 (en) Content delivery system, content server, content receiver, content delivery method, storage medium and program
CN1200560C (en) Device and method for processing digital audio-video medium
JP2008250587A (en) Content list preparation device and content list preparation program
JP2001101060A (en) Communication data pre-reading device and recording medium
JP2004080738A (en) Contents packet, distribution request signal, distribution schedule, server and terminal device
JP2007067521A (en) Downloading device, streaming content download system, downloading method, and downloading program
JP2003208398A (en) Data input/output device, data input/output method, program and medium
JP2008252416A (en) Content list creating device and content list creation program
US20040167924A1 (en) Information processing method, information processing apparatus, and distributed processing system
JP2004145392A (en) Moving image file distributing device
KR20120056139A (en) Method and apparatus of providing data streaming service
JP2005122602A (en) Cache system, information processing system, cache method, program, and recording medium
JP2005141525A (en) Electronic equipment, information processing system, information processor, information processing method, program and recording medium
JP2000163350A (en) Method and device for data distribution
JP2004128649A (en) Portable information processor, computer systems, and their processing methods

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050427

R150 Certificate of patent or registration of utility model

Ref document number: 3676330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees