KR100819194B1 - 수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들 - Google Patents
수신 데이터 패킷들에서 불필요한 헤더 정보를 제거하는 다중 버퍼들 Download PDFInfo
- 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
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)
Abstract
네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법이 개시된다. 상기 방법은 상기 프레임의 시작부 바이트들을 제 1 버퍼에 저장하고 그 나머지 바이트들을 제 2 버퍼 - 상기 제 1 버퍼의 크기는 상기 제 2 버퍼의 크기보다 작다 - 에 저장하는 단계와; 상기 제 1 버퍼에 불필요한 헤더 정보가 저장되어 있는지를 판단하는 단계와; 상기 제 1 버퍼에 저장되어 있는 상기 불필요한 헤더 정보 다음의 상기 프레임의 바이트들을 상기 불필요한 헤더 정보의 위치에 복사하는 단계와; 검색되는 상기 제 1 버퍼에 저장된 상기 프레임의 바이트 수를 보고하는 단계와; 그리고 상기 제 1 버퍼에 저장된 상기 프레임의 보고된 바이트 수를 검색함과 아울러 상기 제 2 버퍼에 저장된 상기 프레임의 바이트를 검색하는 단계를 포함한다. 이러한 바이트의 복사는 상기 제 1 버퍼에서 단독으로 발생한다. 이에 따라, 상기 불필요한 헤더 정보를 제거하면, 보다 적은 프로세서 사이클이 요구되게 되고, 패킷 수신 프로세스에서 레이턴시가 최소화되게 된다.
프레임, 버퍼, 헤더
Description
본 발명은 네트워크에서의 수신 데이터 패킷들에 관한 것으로, 특히, 그 네트워크에서의 수신 데이터 패킷들로부터 불필요한 헤더 정보를 제거하는 것에 관한 것이다.
홈 네트워크들은 가정내의 컴퓨터들을 접속하는데 있어 점점더 보편화되고 바람직해지고 있다. 홈 네트워크의 하나의 타입으로는, 일반적으로 가정에 설치되어 있는 전화선을 이용하여 가정내의 컴퓨터들 간에 통신을 행하는 홈 전화선 네트워크(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)
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,(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)을 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 1 항에 있어서, 상기 결정하는 단계(c)는,(c1) 상기 LARQ와 상기 Q 태그가 상기 제 1 버퍼에 저장되어 있는지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 1 항에 있어서, 상기 보고하는 단계(e)는,(e1) 상기 제 1 버퍼에 저장된 상기 목적지 어드레스와 상기 소스 어드레스 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 1 항에 있어서, 상기 검색하는 단계(f)는,(f1) 상기 제 1 버퍼에 저장된 상기 목적지 어드레스와 상기 소스 어드레스를 검색하는 단계와; 그리고(f2) 상기 제 2 버퍼에 저장된 상기 길이/타입, 상기 복수의 데이터 바이트들, 및 상기 FCS를 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,(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를 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 5 항에 있어서, 상기 결정하는 단계(c)는,(c1) 상기 LARQ가 상기 제 1 버퍼에 저장되어 있는지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 5 항에 있어서, 상기 복사하는 단계(d)는,(d1) 상기 복수의 데이터 바이트들의 상기 시작부 바이트들과 상기 길이/타입을 상기 제 1 버퍼 내의 상기 LARQ에 복사하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 5 항에 있어서, 상기 보고하는 단계(e)는,(e1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스에 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 5 항에 있어서, 상기 검색하는 단계(f)는,(f1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스를 검색하는 단계와; 그리고(f2) 상기 제 2 버퍼에 저장된 상기 FCS와 상기 복수의 데이터 바이트들의 상기 나머지 바이트들을 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,(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를 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 10 항에 있어서, 상기 결정하는 단계(c)는,(c1) 상기 Q 태그가 상기 제 1 버퍼 내에 저장되어 있는지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 11 항에 있어서, 상기 복사하는 단계(d)는,(d1) 상기 복수의 데이터 바이트들의 상기 시작부 바이트들과 상기 길이/타입을 상기 제 1 버퍼 내의 상기 Q 태그에 복사하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 11 항에 있어서, 상기 보고하는 단계(e)는,(e1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스에 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 11 항에 있어서, 상기 검색하는 단계(f)는,(f1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스를 검색하는 단계와; 그리고(f2) 상기 제 2 버퍼에 저장된 상기 FCS와 상기 복수의 데이터 바이트들의 상기 나머지 바이트들을 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 방법으로서,(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를 저장하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 15 항에 있어서, 상기 결정하는 단계(c)는,(c1) 불필요한 헤더 정보가 상기 제 1 버퍼 내에 저장되어 있지 않은지를 결정하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 15 항에 있어서, 상기 보고하는 단계(e)는,(e1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스에 대한 바이트들의 수를 보고하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 제 15 항에 있어서, 상기 검색하는 단계(f)는,(f1) 상기 제 1 버퍼에 저장된 상기 복수의 데이터 바이트들의 상기 시작부 바이트들, 상기 길이/타입, 상기 소스 어드레스, 그리고 상기 목적지 어드레스를 검색하는 단계와; 그리고(f2) 상기 제 2 버퍼에 저장된 상기 FCS와 상기 복수의 데이터 바이트들의 상기 나머지 바이트들을 검색하는 단계를 포함하는 것을 특징으로 하는 불필요한 헤더 정보를 제거하는 방법.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하기 위한 컴퓨터 명령들을 갖는 컴퓨터 판독가능 매체로서, 상기 명령들은,(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)을 저장하는 명령을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하기 위한 컴퓨터 명령들을 갖는 컴퓨터 판독가능 매체로서, 상기 명령들은,(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를 저장하는 명령을 포함하는 것을 특징으로 컴퓨터 판독가능 매체.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 시스템으로서,(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를 저장하는 회로를 포함하는 것을 특징으로 불필요한 헤더 정보를 제거하는 시스템.
- 네트워크에서 프레임으로부터 불필요한 헤더 정보를 제거하는 시스템으로서,(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를 저장하는 회로를 포함하는 것을 특징으로 불필요한 헤더 정보를 제거하는 시스템.
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)
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)
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)
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 |
-
2001
- 2001-05-03 US US09/848,652 patent/US6735649B2/en not_active Expired - Fee Related
-
2002
- 2002-01-23 KR KR1020037014338A patent/KR100819194B1/ko not_active IP Right Cessation
- 2002-01-23 DE DE60206901T patent/DE60206901T2/de not_active Expired - Lifetime
- 2002-01-23 JP JP2002588053A patent/JP3878136B2/ja not_active Expired - Fee Related
- 2002-01-23 WO PCT/US2002/002191 patent/WO2002091711A2/en active IP Right Grant
- 2002-01-23 CN CNB028110153A patent/CN1266912C/zh not_active Expired - Fee Related
- 2002-01-23 EP EP02705979A patent/EP1384364B1/en not_active Expired - Lifetime
- 2002-04-30 TW TW091108910A patent/TWI233279B/zh not_active IP Right Cessation
Patent Citations (1)
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 |