KR20220148898A - 호스트네임 사전-국지화 - Google Patents

호스트네임 사전-국지화 Download PDF

Info

Publication number
KR20220148898A
KR20220148898A KR1020227034360A KR20227034360A KR20220148898A KR 20220148898 A KR20220148898 A KR 20220148898A KR 1020227034360 A KR1020227034360 A KR 1020227034360A KR 20227034360 A KR20227034360 A KR 20227034360A KR 20220148898 A KR20220148898 A KR 20220148898A
Authority
KR
South Korea
Prior art keywords
computing device
client computing
hostname
localization
edge server
Prior art date
Application number
KR1020227034360A
Other languages
English (en)
Inventor
케빈 존스
Original Assignee
레벨 3 커뮤니케이션즈 엘엘씨
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 레벨 3 커뮤니케이션즈 엘엘씨 filed Critical 레벨 3 커뮤니케이션즈 엘엘씨
Publication of KR20220148898A publication Critical patent/KR20220148898A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
  • Steroid Compounds (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 예들은 호스트네임 사전-국지화에 관련된다. 예들에서, 서비스는 콘텐츠 전송 네트워크(CDN)를 사용하여 해당 서비스와 연관된 컴퓨팅 기능성의 적어도 일부를 제공한다. 사전-국지화된 호스트네임은 클라이언트 컴퓨팅 디바이스를 해당 컴퓨팅 기능성과 연관된 CDN의 특정한 에지 서버에 지향시키기 위해서 사용될 수 있다. 예들에서, 서비스는 CDN에 의해 제공되는 컴퓨팅 기능성에 대한 클라이언트 컴퓨팅 디바이스로부터 개시 요청을 수신한다. 서비스는 사전-국지화 정보를 포함하는 사전-국지화 요청을 생성하고, 사전-국지화 요청을 CDN에 제공한다. 따라서, CDN은 에지 서버와 연관된 사전-국지화된 호스트네임을 사전-국지화 정보에 기반하여 생성한다. 사전-국지화된 호스트네임은 서비스로 제공되고, 그러면 이것은 클라이언트 컴퓨팅 디바이스로 제공되며, 이를 통하여 클라이언트 컴퓨팅 디바이스를 CDN의 에지 서버로 지향시킨다.

Description

호스트네임 사전-국지화
관련 출원에 대한 상호 참조
본원은 PCT 국제 특허 출원으로서 2021 년 2 월 17 일에 출원되고, 2020 년 3 월 4 일에 출원된 미국 특허 출원 일련 번호 제 62/985,050; 및 2020 년 12 월 23에 출원된 제 17/131,852에 대한 우선권을 주장하며, 이들은 그 전체가 본 명세서에서 원용에 의해 통합된다.
콘텐츠 전송 네트워크(CDN)의 호스트네임은 CDN의 에지 서버에 대한 인터넷 프로토콜(IP) 어드레스로 분해되고, 이를 통하여 클라이언트 컴퓨팅 디바이스가 에지 서버로부터의 콘텐츠에 액세스할 수 있게 한다. 그러나, 호스트네임을 분해할 때에는 제한된 정보만이 이용가능하고, CDN 내의 다른 서버와 비교할 때 차선의 에지 서버가 선택되는 결과를 초래한다. 예를 들어, 선택된 에지 서버는 요청된 콘텐츠를 가지지 않을 수 있어서, 에지 서버는 해당 요청을 이행하기 이전에 요청된 콘텐츠를 우선 캐싱하거나 그렇지 않으면 요청된 콘텐츠에 액세스할 필요가 있을 수 있다.
본 명세서에서 개시된 양태들은 이러한 고려사항과 다른 일반적인 고려사항에 관련하여 이루어졌다. 또한, 비록 상대적으로 특정한 문제가 논의될 수 있지만, 예들이 본 명세서의 배경 부분 또는 다른 부분에서 식별되는 특정한 문제점을 해결하는 것으로만 한정돼서는 안 된다는 것이 이해되어야 한다.
본 발명의 예들은 호스트네임 사전-국지화에 관련된다. 예들에서, 서비스는 콘텐츠 전송 네트워크(CDN)를 사용하여 해당 서비스와 연관된 컴퓨팅 기능성의 적어도 일부를 제공한다. 따라서, 서비스는 CDN과 연관된 호스트네임을 제공하여 클라이언트 컴퓨팅 디바이스를 이러한 기능성에 대한 CDN으로 지향시킨다. 클라이언트 컴퓨팅 디바이스를 CDN 전체로 더 일반적으로 지향시키는 것과 비교할 때, 사전-국지화된 호스트네임은 클라이언트 컴퓨팅 디바이스를 해당 컴퓨팅 기능성과 연관된 CDN의 특정 에지 서버에 지향시키기 위해서 사용될 수 있다(예를 들어, 그 이후에는 DNS-기반 국지화 기법이 요청을 처리하기 위해 사용되는 근위 데이터 센터를 식별하기 위하여 사용될 수 있음).
예들에서, 서비스는 CDN에 의해 제공되는 컴퓨팅 기능성에 대한 클라이언트 컴퓨팅 디바이스로부터 개시 요청을 수신한다. 결과적으로, 서비스는 사전-국지화 정보를 포함하는 사전-국지화 요청을 생성하고, 사전-국지화 요청을 CDN에 제공한다. 따라서, CDN은 CDN의 에지 서버와 연관된 사전-국지화된 호스트네임을 사전-국지화 정보에 기반하여 생성한다. 사전-국지화된 호스트네임은 서비스로 제공되고, 그러면 이것은 개시 요청에 응답하여 클라이언트 컴퓨팅 디바이스로 제공되며, 이를 통하여 클라이언트 컴퓨팅 디바이스를 CDN의 에지 서버로 지향시킨다.
이러한 개요는 아래의 예시적인 실시형태들의 상세한 설명에서 추가로 설명되는, 단순화된 형태로의 개념들의 선택을 소개하기 위해 제공된다. 이 개요는 청구된 요지의 주요 특징들 또는 본질적 특징들을 식별하기 위해 의도된 것이 아니며, 청구된 요지의 범위를 제한하기 위해 이용되는 의도도 아니다. 예들의 추가적인 양태, 특징, 및/또는 장점들은 부분적으로는 후속하는 상세한 설명에서 설명될 것이고, 부분적으로는 상세한 설명으로부터 명백해질 것이며, 또는 본 발명을 실시함으로써 학습될 수도 있다.
비한정적이고 비-망라적인 예들이 다음의 도면을 참조하여 설명된다.
도 1은 호스트네임 사전-국지화의 양태들이 실시될 수 있는 예시적인 시스템의 개관을 예시한다.
도 2a는 본 명세서에서 설명되는 양태에 따른 호스트네임 사전-국지화를 수행하기 위하여 사전-국지화 요청을 처리하기 위한 예시적인 방법의 개관을 예시한다.
도 2b는 본 명세서에서 설명되는 양태에 따른 호스트네임 사전-국지화를 사용하여 클라이언트 컴퓨팅 디바이스를 상이한 에지 서버로 재지향시키기 위한 예시적인 방법의 개관을 예시한다.
도 2c는 본 명세서에서 설명되는 양태에 따라서 서비스에 의하여 호스트네임 사전-국지화를 수행하기 위한 예시적인 방법의 개관을 예시한다.
도 3a는 클라이언트 컴퓨팅 디바이스로부터의 개시 요청에 응답하여 호스트네임 사전-국지화를 수행하고, 상응하여 클라이언트 컴퓨팅 디바이스로부터의 콘텐츠 요청을 에지 서버에서 처리하기 위한 예시적인 방법의 개관을 예시한다.
도 3b는 클라이언트 컴퓨팅 디바이스를 상이한 에지 서버로 지향시키기 위하여 호스트네임 사전-국지화를 에지 서버에서 수행하기 위한 예시적인 방법의 개관을 예시한다.
도 4는 본 발명의 실시형태들 중 하나 이상이 구현될 수 있는 적절한 동작 환경의 일 예를 예시한다.
후속하는 발명을 실시하기 위한 구체적인 내용에서, 명세서의 일부를 형성하고 예시를 통해서 특정한 실시형태들 또는 예들을 보여주는 첨부 도면에 대한 참조가 이루어진다. 본 발명으로부터 벗어나지 않으면서 이러한 양태들이 조합될 수 있고, 다른 양태들이 활용될 수 있으며, 구조적인 변경이 이루어질 수 있다. 실시형태들은 방법, 시스템 또는 디바이스로서 실시될 수 있다. 따라서, 실시형태는 하드웨어 구현형태, 전체적으로 소프트웨어 구현형태, 또는 소프트웨어 및 하드웨어 양태를 결합하는 구현형태의 형식을 취할 수 있다. 그러므로 후술되는 상세한 설명은 한정하는 의미로 이해되어서는 안되고, 본 발명의 범위는 첨부된 청구항 및 그들의 균등물에 의해서 규정된다.
콘텐츠 배포 네트워크(CDN)는 클라이언트 컴퓨팅 디바이스로부터의 요청을 처리하기 위하여 사용되는 서버들의 세트를 포함한다. 예들에서, 하나 이상의 에지 서버는 데이터 센터의 일부를 형성하는데, CDN의 데이터 센터들은 하나 이상의 지리적 구역 내의 서비스 클라이언트 컴퓨팅 디바이스들로 지리적으로 분산될 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스들로부터의 수요가 데이터 센터의 에지 서버들 사이에서 분산되도록, 데이터 센터는 공통 지리적 위치 내에 여러 개의 에지 서버를 포함한다. 클라이언트 컴퓨팅 디바이스로부터의 클라이언트 요청을 데이터 센터 내의 특정한 에지 서버로 지향시키기 위해서, CDN과 연관된 권위 있는 도메인 네임 시스템(DNS) 서버가 CDN의 호스트네임을 특정 에지 서버와 연관된 인터넷 프로토콜(IP) 어드레스로 분해한다. 일부 예들에서, 특정 에지 서버는 요청하는 클라이언트 컴퓨팅 디바이스와 연관된 지리적 위치에 적어도 부분적으로 기반하고 및/또는 데이터 센터 내의 에지 서버를 선택하기 위한 라운드-로빈 기법에 따라서 선택된다(본 명세서에서 "국지화(localization)"라고 불리는 프로세스임). 그러면, 클라이언트 컴퓨팅 디바이스는 특정한 에지 서버와 통신하여, 여러 예들 중에서, 요청을 전송하고, 응답을 수신하며, 및/또는 콘텐츠에 액세스한다.
그러나, CDN의 호스트네임을 분해하기 위하여 DNS 분해 요청의 일부로서 제공되는 제한된 정보 때문에, 클라이언트 컴퓨팅 디바이스로부터의 요청을 처리하기에 양호하게 적합한 에지 서버를 식별하는 것이 어려울 수 있다. 예를 들어, DNS 분해 요청을 호스트네임(및, 일부 예들에서는 위치)에 기반하여 분해하면 클라이언트 컴퓨팅 디바이스로부터의 요청을 처리하기에 양호하게 적합하지 않은 에지 서버에 대한 IP 어드레스가 제공되는 반면에, 해당 데이터 센터(또는 상이한 데이터 센터)의 상이한 에지 서버에는 그 대신에 이러한 담당들9responsibilities)이 지정될 수 있고, 따라서 더 양호한 선택이 될 수 있도록, 데이터 센터 내의 에지 서버들에는 하나 이상의 담당이 각각 지정될 수 있다(예를 들어, 상이한 타입의 요청을 처리하는 것, 콘텐츠의 특정한 서브세트를 처리하는 것 등).
예를 들어, 선택된 에지 서버가 클라이언트 컴퓨팅 디바이스에 의해 요청된 콘텐츠를 담당하지 않으면, 에지 서버는 콘텐츠 요청을 이행하기 위해서 우선 다른 서버(예를 들어, 데이터 센터 내의 다른 에지 서버, 상이한 데이터 센터로부터의 에지 서버, 오리진 서버 등)로부터 콘텐츠를 캐싱할 수 있다. 그러면, 그렇지 않으면 클라이언트 컴퓨팅 디바이스에 서비스를 제공하기 위해서 이용가능했을 리소스가 그 대신에 요청된 콘텐츠를 에지 서버로 전송하기 위해서 사용되기 때문에(데이터 센터 내의 다른 에지 서버가 이미 요청된 콘텐츠를 가질 수 있거나, 다른 예들에서는 적어도 요청된 콘텐츠를 담당할 수 있는 경우에도), CDN 내의 이용가능한 컴퓨팅 리소스를 열악하게 활용하는 결과가 초래될 수 있다.
따라서, 본 발명의 양태들은 호스트네임 사전-국지화에 관한 것이다. 예들에서, CDN은 서비스의 사용자와 연관된 클라이언트 컴퓨팅 디바이스의 요청을 처리하기 위해서 서비스에 의해 사용된다. 다양한 서비스 중 임의의 것은 본 명세서에서 설명되는 양태에 따라서 CDN을 사용할 수 있다. 예시적인 서비스는 비디오 스트리밍 서비스, 비디오 게임 서비스, 클라우드-컴퓨팅 서비스, 또는 웹 애플리케이션 서비스를 포함하지만, 이들로 제한되지는 않는다. 예를 들어, 비디오 스트리밍 서비스는 CDN을 사용하여 스트리밍 콘텐츠를 제공할 수 있고, 이를 통하여 비디오 스트리밍 서비스를 CDN에 제공하는 것과 연관된 계산 수요의 적어도 일부를 분담시킨다. 서비스가 콘텐츠에 대한 개시 요청을 클라이언트 컴퓨팅 디바이스로부터 수신하면(예를 들어, 클라이언트 컴퓨팅 디바이스의 사용자가 서비스로부터 비디오 스트리밍을 개시한 결과로서), 서비스는 요청된 콘텐츠를 표시하는 사전-국지화 정보를 포함하는 사전-국지화 요청을 CDN에 제공한다.
사전-국지화 정보는, 요청된 콘텐츠를 담당하는 에지 서버와 연관된 호스트네임을 결정하기 위하여 CDN에 의해 사용됨으로써, 요청된 콘텐츠가 CDN 내의 다른 서버로부터 우선 캐싱되어야 하는 가능성을 줄인다. 결정된 사전-국지화 호스트네임을 표시하는 사전-국지화 응답이 서비스로 제공된다. 결과적으로, 서비스는 호스트네임을 사용하여 클라이언트 컴퓨팅 디바이스를 결정된 에지 서버로 지향시키는, 클라이언트 컴퓨팅 디바이스로의 응답을 생성함으로써, 클라이언트 컴퓨팅 디바이스가 결정된 에지 서버와 통신하여 콘텐츠에 액세스하게 한다. 따라서, 클라이언트 컴퓨팅 디바이스로부터의 요청을 처리하기 위한 CDN의 에지 서버를 식별하기 위하여, "사전-국지화"(및 결과적으로 얻어지는 "사전-국지화된" 호스트네임)가, DNS 서버에 의하여 수행될 수 있는 국지화에 대한 대체예로서 또는 이에 추가적으로 사용된다.
본 명세서에서 사용될 때, 개시 요청은 클라이언트 컴퓨팅 디바이스로부터 서비스에 의해 수신되는 요청이고, 이것에 응답하여 서비스는 클라이언트 컴퓨팅 디바이스를 CDN에 지향시킨다. 예들에서, 서비스는 CDN(예를 들어, 서비스가 고객인 CDN)으로부터 별개이고, 서비스는 CDN의 에지 서버 / 데이터 센터에 추가적으로 클라이언트 컴퓨팅 디바이스에 의해서 활용되는 하나 이상의 서버 컴퓨팅 디바이스를 포함한다. 일 예로서, 서비스의 하나 이상의 서버 컴퓨팅 디바이스는 클라이언트 컴퓨팅 디바이스에 의해서 액세스되는 웹사이트를 제공하기 위하여 사용될 수 있고, 그 이후에 개시 요청은 서비스의 서버 컴퓨팅 디바이스가 아니라 클라이언트 컴퓨팅 디바이스가 CDN으로 지향되게 한다(예를 들어, 본 명세서에서 설명되는 양태에 따른 사전-국지화된 호스트네임에 기반하여).
비디오 스트리밍 서비스의 예로 돌아가면, 비디오 스트리밍 서비스는 사용자가 "재생(play)"을 선택했거나 비디오 스트리밍 서비스에 의해 제공되는 비디오들의 카탈로그 중에서 하나의 비디오를 선택했다는 표시를 수신한 이후에, 클라이언트 컴퓨팅 디바이스로부터 개시 요청을 수신할 수 있다. 일부 예들에서, 개시 요청은 이러한 표시를 포함한다. 예들에서, 비디오 스트리밍 서비스는 비디오 스트리밍 서비스에 의해 제공되는 콘텐츠를 서비스하는 것을 담당하는 CDN의 고객일 수 있다. 따라서, 비디오 스트리밍 서비스는 개시 요청에 대한 응답을 제공할 수 있고, 이것은 클라이언트 컴퓨팅 디바이스가 CDN으로부터의 콘텐츠에 액세스하게 지시한다. 다른 예로서, 선택된 게임 모드를 CDN의 서버를 사용하여 플레이하도록 비디오 게임 서비스가 플레이어의 컴퓨팅 디바이스를 CDN으로 지향시키게끔, 개시 요청은 플레이어가 비디오 게임 내에서 게임 모드를 선택할 때 비디오 게임 서비스에 의해서 수신될 수 있다. 따라서, 여러 가지 중에서 콘텐츠(예를 들어, 하나 이상의 파일, 비디오 및/또는 오디오 스트림 등)를 제공하는 것, 서버-측 처리(예를 들어, 온라인 게이밍, 클라우드 컴퓨팅, 웹 애플리케이션 등), 및 오디오/비디오 화상회의를 비한정적으로 포함하는, 해당 기능성을 위해서 서비스가 CDN을 사용하는 다양한 컴퓨팅 기능성 중 임의의 것과 개시 요청이 연관될 수 있다는 것이 이해될 것이다.
사전-국지화된 호스트네임을 획득하기 위하여, 서비스는 사전-국지화 요청을 제공하고 사전-국지화 요청을 CDN에 제공할 수 있다. 사전-국지화 요청 사전-국지화 정보를 포함하고, 이것은 IP 어드레스, 지리적 위치, 소프트웨어 및/또는 하드웨어 기능(예를 들어, 하나 이상의 지원 코덱, 하드웨어 디코딩이 이용가능한지 여부 등), 및/또는 디바이스 타입(예를 들어, 태블릿, 랩탑, 모바일 디바이스 등)을 비한정적으로 포함하는, 클라이언트 컴퓨팅 디바이스에 대한 정보를 포함할 수 있다. 다른 예로서, 사전-국지화 정보는, 연관된 컴퓨팅 기능성과 관련된 정보(예를 들어, 요청된 콘텐츠, 서버-측 처리와 연관된 하나 이상의 데이터베이스 등), 개시 요청이 연관되는 서비스의 표시, 요청의 범용 리소스 로케이터(URL), 및/또는 관련된 클라이언트 컴퓨팅 디바이스와 관련된 정보(예를 들어, 비디오 게임 및/또는 화상회의 시나리오의 경우에서와 같음)를 비한정적으로 포함하는, 개시 요청에 관련된 정보를 포함할 수 있다. 사전-국지화 정보는 여러 가지 중에서, 클라이언트로부터 수신된 개시 요청에 기반하여, 서비스에 의해 생성된 정보에 기반하여, 또는 이들의 임의의 조합에 기반하여 생성될 수 있다.
사전-국지화 요청은 애플리케이션 프로그래밍 인터페이스(API)를 통하여 통신될 수 있다. 일 예로서, CDN은 REST(representational state transfer) 소프트웨어 아키텍처에 따라서 웹 인터페이스를 제공할 수 있는데, 사전-국지화 정보는 사전-국지화 요청의 일부로서 API를 통하여 수신되고, 사전-국지화된 호스트네임이 이에 응답하여 제공된다. 다양한 다른 기법 중 임의의 기법이 사전-국지화 정보 및 연관된 사전-국지화된 호스트네임을 통신하기 위해서 사용될 수 있다는 것이 이해될 것이다.
예들에서, 적어도 사전-국지화 정보의 동일한 서브세트를 제공하면 동일한 사전-국지화된 호스트네임이 얻어지도록, 사전-국지화된 호스트네임을 생성하는 것은 결정론적이다(deterministic). 예를 들어, 사전-국지화 정보에 의해 표시되는 요청된 콘텐츠를 해싱하고, 요청된 콘텐츠를 담당하는 데이터 센터 내의 에지 서버를 식별하기 위하여 해싱 알고리즘이 사용된다. 이러한 예에서, 해시 테이블은 해싱된 요청된 콘텐츠 값을 상응하도록 하나 이상의 에지 서버와 연관시키기 위해서 사용될 수 있다. 해시 테이블이 클라이언트 컴퓨팅 디바이스의 위치에 대한 특정 데이터 센터의 근접성(예를 들어, 사전-국지화 정보에 의해 표시될 수 있음)에 따라서 결정되도록, 해시 테이블은 특정한 데이터 센터와 연관될 수 있다. 추가적이거나 대안적인 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 생성하기 위하여 유사한 기법들이 사용될 수 있다는 것이 이해될 것이다. 더 나아가, 해시 및 연관된 해시 테이블에 기반하여 에지 서버를 식별하는 것에 추가적으로 또는 대체예로서, 다른 기법이 사용될 수도 있다. 예를 들어, 컴퓨팅 기능성 및 하나 이상의 호스트네임을 연관시키는 룩업 테이블이 사용될 수 있다. 더 나아가, 다수의 에지 서버가 결정된 호스트네임(예를 들어, 동일한 데이터 센터 내에 있거나 및/또는 다수의 데이터 센터들 중에 있음)과 연관될 수 있다는 것이 이해될 것이다.
일부 예들에서, 서비스 자체가 사전-국지화된 호스트네임을 생성하기 위한 본 명세서에서 설명된 기법들을 구현하도록, 사전-국지화 결정은 CDN에 의해서 제공된 API를 통해서가 아니라 서비스에 의해서 수행될 수 있다. 이러한 예에서, 에지 서버 정보 및/또는 사전-국지화된 호스트네임을 결정하는 것과 연관된 알고리즘이 서비스로 제공되고, 그리고 일부 예들에서는 주기적으로 업데이트될 수 있다. 다른 예로서, 클라이언트 컴퓨팅 디바이스가 사전-국지화된 호스트네임을 상응하도록 API를 통해서 요청하도록, 클라이언트 컴퓨팅 디바이스는 서비스가 아니라 CDN에 의해서 제공된 API를 사용할 수도 있다. 클라이언트 컴퓨팅 디바이스는 응답하여 사전-국지화된 호스트네임을 수신하고, 그 후에 사전-국지화된 호스트네임을 상응하도록 특정 에지 서버의 IP 어드레스로 분해할 수 있다.
다른 예들에서, 서비스는 사전-국지화된 호스트네임을 클라이언트 컴퓨팅 디바이스에 제공할 필요가 없고, 그 대신에 클라이언트 컴퓨팅 디바이스를 CDN과 더 널리 연관된 호스트네임을 사용하여 CDN에 지향시킬 수 있다(예를 들어, 호스트네임이 위에서 논의된 DNS 분해 기법에 따라서 국지화될 수 있도록). 궁극적으로, 클라이언트 컴퓨팅 디바이스는 CDN의 에지 서버와 통신할 수 있다. 에지 서버는 클라이언트 컴퓨팅 디바이스로부터 수신된 요청에 응답하여 본 명세서에서 설명된 사전-국지화 기법들과 유사한 양태들을 수행할 수 있고, 이를 통하여 클라이언트 컴퓨팅 디바이스를 사전-국지화된 호스트네임을 사용하여 상이한 에지 서버로 지향시킨다.
도 1은 호스트네임 사전-국지화의 양태들이 실시될 수 있는 예시적인 시스템(100)의 개관을 예시한다. 도시된 바와 같이, 시스템(100)은 클라이언트 컴퓨팅 디바이스(102), 서비스(104), 데이터 센터(106), 중간 DNS 서버(108), 권위 있는 DNS 서버(110), 사전-국지화 엔진(112), 및 네트워크(122)를 포함한다. 클라이언트 컴퓨팅 디바이스(102), 서버(104), 데이터(106), 중간 DNS 서버(108), 권위 있는 DNS 서버(110), 및 사전-국지화 엔진(112)은 네트워크(122)를 통해서 통신하는 것으로 예시된다. 네트워크(122)는 여러 가지 중에서, 근거리 네트워크, 광역 네트워크, 하나 이상의 셀룰러 네트워크, 및/또는 인터넷을 포함할 수 있다.
클라이언트 컴퓨팅 디바이스(102)는 모바일 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 또는 데스크탑 컴퓨팅 디바이스를 비한정적으로 포함하는 다양한 컴퓨팅 디바이스 중 임의의 디바이스일 수 있다. 예들에서, 클라이언트 컴퓨팅 디바이스(102)는 서비스(104)와 통신한다. 서비스(104)는, 여러 가지 예들 중에서, 비디오 스트리밍 서비스, 비디오 게임 서비스, 클라우드-컴퓨팅 서비스, 또는 웹 애플리케이션 서비스를 비한정적으로 포함하는 다양한 서비스 중 임의의 것일 수 있다. 서비스(104)는 CDN을 사용하여 클라이언트 컴퓨팅 디바이스(102)에 의해 활용되는 컴퓨팅 기능성의 적어도 일부를 제공할 수 있다. 예를 들어, 서비스(104)는 클라이언트 컴퓨팅 디바이스(104)가 이용가능한 콘텐츠를 시청하기 위해서 상호작용하는 웹사이트를 호스팅할 수 있다; 그러나, 클라이언트 컴퓨팅 디바이스(102)가 CDN에 의해서 해당 서비스(104)를 위해 호스팅된 특정 콘텐츠에 대한 요청을 전송하면, 클라이언트는 콘텐츠를 획득하도록 CDN으로 지향된다. 도시된 바와 같이, 데이터 센터(106), 중간 DNS 서버(108), 권위 있는 DNS 서버(110), 및/또는 사전-국지화 엔진(112)은, 점선 박스(111)에 의해서 표시되는 것과 같이 이러한 CDN의 적어도 일부를 형성할 수 있다. 다른 예들에서는, 시스템(100)에 대해서 설명된 예시적인 CDN의 어떤 요소가 제 3 자(예를 들어, 중간 DNS 서버(108), 데이터 센터(106) 등)에 의해서 제공될 수 있다는 것이 이해될 것이다. 더 나아가, 특정한 요소에 관하여 본 명세서에서 설명된 기능성은 다양한 다른 기법 중 임의의 것에 따라서 분산될 수 있다. 예를 들어, 사전-국지화 엔진(112)은 그 대신에 데이터 센터(106)의 일부일 수 있다.
데이터 센터(106)는 오리진 서버(117), 에지 서버(118 및 120), 및 로드-밸런싱 서버(121)를 포함하는 것으로 예시된다. 다른 예들에서, 오리진 서버(117)는 제 3 자에 의해 작동될 수 있고 및/또는 데이터 센터(106)에 통신하도록 커플링된 상이한 데이터 센터 내에 위치될 수 있다. 오리진 서버(117) 및 에지 서버(118 및 120)는 본 명세서에서 설명되는 양태에 따른 CDN의 컴퓨팅 기능성을 제공한다. 예들에서, 에지 서버(118 및 120)는 데이터 센터(106) 내에서 연관된 담당들의 세트를 각각 가진다. 예를 들어, 에지 서버(118)가 콘텐츠의 제 1 서브세트를 담당하고 에지 서버(120)가 콘텐츠의 제 2 서브세트를 담당하도록, 서비스(104)는 데이터 센터(106)가 담당하는 콘텐츠의 카탈로그를 가질 수 있다. 에지 서버(118 및 120)가 콘텐츠의 그들의 각각의 서브세트 중의 콘텐츠를 이러한 콘텐츠를 클라이언트 컴퓨팅 디바이스(102)로 제공하기 위해서 오리진 서버(117)로부터 캐싱하도록, 오리진 서버(117)는 콘텐츠의 카탈로그를 저장할 수 있다. 예들에서, 제 1 서브세트 및 제 2 서브세트는, 서브세트들 사이에 중첩이 존재하지 않도록 서로 배타적일 수 있다. 다른 예들에서, 제 1 서브세트 및 제 2 서브세트 중 적어도 일부는 중첩할 수 있다. 다수의 데이터 센터들이 사용될 수 있다는 것이 이해될 것이다. 예를 들어, 에지 서버 및 클라이언트 컴퓨팅 디바이스 사이의 레이턴시를 개선하기 위하여, CDN의 데이터 센터들은 지리적으로 분산될 수 있다.
예들에서, 서비스(104)의 클라이언트 요청 프로세서(114)는 클라이언트 컴퓨팅 디바이스(102)로부터 수신된 요청을 처리한다. 클라이언트 요청 프로세서(114)는, 예를 들어 개시 요청에 응답하여, 클라이언트 컴퓨팅 디바이스(102)를 CDN과 연관된(예를 들어, 에지 서버(118 또는 120) 중 하나와 연관된) 호스트네임으로 지향시킬 수 있다. 결과적으로, 클라이언트 컴퓨팅 디바이스(102)는 중간 DNS 서버(108)와 통신하여 호스트네임을 에지 서버(118 및 120) 중 하나의 IP 어드레스로 분해한다. 중간 DNS 서버(108)는 호스트네임에 대한 IP 어드레스를 결정하기 위하여 권위 있는 DNS 서버(110)와 통신하는데, 중간 DNS 서버(108)는 이것을 클라이언트 컴퓨팅 디바이스(102)에 제공한다. 예들에서, 권위 있는 DNS 서버(110)는 전술된 바와 같이 DNS 요청을 국지화한다. 예를 들어, 권위 있는 DNS 서버(110)는 DNS 분해 요청과 연관된 위치(예를 들어, 클라이언트 컴퓨팅 디바이스(102) 또는 중간 DNS 서버(108) 등의 위치)를 결정할 수 있고, 에지 서버(118 또는 120)의 IP 어드레스를 결정된 위치에 적어도 부분적으로 기반하여 반환할 수 있다. 그러나, 예들에서, 권위 있는 DNS 서버(110)에 의한 특정 에지 서버(118 또는 120)의 지정은 임의로 일어나고 및/또는 이러한 에지 서버(118 및 120)에 실제로 저장되는 콘텐츠 또는 이들에 의해 제공되는 서비스에 대해서 무관(blind)할 수 있다. 다른 예들에서, 권위 있는 DNS 서버(110)는 데이터 센터(106)에 대한 로드-밸런싱 서버(121)(일부 예들에서, 로드-밸런싱 서버(121)가 생략될 수 있다는 것을 표시하기 위해서 점선 박스를 사용하여 예시됨)의 IP 어드레스를 반환할 수 있고, 그러면 이것은 요청을 처리하기 위한 특정 에지 서버(118 또는 120)를 지정할 수 있다. 그러나, 마찬가지로, 요청을 처리하기 위한 특정 에지 서버(118 또는 120)의 지정은 임의로 일어나고 및/또는 이러한 에지 서버(118 및 120)에 실제로 저장되는 콘텐츠 또는 이들에 의해 제공되는 서비스에 대해서 무관할 수 있다.
클라이언트 컴퓨팅 디바이스(102)는 IP 어드레스를 사용하여 에지 서버(118 또는 120)에 상응하도록 통신한다. 시스템(100)이 하나의 오리진 서버(117), 두 개의 에지 서버(118 및 120), 하나의 클라이언트 컴퓨팅 디바이스(102), 하나의 중간 DNS 서버(108), 및 하나의 권위 있는 DNS 서버(110)에 대해서 설명되지만, 다른 예들에서는 임의의 개수의 이러한 요소들이 사용될 수 있다는 것이 이해될 것이다. 예를 들어, 클라이언트 컴퓨팅 디바이스(102)는 권위 있는 DNS 서버(110)와 직접 통신할 수 있고, 또는, 다른 예로서 주어진 호스트네임에 대한 IP 어드레스를 궁극적으로 분해하기 위해서 다수의 중간 DNS 서버가 사용될 수 있다.
예들에서, 클라이언트 컴퓨팅 디바이스(102)가 에지 서버(118 및 120) 중 특히 양호하게 적절한 것으로 지향시키기 위하여(예를 들어, 권위 있는 DNS 서버(110)에 의한 국지화 이전에 또는 이러한 국지화가 없이), 서비스(104)에 의해서 클라이언트 컴퓨팅 디바이스(102)에 제공된 호스트네임은 사전-국지화될 수 있다. 서비스(104)는 호스트네임 사전-국지화기(116)를 더 포함하는 것으로 예시된다. 호스트네임 사전-국지화기(116)는 사전-국지화 엔진(112)과 통신하여 사전-국지화된 호스트네임을 결정하고, 이것은 이제 클라이언트 요청 프로세서(114)를 통하여 클라이언트 컴퓨팅 디바이스(102)에 제공된다. 일 예로서, 호스트네임 사전-국지화기(116)는 사전-국지화 정보를 포함하는 사전-국지화 요청을 생성하고, 사전-국지화 요청을 사전-국지화 엔진(112)에 제공한다. 예들에서, 클라이언트 요청 프로세서(114)는 수신된 개시 요청에 관련된 정보를 제공하는데, 이것 중 적어도 일부가 사전-국지화 정보를 생성하기 위해서 사용될 수 있다. 예를 들어, 사전-국지화 정보는 클라이언트 컴퓨팅 디바이스(102)에 대한 정보 및/또는 수신된 개시 요청에 관련된 정보를 포함할 수 있다. 사전-국지화 요청은 본 명세서에서 설명되는 양태에 따른 API를 사용하여 사전-국지화 엔진(112)에 제공될 수 있다.
사전-국지화 엔진(112)은 사전-국지화 요청을 수신하고, 응답하여 사전-국지화된 호스트네임을 제공한다. 사전-국지화 엔진(112)은 에지 서버 데이터 저장소(124)를 포함하는 것으로 예시되고, 그 안에서 CDN의 에지 서버에 관련된 정보가 저장될 수 있다. 예시적인 에지 서버 정보는 여러 가지 예들 중에서, 하나 이상의 연관된 담당, 컴퓨팅 리소스의 현재 또는 예상된 이용, 지리적 위치, 및/또는 에지 서버가 연관되는 하나 이상의 서비스를 포함하지만 이들로 한정되는 것은 아니다. 예들에서, 다수의 사전-국지화 엔진들이 사용된다. 예를 들어, 사전-국지화 엔진은 지리적으로 분산될 수 있고, 일부 예들에서는 CDN의 데이터 센터와 연위될 수 있다(collocated). 에지 서버 데이터 저장소(124)가 에지 서버 정보들(예를 들어, CDN 내의 각각의 에지 서버에 대한)의 전체 세트를 포함할 수 있거나, 에지 서버 정보들의 서브세트(예를 들어, 지리적으로 가까운 에지 서버에 대한, 특정 서비스와 연관된 에지 서버에 대한 정보 등)를 포함할 수 있다는 것이 이해될 것이다.
에지 서버 데이터 저장소(124)에 의해 저장된 에지 서버 정보는 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 결정하기 위해서 사전-국지화 엔진(112)에 의해 사용된다. 예들에서, 적어도 사전-국지화 정보의 동일한 서브세트가 동일한 사전-국지화된 호스트네임을 제공하도록, 사전-국지화 엔진(112)은 사전-국지화된 호스트네임을 결정론적 알고리즘에 따라서 결정한다.
예를 들어, 사전-국지화 정보에 의해 표시되는 요청된 콘텐츠를 해싱하기 위해서 해싱 알고리즘이 사용될 수 있다. 일 예에서, 에지 서버 데이터 저장소(124) 내의 해시 테이블은 해싱된 요청된 콘텐츠 값을 하나 이상의 에지 서버와 상응하도록 연관시킬 수 있다. 특정한 데이터 센터와 연관된 해시 테이블이 사전-국지화 정보에 의해 표시된 위치에 대한 특정 데이터 센터의 근접도에 따라서 결정되도록, 해시 테이블은 특정한 데이터 센터와 연관될 수 있다. 따라서, 해시 테이블에 의해 표시되는 에지 서버의 호스트네임은 사전-국지화 정보에 대한 사전-국지화된 호스트네임으로서 사전-국지화 엔진(112)에 의해 제공될 수 있다(예를 들어, 호스트네임 사전-국지화기(116)로). 추가적이거나 대안적인 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 생성하기 위하여 유사한 기법들이 사용될 수 있다는 것이 이해될 것이다. 예를 들어, 어떤 에지 서버가 담당하는지, 그리고 따라서 요청된 콘텐츠를 가질 가능성이 높은지 식별하기 위하여, 콘텐츠 요청은 적법한 서버들의 세트(예를 들어, 데이터 센터(106) 내의 에지 서버들(118))에 걸쳐서 동적으로 해싱될 수 있다. 더 나아가, 사전-국지화 정보를 해싱하는 것에 추가적으로 또는 대체예로서 다른 기법들이 사용될 수도 있다. 예를 들어, 컴퓨팅 기능성 및 하나 이상의 호스트네임을 연관시키는 룩업 테이블이 사용될 수 있다. 따라서, 클라이언트 컴퓨팅 디바이스(102)는 사전-국지화된 호스트네임을 수신하고(예를 들어, 클라이언트 요청 프로세서(114)를 통하여), 사전-국지화된 호스트네임을 중간 DNS 서버(108) 및/또는 권위 있는 DNS 서버(110)를 통하여 분해한다. 그러면, 클라이언트 컴퓨팅 디바이스(102)는 사전-국지화된 호스트네임과 연관된 에지 서버(118 또는 120)와 통신한다.
다른 예들에서, 클라이언트 컴퓨팅 디바이스(102)는 사전-국지화되지 않은 서비스(104)로부터 호스트네임을 수신한다. 클라이언트 컴퓨팅 디바이스(102)가 에지 서버(예를 들어, 에지 서버(118))와 통신하여, 이에 따라서 콘텐츠에 액세스하도록(또는 CDN의 대안적이거나 추가적인 컴퓨팅 기능성을 활용하도록), 호스트네임은 에지 서버(118 또는 120) 중 하나에 대한 IP 어드레스로 분해될 수 있다. 에지 서버(118)는 요청된 컴퓨팅 기능성을 담당하는지 여부를 결정할 수 있고, 만일 그러하다면, 클라이언트 컴퓨팅 디바이스(102)와 계속 통신할 수 있다. 그러나, 에지 서버(118)가 요청된 컴퓨팅 기능성을 담당하지 않는다고 결정하면, 에지 서버(118)는 사전-국지화 정보를 포함하는 사전-국지화 요청을 생성하고 사전-국지화 요청을 사전-국지화 엔진(112)에 제공할 수 있다. 이에 응답하여, 에지 서버(118)는 컴퓨팅 기능성을 담당하는 에지 서버, 예컨대 에지 서버(120)에 대한 사전-국지화된 호스트네임을 수신한다. 그러면, 에지 서버(118)는 사전-국지화된 호스트네임을 클라이언트 컴퓨팅 디바이스(102)로 제공함으로써, 클라이언트 컴퓨팅 디바이스(102)를 에지 서버(120)로 재지향시킨다.
도 2a는 본 명세서에서 설명되는 양태에 따른 호스트네임 사전-국지화를 수행하기 위하여 사전-국지화 요청을 처리하기 위한 예시적인 방법(200)의 개관을 예시한다. 예들에서, 방법(200)의 양태들은 사전-국지화 엔진, 예컨대 도 1의 사전-국지화 엔진(112)에 의해서 수행된다. 방법(200)은 사전-국지화 정보를 포함하는 사전-국지화 요청이 수신되는 동작(202)에서 시작한다. 사전-국지화 요청은 서비스의 호스트네임 사전-국지화기, 예컨대 도 1의 서비스(104)의 호스트네임 사전-국지화기(116)로부터 수신될 수 있다. 다른 예들에서, 사전-국지화 요청은 에지 서버, 예컨대 도 1의 에지 서버(118 또는 120)로부터 수신된다(예를 들어, 클라이언트 컴퓨팅 디바이스를 다른 에지 서버로 재지향시키기 위하여). 다른 예에서, 사전-국지화 요청은 클라이언트 컴퓨팅 디바이스, 예컨대 도 1의 클라이언트 컴퓨팅 디바이스(102)로부터 수신될 수 있다. 예들에서, 사전-국지화 요청은 API를 통하여 수신된다. 따라서, 사전-국지화 요청이 다양한 기법을 사용하여 다양한 소스 중 임의의 소스로부터 수신될 수 있다는 것이 이해될 것이다.
사전-국지화 요청 내에 수신된 사전-국지화 정보는 여러 가지 중에서, 클라이언트 컴퓨팅 디바이스에 관련된 정보 및/또는 개시 요청을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스에 관련된 예시적인 사전-국지화 정보는 IP 어드레스, 지리적 위치, 소프트웨어 및/또는 하드웨어 기능, 및/또는 디바이스 타입을 포함하지만 이들로 한정되는 것은 아니다. 다른 예로서, 개시 요청에 관련된 사전-국지화 정보는 요청된 콘텐츠, 연관된 컴퓨팅 기능성, 개시 요청이 연관되는 서비스, 요청의 URL, 및/또는 관련된 클라이언트 컴퓨팅 디바이스에 관한 정보를 포함하지만 이들로 한정되는 것은 아니다.
흐름은 에지 서버들의 세트와 연관된 데이터 센터가 식별되는 동작(204)으로 진행한다. 예들에서, 데이터 센터는 에지 서버 데이터 저장소, 예컨대 도 1의 에지 서버 데이터 저장소(124)에 의해 저장된 정보에 기반하여 식별된다. 동작(204)은, 예를 들어 사전-국지화 정보에 의해 표시된 지리적 위치에 가까운 데이터 센터를 식별하도록, 동작(202)에서 수신된 사전-국지화 정보의 적어도 일부를 평가하는 것을 포함할 수 있다. 다른 예로서, 데이터 센터(또는 그 안의 에지 서버들의 적어도 하나의 서브세트)는 사전-국지화 정보에 의해서 표시되는 서비스와의 연관성에 기반하여 결정될 수 있다. 본 명세서에서 설명되는 예에 추가적으로 또는 그의 대체예로서, 다양한 그 외의 사전-국지화 정보 중 임의의 정보가 사용될 수 있다는 것이 이해될 것이다. 동작(204)은, 다른 예들에서는 동작(204)이 방법(200)으로부터 생략될 수 있다는 것을 표시하도록 점선 박스를 사용하여 예시된다. 예를 들어, 국지화가 그 대신에 클라이언트 컴퓨팅 디바이스가 사전-국지화된 호스트네임의 분해를 요청할 때에 권위 있는 DNS 서버에 의해 수행될 수 있도록, 근위 데이터 센터는 사전-국지화된 호스트네임을 생성할 때에 식별되지 않을 수도 있다.
동작(206)에서는, 사전-국지화된 호스트네임이 식별된 데이터 센터로부터 사전-국지화 정보에 기반하여 결정된다. 동작(206)의 양태는 도 1의 에지 서버 데이터 저장소(124)와 같은 에지 서버 데이터 저장소에 의해 저장될 수 있는 것과 같은 에지 서버 정보를 평가하는 것을 포함할 수 있다. 예를 들어, 사전-국지화 정보에 의해 표시된 요청된 콘텐츠를 해싱하고 요청된 콘텐츠를 담당하는 하나 이상의 에지 서버에 관련된 호스트네임을 결정하기 위해서 해싱 알고리즘이 사용될 수 있다. 이러한 예에서, 해시 테이블은 해싱된 요청된 콘텐츠 값을 상응하도록 에지 서버 호스트네임과 연관시키기 위해서 사용될 수 있다. 해시 테이블은, 동작(204)이 수행되는 예들에서 동작(204)에서 식별된 데이터 센터와 연관될 수 있다. 추가적이거나 대안적인 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 생성하기 위하여 유사한 기법들이 사용될 수 있다는 것이 이해될 것이다. 더 나아가, 사전-국지화 정보를 해싱하는 것에 추가적으로 또는 대체예로서 다른 기법들이 사용될 수도 있다. 예를 들어, 컴퓨팅 기능성 및 하나 이상의 호스트네임을 연관시키는 룩업 테이블이 사용될 수 있다. 더 나아가, 다수의 에지 서버가 결정된 호스트네임(예를 들어, 동일한 데이터 센터 내에 있거나 및/또는 다수의 데이터 센터들 중에 있음)과 연관될 수 있다는 것이 이해될 것이다. 이러한 예에서, 여러 가지 선택 기법들 중에서, 에지 서버는 무작위로, 컴퓨팅 리소스의 현재의 활용의 평가에 기반하여, 또는 권위 있는 DNS 서버에 의해 수행되는 호스트네임 국지화의 일부로서 선택될 수 있다.
흐름은 결정된 사전-국지화된 호스트네임을 포함하는 응답이 제공되는 동작(208)으로 진행한다. 예들에서, 응답이 서비스의 호스트네임 사전-국지화기, 예컨대 도 1의 서비스(104)의 호스트네임 사전-국지화기(116)로 제공된다. 에지 서버가 동작(202)에서 수신된 국지화 요청을 클라이언트 컴퓨팅 디바이스를 재지향시키기 위해서 제공한 바 있는 예에서, 응답은 에지 서버, 예컨대 도 1의 에지 서버(118 또는 120)로 제공될 수 있다. 일부 예들에서, 응답은 클라이언트 컴퓨팅 디바이스, 예컨대 도 1의 클라이언트 컴퓨팅 디바이스(102)로 제공된다. 흐름은 동작(208)에서 종결된다.
도 2b는 본 명세서에서 설명되는 양태에 따른 호스트네임 사전-국지화를 사용하여 클라이언트 컴퓨팅 디바이스를 상이한 에지 서버로 재지향시키기 위한 예시적인 방법(220)의 개관을 예시한다. 예들에서, 방법(220)의 양태들은 에지 서버, 예컨대 도 1의 에지 서버(118 또는 120)에 의해서 수행된다. 방법(220)은 콘텐츠 요청이 클라이언트 컴퓨팅 디바이스로부터 수신되는 동작(222)에서 시작된다. 콘텐츠 요청은 클라이언트 컴퓨팅 디바이스로부터의 개시 요청에 응답하여 클라이언트 컴퓨팅 디바이스를 에지 서버로 지향시키는 서비스의 결과로서 수신될 수 있다. 일부 예들에서, 클라이언트 컴퓨팅 디바이스는 사전-국지화된 호스트네임을 사용하여 에지 서버로 지향되었을 수 있다.
결정(224) 단계에서, 에지 서버가 요청된 콘텐츠를 담당하는지 여부가 결정된다. 예들에서, 결정하는 단계는 여러 가지 예들 중에서, 에지 서버에 의해 캐싱되는 콘텐츠의 세트 또는 에지 서버가 담당하는 콘텐츠의 목록을 평가하는 것을 포함한다. 따라서, 요청된 콘텐츠를 담당하기 위하여, 에지 서버가 즉시 이용가능한 요청된 콘텐츠를 반드시 가져야 할 필요는 없다는 것이 이해될 것이다. 방법(220)이 에지 서버가 콘텐츠의 서브세트를 담당하는 예로서 설명되지만, 추가적이거나 대안적인 다양한 컴퓨팅 기능성 및 연관된 담당(responsibility) 중 임의의 것을 가지는 에지 서버를 위하셔 유사한 기법이 사용될 수 있다는 것이 이해될 것이다.
만일, 결정(224) 단계에서 에지 서버가 요청된 콘텐츠를 담당한다고 결정되면, 흐름은 요청된 콘텐츠가 클라이언트 컴퓨팅 디바이스로 제공되는 동작(226)으로 분기한다("예"). 예들에서, 요청된 콘텐츠를 제공하는 것은 에지 서버의 캐시로부터 콘텐츠에 액세스하는 것을 포함한다. 다른 예들에서, 요청된 콘텐츠는 다른 예들 중에서, 다른 에지 서버로부터 또는 오리진 서버로부터 캐싱될 수 있다. 흐름은 동작(226)에서 종결된다.
그러나, 에지 서버가 요청된 콘텐츠를 담당하지 않는다고 결정되면, 흐름은 그 대신에 사전-국지화 정보가 생성되는 동작(228)으로 분기한다("아니오"). 예들에서, 사전-국지화 정보는 동작(222)에서 수신되었던 콘텐츠 요청에 적어도 부분적으로 기반하여 생성된다. 예를 들어, 콘텐츠 요청은 하나 이상의 헤더, 쿠키, 및/또는 클라이언트 컴퓨팅 디바이스에 대한 및/또는 요청된 컴퓨팅 기능성에 대한 사전-국지화 정보를 생성하기 위해서 본 명세서에서 설명되는 양태에 따라서 사용될 수 있는 그 외의 정보를 포함할 수 있다.
동작(230)으로 이동하면, 사전-국지화된 호스트네임이 사전-국지화 정보에 기반하여 결정된다. 예들에서, 사전-국지화된 호스트네임은 사전-국지화 요청을 생성하고 사전-국지화 요청을 사전-국지화 엔진, 예컨대 도 1의 사전-국지화 엔진(112)으로 제공함으로써 결정된다. 다른 예들에서, 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 결정하기 위하여, 에지 서버는 도 2a의 방법(200)에 대해서 전술된 사전-국지화 양태의 적어도 일부를 수행할 수 있다.
흐름은 클라이언트 컴퓨팅 디바이스가 사전-국지화된 호스트네임으로 재지향되는 동작(232)으로 진행한다. 일 예로서, 재지향은 하이퍼텍스트 수송 프로토콜(HTTP)(302) 응답으로서 클라이언트 컴퓨팅 디바이스로 제공됨으로써, 클라이언트 컴퓨팅 디바이스를 상이한 URL로 지향시킨다. 다른 예로서, 응답은 클라이언트 컴퓨팅 디바이스에 의해 실행될 때 클라이언트 컴퓨팅 디바이스가 사전-국지화된 호스트네임으로 지향되게 하는 명령을 포함하는 클라이언트 컴퓨팅 디바이스로 제공된다. 다양한 재지향 기법들 중 임의의 기법이 사용될 수 있다는 것이 이해될 것이다. 흐름은 동작(232)에서 종결된다.
도 2c는 본 명세서에서 설명되는 양태에 따라서 서비스에 의하여 호스트네임 사전-국지화를 수행하기 위한 예시적인 방법(240)의 개관을 예시한다. 예들에서, 방법(240)의 양태들은 권위 있는 서버, 예컨대 도 1의 서비스(104)에 의해서 수행된다. 방법(240)은 개시 요청이 클라이언트 컴퓨팅 디바이스(예를 들어, 도 1의 클라이언트 컴퓨팅 디바이스(102)로부터 수신되는 동작(242)에서 시작된다. 전술된 바와 같이, 개시 요청은 다른 예들 중에서, 콘텐츠를 제공하는 것, 서버-측 처리, 및 오디오/비디오 화상회의를 포함하지만 이들로 한정되는 것은 아닌, 서비스가 CDN을 사용하는 다양한 컴퓨팅 기능성 중 임의의 기능성과 연관될 수 있다.
동작(244)에서, 사전-국지화 요청이 생성된다. 사전-국지화 요청은 사전-국지화 정보를 포함한다. 사전-국지화 정보는 동작(242)에서 수신된 개시 요청에 적어도 부분적으로 기반하여 생성된다. 전술된 바와 같이, 사전-국지화 정보는, IP 어드레스, 지리적 위치, 소프트웨어 및/또는 하드웨어 기능, 및/또는 디바이스 타입을 포함하지만 이들로 한정되는 것은 아닌, 클라이언트 컴퓨팅 디바이스에 대한 정보를 포함할 수 있다. 다른 예로서, 사전-국지화 정보는, 요청된 콘텐츠에 관한 정보, 연관된 컴퓨팅 기능성, 개시 요청이 연관되는 서비스의 표시, 요청의 URL, 및/또는 관련된 클라이언트 컴퓨팅 디바이스에 관한 정보를 포함하지만 이들로 한정되는 것은 아닌, 개시 요청에 관련된 정보를 포함할 수 있다.
흐름은 사전-국지화 요청이 사전-국지화 엔진, 예컨대 도 1의 사전-국지화 엔진(112)에 제공되는 동작(246)으로 진행한다. 예들에서, 사전-국지화 요청은 API를 사용하여 사전-국지화 엔진에 제공된다. 동작(248)에서, 사전-국지화된 호스트네임을 포함하는 사전-국지화 응답이 수신된다. 일부 예들에서, 동작(246 및 248)은 생략될 수 있고, 서비스는 그 대신에 본 명세서에서 설명된 바와 같이 사전-국지화 정보 및 에지 서버 정보에 기반하여 사전-국지화된 호스트네임을 생성할 수 있다.
동작(250)에서, 동작(242)에서 수신된 개시 요청에 대한 응답이 생성된다. 응답은 사전-국지화된 호스트네임의 표시를 포함함으로써, 클라이언트 컴퓨팅 디바이스를 CDN과 연관된 사전-국지화된 호스트네임으로 지향시킨다. 예를 들어, 응답은 사전-국지화된 호스트네임을 적어도 포함하는 콘텐츠에 액세스하기 위한 하나 이상의 호스트네임의 목록을 포함할 수 있음으로써, 클라이언트 컴퓨팅 디바이스의 미디어 플레이어가 사전-국지화된 호스트네임을 사용하여 콘텐츠에 액세스하게 할 수 있다. 흐름은 응답이 클라이언트 컴퓨팅 디바이스로 제공되는 동작(252)으로 진행한다. 방법(240)은 동작(252)에서 종결된다.
도 3a는 클라이언트 컴퓨팅 디바이스로부터의 개시 요청에 응답하여 호스트네임 사전-국지화를 수행하고, 상응하여 클라이언트 컴퓨팅 디바이스로부터의 콘텐츠 요청을 에지 서버에서 처리하기 위한 예시적인 방법(300)의 개관을 예시한다. 도 3a는 클라이언트 컴퓨팅 디바이스(302)(예를 들어, 도 1의 클라이언트 컴퓨팅 디바이스(102)), 서비스(304)(예를 들어, 서비스(104)), 사전-국지화 엔진(306)(예를 들어, 사전-국지화 엔진(112)), 및 에지 서버(308)(예를 들어, 에지 서버(118 또는 120))를 포함한다.
방법(300)은 콘텐츠에 대한 개시 요청이 클라이언트 컴퓨팅 디바이스(302)로부터 서비스(304)로 송신되는 동작(310)에서 시작한다. 개시 요청은, 서비스(304)가 CDN을 사용하는 컴퓨팅 기능성 또는 콘텐츠에 대한 요청일 수 있다(예를 들어, 이러한 기능성은 에지 서버(308)에 의해서 제공될 수 있음). 서비스(304)는 동작(312)에서 개시 요청을 수신한다. 따라서, 서비스(304)는 동작(314)에서 사전-국지화 요청을 생성하고, 이것이 동작(316)에서 사전-국지화 엔진(306)으로 제공된다. 본 명세서에서 설명된 바와 같이, 사전-국지화 요청은 개시 요청 및/또는 클라이언트 컴퓨팅 디바이스(302)에 관련된 사전-국지화 정보를 포함한다.
사전-국지화 엔진(306)은 동작(318)에서 사전-국지화 요청을 수신한다. 예들에서, 사전-국지화 요청은 API를 통하여 서비스(304)로부터 수신된다. 흐름은 사전-국지화 엔진(306)이 동작(318)에서 수신되었던 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 결정하는 동작(320)으로 진행한다. 동작(320)은 도 2a에 관하여 전술된 방법(200) 중 적어도 일부를 수행하는 것을 포함할 수 있다. 따라서, 결정된 사전-국지화된 호스트네임은 클라이언트 컴퓨팅 디바이스(302)에 의해 제공된 개시 요청과 연관된 컴퓨팅 기능성을 담당하는 에지 서버와 연관될 수 있다. 다른 예들에서는, 서비스(304)가 동작(316-324)에서 사전-국지화 엔진(306)과 통신하는 것이 아니라, 그 대신에 이러한 사전-국지화 양태가 서비스(304)에 의해서 수행될 수도 있다.
결정된 사전-국지화된 호스트네임은 동작(322)에서 서비스(304)로 제공되고, 동작(324)에서 서비스(304)에 의해서 수신된다. 따라서, 서비스(304)는 수신된 개시 요청에 대한 응답을 동작(326)에서 제공하고, 응답은 사전-국지화 엔진(306)으로부터 수신된 사전-국지화된 호스트네임을 포함한다. 따라서, 서비스(304)는 클라이언트 컴퓨팅 디바이스(302)를 사전-국지화 엔진(306)에 의해서 결정되었던 CDN과 연관된 사전-국지화된 호스트네임으로 지향시킨다.
클라이언트 컴퓨팅 디바이스(302)는 동작(328)에서 사전-국지화된 호스트네임을 포함하는 개시 요청에 대한 응답을 수신하고, 그 이후에 클라이언트 컴퓨팅 디바이스(302)는 동작(330)에서, 사전-국지화된 호스트네임에 의해 표시된 에지 서버(예를 들어, 에지 서버(308))로부터 콘텐츠를 요청한다. 예들에서, 동작(330)은 에지 서버(308)와 연관된 IP 어드레스를 획득하기 위하여, 사전-국지화된 호스트네임에 대한 DNS 분해 요청을 발행하는 것을 포함한다. 예를 들어, 클라이언트 컴퓨팅 디바이스(302)는 중간 DNS 서버(예를 들어, 도 1의 중간 DNS 서버(108)) 또는 권위 있는 DNS 서버(예를 들어, 권위 있는 DNS 서버(110))와 통신하여 사전-국지화된 호스트네임을 분해할 수 있다. 예들에서, 사전-국지화된 호스트네임은 DNS 분해의 일부로서 국지화되는데, 여기에서 근위 데이터 센터가 식별되고 사전-국지화된 호스트네임이 그 안의 에지 서버의 IP 어드레스로 분해된다. 다른 예들에서, 사전-국지화 응답은 에지 서버(308)에 대한 IP 어드레스를 포함한다.
에지 서버(308)는 콘텐츠에 대한 요청을 동작(332)에서 수신하고, 요청된 콘텐츠를 상응하도록 동작(334)에서 제공한다. 예들에서, 에지 서버(308)는 요청된 콘텐츠의 복제본을 가지는 반면에, 다른 예들에서는, 에지 서버(308)가 다른 예들 중에서, 요청된 콘텐츠에 다른 에지 서버로부터 또는 오리진 서버로부터 우선적으로 액세스할 수 있다. 클라이언트 컴퓨팅 디바이스(302)는 요청된 콘텐츠를 동작(336)에서 에지 서버(308)로부터 수신한다. 방법(300)이 클라이언트 컴퓨팅 디바이스(302)가 콘텐츠에 액세스하기 위해서 서비스(304)에 의하여 에지 서버(308)로 지향되는 예로서 설명되지만, 추가적이거나 대안적인 다양한 컴퓨팅 기능성 및 연관된 에지 서버 담당 중 임의의 것을 위해서 클라이언트 컴퓨팅 디바이스(302)를 에지 서버(308)로 지향시키기 위하여 유사한 기법이 사용될 수 있다는 것이 이해될 것이다. 방법(300)은 동작(336)에서 종결된다.
도 3b는 클라이언트 컴퓨팅 디바이스를 상이한 에지 서버로 지향시키기 위하여 호스트네임 사전-국지화를 에지 서버에서 수행하기 위한 예시적인 방법(350)의 개관을 예시한다. 도 3b는 도 3a에 관하여 앞서 논의된 요소를 포함하고, 따라서 반드시 상세히 재설명되는 것은 아니다. 도 3b는 CDN과 연관된 에지 서버(352 및 354)(예를 들어, 도 1의 에지 서버(118 또는 120))를 더 포함한다. 예들에서, 하나의 에지 서버가 클라이언트 컴퓨팅 디바이스로부터의 요청을 처리하는 데에 다른 에지 서버보다 더 적합할 수 있도록, 에지 서버(352 및 354) 각각은 CDN의 컴퓨팅 기능성을 담당한다. 일 예로서, 에지 서버(354)는 클라이언트 컴퓨팅 디바이스(302)에 의해 요청된 콘텐츠를 담당할 수 있는 반면에, 에지 서버(352)는 이러한 콘텐츠를 담당하지 않을 수 있다. 따라서, 에지 서버(352)를 사용하여 클라이언트 컴퓨팅 디바이스(302)로부터의 요청을 이행하면, 추가적인 계산 오버헤드가 초래되고, 따라서 CDN 내에 비효율을 초래할 수 있다. 따라서, 방법(350)은 클라이언트 컴퓨팅 디바이스(302)를 에지 서버(352) 대신에 에지 서버(354)로 지향시킨다.
방법(350)은 클라이언트 컴퓨팅 디바이스(302)가 에지 서버(352)로부터 콘텐츠 서버를 요청하는 동작(360)에서 시작한다. 예들에서, 콘텐츠 요청은, 클라이언트 컴퓨팅 디바이스(302)를 호스트네임을 사용하여 CDN에 지향시키는 서비스(예를 들어, 도 1의 서비스(104) 또는 도 3의 서비스(304))의 결과로서 생성된다(예를 들어, 클라이언트 컴퓨팅 디바이스(302)로부터의 개시 요청에 응답하여). 예들에서, 클라이언트 컴퓨팅 디바이스(302)가 에지 서버(352)와 연관된 IP 어드레스를 수신하고 후속하여 사용하도록, 호스트네임은 본 명세서에서 설명된 바와 같이 DNS 분해 프로세스의 일부로서 국지화될 수 있다.
콘텐츠 요청은 동작(362)에서 에지 서버(352)에 의해 수신되고, 동작(364)에서는 에지 서버(352)가 요청된 콘텐츠가 다른 에지 서버에 의해서 제공된다고 결정한다. 방법(350)이 에지 서버(352 및 354)가 콘텐츠를 제공하는 예로서 설명되는 반면에, 추가적이거나 대안적인 다양한 컴퓨팅 기능성 및 연관된 에지 서버 담당 중 임의의 것을 위해서 유사한 기법이 사용될 수 있다는 것이 이해될 것이다. 예들에서, 에지 서버(352)는 요청된 콘텐츠를 직접 획득하고 이것을 클라이언트에게 서비스하는 것이 아니라, 콘텐츠 요청을 상이한 에지 서버로 지향시켜야 한다고 결정한다. 따라서, 에지 서버(352)는 동작(366)에서 사전-국지화 요청을 생성하고, 이것이 동작(368)에서 사전-국지화 엔진(306)으로 제공된다. 본 명세서에서 설명된 바와 같이, 사전-국지화 요청은 콘텐츠 요청 및/또는 클라이언트 컴퓨팅 디바이스(302)에 관련된 사전-국지화 정보를 포함한다.
사전-국지화 엔진(306)은 동작(370)에서 사전-국지화 요청을 수신한다. 예들에서, 사전-국지화 요청은 API를 통하여 에지 서버(352)로부터 수신된다. 흐름은 사전-국지화 엔진(306)이 동작(370)에서 수신되었던 사전-국지화 정보에 기반하여 사전-국지화된 호스트네임을 결정하는(예를 들어, 에지 서버(354)에 대하여) 동작(372)으로 진행한다. 동작(372)은 도 2a에 관하여 전술된 방법(200) 중 적어도 일부를 수행하는 것을 포함할 수 있다. 따라서, 결정된 사전-국지화된 호스트네임은 클라이언트 컴퓨팅 디바이스(302)에 의해 제공된 콘텐츠 요청과 연관된 컴퓨팅 기능성을 담당하는 에지 서버와 연관될 수 있다. 다른 예들에서는, 에지 서버(352)가 동작(366-376)에서 사전-국지화 엔진(306)과 통신하는 것이 아니라, 그 대신에 이러한 사전-국지화 양태가 에지 서버(352)에 의해서 수행될 수도 있다.
결정된 사전-국지화된 호스트네임은 동작(374)에서 에지 서버(352)로 제공되고, 동작(376)에서 에지 서버(352)에 의해서 수신된다. 따라서, 에지 서버(352)는 동작(378)에서 클라이언트 컴퓨팅 디바이스(302)를 사전-국지화된 호스트네임을 사용하여 재지향시킨다. 예들에서, 재지향은 HTTP(302) 응답으로서 클라이언트 컴퓨팅 디바이스로 제공되고, 또는, 다른 예로서 응답은 클라이언트 컴퓨팅 디바이스(302)에 의해 실행될 때 클라이언트 컴퓨팅 디바이스(302)가 사전-국지화된 호스트네임으로 재지향되게 하는 명령을 포함한다. 다양한 재지향 기법들 중 임의의 기법이 사용될 수 있다는 것이 이해될 것이다.
클라이언트 컴퓨팅 디바이스(302)는 사전-국지화된 호스트네임을 포함하는 재지향 명령을 동작(380)에서 수신하고, 그 후에 클라이언트 컴퓨팅 디바이스(302)는 동작(382)에서 에지 서버(354)로부터 사전-국지화된 호스트네임을 사용하여 콘텐츠를 요청한다. 예들에서, 동작(382)은 에지 서버(354)와 연관된 IP 어드레스를 획득하기 위하여, 사전-국지화된 호스트네임에 대한 DNS 분해 요청을 발행하는 것을 포함한다. 예를 들어, 클라이언트 컴퓨팅 디바이스(302)는 중간 DNS 서버(예를 들어, 도 1의 중간 DNS 서버(108)) 또는 권위 있는 DNS 서버(예를 들어, 권위 있는 DNS 서버(110))와 통신하여 사전-국지화된 호스트네임을 분해할 수 있다. 다른 예들에서, 재지향 명령은 에지 서버(354)에 대한 IP 어드레스를 포함한다.
에지 서버(354)는 콘텐츠에 대한 요청을 동작(384)에서 수신하고, 요청된 콘텐츠를 상응하도록 동작(386)에서 제공한다. 예들에서, 에지 서버(354)는 요청된 콘텐츠의 복제본을 가지는 반면에, 다른 예들에서는, 에지 서버(354)가 다른 예들 중에서, 요청된 콘텐츠에 다른 에지 서버로부터 또는 오리진 서버로부터 우선적으로 액세스할 수 있다. 클라이언트 컴퓨팅 디바이스(302)는 요청된 콘텐츠를 동작(388)에서 에지 서버(354)로부터 수신하고, 그 후에 방법(350)은 끝난다.
도 4는 본 발명의 실시형태들 중 하나 이상이 구현될 수 있는 적절한 동작 환경(400)의 일 예를 예시한다. 이것은 적절한 동작 환경의 하나의 예일 뿐이고, 사용 범위 또는 기능성에 대해서 임의의 제한을 제안하려는 의도가 아니다. 사용하기에 적합할 수 있는 잘 알려진 다른 컴퓨팅 시스템, 환경, 및/또는 구성은, 개인용 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩탑 디바이스, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 스마트 폰과 같은 프로그래밍가능한 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 이러한 시스템 또는 디바이스 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 비한정적으로 포함한다.
그 가장 기본적인 구성에서, 동작 환경(400)은 통상적으로 적어도 하나의 처리 유닛(402) 및 메모리(404)를 포함할 수 있다. 정확한 구성 및 컴퓨팅 디바이스의 타입에 의존하여, 메모리(404)(무엇보다도, 본 명세서에서 개시된 시스템 및 방법들을 구현 또는 수행하기 위한 API, 프로그램 등 및/또는 다른 컴포넌트 또는 명령 등을 저장함)는 휘발성이거나(예컨대, RAM), 비-휘발성이거나(예컨대, ROM, 플래시 메모리 등), 또는 양자의 몇 가지 조합일 수 있다. 이러한 가장 기본적인 구성이 도 4에서 쇄선(406)으로 표시된다. 더 나아가, 환경(400)은 자기 디스크 또는 광학 디스크 또는 테이프를 비한정적으로 포함하는 저장 디바이스(착탈식(408), 및/또는 비-착탈식(410) 저장소)를 더 포함할 수 있다. 이와 유사하게, 환경(400)은 키보드, 마우스, 펜, 보이스 입력 등과 같은 입력 디바이스(들)(414) 및/또는 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(416)를 더 가질 수 있다. 환경 내에는 LAN, WAN, 포인트-투-포인트 등과 같은 하나 이상의 통신 연결(412)이 더 포함될 수 있다.
동작 환경(400)은 적어도 일부 형태의 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터 판독가능 매체는 처리 유닛(402) 또는 이러한 동작 환경을 포함하는 다른 디바이스에 의해서 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예를 들어, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 예시적인 컴퓨터 저장 매체는 정보의 저장을 위한 임의의 방법 또는 기술, 예컨대 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터로 구현된 휘발성 및 비휘발성, 착탈식 및 비-착탈식 매체를 포함할 수도 있다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크들(DVD) 또는 다른 광학 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 원하는 정보를 저장하기 위하여 사용될 수도 있는 임의의 다른 비일시적 매체를 포함할 수 있지만 이들로 한정되는 것은 아니다. 컴퓨터 저장 매체는 통신 매체를 포함하지 않을 수도 있다.
통신 매체는 컴퓨터 판독가능 명령, 데이터 구조들, 프로그램 모듈, 또는 다른 데이터를 반송파 또는 다른 전송 매커니즘과 같은 변조된 데이터 신호 내에 구현할 수 있고, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 이러한 신호 내에 정보를 인코딩하기 위하여 자신의 특성 중 하나 이상이 설정되거나 변경되게 하는 신호를 의미할 수 있다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 연결과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 미디어와 같은 무선 매체를 포함할 수 있다. 상기한 것들 중 임의의 것들의 조합들도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
동작 환경(400)은 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워킹된 환경에서 동작하는 단일 컴퓨터일 수 있다. 원격 컴퓨터는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 디바이스 또는 다른 공통 네트워크 노드일 수 있고, 전술된 요소 및 언급되지 않은 요소들 중 많은 것들 또는 전부를 통상적으로 포함한다. 논리적 연결은 이용가능한 통신 매체에 의해 지원되는 임의의 방법을 포함할 수 있다. 이러한 네트워킹 환경은 사무소, 기업 컴퓨터 네트워크, 인트라넷 및 인터넷에서는 흔한 것이다.
본 명세서에서 설명되는 상이한 양태들은 본 명세서에서 개시된 시스템 및 방법들을 구현하고 수행하기 위해서 구현 및 수행 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어의 조합을 사용하여 채용될 수 있다. 비록 명세서 전체에서 특정한 디바이스가 특정한 기능을 수행하는 것으로 언급되었지만, 당업자는 이러한 디바이스가 예를 들기 위해서 제공된 것이고, 본 발명의 범위에서 벗어나지 않으면서 본 명세서에서 개시된 기능성을 수행하기 위해서 다른 디바이스들이 채용될 수 있다는 것을 인정할 것이다.
진술된 바와 같이, 여러 프로그램 모듈 및 데이터 파일이 시스템 메모리(404) 내에 저장될 수 있다. 처리 유닛(402)에서 실행될 때, 프로그램 모듈(예를 들어, 애플리케이션, 입력/출력(I/O) 관리, 및 다른 유틸리티)은, 예를 들어 도 2a 내지 도 2c 및 도 3a 및 도 3b에 예시된 방법과 같이 본 명세서에서 설명된 동작 방법들의 스테이지 중 하나 이상을 비한정적으로 포함하는 프로세스를 수행할 수 있다.
더욱이, 본 발명의 예는 이산 전자 소자, 로직 게이트를 포함하는 패키징되거나 집적된 전자 칩, 마이크로프로세서를 활용하는 회로를 포함하는 전기 회로 내에서, 또는 전자 소자 또는 마이크로프로세서를 포함하는 단일 칩에서 실시될 수 있다. 예를 들어, 본 발명의 예는 도 4에 예시된 컴포넌트들의 각각 또는 많은 것들이 단일 집적 회로 상에 통합될 수 있는 시스템-온-칩(SOC)을 통해서 실시될 수 있다. 이러한 SOC 디바이스는 하나 이상의 처리 유닛, 그래픽 유닛, 통신 유닛, 시스템 가상화 유닛 및 다양한 애플리케이션 기능성을 포함할 수 있고, 이들 모두는 단일 집적 회로로서 칩 기판 상에 집적된다(또는 "새겨진다(burned)"). SOC를 통해서 동작할 때에, 본 명세서에서 설명된 기능성은 동작 환경(400)의 다른 컴포넌트와 함께 단일 집적 회로(칩) 상에 집적된 애플리케이션-특이적 로직을 통해서 작동될 수 있다. 또한, 본 발명의 예는, 예를 들어 기계적 기술, 광학적 기술, 유체역학 기술, 및 양자 기술을 비한정적으로 포함하는 AND, OR, 및 NOT과 같은 논리 연산을 수행할 수 있는 다른 기술을 사용하여 실시될 수 있다. 또한, 본 발명의 예들은 범용 컴퓨터 내에서 또는 임의의 다른 회로 또는 시스템 내에서 실시될 수도 있다.
본 명세서는 첨부 도면을 참조하여 본 발명의 기술의 일부 양태를 설명했는데, 도면에서는 가능한 실시형태 중 일부만이 도시되었다. 그러나, 당업자들이 이해할 수 있는 바와 같이, 다른 양태들이 서로 다른 많은 형태로 구현될 수도 있고 본 명세서에서 진술되는 실시예로만 한정되는 것으로 해석되어서는 안 된다. 오히려, 이러한 양태들은 본 명세서가 철저하고 완전해지며, 가능한 실시형태들의 범위를 당업자들에게 완전하게 제공하도록 제공되었다.
비록 본 명세서에서는 특정한 양태들이 설명되었지만, 기술 범위는 그러한 특정 실시형태들로 한정되지 않는다. 당업자는 본 발명의 기술의 범위와 사상 내에 속하는 다른 실시형태 또는 개선시항들을 인식할 것이다. 그러므로, 특정한 구조, 동작, 또는 매체는 예시적인 실시형태로서만 개시된다. 기술 범위는 후속하는 청구항 및 그 속의 임의의 균등물에 의해서 정의된다.

Claims (20)

  1. 시스템으로서,
    적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 동작하도록 연결되고, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 시스템이 동작들의 세트를 수행하게 하는 명령을 저장하는 메모리를 포함하고
    상기 동작들의 세트는,
    콘텐츠 전송 네트워크(content distribution network; CDN)에서, 상기 CDN과 별개이고 상기 CDN을 사용하여 서비스에 의해 제공된 콘텐츠를 전송하는 상기 서비스로부터 사전-국지화 요청(pre-localization request)을 수신하는 것 - 상기 사전-국지화 요청은 사전-국지화 정보를 포함하고, 상기 사전-국지화 정보는 상기 CDN에 의해 저장된 특정 콘텐츠의 표시를 포함함 -;
    상기 사전-국지화 정보에 기반하여, 상기 특정 콘텐츠를 담당하는 상기 CDN의 에지 서버와 연관된 사전-국지화된 호스트네임을 생성하는 것;
    상기 사전-국지화 요청에 응답하여, 상기 CDN의 에지 서버에 대한 사전-국지화된 호스트네임을 제공하는 것;
    클라이언트 컴퓨팅 디바이스로부터, 상기 콘텐츠에 대한 요청을 상기 CDN의 에지 서버에서 수신하는 것; 및
    상기 콘텐츠를 상기 클라이언트 컴퓨팅 디바이스에 제공하는 것
    을 포함하는, 시스템.
  2. 제 1 항에 있어서,
    상기 사전-국지화 정보는 상기 클라이언트 컴퓨팅 디바이스에 대한 지리적 위치의 표시를 더 포함하고,
    상기 사전-국지화된 호스트네임을 생성하는 것은, 상기 에지 서버와 연관된 데이터 센터를 상기 지리적 위치에 기반하여 식별하는 것을 포함하는, 시스템.
  3. 제 1 항에 있어서,
    상기 사전-국지화된 호스트네임을 생성하는 것은,
    상기 특정 콘텐츠를 담당하는 에지 서버를 식별하도록, 상기 CDN과 연관된 에지 서버들의 세트를 평가하는 것; 및
    식별된 에지 서버를 표시하는 사전-국지화된 호스트네임을 생성하는 것을 포함하는, 시스템.
  4. 제 1 항에 있어서,
    상기 사전-국지화된 호스트네임을 생성하는 것은,
    상기 특정 콘텐츠에 기반하여 해시(hash)를 생성하는 것; 및
    해싱 알고리즘(hasing algorithm)에 따라서 상기 에지 서버를 식별하는 것을 포함하는, 시스템.
  5. 제 1 항에 있어서,
    상기 사전-국지화된 호스트네임은 적어도 제 1 데이터 센터의 상기 에지 서버 및 제 2 데이터 센터의 제 2 에지 서버와 연관된, 시스템.
  6. 제 1 항에 있어서,
    상기 특정 콘텐츠는 비디오 콘텐츠를 포함하고,
    상기 서비스는 재생을 위한 비디오 콘텐츠를 나열하는 웹사이트를 포함하는, 시스템.
  7. 제 1 항에 있어서,
    상기 사전-국지화 정보는,
    상기 클라이언트 컴퓨팅 디바이스의 IP 어드레스;
    상기 클라이언트 컴퓨팅 디바이스의 지리적 위치;
    상기 클라이언트 컴퓨팅 디바이스의 하나 이상의 소프트웨어;
    상기 클라이언트 컴퓨팅 디바이스의 하나 이상의 하드웨어 기능;
    클라이언트 컴퓨팅 디바이스 타입; 또는
    개시 요청에 관련된 정보
    중 적어도 하나를 더 포함하는, 시스템.
  8. 클라이언트 컴퓨팅 디바이스를 사전-국지화된 호스트네임을 사용하여 콘텐츠 전송 네트워크(CDN)로 지향시키기 위한 방법으로서,
    서비스에서 그리고 상기 클라이언트 컴퓨팅 디바이스로부터, 상기 서비스에 대하여 CDN에 의해 제공된 컴퓨팅 기능성에 관련된 개시 요청을 수신하는 단계 - 상기 서비스는 상기 CDN과 별개임 -;
    상기 개시 요청 및 상기 클라이언트 컴퓨팅 디바이스에 대한 정보에 적어도 부분적으로 기반하여 사전-국지화 정보를 생성하는 단계;
    상기 사전-국지화 정보에 기반하여, 상기 CDN의 특정 에지 서버와 연관된 사전-국지화된 호스트네임을 결정하는 단계 - 상기 CDN은 복수 개의 에지 서버를 포함하고, 상기 특정 에지 서버는 상기 컴퓨팅 기능성을 담당함 -; 및
    상기 서비스에 의하여 상기 클라이언트 컴퓨팅 디바이스로, 상기 사전-국지화된 호스트네임을 포함하는, 상기 개시 요청에 대한 응답을 전송하여, 상기 클라이언트 컴퓨팅 디바이스를 상기 CDN의 특정 에지 서버로 지향시키는 단계
    를 포함하는, 방법.
  9. 제 8 항에 있어서,
    상기 사전-국지화된 호스트네임을 결정하는 단계는,
    상기 사전-국지화 정보를 포함하는 사전-국지화 요청을 생성하는 것;
    상기 사전-국지화 요청을 상기 CDN의 사전-국지화 엔진에 제공하는 것; 및
    상기 사전-국지화 요청에 응답하여, 상기 사전-국지화된 호스트네임을 포함하는 응답을 수신하는 것
    을 포함하는, 방법.
  10. 제 8 항에 있어서,
    상기 사전-국지화된 호스트네임을 결정하는 단계는,
    상기 컴퓨팅 기능성을 담당하는 특정 에지 서버를 식별하도록, 상기 CDN과 연관된 에지 서버들의 세트를 평가하는 것을 포함하는, 방법.
  11. 제 8 항에 있어서,
    상기 사전-국지화된 호스트네임은 적어도 제 1 데이터 센터의 상기 특정 에지 서버 및 제 2 데이터 센터의 제 2 에지 서버와 연관된, 방법.
  12. 제 8 항에 있어서,
    상기 사전-국지화 정보는,
    상기 컴퓨팅 기능성의 표시;
    상기 클라이언트 컴퓨팅 디바이스의 IP 어드레스;
    상기 클라이언트 컴퓨팅 디바이스의 지리적 위치;
    상기 클라이언트 컴퓨팅 디바이스의 하나 이상의 소프트웨어;
    상기 클라이언트 컴퓨팅 디바이스의 하나 이상의 하드웨어 기능;
    클라이언트 컴퓨팅 디바이스 타입; 또는
    상기 개시 요청에 관련된 정보
    중 적어도 하나를 더 포함하는, 방법.
  13. 제 8 항에 있어서,
    상기 개시 요청은 상기 클라이언트 컴퓨팅 디바이스에 대한 정보를 포함하는, 방법.
  14. 사전-국지화된 호스트네임을 생성하기 위한 방법으로서,
    사전-국지화 정보를 포함하는 사전-국지화 요청을 수신하는 단계 - 상기 사전-국지화 정보는 콘텐츠 전송 네트워크(CDN)와 연관된 컴퓨팅 기능성의 표시를 포함함 -;
    상기 사전-국지화 정보에 기반하여, 상기 컴퓨팅 기능성을 담당하는, 상기 CDN의 에지 서버와 연관된 사전-국지화된 호스트네임을 생성하는 단계; 및
    클라이언트 컴퓨팅 디바이스를 상기 CDN의 에지 서버로 지향시키도록, 상기 사전-국지화 요청에 응답하여, 상기 사전-국지화된 호스트네임을 제공하는 단계를 포함하는, 방법.
  15. 제 14 항에 있어서,
    상기 사전-국지화 정보는 상기 클라이언트 컴퓨팅 디바이스에 대한 지리적 위치의 표시를 더 포함하고,
    상기 사전-국지화된 호스트네임을 생성하는 단계는, 상기 에지 서버와 연관된 데이터 센터를 상기 지리적 위치에 기반하여 식별하는 것을 포함하는, 방법.
  16. 제 14 항에 있어서,
    상기 사전-국지화된 호스트네임을 생성하는 단계는,
    상기 컴퓨팅 기능성을 담당하는 에지 서버를 식별하도록, 상기 CDN과 연관된 에지 서버들의 세트를 평가하는 것; 및
    식별된 에지 서버를 표시하는 사전-국지화된 호스트네임을 생성하는 것을 포함하는, 방법.
  17. 제 14 항에 있어서,
    상기 사전-국지화된 호스트네임을 생성하는 단계는,
    표시된 컴퓨팅 기능성에 기반하여 해시를 생성하는 것; 및
    해싱 알고리즘에 따라서 상기 에지 서버를 식별하는 것을 포함하는, 방법.
  18. 제 14 항에 있어서,
    상기 사전-국지화된 호스트네임은 적어도 제 1 데이터 센터의 상기 에지 서버 및 제 2 데이터 센터의 제 2 에지 서버와 연관된, 방법.
  19. 제 14 항에 있어서,
    상기 사전-국지화 요청은 상기 CDN과 연관된 서비스로부터 수신되고,
    상기 사전-국지화 정보는 상기 클라이언트 컴퓨팅 디바이스의 개시 요청에 관련된 정보를 더 포함하는, 방법.
  20. 제 14 항에 있어서,
    상기 사전-국지화 정보는,
    상기 클라이언트 컴퓨팅 디바이스의 IP 어드레스;
    상기 클라이언트 컴퓨팅 디바이스의 지리적 위치;
    상기 클라이언트 컴퓨팅 디바이스의 하나 이상의 소프트웨어;
    상기 클라이언트 컴퓨팅 디바이스의 하나 이상의 하드웨어 기능;
    클라이언트 컴퓨팅 디바이스 타입; 또는
    개시 요청에 관련된 정보
    중 적어도 하나를 더 포함하는, 방법.
KR1020227034360A 2020-03-04 2021-02-17 호스트네임 사전-국지화 KR20220148898A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062985050P 2020-03-04 2020-03-04
US62/985,050 2020-03-04
US17/131,852 US11902241B2 (en) 2020-03-04 2020-12-23 Hostname pre-localization
US17/131,852 2020-12-23
PCT/US2021/018385 WO2021178136A1 (en) 2020-03-04 2021-02-17 Hostname pre-localization

Publications (1)

Publication Number Publication Date
KR20220148898A true KR20220148898A (ko) 2022-11-07

Family

ID=77556380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227034360A KR20220148898A (ko) 2020-03-04 2021-02-17 호스트네임 사전-국지화

Country Status (8)

Country Link
US (2) US11902241B2 (ko)
EP (1) EP4115580B1 (ko)
JP (1) JP2023516565A (ko)
KR (1) KR20220148898A (ko)
AU (1) AU2021231673A1 (ko)
CA (1) CA3168502A1 (ko)
PL (1) PL4115580T3 (ko)
WO (1) WO2021178136A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11470154B1 (en) * 2021-07-29 2022-10-11 At&T Intellectual Property I, L.P. Apparatuses and methods for reducing latency in a conveyance of data in networks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10541973B2 (en) * 1998-02-23 2020-01-21 Transperfect Global, Inc. Service of cached translated content in a requested language
EP2920937B1 (en) 2012-11-13 2018-04-11 Telefonaktiebolaget LM Ericsson (publ) Service node selection in a communications network based on application server information
US9628345B2 (en) * 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with collector services network
US20150046591A1 (en) 2013-08-09 2015-02-12 Zhongwen Zhu Dynamic edge server allocation
US8819187B1 (en) 2013-10-29 2014-08-26 Limelight Networks, Inc. End-to-end acceleration of dynamic content
US10735528B1 (en) * 2015-12-14 2020-08-04 Amazon Technologies, Inc. Geographic relocation of content source in a content delivery network

Also Published As

Publication number Publication date
WO2021178136A1 (en) 2021-09-10
US20210281542A1 (en) 2021-09-09
EP4115580B1 (en) 2023-12-27
PL4115580T3 (pl) 2024-04-22
CA3168502A1 (en) 2021-09-10
EP4115580A1 (en) 2023-01-11
AU2021231673A1 (en) 2022-09-22
US20240179116A1 (en) 2024-05-30
JP2023516565A (ja) 2023-04-20
US11902241B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
US11115500B2 (en) Request routing utilizing client location information
US10574787B2 (en) Translation of resource identifiers using popularity information upon client request
US10601767B2 (en) DNS query processing based on application information
US9549038B1 (en) Cacheable resource location selection
US20230128125A1 (en) Systems and methods for processing requests for content of a content distribution network
US11805093B2 (en) Systems and methods for processing requests for content of a content distribution network
US9912776B2 (en) Explicit content deletion commands in a content centric network
US10075553B1 (en) Systems and methods for automatically rewriting network page code
US20240179116A1 (en) Hostname pre-localization
JP2016005271A (ja) コンテンツ中心ネットワークにおけるインタレストによる消費者状態の割り当て