KR20140092630A - 사용자장치, 통신서버 및 그 제어방법 - Google Patents

사용자장치, 통신서버 및 그 제어방법 Download PDF

Info

Publication number
KR20140092630A
KR20140092630A KR1020130004919A KR20130004919A KR20140092630A KR 20140092630 A KR20140092630 A KR 20140092630A KR 1020130004919 A KR1020130004919 A KR 1020130004919A KR 20130004919 A KR20130004919 A KR 20130004919A KR 20140092630 A KR20140092630 A KR 20140092630A
Authority
KR
South Korea
Prior art keywords
user
virtual
communication server
virtual network
user device
Prior art date
Application number
KR1020130004919A
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 KR1020130004919A priority Critical patent/KR20140092630A/ko
Priority to US14/093,265 priority patent/US20140201262A1/en
Priority to PCT/KR2014/000015 priority patent/WO2014112735A1/en
Publication of KR20140092630A publication Critical patent/KR20140092630A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 사용자장치, 통신서버 및 그 제어방법에 관한 것으로서, 사용자장치의 제어방법은, 가상네트워크의 서비스를 제공하는 통신서버에 상기 사용자장치의 등록을 수행하는 단계와; 상기 통신서버로부터 상기 가상네트워크에 포함된 상대방장치의 가상IP를 수신하는 단계와; 어플리케이션이 상기 가상IP를 이용하여 상기 상대방장치와의 데이터 전송을 시도하는지 여부를 확인하는 단계와; 상기 시도가 있는 경우, 상기 통신서버로부터 제공된 정보에 기초하여 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함한다.
이에 의하여, 사용자장치가 속한 서브넷의 제한 없이, 기존 어플리케이션으로도, 가상네트워크를 이용하여 사용자장치들 간 실시간으로 원격 통신을 가능하게 할 수 있다.

Description

사용자장치, 통신서버 및 그 제어방법{USER'S DEVICE, COMMUNICATION SERVER AND CONTROL METHOD THEREOF}
본 발명은 사용자장치, 통신서버 및 그 제어방법에 관한 것으로서, 네트워크를 통하여 제공되는 서비스를 이용하여 데이터를 주고 받는 사용자장치, 통신서버 및 그 제어방법에 관한 것이다.
종래의 많은 어플리케이션과, 서비스는, 예컨대, 동일한 Wi-Fi라우터 혹은 동일한 LAN서브넷을 이용한 경우와 같이, 동일한 네트워킹 서브넷(networking subnet)에 연결된 사용자장치들을 동기화시키도록 마련된다. 구체적인 예로서, PC와, 모바일장치 간의 동기화를 위한 어플리케이션의 경우, 상대방장치로 연결하고자 하는 어느 한쪽은 다른 한쪽의 실제(explicit) IP주소를 설정하여야만 한다.
한편, 예컨대, 안드로이드 마켓과 같은 어플리케이션 마켓 상의 많은 그룹 기반의 실시간 (group-based real-time) 어플리케이션은 동일한 서브넷에서는 서버없는 설정으로(on a server-less setup) 사용자장치들 간의 통신을 가능하게 한다.
그러나, 그러한 어플리케이션의 경우라도, 서로 다른 서브넷에 속한 사용자장치들 간 실시간으로 원격 통신을 하기 위해서는, 예컨대, 디바이스 매니지먼트, 디렉토리 서비스, 그룹 매니지먼트 등과 같은 네트워크 서버 컴포넌트가 필요하다.
따라서 본 발명의 목적은, 사용자장치들이 속한 서브넷에 무관하게 실시간으로 원격 통신을 가능하게 하는 사용자장치, 통신서버 및 그 제어방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은, 기존 어플리케이션의 변경 없이 사용자장치들 간 실시간으로 원격 통신을 가능하게 하는 사용자장치, 통신서버 및 그 제어방법을 제공하는 것이다.
본 발명의 상기 목적은, 사용자장치의 제어방법에 있어서, 가상네트워크의 서비스를 제공하는 통신서버에 상기 사용자장치의 등록을 수행하는 단계와; 상기 통신서버로부터 상기 가상네트워크에 포함된 상대방장치의 가상IP를 수신하는 단계와; 어플리케이션이 상기 가상IP를 이용하여 상기 상대방장치와의 데이터 전송을 시도하는지 여부를 확인하는 단계와; 상기 시도가 있는 경우, 상기 통신서버로부터 제공된 정보에 기초하여 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함하는 사용자장치의 제어방법에 의해서 달성될 수 있다.
사용자장치의 제어방법은, 상기 통신서버에 상기 사용자장치의 상태정보를 전송하는 단계를 더 포함할 수 있다.
사용자장치의 제어방법은, 상기 통신서버로부터 상기 상대방장치의 상태정보를 수신하는 단계를 더 포함할 수 있다.
사용자장치의 제어방법은, 상기 통신서버에 상기 가상네트워크의 생성을 요청하는 단계를 더 포함할 수 있다.
사용자장치의 제어방법은, 상기 통신서버로부터 기 생성된 상기 가상네트워크의 리스트를 수신하는 단계와; 상기 수신된 리스트에 포함된 어느 하나의 상기 가상네트워크로의 참여를 요청하는 단계를 더 포함할 수 있다.
상기 데이터 전송을 수행하는 단계는, P2P 방식으로 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함할 수 있다.
상기 데이터 전송을 수행하는 단계는, 릴레이 방식으로 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함할 수 있다.
본 발명의 상기 목적은, 사용자장치에 있어서, 가상네트워크의 서비스를 제공하는 통신서버와 통신하는 통신부와; 사용자의 지시를 입력하는 사용자입력부와; 상기 사용자의 지시에 따라 가상네트워크의 서비스를 제공하는 통신서버에 상기 사용자장치의 등록을 수행하고, 상기 통신서버로부터 상기 가상네트워크에 포함된 상대방장치의 가상IP를 수신하며, 어플리케이션이 상기 가상IP를 이용하여 상기 상대방장치와의 데이터 전송을 시도하는지 여부를 확인하여, 상기 시도가 있는 경우, 상기 통신서버로부터 제공된 정보에 기초하여 상기 상대방장치와의 데이터 전송을 수행하도록 제어를 수행하는 제어부를 포함하는 사용자장치에 의해서도 달성될 수 있다.
상기 제어부는 상기 통신서버에 상기 사용자장치의 상태정보를 전송하도록 제어할 수 있다.
상기 제어부는 상기 통신서버로부터 상기 상대방장치의 상태정보를 수신하도록 제어할 수 있다.
상기 제어부는 상기 통신서버에 상기 가상네트워크의 생성을 요청할 수 있다.
상기 제어부는, 상기 통신서버로부터 기 생성된 상기 가상네트워크의 리스트를 수신하고, 상기 수신된 리스트에 포함된 어느 하나의 상기 가상네트워크로의 참여를 요청할 수 있다.
상기 제어부는, P2P 방식으로 상기 상대방장치와의 데이터 전송을 수행하도록 제어할 수 있다.
상기 제어부는, 릴레이 방식으로 상기 상대방장치와의 데이터 전송을 수행하도록 제어할 수 있다.
본 발명의 상기 목적은, 통신서버의 제어방법에 있어서, 가상네트워크의 서비스에 관한 복수의 사용자장치의 등록을 수행하는 단계와; 상기 등록된 복수의 사용자장치 중에서 상기 가상네트워크에 참여하고자 하는 2이상의 사용자장치의 가상IP를 상기 사용자장치에 전송하는 단계와; 상기 2이상의 사용자장치 간의 데이터 전송을 위한 정보를 제공하는 단계를 포함하는 통신서버의 제어방법에 의해서도 달성될 수 있다.
통신서버의 제어방법은, 상기 참여하고자 하는 사용자장치의 요청에 따라 상기 가상네트워크를 생성하는 단계를 더 포함할 수 있다.
통신서버의 제어방법은, 기 생성된 상기 가상네트워크의 리스트를 상기 참여하고자 하는 사용자장치에 제공하는 단계를 더 포함할 수 있다.
통신서버의 제어방법은, 상기 등록된 복수의 사용자장치 중에서 어느 하나의 사용자장치로부터 상태정보를 수신하는 단계와; 상기 수신된 상태정보를 상기 등록된 복수의 사용자장치 중에서 다른 하나의 사용자장치에 제공하는 단계를 더 포함할 수 있다.
본 발명의 상기 목적은, 통신서버에 있어서, 복수의 사용자장치와 통신하는 통신부와; 가상네트워크의 서비스에 관한 복수의 사용자장치의 등록을 수행하고, 상기 등록된 복수의 사용자장치 중에서 상기 가상네트워크에 참여하고자 하는 2이상의 사용자장치의 가상IP를 상기 사용자장치에 전송하며, 상기 2이상의 사용자장치 간의 데이터 전송을 위한 정보를 제공하는 제어부를 포함하는 통신서버에 의해서도 달성될 수 있다.
상기 제어부는, 상기 참여하고자 하는 사용자장치의 요청에 따라 상기 가상네트워크를 생성하도록 제어할 수 있다.
상기 제어부는, 기 생성된 상기 가상네트워크의 리스트를 상기 참여하고자 하는 사용자장치에 제공하도록 제어할 수 있다.
상기 제어부는, 상기 등록된 복수의 사용자장치 중에서 어느 하나의 사용자장치로부터 상태정보를 수신하고, 상기 수신된 상태정보를 상기 등록된 복수의 사용자장치 중에서 다른 하나의 사용자장치에 제공하도록 제어할 수 있다.
상기한 바와 같이, 본 발명에 의하면, 사용자장치가 속한 서브넷의 제한 없이, 기존 어플리케이션으로도, 가상네트워크를 이용하여 사용자장치들 간 실시간으로 원격 통신을 가능하게 할 수 있다.
도 1은 본 발명의 일실시예에 의한 통신서버와, 사용자장치를 도시하며,
도 2는 본 발명의 일실시예에 의한 통신서버의 구성을 도시하며,
도 3은 본 발명의 일실시예에 의한 통신서버의 동작을 도시하는 흐름도이며,
도 4는 본 발명의 일실시예에 의한 통신서버의 제어부의 소프트웨어 아키텍처를 도시하며,
도 5는 본 발명의 일실시예에 의한 사용자장치의 구성을 도시하며,
도 6은 본 발명의 일실시예에 의한 사용자장치의 동작을 도시하는 흐름도이며,
도 7은 본 발명의 일실시예에 의한 사용자장치의 제어부의 소프트웨어 아키텍처를 도시하며,
도 8은 본 발명의 일실시예에 의한 통신서버와, 사용자장치 간 상호 동작을 설명하며,
도 9는 본 발명의 일실시예에 의한 사용자장치의 구체적인 동작을 설명하며,
도 10은 본 발명의 일실시예에 의한 VDN어플리케이션의 동작과, 어플리케이션 및 가상 어댑터 간의 상호 동작을 도시한다.
이하, 본 발명의 일실시예에 관하여 상세히 설명한다. 도 1은 본 발명의 일실시예에 의한 통신서버와, 사용자장치를 도시한다. 본 발명의 일실시예에 의한 통신서버(1)는 네트워크를 통해 사용자장치(2)와 연결된다. 통신서버(1)와, 사용자장치(2) 간 연결되는 네트워크는 유선 또는 무선 네트워크를 포함하며, 예컨대, LAN, 3G, Wi-Fi 등을 포함한다. 통신서버(1)는 복수의 사용자장치(2) 간의 데이터 전송에 관한 서비스를 제공한다. 통신서버(1)는 복수의 사용자장치(2) 간 가상네트워크(Virtual device network; 2n)가 이루어지도록 함으로써 상기 서비스를 제공할 수 있다.
가상네트워크(2n)를 위한 서비스에는, 사용자장치(2)의 인증에 관한 서비스를 제공하는 인증서버(3), 복수의 사용자장치(2) 상호간 데이터 전송을 위하여 시그널링 인터페이스(signaling interface)를 제공하는 시그널링서버(4), 사용자장치(2) 간 데이터 전송을 중계해 주는 릴레이서버(5), 가상네트워크(2n)에 관한 정보를 저장하는 로컬세션DB(6) 등이 더 이용될 수 있다. 인증서버(3), 시그널링서버(4), 릴레이서버(5), 로컬세션DB(6) 등 중에서 적어도 하나는 통신서버(1) 내에 마련될 수 있다.
통신서버(1)는 하나 혹은 복수 개로 구현될 수 있다. 또한, 통신서버(1)는 복수의 서로 다른 영역(1a)에 하나 이상의 통신서버(1)가 마련될 수도 있다. 이 경우, 복수의 영역(1a) 간 글로벌세션DB가 이용될 수 있다. 가상네트워크(2n)를 위한 서비스에는, 복수의 네트워크 간 트래픽을 조정하는 로드 밸런서(load balancer; 8)가 더 이용될 수 있다.
복수의 사용자장치(2)는 통신서버(1)로부터 제공되는 서비스를 이용하여 상호 간의 데이터 전송을 수행할 수 있다. 복수의 사용자장치(2) 간의 데이터 전송은 실시간으로 이루어질 수 있다. 가상네트워크(2n)는 복수의 사용자장치(2) 중에서 데이터 전송을 원하는 2이상의 사용자장치(2)가 그 사용자의 의사에 의해 자발적으로 참여함으로써 이루어질 수 있다. 가상네트워크(2n) 상에서 데이터 전송을 수행하는 2이상의 사용자장치(2)는 동일한 서브넷에 속하는 것일 수도 있고, 서로 다른 서브넷에 속하는 것일 수도 있다.
가상네트워크(2n)에 참여하는 사용자장치(2)는 통신서버(1)에 의해 고유한 가상IP 주소(이하, 간략히 '가상IP'라 함)를 할당 받는다. 사용자장치(2)는 할당 받은 가상IP를 이용하여, 가상네트워크(2n) 상의 다른 사용자장치(2; 이하, '상대방장치'라고도 함)와의 데이터 전송을 수행한다.
도 2는 본 발명의 일실시예에 의한 통신서버(1)의 구성을 도시한다. 통신서버(1)는 통신부(11)와, 저장부(12)와, 제어부(13)를 포함할 수 있다. 통신부(11)는 네트워크 인터페이스로서 네트워크에 연결되어 제어부(13)의 제어에 따라 통신을 수행한다. 저장부(12)는 하드디스크, 플래시메모리 등의 비휘발성의 메모리로서, 서비스 제공에 필요한 데이터와, 정보를 저장한다. 제어부(13)는 가상네트워크(2n)의 서비스에 관한 전반적인 제어를 수행한다. 도 3은 통신서버(1)의 동작을 도시하는 흐름도이다. 먼저 단계 S31에서, 제어부(13)는 가상네트워크(2n)의 서비스에 관하여 복수의 사용자장치(2)의 등록을 수행한다. 다음으로, 단계 S32에서, 제어부(13)는 등록된 복수의 사용자장치(2) 중에서 가상네트워크(2n)에 참여하고자 하는 2이상의 사용자장치(2)의 가상IP를 사용자장치(2)에 전송하도록 제어한다. 다음으로, 단계 S33에서, 제어부(13)는 2이상의 사용자장치(2) 간의 데이터 전송을 위한 정보를 사용자장치(2)에 제공한다. 제어부(13)는 가상네트워크(2n)의 서비스를 위하여, 예컨대, XMPP (Extensible Messaging and Presence Protocol)를 이용하여 인스턴트 메시징, 프레즌스, 멀티플 채팅, 보이스/비디오 콜, 협업(collaboration), XML데이터의 라우팅 등의 기능을 제공할 수 있다.
통신서버(1)의 제어부(13)는 마이크로프로세서와 같은 하드웨어와, 마이크로프로세서에 의해 실행되는 소프트웨어(제어프로그램)에 의해 구현될 수 있다. 제어부(13)는 제어프로그램을 일시적으로 저장할 수 있는 RAM과 같은 비휘발성의 메모리를 포함할 수 있다. 도 4는 본 발명의 일실시예에 의한 통신서버(1)의 제어부(13)의 소프트웨어 아키텍처를 도시한다.
도 4에 도시된 바와 같이, 제어부(13)의 제어프로그램은 메신저 매니저(131), 시큐리티 매니저(132), 그룹 매니저(133), 로스터(roster) 매니저(134), 프레즌스(presence) 매니저(135), 세션 매니저(136), 가상IP 매니저(139), 커넥션 매니저(137) 및 데이터 매니저(138)를 포함할 수 있다. 메신저 매니저(131)는 XMPP 스탠자(stanza)를 핸들링한다. 메신저 매니저(131)는, 메시지를 핸들링하는 메시지 핸들러(1311), IQ를 핸들링하는 IQ 핸들러(1312), 프레즌스를 핸들링하는 프레즌스 핸들러(1313) 및 푸쉬 게이트웨이(1314)를 포함할 수 있다. 시큐리티 매니저(132)는 인증(authentication)을 수행하는 인증컴포넌트(1321)와, 채널 인크립션을 위하여 통신서버(1)와, 클라이언트인 사용자장치(2) 간의 SSL/TLS메카니즘을 지원하는 SSL/TLS컴포넌트(1322)를 포함할 수 있다. 그룹 매니저(133)는 가상네트워크(2n)의 생성, 삭제, 참여 등의 그룹 커뮤니티를 관리한다. 로스터 매니저(134)는 가상네트워크(2n)에 참여하는 복수의 사용자장치(2)의 로스터정보(예컨대, 버디리스트 등)를 관리한다. 프레즌스 매니저(135)는 각 사용자장치(2)의 현재의 통신 가능 여부를 나타내는 프레즌스정보, 즉 상태정보를 관리한다. 세션 매니저(136)는 세션정보를 관리하며, 세션매니지먼트 컴포넌트(1361)와, 라우팅매니지먼트 컴포넌트(1362)를 포함할 수 있다. 가상IP 매니저(139)는 가상네트워크(2n)의 서비스를 위한 가상IP를 관리한다. 커넥션 매니저(137)는 통신서버(1)와, 사용자장치(2) 간의 커넥션을 관리하며, 소켓 핸들러(1371), 리시버(1372), 리스너(1373) 및 채널 핸들러를 포함할 수 있다. 데이터 매니저(138)는 세션(1381), 로스터(1382), 가상IP(1383) 및 라우팅(1384)에 관한 데이터를 관리한다.
도 5는 본 발명의 일실시예에 의한 사용자장치(2)의 구성을 도시한다. 사용자장치(2)는 통신부(21)와, 사용자입력부(22)와, 제어부(25)를 포함할 수 있다. 통신부(21)는 네트워크 인터페이스로서 네트워크에 연결되어 제어부(25)의 제어에 따라 통신을 수행한다. 사용자입력부(22)는 사용자의 지시를 입력 받는다. 제어부(25)는 가상네트워크(2n)를 이용한 상대방장치(2)와의 데이터 전송을 위한 전반적인 제어를 수행한다.
도 6은 사용자장치(2)의 동작을 도시하는 흐름도이다. 먼저, 단계 S61에서, 제어부(25)는 사용자의 지시에 따라 통신서버(1)에 사용자장치(2)의 등록을 수행한다. 다음으로, 단계 S62에서, 제어부(25)는 통신서버(1)로부터 가상네트워크(2n)에 포함된 상대방장치(2)의 가상IP를 수신하도록 제어한다. 다음으로, 단계 S63에서, 제어부(25)는 어플리케이션이 가상IP를 이용하여 상대방장치(2)와의 데이터 전송을 시도하는지 여부를 확인한다. 만일, 시도가 있는 경우, 단계 S64에서, 제어부(25)는 통신서버(1)로부터 제공된 정보에 기초하여 상대방장치(2)와의 데이터 전송을 수행하도록 제어를 수행한다.
도 5를 다시 참조하면, 사용자장치(2)는 하드디스크, 플래시메모리 등의 비휘발성의 메모리로서, 상대방장치(2)와의 데이터 전송에 필요한 데이터와, 정보를 저장하는 저장부(24)와, 전송되는 데이터에 기초한 처리 결과를 출력하는 출력부(23)를 더 포함할 수 있다. 출력부(23)는 처리 결과로서 비디오를 디스플레이하는 디스플레이부, 오디오를 출력하는 스피커 중 적어도 하나를 포함할 수 있다.
사용자장치(2)의 제어부(25)는 마이크로프로세서와 같은 하드웨어와, 마이크로프로세서에 의해 실행되는 소프트웨어(제어프로그램, API, 어플리케이션 등)에 의해 구현될 수 있다. 제어부(25)는 제어프로그램 등을 일시적으로 저장할 수 있는 RAM과 같은 비휘발성의 메모리를 포함할 수 있다. 도 7은 본 발명의 일실시예에 의한 사용자장치(2)의 제어부(25)의 소프트웨어 아키텍처를 도시한다.
도 7에 도시된 바와 같이, 사용자장치(2)의 제어부(25)는 어플리케이션(251), API(252), 시큐리티 매니저(253), 세션 매니저(254), 커뮤니케이션 매니저(255), 커넥션 매니저(256) 및 커넥션 핸들러(257)를 포함할 수 있다. 어플리케이션(251)은 사용자가 이용할 수 있는 모든 프로그램을 포함하는 것으로서, 예컨대, 게임 어플리케이션, 파일 전송 어플리케이션, 원격 제어 어플리케이션 등을 들 수 있다. API(252)는 어플리케이션(251)이 시큐리티 매니저(253) 등에 소정 처리를 요청하기 위하여 호출할 수 있는 서브루틴이나, 함수를 제공한다. 시큐리티 매니저(253)는 인증을 수행하는 인증컴포넌트(2531)와, 채널 인크립션을 위하여 통신서버(1)와, 사용자장치(2) 간의 SSL/TLS메카니즘을 지원하는 SSL/TLS컴포넌트(2532)를 포함할 수 있다. 세션 매니저(254)는 통신서버(1)와, 사용자장치(2) 간 혹은 복수의 사용자장치(2) 상호간 세션 기능을 지원한다. 커뮤니케이션 매니저(255)는 메시징(2551), 프레즌스(2552), 로스터(2553) 및 멀티플 커뮤티케이션(2554)과 같은 기능을 제공한다. 커넥션 매니저(256)는, 통신서버(1)와, 사용자장치(2) 간 혹은 복수의 사용자장치(2) 상호간 커넥션 핸들링을 지원한다. 커넥션 매니저(256)는, 복수의 사용자장치(2) 상호간 커넥션을 설정(set-up)하는 P2P 네고시에이터(2561), 릴레이 서버(5)를 통한 데이터 전송을 가능하도록 하는 릴레이 핸들러(2562), UDP 홀 펀칭(Hole Punching) 등을 이용한 NAT 트래버설(Network Address Translators Traversal)을 가능하게 하는 NAT 트래버설 컴포넌트(2563) 및 가상IP를 이용하여 가상네트워크(2n)를 핸들링하고 구축(construct)하는 가상네트워크 핸들러(2564)를 포함할 수 있다. 커넥션 핸들러(257)는 사용자장치(2)와, 통신서버(1) 간의 커넥션을 관리한다. 커넥션 핸들러(257)는 소켓 핸들러(2571), 가상 어댑터(2572), 가상IP 인터페이스(2573), 리시버(2574) 및 리스너(2575)를 포함할 수 있다. 가상 어댑터(2572)는 사용자장치(2) 간 가상네트워크(2n)를 구현하기 위한 컴포넌트이다. 가상IP 인터페이스(2573)는 물리적 인터페이스로 어드레스를 바인딩하지 않고 시스템으로 하나 이상의 어드레스를 할당하기 위하여 사용된다. 본 발명의 일실시예에 의한 VDN(Virtual Device Network) 클라이언트(258)는 AIP(252)와, 시큐리티 매니저(253), 세션 매니저(254), 커뮤니케이션 매니저(255) 및 커넥션 매니저(256)를 포함할 수 있다. 본 발명의 일실시예에 의한 VDN 어플리케이션(259)은 시큐리티 매니저(253), 세션 매니저(254), 커뮤니케이션 매니저(255) 및 커넥션 매니저(256)를 포함할 수 있다.
도 8은 본 발명의 일실시예에 의한 통신서버(1)와, 사용자장치(2) 간 상호 동작을 설명하는 도면이다. 복수의 사용자장치(2) 중 2이상 사용자장치(2)는 가상네트워크를 구성할 수 있다. 가상네트워크는 제1사용자(61)의 사용자장치(2)로 구성되거나, 제2사용자(62)의 사용자장치(2)로 구성되거나, 혹은 이들 둘 다의 사용자장치(2)로 구성될 수 있다. 사용자장치(2)는 PC(랩탑, 노트북 등), 모바일 단말기(휴대전화기, 스마트폰, 스마트패드 등), 가전기기(TV, 오디오 등), 사무기기(팩스, 프린터 등) 등 다양한 전자기기일 수 있다. 복수의 사용자장치(2)가 마련되는 곳은, 예컨대, 집, 사무실, 커피?, 외부 장소 등 다양할 수 있다. 가상네트워크(2na, 2nb) 내의 복수의 사용자장치(2)는 서로 데이터를 주고 받을 수 있다. 가상네트워크를 통해 주고 받을 수 있는 데이터는 게임, 파일(문서 등), 멀티미디어 컨텐츠(비디오, 오디오 등) 등 다양한 목적이나, 형태에 관한 것일 수 있다. 사용자장치(2)는 홈네트워크, 사무실 LAN, 3G 네트워크 등에 연결될 수 있다. 즉, 사용자장치(2)가 실제로 연결된 네트워크가 어떠한 것인지에 관계없이 복수의 사용자장치(2)는 가상네트워크를 이용하여 서로 데이터를 주고 받을 수 있다. 이 때, 사용자장치(2)에서 실행되는 어플리케이션은 사용자장치(2)가 실제로 연결된 네트워크는 인식(aware)하지 않는다.
사용자(61, 62)는 사용자장치(2)를 통해 통신서버(1)에 로그인하여, 사용자장치(2)를 통신서버(1)에 등록할 수 있다. 통신서버(1)는 사용자장치(2)의 등록 시 사용자(61, 62)의 ID를 이용하여 인증을 수행할 수 있다. 사용자장치(2)가 통신서버(1)에 한번 등록되면, 사용자장치(2)가 통신서버(1)에 연결될 때 자동으로 로그인되도록 할 수 있다. 사용자장치(2)는 통신서버(1)에 상태정보를 전송하여 프레즌스 업데이트를 수행한다. 사용자(61, 62) 중 어느 한 쪽은 사용자장치(2)를 이용하여 가상네트워크를 생성할 수 있다. 사용자(61, 62) 중 다른 한 쪽은 사용자장치(2)를 이용하여 생성된 가상네트워크에 참여할 수 있다. 통신서버(1)는 사용자장치(2)로부터 수신된 상태정보에 기초하여 가상네트워크의 생성 및 이에 대한 참여를 관리할 수 있다. 통신서버(1)는 사용자장치(2)로부터 수신된 상태정보 상대방장치(2)로 전달해 줄 수 있다. 사용자장치(2)는 수신된 상태정보에 기초하여 GUI를 이용하여 상대방장치(2)의 상태를 보여줄 수 있다. 통신서버(1)는 기 생성된 가상네트워크의 리스트를 관리하고, 가상네트워크의 리스트를 사용자장치(2)에 제공할 수 있다. 사용자장치(2)는 수신된 가상네트워크의 리스트 중에서 사용자(61, 62)에 의해 선택된 어느 하나의 가상네트워크로의 참여를 통신서버(1)에 요청할 수 있다. 사용자(61, 62) 중 생성된 가상네트워크에 기 참여한 어느 한 쪽은 다른 한쪽의 참여 요청을 수락하거나, 거절할 수 있다. 통신서버(1)는 가상네트워크로의 참여가 완료되면, 각 사용자(61, 62)의 사용자장치(2)에 가상IP를 할당하여 전송한다. 각 사용자장치(2)는 수신된 가상IP를 이용하여 어플리케이션이 요청한 데이터 전송을 수행한다. 사용자장치(2)는 우선적으로 P2P 방식으로 데이터 전송을 시도한다. 만일, P2P 방식으로 데이터 전송이 곤란한 경우, 사용자장치(2)는 릴레이 서버(5)를 통하여 데이터 전송을 수행할 수 있다. 사용자장치(2)는 데이터 전송에 필요한 정보를 통신서버(1)로부터 제공받는다. 사용자장치(2)는 데이터 전송이 완료되면 사용자의 지시에 따라 통신서버(1)로부터 로그아웃한다.
도 9는 사용자장치(2)의 구체적 동작을 설명하는 도면이다. 도 9에서는 제1사용자장치(2a)와, 제2사용자장치(2b)가 가상네트워크에 참여하는 것으로 설명한다. 먼저, 제1사용자장치(2a)와, 제2사용자장치(2b)의 VDN 클라이언트(258a, 258b)는 통신서버(1)에 로그인하여 가상네트워크에 참여하고, 가상IP를 각각 할당 받아 수신한다. 예컨대, 제1사용자장치(2a)는 23.0.0.1의 가상IP를, 제2사용자장치(2b)는 23.0.0.2의 가상IP를 할당 받을 수 있다. 각 VDN 클라이언트(258a, 258b)는 수신된 자신의 가상IP를 이용하여 가상 어댑터(2572a, 2572b)를 각각 설정한다. 가상 어댑터(2572a, 2572b)에 있어서는, 예컨대 네트워크 터널링(tunneling) 내지는 TUN 디바이스의 기술이 이용될 수 있다.
제1사용자장치(2a)와, 제2사용자장치(2b)는 어플리케이션(251a, 251b)을 각각 실행한다. 예컨대, 제1사용자장치(2a)의 어플리케이션(251a)은 웹브라우저이고, 제2사용자장치(2b)의 어플리케이션(251b)은 웹서버일 수 있다. 제1사용자장치(2a)의 어플리케이션(251a)은 제2사용자장치(2b)의 가상IP(23.0.0.2)를 이용하여 가상 어댑터(2572a, 2572b)를 통한 데이터 전송을 시도한다. 예컨대, 웹브라우저인 어플리케이션(251a)은 웹서버인 어플리케이션(251b)에게 임의의 웹페이지의 데이터를 전송해 줄 것을 요청하는 패킷을 전송할 수 있다. 제1사용자장치(2a)의 VDN 클라이언트(258a)는 어플리케이션(251a)의 가상IP(23.0.0.2)를 이용한 데이터 전송 시도를 모니터링한다. 어플리케이션(251a)이 가상IP(23.0.0.2)를 이용하여 데이터 전송을 시도하는지 여부를 모니터링함에 있어서는, 예컨대, 네트워크 탭(tap) 기술이 이용될 수 있다.
만일, 어플리케이션(251a)이 가상IP(23.0.0.2)를 이용하여 데이터 전송을 시도하는 것으로 확인되면, 제1사용자장치(2a)의 VDN 클라이언트(258a)는 어플리케이션(251a)의 데이터 전송 요청을 인터셉트한다. 제1사용자장치(2a)의 VDN 클라이언트(258a)는 통신서버(1)로부터 제공된 정보에 기초하여 제2사용자장치(2b)와의 연결을 시도한다. 각 VDN 클라이언트(258a, 258b)는 우선적으로, P2P 방식의 연결을 시도한다. P2P 방식으로는, 예컨대, UDP 홀 펀칭 내지는 STUN(Simple Traversal of User Datagram Protocol Through Network Address Translators) 기술이 이용될 수 있다. 구체적인 일례로서, 제1사용자장치(2a)의 VDN 클라이언트(258a)는 제2사용자장치(2b)로 UDP패킷을 보내어 상호 연결 가능한지 여부를 확인한다. 이 경우, 제1사용자장치(2a)의 VDN 클라이언트(258a)는 통신서버(1)로부터 제공된 제2사용자장치(2b)와의 실제 통신이 가능한 IP 주소(이하, 간략히, '실제IP'라고 함)를 이용하여 제2사용자장치(2b)로 UDP패킷을 보낼 수 있다. 제2사용자장치(2b)의 실제IP는 제2사용자장치(2b)의 통신부(21)를 통하여 제2사용자장치(2b)에 부여되는 통상적인 IP주소이다. 본 실시예의 실제IP는, 예컨대, 3G 네트워크의 경우 DHCP (Dynamic Host Configuration Protocol)서버로부터 부여되는 IP 혹은 Wi-Fi의 경우 액세스포인트(Access Point)로부터 부여되는 다이내믹(Dynamic) IP를 모두 포함할 수 있다. 통신서버(1)는 가상네트워크에 참여하는 사용자장치(2a, 2b)의 실제IP에 관한 정보를 관리한다. 통신서버(1)는 사용자장치(2a, 2b)의 요청 혹은 자동으로(예컨대, 가상IP를 전송하는 때) 각 사용자장치(2a, 2b)에 상대방장치(2b, 2a)의 실제IP를 전송할 수 있다. 한편, 사용자장치(2a, 2b) 간의 연결에 있어서, 포트(port) 정보는 각 VDN 클라이언트(258a, 258b)에 미리 정해져 있거나, 혹은 통신서버(1)로부터 제공 받을 수 있다.
제2사용자장치(2b)의 VDN 클라이언트(258b)는 제1사용자장치(2a)로부터 UDP패킷이 수신되면, 이에 응답하는 UDP패킷을 제1사용자장치(2a)에 전송한다. 제2사용자장치(2b)의 VDN 클라이언트(258b)는 통신서버(1)로부터 제공된 제1사용자장치(2a)의 실제IP를 이용하여 제1사용자장치(2a)로 UDP패킷을 보낼 수 있다. 제1사용자장치(2a)의 VDN 클라이언트(258a)는 제2사용자장치(2b)로부터 응답하는 UDP패킷이 수신되면, 제2사용자장치(2b)와의 연결이 가능한 것으로 판단한다. 만일, 제2사용자장치(2b)로부터 응답하는 UDP패킷이 수신되지 않으면, 제1사용자장치(2a)의 VDN 클라이언트(258a)는 제2사용자장치(2b)와의 연결이 가능하지 않은 것으로 판단한다. 제1사용자장치(2a)의 VDN 클라이언트(258a)는 제2사용자장치(2b)와의 연결이 가능하지 않은 경우, 이에 관한 정보를 통신서버(1)에 전송할 수 있다. 통신서버(1)는 제1사용자장치(2a)와의 연결이 가능하지 않음을 나타내는 정보를 제2사용자장치(2b)에 전송할 수 있다. 각 사용자장치(2a, 2b)의 VDN 클라이언트(258a, 258b)는 양자의 연결이 가능하지 않음을 출력부(23)를 통해 사용자에게 알려줄 수 있다.
만일, P2P 방식으로의 연결이 곤란한 경우, 제1사용자장치(2a)의 VDN 클라이언트(258a)는 릴레이 서버(5)를 통하여 제2사용자장치(2b)와의 연결을 수행할 수 있다. 제1사용자장치(2a)는 통신서버(1)에 릴레이 서버(5)를 통한 제2사용자장치(2b)와의 연결을 요청한다. 통신서버(1)는 릴레이 서버(5)를 통하여 제1사용자장치(2a)와, 제2사용자장치(2b)가 서로 연결되도록 한다.
각 사용자장치(2a, 2b)가 서로 연결되면, 제2사용자장치(2b)의 VDN 클라이언트(258b)는 제1사용자장치(2a)의 어플리케이션(251a)에 의한 데이터 전송 요청을 가상 어댑터(2572b)에 기입(write)한다. 제2사용자장치(2b)의 어플리케이션(251b)은 가상 어댑터(2572b)를 통하여 제1사용자장치(2a)의 어플리케이션(251a)에 의한 데이터 전송 요청을 읽어(read) 낸다. 제2사용자장치(2b)의 어플리케이션(251b)은 제1사용자장치(2a)의 어플리케이션(251a)에 의한 데이터 전송 요청에 대응하여, 예컨대 요청된 웹페이지의 데이터를 제1사용자장치(2a)로 전송한다. 제2사용자장치(2b)로부터 제1사용자장치(2a)로의 데이터의 전송도 앞서 설명한 바와 유사하게 이루어질 수 있다. 제1사용자장치(2a)의 어플리케이션(251a)은 제2사용자장치(2b)로부터 전송된 데이터에 기초하여 웹페이지를 사용자에게 제공할 수 있다.
도 10은 본 발명의 일실시예에 의한 VDN어플리케이션의 동작과, 어플리케이션 및 가상 어댑터 간의 상호 동작을 도시한다. 먼저, VDN어플리케이션(259)은 API(252)를 이용하여 예컨대, 'vip_init()'와 같은 함수를 호출(invoke)함으로써, 가상IP 관련 데이터 구조를 초기화한다(71). 예컨대, VDN어플리케이션(259)은 북키핑(bookkeeping)을 수행하고, 루트 퍼미션(root permission)을 확인(check)할 수 있다. VDN어플리케이션(259)은 예컨대, 'vip_enable()'와 같은 함수를 호출함으로써, 사용자장치(2)에서 가상IP의 이용을 가능하게 한다(72). 예컨대, VDN어플리케이션(259)은 가상 어댑터(2572)를 생성하고, 가상 어댑터(2572)에 관한 설정을 수행하며, 읽기/쓰기 함수들을 등록할 수 있다. API(252)는 예컨대, 'login()'과 같은 함수를 이용하여 통신서버(1)에 로그인할 수 있다(73). API(252)는 통신서버(1)로부터 가상IP를 수신할 수 있다(74).
어플리케이션(251)은 예컨대, 'bsd socket()'과 같은 함수와, 상대방장치(2)의 가상IP를 이용하여 가상 어댑터(2572)에 상대방장치(2)와의 데이터 전송을 위한 패킷을 기입할 수 있다(75). API(252)는 예컨대, 'tun interface()'와 같은 등록된 함수를 이용하여 어플리케이션(251)에 의해 가상 어댑터(2572)에 기입된 패킷을 읽어 낸다(76). 반대로, API(252)는 예컨대, 'tun interface()'와 같은 함수를 이용하여 가상 어댑터(2572)에 상대방장치(2)와의 데이터 전송을 위한 패킷을 기입할 수 있다(77). 어플리케이션(251)은 예컨대, 'bsd socket()'과 같은 함수를 이용하여 가상 어댑터(2572)에 기입된 패킷을 읽어 낸다(78). 즉, VDN 클라이언트(258)는 가상 어댑터(2572)를 통해 전송 시도되는 패킷을 모니터링하여, 상대방장치(2)의 가상IP를 데이터 전송의 목적지로 하는 패킷이 있으면, 통신서버(1)로부터 제공되는 정보를 이용하여 P2P 혹은 릴레이 방식으로 상대방장치(2)와의 데이터 전송을 수행한다.
한편, VDN어플리케이션(259)은 예컨대, 'vip_disable()'과 같은 함수를 호출함으로써, 사용자장치(2)에서 가상IP를 이용하지 못하도록 할 수 있다(791). 이 경우, 가상 어댑터(2572)는 삭제(delete)될 수 있다. API(252)는 예컨대, 'logout()'과 같은 함수를 호출함으로써, 통신서버(1)로부터 로그아웃할 수 있다(792). VDN어플리케이션(259)은 예컨대, 'vip_shutdown()'과 같은 함수를 호출함으로써, 사용자장치(2)에서 가상IP에 관한 동작을 종료할 수 있다(794).
이상과 같이, 본 발명의 일실시예에 의한 통신서버(1)와, 사용자장치(2)에 의하면, 사용자장치(2) 간 원격으로 통신채널을 가상화함으로써 가상네트워크를 구현할 수 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.
1: 통신서버
2: 사용자장치
3: 인증서버
4: 시그널링서버
5: 릴레이서버
6: 로컬세션DB
7: 글로벌세션DB
8: 로드 밸런서

Claims (22)

  1. 사용자장치의 제어방법에 있어서,
    가상네트워크의 서비스를 제공하는 통신서버에 상기 사용자장치의 등록을 수행하는 단계와;
    상기 통신서버로부터 상기 가상네트워크에 포함된 상대방장치의 가상IP를 수신하는 단계와;
    어플리케이션이 상기 가상IP를 이용하여 상기 상대방장치와의 데이터 전송을 시도하는지 여부를 확인하는 단계와;
    상기 시도가 있는 경우, 상기 통신서버로부터 제공된 정보에 기초하여 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함하는 사용자장치의 제어방법.
  2. 제1항에 있어서,
    상기 통신서버에 상기 사용자장치의 상태정보를 전송하는 단계를 더 포함하는 사용자장치의 제어방법.
  3. 제1항에 있어서,
    상기 통신서버로부터 상기 상대방장치의 상태정보를 수신하는 단계를 더 포함하는 사용자장치의 제어방법.
  4. 제1항에 있어서,
    상기 통신서버에 상기 가상네트워크의 생성을 요청하는 단계를 더 포함하는 사용자장치의 제어방법.
  5. 제1항에 있어서,
    상기 통신서버로부터 기 생성된 상기 가상네트워크의 리스트를 수신하는 단계와;
    상기 수신된 리스트에 포함된 어느 하나의 상기 가상네트워크로의 참여를 요청하는 단계를 더 포함하는 사용자장치의 제어방법.
  6. 제1항에 있어서,
    상기 데이터 전송을 수행하는 단계는,
    P2P 방식으로 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함하는 사용자장치의 제어방법.
  7. 제1항에 있어서,
    상기 데이터 전송을 수행하는 단계는,
    릴레이 방식으로 상기 상대방장치와의 데이터 전송을 수행하는 단계를 포함하는 사용자장치의 제어방법.
  8. 사용자장치에 있어서,
    가상네트워크의 서비스를 제공하는 통신서버와 통신하는 통신부와;
    사용자의 지시를 입력하는 사용자입력부와;
    상기 사용자의 지시에 따라 가상네트워크의 서비스를 제공하는 통신서버에 상기 사용자장치의 등록을 수행하고, 상기 통신서버로부터 상기 가상네트워크에 포함된 상대방장치의 가상IP를 수신하며, 어플리케이션이 상기 가상IP를 이용하여 상기 상대방장치와의 데이터 전송을 시도하는지 여부를 확인하여, 상기 시도가 있는 경우, 상기 통신서버로부터 제공된 정보에 기초하여 상기 상대방장치와의 데이터 전송을 수행하도록 제어를 수행하는 제어부를 포함하는 사용자장치.
  9. 제8항에 있어서,
    상기 제어부는 상기 통신서버에 상기 사용자장치의 상태정보를 전송하도록 제어하는 사용자장치.
  10. 제8항에 있어서,
    상기 제어부는 상기 통신서버로부터 상기 상대방장치의 상태정보를 수신하도록 제어하는 사용자장치.
  11. 제8항에 있어서,
    상기 제어부는 상기 통신서버에 상기 가상네트워크의 생성을 요청하는 사용자장치.
  12. 제8항에 있어서,
    상기 제어부는, 상기 통신서버로부터 기 생성된 상기 가상네트워크의 리스트를 수신하고, 상기 수신된 리스트에 포함된 어느 하나의 상기 가상네트워크로의 참여를 요청하는 사용자장치.
  13. 제8항에 있어서,
    상기 제어부는, P2P 방식으로 상기 상대방장치와의 데이터 전송을 수행하도록 제어하는 사용자장치.
  14. 제8항에 있어서,
    상기 제어부는, 릴레이 방식으로 상기 상대방장치와의 데이터 전송을 수행하도록 제어하는 사용자장치.
  15. 통신서버의 제어방법에 있어서,
    가상네트워크의 서비스에 관한 복수의 사용자장치의 등록을 수행하는 단계와;
    상기 등록된 복수의 사용자장치 중에서 상기 가상네트워크에 참여하고자 하는 2이상의 사용자장치의 가상IP를 상기 사용자장치에 전송하는 단계와;
    상기 2이상의 사용자장치 간의 데이터 전송을 위한 정보를 제공하는 단계를 포함하는 통신서버의 제어방법.
  16. 제15항에 있어서,
    상기 참여하고자 하는 사용자장치의 요청에 따라 상기 가상네트워크를 생성하는 단계를 더 포함하는 통신서버의 제어방법.
  17. 제15항에 있어서,
    기 생성된 상기 가상네트워크의 리스트를 상기 참여하고자 하는 사용자장치에 제공하는 단계를 더 포함하는 통신서버의 제어방법.
  18. 제15항에 있어서,
    상기 등록된 복수의 사용자장치 중에서 어느 하나의 사용자장치로부터 상태정보를 수신하는 단계와;
    상기 수신된 상태정보를 상기 등록된 복수의 사용자장치 중에서 다른 하나의 사용자장치에 제공하는 단계를 더 포함하는 통신서버의 제어방법.
  19. 통신서버에 있어서,
    복수의 사용자장치와 통신하는 통신부와;
    가상네트워크의 서비스에 관한 복수의 사용자장치의 등록을 수행하고, 상기 등록된 복수의 사용자장치 중에서 상기 가상네트워크에 참여하고자 하는 2이상의 사용자장치의 가상IP를 상기 사용자장치에 전송하며, 상기 2이상의 사용자장치 간의 데이터 전송을 위한 정보를 제공하는 제어부를 포함하는 통신서버.
  20. 제19항에 있어서,
    상기 제어부는, 상기 참여하고자 하는 사용자장치의 요청에 따라 상기 가상네트워크를 생성하도록 제어하는 통신서버.
  21. 제19항에 있어서,
    상기 제어부는, 기 생성된 상기 가상네트워크의 리스트를 상기 참여하고자 하는 사용자장치에 제공하도록 제어하는 통신서버.
  22. 제19항에 있어서,
    상기 제어부는, 상기 등록된 복수의 사용자장치 중에서 어느 하나의 사용자장치로부터 상태정보를 수신하고, 상기 수신된 상태정보를 상기 등록된 복수의 사용자장치 중에서 다른 하나의 사용자장치에 제공하도록 제어하는 통신서버.
KR1020130004919A 2013-01-16 2013-01-16 사용자장치, 통신서버 및 그 제어방법 KR20140092630A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130004919A KR20140092630A (ko) 2013-01-16 2013-01-16 사용자장치, 통신서버 및 그 제어방법
US14/093,265 US20140201262A1 (en) 2013-01-16 2013-11-29 User device, communication server and control method thereof
PCT/KR2014/000015 WO2014112735A1 (en) 2013-01-16 2014-01-02 User device, communication server and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130004919A KR20140092630A (ko) 2013-01-16 2013-01-16 사용자장치, 통신서버 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20140092630A true KR20140092630A (ko) 2014-07-24

Family

ID=51166070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130004919A KR20140092630A (ko) 2013-01-16 2013-01-16 사용자장치, 통신서버 및 그 제어방법

Country Status (3)

Country Link
US (1) US20140201262A1 (ko)
KR (1) KR20140092630A (ko)
WO (1) WO2014112735A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101585138B1 (ko) * 2014-06-24 2016-01-13 주식회사 아이티엑스시큐리티 P2p 중계 데몬을 이용한 보안 기기 연결 시스템 및 방법
US10129412B1 (en) * 2014-09-08 2018-11-13 Whatsapp Inc. Establishing and maintaining a VOIP call
JP7201897B2 (ja) * 2018-09-27 2023-01-11 アイコム株式会社 中継装置および音声通信のモニタ方法
US11838375B2 (en) * 2020-11-12 2023-12-05 Harman International Industries, Incorporated Universal software communication bus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934251B2 (en) * 1999-12-02 2011-04-26 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
TW200412101A (en) * 2002-12-23 2004-07-01 Shaw-Hwa Hwang Directly peer-to peer transmission protocol between two virtual network
US20040249973A1 (en) * 2003-03-31 2004-12-09 Alkhatib Hasan S. Group agent
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7733802B2 (en) * 2005-09-15 2010-06-08 Tp Lab, Inc. Method to dynamically create a virtual network
CN101918926B (zh) * 2007-10-24 2013-05-01 乔纳森·彼得·多伊奇 用于通过虚拟ip地址访问没有可访问地址的联网装置的各种方法和设备
TWI509419B (zh) * 2008-02-27 2015-11-21 Ncomputing Inc 於多使用者伺服器系統中使用虛擬網際網路協定位址之方法及系統
US20100058232A1 (en) * 2008-08-26 2010-03-04 Cisco Technology, Inc. Virtual network join protocol
WO2010127610A1 (zh) * 2009-05-04 2010-11-11 成都市华为赛门铁克科技有限公司 一种虚拟专用网节点信息的处理方法、设备及系统
US20110082941A1 (en) * 2009-10-06 2011-04-07 Electronics And Telecommunications Research Institute Method of providing direct communication in internet protocol network
US20110110377A1 (en) * 2009-11-06 2011-05-12 Microsoft Corporation Employing Overlays for Securing Connections Across Networks
US9154327B1 (en) * 2011-05-27 2015-10-06 Cisco Technology, Inc. User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network

Also Published As

Publication number Publication date
WO2014112735A1 (en) 2014-07-24
US20140201262A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
Holmberg et al. Web real-time communication use cases and requirements
CN105376299B (zh) 一种网络通信方法、设备及网络附属存储设备
US9948686B2 (en) Method and apparatus for sharing DLNA device
CN102546559B (zh) 受限网络中端到端传输数据的方法、设备和系统
CN108259542B (zh) 资源的传输方法和装置
TW201004246A (en) Techniques to manage communications between relay servers
KR20080026628A (ko) 네트워크 어드레스 변환기 및/또는 방화벽 뒤에 자리한 서버와의 전송-레벨 접속을 설정하기 위한 시스템, 단말, 방법 및 컴퓨터 프로그램 생성물
GB2482268A (en) Mobile terminal and peer-to-peer mode based data transmission method thereof
CN110933197B (zh) 一种分布式代理网络
WO2018072650A1 (zh) 移动终端与iptv进行交互的实现方法、装置及平台
KR20140092630A (ko) 사용자장치, 통신서버 및 그 제어방법
US8873569B2 (en) User centric virtual network and method of establishing the same
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
JP2016143076A (ja) 通信制御装置、通信制御方法及び通信制御プログラム
US20140337478A1 (en) Peer-to-peer network communications
CN106331195B (zh) 数据接收、发送方法及装置
CN104168302B (zh) 设备操控实现方法、系统和代理网关
JP2015118478A (ja) 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム
KR100703065B1 (ko) 다자간 양방향 음성통화 서비스를 위한 nat 제어 시스템및 그 방법
US9942129B2 (en) Communication method
JP6426118B2 (ja) 中継装置、中継方法及び中継プログラム
JP4401302B2 (ja) 通信管理システム、通信管理方法、及び通信管理プログラム
CN105323125A (zh) 一种跨家庭网络的处理方法及http网关、dlna设备
WO2016121881A1 (ja) 通信制御装置、通信制御方法及び通信制御プログラム
Cassagnes et al. An overlay architecture for achieving total flexibility in internet communications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application