JP4063120B2 - Packet transmission equipment - Google Patents

Packet transmission equipment Download PDF

Info

Publication number
JP4063120B2
JP4063120B2 JP2003088420A JP2003088420A JP4063120B2 JP 4063120 B2 JP4063120 B2 JP 4063120B2 JP 2003088420 A JP2003088420 A JP 2003088420A JP 2003088420 A JP2003088420 A JP 2003088420A JP 4063120 B2 JP4063120 B2 JP 4063120B2
Authority
JP
Japan
Prior art keywords
packet
address information
address
received
transfer
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.)
Expired - Fee Related
Application number
JP2003088420A
Other languages
Japanese (ja)
Other versions
JP2004297543A (en
Inventor
健輔 佐藤
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003088420A priority Critical patent/JP4063120B2/en
Publication of JP2004297543A publication Critical patent/JP2004297543A/en
Application granted granted Critical
Publication of JP4063120B2 publication Critical patent/JP4063120B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は通信分野において、インターネットなどのパケット通信ネットワークにおいて通信を行う、パケット伝送装置に関するものであり、特に、パケット通信ネットワークにおいてコンテンツを効率的に配信する技術に関するものである。
【0002】
【従来の技術】
従来、インターネット等のネットワークを用いて映像などのコンテンツを視聴者に配信する場合、1台または少数のビデオサーバから各視聴者に直接配信する、集中型の配信が主流であった。しかし、この形態の場合、ビデオサーバはコンテンツを視聴者の数だけ送信する必要があるため、視聴者数が非常に多い場合は、ビデオサーバは多数のストリームを同時に送信するための高性能なものが必要であり、配信コストが高額になるという課題があった。
【0003】
そこで、近年、ピア・ツー・ピア技術を応用した、”バケツリレー式”のコンテンツ配信技術が提案されている(例えば、非特許文献1参照)。図8は、バケツリレー式のコンテンツ配信システムの概念を示したものである。
【0004】
図8において、810は映像や音声を含んだコンテンツ(以下、映像コンテンツと呼ぶ)の配信元であるビデオサーバである。また、811〜815はコンテンツを視聴するための端末機器であり、実際にはパーソナルコンピューターやネットワーク対応テレビなどで実現される。図8のシステムにおいて映像コンテンツを配信する場合、ビデオサーバ810は、通信ネットワーク820等によって、まず、少数の端末機器811及び812にコンテンツを配信する。端末機器811及び812は、自らも映像コンテンツを視聴しながら、同時に、受信中の映像コンテンツを他の端末機器にも送信する。例えば、端末機器811は、別の端末機器813〜815に送信する。
【0005】
このように、端末機器から端末機器へとバケツリレー式に映像コンテンツを伝送することにより、ビデオサーバ810は集中型の配信の場合のような高い性能を必要とせずに多数の端末機器へのコンテンツ配信が可能となり、集中型の配信形態に比べて配信コストを低くすることができる。
【0006】
図9は、非特許文献1に記載された、従来のパケット伝送装置を用いた端末機器の構成を示した図である。図9において、9は従来のパケット伝送装置である。910はCPUなどのプロセッサーであり、210、211、912、913は、プロセッサーのソフトウェアによって実行される処理を示している。映像コンテンツを含んだデータパケット(この例ではEthenetフレーム)はEthernet(R)フレーム受信処理部101で受信し、プロセッサー910に渡される。
【0007】
プロセッサー910内のIPプロトコル受信処理部210でデータパケットからペイロード部のデータが取り出され、データ受信アプリケーション912に渡される。映像アプリケーション912では、ペイロードデータから映像コンテンツのデータを取り出し、AVデコーダ220によってデコードされ、ディスプレイなどの表示装置221によって画面に表示される。
【0008】
同時に、ペイロード部のデータは、データ送信アプリケーション913に渡され、IPプロトコル送信処理部211によって送信パケットに変換され、Ethernet(R)フレーム送信部107によって送信され、通信ネットワークを介して他の端末機器に伝送される。
【0009】
【非特許文献1】
(株)ビットメディア、(株)アンクル、“シェアキャストアーキテクチャ”、「online」、2002年2月、「2003年2月27日検索」、インターネット<URL:http://www.scast.tv/sca.pdf>
【0010】
【発明が解決しようとする課題】
しかしながら、前記従来の構成による端末機器で”バケツリレー配信”を行う場合、各端末機器における映像コンテンツの転送は、プロセッサーによるソフトウェア処理で行う必要があるため、集中型の配信のときのような受信のみの場合と比べて約2倍の処理性能が必要となる。そのため、高性能のプロセッサーが必要であり、端末機器のコストが高くなるという課題を有していた。
【0011】
本発明は、前記従来の課題を解決するもので、性能の低い安価なプロセッサーを用いた端末機器においても”バケツリレー式配信”を可能にするために、データパケットの転送をハードウェアで行うことができるパケット伝送装置を提供することを目的とする。
【0012】
【課題を解決するための手段】
前記従来の課題を解決するために、本発明のパケット伝送装置は、アドレス情報を含むパケットを受信するパケット受信手段と、受信アドレス情報と前記受信アドレス情報に関連付けられた転送アドレス情報を記憶するアドレス対応テーブルと、前記パケット受信手段が受信した受信パケットのアドレス情報が前記アドレス対応テーブルに登録されている前記受信アドレス情報のいずれかと一致するか否かを判定する手段と、前記受信パケットの前記アドレス情報を前記アドレス対応テーブルにおいて一致した前記受信アドレス情報に関連付けられた前記転送アドレス情報に従って書き換えるアドレス書き換え手段と、前記アドレス書き換え手段が出力したパケットを送信する手段と、前記受信パケットの受信時刻を計測する受信時刻計測手段と、前記受信時刻に基づいて前記受信パケットの転送時刻を求める転送時刻計算手段と、前記転送時刻に従って前記受信パケットの送信を制御する転送制御手段と、前記受信パケットのバースト間隔を計測する手段とを備え、前記転送時刻は前記バースト間隔に基づく値としたものである。
【0013】
【発明の実施の形態】
以下本発明の実施の形態について、図面を参照しながら説明する。
【0014】
図1は、本発明の実施の形態におけるパケット伝送装置の概略構成図であり、図2は、同装置を用いた端末機器の概略構成図である。
【0015】
また、図3は、同装置が受信または送信するデータパケットであるEthernet(R)フレームの構造を示した図である。図3において、Ethernet(R)フレーム30は、Ethernet(R)ヘッダー310、IPヘッダー320、UDPヘッダー330という3種類のヘッダーを有している。また、パケットを転送可能な残り回数を表す、転送可能回数カウンタフィールド323を有しており、パケットを端末機器によって転送できる最大回数がビデオサーバによって設定される。
【0016】
図4は、図1におけるアドレス対応テーブル109に記憶されているデータ構造を示したものである。アドレス対応テーブル109は受信アドレス情報テーブル41と転送アドレス情報テーブル42から構成され、受信アドレス情報テーブル41には、他の端末機器への転送が必要なデータパケットの受信に必要な情報が記憶される。転送アドレス情報テーブル42は、受信したパケットを他の端末機器に転送するために必要な情報が記憶される。更に、受信アドレス情報テーブルの各アドレス情報には、対応する転送アドレス情報の対応付けが併せて記憶されている。
【0017】
次に、図1から図4を用いて、本発明の実施の形態1におけるパケット伝送装置の動作について、図5の動作フローを用いながら説明する。
【0018】
まず、図5(a)は、ビデオサーバから直接、映像コンテンツを受信する場合の手順である。端末機器の操作者から視聴開始を要求されると、端末機器のデータ受信アプリケーション211は、自己のIPアドレス及び映像コンテンツの受信用のポート番号(UDPプロトコルのポート番号)の情報と共に、ビデオサーバに対して送信要求を送る(手順501)。但し、このとき、端末機器はビデオサーバのIPアドレスをあらかじめ知っているものとする。
【0019】
ビデオサーバは要求されたコンテンツが送信可能なら”成功”を端末機器に返す。端末機器は”成功”を受け取ると(手順502)、映像コンテンツを含むパケットの受信を開始する(手順503)。図1におけるEthernet(R)フレーム受信処理部101は、ビデオサーバから送信されたデータパケットであるEthernet(R)フレームを受信し、パケット出力ポート112を通して、図2のプロセッサー21に渡される。
【0020】
図2において210、211及び212はプロセッサーによってソフトウェアで実行される。IPプロトコル受信処理部210は、受信したEthernet(R)フレーム30のIPヘッダー及びUDPヘッダーの処理を行い、ペイロード340を取り出し、データ受信アプリケーション211に渡す。データ受信アプリケーション211は、ペイロードに含まれる映像コンテンツのデータをAVデコーダ220に渡す。このデータはAVデコーダ220によってデコードされ、ディスプレイなどの表示装置221によって画面に表示される。
【0021】
次に、ビデオサーバから映像コンテンツを受信中に、他の端末機器から転送要求を受けた場合について、図5(b)及び(c)のフローを用いながら説明する。
【0022】
図2における転送制御アプリケーション212は、他の端末から転送要求を受けると、相手先端末から相手先端末のIPアドレスと相手先端末が受信するポート番号を取得する(図5の手順511)。転送制御アプリケーション212は、受信アドレス情報と転送アドレス情報を、図1におけるアドレス対応テーブル109の受信アドレス情報テーブル41及び転送アドレス情報テーブル42に、図4に示すような内容を設定する(手順512)。なお、図4の例では、受信アドレス情報テーブル41における送信元ポート番号は、ビデオサーバから映像コンテンツを含むパケットを受信するまで不明であると想定し、”任意”を表す値を設定している。
【0023】
また、受信アドレス情報テーブル41の項目401の「転送アドレス情報の番号」フィールドには、対応する転送アドレス情報テーブルの項目の番号である410を設定し、両者を対応づけている。
【0024】
上記手順によってアドレス対応テーブルの設定完了後にEthenetフレーム受信処理部101においてEthenetフレームを受信すると(手順521)、パケット出力ポート112を介してプロセッサー21に渡されると共に、受信時刻測定部102で受信時刻が測定され(手順522)、転送時刻計算処理部108において、後述する手順に従って、転送すべき時刻である転送時刻が計算される(手順523)。
【0025】
続いて、アドレス判定処理部103はアドレス対応テーブル109の受信アドレス情報テーブルを参照し、同テーブルの各項目が、受信したEthenetフレームの該当項目に一致するか否かを判定する(手順524)。なお、この例では受信アドレス情報テーブルの送信元ポート番号は、”任意”を表す値が書かれているとしたため、該当する項目は一致/不一致の判定には用いられない。
【0026】
アドレス判定処理部103が”一致”と判定すれば、Ethernet(R)フレームは転送可能回数カウンタ処理部104に渡され、データパケット30の転送可能回数カウンタフィールド323の値が1以上であるか否かを判定する(手順525)。転送可能回数カウンタフィールド323の値が0であった場合は、そのEthetnetフレームは破棄される。
【0027】
転送可能回数カウンタフィールド323の値が1以上である場合、転送可能回数カウンタ処理部104は、転送可能回数カウンタフィールド323の値を1だけ減じた値に書き直し(手順526)、アドレス書き換え処理部105にEthernet(R)フレームを渡す。アドレス書き換え処理部105は、アドレス対応テーブル109を参照し、Ethernet(R)フレームの受信アドレス情報401に対応した転送アドレス情報410を取得し(手順527)、Ethenetフレームに含まれる宛先IPアドレス、送信元IPアドレス、宛先ポート番号、及び送信元ポート番号の各フィールドの値を、転送アドレス情報410で示される値に書き換える(手順528)。書き換えられたデータパケットは、転送制御部106において、転送時刻計算部108で求められた”転送時刻”まで待たされた後(手順529)、Ethernet(R)フレーム送信処理部から送信される(手順530)。
【0028】
このようにして、端末機器がデータパケットを受信しながら他の端末機器に転送する、バケツリレー式のコンテンツ配信方式においても、プロセッサーはパケットの転送処理を行う必要がなく、受信処理のみの場合と同程度の処理負荷ですむため、性能の低い安価なプロセッサーを用いてもバケツリレー式の配信に対応した端末機器を実現することができる。
【0029】
更に、バケツリレー式の配信方式では、自分が転送したデータパケットが、他の端末機器を経由して自分に戻ってくるという、”ループ”が発生する可能性があり、その場合、ループ内のいずれかの端末機器が通信を停止しない限り、パケットがループの中を無限に流れつづけ、ネットワークの負荷を増大させるという課題があった。この課題に対して、パケットに転送可能な回数を表す転送可能回数カウンタフィールド323を設け、ビデオサーバが送信する際に、転送可能な最大値を設定し、パケットを受信した端末機器は他の端末機器に転送するごとに転送可能回数カウンタフィールド323の値を1だけ減じ、同フィールドが0になった場合はそれ以上転送しないという処理を行うことにより、ループが発生した場合でも、パケットがネットワークを流れる回数を有限回に抑え、ネットワークに与える負荷を抑えることができる。
【0030】
なお、上記で説明した本発明の実施の形態では、図4に示す受信アドレス情報テーブル及び転送アドレス情報テーブルの項目はそれぞれ1項目として説明したが、それぞれのテーブルは、複数個の項目を記憶することも可能である。受信アドレス情報テーブルに複数個の項目が登録された場合、受信パケットが登録された受信アドレス情報のいずれかに一致する場合、その受信アドレス情報に関連付けられた転送アドレス情報テーブルの内容に従って転送が行われる。
【0031】
また、受信アドレス情報テーブルの各項目に関連付ける転送アドレス情報テーブルの項目も複数個登録することができ、この場合、関連付けられた転送アドレス情報テーブルの複数の項目の転送先すべてに、受信パケットを転送する。
【0032】
続いて、転送時刻計算処理部108において、受信パケットを転送すべき時刻(転送時刻)を求める手順について、図6及び図7を用いて説明する。
【0033】
バケツリレー式の配信の場合、端末機器はパケットを受信した通信ネットワーク(例えば120)と同じネットワークに対して転送パケットを送り返す。ビデオサーバから送られるデータパケットは一般的に、図6(a)に示すように、パケットの送信タイミングは均一ではなく、複数のパケットが固まって(バースト的に)送られるため、受信したパケットをすぐに転送すると、受信パケットと転送パケットが衝突し、伝送効率が低くなる恐れがある。また、端末機器が接続しているIPルーターは、受信パケットと送信パケットを同時に処理する必要が有るため、ピーク負荷が増大し、IPルーターが十分に転送できなくなる恐れが有る。これを避けるためには、他の端末機器への転送は、受信パケットのタイミングと重ならないようにするしくみが有効である。
【0034】
図7は、転送時刻計算処理部108の実施の形態の概略構成図である。
【0035】
図7において、バースト判定処理部1081は、受信時刻計測処理部102から入力された、各パケットの受信時刻情報に基づいて、バースト期間を判定する。バースト期間の判定は、例えば、各パケットの受信間隔が、あらかじめ決めておいた規定値以下である期間として求めることができる。
【0036】
更に、バースト判定手段1081は、各バースト期間における、バースト期間の長さであるバースト長611及び、直前のバースト期間との間隔であるバースト間隔612を求める。フィルタ手段1082は、各バースト期間ごとのバースト長及びバースト間隔の値の過去N回分(Nはあらかじめ定めた規定値)の平均値を求める。待ち時間計算処理部1084は、バースト長計測処理部1081の出力またはフィルタ手段1082が出力する値を用いて、各データパケットを転送するまでに待つべき時間を求める。
【0037】
待ち時間を求める手順として様々な方法が可能であるが、例えば、次のような手順によって求められる。
【0038】
例1)バースト長の平均値に、あらかじめ規定された固定時間を加えた値。
【0039】
例2)バースト間隔の平均値に、あらかじめ規定された比率(例えば0.5)を乗じた値。
【0040】
なお、上述の実施の形態では、フィルタ手段は、過去N回の平均値を求めるとしたが、その他のフィルタ手段を用いても同様の効果を得ることができる。
【0041】
【発明の効果】
以上のように、本発明のパケット伝送装置によれば、多数の視聴者にコンテンツを配信することができるバケツリレー型配信方式に対応する場合でも、端末機器のプロセッサーは受信処理のみを行えばよいため、プロセッサーの能力が低い場合でもバケツリレー型配信方式に対応した端末機器を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるパケット伝送装置の概略構成図
【図2】本発明の実施の形態におけるパケット伝送装置を用いた端末機器の概略構成図
【図3】伝送パケットの構成の一例を示す図
【図4】アドレス対応テーブルに記憶する情報の一例を示す図
【図5】本発明の実施の形態におけるパケット伝送装置の動作を示すフローチャート
【図6】本発明の実施の形態におけるパケット伝送装置が処理するパケットの受信時刻と送信時刻の関係を表すタイミング図
【図7】本発明の実施の形態における転送時刻計算処理部の概略構成図
【図8】従来のパケット伝送装置の概略構成図及び、同装置を用いた端末機器の概略構成図
【図9】バケツリレー型配信システムの概念図
【符号の説明】
1 パケット伝送装置
101 Ethenetフレーム受信処理部
102 受信時刻計測処理部
103 アドレス判定処理部
104 転送可能回数カウンタ処理部
105 アドレス書き換え処理部
106 転送制御部
107 Ethernet(R)フレーム送信処理部
108 転送時刻計算処理部
109 アドレス対応テーブル
120 Ethernet(R)入出力端子
121 パケット入力ポート
122 パケット出力ポート
123 アドレス対応テーブル設定ポート
2 端末機器
21 プロセッサー
210 IPプロトコル受信処理部
211 データ受信アプリケーション
220 AVデコーダ
221 表示処理部
30 データパケット
310 Ethenetヘッダー
311 宛先Ethenetアドレス
312 送信元Ethenetアドレス
320 IPヘッダー
321 宛先IPアドレス
322 送信元IPアドレス
330 UDPヘッダー
331 宛先ポート番号
332 送信元ポート番号
323 転送可能回数カウンタ
340 ペイロード
41 受信アドレス情報テーブル
42 転送アドレス情報テーブル
61 受信パケット
62 転送パケット
611 バースト長
612 バースト間隔
613 転送待ち時間
1081 バースト判定処理部
1082 フィルタ手段
1083 選択スイッチ
1084 転送待ち時間計算処理部
1085 加算器
810 ビデオサーバ
811、812、813、814、815 端末機器
820、821 通信ネットワーク
9 従来のパケット伝送装置
910 プロセッサー
211 IPプロトコル送信処理部
912 データ受信アプリケーション
913 データ送信アプリケーション
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet transmission apparatus that performs communication in a packet communication network such as the Internet in the communication field, and more particularly to a technique for efficiently distributing content in a packet communication network.
[0002]
[Prior art]
Conventionally, when content such as video is distributed to viewers using a network such as the Internet, centralized distribution in which content is directly distributed to each viewer from one or a few video servers has been mainstream. However, in this mode, the video server needs to transmit the content by the number of viewers. Therefore, when the number of viewers is very large, the video server has a high performance for transmitting a large number of streams simultaneously. There is a problem that the distribution cost becomes high.
[0003]
Therefore, in recent years, a “bucket relay type” content distribution technology that applies peer-to-peer technology has been proposed (see, for example, Non-Patent Document 1). FIG. 8 shows the concept of a bucket relay type content distribution system.
[0004]
In FIG. 8, reference numeral 810 denotes a video server that is a distribution source of content including video and audio (hereinafter referred to as video content). Reference numerals 811 to 815 denote terminal devices for viewing content, which are actually realized by a personal computer, a network-compatible television, or the like. When distributing video content in the system of FIG. 8, the video server 810 first distributes content to a small number of terminal devices 811 and 812 via the communication network 820 or the like. The terminal devices 811 and 812 transmit video content being received to other terminal devices at the same time while viewing the video content themselves. For example, the terminal device 811 transmits to another terminal device 813 to 815.
[0005]
Thus, by transmitting video content from the terminal device to the terminal device in a bucket relay manner, the video server 810 does not require high performance as in the case of centralized distribution, and content to a large number of terminal devices. Distribution becomes possible, and the distribution cost can be reduced as compared with the centralized distribution form.
[0006]
FIG. 9 is a diagram illustrating a configuration of a terminal device using a conventional packet transmission device described in Non-Patent Document 1. In FIG. 9, 9 is a conventional packet transmission apparatus. Reference numeral 910 denotes a processor such as a CPU, and reference numerals 210, 211, 912, and 913 denote processes executed by the processor software. The data packet including the video content (the Ethernet frame in this example) is received by the Ethernet (R) frame reception processing unit 101 and passed to the processor 910.
[0007]
The IP protocol reception processing unit 210 in the processor 910 extracts the data in the payload portion from the data packet and passes it to the data reception application 912. In the video application 912, video content data is extracted from the payload data, decoded by the AV decoder 220, and displayed on the screen by the display device 221 such as a display.
[0008]
At the same time, the data in the payload part is passed to the data transmission application 913, converted into a transmission packet by the IP protocol transmission processing unit 211, transmitted by the Ethernet (R) frame transmission unit 107, and other terminal devices via the communication network. Is transmitted.
[0009]
[Non-Patent Document 1]
Bit Media Co., Ltd., Uncle Co., “Sharecast Architecture”, “online”, February 2002, “February 27, 2003 Search”, Internet <URL: http: // www. scast. tv / sca. pdf>
[0010]
[Problems to be solved by the invention]
However, when “bucket relay distribution” is performed by a terminal device having the above-described conventional configuration, video content transfer in each terminal device needs to be performed by software processing by a processor. As compared with the case of only the case, the processing performance is about twice as high. For this reason, a high-performance processor is required, and there is a problem that the cost of the terminal device increases.
[0011]
The present invention solves the above-mentioned conventional problems, and transfers data packets by hardware in order to enable “bucket relay distribution” even in a terminal device using an inexpensive processor with low performance. An object of the present invention is to provide a packet transmission apparatus capable of
[0012]
[Means for Solving the Problems]
In order to solve the conventional problem, a packet transmission apparatus according to the present invention includes a packet receiving unit that receives a packet including address information, and an address that stores received address information and transfer address information associated with the received address information. A correspondence table; a means for determining whether the address information of the received packet received by the packet receiving means matches any of the received address information registered in the address correspondence table; and the address of the received packet Address rewriting means for rewriting information according to the forwarding address information associated with the received address information matched in the address correspondence table, means for transmitting the packet output by the address rewriting means, and measuring the reception time of the received packet Receiving time measurement hand Transfer time calculating means for obtaining the transfer time of the received packet based on the reception time; transfer control means for controlling transmission of the received packet according to the transfer time; means for measuring a burst interval of the received packet; The transfer time is a value based on the burst interval.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0014]
FIG. 1 is a schematic configuration diagram of a packet transmission apparatus according to an embodiment of the present invention, and FIG. 2 is a schematic configuration diagram of a terminal device using the apparatus.
[0015]
FIG. 3 is a diagram showing the structure of an Ethernet (R) frame that is a data packet received or transmitted by the apparatus. In FIG. 3, the Ethernet (R) frame 30 has three types of headers: an Ethernet (R) header 310, an IP header 320, and a UDP header 330. In addition, it has a transferable number counter field 323 that represents the remaining number of times that a packet can be transferred, and the video server sets the maximum number of times that a packet can be transferred by a terminal device.
[0016]
FIG. 4 shows the data structure stored in the address correspondence table 109 in FIG. The address correspondence table 109 includes a reception address information table 41 and a transfer address information table 42. The reception address information table 41 stores information necessary for receiving data packets that need to be transferred to other terminal devices. . The transfer address information table 42 stores information necessary for transferring the received packet to another terminal device. Further, each address information in the received address information table stores a correspondence of corresponding transfer address information.
[0017]
Next, the operation of the packet transmission apparatus according to the first embodiment of the present invention will be described using FIGS. 1 to 4 with reference to the operation flow of FIG.
[0018]
First, FIG. 5A shows a procedure for receiving video content directly from a video server. When an operator of the terminal device requests to start viewing, the data reception application 211 of the terminal device sends information about its own IP address and video content reception port number (UDP protocol port number) to the video server. A transmission request is sent to the server (step 501). However, at this time, it is assumed that the terminal device knows the IP address of the video server in advance.
[0019]
If the requested content can be transmitted, the video server returns “success” to the terminal device. When the terminal device receives “success” (procedure 502), it starts receiving a packet containing video content (procedure 503). The Ethernet (R) frame reception processing unit 101 in FIG. 1 receives an Ethernet (R) frame that is a data packet transmitted from the video server, and passes it to the processor 21 in FIG. 2 through the packet output port 112.
[0020]
In FIG. 2, 210, 211 and 212 are executed by software by a processor. The IP protocol reception processing unit 210 processes the IP header and the UDP header of the received Ethernet (R) frame 30, extracts the payload 340, and passes it to the data reception application 211. The data reception application 211 passes the video content data included in the payload to the AV decoder 220. This data is decoded by the AV decoder 220 and displayed on the screen by a display device 221 such as a display.
[0021]
Next, a case where a transfer request is received from another terminal device while receiving video content from the video server will be described with reference to the flowcharts of FIGS. 5B and 5C.
[0022]
When receiving a transfer request from another terminal, the transfer control application 212 in FIG. 2 acquires the IP address of the partner terminal and the port number received by the partner terminal from the partner terminal (step 511 in FIG. 5). The transfer control application 212 sets the reception address information and the transfer address information as shown in FIG. 4 in the reception address information table 41 and the transfer address information table 42 of the address correspondence table 109 in FIG. 1 (procedure 512). . In the example of FIG. 4, it is assumed that the transmission source port number in the reception address information table 41 is unknown until a packet including video content is received from the video server, and a value indicating “arbitrary” is set. .
[0023]
In addition, in the “forwarding address information number” field of the item 401 of the reception address information table 41, 410, which is the number of the corresponding forwarding address information table item, is set and associated with each other.
[0024]
When the Ethernet frame reception processing unit 101 receives an Ethernet frame after completing the setting of the address correspondence table by the above procedure (procedure 521), it is passed to the processor 21 via the packet output port 112, and the reception time measurement unit 102 receives the reception time. The measurement is performed (procedure 522), and the transfer time calculation processing unit 108 calculates the transfer time, which is the time to be transferred, according to the procedure described later (procedure 523).
[0025]
Subsequently, the address determination processing unit 103 refers to the reception address information table of the address correspondence table 109 to determine whether each item of the table matches the corresponding item of the received Ethernet frame (procedure 524). In this example, since a value indicating “arbitrary” is written in the transmission source port number of the reception address information table, the corresponding item is not used for determination of coincidence / non-coincidence.
[0026]
If the address determination processing unit 103 determines “match”, the Ethernet (R) frame is transferred to the transferable number counter processing unit 104 and whether or not the value of the transferable number counter field 323 of the data packet 30 is 1 or more. (Procedure 525). If the value of the transferable number counter field 323 is 0, the Ethernet frame is discarded.
[0027]
When the value of the transferable number counter field 323 is 1 or more, the transferable number counter processing unit 104 rewrites the value of the transferable number counter field 323 by 1 (step 526), and the address rewrite processing unit 105. To the Ethernet (R) frame. The address rewrite processing unit 105 refers to the address correspondence table 109, acquires transfer address information 410 corresponding to the received address information 401 of the Ethernet (R) frame (step 527), and transmits the destination IP address included in the Ethernet frame, the transmission The values of the source IP address, destination port number, and source port number fields are rewritten to the values indicated by the transfer address information 410 (procedure 528). The rewritten data packet is waited until the “transfer time” obtained by the transfer time calculation unit 108 in the transfer control unit 106 (procedure 529), and then transmitted from the Ethernet (R) frame transmission processing unit (procedure). 530).
[0028]
In this way, even in a bucket relay type content distribution method in which a terminal device receives a data packet and transfers it to another terminal device, the processor does not need to perform packet transfer processing and only receives processing. Since the processing load is about the same, a terminal device that supports bucket relay distribution can be realized even with an inexpensive processor with low performance.
[0029]
Furthermore, in the bucket relay type distribution method, there is a possibility that a “loop” occurs in which the data packet transferred by itself returns to itself via another terminal device. Unless one of the terminal devices stops communication, there is a problem that the packet continues to flow infinitely in the loop and increases the load on the network. In response to this problem, a transferable number counter field 323 indicating the number of times a packet can be transferred is provided, and when the video server transmits, a maximum transferable value is set, and the terminal device that has received the packet receives another terminal. Each time the packet is transferred to the device, the value of the transferable count counter field 323 is decreased by 1, and when the field becomes 0, no further transfer is performed. The number of flows can be limited to a finite number of times, and the load on the network can be suppressed.
[0030]
In the embodiment of the present invention described above, each item of the reception address information table and the transfer address information table shown in FIG. 4 has been described as one item, but each table stores a plurality of items. It is also possible. When multiple items are registered in the received address information table, if the received packet matches any of the registered received address information, transfer is performed according to the contents of the transfer address information table associated with the received address information. Is called.
[0031]
It is also possible to register multiple items in the forwarding address information table to be associated with each item in the receiving address information table. In this case, the received packet is forwarded to all the forwarding destinations in the plurality of items in the associated forwarding address information table. To do.
[0032]
Next, a procedure for obtaining the time (transfer time) at which the received packet should be transferred in the transfer time calculation processing unit 108 will be described with reference to FIGS. 6 and 7.
[0033]
In the case of bucket relay distribution, the terminal device sends back the transfer packet to the same network as the communication network (for example, 120) that received the packet. As shown in FIG. 6 (a), data packets sent from the video server are generally not uniform in packet transmission timing, and a plurality of packets are sent together in a burst (in a burst manner). If the packet is transferred immediately, the received packet and the transferred packet collide with each other, which may reduce the transmission efficiency. In addition, since the IP router to which the terminal device is connected needs to process the received packet and the transmitted packet at the same time, the peak load increases and the IP router may not be able to transfer sufficiently. In order to avoid this, it is effective to prevent the transfer to other terminal devices from overlapping the timing of the received packet.
[0034]
FIG. 7 is a schematic configuration diagram of an embodiment of the transfer time calculation processing unit 108.
[0035]
In FIG. 7, the burst determination processing unit 1081 determines the burst period based on the reception time information of each packet input from the reception time measurement processing unit 102. The burst period can be determined, for example, as a period in which the reception interval of each packet is equal to or less than a predetermined value determined in advance.
[0036]
Furthermore, the burst determination unit 1081 obtains a burst length 611 that is the length of the burst period and a burst interval 612 that is an interval from the immediately preceding burst period in each burst period. The filter means 1082 calculates an average value of the past N times (N is a predetermined value) of the burst length and burst interval values for each burst period. The waiting time calculation processing unit 1084 uses the output of the burst length measurement processing unit 1081 or the value output by the filter unit 1082 to obtain the time to wait before transferring each data packet.
[0037]
Various methods can be used as the procedure for obtaining the waiting time. For example, the method can be obtained by the following procedure.
[0038]
Example 1) A value obtained by adding a predetermined fixed time to an average burst length.
[0039]
Example 2) A value obtained by multiplying an average value of burst intervals by a predetermined ratio (for example, 0.5).
[0040]
In the above-described embodiment, the filter means calculates the average value of the past N times, but the same effect can be obtained even if other filter means are used.
[0041]
【The invention's effect】
As described above, according to the packet transmission apparatus of the present invention, the processor of the terminal device only needs to perform the reception process even in the case of supporting the bucket relay distribution system capable of distributing content to a large number of viewers. Therefore, even when the processor capacity is low, it is possible to provide a terminal device that supports the bucket relay distribution system.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a packet transmission apparatus according to an embodiment of the present invention. FIG. 2 is a schematic configuration diagram of a terminal device using the packet transmission apparatus according to an embodiment of the present invention. FIG. 4 is a diagram illustrating an example of information stored in an address correspondence table. FIG. 5 is a flowchart illustrating an operation of the packet transmission apparatus according to the embodiment of the present invention. FIG. 7 is a schematic configuration diagram of a transfer time calculation processing unit in the embodiment of the present invention. FIG. 8 is a schematic diagram of a conventional packet transmission device. Configuration diagram and schematic configuration diagram of terminal equipment using the same device [FIG. 9] Conceptual diagram of bucket relay type distribution system [Explanation of symbols]
1 packet transmission device 101 Ethernet frame reception processing unit 102 reception time measurement processing unit 103 address determination processing unit 104 transferable number counter processing unit 105 address rewrite processing unit 106 transfer control unit 107 Ethernet (R) frame transmission processing unit 108 transfer time calculation Processing unit 109 Address correspondence table 120 Ethernet (R) input / output terminal 121 Packet input port 122 Packet output port 123 Address correspondence table setting port 2 Terminal device 21 Processor 210 IP protocol reception processing unit 211 Data reception application 220 AV decoder 221 Display processing unit 30 Data packet 310 Ethernet header 311 Destination Ethernet address 312 Source Ethernet address 320 IP header 321 Destination IP address 322 Source IP address 330 UDP header 331 Destination port number 332 Source port number 323 Transferable number counter 340 Payload 41 Receive address information table 42 Transfer address information table 61 Receive packet 62 Transfer packet 611 Burst length 612 Burst interval 613 Transfer waiting time 1081 Burst determination processing unit 1082 Filter means 1083 Selection switch 1084 Transfer waiting time calculation processing unit 1085 Adder 810 Video server 811, 812, 813, 814, 815 Terminal equipment 820, 821 Communication network 9 Conventional packet transmission device 910 Processor 211 IP protocol transmission processing unit 912 Data reception application 913 Data transmission application

Claims (2)

アドレス情報を含むパケットを受信するパケット受信手段と、A packet receiving means for receiving a packet including address information;
受信アドレス情報と前記受信アドレス情報に関連付けられた転送アドレス情報を記憶するアドレス対応テーブルと、An address correspondence table for storing reception address information and transfer address information associated with the reception address information;
前記パケット受信手段が受信した受信パケットのアドレス情報が前記アドレス対応テーブルに登録されている前記受信アドレス情報のいずれかと一致するか否かを判定する手段と、Means for determining whether address information of a received packet received by the packet receiving means matches any of the received address information registered in the address correspondence table;
前記受信パケットの前記アドレス情報を前記アドレス対応テーブルにおいて一致した前記受信アドレス情報に関連付けられた前記転送アドレス情報に従って書き換えるアドレス書き換え手段と、Address rewriting means for rewriting the address information of the received packet according to the forwarding address information associated with the received address information matched in the address correspondence table;
前記アドレス書き換え手段が出力したパケットを送信する手段と、Means for transmitting a packet output by the address rewriting means;
前記受信パケットの受信時刻を計測する受信時刻計測手段と、A reception time measuring means for measuring the reception time of the received packet;
前記受信時刻に基づいて前記受信パケットの転送時刻を求める転送時刻計算手段と、A transfer time calculating means for obtaining a transfer time of the received packet based on the reception time;
前記転送時刻に従って前記受信パケットの送信を制御する転送制御手段と、Transfer control means for controlling transmission of the received packet according to the transfer time;
前記受信パケットのバースト間隔を計測する手段とを備え、Means for measuring a burst interval of the received packet,
前記転送時刻は前記バースト間隔に基づく値とする、パケット伝送装置。The packet transmission apparatus, wherein the transfer time is a value based on the burst interval.
アドレス情報を含むパケットを受信するパケット受信手段と、A packet receiving means for receiving a packet including address information;
受信アドレス情報と前記受信アドレス情報に関連付けられた転送アドレス情報を記憶するアドレス対応テーブルと、An address correspondence table for storing reception address information and transfer address information associated with the reception address information;
前記パケット受信手段が受信した受信パケットのアドレス情報が前記アドレス対応テーブルに登録されている前記受信アドレス情報のいずれかと一致するか否かを判定する手段と、Means for determining whether address information of a received packet received by the packet receiving means matches any of the received address information registered in the address correspondence table;
前記受信パケットの前記アドレス情報を前記アドレス対応テーブルにおいて一致した前記受信アドレス情報に関連付けられた前記転送アドレス情報に従って書き換えるアドレス書き換え手段と、Address rewriting means for rewriting the address information of the received packet according to the forwarding address information associated with the received address information matched in the address correspondence table;
前記アドレス書き換え手段が出力したパケットを送信する手段と、Means for transmitting a packet output by the address rewriting means;
前記受信パケットの受信時刻を計測する受信時刻計測手段と、A reception time measuring means for measuring the reception time of the received packet;
前記受信時刻に基づいて前記受信パケットの転送時刻を求める転送時刻計算手段と、A transfer time calculating means for obtaining a transfer time of the received packet based on the reception time;
前記転送時刻に従って前記受信パケットの送信を制御する転送制御手段と、Transfer control means for controlling transmission of the received packet according to the transfer time;
前記受信パケットのバースト長を計測する手段とを備え、Means for measuring the burst length of the received packet,
前記転送時刻は前記バースト長に基づく値とする、パケット伝送装置。The packet transmission apparatus, wherein the transfer time is a value based on the burst length.
JP2003088420A 2003-03-27 2003-03-27 Packet transmission equipment Expired - Fee Related JP4063120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003088420A JP4063120B2 (en) 2003-03-27 2003-03-27 Packet transmission equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003088420A JP4063120B2 (en) 2003-03-27 2003-03-27 Packet transmission equipment

Publications (2)

Publication Number Publication Date
JP2004297543A JP2004297543A (en) 2004-10-21
JP4063120B2 true JP4063120B2 (en) 2008-03-19

Family

ID=33402555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003088420A Expired - Fee Related JP4063120B2 (en) 2003-03-27 2003-03-27 Packet transmission equipment

Country Status (1)

Country Link
JP (1) JP4063120B2 (en)

Also Published As

Publication number Publication date
JP2004297543A (en) 2004-10-21

Similar Documents

Publication Publication Date Title
US7191242B1 (en) Methods and apparatuses for transferring data
JP4672405B2 (en) Communication system, information processing system, connection server, processing server, information processing apparatus, and information processing method
US7433958B2 (en) Packet relay processing apparatus
US8170023B2 (en) System and method for a software-based TCP/IP offload engine for implementing efficient digital media streaming over internet protocol networks
JP4758362B2 (en) Relay device, program, and relay method
JP4398354B2 (en) Relay system
JP2006279394A (en) Session relaying apparatus, and session relaying method and program
CN114615237A (en) Streaming media communication method, system, device and storage medium
CN112398754A (en) Data transmission method, device, medium, electronic equipment and network access equipment
JP4063120B2 (en) Packet transmission equipment
US11172053B2 (en) Transfer apparatus, transfer method, and program for transporting data from a single source to sinks with different communication requirements
US7228562B2 (en) Stream server apparatus, program, and NAS device
JP2005011267A (en) Real-time data communication system, real-time data communication device and method for real-time communication
KR100827493B1 (en) Method and System for supplying Anycast service
JP2006295819A (en) Data transmission apparatus, data transmission method and data transmission program
JP2004129122A (en) Video distribution system
KR20020046816A (en) Real-Time Multimedia Transmission Method and System
JP2005229285A (en) Network device, and method for controlling network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051213

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070801

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: 20071211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071224

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

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140111

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees