JP2011072030A - Method and apparatus for stream data communication - Google Patents

Method and apparatus for stream data communication Download PDF

Info

Publication number
JP2011072030A
JP2011072030A JP2010278856A JP2010278856A JP2011072030A JP 2011072030 A JP2011072030 A JP 2011072030A JP 2010278856 A JP2010278856 A JP 2010278856A JP 2010278856 A JP2010278856 A JP 2010278856A JP 2011072030 A JP2011072030 A JP 2011072030A
Authority
JP
Japan
Prior art keywords
protocol stack
application program
data
stream data
memory area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010278856A
Other languages
Japanese (ja)
Other versions
JP5055420B2 (en
Inventor
Shigeki Taira
重喜 平
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010278856A priority Critical patent/JP5055420B2/en
Publication of JP2011072030A publication Critical patent/JP2011072030A/en
Application granted granted Critical
Publication of JP5055420B2 publication Critical patent/JP5055420B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an apparatus for stream data communication, which achieves efficient consumption of a bus band and a processing load of a processor, by transmitting and receiving data without generating data copies involving check sum calculation between an application program and a protocol stack. <P>SOLUTION: In the apparatus for stream data communication, a check sum value is calculated using a check sum calculation module 115, and a memory used by the application program and the protocol stack is held in common. When transmitting data, the data to be transmitted, which are prepared by the application program, are transmitted by indicating to a communication interface 113 without copying the data by the protocol stack, and when receiving data, the application program uses the data received by the communication interface 113 via a network without copying the data by the protocol stack. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、ストリームデータの通信方法及びストリームデータの通信装置に関し、特に、チェックサム計算モジュール及びソケット類似のプロトコルスタックを用いたバス帯域の浪費防止及びプロセッサ処理負荷の浪費防止に適用して有効な技術に関するものである。   The present invention relates to a stream data communication method and a stream data communication apparatus, and is particularly effective when applied to the prevention of waste of bus bandwidth and the waste of processor processing load using a checksum calculation module and a socket-like protocol stack. It is about technology.

今般、PC(Personal Computer)だけでなく、ビデオレコーダ等のAV(Audio/Visual)機器を含め様々な組込み機器にも、通信機能が搭載されてきている。それらの機器が採用している通信機能に関する代表的な物理インタフェース及びデータリンク層プロトコルの規格として、Ethernet(登録商標)やIEEE(Institute of Electrical and Electronic Engineers)802.3の有線LAN(Local Area Network)規格や、IEEE802.11の無線LAN規格がある。又、ネットワーク層プロトコルとして、IAB(Internet Architecture Board)によりRFC(Request For Comments)791で定義されているIP(Internet Protocol)規格があり、又、トランスポート層プロトコルとしてRFC791で定義されているTCP(Transmission Control Protocol)規格や、RFC768で定義されているUDP(User Datagram Protocol)規格がある。   Recently, not only PCs (Personal Computers) but also various embedded devices including AV (Audio / Visual) devices such as video recorders have been equipped with communication functions. Typical physical interface and data link layer protocol standards related to communication functions adopted by these devices include Ethernet (registered trademark) and IEEE (Institut of Electrical and Electronic Engineers) 802.3 wired LAN (Local Area Network). ) Standard and IEEE 802.11 wireless LAN standard. As a network layer protocol, there is an IP (Internet Protocol) standard defined by RFC (Request For Comments) 791 by IAB (Internet Architecture Board), and a TCP (defined by RFC 791 as a transport layer protocol). There are a Transmission Control Protocol (UDP) standard and a UDP (User Datagram Protocol) standard defined in RFC768.

ネットワーク層プロトコル及びトランスポート層プロトコル等の機能を合わせ持ったネットワーク制御ソフトウェア群は一般にプロトコルスタックと称され、それらの機器が採用するOS(Operating System)によってプロトコルスタックは異なってくる。例えばUNIX(登録商標)系のOSには、カーネルにプロトコルスタックが標準搭載されていることが多い。一方、通信に標準対応していないOSについても、通信機器の開発メーカ・製造メーカに向けた、そのOSに対して通信機能を提供するためのプロトコルスタック製品が販売・提供されていることが多い。そのため、多様な仕様から成る各プロトコル機能を組み合わせた標準規格に則した通信機能を有する機器を開発・製造することは、今般は比較的困難ではなくなってきている。   A network control software group having functions such as a network layer protocol and a transport layer protocol is generally referred to as a protocol stack, and the protocol stack differs depending on an OS (Operating System) adopted by these devices. For example, a UNIX (registered trademark) OS often has a standard protocol stack in the kernel. On the other hand, for OSs that do not support communication as a standard, protocol stack products for providing communication functions to the OSs are often sold and provided to communication device developers and manufacturers. . For this reason, it has become relatively difficult to develop and manufacture a device having a communication function conforming to a standard combining various protocol functions having various specifications.

プロトコルスタックの代表的なAPI(Application Program Interface)仕様として、非特許文献1や非特許文献2に示されるソケットがある。   As typical API (Application Program Interface) specifications of the protocol stack, there are sockets shown in Non-Patent Document 1 and Non-Patent Document 2.

図10は、代表的なソケットAPI仕様を有するプロトコルスタックにおける、TCPプロトコル通信のAPI関数呼び出し順を示す図であり、図11は、代表的なソケットAPI仕様を有するプロトコルスタックにおける、UDPプロトコル通信のAPI関数呼び出し順を示す図である。いずれの図も、右半分がサーバ側を示しており、左半分がクライアント側を示している。これら図に示した関数は一般的な表記であるが、他の一般的な表記としてwrite関数1006の代わりにsend関数と表記することもあり、又read関数1005の代わりにrecv関数と表記することもある。   FIG. 10 is a diagram showing an API function call order of TCP protocol communication in a protocol stack having a typical socket API specification, and FIG. 11 is a diagram of UDP protocol communication in a protocol stack having a typical socket API specification. It is a figure which shows API function call order. In both figures, the right half shows the server side, and the left half shows the client side. Although the functions shown in these figures are general notations, other general notations may be expressed as send functions instead of write functions 1006, and may be expressed as recv functions instead of read functions 1005. There is also.

socket関数1001は、TCPプロトコル通信/UDPプロトコル通信や、サーバ/クライアント等の属性を持つソケットを生成する。bind関数1002は、ソケットにポート番号等の属性を与える。listen関数1003は通信相手からの接続を待つ。connect関数1011は通信相手に接続を要求する。accept関数1004は通信相手からの接続を受け入れる。write関数1006及びsendto関数1106は通信相手にデータを送り、一方、read関数1005及びrecvfrom関数1105は通信相手からのデータを受ける。close関数1007はソケットを閉じる。   The socket function 1001 generates a socket having attributes such as TCP protocol communication / UDP protocol communication and server / client. The bind function 1002 gives an attribute such as a port number to the socket. The listen function 1003 waits for a connection from a communication partner. The connect function 1011 requests connection to the communication partner. The accept function 1004 accepts a connection from a communication partner. A write function 1006 and a sendto function 1106 send data to the communication partner, while a read function 1005 and a recvfrom function 1105 receive data from the communication partner. A close function 1007 closes the socket.

ソケットAPI仕様を有するプロトコルスタックとそれを用いるアプリケーションプログラムのTCPによるデータ送信時の働きについて、通信相手の指定や接続の確立・切断の手続き等については省略し、特に送信データの流れ(write関数1006の働きの詳細)に着目して説明すると、次の送信ステップ1〜5のようになる。   With regard to the protocol stack having the socket API specification and the operation of the application program using the TCP at the time of data transmission by TCP, the specification of the communication partner and the procedure for establishing / disconnecting the connection are omitted, and the flow of transmission data (write function 1006 in particular) The following transmission steps 1 to 5 will be described with a focus on the details of the operation of (1).

[送信ステップ1]アプリケーションプログラムは、アプリケーションプログラム自身が(OSのメモリ管理機能を用いて)確保済の第1のメモリ領域に、送信すべきデータを格納(準備)する。   [Transmission Step 1] The application program stores (preparation) data to be transmitted in the first memory area secured by the application program itself (using the memory management function of the OS).

[送信ステップ2]アプリケーションプログラムは、プロトコルスタックに対して第1のメモリ領域を指定しながらwrite関数1006を呼び出し送信指示する。   [Transmission Step 2] The application program calls the write function 1006 to instruct transmission while designating the first memory area for the protocol stack.

[送信ステップ3]プロトコルスタックは、プロトコルスタック自身が(OSのメモリ管理機能を用いて)確保済の第2のメモリ領域にアプリケーションプログラムから指定された第1のメモリ領域のデータをコピーし、更にそのデータのチェックサム値を計算する。ここにチェックサム値の計算は、対象とするデータは同一であるため、コピーと同時に行うことも可能である。   [Transmission Step 3] The protocol stack copies the data in the first memory area designated by the application program to the second memory area secured by the protocol stack itself (using the memory management function of the OS). Calculate the checksum value of the data. Here, the calculation of the checksum value can be performed simultaneously with the copy because the target data is the same.

[送信ステップ4]プロトコルスタックは、得られたチェックサム値を用いてTCPヘッダ等のプロトコルヘッダを生成する。   [Transmission Step 4] The protocol stack generates a protocol header such as a TCP header using the obtained checksum value.

[送信ステップ5]プロトコルスタックは、通信相手に対して、生成したプロトコルヘッダとともに第2のメモリ領域のデータを送信する。   [Transmission Step 5] The protocol stack transmits the data in the second memory area together with the generated protocol header to the communication partner.

又、ソケットAPI仕様を有するプロトコルスタックとそれを用いるアプリケーションプログラムのTCPによるデータ受信時の働きについて、通信相手の指定や接続の確立・切断の手続き等については省略し、特に受信データの流れ(read関数1005の働きの詳細)に着目して説明すると、次の受信ステップ1〜5のようになる。   In addition, the protocol stack having the socket API specification and the operation of the application program using the socket when receiving data by TCP are omitted for the specification of the communication partner and the procedure for establishing / disconnecting the connection. The following receiving steps 1 to 5 will be described with a focus on the details of the function 1005.

[受信ステップ1]プロトコルスタックは、プロトコルスタック自身が(OSのメモリ管理機能を用いて)確保済の第3のメモリ領域に、通信相手からの受信データを格納する。   [Reception Step 1] The protocol stack stores the received data from the communication partner in the third memory area secured by the protocol stack itself (using the memory management function of the OS).

[受信ステップ2]アプリケーションプログラムは、プロトコルスタックに対してアプリケーションプログラム自身が(OSのメモリ管理機能を用いて)確保済の第四のメモリ領域を指定しながらread関数1005を呼び出し受信指示する。   [Reception Step 2] The application program calls the read function 1005 to instruct to receive the protocol stack while designating the reserved fourth memory area (using the memory management function of the OS).

[受信ステップ3]プロトコルスタックは、アプリケーションプログラムから指定された第四のメモリ領域に第3のメモリ領域のデータをコピーし、更にそのデータのチェックサム値を計算する。ここにチェックサム値の計算は、対象とするデータは同一であるため、コピーと同時に行うことも可能である。   [Reception Step 3] The protocol stack copies the data in the third memory area to the fourth memory area designated by the application program, and further calculates the checksum value of the data. Here, the calculation of the checksum value can be performed simultaneously with the copy because the target data is the same.

[受信ステップ4]プロトコルスタックは、得られたチェックサム値と受信TCPヘッダに含まれるチェックサム値が整合していることを確認すると、アプリケーションプログラムに知らせる。   [Reception Step 4] When the protocol stack confirms that the obtained checksum value matches the checksum value included in the received TCP header, the protocol stack notifies the application program.

[受信ステップ5]アプリケーションプログラムは、第四のメモリ領域のデータを利用する。   [Reception Step 5] The application program uses the data in the fourth memory area.

尚、以上のソケットAPI仕様を有するプロトコルスタックとそれを用いるアプリケーションプログラムのTCPによるデータ受信時の働きにおいて、上記受信ステップ1と2は、通信相手からの受信データの到着タイミングによっては前後することもある。   It should be noted that the reception steps 1 and 2 may be changed depending on the arrival timing of the received data from the communication partner in the function of the protocol stack having the above socket API specifications and the application program using the socket when receiving data by TCP. is there.

このようにデータの送受信に際して、ソケットAPI仕様を有するプロトコルスタックを用いたアプリケーションプログラムは、準備した送信データが格納されたメモリ領域を指定しながら送信関数を呼び出したり、後ほど利用するための受信データを格納すべきメモリ領域を指定しながら受信関数を呼び出したりするだけでよい。そのためソケットAPI仕様を有するプロトコルスタックは、アプリケーションプログラムが負担・配慮しなければならないことが少ない体系として完成しており、機器やOSの種別に関わらず広く利用されている。   As described above, when transmitting / receiving data, an application program using a protocol stack having a socket API specification calls a transmission function while specifying a memory area in which prepared transmission data is stored, or receives received data to be used later. It is only necessary to call the reception function while specifying the memory area to be stored. For this reason, the protocol stack having the socket API specification has been completed as a system that requires little burden and consideration on application programs, and is widely used regardless of the type of device or OS.

“Test Page. Yoshifumi Tanaka”,[online],[2005年10月11日検索],インターネット<URL:http://kansai.anesth.or.jp/gijutu/c++/man−socket.php>“Test Page. Yoshifumi Tanaka”, [online], [October 11, 2005 search], Internet <URL: http: // kansai. anesth. or. jp / gijutu / c ++ / man-socket. php> Michael J. Donahoo、Kenneth L. Calvert共著、小高 知宏訳,「TCP/IPソケットプログラミング C言語編」,オーム社,2003年Michael J.M. Donahoo, Kenneth L. Co-authored by Calvert, translated by Tomohiro Kodaka, “TCP / IP Socket Programming C Language”, Ohmsha, 2003

しかしながら、前述のソケットAPI仕様のプロトコルスタックでは、データ送信時はアプリケーションプログラムが確保したメモリ領域からプロトコルスタックが確保したメモリ領域への、データ受信時はプロトコルスタックが確保したメモリ領域からアプリケーションプログラムが確保したメモリ領域への、チェックサム計算を伴うデータコピーが発生する。これにより、そのデータが流れるバス帯域の浪費を導き、又、その処理を行うプロセッサの処理負荷の浪費を導くという問題があった。   However, in the protocol stack of the socket API specification described above, the application program secures from the memory area secured by the protocol stack to the memory area secured by the protocol stack when data is transmitted, and from the memory area secured by the protocol stack when data is received. Data copy with checksum calculation occurs in the selected memory area. As a result, there is a problem that the bus bandwidth through which the data flows is wasted and the processing load of the processor that performs the processing is wasted.

そこで、本発明の目的は、アプリケーションプログラムとプロトコルスタックの間のチェックサム計算を伴うデータコピーを発生させずに送受信することで、バス帯域の消費の効率化、及びプロセッサの処理負荷の消費の効率化を達成するストリームデータ通信方法及びストリームデータ通信装置を提供することにある。   Therefore, an object of the present invention is to transmit and receive data without accompanying checksum calculation between an application program and a protocol stack, thereby improving the efficiency of bus bandwidth consumption and the efficiency of processor processing load consumption. It is an object to provide a stream data communication method and a stream data communication apparatus that achieve the above.

本発明のストリームデータ通信方法及びストリームデータ通信装置においては、チェックサム計算モジュールを有し、ストリームデータが入力されるストリームインタフェースと、ストリームデータを送信する通信インタフェースと、アプリケーションプログラムとプロトコルスタックとで構成されるプログラムが記憶されるメモリと、プログラムを処理するプロセッサとを備え、チェックサム計算モジュールを利用してチェックサム値を計算し、アプリケーションプログラムとプロトコルスタックで利用するメモリを共有化し、送信時にはアプリケーションプログラムが準備した送信すべきデータをプロトコルスタックがコピーすることなく通信インタフェースに指示して送信し、受信時には通信インタフェースがネットワークを介して受信するデータをプロトコルスタックがコピーすることなくアプリケーションプログラムが利用することを最も主要な特徴とする。   In the stream data communication method and the stream data communication apparatus of the present invention, the stream data communication method has a checksum calculation module, and includes a stream interface to which stream data is input, a communication interface for transmitting stream data, an application program, and a protocol stack. A memory for storing the program to be stored, and a processor for processing the program, calculate the checksum value using the checksum calculation module, share the memory used by the application program and the protocol stack, and transmit the application The protocol stack sends data prepared by the program to the communication interface without copying, and when receiving, the communication interface receives it via the network. The most important feature that the application program is utilized without a data protocol stack copy.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.

本発明によれば、アプリケーションプログラムとプロトコルスタックの間のチェックサム計算を伴うデータコピーが発生せずに送受信可能なため、バス帯域の消費の効率化、及びプロセッサの処理負荷の消費の効率化を達成するという利点がある。   According to the present invention, data can be transmitted and received without generating a checksum calculation between the application program and the protocol stack, so that the bus bandwidth can be consumed more efficiently and the processor processing load can be consumed more efficiently. There is an advantage to achieve.

本発明の実施の形態1に係るストリームデータ通信装置の構成を示す構成図である。It is a block diagram which shows the structure of the stream data communication apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートである。It is a flowchart which shows the stream data communication method of the stream data communication apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係るストリームデータ通信装置のストリームデータ通信方法においてストリームデータを送信する場合のメモリ内のデータ配置を示す図である。It is a figure which shows the data arrangement | positioning in memory in the case of transmitting stream data in the stream data communication method of the stream data communication apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態2に係るストリームデータ通信装置の構成を示す構成図である。It is a block diagram which shows the structure of the stream data communication apparatus which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートである。It is a flowchart which shows the stream data communication method of the stream data communication apparatus which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るストリームデータ通信装置のストリームデータ通信方法においてストリームデータを受信する場合のメモリ内のデータ配置を示す図である。It is a figure which shows the data arrangement | positioning in memory in the case of receiving stream data in the stream data communication method of the stream data communication apparatus which concerns on Embodiment 2 of this invention. 本発明の実施の形態3に係るストリームデータ通信装置の構成を示す構成図である。It is a block diagram which shows the structure of the stream data communication apparatus which concerns on Embodiment 3 of this invention. 本発明の実施の形態3に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートである。It is a flowchart which shows the stream data communication method of the stream data communication apparatus which concerns on Embodiment 3 of this invention. 本発明の実施の形態3に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートである。It is a flowchart which shows the stream data communication method of the stream data communication apparatus which concerns on Embodiment 3 of this invention. 代表的なソケットAPI仕様を有するプロトコルスタックにおける、TCPプロトコル通信のAPI関数呼び出し順を示す図である。It is a figure which shows the API function call order of TCP protocol communication in the protocol stack which has a typical socket API specification. 代表的なソケットAPI仕様を有するプロトコルスタックにおける、UDPプロトコル通信のAPI関数呼び出し順を示す図である。It is a figure which shows the API function call order of UDP protocol communication in the protocol stack which has a typical socket API specification.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。尚、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

(実施の形態1)
<ストリームデータ通信装置の構成>
図1により、本発明の実施の形態1に係るストリームデータ通信装置の構成について説明する。図1は本発明の実施の形態1に係るストリームデータ通信装置の構成を示す構成図であり、ストリームデータの送信を行う構成である。
(Embodiment 1)
<Configuration of stream data communication apparatus>
The configuration of the stream data communication apparatus according to Embodiment 1 of the present invention will be described with reference to FIG. FIG. 1 is a configuration diagram showing a configuration of a stream data communication apparatus according to Embodiment 1 of the present invention, which is a configuration for transmitting stream data.

図1において、ストリームデータ通信装置101は、各種のデータ演算や判断等のデータ処理を行うプロセッサ111と、データを記憶するメモリ112と、データの送信及び受信を行う通信インタフェース113と、ストリームデータの入力及び出力を行うストリームインタフェース114を備える。プロセッサ111とメモリ112と通信インタフェース113とストリームインタフェース114とは、内バス116を介して接続されている。   In FIG. 1, a stream data communication apparatus 101 includes a processor 111 that performs data processing such as various data calculations and determinations, a memory 112 that stores data, a communication interface 113 that transmits and receives data, and a stream data A stream interface 114 for inputting and outputting is provided. The processor 111, the memory 112, the communication interface 113, and the stream interface 114 are connected via an internal bus 116.

プロセッサ111と通信インタフェース113とストリームインタフェース114はそれぞれ、特にメモリ112へのアクセスについては内バス116を主導する(バスマスタである)。ストリームインタフェース114は、チェックサム計算を行うチェックサム計算モジュール115を備える。   Each of the processor 111, the communication interface 113, and the stream interface 114 leads the internal bus 116 (is a bus master) particularly for access to the memory 112. The stream interface 114 includes a checksum calculation module 115 that performs checksum calculation.

更に、ストリームデータ通信装置101は、通信インタフェース113に接続された通信ケーブル121を介して、LAN或いはインターネットといったネットワーク122に接続されている。ネットワーク122には図示していない通信相手が存在し、ストリームデータ通信装置101はその通信相手と通信可能な状態である。   Further, the stream data communication apparatus 101 is connected to a network 122 such as a LAN or the Internet via a communication cable 121 connected to a communication interface 113. There is a communication partner (not shown) in the network 122, and the stream data communication apparatus 101 is in a state where it can communicate with the communication partner.

更に、ストリームデータ通信装置101は、外バス131を介してストリーマ132と接続されている。ストリーマ132は、図示していない記憶装置からその記憶装置に格納されているストリームデータを入手したり、或いはその記憶装置にストリームデータを格納したり、或いは図示していないチューナからストリームデータを受けたり、或いはストリームデータを処理して映像データや音声データを生成し、図示していないディスプレイに映像データを、図示していないスピーカに音声データを送ったりすること等が可能である。ストリームデータ通信装置101は、ストリーマ132からストリームデータが入力され、ストリーマ132へストリームデータを出力する。   Further, the stream data communication apparatus 101 is connected to the streamer 132 via the external bus 131. The streamer 132 obtains stream data stored in the storage device from a storage device (not shown), stores stream data in the storage device, or receives stream data from a tuner (not shown). Alternatively, the stream data can be processed to generate video data and audio data, and the video data can be sent to a display (not shown) and the audio data can be sent to a speaker (not shown). The stream data communication apparatus 101 receives stream data from the streamer 132 and outputs the stream data to the streamer 132.

<ストリームデータ通信装置のストリームデータ通信方法>
次に、図2及び図3により、本発明の実施の形態1に係るストリームデータ通信装置のストリームデータ通信方法について説明する。図2は本発明の実施の形態1に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートであり、ストリームデータを送信する場合の動作を示している。図3は本発明の実施の形態1に係るストリームデータ通信装置のストリームデータ通信方法においてストリームデータを送信する場合のメモリ内のデータ配置を示す図である。
<Stream Data Communication Method of Stream Data Communication Device>
Next, the stream data communication method of the stream data communication apparatus according to Embodiment 1 of the present invention will be described with reference to FIG. 2 and FIG. FIG. 2 is a flowchart showing the stream data communication method of the stream data communication apparatus according to Embodiment 1 of the present invention, and shows the operation when transmitting stream data. FIG. 3 is a diagram showing a data arrangement in the memory when stream data is transmitted in the stream data communication method of the stream data communication apparatus according to Embodiment 1 of the present invention.

まず、プロセッサ111は、メモリ112が記憶している3種類のプログラム、すなわちアプリケーションプログラム301、及びプロトコルスタック302、及び図示していないOS(カーネル)に従って動作している。   First, the processor 111 operates according to three types of programs stored in the memory 112, that is, an application program 301, a protocol stack 302, and an OS (kernel) (not shown).

以下では、プロセッサ111という語句の代わりにプロセッサ111で処理中のプログラム(アプリケーションプログラム301、又はプロトコルスタック302)を語句として用い、ストリームデータを送信する場合におけるストリームデータ通信装置101の動作について説明する。   Hereinafter, the operation of the stream data communication apparatus 101 in the case of transmitting stream data using a program (the application program 301 or the protocol stack 302) being processed by the processor 111 as a word instead of the word “processor 111” will be described.

まず、ステップ1(201)において、アプリケーションプログラム301は、ストリームインタフェース114に対して、ストリーマ132から入力されるストリームデータのチェックサム値を計算しつつそのストリームデータを第1のメモリ領域311に格納することを指示する。それによって、ストリームインタフェース114は、入力されるストリームデータのチェックサム値をチェックサム計算モジュール115を用いて計算しつつそのストリームデータを第1のメモリ領域311に格納する。   First, in step 1 (201), the application program 301 calculates the checksum value of the stream data input from the streamer 132 to the stream interface 114 and stores the stream data in the first memory area 311. I will tell you. Accordingly, the stream interface 114 stores the stream data in the first memory area 311 while calculating the checksum value of the input stream data using the checksum calculation module 115.

次に、ステップ2(202)において、アプリケーションプログラム301は、プロトコルスタック302に対して、ステップ1(201)において、チェックサム計算モジュール115が計算したチェックサム値と第1のメモリ領域311を指定して送信指示する。   Next, in step 2 (202), the application program 301 specifies the checksum value calculated by the checksum calculation module 115 and the first memory area 311 in step 1 (201) for the protocol stack 302. To send.

すなわち、アプリケーションプログラム301は、ステップ1(201)において、チェックサム計算モジュール115が計算したチェックサム値と第1のメモリ領域311を指定して、プロセッサ111の次の処理としてプロトコルスタック302の送信処理へと移す。   That is, the application program 301 designates the checksum value calculated by the checksum calculation module 115 and the first memory area 311 in step 1 (201), and transmits the protocol stack 302 as the next process of the processor 111. Move to.

次に、ステップ3(203)において、指示を受けたプロトコルスタック302は、指定されたチェックサム値を用いて、指定された第1のメモリ領域311に格納されているストリームデータを通信に供させるためのデータ(プロトコルヘッダ)を生成して、第2のメモリ領域312に格納する。   Next, in step 3 (203), the protocol stack 302 that has received the instruction uses the specified checksum value to provide the stream data stored in the specified first memory area 311 for communication. Data (protocol header) is generated and stored in the second memory area 312.

一般に、プロトコルヘッダとは、例えば、TCPプロトコルによる通信の場合はMAC(Media Access Control)ヘッダ、IPヘッダ、及びTCPヘッダであり、又、例えば、UDPプロトコルによる通信の場合はMACヘッダ及びIPヘッダ及びUDPヘッダである。IPv6プロトコルによる通信の場合はそれらIPヘッダは実際にはIPv6ヘッダである。   In general, the protocol header is, for example, a MAC (Media Access Control) header, an IP header, and a TCP header in the case of communication using the TCP protocol, and a MAC header and an IP header in the case of communication using the UDP protocol, for example. It is a UDP header. In the case of communication using the IPv6 protocol, these IP headers are actually IPv6 headers.

TCPヘッダには必須として、UDPヘッダには選択可能として、送信すべきデータとプロトコルヘッダの構成要素の一部(ポート番号等)のチェックサム値を格納する部分がある。ステップ3(203)では、指定された第1のメモリ領域311に格納されたデータを読み出すことなく、指定されたチェックサム値を利用してその値とプロトコルヘッダの構成要素の一部とのチェックサム値を計算して、TCPヘッダ或いはUDPヘッダに格納するチェックサム値とする。   The TCP header is essential, the UDP header is selectable, and there is a portion that stores data to be transmitted and a checksum value of a part of the components of the protocol header (port number and the like). In step 3 (203), the specified checksum value is used to check the value and a part of the constituent elements of the protocol header without reading the data stored in the specified first memory area 311. The sum value is calculated and used as the checksum value stored in the TCP header or UDP header.

次に、ステップ4(204)において、プロトコルスタック302は、通信インタフェース113に対して、第2のメモリ領域312と第1のメモリ領域311それぞれに格納されているデータを一連の送信データとして送信することを指示する。それによって通信インタフェース113は、指定された第2のメモリ領域312と第1のメモリ領域311に格納されているそれぞれのデータを一連の送信データとして、通信ケーブル121、ひいてはネットワーク122、ひいては通信相手へと送信する。   Next, in step 4 (204), the protocol stack 302 transmits the data stored in the second memory area 312 and the first memory area 311 to the communication interface 113 as a series of transmission data. I will tell you. As a result, the communication interface 113 converts each data stored in the designated second memory area 312 and first memory area 311 as a series of transmission data to the communication cable 121, and hence the network 122, and thus to the communication partner. And send.

次に、プロトコルスタック302は、送信完了を認識すると、ステップ5(205)において、アプリケーションプログラム301に対して送信完了したことを知らせる。   Next, when recognizing the completion of transmission, the protocol stack 302 informs the application program 301 that transmission has been completed in step 5 (205).

最終的にステップ5(205)において、アプリケーションプログラム301が送信完了を知った後には、アプリケーションプログラム301は、第1のメモリ領域311を(OSのメモリ管理機能を用いて)解放、或いは別用途に用いて別データを再格納することが可能であるし、或いはステップ1(201)から再開して第1のメモリ領域311に次に送信すべきストリームデータを再格納することも可能である。   Finally, in step 5 (205), after the application program 301 knows that the transmission has been completed, the application program 301 releases the first memory area 311 (using the memory management function of the OS) or uses it for another purpose. It is possible to re-store other data using the data, or it is possible to restart from step 1 (201) and re-store the stream data to be transmitted next in the first memory area 311.

逆に、送信完了を知る前には、アプリケーションプログラム301が第1のメモリ領域311の解放や再格納することは制限される。第1のメモリ領域311に格納されているストリームデータが通信インタフェース113からの送信前に、或いは通信相手からの受信応答の確認前に破壊されてしまうと、アプリケーションプログラム301が意図した送信すべきストリームデータを送信、或いは再送信できなくなるためである。   Conversely, before knowing the completion of transmission, the application program 301 is restricted from releasing or re-storing the first memory area 311. If the stream data stored in the first memory area 311 is destroyed before transmission from the communication interface 113 or before confirmation of a reception response from the communication partner, the stream to be transmitted as intended by the application program 301 This is because data cannot be transmitted or retransmitted.

但し、前述した送信完了とは、受信側が正常受信したという意味に限定されるものではなく、信頼性の提供が不要な通信では、例えば通信インタフェース113が送信している最中に通信ケーブル121で信号が衝突したことによる送信エラーを送信完了と見なす等も可能である。   However, the above-described transmission completion is not limited to the meaning that the reception side has received normally, and in communication that does not require provision of reliability, for example, the communication cable 113 is transmitting while the communication interface 113 is transmitting. It is also possible to regard a transmission error due to the collision of signals as transmission completion.

尚、以上ではアプリケーションプログラム301が単一のストリームデータを単一の送信データとして送信する、言わば基本的な流れを説明したが、ストリームデータ通信方法はこれに限定されるものではない。   In the above description, the basic flow in which the application program 301 transmits single stream data as single transmission data has been described, but the stream data communication method is not limited to this.

例えば、ステップ1(201)において、アプリケーションプログラム301は逐次入力されるストリームデータのそれぞれのチェックサム値を計算しつつそれぞれのストリームデータを複数のメモリ領域それぞれに格納するように指示し、ステップ2(202)において、アプリケーションプログラム301はそれぞれのチェックサム値と対応するメモリ領域を指定して、それぞれ送信指示し、ステップ3(203)において、プロトコルスタック302は対応するプロトコルヘッダをそれぞれ生成し、ステップ4(204)において、プロトコルスタック302はそれぞれのプロトコルヘッダ及び対応するストリームデータを合わせた一連のデータそれぞれを指定しつつ送信指示し、ステップ5(205)において、プロトコルスタック302は送信完了したものから知らせる、等の実施も可能である。   For example, in step 1 (201), the application program 301 instructs each stream data to be stored in each of a plurality of memory areas while calculating the checksum value of each sequentially input stream data. 202), the application program 301 designates a memory area corresponding to each checksum value and instructs transmission thereof. In step 3 (203), the protocol stack 302 generates a corresponding protocol header. In (204), the protocol stack 302 instructs transmission while designating each of a series of data including the respective protocol headers and corresponding stream data. In step 5 (205), the protocol stack 302 02 informs from those completed transmission, implementations are possible and the like.

又、上述ではステップ2(202)において、アプリケーションプログラム301がプロトコルスタック302にチェックサム値を知らせるとしたが、これは明示的なものではなく、暗黙的な実施も可能である。すなわち、例えば、ステップ1(201)において、チェックサム計算モジュール115が計算したチェックサム値をストリームインタフェース114が、例えば第1のメモリ領域311の直後のメモリ領域に格納することを決まり事としておけば、ステップ2(202)において、アプリケーションプログラム301がプロトコルスタック302にチェックサム値を明示的に知らせなくても、ステップ3(203)では、プロトコルスタック302は第1のメモリ領域311の直後のメモリ領域を読み出した値をチェックサム値として利用する、等の実施も可能である。   In the above description, in step 2 (202), the application program 301 informs the protocol stack 302 of the checksum value. However, this is not an explicit one, and an implicit implementation is possible. That is, for example, in step 1 (201), the stream interface 114 may store the checksum value calculated by the checksum calculation module 115 in, for example, the memory area immediately after the first memory area 311. In step 2 (202), even if the application program 301 does not explicitly notify the protocol stack 302 of the checksum value, in step 3 (203), the protocol stack 302 has a memory area immediately after the first memory area 311. It is also possible to use a value obtained by reading as a checksum value.

尚、プロトコルスタック302は、既存のAPI仕様を有するプロトコルスタックを簡単に修正することによって実施することが可能である。すなわち、図10及び図11に示した公知の代表的なソケットAPI仕様を有するプロトコルスタックのAPI関数において、write関数1006或いはsendto関数1106は、ソケットとデータ(メモリ領域)だけを与えられるのではなく、そのデータのチェックサム値も与えられて、ステップ3(203)〜ステップ5(205)を実行するように修正すればよい。   The protocol stack 302 can be implemented by simply modifying a protocol stack having an existing API specification. That is, in the API function of the protocol stack having the well-known representative socket API specification shown in FIGS. 10 and 11, the write function 1006 or the sendto function 1106 is not given only the socket and data (memory area). The checksum value of the data is also given, and the data may be modified to execute Step 3 (203) to Step 5 (205).

それに対応するアプリケーションプログラム301は、ステップ1(201)において、ストリームデータを通信に供するサイズ毎に分割してそれぞれのチェックサム値をチェックサム計算モジュール115を用いて計算し(そのようにストリームインタフェース114に指示し)、ステップ2(202)において、メモリ領域と合わせて得られたチェックサム値も指定してそれら関数を呼び出すように修正すればよい。   In step 1 (201), the corresponding application program 301 divides the stream data for each size to be used for communication and calculates each checksum value using the checksum calculation module 115 (as described above, the stream interface 114). In step 2 (202), the checksum value obtained together with the memory area may be specified and the functions may be called.

そして、アプリケーションプログラム301とプロトコルスタック302との間でフラグを予め共有し、アプリケーションプログラム301がそれら関数の呼び出しの前にそのフラグを初期化しておき、プロトコルスタック302はステップ5(205)において、そのフラグの値を変更すれば、そのフラグの値をアプリケーションプログラム301が観測することにより、プロトコルスタック302がアプリケーションプログラム301に対して送信完了したことを知らせることが可能である。   Then, a flag is shared in advance between the application program 301 and the protocol stack 302, and the application program 301 initializes the flag before calling these functions. If the value of the flag is changed, the application program 301 observes the value of the flag, so that the protocol stack 302 can notify the application program 301 that transmission has been completed.

ステップ5(205)において、プロトコルスタック302がアプリケーションプログラム301に対して送信完了したことを知らせる他の方法は、アプリケーションプログラム301へコールバックする関数を登録するための新規のAPI関数をプロトコルスタック302に予め用意し、コールバック関数(イベントリスナー)をアプリケーションプログラム301に予め用意し、アプリケーションプログラム301はそのAPI関数を用いてそのコールバック関数を予め登録し、プロトコルスタック302がステップ5(205)において、その関数を呼び出せばよい。   In step 5 (205), another method for notifying that the protocol stack 302 has completed transmission to the application program 301 is to add a new API function to the protocol stack 302 for registering a function to call back to the application program 301. A callback function (event listener) is prepared in advance in the application program 301, the application program 301 registers the callback function in advance using the API function, and the protocol stack 302 in step 5 (205) Call that function.

ステップ5(205)において、プロトコルスタック302がアプリケーションプログラム301に対して送信完了したことを知らせる更なる他の方法は、アプリケーションプログラム301が割り込み処理の関数を予め用意し、プロトコルスタック302がステップ5(205)において、その割り込み処理の関数に対応する割り込み要求を発生させればよい。   In step 5 (205), another method for notifying that the protocol stack 302 has completed transmission to the application program 301 is as follows. The application program 301 prepares an interrupt processing function in advance, and the protocol stack 302 performs step 5 (step 5 (205)). 205), an interrupt request corresponding to the interrupt processing function may be generated.

以上説明したストリームデータ通信方法及びストリームデータ通信装置によれば、アプリケーションプログラムとプロトコルスタックの間のチェックサム計算を伴うデータコピーは発生せずにストリームデータを送信可能なため、バス帯域の消費の効率化、及びプロセッサの処理負荷の消費の効率化を達成する。   According to the stream data communication method and the stream data communication apparatus described above, the stream data can be transmitted without causing a data copy accompanied by a checksum calculation between the application program and the protocol stack. And efficient consumption of the processing load of the processor.

尚、本実施の形態のストリームインタフェース114は、図示していないタイムスタンプ挿入モジュールを備えることが可能である。タイムスタンプ挿入モジュールは、ストリーマ132からストリームインタフェース114に入力されるストリームデータに対して、所定のサイズ毎に(相対的な)時間データ(タイムスタンプ)を挿入する。   The stream interface 114 of this embodiment can include a time stamp insertion module (not shown). The time stamp insertion module inserts (relative) time data (time stamp) for each predetermined size into the stream data input from the streamer 132 to the stream interface 114.

この場合、以前の説明では、ストリーマ132からストリームインタフェース114に入力されるストリームデータのを除く全ての「ストリームデータ」を「タイムスタンプが挿入されたストリームデータ」と読み替えれば実施可能である。こうすることで、通信相手(受信側)でこのタイムスタンプ値を参照することにより、ストリーマ132からの入力と相対的な時間が等しいタイミングで通信相手はストリームデータを扱うことが可能となる。   In this case, in the previous description, all “stream data” except the stream data input from the streamer 132 to the stream interface 114 can be read as “stream data with a time stamp inserted”. By doing so, the communication partner (reception side) refers to this time stamp value, so that the communication partner can handle the stream data at the same time relative to the input from the streamer 132.

又、本実施の形態のストリームインタフェース114は、図示していない暗復号化モジュールを備えることが可能である。暗復号化モジュールは、ストリーマ132からストリームインタフェース114に入力される暗号化されたストリームデータを復号して元のストリームデータに戻す。   Further, the stream interface 114 of the present embodiment can include an encryption / decryption module (not shown). The encryption / decryption module decrypts the encrypted stream data input from the streamer 132 to the stream interface 114 and returns the stream data to the original stream data.

この場合、以前の説明では、ストリーマ132からストリームインタフェース114に入力される(暗号化された)「ストリームデータ」のみを「暗号化されたストリームデータ」と読み替えれば実施可能である。こうすることで、外バス131を流れるストリームデータが暗号化されることになり、外バス131が攻撃されることによるストリームデータの不正な複製等を避けることが可能となる。   In this case, in the previous description, it is possible to replace only “stream data” (encrypted) input (encrypted) from the streamer 132 with the stream interface 114 as “encrypted stream data”. By doing so, the stream data flowing through the external bus 131 is encrypted, and it is possible to avoid illegal duplication of the stream data due to the attack of the external bus 131.

又、暗復号化モジュールは、ストリーマ132からストリームインタフェース114に入力されるストリームデータを暗号化する。この場合、以前の説明では、ストリーマ132からストリームインタフェース114に入力されるストリームデータを除く全ての「ストリームデータ」を「暗号化されたストリームデータ」と読み替えれば実施可能である。こうすることで、通信相手(受信側)までのネットワーク122を流れるストリームデータが暗号化されることになり、ネットワーク122が攻撃されることによるストリームデータの不正な複製等を避けることが可能となる。   The encryption / decryption module encrypts stream data input from the streamer 132 to the stream interface 114. In this case, in the previous description, it can be implemented by replacing all “stream data” except stream data input from the streamer 132 to the stream interface 114 as “encrypted stream data”. By doing this, the stream data flowing through the network 122 up to the communication partner (reception side) is encrypted, and it becomes possible to avoid illegal duplication of stream data and the like due to the attack of the network 122. .

(実施の形態2)
<ストリームデータ通信装置の構成>
図4により、本発明の実施の形態2に係るストリームデータ通信装置の構成について説明する。図4は本発明の実施の形態2に係るストリームデータ通信装置の構成を示す構成図であり、ストリームデータの受信を行う構成である。
(Embodiment 2)
<Configuration of stream data communication apparatus>
The configuration of the stream data communication apparatus according to Embodiment 2 of the present invention will be described with reference to FIG. FIG. 4 is a block diagram showing the configuration of the stream data communication apparatus according to Embodiment 2 of the present invention, which is a configuration for receiving stream data.

図4において、実施の形態1で説明した図1と符号が同じ部位の働きの概要は、実施の形態1と同じであるため、ここでは説明を省く。   In FIG. 4, the outline of the operation of the parts having the same reference numerals as those in FIG. 1 described in the first embodiment is the same as that in the first embodiment, and thus description thereof is omitted here.

ストリームデータ通信装置401は、プロセッサ111と、メモリ112と、データの送信及び受信を行う通信インタフェース413と、ストリームデータの入力及び出力を行うストリームインタフェース414を備える。プロセッサ111とメモリ112と通信インタフェース413とストリームインタフェース414とは、内バス116を介して接続されている。   The stream data communication apparatus 401 includes a processor 111, a memory 112, a communication interface 413 that transmits and receives data, and a stream interface 414 that inputs and outputs stream data. The processor 111, the memory 112, the communication interface 413, and the stream interface 414 are connected via an internal bus 116.

プロセッサ111と通信インタフェース413とストリームインタフェース414はそれぞれ、特にメモリ112へのアクセスについては内バス116を主導する(バスマスタである)。通信インタフェース413は、チェックサム計算を行うチェックサム計算モジュール415を備える。   Each of the processor 111, the communication interface 413, and the stream interface 414 leads the internal bus 116 (is a bus master) particularly for access to the memory 112. The communication interface 413 includes a checksum calculation module 415 that performs checksum calculation.

<ストリームデータ通信装置のストリームデータ通信方法>
次に、図5及び図6により、本発明の実施の形態2に係るストリームデータ通信装置のストリームデータ通信方法について説明する。図5は本発明の実施の形態2に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートであり、ストリームデータを受信する場合の動作を示している。図6は本発明の実施の形態2に係るストリームデータ通信装置のストリームデータ通信方法においてストリームデータを受信する場合のメモリ内のデータ配置を示す図である。
<Stream Data Communication Method of Stream Data Communication Device>
Next, the stream data communication method of the stream data communication apparatus according to Embodiment 2 of the present invention will be described with reference to FIGS. FIG. 5 is a flowchart showing the stream data communication method of the stream data communication apparatus according to Embodiment 2 of the present invention, and shows the operation when receiving stream data. FIG. 6 is a diagram showing a data arrangement in the memory when stream data is received in the stream data communication method of the stream data communication apparatus according to Embodiment 2 of the present invention.

まず、プロセッサ111は、メモリ112が記憶している3種類のプログラム、すなわちアプリケーションプログラム601、及びプロトコルスタック602、及び図示していないOS(カーネル)に従って動作している。   First, the processor 111 operates according to three types of programs stored in the memory 112, that is, an application program 601, a protocol stack 602, and an OS (kernel) (not shown).

以下では、プロセッサ111という語句の代わりにプロセッサ111で処理中のプログラム(アプリケーションプログラム601、又はプロトコルスタック602)を語句として用い、ストリームデータを受信する場合におけるストリームデータ通信装置401の動作を説明する。   In the following, the operation of the stream data communication apparatus 401 when receiving stream data using a program (application program 601 or protocol stack 602) being processed by the processor 111 instead of the word “processor 111” will be described.

まず、ステップ1(501)において、プロトコルスタック602は、通信インタフェース413に対して、図示していない通信相手からの受信データのチェックサム値を計算しつつその受信データを第1のメモリ領域611に格納することを指示する。それによって通信インタフェース413は、通信相手からの受信データのチェックサム値をチェックサム計算モジュール415を用いて計算しつつその受信データを第1のメモリ領域611に格納する。   First, in step 1 (501), the protocol stack 602 calculates a checksum value of received data from a communication partner (not shown) to the communication interface 413 and stores the received data in the first memory area 611. Instruct to store. Thereby, the communication interface 413 stores the received data in the first memory area 611 while calculating the checksum value of the received data from the communication partner using the checksum calculation module 415.

尚、ステップ1(501)において、チェックサム計算モジュール415は、受信データのうち、プロトコルヘッダが常に存在する最初の所定サイズのデータを無視し、残りの部分のチェックサム値を計算するようにも実施可能である。又、チェックサム計算モジュール415は、受信データのうち、プロトコルヘッダが拡張されていないか解釈して適切なサイズのデータを無視するようにも実施可能である。更に、チェックサム計算モジュール415は、TCPヘッダやUDPヘッダに格納されるチェックサム値の計算に参照されるプロトコルヘッダの構成要素の一部(ポート番号等)は無視せずに、プロトコルヘッダ以外の部分と合わせてチェックサム値を計算するようにも実施可能である。   In step 1 (501), the checksum calculation module 415 ignores the first predetermined size data in which the protocol header always exists in the received data, and calculates the checksum value of the remaining part. It can be implemented. The checksum calculation module 415 can also be implemented so as to ignore data of an appropriate size by interpreting whether the protocol header is not expanded from the received data. Furthermore, the checksum calculation module 415 ignores some of the components (port number, etc.) of the protocol header referred to the calculation of the checksum value stored in the TCP header or UDP header. It is also possible to calculate the checksum value together with the part.

次に、ステップ2(502)において、プロトコルスタック602は、第1のメモリ領域611に格納されたデータのうち通信に供させるためのデータ(プロトコルヘッダ)612を解釈して、残りのデータが格納された第2のメモリ領域613を抽出(認識)しつつ、ステップ1(501)において、チェックサム計算モジュール415が計算したチェックサム値も用いてアプリケーションプログラム601が扱うべき適切なデータかどうかを判定する。   Next, in step 2 (502), the protocol stack 602 interprets the data (protocol header) 612 to be used for communication among the data stored in the first memory area 611, and stores the remaining data. In step 1 (501), the checksum value calculated by the checksum calculation module 415 is also used to determine whether the application program 601 should handle appropriate data while extracting (recognizing) the second memory area 613. To do.

すなわち、プロトコルヘッダ612に含まれるアドレスとストリームデータ通信装置401のネットワークアドレスが整合しているか、或いはプロトコルヘッダ612に含まれるポート番号とアプリケーションプログラム601のポート番号が整合しているか、或いはプロトコルヘッダ612に含まれるTCPヘッダ或いはUDPヘッダに格納されているチェックサム値と、プロトコルヘッダ612の構成要素の一部(ポート番号等)と第2のメモリ領域613に格納されているデータから計算されるチェックサム値が整合しているか、等である。このチェックサム値の整合性の判定では、第2のメモリ領域613に格納されたデータを読み出すことなく、ステップ1(501)によって得られたチェックサム値を利用する。   That is, the address included in the protocol header 612 and the network address of the stream data communication apparatus 401 match, or the port number included in the protocol header 612 matches the port number of the application program 601, or the protocol header 612 Check calculated from the checksum value stored in the TCP header or UDP header included in the header, part of the components of the protocol header 612 (port number, etc.) and the data stored in the second memory area 613 Whether the thumb values are consistent, etc. In the determination of the consistency of the checksum value, the checksum value obtained in step 1 (501) is used without reading the data stored in the second memory area 613.

この判定によって、ストリームデータ通信装置401が扱うべきデータではないことを(他の通信装置へのデータ、或いは破損したと推定されるデータである等と)認識すると、プロトコルスタック602は第1のメモリ領域611に格納されたデータを廃棄(無視)する。又、プロトコルスタック602が扱うべきデータであると認識すると、プロトコルスタック602は対応した処理を行う。又、アプリケーションプログラム601ではない他のアプリケーションプログラムが扱うべきデータであると認識すると、プロトコルスタック602は以降のステップを対応するアプリケーションプログラムのために行う。   If it is determined by this determination that the data is not to be handled by the stream data communication device 401 (data to another communication device or data estimated to be damaged, etc.), the protocol stack 602 first memory The data stored in the area 611 is discarded (ignored). When the protocol stack 602 recognizes that the data should be handled, the protocol stack 602 performs corresponding processing. If the protocol stack 602 recognizes that the data should be handled by another application program that is not the application program 601, the protocol stack 602 performs the following steps for the corresponding application program.

図示していないが、アプリケーションプログラム601が扱うべきデータであると認識された場合のみ、次のステップ3(503)に進み、他の場合は本説明においてはステップ1(501)に戻る。   Although not shown, only when it is recognized that the data should be handled by the application program 601, the process proceeds to the next step 3 (503). In other cases, the process returns to step 1 (501).

更に、ステップ3(503)において、アプリケーションプログラム601は、プロトコルスタック602に対して、受信指示する。   Furthermore, in step 3 (503), the application program 601 instructs the protocol stack 602 to receive.

ここに、ステップ1(501)とステップ2(502)とステップ3(503)は、ステップ1(501)とステップ2(502)の順序は変わらないものの、アプリケーションプログラム601の受信指示タイミングと通信相手からの受信データの到着タイミングによっては、図5に示した順序に関わらず前後することもある。   Here, step 1 (501), step 2 (502), and step 3 (503) do not change the order of step 1 (501) and step 2 (502), but the reception instruction timing of application program 601 and the communication partner. Depending on the arrival timing of received data from, the order may be changed regardless of the order shown in FIG.

すなわち、ステップ1(501)の後にステップ3(503)が続き、その後にステップ2(502)が続くこともあれば、ステップ3(503)の後にステップ1(501)が続き、その後にステップ2(502)が続くこともある。   That is, Step 3 (503) is followed by Step 3 (503), followed by Step 2 (502), or Step 3 (503) is followed by Step 1 (501), followed by Step 2. (502) may follow.

次に、ステップ4(504)において、プロトコルスタック602は、アプリケーションプログラム601に対して、アプリケーションプログラム601が扱うべきストリームデータが格納されている第2のメモリ領域613を知らせる。   Next, in step 4 (504), the protocol stack 602 notifies the application program 601 of the second memory area 613 in which stream data to be handled by the application program 601 is stored.

次に、ステップ5(505)において、アプリケーションプログラム601は、ストリームインタフェース414に対して、知らされた第2のメモリ領域613に格納されているストリームデータをストリーマ132に出力することを指示する。   Next, in step 5 (505), the application program 601 instructs the stream interface 414 to output the stream data stored in the informed second memory area 613 to the streamer 132.

それによってストリームインタフェース414は、第2のメモリ領域613に格納されているストリームデータをストリーマ132に出力する。   Thereby, the stream interface 414 outputs the stream data stored in the second memory area 613 to the streamer 132.

次に、アプリケーションプログラム601は、出力完了を認識すると、ステップ6(506)において、プロトコルスタック602に対して利用完了したことを知らせる。   Next, when recognizing the completion of output, the application program 601 notifies the protocol stack 602 that use has been completed in step 6 (506).

最終的にステップ6(506)においてプロトコルスタック602が利用完了を知った後には、プロトコルスタック602は、第2のメモリ領域613を(OSのメモリ管理機能を用いて)解放、或いは別用途に用いて別データを再格納することができるし、或いはステップ1(501)から再開して第1のメモリ領域611に次の受信データを再格納することもできる。逆に利用完了を知る前には、プロトコルスタック602が第2のメモリ領域613の解放や再格納することは制限される。   Finally, after the protocol stack 602 knows that the use is completed in step 6 (506), the protocol stack 602 releases the second memory area 613 (using the memory management function of the OS) or uses it for another purpose. Another data can be re-stored, or the next received data can be re-stored in the first memory area 611 by restarting from step 1 (501). Conversely, before the use completion is known, the protocol stack 602 is restricted from releasing or re-storing the second memory area 613.

尚、以上ではアプリケーションプログラム601が単一の受信データに含まれる単一のストリームデータを利用する、言わば基本的な流れを説明したが、ストリームデータ通信方法はこれに限定されるものではない。例えば、ステップ1(501)においてプロトコルスタック602は逐次受信される複数の受信データのそれぞれのチェックサム値を計算しつつそれぞれの受信データを複数のメモリ領域それぞれに格納するように指示し、ステップ2(502)においてプロトコルスタック602はそれぞれのメモリ領域に格納されたデータに対して解釈及び抽出及び判定し、ステップ3(503)においてアプリケーションプログラム601は複数回受信指示し、ステップ4(504)においてプロトコルスタック602は複数のメモリ領域を知らせ、ステップ5(505)においてアプリケーションプログラム601は複数のメモリ領域に格納されたストリームデータそれぞれを出力することを指示し、ステップ6(506)においてアプリケーションプログラム601は利用完了したものから知らせる、等の実施も可能である。   In the above, the basic flow in which the application program 601 uses a single stream data included in a single received data has been described, but the stream data communication method is not limited to this. For example, in step 1 (501), the protocol stack 602 instructs to store each received data in each of a plurality of memory areas while calculating each checksum value of a plurality of received data that are sequentially received. In (502), the protocol stack 602 interprets, extracts, and determines the data stored in the respective memory areas. In step 3 (503), the application program 601 instructs to receive a plurality of times, and in step 4 (504), the protocol. The stack 602 notifies the plurality of memory areas, and in step 5 (505), the application program 601 instructs to output each of the stream data stored in the plurality of memory areas, and in step 6 (506), the application Program 601 informs from those completed use, implementations are possible and the like.

尚、プロトコルスタック602は、既存のAPI仕様を有するプロトコルスタックを簡単に修正することによって実施することが可能である。すなわち、プロトコルスタック602は、ステップ1(501)において、受信データのチェックサム値をチェックサム計算モジュール415を用いて計算し(そのように通信インタフェース413に指示し)、ステップ2(502)におけるプロトコルヘッダ612の構成要素の一部(ポート番号等)と第2のメモリ領域613に格納されているデータから計算されるチェックサム値の計算を、第2のメモリ領域613に格納されたデータを読み出すことなく、ステップ1(501)によって得られたチェックサム値を利用するように修正すればよい。   The protocol stack 602 can be implemented by simply modifying a protocol stack having an existing API specification. That is, in step 1 (501), the protocol stack 602 calculates the checksum value of the received data using the checksum calculation module 415 (and so instructs the communication interface 413), and the protocol stack 602 in step 2 (502). Reads the data stored in the second memory area 613 and calculates the checksum value calculated from some of the components of the header 612 (port number and the like) and the data stored in the second memory area 613. Instead, the checksum value obtained in step 1 (501) may be modified to be used.

又、図10及び図11に示した公知の代表的なソケットAPI仕様を有するプロトコルスタックのAPI関数において、read関数1005或いはrecvfrom関数1105は、アプリケーションプログラムが扱うべきデータを格納すべきメモリ領域が与えられるのではなく、アプリケーションプログラムが扱うべきデータが格納されたメモリ領域を与えるように修正すればよい。   In addition, in the API function of the protocol stack having the well-known representative socket API specifications shown in FIGS. 10 and 11, the read function 1005 or the recvfrom function 1105 gives a memory area in which data to be handled by the application program is stored. Instead, it is only necessary to modify so as to give a memory area in which data to be handled by the application program is stored.

それに対応するアプリケーションプログラム601は、それら関数によって与えられるメモリ領域に格納されたデータを利用するように修正すればよい。   The corresponding application program 601 may be modified to use data stored in a memory area given by these functions.

そして、アプリケーションプログラム601とプロトコルスタック602との間でフラグを予め共有し、プロトコルスタック602がそれら関数に対応する処理から抜ける前にそのフラグを初期化しておき、アプリケーションプログラム601はステップ6(506)において、そのフラグの値を変更すれば、そのフラグの値をプロトコルスタック602が観測することにより、アプリケーションプログラム601がプロトコルスタック602に対して利用完了したことを知らせることが可能である。   Then, a flag is shared in advance between the application program 601 and the protocol stack 602, and the flag is initialized before the protocol stack 602 exits from the processing corresponding to these functions, and the application program 601 executes step 6 (506). If the value of the flag is changed, the protocol stack 602 observes the value of the flag, so that it is possible to notify the protocol stack 602 that the application program 601 has been used.

ステップ6(506)において、アプリケーションプログラム601がプロトコルスタック602に対して利用完了したことを知らせる他の方法は、新規のAPI関数をプロトコルスタック602に予め用意し、アプリケーションプログラム601がステップ6(506)において、その関数を呼び出せばよい。   In step 6 (506), another method for notifying that the application program 601 has been used to the protocol stack 602 is to prepare a new API function in the protocol stack 602 in advance, and the application program 601 executes step 6 (506). Call that function.

ステップ6(506)において、アプリケーションプログラム601がプロトコルスタック602に対して利用完了したことを知らせる更なる他の方法は、プロトコルスタック602が割り込み処理の関数を予め用意し、アプリケーションプログラム601がステップ6(506)において、その割り込み処理の関数に対応する割り込み要求を発生させればよい。   In step 6 (506), another method for informing the protocol stack 602 that the application program 601 has completed use of the protocol stack 602 is prepared in advance by the protocol stack 602, and the application program 601 executes step 6 (step 506). In step 506), an interrupt request corresponding to the interrupt processing function may be generated.

以上説明したストリームデータ通信方法及びストリームデータ通信装置によれば、プロトコルスタックとアプリケーションプログラムの間のチェックサム計算を伴うデータコピーは発生せずにストリームデータを受信可能なため、バス帯域の消費の効率化、及びプロセッサの処理負荷の消費の効率化を達成する。   According to the stream data communication method and the stream data communication apparatus described above, the stream data can be received without causing a data copy accompanied by a checksum calculation between the protocol stack and the application program. And efficient consumption of the processing load of the processor.

尚、本実施の形態のストリームインタフェース414は、図示していないタイムスタンプ削除モジュールを備えることが可能である。タイムスタンプ削除モジュールは、通信相手(送信側)によって(相対的な)時間データ(タイムスタンプ)が挿入されたストリームデータに対して、そのタイムスタンプ値を参照することによって相対的な時間が等しいタイミングで、タイムスタンプを削除したストリームデータをストリーマ132に出力する。   Note that the stream interface 414 of this embodiment can include a time stamp deletion module (not shown). The time stamp deletion module refers to stream data into which (relative) time data (time stamp) has been inserted by the communication partner (transmission side), by referring to the time stamp value, and the relative time is equal. Thus, the stream data from which the time stamp has been deleted is output to the streamer 132.

この場合、以前の説明では、ストリームインタフェース414がストリーマ132に出力するストリームデータを除く全ての「ストリームデータ」を「タイムスタンプが挿入されたストリームデータ」と読み替えれば実施可能である。こうすることで、通信相手(送信側)がこのタイムスタンプを挿入したのと相対的な時間が等しいタイミングで、ストリームデータをストリーマ132に出力することが可能となる。   In this case, in the previous description, it is possible to replace all “stream data” except the stream data output from the stream interface 414 to the streamer 132 as “stream data with a time stamp inserted”. By doing so, it becomes possible to output the stream data to the streamer 132 at the same time as the relative time when the communication partner (transmission side) inserts this time stamp.

又、本実施の形態のストリームインタフェース414は、図示していない暗復号化モジュールを備えることが可能である。暗復号化モジュールは、ストリームインタフェース114がストリーマ132に出力するデータを暗号化する。この場合、以前の説明では、ストリームインタフェース414がストリーマ132に出力する「ストリームデータ」のみを「暗号化されたストリームデータ」と読み替えれば実施可能である。こうすることで、外バス131を流れるストリームデータが暗号化されることになり、外バス131が攻撃されることによるストリームデータの不正な複製等を避けることが可能となる。   Further, the stream interface 414 of this embodiment can include an encryption / decryption module (not shown). The encryption / decryption module encrypts data output from the stream interface 114 to the streamer 132. In this case, in the previous description, this can be implemented by replacing only “stream data” output from the stream interface 414 to the streamer 132 with “encrypted stream data”. By doing so, the stream data flowing through the external bus 131 is encrypted, and it is possible to avoid illegal duplication of the stream data due to the attack of the external bus 131.

又、暗復号化モジュールは、通信相手(送信側)によって暗号化されたストリームデータを復号して元のストリームデータに戻す。この場合、以前の説明では、ストリームインタフェース414がストリーマ132に出力するストリームデータを除く全ての「ストリームデータ」を「暗号化されたストリームデータ」と読み替えれば実施可能である。こうすることで、通信相手(受信側)からのネットワーク122を流れるストリームデータが暗号化されることになり、ネットワーク122が攻撃されることによるストリームデータの不正な複製等を避けることが可能となる。   The encryption / decryption module decrypts the stream data encrypted by the communication partner (transmission side) and returns the stream data to the original stream data. In this case, in the previous description, it is possible to read all “stream data” except the stream data output from the stream interface 414 to the streamer 132 as “encrypted stream data”. By doing so, stream data flowing through the network 122 from the communication partner (reception side) is encrypted, and it becomes possible to avoid illegal duplication of stream data and the like due to the attack of the network 122. .

(実施の形態3)
<ストリームデータ通信装置の構成>
図7により、本発明の実施の形態3に係るストリームデータ通信装置の構成について説明する。図7は本発明の実施の形態3に係るストリームデータ通信装置の構成を示す構成図であり、ストリームデータの送受信を行う構成である。
(Embodiment 3)
<Configuration of stream data communication apparatus>
The configuration of the stream data communication apparatus according to Embodiment 3 of the present invention will be described with reference to FIG. FIG. 7 is a block diagram showing the configuration of the stream data communication apparatus according to Embodiment 3 of the present invention, which is a configuration for transmitting and receiving stream data.

図7において、実施の形態1及び2で説明した図1及び図4と符号が同じ部位の働きの概要は、実施の形態1及び2と同じであるため、ここでは説明を省く。   In FIG. 7, the outline of the operation of the parts having the same reference numerals as those in FIGS. 1 and 4 described in the first and second embodiments is the same as that in the first and second embodiments, and thus description thereof is omitted here.

ストリームデータ通信装置701は、プロセッサ111と、メモリ112と、データの送信及び受信を行う通信インタフェース113と、ストリームデータの入力及び出力を行うストリームインタフェース414と、チェックサム計算を行うチェックサム計算モジュール715を備える。   The stream data communication device 701 includes a processor 111, a memory 112, a communication interface 113 that transmits and receives data, a stream interface 414 that inputs and outputs stream data, and a checksum calculation module 715 that performs checksum calculation. Is provided.

プロセッサ111とメモリ112と通信インタフェース113とストリームインタフェース414とチェックサム計算モジュール715とは、内バス116を介して接続されている。プロセッサ111と通信インタフェース113とストリームインタフェース414とチェックサム計算モジュール715とはそれぞれ、特にメモリ112へのアクセスについては内バス116を主導する(バスマスタである)。   The processor 111, the memory 112, the communication interface 113, the stream interface 414, and the checksum calculation module 715 are connected via the internal bus 116. The processor 111, the communication interface 113, the stream interface 414, and the checksum calculation module 715 respectively lead the internal bus 116 for access to the memory 112 (is a bus master).

<ストリームデータ通信装置のストリームデータ通信方法>
次に、図8により、本発明の実施の形態3に係るストリームデータ通信装置のストリームデータ通信方法について説明する。図8は本発明の実施の形態3に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートであり、ストリームデータを送信する場合の動作を示している。尚、本実施の形態のストリームデータを受信する場合のメモリ内のデータ配置は、実施の形態1で示した図3と同じであり、それを用いて説明する。
<Stream Data Communication Method of Stream Data Communication Device>
Next, the stream data communication method of the stream data communication apparatus according to Embodiment 3 of the present invention will be described with reference to FIG. FIG. 8 is a flowchart showing the stream data communication method of the stream data communication apparatus according to Embodiment 3 of the present invention, and shows the operation when transmitting stream data. The data arrangement in the memory when receiving the stream data of the present embodiment is the same as that shown in FIG. 3 described in the first embodiment, and will be described using that.

以下では、プロセッサ111という語句の代わりにプロセッサ111で処理中のプログラム(アプリケーションプログラム301、又はプロトコルスタック302)を語句として用い、ストリームデータを送信する場合におけるストリームデータ通信装置701の動作を説明する。   Hereinafter, the operation of the stream data communication apparatus 701 in the case of transmitting stream data using a program (application program 301 or protocol stack 302) being processed by the processor 111 as a word instead of the word processor 111 will be described.

まず、ステップ1(801)において、アプリケーションプログラム301は、ストリームインタフェース414に対して、ストリーマ132から入力されるストリームデータを第1のメモリ領域311に格納することを指示する。それによってストリームインタフェース414は、入力されるストリームデータのチェックサム値をチェックサム計算モジュール115を用いて計算しつつそのストリームデータを第1のメモリ領域311に格納する。   First, in step 1 (801), the application program 301 instructs the stream interface 414 to store the stream data input from the streamer 132 in the first memory area 311. Thereby, the stream interface 414 stores the stream data in the first memory area 311 while calculating the checksum value of the input stream data using the checksum calculation module 115.

次に、ステップ2(802)において、アプリケーションプログラム301は、プロトコルスタック302に対して、第1のメモリ領域311を指定して送信指示する。   Next, in step 2 (802), the application program 301 instructs the protocol stack 302 to specify the first memory area 311 for transmission.

次に、ステップ3(803)において、プロトコルスタック302は、チェックサム計算モジュール715に対して、指定された第1のメモリ領域311に格納されているデータのチェックサム値を計算することを指示する。それによってチェックサム計算モジュール715は、第1のメモリ領域311に格納されているデータをメモリ112から読み出し、そのチェックサム値を計算する。   Next, in step 3 (803), the protocol stack 302 instructs the checksum calculation module 715 to calculate the checksum value of the data stored in the designated first memory area 311. . As a result, the checksum calculation module 715 reads the data stored in the first memory area 311 from the memory 112 and calculates the checksum value.

次に、ステップ4(804)において、得られたチェックサム値を用いて、指定された第1のメモリ領域311に格納されているストリームデータを通信に供させるためのデータ(プロトコルヘッダ)を生成して、第2のメモリ領域312に格納する。ステップ4(804)では、第1のメモリ領域311に格納されたデータを読み出すことなく、ステップ3(803)によって得られたチェックサム値を利用してその値とプロトコルヘッダの構成要素の一部とのチェックサム値を計算して、TCPヘッダ或いはUDPヘッダに格納するチェックサム値とする。   Next, in step 4 (804), using the obtained checksum value, data (protocol header) for generating the stream data stored in the designated first memory area 311 for communication is generated. Then, it is stored in the second memory area 312. In step 4 (804), the data stored in the first memory area 311 is not read, and the checksum value obtained in step 3 (803) is used to check the value and some of the components of the protocol header. And the checksum value to be stored in the TCP header or UDP header.

残りのステップ5(805)及びステップ6(806)はそれぞれ、図2に示す実施の形態1におけるステップ4(204)及びステップ5(205)と同じであるため、ここでは説明を省く。   The remaining Step 5 (805) and Step 6 (806) are the same as Step 4 (204) and Step 5 (205) in Embodiment 1 shown in FIG.

尚、以上ではアプリケーションプログラム301が単一のストリームデータを単一の送信データとして送信する、言わば基本的な流れを説明したが、ストリームデータ通信方法はこれに限定されるものではない。   In the above description, the basic flow in which the application program 301 transmits single stream data as single transmission data has been described, but the stream data communication method is not limited to this.

例えば、ステップ1(801)において、アプリケーションプログラム301は逐次入力されるそれぞれのストリームデータを複数のメモリ領域それぞれに格納するように指示し、ステップ2(802)において、アプリケーションプログラム301はそれぞれのメモリ領域を指定して、それぞれ送信指示し、ステップ3(803)において、プロトコルスタック302は指定されたそれぞれのメモリ領域に格納されているデータのチェックサム値をそれぞれ計算することを指示し、ステップ4(804)において、プロトコルスタック302は対応するプロトコルヘッダをそれぞれ生成する、等の実施も可能である。   For example, in step 1 (801), the application program 301 instructs each stream data to be sequentially input to be stored in each of a plurality of memory areas. In step 2 (802), the application program 301 stores each memory area. In step 3 (803), the protocol stack 302 instructs to calculate the checksum value of the data stored in each designated memory area, and in step 4 ( In 804), the protocol stack 302 can also generate corresponding protocol headers, respectively.

尚、プロトコルスタック302は、既存のAPI仕様を有するプロトコルスタックを簡単に修正することによって実施することが可能である。すなわち、図10及び図11に示した公知の代表的なソケットAPI仕様を有するプロトコルスタックのAPI関数において、write関数1006或いはsendto関数1106は、それが呼ばれるとステップ3(803)〜ステップ6(806)を実行するように修正すればよい。   The protocol stack 302 can be implemented by simply modifying a protocol stack having an existing API specification. That is, in the API function of the protocol stack having the well-known representative socket API specification shown in FIGS. 10 and 11, when the write function 1006 or the sendto function 1106 is called, the steps 3 (803) to 6 (806) are called. ) To execute.

そして、ステップ6(806)においてプロトコルスタック302がアプリケーションプログラム301に対して送信完了したことを知らせる方法は、実施の形態1におけるステップ5(205)と同じであるため、ここでは説明を省く。   The method for notifying that the protocol stack 302 has completed transmission to the application program 301 in step 6 (806) is the same as that in step 5 (205) in the first embodiment, and thus the description thereof is omitted here.

以上説明したストリームデータ通信方法及びストリームデータ通信装置によれば、アプリケーションプログラムとプロトコルスタックの間のチェックサム計算を伴うデータコピー(メモリからの読み出し及びメモリへの書き込み)は発生せずにストリームデータを送信可能である。チェックサム計算を伴うデータのメモリからの読み出しのみは全てのストリームデータに対して発生するものの、チェックサム計算は主にプロセッサが行うのではなくチェックサム計算モジュールが行う。よって、実施の形態1と比べれば劣ると考えられるものの、バス帯域の消費の効率化、及びプロセッサの処理負荷の消費の効率化を達成する。   According to the stream data communication method and the stream data communication apparatus described above, stream data can be generated without causing data copy (reading from the memory and writing to the memory) that involves checksum calculation between the application program and the protocol stack. It can be sent. Although only reading of data accompanied by checksum calculation from the memory occurs for all stream data, the checksum calculation is not mainly performed by the processor but by the checksum calculation module. Therefore, although considered to be inferior to the first embodiment, it is possible to achieve efficient use of bus bandwidth and efficient use of processor processing load.

尚、本実施例のストリームインタフェース414は、図示していないタイムスタンプ挿入モジュールや、図示していない暗復号化モジュールを備えることが可能であり、その機能を利用してその効果を得ることが実施可能であることは、実施の形態1におけるストリームインタフェース114と同じであるため、ここでは説明を省く。   Note that the stream interface 414 of this embodiment can include a time stamp insertion module (not shown) or an encryption / decryption module (not shown), and its function can be used to obtain the effect. The possibility is the same as that of the stream interface 114 in the first embodiment, and thus the description is omitted here.

(実施の形態4)
<ストリームデータ通信装置の構成>
実施の形態3におけるストリームデータ通信装置の構成は、実施の形態3で示した図7と同じでありそれを用いて説明する。働きの概要は、実施の形態3と同じであるため、ここでは説明を省く。
(Embodiment 4)
<Configuration of stream data communication apparatus>
The configuration of the stream data communication apparatus according to the third embodiment is the same as that shown in FIG. Since the outline of the operation is the same as that of the third embodiment, the description is omitted here.

<ストリームデータ通信装置のストリームデータ通信方法>
次に、図9により、本発明の実施の形態4に係るストリームデータ通信装置のストリームデータ通信方法について説明する。図9は本発明の実施の形態3に係るストリームデータ通信装置のストリームデータ通信方法を示すフローチャートであり、ストリームデータを受信する場合の動作を示している。尚、本実施の形態のストリームデータを受信する場合のメモリ内のデータ配置は、実施例実施の形態2で示した図6と同じでありそれを用いて説明する。
<Stream Data Communication Method of Stream Data Communication Device>
Next, a stream data communication method of the stream data communication apparatus according to Embodiment 4 of the present invention will be described with reference to FIG. FIG. 9 is a flowchart showing the stream data communication method of the stream data communication apparatus according to Embodiment 3 of the present invention, and shows the operation when receiving stream data. Note that the data arrangement in the memory when receiving the stream data of the present embodiment is the same as that shown in FIG. 6 in the second embodiment, and will be described below.

以下では、プロセッサ111という語句の代わりにプロセッサ111で処理中のプログラム(アプリケーションプログラム601、又はプロトコルスタック602)を語句として用い、ストリームデータを受信する場合におけるストリームデータ通信装置701の動作を説明する。   In the following, the operation of the stream data communication apparatus 701 in the case where stream data is received using a program (application program 601 or protocol stack 602) being processed by the processor 111 as a word instead of the word processor 111 will be described.

まず、ステップ1(901)において、プロトコルスタック602は、通信インタフェース113に対して、図示していない通信相手からの受信データを第1のメモリ領域611に格納することを指示する。それによって通信インタフェース113は、通信相手からの受信データを第1のメモリ領域611に格納する。   First, in step 1 (901), the protocol stack 602 instructs the communication interface 113 to store received data from a communication partner (not shown) in the first memory area 611. As a result, the communication interface 113 stores the received data from the communication partner in the first memory area 611.

次に、ステップ2(902)において、プロトコルスタック602は、第1のメモリ領域611に格納されたデータのうち通信に供させるためのデータ(プロトコルヘッダ)612を解釈して、残りのデータが格納された第2のメモリ領域613を抽出(認識)しつつ、アプリケーションプログラム601が扱うべき適切なデータかどうかを判定する。   Next, in step 2 (902), the protocol stack 602 interprets the data (protocol header) 612 to be used for communication among the data stored in the first memory area 611, and stores the remaining data. The extracted second memory area 613 is extracted (recognized) while determining whether the data is appropriate data to be handled by the application program 601.

すなわち、プロトコルヘッダ612に含まれるアドレスとストリームデータ通信装置701のネットワークアドレスが整合しているか、或いはプロトコルヘッダ612に含まれるポート番号とアプリケーションプログラム601のポート番号が整合しているか、等である。尚、ステップ2(902)ではチェックサム値の整合性の判定は行わない。   That is, whether the address included in the protocol header 612 matches the network address of the stream data communication apparatus 701, or whether the port number included in the protocol header 612 matches the port number of the application program 601. In step 2 (902), the checksum value consistency is not determined.

この判定によって、ストリームデータ通信装置701が扱うべきデータではないことを(他の通信装置へのデータ、或いは破損したと推定されるデータである等と)認識すると、プロトコルスタック602は第1のメモリ領域611に格納されたデータを廃棄(無視)する。又、プロトコルスタック602が扱うべきデータであると認識すると、プロトコルスタック602は対応した処理を行う。   If it is determined by this determination that the data to be handled by the stream data communication device 701 is not data to be handled (data to another communication device or data estimated to be damaged), the protocol stack 602 first memory The data stored in the area 611 is discarded (ignored). When the protocol stack 602 recognizes that the data should be handled, the protocol stack 602 performs corresponding processing.

又、アプリケーションプログラム601ではない他のアプリケーションプログラムが扱うべきデータであると認識すると、プロトコルスタック602は以降のステップを対応するアプリケーションプログラムのために行う。図示していないが、アプリケーションプログラム601が扱うべきデータであると認識された場合のみ、次のステップ3(903)に進み、他の場合は本説明においてはステップ1(901)に戻る。   If the protocol stack 602 recognizes that the data should be handled by another application program that is not the application program 601, the protocol stack 602 performs the following steps for the corresponding application program. Although not shown, only when it is recognized that the data should be handled by the application program 601, the process proceeds to the next step 3 (903), and in other cases, the process returns to step 1 (901).

次に、ステップ3(903)において、プロトコルスタック602は、チェックサム計算モジュール715に対して、抽出された第2のメモリ領域613に格納されているデータのチェックサム値を計算することを指示する。それによってチェックサム計算モジュール715は、第2のメモリ領域613に格納されているデータをメモリ112から読み出し、そのチェックサム値を計算する。   Next, in step 3 (903), the protocol stack 602 instructs the checksum calculation module 715 to calculate the checksum value of the data stored in the extracted second memory area 613. . As a result, the checksum calculation module 715 reads the data stored in the second memory area 613 from the memory 112 and calculates the checksum value.

次に、ステップ4(904)において、プロトコルスタック602は、プロトコルヘッダ612に含まれるTCPヘッダ或いはUDPヘッダに格納されているチェックサム値と、プロトコルヘッダ612の構成要素の一部(ポート番号等)と第2のメモリ領域613に格納されているデータから計算されるチェックサム値が整合しているかを判定する。ステップ4(904)では、第2のメモリ領域613に格納されたデータを読み出すことなく、ステップ3(903)によって得られたチェックサム計算モジュール715が計算したチェックサム値を利用する。   Next, in step 4 (904), the protocol stack 602 checks the checksum value stored in the TCP header or UDP header included in the protocol header 612 and some of the components (port number, etc.) of the protocol header 612. And the checksum value calculated from the data stored in the second memory area 613 are determined to match. In step 4 (904), the checksum value calculated by the checksum calculation module 715 obtained in step 3 (903) is used without reading the data stored in the second memory area 613.

更に、ステップ5(905)において、アプリケーションプログラム601は、プロトコルスタック602に対して、受信指示する。   In step 5 (905), the application program 601 instructs the protocol stack 602 to receive.

ここに、ステップ1(901)〜ステップ4(904)とステップ5(905)は、ステップ1(901)〜ステップ4(904)の順序は変わらないものの、アプリケーションプログラム601の受信指示タイミングと通信相手からの受信データの到着タイミングによっては、図9に示した順序に関わらず前後することもある。   Here, step 1 (901) to step 4 (904) and step 5 (905) do not change the order of step 1 (901) to step 4 (904), but the reception instruction timing of the application program 601 and the communication partner. Depending on the arrival timing of received data from, the order may be changed regardless of the order shown in FIG.

残りのステップ6(906)〜ステップ8(908)は、それぞれ、実施の形態2におけるステップ4(504)〜ステップ6(506)と同じであるため、ここでは説明を省く。   The remaining Step 6 (906) to Step 8 (908) are the same as Step 4 (504) to Step 6 (506) in the second embodiment, respectively, and thus description thereof is omitted here.

尚、以上ではアプリケーションプログラム601が単一の受信データに含まれる単一のストリームデータを利用する、言わば基本的な流れを説明したが、ストリームデータ通信方法はこれに限定されるものではない。   In the above, the basic flow in which the application program 601 uses a single stream data included in a single received data has been described, but the stream data communication method is not limited to this.

例えば、ステップ1(901)において、プロトコルスタック602は逐次受信される複数の受信データを複数のメモリ領域それぞれに格納するように指示し、ステップ2(902)において、プロトコルスタック602はそれぞれのメモリ領域に格納されたデータに対して解釈及び抽出及び判定し、ステップ3(903)において、プロトコルスタック602は指定されたそれぞれのメモリ領域に格納されているデータのチェックサム値をそれぞれ計算することを指示し、ステップ4(904)において、プロトコルスタック602はそれぞれのメモリ領域に格納されたデータに対して正当性を判定し、ステップ5(905)において、アプリケーションプログラム601は複数回受信指示する、等の実施も可能である。   For example, in step 1 (901), the protocol stack 602 instructs to store a plurality of received data sequentially received in each of a plurality of memory areas, and in step 2 (902), the protocol stack 602 stores each of the memory areas. In step 3 (903), the protocol stack 602 instructs to calculate the checksum value of the data stored in each specified memory area. In step 4 (904), the protocol stack 602 determines the validity of the data stored in each memory area. In step 5 (905), the application program 601 instructs to receive a plurality of times. Implementation is also possible.

尚、プロトコルスタック602は、既存のAPI仕様を有するプロトコルスタックを簡単に修正することによって実施することが可能である。すなわち、プロトコルスタック602は、ステップ3(903)において、チェックサム値をチェックサム計算モジュール715を用いて計算し(そのようにチェックサム計算モジュール715に指示し)、ステップ4(904)におけるプロトコルヘッダ612の構成要素の一部(ポート番号等)と第2のメモリ領域613に格納されているデータから計算されるチェックサム値の計算を、第2のメモリ領域613に格納されたデータを読み出すことなく、ステップ3(903)によって得られたチェックサム値を利用するように修正すればよい。   The protocol stack 602 can be implemented by simply modifying a protocol stack having an existing API specification. That is, the protocol stack 602 calculates the checksum value in the step 3 (903) using the checksum calculation module 715 (instructing the checksum calculation module 715 to do so), and the protocol header in the step 4 (904). Reading the data stored in the second memory area 613 and calculating the checksum value calculated from the data stored in the second memory area 613 and part of the components 612 (port number, etc.) Instead, the checksum value obtained in step 3 (903) may be modified to be used.

又、図10及び図11に示した公知の代表的なソケットAPI仕様を有するプロトコルスタックのAPI関数において、read関数1005或いはrecvfrom関数1105は、アプリケーションプログラムが扱うべきデータを格納すべきメモリ領域が与えられるのではなく、アプリケーションプログラムが扱うべきデータが格納されたメモリ領域を与えるように修正すればよい。それに対応するアプリケーションプログラム601は、それら関数によって与えられるメモリ領域に格納されたデータを利用するように修正すればよい。   In addition, in the API function of the protocol stack having the well-known representative socket API specifications shown in FIGS. 10 and 11, the read function 1005 or the recvfrom function 1105 gives a memory area in which data to be handled by the application program is stored. Instead, it is only necessary to modify so as to give a memory area in which data to be handled by the application program is stored. The corresponding application program 601 may be modified to use data stored in a memory area given by these functions.

そして、ステップ8(908)において、アプリケーションプログラム601がプロトコルスタック602に対して利用完了したことを知らせる方法は、実施の形態2におけるステップ6(506)と同じであるため、ここでは説明を省く。   In step 8 (908), the method for notifying the protocol stack 602 that the application program 601 has completed use is the same as in step 6 (506) in the second embodiment, and thus description thereof is omitted here.

以上説明したストリームデータ通信方法及びストリームデータ通信装置によれば、アプリケーションプログラムとプロトコルスタックの間のチェックサム計算を伴うデータコピー(メモリからの読み出し及びメモリへの書き込み)は発生せずにストリームデータを受信可能である。チェックサム計算を伴うデータのメモリからの読み出しのみは全てのストリームデータに対して発生するものの、チェックサム計算は主にプロセッサが行うのではなくチェックサム計算モジュールが行う。   According to the stream data communication method and the stream data communication apparatus described above, stream data can be generated without causing data copy (reading from the memory and writing to the memory) that involves checksum calculation between the application program and the protocol stack. It can be received. Although only reading of data accompanied by checksum calculation from the memory occurs for all stream data, the checksum calculation is not mainly performed by the processor but by the checksum calculation module.

よって、実施の形態2と比べれば劣ると考えられるものの、バス帯域の消費の効率化、及びプロセッサの処理負荷の消費の効率化を達成する。   Therefore, although considered to be inferior to the second embodiment, it is possible to achieve efficient use of the bus bandwidth and efficient use of the processing load of the processor.

尚、本実施の形態のストリームインタフェース414は、図示していないタイムスタンプ削除モジュールや、図示していない暗復号化モジュールを備えることが可能であり、その機能を利用してその効果を得ることが実施可能であることは、実施の形態2と同じであるため、ここでは説明を省く。   Note that the stream interface 414 of this embodiment can include a time stamp deletion module (not shown) or an encryption / decryption module (not shown), and the effect can be obtained by using the function. Since implementation is the same as in the second embodiment, description thereof is omitted here.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

例えば、図1,図4,図7に示すストリームデータ通信装置101,401,701それぞれの構成要素、プロセッサ111やメモリ112や通信インタフェース113,413やストリームインタフェース114,414やチェックサム計算モジュール115,415,715は、それぞれ別々の半導体チップで実施することも可能であるし、或いはそのうちの複数或いは全てを一つの半導体チップで実施することも可能である。   For example, the constituent elements of the stream data communication apparatuses 101, 401, and 701 shown in FIGS. 1, 4, and 7, the processor 111, the memory 112, the communication interfaces 113 and 413, the stream interfaces 114 and 414, the checksum calculation module 115, Each of 415 and 715 can be implemented by separate semiconductor chips, or a plurality or all of them can be implemented by one semiconductor chip.

すなわち、ストリームデータ通信装置101,401,701のそれぞれは、複数の半導体チップを組み合わせたセットとして実施することも可能であるし、或いはそれ自身を一つの半導体チップとして実施することも可能である。   That is, each of the stream data communication devices 101, 401, and 701 can be implemented as a set of a plurality of semiconductor chips combined, or can be implemented as a single semiconductor chip.

又、通信インタフェース113,413それぞれは、通信ケーブル121を用いているため有線のネットワークに対応しているように示したが、通信ケーブルを用いない無線ネットワークに対応するように実施することも可能である。   Each of the communication interfaces 113 and 413 uses a communication cable 121, so that it corresponds to a wired network. However, the communication interfaces 113 and 413 can also be implemented to support a wireless network that does not use a communication cable. is there.

本発明は、ストリームデータの通信方法及びストリームデータの通信装置に関し、特に、チェックサム計算モジュール及びソケット類似のプロトコルスタックを用いたバス帯域の浪費防止及びプロセッサ処理負荷の浪費防止に適用可能である。   The present invention relates to a stream data communication method and a stream data communication apparatus, and is particularly applicable to prevention of waste of bus bandwidth and prevention of processor processing load using a protocol stack similar to a checksum calculation module and a socket.

101,401,701…ストリームデータ通信装置、111…プロセッサ、112…メモリ、113,413…通信インタフェース、114,414…ストリームインタフェース、115,415,715…チェックサム計算モジュール。   101, 401, 701 ... stream data communication device, 111 ... processor, 112 ... memory, 113, 413 ... communication interface, 114, 414 ... stream interface, 115, 415, 715 ... checksum calculation module.

Claims (4)

アプリケーションプログラムとプロトコルスタックとで構成されるプログラムによって動作し、チェックサム計算モジュールを備える通信インタフェースから受信される受信データに含まれるストリームデータを、ストリームインタフェースから出力するストリームデータ通信装置のストリームデータ通信方法であって、
前記プロトコルスタックが、前記通信インタフェースに対して、前記受信データのチェックサム値を計算しつつ前記受信データを第1のメモリ領域に格納することを指示するステップと、
前記プロトコルスタックが、前記第1のメモリ領域に格納されているデータのプロトコルヘッダを解釈し、第2のメモリ領域を抽出しつつ前記チェックサム値を用いて受信データの正当性を判定するステップと、
前記アプリケーションプログラムが、前記プロトコルスタックに対して、受信指示するステップと、
前記プロトコルスタックが、前記アプリケーションプログラムに対して、前記第2のメモリ領域を知らせるステップと、
前記アプリケーションプログラムが、前記ストリームインタフェースに対して、前記第2のメモリ領域に格納されているストリームデータを出力することを指示するステップと、
前記アプリケーションプログラムが、前記プロトコルスタックに対して、利用完了したことを知らせるステップとを有することを特徴とするストリームデータ通信方法。
A stream data communication method for a stream data communication apparatus that operates from a program composed of an application program and a protocol stack and outputs stream data included in received data received from a communication interface having a checksum calculation module from the stream interface Because
Directing the protocol stack to store the received data in a first memory area while calculating a checksum value of the received data to the communication interface;
The protocol stack interpreting a protocol header of data stored in the first memory area, and extracting the second memory area and determining the validity of the received data using the checksum value; ,
The application program instructing the protocol stack to receive;
The protocol stack notifying the application program of the second memory area;
Instructing the application program to output stream data stored in the second memory area to the stream interface;
A stream data communication method comprising: a step of notifying the protocol stack that use of the application program is completed.
アプリケーションプログラムとプロトコルスタックとで構成されるプログラムによって動作し、通信インタフェースから受信される受信データに含まれるストリームデータを、チェックサム計算モジュールを用いてストリームインタフェースから出力するストリームデータ通信装置のストリームデータ通信方法であって、
前記プロトコルスタックが、前記通信インタフェースに対して、前記受信データを第1のメモリ領域に格納することを指示するステップと、
前記プロトコルスタックが、前記第1のメモリ領域に格納されているデータのプロトコルヘッダを解釈し、第2のメモリ領域を抽出しつつ前記受信データの正当性を判定するステップと、
前記プロトコルスタックが、前記チェックサム計算モジュールに対して、前記第2のメモリ領域に格納されているデータのチェックサム値を計算することを指示するステップと、
前記プロトコルスタックが、前記プロトコルヘッダの構成要素と前記チェックサムを用いて前記受信データの正当性を判定するステップと、
前記アプリケーションプログラムが、前記プロトコルスタックに対して、受信指示するステップと、
前記プロトコルスタックが、前記アプリケーションプログラムに対して、前記第2のメモリ領域を知らせるステップと、
前記アプリケーションプログラムが、前記ストリームインタフェースに対して、前記第2のメモリ領域に格納されているストリームデータを出力することを指示するステップと、
前記アプリケーションプログラムが、前記プロトコルスタックに対して、利用完了したことを知らせるステップとを有することを特徴とするストリームデータ通信方法。
Stream data communication of a stream data communication device that operates by a program composed of an application program and a protocol stack and outputs stream data included in received data received from the communication interface from the stream interface using a checksum calculation module A method,
The protocol stack directing the communication interface to store the received data in a first memory area;
The protocol stack interprets a protocol header of data stored in the first memory area and extracts a second memory area to determine validity of the received data;
Instructing the checksum calculation module to calculate a checksum value of data stored in the second memory area;
The protocol stack determining the validity of the received data using the component of the protocol header and the checksum;
The application program instructing the protocol stack to receive;
The protocol stack notifying the application program of the second memory area;
Instructing the application program to output stream data stored in the second memory area to the stream interface;
A stream data communication method comprising: a step of notifying the protocol stack that use of the application program is completed.
ストリームデータが入力されるストリームインタフェースと、
チェックサム計算モジュールを有し、前記ストリームデータを送信する通信インタフェースと、
アプリケーションプログラムとプロトコルスタックとで構成されるプログラムが記憶されるメモリと、
前記プログラムを処理するプロセッサとを備え、
前記プロセッサは、
前記プロトコルスタックにより、前記通信インタフェースに対して、受信データのチェックサム値を計算しつつ前記受信データを前記メモリの第1のメモリ領域に格納することを指示し、
前記プロトコルスタックにより、前記第1のメモリ領域に格納されているデータのプロトコルヘッダを解釈し、前記メモリの第2のメモリ領域を抽出しつつ前記チェックサム値を用いて前記受信データの正当性を判定し、
前記アプリケーションプログラムにより、前記プロトコルスタックに対して、受信指示し、
前記プロトコルスタックにより、前記アプリケーションプログラムに対して、前記第2のメモリ領域を知らせ、
前記アプリケーションプログラムにより、前記ストリームインタフェースに対して、前記第2のメモリ領域に格納されている前記ストリームデータを出力することを指示し、
前記アプリケーションプログラムにより、前記プロトコルスタックに対して、利用完了したことを知らせることを特徴とするストリームデータ通信装置。
A stream interface to which stream data is input;
A communication interface having a checksum calculation module and transmitting the stream data;
A memory for storing a program composed of an application program and a protocol stack;
A processor for processing the program,
The processor is
The protocol stack instructs the communication interface to store the received data in the first memory area of the memory while calculating a checksum value of the received data.
The protocol stack interprets the protocol header of the data stored in the first memory area, extracts the second memory area of the memory, and uses the checksum value to validate the received data. Judgment,
The application program instructs the protocol stack to receive,
Informing the application program of the second memory area by the protocol stack;
Instructing the stream interface to output the stream data stored in the second memory area by the application program;
A stream data communication apparatus characterized in that the application program notifies the protocol stack that use has been completed.
ストリームデータが入力されるストリームインタフェースと、
前記ストリームデータを送信する通信インタフェースと、
チェックサム計算モジュールと、
アプリケーションプログラムとプロトコルスタックとで構成されるプログラムが記憶されるメモリと、
前記プログラムを処理するプロセッサとを備え、
前記プロセッサは、
前記プロトコルスタックにより、前記通信インタフェースに対して、受信データを前記メモリの第1のメモリ領域に格納することを指示し、
前記プロトコルスタックにより、前記第1のメモリ領域に格納されているデータのプロトコルヘッダを解釈し、前記メモリの第2のメモリ領域を抽出しつつ前記受信データの正当性を判定し、
前記プロトコルスタックにより、前記チェックサム計算モジュールに対して、前記第2のメモリ領域に格納されているデータのチェックサム値を計算することを指示し、
前記プロトコルスタックにより、前記プロトコルヘッダの構成要素と前記チェックサムを用いて前記受信データの正当性を判定し、
前記アプリケーションプログラムにより、前記プロトコルスタックに対して、受信指示し、
前記プロトコルスタックにより、前記アプリケーションプログラムに対して、前記第2のメモリ領域を知らせ、
前記アプリケーションプログラムにより、前記ストリームインタフェースに対して、前記第2のメモリ領域に格納されている前記ストリームデータを出力することを指示し、
前記アプリケーションプログラムにより、前記プロトコルスタックに対して、利用完了したことを知らせることを特徴とするストリームデータ通信装置。
A stream interface to which stream data is input;
A communication interface for transmitting the stream data;
A checksum calculation module;
A memory for storing a program composed of an application program and a protocol stack;
A processor for processing the program,
The processor is
Instructing the communication interface to store received data in the first memory area of the memory by the protocol stack;
The protocol stack interprets the protocol header of the data stored in the first memory area, determines the validity of the received data while extracting the second memory area of the memory,
Instructing the checksum calculation module to calculate a checksum value of data stored in the second memory area by the protocol stack;
The protocol stack determines the validity of the received data using the component of the protocol header and the checksum,
The application program instructs the protocol stack to receive,
The protocol stack informs the application program of the second memory area,
Instructing the stream interface to output the stream data stored in the second memory area by the application program;
A stream data communication apparatus characterized in that the application program notifies the protocol stack that use has been completed.
JP2010278856A 2010-12-15 2010-12-15 Stream data communication method and stream data communication apparatus Expired - Fee Related JP5055420B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010278856A JP5055420B2 (en) 2010-12-15 2010-12-15 Stream data communication method and stream data communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010278856A JP5055420B2 (en) 2010-12-15 2010-12-15 Stream data communication method and stream data communication apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006003442A Division JP4809679B2 (en) 2006-01-11 2006-01-11 Stream data communication method and stream data communication apparatus

Publications (2)

Publication Number Publication Date
JP2011072030A true JP2011072030A (en) 2011-04-07
JP5055420B2 JP5055420B2 (en) 2012-10-24

Family

ID=44016767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010278856A Expired - Fee Related JP5055420B2 (en) 2010-12-15 2010-12-15 Stream data communication method and stream data communication apparatus

Country Status (1)

Country Link
JP (1) JP5055420B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149703A (en) * 1992-11-09 1994-05-31 Mitsubishi Electric Corp Message transfer controller
JP2000332817A (en) * 1999-05-18 2000-11-30 Fujitsu Ltd Packet processing unit
JP2003087255A (en) * 2001-09-06 2003-03-20 Kddi Corp Packet information collector and its method
JP2003308262A (en) * 2002-04-08 2003-10-31 Wiznot Corp Internet communication protocol system realized by hardware protocol processing logic and data parallel processing method using the system
JP2005102037A (en) * 2003-09-26 2005-04-14 Renesas Technology Corp Packet communication device
JP2005167965A (en) * 2003-11-12 2005-06-23 Matsushita Electric Ind Co Ltd Packet processing method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149703A (en) * 1992-11-09 1994-05-31 Mitsubishi Electric Corp Message transfer controller
JP2000332817A (en) * 1999-05-18 2000-11-30 Fujitsu Ltd Packet processing unit
JP2003087255A (en) * 2001-09-06 2003-03-20 Kddi Corp Packet information collector and its method
JP2003308262A (en) * 2002-04-08 2003-10-31 Wiznot Corp Internet communication protocol system realized by hardware protocol processing logic and data parallel processing method using the system
JP2005102037A (en) * 2003-09-26 2005-04-14 Renesas Technology Corp Packet communication device
JP2005167965A (en) * 2003-11-12 2005-06-23 Matsushita Electric Ind Co Ltd Packet processing method and apparatus

Also Published As

Publication number Publication date
JP5055420B2 (en) 2012-10-24

Similar Documents

Publication Publication Date Title
US8024469B1 (en) System and method for connecting network sockets between applications
US7917597B1 (en) RDMA network configuration using performance analysis
WO2014180110A9 (en) Data processing apparatus and data processing method
US10735373B2 (en) Communications over multiple protocol interfaces in a computing environment
WO2021128927A1 (en) Message processing method and apparatus, storage medium, and electronic apparatus
EP3068105A1 (en) Synchronization method, terminal and server
CN105389120A (en) Supporting RMA API over active message
CN105190530A (en) Transmitting hardware-rendered graphical data
JP2009123201A (en) Server-processor hybrid system for processing data
JP2011159168A (en) Device and method for converting data, and program
JP4809679B2 (en) Stream data communication method and stream data communication apparatus
US20190306055A1 (en) Efficient and reliable message channel between a host system and an integrated circuit acceleration system
US20180124441A1 (en) Method and system for processing mpeg data
JP3988475B2 (en) Transmitting apparatus, receiving apparatus and methods thereof
JP5055420B2 (en) Stream data communication method and stream data communication apparatus
CN109714337B (en) Data encryption transmission method and equipment
CN107370731B (en) Method and device for realizing communication between different applications based on natural language
WO2018196223A1 (en) Data processing method and relevant device
CN114780353A (en) File log monitoring method and system and computing device
JP2006018430A (en) Information processor, network system, program, data structure and storage medium
JP2007329730A (en) Communication protocol processor
CN107770018B (en) Communication method and device for serial communication system
JP2009253723A (en) Communication protocol processing circuit, communication protocol processing method, and communication terminal
JP4519090B2 (en) Transmitting apparatus, receiving apparatus and methods thereof
CN113726723B (en) UDP-based data transmission method, device and equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120730

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees