KR102094718B1 - 무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 - Google Patents
무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 Download PDFInfo
- Publication number
- KR102094718B1 KR102094718B1 KR1020130114301A KR20130114301A KR102094718B1 KR 102094718 B1 KR102094718 B1 KR 102094718B1 KR 1020130114301 A KR1020130114301 A KR 1020130114301A KR 20130114301 A KR20130114301 A KR 20130114301A KR 102094718 B1 KR102094718 B1 KR 102094718B1
- Authority
- KR
- South Korea
- Prior art keywords
- relay
- packet
- node
- rqi
- information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims description 6
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010187 selection method Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 239000004236 Ponceau SX Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/12—Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
- H04W40/14—Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality based on stability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/12—Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
Abstract
무선 네트워크에 대한 학습에 기반하여 중계 노드를 선택하는 방법 및 중계 장치가 개시된다. 일 실시예에 따른 중계 장치에 의해 수행되는 중계 노드를 선택하는 방법은 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷 정보를 수신하고, 패킷 정보에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 중계 장치가 데이터 패킷을 중계하는데 최적화된 노드인 지 판단한다.
Description
무선 네트워크에서 데이터를 중계하는 장치 및 방법에 관한 기술이다.
네트워크 전체 또는 일부의 사용자들과 컨텐츠를 공유하는 응용 기술들은 통신의 안정성을 확보하기 위하여, 유니캐스트 (Unicast) 기반의 단말 대 단말 통신 방식을 사용할 수 있다. 여기서, 1 대 1 통신 방식은 순차적으로 컨텐츠를 전송해야 하기 때문에, 컨텐츠를 공유하는 단말의 수가 늘어날수록 통신 효율성이 떨어질 수 있다.
이러한 단말 수 증가에 따른 통신 효율성 문제를 해결하기 위해서 브로드캐스트(Broadcast) 기반의 통신 방식이 활용될 수 있다. 브로드캐스트 기반의 통신 방식에서 멀티 홉 네트워크를 커버(cover)하기 위해서는, 컨텐츠의 소유자, 이를테면 소스 노드(Source node)로부터 대상 노드(Target node) 또는 네트워크 전체 노드로 컨텐츠를 전달하거나 중계해 줄 수 있는 중계 노드(Relay node)가 필수적이다.
일 실시예에 따르면, 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 단계 및 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계를 포함하는 중계 노드 선택 방법이 제공될 수 있다.
다른 일 실시예에 따르면, 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 단계는, 선행 노드로부터 선행 노드와 관련된 패킷을 수신하는 단계 및 패킷이 선행 노드로부터 현재 시퀀스에서 처음 수신한 데이터 패킷이면, 산출된 RQI 정보에 선행 노드와 관련된 패킷을 반영하는 단계를 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 단계는, 데이터 손실이 발생한 후속 노드로부터 부정 패킷(NACK, Negative Ack)을 수신하는 단계 및 부정 패킷이 이전 시퀀스에서 장치가 중계했던 데이터 패킷에 대응하면, 산출된 RQI 정보에 부정 패킷을 반영하는 단계를 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 부정 패킷이 이전 시퀀스에서 장치가 중계했던 데이터 패킷에 대응하면, 산출된 RQI 정보에 부정 패킷을 반영하는 단계는, 미리 정한 범위의 최근 시퀀스 동안 수신된 부정 패킷에 가중치를 부가하여 산출된 RQI 정보에 반영하는 단계를 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 장치가 패킷을 중계하기로 결정한 경우, 산출된 RQI 정보에 장치가 중계할 패킷 수를 반영하는 단계를 더 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는, 산출된 RQI 정보 및 데이터 패킷에 포함된 RQI 정보를 비교한 결과에 따라, 장치가 패킷을 중계할 지 여부를 결정하는 단계를 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는, 이전 시퀀스에서 수신한 데이터 패킷의 RQI 정보를 포함하는 RQI 이력 정보 및 산출된 RQI 정보를 비교한 결과에 따라, 장치가 패킷을 중계할 지 여부를 결정하는 단계를 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는, 현재 시퀀스에서 패킷을 중계한 노드의 개수를 카운트하고, 장치의 RQI 이력 정보를 갱신하는 단계를 더 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, RQI 정보는, 선행 노드로부터 패킷을 수신할 확률 및 후속 노드로 패킷이 전달될 확률 중 적어도 하나에 기초하여 결정되는, 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 산출된 RQI 정보 및 RQI 이력 정보를 비교한 결과에 따라 장치가 패킷을 중계할 지 여부를 결정하는 단계를 더 포함하는 중계 노드 선택 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 다음 시퀀스에서 패킷을 중계할 노드를 결정하기 위한 RQI 이력 정보를 조정치 및 산출된 RQI 정보에 따라 조정하는 단계를 더 포함하는 중계 노드 선택 방법이 제공될 수 있다.
일 실시예에 따르면, 패킷을 중계하는 중계 장치에 있어서, 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 수신부 및 패킷 수신 여부에 따라 산출된 RQI 정보에 기초하여 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 처리부를 포함하는 패킷을 중계하는 중계 장치가 제공될 수 있다.
다른 일 실시예에 따르면, 수신부는, 선행 노드로부터 선행 노드와 관련된 패킷을 수신하고, 처리부는, 패킷이 선행 노드로부터 현재 시퀀스에서 처음 수신한 데이터 패킷이면, 산출된 RQI 정보에 선행 노드와 관련된 패킷 정보를 반영하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 선행 노드와 관련된 패킷 정보는, 선행 노드가 전송한 총 패킷 수 및 선행 노드로부터 장치가 수신한 총 패킷 수 중 적어도 하나를 포함하는 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 수신부는, 데이터 손실이 발생한 후속 노드로부터 부정 패킷(NACK, Negative Ack)을 수신하고, 처리부는, 부정 패킷이 이전 시퀀스에서 장치가 중계했던 데이터 패킷에 대응하면, 산출된 RQI 정보에 부정 패킷을 반영하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 미리 정한 범위의 최근 시퀀스 동안 수신된 부정 패킷에 가중치를 부가하여 산출된 RQI 정보에 반영하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 장치가 패킷을 중계하기로 결정한 경우, 산출된 RQI 정보에 장치가 중계할 패킷 수를 반영하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 산출된 RQI 정보 및 데이터 패킷에 포함된 RQI 정보를 비교한 결과에 따라, 장치가 패킷을 중계할 지 여부를 결정하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 이전 시퀀스에서 수신한 데이터 패킷의 RQI 정보를 포함하는 RQI 이력 정보 및 산출된 RQI 정보를 비교한 결과에 따라, 장치가 패킷을 중계할 지 여부를 결정하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 현재 시퀀스에서 패킷을 중계한 노드의 개수를 카운트하고, 장치의 RQI 이력 정보를 갱신하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, RQI 정보는, 선행 노드로부터 패킷을 수신할 확률 및 후속 노드로 패킷이 전달될 확률 중 적어도 하나에 기초하여 처리부에 의해 결정되는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 산출된 RQI 정보 및 RQI 이력 정보를 비교한 결과에 따라 장치가 패킷을 중계할 지 여부를 결정하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 처리부는, 이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 다음 시퀀스에서 패킷을 중계할 노드를 결정하기 위한 RQI 이력 정보를 조정치 및 산출된 RQI 정보에 따라 조정하는, 패킷을 중계하는 중계 장치가 제공될 수 있다.
일 실시예에 따르면, 중계 장치에 의해 수행되는 중계 노드를 선택하는 방법에 있어서, 이전 시퀀스에서 장치 및 다른 중계 후보 노드가 데이터 패킷을 중계했는지 판단하는 단계 및 장치의 RQI 정보 및 데이터 패킷 중계 여부에 기초하여 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계를 포함하는 중계 노드를 선택하는 방법이 제공될 수 있다.
다른 일 실시예에 따르면, 데이터 패킷 중계 여부에 따라 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계는, 장치가 이전 시퀀스에서 데이터 패킷을 성공적으로 중계한 경우, 현재 시퀀스에서 데이터 패킷을 중계하는 단계를 포함하는 중계 노드를 선택하는 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 이전 시퀀스에서 데이터 패킷이 중계된 경우, 장치의 RQI 이력 정보를 갱신하는 단계를 더 포함하는 중계 노드를 선택하는 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 데이터 패킷 중계 여부에 따라 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계는, 이전 시퀀스에서 데이터 패킷이 중계되지 않은 경우, 장치의 RQI 정보가 RQI 이력 정보보다 작지 않으면 패킷을 중계하는 단계를 포함하는 중계 노드를 선택하는 방법이 제공될 수 있다.
또 다른 일 실시예에 따르면, 데이터 패킷 중계 여부에 따라 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계는, 이전 시퀀스에서 데이터 패킷이 중계되지 않은 경우, 장치의 RQI 이력 정보를 조정하는 단계 및 장치의 RQI 정보 및 조정된 RQI 이력 정보에 기초하여 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계를 포함하는 중계 노드를 선택하는 방법이 제공될 수 있다.
도 1은 일 실시예에 따른 무선 네트워크 토폴로지를 도시한 도면이다.
도 2는 일 실시예에 따른 노드 u의 RQI(Relay Quality Indicator)를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 데이터 패킷(Data Packet)의 구조를 도시한 도면이다.
도 4는 일 실시예에 따른 부정 패킷(Negative ACK Packet)의 구조를 도시한 도면이다.
도 5는 일 실시예에 따른 중계 노드를 선택하는 방법을 도시한 흐름도이다.
도 6은 일 실시예에 따른 패킷을 중계하는 중계 장치를 도시한 도면이다.
도 7은 일 실시예에 따른 RQI 정보에 기초하여 중계 노드를 선택하는 방법을 도시한 흐름도이다.
도 8은 일 실시예에 따른 부정 패킷을 반영하는 과정을 도시한 흐름도이다.
도 9는 다른 일 실시예에 따른 중계 노드를 선택하는 방법을 도시한 흐름도이다.
도 2는 일 실시예에 따른 노드 u의 RQI(Relay Quality Indicator)를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 데이터 패킷(Data Packet)의 구조를 도시한 도면이다.
도 4는 일 실시예에 따른 부정 패킷(Negative ACK Packet)의 구조를 도시한 도면이다.
도 5는 일 실시예에 따른 중계 노드를 선택하는 방법을 도시한 흐름도이다.
도 6은 일 실시예에 따른 패킷을 중계하는 중계 장치를 도시한 도면이다.
도 7은 일 실시예에 따른 RQI 정보에 기초하여 중계 노드를 선택하는 방법을 도시한 흐름도이다.
도 8은 일 실시예에 따른 부정 패킷을 반영하는 과정을 도시한 흐름도이다.
도 9는 다른 일 실시예에 따른 중계 노드를 선택하는 방법을 도시한 흐름도이다.
최근 그룹 플레이(Group Play), 셰어 뮤직(Share Music) 등과 같이 임의의 사용자가 무선 네트워크를 구성하여, 네트워크 전체 또는 네트워크 내의 다수의 사용자들과 컨텐츠를 공유하는 기술들이 사용될 수 있다. 이러한 기술들은 네트워크의 손쉬운 구성 및 관리를 위하여 무선랜(WLAN), 와이파이 다이렉트(Wi-Fi Direct) 등의 무선 네트워크를 활용할 수 있다.
또한, 이러한 컨텐츠 공유 기술은 전자 회의(e-meeting), 스마트 캠퍼스(smart campus) 등과 같은 B2B 분야에서도 활용될 수 있다. 여기서, 네트워크에 참여하는 사용자의 수가 증가하고 네트워크 규모가 넓어짐에 따라 멀티 홉 통신 지원이 가능 한 무선 애드 혹 네트워크를 구성할 수 있다.
일반적인 무선 애드 혹 네트워크에서의 중계 노드 선택 기법에서는 토폴로지 정보(topology information), 2 홉 이웃 노드, 무선 링크 상태 등의 네트워크 연결성 정보를 수집하고, 사전에 수집된 정보에 기초하여 네트워크 전체를 커버할 수 있는 최적의 중계 노드를 선택할 수 있다. 이러한 방법에서는, 중계 노드를 선택하기 위해 필요한 사전 정보(이를테면, 네트워크 연결성 정보)를 습득하기 위해, 컨트롤 패킷을 교환하게 되므로 추가적인 트래픽과 시간이 필요할 수 있다. 또한, 무선 링크 상태 등의 네트워크 연결성 정보는 시간이 경과하면서 변화하기 때문에, 이러한 방법을 사용하는 네트워크가 동적 환경 변화에 적응하기 위해서는 사전 정보를 주기적으로 수집하고 반영해야 할 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 여기서 중계 장치는 일 실시예에 따른 중계 노드를 선택하는 방법을 수행하는 장치일 수 있고, 중계 후보 노드는 중계 영역에 속하는 노드일 수 있으며, 중계 노드는 중계 후보 노드 중 현재 시퀀스에서 중계하기로 결정된 노드일 수 있다.
도 1은 일 실시예에 따른 무선 네트워크 토폴로지를 도시한 도면이다. 일 실시예에 따른 무선 네트워크(예를 들면, 무선 애드 혹 네트워크)에는 멀티 홉 브로드캐스트를 통해, 네트워크 내 특정 소스가 전송한 패킷을 네트워크 전체에 전파시킬 수 있다. 구체적으로는 패킷을 수신한 노드들 중 일부가 패킷을 중계 (relay)하는 과정을 반복할 수 있다.
여기서, 선행 노드(111)는 선행 영역(110)에 속하는 노드, 중계 후보 노드는 중계 영역(120)에 속하는 노드, 후속 노드(131, 132)는 후속 영역(130)에 속하는 노드일 수 있다. 또한, 중계 영역(120)은 제1 중계 영역, 제2 중계 영역 내지 제n 중계 영역으로, 여러 개의 영역을 포함할 수 있다. 예를 들면, 후속 노드(131, 132)가 제1 중계 영역에 포함되는 중계 후보 노드로부터 수신된 데이터 패킷을 중계 하는 경우, 후속 노드(131, 132)는 또 다른 중계 후보 노드가 될 수 있고, 후속 노드(131, 132)가 포함된 후속 영역(130)은 제2 중계 영역이 될 수 있다. 다른 예를 들면, 후속 노드(131, 132)가 선행 노드(111)로부터 직접 데이터 패킷을 수신하여 중계함으로써, 중계 후보 노드 역할을 수행할 수 있다. 각 영역은 무선 네트워크의 통신 환경, 통신 방식, 노드 분포, 노드 개수 등에 따라 적절하게 설정될 수 있다.
도 1은 상술한 멀티 홉 브로드캐스트가 적용된 무선 네트워크 토폴로지를 도시한 것일 수 있다. 선행 노드(111)(predecessor node)로부터 데이터 패킷을 수신한 중계 후보(relay candidates), 예를 들면 노드 A 내지 노드 E(121, 122, 123, 124, 125) 중 일부 노드가 패킷을 중계함으로써, 패킷이 후속 노드(131, 132)(successor node)로 전파될 수 있다. 도 1에 도시된 바와 같이 노드 A(121)와 노드 D(124)는 후속 노드(131, 132)와의 링크(이를테면, 네트워크 연결성)이 없으므로, 수신한 패킷을 중계하더라도 후속 노드(131, 132)가 노드 A(121) 및 노드 D(124)로부터 패킷을 수신하지 못할 수 있다. 여기서, 후속 노드(131, 132)와의 연결성을 가진 노드 B(122), 노드 C(123), 노드 E(125) 중 적어도 하나가 패킷을 중계하면 후속 노드(131, 132)로 패킷이 전파될 수 있다.
일 실시예에 따른 중계 장치에 의해 수행되는 중계 노드 선택 방법은, 무선 네트워크 환경에서 하나의 컨텐츠 소유자(예를 들면, 소스 노드)로부터 네트워크의 전체 또는 다수의 사용자에게 컨텐츠를 브로드캐스트로 전달할 때, 소스 노드로부터 먼 거리에 위치한 단말들까지 효율적이고 신속하면서 신뢰성 있게 컨텐츠를 전달할 수 있다. 일 실시예에 따른 중계 노드 선택 방법은, 하나의 컨텐츠가 1개 이상의 패킷으로 연속해서 전송되는 실시간 스트리밍 또는 대용량 파일 전송에 적용될 수 있다.
일 실시예에 따르면, 각 중계 후보 노드는 패킷을 전송할 때마다 중계 노드로써의 성능 상태를 스스로 학습하고, 각 중계 후보 노드는 최적의 성능 상태를 가진다고 판단한 경우 자신을 중계 노드로 선택할 수 있다. 일 실시예에 따르면 사전 정보의 습득이 필요하지 않아, 이로 인한 오버헤드를 제거할 수 있고, 동적 환경 변화에 신속하게 대처할 수 있다.
일 실시예에 따른 중계 장치는 무선 애드 혹 네트워크에서 고속으로 동작하면서 높은 신뢰도를 가지고 멀티 홉 브로드캐스팅을 지원할 수 있다.
도 2는 일 실시예에 따른 노드 u(229)의 RQI(Relay Quality Indicator)를 설명하기 위한 도면이다. 도 2에서 RQI는 선행 노드로부터 패킷을 수신한 중계 후보 노드(relay candidate node), 예를 들면, 상술한 도 1의 노드 A 내지 노드 E 중 최적의 중계 노드를 선택하는데 사용되는 지표일 수 있다.
여기서 노드 u(229)에 대한 RQI를 나타내는 RQI(u) 값은 하기 수학식 1과 같이 나타낼 수 있다. 예를 들면, 노드 u(229)는 중계 영역(220)에 속하는 각 중계 후보 노드 중 하나일 수 있다. 이 때, 노드 u(229)는 중계 노드를 선택하는 방법을 수행하는, 일 실시예에 따른 패킷을 중계하는 중계 장치일 수 있다.
도 2에 도시된 바와 같이, 각 중계 후보 노드 u(229)(예를 들면, 도 1에 도시된 노드 A 내지 노드 E)의 중계 노드로써의 성능은 선행 노드로부터 패킷을 수신할 확률과 노드 u(229)가 패킷을 중계할 때에 후속 노드가 패킷을 수신할 확률로 정량화할 수 있다. 일 실시예에 따르면, 수학식 1에 따른 중계 노드로써의 성능을, 중계 성능 지표(RQI, Relay Quality Indicator)라고 나타낼 수 있다. 일 실시예에 따른 RQI 정보(Relay Quality Indicator Information)는 상술한 수학식 1에 따른 RQI 값을 포함할 수 있다.
일 실시예에 따르면 각 중계 후보 노드 u(229)는 RQI(u) 정보를 학습하기 위해, 선행 노드로부터의 수신이력 정보와 노드 u(229)가 중계할 때의 후속 노드의 수신이력 정보를 이용할 수 있다. 여기서, 선행 노드로부터의 수신이력 정보는 패킷 내의 시퀀스 정보(sequence number information)에 기초하여, 현재 시퀀스까지 소스 노드에서 전송된 총 패킷 수와 노드 u(229)가 수신한 패킷 수에 대한 이력을 저장함으로써 획득될 수 있다. 이하 본 명세서에서, 선행 노드 및 후속 노드의 수신이력 정보는 패킷 정보로 나타낼 수 있다.
또한, 노드 u(229)가 중계할 때의 후속 노드의 수신이력 정보를 학습하기 위해서는, 노드 u(229)가 중계한 총 패킷 수와 후속 노드가 수신을 실패했다는 부정 패킷(Negative ACK packet) 수가 필요할 수 있다. 여기서 노드 u(229)가 중계한 총 패킷 수는 노드 u(229)가 패킷을 중계한 매 시퀀스마다 이력을 기록함으로써 획득될 수 있다. 후속 노드로부터 수신되는 부정 패킷 정보는 후속 노드 중 적어도 하나가 이전 시퀀스에서 데이터 손실을 파악한 경우(예를 들면, 이전 시퀀스에서 전송된 패킷을 후속 노드가 수신하지 못한 경우), 후속 노드가 상술한 노드 u(229)로 부정 패킷 및 패킷 손실 정보를 피드백함으로써 학습할 수 있다.
이 때, 노드 u(229)에서 각 수신이력 분석에 사용하는 총 버퍼의 크기는 선행 노드로부터 최종적으로 수신한 시퀀스 번호(sequence number)를 기준으로 이력에 사용하는 총 패킷 수를 지정함으로써 제한할 수 있다. 예를 들면, 특정 컨텐츠가 1000개의 패킷으로 전송되어야 하고 노드 u(229)가 제900 시퀀스에 해당하는 패킷을 수신한 경우에 있어서, 미리 설계된 버퍼의 크기가 100개 시퀀스만큼의 패킷 이력을 저장할 수 있도록 설계된 경우, 제800 시퀀스 내지 제900 시퀀스까지의 패킷 이력을 버퍼에 저장할 수 있다.
도 3은 일 실시예에 따른 데이터 패킷(Data Packet)(300)의 구조를 도시한 도면이다. 도 4는 일 실시예에 따른 부정 패킷(Negative ACK Packet)(400)의 구조를 도시한 도면이다. 일 실시예에 따르면, 무선 네트워크 환경에서, 개별 노드 u가 데이터 패킷(300)을 수신하거나 패킷을 중계할 때, 또는 후속 노드로부터 패킷 수신을 실패했다는 부정 패킷(400)을 수신할 때 RQI 값을 갱신할 수 있다. 일 실시예에 따른 중계 노드를 선택하는 방법에서 사용되는 패킷은 도 3 및 도 4에 도시된 데이터 패킷(300)과 부정 패킷(400)을 포함할 수 있다. 패킷의 종류는 msgType 필드(310, 410)에 데이터 패킷(300)인지 부정 패킷(400)인지 여부가 기록됨으로써 구분될 수 있다.
데이터 패킷(300) 및 부정 패킷(400)에는 송수신한 패킷의 이력을 관리하기 위한 seq 필드(320, 420)를 포함할 수 있다. 특정 컨텐츠는 패킷 단위로 무선 네트워크 내의 각 노드로 전달될 수 있고, 각 패킷은 전송 순서에 따른 고유한 시퀀스 번호를 포함할 수 있다. seq 필드(320, 420)는 각 패킷의 고유한 시퀀스 번호를 포함할 수 있다.
데이터 패킷(300)은 srcAddr 필드(330), relayAddr 필드(340), RQI 필드(350)를 포함할 수 있다. srcAddr 필드(330)는 데이터 패킷(300) 전송을 시작하는 소스 노드의 주소를 포함할 수 있다. relayAddr 필드(340)는 패킷을 중계하는 노드의 주소를 포함할 수 있다. 일 실시예에 따르면, 중계 장치는 데이터 패킷(300)의 scrAddr 필드(330)와 seq 필드(320)의 조합을 통하여 데이터 패킷을 수신한 중계 장치가 해당 데이터 패킷(300)을 처음 수신했는지 또는 중복하여 수신했는지 알 수 있다. 하기 도 7의 단계(701)에서도, 상술한 바와 유사한 과정을 통해 현재 시퀀스에서 처음으로 수신한 패킷인지 여부를 판단할 수 있다.
여기서, RQI 필드(350)에 포함되는 RQI 값은 RQI(p)로 나타낼 수 있다. 예를 들면, 노드 u가 데이터 패킷(300)을 중계하는 경우, 노드 u는 데이터 패킷(300) 내의 RQI(p)를 RQI(u)로 변경하여 중계할 수 있다. 구체적으로 RQI(p)는 현재 시퀀스의 데이터 패킷(300)을 중계하는 노드의 RQI 값을 포함할 수 있다. RQI 필드(350)는 무선 네트워크 환경에서 개별적으로 자신의 RQI를 학습하기 위한 필드로서, 무선 네트워크 환경에서 자신이 최적의 중계 노드인지 여부를 판단하는데 사용될 수 있다. 구체적으로, 각 중계 후보 노드는 다른 중계 후보 노드에 의해 중계된 데이터 패킷(300) 내의 RQI 필드(350)를 비교함으로써 자신이 더 좋은 중계 노드인지 여부를 판단할 수 있다.
도 5는 일 실시예에 따른 중계 노드를 선택하는 방법을 도시한 흐름도이다. 일 실시예에 따른 중계 노드를 선택하는 방법은 무선 애드 혹 네트워크 환경에서 일 대 다(예를 들면, 1-to-all 또는 1-to-many) 컨텐츠 배포 기능을 사용하는 모든 응용 기술(예를 들면, Real-time audio/video streaming, 이미지/동영상/파일의 전파 및 공유 등)에 적용될 수 있다.
단계(510)에서는 수신부가 선행 노드 및 후속 노드로부터 패킷 정보를 수신할 수 있다. 여기서 수신부가 선행 노드로부터 수신한 패킷 정보는, 데이터 패킷, 선행 노드가 전송한 총 패킷 수 및 중계 장치가 선행 노드로부터 수신한 총 패킷 수를 포함할 수 있다. 또한, 수신부가 후속 노드로부터 수신한 패킷 정보는, 후속 노드가 수신을 실패한 경우 전송하는 부정 패킷을 포함할 수 있다.
그리고 단계(520)에서는 처리부가 패킷 정보에 따라 산출된 RQI 정보에 기초하여 중계 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정할 수 있다. 여기서 처리부는 패킷 정보에 따라 상술한 수학식 1을 통해 RQI 정보(예를 들면, RQI 값)를 산출할 수 있다. 일 실시예에 따르면 처리부는 선행 노드로부터 데이터 패킷을 수신한 중계 장치가, 데이터 패킷을 중계하기에 적합한 지 판단할 수 있다. 예를 들면, 처리부는 중계 장치가 무선 네트워크 내의 다른 중계 후보 노드보다 RQI 값이 크면 중계 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 수 있다.
이어서 단계(530)에서는 다음 시퀀스의 데이터 패킷이 존재하는지 판단할 수 있다. 다음 시퀀스가 존재하는 경우, 상술한 단계들(510, 520)을 반복할 수 있다. 다음 시퀀스가 존재하지 않는 경우, 모든 데이터 패킷이 전송된 것으로서, 데이터 전송 절차를 종료할 수 있다.
일 실시예에 따른 RQI 정보에 기초하여 중계 노드로 선택하는 구체적인 과정은 하기 도 6 내지 도 8에서 상세히 설명한다
도 6는 일 실시예에 따른 패킷을 중계하는 중계 장치(620)를 도시한 도면이다. 일 실시예에 따른 중계 장치(620)는 수신부(621), 처리부(622), 및 송신부(623)를 포함할 수 있다. 예를 들면, 중계 장치(620)는 선행 노드(610)(예를 들면, 노드 X)로부터 데이터 패킷을 수신하여 RQI 정보에 따라 후속 노드(630)(예를 들면, 노드 Y)로 중계할 수 있다. 구체적으로 중계 장치(620)는 도 5 및 도 7 내지 도 9에 따라 데이터 패킷을 중계할 수 있다. 여기서 RQI 정보는, 선행 노드(610)로부터 패킷을 수신할 확률 및 후속 노드(630)로 패킷이 전달될 확률 중 적어도 하나에 기초하여 처리부(622)에 의해 결정될 수 있다.
수신부(621)는 선행 노드(predecessor node)(610) 및 후속 노드(successor node)(630)로부터 패킷 정보를 수신할 수 있다. 예를 들면, 수신부(621)는 선행 노드(610)로부터 선행 노드(610)와 관련된 패킷 정보를 수신할 수 있다. 여기서 선행 노드(610)와 관련된 패킷 정보는 선행 노드(610)가 전송한 총 패킷 수 및 선행 노드(610)로부터 장치가 수신한 총 패킷 수를 포함할 수 있다.
일 실시예에 따르면 수신부(621)는 데이터 손실이 발생한 후속 노드(630)로부터 부정 패킷(NACK, Negative Ack)을 수신할 수 있다. 예를 들면, 부정 패킷은 중계된 데이터 패킷에 대응하는 시퀀스 번호를 포함할 수 있다.
처리부(622)는 패킷 정보에 따라 산출된 RQI 정보에 기초하여 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정할 수 있다. 구체적으로 처리부(622)는 산출된 RQI 정보 및 데이터 패킷에 포함된 RQI 정보를 비교한 결과에 따라, 장치가 패킷을 중계할 지 여부를 결정할 수 있다.
예를 들면, 처리부(622)는 이전 시퀀스에서 수신한 데이터 패킷의 RQI 정보를 포함하는 RQI 이력 정보 및 산출된 RQI 정보를 비교한 결과에 따라, 장치가 패킷을 중계할 지 여부를 결정할 수 있다. 구체적으로는 상술한 도 7에 도시된 바와 같이, 중계 장치의 RQI 정보가 RQI 이력정보보다 작은 경우, 중계 장치는 현재 시퀀스의 패킷을 중계하지 않기로 결정하고, RQI 이력정보가 패킷의 RQI 정보보다 작지 않은 경우에는 기존의 RQI 이력정보를 유지할 수 있다.
여기서 처리부(622)는 중복된 패킷을 수신하면, 현재 시퀀스에서 패킷을 중계한 노드의 개수를 카운트하고, 장치의 RQI 이력 정보를 갱신할 수 있다. 또한, 처리부(622)는 이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 산출된 RQI 정보 및 RQI 이력 정보를 비교한 결과에 따라 장치가 패킷을 중계할 지 여부를 결정할 수 있다. 구체적으로 이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 처리부(622)는 다음 시퀀스에서 패킷을 중계할 노드를 결정하기 위한 RQI 이력 정보를 조정치 및 산출된 RQI 정보에 따라 조정할 수 있다.
일 실시예에 따르면, 처리부(622)는 선행 노드(610)로부터 패킷을 처음으로 수신하면, 산출된 RQI 정보에 선행 노드(610)와 관련된 패킷 정보를 실시간으로 반영할 수 있다. 이 때, 처리부(622)는 중계 장치(620)가 패킷을 중계하기로 결정한 경우, 산출된 RQI 정보에 장치가 중계할 패킷 수를 실시간으로 반영할 수 있다.
다른 일 실시예에 따르면 처리부(622)는 부정 패킷이 이전 시퀀스에서 장치가 중계했던 데이터 패킷에 대응하면, 산출된 RQI 정보에 부정 패킷을 반영할 수 있다. 구체적으로, 일 실시예에 따른 중계 장치(620)는 매 패킷 수신 및 중계에 참여할 때의 패킷 정보를 바탕으로 RQI를 갱신함으로써, 링크 환경의 변화 및 토폴로지의 변화에 대처할 수 있다. 예를 들면, 중계 장치(620)는 선행 노드(610)로부터의 패킷 수신이 실패한 경우 및 자신이 중계한 패킷에 대응하는 부정 패킷을 후속 노드(630)로부터 수신한 경우에는 자신의 RQI 값을 감소시키고, 자신보다 높은 RQI 값을 갖는 노드가 나타날 경우 중계 노드를 해당 노드로 대체할 수 있다.
또 다른 일 실시예에 따르면 처리부(622)는 미리 정한 범위의 최근 시퀀스 동안 수신된 부정 패킷에 가중치를 부가하여 산출된 RQI 정보에 실시간으로 반영할 수 있다. 일 실시예에 따른 중계 장치(620)는, 중계 노드로 선택되어 중계 역할을 성공적으로 수행하면 지속적으로 RQI값이 향상될 수 있다. 이에 따라 네트워크 환경이 급격하게 변화하여 특정 시점을 기준으로 중계 장치(620)가 중계 노드로써의 역할을 할 수 없는 경우에도, 더 높은 RQI 값을 갖는 노드가 나타나기 전까지는 계속해서 데이터 패킷의 중계를 시도할 수 있다.
이러한 경우에 대비하여, 상술한 수학식 2와 같이 미리 정한 범위의 최근 시퀀스(예를 들면, 최근 k번의 시퀀스) 동안 중계를 실패한 횟수(예를 들면, 부정 패킷 수신 횟수)를 측정할 수 있다. 측정된 미리 정한 범위의 최근 시퀀스 동안 수신된 부정 패킷을 RQI 정보에 반영할 때 가중치를 부여함으로써, 동적인 통신 환경 변화에 좀 더 신속히 적응할 수 있다.
여기서 가중치는 사용자에 의해 임의로 설정될 수 있다. 이를테면, 네트워크 환경 변화가 적은 상황에서는 가중치를 부여하지 않음으로써 중계 노드의 빈번한 교체를 방지할 수 있다. 다른 예를 들면 환경 변화가 동적인 상황에서는 가중치를 부여함으로써 중계 노드를 신속히 교체할 수 있다.
송신부(623)는 중계 장치(620)가 중계 노드로 선택된 경우, 중계를 실패할 때까지 데이터 패킷을 중계할 수 있다. 예를 들면, 데이터 패킷을 중계하는 다른 중계 후보 노드(640)보다 RQI 정보가 작지 않으면 중계를 계속할 수 있다.
도 7은 일 실시예에 따른 RQI 정보에 기초하여 중계 노드를 선택하는 방법을 도시한 흐름도이다. 여기서 노드 u, 이를테면 중계 장치가 RQI를 학습하는 과정 및 중계할 지 여부를 판단하는 과정을 하기와 같이 설명한다. 일 실시예에 따르면, 중계 장치는 RQI 정보 및 중계와 관련된 정보를 포함할 수 있다. 이 때, RQI 정보는 수학식 1에 따른 RQI 값을 포함할 수 있다.
여기서 중계와 관련된 정보는 numPrevRelay 필드, lastHighestRQI 필드, relayNext 필드, numCurRelay 필드, curHighestRQI 필드 등에 저장될 수 있다. numPrevRelay 필드는 이전 시퀀스에서 데이터 패킷을 중계한 노드의 개수를 나타낼 수 있다. lastHighesRQI 필드는 이전 시퀀스에서 패킷을 중계한 노드들의 RQI 값 중 가장 큰 RQI 값일 수 있다. numCurRelay 필드는 현재 시퀀스에서 데이터 패킷을 중계한 노드의 개수를 나타낼 수 있다. curHighestRQI 필드는 현재 시퀀스에서 패킷을 중계한 노드들의 RQI 값 중 가장 큰 RQI 값일 수 있다. relayNext 필드는 현재 시퀀스에서 중계 장치가 패킷을 중계할 지 여부를 나타낼 수 있으며, RQI 이력 정보의 비교를 통해 이전 시퀀스에서 결정될 수 있다.
구체적으로는 중계 장치는 데이터 패킷을 처음 수신한 때에, relayNext 필드의 값을 바탕으로 중계 여부를 결정할 수 있다. relayNext 필드는 중계 장치의 RQI가 이웃하는 노드들 중 가장 크다고 판단될 때 true로 설정될 수 있다. 이러한 relayNext 필드는 다른 중계 후보 노드에 의해 중계된 데이터 패킷 p의 RQI 필드 값(예를 들면, RQI(p)) 및 중계 장치의 RQI 정보와의 비교를 통해 결정될 수 있다. 구체적으로는 하기에서 상세히 설명한다.
우선, 단계(700)에서 중계 장치는 이전 시퀀스의 중계와 관련된 정보를 초기화할 수 있다. 예를 들면, 중계 장치는 numPrevRelay 필드의 값을 numCurRelay 필드와 같은 값으로 변경할 수 있고, lastHighestRQI 필드의 값을 curHighestRQI 필드와 같은 값으로 변경할 수 있다.
이어서, 단계(701)에서 중계 장치는 수신된 데이터 패킷이 현재 시퀀스에서 처음으로 수신한 패킷인지 확인할 수 있다. 구체적으로 중계 장치는 수신된 데이터 패킷이 선행 노드로부터 전송된 것인지 확인할 수 있다. 예를 들면, 각 시퀀스에 해당하는 패킷이 일정 시간 이상의 딜레이를 두고 전송되는 경우, 현재 시퀀스의 시작 시점에서 수신한 데이터 패킷은 처음으로 수신한 패킷일 수 있다. 여기서 처음으로 수신한 데이터 패킷은 선행 노드로부터 전송된 것일 수 있다. 다른 예를 들면, 중계 장치는 소스 노드로부터 수신된 데이터 패킷의 seq 필드 및 scrAddr의 조합에 기초하여, 해당 패킷이 처음 수신된 것인지, 중복 수신된 것인지 여부를 확인할 수 있다.
이 때, 중계 장치는 현재 시퀀스에서 선행 노드가 아닌 다른 중계 후보 노드가 중계한 패킷을 수신할 수 있다. 예를 들면, 중계 장치는 선행 노드로부터 데이터 패킷을 수신한 이후 중복되는 데이터 패킷을 다시 수신하거나 선행 노드가 데이터 패킷을 전송한 시점이 일정 시간 경과한 이후에 데이터 패킷을 수신할 수 있다.
그리고 단계(702)에서 중계 장치는 현재 시퀀스에서 처음으로 수신한 패킷인 경우, 중계 장치의 RQI 정보에 선행 노드와 관련된 패킷 정보를 실시간으로 반영할 수 있다. 예를 들면, 선행 노드와 관련된 패킷 정보는 선행 노드가 전송한 총 패킷 수 및 선행 노드로부터 중계 장치가 수신한 총 패킷 수를 포함할 수 있다. 여기서 선행 노드가 전송한 총 패킷 수는 데이터 패킷의 seq 필드에 기록된 시퀀스 번호에 대응할 수 있다. 선행 노드로부터 중계 장치가 수신한 총 패킷 수는 중계 장치가 선행 노드로부터 데이터 패킷을 성공적으로 수신할 때마다 카운트함으로써 획득될 수 있다.
이어서 단계(703)에서는 이전 시퀀스에서 데이터 패킷을 중계한 다른 중계 후보 노드의 존재 여부를 확인할 수 있다. 구체적으로는 이전 시퀀스에서 다른 중계 후보 노드로부터 데이터 패킷을 수신할 때마다 카운트함으로써, 이전 시퀀스에서 데이터 패킷을 중계한 다른 중계 후보 노드의 개수를 카운트할 수 있다.
그리고 단계(704)에서는 이전 시퀀스에서 데이터 패킷을 중계한 다른 중계 후보 노드가 없는 경우, 중계 장치의 RQI 정보를 RQI 이력정보와 비교할 수 있다. 여기서 RQI 이력정보는 이전 시퀀스에서 수신한 데이터 패킷 중 가장 큰 RQI 값일 수 있다.
이어서 단계(705)에서는 중계 장치의 RQI 정보가 RQI 이력정보보다 작은 경우, 중계 장치는 현재 시퀀스의 패킷을 중계하지 않기로 결정할 수 있다. 예를 들면, RQI(u)<lastHighestRQI인 경우 중계 장치는 relayNext 필드를 false로 설정할 수 있다.
그리고 단계(706)에서는 중계 장치가 현재 시퀀스의 데이터 패킷을 중계하는지 여부를 판단할 수 있다. 구체적으로 중계 장치는 처리부를 통해 relayNext 필드가 true로 설정되어 있는지 판단할 수 있다. relayNext 필드가 true로 설정된 경우는, 예를 들면 이전 시퀀스에서 아무 노드도 데이터 패킷을 중계하지 않았는데 중계 장치가 일정 값 이상의 RQI를 가지는 경우, 이전 시퀀스에서 중계 장치의 RQI 값보다 더 큰 RQI 값을 가지는 중계 후보 노드가 없는 경우 등을 포함할 수 있다. 이를테면, RQI(u)≥lastHighestRQI인 경우일 수 있다.
여기서 이전 시퀀스에서 아무 노드도 데이터 패킷을 중계하지 않은 경우는, 이전 시퀀스에서 중계된 패킷 수(예를 들면, numPrevRelay 필드의 값)가 0인 경우일 수 있다. 예를 들면, 이전 시퀀스에서 중계하기로 예정되어 있던 중계 후보 노드가 패킷 수신 실패 등의 이유로 데이터 패킷을 중계하지 않을 수 있다. 이 경우 중계 장치는 이전 시퀀스의 RQI 이력정보(예를 들면, lastHighestRQI 필드의 값)를 바탕으로 중계 장치(예를 들면, 노드 u)의 RQI(u)가 lastHighestRQI 필드보다 작지 않은 경우에만 relayNext 필드의 값을 true로 유지할 수 있다.
또한, 단계(706)에서 중계 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 판단할 수 있다. 여기서 중계 장치는 relayNext 필드가 true이면 데이터 패킷을 중계할 수 있다. 구체적으로는 이전 시퀀스의 하기 단계들(713 내지 717)에서 중계 영역에 포함되는 각 중계 후보 노드들의 RQI 값을 비교하여, 중계 장치가 가장 큰 RQI 값을 가지는 중계 후보 노드이면 현재 시퀀스에서 데이터 패킷을 중계하는 것으로 결정할 수 있다. 예를 들면, 중계 장치는 이전 시퀀스의 하기 단계(710)에서 relayNext 필드를 true로 설정하고, 이전 시퀀스의 하기 단계들(713 내지 717)에서 자신보다 더 좋은 RQI를 가지는 중계 후보 노드가 있는 경우, relayNext 필드를 false로 설정할 수 있다.
이어서 단계(707)에서는 중계 장치가 현재 시퀀스의 데이터 패킷을 중계하지 않기로 결정한 경우, 이전 시퀀스에서 데이터 패킷을 중계한 노드 개수, RQI 이력정보를 초기화할 수 있다. 예를 들면, 데이터 패킷을 중계한 노드 개수를 나타내는 numCurRelay 필드를 0으로 초기화하고, RQI 이력정보를 나타내는 curHighestRQI 필드를 중계 장치의 RQI 필드 값과 조정치가 적용된 RQI 이력정보 중 큰 값으로 초기화할 수 있다.
그리고 단계(708)에서 중계 장치는 중계 장치의 RQI 정보에 중계할 패킷 수를 실시간으로 반영할 수 있다. 예를 들면, 중계 장치의 전송된 패킷 수를 이전 시퀀스보다 1만큼 증가시킨 값에 기초하여 RQI 정보를 산출할 수 있다. 다른 예를 들면, 적어도 하나 이상의 패킷이 전송된 경우, 전송된 패킷 수에 대응하는 RQI 정보를 산출할 수 있다.
이어서 단계(709)에서 중계 장치가 데이터 패킷을 중계하기로 결정하면, 중계 장치는 데이터 패킷 p의 relayAddr 필드 및 RQI 필드를 자신의 네트워크 주소 및 RQI(u)로 갱신하여 중계할 수 있다.
그리고 단계(710)에서 중계 장치는 중계 여부, 이전 시퀀스에서 패킷을 중계한 노드 개수, RQI 이력정보를 초기화할 수 있다. 예를 들면, relayNext 필드는 true로, numCurRelay 필드는 0으로 초기화할 수 있다. curHighestRQI 필드는 중계 장치가 계속해서 중계되는 패킷을 수신하지 못할 경우를 대비하여, RQI(u)와 lastHighestRQI*α 중 큰 값을 선택할 수 있다. 여기서, α는 lastHighestRQI에 적용되는 조정치일 수 있다. 이를테면 α는 1보다 작은 값으로서, 이전 시퀀스에서 최적으로 판단된 중계 노드가 선행 노드로부터 패킷을 수신하지 못할 경우를 고려하여 설정된 RQI 값에 대한 조정양일 수 있다.
이어서 단계(711)에서 중계 장치는 데이터 패킷의 손실 여부를 감지할 수 있다. 예를 들면, 패킷의 중계 여부 결정 이후, 중계 장치는 현재 수신한 데이터 패킷의 시퀀스 번호 정보(예를 들면, seq 필드)를 바탕으로 이전 시퀀스의 데이터 패킷이 손실되었는지 판단할 수 있다.
그리고 단계(712)에서 중계 장치는 데이터 손실이 감지된 경우, 부정 패킷을 송신할 수 있다. 또한 이와 같이 데이터 패킷이 손실되었다고 판단될 경우, 선행 노드로 NACK 정보를 요청하여 패킷 손실 여부를 알리고, 추가적으로 손실된 패킷을 복구할 수 있다.
이어서 단계(713)에서 중계 장치는 수신한 데이터 패킷이 현재 시퀀스에서 처음으로 수신한 패킷이 아닌 것으로 확인된 경우, 현재 시퀀스에서 패킷을 중계한 노드 개수를 카운트할 수 있다. 일 실시예에 따르면 중계 장치는 선행 노드로부터 데이터 패킷이 송신되는 시점 이후에, 다른 중계 노드로부터 중계 되는 데이터 패킷을 수신할 수 있다. 예를 들면, 중계 장치는 다른 중계 후보 노드로부터 현재 시퀀스의 데이터 패킷을 수신할 때마다 numCurRelay 필드의 값을 1만큼 증가시킴으로써, 현재 시퀀스에서 패킷을 중계한 노드의 개수를 카운트할 수 있다.
그리고 단계(714)에서는 중계 장치의 RQI 정보와 데이터 패킷의 RQI 정보를 비교할 수 있다. 여기서, 중계 장치는 자신의 RQI 정보(예를 들면, RQI(u))를 다른 중계 후보 노드에 의해 중계된 패킷 p의 RQI(p) 값과 비교한 후, 현재 시퀀스에서 중계된 노드들의 RQI 값보다 작지 않다고 판단할 경우, relayNext 필드를 true로 유지할 수 있다.
이어서 단계(715)에서는 중계 장치는 중계 장치의 RQI 정보가 데이터 패킷의 RQI 정보보다 작은 경우, 다음 시퀀스에서 데이터 패킷을 중계하지 않기로 결정할 수 있다. 예를 들면, 기존에 중계된 패킷이 자신의 RQI보다 더 큰 경우로서, 중계 장치는 relayNext 필드를 false로 설정할 수 있다.
그리고 단계(716)에서는 RQI 이력정보 및 데이터 패킷의 RQI 정보를 비교할 수 있다. RQI 이력정보가 패킷의 RQI 정보보다 작지 않은 경우에는 기존의 RQI 이력정보를 유지할 수 있다. 예를 들면, curHighestRQI 필드의 값이 상술한 단계(710)에서 선택된 값으로 유지될 수 있다.
이어서 단계(717)에서는 RQI 이력정보가 패킷의 RQI 정보보다 작은 경우에는 RQI 이력정보를 갱신할 수 있다. 예를 들면, 중계 장치는 다른 중계 후보 노드로부터 데이터 패킷을 수신할 때마다, 중계 장치의 RQI 이력정보를 수신된 데이터 패킷의 RQI 정보로 갱신함으로써, 현재 시퀀스에서 가장 큰 값을 가지는 RQI 값을 RQI 이력정보로 저장할 수 있다. 구체적으로는 데이터 패킷의 RQI 값이 중계 장치의 RQI 이력정보보다 큰 경우, curHighestRQI 필드의 값을 데이터 패킷의 RQI 값으로 변경할 수 있다. 상술한 바와 같이 데이터 패킷을 수신할 때마다 RQI 이력정보의 갱신을 반복함으로써, curHighestRQI 필드의 값을 현재 시퀀스에서 가장 큰 값을 가지는 RQI 값으로 변경할 수 있다.
도 8은 일 실시예에 따른 부정 패킷을 반영하는 과정을 도시한 흐름도이다.
단계(810)에서는 중계 장치는 데이터 손실이 발생한 후속 노드로부터 부정 패킷을 수신할 수 있다. 여기서 부정 패킷은 상술한 도 7의 단계(712)에서 다른 중계 후보 노드에 의해 송신된 패킷 또는 후속 노드로부터 송신된 패킷을 포함할 수 있다.
그리고 단계(820)에서는 중계 장치가 중복되지 않은 부정 패킷을 수신하였는지 판단할 수 있다. 예를 들면, 적어도 둘 이상의 후속 노드로부터 둘 이상의 특정 시퀀스에 대응하는 부정 패킷을 수신한 경우, 두번째 수신한 부정 패킷은 카운트하지 않을 수 있다.
이어서 단계(830)에서는 수신된 부정 패킷이 이전 시퀀스에서 중계 장치가 중계한 패킷인 지 여부를 판단할 수 있다. 예를 들면, 부정 패킷을 수신한 중계 장치들은 해당 시퀀스 번호의 데이터 패킷을 자신이 중계 했는지 여부를 판단할 수 있다. 구체적으로 중계 장치는 자신이 중계한 패킷의 시퀀스 번호를 기록할 수 있고, 기록된 시퀀스 번호를 수신된 부정 패킷의 시퀀스 번호와 대조할 수 있다.
그리고 단계(840)에서 중계 장치는 중계 장치의 RQI 정보에 부정 패킷을 실시간으로 반영할 수 있다. 예를 들면 중계 장치는 부정 패킷이 이전 시퀀스에서 중계 장치가 중계했던 데이터 패킷에 대응하면, RQI 정보 중 "노드 u가 중계할 때의 수신 이력" 정보 중 노드 u가 수신한 총 부정 패킷 수를 갱신할 수 있다. 이 때, 여러 노드로부터 동일한 시퀀스 번호에 대한 부정 패킷을 중복 수신할 수 있으나, 상술한 단계(820)에 따라 시퀀스 번호를 기준으로 한 번 RQI에 반영한 부정 패킷을 중복해서 갱신하지 않을 수 있다.
일 실시예에 따르면 상술한 도 7 및 도 8에 도시된 바와 같이, 각 중계 후보 노드 u는 선행 노드로부터 데이터 패킷을 수신할 때, 수신한 데이터 패킷을 중계할 때, 후속 노드로부터 자신이 중계했던 패킷에 대한 부정 패킷을 수신할 때마다 RQI(u)를 갱신할 수 있다. 예를 들면, 중계 장치는 도 7 및 도 8에 도시된 방법에 따라 분산형태로 RQI 정보를 유지할 수 있고, 중계되는 데이터 패킷 p의 RQI(p) 값과 비교하여 자신의 RQI(u) 값이 더 클 때, 다음 시퀀스의 데이터 패킷을 중계할 수 있다.
여기서, 기존의 중계에 참여했던 중계 장치는 더 큰 RQI를 가진 다른 중계 후보 노드가 패킷을 중계하는 것을 파악하면, 다음 패킷부터 중계에 참여하지 않을 수 있다. 이러한 방식으로 각 중계 후보 노드는 링크 상태에 따라 자신이 최적의 중계 노드인 지 여부를 선택, 재선택하는 과정을 반복할 수 있다.
다른 일 실시예에 따르면, 중계 노드로 선정된 중계 장치가 선행 노드로부터 제x 시퀀스의 데이터 패킷 수신을 실패할 경우에는 중계하지 못할 수 있다. 이 때, 제x 시퀀스에 대해 중계되는 데이터 패킷이 없으므로 주변의 노드들은 다음 시퀀스인 제x+1 시퀀스의 데이터 패킷에 대해서 중계 노드로 참여하기로 결정할 수 있다. 여기서, 많은 수의 노드가 중계에 참여하면 패킷 간 충돌, 혼잡 등의 문제가 발생할 수 있다. 이러한 문제에 대비하여 RQI 이력정보(예를 들면, lastHighestRQI 필드) 값을 이용하여, 각 노드 u의 RQI(u)가 lastHighestRQI보다 클 경우에만 중계 하도록 함으로써, 제x+1 시퀀스에서 일부 노드만 중계에 참여하도록 제한할 수 있다.
도 9은 다른 일 실시예에 따른 중계 노드를 선택하는 방법을 도시한 흐름도이다. 일 실시예에 따르면, 중계 장치는 RQI 정보 및 중계와 관련된 정보를 포함할 수 있다. 이 때, RQI 정보는 수학식 1에 따른 RQI 값을 포함할 수 있다.
여기서 중계와 관련된 정보는 numPrevRelay 필드, lastHighestRQI 필드, relayNext 필드, numCurRelay 필드, curHighestRQI 필드 등에 저장될 수 있다. numPrevRelay 필드는 이전 시퀀스에서 데이터 패킷을 중계한 노드의 개수를 나타낼 수 있다. lastHighesRQI 필드는 이전 시퀀스에서 패킷을 중계한 노드들의 RQI 값 중 가장 큰 RQI 값일 수 있다. numCurRelay 필드는 현재 시퀀스에서 데이터 패킷을 중계한 노드의 개수를 나타낼 수 있다. curHighestRQI 필드는 현재 시퀀스에서 패킷을 중계한 노드들의 RQI 값 중 가장 큰 RQI 값일 수 있다. relayNext 필드는 현재 시퀀스에서 중계 장치가 패킷을 중계할 지 여부를 나타낼 수 있으며, RQI 정보의 비교를 통해 이전 시퀀스에서 결정될 수 있다.
일 실시예에 따른 중계 장치는 이전 시퀀스에서 중계 장치 및 다른 중계 후보 노드가 데이터 패킷을 중계했는지 판단하고, 중계 장치의 RQI 정보 및 데이터 패킷 중계 여부에 기초하여 중계 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정할 수 있다.
단계(910)에서 처리부는 이전 시퀀스에서 중계 장치가 데이터 패킷을 성공적으로 중계했는지 판단할 수 있다. 여기서 처리부는 이전 시퀀스에서 중계 장치가 데이터 패킷을 성공적으로 중계했는지 판단하고, 성공적으로 중계한 경우에는 패킷을 계속해서 중계하고, 실패한 경우에는 현재 시퀀스에서 중계할 지 여부를 판단할 수 있다.
예를 들어, 중계 장치가 데이터 패킷을 성공적으로 중계하지 못한 경우는, 이전 시퀀스에서 후속 노드가 중계 장치로부터 데이터 패킷을 수신하지 못한 경우일 수 있다. 이 경우, 상술한 후속 노드는 무선 네트워크 내의 노드들에게 부정 패킷을 전송함으로써 실패 여부를 알릴 수 있다.
다른 예를 들어, 중계 장치는 이전 시퀀스에서 데이터 패킷을 중계한 다른 중계 후보 노드의 RQI 값이 자신의 RQI 값보다 큰 경우, 성공적으로 중계하지 못한 것으로 판단할 수 있다. 예를 들면, 중계 장치의 relayNext 필드의 값이 false인 경우일 수 있다. 여기서 relayNext 필드는 다른 중계 후보 노드에 의해 중계된 데이터 패킷 p의 RQI 필드 값(예를 들면, RQI(p)) 및 중계 장치의 RQI 정보와의 비교를 통해 결정될 수 있다. 특히, relayNext 필드는 중계 장치의 RQI가 이웃하는 중계 후보 노드들 중 가장 크다고 판단될 때 true로 설정될 수 있다.
그리고 단계(920)에서 처리부는 중계 장치가 이전 시퀀스에서 데이터 패킷을 중계한 경우, 송신부를 통해 현재 시퀀스에서 중계 장치가 패킷을 중계하도록 제어할 수 있다. 예를 들면, 중계 장치는 데이터 패킷의 중계를 실패해서 다른 중계 후보 노드보다 RQI 값이 작아질 때까지 중계를 계속할 수 있다. 여기서 중계 장치는 데이터 패킷을 중계할 때, 하기 단계(940)에서 중계 장치의 RQI 정보를 갱신할 수 있다.
이어서 단계(930)에서 이전 시퀀스에서 중계 장치가 데이터 패킷을 성공적으로 중계하지 못한 경우, 처리부는 이전 시퀀스에서 다른 중계 후보 노드가 패킷을 중계했는지 판단할 수 있다. 구체적으로는 수신부를 통해 다른 중계 후보 노드가 중계한 패킷을 수신하면 다른 중계 후보 노드가 이전 시퀀스에서 패킷을 중계한 것으로 판단할 수 있다.
그리고 단계(940)에서 이전 시퀀스에서 다른 중계 후보 노드가 패킷을 중계한 경우, 중계 장치는 RQI 이력 정보를 갱신할 수 있다. 예를 들면, 현재 시퀀스에서 수신한 다른 중계 후보 노드로부터 전송된 데이터 패킷 내에 포함된 RQI 정보로 RQI 이력 정보를 변경할 수 있다.
이어서 단계(950)에서 이전 시퀀스에서 다른 중계 후보 노드가 패킷을 중계하지 않은 경우, 처리부는 중계 장치의 RQI 정보 및 RQI 이력정보를 비교한 결과에 따라 중계 여부를 결정할 수 있다. 여기서 RQI 이력정보는 이전 시퀀스에서 무선 네트워크의 중계 영역에 존재하는 중계 후보 노드로부터 수신한 RQI 정보 중 가장 큰 RQI 값일 수 있다.
그리고 단계(960)에서 중계 장치의 RQI 정보가 RQI 이력정보보다 크거나 같은 경우, 중계 장치는 현재 시퀀스에서 데이터 패킷을 중계할 수 있다. 여기서 중계 장치는 데이터 패킷을 중계할 때, 상술한 단계(940)에서 중계 장치의 RQI 이력정보를 갱신할 수 있다.
이어서 단계(970)에서 중계 장치의 RQI 정보가 RQI 이력정보보다 작은 경우, 중계 장치는 RQI 이력정보를 조정할 수 있다. 구체적으로는 중계 장치의 RQI 정보 및 조정치가 적용된 RQI 이력정보 중 큰 값을 RQI 이력정보로 변경할 수 있다.
일 실시예에 따른 중계 장치를 포함하는 무선 네트워크에서는 RQI가 가장 높은 노드가 중계에 참여하도록 설계될 수 있다. 여기서 초기에 첫 데이터 패킷을 전송할 때, 네트워크 내 모든 노드가 동일한 초기값을 가질 수 있다. 이 경우, 대부분의 노드가 한꺼번에 중계에 참여하면 중복된 데이터 패킷이 전송되어, 후속 노드가 데이터 패킷 수신을 실패할 수 있다.
초기 데이터 패킷 전송 시, 중계 장치(예를 들면, 노드 u)가 중계한 패킷 수, 중계 장치가 수신한 후속 노드로부터의 부정 패킷 개수 등을 임의의 확률 범위 내에서 초기화시킴으로써, 대부분의 노드가 한꺼번에 중계에 참여하는 것을 방지할 수 있다. 이에 따라, 초기에 중계 노드로써 성능이 좋지 않은 노드가 선택될 가능성은 존재하나, 이후 각 중계 후보 노드의 RQI 값이 패킷 수신시마다 갱신되면서, 더 좋은 RQI 값을 가진 노드를 중계 노드로 교체함으로써 안정적인 상태로 진입할 수 있다.
다른 일 실시예에 따른 중계 장치는 사용자에 의해 시스템 환경에 따라 적절한 중계 노드 수가 지정될 수 있다. 예를 들면, 상술한 도 5 내지 도 8에 따라 각 중계 후보 노드가 수신한 RQI 값들의 랭킹을 저장함으로써, 지정된 수만큼 중계 노드를 선택할 수 있다. 예를 들면, 일반적으로 충돌(예를 들면, 중복된 데이터 패킷 전송에 따른 혼선) 없이 전송될 수 있는 중계 노드의 수가 늘어날수록 후속 노드의 수신 성능이 높아질 수 있다. 다른 예를 들면, 중계 노드 간 충돌이 발생할 경우에는 후속 노드의 수신 성능이 저하될 수 있다. 중계에 적절한 중계 노드의 수는, 중계에 허용된 시간 및 중계 노드 간 충돌 없이 전송할 수 있는 확률 등에 따라 사용자에 의해 설정될 수 있다.
일 실시예에 따른 중계 장치는 무선 애드 혹 네트워크에서 멀티 홉 브로드캐스트 또는 멀티캐스트에 기반하여 컨텐츠를 공유할 시, 처리양 및 패킷 전송 신뢰성을 향상시킬 수 있다.
일 실시예에 따른 중계 장치는 임시로 구성되는 무선 네트워크에서 사전 정보 습득이 필요 없어, 지연 시간 없이 멀티 홉 브로드캐스팅 기술을 활용할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (28)
- 중계 장치에 의해 수행되는 중계 노드를 선택하는 방법에 있어서,
선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 단계; 및
상기 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 상기 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계
를 포함하고,
상기 패킷 수신 여부에 따라 산출된 RQI 정보에 기초하여 상기 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는,
상기 중계 장치의 RQI 값이 다른 중계 후보 노드들의 RQI 값보다 크거나 같은 경우, 다음 시퀀스에서 상기 중계 장치로 데이터 패킷을 중계하기로 결정하고, 상기 중계 장치의 RQI 값이 상기 다른 중계 후보 노드들의 RQI 값보다 작은 경우, 다음 시퀀스에서 상기 중계 장치로 데이터 패킷을 중계하지 않기로 결정하는 단계
를 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
상기 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 단계는,
상기 선행 노드로부터 상기 선행 노드와 관련된 패킷을 수신하는 단계; 및
상기 패킷이 상기 선행 노드로부터 현재 시퀀스에서 처음 수신한 데이터 패킷이면, 상기 산출된 RQI 정보에 상기 선행 노드와 관련된 패킷을 반영하는 단계
를 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
상기 선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 단계는,
데이터 손실이 발생한 후속 노드로부터 부정 패킷(NACK, Negative Ack)을 수신하는 단계; 및
상기 부정 패킷이 이전 시퀀스에서 상기 장치가 중계했던 데이터 패킷에 대응하면, 상기 산출된 RQI 정보에 상기 부정 패킷을 반영하는 단계
를 포함하는 중계 노드 선택 방법. - 제3항에 있어서,
상기 부정 패킷이 이전 시퀀스에서 상기 장치가 중계했던 데이터 패킷에 대응하면, 상기 산출된 RQI 정보에 상기 부정 패킷을 반영하는 단계는,
미리 정한 범위의 최근 시퀀스 동안 수신된 부정 패킷에 가중치를 부가하여 상기 산출된 RQI 정보에 반영하는 단계
를 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
상기 장치가 패킷을 중계하기로 결정한 경우, 상기 산출된 RQI 정보에 상기 장치가 중계할 패킷 수를 반영하는 단계
를 더 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
상기 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 상기 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는,
상기 산출된 RQI 정보 및 상기 데이터 패킷에 포함된 RQI 정보를 비교한 결과에 따라, 상기 장치가 패킷을 중계할 지 여부를 결정하는 단계
를 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
상기 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 상기 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는,
이전 시퀀스에서 수신한 데이터 패킷의 RQI 정보를 포함하는 RQI 이력 정보 및 상기 산출된 RQI 정보를 비교한 결과에 따라, 상기 장치가 패킷을 중계할 지 여부를 결정하는 단계
를 포함하는 중계 노드 선택 방법. - 제7항에 있어서,
상기 패킷 수신 여부에 따라 산출된 RQI 정보(Relay Quality Indicator Information)에 기초하여 상기 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 단계는,
현재 시퀀스에서 패킷을 중계한 노드의 개수를 카운트하고, 상기 장치의 RQI 이력 정보를 갱신하는 단계
를 더 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
상기 RQI 정보는,
상기 선행 노드로부터 패킷을 수신할 확률 및 상기 후속 노드로 패킷이 전달될 확률 중 적어도 하나에 기초하여 결정되는,
중계 노드 선택 방법. - 제1항에 있어서,
이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 상기 산출된 RQI 정보 및 RQI 이력 정보를 비교한 결과에 따라 상기 장치가 패킷을 중계할 지 여부를 결정하는 단계
를 더 포함하는 중계 노드 선택 방법. - 제1항에 있어서,
이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 다음 시퀀스에서 패킷을 중계할 노드를 결정하기 위한 RQI 이력 정보를 조정치 및 상기 산출된 RQI 정보에 따라 조정하는 단계
를 더 포함하는 중계 노드 선택 방법. - 패킷을 중계하는 중계 장치에 있어서,
선행 노드(predecessor node) 및 후속 노드(successor node)로부터 패킷을 수신하는 수신부; 및
상기 패킷 수신 여부에 따라 산출된 RQI 정보에 기초하여 상기 장치를 데이터 패킷을 중계하는 중계 노드로 선택할 지 결정하는 처리부
를 포함하고,
상기 처리부는,
상기 중계 장치의 RQI 값이 다른 중계 후보 노드들의 RQI 값보다 크거나 같은 경우, 다음 시퀀스에서 상기 중계 장치로 데이터 패킷을 중계하기로 결정하고, 상기 중계 장치의 RQI 값이 상기 다른 중계 후보 노드들의 RQI 값보다 작은 경우, 다음 시퀀스에서 상기 중계 장치로 데이터 패킷을 중계하지 않기로 결정하는, 패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 수신부는,
상기 선행 노드로부터 상기 선행 노드와 관련된 패킷을 수신하고,
상기 처리부는,
상기 패킷이 상기 선행 노드로부터 현재 시퀀스에서 처음 수신한 데이터 패킷이면, 상기 산출된 RQI 정보에 상기 선행 노드와 관련된 패킷 정보를 반영하는,
패킷을 중계하는 중계 장치. - 제13항에 있어서,
상기 선행 노드와 관련된 패킷 정보는,
상기 선행 노드가 전송한 총 패킷 수 및 상기 선행 노드로부터 상기 장치가 수신한 총 패킷 수 중 적어도 하나
를 포함하는 패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 수신부는,
데이터 손실이 발생한 후속 노드로부터 부정 패킷(NACK, Negative Ack)을 수신하고,
상기 처리부는,
상기 부정 패킷이 이전 시퀀스에서 상기 장치가 중계했던 데이터 패킷에 대응하면, 상기 산출된 RQI 정보에 상기 부정 패킷을 반영하는,
패킷을 중계하는 중계 장치. - 제15항에 있어서,
상기 처리부는,
미리 정한 범위의 최근 시퀀스 동안 수신된 부정 패킷에 가중치를 부가하여 상기 산출된 RQI 정보에 반영하는,
패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 처리부는,
상기 장치가 패킷을 중계하기로 결정한 경우, 상기 산출된 RQI 정보에 상기 장치가 중계할 패킷 수를 반영하는,
패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 처리부는,
상기 산출된 RQI 정보 및 상기 데이터 패킷에 포함된 RQI 정보를 비교한 결과에 따라, 상기 장치가 패킷을 중계할 지 여부를 결정하는,
패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 처리부는,
이전 시퀀스에서 수신한 데이터 패킷의 RQI 정보를 포함하는 RQI 이력 정보 및 상기 산출된 RQI 정보를 비교한 결과에 따라, 상기 장치가 패킷을 중계할 지 여부를 결정하는,
패킷을 중계하는 중계 장치. - 제19항에 있어서,
상기 처리부는,
현재 시퀀스에서 패킷을 중계한 노드의 개수를 카운트하고, 상기 장치의 RQI 이력 정보를 갱신하는,
패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 RQI 정보는,
상기 선행 노드로부터 패킷을 수신할 확률 및 상기 후속 노드로 패킷이 전달될 확률 중 적어도 하나에 기초하여 상기 처리부에 의해 결정되는,
패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 처리부는,
이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 상기 산출된 RQI 정보 및 RQI 이력 정보를 비교한 결과에 따라 상기 장치가 패킷을 중계할 지 여부를 결정하는,
패킷을 중계하는 중계 장치. - 제12항에 있어서,
상기 처리부는,
이전 시퀀스에서 패킷을 중계한 노드가 없는 경우, 다음 시퀀스에서 패킷을 중계할 노드를 결정하기 위한 RQI 이력 정보를 조정치 및 상기 산출된 RQI 정보에 따라 조정하는,
패킷을 중계하는 중계 장치. - 중계 장치에 의해 수행되는 중계 노드를 선택하는 방법에 있어서,
이전 시퀀스에서 상기 장치 및 다른 중계 후보 노드가 데이터 패킷을 중계했는지 판단하는 단계; 및
상기 장치의 RQI 정보 및 상기 데이터 패킷 중계 여부에 기초하여 상기 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계; 및
상기 중계 장치의 RQI 값이 다른 중계 후보 노드들의 RQI 값보다 크거나 같은 경우, 다음 시퀀스에서 상기 중계 장치로 데이터 패킷을 중계하기로 결정하고, 상기 중계 장치의 RQI 값이 상기 다른 중계 후보 노드들의 RQI 값보다 작은 경우, 다음 시퀀스에서 상기 중계 장치로 데이터 패킷을 중계하지 않기로 결정하는 단계
를 포함하는 중계 노드를 선택하는 방법. - 제24항에 있어서,
상기 데이터 패킷 중계 여부에 따라 상기 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계는,
상기 장치가 이전 시퀀스에서 데이터 패킷을 성공적으로 중계한 경우, 현재 시퀀스에서 데이터 패킷을 중계하는 단계
를 포함하는 중계 노드를 선택하는 방법. - 제24항에 있어서,
이전 시퀀스에서 데이터 패킷이 중계된 경우, 상기 장치의 RQI 이력 정보를 갱신하는 단계
를 더 포함하는 중계 노드를 선택하는 방법. - 제24항에 있어서,
상기 데이터 패킷 중계 여부에 따라 상기 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계는,
이전 시퀀스에서 데이터 패킷이 중계되지 않은 경우, 상기 장치의 RQI 정보가 RQI 이력 정보보다 작지 않으면 패킷을 중계하는 단계
를 포함하는 중계 노드를 선택하는 방법. - 제24항에 있어서,
상기 데이터 패킷 중계 여부에 따라 상기 장치가 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계는,
이전 시퀀스에서 데이터 패킷이 중계되지 않은 경우, 상기 장치의 RQI 이력 정보를 조정하는 단계; 및
상기 장치의 RQI 정보 및 상기 조정된 RQI 이력 정보에 기초하여 현재 시퀀스에서 데이터 패킷을 중계할 지 여부를 결정하는 단계
를 포함하는 중계 노드를 선택하는 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130114301A KR102094718B1 (ko) | 2013-09-26 | 2013-09-26 | 무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 |
US14/325,544 US20150085738A1 (en) | 2013-09-26 | 2014-07-08 | Relay apparatus and method of selecting relay node based on learning in wireless network |
CN201410367304.1A CN104519545A (zh) | 2013-09-26 | 2014-07-29 | 基于无线网络中的学习来选择中继节点的中继设备和方法 |
EP14181701.5A EP2871908B1 (en) | 2013-09-26 | 2014-08-21 | Relay apparatus and method of selecting relay node based on learning in wireless network |
JP2014196475A JP2015070614A (ja) | 2013-09-26 | 2014-09-26 | 無線ネットワークに対する学習に基づく中継ノード選択方法及び中継装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130114301A KR102094718B1 (ko) | 2013-09-26 | 2013-09-26 | 무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150034350A KR20150034350A (ko) | 2015-04-03 |
KR102094718B1 true KR102094718B1 (ko) | 2020-05-27 |
Family
ID=51392098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130114301A KR102094718B1 (ko) | 2013-09-26 | 2013-09-26 | 무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150085738A1 (ko) |
EP (1) | EP2871908B1 (ko) |
JP (1) | JP2015070614A (ko) |
KR (1) | KR102094718B1 (ko) |
CN (1) | CN104519545A (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102233371B1 (ko) * | 2014-06-24 | 2021-03-29 | 삼성전자주식회사 | 멀티캐스트 네트워크에서의 릴레이 방법 및 장치 |
US10021621B2 (en) | 2015-04-03 | 2018-07-10 | Qualcomm Incorporated | UE-to-UE relay list and determination of floor arbitrator |
WO2016175471A1 (ko) * | 2015-04-30 | 2016-11-03 | 엘지전자(주) | 블루투스를 이용한 메쉬 네트워크에서 데이터를 송수신하기 위한 방법 및 장치 |
US10128933B2 (en) * | 2015-06-17 | 2018-11-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing latency in a mesh network |
JP6395085B2 (ja) * | 2015-06-30 | 2018-09-26 | 日本電信電話株式会社 | ネットワーク最適化方法及びネットワーク最適化装置 |
TWM520823U (zh) * | 2016-01-06 | 2016-05-01 | Jarvish Inc | 安全帽無線通訊系統 |
CN105873167B (zh) * | 2016-05-17 | 2019-05-21 | 中国人民解放军海军航空大学 | 导航传感器网络中基于协作mac协议的中继通信方法 |
JP6747571B2 (ja) * | 2017-02-16 | 2020-08-26 | 日本電気株式会社 | 無線アドホックネットワークにおける通信端末、通信方法及び通信プログラム |
KR102324201B1 (ko) * | 2017-06-27 | 2021-11-08 | 주식회사 케이티 | 사용자 경험 데이터 기반의 전송망 회선 경로 생성 장치 및 방법 |
RU2744016C1 (ru) * | 2017-08-09 | 2021-03-02 | ЗедТиИ КОРПОРЕЙШН | Реализации качества обслуживания для отделения плоскости пользователя |
CN107689921B (zh) * | 2017-09-15 | 2020-11-13 | 深圳市盛路物联通讯技术有限公司 | 一种转发节点的选择方法及系统 |
WO2019136607A1 (zh) | 2018-01-09 | 2019-07-18 | Oppo广东移动通信有限公司 | 中继的路由方法和通信节点 |
CN110769506B (zh) * | 2018-07-27 | 2022-06-03 | 成都鼎桥通信技术有限公司 | 一种多跳带内中继系统的资源分配方法 |
KR20230095936A (ko) * | 2020-11-05 | 2023-06-29 | 엘지전자 주식회사 | 무선 통신 시스템에서 단말 및 기지국의 피드백 수행 방법 및 장치 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005062553A1 (en) * | 2003-12-23 | 2005-07-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for routing traffic in ad hoc networks |
US20090047898A1 (en) * | 2005-03-29 | 2009-02-19 | Matsushita Electric Industrial Co., Ltd. | Communication system, communication relay apparatus, and communication relay method |
US20090059958A1 (en) * | 2006-01-23 | 2009-03-05 | Nec Corporation | Communication method, communication system, nodes and program |
US20090303977A1 (en) * | 2008-06-05 | 2009-12-10 | Qualcomm Incorporated | Method and apparatus for controlling discontinuous transmissions |
US20100275082A1 (en) * | 2007-11-30 | 2010-10-28 | Thomas Haustein | Method and System for Data Transmission in a Data Network |
US20100330902A1 (en) * | 2008-03-26 | 2010-12-30 | Fujitsu Limited | Radio Relay Method, Base Station Apparatus, And Relay Station Apparatus |
WO2011083389A1 (en) * | 2010-01-06 | 2011-07-14 | Koninklijke Philips Electronics N.V. | Election of broadcast routers in a multihop network |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007129542A (ja) * | 2005-11-04 | 2007-05-24 | Sony Corp | 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム |
US7978725B2 (en) * | 2006-03-06 | 2011-07-12 | Cisco Technology, Inc. | Dynamic modification of contention-based transmission control parameters achieving load balancing scheme in wireless mesh networks |
JP4384151B2 (ja) * | 2006-08-28 | 2009-12-16 | 株式会社エヌ・ティ・ティ・ドコモ | 中継ノード、及び中継方法 |
JP5169388B2 (ja) * | 2008-03-31 | 2013-03-27 | 日本電気通信システム株式会社 | 無線端末、無線システム、パケット転送制御方法及びその制御プログラム |
US8351417B2 (en) * | 2008-05-14 | 2013-01-08 | Telcordia Technologies, Inc. | Methods for efficient organization of vehicle peer groups and efficient V2R communications |
JP2010206613A (ja) * | 2009-03-04 | 2010-09-16 | Nec Corp | データ配信方法とデータ配信システムと通信装置とプログラム |
US8750195B2 (en) * | 2009-06-10 | 2014-06-10 | Futurewei Technologies, Inc. | System and method for multiple relay node operation in a communications system |
CN101925110B (zh) * | 2009-06-16 | 2013-08-07 | 中兴通讯股份有限公司 | 中继链路上行反馈信息的传输方法、中继站及基站 |
JP5540592B2 (ja) * | 2009-07-23 | 2014-07-02 | ソニー株式会社 | 通信システム、通信制御方法、移動端末、および中継装置 |
JP5494110B2 (ja) * | 2010-03-29 | 2014-05-14 | 富士通株式会社 | ネットワークの通信経路推定方法、通信経路推定プログラム及び監視装置 |
JP2011217141A (ja) * | 2010-03-31 | 2011-10-27 | Fujitsu Ltd | 無線通信装置及びデータ中継方法 |
KR101153970B1 (ko) * | 2010-11-26 | 2012-06-08 | 서울대학교산학협력단 | 무선 메쉬 네트워크의 경로 설정 방법 및 시스템 |
KR101901188B1 (ko) * | 2012-01-06 | 2018-09-27 | 삼성전자주식회사 | 무선 신체 영역 네트워크(wban)에서 노드의 활동 구간을 재설정하기 위한 허브, 중계 노드, 노드 및 그 통신 방법 |
-
2013
- 2013-09-26 KR KR1020130114301A patent/KR102094718B1/ko active IP Right Grant
-
2014
- 2014-07-08 US US14/325,544 patent/US20150085738A1/en not_active Abandoned
- 2014-07-29 CN CN201410367304.1A patent/CN104519545A/zh active Pending
- 2014-08-21 EP EP14181701.5A patent/EP2871908B1/en not_active Not-in-force
- 2014-09-26 JP JP2014196475A patent/JP2015070614A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005062553A1 (en) * | 2003-12-23 | 2005-07-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for routing traffic in ad hoc networks |
US20090047898A1 (en) * | 2005-03-29 | 2009-02-19 | Matsushita Electric Industrial Co., Ltd. | Communication system, communication relay apparatus, and communication relay method |
US20090059958A1 (en) * | 2006-01-23 | 2009-03-05 | Nec Corporation | Communication method, communication system, nodes and program |
US20100275082A1 (en) * | 2007-11-30 | 2010-10-28 | Thomas Haustein | Method and System for Data Transmission in a Data Network |
US20100330902A1 (en) * | 2008-03-26 | 2010-12-30 | Fujitsu Limited | Radio Relay Method, Base Station Apparatus, And Relay Station Apparatus |
US20090303977A1 (en) * | 2008-06-05 | 2009-12-10 | Qualcomm Incorporated | Method and apparatus for controlling discontinuous transmissions |
WO2011083389A1 (en) * | 2010-01-06 | 2011-07-14 | Koninklijke Philips Electronics N.V. | Election of broadcast routers in a multihop network |
Also Published As
Publication number | Publication date |
---|---|
EP2871908A3 (en) | 2015-09-30 |
JP2015070614A (ja) | 2015-04-13 |
EP2871908B1 (en) | 2019-06-19 |
CN104519545A (zh) | 2015-04-15 |
EP2871908A2 (en) | 2015-05-13 |
KR20150034350A (ko) | 2015-04-03 |
US20150085738A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102094718B1 (ko) | 무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 | |
EP3625983B1 (en) | Neighbor discovery and neighbor selection of mesh network devices in a mesh network | |
US11038767B2 (en) | Discovery of a set of nodes in a network | |
US20170366956A1 (en) | Neighbor discovery and neighbor selection of mesh network devices in a mesh network | |
US9231738B2 (en) | Communication method for relay node and next node of the relay node for network coding | |
CN109417829B (zh) | 用于确定簇头的方法和设备 | |
US10588069B1 (en) | Route discovery in wireless mesh networks | |
US20150092530A1 (en) | Mesh Network Defragmentation | |
US10530858B1 (en) | Replication of content using distributed edge cache in wireless mesh networks | |
US20170013424A1 (en) | Wireless communication network system and method for determining representative sensor device | |
EP3629495B1 (en) | Network accessing method | |
JP5875696B2 (ja) | データ配信システム、配信装置、端末装置、データ配信方法 | |
Kulkarni et al. | Energy-efficient multihop reprogramming for sensor networks | |
CN105992307A (zh) | 无线传感器网络和关联请求发送方法 | |
US10609620B1 (en) | Multi-hop power management in a wireless mesh network | |
US10630594B2 (en) | System, device, and method for communicating data over a mesh network | |
US11190391B1 (en) | Network loop detection in hybrid mesh networks | |
KR102219410B1 (ko) | 클러스터링 기반의 데이터 전송 경로 결정 방법 및 장치 | |
US10979885B1 (en) | Neighbor discovery and channel coordination of dynamic frequency selection (DFS) mesh networks | |
US10271228B2 (en) | Systems and methods for automatically assigning an area code to a radio access network (RAN) node | |
CN109495946B (zh) | 一种无线传感器网络的数据传输方法及装置 | |
KR20190055157A (ko) | 서비스 인터럽션 보고 | |
US9686641B2 (en) | Notification method, notification system and terminal for scenery are abased on ad hoc network | |
Devi et al. | Black widow optimization algorithm and similarity index based adaptive scheduled partitioning technique for reliable emergency message broadcasting in VANET | |
Manir | Collective neighbour discovery in wireless sensor network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |