[go: up one dir, main page]

JP2008028767A - Network card and information processing apparatus - Google Patents

Network card and information processing apparatus Download PDF

Info

Publication number
JP2008028767A
JP2008028767A JP2006199959A JP2006199959A JP2008028767A JP 2008028767 A JP2008028767 A JP 2008028767A JP 2006199959 A JP2006199959 A JP 2006199959A JP 2006199959 A JP2006199959 A JP 2006199959A JP 2008028767 A JP2008028767 A JP 2008028767A
Authority
JP
Japan
Prior art keywords
data
network
size
unit
bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006199959A
Other languages
Japanese (ja)
Inventor
Masahiro Nagai
正大 永井
Hiroaki Nishimoto
裕明 西本
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.)
Sumitomo Electric Networks Inc
Original Assignee
Sumitomo Electric Networks Inc
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 Sumitomo Electric Networks Inc filed Critical Sumitomo Electric Networks Inc
Priority to JP2006199959A priority Critical patent/JP2008028767A/en
Priority to TW97101754A priority patent/TW200934180A/en
Publication of JP2008028767A publication Critical patent/JP2008028767A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 ストリーミングデータを効率的に送出する技術を提供する。
【解決手段】 ホストコネクタとネットワークコネクタとを備えるネットワークカードであって、ネットワークコネクタを介して送信することになるデータを、ホストコネクタを介して第1サイズよりも大きな第2サイズのブロックデータを単位として受信する受信手段と、受信したブロックデータを一時的に記憶するためのバッファメモリと、第1サイズ以下となるデータフレームを生成し、ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段とを備える。
【選択図】図4
PROBLEM TO BE SOLVED: To provide a technique for efficiently transmitting streaming data.
A network card including a host connector and a network connector, wherein data to be transmitted via the network connector is a unit of block data having a second size larger than the first size via the host connector. Receiving means, a buffer memory for temporarily storing the received block data, and generating a data frame of the first size or less, and transmitting the data frame on a network connected to the network connector Transmitting means.
[Selection] Figure 4

Description

本発明は、データ送出技術、特に、広帯域なストリーミングデータを効率的に送出する技術に関するものである。   The present invention relates to a data transmission technique, and more particularly to a technique for efficiently transmitting broadband streaming data.

近年、ビデオオンデマンド(VOD)などストリーミングサービスが実現されている。また、近年のアクセス網の広帯域化により、配信サーバから送出されるビデオストリーミングデータ1つあたりの帯域も増大している。さらに、今後いわゆるHD(高精細)映像の配信などにより、さらなる広帯域化が見込まれる。配信サーバからデータ送出レートが増大するにしたがい、当該配信サーバの内部バス(たとえばPCIなど)の利用率も増大する傾向にある。   In recent years, streaming services such as video on demand (VOD) have been realized. In addition, the bandwidth per video streaming data transmitted from the distribution server is increasing due to the recent widening of the access network. Furthermore, further broadbandization is expected in the future through the distribution of so-called HD (high definition) video. As the data transmission rate from the distribution server increases, the utilization factor of the internal bus (for example, PCI) of the distribution server tends to increase.

一般的にネットワークインタフェースにはそれぞれの規格に応じて転送可能な最大のデータ長(MTU)が規定されている。たとえばIEEE802.3シリーズ規格としても知られるイーサネット(登録商標)においては最大約1.5kバイトである。そのため、一般的にはデバイスドライバは、内部バスで伝送可能なデータ長が十分大きい場合であっても、ネットワーク上に送信するデータを上述のMTUを超えないような大きさのデータに分割した後、内部バスを経由してインタフェースボードに転送する。なお、この分割のことをフラグメント処理と呼ぶ。その後、ボード上のMAC/PHYにより処理が行われネットワーク上に送出される。   In general, the maximum data length (MTU) that can be transferred is defined for each network interface according to each standard. For example, in Ethernet (registered trademark), which is also known as the IEEE 802.3 series standard, the maximum is about 1.5 kbytes. Therefore, the device driver generally divides the data to be transmitted on the network into data that does not exceed the above MTU even if the data length that can be transmitted by the internal bus is sufficiently large. Transfer to the interface board via the internal bus. This division is called fragment processing. Thereafter, the processing is performed by the MAC / PHY on the board and sent out on the network.

一方、ストリーミングサービスでは、データ量が多いことからネットワーク上でのパケット破棄などが発生し得る。その場合に受信側から再送要求を出さなくともよいよう、配信サーバにおいて前方誤り訂正(FEC)符号化が利用される。たとえば、特許文献1に開示されるような符号化が利用されている。
国際公開番号第WO2005/112250号
On the other hand, in a streaming service, a large amount of data can cause packet discard on the network. In this case, forward error correction (FEC) encoding is used in the distribution server so that it is not necessary to issue a retransmission request from the receiving side. For example, encoding as disclosed in Patent Document 1 is used.
International Publication No. WO2005 / 112250

内部バスにおいては、一般的には、ストリーミングデータの送信単位に合わせて十分大きなデータ単位(データ長)で転送することが可能である。しかしながら、上述したようにMTUによる制限から結果として内部バス上を流れるデータ長は小さいものとなってしまう。そのため、ストリーミングデータの送信においては、バスの混雑が発生しやすく、フラグメント処理によるCPUパワーも必要とされるという問題点がある。   In general, the internal bus can transfer data in a sufficiently large data unit (data length) in accordance with the transmission unit of streaming data. However, as described above, the data length flowing on the internal bus becomes small as a result of the limitation by the MTU. Therefore, in transmitting streaming data, there is a problem that bus congestion tends to occur, and CPU power by fragment processing is also required.

また、大量のデータに対して特許文献1に開示されているような符号化処理を実行するためには更なるCPUパワーを必要とする。   Further, in order to execute an encoding process as disclosed in Patent Document 1 for a large amount of data, further CPU power is required.

本発明は上述した問題点に鑑みなされたものであり、これらの問題点の少なくとも1つを解決することを目的とする。   The present invention has been made in view of the above-described problems, and an object thereof is to solve at least one of these problems.

上述した問題点の少なくとも1つを解決するため本発明のネットワークカードは以下の構成を備える。   In order to solve at least one of the problems described above, the network card of the present invention has the following configuration.

即ち、ホスト装置に設けられたバスコネクタに接続するためのホストコネクタと、ネットワークに接続するためのネットワークコネクタとを備えるネットワークカードであって、前記ネットワークコネクタを介して送信可能なデータフレームの最大サイズを第1サイズとしたとき、前記ネットワークコネクタを介して送信することになるデータを、前記ホストコネクタを介して前記第1サイズよりも大きな第2サイズのブロックデータを単位として受信する受信手段と、前記受信手段において受信したブロックデータを一時的に記憶するためのバッファメモリと、前記バッファメモリから、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段とを備える。   That is, a network card having a host connector for connecting to a bus connector provided in the host device and a network connector for connecting to a network, the maximum size of a data frame that can be transmitted through the network connector Receiving means for receiving data to be transmitted via the network connector as a unit of block data of a second size larger than the first size via the host connector, A buffer memory for temporarily storing the block data received by the receiving means, and reading data to be included in the data frame to be transmitted from the buffer memory, and generating a data frame having the first size or less Connected to the network connector It was on the network and transmitting means for transmitting the data frame.

上述した問題点の少なくとも1つを解決するため本発明の情報処理装置は以下の構成を備える。   In order to solve at least one of the problems described above, an information processing apparatus of the present invention has the following configuration.

即ち、バスにより接続されたホスト処理部とネットワーク処理部を備え、ネットワークにストリーミングデータを送出する情報処理装置であって、前記ホスト処理部は、ストリームデータを入力するデータ入力手段と、少なくとも前記ストリームデータを、前記ネットワークにおいて転送可能なデータフレームの最大サイズを第1サイズとしたとき、該第1サイズよりも大きな第2サイズのブロックデータを単位として、前記バスを介して前記ネットワーク処理部に転送するバス転送手段と備え、前記ネットワーク処理部は、前記バス転送手段から前記バスを介して送信されたブロックデータを受信する受信手段と、前記受信手段において受信したブロックデータを一時的に記憶するための記憶手段と、前記記憶手段から、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段とを備える。   That is, an information processing apparatus that includes a host processing unit and a network processing unit connected by a bus and sends streaming data to a network, the host processing unit including data input means for inputting stream data, and at least the stream When the maximum size of a data frame that can be transferred in the network is the first size, the data is transferred to the network processing unit via the bus in units of block data having a second size larger than the first size. The network processing unit for receiving the block data transmitted from the bus transfer unit via the bus, and for temporarily storing the block data received by the receiving unit. Storage means and a data flow to be transmitted from the storage means. Reading data for inclusion in over beam, and generates a data frame to be less than the first size, and transmitting means for transmitting the data frame over a network connected to the network connector.

本発明によれば、ストリーミングデータを効率的に送出する技術を提供することができる。   According to the present invention, a technique for efficiently sending streaming data can be provided.

以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、これらの実施の形態はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。   Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. Note that these embodiments are merely examples, and are not intended to limit the scope of the present invention.

(第1実施形態)
本発明に係るデータ送出装置の第1実施形態として、汎用のPCおよびネットワークボードにより構成されたストリーミング配信装置を例に挙げて以下に説明する。
(First embodiment)
As a first embodiment of the data transmission apparatus according to the present invention, a streaming distribution apparatus constituted by a general-purpose PC and a network board will be described below as an example.

<概要>
第1実施形態のストリーミング配信装置においては、従来PC本体のCPUがデバイスドライバプログラムを実行することにより行っていたフラグメント処理をネットワークボード上のハードウェアにより処理を行う。その結果、PC本体のCPUにおける負荷低減を実現するとともに、バスを介したネットワークボードへのデータ転送をより大きなデータ長により行うことが出来、バス使用効率の向上を実現する。
<Overview>
In the streaming distribution apparatus according to the first embodiment, the fragment processing that has been performed by the CPU of the PC main body by executing the device driver program is processed by hardware on the network board. As a result, the load on the CPU of the PC main body can be reduced, and the data transfer to the network board via the bus can be performed with a larger data length, thereby improving the bus use efficiency.

<システム構成および装置構成>
図1は、ストリーミング配信システムの全体構成の概念図を示す。
<System configuration and device configuration>
FIG. 1 is a conceptual diagram of the overall configuration of a streaming distribution system.

100はストリーミング配信サーバ、110a、110bはストリーミング受信装置である。また、101、111aおよび111bは、それぞれ、配信サーバ100、受信装置110a、110bが属するネットワークセグメントである。各々のネットワークセグメント101、111a、111bは、ルータ102、112a、112bおよびコアネットワーク120を介して接続されている。なお、以降では、各ネットワークセグメント間のデータ転送には、インターネットプロトコル(IP)が使用されるものとして説明を行う。   Reference numeral 100 denotes a streaming distribution server, and 110a and 110b denote streaming receiving apparatuses. Reference numerals 101, 111a, and 111b denote network segments to which the distribution server 100 and the receiving apparatuses 110a and 110b belong, respectively. Each network segment 101, 111 a, 111 b is connected via routers 102, 112 a, 112 b and core network 120. In the following description, it is assumed that the Internet protocol (IP) is used for data transfer between the network segments.

配信サーバ100は、受信端末110a、110bに対してストリームデータをRTP/UDP/IPの形式でパケット化し送信する。ここ、RTPはリアルタイムトランスポートプロトコルを意味し、UDPはユーザデータグラムプロトコルを意味する。なお、配信サーバ100は、ユニキャストで各受信端末にストリーミング配信しても良いし、マルチキャストで配信しても良い。また、いわゆるビデオオンデマンド(VOD)サービスのように各受信端末からの配信要求に基づいて配信を開始しても良い。   The distribution server 100 packetizes and transmits the stream data in the RTP / UDP / IP format to the receiving terminals 110a and 110b. Here, RTP means real-time transport protocol and UDP means user datagram protocol. The distribution server 100 may perform streaming distribution to each receiving terminal by unicast or distribution by multicast. Further, distribution may be started based on a distribution request from each receiving terminal as in a so-called video on demand (VOD) service.

図2は、第1実施形態に係る配信サーバの内部構成を示す図である。図に示されるように、配信サーバ100は、CPU201、RAM202、ROM203、HDD204、ユーザI/F205およびネットワーク(NW)ボード200から構成されており、各部は内部システムバス210により相互に接続されている。   FIG. 2 is a diagram illustrating an internal configuration of the distribution server according to the first embodiment. As shown in the figure, the distribution server 100 includes a CPU 201, a RAM 202, a ROM 203, an HDD 204, a user I / F 205, and a network (NW) board 200, and each unit is mutually connected by an internal system bus 210. .

CPU201は、ROM203やHDD204に記憶される各種プログラムを実行することにより、各部を制御、または図4で後述する各機能部を実現する。ROM203は、配信サーバ100の起動時等に実行されるプログラム等を記憶している。RAM202は、CPU201により実行される各種プログラムや各種データの一時記憶を行う。HDD204は、大容量の記憶装置であり、各種プログラムや各種データファイルの記憶を行う。プログラムには、オペレーティングシステム(OS)プログラムやストリーミング配信プログラムが含まれる。ユーザI/F205は不図示のキーボードやマウスなどのユーザ入力装置、および、不図示のディスプレイなどの表示出力装置である。   The CPU 201 executes various programs stored in the ROM 203 and the HDD 204 to control each unit or implement each functional unit described later with reference to FIG. The ROM 203 stores a program executed when the distribution server 100 is activated. The RAM 202 temporarily stores various programs executed by the CPU 201 and various data. The HDD 204 is a large-capacity storage device and stores various programs and various data files. The program includes an operating system (OS) program and a streaming distribution program. A user I / F 205 is a user input device such as a keyboard and a mouse (not shown) and a display output device such as a display (not shown).

内部システムバス210としては一般的なPCIバスを含む汎用バスを想定するが、もちろん専用のバスであっても良い。ただし、バス210における転送速度はネットワーク101における転送速度よりも大きく、転送可能なデータ長はネットワーク101におけるデータ長よりも長いものとする。   The internal system bus 210 is assumed to be a general-purpose bus including a general PCI bus, but may be a dedicated bus as a matter of course. However, the transfer speed on the bus 210 is higher than the transfer speed on the network 101, and the transferable data length is longer than the data length on the network 101.

なお、以降では説明を簡単にするため、配信サーバ100において、ネットワーク(NW)ボード200を”NWボード側”、それ以外の部分を”サーバ本体側”と呼ぶ場合がある。   In the following, in order to simplify the description, in the distribution server 100, the network (NW) board 200 may be referred to as “NW board side” and the other parts may be referred to as “server body side”.

図3は、第1実施形態に係る配信サーバ内のネットワークボードの内部構成を示す図である。図に示されるように、ネットワークボード200は、パケットハンドラ301、メモリ302、メモリコントローラ303およびバスI/F310から構成されている。   FIG. 3 is a diagram illustrating an internal configuration of the network board in the distribution server according to the first embodiment. As shown in the figure, the network board 200 includes a packet handler 301, a memory 302, a memory controller 303, and a bus I / F 310.

メモリ302は、バス210およびバスI/F310を介してサーバ本体側から受信したデータを、一時的に格納する部分であり、内部にパケットバッファ302aを備えている。なお、詳細は後述するがパケットバッファ302aはストリーム毎に領域が確保される。   The memory 302 is a part for temporarily storing data received from the server main body via the bus 210 and the bus I / F 310, and includes a packet buffer 302a therein. Although details will be described later, an area of the packet buffer 302a is secured for each stream.

パケットハンドラ301は、メモリ302に一時記憶されたデータをネットワーク110に適したデータ形式で送信する回路部である。具体的には、メモリ302に一時記憶されたデータに対し、後述するフラグメント処理やスムージング処理を行った後、ネットワーク110に出力する。   The packet handler 301 is a circuit unit that transmits data temporarily stored in the memory 302 in a data format suitable for the network 110. Specifically, the data temporarily stored in the memory 302 is subjected to fragment processing and smoothing processing described later, and then output to the network 110.

<機能構成および動作>
図4は、第1実施形態に係る配信サーバの機能構成を示す図である。
<Functional configuration and operation>
FIG. 4 is a diagram illustrating a functional configuration of the distribution server according to the first embodiment.

配信サーバ100は、データ送信に関連する機能部として、入力部401、バス転送部402、フラグメント処理部403およびスムージング処理部404を備えている。なお、入力部401およびバス転送部402の各機能部は、サーバ本体側のCPU201が各種プログラムを実行することにより実現される。一方、フラグメント処理部403およびスムージング処理部404の各機能部は、NWボード側のハードウェアにより実現される。以下、各機能部について説明を行う。   The distribution server 100 includes an input unit 401, a bus transfer unit 402, a fragment processing unit 403, and a smoothing processing unit 404 as functional units related to data transmission. The function units of the input unit 401 and the bus transfer unit 402 are realized by the CPU 201 on the server body side executing various programs. On the other hand, the functional units of the fragment processing unit 403 and the smoothing processing unit 404 are realized by hardware on the NW board side. Hereinafter, each functional unit will be described.

なお、以下では説明を簡単にするために各処理部のRTP/UDP/IPの形式のストリーミングデータに対しての処理についてのみ説明を行う。その他のデータについては、従来通りの処理がなされる。なお、パケットの区別はIPヘッダに記載されるポート番号に基づいて行っても良いし、ただ単にパケットのデータ長に基づいて行っても良い。   In the following, for the sake of simplicity, only the processing for the streaming data in the RTP / UDP / IP format of each processing unit will be described. Other data is processed as usual. Packets may be distinguished based on the port number described in the IP header, or simply based on the packet data length.

入力部401は、ネットワークボード200を介して送信することになるストリーミングファイルを入力する機能部である。具体的には、CPU201がストリーミング配信ソフトウェアを実行することにより、HDD204などに格納されるストリーミングデータをRAM202に読み込むことにより実現される。なお、入力部401は、請求項における入力手段に相当する。   The input unit 401 is a functional unit that inputs a streaming file to be transmitted via the network board 200. Specifically, it is realized by the CPU 201 executing the streaming distribution software to read the streaming data stored in the HDD 204 or the like into the RAM 202. The input unit 401 corresponds to input means in the claims.

バス転送部402は、入力部401によりRAM202上に入力されたストリーミングデータを予め指定された固定長データに分割した後、RTP/UDP/IPの形式として格納し、バス210を介してNWボード側に転送する機能部である。具体的には、CPU201が、IPスタックプログラムおよびNWボード200のデバイスドライバプログラムを実行することにより実現される。なお、バス転送部402は、請求項におけるバス転送手段に相当する。   The bus transfer unit 402 divides the streaming data input to the RAM 202 by the input unit 401 into fixed-length data designated in advance, and stores the data in the RTP / UDP / IP format. It is a functional part to transfer to. Specifically, it is realized by the CPU 201 executing the IP stack program and the device driver program of the NW board 200. The bus transfer unit 402 corresponds to the bus transfer means in the claims.

ただし、背景技術で説明した場合と異なり、転送されるストリーミングデータパケットはネットワーク101に送出可能なデータ長に比較し大きいものとなっている。例えば、ネットワーク101がイーサネット(登録商標)である場合、つまり、最大のデータ長(MTU)(請求項における第1サイズ)が約1.5kバイトであっても、例えば32kバイトなどの大きなデータブロック(請求項における第2サイズ)として転送する。   However, unlike the case described in the background art, the streaming data packet to be transferred is larger than the data length that can be transmitted to the network 101. For example, when the network 101 is Ethernet (registered trademark), that is, even if the maximum data length (MTU) (first size in the claims) is about 1.5 kbytes, a large data block such as 32 kbytes is used. (Second size in the claims).

なお、一般にアプリケーションとIPスタックプログラムとの間、および、IPスタックプログラムとデバイスドライバとの間のデータ形式については仕様が定められているため変更を行うには大きな設計変更を伴うことになる。しかし、上述のような、デバイスドライバとハードウェアとの間のデータ形式は比較的自由に設計が可能であることに注意されたい。   In general, specifications are determined for the data format between the application and the IP stack program and between the IP stack program and the device driver, so that a change requires a large design change. However, it should be noted that the data format between the device driver and the hardware as described above can be designed relatively freely.

詳細は後述するが、データ(データブロック)において、IP、UDP、RTPの各ヘッダを除いたペイロード部を、ストリームデータの最小処理単位の整数倍(あるいは2の累乗倍)に相当するデータ長とすることが好適である。   Although details will be described later, in the data (data block), the payload part excluding the headers of IP, UDP, and RTP is represented by a data length corresponding to an integral multiple (or a power of 2) of the minimum processing unit of stream data. It is preferable to do.

フラグメント処理部403は、バス210(バスコネクタ)を介してバス転送部402から転送されたデータ(データブロック)をネットワーク101に送出可能なデータ長に分割する機能部である。具体的には、不図示のホストコネクタを介してメモリ302に格納されたデータブロックを、ネットワーク101のMTU以下となるデータ長に分割し、分割されたデータに対応するIP、UDP、RTPの各ヘッダを再生成する。そして、ネットワーク101に直接送信可能なデータ長のIPパケットをパケットバッファ302aに格納する。なお、バスI/F310は、請求項における受信手段、メモリ302は、請求項におけるバッファメモリまたは記憶手段に相当する。また、フラグメント処理部402は、請求項における送信手段の一部を構成し、パケットハンドラ301が送信手段に相当する。   The fragment processing unit 403 is a functional unit that divides data (data blocks) transferred from the bus transfer unit 402 via the bus 210 (bus connector) into data lengths that can be sent to the network 101. Specifically, a data block stored in the memory 302 via a host connector (not shown) is divided into data lengths equal to or less than the MTU of the network 101, and each of IP, UDP, RTP corresponding to the divided data is divided. Regenerate the header. Then, an IP packet having a data length that can be directly transmitted to the network 101 is stored in the packet buffer 302a. The bus I / F 310 corresponds to the receiving unit in the claims, and the memory 302 corresponds to the buffer memory or the storage unit in the claims. The fragment processing unit 402 constitutes part of the transmission means in the claims, and the packet handler 301 corresponds to the transmission means.

なお、IP、UDP、RTPの各ヘッダを再生成とは具体的には以下の処理を言う。IPヘッダには当該IPパケットに含まれるデータのデータ長(ペイロード長)が記載されている。また、UDPヘッダには当該UDPパケットに含まれるデータのデータ長および当該データのチェックサムが記載されている。さらに、RTPヘッダには当該RTPパケットに含まれるデータのシーケンス番号およびタイムスタンプが記載されている。そのため、フラグメント処理部403によるフラグメント処理の結果、RTPパケットは分割されることから、これらの各ヘッダ内に記載された情報を、分割されたパケットに合わせて算出し、ヘッダ情報を更新するのである。なお、バス転送部402から転送されたデータ(データブロック)において、IP、UDP、RTPの各ヘッダを除いたペイロード部を等分割とすることによりヘッダ情報の算出が簡単になる。そのため、前述のように、データブロックのペイロード部をストリームデータの最小処理単位の整数倍(あるいは2の累乗倍)に相当するデータ長にすることが望ましいのである。   Note that the regeneration of IP, UDP, and RTP headers specifically refers to the following processing. The IP header describes the data length (payload length) of the data included in the IP packet. The UDP header describes the data length of the data included in the UDP packet and the checksum of the data. Further, the RTP header describes the sequence number and time stamp of the data included in the RTP packet. Therefore, since the RTP packet is divided as a result of fragment processing by the fragment processing unit 403, the information described in each header is calculated according to the divided packet and the header information is updated. . In the data (data block) transferred from the bus transfer unit 402, header information is easily calculated by equally dividing the payload portion excluding the IP, UDP, and RTP headers. Therefore, as described above, it is desirable that the payload portion of the data block has a data length corresponding to an integral multiple (or a power of 2) of the minimum processing unit of the stream data.

スムージング処理部404は、フラグメント処理部403によりパケットバッファ302aに格納された固定長のIPパケットを等間隔にネットワーク101に送出する機能部である。具体的には、パケットバッファ302aに格納された固定長のIPパケット内のヘッダ情報に基づいて送出間隔を算出し、格納された順番にIPパケットを送出する。送出間隔は、例えば、IPヘッダあるいはUDPヘッダのデータ長の情報とRTPヘッダのタイムスタンプの情報により算出可能である。なお、バースト的なトラフック特性にならないと想定される予め設定された送出間隔となるよう順番にIPデータを送出しても良い。なお、スムージング処理部404は、請求項における送信間隔制御手段に相当する。   The smoothing processing unit 404 is a functional unit that sends out fixed-length IP packets stored in the packet buffer 302 a by the fragment processing unit 403 to the network 101 at equal intervals. Specifically, a transmission interval is calculated based on header information in a fixed-length IP packet stored in the packet buffer 302a, and the IP packets are transmitted in the stored order. The transmission interval can be calculated, for example, from the data length information of the IP header or UDP header and the time stamp information of the RTP header. Note that the IP data may be sent in order so as to have a preset sending interval that is assumed not to have bursty traffic characteristics. The smoothing processing unit 404 corresponds to transmission interval control means in the claims.

なお、上述の説明においては、フラグメント後のIP(RTP)パケットが時間方向に均等間隔となるよう送出制御を行った。しかし、一般的には、NWボード200からはRTPパケットだけでなく、当該RTPパケットストリームの制御に利用されるRTCPパケット、あるいはその他のパケットが送出され得る。そのため、予めRTPパケット以外に使用可能な時間スロットを確保しておき、当該時間スロットを除く期間において均等間隔となるよう送出制御を行うよう構成するのも好適である。   In the above description, transmission control is performed so that IP (RTP) packets after fragmentation are equally spaced in the time direction. However, in general, not only RTP packets but also RTCP packets used for controlling the RTP packet stream or other packets can be transmitted from the NW board 200. For this reason, it is also preferable to secure a usable time slot in addition to the RTP packet in advance, and perform transmission control so that the intervals are equal in a period excluding the time slot.

<動作フロー>
図5は、第1実施形態に係る配信サーバにおけるデータの処理フローチャートである。なお以下のステップは、例えば受信装置110a(あるいは110b)からのストリーミングデータの送信要求の受付により開始される。なおここでは、ストリームデータの最小処理単位は64バイトであると仮定する。
<Operation flow>
FIG. 5 is a data processing flowchart in the distribution server according to the first embodiment. The following steps are started by receiving a streaming data transmission request from the receiving device 110a (or 110b), for example. Here, it is assumed that the minimum processing unit of stream data is 64 bytes.

ステップS501では、入力部401は、受信装置110aから要求のあったストリーミングデータをHDD204などから読み込みRAM202に格納する。   In step S501, the input unit 401 reads the streaming data requested from the receiving device 110a from the HDD 204 or the like and stores it in the RAM 202.

ステップS502では、バス転送部402は、ステップS501においてRAM202に格納されたデータを、例えば、16kバイト(=64バイト×2)のデータ長のデータブロックに分割する。そして、当該データブロックに対するIP、UDP、RTPの各ヘッダを生成し、RTP/UDP/IPの形式として格納し、バス210を介してNWボード側に転送する。 In step S502, the bus transfer unit 402 divides the data stored in the RAM 202 in step S501 into data blocks having a data length of 16 kbytes (= 64 bytes × 2 8 ), for example. Then, IP, UDP, and RTP headers for the data block are generated, stored in the RTP / UDP / IP format, and transferred to the NW board side via the bus 210.

ステップS503では、フラグメント処理部403は、ステップS502においてバス210を介してバス転送部402から転送されたデータブロック内のペイロードデータを、例えば、512バイト(=64バイト×2)のデータ長のデータに分割する。つまり、ネットワーク101におけるMTU以下のデータ長となるようデータブロックを分割する。そして、分割され生成された512バイト長の各データに対してIP、UDP、RTPの各ヘッダを再生成し、RTP/UDP/IPの形式として格納する。そして、再生成されたIPパケットをパケットバッファ302aに格納する。 In step S503, the fragment processing unit 403 converts the payload data in the data block transferred from the bus transfer unit 402 via the bus 210 in step S502 to a data length of, for example, 512 bytes (= 64 bytes × 2 3 ). Divide into data. That is, the data block is divided so that the data length is equal to or less than the MTU in the network 101. Then, the IP, UDP, and RTP headers are regenerated for each 512-byte data generated by division and stored in the RTP / UDP / IP format. Then, the regenerated IP packet is stored in the packet buffer 302a.

ステップS504では、スムージング処理部404は、ステップS503においてパケットバッファ302aに格納されたIPパケットを、等間隔にネットワーク101に送出する。   In step S504, the smoothing processing unit 404 sends the IP packets stored in the packet buffer 302a in step S503 to the network 101 at regular intervals.

なお、上述のフローチャートにおいては、説明を簡単にするために配信サーバ100からは単一のストリーミングデータが送信されるように説明を行った。しかし、もちろん、上述の処理をストリーミングデータ毎に実行することも可能である。特に、ストリーミングデータ毎に上述のスムージング処理部404の処理を実行することにより、各受信装置110a、110bの属するネットワークセグメント111a、111bに到達するストリーミングデータは、それぞれがバースト性の抑えられたトラフィックとなるため、データのロスが発生しにくくなるという利点がある。   In the above flowchart, for the sake of simplicity, the description has been made so that single streaming data is transmitted from the distribution server 100. However, of course, it is possible to execute the above processing for each streaming data. In particular, the streaming data reaching the network segments 111a and 111b to which the receiving devices 110a and 110b belong by performing the above-described processing of the smoothing processing unit 404 for each streaming data, Therefore, there is an advantage that data loss hardly occurs.

以上説明をしたように、第1実施形態の配信サーバによれば、フラグメント処理によるバス210の負荷(輻輳)、および、フラグメント処理実行によるCPU201の負荷を大幅に低減することが出来る。そのため、バス210の転送能力またはCPU201の処理能力に起因するボトルネックを大幅に緩和することが可能となる。その結果、ストリーミングデータをより効率的に送出することが可能となる。   As described above, according to the distribution server of the first embodiment, the load on the bus 210 due to fragment processing (congestion) and the load on the CPU 201 due to execution of fragment processing can be greatly reduced. Therefore, the bottleneck caused by the transfer capability of the bus 210 or the processing capability of the CPU 201 can be greatly relieved. As a result, streaming data can be transmitted more efficiently.

(第2実施形態)
<概要>
第2実施形態では、第1実施形態の構成に加え、NWボード上に前方誤り訂正符号(FEC)の符号器を配置する。なお、ここで言う前方誤り訂正符号は欠損補償符号を含む。このような構成とすることにより、FEC符号化処理に消費されるCPUパワーを大幅に低減可能となる。また、バス使用率(トラフィック)を低減することが可能となる。
(Second Embodiment)
<Overview>
In the second embodiment, in addition to the configuration of the first embodiment, a forward error correction code (FEC) encoder is arranged on the NW board. The forward error correction code referred to here includes a loss compensation code. With such a configuration, the CPU power consumed for the FEC encoding process can be greatly reduced. In addition, the bus usage rate (traffic) can be reduced.

なお、ストリーミング配信システムの全体構成(図1)、および、配信サーバの内部構成(図2)については第1実施形態と同様であるため説明は省略する。   Note that the overall configuration of the streaming distribution system (FIG. 1) and the internal configuration of the distribution server (FIG. 2) are the same as those in the first embodiment, and a description thereof will be omitted.

<FEC符号>
本発明においてはFEC符号として特に欠損補償符号を用いるのが効果的である。そのため、第2実施形態において、FEC符号としては、米国デジタルファウンテン社により開発されたFEC符号であるRaptor符号を用いると仮定する。ただし、もちろん一般的なリードソロモン(RS)ベースの符号を用いることも可能である。以下に、Raptor符号について簡単に説明するが、詳細については背景技術において述べた特許文献1を参照されたい。
<FEC code>
In the present invention, it is particularly effective to use a loss compensation code as the FEC code. Therefore, in the second embodiment, it is assumed that a Raptor code, which is an FEC code developed by the US Digital Fountain Company, is used as the FEC code. Of course, it is also possible to use a general Reed-Solomon (RS) -based code. Hereinafter, the Raptor code will be briefly described. For details, refer to Patent Document 1 described in the background art.

Raptor符号では、ストリームファイルを特定のデータ長(s×kバイト)の区間ごとに分け、各区間のデータを”入力シンボル”と呼ばれる同一データ長(sバイト)のk個のデータに分割する。そして、キーと呼ばれるインデックス値に基づいて、分割されたk個の入力シンボルから1以上の入力シンボル選択し、選択された入力シンボル同士をビット毎にXOR演算を行い、”出力シンボル”と呼ばれるsバイトのデータ長のデータを生成する。このような出力シンボルを異なるキーに対して連続して生成する。   In the Raptor code, a stream file is divided into sections having a specific data length (s × k bytes), and data in each section is divided into k pieces of data having the same data length (s bytes) called “input symbols”. Then, based on an index value called a key, one or more input symbols are selected from the divided k input symbols, the selected input symbols are subjected to XOR operation for each bit, and s called “output symbols” Generate data with a data length of bytes. Such output symbols are generated sequentially for different keys.

一方、受信側では、確率的にk+α個(αはkに比較し小さい)の出力シンボルを受信し、出力シンボル同士をXOR演算することにより入力シンボルを復元する。このとき、k+α個の出力シンボルは任意に選択可能であるため、転送中にどのパケットがロスした場合でも復元可能であるという優れた特性をもっている。   On the other hand, on the receiving side, k + α (α is smaller than k) output symbols are received stochastically, and the input symbols are restored by XORing the output symbols. At this time, since k + α output symbols can be arbitrarily selected, it has an excellent characteristic that it can be restored regardless of which packet is lost during transfer.

<装置構成>
図6は、第2実施形態に係る配信サーバ内のネットワークボードの内部構成を示す図である。図に示されるように、ネットワークボード600は、パケットハンドラ601、メモリ602、メモリコントローラ603、バスI/F610に加え、符号化エンジン604および符号化制御部605を備えている。以下では、第1実施形態と異なる部分であるFEC符号化エンジン604および符号化制御部605について説明する。
<Device configuration>
FIG. 6 is a diagram illustrating an internal configuration of the network board in the distribution server according to the second embodiment. As shown in the figure, the network board 600 includes an encoding engine 604 and an encoding control unit 605 in addition to a packet handler 601, a memory 602, a memory controller 603, and a bus I / F 610. Below, the FEC encoding engine 604 and the encoding control part 605 which are different parts from 1st Embodiment are demonstrated.

FEC符号化エンジン604は、XOR演算をハードウェアで実行する回路である。XOR演算を含む論理演算がハードウェアにより容易に構成可能であることは、当業者には良く知られている。   The FEC encoding engine 604 is a circuit that executes an XOR operation by hardware. It is well known to those skilled in the art that logical operations including XOR operations can be easily configured by hardware.

符号化制御部605は、前述のRaptor符号の符号化動作をFEC符号化エンジン604を制御することにより実現する機能部である。なお、符号化制御部605を、不図示のCPUおよび制御プログラムを格納するフラッシュメモリとして構成することにより、他のFEC符号アルゴリズムに容易に変更することが可能となり好適である。なお、符号化制御部605およびFEC符号化エンジン604が、請求項における符号化手段に相当する。   The encoding control unit 605 is a functional unit that realizes the above-described encoding operation of the Raptor code by controlling the FEC encoding engine 604. It is preferable that the encoding control unit 605 is configured as a flash memory that stores a CPU and a control program (not shown), so that it can be easily changed to another FEC encoding algorithm. Note that the encoding control unit 605 and the FEC encoding engine 604 correspond to encoding means in the claims.

具体的には、符号化制御部605はメモリ602に一時記憶されたデータ(入力シンボル)から、1以上の入力シンボルを選択しFEC符号化エンジン604に入力することにより順次出力シンボルを生成する。そして、生成された出力シンボルをメモリ602に一時記憶する。   Specifically, the encoding control unit 605 sequentially generates output symbols by selecting one or more input symbols from data (input symbols) temporarily stored in the memory 602 and inputting them to the FEC encoding engine 604. The generated output symbol is temporarily stored in the memory 602.

ただし、前述のRaptor符号について説明でも述べたように、出力シンボルと入力シンボルとのデータ長は同一であるが、数は少なくともα個以上増加していることに注意する。   However, as described in the description of the above-described Raptor code, it should be noted that although the output symbol and the input symbol have the same data length, the number increases by at least α.

パケットハンドラ601は、メモリ602に一時記憶された出力シンボルにより構成されたデータをネットワーク110に適したデータ形式で送信する回路部である。具体的には、メモリ602に一時記憶されたデータに対し、フラグメント処理やスムージング処理を行った後、ネットワーク110に出力する。   The packet handler 601 is a circuit unit that transmits data composed of output symbols temporarily stored in the memory 602 in a data format suitable for the network 110. Specifically, the data temporarily stored in the memory 602 is subjected to fragment processing and smoothing processing, and then output to the network 110.

<機能構成および動作>
図7は、第2実施形態に係る配信サーバの機能構成を示す図である。
<Functional configuration and operation>
FIG. 7 is a diagram illustrating a functional configuration of the distribution server according to the second embodiment.

配信サーバ100は、データ送信に関連する機能部として、入力部701、バス転送部702、フラグメント処理部703、スムージング処理部704に加え、符号化処理部705を備えている。以下では、第1実施形態と異なる部分である符号化処理部705に関連する部分について説明する。   The distribution server 100 includes an encoding processing unit 705 in addition to an input unit 701, a bus transfer unit 702, a fragment processing unit 703, and a smoothing processing unit 704 as functional units related to data transmission. Below, the part relevant to the encoding process part 705 which is a different part from 1st Embodiment is demonstrated.

符号化処理部705は、バス210を介してバス転送部702から転送されたデータ(データブロック)に対しFEC符号化処理を実行する機能部である。具体的には、符号化エンジン604および符号化制御部605により実現され、メモリ302に格納されたデータブロックを、前述の入力シンボルと見立てて、出力シンボルを生成する。   The encoding processing unit 705 is a functional unit that performs FEC encoding processing on data (data block) transferred from the bus transfer unit 702 via the bus 210. Specifically, an output symbol is generated by regarding the data block realized by the encoding engine 604 and the encoding control unit 605 and stored in the memory 302 as the above-described input symbol.

フラグメント処理部703は、符号化処理部705により符号化された出力シンボル(データブロック)をネットワーク101に送出可能なデータ長に分割する機能部である。具体的には、メモリ602に格納されたデータブロックを、ネットワーク101のMTU以下となるデータ長に分割し、分割されたデータに対応するIP、UDP、RTPの各ヘッダを再生成する。そして、ネットワーク101に直接送信可能なデータ長のIPパケットをパケットバッファ602aに格納する。   The fragment processing unit 703 is a functional unit that divides the output symbols (data blocks) encoded by the encoding processing unit 705 into data lengths that can be transmitted to the network 101. Specifically, the data block stored in the memory 602 is divided into data lengths equal to or less than the MTU of the network 101, and the IP, UDP, and RTP headers corresponding to the divided data are regenerated. Then, an IP packet having a data length that can be directly transmitted to the network 101 is stored in the packet buffer 602a.

ただし、前述のように、符号化処理部705による符号化処理により、冗長データが追加されるため、結果として符号化処理部705の入力レートに比較し出力レートの方が大きい。具体的には、k個の入力シンボルからk+α個の出力シンボルを生成する場合、同じデータ長であることから、出力レートは入力レートの(k+α)/k倍になる。このとき、符号化率はk/(k+α)と表され、例えばRTPヘッダのタイムスタンプは符号化率に基づいて再設定される。つまり、非符号化時に比較し時間間隔を約k/(k+α)倍だけ短く設定する。ここで、入力シンボルおよび出力シンボル1個のデータ量が請求項における第1データ量に相当する。また、入力シンボルk個に相当するデータ量が請求項における第2データ量に相当する。   However, as described above, redundant data is added by the encoding processing by the encoding processing unit 705, and as a result, the output rate is higher than the input rate of the encoding processing unit 705. Specifically, when k + α output symbols are generated from k input symbols, since the data length is the same, the output rate is (k + α) / k times the input rate. At this time, the coding rate is expressed as k / (k + α). For example, the time stamp of the RTP header is reset based on the coding rate. That is, the time interval is set to be shorter by about k / (k + α) times compared with the case of non-coding. Here, the data amount of one input symbol and one output symbol corresponds to the first data amount in the claims. A data amount corresponding to k input symbols corresponds to a second data amount in the claims.

スムージング処理部704は、フラグメント処理部703によりパケットバッファ602aに格納された固定長のIPパケットを等間隔にネットワーク101に送出する機能部である。具体的には、パケットバッファ602aに格納された固定長のIPパケット内のヘッダ情報に基づいて送出間隔を算出し、格納された順番にIPパケットを送出する。前述のようにRTPヘッダのタイムスタンプが短く設定されるため、結果的に送出間隔も約k/(k+α)倍だけ短く設定されることになる。   The smoothing processing unit 704 is a functional unit that sends out fixed-length IP packets stored in the packet buffer 602 a by the fragment processing unit 703 to the network 101 at equal intervals. Specifically, the transmission interval is calculated based on the header information in the fixed-length IP packet stored in the packet buffer 602a, and the IP packets are transmitted in the stored order. As described above, since the time stamp of the RTP header is set short, as a result, the transmission interval is also set short by about k / (k + α) times.

以上説明をしたように、第2実施形態の配信サーバによれば、第1実施形態で説明したフラグメント処理に加えFEC符号化処理をNWボード600上で実行することによりCPU201の負荷を大幅に低減することが出来る。また、バス210にはFEC符号化による冗長データが流れることがないため、バス使用率(トラフィック)を低減することが可能となる。その結果、ストリーミングデータをより効率的に送出することが可能となる。   As described above, according to the distribution server of the second embodiment, the load on the CPU 201 is greatly reduced by executing the FEC encoding processing on the NW board 600 in addition to the fragment processing described in the first embodiment. I can do it. Further, since redundant data by FEC encoding does not flow on the bus 210, it is possible to reduce the bus usage rate (traffic). As a result, streaming data can be transmitted more efficiently.

(変形例)
なお、上述の説明においては、ネットワークボードが直接接続するネットワーク(ここではイーサネット(登録商標))の最大転送サイズ(約1.5kバイト)より小さい固定長パケット(512バイト)を転送サイズとして設定した。しかし、もちろんMTUとほぼ等しく設定しても良い。なお、一般的には配信サーバから受信端末までは複数の種々のネットワークが混在し得、それぞれのMTUが異なる可能性がある。また、受信端末ごと経路が異なるため、受信端末ごとに”パスMTU”が異なる可能性がある。そのため、パスMTU探索(Path MTU Discovery)などを用い事前にパスMTUを検出し、それぞれの端末に対応するパスMTU以下となるようパケットサイズを、ストリーム配信開始時に動的に設定しても良い。
(Modification)
In the above description, a fixed-length packet (512 bytes) smaller than the maximum transfer size (about 1.5 kbytes) of the network directly connected to the network board (here, Ethernet (registered trademark)) is set as the transfer size. . However, of course, it may be set almost equal to the MTU. In general, a plurality of various networks can coexist from the distribution server to the receiving terminal, and there is a possibility that each MTU is different. Further, since the route is different for each receiving terminal, there is a possibility that the “path MTU” is different for each receiving terminal. For this reason, path MTU discovery may be used in advance to detect a path MTU, and the packet size may be dynamically set at the start of stream distribution so as to be equal to or less than the path MTU corresponding to each terminal.

ストリーミング配信システムの全体構成を例示的に示す図である。It is a figure which shows the whole structure of a streaming delivery system exemplarily. 第1実施形態に係る配信サーバの内部構成を示す図である。It is a figure which shows the internal structure of the delivery server which concerns on 1st Embodiment. 第1実施形態に係る配信サーバ内のネットワークボードの内部構成を示す図である。It is a figure which shows the internal structure of the network board in the delivery server which concerns on 1st Embodiment. 第1実施形態に係る配信サーバのデータ送信に関連する機能構成を示す図である。It is a figure which shows the function structure relevant to the data transmission of the delivery server which concerns on 1st Embodiment. 第1実施形態に係る配信サーバにおけるデータの処理フローチャートである。It is a data processing flowchart in the delivery server which concerns on 1st Embodiment. 第2実施形態に係る配信サーバ内のネットワークボードの内部構成を示す図である。It is a figure which shows the internal structure of the network board in the delivery server which concerns on 2nd Embodiment. 第2実施形態に係る配信サーバのデータ送信に関連する機能構成を示す図である。It is a figure which shows the function structure relevant to the data transmission of the delivery server which concerns on 2nd Embodiment.

Claims (8)

ホスト装置に設けられたバスコネクタに接続するためのホストコネクタと、ネットワークに接続するためのネットワークコネクタとを備えるネットワークカードであって、
前記ネットワークコネクタを介して送信可能なデータフレームの最大サイズを第1サイズとしたとき、
前記ネットワークコネクタを介して送信することになるデータを、前記ホストコネクタを介して前記第1サイズよりも大きな第2サイズのブロックデータを単位として受信する受信手段と、
前記受信手段において受信したブロックデータを一時的に記憶するためのバッファメモリと、
前記バッファメモリから、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段と、
を備えることを特徴とするネットワークカード。
A network card comprising a host connector for connecting to a bus connector provided in a host device, and a network connector for connecting to a network,
When the maximum size of the data frame that can be transmitted via the network connector is the first size,
Receiving means for receiving data to be transmitted via the network connector in units of block data having a second size larger than the first size via the host connector;
A buffer memory for temporarily storing block data received by the receiving means;
Transmitting means for reading data to be included in a data frame to be transmitted from the buffer memory, generating a data frame having the first size or less, and transmitting the data frame on a network connected to the network connector; ,
A network card comprising:
前記送信手段は、1以上の前記データフレームを時間軸方向に略均等な間隔で前記ネットワークに送出する送信間隔制御手段をさらに備えることを特徴とする請求項1に記載のネットワークカード。   The network card according to claim 1, wherein the transmission unit further includes a transmission interval control unit that transmits the one or more data frames to the network at substantially equal intervals in a time axis direction. 前記ブロックデータに含まれるデータに対して前方誤り訂正符号(FEC)の符号化処理を行う符号化手段をさらに備えることを特徴とする請求項2に記載のネットワークカード。   The network card according to claim 2, further comprising an encoding unit configured to perform a forward error correction code (FEC) encoding process on data included in the block data. 前記送信手段は、前記符号化手段により符号化されたデータに基づいて、前記第2サイズ以下となるデータフレームを生成し、
前記送信間隔制御手段は、前記符号化手段が用いる符号化率に基づいて、前記データフレームを送出する前記間隔を決定することを特徴とする請求項3に記載のネットワークカード。
The transmitting unit generates a data frame having a size equal to or smaller than the second size based on the data encoded by the encoding unit;
4. The network card according to claim 3, wherein the transmission interval control means determines the interval for sending the data frame based on a coding rate used by the coding means.
前記符号化手段は、前記符号化処理を所定の第1データ量を単位とした論理演算を繰り返し実行することにより行っており、
前記送信手段は、前記第1データ量の整数倍のサイズのデータを前記データフレームに含めることを特徴とする請求項4に記載のネットワークカード。
The encoding means performs the encoding process by repeatedly executing a logical operation in units of a predetermined first data amount,
5. The network card according to claim 4, wherein the transmission unit includes data having a size that is an integral multiple of the first data amount in the data frame.
前記符号化手段は、所定の第2データ量を単位として前記符号化処理を行い、
前記受信手段は、前記第2データ量の整数倍のサイズに設定された前記ブロックデータを受信することを特徴とする請求項4または請求項5に記載のネットワークカード。
The encoding means performs the encoding process in units of a predetermined second data amount,
6. The network card according to claim 4, wherein the receiving unit receives the block data set to a size that is an integral multiple of the second data amount.
バスにより接続されたホスト処理部とネットワーク処理部を備え、ネットワークにストリーミングデータを送出する情報処理装置であって、
前記ホスト処理部は、
ストリームデータを入力するデータ入力手段と、
少なくとも前記ストリームデータを、前記ネットワークにおいて転送可能なデータフレームの最大サイズを第1サイズとしたとき、該第1サイズよりも大きな第2サイズのブロックデータを単位として、前記バスを介して前記ネットワーク処理部に転送するバス転送手段と、
を備え、
前記ネットワーク処理部は、
前記バス転送手段から前記バスを介して送信されたブロックデータを受信する受信手段と、
前記受信手段において受信したブロックデータを一時的に記憶するための記憶手段と、
前記記憶手段から、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus including a host processing unit and a network processing unit connected by a bus, and sending streaming data to a network,
The host processing unit
Data input means for inputting stream data;
When at least the stream data has a maximum size of a data frame that can be transferred in the network as the first size, the network processing is performed via the bus in units of block data having a second size larger than the first size. Bus transfer means for transferring to the
With
The network processing unit
Receiving means for receiving block data transmitted via the bus from the bus transfer means;
Storage means for temporarily storing block data received by the receiving means;
Transmitting means for reading data to be included in a data frame to be transmitted from the storage means, generating a data frame having the first size or less, and transmitting the data frame on a network connected to the network connector; ,
An information processing apparatus comprising:
バスにより接続されたホスト処理部とネットワーク処理部を備え、ネットワークにストリーミングデータを送出する情報処理装置であって、
前記ホスト処理部は、
ストリームデータを入力するデータ入力部と、
少なくとも前記ストリームデータを、前記ネットワークにおいて転送可能なデータフレームの最大サイズを第1サイズとしたとき、該第1サイズよりも大きな第2サイズのブロックデータを単位として、前記バスを介して前記ネットワーク処理部に転送するバス転送部と、
を備え、
前記ネットワーク処理部は、
前記バス転送部から送信されたブロックデータを受信する受信部と、
前記受信部において受信したブロックデータを一時的に記憶するためのバッファメモリと、
前記バッファメモリから、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信部と、
を備えることを特徴とする情報処理装置。
An information processing apparatus including a host processing unit and a network processing unit connected by a bus, and sending streaming data to a network,
The host processing unit
A data input unit for inputting stream data;
When at least the stream data has a maximum size of a data frame that can be transferred in the network as the first size, the network processing is performed via the bus in units of block data having a second size larger than the first size. A bus transfer unit for transferring to the unit,
With
The network processing unit
A receiving unit for receiving block data transmitted from the bus transfer unit;
A buffer memory for temporarily storing block data received by the receiving unit;
A transmission unit that reads data to be included in a data frame to be transmitted from the buffer memory, generates a data frame that is equal to or smaller than the first size, and transmits the data frame on a network connected to the network connector; ,
An information processing apparatus comprising:
JP2006199959A 2006-07-21 2006-07-21 Network card and information processing apparatus Pending JP2008028767A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006199959A JP2008028767A (en) 2006-07-21 2006-07-21 Network card and information processing apparatus
TW97101754A TW200934180A (en) 2006-07-21 2008-01-17 Network card and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006199959A JP2008028767A (en) 2006-07-21 2006-07-21 Network card and information processing apparatus

Publications (1)

Publication Number Publication Date
JP2008028767A true JP2008028767A (en) 2008-02-07

Family

ID=39118953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006199959A Pending JP2008028767A (en) 2006-07-21 2006-07-21 Network card and information processing apparatus

Country Status (2)

Country Link
JP (1) JP2008028767A (en)
TW (1) TW200934180A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009087774A1 (en) * 2008-01-10 2009-07-16 Sumitomo Electric Networks, Inc. Network card and information processor
JP2022546102A (en) * 2019-09-10 2022-11-02 華為技術有限公司 Packet processing method and apparatus, and chip

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS612439A (en) * 1984-06-15 1986-01-08 Kokusai Denshin Denwa Co Ltd <Kdd> Digital signal transmission method
JPH03274937A (en) * 1990-03-26 1991-12-05 Nec Corp Transmission error controller
JPH05153131A (en) * 1991-12-02 1993-06-18 Mitsubishi Electric Corp Lan terminal equipment
JPH11317762A (en) * 1998-05-07 1999-11-16 Nec Corp Interface device
JP2001313675A (en) * 2000-04-28 2001-11-09 Nec Corp Fragmentation processing device and fragmentation processing apparatus using the same
JP2002084289A (en) * 2000-09-07 2002-03-22 Kddi Corp TCP communication method
JP2002314594A (en) * 2001-04-19 2002-10-25 Nippon Telegr & Teleph Corp <Ntt> Communication processing method and its execution system, and its processing program and recording medium
JP2003273920A (en) * 2002-03-19 2003-09-26 Matsushita Electric Ind Co Ltd Transmitter and receiver for general data and priority data
JP2005204001A (en) * 2004-01-15 2005-07-28 Hitachi Ltd Data distribution server, software, and system
JP2005252773A (en) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd Packet transmission equipment

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS612439A (en) * 1984-06-15 1986-01-08 Kokusai Denshin Denwa Co Ltd <Kdd> Digital signal transmission method
JPH03274937A (en) * 1990-03-26 1991-12-05 Nec Corp Transmission error controller
JPH05153131A (en) * 1991-12-02 1993-06-18 Mitsubishi Electric Corp Lan terminal equipment
JPH11317762A (en) * 1998-05-07 1999-11-16 Nec Corp Interface device
JP2001313675A (en) * 2000-04-28 2001-11-09 Nec Corp Fragmentation processing device and fragmentation processing apparatus using the same
JP2002084289A (en) * 2000-09-07 2002-03-22 Kddi Corp TCP communication method
JP2002314594A (en) * 2001-04-19 2002-10-25 Nippon Telegr & Teleph Corp <Ntt> Communication processing method and its execution system, and its processing program and recording medium
JP2003273920A (en) * 2002-03-19 2003-09-26 Matsushita Electric Ind Co Ltd Transmitter and receiver for general data and priority data
JP2005204001A (en) * 2004-01-15 2005-07-28 Hitachi Ltd Data distribution server, software, and system
JP2005252773A (en) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd Packet transmission equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009087774A1 (en) * 2008-01-10 2009-07-16 Sumitomo Electric Networks, Inc. Network card and information processor
JP2022546102A (en) * 2019-09-10 2022-11-02 華為技術有限公司 Packet processing method and apparatus, and chip
US11695502B2 (en) 2019-09-10 2023-07-04 Huawei Technologies Co., Ltd. Packet processing method and apparatus, and chip

Also Published As

Publication number Publication date
TW200934180A (en) 2009-08-01

Similar Documents

Publication Publication Date Title
JP6334028B2 (en) Packet transmission / reception apparatus and method in communication system
CN105830377B (en) Method and apparatus for providing dynamic encoding of network traffic
JP6553119B2 (en) Packet transmitting / receiving apparatus and method in broadcasting and communication system
JP5164123B2 (en) System and method for improving throughput
US7620870B2 (en) Data compression method and system
US7975071B2 (en) Content compression in networks
CN102143078B (en) Forwarding equipment as well as method and system for processing message
CN110943800B (en) Data packet sending method, device and system, storage medium and electronic device
CN111800218B (en) Data stream transmission method and equipment
EP3688913A1 (en) Systems and methods to optimize the load of multipath data transportation
CN107222427A (en) The method and relevant device of a kind of Message processing
CN101426010A (en) Information processing apparatus and information processing system
JP5060572B2 (en) Data communication apparatus and method
CN110505123B (en) Calculation method, server and computer-readable storage medium for packet loss rate
CN114050994B (en) A Network Telemetry Method Based on SRv6
JP2004179876A (en) Information processing apparatus and method, and computer program
WO2009087774A1 (en) Network card and information processor
WO2021047606A1 (en) Message processing method and apparatus, and chip
CN101626503A (en) Integrated circuit device and data communication system
CN112564855B (en) Message processing method, device and chip
JP2008028767A (en) Network card and information processing apparatus
CN101931492A (en) Method and device for determining data block forward error correction algorithm
CN109982083A (en) To rearrange the picture coding device and its operation method of data packet transmission sequence
WO2024099020A1 (en) Multi-channel data sending method and receiving method, sending end, and receiving end
Molnár et al. Living with congestion: digital fountain based communication protocol

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20090127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110304