JP2004159038A - Communication device and communication method - Google Patents

Communication device and communication method Download PDF

Info

Publication number
JP2004159038A
JP2004159038A JP2002322052A JP2002322052A JP2004159038A JP 2004159038 A JP2004159038 A JP 2004159038A JP 2002322052 A JP2002322052 A JP 2002322052A JP 2002322052 A JP2002322052 A JP 2002322052A JP 2004159038 A JP2004159038 A JP 2004159038A
Authority
JP
Japan
Prior art keywords
packet
processing
host
important
data
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
JP2002322052A
Other languages
Japanese (ja)
Inventor
Tomonori Kawasaki
友紀 川崎
Junichi Komagata
淳一 駒形
Hideki Yoshida
英喜 吉田
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002322052A priority Critical patent/JP2004159038A/en
Publication of JP2004159038A publication Critical patent/JP2004159038A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication device and a communication method which can reduce a processing burden of a host and a network load. <P>SOLUTION: A packet parser 13 is provided between a network interface card 12 and the host 11 (a reception processing part). The packet parser 13 executes header analysis of the received packet and it determines the protocol of the packet. When the determined result is an important packet, the packet parser 13 notifies the host 11 of the reception (interruption) unconditionally, that is to say, so as to preferentially execute reception processing. When it is an un-important packet, interruption is executed, for example, after a data amount exceeds a setting value. Also, when it is a real time stream packet, the packet parser 13 directly transfers it to a Codec not to the host. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、例えばローカルエリアネットワーク等のネットワーク通信に係る通信装置及び通信方法に関するものである。
【0002】
【従来の技術】
ローカルエリアネットワーク(LAN)上でホストを通信させ各々のプロトコル処理を行なう場合、従来では、ネットワークインターフェースカードとそれに対応するデバイスドライバ、並びにホストに搭載されたプロトコルスタックが関与して処理を行なうという方式がとられていた。
この方式ではネットワークインターフェースカードとデバイスドライバはLAN伝送路へのパケット送信や、LAN伝送路からのパケット受信しか行なわない。つまり送信パケットの生成や受信パケットの解析、それに伴うプロトコル処理は全てホストが行なっている。
【0003】
図7にLAN接続されたホストシステムの例を示す。
図7ににおいては、2台のホストシステム30,40の間でイーサネット(登録商標)をデータ転送媒体として、例えばMPEG方式の圧縮動画データ等の転送を行なうことを想定する。
図7におけるホスト31,41とは、CPU及びRAM等のハードウエアによる主たる情報処理部であり、CPUで起動されるアプリケーションソフトウェアや各種プロトコル処理のためのプログラムも含めたものとしている。またホストシステム30,40とは上記ホスト31,41とネットワークインターフェースカード32,42により構成されるコンピュータシステムを指す。
【0004】
ホストシステム40からホストシステム30にMPEGデータの送信を行う場合を考える。この場合、まずホストシステム40では、搭載されたソフトウェアコーデックかあるいはハードウェアコーデックでMPEGエンコードされたデータに対して、ホスト41のCPUとソフトウェアにより、リアルタイムストリーム転送のための各階層の処理を行う。例えばRTP(Real Time Transport Protocol)/UDP(User Datagram Protocol)/IP(Internet Protocol)/MAC(Media Access Control)の各プロトコルのパケッタイズ処理並びにヘッダ処理がなされる。
その後、ホスト41は処理を施したパケットをネットワークインターフェースカード42に転送し、ネットワークインターフェースカード42が伝送路100を介してホストシステム30へ送信する。
【0005】
ホストシステム30では、搭載しているネットワークインターフェースカード32からのインタラプト(受信通知としての割込要求)によりパケットを受信したことをホスト31に感知させる。するとホスト31は、ネットワークインターフェースカード32内のバッファに蓄えられた受信パケットを読み出す。なお、このホスト31に対するインタラプトは受信パケット到着毎に発生される。
ホスト31は、ネットワークインターフェースカード32から読み出したパケットのヘッダ解析を、プロトコル処理ソフトウェアとホストCPUにより行ないMACプロトコル/IP/UDP/RTPを処理した後、ソフトウェアまたはハードウェアで実現されたコーデックへ転送し、MPEG動画データの再生を行なうものとなる。
【0006】
また、このようなLAN通信に適用できる技術として、次のものが知られている。
【0007】
【特許文献1】特開平7−95260号公報
【0008】
この特許文献1では、図9(a)の構成で図9(b)の処理を行う通信制御装置101によりCPUのデータ処理負担を軽減するものである。
この場合、通信制御装置101は通信インターフェース105を介してアプリケーションプログラム107及びパケット処理ルーチン109に接続される。
送受信処理部111で受信されたデータは共有バッファ113に格納される(ステップS1)。ここで切換制御部115はパケット種別を検出し(ステップS2)、それに応じてデータをプロトコル処理部117a〜117c、又はパケット処理ルーチン109に振り分けるようにしている(ステップS3,S4,S5)。
【0009】
【発明が解決しようとする課題】
ここで、まず図7で説明したホストシステム30、40の通信を考える。この場合、ホスト31、41がプロトコル処理を受け持っている為、様々なプロトコルに容易に対応できる汎用性に優れている反面、多種プロトコルに対応しようとすればするほどホストでの処理負荷は重くなり、より高性能なホストCPUが求められ、装置のコストアップにつながるといった問題が生ずる。
【0010】
例えば上記ホストシステム30では、ネットワークインターフェースカード32からホスト31へのインタラプトは、受信パケット到着毎に発生するが、従って、ホストシステム40,あるいはLAN接続された他のホストシステムから多数のパケットが送信された場合、或いは上記のMPEGストリームをIPパケッタイズしたパケットを受信する場合などは、非常に多くのパケットを連続受信することになり、ホスト31へのインタラプト(割込処理)が短時間のうちに多発することとなる。それと同時に、実装如何ではパケット受信の割込処理毎にホスト31はネットワークインターフェースカード32へアクセスしてパケットを読み出す必要がある。
また、ホスト31はネットワークインターフェースカード32から読み出したパケットのヘッダ解析を行い、必要なプロトコル処理を行って、アプリケーションプログラムやコーデックへ受け渡す処理も行う。アプリケーションプログラムやコーデック(コーデックをホストCPUがソフトウエアにより実行する場合)についても、ホスト31はそれらの処理を行う必要がある。
【0011】
従って、リアルタイムストリームのビットレートが非常に高いデータパケットが受信される場合や、リアルタイムストリームでなくとも多数のパケットが受信された場合など、ホスト31への割込処理が多発することで、ホストCPUが他のタスクを実行できなくなるなどの問題が生ずる。
また、OSI参照モデルで言う所の第2層から第7層まで、即ちデータリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層という広い範囲のプロトコル処理をホスト30が行なう点もホストの処理負荷増大を招く。
そして、これらの問題を解決するには、高性能な高価なCPUが必要となり、装置のコストアップといった問題を引き起こす。
【0012】
また、このようなホスト30の処理負担の増大は、単に装置のコストアップだけでなくネットワーク負荷の増大ももたらす。
図7のモデルを拡張して図8のように3台のホストシステム30,40,50がLAN接続された場合を想定する。ホストシステム50は、ホストシステム30、40と同様にホスト51及びネットワークインターフェースカード52を備える。
【0013】
いま、通信DF1として示すように、ホストシステム30がホストシステム40からのパケットを比較的大量に受信中であるとする。
このときにホストシステム50からホストシステム30へファイル転送のアプリケーションが実行されたとすると、ホストシステム50はまずホストシステム30のMACアドレスを得るためにARP(Address Resolution Protocol)要求を行う(通信DF2)。ところがホストシステム30側では、ホストシステム40から既に受信したパケット分のプロトコル処理が終わるまでは、ホストシステム50からのARP要求に対して応答をすることができない。
【0014】
このためARP応答が得られないホストシステム50は、そのアプリケーションをタイムアウトしなければならない羽目に陥ることも考えられる。
これは、ホストシステム40と通信中のホストシステム30に対しては、ホストシステム50からの通信要求が拒否されたということであり、これに対しホストシステム50が再送要求を送ることでネットワーク上に冗長なパケットが発生し、ネットワーク負荷の増大を招く。
但し、イーサネットネットワーク上では再送処理は通常の処理として想定されているため、この再送処理自体が問題となるのではない。問題なのはネットワーク負荷の増大が、通信するホストシステムの台数に比例する点である。
通常のLANシステムにおいて、通信しているホストの台数は上記図8のモデルのように3台で留まるものではなく、より多数のホストシステムがLAN接続されることが一般に想定される。よって、再送処理によるネットワーク負荷もかなり増大するものと容易に想像できる。
【0015】
さらにもう一つの問題としては、上記のARPやRARP(Reverse Address Resolution Protocol)等の通信の要となるコントロールパケットの受信処理が他に受信中のパケット処理により待たされ、処理が出来ない点である。
前述した例はMPEGストリームのRTP/UDP/IP/MACプロトコル処理であるが、他にもファイル転送やリモートログインといったTCP処理を必要とする場合も、全く同様の問題が生じる。
【0016】
以上のように従来の通信方式において、特にホストの受信処理においては、ホストの処理負荷が増大することによって起こる受信処理以外のタスク及び演算処理を実行できなくなる問題、または受信処理以外の処理を遅延させてしまう問題、並びに重要パケットが優先的に処理されないことによって再送処理が発生し、ネットワーク負荷が増大するといった問題があった。またこれらを解決するためにホストCPUの高速化という手法を採れば、装置のコストアップが生ずるという問題があった。
【0017】
また、上記特許文献1に記載された技術では、CPU処理負担の低減が実現されているが、該技術ではCPUはアプリケーションプログラム107及びパケット処理ルーチン109の処理を行うものであり、プロトコル処理は通信制御装置101側で行うものを想定している。
つまり、汎用性拡大のためにホストCPUがプロトコル処理を受け持つというシステムとは異なるものであり、当然ながらホストCPUがプロトコル処理を受け持つシステムの場合における上記問題が解決されるものではない。特にいえば、パケット受信の集中時に、プロトコル処理を含むCPUの処理負担を軽減させるためのものではない。
【0018】
【課題を解決するための手段】
本発明は上記の問題に鑑みて、例えばLAN上の通信処理方式におけるホストシステムの処理負担やネットワーク負荷を低減することを目的とする。
【0019】
このため本発明の通信装置は、受信通知を受領することにより、受信されたデータパケットに対して所定のプロトコルに従ったデータ処理を実行する処理手段を有する通信装置であって、上記データパケットに含まれる情報に応じて、受信された上記データパケットが重要パケットか非重要パケットかを判別する判別手段と、上記判別手段により上記重要パケットと判別された場合は、上記処理手段に対して無条件で上記受信通知を発行し、上記判別手段により上記非重要パケットと判別された場合は、所定の条件が満たされてから上記処理手段に対して上記受信通知を発行する制御手段とを備える。
この場合、上記所定の条件は、上記非重要パケットと判断されたデータの量が設定値以上となることとする。
また上記判別手段は、上記重要パケット又は上記非重要パケットのヘッダ情報を記憶したテーブル情報を備え、受信した上記データパケットのヘッダ情報を、上記テーブル情報と照合することで、上記重要パケットと上記非重要パケットの判別を行う。
また、リアルタイムストリームパケットをデータ処理する第二の処理手段をさらに備え、上記判別手段は、さらに、受信された上記データパケットがリアルタイムストリームパケットであるか否かも判別し、上記制御手段は、受信された上記データパケットが上記リアルタイムストリームパケットと判別された場合は、上記受信通知を発行せずに、上記受信されたデータパケットを、上記第二の処理手段に転送する。
【0020】
また本発明の通信装置は、受信通知を受領することにより、受信されたデータパケットに対して第一のプロトコルに従ったデータ処理を実行する第一の処理手段と、受信されたリアルタイムストリームパケットに対して第二のプロトコルに従ったデータ処理を実行する第二の処理手段とを有する通信装置である。そして、上記データパケットに含まれる情報に応じて、受信された上記データパケットがリアルタイムストリームパケットであるか否かを判別する判別手段と、上記判別手段によりリアルタイムストリームパケットではないと判別された場合は、上記第一の処理手段に対して受信通知を発行し、上記判別手段によりリアルタイムストリームパケットと判別された場合は、上記第一の処理手段に対する受信通知を発行せずに、上記受信されたデータパケットを、上記第二の処理手段へ転送する制御手段とを備える。
【0021】
本発明の通信方法は、データパケットを受信して、受信した上記データパケットに対して所定のプロトコルに従ったデータ処理を実行する通信方法であって、上記データパケットに含まれる情報に応じて、受信された上記データパケットが重要パケットか非重要パケットかを判別する第一のステップと、上記第一のステップにおいて上記非重要パケットと判別された場合は、所定の条件が満たされてから上記非重要パケットと判別された上記データパケットのデータ処理を実行する第二のステップとを有する。
この場合、上記所定の条件は、上記非重要パケットと判断されたデータの量が設定値以上となることとする。
【0022】
即ち本発明では、例えばホストシステムにおいてネットワークインターフェースカードとホスト(処理手段)との間に、上記構成の判別手段及び制御手段を設ける。又はホスト処理に受け渡す受信処理として上記通信方法を実行する。
そして上記通信装置(又は通信方法)では、例えば受信したパケットのヘッダ解析を行って、そのパケットのプロトコルを判別し、判別した結果が重要パケット(例えばコントロールパケットやリアルタイム性が要求されるパケットなど)の場合、より優先的に受信処理するようホストへ通知する。
これにより、ホスト(処理手段)はヘッダ処理を行なう必要が無く、また、優先処理を必要とするパケットを処理優先度の低いパケットに埋もれさせること無く、受信処理を行なうことができるようにする。
またさらに、特に受信したパケットがリアルタイムストリームパケットの場合は、ホスト(処理手段/第一の処理手段)を介さないでリアルタイムストリームパケットに対応する第二の処理手段に転送するようにもする。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態として、複数のホストシステムがLAN通信可能とされる場合における通信制御について第1〜第3の実施の形態を説明していく。
【0024】
<第1の実施の形態>
図1,図2,図3により第1の実施の形態を説明する。
図1ににおいては、2台のホストシステム10,20を例示しており、このホストシステム10,20の間でイーサネット(登録商標)をデータ転送媒体として各種データパケットの通信を行うものとする。
通信されるデータパケットとしては、各ホストシステム10,20におけるアプリケーションプログラムの動作によって処理される各種ファイルなどとしてのテキスト、画像、或いは制御コマンドなどや、通信プロトコル処理によるARP、RARP、ICMP(Internet Control Message Protocol)などのコントロールパケット、さらには例えばMPEG方式の圧縮動画データなどのリアルタイムストリームパケットなどが想定される。
【0025】
図1におけるホスト11,21とは、CPU及びRAM等のハードウエアによる主たる情報処理部であり、CPUで起動されるアプリケーションソフトウェアや各種プロトコル処理のためのプログラムも含めたものとしている。このホスト11,21は、LAN通信についていえば上記のようなパケットデータの送信処理部及び受信処理部として機能する。
またホストシステム10,20とは上記ホスト11,21とネットワークインターフェースカード12,22により構成されるコンピュータシステムを指す。
【0026】
ホストシステム10においては、パケットパーサー13がホスト11とネットワークインターフェースカード12の間に介在するように設けられる。このパケットパーサー13が、本発明でいう通信装置の判別手段及び制御手段に相当する。
ホストシステム20におけるパケットパーサー23も同様である。
【0027】
コーデック14は、MPEG動画データなどのリアルタイムストリームデータのパケット処理(パケットエンコード/デコード)を行う部位であり、例えばホスト11とは別モジュールとしてホストシステム10を含む装置に搭載される。但し、コーデック14をソフトウエアとしてホスト11内に搭載するような例も考えられる。
コーデック24についても同様である。
【0028】
このようなホストシステム10,20間の通信は以下のように行われる。
今、ホストシステム20からホストシステム10へ、パケット送信DFを行うとする。
ホストシステム20側では、ホスト21がパケットを生成するか、あるいはコーデック24によりMPEGリアルタイムストリームのパケットを生成する。この際、ホスト21は、例えばUDP/IP/MACなどの各プロトコルのパケッタイズ処理並びにヘッダ処理を行うことにもなる。
その後、ホスト41は処理を施したパケットを、パケットパーサー23をバイパスさせてネットワークインターフェースカード42に転送し、ネットワークインターフェースカード42が伝送路100を介してホストシステム30へパケットを送信する。つまり送信処理としては、図7で説明した従来方式と同様である。
【0029】
一方、受信側となるホストシステム10では、搭載しているネットワークインターフェースカード12によって伝送路100から受信したデータパケットは、まずパケットパーサー13に受け渡される。
パケットパーサー13の処理については後に詳しく述べるが、受信したデータパケットについてヘッダ解析、プロトコル判別を行い、その結果、重要パケットと非重要パケットを判別する。そしてパケット判別結果に基づいて、所定時点で受信したパケットについてのインタラプト(受信通知の割込要求)をホスト11に対して発行する。
ホスト11は、インタラプトに応じてパケットパーサー13からデータパケットを読み出す。
ホスト11は、パケットパーサー13から読み出したパケットについて、プロトコル処理ソフトウェアとホストCPUにより、MACプロトコル/IP/UDP/RTPを処理した後、所定のアプリケーション(パケットがリアルタイムストリームパケットであった場合はコーデック14)へ受け渡すものとなる。
【0030】
ここで、パケットパーサー13は上記のように重要パケットと非重要パケットを判別したうえで、ホスト11に対してインタラプトを異なるタイミングで通知するようにしている。これによってパケット受信が集中する場合でもホスト11のCPUの処理負担が過大にならないようにするものである。
このためのパケットパーサー13の構成例を図2に示す。
【0031】
パケットパーサー13は、図2に示すように制御部1,設定値レジスタ2,ヘッダテーブル3、ヘッダ解析部4,RAM5を備える。
制御部1及びヘッダ解析部4は、専用ハードウエアとして形成することもでき、また汎用プロセッサにおいてソフトウエアで実現することもできる。設定値レジスタ2,ヘッダテーブル3、及びRAM5は、メモリ素子やレジスタによって形成される。
【0032】
制御部1は、ホスト11に対するインタラプト発行、RAM5の管理/アクセス制御、パケットデータのホスト11への転送制御などを行う。つまりパケット受信時には、RAM5へのバッファリングのための書込制御(RAMポインタ制御)、ヘッダ解析部5からの情報や設定値レジスタ2の情報に基づくインタラプト発行処理、及びホスト11からの転送要求があった場合の、RAMA5からのパケットデータの読出及び転送制御を行う。
【0033】
設定値レジスタ2には、例えばホスト11からの処理等により、或る設定値thが記憶される。この設定値thは、後述する非重要パケットに関するインタラプト発行の条件として用いられる。
ヘッダテーブル3は、例えばホスト11からの処理等により、重要パケットとすべきパケットのヘッダ情報が記憶される。例えばARP、RARP、ICMP、VLANといった、より優先的に受信処理されるべきプロトコルを識別するためのヘッダが格納されている。
【0034】
RAM5は、受信バッファとして用いられ、即ちネットワークインターフェースカード12から転送された受信パケットデータがバッファリングされる。
この場合、RAM5は、例えば領域分割設定により、アドレス0〜Nが第1バッファ領域5a、アドレスN+1〜Mが第2バッファ領域5bと設定され、制御部1によって管理される。
そして、ネットワークインターフェースカード12から転送されたパケットデータは、第1バッファ領域5aに書き込まれるものとされる。
第2バッファ領域5bは、インタラプト発行を所定の条件が整うまで待機する非重要パケットを格納しておく領域とされる。
【0035】
ヘッダ解析部4は、受信してRAM5の第1バッファに記憶されたデータパケットについてヘッダ解析を行い、それが重要パケットか非重要パケットかを判別する。具体的には受信したデータパケットのヘッダについて、ヘッダテーブル3に格納されているARP等の重要なプロトコルのヘッダと照合して、該当するヘッダであるか否かを判別する。そして、ヘッダテーブル3に格納された重要パケットのヘッダに該当するものであった場合は、それを重要パケットとする。それ以外であれば非重要パケットとする。判別した重要パケット/非重要パケットの情報は制御部1に供給する。
【0036】
このようなパケットパーサー13によるパケット受信時の処理を図3で説明する。
伝送路100を介して送信されてきたパケットデータがネットワークインターフェースカード12により受信され、パケットパーサー13に転送されてくると、制御部1は、そのパケットデータをRAM5の第1バッファ領域5aに記憶させていく制御を行う。例えば制御部1は、第1バッファ領域5aについての書込ポインタをアドレス0〜Nの範囲で巡回させながら、書込制御を行う。これにより、第1バッファ領域5aとしてのアドレス0〜Nがリングバッファ形式で用いられて、受信パケットのデータが各アドレスにバファリングされていく。
この処理は図3には示していないが、パケット受信に応じて実行される。
【0037】
パケット受信に伴ってパケットデータがバファリングされたら、まず図3のステップF101としてヘッダ解析部4は、取り込まれたパケットデータのヘッダ解析を行い、上記のようにヘッダテーブル3の情報を参照して、そのパケットデータが重要パケットであるか否かを判別する。
この判別結果情報は制御部1に受け渡され、制御部1は判別結果情報に応じてステップF102で処理を分岐する。
即ち、重要パケットであった場合はステップF103に進み、パケット受信に伴うホスト11に対するインタラプト通知を無条件で実行する。
そしてステップF107に進む。
【0038】
一方、非重要パケットであった場合は、ステップF104に進み、当該受信したパケットデータ、つまり第1バッファ領域5aに格納したデータを、インタラプト待機のため第2バッファ領域5bに移し替える。
なお、制御部1は第2バッファ領域5bについても、書込ポインタをアドレスN+1〜Mの範囲で巡回させながら書込制御を行い、第2バッファ領域5bとしてのアドレスN+1〜Mがリングバッファ形式で用いられるようにしている。
【0039】
そして、ステップF105では、第2バッファ領域5bに蓄積されたパケットデータ量が、設定値レジスタ2に記憶された設定値thを超えたか否かを確認する。超えていなければそのままステップF107に進む。つまりこの時点でインタラプトの発行を行わない。
【0040】
なおステップF105の判断のため、制御部1は内部カウンタを設け、第2バッファ領域5bに格納されたデータ量のカウントを行っていればよい。例えばステップF104で第2バッファ領域5bにデータを移動させる際に、そのデータ量に相当する値をカウントアップしていく。
そしてステップF105では、その時点でカウントされているデータ量と、設定値thを比較する処理を行えばよい。
【0041】
ある時点で、処理がステップF105に進んだ際に、第2バッファ領域5bに蓄積されたパケットデータ量が、設定値レジスタ2に記憶された設定値thを超えたと判断した場合は、ステップF106に進んで、ホスト11に対するインタラプト通知を行う。そしてステップF107に進む。
なお、この場合は、第2バッファ領域5bに蓄積したパケットデータ、つまり上記カウント対象となっていたデータについてインタラプト通知を行ったため、上記カウンタをリセットする。
【0042】
ステップF107では、次の受信パケットの存在を確認し、存在すればステップF101に戻って同様の処理を行う。存在しなければ図3の処理を終え、次回のパケット受信を待機する。
【0043】
なお、ステップF103又はF106でインタラプト通知を行った場合は、その後の時点でホスト11からパケットデータの転送要求が送られてくる。その場合、制御部1は、要求されたパケットをRAM5から読出、ホスト11に対して転送する制御を行うことになる。
【0044】
このような図3の処理により、本例では次の動作が実現される。
例えば上記ARP、RARP、ICMP、VLANといった、通信処理に重要なコントロールパケット、及びMPEGデータなどのリアルタイムストリームパケットが、ヘッダテーブル3において重要パケットとセットされているとする。すると、コントロールパケットやリアルタイムストリームパケットが受信された場合は、パケットパーサー13は無条件でホスト11に対してインタラプト通知を行うものとなる。
一方、テキストデータファイル、ウェブアクセスデータなどの、重要とはされていないパケットデータを受信した場合は、それらは一旦第2バッファ領域5bに蓄積され、それらの総データ量が設定値thを超えるまではインタラプト通知が待機される。そして総データ量が設定値thを超えた場合に、インタラプト通知の条件が満たされたとして、ステップF106のインタラプト通知が行われるものである。
【0045】
これにより、受信パケットが到着する度にホスト11へ通知する従来方式に比べ、ホスト11に対するインタラプトの集中がなくなり、またホスト11からRAM5への受信パケット読出のアクセス回数が減り、結果としてホスト11の処理負荷が軽減される。
また、重要パケット受信の割り込み通知と非重要パケット受信の割り込み通知が分けられることにより、あるパケットの受信中に送られてきた重要パケットの処理が待たされることが無くなり、待たされることによる遅延で引き起こされていたネットワーク負荷の増大に対する改善効果も得られる。
もちろん重要なコントロールパケットやリアルタイム性が要求されるパケットが優先的に受信処理するようホストへ通知されるため、重要パケットの受信処理の確実性が高まり、通信システムとして好適である。
また、ホスト11によるヘッダ解析処理の負担が無くなることも、ホスト11の処理負担低減に貢献する。
またこれらのことから、ホスト11のCPUとしても処理能力の高い高価なものを採用する必要もなく、装置のコストダウンに有効である。
【0046】
<第2の実施の形態>
第2の実施の形態を図4,図5で説明する。
図4は第2の実施の形態の場合のシステム構成を示している。なお、基本的な構成は図1と同一であるため、各部に同一符号を付し、重複説明を避ける。
この図4の場合、ホストシステム10側においては、コーデック14はホスト11とは別モジュールで構成されることを前提とし、さらに、パケットパーサー13はホスト11を介在させないで受信データをコーデック14に転送する機能(データ転送系回路)を備えるものとしている。
【0047】
パケットパーサー13の内部構成は上記図2と基本的に同様であるため新たに図示しないが、制御部1はコーデック14に対するデータ転送制御機能を備えるものとなる。
またヘッダ解析部4は、重要パケット、非重要パケットの判別以外に、リアルタイムストリームパケットであるか否かの判別も行うようにしている。
ホストシステム20側のコーデック24及びパケットパーサー23についても同様である。
【0048】
図5にパケットパーサー13のパケット受信時の処理を示す。
なお、上記図3と同一の処理ステップには同一のステップ番号を付し、詳しい説明を省略する。
この場合、パケット受信時には、ステップF101でパケットのヘッダ解析が行われ、ステップF102で重要パケット/非重要パケットの判別結果により処理が分岐される。そして非重要パケットと判別された場合は制御部1はステップF104,F105,F106として、上記図3で説明した場合と同様の処理を行うことになる。つまり第2バッファ領域5bに蓄積されるデータ量が設定値th以上となるまではインタラプト通知を待機し、設定値th以上となった時点でまとめてインタラプト通知を行う。
【0049】
ステップF102で重要パケットと判別された場合は、制御部1はさらにステップF108で、そのデータパケットがリアルタイムストリームパケットであるか否かにより、さらに処理を分岐する。リアルタイムストリームパケットであるか否かの情報は、ヘッダ解析部4からの判別情報として制御部1に供給される。リアルタイムストリームパケットではない場合、つまり例えばARP、RARP、ICMP、VLANといったコントロールパケットであった場合は、ステップF103に進み、図3の例と同様に、制御部1は無条件でホスト11に対するインタラプト通知を行う。
【0050】
一方、受信パケットがMPEGデータなどのリアルタイムストリームパケットであった場合は、制御部1の処理はステップF109に進み、コーデック14に対して受信パケットのデータ(第1バッファ領域5aにバッファリングしたデータ)を、転送する。
【0051】
つまりこの第2の実施の形態では、リアルタイムストリームパケットが受信された場合は、ホスト11に対するインタラプト通知は行われずに、パケットパーサー13から直接(ホスト11の介在無しに)コーデック14に受信データが転送されるものとなる。
これによって、受信パケット到着毎にホスト11へインタラプトがあがることがさらに減少され、また、それに伴ったホスト11からパケットパーサー13へのアクセスも無くなる為、ホスト11の処理負荷は上記第1の実施の形態に比べてさらに軽減される。
特に、MPEG動画データストリームなどのリアルタイムストリームデータがIPパケッタイズされたパケットを受信することは、大量のパケットを連続的に受信することになり、これに対するホスト11の処理負担は大きい。従ってリアルタイムストリームをについての処理をホスト11が行うことが不要となることは、ホスト11の処理負担低減に非常に有効である。
また、逆に言えば、ホスト11において実行中の他のタスクや他のパケット受信処理などがあっても、リアルタイムストリームパケットについて確実に受信処理できることになり、通信の確実性を向上させ、またこれはネットワーク負荷の低減も促進するものとなる。
【0052】
なお、図5の処理例では、ヘッダ解析部4は、リアルタイムストリームパケットが受信された場合は、それを重要パケットであり、かつリアルタイムストリームパケットであるとする判別結果情報を制御部1に送るようにし、これによって制御部1では図5のステップF102,F108として、重要パケットとされた中でリアルタイムストリームパケットであるか否かにより処理を分岐するものとした。しかしながら、ヘッダ解析部4での判別処理としては、リアルタイムストリームパケットを重要パケットとは区別して判別しても良い。その場合、制御部1ではステップF108の処理分岐を行ってから、ステップF102の処理分岐を行うようにすればよい。
【0053】
<第3の実施の形態>
第3の実施の形態を説明する。
第3の実施の形態の場合のシステム構成は図4と同様であり、つまりコーデック14はホスト11とは別モジュールで構成されること、及びパケットパーサー13はホスト11を介在させないで受信データをコーデック14に転送する機能(データ転送系回路)を備えるものである。
【0054】
パケットパーサー13の内部構成は上記図2と基本的に同様であり、また第2の実施の形態で説明したように制御部1はコーデック14に対するデータ転送制御機能を備えるものとなる。
但しヘッダ解析部4は、重要パケット、非重要パケットの判別を行わず、単に受信パケットがリアルタイムストリームパケットであるか否かの判別を行うようにしている。
またRAM5としては、特に第1バッファ領域5a、第2バッファ領域5bに分ける必要はなく、RAM5の全域が単純にバッファ領域として用いられる。
ホストシステム20側のコーデック24及びパケットパーサー23についても同様である。
【0055】
図6にパケットパーサー13のパケット受信時の処理を示す。
なお、上記図5と同一の処理ステップには同一のステップ番号を付し、詳しい説明を省略する。
この場合、パケット受信時には、ステップF101でパケットのヘッダ解析が行われるが、このときのヘッダ解析部4による解析によっては、受信パケットがリアルタイムストリームパケットであるか否かのみが判別される。従ってヘッダテーブル3にはリアルタイムストリームパケットを判別するためのみのヘッダ情報がセットされていればよい。
【0056】
そして制御部1はステップF108で、、ヘッダ解析部4からの判別情報によりリアルタイムストリームパケットであるか否かに基づいて処理を分岐する。
リアルタイムストリームパケットではない場合は、ステップF110に進み、制御部1はホスト11に対するインタラプト通知を行う。
一方、受信パケットがMPEGデータなどのリアルタイムストリームパケットであった場合は、制御部1の処理はステップF109に進み、コーデック14に対して受信パケットのデータ(RAM5にバッファリングしたデータ)を、転送する。
【0057】
つまりこの第3の実施の形態では、リアルタイムストリームパケットが受信された場合は、ホスト11に対するインタラプト通知は行われずに、パケットパーサー13から直接(ホスト11の介在無しに)コーデック14に受信データが転送されるものとなる。
リアルタイムストリームパケットでない場合は、上述してきた重要パケット/非重要パケットを区別せずに、ホスト11に対するインタラプト通知を行う。
【0058】
従って第3の実施の形態の場合、重要パケット/非重要パケットの判別に基づいたインタラプト制御による、第1,第2の実施の形態で得られた効果は得られないが、最も処理負担の大きいリアルタイムストリームパケットについてはホスト11は処理不要となり、その点で、従来方式に比べてホスト11の処理負荷は軽減される。また、それによってネットワーク負荷の低減も促進される。
【0059】
<変形例>
以上、本発明の実施の形態を説明したが、本発明はこれに限定されるものではなく、各種の変形例が考えられ、以下、例を説明する。
【0060】
本発明は例えばワイヤードLANのみに適用されるものでなく、伝送路(通信メディア)をワイヤレスとしたワイヤレスLANにも適用できる。もちろんいわゆるLANと呼ばれている通信システムのみならず、多様な通信システムに適用できる。
また、実施の形態の説明では、2つのホストシステム10、20をモデルにしたが、実際には接続されるホストシステムがより多数になり得ることはいうまでもない。またホストシステムとしてはパーソナルコンピュータ等の形態に限らず、より大型の情報処理装置、或いはPDAその他の小型情報処理装置、或いは通信機能を備えたオーディオ・ビデオ機器、携帯型或いは据え置き型の電話機、家電機器等、各種機器が考えられる。
【0061】
また、図2の構成例においてヘッダテーブル3に格納されるヘッダ情報は、アプリケーションに応じて変更することができ、様々なアプリケーションへの適用も可能である。
即ち、重要パケットとするのは、コントロールパケットやリアルタイムストリームパケットに限らず、そのホストシステムに搭載されたアプリケーションに応じて適宜変更することが可能である。これにより、ホスト11にプロトコル処理をさせた場合の優位点である様々なプロトコルに対応可能となる汎用性といった観点から見ても、それと同等の拡張性を持たせることができる。
【0062】
また、特に第1の実施の形態の場合、リアルタイムストリームパケットについては、非重要パケットとすることも考えられる。ホストシステム(或いはアプリケーション)がリアルタイムストリームパケットのリアルタイム処理を重要視する装置である場合、リアルタイムストリームパケットを重要パケットとすることが適切であるが、特にリアルタイムストリームに関する処理を重要視しないホストシステム(或いはアプリケーション)の場合、リアルタイムストリームパケットを非重要パケットとすることで、ホスト11の処理負担軽減に好適である。
【0063】
また上記例では、ヘッダテーブル3に重要パケットのヘッダ情報をセットするとしたが、非重要パケットとすべきパケットのヘッダ情報をセットしても良い。或いは重要パケットのヘッダと非重要パケットのヘッダの両方を区別してセットしてもよい。
いずれにしても、第1,第2の実施の形態の場合では、重要パケット/非重要パケットが判別できるようにする情報がセットされ、第2,第3の実施の形態の場合は、リアルタイムストリームパケットであるか否かを判別できるようにするヘッダ情報がセットされればよい。
【0064】
第1,第2の実施の形態においては、非重要パケットに関するインタラプト通知の条件を、蓄積データ量が設定値thを超えることとしたが、この条件設定は多様に考えられる。
例えば第2バッファ領域5bに蓄積する各パケットデータについて、それぞれ受信時からの時間経過を管理し、一定の待機時間を経過するたびに、他に重要パケットの受信があるか否かを判別して、なければインタラプト通知を行い、重要パケット受信があれば更に一定時間待機するなどの例も考えられる。
また、受信からの経過時間が或る時間値を超えて長くなってしまったパケットについては、その時点でインタラプト通知を行うようにすることも考えられる。
【0065】
また設定値thを、データ量ではなく、パケット数としてもよい。即ち非重要パケットについては、設定値thとしてのパケット数が蓄積された時点でインタラプト通知を行うようにする例である。
また、パケット数、或いはデータ量としての設定値と、受信からの経過時間の両方を考慮して非重要パケットのインタラプトの発行処理を行うようにしても良い。
【0066】
第1,第2の実施の形態では、RAM5を第1バッファ領域5a/第2バッファ領域5bに分けたが、このような領域分けでなく、2つのメモリチップにより第1バッファ、第2バッファを設定しても良い。
さらに、これらのようなバッファ分割をせずに、アドレス管理などの手法で非重要パケットを管理しても良い。つまりRAM5内で重要パケットが記憶されたアドレスと、インタラプトの待機中である非重要パケットが記憶されたアドレスを制御部1で管理しておけば、RAM5内でのデータ移送を不要とできる。
【0067】
また、パケットパーサー13ではヘッダ解析を行うものであるため、その解析情報をホスト11に送信するようにして良い。例えば重要パケットのインタラプト通知の際に、受信パケットがARPであるのかRARPあるのか、さらにはICMPかVLANか等のヘッダ解析結果までもホスト11へ詳細に通知することで、更にホスト11の処理負荷を軽減することも可能である。
【0068】
【発明の効果】
以上の説明から理解されるように本発明によれば、例えばホストシステムにおいてネットワークインターフェースカードとホスト(処理手段)との間において、上記パケットパーサーとしての機能(判別手段及び制御手段、第一のステップと第二のステップ)が設けられる。そして本発明の通信装置(又は通信方法)では、受信したパケットのヘッダ解析を行って、そのパケットのプロトコルを判別し、判別した結果が重要パケットの場合、無条件で、つまり優先的に受信処理が行われるようにホスト(処理手段)へ受信通知(インタラプト)する。
そしてこれにより、受信集中時であってもホスト(処理手段)への割込処理が減少することや、ホスト(処理手段)はヘッダ処理を行なう必要が無くなり、従ってコントロールパケットやリアルタイムストリームなど優先処理を必要とするパケットを処理優先度の低いパケットに埋もれさせること無く確実に受信処理を行なうことができるという効果がある。
そしてこの効果は、ホスト(処理手段)の処理負荷の低減や、ネットワーク負荷の低減といった効果ももたらすことになる。
また従って、ホスト(処理手段)として処理速度の速い高価なCPUを用いる必要はなくなり、装置のコストアップも生じさせない。
【0069】
また、非重要パケットと判別されたパケットについては、非重要パケットとされたデータのデータ量が設定値以上となった際に、ホストに受信通知するようにすれば適切に対応できる。
また、重要パケット又は非重要パケットのヘッダ情報を記憶したテーブル情報を備え、受信したデータパケットのヘッダ情報を、上記テーブル情報に照合して、重要パケットと非重要パケットの判別を行うことで、パケット判別処理が容易であるとともに、テーブル情報の設定により、重要パケット/非重要パケットをフレキシブルに設定できる。従ってホストシステムの用途、動作環境、性能その他の事情に応じて重要パケットを設定し、最適な通信環境を構築することもできる。
【0070】
また、受信したパケットがリアルタイムストリームパケットの場合は、ホスト(処理手段/第一の処理手段)を介さないでリアルタイムストリームパケットに対応する第二の処理手段に転送するようにすることで、ホストではリアルタイムストリームパケットに関する処理は不要となり、ホストの処理負担のさらなる低減を実現できる。もちろんこれはネットワーク負荷の低減効果も促進する。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の通信システムのブロック図である。
【図2】実施の形態のパケットパーサーの構成のブロック図である。
【図3】第1の実施の形態のパケット受信処理のフローチャートである。
【図4】第2の実施の形態の通信システムのブロック図である。
【図5】第2の実施の形態のパケット受信処理のフローチャートである。
【図6】第3の実施の形態のパケット受信処理のフローチャートである。
【図7】従来の通信システムのブロック図である。
【図8】従来の通信システムにおけるネットワーク負荷増大の説明図である。
【図9】従来の通信装置の説明図である。
【符号の説明】
1 制御部、2 設定値レジスタ、3 ヘッダテーブル、4、ヘッダ解析部、5 RAM、5a 第1バッファ、5b 第2バッファ、10,20 ホストシステム、11,21 ホスト、12,22 ネットワークインターフェースカード、13,23 パケットパーサー、14,24 コーデック
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a communication device and a communication method for network communication such as a local area network.
[0002]
[Prior art]
Conventionally, when a host communicates with a local area network (LAN) to perform each protocol processing, a conventional method is performed in which a network interface card, a corresponding device driver, and a protocol stack mounted on the host are involved. Was taken.
In this system, the network interface card and the device driver only transmit a packet to the LAN transmission line or receive a packet from the LAN transmission line. In other words, the generation of the transmission packet, the analysis of the reception packet, and the associated protocol processing are all performed by the host.
[0003]
FIG. 7 shows an example of a host system connected to a LAN.
In FIG. 7, it is assumed that, for example, the transfer of, for example, MPEG-based compressed moving image data is performed between two host systems 30, 40 using Ethernet (registered trademark) as a data transfer medium.
The hosts 31 and 41 in FIG. 7 are main information processing units including hardware such as a CPU and a RAM, and include application software started by the CPU and programs for various protocol processes. The host systems 30 and 40 refer to computer systems including the hosts 31 and 41 and the network interface cards 32 and 42.
[0004]
A case where MPEG data is transmitted from the host system 40 to the host system 30 will be considered. In this case, first, the host system 40 performs processing of each layer for real-time stream transfer by the CPU and software of the host 41 on data encoded by the installed software codec or hardware codec by MPEG. For example, packet processing and header processing of each protocol of RTP (Real Time Transport Protocol) / UDP (User Datagram Protocol) / IP (Internet Protocol) / MAC (Media Access Control) are performed.
Thereafter, the host 41 transfers the processed packet to the network interface card 42, and the network interface card 42 transmits the packet to the host system 30 via the transmission path 100.
[0005]
The host system 30 makes the host 31 sense that a packet has been received by an interrupt (interrupt request as a reception notification) from the mounted network interface card 32. Then, the host 31 reads the received packet stored in the buffer in the network interface card 32. The interrupt to the host 31 is generated every time a received packet arrives.
The host 31 analyzes the header read of the packet read from the network interface card 32 by the protocol processing software and the host CPU, processes the MAC protocol / IP / UDP / RTP, and then transfers it to a codec implemented by software or hardware. , MPEG video data.
[0006]
The following are known technologies applicable to such LAN communication.
[0007]
[Patent Document 1] JP-A-7-95260
[0008]
In Patent Literature 1, the data processing load on the CPU is reduced by the communication control device 101 that performs the processing of FIG. 9B with the configuration of FIG. 9A.
In this case, the communication control device 101 is connected to the application program 107 and the packet processing routine 109 via the communication interface 105.
The data received by the transmission / reception processing unit 111 is stored in the shared buffer 113 (Step S1). Here, the switching control unit 115 detects the packet type (step S2), and distributes the data to the protocol processing units 117a to 117c or the packet processing routine 109 accordingly (steps S3, S4, S5).
[0009]
[Problems to be solved by the invention]
Here, the communication between the host systems 30 and 40 described with reference to FIG. 7 is first considered. In this case, since the hosts 31 and 41 are in charge of the protocol processing, the host 31 and 41 are excellent in versatility that can easily cope with various protocols, but the processing load on the host increases as the host tries to cope with various protocols. In addition, a higher performance host CPU is required, which leads to an increase in the cost of the apparatus.
[0010]
For example, in the host system 30, an interrupt from the network interface card 32 to the host 31 occurs every time a received packet arrives. Therefore, a large number of packets are transmitted from the host system 40 or another host system connected to the LAN. In the case of receiving the packet obtained by IP packetizing the above-described MPEG stream, a very large number of packets are continuously received, and the interrupt (interruption processing) to the host 31 frequently occurs in a short time. Will be done. At the same time, depending on the implementation, it is necessary for the host 31 to access the network interface card 32 and read out the packet each time the packet reception interrupt process is performed.
The host 31 also analyzes the header of the packet read from the network interface card 32, performs necessary protocol processing, and performs processing for transferring the packet to an application program or a codec. The host 31 also needs to perform application programs and codecs (when the codec is executed by software by the host CPU).
[0011]
Therefore, when a data packet having a very high bit rate of the real-time stream is received, or when a large number of packets are received even if the data stream is not a real-time stream, the host CPU is frequently interrupted. Causes a problem that other tasks cannot be executed.
The host 30 performs a wide range of protocol processing from the second layer to the seventh layer in the OSI reference model, that is, the data link layer, the network layer, the transport layer, the session layer, the presentation layer, and the application layer. This also increases the processing load on the host.
In order to solve these problems, a high-performance and expensive CPU is required, which causes a problem such as an increase in the cost of the apparatus.
[0012]
Such an increase in the processing load on the host 30 not only increases the cost of the device but also increases the network load.
It is assumed that the model of FIG. 7 is extended and three host systems 30, 40, and 50 are connected by LAN as shown in FIG. The host system 50 includes a host 51 and a network interface card 52 similarly to the host systems 30 and 40.
[0013]
Now, it is assumed that the host system 30 is receiving a relatively large amount of packets from the host system 40 as shown as the communication DF1.
At this time, if a file transfer application is executed from the host system 50 to the host system 30, the host system 50 first makes an ARP (Address Resolution Protocol) request to obtain the MAC address of the host system 30 (communication DF2). However, the host system 30 cannot respond to the ARP request from the host system 50 until the protocol processing for the packets already received from the host system 40 is completed.
[0014]
For this reason, the host system 50 that cannot obtain an ARP response may end up having to time out the application.
This means that the communication request from the host system 50 is rejected for the host system 30 communicating with the host system 40, and the host system 50 sends a retransmission request to the Redundant packets are generated, causing an increase in network load.
However, since the retransmission processing is assumed to be a normal processing on the Ethernet network, the retransmission processing itself is not a problem. The problem is that the increase in network load is proportional to the number of host systems that communicate.
In a normal LAN system, the number of communicating hosts is not limited to three as in the model of FIG. 8, but it is generally assumed that a larger number of host systems are connected to the LAN. Therefore, it can be easily imagined that the network load due to the retransmission processing is considerably increased.
[0015]
Still another problem is that control packet reception processing, such as the above-mentioned ARP or RARP (Reverse Address Resolution Protocol), which is necessary for communication, is suspended by other packet processing during reception, and processing cannot be performed. .
Although the above-described example is the RTP / UDP / IP / MAC protocol processing of the MPEG stream, the same problem arises when TCP processing such as file transfer or remote login is required.
[0016]
As described above, in the conventional communication method, in particular, in the reception processing of the host, the problem that the task and the arithmetic processing other than the reception processing cannot be executed due to an increase in the processing load of the host, or the processing other than the reception processing is delayed There is a problem that the retransmission process occurs due to the important packet not being processed preferentially, and the network load increases. Further, if a method of increasing the speed of the host CPU is adopted to solve these problems, there is a problem that the cost of the apparatus is increased.
[0017]
Further, in the technology described in Patent Document 1, reduction of the CPU processing load is realized, but in this technology, the CPU performs the processing of the application program 107 and the packet processing routine 109, and the protocol processing is performed by communication. It is assumed that the operation is performed on the control device 101 side.
In other words, this is different from a system in which the host CPU takes charge of the protocol processing in order to expand versatility, and the above problem in a system in which the host CPU takes charge of the protocol processing is not naturally solved. In particular, this is not for reducing the processing load on the CPU including the protocol processing when the packet reception is concentrated.
[0018]
[Means for Solving the Problems]
The present invention has been made in consideration of the above problems, and has as its object to reduce, for example, a processing load on a host system and a network load in a communication processing method on a LAN.
[0019]
For this reason, the communication device of the present invention is a communication device having processing means for executing data processing according to a predetermined protocol on a received data packet by receiving a reception notification. Discriminating means for discriminating whether the received data packet is an important packet or a non-significant packet according to the included information, and if the discriminating means discriminates the packet as important, the processing means is unconditionally And a control unit that issues the reception notification to the processing unit after a predetermined condition is satisfied when the determination unit determines that the packet is the insignificant packet.
In this case, the predetermined condition is that the amount of data determined as the non-important packet is equal to or larger than a set value.
Further, the discriminating means includes table information storing header information of the important packet or the non-important packet, and compares the header information of the received data packet with the table information so that the important packet and the non-important packet are compared. An important packet is determined.
The apparatus further includes a second processing unit that performs data processing on the real-time stream packet, wherein the determining unit further determines whether the received data packet is a real-time stream packet, and the control unit determines whether the received data packet is a real-time stream packet. If the data packet is determined to be the real-time stream packet, the received data packet is transferred to the second processing means without issuing the reception notification.
[0020]
Further, the communication device of the present invention, by receiving the reception notification, performs first processing means for performing data processing on the received data packet in accordance with the first protocol, and On the other hand, a communication device having second processing means for executing data processing according to a second protocol. And determining means for determining whether or not the received data packet is a real-time stream packet according to information included in the data packet; and determining that the received data packet is not a real-time stream packet. Issue a reception notification to the first processing means, and when the discrimination means determines that the packet is a real-time stream packet, without issuing a reception notification to the first processing means, Control means for transferring the packet to the second processing means.
[0021]
The communication method of the present invention is a communication method for receiving a data packet and executing data processing according to a predetermined protocol on the received data packet, and according to information included in the data packet, A first step of determining whether the received data packet is an important packet or a non-important packet; and, if the received data packet is determined to be the non-important packet in the first step, after the predetermined condition is satisfied, the A second step of executing data processing of the data packet determined to be an important packet.
In this case, the predetermined condition is that the amount of data determined as the non-important packet is equal to or larger than a set value.
[0022]
That is, in the present invention, for example, in the host system, between the network interface card and the host (processing means), the judging means and the control means having the above configuration are provided. Alternatively, the communication method is executed as reception processing to be passed to the host processing.
In the communication device (or communication method), for example, the header of a received packet is analyzed, the protocol of the packet is determined, and the determined result is an important packet (for example, a control packet or a packet requiring real-time performance). In the case of, the host is notified to perform reception processing with higher priority.
As a result, the host (processing means) does not need to perform header processing, and can perform reception processing without burying packets requiring priority processing in packets with low processing priority.
Furthermore, especially when the received packet is a real-time stream packet, the packet is transferred to the second processing means corresponding to the real-time stream packet without passing through the host (processing means / first processing means).
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, as the embodiments of the present invention, first to third embodiments of communication control when a plurality of host systems are enabled to perform LAN communication will be described.
[0024]
<First embodiment>
The first embodiment will be described with reference to FIGS.
In FIG. 1, two host systems 10 and 20 are illustrated, and communication of various data packets is performed between the host systems 10 and 20 using Ethernet (registered trademark) as a data transfer medium.
The data packets to be communicated include texts, images, control commands, and the like as various files processed by the operation of the application programs in the host systems 10 and 20, and ARP, RARP, and ICMP (Internet Control) by communication protocol processing. For example, a control packet such as Message Protocol, and a real-time stream packet such as MPEG-based compressed moving image data are assumed.
[0025]
The hosts 11 and 21 in FIG. 1 are main information processing units including hardware such as a CPU and a RAM, and include application software started by the CPU and programs for various protocol processes. The hosts 11 and 21 function as a packet data transmission processing unit and a reception processing unit as described above with respect to LAN communication.
The host systems 10 and 20 refer to computer systems including the hosts 11 and 21 and the network interface cards 12 and 22.
[0026]
In the host system 10, a packet parser 13 is provided so as to be interposed between the host 11 and the network interface card 12. The packet parser 13 corresponds to a determination unit and a control unit of the communication device according to the present invention.
The same applies to the packet parser 23 in the host system 20.
[0027]
The codec 14 is a unit that performs packet processing (packet encoding / decoding) of real-time stream data such as MPEG moving image data, and is mounted on, for example, an apparatus including the host system 10 as a module separate from the host 11. However, an example in which the codec 14 is installed as software in the host 11 is also conceivable.
The same applies to the codec 24.
[0028]
Such communication between the host systems 10 and 20 is performed as follows.
Now, assume that a packet transmission DF is performed from the host system 20 to the host system 10.
On the host system 20 side, the host 21 generates a packet or generates a packet of an MPEG real-time stream by the codec 24. At this time, the host 21 also performs packetizing processing and header processing of each protocol such as UDP / IP / MAC.
Thereafter, the host 41 transfers the processed packet to the network interface card 42 by bypassing the packet parser 23, and the network interface card 42 transmits the packet to the host system 30 via the transmission line 100. That is, the transmission processing is the same as the conventional method described with reference to FIG.
[0029]
On the other hand, in the host system 10 on the receiving side, a data packet received from the transmission line 100 by the installed network interface card 12 is first passed to the packet parser 13.
Although the processing of the packet parser 13 will be described in detail later, header analysis and protocol determination are performed on the received data packet, and as a result, important packets and non-important packets are determined. Then, based on the packet determination result, an interrupt (reception notification interrupt request) for the packet received at a predetermined time is issued to the host 11.
The host 11 reads a data packet from the packet parser 13 according to the interrupt.
The host 11 processes the MAC protocol / IP / UDP / RTP for the packet read from the packet parser 13 by the protocol processing software and the host CPU, and then executes a predetermined application (if the packet is a real-time stream packet, the codec 14 ).
[0030]
Here, the packet parser 13 discriminates the important packet and the non-important packet as described above, and notifies the host 11 of the interrupt at different timings. This prevents the processing load on the CPU of the host 11 from becoming excessive even when packet reception is concentrated.
FIG. 2 shows a configuration example of the packet parser 13 for this purpose.
[0031]
The packet parser 13 includes a control unit 1, a setting value register 2, a header table 3, a header analysis unit 4, and a RAM 5, as shown in FIG.
The control unit 1 and the header analysis unit 4 can be formed as dedicated hardware, or can be realized by software in a general-purpose processor. The setting value register 2, the header table 3, and the RAM 5 are formed by memory elements and registers.
[0032]
The control unit 1 performs interrupt issuance to the host 11, management / access control of the RAM 5, control of transfer of packet data to the host 11, and the like. That is, at the time of packet reception, write control for buffering in the RAM 5 (RAM pointer control), interrupt issuing processing based on information from the header analysis unit 5 and information in the setting value register 2, and a transfer request from the host 11 are received. If there is, read and transfer of packet data from the RAM A5 are performed.
[0033]
The set value register 2 stores a certain set value th by processing from the host 11, for example. The set value th is used as a condition for issuing an interrupt relating to an unimportant packet described later.
The header table 3 stores, for example, header information of a packet to be regarded as an important packet by processing from the host 11 or the like. For example, a header for identifying a protocol to be received and processed with higher priority, such as ARP, RARP, ICMP, and VLAN, is stored.
[0034]
The RAM 5 is used as a reception buffer, that is, the reception packet data transferred from the network interface card 12 is buffered.
In this case, in the RAM 5, addresses 0 to N are set as the first buffer area 5 a and addresses N + 1 to M are set as the second buffer area 5 b by, for example, area division setting, and are managed by the control unit 1.
Then, the packet data transferred from the network interface card 12 is written in the first buffer area 5a.
The second buffer area 5b is an area for storing a non-important packet that waits for an interrupt to be issued until a predetermined condition is satisfied.
[0035]
The header analysis unit 4 analyzes the header of the data packet received and stored in the first buffer of the RAM 5 to determine whether the data packet is an important packet or a non-important packet. Specifically, the header of the received data packet is compared with the header of an important protocol such as ARP stored in the header table 3 to determine whether or not the header is applicable. If the packet corresponds to the header of the important packet stored in the header table 3, the packet is regarded as an important packet. Otherwise, it is a non-important packet. Information on the determined important packet / insignificant packet is supplied to the control unit 1.
[0036]
The process at the time of packet reception by the packet parser 13 will be described with reference to FIG.
When the packet data transmitted via the transmission path 100 is received by the network interface card 12 and transferred to the packet parser 13, the control unit 1 stores the packet data in the first buffer area 5a of the RAM 5. Control. For example, the control unit 1 performs write control while circulating the write pointer for the first buffer area 5a in the range of addresses 0 to N. As a result, the addresses 0 to N as the first buffer area 5a are used in the ring buffer format, and the data of the received packet is buffered to each address.
Although not shown in FIG. 3, this process is executed in response to the packet reception.
[0037]
When the packet data is buffered with the reception of the packet, first, in step F101 in FIG. 3, the header analysis unit 4 analyzes the header of the captured packet data, and refers to the information in the header table 3 as described above. It is determined whether the packet data is an important packet.
This determination result information is passed to the control unit 1, and the control unit 1 branches the process in step F102 according to the determination result information.
That is, if the packet is an important packet, the process proceeds to step F103, and an interrupt notification to the host 11 accompanying the packet reception is executed unconditionally.
Then, the process proceeds to step F107.
[0038]
On the other hand, if the packet is an insignificant packet, the process proceeds to step F104, where the received packet data, that is, the data stored in the first buffer area 5a, is transferred to the second buffer area 5b to wait for an interrupt.
The control unit 1 also performs write control on the second buffer area 5b while circulating the write pointer in the range of addresses N + 1 to M, and the addresses N + 1 to M as the second buffer area 5b are in a ring buffer format. To be used.
[0039]
Then, in step F105, it is confirmed whether or not the amount of packet data stored in the second buffer area 5b has exceeded the set value th stored in the set value register 2. If not, the process proceeds directly to step F107. That is, no interrupt is issued at this time.
[0040]
For the determination in step F105, the control unit 1 only needs to provide an internal counter and count the amount of data stored in the second buffer area 5b. For example, when data is moved to the second buffer area 5b in step F104, a value corresponding to the data amount is counted up.
Then, in step F105, a process of comparing the data amount counted at that time with the set value th may be performed.
[0041]
At some point, when the process proceeds to step F105, if it is determined that the amount of packet data stored in the second buffer area 5b has exceeded the set value th stored in the set value register 2, the process proceeds to step F106. Then, an interrupt notification is sent to the host 11. Then, the process proceeds to step F107.
In this case, since the interrupt notification is performed for the packet data accumulated in the second buffer area 5b, that is, the data to be counted, the counter is reset.
[0042]
In step F107, the existence of the next received packet is confirmed, and if there is, the flow returns to step F101 to perform the same processing. If the packet does not exist, the processing of FIG. 3 is terminated, and the next packet reception is awaited.
[0043]
If an interrupt notification is made in step F103 or F106, a transfer request for packet data is sent from the host 11 at a later point in time. In that case, the control unit 1 performs control to read the requested packet from the RAM 5 and transfer it to the host 11.
[0044]
The following operation is realized in this example by the processing of FIG.
For example, it is assumed that control packets important for communication processing, such as ARP, RARP, ICMP, and VLAN, and real-time stream packets such as MPEG data are set as important packets in the header table 3. Then, when a control packet or a real-time stream packet is received, the packet parser 13 unconditionally notifies the host 11 of an interrupt.
On the other hand, when packet data that is not regarded as important, such as a text data file or web access data, is received, they are temporarily stored in the second buffer area 5b until the total data amount exceeds the set value th. Waits for an interrupt notification. When the total data amount exceeds the set value th, it is determined that the interrupt notification condition is satisfied, and an interrupt notification in step F106 is performed.
[0045]
As a result, the concentration of interrupts on the host 11 is reduced and the number of accesses to read the received packet from the host 11 to the RAM 5 is reduced as compared with the conventional method of notifying the host 11 every time a received packet arrives. The processing load is reduced.
Also, by separating the interrupt notification of the important packet reception and the interrupt notification of the non-important packet reception, the processing of the important packet sent during the reception of a certain packet does not have to be waited, and is caused by the delay caused by the wait. Also, an improvement effect against the increase in the network load, which has been performed, can be obtained.
Of course, an important control packet or a packet requiring real-time processing is notified to the host so as to preferentially perform reception processing, so that the reliability of the reception processing of the important packet is increased, which is suitable for a communication system.
Eliminating the load of the header analysis processing by the host 11 also contributes to reducing the processing load on the host 11.
For these reasons, it is not necessary to employ an expensive CPU having a high processing capability as the CPU of the host 11, which is effective in reducing the cost of the apparatus.
[0046]
<Second embodiment>
A second embodiment will be described with reference to FIGS.
FIG. 4 shows a system configuration in the case of the second embodiment. Since the basic configuration is the same as that of FIG. 1, the same reference numerals are given to the respective portions, and the duplicate description will be avoided.
In the case of FIG. 4, on the host system 10 side, it is assumed that the codec 14 is configured as a separate module from the host 11, and the packet parser 13 transfers the received data to the codec 14 without the host 11 intervening. (Data transfer system circuit).
[0047]
The internal configuration of the packet parser 13 is basically the same as that of FIG. 2 and is not shown again, but the control unit 1 has a data transfer control function for the codec 14.
The header analysis unit 4 also determines whether or not the packet is a real-time stream packet in addition to the determination of an important packet or an unimportant packet.
The same applies to the codec 24 and the packet parser 23 on the host system 20 side.
[0048]
FIG. 5 shows a process performed by the packet parser 13 when receiving a packet.
Note that the same processing steps as those in FIG. 3 are given the same step numbers, and detailed descriptions thereof will be omitted.
In this case, at the time of packet reception, the header analysis of the packet is performed in step F101, and the process is branched in step F102 based on the result of discriminating the important packet / insignificant packet. If it is determined that the packet is an insignificant packet, the control unit 1 performs the same processing as that described with reference to FIG. 3 as steps F104, F105, and F106. That is, until the amount of data accumulated in the second buffer area 5b becomes equal to or larger than the set value th, the interrupt notification is waited, and when the data amount becomes equal to or larger than the set value th, the interrupt notification is collectively performed.
[0049]
If it is determined in step F102 that the packet is an important packet, the control unit 1 further branches the process in step F108 depending on whether or not the data packet is a real-time stream packet. Information on whether or not the packet is a real-time stream packet is supplied to the control unit 1 as discrimination information from the header analysis unit 4. If the packet is not a real-time stream packet, that is, if it is a control packet such as ARP, RARP, ICMP, or VLAN, the process proceeds to step F103, and the control unit 1 unconditionally notifies the host 11 of the interrupt notification as in the example of FIG. I do.
[0050]
On the other hand, if the received packet is a real-time stream packet such as MPEG data, the process of the control unit 1 proceeds to step F109, where the data of the received packet is transmitted to the codec 14 (the data buffered in the first buffer area 5a). To transfer.
[0051]
In other words, in the second embodiment, when a real-time stream packet is received, the received data is transferred from the packet parser 13 directly (without the intervention of the host 11) to the codec 14 without the interrupt notification to the host 11. Will be done.
As a result, it is possible to further reduce an interruption to the host 11 every time a received packet arrives, and to eliminate the access from the host 11 to the packet parser 13 associated therewith. Therefore, the processing load of the host 11 is reduced according to the first embodiment. It is further reduced compared to the form.
In particular, receiving a packet in which real-time stream data such as an MPEG moving image data stream is IP-packetized means that a large amount of packets are continuously received, and the processing load on the host 11 for this is large. Therefore, the fact that the host 11 does not need to perform the processing for the real-time stream is very effective in reducing the processing load on the host 11.
Conversely, even if there is another task being executed in the host 11 or other packet reception processing, the reception processing can be reliably performed on the real-time stream packet, and the reliability of communication can be improved. Will also help reduce network load.
[0052]
In the processing example of FIG. 5, when a real-time stream packet is received, the header analysis unit 4 sends to the control unit 1 the determination result information indicating that the packet is an important packet and a real-time stream packet. As a result, the control unit 1 branches the process depending on whether or not the packet is a real-time stream packet among the important packets in steps F102 and F108 in FIG. However, the discrimination process in the header analysis unit 4 may discriminate the real-time stream packet from the important packet. In that case, the control unit 1 may perform the processing branch of step F108 and then perform the processing branch of step F102.
[0053]
<Third embodiment>
A third embodiment will be described.
The system configuration in the case of the third embodiment is the same as that of FIG. 4, that is, the codec 14 is constituted by a module different from the host 11, and the packet parser 13 converts the received data to the codec without the host 11. 14 (data transfer circuit).
[0054]
The internal configuration of the packet parser 13 is basically the same as that of FIG. 2 described above, and the control unit 1 has a data transfer control function for the codec 14 as described in the second embodiment.
However, the header analysis unit 4 does not discriminate between important packets and non-significant packets, but simply judges whether or not a received packet is a real-time stream packet.
The RAM 5 does not need to be divided into the first buffer area 5a and the second buffer area 5b, and the entire area of the RAM 5 is simply used as the buffer area.
The same applies to the codec 24 and the packet parser 23 on the host system 20 side.
[0055]
FIG. 6 shows a process performed by the packet parser 13 when receiving a packet.
Note that the same processing steps as those in FIG. 5 are denoted by the same step numbers, and detailed description will be omitted.
In this case, at the time of packet reception, the header of the packet is analyzed in step F101. At this time, depending on the analysis by the header analysis unit 4, it is determined only whether the received packet is a real-time stream packet. Therefore, the header table 3 only needs to set the header information only for determining the real-time stream packet.
[0056]
Then, in step F108, the control unit 1 branches the processing based on the determination information from the header analysis unit 4 based on whether or not the packet is a real-time stream packet.
If the packet is not a real-time stream packet, the process proceeds to step F110, and the control unit 1 performs an interrupt notification to the host 11.
On the other hand, if the received packet is a real-time stream packet such as MPEG data, the process of the control unit 1 proceeds to step F109, and transfers the data of the received packet (data buffered in the RAM 5) to the codec 14. .
[0057]
That is, in the third embodiment, when a real-time stream packet is received, the received data is directly transferred from the packet parser 13 to the codec 14 (without the intervention of the host 11) without performing an interrupt notification to the host 11. Will be done.
If the packet is not a real-time stream packet, an interrupt notification is sent to the host 11 without distinguishing the important packet / insignificant packet described above.
[0058]
Therefore, in the case of the third embodiment, the effect obtained in the first and second embodiments by the interrupt control based on the discrimination between the important packet and the non-important packet cannot be obtained, but the processing load is the largest. The host 11 does not need to process the real-time stream packet, and in that respect, the processing load on the host 11 is reduced as compared with the conventional method. It also facilitates a reduction in network load.
[0059]
<Modification>
Although the embodiment of the present invention has been described above, the present invention is not limited to this, and various modifications can be considered. Hereinafter, an example will be described.
[0060]
The present invention can be applied not only to a wired LAN, for example, but also to a wireless LAN using a wireless transmission path (communication medium). Of course, the present invention can be applied not only to a communication system called a LAN, but also to various communication systems.
In the description of the embodiment, the two host systems 10 and 20 are used as models. However, it goes without saying that the number of host systems to be connected can actually be larger. The host system is not limited to a personal computer or the like, but may be a larger information processing device, a PDA or other small information processing device, an audio / video device having a communication function, a portable or stationary telephone, a home appliance. Various devices such as devices can be considered.
[0061]
Further, the header information stored in the header table 3 in the configuration example of FIG. 2 can be changed according to the application, and can be applied to various applications.
That is, the important packet is not limited to the control packet or the real-time stream packet, and can be appropriately changed according to the application installed in the host system. This makes it possible to provide the same expandability from the viewpoint of versatility that enables the host 11 to handle various protocols, which is an advantage when protocol processing is performed by the host 11.
[0062]
In particular, in the case of the first embodiment, the real-time stream packet may be a non-important packet. When the host system (or the application) is a device that attaches importance to the real-time processing of the real-time stream packet, it is appropriate to make the real-time stream packet an important packet. In the case of (application), by making the real-time stream packet an unimportant packet, it is suitable for reducing the processing load on the host 11.
[0063]
Further, in the above example, the header information of the important packet is set in the header table 3, but the header information of the packet to be regarded as the non-important packet may be set. Alternatively, both the header of the important packet and the header of the non-important packet may be set separately.
In any case, in the first and second embodiments, information for enabling discrimination between an important packet and a non-important packet is set. In the second and third embodiments, a real-time stream is set. What is necessary is just to set the header information which enables to determine whether the packet is a packet or not.
[0064]
In the first and second embodiments, the condition of the interrupt notification regarding the unimportant packet is such that the accumulated data amount exceeds the set value th. However, the condition setting may be variously considered.
For example, for each packet data stored in the second buffer area 5b, the time lapse from the time of reception is managed, and every time a predetermined standby time elapses, it is determined whether or not another important packet is received. If not, an interrupt notification is performed, and if an important packet is received, the apparatus waits for a further fixed time.
Also, for a packet whose elapsed time from reception exceeds a certain time value, an interrupt notification may be made at that time.
[0065]
The set value th may be the number of packets instead of the data amount. In other words, in this example, an interrupt notification is issued for a non-important packet when the number of packets as the set value th is accumulated.
In addition, the process of issuing an interrupt of an insignificant packet may be performed in consideration of both the number of packets or the set value as the data amount and the elapsed time from reception.
[0066]
In the first and second embodiments, the RAM 5 is divided into the first buffer area 5a and the second buffer area 5b. However, the first buffer and the second buffer are not divided by such area but by two memory chips. May be set.
In addition, non-important packets may be managed by a method such as address management without performing such buffer division. That is, if the address where the important packet is stored in the RAM 5 and the address where the non-important packet waiting for the interrupt is stored are managed by the control unit 1, the data transfer in the RAM 5 can be made unnecessary.
[0067]
Since the packet parser 13 performs header analysis, the analysis information may be transmitted to the host 11. For example, when notifying an interrupt of an important packet, by notifying the host 11 in detail whether the received packet is ARP or RARP, or even a header analysis result such as ICMP or VLAN, the processing load on the host 11 is further increased. Can also be reduced.
[0068]
【The invention's effect】
As can be understood from the above description, according to the present invention, for example, the function as the packet parser (determination means and control means, first step) between the network interface card and the host (processing means) in the host system And a second step). The communication device (or communication method) of the present invention analyzes the header of the received packet, determines the protocol of the packet, and if the determined result is an important packet, unconditionally, ie, preferentially performs the reception process. (Interrupt) to the host (processing means) so that the operation is performed.
As a result, the number of interrupts to the host (processing means) is reduced even when reception is concentrated, and the host (processing means) does not need to perform header processing. Thus, there is an effect that the receiving process can be surely performed without burying a packet that requires the processing in a packet with a low processing priority.
This effect also brings about effects such as a reduction in the processing load on the host (processing means) and a reduction in the network load.
Therefore, it is not necessary to use an expensive CPU having a high processing speed as a host (processing means), and the cost of the apparatus does not increase.
[0069]
In addition, a packet determined to be an unimportant packet can be appropriately handled by notifying the host of reception when the data amount of the data regarded as the unimportant packet becomes equal to or larger than a set value.
Also, the packet information is provided with table information storing header information of an important packet or an unimportant packet, and the header information of a received data packet is checked against the table information to determine an important packet and an unimportant packet. The discrimination process is easy, and important packets / insignificant packets can be set flexibly by setting the table information. Therefore, an important communication packet can be set according to the use, operating environment, performance, and other circumstances of the host system, and an optimum communication environment can be constructed.
[0070]
If the received packet is a real-time stream packet, the packet is transferred to the second processing unit corresponding to the real-time stream packet without passing through the host (processing unit / first processing unit). The processing related to the real-time stream packet becomes unnecessary, and the processing load on the host can be further reduced. Of course, this also promotes the effect of reducing the network load.
[Brief description of the drawings]
FIG. 1 is a block diagram of a communication system according to a first embodiment of this invention.
FIG. 2 is a block diagram illustrating a configuration of a packet parser according to the embodiment;
FIG. 3 is a flowchart of a packet reception process according to the first embodiment.
FIG. 4 is a block diagram of a communication system according to a second embodiment.
FIG. 5 is a flowchart of a packet reception process according to the second embodiment.
FIG. 6 is a flowchart of a packet reception process according to the third embodiment.
FIG. 7 is a block diagram of a conventional communication system.
FIG. 8 is an explanatory diagram of an increase in network load in a conventional communication system.
FIG. 9 is an explanatory diagram of a conventional communication device.
[Explanation of symbols]
1 control unit, 2 setting value register, 3 header table, 4, header analysis unit, 5 RAM, 5a first buffer, 5b second buffer, 10, 20 host system, 11, 21 host, 12, 22 network interface card, 13,23 packet parser, 14,24 codec

Claims (7)

受信通知を受領することにより、受信されたデータパケットに対して所定のプロトコルに従ったデータ処理を実行する処理手段を有する通信装置であって、
上記データパケットに含まれる情報に応じて、受信された上記データパケットが重要パケットか非重要パケットかを判別する判別手段と、
上記判別手段により上記重要パケットと判別された場合は、上記処理手段に対して無条件で上記受信通知を発行し、上記判別手段により上記非重要パケットと判別された場合は、所定の条件が満たされてから上記処理手段に対して上記受信通知を発行する制御手段と、
を備えたことを特徴とする通信装置。
A communication device having processing means for performing data processing according to a predetermined protocol on a received data packet by receiving a reception notification,
Determining means for determining whether the received data packet is an important packet or an unimportant packet, according to information included in the data packet;
If the discrimination means determines that the packet is the important packet, it issues the reception notification unconditionally to the processing means, and if the discrimination means determines that the packet is the non-important packet, a predetermined condition is satisfied. Control means for issuing the reception notification to the processing means after being executed;
A communication device comprising:
上記所定の条件は、上記非重要パケットと判断されたデータの量が設定値以上となることである請求項1に記載の通信装置。The communication device according to claim 1, wherein the predetermined condition is that an amount of data determined as the non-important packet is equal to or larger than a set value. 上記判別手段は、上記重要パケット又は上記非重要パケットのヘッダ情報を記憶したテーブル情報を備え、受信した上記データパケットのヘッダ情報を、上記テーブル情報と照合することで、上記重要パケットと上記非重要パケットの判別を行うことを特徴とする請求項1に記載の通信装置。The discriminating means includes table information that stores header information of the important packet or the non-important packet, and compares the header information of the received data packet with the table information, so that the important packet and the non-important packet are compared. The communication device according to claim 1, wherein a packet is determined. リアルタイムストリームパケットをデータ処理する第二の処理手段をさらに備え、
上記判別手段は、さらに、受信された上記データパケットがリアルタイムストリームパケットであるか否かも判別し、
上記制御手段は、受信された上記データパケットが上記リアルタイムストリームパケットと判別された場合は、上記受信通知を発行せずに、上記受信されたデータパケットを、上記第二の処理手段に転送することを特徴とする請求項1に記載の通信装置。
A second processing unit that performs data processing on the real-time stream packet,
The determining means further determines whether the received data packet is a real-time stream packet,
The control means, when the received data packet is determined to be the real-time stream packet, transfers the received data packet to the second processing means without issuing the reception notification. The communication device according to claim 1, wherein:
受信通知を受領することにより、受信されたデータパケットに対して第一のプロトコルに従ったデータ処理を実行する第一の処理手段と、
受信されたリアルタイムストリームパケットに対して第二のプロトコルに従ったデータ処理を実行する第二の処理手段とを有する通信装置であって、
上記データパケットに含まれる情報に応じて、受信された上記データパケットがリアルタイムストリームパケットであるか否かを判別する判別手段と、
上記判別手段によりリアルタイムストリームパケットではないと判別された場合は、上記第一の処理手段に対して受信通知を発行し、上記判別手段によりリアルタイムストリームパケットと判別された場合は、上記第一の処理手段に対する受信通知を発行せずに、上記受信されたデータパケットを、上記第二の処理手段へ転送する制御手段と、
を備えることを特徴とする通信装置。
A first processing unit that executes data processing according to a first protocol on a received data packet by receiving the reception notification;
A communication device having second processing means for performing data processing according to a second protocol on the received real-time stream packet,
Determining means for determining whether or not the received data packet is a real-time stream packet according to information included in the data packet;
If the discrimination means determines that the packet is not a real-time stream packet, it issues a reception notification to the first processing means. If the discrimination means determines that the packet is a real-time stream packet, the first processing means Control means for transferring the received data packet to the second processing means without issuing a reception notification to the means,
A communication device comprising:
データパケットを受信して、受信した上記データパケットに対して所定のプロトコルに従ったデータ処理を実行する通信方法であって、
上記データパケットに含まれる情報に応じて、受信された上記データパケットが重要パケットか非重要パケットかを判別する第一のステップと、
上記第一のステップにおいて上記非重要パケットと判別された場合は、所定の条件が満たされてから上記非重要パケットと判別された上記データパケットのデータ処理を実行する第二のステップとを有することを特徴とする通信方法。
A communication method for receiving a data packet and performing data processing on the received data packet according to a predetermined protocol,
A first step of determining whether the received data packet is an important packet or a non-important packet, according to information included in the data packet,
A second step of performing data processing of the data packet determined as the non-important packet after a predetermined condition is satisfied when the packet is determined to be the non-important packet in the first step. A communication method characterized by the above-mentioned.
上記所定の条件は、上記非重要パケットと判断されたデータの量が設定値以上となることである請求項6に記載の通信方法。7. The communication method according to claim 6, wherein the predetermined condition is that an amount of data determined as the non-important packet is equal to or larger than a set value.
JP2002322052A 2002-11-06 2002-11-06 Communication device and communication method Pending JP2004159038A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002322052A JP2004159038A (en) 2002-11-06 2002-11-06 Communication device and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002322052A JP2004159038A (en) 2002-11-06 2002-11-06 Communication device and communication method

Publications (1)

Publication Number Publication Date
JP2004159038A true JP2004159038A (en) 2004-06-03

Family

ID=32802349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002322052A Pending JP2004159038A (en) 2002-11-06 2002-11-06 Communication device and communication method

Country Status (1)

Country Link
JP (1) JP2004159038A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311355A (en) * 2005-04-28 2006-11-09 Matsushita Electric Ind Co Ltd Transmitter/receiver, transmission and reception method, program, and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311355A (en) * 2005-04-28 2006-11-09 Matsushita Electric Ind Co Ltd Transmitter/receiver, transmission and reception method, program, and recording medium
JP4723902B2 (en) * 2005-04-28 2011-07-13 パナソニック株式会社 Transmission / reception device, transmission / reception method, program, and recording medium

Similar Documents

Publication Publication Date Title
US20220214975A1 (en) System and method for facilitating efficient address translation in a network interface controller (nic)
US8671152B2 (en) Network processor system and network protocol processing method
US7817634B2 (en) Network with a constrained usage model supporting remote direct memory access
US8996718B2 (en) TCP-aware receive side coalescing
US7613813B2 (en) Method and apparatus for reducing host overhead in a socket server implementation
US8769036B2 (en) Direct sending and asynchronous transmission for RDMA software implementations
US7492710B2 (en) Packet flow control
US6449656B1 (en) Storing a frame header
US7987307B2 (en) Interrupt coalescing control scheme
JP2002517857A (en) Two-way process-to-process byte stream protocol
US7356034B2 (en) Terminal device, method for processing communication data inside the terminal device, and program for implementing the method
US10440157B2 (en) Distributed measurement arrangement for an embedded automotive acquisition device with TCP acceleration
US8539112B2 (en) TCP/IP offload device
WO2014008793A1 (en) Tcp data transmission method, tcp uninstallation engine, and system
US20070291782A1 (en) Acknowledgement filtering
US7761587B2 (en) Apparatus and method for transmitting packet IP offload
US8279790B2 (en) Packet buffering based at least in part upon packet receipt time interval weighted moving average
US7213074B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
JP2004159038A (en) Communication device and communication method
Neeser et al. SoftRDMA: Implementing iWARP over TCP kernel sockets
US8842547B2 (en) Communication control apparatus and control method
Gilfeather et al. Modeling protocol offload for message-oriented communication
US20050086390A1 (en) Efficient packet desegmentation on a network adapter
JP5013952B2 (en) Monitoring control method and communication apparatus
JP2001345861A (en) Network repeater