KR101737788B1 - 패킷 전송 방법 및 시스템 - Google Patents

패킷 전송 방법 및 시스템 Download PDF

Info

Publication number
KR101737788B1
KR101737788B1 KR1020160054282A KR20160054282A KR101737788B1 KR 101737788 B1 KR101737788 B1 KR 101737788B1 KR 1020160054282 A KR1020160054282 A KR 1020160054282A KR 20160054282 A KR20160054282 A KR 20160054282A KR 101737788 B1 KR101737788 B1 KR 101737788B1
Authority
KR
South Korea
Prior art keywords
packet
node
data packet
channel
transmitting
Prior art date
Application number
KR1020160054282A
Other languages
English (en)
Other versions
KR20160129785A (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 KR20160129785A publication Critical patent/KR20160129785A/ko
Application granted granted Critical
Publication of KR101737788B1 publication Critical patent/KR101737788B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • Y02B60/40
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 패킷 전송 방법 및 시스템에 관한 것으로, 본 발명은, 수신노드와의 통신을 위한 채널의 상태를 확인하는 단계, 상기 확인하는 단계에서 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터 패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는 단계를 포함한다. 이와 같은 본 발명에 의하면, 노드들의 반복적인 채널 점유 시도없이 한번에 연속적인 패킷의 송신이 가능하므로 전력소모를 방지할 수 있다.

Description

패킷 전송 방법 및 시스템{SYSTEM AND METHOD FOR PACKET TRANSMISSION}
본 발명은, 패킷 전송 방법 및 시스템에 관한 것으로, 보다 자세하게는, LPL(Low Power Listening) 기반 저전력 다중 홉 네트워크에서 연속적 패킷 전송 방법 및 시스템에 관한 것이다.
임베디드 네트워킹 디바이스로 구성되는 LLN(Low power and Lossy Network)은 스마트 그리드 AMI(Automated Metering Infrastructure)와 센서 네트워크를 포함하여 다양한 애플리케이션에서 활용된다. 대부분의 LLN에서, 네트워킹 디바이스는 배터리 기반으로 동작하기 때문에 효율적인 에너지 사용이 필수적이다. 이를 만족시키기 위해 대부분의 애플리케이션에서 각각의 노드는 듀티 사이클링(Duty Cycling) 메커니즘을 사용한다. 듀티 사이클링으로 동작하는 노드는 평소에는 슬립(sleep) 모드로(라디오를 끈 채로) 대기하다가 주기적으로 라디오를 활성화시켜 채널을 감지한다. 만약 채널이 유휴 상태인 경우, 노드는 다시 슬립 모드로 돌아간다. 채널에서 메시지 전송을 감지한 경우에는 메시지를 수신하기 위해 활성화된 라디오 상태를 유지한다.
한편 LPL(Low Power Listening)은 LLN에서 저전력 통신을 위해 활용하는 대표적인 MAC 프로토콜이다. 관련하여 도 1을 참조하여 후술되며, 도 1은 LPL의 동작원리의 예를 나타내는 도면이다.
도 1을 참조하면, 라디오를 주기적으로 온/오프(on/off)하는 듀티 사이클링 메커니즘에 기반하는 LPL에서 송신노드는 긴 슬립 인터벌(Sleep Interval) 동안 ACK를 수신할 때까지 채널을 점유하여 패킷을 반복적으로 전송함으로써 성공적인 패킷 전송을 보장할 수 있다. 그러나 상술된 바에 따른 반복적인 패킷 전송은 심각한 채널 경쟁을 초래할 수 있다. 패킷 충돌은 패킷의 손실과 자원의 낭비를 초래하기 때문에, 충돌을 방지하기 위한 CCA(Clear Channel Assessment)와, 채널 상의 진행 중인 패킷 전송을 감지할 경우 백오프(Back Off)를 통해 자신의 전송을 연기하는 백오프 프로세스는, 에너지 낭비와 전송지연으로 귀결될 수밖에 없다. 특히 데이터 트래픽이 많은 다중 홉 네트워크에서는 상황이 더욱 악화된다. 과도한 경쟁으로 병목 노드에서는 큐가 점차 쌓이게 되며, 결국 큐 오버플로우로 인해 패킷의 손실이 발생한다. 즉, LPL의 기본적인 송수신 메커니즘은 네트워크 혼잡을 초래하여 노드PRR(Packet Reception Ratio)과 네트워크 수율을 저하시킨다.
또한 LPL은 일반적인 무선 네트워크와 마찬가지로 CSMA(Carrier Sense Multiple Access) 메커니즘에 기반하여 채널에 접근하기 때문에, 히든 터미널(Hidden Terminal) 문제가 빈번하게 발생할 수 있다. 히든 터미널 문제는 패킷의 연속적인 충돌을 발생시켜 무선자원을 낭비시킨다. 특히 듀티 사이클링에 기반한 LLN에서는 노드의 채널 접근 기회는 더욱 적기 때문에 이러한 자원의 낭비는 시스템의 성능을 크게 저하시키는 문제점이 발생한다.
이와 관련하여 선행기술 문헌인 한국등록특허 제10-1208400 호(공고일자: 2012.12.05)에서는, LLN에 대해 언급하고 있으나 상술된 문제점을 해결하고 있지 못하다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일실시예는 패킷 전송 방법 및 시스템을 제시하는 데에 목적이 있다.
본 발명의 과제해결수단 중 송신노드가 수신노드로 패킷을 전송하는 방법은, 상기 수신노드와의 통신을 위한 채널의 상태를 확인하는 단계; 상기 확인하는 단계에서 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터 패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는 단계를 포함한다.
그리고 본 발명의 과제해결수단 중 패킷 전송 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에서, 패킷 전송 방법은 상기 수신노드와의 통신을 위한 채널의 상태를 확인하는 단계; 상기 확인하는 단계에서 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터 패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는 단계를 포함할 수 있다.
나아가 본 발명의 과제해결수단 중 송신 노드에 의하여 수행되며, 패킷 전송 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램에서, 패킷 전송 방법은, 상기 수신노드와의 통신을 위한 채널의 상태를 확인하는 단계; 상기 확인하는 단계에서 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터 패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는 단계를 포함할 수 있다.
또한 본 발명의 과제해결수단 중 수신노드가 송신노드로 응답패킷을 전송하는 방법은, 상기 송신노드로부터 패킷 헤더에 큐 길이 정보를 포함하는 데이터패킷을 수신하는 단계; 수신된 데이터패킷의 헤더에서 큐 길이 정보를 독출하고, 독출된 큐 길이 정보를 헤더에 기입한 응답패킷을 생성하는 단계; 그리고 생성된 응답패킷을 전송하는 단계를 포함할 수 있다.
그리고 본 발명의 과제해결수단 중 패킷 전송 시스템은 수신노드로 데이터패킷을 전송하는 하나 이상의 송신노드를 포함하고, 상기 하나 이상의 송신노드 각각은, 상기 수신노드와의 통신을 위한 채널의 상태를 확인하여, 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일실시예는, 패킷 전송 방법 및 시스템을 제시할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명은, LLN에서의 노드로 하여금 단 한번의 CCA와 백오프 프로세스를 통해 채널을 점유하도록 하며, 이후 더 이상의 추가적인 경쟁 없이 큐에 대기 중인 모든 패킷을 한 번에 전송하도록 할 수 있다. 이는 큐 오버플로우에 의한 패킷 손실을 완화시키며 네트워크 전반에 걸쳐 높은 수율을 보장할 수 있다.
아울러 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명은, 채널 점유를 대기하는 노드로 하여금, 채널에서 오버히어링한 큐 길이 정보를 통해 채널이 유휴 상태가 되는 시점을 예측하도록 하여 해당 시점까지 슬립 모드로 동작하도록 하고, 그에 따라 라디오 에너지를 낭비하지 않게 할 수 있다. 즉, 본 발명은 채널을 점유하고 있는 노드의 큐 길이 정보를 수신한 주변 노드들이 큐 길이에 비례하는 시간 동안 라디오를 끄도록 할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면 본 발명은, 히든 터미널 문제를 해결할 수 있는 메커니즘을 제안할 수 있다. 데이터 패킷뿐만 아니라 ACK패킷에도 해당 채널을 점유한 노드의 큐 길이 정보가 포함되기 때문에, 수신 노드로부터 1홉 거리에 있는 모든 주변 노드는 이 정보를 오버히어링하여 패킷 전송을 연기시킬 수 있고 이를 통해 패킷의 충돌을 방지할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 LPL의 동작원리 예를 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 송신노드의 패킷 전송 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일실시예에 따른 수신노드의 패킷 전송 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일실시예에 따른 패킷 전송 방법을 설명하기 위한 예시도이다.
도 5는 본 발명의 일실시예에 따른 패킷 전송 방법에서 슬립 시간을 연산하는데 필요한 W의 크기를 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 패킷 전송 방법을 설명하기 위한 예시도이다.
도 7 및 도 8은 본 발명의 일실시예에 따른 효과를 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명의 실시예에 의한 패킷 전송 시스템에는 송신노드와 수신노드가 포함된다. 송신노드는 네트워크에서 다른 노드로 데이터를 전송하거나 다른 노드로부터 수신한 데이터를 또 다른 노드로 중계하는 장치로서, 채널을 점유하여 대기 중인 데이터를 전송하도록 프로그래밍될 수 있다. 수신노드는 네트워크에서 다른 노드로부터 데이터를 수신하는 최종 목적지 또는 또 다른 노드로 수신된 데이터를 중계하는 중계 장치일 수 있으며, 송신노드로부터 데이터를 수신한 후, 수신된 데이터에 대한 응답을 전송하여 데이터가 에러없이 수신되었음을 송신노드에 알리도록 프로그래밍될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 2는 본 발명의 실시예에 의한 송신노드의 패킷 전송 방법을 단계적으로 도시한 흐름도이고, 도 3은 본 발명의 실시예에 의한 수신노드의 패킷 전송 방법을 단계적으로 도시한 흐름도이다.
도 2에 도시된 바와 같이 본 발명의 실시예에 의한 송신노드는 수신노드와의 통신 채널의 상태를 확인한다(S101). 즉 CCA를 수행하여 채널의 점유를 시도한다. 이때 송신노드는 채널이 유휴상태인지, 또는 다른 송신노드에 의해 점유된 상태인지 여부를 확인하는데, 채널에 진행중인 패킷을 오버히어링(S102)하여 다른 송신노드와 수신노드 사이에서 송신 또는 수신되는 패킷이 감지되면 채널이 점유된 상태인 것으로 판단하고, 패킷이 감지되지 않으면 채널이 유휴상태인 것으로 판단할 수 있다.
즉, 송신노드는 채널에서 다른 송신노드와 수신노드 사이에서 송신 또는 수신되는 패킷이 오버히어링되지 않으면 채널이 유휴상태인 것으로 판단하여 데이터패킷의 전송을 준비한다. 구체적으로, 송신노드는 대기 중인 큐에 포함된 데이터패킷의 헤더에 큐의 길이 정보를 기입한다(S111). 우선 대기중인 큐의 첫번째 데이터패킷에 대기 중인 큐의 길이에 대한 정보, 예를 들어 큐에 포함된 데이터패킷의 개수에 대한 정보를 기입한다.
그리고 송신노드는 이와 같이 큐 길이 정보가 헤더에 기입된 첫번째 데이터패킷을 전송한다(S112).
이어서, 전송된 데이터패킷에 대한 응답패킷이 수신노드로부터 수신되면(S113), 송신노드는 다음번의 데이터패킷의 전송을 준비한다. 즉 큐에 포함된 모든 데이터패킷이 전송될 때까지(S114), 송신노드는 S111 내지 S113단계를 반복할 수 있다.
이때 송신노드는 수신노드로부터 응답패킷이 수신되면, 다음번의 데이터패킷, 즉 현재 대기중인 큐의 첫번째 데이터패킷의 전송을 준비함에 있어서, 데이터패킷의 헤더에 기입되는 큐 길이 정보를 하나씩 순차적으로 차감할 수 있다. 즉 데이터패킷의 전송이 하나씩 성공할 때마다 패킷 헤더에 기입되는 큐 길이 정보를 하나씩 차감함으로써 현재 대기 중인 큐에 포함된 데이터패킷의 수가 이번에 전송될 데이터패킷의 헤더에 기입되도록 할 수 있다. 그에 따라 마지막으로 전송되는 데이터패킷의 헤더에는 '0'이 큐 길이 정보로써 포함될 수 있다.
한편 S113단계에서, 송신된 데이터패킷에 대한 응답패킷이 시간 내에 수신되지 않으면, 송신노드는 마지막으로 전송한 데이터패킷을 재전송하되, 해당 데이터패킷의 헤더에는 현재 대기 중인 큐에 포함된 데이터패킷의 개수, 즉 해당 데이터패킷을 처음 전송할 때 기입하였던 데이터패킷의 개수가 그대로 기입된 상태로 데이터패킷을 재전송한다.
한편 S102단계에서 다른 송신노드와 수신노드 사이에서 송신 또는 수신되는 패킷이 오버히어링된 것으로 판단되면, 송신노드는 채널로부터 백오프하고, 오버히어링된 패킷의 헤더에서 큐 길이 정보를 독출할 수 있다(S121).
이때 오버히어링된 패킷은, 다른 송신노드가 수신노드로 전송한 데이터패킷이거나, 또는 다른 송신노드가 수신노드로 전송한 데이터패킷에 대하여 수신노드가 전송한 응답패킷 중 적어도 하나일 수 있다.
여기서 수신노드는 송신노드가 전송한 데이터패킷의 헤더에 포함된 큐 길이 정보를 그대로 응답패킷의 헤더에 복사 기입하여 응답패킷을 전송할 수 있는데, 이에 대해서는 후술한다.
다만 이와 같이 수신노드가 응답패킷을 전송함에 있어서, 응답패킷의 헤더에 현재 채널을 점유한 송신노드의 큐 길이 정보를 그대로 기입하여 응답패킷을 전송함으로써, 채널의 점유를 시도하는 송신노드와 현재 채널을 점유한 송신노드가 히든 터미널의 관계에 있더라도, 채널의 점유를 시도하는 송신노드가 현재 채널을 점유한 송신노드에 대기 중인 큐의 길이를 확인할 수 있다.
이어서 송신노드는 이와 같이 오버히어링한 패킷에서 독출된 큐 길이 정보에 비례하는 대기시간 동안 슬립한다(S122). 이때 송신노드가 슬립 상태를 유지하는 대기시간은 다음의 두 가지 경우에 각각 다른 수식을 이용하여 연산될 수 있다.
우선, 채널 점유를 시도하는 송신노드가 CCA과정에서 오버히어링한 패킷이 다른 송신노드가 수신노드로 전송한 데이터패킷인 경우, 대기시간 TDATA은 다음 수식으로 연산될 수 있다.
<수학식 1>
TDATA = W*L+α
이때 W는 송신노드가 하나의 데이터패킷을 수신노드로 전송하여 재전송없이 응답패킷을 수신하는데 소요되는 최소한의 시간, L은 큐 길이 정보, 그리고 α는 응답패킷의 전송시간이다.
또한 채널 점유를 시도하는 송신노드가 CCA과정에서 오버히어링한 패킷이 수신노드가 다른 송신노드로부터 수신한 데이터패킷에 대해 생성하여 전송한 응답패킷인 경우, 대기시간TACK은 다음 수식으로 연산될 수 있다.
<수학식 2>
TACK = W*L
로 연산되고,
이때 W는 송신노드가 하나의 데이터패킷을 수신노드로 전송하여 재전송없이 응답패킷을 수신하는데 소요되는 최소한의 시간, L은 큐 길이 정보이다.
한편 대기시간이 경과한 이후에 송신노드는 웨이크업하여 다시 채널의 상태를 확인하는 S101단계부터 반복적으로 수행한다.
상술한 바와 같이 본 발명의 실시예에 의한 패킷 전송 시스템에 포함되는 송신노드는 채널을 점유한 상태에서는 전송 대기 중인 큐의 길이에 대한 정보를 타 송신노드가 알 수 있도록하고, 채널을 점유하고자 시도하는 상태에서는 현재 채널을 점유한 타 송신노드에 전송 대기 중인 큐의 길이를 참조하여 그에 대응하는 시간 동안 더 이상의 점유 시도없이 대기하므로, 패킷의 충돌이 방지된다. 또한 현재 채널을 점유한 송신노드가 대기 중인 큐에 포함된 패킷들을 한번에 연속적으로 전송할 시간을 보장하여 패킷이 소실되는 것을 방지할 수 있을 뿐 아니라, 다른 송신노드는 현재 채널을 점유한 송신노드의 패킷 전송이 완료될 때까지 더 이상의 점유 시도없이 대기하므로 반복적인 점유 시도에 의한 전력 낭비를 최소화할 수 있다.
이어서 도 3에 도시된 바와 같이 수신노드의 패킷 전송 방법은, 우선 수신노드가 어느 하나의 송신노드로부터 데이터패킷을 수신하는 단계(S201)로부터 시작된다.
그리고 수신노드는 수신된 데이터패킷의 헤더에서 큐 길이 정보를 독출할 수 있다(S202). 여기서 큐 길이 정보는 상술한 바와 같이 채널을 점유한 송신노드가 수신노드에 전송할 큐에 포함된 패킷의 수에 대한 정보를 포함할 수 있다.
이어서 수신노드는 독출된 큐 길이 정보를 헤더에 기입한 응답패킷을 생성할 수 있다(S203). 그리고 수신노드는 생성된 응답패킷을 전송함으로써 데이터패킷이 에러없이 수신되었음을 송신노드에 알린다(S204).
여기서, 수신노드가 현재 채널을 점유한 송신노드에 대기 중인 큐의 길이 정보를 응답패킷에 기입하여 전송함으로써, 현재 채널을 점유한 송신노드와 히든 터미널 관계에 있는 다른 송신노드도 채널을 점유한 송신노드에 대기 중인 큐의 길이를 알 수 있도록 한다. 이로써 다른 송신노드들은 채널 점유 시도없이 슬립 상태를 유지할 대기시간을 결정할 수 있다.
아래에서는 도 4 내지 도 5를 참조하여, 도 2 내지 도 3을 참조하여 설명한 패킷 전송 방법의 보다 구체적인 실시예를 설명한다. 도 4는 본 발명의 일실시예에 따른 패킷 전송 방법을 설명하기 위한 예시도이고, 도 5은 본 발명의 일실시예에 따른 패킷 전송 방법에서 슬립 시간을 연산하는데 필요한 W의 크기를 설명하기 위한 도면이다.
패킷 전송을 위해 대기 중인 노드인 경우, 본 발명의 실시예에서는 채널을 점유하기 위해, 먼저 기존 LPL 프로토콜과 동일한 메커니즘으로 동작할 수 있다.
즉 각각의 송신노드는 CCA를 통해 채널을 감지할 수 있다. 만약 채널에 진행 중인 패킷이 감지되면, 송신노드는 패킷 전송을 연기할 수 있다.
반면 CCA를 통해 채널이 유휴 상태임을 감지한 경우, 송신노드는 큐에 대기 중인 첫 번째 데이터패킷을 전송할 수 있다. 이와 같이 전송 직전 CCA를 필요로 하는 패킷 전송 모드를 CCA_ON 이라 정의할 수 있다. LPL에서와 마찬가지로 하나의 데이터패킷은 슬립 인터벌의 시간 동안 응답패킷(이하 'ACK패킷'으로 표현한다)을 수신할 때까지 반복적으로 재전송될 수 있다.
한편, 송신노드가 ACK패킷을 수신하여 첫 번째 데이터패킷 전송에 성공한 경우, 더 이상의 추가적인 CCA나 채널 경쟁으로 인한 전송 연기 없이 큐에 대기 중인 모든 패킷을 연속하여 한 번에 전송할 수 있다. 이러한 전송모드를 CCA_OFF라 정의할 수 있다. 기존 LPL은 패킷 전송 시, 매번 CCA_ON 모드로 동작하는 반면, 본 발명의 일실시예에 따른 패킷 전송 방법은 오로지 첫 번째 패킷 전송 시에만 CCA_ON모드로 동작하며 이후에는 CCA_OFF로 전송모드를 천이하여 동작한다. 또한 큐에 대기 중인 모든 패킷 전송을 마친 경우에는 다시 CCA_ON모드로 초기화될 수 있다.
관련하여 CCA_OFF모드의 연속적 패킷 전송을 보장하기 위해, MAC 프레임 헤더에 큐 길이 필드를 추가할 수 있다. 큐 길이 필드의 크기는 통신 디바이스의 하드웨어 사양에 따라 조절가능하며, 1바이트만으로도 0부터 255까지의 패킷 개수를 표현할 수 있다. 이는 IEEE 802.15.4에서 정의하는 최대 PSDU(Physical layer Service Data Unit) 크기(128 바이트)의 1%도 채 되지 않는 매우 작은 오버헤드임을 알 수 있다. 노드가 패킷을 전송하기 위해 전송 칩에 패킷을 로드(load)하는 과정이 필요한데, 로드 직전에 큐에 대기 중인 패킷의 개수를 헤더에 입력함으로써, 상기 필드의 값이 가장 최신의 큐 길이 정보임을 보장할 수 있다. 패킷의 큐 길이 필드 값이 0이면 더 이상 전송할 패킷이 없다는 의미이며, 1 이상인 경우에는 패킷의 큐 길이 필드 값은 해당 패킷 이후 CCA_OFF모드로 전송할 패킷의 개수를 의미할 수 있다. 따라서 큐 길이 필드가 1 이상인 패킷을 오버히어링한 주변 송신노드는 큐 길이에 비례한 시간만큼 전송을 연기하고 라디오를 끔으로써, 전송 진행 중인 송신노드와의 충돌을 회피하여 연속적 패킷 전송의 성공을 보장할 수 있다.
한편, 본 발명의 일실시예에 따른 패킷 전송 방법에 따르면, 히든 터미널 문제를 해결하기 위해, ACK패킷에도 큐 길이 필드가 포함되도록 할 수 있다. 자신을 목적지로 하는 데이터패킷을 받은 수신노드는, 수신한 큐 길이 정보를 ACK패킷의 큐 길이 필드에 복사하여 전송할 수 있다. 즉, 데이터패킷과 상기 데이터패킷에 대응하는 ACK패킷은 동일한 큐 길이 정보를 포함할 수 있다. 데이터패킷의 경우와 마찬가지로, ACK패킷을 오버히어링한 주변 송신노드는 큐 길이에 비례한 시간 동안 라디오를 끄고 전송을 연기할 수 있다. 그러나 데이터패킷의 경우와 다르게 ACK패킷은 데이터패킷을 수신한 수신노드로부터 전송되기 때문에 데이터패킷을 송신한 노드와 히든 터미널 관계에 있는 다른 송신노드를 슬립하게 만들 수 있다. 이를 통해 본 발명의 일실시예에 따른 패킷 전송 방법은 히든 터미널 문제로 인한 패킷 충돌을 회피할 수 있게 된다.
관련하여 도 4에서 도시된 바와 같이, 3개의 송신노드(S1, S2, S3) 및 1개의 수신노드(R)가 존재하며 송신노드(S1)와 송신노드(S3), 그리고 송신노드(S2)와 송신노드(S3)는 히든 터미널 관계에 위치한다고 가정한다. 패킷에 기재되어 있는 숫자는 해당 패킷 헤더에 입력된 큐 길이를 나타낸다. 송신노드(S1, S2, S3)의 큐에는 각각 5, 3, 1개의 데이터패킷이 대기 중이다. 먼저 송신노드(S1)가 채널을 점유하여 연속적 패킷 전송을 시작한다. 송신노드(S1)는 첫 번째 패킷을 전송하기 위해 CCA_ON모드로 채널에 접근하며 패킷 헤더에는 첫 번째 패킷을 제외한 큐에 대기 중인 패킷의 개수(즉, 4개)를 입력한다. LPL 프로토콜과 마찬가지로 수신노드(R)로부터 ACK패킷을 수신할 때까지 해당 데이터패킷을 반복적으로 전송할 수 있다. 듀티 사이클링 중인 수신노드(R)가 웨이크업(wakeup)을 하여 패킷을 수신한 뒤 ACK패킷을 보내고 나서야 송신노드(S1)은 CCA_OFF로 전송 모드를 바꿀 수 있다. 이후 패킷 전송에 대해서 큐 길이는 1씩 순차적으로 감소되어 입력될 수 있다. 송신노드(S1)의 연속적 패킷 전송 도중, 송신노드(S2)는 CCA를 통해 채널 점유를 시도할 수 있다. 하지만 송신노드(S2)는 채널에 진행 중인 패킷을 감지하고 송신노드(S1)의 패킷을 듣게 된다. 도 4에서 도시된 바와 같이, 송신노드(S2)가 오버히어링한 패킷의 큐 길이가 3이므로 그에 비례한 시간만큼 송신노드(S2)는 슬립한다. 송신노드(S3)도 마찬가지로 채널의 접근을 시도하지만, 송신노드(S2)와 다르게 송신노드(S3)는 송신노드(S1)와 히든 터미널 관계에 있기에 송신노드(S1)의 데이터패킷을 듣지 못한다. 하지만 송신노드(S3)는 송신노드(S1)의 데이터패킷에 답하는 수신노드(R)의 ACK패킷을 수신하게 되며, ACK패킷에 기재된 큐 길이에 따라 대기시간을 결정할 수 있다. 송신노드(S1)의 큐 길이 정보에 비례한 시간만큼 슬립하는 송신노드(S2)와 송신노드(S3)는, 송신노드(S1)의 전송이 종료될 즈음 웨이크업하게 된다. 그리고 두 개의 노드는 다시 채널 경쟁을 하며, 도 4도시된 예에서는 송신노드(S2)가 채널을 선점함을 알 수 있다. 송신노드(S2)와 송신노드(S3) 또한 서로 히든노드 관계이기 때문에 송신노드(S2)에 대한 ACK패킷을 오버히어링한 송신노드(S3)는 슬립할 수 있고, 그 사이 송신노드(S2)의 연속적 패킷 전송은 진행된다. 그리고 마지막으로 송신노드(S3)의 전송이 진행됨으로써 모든 패킷 전송이 마무리 된다.
이때 큐 길이(L)에 기반한 슬립 시간(T)은 L개의 패킷이 전송되는 최소한의 시간으로 정의된다. 구체적으로 다음의 수학식으로 나타낼 수 있다.
<수학식3>
Figure 112016042434907-pat00001
TDATA는 데이터패킷으로부터 큐 길이 정보를 오버히어링하였을 경우의 슬립시간을 의미하며, TACK은 ACK패킷을 오버히어링하여 큐 길이 정보를 획득한 경우의 슬립시간을 의미한다. α는 ACK패킷의 전송 시간을 의미한다.
관련하여 도 5는 <수학식3>에서의 W의 크기를 설명하기 위한 도면이다.
도 5에서 도시된 바와 같이, W는 재전송없이 데이터패킷을 송신한 시간부터 ACK패킷을 수신하는데까지 필요한 최소한의 시간을 나타낸다. TDATA는 L개의 데이터/ACK쌍을 전송하는 시간(L*W)뿐만 아니라, 큐 길이 정보를 획득한 데이터에 대한 ACK패킷이 전송되는 시간(α)을 포함한다. TACK는, L개의 데이터/ACK쌍의 전송시간(L*W)만으로 구성된다. W와 α는 하드웨어의 라디오 전송 속도와 패킷 사이즈에 의해 정해지는 값이며, 만약 α≪L*W 인 경우, TDATA=TACK라 볼 수 있다. <수학식 3>과 같이 정의된 대기시간T는 L개 패킷을 전송하는데 걸리는 최소한의 시간이기에, 전송 대기 중인 송신노드들의 초과적인 슬립으로 인한 데이터 전송지연을 방지할 수 있다. 하지만 열약한 링크 상태나 네트워크의 혼잡에 의해 발생하는 잦은 재전송은 주변 송신노드의 이른 웨이크업을 초래할 수 있다.
관련하여 도 6은 본 발명의 일실시예에 따른 패킷 전송 방법을 설명하기 위한 예시도로서, 재전송에 의한 주변 노드의 이른 웨이크업 상황을 나타낸 것이다.
도 6에 도시된 바와 같이, 송신노드(S1)와 수신노드(R) 간의 열악한 링크 환경으로 인해 송신노드(S1)는 큐 길이 필드값이 3인 패킷에 대한 ACK패킷을 수신하지 못하고 반복적으로 해당 데이터패킷을 재전송할 수 있다. 이로 인해 송신노드(S2)가 큐 길이 3인 첫 번째 데이터패킷을 듣고 슬립한 뒤 웨이크업했을 때, 패킷 전송이 아직 진행 중임을 감지하게 된다. 하지만 진행 중인 패킷(도 6에서 도시된 바와 같이 큐 길이 2의 ACK패킷)을 오버히어링하고 다시 한번 패킷 전송을 연기하기 때문에 송신노드(S1)의 연속적 패킷 전송을 방해하지 않는다.
만약 링크가 비대칭적이거나 디바이스의 슬립 모드로 인해 주변 송신노드가 진행 중인 패킷을 오버히어링하지 못한 경우, 연속적 패킷 전송 도중 또 다른 송신노드의 채널 점유가 발생할 수 있다. 이러한 경우, 연속적 패킷 전송 노드는 ACK 패킷의 수신을 기다리는 동안 자신과 관련 없는 패킷 전송을 감지할 수 있다. 자신의 연속적 패킷 전송이 보장받지 못함을 인지한 송신노드는 연속적 패킷 전송을 중단하고 수신한 큐 길이 정보에 따라 슬립 모드로 동작할 수 있다. 이후 해당 송신노드가 슬립을 종료하면 CCA_ON모드로 천이하여 다시 채널 점유를 위해 경쟁을 시작한다.
본 발명에서 데이터 패킷은 FIFO(First Input, First Output) 큐 원리에 따라 전송된다. 하지만 ACK패킷은 가장 높은 우선순위를 가져야 한다. 즉, 큐에 여러 개의 데이터패킷이 전송 대기 중이더라도, 자신을 목적지로 하는 유니캐스트(unicast) 패킷을 수신한 경우에는 ACK패킷을 큐에 쌓지 않고 즉시 전송한다. 따라서 ACK패킷은 큐 길이에 포함되지 않는다.
한편 도 7 및 도 8는 본 발명의 일실시예에 따른 효과를 설명하기 위한 도면으로, 보다 구체적으로 도 7은 6개의 통신용 센서 모듈을 사용하여 구성한 토폴로지이며, 도 8은 해당 토폴로지 상에서 LPL과 BF(본 발명의 일실시예에 따른 패킷 전송 기법)의 평균 듀티 사이클(Duty Cycle) 값을 나타낸다. 듀티 사이클의 정의는 <수학식 4>와 같다.
<수학식4>
Figure 112016042434907-pat00002
TON과 TOFF는 각각 라디오의 ON, OFF 시간을 의미한다. 따라서 Duty cycle은 디바이스의 에너지 소모량에 대한 지표가 된다.
실험을 위해, KETI에서 개발한 6개의 K-mote(UC BerKeley의 TelosBmote와 동일한 통신용 센서모듈임)를 배치하고, 각 노드의 라우팅을 위해 RPL(IPv6 Routing Protocol for Low-power and Lossy Networks)로 프로그래밍하였다. 루트노드(ROOT)를 제외한 5 개의 노드는 매 초마다 상향링크 데이터를 한 개씩 생성하여 루트노드(ROOT)로 전송한다. 네트워크의 혼잡도를 증가시키기 위해 노드(5)는 병목노드로 사용되었다. 즉, 노드(5)는 노드(1, 2, 3, 4)로부터 수신한 패킷을 루트노드(ROOT)를 향해 포워딩하며, LPL 과 BF-LPL을 각각 실험한 결과, 노드(1, 2, 3, 4)의 평균라디오 듀티 사이클(%)은 도 8에서 도시된 바와 같음을 알 수 있다. 즉, 도 8에서 도시된 바와 같이 본 발명을 통한 패킷 전송 방법은, LPL에 비해 평균적으로 약 8%(=((34.1(LPL의 듀티사이클)-31.6(BP의 듀티사이클))/31.6)*100)의 에너지 감소를 확인할 수 있었다. 이는 노드(5)가 채널을 점유하며 이를 감지한 노드(1, 2, 3, 4)는 라디오를 끈 채로 슬립함으로써 에너지를 절약했기 때문이다. 노드(5)의 경우, 패킷이 큐에 쌓였을 때 단 한번의 채널 경쟁 이후 모든 패킷을 전송할 수 있기에 LPL 대비 약 3.5% 의 듀티사이클의 감소를 확인할 수 있었다.
본 발명의 일실시예에 따른 패킷 전송 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일실시예에 따르는 패킷 전송 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 패킷 전송 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 삭제
  2. 송신노드가 수신노드로 패킷을 전송하는 방법에 있어서,
    상기 수신노드와의 통신을 위한 채널의 상태를 확인하는 단계;
    상기 확인하는 단계에서 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터 패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는 단계를 포함하고,
    상기 확인하는 단계는,
    상기 채널에서 타 송신노드와 상기 수신노드 사이에서 송수신되는 패킷을 오버히어링하는 단계; 그리고
    패킷이 오버히어링되면 상기 채널이 타 송신노드에 점유된 상태인 것으로 판단하고, 패킷이 오버히어링되지 않으면 상기 채널이 유휴상태인 것으로 판단하는 단계를 포함하는, 패킷 전송 방법.
  3. 제2항에 있어서,
    상기 큐 길이 정보는,
    현재 큐에 대기 중인 데이터패킷의 개수에 대한 정보인, 패킷 전송 방법.
  4. 송신노드가 수신노드로 패킷을 전송하는 방법에 있어서,
    상기 수신노드와의 통신을 위한 채널의 상태를 확인하는 단계;
    상기 확인하는 단계에서 상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터 패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는 단계를 포함하고,
    상기 전송하는 단계는,
    큐에 대기 중인 하나의 데이터패킷의 헤더에 큐 길이 정보를 기입하여 상기 하나의 데이터패킷을 전송하는 단계;
    상기 하나의 데이터패킷에 대한 응답패킷을 수신하면, 큐에 대기 중인 다른 하나의 데이터패킷의 헤더에 상기 하나의 데이터패킷의 헤더에 기입된 큐 길이 정보에서 상기 하나의 데이터패킷의 길이를 차감한 정보를 기입하여 상기 다른 하나의 데이터패킷을 전송하는 단계; 그리고
    상기 하나의 데이터패킷에 대한 응답패킷이 수신되지 않으면, 상기 하나의 데이터패킷을 재전송하는 단계를 포함하는, 패킷 전송 방법.
  5. 제2항에 있어서,
    상기 패킷 전송 방법은,
    상기 확인하는 단계에서 상기 채널이 타 송신노드에 점유된 상태인 것으로 판단되면 백오프(Back Off)하고, 오버히어링한 패킷의 헤더에서 큐 길이 정보를 독출하는 단계;
    독출된 큐 길이 정보에 비례하는 대기시간 동안 슬립하는 단계; 그리고
    상기 대기시간이 경과하면 웨이크업하여, 상기 확인하는 단계부터 반복하는 단계를 포함하는, 패킷 전송 방법.
  6. 제5항에 있어서,
    상기 오버히어링한 패킷은,
    상기 타 송신노드가 상기 수신노드로 전송한 데이터패킷, 또는 상기 수신노드가 상기 타 송신노드로부터 수신한 데이터패킷에 대해 생성하여 전송한 응답패킷 중 적어도 하나인, 패킷 전송 방법.
  7. 제6항에 있어서,
    상기 오버히어링한 패킷이 상기 타 송신노드가 상기 수신노드로 전송한 데이터패킷인 경우,
    상기 대기시간 TDATA은,
    수식 TDATA = W*L+α로 연산되고,
    이때 W는 송신노드가 하나의 데이터패킷을 수신노드로 전송하여 재전송없이 응답패킷을 수신하는데 소요되는 최소한의 시간, L은 큐 길이 정보, 그리고 α는 응답패킷의 전송시간인, 패킷 전송 방법.
  8. 제6항에 있어서,
    상기 오버히어링한 패킷이, 상기 수신노드가 상기 타 송신노드로부터 수신한 데이터패킷에 대해 생성하여 전송한 응답패킷인 경우,
    상기 대기시간 TACK은,
    수식 TACK = W*L로 연산되고,
    이때 W는 송신노드가 하나의 데이터패킷을 수신노드로 전송하여 재전송없이 응답패킷을 수신하는데 소요되는 최소한의 시간, L은 큐 길이 정보인, 패킷 전송 방법.
  9. 제2항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  10. 송신노드에 의하여 수행되며, 제2항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
  11. 삭제
  12. 수신노드로 데이터패킷을 전송하는 하나 이상의 송신노드를 포함하는 패킷 전송 시스템에 있어서,
    상기 하나 이상의 송신노드 각각은,
    상기 수신노드와의 통신을 위한 채널의 상태를 확인하여, 상기 채널에서 타 송신노드와 상기 수신노드 사이에서 송수신되는 패킷이 오버히어링되면, 상기 채널이 타 송신노드에 점유된 상태인 것으로 판단하고, 패킷이 오버히어링되지 않으면 상기 채널이 유휴상태인 것으로 판단하고,
    상기 채널이 유휴상태로 판단되면 큐에 대기중인 복수의 데이터패킷을 순차적으로 전송하되, 순차적으로 전송되는 각 데이터패킷의 헤더에 큐 길이 정보를 기입하여 데이터패킷을 전송하는, 패킷 전송 시스템.
  13. 삭제
  14. 제12항에 있어서,
    상기 하나 이상의 송신노드 각각은,
    상기 채널이 타 송신노드에 점유된 상태인 것으로 판단되면 백오프(Back Off)하고, 오버히어링한 패킷의 헤더에서 독출된 큐 길이 정보에 비례하는 대기시간 동안 슬립한 후 웨이크업하여 상기 채널의 상태를 확인하여 상기 채널에 대한 점유를 시도하는, 패킷 전송 시스템.
  15. 제12항에 있어서,
    상기 수신노드는,
    상기 하나 이상의 송신노드 중 어느 하나로부터 패킷 헤더에 큐 길이 정보를 포함하는 데이터패킷을 수신하면, 수신된 데이터패킷의 헤더에서 큐 길이 정보를 독출하고, 독출된 큐 길이 정보를 헤더에 기입한 응답패킷을 생성하여 전송하는, 패킷 전송 시스템.
KR1020160054282A 2015-04-30 2016-05-02 패킷 전송 방법 및 시스템 KR101737788B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150061618 2015-04-30
KR20150061618 2015-04-30

Publications (2)

Publication Number Publication Date
KR20160129785A KR20160129785A (ko) 2016-11-09
KR101737788B1 true KR101737788B1 (ko) 2017-05-19

Family

ID=57529355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160054282A KR101737788B1 (ko) 2015-04-30 2016-05-02 패킷 전송 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101737788B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102339945B1 (ko) * 2020-05-26 2021-12-15 울산대학교 산학협력단 무선 센서 네트워크에서 노드의 패킷양 예측 기법을 이용한 링크 스케줄링 방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체

Also Published As

Publication number Publication date
KR20160129785A (ko) 2016-11-09

Similar Documents

Publication Publication Date Title
US11638252B2 (en) Fast wireless local area network communication method and apparatus using multiple transfer rate partitioning and cooperative transmission
Peng et al. COPE-MAC: A contention-based medium access control protocol with parallel reservation for underwater acoustic networks
US9668214B2 (en) Method and device for acquiring and transmitting data by an STA in a wireless local area network
JP6162278B1 (ja) 無線環境判定方法および無線通信システム
US8588248B2 (en) Packet routing apparatus and method
US20090129309A1 (en) Retransmitting lost packet with subsequent received packet
JP2009105892A (ja) 無線メッシュ・ネットワークで隠れ端末のコリジョンを回避するためにランダム遅延を課す方法および装置
US20150351125A1 (en) Apparatus and method for allocating resource
US20140192716A1 (en) Methods and Apparatuses for Managing Acknowledgements
JP2008270854A (ja) 無線通信方法、及び無線通信システム
Sheu et al. Csma/cf protocol for ieee 802.15. 4 wpans
KR101737788B1 (ko) 패킷 전송 방법 및 시스템
CN113825200B (zh) 一种基于LoRa半双工多频自组网方法及装置
JP5266474B2 (ja) 無線通信システム、中継局装置及び無線通信方法
CN112752296B (zh) 一种数据传输方法、装置及电子设备
Haapola NanoMAC: A distributed MAC protocol for wireless ad hoc sensor networks
CN107926061A (zh) 一种退避方法、传输消息方法及装置
JP2007243413A (ja) 再送制御方法
Chong et al. Mitigating false blocking problem in wireless ad hoc networks
JP5931768B2 (ja) 無線アクセス制御方法および無線通信装置
Hansen et al. BTP: A Block Transfer Protocol for delay tolerant wireless sensor networks
Choi et al. BCTMA (bi-directional cut-through medium access) protocol for 802.11-based multi-hop wireless networks
KR101626116B1 (ko) 무선 통신 장치 및 방법
Ali Improving the performance of the IEEE 802.11 Distributed Coordination Function
Lin et al. Morif: A mac protocol for full-duplex transmissions in wireless star networks

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right