KR20140050454A - 서버, 클라이언트 디바이스 및 그 제어 방법 - Google Patents

서버, 클라이언트 디바이스 및 그 제어 방법 Download PDF

Info

Publication number
KR20140050454A
KR20140050454A KR1020120116896A KR20120116896A KR20140050454A KR 20140050454 A KR20140050454 A KR 20140050454A KR 1020120116896 A KR1020120116896 A KR 1020120116896A KR 20120116896 A KR20120116896 A KR 20120116896A KR 20140050454 A KR20140050454 A KR 20140050454A
Authority
KR
South Korea
Prior art keywords
packet
time data
real
server
data packet
Prior art date
Application number
KR1020120116896A
Other languages
English (en)
Inventor
김성기
성덕구
김요한
류가현
박춘배
임현우
정도영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120116896A priority Critical patent/KR20140050454A/ko
Priority to US13/948,230 priority patent/US20140112120A1/en
Priority to CN201310431751.4A priority patent/CN103780972A/zh
Publication of KR20140050454A publication Critical patent/KR20140050454A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1858Transmission or retransmission of more than one copy of acknowledgement message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

서버가 개시된다. 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버는, 클라이언트 디바이스와 통신을 수행하는 통신부 및, 클라이언트 디바이스로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청이 수신되면, 기 전송된 실시간 데이터 패킷을 중복하여 재전송하도록 제어하는 제어부를 포함한다.

Description

