KR101332279B1 - 데이터 패킷 전송 방법 및 디바이스 - Google Patents

데이터 패킷 전송 방법 및 디바이스 Download PDF

Info

Publication number
KR101332279B1
KR101332279B1 KR1020087020789A KR20087020789A KR101332279B1 KR 101332279 B1 KR101332279 B1 KR 101332279B1 KR 1020087020789 A KR1020087020789 A KR 1020087020789A KR 20087020789 A KR20087020789 A KR 20087020789A KR 101332279 B1 KR101332279 B1 KR 101332279B1
Authority
KR
South Korea
Prior art keywords
transmitted
packet
register
descriptor
data packet
Prior art date
Application number
KR1020087020789A
Other languages
English (en)
Other versions
KR20080106203A (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
Priority to FR0650844 priority Critical
Priority to FR0650844A priority patent/FR2898455A1/fr
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Priority to PCT/EP2007/052145 priority patent/WO2007104688A1/en
Publication of KR20080106203A publication Critical patent/KR20080106203A/ko
Application granted granted Critical
Publication of KR101332279B1 publication Critical patent/KR101332279B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Queuing arrangements
    • H04L49/901Storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Queuing arrangements

Abstract

본 발명은 데이터 패킷 전송에 관한 것이다. 전송될 패킷 관리를 단순화하기 위해, 전송될 패킷의 적어도 하나의 디스크립터(3700)를 제 1 레지스터(370)에 기록하는 단계로서, 전송될 패킷의 각 디스크립터는 세트에 속하는 각 패킷의 상태를 나타내는 정보를 포함하고, 각 패킷의 상태는 패킷이 전송되는지 또는 전송되지 않는지를 나타내는, 제 1 레지스터에 기록하는 단계와, 제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷(3710)을 결정하는 단계, 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터(371)에 기록하는 단계와, 데이터 패킷의 세트를 전송하는 단계를 구현한다.
패킷, 디스크립터, 식별자, 레지스터, 블럭

Description

데이터 패킷 전송 방법 및 디바이스{METHOD AND DEVICE FOR TRANSMITTING DATA PACKETS}

본 발명은 통신 분야에 관한 것으로서, 더 정확하게는 고속의 패킷 전송에 대한 것이다.

현재의 기술 수준에 따르면, 데이터 패킷 전송을 위한 방법은 에러있는 패킷을 재전송하도록 패킷을 인식하기 위한 메커니즘을 구현한다.

MAC("Medium Access Channel"의 줄임말)층에서, MSDU("MAC Service Data Unit"의 줄임말) 또는 전송될 데이터는 MAC 헤더와 함께 PDU("Protocol Data Unit"의 줄임말)에 캡슐화된다. MSDU가 전송되는 경우, 이들은 번들될 수 있거나(수개 MSDU의 수개 단편이 단일 PDU로 전송됨), 또는 단순하게 단편화된다(MSDU의 일부(또는 단편)만이 PDU로 전송되고, 나머지 부분은 하나 이상의 다른 PDU로 전송됨). ARQ("Automatic Repeat Request"의 줄임말)를 가지고 하는 통신의 경우, MSDU 단편은 수개의 블럭으로 나누어지고 각 블럭이 인식되어야만 한다(acknowledged). IEEE802.16 표준에 따르면, 일 단편은 디스패칭(dispatching) 또는 인식되지 않은 연속 블럭을 포함해야 한다.

송/수신국의 마이크로프로세서에 의해 구현된 이러한 방법은 정반대의 도 1에 예시되며, 초기화 단계(10)로 시작되며, 이 단계 중 변수는 전송될 제 1 블럭에 대한 현재 블럭 포인트를 가리킨다. 이후, 단계(11) 중, 블럭 세트에 대응하는 MSDU에 상응하는 하나 이상의 데이터 패킷이 전송된다. 그 후, 단계(12) 중, 국은 에러 디스크립터를 대기 및 수신하며, 전송된 각 블럭은 그 수신측에 의한 양호 또는 불량 수신의 함수로서 수신확인되거나(acknowledged) 또는 되지 않는다. 이후, 테스트 단계(13) 동안에, 마이크로프로세서는 전송된 제 1 블럭에 대응하는 현재 블럭 포인터를 초기화한다. 그 후, 테스트 단계(14) 동안에, 마이크로프로세서는 현재 블럭이 실제로 그 수신측에 의해 수신되었는지를 증명한다. 긍정의 경우, 단계(15) 중, 마이크로프로세서는 현재 블럭에 대응하는 블럭을 리스트에 삽입시킴으로써 재전송될 블럭의 리스트를 갱신한다. 부정의 경우 또는 다음 단계(15)에서, 테스트 단계(16) 중, 마이크로프로세서는 현재 블럭이 전송된 마지막 블럭에 대응하는 지를 증명한다. 긍정의 경우, 단계(11)가 반복되어, 전송되는 블럭은 새로운 블럭이거나, 단계(15) 중에 갱신된 리스트에 대응하는 재전송될 블럭에 대응한다. 부정의 경우, 단계(17) 중, 마이크로프로세서는 전송되는 다음 블럭에서 이를 포인팅함으로써 현재 블럭에 대한 포인터를 갱신한다. 그 후로부터, 테스트 단계(14)가 반복된다. 따라서, 전송(제 1 전송 또는 불량 수신 확인 다음의 재전송)될 블럭 리스트를 갱신하기 위한 프로세스는 비교적 긴데, 왜냐하면 기본 동작 개수가 크기 때문이다(MSDU에 존재하는 블럭 개수에 적어도 2배(단계(14 및 17)에 대응)). 그러 므로, 이러한 테크닉은 높은 반응성을 요구하는 응용(예를 들면, 시청각 스트림 전송 유형의 응용)에 적합하지 않는 단점을 제공한다.

본 발명은 종래 기술의 이들 단점을 완화하는데 그 목적이 있다.

더 상세하게는, 본 발명의 목적은 통신 시스템의 성능(예를 들면, 특히 재전송 요청의 수신에 이어, 통신 링크로 전송될 데이터 블럭의 결정 속도)을 개선하는 것이다.

이 목적을 위해, 본 발명은 데이터 패킷을 전송하는 방법을 제안하며, 본 방법은 다음 단계를 포함한다:

- 전송될 패킷의 적어도 하나의 디스크립터를 제 1 레지스터에 기록하는 단계로서, 전송될 패킷의 각 디스크립터는 세트에 속하는 각 패킷의 상태를 나타내는 정보를 포함하고, 각 패킷의 상태는 패킷이 전송되는지 또는 전송되지 않는지를 나타내는, 제 1 레지스터에 기록하는 단계;

- 제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷을 결정하는 단계, 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터에 기록하는 단계; 및

- 데이터 패킷의 세트를 전송하는 단계.

특별한 특징에 따르면, 제 1 데이터 패킷을 결정하는 단계는 바이너리 데이터 개수로서 표현된 제 1 레지스터의 사이즈보다 더 작은 클럭 사이클 개수 미만으로, 그리고 바람직하게는 하나의 클럭 사이클 미만으로 수행된다.

바람직한 특징에 따르면, 본 방법은 전송될 제 1 데이터 패킷으로 전송될 연속 패킷의 개수를 결정하는 단계를 포함한다.

유리하게는, 전송될 연속 패킷의 개수를 결정하는 단계는 바이너리 데이터 개수로서 표현된 제 1 레지스터의 사이즈보다 더 작은 클럭 사이클 개수 미만으로, 그리고 바람직하게는 하나의 클럭 사이클 미만으로 수행되는 기본 단계이다.

바람직하게는, 전송될 연속 패킷의 개수를 결정하는 단계 및 제 1 데이터 패킷을 결정하는 단계는 동시적이다.

유리한 특징에 따르면, 본 방법은 전송될 연속 패킷의 개수를 제 2 레지스터에 기록하는 단계를 포함한다.

유리하게는, 제 2 레지스터의 판독은 제 2 레지스터에 의해 전송되어야 하는 것으로 표시되는 각 패킷의 상태의 제 1 레지스터의 전자적 갱신을 일으킨다.

특별한 특징에 따르면, 제 2 레지스터의 판독 및 대응하는 제 1 레지스터의 갱신은 하나의 클럭 사이클 미만으로 이루어진다.

특별한 특징에 따르면, 전송될 패킷의 디스크립터 또는 디스크립터들 중 적어도 하나는 패킷 전송 이 후의 타임 아웃 만료 또는 이전에 전송된 패킷에 대응하는 패킷의 수신확인 메시지 수신 이후 갱신된 패킷의 전송에 대한 현재 상태의 디스크립터이다.

유리하게는, 제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷을 결정하는 단계 및 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터에 기록하는 단계는, 디스크립터가 전송될 패킷에 대응하는 상태를 나타내는 정보를 포함하는 한 반복된다.

바람직하게는, 일 상태에 대응하는 패킷은 상태를 나타내는 정보의 위치에 의해, 적어도 부분적으로 식별된다.

특별한 특징에 따르면, 데이터 패킷 세트의 전송은 무선 채널 상으로 수행된다.

본 발명은 또한 데이터 패킷을 전송하는 디바이스에 관한 것으로서, 이 디바이스는 다음을 포함한다:

- 전송될 패킷의 적어도 하나의 디스크립터를 제 1 레지스터에 기록하는 수단으로서, 전송될 패킷의 각 디스크립터는 세트에 속하는 각 패킷의 상태를 나타내는 정보를 포함하고, 각 패킷의 상태는 패킷이 전송되는지 전송되지 않는지를 나타내는, 제 1 레지스터에 기록하는 수단;

- 제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷을 결정하는 수단과, 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터에 기록하는 수단; 및

- 데이터 패킷 세트를 전송하는 수단.

본 발명은 다음에 이어지게 될, 첨부된 도면을 참조하는 설명을 읽게 되면 더 잘 이해되고, 다른 특징 및 이점이 나타나게 될 것이다.

도 1은 그 자체로 알려진 패킷 전송의 구현예를 예시하는 도면.

도 2는 본 발명의 특별한 실시예에 따른 통신 네트워크를 나타내는 도면.

도 3은 본 발명의 특별한 실시예에 따른 도 2의 통신 네트워크 장치를 개략적으로 예시하는 도면.

도 4 내지 도 6은 도 3의 장치에서 구현되는 전송 방법을 나타내는 도면.

도 7은 도 3의 장치에서 구현된 레지스터의 콘텐츠 전개에 대한 예를 제공하는 도면.

도 2는 본 발명의 특별한 실시예에 따른 통신 네트워크(2)를 나타낸다.

네트워크(2)는, 예를 들면 IEEE802.16 유형의 무선 네트워크이고 다음을 포함한다:

- 액세스 포인트(20);

- 단말기(21 및 22).

액세스 포인트(20)는 무선 링크상의 단말기(21 및 22)로 향하는 MSDU를 전송 또는 수신할 수 있다.

도 3은 액세스 포인트(20) 또는 단말기(21 및 22) 중 하나에 대응하는 장치(3)를 개략적으로 예시한다.

또한 클럭 신호를 전송하는, 어드레스 및 데이터 버스(34)에 의해 함께 링크 된 장치(3)는 다음을 포함한다:

- 마이크로프로세서(즉, CPU)(31);

- ROM("Read Only Memory"의 줄임말) 유형(32)의 비휘발성 메모리;

- 랜덤 액세스 메모리, 즉 RAM(33);

- 무선 링크상으로 신호를 전송하는 모듈(35);

- 무선 링크상으로 신호를 수신하는 모듈(36); 및

- 전송될 블럭을 관리하는 모듈(37).

더욱이, 구성요소(31 내지 37)의 각각은 당업자에게 잘 알려져 있다. 이들 공통 구성요소는 여기에 기술되지 않는다.

설명에 사용된 "레지스터"라는 단어는 위에 언급된 메모리의 각각에서, 소 용량의 메모리 영역(수개 바이너리 데이터) 또는 대용량의 메모리 영역(수신된 오디오/비디오 서비스를 나타내는 데이터의 모두 또는 일부 또는 전체 프로그램을 저장하는 것을 가능하게 함)을 가리키는 것임이 관찰된다.

ROM 메모리(32)는 특히 프로그램 "prog"(320)를 포함한다.

이후 기술되는 방법의 단계를 구현하는 알고리즘은 이들 단계를 구현하는 장치(3)와 연결된 ROM 메모리(32)에 저장된다. 파워-업되면(power-up), 마이크로프로세서(31)는 이들 알고리즘의 명령어를 로딩하고 실행한다.

랜덤 액세스 메모리(33)는 특히 다음을 포함한다:

- 장치(3)의 파워-업시 로딩된, 레지스터(330)내의 마이크로프로세서(31)의 운영 프로그램,

- 레지스터(3311 내지 331N) 내의 N개 디스크립터,

- 레지스터(332) 내에 이들 데이터를 포함하는 시청각 데이터 및/또는 MSDU,

- 레지스터(333) 내의 전송될 제 1 블럭 변수, 및

- 레지스터(334) 내의 전송될 블럭 개수의 변수.

전송될 블럭을 관리하는 모듈(37)은 다음을 포함한다:

- 특히 디스크립터의 CPU(31)에 의한 기록을 위해 의도된 레지스터(3700)를 포함하고, 버스(34)를 통하여 CPU(31)에 의해 기록-접근가능하도록 그 자신의 어드레스를 가지는 모듈(370),

- CPU(31)가 판독-접근가능한 다수의 블럭을 식별하는 레지스터(3711)와 제 1 블럭을 식별하는 레지스터(3710)를 포함하되, 이 레지스터(3710 및 3711) 각각이 버스(34)를 통하여 CPU(31)에 의해 판독-접근가능하도록 그 자신의 어드레스를 가지는, 모듈(371), 및

- 레지스터(3700)의 콘텐츠를 제 1 블럭의 식별자 및 다수의 블럭으로 번역하는(translating) 모듈(372).

본 발명에 따르면, 모듈(37)은 하나 이상의 이산 콤포넌트(예를 들면, 프로그래밍가능한 ASIC 또는 프로그래밍가능한 콤포넌트 유형)를 포함하는 전자 블럭이거나, 또는 다른 기능을 포함하는 콤포넌트(예를 들면, 메모리(32 및/또는 33) 및/또는 CPU(31)를 포함하는 ASIC)에서 부분적으로 또는 전체적으로 삽입된다.

기술된 실시예에 따르면, 디스크립터는 32 비트를 포함한다. 본 발명의 변형 실시예에 따르면, 디스크립터는 32(수 비트(예를 들면 8)로부터 수백 또는 수천 비 트까지의 범위에 걸칠 수 있음) 또는 변동가능한 사이즈와 다른 고정 사이즈를 갖는다. 일반적으로, 디스크립터의 각 비트는 전송될 블럭의 상태에 대응하는데, 예를 들면 0과 같은 상태 값은 전송될 블럭에 대응한다(제 1 전송을 위해, 또는 제 2 전송을 위해). 물론, 본 발명에 따르면, 이 상태를 위한 다른 포맷(예를 들면 수 비트) 및 다른 의미 또는 값(예를 들면, 이전에 기술된 것들과 반대의 값)이 가능하다.

명료함의 이유로, "전송될" 블럭에 관련한 디스크립터만이 여기에 기술된다. 다른 디스크립터는 수신확인된 블럭의 특정 디스크립터에서 구현될 수 있다. (수신확인되지(acknowledged) 않은 것으로 표시된 전송된 블럭의) 전송 동안 및 수신 확인(acknowledgement) 프레임(수신 확인 프레임의 콘텐츠의 함수로서 갱신된 표시) 수신시, 특정 디스크립터가 갱신된다. 수신 확인 프레임(또는 에러 디스크립터) 수신시, 전송된 디스크립터는 또한 전송될 블럭의 디스크립터에 관해 비트단위로 수행된 단순한 연산으로 갱신된다.

번역 모듈(372)은 전자 형태, 및 바람직하게는 프로그램가능한 콤포넌트의 로직 회로 형태(예를 들면 게이트어레이, PLD®("Programmable Logic Device"의 줄임말)) 또는 ASIC으로 구현된다. 이러한 회로는 예를 들면, 다음 로직 방정식에 대응하는 그 콘텐츠의 VHDL 정의에 의해 획득 및 최적화된다:

- 입력으로서 판독된 비트의 값의 함수로서, 제 1 블럭의 개수를 위한 출력은,

■만일 첫 비트 = 0이면, 0

■만일 첫 2 비트 = 10이면, 1(입력으로 판독된 첫 번째 비트는 좌측에 표현된 비트임);

■ 만일 첫 3 비트 = 110이면, 2

■ 만일 첫 4 비트 = 1110이면, 3, 그리고

■ 더 일반적으로는, 만일 첫 (n+1) 비트가 1(n 개)0과 같으면, n이고,

- 입력에서 32 비트의 워드는 이후 1의 우측 삽입으로 제 1 블럭의 개수 값만큼 좌측으로 시프트된다,

- 따라서, 시프트된 워드의 함수로서, 비트 개수를 위한 출력은,

■ 만일 첫 2 비트 = 01이면, 1(시프트된 워드의 첫 번째 비트는 좌측에 표현된 비트임)

■ 만일 첫 3 비트 = 001이면, 2

■ 만일 첫 4 비트 = 0001이면, 3, 그리고

■ 더 일반적으로는, 만일 첫 (n+1) 비트가 0(n 개)1과 같으면, n이다.

모듈(372)의 이러한 구현예는 단순한 로직 함수를 포함하고 비교적 적은 로직 게이트를 요구하는 이점을 제공한다.

더욱이, 번역 모듈은 레지스터(3700)에서 직접 디스크립터를 판독하고, 이 디스크립터의 값을 다수의 제 1 블럭과 다수의 블럭으로 변환한다. 후자는 자동적으로 모듈(372)에 의해 각 레지스터(3710 및 3711)에 저장된다. 따라서, 레지스터(3700)의 콘텐츠는 레지스터(3710 및 3711)에 기록된 번역으로, 곧 바로 번역된 다. 이러한 방식으로, 한 클럭 사이클 미만 내로, 레지스터(3700)에 대한 기록 이후, 레지스터(3710 및 3711)가 갱신된다. 그러므로, 레지스터(3700)에 디스크립터를 기록하는 CPU(31)는 레지스터(3710 및 3711)의 콘텐츠 이후 클럭 사이클로부터 바로 판독할 수 있다.

본 발명의 유리한 실시예에 따르면, 2개 레지스터(3710 및 3711)의 판독-접근은 모듈(371 및 370) 사이의 링크(373)를 통하여 레지스터(3700)의 콘텐츠에 대한 자동적인 갱신을 달성한다. 이 갱신은 이 레지스터가 다른 레지스터 이후 판독되는 것을 가정하고 레지스터 중 하나를 판독하거나, 또는 2개 레지스터의 판독값을 저장하고 레지스터(3700)의 자동적인 갱신이 수행되자마자 영으로 설정함으로써 수행될 수 있다. 바람직하게는, 이 자동적인 갱신은 레지스터(3700)에 대한 기록-접근의 충돌을 회피하기 위해 마지막 판독의 클럭 사이클 동안 수행된다. 이 갱신을 수행하기 위해, 모듈(371)은 첫 m 비트가 1로 설정되고 (32-m+1) 비트가 0으로 설정되는 32 비트 워드의 마스크를 생성하는데, 여기서 m은 레지스터(3710 및 3711)의 콘텐츠 합을 나타낸다. 이러한 마스크 생성의 전자적 구현예는 0으로 초기화된 시프트 레지스터의 VHDL 코드에 기초하여 획득될 수 있고, 이 시프트 레지스터의 경우 입력으로서 1을 가지고 m 시프트를 수행한다. 이 마스크에는 레지스터(3700)의 현재 콘텐츠와 마스크 사이에서 비트 단위로 수행되는 "or" 연산의 결과를 레지스터(3700)에 기록하는 것을 발생시키도록 모듈(370)을 위한 커맨드 신호가 링크(373) 상에 제공된다.

도 4는 장치(3)에서 구현된 데이터 패킷을 전송하기 위한 알고리즘을 개략적 으로 예시한다.

첫 번째 단계(40) 동안에, 장치(3)는 그 다양한 콤포넌트 및 변수를 초기화한다.

이후, 단계(41) 동안에, CPU(31)는 전송될 블럭의 리스트를 초기화한다(예를 들면, 명료화를 이유로 도 3에 표현되지 않은 어플리케이션에 의해 전송된 블럭의 도달 함수로서).

그 후, 단계(42) 동안에, 장치(3)는 무선 매체상으로, 타임 아웃이 되게 하면서 전송될 블럭의 리스트에 대응하는 블럭을 전송한다.

이후, 단계(43) 동안에, 장치(3)는 단계(42) 동안에 전송된 블럭의 수신측에 의해 전송된 에러 디스크립터 또는 수신 확인 메시지를 대기하거나, 또는 단계(42) 동안에 발생된 타임아웃의 만료(가능하게는 손실된 에러 디스크립터)를 대기한다. 만일 에러 디스크립터가 수신되면, CPU(31)는 수신된 에러 디스크립터를 가지고 비트단위로 수행된 단순한 "AND" 연산의 도움으로 전송될 블럭의 대응하는 디스크립터를 갱신한다(값은 인식된 블럭의 경우 1이고 에러의 경우 0인 것으로 가정). 만일 타임 아웃이 만료되면, CPU(31)는 인식된 블럭의 디스크립터를 가지고 비트 단위로 수행된 단순한 "AND" 연산의 도움으로 전송될 블럭의 대응하는 디스크립터를 갱신하게 되며(인식된 블럭의 경우 값이 1임을 가정), 따라서 전송될 것으로 가정된 블럭(전송될 블럭의 디스크립터에서 값은 1임)은 인식되지 않았으므로 전송되도록 마킹된다.

그 이후, 단계(44) 동안에, 장치(3)는 수신된 에러 디스크립터의 함수로서 전송될 블럭의 리스트를 갱신한다(적절하다면). 이후 단계(42)가 반복된다.

이들 단계는 CPU(31)에 의해 부분적으로 구현되고, 모듈(37)에 의해 부분적으로 구현된다. CPU(31)에 의한 소프트웨어 부분의 구현은 바람직하게는 멀티-태스크 또는 의사 멀티-태스크 폼으로 수행되므로, 단계(41, 42 및 44)는 다른 태스크에 의해 수행될 수 있다.

도 6은 블록 전송의 단계(42)를 상세하게 도시한다. 이 블럭은 IEEE 801.16 표준에 따라 전송된다.

전송될 블럭의 세트는 "전송(to be transmitted)" 타입의 해당 상태를 갖는다. 이 블럭이 전송된 경우, 그 상태는 변하여 "비전송(not to be transmitted)"이 된다. 각 블럭의 상태는 32 비트의 디스크립터(3311 내지 331N)의 도움으로 저장되며, 비트의 각각은 정확한 블럭의 상태에 대응하고, 첫 32개 블럭의 상태는 디스크립터(3311)에 저장되고 다음의 32 개 블럭의 상태는 다음 디스크립터(3312)에 저장되는 것과 같은 식이다. 2048과 같은 최대 블럭 갯수의 경우, N은 64와 같다.

MSDU 패킷이 전송되어야 하는 경우, 이는 블럭으로 분할된다. 일단 전송될 블럭의 리스트가 갱신되었으면, 블럭 그 자체와 이들의 식별 정보의 전송이 당업자에게 잘 알려진 절차에 따라 수행되나, 더 상세하게 기술되지 않을 것이다. 다른 한편으로는, 본 발명의 주제이고, 단계(42 및 44) 동안 수행된 이 리스트의 갱신이 이후 상세하게 기술된다.

첫 번째 단계(420) 동안에, CPU(31)는 첫 번째 디스크립터(3311)에 대한 포인터로 현재의 디스크립터 변수, 즉 p를 초기화한다.

이후, 테스트 단계(421) 동안에, CPU(31)는 현재 디스크립터는 그 콘텐츠를 FFFFFFFFH(접미사 H는 16진수를 표시함)를 비교함으로써 전송될 블럭을 가리킨다.

만일 적어도 하나의 블럭이 전송되어야 한다면, 단계(422) 동안에, CPU(31)는 레지스터(3700)에 현재 디스크립터의 콘텐츠를 기록한다. 이전에 표시된 바와 같이, 이후 레지스터(3710 및 3711)는 모듈(372)의 도움으로 갱신된다.

이후, 단계(423) 동안에, CPU(31)는 레지스터(3710 및 3711)의 콘텐츠를 판독하고 이를 RAM 메모리(33)의 레지스터(333 및 334)에 각각 저장한다.

이후, 테스트 단계(424) 동안에, CPU(31)가 전송될 블럭의 개수가 영이 아님을 증명한다.

만일 전송될 블럭의 개수가 영이 아니면, 단계(425) 동안에, CPU는 전송될 블럭의 세트를 생성하고 메모리(33)를 갱신하고 단계(423)가 반복된다.

테스트 단계(421)에 대한 부정 응답 또는 테스트 단계(424)에 대한 긍정 응답에 따라, 테스트 단계(427) 동안에, CPU(31)는 현재 디스크립터가 테스트될 마지막 디스크립터인지를 증명한다.

부정의 경우, 단계(428) 동안에, CPU(31)는 다음 디스크립터에서 이를 포인팅함으로써 현재 디스크립터 변수를 갱신한다. 그 후, 단계(422)가 반복된다.

긍정의 경우, 단계(429) 동안에(단계(42)의 마지막 단계), 만일 전송될 블럭이 있다면, 이들 블럭은 전송 디스크립터를 갱신하는 동안 무선 매체상에 전송된다(미도시).

도 5는 디스크립터를 갱신하는 단계(44)를 상세하게 도시한다.

테스트 단계(440) 동안에, CPU(31)는 MSDU 패킷의 수신에 의해 전송된 수신 확인 디스크립터가 수신되는 지를 증명한다.

긍정의 경우, CPU(31)는 수신된 디스크립터, 수신측에 의해 인식되지 않은 블럭에 대응하는 0으로 설정되는 상태 비트, 전송되어야 하는 이들 블럭, 및 인식된 블럭에 대응하는 상태 비트의 함수로서, 디스크립터(3311 내지 331N)를 갱신한다.

부정의 경우, CPU(31)는 이전에 전송된 블럭의 각각을 위하여 0으로 설정된 상태를 표시함으로써 디스크립터(3311 내지 331N)를 갱신한다.

단계(44)는 단계(441 또는 442) 중 하나의 구현예 이후 완성된다.

예시를 목적으로, 도 7은 특별한 디스크립터에 대응하는 레지스터의 콘텐츠 전개에 대한 예를 제공한다.

디스크립터에 대응하는 32개 블럭의 디스패치 이후, 장치(3)는 단계(422 내지 426) 이후 이를 처리하기에 앞서 대응하는 메모리(331 내지 331N)에 기록하는 에러 디스크립터(70)를 수신한다. 특히, 단계(422) 동안에, CPU는 디스크립터(70)의 컨텐츠를 레지스터(3700)에 기록한다. 예시를 목적으로, 디스크립터(70)의 콘텐츠는 E1F03FFFH이고(도 7에서 바이너리로 표현됨), 첫 비트는 좌측에 표현되는 것(고 가중치 비트(high weight bit))으로 가정된다. 레지스터(3710 및 3711)은 이후 각기 3(첫 0이 세 번째 위치에 있음) 및 4(세 번째 위치의 전방에 4개의 연속 0이 있음)를 포함한다. 단계(423) 동안에, CPU(31)는 레지스터(3710 및 3711)의 콘텐츠를 판독하고, 모듈(371)은 레지스터(3700)에 새로운 값(73)(FFF03FFFH의 등가)을 기록하기 위해 레지스터(3700)의 콘텐츠(70)를 가지고, "or" 연산(78)을 수행하는 모듈(370)에 전송하는 마스크(72)(FE000000H의 등가)를 생성한다.

블록 개수의 판독 값이 4와 같으면, 단계(423)가 반복된다. 이제 레지스터(3710 및 3711)는 각각의 값(12 및 6)을 포함한다. 단계(423) 동안에, CPU(31)는 이 값을 판독하고, 이에 의해 모듈(371)에 의한 FFFFC000H의 등가인 마스크(75)의 생성과, 모듈(370)에 의한 레지스터(3700)의 콘텐츠(73)를 가지고 "or" 연산(79)와, 레지스터(3700)에 전체가 1로 설정된 디스크립터(76)의 기록을 달성한다. 이후, 전송될 블럭 개수의 값은 영이고, 첫 번째 블럭의 값은 0과 31 사이(0과 31 포함)에 놓이지 않은 임의의 값 또는 사전 한정값으로 설정된다. 이후, 테스트 단계(424) 동안에, CPU(31)는 현재 디스크립터를 위해 전송될 블럭의 식별 정보의 종료(end)를 탐지한다.

물론, 본 발명은 위에 기술된 실시예에 한정되는 것은 아니다.

특히, 전송/수신 장치의 아키텍처는 각 기능 및/또는 구성요소의 형태(특히, 전자 구성요소의 기능은 제한된 개수의 콤포넌트에 함께 그룹화되거나, 또는 역으로 수개 콤포넌트로 분산될 수 있음) 및 이들의 배열에서, 도 3에 도시된 것과 다를 수 있다.

더욱이, 전송될 블럭을 관리하는 모듈은 다른 구조를 가질 수 있는데, 특히 번역 기능이 레지스터와 결합된 모듈 중 하나와 통합될 수 있다.

게다가, 본 발명에 따르면, 전송될 블럭을 관리하는 모듈은 디스크립터 전체 세트와 결합될 수 있거나, 또는 역으로, 이 장치는 전송될 블럭을 관리하는 수개 모듈을 포함할 수 있는데, 이들 모듈 중 각각은 하나 이상의 디스크립터와 결합된다.

또한, 본 발명은 무선 통신 표준(예를 들면, IEEE802.16)에 따른 데이터 전송에만 제한되지 않고, 전송될 패킷 블럭의 디스크립터를 사용하는 임의의 전송 모드에 관한 것이다.

더욱이, 본 발명의 변형예에 따르면, 전송될 패킷의 디스크립터는 반드시 에러 디스크립터와 결합되는 것은 아니고, 데이터 블럭의 전송을 발생시켜야하는 임의 타입의 특별한 상태(특히, 타임 아웃의 만료)에 대응한다.

본 발명의 변형예에 따르면, 블럭을 관리하는 전자 모듈은 전송될 제 1 블럭의 결정 함수 또는 특별한 랭크로부터 사전 결정된 값을 가지거나 가지지 않는 연속 상태 큐(cue) 개수의 결정 함수 중 하나만을 구현한다.

더욱이, 본 발명은 무선 전송에 제한되지 않고, 임의의 매체상의 모든 전송, 및 특히 잡음있는 유선 채널 또는 기록 채널상의 전송에 관한 것이다.

본 발명은 통신 분야에 이용가능하다.

더 정확하게는, 본 발명은 고속의 패킷 전송에 이용가능하다.

Claims (17)

  1. 데이터 패킷 전송 방법에 있어서,
    - 마이크로프로세서(31)에 의해, 전송될 패킷의 적어도 하나의 디스크립터(3700)를 제 1 레지스터(370)에 기록하는 단계(422)로서, 전송될 패킷의 각 디스크립터는 전송될 패킷의 세트에 속하는 각 패킷의 상태를 나타내는 정보를 포함하고, 각 패킷의 상태는 패킷이 전송될지의 여부를 나타내는, 제 1 레지스터에 기록하는 단계(422);
    - 마이크로프로세서(31)에 의해, 제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷(3710)을 결정하는 단계, 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터(371)에 기록하는 단계; 및
    - 전송 모듈(35)에 의해, 데이터 패킷의 세트를 전송하는 단계
    를 포함하는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  2. 제 1 항에 있어서,
    전송될 패킷의 적어도 하나의 디스크립터는,
    - 에러 디스크립터가 타임 아웃 만료 이전에 수신되는 경우 상기 에러 디스크립터, 또는
    - 수신확인된 패킷의 적어도 하나의 디스크립터에 의해 갱신되는, 데이터 패킷 전송 방법.
  3. 제 1 항에 있어서,
    제 1 데이터 패킷을 결정하는 단계는 바이너리 데이터 개수로서 표현된 제 1 레지스터의 사이즈보다 더 작은 클럭 사이클 개수 미만으로 수행되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  4. 제 3 항에 있어서,
    제 1 데이터 패킷을 결정하는 단계는 하나의 클럭 사이클 미만으로 수행되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    마이크로프로세서(31)에 의해, 전송될 제 1 데이터 패킷으로 전송될 연속 패킷의 개수를 결정하는 단계를 포함하는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  6. 제 5 항에 있어서,
    전송될 연속 패킷의 개수를 결정하는 단계는 바이너리 데이터 개수로서 표현된 제 1 레지스터의 사이즈보다 더 작은 클럭 사이클 개수 미만으로 수행되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  7. 제 6 항에 있어서,
    전송될 연속 패킷의 개수를 결정하는 단계는 하나의 클럭 사이클 미만으로 수행되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  8. 제 5 항에 있어서,
    전송될 연속 패킷의 개수를 결정하는 단계, 및 제 1 데이터 패킷을 결정하는 단계는 동시에 발생하는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  9. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    마이크로프로세서(31)에 의해, 제 2 레지스터에 전송될 연속 패킷의 개수를 기록하는 단계를 포함하는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  10. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    제 2 레지스터의 판독은, 제 2 레지스터에 의해 전송되어야 하는 것으로 표시되는 각 패킷의 상태의 제 1 레지스터의 전자적 갱신을 일으키는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  11. 제 10 항에 있어서,
    제 2 레지스터의 판독 및 대응하는 제 1 레지스터의 갱신은 하나의 클럭 사이클 미만으로 이루어지는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  12. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    전송될 패킷의 디스크립터(들) 중 적어도 하나는 패킷 전송 이후의 타임 아웃 만료 또는 이전에 전송된 패킷에 대응하는 패킷의 수신확인(acknowledgement)의 수신 이후 갱신된 패킷의 전송에 대한 현재 상태의 디스크립터인 것을 특징으로 하는, 데이터 패킷 전송 방법.
  13. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷을 결정하는 단계, 및 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터에 기록하는 단계는, 디스크립터가 전송될 패킷에 대응하는 상태를 나타내는 정보를 포함하는 한 반복되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  14. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    일 상태에 대응하는 패킷은 상태를 나타내는 정보의 위치에 의해, 적어도 부분적으로 식별되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  15. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    데이터 패킷의 세트의 전송은 무선 채널 상에서 수행되는 것을 특징으로 하는, 데이터 패킷 전송 방법.
  16. 데이터 패킷을 전송하는 디바이스(3)에 있어서,
    - 전송될 패킷의 적어도 하나의 디스크립터를 제 1 레지스터(370)에 기록하는 수단으로서, 전송될 패킷의 각 디스크립터는 전송될 패킷의 세트에 속하는 각 패킷의 상태를 나타내는 정보를 포함하고, 각 패킷의 상태는 패킷이 전송될지의 여부를 나타내는, 제 1 레지스터에 기록하는 수단;
    - 제 1 레지스터의 콘텐츠에 기초하여 전송될 제 1 데이터 패킷을 결정하는 수단과, 전송될 제 1 데이터 패킷의 식별자를 제 2 레지스터(371)에 기록하는 수단; 및
    - 데이터 패킷의 세트를 전송하는 수단
    을 포함하는 것을 특징으로 하는, 데이터 패킷을 전송하는 디바이스.
  17. 제 16 항에 있어서,
    전송될 패킷의 적어도 하나의 디스크립터는,
    - 에러 디스크립터가 타임 아웃 만료 이전에 수신되는 경우 상기 에러 디스크립터, 또는
    - 수신확인된 패킷의 적어도 하나의 디스크립터에 의해 갱신되는, 데이터 패킷을 전송하는 디바이스.
KR1020087020789A 2006-03-13 2007-03-07 데이터 패킷 전송 방법 및 디바이스 KR101332279B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0650844 2006-03-13
FR0650844A FR2898455A1 (fr) 2006-03-13 2006-03-13 Procede et dispositif de transmission de paquets de donnees
PCT/EP2007/052145 WO2007104688A1 (en) 2006-03-13 2007-03-07 Method and device for transmitting data packets

Publications (2)

Publication Number Publication Date
KR20080106203A KR20080106203A (ko) 2008-12-04
KR101332279B1 true KR101332279B1 (ko) 2013-11-22

Family

ID=37398269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087020789A KR101332279B1 (ko) 2006-03-13 2007-03-07 데이터 패킷 전송 방법 및 디바이스

Country Status (7)

Country Link
US (1) US8320251B2 (ko)
EP (1) EP1994695B1 (ko)
JP (1) JP4827933B2 (ko)
KR (1) KR101332279B1 (ko)
CN (1) CN101406001B (ko)
FR (1) FR2898455A1 (ko)
WO (1) WO2007104688A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420072B2 (en) 2003-04-25 2016-08-16 Z124 Smartphone databoost
US8767632B2 (en) * 2009-02-05 2014-07-01 Motorola Mobility Llc Method for uplink acknowledgement/non-acknowledgement messages in a wireless communication system
US8788576B2 (en) 2010-09-27 2014-07-22 Z124 High speed parallel data exchange with receiver side data handling
US8751682B2 (en) 2010-09-27 2014-06-10 Z124 Data transfer using high speed connection, high integrity connection, and descriptor
US9774721B2 (en) 2011-09-27 2017-09-26 Z124 LTE upgrade module
US8907906B2 (en) 2011-09-27 2014-12-09 Z124 Secondary single screen mode deactivation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087732A1 (en) 1997-10-14 2002-07-04 Alacritech, Inc. Transmit fast-path processing on TCP/IP offload network interface device
WO2002087174A1 (fr) 2001-04-24 2002-10-31 Thales Procede de gestion d'une liste de paquets dans un port de sortie d'un commutateur de paquets.

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483518A (en) * 1992-06-17 1996-01-09 Texas Instruments Incorporated Addressable shadow port and protocol for serial bus networks
US6389479B1 (en) * 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
JP3689580B2 (ja) * 1999-01-29 2005-08-31 株式会社日立製作所 インタネット電話接続方法、帯域管理装置及びゲートキーパー装置
US6625472B1 (en) * 1999-05-13 2003-09-23 Skyworks Solutions, Inc. Apparatus and method for connecting a cellular telephone to a universal serial bus
EP1059589B1 (en) * 1999-06-09 2005-03-30 Texas Instruments Incorporated Multi-channel DMA with scheduled ports
US7023833B1 (en) * 1999-09-10 2006-04-04 Pulse-Link, Inc. Baseband wireless network for isochronous communication
JP2001274895A (ja) * 2000-03-23 2001-10-05 Casio Comput Co Ltd データ転送装置及び記録媒体
US6795360B2 (en) * 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
JP2003283472A (ja) * 2002-03-25 2003-10-03 Hitachi Kokusai Electric Inc データ転送制御方法
US7412536B2 (en) * 2003-06-27 2008-08-12 Intel Corporation Method and system for a network node for attachment to switch fabrics
JP2005229151A (ja) * 2004-02-10 2005-08-25 Murata Mach Ltd 通信端末装置
US7161909B2 (en) * 2004-04-23 2007-01-09 Samsung Electronics Co., Ltd. Method and system for acknowledging the receipt of a transmitted data stream in a wireless communication system
JP4497299B2 (ja) * 2004-07-01 2010-07-07 日本電気株式会社 移動無線通信端末装置
JP4369351B2 (ja) * 2004-11-30 2009-11-18 株式会社日立製作所 パケット転送装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087732A1 (en) 1997-10-14 2002-07-04 Alacritech, Inc. Transmit fast-path processing on TCP/IP offload network interface device
WO2002087174A1 (fr) 2001-04-24 2002-10-31 Thales Procede de gestion d'une liste de paquets dans un port de sortie d'un commutateur de paquets.

Also Published As

Publication number Publication date
US8320251B2 (en) 2012-11-27
KR20080106203A (ko) 2008-12-04
JP4827933B2 (ja) 2011-11-30
WO2007104688A1 (en) 2007-09-20
JP2009530879A (ja) 2009-08-27
EP1994695A1 (en) 2008-11-26
US20090303999A1 (en) 2009-12-10
EP1994695B1 (en) 2017-03-01
CN101406001A (zh) 2009-04-08
FR2898455A1 (fr) 2007-09-14
CN101406001B (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
US7970012B2 (en) Packet processing using a multi-port memory
CN101663850B (zh) 用于改进的状态报告的方法和装置
US6430184B1 (en) System and process for GHIH-speed pattern matching for application-level switching of data packets
US7944952B2 (en) Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
CN106489136B (zh) 用于在可扩展存储器系统协议中调节包传输的系统及方法
US7236501B1 (en) Systems and methods for handling packet fragmentation
US6857030B2 (en) Methods, system and article of manufacture for pre-fetching descriptors
US7283528B1 (en) On the fly header checksum processing using dedicated logic
US7313104B1 (en) Wireless computer system with latency masking
US7003710B2 (en) Communications method, communications apparatus and communications system using same communications apparatus
US5949799A (en) Minimum-latency data mover with auto-segmentation and reassembly
US7792014B2 (en) Method of skipping nullified packets during mass replay from replay buffer
ES2402828T3 (es) Establecimiento de prioridades de acuses de recibo en redes inalámbricas
US6965571B2 (en) Precise error reporting
KR101492510B1 (ko) 다중 전달 라우트 패킷 정렬
US5777987A (en) Method and apparatus for using multiple FIFOs to improve flow control and routing in a communications receiver
US8352820B2 (en) ARQ and HARQ protocol data units and method of formation
CN100473066C (zh) 简化的硬件网络适配器和通信方法
US7953093B2 (en) TCP/IP reordering
JP2737399B2 (ja) パケット送信システム内でパケット・シーケンスを維持するための方法および装置
US7936733B2 (en) Radio communication apparatus
JP5497564B2 (ja) セッションアクティブチェッカを有する並列パケットプロセッサ
JP5270901B2 (ja) ネットワーク試験装置及び方法
US8406227B2 (en) Hybrid wired and wireless communication system and a communication method thereof
TWI332150B (en) Processing data for a tcp connection using an offload unit

Legal Events

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

Payment date: 20161018

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181112

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191106

Year of fee payment: 7