KR102327204B1 - 데이터를 송수신하는 방법 및 단말기 - Google Patents
데이터를 송수신하는 방법 및 단말기 Download PDFInfo
- Publication number
- KR102327204B1 KR102327204B1 KR1020150060047A KR20150060047A KR102327204B1 KR 102327204 B1 KR102327204 B1 KR 102327204B1 KR 1020150060047 A KR1020150060047 A KR 1020150060047A KR 20150060047 A KR20150060047 A KR 20150060047A KR 102327204 B1 KR102327204 B1 KR 102327204B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- terminal
- data segment
- segment
- receiving
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/189—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0215—Traffic management, e.g. flow control or congestion control based on user or device properties, e.g. MTC-capable devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 개시는 센서 네트워크(Sensor Network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication) 및 사물 인터넷(Internet of Things, IoT)을 위한 기술과 관련된 것이다. 본 개시는 송신 단말기와 연결된 복수의 수신 단말기들에 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터를 송신하고, 복수의 수신 단말기들로부터 수신한 제 1 데이터에 관한 피드백 정보에 기초하여, 제 1 데이터 이후에 송신되는 제 2 데이터를 결정하여, 결정된 제 2 데이터를 복수의 수신 단말기에 송신하는 송신 단말기가 데이터를 송수신하는 방법에 관한 것이다. 본 개시는 상기 기술을 기반으로 하는 지능형 서비스(스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 활용될 수 있다.
Description
본 발명은 송신 단말기가 데이터를 송수신하는 방법, 수신 단말기가 데이터를 송수신하는 방법, 데이터를 송수신하는 송신 단말기, 데이터를 송수신하는 수신 단말기 및 데이터를 송수신하는 방법을 수행하는 프로그램이 기록된 기록매체에 관한 것이다.
인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE (Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다.
IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
본 발명은 복수의 단말기들 간에 데이터를 송수신하는 경우, 송신 단말기로부터 수신 단말기에 송신되는 데이터를 제어함으로써, 데이터의 송수신에 필요한 자원을 보다 효율적으로 이용할 수 있다.
본 발명의 일 실시예에 따른 송신 단말기가 데이터를 송수신하는 방법은 송신 단말기와 연결된 복수의 수신 단말기들에 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터를 송신하고, 복수의 수신 단말기들로부터 수신한 제 1 데이터에 관한 피드백 정보에 기초하여, 제 1 데이터 이후에 송신되는 제 2 데이터를 결정하여, 결정된 제 2 데이터를 복수의 수신 단말기에 송신한다.
도 1은 본 발명의 일 실시예에 따른 데이터를 송수신하는 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 송신 단말기가 데이터를 송수신하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 송신 단말기와 수신 단말기간에 데이터를 송수신하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기에 송신하는 패리티 데이터 세그먼트의 개수를 조절하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 송신 단말기가 복수의 수신 단말기들 중 선택된 수신 단말기의 피드백 정보에 기초하여, 제 2 데이터를 결정하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 송신 단말기에서 송신되는 데이터량을 나타낸 그래프이다.
도 7은 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기로부터 수신한 재송신 요청에 따라, 데이터 세그먼트를 송신하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기로부터 수신한 재송신 요청에 따라, 데이터 세그먼트를 송신하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 수신 단말기가 데이터를 송수신하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 수신 단말기가 송신 단말기로부터 수신한 프로빙 메시지에 기초하여, 피드백 정보를 송신 단말기에 송신하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 다른 실시예에 따른 수신 단말기가 송신 단말기로부터 수신한 프로빙 메시지에 기초하여, 피드백 정보를 송신 단말기에 송신하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 송신 단말기에서 수신 단말기에 송신하는 데이터의 크기를 결정하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른 수신 단말기가 수신한 데이터에 기초하여, 손실된 데이터 세그먼트에 관한 재송신 요청을 송신하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 수신 단말기가 수신한 데이터에 기초하여, 손실된 데이터 세그먼트에 관한 재송신 요청을 송신하는 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 송신 단말기의 블록도이다.
도 16은 본 발명의 일 실시예에 따른 수신 단말기의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 송신 단말기가 데이터를 송수신하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 송신 단말기와 수신 단말기간에 데이터를 송수신하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기에 송신하는 패리티 데이터 세그먼트의 개수를 조절하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 송신 단말기가 복수의 수신 단말기들 중 선택된 수신 단말기의 피드백 정보에 기초하여, 제 2 데이터를 결정하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 송신 단말기에서 송신되는 데이터량을 나타낸 그래프이다.
도 7은 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기로부터 수신한 재송신 요청에 따라, 데이터 세그먼트를 송신하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기로부터 수신한 재송신 요청에 따라, 데이터 세그먼트를 송신하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 수신 단말기가 데이터를 송수신하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 수신 단말기가 송신 단말기로부터 수신한 프로빙 메시지에 기초하여, 피드백 정보를 송신 단말기에 송신하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 다른 실시예에 따른 수신 단말기가 송신 단말기로부터 수신한 프로빙 메시지에 기초하여, 피드백 정보를 송신 단말기에 송신하는 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 송신 단말기에서 수신 단말기에 송신하는 데이터의 크기를 결정하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른 수신 단말기가 수신한 데이터에 기초하여, 손실된 데이터 세그먼트에 관한 재송신 요청을 송신하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 수신 단말기가 수신한 데이터에 기초하여, 손실된 데이터 세그먼트에 관한 재송신 요청을 송신하는 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 일 실시예에 따른 송신 단말기의 블록도이다.
도 16은 본 발명의 일 실시예에 따른 수신 단말기의 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 데이터를 송수신하는 시스템(100)을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 데이터를 송수신하는 시스템(100)은 송신 단말기(110), 복수의 수신 단말기들(320, 330, 340)을 포함할 수 있다.
도 1에 도시된 데이터를 송수신하는 시스템(100)에는 본 실시예와 관련된 구성 요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
송신 단말기(110), 복수의 수신 단말기들(120, 130, 140)은 애드혹 네트워크를 구성할 수 있다. 도 1을 참조하면, 송신 단말기(110) 및 복수의 수신 단말기들(120, 130, 140)은 싱글 홉 애드혹 네트워크를 구성할 수 있으나, 이는 본 발명의 일 실시예일 뿐, 송신 단말기(110)와 수신 단말기(예를 들어, 120) 사이에 릴레이 장치(미도시)가 연결되는 멀티 홉 애드혹 네트워크에도 본 발명의 일 실시예에 따른 데이터 송수신 방법이 적용될 수 있다.
송신 단말기(110)는 멀티캐스트 방식을 통해, 복수의 수신 단말기들(120, 130, 140)에 데이터를 송신할 수 있다. 여기에서, 데이터는 소스 데이터 세그먼트 및 소스 데이터에 관한 복원 정보를 포함하는 패리티 데이터 세그먼트를 포함할 수 있다. 세그먼트는 기 설정된 크기의 데이터를 나타내는 단위로서, 예를 들어, 데이터 세그먼트, 프레임 등일 수 있으나 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 획득한 데이터 중 제 1 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다. 또한, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140) 각각으로부터 제 1 데이터에 관한 피드백 정보를 수신할 수 있다. 여기에서, 피드백 정보에는 제 1 데이터에 대한 데이터 손실률, 데이터 수신률 및 데이터 왕복 시간(Round Trip Time) 중 적어도 하나에 관한 정보가 포함될 수 있다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 수신 단말기들(120, 130, 140)로부터 수신한 각각의 피드백 정보에 기초하여 수신 단말기(예를 들어, 120)에서 데이터 세그먼트의 손실이 발생된 원인을 예측할 수 있다. 여기에서, 데이터 세그먼트의 손실이 발생된 원인에는 수신 단말기(예를 들어, 120)에 구비된 버퍼의 오버 플로우 및 송신 단말기(110)와 수신 단말기(예를 들어, 120) 간의 채널 상태 중 적어도 하나가 포함될 수 있다.
송신 단말기(110)는 예측한 데이터 세그먼트의 손실 원인을 고려하여, 제 1 데이터 이후에 수신 단말기들(120, 130, 140)에 송신되는 제 2 데이터를 결정할 수 있다. 예를 들어, 송신 단말기(110)는 제 2 데이터에 포함되는 제 2 소스 데이터의 복원을 위한 제 2 패리티 데이터 세그먼트의 개수를 결정할 수 있다. 다른 예에 따라, 송신 단말기(110)는 제 2 데이터의 송신 속도를 결정할 수 있다.
본 발명의 다른 실시예에 따른 송신 단말기(110)는 수신 단말기들(120, 130, 140)로부터 수신한 각각의 피드백 정보에 기초하여, 전송된 제 1 소스 데이터 세그먼트의 복원을 위한 제 1 패리티 데이터 세그먼트의 재송신 여부를 결정할 수 있다.
한편, 수신 단말기 a(110)는 제 1 데이터에 관한 피드백 정보를 생성할 수 있다. 수신 단말기 a(120)는 생성한 피드백 정보를 송신 단말기(110)에 송신할 수 있다.
한편, 수신 단말기 a(120)는 송신 단말기(110)로부터 수신한 프로빙(probing) 메시지를 통해, 생성된 피드백 정보를 송신 단말기(110)에 송신하는 시점을 결정할 수 있다. 프로빙 메시지에는 송신 단말기(110)와 연결된 복수의 수신 단말기들(120, 130, 140)의 데이터 손실률, 데이터 수신률 및 데이터 왕복 시간(Round Trip Time) 중 적어도 하나에 관한 정보가 포함될 수 있다. 프로빙 메시지는 미리 설정된 주기에 따라 송신 단말기(110)로부터 복수의 수신 단말기들(120, 130, 140)에 각각 송신될 수 있다.
본 발명의 다른 실시예에 따른 수신 단말기 a(120)는 송신 단말기(110)로부터 제 1 데이터에 포함된 적어도 하나의 세그먼트 및 제 2 데이터에 포함된 적어도 하나의 세그먼트를 수신할 수 있다. 여기에서, 제 2 데이터는 송신 단말기(110)로부터 제 1 데이터 이후에 송신되는 데이터를 나타낸다.
수신 단말기 a(120)는 데이터 손실로 인해 수신한 제 1 데이터에 관한 적어도 하나의 세그먼트로부터 제 1 소스 데이터 세그먼트를 복원하지 못할 수 있다. 반면에, 수신 단말기 a(120)가 이후에 수신한 제 2 데이터에 관한 적어도 하나의 세그먼트로부터 제 2 소스 데이터 세그먼트를 복원할 수 있는 경우, 수신 단말기 a(120)는 제 1 소스 데이터 세그먼트에 관한 제 1 패리티 데이터 세그먼트가 수신될 시점을 예측하여, 제 1 패리티 데이터 세그먼트의 재송신 요청 여부를 결정할 수 있다.
예를 들어, 수신 단말기 a(120)는 제 1 패리티 데이터 세그먼트가 기 설정된 시간 안에 수신되지 못할 것으로 예측되는 경우, 제 2 소스 데이터 세그먼트가 우선적으로 실행되도록 상위 프로세스를 수행할 수 있다. 여기에서, 상위 프로세스는 애플리케이션 레이어(layer)등에서의 프로세스 등을 포함할 수 있다. 다른 예에 따라, 수신 단말기 a(120)는 제 1 패리티 데이터 세그먼트가 기 설정된 시간 안에 수신될 것으로 예측되는 경우 송신 단말기(110)에 제 1 패리티 데이터 세그먼트를 요청할 수 있다.
한편, 본 발명의 일 실시예에 따른 수신 단말기 b(130) 및 수신 단말기 c(140)는 전술한 수신 단말기 a(120)의 데이터 송수신 방법과 동일한 방식으로 동작할 수 있다.
도 2는 본 발명의 일 실시예에 따른 송신 단말기(110)가 데이터를 송수신하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 송신 단말기(110)는 송신 단말기와 연결된 복수의 수신 단말기들(120, 130, 140)에 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터를 송신한다.
송신 단말기(110)는 데이터를 연산할 수 있는 능력을 갖고, 유선 통신 또는 무선 통신이 가능한 컴퓨터 장치이다. 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140)과 통신을 수행할 수 있다. 예를 들어, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140)과 애드혹 네트워크를 구성하여, 통신을 수행할 수 있다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 멀티캐스트 방식을 통해 복수의 수신 단말기들 각각에 제 1 데이터를 송신할 수 있다. 여기에서, 멀티캐스트 방식은 복수의 수신 단말기들에서 데이터를 수신할 때마다 피드백 정보를 송신 단말기에 송신하는 프로토콜을 포함할 수 있다. 다른 예에 따라, 멀티캐스트 방식은 수신 단말기들에서 데이터의 손실을 감지할 때마다 피드백 정보를 송신 단말기에 송신하는 프로토콜을 포함할 수 있다. 또 다른 예에 따라, 멀티캐스트 방식은 손실된 데이터의 복원을 위해 FEC(Forward Error Correction)와 같은 코딩 알고리즘을 이용하는 프로토콜을 포함할 수 있다. 또 다른 예에 따라, 멀티캐스트 방식은 전술한 프로토콜들 중 두 가지 이상을 조합한 프로토콜을 포함할 수 있다.
단계 S220에서, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140)로부터 수신한 제 1 데이터의 피드백 정보를 이용하여, 제 1 데이터 이후에 송신되는 제 2 데이터를 결정한다.
송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140) 각각으로부터 제 1 데이터에 관한 피드백 정보를 수신할 수 있다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 수신한 피드백 정보에 포함된 데이터 손실률, 데이터 왕복 시간 및 데이터 수신률 중 적어도 하나에 기초하여, 제 2 데이터를 결정할 수 있다. 예를 들어, 송신 단말기(110)는 제 2 데이터에 포함되는 제 2 소스 데이터 세그먼트의 복원을 위한 제 2 패리티 데이터 세그먼트의 개수를 결정할 수 있다.
다른 예에 따라, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140) 중 일부 단말기를 선택하여, 제 2 데이터에 포함되는 제 2 패리티 데이터 세그먼트의 개수 및 제 2 데이터의 송신 속도 중 적어도 하나를 결정할 수 있다. 예를 들어, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140)로부터 수신한 피드백 정보에 기초하여,데이터 손실률이 가장 높은 단말기와 데이터 손실률이 가장 낮은 단말기를 선택할 수 있다. 송신 단말기(110)는 선택된 단말기들의 피드백 정보에 따라 데이터의 손실 원인을 고려하여, 제 2 데이터에 포함되는 제 2 패리티 데이터 세그먼트의 개수 및 제 2 데이터의 송신 속도 중 적어도 하나를 결정할 수 있다. 이에 대해서는 도 5 및 도 6을 참조하여 구체적으로 후술하도록 한다.
한편, 본 발명의 일 실시예에 따른 송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 손실된 데이터에 관한 재송신 요청을 수신할 수 있다. 여기에서, 재송신 요청은 피드백 정보와 함께 송신 단말기(110)에 송신될 수 있다. 예를 들어, 송신 단말기(110)는 피드백 정보에 포함된 손실 데이터 세그먼트의 식별 정보에 기초하여 수신 단말기(예를 들어, 120)에서 손실된 데이터 세그먼트를 확인할 수 있다. 다른 예에 따라, 송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 피드백 정보와 별도로 재송신 요청을 수신할 수 있다. 이하에서는 수신 단말기(예를 들어, 120)로부터 송신되는 손실된 데이터 세그먼트에 관한 정보가 재송신 요청을 통해 피드백 정보와 별도로 수신된다고 가정하여 설명하도록 한다.
단말기(110)는 수신한 재송신 요청에 포함된 손실된 데이터 세그먼트의 식별 정보와 단말기(110)에서 송신된 데이터 세그먼트의 식별 정보를 비교할 수 있다. 단말기(110)는 비교 결과에 기초하여, 재송신 요청에 포함된 식별 정보에 대응되는 데이터 세그먼트의 재송신 여부를 결정할 수 있다.
단계 S230에서, 송신 단말기(110)는 결정된 제 2 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신한다.
일 실시예에 따른 송신 단말기(110)는 결정된 송신 속도에 따라 제 2 데이터에 포함된 적어도 하나의 데이터 세그먼트의 수를 결정할 수 있다. 여기에서, 제 2 데이터에는 제 2 소스 데이터 세그먼트, 제 2 소스 데이터 세그먼트의 복원을 위한 제 2 패리티 데이터 세그먼트 및 이전에 송신된 제 1 소스 데이터 세그먼트의 복원을 위한 제 1 패리티데이터 세그먼트 중 적어도 하나가 포함될 수 있다.
예를 들어, 송신 단말기(110)는 결정된 송신 속도가 제 1 데이터가 송신된 송신 속도보다 느린 경우, 제 2 데이터에 포함된 데이터 세그먼트들의 수를 제 1 데이터에 포함된 데이터 세그먼트들의 수에 비해 감소시킬 수 있다. 다른 예에 따라, 송신 단말기(110)는 결정된 송신 속도가 제 1 데이터가 송신된 송신 속도보다 빠른 경우, 제 2 데이터에 포함된 데이터 세그먼트들의 수를 제 1 데이터에 포함된 데이터 세그먼트들의 수에 비해 증가시킬 수 있다.
도 3은 본 발명의 일 실시예에 따른 송신 단말기(110)와 수신 단말기(예를 들어, 120) 간에 데이터를 송수신하는 방법을 설명하기 위한 도면이다.
송신 단말기(110)는 수신 단말기(예를 들어, 120)에 제 1 데이터(310)를 송신할 수 있다. 제 1 데이터(310)에는 제 1 소스 데이터 세그먼트 및 제 1 패리티 데이터 세그먼트가 포함될 수 있다.
송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 송신된 제 1 데이터(310)에 관한 제 1 피드백 정보를 수신할 수 있다. 송신 단말기(110)는 수신한 제 1 피드백 정보를 통해, 수신 단말기(예를 들어, 120)에 관한 제 1 데이터의 손실률, 제 1 데이터 왕복 시간 및 제 1 데이터의 수신률 중 적어도 하나에 관한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 다음의 수학식 1 또는 수학식 2에 기초하여 K 개의 소스 데이터 세그먼트 및 N-K개의 패리티 데이터 세그먼트를 포함하는 데이터에 관한 데이터 손실률이 k인 경우 소스 데이터 세그먼트를 복원할 수 있는 확률 D(N, K, p)을 결정할 수 있다.
[수학식 1]
[수학식 2]
상기의 수학식 2에서, De Moivre-Laplace이론에 의해 바이노미얼(binomial) 분포는 정규 분포로 근사화될 수 있다. 여기에서, 정규 분포는 Q함수로 나타낼 수 있고, Q함수와 에러함수 erf는 의 관계를 갖는다.
송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 수신한 피드백 정보에 기초하여, 데이터가 손실률 k와 수신 단말기(예를 들어, 120)에 수신된 데이터 세그먼트의 개수를 결정할 수 있다. 송신 단말기(110)는 수신한 피드백 정보 및 상기의 수학식 1 및 2에 기초하여, 소스 데이터 세그먼트와 함께 송신되는 패리티 데이터 세그먼트의 개수를 결정할 수 있다.
또한, 송신 단말기(110)에는 이전에 수신 단말기(예를 들어, 120)에 송신된 데이터에 관한 재송신 요청 정보가 저장될 수 있다. 여기에서, 재송신 요청은 데이터 손실로 인하여, 수신 단말기(예를 들어, 120)에서의 데이터 복원이 어려운 경우, 수신 단말기(예를 들어, 120)로부터 송신 단말기(110)에 송신될 수 있다. 재송신 요청에는 재송신이 필요한 데이터 세그먼트의 개수 및 데이터 세그먼트의 식별 번호에 관한 정보가 포함될 수 있다.
송신 단말기(110)는 또한, 이전에 송신된 데이터의 재송신 요청에 관한 정보에 기초하여, 수신 단말기(예를 들어, 120)의 제 1 데이터에 관한 재송신 요청을 대비한 추가 패리티 데이터 세그먼트의 개수를 결정할 수 있다.
송신 단말기(110)는 수신한 제 1 피드백 정보에 기초하여 송신 단말기(110)와 수신 단말기(예를 들어, 120) 간의 데이터 손실률이 높다고 결정할 수 있다. 송신 단말기(110)는 데이터 손실률과 이전에 수신 단말기(예를 들어, 120)로부터 수신된 재송신 요청에 관한 정보에 기초하여, 제 1 데이터(310) 이후에 송신되는 제 2 데이터(320)에 포함되는 제 2 패리티 데이터 세그먼트의 개수를 증가시킬 수 있다. 송신 단말기(110)는 생성된 제 2 패리티 데이터 세그먼트 중 일부는 제 2 소스 데이터 세그먼트와 함께 수신 단말기(예를 들어, 120)에 송신하고, 나머지 제 2 패리티 데이터 세그먼트는 재송신 요청을 대비하여, 저장할 수 있다.
한편, 송신 단말기(110)는 제 1 피드백 정보 이후의 제 2 피드백 정보를 수신하기 이전까지 증가된 패리티 데이터 세그먼트의 개수를 유지할 수 있다. 송신 단말기(110)는 제 3 데이터(330)에 포함되는 제 3 패리티 데이터 세그먼트의 개수 역시, 증가된 제 2 패리티 데이터 세그먼트의 개수와 동일하게 결정할 수 있다.
또한, 송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 제 1 피드백 정보 이후에 송신된 데이터들(320, 330)에 관한 제 2 피드백 정보를 수신할 수 있다. 송신 단말기(110)는 수신한 제 2 피드백 정보 및 이전에 송신된 데이터에 관한 수신 단말기(예를 들어, 120)의 재송신 요청에 관한 정보에 기초하여, 제 3 데이터(330) 이후에 송신되는 제 4 데이터(340)에 포함되는 제 4 패리티 데이터 세그먼트의 개수를 감소시킬 수 있다.
한편, 송신 단말기(110)는 제 2 피드백 정보 이후에 또 다른 피드백 정보를 수신하기 이전까지 감소된 패리티 데이터 세그먼트의 개수를 유지할 수 있다. 송신 단말기(110)는 제 5 데이터(350)에 포함되는 제 5 패리티 데이터 세그먼트의 개수 역시 감소된 제 4 패리티 데이터 세그먼트의 개수와 동일하게 결정할 수 있다.
도 4는 본 발명의 일 실시예에 따른 송신 단말기가 수신 단말기에 송신하는 패리티 데이터 세그먼트의 개수를 조절하는 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 송신 단말기(110)는 송신 단말기와 연결된 복수의 수신 단말기들(120, 130, 140)에 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터를 송신한다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 멀티캐스트 방식을 통해 복수의 수신 단말기들 각각에 제 1 데이터를 송신할 수 있다.
한편, 단계 S410은 도 2를 참조하여 전술한 단계 S210과 대응될 수 있다.
단계 S420에서, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140) 각각으로부터 제 1 데이터에 관한 피드백 정보를 수신할 수 있다. 여기에서, 피드백 정보에는 복수의 수신 단말기들(!20, 130, 140) 각각의 데이터 손실률, 데이터 왕복 시간 및 데이터 수신률 중 적어도 하나에 관한 정보가 포함될 수 있다.
단계 S430에서, 송신 단말기(110)는 이전에 복수의 수신 단말기들(120, 130, 140) 각각에 송신된 데이터에 관한 재송신 요청 및 수신한 피드백 정보에 기초하여, 제 2 데이터에 관한 제 2 패리티 데이터 세그먼트를 결정할 수 있다. 여기에서, 제 2 패리티 데이터 세그먼트는 제 2 데이터에 포함된 제 2 소스 데이터 세그먼트의 복원 정보를 포함할 수 있다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 이전에 복수의 수신 단말기들(120, 130, 140) 각각으로부터 수신한 재송신 요청에 관한 정보를 저장할 수 있다. 재송신 요청에 관한 정보에는 재송신 요청을 수신한 시점, 재송신 요청된 데이터 세그먼트의 식별 정보 및 재송신 요청된 데이터 세그먼트의 개수 중 적어도 하나에 관한 정보가 포함될 수 있다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 재송신 요청에 관한 정보 중에서, 제 1 데이터를 송신한 시점과 일정 시간 범위 내에 수신한 재송신 요청에 관한 정보를 검출할 수 있다. 송신 단말기(110)는 검출된 재송신 요청에 관한 정보 및 피드백 정보에 기초하여, 제 2 데이터에 포함되는 제 2 패리티 데이터 세그먼트의 개수를 결정할 수 있다. 예를 들어, 송신 단말기(110)에 수신된 재송신 요청의 횟수 및 재송신 요청된 데이터 세그먼트의 개수가 증가할수록 송신 단말기(110)는 제 2 데이터에 포함되는 제 2 패리티 데이터 세그먼트의 개수를 증가시킬 수 있다.
한편, 다른 예에 따라 송신 단말기(110)는 재송신 요청에 관한 정보 중에서, 최근에 수신한 재송신 요청에 관한 정보에 다른 재송신 요청에 관한 정보 보다 높은 가중치를 적용할 수 있다. 송신 단말기(110)는 가중치가 적용된 재송신 요청에 관한 정보와 피드백 정보에 기초하여 제 2 패리티 데이터 세그먼트의 개수를 결정할 수 있다.
송신 단말기(110)는 결정된 제 2 패리티 데이터 세그먼트들 중 일부는 제 2 소스 데이터 세그먼트와 함께 수신 단말기(예를 들어, 120)에 송신하고, 나머지는 수신 단말기(예를 들어, 120)로부터 재송신 요청을 수신하는 경우 수신 단말기(예를 들어, 120)에 송신할 수 있다.
도 5는 본 발명의 일 실시예에 따른 송신 단말기(110)가 복수의 수신 단말기들(120, 130, 140) 중 선택된 수신 단말기의 피드백 정보에 기초하여, 제 2 데이터를 결정하는 방법을 설명하기 위한 흐름도이다.
단계 S510에서, 송신 단말기(110)는 송신 단말기와 연결된 복수의 수신 단말기들(120, 130, 140)에 제 1 데이터를 송신할 수 있다.
한편, 단계 S510은 도 2를 참조하여 전술한 단계 S210과 대응될 수 있다.
단계 S520에서, 송신 단말기(110)는 수신한 복수의 수신 단말기들(120, 130, 140) 각각의 피드백 정보에 기초하여 제 1 데이터의 데이터 손실률이 가장 낮은 제 1 수신 단말기 및 제 1 데이터의 데이터 손실률이 가장 높은 제 2 수신 단말기를 선택할 수 있다.
예를 들어, 송신 단말기(110)는 수신 단말기 a(120)가 제 1 데이터에 포함된 5개의 데이터 세그먼트들 중에서, 4개의 데이터 세그먼트를 수신했다는 피드백 정보를 수신할 수 있다. 다른 예에 따라, 송신 단말기(110)는 수신 단말기 b(130)가 제 1 데이터에 포함된 5개의 데이터 세그먼트들 중에서, 2개의 데이터 세그먼트를 수신했다는 피드백 정보를 수신할 수 있다. 또한, 송신 단말기(110)는 수신 단말기 c(140)가 제 1 데이터에 포함된 5개의 데이터 세그먼트들 중에서, 1개의 데이터 세그먼트를 수신했다는 피드백 정보를 수신할 수 있다. 송신 단말기(110)는 수신한 각각의 피드백 정보에 기초하여, 데이터 손실률이 가장 낮은 수신 단말기 a(120)를 제 1 수신 단말기로 선택하고, 데이터 손실률이 가장 높은 수신 단말기 c(140)를 제 2 수신단말기로 선택할 수 있다.
한편, 피드백 정보에는 피드백 정보를 송신한 수신 단말기를 나타내는 식별 정보가 포함될 수 있다. 또한, 피드백 정보에는 데이터의 수신 시점에 관한 정보가 포함될 수 있다.
단계 S530에서, 송신 단말기(110)는 제 1 수신 단말기와 제 2 수신 단말기의 데이터 손실률에 기초하여, 패리티 데이터 세그먼트의 개수 중 적어도 하나를 결정할 수 있다.
송신 단말기(110)는 데이터 손실률이 가장 낮은 제 1 수신 단말기(120)와 송신 단말기(110) 간의 채널 이득이 가장 높은 것으로 판단할 수 있다. 또한, 송신 단말기(110)는 데이터 손실률이 가장 낮은 제 1 수신 단말기(120)의 데이터 손실은 버퍼 초과로 인한 것으로 결정할 수 있다.
일 실시예에 따른 송신 단말기(110)는 버퍼 초과로 인한 데이터 손실률을 결정하는데 있어, 피드백 정보를 송신한 모든 수신 단말기들(120, 130, 140)의 데이터 손실률을 고려하지 않고, 선택된 제 1 수신 단말기(120)의 데이터 손실률만을 고려할 수 있다.
송신 단말기(110)는 데이터 손실률이 가장 낮은 제 1 수신 단말기(120)의 데이터 손실률을 버퍼 초과로 인한 데이터 손실률로 결정할 수 있다.
송신 단말기(110)는 제 1 데이터의 데이터 왕복 시간 및 버퍼 초과로 인한 데이터 손실률에 기초하여 제 2 데이터의 송신 속도를 결정할 수 있다. 여기에서, 송신 단말기(110)는 제 1 수신 단말기(120)의 피드백 정보로부터 제 1 데이터의 RTT를 확인할 수 있다.
한편, 송신 단말기(110)는 하기의 수학식 3 내지 수학식 11에 기초하여 제 2 데이터의 송신 속도를 결정할 수 있다.
[수학식 3]
상기의 수학식 3에서, 는 i 구간에서 송신되는 데이터량의 총 합을 나타낸다. 데이터량은 예를 들어, 송신된 데이터 세그먼트의 개수 등에 따라 결정될 수 있다. 또한, 여기에서, 구간은 데이터 손실이 발생한 시점에 따라 결정될 수 있다. 예를 들어, a 시점부터 송신된 데이터의 손실이 b 시점에서 발생하고, 이후에 c 시점에서 다시 발생할 수 있다. 이러한 경우, a 시점부터 b 시점까지가 제 1 구간에 해당하고, b 시점부터 c 시점까지가 제 2 구간에 해당할 수 있다.
한편, 는 i 구간에서의 데이터 손실이 발생된 RTT를 나타낸다. 예를 들어, 제 1 구간에 5개의 RTT가 존재하고, 5번째 RTT에서 데이터 손실이 발생한 경우, 은 5일 수 있다. 는 i구간에서, RTT 당 평균적으로 송신된 데이터량을 나타낼 수 있다.
[수학식 4]
한편, 송신 단말기(110)는 하기의 수학식 5에 기초하여 손실되지 않은 데이터량을 결정할 수 있다.
[수학식 5]
한편, i 구간에서 송신되는 데이터량의 총 합은 수학식 3 뿐만 아니라 하기의 수학식 6에 기초하여 결정될 수 있다.
[수학식 6]
또한, 송신 단말기(110)는 i 구간에서 각각의 RTT에 데이터 손실이 발생할 확률이 독립적이라고 가정한 경우, 하기의 수학식 7에 기초하여 RTT에서의 평균 데이터 손실량을 결정할 수 있다.
[수학식 7]
상기의 수학식 7에서, 는 RTT에서의 평균 데이터 손실량을 나타낼 수 있다. 또한, 송신 단말기(110)는 하기의 수학식 8에 기초하여, 구간에서의 평균 데이터 송신량을 결정할 수 있다.
[수학식 8]
상기의 수학식 8에서, 는 구간에서의 평균 데이터 송신량을 나타낼 수 있다. 여기에서, 은 다음의 수학식 9 및 10에 기초하여 결정될 수 있다. 은 전체 구간에서의 RTT 당 평균 데이터 송신량을 나타낸다.
[수학식 9]
[수학식 10]
일 실시예에 따른 송신 단말기(110)는 하기의 수학식 11에 기초하여, 송신 속도를 결정할 수 있다.
[수학식 11]
상기의 수학식 11에서, 는 송신 속도를 나타낸다. 또한, 는 i 구간에서의 데이터 왕복 시간을 나타내고, nominal_packet_size는 평균 데이터 세그먼트 크기를 나타낸다.
한편, 송신 단말기(110)에서 제 2 데이터의 송신 속도를 결정하는 방법이 전술한 방법에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 데이터 손실률이 가장 높은 제 2 수신 단말기와 송신 단말기(110) 간의 채널 이득이 다른 수신 단말기들과 송신 단말기(110) 간의 채널 이득에 비해 낮은 것으로 예측할 수 있다. 따라서, 송신 단말기(110)는 제 2 수신 단말기에서 발생된 데이터 손실은 버퍼 초과 뿐만 아니라, 채널 에러로 인하여 데이터가 손실된 것으로 결정할 수 있다. 송신 단말기(110)는 제 2 수신 단말기에서 발생된 데이터 손실률과 제 1 수신 단말기에서 발생된 데이터 손실률의 차이를 채널 에러로 인한 데이터 손실률로 예측할 수 있다.
송신 단말기(110)는 예측된 채널 에러로 인한 데이터 손실률에 기초하여, 제 1 데이터의 복원 정보를 포함한 패리티 데이터 세그먼트를 결정할 수 있다. 본 발명의 일 실시예에 따른 송신 단말기(110)는 채널 에러로 인한 데이터 손실률에 기초하여, 패리티 데이터 세그먼트의 개수를 결정할 수 있다.
도 6은 본 발명의 일 실시예에 따른 송신 단말기(110)에서 송신되는 데이터량을 나타낸 그래프이다.
도 6을 참조하면, 그래프의 x축은 시간을 나타내고, y축은 송신 단말기(110)로부터 복수의 수신 단말기들(120, 130, 140)에 송신된 데이터량을 나타낸다.
송신 단말기(110)는 데이터 손실이 발생하기 전까지 RTT 마다 복수의 수신 단말기들(120, 130, 140)에 송신하는 데이터량을 증가시킬 수 있다. 예를 들어, 송신 단말기(110)는 RTT마다 송신하는 데이터를 1개의 데이터 세그먼트씩 증가시킬 수 있다.
송신 단말기(110)는 RTT1에서, n1개의 데이터 세그먼트들로 구성된 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다. 또한, 송신 단말기(110)는 RTT2에서 RTT5까지의 RTT 마다 1개의 데이터 세그먼트가 증가된 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다.
송신 단말기(110)는 피드백 정보에 기초하여, 데이터의 손실 여부를 판단할 수 있다. 송신 단말기(110)는 피드백 정보에 기초하여, RTT5에서 데이터가 손실되었다는 것을 확인할 수 있다. 송신 단말기(110)는 데이터가 손실된 RTT5 이후의 RTT6에서, 송신되는 데이터량을 감소시킬 수 있다. 예를 들어, 송신 단말기(110)는 RTT5에서 송신했던 n1+4개의 데이터 세그먼트들을 n2개의 데이터 세그먼트들로 감소시킬 수 있다.
한편, RTT5에서 송신된 데이터가 손실됨에 따라, RTT6부터는 제 2 구간이 시작될 수 있다. 여기에서, RTT1부터 RTT5까지는 제 1 구간을 구성할 수 있다. 송신 단말기(110)는 복수의 단말기들(120, 130, 140)로부터 수신한 피드백 정보 RTT6에서, n2개의 데이터 세그먼트들을 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다. 또한, 송신 단말기(110)는 RTT6에서 RTT10까지의 RTT 마다 1개의 데이터 세그먼트가 증가된 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다. 제 2 구간은 RTT6에서, 데이터의 손실이 발생한 RTT10까지의 RTT들로 구성될 수 있다.
RTT10에서 송신된 데이터가 손실됨에 따라, RTT11부터는 제 3 구간이 시작될 수 있다. 송신 단말기(110)는 RTT11에서, n3개의 데이터 세그먼트들을 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다. 또한, 송신 단말기(110)는 RTT11에서 RTT14까지의 RTT 마다 1개의 데이터 세그먼트가 증가된 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다. 제 3 구간은 RTT11에서, 데이터의 손실이 발생한 RTT14까지의 RTT들로 구성될 수 있다.
도 7은 본 발명의 일 실시예에 따른 송신 단말기(110)가 수신 단말기(예를 들어, 120)로부터 수신한 재송신 요청에 따라, 데이터 세그먼트를 송신하는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140) 각각에 제 1 소스 데이터 세그먼트 및 제 1 패리티 데이터 세그먼트를 포함하는 제 1 데이터를 송신할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 데이터의 효율적인 송수신을 위해, 데이터 손실이 발생된 것을 감지한 경우 송신 단말기(110)에 재송신 요청을 송신할 수 있다.
한편, 송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 수신한 재송신 요청에 기초하여, 데이터 세그먼트의 송신 여부를 결정할 수 있다. 여기에서, 재송신 요청에 관한 정보에는 재송신을 요청하는 데이터 세그먼트의 식별 정보가 포함될 수 있다.
송신 단말기(110)는 기 설정된 시간 동안, 동일한 데이터 세그먼트에 대한 재송신 요청이 반복적으로 수신되거나 이미 송신된 데이터 세그먼트의 이전 데이터 세그먼트에 관한 재송신 요청이 수신된 경우, 요청된 데이터 세그먼트를 송신하지 않을 수 있다. 여기에서, 기 설정된 시간은 예를 들어, 데이터 왕복 시간의 1/2시간으로 설정될 수 있다.
도 7에서, 제 1 수신 단말기(120)는 손실된 10번 패리티 데이터 세그먼트에 관한 재송신 요청을 송신 단말기(110)에 전송할 수 있다. 송신 단말기(110)는 수신한 재송신 요청을 기초로 판단한 결과, 10번 패리티 데이터 세그먼트의 다음 데이터인 11번 패리티 데이터 세그먼트를 제 1 수신 단말기(120)에 송신하였으므로, 10번 패리티 데이터 세그먼트에 관한 재송신 요청을 무시할 수 있다. 제 1 수신 단말기(120)는 재송신 요청을 송신하기 이전에 수신한 데이터 세그먼트들과 수신한 11번 패리티 데이터 세그먼트에 기초하여, 소스 데이터 세그먼트를 복원할 수 있다.
제 2 수신 단말기(130)는 손실된 10번 및 11번 패리티 데이터 세그먼트에 관한 재송신 요청을 송신 단말기(110)에 송신할 수 있다. 송신 단말기(110)는 수신한 재송신 요청을 기초로 판단한 결과, 11번 패리티 데이터 세그먼트만을 제 2 수신 단말기(130)에 재송신할 수 있다. 또한, 송신 단말기(110)는 12번 패리티 데이터 세그먼트에 관한 재송신 요청을 수신함에 따라, 송신 단말기(110)에 12번 패리티 데이터 세그먼트를 송신할 수 있다. 제 2 수신 단말기(130)는 수신한 데이터 세그먼트들에 기초하여, 소스 데이터 세그먼트를 복원할 수 있다.
제 3 수신 단말기(140)는 9번 패리티 데이터 세그먼트를 수신한 결과, 수신한 데이터 세그먼트를 이용하여, 소스 데이터 세그먼트의 복원이 가능하다고 결정할 수 있다. 제 3 수신 단말기(140)는 송신 단말기(110)에 소스 데이터 세그먼트의 복원이 가능함을 나타내는 신호를 송신함으로써, 송신 단말기(110)로부터 패리티 데이터 세그먼트가 계속적으로 송신되는 것을 방지할 수 있다.
도 8은 본 발명의 일 실시예에 따른 송신 단말기(110)가 수신 단말기(예를 들어, 120)로부터 수신한 재송신 요청에 따라, 데이터 세그먼트를 송신하는 방법을 설명하기 위한 흐름도이다.
도 8에서는 재송신 요청된 데이터 세그먼트가 패리티 데이터 세그먼트인 것으로 설명하도록 한다.
단계 S810에서, 송신 단말기(110)는 송신 단말기와 연결된 복수의 수신 단말기들(120, 130, 140)에 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터를 송신한다.
본 발명의 일 실시예에 따른 송신 단말기(110)는 멀티캐스트 방식을 통해 복수의 수신 단말기들 각각에 제 1 데이터를 송신할 수 있다.
한편, 단계 S810은 도 2를 참조하여 전술한 단계 S210과 대응될 수 있다.
단계 S820에서, 송신 단말기(110)는 복수의 수신 단말기들(120, 130, 140) 중 적어도 하나로부터 제 1 데이터에 관한 재송신 요청을 수신할 수 있다. 여기에서, 재송신 요청에는 요청된 패리티 데이터 세그먼트의 식별 정보가 포함될 수 있다.
단계 S830에서, 송신 단말기(110)는 수신한 재송신 요청에 기초하여, 요청된 패리티 데이터 세그먼트의 재송신 여부를 결정할 수 있다. 송신 단말기(110)는 수신 단말기(예를 들어, 120)로부터 수신한 재송신 요청에 기초하여, 패리티 데이터 세그먼트의 송신 여부를 결정할 수 있다.
송신 단말기(110)는 기 설정된 시간 동안 동일한 패리티 데이터 세그먼트에 대한 재송신 요청이 반복적으로 수신되거나, 기 설정된 시간 동안 이미 송신된 패리티 데이터 세그먼트의 이전 데이터 세그먼트에 관한 재송신 요청이 수신된 경우, 요청된 데이터 세그먼트를 송신하지 않을 수 있다. 여기에서, 기 설정된 시간은 예를 들어, 데이터 왕복 시간의 1/2시간으로 설정될 수 있다.
도 9는 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)가 데이터를 송수신하는 방법을 설명하기 위한 흐름도이다.
단계 S910에서, 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터 중에서, 적어도 하나의 데이터 세그먼트를 수신한다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기로부터 멀티 캐스트 방식에 따라 송신된 제 1 데이터를 수신할 수 있다. 여기에서, 송신 단말기(110)는 수신 단말기(120)를 포함한 복수의 수신 단말기들(120, 130, 140)과 연결될 수 있다. 복수의 수신 단말기들(120, 130, 140) 각각은 송신 단말기(110)로부터 제 1 데이터를 수신할 수 있다.
단계 S920에서, 수신 단말기(예를 들어, 120)는 수신한 제 1 데이터에 관한 피드백 정보를 생성한다. 여기에서, 일 실시예에 따른 제 1 데이터는 미리 설정된 크기의 적어도 하나의 데이터 세그먼트로 구성될 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 제 1 데이터를 수신한 시점을 결정할 수 있다. 또한, 수신 단말기(예를 들어, 120)는 제 1 데이터에 포함된 적어도 하나의 데이터 세그먼트의 식별값을 이용하여, 수신된 데이터 세그먼트를 식별할 수 있다. 예를 들어, 제 1 데이터에 포함된 5개의 데이터 세그먼트들 중 3개가 손실된 경우, 수신 단말기(예를 들어, 120)는 손실되지 않은 2개의 데이터 세그먼트들 각각의 식별 정보를 획득할 수 있다.
또한, 수신 단말기(예를 들어, 120)는 손실된 데이터 세그먼트의 식별 정보를 획득할 수도 있다. 다른 예에 따라 수신 단말기(예를 들어, 120)는 제 1 데이터에 포함된 데이터 세그먼트들의 개수 및 손실된 데이터 세그먼트의 개수에 기초하여, 제 1 데이터의 데이터 손실률을 결정할 수 있다.
한편, 수신 단말기(예를 들어, 120)는 제 1 데이터에서 손실된 데이터 세그먼트의 식별 정보 및 제 1 데이터의 데이터 손실률 중 적어도 하나를 포함한 피드백 정보를 생성할 수 있다. 여기에서, 송신 단말기(110)가 피드백 정보를 송신한 수신 단말기를 식별할 수 있도록 하기 위해, 생성된 피드백 정보에는 피드백 정보를 송신한 수신 단말기를 식별할 수 있도록 수신 단말기의 식별 정보가 포함될 수 있다.
단계 S930에서, 수신 단말기(예를 들어, 120)는 생성된 피드백 정보를 송신 단말기에 송신할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 수신한 프로빙 메시지에 기초하여, 생성된 피드백 정보를 송신 단말기(110)에 송신하는 시점을 결정할 수 있다. 이에 대해서는 도 10 및 도 11을 참조하여 보다 구체적으로 후술하도록 한다.
한편, 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기(110)에 손실된 데이터에 관한 재송신 요청을 송신할 수 있다. 여기에서, 재송신 요청은 피드백 정보와 함께 송신 단말기(110)에 송신될 수 있다. 예를 들어, 송신 단말기(110)는 피드백 정보에 포함된 손실 데이터 세그먼트의 식별 정보에 기초하여 수신 단말기(예를 들어, 120)에서 손실된 데이터 세그먼트를 확인할 수 있다. 다른 예에 따라, 수신 단말기(예를 들어, 120)는 피드백 정보와 별도로 재송신 요청을 송신 단말기(110)에 송신할 수도 있다.
도 10은 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)가 송신 단말기(110)로부터 수신한 프로빙 메시지에 기초하여, 피드백 정보를 송신 단말기(110)에 송신하는 방법을 설명하기 위한 흐름도이다.
단계 S1010에서, 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 복수의 수신 단말기들에 관한 프로빙 메시지를 수신할 수 있다. 프로빙 메시지에는 송신 단말기(110)와 연결된 복수의 수신 단말기들(120, 130, 140)의 데이터 손실률, 데이터 수신률 및 데이터 왕복 시간(Round Trip Time) 중 적어도 하나에 관한 정보가 포함될 수 있다. 프로빙 메시지는 미리 설정된 주기에 따라 송신 단말기(110)로부터 복수의 수신 단말기들(120, 130, 140) 각각에 송신될 수 있다.
단계 S1020에서, 수신 단말기(예를 들어, 120)는 수신한 프로빙 메시지를 이용하여, 데이터 손실률이 가장 낮은 수신 단말기 및 데이터 손실률이 가장 높은 수신 단말기를 결정할 수 있다.
단계 S1030에서, 수신 단말기(예를 들어, 120)는 수신 단말기(예를 들어, 120)가 결정된 데이터 손실률이 가장 낮은 수신 단말기 및 데이터 손실률이 가장 높은 수신 단말기 중 어느 하나에 대응되는지 여부를 결정할 수 있다.
단계 S1040에서, 수신 단말기(예를 들어, 120)는 백오프(backoff)값을 선택할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기(110)에 피드백 정보가 오버 플로우 되는 것을 방지하기 위해, 데이터 손실률이 가장 낮은 수신 단말기나 데이터 손실률이 가장 높은 수신 단말기에 해당하지 않는 경우, 송신 단말기(110)에 피드백 정보를 송신하는 시점을 백오프 이후로 결정할 수 있다. 여기에서, 백오프 기간을 나타내는 백오프 값은 랜덤하게 결정될 수 있다.
한편, 수신 단말기(예를 들어, 120)가 데이터 손실률이 가장 낮은 수신 단말기나 데이터 손실률이 가장 높은 수신 단말기에 해당하는 경우, 백오프 없이 송신 단말기(110)에 피드백 정보를 송신할 수 있다.
단계 S1050에서, 수신 단말기(예를 들어, 120)는 백오프 값을 감소시킬 수 있다. 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 미리 설정된 시간 단위의 타임 슬롯이 경과할 때마다 백오프 값을 1씩 감소시킬 수 있다.
단계 S1060에서, 수신 단말기(예를 들어, 120)는 백오프가 0이 되었는지 여부를 판단할 수 있다. 수신 단말기(예를 들어, 120)는 선택된 백오프 기간이 경과되었는지 여부를 백오프 값에 기초하여 판단할 수 있다. 수신 단말기(예를 들어, 120)는 백오프 값이 0이 되는 경우, 백오프 기간이 경과된 것으로 판단할 수 있다.
단계 S1070에서, 수신 단말기(예를 들어, 120)는 송신 단말기(110)에 피드백 정보를 송신할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 백오프 기간이 경과한 이후에, 피드백 정보를 송신 단말기(예를 들어, 110)에 송신할 수 있다. 한편, 전술한 바와 같이, 수신 단말기(예를 들어, 120)가 데이터 손실률이 가장 낮은 수신 단말기나 데이터 손실률이 가장 높은 수신 단말기에 해당하는 경우, 백오프 없이 송신 단말기(110)에 피드백 정보를 송신할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 수신 단말기(예를 들어, 120)가 송신 단말기(110)로부터 수신한 프로빙 메시지에 기초하여, 피드백 정보를 송신 단말기(110)에 송신하는 방법을 설명하기 위한 흐름도이다.
단계 S1110에서, 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터 중 적어도 하나의 데이터 세그먼트를 수신할 수 있다.
한편, 단계 S1110은 도 9를 참조하여 전술한 단계 S910과 대응될 수 있다.
단계 S1120에서, 수신 단말기(예를 들어, 120)는 수신한 적어도 하나의 데이터 세그먼트로부터 소스 데이터 세그먼트의 복원 여부를 결정할 수 있다. 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 수신한 적어도 하나의 데이터 세그먼트가 소스 데이터 세그먼트의 개수에 대응되는 경우, 소스 데이터 세그먼트를 복원 가능하다고 판단할 수 있다. 다만, 이는 본 발명의 일 실시예일 뿐, 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)가 소스 데이터 세그먼트의 복원 가능 여부를 판단하는 방법이 이에 한정되는 것은 아니다.
단계 S1130에서, 수신 단말기(예를 들어, 120)는 데이터 손실률이 가장 낮은 수신 단말기 및 데이터 손실률이 가장 높은 수신 단말기를 결정할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 수신한 적어도 하나의 데이터 세그먼트로부터 소스 데이터 세그먼트를 복원할 수 없는 경우, 송신 단말기(110)와 연결된 복수의 수신 단말기들(120, 130, 140) 중에서, 데이터 손실률이 가장 낮은 수신 단말기 및 데이터 손실률이 가장 높은 수신 단말기를 결정할 수 있다. 한편, 수신 단말기(예를 들어, 120)는 수신한 적어도 하나의 데이터 세그먼트로부터 소스 데이터 세그먼트를 복원할 수 있는 경우 복원된 소스 데이터 세그먼트 이후의 소스 데이터 세그먼트를 포함한 데이터를 수신할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 송신 단말기(110)와 연결된 복수의 단말기들(120, 130, 140) 각각에 관한 데이터 손실률, 데이터 수신률 및 데이터 왕복 시간(Round Trip Time) 중 적어도 하나에 관한 정보를 수신할 수 있다. 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 수신한 정보에 기초하여, 데이터 손실률이 가장 낮은 수신 단말기 및 데이터 손실률이 가장 높은 수신 단말기를 결정할 수 있다.
단계 S1130에서, 수신 단말기(예를 들어, 120)는 수신 단말기(예를 들어, 120)가 결정된 데이터 손실률이 가장 낮은 수신 단말기 및 데이터 손실률이 가장 높은 수신 단말기 중 어느 하나에 대응되는지 여부를 결정할 수 있다.
단계 S1140에서, 수신 단말기(예를 들어, 120)는 백오프(backoff)값을 선택할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기(110)에 피드백 정보가 오버 플로우 되는 것을 방지하기 위해, 데이터 손실률이 가장 낮은 수신 단말기나 데이터 손실률이 가장 높은 수신 단말기에 해당하지 않는 경우, 송신 단말기(110)에 피드백 정보를 송신하는 시점을 백오프 이후로 결정할 수 있다. 여기에서, 백오프 기간을 나타내는 백오프 값은 랜덤하게 결정될 수 있다.
한편, 수신 단말기(예를 들어, 120)가 데이터 손실률이 가장 낮은 수신 단말기나 데이터 손실률이 가장 높은 수신 단말기에 해당하는 경우, 백오프 없이 송신 단말기(110)에 피드백 정보를 송신할 수 있다.
단계 S1150에서, 수신 단말기(예를 들어, 120)는 백오프 값을 감소시킬 수 있다.
단계 S1160에서, 수신 단말기(예를 들어, 120)는 백오프가 0이 되었는지 여부를 판단할 수 있다. 수신 단말기(예를 들어, 120)는 백오프 값이 0이 되는 경우, 백오프 기간이 경과된 것으로 판단할 수 있다.
단계 S1170에서, 수신 단말기(예를 들어, 120)는 송신 단말기(110)에 피드백 정보를 송신할 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 백오프 기간이 경과한 이후에, 피드백 정보를 송신 단말기(예를 들어, 110)에 송신할 수 있다. 한편, 전술한 바와 같이, 수신 단말기(예를 들어, 120)가 데이터 손실률이 가장 낮은 수신 단말기나 데이터 손실률이 가장 높은 수신 단말기에 해당하는 경우, 백오프 없이 송신 단말기(110)에 피드백 정보를 송신할 수 있다.
도 12는 본 발명의 일 실시예에 따른 송신 단말기에서 수신 단말기(예를 들어, 120)에 송신하는 데이터의 크기를 결정하는 방법을 설명하기 위한 도면이다.
수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 미리 설정된 단위 크기의 데이터를 수신할 수 있다. 한편, 본 발명의 일 실시예에 따른 송신 단말기(110)는 수신 단말기(예를 들어, 120)와 송신 단말기(110) 간의 데이터 송수신 상황에 기초하여, 송신되는 데이터의 크기를 적응적으로 결정할 수 있다.
예를 들어, 수신 단말기(예를 들어, 120)에서 비디오 스트리밍 서비스가 수행되는 경우, 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 복수의 프레임들(예를 들어, 프레임 1, 프레임 2)을 수신할 수 있다.
도 12의 (a)를 참조하면, 송신 단말기(110)는 제 1 프레임을 구성하는 데이터를 미리 설정된 크기 a 단위로 수신 단말기(예를 들어, 120)에 송신할 수 있다. 송신 단말기(110)는 수신 단말기(120)에 아직 송신되지 않은 제 1 프레임을 구성하는 데이터(1210)의 크기가 a 단위 미만인 경우에는 제 2 프레임을 구성하는 데이터와 결합하여, 수신 단말기(예를 들어, 120)에 송신할 수 있다.
한편, 도 12의 (b)를 참조하면, 본 발명의 일 실시예에 따른 송신 단말기(110)는 제 1 프레임을 구성하는 데이터 중에서 아직 송신되지 않은 데이터(1220)의 크기가 a 미만인 경우에도, 수신 단말기(예를 들어, 120)에 송신할 수 있다. 본 발명의 일 실시예에 따른 송신 단말기(110)는 프레임을 구성하는 데이터의 크기 및 송신 단말기(110)와 수신 단말기(예를 들어, 120) 간의 데이터 송수신 상황 중 적어도 하나ㅏ에 기초하여, 송신 단말기(110)로부터 수신 단말기(예를 들어, 120)에 송신되는 데이터의 크기를 결정할 수 있다.
도 13은 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)가 수신한 데이터에 기초하여, 손실된 데이터 세그먼트에 관한 재송신 요청을 송신하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 미리 설정된 순서에 따라 데이터를 수신할 수 있다. 예를 들어, 수신 단말기(예를 들어, 120)은 i번째 프레임과 i+1번째 프레임을 송신 단말기(110)로부터 수신할 수 있다. 여기에서, 프레임은 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함하는 적어도 하나의 데이터로 구성될 수 있다.
한편, 수신 단말기(예를 들어, 120)와 송신 단말기(110) 사이에 채널 상태가 변경됨에 따라, 수신 단말기(예를 들어, 120)는 i번째 프레임을 구성하는 데이터 세그먼트 중 일부를 수신하지 못하여, i번째 프레임을 복원하지 못할 수 있다. 반면에, 채널 상태가 좋아짐에 따라, 수신 단말기(예를 들어, 120)는 수신한 i+1번째 프레임을 구성하는 적어도 하나의 데이터 세그먼트로부터 i+1번째 프레임을 복원할 수 있다.
한편, 수신 단말기(예를 들어, 120)에는 서비스를 실행하기 위해 허용되는 데이터 프로세싱 지연 시간이 미리 결정될 수 있다. 예를 들어, 수신 단말기(예를 들어, 120)에서 비디오 스트리밍 서비스를 실행하는 경우, 비디오 데이터를 스트리밍 하는데 허용되는 지연 시간이 미리 결정될 수 있다.
본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)는 수신 단말기(예를 들어, 120)의 데이터 세그먼트 수신 속도 및 수신 단말기(예를 들어, 120)에서 허용되는 지연 시간에 기초하여, 송신 단말기(110)에 i프레임의 손실된 데이터 세그먼트에 대한 재송신 요청을 송신 단말기(110)에 송신할 지 여부를 결정할 수 있다.
예를 들어, 도 13의 (a)를 참조하면, 수신 단말기(예를 들어, 120)는 제 1 프레임, 제 2 프레임 및 제 4 프레임 내지 제 6 프레임을 모두 복원할 수 있는 반면에, 제 3 프레임을 복원하지 못할 수 있다. 수신 단말기(예를 들어, 120)는 수신 단말기(예를 들어, 120)에서 허용되는 지연 시간 내에, 제 3 프레임에 관한 데이터 세그먼트를 수신할 수 있을지 여부를 판단할 수 있다.
도 13의 (b)를 참조하면, 수신 단말기(예를 들어, 120)는 제 3 프레임에 관한 데이터 세그먼트를 수신 단말기(예를 들어, 120)에서 허용되는 지연 시간 내에 수신하기 어렵다고 판단한 경우, 이미 수신하여 버퍼에 저장된 제 3프레임에 관한 데이터 세그먼트를 제거할 수 있다. 한편, 수신 단말기(예를 들어, 120)는 제 3 프레임에 관한 데이터 세그먼트를 수신 단말기(예를 들어, 120)에서 허용되는 지연 시간 내에 수신 가능한 것으로 판단한 경우, 송신 단말기(110)에 제 3 프레임에 대한 재송신 요청을 송신할 수 있다.
도 14는 본 발명의 일 실시예에 따른 수신 단말기(예를 들어, 120)가 수신한 데이터에 기초하여, 손실된 데이터 세그먼트에 관한 재송신 요청을 송신하는 방법을 설명하기 위한 흐름도이다.
단계 S1410에서, 수신 단말기(예를 들어, 120)는 송신 단말기(110)로부터 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함한 제 1 데이터 중 적어도 하나의 데이터 세그먼트를 수신할 수 있다.
한편, 단계 S1410은 도 9를 참조하여 전술한 단계 S910과 대응될 수 있다.
단계 S1420에서, 수신 단말기(예를 들어, 120)는 기 설정된 시간 내에 제 1 데이터를 복원할 수 있을지 여부를 결정할 수 있다.
수신 단말기(예를 들어, 120)와 송신 단말기(110) 사이에 채널 상태가 변경됨에 따라, 수신 단말기(예를 들어, 120)는 제 1 데이터에 포함된 데이터 세그먼트 중 일부를 수신하지 못하여, 제 1 데이터를 복원하지 못할 수 있다. 반면에, 채널 상태가 좋아짐에 따라, 수신 단말기(예를 들어, 120)는 제 1 데이터에 관한 적어도 하나의 세그먼트 이후에 수신한 제 2 데이터를 구성하는 적어도 하나의 데이터 세그먼트로부터 제 2 데이터를 복원할 수 있다.
한편, 수신 단말기(예를 들어, 120)에는 서비스를 실행하기 위해 허용되는 데이터 프로세싱 지연 시간이 미리 결정될 수 있다. 수신 단말기(예를 들어, 120)는 미리 결정된 지연 시간 및 수신 단말기(예를 들어, 120)의 데이터 수신 속도에 기초하여, 미리 결정된 지연 시간 내에 제 1 데이터에 관한 데이터 세그먼트를 수신하여, 제 1 데이터를 복원할 수 있을지 여부를 결정할 수 있다.
단계 S1430에서, 수신 단말기(예를 들어, 120)는 수신한 제 1 데이터에 관한 적어도 하나의 데이터 세그먼트를 버퍼에서 제거할 수 있다.
수신 단말기(예를 들어, 120)는 제 1 데이터에 관한 데이터 세그먼트를 수신 단말기(예를 들어, 120)에서 허용되는 지연 시간 내에 수신하기 어렵다고 판단한 경우, 이미 수신하여 버퍼에 저장된 제 1 프레임에 관한 데이터 세그먼트를 제거할 수 있다. 수신 단말기(예를 들어, 120)는 제 1 데이터에 관한 데이터 세그먼트를 제거하고, 이후에 수신한 제 2 데이터를 복원하여 처리함으로써, 데이터에 대한 프로세스 수행 속도를 높일 수 있다.
단계 S1440에서, 수신 단말기(예를 들어, 120)는 제 1 데이터에 관한 데이터 세그먼트의 재송신 요청을 송신 단말기(110)에 송신할 수 있다.
수신 단말기(예를 들어, 120)는 제 1 데이터에 관한 데이터 세그먼트를 수신 단말기(예를 들어, 120)에서 허용되는 지연 시간 내에 수신 가능한 것으로 판단한 경우, 송신 단말기(110)에 제 1 데이터에 관한 데이터 세그먼트의 재송신 요청을 송신할 수 있다.
도 15는 본 발명의 일 실시예에 따른 송신 단말기(1500)의 블록도이다.
본 발명의 일 실시예에 따른 송신 단말기(1500)는 송신부(1510) 수신부(1520), 버퍼(1530) 및 제어부(1540)를 포함할 수 있다.
도 15에 도시된 송신 단말기(1500)에는 본 실시예와 관련된 구성 요소들만이 도시되어 있다. 따라서, 도 15에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
한편, 도 15의 송신 단말기(1500)는 도 1을 참조하여 전술한 송신 단말기(110)와 대응될 수 있다.
송신부(1510)는 멀티캐스트 방식을 통해, 복수의 수신 단말기들(120, 130, 140)에 데이터를 송신한다. 여기에서, 데이터는 소스 데이터 세그먼트 및 소스 데이터에 관한 복원 정보를 포함하는 패리티 데이터 세그먼트를 포함할 수 있다. 세그먼트는 기 설정된 크기의 데이터를 나타내는 단위로서, 예를 들어, 데이터 세그먼트, 프레임 등일 수 있으나 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 송신부(1510)는 획득한 데이터 중 제 1 데이터를 복수의 수신 단말기들(120, 130, 140)에 송신할 수 있다.
수신부(1520)는 복수의 수신 단말기들(120, 130, 140) 각각으로부터 제 1 데이터에 관한 피드백 정보를 수신한다. 여기에서, 피드백 정보에는 제 1 데이터에 대한 데이터 손실률, 데이터 수신률 및 데이터 왕복 시간(Round Trip Time) 중 적어도 하나에 관한 정보가 포함될 수 있다. 수신부(1520)는 복수의 수신 단말기들(120, 130, 140) 각각으로부터 손실된 데이터 세그먼트에 관한 재송신 요청을 수신할 수도 있다.
버퍼(1530)는 송신부(1510)를 통해 수신 단말기(예를 들어, 120)로 송신되는 데이터 및 수신부(1520)를 통해 수신한 피드백 정보 중 적어도 하나를 저장할 수 있다. 한편, 버퍼(1530)에는 수신부(1520)를 통해 수신 단말기(예를 들어, 120)로부터 수신한 재송신 요청에 관한 정보를 저장할 수 있다.
제어부(1540)는 수신 단말기들(120, 130, 140)로부터 수신한 각각의 피드백 정보에 기초하여 수신 단말기(예를 들어, 120)에서 데이터 세그먼트의 손실이 발생된 원인을 예측할 수 있다. 여기에서, 데이터 세그먼트의 손실이 발생된 원인에는 수신 단말기(예를 들어, 120)에 구비된 버퍼의 오버 플로우 및 송신 단말기(1500)와 수신 단말기(예를 들어, 120) 간의 채널 상태 중 적어도 하나가 포함될 수 있다.
제어부(1540)는 예측한 데이터 세그먼트의 손실 원인을 고려하여, 제 1 데이터 이후에 수신 단말기들(120, 130, 140)에 송신되는 제 2 데이터를 결정할 수 있다. 예를 들어, 제어부(1540)는 제 2 데이터에 포함되는 제 2 소스 데이터의 복원을 위한 제 2 패리티 데이터 세그먼트의 개수를 결정할 수 있다. 다른 예에 따라, 제어부(1540)는 제 2 데이터의 송신 속도를 결정할 수 있다.
본 발명의 다른 실시예에 따른 제어부(1540)는 수신 단말기들(120, 130, 140)로부터 수신한 각각의 피드백 정보에 기초하여, 전송된 제 1 소스 데이터 세그먼트의 복원을 위한 제 1 패리티 데이터 세그먼트의 재송신 여부를 결정할 수 있다.
도 16은 본 발명의 일 실시예에 따른 수신 단말기(1600)의 블록도이다.
본 발명의 일 실시예에 따른 수신 단말기(1600)는 수신부(1610) 송신부(1620), 버퍼(1630) 및 제어부(1640)를 포함할 수 있다.
도 16에 도시된 수신 단말기(1600)에는 본 실시예와 관련된 구성 요소들만이 도시되어 있다. 따라서, 도 16에 도시된 구성 요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
한편, 도 16의 수신 단말기(1600)는 도 1을 참조하여 전술한 수신 단말기 a(120)와 대응될 수 있다.
수신부(1610)는 송신 단말기(1500)로부터 소스 데이터 세그먼트 및 패리티 데이터 세그먼트를 포함하는 제 1 데이터 중 적어도 하나의 데이터 세그먼트를 수신한다. 수신부(1610)를 통해 수신된 적어도 하나의 데이터 세그먼트는 버퍼(1630)에 저장될 수 있다.
송신부(1620)는 제 1 데이터에 관한 피드백 정보를 송신 단말기(1500)에 송신할 수 있다. 여기에서, 피드백 정보는 제어부(1640)에서 생성될 수 있다.
한편, 제어부(1640)는 송신 단말기(1500)로부터 수신한 프로빙(probing) 메시지를 통해, 생성된 피드백 정보를 송신 단말기(1500)에 송신하는 시점을 결정할 수 있다. 프로빙 메시지에는 송신 단말기(1500)와 연결된 복수의 수신 단말기들의 데이터 손실률, 데이터 수신률 및 데이터 왕복 시간(Round Trip Time) 중 적어도 하나에 관한 정보가 포함될 수 있다. 프로빙 메시지는 미리 설정된 주기에 따라 송신 단말기(1500)로부터 복수의 수신 단말기들에 각각 송신될 수 있다.
한편, 수신부(1610)는 송신 단말기(15000)로부터 제 1 데이터에 포함된 적어도 하나의 세그먼트 및 제 2 데이터에 포함된 적어도 하나의 세그먼트를 수신할 수 있다. 여기에서, 제 2 데이터는 송신 단말기(1500)로부터 제 1 데이터 이후에 송신되는 데이터를 나타낸다.
제어부(1540)는 데이터 손실로 인해 수신한 제 1 데이터에 관한 적어도 하나의 세그먼트로부터 제 1 소스 데이터 세그먼트를 복원하지 못할 수 있다. 반면에, 제어부(1540)가 이후에 수신한 제 2 데이터에 관한 적어도 하나의 세그먼트로부터 제 2 소스 데이터 세그먼트를 복원할 수 있는 경우, 수신 단말기 a(120)는 제 1 소스 데이터 세그먼트에 관한 제 1 패리티 데이터 세그먼트가 수신될 시점을 예측하여, 제 1 패리티 데이터 세그먼트의 재송신 요청 여부를 결정할 수 있다.
예를 들어, 제어부(1540)는 제 1 패리티 데이터 세그먼트가 기 설정된 시간 안에 수신되지 못할 것으로 예측되는 경우, 제 2 소스 데이터 세그먼트가 우선적으로 실행되도록 상위 프로세스를 수행할 수 있다. 여기에서, 상위 프로세스는 애플리케이션 레이어(layer)등에서의 프로세스 등을 포함할 수 있다. 다른 예에 따라, 제어부(1540)는 제 1 패리티 데이터 세그먼트가 기 설정된 시간 안에 수신될 것으로 예측되는 경우 송신 단말기(1500)에 제 1 패리티 데이터 세그먼트를 요청할 수 있다.
개시된 실시예에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
개시된 실시예에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 게시된 실시예에서 전체적으로 병합하여 나타낸 것과 동일하게 개시된 실시예에 병합될 수 있다.
개시된 실시예의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 개시된 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 개시된 실시예가 한정되는 것은 아니며, 개시된 실시예들은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
개시된 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 개시된 실시예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 개시된 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 개시된 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 개시된 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
개시된 실시예에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 개시된 실시예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 개시된 실시예의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
100: 데이터를 송수신하는 시스템
110: 송신 단말기
120: 수신 단말기 a
130: 수신 단말기 b
140: 수신 단말기 c
110: 송신 단말기
120: 수신 단말기 a
130: 수신 단말기 b
140: 수신 단말기 c
Claims (22)
- 제 1 단말기가 데이터를 송수신하는 방법에 있어서,
상기 제 1 단말기와 연결된 복수의 제 2 단말기들에 적어도 하나의 제 1 소스 데이터 세그먼트 및 적어도 하나의 제 1 패리티 데이터 세그먼트를 포함하는 제 1 데이터를 송신하는 단계;
상기 복수의 제 2 단말기들로부터 수신한 상기 제 1 데이터에 관한 피드백 정보에 기초하여, 데이터 세그먼트 손실의 원인을 식별하는 단계;
상기 식별된 데이터 세그먼트 손실의 원인에 기초하여, 상기 제 1 데이터 이후에 송신되는 제 2 소스 데이터 세그먼트의 복원을 위한 제 2 패리티 데이터 세그먼트의 개수를 식별하는 단계; 및
상기 제 2 소스 데이터 세그먼트 및 상기 식별된 개수의 제 2 패리티 데이터 세그먼트를 포함하는 제 2 데이터를 상기 복수의 제 2 단말기에 송신하는 단계를 포함하는, 방법. - 제 1항에 있어서, 상기 제 1 데이터를 송신하는 단계는,
데이터의 수신 시에 피드백을 요청하는 프로토콜, 데이터 손실의 검출 시에 피드백을 요청하는 프로토콜 및 손실 데이터를 복원하기 위한 코딩 알고리즘을 이용하는 프로토콜 중 적어도 하나를 포함하는 멀티캐스트 방식을 이용하여, 상기 제 1 데이터를 송신하는, 방법. - 제 1항에 있어서, 상기 피드백 정보는,
데이터의 손실률에 관한 정보, 데이터의 수신률에 관한 정보 및 상기 제 1 데이터의 RTT에 관한 정보 중 적어도 하나를 포함하는, 방법. - 삭제
- 제 1항에 있어서, 상기 데이터 세그먼트 손실의 원인은,
복수의 수신 단말들 중 적어도 하나에서 제공되는 버퍼의 오버플로우, 상기 제 1 단말기와 상기 복수의 제 2 단말기들 중 적어도 하나 간의 채널 상태 중 적어도 하나를 포함하는, 방법. - 삭제
- 제 1항에 있어서,
상기 제 2 데이터를 송신하기 위한 송신률을 결정하는 단계를 더 포함하는, 방법. - 제 1항에 있어서,
상기 수신된 피드백 정보에 기초하여, 상기 제 1 데이터에 포함된 상기 적어도 하나의 제 1 소스 데이터 세그먼트 및 상기 적어도 하나의 제 1 패리티 데이터 세그먼트 중 재전송되는 데이터 세그먼트를 결정하는 단계를 더 포함하는, 방법. - 제 8항에 있어서,
상기 수신된 피드백 정보가 손실된 제 1 패리티 세그먼트에 대한 후속 패리티 데이터 세그먼트가 수신되었다는 표시를 포함하는 경우, 상기 손실된 제 1 패리티 데이터 세그먼트를 재전송하지 않는 것으로 결정하는 단계를 더 포함하는, 방법. - 제 1항에 있어서,
상기 수신된 피드백 정보가 데이터 손실이 발생하지 않음을 나타내는 경우, 상기 제 2 데이터에 포함되는 상기 제 2 소스 데이터 세그먼트의 개수를 증가시키는 단계를 더 포함하는, 방법. - 데이터를 송수신하는 제 1 단말기에 있어서,
송수신부; 및
상기 송수신부와 연결된 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
상기 제 1 단말기와 연결된 복수의 제 2 단말기들에 적어도 하나의 제 1 소스 데이터 세그먼트 및 적어도 하나의 제 1 패리티 데이터 세그먼트를 포함하는 제 1 데이터를 송신하도록 상기 송수신부를 제어하고,
상기 복수의 제 2 단말기들로부터 수신한 상기 제 1 데이터에 관한 피드백 정보에 기초하여, 데이터 세그먼트 손실의 원인을 식별하고, 상기 식별된 데이터 세그먼트 손실의 원인에 기초하여, 상기 제 1 데이터 이후에 송신되는 제 2 소스 데이터 세그먼트의 복원을 위한 제 2 패리티 데이터 세그먼트의 개수를 식별하며,
상기 제 2 소스 데이터 세그먼트 및 상기 식별된 개수의 제 2 패리티 데이터 세그먼트를 포함하는 제 2 데이터를 상기 복수의 제 2 단말기에 송신하도록 상기 송수신부를 제어하는, 제 1 단말기. - 제 11항에 있어서, 상기 적어도 하나의 프로세서는,
데이터의 수신 시에 피드백을 요청하는 프로토콜, 데이터 손실의 검출 시에 피드백을 요청하는 프로토콜 및 손실 데이터를 복원하기 위한 코딩 알고리즘을 이용하는 프로토콜 중 적어도 하나를 포함하는 멀티캐스트 방식을 이용하여, 상기 제 1 데이터를 송신하도록 상기 송수신부를 제어하는, 제 1 단말기. - 제 11항에 있어서, 상기 피드백 정보는,
데이터의 손실률에 관한 정보, 데이터의 수신률에 관한 정보 및 상기 제 1 데이터의 RTT에 관한 정보 중 적어도 하나를 포함하는, 제 1 단말기. - 삭제
- 제 11항에 있어서, 상기 데이터 세그먼트 손실의 원인은,
복수의 수신 단말들 중 적어도 하나에서 제공되는 버퍼의 오버플로우, 상기 제 1 단말기와 상기 복수의 제 2 단말기들 중 적어도 하나 간의 채널 상태 중 적어도 하나를 포함하는, 제 1 단말기. - 삭제
- 제 11항에 있어서, 상기 적어도 하나의 프로세서는,
상기 제 2 데이터를 송신하기 위한 송신률을 결정하는, 제 1 단말기. - 제 11항에 있어서, 상기 적어도 하나의 프로세서는,
상기 수신된 피드백 정보에 기초하여, 상기 제 1 데이터에 포함된 상기 적어도 하나의 제 1 소스 데이터 세그먼트 및 상기 적어도 하나의 제 1 패리티 데이터 세그먼트 중 재전송되는 데이터 세그먼트를 결정하는, 제 1 단말기. - 제 18항에 있어서, 상기 적어도 하나의 프로세서는,
상기 수신된 피드백 정보가 손실된 패리티 세그먼트에 대한 후속 패리티 데이터 세그먼트가 수신되었다는 표시를 포함하는 경우, 상기 손실된 패리티 데이터 세그먼트를 재전송하지 않는 것으로 결정하는, 제 1 단말기. - 제 11항에 있어서,
상기 수신된 피드백 정보가 데이터 손실이 발생하지 않음을 나타내는 경우, 상기 제 2 데이터에 포함되는 상기 제 2 소스 데이터 세그먼트의 개수를 증가시키는, 제 1 단말기. - 제 2 단말기가 데이터를 송수신하는 방법에 있어서,
제 1 단말기로부터 적어도 하나의 제 1 소스 데이터 세그먼트 및 적어도 하나의 제 1 패리티 데이터 세그먼트를 포함한 제 1 데이터를 수신하는 단계;
상기 제 1 데이터에 관한 피드백 정보를 상기 제 1 단말기에 송신하는 단계; 및
제 2 소스 데이터 세그먼트 및 상기 제 2 소스 데이터 세그먼트의 복원을 위한 제 2 패리티 데이터 세그먼트를 포함하는, 제 2 데이터를 상기 제 1 단말기로부터 수신하는 단계를 포함하고,
상기 제 2 단말기를 포함한 복수의 제 2 단말기들로부터 상기 제 1 단말기에 수신된 상기 제 1 데이터에 관한 피드백 정보에 기초하여 데이터 세그먼트 손실의 원인이 식별되고,
상기 제 1 단말기에서 식별된 상기 데이터 세그먼트 손실의 원인에 기초하여, 상기 제 2 데이터에 포함되는 상기 제 2 패리티 데이터 세그먼트의 개수가 식별되는, 방법. - 데이터를 송수신하는 제 2 단말기에 있어서,
송수신부; 및
상기 송수신부와 연결된 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는, 상기 송수신부를 제어함으로써,
제 1 단말기로부터 적어도 하나의 제 1 소스 데이터 세그먼트 및 적어도 하나의 제 1 패리티 데이터 세그먼트를 포함한 제 1 데이터를 수신하고,
상기 제 1 데이터에 관한 피드백 정보를 상기 제 1 단말기에 송신하며,
제 2 소스 데이터 세그먼트 및 상기 제 2 소스 데이터 세그먼트의 복원을 위한 제 2 패리티 데이터 세그먼트를 포함하는, 제 2 데이터를 상기 제 1 단말기로부터 수신하고,
상기 제 2 단말기를 포함한 복수의 제 2 단말기들로부터 상기 제 1 단말기에 수신된 상기 제 1 데이터에 관한 피드백 정보에 기초하여 데이터 세그먼트 손실의 원인이 식별되고,
상기 제 1 단말기에서 식별된 상기 데이터 세그먼트 손실의 원인에 기초하여, 상기 제 2 데이터에 포함되는 상기 제 2 패리티 데이터 세그먼트의 개수가 식별되는, 제 2 단말기.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150060047A KR102327204B1 (ko) | 2015-04-28 | 2015-04-28 | 데이터를 송수신하는 방법 및 단말기 |
US15/140,999 US10003470B2 (en) | 2015-04-28 | 2016-04-28 | Method and terminal for transmitting and receiving data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150060047A KR102327204B1 (ko) | 2015-04-28 | 2015-04-28 | 데이터를 송수신하는 방법 및 단말기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160128149A KR20160128149A (ko) | 2016-11-07 |
KR102327204B1 true KR102327204B1 (ko) | 2021-11-16 |
Family
ID=57205302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150060047A KR102327204B1 (ko) | 2015-04-28 | 2015-04-28 | 데이터를 송수신하는 방법 및 단말기 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10003470B2 (ko) |
KR (1) | KR102327204B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102327204B1 (ko) * | 2015-04-28 | 2021-11-16 | 삼성전자주식회사 | 데이터를 송수신하는 방법 및 단말기 |
CN108199806B (zh) * | 2018-01-15 | 2021-03-12 | 北京新能源汽车股份有限公司 | 一种数据码的通信方法、装置、故障诊断仪及组合仪表 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030031198A1 (en) * | 2001-06-22 | 2003-02-13 | Broadcom Corporation | System , method and computer program product for mitigating burst noise in a communications system |
US20120269112A1 (en) * | 2009-03-24 | 2012-10-25 | Clear Wireless Llc | Method and System for Improving Performance of Broadcast/Multicast Transmissions |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3615905B2 (ja) * | 1997-05-12 | 2005-02-02 | 株式会社東京放送 | デジタル映像分配装置 |
US6925502B1 (en) * | 2000-06-20 | 2005-08-02 | At&T Corp. | Methods and systems for improving data transmission rates having adaptive protocols |
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 |
ATE413033T1 (de) * | 2004-12-22 | 2008-11-15 | Ericsson Telefon Ab L M | Datenflusssteuerung mit doppelter quittierung |
US7813324B1 (en) * | 2005-09-28 | 2010-10-12 | Rockwell Collins, Inc. | Scalable mobile adaptive reliable ToS based automatic retransmit request |
US7532621B2 (en) * | 2006-08-30 | 2009-05-12 | Cornell Research Foundation, Inc. | Lateral error correction for time-critical multicast |
PL2119110T3 (pl) | 2007-03-12 | 2019-04-30 | Nokia Technologies Oy | Ustanowienie niezawodnej multiemisji/rozgłaszania w sieci bezprzewodowej |
US8625570B2 (en) | 2008-12-31 | 2014-01-07 | Stmicroelectronics, Inc. | Robust unicast/broadcast/multicast communication protocol |
US8473802B2 (en) * | 2009-06-30 | 2013-06-25 | Samsung Electronics Co., Ltd. | Technique for advanced ARQ buffer management in wireless communication system |
US9325513B2 (en) * | 2009-10-06 | 2016-04-26 | Thomson Licensing | Method and apparatus for hop-by-hop reliable multicast in wireless networks |
KR20110068168A (ko) * | 2009-12-15 | 2011-06-22 | 한국전자통신연구원 | 무선 통신 시스템의 데이터 전송율 제어 방법 및 장치 |
US20140192691A1 (en) | 2013-01-07 | 2014-07-10 | Gainspan Corporation | Reliable delivery of data specified for transmission by multicasting in wireless networks |
KR20140116769A (ko) * | 2013-03-25 | 2014-10-06 | 삼성전자주식회사 | 순방향 오류 정정 방식을 이용한 데이터 통신 방법 및 장치 |
US9681418B2 (en) | 2013-09-27 | 2017-06-13 | Apple Inc. | Wireless multicast communication |
KR102327204B1 (ko) * | 2015-04-28 | 2021-11-16 | 삼성전자주식회사 | 데이터를 송수신하는 방법 및 단말기 |
-
2015
- 2015-04-28 KR KR1020150060047A patent/KR102327204B1/ko active IP Right Grant
-
2016
- 2016-04-28 US US15/140,999 patent/US10003470B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030031198A1 (en) * | 2001-06-22 | 2003-02-13 | Broadcom Corporation | System , method and computer program product for mitigating burst noise in a communications system |
US20120269112A1 (en) * | 2009-03-24 | 2012-10-25 | Clear Wireless Llc | Method and System for Improving Performance of Broadcast/Multicast Transmissions |
Also Published As
Publication number | Publication date |
---|---|
US20160323117A1 (en) | 2016-11-03 |
US10003470B2 (en) | 2018-06-19 |
KR20160128149A (ko) | 2016-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102026198B1 (ko) | 블라인드 검출을 이용하여 시스템에서 harq로 송수신하는 harq 프레임 데이터 구조 및 방법 | |
JP2019506077A5 (ko) | ||
EP3461044B1 (en) | Method and apparatus for data transmission | |
JP2015534360A5 (ko) | ||
JP6578137B2 (ja) | マルチキャストネットワークにおけるソースノード及びその動作方法 | |
US20170127445A1 (en) | Apparatus and method for controlling connection interval in wireless communication system supporting bluetooth scheme | |
TWI603639B (zh) | 資料傳輸方法、裝置及其系統 | |
US10931405B2 (en) | Relaying method and device and destination with feedback in an OMAMRC system | |
CN108923890B (zh) | 一种数据传输方法、用户设备、基站及系统 | |
KR102327204B1 (ko) | 데이터를 송수신하는 방법 및 단말기 | |
US9819448B2 (en) | Redundancy scheme | |
CN105594164B (zh) | 一种数据包的传输方法和传输设备 | |
EP3314973B1 (en) | Communication method in a terminal and terminal suitable for the same | |
KR20140127007A (ko) | 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치 | |
US20180323899A1 (en) | Http adaptive streaming server, method, and client terminal based on network environment monitoring | |
JP2015100109A (ja) | ノード及びその通信方法並びにコンピュータ読出可能記録媒体 | |
US9924383B2 (en) | Method and terminal for transmitting and receiving data according to a transmission speed of data | |
US10104571B1 (en) | System for distributing data using a designated device | |
KR20160018335A (ko) | 데이터를 송수신하는 방법 및 단말기 | |
KR102299260B1 (ko) | 데이터를 송수신하는 방법 및 장치 | |
CN111432441B (zh) | 音频数据发送方法及装置、计算机可读存储介质 | |
CN109417785A (zh) | 传输数据的方法、网络设备和终端设备 | |
US10177929B1 (en) | System for distributing data to multiple devices | |
CN114143300B (zh) | 交易请求发送方法及装置 | |
KR102276858B1 (ko) | 단말기들의 통신 방법 및 그 단말기 |
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 |