WO2009087774A1 - ネットワークカードおよび情報処理装置 - Google Patents

ネットワークカードおよび情報処理装置 Download PDF

Info

Publication number
WO2009087774A1
WO2009087774A1 PCT/JP2008/050206 JP2008050206W WO2009087774A1 WO 2009087774 A1 WO2009087774 A1 WO 2009087774A1 JP 2008050206 W JP2008050206 W JP 2008050206W WO 2009087774 A1 WO2009087774 A1 WO 2009087774A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
network
size
bus
unit
Prior art date
Application number
PCT/JP2008/050206
Other languages
English (en)
French (fr)
Inventor
Masamoto Nagai
Hiroaki Nishimoto
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 PCT/JP2008/050206 priority Critical patent/WO2009087774A1/ja
Priority to KR1020107017310A priority patent/KR20100112151A/ko
Priority to EP08703070A priority patent/EP2242220A1/en
Priority to US12/812,373 priority patent/US20110022717A1/en
Priority to CN2008801244735A priority patent/CN101911613A/zh
Publication of WO2009087774A1 publication Critical patent/WO2009087774A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Definitions

  • the present invention relates to a data transmission technology, and more particularly to a technology for efficiently transmitting broadband streaming data.
  • 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.
  • MTU maximum data length
  • FEC forward error correction
  • the internal bus can transfer data in a sufficiently large data unit (data length) according to the streaming data transmission unit.
  • data length 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.
  • 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.
  • the network card of the present invention has the following configuration.
  • 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 Connect to the network connector
  • transmitting means for transmitting the data frames on the network.
  • the information processing apparatus of the present invention has the following configuration.
  • 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
  • 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 data to be transmitted from the storage means Reading data for inclusion in frame, and a first size to generate a composed data frames or less, transmitting means for transmitting the data frames on the connected network for the network connector.
  • a technique for efficiently sending streaming data can be provided.
  • FIG. 1 is a diagram exemplarily showing the overall configuration of a streaming distribution system.
  • FIG. 2 is a diagram illustrating an internal configuration of the distribution server according to the first embodiment.
  • FIG. 3 is a diagram illustrating the internal configuration of the network board in the distribution server according to the first embodiment.
  • FIG. 4 is a diagram showing a functional configuration related to data transmission of the distribution server according to the first embodiment.
  • FIG. 5 is a data processing flowchart in the distribution server according to the first embodiment.
  • FIG. 6 is a diagram illustrating the internal configuration of the network board in the distribution server according to the second embodiment.
  • FIG. 7 is a diagram illustrating a functional configuration related to data transmission of the distribution server according to the second embodiment.
  • DESCRIPTION OF SYMBOLS 100 Distribution server, 110a, 110b ... Receiving terminal, 301 ... Packet handler (transmission means), 302 ... Memory (buffer memory or storage means), 303 ... Memory controller, 310 ... Bus I / F (reception means), 401... Input section (input means), 402... Bus transfer section (bus transfer means), 403... Fragment processing section (transmission means), 404. Smoothing processing unit (transmission interval control means).
  • the fragment processing which is conventionally performed by the CPU of the PC main body executing the device driver program, is processed by hardware on the network board.
  • 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.
  • FIG. 1 is a conceptual diagram of the overall configuration of a streaming distribution system.
  • the distribution server 100 is a streaming distribution server, and 110a and 110b are streaming receiving devices.
  • 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.
  • IP Internet protocol
  • the distribution server 100 packetizes and transmits the stream data in the RTP / UDP / IP format to the receiving terminals 110a and 110b.
  • RTP means real-time transport protocol
  • 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.
  • VOD video on demand
  • FIG. 2 is a diagram illustrating an internal configuration of the distribution server according to the first embodiment.
  • 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. .
  • 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).
  • the internal system bus 210 As the internal system bus 210, a general-purpose bus including a general PCI bus is assumed, but a dedicated bus may of course be used. 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.
  • the network (NW) board 200 may be referred to as “NW board side”, and the other part may be referred to as “server body side”.
  • FIG. 3 is a diagram illustrating an internal configuration of the network board in the distribution server according to the first embodiment.
  • the network board 200 includes a packet handler 301, a memory 302, a memory controller 303, and a bus I / F 310.
  • the memory 302 is a part that temporarily stores data received from the server 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.
  • 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.
  • FIG. 4 is a diagram illustrating a functional configuration of the distribution server according to the first embodiment.
  • 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.
  • 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.
  • 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 functions as an input unit.
  • 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 as 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 functions as a bus transfer unit.
  • the streaming data packet to be transferred is larger than the data length that can be transmitted to the network 101.
  • the network 101 is Ethernet (registered trademark), that is, even if the maximum data length (MTU) (first size) is about 1.5 kbytes, a large data block (second Size).
  • MTU maximum data length
  • second Size a large 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.
  • the fragment processing unit 403 is a functional unit that divides the data (data block) 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 functions as a receiving unit, and the memory 302 functions as a buffer memory or a storage unit. Further, the fragment processing unit 403 constitutes a part of the transmission unit, and the packet handler 301 functions as the transmission unit.
  • 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.
  • 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. .
  • 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.
  • 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 functions as a transmission interval control unit.
  • transmission control is performed so that IP (RTP) packets after fragmentation are equally spaced in the time direction.
  • RTP IP
  • RTCP packets used for controlling the RTP packet stream or other packets can be transmitted from the NW board 200.
  • 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.
  • 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.
  • 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.
  • the load (congestion) of the bus 210 due to fragment processing and the load on the CPU 201 due to execution of fragment processing can be significantly 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.
  • 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.
  • ⁇ 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 Digital Fountain, Inc., 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.
  • a stream file is divided into sections of 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 + ⁇ ( ⁇ is smaller than k) output symbols are received stochastically, and the input symbols are restored by XORing the output symbols.
  • 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.
  • FIG. 6 is a diagram illustrating the internal configuration of the network board in the distribution server according to the second embodiment.
  • 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.
  • the FEC encoding engine 604 and the encoding control unit 605 that are different from the first embodiment will be described.
  • 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.
  • the encoding control unit 605 is a functional unit that realizes the above-described Raptor code encoding operation 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.
  • the encoding control unit 605 and the FEC encoding engine 604 correspond to the encoding unit in the embodiment.
  • the encoding control unit 605 selects one or more input symbols from data (input symbols) temporarily stored in the memory 602 and inputs them to the FEC encoding engine 604, thereby generating output symbols sequentially.
  • the generated output symbol is temporarily stored in the memory 602.
  • the output symbol and the input symbol have the same data length, but the number has increased by at least ⁇ .
  • 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.
  • FIG. 7 is a diagram illustrating a functional configuration of the distribution server according to the second embodiment.
  • 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.
  • 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.
  • 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.
  • 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.
  • the output rate is larger than the input rate of the encoding processing unit 705 as a result.
  • the output rate is (k + ⁇ ) / k times the input rate.
  • the coding rate is expressed as k / (k + ⁇ ).
  • 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.
  • the data amount of one input symbol and one output symbol corresponds to the first data amount in the embodiment.
  • the data amount corresponding to k input symbols corresponds to the second data amount in the embodiment.
  • 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.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 ホストコネクタとネットワークコネクタとを備えるネットワークカードであって、ネットワークコネクタを介して送信することになるデータを、ホストコネクタを介して第1サイズよりも大きな第2サイズのブロックデータを単位として受信する受信手段と、受信したブロックデータを一時的に記憶するためのバッファメモリと、第1サイズ以下となるデータフレームを生成し、ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段とを備える。

Description

ネットワークカードおよび情報処理装置
 本発明は、データ送出技術、特に、広帯域なストリーミングデータを効率的に送出する技術に関するものである。
 近年、ビデオオンデマンド(VOD)などストリーミングサービスが実現されている。
また、近年のアクセス網の広帯域化により、配信サーバから送出されるビデオストリーミングデータ1つあたりの帯域も増大している。さらに、今後いわゆるHD(高精細)映像の配信などにより、さらなる広帯域化が見込まれる。配信サーバからデータ送出レートが増大するにしたがい、当該配信サーバの内部バス(たとえばPCIなど)の利用率も増大する傾向にある。
 一般的にネットワークインタフェースにはそれぞれの規格に応じて転送可能な最大のデータ長(MTU)が規定されている。たとえばIEEE802.3シリーズ規格としても知られるイーサネット(登録商標)においては最大約1.5kバイトである。そのため、一般的にはデバイスドライバは、内部バスで伝送可能なデータ長が十分大きい場合であっても、ネットワーク上に送信するデータを上述のMTUを超えないような大きさのデータに分割した後、内部バスを経由してインタフェースボードに転送する。なお、この分割のことをフラグメント処理と呼ぶ。その後、ボード上のMAC/PHYにより処理が行われネットワーク上に送出される。
 一方、ストリーミングサービスでは、データ量が多いことからネットワーク上でのパケット破棄などが発生し得る。その場合に受信側から再送要求を出さなくともよいよう、配信サーバにおいて前方誤り訂正(FEC)符号化が利用される。たとえば、特許文献1に開示されるような符号化が利用されている。
国際公開番号第WO2005/112250号
 内部バスにおいては、一般的には、ストリーミングデータの送信単位に合わせて十分大きなデータ単位(データ長)で転送することが可能である。しかしながら、上述したようにMTUによる制限から結果として内部バス上を流れるデータ長は小さいものとなってしまう。そのため、ストリーミングデータの送信においては、バスの混雑が発生しやすく、フラグメント処理によるCPUパワーも必要とされるという問題点がある。
 また、大量のデータに対して特許文献1に開示されているような符号化処理を実行するためには更なるCPUパワーを必要とする。
 本発明は上述した問題点に鑑みなされたものであり、これらの問題点の少なくとも1つを解決することを目的とする。
 上述した問題点の少なくとも1つを解決するため本発明のネットワークカードは以下の構成を備える。
 即ち、ホスト装置に設けられたバスコネクタに接続するためのホストコネクタと、ネットワークに接続するためのネットワークコネクタとを備えるネットワークカードであって、前記ネットワークコネクタを介して送信可能なデータフレームの最大サイズを第1サイズとしたとき、前記ネットワークコネクタを介して送信することになるデータを、前記ホストコネクタを介して前記第1サイズよりも大きな第2サイズのブロックデータを単位として受信する受信手段と、前記受信手段において受信したブロックデータを一時的に記憶するためのバッファメモリと、前記バッファメモリから、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段とを備える。
 上述した問題点の少なくとも1つを解決するため本発明の情報処理装置は以下の構成を備える。
 即ち、バスにより接続されたホスト処理部とネットワーク処理部を備え、ネットワークにストリーミングデータを送出する情報処理装置であって、前記ホスト処理部は、ストリームデータを入力するデータ入力手段と、少なくとも前記ストリームデータを、前記ネットワークにおいて転送可能なデータフレームの最大サイズを第1サイズとしたとき、該第1サイズよりも大きな第2サイズのブロックデータを単位として、前記バスを介して前記ネットワーク処理部に転送するバス転送手段と備え、前記ネットワーク処理部は、前記バス転送手段から前記バスを介して送信されたブロックデータを受信する受信手段と、前記受信手段において受信したブロックデータを一時的に記憶するための記憶手段と、前記記憶手段から、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段とを備える。
 本発明によれば、ストリーミングデータを効率的に送出する技術を提供することができる。
図1は、ストリーミング配信システムの全体構成を例示的に示す図である。 図2は、第1実施例に係る配信サーバの内部構成を示す図である。 図3は、第1実施例に係る配信サーバ内のネットワークボードの内部構成を示す図である。 図4は第1実施例に係る配信サーバのデータ送信に関連する機能構成を示す図である。 図5は、第1実施例に係る配信サーバにおけるデータの処理フローチャートである。 図6は、第2実施例に係る配信サーバ内のネットワークボードの内部構成を示す図である。 図7は、第2実施例に係る配信サーバのデータ送信に関連する機能構成を示す図である。
符号の説明
100・・・配信サーバ、110a,110b・・・受信端末、301・・・パケットハンドラ(送信手段)、302・・・メモリ(バッファメモリまたは記憶手段)、303・・・メモリコントローラ、310・・・バスI/F(受信手段)、401・・・入力部(入力手段)、402・・・バス転送部(バス転送手段)、403・・・フラグメント処理部(送信手段)、404・・・スムージング処理部(送信間隔制御手段)。
 以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、これらの実施の形態はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
 (第1実施例)
 本発明に係るデータ送出装置の第1実施例として、汎用のPCおよびネットワークボードにより構成されたストリーミング配信装置を例に挙げて以下に説明する。
 <概要>
 第1実施例のストリーミング配信装置においては、従来PC本体のCPUがデバイスドライバプログラムを実行することにより行っていたフラグメント処理をネットワークボード上のハードウェアにより処理を行う。その結果、PC本体のCPUにおける負荷低減を実現するとともに、バスを介したネットワークボードへのデータ転送をより大きなデータ長により行うことが出来、バス使用効率の向上を実現する。
 <システム構成および装置構成>
 図1は、ストリーミング配信システムの全体構成の概念図を示す。
 配信サーバ100はストリーミング配信サーバ、110a、110bはストリーミング受信装置である。また、101、111aおよび111bは、それぞれ、配信サーバ100、受信装置110a、110bが属するネットワークセグメントである。各々のネットワークセグメント101、111a、111bは、ルータ102、112a、112bおよびコアネットワーク120を介して接続されている。なお、以降では、各ネットワークセグメント間のデータ転送には、インターネットプロトコル(IP)が使用されるものとして説明を行う。
 配信サーバ100は、受信端末110a、110bに対してストリームデータをRTP/UDP/IPの形式でパケット化し送信する。ここ、RTPはリアルタイムトランスポートプロトコルを意味し、UDPはユーザデータグラムプロトコルを意味する。なお、配信サーバ100は、ユニキャストで各受信端末にストリーミング配信しても良いし、マルチキャストで配信しても良い。また、いわゆるビデオオンデマンド(VOD)サービスのように各受信端末からの配信要求に基づいて配信を開始しても良い。
 図2は、第1実施例に係る配信サーバの内部構成を示す図である。図に示されるように、配信サーバ100は、CPU201、RAM202、ROM203、HDD204、ユーザI/F205およびネットワーク(NW)ボード200から構成されており、各部は内部システムバス210により相互に接続されている。
 CPU201は、ROM203やHDD204に記憶される各種プログラムを実行することにより、各部を制御、または図4で後述する各機能部を実現する。ROM203は、配信サーバ100の起動時等に実行されるプログラム等を記憶している。RAM202は、CPU201により実行される各種プログラムや各種データの一時記憶を行う。HDD204は、大容量の記憶装置であり、各種プログラムや各種データファイルの記憶を行う。プログラムには、オペレーティングシステム(OS)プログラムやストリーミング配信プログラムが含まれる。ユーザI/F205は不図示のキーボードやマウスなどのユーザ入力装置、および、不図示のディスプレイなどの表示出力装置である。
 内部システムバス210としては一般的なPCIバスを含む汎用バスを想定するが、もちろん専用のバスであっても良い。ただし、バス210における転送速度はネットワーク101における転送速度よりも大きく、転送可能なデータ長はネットワーク101におけるデータ長よりも長いものとする。
 なお、以降では説明を簡単にするため、配信サーバ100において、ネットワーク(NW)ボード200を”NWボード側”、それ以外の部分を”サーバ本体側”と呼ぶ場合がある。
 図3は、第1実施例に係る配信サーバ内のネットワークボードの内部構成を示す図である。図に示されるように、ネットワークボード200は、パケットハンドラ301、メモリ302、メモリコントローラ303およびバスI/F310から構成されている。
 メモリ302は、バス210およびバスI/F310を介してサーバ本体側から受信したデータを、一時的に格納する部分であり、内部にパケットバッファ302aを備えている。なお、詳細は後述するがパケットバッファ302aはストリーム毎に領域が確保される。
 パケットハンドラ301は、メモリ302に一時記憶されたデータをネットワーク110に適したデータ形式で送信する回路部である。具体的には、メモリ302に一時記憶されたデータに対し、後述するフラグメント処理やスムージング処理を行った後、ネットワーク110に出力する。
 <機能構成および動作>
 図4は、第1実施例に係る配信サーバの機能構成を示す図である。
 配信サーバ100は、データ送信に関連する機能部として、入力部401、バス転送部402、フラグメント処理部403およびスムージング処理部404を備えている。なお、入力部401およびバス転送部402の各機能部は、サーバ本体側のCPU201が各種プログラムを実行することにより実現される。一方、フラグメント処理部403およびスムージング処理部404の各機能部は、NWボード側のハードウェアにより実現される。以下、各機能部について説明を行う。
 なお、以下では説明を簡単にするために各処理部のRTP/UDP/IPの形式のストリーミングデータに対しての処理についてのみ説明を行う。その他のデータについては、従来通りの処理がなされる。なお、パケットの区別はIPヘッダに記載されるポート番号に基づいて行っても良いし、ただ単にパケットのデータ長に基づいて行っても良い。
 入力部401は、ネットワークボード200を介して送信することになるストリーミングファイルを入力する機能部である。具体的には、CPU201がストリーミング配信ソフトウェアを実行することにより、HDD204などに格納されるストリーミングデータをRAM202に読み込むことにより実現される。なお、入力部401は、入力手段として機能する。
 バス転送部402は、入力部401によりRAM202上に入力されたストリーミングデータを予め指定された固定長データに分割した後、RTP/UDP/IPの形式として格納し、バス210を介してNWボード側に転送する機能部である。具体的には、CPU201が、IPスタックプログラムおよびNWボード200のデバイスドライバプログラムを実行することにより実現される。なお、バス転送部402は、バス転送手段として機能する。
 ただし、背景技術で説明した場合と異なり、転送されるストリーミングデータパケットはネットワーク101に送出可能なデータ長に比較し大きいものとなっている。例えば、ネットワーク101がイーサネット(登録商標)である場合、つまり、最大のデータ長(MTU)(第1サイズ)が約1.5kバイトであっても、例えば32kバイトなどの大きなデータブロック(第2サイズ)として転送する。
 なお、一般にアプリケーションとIPスタックプログラムとの間、および、IPスタックプログラムとデバイスドライバとの間のデータ形式については仕様が定められているため変更を行うには大きな設計変更を伴うことになる。しかし、上述のような、デバイスドライバとハードウェアとの間のデータ形式は比較的自由に設計が可能であることに注意されたい。
 詳細は後述するが、データ(データブロック)において、IP、UDP、RTPの各ヘッダを除いたペイロード部を、ストリームデータの最小処理単位の整数倍(あるいは2の累乗倍)に相当するデータ長とすることが好適である。
 フラグメント処理部403は、バス210(バスコネクタ)を介してバス転送部402から転送されたデータ(データブロック)をネットワーク101に送出可能なデータ長に分割する機能部である。具体的には、不図示のホストコネクタを介してメモリ302に格納されたデータブロックを、ネットワーク101のMTU以下となるデータ長に分割し、分割されたデータに対応するIP、UDP、RTPの各ヘッダを再生成する。そして、ネットワーク101に直接送信可能なデータ長のIPパケットをパケットバッファ302aに格納する。なお、バスI/F310は、受信手段として機能し、メモリ302は、バッファメモリまたは記憶手段として機能する。また、フラグメント処理部403は、送信手段の一部を構成し、パケットハンドラ301が送信手段として機能する。
 なお、IP、UDP、RTPの各ヘッダを再生成とは具体的には以下の処理を言う。IPヘッダには当該IPパケットに含まれるデータのデータ長(ペイロード長)が記載されている。また、UDPヘッダには当該UDPパケットに含まれるデータのデータ長および当該データのチェックサムが記載されている。さらに、RTPヘッダには当該RTPパケットに含まれるデータのシーケンス番号およびタイムスタンプが記載されている。そのため、フラグメント処理部403によるフラグメント処理の結果、RTPパケットは分割されることから、これらの各ヘッダ内に記載された情報を、分割されたパケットに合わせて算出し、ヘッダ情報を更新するのである。なお、バス転送部402から転送されたデータ(データブロック)において、IP、UDP、RTPの各ヘッダを除いたペイロード部を等分割とすることによりヘッダ情報の算出が簡単になる。そのため、前述のように、データブロックのペイロード部をストリームデータの最小処理単位の整数倍(あるいは2の累乗倍)に相当するデータ長にすることが望ましいのである。
 スムージング処理部404は、フラグメント処理部403によりパケットバッファ302aに格納された固定長のIPパケットを等間隔にネットワーク101に送出する機能部である。具体的には、パケットバッファ302aに格納された固定長のIPパケット内のヘッダ情報に基づいて送出間隔を算出し、格納された順番にIPパケットを送出する。送出間隔は、例えば、IPヘッダあるいはUDPヘッダのデータ長の情報とRTPヘッダのタイムスタンプの情報により算出可能である。なお、バースト的なトラフック特性にならないと想定される予め設定された送出間隔となるよう順番にIPデータを送出しても良い。なお、スムージング処理部404は、送信間隔制御手段として機能する。
 なお、上述の説明においては、フラグメント後のIP(RTP)パケットが時間方向に均等間隔となるよう送出制御を行った。しかし、一般的には、NWボード200からはRTPパケットだけでなく、当該RTPパケットストリームの制御に利用されるRTCPパケット、あるいはその他のパケットが送出され得る。そのため、予めRTPパケット以外に使用可能な時間スロットを確保しておき、当該時間スロットを除く期間において均等間隔となるよう送出制御を行うよう構成するのも好適である。
 <動作フロー>
 図5は、第1実施例に係る配信サーバにおけるデータの処理フローチャートである。なお以下のステップは、例えば受信装置110a(あるいは110b)からのストリーミングデータの送信要求の受付により開始される。なおここでは、ストリームデータの最小処理単位は64バイトであると仮定する。
 ステップS501では、入力部401は、受信装置110aから要求のあったストリーミングデータをHDD204などから読み込みRAM202に格納する。
 ステップS502では、バス転送部402は、ステップS501においてRAM202に格納されたデータを、例えば、16kバイト(=64バイト×2)のデータ長のデータブロックに分割する。そして、当該データブロックに対するIP、UDP、RTPの各ヘッダを生成し、RTP/UDP/IPの形式として格納し、バス210を介してNWボード側に転送する。
 ステップS503では、フラグメント処理部403は、ステップS502においてバス210を介してバス転送部402から転送されたデータブロック内のペイロードデータを、例えば、512バイト(=64バイト×2)のデータ長のデータに分割する。つまり、ネットワーク101におけるMTU以下のデータ長となるようデータブロックを分割する。そして、分割され生成された512バイト長の各データに対してIP、UDP、RTPの各ヘッダを再生成し、RTP/UDP/IPの形式として格納する。そして、再生成されたIPパケットをパケットバッファ302aに格納する。
 ステップS504では、スムージング処理部404は、ステップS503においてパケットバッファ302aに格納されたIPパケットを、等間隔にネットワーク101に送出する。
 なお、上述のフローチャートにおいては、説明を簡単にするために配信サーバ100からは単一のストリーミングデータが送信されるように説明を行った。しかし、もちろん、上述の処理をストリーミングデータ毎に実行することも可能である。特に、ストリーミングデータ毎に上述のスムージング処理部404の処理を実行することにより、各受信装置110a、110bの属するネットワークセグメント111a、111bに到達するストリーミングデータは、それぞれがバースト性の抑えられたトラフィックとなるため、データのロスが発生しにくくなるという利点がある。
 以上説明をしたように、第1実施例の配信サーバによれば、フラグメント処理によるバス210の負荷(輻輳)、および、フラグメント処理実行によるCPU201の負荷を大幅に低減することが出来る。そのため、バス210の転送能力またはCPU201の処理能力に起因するボトルネックを大幅に緩和することが可能となる。その結果、ストリーミングデータをより効率的に送出することが可能となる。
 (第2実施例)
 <概要>
 第2実施例では、第1実施例の構成に加え、NWボード上に前方誤り訂正符号(FEC)の符号器を配置する。なお、ここで言う前方誤り訂正符号は欠損補償符号を含む。このような構成とすることにより、FEC符号化処理に消費されるCPUパワーを大幅に低減可能となる。また、バス使用率(トラフィック)を低減することが可能となる。
 なお、ストリーミング配信システムの全体構成(図1)、および、配信サーバの内部構成(図2)については第1実施例と同様であるため説明は省略する。
 <FEC符号>
 本発明においてはFEC符号として特に欠損補償符号を用いるのが効果的である。そのため、第2実施例において、FEC符号としては、米国デジタルファウンテン社により開発されたFEC符号であるRaptor符号を用いると仮定する。ただし、もちろん一般的なリードソロモン(RS)ベースの符号を用いることも可能である。以下に、Raptor符号について簡単に説明するが、詳細については背景技術において述べた特許文献1を参照されたい。
 Raptor符号では、ストリームファイルを特定のデータ長(s×kバイト)の区間ごとに分け、各区間のデータを”入力シンボル”と呼ばれる同一データ長(sバイト)のk個のデータに分割する。そして、キーと呼ばれるインデックス値に基づいて、分割されたk個の入力シンボルから1以上の入力シンボル選択し、選択された入力シンボル同士をビット毎にXOR演算を行い、”出力シンボル”と呼ばれるsバイトのデータ長のデータを生成する。このような出力シンボルを異なるキーに対して連続して生成する。
 一方、受信側では、確率的にk+α個(αはkに比較し小さい)の出力シンボルを受信し、出力シンボル同士をXOR演算することにより入力シンボルを復元する。このとき、k+α個の出力シンボルは任意に選択可能であるため、転送中にどのパケットがロスした場合でも復元可能であるという優れた特性をもっている。
 <装置構成>
 図6は、第2実施例に係る配信サーバ内のネットワークボードの内部構成を示す図である。図に示されるように、ネットワークボード600は、パケットハンドラ601、メモリ602、メモリコントローラ603、バスI/F610に加え、符号化エンジン604および符号化制御部605を備えている。以下では、第1実施例と異なる部分であるFEC符号化エンジン604および符号化制御部605について説明する。
 FEC符号化エンジン604は、XOR演算をハードウェアで実行する回路である。XOR演算を含む論理演算がハードウェアにより容易に構成可能であることは、当業者には良く知られている。
 符号化制御部605は、前述のRaptor符号の符号化動作をFEC符号化エンジン604を制御することにより実現する機能部である。なお、符号化制御部605を、不図示のCPUおよび制御プログラムを格納するフラッシュメモリとして構成することにより、他のFEC符号アルゴリズムに容易に変更することが可能となり好適である。なお、符号化制御部605およびFEC符号化エンジン604が、実施例における符号化手段に相当する。
 具体的には、符号化制御部605はメモリ602に一時記憶されたデータ(入力シンボル)から、1以上の入力シンボルを選択しFEC符号化エンジン604に入力することにより順次出力シンボルを生成する。そして、生成された出力シンボルをメモリ602に一時記憶する。
 ただし、前述のRaptor符号について説明でも述べたように、出力シンボルと入力シンボルとのデータ長は同一であるが、数は少なくともα個以上増加していることに注意する。
 パケットハンドラ601は、メモリ602に一時記憶された出力シンボルにより構成されたデータをネットワーク110に適したデータ形式で送信する回路部である。具体的には、メモリ602に一時記憶されたデータに対し、フラグメント処理やスムージング処理を行った後、ネットワーク110に出力する。
 <機能構成および動作>
 図7は、第2実施例に係る配信サーバの機能構成を示す図である。
 配信サーバ100は、データ送信に関連する機能部として、入力部701、バス転送部702、フラグメント処理部703、スムージング処理部704に加え、符号化処理部705を備えている。以下では、第1実施例と異なる部分である符号化処理部705に関連する部分について説明する。
 符号化処理部705は、バス210を介してバス転送部702から転送されたデータ(データブロック)に対しFEC符号化処理を実行する機能部である。具体的には、符号化エンジン604および符号化制御部605により実現され、メモリ302に格納されたデータブロックを、前述の入力シンボルと見立てて、出力シンボルを生成する。
 フラグメント処理部703は、符号化処理部705により符号化された出力シンボル(データブロック)をネットワーク101に送出可能なデータ長に分割する機能部である。具体的には、メモリ602に格納されたデータブロックを、ネットワーク101のMTU以下となるデータ長に分割し、分割されたデータに対応するIP、UDP、RTPの各ヘッダを再生成する。そして、ネットワーク101に直接送信可能なデータ長のIPパケットをパケットバッファ602aに格納する。
 ただし、前述のように、符号化処理部705による符号化処理により、冗長データが追加されるため、結果として符号化処理部705の入力レートに比較し出力レートの方が大きい。具体的には、k個の入力シンボルからk+α個の出力シンボルを生成する場合、同じデータ長であることから、出力レートは入力レートの(k+α)/k倍になる。このとき、符号化率はk/(k+α)と表され、例えばRTPヘッダのタイムスタンプは符号化率に基づいて再設定される。つまり、非符号化時に比較し時間間隔を約k/(k+α)倍だけ短く設定する。ここで、入力シンボルおよび出力シンボル1個のデータ量が実施例における第1データ量に相当する。また、入力シンボルk個に相当するデータ量が実施例における第2データ量に相当する。
 スムージング処理部704は、フラグメント処理部703によりパケットバッファ602aに格納された固定長のIPパケットを等間隔にネットワーク101に送出する機能部である。具体的には、パケットバッファ602aに格納された固定長のIPパケット内のヘッダ情報に基づいて送出間隔を算出し、格納された順番にIPパケットを送出する。前述のようにRTPヘッダのタイムスタンプが短く設定されるため、結果的に送出間隔も約k/(k+α)倍だけ短く設定されることになる。
 以上説明をしたように、第2実施例の配信サーバによれば、第1実施例で説明したフラグメント処理に加えFEC符号化処理をNWボード600上で実行することによりCPU201の負荷を大幅に低減することが出来る。また、バス210にはFEC符号化による冗長データが流れることがないため、バス使用率(トラフィック)を低減することが可能となる。その結果、ストリーミングデータをより効率的に送出することが可能となる。
 (変形例)
 なお、上述の説明においては、ネットワークボードが直接接続するネットワーク(ここではイーサネット(登録商標))の最大転送サイズ(約1.5kバイト)より小さい固定長パケット(512バイト)を転送サイズとして設定した。しかし、もちろんMTUとほぼ等しく設定しても良い。なお、一般的には配信サーバから受信端末までは複数の種々のネットワークが混在し得、それぞれのMTUが異なる可能性がある。また、受信端末ごと経路が異なるため、受信端末ごとに”パスMTU”が異なる可能性がある。そのため、パスMTU探索(Path MTU Discovery)などを用い事前にパスMTUを検出し、それぞれの端末に対応するパスMTU以下となるようパケットサイズを、ストリーム配信開始時に動的に設定しても良い。

Claims (8)

  1.  ホスト装置に設けられたバスコネクタに接続するためのホストコネクタと、ネットワークに接続するためのネットワークコネクタとを備えるネットワークカードであって、
     前記ネットワークコネクタを介して送信可能なデータフレームの最大サイズを第1サイズとしたとき、
     前記ネットワークコネクタを介して送信することになるデータを、前記ホストコネクタを介して前記第1サイズよりも大きな第2サイズのブロックデータを単位として受信する受信手段と、
     前記受信手段において受信したブロックデータを一時的に記憶するためのバッファメモリと、
     前記バッファメモリから、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段と、
    を備えることを特徴とするネットワークカード。
  2.  前記送信手段は、1以上の前記データフレームを時間軸方向に略均等な間隔で前記ネットワークに送出する送信間隔制御手段をさらに備えることを特徴とする請求項1に記載のネットワークカード。
  3.  前記ブロックデータに含まれるデータに対して前方誤り訂正符号(FEC)の符号化処理を行う符号化手段をさらに備えることを特徴とする請求項2に記載のネットワークカード。
  4.  前記送信手段は、前記符号化手段により符号化されたデータに基づいて、前記第2サイズ以下となるデータフレームを生成し、
     前記送信間隔制御手段は、前記符号化手段が用いる符号化率に基づいて、前記データフレームを送出する前記間隔を決定することを特徴とする請求項3に記載のネットワークカード。
  5.  前記符号化手段は、前記符号化処理を所定の第1データ量を単位とした論理演算を繰り返し実行することにより行っており、
     前記送信手段は、前記第1データ量の整数倍のサイズのデータを前記データフレームに含めることを特徴とする請求項4に記載のネットワークカード。
  6.  前記符号化手段は、所定の第2データ量を単位として前記符号化処理を行い、 前記受信手段は、前記第2データ量の整数倍のサイズに設定された前記ブロックデータを受信することを特徴とする請求項4または請求項5に記載のネットワークカード。
  7.  バスにより接続されたホスト処理部とネットワーク処理部を備え、ネットワークにストリーミングデータを送出する情報処理装置であって、
     前記ホスト処理部は、
     ストリームデータを入力するデータ入力手段と、
     少なくとも前記ストリームデータを、前記ネットワークにおいて転送可能なデータフレームの最大サイズを第1サイズとしたとき、該第1サイズよりも大きな第2サイズのブロックデータを単位として、前記バスを介して前記ネットワーク処理部に転送するバス転送手段と、を備え、
     前記ネットワーク処理部は、
     前記バス転送手段から前記バスを介して送信されたブロックデータを受信する受信手段と、
     前記受信手段において受信したブロックデータを一時的に記憶するための記憶手段と、
     前記記憶手段から、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信手段と、を備えることを特徴とする情報処理装置。
  8.  バスにより接続されたホスト処理部とネットワーク処理部を備え、ネットワークにストリーミングデータを送出する情報処理装置であって、
     前記ホスト処理部は、
     ストリームデータを入力するデータ入力部と、
     少なくとも前記ストリームデータを、前記ネットワークにおいて転送可能なデータフレームの最大サイズを第1サイズとしたとき、該第1サイズよりも大きな第2サイズのブロックデータを単位として、前記バスを介して前記ネットワーク処理部に転送するバス転送を備え、
     前記ネットワーク処理部は、
     前記バス転送部から送信されたブロックデータを受信する受信部と、
     前記受信部において受信したブロックデータを一時的に記憶するためのバッファメモリと、
     前記バッファメモリから、送信するデータフレームに含めるためのデータを読み込み、前記第1サイズ以下となるデータフレームを生成して、前記ネットワークコネクタに接続されたネットワーク上に該データフレームを送信する送信部と、
    を備えることを特徴とする情報処理装置。
PCT/JP2008/050206 2008-01-10 2008-01-10 ネットワークカードおよび情報処理装置 WO2009087774A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2008/050206 WO2009087774A1 (ja) 2008-01-10 2008-01-10 ネットワークカードおよび情報処理装置
KR1020107017310A KR20100112151A (ko) 2008-01-10 2008-01-10 네트워크 카드 및 정보 처리 장치
EP08703070A EP2242220A1 (en) 2008-01-10 2008-01-10 Network card and information processor
US12/812,373 US20110022717A1 (en) 2008-01-10 2008-01-10 Network card and information processor
CN2008801244735A CN101911613A (zh) 2008-01-10 2008-01-10 网卡及信息处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/050206 WO2009087774A1 (ja) 2008-01-10 2008-01-10 ネットワークカードおよび情報処理装置

Publications (1)

Publication Number Publication Date
WO2009087774A1 true WO2009087774A1 (ja) 2009-07-16

Family

ID=40852899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/050206 WO2009087774A1 (ja) 2008-01-10 2008-01-10 ネットワークカードおよび情報処理装置

Country Status (5)

Country Link
US (1) US20110022717A1 (ja)
EP (1) EP2242220A1 (ja)
KR (1) KR20100112151A (ja)
CN (1) CN101911613A (ja)
WO (1) WO2009087774A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124423B2 (en) * 2010-05-14 2015-09-01 International Business Machines Corporation Iterative data secret-sharing transformation
US20120173641A1 (en) * 2010-12-30 2012-07-05 Irx - Integrated Radiological Exchange Method of transferring data between end points in a network
CN107273213B (zh) * 2017-06-27 2024-04-19 联想(北京)有限公司 一种计算控制方法、网卡及电子设备
US10853377B2 (en) * 2017-11-15 2020-12-01 The Climate Corporation Sequential data assimilation to improve agricultural modeling
WO2021047606A1 (zh) 2019-09-10 2021-03-18 华为技术有限公司 报文处理方法、装置以及芯片

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0637750A (ja) * 1992-07-20 1994-02-10 Hitachi Ltd 情報転送方式
JPH09205439A (ja) * 1996-01-26 1997-08-05 Hitachi Ltd Atmコントローラおよび、atm通信制御装置
JPH1079744A (ja) * 1996-09-04 1998-03-24 Mitsubishi Electric Corp 通信装置
JP2000358037A (ja) * 1999-06-16 2000-12-26 Sony Corp 情報処理装置、及び情報処理装置の管理方法
JP2002354537A (ja) * 2001-05-28 2002-12-06 Victor Co Of Japan Ltd 通信システム
JP2004153618A (ja) * 2002-10-31 2004-05-27 Kyocera Corp 通信システム、無線通信端末、データ配信装置及び通信方法
JP2008028767A (ja) * 2006-07-21 2008-02-07 Sumitomo Electric Networks Inc ネットワークカードおよび情報処理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775693B1 (en) * 2000-03-30 2004-08-10 Baydel Limited Network DMA method
JP3557998B2 (ja) * 2000-04-28 2004-08-25 日本電気株式会社 フラグメンテーション処理デバイスおよびこれを用いたフラグメンテーション処理装置
KR20040110923A (ko) * 2003-06-21 2004-12-31 삼성전자주식회사 에러 정정 부호화 방법, 그 장치, 에러 정정 복호화 방법및 그장치
US20100211626A1 (en) * 2004-01-12 2010-08-19 Foundry Networks, Inc. Method and apparatus for maintaining longer persistent connections
ATE438970T1 (de) * 2004-06-29 2009-08-15 Ericsson Telefon Ab L M Verfahren zur verarbeitung von paketbasierten daten sowie übertragung und empfang
US7474619B2 (en) * 2004-07-22 2009-01-06 International Business Machines Corporation Method and apparatus for providing fragmentation at a transport level along a transmission path
US7697524B2 (en) * 2005-04-05 2010-04-13 Cisco Technology, Inc. Method and system for determining path maximum transfer unit for IP multicast
US7680047B2 (en) * 2005-11-22 2010-03-16 Cisco Technology, Inc. Maximum transmission unit tuning mechanism for a real-time transport protocol stream
CN101411105A (zh) * 2006-02-01 2009-04-15 科科通信公司 协议链路层
US20080285476A1 (en) * 2007-05-17 2008-11-20 Yasantha Nirmal Rajakarunanayake Method and System for Implementing a Forward Error Correction (FEC) Code for IP Networks for Recovering Packets Lost in Transit
US8091011B2 (en) * 2007-10-09 2012-01-03 Broadcom Corporation Method and system for dynamically adjusting forward error correction (FEC) rate to adapt for time varying network impairments in video streaming applications over IP networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0637750A (ja) * 1992-07-20 1994-02-10 Hitachi Ltd 情報転送方式
JPH09205439A (ja) * 1996-01-26 1997-08-05 Hitachi Ltd Atmコントローラおよび、atm通信制御装置
JPH1079744A (ja) * 1996-09-04 1998-03-24 Mitsubishi Electric Corp 通信装置
JP2000358037A (ja) * 1999-06-16 2000-12-26 Sony Corp 情報処理装置、及び情報処理装置の管理方法
JP2002354537A (ja) * 2001-05-28 2002-12-06 Victor Co Of Japan Ltd 通信システム
JP2004153618A (ja) * 2002-10-31 2004-05-27 Kyocera Corp 通信システム、無線通信端末、データ配信装置及び通信方法
JP2008028767A (ja) * 2006-07-21 2008-02-07 Sumitomo Electric Networks Inc ネットワークカードおよび情報処理装置

Also Published As

Publication number Publication date
US20110022717A1 (en) 2011-01-27
KR20100112151A (ko) 2010-10-18
CN101911613A (zh) 2010-12-08
EP2242220A1 (en) 2010-10-20

Similar Documents

Publication Publication Date Title
JP6334028B2 (ja) 通信システムにおけるパケット送受信装置及び方法
EP3084994B1 (en) Dynamic coding for network traffic by fog computing node
JP5164123B2 (ja) スループットの向上を実現するシステム及び方法
US7451381B2 (en) Reliable method and system for efficiently transporting dynamic data across a network
US7975071B2 (en) Content compression in networks
CN110943800B (zh) 数据包的发送方法、装置及***、存储介质、电子装置
JP6284549B2 (ja) マルチパスストリーミングのためのfecベースの信頼性のある転送制御プロトコル
WO2019060908A1 (en) SYSTEMS AND METHODS FOR OPTIMIZING THE MULTI-PATH DATA TRANSPORT CHARGE
WO2020207406A1 (zh) 一种数据流的传输方法和设备
CN110505123B (zh) 丢包率的计算方法、服务器及计算机可读存储介质
JP6486684B2 (ja) 移動通信システムにおける順方向誤り訂正パケットを送受信する装置及び方法
JP5060572B2 (ja) データ通信装置及び方法
WO2009087774A1 (ja) ネットワークカードおよび情報処理装置
KR20120084237A (ko) 엠엠티(mmt)에서 엠엠티 인캡슐레이터를 전송하는 방법
US20070291782A1 (en) Acknowledgement filtering
WO2004049178A1 (ja) 情報処理装置および方法、並びにコンピュータ・プログラム
CN101854224B (zh) 纠错编码方法、装置和***以及转发控制方法和装置
CN111385055B (zh) 一种数据传输方法和装置
JP2008028767A (ja) ネットワークカードおよび情報処理装置
CN112564855A (zh) 报文处理方法、装置以及芯片
WO2024099020A1 (zh) 多通道数据发送方法、接收方法、发送端及接收端
WO2021047606A1 (zh) 报文处理方法、装置以及芯片
JP2004221756A (ja) 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
CN115086285A (zh) 一种数据处理方法、装置、存储介质及电子设备
JP5393699B2 (ja) 送信端末及び受信端末

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880124473.5

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08703070

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008703070

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20107017310

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 12812373

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: JP