JP2009088962A - Communication adapter, communication device, and communication method - Google Patents

Communication adapter, communication device, and communication method Download PDF

Info

Publication number
JP2009088962A
JP2009088962A JP2007255572A JP2007255572A JP2009088962A JP 2009088962 A JP2009088962 A JP 2009088962A JP 2007255572 A JP2007255572 A JP 2007255572A JP 2007255572 A JP2007255572 A JP 2007255572A JP 2009088962 A JP2009088962 A JP 2009088962A
Authority
JP
Japan
Prior art keywords
tcp
communication
unit
reception
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007255572A
Other languages
Japanese (ja)
Inventor
Atsuhiro Tsuji
敦宏 辻
Yohei Kaneko
洋平 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2007255572A priority Critical patent/JP2009088962A/en
Publication of JP2009088962A publication Critical patent/JP2009088962A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication device or the like capable of inexpensively executing a communication protocol processing at high speed, and facilitating a verification for algorithm update and guarantee of quality of TCP connection management. <P>SOLUTION: The communication adapter is equipped with: a TCP processing part 707 which is mounted on software for performing normal processing of a TCP; and a TCP information synchronization part which treats TCP connections with the same TOE part 402 to be mounted on a high speed communication adapter for performing high speed reception processing to a TCP packet and performing synchronization processing of TCP connection information in the TCP connections. The TCP information synchronization part uses a value calculated from transmission data length of TCP transmission as a condition for updating the TCP connection information from the TOE part to the TCP processing part 707 for software mounting, and in update processing, reception processing of the software mounted TCP processing part 707 is utilized to operate the TCP processing. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ネットワークを介して映像データを受信する際の通信技術に関し、特に通信プロトコルであるTCPを利用した通信アダプタ、通信装置および通信方法に関する。   The present invention relates to a communication technique when video data is received via a network, and more particularly to a communication adapter, a communication apparatus, and a communication method using TCP, which is a communication protocol.

従来のTCPパケット通信装置として、ネットワーク伝送路の制御に関する下位レイヤの通信プロトコル処理だけを実行する低速処理用の通信アダプタと、上位レイヤも含めた通信プロトコル処理を高速に実行する高速処理用の通信アダプタとを実装する技術が開示されている(例えば、特許文献1参照)。ここで、低速処理用の通信アダプタは、TCP/IP処理をホストCPUでソフトウェアにより実現し、高速処理用の通信アダプタは、その通信アダプタ内に別途TCP/IP処理を担当するハードウェアを実装する形態をとっている。
特開平6−309251号公報(第1頁、第5図等)
As a conventional TCP packet communication device, a communication adapter for low-speed processing that executes only lower-layer communication protocol processing related to network transmission path control, and communication for high-speed processing that executes communication protocol processing including the upper layer at high speed A technique for mounting an adapter is disclosed (for example, see Patent Document 1). Here, the communication adapter for low-speed processing realizes TCP / IP processing by software on the host CPU, and the communication adapter for high-speed processing has a separate hardware in charge of TCP / IP processing mounted in the communication adapter. It takes a form.
JP-A-6-309251 (first page, FIG. 5, etc.)

しかしながら、上記従来のTCPパケット通信装置は、主に以下3点の特徴を有している。   However, the conventional TCP packet communication apparatus mainly has the following three features.

(a)高速処理用の通信アダプタを実現する上で、TCPコネクション接続・切断用のパケット処理は、アルゴリズムが複雑な上に、そのアルゴリズム自体も新方式が提案されていく可能性が高いため、ハード化による実装は、レガシー問題を含めた相互接続性の観点でリスクが高い。これは、図13において、高速通信アダプタ1301のみをハード化し、外付けメモリ1302がない場合に相当する(この場合の通信シーケンス図は、図15を参照)。   (A) In order to realize a communication adapter for high-speed processing, packet processing for TCP connection connection / disconnection is complicated in algorithm, and there is a high possibility that a new method will be proposed for the algorithm itself. Implementation by hardware is high risk in terms of interoperability including legacy issues. This corresponds to the case where only the high-speed communication adapter 1301 is hardwareized and no external memory 1302 is provided in FIG. 13 (see FIG. 15 for the communication sequence diagram in this case).

(b)TCP/IP処理を高速化させる手段として、上記(a)で説明したようにハード化することによるリスクが高いため、高速処理用の通信アダプタ内部の構成として、専用のCPUを具備させ、ソフトウェア処理で行なう形態が現実的である。これは、図13に示すように、高速通信アダプタ1301と外付けメモリ1302を備える場合に相当する(この場合の通信シーケンス図は、図14を参照)。   (B) As a means for speeding up TCP / IP processing, there is a high risk due to hardware as described in (a) above, so a dedicated CPU is provided as the internal configuration of the communication adapter for high-speed processing. The form performed by software processing is realistic. This corresponds to the case where a high-speed communication adapter 1301 and an external memory 1302 are provided as shown in FIG. 13 (see FIG. 14 for a communication sequence diagram in this case).

(c)従来活用されてきたネットワーク技術としては、PCアーキテクチャにおける強力なCPUの元での実装が行なわれてきたため、上記(a)や(b)のようなアプローチの必要性が少なかった。これに対して、近年のDLNAを中心とした家庭内における伝送規格への対応が求められ、家電機器のネットワーク化の必要性が増大し、従来の家電機器における限られたCPUリソースおよびコスト制約の中で、高精細大容量の映像データを扱うための性能とのトレードオフを解決する必要性が高まってきている。   (C) As a network technology that has been used in the past, since the implementation under the powerful CPU in the PC architecture has been performed, the need for the approaches (a) and (b) described above was small. On the other hand, it is required to support transmission standards in the home centered on recent DLNA, the necessity of networking home appliances increases, and the limited CPU resources and cost constraints in conventional home appliances In particular, there is an increasing need to solve the trade-off with performance for handling high-definition and large-capacity video data.

そして、上記従来のTCPパケット通信装置において高速処理用の通信アダプタを実装する上では、以下2点の課題がある。   In mounting the communication adapter for high-speed processing in the conventional TCP packet communication device, there are the following two problems.

(1)高速処理用の通信アダプタに、専用のCPUが必要となり、その処理のため、および、入力パケット最大速度と(ホストCPUに対する)出力パケット最大速度の差を吸収するために、少なくとも数MBの外付けメモリが必要となり、その結果コストがかかる。   (1) A communication adapter for high-speed processing requires a dedicated CPU, and at least a few MB for the processing and to absorb the difference between the maximum input packet rate and the maximum output packet rate (relative to the host CPU). External memory is required, resulting in higher costs.

(2)TCPコネクション接続・切断用などのコネクション管理のパケット処理を行なう処理部が、ホストCPUと高速処理用の通信アダプタとに複数存在するため、アルゴリズムの更新や、品質保証のための検証が困難である。   (2) Since there are a plurality of processing units that perform packet processing for connection management such as connection / disconnection for TCP connection in the host CPU and the communication adapter for high-speed processing, algorithm update and verification for quality assurance are possible. Have difficulty.

本発明は、前記課題に鑑みてなされたものであり、低コストで通信プロトコル処理を高速に実行しながら、TCPコネクション管理のアルゴリズム更新や品質保証のための検証を容易にし得る通信装置等を提供することを目的とする。   The present invention has been made in view of the above problems, and provides a communication device that can easily perform TCP protocol management algorithm updates and verification for quality assurance while executing communication protocol processing at low cost and at high speed. The purpose is to do.

上記の課題を解決するために、本発明に係る通信装置は、特に、TVなどの受像機への適用を目的とし、大容量の映像データを高速受信することに特化し、アルゴリズムが複雑なTCPコネクション接続・切断用のコネクション管理処理およびデータ送信処理のみを低速処理用の通信アダプタ(即ち、TCP処理をホストCPUで動作するソフトウェア)で実施し、映像データなどを含んだペイロード伝送用のパケット受信処理のみを高速処理用の通信アダプタで実施する。   In order to solve the above-described problems, a communication apparatus according to the present invention is particularly intended for application to a receiver such as a TV, and specializes in receiving high-capacity video data at high speed, and has a complicated algorithm. Only connection management processing for connection / disconnection and data transmission processing are performed by a communication adapter for low-speed processing (that is, TCP processing is performed by software operating on the host CPU), and packet transmission for receiving payload data including video data is received. Only processing is performed with a communication adapter for high-speed processing.

本構成によって、高速処理用の通信アダプタを外付けメモリなしで(即ち、低コストで)実現できる。   With this configuration, a communication adapter for high-speed processing can be realized without an external memory (that is, at low cost).

また、本発明に係る通信装置は、ホストCPUと高速処理用の通信アダプタの両方でTCPパケットを扱うTCP処理部を具備するが、これら2つのTCP処理部の間でTCPコネクション情報を共有するため、それぞれが管理するTCPコネクション情報を所定のタイミングで互いに通知しながら更新する。   In addition, the communication apparatus according to the present invention includes a TCP processing unit that handles TCP packets in both the host CPU and the communication adapter for high-speed processing. In order to share TCP connection information between these two TCP processing units. The TCP connection information managed by each is updated while notifying each other at a predetermined timing.

さらに、本発明に係る通信アダプタは、TCPパケットの受信の度ではなく、予め動的に指定された条件のTCPパケットを受信したときのみ、管理するTCPコネクション情報をホストCPUのTCP処理部に通知することができる機能を備える。   Furthermore, the communication adapter according to the present invention notifies the TCP processing information to be managed to the TCP processing unit of the host CPU only when a TCP packet having a condition dynamically specified in advance is received, not every time a TCP packet is received. It has a function that can do.

さらに、本発明に係る通信装置が備えるホストCPUで動作するTCP処理部は、高速処理用の通信アダプタの通知条件として、TCPの確認応答を要求する送信データ番号(Ack)を含む機能を備え、また、TCP送信時において、高速処理用の通信アダプタで受信した受信順序情報(Seq)を事前処理として更新する機能を備える。   Furthermore, the TCP processing unit operating on the host CPU included in the communication apparatus according to the present invention has a function including a transmission data number (Ack) for requesting a TCP confirmation response as a notification condition of the communication adapter for high-speed processing. Also, a function of updating the reception order information (Seq) received by the communication adapter for high-speed processing as a pre-processing at the time of TCP transmission.

本構成によって、TCPコネクション情報の更新のために必要なホストCPU処理資源を抑制することが可能となる。   With this configuration, it is possible to suppress host CPU processing resources necessary for updating TCP connection information.

また、高速処理用の通信アダプタからホストCPUで動作するTCP処理部にTCPコネクション情報を更新する方法として、高速処理用の通信アダプタのドライバは、TCPパケットを生成して受信処理を行ない、その際にSeqは更新値を設定しない機能を備える。   As a method for updating TCP connection information from a communication adapter for high-speed processing to a TCP processing unit operating on the host CPU, the communication adapter driver for high-speed processing generates a TCP packet and performs reception processing. Seq has a function of not setting an update value.

本構成によって、TCPコネクション情報をホストCPUで動作するTCP処理部に更新するにあたり、関連する必要な処理、例えば輻輳制御処理、再送制御処理、コネクション切断処理を行なうことを可能とする。   With this configuration, it is possible to perform necessary related processing such as congestion control processing, retransmission control processing, and connection disconnection processing when updating the TCP connection information to the TCP processing unit operating on the host CPU.

さらに、本発明に係るTCPパケット処理装置の高速処理用の通信アダプタは、受信したTCPパケットのペイロードデータに対し、2つ以上の出力経路を持ち、例えばCPUアクセスによる出力と、専用バスによる出力を可能とする。さらに、それらの連続出力量を指定可能とすることで、TCPペイロードデータの中の、HTTPなどのより上位層のプロトコル解析と映像データ切り出し、そして専用バスによる出力を可能とする。   Furthermore, the communication adapter for high-speed processing of the TCP packet processing apparatus according to the present invention has two or more output paths for the payload data of the received TCP packet, for example, output by CPU access and output by a dedicated bus. Make it possible. Furthermore, by making it possible to designate these continuous output amounts, higher layer protocol analysis such as HTTP in TCP payload data, video data extraction, and output by a dedicated bus are possible.

また、本発明は、通信相手とTCP通信をする通信装置による通信方法であって、前記通信装置が備えるCPUが、TCP通信におけるコネクション管理と前記通信相手への送信処理とを行ない、前記通信装置に取り付けられる通信アダプタが、前記通信相手から送られてくるTCPパケットの受信処理を行なうことを特徴とする。   Further, the present invention is a communication method by a communication device that performs TCP communication with a communication partner, wherein a CPU provided in the communication device performs connection management in TCP communication and transmission processing to the communication partner, and the communication device The communication adapter attached to the device performs reception processing of a TCP packet sent from the communication partner.

さらに、本発明は、上記通信アダプタにおける特徴的な構成手段を備える集積回路として実現することもできる。   Furthermore, the present invention can be realized as an integrated circuit including characteristic constituent means in the communication adapter.

本発明によれば、以下のような効果が期待できる。   According to the present invention, the following effects can be expected.

(1)専用のCPU、外付けメモリが不要な低コストの高速受信処理用のTCP通信アダプタが実現できる。   (1) A low-cost TCP communication adapter for high-speed reception processing that does not require a dedicated CPU and external memory can be realized.

(2)TCPコネクション接続・切断用などのコネクション管理のパケット処理を行なう処理部をホストCPUで動作するソフトウェアに集約し、アルゴリズムの更新や、品質保証のための検証が容易となる。   (2) A processing unit that performs packet processing for connection management such as TCP connection connection / disconnection is integrated into software that operates on the host CPU, so that algorithm update and verification for quality assurance are facilitated.

(3)上記高速受信処理用のTCP通信アダプタから、ホストCPUで動作するソフトウェアのTCP処理部へのTCPコネクション情報の更新を、TCP送信処理を行なう直線、および、その確認応答が完了するまでの限定期間のみとすることができ、CPU処理資源への負荷を抑制することができる。   (3) Update the TCP connection information from the TCP communication adapter for high-speed reception processing to the TCP processing unit of the software that runs on the host CPU, the straight line for performing the TCP transmission processing, and until the confirmation response is completed Only the limited period can be set, and the load on the CPU processing resource can be suppressed.

(4)受信したTCPパケットに対し、その上位層であるHTTPにおいて、HTTPヘッダと映像データを分離し、映像データを直接デジタルTVチューナに出力することができる。   (4) With respect to the received TCP packet, HTTP, which is an upper layer thereof, can separate the HTTP header and video data and output the video data directly to the digital TV tuner.

以下、本発明に係る実施の形態について、図面を参照しながら説明する。なお、本発明について、以下の実施の形態および添付の図面を用いて説明を行なうが、これは例示を目的としており、本発明がこれらに限定されることを意図しない。   Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In addition, although this invention is demonstrated using the following embodiment and attached drawing, this is for the purpose of illustration and this invention is not intended to be limited to these.

図1は、本実施の形態に係るネットワークシステムの構成の一例を示すブロック図である。図1に示すように、ネットワークシステム100は、映像サーバ101およびDTV(Digital TV)103を備えており、それらはIPネットワーク102を介して互いに接続されている。なお、IPネットワーク102には、上記以外の装置が接続されていてもよい。   FIG. 1 is a block diagram showing an example of the configuration of the network system according to the present embodiment. As shown in FIG. 1, the network system 100 includes a video server 101 and a DTV (Digital TV) 103, which are connected to each other via an IP network 102. Note that devices other than those described above may be connected to the IP network 102.

上記のDTV103は、放送波によるデジタル放送を受信すると共に、IPネットワーク102を介して映像サーバ101から映像データを含むTCPパケットを取得する。これに対し、映像サーバ101は、DTV103からの要求により、映像データを含むTCPパケットをDTV103に送信する。より具体的に説明すると、ネットワークシステム100において使用するプロトコルはHTTPであり、DTV103は、GETコマンドによって映像データの取得を要求し、映像サーバ101からHTTP応答として複数のTCPパケットを受信する。   The DTV 103 receives a digital broadcast by a broadcast wave and acquires a TCP packet including video data from the video server 101 via the IP network 102. In response to this, the video server 101 transmits a TCP packet including video data to the DTV 103 in response to a request from the DTV 103. More specifically, the protocol used in the network system 100 is HTTP, and the DTV 103 requests acquisition of video data by a GET command and receives a plurality of TCP packets from the video server 101 as HTTP responses.

図2は、一般的なDTVのハードウェア構成の一例を示すブロック図である。図2に示すように、DTV200は、メインメモリ201、CPU202、デジタルRF203、デジタルTVチューナ204およびAVデコーダ205を備え、バス206によって相互に接続されている。   FIG. 2 is a block diagram illustrating an example of a hardware configuration of a general DTV. As shown in FIG. 2, the DTV 200 includes a main memory 201, a CPU 202, a digital RF 203, a digital TV tuner 204, and an AV decoder 205, which are connected to each other by a bus 206.

DTV200では、デジタルRF203が受信したデジタル放送波がデジタルTVチューナ204に出力されて映像信号等に復調され、さらに、AVデコーダ205において復調された映像信号等の復号化が行なわれている。さらに、DTV200では、CPU202上で動作するソフトウェア(制御プログラム)によって、デジタルRF203、デジタルTVチューナ204およびAVデコーダ205の各動作が制御されている。なお、図2に示すDTV200には、必要な機能の全てを記載しているものではなく、本発明に関係するハードウェア構成のみを記載している。   In the DTV 200, the digital broadcast wave received by the digital RF 203 is output to the digital TV tuner 204 and demodulated into a video signal or the like, and further, the video signal or the like demodulated by the AV decoder 205 is decoded. Further, in the DTV 200, each operation of the digital RF 203, the digital TV tuner 204, and the AV decoder 205 is controlled by software (control program) operating on the CPU 202. Note that the DTV 200 shown in FIG. 2 does not describe all necessary functions, but only describes the hardware configuration related to the present invention.

上記のようなDTV200は、TCP/IPによる広帯域映像受信の処理を通常の通信アダプタ(LANコントローラ)を用いて行なうだけの十分な処理資源を持ち合わせていない。この課題を解決する手段として、高速通信アダプタを用いることができる。   The DTV 200 as described above does not have enough processing resources to perform a wideband video reception process using TCP / IP using a normal communication adapter (LAN controller). As a means for solving this problem, a high-speed communication adapter can be used.

図3は、上記図2に示すDTV200に高速通信アダプタを付加したDTVのハードウェア構成を示すブロック図である。   FIG. 3 is a block diagram showing a hardware configuration of a DTV obtained by adding a high-speed communication adapter to the DTV 200 shown in FIG.

図3に示す高速通信アダプタ301は、バス206に接続されると共に、映像データを送信するための専用バス207を介して直接デジタルTVチューナ204に接続される。つまり、DTV103では、高速通信アダプタ301がIPネットワーク102経由で受信した映像データを、CPU202上で動作するプロトコル処理ソフトウェアで処理することなく、直接デジタルTVチューナ204に入力している。   A high-speed communication adapter 301 shown in FIG. 3 is connected to the bus 206 and directly to the digital TV tuner 204 via a dedicated bus 207 for transmitting video data. That is, in the DTV 103, the video data received by the high-speed communication adapter 301 via the IP network 102 is directly input to the digital TV tuner 204 without being processed by protocol processing software operating on the CPU 202.

上記のようなDTV103においては、CPU202上で動作するソフトウェアで実装するTCP処理部と、ハードウェアで実装した高速通信アダプタ301のTCP処理部とを、同一のTCPコネクションに対して連動して動作させることとなる。   In the DTV 103 as described above, the TCP processing unit implemented by software operating on the CPU 202 and the TCP processing unit of the high-speed communication adapter 301 implemented by hardware are operated in conjunction with the same TCP connection. It will be.

図4は、上記図3における高速通信アダプタ301の機能構成を示すブロック図である。高速通信アダプタ301は、従来の通信アダプタ機能を有する汎用LAN制御部401、TCPオフロード機能を有するTOE部402、およびIPネットワーク102を介して映像サーバ101から受信したEtherフレームを振り分けて上記汎用LAN制御部401とTOE部402に入力する振り分け部403とを備える。なお、説明の便宜上、Etherフレームを例示したが、物理層・MAC層をEtherに限定するものではない。また、本発明に係る汎用LAN制御部401における送受信については、以後、TOE部402で受信するTCPコネクションと同一のTCPコネクションのコネクション制御および送信処理についてのみ言及する。   FIG. 4 is a block diagram showing a functional configuration of the high-speed communication adapter 301 in FIG. The high-speed communication adapter 301 distributes the Ether frame received from the video server 101 via the general-purpose LAN control unit 401 having the conventional communication adapter function, the TOE unit 402 having the TCP offload function, and the IP network 102, and the general-purpose LAN. A control unit 401 and a sorting unit 403 for inputting to the TOE unit 402 are provided. For convenience of explanation, the Ether frame is illustrated, but the physical layer / MAC layer is not limited to the Ether. As for transmission / reception in the general-purpose LAN control unit 401 according to the present invention, only connection control and transmission processing of the same TCP connection as the TCP connection received by the TOE unit 402 will be described hereinafter.

上記の高速通信アダプタ301では、CPU202上で動作するソフトウェアで実現する(後述の)TCP処理部によるコネクションに関する制御、およびTCPパケットの送信制御は、汎用LAN制御部401で担当し、広帯域映像データを含むTCPパケットの受信処理はTOE部402で担当させることとする。   In the above high-speed communication adapter 301, the general LAN control unit 401 is responsible for connection control by the TCP processing unit (to be described later) and TCP packet transmission control realized by software operating on the CPU 202. It is assumed that the TOE unit 402 is in charge of the reception processing of the included TCP packet.

つまり、TCPコネクション管理であるTCPコネクション確立・切断、およびTCP送信処理となる映像取得要求の送信などは汎用LAN制御部401で行ない、TCP処理はCPU202上で動作するソフトウェアによって制御する。一方、広帯域映像データを含むTCPパケットの受信処理はTOE部402で行ない、TCPパケットの受信処理に伴うTCP確認応答の送信もTOE部402で行なう。   In other words, TCP connection management establishment / disconnection and transmission of a video acquisition request as TCP transmission processing are performed by the general-purpose LAN control unit 401, and TCP processing is controlled by software operating on the CPU 202. On the other hand, reception processing of TCP packets including wideband video data is performed by the TOE unit 402, and transmission of TCP confirmation responses accompanying reception processing of TCP packets is also performed by the TOE unit 402.

図5は、上記図4におけるTOE部402の機能構成を示すブロック図である。図5に示すように、TOE部402は、割り込み制御部601、TCP情報入出力部602、TCPパケット出力制御部603、CPUアクセス出力制御部604、TCPパケット受信処理部605および映像データ出力制御部606を備える。   FIG. 5 is a block diagram showing a functional configuration of the TOE unit 402 in FIG. As shown in FIG. 5, the TOE unit 402 includes an interrupt control unit 601, a TCP information input / output unit 602, a TCP packet output control unit 603, a CPU access output control unit 604, a TCP packet reception processing unit 605, and a video data output control unit. 606.

割り込み制御部601は、CPU202上で動作するソフトウェアから(CPUアクセスの後)、割り込み信号動作の条件が設定される。この条件には、TOE部402にTCPパケットが入力された事象、そのTCPパケットに含まれるTCPの確認応答番号(「Ack」とも記す。)の値が設定値以下である事象などにおける条件が含まれる。なお、これらの事象全体、又は個別にその条件の有効又は無効を切り替えることが可能である。   The interrupt control unit 601 is set with interrupt signal operation conditions from software operating on the CPU 202 (after CPU access). This condition includes conditions for an event in which a TCP packet is input to the TOE unit 402, an event in which the value of a TCP acknowledgment number (also referred to as “Ack”) included in the TCP packet is equal to or less than a set value, and the like. It is. Note that it is possible to switch the validity or invalidity of these conditions as a whole or individually.

TCP情報入出力部602は、CPU202上で動作するソフトウェアから(CPUアクセスの後)、TOE動作のための初期値としてのTCP情報の設定、およびTCP送信によって変化したTCP情報の更新が行なわれ、また、TCPパケット受信処理部605でTCPパケットを受信したことによって変化したTCP情報の取得が行なわれる。   The TCP information input / output unit 602 performs setting of TCP information as an initial value for the TOE operation from software operating on the CPU 202 (after CPU access), and updating of TCP information changed by TCP transmission, Also, TCP information that has changed due to the reception of the TCP packet by the TCP packet reception processing unit 605 is acquired.

TCPパケット出力制御部603は、CPU202上で動作するソフトウェアから(CPUアクセスの後)、TCPパケット受信処理部605から渡されたTCPパケットを、CPUアクセス出力制御部604又は映像データ出力制御部606の何れに渡すかについて通知(又は設定)を受け、この通知(設定)に従ってTCPパケットを処理する。   The TCP packet output control unit 603 receives the TCP packet passed from the TCP packet reception processing unit 605 from the software operating on the CPU 202 (after the CPU access), by the CPU access output control unit 604 or the video data output control unit 606. A notification (or setting) about which to pass is received, and the TCP packet is processed according to the notification (setting).

CPUアクセス出力制御部604は、TCPパケット出力制御部603から渡されたTCPパケットに対して、CPU202上で動作するソフトウェアから、CPUアクセスによる読み出し又は書き込みを可能とする機能を提供する。   The CPU access output control unit 604 provides a function that allows the TCP packet passed from the TCP packet output control unit 603 to be read or written by CPU access from software operating on the CPU 202.

TCPパケット受信処理部605は、振り分け部403で振り分けられたTCPパケットの受信処理を行なうと共に、必要に応じてTCPの確認応答処理を行なう。また、受信したTCPパケットから、TCPコネクション情報を取得してTCP情報入出力部602に対して更新するように指示する。   The TCP packet reception processing unit 605 performs reception processing of the TCP packet distributed by the distribution unit 403 and performs TCP confirmation response processing as necessary. In addition, the TCP information input / output unit 602 is instructed to acquire TCP connection information from the received TCP packet.

映像データ出力制御部606は、TCPパケット出力制御部603から渡されたTCPパケットに対して、デジタルTVチューナ204に入力させるため、映像データを専用バス207に出力する。   The video data output control unit 606 outputs video data to the dedicated bus 207 so that the TCP packet passed from the TCP packet output control unit 603 is input to the digital TV tuner 204.

図6は、CPU202上で動作するソフトウェアの機能構成の一例を示す図である。なお、図6においては、本発明の説明に必要な部分のみを記載しているが、実際には他の様々なソフトウェア機能部が実装されている。   FIG. 6 is a diagram illustrating an example of a functional configuration of software that operates on the CPU 202. In FIG. 6, only the parts necessary for the description of the present invention are shown, but in actuality, various other software function units are mounted.

図6において、アプリケーション701は、DTV103におけるIPネットワーク102を介した映像サーバ101から映像データを取得する処理と、画面表示に関する動作を制御するソフトウェアである。   In FIG. 6, an application 701 is software for controlling processing related to screen data display processing and screen image acquisition processing from the video server 101 via the IP network 102 in the DTV 103.

プロトコル処理部702は、基本ソフトウェアであるOS(オペレーティングシステム)の一部であり、TCP処理部707、IF処理部708を少なくとも備える。また、TCP処理部707は、更新条件通知部709、Seq更新部710を備える。   The protocol processing unit 702 is a part of an OS (operating system) that is basic software, and includes at least a TCP processing unit 707 and an IF processing unit 708. The TCP processing unit 707 includes an update condition notification unit 709 and a Seq update unit 710.

汎用LAN制御部用ドライバ703は、TCP処理部707が制御するTCPパケットの送受信を行なうため、IF処理部708によりプロトコル処理部702と接続され、汎用LAN制御部401を制御するソフトウェアである。   The general-purpose LAN control unit driver 703 is software that controls the general-purpose LAN control unit 401 by being connected to the protocol processing unit 702 by the IF processing unit 708 in order to transmit and receive TCP packets controlled by the TCP processing unit 707.

TOE部用ドライバ704は、TOE部402を制御するソフトウェアであり、TCP処理部707、IF処理部708、アプリケーション701と接続している。この接続の詳細については後述する。なお、TOE部用ドライバ704は、TCP情報更新部711、TCP情報管理部712、TCP受信制御部713を備える。   The TOE unit driver 704 is software that controls the TOE unit 402, and is connected to the TCP processing unit 707, IF processing unit 708, and application 701. Details of this connection will be described later. The TOE unit driver 704 includes a TCP information update unit 711, a TCP information management unit 712, and a TCP reception control unit 713.

デジタルTVチューナ用ドライバ705は、デジタルTVチューナ204の制御を行なうソフトウェアであり、AVデコーダ用ドライバ706はAVデコーダ205の制御を行なうソフトウェアである。   The digital TV tuner driver 705 is software that controls the digital TV tuner 204, and the AV decoder driver 706 is software that controls the AV decoder 205.

なお、汎用LAN制御部用ドライバ703と、TOE部用ドライバ704は、実装上1つのドライバとして実装してもよい。特に、高速通信アダプタ301の汎用LAN制御部401とTOE部402の割り込み信号が共有されてCPU202に入力される場合は、このような構成が有用である。   The general-purpose LAN control unit driver 703 and the TOE unit driver 704 may be mounted as a single driver. In particular, such an arrangement is useful when the interrupt signals of the general-purpose LAN control unit 401 and the TOE unit 402 of the high-speed communication adapter 301 are shared and input to the CPU 202.

なお、更新条件通知部709、Seq更新部710およびTOE部用ドライバ704の3つをまとめたTCP情報同期部を構成することとしてもよい。この場合、TCP処理部707においては、更新条件通知部709、Seq更新部710を実行するための呼び出しのみが行なわれ、TOE部用ドライバ704内において、その実体が実装されて呼び出される形態とすることができる。   Note that it is also possible to configure a TCP information synchronization unit in which the update condition notification unit 709, the Seq update unit 710, and the TOE unit driver 704 are combined. In this case, in the TCP processing unit 707, only a call for executing the update condition notification unit 709 and the Seq update unit 710 is performed, and the entity is implemented and called in the TOE unit driver 704. be able to.

次に、上記のように構成されるDTV103における、映像サーバ101間との通信動作について、図面を参照しながら説明する。   Next, the communication operation between the video servers 101 in the DTV 103 configured as described above will be described with reference to the drawings.

図9は、本実施の形態に係る映像サーバ101−DTV103間の通信における処理分担の様子を示す図である。図5では、上から下に向かう方向が時間の経過を示している。映像サーバ101の具体例としては、DVR(Digital Video Recorder)がある。   FIG. 9 is a diagram showing how processing is shared in communication between the video server 101 and the DTV 103 according to the present embodiment. In FIG. 5, the direction from the top to the bottom indicates the passage of time. A specific example of the video server 101 is DVR (Digital Video Recorder).

図9の「ハード」に位置する処理は、上記のTOE部402で行なわれるTCP処理であり、図9の「ソフト」に位置する処理は、上記のCPU202上で動作するソフトウェアで行なわれるTCP処理である。図9に示す例では、主にHTTPによるコネクション管理、映像取得要求および映像データの送受信が行なわれている。図9における「HTTP GET」はHTTPのコマンドの一種であり、DTV103のソフトによってTCP送信される。なお、この「HTTP GET」は、1つ又は複数のTCPパケットで構成される。   9 is a TCP process performed by the TOE unit 402, and a process located in “software” in FIG. 9 is a TCP process performed by software operating on the CPU 202. It is. In the example shown in FIG. 9, connection management by HTTP, video acquisition request, and video data transmission / reception are mainly performed. “HTTP GET” in FIG. 9 is a type of HTTP command, and is transmitted by the TCP of the DTV 103 software. The “HTTP GET” is composed of one or a plurality of TCP packets.

図9において、映像取得要求である「HTTP GET」を受信した映像サーバ101は、HTTP応答として映像データをDTV103に送信する。このHTTP応答としての映像データは、1つ又は複数のTCPパケットで構成され、一度に千個以上のTCPパケットから構成されることもある。HTTP応答を構成するTCPパケットの受信は、DTV103においてハードで処理され、このTCPパケット受信に対応する確認応答送信(Ack送信)も、ハードによって行なわれる。   In FIG. 9, the video server 101 that has received “HTTP GET”, which is a video acquisition request, transmits video data to the DTV 103 as an HTTP response. The video data as the HTTP response is composed of one or a plurality of TCP packets, and may be composed of 1000 or more TCP packets at a time. The reception of the TCP packet constituting the HTTP response is processed by hardware in the DTV 103, and the acknowledgment transmission (Ack transmission) corresponding to the reception of the TCP packet is also performed by the hardware.

なお、映像データの取得が完了したのち、DTV103は、TCPコネクションを切断する。DTV103においてこのTCPコネクションの切断に必要なTCPパケットの送受信は、ソフトによって処理される。ただし、映像サーバ101からTCPコネクション切断のためのTCPパケット(FINやRST)が送られた場合、その受信はDTV103にとって予期できないため、少なくとも一度ハードによって受信される。この場合、そのTCPパケットをソフトで処理させることでTCPコネクション切断が可能となる。   Note that after the video data acquisition is completed, the DTV 103 disconnects the TCP connection. Transmission / reception of a TCP packet necessary for disconnecting the TCP connection in the DTV 103 is processed by software. However, when a TCP packet (FIN or RST) for disconnecting the TCP connection is sent from the video server 101, the reception is unpredictable for the DTV 103, and is received at least once by the hardware. In this case, the TCP connection can be disconnected by processing the TCP packet with software.

以下では、上記のDTV103のさらに詳細な動作について説明する。   Hereinafter, a more detailed operation of the DTV 103 will be described.

(1)コネクション確立
最初に、アプリケーション701は、映像サーバ101からの映像データ取得のためのHTTP通信を可能とするため、映像サーバ101との間にTCPコネクションを確立するよう、プロトコル処理部702に指示する。プロトコル処理部702は、通常のプロトコル処理の動作に準じ、TCP処理部707によるTCPコネクション確立を行なう。具体的には、TCPの「3Way−Handshake」と呼ばれるTCPパケットの送受信を、汎用LAN制御部用ドライバ703を介して高速通信アダプタ301の汎用LAN制御部401により実施する。
(1) Connection establishment First, the application 701 instructs the protocol processing unit 702 to establish a TCP connection with the video server 101 in order to enable HTTP communication for obtaining video data from the video server 101. Instruct. The protocol processing unit 702 establishes a TCP connection by the TCP processing unit 707 in accordance with a normal protocol processing operation. Specifically, TCP packet transmission / reception called “3 Way-Handshake” of TCP is performed by the general-purpose LAN control unit 401 of the high-speed communication adapter 301 via the general-purpose LAN control unit driver 703.

(2)TOE初期設定
上記のTCPコネクションが確立されると、アプリケーション701は、TOE部用ドライバ704のTCP受信制御部713に対し、確立したTCPコネクションがTOE部402で処理されるべきTCPコネクションであることを通知する。これにより、TCP受信制御部713は、TCP情報管理部712に、該当するTCPコネクションのTCPコネクション情報の取得と、TOE部402への初期設定を行なうよう指示する。また、TCP受信制御部713は、TOE部402のTCPパケット出力制御部603にCPUアクセス出力制御部604への出力モード(CPUアクセスモード)とするよう指示する。TCP情報管理部712は、指定されたTCPコネクション情報をTCP処理部707から取得し、高速通信アダプタ301の振り分け部403に該当するTCPパケットをTOE部402に振り分けるように指示し、さらに、指定されたTCPコネクションのTCPコネクション情報の初期値をTOE部402のTCP情報入出力部602に設定する。
(2) TOE Initial Setting When the above TCP connection is established, the application 701 sends the established TCP connection to the TCP reception control unit 713 of the TOE unit driver 704 as a TCP connection to be processed by the TOE unit 402. Notify that there is. As a result, the TCP reception control unit 713 instructs the TCP information management unit 712 to acquire the TCP connection information of the corresponding TCP connection and perform the initial setting to the TOE unit 402. Further, the TCP reception control unit 713 instructs the TCP packet output control unit 603 of the TOE unit 402 to set the output mode (CPU access mode) to the CPU access output control unit 604. The TCP information management unit 712 acquires the specified TCP connection information from the TCP processing unit 707, instructs the distribution unit 403 of the high-speed communication adapter 301 to distribute the TCP packet to the TOE unit 402, and further specifies the specified TCP connection information. The initial value of the TCP connection information of the TCP connection is set in the TCP information input / output unit 602 of the TOE unit 402.

(3)映像データ取得要求送信とTCPコネクション情報更新条件設定
次に、アプリケーション701は、映像データ取得要求となる「HTTP GET」コマンドを送信するよう、プロトコル処理部702に指示する。これにより、プロトコル処理部702内のTCP処理部707は、「HTTP GET」コマンドのTCPパケットの順序番号とTCPペイロード長から、更新条件に用いる確認応答番号を算出し、TOE部用ドライバ704のTCP情報更新部711に通知する。
(3) Transmission of Video Data Acquisition Request and TCP Connection Information Update Condition Setting Next, the application 701 instructs the protocol processing unit 702 to transmit an “HTTP GET” command that is a video data acquisition request. As a result, the TCP processing unit 707 in the protocol processing unit 702 calculates the confirmation response number used for the update condition from the TCP packet sequence number of the “HTTP GET” command and the TCP payload length, and the TCP of the TOE unit driver 704 is calculated. The information update unit 711 is notified.

また、TCP処理部707は、通常のプロトコル処理の動作に準じ、汎用LAN制御部用ドライバ703を介して高速通信アダプタ301の汎用LAN制御部401によりTCP送信処理を実施するように制御する。   Further, the TCP processing unit 707 controls the general-purpose LAN control unit 401 of the high-speed communication adapter 301 to perform the TCP transmission processing via the general-purpose LAN control unit driver 703 in accordance with the normal protocol processing operation.

TCP情報更新部711は、通知された更新条件に従い、TOE部402の割り込み制御部601に割り込み許可設定を行なう。この「割り込み許可設定」は、通知された更新条件としての確認応答番号を意味しており、割り込み制御部601がTCPパケット受信処理部605で処理されるTCPパケットの確認応答番号と比較して大きい場合に割り込み信号を出力する条件とする構成や、単にTCPパケット受信処理部605がTCPパケットの受信処理を行なった時という条件として、TCP情報更新部711がCPUアクセス出力制御部604からのTCPパケットの読み出しによって判定する構成が実装可能である。   The TCP information update unit 711 performs interrupt permission setting in the interrupt control unit 601 of the TOE unit 402 according to the notified update conditions. This “interrupt permission setting” means the confirmation response number as the notified update condition, and is larger than the confirmation response number of the TCP packet processed by the TCP packet reception processing unit 605 by the interrupt control unit 601. The TCP information update unit 711 receives a TCP packet from the CPU access output control unit 604 as a condition for outputting an interrupt signal in some cases, or simply as a condition when the TCP packet reception processing unit 605 performs a TCP packet reception process. It is possible to implement a configuration for determining by reading.

(4)映像データ受信準備処理と確認応答によるTCPコネクション情報更新
以上により、映像サーバ101から、複数のTCPパケットから構成される映像データを含むHTTP応答が送信されると、これらのTCPパケットは、振り分け部403によってTOE部402に振り分けられる。TOE部402のTCPパケット受信処理部605は、所定の条件、例えば、「正常な受信時において2つのTCPパケットの受信に対して1つのTCP確認応答の送信を行なう」などの条件に基づいてTCP確認応答の送信を行なう。一方、順序入れ替えやパケット落ちを検出した場合、TCPパケット受信処理部605は、この条件を満たさない場合でもTCP確認応答の送信を行なう。
(4) TCP connection information update by video data reception preparation process and confirmation response As described above, when an HTTP response including video data composed of a plurality of TCP packets is transmitted from the video server 101, these TCP packets are The sorting unit 403 sorts the TOE unit 402. The TCP packet reception processing unit 605 of the TOE unit 402 performs TCP based on a predetermined condition, for example, a condition such as “send one TCP confirmation response for reception of two TCP packets at normal reception”. Send confirmation response. On the other hand, when the order change or the packet drop is detected, the TCP packet reception processing unit 605 transmits a TCP confirmation response even when this condition is not satisfied.

また、TCPパケット受信処理部605は、TCP情報入出力部602に対して、受信したTCPパケットの情報からTCPコネクション情報を抽出して設定する。   Also, the TCP packet reception processing unit 605 extracts and sets the TCP connection information from the received TCP packet information in the TCP information input / output unit 602.

割り込み制御部601は、上記の割り込み許可設定に従って割り込み信号を発行する。TCP情報入出力部602は、TCPパケット受信処理部605が受信したTCPパケットに従って、自身で管理するTCPコネクション情報を更新する。TCPパケット受信処理部605で処理されたTCPパケットは、TCPパケット出力制御部603がCPUアクセスモードであることから、CPUアクセス出力制御部604に送られる。   The interrupt control unit 601 issues an interrupt signal according to the above interrupt permission setting. The TCP information input / output unit 602 updates TCP connection information managed by itself according to the TCP packet received by the TCP packet reception processing unit 605. The TCP packet processed by the TCP packet reception processing unit 605 is sent to the CPU access output control unit 604 because the TCP packet output control unit 603 is in the CPU access mode.

TCP情報更新部711は、割り込み信号を受けてTCPコネクション情報をTCP処理部807に更新する。この際、TCP処理部707がTCP受信機能を持つ場合、TCPパケットを生成して更新するTCPコネクション情報を格納し、IF処理部708を経由して受信処理を行なうことでTCPコネクション情報を格納し、かつ、その更新と同時に必要な輻輳制御や再送制御、コネクション管理処理を実行させることが可能となる。   The TCP information update unit 711 receives the interrupt signal and updates the TCP connection information to the TCP processing unit 807. At this time, if the TCP processing unit 707 has a TCP reception function, the TCP connection information to be generated and updated is stored, and the TCP connection information is stored by performing reception processing via the IF processing unit 708. In addition, necessary congestion control, retransmission control, and connection management processing can be executed simultaneously with the update.

上記のTOE部用ドライバ704において生成されるTCPパケットのフォーマットの一例を図7に示す。図7に示すように、TCPパケット800は、MACヘッダ801、IPヘッダ802およびTCPヘッダ803から構成されるが、このTCPパケット800は、ペイロードデータ804を持っていない。また、TCPヘッダ803は、予め初期設定で管理される値以外としては、順序番号80301、確認応答番号80302、受信ウィンドウサイズ80303があり、これらはTCP情報管理部712がTCP情報入出力部602から取得して格納する。   An example of the format of a TCP packet generated by the above-mentioned TOE unit driver 704 is shown in FIG. As shown in FIG. 7, the TCP packet 800 includes a MAC header 801, an IP header 802, and a TCP header 803, but the TCP packet 800 does not have payload data 804. The TCP header 803 includes a sequence number 80301, an acknowledgment number 80302, and a reception window size 80303 other than values that are managed in advance by default settings. These are received by the TCP information management unit 712 from the TCP information input / output unit 602. Obtain and store.

なお、TCPヘッダ803における「送信元ポート番号」および「宛先ポート番号」は、TCPコネクション毎に一意に決定される値であり、「Offset」は“5”(データ長:20バイト)固定、「緊急ポインタ」は“0”固定であってもよい。また、TCPヘッダ803における「Flag」は「Ack」が「1」であればよく、その他は受信パケットに応じて設定してもよい。さらに、TCPヘッダ803における「Checksum」は、以上のTCPヘッダ803と、TCPコネクション毎に一意に決定される送信元IPアドレスと宛先IPアドレスから計算して格納する。この格納方法は、TCPの一般的なChecksumの算出方法に基づく。   Note that “source port number” and “destination port number” in the TCP header 803 are values uniquely determined for each TCP connection, and “Offset” is fixed to “5” (data length: 20 bytes). The “urgent pointer” may be fixed to “0”. Further, “Flag” in the TCP header 803 may be set according to the received packet as long as “Ack” is “1”. Further, “Checksum” in the TCP header 803 is calculated and stored from the above TCP header 803 and the source IP address and destination IP address uniquely determined for each TCP connection. This storage method is based on a general TCP checksum calculation method.

なお、上記の更新のためのTCPパケットには、受信順序番号(Seq)の更新値を格納せず、更新前の値を格納する。これは、上記のTCPパケット800の場合は、ペイロードデータ804を持たず、「Seq」の更新値を格納してTCP処理部707で受信処理をさせようとしても、正常に処理されないからである。この更新されない「Seq」に対する更新については後述する。   Note that the update value of the reception sequence number (Seq) is not stored in the TCP packet for update, but the value before update is stored. This is because the TCP packet 800 does not have the payload data 804 and stores the updated value of “Seq” and causes the TCP processing unit 707 to perform reception processing, which is not normally processed. The update for “Seq” that is not updated will be described later.

(5)映像データ受信処理
アプリケーション701は、「GETコマンド」の送信の後、TCP受信制御部713に対し、CPUアクセスによる読み出し要求を、その読み出し量(受信量)を指定して行なう。これにより、TCP受信制御部713は、割り込み信号の発行を受けて、CPUアクセス出力制御部604から指定量を読み出し、アプリケーション701に応答する。
(5) Video Data Reception Processing After transmitting the “GET command”, the application 701 makes a read request by CPU access to the TCP reception control unit 713 by specifying the read amount (reception amount). Accordingly, the TCP reception control unit 713 receives the interrupt signal, reads the specified amount from the CPU access output control unit 604, and responds to the application 701.

なお、アプリケーション701は、この読み出し量を映像データの開始位置を超えないように制御する。   Note that the application 701 controls the read amount so as not to exceed the start position of the video data.

なお、映像データの開始位置がHTTP応答における最初のTCPパケットに収まらず、分割された後のTCPパケットから始まる場合、該当するTCPパケットが未着の場合は、TCP受信制御部713が待ち状態となり、アプリケーション701はその処理を待たされることになるため、その待ち処理を中断することも可能である。これは、TCP受信制御部713に対する指示によって行なわれる。   If the start position of the video data does not fit in the first TCP packet in the HTTP response and starts from a TCP packet after being divided, if the corresponding TCP packet has not arrived, the TCP reception control unit 713 enters a wait state. Since the application 701 waits for the process, the wait process can be interrupted. This is performed by an instruction to the TCP reception control unit 713.

なお、割り込み許可設定をTCP情報更新部711において判定して制御する場合、CPUアクセス出力制御部604からのTCPヘッダの読み出しによってこの判定を行なう。   When the TCP permission updating unit 711 determines and controls the interrupt permission setting, this determination is performed by reading the TCP header from the CPU access output control unit 604.

アプリケーション701は、受信したHTTPヘッダを解析することによって映像データの開始位置とその連続量とを取得し、TCP受信制御部713に対して、専用バス207への出力とその開始位置、および連続出力量の指示を行なう。これにより、TCP受信制御部713は、TCPパケット出力制御部603に、映像データ出力制御部606への出力を行なうモード(映像データ出力モード)に切り替えるよう指示する。なお、TCP受信制御部713は、連続して出力するデータ量である連続出力量のデータ受信を完了するか、中断が発生した場合に、TCPパケット出力制御部603に対し、上記映像データ出力モードからCPUアクセスモードに切り替えるように指示する。   The application 701 obtains the start position of the video data and the continuous amount thereof by analyzing the received HTTP header, and outputs to the TCP reception control unit 713 the output to the dedicated bus 207, the start position, and the continuous output. Instruct the competence. Accordingly, the TCP reception control unit 713 instructs the TCP packet output control unit 603 to switch to a mode (video data output mode) in which output to the video data output control unit 606 is performed. Note that the TCP reception control unit 713 sends the video data output mode to the TCP packet output control unit 603 when the data reception of the continuous output amount, which is the data amount to be continuously output, is completed or an interruption occurs. To switch to the CPU access mode.

また、TCP受信制御部713は、映像データ出力制御部606に対し、映像データの開始位置と連続出力量とを指定する。これにより、映像データ出力制御部606にTCPパケットが渡され、専用バス207に映像データが出力され、デジタルTVチューナ204に映像データが渡される。   In addition, the TCP reception control unit 713 designates the video data output control unit 606 with the start position and the continuous output amount of the video data. As a result, the TCP packet is transferred to the video data output control unit 606, the video data is output to the dedicated bus 207, and the video data is transferred to the digital TV tuner 204.

なお、この映像データ出力モードにおいて指定された連続出力量の出力が完了するまでに、アプリケーション701がその出力を中断することもできる。これは、TCP受信制御部713に対してその中断を指示し、TCP受信制御部713が映像データ出力制御部606に対してその指示を行なうことによって実現される(図8参照)。   Note that the output of the application 701 can be interrupted before the output of the continuous output amount specified in the video data output mode is completed. This is realized by instructing the TCP reception control unit 713 to suspend and the TCP reception control unit 713 instructing the video data output control unit 606 (see FIG. 8).

(6)継続要求送信
アプリケーション701は、最初に指定した映像データの取得が完了すると、続いて映像データの取得要求を送信する場合がある。この場合、アプリケーション701は、上記と同様に、プロトコル処理部702に対して「HTTP GET」コマンドを送信するよう指示する。ここで、最初の動作と異なる点としては、TCP処理部707は、その送信処理の事前処理として、Seq更新部710により、TCP情報管理部712からTCPコネクション情報の一つである受信順序番号(Seq)の取得を行ない、自身が管理するテーブルを更新する。これにより、上記のTCPパケットを生成して受信させることで更新されないSeqを更新することが可能となる。
(6) Transmission of continuation request When the application 701 completes the acquisition of the first designated video data, the application 701 may subsequently transmit a video data acquisition request. In this case, the application 701 instructs the protocol processing unit 702 to transmit an “HTTP GET” command in the same manner as described above. Here, the difference from the first operation is that the TCP processing unit 707 performs a pre-processing of the transmission processing by the Seq update unit 710 from the TCP information management unit 712 to receive order number (one of TCP connection information). Seq) is acquired, and the table managed by itself is updated. This makes it possible to update Seq that is not updated by generating and receiving the above TCP packet.

図10は、上記で説明したソフトウェアの処理を、TOE部用ドライバ704とTCP処理部807に絞った動作のイメージを表した図である。更新条件通知部809およびSeq更新部810は、送信処理の中でその事前処理として実行される。また、TOE部用ドライバ704からTCPコネクション情報を更新するために生成されたTCPパケットをTCP処理部807の受信I/Fで受け付け、通常の受信処理を行なうのと同様に動作させ、関連する輻輳制御や再送制御などの処理を行ない、TCPコネクション情報の更新を行なう。   FIG. 10 is a diagram illustrating an image of an operation in which the processing of the software described above is limited to the TOE unit driver 704 and the TCP processing unit 807. The update condition notification unit 809 and the Seq update unit 810 are executed as pre-processing in the transmission process. Also, the TCP packet generated to update the TCP connection information from the TOE unit driver 704 is received by the reception I / F of the TCP processing unit 807, and is operated in the same manner as normal reception processing, and the related congestion is performed. Processing such as control and retransmission control is performed to update the TCP connection information.

この更新の様子を時系列に表わした図が図11である。多くの時間を占める映像受信の区間のほとんどは、無更新区間となり、更新頻度が低いことが理解できる。   FIG. 11 shows the state of this update in time series. It can be understood that most of the video reception sections occupying a lot of time are non-updated sections and the update frequency is low.

なお、本実施の形態において、TOE部402が扱うTCPコネクションの本数をわかりやすく1本として説明したが、上記説明動作を、複数のTCPコネクションに対して適用可能であることは云うまでもない。   In the present embodiment, the number of TCP connections handled by the TOE unit 402 has been described as being easy to understand. However, it goes without saying that the above-described operation can be applied to a plurality of TCP connections.

以上のように、本発明により、専用のCPU、外付けメモリが不要な低コストの高速受信処理用のTCP通信アダプタを用いることで、IPネットワークを経由してTCPによる広帯域映像データを受信して映像データを取得することが可能な低コストのDTVを実現することが可能となる(図12参照)。   As described above, according to the present invention, by using a low-cost TCP communication adapter for high-speed reception processing that does not require a dedicated CPU and an external memory, broadband video data by TCP is received via an IP network. A low-cost DTV capable of acquiring video data can be realized (see FIG. 12).

本発明に係る通信アダプタおよび通信装置は、広帯域映像データを受信して映像出力するDTV端末として有用である。また、TCPを用いた高速受信装置等の用途にも応用が可能である。   The communication adapter and the communication device according to the present invention are useful as a DTV terminal that receives broadband video data and outputs video. Further, the present invention can be applied to uses such as a high-speed receiving apparatus using TCP.

本発明の実施の形態に係るネットワークシステムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the network system which concerns on embodiment of this invention. 一般的なDTVのハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of general DTV. 本発明の実施の形態に係るDTVのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of DTV which concerns on embodiment of this invention. 本発明の実施の形態に係る高速通信アダプタの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the high-speed communication adapter which concerns on embodiment of this invention. 本発明の実施の形態に係る高速通信アダプタにおけるTOE部の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the TOE part in the high-speed communication adapter which concerns on embodiment of this invention. 本発明の実施の形態に係るDTV上で動作するソフトウェアの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the software which operate | moves on DTV which concerns on embodiment of this invention. 本発明の実施の形態に係るTOE部用ドライバが生成するTCPパケットのフォーマットの一例を示す図である。It is a figure which shows an example of the format of the TCP packet which the driver for TOE parts which concerns on embodiment of this invention produces | generates. 本発明の実施の形態に係るTCPパケット出力制御部が備える中断機能を説明するための図である。It is a figure for demonstrating the interruption function with which the TCP packet output control part which concerns on embodiment of this invention is provided. 本発明の実施の形態に係るDTVにおける通信手順を高速通信アダプタ(ハード)とホストCPU(ソフト)で切り替える様子を示すイメージ図である。It is an image figure which shows a mode that the communication procedure in DTV which concerns on embodiment of this invention is switched with a high-speed communication adapter (hardware) and host CPU (software). 本発明の実施の形態に係るソフトウェアの機能構成におけるTOE部用ドライバとTCP処理部との間の接続動作の様子を示すイメージ図である。It is an image figure which shows the mode of the connection operation | movement between the driver for TOE parts and the TCP process part in the function structure of the software which concerns on embodiment of this invention. 本発明の実施の形態に係る、上記図10における接続動作の様子を時系列に示したイメージ図である。It is the image figure which showed the mode of the connection operation | movement in the said FIG. 10 based on embodiment of this invention in time series. 本発明の実施の形態に係る高速通信アダプタ301を備えた場合の効果を説明するための図である。It is a figure for demonstrating the effect at the time of providing the high-speed communication adapter 301 which concerns on embodiment of this invention. 従来のDTVのハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the conventional DTV. 従来のDTVにおいてソフトのみで通信手順を制御する様子を示す通信シーケンス図である。It is a communication sequence diagram which shows a mode that a communication procedure is controlled only by software in the conventional DTV. 従来のDTVにおいてハードのみで通信手順を制御する様子を示す通信シーケンス図である。It is a communication sequence diagram which shows a mode that a communication procedure is controlled only by hardware in the conventional DTV.

符号の説明Explanation of symbols

101 映像サーバ
102 IPネットワーク
103 DTV
201 メインメモリ
202 ホストCPU
203 デジタルRF
204 デジタルTVチューナ
205 AVデコーダ
206 バス
207 専用バス
301 高速通信アダプタ
401 汎用LAN制御部
402 TOE部
403 振り分け部
601 割り込み制御部
602 TCP情報入出力部
603 TCPパケット出力制御部
604 CPUアクセス出力制御部
605 TCPパケット受信処理部
606 映像データ出力制御部
701 アプリケーション
702 プロトコル処理部
703 汎用LAN制御部用ドライバ
704 TOE部用ドライバ
705 デジタルTVチューナ用ドライバ
706 AVデコーダ用ドライバ
707 TCP処理部
708 IF処理部
709 更新条件通知部
710 Seq更新部
711 TCP情報更新部
712 TCP情報管理部
713 TCP受信制御部
800 TCPパケット
801 MACヘッダ
802 IPヘッダ
803 TCPヘッダ
804 ペイロードデータ(実際は含まず)
80301 順序番号(Seq)
80302 確認応答番号(Ack)
80303 受信ウィンドウサイズ(RWin)
101 Video server 102 IP network 103 DTV
201 Main memory 202 Host CPU
203 Digital RF
204 Digital TV tuner 205 AV decoder 206 Bus 207 Dedicated bus 301 High-speed communication adapter 401 General-purpose LAN control unit 402 TOE unit 403 Distribution unit 601 Interrupt control unit 602 TCP information input / output unit 603 TCP packet output control unit 604 CPU access output control unit 605 TCP packet reception processing unit 606 Video data output control unit 701 Application 702 Protocol processing unit 703 General-purpose LAN control unit driver 704 TOE unit driver 705 Digital TV tuner driver 706 AV decoder driver 707 TCP processing unit 708 IF processing unit 709 Update Condition notification unit 710 Seq update unit 711 TCP information update unit 712 TCP information management unit 713 TCP reception control unit 800 TCP packet 80 MAC header 802 IP header 803 TCP header 804 payload data (in fact is not included)
80301 Sequence number (Seq)
80302 Acknowledgment number (Ack)
80303 Reception window size (RWin)

Claims (16)

通信装置に取り付けられる、通信インタフェースとして機能する通信アダプタであって、
通信相手から送られてくるTCPパケットを受信するTCP受信処理部と、
前記通信装置と前記TCP受信処理部との間における、TCPコネクションに関する情報であるTCPコネクション情報のやりとりを中継するTCP情報入出力部とを備え、
前記TCP情報入出力部は、前記通信装置から渡されるTCPコネクション情報を受け取って、前記TCP受信処理部に渡し、
前記TCP受信処理部は、前記TCP情報入出力部から渡されたTCPコネクション情報を用いて、通信相手から送られてくるTCPパケットの受信と受信したTCPパケットに対応するTCP確認応答処理とを行なうと共に、前記TCPパケットの受信に伴って変化したTCPコネクション情報を前記TCP情報入出力部に通知し、
前記TCP情報入出力部は、前記TCP受信処理部から通知されたTCPコネクション情報を前記通信装置に出力する
ことを特徴とした通信アダプタ。
A communication adapter that is attached to a communication device and functions as a communication interface,
A TCP reception processing unit for receiving a TCP packet sent from a communication partner;
A TCP information input / output unit that relays the exchange of TCP connection information, which is information related to a TCP connection, between the communication device and the TCP reception processing unit;
The TCP information input / output unit receives TCP connection information passed from the communication device and passes it to the TCP reception processing unit,
The TCP reception processing unit uses the TCP connection information passed from the TCP information input / output unit to perform reception of a TCP packet sent from a communication partner and TCP confirmation response processing corresponding to the received TCP packet. And notifying the TCP information input / output unit of the TCP connection information changed with the reception of the TCP packet,
The TCP information input / output unit outputs TCP connection information notified from the TCP reception processing unit to the communication device.
前記通信アダプタはさらに、前記通信装置から通知される値と前記TCP受信処理部が受信したTCPパケットに含まれる受信確認応答番号とを比較し、その比較結果に基づいて、前記通信装置に対して割り込み信号を発生する割り込み制御部を備える
ことを特徴とする請求項1に記載の通信アダプタ。
The communication adapter further compares the value notified from the communication device with a reception confirmation response number included in the TCP packet received by the TCP reception processing unit, and based on the comparison result, the communication device The communication adapter according to claim 1, further comprising an interrupt control unit that generates an interrupt signal.
通信相手とTCP通信をする通信装置であって、
TCP通信におけるコネクション管理と前記通信相手への送信処理とを行なうTCP処理部と、
前記通信相手から送られてくるTCPパケットを受信する請求項1に記載の通信アダプタと、
前記TCP処理部と前記通信アダプタにおけるTCPコネクション情報を同期させる処理を行なうTCP情報同期部と
を備えることを特徴とする通信装置。
A communication device that performs TCP communication with a communication partner,
A TCP processing unit that performs connection management in TCP communication and transmission processing to the communication partner;
The communication adapter according to claim 1, which receives a TCP packet sent from the communication partner;
A communication apparatus comprising: the TCP processing unit and a TCP information synchronization unit that performs processing for synchronizing TCP connection information in the communication adapter.
前記TCP情報同期部は、前記通信アダプタが管理するTCPコネクション情報が変更された場合に、変更後のコネクション情報が予め決められた条件を満たしたときに、当該コネクション情報を前記TCP処理部に反映させる同期処理を行なう
ことを特徴とする請求項3に記載の通信装置。
When the TCP connection information managed by the communication adapter is changed, the TCP information synchronization unit reflects the connection information in the TCP processing unit when the changed connection information satisfies a predetermined condition. The communication apparatus according to claim 3, wherein synchronization processing is performed.
前記TCP処理部は、前記通信相手から送られてくるTCPパケットを受信する受信機能をもつインタフェース処理部を有する
ことを特徴とする請求項4に記載の通信装置。
The communication apparatus according to claim 4, wherein the TCP processing unit includes an interface processing unit having a reception function of receiving a TCP packet transmitted from the communication partner.
前記TCP情報同期部は、前記インタフェース処理部の前記受信機能を用いて、前記コネクション情報を前記TCP処理部に反映させる
ことを特徴とする請求項5に記載の通信装置。
The communication apparatus according to claim 5, wherein the TCP information synchronization unit reflects the connection information in the TCP processing unit using the reception function of the interface processing unit.
前記TCP情報同期部は、前記受信機能を用いる場合における前記通信アダプタが管理する受信順序番号を除き、前記コネクション情報を前記TCP処理部に反映させる
ことを特徴とする請求項6に記載の通信装置。
The communication apparatus according to claim 6, wherein the TCP information synchronization unit reflects the connection information in the TCP processing unit, except for a reception sequence number managed by the communication adapter when the reception function is used. .
前記TCP処理部は、TCP送信処理の事前処理として、前記通信アダプタが管理する受信順序番号を取得したい旨の要求を前記TCP情報同期部に送り、
前記TCP情報同期部は、前記TCP処理部からの前記要求に対して、前記通信アダプタが管理する受信順序番号を取得し、取得した受信順序番号を前記TCP処理部に応答し、
前記TCP処理部は、前記TCP情報同期部からの応答を受けて、受信順序番号の値を更新する
ことを特徴とする請求項7に記載の通信装置。
The TCP processing unit sends a request to the TCP information synchronization unit as a pre-processing of the TCP transmission processing to obtain a reception order number managed by the communication adapter,
In response to the request from the TCP processing unit, the TCP information synchronization unit acquires a reception sequence number managed by the communication adapter, and responds to the TCP processing unit with the acquired reception sequence number.
The communication apparatus according to claim 7, wherein the TCP processing unit updates a value of a reception order number in response to a response from the TCP information synchronization unit.
前記TCP情報同期部は、予め与えられた第1の値と前記通信アダプタが受信したTCPパケットに含まれる受信確認応答番号から算出される第2の値とを比較することで、変更後のコネクション情報が予め決められた条件を満たしたか否かを判断する
ことを特徴とする請求項4に記載の通信装置。
The TCP information synchronization unit compares the first value given in advance with the second value calculated from the reception confirmation response number included in the TCP packet received by the communication adapter, thereby changing the connection after the change. The communication apparatus according to claim 4, wherein it is determined whether or not the information satisfies a predetermined condition.
前記TCP処理部は、TCP送信処理を行なう場合に、当該TCP送信処理における送信データの最後の順序番号を、前記TCP情報同期部に通知し、
前記TCP情報同期部は、前記TCP処理部から通知された順序番号から算出される値を前記第1の値として前記比較をする
ことを特徴とする請求項9に記載の通信装置。
When performing the TCP transmission process, the TCP processing unit notifies the TCP information synchronization unit of the last sequence number of the transmission data in the TCP transmission process,
The communication apparatus according to claim 9, wherein the TCP information synchronization unit performs the comparison using a value calculated from a sequence number notified from the TCP processing unit as the first value.
前記通信アダプタはさらに、受信したTCPパケットを、当該TCPパケットの受信状況に応じて、異なる2つの出力先に出力する振り分け部を備える
ことを特徴とする請求項3に記載の通信装置。
The communication device according to claim 3, further comprising: a distribution unit that outputs the received TCP packet to two different output destinations according to the reception status of the TCP packet.
前記通信装置はさらに、CPUと映像データを処理する映像処理部とを備え、
前記振り分け部は、異なる2つの出力先として、当該通信アダプタと前記CPUとを接続する第1のバス、および当該通信アダプタと前記映像処理部とを接続する第2のバスに、前記TCPパケットを出力する
ことを特徴とする請求項11に記載の通信装置。
The communication device further includes a CPU and a video processing unit for processing video data,
The distribution unit sends the TCP packet as two different output destinations to a first bus that connects the communication adapter and the CPU, and a second bus that connects the communication adapter and the video processing unit. The communication device according to claim 11, wherein the communication device outputs.
前記通信アダプタはさらに、前記通信装置から、受信したTCPパケットの出力先とその出力先に連続して出力するデータ量である連続出力量の指定を受け付け、受け付けた指定に従って、前記TCPパケットを出力するTCPパケット出力制御部を備える
ことを特徴とする請求項12に記載の通信装置。
The communication adapter further receives an output destination of the received TCP packet from the communication device and a designation of a continuous output amount that is a data amount continuously outputted to the output destination, and outputs the TCP packet according to the accepted designation. The communication apparatus according to claim 12, further comprising a TCP packet output control unit.
前記TCPパケット出力制御部は、前記通信装置から指定された連続出力量の出力が完了する前に、当該出力を中断する機能を備える
ことを特徴とする請求項13に記載の通信装置。
The communication device according to claim 13, wherein the TCP packet output control unit has a function of interrupting the output before the output of the continuous output amount designated by the communication device is completed.
通信相手とTCP通信をする通信装置による通信方法であって、
前記通信装置が備えるCPUが、TCP通信におけるコネクション管理と前記通信相手への送信処理とを行ない、
前記通信装置に取り付けられる通信アダプタが、前記通信相手から送られてくるTCPパケットの受信処理を行なう
ことを特徴とする通信方法。
A communication method by a communication device that performs TCP communication with a communication partner,
The CPU provided in the communication device performs connection management in TCP communication and transmission processing to the communication partner,
A communication method, wherein a communication adapter attached to the communication device performs a process of receiving a TCP packet sent from the communication partner.
通信装置に取り付けられる、通信インタフェースとして機能する集積回路であって、
通信相手から送られてくるTCPパケットを受信するTCP受信処理部と、
前記通信装置と前記TCP受信処理部との間における、TCPコネクションに関する情報であるTCPコネクション情報のやりとりを中継するTCP情報入出力部とを備え、
前記TCP情報入出力部は、前記通信装置から渡されるTCPコネクション情報を受け取って、前記TCP受信処理部に渡し、
前記TCP受信処理部は、前記TCP情報入出力部から渡されたTCPコネクション情報を用いて、通信相手から送られてくるTCPパケットの受信と受信したTCPパケットに対応するTCP確認応答処理とを行なうと共に、TCPパケットの受信に伴って変化したTCPコネクション情報を前記TCP情報入出力部に通知し、
前記TCP情報入出力部は、前記TCP受信処理部から通知されたTCPコネクション情報を前記通信装置に出力する
ことを特徴とした集積回路。
An integrated circuit functioning as a communication interface attached to a communication device,
A TCP reception processing unit for receiving a TCP packet sent from a communication partner;
A TCP information input / output unit that relays the exchange of TCP connection information, which is information related to a TCP connection, between the communication device and the TCP reception processing unit;
The TCP information input / output unit receives TCP connection information passed from the communication device and passes it to the TCP reception processing unit,
The TCP reception processing unit uses the TCP connection information passed from the TCP information input / output unit to perform reception of a TCP packet sent from a communication partner and TCP confirmation response processing corresponding to the received TCP packet. And notifying the TCP information input / output unit of the TCP connection information changed with the reception of the TCP packet,
The integrated circuit according to claim 1, wherein the TCP information input / output unit outputs TCP connection information notified from the TCP reception processing unit to the communication device.
JP2007255572A 2007-09-28 2007-09-28 Communication adapter, communication device, and communication method Pending JP2009088962A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007255572A JP2009088962A (en) 2007-09-28 2007-09-28 Communication adapter, communication device, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007255572A JP2009088962A (en) 2007-09-28 2007-09-28 Communication adapter, communication device, and communication method

Publications (1)

Publication Number Publication Date
JP2009088962A true JP2009088962A (en) 2009-04-23

Family

ID=40661791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007255572A Pending JP2009088962A (en) 2007-09-28 2007-09-28 Communication adapter, communication device, and communication method

Country Status (1)

Country Link
JP (1) JP2009088962A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013176106A (en) * 2013-04-09 2013-09-05 Toshiba Corp Data communication device and communication program
JP2013179615A (en) * 2013-04-09 2013-09-09 Toshiba Corp Data communication device and communication program
KR101455011B1 (en) 2010-06-23 2014-10-27 인터내셔널 비지네스 머신즈 코포레이션 Converting a message signaled interruption into an i/o adapter event notification
CN104657555A (en) * 2015-02-11 2015-05-27 北京麓柏科技有限公司 TOE (TCP/IP Offload Engine) verification method based on UVM (Universal Verification Methodology) and TOE verification platform based on UVM
US9100332B2 (en) 2011-02-28 2015-08-04 Kabushiki Kaisha Toshiba Data transmitting device, data communicating device, and computer readable medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455011B1 (en) 2010-06-23 2014-10-27 인터내셔널 비지네스 머신즈 코포레이션 Converting a message signaled interruption into an i/o adapter event notification
US9100332B2 (en) 2011-02-28 2015-08-04 Kabushiki Kaisha Toshiba Data transmitting device, data communicating device, and computer readable medium
JP2013176106A (en) * 2013-04-09 2013-09-05 Toshiba Corp Data communication device and communication program
JP2013179615A (en) * 2013-04-09 2013-09-09 Toshiba Corp Data communication device and communication program
CN104657555A (en) * 2015-02-11 2015-05-27 北京麓柏科技有限公司 TOE (TCP/IP Offload Engine) verification method based on UVM (Universal Verification Methodology) and TOE verification platform based on UVM

Similar Documents

Publication Publication Date Title
TW200821857A (en) Dynamic power cycling
JP2010519785A (en) Network traffic controller
TW200820677A (en) Device and method for configuring a target device
JP6291834B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM
EP2606620B1 (en) Method and apparatus for transmitting and receiving data based on secured path bandwidth in network established by using audio/video interface
US9660836B2 (en) Network topology discovery
EP3525406A1 (en) Method and apparatus for determining tcp congestion window
JP2006217242A (en) Radio communication method and radio communication device
JP2009088962A (en) Communication adapter, communication device, and communication method
US8838782B2 (en) Network protocol processing system and network protocol processing method
JP2010252205A (en) Wireless transmitter, wireless transmission method, wireless receiver, and wireless reception method
JP4988487B2 (en) Data transfer method, apparatus, and program
US20160295567A1 (en) Communication device and setting device
CN115209192A (en) Display device, intelligent device and camera sharing method
US20180213278A1 (en) Video processing device, method for driving video processing device, video relaying device, method for driving video relaying device, and computer-readable recording medium
JP3652233B2 (en) Wireless network system
EP2280512A1 (en) Electronic apparatus and control method for remotely processing files
US11271711B2 (en) Communication control device, communication control method, network switch, route control method, and communication system
JP2012015778A (en) Communication processing device and communication processing method
US20090073982A1 (en) Tcp packet communication device and techniques related thereto
JP2017157963A (en) Communication device, communication method and program
JP6400261B1 (en) Communication system and communication method
KR20170097900A (en) Method and System for Supporting Multi-screen Based on ID/LOC Split Architecture
EP4178200A1 (en) Multi-channel image receiving device and method
JP2006109016A (en) Transmitter/receiver, transmission/reception control method, program and memory