서버, 클라이언트 디바이스 및 그 제어 방법 { SERVER, CLIENT DEVICE AND CONTROL METHOD THEREOF }
본 발명은 서버, 클라이언트 디바이스 및 그 제어 방법에 관한 것으로, 보다 상세하게는, 실시간 데이터 패킷을 전송하는 서버, 클라이언트 디바이스 및 그 제어 방법에 관한 것이다.
일반적으로, 패킷망에서 UDP (User Datagram Protocol)과 같은 connectionless 프로토콜의 경우 망 상태에 따라 패킷 손실이 발생할 수 있다. 특히, 실시간 비디오 전송 응용에서 패킷 손실은 직접적인 화질 저하를 야기한다. 이러한 패킷 손실에 의한 화질 저하를 완화 시키기 위해 AL-FEC (Application Layer Forward Error Correction)나 패킷 재전송 (Packet Retransmission)과 같은 방법이 사용될 수 있다.
FEC를 사용하여 복구를 할 경우에 손실 패킷 복구율을 향상시키기 위해서 많은 수의 FEC 패킷을 전송해야 하기 때문에 네트워크의 부하 (load)를 증가시킬 수 있으며, 네트워크 부하로 패킷 손실이 발생하는 환경에서 FEC 방법은 추가적인 네트워크의 부하를 증가시키므로 적절하지 않을 수 있다.
또한, 패킷 재전송 (Retransmission) 방법의 경우 손실된 패킷만을 선택적으로 재전송하기 때문에 네트워크의 부하에 크게 영향을 미치지 않으면서 효과적으로 손실된 패킷의 복구가 가능하다. 하지만 재전송 요청 및 손실된 데이터 패킷을 재전송하는데 시간이 소요되기 때문에, AL-FEC 방식에 비해 손실된 패킷을 복구하는데 시간 지연(delay)이 발생할 수 있다.
한편, 영상통화나 영상회의와 같은 실시간 비디오 전송에 있어서 시간 지연은 체감 품질을 저해하는 요소로 작용하게 되어 패킷 재전송 기법을 사용하기에는 적절하지 않을 수 있지만, 로컬 망과 같이 네트워크에서 전송 시간이 적은 환경에서는 영상통화나 영상회의와 같은 경우에도 잘 관리된 시간 범위 (managed time-limit) 내에서 패킷 재전송 기법을 사용하여 효과적으로 손실 패킷을 복구할 수 있다.
하지만, 기존의 재전송 방법에서의 클라이언트는 하나의 재전송 요청 메세지를 보내고 재전송 패킷을 수신할 때까지 일정시간 (timeout time)을 기다린다. 이에 따라, 재전송 요청 패킷이 손실되거나 재전송 데이터 패킷이 손실되었을 경우 일정 시간이 지난 이후에 재전송이 실패한지 알 수 있게 된다. VOD (Video On Demand)와 같이 시스템이 허용하는 시간 지연 범위가 큰 응용에서는 다시 재전송을 요청하여 패킷 복구를 시도할 수 있으며, 때에 따라서는 손실 패킷 복구가 성공할 때까지 다수의 재전송을 요청할 수 있다. 하지만, 영상통화나 영상회의 같이 실시간성이 강조되는 응용에서는 한 번의 재전송 요청을 통한 복구에서 실패하게 된 경우, 다시 재전송을 요청하여 패킷을 복구하게 되면 복구에 걸리는 시간이 길어져 화면 멈춤 등의 현상이 나타나게 되어 사용자 체감 품질이나 반응성이 악화된다는 문제점이 있었다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은, 재전송 데이터 패킷을 중복하여 전송하는 서버, 클라이언트 디바이스 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따르면, 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버는, 클라이언트 디바이스와 통신을 수행하는 통신부 및, 상기 클라이언트 디바이스로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청이 수신되면, 상기 기 전송된 실시간 데이터 패킷을 중복하여 재전송하도록 제어하는 제어부를 포함한다.
여기서, 상기 재전송 요청은 중복된 재전송 요청 패킷 형태로 수신될 수 있다.
또한, 상기 통신부는, 기설정된 이벤트에 따라 상기 클라이언트 디바이스로부터 전송 패킷 손실율에 대한 정보를 수신하고, 상기 제어부는, 상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
이 경우, 상기 제어부는, 기 설정된 타겟 손실 패킷 복구율 및 상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
여기서, 상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷이 될 수 있다.
또한, 본 발명의 일 실시 예에 따른 서버로부터 실시간 데이터 패킷을 수신하는 클라이언트 디바이스는, 서버와 통신을 수행하는 통신부, 상기 서버로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단하는 판단부 및, 상기 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하도록 제어하는 제어부를 포함한다.
또한, 네트워크 상태를 측정하는 네트워크 상태 측정부를 더 포함하며, 상기 제어부는, 상기 측정된 네트워크 상태에 따라 전송 패킷 손실율을 산출하고, 상기 산출된 전송 패킷 손실율에 기초하여 상기 재전송 요청 패킷의 중복 전송 개수를 결정할 수 있다.
이 경우, 상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷이 될 수 있다.
또한, 본 발명의 일 실시 예에 따른 클라이언트 디바이스 및 상기 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버를 포함하는 통신 시스템은, 서버로부터 전송된 실시간 데이터 패킷의 손실 여부에 따라 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하는 클라이언트 디바이스 및, 상기 클라이언트 디바이스로부터 상기 재전송 요청 패킷이 수신되면, 요청된 상기 실시간 데이터 패킷을 중복하여 재전송하는 서버를 포함한다.
이 경우, 상기 클라이언트 디바이스 및 상기 서버 각각은, 전송 패킷 손실율에 기초하여 재전송 요청 패킷 및 상기 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
또한, 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버의 제어 방법은, 클라이언트 디바이스로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청을 수신하는 단계 및, 상기 기 전송된 실시간 데이터 패킷을 중복하여 재전송하는 단계를 포함한다.
여기서, 상기 재전송 요청은 중복된 재전송 요청 패킷 형태로 수신될 수 있다.
또한, 기설정된 이벤트에 따라 상기 클라이언트 디바이스로부터 전송 패킷 손실율에 대한 정보를 수신하는 단계 및, 상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 단계;를 더 포함할 수 있다.
이 경우, 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 단계는, 기 설정된 타겟 손실 패킷 복구율 및 상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
여기서, 상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷이 될 수 있다.
또한, 본 발명의 일 실시 예에 따른 서버로부터 실시간 데이터 패킷을 수신하는 클라이언트 디바이스의 제어 방법은, 서버로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단하는 단계 및, 상기 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하는 단계를 포함한다.
또한, 네트워크 상태를 측정하는 단계 및, 상기 측정된 네트워크 상태에 따라 전송 패킷 손실율을 산출하고, 상기 산출된 전송 패킷 손실율에 대한 정보에 기초하여 상기 재전송 요청 패킷의 중복 전송 개수를 결정하는 단계를 더 포함할 수 있다.
한편, 상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷이 될 수 있다.
또한, 본 발명의 일 실시 예에 따른 클라이언트 디바이스 및 상기 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버를 포함하는 통신 시스템의 제어 방법은, 클라이언트 디바이스가 서버로부터 전송된 실시간 데이터 패킷의 손실 여부에 따라 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하는 단계 및 상기 서버가 상기 클라이언트 디바이스로부터 상기 재전송 요청 패킷을 수신하면, 요청된 상기 실시간 데이터 패킷을 중복하여 재전송하는 단계를 포함한다.
또한, 상기 클라이언트 디바이스 및 상기 서버가 전송 패킷 손실율에 기초하여 재전송 요청 패킷 및 상기 실시간 데이터 패킷의 중복 전송 개수를 결정하는 단계;를 더 포함할 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, 시간 지연에 민감한 비디오와 같은 멀티미디어 전송에서 중복된 재전송 요청 및 재전송 데이터 패킷을 사용함으로써 손실된 패킷 복구율을 향상시킬 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 통신 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 다양한 실시 예에 따른 서버의 구성을 나타내는 블럭도이도이다.
도 3은 본 발명의 일 실시 예에 따른 클라이언트 디바이스의 구성을 나타내는 블럭도이다.
도 4는 저장부에 저장된 소프트웨어 구성을 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명의 다양한 실시 예에 따른 서버 및 클라이언트의 동작 관계를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 손실 패킷 복구율의 향상 효과를 설명하기 위한 도면이다.
도 8은 네트워크 패킷 손실률을 바탕으로 시스템에서 요구하는 재전송 성공률을 만족시키기 위한 재전송 요청 패킷 개수 n과 재전송 데이터 패킷의 수 m을 선택하는 실시 예를 보여 준다.
도 9는 본 발명의 일 실시 예에 따른 서버 및 클라이언트 디바이스의 제어 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시 예에 따른 클라이언트 디바이스의 동작을 구체적으로 설명하기 위한 흐름도이다.
도 11은 본 발명의 일 실시 예에 따른 서버의 동작을 구체적으로 설명하기 위한 흐름도이다.
이하에서, 첨부된 도면을 이용하여 본 발명에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 통신 시스템을 설명하기 위한 도면이다.
도 1(a)에 도시된 바와 같이, 통신 시스템은 서버(100) 및 클라이언트 디바이스(200)를 포함한다. 여기서, 클라이언트 디바이스(200)는 도 1(a)에 도시된 바와 같이, 휴대폰(특히, 스마트폰)일 수 있으나, 이는 일 실시 예에 불과할 뿐, TV, 데스크탑 PC, 노트북, 테블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.
서버(100) 및 클라이언트 디바이스(200)는, 장치의 구현 형태에 따라서, 근거리 통신망(LAN : Local Area Network) 및 인터넷망을 통해 접속되는 형태, 3G, 4G와 같은 이동 통신망을 통해 접속되는 형태, Blue Tooth, NFC(Near Field Communication, RFID(Radio Frequency Identification), Zigbee등과 같은 근거리 무선 통신방식을 통해 접속되는 형태로 연결될 수 있다.
서버(100)는 클라이언트 디바이스(200)로 실시간 데이터 패킷을 전송한다. 이 경우, 실시간 데이터 패킷의 전송에는 RTP(Realtime Transport Protocol)/RTCP(RTP Control Protocol) 프로토콜이 이용될 수 있으나, 실시간 통신을 지원하는 프로토콜을 지원하는 프로토콜이면 이에 한정되지 않고 적용 가능하다.
RTP/RTCP 프로토콜에 따르면, 오디오 또는 비디오 소스를 샘플링하여 디지털 형식으로 변환한 후, 샘플링된 데이터를 RTP 패킷으로 캡슐화하고, RTP 패킷은 UDP(User Datagram Protocol)와 같은 네트워크 전송 프로토콜로 캡슐화된다. 이어서, 네트워크 전송 프로토콜이 IP 패킷으로 캡슐화되고, 다시 연결 계층 프로토콜에 캡슐화되어 전송될 수 있다.
한편, 서버(100)에서 클라이언트 디바이스(200)로 전송되는 실시간 데이터 패킷은 타 클라이언트 디바이스(200)로부터 수신된 것이며, 예를 들어, 화상 통화 상대방 디바이스로부터 수신된 화상 통화 영상을 포함하는 실시간 영상 패킷이 될 수 있다. 이하에서는, 도 1(b)를 참조하여 본 발명에 따른 시스템의 구현 예에 대해 설명하도록 한다.
도 1(b)는 일 실시 예에 따른 통신 시스템의 일 구현 예를 설명하기 위한 도면이다.
도 1(b)에 도시된 바와 같이 통신 시스템은 인터렉션 서비스 예를 들어, 화상 통화 서비스를 제공하도록 구현될 수 있다. 여기서, 화상 통화 서비스는, 참여자들이 서로의 얼굴을 보면서 실시간으로 인터랙션 하는 서비스를 의미한다. 본 명세서에서, 화상 통화 서비스는, 둘이서 서로 상대방의 얼굴을 보면서 실시간으로 인터랙션하는 화상 통화 서비스 뿐만 아니라, 셋 이상의 참여자의 얼굴을 보면서 실시간으로 인터랙션하는 화상 회의 서비스를 포함한다.
인터랙션 서비스가 화상 통화 서비스인 경우, 클라이언트 디바이스들(200-1, 200-2)는 카메라 및/또는 마이크로폰를 구비한 스마트 폰, 태블릿 컴퓨터, 노트북 컴퓨터, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 디지털 TV 등과 같은 다양한 장치로 구현될 수 있다.
제1 클라이언트 디바이스(200-1)의 요청에 따라 화상 통화 서비스가 개시되면, 제1 및 제2 클라이언트 디바이스(200-1, 200-2)는 서버(100)를 통해 화상 통화 패킷을 각각 타 클라이언트 디바이스로 전송할 수 있다.
구체적으로, 제1 클라이언트 디바이스(200-1)는 실시간으로 생성되는 화상 통화 패킷을 서버(100)로 전송하고, 서버(100)는 수신된 화상 통화 패킷을 제2 클라이언트 디바이스(200-2)로 전송한다.
제2 클라이언트 디바이스(200-2)는 이 경우 생성된 순서를 나타내는 일련번호가 기록된 화상 통화 패킷을 수신하게 되는데, 일련번호에 따라 제1 클라이언트 디바이스(200-1)로부터 전송된 화상 통화 패킷의 손실 여부를 판단할 수 있다.
제1 클라이언트 디바이스(200-1)로부터 전송된 화상 통화 패킷이 손실되었다고 판단되면, 제2 클라이언트 디바이스(200-2)는 서버(100)로 손실된 화상 통화 패킷의 재전송을 요청하는 재전송 요청 패킷을 전송한다. 이 경우, 재전송 요청 패킷을 수신한 서버(100)는 제2 클라이언트 디바이스(200-2)로 재전송 요청된 화상 통화 패킷을 재전송할 수 있다.
한편 본 발명의 일 실시 예에 따르면, 제2 클라이언트 디바이스(200-2)에서 서버(100)로 전송되는 재전송 요청 패킷 및 서버(100)에서 제2 클라이언트 디바이스(200-2)로 전송되는 화상 통화 패킷 모두 중복되어 전송될 수 있는데 이하에서는, 제2 클라이언트 디바이스(200-2) 및 서버(100)의 구성을 중심으로 본 발명의 일 실시 예에 대해 보다 자세히 설명하도록 한다.
도 2는 본 발명의 다양한 실시 예에 따른 서버(100)의 구성을 나타내는 블럭도이도이다.
도 2(a)에 도시된 본 발명의 일 실시 예에 따른 서버(100)는 통신부(110), 저장부(120) 및 제어부(130)를 포함한다.
통신부(110)는 클라이언트 디바이스(200)와 통신을 수행하여 다양한 데이터 패킷을 송수신하는 기능을 한다.
통신부(110)는, 근거리 통신망(LAN : Local Area Network) 및 인터넷망을 통해 접속되는 형태, 3G, 4G와 같은 이동 통신망을 통해 접속되는 형태, Blue Tooth, NFC(Near Field Communication, RFID(Radio Frequency Identification), Zigbee 등과 같은 근거리 무선 통신방식을 통해 접속되는 형태로 연결될 수 있다.
구체적으로, 통신부(110)는 클라이언트 디바이스(200)로 실시간 데이터 패킷을 전송한다. 여기서, 실시간 데이터 패킷은 도 1에서 설명한 바와 같이 예를 들어, 타 클라이언트 디바이스로부터 수신된 화상 통화 패킷, 화상 회의 패킷이 될 수 있으나, 이에 한정되는 것은 아니다.
또한, 통신부(110)는 클라이언트 디바이스(200)로부터 실시간 데이터 패킷에 대한 재전송 요청을 수신할 수 있다. 재전송 요청 또한 패킷 형태로 수신될 수 있는데 이하에서는 이를 재전송 요청 패킷이라 명명하도록 한다. 여기서, 재전송 요청 패킷은 재전송 대상이 되는 데이터 패킷에 대한 식별 정보(예를 들어 패킷 일련번호)를 포함할 수 있다. 이를 이용하여 패킷 손실이나 패킷 순서 바뀜 (reordering)을 감지할 수 있게 된다.
저장부(120)는 타 클라이언트 디바이스(미도시)로부터 수신된 실시간 데이터 패킷을 저장하는 기능을 한다. 예를 들어, 저장부(120)는 타 클라이언트 디바이스(미도시)로부터 실시간 화상 통화 패킷이 수신되면, 경우에 따라 클라이언트 디바이스(200)로 재전송이 가능하도록 이를 기설정된 시간 동안 일정 분량을 임시 저장할 수 있다.
제어부(130)는 서버(100)의 전반적인 동작을 제어하는 기능을 한다.
구체적으로, 제어부(130)는 타 클라이언트 디바이스(미도시)로부터 실시간 데이터 패킷이 수신되면, 이를 클라이언트 디바이스(200)로 전송하도록 제어할 수 있다.
또한, 제어부(130)는 클라이언트 디바이스(200)로 전송한 실시간 데이터 패킷에 대해 재전송 요청 패킷이 수신되면, 해당 실시간 데이터 패킷을 저장부(120)로부터 독출하여 클라이언트 디바이스(200)로 재전송할 수 있다.
특히, 제어부(130)는 수신된 재전송 요청 패킷에 의해 요청된 패킷을 중복하여 클라이언트 디바이스(200)로 재전송할 수 있다. 즉, 제어부(130)는 클라이언트 디바이스(200)의 재전송 요청에 따라 동일한 실시간 데이터 패킷을 적어도 두 개 이상 재전송할 수 있다. 이 경우, 중복 개수는 기설정되어 있을 수도 있으나, 후술하는 실시 예와 같이 네트워크 상태에 따라 결정될 수도 있다. 이에 따라 재전송된 실시간 데이터 패킷이 클라이언트 디바이스(200)에 도착할 확률이 증가될 수 있게 된다.
한편, 클라이언트 디바이스(200)로부터 수신되는 재전송 요청 패킷 또한, 중복되어 수신될 수 있다. 이는 네트워크 상태에 따른 전송 패킷 손실율은 재전송 요청에 있어서도 동일하게 적용될 수 있음을 고려한 것이며 이에 대한 자세한 설명은 클라이언트 디바이스(200)에 대한 블럭도를 참고하여 후술하도록 한다.
한편, 본 발명의 다른 실시 예에 따르면, 통신부(110)는 기 설정된 이벤트에 따라 클라이언트 디바이스(200)로부터 전송 패킷 손실율에 대한 정보를 수신할 수 있다. 즉, 클라이언트 디바이스(200)는 서버(100)로부터 수신된 실시간 데이터 패킷에 포함된 일련번호에 기초하여 전송 패킷의 손실율을 산출하고, 산출된 전송 패킷 손실율에 대한 정보를 서버(100)로 전송할 수 있다. 여기서, 기설정된 이벤트는 주기적인 시간 간격이 될 수 있으나, 이에 한정되는 것인 아니다. 예를 들어, 클아이언트 디바이스(200)에서 산출된 전송 패킷 손실율의 변경되는 이벤트 등도 이에 포함될 수 있다.
이 경우, 제어부(130)는 수신된 전송 패킷 손실율에 대한 정보에 기초하여 재전송할 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
예를 들어, 제어부(130)는 수신된 전송 패킷 손실율이 높은 경우 실시간 데이터 패킷의 중복 전송 개수를 증가시키고, 수신된 전송 패킷 손실율이 낮은 경우, 실시간 데이터 패킷의 중복 전송 개수를 감소시킬 수 있다.
또한, 제어부(130)는 기 설정된 타겟 손실 패킷 복구율 및 전송 패킷 손실율에 대한 정보에 기초하여 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다. 여기서, 기설정된 타겟 손실 패킷 복구율이란 시스템에서 목표로 하는 패킷 복구율을 의미한다. 즉, 반드시 손실된 실시간 데이터 패킷을 모두 복구할 수 있을 정도로 중복 전송 개수를 결정하는 것이 아니라, 시스템에서 목표로 하는 패킷 복구율이 만족될 수 있을 정도로 중복 전송 개수를 결정할 수 있다. 이에 따라 중복 전송 개수의 증가에 의해 불필요하게 네트워크 부하율이 증가하게 되는 것을 방지하기 위함이다.
한편, 상술한 실시 예에서는 전송 패킷 손실율을 클라이언트 디바이스(200)로부터 수신하는 경우에 대해 설명하였지만, 경우에 따라서는 서버(100)가 네트워크 상태를 직접 측정하여 전송 패킷 손실율을 측정하는 것도 가능하다.
도 2(b)에 도시된 본 발명의 다른 실시 예에 따른 서버(100')는, 통신부(110), 저장부(120), 제어부(130) 및 네트워크 상태 측정부(140)를 포함한다. 도 2(b)에 도시된 구성 요소들 중 도 2(a)에 도시된 구성 요소들과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
네트워크 상태 측정부(140)는 서버(100') 및 클라이언트 디바이스(200) 간의 통신 네트워크 상태를 측정하는 기능을 한다.
구체적으로, 네트워크 상태 측정부(140)는 클라이언트 디바이스(200)로부터 수신된 재전송 요청 패킷의 수신 횟수 등에 기초하여 통신 네트워크 상태를 측정할 있다. 예를 들어, 네트워크 상태 측정부(140)는 클라이언트 디바이스(200)로 5 번의 실시간 데이터 패킷을 전송하는 동안 한 번의 재전송 요청 패킷이 수신되면, 전송 패킷 손실율이 20%인 것으로 측정할 수 있다.
이 경우, 제어부(130)는 측정된 전송 패킷 손실율에 대한 정보에 기초하여 재전송할 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
구체적으로, 제어부(130)는 기설정된 타겟 손실 패킷 복구율 및 측정된 전송 패킷 손실율에 기초하여 재전송할 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
또한, 제어부(130)는 네트워크 상태 측정부(140)에서 측정된 네트워크 상태에 따라 패킷 전송에 대한 시간 지연율을 산출하고, 산출된 시간 지연율에 기초하여 기 전송된 실시간 데이터 패킷에 대한 재전송 여부를 결정할 수 있다. 예를 들어, 시간 지연율이 높아 패킷 재전송을 통해 손실된 패킷을 복구하기에 실시간 성이 심각히 떨어진다고 판단되는 경우 재전송을 하지 않고 해당 패킷을 손실 처리할 수 있다.
한편, 상술한 실시 예에서는 한 개의 데이터 패킷이 손실되고, 이를 재요청하는 경우에 대해서만 설명하였지만, 데이터 패킷이 버스트하게 손실되는 경우 즉, 데이터 패킷이 연속적으로 손실되는 경우에도 본 발명에 따른 실시 예가 적용될 수 있음은 물론이다.
도 3은 본 발명의 일 실시 예에 따른 클라이언트 디바이스의 구성을 나타내는 블럭도이다.
도 3(a)는 본 발명의 일 실시 예에 따른 클라이언트 디바이스의 구성을 나타내는 블럭도이다.
도 3(a)에 따르면, 클라이언트 디바이스(200)는 통신부(210), 출력부(220) 및 제어부(230)를 포함한다.
통신부(210)는 서버(100)와 통신하여 다양한 데이터 패킷을 송수신하는 기능을 한다. 이 경우 통신부(210)는 상술한 바와 같이 다양한 통신 방식을 통해 서버(100)와 통신을 수행할 수 있다.
구체적으로, 통신부(210)는 서버(100)로부터 실시간 데이터 패킷을 수신하고, 경우에 따라 서버(100)로 실시간 데이터 패킷을 송신한다. 여기서, 실시간 데이터 패킷은 도 1에서 설명한 바와 같이 예를 들어, 타 클라이언트 디바이스로부터 수신된 화상 통화 패킷, 화상 회의 패킷이 될 수 있으나, 이에 한정되는 것은 아니다.
또한, 통신부(210)는 제어부(230)의 제어에 따라 서버(100)로 재전송 요청 패킷을 전송할 수 있다.
판단부(220)는 서버(100)로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단할 수 있다.
구체적으로, 판단부(220)는 수신된 실시간 데이터 패킷의 일련번호에 기초하여 이전에 전송된 패킷이 손실되었는지 여부를 판단할 수 있다. 예를 들어, 이전에 수신된 패킷의 일련번호가 n이고 현재 수신된 패킷의 일련번호가 n+2인 경우, 판단부(220)는 일련번호 n+1을 갖는 패킷이 손실된 것으로 판단할 수 있다.
제어부(230)는 클라이언트 디바이스(200)의 전반적인 기능을 제어한다.
특히, 제어부(230)는 판단부(220)에 의해 서버(100)로부터 전송된 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 서버(100)로 전송할 수 있다.
이 경우, 제어부(230)는 재전송 요청 패킷을 중복하여 전송할 수 있다. 이 경우, 재전송 요청 패킷의 중복 개수는 디폴트로 기설정되어 있을 수도 있으나, 후술하는 바와 같이 네트워크 상태에 따라 결정될 수도 있다.
이에 따라 중복 전송된 재전송 요청 패킷 중 하나가 전송 도중 손실되더라도, 나머지 재전송 요청 패킷이 서버(100)에 도달하게 되면 재전송 요청이 서버(100)에 전달될 가능성이 높아지게 된다.
도 3(b)는 본 발명의 다른 실시 예에 따른 클라이언트 디바이스의 구성을 나타내는 블럭도이다.
도 3(b)에 따르면, 클라이언트 디바이스(200')는 통신부(210), 판단부(220), 제어부(240) 및 네트워크 상태 측정부(240)를 포함한다. 도 3(b)에 도시된 구성 중 도 3(a)에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.
네트워크 상태 측정부(240)는 서버(100) 및 클라이언트 디바이스(200) 간의 통신 네트워크 상태를 측정하는 기능을 한다.
구체적으로, 네트워크 상태 측정부(240)는 서버(100)로부터 수신된 실시간 데이터 패킷의 손실 여부에 기초하여 통신 네트워크 상태를 측정할 있다. 예를 들어, 네트워크 상태 측정부(240)는 서버(100)로 4번의 실시간 데이터 패킷이 수신되고 한 번 실시간 데이터 패킷이 손실되면, 전송 패킷 손실율이 20%인 것으로 측정할 수 있다.
이 경우, 제어부(230)는 측정된 전송 패킷 손실율에 대한 정보에 기초하여 재전송 요청 패킷의 중복 전송 개수를 결정할 수 있다.
도 3(c)는 도 3(b)에 도시된 클라이언트 디바이스의 일 구현 예를 설명하기 위한 도면이다. 도 3(c)에 도시된 구성 요소 중 도 3(a) 및 도 3(b)에 도시된 구성요소들과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다. 다만, 도 3(c)는 클라이언트 디바이스(200')에 포함된 세부 구성의 일 예를 든 것으로, 실시 예에 따라서는, 도 3(c)에 도시된 구성 요소 중 일부는 생략 또는 변경될 수도 있고, 다른 구성요소가 더 추가될 수도 있다. 예를 들어, GPS(Grobal Positioning System) 위성으로부터 GPS 신호를 수신하여, 사용자 단말 장치(100)의 현재 위치를 산출하기 위한 GPS 수신부(미도시), DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 수신부(미도시) 등을 더 포함할 수 있다.
통신부(210)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행하는 구성이다. 통신부(210)는 와이파이칩(211), 블루투스 칩(212), 무선 통신 칩(213), USB 칩(214) 등 다양한 통신 칩을 포함한다.
와이파이 칩(211) 및 블루투스 칩(212)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 무선 통신 칩(213)은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. USB 칩(214)은 USB 케이블을 통해서 각종 외부 장치와 통신을 수행하거나, 충전 등을 수행할 수 있다. 그 밖에 통신부(110)는 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 NFC 칩을 더 포함할 수 있다.
상술한 제어부(230)의 동작은 저장부(250)에 저장된 프로그램에 의해 이루어질 수 있다. 저장부(250)에는 클라이언트 디바이스(200')를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 각종 어플리케이션, 어플리케이션 실행 중에 입력되거나 설정되는 각종 데이터, 컨텐츠 등과 같이 다양한 데이터가 저장될 수 있다.
그 밖에, 저장부(250)에 저장되는 다양한 소프트웨어 모듈에 대해서는 도 4을 참고하여 후술하도록 한다.
사용자 인터페이스부(260)는 다양한 사용자 명령을 입력받는다. 예를 들어, 사용자 인터페이스부(260)는 서버(100)와 통신을 수행하기 위한 사용자 명령 등을 입력받을 수 있다.
오디오 처리부(270)는 서버(100)로부터 수신되는 오디오 데이터 패킷에 대한 처리를 수행할 수 있다. 예를 들어, 오디오 처리부(270)는 서버(100)로부터 수신되는 오디오 데이터 패킷에 대한 디패킷타이징 처리를 수행할 수 있다. 또한, 오디오 처리부(270)에서는 다양한 오디오 신호에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 처리를 수행할 수 있다.
비디오 처리부(280)는 서버(100)로부터 수신되는 비디오 데이터 패킷에 대한 처리를 수행할 수 있다. 예를 들어, 비디오 처리부(280)는 서버(100)로부터 수신되는 비디오 데이터 패킷에 대한 디패킷타이징, 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
출력부(290)는 오디오 처리부(270) 및/또는 비디오 처리부(280)에서 처리된 오디오 데이터 및/또는 비디오 데이터를 출력하는 기능을 한다. 이에 따라 출력부(290)는 디스플레이부(미도시) 및 스피커(미도시) 등을 포함할 수 있다.
한편, 제어부(230)는 저장부(250)에 저장된 각종 프로그램을 이용하여 사용자 단말 장치(100)의 동작을 전반적으로 제어한다.
가령, 제어부(230)는 저장부(250)에 저장된 화상 통화 어플리케이션을 실행시켜 화상 통화 실행 화면을 구성하여 디스플레이할 수도 있으며, 저장부(250)에 저장된 각종 컨텐츠를 재생하여 줄 수도 있다.
구체적으로, 제어부(230)는 RAM(231), ROM(232), 메인 CPU(233), 그래픽 처리부(234), 제1 내지 n 인터페이스(235-1 ~ 235-n), 버스(236)를 포함한다.
RAM(231), ROM(232), 메인 CPU(233), 그래픽 처리부(234), 제1 내지 n 인터페이스(235-1 ~ 235-n) 등은 버스(236)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(235-1 내지 235-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 서버(100)와 연결되는 네트워크 인터페이스가 될 수도 있다.
메인 CPU(233)는 저장부(250)에 액세스하여, 저장부(250)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(250)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
ROM(232)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(233)는 ROM(232)에 저장된 명령어에 따라 저장부(250)에 저장된 O/S를 RAM(231)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(233)는 저장부(250)에 저장된 각종 어플리케이션 프로그램을 RAM(131)에 복사하고, RAM(231)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(234)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다.
도 4는 저장부(250)에 저장된 소프트웨어 구성을 설명하기 위한 도면이다.
도 4에 따르면, 저장부(250)에는 베이스 모듈(251), 센싱 모듈(252), 통신 모듈(253), 프리젠테이션 모듈(254), 웹 브라우저 모듈(255), 서비스 모듈(256)을 포함하는 소프트웨어가 저장될 수 있다.
베이스 모듈(251)이란 클라이언트 디바이스(200)에 포함된 각 하드웨어들로부터 전달되는 신호를 처리하여 상위 레이어 모듈로 전달하는 기초 모듈을 의미한다. 베이스 모듈(251)은 스토리지 모듈(251-1), 보안 모듈(251-2) 및 네트워크 모듈(251-3) 등을 포함한다. 스토리지 모듈(251-1)이란 데이터베이스(DB)나 레지스트리를 관리하는 프로그램 모듈이다. 메인 CPU(233)는 스토리지 모듈(251-1)을 이용하여 저장부(250) 내의 데이터베이스에 액세스하여, 각종 데이터를 독출할 수 있다. 보안 모듈(251-2)이란 하드웨어에 대한 인증(Certification), 요청 허용(Permission), 보안 저장(Secure Storage) 등을 지원하는 프로그램 모듈이고, 네트워크 모듈(251-3)이란 네트워크 연결을 지원하기 위한 모듈로 DNET 모듈, UPnP 모듈 등을 포함한다.
센싱 모듈(252)은 각종 센서들로부터 정보를 수집하고, 수집된 정보를 분석 및 관리하는 모듈이다. 센싱 모듈(252)은 얼굴 인식 모듈, 음성 인식 모듈, 모션 인식 모듈, NFC 인식 모듈 등을 포함할 수도 있다.
통신 모듈(253)은 외부와 통신을 수행하기 위한 모듈이다. 통신 모듈(253)은 화상 통화 프로그램, 메신저 프로그램, SMS(Short Message Service) & MMS(Multimedia Message Service) 프로그램, 이메일 프로그램 등과 같은 메시징 모듈(253-1), 전화 정보 수집기(Call Info Aggregator) 프로그램 모듈, VoIP 모듈 등을 포함하는 전화 모듈(253-2)을 포함할 수 있다.
프리젠테이션 모듈(254)은 디스플레이 화면을 구성하기 위한 모듈이다. 프리젠테이션 모듈(254)은 멀티미디어 컨텐츠를 재생하여 출력하기 위한 멀티미디어 모듈(254-1), UI 및 그래픽 처리를 수행하는 UI 렌더링 모듈(254-2)을 포함한다. 멀티미디어 모듈(254-1)은 플레이어 모듈, 캠코더 모듈, 사운드 처리 모듈 등을 포함할 수 있다. 이에 따라, 각종 멀티미디어 컨텐츠를 재생하여 화면 및 음향을 생성하여 재생하는 동작을 수행한다. UI 렌더링 모듈(254-2)은 이미지를 조합하는 이미지 합성기(Image Compositor module), 이미지를 디스플레이할 화면상의 좌표를 조합하여 생성하는 좌표 조합 모듈, 하드웨어로부터 각종 이벤트를 수신하는 X11 모듈, 2D 또는 3D 형태의 UI를 구성하기 위한 툴(tool)을 제공하는 2D/3D UI 툴킷 등을 포함할 수 있다.
웹 브라우저 모듈(255)은 웹 브라우징을 수행하여 웹 서버에 액세스하는 모듈을 의미한다. 웹 브라우저 모듈(255)은 웹 페이지를 구성하는 웹 뷰(web view) 모듈, 다운로드를 수행하는 다운로드 에이전트 모듈, 북마크 모듈, 웹킷(Webkit) 모듈 등과 같은 다양한 모듈을 포함할 수 있다.
서비스 모듈(256)은 다양한 서비스를 제공하기 위한 각종 어플리케이션을 포함하는 모듈이다. 구체적으로는, 서비스 모듈(256)은 네비게이션 프로그램, 컨텐츠 재생 프로그램, 게임 프로그램, 전자 책 프로그램, 달력 프로그램, 알람 관리 프로그램, 기타 위젯 등과 같은 다양한 프로그램 모듈을 포함할 수 있다.
도 4에서는 다양한 프로그램 모듈들을 도시하였으나, 도시된 각종 프로그램 모듈들은 클라이언트 디바이스의 종류 및 특성에 따라 일부 생략되거나 변형 또는 추가될 수 있음은 물론이다. 가령, GPS 칩과 같은 하드웨어와 연동하여 위치 기반 서비스를 지원하는 위치 기반 모듈을 더 포함하는 형태로 구현될 수 있다.
도 5 및 도 6은 본 발명의 다양한 실시 예에 따른 서버(100) 및 클라이언트의 동작 관계를 설명하기 위한 도면이다.
일반적으로, 네트워크의 패킷 손실률이 증가함에 따라 손실된 패킷 수가 증가하고, 이에 따라 손실된 패킷을 복구하기 위한 재전송 요청 패킷과 재전송 데이터 패킷 수도 증가한다. 패킷 재전송 방법을 사용하는 실시간성이 강조되는 응용에서는 시스템에서 허용하는 지연 시간이 작기 때문에 단 한 번의 재전송 만을 요청하게 된다. 이 경우 재전송이 실패할 경우는 재전송 요청 패킷이 손실된 경우나, 재전송 데이터 패킷이 손실된 경우이다. 따라서 재전송에 의한 복구율을 높이기 위해서 재전송 요청 패킷이 손실될 확률과 재전송 데이터 패킷이 손실될 확률을 낮추어야 한다.
도 5(a)는 본 발명의 일 실시 예에 따라 재전송 요청 패킷의 손실 확률을 낮추는 방법을 설명하기 위한 도면이다.
도 5(a)에 도시된 바와 같이 재전송 요청 패킷의 손실 확률을 낮추기 위해 동일한 재전송 요청 패킷을 적어도 두 개 이상 동시에 중복해서 보낼 경우 이 중 하나의 패킷이 손실이 발생하더라도 서버에 재전송 요청 패킷이 도착하여 재전송이 성공적으로 수행될 수 있다.
도 5(b)는 본 발명의 일 실시 예에 따라 재전송 데이터 패킷의 손실 확률을 낮추는 방법을 설명하기 위한 도면이다.
도 5(b)에 도시된 바와 같이 동일한 재전송 데이터 패킷을 적어도 두 개 이상 중복해서보냄으로써 하나의 패킷이 손실이 발생하더라도 나머지 패킷이 클라이언트 디바이스에 성공적으로 도착할 가능성이 높아진다.
즉, 도 5(a) 및 도 5(b)에 도시된 바와 같이 재전송 요청 패킷이나 재전송 데이터 패킷을 중복해서 전송함으로 재전송 성공률을 높일 수 있게 된다.
도 6은 본 발명의 다른 실시 예에 따라 재전송 요청 패킷 및 재전송 데이터 패킷의 손실 확률을 동시에 낮추는 방법을 설명하기 위한 도면이다.
본 발명의 다른 실시 예에 따르면, 데이터 패킷의 재전송 실패 확률을 감소시키기 위해 도 6에 도시한 바와 같이 n개의 중복된 재전송 요청 패킷과 m개의 재전송 데이터 패킷을 이용할 수 있다. 이 경우 손실 패킷 복구율은 다음과 같다.
먼저, 네트워크에서 패킷 손실률, 즉 패킷이 손실될 확률이 p라고 하면 클라이언트로부터 서버로 재전송 요청 패킷이 한 개 이상 도착할 확률은 아래 수식과 같다.
Figure pat00001
또한, 서버로부터 클라이언트로 재전송 데이터 패킷이 한 개 이상 도착할 확률은 아래 수식과 같다.
Figure pat00002
이에 따라 수학식 1 및 수학식 2에 기초하여 패킷 재전송이 성공할 확률 즉, 손실 패킷 복구율은 아래 수식과 같다.
Figure pat00003
이 경우, 네트워크 시간 지연은 재전송이 가능할 정도라고 가정하였으며, 패킷 손실은 랜덤하게 발생하는 경우를 가정하였다.
도 7은 본 발명의 일 실시 예에 따른 손실 패킷 복구율의 향상 효과를 설명하기 위한 도면이다.
도 7(a)는 본 발명의 이해를 돕기 위한 패킷 손실율과 손실 패킷 복구율과의 관계를 나타내는 그래프이다.
도 7(a)에 도시된 바와 같이 네트워크 패킷 손실율이 증가할수록 패킷 재전송이 성공할 확률(=손실 패킷 복구율)은 감소함을 알 수 있다.
도 7(b) 및 도 7(c)는 본 발명의 다양한 실시 예에 따른 중복된 재전송 요청 패킷과 재전송 데이터 패킷 개수에 대한 패킷 손실률과 손실 패킷 복구율 간의 관계를 설명하기 위한 도면이다.
도 7(b) 및 도 7(c)에 도시된 바와 같이 네트워크 패킷 손실률이 5 %일 경우 n=1, m=1인 경우(재전송 요청 패킷 개수 1개, 재전송 데이터 패킷 개수 1개) 약 90.25 %의 손실 패킷 복구율을 가진다. 이는 손실된 패킷의 9.75 %는 복구하지 못한다는 의미이다. 하지만, n=2, m=2인 경우, 약 99.5 %의 손실 패킷을 복구할 수 있으며, n=3, m=3인 경우, 약 99.98 %의 손실 패킷 복구율을 가짐을 알 수 있다. 즉, 네트워크 패킷 손실률이 증가할수록 재전송이 성공할 확률 또는 손실된 패킷의 복구율은 재전송 요청 패킷의 수 n이나 재전송 데이터 패킷의 수 m이 증가함에 따라서 크게 향상됨을 볼 수 있다.
한편, 중복된 재전송 요청 패킷이나 재전송 데이터 패킷을 사용하는 것은 재전송 방식에 의해 손실된 패킷의 복구율을 향상시킬 수 있지만, 네트워크 부하를 증가시키게 된다. 또한 중복 재전송 데이터 패킷 개수를 증가시킬수록 복구율은 증가하지만, 네트워크 부하는 더욱 증가시키게 된다. 예를 들면, 네트워크 패킷 손실률이 5 %인 경우, 재전송 데이터 패킷 개수가 1인 경우는 약 5 % (= 1 x 5 %)의 네트워크 부하를 증가시키는 반면, 재전송 데이터 패킷 개수가 3인 경우는 약 15 % (= 3 x 5 %)의 추가적인 네트워크 부하를 증가시키게 된다. 중복 재전송을 사용할 경우 손실 패킷 복구율은 수학식 3에서 보여 주는 것처럼 패킷 손실 복구율을 유지하기 위해서는 네트워크 패킷 손실율 p가 증가함에 따라 중복 재전송 계수 n과 m이 증가해야 한다. 이는 네트워크 패킷 손실율이 낮을 때 적은 수의 재전송 데이터 패킷을 사용하더라도 원하는 복구율을 유지할 수 있기 때문에 재전송 패킷에 의한 네트워크 부하를 줄일 수 있다.
이에 따라 주기적으로 네트워크의 패킷 손실율을 측정하고, 이를 이용하여 재전송을 위한 패킷을 중복해서 전송할 개수를 조정하여 네트워크의 부하를 줄이는 방법을 사용할 수 있다. 즉, 네트워크 패킷 손실율이 작은 경우는 작은 수의 재전송 요청 패킷 개수 n 과 재전송 데이터 패킷 개수 m을 사용하고, 네트워크 패킷 손실률이 큰 경우에는 좀더 큰 수의 n과 m을 사용할 수 있다.
도 8은 네트워크 패킷 손실률을 바탕으로 시스템에서 요구하는 재전송 성공률을 만족시키기 위한 재전송 요청 패킷 개수 n과 재전송 데이터 패킷의 수 m을 선택하는 실시 예를 보여 준다.
네트워크 패킷 손실률이 작은 경우 n과 m이 모두 1을 사용하다가 시스템에서 요구하는 손실 복구율을 만족시키지 못할 정도로 네트워크 손실률이 증가할 경우 n=2, m=1을 사용할 수 있다. 또한, 패킷 손실률이 더욱 증가할 경우 도면에서 보여 주는 바와 같이 더 큰 n과 m을 사용하여 시스템 요구 손실 복구율을 만족시킬 수 있다. 한편, n과 m은 네트워크 부하에 따라 제한하거나 조정할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 서버 및 클라이언트 디바이스의 제어 방법을 설명하기 위한 흐름도이다.
도 9(a)에 도시된 서버의 제어 방법에 따르면, 우선, 서버(100)는, 클라이언트 디바이스(200)로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청을 수신한다(S911). 여기서, 재전송 요청은 중복된 재전송 요청 패킷 형태로 수신될 수 있으며, 재전송 요청 대상 패킷에 대한 식별 정보(예를 들어, 패킷 일련번호)를 포함할 수 있다.
재전송 요청이 수신되면, 재전송 요청에 대응되는 기 전송된 실시간 데이터 패킷을 중복하여 클라이언트 디바이스(200)로 재전송한다(S912).
또한, 서버(100)는, 기설정된 이벤트에 따라 클라이언트 디바이스(200)로부터 전송 패킷 손실율에 대한 정보를 수신할 수 있다. 여기서, 기설정된 이벤트는 기설정된 시간 간격이 될 수 있으나, 이에 한정되는 것은 아니다. 이 경우, 서버(100)는 수신된 전송 패킷 손실율에 대한 정보에 기초하여 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다. 구체적으로, 시스템에서 목표로 하는 타겟 손실 패킷 복구율 및 전송 패킷 손실율에 대한 정보에 기초하여 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다. 다만 경우에 따라서는 서버에서 전송 패킷 손실율을 측정하는 것도 가능하다.
한편, 서버(100)에서 클라이언트 디바이스(200)로 전송되는 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷이 될 수 있다.
도 9(b)에 도시된 클라이언트 디바이스의 제어 방법에 따르면, 클라이언트 디바이스는 서버로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단한다(S921).
이어서, S921 단계에서 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 서버로 중복하여 전송한다(S922).
또한, 클라이언트 디바이스(200)는 네트워크 상태를 측정하고, 측정된 네트워크 상태에 따라 전송 패킷 손실율을 산출할 수 있다. 이어서, 클라이언트 디바이스200)는 산출된 전송 패킷 손실율에 대한 정보에 기초하여 재전송 요청 패킷의 중복 전송 개수를 결정할 수 있다. 또한, 클라이언트 디바이스(200)는 산출된 전송 패킷 손실율에 대한 정보를 서버(100)로 전송할 수 있다. 이에 따라 서버(100)에서는 해당 정보를 이용하여 재전송할 데이터 패킷의 중복 개수를 결정할 수 있다.
한편, 클라이언트 디바이스(200)가 서버(100)로부터 수신하는 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷이 될 수 있다.
또한, 도면에는 도시되지 않았지만, 본 발명의 일 실시 예에 따른 클라이언트 디바이스 및 상기 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버를 포함하는 통신 시스템에 따르면, 클라이언트 디바이스가 서버로부터 전송된 실시간 데이터 패킷의 손실 여부에 따라 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 서버로 중복하여 전송한다. 서버는, 클라이언트 디바이스로부터 재전송 요청 패킷을 수신하면, 요청된 재전송 요청 패킷에 대응되는 실시간 데이터 패킷을 클라이언트 디바이스로 중복하여 재전송할 수 있다. 이 경우, 클라이언트 디바이스 및 서버 각각은, 클라이언트 디바이스 또는 서버에서 측정된 전송 패킷 손실율에 기초하여 재전송 요청 패킷 및 실시간 데이터 패킷의 중복 전송 개수를 결정할 수 있다.
도 10은 본 발명의 일 실시 예에 따른 클라이언트 디바이스의 동작을 구체적으로 설명하기 위한 흐름도이다. 여기서, 클라이언트 디바이스(200')는 도 3(b)에 도시된 클라이언트 디바이스(200')가 될 수 있다.
도 10에 도시된 클라이언트 디바이스(200')의 동작에 따르면, 클라이언트 디바이스(200')가 서버(100)로부터 미디어 데이터 패킷을 수신하면(S1010), 패킷 손실이 있는지 여부를 판단한다(S1020). 구체적으로, 수신된 미디어 패킷의 일련번호를 이용하여 패킷 손실 여부를 검사할 수 있다.
S1020 단계에서 패킷 손실이 있다고 판단되면(S1030:N), 다음 미디어 패킷이 수신되는 것을 대기한다.
하지만, S1020 단계에서 패킷 손실이 있다고 판단되면(S1030:Y), 현재의 패킷 손실율과 패킷 복구율을 판단한다(S1030). 이어서, 판단된 현재의 패킷 손실율과 패킷 복구율을 기초로 요청 메시지의 중복 개수 n을 결정한다(S1050). 중복 요청 메시지 개수 n이 결정되면, 서버로 요청 메시지를 전송하기 시작한다(S1060).
또한, 클라이언트 디바이스(200')는 전송된 요청 메시지 개수를 카운팅하여 전송된 요청 메시지 개수가 결정된 요청 메시지의 중복 개수 n 보다 작은 경우(S1070:Y), 계속하여 서버로 요청 메시지를 전송한다(S1060).
또한, 클라이언트 디바이스(200')는 전송된 요청 메시지 개수를 카운팅하여 전송된 요청 메시지 개수가 결정된 요청 메시지의 중복 개수 n 보다 같게 되는 경우(S1070:Y), 요청 메시지 전송을 멈추고, 미디어 패킷이 수신될 때까지 대기할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 서버의 동작을 구체적으로 설명하기 위한 흐름도이다.
도 11에 도시된 서버(100)의 동작에 따르면, 서버(100)가 클라이언트 디바이스(200')로부터 미디어 패킷에 대한 재전송 요청 메시지를 수신하면(S1110), 수신된 요청 메시지가 중복된 것인지 여부를 판단한다(S1220).
S1120 단계에서 요청 메시지가 이미 수신한 요청 메시지인 것으로 판단되면(S1030:Y), 수신된 패킷을 처리한다(S1140).
S1120 단계에서 요청 메시지가 이미 수신한 요청 메시지가 아닌 것으로 판단되면(S1030:N), 현재의 패킷 손실율과 패킷 복구율을 획득하여(S1130), 획득된 현재의 패킷 손실율과 패킷 복구율을 기초로 데이터 패킷의 중복 개수 m을 결정한다(S1150).
이어서, 요청된 미디어 패킷을 클라이언트 디바이스(200')로 전송하기 시작한다(S1160).
서버(100)는 전송된 미디어 패킷 개수를 카운팅하여 전송된 미디어 패킷 개수가 결정된 데이터 패킷의 중복 개수 m 보다 작은 경우(S1170:Y), 계속하여 클라이언트 디바이스(200')로 미디어 패킷을 전송한다(S1160).
또한, 서버(100)는 전송된 미디어 패킷 개수를 카운팅하여 전송된 미디어 패킷 개수가 결정된 데이터 패킷의 중복 개수 m과 같게 되는 경우(S1170:N), 미디어 패킷의 전송을 멈추고 또 다른 재전송 요청 메시지가 수신될 때까지 대기할 수 있다(S1180).
이상 설명한 바와 같이 본 발명에 따르면, 시간 지연에 민감한 비디오와 같은 멀티미디어 전송에서 중복된 재전송 요청 및 재전송 데이터 패킷을 사용함으로써 손실된 패킷 복구율을 향상시킬 수 있게 된다. 이에 따라 timeout 시간까지 기다릴 필요가 없어짐에 따라 지연시간이 감소될 수 있다. 또한 네트워크 패킷 손실율을 감지할 수 있는 시스템에서는 적절한 수의 중복할 패킷을 사용함으로써 네트워크 부하를 줄일 수 있다.
한편, 상술한 다양한 실시 예에 따른 제어 방법은 프로그램으로 구현되어 서버 또는 클라이언트 디바이스에 제공될 수 있다.
일 예로, 클라이언트 디바이스로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청을 수신하는 단계 및, 기 전송된 실시간 데이터 패킷을 중복하여 재전송하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 서버에 제공될 수 있다.
다른 예로, 서버로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단하는 단계 및 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 서버로 중복하여 전송하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체가 클라이언트 디바이스에 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 서버 110: 통신부
120: 저장부 130: 제어부
200: 클라이언트 디바이스 210: 통신부
220: 판단부 230: 제어부
240: 네트워크 상태 측정부

Claims (20)

  1. 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버에 있어서,
    클라이언트 디바이스와 통신을 수행하는 통신부; 및
    상기 클라이언트 디바이스로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청이 수신되면, 상기 기 전송된 실시간 데이터 패킷을 중복하여 재전송하도록 제어하는 제어부;를 포함하는 서버.
  2. 제1항에 있어서,
    상기 재전송 요청은 중복된 재전송 요청 패킷 형태로 수신되는 것을 특징으로 하는 서버.
  3. 제1항에 있어서,
    상기 통신부는,
    기설정된 이벤트에 따라 상기 클라이언트 디바이스로부터 전송 패킷 손실율에 대한 정보를 수신하고,
    상기 제어부는,
    상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 것을 특징으로 하는 서버.
  4. 제3항에 있어서,
    상기 제어부는,
    기 설정된 타겟 손실 패킷 복구율 및 상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 것을 특징으로 하는 서버.
  5. 제1항에 있어서,
    상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷인 것을 특징으로 하는 서버.
  6. 서버로부터 실시간 데이터 패킷을 수신하는 클라이언트 디바이스에 있어서,
    서버와 통신을 수행하는 통신부;
    상기 서버로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단하는 판단부; 및
    상기 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하도록 제어하는 제어부;를 포함하는 클라이언트 디바이스.
  7. 제6항에 있어서,
    네트워크 상태를 측정하는 네트워크 상태 측정부;를 더 포함하며,
    상기 제어부는,
    상기 측정된 네트워크 상태에 따라 전송 패킷 손실율을 산출하고, 상기 산출된 전송 패킷 손실율에 기초하여 상기 재전송 요청 패킷의 중복 전송 개수를 결정하는 것을 특징으로 하는 클라이언트 디바이스.
  8. 제6항에 있어서,
    상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷인 것을 특징으로 하는 클라이언트 디바이스.
  9. 클라이언트 디바이스 및 상기 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버를 포함하는 통신 시스템에 있어서,
    서버로부터 전송된 실시간 데이터 패킷의 손실 여부에 따라 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하는 클라이언트 디바이스; 및
    상기 클라이언트 디바이스로부터 상기 재전송 요청 패킷이 수신되면, 요청된 상기 실시간 데이터 패킷을 중복하여 재전송하는 서버;를 포함하는 통신 시스템.
  10. 제9항에 있어서,
    상기 클라이언트 디바이스 및 상기 서버 각각은,
    전송 패킷 손실율에 기초하여 재전송 요청 패킷 및 상기 실시간 데이터 패킷의 중복 전송 개수를 결정하는 것을 특징으로 하는 통신 시스템.
  11. 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버의 제어 방법에 있어서,
    클라이언트 디바이스로부터 기 전송된 실시간 데이터 패킷에 대한 재전송 요청을 수신하는 단계; 및
    상기 기 전송된 실시간 데이터 패킷을 중복하여 재전송하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 재전송 요청은 중복된 재전송 요청 패킷 형태로 수신되는 것을 특징으로 하는 제어 방법.
  13. 제11항에 있어서,
    기설정된 이벤트에 따라 상기 클라이언트 디바이스로부터 전송 패킷 손실율에 대한 정보를 수신하는 단계; 및
    상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.
  14. 제13항에 있어서,
    상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 단계는,
    기 설정된 타겟 손실 패킷 복구율 및 상기 전송 패킷 손실율에 대한 정보에 기초하여 상기 기 전송된 실시간 데이터 패킷의 중복 전송 개수를 결정하는 것을 특징으로 하는 제어 방법.
  15. 제11항에 있어서,
    상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷인 것을 특징으로 하는 제어 방법.
  16. 서버로부터 실시간 데이터 패킷을 수신하는 클라이언트 디바이스의 제어 방법에 있어서,
    서버로부터 전송된 실시간 데이터 패킷의 손실 여부를 판단하는 단계; 및
    상기 실시간 데이터 패킷이 손실되었다고 판단되면, 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하는 단계;를 포함하는 제어 방법.
  17. 제16항에 있어서,
    네트워크 상태를 측정하는 단계; 및
    상기 측정된 네트워크 상태에 따라 전송 패킷 손실율을 산출하고, 상기 산출된 전송 패킷 손실율에 기초하여 상기 재전송 요청 패킷의 중복 전송 개수를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.
  18. 제16항에 있어서,
    상기 실시간 데이터 패킷은 화상 통화 영상을 포함하는 패킷인 것을 특징으로 하는 제어 방법.
  19. 클라이언트 디바이스 및 상기 클라이언트 디바이스로 실시간 데이터 패킷을 전송하는 서버를 포함하는 통신 시스템의 제어 방법에 있어서,
    클라이언트 디바이스가 서버로부터 전송된 실시간 데이터 패킷의 손실 여부에 따라 손실된 실시간 데이터 패킷에 대한 재전송 요청 패킷을 상기 서버로 중복하여 전송하는 단계; 및
    상기 서버가 상기 클라이언트 디바이스로부터 상기 재전송 요청 패킷을 수신하면, 요청된 상기 실시간 데이터 패킷을 중복하여 재전송하는 단계;를 포함하는 제어 방법.
  20. 제19항에 있어서,
    상기 클라이언트 디바이스 및 상기 서버가 전송 패킷 손실율에 기초하여 재전송 요청 패킷 및 상기 실시간 데이터 패킷의 중복 전송 개수를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.
KR1020120116896A 2012-10-19 2012-10-19 서버, 클라이언트 디바이스 및 그 제어 방법 KR20140050454A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120116896A KR20140050454A (ko) 2012-10-19 2012-10-19 서버, 클라이언트 디바이스 및 그 제어 방법
US13/948,230 US20140112120A1 (en) 2012-10-19 2013-07-23 Server, client device, and control methods thereof
CN201310431751.4A CN103780972A (zh) 2012-10-19 2013-09-22 服务器、客户端装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120116896A KR20140050454A (ko) 2012-10-19 2012-10-19 서버, 클라이언트 디바이스 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20140050454A true KR20140050454A (ko) 2014-04-29

Family

ID=50485205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120116896A KR20140050454A (ko) 2012-10-19 2012-10-19 서버, 클라이언트 디바이스 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20140112120A1 (ko)
KR (1) KR20140050454A (ko)
CN (1) CN103780972A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726064A (zh) * 2019-01-08 2019-05-07 腾讯音乐娱乐科技(深圳)有限公司 模拟客户端异常运行的方法、装置、系统及存储介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9578077B2 (en) * 2013-10-25 2017-02-21 Hive Streaming Ab Aggressive prefetching
JP2016058909A (ja) * 2014-09-10 2016-04-21 沖電気工業株式会社 通信システム、通信装置、通信方法及び通信プログラム
WO2017004766A1 (zh) * 2015-07-04 2017-01-12 马岩 视频会议的超时重发方法及系统
US20170187635A1 (en) * 2015-12-28 2017-06-29 Qualcomm Incorporated System and method of jitter buffer management
CN109688258B (zh) * 2017-10-18 2021-05-11 腾讯科技(深圳)有限公司 一种多媒体信息的传输方法、装置、终端及可读存储介质
CN108259815B (zh) * 2018-03-20 2020-09-01 广州视源电子科技股份有限公司 视频关键帧转发方法、装置和视频直播系统
US10848367B2 (en) * 2018-08-30 2020-11-24 Nokia Solutions And Networks Oy Splicing concurrent connections into a high availability session
US10841040B2 (en) * 2018-08-30 2020-11-17 Nokia Solutions And Networks Oy Acknowledgment and packet retransmission for spliced streams
CN110971942B (zh) 2018-09-28 2021-08-17 杭州海康威视数字技术股份有限公司 数据传输方法和装置
CN109526068A (zh) * 2018-12-11 2019-03-26 深圳市联智物联网科技有限公司 一种实现快速唤醒的全双工基站及无线通信系统
CN110535567B (zh) * 2019-09-20 2022-06-10 浙江科睿微电子技术有限公司 一种wlan系统聚合重传的方法及系统
NO346434B1 (en) * 2021-11-18 2022-08-08 Pexip AS Method, system and computer program product for initiating downspeeding in a videoconferencing session
EP4184885B1 (en) * 2021-11-18 2024-03-13 Pexip AS Method, system and computer program product for determining congestion of a communication link transmitting a media stream over the communication link
CN118101138A (zh) * 2022-11-25 2024-05-28 中科寒武纪科技股份有限公司 一种用于在应用层控制数据重传的方法和相关产品

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768527A (en) * 1996-04-23 1998-06-16 Motorola, Inc. Device, system and method of real-time multimedia streaming
US7769865B1 (en) * 2001-10-16 2010-08-03 Sprint Communications Company L.P. Configuring computer network communications in response to detected firewalls
KR100431003B1 (ko) * 2001-10-31 2004-05-12 삼성전자주식회사 데이터 송수신 시스템 및 방법
JP4116470B2 (ja) * 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
JP4000905B2 (ja) * 2002-05-22 2007-10-31 ソニー株式会社 情報処理システムおよび方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4699187B2 (ja) * 2005-11-29 2011-06-08 シャープ株式会社 受信装置、通信システム、および受信装置の制御プログラム
US20070189474A1 (en) * 2006-01-27 2007-08-16 Lucent Technologies Inc. Initiating ecommerce sessions using multimedia ringback tones
US20080100694A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Distributed caching for multimedia conference calls
US8374171B2 (en) * 2008-03-06 2013-02-12 Pantech Co., Ltd. Method for reducing the risk of call connection failure and system to perform the method
WO2009109069A1 (en) * 2008-03-07 2009-09-11 Arcsoft (Shanghai) Technology Company, Ltd. Implementing a high quality voip device
KR20100082106A (ko) * 2009-01-08 2010-07-16 삼성전자주식회사 와이 파이 멀티미디어 기반의 데이터 전송 방법 및 장치
US8948252B2 (en) * 2010-03-30 2015-02-03 Sony Corporation Moving picture transmission apparatus, moving picture transmission system, moving picture transmission method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726064A (zh) * 2019-01-08 2019-05-07 腾讯音乐娱乐科技(深圳)有限公司 模拟客户端异常运行的方法、装置、系统及存储介质
CN109726064B (zh) * 2019-01-08 2022-07-15 腾讯音乐娱乐科技(深圳)有限公司 模拟客户端异常运行的方法、装置、系统及存储介质

Also Published As

Publication number Publication date
CN103780972A (zh) 2014-05-07
US20140112120A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
KR20140050454A (ko) 서버, 클라이언트 디바이스 및 그 제어 방법
US11985204B2 (en) Systems and methods for transferring application state between devices based on gestural input
KR101982243B1 (ko) 사용자 단말 장치, 전자 장치 및 그 제어 방법
US9986579B2 (en) Split miracast transmission over multiple frequency bands
CN113676741B (zh) 数据传输方法、装置、存储介质及电子设备
CN101971663B (zh) 用于使用蓝牙模块来处理非蓝牙信号的方法
US10778742B2 (en) System and method for sharing multimedia content with synched playback controls
CN108401480B (zh) Harq反馈方法及装置、设备、计算机可读存储介质
US9509947B2 (en) Method and apparatus for transmitting file during video call in electronic device
EP4117212A1 (en) Data blind retransmission method and apparatus, storage medium, and terminal device
KR20170072254A (ko) 무선 신호 품질의 표시
CN114039703B (zh) 数据传输方法、装置、设备和介质
EP4287591A1 (en) Data transmission method and apparatus, and server, storage medium and program product
EP3709663A1 (en) Video transmission method, apparatus, and system, and computer readable storage medium
WO2020037624A1 (zh) 传输重传码本的方法及装置
US20160021674A1 (en) Electronic device and method for processing packet in internet protocol-based network
CN109729438B (zh) 一种发送视频包、接收视频包的方法及装置
CN114039702B (zh) 数据传输方法、装置、设备和介质
CN115665707A (zh) 显示设备及数据传输方法
CN113242318B (zh) 数据传输方法和电子设备
CN114710568A (zh) 音视频数据通信方法、设备及存储介质
CN113300971A (zh) 数据处理系统及方法
US20150074484A1 (en) Communication control apparatus, communication control method, and computer-readable non-transitory recording medium
JP2012060470A (ja) 共存通信システム、通信ネットワーク間の共存処理方法
US12003329B2 (en) Method for transmitting hybrid automatic repeat request feedback, and communication device

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid