Movatterモバイル変換


[0]ホーム

URL:


KR102852608B1 - System and method for contents routing - Google Patents

System and method for contents routing

Info

Publication number
KR102852608B1
KR102852608B1KR1020220181807AKR20220181807AKR102852608B1KR 102852608 B1KR102852608 B1KR 102852608B1KR 1020220181807 AKR1020220181807 AKR 1020220181807AKR 20220181807 AKR20220181807 AKR 20220181807AKR 102852608 B1KR102852608 B1KR 102852608B1
Authority
KR
South Korea
Prior art keywords
routing
server
service
caching
content
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020220181807A
Other languages
Korean (ko)
Other versions
KR20240099888A (en
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 주식회사 솔박스filedCritical주식회사 솔박스
Priority to KR1020220181807ApriorityCriticalpatent/KR102852608B1/en
Publication of KR20240099888ApublicationCriticalpatent/KR20240099888A/en
Application grantedgrantedCritical
Publication of KR102852608B1publicationCriticalpatent/KR102852608B1/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

Translated fromKorean

콘텐츠 라우팅 시스템 및 방법이 제공된다. 시스템은, 사용자 단말로부터의 콘텐츠 서비스 요청에 대응하는 URL을 파싱하도록 구성된 도메인 처리기 및 파싱 결과로부터 획득되는 도메인이 등록된 도메인인 경우, 도메인에 대응하는 서비스 구성 정보를 기반으로 복수의 캐싱 서버 중 하나의 캐싱 서버를 선택하고, 선택된 캐싱 서버의 정보를 응답하도록 구성된 라우팅 처리기를 포함한다. 여기서 상기 서비스 구성 정보는 서비스의 도메인별로, 해당 서비스를 제공하는 적어도 하나의 서버 그룹에 대한 정보, 각 서버 그룹에 포함되는 적어도 하나의 캐싱 서버에 대한 정보를 포함한다.A content routing system and method are provided. The system includes a domain processor configured to parse a URL corresponding to a content service request from a user terminal, and a routing processor configured to select one caching server from among a plurality of caching servers based on service configuration information corresponding to the domain if the domain obtained from the parsing result is a registered domain, and to respond with information about the selected caching server. Here, the service configuration information includes, for each domain of the service, information about at least one server group providing the corresponding service, and information about at least one caching server included in each server group.

Description

Translated fromKorean
콘텐츠 라우팅 시스템 및 방법{System and method for contents routing}System and method for contents routing

본 발명은 콘텐츠 라우팅에 관한 것으로, 더욱 상세하게 말하자면, 네트워크에서 콘텐츠를 최적으로 라우팅하는 전달하는 시스템 및 방법에 관한 것이다.The present invention relates to content routing, and more particularly, to a system and method for delivering content in a network in an optimal manner.

기존 퍼블릭 통신망과 같은 통신망에서는 콘텐츠 전송 최적화를 위해 통신사의 IDC(internet data center) 센터에 에지(edge) 캐시 노드를 배치하고, 모든 트래픽이 이 통신망을 통해 전달된다. 이 경우, 사용자 트래픽은 수십 Km~수백 Km가 되는 통신망을 거쳐 전달되므로, 수십 ms~수백 ms의 전송 지연을 가진다. 기존의 인터넷 응용 서비스들이 지연에 민감하지 않고 용량도 수십 Mbps를 필요로 하여 큰 문제가 없었다.In existing public networks, edge cache nodes are deployed in telecommunications companies' Internet Data Centers (IDCs) to optimize content delivery, and all traffic is routed through these networks. In these cases, user traffic traverses networks that can be tens to hundreds of kilometers long, resulting in transmission delays of tens to hundreds of milliseconds. This latency problem was not a major issue, as existing Internet applications are not sensitive to delays and require capacities of tens of Mbps.

그러나, 최근에는 이러한 통신망을 이용한 실시간 고화질 영상 전송, 초실감형 영상 서비스, 고화질 및 대용량 게임 서비스 등의 초저지연 및 초고속 전송이 필요한 서비스가 대두되었다. 이에 따라 이러한 통신망에서 수억 개 이상의 콘텐츠를 처리해야 하는 대용량 콘텐츠 서비스에 대해서 보다 빠르고 안정적인 서비스를 지원해야 한다.However, recently, services requiring ultra-low latency and ultra-high-speed transmission have emerged, such as real-time high-definition video transmission, ultra-realistic video services, and high-definition and high-capacity gaming services utilizing these networks. Accordingly, these high-capacity content services, which require the processing of hundreds of millions of pieces of content over these networks, must support faster and more stable services.

관련 선행 기술로는 대한민국 특허출원 공개 번호 제2017-0044926호에 기재된 "네트워크 환경에서 서비스 기반의 모바일 에지 컴퓨팅 제어방법 및 장치"이 있다.
또한, 관련 선행 기술로는 대한민국 특허출원 공개 번호 제2022-00098016호에 기재된 " 지연 스트리밍 캐싱 방법 및 이를 수행하는 엣지 서버 "가 있다.
Related prior art includes “Service-based mobile edge computing control method and device in a network environment” described in Republic of Korea Patent Application Publication No. 2017-0044926.
In addition, related prior art includes “Delayed streaming caching method and edge server performing the same” described in Republic of Korea Patent Application Publication No. 2022-00098016.

본 발명이 해결하고자 하는 과제는, 네트워크에서 콘텐츠의 경로를 기반으로 동일한 콘텐츠를 동일한 에지 서버로 라우팅하는 시스템 및 방법을 제공하는 것이다.The problem to be solved by the present invention is to provide a system and method for routing the same content to the same edge server based on the path of the content in a network.

본 발명의 실시 예에 따르면, 콘텐츠 라우팅 시스템이 제공된다. 상기 콘텐츠 라우팅 시스템은, 원본 서버로부터의 콘텐츠를 캐싱하여 제공하는 복수의 캐싱 서버와 연계되어 있으며, 사용자 단말로부터의 콘텐츠 서비스 요청을 수신하고, 상기 콘텐츠 서비스 요청에 대응하는 URL(uniform resource locator)을 파싱하도록 구성된 도메인 처리기; 및 상기 도메인 처리기로부터의 파싱 결과로부터 획득되는 도메인이 등록된 도메인인 경우, 상기 도메인에 대응하는 서비스 구성 정보를 기반으로 상기 복수의 캐싱 서버 중 하나의 캐싱 서버를 선택하고, 선택된 캐싱 서버의 정보를 응답하도록 구성된 라우팅 처리기를 포함하며, 상기 서비스 구성 정보는 서비스의 도메인별로, 해당 서비스를 제공하는 적어도 하나의 서버 그룹에 대한 정보, 각 서버 그룹에 포함되는 적어도 하나의 캐싱 서버에 대한 정보를 포함하며, 서비스별 부하, 히트수를 포함하는 파라미터를 기반으로 서비스가 적어도 하나의 서버 그룹에 매핑된다.According to an embodiment of the present invention, a content routing system is provided. The content routing system includes a domain processor, which is linked to a plurality of caching servers that cache and provide content from an original server, and is configured to receive a content service request from a user terminal and parse a uniform resource locator (URL) corresponding to the content service request; and a routing processor, which is configured to select one caching server among the plurality of caching servers based on service configuration information corresponding to the domain when the domain obtained from the parsing result from the domain processor is a registered domain, and to respond with information about the selected caching server, wherein the service configuration information includes, for each domain of the service, information about at least one server group that provides the corresponding service and information about at least one caching server included in each server group, and a service is mapped to at least one server group based on parameters including a load and a number of hits for each service.

일 구현 예에서, 상기 라우팅 처리기는, 복수의 라우팅 방식 중 적어도 하나에 기반하여, 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하도록 구성된 라우팅 엔진을 포함할 수 있다.In one implementation example, the routing processor may include a routing engine configured to select at least one of a group of servers mapped to a service corresponding to the acquired domain based on at least one of a plurality of routing methods, and to select at least one of a caching server belonging to the selected group of servers.

일 구현 예에서, 상기 서버 그룹을 선택하는 데 사용되는 라우팅 방식과 상기 서버 그룹에 속하는 캐싱 서버를 선택하는 데 사용되는 라우팅 방식이 상이할 수 있다.In one implementation example, the routing method used to select the server group and the routing method used to select a caching server belonging to the server group may be different.

일 구현 예에서, 상기 복수의 라우팅 방식은, 일관된 해싱 라우팅 알고리즘에 따른 제1 라우팅 방식, 라운드 로빈 라우팅 알고리즘에 따른 제2 라우팅 방식, 확장 가능한 일관된 해싱 라우팅 알고리즘에 따른 제3 라우팅 방식을 포함할 수 있다.In one implementation example, the plurality of routing schemes may include a first routing scheme according to a consistent hashing routing algorithm, a second routing scheme according to a round-robin routing algorithm, and a third routing scheme according to a scalable consistent hashing routing algorithm.

일 구현 예에서, 상기 라우팅 엔진은, 상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법, 상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법, 상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법, 상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법, 및 상기 제3 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제3 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법 중 적어도 하나를 기반으로 캐싱 서버를 선택하고, 선택된 캐싱 서버의 정보를 응답하도록 구성될 수 있다.In one implementation example, the routing engine may be configured to select a caching server based on at least one of a method of selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the first routing method and selecting at least one of a caching server belonging to the server group selected according to the first routing method, a method of selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the first routing method and selecting at least one of a caching server belonging to the server group selected according to the second routing method, a method of selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the second routing method and selecting at least one of a caching server belonging to the server group selected according to the first routing method, and a method of selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the second routing method and selecting at least one of a caching server belonging to the server group selected according to the second routing method, and a method of selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the third routing method and selecting at least one of a caching server belonging to the server group selected according to the third routing method.

일 구현 예에서, 상기 제3 라우팅 방식은 부하 조건에 따라 설정되는 가중치에 따라 각 서버 그룹에 속하는 캐싱 서버의 개수를 증가시켜서 라우팅을 수행하는 방식일 수 있다.In one implementation example, the third routing method may be a method of performing routing by increasing the number of caching servers belonging to each server group according to a weight set according to a load condition.

일 구현 예에서, 상기 라우팅 처리기는, 상기 획득된 도메인이 필터링 조건을 만족하는 경우, 상기 필터링 조건에서 지정된 캐싱 서버의 정보를 응답하거나, 상기 콘텐츠 서비스 요청에 대한 차단 처리를 수행하도록 구성된 필터링 처리기를 포함할 수 있다. 여기서, 상기 필터링 조건은 임의의 서비스에서 제공하는 임의의 콘텐츠에 대해서는 미리 설정된 캐싱 서버로 라우팅 하거나 차단 처리를 수행하는 것을 나타낼 수 있다.In one implementation example, the routing processor may include a filtering processor configured to, if the acquired domain satisfies a filtering condition, respond with information from a caching server specified in the filtering condition or perform blocking processing on the content service request. Here, the filtering condition may indicate routing to a preset caching server or performing blocking processing on any content provided by any service.

일 구현 예에서, 상기 라우팅 처리기는, 상기 콘텐츠 서비스 요청으로부터 획득된 도메인이 이미 응답한 콘텐츠에 대응하면서 상기 콘텐츠 서비스 요청이 지정된 시간 내에 다시 입력된 경우, 상기 이미 응답한 콘텐츠를 제공한 캐싱 서버의 정보를 응답하도록 구성된 캐싱 처리기를 포함할 수 있으며, 서비스별로 상기 지정된 시간이 상이하게 설정될 수 있다.In one implementation example, the routing processor may include a caching processor configured to respond with information about a caching server that provided the already responded content when the content service request is re-entered within a specified time while the domain obtained from the content service request corresponds to content already responded to, and the specified time may be set differently for each service.

다른 실시 예에 따르면, 원본 서버로부터의 콘텐츠를 캐싱하여 제공하는 복수의 캐싱 서버와 연계되어 있는 시스템이 라우팅을 수행하는 라우팅 방법이 제공된다. 상기 라우팅 방법은, 상기 시스템이, 사용자 단말로부터의 콘텐츠 서비스 요청을 수신하고, 상기 콘텐츠 서비스 요청에 대응하는 URL(uniform resource locator)을 파싱하는 단계; 상기 시스템이, 상기 파싱 결과로부터 획득되는 도메인이 등록된 도메인인 경우, 상기 도메인에 대응하는 서비스 구성 정보를 기반으로 상기 복수의 캐싱 서버 중 하나의 캐싱 서버를 선택하는 단계; 및 상기 시스템이, 상기 선택된 캐싱 서버의 정보를 응답하는 단계를 포함하며, 상기 서비스 구성 정보는 서비스의 도메인별로, 해당 서비스를 제공하는 적어도 하나의 서버 그룹에 대한 정보, 각 서버 그룹에 포함되는 적어도 하나의 캐싱 서버에 대한 정보를 포함하며, 서비스별 부하, 히트수를 포함하는 파라미터를 기반으로 서비스가 적어도 하나의 서버 그룹에 매핑된다.According to another embodiment, a routing method is provided, in which a system linked to a plurality of caching servers that cache and provide content from an original server performs routing. The routing method includes the steps of: the system receiving a content service request from a user terminal and parsing a uniform resource locator (URL) corresponding to the content service request; the system selecting one of the plurality of caching servers based on service configuration information corresponding to a domain obtained from the parsing result if the domain is a registered domain; and the step of the system responding with information on the selected caching server, wherein the service configuration information includes, for each domain of the service, information on at least one server group that provides the corresponding service and information on at least one caching server included in each server group, and a service is mapped to at least one server group based on parameters including a load and a number of hits for each service.

일 구현 예에서, 상기 선택하는 단계는, 복수의 라우팅 방식 중 적어도 하나에 기반하여, 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계를 포함할 수 있다.In one implementation example, the selecting step may include selecting at least one of a group of servers mapped to a service corresponding to the acquired domain based on at least one of a plurality of routing methods, and selecting at least one of a caching server belonging to the selected group of servers.

일 구현 예에서, 상기 복수의 라우팅 방식은, 일관된 해싱 라우팅 알고리즘에 따른 제1 라우팅 방식, 라운드 로빈 라우팅 알고리즘에 따른 제2 라우팅 방식, 확장 가능한 일관된 해싱 라우팅 알고리즘에 따른 제3 라우팅 방식을 포함하며, 상기 제3 라우팅 방식은 부하 조건에 따라 설정되는 가중치에 따라 각 서버 그룹에 속하는 캐싱 서버의 개수를 증가시켜서 라우팅을 수행하는 방식일 수 있다.In one implementation example, the plurality of routing methods include a first routing method according to a consistent hashing routing algorithm, a second routing method according to a round-robin routing algorithm, and a third routing method according to a scalable consistent hashing routing algorithm, and the third routing method may be a method for performing routing by increasing the number of caching servers belonging to each server group according to a weight set according to a load condition.

일 구현 예에서, 상기 선택하는 단계는, 상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계; 상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계; 상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계; 상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계; 및 상기 제3 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제3 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계 중 적어도 하나를 포함할 수 있다.In one implementation example, the selecting step may include at least one of the steps of: selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the first routing method, and selecting at least one of a caching server belonging to the server group selected according to the first routing method; selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the first routing method, and selecting at least one of a caching server belonging to the server group selected according to the second routing method; selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the second routing method, and selecting at least one of a caching server belonging to the server group selected according to the first routing method; selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the second routing method, and selecting at least one of a caching server belonging to the server group selected according to the second routing method; and selecting at least one of a server group mapped to a service corresponding to the acquired domain according to the third routing method, and selecting at least one of a caching server belonging to the server group selected according to the third routing method.

일 구현 예에서, 상기 선택하는 단계는, 상기 획득된 도메인이 필터링 조건을 만족하는 경우, 상기 필터링 조건에서 지정된 캐싱 서버를 선택하거나, 상기 콘텐츠 서비스 요청에 대한 차단 처리를 선택하는 필터링 라우팅 단계를 포함할 수 있으며, 상기 응답하는 단계는 상기 지정된 캐싱 서버의 정보를 응답하거나 상기 콘텐츠 서비스 요청이 차단되었음을 응답하는 단계를 포함할 수 있다.In one implementation example, the selecting step may include a filtering routing step of selecting a caching server specified in the filtering condition or selecting a blocking process for the content service request when the acquired domain satisfies the filtering condition, and the responding step may include a step of responding with information of the specified caching server or responding that the content service request has been blocked.

일 구현 예에서, 상기 필터링 라우팅 단계는, 상기 획득된 도메인이 필터링 조건에 등록되어 있는지를 판단하는 단계; 상기 획득된 도메인이 상기 필터링 조건에 등록되어 있으면, 상기 파싱 결과로부터 확인되는, 요청한 콘텐츠가 상기 필터링 조건에 등록되어 있는지를 판단하는 단계; 및 상기 요청한 콘텐츠가 상기 필터링 조건에 등록되어 있으면 상기 요청한 콘텐츠에 지정된 캐싱 서버를 선택하는 단계를 포함할 수 있다.In one implementation example, the filtering routing step may include: a step of determining whether the acquired domain is registered under a filtering condition; a step of determining whether the requested content, identified from the parsing result, is registered under the filtering condition if the acquired domain is registered under the filtering condition; and a step of selecting a caching server specified for the requested content if the requested content is registered under the filtering condition.

일 구현 예에서, 상기 선택하는 단계는, 상기 획득된 도메인이 이미 응답한 콘텐츠에 대응하면서 상기 콘텐츠 서비스 요청이 지정된 시간 내에 다시 입력된 경우, 상기 이미 응답한 콘텐츠를 제공한 캐싱 서버를 선택하는 단계; 상기 획득된 도메인이 이미 응답한 콘텐츠에 대응하지 않는 경우에, 상기 획득된 도메인이 필터링 조건을 만족하는지를 판단하는 단계; 상기 획득된 도메인이 필터링 조건을 만족하는 경우에, 상기 필터링 조건에서 지정된 캐싱 서버를 선택하거나, 상기 콘텐츠 서비스 요청에 대한 차단 처리를 선택하는 단계; 및 상기 획득된 도메인이 필터링 조건을 만족하지 않는 경우에, 복수의 라우팅 방식 중 적어도 하나에 기반하여, 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 단계를 포함할 수 있다.In one implementation example, the selecting step may include: selecting a caching server that has provided the content that has already been responded to if the acquired domain corresponds to content that has already been responded to and the content service request is input again within a specified time; determining whether the acquired domain satisfies a filtering condition if the acquired domain does not correspond to content that has already been responded to; selecting a caching server specified in the filtering condition if the acquired domain satisfies the filtering condition or selecting a blocking process for the content service request if the acquired domain satisfies the filtering condition; and selecting at least one of a server group mapped to a service corresponding to the acquired domain based on at least one of a plurality of routing methods and selecting at least one of a caching server belonging to the selected server group if the acquired domain does not satisfy the filtering condition.

실시 예들에 따르면, 5G 네트워크에서 유입되는 콘텐츠 요청에 대응하는 URL(uniform resource locator)을 기반으로 동일한 콘텐츠는 동일한 에지 서버로 라우팅함으로써, 에지 서버에서 메모리/디스크 캐시 히트율을 높이고 원본 서버로의 중복적인 콘텐츠 요청을 감소시킬 수 있다.According to embodiments, by routing identical content to the same edge server based on the uniform resource locator (URL) corresponding to the content request coming from the 5G network, the memory/disk cache hit rate in the edge server can be increased and duplicate content requests to the origin server can be reduced.

도 1은 본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템의 개념을 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 캐싱 서버의 그룹화를 나타낸 도이다.
도 3은 본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템의 구조를 나타내 도이다.
도 4는 본 발명의 실시 예에 따른 캐싱에 의한 라우팅을 나타낸 예시도이다.
도 5는 본 발명의 실시 예에 따른 필터를 통한 라우팅을 나타낸 예시도이다.
도 6은 본 발명의 실시 예에 따른 확장 가능한 일관된 해싱 라우팅 알고리즘의 처리 개념을 나타낸 예시도이다.
도 7은 본 발명의 실시 예에 따른 라우팅 엔진에 의한 라우팅 처리를 나타낸 예시도이다.
도 8은 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법의 전체 흐름도이다.
도 9는 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법 수행시, 콘텐츠 라우팅 시스템의 구성 요소를 통한 처리 흐름을 나타낸 도이다.
도 10은 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법에서 라우팅 처리를 통해 서비스 노드를 선택하는 과정을 나타낸 흐름도이다.
FIG. 1 is a diagram illustrating the concept of a content routing system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a grouping of caching servers according to an embodiment of the present invention.
FIG. 3 illustrates the structure of a content routing system according to an embodiment of the present invention.
FIG. 4 is an exemplary diagram showing routing by caching according to an embodiment of the present invention.
FIG. 5 is an exemplary diagram showing routing through a filter according to an embodiment of the present invention.
FIG. 6 is an exemplary diagram illustrating a processing concept of an extensible consistent hashing routing algorithm according to an embodiment of the present invention.
FIG. 7 is an exemplary diagram showing routing processing by a routing engine according to an embodiment of the present invention.
Figure 8 is a general flowchart of a content routing method according to an embodiment of the present invention.
FIG. 9 is a diagram showing a processing flow through components of a content routing system when performing a content routing method according to an embodiment of the present invention.
FIG. 10 is a flowchart illustrating a process of selecting a service node through routing processing in a content routing method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present invention are described in detail so that those skilled in the art can easily practice them. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts irrelevant to the description are omitted for clarity of description, and similar parts are designated with similar reference numerals throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, whenever a part is said to "include" a component, this does not mean that it excludes other components, but rather that it may include other components, unless otherwise stated.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In this specification, expressions described in the singular may be interpreted as singular or plural, unless explicit expressions such as “one” or “single” are used.

또한, 본 발명의 실시 예에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.Additionally, terms including ordinal numbers, such as "first" and "second," used in embodiments of the present invention may be used to describe components, but the components should not be limited by these terms. These terms are used solely to distinguish one component from another. For example, without departing from the scope of the present invention, a first component could be referred to as a "second component," and similarly, a second component could also be referred to as a "first component."

이하, 도면을 참조하여 본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템 및 방법에 대하여 설명한다.Hereinafter, a content routing system and method according to an embodiment of the present invention will be described with reference to the drawings.

본 발명의 실시 예에서는 5G 네트워크에서 에지 캐시(edge cache) 노드가 5G 에지 클라우드에 배치되고, 에지 캐시 노드가 사용자 요청에 따른 콘텐츠를 콘텐츠 오리진 서버 즉, 원본 서버를 대신하여 직접 사용자 단말로 제공하는 환경에서, 원본 서버로의 중복적인 콘텐츠 요청을 감소시키고자 한다. 이를 위해, 사용자가 요청하는 콘텐츠의 경로(예: URL(uniform resource locator))를 기반으로 동일한 콘텐츠를 동일한 에지 캐시 노드 라우팅한다. 에지 캐시 노드는 "에지 서버"또는 "캐싱 서버" 또는 "에지 노드"또는 "서비스 노드" 또는"노드"라고도 명명될 수 있다.In an embodiment of the present invention, in an environment where an edge cache node is deployed in a 5G edge cloud in a 5G network and the edge cache node directly provides content requested by a user to a user terminal on behalf of the content origin server, i.e., the original server, the method aims to reduce duplicate content requests to the original server. To this end, the same content is routed to the same edge cache node based on the path (e.g., uniform resource locator (URL)) of the content requested by the user. The edge cache node may also be referred to as an "edge server," a "caching server," an "edge node," a "service node," or a "node."

도 1은 본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템의 개념을 나타낸 도이다.FIG. 1 is a diagram illustrating the concept of a content routing system according to an embodiment of the present invention.

본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템(1)은 도 1에서와 같이, 복수의 캐싱 서버(2)와 사용자 단말(3) 사이에서의 라우팅을 수행한다. 복수의 캐싱 서버(2)는 원본 서버로부터의 콘텐츠를 캐싱하도록 구성되며, 캐싱된 콘텐츠를 사용자 단말(3)로 제공한다.A content routing system (1) according to an embodiment of the present invention performs routing between a plurality of caching servers (2) and a user terminal (3), as shown in FIG. 1. The plurality of caching servers (2) are configured to cache content from an original server and provide the cached content to the user terminal (3).

사용자 단말(3)은 도메인 접속 주소를 사용하여 콘텐츠 라우팅 시스템(1)을 통해 임의의 캐싱 서버(2)로부터 콘텐츠를 제공받는다.The user terminal (3) receives content from an arbitrary caching server (2) through the content routing system (1) using the domain access address.

콘텐츠 라우팅 시스템(1)은 사용자 단말(3)이 요청하는 콘텐츠의 경로(URL)를 인지하여 지정하는 기능을 수행하여, 사용자 단말(3)이 적절한 캐싱 서버(2)로부터 콘텐츠를 제공받도록 한다.The content routing system (1) performs a function of recognizing and designating the path (URL) of the content requested by the user terminal (3), thereby allowing the user terminal (3) to receive the content from an appropriate caching server (2).

콘텐츠 라우팅 시스템(1)은 HTTP(Hyper Text Transfer Protocol), MSS(Microsoft Smooth Streaming), RTMP(Real-Time Messaging Protocol) 등과 같은 다양한 프로토콜을 수용하고 지원하도록 구성된다. 이러한 콘텐츠 라우팅 시스템(1)은 SCR(service content router)이라고도 명명될 수 있다.The content routing system (1) is configured to accept and support various protocols such as HTTP (Hyper Text Transfer Protocol), MSS (Microsoft Smooth Streaming), RTMP (Real-Time Messaging Protocol), etc. This content routing system (1) may also be called SCR (service content router).

본 발명의 실시 예에서는 서비스별로 복수의 캐싱 서버들을 그룹화할 수 있다.In an embodiment of the present invention, multiple caching servers can be grouped by service.

도 2는 본 발명의 실시 예에 따른 캐싱 서버의 그룹화를 나타낸 도이다.FIG. 2 is a diagram showing a grouping of caching servers according to an embodiment of the present invention.

첨부한 도 2에 도시되어 있듯이, 복수의 서비스 A~N이 제공되는 환경에서, 복수의 서비스 A~N을 그룹화하여 그룹 A~N 중 적어도 하나에 각각 대응시킬 수 있다. 각 그룹에 대해 캐싱 서버 즉, 적어도 하나의 노드가 지정될 수 있다.As illustrated in the attached Figure 2, in an environment where multiple services A through N are provided, multiple services A through N can be grouped and each service can be assigned to at least one of the groups A through N. A caching server, i.e., at least one node, can be designated for each group.

서비스를 그룹화할 때, 서비스의 특성 파라미터 예를 들어, 히트(hit) 수, 패턴(예: 서비스 URL의 패턴 등), 부하 조건을 고려하여 해당 서비스를 특정 그룹에 매핑할 수 있다.When grouping services, you can map them to specific groups by considering the service's characteristic parameters, such as the number of hits, patterns (e.g., patterns in service URLs), and load conditions.

이러한 그룹화를 기반으로, 각 서비스별로 n개의 그룹(또는 영역(zone) 또는 서버 그룹이라고 지칭될 수 있음)이 설정될 수 있으며, 이에 대응하는 서비스 환경 설정(Config)이 생성되어 관리될 수 있다. 그리고 각 그룹에 적어도 하나의 노드가 지정될 수 있으며, 이에 대응하는 영역 파일이 생성되어 관리될 수 있다. 구체적으로, 서비스별로 구성 정보가 매핑되고, 구성 정보는 서비스별 도메인에 대응하여, 해당 서비스를 제공하는 적어도 하나의 캐싱 서버를 포함하는 서버 그룹 정보(예: 지정된 서버 그룹과 그의 노드들에 대한 정보를 포함하는 영역 파일), 필터링 조건, 사용할 라우팅 알고리즘 등을 포함할 수 있다. 필터링 조건은 임의의 서비스에서 제공하는 임의의 콘텐츠에 대해서는 미리 설정된 서비스 노드로 라우팅을 하는 것을 나타내며, 예를 들어, 서비스 도메인, 콘텐츠 식별 정보, 그리고 서비스 노드의 정보를 포함할 수 있다.Based on this grouping, n groups (or may be referred to as zones or server groups) can be set for each service, and corresponding service environment settings (Config) can be created and managed. At least one node can be designated for each group, and a corresponding zone file can be created and managed. Specifically, configuration information is mapped for each service, and the configuration information can include server group information including at least one caching server providing the corresponding service (e.g., a zone file including information on the designated server group and its nodes), filtering conditions, a routing algorithm to be used, etc., corresponding to the domain of each service. The filtering conditions indicate that any content provided by any service is routed to a preset service node, and can include, for example, information on a service domain, content identification information, and service node.

도 3은 본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템의 구조를 나타내 도이다.FIG. 3 illustrates the structure of a content routing system according to an embodiment of the present invention.

본 발명의 실시 예에 따른 콘텐츠 라우팅 시스템(1)은 사용자 단말(3)로부터의 콘텐츠 서비스 요청을 수신하고, 콘텐츠 서비스 요청을 적절한 캐싱 서버(2)로 라우팅한다.A content routing system (1) according to an embodiment of the present invention receives a content service request from a user terminal (3) and routes the content service request to an appropriate caching server (2).

이를 위해, 콘텐츠 라우팅 시스템(1)은 도 3에서와 같이, 서비스별로 콘텐츠 서비스 요청에 대응하는 URL을 처리하도록 구성된 도메인 처리기(handler)(10), 캐싱을 통한 라우팅 처리를 수행하도록 구성된 캐싱 처리기(20), 특정 조건에 따른 라우팅 처리를 수행하도록 구성된 필터링 처리기(30), 구성 및 조건에 따른 적합한 라우팅 알고리즘 엔진을 구동하도록 구성된 라우팅 엔진(40), 라우팅 처리에 따른 다양한 통계 데이터를 생성하도록 구성된 통계 처리기(50)를 포함한다. 이들 구성 요소들은 운영 서버(60)를 통해 네트워크 상의 사용자 단말(3) 및 캐싱 서버(2)와 통신할 수 있으며, 사용자 인터페이스(70)를 통해 이들 구성 요소들에 대한 운용 관리 및 연동을 위한 기능이 제공될 수 있다. 여기서, 캐싱 처리기(20), 필터링 처리기(30), 라우팅 엔진(40)을 포괄하여, "라우팅 처리기"라고 명명할 수 있다.To this end, the content routing system (1) includes, as shown in FIG. 3, a domain handler (10) configured to process a URL corresponding to a content service request for each service, a caching handler (20) configured to perform routing processing through caching, a filtering handler (30) configured to perform routing processing according to specific conditions, a routing engine (40) configured to drive a suitable routing algorithm engine according to configuration and conditions, and a statistics processor (50) configured to generate various statistical data according to routing processing. These components can communicate with a user terminal (3) and a caching server (2) on the network through an operation server (60), and a function for operation management and linkage for these components can be provided through a user interface (70). Here, the caching handler (20), the filtering handler (30), and the routing engine (40) may be collectively referred to as a "routing handler."

도메인 처리기(10)는 수신되는 콘텐츠 서비스 요청 즉, URL을 파싱하여 도메인을 획득하도록 구성되며, 또한, 획득된 도메인이 등록된 도메인(예: 서비스를 제공하는 도메인)지를 확인한다.The domain processor (10) is configured to parse a received content service request, i.e., a URL, to obtain a domain, and also checks whether the obtained domain is a registered domain (e.g., a domain providing a service).

캐싱 처리기(20)는 기 응답한 콘텐츠가 지정된 시간 내에 다시 요청된 경우, 해당 콘텐츠를 캐싱한 노드(캐싱 서버)에 대응하는 응답 정보(예: IP 주소 등)를 리턴하도록 구성된다. 여기서 지정된 시간은 서비스별로 다르게 설정될 수 있다. 예를 들어, 도 2의 서비스 A에 대해서는 제1 지정 시간이 설정되고, 서비스 N에 대해서는 제N 지정 시간이 설정될 수 있다.The caching processor (20) is configured to return response information (e.g., IP address, etc.) corresponding to the node (caching server) that cached the content when the previously responded content is requested again within a specified time. The specified time here may be set differently for each service. For example, a first specified time may be set for service A of FIG. 2, and an Nth specified time may be set for service N.

도 4는 본 발명의 실시 예에 따른 캐싱에 의한 라우팅을 나타낸 예시도이다.FIG. 4 is an exemplary diagram showing routing by caching according to an embodiment of the present invention.

본 발명의 실시 예에서 캐싱 처리기(20)에 의한 캐싱 라우팅, 필터 처리기(30)에 의한 필터 라우팅, 라우팅 엔진(40)에 의한 알고리즘 라우팅이 수행될 수 있으며, 예를 들어, 입력된 콘텐츠 서비스 요청에 대해 먼저 캐싱 라우팅 적용 여부를 판단하고, 캐싱 라우팅에 대응하지 않으면(N) 필터 라우팅이 수행되고, 필터 라우팅에 대응하지 않으면(N) 알고리즘 라우팅이 수행될 수 있다.In an embodiment of the present invention, caching routing by a caching processor (20), filter routing by a filter processor (30), and algorithm routing by a routing engine (40) may be performed. For example, it may be determined whether caching routing is to be applied to an input content service request first, and if it does not correspond to caching routing (N), filter routing may be performed, and if it does not correspond to filter routing (N), algorithm routing may be performed.

캐싱 라우팅시, 도 4에서와 같이, 콘텐츠 서비스 요청이 캐싱 라우팅, 또는 필터 라우팅, 또는 알고리즘 라우팅에 의해 이미 응답한 콘텐츠에 대응하고 지정된 시간 내에 다시 요청되는 경우, 캐싱 처리기(20)가 해당 콘텐츠를 캐싱한 노드(캐싱 서버)에 대응하는 응답 정보를 생성하여 제공한다.In caching routing, as shown in FIG. 4, if a content service request corresponds to content already responded to by caching routing, filter routing, or algorithm routing and is requested again within a specified time, the caching processor (20) generates and provides response information corresponding to the node (caching server) that cached the content.

이러한 캐싱 라우팅에 대해 통계 데이터, 예를 들어, 어느 캐싱 서버에 캐싱된 콘텐츠들 중 어느 콘텐츠에 대해 얼마나 캐싱 라우팅이 수행되었는지를 나타내는 데이터 등이 통계 처리기(50)에 의해 생성될 수 있다.Statistical data regarding such caching routing, for example, data indicating how much caching routing was performed for which content among the contents cached on which caching server, may be generated by the statistics processor (50).

한편, 필터링 처리기(30)는 특정 조건(필터링 조건이라고도 명명됨)에 따른 라우팅 처리를 수행하도록 구성되며, 일 구현 예로, URL의 특정 패턴을 필터링하는 URL 필터를 사용할 수 있다.Meanwhile, the filtering processor (30) is configured to perform routing processing according to specific conditions (also called filtering conditions), and as an example of one implementation, a URL filter that filters a specific pattern of a URL can be used.

도 5는 본 발명의 실시 예에 따른 필터를 통한 라우팅을 나타낸 예시도이다.FIG. 5 is an exemplary diagram showing routing through a filter according to an embodiment of the present invention.

본 발명의 실시 예에서, URL 필터를 통해 사전 등록된 콘텐츠에 한해 즉시 응답 처리가 이루어지도록 할 수 있다. URL 필터를 위한 필요 정보는 도메인, 콘텐츠, 그리고 장비(그룹)을 포함한다. 예를 들어, 도 5에 예시되어 있듯이, 도메인 "solbox.com", 콘텐츠 "test.avi" 그리고 장비의 주소 "fhs001.ec01"와 같은 URL 필터를 위한 필요 정보가 매핑 테이블에 저장되어 관리될 수 있다. 이러한 정보를 포함하는 URL 필터가 복수개 설정되어 매핑 테이블에 등록될 수 있으며, 등록하는 URL 필터의 개수가 제한적일 수 있으며, 특수한 경우에만 URL 필터를 이용한 라우팅이 수행될 수도 있다.In an embodiment of the present invention, immediate response processing can be performed only for pre-registered content through a URL filter. The necessary information for a URL filter includes a domain, content, and a device (group). For example, as illustrated in FIG. 5, necessary information for a URL filter, such as the domain "solbox.com," content "test.avi," and device address "fhs001.ec01," can be stored and managed in a mapping table. Multiple URL filters containing such information can be set and registered in the mapping table. The number of registered URL filters can be limited, and routing using URL filters can be performed only in special cases.

도 5에서와 같이, 도메인 처리기(10)를 통해 사용자 단말(3)로부터 전달되는 콘텐츠 서비스 요청에 대응하는 URL을 파싱하면(S1), 필터링 처리기(30)는 파싱된 결과로부터 도메인을 획득하여 도메인 필터링을 수행한다(S2). 그리고 획득된 도메인(예: "solbox.com")이 등록되어 있는지 즉, URL 필터에 등록되어 있는지를 판단한다(S3). 획득된 도메인이 URL 필터에 등록되어 있으면 콘텐츠 필터링을 수행하여(S4), 요청한 콘텐츠(예: "test.avi")가 URL 필터에 등록되어 있는지를 판단한다(S5). 요청한 콘텐츠가 URL 필터에 등록되어 있으면, 라우팅 결과 즉, URL 필터에서 해당 콘텐츠에 대응하여 설정된 장비 즉, 캐싱 서버의 주소(예: "fhs001.ec01")를 전달한다(S6). 이 경우, 대응하는 캐싱 서버의 정보를 응답하는 것 대신에, 요청한 콘텐츠가 URL 필터에 등록되어 있으면, 해당 콘텐츠를 제공하지 않는 차단 처리도 수행될 수 있다.As shown in Fig. 5, when a URL corresponding to a content service request transmitted from a user terminal (3) through a domain processor (10) is parsed (S1), a filtering processor (30) obtains a domain from the parsed result and performs domain filtering (S2). Then, it determines whether the obtained domain (e.g., "solbox.com") is registered, i.e., registered in the URL filter (S3). If the obtained domain is registered in the URL filter, content filtering is performed (S4) to determine whether the requested content (e.g., "test.avi") is registered in the URL filter (S5). If the requested content is registered in the URL filter, the routing result, i.e., the address of the caching server (e.g., "fhs001.ec01"), which is the device set corresponding to the content in the URL filter, is transmitted (S6). In this case, instead of responding with information about the corresponding caching server, if the requested content is registered in the URL filter, a blocking process may also be performed to not provide the content.

한편, 콘텐츠 서비스 요청에 대응하는 URL로부터 획득된 도메인이 URL 필터에 등록되어 있지 않거나, 요청한 콘텐츠가 URL 필터에 등록되어 있지 않은 경우에는, 라우팅 엔진(40)을 통해 콘텐츠 서비스 요청이 처리된다(S7).Meanwhile, if the domain obtained from the URL corresponding to the content service request is not registered in the URL filter or the requested content is not registered in the URL filter, the content service request is processed through the routing engine (40) (S7).

라우팅 엔진(40)은 적합한 라우팅 알고리즘 엔진을 선택하여 라우팅 처리를 수행하도록 구성된다. 구체적으로, 라우팅 엔진(40)은 복수의 라우팅 알고리즘 중에서 하나를 선택하며, 복수의 라우팅 알고리즘은 일관된 해싱(Consistent Hashing) 라우팅 알고리즘, 라운드 로빈(Round-Robin) 라우팅 알고리즘, 확장 가능한 일관된 해싱(Scalable Consistent-Hashing) 라우팅 알고리즘을 포함하지만, 반드시 이에 제한되는 것은 아니다.The routing engine (40) is configured to select an appropriate routing algorithm engine and perform routing processing. Specifically, the routing engine (40) selects one of a plurality of routing algorithms, and the plurality of routing algorithms include, but are not necessarily limited to, a consistent hashing routing algorithm, a round-robin routing algorithm, and a scalable consistent hashing routing algorithm.

일관된 해싱 라우팅 알고리즘(제1 라우팅 방식이라고도 명명됨)의 경우, 콘텐츠 서비스 요청에 대응하는 URL의 해시 값에 대응하여 캐싱 서버(또는 서버 그룹)를 지정하여 라우팅을 수행함으로써, 콘텐츠 부하 분산이 이루어지도록 한다. 해시 값에 대응하는 캐싱 서버(또는 서버 그룹)의 추가/삭제시 일부 콘텐츠만 영향을 받아 일정 수준의 서비스 품질을 유지할 수 있다.Consistent hashing routing algorithms (also known as the first routing method) perform routing by assigning a caching server (or server group) based on the hash value of the URL corresponding to the content service request, thereby achieving content load distribution. Adding or deleting caching servers (or server groups) corresponding to the hash value only affects some content, maintaining a certain level of service quality.

라운드 로빈 라우팅 알고리즘(제2 라우팅 방식이라고 명명됨)의 경우, 입력되는 콘텐츠 서비스 요청을 순차적으로 캐싱 서버에 배정하여 라우팅을 수행함으로써, 콘텐츠 부하 분산이 이루어지도록 한다. 예를 들어, 콘텐츠 서비스 요청에 따라 캐싱 서버 또는 그룹 내 노드(캐싱 서버)를 순차적으로 배정할 수 있다. 라운드 로빈 라우팅 알고리즘은 특정 컨텐츠가 서버 그룹 내 모두 존재할 경우에 선택될 수 있다.The round-robin routing algorithm (also known as the second routing method) sequentially assigns incoming content service requests to caching servers, thereby achieving content load distribution. For example, caching servers or nodes within a group (caching servers) can be sequentially assigned based on content service requests. The round-robin routing algorithm can be selected when a specific content exists across all servers in a group.

확장 가능한 일관된 해싱 라우팅 알고리즘(제3 라우팅 방식이라고 명명됨)의 경우, 부하 조건에 따라 가중치를 설정하고, 가중치에 따라 해시값에 대응하는 캐싱 서버(또는 서버 그룹)의 개수를 증가시켜 라우팅을 수행한다. 여기서 부하 조건은 트래픽, 요청 건수 등을 포함하나, 이에 한정되지 않는다.For the scalable consistent hashing routing algorithm (called the third routing method), routing is performed by setting weights based on load conditions and increasing the number of caching servers (or server groups) corresponding to the hash value based on the weights. Load conditions include, but are not limited to, traffic and the number of requests.

도 6은 본 발명의 실시 예에 따른 확장 가능한 일관된 해싱 라우팅 알고리즘의 처리 개념을 나타낸 예시도이다.FIG. 6 is an exemplary diagram illustrating a processing concept of an extensible consistent hashing routing algorithm according to an embodiment of the present invention.

일관된 해싱 라우팅 알고리즘 기반의 라우팅 수행시, 도 6의 (a)에서와 같이, 서비스에 할당된 캐싱 서버(노드)가 N개일 경우, 특정한 콘텐츠(예: psy.mpeg 서비스)가 증가하여 N개의 노드 중 특정 노드만 부하가 가중될 수 있다.When performing routing based on a consistent hashing routing algorithm, as in (a) of Fig. 6, if there are N caching servers (nodes) assigned to a service, a specific content (e.g., psy.mpeg service) may increase, and only a specific node among the N nodes may be subject to increased load.

이를 고려하여, 서비스별로 부하 조건에 따라 가중치를 설정하고, 가중치에 따라 서비스 노드 개수를 증가시키는 확장 가능한 일관된 해싱 라우팅 알고리즘을 적용할 수 있다. 확장 가능한 일관된 해싱 라우팅 알고리즘 기반의 라우팅 수행시, 도 6의 (b)에서와 같이, 특정한 콘텐츠(예: psy.mpeg 서비스)에 대한 부하 조건에 따라 설정되는 가중치가 제1 값에 대응하면(비지(busy) 상태), N개의 노드 중 4개의 노드를 선택하여 라우팅을 수행한다. 또한, 특정한 콘텐츠(예: psy.mpeg 서비스)에 대한 부하 조건에 따라 설정되는 가중치가 제2 값에 대응하면(매우 비지(very busy) 상태), N개의 노드 중 8개의 노드를 선택하여 라우팅을 수행한다. 이에 따라 일관된 해싱 라우팅 알고리즘을 기반으로 하면서 부하 조건에 따라 보다 효과적인 서비스 라우팅이 수행될 수 있다.Taking this into account, a scalable consistent hashing routing algorithm can be applied that sets weights according to load conditions for each service and increases the number of service nodes according to the weights. When performing routing based on the scalable consistent hashing routing algorithm, as shown in Fig. 6 (b), if the weight set according to the load conditions for a specific content (e.g., psy.mpeg service) corresponds to the first value (busy state), routing is performed by selecting 4 nodes out of N nodes. In addition, if the weight set according to the load conditions for a specific content (e.g., psy.mpeg service) corresponds to the second value (very busy state), routing is performed by selecting 8 nodes out of N nodes. Accordingly, more effective service routing can be performed according to load conditions based on the consistent hashing routing algorithm.

라우팅 엔진(40)은 일관된 해싱 라우팅 알고리즘, 라운드 로빈 라우팅 알고리즘, 확장 가능한 일관된 해싱 라우팅 알고리즘 중 적어도 하나를 선택 및/또는 조합하여 라우팅을 수행할 수 있다.The routing engine (40) can perform routing by selecting and/or combining at least one of a consistent hashing routing algorithm, a round robin routing algorithm, and a scalable consistent hashing routing algorithm.

도 7은 본 발명의 실시 예에 따른 라우팅 엔진에 의한 라우팅 처리를 나타낸 예시도이다.FIG. 7 is an exemplary diagram showing routing processing by a routing engine according to an embodiment of the present invention.

서비스별로 그룹(서버 그룹)이 구성되고 각 그룹별로 캐싱 서버(노드)가 구성될 때, 라우팅 엔진(40)은 1) 일관된 해싱 라우팅 알고리즘(Consistent Hash)을 이용하여 라우팅을 수행하는 방식, 2) 일관된 해싱 라우팅 알고리즘(Consistent Hash)을 이용하여 그룹 선택 후, 라운드 로빈 라우팅 알고리즘(R-R)을 통해 그룹 내 서버 간에 라우팅을 수행하는 방식, 3) 라운드 로빈 라우팅 알고리즘(R-R)을 이용하여 그룹 선택 후, 일관된 해싱 라우팅 알고리즘(Consistent Hash)을 통해 그룹 내 서버 간에 라우팅을 수행하는 방식, 4) 라운드 로빈 라우팅 알고리즘(R-R)을 통해 라우팅을 수행하는 방식, 5) 확장 가능한 일관된 해싱 라우팅 알고리즘(Scalable Consistent Hash)을 이용하여 라우팅을 수행하는 방식 중 적어도 하나를 이용할 수 있다. 다만, 본 발명은 이러한 알고리즘 조합 방식에 한정되지는 않는다.When groups (server groups) are configured by service and caching servers (nodes) are configured by each group, the routing engine (40) can use at least one of the following methods: 1) a method of performing routing using a consistent hashing routing algorithm (Consistent Hash), 2) a method of performing group selection using a consistent hashing routing algorithm (Consistent Hash) and then performing routing between servers within the group using a round robin routing algorithm (R-R), 3) a method of performing group selection using a round robin routing algorithm (R-R) and then performing routing between servers within the group using a consistent hashing routing algorithm (Consistent Hash), 4) a method of performing routing using a round robin routing algorithm (R-R), and 5) a method of performing routing using a scalable consistent hashing routing algorithm (Scalable Consistent Hash). However, the present invention is not limited to such algorithm combination methods.

이러한 조합 방식에 기반하여, 일 구현 예로, 서비스별로 라우팅 알고리즘을 상이하게 적용하여 콘텐츠 부하 분산을 수행할 수 있다.Based on this combination method, content load distribution can be performed by applying different routing algorithms to each service, as an example of an implementation.

첨부한 도 7에 예시되어 있듯이, 일 구현 예에서, 서비스별로 그룹(서버 그룹)이 구성되고 각 그룹별로 캐싱 서버(노드)가 구성될 때, 제1 서비스에 대해서는 1)의 방식에 따라 라우팅을 수행하고, 제2 서비스에 대해서는 2)의 방식에 따라 라우팅을 수행하며, 제3 서비스에 대해서는 3)의 방식에 따라 라우팅을 수행하고, 제4 서비스에 대해서는 4)의 방식에 따라 라우팅을 수행하며, 제5 서비스에 대해서는 5)의 방식에 따라 라우팅을 수행하여, 콘텐츠 부하 분산이 이루어지도록 한다.As illustrated in the attached Figure 7, in one implementation example, when groups (server groups) are configured for each service and caching servers (nodes) are configured for each group, routing is performed according to method 1) for the first service, routing is performed according to method 2) for the second service, routing is performed according to method 3) for the third service, routing is performed according to method 4) for the fourth service, and routing is performed according to method 5) for the fifth service, thereby achieving content load distribution.

다음에는 이러한 구조의 콘텐츠 라우팅 시스템에 기반하여, 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법에 대해 설명한다.Next, a content routing method according to an embodiment of the present invention is described based on a content routing system of this structure.

도 8은 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법의 전체 흐름도이고, 도 9는 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법 수행시, 콘텐츠 라우팅 시스템의 구성 요소를 통한 처리 흐름을 나타낸 도이다.FIG. 8 is a flowchart of a content routing method according to an embodiment of the present invention, and FIG. 9 is a diagram showing a processing flow through components of a content routing system when performing a content routing method according to an embodiment of the present invention.

첨부한 도 8에서와 같이, 사용자 단말(3)에서 사용자가 제공받고자 하는 서비스에 대응하는 콘텐츠를 선택하고(예: HTTP_MSS 사용하여 콘텐츠 선택)(S100), 이에 대응하는 콘텐츠 서비스 요청(Contents request)이 콘텐츠 라우팅 시스템(1)으로 전달된다(S110). 이러한 콘텐츠 서비스 요청은 도 9에 도시되어 있듯이, 운영 서버(60)를 통해 처리기들(10~40)로 전달된다.As shown in the attached Figure 8, a user terminal (3) selects content corresponding to a service the user wishes to receive (e.g., selecting content using HTTP_MSS) (S100), and a corresponding content service request (Contents request) is transmitted to the content routing system (1) (S110). This content service request is transmitted to processors (10-40) via the operating server (60), as illustrated in Figure 9.

콘텐츠 라우팅 시스템(1)은 콘텐츠 서비스 요청에 기반하여 라우팅을 수행하며, 특히, 적절한 라우팅 처리를 선택하여 서비스 노드 즉, 캐싱 서버(2)를 선택한다(S120, S130). 이에 대해서는 하기에서 보다 구체적으로 설명하기로 한다.The content routing system (1) performs routing based on content service requests, and in particular, selects a service node, i.e., a caching server (2), by selecting an appropriate routing process (S120, S130). This will be described in more detail below.

콘텐츠를 제공할 서비스 노드인 캐싱 서버(2)를 선택한 후, 콘텐츠 라우팅 시스템(1)은 선택된 캐싱 서버(2)에 대응하는 응답 정보(location)(예: 선택된 캐싱 서버의 도메인)를 생성하여 사용자 단말(3)로 제공한다(예: 302 response)(S140, S150). 응답 정보는 도 9에 도시되어 있듯이, 운영 서버(60)를 통해 사용자 단말(3)로 전달될 수 있다.After selecting a caching server (2), which is a service node to provide content, the content routing system (1) generates response information (location) (e.g., domain of the selected caching server) corresponding to the selected caching server (2) and provides it to the user terminal (3) (e.g., 302 response) (S140, S150). The response information can be transmitted to the user terminal (3) via the operation server (60), as illustrated in FIG. 9.

이러한 콘텐츠 라우팅 시스템(1)의 응답에 따라, 사용자 단말(3)은 대응하는 캐싱 서버(2)로 콘텐츠를 요청함으로써(S160), 대응하는 콘텐츠를 캐싱 서버(2)로부터 제공받는다(S170).According to the response of this content routing system (1), the user terminal (3) requests content from the corresponding caching server (2) (S160), thereby receiving the corresponding content from the caching server (2) (S170).

도 10은 본 발명의 실시 예에 따른 콘텐츠 라우팅 방법에서 라우팅 처리를 통해 서비스 노드를 선택하는 과정을 나타낸 흐름도이다.FIG. 10 is a flowchart illustrating a process of selecting a service node through routing processing in a content routing method according to an embodiment of the present invention.

위에 기술된 바와 같이, 콘텐츠 서비스 요청에 기반하여 서비스 노드 즉, 캐싱 서버를 선택하는 과정에서, 콘텐츠 요청 시스템(1)은 도 10에서와 같이, 콘텐츠 서비스 요청에 대응하는 URL을 파싱하여 도메인을 획득한다(S300).As described above, in the process of selecting a service node, i.e., a caching server, based on a content service request, the content request system (1) obtains a domain by parsing a URL corresponding to the content service request, as shown in FIG. 10 (S300).

획득된 도메인이 등록된 도메인 즉, 서비스를 제공하는 도메인인지를 판단하고(S310), 등록된 도메인인 경우, 해당 서비스의 구성 정보를 획득한다(S320). 서비스의 구성 정보로부터 필터링 조건이 설정되어 있는지를 확인하고(S330), 필터링 조건이 설정되어 있는 경우에는 필터링에 기반한 라우팅 처리를 수행한다(S340). 이에 따라 필터링 조건에 등록된 서비스 노드인 캐싱 서버의 정보를 사용자 단말(3)로 제공하는 응답 처리 또는 차단 처리 등이 수행될 수 있다. 이에 대해서는 위에 기술된 도 5의 설명을 참조한다.It is determined whether the acquired domain is a registered domain, i.e., a domain providing a service (S310). If it is a registered domain, the configuration information for the corresponding service is acquired (S320). It is confirmed whether a filtering condition has been set from the service configuration information (S330). If a filtering condition has been set, routing processing based on the filtering is performed (S340). Accordingly, response processing or blocking processing, such as providing information on a caching server, a service node registered under the filtering condition, to the user terminal (3) can be performed. For this purpose, please refer to the description of FIG. 5 described above.

한편, 단계(S330)에서, 필터링 조건이 설정되어 있지 않은 경우에는 라우팅 알고리즘에 기반한 라우팅 처리를 수행한다. 이를 위해, 해당 서비스에 대응하여 일관된 해싱 라우팅 알고리즘, 라운드 로빈 라우팅 알고리즘, 확장 가능한 일관된 해싱 라우팅 알고리즘 중 적어도 하나를 사용하여 적절한 서비스 노드인 캐싱 서버를 선택한다(S350). 그리고 선택된 캐싱 서버의 정보를 사용자 단말(3)로 제공한다(S360)(예: HTTP 302 response). 이에 대해서는 위에 기술된 라우팅 엔진 관련된 설명 그리고 도 6 및 도 7에 관련된 설명을 참조한다.Meanwhile, in step (S330), if no filtering conditions are set, routing processing is performed based on a routing algorithm. To this end, a caching server, which is an appropriate service node, is selected using at least one of a consistent hashing routing algorithm, a round-robin routing algorithm, and an extensible consistent hashing routing algorithm corresponding to the corresponding service (S350). Then, information about the selected caching server is provided to the user terminal (3) (S360) (e.g., an HTTP 302 response). For this, refer to the description of the routing engine described above and the descriptions related to FIGS. 6 and 7.

한편, 단계(S320)에서, URL 파싱 결과에 따라 획득된 도메인이 등록된 도메인이 아닌 경우에는 해당 콘텐츠를 제공할 수 없음을 나타내는 응답(예: HTTP 404 response)을 사용자 단말(3)로 제공한다(S370).Meanwhile, in step (S320), if the domain obtained based on the URL parsing result is not a registered domain, a response (e.g., HTTP 404 response) indicating that the content cannot be provided is provided to the user terminal (3) (S370).

본 발명의 일 실시 예에 따른 방법 중 적어도 일부는 컴퓨팅 장치에서 실행되는 프로그램 또는 소프트웨어로 구현될 수 있고, 프로그램 또는 소프트웨어는 컴퓨터로 판독 가능한 매체에 저장될 수 있다.At least some of the methods according to one embodiment of the present invention may be implemented as a program or software running on a computing device, and the program or software may be stored on a computer-readable medium.

또한, 본 발명의 일 실시 예에 따른 방법 중 적어도 일부는 컴퓨팅 장치와 전기적으로 접속될 수 있는 하드웨어로 구현될 수도 있다.Additionally, at least some of the methods according to one embodiment of the present invention may be implemented as hardware that can be electrically connected to a computing device.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.Embodiments of the present invention are not implemented only through the devices and/or methods described above, but may also be implemented through a program for realizing a function corresponding to the configuration of an embodiment of the present invention, a recording medium on which the program is recorded, etc., and such implementation can be easily implemented by an expert in the technical field to which the present invention belongs based on the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims also fall within the scope of the present invention.

Claims (15)

Translated fromKorean
원본 서버로부터의 콘텐츠를 캐싱하여 제공하는 복수의 캐싱 서버와 연계되어 있는 콘텐츠 라우팅 시스템으로서,
사용자 단말로부터의 콘텐츠 서비스 요청을 수신하고, 상기 콘텐츠 서비스 요청에 대응하는 URL(uniform resource locator)을 파싱하도록 구성된 도메인 처리기; 및
상기 도메인 처리기로부터의 파싱 결과로부터 획득되는 도메인이 등록된 도메인인 경우, 상기 도메인에 대응하는 서비스의 서비스 구성 정보를 기반으로 라우팅을 수행하도록 구성된 라우팅 처리기
를 포함하며,
상기 복수의 캐싱 서버는 서버 그룹으로 그룹화되어 있으며, 서비스별로 적어도 하나의 서버 그룹이 설정되고 또한 서비스 구성 정보가 매핑되며, 상기 서비스 구성 정보는 필터링 조건 및 라우팅 알고리즘 중 하나를 포함하고,
상기 라우팅 처리기는,
상기 도메인에 대응하는 서비스의 서비스 구성 정보가 상기 필터링 조건을 포함하는 경우, 상기 필터링 조건에 미리 설정된 캐싱 서버의 정보를 상기 사용자 단말로 응답하도록 구성된 필터링 처리기; 및
상기 도메인에 대응하는 서비스의 서비스 구성 정보가 상기 필터링 조건을 포함하지 않고 상기 라우팅 알고리즘을 포함하는 경우, 상기 라우팅 알고리즘에 따라 해당 서비스에 설정된 적어도 하나의 서버 그룹 중 하나의 서버 그룹을 선택하고, 선택된 서버 그룹에 포함된 캐싱 서버 중 하나를 선택하며, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하도록 구성된 라우팅 엔진
을 포함하며,
상기 라우팅 알고리즘은, 서비스별로 부하 조건에 따라 설정되는 가중치에 따라, 선택된 서버 그룹에 포함된 캐싱 서버 중 선택되는 캐싱 서버의 개수가 달라지는 라우팅 방식을 포함하는, 콘텐츠 라우팅 시스템.
A content routing system linked to multiple caching servers that cache and provide content from the original server,
A domain processor configured to receive a content service request from a user terminal and parse a uniform resource locator (URL) corresponding to the content service request; and
A routing processor configured to perform routing based on service configuration information of a service corresponding to the domain, if the domain obtained from the parsing result from the domain processor is a registered domain.
Includes,
The above multiple caching servers are grouped into server groups, at least one server group is set for each service, and service configuration information is mapped, and the service configuration information includes one of a filtering condition and a routing algorithm.
The above routing processor,
A filtering processor configured to respond to the user terminal with information of a caching server preset to the filtering condition when the service configuration information of the service corresponding to the domain includes the filtering condition; and
If the service configuration information of the service corresponding to the domain does not include the filtering condition and includes the routing algorithm, a routing engine configured to select one server group from among at least one server group set for the service according to the routing algorithm, select one of the caching servers included in the selected server group, and respond information of the selected caching server to the user terminal.
Includes,
The above routing algorithm is a content routing system including a routing method in which the number of caching servers selected from among caching servers included in a selected server group varies according to weights set according to load conditions for each service.
제1항에 있어서,
상기 서비스 구성 정보는 해당 서비스를 제공하는 적어도 하나의 서버 그룹에 대한 정보를 포함하고, 각 서버 그룹에 포함되는 적어도 하나의 캐싱 서버에 대한 정보를 포함하며, 서비스별 부하, 히트수를 포함하는 파라미터를 기반으로 서비스가 적어도 하나의 서버 그룹에 매핑되는, 콘텐츠 라우팅 시스템.
In the first paragraph,
A content routing system in which the above service configuration information includes information about at least one server group providing the service, information about at least one caching server included in each server group, and a service is mapped to at least one server group based on parameters including load and number of hits per service.
제1항에 있어서,
상기 서버 그룹을 선택하는 데 사용되는 라우팅 방식과 상기 서버 그룹에 속하는 캐싱 서버를 선택하는 데 사용되는 라우팅 방식이 상이한, 콘텐츠 라우팅 시스템.
In the first paragraph,
A content routing system, wherein the routing method used to select the above server group is different from the routing method used to select the caching server belonging to the above server group.
제1항에 있어서,
상기 라우팅 알고리즘은, 일관된 해싱 라우팅 알고리즘에 따른 제1 라우팅 방식, 라운드 로빈 라우팅 알고리즘에 따른 제2 라우팅 방식, 확장 가능한 일관된 해싱 라우팅 알고리즘에 따른 제3 라우팅 방식을 포함하는, 콘텐츠 라우팅 시스템.
In the first paragraph,
A content routing system, wherein the above routing algorithm includes a first routing method according to a consistent hashing routing algorithm, a second routing method according to a round robin routing algorithm, and a third routing method according to a scalable consistent hashing routing algorithm.
제4항에 있어서,
상기 라우팅 엔진은,
상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라, 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법,
상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법,
상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법,
상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법, 및
상기 제3 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제3 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하는 방법
중 적어도 하나를 기반으로 캐싱 서버를 선택하고, 선택된 캐싱 서버의 정보를 응답하도록 구성되는, 콘텐츠 라우팅 시스템.
In paragraph 4,
The above routing engine,
A method of selecting at least one of a group of servers mapped to a service corresponding to the acquired domain according to the first routing method, and selecting at least one of a caching server belonging to the selected group of servers according to the first routing method.
A method of selecting at least one of a group of servers mapped to a service corresponding to the acquired domain according to the first routing method, and selecting at least one of a caching server belonging to the group of servers selected according to the second routing method.
A method of selecting at least one of the server groups mapped to the service corresponding to the acquired domain according to the second routing method, and selecting at least one of the caching servers belonging to the server group selected according to the first routing method.
A method for selecting at least one of a group of servers mapped to a service corresponding to the acquired domain according to the second routing method, and selecting at least one of a caching server belonging to the group of servers selected according to the second routing method, and
A method of selecting at least one of a group of servers mapped to a service corresponding to the acquired domain according to the third routing method, and selecting at least one of a caching server belonging to the group of servers selected according to the third routing method.
A content routing system configured to select a caching server based on at least one of the following and to respond with information from the selected caching server.
제4항에 있어서,
상기 제3 라우팅 방식은 서비스별로 부하 조건에 따라 설정되는 가중치에 따라, 선택된 서버 그룹에 포함된 캐싱 서버 중 선택되는 캐싱 서버의 개수가 달라지는 라우팅 방식이며, 상기 가중치의 값이 상기 부하 조건이 비지 상태를 나타내는 제1 값인 경우 선택되는 캐싱 서버의 개수는, 상기 가중치의 값이 상기 부하 조건이 매우 비지 상태를 나타내는 제2 값인 경우 선택되는 캐싱 서버의 개수보다 작은, 콘텐츠 라우팅 시스템.
In paragraph 4,
The third routing method is a routing method in which the number of caching servers selected from among caching servers included in a selected server group varies according to a weight set according to a load condition for each service, and the number of caching servers selected when the value of the weight is a first value indicating a busy state when the load condition is a busy state is smaller than the number of caching servers selected when the value of the weight is a second value indicating a very busy state when the load condition is a content routing system.
제1항에 있어서,
상기 필터링 처리기는, 추가적으로 상기 콘텐츠 서비스 요청에 대한 차단 처리를 수행하도록 구성되며,
상기 필터링 조건은 임의의 서비스에서 제공하는 임의의 콘텐츠에 대해서는 미리 설정된 캐싱 서버로 라우팅 하거나 차단 처리를 수행하는 것을 나타내는, 콘텐츠 라우팅 시스템.
In the first paragraph,
The above filtering processor is additionally configured to perform blocking processing on the content service request,
The above filtering condition is a content routing system that indicates routing to a preset caching server or performing blocking processing for any content provided by any service.
제1항에 있어서,
상기 라우팅 처리기는
상기 콘텐츠 서비스 요청으로부터 획득된 도메인이 이미 응답한 콘텐츠에 대응하면서 상기 콘텐츠 서비스 요청이 지정된 시간 내에 다시 입력된 경우, 상기 이미 응답한 콘텐츠를 제공한 캐싱 서버의 정보를 응답하도록 구성된 캐싱 처리기
를 포함하며,
서비스별로 상기 지정된 시간이 상이하게 설정되는, 콘텐츠 라우팅 시스템.
In the first paragraph,
The above routing processor
A caching processor configured to respond with information from a caching server that provided the already responded content when the content service request is re-entered within a specified time while the domain obtained from the above content service request corresponds to content already responded to.
Includes,
A content routing system in which the above-mentioned time is set differently for each service.
원본 서버로부터의 콘텐츠를 캐싱하여 제공하는 복수의 캐싱 서버와 연계되어 있는 시스템이 라우팅을 수행하는 라우팅 방법으로서,
상기 복수의 캐싱 서버는 서버 그룹으로 그룹화되어 있으며, 서비스별로 적어도 하나의 서버 그룹이 설정되고 또한 서비스 구성 정보가 매핑되며, 상기 서비스 구성 정보는 필터링 조건 및 라우팅 알고리즘 중 하나를 포함하고,
상기 라우팅 방법은,
상기 시스템이, 사용자 단말로부터의 콘텐츠 서비스 요청을 수신하고, 상기 콘텐츠 서비스 요청에 대응하는 URL(uniform resource locator)을 파싱하는 단계;
상기 시스템이, 상기 파싱 결과로부터 획득되는 도메인이 등록된 도메인인 경우, 상기 도메인에 대응하는 서비스의 서비스 구성 정보가 상기 필터링 조건을 포함하면, 상기 필터링 조건에 미리 설정된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계; 및
상기 시스템이, 상기 도메인에 대응하는 서비스의 서비스 구성 정보가 상기 필터링 조건을 포함하지 않고 상기 라우팅 알고리즘을 포함하는 경우, 상기 라우팅 알고리즘에 따라 해당 서비스에 설정된 적어도 하나의 서버 그룹 중 하나의 서버 그룹을 선택하고, 선택된 서버 그룹에 포함된 캐싱 서버 중 하나를 선택하며, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계
을 포함하며,
상기 라우팅 알고리즘은 서비스별로 부하 조건에 따라 설정되는 가중치에 따라, 선택된 서버 그룹에 포함된 캐싱 서버 중 선택되는 캐싱 서버의 개수가 달라지는 라우팅 방식을 포함하는, 라우팅 방법.
A routing method in which a system performs routing by linking with multiple caching servers that cache and provide content from an original server,
The above multiple caching servers are grouped into server groups, at least one server group is set for each service, and service configuration information is mapped, and the service configuration information includes one of a filtering condition and a routing algorithm.
The above routing method is,
The above system receives a content service request from a user terminal and parses a URL (uniform resource locator) corresponding to the content service request;
The system, if the domain obtained from the parsing result is a registered domain, and if the service configuration information of the service corresponding to the domain includes the filtering condition, responds to the user terminal with information of a caching server preset to the filtering condition; and
The system, when the service configuration information of the service corresponding to the domain does not include the filtering condition and includes the routing algorithm, selects one server group from among at least one server group set for the service according to the routing algorithm, selects one of the caching servers included in the selected server group, and responds information of the selected caching server to the user terminal.
Includes,
The above routing algorithm is a routing method including a routing method in which the number of caching servers selected from among caching servers included in a selected server group varies according to weights set according to load conditions for each service.
제9항에 있어서,
상기 서비스 구성 정보는 서비스의 도메인별로, 해당 서비스를 제공하는 적어도 하나의 서버 그룹에 대한 정보, 각 서버 그룹에 포함되는 적어도 하나의 캐싱 서버에 대한 정보를 포함하며, 서비스별 부하, 히트수를 포함하는 파라미터를 기반으로 서비스가 적어도 하나의 서버 그룹에 매핑되는, 라우팅 방법.
In paragraph 9,
The above service configuration information includes, for each domain of the service, information about at least one server group providing the service, information about at least one caching server included in each server group, and a routing method in which the service is mapped to at least one server group based on parameters including load and number of hits for each service.
제9항에 있어서,
상기 라우팅 알고리즘은, 일관된 해싱 라우팅 알고리즘에 따른 제1 라우팅 방식, 라운드 로빈 라우팅 알고리즘에 따른 제2 라우팅 방식, 확장 가능한 일관된 해싱 라우팅 알고리즘에 따른 제3 라우팅 방식을 포함하며,
상기 제3 라우팅 방식은 서비스별로 부하 조건에 따라 설정되는 가중치에 따라, 선택된 서버 그룹에 포함된 캐싱 서버 중 선택되는 캐싱 서버의 개수가 달라지는 라우팅 방식이며, 상기 가중치의 값이 상기 부하 조건이 비지 상태를 나타내는 제1 값인 경우 선택되는 캐싱 서버의 개수는, 상기 가중치의 값이 상기 부하 조건이 매우 비지 상태를 나타내는 제2 값인 경우 선택되는 캐싱 서버의 개수보다 작은, 라우팅 방법.
In paragraph 9,
The above routing algorithm includes a first routing method according to a consistent hashing routing algorithm, a second routing method according to a round robin routing algorithm, and a third routing method according to a scalable consistent hashing routing algorithm.
The third routing method is a routing method in which the number of caching servers selected from among caching servers included in a selected server group varies according to a weight set according to a load condition for each service, and the number of caching servers selected when the value of the weight is a first value indicating a busy state when the load condition is a busy state is smaller than the number of caching servers selected when the value of the weight is a second value indicating a very busy state when the load condition is a very busy state.
제11항에 있어서,
상기 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계는,
상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하여, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계;
상기 제1 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하여, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계;
상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제1 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하여, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계;
상기 제2 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제2 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하여, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계; 및
상기 제3 라우팅 방식에 따라 상기 획득된 도메인에 대응하는 서비스에 대해 매핑된 서버 그룹 중 적어도 하나를 선택하고, 상기 제3 라우팅 방식에 따라 선택된 서버 그룹에 속하는 캐싱 서버 중 적어도 하나를 선택하여, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계
중 적어도 하나를 포함하는, 라우팅 방법.
In Article 11,
The step of responding information of the above-mentioned selected caching server to the user terminal is:
A step of selecting at least one of the server groups mapped to the service corresponding to the acquired domain according to the first routing method, selecting at least one of the caching servers belonging to the server group selected according to the first routing method, and responding information of the selected caching server to the user terminal;
A step of selecting at least one of the server groups mapped to the service corresponding to the acquired domain according to the first routing method, selecting at least one of the caching servers belonging to the server group selected according to the second routing method, and responding information of the selected caching server to the user terminal;
A step of selecting at least one of the server groups mapped to the service corresponding to the acquired domain according to the second routing method, selecting at least one of the caching servers belonging to the server group selected according to the first routing method, and responding information of the selected caching server to the user terminal;
A step of selecting at least one of the server groups mapped to the service corresponding to the acquired domain according to the second routing method, selecting at least one of the caching servers belonging to the server group selected according to the second routing method, and responding information of the selected caching server to the user terminal; and
A step of selecting at least one of the server groups mapped to the service corresponding to the acquired domain according to the third routing method, selecting at least one of the caching servers belonging to the server group selected according to the third routing method, and responding information of the selected caching server to the user terminal.
A routing method comprising at least one of:
제9항에 있어서,
상기 미리 설정된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계는,
상기 필터링 조건이 차단 처리를 수행하는 것을 나타내는 경우, 상기 콘텐츠 서비스 요청이 차단되었음을 상기 사용자 단말로 응답하는 단계를 포함하는, 라우팅 방법.
In paragraph 9,
The step of responding information of the preset caching server to the user terminal is:
A routing method comprising a step of responding to the user terminal that the content service request has been blocked when the above filtering condition indicates that blocking processing is to be performed.
삭제delete제9항에 있어서,
상기 파싱 결과로부터 획득되는 도메인이 이미 응답한 콘텐츠에 대응하면서 상기 콘텐츠 서비스 요청이 지정된 시간 내에 다시 입력된 경우, 상기 이미 응답한 콘텐츠를 제공한 캐싱 서버를 선택하고, 선택된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계
를 더 포함하고,
상기 획득된 도메인이 이미 응답한 콘텐츠에 대응하지 않는 경우에, 상기 미리 설정된 캐싱 서버의 정보를 상기 사용자 단말로 응답하는 단계가 수행되는, 라우팅 방법.
In paragraph 9,
If the domain obtained from the above parsing result corresponds to content that has already been responded to and the content service request is re-entered within a specified time, a step of selecting a caching server that provided the content that has already been responded to and responding information of the selected caching server to the user terminal
Including more,
A routing method, wherein a step of responding to the user terminal with information from the preset caching server is performed when the acquired domain does not correspond to content already responded to.
KR1020220181807A2022-12-222022-12-22System and method for contents routingActiveKR102852608B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1020220181807AKR102852608B1 (en)2022-12-222022-12-22System and method for contents routing

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020220181807AKR102852608B1 (en)2022-12-222022-12-22System and method for contents routing

Publications (2)

Publication NumberPublication Date
KR20240099888A KR20240099888A (en)2024-07-01
KR102852608B1true KR102852608B1 (en)2025-09-02

Family

ID=91944757

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020220181807AActiveKR102852608B1 (en)2022-12-222022-12-22System and method for contents routing

Country Status (1)

CountryLink
KR (1)KR102852608B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US11303606B1 (en)*2019-06-032022-04-12Amazon Technologies, Inc.Hashing name resolution requests according to an identified routing policy

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US11303606B1 (en)*2019-06-032022-04-12Amazon Technologies, Inc.Hashing name resolution requests according to an identified routing policy

Also Published As

Publication numberPublication date
KR20240099888A (en)2024-07-01

Similar Documents

PublicationPublication DateTitle
JP7609470B2 (en) Context-aware route computation and selection
US20220086254A1 (en)Content delivery network (CDN) cold content handling
US9098464B2 (en)System and method for assigning requests in a content distribution network
US8650282B2 (en)Systems and method to discover clients associated with local domain name server using sampling
CN106031130B (en) Content delivery network architecture with edge proxy
CN101421702B (en) Load control device and method thereof
EP2830280B1 (en)Web caching with security as a service
US20020069241A1 (en)Method and apparatus for client-side proxy selection
WO2010049876A2 (en)System and method for sharing transparent proxy between isp and cdn
KR20120088744A (en)Method and system for application level load balancing in a publish/subscribe message architecture
WO2001080063A2 (en)System and method for serving a web site from multiple servers
US11159642B2 (en)Site and page specific resource prioritization
US9686724B2 (en)Network storage method, switch device, and controller
US10645183B2 (en)Redirection of client requests to multiple endpoints
WO2020210403A1 (en)Context-aware content delivery
CN113676514B (en)File source returning method and device
CN109361778A (en)A kind of method and terminal managing session
CN119629182A (en) Session persistence method, system and storage medium based on Nginx and Lua
KR102852608B1 (en)System and method for contents routing
KR100450605B1 (en)A web application sever and method for providing dynamic contents thereof
CN110036607B (en)Method and request router for dynamic pooling of resources in a content distribution network
Misumi et al.Cache Control Method for Multiple Web Cache Servers Based on Co-Occurrence Degree
KollamkalamA Distributed Content Delivery Network Architecture with Advanced Edge Routers
Miwa et al.Performance evaluation of a load balancing routing algorithm for clustered multiple cache servers
CN120729927A (en) Content acquisition method for cloud phone and content acquisition system for cloud phone

Legal Events

DateCodeTitleDescription
PA0109Patent application

St.27 status event code:A-0-1-A10-A12-nap-PA0109

PA0201Request for examination

St.27 status event code:A-1-2-D10-D11-exm-PA0201

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

D13-X000Search requested

St.27 status event code:A-1-2-D10-D13-srh-X000

PG1501Laying open of application

St.27 status event code:A-1-1-Q10-Q12-nap-PG1501

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

St.27 status event code:A-1-2-D10-D21-exm-PE0902

T11-X000Administrative time limit extension requested

St.27 status event code:U-3-3-T10-T11-oth-X000

E13-X000Pre-grant limitation requested

St.27 status event code:A-2-3-E10-E13-lim-X000

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

PE0701Decision of registration

St.27 status event code:A-1-2-D10-D22-exm-PE0701

PR0701Registration of establishment

St.27 status event code:A-2-4-F10-F11-exm-PR0701

PR1002Payment of registration fee

St.27 status event code:A-2-2-U10-U11-oth-PR1002

Fee payment year number:1

PG1601Publication of registration

St.27 status event code:A-4-4-Q10-Q13-nap-PG1601


[8]ページ先頭

©2009-2025 Movatter.jp