KR102440108B1 - Method and system for determining shortest edge server - Google Patents

Method and system for determining shortest edge server Download PDF

Info

Publication number
KR102440108B1
KR102440108B1 KR1020210167916A KR20210167916A KR102440108B1 KR 102440108 B1 KR102440108 B1 KR 102440108B1 KR 1020210167916 A KR1020210167916 A KR 1020210167916A KR 20210167916 A KR20210167916 A KR 20210167916A KR 102440108 B1 KR102440108 B1 KR 102440108B1
Authority
KR
South Korea
Prior art keywords
client
edge server
ttl value
server
shortest
Prior art date
Application number
KR1020210167916A
Other languages
Korean (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 KR1020210167916A priority Critical patent/KR102440108B1/en
Application granted granted Critical
Publication of KR102440108B1 publication Critical patent/KR102440108B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

The present invention relates to a method for determining a shortest edge server for one of a plurality of clients in a CDN including an original server, a plurality of edge servers, and the clients. The method of the present invention comprises the steps of: requesting a list of a plurality of edge servers to an original server; transmitting first data including a first TTL value to each of the edge servers on the basis of the list of the edge servers; receiving second data including a second TTL value associated with the first TTL value from each of the edge servers; and determining a shortest edge server of one client on the basis of the difference between the first and second TTL values. Therefore, more efficient traffic processing (distribution) can be performed.

Description

최단 에지 서버 결정 방법 및 시스템{METHOD AND SYSTEM FOR DETERMINING SHORTEST EDGE SERVER}METHOD AND SYSTEM FOR DETERMINING SHORTEST EDGE SERVER

본 발명은 CDN (Content Delivery Network) 에서 복수의 클라이언트에 대한 최단 에지 서버를 결정하기 위한 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for determining the shortest edge server for a plurality of clients in a content delivery network (CDN).

콘텐츠 제공자가 클라이언트의 콘텐츠 제공 요청에 응답하여 인터넷 상에서 콘텐츠를 제공할 때, 일반적으로 클라이언트는 다수일 뿐만 아니라 요청 횟수도 다수이거나 지속적인 경우가 대부분이다. 또한, 통신기술의 발전에 따라, 클라이언트가 요청하는 콘텐츠의 용량이 더 높아졌고, 이에 따라 콘텐츠 전송에 더 높은 전송품질이 요구된다.When a content provider provides content on the Internet in response to a content provision request from a client, in general, the number of clients as well as the number of requests is large or continuous in most cases. In addition, with the development of communication technology, the capacity of the content requested by the client has increased, and accordingly, a higher transmission quality is required for content transmission.

CDN (Content Delivery Network) 은 지역적으로 분산된 에지 서버들의 네트워크이다. CDN에서는 클라이언트의 콘텐츠 제공 요청에 응답하여 해당 콘텐츠의 원본을 보유하는 원본 서버가 아니라, 지역적으로 분산된 에지 서버들이 콘텐츠를 제공하도록 구성된다. 이에 따라, 원본 서버에 대한 트래픽을 에지 서버들이 원본 서버에 요청하지 않고 처리함으로써, 원본 서버에 대한 트래픽 스파이크 (traffic spikes) 문제를 해결하고 트래픽이 분산된 결과 더 높은 전송품질이 달성된다. A CDN (Content Delivery Network) is a network of geographically distributed edge servers. In a CDN, in response to a client's request for content provision, geographically distributed edge servers are configured to provide content, rather than an origin server that holds the original content of the content. Accordingly, the edge servers process traffic to the origin server without requesting the origin server, thereby solving the problem of traffic spikes to the origin server and achieving higher transmission quality as a result of traffic distribution.

종래 방식의 CDN에서는 클라이언트가 지역적으로 가까운 에지 서버로부터 콘텐츠를 제공는데, 지역적으로 가까운 에지 서버의 결정은 BGP (Border Gateway Protocol) 를 이용하여 결정된다. BGP는 라우터에 의해 인터넷 상에서 AS (Autonomous System) 들 사이의 라우팅 및 도달가능성 정보를 교환하여, 클라이언트와 지역적으로 가까운 에지 서버를 결정하는 라우팅 프로토콜이다.In the conventional CDN, a client provides content from a geographically nearby edge server, and the geographically nearby edge server is determined using a Border Gateway Protocol (BGP). BGP is a routing protocol that determines an edge server that is geographically close to a client by exchanging routing and reachability information between Autonomous Systems (AS) on the Internet by a router.

이에 따라, BGP를 이용하는 종래 방식의 CDN을 구축하기 위해서는 라우터 (router) 등 전체 네트워크 장비의 교체나 재설정 (예를 들어, 라우팅 프로토콜 재설정, 라우팅 테이블 재지정 등) 이 필요합니다. 결국, 종래 방식의 CDN을 구축하기 위해서는, 클라이언트와 무관하게, 네트워크 인프라의 구축 또는 변경이 필수적이다.Accordingly, in order to build a conventional CDN using BGP, it is necessary to replace or reconfigure the entire network equipment such as a router (eg, reconfigure routing protocols, reassign routing tables, etc.). After all, in order to build a conventional CDN, it is essential to build or change a network infrastructure regardless of a client.

종래 방식의 CDN을 구축하기 위한 네트워크 인프라의 구축 또는 변경은 대규모 네트워크 장비의 교체나 재설정 또는 재설정에 따른 긴 장애시간 등으로, 시간이나 비용이 많이 든다. 또한, 종래 방식의 CDN의 구축을 고려하지 않고, 인트라넷과 같은 네트워크 인프라가 설계된 경우, 종래의 CDN을 구축하기 위한 네트워크 인프라의 구축 또는 변경이 사실상 매우 어렵다.Construction or change of a network infrastructure for building a conventional CDN is time-consuming or costly due to a long downtime due to replacement, reconfiguration, or reconfiguration of large-scale network equipment. In addition, when a network infrastructure such as an intranet is designed without considering the construction of the conventional CDN, it is actually very difficult to build or change the network infrastructure for building the conventional CDN.

본 발명의 발명자들은 네트워크 인프라의 구축 또는 변경에 대한 위와 같은 문제점을 인지하였다.The inventors of the present invention have recognized the above problems with respect to the construction or change of the network infrastructure.

이에, 본 발명에서 해결하고자 하는 과제는 네트워크 인프라의 구축 또는 변경 없이도, 어플리케이션 레벨에서 논리적으로 가장 가까운 최단 에지 서버를 찾아, 콘텐츠를 제공받을 수 있는 방법 및 시스템을 제공하고자 한다.Accordingly, an object to be solved in the present invention is to provide a method and system capable of receiving content by finding the logically closest and logically closest edge server at the application level without building or changing a network infrastructure.

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems of the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 원본 서버, 복수의 에지 서버들, 및 복수의 클라이언트들을 포함하는 CDN에서, 복수의 클라이언트 중 일 클라이언트에 대한 최단 에지 서버를 결정하는 방법이 제공된다. 상기 방법은 복수의 에지 서버들의 목록에 대한 요청을 원본 서버에 송신하는 단계; 복수의 에지 서버들의 목록에 기초하여, 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신하는 단계; 복수의 에지 서버들 각각으로부터 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 수신하는 단계; 제 1 TTL 값과 제 2 TTL 값의 차이에 기초하여,일 클라이언트의 최단 에지 서버를 결정하는 단계를 포함하도록 구성된다. In a CDN including an origin server, a plurality of edge servers, and a plurality of clients according to an embodiment of the present invention in order to solve the above problems, determining the shortest edge server for one of the plurality of clients A method is provided. The method includes sending a request for a list of a plurality of edge servers to an origin server; transmitting, based on the list of the plurality of edge servers, first data including a first TTL value to each of the plurality of edge servers; receiving second data including a second TTL value associated with the first TTL value from each of the plurality of edge servers; and determining, based on the difference between the first TTL value and the second TTL value, the shortest edge server of the one client.

본 발명의 특징에 따르면, 제 1 TTL 값과 제 2 TTL 값의 차이는, 일 클라이언트와 복수의 에지 서버들 각각 사이의 라우터들의 개수를 지시하는 논리적 거리 값일 수 있다.According to a feature of the present invention, the difference between the first TTL value and the second TTL value may be a logical distance value indicating the number of routers between one client and each of the plurality of edge servers.

본 발명의 다른 특징에 따르면, 일 클라이언트의 최단 에지 서버를 결정하는 단계는 라우터들의 라우팅 프로토콜 (routing protocol) 을 이용하지 않고 수행될 수 있다.According to another feature of the present invention, the step of determining the shortest edge server of one client may be performed without using a routing protocol of routers.

본 발명의 또 특징에 따르면, 일 클라이언트의 최단 에지 서버를 결정하는 단계는, 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버를 최단 에지 서버로 결정하는 단계를 포함할 수 있다.According to another aspect of the present invention, the determining of the shortest edge server of one client may include determining an edge server having the smallest difference between the first TTL value and the second TTL value as the shortest edge server.

본 발명의 또 특징에 따르면, 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버의 개수가 2 개 이상인 경우, 일 클라이언트의 최단 에지 서버를 결정하는 단계는, 복수의 클라이언트 중 다른 클라이언트의 최단 에지 서버에 대한 데이터를 요청하는 단계; 및 다른 클라이언트의 최단 에지 서버에 대한 데이터에 기초하여, 특정 클라이언트의 최단 에지 서버를 결정하는 단계를 포함할 수 있다.According to another feature of the present invention, when the number of edge servers having the smallest difference between the first TTL value and the second TTL value is two or more, the step of determining the shortest edge server of one client includes: another client among the plurality of clients requesting data for the shortest edge server of ; and determining the shortest edge server of the specific client based on the data on the shortest edge server of the other client.

본 발명의 또 특징에 따르면, 다른 클라이언트의 최단 에지 서버는 다른 클라이언트에 마지막으로 연결되었던 에지 서버 또는 다른 클라이언트의 최단 에지 서버에 대한 데이터를 요청 시 상기 다른 클라이언트에 연결된 에지 서버일 수 있다.According to another feature of the present invention, the shortest edge server of the other client may be an edge server that was last connected to the other client or an edge server connected to the other client when requesting data for the shortest edge server of the other client.

본 발명의 또 특징에 따르면, 원본 서버는 2 이상의 지사들에 연결된 본사 서버이고, 복수의 클라이언트들은 적어도 2 이상의 인트라넷들 내의 클라이언트들이고, 2 이상의 인트라넷들은 2 이상의 지사들 각각에 대응할 수 있다.According to another feature of the present invention, the origin server may be a head office server connected to two or more branch offices, the plurality of clients may be clients in at least two or more intranets, and the two or more intranets may correspond to each of the two or more branch offices.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 최단 에지 서버를 결정하기 위한 클라이언트가 제공된다. 상기 클라이언트는 복수의 에지 서버들과 통신하도록 구성된 통신부; 상기 복수의 에지 서버들의 목록을 저장하도록 구성된 저장부; 및 상기 통신부와 상기 저장부와 동작가능하게 연결된 제어부를 포함하고, 상기 제어부는 상기 복수의 에지 서버들의 목록에 대한 요청을 원본 서버에 송신하도록 구성되고, 상기 복수의 에지 서버들의 목록에 기초하여, 상기 통신부를 통해, 상기 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신하도록 구성되고, 상기 복수의 에지 서버들 각각으로부터 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 수신하도록 구성되고, 그리고 상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이에 기초하여, 상기 일 클라이언트의 최단 에지 서버를 결정하도록 구성된다.In order to solve the above problems, a client for determining the shortest edge server according to another embodiment of the present invention is provided. The client includes: a communication unit configured to communicate with a plurality of edge servers; a storage configured to store a list of the plurality of edge servers; and a control unit operatively connected to the communication unit and the storage unit, wherein the control unit is configured to send a request for a list of the plurality of edge servers to an origin server, based on the list of the plurality of edge servers, configured to transmit, via the communication unit, first data including a first TTL value to each of the plurality of edge servers, and including a second TTL value associated with the first TTL value from each of the plurality of edge servers and receive second data, and determine, based on a difference between the first TTL value and the second TTL value, a shortest edge server of the one client.

기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명은, 네트워크 인프라의 구축 또는 변경 없이도, 클라이언트에 의해 최단 에지 서버를 결정할 수 있다.The present invention can determine the shortest edge server by the client without building or changing the network infrastructure.

나아가, 본 발명은 네트워크 인프라의 구축 또는 변경 없이도, 주어진 CDN 자원 하에서, 보다 효율적인 트래픽 처리(분산)가 가능하다.Furthermore, according to the present invention, more efficient traffic processing (distribution) is possible under a given CDN resource without building or changing network infrastructure.

또한, 본 발명은 네트워크 인프라의 구축 또는 변경이 어려운 인트라넷 환경에서, 클라이언트에 의해 최단 에지 서버를 결정할 수 있다.In addition, the present invention can determine the shortest edge server by the client in an intranet environment where it is difficult to build or change the network infrastructure.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.The effect according to the present invention is not limited by the contents exemplified above, and more various effects are included in the present invention.

도 1은 본 발명의 실시예에 따른 최단 에지 서버 결정 시스템의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트의 구성을 나타낸 블록도이다.
도 3 본 발명의 일 실시예에 따른 최단 에지 서버 결정 방법을 개략적으로 나타낸 순서도이다.
도 4는 본 발명의 일 실시예에 따른 최단 에지 서버 결정 방법에서 클라이언트와 에지 서버 사이의 통신에서 TTL 값을 포함하는 데이터의 송수신을 설명하기 위한 개략도이다.
도 5는 본 발명의 다른 실시예에 따른 최단 에지 서버 결정 방법을 설명하기 위한 개략도이다.
도 6는 본 발명의 또 다른 실시예에 따른 인트라넷 환경에서 최단 에지 서버 결정 방법을 설명하기 위한 개략도이다.
1 is a schematic diagram of a system for determining the shortest edge server according to an embodiment of the present invention;
2 is a block diagram showing the configuration of a client according to an embodiment of the present invention.
3 is a flowchart schematically illustrating a method for determining a shortest edge server according to an embodiment of the present invention.
4 is a schematic diagram illustrating transmission and reception of data including a TTL value in communication between a client and an edge server in a method for determining a shortest edge server according to an embodiment of the present invention.
5 is a schematic diagram illustrating a method for determining a shortest edge server according to another embodiment of the present invention.
6 is a schematic diagram illustrating a method for determining a shortest edge server in an intranet environment according to another embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be embodied in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. In connection with the description of the drawings, like reference numerals may be used for like components.

본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. In this document, expressions such as "has," "may have," "includes," or "may include" refer to the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.

본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다. In this document, expressions such as "A or B," "at least one of A or/and B," or "one or more of A or/and B" may include all possible combinations of the items listed together. . For example, "A or B," "at least one of A and B," or "at least one of A or B" means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.

본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다. As used herein, expressions such as "first," "second," "first," or "second," may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components. For example, the first user equipment and the second user equipment may represent different user equipment regardless of order or importance. For example, without departing from the scope of the rights described in this document, the first component may be named as the second component, and similarly, the second component may also be renamed as the first component.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it should be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.

본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~ 를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된)프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.As used herein, the expression "configured to (or configured to)" depends on the context, for example, "suitable for," "having the capacity to ," "designed to," "adapted to," "made to," or "capable of." The term “configured (or configured to)” may not necessarily mean only “specifically designed to” hardware. Instead, in some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase "a processor configured (or configured to perform) A, B, and C" refers to a dedicated processor (eg, an embedded processor) for performing the operations, or by executing one or more software programs stored in a memory device. , may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.

본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.Terms used in this document are only used to describe specific embodiments, and may not be intended to limit the scope of other embodiments. The singular expression may include the plural expression unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meanings as commonly understood by one of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted with the same or similar meaning to the meaning in the context of the related art, and unless explicitly defined in this document, ideal or excessively formal meanings is not interpreted as In some cases, even terms defined in this document cannot be construed to exclude embodiments of the present document.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each feature of the various embodiments of the present invention may be partially or wholly combined or combined with each other, and as those skilled in the art will fully understand, technically various interlocking and driving are possible, and each embodiment may be independently implemented with respect to each other. It may be possible to implement together in a related relationship.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세하게 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 CDN에서 최단 에지 서버 결정 시스템의 개략도이다. 1 is a schematic diagram of a system for determining the shortest edge server in a CDN according to an embodiment of the present invention;

도 1을 참조하면, CDN에서 최단 에지 서버 결정 시스템은 원본 서버 (origin server) (100), 클라이언트 (200), 및 에지 서버(300)를 포함한다. Referring to FIG. 1 , the system for determining the shortest edge server in the CDN includes an origin server 100 , a client 200 , and an edge server 300 .

원본 서버(100)는 CDN에서 콘텐츠의 원본을 보유하도록 구성된 서버이다. 본 발명에서 콘텐츠 (contents) 는 제한되지 않고 인터넷 상에서 서버를 통해 다운받을 수 있는 이미지, 동영상, 음악, 문서, 웹 페이지 등의 데이터를 포함한다. 에지 서버(300)는 원본 서버(100)로부터 제공 받은 콘텐츠의 일부 또는 전부를 저장 (storing) 및/또는 캐싱 (caching) 하도록 구성된 서버이다. 에지 서버(300)는 CDN 서버, 복제 서버, 캐싱 서버 등으로도 지칭되기도 한다. 클라이언트(200)는 제한되지 않고 콘텐츠의 제공을 요청하는 사용자 디바이스를 의미한다. 클라이언트(200)는, 예를 들어 범용 컴퓨터, 랩탑, 서버, 네트워크 연결형 저장소, 테블릿 디바이스, 스마트폰 등을 포함할 수 있다.The origin server 100 is a server configured to hold the original content of the CDN. In the present invention, the content (contents) is not limited and includes data such as images, videos, music, documents, and web pages that can be downloaded through a server on the Internet. The edge server 300 is a server configured to store and/or cache some or all of the content provided from the original server 100 . The edge server 300 is also referred to as a CDN server, a replication server, a caching server, or the like. The client 200 is not limited and refers to a user device requesting the provision of content. The client 200 may include, for example, a general purpose computer, a laptop, a server, a network-attached storage, a tablet device, a smartphone, and the like.

클라이언트(200)는 원본 서버(100)에 콘텐츠의 요청하지만, 원본 서버(100)로부터 직접 콘텐츠를 제공받는 것이 아니라 에지 서버(300)로부터 해당 콘텐츠를 제공받는다. 에지 서버(300)는 일반적으로 클라이언트(200)와, 원본 서버(100)와 비교하여, 지역적으로 더 가까게 분산된 서버이다. 이에 따라, 클라이언트(200)는 에지 서버(100)로부터 직접 해당 콘텐츠를 제공받는 것보다 높은 전송 품질로 해당 콘텐츠를 제공받을 수 있고, 원본 서버(100)에 집중된 트래픽이 분산될 수 있다.The client 200 makes a request for content from the origin server 100 , but receives the content from the edge server 300 instead of directly receiving the content from the origin server 100 . The edge server 300 is generally a server that is geographically more closely distributed as compared to the client 200 and the origin server 100 . Accordingly, the client 200 may receive the corresponding content with a higher transmission quality than receiving the corresponding content directly from the edge server 100 , and traffic concentrated on the original server 100 may be distributed.

도 2는 본 발명의 일 실시예에 따른 클라이언트의 구성을 나타낸 블록도이다. 2 is a block diagram showing the configuration of a client according to an embodiment of the present invention.

도 2를 참조하면, 클라이언트(200)는 통신부(210), 제어부(220), 및 저장부(230)를 포함한다. Referring to FIG. 2 , the client 200 includes a communication unit 210 , a control unit 220 , and a storage unit 230 .

통신부(210)는 원본 서버(100)에 에지 서버(300)들의 목록에 대한 요청을 송신하고, 에지 서버(300)에 TTL 값의 차이를 확인하기 위한 데이터를 송수신할 수 있다. 통신부(210)는 에지 서버(300)로부터 콘텐츠를 수신할 수 있다. 통신부(210)는 원본 서버(100)에 다른 클라이언트로부터 다른 클라이언트의 최단 에지 서버에 대한 데이터를 요청하고, 이러한 데이터를 수신할 수 있다. 또한, 통신부(210)는 원본 서버(100)로부터 다른 클라이언트의 최단 에지 서버에 대한 데이터 수신한 다른 서버나 장치(예를 들어, 특정 에지 서버)로부터, 이러한 데이터를 수신(획득)할 수 있다. 통신부(210)는 제한되지 않고, 무선 통신부(예를 들어, 셀룰러 통신부, 근거리 무선 통신부, 등) 또는 유선 통신부(예를 들어, LAN(local area network) 통신부, 전력선 통신부, 데이터 전송선 통신부 등)를 포함하고, 그 중 해당하는 통신부를 이용하여 원본 서버(100) 또는 에지 서버(300)와 통신할 수 있다.The communication unit 210 may transmit a request for a list of edge servers 300 to the original server 100 , and may transmit/receive data for checking a difference in TTL values to the edge server 300 . The communication unit 210 may receive content from the edge server 300 . The communication unit 210 may request the original server 100 for data on the shortest edge server of the other client from the other client, and may receive such data. In addition, the communication unit 210 may receive (obtain) such data from another server or device (eg, a specific edge server) that has received data for the shortest edge server of another client from the original server 100 . The communication unit 210 is not limited, and a wireless communication unit (eg, a cellular communication unit, a short-range wireless communication unit, etc.) or a wired communication unit (eg, a local area network (LAN) communication unit, a power line communication unit, a data transmission line communication unit, etc.) and may communicate with the original server 100 or the edge server 300 using a corresponding communication unit among them.

저장부(230)는 통신부(210)를 통해 수신한 콘텐츠 또는 데이터를 저장하고, 원본 서버(100)로부터 수신한 에지 서버들의 목록, 다른 클라이언트의 최단 에지 서버에 대한 데이터 등을 저장할 수 있다.The storage unit 230 may store content or data received through the communication unit 210 , and may store a list of edge servers received from the original server 100 , data on the shortest edge server of another client, and the like.

제어부(220)는 통신부(210) 및 저장부(230)와 동작 가능하게 연결된다. 제어부(220)는 본 발명에 따른 적 에지 서버 결정 방법과 관련된 동작을 제어하거나 수행할 수 있다. 제어부(220)는 제한되지 않고 전용 프로세서(예: 임베디드 프로세서), 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor) 등을 포함할 수 있다. 이하, 제어부(220)의 동작에 대해서 간략히 설명한다.The control unit 220 is operatively connected to the communication unit 210 and the storage unit 230 . The controller 220 may control or perform an operation related to the method for determining an enemy edge server according to the present invention. The controller 220 is not limited and may include a dedicated processor (eg, an embedded processor), a generic-purpose processor (eg, a CPU or an application processor). Hereinafter, the operation of the control unit 220 will be briefly described.

다양한 실시예에서, 제어부(220)는 통신부(210)를 통해 복수의 에지 서버들의 목록에 대한 요청을 원본 서버에 송신할 수 있다. 제어부(220)는, 통신부(210)를 통해, 복수의 에지 서버들의 목록에 기초하여, 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신할 수 있다. 제어부(220)는, 통신부(210)를 통해, 복수의 에지 서버들 각각으로부터 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 수신할 수 있다. 제어부(220)는 제 1 TTL 값과 제 2 TTL 값의 차이에 기초하여, 일 클라이언트의 최단 에지 서버를 결정할 수 있다. 제어부(220)는 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버를 최단 에지 서버로 결정할 수 있다. 제어부(220)는 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버의 개수가 2 개 이상인 경우, 일 클라이언트의 최단 에지 서버를 결정하기 위해, 통신부(210)를 통해, 복수의 클라이언트 중 다른 클라이언트의 최단 에지 서버에 대한 데이터를 요청하고, 다른 클라이언트의 최단 에지 서버에 대한 데이터에 기초하여, 특정 클라이언트의 최단 에지 서버를 결정할 수 있다.In various embodiments, the controller 220 may transmit a request for a list of a plurality of edge servers to the original server through the communication unit 210 . The controller 220 may transmit the first data including the first TTL value to each of the plurality of edge servers based on the list of the plurality of edge servers through the communication unit 210 . The controller 220 may receive the second data including the second TTL value associated with the first TTL value from each of the plurality of edge servers through the communication unit 210 . The controller 220 may determine the shortest edge server of one client based on a difference between the first TTL value and the second TTL value. The controller 220 may determine an edge server having the smallest difference between the first TTL value and the second TTL value as the shortest edge server. When the number of edge servers having the smallest difference between the first TTL value and the second TTL value is two or more, the control unit 220 determines a shortest edge server for one client, through the communication unit 210, a plurality of clients It is possible to request data on the shortest edge server of another client, and determine the shortest edge server of the specific client based on the data on the shortest edge server of the other client.

도 3 본 발명의 일 실시예에 따른 최단 에지 서버 결정 방법을 개략적으로 나타낸 순서도이다.3 is a flowchart schematically illustrating a method for determining a shortest edge server according to an embodiment of the present invention.

도 3 참조하면, 본 발명의 일 실시예에 따른 최단 에지 서버 결정 방법은 복수의 에지 서버들의 목록에 대한 요청을 원본 서버에 송신하는 단계(S300); 에지 서버들의 목록에 기초하여, 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신하는 단계(S310); 복수의 에지 서버들 각각으로부터 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 수신하는 단계(S320); 및 제 1 TTL 값과 제 2 TTL 값의 차이에 기초하여, 일 클라이언트의 최단 에지 서버를 결정하는 단계(S330)를 포함한다.Referring to FIG. 3 , a method for determining a shortest edge server according to an embodiment of the present invention includes: transmitting a request for a list of a plurality of edge servers to an origin server ( S300 ); transmitting first data including a first TTL value to each of the plurality of edge servers based on the list of edge servers (S310); Receiving second data including a second TTL value associated with the first TTL value from each of the plurality of edge servers (S320); and determining a shortest edge server of one client based on a difference between the first TTL value and the second TTL value ( S330 ).

먼저, 복수의 클라이언트들 중 일 클라이언트(200)는 복수의 에지 서버들(300)의 목록을 원본 서버(100)에 요청하고(S300), 에지 서버들(300)의 목록에 기초하여, 일 클라이언트(200)는 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신한다(S310).First, one client 200 among the plurality of clients requests a list of the plurality of edge servers 300 from the original server 100 ( S300 ), and based on the list of the edge servers 300 , one client In step 200, the first data including the first TTL value is transmitted to each of the plurality of edge servers (S310).

다음으로, 복수의 클라이언트들 중 일 클라이언트(200)는 복수의 에지 서버들(300) 각각으로부터 제 2 TTL 값을 포함하는 제 2 데이터를 수신한다(S320). 이때, 제 2 TTL 값은, 제 1 TTL 갑과 연관된 값으로서, 제 1 TTL 값으로부터 일 클라이언트(200)로부터 복수의 에지 서버들(300) 각각 사이에서 경유한 라우터들의 수를 감산한 값에 해당한다.Next, one client 200 among the plurality of clients receives second data including the second TTL value from each of the plurality of edge servers 300 ( S320 ). In this case, the second TTL value is a value associated with the first TTL value, and corresponds to a value obtained by subtracting the number of routers passed between each of the plurality of edge servers 300 from one client 200 from the first TTL value. .

TTL (Time To Live) 은 패킷 또는 데이터가 라우터로부터 폐기되기 전에 (before being discarded) 네트워크에 존재해야 하는 기간에 대한 값이다. 패킷 또는 데이터가 라우터를 경유할 때마다, 라우터는 TTL 값을 1만큼 감산한다. 각 경로에서 라우터는 홉 (hop) 을 구성하고, 패킷 또는 데이터가, 중간 장치인 라우터를 통과할 때마다, 레이턴시 (latency) 가 발생하기 때문에, 홉의 수 또는 감산된 TTL 값이 커질수록 데이터 통신 성능이 저하된다, Time To Live (TTL) is a value for how long a packet or data must exist in the network before being discarded from the router. Each time a packet or data passes through a router, the router decrements the TTL value by 1. In each path, a router configures hops, and whenever a packet or data passes through a router, which is an intermediate device, latency occurs. As the number of hops or the subtracted TTL value increases, data communication performance is degraded,

단계 S310, S320에서 TTL 값을 포함하는 데이터(제 1 데이터 및 제 2 데이터)를 수신하는 것은, 사용자는 TTL 값을 이용하여 패킷 또는 데이터가 에지 서버로부터 몇 개의 라우터들을 경유한 것인지를 확인할 수 있기 때문이다. 라우터는 LAN (Local Area Network)와 WAN (Wide Area Network) 사이에 지역적으로 분산되어 위치하기 때문에, 실제 거리와 연관성이 높다. 이에 따라, 경유한 라우터들의 수를 확인함으로써, 클라이언트와 에지 서버가 실제 거리의 정도를 확인할 수 있다.Receiving the data (first data and second data) including the TTL value in steps S310 and S320 allows the user to check how many routers the packet or data has passed through the edge server from the edge server using the TTL value. Because. Since the router is located geographically distributed between a local area network (LAN) and a wide area network (WAN), it is highly correlated with the actual distance. Accordingly, by checking the number of routers passed through, the client and the edge server can check the actual distance.

도 4는 본 발명의 일 실시예에 따른 최단 에지 서버 결정 방법에서 클라이언트와 에지 서버 사이의 통신에서 TTL 값을 포함하는 데이터의 송수신을 설명하기 위한 개략도이다.4 is a schematic diagram illustrating transmission and reception of data including a TTL value in communication between a client and an edge server in a method for determining a shortest edge server according to an embodiment of the present invention.

도 4를 참조하면, 클라이언트(200)가 TTL=64인 제 1 데이터를 에지 서버(300)에 송신한다. 제 1 데이터는 2 개의 라우터를 통과하기 때문에, TTL 값이 2만큼 감산된다. 이에 따라, 에지 서버(300)에서는 TTL=64인 제 1 데이터를 수신한다. 에지 서버(300)는 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 클라이언트(200)에게 송신한다.Referring to FIG. 4 , the client 200 transmits first data having TTL=64 to the edge server 300 . Since the first data goes through the two routers, the TTL value is subtracted by two. Accordingly, the edge server 300 receives the first data having TTL=64. The edge server 300 sends second data including a second TTL value associated with the first TTL value to the client 200 .

다음으로, 복수의 클라이언트들 중 일 클라이언트(200)는 제 1 TTL 값과 제 2 TTL 값의 차이에 기초하여, 일 클라이언트의 최단 에지 서버를 결정한다(S330).Next, the one client 200 among the plurality of clients determines the shortest edge server of the one client based on the difference between the first TTL value and the second TTL value ( S330 ).

다시 도 4를 참조하면, 클라이언트(200)가 송신한 제 1 데이터의 TTL 값 64와 (2 개의 라우터를 통과해) 에지 서버(300)에서 수신된 제 1 데이터의 TTL 값을 의미하는 제 2 TTL 값 62의 차이는 2가 된다. 클라이언트(200)는 제 1 TTL 값과 제 2 TTL 값의 차이를 클라이언트(200)와 에지 서버(300) 사이의 논리적 거리 값으로 확인한다. 클라이언트(200)는 에지 서버들의 목록에 포함된 모든 에지 서버들(300)로부터 확인된 논리적 거리 값들을 비교하여, 그 값이 가장 작은 에지 서버를 최단 에지 서버로 결정한다.Referring back to FIG. 4 , a second TTL indicating a TTL value of 64 of the first data transmitted by the client 200 and a TTL value of the first data received from the edge server 300 (via two routers) The difference of the value 62 becomes 2. The client 200 checks the difference between the first TTL value and the second TTL value as a logical distance value between the client 200 and the edge server 300 . The client 200 compares logical distance values identified from all edge servers 300 included in the list of edge servers, and determines the edge server having the smallest value as the shortest edge server.

다양한 실시예에서, 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버의 개수가 2 개 이상인 경우, 클라이언트의 최단 에지 서버를 결정하는 단계는 복수의 클라이언트들 중 다른 클라이언트의 최단 에지 서버에 대한 데이터를 획득하는 단계; 및 다른 클라이언트의 최단 에지 서버에 대한 데이터에 기초하여, 특정 클라이언트의 최단 에지 서버를 결정하는 단계를 포함한다. 다른 클라이언트에 대한 데이터는 원본 서버로부터 또는 원본 서버로부터 이러한 데이터를 수신한 다른 서버나 장치(예를 들어, 특정 에지 서버)로부터 수신(획득)할 수 있다. 특히, 복수의 클라이언트를 포함하는 인트라넷이 구축된 경우, 일 클라이언트와 다른 클라이언트는 동일한 기업, 정부기관 등의 인트라넷 상에 연결가능하기 때문에, 다른 클라이언트의 최단 에지 서버 등의 데이터를 원본 서버 또는 원본 서버로부터 이러한 데이터를 수신한 다른 서버나 장치로부터 용이하게 입수될 수 있다. 일 클라이언트에 대해, 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버가 2개, 예를 들어 제 1 에지 서버 및 제 2 에지 서버가 존재할 수 있다. 만일 제 1 에지 서버가 다른 클라이언트의 최단 에지 서버에 해당하는 것이 확인되면, 일 클라이언트는 제 1 에지 서버가 아니라 제 2 에지 서버를 일 클라이언트의 최단 에지 서버로 결정할 수 있다. 제 1 에지 서버를 일 클라이언트의 최단 에지 서버로 결정하는 경우보다 제 2 에지 서버를 최단 에지 서버로 결정하는 경우가, 트래픽이 더 분산될 가능성이 더 높다. 이에 따라, 주어진 CDN 자원 내지 네트워크 인프라 하에서 또는 네트워크 인프라의 구축 또는 변경 없이도, 보다 효율적인 트래픽 처리가 달성된다.In various embodiments, when the number of edge servers having the smallest difference between the first TTL value and the second TTL value is two or more, determining the shortest edge server of the client may include a shortest edge server of another client among the plurality of clients. obtaining data for and determining, based on the data on the shortest edge server of the other client, the shortest edge server of the particular client. Data for other clients may be received (obtained) from the origin server or from another server or device that has received such data from the origin server (eg, a particular edge server). In particular, when an intranet including a plurality of clients is built, one client and the other client can be connected on the intranet of the same company, government agency, etc. It can be readily obtained from other servers or devices that have received such data from For one client, there may be two edge servers having the smallest difference between the first TTL value and the second TTL value, for example, the first edge server and the second edge server. If it is confirmed that the first edge server corresponds to the shortest edge server of the other client, the one client may determine the second edge server instead of the first edge server as the shortest edge server of the one client. When the second edge server is determined as the shortest edge server than when the first edge server is determined as the shortest edge server of one client, traffic is more likely to be distributed. Accordingly, more efficient traffic processing is achieved under a given CDN resource or network infrastructure or without building or changing the network infrastructure.

본 발명에서는 클라이언트(200)가 에지 서버들(300)로부터 확인된 논리적 거리 값들을 비교하여 최단 에지 서버를 결정하기 때문에, 본 발명은 라우팅 프로토콜에 의해 최단 에지 서버를 결정하는 종래 방식의 CDN과 차이가 있다.In the present invention, since the client 200 determines the shortest edge server by comparing the logical distance values identified from the edge servers 300, the present invention is different from the CDN of the conventional method in which the shortest edge server is determined by the routing protocol. there is

구체적으로, 라우터는 독립적으로 구성된 네트워크들을 연결시켜주는 네트워크 장치로서, 라우터는 라우터들이 상호연결된 전체 네트워크에서 경로 정보를 수집 및/또는 교환하여 라우팅 테이블 (routing table) 을 생성한다. 라우터가 라우터 테이블을 참조하여 네트워크 또는 복수의 네트워크 사이에서 목적지까지의 경로를 선택하는 프로세스를 라우팅 (routing) 이라고 한다. 목적지까지의 경로는, 라우팅 프로토콜 (routing protocol) 에 의해 자동으로 설정 (동적 라우팅) 되거나, 관리자에 의해 수동으로 설정 (정적 라우팅) 될 수 있다.Specifically, a router is a network device that connects independently configured networks, and the router generates a routing table by collecting and/or exchanging route information in an entire network in which the routers are interconnected. The process by which a router selects a route to a destination between a network or a plurality of networks by referring to a router table is called routing. The route to the destination may be automatically configured by a routing protocol (dynamic routing) or manually configured by an administrator (static routing).

종래 방식의 CDN에서는, 일반적으로 BGP라는 라우팅 프로토콜을 이용하여 목적지까지 경로, 즉 클라이언트로부터 에지 서버까지의 경로를 결정했다. 이에 따라, 전술한 바와 같이, 종래 방법의 CDN을 구축하기 위해서는 클라이언트와 무관하게, 네트워크 인프라의 구축 또는 변경이 필수적이다. 특히, 라우터의 추가하는 경우, 라우팅 테이블에서 수동으로 해당 라우터에 가장 가까운 (에지) 서버를 지정해 주어야 한다.In the conventional CDN, a route to a destination, that is, a route from a client to an edge server, is generally determined using a routing protocol called BGP. Accordingly, as described above, in order to build a CDN of the conventional method, it is essential to build or change a network infrastructure regardless of a client. In particular, when adding a router, you must manually designate the nearest (edge) server to the router in the routing table.

이에 반해, 본 발명에서는 라우터가 아닌 클라이언트(200)에서, 라우터 등 전체 네트워크 장비의 교체나 재설정 없이도, 최단 에지 서버를 결정할 수 있다. 특히, 최단 에지 서버 결정 시 다른 클라이언트도 고려하여 보다 효율적이고 자동적인 트래픽 처리가 달성된다. 특히, 본 발명에서는 종래 방식의 CDN과 달리, 라우팅 프로토콜을 이용하지 않고, 최단 에지 서버를 결정할 수 있다.On the other hand, in the present invention, the client 200, not the router, can determine the shortest edge server without replacing or reconfiguring the entire network equipment such as a router. In particular, more efficient and automatic traffic processing is achieved by considering other clients when determining the shortest edge server. In particular, in the present invention, unlike the conventional CDN, the shortest edge server can be determined without using a routing protocol.

도 5는 본 발명의 다른 실시예에 따른 최단 에지 서버 결정 방법을 설명하기 위한 개략도이다.5 is a schematic diagram illustrating a method for determining a shortest edge server according to another embodiment of the present invention.

도 5를 참조하면, CDN은 원본 서버(100), 복수의 에지 서버들(300-1, 300-2), 및 복수의 클라이언트들(200-1, 200-2, 200-3)를 포함한다. Referring to FIG. 5 , the CDN includes an origin server 100 , a plurality of edge servers 300-1 and 300-2, and a plurality of clients 200-1, 200-2 and 200-3. .

이하, 도 5를 참조하여, 일 클라이언트(200-2)를 기준으로 최단 에지 서버 결정 방법을 설명한다.Hereinafter, a method of determining the shortest edge server based on one client 200 - 2 will be described with reference to FIG. 5 .

일 클라이언트(200-2)는 원본 서버(100)에 복수의 에지 서버들의 목록에 대한 요청을 송신한다. 일 클라이언트(200-2)는 원본 서버(100)로부터 수신된 복수의 에지 서버들(300-1, 300-2)의 목록에 기초하여, 복수의 에지 서버들(300-1, 300-2) 모두에 TTL=64인 제 1 TTL 값을 포함하는 제 1 데이터를 송신한다. 도 5를 참조하면, 제 1 데이터는 일 클라이언트(200-2)로부터 2 개의 라우터(400-3, 400-1)를 통과하여 에지 서버(300-1)에서 수신되기 때문에, 에지 서버(300-1)에서 수신된 제 1 데이터의 TTL 값은 2만큼 감산되어 62이 된다. 즉, 에지 서버(300-1)로부터 수신된 제 1 데이터에 연관된 제 2 데이터의 제 2 TTL 값은 62가 되고, 제 1 TTL 값과 제 2 TTL 값의 차이는 2가 된다. 또한, 제 1 데이터는 일 클라이언트(200-2)로부터 3 개의 라우터(400-3, 400-4, 400-5)를 통과하여 에지 서버(300-2)에서 수신되기 때문에, 에지 서버(300-2)에서 수신된 제 1 데이터의 TTL 값은 3만큼 감산되어 61이 된다. 즉, 에지 서버(300-2)로부터 수신된 제 1 데이터에 연관된 제 2 데이터의 제 2 TTL 값은 61이 되고, 제 1 TTL 값과 제 2 TTL 값의 차이는 3이 된다. 제 1 TTL 값과 제 2 TTL 값의 차이가 가장 작은 에지 서버(300-1)가 최단 에지 서버로 결정된다. 이러한 결정 과정은, 라우터들(400-1, 400-3, 400-4, 400-5)의 라우팅 프로토콜을 이용하여 수행되는 것이 아니라, 일 클라이언트(200-2)에 의해 수행된다..One client 200 - 2 transmits a request for a list of a plurality of edge servers to the original server 100 . One client 200 - 2 receives a plurality of edge servers 300 - 1 and 300 - 2 based on a list of the plurality of edge servers 300 - 1 and 300 - 2 received from the original server 100 . First data including the first TTL value for which TTL=64 is transmitted to all. Referring to FIG. 5 , since the first data is received at the edge server 300-1 through two routers 400-3 and 400-1 from one client 200-2, the edge server 300- The TTL value of the first data received in 1) is subtracted by 2 to become 62. That is, the second TTL value of the second data related to the first data received from the edge server 300 - 1 becomes 62, and the difference between the first TTL value and the second TTL value becomes 2. In addition, since the first data is received at the edge server 300-2 through three routers 400-3, 400-4, and 400-5 from one client 200-2, the edge server 300- The TTL value of the first data received in 2) is subtracted by 3 to become 61. That is, the second TTL value of the second data related to the first data received from the edge server 300 - 2 becomes 61, and the difference between the first TTL value and the second TTL value becomes 3. The edge server 300 - 1 having the smallest difference between the first TTL value and the second TTL value is determined as the shortest edge server. This determination process is not performed using the routing protocols of the routers 400-1, 400-3, 400-4, and 400-5, but is performed by one client 200-2.

한편, 복수의 클라이언트들 중 다른 클라이언트(200-3)의 경우, 제 1 데이터는 다른 클라이언트(200-3)로부터 2 개의 라우터(400-4, 400-1)를 통과하여 에지 서버(300-1)에서 수신되고, 또한 제 1 데이터는 다른 클라이언트(200-3)로부터 2 개의 라우터(400-4, 400-5)를 통과하여 에지 서버(300-2)에서 수신된다. 이에 따라, 다른 클라이언트(200-3)의 경우, 에지 서버(300-1) 및 에지 서버(300-2) 모두에 대해, 제 1 TTL 값과 제 2 TTL 값의 차이는 동일하게 2가 되어, 제 1 TTL 값과 제 2 TTL 값의 차이가 2로 가장 작은 에지 서버의 개수가 2 개가 존재한다. 이 경우, 전술한 바와 같이, 다른 클라이언트(200-3)의 최단 에지 서버의 결정은 일 클라이언트(200-1)의 최단 에지 서버에 기초하여 결정될 수 있다. 도 5에서, 일 클라이언트(200-1)의 최단 에지 서버는 에지 서버(300-1)이기 때문에, 클라이언트(200-3)는, 트래픽이 더 분산될 가능성을 높이고 보다 효율적인 트래픽 처리를 위해, 에지 서버(300-1)가 아니라 에지 서버(300-2)가 최단 에지 서버로 결정한다.Meanwhile, in the case of the other client 200-3 among the plurality of clients, the first data passes through the two routers 400-4 and 400-1 from the other client 200-3 to the edge server 300-1 ), and also the first data is received from the edge server 300-2 through the two routers 400-4 and 400-5 from the other client 200-3. Accordingly, in the case of the other client 200-3, for both the edge server 300-1 and the edge server 300-2, the difference between the first TTL value and the second TTL value is equal to 2, There are two edge servers in which the difference between the first TTL value and the second TTL value is 2, which is the smallest. In this case, as described above, the determination of the shortest edge server of the other client 200 - 3 may be determined based on the shortest edge server of the one client 200 - 1 . In FIG. 5 , since the shortest edge server of one client 200 - 1 is the edge server 300 - 1 , the client 200 - 3 increases the probability that the traffic is more distributed and for more efficient traffic processing, the edge server The edge server 300-2, not the server 300-1, determines the shortest edge server.

도 6는 본 발명의 또 다른 실시예에 따른 인트라넷 환경에서 최단 에지 서버 결정 방법을 설명하기 위한 개략도이다. 본 발명에서, 인트라넷 환경은 복수의 클라이언트들이 인트라넷 내에 있는 환경을 의미한다.6 is a schematic diagram illustrating a method for determining a shortest edge server in an intranet environment according to another embodiment of the present invention. In the present invention, the intranet environment means an environment in which a plurality of clients are in the intranet.

도 6을 참조하면, CDN은 원본 서버(100), 복수의 에지 서버들(300-3, 300-4), 및 복수의 클라이언트들(200-4, 200-5, 200-6, 200-7, 200-8, 200-9)를 포함한다.Referring to FIG. 6 , the CDN includes an origin server 100 , a plurality of edge servers 300-3 and 300-4, and a plurality of clients 200-4, 200-5, 200-6, and 200-7. , 200-8, 200-9).

다양한 실시예에서, 원본 서버(100)는 일 기업의 본사(500)에 해당하고, 클라이언트들(200-4, 200-5, 200-6, 200-7)은 일 기업의 제 1 지사(600)의 인트라넷 내의 클라이언트들이고, 클라이언트들(200-8, 200-9)은 일 기업의 제 2 지사(700)의 인트라넷 내의 클라이언트들이다. 제 1 지사(600)의 인트라넷과 제 2 지사(700)의 인트라넷은 독립적으로 구성된다. 제 1 지사(600)에서, 예를 들어, 1층에는 라우터(400-8)와 라우터(400-8)에 직접적으로 연결된 클라이언트들(200-6, 200-7)이 배치되고, 2층에는 라우터(400-7)와 라우터(400-7)에 직접적으로 연결된 클라이언트들(200-4, 200-5)이 배치된다. 제 2 지사(700)에서는 라우터(400-10)와 라우터(400-10)에 직접적으로 연결된 클라이언트들(200-8, 200-9)이 배치된다. In various embodiments, the source server 100 corresponds to the headquarters 500 of a company, and the clients 200-4, 200-5, 200-6, and 200-7 are the first branch offices 600 of the company. ), and clients 200 - 8 and 200 - 9 are clients in the intranet of a second branch 700 of an enterprise. The intranet of the first branch 600 and the intranet of the second branch 700 are configured independently. In the first branch 600, for example, a router 400-8 and clients 200-6 and 200-7 directly connected to the router 400-8 are disposed on the first floor, and on the second floor The router 400-7 and clients 200-4 and 200-5 directly connected to the router 400-7 are disposed. In the second branch 700 , the router 400 - 10 and clients 200 - 8 and 200 - 9 directly connected to the router 400 - 10 are arranged.

복수의 클라이언트들(200-4, 200-5, 200-6, 200-7, 200-8, 200-9)은 서로 다른 지사(인트라넷)에 있는 클라이언트들이고 서로 다른 라우터들에 직접적으로 연결되어, 본사(500)에 특정 데이터를 요청하게 된다. 이에 따라, 기업의 인트라넷 환경에서도, 본사(500)에 대한 트래픽을 분산하기 위해 CDN가 요청될 수 있다.The plurality of clients 200-4, 200-5, 200-6, 200-7, 200-8, 200-9 are clients in different branch offices (intranets) and are directly connected to different routers, It requests specific data from the head office 500 . Accordingly, even in a corporate intranet environment, a CDN may be requested to distribute traffic to the headquarters 500 .

종래 방식의 CDN을 인트라넷 환경에서 구축하기 위해서는 네트워크 인프라의 구축 또는 변경이 필수적이다. 이는, 대부분의 인트라넷 환경이 종래 방식의 CDN의 구축을 고려하지 않고 설계되어 있기 때문이다. 그러나, 종래 방식의 CDN을 구축하기 위한 네트워크 인프라의 구축 또는 변경은, 대규모 네트워크 장비의 교체나 재설정 또는 재설정에 따른 긴 장애시간 등으로 시간이나 비용이 많이 들기 때문에 매우 어렵다.In order to build a conventional CDN in an intranet environment, it is essential to build or change a network infrastructure. This is because most intranet environments are designed without considering the establishment of a conventional CDN. However, it is very difficult to construct or change the network infrastructure for establishing the conventional CDN because it takes a lot of time and money due to long downtime due to the replacement or reconfiguration or reconfiguration of large-scale network equipment.

본 발명에서는, 네트워크 인프라의 구축 또는 변경 없이도, 클라이언트에서 최단 에지 서버를 결정할 수 있다. 다시 도 6을 참조하면, 서로 다른 지사에 있는 또는 같은 지사라도 다른 층에 있어 서로 다른 라우터에 연결된 복수의 클라이언트들(200-4, 200-5, 200-6, 200-7, 200-8, 200-9) 각각은, 제 1 TTL 값과 제 2 TTL 값의 차이에 기초하여, 최단 에지 서버를 결정할 수 있다.In the present invention, the client can determine the shortest edge server without building or changing the network infrastructure. Referring back to FIG. 6, a plurality of clients 200-4, 200-5, 200-6, 200-7, 200-8, 200-9) each may determine a shortest edge server based on a difference between the first TTL value and the second TTL value.

이에 따라, 인프라넷 환경에서, 종래 방식의 CDN을 인트라넷 환경에서 구축하기 위한 네트워크 인프라의 구축 또는 변경 없이, 나아가 각 지사 또는 각 지사의 층수에 따라 복수의 클라이언트들 각각이 연결되는 라우터에 가장 가까운 에지 서버를 지정하지 않고도, 복수의 클라이언트들이 자동으로 실제 거리와 연관이 높은 논리적 거리 값(TTL 값의 차이) 이용하여, 최단 에지 서버를 결정할 수 있다.Accordingly, in the Infranet environment, without the establishment or change of the network infrastructure for establishing the conventional CDN in the intranet environment, furthermore, the edge server closest to the router to which each of the plurality of clients is connected according to each branch or the number of floors of each branch Without specifying , a plurality of clients can automatically determine the shortest edge server by using a logical distance value (difference in TTL value) that is highly related to the actual distance.

이상 첨부된 도면을 참조하여 본 발명의 일 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although one embodiment of the present invention has been described in more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and various modifications may be made within the scope without departing from the technical spirit of the present invention. have. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

100: 원본 서버
200: 클라이언트
210: 통신부
220: 제어부
230: 저장부
300: 에지 서버
400: 라우터
500: 본사
600: 제 1 지사
700: 제 2 지사
100: origin server
200: client
210: communication unit
220: control unit
230: storage
300: edge server
400: router
500: Headquarters
600: first branch
700: 2nd branch

Claims (8)

원본 서버, 복수의 에지 서버들, 및 복수의 클라이언트들을 포함하는 CDN (Content Delivery Network) 에서, 상기 복수의 클라이언트 중 일 클라이언트에 대한 최단 에지 서버를 결정하는 방법으로서, 상기 방법은,
복수의 에지 서버들의 목록에 대한 요청을 원본 서버에 송신하는 단계;
상기 복수의 에지 서버들의 목록에 기초하여, 상기 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신하는 단계;
상기 복수의 에지 서버들 각각으로부터 상기 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 수신하는 단계;
상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이에 기초하여, 상기 일 클라이언트의 최단 에지 서버를 결정하는 단계를 포함하고,
상기 일 클라이언트의 최단 에지 서버를 결정하는 단계는, 상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이가 가장 작은 에지 서버를 상기 최단 에지 서버로 결정하는 단계를 포함하고,
상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이가 가장 작은 에지 서버의 개수가 2 개 이상인 경우, 상기 일 클라이언트의 최단 에지 서버를 결정하는 단계는,
상기 복수의 클라이언트 중 다른 클라이언트의 최단 에지 서버에 대한 데이터를 획득하는 단계; 및
상기 다른 클라이언트의 최단 에지 서버에 대한 데이터에 기초하여, 상기 일 클라이언트의 최단 에지 서버를 결정하는 단계를 포함하고, 그리고
상기 다른 클라이언트의 최단 에지 서버는 상기 다른 클라이언트에 마지막으로 연결되었던 에지 서버 또는 상기 다른 클라이언트의 최단 에지 서버에 대한 데이터를 요청 시 상기 다른 클라이언트에 연결된 에지 서버인, 최단 에지 서버 결정 방법.
A method for determining a shortest edge server for one of the plurality of clients in a content delivery network (CDN) including an origin server, a plurality of edge servers, and a plurality of clients, the method comprising:
sending a request for a list of a plurality of edge servers to an origin server;
transmitting first data including a first TTL value to each of the plurality of edge servers based on the list of the plurality of edge servers;
receiving second data including a second TTL value associated with the first TTL value from each of the plurality of edge servers;
determining a shortest edge server of the one client based on a difference between the first TTL value and the second TTL value;
The determining of the shortest edge server of the one client includes determining an edge server having the smallest difference between the first TTL value and the second TTL value as the shortest edge server,
When the number of edge servers having the smallest difference between the first TTL value and the second TTL value is two or more, determining the shortest edge server of the one client includes:
acquiring data on a shortest edge server of another client among the plurality of clients; and
determining the shortest edge server of the one client based on data for the shortest edge server of the other client, and
The method of claim 1, wherein the shortest edge server of the other client is an edge server that was last connected to the other client or an edge server connected to the other client when requesting data about the shortest edge server of the other client.
제 1 항에 있어서,
상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이는, 상기 일 클라이언트와 상기 복수의 에지 서버들 각각 사이의 라우터들의 개수를 지시하는 논리적 거리 값인, 최단 에지 서버 결정 방법.
The method of claim 1,
The difference between the first TTL value and the second TTL value is a logical distance value indicating the number of routers between the one client and each of the plurality of edge servers.
제 2 항에 있어서,
상기 일 클라이언트의 최단 에지 서버를 결정하는 단계는 상기 라우터들의 라우팅 프로토콜 (routing protocol) 을 이용하지 않고 수행되는, 최단 에지 서버 결정 방법.
3. The method of claim 2,
and determining the shortest edge server of the one client is performed without using a routing protocol of the routers.
삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 원본 서버는 2 이상의 지사들에 연결된 본사 서버이고,
상기 복수의 클라이언트들은 적어도 2 이상의 인트라넷들 내의 클라이언트들이고,
상기 2 이상의 인트라넷들은 상기 2 이상의 지사들 각각에 대응하는, 최단 에지 서버 결정 방법.
The method of claim 1,
The source server is a head office server connected to two or more branch offices,
the plurality of clients are clients in at least two or more intranets,
wherein the two or more intranets correspond to each of the two or more branch offices.
최단 에지 서버를 결정하기 위한 클라이언트로서,
복수의 에지 서버들과 통신하도록 구성된 통신부;
상기 복수의 에지 서버들의 목록을 저장하도록 구성된 저장부; 및
상기 통신부와 상기 저장부와 동작가능하게 연결된 제어부를 포함하고,
상기 제어부는,
상기 복수의 에지 서버들의 목록에 대한 요청을 원본 서버에 송신하도록 구성되고,
상기 복수의 에지 서버들의 목록에 기초하여, 상기 복수의 에지 서버들 각각에 제 1 TTL 값을 포함하는 제 1 데이터를 송신하도록 구성되고,
상기 복수의 에지 서버들 각각으로부터 상기 제 1 TTL 값과 연관된 제 2 TTL 값을 포함하는 제 2 데이터를 수신하도록 구성되고, 그리고
상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이에 기초하여, 상기 클라이언트의 최단 에지 서버를 결정하도록 구성되고,
상기 클라이언트의 최단 에지 서버를 결정하는 것은, 상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이가 가장 작은 에지 서버를 상기 최단 에지 서버로 결정하는 것을 포함하고,
상기 제 1 TTL 값과 상기 제 2 TTL 값의 차이가 가장 작은 에지 서버의 개수가 2 개 이상인 경우, 상기 클라이언트의 최단 에지 서버를 결정하는 것은,
상기 복수의 클라이언트 중 다른 클라이언트의 최단 에지 서버에 대한 데이터를 획득하는 단계; 및
상기 다른 클라이언트의 최단 에지 서버에 대한 데이터에 기초하여, 상기 클라이언트의 최단 에지 서버를 결정하는 단계를 포함하고, 그리고
상기 다른 클라이언트의 최단 에지 서버는 상기 다른 클라이언트에 마지막으로 연결되었던 에지 서버 또는 상기 다른 클라이언트의 최단 에지 서버에 대한 데이터를 요청 시 상기 다른 클라이언트에 연결된 에지 서버인, 클라이언트.

A client for determining a shortest edge server, comprising:
a communication unit configured to communicate with a plurality of edge servers;
a storage configured to store a list of the plurality of edge servers; and
a control unit operatively connected to the communication unit and the storage unit;
The control unit is
and send a request for a list of the plurality of edge servers to an origin server;
send, based on the list of the plurality of edge servers, first data including a first TTL value to each of the plurality of edge servers;
configured to receive second data including a second TTL value associated with the first TTL value from each of the plurality of edge servers, and
determine, based on a difference between the first TTL value and the second TTL value, a shortest edge server of the client;
determining the shortest edge server of the client includes determining, as the shortest edge server, an edge server having a smallest difference between the first TTL value and the second TTL value;
When the number of edge servers having the smallest difference between the first TTL value and the second TTL value is two or more, determining the shortest edge server of the client includes:
acquiring data on a shortest edge server of another client among the plurality of clients; and
determining the shortest edge server of the client based on data for the shortest edge server of the other client, and
The client, wherein the shortest edge server of the other client is an edge server connected to the other client when requesting data for an edge server that was last connected to the other client or the shortest edge server of the other client.

KR1020210167916A 2021-11-30 2021-11-30 Method and system for determining shortest edge server KR102440108B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210167916A KR102440108B1 (en) 2021-11-30 2021-11-30 Method and system for determining shortest edge server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210167916A KR102440108B1 (en) 2021-11-30 2021-11-30 Method and system for determining shortest edge server

Publications (1)

Publication Number Publication Date
KR102440108B1 true KR102440108B1 (en) 2022-09-05

Family

ID=83279782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210167916A KR102440108B1 (en) 2021-11-30 2021-11-30 Method and system for determining shortest edge server

Country Status (1)

Country Link
KR (1) KR102440108B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080048931A (en) * 2006-11-29 2008-06-03 톰슨 라이센싱 Methods and a device for secure distance calculation in communication networks
KR20150049200A (en) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 Apparatus for presenting contents, method thereof and computer recordable medium storing the method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080048931A (en) * 2006-11-29 2008-06-03 톰슨 라이센싱 Methods and a device for secure distance calculation in communication networks
KR20150049200A (en) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 Apparatus for presenting contents, method thereof and computer recordable medium storing the method

Similar Documents

Publication Publication Date Title
US9325609B2 (en) Segmented source routing in a network
JP5944537B2 (en) Communication path management method
US9659075B2 (en) Providing high availability in an active/active appliance cluster
TWI398149B (en) Method, apparatus, system, instructions and software for domain name resolution
US20150181512A1 (en) Gateway advertisement in a wireless mesh
KR20090069312A (en) A resource delivery method, system and edge server
US10255621B2 (en) Services advertisement in a wireless mesh
US11962471B2 (en) System and method for a distributed computing cluster architecture
US20120191769A1 (en) Site-aware distributed file system access from outside enterprise network
WO2015058705A1 (en) Data distribution method and apparatus
EP3066575B1 (en) Server network address selection based on network characteristics of service providers
CN113364741A (en) Application access method and proxy server
EP3032803A1 (en) Providing requested content in an overlay information centric networking (o-icn) architecture
US10536368B2 (en) Network-aware routing in information centric networking
KR102440108B1 (en) Method and system for determining shortest edge server
JP5716745B2 (en) Data transfer system
CN109788075B (en) Private network system, data acquisition method and edge server
CN109644160B (en) Hybrid method for name resolution and producer selection in ICN by classification
JP5726302B2 (en) Secret or protected access to a network of nodes distributed across a communication architecture using a topology server
CN106487682B (en) Diameter signaling network routing method and device
JP5803924B2 (en) Data transfer system
EP3022658B1 (en) Failover handling in a content node of a content delivery network
JP2016046785A (en) Cache server selection device, distributed cache system, and cache server selection method
US20230421481A1 (en) Service border routing based on location in multisite fabric networks
KR20090016281A (en) Static routing method and packet routing apparatus implementing the same method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant