KR102482220B1 - 인터넷에 접속하기 위한 전자 장치 및 방법 - Google Patents

인터넷에 접속하기 위한 전자 장치 및 방법 Download PDF

Info

Publication number
KR102482220B1
KR102482220B1 KR1020160102380A KR20160102380A KR102482220B1 KR 102482220 B1 KR102482220 B1 KR 102482220B1 KR 1020160102380 A KR1020160102380 A KR 1020160102380A KR 20160102380 A KR20160102380 A KR 20160102380A KR 102482220 B1 KR102482220 B1 KR 102482220B1
Authority
KR
South Korea
Prior art keywords
fqdn
input
electronic device
address
information
Prior art date
Application number
KR1020160102380A
Other languages
English (en)
Other versions
KR20180017877A (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 KR1020160102380A priority Critical patent/KR102482220B1/ko
Priority to US15/675,534 priority patent/US20180049253A1/en
Priority to PCT/KR2017/008791 priority patent/WO2018030860A1/en
Priority to EP17839877.2A priority patent/EP3494688B1/en
Publication of KR20180017877A publication Critical patent/KR20180017877A/ko
Application granted granted Critical
Publication of KR102482220B1 publication Critical patent/KR102482220B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시는 4G(4th generation) 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 통신 시스템을 IoT(Internet of things) 기술과 융합하는 통신 기법 및 그 시스템에 관한 것이다. 본 개시는 5G(5th generation) 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예를 들어, 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 헬스 케어, 디지털 교육, 소매업, 보안 및 안전 관련 서비스 등)에 적용될 수 있다. 본 개시의 다양한 실시 예들에 따른 전자 장치(electronic device)의 방법은, 제1 FQDN(fully qualified domain name)에 대한 제1 입력을 검출하는 과정과, 상기 제1 입력을 검출한 후 지정된 구간(interval) 이내에 제2 FQDN에 대한 제2 입력을 검출하는 과정과, 상기 전자 장치에 포함된 저장부 내에 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장하는 과정과, 상기 제1 FQDN(fully qualified domain name)에 대한 제3 입력을 검출하는 것에 대응하여, DNS(domain name system) 서버(server)에게 상기 제1 FQDN에 대응하는 주소(address)에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 각각 송신하는 과정을 포함할 수 있다.

Description

인터넷에 접속하기 위한 전자 장치 및 방법{ELECTRONIC DEVICE AND METHOD FOR ACCESSING TO INTERNET}
본 개시(disclosure)는 일반적으로 전자 장치(electronic device)에 관한 것으로, 보다 구체적으로 인터넷(internet)에 접속하기 위한 전자 장치 및 그의 방법에 관한 것이다.
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) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE(Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(information technology) 기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크, 사물 통신, MTC 등의 기술이 5G 통신 기술이 빔포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
한편, 통신 기술의 발달(development)로 인하여, 인터넷을 보다 편리하게 이용하기 위한 방법들이 보급되고 있다. 예를 들면, 인터넷을 보다 편리하게 이용하기 위해, 문자들의 조합으로 설정되는 FQDN(fully qualified domain name)을 이용하여 인터넷에 접속하는 방법이 사용자들에게 보급되고 있다. 상기 FQDN을 이용하여 인터넷에 접속하는 방법은, 사용자에게 편의(convenience)를 제공할 수 있지만, FQDN에 기반하여 IP(internet protocol) 주소(address)를 획득하는 절차와 같은 추가적인 절차를 요구한다. 다시 말해, 상기 FQDN을 이용하여 인터넷에 접속하는 방법은 지연(delay)를 야기시킬 수 있다. 따라서, 이러한 지연을 감소시키기 위한 방법들이 모색되고 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, FQDN을 이용하여 인터넷에 접속하는 방법에 의해 야기되는 지연을 감소시키기 위한 전자 장치 및 그의 방법을 제공한다.
본 개시의 다양한 실시 예들에 따른 전자 장치(electronic device)는, 제어부(controller)와, 상기 제어부와 기능적으로 연결된(operatively coupled) 센서와, 상기 제어부와 기능적으로 연결된 통신부(communication unit)와, 상기 제어부와 기능적으로 연결된 저장부(storage unit)를 포함할 수 있고, 상기 제어부는, 제1 FQDN(fully qualified domain name)에 대한 제1 입력을 검출하도록 설정될 수 있고, 상기 제1 입력을 검출한 후 지정된 구간(designated interval) 이내에 제2 FQDN에 대한 제2 입력을 검출하도록 설정될 수 있고, 상기 제2 입력을 검출하는 것에 대응하여, 상기 저장부 내에 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장하도록 설정될 수 있으며, 상기 제1 FQDN에 대한 제3 입력을 검출하는 것에 대응하여, DNS(domain name system) 서버(server)에게 상기 제1 FQDN에 대응하는 주소(address)에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 각각 송신하는 것을 제어하도록 설정될 수 있다.
본 개시의 다양한 실시 예들에 따른 전자 장치의 방법은, 제1 FQDN에 대한 제1 입력을 검출하는 과정과, 상기 제1 입력을 검출한 후 지정된 구간 이내에 제2 FQDN에 대한 제2 입력을 검출하는 과정과, 상기 제2 입력을 검출하는 것에 대응하여, 상기 전자 장치에 포함된 저장부 내에 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장하는 과정과, 상기 제1 FQDN에 대한 제3 입력을 검출하는 것에 대응하여, DNS 서버에게 상기 제1 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 각각 송신하는 과정을 포함할 수 있다.
본 개시의 다양한 실시 예들에 따른 전자 장치(electronic device) 및 그의 방법은, 입력된 FQDN에 대한 DNS(domain name system) 질의(query)뿐만 아니라 상기 입력된 FQDN과 관련된 FQDN에 대한 DNS 질의도 수행함으로써, FQDN을 이용하여 인터넷에 접속하는 방법에 의해 야기되는 지연을 감소시킬 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 인터넷에 접속하기 위한 네트워크 구조의 예를 도시한다.
도 2는 FQDN(fully qualified domain name)을 이용하여 인터넷에 접속하는 전자 장치, DNS(domain name system) 서버, 및 컨텐츠 서버 사이의 신호 흐름의 예를 도시한다.
도 3은 DNS 시그널링(signaling)의 예를 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 병렬적(paralleling) DNS 시그널링의 예를 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치, DNS 서버, 및 컨텐츠 서버 사이의 신호 흐름의 예를 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 FQDN에 관한 정보를 제어하는 전자 장치의 동작 흐름의 예를 도시한다.
도 7a는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 시간 구간 별로 FQDN에 관한 정보를 저장하는 전자 장치의 동작 흐름의 예를 도시한다.
도 7b는 본 개시의 다양한 실시 예들에 따라 적응적으로 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐름의 예를 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 저장된 FQDN에 관한 정보를 제어하는 전자 장치의 동작 흐름의 다른 예를 도시한다.
도 9a는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 사용자 별로 FQDN에 관한 정보를 저장하는 전자 장치의 동작 흐름의 예를 도시한다.
도 9b는 본 개시의 다양한 실시 예들에 따라 적응적으로 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐름의 다른 예를 도시한다.
도 10은 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐름의 다른 예를 도시한다.
도 11a는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐름의 또 다른 예를 도시한다.
도 11b는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치, 프록시(proxy) 서버, 및 DNS 서버 사이의 신호 흐름의 예를 도시한다.
도 12는 본 개시의 다양한 실시 예에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 13a는 본 개시의 다양한 실시 예들에 따른 전자 장치 내의 저장부에 포함된 기능적 구성의 예를 도시한다.
도 13b는 본 개시의 다양한 실시 예들에 따른 전자 장치 내의 저장부에 포함된 기능적 구성의 다른 예를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
인터넷(internet)은, 다양한 유형들을 가지는 서버(server)들을 통해 사용자에게 정보를 제공한다. 이러한 서버들은 IP(internet protocol) 주소(address)를 통해 서로 구분될 수 있다. 하지만 상기 IP 주소는 다수의 숫자들의 조합(combination)으로 설정되기 때문에, 낮은 접근성(accessibility)을 가질 수 있다. IP 주소의 낮은 접근성을 보완하기 위하여, FQDN(fully qualified domain name)을 이용하여 인터넷에 접속하는 방법이 널리 이용되고 있다.
여기서, 상기 FQDN은 인터넷 상의 특정 호스트(또는 서버)를 지시하기 위한 고유한 주소(예: IP 주소 등)를 가질 수 있다. 또한, 상기 FQDN은 의미를 가지는 단어 또는 단어들의 조합으로 설정될 수 있다. 상기 FQDN은 의미를 가지는 단어 또는 단어들의 조합으로 설정되기 때문에, 상기 FQDN을 이용하는 사용자는 보다 용이하고 직관적으로 인터넷에 접속할 수 있다.
또한, 상기 FQDN은, DNS(domain name system) 질의(query)를 위해, 사용자가 인지할 수 있는 도메인 네임(또는 호스트 네임)에 기반하여 처리된 데이터(또는 시퀀스)일 수 있다. 실시 예들에 따라, 상기 FQDN은 상기 도메인 네임(또는 상기 호스트 네임)과 동일하게 설정될 수도 있고, 상이하게 설정될 수도 있다.
하지만 이러한 FQDN을 이용하여 인터넷에 접속하는 방법은, 상기 IP 주소의 낮은 접근성을 보완할 수 있지만, DNS(domain name system) 질의(query) 절차(procedure)와 같은 추가적인 절차를 요구한다. 상기 DNS 질의 절차는 추가적인 절차이기 때문에, 지연을 야기할 수 있으며, 이러한 지연은 인터넷 접속 속도를 감소시키기 때문에, 사용자의 편의성(convenience)를 저해할 수 있다.
따라서, 본 개시는 지연을 감소시킬 수 있는 새로운 DNS 질의 절차를 제안한다.
도 1은 인터넷에 접속하기 위한 네트워크 구조의 예를 도시한다.
도 1을 참조하면, 네트워크 100은 전자 장치 110, DNS 서버 120, 컨텐츠(content) 서버 130을 포함할 수 있다.
상기 전자 장치 110은 이동성(mobility)을 가지는 장치일 수 있다. 예를 들면, 상기 전자 장치 110은 휴대폰(mobile phone), 스마트 폰(smart phone), 음악 재생기(music player), 휴대용 게임 콘솔(portable game console), 네비게이션(navigation) 시스템, 랩탑 컴퓨터(laptop computer) 등일 수 있다. 상기 전자 장치 110이 이동성을 가지는 장치인 경우, 상기 전자 장치 110은 모바일 스테이션(mobile station), 단말(terminal), STA(station), 사용자 장치(user equipment) 등으로 지칭될 수도 있다.
상기 전자 장치 110은 고정된(fixed) 장치일 수 있다. 예를 들면, 상기 전자 장치 110은 데스크탑 컴퓨터(desktop computer), 비디오 게임 콘솔(video game console), 스마트 TV(smart television), 통신 기능을 구비한 가정용 전자 기기(예: 냉장고, 보일러(boiler) 등), 미러 디스플레이(mirror display) 등일 수 있다.
상기 전자 장치 110은 다른(another) 전자 장치 또는 다른 개체(entity)와 통신할 수 있다. 예를 들면, 상기 다른 개체는 다양한 유형의 서버(예: 상기 DNS 서버 120, 상기 컨텐츠 서버 130 등)일 수 있다. 다른 예를 들면, 상기 다른 개체는 셀룰러(cellular) 통신 서비스를 제공하는 기지국일 수 있다. 또 다른 예를 들면, 상기 다른 개체는 WLAN(wireless local area network) 서비스를 제공하는 AP(access point)일 수 있다. 일부 실시 예들에서, 상기 전자 장치 110은, 유선 통신 경로(wired communication path)을 통해, 상기 다른 전자 장치 또는 상기 개체와 통신할 수 있다. 다른 일부 실시 예들에서, 상기 전자 장치 110은, 무선 통신 경로(wireless communication path)을 통해, 상기 다른 전자 장치 또는 상기 개체와 통신할 수 있다. 상기 무선 통신 경로는, Wi-Fi(Wireless-Fidelity) 경로일 수 있다. 또한, 상기 무선 통신 경로는, 셀룰러 통신 경로일 수도 있다. 또한, 상기 무선 통신 경로는 블루투스(bluetooth), BLE(bluetooth low energy) 등과 같은 근접(proximity) 통신을 위한 경로일 수도 있다.
상기 DNS 서버 120은 문자(character)들의 조합으로 설정되는 FQDN에 대응하는 주소(예: IP 주소)에 관한 정보를 다른 개체(예: 상기 전자 장치 110 등)에게 제공하는 장치일 수 있다. 여기서, 상기 주소는, 다양한 포맷(format)을 가질 수 있다. 예를 들면, 상기 주소는, IPv4 포맷을 가지거나, IPv6 포맷을 가질 수 있다. 구체적으로, 상기 DNS 서버 120은 상기 전자 장치 110으로부터 DNS 질의(query) 메시지를 수신할 수 있다. 상기 DNS 질의 메시지는, FQDN의 전부 또는 일부에 관한 정보를 포함할 수 있다. 상기 DNS 서버 120은 수신된 DNS 질의 메시지에 포함된 FQDN에 관한 정보에 대응하는 주소(예: IP 주소 등)에 관한 정보를 포함하는 DNS 응답(response) 메시지를 상기 전자 장치 110에게 송신할 수 있다.
상기 DNS 서버 120은, 상기 DNS 서버 120이 질의된 FQDN에 대응하는 주소에 관한 정보를 상기 전자 장치 110에게 제공할 수 있도록 하기 위하여, 상기 컨텐츠 서버 130으로부터 FQDN에 대응하는 주소에 관한 정보를 제공받을 수 있다. 또한, 상기 DNS 서버 120은, 상기 컨텐츠 서버 130으로부터 상기 제공되는 주소의 유효 기간(available period)에 관한 정보를 더 제공받을 수 있다. 상기 유효 기간은, 상기 주소가 이용 가능한 기간을 나타내는 파라미터일 수 있다. 상기 유효 기간은, 상기 주소를 언제까지 상기 DNS 서버 120에서 캐싱(cashing) 정보(information)로 유지하는지를 나타내는 파라미터일 수 있다. 예를 들면, 상기 유효 기간에 관한 정보는 TTL(time to live)에 관한 정보를 포함할 수 있다.
도 1에서 상기 DNS 서버 120은 하나의 개체로 도시되었지만, 이는 설명을 위한 예시일 뿐, 도 1에 도시된 상기 DNS 서버 120은 다수의 DNS 서버들의 집합체(aggregation)로 구성될 수도 있다. 예를 들면, 상기 DNS 서버 120은, 복수의 로컬(local) DNS 서버 및/또는 상위 DNS 서버(예: 루트(root) DNS 서버, 미러(mirror) 서버 등)의 집합체로 구성될 수도 있다. 상기 DNS 서버 120이 다수의 DNS 서버들의 집합체로 구성되는 경우, 상기 DNS 서버 120은, 상기 다수의 DNS 서버들 간의 정보 교환을 통해, 다른 개체로부터 요청된 FQDN에 대응하는 주소에 관한 정보를 결정할 수 있으며, 상기 다른 개체에게 상기 주소에 관한 정보를 제공할 수 있다.
상기 컨텐츠 서버 130은 다른 개체(예: 상기 전자 장치 110 등)에게 다양한 유형을 가지는 정보를 제공하는 서버일 수 있다. 예를 들면, 상기 컨텐츠 서버 130은 포털(portal) 서비스를 제공하는 서버일 수 있다. 다른 예를 들면, 상기 컨텐츠 서버 130은 인터넷 쇼핑 서비스를 제공하는 서버일 수 있다. 또 다른 예를 들면, 상기 컨텐츠 서버 130은 동영상(video) 스트리밍(streaming) 서비스 또는 음원(sound) 스트리밍 서비스를 제공하는 서버일 수 있다. 또 다른 예를 들면, 상기 컨텐츠 서버 130은 게임(game) 서비스를 제공하는 서버일 수 있다. 또 다른 예를 들면, 상기 컨텐츠 서버 130은 소셜 네트워크 서비스(SNS, social network service)를 제공하는 서버일 수 있다.
구체적으로, 상기 컨텐츠 서버 130은 상기 다른 개체로부터 데이터를 요청하기 위한 메시지를 수신할 수 있다. 상기 컨텐츠 서버 130은 상기 수신된 메시지에 의해 요청되는 데이터를 포함하는 메시지를 상기 다른 개체에게 송신할 수 있다.
또한, 상기 컨텐츠 서버 130은, 상기 DNS 서버 120이 질의된 FQDN에 대응하는 주소에 관한 정보를 상기 전자 장치 110에게 제공할 수 있도록 하기 위하여, 상기 DNS 서버 120에게 FQDN에 대응하는 주소에 관한 정보를 상기 DNS 서버 120에게 제공할 수 있다. 또한, 상기 컨텐츠 서버 130은 상기 DNS 서버 120에게 상기 제공되는 주소의 유효 기간에 관한 정보를 더 제공할 수 있다. 예를 들면, 상기 유효 기간에 관한 정보는 TTL에 관한 정보를 포함할 수 있다.
FQDN을 이용하여 인터넷에 접속하기 위한 절차는 하기와 같이 수행될 수 있다. 상기 전자 장치 110은 UI(user interface) 112와 같이 사용자가 웹 페이지 상에 직접 입력한 URL(uniform resource locator) "m.navee.com"을 검출하거나, UI 114와 같이 사용자가 어플리케이션을 실행함으로써 자동적으로 연결되는 URL을 검출할 수 있다. 상기 전자 장치 110은 상기 검출된 URL에서 FQDN(예: 상기 UI 112에서 "m.navee.com")을 식별할 수 있다.
상기 전자 장치 110은 상기 식별된 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다. 상기 DNS 서버 120은 상기 전자 장치 110으로부터 상기 식별된 FQDN에 관한 정보를 포함하는 상기 DNS 질의 메시지를 수신할 수 있다. 상기 DNS 서버 120은 상기 식별된 FQDN에 대응하는 주소를 식별할 수 있다. 상기 DNS 서버 120은 상기 식별된 주소에 관한 정보를 포함하는 DNS 응답 메시지를 상기 전자 장치 110에게 송신할 수 있다. 상기 DNS 응답 메시지는, 상기 식별된 주소의 유효 기간에 관한 정보를 더 포함할 수도 있다. 상기 전자 장치 110은, 상기 식별된 주소에 관한 정보를 포함하는 상기 DNS 응답 메시지를 상기 DNS 서버 120으로부터 수신할 수 있다. 여기서, 상기 전자 장치 110이 상기 DNS 질의 메시지를 상기 DNS 서버에게 송신하는 과정 및 상기 전자 장치 110이 상기 DNS 응답 메시지를 상기 DNS 서버로부터 수신하는 과정은 통칭하여 DNS 시그널링(signaling)으로 지칭될 수 있다.
상기 전자 장치 110은, 상기 수신된 DNS 응답 메시지를 통해, 상기 전자 장치 110이 접속하고자 하는 서버를 구분할 수 있는 정보를 획득할 수 있다. 예를 들면, 상기 전자 장치 110은 상기 수신된 DNS 응답 메시지를 통해 상기 컨텐츠 서버 130의 IP 주소에 관한 정보를 획득할 수 있다. 상기 전자 장치 110은, 상기 획득된 IP 주소를 이용하여, 상기 컨텐츠 서버 130에게 데이터를 요청하기 위한 메시지를 송신할 수 있다. 달리 표현하면, 상기 전자 장치 110은 상기 획득된 주소에 의해 지시되는 상기 컨텐츠 서버 130에게 데이터를 요청하기 위한 메시지를 송신할 수 있다. 상기 데이터는 상기 컨텐츠 서버 130으로부터 제공받고자 하는 서비스에 관한 정보를 포함할 수 있다. 상기 컨텐츠 서버 130은, 상기 전자 장치 110으로부터, 상기 데이터를 요청하기 위한 메시지를 수신할 수 있다.
상기 컨텐츠 서버 130은 상기 전자 장치 110으로부터 요청된 데이터를 포함하는 메시지(즉, 데이터 응답 메시지)를 상기 전자 장치 110에게 송신할 수 있다. 상기 전자 장치 110은 상기 컨텐츠 서버 130으로부터 상기 데이터 응답 메시지를 수신할 수 있다.
도 2는 FQDN을 이용하여 인터넷에 접속하는 전자 장치, DNS 서버, 및 컨텐츠 서버 사이의 신호 흐름의 예를 도시한다.
도 2를 참조하면, 상기 전자 장치 110은, S210 단계에서, FQDN을 검출할 수 있다. 상기 FQDN의 검출은, UI 205와 같이, 상기 전자 장치 110에 표시된 웹 페이지에 대한 입력에 의해 야기될 수 있다. 상기 전자 장치 110은, 상기 입력으로부터 식별되는 URL 내에서 상기 FQDN을 검출할 수 있다.
S220 단계에서, 상기 전자 장치 110은 상기 검출된 FQDN에 대응하는 주소가 상기 전자 장치 110 내에 저장되어 있는지 여부를 결정할 수 있다. 상기 전자 장치 110이 상기 FQDN에 의해 지시되는 서버에 이전에 접속한 적이 있는 경우, 상기 전자 장치 110은 상기 주소의 유효 기간(예: TTL 등) 동안 상기 주소를 저장하고 있을 수 있다. 상기 주소가 저장되어 있는 경우, 상기 전자 장치 110은 상기 FQDN에 의해 지시되는 서버의 주소에 관한 정보를 이미 인지하고 있기 때문에, DNS 시그널링을 수행할 필요가 없다. 달리 표현하면, 상기 검출된 FQDN에 대응하는 주소가 상기 전자 장치 110 내에 저장되어 있는 경우, 상기 전자 장치 110은 S230 단계에서의 동작 및 S240 단계에서의 동작을 수행할 필요 없이 S250 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 주소가 상기 전자 장치 110 내에 저장되어 있지 않은 경우, 상기 전자 장치 110은 상기 FQDN에 의해 지시되는 서버의 주소에 관한 정보를 획득하기 위하여, DNS 시그널링을 수행하여야 한다. 달리 표현하면, 상기 검출된 FQDN에 대응하는 주소가 상기 전자 장치 110에 저장되어 있지 않은 경우, 상기 전자 장치 110은 S230 단계에서의 동작을 수행할 수 있다.
S230 단계에서, 상기 전자 장치 110은 상기 DNS 서버 120에게 상기 검출된 FQDN에 관한 정보를 포함하는 DNS 질의 메시지(DNS query message)를 송신할 수 있다. 상기 전자 장치 110은 상기 FQDN에 의해 지시되는 서버의 주소를 획득하기 위하여, 상기 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다. 상기 DNS 서버 120은 상기 전자 장치 110으로부터 상기 DNS 질의 메시지를 수신할 수 있다.
S240 단계에서, 상기 DNS 서버 120은, 상기 수신된 DNS 질의 메시지에 대한 응답으로, 상기 FQDN에 대응하는 주소에 관한 정보를 포함하는 DNS 응답 메시지를 송신할 수 있다. 일부 실시 예들에서, 상기 DNS 응답 메시지는 상기 주소의 유효 기간(예: TTL)에 관한 정보를 더 포함할 수 있다.
상기 DNS 질의 메시지 및 상기 DNS 응답 메시지 각각은 포맷 215와 같이 설정될 수 있다. 예를 들면, 상기 DNS 질의 메시지 및 상기 DNS 응답 메시지 각각은, 헤더(header) 섹션(section), 질의(question) 섹션, 응답(answer) 섹션, 책임(authority) 섹션, 부가 정보(additional information) 섹션을 포함할 수 있다.
상기 헤더 섹션은, 질의와 응답이 대응하는지 여부를 식별하기 위한 ID 필드, 질의의 특성을 정의하기 위한 플래그(flag) 필드들, 상기 질의 섹션의 개수를 표시하기 위한 QDCount 필드, 상기 응답 섹션의 개수를 표시하기 위한 ANCount 필드, 상기 책임 섹션의 개수를 표시하기 위한 NSCount 필드, 및/또는 상기 부가 정보 섹션의 개수를 표시하기 위한 ARCount 필드를 포함할 수 있다. 예를 들면, 상기 헤더 섹션은, 12 바이트(bytes)의 크기를 가질 수 있다.
상기 질의 섹션은, 검출된 FQDN에 관한 정보를 포함하는 네임(name) 필드, 질의의 유형을 나타내기 위한 유형(type) 필드, 및/또는 네트워크의 클래스 타입을 나타내기 위한 클래스(class) 필드를 포함할 수 있다. 상기 질의 섹션은 가변적인 길이를 가질 수 있다.
상기 응답 섹션은, 상기 네임 필드, 상기 유형 필드, 상기 클래스 필드, 상기 주소에 관한 정보가 언제까지 상기 DNS 서버 120에서 캐싱 정보로 유지되는지 여부를 나타내기 위한 TTL 필드, Rdata의 길이를 나타내는 RDlength 필드, 및/또는 상기 주소에 관한 정보를 포함하고 있는 Rdata 필드를 포함할 수 있다.
상기 책임 섹션, 및 상기 부가 정보 섹션은 상기 응답 섹션과 동일한 구조를 가질 수 있으며, 상기 책임 섹션은, 상기 DNS 서버 120이 질의된 FQDN에 관한 응답을 직접 제공하는 경우 이용되고, 상기 부가 정보 섹션은, 질의된 FQDN에 관한 응답을 다른 DNS 서버로부터 제공받은 경우 이용될 수 있다.
S250 단계에서, 상기 전자 장치 110은 상기 컨텐츠 서버 130에게 데이터 요청 메시지(data request message)를 송신할 수 있다. 상기 전자 장치 110은 상기 수신된 DNS 응답 메시지에 포함된 주소에 관한 정보를 이용하여 상기 컨텐츠 서버 130의 주소를 식별할 수 있다. 상기 전자 장치 110은, 상기 식별된 주소를 이용하여, 상기 컨텐츠 서버 130에게 데이터를 요청하기 위한 메시지를 송신할 수 있다. 상기 컨텐츠 서버 130은 상기 전자 장치 110으로부터 상기 데이터를 요청하기 위한 메시지를 수신할 수 있다.
S260 단계에서, 상기 컨텐츠 서버 130은 상기 전자 장치 110에게 데이터 응답 메시지(data response message)를 송신할 수 있다. 상기 컨텐츠 서버 130은, 상기 전자 장치 110이 요청한 서비스를 상기 전자 장치 110에게 제공하기 위하여, 상기 전자 장치 110에게, 데이터에 관한 정보를 포함하는 메시지를 송신할 수 있다. 상기 전자 장치 110은 상기 컨텐츠 서버 130으로부터 상기 데이터에 관한 정보를 포함하는 메시지를 수신할 수 있다.
S270 단계에서, 상기 전자 장치 110은 상기 수신된 데이터를 UI 210과 같이 표시할 수 있다. 상기 UI 210은 S210 단계에서의 상기 웹 페이지에 대한 입력에 대한 응답을 표시하는 UI일 수 있다. S270 단계는 상기 전자 장치 110이 수신된 데이터를 표시하는 과정을 예시하고 있지만, 실시 예들에 따라, 상기 전자 장치 110은 상기 S270 단계에서의 동작을 대신하여, 상기 데이터를 저장하는 동작, 상기 데이터를 재가공하는 동작, 상기 데이터를 처리하는 동작 등을 수행할 수도 있다.
도 3은 DNS 시그널링의 예를 도시한다.
도 3을 참조하면, 시점(timing) 318에서, 상기 전자 장치 110은 UI 305와 같이, 복수의 객체(object, 예: 아이콘(icon) 등)들을 포함하는 UI를 표시할 수 있다. 상기 복수의 객체들 각각은 상기 전자 장치 110 내에 저장된 어플리케이션을 실행하기 위해 이용될 수 있다. 상기 복수의 객체들 중 일부는, 인터넷에 접속하는 것이 요구되는 어플리케이션과 연관될(interrelated) 수 있다. 예를 들면, 상기 인터넷에 접속하는 것이 요구되는 어플리케이션은, 웹 페이지 접속을 위한 어플리케이션, 인터넷 쇼핑 서비스를 제공하기 위한 어플리케이션, 게임과 관련된 어플리케이션 등일 수 있다.
시점 320에서, 상기 전자 장치 110은 제1 입력(input #1)을 검출할 수 있다. 예를 들면, 상기 제1 입력은 인터넷으로의 접속을 요구하는 포털 서비스(portal service)를 제공하기 위한 어플리케이션과 연관된 객체에 대한 입력일 수 있다. 상기 전자 장치 110은 상기 제1 입력으로부터 제1 FQDN을 식별할 수 있다.
시점 322에서, 상기 전자 장치 110은, 상기 포털 서비스를 제공하기 위한 어플리케이션을 정상적으로 실행시키기 위하여, 상기 식별된 제1 FQDN에 관한 정보를 포함하는 제1 DNS 질의 메시지(DNS query message #1)를 상기 DNS 서버 120에게 송신할 수 있다. 상기 DNS 서버 120은, 상기 전자 장치 110으로부터 상기 식별된 제1 FQDN에 관한 정보를 포함하는 상기 제1 DNS 질의 메시지를 수신하는 것에 대응하여, 상기 전자 장치 110에게 상기 식별된 제1 FQDN에 대응하는 주소에 관한 정보를 포함하는 제1 DNS 응답 메시지(DNS response message #1)를 송신할 수 있다.
시점 324에서, 상기 전자 장치 110은 상기 DNS 서버 120으로부터 상기 식별된 제1 FQDN에 대응하는 주소에 관한 정보를 포함하는 상기 제1 DNS 응답 메시지를 수신할 수 있다.
상기 시점 320과 상기 시점 324 사이의 시간 간격은 a일 수 있다.
시점 326에서, 상기 전자 장치 110은 상기 수신된 주소에 의해 지시되는 서버(예: 상기 컨텐츠 서버 130 등)에게 제1 데이터 요청 메시지(data request message #1)를 송신할 수 있다. 상기 전자 장치 110은, 상기 포털 서비스를 제공하기 위한 어플리케이션을 정상적으로 실행하기 위하여, 상기 서버에게 상기 제1 데이터 요청 메시지를 송신할 수 있다. 상기 서버는 상기 전자 장치 110으로부터 상기 제1 데이터 요청 메시지를 수신하는 것에 대응하여, 상기 포털 서비스를 제공하기 위한 어플리케이션이 정상적으로 실행될 수 있도록, 상기 전자 장치 110에게 제1 데이터 응답 메시지(data response message #1)를 송신할 수 있다.
시점 328에서, 상기 전자 장치 110은 상기 서버로부터 상기 제1 데이터 응답 메시지를 수신할 수 있다. 상기 제1 데이터 응답 메시지는 상기 포털 서비스를 제공하기 위한 어플리케이션을 정상적으로 실행하기 위한 정보를 포함할 수 있다. 또한, 상기 제1 데이터 응답 메시지는 상기 제1 데이터 요청 메시지를 이용하여 상기 전자 장치 110이 상기 서버에게 요청한 정보를 포함할 수 있다.
시점 330에서, 상기 전자 장치 110은 상기 수신된 제1 데이터 응답 메시지에 기반하여, UI 310과 같이, 상기 포털 서비스를 제공하기 위한 어플리케이션에 대한 UI를 표시할 수 있다.
시점 332에서, 상기 전자 장치 110은 제2 입력(input #2)를 검출할 수 있다. 예를 들면, 상기 제2 입력은 상기 표시된 UI 310 내에 포함된 객체에 대한 입력일 수 있다. 상기 제2 입력은 다른 주소를 가지는 서버로의 접속이 요구되는 입력일 수 있다. 또한, 상기 제2 입력은 상기 제1 입력 후에 발생될 가능성이 높은 입력일 수 있다. 예를 들면, 상기 제2 입력은 상기 제1 입력을 통해 실행되는 상기 어플리케이션에서 상기 사용자가 통상적으로 실행시키는 기능(function)과 관련된 입력일 수 있다. 상기 전자 장치 110은 상기 제2 입력으로부터 제2 FQDN을 식별할 수 있다.
시점 334에서, 상기 전자 장치 110은, 상기 제2 입력과 관련된 기능을 활성화 시키기 위하여, 상기 식별된 제2 FQDN에 관한 정보를 포함하는 제2 DNS 질의 메시지(DNS query message #2)를 상기 DNS 서버 120에게 송신할 수 있다. 상기 DNS 서버 120은, 상기 전자 장치 110으로부터 상기 식별된 제2 FQDN에 관한 정보를 포함하는 상기 제2 DNS 질의 메시지를 수신하는 것에 대응하여, 상기 전자 장치 110에게 상기 식별된 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 제2 DNS 응답 메시지(DNS response message #2)를 송신할 수 있다.
시점 336에서, 상기 전자 장치 110은 상기 DNS 서버 120으로부터 상기 식별된 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 상기 제2 DNS 응답 메시지를 수신할 수 있다.
상기 시점 334와 상기 시점 336 사이의 시간 간격은 b일 수 있다.
시점 338에서, 상기 전자 장치 110은 상기 수신된 주소에 의해 지시되는 서버(예: 상기 컨텐츠 서버 130 등)에게 제2 데이터 요청 메시지(data request message #2)를 송신할 수 있다. 상기 전자 장치 110은, 상기 제2 입력과 관련된 기능을 수행하기 위하여, 상기 서버에게 상기 제2 데이터 요청 메시지를 송신할 수 있다. 상기 서버는, 상기 전자 장치 110으로부터 상기 제2 데이터 요청 메시지를 수신하는 것에 대응하여, 상기 전자 장치 110이 상기 제2 입력과 관련된 기능을 정상적으로 수행할 수 있도록, 상기 전자 장치 110에게 제2 데이터 응답 메시지(data response message #2)를 송신할 수 있다.
시점 340에서, 상기 전자 장치 110은 상기 서버로부터 상기 제2 데이터 응답 메시지를 수신할 수 있다. 상기 제2 데이터 응답 메시지는 상기 제2 입력과 관련된 기능을 정상적으로 활성화하기 위한 정보를 포함할 수 있다. 또한, 상기 제2 데이터 응답 메시지는 상기 제2 데이터 요청 메시지를 이용하여 상기 전자 장치 110이 상기 서버에게 요청한 정보를 포함할 수 있다.
시점 342에서, 상기 전자 장치 110은 상기 수신된 제2 데이터 응답 메시지에 기반하여, UI 315와 같이, 상기 제2 입력과 관련된 UI를 표시할 수 있다.
상술한 바와 같이, 상기 전자 장치 110의 사용자는 숫자들의 조합으로 설정되는 주소보다 높은 접근성을 가지는 FQDN을 이용하여 인터넷에 접속할 수 있다. 하지만, 상기 FQDN을 이용하여 인터넷에 접속하는 경우, 상기 전자 장치 110과 상기 DNS 서버 120 사이의 DNS 시그널링을 추가적으로 요구한다. 이러한 DNS 시그널링은 새로운 개체로의 접속이 발생할 때마다 요구되기 때문에, 지연을 야기할 수 있다. 도 3의 경우, 시점 318과 시점 342 사이의 시간 구간에서, 상기 전자 장치 110의 인터넷 접속은 a+b만큼 지연될 수 있다.
따라서, 본 개시는, 현재 접속하고자 하는 컨텐츠 서버에 대한 DNS 질의뿐 아니라, 상기 DNS 질의 이후에 발생할 것으로 예측되는 DNS 질의를 병렬적으로 수행함으로써, DNS 시그널링으로 인해 발생되는 지연을 감소시키는 전자 장치 및 그의 동작 방법을 제공한다.
도 4는 본 개시의 다양한 실시 예들에 따른 병렬적(paralleling) DNS 시그널링의 예를 도시한다.
도 4를 참조하면, 시점 418에서, 상기 전자 장치 110은 UI 405와 같이, 복수의 객체들을 포함하는 UI를 표시할 수 있다.
시점 420에서, 상기 전자 장치 110은 제1 입력(input #1)을 검출할 수 있다. 예를 들면, 상기 제1 입력은 인터넷으로의 접속을 요구하는 포털 서비스를 제공하기 위한 어플리케이션과 연관된 객체에 대한 입력일 수 있다. 상기 전자 장치 110은 상기 제1 입력을 분석함으로써, 상기 제1 입력으로부터 제1 FQDN을 식별할 수 있다.
시점 422에서, 상기 전자 장치 110은, DNS 시그널링으로 야기되는 지연을 감소시키기 위하여, 상기 식별된 제1 FQDN에 관한 정보를 포함하는 제1 DNS 질의 메시지(DNS query message #1) 뿐만 아니라 제2 FQDN에 관한 정보를 포함하는 제2 DNS 질의 메시지(DNS query message #2)를 상기 DNS 서버 120에게 송신할 수 있다. 상기 제2 FQDN은 상기 제1 FQDN과 관련된 FQDN일 수 있다.
예를 들어, 상기 전자 장치 110의 사용자는, 높은 확률로, 상기 제1 FQDN에 의해 지시되는 서버에 접속한 후 지정된(designated) 구간(interval) 이내에 상기 제2 FQDN에 의해 지시되는 서버에 접속한다고 가정하자. 이러한 경우, 상기 전자 장치 110은 상기 전자 장치 110의 사용자의 인터넷 접속 패턴을 학습(learning)함으로써, 상기 전자 장치 110의 사용자가 제1 FQDN에 의해 지시되는 서버에 접속한 후 상기 제2 FQDN에 의해 지시되는 서버에 접속할 것이라고 예측할 수 있다. 따라서, 상기 전자 장치 110은 현재 상기 전자 장치 110의 사용자가 접속하고자 하는 상기 제1 FQDN에 관한 정보를 포함하는 상기 제1 DNS 질의 메시지뿐만 아니라 상기 제1 FQDN과 관련된 상기 제2 FQDN에 관한 정보를 포함하는 상기 제2 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다.
도 4는 상기 제1 DNS 질의 메시지와 상기 제2 DNS 질의 메시지가 동시에 송신되는 예를 도시하고 있지만, 일부 실시 예들에서, 상기 제1 DNS 질의 메시지 및 상기 제2 DNS 질의 메시지는 순서에 관계없이 약간의 시간 차를 두고 송신될 수 있다. 또한, 다른 일부 실시 예들에서, 상기 전자 장치 110은 상기 제1 FQDN에 관한 정보 및 상기 제1 FQDN과 관련된 상기 제2 FQDN에 관한 정보를 포함하는 하나의 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수도 있다.
상기 DNS 서버 120은, 상기 제1 DNS 질의 메시지를 상기 전자 장치 110으로부터 수신할 수 있고, 상기 제2 DNS 질의 메시지를 상기 전자 장치 110으로부터 수신할 수 있다. 상기 DNS 서버 120은, 상기 제1 FQDN에 대응하는 주소를 상기 전자 장치 110에게 알리기 위하여, 상기 제1 FQDN에 대응하는 주소에 관한 정보를 포함하는 제1 DNS 응답 메시지(DNS response message #1)를 상기 전자 장치 110에게 송신할 수 있다. 또한, 상기 DNS 서버 120은, 상기 제2 FQDN에 대응하는 주소를 상기 전자 장치 110에게 알리기 위하여, 상기 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 제2 DNS 응답 메시지(DNS response message #2)를 상기 전자 장치 110에게 송신할 수 있다.
시점 424에서, 상기 전자 장치 110은 상기 DNS 서버 120으로부터 상기 제1 FQDN에 대응하는 주소에 관한 정보를 포함하는 상기 제1 DNS 응답 메시지를 수신할 수 있다.
시점 426에서, 상기 전자 장치 110은 상기 DNS 서버 120으로부터 상기 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 상기 제2 DNS 응답 메시지를 수신할 수 있다. 상기 전자 장치 110은 상기 수신된 제2 DNS 응답 메시지에 포함된 상기 제2 FQDN에 대응하는 주소에 관한 정보를 저장할 수 있다. 일부 실시 예들에서, 상기 수신된 제2 DNS 응답 메시지가 상기 제2 FQDN에 대응하는 주소의 유효 기간(예: TTL 등)을 더 포함하는 경우, 상기 제2 FQDN에 대응하는 주소에 관한 정보는 상기 유효 기간 동안 상기 전자 장치 110 내에 저장될 수 있다.
상기 제1 FQDN에 관한 질의 및 응답을 위한 시그널링은 시점 422과 시점 424 사이의 시간 간격 a만큼의 시간이 소비될 수 있고, 상기 제2 FQDN에 관한 질의 및 응답을 위한 시그널링은 시점 422와 시점 426 사이의 시간 간격 b만큼의 시간이 소비될 수 있다.
도 4는 시간 간격 b가 시간 간격 a보다 큰 경우를 예시하고 있지만, 이는 설명을 위한 예시일 뿐, 시간 간격 b는 시간 간격 a와 같을 수도 있으며, 시간 간격 b는 시간 간격 a보다 작을 수도 있다.
상기 제1 DNS 질의 메시지를 송신하는 과정, 상기 제2 DNS 질의 메시지를 송신하는 과정, 상기 제1 DNS 응답 메시지를 수신하는 과정, 및 상기 제2 DNS 응답 메시지를 수신하는 과정은 통칭하여 병렬적 DNS 시그널링으로 지칭될 수 있다.
시점 428에서, 상기 전자 장치 110은 상기 제1 DNS 응답 메시지에 의해 지시되는 서버에게 제1 데이터 요청 메시지(data request message #1)를 송신할 수 있다. 상기 제1 DNS 응답 메시지에 의해 지시되는 서버는 상기 전자 장치 110으로부터 상기 제1 데이터 요청 메시지를 수신하는 것에 대응하여, 상기 전자 장치 110에게 제1 데이터 응답 메시지(data response message #1)을 송신할 수 있다. 상기 제1 데이터 응답 메시지는 상기 전자 장치 110이 요청한 정보를 포함할 수 있다.
도 4는 시점 428이 시점 426보다 후에 위치되는 경우를 예시하고 있지만, 이는 설명을 위한 예시일 뿐, 시점 428은 시점 426보다 같이 위치되거나 먼저 위치될 수도 있다. 다시 말해, 상기 전자 장치 110은, 상기 제2 DNS 응답 메시지를 수신하는지 여부와 관계없이, 상기 제1 DNS 응답 메시지에 의해 지시되는 서버에게 상기 제1 데이터 요청 메시지를 송신할 수 있다.
시점 430에서, 상기 전자 장치 110은 상기 제1 데이터 응답 메시지를 상기 제1 DNS 응답 메시지에 의해 지시되는 서버로부터 수신할 수 있다.
시점 432에서, 상기 전자 장치 110은 상기 수신된 제1 데이터 응답 메시지에 기반하여 UI 410과 같은 UI를 표시할 수 있다.
시점 434에서, 상기 전자 장치 110은 제2 입력(input #2)를 검출할 수 있다. 상기 제2 입력은, 상기 전자 장치 110이 상기 제2 FQDN에 의해 지시되는 서버에 접속하기 위한 입력일 수 있다.
일부 실시 예들에서, 상기 제2 입력은, 상기 전자 장치 110이 상기 제1 입력이 검출된 이후 지정된 구간 이내에서 검출될 것으로 예측한 입력일 수 있다. 상기 지정된 구간은 상기 전자 장치 110에 의해 결정되는 구간일 수 있다. 상술한 바와 같이, 상기 전자 장치 110은 상기 전자 장치 110의 사용자가 상기 제1 FQDN에 의해 지시되는 서버에 접속한 이후에 높은 확률로 상기 제2 FQDN에 의해 지시되는 서버에 접속한다는 것을 학습함으로써, 상기 제1 입력이 검출된 이후 상기 제2 입력이 검출될 것을 예측할 수 있다. 상기 전자 장치 110은, 상기 제1 입력이 검출된 이후에 상기 제2 입력이 실제로 발생(또는 검출)되는지 여부를 검사(check)하기 위하여, 상기 지정된 구간을 이용할 수 있다. 예를 들어, 상기 전자 장치 110이 상기 전자 장치 110의 사용자가 상기 제1 FQDN에 의해 지시되는 서버에 접속하고, k초 후에 상기 제2 FQDN에 의해 지시되는 서버에 접속한다는 것을 학습한 경우, 상기 전자 장치 110은 상기 지정된 구간을 k초로 설정할 수 있다. 실시 예들에 따라, 상기 전자 장치 110은, 상기 제2 입력을 위한 추가적인 시간을 부여하기 위하여, 상기 지정된 구간을 k+l초로 설정할 수도 있다.
시점 436에서, 상기 전자 장치 110은, DNS 시그널링 없이, 상기 제2 FQDN에 대응하는 주소에 의해 지시되는 서버에게 제2 데이터 요청 메시지(data request message #2)를 송신할 수 있다. 상기 전자 장치 110은, 상기 시점 426에서 수신된 상기 제2 DNS 응답 메시지에 기반하여 상기 제2 FQDN에 대응하는 주소를 미리 저장하고 있기 때문에, 상기 전자 장치 110은 DNS 시그널링 없이 상기 제2 FQDN에 대응하는 주소에 의해 지시되는 서버에게 상기 제2 데이터 요청 메시지를 송신할 수 있다. 상기 제2 FQDN에 대응하는 주소에 의해 지시되는 서버는, 상기 전자 장치 110으로부터 상기 제2 데이터 요청 메시지를 수신하는 것에 대응하여, 상기 전자 장치 110에게 제2 데이터 응답 메시지를 송신할 수 있다.
시점 438에서, 상기 전자 장치 110은, 상기 제2 FQDN에 대응하는 주소에 의해 지시되는 서버로부터, 상기 제2 데이터 응답 메시지를 수신할 수 있다.
시점 440에서, 상기 전자 장치 110은, 상기 수신된 제2 데이터 응답 메시지에 기반하여 UI 415와 같이, 상기 제2 입력과 관련된 UI를 표시할 수 있다.
도 3의 상기 전자 장치 110은 도 3에 도시된 절차를 수행하기 위하여, DNS 시그널링으로 인한 지연을 시간 간격 a+b만큼 가지는 반면, 도 4의 전자 장치 110은 도 3과 동일한 절차(즉, 도 4에 도시된 절차)를 수행하기 위하여, DNS 시그널링으로 인한 지연을 시간 간격
Figure 112016078121853-pat00001
만큼 가질 수 있다. 다시 말해, 병렬적 DNS 시그널링을 수행하는 도 4에 도시된 상기 전자 장치 110은 일반적인 DNS 시그널링을 수행하는 도 3에 도시된 상기 전자 장치 110보다 적은 지연으로 인터넷에 접속할 수 있다. 도 4는 상기 제1 FQDN과 관련된 FQDN이 하나인 경우를 설명하고 있지만, 상기 제1 FQDN과 관련된 FQDN이 복수인 경우, 이러한 지연 감소 효과는 보다 증가할 수 있다.
즉, 본 개시의 다양한 실시 예들에 따른 전자 장치 및 그의 동작 방법은, 병렬적 DNS 시그널링을 통해, DNS 시그널링으로 인한 지연을 감소시킴으로써, 사용자가 보다 빠르게 인터넷에 접속할 수 있도록 할 수 있다. 또한, 본 개시의 다양한 실시 예들에 따른 전자 장치 및 그의 동작 방법은, 병렬적 DNS 시그널링을 통해, DNS 시그널링에 의해 야기되는 지연을 감소시킴으로써, 사용자가 보다 빠르게 어플리케이션을 실행할 수 있도록 할 수 있다.
도 5는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치, DNS 서버, 및 컨텐츠 서버 사이의 신호 흐름의 예를 도시한다.
도 5를 참조하면, S510 단계에서, 상기 전자 장치 110은 제1 FQDN에 대한 제1 입력을 검출할 수 있다. 예를 들면, 상기 전자 장치 110은 웹 페이지에 직접 입력된 URL, 웹 페이지 상에 표시된 객체(예: 링크(link) 등)의 속성(attribute)으로 포함된 URL, 또는 인터넷에 접속하는 것이 요구되는 어플리케이션을 실행하기 위한 객체의 속성으로 포함된 URL 내에서 상기 제1 FQDN을 식별할 수 있다.
S520 단계에서, 상기 전자 장치 110은, 상기 제1 입력을 검출한 후, 지정된 주기 내에서 제2 FQDN에 대한 입력을 검출할 수 있다.
상기 S510 단계에서의 동작 및 상기 S520 단계에서의 동작은 반복적으로 수행될 수 있다. 예를 들어, 상기 전자 장치 110의 사용자가 습관적으로 상기 제1 입력을 발생시킨 후 지정된 구간 이내에 상기 제2 입력을 발생시키는 경우, 상기 S510 단계에서의 동작 및 상기 S520 단계에서의 동작은 반복적으로 수행될 수 있다. 또한, 상기 전자 장치 110은, 상기 S510 단계에서의 동작과 상기 S520 단계에서의 동작이 반복되는 것을 통해, 상기 제1 입력을 검출한 후 지정된 주기 내에서 상기 제2 입력이 검출될 것으로 예측된다는 것을 학습할 수 있다.
상기 제1 입력을 검출한 후 지정된 주기 내에서 제2 입력을 검출하는 것이 상기 전자 장치 110에 의해 학습되는 경우, S530 단계에서, 상기 전자 장치 110은, 상기 제2 입력을 검출하는 것에 대응하여, 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 전자 장치 110 내에 저장할 수 있다. 상기 S530 단계에서의 동작은, 이후 상기 제1 입력이 검출되어 상기 제1 FQDN에 관한 DNS 질의를 수행하는 경우 상기 제2 FQDN에 관한 DNS 질의도 병렬적으로 수행하기 위해 요구되는 동작일 수 있다.
S540 단계에서, 상기 전자 장치 110은 상기 제1 FQDN에 대한 제3 입력을 검출할 수 있다.
S550 단계에서, 상기 전자 장치 110은, 상기 제1 FQDN에 의해 지시되는 서버의 주소를 획득하기 위하여, 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다. 예를 들면, 상기 주소는 IP 주소일 수 있다. 또한, 상기 전자 장치 110은, 상기 제1 FQDN에 대한 입력 이후에 상기 제2 FQDN에 대한 입력이 검출될 수 있음을 예측하여, 상기 제2 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다. 상기 DNS 서버 120은 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지 및 상기 제2 FQDN에 관한 정보를 DNS 질의 메시지를 상기 전자 장치 110으로부터 수신할 수 있다.
S560 단계에서, 상기 DNS 서버 120은, 상기 전자 장치 110에게 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보를 포함하는 DNS 응답 메시지 및 상기 제2 FQDN에 대응하는 제2 주소에 관한 정보를 포함하는 DNS 응답 메시지를 송신할 수 있다. 상기 제1 주소에 관한 정보를 포함하는 DNS 응답 메시지는, 상기 제3 입력을 통해 상기 전자 장치 110이 접속하고자 하는 서버의 주소를 알리기 위한 메시지일 수 있다. 상기 제2 주소에 관한 정보를 포함하는 DNS 응답 메시지는, 상기 제2 FQDN에 의해 지시되는 서버에 상기 전자 장치 110이 접속할 것을 대비하기 위하여, 상기 전자 장치 110에 상기 제2 FQDN에 대응하는 제2 주소에 관한 정보를 미리 저장하기 위한 메시지일 수 있다. 상기 주소를 미리 저장하는 동작은, 실시 예들에 따라, 프리캐싱(pre-cashing), 프리패칭(pre-fetching), 또는 프리리졸빙(pre-resolving) 등으로 지칭될 수도 있다.
일부 실시 예들에서, 상기 제1 주소에 관한 정보를 포함하는 DNS 응답 메시지는 상기 제1 주소의 유효 기간(예: TTL 등)에 관한 정보를 더 포함할 수 있으며, 상기 제2 주소에 관한 정보를 포함하는 DNS 응답 메시지는 상기 제2 주소의 유효 기간에 관한 정보를 더 포함할 수 있다.
S570 단계에서, 상기 전자 장치 110은 상기 제1 주소에 관한 정보 및 상기 제2 주소에 관한 정보를 상기 전자 장치 110 내(예를 들면, 상기 전자 장치 110 내의 저장부)에 저장할 수 있다. 일부 실시 예들에서, 상기 제1 주소에 관한 정보를 포함하는 DNS 응답 메시지는 상기 제1 주소의 유효 기간(예: TTL 등)에 관한 정보를 더 포함하고, 상기 제2 주소에 관한 정보를 포함하는 DNS 응답 메시지는 상기 제2 주소의 유효 기간에 관한 정보를 더 포함하는 경우, 상기 제1 주소에 관한 정보는 상기 제1 주소의 유효 기간 동안 상기 제1 전자 장치 110 내에 저장되고, 상기 제2 주소에 관한 정보는 상기 제2 주소의 유효 기간 동안 상기 제2 전자 장치 110 내에 저장될 수 있다.
S580 단계에서, 상기 전자 장치 110은 상기 제3 입력에 대한 동작을 수행하기 위하여, 제1 컨텐츠 서버 130-1에게 데이터 요청 메시지를 송신할 수 있다. 상기 제1 컨텐츠 서버 130-1은 도 1 및/또는 도 2에 도시된 상기 컨텐츠 서버 130와 동일하거나 유사한 기능을 수행하는 서버일 수 있다. 상기 제1 컨텐츠 서버 130-1은 상기 제3 입력에 대응하는 기능 또는 서비스를 상기 전자 장치 110에게 제공하는 서버일 수 있다. 상기 제1 컨텐츠 서버 130-1은 상기 전자 장치 110으로부터 상기 데이터 요청 메시지를 수신할 수 있다.
S585 단계에서, 상기 제1 컨텐츠 서버 130-1은 상기 데이터 요청 메시지에 기반하여 생성된 데이터 응답 메시지를 상기 전자 장치 110에게 송신할 수 있다. 상기 전자 장치 110은 상기 데이터 응답 메시지를 상기 제1 컨텐츠 서버 130-1로부터 수신할 수 있다.
S590 단계에서, 상기 전자 장치 110은 상기 제2 FQDN에 대한 제4 입력을 검출할 수 있다. 상기 제4 입력은 상기 제3 입력이 검출된 후 상기 지정된 구간 이내에 검출되는 입력일 수 있다. 상기 제4 입력은 상기 제3 입력과 관련된 입력일 수도 있다. 상기 제4 입력은, 상기 제3 입력이 검출된 후 상기 지정된 구간 이내에 검출될 것으로 상기 전자 장치 110에 의해 예측된 입력일 수도 있다.
S592 단계에서, 상기 전자 장치 110은 상기 저장된 제2 주소에 기반하여 제2 컨텐츠 서버 130-2의 주소를 식별할 수 있다. 상기 제2 컨텐츠 서버 130-2는 도 1 및/또는 도 2에 도시된 상기 컨텐츠 서버 130과 동일하거나 유사한 기능을 수행하는 서버일 수 있다. 상기 제2 컨텐츠 서버 130-2는 상기 제4 입력에 대응하는 기능 또는 서비스를 상기 전자 장치 110에게 제공하는 서버일 수 있다. 상기 전자 장치 110은, 상기 S570 단계에서의 동작을 통해, 상기 제2 컨텐츠 서버 130-2의 주소에 관한 정보를 미리 저장하고 있을 수 있다. 상기 전자 장치 110은, 상기 저장된 제2 컨텐츠 서버 130-2의 주소에 관한 정보에 기반하여, DNS 질의 동작 없이, 상기 제2 컨텐츠 서버 130-2의 주소를 식별할 수 있다.
S594 단계에서, 상기 전자 장치 110은 상기 식별된 제2 컨텐츠 서버 130-2의 주소에 기반하여, 상기 제2 컨텐츠 서버 130-2에게 데이터 요청 메시지를 송신할 수 있다. 상기 전자 장치 110은, 상기 제4 입력에 대응하는 기능 또는 서비스를 상기 제2 컨텐츠 서버 130-2로부터 제공받기 위하여, 상기 제2 컨텐츠 서버 130-2에게 상기 데이터 요청 메시지를 송신할 수 있다. 상기 제2 컨텐츠 서버 130-2는 상기 전자 장치 110으로부터 상기 데이터 요청 메시지를 수신할 수 있다.
S596 단계에서, 상기 제2 컨텐츠 서버 130-2는 상기 전자 장치 110에게 데이터 응답 메시지를 송신할 수 있다. 상기 제2 컨텐츠 서버 130-2는, 상기 제4 입력에 대응하는 기능 또는 서비스를 전자 장치 110에게 제공하기 위하여, 상기 데이터 요청 메시지에 대응하는 상기 데이터 응답 메시지를 상기 전자 장치 110에게 송신할 수 있다. 상기 전자 장치 110은 상기 제2 컨텐츠 서버 130-2로부터 상기 데이터 응답 메시지를 수신할 수 있다.
상술한 바와 같이, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 상기 S510 단계의 동작 및 상기 S520 단계의 동작과 같은 학습 동작과, 상기 S530 단계에서의 동작과 같은 프리캐싱 동작과, 상기 S550 단계에서의 동작 및 S560 단계에서의 동작과 같은 병렬적 DNS 시그널링 동작을 통해, DNS 시그널링으로 인해 인터넷 접속 속도가 낮아지는 것을 방지할 수 있다.
도 6은 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 FQDN에 관한 정보를 제어하는 전자 장치의 동작 흐름의 예를 도시한다.
도 6을 참조하면, S610 단계에서, 상기 전자 장치 110은 제1 FQDN에 대한 제1 입력을 검출할 수 있다.
S620 단계에서, 상기 전자 장치 110은 상기 제1 입력을 검출한 후 지정된 구간 이내에서 제2 FQDN에 대한 제2 입력을 검출할 수 있다. 지정된 구간 이내에서 상기 제1 입력에 이어 상기 제2 입력을 검출하는 경우, 상기 전자 장치 110은 상기 제2 입력이 상기 제1 입력 이후에 발생될 입력으로 결정하기 위한 동작을 수행할 수 있다.
S630 단계에서, 상기 전자 장치 110은, 상기 제2 입력이 상기 제1 입력 이후에 발생될 입력인지 여부를 결정하기 위하여, 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN이 저장되어 있는지 여부를 결정할 수 있다. 상기 제1 입력과 관련된 FQDN으로 상기 제2 FQDN이 저장되어 있지 않은 경우, 상기 전자 장치 110은 S640 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 제1 입력과 관련된 FQDN으로 상기 제2 FQDN이 저장되어 있는 경우, 상기 전자 장치 110은 S650 단계에서의 동작을 수행할 수 있다.
S640 단계에서, 상기 전자 장치 110은, 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장할 수 있다. 상기 전자 장치 110은, 상기 제2 입력이 상기 제1 입력 이후에 발생될 입력인지 여부를 결정하기 위하여, 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장할 수 있다. 일부 실시 예들에서, 상기 전자 장치 110은, 상기 제2 입력이 상기 제1 입력 이후에 발생될 입력인지 여부를 모니터링하기 위하여, 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장할 수 있다.
S650 단계예서, 상기 전자 장치 110은, 상기 제2 FQDN에 관한 정보를 갱신할 수 있다. 상기 전자 장치 110은, 상기 제1 입력 이후에 발생될 입력을 예측하기 위하여, 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN에 관한 정보를 갱신할 수 있다. 예를 들어, 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN과 제3 FQDN이 상기 전자 장치 110 내에 저장되어 있다고 가정하자. 상기 제1 입력이 검출된 이후 상기 제2 입력이 검출되는 빈도수가 상기 제1 입력이 검출된 이후 상기 제3 FQDN에 대한 제3 입력이 검출되는 빈도수보다 많은 경우, 상기 전자 장치 110은 상기 제2 FQDN의 우선순위가 상기 제3 FQDN의 우선순위보다 높게 설정되도록 상기 제2 FQDN에 관한 정보를 갱신할 수 있다. 예를 들면, 상기 전자 장치 110은 하기의 수학식 1과 같은 행렬을 이용하여 상기 제2 FQDN 및 상기 제3 FQDN에 관한 정보를 제어할 수 있다.
Figure 112016078121853-pat00002
여기서, 상기
Figure 112016078121853-pat00003
은 입력 i가 검출된 이후 지정된 구간 이내에 입력 j가 검출되는 확률을 나타낸다.
예를 들면,
Figure 112016078121853-pat00004
는 상기 제1 입력이 검출된 이후 지정된 구간 이내에 상기 제2 입력이 검출될 확률을 나타내며,
Figure 112016078121853-pat00005
은 상기 제1 입력이 검출된 이후 지정된 구간 이내에 상기 제3 입력이 검출될 확률을 나타낸다.
상기 전자 장치 110은 수학식 1과 같은 행렬 내의 요소(element)들이 나타내는 확률 값들에 대응하여 상기 제1 입력과 관련된 상기 제2 입력 및 상기 제3 입력의 우선순위들을 결정할 수 있다.
S650 단계에서와 같이, 상기 제2 FQDN이 상기 제1 FQDN과 관련된 FQDN으로 저장되어 있는 경우, 상기 전자 장치 110은 상기 수학식 1과 같은 행렬 내의
Figure 112016078121853-pat00006
를 상향 조정할 수 있다.
이와 달리, S640 단계에서와 같이, 상기 제2 FQDN이 상기 제1 FQDN과 관련된 FQDN으로 저장되어 있지 않은 경우, 상기 전자 장치 110은, 추후 상기 제2 입력이 상기 제1 입력이 검출된 후 지정된 구간 이내에 검출되는지 여부를 모니터링하기 위하여, 상기 수학식 1과 같은 행렬 내에
Figure 112016078121853-pat00007
을 삽입할 수 있다. 이러한 경우,
Figure 112016078121853-pat00008
는 1/(상기 제1 입력이 검출된 횟수)로 설정될 수 있다.
상기 S610 단계 내지 S650 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 상기 전자 장치 110에서 검출되는 입력 이후에 발생되는 입력을 예측할 수 있다. 다시 말해, 상기 S610 단계 내지 S650 단계에서의 동작을 통해, 상기 전자 장치 110은, 병렬적 DNS 시그널링을 위해, FQDN과 다른 FQDN 사이의 관계에 관한 정보를 제어할 수 있다.
도 7a는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 시간 구간 별로 FQDN에 관한 정보를 저장하는 전자 장치의 동작 흐름의 예를 도시한다.
도 7a를 참조하면, S710 단계에서, 상기 전자 장치 110은 제1 FQDN에 대한 제1 입력을 검출할 수 있다.
S712 단계에서, 상기 전자 장치 110은 상기 제1 입력을 검출한 후 지정된 구간 이내에 제2 FQDN에 대한 제2 입력을 검출할 수 있다. 일반적으로, 사용자들은 시간 구간에 따라 다른 목적으로 전자 장치를 이용할 수 있다. 달리 표현하면, 사용자들은 시간 구간에 따라 전자 장치의 다른 기능을 활성화시킬 수 있다. 예를 들면, 상기 전자 장치 110의 사용자는, 오전 시간대(morning time)에는 상기 제1 입력을 통해 포털 사이트에 접속하고 상기 제2 입력을 통해 상기 포털 사이트와 연결된 날씨 사이트에 접속하는 반면, 저녁 시간대(evening time)에는 상기 제1 입력을 통해 상기 포털 사이트에 접속하고 상기 제2 입력을 통해 상기 포털 사이트와 연결된 뉴스 사이트에 접속할 수 있다. 다른 예를 들면, 상기 전자 장치 110의 사용자는, 일주일 중 주일(월요일부터 금요일)까지는 상기 제1 입력을 통해 포털 사이트에 접속하고 상기 제2 입력을 통해 쇼핑 사이트에 접속하는 반면, 주말에는 상기 제1 입력을 통해 포털 사이트에 접속하고, 상기 제2 입력을 통해 여행 사이트에 접속할 수 있다. 따라서, 상기 전자 장치 110은 서로 다른 시간 구간 별로 상기 전자 장치 110의 사용자의 사용 패턴을 구분하기 위한 동작을 수행할 수 있다.
S714 단계에서, 상기 전자 장치 110은, 상기 전자 장치 110의 사용자의 사용 패턴을 시간 구간 별로 학습하기 위하여, 상기 제2 입력이 제1 시간 구간(interval)에서 검출되었는지 여부를 결정할 수 있다. 상기 제2 입력이 상기 제1 시간 구간에서 검출된 경우, 상기 전자 장치 110은 S716 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 제2 입력이 상기 제1 시간 구간에서 검출되지 않은 경우, 상기 전자 장치 110은 S718 단계에서의 동작을 수행할 수 있다.
상기 S716 단계에서, 상기 전자 장치 110은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 제1 시간 구간을 위한 영역(region)에 저장할 수 있다. 도 7a의 상기 S716 단계의 동작은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 저장하는 과정을 예시하고 있지만, 상기 제2 FQDN이 상기 제1 FQDN과 관련된 FQDN으로 상기 제1 시간 구간을 위한 영역에 이미 저장되어 있는 경우, 상기 전자 장치 110은, 도 6의 상기 S650 단계에서의 동작과 같이, 상기 제1 시간 구간을 위한 영역에 저장된 상기 제2 FQDN에 관한 정보를 갱신할 수도 있다.
상기 S718 단계에서, 상기 전자 장치 110은 상기 제2 입력이 제2 시간 구간에서 검출되었는지 여부를 결정할 수 있다. 상기 제2 입력이 상기 제2 시간 구간에서 검출된 경우, 상기 전자 장치 110은 S720 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 제2 입력이 상기 제2 시간 구간에서 검출되지 않은 경우, 상기 전자 장치 110은 S722 단계에서의 동작을 수행할 수 있다.
상기 S720 단계에서, 상기 전자 장치 110은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 시간 구간을 위한 영역에 저장할 수 있다. 도 7a의 상기 S720 단계에서의 동작은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 저장하는 과정을 예시하고 있지만, 상기 제2 FQDN이 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 시간 구간을 위한 영역에 이미 저장되어 있는 경우, 상기 전자 장치 110은, 도 6의 상기 S650 단계에서의 동작과 같이, 상기 제2 시간 구간을 위한 영역에 저장된 상기 제2 FQDN에 관한 정보를 갱신할 수도 있다.
상기 S722 단계에서, 상기 전자 장치 110은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 제3 시간 구간을 위한 영역에 저장할 수 있다.
도 7a는 시간 구간을 3개로 나눈 경우를 예시하고 있지만, 이는 설명을 위한 것일 뿐, 상기 전자 장치 110의 사용자의 설정 또는 상기 전자 장치 110의 학습 결과에 따라 상기 시간 구간은 n개로 구분될 수도 있다.
상기 S710 단계 내지 상기 S722 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 검출되는 입력 이후에 발생되는 입력을 시간 별로 구분하여 예측할 수 있다. 다시 말해, 상기 S710 단계 내지 상기 S722 단계에서의 동작을 통해, 상기 전자 장치 110은 상기 전자 장치 110의 사용 패턴에 따라 적응적으로 병렬적 DNS 시그널링을 수행함으로써, 상기 전자 장치 110의 인터넷 접속 속도를 향상시킬 수 있다.
도 7b는 본 개시의 다양한 실시 예들에 따라 적응적으로 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐름의 예를 도시한다.
도 7b를 참조하면, S730 단계에서, 상기 전자 장치 110은 제1 FQDN에 대한 제1 입력을 검출할 수 있다. 상기 전자 장치 110은 상기 제1 입력 이후에 발생될 입력을 시간 별로 예측할 수 있다. 다시 말해, 상기 전자 장치 110은 도 7a에 의해 예시되는 동작들을 통해, 상기 제1 입력 이후에 발생될 입력을 시간 별로 예측할 수 있다.
S735 단계에서, 상기 전자 장치 110은, 상기 제1 입력 이후에 발생될 입력을 시간 별로 예측하기 위하여, 상기 제1 입력이 검출된 시점(timing)을 식별할 수 있다. 예를 들어, 상기 제1 입력이 오전 9시에 검출된 경우, 상기 전자 장치 110은 상기 제1 입력이 오전 9시에 검출되었음을 식별할 수 있다. 다른 예를 들어, 상기 제1 입력이 오후 4시에 검출된 경우, 상기 전자 장치 110은 상기 제1 입력이 오후 4시에 검출되었음을 식별할 수 있다.
S740 단계에서, 상기 전자 장치 110은, 상기 제1 FQDN과 관련되는 FQDN들 중에서 상기 식별된 시점에 대응하는 영역 내의 FQDN을 식별할 수 있다. 예를 들어, 상기 식별된 시점이 오전 9시인 경우, 상기 전자 장치 110은 상기 제1 FQDN과 관련된 FQDN들 중에서 오전 시간대를 위한 저장 영역 내의 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 식별할 수 있다. 다른 예를 들어, 상기 식별된 시점이 오후 4시인 경우, 상기 전자 장치 110은 상기 제1 FQDN과 관련된 FQDN들 중에서 오후 시간대를 위한 저장 영역 내의 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 식별할 수 있다.
S745 단계에서, 상기 전자 장치 110은, 병렬적 DNS 시그널링을 개시(initializing)하기 위하여, 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 송신하고, 상기 식별된 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 송신할 수 있다. 일부 실시 예들에서, 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지와 상기 식별된 FQDN에 관한 정보를 포함하는 DNS 질의 메시지는 동시에 송신될 수도 있고, 순서에 관계없이 일정 간격을 두고 송신될 수도 있다. 다른 일부 실시 예들에서, 도 7b의 예와 달리, 상기 제1 FQDN에 관한 정보와 상기 식별된 FQDN에 관한 정보는 하나의 DNS 질의 메시지에 포함되어 송신될 수도 있다.
상기 S730 내지 상기 S745 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 시간 구간에 따라 적응적으로 검출된 입력에 대한 FQDN과 관련된 FQDN을 결정(또는 식별)하여, DNS 질의를 수행할 수 있다. 다시 말해, 상기 S730 내지 상기 S745 단계에서의 동작을 통해, 상기 전자 장치 110은 시간 구간 별로 변경되는 사용자의 상기 전자 장치 110의 이용 패턴을 반영하여, 병렬적 DNS 시그널링을 수행할 수 있다.
도 8은 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 저장된 FQDN에 관한 정보를 제어하는 전자 장치의 동작 흐름의 다른 예를 도시한다.
도 8을 참조하면, S810 단계에서, 상기 전자 장치 110은 제1 FQDN과 관련된 FQDN으로 저장된 제2 FQDN이 미리 결정된 주기(predetermined period) 동안 이용되었는지 여부를 식별(또는 결정)할 수 있다. 예를 들어, 사용자의 패턴 변경으로 인하여 상기 제1 FQDN에 대한 제1 입력이 검출된 후 지정된 구간 이내에 상기 제2 FQDN에 대한 제2 입력이 검출되었던 패턴이 상기 제1 입력이 검출된 후 상기 제2 입력이 검출되지 않는 패턴으로 변경된 경우, 상기 전자 장치 110은 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN을 폐기(discard) 또는 삭제(delete)하여야 할 수 있다. 상기 전자 장치 110은, 이러한 폐기 또는 삭제를 위한 동작을 수행하기 위하여, 상기 미리 결정된 주기를 설정할 수 있다. 상기 미리 결정된 주기는, 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN의 활용성을 식별하기 위한 파라미터일 수 있다. 상기 미리 결정된 주기는, 사용자의 패턴의 변경에 따라 상기 제2 FQDN이 상기 제1 FQDN과 관련되지 않는 경우, 상기 제2 FQDN과 상기 제1 FQDN 사이의 관계를 해제하기 위한 파라미터일 수 있다.
상기 전자 장치 110은, 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN의 활용성을 식별하기 위하여, 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN이 미리 결정된 주기 동안 이용되었는지 여부를 식별할 수 있다. 상기 제2 FQDN이 미리 결정된 주기 동안 이용된 경우, 상기 전자 장치 110은 S830 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 제2 FQDN이 미리 결정된 주기 동안 이용되지 않은 경우, 상기 전자 장치 110은 S820 단계에서의 동작을 수행할 수 있다.
S820 단계에서, 상기 전자 장치 110은 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN을 폐기(discard) 또는 삭제(delete)할 수 있다. 상기 전자 장치 110은, 상기 전자 장치 110의 사용자의 이용 패턴의 변경을 인지하여, 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN을 폐기할 수 있다.
S830 단계에서, 상기 전자 장치 110은 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장하는 것을 유지할 수 있다.
상기 S810 단계 내지 S830 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 입력에 의해 검출된 FQDN과 관련되는 FQDN을 보다 정확하게 결정할 수 있다. 또한, 상기 전자 장치 100은 상기 S810 내지 S830 단계에서의 동작을 통해, 검출된 FQDN과 관련되지 않은 FQDN을 필터링함으로써, 상기 전자 장치 100 내의 저장부를 효율적으로 제어할 수 있다.
도 9a는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 위해 사용자 별로 FQDN에 관한 정보를 저장하는 전자 장치의 동작 흐름의 예를 도시한다.
도 9a를 참조하면, S910 단계에서, 상기 전자 장치 110은 제1 FQDN에 대한 제1 입력을 검출할 수 있다.
S912 단계에서, 상기 전자 장치 110은 상기 제1 입력을 검출한 후 지정된 구간 이내에 제2 FQDN에 대한 제2 입력을 검출할 수 있다. 상기 전자 장치 110은 하나의 사용자에 의해 이용될 수도 있지만, 복수의 사용자들에 의해 이용될 수도 있다. 그리고, 상기 복수의 사용자들은 상기 전자 장치 110을 서로 다른 목적을 위해 이용할 수 있다. 예를 들어, 상기 전자 장치 110을 이용하는 사용자가 성인(adult)인 경우, 상기 사용자는 포털 사이트에 접속하기 위한 제1 입력을 야기한 후, 뉴스 사이트에 접속하기 위한 제2 입력을 야기하는 패턴으로 상기 전자 장치 110을 이용할 수 있다. 이와 달리, 상기 전자 장치 110을 이용하는 다른 사용자가 아이(kid)인 경우, 상기 다른 사용자는, 포털 사이트에 접속하기 위한 제1 입력을 야기한 후, 게임 사이트에 접속하기 위한 제2 입력을 야기하는 패턴으로 상기 전자 장치 110을 이용할 수 있다. 따라서, 상기 전자 장치 110은, 사용자 별로, 입력되는 FQDN과 관련된 FQDN을 구분하기 위한 동작을 수행할 수 있다.
S914 단계에서, 상기 전자 장치 110은, 상기 전자 장치 110의 사용자 별로 사용 패턴을 학습하기 위하여, 상기 제1 입력 및 상기 제2 입력이 제1 사용자에 의해 야기되었는지 여부를 식별할 수 있다. 예를 들면, 상기 전자 장치 110은, 상기 전자 장치 110에 수신되는 사용자의 ID, 사용자의 지문, 또는 사용자의 비밀 번호 등을 통해, 상기 제1 입력 및 상기 제2 입력이 상기 제1 사용자에 의해 야기된 입력인지 여부를 식별할 수 있다. 상기 제1 입력 및 상기 제2 입력이 상기 제1 사용자에 의해 야기된 경우, 상기 전자 장치 110은 S916 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 제1 입력 및 상기 제2 입력이 상기 제1 사용자에 의해 야기된 것이 아닌 경우, 상기 전자 장치 110은 S918 단계에서의 동작을 수행할 수 있다.
상기 S916 단계에서, 상기 전자 장치 110은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 제1 사용자를 위한 영역에 저장할 수 있다. 도 9a의 상기 S916 단계의 동작은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 저장하는 과정을 예시하고 있지만, 상기 제2 FQDN이 상기 제1 FQDN과 관련된 FQDN으로 상기 제1 사용자를 위한 영역에 이미 저장되어 있는 경우, 상기 전자 장치 110은, 도 6의 상기 S650 단계에서의 동작과 같이, 상기 제1 사용자를 위한 영역에 저장된 상기 제2 FQDN에 관한 정보를 갱신할 수도 있다.
S918 단계에서, 상기 전자 장치 110은 상기 제1 입력 및 상기 제2 입력이 제2 사용자에 의해 야기되었는지 여부를 식별할 수 있다. 상기 제1 입력 및 상기 제2 입력이 상기 제2 사용자에 의해 야기된 경우, 상기 전자 장치 110은 S920 단계에서의 동작을 수행할 수 있다. 이와 달리, 상기 제1 입력 및 상기 제2 입력이 상기 제2 사용자에 의해 야기된 것이 아닌 경우, 상기 전자 장치 110은 S922 단계에서의 동작을 수행할 수 있다.
상기 S920 단계에서, 상기 전자 장치 110은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 사용자를 위한 영역에 저장할 수 있다. 도 9a의 상기 S920 단계의 동작은, 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 저장하는 과정을 예시하고 있지만, 상기 제2 FQDN이 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 사용자를 위한 영역에 이미 저장되어 있는 경우, 상기 전자 장치 110은, 도 6의 상기 S650 단계에서의 동작과 같이, 상기 제2 사용자를 위한 영역에 저장된 상기 제2 FQDN에 관한 정보를 갱신할 수도 있다.
상기 S922 단계에서, 상기 전자 장치 110은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 제3 사용자를 위한 영역에 저장할 수 있다.
도 9a는 상기 전자 장치의 사용자가 3명인 경우를 예시하고 있지만, 이는 설명을 위한 것일 뿐, 상기 전자 장치 110의 사용자의 수는 2명일 수도 있고, 3명보다 많을 수도 있다.
상기 S910 단계 내지 S922 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 전자 장치 110은 검출된 입력 이후에 발생되는 입력을 사용자 별로 구분하여 저장할 수 있다. 다시 말해, 상기 S910 단계 내지 S922 단계에서의 동작을 통해, 상기 전자 장치 110은 상기 전자 장치 110의 사용자 별로 적응적으로 병렬적으로 DNS 시그널링을 수행함으로써, 상기 전자 장치 110의 인터넷 접속 속도를 향상시킬 수 있다.
도 9b는 본 개시의 다양한 실시 예들에 따라 적응적으로 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버의 신호 흐름 사이의 다른 예를 도시한다.
도 9b를 참조하면, S930 단계에서, 상기 전자 장치 110은 제1 FQDN에 대한 제1 입력을 검출할 수 있다. 상기 전자 장치 110은 상기 제1 입력 이후에 발생될 입력을 사용자 별로 달리하여 예측할 수 있다. 다시 말해, 상기 전자 장치 110은 도 9a에 의해 예시되는 동작들을 통해, 상기 제1 입력 이후 발생될 입력을 사용자 별로 달리하여 예측할 수 있다.
S935 단계에서, 상기 전자 장치 110은, 상기 제1 입력이 어떤 사용자에 의해 야기되었는지 여부를 식별할 수 있다. 예를 들면, 상기 전자 장치 110은 사용자의 ID, 사용자의 지문, 사용자의 홍채 패턴, 또는 사용자의 비밀번호 등에 기반하여 상기 제1 입력이 어떤 사용자에 의해 야기되었는지 여부를 식별할 수 있다.
S940 단계에서, 상기 전자 장치 110은, 상기 식별된 사용자를 위한 영역 내에서 상기 제1 FQDN과 관련된 FQDN을 식별할 수 있다. 예를 들어, 식별된 사용자가 A인 경우, 상기 전자 장치 110은, 상기 사용자 A의 사용 패턴을 반영하기 위하여, 사용자 A를 위한 저장 영역 내에서 상기 제1 FQDN과 관련된 FQDN을 식별할 수 있다. 다른 예를 들어, 식별된 사용자가 B인 경우, 상기 전자 장치 110은, 상기 사용자 B의 사용 패턴을 반영하기 위하여, 사용자 B를 위한 저장 영역 내에서 상기 제1 FQDN과 관련된 FQDN을 식별할 수 있다.
S945 단계에서, 상기 전자 장치 110은, 병렬적 DNS 시그널링을 개시하기 위하여, 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 송신하고, 상기 식별된 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 송신할 수 있다. 일부 실시 예들에서, 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지와 상기 식별된 FQDN에 관한 정보를 포함하는 DNS 질의 메시지는 동시에 송신될 수도 있고, 순서에 관계없이 일정 간격을 두고 송신될 수도 있다. 다른 일부 실시 예들에서, 도 9b와 달리, 상기 제1 FQDN에 관한 정보와 상기 식별된 FQDN에 관한 정보는 하나의 DNS 질의 메시지에 포함되어 송신될 수도 있다.
상기 S930 내지 S945 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 사용자 별로 적응적으로 검출된 입력에 대한 FQDN과 관련된 FQDN을 식별함으로써, 병렬적 DNS 시그널링을 수행할 수 있다. 다시 말해, 상기 S930 내지 S945 단계에서의 동작을 통해, 상기 전자 장치 110은 사용자 별로 변경될 수 있는 이용 패턴을 고려하여, 병렬적 DNS 시그널링을 수행할 수 있다.
도 10은 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐름의 다른 예를 도시한다.
도 10을 참조하면, 상기 전자 장치 110은, S1010 단계에서, 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 송신할 수 있다. 상기 제1 FQDN은 사용자에 의해 야기된 입력에 의해 식별된 FQDN일 수 있다. 상기 DNS 서버 120은 상기 전자 장치 110으로부터 상기 제1 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 수신할 수 있다.
S1015 단계에서, 상기 전자 장치 110은 제2 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 송신할 수 있다. 상기 제2 FQDN은 상기 제1 FQDN과 관련된 FQDN일 수 있다. 상기 DNS 서버 120은 상기 전자 장치 110으로부터 상기 제2 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 수신할 수 있다.
상기 S1010 단계에서의 동작 및 상기 S1015 단계에서의 동작은, 실시 예들에 따라, 동시에 수행될 수도 있고, 역순으로 수행될 수도 있다.
S1020 단계에서, 상기 DNS 서버 120은 상기 전자 장치 110에게 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보 및 상기 제1 주소의 제1 유효 기간(예: TTL)에 관한 정보를 포함하는 DNS 응답 메시지를 송신할 수 있다. 상기 전자 장치 110은 상기 DNS 서버 120으로부터 상기 DNS 응답 메시지를 수신할 수 있다.
S1025 단계에서, 상기 DNS 서버 120은 상기 전자 장치 110에게 상기 제2 FQDN에 대응하는 제2 주소에 관한 정보 및 상기 제2 주소의 제2 유효 기간에 관한 정보를 포함하는 DNS 응답 메시지를 송신할 수 있다. 상기 전자 장치 110은 상기 DNS 서버 120으로부터 상기 DNS 응답 메시지를 수신할 수 있다.
상기 S1020 단계에서의 동작 및 상기 S1025 단계에서의 동작은, 실시 예들에 따라, 동시에 수행될 수도 있고, 역순으로 수행될 수도 있다. 또한, 상기 S1015 단계에서의 동작 및 상기 S1020 단계에서의 동작은, 실시 예들에 따라, 동시에 수행될 수도 있고, 역순으로 수행될 수도 있다.
S1030 단계에서, 상기 전자 장치 110은, 상기 제1 주소에 관한 정보 및 상기 제1 주소의 제1 유효 기간에 관한 정보를 포함하는 DNS 응답 메시지와 상기 제2 주소에 관한 정보 및 상기 제2 주소의 제2 유효 기간에 관한 정보를 포함하는 DNS 응답 메시지에 기반하여, 상기 제1 주소 및 상기 제2 주소를 저장할 수 있다. 달리 표현하면, 상기 제1 주소는, 상기 제1 유효 기간 동안 상기 전자 장치 110에 저장될 수 있고, 상기 제2 주소는, 상기 제2 유효 기간 동안 상기 전자 장치 110에 저장될 수 있다.
S1035 단계에서, 상기 전자 장치 110은, 상기 제2 유효 기간이 만료되는 경우, 상기 제2 주소를 저장하는 것을 중단할 수 있다. 상기 제2 유효 기간이 도과한 경우, 상기 제2 주소는 상기 DNS 서버 120에 캐싱되지 않는 주소일 수 있기 때문이다.
하지만 상기 제2 주소를 저장하는 것을 중단한 시점이 상기 지정된 구간(designated interval) 이전인 경우, 상기 전자 장치 110은 병렬적 DNS 시그널링을 위해 수신한 상기 제2 주소를 이용하지 못할 수 있다. 달리 표현하면, 상기 제2 유효 기간은 상기 전자 장치 110에 의해 결정되는 파라미터가 아니기 때문에 상기 제2 유효 기간과 상기 지정된 구간 사이의 차이(gap, difference)로 인하여, 상기 전자 장치 110은 상기 병렬적 시그널링의 지연 감소 효과를 얻지 못할 수 있다. 상기 전자 장치 110은, 상기 제2 유효 기간과 상기 지정된 구간 사이의 차이를 보완하기 위하여, 하기와 같은 보완 DNS 시그널링을 수행할 수 있다.
S1040 단계에서, 상기 전자 장치 110은 상기 제2 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다. 상기 전자 장치 110은, 상기 제2 FQDN에 대응하는 주소를 재차 획득하기 위하여, 상기 제2 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 상기 DNS 서버 120에게 송신할 수 있다. 상기 DNS 서버 120은 상기 전자 장치 110으로부터 상기 제2 FQDN에 관한 정보를 포함하는 DNS 질의 메시지를 수신할 수 있다.
S1045 단계에서, 상기 DNS 서버 120은 상기 전자 장치 110에게 제3 주소에 관한 정보를 포함하는 DNS 응답 메시지를 송신할 수 있다. 상기 전자 장치 110은 상기 DNS 서버 120로부터 상기 DNS 응답 메시지를 수신할 수 있다. 상기 제3 주소에 관한 정보는 상기 전자 장치 110에서 삭제된 상기 제2 주소를 보완하기 위한 정보일 수 있다. 상기 제3 주소에 관한 정보는, 상기 전자 장치 110이 상기 제2 FQDN에 관한 입력을 검출하는 경우, DNS 시그널링 없이 상기 제3 주소를 이용하여 상기 제2 FQDN에 의해 지시되는 서버에 접속하기 위해 이용되는 정보일 수 있다.
상기 S1010 단계에서의 동작 내지 상기 S1045 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 주소의 유효 기간과 상기 지정된 구간 사이의 차이를 보완할 수 있다.
도 11a는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치 및 DNS 서버 사이의 신호 흐림의 또 다른 예를 도시한다.
도 11a를 참조하면, S1110 단계에서, 상기 전자 장치 110은 상기 DNS 서버 120에게 제1 FQDN에 관한 정보 및 플래그(flag)를 포함하는 DNS 질의 메시지를 송신할 수 있다. 상기 플래그는, 병렬적 DNS 시그널링이 가능한 경우 상기 병렬적 DNS 시그널링을 요청한다는 것을 나타내기 위한 정보를 포함할 수 있다. 상기 플래그는 다양한 형식(format)으로 설정될 수 있다. 예를 들면, 상기 플래그는, 1비트로 구성되어, '1'로 설정될 경우, 병렬적 DNS 시그널링을 요청한다는 것을 나타내고, '0'으로 설정될 경우, 병렬적 DNS 시그널링을 요청하지 않는다는 것을 나타낼 수 있다. 상기 DNS 서버 120은 상기 전자 장치 110으로부터 상기 DNS 질의 메시지를 수신할 수 있다.
S1112 단계에서, 상기 DNS 서버 120은 상기 제1 FQDN과 관련된 FQDN들을 식별할 수 있다. 상기 DNS 서버 120은, 미리 획득한 상기 전자 장치 110의 패턴에 기반하여, 상기 제1 FQDN과 관련된 FQDN들을 식별할 수 있다. 일부 실시 예들에서, 상기 전자 장치 110의 패턴은, 상기 DNS 서버 120이 상기 전자 장치 110의 사용 패턴을 학습함으로써 획득될 수 있다. 다른 일부 실시 예들에서, 상기 전자 장치 110의 패턴은, 별도의 메시지를 통해, 상기 전자 장치 110으로부터 송신될 수도 있다.
S1114 단계에서, 상기 DNS 서버 120은 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보를 포함하는 DNS 응답 메시지 및 상기 제1 FQDN과 관련된 FQDN들에 대응하는 주소에 관한 정보를 각각 포함하는 DNS 응답 메시지들을 상기 전자 장치 110에게 송신할 수 있다. 상기 전자 장치 110은, 상기 DNS 응답 메시지들을 수신함으로써, 상기 제1 FQDN 이후에 발생되는 입력에 의해 야기되는 DNS 시그널링을 감소시킬 수 있다. 달리 표현하면, 상기 전자 장치 110은, 이후에 발생될 인터넷 접속 입력을 위한 주소를 미리 수신함으로써, 인터넷 접속 속도를 향상시킬 수 있다.
상기 S1110 내지 상기 S1114에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 상대적으로 적은 복잡도를 가지는 병렬적 DNS 시그널링을 수행할 수 있다.
도 11b는 본 개시의 다양한 실시 예들에 따라 병렬적 DNS 시그널링을 수행하는 전자 장치, 프록시(proxy) 서버, 및 DNS 서버 사이의 신호 흐름의 예를 도시한다.
도 11b를 참조하면, S1120 단계에서, 상기 전자 장치 110은 프록시 서버 1110에게 제1 FQDN에 관한 정보 및 상기 플래그를 포함하는 DNS 질의 메시지를 송신할 수 있다. 상기 프록시 서버는, 상기 전자 장치 110과 상기 DNS 서버 120 사이를 중계하기 위한 서버일 수 있다. 상기 프록시 서버 1110은 상기 전자 장치 110으로부터 상기 DNS 질의 메시지를 수신할 수 있다.
S1122 단계에서, 상기 프록시 서버 1110은 상기 제1 FQDN과 관련된 FQDN들을 식별할 수 있다. 상기 프록시 서버 1110은, 미리 획득한 상기 전자 장치 110의 패턴에 기반하여, 상기 제1 FQDN과 관련된 FQDN들을 식별할 수 있다. 일부 실시 예들에서, 상기 전자 장치 110의 패턴은, 상기 프록시 서버 1110이 상기 전자 장치 110의 사용 패턴을 학습함으로써 획득될 수 있다. 다른 일부 실시 예들에서, 상기 전자 장치 110의 패턴은, 별도의 메시지를 통해, 상기 전자 장치 110으로부터 송신될 수도 있다.
S1124 단계에서, 상기 프록시 서버 1110은 상기 제1 FQDN에 대응하는 주소를 요청하기 위한 DNS 질의 메시지 및 상기 제1 FQDN과 관련된 FQDN들에 각각 대응하는 주소들을 요청하기 위한 DNS 질의 메시지들을 상기 DNS 서버 120에게 각각 송신할 수 있다. 상기 DNS 서버 120은 상기 DNS 질의 메시지들을 각각 수신할 수 있다.
S1126 단계에서, 상기 DNS 서버 120은 상기 프록시 서버 1110을 통해 상기 전자 장치 110에게 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보를 포함하는 DNS 응답 메시지 및 상기 제1 FQDN과 관련되는 FQDN들에 각각 대응하는 주소들에 관한 정보를 포함하는 DNS 응답 메시지들을 각각 송신할 수 있다. 상기 전자 장치 110은 상기 프록시 서버 1110을 통해 상기 DNS 서버 120으로부터 상기 DNS 응답 메시지들을 각각 수신할 수 있다.
상기 S1120 내지 상기 S1126 단계에서의 동작을 통해, 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 프록시 서버를 통해 병렬적 DNS 시그널링을 수행할 수 있다.
상술한 바와 같이, 본 개시의 다양한 실시 예들에 따른 전자 장치의 방법은, 제1 FQDN(fully qualified domain name)에 대한 제1 입력을 검출하는 과정과, 상기 제1 입력을 검출한 후 지정된 구간(interval) 이내에 제2 FQDN에 대한 제2 입력을 검출하는 과정과, 상기 제2 입력을 검출하는 것에 대응하여, 상기 전자 장치에 포함된 저장부 내에 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장하는 과정과, 상기 제1 FQDN(fully qualified domain name)에 대한 제3 입력을 검출하는 것에 대응하여, DNS(domain name system) 서버(server)에게 상기 제1 FQDN에 대응하는 주소(address)에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 각각 송신하는 과정을 포함할 수 있다.
일부 실시 예들에서, 상기 전자 장치의 방법은 상기 DNS 서버로부터 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보 및 상기 제1 주소의 유효 기간(available period)에 관한 정보를 포함하는 메시지 및 상기 제2 FQDN에 대응하는 제2 주소에 관한 정보 및 상기 제2 주소의 유효 기간에 관한 정보를 포함하는 메시지를 각각 수신하는 과정을 더 포함할 수 있다. 여기서, 상기 제1 주소의 유효 기간에 관한 정보는, 상기 제1 주소의 TTL(time-to-live)에 관한 정보를 포함할 수 있고, 상기 제2 주소의 유효 기간에 관한 정보는 상기 제2 주소의 TTL에 관한 정보를 포함할 수 있다. 또한, 상기 제1 주소에 관한 정보는, 상기 제1 주소의 유효 기간 동안 상기 저장부 내에 저장될 수 있고, 상기 제2 주소에 관한 정보는, 상기 제2 주소의 유효 기간 동안 상기 저장부 내에 저장될 수 있다. 또한, 상기 전자 장치의 방법은 상기 제2 주소의 유효 기간 내에서 상기 제2 FQDN에 대한 제4 입력을 검출하는 과정과, 상기 제4 입력을 검출하는 것에 대응하여, 상기 저장부 내에 저장된 상기 제2 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 송신하는 과정을 더 포함할 수 있다. 또한, 상기 전자 장치의 방법은 상기 제2 주소의 유효 기간 밖에서, 상기 제4 입력을 검출하는 과정과, 상기 제4 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 송신하는 과정과, 상기 DNS 서버로부터 상기 제2 FQDN에 대응하는 제3 주소에 관한 정보 및 상기 제3 주소의 유효 기간에 관한 정보를 포함하는 메시지를 수신하는 과정과, 상기 제3 주소의 유효 기간 내에서 상기 제3 주소에 의해 지시되는 서버에게 상기 데이터를 요청하기 위한 메시지를 송신하는 과정을 더 포함할 수 있다.
일부 실시 예들에서, 상기 저장된 제2 FQDN은, 미리 결정된 기간 동안 상기 제2 FQDN에 대한 입력이 발생되지 않는 경우, 상기 저장부로부터 폐기(discard)될 수 있다.
일부 실시 예들에서, 상기 제1 입력은, 제1 어플리케이션을 제어하기 위한 입력을 포함할 수 있고, 상기 제2 입력은, 상기 제1 어플리케이션과 다른 제2 어플리케이션을 제어하기 위한 입력을 포함할 수 있다.
일부 실시 예들에서, 상기 전자 장치의 방법은, 상기 제2 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 송신하는 과정과, 상기 DNS 서버로부터 상기 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 메시지를 수신하는 과정과, 상기 제2 FQDN에 대응하는 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 송신하는 과정을 더 포함할 수 있다.
일부 실시 예들에서, 상기 제1 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지는, 무선 경로(wireless path)을 통해 상기 DNS 서버에게 송신될 수 있다.
도 12는 본 개시의 다양한 실시 예에 따른 전자 장치의 기능적 구성의 예를 도시한다.
도 12를 참조하면, 상기 단말 110은 안테나(antenna) 1210, 통신부(communication unit) 1220, 제어부(controller) 1230, 저장부(storage unit) 1240, 입력부(input unit) 1250, 및/또는 표시부(display unit) 1260을 포함할 수 있다.
상기 안테나 1210은 1개 이상의 안테나를 포함할 수 있다. 상기 안테나 1210은 MIMO(multiple input multiple output) 기법에 적합하게 구성될 수 있다.
상기 통신부 1220은 유선 또는 무선 채널을 통해 신호를 송신하거나 수신하기 위한 기능들을 수행할 수 있다.
상기 통신부 1220은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 예를 들어, 데이터를 송신하는 경우, 상기 통신부 1220은 송신 비트열을 부호화 및 변조함으로써 복소 심볼들을 생성할 수 있다. 다른 예를 들어, 데이터를 수신하는 경우, 상기 통신부 1220은 기저대역 신호를 복조 및 복호화하여 수신 비트열로 복원할 수 있다.
상기 통신부 1220은 기저대역 신호를 RF 대역 신호로 상향 변환하여 상기 안테나 1210을 통해 송신할 수 있다. 상기 통신부 1220은 상기 안테나 1210을 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향 변환할 수 있다. 예를 들면, 상기 통신부 1220은 송신 필터(filter), 수신 필터, 증폭기(amplifier), 믹서(mixer), 오실레이터(oscillator), DAC(digital analog converter), ADC(analog digital converter) 등을 포함할 수 있다.
상기 통신부 1220은 상기 제어부 1230와 동작적으로 결합될 수 있다.
상기 통신부 1220은 적어도 하나의 송수신기(transceiver)를 포함할 수 있다.
상기 제어부 1230은 상기 단말 110의 전반적인 동작들을 제어할 수 있다. 예를 들면, 상기 제어부 1230은 상기 통신부 1220을 통해 신호를 송신하거나 수신할 수 있다. 상기 제어부 1230은 상기 저장부 1240에 데이터를 기록할 수 있고, 상기 저장부 1240에 기록된 데이터를 읽을 수 있다. 이를 위하여, 상기 제어부 1230은 적어도 하나의 프로세서를 포함할 수 있다. 예를 들면, 상기 제어부 1230은 통신을 위한 제어를 수행하는 CP(communication processor) 및 응용 프로그램 등 상위 계층을 제어하는 AP(application processor)를 포함할 수 있다.
상기 제어부 1230은 본 개시에서 제안한 절차 및/또는 방법들을 구현하도록 설정될 수 있다.
상기 저장부 1240은 상기 단말 110을 제어하는 제어 명령어 코드, 제어 데이터, 또는 사용자 데이터를 저장할 수 있다. 예를 들면, 상기 저장부 1240은 어플리케이션(application), OS(operating system), 미들웨어(middleware), 디바이스 드라이버(device driver)를 포함할 수 있다.
상기 저장부 1240은 휘발성 메모리(volatile memory) 또는 불휘발성 메모리(non-volatile memory) 중 적어도 하나를 포함할 수 있다. 상기 휘발성 메모리는 DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous DRAM), PRAM(phase-change RAM), MRAM(magnetic RAM), RRAM(resistive RAM), FeRAM(ferroelectric RAM) 등을 포함할 수 있다. 상기 불휘발성 메모리는 ROM(read only memory), PROM(programmable ROM), EPROM(electrically programmable ROM), EEPROM(electrically erasable ROM), 플래시 메모리(flash memory) 등을 포함할 수 있다.
상기 저장부 1240은 하드 디스크 드라이브(HDD, hard disk drive), 솔리드 스테이트 디스크(SSD, solid state disk), eMMC(embedded multi media card), UFS(universal flash storage)와 같은 불휘발성 매체를 포함할 수 있다.
상기 저장부 1240은 상기 제어부 1230과 동작적으로 결합될 수 있다.
상기 입력부 1250은 상기 전자 장치 110에 대하여 야기되는 입력을 감지할 수 있다. 상기 입력부 1250은 터치패널일 수 있다. 예를 들면, 상기 입력부 1250은 손가락의 터치, 펜의 터치, 및/또는 호버링(hovering) 입력을 감지할 수 있다. 상기 입력부 1250은 키보드(keyboard), 마이크(microphone) 등일 수 있다. 상기 입력부 1250은 본 개시의 다양한 실시 예들에 따른 FQDN에 대한 입력, 어플리케이션을 실행하기 위한 입력 등을 발생시킬 수 있다.
상기 입력부 1250은 상기 제어부 1230과 동작적으로 결합될 수 있다.
상기 표시부 1260은 상기 전자 장치 110에서 처리되는 결과를 표시할 수 있다. 상기 표시부 1260은 LCD(liquid crystal display) 또는 OLED(organic light emitting diodes)일 수 있다.
상기 표시부 1260은 상기 제어부 1230과 동작적으로 결합될 수 있다.
실시 예들에 따라, 상기 입력부 1250 및 상기 표시부 1260은 일체형의 터치스크린(touch screen)으로 설계될 수도 있다.
도 13a는 본 개시의 다양한 실시 예들에 따른 전자 장치 내의 저장부에 포함된 기능적 구성의 예를 도시한다.
도 13a를 참조하면, 상기 저장부 1240은 복수의 어플리케이션들 1310, OS 1320을 포함할 수 있다.
상기 복수의 어플리케이션들 1310 각각은 상기 전자 장치 110의 사용자에게 서비스를 제공하기 위한 프로그램(또는 소프트웨어)일 수 있다. 달리 표현하면, 상기 복수의 어플리케이션들 1310 각각은 상기 전자 장치 110의 사용자를 위해 특정한 업무를 해결하기 위한 목적으로 설정된 프로그램일 수 있다. 예를 들면, 상기 복수의 어플리케이션들 1310 각각은 사용자의 문서 작성을 위한 워드프로세서(word processor), 사용자의 인터넷 접속을 보조하기 위한 웹 브라우저(web browser) 등일 수 있다.
상기 복수의 어플리케이션들 1310 중 일부는 인터넷에 접속하는 것이 요구되는 어플리케이션일 수 있다. 예를 들면, 상기 복수의 어플리케이션들 1310 중 일부는 웹 브라우저 어플리케이션, 인터넷 쇼핑을 위한 어플리케이션, 온라인 게임을 위한 어플리케이션, SNS를 위한 어플리케이션 등일 수 있다. 상기 복수의 어플리케이션들 1310 중 일부는 사용자가 편리하게 인터넷에 접속할 수 있도록 상기 OS 1320과 연동될 수 있다. 일부 실시 예들에서, 상기 복수의 어플리케이션들 1310 중 일부는 높은 접근성을 사용자에게 제공하기 위하여 상기 OS 1320 내의 FQDN 식별부(FQDN identifying unit) 1330과 연동될 수 있다.
상기 OS 1320은 상기 전자 장치 110 내의 하드웨어들을 서로 논리적으로 연결하고 제어하는 기능을 수행할 수 있다. 상기 OS 1320은 상기 복수의 어플리케이션들 1310 각각과 상기 전자 장치 110 내의 하드웨어들을 연결해 주는 기능을 수행할 수 있다.
상기 OS 1320은 상기 FQDN 식별부(identifying unit) 1330, DNS 프리캐싱부(precashing unit) 1340, DNS 룩업부(look-up unit) 1350, DNS 캐시부(DNS cash unit) 1360을 포함할 수 있다.
상기 FQDN 식별부 1330은 상기 전자 장치 110에 대해 야기되는 입력으로부터 FQDN을 식별할 수 있다. 예를 들어, 상기 전자 장치 110 내의 상기 표시부 1260에 표시된 웹페이지 내의 링크에 대한 입력이 검출되는 경우, 상기 FQDN 식별부 1330은 상기 링크가 나타내는 URL에서 FQDN을 식별할 수 있다. 다른 예를 들어, 상기 전자 장치 110 내의 상기 표시부 1260에 표시된 웹페이지 내의 링크에 대한 입력이 검출되는 경우, 상기 FQDN 식별부 1330은 상기 링크에 기반하여 상기 복수의 어플리케이션들 1310 중 일부에 의해 식별된 도메인 네임(또는 호스트 네임)에서 FQDN을 식별할 수 있다. 또 다른 예를 들어, 인터넷과의 연결이 요구되는 어플리케이션을 실행하기 위한 객체(object, 예: 아이콘 등)에 대한 입력이 검출되는 경우, 상기 FQDN 식별부 1330은 상기 객체가 나타내는 URL에서 FQDN을 식별할 수 있다. 또 다른 예를 들어, 인터넷과 연결이 요구되는 어플리케이션을 실행하기 위한 객체에 대한 입력이 검출되는 경우, 상기 FQDN 식별부 1330은 상기 객체가 나타내는 URL에 기반하여 상기 복수의 어플리케이션들 1310 중 일부에 의해 식별된 도메인 네임(또는 호스트 네임)에서 FQDN을 식별할 수 있다. 또 다른 예를 들어, 상기 전자 장치 110 내에 저장된 어플리케이션으로부터 URL 연결을 요청받은 경우, 상기 FQDN 식별부 1330은 상기 URL에서 FQDN을 식별할 수 있다.
상기 FQDN 식별부 1330은 상기 식별된 FQDN에 관한 정보를 상기 DNS 프리캐싱부 1340에게 제공할 수 있다.
상기 DNS 프리캐싱부 1340은, 상기 전자 장치 110이 상기 병렬적 DNS 시그널링을 수행할 수 있도록, 상기 도 6, 도 7a, 도 8, 도 9a 등에 예시된 기능들을 수행할 수 있다.
예를 들면, 제1 FQDN에 대한 제1 입력이 검출된 후 지정된 구간 이내에 제2 FQDN에 대한 제2 입력이 검출되는 경우, 상기 DNS 프리캐싱부 1340은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 저장하거나, 이미 상기 제1 FQDN과 관련된 FQDN으로 저장된 상기 제2 FQDN에 관한 정보를 갱신할 수 있다.
다른 예를 들면, 상기 DNS 프리캐싱부 1340은 상기 제2 FQDN을 시간 구간 별로 구분하여 관리할 수 있다. 예를 들어, 오전 시간대에 상기 제1 FQDN에 대한 제1 입력이 검출된 후 상기 지정된 구간 이내에 상기 제2 FQDN에 대한 제2 입력이 검출되는 경우, 상기 DNS 프리캐싱부 1340은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 오전 시간대를 위한 영역에 저장할 수 있다.
또 다른 예를 들면, 상기 DNS 프리캐싱부 1340은 상기 제2 FQDN을 사용자 별로 구분하여 관리할 수 있다. 예를 들어, 상기 제1 입력 및 상기 제2 입력이 사용자 A에 의해 야기된 경우, 상기 DNS 프리캐싱부 1340은 상기 제2 FQDN을 상기 제1 FQDN과 관련된 FQDN으로 상기 사용자 A를 위한 영역에 저장할 수 있다.
상기 DNS 프리캐싱부 1340은, 상기 전자 장치 110이 상기 병렬적 DNS 시그널링을 수행할 수 있도록, 상기 식별된 FQDN을 모니터링할 수 있다. 예를 들어, 상기 제1 FQDN이 식별된 경우, 상기 DNS 프리캐싱부 1340은 상기 FQDN 식별부 1330에 의해 제공되는 상기 식별된 제1 FQDN에 관한 정보에 기반하여 상기 제1 FQDN이 식별되었음을 검출할 수 있다. 또한, 상기 DNS 프리캐싱부 1340은 상기 식별된 제1 FQDN과 관련된 FQDN이 존재하는지 여부를 확인할 수 있다. 예를 들어, 상기 식별된 제1 FQDN과 관련된 FQDN이 존재하는 경우, 상기 DNS 프리캐싱부 1340은 상기 식별된 제1 FQDN에 관한 정보 및 상기 식별된 제1 FQDN과 관련된 FQDN에 관한 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다.
상기 DNS 룩업부 1350은 상기 DNS 프리캐싱부 1340으로부터 제공 받은 FQDN에 관한 정보에 기반하여 DNS 질의를 수행할 수 있다. 상기 DNS 룩업부 1350은 상기 DNS 캐시부에 상기 제공 받은 FQDN에 대응하는 주소가 저장되어 있는지 여부를 확인할 수 있다. 상기 DNS 캐시부 1360에 상기 제공 받은 FQDN에 대응하는 주소가 저장되어 있는 경우, 상기 DNS 룩업부 1350은 DNS 시그널링 절차 없이 상기 통신부 1220을 통해 데이터 요청 메시지를 서버에게 송신할 수 있다. 이와 달리, 상기 DNS 캐시부 1360에 상기 제공 받은 FQDN에 대응하는 주소가 저장되어 있지 않은 경우, 상기 DNS 룩업부 1350은, 상기 제공 받은 FQDN에 대응하는 주소를 획득하기 위하여, 상기 통신부 1220을 통해 DNS 서버에게 DNS 질의 메시지를 송신할 수 있다.
상기 DNS 캐시부 1360은 FQDN들에 각각 대응하는 주소들을 저장할 수 있다. 상기 DNS 캐시부 1360은 상기 주소들 각각의 유효 기간 동안 상기 주소들을 저장할 수 있다. 상기 DNS 캐시부 1360은, 상기 DNS 룩업부 1350의 요청이 있는 경우, 상기 DNS 룩업부 1350에게 주소에 관한 정보를 제공할 수 있다.
도 13b는 본 개시의 다양한 실시 예들에 따른 전자 장치 내의 저장부에 포함된 기능적 구성의 다른 예를 도시한다.
도 13b는 도 13a와 동일하거나 유사한 기능을 수행하는 기능적 구성을 다른 연결 방식으로 설계한 예일 수 있다.
도 13b를 참조하면, 상기 저장부 1240은 도 13a와 동일하거나 유사한 기능을 수행할 수 있는 상기 복수의 어플리케이션들 1310 및 상기 OS 1320을 포함할 수 있다.
상기 복수의 어플리케이션들 1310들 중 일부는 인터넷에 접속하는 것이 요구되는 어플리케이션일 수 있다. 상기 인터넷에 접속하는 것이 요구되는 어플리케이션이 URL 연결을 요청하는 경우, 상기 FQDN 식별부 1330은 상기 URL에서 FQDN을 식별할 수 있다. 상기 FQDN 식별부 1330은 상기 식별된 FQDN에 관한 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다.
상기 DNS 룩업부 1350은 상기 제공 받은 FQDN에 관한 정보에 기반하여 상기 DNS 프리캐싱부 1340에게 상기 식별된 FQDN과 관련된 FQDN이 존재하는지 여부를 문의할 수 있다. 상기 식별된 FQDN과 관련된 FQDN이 존재하는 경우, 상기 DNS 프리캐싱부 1340은 상기 식별된 FQDN과 관련된 FQDN에 관한 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다. 상기 DNS 룩업부 1350은 상기 DNS 캐시부 1360이 상기 식별된 FQDN에 관한 정보 및 상기 식별된 FQDN과 관련된 FQDN에 관한 정보를 저장하고 있는지 여부를 문의할 수 있다. 상기 DNS 캐시부 1360에 상기 식별된 FQDN에 관한 정보 및 상기 식별된 FQDN과 관련된 FQDN에 관한 정보가 저장되어 있는 경우, 상기 DNS 캐시부 1360은 상기 DNS 룩업부 1350에게 상기 식별된 FQDN에 대응하는 주소 및 상기 식별된 FQDN과 관련된 FQDN에 대응하는 주소에 관한 정보를 제공할 수 있다. 상기 DNS 룩업부 1350은 상기 제공받은 주소들에 기반하여 DNS 시그널링 없이 상기 통신부 1220을 통해 서버에게 데이터 요청 메시지를 송신할 수 있다. 이와 달리, 상기 식별된 FQDN에 관한 정보 및 상기 식별된 FQDN과 관련된 FQDN에 관한 정보가 저장되어 있지 않은 경우, 상기 DNS 캐시부 1360은 문의된 주소에 관한 정보가 저장되어 있지 않음을 나타내는 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다. 이러한 경우, 상기 DNS 룩업부 1350은 DNS 서버에게 DNS 질의 메시지를 송신할 수 있다.
이와 달리, 상기 식별된 FQDN과 관련된 FQDN이 존재하지 않는 경우, 상기 DNS 프리캐싱부 1340은 상기 식별된 FQDN과 관련된 FQDN이 존재하지 않는다는 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다. 상기 DNS 룩업부 1350은 상기 DNS 캐시부 1360이 상기 식별된 FQDN에 관한 정보를 저장하고 있는지 여부를 문의할 수 있다. 상기 식별된 FQDN에 관한 정보가 저장되어 있는 경우, 상기 DNS 캐시부 1360은 상기 식별된 FQDN에 대응하는 주소에 관한 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다. 상기 DNS 룩업부 1350은 상기 제공 받은 주소에 기반하여 DNS 시그널링 없이 상기 통신부 1220을 통해 서버에게 데이터 요청 메시지를 송신할 수 있다. 이와 달리, 상기 식별된 FQDN에 관한 정보가 저장되어 있지 않은 경우, 상기 DNS 캐시부 1360은 문의된 주소에 관한 정보가 저장되어 있지 않음을 나타내는 정보를 상기 DNS 룩업부 1350에게 제공할 수 있다. 이러한 경우, 상기 DNS 룩업부 1350은 DNS 서버에게 상기 식별된 FQDN에 대응하는 주소를 문의하기 위한 DNS 질의 메시지를 송신할 수 있다.
도 13a 및 도 13b에 의해 예시되는 소프트웨어의 논리 흐름을 통해 본 개시의 다양한 실시 예들에 따른 상기 전자 장치 110은 병렬적 DNS 시그널링을 수행할 수 있다. 상기 전자 장치 110은 상기 병렬적 DNS 시그널링 수행함으로써, 상기 전자 장치 110은 보다 빠르게 인터넷에 접속할 수 있다.
상술한 바와 같이, 본 개시의 다양한 실시 예들에 따른 전자 장치는 제어부(controller)와, 상기 제어부와 기능적으로 연결된(operatively coupled) 입력부와, 상기 제어부와 기능적으로 연결된 통신부(communication unit)와, 상기 제어부와 기능적으로 연결된 저장부(storage unit)를 포함할 수 있고, 상기 제어부는, 제1 FQDN(fully qualified domain name)에 대한 제1 입력을 검출하도록 설정될 수 있고, 상기 제1 입력을 검출한 후 지정된 구간(interval) 이내에 제2 FQDN에 대한 제2 입력을 검출하도록 설정될 수 있고, 상기 제2 입력을 검출하는 것에 대응하여, 상기 저장부 내에 상기 제1 FQDN과 관련된 FQDN으로 상기 제2 FQDN을 저장하도록 설정될 수 있으며, 상기 제1 FQDN(fully qualified domain name)에 대한 제3 입력을 검출하는 것에 대응하여, DNS(domain name system) 서버(server)에게 상기 제1 FQDN에 대응하는 주소(address)에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 각각 송신하는 것을 제어하도록 설정될 수 있다.
일부 실시 예들에서, 상기 제어부는, 상기 DNS 서버로부터 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보 및 상기 제1 주소의 유효 기간(available period)에 관한 정보를 포함하는 메시지 및 상기 제2 FQDN에 대응하는 제2 주소에 관한 정보 및 상기 제2 주소의 유효 기간에 관한 정보를 포함하는 메시지를 각각 수신하는 것을 제어하도록 더 설정될 수 있다. 또한, 상기 제1 주소의 유효 기간에 관한 정보는, 상기 제1 주소의 TTL(time-to-live)에 관한 정보를 포함할 수 있고, 상기 제2 주소의 유효 기간에 관한 정보는, 상기 제2 주소의 TTL에 관한 정보를 포함할 수 있다. 또한, 상기 제1 주소에 관한 정보는, 상기 제1 주소의 유효 기간 동안 상기 저장부 내에 저장될 수 있고, 상기 제2 주소에 관한 정보는, 상기 제2 주소의 유효 기간 동안 상기 저장부 내에 저장될 수 있다. 또한, 상기 제어부는, 상기 제2 주소의 유효 기간 내에서 상기 제2 FQDN에 대한 제4 입력을 검출하도록 더 설정될 수 있고, 상기 제4 입력을 검출하는 것에 대응하여, 상기 저장부 내에 저장된 상기 제2 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 송신하는 것을 제어하도록 더 설정될 수 있다. 또한, 상기 제어부는, 상기 제2 주소의 유효 기간 밖에서, 상기 제4 입력을 검출하도록 더 설정될 수 있고, 상기 제4 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 송신하는 것을 제어하도록 더 설정될 수 있고, 상기 DNS 서버로부터 상기 제2 FQDN에 대응하는 제3 주소에 관한 정보 및 상기 제3 주소의 유효 기간에 관한 정보를 포함하는 메시지를 수신하는 것을 제어하도록 더 설정될 수 있으며, 상기 제3 주소의 유효 기간 내에서 상기 제3 주소에 의해 지시되는 서버에게 상기 데이터를 요청하기 위한 메시지를 송신하는 것을 제어하도록 더 설정될 수 있다.
일부 실시 예들에서, 상기 저장된 제2 FQDN은, 미리 결정된 기간 동안 상기 제2 FQDN에 대한 입력이 발생되지 않는 경우, 상기 저장부로부터 폐기(discard)될 수 있다.
일부 실시 예들에서, 상기 제1 입력은, 제1 어플리케이션을 제어하기 위한 입력을 포함할 수 있고, 상기 제2 입력은, 상기 제1 어플리케이션과 다른 제2 어플리케이션을 제어하기 위한 입력을 포함할 수 있다.
일부 실시 예들에서, 상기 제어부는, 상기 제2 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 송신하는 것을 제어하도록 더 설정될 수 있고, 상기 DNS 서버로부터 상기 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 메시지를 수신하는 것을 제어하도록 더 설정될 수 있으며, 상기 제2 FQDN에 대응하는 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 송신하는 것을 제어하도록 더 설정될 수 있다.
일부 실시 예들에서, 상기 제1 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지 및 상기 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지는, 무선 경로(wireless path)을 통해 상기 DNS 서버에게 송신될 수 있다.
본 개시에서, 다양한 유형들의 서버(예: 상기 DNS 서버 120, 상기 컨텐츠 서버 130 등)에 의해 수행된다고 설명된 특정 동작은, 실시 예들에 따라, 서버와 유사한 기능을 수행하는 다른 개체(entity)에 의해 수행될 수 있다. 즉, 서버를 포함하는 복수의 네트워크 노드들로 구성되는 네트워크에서 전자 장치와의 통신을 위해 수행되는 다양한 동작들은 서버 또는 서버 이외의 다른 네트워크 노드들에 의해 수행될 수 있음은 자명하다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(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. 전자 장치(electronic device)의 방법에 있어서,
    제1 FQDN(fully qualified domain name)에 대한 제1 입력을 검출하는 단계;
    상기 제1 입력을 검출한 후, 지정된 구간(interval) 이내에 적어도 하나의 제2 FQDN에 대한 적어도 하나의 제2 입력을 검출하는 단계;
    상기 적어도 하나의 제2 FQDN이 상기 전자 장치의 저장부에 저장되어 있는지 여부를 식별하는 단계;
    상기 적어도 하나의 제2 FQDN이 상기 전자 장치의 저장부에 저장되어 있는 경우, 상기 제2 입력에 기반하여 상기 저장되어 있는 적어도 하나의 제2 FQDN에 대한 정보를 업데이트하는 단계;
    상기 적어도 하나의 제2 FQDN이 상기 전자 장치의 저장부에 저장되어 있지 않은 경우, 상기 전자 장치의 저장부가 포함하는 적어도 하나의 저장 영역에 상기 제1 FQDN과 관련된 상기 제2 FQDN을 저장하는 단계, 상기 적어도 하나의 저장 영역은 상기 저장부가 포함하는 복수의 영역들 중 상기 적어도 하나의 제2 입력이 검출된 특정 시간 구간(time interval)에 대응하고, 상기 특정 시간 구간은 오전 구간, 오후 구간 또는 요일 구간 중 적어도 하나를 포함하고;
    상기 제1 FQDN에 대한 제3 입력을 검출하는 단계;
    상기 제3 입력에 기반하여, DNS(domain name system) 서버(server)에게 제1 메시지를 전송하는 단계;
    상기 제3 입력 및 상기 적어도 하나의 제2 FQDN에 대한 정보에 기반하여, 상기 DNS 서버에게 제2 메시지를 상기 제1 메시지와 병렬적으로 전송하는 단계;
    상기 제1 메시지는 제1 FQDN에 대응하는 주소에 대한 정보를 요청하고,
    상기 제2 메시지는 상기 저장부가 포함하는 복수의 영역들 중 상기 제3 입력이 검출된 특정 시간 구간에 대응하는 영역에 저장된 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 대한 정보를 요청하는 방법.
  2. 청구항 1에 있어서, 상기 방법은,
    상기 DNS 서버로부터 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보 및 상기 제1 주소의 유효 기간(available period)에 관한 정보를 포함하는 메시지 및 상기 적어도 하나의 제2 FQDN에 대응하는 제2 주소에 관한 정보 및 상기 제2 주소의 유효 기간에 관한 정보를 포함하는 메시지를 각각 수신하는 단계를 더 포함하는 방법.
  3. 청구항 2에 있어서,
    상기 제1 주소의 유효 기간에 관한 정보는 상기 제1 주소의 TTL(time-to-live)에 관한 정보를 포함하고, 및
    상기 제2 주소의 유효 기간에 관한 정보는 상기 제2 주소의 TTL에 관한 정보를 포함하는 방법.
  4. 청구항 2에 있어서,
    상기 제1 주소에 관한 정보는 상기 제1 주소의 유효 기간 동안 상기 저장부 내에 저장되고, 및
    상기 제2 주소에 관한 정보는 상기 제2 주소의 유효 기간 동안 상기 저장부 내에 저장되는 방법.
  5. 청구항 4에 있어서, 상기 방법은,
    상기 제2 주소의 유효 기간 내에서 상기 적어도 하나의 제2 FQDN에 대한 제4 입력을 검출하는 단계; 및
    상기 제4 입력을 검출하는 것에 대응하여, 상기 저장부 내에 저장된 상기 제2 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 전송하는 단계를 더 포함하는 방법.
  6. 청구항 5에 있어서, 상기 방법은,
    상기 제2 주소의 유효 기간 밖에서, 상기 제4 입력을 검출하는 단계;
    상기 제4 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 전송하는 단계;
    상기 DNS 서버로부터 상기 적어도 하나의 제2 FQDN에 대응하는 제3 주소에 관한 정보 및 상기 제3 주소의 유효 기간에 관한 정보를 포함하는 메시지를 수신하는 단계; 및
    상기 제3 주소의 유효 기간 내에서 상기 제3 주소에 의해 지시되는 서버에게 상기 데이터를 요청하기 위한 메시지를 전송하는 단계를 더 포함하는 방법.
  7. 청구항 1에 있어서,
    상기 저장된 적어도 하나의 제2 FQDN은, 상기 적어도 하나의 제2 FQDN에 대한 입력의 검출 패턴이 변경된 경우, 상기 저장부로부터 폐기(discard)되는 방법.
  8. 청구항 1에 있어서,
    상기 제1 입력은 제1 어플리케이션을 제어하기 위한 입력을 포함하고, 및
    상기 적어도 하나의 제2 입력은 상기 제1 어플리케이션과 다른 제2 어플리케이션을 제어하기 위한 입력을 포함하는 방법.
  9. 청구항 1에 있어서, 상기 방법은,
    상기 적어도 하나의 제2 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 전송하는 단계;
    상기 DNS 서버로부터 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 메시지를 수신하는 단계; 및
    상기 적어도 하나의 제2 FQDN에 대응하는 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 전송하는 단계를 더 포함하는 방법.
  10. 청구항 1에 있어서,
    상기 제1 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지 및 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지는 무선 경로(wireless path)을 통해 상기 DNS 서버에게 전송되는 방법.
  11. 전자 장치(electronic device)에 있어서,
    적어도 하나의 제어부(controller);
    상기 적어도 하나의 제어부와 기능적으로 연결된(operatively coupled) 센서;
    상기 적어도 하나의 제어부와 기능적으로 연결된 통신부(communication unit); 및
    상기 적어도 하나의 제어부와 기능적으로 연결된 저장부(storage unit)를 포함하고,
    상기 적어도 하나의 제어부는,
    제1 FQDN(fully qualified domain name)에 대한 제1 입력을 검출하고,
    상기 제1 입력을 검출한 후, 지정된 구간(interval) 이내에 적어도 하나의 제2 FQDN에 대한 적어도 하나의 제2 입력을 검출하고,
    상기 적어도 하나의 제2 FQDN이 상기 전자 장치의 저장부에 저장되어 있는지 여부를 식별하고,
    상기 적어도 하나의 제2 FQDN이 상기 전자 장치의 저장부에 저장되어 있는 경우, 상기 제2 입력에 기반하여 상기 저장되어 있는 적어도 하나의 제2 FQDN에 대한 정보를 업데이트하고,
    상기 적어도 하나의 제2 FQDN이 상기 전자 장치의 저장부에 저장되어 있지 않은 경우, 상기 전자 장치의 저장부가 포함하는 적어도 하나의 저장 영역에 상기 제1 FQDN과 관련된 상기 제2 FQDN을 저장하고, 상기 적어도 하나의 저장 영역은 상기 저장부가 포함하는 복수의 영역들 중 상기 적어도 하나의 제2 입력이 검출된 특정 시간 구간(time interval)에 대응하고, 상기 특정 시간 구간은 오전 구간, 오후 구간 또는 요일 구간 중 적어도 하나를 포함하고,
    상기 제1 FQDN에 대한 제3 입력을 검출하고,
    상기 제3 입력에 기반하여, DNS(domain name system) 서버(server)에게 제1 메시지를 전송하고,
    상기 제3 입력 및 상기 적어도 하나의 제2 FQDN에 대한 정보에 기반하여, 상기 DNS 서버에게 제2 메시지를 상기 제1 메시지와 병렬적으로 전송하도록 구성되고,
    상기 제1 메시지는 제1 FQDN에 대응하는 주소에 대한 정보를 요청하고,
    상기 제2 메시지는 상기 저장부가 포함하는 복수의 영역들 중 상기 제3 입력이 검출된 특정 시간 구간에 대응하는 영역에 저장된 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 대한 정보를 요청하는 장치.
  12. 청구항 11에 있어서, 상기 적어도 하나의 제어부는,
    상기 DNS 서버로부터 상기 제1 FQDN에 대응하는 제1 주소에 관한 정보 및 상기 제1 주소의 유효 기간(available period)에 관한 정보를 포함하는 메시지 및 상기 적어도 하나의 제2 FQDN에 대응하는 제2 주소에 관한 정보 및 상기 제2 주소의 유효 기간에 관한 정보를 포함하는 메시지를 각각 수신하도록 더 구성되는 장치.
  13. 청구항 12에 있어서,
    상기 제1 주소의 유효 기간에 관한 정보는 상기 제1 주소의 TTL(time-to-live)에 관한 정보를 포함하고, 및
    상기 제2 주소의 유효 기간에 관한 정보는 상기 제2 주소의 TTL에 관한 정보를 포함하는 장치.
  14. 청구항 12에 있어서,
    상기 제1 주소에 관한 정보는 상기 제1 주소의 유효 기간 동안 상기 저장부 내에 저장되고, 및
    상기 제2 주소에 관한 정보는 상기 제2 주소의 유효 기간 동안 상기 저장부 내에 저장되는 장치.
  15. 청구항 14에 있어서, 상기 적어도 하나의 제어부는,
    상기 제2 주소의 유효 기간 내에서 상기 적어도 하나의 제2 FQDN에 대한 제4 입력을 검출하고, 및
    상기 제4 입력을 검출하는 것에 대응하여, 상기 저장부 내에 저장된 상기 제2 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 전송하도록 더 구성되는 장치.
  16. 청구항 15에 있어서, 상기 적어도 하나의 제어부는,
    상기 제2 주소의 유효 기간 밖에서, 상기 제4 입력을 검출하고,
    상기 제4 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 전송하고,
    상기 DNS 서버로부터 상기 적어도 하나의 제2 FQDN에 대응하는 제3 주소에 관한 정보 및 상기 제3 주소의 유효 기간에 관한 정보를 포함하는 메시지를 수신하고, 및
    상기 제3 주소의 유효 기간 내에서 상기 제3 주소에 의해 지시되는 서버에게 상기 데이터를 요청하기 위한 메시지를 전송하도록 더 구성되는 장치.
  17. 청구항 11에 있어서,
    상기 저장된 적어도 하나의 제2 FQDN은, 상기 적어도 하나의 제2 FQDN에 대한 입력의 검출 패턴이 변경된 경우, 상기 저장부로부터 폐기(discard)되는 장치.
  18. 청구항 11에 있어서,
    상기 제1 입력은 제1 어플리케이션을 제어하기 위한 입력을 포함하고, 및
    상기 제2 입력은 상기 제1 어플리케이션과 다른 제2 어플리케이션을 제어하기 위한 입력을 포함하는 장치.
  19. 청구항 11에 있어서, 상기 적어도 하나의 제어부는,
    상기 적어도 하나의 제2 입력을 검출하는 것에 대응하여, 상기 DNS 서버에게 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지를 전송하고,
    상기 DNS 서버로부터 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 포함하는 메시지를 수신하고, 및
    상기 적어도 하나의 제2 FQDN에 대응하는 주소에 의해 지시되는 서버에게 데이터를 요청하기 위한 메시지를 전송하도록 더 구성되는 장치.
  20. 청구항 11에 있어서,
    상기 제1 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지 및 상기 적어도 하나의 제2 FQDN에 대응하는 주소에 관한 정보를 요청하기 위한 메시지는 무선 경로(wireless path)을 통해 상기 DNS 서버에게 전송되는 장치.
KR1020160102380A 2016-08-11 2016-08-11 인터넷에 접속하기 위한 전자 장치 및 방법 KR102482220B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160102380A KR102482220B1 (ko) 2016-08-11 2016-08-11 인터넷에 접속하기 위한 전자 장치 및 방법
US15/675,534 US20180049253A1 (en) 2016-08-11 2017-08-11 Electronic device and method for accessing internet
PCT/KR2017/008791 WO2018030860A1 (en) 2016-08-11 2017-08-11 Electronic device and method for accessing internet
EP17839877.2A EP3494688B1 (en) 2016-08-11 2017-08-11 Electronic device and method for domain name resolution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160102380A KR102482220B1 (ko) 2016-08-11 2016-08-11 인터넷에 접속하기 위한 전자 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180017877A KR20180017877A (ko) 2018-02-21
KR102482220B1 true KR102482220B1 (ko) 2022-12-28

Family

ID=61159780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160102380A KR102482220B1 (ko) 2016-08-11 2016-08-11 인터넷에 접속하기 위한 전자 장치 및 방법

Country Status (4)

Country Link
US (1) US20180049253A1 (ko)
EP (1) EP3494688B1 (ko)
KR (1) KR102482220B1 (ko)
WO (1) WO2018030860A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212250B2 (en) * 2017-03-31 2021-12-28 Nec Corporation Relay device, network system, and network control method
US11019083B2 (en) * 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
KR102150561B1 (ko) * 2018-07-23 2020-09-01 에스케이플래닛 주식회사 사용자 활동 예측 기반의 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN113783759A (zh) * 2020-06-09 2021-12-10 广东美的制冷设备有限公司 家电设备及其配网方法、控制终端、计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195604A1 (en) 2011-06-14 2014-07-10 Lookout, Inc. Client activity dns optimization
US20150058488A1 (en) * 2013-08-26 2015-02-26 Seven Networks, Inc. Enhanced caching of domain name system (dns) and reverse dns queries for traffic management for signaling optimization in a mobile network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
US8260938B2 (en) * 2009-01-23 2012-09-04 Google Inc. Predicting user requests to reduce network connection latency
US9225794B2 (en) * 2009-03-31 2015-12-29 Google Inc. Adaptive DNS pre-resolution
US7970940B1 (en) * 2009-12-22 2011-06-28 Intel Corporation Domain name system lookup latency reduction
US8463915B1 (en) * 2010-09-17 2013-06-11 Google Inc. Method for reducing DNS resolution delay
US8601052B2 (en) 2010-10-04 2013-12-03 Qualcomm Incorporated System and method of performing domain name server pre-fetching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195604A1 (en) 2011-06-14 2014-07-10 Lookout, Inc. Client activity dns optimization
US20150058488A1 (en) * 2013-08-26 2015-02-26 Seven Networks, Inc. Enhanced caching of domain name system (dns) and reverse dns queries for traffic management for signaling optimization in a mobile network

Also Published As

Publication number Publication date
KR20180017877A (ko) 2018-02-21
WO2018030860A1 (en) 2018-02-15
EP3494688B1 (en) 2020-06-10
EP3494688A1 (en) 2019-06-12
EP3494688A4 (en) 2019-07-31
US20180049253A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
US10795666B1 (en) Techniques for web application updates
US10333945B2 (en) Automatic token based secure content streaming method and apparatus
US10212213B1 (en) Techniques for managing a remote web client from an application on a mobile device
JP6109982B2 (ja) 無線通信装置間での距離依存又はユーザ依存のデータ交換
US10129231B2 (en) Computerized system and method for automatically sharing device pairing credentials across multiple devices
KR102482220B1 (ko) 인터넷에 접속하기 위한 전자 장치 및 방법
US10917374B2 (en) Techniques to visualize messaging flow
WO2016148934A1 (en) On demand passwords
US20160198014A1 (en) Techniques for predictive network resource caching
US20130091558A1 (en) Method and system for sharing multimedia contents between devices in cloud network
US11418489B1 (en) Optimized server picking in a virtual private network
EP3469782B1 (en) System and methods for service layer cache management
US10873642B2 (en) Methods of accessing a remote resource from a data processing device
US9882862B2 (en) Techniques for coordinating a messaging experience across platforms
US10447692B2 (en) Auto-creation of application passwords
JP7361685B2 (ja) サービス機能の要件および選好に基づくサービス登録
US11824712B2 (en) Updating parameters in a mesh network
WO2018121795A1 (zh) 用于连接无线接入点的方法与设备
FR3071692A1 (fr) Gestion de groupes d' objets connectes utilisant des protocoles de communication sans fil
Soo Towards proactive mobility-aware fog computing
Mubarakali et al. Optimized flexible network architecture creation against 5G communication-based IoT using information-centric wireless computing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right