KR100819194B1 - 수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들 - Google Patents

수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들 Download PDF

Info

Publication number
KR100819194B1
KR100819194B1 KR1020037014338A KR20037014338A KR100819194B1 KR 100819194 B1 KR100819194 B1 KR 100819194B1 KR 1020037014338 A KR1020037014338 A KR 1020037014338A KR 20037014338 A KR20037014338 A KR 20037014338A KR 100819194 B1 KR100819194 B1 KR 100819194B1
Authority
KR
South Korea
Prior art keywords
buffer
bytes
storing
frame
stored
Prior art date
Application number
KR1020037014338A
Other languages
English (en)
Other versions
KR20040060850A (ko
Inventor
윌리암스로버트에이.
캐링해탐키쇼어
Original Assignee
어드밴스드 마이크로 디바이시즈, 인코포레이티드
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 어드밴스드 마이크로 디바이시즈, 인코포레이티드 filed Critical 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20040060850A publication Critical patent/KR20040060850A/ko
Application granted granted Critical
Publication of KR100819194B1 publication Critical patent/KR100819194B1/ko

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)

Abstract

네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법이 개시된다. 상기 방법은 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 그 나머지 바이트들을 제 2 버퍼 - 상기 제 1 버퍼의 크기는 상기 제 2 버퍼의 크기보다 작다 - 에 저장하는 단계와; 상기 제 1 버퍼에 불필요한 헤더 정보가 저장되어 있는지를 판단하는 단계와; 상기 제 1 버퍼에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사하는 단계와; 검색되는 상기 제 1 버퍼에 저장된 상기 프레임의 바이트 수를 보고하는 단계와; 그리고 상기 제 1 버퍼에 저장된 상기 프레임의 보고된 바이트 수를 검색함과 아울러 상기 제 2 버퍼에 저장된 상기 프레임의 바이트를 검색하는 단계를 포함한다. 이러한 바이트의 복사는 상기 제 1 버퍼에서 단독으로 발생한다. 이에 따라, 상기 불필요한 헤더 정보를 제거하면, 보다 적은 프로세서 사이클이 요구되게 되고, 패킷 수신 프로세스에서 레이턴시가 최소화되게 된다.
프레임, 버퍼, 헤더

Description

수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들{MULTIPLE BUFFERS FOR REMOVING UNWANTED HEADER INFORMATION FROM RECEIVED DATA PACKETS}
본 발명은 네트워크에서의 수신 데이터 패킷들에 관한 것으로, 특히, 그 네트워크에서의 수신 데이터 패킷들로부터 불필요한 헤더 정보를 제거하는 것에 관한 것이다.
홈 네트워크들은 가정내의 컴퓨터들을 접속하는데 있어 점점더 보편화되고 바람직해지고 있다. 홈 네트워크의 하나의 타입으로는, 일반적으로 가정에 설치되어 있는 전화선을 이용하여 가정내의 컴퓨터들 간에 통신을 행하는 홈 전화선 네트워크(home phone line network)가 있다. 홈 전화선 네트워킹 동맹(Home Phone Line Networking Alliance: HPNA)은 홈 전화선 네트어크의 동작(behavior)을 표준화하는 사양서를 발표하였다.
도 1은 HPNA 표준 버전 2.0에 따른 프레임 포맷을 예시한다. 상기 프레임은 알려진 64개의 심볼 프리앰블(102) 및 프레임 제어 비트(104)를 포함한다. 상기 프레임 제어 비트(104)는 변조 포맷에 관한 정보와, 순환 잉여 검사(cyclical redundancy check: CRC) 비트와 같은 기타 다른 제어 정보를 포함한다. 또한, 상기 프레임은 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 8바이트의 제한 자동 재전송 요구(limited automatic repeat request: LARQ)(110), 4바이트의 Q 태그(112) 및 2바이트의 길이/타입 정보(114)를 포함한다. 상기 LARQ(110)는 링크 계층에 우선순위 정보를 전달하고 부정 응답 프로토콜을 제공하여 프레임 재전송 속도를 증가시킨다. 상기 Q 태그(112)는 데이터 프레임들의 우선순위를 정하는데 이용될 수 있는 정보를 포함한다. 상기 프리앰블(102) 내지 상기 Q 태그(112)는 상기 프레임의 "헤더"를 포함한다. 상기 프레임의 나머지 부분은 46 내지 1500바이트의 사이에 있을 수 있는 데이터(116)를 포함한다. 상기 데이터(116) 다음에 4바이트의 프레임 검사열(frame check sequence: FCS)이 오며, 이 FCS는 상기 프레임내의 에러를 검사하는데 이용된다. 프레임은 LARQ(110)와 Q 태그(112) 둘다를 가질 필요는 없다. 상기 프레임은 Q 태그(112) 없이 LARQ(110)만을 가질 수 있거나, LARQ(110) 없이 Q 태그(112)만을 가질 수 있거나, 또는 LARQ(110)도 Q 태그(112)도 갖지 않을 수 있다.
도 2는 홈 전화선 네트워크에 대한 전형적인 하드웨어-소프트웨어 인터페이스를 예시한다. 상기 인터페이스는 전화선에서 프레임들을 수신하는 HPNA 호환 네트워크 인터페이스 제어기(network interface controller: NIC)(206)를 포함한다. 상기 NIC(206)는 전형적으로 호스트 컴퓨터상에 있는 HPNA 호환 드라이버 소프트웨어(204)에 상기 프레임을 전송한다. 그 다음, 상기 드라이버 소프트웨어(204)는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: NDIS)과 같은 상위 계층 소프트웨어(202)에 상기 프레임을 전송한다.
그러나, 상기 상위 계층(202)은 LARQ(110) 및/또는 Q 태그(112)를 해석할 수 없어서, 상기 프레임을 무효한 것으로 잘못 판단할 수 있다. 이에 따라, 상기 드라이버 소프트웨어(204)가 상기 상위 계층 소프트웨어(202)에 상기 프레임을 전송하기 전에, 상기 LARQ(110)와 상기 Q 태그(112)는 상기 프레임에서 제거되어야 한다.
통상적으로, 상기 NIC(206)가 프레임을 전송할 때, 상기 프레임은 상기 상위 계층(202)의 단일 버퍼안에 저장된다. 전형적으로, 상기 프레임에서 상기 LARQ(110)와 상기 Q 태그(112)를 제거하기 위해서, 상기 LARQ(110)와 Q 태그(112) 전후의 모든 바이트들이 바이트들 간에 갭(gap)이 없이 개별 버퍼에 복사된다. 그러나, 이러한 바이트 모두를 복사한다면, 귀중한 프로세서 사이클을 낭비하게 되고, 패킷 수신 프로세스에 불필요한 레이턴시(latency)를 추가하게 된다.
이에 따라, 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 개선된 방법 및 시스템에 대한 요구가 존재하게 된다. 본 발명은 이러한 요구에 관한 것이다.
네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법이 개시된다. 상기 방법은 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 그 나머지 바이트들을 제 2 버퍼 - 상기 제 1 버퍼의 크기는 상기 제 2 버퍼의 크기보다 작다 - 에 저장하는 단계와; 상기 제 1 버퍼에 불필요한 헤더 정보가 저장되어 있는지를 판단하는 단계와; 상기 제 1 버퍼에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사하는 단계와; 검색되는 상기 제 1 버퍼에 저장된 상기 프레임의 바이트 수를 보고하는 단계와; 그리고 상기 제 1 버퍼에 저장된 상기 프레임의 보고된 바이트 수를 검색함과 아울러 상기 제 2 버퍼에 저장된 상기 프레임의 바이트를 검색하는 단계를 포함한다. 이러한 바이트의 복사는 상기 제 1 버퍼에서 단독으로 발생한다. 이에 따라, 상기 불필요한 헤더 정보를 제거하면, 보다 적은 프로세서 사이클이 요구되게 되어, 패킷 수신 프로세스에서 레이턴시가 최소화되게 된다.
도 1은 HPNA 표준 버전 2.0에 따른 프레임 포맷을 예시하고;
도 2는 홈 전화선 네트워크에 대한 전형적인 하드웨어-소프트웨어 인터페이스를 예시하고;
도 3은 본 발명에 따른 방법 및 시스템에 의해 이용되는 수신 디스크립터 고리(receive descriptor ring)의 바람직한 실시예를 예시하고;
도 4는 본 발명에 따라 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법의 바람직한 실시예를 예시하는 흐름도이고;
도 5 내지 도 8은 본 발명에 따라 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법의 예들을 예시한다.
본 발명은 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 개선된 방법 및 시스템을 제공한다. 다음의 상세한 설명은 이 기술분야의 당업자로 하여금 본 발명을 수행하고 이용할 수 있도록 제시되며, 특허 출원 및 그의 요건과 관련하여 제공된다. 이 기술분야의 당업자이면 바람직한 실시예에 대한 다양한 수정들을 쉽게 알 수 있을 것이며, 그 일반적인 원리들은 본원에서 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 도시된 실시예에만 한정하고자 하는 것이 아니라 본원에 설명된 원리들 및 특징들에 일관되는 넓은 범위에 허용하고자 하는 것이다.
본 발명의 특징들을 더 특정하게 설명하기 위해서, 하기의 논의와 결합한 도 3 내지 도 8을 참조하기 바란다.
본 발명에 따른 방법 및 시스템은 제 1 및 제 2 버퍼를 이용하여 네트워크에서 각 프레임을 저장한다. 상기 제 1 버퍼는 상기 제 2 버퍼보다 크기가 작다. 상기 프레임으로부터 제한 자동 재전송 요구(LARQ)와 Q 태그를 제거하기 위해서 상기 더 작은 버퍼에서 단독으로 바이트의 복사가 발생한다. 상기 프레임이 상위 계층(202)에 전송될 때, 프리앰블(102)도 프레임 제어(104)도 전송되지 않는다. 그 대신, 목적지 어드레스(106)로 시작하고 FCS(118)로 끝나는 프레임의 부분만이 상기 상위 계층(202)에 전송된다. 상기 프레임의 시작부 바이트들은 상기 제 1 버퍼가 가득 찰 때까지 상기 제 1 버퍼에 저장된다. 상기 프레임의 그 나머지 바이트들은 상기 제 2 버퍼에 저장된다.
상기 바람직한 실시예에 있어서, 상기 제 1 및 제 2 버퍼들은 수신 디스크립터 고리에 의해 관리된다. 도 3은 본 발명에 따른 방법 및 시스템에 의해 이용되는 수신 디스크립터 고리의 하나의 바람직한 실시예를 예시한다. 상기 수신 디스크립터 고리(302)는 다수의 디스크립터들(304-310)을 포함한다. 상기 제 1 디스크립터(304)는 제 1 버퍼(316)를 지시하는 포인터(312)와 상기 제 1 버퍼(316)의 길이(314)를 갖는다. 상기 바람직한 실시예에 있어서, 상기 제 1 버퍼는 크기가 24바이트이며, 이 24바이트 크기는 가능한 최대 크기 헤더 즉, 도면 부호 106-112이다. 상기 제 2 디스크립터(306)는 제 2 버퍼(322)를 지시하는 포인터(318)와 상기 제 2 버퍼(322)의 길이(320)를 갖는다. 상기 바람직한 실시예에 있어서, 상기 제 2 버퍼는 크기가 1506바이트이며, 이 1506바이트 크기는 가능한 최대 크기 길이/타입(114), 데이터(116) 및 프레임 검사열(FCS)(118)이다. 프레임이 수신될 때, 처음 24바이트는 상기 제 1 버퍼(316)에 저장되고, 그 나머지 바이트들은 상기 제 2 버퍼(322)에 저장된다. 그 다음, 후속 프레임의 처음 24바이트는 후속 디스크립터(308)가 지시하는 버퍼에 저장되고, 그 나머지 바이트들은 디스크립터(310)가 지시하는 버퍼에 저장되고, 이와 같은 방식으로 계속하여 프레임을 버퍼에 저장한다. 일단 디스크립터들 각각이 지시하는 버퍼들이 이용되면, 수신 프로세스는 상기 제 1 디스크립터(304)에 되돌아가서, 상기 버퍼들을 재사용한다. 따라서, 수신 디스크립터 데이터 구조(302)는 "고리(ring)형"이다.
도 4는 본 발명에 따라 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법의 하나의 바람직한 실시예를 예시하는 흐름도이다. 먼저, 단계(402)를 통해, 프레임이 수신된다. 단계(404)를 통해, 상기 프레임의 시작부 바이트는 제 1 버퍼(316)에 저장되고, 그 나머지 바이트는 제 2 버퍼(322)에 저장된다. 상기 제 1 버퍼(316)의 크기는 상기 제 2 버퍼(322)의 크기보다 작다. 상기 버퍼들(316, 322)의 크기는, 헤더가 상기 제 1 버퍼(316)에 단독으로 저장되도록 설정된다. 그 다음, 단계(406)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 바이트들을 검사하여, 이 버퍼(316)가 임의의 불필요한 헤더 정보를 포함하는지 여부를 판단한다. 상기 불필요한 헤더 정보는 LARQ(110) 및/또는 Q 태그(112)를 포함한다. 그 다음, 단계(408)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사한다. 그 다음, 단계(410)를 통해, 검색되는 상기 제 1 버퍼(316)에 저장된 프레임의 바이트 수를 보고한다. 이러한 보고는, 상기 복사 단계후에 상기 제 1 버퍼(316)에 저장된 프레임 바이트들이 상기 버퍼(316)의 크기보다 작을 수 있기 때문에 필요하다. 그 다음, 단계(412)를 통해, 상기 상위 계층(202)은 상기 2개의 버퍼들(316, 322)로부터의 바이트들 간에 갭(gap)이 없이, 상기 제 1 버퍼(316)에 저장된 프레임의 보고된 바이트 수를 검색함과 아울러 상기 제 2 버퍼(322)에 저장된 프레임의 바이트를 검색한다.
도 5 내지 도 8은 본 발명에 따라 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법의 예들을 예시한다. 상기 바람직한 실시예에 있어서, 상기 헤더는 다음의 4가지 가능한 경우 중 하나를 포함한다. 즉, 상기 헤더는 (1)LARQ(110)와 Q 태그(112)를 둘다 포함하는 경우; (2)Q 태그(112)는 포함하지 않고 LARQ(110)만 포함하는 경우; (3)LARQ(110)는 포함하지 않고 Q 태그(112)만 포함하는 경우; 또는 (4)LARQ(110)도 Q 태그(112)도 포함하지 않는 경우 중 하나를 포함한다.
도 5는 상기 헤더가 상기 LARQ(110)와 Q 태그(112)를 둘다 포함하는 제 1 경우를 예시한다. 단계(402)를 통해 상기 프레임이 수신되면, 단계(404)를 통해 상기 프레임의 처음 24바이트는 상기 제 1 버퍼(316)에 저장되고, 상기 프레임의 그 나머지 바이트는 상기 제 2 버퍼(322)에 저장된다. 따라서, 상기 제 1 버퍼(316)는 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 8바이트의 LARQ(110) 및 4바이트의 Q 태그(112)를 포함한다. 상기 제 2 버퍼(322)는 2바이트의 길이/타입(114), n-바이트의 데이터(116) 및 4바이트의 FCS(118)를 포함한다. 단계(406)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)안의 바이트들을 검사하여, 이 버퍼(316)가 불필요한 헤더 정보 즉, 상기 LARQ(110)와 상기 Q 태그(112)를 포함하는지를 판단한다. 상기 LARQ(110)와 상기 Q 태그(112) 다음에 오는 어떠한 프레임 바이트도 상기 제 1 버퍼(316)에 저장되지 않기 때문에, 단계(408)를 통해 복사가 수행되지 않는다. 그 다음, 단계(410)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 프레임의 바이트 수를 보고한다. 도 5에 예시된 경우에 대해서, 그 바이트 수는 12 즉, 6바이트의 목적지 어드레스(106) 더하기 6바이트의 소스 어드레스(108)이다. 그 다음, 단계(412)를 통해, 상기 상위 계층(202)은 상기 제 1 버퍼(316)에 저장된 프레임의 보고된 바이트 수(즉, 처음 12바이트)를 검색함과 아울러 상기 제 2 버퍼(322)에 저장된 프레임의 바이트를 검색한다. 따라서, 상기 검색된 바이트들은 목적지 어드레스(106), 소스 어드레스(108), 길이/타입(114), 데이터(116) 및 FCS(118)이다. 따라서, 상기 LARQ(110)와 상기 Q 태그(112)는 상위 계층(202)에 의해 검색된 프레임에서 제거되게 된다.
도 6은 상기 헤더가 Q 태그(112)는 포함하지 않고 LARQ(110)만 포함하는 제 2 경우를 예시한다. 단계(402)를 통해 상기 프레임이 수신되면, 단계(404)를 통해 상기 프레임의 처음 24바이트는 상기 제 1 버퍼(316)에 저장되고, 상기 프레임의 그 나머지 바이트는 상기 제 2 버퍼(322)에 저장된다. 따라서, 상기 제 1 버퍼(316)는 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 8바이트의 LARQ(110), 2바이트의 길이/타입(114) 및 데이터(16)의 처음 2바이트(602)를 포함한다. 상기 제 2 버퍼(322)는 데이터(116)의 그 나머지 바이트(604) 및 4바이트의 FCS(118)를 포함한다. 단계(406)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 바이트들을 검사하고, 그리고 이 버퍼(316)가 불필요한 헤더 정보 즉, 상기 LARQ(110)를 포함하는지를 판단한다. 후속하여, 단계(408)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장되어 있는 상기 LARQ(110) 다음의 상기 프레임의 바이트들을 상기 LARQ(110)의 위치에 복사한다. 이 경우, 상기 길이/타입(114) 및 상기 데이터 바이트(602)가 상기 LARQ(110)의 위치에 복사된다. 그 다음, 단계(410)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 프레임의 바이트 수를 보고한다. 도 6에 예시된 경우에 대해서, 그 바이트 수는 16 즉, 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 2바이트의 길이/타입(114) 및 데이터(116)의 2바이트(602)이다. 그 다음, 단계(412)를 통해, 상기 상위 계층(202)은 상기 제 1 버퍼(316)에 저장된 프레임의 보고된 바이트 수(즉, 처음 16바이트)를 검색함과 아울러 상기 제 2 버퍼(322)에 저장된 프레임의 바이트를 검색한다. 따라서, 상기 검색된 바이트들은 목적지 어드레스(106), 소스 어드레스(108), 길이/타입(114), 데이터(116) 및 FCS(118)이다. 따라서, 상기 LARQ(110)는 상위 계층(202)에 의해 검색된 프레임에서 제거되게 된다.
도 7은 상기 헤더가 LARQ(110)는 포함하지 않고 Q 태그(112)만 포함하는 경우를 예시한다. 단계(402)를 통해 상기 프레임이 수신되면, 단계(404)를 통해 상기 프레임의 처음 24바이트는 상기 제 1 버퍼(316)에 저장되고, 상기 프레임의 그 나머지 바이트는 상기 제 2 버퍼(322)에 저장된다. 따라서, 상기 제 1 버퍼(316)는 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 4바이트의 Q 태그(112), 2바이트의 길이/타입(114) 및 데이터(116)의 처음 6바이트(702)를 포함한다. 상기 제 2 버퍼(322)는 데이터(116)의 그 나머지 바이트(704) 및 4바이트의 FCS(118)를 포함한다. 단계(406)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 바이트들을 검사하고, 그리고 이 버퍼(316)가 불필요한 헤더 정보 즉, 상기 Q 태그(112)를 포함하는지를 판단한다. 후속하여, 단계(408)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장되어 있는 상기 Q 태그(112) 다음의 상기 프레임의 바이트들을 상기 Q 태그(112)의 위치에 복사한다. 이 경우, 상기 길이/타입(114) 및 상기 데이터 바이트(702)가 상기 Q 태그(112)의 위치에 복사된다. 그 다음, 단계(410)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 프레임의 바이트 수를 보고한다. 도 7에 예시된 경우에 대해서, 그 바이트 수는 20 즉, 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 2바이트의 길이/타입(114) 및 데이터(116)의 6바이트(702)이다. 그 다음, 단계(412)를 통해, 상기 상위 계층(202)은 상기 제 1 버퍼(316)에 저장된 프레임의 보고된 바이트 수(즉, 처음 20바이트)를 검색함과 아울러 상기 제 2 버퍼(322)에 저장된 프레임의 바이트를 검색한다. 따라서, 상기 검색된 바이트들은 목적지 어드레스(106), 소스 어드레스(108), 길이/타입(114), 데이터(116) 및 FCS(118)이다. 따라서, 상기 Q 태그(112)는 상위 계층(202)에 의해 검색된 프레임에서 제거되게 된다.
도 8은 상기 헤더가 LARQ(110)도 Q 태그(112)도 포함하지 않는 제 4 경우를 예시한다. 단계(402)를 통해 상기 프레임이 수신되면, 단계(404)를 통해 상기 프레임의 처음 24바이트는 상기 제 1 버퍼(316)에 저장되고, 상기 프레임의 그 나머지 바이트는 상기 제 2 버퍼(322)에 저장된다. 따라서, 상기 제 1 버퍼(316)는 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 2바이트의 길이/타입(114) 및 데이터(116)의 처음 10바이트(802)를 포함한다. 상기 제 2 버퍼(322)는 데이터(116)의 그 나머지 바이트(804) 및 4바이트의 FCS(118)를 포함한다. 단계(406)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 바이트들을 검사하고, 그리고 이 버퍼(316)가 어떠한 불필요한 헤더 정보도 포함하지 않는지를 판단한다. 그 다음, 단계(410)를 통해, 상기 드라이버 소프트웨어(204)는 상기 제 1 버퍼(316)에 저장된 프레임의 바이트 수를 보고한다. 도 8에 예시된 경우에 대해서, 그 바이트 수는 24 즉, 6바이트의 목적지 어드레스(106), 6바이트의 소스 어드레스(108), 2바이트의 길이/타입(114) 및 데이터(116)의 10바이트(802)이다. 그 다음, 단계(412)를 통해, 상기 상위 계층(202)은 상기 제 1 버퍼(316)에 저장된 프레임의 보고된 바이트 수(즉, 처음 24바이트)를 검색함과 아울러 상기 제 2 버퍼(322)에 저장된 프레임의 바이트를 검색한다. 따라서, 상기 검색된 바이트들은 목적지 어드레스(106), 소스 어드레스(108), 길이/타입(114), 데이터(116) 및 FCS(118)이다.
네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 개선된 방법 및 시스템이 개시되었다. 본 발명은 제 1 및 제 2 버퍼를 이용하여 상기 네트워크에서 각 프레임을 저장한다. 상기 제 1 버퍼는 상기 제 2 버퍼보다 크기가 작다. 상기 프레임에서 상기 불필요한 헤더 정보를 제거하기 위해 바이트의 복사가 상기 더 작은 버퍼에서 단독으로 발생한다. 이러한 방식으로, 상기 불필요한 헤더 정보를 제거하면, 보다 적은 프로세서 사이클이 요구되게 되고, 패킷 수신 프로세스에서 레이턴시가 최소화되게 된다.
본 발명은 도시된 실시예들에 따라 설명되었지만, 이 기술분야의 당업자이면 변형들이 있을 수 있으며, 그의 변형들이 본 발명의 정신과 범위내에 있음을 알 수 있을 것이다. 따라서, 첨부된 청구항의 정신과 범위에서 벗어남이 없이 이 기술분야의 당업자에 의해 다수의 수정들이 이루어질 수 있다.

Claims (22)

  1. 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,
    (a) 상기 프레임을 수신하는 단계와;
    (b) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 상기 프레임의 나머지 바이트들을 제 2 버퍼에 저장하는 단계와, 여기서 상기 제 1 버퍼의 크기는 상기 제 2 버퍼의 크기보다 작으며;
    (c) 상기 제 1 버퍼에 상기 불필요한 헤더 정보가 저장되어 있는지를 결정하는 단계와;
    (d) 상기 제 1 버퍼에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사하는 단계와;
    (e) 검색되는 상기 제 1 버퍼에 저장된 상기 프레임의 바이트들의 수를 보고하는 단계와; 그리고
    (f) 상기 제 1 버퍼에 저장된 상기 프레임의 상기 보고된 바이트들의 수를 검색하는 단계와 그리고 상기 제 2 버퍼에 저장된 상기 프레임의 상기 바이트들을 검색하는 단계를 포함하여 구성되며, 여기서 상기 저장하는 단계(b)는,
    (1) 상기 제 1 버퍼에 목적지 어드레스를 저장하는 단계와;
    (2) 상기 제 1 버퍼에 소스 어드레스를 저장하는 단계와;
    (3) 상기 제 1 버퍼에 제한 자동 재전송 요구(LARQ)를 저장하는 단계와;
    (4) 상기 제 1 버퍼에 Q 태그를 저장하는 단계와;
    (5) 상기 제 2 버퍼에 길이/타입을 저장하는 단계와;
    (6) 상기 제 2 버퍼에 복수의 데이터 바이트들을 저장하는 단계와; 그리고
    (7) 상기 제 2 버퍼에 프레임 검사열(FCS)을 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  2. 제 1 항에 있어서, 상기 결정하는 단계(c)는,
    (c1) 상기 LARQ와 상기 Q 태그가 상기 제 1 버퍼에 저장되어 있는지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  3. 제 1 항에 있어서, 상기 보고하는 단계(e)는,
    (e1) 상기 제 1 버퍼에 저장된 상기 목적지 어드레스와 상기 소스 어드레스 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  4. 제 1 항에 있어서, 상기 검색하는 단계(f)는,
    (f1) 상기 제 1 버퍼에 저장된 상기 목적지 어드레스와 상기 소스 어드레스를 검색하는 단계와; 그리고
    (f2) 상기 제 2 버퍼에 저장된 상기 길이/타입, 상기 복수의 데이터 바이트들, 및 상기 FCS를 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  5. 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,
    (a) 상기 프레임을 수신하는 단계와;
    (b) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 상기 프레임의 나머지 바이트들을 제 2 버퍼에 저장하는 단계와, 여기서 상기 제 1 버퍼의 크기는 상기 제 2 버퍼의 크기보다 작으며;
    (c) 상기 제 1 버퍼에 상기 불필요한 헤더 정보가 저장되어 있는지를 결정하는 단계와;
    (d) 상기 제 1 버퍼에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사하는 단계와;
    (e) 검색되는 상기 제 1 버퍼에 저장된 상기 프레임의 바이트들의 수를 보고하는 단계와; 그리고
    (f) 상기 제 1 버퍼에 저장된 상기 프레임의 상기 보고된 바이트들의 수를 검색하는 단계와 그리고 상기 제 2 버퍼에 저장된 상기 프레임의 상기 바이트들을 검색하는 단계를 포함하여 구성되며, 여기서 상기 저장하는 단계(b)는,
    (1) 상기 제 1 버퍼에 목적지 어드레스를 저장하는 단계와;
    (2) 상기 제 1 버퍼에 소스 어드레스를 저장하는 단계와;
    (3) 상기 제 1 버퍼에 LARQ를 저장하는 단계와;
    (4) 상기 제 1 버퍼에 길이/타입을 저장하는 단계와;
    (5) 상기 제 1 버퍼에 복수의 데이터 바이트들의 시작부 바이트들을 저장하는 단계와;
    (6) 상기 제 2 버퍼에 상기 복수의 데이터 바이트들의 나머지 바이트들을 저장하는 단계와; 그리고
    (7) 상기 제 2 버퍼에 FCS를 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  6. 제 5 항에 있어서, 상기 결정하는 단계(c)는,
    (c1) 상기 LARQ가 상기 제 1 버퍼에 저장되어 있는지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  7. 제 5 항에 있어서, 상기 복사하는 단계(d)는,
    (d1) 상기 복수의 데이터 바이트들의 상기 시작부 바이트들과 상기 길이/타입을 상기 제 1 버퍼 내의 상기 LARQ에 복사하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  8. 제 5 항에 있어서, 상기 보고하는 단계(e)는,
    (e1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스에 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  9. 제 5 항에 있어서, 상기 검색하는 단계(f)는,
    (f1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스를 검색하는 단계와; 그리고
    (f2) 상기 제 2 버퍼에 저장된 상기 FCS와 상기 복수의 데이터 바이트들의 상기 나머지 바이트들을 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  10. 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,
    (a) 상기 프레임을 수신하는 단계와;
    (b) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 상기 프레임의 나머지 바이트들을 제 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. 제 10 항에 있어서, 상기 결정하는 단계(c)는,
    (c1) 상기 Q 태그가 상기 제 1 버퍼 내에 저장되어 있는지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  12. 제 11 항에 있어서, 상기 복사하는 단계(d)는,
    (d1) 상기 복수의 데이터 바이트들의 상기 시작부 바이트들과 상기 길이/타입을 상기 제 1 버퍼 내의 상기 Q 태그에 복사하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  13. 제 11 항에 있어서, 상기 보고하는 단계(e)는,
    (e1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스에 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  14. 제 11 항에 있어서, 상기 검색하는 단계(f)는,
    (f1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스를 검색하는 단계와; 그리고
    (f2) 상기 제 2 버퍼에 저장된 상기 FCS와 상기 복수의 데이터 바이트들의 상기 나머지 바이트들을 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  15. 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,
    (a) 상기 프레임을 수신하는 단계와;
    (b) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 상기 프레임의 나머지 바이트들을 제 2 버퍼에 저장하는 단계와, 여기서 상기 제 1 버퍼의 크기는 상기 제 2 버퍼의 크기보다 작으며;
    (c) 상기 제 1 버퍼에 상기 불필요한 헤더 정보가 저장되어 있는지를 결정하는 단계와;
    (d) 상기 제 1 버퍼에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사하는 단계와;
    (e) 검색되는 상기 제 1 버퍼에 저장된 상기 프레임의 바이트들의 수를 보고하는 단계와; 그리고
    (f) 상기 제 1 버퍼에 저장된 상기 프레임의 상기 보고된 바이트들의 수를 검색하는 단계와 그리고 상기 제 2 버퍼에 저장된 상기 프레임의 상기 바이트들을 검색하는 단계를 포함하여 구성되며, 여기서 상기 저장하는 단계(b)는,
    (b1) 상기 제 1 버퍼에 목적지 어드레스를 저장하는 단계와;
    (b2) 상기 제 1 버퍼에 소스 어드레스를 저장하는 단계와;
    (b3) 상기 제 1 버퍼에 길이/타입을 저장하는 단계와;
    (b4) 상기 제 1 버퍼에 복수의 데이터 바이트들의 시작부 바이트들을 저장하는 단계와;
    (b5) 상기 제 2 버퍼에 상기 복수의 데이터 바이트들의 나머지 바이트들을 저장하는 단계와; 그리고
    (b7) 상기 제 2 버퍼에 FCS를 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  16. 제 15 항에 있어서, 상기 결정하는 단계(c)는,
    (c1) 불필요한 헤더 정보가 상기 제 1 버퍼 내에 저장되어 있지 않은지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  17. 제 15 항에 있어서, 상기 보고하는 단계(e)는,
    (e1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스에 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  18. 제 15 항에 있어서, 상기 검색하는 단계(f)는,
    (f1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스를 검색하는 단계와; 그리고
    (f2) 상기 제 2 버퍼에 저장된 상기 FCS와 상기 복수의 데이터 바이트들의 상기 나머지 바이트들을 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
  19. 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하기 위한 컴퓨터 명령들을 갖는 컴퓨터 판독가능 매체로서, 상기 명령들은,
    (a) 상기 프레임을 수신하는 명령과;
    (b) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 상기 프레임의 나머지 바이트들을 제 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) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 상기 프레임의 나머지 바이트들을 제 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) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 그리고 상기 프레임의 나머지 바이트들을 제 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) 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 그리고 상기 프레임의 나머지 바이트들을 제 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를 저장하는 회로를 포함하는 것을 특징으로 불필요한 헤더 정보를 제거하는 시스템.
KR1020037014338A 2001-05-03 2002-01-23 수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들 KR100819194B1 (ko)

Applications Claiming Priority (3)

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
US09/848,652 2001-05-03
PCT/US2002/002191 WO2002091711A2 (en) 2001-05-03 2002-01-23 Multiple buffers for removing unwanted header information from received data packets

Publications (2)

Publication Number Publication Date
KR20040060850A KR20040060850A (ko) 2004-07-06
KR100819194B1 true KR100819194B1 (ko) 2008-04-04

Family

ID=25303900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037014338A KR100819194B1 (ko) 2001-05-03 2002-01-23 수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들

Country Status (8)

Country Link
US (1) US6735649B2 (ko)
EP (1) EP1384364B1 (ko)
JP (1) JP3878136B2 (ko)
KR (1) KR100819194B1 (ko)
CN (1) CN1266912C (ko)
DE (1) DE60206901T2 (ko)
TW (1) TWI233279B (ko)
WO (1) WO2002091711A2 (ko)

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 한국전자통신연구원 이더넷 헤더 처리 장치 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (5)

* 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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
DE60206901T2 (de) 2006-07-27
TWI233279B (en) 2005-05-21
DE60206901D1 (de) 2005-12-01
US6735649B2 (en) 2004-05-11
WO2002091711A2 (en) 2002-11-14
KR20040060850A (ko) 2004-07-06
JP2005515649A (ja) 2005-05-26
WO2002091711A3 (en) 2003-05-15
CN1513251A (zh) 2004-07-14
EP1384364A2 (en) 2004-01-28
JP3878136B2 (ja) 2007-02-07
US20020166006A1 (en) 2002-11-07
CN1266912C (zh) 2006-07-26
EP1384364B1 (en) 2005-10-26

Similar Documents

Publication Publication Date Title
US5361372A (en) Memory management for data transmission networks
JP3384686B2 (ja) 通信ネットワークから情報を受信するための方法および装置
CN102427446B (zh) 分组合并
AU747484B2 (en) Reduced packet header in wireless communications network
US6002669A (en) Efficient, multi-purpose network data communications protocol
US7136355B2 (en) Transmission components for processing VLAN tag and priority packets supported by using single chip's buffer structure
US8811171B2 (en) Flow control for multi-hop networks
KR100425062B1 (ko) 데이터 교환 장치용 내부 통신 프로토콜
US6741566B1 (en) Remote management ethernet network and device
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
JP2002503914A (ja) ファイバ・チャネル・フレームからダイナミックescon接続を確立する方法及び装置
US10230656B2 (en) Method and apparatus for controlling message over heterogeneous network
KR20020060623A (ko) 데이터를 전송하기 위한 신뢰성 있는 프로토콜을 제공하는방법 및 장치
JPH07168774A (ja) 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法
KR100819194B1 (ko) 수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들
WO2005104478A2 (en) Network interface card with rdma capability
JPH02241157A (ja) データ転送装置
US6996124B1 (en) Mechanism to strip LARQ header and regenerate FCS to support sleep mode wake up
JP4006444B2 (ja) ネットワーク上の状態情報の通信
US7428242B2 (en) Action list for a split media access and control layer communications system
US7164681B2 (en) Mechanism to strip LARQ header and preserve LARQ header in status frame
JP2000341333A (ja) ネットワークパケット送受信方法およびネットワークアダプタ
US20030172176A1 (en) Embedded system having multiple data receiving channels
JP2010251911A (ja) ノード間データ応答システム
JP2001244937A (ja) イーサネットを用いた通信における電文量を削減する方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130305

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160303

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee