KR100812412B1 - 데이터 패킷 전송 방법 및 네트워크 통신 시스템 - Google Patents

데이터 패킷 전송 방법 및 네트워크 통신 시스템 Download PDF

Info

Publication number
KR100812412B1
KR100812412B1 KR1020010038094A KR20010038094A KR100812412B1 KR 100812412 B1 KR100812412 B1 KR 100812412B1 KR 1020010038094 A KR1020010038094 A KR 1020010038094A KR 20010038094 A KR20010038094 A KR 20010038094A KR 100812412 B1 KR100812412 B1 KR 100812412B1
Authority
KR
South Korea
Prior art keywords
queue
endpoint
packet
delete delete
retry
Prior art date
Application number
KR1020010038094A
Other languages
English (en)
Other versions
KR20020002305A (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 KR20020002305A publication Critical patent/KR20020002305A/ko
Application granted granted Critical
Publication of KR100812412B1 publication Critical patent/KR100812412B1/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/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • 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/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • 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/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • 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/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • 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/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명에 따르면 네트워크 통신 시스템 내에서 구현되는 에러 정정 통신 프로토콜이 제공된다. 상기 네트워크 통신 시스템은 복수의 통신 엔드포인트들(endpoints), 즉, 장치들 또는 유닛들을 접속하는 적어도 하나의 전송 매체를 포함한다. 상기 프로토콜은 단일 또는 다수의 엔드포인트에 전송된 패킷들, 예를 들면 방송 패킷들의 에러를 정정하여 전송한다. 상기 프로토콜에 따르면, 각각의 전송 엔드포인트는 그것의 트래픽, 예를 들면, 데이터 패킷들을 분리하여 별개의 큐에 전송되도록 한다. 한 큐의 헤드의 패킷이 전송되며, 전송 완료 신호가 발생할 때까지 다른 패킷은 전송되지 않는다. 언제라도 주어진 전송 엔드포인트로부터는 단지 하나의 미완료 전송만이 존재한다. 패킷이 에러없이 수신되어 착신(destination) 엔드포인트에 의해 받아들여지면, 상기 착신 엔드포인트는 즉시 전송 엔드포인트에 성공적인 수신을 나타내는 긍정응답(acknowledgment)을 반환한다. 전송 완료 신호는 임의의 수신기 긍정응답이 전송 엔드포인트에 의해 수신되었을 때 전송 엔드포인트에서 발생된다. 전송 완료 신호가 전송 엔드포인트에 의해 처리될 때, 만약 성공적인 수신을 나타내는 수신기 긍정응답이 수신되었으면, 사전에 전송된 패킷은 그 큐의 헤드에서 제거된다. 상기 긍정응답이 수신되지 않으면, 상기 패킷은 그 큐의 헤드에 남겨지고, 상기 큐는 "재시도 대기중(pending retry)" 상태로 되며, 짧은 "재시도 대기중" 타이머가 개시된다(다른 큐에 대한 재시도 대기중 때문에 "재시도 대기중" 타이머가 개시되지 않았다면). 어느 경우든, "재시도 대기중" 상태가 아닌 큐에 다른 패킷이 있다면, 상기 다른 패킷은 "재시도 대기중" 상태가 아닌 큐의 헤드로부터 전송된다. "재시도 대기중" 타이머가 만료되면, 모든 큐는 "재시도 대기중" 상태로부터 제거되며, 그들의 패킷들이 다시 전송될 수 있도록 한다. 적어도 한 비트로 이루어진 시퀀스 번호가 동일 큐로부터의 모든 전송에 사용될 수도 있으며, 상기 착신 엔드포인트에 의해 검사되어, 손실된 수신기 긍정응답으로 인한 복사 패킷들이 상기 착신 엔드포인트에 의해 폐기될 수도 있다.

Description

데이터 패킷 전송 방법 및 네트워크 통신 시스템{ERROR-CORRECTING COMMUNICATION METHOD FOR TRANSMITTING DATA PACKETS IN A NETWORK COMMUNICATION SYSTEM}
도 1a 및 1b는 본 발명에 따른 에러 정정 통신 프로토콜을 수행하는 예시적인 네트워크 통시 시스템을 도시한 도면.
도 2는 본 발명에 따른 에러 정정 통신 프로토콜의 흐름도.
도면의 주요 부분에 대한 부호의 설명
10, 20 : 네트워크 30 : 전송 매체
401-40n : 엔드포인트
본 발명은 통신 시스템 및 관련 통신 프로토콜에 관한 것으로서, 특히, 네트 워크 통신 시스템에서 데이터 패킷을 전송하는 에러 정정 통신 방법에 관한 것이다.
복수의 통신 엔드포인트들, 즉, IEEE 표준 1394 고성능 시리얼 버스(High Performance Serial Bus)와 같은 버스에 접속된 디바이스들 또는 유닛들, 또는 버스 이외의 기타 전송 매체를 통해 접속된 디바이스들 또는 유닛들을 갖는 네트워크 통신 시스템에서, 데이터는 전송동안 손상되거나 또는 처리 속도가 전송 엔드포인트보다 더 느리기 때문에 또는 다른 엔드포인트들로부터의 전송을 동시에 처리하기 때문에 폭주(busy) 엔드포인트로 전송될 수 있다. 종래 기술의 에러 정정 통신 프로토콜에서 이들 사건들로부터 복구하기 위한 규정은 (대부분의 패킷들이 아무런 문제없이 교환될 수 있다 하더라도) 이들의 구현이 상당히 복잡하며 모든 통신 패킷을 다루는 과정에서 추가 처리 부담(프로세서 사이클에서)이 요구된다. 복잡성 및 처리 부담을 지원하기 위한 추가적인 부담은 네트워크 통신 시스템을 구현하는데 추가적인 비용을 발생시키며 처리량(throughput)을 제한한다.
D 채널용 링크 액세스 절차(Link Access Procedure on the D-channel : LAPD)와 같은 종래의 에러 정정 통신 프로토콜은 통상적으로 수신 엔드포인트가 각각의 수신된 패킷을 개별적으로 긍정 응답할 것을 요구한다. 전송된 패킷은 전송 동안 소실(예를 들면, 손상)될 수도 있기 때문에, 전송 엔드포인트는, 이미 전송되었지만 각각의 지원된 논리 링크 상에서 긍정 응답되지 않은 패킷에 대한 재전송 타이머를 보유하는 것이 요구된다. 타이머의 종료 후 수신된 맨 마지막의 양호한 패킷에 대해 수신기에게 질의하는 것과 같은 특정 복구 절차가 진행되고, 결국 손상된 패킷(들)을 재전송한다. 수신기에서의 처리 대기시간 및 전송 대기시간이 정당하게 수신기의 긍정응답(acknowledgments)을 지연시킬 수도 있기 때문에, 재전송 간격은 보통 100 밀리초 정도이다. 전송된 패킷에 대한 긍정응답을 수신할 때 발생할 수도 있는 상당한 지연 으로 인해, "윈도우 메커니즘"은 전송기가 몇 개의 아직 긍정응답되지 않은 전송된 패킷을 가질 수 있도록 하는데 이용된다.
수신기의 "폭주(busy) 상태"는 통상적으로 폭주(busy) 상태가 존재할 때와 그 상태를 벗어날 때(폭주(busy) 수신기의 처리 부하가 가중) 전송 엔드포인트로의 명시적인 통지에 의해 처리된다. 폭주(busy) 상태로부터 복구하기 위해 보통의 재전송 간격들을 이용하면 수신기에서 새로운 패킷들을 얻을 때 불필요하게 지연될 수 있기 때문에 이러한 처리가 필요하다. 전술한 에러 복구 및 폭주(busy) 복구 절차는 모두 에러 그 자체가 있는 상태에서 동작하여야 한다(예를 들면, 폭주 상태가 제거되었다는 통지 또는 수신기 긍정응답이 손상될 수 있다).
또한, 두 엔드포인트 사이의 한 통신 방향에서의 에러 또는 폭주 상태로부터 복구하기 위한 통신은 동일한 두 엔드포인트 사이의 통신의 다른 방향에서의 폭주 또는 과부하 상태에 의해 방해될 수도 있다. 이들 프로토콜을 구현하는데 있어서의 복잡성으로 인해, 그리고 다수의 링크들에 대한 링크마다의 상태 정보(예를 들면, 재전송 타이머 및 전송 윈도우)를 유지할 필요가 있기 때문에, 이들 프로토콜들은 통상적으로 소프트웨어로 구현된다. 통상적인 멀티태스킹 방식의 선점형 운영체제(pre-emptive operating system)에서, 각각의 무에러 패킷에 대한 프로토콜 처리는 둘 이상의 문맥(context) 스위치 및 소프트웨어 타이머를 시작하고 중지하 는 작업을 포함한다. 대량의 트래픽을 처리하고자 할 때, 이들 운영 체제의 동작 그 자체에 대한 프로세서 부담은 상당할 수 있다. 이들 복잡한 프로토콜들의 소프트웨어 개발은 또한 에러가 발생하기 쉽고, 개발비용이 많이 든다. 이러한 복잡한 프로토콜 포함하는 제품은 제품으로 된 후에 통신 프로토콜에서 하나 이상의 찾기 어려운 "버그들(bugs)"을 갖는 것이 일반적이다.
따라서, 독립적이며 상호 통신하는 엔드포인트들 사이에서 패킷들을 전송하는데 있어서, 통신 시스템 성능 및 효율을 개선하는 에러 정정 통신 프로토콜이 필요하다. 또한, 고 성능의 저가의 네트워크 통신 시스템을 인에이블시키면서, 저렴한 비용으로 하드웨어로 구현될 수 있는 간단한 에러 정정 프로토콜이 필요하다.
본 발명은 적어도 하나의 전송 매체를 통해 복수의 엔드포인트들, 즉, 예를 들어 서버와 단말기기와 같은 디바이스들 또는 유닛들을 접속하는 네트워크 통신 시스템 내에 구현된 에러 정정 통신 프로토콜을 제공한다. 상기 프로토콜에서, 각각의 전송 엔드포인트는 그 트래픽, 예를 들면, 데이터 패킷들을 분리하여 별개의 큐(queue)로 전송되도록 한다. 하나의 큐의 헤드의 패킷이 전송되고, 다른 패킷은 전송 완료 신호가 발생될 때까지 전송되지 않는다. 전송은 전송 완료 신호가 서비스될 때까지 "미완료(incomplete)"라고 지칭된다. 임의의 시간에는 주어진 전송 엔드포인트로부터 단지 하나의 미완성 전송만이 존재한다.
패킷이 에러 없이 수신되어 수신 즉 착신(destination) 엔드포인트에 의해 받아들여졌을 때, 상기 수신 엔드포인트는 성공적인 수신을 나타내는 긍정응답을 상기 전송 엔드포인트로 즉시 반환한다. 전송 완료 신호는 임의의 수신기 긍정응답이 전송 엔드포인트에 의해 수신되었을 때 전송 엔드포인트에서 발생된다.
전송 완료 신호가 전송 엔드포인트에 의해 처리될 때(하드웨어 또는 전송 완료 인터럽트 서비스 루틴에서), 만약 성공적인 수신을 나타내는 수신기 긍정응답이 수신되면, 사전에 전송된 패킷은 큐의 헤드에서 제거된다. 그렇지 않고, 패킷이 큐의 헤드에 남아 있으면, 상기 큐는 "재시도 대기중(pending retry)" 상태로 되며, 단기의 "재시도 대기중" 타이머, 바람직하게는 하드웨어 타이머가 개시된다(다른 큐에 대한 재시도 대기중 때문에 재시도 대기중 타이머가 개시되지 않으면). 어느 한 경우에, 다른 패킷이 있다면, 다른 패킷이 재시도 대기중 상태에 있지 않은 상태에서 큐의 헤드로부터 전송된다.
재시도 대기중 타이머가 만료될 때, 하드웨어 프로세스 또는 소프트웨어 전송 완료 인터럽트 서비스 루틴은, 재시도 대기중 상태에서 벗어나 재시도 대기중 타이머와 관련된 모든 큐를 이동시켜, 이들의 패킷들이 다시 전송되도록 할 수 있다. 따라서, 각각의 상기 큐들로부터 전송될 제 1 패킷은 재전송될 것이다. 적어도 1 비트로 구성된 증가형의 시퀀스 번호는 동일한 큐로부터의 모든 전송에 사용되며, 수신 엔드포인트에 의해 검사되어, 복사 패킷들, 예를 들면, 손실된 수신기 긍정응답으로 인해 잘못 재전송된 패킷들이 수신 엔드포인트에 의해 폐기될 수도 있다.
이제 도면을 참조하면, 도면에 있어서 유사한 참조 번호는 유사하거나 동일한 요소들을 나타내며, 특히 도 1a 및 1b에는 본 발명에 따른 에러 정정 통신 프로토콜을 구현하기 위한 예시적인 네트워크 통신 시스템이 도시되어 있다. 도 1a는 참조 번호 10으로 표시된 로컬 버스 네트워크가 도시되어 있고, 도 1b는 참조번호 20으로 표시된 로컬 링 네트워크를 도시하고 있다. 각각의 네트워크(10, 20)는 복수의 엔드포인트(401-40n), 즉, 서버 및 단말기기와 같은 디바이스들 또는 유닛들을 접속시키는 전송 매체(30)를 포함한다.
전송 매체(30)는 바람직하게는 전송 매체(30)에 접속된 전송 엔드포인트, 예를 들면, 401로부터의 각각의 전송이 수신 엔드포인트(40), 예를 들면 40n에 의해 즉시 응답되는 것을 요구하는 물리(physical) 층 프로토콜을 포함한다. 상기 물리 층 프로토콜은 또한 바람직하게는, 전송 엔드포인트(401)가 전송 완료 인터럽트 신호를 발생할 때, 신호가 수신 엔드포인트(40n) 응답이 수신되었는지에 대해 통지하고, 만약 수신되었다면 그 응답이 성공적인 수신을 나타내었는지 아니면 폭주(busy) 상태 또는 다른 이유로 인해 실패를 나타내었는지를 통지한다.
도 1a에 도시된 예시적인 네트워크 통신 시스템에서, 전송 매체(30) 상의 물리(PHY) 층 및 링크 층을 통해 동작하는 프로토콜은 바람직하게는 고성능 직렬 버스(High Performance Serial Bus)에 대한 IEEE 1394 표준에서 지정된 프로토콜이다. 도 1b에서, PHY 및 매체 액세스 제어(MAC) 층에서 동작하는 프로토콜은 바람직하게는 로컬 에이리어 네트워크 토큰 버스(Local Area Network Token Bus)에 대 해 ANSI/ATA 표준 878.1에 지정된 프로토콜이다.
예시적인 실시예에서, IEEE 1394 및 ANSI/ATA 878.1 프로토콜은, 수신기가 전송된 패킷의 성공적인 수신에 대해 즉시 긍정 응답을 하고 그러한 긍정 응답이 전송 완료 신호의 발생시 전송기에 의해 수신되었는지 여부를 나타내는 표시를 하도록 요구하는 본 발명의 특징들을 제공하며, 이러한 특징들을 구현하는 상업적인 하드웨어가 이용 가능하다. 바람직하게, 상기 전송 완료 신호가 전송 완료 인터럽트 신호를 소프트웨어에 대해 발생시킨다. 또한, 바람직하게, 상기 전송 완료 인터럽트 신호는 당업자에게 공지되어 있는 여러 기술들 중 하나에 의해 확실히 발생하도록 설계된다. 예를 들면, 신호를 발생시키는 정상적인 메카니즘이 고장나면, 다른 "와치 도그(watch dog)" 회로가, 상기 신호가 발생되었어야 하는 시간으로부터 약간 지연된 후 신호를 발생시킬 것이다.
도 2에는 본 발명의 에러 정정 통신 프로토콜의 흐름도가 도시되어 있다. 단계(200)에서 전송 엔드포인트(401)로부터 전송되는 패킷들이 있는 사건이 발생한 때, 단계(205)에서 상기 패킷들은 다수의 큐로 분할되는데, 하나의 큐는 각각의 착신 엔드포인트를 위한 것으로, 여기서는 바람직하게 동일 엔드포인트에 대한 모든 상위 레벨의 논리 링크가 동일 큐를 공유한다. 트래픽이 사전에 빈 큐 내에 배치되면, 상기 큐는 "빈(empty)" 상태로부터 "대기(ready)" 상태로 된다.
한번에 단지 하나의 미완료 전송이 존재하며(전송은 그 전송에 대한 전송 완료 신호가 서비스될 때까지 "미완료(incomplete)"라고 지칭함), "대기(ready)" 큐들은 바람직하게 라운드-로빈(round-robin) 방식으로 서비스된다. 따라서, 단계 210에서, 상기 프로토콜은 미완료 전송이 있는지를 판정하기 위한 검사를 한다. 만약, 미완료 전송이 없다면, 단계 215에서, 상기 전송 완료 인터럽트 신호가 제 1 "대기" 큐의 헤드에서의 패킷(만약 있다면)이, 대응하는 수신 또는 착신 엔드포인트(40n)로 전송되고, 단계 220에서 전송 엔드포인트(401)에 의해 전송 완료 인터럽트 신호가 서비스될 때까지 어떠한 다른 패킷도 전송되지 않는다. 만약, 미완료 전송이 있다면, 상기 프로토콜은 단계 215를 생략하고 종료된다.
본 발명의 프로토콜은 하나 이상의 큐가 동시에 미완료 전송을 가질 수 있도록 구현될 수도 있다. 따라서, 도 2의 단계 210에서의 검사는 각각의 모든 대기 큐 상에 미완료 전송이 있는지의 여부를 판정하도록 수정될 수 있다. 만약 미완료 전송이 없다면, 단계 215에서, 어떠한 미완료 전송도 갖지 않는 적어도 하나의 대기 큐의 헤드에서의 패킷이 전송될 것이다. 따라서, 또한 전송 완료 신호가 어느 큐에 대해 전송 완료 신호가 발생했는지를 나타낼 수 있을 것이다.
단계(220)에서, 전송 엔드포인트(401)에 전송 완료 인터럽트 신호가 있는 사건 발생시, 전송 완료 인터럽트 서비스 루틴은 단계(230)에서 성공적인 수신을 나타내는 수신기 긍정 응답이 수신되었는지 여부를 판정한다. 만약 수신되었다면, 상기 절차는 단계 235로 진행한다. 단계 235에서, 사전에 전송된 패킷이 그 큐의 헤드에서 제거된다.
만약 성공적인 수신을 나타내는 수신기 긍정 응답이 수신되지 않았다고 판정되면, 예를 들어 수신 엔드포인트(40n)가 폭주하고 있거나, 상기 수신기 긍정 응답 그 자체가 손상되었거나, 또는 패킷이 손상되어 수신되었다고 수신기에 의해 검출되면, 단계(260)에서 사전에 전송된 패킷은 "재시도 대기중(pending retry)" 상태로 그 큐의 헤드에 남아 있으며, 단계(265)에서 상기 재시도 대기중 타이머가 온(on)인지 판정하기 위해 검사된다. 재시도 대기중 타이머가 온(on)이 아니라면, 재시도 대기중 타이머는 단계(270)에서 개시되며, 상기 프로토콜은 단계(240)로 진행한다. 만약 상기 재시도 대기중 타이머가 온(on)이라면, 다른 큐에 대하여 재시도 대기중이므로 사전에 개시되었기 때문에, 상기 프로토콜은 단계(240)로 진행한다. 수신 엔드포인트(40n)에서 에러 또는 폭주가 없는 상태인 경우, 대응하는 전송 큐는 재시도 대기중 상태로 가지 않는다. 수신된 패킷이 손상되어 수신되었는지를 검출하는 메카니즘은 예를 들어 순환 중복 검사(cyclic redundancy check: CRC)를 포함하여, 당업자에게 공지되어 있다.
단계(240)에서, 대기 상태의 임의의 큐로부터 대응하는 수신 엔드포인트로 전송 엔드포인트(401)에 의해 전송되는 하나 이상의 부가적인 패킷들이 있는지의 여부가 판정된다. 만약 상기 대답이 예이면, 단계 245에서 다음 "대기(ready)" 큐의 헤드에서의 패킷이 전송된다. 만약 전송되는 패킷이 더 이상 없다면, 상기 프로토콜은 종료된다.
단계(280)에서 재시도 대기중 타이머가 만료된 때, 단계(285)에서 "재시도 대기중" 상태에 있는 모든 큐들이 "대기"상태가 된다. 그러면, 상기 프로토콜은 단계(210)로 진행한다.
수신 엔드포인트에서 에러 또는 폭주가 없는 상태의 경우, 대응하는 재시도 대기중 타이머는 본 발명의 에러 정정 통신 프로토콜에 의해 설정되지 않으며, 상기 엔드포인트로 전송하는 어떠한 전송 큐도 재시도 대기중 상태가 되지 않는다. 재시도 대기중 상태에서, 상기 재시도 대기중 타이머는 연속적인 재전송이 필요한 상황에서 프로세서 및 전송 매체에 불필요한 부담을 주지 않기 위해 재전송의 속도를 제한하고 성공의 가능성을 보다 높이도록 재전송을 지연시킨다. 이것은 하나의 큐로부터의 전송에서 발생하는 문제가 다른 큐들로부터의 전송에 큰 영향을 미치는 것을 방지한다. 이것은 모든 유형의 에러로부터의 회복이 적시의 방법으로 수행되도록 충분히 짧은 값으로 설정된다. 따라서, 모든 에러 상태들(예를 들면, 손상된 패킷들, 폭주 상태 및 손상된 긍정 응답)이 본 발명의 프로토콜에 의해 처리된다.
재시도 대기중 타이머는 1) 에러 또는 폭주 상태가 주어진 엔드포인트에 대한 처리량을 크게 감소시키지 않을 만큼 충분히 짧고, 2) 폭주 엔드포인트가 수신 인터럽트 서비스 루틴을 실행하여 버퍼 내에 다른 패킷을 위한 공간을 마련할 만큼 충분히 길며, 3) 수신 엔드포인트가 트래픽을 처리할 수 있을 만큼 수신 엔드포인트를 폭주 수신 트래픽으로서 유지할 수 있을 정도로 전송 엔드포인트를 인에이블시킬 수 있을 만큼 충분히 짧고, 4) 항상 실패하는(fail)(예를 들면, 엔드포인트가 존재하지 않거나 또는 재부팅함) 수신 엔드포인트에 대하여 계속해서 트래픽을 재전송하는 상황에서 전송 엔드포인트가 프로세서 사이클의 부담스러운 비율을 재전송에 소비하지 않을 만큼 충분히 길도록 바람직하게 100 usecs로 설정된다.
본 발명의 바람직한 실시예에 따르면, 큐로부터의 각각의 패킷은 시퀀스 번호와 함께 전송되어, 전송된 각각의 새로운 패킷으로 토글하는 단일 비트로서 바람직하게 구현된다. 수신 엔드포인트(40n)는 각각의 전송 엔드포인트로부터 그 다음으로 예상되는(next-expected) 시퀀스 번호를 추적하여, (예를 들어, 손상된 긍정 응답에 기인하는 경우와 같은) 잘못 재전송된 패킷들을 폐기할 수도 있다.
따라서, 수신된 패킷 내에는 다양한 기법들 중 하나, 예를 들면 "소스 어드레스" 방법에 의해 전송 엔드포인트의 아이덴티티(identity)의 표시가 수신기로 제공되며, 그 예들이 IEEE 1394 및 ANSI/ATA 878.1 프로토콜로써 제공된다. 전송 엔드포인트의 아이덴티티의 표시는 수신 엔드포인트가 응답 패킷을 전송 엔드포인트로 전송하기 위해 필요할 수도 있다. 본 발명의 에러 정정 통신 프로토콜은 복제로서 후에 폐기되는지에 관계없이 성공적으로 수신된 패킷이 긍정 응답될 것을 요구함에 주목해야 한다.
시퀀스 번호는 1 비트 이상으로 구성될 수도 있다. 그러한 경우, 바람직하게 전송 엔드포인트에 의해 전송된 시퀀스 번호를 수신 엔드포인트에 의해 예상되는 시퀀스 번호와 일치하도록 하는 메카니즘이 제공된다. 1)"RESET" 또는 "RESTART 시퀀스 번호" 패킷을 전송하고, 2) 항상 시퀀스 번호 "0"을 갖는 패킷을 수신하고 그 다음으로 예상되는 시퀀스 번호를 "1"로 재설정하며, 그리고/또는 3) 시퀀스 형태(in-sequence)의 일부 연속적인 번호 다음에 그 다음 전송된 시퀀스 번호를 수신(이는 예상되지 못한 것이며, 시퀀스 번호는 수신되고 그 패킷을 거부됨) 하는 것과 같은 상기 메카니즘이 당업자에게는 명백하다. 그러나, 시퀀스 번호 이외의 소정의 다른 수단에 의하여 복제(duplicates)를 폐기하기 위해 수신 엔드포인트에 전송된 패킷을 식별되어야 한다.
에러 정정 통신 프로토콜을 이용하는 패킷 전송이 보증된다 하더라도, 패킷 전송이 보증되는 지점 사이에 다수의 소프트웨어 중재 층 및 패킷이 사용되는 소프트웨어 상위 층이 있기 때문에, 상이한 엔드포인트 상에 위치하며 에러 정정 통신 프로토콜을 이용하는 두 개의 소프트웨어 상위 층간의 교환에는 여전히 에러가 발생할 수도 있다(예컨대, 재시작되는 프로세스, 버퍼 상태 및/또는 소프트웨어 결함에 기인함). 그러나, 기본적인 통신 메카니즘을 신뢰할 수 있는 경우, 간단하고 낮은 부담의 방법이 종종 교환의 무결성을 검사하기 위해 상위 층에서 사용된다. 그러한 방법은 상위 레벨에서 교환되는 패킷의 넘버링(numbering)을 포함할 수도 있다. 따라서, 패킷들을 넘버링하고 복제 패킷을 폐기하는 기능은 이러한 프로토콜이 구현되는 레벨에서 전혀 처리되지 않을 수도 있지만, 보다 높은 링크 레벨 또는 애플리케이션 레벨에서 처리될 수도 있다.
"대기" 큐는 라운드-로빈(round-robin) 방식 이외의 다른 방식, 예를 들면, 하나의 큐로부터의 전송에 대하여 다른 큐로부터의 전송에 우선하는 처리를 제공하는 방식으로 서비스될 수도 있다.
또한, 전술한 재시도 대기중 타이머 이외의 다른 메카니즘이 재전송을 지연시키고 그 속도를 제한하도록 제공될 수도 있는바, 예를 들어, 재시도 대기중 타이머는 루틴하게 주기적으로 만료될 수 있고, 이 때 재시도 대기중 상태에 있는 큐가 있다면 이러한 큐는 모두 대기 상태가 될 수 있을 것이다.
또한, 하나 이상의 재시도 대기중 타이머가 있을 수 있고, 하나 이상의 큐가 전용의 재시도 대기중 타이머를 공유할 수도 있어, 큐간의 재전송의 독립적인 개시를 허용하고, 다른 타이머(들)에 대한 것 보다 일부 재시도 대기중 타이머(들)에 대한 더 짧은 타임아웃 간격으로 인하여 일부 큐로부터의 재전송에 대해서 다른 큐(들)부터의 재전송에 대한 것보다 더 높은 우선 순위를 제공할 수 있다.
또한, 두 개의 상이한 재시도 대기중 타이머, 즉, 재시도 대기중 에러 타이머 및 재시도 대기중 폭주 타이머가 있을 수도 있다. 상기 재시도 대기중 폭주 타이머는 수신기 응답이 수신되었을 때 개시되어 수신 엔드포인트 폭주 상태를 나타낸다. 또한, 대응 큐가 재시도 대기중 폭주 상태에 놓인다. 성공적인 수신을 나타내는 수신기 응답이 수신되지 않는 다른 모든 경우에 있어서, 재시도 대기중 에러 타이머가 개시되며 대응하는 큐는 재시도 대기중 에러 상태가 된다.
전송 완료 신호 처리 시에 성공적인 수신을 나타내는 수신기 긍정 응답이 전송 엔드포인트에 의해 수신되지 않은 경우, 큐를 재시도 대기중 상태가 되도록 하고 재시도 대기중 타이머를 개시하기에 앞서 일회로부터 한계 회수까지의 즉각적 재시도, 즉, 재전송이 수행될 수 있다. 그러한 동작은, 단계(260)에서 패킷을 재전송함으로써 직접적으로 이루어지거나, 또는 단계(260)에서 패킷을 큐의 헤드에 남겨두고 또한 상기 큐를 대기 상태로 둠으로써 간접적으로 도 2의 단계(260)에서 이루어질 수 있다. 전송에 대한 성공적 긍정 응답없이 한계 회수의 즉각적 재시도가 시도되면, 단계(260)는 도 2에 도시된 동작, 즉, 큐를 재시도 대기중 상태로 되게 하는 동작을 취할 것이다. 또한, 그러한 즉각적인 재전송이 전송 엔드포인트에 의해 수신된 긍정 응답의 유형에 따라 또는 전송 엔드포인트에 의해 수신된 긍정 응답의 결여에 따라 조건적으로 수행될 수 있으며, 예컨대, 수신 엔드포인트 폭주 상태를 나타내는 긍정 응답이 즉각적 재시도를 호출하지 않을 수도 있다.
또한, 단계(205)에서 전송 엔드포인트(401)로부터 수신 엔드포인트(40n)로 전송되는 패킷이 다수의 전송 큐로 분할될 수 있으며, 각각의 큐는 단일 착신(destination) 엔드포인트(40n)를 갖는다. 이것은 상이한 유형의 전송된 패킷들에 대하여 상이한 취급을 제공하거나 또는 상위 레벨 링크의 상이한 서브세트(subsets)로부터 전송된 패킷에 대하여 상이한 취급을 제공할 목적으로 행하여질 수 있다. 그러한 경우, 프로토콜의 그 레벨은 복제 패킷을 제거하는 역할을 하며, 수신기는 전송 엔드포인트로부터의 패킷이 수신될 수 있는 전송 엔드포인트 상의 각각의 큐에 대해 예상된 시퀀스 번호를 유지할 것이다. 또한, 수신된 시퀀스 번호를 예상된 시퀀스 번호에 상관시키기 위해, 전송 엔드포인트의 아이덴티티 및 그 엔드포인트 내의 전송 큐의 아이덴티티의 표시가 수신기에 제공될 것이다.
흐름 제어(flow control), 즉 폭주 상태의 엔드포인트로의 일시적 전송 중지(halting transmission)는, 성공적인 수신을 나타내는 수신기 긍정 응답이 수신되지 않는 경우 큐를 재시도 대기중 상태에 놓이게 함으로써 이루어진다. 전송이 성공적으로 수신되지 않은 이유를 표시하는 특정한 수신기 긍정응답이 반환될 수도 있다. 또한, 표시된 그러한 두 가지 이유는 수신기에서의 폭주 상태일 수 있고 또는 전송된 패킷이 손상되었음을 검출한 상태일 수도 있다. 또한 두 개의 상이한 타임아웃 값(즉, 손상된 전송의 경우에는 보다 짧은 값이고 폭주 엔드포인트의 경우에는 보다 긴 값임)은 재시도가 필요한 이유에 근거하여 재시도 타이머로 프로그램될 수도 있다.
하나 이상의 전송 큐가 재시도 타이머를 공유하는 경우, 이들 큐들 중 하나가 이후에 타이머가 이전에 개시된 간격보다 더 짧은 시간 간격에 근거하여 재전송될 필요가 있다면, 하나의 재시도 타이머의 타임아웃 간격이 보다 긴 값으로부터 보다 짧은 값으로 변경될 수 있다. 또한, 동일한 착신 엔드포인트(40n)를 각각 갖는 두 개의 전송 큐가 그 착신 엔드포인트 상의 두 개의 상이한 큐로 각각 전송할 수 있으며, 각 큐는 다른 수신기 큐의 상태와 독립적으로 폭주 상태에 있거나 또는 폭주 상태가 아닌 상태에 있을 수 있다. 그러한 경우, 당업자에게 명백한 각종 기법 중 하나, 예를 들면 "착신 어드레스(destination address)"에 의해 그 수신된 패킷이 가야 하는 큐의 표시가 수신 엔드포인트(40n)에 대하여 제공될 수 있다. 또한, 그러한 경우, 수신 엔드포인트(40n)는 수신된 패킷에 대한 착신 큐의 상태에 근거하여 전송 엔드포인트(401)에 대하여 긍정 응답을 전송할 수도 있고 하지 않을 수도 있을 것이다.
재시도 카운터는 전송 엔드포인트에서 각각의 큐와 관련될 수도 있다. 카운터는 큐로부터의 매 재시도마다 증가될 수 있고, 큐로부터의 성공적인 전송이 발생 할 때마다 삭제될 수 있다. 재시도 카운터가 일부 사전 결정된 임계치 또는 수를 초과하면, 복구 동작이 개시될 수 있다.
또한 임의의 큐, 예를 들면 방송 큐로부터의 전송을 위한 하나 이상의 착신 엔드포인트가 있을 수도 있다. 그러한 경우, 상기 방송 큐는 재시도 대기중 상태로 되며, 재시도 대기중 타이머는 성공적인 수신을 나타내는 수신기 긍정 응답이 착신 엔드포인트의 서브세트로부터 수신되지 않을 때마다 개시된다. 서브세트는 하나의 착신 엔드포인트를 포함할 수도 있고, 모든 착신 엔드포인트를 포함할 수도 있고, 착신 엔드포인트들의 다른 일부 서브세트를 포함할 수도 있다. 이런 동작은 방송 패킷들의 긍정응답을 제공한다.
성공적인 응답이 수신되어야 하는 착신 엔드포인트의 서브세트가 모든 어드레싱된 착신 엔드포인트로 이루어진 경우, 본 발명의 동작은 방송 패킷의 에러 정정된 전송을 제공한다. 이러한 특성은 모든 유형의 에러 상태에 대해 유사한 복구 절차를 따르면서, 복제 패킷의 사일런트 폐기(silent discarding)를 제공하는 본 발명의 특징에 의해 가능하다. 예를 들면, 상기 프로토콜은 세 개의 착신 엔드포인트 중 하나의 엔드포인트가 패킷을 성공적으로 수신하고, 다른 엔드포인트가 패킷을 손상된 상태로 수신하고 마지막 엔드포인트가 폭주 상태로 인해 패킷을 수신할 수 없는 경우의 세 개의 착신 엔드포인트에 대한 방송 패킷 전송으로부터 회복할 수 있다.
또한, 하드웨어 및/또는 전송 매체의 물리 층이 가장 최근에 전송된 패킷의 성공적인 수신의 즉각적인 표시를 제공하지 않는 경우, 그러한 표시가 부담 및 처 리량에 있어서 적은 비용으로 제공될 수 있으며, 따라서 본 발명의 에러 정정 통신 프로토콜은 여전히 바람직하게 구현될 수 있다. 상기 프로토콜은, 각각의 수신된 패킷을 로우 레벨 처리하는 수신 엔드포인트의 인터럽트 서비스 루틴이 각각의 수신된 메시지의 전송 엔드포인트로 긍정 응답을 다시 전송하도록 설계될 수 있다. 전송 엔드포인트가 그러한 응답을 수신한 때, 전송 완료 인터럽트 신호를 발생시킨다. 잃어버린 긍정 응답으로부터 복구하기 위하여, 전송 프로세스는 수신 엔드포인트로의 각각의 데이터 패킷 전송 시에 하드웨어 타이머를 개시한다. 유사하게 사전 발생수신기 긍정 응답이 수신되지 않았기 때문에, 하드웨어 타이머는 만료시 전송 완료 인트럽트 신호를 발생시킨다.
또한, 본 발명의 전체 프로토콜을 소프트웨어로 구현하지 않고, 본 발명의 에러 정정 통신 프로토콜의 적어도 일부를 하드웨어로 구현할 수도 있다. 소프트웨어로 구현된 프로토콜은 네트워크 통신 시스템 내부 또는 외부에 위치하는 적어도 하나의 프로세서에 의해 처리된 프로그램 가능한 명령들을 포함할 수 있다. 또한, 소프트웨어로 구현된 프로토콜의 일부는 인터럽트 서비스 루틴으로 구현될 수 있으며, 이렇게 하면, 오퍼레이팅 시스템 문맥 교환과 같이 그렇게 하지 않은 경우 오퍼레이팅 시스템 동작에서 발생될 수 있는 프로세서 부담을 회피할 수 있다.
본 발명의 에러 정정 통신 프로토콜은 전송에 있어서 무언가 잘못된 경우에만 (즉, 재시도 대기중 타이머를 시작함으로써) 에러 정정 절차를 개시하기 때문에, 종래 기술의 프로토콜들보다 효율적이다. 부담스러운 비율의 프로세서 사이클을 연속적인 재전송에 소비하지 않는 특징과 함께, 본 발명에 의해 제공된 저 대기시간 재전송/에러 정정(low-latency retransmission/error correction)은 수신 엔드포인트 폭주 상태를 포함하는 모든 "에러 상태들"이 동일한 에러 정정 메카니즘에 의해 처리되도록 할 수 있다. 또한, 윈도우 방식(windowing) 및 "당신이 아직 그 곳에 있는가?(Are you still there?)"라는 질의를 불필요하게 한다. 또한, 종래 프로토콜에서 통상적인 손실되거나 손상된 수신기 긍정응답들과 관련된 긴 복구를 회피한다.
본 발명의 에러 정정 통신 프로토콜은 단지 하나의 타이머, 또는 작은 세트의 타이머가 모든 상위 레벨의 통신 링크에 대해 사용될 수 있도록 한다. 응답을 전송할 것인지 여부를 결정하기 위해 수신기에 요구되는 기능이 최소화되며, 패킷이 에러가 없다고 관측되고, 상위 레벨의 소프트웨어에 의하여 나중에 처리하기 위해 그 패킷을 저장할 공간이 있다면, 응답이 반환될 수 있다. 본 발명의 프로토콜은 패킷이 복제인지 아니면 다른 상위 레벨 링크 상태인지의 판정된 결과에 따라서 패킷이 폐기될 것인지 여부를 결정한다.
본 발명의 프로토콜의 전술한 특징들은 종래 기술의 프로토콜보다 구현하기가 더 쉽고, 또한 하드웨어로 구현하는데 있어서도 비용 효율적이다. 프로토콜이 완전히 하드웨어로 구현되지 않는 경우에, 그 나머지는 매우 효율적인 프로세서 사이클 방식에 따라 소프트웨어 인터럽트 서비스 루틴으로 구현될 수 있다.
다른 이점은, 수신기 긍정응답이 바람직하게 수신 및 전송 엔드포인트 모두에서 패킷 전송과 관련된 절차들 중 하나에 따라 하드웨어에 의해 처리되기 때문에, 두 엔드포인트들 사이의 일 방향 통신에서의 에러 정정은 두 엔드포인트 사이의 다른 방향 통신에서의 혼잡(congestion), 프로세서 과부하, 흐름 제어 또는 폭주 상태에 의해 영향을 받지 않는다.
본 명세서에 개시된 내용은 본 발명의 원리의 응용의 단순한 예에 지나지 않는다. 예를 들면, 본 발명의 실시에 있어서 최선의 모드로서 전술한 기능들은 단지 예시적 목적을 위한 것이다. 다른 구성 및 방법들이 본 발명의 사상 및 청구 범위를 벗어나지 않고 당업자에 의해 구현될 수 있다.
본 발명에 따르면, 독립적으로 통신하는 엔드포인트들 사이에서 패킷들을 전송하는데 있어서, 통신 시스템 성능 및 효율을 개선하는 에러 정정 통신 프로토콜이 제공되며, 또한, 높은 성능의 비용 효율적인 네트워크 통신 시스템을 가능하게 하고, 저렴한 비용에 의하여 하드웨어로 구현될 수 있는 간단한 에러 정정 프로토콜이 제공된다.

Claims (42)

  1. 적어도 하나의 전송 매체를 통해 복수의 엔드포인트들을 접속하는 네트워크 통신 시스템에서 데이터 패킷들을 전송하는 방법에 있어서 -전송 엔드포인트로부터 전송되는 패킷들은 복수의 큐로 분할되고, 상기 복수의 큐 각각은 패킷들이 전송되는 상기 복수의 엔드포인트 중 적어도 하나의 대응하는 착신(destination) 엔드포인트를 가짐- ,
    상기 큐가 재시도 대기중 상태(pending retry state)에 있지 않고 미완료 전송들(incomplete transmissions)을 갖지 않는 경우에만, 상기 전송 엔드포인트로부터 언제라도 복수의 큐 중 하나의 큐의 헤드로부터의 패킷을 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로 전송하는 단계와,
    상기 패킷이 성공적으로 수신되었음을 나타내는 긍정 응답이 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로부터 수신되었다면, 상기 큐의 헤드로부터 상기 전송된 패킷을 제거함으로써 상기 전송 엔드포인트에서 언제라도 상기 전송된 패킷에 대한 전송 완료 신호를 서비스하고, 그렇지 않으면 상기 큐를 상기 재시도 대기중 상태로 두고, 상기 전송된 패킷을 상기 큐의 헤드에 남겨두거나 상기 큐의 헤드로 반환하고, 한 주기의 시간이 경과한 후 상기 큐를 상기 재시도 대기중 상태로부터 제거하는 단계를 포함하는
    데이터 패킷 전송 방법.
  2. 제 1 항에 있어서,
    상기 긍정 응답이 상기 서비스 단계에서 수신되지 않을 때마다 상기 전송 엔드포인트로부터 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로 상기 패킷을 제한된 횟수까지 재전송하는 단계를 더 포함하고, 상기 제한된 횟수까지 상기 패킷을 재전송하는 단계는 상기 큐를 상기 재시도 대기중 상태에 두지 않고 수행되는
    데이터 패킷 전송 방법.
  3. 제 1 항에 있어서,
    상기 각각의 큐마다 상기 큐로부터의 일련의 실패한 재시도에 대한 재시도 카운트를 유지하는 단계와,
    상기 재시도 카운트가 사전 결정된 수를 초과하면 복구 동작을 개시하는 단계를 더 포함하는
    데이터 패킷 전송 방법.
  4. 제 1 항에 있어서,
    상기 전송 엔드포인트로부터 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트 중 임의의 것으로의 미완료 전송이 없는 경우에만 상기 패킷이 상기 큐의 헤드로부터 전송되는
    데이터 패킷 전송 방법.
  5. 제 1 항에 있어서,
    상기 전송 엔드포인트로부터 미완료 전송이 없는 경우에만 상기 패킷이 상기 큐의 헤드로부터 전송되는
    데이터 패킷 전송 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 대응하는 착신 엔드포인트로부터의 상기 긍정 응답이 상기 전송 엔드포인트에 의해 수신된 후까지 상기 전송 완료 신호가 발생하지 않는
    데이터 패킷 전송 방법.
  7. 제 1 항에 있어서,
    상기 패킷 전송 단계는,
    상기 패킷을 식별자(identifier)를 갖는 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로 전송하는 단계와,
    상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트에서 상기 큐로부터의 그 다음 예상 식별자(next-expected identifier)를 추적하는 단계와,
    상기 그 다음 예상 식별자와 동일하지 않은 대응하는 식별자를 갖는 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트에서 성공적으로 수신된 패킷들을 폐기하는(discarding) 단계를 포함하는
    데이터 패킷 전송 방법.
  8. 네트워크 통신 시스템에 있어서,
    에러 정정 통신 방법을 처리하는 적어도 하나의 프로세서와,
    적어도 하나의 전송 매체를 통하여 접속된 복수의 엔드포인트 -전송 엔드포인트로부터 전송되는 패킷들은 복수의 큐로 분할되고, 상기 복수의 큐 각각은 패킷들이 전송되는 상기 복수의 엔드포인트 중 적어도 하나의 대응하는 착신 엔드포인트를 가짐- 를 포함하되,
    상기 에러 정정 통신 방법은,
    상기 전송 엔드포인트로부터, 재시도 대기중 상태에 있지 않고 미완료 전송을 갖지 않는 상기 복수의 큐 중 하나의 큐의 헤드로부터의 패킷을 언제라도 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로 전송하는 단계와,
    상기 전송된 패킷을 성공적으로 수신한 경우, 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로부터 상기 전송 엔드포인트로 상기 패킷이 성공적으로 수신되었음을 나타내는 긍정 응답을 전송하는 단계와,
    상기 긍정 응답이 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로부터 수신되었다면, 상기 큐의 헤드로부터 상기 전송된 패킷을 제거함으로써 상기 전송 엔드포인트에서 언제라도 상기 전송된 패킷에 대한 전송 완료 신호를 서비스하고, 그렇지 않으면 상기 큐를 상기 재시도 대기중 상태로 두고, 상기 전송된 패킷을 상기 큐의 헤드에 남겨두거나 상기 큐의 헤드에 반환하고, 한 주기의 시간이 경과한 후 상기 큐를 상기 재시도 대기중 상태로부터 제거하는 단계를 포함하는
    네트워크 통신 시스템.
  9. 제 8 항에 있어서,
    상기 에러 정정 통신 방법은,
    상기 긍정 응답이 상기 서비스 단계에서 수신되지 않을 때마다 상기 전송 엔드포인트로부터 상기 큐의 상기 적어도 하나의 대응하는 착신 엔드포인트로 상기 패킷을 제한된 횟수까지 재전송하는 단계를 더 포함하되, 상기 제한된 횟수까지 상기 패킷을 재전송하는 단계는 상기 큐를 상기 재시도 대기중 상태에 두지 않고 수행되는
    네트워크 통신 시스템.
  10. 제 8 항에 있어서,
    상기 에러 정정 통신 방법은,
    상기 각각의 큐마다 상기 큐로부터의 일련의 실패한 재시도에 대한 재시도 카운트를 유지하는 단계와,
    상기 재시도 카운트가 사전 결정된 수를 초과하면 복구 동작을 개시하는 단계를 더 포함하는
    네트워크 통신 시스템.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
KR1020010038094A 2000-06-29 2001-06-29 데이터 패킷 전송 방법 및 네트워크 통신 시스템 KR100812412B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/606,347 US6574770B1 (en) 2000-06-29 2000-06-29 Error-correcting communication method for transmitting data packets in a network communication system
US09/606,347 2000-06-29

Publications (2)

Publication Number Publication Date
KR20020002305A KR20020002305A (ko) 2002-01-09
KR100812412B1 true KR100812412B1 (ko) 2008-03-10

Family

ID=24427597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010038094A KR100812412B1 (ko) 2000-06-29 2001-06-29 데이터 패킷 전송 방법 및 네트워크 통신 시스템

Country Status (8)

Country Link
US (1) US6574770B1 (ko)
EP (1) EP1168704B1 (ko)
JP (2) JP4199439B2 (ko)
KR (1) KR100812412B1 (ko)
CN (1) CN1349333A (ko)
BR (1) BR0102398A (ko)
CA (1) CA2344911A1 (ko)
DE (1) DE60132735T2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681620B2 (en) 2010-08-20 2014-03-25 Electronics And Telecommunications Research Institute Method for notifying about/avoiding congestion situation of data transmission in wireless mesh network, and mesh node for the same
WO2014065512A1 (ko) * 2012-10-25 2014-05-01 삼성에스디에스 주식회사 메시지 재전송 장치 및 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0626635B1 (en) * 1993-05-24 2003-03-05 Sun Microsystems, Inc. Improved graphical user interface with method for interfacing to remote devices
JP3472511B2 (ja) * 1999-07-12 2003-12-02 Kddi株式会社 データ伝送装置
CA2331191A1 (en) * 2001-01-17 2002-07-17 Vtech Communications, Ltd. Long message broadcast in a wireless communication system
JP3709795B2 (ja) * 2001-02-05 2005-10-26 日本電気株式会社 コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
US7016304B2 (en) * 2001-05-18 2006-03-21 Intel Corporation Link level retry scheme
FR2830162B1 (fr) * 2001-09-27 2003-12-05 Streamcore Dispositif de gestion partagee
KR100747464B1 (ko) 2002-01-05 2007-08-09 엘지전자 주식회사 고속하향링크패킷접속(hsdpa)시스템을 위한타이머를 이용한 교착상황 회피방법
KR100876765B1 (ko) * 2002-05-10 2009-01-07 삼성전자주식회사 이동 통신 시스템에서 데이터 재전송 장치 및 방법
KR20040020638A (ko) 2002-08-31 2004-03-09 삼성전자주식회사 무선 채널 특성을 반영한 동적 패킷 세그먼트 임계치관리방법
JP3799326B2 (ja) * 2002-12-02 2006-07-19 Necインフロンティア株式会社 パケット送信方式及びパケット受信方式
US7225266B2 (en) * 2002-12-20 2007-05-29 Nokia Corporation Adaptive delayed ACK switching for TCP applications
DE10318068B4 (de) * 2003-04-17 2009-08-27 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Paket-orientierten Übertragen sicherheitsrelevanter Daten
US7773506B2 (en) * 2003-10-14 2010-08-10 Qualcomm Incorporated Method and apparatus for data communications over multiple channels
WO2005046125A1 (en) 2003-10-28 2005-05-19 Docomo Communications Laboratories Usa, Inc. Method for supporting scalable and reliable multicast in tdma/tdd systems using feedback suppression techniques
US8271681B2 (en) * 2004-02-25 2012-09-18 Teamon Systems, Inc. Communications system using hierarchical queue structure for email message delivery and related methods
US7702957B2 (en) * 2004-05-21 2010-04-20 Bea Systems, Inc. Systems and methods for timer service
EP1619851A1 (de) * 2004-07-23 2006-01-25 Siemens Aktiengesellschaft Zurücksetzen von Sicherheitsmechanismen
JP4130648B2 (ja) * 2004-10-19 2008-08-06 株式会社東芝 通信装置および通信方法
US7408931B2 (en) * 2004-12-29 2008-08-05 Motorola, Inc. Methods for delivery in a wireless communications network
EP1686732B1 (de) * 2005-01-28 2007-10-31 Siemens Aktiengesellschaft Verfahren und System zur Übertragung von Telegrammen
US7433986B2 (en) * 2005-11-14 2008-10-07 Fujitsu Limited Minimizing ISR latency and overhead
JP4562694B2 (ja) * 2006-06-20 2010-10-13 富士通株式会社 再送制御方法及び装置
TW200803274A (en) * 2006-06-22 2008-01-01 Innovative Sonic Ltd Method and apparatus of packet discard in a wireless communications system
JP4505510B2 (ja) * 2007-02-20 2010-07-21 カルソニックカンセイ株式会社 車両用空調システム
US8064390B2 (en) 2007-04-27 2011-11-22 Research In Motion Limited Uplink scheduling and resource allocation with fast indication
AU2007354841B2 (en) 2007-06-15 2011-11-24 Blackberry Limited System and method for semi-persistent and dynamic scheduling and discontinuous reception control
CN101682857B (zh) 2007-06-15 2013-10-30 捷讯研究有限公司 用于减小链路适配开销的系统和方法
ES2784190T3 (es) 2007-08-20 2020-09-23 Blackberry Ltd Sistema y método para control de DRX y NACK/ACK
US8711745B2 (en) 2007-09-14 2014-04-29 Blackberry Limited System and method for discontinuous reception control start time
DE102008001548B4 (de) * 2008-05-05 2017-03-02 Robert Bosch Gmbh Teilnehmerknoten eines Kommunikationssystems, Kommunikationssystem und Verfahren zum Übertragen einer Nachricht in dem Kommunikationssystem
WO2010103602A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 伝送データのエラーチェック装置および方法
DE112013007142T5 (de) * 2013-06-07 2016-04-14 Apple Inc. Verwalten anstehender Bestätigungspakete in einer Kommunikationsvorrichtung
US9660719B2 (en) * 2014-11-17 2017-05-23 Honeywell International Inc. Minimizing propagation times of queued-up datalink TPDUs
US9998360B2 (en) 2014-11-17 2018-06-12 Honeywell International Inc. Minimizining message propagation times when brief datalink interruptions occur
US11044198B1 (en) * 2020-08-05 2021-06-22 Coupang Corp. Systems and methods for pooling multiple user requests to mitigate network congestion

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980013158A (ko) * 1996-07-31 1998-04-30 가네꼬 히사시 데이타 통신 시스템 및 그 방법
KR19990050530A (ko) * 1997-12-17 1999-07-05 정선종 멀티캐스팅 시스템에서의 데이터 전송 방법
KR20010087866A (ko) * 2000-03-09 2001-09-26 서평원 오류발생 패킷 데이터의 재전송 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4058672A (en) * 1976-11-10 1977-11-15 International Telephone And Telegraph Corporation Packet-switched data communications system
US5526353A (en) * 1994-12-20 1996-06-11 Henley; Arthur System and method for communication of audio data over a packet-based network
US6047002A (en) * 1997-01-16 2000-04-04 Advanced Micro Devices, Inc. Communication traffic circle system and method for performing packet conversion and routing between different packet formats including an instruction field
US6018516A (en) * 1997-11-14 2000-01-25 Packeteer, Inc. Method for minimizing unneeded retransmission of packets in a packet communication environment supporting a plurality of data link rates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR980013158A (ko) * 1996-07-31 1998-04-30 가네꼬 히사시 데이타 통신 시스템 및 그 방법
KR19990050530A (ko) * 1997-12-17 1999-07-05 정선종 멀티캐스팅 시스템에서의 데이터 전송 방법
KR20010087866A (ko) * 2000-03-09 2001-09-26 서평원 오류발생 패킷 데이터의 재전송 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681620B2 (en) 2010-08-20 2014-03-25 Electronics And Telecommunications Research Institute Method for notifying about/avoiding congestion situation of data transmission in wireless mesh network, and mesh node for the same
KR101458245B1 (ko) * 2010-08-20 2014-11-07 한국전자통신연구원 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
WO2014065512A1 (ko) * 2012-10-25 2014-05-01 삼성에스디에스 주식회사 메시지 재전송 장치 및 방법

Also Published As

Publication number Publication date
CA2344911A1 (en) 2001-12-29
US6574770B1 (en) 2003-06-03
KR20020002305A (ko) 2002-01-09
DE60132735D1 (de) 2008-03-27
JP2006287981A (ja) 2006-10-19
EP1168704A2 (en) 2002-01-02
JP4199439B2 (ja) 2008-12-17
EP1168704B1 (en) 2008-02-13
DE60132735T2 (de) 2009-02-05
JP2002064518A (ja) 2002-02-28
BR0102398A (pt) 2002-04-30
EP1168704A3 (en) 2003-12-03
CN1349333A (zh) 2002-05-15

Similar Documents

Publication Publication Date Title
KR100812412B1 (ko) 데이터 패킷 전송 방법 및 네트워크 통신 시스템
JP2635068B2 (ja) ネットワーク通信方法
JP4932008B2 (ja) 輻輳を低減させる高信頼性パケット送信のための方法、システム、およびコンピュータ・プログラム・コード(輻輳を低減させる高信頼性転送パケ
EP0409578B1 (en) Data communication method and system with cyclic sequence of acknowledgements
EP1125389B1 (en) Method and apparatus for discarding packets in a data network having automatic repeat request
JP2707529B2 (ja) データ通信システム
JP2723212B2 (ja) 通信アクセス制御方法および通信制御装置
JPH053941B2 (ko)
JP2005094751A (ja) 通信システムにおけるステータス報告欠落検出
JP4807828B2 (ja) ブロードバンド・エンジンのためのエンベロープ・パケット・アーキテクチュア
JPH11196041A (ja) 無線マルチキャストデータ転送方法及び無線通信システム
KR100804177B1 (ko) 무선통신망의 전송 데이터 차단을 위한 방법 및 시스템
CN101217346A (zh) 一种am模式状态反馈方法及系统
JPH1146161A (ja) 無線マルチキャストデータ転送方法
JP2001168907A (ja) 通信装置
JPH11252134A (ja) 同報通信システム
US20230112796A1 (en) Method and apparatus of reporting automatic repeat request status in a communication system
JPH05122286A (ja) パケツト再送機能付き通信プロトコル装置
JPH04273736A (ja) パケット通信システムおよびパケット再送装置
JPH0685839A (ja) 局間パケット紛失回避システム
WO2023241770A1 (en) Efficient rerouting of a selective-repeat connection
JPH0646060A (ja) データ通信システム
Varney The analysis and extension of an existing data link protocol

Legal Events

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

Payment date: 20130222

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150223

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180223

Year of fee payment: 11