KR102494912B1 - 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 - Google Patents
통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102494912B1 KR102494912B1 KR1020200138258A KR20200138258A KR102494912B1 KR 102494912 B1 KR102494912 B1 KR 102494912B1 KR 1020200138258 A KR1020200138258 A KR 1020200138258A KR 20200138258 A KR20200138258 A KR 20200138258A KR 102494912 B1 KR102494912 B1 KR 102494912B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- connection
- information
- history information
- response message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2589—NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/18—Management of setup rejection or failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Environmental & Geological Engineering (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
Abstract
P2P(Peer-to-Peer) 서버에서 단말들 간의 연결을 제어하는 방법이 제공된다. 본 방법은, 제2 단말로부터 상기 제2 단말에 대한 네트워크 정보를 수신하는 단계, 제1 단말로부터 상기 제2 단말에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하는 단계, 및 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계를 포함할 수 있다. 여기서 상기 제1 응답 메시지는 상기 제2 단말과 P2P 연결을 시도하라고 지시하는 메시지이고, 상기 제2 응답 메시지는 상기 제2 단말과 릴레이(Relay) 연결을 시도하라고 지시하는 메시지이고, 상기 제1 응답 메시지는 상기 제2 단말에 대한 네트워크 정보를 포함할 수 있다.
Description
본 발명은 단말들 간의 P2P(Peer-to-Peer) 연결과 관련된 기술에 관한 것이다.
유무선 인터넷 기술이 나날이 발전됨에 따라 인터넷을 통한 정보의 효율적인 공유와 교환을 위한 다양한 통신 방식이 출현되었다. 이러한 통신 방식들 중의 하나로서 P2P(Peer-to-Peer) 통신 방식이 있는데, 이 P2P 통신 방식은, 데이터를 하나의 서버 시스템에 집중시켜 관리하게 되면 네트워크 부하 및 장비 운용 측면에서 비효율성을 초래할 수 있다는 점을 고려하여 데이터를 여러 통신 단말기들에 분산 배치해 두고서 각각의 통신 단말기가 다른 통신 단말기에 직접 연결하여 데이터를 전송받을 수 있도록 한 통신 방식이다. P2P 통신 방식에 따르면, P2P 서버에서 통신 단말기들의 IP(Internet Protocol) 주소들을 관리하고 각 통신 단말기는 P2P 서버에 연결하고자 하는 다른 통신 단말기의 IP 주소를 요청하여 수신하고 수신한 IP 주소를 이용하여 다른 통신 단말기에 연결하여 데이터의 전송을 요청할 수 있게 된다. 즉, P2P 통신 방식에 따르면, 최초의 연결 과정에서만 P2P 서버가 개입을 하고 실제 데이터가 송수신되는 과정에서는 통신 단말기들 간에서만 통신이 이루어진다. 따라서 P2P 통신 방식은 네트워크 부하를 분산시키고 자원 효율성을 제고할 수 있는 이점이 있다.
본 발명의 과제는 단말들 간의 P2P 연결이 실패할 가능성이 높은 경우 단말들이 릴레이 연결 방식으로 신속하게 연결될 수 있도록 하는, 단말들 간의 연결을 제어하는 기술을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
일 측면에서, P2P(Peer-to-Peer) 서버에서 단말들 간의 연결을 제어하는 방법이 제공된다. 본 방법은, 제2 단말로부터 상기 제2 단말에 대한 네트워크 정보를 수신하는 단계, 제1 단말로부터 상기 제2 단말에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하는 단계, 및 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계를 포함할 수 있다. 여기서 상기 제1 응답 메시지는 상기 제2 단말과 P2P 연결을 시도하라고 지시하는 메시지이고, 상기 제2 응답 메시지는 상기 제2 단말과 릴레이(Relay) 연결을 시도하라고 지시하는 메시지이고, 상기 제1 응답 메시지는 상기 제2 단말에 대한 네트워크 정보를 포함할 수 있다.
일 실시예에서, 상기 제2 단말에 대한 네트워크 정보는 상기 제2 단말의 IP(Internet Protocol) 주소에 관한 정보를 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 P2P 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하는 단계를 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며, 상기 방법은, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제2 응답 메시지를 전달하는 단계를 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 접속이력 정보의 갱신 날짜에 관한 정보를 포함하며, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과된 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하는 단계를 포함한다.
일 실시예에서, 상기 방법은, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함한다.
일 실시예에서, 상기 방법은, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 제2 단말의 IP 주소에 관한 정보를 포함하며, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 제2 단말로부터 수신한 상기 제2 단말의 IP 주소에 관한 정보와 상기 접속이력 정보에 포함된 상기 제2 단말의 IP 주소에 관한 정보가 서로 다른 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하는 단계를 포함한다.
일 실시예에서, 상기 방법은, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며, 상기 방법은, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
다른 측면에서, 단말들 간의 연결을 제어하기 위한 P2P 서버가 제공된다. 본 P2P 서버는 제1 단말과 제2 단말 간의 접속이력 정보를 저장하는 데이터베이스, 및 상기 제2 단말로부터 상기 제2 단말에 대한 네트워크 정보를 수신하고, 상기 제1 단말로부터 상기 제2 단말에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하고, 상기 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하도록 구성된 제어부를 포함할 수 있다. 여기서 상기 제1 응답 메시지는 상기 제2 단말과 P2P 연결을 시도하라고 지시하는 메시지이고, 상기 제2 응답 메시지는 상기 제2 단말과 릴레이 연결을 시도하라고 지시하는 메시지이고, 상기 제1 응답 메시지는 상기 제2 단말에 대한 네트워크 정보를 포함할 수 있다.
일 실시예에서, 상기 제2 단말에 대한 네트워크 정보는 상기 제2 단말의 IP 주소에 관한 정보를 포함한다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며, 상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 P2P 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하도록 더 구성된다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며, 상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성된다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며, 상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제2 응답 메시지를 전달하도록 더 구성된다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 접속이력 정보의 갱신 날짜에 관한 정보를 포함하며, 상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과된 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하도록 더 구성된다.
일 실시예에서, 상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성된다.
일 실시예에서, 상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성된다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 제2 단말의 IP 주소에 관한 정보를 포함하며, 상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 제2 단말로부터 수신한 상기 제2 단말의 IP 주소에 관한 정보와 상기 접속이력 정보에 포함된 상기 제2 단말의 IP 주소에 관한 정보가 서로 다른 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하도록 더 구성된다.
일 실시예에서, 상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성된다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며, 상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성된다.
일 실시예에서, 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
본 발명의 실시예들에 따르면, 단말들 간의 P2P 연결이 실패할 가능성이 높은 경우 단말들이 릴레이 연결 방식으로 신속하게 연결될 수 있도록 하는 기술적 효과가 있다.
도 1은 단말들 간의 연결을 제어하는 개시된 기술에 따른 방법이 실행되는 통신 네트워크의 구성의 일 실시예를 도시한 도면이다.
도 2는 단말들 간의 연결을 제어하기 위한 P2P 서버의 블록도의 일 실시예를 도시한 도면이다.
도 3은 도 2의 데이터베이스에 저장되는 접속이력 정보 테이블의 일 실시예를 도시한 도면이다.
도 4는 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제1 실시예를 도시한 도면이다.
도 5는 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제2 실시예를 도시한 도면이다.
도 6은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제3 실시예를 도시한 도면이다.
도 7은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제4 실시예를 도시한 도면이다.
도 8은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제5 실시예를 도시한 도면이다.
도 2는 단말들 간의 연결을 제어하기 위한 P2P 서버의 블록도의 일 실시예를 도시한 도면이다.
도 3은 도 2의 데이터베이스에 저장되는 접속이력 정보 테이블의 일 실시예를 도시한 도면이다.
도 4는 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제1 실시예를 도시한 도면이다.
도 5는 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제2 실시예를 도시한 도면이다.
도 6은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제3 실시예를 도시한 도면이다.
도 7은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제4 실시예를 도시한 도면이다.
도 8은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제5 실시예를 도시한 도면이다.
본 발명의 이점들과 특징들 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해 질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 실시예들은 단지 본 발명의 개시가 완전하도록 하며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려 주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들어, 단수로 표현된 구성 요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성 요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 발명의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성이 배제되는 것은 아니다. 또한, 본 명세서에 기재된 실시예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미할 수 있다.
덧붙여, 다르게 정의되지 않는 한 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
도 1은 단말들 간의 연결을 제어하는 개시된 기술에 따른 방법이 실행되는 통신 네트워크의 구성의 일 실시예를 도시한 도면이다.
도 1에 도시된 바와 같이, 개시된 기술에 따른 방법이 실행되는 통신 네트워크는 통신망(135)에 접속된 제어 서버(122), P2P(Peer-to-Peer) 서버(124) 및 릴레이(Relay) 서버(126)를 포함할 수 있다. 제어 서버(122), P2P 서버(124) 및 릴레이 서버(126)는 제1 단말(107)과 제2 단말(109)이 P2P 연결 방식으로 연결되거나 릴레이 연결 방식으로 연결되도록 서로 협업할 수 있다. 도시된 실시예에서 제1 단말(107)은 스마트폰이나, 제1 단말(107)은 랩탑(laptop) PC, 태블릿 PC, 노트북, 노트 패드 등의 휴대용 단말기 등과 같은 다양한 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치 등을 포함할 수 있다. 또한 도시된 실시예에서 제2 단말(109)은 가정이나 직장 또는 공공 장소의 일정 영역을 촬영하기 위해 설치되어 사용되는 CCTV(Closed Circuit Television)이나, 제2 단말(109)은 데스크탑(desktop) PC, 랩탑(laptop) PC, 태블릿 PC, 노트북, 노트 패드 등의 다양한 종류의 컴퓨팅 장치 또는 기타 IoT(Internet of Things) 기반의 가전 기기 등을 포함할 수 있다. 일 실시예에서, 제1 단말(107) 및/또는 제2 단말(109)은 NAT(Network Address Translation) 방식을 지원하는 AP(Access Point)를 통해 통신망(135)에 접속될 수 있다. 통신망(135)은 인터넷(Internet), 와이파이(WiFi) 네트워크, 근거리 통신망(Local Area Network: LAN), 광역 통신망(Wide Area Network: WAN), 부가가치 통신망(Value Added Network: VAN), 개인 근거리 무선통신(Personal Area Network: PAN), PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handy-phone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 4G(LTE/LTE-Advanced) 또는 5G 등의 이동 통신망 또는 위성 통신망 등과 같은 모든 종류의 유/무선 네트워크를 포함할 수 있으나, 통신망(135)의 종류가 이에 한정되는 것은 아니다. 이하의 개시에 있어서는 설명의 편의상 제1 단말(107)이 스마트폰이고 제2 단말(109)이 CCTV라는 가정하에 제1 단말(107)이 제2 단말(109)에서 촬영된 영상 데이터를 스트리밍 방식으로 수신하기 위하여 제2 단말(109)에 연결하는 절차를 예로 들어 개시된 기술을 설명하기로 한다.
제1 단말(107)에는 제2 단말(109)에 연결하여 스트리밍 데이터를 수신하기 위한 전용 앱(App)과 같은 프로그램이 설치될 수 있는데, 이러한 프로그램이 실행되면, 예컨대 '실시간 스트리밍 보기' 메뉴와 같은 미디어 스트리밍을 요청할 수 있는 메뉴가 표시될 수 있다. 사용자가 제1 단말(107)에서 동 메뉴를 선택하면 실시간 스트리밍 보기 요청 메시지가 통신망(135)을 통해 제어 서버(122)로 전달될 수 있다. 실시간 스트리밍 보기 요청 메시지를 수신한 제어 서버(122)는 제2 단말(109)로 촬영 및 스트리밍을 시작하라는 명령을 전달할 수 있다. 제2 단말(109)이 제어 서버(122)로부터 명령을 전달 받으면 제2 단말(109)은 P2P 서버(124)에 접속하여 제2 단말(109)에 대한 네트워크 정보를 전달한다. 제2 단말(109)이 P2P 서버(124)로부터 수신 응답 메시지를 받으면 제2 단말(109)은 제어 서버(122)로 촬영 및 스트리밍을 시작하라는 명령에 대한 응답 메시지를 전달한다. 응답 메시지를 수신한 제어 서버(122)는 제1 단말(107)로부터 수신한 실시간 스트리밍 보기 요청 메시지에 응답하여 제1 단말(107)로 응답 메시지를 전달한다. 제1 단말(107)이 제어 서버(122)로부터 응답 메시지를 수신하면 제1 단말(107)은 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 전달한다. 개시된 기술에 따르면 요청 메시지를 수신한 P2P 서버(124)는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조하여 제1 단말(107)로 제1 응답 메시지 또는 제2 응답 메시지를 전달한다. 여기서 제1 응답 메시지는 제2 단말(109)과 P2P 연결을 시도하라고 지시하는 메시지이다. 제1 응답 메시지는 제2 단말(109)에 대한 네트워크 정보를 포함하는데, 제1 응답 메시지를 수신한 제1 단말(107)은 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도할 수 있게 된다. 한편 제2 응답 메시지는 제2 단말(109)과 릴레이(Relay) 연결을 시도하라고 지시하는 메시지이다. P2P 서버(124)에서 제1 단말(107)로 제2 응답 메시지를 전달하는 것은 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패할 가능성이 높다고 판단한 바탕 위에서이므로, 제2 응답 메시지를 수신한 제1 단말(107)은 제2 단말(109)과의 불필요한 P2P 연결 절차를 거치지 않고 곧 바로 릴레이 연결을 시도하여 제2 단말(109)과의 연결에 필요한 시간을 단축할 수 있게 된다.
종래의 기술에 따르면 P2P 서버(124)가 제1 단말(107)로부터 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하면 P2P 서버(124)는 제1 단말(107)로 제2 단말(109)에 대한 네트워크 정보를 포함하는 응답 메시지를 전달한다. 응답 메시지를 수신한 제1 단말(107)은 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도한다. 제2 단말(109)과의 P2P 연결은 성공할 수도 있고 실패할 수도 있다. 단말 간의 P2P 연결에는 일반적으로 3초 내지 5초 정도의 수초의 시간이 소요된다. 이 수초의 시간 내에 제2 단말(109)로부터 연결 응답을 수신하지 못하면 제2 단말(109)과의 P2P 연결이 실패한 것으로 볼 수 있다. 이러한 이유 때문에 제1 단말(107)에서는 제2 단말(109)로부터 연결 응답을 받을 수 있는 충분한 시간인 10초 정도의 시간으로 설정된 타이머를 작동시키고 타이머의 타임 아웃 전에 제2 단말(109)로부터 연결 응답을 수신하지 못하는 경우 P2P 연결이 실패한 것으로 판정한다. 제1 단말(107)은 P2P 연결이 실패한 것으로 판정된 경우 그제서야 제2 단말(109)과의 릴레이 연결을 시도한다. 이러다 보니 제2 단말(109)과의 릴레이 연결을 시도하기까지는 타이머가 타임 아웃되는 시간 이상의 오랜 시간이 소요되어 불편함을 겪게된다. 일반적으로 단말들 간의 P2P 연결이 실패하는 원인은 단말들이 연결된 네트워크의 구성이나 네트워크 장비가 특수하기 때문이다. 예컨대 서로 연결을 시도하는 단말들은 사설 IP 주소를 사용하는 NAT 환경 하에 있을 수 있는데, 이 경우 NAT 구성에 따라서는 단말들 간에 P2P 연결이 안 되는 경우가 있을 수 있다. 따라서 이러한 P2P 연결 실패 시나리오는 1회성으로 그치는 것이 아니라 지속적으로 일어나게 되고, 이 때문에 제1 단말(107)이 제2 단말(109)과의 연결을 시도할 때마다 타이머가 타임 아웃되는 시간 이상으로 오랜 연결 시간이 걸리게 된다.
다시 개시된 기술로 돌아와서, 개시된 기술에 따르면 P2P 서버(124)가 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 성공할 가능성이 높다고 판단하는 경우 제1 단말(107)로 제1 응답 메시지를 전달하고, 제1 단말(107)은 제1 응답 메시지에 포함된 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도한다. 한편 P2P 서버(124)가 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패할 가능성이 높다고 판단하는 경우 제1 단말(107)로 제2 응답 메시지를 전달한다. 그러면 제1 단말(107)은 곧 바로 릴레이 연결을 시도하게 되고, 이로써 실패할 가능성이 높고 시간 소모적인 제2 단말(109)과의 P2P 연결 절차를 거치지 않아도 되게 된다. 릴레이 연결을 위해 단말이 접속하는 릴레이 서버(126)는 NAT 환경하에 있지 않고 따라서 NAT의 영향을 받지 않기 때문에 릴레이 연결의 성공률은 어느 정도 보장되는 것으로 알려져 있다.
도 2는 단말들 간의 연결을 제어하기 위한 P2P 서버의 블록도의 일 실시예를 도시한 도면이다.
도 2에 도시된 바와 같이, P2P 서버(124)는 데이터베이스(210)를 포함할 수 있다. 데이터베이스(210)는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 저장할 수 있다. 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보는 연결 방식 정보를 포함할 수 있다. 제1 단말(107)이 이전에 제2 단말(109)과의 P2P 연결을 시도하여 성공한 경우 연결 방식 정보는 제1 단말(107)과 제2 단말(109)이 P2P 연결 방식으로 연결되었음을 나타내고, 제1 단말(107)이 이전에 제2 단말(109)과의 P2P 연결을 시도하여 실패한 경우 연결 방식 정보는 제1 단말(107)과 제2 단말(109)이 릴레이 연결 방식으로 연결되었음을 나타낸다. 연결 방식 정보는 동작 초기에 제1 단말(107)과 제2 단말(109)이 P2P 연결 방식으로 연결되었음을 나타내도록 초기화될 수 있다. 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보는 동 정보의 갱신 날짜에 관한 정보를 더 포함할 수 있다. 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보는 제2 단말(109)로부터 수신한 제2 단말(109)에 대한 네트워크 정보를 더 포함할 수 있다. 제2 단말에 대한 네트워크 정보는 제2 단말(109)의 IP 주소를 포함할 수 있다. 일 실시예에서, 제2 단말(109)의 IP 주소는 제2 단말(109)이 인터넷에 접속하기 위해 WiFi로 접속하는 AP(Access Point)의 WAN(Wide Area Network) 측 공인 IP 주소 및/또는 제2 단말(109)이 AP로부터 할당받은 사설 IP 주소를 포함할 수 있다. 제2 단말에 대한 네트워크 정보는 제2 단말에 대한 포트 정보를 더 포함할 수 있다. 데이터베이스(210)는 제1 단말(107)과 다른 단말들 간의 접속이력 정보를 더 저장할 수 있다. 예를 들어 CCTV가 여러 대인 경우 데이터베이스(210)는 제1 단말(107)과 CCTV 1 간의 접속이력 정보, 제1 단말(107)과 CCTV 2 간의 접속이력 정보, 제1 단말(107)과 CCTV 3 간의 접속이력 정보 등을 저장할 수 있다. 일 실시예에서, 접속이력 정보에 포함되는 연결 방식 정보, 접속이력 정보의 갱신 날짜에 관한 정보 및 제1 단말(107)이 연결되는 단말들(CCTV들)에 대한 네트워크 정보는 접속이력 정보 테이블에 연관 테이블(relational table)의 형태로 저장된다. 접속이력 정보 테이블의 일 실시예를 도시한 도 3을 참조하면, 제1 단말(107)과 CCTV 1 간의 접속이력 정보는 제1 단말(107)과 CCTV 1이 이전에 P2P 연결 방식으로 연결되었음을 나타내고, 제1 단말(107)과 CCTV 2 간의 접속이력 정보는 제1 단말(107)과 CCTV 2가 이전에 릴레이 연결 방식으로 연결되었음을 나타내고, 제1 단말(107)과 CCTV 5 간의 접속이력 정보는 제1 단말(107)과 CCTV 5가 이전에 릴레이 연결 방식으로 연결되었음을 나타낸다. 도 3에 도시된 접속이력 정보 테이블은 단지 예시의 목적상 데이터를 서로 연관시켜 저장하는 방식을 개념적으로 도시한 것일 뿐이고 도 3에 도시된 사항이 저장된 데이터의 구조를 예시하거나 암시하는 것이 아님을 인식하여야 할 것이다.
P2P 서버(124)는 통신부(230)를 더 포함할 수 있다. 통신부(230)는 GSM 망, CDMA 망과 같은 2G 무선 통신망, WiFi 망과 같은 무선 인터넷 망, WiBro 망 및 WiMax 망과 같은 휴대 인터넷 망, 패킷 전송을 지원하는 무선 통신망, LTE(4G) 망 또는 5G 망에서 채택되는 RAT들(Radio Access Technologies) 및 통신 프로토콜을 구현할 수 있고 그러한 무선 통신망에서 사용되는 통신 기기의 통신부의 기능들/특징들을 포함할 수 있지만, 통신부(230)의 기능이 이에 제한되는 것은 아니다. 이 경우, RAT들 및 통신 프로토콜은 적절한 하드웨어 및/또는 펌웨어로 구현될 수 있다.
제어부(220)는 제2 단말(109)로부터 제2 단말(109)에 대한 네트워크 정보를 수신하고, 제1 단말(107)로부터 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하고, 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조하여 제1 단말(107)로 제1 응답 메시지 또는 제2 응답 메시지를 전달하도록 구성될 수 있다. 여기서 제1 응답 메시지는 제2 단말(109)과 P2P 연결을 시도하라고 지시하는 메시지이며 제1 단말(107)이 제2 단말(109)과의 P2P 연결을 시도하는데 필요한 제2 단말(109)에 대한 네트워크 정보를 포함할 수 있다. 제2 응답 메시지는 제2 단말(109)과 릴레이(Relay) 연결을 시도하라고 지시하는 메시지이다.
일 실시예에서, 제어부(220)는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 P2P 연결 방식으로 연결되었음을 나타내는 경우 제1 단말(107)로 제1 응답 메시지를 전달하도록 구성될 수 있다. 이러한 실시예에서, 제어부(220)는, 제1 단말(107)로 제1 응답 메시지를 전달한 후 릴레이 서버(126)로부터 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 릴레이 연결 방식으로 연결되었음을 나타내고 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 접속이력 정보를 갱신하도록 더 구성될 수 있다. 일 실시예에서, 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
일 실시예에서, 제어부(220)는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우 제1 단말(107)로 제2 응답 메시지를 전달하도록 더 구성될 수 있다. 이러한 실시예에서, 제1 단말(107)은 제2 응답 메시지를 수신하는 것에 응답하여 릴레이 서버(126)를 사용하여 제2 단말(109)과의 릴레이 연결을 시도한다. 도 1과 관련하여 전술한 바와 같이 제1 단말(107)은 실패할 가능성이 높고 시간 소모적인 제2 단말(109)과의 P2P 연결 절차를 거치지 않고 곧 바로 제2 단말(109)과의 릴레이 연결을 시도하므로 제2 단말(109)과 빠른 속도로 연결될 수 있게 된다.
전술한 바와 같이 제1 단말(107)로 하여금 제2 단말(109)과의 P2P 연결 대신에 제2 단말(109)과의 릴레이 연결을 시도하도록 함으로써 제1 단말(107)이 제2 단말(109)과 빠른 속도로 연결될 수 있게 되기는 하나, 릴레이 서버(126)를 통한 연결이 이루어지는 빈도가 높아지면 릴레이 서버(126)에 대한 투자 비용과 운영 비용도 따라서 높아지게 되어 서비스 제공 회사에 부담으로 작용하게 되는 측면이 있다. 따라서 서비스 제공 회사의 입장에서는 단말들이 릴레이 연결 방식으로 연결되는 것 보다는 P2P 방식으로 직접 연결되는 것이 바람직하다. 이러한 측면을 감안하여, 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우에도 선정된 조건이 만족되는 예외적인 경우 제1 단말(107)로 제1 응답 메시지를 전달하도록 제어부(220)를 구성하는 것이 가능하다. 일 실시예에서, 제어부(220)는, 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우에도 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과된 경우 제1 단말(107)로 제1 응답 메시지를 전달하도록 구성될 수 있다. 이러한 실시예에서, 제어부(220)는, 제1 단말(107)로 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버(126)로부터 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 P2P 연결 방식으로 연결되었음을 나타내도록 접속이력 정보를 갱신하도록 더 구성될 수 있다. 또한 이러한 실시예에서, 제어부(220)는, 제1 단말(107)로 제1 응답 메시지를 전달한 후 릴레이 서버(126)로부터 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 접속이력 정보를 갱신하도록 더 구성될 수 있다. 일 실시예에서, 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
일 실시예에서, 제어부(220)는, 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우에도 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)와 접속이력 정보에 포함되어 있는 제2 단말의 IP 주소에 관한 정보(네트워크 정보)가 서로 다른 경우 제1 단말(107)로 제1 응답 메시지를 전달하도록 구성될 수 있다. 가장 최근 수신한 제2 단말(109)의 IP 주소에 관한 정보가 데이터베이스(210)에 기 저장되어 있는 제2 단말(109)의 IP 주소에 관한 정보와 다르다는 것은 최근에 제2 단말(109)의 IP 주소가 변경되는 등 제2 단말(109)에 대한 네트워크 환경이 변경되었음을 의미하고, 그 때문에 이전과 달리 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 성공할 가능성이 있기 때문이다. 제어부(220)는 제1 단말(107)로 제1 응답 메시지를 전달한 후 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보를 기초로 접속이력 정보에 포함된 제2 단말(109)에 대한 네트워크 정보를 갱신하도록 구성될 수 있다. 이러한 실시예에서, 제어부(220)는, 제1 단말(107)로 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버(126)로부터 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 P2P 연결 방식으로 연결되었음을 나타내도록 접속이력 정보를 갱신하도록 더 구성될 수 있다. 또한 이러한 실시예에서, 제어부(220)는, 제1 단말(107)로 제1 응답 메시지를 전달한 후 릴레이 서버(126)로부터 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 접속이력 정보를 갱신하도록 더 구성될 수 있다. 일 실시예에서, 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지이다.
이상으로 설명한 제어부(220)는, 응용 주문형 집적 회로(Application Specific Integrated Circuits: ASICs), 디지털 신호 처리기(Digital Signal Processors: DSPs), 디지털 신호 처리 소자(Digital Signal Processing Devices: DSPDs), 프로그램 가능 논리 소자(Programmable Logic Devices: PLDs), 현장 프로그램 가능 게이트 어레이(Field-Programmable Gate Arrays: FPGAs), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers) 및 마이크로 프로세서(microprocessors) 중 적어도 하나에 기반한 하드웨어 플랫폼(hardware platform)으로서 구현될 수 있다. 제어부(220)는 또한 전술한 하드웨어 플랫폼 상에서 실행 가능한 펌웨어(firmware)/소프트웨어 모듈로 구현될 수 있다. 이 경우, 소프트웨어 모듈은 적절한 프로그램(program) 언어로 쓰여진 소프트웨어 애플리케이션(application)에 의해 구현될 수 있다.
도 4는 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제1 실시예를 도시한 도면이다. 제1 실시예는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 P2P 연결 방식으로 연결되었음을 나타내고 P2P 서버(124)가 제1 단말(107)로 제1 응답 메시지를 전달하여 제1 단말(107)이 제2 단말(109)과의 P2P 연결에 성공한 경우의 신호 흐름도를 나타낸다. 또한 제1 실시예는 제1 단말(107)이 제2 단말(109)과의 연결을 첫 번째로 또는 첫 번째 이후로 시도하는 경우의 신호 흐름도를 나타낸다.
도 4에 도시된 바와 같이, 본 방법은 제2 단말(109)에서 제어 서버(122)로부터 촬영 및 스트리밍을 시작하라는 명령을 수신하는 것에 응답하여 P2P 서버(124)에 접속하여 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 전달하는 단계(S405)로부터 시작된다. 단계(S410)에서는 제2 단말(109)에서 P2P 서버(124)로부터 수신 응답 메시지를 수신한다. 단계(S415)에서는 제1 단말(107)이 제어 서버(122)의 제어에 따라 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 전달한다. 단계(S420)에서는 P2P 서버(124)에서 P2P 서버(124)의 데이터베이스(210)에 저장된 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 P2P 연결 방식으로 연결되었음을 나타내므로 제1 단말(107)로 제1 응답 메시지를 전달하는 것으로 결정한다. 단계(S425)에서는 P2P 서버(124)에서 제1 단말(107)로 제1 응답 메시지를 전달한다. 제1 응답 메시지는 제2 단말(109)에 대한 네트워크 정보를 포함할 수 있다. 단계(S430)에서는 제1 단말(107)에서 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도한다. 단계(S435)에서는 제1 단말(107)에서 제2 단말(109)로부터 P2P 연결 응답 메시지를 수신하고, 이로써 제1 단말(107)과 제2 단말(109) 간에 P2P 통신이 이루어진다.
도 5는 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제2 실시예를 도시한 도면이다. 제2 실시예는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 P2P 연결 방식으로 연결되었음을 나타내고 P2P 서버(124)가 제1 단말(107)로 제1 응답 메시지를 전달하였으나 제1 단말(107)이 제2 단말(109)과의 P2P 연결에 실패한 경우의 신호 흐름도를 나타낸다. 또한 제2 실시예는 제1 단말(107)이 제2 단말(109)과의 연결을 첫 번째로 또는 첫 번째 이후로 시도하는 경우의 신호 흐름도를 나타낸다.
도 5에 도시된 바와 같이, 본 방법은 제2 단말(109)에서 제어 서버(122)로부터 촬영 및 스트리밍을 시작하라는 명령을 수신하는 것에 응답하여 P2P 서버(124)에 접속하여 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 전달하는 단계(S505)로부터 시작된다. 단계(S510)에서는 제2 단말(109)에서 P2P 서버(124)로부터 수신 응답 메시지를 수신한다. 단계(S515)에서는 제1 단말(107)이 제어 서버(122)의 제어에 따라 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 전달한다. 단계(S520)에서는 P2P 서버(124)에서 P2P 서버(124)의 데이터베이스(210)에 저장된 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 P2P 연결 방식으로 연결되었음을 나타내므로 제1 단말(107)로 제1 응답 메시지를 전달하는 것으로 결정한다. 단계(S525)에서는 P2P 서버(124)에서 제1 단말(107)로 제1 응답 메시지를 전달한다. 제1 응답 메시지는 제2 단말(109)에 대한 네트워크 정보를 포함할 수 있다. 단계(S530)에서는 제1 단말(107)에서 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도한다. 본 실시예에서는 제1 단말(107)이 타이머가 타임 아웃되기 이전에 제2 단말(109)로부터 P2P 연결 응답을 수신하지 못하므로, 단계(S535)에서는 제1 단말(107)에서 릴레이 서버(126)로 릴레이 연결 요청 메시지를 전달한다. 일 실시예에서, 타이머는 P2P 연결에 걸릴 것으로 예상되는 최대 시간의 2배로 설정될 수 있다. 단계(S540)에서 릴레이 서버(126)는 P2P 서버(124)로 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지를 전달한다. 릴레이 서버(126)는 제2 단말(109)에 대한 네트워크 정보를 가지고 있지 않으므로 제2 단말(109)에 대한 네트워크 정보를 가지고 있는 P2P 서버(124)로 하여금 릴레이 서버(126)로 접속하라는 명령을 제2 단말(109)에 전달하게 하기 위함이다. P2P 서버(124)는, 릴레이 서버(126)로부터 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지를 수신하면 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 인지하게 된다. 이에 따라 단계(S545)에서 P2P 서버(124)는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 릴레이 연결 방식으로 연결되었음을 나타내고 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 접속이력 정보를 갱신한다. 단계(S550)에서 P2P 서버(124)는 제2 단말(109)로 릴레이 서버(126)로 접속하라는 접속 명령을 전달한다. 단계(S555)에서는 제2 단말(109)이 릴레이 서버(126)로 접속을 하고, 이로써 제1 단말(107)과 제2 단말(109) 간에 릴레이 통신이 이루어진다.
도 6은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제3 실시예를 도시한 도면이다. 제3 실시예는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 P2P 서버(124)가 제1 단말(107)로 제1 응답 메시지를 전달하여 제1 단말(107)이 제2 단말(109)과의 P2P 연결에 성공한 경우의 신호 흐름도를 나타낸다. 또한 제3 실시예는 제1 단말(107)이 제2 단말(109)과의 연결을 첫 번째 이후로 시도하는 경우의 신호 흐름도를 나타낸다.
도 6에 도시된 바와 같이, 본 방법은 제2 단말(109)에서 제어 서버(122)로부터 촬영 및 스트리밍을 시작하라는 명령을 수신하는 것에 응답하여 P2P 서버(124)에 접속하여 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 전달하는 단계(S605)로부터 시작된다. 단계(S610)에서는 제2 단말(109)에서 P2P 서버(124)로부터 수신 응답 메시지를 수신한다. 단계(S615)에서는 제1 단말(107)이 제어 서버(122)의 제어에 따라 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 전달한다. 단계(S620)에서는 P2P 서버(124)에서 P2P 서버(124)의 데이터베이스(210)에 저장된 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내나 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과되었거나 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)와 접속이력 정보에 포함되어 있는 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)가 서로 다르기 때문에 제1 단말(107)로 제1 응답 메시지를 전달하는 것으로 결정한다. 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)와 접속이력 정보에 포함되어 있는 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)가 서로 다른 경우, 본 단계에서는 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보를 기초로 접속이력 정보에 포함된 제2 단말에 대한 네트워크 정보를 갱신할 수 있다. 단계(S625)에서는 P2P 서버(124)에서 제1 단말(107)로 제1 응답 메시지를 전달한다. 제1 응답 메시지는 제2 단말(109)에 대한 네트워크 정보를 포함할 수 있다. 단계(S630)에서는 제1 단말(107)에서 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도한다. 단계(S635)에서는 제1 단말(107)에서 제2 단말(109)로부터 P2P 연결 응답 메시지를 수신하고, 이로써 제1 단말(107)과 제2 단말(109) 간에 P2P 통신이 이루어진다. 한편 P2P 서버(124)는, 제1 단말(107)로 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버(126)로부터 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 나타내는 메시지(제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지)를 수신하지 못하므로, 단계(S640)에서 P2P 서버(124)는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 P2P 연결 방식으로 연결되었음을 나타내도록 접속이력 정보를 갱신한다.
도 7은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제4 실시예를 도시한 도면이다. 제4 실시예는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 P2P 서버(124)가 제1 단말(107)로 제1 응답 메시지를 전달하였으나 제1 단말(107)이 제2 단말(109)과의 P2P 연결에 실패한 경우의 신호 흐름도를 나타낸다. 또한 제4 실시예는 제1 단말(107)이 제2 단말(109)과의 연결을 첫 번째 이후로 시도하는 경우의 신호 흐름도를 나타낸다.
도 7에 도시된 바와 같이, 본 방법은 제2 단말(109)에서 제어 서버(122)로부터 촬영 및 스트리밍을 시작하라는 명령을 수신하는 것에 응답하여 P2P 서버(124)에 접속하여 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 전달하는 단계(S705)로부터 시작된다. 단계(S710)에서는 제2 단말(109)에서 P2P 서버(124)로부터 수신 응답 메시지를 수신한다. 단계(S715)에서는 제1 단말(107)이 제어 서버(122)의 제어에 따라 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 전달한다. 단계(S720)에서는 P2P 서버(124)에서 P2P 서버(124)의 데이터베이스(210)에 저장된 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내나 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과되었거나 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)와 접속이력 정보에 포함되어 있는 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)가 서로 다르기 때문에 제1 단말(107)로 제1 응답 메시지를 전달하는 것으로 결정한다. 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)와 접속이력 정보에 포함되어 있는 제2 단말(109)의 IP 주소에 관한 정보(네트워크 정보)가 서로 다른 경우, 본 단계에서는 제2 단말(109)로부터 수신한 제2 단말(109)의 IP 주소에 관한 정보를 기초로 접속이력 정보에 포함된 제2 단말에 대한 네트워크 정보를 갱신할 수 있다. 단계(S725)에서는 P2P 서버(124)에서 제1 단말(107)로 제1 응답 메시지를 전달한다. 제1 응답 메시지는 제2 단말(109)에 대한 네트워크 정보를 포함할 수 있다. 단계(S730)에서는 제1 단말(107)에서 제2 단말(109)에 대한 네트워크 정보를 이용하여 제2 단말(109)과의 P2P 연결을 시도한다. 본 실시예에서는 제1 단말(107)이 타이머가 타임 아웃되기 이전에 제2 단말(109)로부터 P2P 연결 응답을 수신하지 못하므로, 단계(S735)에서는 제1 단말(107)에서 릴레이 서버(126)로 릴레이 연결 요청 메시지를 전달한다. 단계(S740)에서 릴레이 서버(126)는 P2P 서버(124)로 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지를 전달한다. P2P 서버(124)는, 릴레이 서버(126)로부터 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지를 수신하면 제1 단말(107)과 제2 단말(109) 간의 P2P 연결이 실패하였음을 인지하게 된다. 이에 따라 단계(S745)에서 P2P 서버(124)는 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 접속이력 정보를 갱신한다. 단계(S750)에서 P2P 서버(124)는 제2 단말(109)로 릴레이 서버(126)로 접속하라는 접속 명령을 전달한다. 단계(S755)에서는 제2 단말(109)이 릴레이 서버(126)로 접속을 하고, 이로써 제1 단말(107)과 제2 단말(109) 간에 릴레이 통신이 이루어진다.
도 8은 네트워크 상에서 단말들 간의 연결을 제어하는 방법을 설명하기 위한 신호 흐름도의 제5 실시예를 도시한 도면이다. 제5 실시예는 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보에 포함된 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 P2P 서버(124)가 제1 단말(107)로 제2 응답 메시지를 전달하는 경우의 신호 흐름도를 나타낸다. 또한 제5 실시예는 제1 단말(107)이 제2 단말(109)과의 연결을 첫 번째 이후로 시도하는 경우의 신호 흐름도를 나타낸다.
도 8에 도시된 바와 같이, 본 방법은 제2 단말(109)에서 제어 서버(122)로부터 촬영 및 스트리밍을 시작하라는 명령을 수신하는 것에 응답하여 P2P 서버(124)에 접속하여 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 전달하는 단계(S805)로부터 시작된다. 단계(S810)에서는 제2 단말(109)에서 P2P 서버(124)로부터 수신 응답 메시지를 수신한다. 단계(S815)에서는 제1 단말(107)이 제어 서버(122)의 제어에 따라 P2P 서버(124)로 제2 단말(109)에 대한 네트워크 정보를 요청하는 요청 메시지를 전달한다. 단계(S820)에서는 P2P 서버(124)에서 P2P 서버(124)의 데이터베이스(210)에 저장된 제1 단말(107)과 제2 단말(109) 간의 접속이력 정보를 참조한 결과 그 연결 방식 정보가 제1 단말(107)과 제2 단말(109)이 이전에 릴레이 연결 방식으로 연결되었음을 나타내므로 제1 단말(107)로 제2 응답 메시지를 전달하는 것으로 결정한다. 단계(S825)에서는 P2P 서버(124)에서 제1 단말(107)로 제2 응답 메시지를 전달한다. 단계(S830)에서는 제1 단말(107)에서 릴레이 서버(126)로 릴레이 연결 요청 메시지를 전달한다. 단계(S835)에서 릴레이 서버(126)는 P2P 서버(124)로 제2 단말(109)로 릴레이 서버(126)로 접속하라는 명령을 전달하라고 요청하는 메시지를 전달한다. 단계(S840)에서 P2P 서버(124)는 제2 단말(109)로 릴레이 서버(126)로 접속하라는 접속 명령을 전달한다. 단계(S845)에서는 제2 단말(109)이 릴레이 서버(126)로 접속을 하고, 이로써 제1 단말(107)과 제2 단말(109) 간에 릴레이 통신이 이루어진다.
이상의 설명에 있어서 어떤 구성 요소가 다른 구성 요소에 접속되거나 결합된다는 기재의 의미는 당해 구성 요소가 그 다른 구성 요소에 직접적으로 접속되거나 결합된다는 의미뿐만 아니라 이들이 그 사이에 개재된 하나 또는 그 이상의 타 구성 요소를 통해 접속되거나 결합될 수 있다는 의미를 포함하는 것으로 이해되어야 한다. 이외에도 구성 요소들 간의 관계를 기술하기 위한 용어들(예컨대, '간에', '사이에' 등)도 유사한 의미로 해석되어야 한다.
본원에 개시된 실시예들에 있어서, 도시된 구성 요소들의 배치는 발명이 구현되는 환경 또는 요구 사항에 따라 달라질 수 있다. 예컨대, 일부 구성 요소가 생략되거나 몇몇 구성 요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성 요소들의 배치 순서 및 연결이 변경될 수 있다.
이상에서는 본 발명의 다양한 실시예들에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예들에 한정되지 아니하며, 상술한 실시예들은 첨부하는 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형 실시될 수 있음은 물론이고, 이러한 변형 실시예들이 본 발명의 기술적 사상이나 범위와 별개로 이해되어져서는 아니 될 것이다. 따라서, 본 발명의 기술적 범위는 오직 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.
107: 제1 단말
109: 제2 단말
122: 제어 서버
124: P2P 서버
126: 릴레이 서버
135: 통신망
210: 데이터베이스
220: 제어부
230: 통신부
109: 제2 단말
122: 제어 서버
124: P2P 서버
126: 릴레이 서버
135: 통신망
210: 데이터베이스
220: 제어부
230: 통신부
Claims (28)
- P2P(Peer-to-Peer) 서버에서 단말들 간의 연결을 제어하는 방법으로서,
제2 단말로부터 상기 제2 단말에 대한 네트워크 정보를 수신하는 단계,
제1 단말로부터 상기 제2 단말에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하는 단계, 및
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계를 포함하고,
상기 제1 응답 메시지는 상기 제2 단말과 P2P 연결을 시도하라고 지시하는 메시지이고, 상기 제2 응답 메시지는 상기 제2 단말과 릴레이(Relay) 연결을 시도하라고 지시하는 메시지이고, 상기 제1 응답 메시지는 상기 제2 단말에 대한 네트워크 정보를 포함하고,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 접속이력 정보의 갱신 날짜에 관한 정보를 포함하며,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과된 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하는 단계를 포함하는, 단말들 간의 연결 제어 방법.
- 제1항에 있어서,
상기 제2 단말에 대한 네트워크 정보는 상기 제2 단말의 IP(Internet Protocol) 주소에 관한 정보를 포함하는, 단말들 간의 연결 제어 방법.
- 제1항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 P2P 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하는 단계를 포함하는, 단말들 간의 연결 제어 방법.
- 제3항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며,
상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함하는 단말들 간의 연결 제어 방법.
- 제4항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지인, 단말들 간의 연결 제어 방법.
- 제1항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제2 응답 메시지를 전달하는 단계를 포함하는, 단말들 간의 연결 제어 방법.
- 삭제
- 제1항에 있어서,
상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함하는 단말들 간의 연결 제어 방법.
- 제1항에 있어서,
상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함하는 단말들 간의 연결 제어 방법.
- 제9항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지인, 단말들 간의 연결 제어 방법.
- 제2항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 제2 단말의 IP 주소에 관한 정보를 포함하며,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하는 단계는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 제2 단말로부터 수신한 상기 제2 단말의 IP 주소에 관한 정보와 상기 접속이력 정보에 포함된 상기 제2 단말의 IP 주소에 관한 정보가 서로 다른 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하는 단계를 포함하는, 단말들 간의 연결 제어 방법.
- 제11항에 있어서,
상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함하는 단말들 간의 연결 제어 방법.
- 제11항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며,
상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하는 단계를 더 포함하는 단말들 간의 연결 제어 방법.
- 제13항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지인, 단말들 간의 연결 제어 방법.
- 단말들 간의 연결을 제어하기 위한 P2P 서버로서,
제1 단말과 제2 단말 간의 접속이력 정보를 저장하는 데이터베이스, 및
상기 제2 단말로부터 상기 제2 단말에 대한 네트워크 정보를 수신하고, 상기 제1 단말로부터 상기 제2 단말에 대한 네트워크 정보를 요청하는 요청 메시지를 수신하고, 상기 접속이력 정보를 참조하여 상기 제1 단말로 제1 응답 메시지 또는 제2 응답 메시지를 전달하도록 구성된 제어부를 포함하고,
상기 제1 응답 메시지는 상기 제2 단말과 P2P 연결을 시도하라고 지시하는 메시지이고, 상기 제2 응답 메시지는 상기 제2 단말과 릴레이 연결을 시도하라고 지시하는 메시지이고, 상기 제1 응답 메시지는 상기 제2 단말에 대한 네트워크 정보를 포함하고,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 접속이력 정보의 갱신 날짜에 관한 정보를 포함하며,
상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜로부터 선정된 기간 이상이 경과된 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하도록 더 구성되는, P2P 서버.
- 제15항에 있어서,
상기 제2 단말에 대한 네트워크 정보는 상기 제2 단말의 IP 주소에 관한 정보를 포함하는, P2P 서버.
- 제15항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며,
상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 P2P 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하도록 더 구성되는, P2P 서버.
- 제17항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며,
상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 릴레이 연결 방식으로 연결되었음을 나타내고 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성되는, P2P 서버.
- 제18항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지인, P2P 서버.
- 제15항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보를 포함하며,
상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내는 경우 상기 제1 단말로 상기 제2 응답 메시지를 전달하도록 더 구성되는, P2P 서버.
- 삭제
- 제15항에 있어서,
상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성되는, P2P 서버.
- 제15항에 있어서,
상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성되는, P2P 서버.
- 제23항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지인, P2P 서버.
- 제16항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 연결 방식 정보 및 상기 제2 단말의 IP 주소에 관한 정보를 포함하며,
상기 제어부는, 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 이전에 릴레이 연결 방식으로 연결되었음을 나타내고 상기 제2 단말로부터 수신한 상기 제2 단말의 IP 주소에 관한 정보와 상기 접속이력 정보에 포함된 상기 제2 단말의 IP 주소에 관한 정보가 서로 다른 경우 상기 제1 단말로 상기 제1 응답 메시지를 전달하도록 더 구성되는, P2P 서버.
- 제25항에 있어서,
상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 선정된 시간 내에 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하지 못하는 경우 상기 연결 방식 정보가 상기 제1 단말과 상기 제2 단말이 P2P 연결 방식으로 연결되었음을 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성되는, P2P 서버.
- 제25항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 접속이력 정보는 상기 접속이력 정보의 갱신 날짜에 관한 정보를 더 포함하며,
상기 제어부는, 상기 제1 단말로 상기 제1 응답 메시지를 전달한 후 릴레이 서버로부터 상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지를 수신하는 것에 응답하여 상기 접속이력 정보의 갱신 날짜가 현재의 날짜를 나타내도록 상기 접속이력 정보를 갱신하도록 더 구성되는, P2P 서버.
- 제27항에 있어서,
상기 제1 단말과 상기 제2 단말 간의 P2P 연결이 실패하였음을 나타내는 메시지는, 상기 제2 단말로 상기 릴레이 서버로 접속하라는 명령을 전달하라고 요청하는 메시지인, P2P 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200138258A KR102494912B1 (ko) | 2020-10-23 | 2020-10-23 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
KR1020220125436A KR102595010B1 (ko) | 2020-10-23 | 2022-09-30 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200138258A KR102494912B1 (ko) | 2020-10-23 | 2020-10-23 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220125436A Division KR102595010B1 (ko) | 2020-10-23 | 2022-09-30 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220053914A KR20220053914A (ko) | 2022-05-02 |
KR102494912B1 true KR102494912B1 (ko) | 2023-02-06 |
Family
ID=81593430
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200138258A KR102494912B1 (ko) | 2020-10-23 | 2020-10-23 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
KR1020220125436A KR102595010B1 (ko) | 2020-10-23 | 2022-09-30 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220125436A KR102595010B1 (ko) | 2020-10-23 | 2022-09-30 | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102494912B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017046069A (ja) * | 2015-08-24 | 2017-03-02 | シャープ株式会社 | 通信装置、通信システム、および通信装置の制御方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11298524A (ja) * | 1998-04-10 | 1999-10-29 | Nec Corp | ネットワークシステム及び経路制御装置 |
KR100810759B1 (ko) * | 2006-02-17 | 2008-03-07 | 엔에이치엔(주) | P2p 파일 전송 시스템 및 방법 |
KR101497630B1 (ko) * | 2013-04-05 | 2015-03-03 | 삼성에스디에스 주식회사 | 모바일 환경에서의 p2p 접속 시스템 및 단말과 이를 이용한 p2p 접속 방법 |
US11197180B2 (en) * | 2016-12-08 | 2021-12-07 | Sony Corporation | Terminal apparatus, method, and recording medium |
-
2020
- 2020-10-23 KR KR1020200138258A patent/KR102494912B1/ko active IP Right Grant
-
2022
- 2022-09-30 KR KR1020220125436A patent/KR102595010B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017046069A (ja) * | 2015-08-24 | 2017-03-02 | シャープ株式会社 | 通信装置、通信システム、および通信装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102595010B1 (ko) | 2023-10-26 |
KR20220136334A (ko) | 2022-10-07 |
KR20220053914A (ko) | 2022-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10321298B2 (en) | Selection of preferred mechanisms for telephone number validation | |
US9332583B2 (en) | Multipoint communication device and method of performing switching from multipoint communication to point-to-point communication | |
EP3308563B1 (en) | Scheme for sharing user profile information in mobile communication system | |
US9445348B2 (en) | Delivery of Internet based service to user equipment | |
CA2905889C (en) | Systems and methods for delivering multimedia information to mobile devices | |
EP3661259A1 (en) | Traffic offloading method and related apparatus in roaming scenario | |
EP2908477B1 (en) | Remote access method and device | |
US9197575B2 (en) | Handling of snapshot messages as a result of delivery failure in a two-way push connection | |
US11452162B2 (en) | Session management method, mobility management functional entity and session management functional entity | |
KR102267802B1 (ko) | 이동 단말에서 RCS(Rich Communication Suite) 및 VoLTE(Voice over LTE) 서비스를 지원하는 방법 및 장치 | |
US9417887B2 (en) | Method and apparatus for bootstrapping gateway in device management system | |
EP2797285B1 (en) | Method and apparatus for network communication | |
KR102494912B1 (ko) | 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치 | |
JP2015037275A (ja) | 移動通信端末 | |
KR101224557B1 (ko) | 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법 | |
WO2012167473A1 (zh) | 消息状态设置方法和cpm业务服务器 | |
CN114979243A (zh) | 一种提供云终端服务的方法和装置 | |
JP6469203B2 (ja) | 端末装置、通信セッション確立方法、及び、プログラム | |
CN106211142A (zh) | 一种WiFi AP终端广域网接入方法 | |
US10349235B2 (en) | Apparatus and method for transmitting message reception information in wireless communication system | |
RU2783588C2 (ru) | Способ конфигурации сети и устройство связи | |
WO2020200104A1 (en) | Network node, server and methods for facilitating non-ip data delivery | |
EP3249875A1 (en) | Wireless communication method, remote user equipment and relay user equipment | |
CN117397220A (zh) | 用于促进一级号码的路由的系统和方法 | |
WO2019157745A1 (zh) | 数据传输的方法、终端设备和网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |