KR20180137254A - 통신 시스템에서 연결 제어 장치 및 방법 - Google Patents

통신 시스템에서 연결 제어 장치 및 방법 Download PDF

Info

Publication number
KR20180137254A
KR20180137254A KR1020170076682A KR20170076682A KR20180137254A KR 20180137254 A KR20180137254 A KR 20180137254A KR 1020170076682 A KR1020170076682 A KR 1020170076682A KR 20170076682 A KR20170076682 A KR 20170076682A KR 20180137254 A KR20180137254 A KR 20180137254A
Authority
KR
South Korea
Prior art keywords
domain name
server
redirect
message
dns
Prior art date
Application number
KR1020170076682A
Other languages
English (en)
Other versions
KR102333144B1 (ko
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 KR1020170076682A priority Critical patent/KR102333144B1/ko
Priority to EP18177520.6A priority patent/EP3416356A1/en
Priority to US16/010,096 priority patent/US10778780B2/en
Priority to CN201810618348.5A priority patent/CN109150953B/zh
Publication of KR20180137254A publication Critical patent/KR20180137254A/ko
Application granted granted Critical
Publication of KR102333144B1 publication Critical patent/KR102333144B1/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/14Session management
    • H04L67/141Setup of application sessions
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1002
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/2814
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 개시는 LTE(Long Term Evolution)와 같은 4G(4th generation) 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G(5th generation) 또는 pre-5G 통신 시스템에 관련된 것이다. 본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 프록시(proxy) 장치의 동작 방법은, 외부 서버로부터 적어도 하나의 도메인 네임(domain name)에 대한 정보를 수신하는 과정과, 상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하는 과정과, 클라이언트 장치로부터, 상기 적어도 하나의 도메인 네임 중 하나의 도메인 네임에 대한 DNS(domain name server) 쿼리 메시지를 수신하는 과정과, 상기 생성된 연결 정보에 기반하여, 상기 도메인 네임에 대응하는 서버로 연결을 설정하는 과정을 포함한다.

Description

통신 시스템에서 연결 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING OF CONNECTION IN COMMUNICATION SYSTEM}
본 개시(disclosure)는 일반적으로 통신 시스템에 관한 것으로, 보다 구체적으로 프록시(proxy) 환경에서 연결 설정을 제어하기 위한 장치 및 방법에 관한 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE(Long Term Evolution) 시스템 이후(Post LTE) 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network, cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication, D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation, ACM) 방식인 FQAM(Hybrid Frequency Shift Keying and Quadrature Amplitude Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(Non Orthogonal Multiple Access), 및 SCMA(Sparse Code Multiple Access) 등이 개발되고 있다.
5G는 다양한 형태의 단말들을 고려하고 있다. 예를 들어, 이동성이 낮거나 또는 이동성을 가지지 아니하는 장치가 무선망 기지국과 무선 통신을 하기 위한 고정식 무선 접속(fixed wireless access, FWA) 방식이 논의되고 있다. 고정식 무선 접속은 사무소, 가정 등 댁 내 인터넷 서비스의 연결을 위해 사용될 수 있으며, 이 경우 종전의 유선망 설치 비용 및 노력이 감소될 수 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, 통신 시스템에서 연결 설정을 제어하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 통신 시스템의 프록시(proxy) 환경에서 연결 설정 지연을 방지하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 프록시 환경에서 도메인 네임에 대한 DNS(domain name server) 쿼리(query) 결과 정보를 관리하여 연결 설정을 제어하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 프록시 환경에서 도메인 네임에 대한 리다이렉트(redirect) 정보를 관리하여 연결 설정 지연을 방지하기 위한 장치 및 방법을 제공한다.
본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 프록시(proxy) 장치의 동작 방법은, 외부 서버로부터 적어도 하나의 도메인 네임(domain name)에 대한 정보를 수신하는 과정과, 상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하는 과정과, 클라이언트 장치로부터, 상기 적어도 하나의 도메인 네임 중 하나의 도메인 네임에 대한 DNS(domain name server) 쿼리 메시지를 수신하는 과정과, 상기 생성된 연결 정보에 기반하여, 상기 도메인 네임에 대응하는 서버로 연결을 설정하는 과정을 포함한다.
본 개시의 다양한 실시 예들에 따르면, 통신 시스템에서 프록시 장치는, 송수신부와, 상기 송수신부와 기능적으로 연결되어 신호의 송수신을 제어하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 외부 서버로부터 적어도 하나의 도메인 네임에 대한 정보를 수신하고, 상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하고, 클라이언트 장치로부터, 상기 적어도 하나의 도메인 네임 중 하나의 도메인 네임에 대한 DNS 쿼리 메시지를 수신하고, 상기 생성된 연결 정보에 기반하여, 상기 도메인 네임에 대응하는 서버로 연결을 설정하도록 제어한다.
본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 프록시 환경에서 도메인 네임에 대한 DNS(domain name server) 쿼리(query) 정보를 이용하여, DNS 쿼리 응답으로 인한 연결 설정 지연 또는 리다이렉트(redirect) 발생으로 인한 지연을 감소시킬 수 있다. 이를 통해, 웹 페이지 로딩 시간 또는 비디오스트리밍 시 초기 지연 등을 감소시켜 사용자들의 QoE(quality of experience)를 향상시킬 수 있다. 또한, 본 개시의 다양한 실시 예들에 따른 방법은, 프록시 장치를 제외한 다른 기기들(예: 서버, AP(access point), 단말, 어플리케이션 등)의 변경은 필요하지 않으므로 범용성을 높일 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 다양한 실시 예들에 따른 통신 시스템을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 프록시(proxy) 장치의 블록 구성을 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 프록시 장치의 동작 방법을 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인(domain) 정보에 기반한 프록시 장치의 동작 방법을 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 연결 지연 최소화를 위해 하나 이상의 IP(internet protocol) 주소에 대해 연결을 생성하는 프록시 장치의 동작 방법을 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 조건에 따라 DNS(domain name server) 목록(table)을 업데이트 하기 위한 프록시 장치의 동작 방법을 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 주기적으로 DNS 목록을 업데이트하기 위한 프록시 장치의 동작 방법을 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 주기적으로 IP 주소별 DNS 목록을 업데이트하기 위한 프록시 장치의 동작 방법을 도시한다.
도 9는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 리다이렉트(redirect) 연결을 제어하는 프록시 장치의 동작 방법을 도시한다.
도 10은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인에 대한 리다이렉트 정보에 따라 연결을 제어하는 프록시 장치의 동작 흐름도를 도시한다.
도 11은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인에 대한 리다이렉트 정보에 따라 연결 지연을 방지하기 위한 프록시 장치의 동작 흐름도를 도시한다.
도 12는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인에 대한 리다이렉트 메시지 송수신을 생략함으로써 연결 지연을 방지하기 위한 프록시 장치의 동작 흐름도를 도시한다.
도 13은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 HTTP(hyper text transfer protocol)에서 HTTPS(hyper text transfer protocol over secure socket layer)로 리다이렉트 발생시 프록시 장치의 동작 흐름도를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 통신 시스템에서 데이터 전송을 제어하기 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 프록시(proxy) 환경에서 연결 설정을 제어하기 위한 기술을 설명한다.
이하 설명에서 사용되는 네트워크 객체(network entity)들을 지칭하는 용어, 제어 정보를 지칭하는 용어(예: RTT(round trip time) 등), 장치의 구성 요소를 지칭하는 용어, 통신 기술을 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
또한, 본 개시는, 5G(5th generation) 시스템과 Wi-Fi(wireless fidelity) 시스템을 이용하여 다양한 실시 예들을 설명하지만, 이는 설명을 위한 예시일 뿐이다. 본 개시의 다양한 실시 예들은, 다른 통신 시스템에서도, 용이하게 변형되어 적용될 수 있다.
도 1은 본 개시의 다양한 실시 예들에 따른 통신 시스템을 도시한다. 도 1을 참고하면, 시스템은 프록시 장치 110, 단말 120, DNS (domain name server) 서버 130, 컨텐츠 서버 A 140-1 내지 140-2, 컨텐츠 서버 B 150-1 내지 150-2 및 정보 서버 160을 포함한다.
프록시 장치 110은 중계 장치로서, 적어도 하나의 클라이언트 장치(예: 모바일 단말 120 등)로부터 요청을 받아 서버(예: DNS 서버 130, 컨텐츠 서버 A 140-1 내지 140-2, 컨텐츠 서버 B 150-1 내지 150-2 등)로부터의 데이터 전송을 중계하는 장치를 의미한다. 프록시 장치 110은 서버로의 자원 요청을 중계하여, 분산 시스템의 구조를 단순화하고 캡슐화하여 서비스의 복잡도를 줄이는 역할을 할 수 있다. 이에 따라, 프록시 장치 110은 단말 120이 서버(예: 컨텐츠 서버 A 140-1 내지 140-2, 컨텐츠 서버 B 150-1 내지 150-2 등)을 통한 다양한 어플리케이션 서비스(예: AR(augmented reality), VR(virtual reality), 게임, 파일 다운로드 등)를 제공 받기 위한 패킷 송신 및 수신을 중계할 수 있다. 다양한 실시 예들에서, 프록시 장치 110은 유선망에 연결된 고정된(stationary) 장치일 수 있다. 또한, 프록시 장치 110은 기지국으로부터 무선 접속을 제공 받는 고정식 무선 접속(fixed wireless access, FWA) 장치일 수 있다. 다양한 실시 예들에 따르면, 댁 내 인터넷 제공을 기존 유선망에서 무선망(예: LTE 무선 접속 망, 5G 무선 접속 망 등)으로 대체하는 환경에서, 프록시 장치 110은 무선 접속 망의 기지국과 무선 통신을 하기 위한 댁 내 장치일 수 있다. 예를 들어, 프록시 장치 110은 댁 내 인터넷 서비스 제공을 위한 CPE(customer premise equipment) 장치일 수 있다. 프록시 장치 110은, 상술한 장치들 중 둘 이상의 기능들을 결합한 장치일 수 있다. 다양한 실시 예들에 따라, 프록시 장치 110은 적어도 하나의 클라이언트 장치(예: 단말 120 등)로부터 DNS 쿼리(query) 요청을 수신하는 경우, 기 생성된 DNS 쿼리 정보에 기반하여 연결 설정을 제어함으로써 연결 지연을 방지할 수 있다.
단말 120은 인터넷 망을 이용하여 제공되는 양방향 서비스, 음성/영상 통화 등의 서비스를 제공하는 클라이언트 장치이다. 예를 들어, 단말 120은 스마트폰(smart phone), 휴대용 단말기(portable terminal), 이동 전화(mobile phone), 이동 패드(mobile pad), 미디어 플레이어(media player), 태블릿 컴퓨터(tablet computer), 핸드헬드 컴퓨터(handheld computer), PDA(Personal Digital Assistant) 중 하나일 수 있고. 또한, 상기 상술한 장치들 중 둘 이상의 기능들을 결합한 장치일 수 있다. 일 실시 예에 따라, 단말 120은 Wi-Fi(wireless fidelity) 접속 망을 구성하는 AP(access point)를 통해 프록시 장치 110에 연결되며, 프록시 장치 110을 통해 서버(예: DNS 서버 130, 컨텐츠 서버 A 140-1 내지 140-2, 컨텐츠 서버 B 150-1 내지 150-2 등) 로부터 다양한 어플리케이션 서비스를 위한 데이터를 송수신할 수 있다. 다른 실시 예에 따라, AP는 프록시 장치 110의 일부 기능 블록으로 포함될 수 있다.
DNS 서버 130은 도메인 주소를 컴퓨터와 같은 전자 장치가 인식할 수 있는 IP 주소로 변환해 주는 서버이다. 예를 들어, DNS 서버 130은 단말 120의 DNS 쿼리 메시지를 프록시 장치 110을 통해 수신하고, DNS 쿼리 결과 정보를 프록시 장치 110으로 전송한다.
컨텐츠 서버 A 140-1 내지 140-2 및 컨텐츠 서버 B 150-1 내지 150-2은 다양한 어플리케이션 서비스를 제공하기 위한 장치이다. 컨텐츠 서버 A 140-1 내지 140-2 및 컨텐츠 서버 B 150-1 내지 150-2은 IP를 기반으로, 음성, 오디오, 비디오, 데이터 등의 멀티미디어(multimedia) 서비스를 제공할 수 있다. 예를 들어, 컨텐츠 서버 A 140-1 내지 140-2 및 컨텐츠 서버 B 150-1 내지 150-2은 인터넷 서비스를 위한 웹 페이지에 대한 연결을 제공할 수 있다. 일 실시 예에 따라, 단말 120은 프록시 장치 110을 통해 DNS 서버 130으로 DNS 쿼리를 전송하고, DNS 서버 130으로부터 도메인에 대응하는 적어도 하나의 서버(예: 컨텐츠 서버 A 140-1 내지 140-2, 컨텐츠 서버 B 150-1 내지 150-2 등) 주소를 수신할 수 있다. 단말 120은 수신된 서버 주소로 데이터를 송수신할 수 있다. 예를 들어, 컨텐츠 서버 A 140-1 내지 140-2는 특정 웹 사이트에 대한 DNS 쿼리 결과 대응되는 서버이고, 컨텐츠 서버 B 150-1 내지 150-2는 특정 웹 사이트에 대한 리다이렉트(redirect) 서버일 수 있다.
정보 서버 160은 인터넷 사이트별 트래픽에 관한 정보를 관리하는 서버를 말한다. 예를 들어, 정보 서버 160은 프록시 서버 110으로 특정 기간 내에 인터넷 사이트별 트래픽양 또는 순위 정보를 제공할 수 있다. 일 실시 예에 따라, 정보 서버 160은 알렉사(alexa) 서버일 수 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 프록시 장치의 블록 구성을 도시한다. 도 2는 프록시 장치 110의 구성으로 이해될 수 있다. 이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 도 2에 도시된 바와 같이, 프록시 장치는 통신부 210, 저장부 220, 제어부 230을 포함한다.
통신부 210은 네트워크 내 다른 노드들과 신호를 송신 및 수신하거나, 서로 다른 네트워크의 노드들 간에 신호를 송신 및 수신하기 위한 적어도 하나의 인터페이스를 제공한다. 즉, 통신부 210은 프록시 장치에서 다른 노드, 예를 들어, 접속 노드, 기지국, 코어망 등으로 송신되는 비트열을 물리적 신호로 변환하고, 다른 노드로부터 수신되는 물리적 신호를 비트열로 변환한다. 일 실시 예에 따라, 통신부 210는 둘 이상의 통신 인터페이스들을 지원할 수 있다. 예를 들어, 통신부 210는 외부 서버와의 통신을 위한 무선 접속 망에 접속하기 위한 제1 인터페이스, 특정 공간(예: 댁 내)에 인터넷 연결을 제공하기 위한 제2 인터페이스를 지원할 수 있다. 제1 인터페이스는 무선 인터페이스로, 제2 인터페이스는 유선 또는 무선 인터페이스로 구현될 수 있다.
예를 들어, 통신부 210은, 무선 인터페이스로서, 무선 채널을 통해 신호를 송수신하기 위한 기능들을 수행하는 무선 통신부(미도시)를 포함할 수 있다. 무선 통신부는 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 예를 들어, 데이터 송신 시, 무선 통신부는 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 또한, 데이터 수신 시, 무선 통신부는 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 또한, 무선 통신부는 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나를 통해 송신하고, 안테나를 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 이를 위해, 무선 통신부는 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(digital to analog convertor), ADC(analog to digital convertor) 등을 포함할 수 있다. 또한, 무선 통신부는 다수의 송수신 경로(path)들을 포함할 수 있다. 나아가, 무선 통신부는 다수의 안테나 요소들(antenna elements)로 구성된 적어도 하나의 안테나 어레이(antenna array)를 포함할 수 있다. 하드웨어의 측면에서, 무선 통신부는 디지털 유닛(digital unit) 및 아날로그 유닛(analog unit)으로 구성될 수 있으며, 아날로그 유닛은 동작 전력, 동작 주파수 등에 따라 다수의 서브 유닛(sub-unit)들로 구성될 수 있다. 다양한 실시 예들에 따라, 프록시 장치는 무선 통신부를 통해 무선 접속 망의 기지국과 연동될 수 있다.
통신부 210은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 210은 ‘송신부’, ‘수신부’ 또는 ‘송수신부’로 지칭될 수 있다. 또한, 이하 설명에서 무선 또는 유선 채널을 통해 수행되는 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다.
저장부 220은 프록시 장치의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 저장부 220은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 그리고, 저장부 220은 제어부 230의 요청에 따라 저장된 데이터를 제공한다.
제어부 230은 프록시 장치의 전반적인 동작들을 제어한다. 예를 들어, 제어부 230은 통신부 210을 통해 신호를 송신 및 수신한다. 또한, 제어부 230은 저장부 220에 데이터를 기록하고, 읽는다. 이를 위해, 제어부 230은 적어도 하나의 프로세서(processor) 또는 마이크로(micro) 프로세서를 포함하거나, 또는, 프로세서의 일부일 수 있다. 또한, 통신부 210의 일부 및 제어부 230은 CP(communication processor)라 지칭될 수 있다. 특히, 제어부 230은 후술되는 다양한 실시 예들에 따라 프록시 장치에서 도메인 네임에 관한 정보를 관리하고, 상기 도메인 네임에 관한 정보에 기반하여 DNS 쿼리에 대한 응답 및 해당 도메인으로 연결 설정을 제어할 수 있다. 이를 위해, 제어부 230은 도메인 네임 관리부 232를 포함할 수 있다. 여기서, 도메인 네임 관리부 232는 저장부 220에 저장된 명령어 집합 또는 코드로서, 적어도 일시적으로 제어부 230에 상주된(resided) 명령어/코드 또는 명령어/코드를 저장한 저장 공간이거나, 또는, 제어부 230을 구성하는 회로(circuitry)의 일부일 수 있다. 예를 들어, 상기 제어부 230은 프록시 장치가 후술하는 다양한 실시 예들에 따르는 절차를 수행하도록 제어한다.
5G 표준화 논의가 본격화되면서, 기가비트(giga bit)급 속도를 통해 자율 주행차량과 사물 인터넷, 무선 광대역 분야의 혁신이 예고되고 있다. 특히, 5G의 빠른 속도를 바탕으로 댁 내의 인터넷 서비스를 5G FWA를 통해 제공함으로써, 집집마다 유선망 설치를 위한 과다 비용을 줄이면서도 빠른 속도를 이용하여 다양한 서비스에 대한 사용자 체감 품질을 높이는 방안이 논의되고 있다. 또한, 5G 시스템에서, VR 및 AR 등 지연(delay)에 민감한 서비스와 인터랙티브(interactive) 서비스에 대한 요구가 있다. 따라서, 5G의 이러한 실시간성 서비스들에 대한 사용자 QoE(quality of experience)를 향상시키기 위해서는 속도뿐 아니라 지연에 대한 고려도 필요하다.
사용자 단말에서 연결 설정에 지연이 발생하는 경우 사용자의 QoE를 저하시키므로, 설정 지연을 감소 시키는 방안이 필요하다. 일 실시 예에 따른 연결 설정 지연의 대표적인 예로, 웹 서핑(web surfing) 어플리케이션 실행 시 웹 페이지의 로딩 지연을 들 수 있다. 사용자 단말에서 웹 서핑 시, DNS 캐시(cache)에 도메인 네임에 해당하는 IP 주소가 없는 경우 DNS 쿼리를 통해 해당 도메인 네임에 대한 IP 주소를 획득하게 된다. 최근 DNS 서버는 정보의 유효 기간을 지시하는 TTL(time to live)을 작은 값으로 설정하여 정보의 정확도를 높이고자 하는 경향이 있다. 이런 이유로 TTL이 짧게 설정되는 경우, 도메인 네임에 대응하는 IP 주소 정보가 DNS 캐시에 없을 확률이 높고, 잦은 DNS 쿼리 발생으로 인한 연결 설정 지연을 유발하게 된다. 또한, 대형 포털(portal) 사이트의 웹 페이지 접속 시, 대개 여러 도메인들과 통신하기 때문에 DNS 쿼리가 많이 발생할 수 있다. DNS 쿼리가 많이 발생한다는 것은 그만큼 연결 설정 시간이 길어지고, 웹 페이지의 로딩 시간을 길게 만든다는 것을 의미한다. 예를 들어, 특정 통신사 망을 통한 DNS 쿼리 응답 시간(DNS request-response에 소요되는 시간)은 100ms 내외가 소모될 수 있다.
또한, 특정 도메인에 대한 리다이렉트(redirect) 정보를 수신하는 경우, 연결 설정은 더욱 지연될 수 있다. 리다이렉트 정보는, 예를 들어, HTTP(hyper text transfer protocol) 접속을 HTTPS(hyper text transfer protocol over secure socket layer) 접속으로 리다이렉트 하거나, 도메인 A에서 도메인 B로 리다이렉트하는 경우로 구분될 수 있다. 일 실시 예에 따라, 사용자 단말에서 aaa.com을 입력하는 경우, aaa포탈이 HTTPS만을 지원하기 때문에, 이를 https://www.aaa.com으로 리다이렉트시키기 위한 메시지를 전송할 수 있다. 이 경우, 불필요한 수 백 ms 정도 추가 시간이 소모될 수 있다. 일 실시 예에 따라, 사용자 단말에서 도메인 A에 대해 연결 요청한 결과 도메인 B로 리다이렉트 시키기 위한 메시지를 수신할 수 있다. 이 경우 접속 도메인이 바뀔 수 있기 때문에 추가적으로 새로운 DNS 쿼리가 필요할 수 있고, 연결 설정은 더욱 지연될 수 있다.
상술한 바와 같이, 사용자의 QoE를 향상시키기 위해 사용자의 서비스 실행 요청 시 연결 설정 시간을 감소 시키는 것이 중요한 문제로 대두되고 있다. 따라서, 본 개시는 프록시 환경에서 DNS 쿼리 응답 시간 지연을 최소화 하고, 리다이렉트 발생으로 인한 지연을 최소화 하여, 사용자 QoE를 향상시키는 방안을 제시하고자 한다.
다만, 본 개시는 5G서비스 환경이나, Wi-Fi 환경에만 제한 되는 것은 아니다. 다른 실시 예들에 따라, 본 개시에서 제안하는 연결 설정을 제어하는 방법은, DNS 쿼리가 필요한 서비스를 제공하고 프록시 환경을 포함하는 모든 시스템에 적용될 수 있다.
상술한 바와 같이, 본 개시는 프록시 환경에서 연결 설정을 제어하는 방법을 제안한다. 본 개시의 다양한 실시 예에 따라, 프록시 환경에서 DNS 쿼리 정보를 관리하고 연결 설정을 제어하는 동작들은 도 3 내지 도 13과 같이 수행될 수 있다.
도 3은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 프록시 장치의 동작 방법을 도시한다. 도 3은 프록시 장치 110의 동작 방법을 예시한다.
도 3을 참고하면, 301 단계에서, 프록시 장치는 적어도 하나의 도메인 네임에 대한 DNS 쿼리 정보를 생성한다. 예를 들어, 프록시 장치는 적어도 하나의 도메인 네임에 대해 주기적(periodic) 또는 요청에 따라(on-demand) DNS 쿼리 정보를 생성 또는 업데이트할 수 있다. 일 실시 예에 따라, 프록시 장치는 클라이언트 장치들(예: 단말 120)의 실시간 트래픽, 트래픽 이력, 트래픽 상위 100 사이트 등에 기반하여, 적어도 하나의 도메인 네임을 포함하는 도메인 리스트(list)를 생성 또는 업데이트할 수 있다. 예를 들어, 프록시 장치는 상위 100 사이트 정보는 외부 서버(예: 정보 서버 160)로부터 수신할 수 있다. 프록시 장치는 도메인 리스트 내 도메인 네임들에 대해 주기적 또는 요청에 따라 DNS 쿼리를 수행하고, DNS 쿼리 결과 내의 IP 주소들에 대해 주기적 또는 요청에 따라 RTT 정보를 생성 또는 업데이트할 수 있다.
이후, 303 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120 등)로부터 도메인 네임에 대한 DNS 쿼리 메시지를 수신한다. 일 실시 예에 따라, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, DNS 쿼리 메시지를 수신할 수 있다.
305 단계에서, 프록시 장치는 도메인 네임에 대응하는 서버로 연결을 설정한다. 예를 들어, 프록시 장치는 해당 도메인 네임에 대한 DNS 쿼리 정보를 검색하고, 대응하는 IP 주소로 연결 설정을 요청하는 메시지를 전송할 수 있다. 대응하는 IP 주소는 RTT 값이 가장 작은 IP 주소이거나, 리다이렉트 서버에 대한 IP 주소일 수 있다. 이 때, 클라이언트 장치로는 DNS 쿼리에 대한 응답 메시지를 전송할 수 있다. 응답 메시지에는 RTT 값이 가장 작은 하나의 IP 주소 혹은 RTT 값이 작은 순으로 정렬된 복수 개의 IP 주소를 포함할 수 있다. 일 실시 예에 따라, 해당 도메인 네임에 대해 생성된 DNS 쿼리 정보가 없는 경우, 프록시 장치는 DNS 서버(예: DNS 서버 130)로 DNS 쿼리를 실시하여 대응하는 IP 주소로 연결을 설정할 수 있다. 이 때, 프록시 장치는 해당 도메인 네임에 대한 DNS 쿼리 정보를 업데이트 할 수 있다.
일 실시 예들에 따라, 클라이언트 장치(예: 단말 120) 인근에 위치한 프록시 장치(예: 프록시 장치 110 (댁 내 인터넷 서비스 제공을 위한 장치인 CPE))가 DNS 정보 관리를 수행할 수 있다. 프록시 장치는 이를 기반으로 클라이언트 장치의 DNS 쿼리에 대한 DNS 쿼리 응답을 전송하여, 클라이언트 장치와 DNS 서버(예: DNS 서버 130)간 DNS 쿼리 및 DNS 쿼리 응답에 따른 지연을 최소화할 수 있다. (예: 클라이언트 장치와 DNS 서버간 지연: 80~130ms, 클라이언트와 프록시 장치간 지연: ~10ms) 또한, 프록시 장치는 DNS 서버로부터의 DNS 쿼리 응답 내에 실린 여러 IP 주소들에 대해서 지연이 가장 짧은 IP 주소만(또는 우선적으로) 포함하여 DNS 쿼리 응답을 전송함으로써, 서버와 연결을 설정하는데 소요되는 지연 및 향후 그 연결을 사용하여 데이터를 주고 받는 데 걸리는 지연 모두를 감소시킬 수 있다.
상술한 바와 같이, 종래의 잦은 DNS 쿼리 발생에 따른 설정 지연 문제를 개선하고, 사용자 QoE 향상을 위한 새로운 방안이 요구되고 있다. 본 개시는 특히, 서버/단말/어플리케이션의 수정 없이 프록시 장치의 수정만으로 사용자 QoE 향상을 위한 연결 설정 제어 방안을 제시하여 기술의 범용성을 높이고자 한다. 본 개시의 다양한 실시 예들에 따라, 프록시 장치에서 DNS 쿼리 정보를 관리하고 가장 응답이 빠른 IP 주소로 연결을 유도하는 보다 상세한 절차는 도 4 내지 도 8과 같이 수행될 수 있다.
도 4는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인 정보에 기반한 프록시 장치의 동작 방법을 도시한다. 도 4는 프록시 장치 110의 동작 방법을 예시한다.
도 4를 참고하면, 401 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120)로부터 특정 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, DNS 쿼리 메시지를 수신할 수 있다.
이후, 403 단계에서, 프록시 장치는 특정 도메인이 도메인 리스트에 존재하는지 판단한다. 일 실시 예에 따라, 프록시 장치는 특정 도메인에 관한 DNS 쿼리에 대한 정보가 DNS 목록(table)에 포함되어 있는지 결정한다. 예를 들어, 도메인 리스트에 대한 DNS 쿼리 정보를 포함하는 DNS 목록은 [표 1]과 같이 구성될 수 있다.
Figure pat00001
[표 1]의 DNS 목록은 도메인 리스트(Domain), 단말로부터 해당 도메인에 대한 마지막 쿼리가 발생한 시각(Last Used), 마지막 도메인 리스트 갱신 시각(Last Updated(Domain)), 도메인에 대한 CNAME(canonical name), CNAME에 대응하는 IP 주소(IP address), IP 주소에 대응하는 서버와 프록시 장치 간 RTT(ms) 및 마지막 RTT 갱신 시각(Last Updated (RTT)) 정보를 포함할 수 있다.
특정 도메인에 대한 정보가 DNS 목록에 포함되어 있는 경우, 프록시 장치는 405 단계를 수행한다. 반면, 특정 도메인에 대한 정보가 DNS 목록에 포함되어 있지 않은 경우, 프록시 장치는 409 단계를 수행한다.
특정 도메인에 대한 정보가 DNS 목록에 포함되어 있는 경우, 405 단계에서, 프록시 장치는 DNS 목록에서 가장 짧은 RTT를 가지는 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 생성한다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다.
이후, 407 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 DNS 쿼리된 특정 도메인에 대응하는 적어도 하나의 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 적어도 하나의 IP 주소는 RTT가 가장 짧은 하나의 IP 주소 또는 RTT가 짧은 순서로 정렬된 복수 개의 IP 주소를 포함할 수 있다.
특정 도메인에 대한 정보가 DNS 목록에 포함되어 있지 않은 경우, 409 단계에서, 프록시 장치는 DNS 서버(예: DNS 서버 130)에 해당 도메인에 대한 DNS 쿼리를 전송한다. 예를 들어, 프록시 장치는 미리 정의된 DNS 서버로 DNS 쿼리를 전송할 수 있다.
이후, 411 단계에서, 프록시 장치는 DNS 서버로부터 DNS 쿼리 응답을 수신한다. 예를 들어, 프록시 장치는 해당 도메인에 대한 DNS 쿼리에 대한 응답으로, DNS 서버로부터 적어도 하나의 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 수신할 수 있다.
413 단계에서, 프록시 장치는 DNS 쿼리 응답을 클라이언트 장치로 전달한다. 예를 들어, 프록시 장치는 DNS 서버로부터 수신한 DNS 쿼리 응답 메시지에 기초하여, 대응하는 적어도 하나의 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 클라이언트 장치로 전송할 수 있다.
415 단계에서, 프록시 장치는 DNS 쿼리 응답에 기반하여 도메인 리스트를 업데이트한다. 예를 들어, 프록시 장치는 해당 도메인에 대해 DNS 서버로부터 수신한 DNS 쿼리 응답에 따라 DNS 목록의 도메인 리스트를 추가하고, 대응하는 적어도 하나의 IP 주소, 업데이트 시간 등을 추가할 수 있다.
도 5는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 연결 지연 최소화를 위해 하나 이상의 IP 주소에 대해 연결을 생성하는 프록시 장치의 동작 방법을 도시한다. 도 5는 프록시 장치 110의 동작 방법을 예시한다.
도 5를 참고하면, 501 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120)로부터 특정 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, DNS 쿼리 메시지를 수신할 수 있다.
이후, 503 단계에서, 프록시 장치는 특정 도메인이 도메인 리스트에 존재하는지 판단한다. 일 실시 예에 따라, 프록시 장치는 특정 도메인에 관한 DNS 쿼리에 대한 정보가 DNS 목록에 포함되어 있는지 결정한다. 예를 들어, 도메인 리스트에 대한 DNS 쿼리 정보를 포함하는 DNS 목록은, 상술한 [표 1]과 같이 구성될 수 있다. 특정 도메인에 대한 정보가 DNS 목록에 포함되어 있는 경우, 프록시 장치는 505 단계를 수행한다. 반면, 특정 도메인에 대한 정보가 DNS 목록에 포함되어 있지 않은 경우, 프록시 장치는 509 단계를 수행한다.
특정 도메인에 대한 정보가 DNS 목록에 포함되어 있는 경우, 505 단계에서, 프록시 장치는 DNS 목록에서 가장 짧은 RTT를 가지는 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 생성한다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다.
이후, 507 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 DNS 쿼리된 특정 도메인에 대응하는 적어도 하나의 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 적어도 하나의 IP 주소는 RTT가 가장 짧은 하나의 IP 주소 또는 RTT가 짧은 순서로 정렬된 복수 개의 IP 주소를 포함할 수 있다.
특정 도메인에 대한 정보가 DNS 목록에 포함되어 있지 않은 경우, 509 단계에서, 프록시 장치는 DNS 서버(예: DNS 서버 130)에 해당 도메인에 대한 DNS 쿼리를 전송한다. 예를 들어, 프록시 장치는 미리 정의된 DNS 서버로 DNS 쿼리를 전송할 수 있다.
이후, 511 단계에서, 프록시 장치는 DNS 서버로부터 DNS 쿼리 응답을 수신한다. 예를 들어, 프록시 장치는 해당 도메인에 대한 DNS 쿼리에 대한 응답으로, DNS 서버로부터 적어도 하나의 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 수신할 수 있다.
513 단계에서, 프록시 장치는 DNS 쿼리 응답을 클라이언트 장치로 전달한다. 예를 들어, 프록시 장치는 DNS 서버로부터 수신한 DNS 쿼리 응답 메시지에 기초하여, 대응하는 적어도 하나의 IP 주소를 포함하는 DNS 쿼리 응답 메시지를 클라이언트 장치로 전송할 수 있다.
515 단계에서, 프록시 장치는 DNS 쿼리 내의 모든 IP 주소들에 대해 연결을 설정한다. 예를 들어, 프록시 장치는 DNS 서버로부터 수신한 DNS 쿼리 응답 메시지에 기초하여, 대응하는 모든 IP 주소들과 연결을 생성하면서 응답 시간을 측정할 수 있다.
517 단계에서, 프록시 장치는 연결 생성이 제일 빠른 IP 주소를 이용하여 프록싱(proxing)한다. 예를 들어, 프록시 장치는 해당 도메인에 대응하는 모든 IP 주소들과 연결을 생성하여 가장 연결 생성이 빠른 IP 주소로 연결을 중계할 수 있다.
519 단계에서, 프록시 장치는 DNS 쿼리 응답에 기반하여 도메인 리스트를 업데이트한다. 예를 들어, 프록시 장치는 해당 도메인에 대해 DNS 서버로부터 수신한 DNS 쿼리 응답에 따라 DNS 목록의 도메인 리스트를 추가하고, 대응하는 적어도 하나의 IP 주소, 업데이트 시간 등을 추가할 수 있다. 프록시 장치는 모든 IP 주소들과의 연결 생성시 응답 시간에 기초하여 RTT 정보를 DNS 목록에 추가할 수 있다.
도 6은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 조건에 따라 DNS 목록을 업데이트 하기 위한 프록시 장치의 동작 방법을 도시한다. 도 6은 프록시 장치 110의 동작 방법을 예시한다.
도 6을 참고하면, 601 단계에서, 프록시 장치는 DNS 목록 내의 도메인 리스트를 업데이트할 조건을 만족하는지 판단한다. 예를 들어, 프록시 장치는 1) 도메인에 대한 마지막 쿼리가 발생한 시각(Last Used) 후 일정 시간이 지났거나, 2) 사용자로부터 새로운 도메인에 대한 DNS 쿼리를 수신하였거나, 3) 트래픽 상위 100개 사이트들이 갱신되었거나, 4) DNS 목록의 크기가 일정 이상이거나, 5) 도메인 리스트 항목이 일정 이상인 조건 중 적어도 하나의 조건을 만족하는 경우, 조건에 따라 도메인 리스트를 주기적으로 또는 요청에 의해 업데이트할 수 있다. 상술한 3번째 조건의 트래픽 상위 100개 사이트들의 갱신을 확인하거나, 상위 100개 사이트들에 관한 정보를 수신하기 위해 프록시 장치는 외부 서버(예: 정보 서버 160)와 통신할 수 있다. 업데이트 조건이 만족되는 경우, 프록시 장치는 603 단계를 수행한다. 반면, 업데이트 조건이 만족되지 않는 경우, 프록시 장치는 601 단계를 반복한다.
업데이트 조건이 만족되는 경우, 603 단계에서, 프록시 장치는 도메인 리스트를 업데이트한다.
이후, 605 단계에서, 프록시 장치는 DNS 목록을 업데이트한다. 일 실시 예에 따라, 프록시 장치는 업데이트 조건에 따라 도메인 리스트에 대해 주기적으로 혹은 요청에 따라 도메인 리스트를 업데이트 하고, 업데이트된 도메인 리스트에 따라 DNS 목록을 업데이트 할 수 있다. DNS 목록은 업데이트된 도메인 리스트에 대한 DNS 쿼리 결과를 반영하여 업데이트될 수 있다. 예를 들어, 도메인 리스트에 대한 DNS 쿼리 정보를 포함하는 DNS 목록은 [표 1]과 같이 구성될 수 있다.
도 7은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 주기적으로 DNS 목록을 업데이트하기 위한 프록시 장치의 동작 방법을 도시한다. 도 7은 프록시 장치 110의 동작 방법을 예시한다.
도 7을 참고하면, 701 단계에서, 프록시 장치는 미리 설정된 시간이 경과 되었는지 판단한다. 예를 들어, 프록시 장치는 DNS 목록을 업데이트하기 위해 미리 설정된 시간인 Tdomain _table이 경과되었는지 결정할 수 있다. Tdomain _table이 경과된 경우, 프록시 장치는 703 단계를 수행한다. 반면, Tdomain _table이 경과되지 않은 경우, 프록시 장치는 701 단계를 반복한다.
Tdomain _table이 경과된 경우, 703 단계에서, 프록시 장치는 도메인 리스트 내의 도메인들에 대해 DNS 쿼리를 수행한다. 예를 들어, 프록시 장치는 Tdomain _table 값에 따라 주기적으로 도메인 리스트 내의 도메인들에 대한 DNS 쿼리를 수행할 수 있다. 이때, 프록시 장치는 미리 정의된 DNS 서버(예: DNS 서버 130)으로 DNS 쿼리를 전송하고, DNS 서버로부터 DNS 쿼리 응답을 수신할 수 있다.
이후, 705 단계에서, 프록시 장치는 DNS 목록을 업데이트한다. 일 실시 예에 따라, 프록시 장치는 DNS 쿼리에 대한 DNS 쿼리 응답에 포함된 적어도 하나의 IP 주소를 기반으로 DNS 목록을 업데이트할 수 있다. 예를 들어, 프록시 장치는, DNS 쿼리 결과에 따라, [표 1]과 같은 DNS 목록의 IP 주소 열을 업데이트할 수 있다.
도 8은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 주기적으로 IP 주소별 DNS 목록을 업데이트하기 위한 프록시 장치의 동작 방법을 도시한다. 도 8은 프록시 장치 110의 동작 방법을 예시한다.
도 8을 참고하면, 801 단계에서, 프록시 장치는 미리 설정된 시간이 경과 되었는지 판단한다. 예를 들어, 프록시 장치는 DNS 목록을 업데이트하기 위해 미리 설정된 시간인 Tdomain _ip가 경과되었는지 결정할 수 있다. Tdomain _ip가 경과된 경우, 프록시 장치는 803 단계를 수행한다. 반면, Tdomain _ip가 경과되지 않은 경우, 프록시 장치는 801 단계를 반복한다.
Tdomain _ip가 경과된 경우, 803 단계에서, 프록시 장치는 DNS 목록 내의 IP 주소들에 대해 RTT를 측정한다. 예를 들어, 프록시 장치는 Tdomain _ip 값에 따라 주기적으로 DNS 목록 내의 IP 주소들에 대한 신호 송수신을 통해 RTT를 측정할 수 있다. 일 실시 예에 따라, RTT 측정 방식은, ICMP(internet control message protocol) ping RTT, TCP(transmission control protocol) 3단계 설정(three-way handshake)시 RTT, 또는 HTTP GET 요청(request)-응답(response) 시 RTT 중 적어도 하나의 방식을 포함할 수 있다.
이후, 805 단계에서, 프록시 장치는 DNS 목록을 업데이트한다. 일 실시 예에 따라, 프록시 장치는 DNS 목록 내의 IP 주소들에 대하여 측정된 RTT 값을 이용하여 DNS 목록을 업데이트할 수 있다. 이 때, DNS 목록 내의 모든 IP 주소들에 대해 업데이트가 수행될 수도 있고, 일부 IP 주소들에 대해서만 업데이트가 수행될 수도 있다. 예를 들어, 동일한 도메인 내 특정 IP 주소의 RTT가 다른 것에 비해 너무 길거나, 동일한 도메인 내 IP 주소들이 동일한 지역에 위치하며 RTT도 비슷하거나, 혹은 해당 도메인이 추가된 지 얼마 되지 않은 등의 이유로 특정 IP 주소들의 RTT 갱신이 불필요할 수 있다. 이 경우, 프록시 장치는 해당되는 IP 주소들은 제외하고 RTT를 측정하고, RTT 측정 결과에 따라 DNS 목록을 업데이트할 수 있다. 예를 들어, 프록시 장치는, DNS 쿼리 결과에 따라, [표 1]과 같은 DNS 목록의 RTT 열을 업데이트할 수 있다.
일 실시 예에 따라, 클라이언트 장치(예: 단말 120)에서 특정 도메인에 대응하는 오리지널(original) 서버에 연결을 시도하는 경우, 리다이렉트 정보를 수신할 수 있다. 리다이렉트 정보를 수신하는 경우 새로운 도메인으로 DNS 쿼리가 필요할 수 있고, 오리지널 서버와 연결을 시도하는 시간 동안의 지연이 발생하게 된다. 오리지널 서버는 클라이언트 장치로부터 메시지 수신 시 다른 서버에 대한 URL(uniform resource locator) 또는 동일 서버 내 다른 URL로 리다이렉트 시키는 서버를 의미한다.
이와 관련하여 개선된 방식으로, 클라이언트 장치 인근에 위치한 프록시 장치(예: 프록시 장치 110 (댁 내 인터넷 서비스 제공을 위한 장치인 CPE))는 필요시 클라이언트 장치로부터의 메시지에 대한 리다이렉트 메시지를 직접 생성하여 전송함으로써 클라이언트 장치와 오리지널 서버간 통신에 따른 지연을 없앨 수 있다. 이를 위해, 프록시 장치는 리다이렉트 트리거(trigger) 메시지와 대응되는 IP 주소 등을 포함하는 리다이렉트 목록을 관리할 수 있다.
상술한 바와 같이, 종래의 리다이렉트로 인한 지연을 방지하고, 사용자 QoE 향상을 위한 새로운 방안이 요구되고 있다. 본 개시는 특히, 서버/단말/어플리케이션의 수정 없이 프록시 장치의 수정만으로 사용자 QoE 향상을 위한 리다이렉트 제어 방안을 제시하여 기술의 범용성을 높이고자 한다. 본 개시의 다양한 실시 예들에 따라, 프록시 장치의 리다이렉트 연결을 제어하는 보다 상세한 절차는 도 9 내지 도 13과 같이 수행될 수 있다.
도 9는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 리다이렉트(redirect) 연결을 제어하는 프록시 장치의 동작 방법을 도시한다. 도 9는 프록시 장치 110의 동작 방법을 예시한다.
도 9를 참고하면, 901 단계에서, 프록시 장치는 적어도 하나의 도메인 네임에 대한 리다이렉트 정보를 생성한다. 예를 들어, 프록시 장치는 적어도 하나의 도메인 네임에 대해 주기적으로 또는 요청에 따라 리다이렉트 정보를 생성 또는 업데이트할 수 있다. 일 실시 예에 따라, 프록시 장치는 클라이언트 장치들(예: 단말 120 등)의 실시간 트래픽, 트래픽 이력, 트래픽 상위 100 사이트 등에 기반하여, 적어도 하나의 도메인 네임을 포함하는 도메인 리스트(list)를 생성 또는 업데이트할 수 있다. 예를 들어, 프록시 장치는 상위 100 사이트 정보를 외부 서버(예: 정보 서버 160)로부터 수신할 수 있다. 예를 들어, 프록시 장치는 도메인 리스트에 대해 DNS 쿼리를 통해 획득된 IP 주소들에 대해 주기적 또는 요청에 따라 메시지를 전송하고, 응답으로 수신하는 리다이렉트 IP 주소들을 포함하는 리다이렉트 목록을 생성 또는 업데이트할 수 있다. 예를 들어, 리다이렉트 IP 주소들을 포함하는 리다이렉트 목록은 [표 2]와 같이 구성될 수 있다.
Figure pat00002
[표 2]의 리다이렉트 목록은 도메인(Domain), 해당 도메인이 리다이렉트될 서버의 IP(Redirect Server IP), 단말에서 해당 도메인 서버에 전송한 메시지(Redirect-trigger Message), 및 해당 도메인 서버에서 전송한 리다이렉트 메시지(Redirect Message) 정보를 포함할 수 있다.
이후, 903 단계에서, 프록시 장치는 클라이언트 장치로부터 도메인 네임에 대한 DNS 쿼리 메시지를 수신한다. 일 실시 예에 따라, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, DNS 쿼리 메시지를 수신할 수 있다.
905 단계에서, 프록시 장치는 도메인 네임에 대응하는 리다이렉트 서버로 연결을 설정한다. 예를 들어, 프록시 장치는 해당 도메인 네임에 대한 리다이렉트 목록을 검색하여 대응하는 리다이렉트 IP 주소로 연결 설정을 요청하는 메시지를 전송할 수 있다. 이 때, 프록시 장치는 DNS 쿼리 정보를 검색하고, 클라이언트 장치로는 DNS 쿼리에 대한 응답 메시지를 전송할 수 있다. 응답 메시지에는 RTT 값이 가장 작은 하나의 IP 주소 혹은 RTT 값이 작은 순으로 정렬된 복수 개의 IP 주소를 포함할 수 있다. 일 실시 예에 따라, 해당 도메인 네임에 대해 생성된 DNS 쿼리 정보가 없는 경우, 프록시 장치는 DNS 서버(예: DNS 서버 130)로 DNS 쿼리를 실시하여 대응하는 IP 주소로부터 획득한 리다이렉트 IP 주소로 연결을 설정할 수 있다. 이 때, 프록시 장치는 해당 도메인 네임에 대한 DNS 목록 및 리다이렉트 목록을 업데이트 할 수 있다.
도 10은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인에 대한 리다이렉트 정보에 따라 연결을 제어하는 프록시 장치의 동작 흐름도를 도시한다. 도 10은 프록시 장치 110의 동작 방법을 예시한다.
도 10을 참고하면, 1001 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120)로부터 특정 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, aaa.com 과 같은 도메인 네임에 대한 DNS 쿼리 메시지를 수신할 수 있다.
이후, 1003 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 일 실시 예에 따라, 프록시 장치는 DNS 목록을 확인하여 특정 도메인에 대응하는 IP 주소를 포함한 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 aaa.com에 대응하는 하나 이상의 IP 주소들을 확인하고, 가장 짧은 RTT의 IP 주소 2.1.1.1을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. DNS 목록은 상술한 [표 1]과 같이 구성될 수 있다.
1005 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, aaa.com에 대응하는 IP 주소 2.1.1.1에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN(synchronous idle) 메시지일 수 있다.
이후, 1007 단계에서, 프록시 장치는 해당 도메인에 대해 리다이렉트 서버(예: 컨텐츠 서버 150-1)로 연결을 요청한다. 예를 들어, 프록시 장치는 aaa.com에 대해 리다이렉트될 bbb.com서버의 IP 주소 4.1.1.1로 연결 요청 메시지를 전송할 수 있다. 프록시 장치가 전송하는 메시지는, 동기화를 위한 SYN 메시지일 수 있다.
1009 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK(acknowledgement) 메시지를 전송할 수 있다.
이후, 1011 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
1013 단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 수신할 수 있다.
1015 단계에서, 프록시 장치는 리다이렉트 서버로부터 연결 요청 메시지에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 리다이렉트 서버로부터 SYN 메시지에 대한 SYN/ACK 메시지를 수신할 수 있다.
1017 단계에서, 프록시 장치는 클라이언트 장치로 리다이렉트 메시지를 전송한다. 예를 들어, 프록시 장치는 단말로부터 1013 단계에 수신한 HTTP GET 메시지가 리다이렉트 목록 내 리다이렉트 트리거 메시지와 일치하는 것으로 판단할 수 있다. 프록시 장치는 리다이렉트 목록 내 리다이렉트 메시지에 기반하여 리다이렉트 메시지를 생성하고, 생성된 메시지를 클라이언트 장치로 전송할 수 있다. 리다이렉트 메시지는 301 Redirect 메시지일 수 있다. 리다이렉트 목록은 상술한 [표 2]와 같이 구성될 수 있다. 일 실시 예에 따라, 301 Redirect 메시지는 클라이언트 장치가 요청한 aaa.com 도메인에 대해 리다이렉트될 bbb.com에 대한 정보를 포함할 수 있다.
1019 단계에서, 프록시 장치는 리다이렉트 서버로 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 1015 단계에서 수신한 SYN/ACK에 대한 응답으로, 리다이렉트 서버로 ACK 메시지를 전송할 수 있다.
1021 단계에서, 프록시 장치는 클라이언트 장치로부터 리다이렉트 메시지에 포함된 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, aaa.com에서 리다이렉트될 bbb.com 도메인 네임에 대한 DNS 쿼리 메시지를 수신할 수 있다.
이후, 1023 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 일 실시 예에 따라, 프록시 장치는 DNS 목록을 확인하여 리다이렉트될 도메인에 대응하는 IP 주소를 포함한 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 bbb.com에 대응하는 하나 이상의 IP 주소들을 확인하고, 가장 짧은 RTT의 IP 주소 4.1.1.1을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다.
1025 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, bbb.com에 대응하는 IP 주소 4.1.1.1에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN 메시지일 수 있다.
1027 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK 메시지를 전송할 수 있다.
이후, 1029 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
1031단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 수신할 수 있다.
1033 단계에서, 프록시 장치는 리다이렉트 서버로 데이터 전송을 위한 메시지를 전송한다. 예를 들어, 프록시 장치는 리다이렉트 서버로 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 전달할 수 있다.
1035 단계에서, 프록시 장치는 리다이렉트 서버로부터 데이터를 수신한다. 예를 들어, 프록시 장치는, 리다이렉트 서버로부터 HTTP 통신으로 데이터를 수신할 수 있다.
이후, 1037 단계에서, 프록시 장치는 클라이언트 장치로 데이터를 전송한다. 예를 들어, 프록시 장치는, 리다이렉트 서버로부터 수신한 데이터를 클라이언트 장치로 전달할 수 있다.
도 11은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인에 대한 리다이렉트 정보에 따라 연결 지연을 방지하기 위한 프록시 장치의 동작 흐름도를 도시한다. 도 11은 프록시 장치 110의 동작 방법을 예시한다.
도 11을 참고하면, 1101 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120)로부터 특정 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, aaa.com 과 같은 도메인 네임에 대한 DNS 쿼리 메시지를 수신할 수 있다.
이후, 1103 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 일 실시 예에 따라, 프록시 장치는 DNS 목록을 확인하여 특정 도메인에 대응하는 IP 주소를 포함한 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 aaa.com에 대응하는 하나 이상의 IP 주소들을 확인하고, 가장 짧은 RTT의 IP 주소 2.1.1.1을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. DNS 목록은 상술한 [표 1]과 같이 구성될 수 있다.
1105 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, aaa.com에 대응하는 IP 주소 2.1.1.1에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN 메시지일 수 있다.
이후, 1107 단계에서, 프록시 장치는 해당 도메인에 대해 리다이렉트 서버(예: 컨텐츠 서버 150-1)로 연결을 요청한다. 예를 들어, 프록시 장치는 aaa.com에 대해 리다이렉트될 bbb.com서버의 IP 주소 4.1.1.1로 연결 요청 메시지를 전송할 수 있다. 리다이렉트될 서버의 IP 주소는 복수 개 존재할 수 있으며, 프록시 장치는 그 중 RTT가 가장 짧은 IP 주소(예: 컨텐츠 서버 150-1의 RTT는 40ms로 컨텐츠 서버 150-2의 RTT 80ms 보다 짧으므로 컨텐츠 서버 150-1로 연결)로 연결 요청 메시지를 전송할 수 있다. 프록시 장치가 전송하는 메시지는, 동기화를 위한 SYN 메시지일 수 있다.
1109 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK 메시지를 전송할 수 있다.
이후, 1111 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
1113 단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 수신할 수 있다.
1115 단계에서, 프록시 장치는 리다이렉트 서버로부터 연결 요청 메시지에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 리다이렉트 서버로부터 SYN 메시지에 대한 SYN/ACK 메시지를 수신할 수 있다.
1117 단계에서, 프록시 장치는 클라이언트 장치로 리다이렉트 메시지를 전송한다. 예를 들어, 프록시 장치는 단말로부터 1113 단계에 수신한 HTTP GET 메시지가 리다이렉트 목록 내 리다이렉트 트리거 메시지와 일치하는 것으로 판단할 수 있다. 프록시 장치는 리다이렉트 목록 내 리다이렉트 메시지에 기반하여 리다이렉트 메시지를 생성하고, 생성된 메시지를 클라이언트 장치로 전송할 수 있다. 리다이렉트 메시지는 301 Redirect 메시지일 수 있다. 리다이렉트 목록은 상술한 [표 2]와 같이 구성될 수 있다. 일 실시 예에 따라, 301 Redirect 메시지는 클라이언트 장치가 요청한 aaa.com 도메인에 대해 리다이렉트 도메인 네임이 아니라, 리다이렉트 IP 주소 4.1.1.1에 대한 정보를 포함할 수 있다. 도 10의 과정과 비교할 때, 리다이렉트 IP 주소를 포함하는 301 Redirect 메시지를 전송함으로써, DNS 쿼리 과정이 생략되어 연결 설정 지연을 더욱 단축할 수 있다. 리다이렉트 IP 주소는 가장 짧은 RTT의 IP 주소일 수 있다.
1119 단계에서, 프록시 장치는 리다이렉트 서버로 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 1115 단계에서 수신한 SYN/ACK에 대한 응답으로, 리다이렉트 서버로 ACK 메시지를 전송할 수 있다.
1121 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, 리다이렉트 IP 주소 4.1.1.1에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN 메시지일 수 있다.
1123 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK 메시지를 전송할 수 있다.
이후, 1125 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
1127 단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 수신할 수 있다.
1129 단계에서, 프록시 장치는 리다이렉트 서버로 데이터 전송을 위한 메시지를 전송한다. 예를 들어, 프록시 장치는 리다이렉트 서버로 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 전달할 수 있다.
1131 단계에서, 프록시 장치는 리다이렉트 서버로부터 데이터를 수신한다. 예를 들어, 프록시 장치는, 리다이렉트 서버로부터 HTTP 통신으로 데이터를 수신할 수 있다.
이후, 1133 단계에서, 프록시 장치는 클라이언트 장치로 데이터를 전송한다. 예를 들어, 프록시 장치는, 리다이렉트 서버로부터 수신한 데이터를 클라이언트 장치로 전달할 수 있다.
도 12는 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 도메인에 대한 리다이렉트 메시지 송수신을 생략함으로써 연결 지연을 방지하기 위한 프록시 장치의 동작 흐름도를 도시한다. 도 12는 프록시 장치 110의 동작 방법을 예시한다.
도 12를 참고하면, 1201 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120)로부터 특정 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, aaa.com 과 같은 도메인 네임에 대한 DNS 쿼리 메시지를 수신할 수 있다.
이후, 1203 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 일 실시 예에 따라, 프록시 장치는 DNS 목록을 확인하여 특정 도메인에 대응하는 IP 주소를 포함한 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 aaa.com에 대응하는 하나 이상의 IP 주소들을 확인하고, 가장 짧은 RTT의 IP 주소 2.1.1.1을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. DNS 목록은 상술한 [표 1]과 같이 구성될 수 있다.
1205 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, aaa.com에 대응하는 IP 주소 2.1.1.1에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN 메시지일 수 있다.
이후, 1207 단계에서, 프록시 장치는 해당 도메인에 대해 리다이렉트 서버(예: 컨텐츠 서버 150-1)로 연결을 요청한다. 예를 들어, 프록시 장치는 aaa.com에 대해 리다이렉트될 bbb.com서버의 IP 주소 4.1.1.1로 연결 요청 메시지를 전송할 수 있다. 리다이렉트될 서버의 IP 주소는 복수 개 존재할 수 있으며, 프록시 장치는 그 중 RTT가 가장 짧은 IP 주소(예: 컨텐츠 서버 150-1의 RTT는 40ms로 컨텐츠 서버 150-2의 RTT 80ms 보다 짧으므로 컨텐츠 서버 150-1로 연결)로 연결 요청 메시지를 전송할 수 있다. 프록시 장치가 전송하는 메시지는, 동기화를 위한 SYN 메시지일 수 있다.
1209 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK 메시지를 전송할 수 있다.
이후, 1211 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
1213 단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 aaa.com에 대해 HTTP GET 메시지를 수신할 수 있다.
1215 단계에서, 프록시 장치는 리다이렉트 서버로부터 연결 요청 메시지에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 리다이렉트 서버로부터 SYN 메시지에 대한 SYN/ACK 메시지를 수신할 수 있다.
1217 단계에서, 프록시 장치는 리다이렉트 서버로 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 1215 단계에서 수신한 SYN/ACK에 대한 응답으로, 리다이렉트 서버로 ACK 메시지를 전송할 수 있다.
1219 단계에서, 프록시 장치는 리다이렉트 서버로 데이터 전송을 위한 메시지를 전송한다. 예를 들어, 프록시 장치는 리다이렉트 서버로 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 전달할 수 있다. 프록시 장치는 클라이언트 장치로 리다이렉트 메시지를 생성하여 송신하는 과정을 생략함으로써 더욱 더 연결 설정 시간을 단축시킬 수 있다. 즉, 1205 단계에서 클라이언트 장치로부터 도메인 네임에 대응하는 IP 주소(예: 2.1.1.1)로 연결 설정 요청을 수신한 프록시 장치는, 리다이렉트 메시지 전송을 생략하고 대응하는 리다이렉트 서버 IP 주소(4.1.1.1)로 바로 연결 요청 메시지를 전송할 수 있다. 1213 단계에서 HTTP GET 메시지를 수신한 프록시 장치는 리다이렉트 목록에서 리다이렉트 트리거 메시지와 일치하는 지 확인하고, URL 매핑을 통하여 HTTP GET의 URL 정보를 대응하는 bbb.com으로 수정하여 리다이렉트 서버로 전송할 수 있다.
1221 단계에서, 프록시 장치는 리다이렉트 서버로부터 데이터를 수신한다. 예를 들어, 프록시 장치는, 리다이렉트 서버로부터 HTTP 통신으로 데이터를 수신할 수 있다.
이후, 1223 단계에서, 프록시 장치는 클라이언트 장치로 데이터를 전송한다. 예를 들어, 프록시 장치는, 리다이렉트 서버로부터 수신한 데이터를 클라이언트 장치로 전달할 수 있다.
도 13은 본 개시의 다양한 실시 예들에 따른 통신 시스템에서 HTTP에서 HTTPS로 리다이렉트 발생시 프록시 장치의 동작 흐름도를 도시한다. 도 13은 프록시 장치 110의 동작 방법을 예시한다.
도 13을 참고하면, 1301 단계에서, 프록시 장치는 클라이언트 장치(예: 단말 120)로부터 특정 도메인에 대한 DNS 쿼리를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치에서 웹 서핑 등의 어플리케이션이 실행됨에 따라, aaa.com 과 같은 도메인 네임에 대한 DNS 쿼리 메시지를 수신할 수 있다.
이후, 1303 단계에서, 프록시 장치는 클라이언트 장치로 DNS 쿼리 응답 메시지를 전송한다. 일 실시 예에 따라, 프록시 장치는 DNS 목록을 확인하여 특정 도메인에 대응하는 IP 주소를 포함한 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 aaa.com에 대응하는 하나 이상의 IP 주소들을 확인하고, 가장 짧은 RTT의 IP 주소 2.1.1.1을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. 예를 들어, 프록시 장치는 DNS 목록에서 특정 도메인에 대응하는 IP 주소가 여러 개인 경우, RTT가 제일 짧은 IP 주소만을 포함하거나, RTT가 짧은 순서로 일부 혹은 전체 IP 주소들을 포함하는 DNS 쿼리 응답 메시지를 전송할 수 있다. DNS 목록은 상술한 [표 1]과 같이 구성될 수 있다.
1305 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, aaa.com에 대응하는 IP 주소 2.1.1.1에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN 메시지일 수 있으며, 일단 HTTP 연결을 위한 포트(port) 80 연결 요청일 수 있다.
이후, 1107 단계에서, 프록시 장치는 해당 도메인에 대해 컨텐츠 서버(예: 컨텐츠 서버 140-1)로 변경된 포트를 토한 연결을 요청한다. 예를 들어, 프록시 장치는, 포트 80을 통한 HTTP 연결 요청에 대해, 리다이렉트 목록의 해당 도메인에 대응하는 IP 주소로 HTTPS 연결을 시도할 수 있다. 프록시 장치가 전송하는 메시지는 동기화를 위한 SYN 메시지일 수 있으며, HTTPS로 리다이렉트 하기 위해 포트 443으로 연결 요청을 전송할 수 있다. HTTP에서 HTTPS로의 리다이렉트는 aaa.com에서 bbb.com으로의 리다이렉트와 다르게, 동일한 서버 IP 주소로 프로토콜을 HTTP에서 HTTPS로 변경하는 것이므로 리다이렉트 서버와의 DNS 쿼리 과정은 불필요하다.
1309 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK 메시지를 전송할 수 있다.
이후, 1311 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
1313 단계에서, 프록시 장치는 리다이렉트 서버로부터 연결 요청 메시지에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 리다이렉트 서버로부터 SYN 메시지에 대한 SYN/ACK 메시지를 수신할 수 있다.
1315 단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 HTTP 통신으로 데이터를 전송하기 위한 HTTP GET 메시지를 수신할 수 있다.
1317 단계에서, 프록시 장치는 리다이렉트 서버로 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 1313 단계에서 수신한 SYN/ACK에 대한 응답으로, 리다이렉트 서버로 ACK 메시지를 전송할 수 있다.
1319 단계에서, 프록시 장치는 클라이언트 장치로 리다이렉트 메시지를 전송한다. 예를 들어, 프록시 장치는 단말로부터 1315 단계에 수신한 HTTP GET 메시지가 리다이렉트 목록 내 리다이렉트 트리거 메시지와 일치하는 것으로 판단할 수 있다. 프록시 장치는 리다이렉트 목록 내 리다이렉트 메시지에 기반하여 리다이렉트 메시지를 생성하고, 생성된 메시지를 클라이언트 장치로 전송할 수 있다. 리다이렉트 메시지는 301 Redirect 메시지일 수 있다. 리다이렉트 목록은 상술한 [표 2]와 같이 구성될 수 있다. 일 실시 예에 따라, 301 Redirect 메시지는 클라이언트 장치가 요청한 HTTP 연결에 대해 HTTPS로의 리다이렉트에 대한 정보를 포함할 수 있다.
1321 단계에서, 프록시 장치는 클라이언트 장치로부터 해당 IP 주소와 연결을 요청하는 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터, 리다이렉트된 HTTPS 포트 443에 대한 연결 요청 메시지를 수신할 수 있다. 클라이언트로부터 수신되는 메시지는, 데이터 송수신 타이밍을 맞추기 위한 SYN 메시지일 수 있다.
1323 단계에서, 프록시 장치는 클라이언트 장치로 연결 요청에 대한 응답 메시지를 전송한다. 예를 들어, 프록시 장치는 클라이언트 장치의 SYN 메시지에 대한 SYN/ACK 메시지를 전송할 수 있다.
1325 단계에서, 프록시 장치는 클라이언트 장치로부터 연결 요청 응답에 대한 응답 메시지를 수신한다. 예를 들어, 프록시 장치는 클라이언트 장치로부터 SYN/ACK에 대한 ACK메시지를 수신할 수 있다.
이후, 1327 내지 1337 단계까지 HTTPS 프로토콜에 의한 연결 설정 과정이 추가로 진행될 수 있다. 예를 들어, 1327 단계에서, 프록시 장치는 클라이언트 장치로부터 Client Hello 메시지를 수신하고, 1329 단계에서, 프록시 장치는 컨텐츠 서버로 Client Hello 메시지를 전달할 수 있다. 이후, 1331 단계에서, 프록시 장치는 컨텐츠 서버로부터 Server Hello Cipher Spec 메시지를 수신하고, 1333 단계에서 클라이언트 장치로 Server Hello Cipher Spec 메시지를 전달할 수 있다. 1335 단계에서, 프록시 장치는 클라이언트 장치로부터 Cipher Spec 메시지를 수신하고, 1337 단계에서, 컨텐츠 서버로 Cipher Spec 메시지를 전달할 수 있다.
1339 단계에서, 프록시 장치는 클라이언트 장치로부터 데이터 전송을 위한 메시지를 수신한다. 예를 들어, 프록시 장치는, 클라이언트 장치로부터 HTTPS 통신으로 데이터를 전송하기 위한 HTTPS GET 메시지를 수신할 수 있다.
1341 단계에서, 프록시 장치는 컨텐츠 서버로 데이터 전송을 위한 메시지를 전송한다. 예를 들어, 프록시 장치는 컨텐츠 서버로 HTTPS 통신으로 데이터를 전송하기 위한 HTTPS GET 메시지를 전달할 수 있다.
1343 단계에서, 프록시 장치는 컨텐츠 서버로부터 데이터를 수신한다. 예를 들어, 프록시 장치는, 컨텐츠 서버로부터 HTTPS 통신으로 데이터를 수신할 수 있다.
이후, 1345 단계에서, 프록시 장치는 클라이언트 장치로 데이터를 전송한다. 예를 들어, 프록시 장치는, 컨텐츠 서버로부터 수신한 데이터를 클라이언트 장치로 전달할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 통신 시스템에서 프록시(proxy) 장치의 동작 방법에 있어서,
    외부 서버로부터 적어도 하나의 도메인 네임(domain name)에 대한 정보를 수신하는 과정과,
    상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하는 과정과,
    클라이언트 장치로부터, 상기 적어도 하나의 도메인 네임 중 하나의 도메인 네임에 대한 DNS(domain name server) 쿼리 메시지를 수신하는 과정과,
    상기 생성된 연결 정보에 기반하여, 상기 도메인 네임에 대응하는 서버로 연결을 설정하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 외부 서버는, 복수 개의 도메인 네임들에 대한 트래픽 정보를 수집하여 순위를 매기고,
    상기 적어도 하나의 도메인 네임은, 상기 순위에 기반하여 결정되는 방법.
  3. 청구항 1에 있어서,
    상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하는 과정은,
    미리 설정된 시간이 경과한 경우, DNS 서버로, 상기 적어도 하나의 도메인 네임에 대한 DNS 쿼리를 전송하는 과정과,
    상기 DNS 서버로부터, 상기 적어도 하나의 도메인 네임에 대한 DNS 쿼리 응답을 수신하는 과정과,
    상기 수신된 DNS 쿼리 응답에 기반하여, 상기 적어도 하나의 도메인 네임에 대한 연결 정보를 포함하는 DNS 목록을 갱신(update)하는 과정을 포함하는 방법.
  4. 청구항 3에 있어서,
    상기 DNS 목록은,
    상기 적어도 하나의 도메인 네임에 대한 마지막 DNS 쿼리가 발생한 시각, 마지막 갱신 시각, 상기 적어도 하나의 도메인 네임에 대한 CNAME(canonical name), CNAME에 대응하는 IP 주소(internet protocol address), IP 주소에 대응하는 서버와 상기 프록시 장치 간 RTT(round trip time) 및 마지막 RTT 갱신 시각 정보 중 적어도 하나를 포함하는 방법.
  5. 청구항 1에 있어서,
    상기 적어도 하나의 도메인 네임에 대한 연결 정보 중, 상기 도메인 네임에 대응하는 적어도 하나의 IP 주소를 결정하는 과정과,
    상기 적어도 하나의 IP 주소에 기반하여, 상기 클라이언트 장치로 상기 도메인 네임에 대한 DNS 쿼리 응답 메시지를 전송하는 과정을 더 포함하고,
    상기 DNS 쿼리 응답 메시지는,
    상기 도메인 네임에 대응하는 적어도 하나의 IP 주소 중 가장 짧은 RTT를 가지는 IP 주소를 포함하는 방법.
  6. 청구항 1에 있어서,
    상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하는 과정은,
    상기 적어도 하나의 도메인 네임에 대응하는 서버의 IP 주소로 연결 설정 요청 메시지를 전송하는 과정과,
    상기 연결 설정 요청 메시지에 대한 응답으로, 상기 적어도 하나의 도메인 네임에 대응하는 적어도 하나의 리다이렉트(redirect) 서버 정보를 수신하는 과정과,
    상기 적어도 하나의 리다이렉트 서버 정보를 포함하는 리다이렉트 목록을 갱신하는 과정을 포함하는 방법.
  7. 청구항 6에 있어서,
    상기 리다이렉트 목록은,
    상기 적어도 하나의 리다이렉트 서버의 IP 주소, 리다이렉트 트리거 메시지, 상기 적어도 하나의 도메인 네임에 대응하는 서버로부터 수신한 리다이렉트 메시지 정보 중 적어도 하나를 포함하는 방법.
  8. 청구항 6에 있어서,
    상기 클라이언트 장치로부터 리다이렉트 트리거 메시지를 수신하는 경우, 상기 도메인 네임에 대응하는 리다이렉트 도메인 정보를 전송하는 과정을 더 포함하는 방법.
  9. 청구항 6에 있어서,
    상기 클라이언트 장치로부터 리다이렉트 트리거 메시지를 수신하는 경우, 상기 도메인 네임에 대응하는 상기 적어도 하나의 리다이렉트 서버 정보를 전송하는 과정을 더 포함하는 방법.
  10. 청구항 6에 있어서,
    상기 클라이언트 장치로부터 HTTP(hyper text transfer protocol) 통신을 위한 리다이렉트 트리거 메시지를 수신하는 경우, HTTPS(hyper text transfer protocol over secure socket layer)로 리다이렉트 하기 위한 정보를 전송하는 과정을 더 포함하는 방법.
  11. 통신 시스템에서 프록시(proxy) 장치에 있어서,
    송수신부와,
    상기 송수신부와 기능적으로 연결되어 신호의 송수신을 제어하는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    외부 서버로부터 적어도 하나의 도메인 네임(domain name)에 대한 정보를 수신하고, 상기 적어도 하나의 도메인 네임에 대한 연결 정보를 생성하고, 클라이언트 장치로부터, 상기 적어도 하나의 도메인 네임 중 하나의 도메인 네임에 대한 DNS(domain name server) 쿼리 메시지를 수신하고, 상기 생성된 연결 정보에 기반하여, 상기 도메인 네임에 대응하는 서버로 연결을 설정하도록 제어하는 장치.
  12. 청구항 11에 있어서,
    상기 외부 서버는, 복수 개의 도메인 네임들에 대한 트래픽 정보를 수집하여 순위를 매기고,
    상기 적어도 하나의 도메인 네임은, 상기 순위에 기반하여 결정되는 장치.
  13. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는,
    미리 설정된 시간이 경과한 경우, DNS 서버로, 상기 적어도 하나의 도메인 네임에 대한 DNS 쿼리를 전송하고, 상기 DNS 서버로부터, 상기 적어도 하나의 도메인 네임에 대한 DNS 쿼리 응답을 수신하고, 상기 수신된 DNS 쿼리 응답에 기반하여, 상기 적어도 하나의 도메인 네임에 대한 연결 정보를 포함하는 DNS 목록을 갱신(update)하도록 제어하는 장치.
  14. 청구항 13에 있어서,
    상기 DNS 목록은,
    상기 적어도 하나의 도메인 네임에 대한 마지막 DNS 쿼리가 발생한 시각, 마지막 갱신 시각, 상기 적어도 하나의 도메인 네임에 대한 CNAME(canonical name), CNAME에 대응하는 IP 주소(internet protocol address), IP 주소에 대응하는 서버와 상기 프록시 장치 간 RTT(round trip time) 및 마지막 RTT 갱신 시각 정보 중 적어도 하나를 포함하는 장치.
  15. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 도메인 네임에 대한 연결 정보 중, 상기 도메인 네임에 대응하는 적어도 하나의 IP 주소를 결정하고, 상기 적어도 하나의 IP 주소에 기반하여, 상기 클라이언트 장치로 상기 도메인 네임에 대한 DNS 쿼리 응답 메시지를 전송하도록 제어하고,
    상기 DNS 쿼리 응답 메시지는,
    상기 도메인 네임에 대응하는 적어도 하나의 IP 주소 중 가장 짧은 RTT를 가지는 IP 주소를 포함하는 장치.
  16. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 도메인 네임에 대응하는 서버의 IP 주소로 연결 설정 요청 메시지를 전송하고, 상기 연결 설정 요청 메시지에 대한 응답으로, 상기 적어도 하나의 도메인 네임에 대응하는 적어도 하나의 리다이렉트(redirect) 서버 정보를 수신하고, 상기 적어도 하나의 리다이렉트 서버 정보를 포함하는 리다이렉트 목록을 갱신하도록 제어하는 장치.
  17. 청구항 16에 있어서,
    상기 리다이렉트 목록은,
    상기 적어도 하나의 리다이렉트 서버의 IP 주소, 리다이렉트 트리거 메시지, 상기 적어도 하나의 도메인 네임에 대응하는 서버로부터 수신한 리다이렉트 메시지 정보 중 적어도 하나를 포함하는 장치.
  18. 청구항 16에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 클라이언트 장치로부터 리다이렉트 트리거 메시지를 수신하는 경우, 상기 도메인 네임에 대응하는 리다이렉트 도메인 정보를 전송하도록 제어하는 장치.
  19. 청구항 16에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 클라이언트 장치로부터 리다이렉트 트리거 메시지를 수신하는 경우, 상기 도메인 네임에 대응하는 상기 적어도 하나의 리다이렉트 서버 정보를 전송하도록 제어하는 장치.
  20. 청구항 16에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 클라이언트 장치로부터 HTTP(hyper text transfer protocol) 통신을 위한 리다이렉트 트리거 메시지를 수신하는 경우, HTTPS(hyper text transfer protocol over secure socket layer)로 리다이렉트 하기 위한 정보를 전송하도록 제어하는 장치.
KR1020170076682A 2017-06-16 2017-06-16 통신 시스템에서 연결 제어 장치 및 방법 KR102333144B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170076682A KR102333144B1 (ko) 2017-06-16 2017-06-16 통신 시스템에서 연결 제어 장치 및 방법
EP18177520.6A EP3416356A1 (en) 2017-06-16 2018-06-13 Apparatus and method for controlling connection using dns in communication system
US16/010,096 US10778780B2 (en) 2017-06-16 2018-06-15 Apparatus and method for controlling connection in communication system
CN201810618348.5A CN109150953B (zh) 2017-06-16 2018-06-15 控制通信系统中的连接的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170076682A KR102333144B1 (ko) 2017-06-16 2017-06-16 통신 시스템에서 연결 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180137254A true KR20180137254A (ko) 2018-12-27
KR102333144B1 KR102333144B1 (ko) 2021-11-30

Family

ID=62684602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170076682A KR102333144B1 (ko) 2017-06-16 2017-06-16 통신 시스템에서 연결 제어 장치 및 방법

Country Status (4)

Country Link
US (1) US10778780B2 (ko)
EP (1) EP3416356A1 (ko)
KR (1) KR102333144B1 (ko)
CN (1) CN109150953B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11570208B2 (en) 2019-02-01 2023-01-31 Samsung Electronics Co., Ltd. Electronic device and control method thereof

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3563599B1 (en) 2016-12-30 2021-10-13 British Telecommunications Public Limited Company Automatic pairing of devices to wireless networks
US10952263B2 (en) * 2016-12-30 2021-03-16 British Telecommunications Public Limited Company Automatic device pairing
CN110268733B (zh) 2016-12-30 2022-05-10 英国电讯有限公司 将设备自动配对到无线网络
US10608729B1 (en) * 2019-02-21 2020-03-31 Verizon Patent And Licensing Inc. Fifth generation new radio repeater state machine
KR20200119945A (ko) * 2019-04-10 2020-10-21 삼성전자주식회사 저 지연 dns 처리를 지원하는 전자 장치
US11218438B2 (en) * 2019-04-12 2022-01-04 Huawei Technologies Co., Ltd. System, apparatus and method to support data server selection
WO2020221535A1 (en) * 2019-04-30 2020-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Redirect server in a wireless communication network
US11356423B2 (en) * 2020-01-14 2022-06-07 Cisco Technology, Inc. Managing encrypted server-name-indication (ESNI) at proxy devices
CN111614752B (zh) * 2020-05-19 2022-08-30 北京百度网讯科技有限公司 用于数据传输的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087722A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A/ Fatpipe Networks Domain name resolution making IP address selections in response to connection status when multiple connections are present
KR100778537B1 (ko) * 2006-12-20 2007-11-22 주식회사 문화방송 방송 신호 송수신 방법 및 방송 신호 송수신 장치
KR20140103626A (ko) * 2013-02-19 2014-08-27 주식회사 엘지유플러스 무선 단말기에 통신 서비스를 제공하기 위한 통신 서비스 제공 시스템 및 그 제어방법과, 무선 랜 접속 장치 및 그 제어방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030055979A1 (en) * 2001-09-19 2003-03-20 Cooley William Ray Internet domain name resolver
US8649352B2 (en) * 2002-02-04 2014-02-11 Qualcomm Incorporated Packet forwarding methods for use in handoffs
US20030193952A1 (en) * 2002-02-04 2003-10-16 O'neill Alan Mobile node handoff methods and apparatus
US8996603B2 (en) * 2004-09-16 2015-03-31 Cisco Technology, Inc. Method and apparatus for user domain based white lists
JP2008518538A (ja) 2004-10-27 2008-05-29 フランス テレコム Httpリダイレクトリクエストをインターセプトする方法並びに前記方法を実行するためのシステム及びサーバー機器
US8510807B1 (en) * 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
WO2013116530A1 (en) * 2012-02-01 2013-08-08 Xerocole, Inc. Dns outage avoidance method for recursive dns servers
US20130304887A1 (en) * 2012-05-11 2013-11-14 Qualcomm Incorporated Systems and methods for domain name system querying
CN103024098B (zh) * 2012-12-27 2015-09-09 北京百度网讯科技有限公司 一种域名解析方法、系统及装置
CN103929507B (zh) * 2014-04-28 2017-10-10 广东睿江云计算股份有限公司 一种实现可离线化dns服务的方法及装置
CN106302842B (zh) * 2015-05-21 2020-02-18 阿里巴巴集团控股有限公司 一种域名解析方法、装置及系统
US20170207989A1 (en) * 2016-01-14 2017-07-20 Dell Software Inc. Dynamic domain name system destination selection
US10326730B2 (en) * 2016-06-27 2019-06-18 Cisco Technology, Inc. Verification of server name in a proxy device for connection requests made using domain names

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087722A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A/ Fatpipe Networks Domain name resolution making IP address selections in response to connection status when multiple connections are present
KR100778537B1 (ko) * 2006-12-20 2007-11-22 주식회사 문화방송 방송 신호 송수신 방법 및 방송 신호 송수신 장치
KR20140103626A (ko) * 2013-02-19 2014-08-27 주식회사 엘지유플러스 무선 단말기에 통신 서비스를 제공하기 위한 통신 서비스 제공 시스템 및 그 제어방법과, 무선 랜 접속 장치 및 그 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11570208B2 (en) 2019-02-01 2023-01-31 Samsung Electronics Co., Ltd. Electronic device and control method thereof

Also Published As

Publication number Publication date
CN109150953A (zh) 2019-01-04
US20180367619A1 (en) 2018-12-20
EP3416356A1 (en) 2018-12-19
US10778780B2 (en) 2020-09-15
CN109150953B (zh) 2023-04-07
KR102333144B1 (ko) 2021-11-30

Similar Documents

Publication Publication Date Title
KR102333144B1 (ko) 통신 시스템에서 연결 제어 장치 및 방법
US10148721B2 (en) Video stream network coding in information centric networks
US11251839B2 (en) Generalized beam management framework
US11026203B2 (en) Methods, devices, and systems for initial grant-free transmission determination
TW201728127A (zh) 處理複數個封包之方法與無線通訊系統
KR20110033858A (ko) 하이브리드 자동 반복 요청 프로세스 매핑 규칙
US10972931B2 (en) Apparatus and method for controlling data transmission in communication system
KR102535138B1 (ko) 무선 통신 시스템에서 데이터 송수신 방법 및 장치 송신
US11399397B2 (en) Apparatus and method for handling PDU session in wireless communication system
JP6167587B2 (ja) 通信装置、通信ネットワークシステム、通信装置におけるコンテンツサーバ選択方法
CN106471847B (zh) 用于在无线电接入网络之间传送数据通信会话的方法和设备
US9451474B2 (en) Multicast aware beamforming for wireless local area networks
KR102108532B1 (ko) 통신 시스템에서 서비스 품질을 높이기 위한 방법 및 장치
JP2016541163A (ja) ワイヤレスデバイスのリレー動作を変更するためのシステム、方法およびデバイス
WO2021100578A1 (ja) 制御装置および制御方法
JP5291195B2 (ja) フェイント接続セッションの設定
KR101688835B1 (ko) 광대역 무선 접속 시스템에서 트래픽 오프로드를 위한 장치 및 방법
CN118303017A (zh) 用于在无线通信系统中提供边缘计算服务的装置和方法
CN106657039B (zh) Portal页面获取方法、无线AP及Portal服务器
EP4176577A1 (en) Methods and devices for handling virtual domains
CN106714164B (zh) Portal页面中资源文件的获取方法、无线AP及Portal服务器
KR102216884B1 (ko) 무선 근거리 네트워크 기반의 비대칭 통신을 지원하는 터널 서버 및 그의 동작 방법
US20230422110A1 (en) Channel bandwidth assignment based on mobile communications device capability data
US20230117868A1 (en) Media packet transmission method, apparatus, and system
KR20240114906A (ko) 무선 통신 시스템에서 서비스 기반 인터페이스를 이용한 제어 신호 전송 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)