JP3878136B2 - 受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ - Google Patents

受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ Download PDF

Info

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
Application number
JP2002588053A
Other languages
English (en)
Other versions
JP2005515649A5 (ja
JP2005515649A (ja
Inventor
エイ. ウィリアムズ ロバート
カリンギャタム キショア
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2005515649A publication Critical patent/JP2005515649A/ja
Publication of JP2005515649A5 publication Critical patent/JP2005515649A5/ja
Application granted granted Critical
Publication of JP3878136B2 publication Critical patent/JP3878136B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/14Arrangements 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/48Biological material, e.g. blood, urine; Haemocytometers
    • G01N33/50Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing
    • G01N33/68Chemical analysis of biological material, e.g. blood, urine; Testing involving biospecific ligand binding methods; Immunological testing involving proteins, peptides or amino acids
    • G01N33/6803General methods of protein analysis not limited to specific proteins or families of proteins
    • G01N33/6842Proteomic analysis of subsets of protein mixtures with reduced complexity, e.g. membrane proteins, phosphoproteins, organelle proteins
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing 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)は、ホームフォンラインネットワークの動作を標準化するために、その仕様を公表している。
図1は、HPNAの標準バージョン2.0による、フレームフォーマットを示す。このフレームは、既知の64シンボルのプリアンブル102およびフレーム制御ビット104を含む。フレーム制御ビット104は、変調フォーマットに関する情報、および巡回冗長検査(CRC)ビットのような、他の様々な制御情報を含んでいる。
このフレームはさらに、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のどちらも持たないものとすることができる。
図2は、ホームフォンラインネットワーク用の典型的なハードウェアソフトウェアインターフェースを示す。
このインターフェースは、電話線からフレームを受信するHPNA互換のネットワークインターフェイスコントローラ(NIC)206を含む。
NIC206は、典型的にホストコンピュータ上にあるHPNA互換のドライバソフトウェア204にフレームを送信する。
その後、ドライバソフトウェア204は、ネットワークドライバインターフェイス規約(NDIS)のような上位層のソフトウェア202にフレームを送信する。
しかしながら、上位層202は、LARQ110および/またはQタグ112を認識しない可能性があり、また、誤ってフレームを無効のものとして判断する可能性がある。
したがって、ドライバソフトウェア204がフレームを上位層のソフトウェア202へ送信する前に、LARQ110およびQタグ112をフレームから除去する必要がある。
従来、NIC206がフレームを転送する場合、そのフレームは、上位層202の単一のバッファに格納される。
典型的には、LARQ110とQタグ112をそのフレームから除去するために、そのLARQ110とQタグ112の前後の全バイトは、バイト間のギャップを設けずに個別のバッファにコピーされる。
しかしながら、これらのバイトを全てコピーすることは、貴重なプロセッササイクルを浪費し、パケット受信プロセスに不所望なレイテンシーを加える。
従って、ネットワークのフレームから不要なヘッダ情報を除去する、改良された方法およびシステムが必要とされている。本発明は、そのような要求に取り組むものである。
発明の概要
ネットワークのフレームから不要なヘッダ情報を除去する方法が開示される。
本発明の方法は、次のことを含む。すなわち、フレームの始めの方のバイト(beginning bytes)(以下、ビギニングバイトという。)を第2バッファよりも小さいサイズの第1バッファに格納し、残りのバイトを第2バッファに格納すること、第1バッファに不要なヘッダ情報が格納されていることを判定すること、第1バッファに格納されている不要なヘッダ情報に続くフレームのバイトを、不要なヘッダ情報の上にコピーすること、第1バッファに格納されたフレームの取得されるべきバイト数を報告すること、そして、第1バッファに格納された報告された数のフレームのバイトを取得し、第2バッファに格納されたフレームのバイトを取得すること、を含む。バイトのコピーは第1バッファの中でだけ行われる。
このように、不要なヘッダ情報の除去に必要とされるプロセッササイクルはより少なくなり、パケット受信プロセスでのレイテンシーは最小限となる。
発明の詳細な説明
本発明は、ネットワークのフレームから不要なヘッダ情報を除去する、改良された方法およびシステムを提供する。
以下の説明は、当業者が本発明を実施できるように記載され、また、特許出願とその要件の下で提供される。
好ましい実施例に対する様々な変更は、当業者に極めて明白である。また、ここの一般的な原則は、他の実施例に適用される。
したがって、本発明は、開示された実施例に制限されないが、ここに記述された原則および構造と一致する最も広い範囲に与えられる。
本発明の特徴についてより詳しく説明するために、以下の説明と共に、図3ないし8を参照して頂きたい。
本発明の方法およびシステムは、ネットワークの各フレームを格納する第1および第2バッファを使用する。第1バッファは、第2バッファよりサイズが小さい。
フレームからLARQおよびQタグを取り除くためのバイトのコピーは、もっぱらより小さなバッファで行われる。
フレームが上位層202へ転送される場合、プリアンブル102およびフレーム制御ビット104のどちらも転送されない。
代わりに、送信先アドレス106で始まり、FCS118で終わるフレーム部分だけが、上位層202へ転送される。
第1バッファが一杯になるまで、フレームのビギニングバイトは、第1バッファに格納される。フレームの残りのバイトは、第2バッファに格納される。
好ましい実施例では、第1および第2バッファは、受信ディスクリプタ・リングによって管理される。図3は、本発明による方法とシステムで利用される受信ディスクリプタ・リングの好ましい実施例を示す。受信ディスクリプタ・リング302は、複数のディスクリプタ304ないし310を含む。
第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は「リング」である。
図4は、本発明によって、ネットワークのフレームから不要なヘッダ情報を除去する方法の好ましい実施例を示すフローチャートである。
まず、フレームが受信される(ステップ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)。
図5ないし図8は、本発明によって、ネットワークのフレームから不要なヘッダ情報を除去する方法の例を示す。
好ましい実施例では、ヘッダは、以下に示す4つの可能なシナリオのうちの1つを含む。
(1)LARQ110およびQタグ112を含むシナリオ。
(2)Qタグ112ではなく、LARQ110を含むシナリオ。
(3)LARQ110ではなく、Qタグ112を含むシナリオ。
(4)LARQ110もQタグ112のどちらも含まないシナリオ。
図5は、ヘッダがLARQ110およびQタグ112を含んでいる、第1のシナリオを示す。
このフレームを受信すると(ステップ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によって取得されるフレームから除去される。
図6は、ヘッダがQタグ112ではなく、LARQ110を含んでいる、第2のシナリオを示す。
このフレームを受信すると(ステップ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によって取得されるフレームから除去される。
図7は、ヘッダがLARQ110ではなく、Qタグ112を含んでいる、第3のシナリオを示す。
このフレームを受信すると(ステップ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によって取得されるフレームから、除去される。
図8は、ヘッダがLARQ110もQタグ112も含んでいない、第4のシナリオを示す。
このフレームを受信すると(ステップ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バッファよりも小さい。
フレームから不要なヘッダ情報を除去するためのバイトのコピーは、もっぱら小さい方のバッファで起こる。
この方式では、不要なヘッダ情報の除去に必要とされるプロセッササイクルは、より少なくなり、パケット受信プロセスでのレイテンシーを最小限にする。
本発明は、以上の実施形態に従って記載されたが、当業者は、これらの実施形態について、本発明の趣旨および範囲内で様々な変形が可能であることを容易に認識できるだろう。
従って、当業者なら、添付の特許請求の範囲の趣旨及び範囲から逸脱することなく、数多くの変更は可能であろう。
HPNA標準バージョン2.0によるフレームフォーマットを示す。 ホームフォンラインネットワーク用の典型的なハードウェア/ソフトウェア間のインターフェースを示す。 本発明による方法とシステムで利用される受信ディスクリプタ・リングの好ましい実施例を示す。 本発明に従ってネットワークのフレームから不要なヘッダ情報を除去する方法の好ましい実施例を示すフローチャートである。 本発明に従ってネットワークのフレームから不要なヘッダ情報を除去する方法の実施例を示す。 本発明に従ってネットワークのフレームから不要なヘッダ情報を除去する方法の実施例を示す。 本発明に従ってネットワークのフレームから不要なヘッダ情報を除去する方法の実施例を示す。 本発明に従ってネットワークのフレームから不要なヘッダ情報を除去する方法の実施例を示す。

Claims (22)

  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バッファに、Qタグを格納するステップと、
    (b5)前記第2バッファに、長さ/タイプ情報を格納するステップと、
    (b6)前記第2バッファに、複数のデータバイトを格納するステップと、
    (b7)前記第2バッファに、フレームチェックシーケンス(FCS)を格納するステップとを含む、方法。
  2. 前記判定するステップ(c)は、
    (c1)前記第1バッファに、前記LARQおよび前記Qタグが格納されていることを判定するステップを含む、請求項1記載の方法。
  3. 前記報告するステップ(e)は、
    (e1)前記第1バッファに格納された前記送信先アドレスおよび前記送信元アドレスのバイト数を報告するステップを含む、請求項1記載の方法。
  4. 前記取得するステップ(f)は、
    (f1)前記第1バッファに格納された前記送信先アドレスおよび前記送信元アドレスを取得するステップと、
    (f2)前記第2バッファに格納された、前記長さ/タイプ情報、前記複数のデータバイトおよび前記FCSを取得するステップとを含む、請求項1記載の方法。
  5. ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
    (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を格納するステップと、
    を含む、方法。
  6. 前記判定するステップ(c)は、
    (c1)前記第1バッファに、前記LARQが格納されていることを判定するステップを含む、請求項5記載の方法。
  7. 前記コピーするステップ(d)は、
    (d1)前記長さ/タイプ情報と、前記複数のデータバイトのビギニングバイトとを、前記第1バッファの前記LARQの上にコピーするステップを含む、請求項5記載の方法。
  8. 前記報告するステップ(e)は、
    (e1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトのバイト数を報告するステップを含む、請求項5記載の方法。
  9. 前記取得するステップ(f)は、
    (f1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトを取得するステップと、
    (f2)前記第2バッファに格納された、前記複数のデータバイトの残りのバイトおよび前記FCSを取得するステップとを含む、請求項5記載の方法。
  10. ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
    (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を格納するステップとを含む、方法。
  11. 前記判定するステップ(c)は、
    (c1)前記第1バッファに、前記Qタグが格納されていることを判定するステップを含む、請求項10記載の方法。
  12. 前記コピーするステップ(d)は、
    (d1)前記長さ/タイプ情報と、前記複数のデータバイトのビギニングバイトとを、前記第1バッファの前記Qタグの上にコピーするステップを含む、請求項11記載の方法。
  13. 前記報告するステップ(e)は、
    (e1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトのバイト数を報告するステップを含む、請求項11記載の方法。
  14. 前記取得するステップ(f)は、
    (f1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトを取得するステップと、
    (f2)前記第2バッファに格納された、前記複数のデータバイトの残りのバイトおよび前記FCSを取得するステップとを含む、請求項11記載の方法。
  15. ネットワークのフレームから不要なヘッダ情報を除去する方法であって、
    (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を格納するステップとを含む、方法。
  16. 前記判定するステップ(c)は、
    (c1)前記第1バッファに、不要なヘッダ情報が格納されていないことを判定するステップを含む、請求項15記載の方法。
  17. 前記報告するステップ(e)は、
    (e1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトのバイト数を報告するステップを含む、請求項15記載の方法。
  18. 前記取得するステップ(f)は、
    (f1)前記第1バッファに格納された前記送信先アドレス、前記送信元アドレス、前記長さ/タイプ情報および前記複数のデータバイトのビギニングバイトを取得するステップと、
    (f2)前記第2バッファに格納された、前記複数のデータバイトの残りのバイトおよび前記FCSを取得するステップとを含む、請求項15記載の方法。
  19. ネットワークのフレームから不要なヘッダ情報を除去するためのコンピュータ命令を記憶したコンピュータ読み取り可能な記録媒体であって、前記コンピュータ命令が、
    (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)を格納する命令とを含む、記録媒体。
  20. ネットワークのフレームから不要なヘッダ情報を除去するためのコンピュータ命令を記憶したコンピュータ読み取り可能な記録媒体であって、前記コンピュータ命令が、
    (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を格納する命令と、
    を含む、記録媒体。
  21. ネットワークのフレームから不要なヘッダ情報を除去するためのシステムであって、
    (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を格納する回路と、
    を含む、システム。
  22. ネットワークのフレームから不要なヘッダ情報を除去するためのシステムであって、
    (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を格納する回路とを含む、システム。
JP2002588053A 2001-05-03 2002-01-23 受信したデータパケットから、不要なヘッダ情報を除去するためのマルチプルバッファ Expired - Fee Related JP3878136B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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