JP4519090B2 - 送信装置、受信装置およびそれらの方法 - Google Patents
送信装置、受信装置およびそれらの方法 Download PDFInfo
- Publication number
- JP4519090B2 JP4519090B2 JP2006068352A JP2006068352A JP4519090B2 JP 4519090 B2 JP4519090 B2 JP 4519090B2 JP 2006068352 A JP2006068352 A JP 2006068352A JP 2006068352 A JP2006068352 A JP 2006068352A JP 4519090 B2 JP4519090 B2 JP 4519090B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- content data
- processing
- tcp
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Description
TCP/IPは、元々UNIX(登録商標)においてソフトウェアで実装されていた経緯があり、現在でもソフトウェアによる処理が主を占めている。
近年、データ量の大きなAV(Audio Visual)データが、TCP/IPを用いてネットワーク上を転送されるようになり、TCP/IP処理を高速化したいという要請がある。
従来では、高速処理可能なCPU(Central Processing Unit) を用いることで、このような要請に応えている。
また、現在、NIC(Network Interface Card)へのインタフェースは、汎用性を考慮して、PCI(Peripheral Component Interconnect) バスに接続されている。
PCIバスは、殆どPC(Personal Computer) で採用されている32ビット/33M規格のものであるが、この場合、CPUによるTCP/IPの処理能力が向上しても、転送速度がボトルネックになり、パーフォーマンスを向上することが困難となる。しかしながら、より高速なPCIバス(64ビット/64M規格等)を採用すると、現状では非常に高価なものになる、という問題がある。
同様の問題は、UDP(User Datagram Protocol) などのその他の通信プロトコルを用いる場合にもある。
上記コンテンツデータの送信処理において、上記TCP/IP処理を行う演算回路と上記複数の分割コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、送信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、送信装置が提供される。
上記コンテンツデータの受信処理において、上記TCP/IP処理を行う演算回路と上記コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、受信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、受信装置が提供される。
上記コンテンツデータの送信処理において、上記TCP/IP処理を行う演算回路と上記複数の分割コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、送信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、送信方法が提供される。
TCP/IP処理を行う演算回路に上記コンテンツデータの受信処理に必要なデータを出力するステップと、コンテンツデータを生成する処理部で複数の分割されたコンテンツデータを合成して上記コンテンツデータを生成するステップとを有し、
上記コンテンツデータの受信処理において、上記TCP/IP処理を行う演算回路と上記コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、受信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、受信方法が提供される。
図1は、本実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1では、ネットワーク3にコンピュータ2が接続されている。
コンピュータ2は、ネットワーク3を介して、他のコンピュータと、AVデータなどのデータをTCP/IPなどの通信プロトコルを基に送受信する。
ここで、コンピュータ2またはその一部が本発明の送信装置および受信装置に対応している。
ここで、AVバッファ回路18が本発明の入出力用記憶回路、送受信バッファ回路19が本発明の送信用記憶回路および受信用記憶回路、CPU21が本発明の演算回路に対応している。
ネットワーク3を介してコンピュータ2が送受信するパケットデータは、パルストランス16を経由してコネクタ15から出力される。
物理層回路17は、例えば、イーサネット(登録商標)規格に基づいて、ネットワーク3を介してコンピュータ2が送受信するパケットデータ(イーサネットパケット)の信号の変調および復調などの処理を行う。
AVバッファ回路18は、コンピュータ2の外部の画像・音声再生装置などの画像・音声処理装置との間で入出力するAVデータを記憶するSD−RAM(Synchronous Dynamic-Random Access Memory) である。
PCIバスコントローラ回路20は、CPU21とデータ処理回路22との間に配設されたPCIバスを介したデータ伝送を制御する。
CPU21は、パケットデータに含まれるAVデータ自体の処理は行わず、パケットデータに含まれるヘッダデータ(制御データ)に係わる処理を行う。
具体的には、CPU21は、ネットワーク3を介して通信先のコンピュータにパケットデータを配送するためのIP処理、パケット伝送中に異常が発生した場合に異常を知らせるICMP(Internet Control Message Protocol) 処理、IPアドレスとMAC(Media Access Control)アドレスの変換を行うARP(Address Resolution Protocol) 処理、通信を行っているプログラムを識別してポートを割り当てるコネクション型のTCP処理などを行う。
ここで、PCIバスインタフェース32が本発明の演算回路入出力用インタフェースに対応し、パケット処理部35が本発明のデータ生成回路、データ分割回路、データ合成分割回路に対応し、MAC回路31、物理層回路17、パルストランス16およびコネクタ15が本発明の送信用インタフェースに対応している。
MAC回路31は、物理層回路17との間で入出力するパケットデータのMAC処理を行う。
PCIバスインタフェース32は、レジスタ33およびパケット処理部35と、PCIバスコントローラ回路20との間で入出力するデータのインタフェースを行う。
AVインタフェース34は、コンピュータ2の外部の画像・音声処理装置との間でAVデータの入出力を行うインタフェースである。
また、パケット処理部35は、送信時に、ジャンボパケットデータJPDの送信処理に必要なデータを、PCIバスインタフェース32からCPU21に出力する。
パケット処理部35は、送信時に、CPU21から入力したヘッダデータHD1(本発明の第1の制御データ)を基に、後述するように生成されたパケットデータPDの送信に用いるヘッダデータHD2(本発明の第2の制御データ)を生成する。
また、パケット処理部35は、例えば、図4に示すように、ヘッダデータHD1のTCPヘッダデータの送信元ポート番号データ、宛先ポート番号データおよび、ウインドウデータをそのまま用いてヘッダデータHD2のTCPヘッダデータを生成する。
また、パケット処理部35は、送信時に、ジャンボパケットデータJPDに含まれるAVデータを分割し、当該分割によって得られたAVデータ(本発明の第2のコンテンツデータ)とヘッダデータHD2とを各々が含む図2(B)に示すパケット長最大1518バイトのパケットデータPD(イーサネットパケットデータ、本発明の第2のモジュールデータ)を生成する。
また、パケット処理部35は、送信時に、ヘッダデータHD1,HD2のIPヘッダのチェックサムデータ、並びにTCPヘッダのチェックサムデータ、シーケンス番号および確認応答番号の生成処理を行う。
このとき、パケット処理部35は、例えば、図3に示すように、ヘッダデータHD2のIPヘッダデータのサービスタイプ、生存時間データ、送信元アドレスおよび宛先アドレスをそのまま用いてヘッダデータHD1のIPヘッダデータを生成する。
また、パケット処理部35は、例えば、図4に示すように、ヘッダデータHD2のTCPヘッダデータの送信元ポート番号データ、宛先ポート番号データおよび、ウインドウデータをそのまま用いてヘッダデータHD1のTCPヘッダデータを生成する。
また、パケット処理部35は、受信時に、ヘッダデータHD1のIPヘッダデータのチェックサムデータ、並びにTCPヘッダのチェックサムデータ、シーケンス番号および確認応答番号の生成処理を行う。
また、パケット処理部35は、受信時に、パケットデータPDに含まれるヘッダデータHD2のIPヘッダデータおよびTCPヘッダデータ内のチェックサムデータ、並びにAVデータを用いたチェックサム演算を行う。
また、パケット処理部35は、受信時に、CPU21から入力したTCP/IP処理の結果基に、ジャンボパケットデータJPDを分割してパケットデータPDを生成する。
〔第1の動作例〕
当該動作例では、コンピュータ2が、ネットワーク3を介してパケットデータを送信する場合を説明する。
図5は、当該動作例を説明するためのフローチャートである。
以下、図5に示す各ステップについて説明する。
ステップST1:
SD−RAMコントローラ30の制御に基づいて、画像・音声処理装置から出力されたAVデータが、AVインタフェース34を介して、AVバッファ回路18に書き込まれる。
パケット処理部35が、AVバッファ回路18からステップST1で書き込まれたAVデータを読み出して、当該AVデータを格納した図2(A)に示すジャンボパケットデータJPDを生成する。
パケット処理部35が、ステップST2で生成したジャンボパケットデータJPDの送信処理に必要なデータを、PCIバスインタフェース32からPCIバスコントローラ回路20を介してCPU21に出力する。また、必要に応じて、レジスタ33に記憶されたデータも、PCIバスインタフェース32を介してCPU21に出力される。
CPU21は、パケット処理部35から入力したデータを用いて、ジャンボパケットデータJPDを送信するためのTCP/IP処理を行い、ヘッダデータHD1を生成する。
そして、CPU21は、PCIバスコントローラ回路20を介して、ヘッダデータHD1をPCIバスインタフェース32に出力する。
パケット処理部35が、CPU21から入力したヘッダデータHD1を基に、パケットデータPDの送信に用いるヘッダデータHD2を生成する。
そして、パケット処理部35が、ジャンボパケットデータJPDに含まれるAVデータを分割し、当該分割によって得られたAVデータとヘッダデータHD2とを各々が含むパケットデータPDを生成する。
パケット処理部35が、ステップST4で生成したパケットデータPDを、SD−RAMコントローラ30の制御に従って、送受信バッファ回路19に書き込む。
SD−RAMコントローラ30の制御に従って、送受信バッファ回路19から、パケットデータPDが読み出される。
そして、当該パケットデータPDが、MAC回路31によるMAC処理、物理層回路17に物理層処理、並びにパルストランス16を経由して、コネクタ15からネットワーク3に送信される。
当該動作例では、コンピュータ2が、ネットワーク3を介してパケットデータを受信する場合を説明する。
図6は、当該動作例を説明するためのフローチャートである。
以下、図6に示す各ステップについて説明する。
ステップST11:
ネットワーク3を伝送するパケットデータPDが、コネクタ15で受信され、パルストランス16、並びに物理層回路17による物理層処理を経て、MAC回路31に入力される。
そして、当該パケットデータPDが、MAC回路31によるMAC処理を経て、送受信バッファ回路19に書き込まれる。
SD−RAMコントローラ30の制御に従って、送受信バッファ回路19から、複数のパケットデータPDが読み出されてパケット処理部35に出力される。
パケット処理部35が、ステップST12で読み出された複数のパケットデータPDを合成してジャンボパケットデータJPDを生成する。
そして、パケット処理部35が、ジャンボパケットデータJPDの受信処理に必要なデータ、例えば、パケットデータPDのヘッダデータHD2から取得された送信元アドレス、宛先アドレスおよびサイズデータなどを、PCIバスインタフェース32からPCIバスコントローラ回路20を介してCPU21に出力する。また、必要に応じて、レジスタ33に記憶されたデータも、PCIバスインタフェース32を介してCPU21に出力される。
そして、CPU21が、パケット処理部35から入力したデータを基に、ジャンボパケットデータJPDの受信するためのTCP/IP処理を行い、その結果をPCIバスコントローラ回路20およびPCIバスインタフェース32を介してパケット処理部35に出力する。
パケット処理部35が、ステップST13で入力したCPU21の処理結果を基に、ジャンボパケットデータJPDを分割してパケットデータPDを生成する。
パケット処理部35が、SD−RAMコントローラ30の制御に従って、ステップST14で生成したパケットデータPDをAVバッファ回路18に書き込む。
当該パケットデータPDは、SD−RAMコントローラ30の制御に従って、AVバッファ回路18から読み出され、AVインタフェース34を介して画像・音声処理装置に出力される。
また、このとき、CPU21とデータ処理回路22との間ではヘッダデータやレジスタデータなどのデータ量の小さなデータのみを伝送し、データ処理回路22においてハードウェアによりTCP/IP処理の一部を高速に行うことで、従来のPCIバスをそのまま用いると共にCPU21を高速化することなく、TCP/IP処理を高速化できる。
その結果、コンピュータ2の構成を、簡単かつ安価なものにできる。
例えば、上述した実施形態では、コンピュータ2が通信プロトコルとしてTCP/IPを用いた場合を例示したが、UDPなどのその他の通信プロトコルを用いた場合にも本発明は適用できる。
Claims (4)
- TCP/IPによりネットワーク上にコンテンツデータを送信するため、
画像音声(AV)処理装置から入力されたコンテンツデータを記憶するAVバッファ回路と、
TCP/IP処理を行う演算回路に上記コンテンツデータの送信処理に必要なデータを出力するインターフェースと、
上記コンテンツデータを分割して複数の分割コンテンツデータを生成する処理部と
を有し、
上記コンテンツデータの送信処理において、上記TCP/IP処理を行う演算回路と上記複数の分割コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、
上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、
送信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、
送信装置。 - TCP/IPによりネットワーク上のコンテンツデータを受信するため、
受信した上記コンテンツデータを記憶するAVバッファ回路と、
TCP/IP処理を行う演算回路に上記コンテンツデータの受信処理に必要なデータを出力するインターフェースと、
複数の分割されたコンテンツデータを合成して上記コンテンツデータを生成する処理部と
を有し、
上記コンテンツデータの受信処理において、上記TCP/IP処理を行う演算回路と上記コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、
上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、
受信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、
受信装置。 - TCP/IPによりネットワーク上にコンテンツデータを送信するため、
画像音声(AV)処理装置から入力されたコンテンツデータをAVバッファ回路に記憶するステップと、
TCP/IP処理を行う演算回路に上記コンテンツデータの送信処理に必要なデータを出力するステップと、
複数の分割コンテンツデータを生成する処理部で上記コンテンツデータを分割して複数の分割コンテンツデータを生成するステップと
を有し、
上記コンテンツデータの送信処理において、上記TCP/IP処理を行う演算回路と上記複数の分割コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、
上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、
送信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、
送信方法。 - TCP/IPによりネットワーク上のコンテンツデータを受信するため、
受信した上記コンテンツデータをAVバッファ回路に記憶するステップと、
TCP/IP処理を行う演算回路に上記コンテンツデータの受信処理に必要なデータを出力するステップと、
コンテンツデータを生成する処理部で複数の分割されたコンテンツデータを合成して上記コンテンツデータを生成するステップと
を有し、
上記コンテンツデータの受信処理において、上記TCP/IP処理を行う演算回路と上記コンテンツデータを生成する処理部との間で伝送されるデータはヘッダーデータを含み、
上記ヘッダーデータに対応するコンテンツデータは上記AVバッファ回路に格納されていて、
受信処理においては上記TCP/IP処理を行う演算回路は、上記コンテンツデータ自体の処理は行わない、
受信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006068352A JP4519090B2 (ja) | 2006-03-13 | 2006-03-13 | 送信装置、受信装置およびそれらの方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006068352A JP4519090B2 (ja) | 2006-03-13 | 2006-03-13 | 送信装置、受信装置およびそれらの方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002028702A Division JP3988475B2 (ja) | 2002-02-05 | 2002-02-05 | 送信装置、受信装置およびそれらの方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006203935A JP2006203935A (ja) | 2006-08-03 |
JP4519090B2 true JP4519090B2 (ja) | 2010-08-04 |
Family
ID=36961453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006068352A Expired - Fee Related JP4519090B2 (ja) | 2006-03-13 | 2006-03-13 | 送信装置、受信装置およびそれらの方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4519090B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101480995B1 (ko) * | 2008-04-17 | 2015-01-09 | 에스케이플래닛 주식회사 | Bcmcs 서비스 시스템에서 대용량 컨텐츠 송수신 장치및 방법 |
-
2006
- 2006-03-13 JP JP2006068352A patent/JP4519090B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006203935A (ja) | 2006-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9380134B2 (en) | RoCE packet sequence acceleration | |
US8671152B2 (en) | Network processor system and network protocol processing method | |
TWI374636B (en) | Method, apparatus, host computer system and machine-readable recording medium for distributing traffic across a plurality of trasmitting queues | |
US20080002578A1 (en) | Network with a constrained usage model supporting remote direct memory access | |
EP1791060A1 (en) | Apparatus performing network processing functions | |
JP2000151664A (ja) | デ―タ伝送方法 | |
US7269661B2 (en) | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet | |
JP3988475B2 (ja) | 送信装置、受信装置およびそれらの方法 | |
JP5091121B2 (ja) | 埋め込み型システムのための高速データ処理・通信方法及び装置 | |
KR100738339B1 (ko) | 인터넷 프로토콜 오프로드의 패킷 전송 장치 및 방법 | |
US20090086729A1 (en) | User datagram protocol (UDP) transmit acceleration and pacing | |
JP4519090B2 (ja) | 送信装置、受信装置およびそれらの方法 | |
JP3618277B2 (ja) | 通信プロトコル処理方法および通信プロトコル処理装置 | |
US20080162756A1 (en) | Method and apparatus for communication between universal serial bus (usb) host and usb device | |
CN101312412B (zh) | 一种基于嵌入式的以太网传输*** | |
US7213074B2 (en) | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet | |
JP3557201B2 (ja) | パケット処理装置、パケット処理方法、およびその方法を利用可能な電話装置 | |
JP4809679B2 (ja) | ストリームデータ通信方法及びストリームデータ通信装置 | |
JP3797363B2 (ja) | iSCSI装置及びその通信制御方法 | |
JP5906078B2 (ja) | データ転送装置及びデータ転送方法 | |
WO2009125664A1 (ja) | 通信プロトコル処理回路及び通信プロトコル処理方法ならびに通信端末 | |
US20230179545A1 (en) | Packet forwarding apparatus with buffer recycling and associated packet forwarding method | |
JP2012049883A (ja) | 通信装置およびパケット処理方法 | |
KR100649643B1 (ko) | Tcp/ip 가속장치 | |
JP2001027877A (ja) | データ・ストリームに対してアルゴリズムを実行する装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080616 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080708 |
|
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: 20100518 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |