JP3878136B2 - 受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ - Google Patents
受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ Download PDFInfo
- Publication number
- JP3878136B2 JP3878136B2 JP2002588053A JP2002588053A JP3878136B2 JP 3878136 B2 JP3878136 B2 JP 3878136B2 JP 2002588053 A JP2002588053 A JP 2002588053A JP 2002588053 A JP2002588053 A JP 2002588053A JP 3878136 B2 JP3878136 B2 JP 3878136B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- storing
- bytes
- frame
- stored
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/14—Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
- G01N33/48—Biological material, e.g. blood, urine; Haemocytometers
- G01N33/50—Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing
- G01N33/68—Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing involving proteins, peptides or amino acids
- G01N33/6803—General methods of protein analysis not limited to specific proteins or families of proteins
- G01N33/6842—Proteomic analysis of subsets of protein mixtures with reduced complexity, e.g. membrane proteins, phosphoproteins, organelle proteins
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hematology (AREA)
- Immunology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Chemical & Material Sciences (AREA)
- Biomedical Technology (AREA)
- Urology & Nephrology (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Cell Biology (AREA)
- Biochemistry (AREA)
- Biotechnology (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Food Science & Technology (AREA)
- Medicinal Chemistry (AREA)
- Analytical Chemistry (AREA)
- Microbiology (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Pathology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Description
ホームネットワークの一つのタイプは、その家の中のコンピュータ間のコミュニケーションのため、民住用の家に設置されている電話回線を使用する、ホームフォンラインネットワークである。
The Home Phone Line Networking Alliance(HPNA)は、ホームフォンラインネットワークの動作を標準化するために、その仕様を公表している。
このフレームはさらに、6バイトの送信先アドレス106、6バイトの送信元アドレス108、8バイトのリミッティド・オートマティック・リピート・リクエスト(Limited automatic repeat request)(以下、LARQとする。)110、4バイトのQタグ112、および2バイトの長さ/タイプの情報114を含む。
LARQ110は、リンクレイヤにプライオリティ情報を伝えて、フレーム再送信の速度を上げるために否定応答プロトコルを提供する。
Qタグ112は、データフレームを優先させるために使用することができる情報を含む。プリアンブル102からQタグ112は、そのフレームの「ヘッダ」を構成する。フレームの残りは、46から1500バイトの間であるデータ116を構成する。フレームのエラーをチェックするために使用される4バイトのフレームチェックシーケンス(FCS)118が、データ116に続く。
一つのフレームは、LARQ110およびQタグ112の両方を有する必要はない。フレームは、Qタグ112なしにLARQ110、またはLARQ110なしにQタグ112を持つか、もしくはLARQ110およびQタグ112のどちらも持たないものとすることができる。
このインターフェースは、電話線からフレームを受信するHPNA互換のネットワークインターフェイスコントローラ(NIC)206を含む。
NIC206は、典型的にホストコンピュータ上にあるHPNA互換のドライバソフトウェア204にフレームを送信する。
その後、ドライバソフトウェア204は、ネットワークドライバインターフェイス規約(NDIS)のような上位層のソフトウェア202にフレームを送信する。
したがって、ドライバソフトウェア204がフレームを上位層のソフトウェア202へ送信する前に、LARQ110およびQタグ112をフレームから除去する必要がある。
典型的には、LARQ110とQタグ112をそのフレームから除去するために、そのLARQ110とQタグ112の前後の全バイトは、バイト間のギャップを設けずに個別のバッファにコピーされる。
しかしながら、これらのバイトを全てコピーすることは、貴重なプロセッササイクルを浪費し、パケット受信プロセスに不所望なレイテンシーを加える。
本発明の方法は、次のことを含む。すなわち、フレームの始めの方のバイト(beginning bytes)(以下、ビギニングバイトという。)を第2バッファよりも小さいサイズの第1バッファに格納し、残りのバイトを第2バッファに格納すること、第1バッファに不要なヘッダ情報が格納されていることを判定すること、第1バッファに格納されている不要なヘッダ情報に続くフレームのバイトを、不要なヘッダ情報の上にコピーすること、第1バッファに格納されたフレームの取得されるべきバイト数を報告すること、そして、第1バッファに格納された報告された数のフレームのバイトを取得し、第2バッファに格納されたフレームのバイトを取得すること、を含む。バイトのコピーは第1バッファの中でだけ行われる。
このように、不要なヘッダ情報の除去に必要とされるプロセッササイクルはより少なくなり、パケット受信プロセスでのレイテンシーは最小限となる。
以下の説明は、当業者が本発明を実施できるように記載され、また、特許出願とその要件の下で提供される。
好ましい実施例に対する様々な変更は、当業者に極めて明白である。また、ここの一般的な原則は、他の実施例に適用される。
したがって、本発明は、開示された実施例に制限されないが、ここに記述された原則および構造と一致する最も広い範囲に与えられる。
フレームからLARQおよびQタグを取り除くためのバイトのコピーは、もっぱらより小さなバッファで行われる。
フレームが上位層202へ転送される場合、プリアンブル102およびフレーム制御ビット104のどちらも転送されない。
代わりに、送信先アドレス106で始まり、FCS118で終わるフレーム部分だけが、上位層202へ転送される。
第1バッファが一杯になるまで、フレームのビギニングバイトは、第1バッファに格納される。フレームの残りのバイトは、第2バッファに格納される。
第1ディスクリプタ304は、第1バッファ316を指すポインタ312および第1バッファ316の長さ314を有する。
好ましい実施例では、第1バッファは24バイトのサイズを持っており、これは、最大限のヘッダのサイズである。すなわち、送信先アドレス106ないしQタグ112である。
第2ディスクリプタ306は、第2バッファ322を指すポインタ318および第2のバッファ322の長さ320を有する。
好ましい実施例では、第2バッファは、1506バイトのサイズを持っており、これは、長さ/タイプの情報114、データ116およびフレームチェックシーケンス(FCS)118の最大限サイズである。
フレームが受信されると、最初の24バイトは第1バッファ316に格納され、残りのバイトは第2バッファ322に格納される。
次のフレームの最初の24バイトは、次のディスクリプタ308によって示されたバッファに格納される。そして、残りのバイトは次のディスクリプタ310によって示されたバッファに格納される。以下、同様に格納される。
一旦、各ディスクリプタによって示されたバッファが使用されると、受信プロセスは、第1ディスクリプタ304に戻り、バッファを再使用する。したがって、受信ディスクリプタのデータ構造302は「リング」である。
まず、フレームが受信される(ステップ402)。
フレームのビギニングバイトは、第1バッファ316に格納され、また、残りのバイトは、第2バッファ322に格納される(ステップ404)。第1バッファ316のサイズは第2バッファ322より小さい。ヘッダはもっぱら第1バッファ316に格納されるので、バッファ316,322のサイズは、このように設定される。
その後、ドライバソフトウェア204は、第1バッファ316に格納されたバイトを調査し、それが不要なヘッダ情報を含むか判定する(ステップ406)。
不要なヘッダ情報は、LARQ110および/またはQタグ112を含む。
その後、ドライバソフトウェア204は、第1バッファ316に格納される不要なヘッダ情報の後のフレームのバイトを、不要なヘッダ情報の位置の上にコピーする(ステップ408)。
それからドライバソフトウェア204は、第1バッファ316に格納された、取得されるべきフレームのバイト数を報告する(ステップ410)。
コピー後に、第1バッファ316に格納されたフレームバイトが、バッファ316のサイズ未満でありうるので、この報告は必要である。
その後、上位層202は、2つのバッファ316,322から、第1バッファ316に格納されたフレームの報告された数のバイト、および第2バッファ322に格納されたフレームのバイトを、バイト間のギャップなしに取得する(ステップ412)。
好ましい実施例では、ヘッダは、以下に示す4つの可能なシナリオのうちの1つを含む。
(1)LARQ110およびQタグ112を含むシナリオ。
(2)Qタグ112ではなく、LARQ110を含むシナリオ。
(3)LARQ110ではなく、Qタグ112を含むシナリオ。
(4)LARQ110もQタグ112のどちらも含まないシナリオ。
このフレームを受信すると(ステップ402)、フレームの最初の24バイトは第1バッファ316に格納され、フレームの残りのバイトは、第2バッファ322に格納される(ステップ404)。
したがって、第1バッファ316は6バイトの送信先アドレス106、6バイトの送信元アドレス108、8バイトのLARQ110、および4バイトのQタグ112を含む。
第2バッファ318は、2バイトの長さ/タイプの情報114、nバイトのデータ116、および4バイトのFCS118を含む。
ドライバソフトウェア204は、ステップ406において、第1バッファ316のバイトを検査し、それが不要なヘッダ情報、すなわち、LARQ110およびQタグ112を含んでいることを判定する。
LARQ110およびQタグ112の後に来るフレームのバイトは第1バッファ316に格納されないので、ステップ408によるコピーは行なわれない。
その後、ドライバソフトウェア204は、ステップ410によって、第1バッファ316に格納されたフレームのバイト数を報告する。
図5の中で示されたシナリオについては、バイト数は12である。すなわち、送信先アドレス106の6バイトと、送信元アドレス108の6バイトを加えた数である。
その後、ステップ412によって、上位層202は、第1バッファ316に格納されたフレームの報告された数のバイト、すなわち、最初の12バイト、そして第2バッファの中に格納されたフレームのバイトを取得する。
このようにして取得されたバイトは、送信先アドレス106、送信元アドレス108、長さ/タイプの情報114、データ116およびFCS118データである。
このようにして、LARQ110およびQタグ112は、上位層202によって取得されるフレームから除去される。
このフレームを受信すると(ステップ402)、フレームの最初の24バイトは第1バッファ316に格納され、フレームの残りのバイトは、第2バッファ322に格納される(ステップ404)。
したがって、第1バッファ316は6バイトの送信先アドレス106、6バイトの送信元アドレス108、8バイトのLARQ110、2バイトの長さ/タイプの情報114およびデータ116の最初の2バイト602を含む。
第2バッファ322は、データ116の残っているバイト604および4バイトのFCS118を含む。
ドライバソフトウェア204は、ステップ406によって、第1バッファ316中に格納されたバイトを検査し、それが不要なヘッダ情報、すなわち、LARQ110を含んでいることを判定する。
ドライバソフトウェア204は、次に、ステップ408によって、第1バッファ316に格納されたLARQ110の後にくるフレームのバイトをLARQ110の上にコピーする。
このシナリオでは、長さ/タイプの情報114およびデータバイト602がLARQ110の上にコピーされる。
その後、ドライバソフトウェア204は、ステップ410によって、第1バッファ316に格納されたフレームのバイト数を報告する。
図6の中で示されたシナリオについては、バイト数は16である。すなわち、送信先アドレス106の6バイトに、送信元アドレス108の6バイト、長さ/タイプの情報114の2バイト、およびデータ116の2バイト602である。
その後、ステップ412によって、上位層202は、第1バッファ316に格納されたフレームの報告された数のバイト、すなわち、最初の16バイト、そして第2バッファ322の中に格納されたフレームのバイトを取得する。
このようにして取得されたバイトは、送信先アドレス106、送信元アドレス108、長さ/タイプの情報114、データ116およびFCS118である。
このようにして、LARQ110は、上位層202によって取得されるフレームから除去される。
このフレームを受信すると(ステップ402)、フレームの最初の24バイトは第1バッファ316に格納され、フレームの残りのバイトは、第2バッファ322に格納される(ステップ404)。
したがって、第1バッファ316は6バイトの送信先アドレス106、6バイトの送信元アドレス108、4バイトのQタグ112、2バイトの長さ/タイプの情報114およびデータ116の最初の6バイト702を含む。
第2バッファ322は、データ116の残りのバイト704および4バイトのFCS118を含む。
ドライバソフトウェア204は、ステップ406によって、第1バッファ316中に格納されたバイトを検査し、それが不要なヘッダ情報、すなわち、Qタグ112を含んでいることを判定する。
ドライバソフトウェア204は、次に、ステップ408によって、第1バッファ316に格納されたQタグ112の後にくるフレームのバイトをQタグ112の上にコピーする。
このシナリオでは、長さ/タイプの情報114およびデータバイト702がQタグ112の上にコピーされる。
その後、ドライバソフトウェア204は、ステップ410によって、第1バッファ316に格納されたフレームのバイト数を報告する。
図7で示されたシナリオについては、バイト数は20である。すなわち、送信先アドレス106の6バイトに、送信元アドレス108の6バイト、長さ/タイプの情報114の2バイト、およびデータ116の6バイト702である。
その後、ステップ412によって、上位層202は、第1バッファ316に格納されたフレームの報告された数のバイト、すなわち、最初の20バイト、そして第2バッファ322の中に格納されたフレームのバイトを取得する。
このようにして取得されたバイトは、送信先アドレス106、送信元アドレス108、長さ/タイプの情報114、データ116およびFCS118である。
このようにして、Qタグ112は、上位層202によって取得されるフレームから、除去される。
このフレームを受信すると(ステップ402)、フレームの最初の24バイトは第1バッファ316に格納され、フレームの残りのバイトは、第2バッファ322に格納される(ステップ404)。
したがって、第1バッファ316は6バイトの送信先アドレス106、6バイトの送信元アドレス108、2バイトの長さ/タイプの情報114およびデータ116の最初の10バイト802を含む。
第2バッファ318は、データ116の残りのバイト804および4バイトのFCS118を含む。
ドライバソフトウェア204は、ステップ406によって、第1バッファ316中に格納されたバイトを検査し、それが不要なヘッダ情報を全く含んでいないことを判定する。
ドライバソフトウェア204は、次に、ステップ410によって、第1バッファ316に格納されたフレームのバイト数を報告する。
図8の中で示されたシナリオについては、バイト数は24である。すなわち、送信先アドレス106の6バイトに、送信元アドレス108の6バイト、長さ/タイプの情報114の2バイト、およびデータ116の10バイト802である。
その後、ステップ412によって、上位層202は、第1バッファ316に格納されたフレームの報告された数のバイト、すなわち、24バイト、そして第2バッファ322の中に格納されたフレームのバイトを取得する。
このようにして取得されたバイトは、送信先アドレス106、送信元アドレス108、長さ/タイプの情報114、データ116およびFCS118である。
本発明は、ネットワークの各フレームを格納するために第1および第2バッファを使用する。
第1バッファのサイズは、第2バッファよりも小さい。
フレームから不要なヘッダ情報を除去するためのバイトのコピーは、もっぱら小さい方のバッファで起こる。
この方式では、不要なヘッダ情報の除去に必要とされるプロセッササイクルは、より少なくなり、パケット受信プロセスでのレイテンシーを最小限にする。
従って、当業者なら、添付の特許請求の範囲の趣旨及び範囲から逸脱することなく、数多くの変更は可能であろう。
Claims (22)
- ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
(a)フレームを受信するステップと、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納するステップと、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定するステップと、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーするステップと、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告するステップと、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得するステップとを含み、
前記格納するステップ(b)は、
(b1)前記第1バッファに、送信先アドレスを格納するステップと、
(b2)前記第1バッファに、送信元アドレスを格納するステップと、
(b3)前記第1バッファに、リミテッド・オートマティック・リピート・リクエスト(LARQ)を格納するステップと、
(b4)前記第1バッファに、Qタグを格納するステップと、
(b5)前記第2バッファに、長さ/タイプ情報を格納するステップと、
(b6)前記第2バッファに、複数のデータバイトを格納するステップと、
(b7)前記第2バッファに、フレームチェックシーケンス(FCS)を格納するステップとを含む、方法。 - 前記判定するステップ(c)は、
(c1)前記第1バッファに、前記LARQおよび前記Qタグが格納されていることを判定するステップを含む、請求項1記載の方法。 - 前記報告するステップ(e)は、
(e1)前記第1バッファに格納された前記送信先アドレスおよび前記送信元アドレスのバイト数を報告するステップを含む、請求項1記載の方法。 - 前記取得するステップ(f)は、
(f1)前記第1バッファに格納された前記送信先アドレスおよび前記送信元アドレスを取得するステップと、
(f2)前記第2バッファに格納された、前記長さ/タイプ情報、前記複数のデータバイトおよび前記FCSを取得するステップとを含む、請求項1記載の方法。 - ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
(a)フレームを受信するステップと、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納するステップと、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定するステップと、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーするステップと、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告するステップと、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得するステップとを含み、
前記格納するステップ(b)は、
(b1)前記第1バッファに、送信先アドレスを格納するステップと、
(b2)前記第1バッファに、送信元アドレスを格納するステップと、
(b3)前記第1バッファに、LARQを格納するステップと、
(b4)前記第1バッファに、長さ/タイプ情報を格納するステップと、
(b5)前記第1バッファに、複数のデータバイトのビギニングバイトを格納するステップと、
(b6)前記第2バッファに、複数のデータバイトの残りのバイトを格納するステップと、
(b7)前記第2バッファに、FCSを格納するステップと、
を含む、方法。 - 前記判定するステップ(c)は、
(c1)前記第1バッファに、前記LARQが格納されていることを判定するステップを含む、請求項5記載の方法。 - 前記コピーするステップ(d)は、
(d1)前記長さ/タイプ情報と、前記複数のデータバイトのビギニングバイトとを、前記第1バッファの前記LARQの上にコピーするステップを含む、請求項5記載の方法。 - 前記報告するステップ(e)は、
(e1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトのバイト数を報告するステップを含む、請求項5記載の方法。 - 前記取得するステップ(f)は、
(f1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトを取得するステップと、
(f2)前記第2バッファに格納された、前記複数のデータバイトの残りのバイトおよび前記FCSを取得するステップとを含む、請求項5記載の方法。 - ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
(a)フレームを受信するステップと、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納するステップと、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定するステップと、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーするステップと、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告するステップと、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得するステップとを含み、
前記格納するステップ(b)は、
(b1)前記第1バッファに、送信先アドレスを格納するステップと、
(b2)前記第1バッファに、送信元アドレスを格納するステップと、
(b3)前記第1バッファに、Qタグを格納するステップと、
(b4)前記第1バッファに、長さ/タイプ情報を格納するステップと、
(b5)前記第1バッファに、複数のデータバイトのビギニングバイトを格納するステップと、
(b6)前記第2バッファに、前記複数のデータバイトの残りのバイトを格納するステップと、
(b7)前記第2バッファに、FCSを格納するステップとを含む、方法。 - 前記判定するステップ(c)は、
(c1)前記第1バッファに、前記Qタグが格納されていることを判定するステップを含む、請求項10記載の方法。 - 前記コピーするステップ(d)は、
(d1)前記長さ/タイプ情報と、前記複数のデータバイトのビギニングバイトとを、前記第1バッファの前記Qタグの上にコピーするステップを含む、請求項11記載の方法。 - 前記報告するステップ(e)は、
(e1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトのバイト数を報告するステップを含む、請求項11記載の方法。 - 前記取得するステップ(f)は、
(f1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトを取得するステップと、
(f2)前記第2バッファに格納された、前記複数のデータバイトの残りのバイトおよび前記FCSを取得するステップとを含む、請求項11記載の方法。 - ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
(a)フレームを受信するステップと、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納するステップと、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定するステップと、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーするステップと、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告するステップと、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得するステップとを含み、
前記格納ステップ(b)は、
(b1)前記第1バッファに、送信先アドレスを格納するステップと、
(b2)前記第1バッファに、送信元アドレスを格納するステップと、
(b3)前記第1バッファに、長さ/タイプ情報を格納するステップと、
(b4)前記第1バッファに、複数のデータバイトのビギニングバイトを格納するステップと、
(b5)前記第2バッファに、前記複数のデータバイトの残りのバイトを格納するステップと、
(b6)前記第2バッファに、FCSを格納するステップとを含む、方法。 - 前記判定するステップ(c)は、
(c1)前記第1バッファに、不要なヘッダ情報が格納されていないことを判定するステップを含む、請求項15記載の方法。 - 前記報告するステップ(e)は、
(e1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトのバイト数を報告するステップを含む、請求項15記載の方法。 - 前記取得するステップ(f)は、
(f1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトを取得するステップと、
(f2)前記第2バッファに格納された、前記複数のデータバイトの残りのバイトおよび前記FCSを取得するステップとを含む、請求項15記載の方法。 - ネットワークのフレームから不要なヘッダ情報を除去するためのコンピュータ命令を記憶したコンピュータ読み取り可能な記録媒体であって、前記コンピュータ命令が、
(a)フレームを受信する命令と、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納する命令と、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定する命令と、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーする命令と、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告する命令と、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得する命令とを含み、
前記格納する命令(b)は、
(b1)前記第1バッファに、送信先アドレスを格納する命令と、
(b2)前記第1バッファに、送信元アドレスを格納する命令と、
(b3)前記第1バッファに、リミテッド・オートマティック・リピート・リクエスト(LARQ)を格納する命令と、
(b4)前記第1バッファに、Qタグを格納する命令と、
(b5)前記第2バッファに、長さ/タイプ情報を格納する命令と、
(b6)前記第2バッファに、複数のデータバイトを格納する命令と、
(b7)前記第2バッファに、フレームチェックシーケンス(FCS)を格納する命令とを含む、記録媒体。 - ネットワークのフレームから不要なヘッダ情報を除去するためのコンピュータ命令を記憶したコンピュータ読み取り可能な記録媒体であって、前記コンピュータ命令が、
(a)フレームを受信する命令と、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納する命令と、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定する命令と、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーする命令と、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告する命令と、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得する命令とを含み、
前記格納する命令(b)は、
(b1)前記第1バッファに、送信先アドレスを格納する命令と、
(b2)前記第1バッファに、送信元アドレスを格納する命令と、
(b3)前記第1バッファに、LARQを格納する命令と、
(b4)前記第1バッファに、長さ/タイプ情報を格納する命令と、
(b5)前記第1バッファに、複数のデータバイトのビギニングバイトを格納する命令と、
(b6)前記第2バッファに、複数のデータバイトの残りのバイトを格納する命令と、
(b7)前記第2バッファに、FCSを格納する命令と、
を含む、記録媒体。 - ネットワークのフレームから不要なヘッダ情報を除去するためのシステムであって、
(a)フレームを受信する回路と、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納する回路と、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定する回路と、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーする回路と、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告する回路と、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得する回路とを含み、
前記格納する回路(b)は、
(b1)前記第1バッファに、送信先アドレスを格納する回路と、
(b2)前記第1バッファに、送信元アドレスを格納する回路と、
(b3)前記第1バッファに、LARQを格納する回路と、
(b4)前記第1バッファに、長さ/タイプ情報を格納する回路と、
(b5)前記第1バッファに、複数のデータバイトのビギニングバイトを格納する回路と、
(b6)前記第2バッファに、複数のデータバイトの残りのバイトを格納する回路と、
(b7)前記第2バッファに、FCSを格納する回路と、
を含む、システム。 - ネットワークのフレームから不要なヘッダ情報を除去するためのシステムであって、
(a)フレームを受信する回路と、
(b)前記フレームのビギニングバイトを、第2バッファよりも小さいサイズの第1バッファ内に格納し、前記フレームの残りのバイトを前記第2バッファ内に格納する回路と、
(c)不要なヘッダ情報が、前記第1バッファに格納されることを判定する回路と、
(d)前記不要なヘッダ情報の位置の上に、前記第1バッファに格納される前記不要なヘッダ情報に続くフレームのバイトをコピーする回路と、
(e)前記第1バッファに格納された前記フレームの取得されるべきバイト数を報告する回路と、
(f)前記第1バッファに格納された前記フレームの報告された数のバイトを取得し、前記第2バッファに格納された前記フレームのバイトを取得する回路とを含み、
前記格納する回路(b)は、
(b1)前記第1バッファに、送信先アドレスを格納する回路と、
(b2)前記第1バッファに、送信元アドレスを格納する回路と、
(b3)前記第1バッファに、Qタグを格納する回路と、
(b4)前記第1バッファに、長さ/タイプ情報を格納する回路と、
(b5)前記第1バッファに、複数のデータバイトのビギニングバイトを格納する回路と、
(b6)前記第2バッファに、前記複数のデータバイトの残りのバイトを格納する回路と、
(b7)前記第2バッファに、FCSを格納する回路とを含む、システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/848,652 US6735649B2 (en) | 2001-05-03 | 2001-05-03 | Multiple buffers for removing unwanted header information from received data packets |
PCT/US2002/002191 WO2002091711A2 (en) | 2001-05-03 | 2002-01-23 | Multiple buffers for removing unwanted header information from received data packets |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005515649A JP2005515649A (ja) | 2005-05-26 |
JP2005515649A5 JP2005515649A5 (ja) | 2006-01-05 |
JP3878136B2 true JP3878136B2 (ja) | 2007-02-07 |
Family
ID=25303900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002588053A Expired - Fee Related JP3878136B2 (ja) | 2001-05-03 | 2002-01-23 | 受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ |
Country Status (8)
Country | Link |
---|---|
US (1) | US6735649B2 (ja) |
EP (1) | EP1384364B1 (ja) |
JP (1) | JP3878136B2 (ja) |
KR (1) | KR100819194B1 (ja) |
CN (1) | CN1266912C (ja) |
DE (1) | DE60206901T2 (ja) |
TW (1) | TWI233279B (ja) |
WO (1) | WO2002091711A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7164681B2 (en) * | 2001-07-13 | 2007-01-16 | Advanced Micro Devices, Inc. | Mechanism to strip LARQ header and preserve LARQ header in status frame |
US7327694B2 (en) * | 2001-07-31 | 2008-02-05 | Sasken Communication Technologies Ltd. | Adaptive radio link protocol (RLP) to improve performance of TCP in wireless environment for CDMAone and CDMA2000 systems |
TWI270774B (en) * | 2004-01-20 | 2007-01-11 | Mediatek Inc | Memory control method and related device |
CN1304955C (zh) * | 2004-02-16 | 2007-03-14 | 联发科技股份有限公司 | 内存控制方法及相关装置 |
CN100366022C (zh) * | 2004-04-02 | 2008-01-30 | 华为技术有限公司 | 一种缓存分配方法及装置 |
KR100858052B1 (ko) * | 2006-12-07 | 2008-09-10 | 한국전자통신연구원 | 이더넷 헤더 처리 장치 및 그 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2922015B2 (ja) * | 1991-05-27 | 1999-07-19 | 富士通株式会社 | 端末db最新管理方式 |
EP0574140A1 (en) | 1992-05-29 | 1993-12-15 | Hewlett-Packard Company | Network adapter which places a network header and data in separate memory buffers |
US5881242A (en) | 1997-01-09 | 1999-03-09 | International Business Machines Corporation | Method and system of parsing frame headers for routing data frames within a computer network |
EP1035682A1 (en) * | 1999-03-06 | 2000-09-13 | Deutsche Thomson-Brandt Gmbh | Method and bus interface employing a memory in an integrated circuit for linking a bus with an application device |
US6604155B1 (en) * | 1999-11-09 | 2003-08-05 | Sun Microsystems, Inc. | Storage architecture employing a transfer node to achieve scalable performance |
US6654389B1 (en) * | 1999-11-23 | 2003-11-25 | International Business Machines Corporation | System and method for searching patterns in real-time over a shared media |
-
2001
- 2001-05-03 US US09/848,652 patent/US6735649B2/en not_active Expired - Fee Related
-
2002
- 2002-01-23 WO PCT/US2002/002191 patent/WO2002091711A2/en active IP Right Grant
- 2002-01-23 EP EP02705979A patent/EP1384364B1/en not_active Expired - Lifetime
- 2002-01-23 CN CNB028110153A patent/CN1266912C/zh not_active Expired - Fee Related
- 2002-01-23 KR KR1020037014338A patent/KR100819194B1/ko not_active IP Right Cessation
- 2002-01-23 JP JP2002588053A patent/JP3878136B2/ja not_active Expired - Fee Related
- 2002-01-23 DE DE60206901T patent/DE60206901T2/de not_active Expired - Lifetime
- 2002-04-30 TW TW091108910A patent/TWI233279B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100819194B1 (ko) | 2008-04-04 |
TWI233279B (en) | 2005-05-21 |
WO2002091711A3 (en) | 2003-05-15 |
EP1384364A2 (en) | 2004-01-28 |
KR20040060850A (ko) | 2004-07-06 |
JP2005515649A (ja) | 2005-05-26 |
CN1266912C (zh) | 2006-07-26 |
DE60206901D1 (de) | 2005-12-01 |
US20020166006A1 (en) | 2002-11-07 |
CN1513251A (zh) | 2004-07-14 |
WO2002091711A2 (en) | 2002-11-14 |
US6735649B2 (en) | 2004-05-11 |
EP1384364B1 (en) | 2005-10-26 |
DE60206901T2 (de) | 2006-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6345301B1 (en) | Split data path distributed network protocol | |
AU747484B2 (en) | Reduced packet header in wireless communications network | |
US7818362B2 (en) | Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms | |
JP4504977B2 (ja) | オフロードユニットを使用したtcp接続のためのデータ処理 | |
CN102427446B (zh) | 分组合并 | |
JP4012545B2 (ja) | リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート | |
US6324178B1 (en) | Method for efficient data transfers between domains of differing data formats | |
US8009672B2 (en) | Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections | |
US6675200B1 (en) | Protocol-independent support of remote DMA | |
US7734720B2 (en) | Apparatus and system for distributing block data on a private network without using TCP/IP | |
US7551638B2 (en) | Network interface with transmit frame descriptor reuse | |
US7924881B2 (en) | Datagram identifier management | |
US8180928B2 (en) | Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney | |
WO2004010311A2 (en) | Method and apparatus for zero-copy receive buffer management | |
US7328270B1 (en) | Communication protocol processor having multiple microprocessor cores connected in series and dynamically reprogrammed during operation via instructions transmitted along the same data paths used to convey communication data | |
JP3878136B2 (ja) | 受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ | |
JP3098996B2 (ja) | パケット通信装置 | |
US20080056263A1 (en) | Efficient transport layer processing of incoming packets | |
JP4006444B2 (ja) | ネットワーク上の状態情報の通信 | |
JP5320571B2 (ja) | ノード間データ応答システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051007 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061024 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061101 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091110 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101110 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111110 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121110 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |