KR101493073B1 - Method for setting upstream server and apparatus thereof - Google Patents

Method for setting upstream server and apparatus thereof Download PDF

Info

Publication number
KR101493073B1
KR101493073B1 KR20130128101A KR20130128101A KR101493073B1 KR 101493073 B1 KR101493073 B1 KR 101493073B1 KR 20130128101 A KR20130128101 A KR 20130128101A KR 20130128101 A KR20130128101 A KR 20130128101A KR 101493073 B1 KR101493073 B1 KR 101493073B1
Authority
KR
South Korea
Prior art keywords
server
upstream
request
upstream server
cache
Prior art date
Application number
KR20130128101A
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 KR20130128101A priority Critical patent/KR101493073B1/en
Application granted granted Critical
Publication of KR101493073B1 publication Critical patent/KR101493073B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

The present invention relates to a method and an apparatus for setting an upstream server in a network environment which provides content by using a multi-stage cache server. In a network environment, where at least one another cache server exists between the cache server and an original web server, an upstream server for the cache server is set. When a request for the content is received, upstream server setting information including at least one upstream server address is acquired from the request, and the received request is delivered to an upstream server corresponding to the server address acquired from the upstream server setting information.

Description

업스트림 서버 설정 방법 및 그 장치{Method for setting upstream server and apparatus thereof}[0001] The present invention relates to an upstream server,

본 발명은 다단계의 캐시 서버를 이용하여 컨텐츠를 제공하는 네트워크 환경에서, 업스트림(upstream) 서버를 설정하는 방법 및 그 장치에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for setting up an upstream server in a network environment for providing contents using a multi-stage cache server.

통신 기술의 발달로 네트워크를 통하여 다양한 컨텐츠들이 디지털화되면서 인터넷을 통해 컨텐츠 공유가 이루어지고 있으며, 글로벌 서비스 또는 대형 서비스를 제공할 때, 서비스 대상 국가에서 서비스 속도 향상을 위해서 캐시 서버를 이용하는 것이 일반적이다. 캐시 서버는 서비스 이용자의 요청에 대해서, 캐시 서버가 가지고 있지 않은 콘텐츠는 원본 웹 서버에 요청해서 받은 다음 서비스 이용자에게 전달함과 동시에 캐시 서버에도 저장을 해서 다음에 동일한 컨텐츠에 대한 요청이 들어오면 원본 웹 서버에 요청 없이 직접 서비스를 제공한다.With the development of communication technology, various contents are being digitized through a network, and contents are shared through the Internet. When providing a global service or a large service, it is common to use a cache server to improve a service speed in a service target country. In response to a request from the service user, the cache server receives content requested by the cache server from the original web server, and then delivers the content to the service user at the same time, stores the same in the cache server, Provide the service directly to the web server without request.

캐시 서버가 동일한 컨텐츠에 대한 요청에 대하여 원본 웹 서버로의 요청 없이 응답을 하기 위해 서비스 이용자에 전달한 데이터를 캐시 서버 저장소에 저장하는 기능을 캐싱(caching)이라고 한다. Caching is the function of the cache server to store the data that it delivers to the service user in order to make a response to the request for the same content without a request to the original web server in the cache server repository.

글로벌 서비스를 제공할 때 원본 웹 서버가 위치한 네트워크와 서비스 이용자가 접속하는 캐시 서버가 위치한 네트워크의 연결 속도가 서비스에 충분하지 않을 수 있다. 이러한 경우, 양쪽의 네트워크에서 네트워크 연결 속도가 원활한 위치에 캐시 서버가 추가적으로 설치되고, 추가된 캐시 서버를 경유해서 서비스가 제공되도록 네트워크 구축이 이루어진다. 이때, 서비스 이용자가 접속하는 캐시 서버를 말단 캐시 서버(Edge Cache Server)하고, 경유하는 캐시 서버를 부모 캐시 서버(Parent Cache Server)라고 한다. 예를 들어, 한국에 원본 웹 서버를 두고 프랑스에서 서비스를 할 경우, 프랑스에 위치한 말단 캐시 서버와 한국의 원본 웹 서버를 직접 연결하지 않고, 미국에 추가적으로 부모 캐시 서버를 구축하여 미국의 부모 캐시 서버를 경유하여 서비스가 제공되도록 한다. When providing a global service, the connection speed between the network where the original web server is located and the network where the cache server to which the service user accesses is located may not be sufficient for the service. In this case, the cache server is additionally installed at a smooth network connection speed in both networks, and the network is constructed so that the service is provided via the added cache server. At this time, a cache server to which the service user accesses is called an edge cache server, and a passing cache server is called a parent cache server. For example, if you have an original web server in Korea and a service in France, you do not directly connect the terminal cache server in France with the original Korean web server in France, but additionally build a parent cache server in the US, So that the service can be provided.

캐시 서버와 원본 웹서버 사이의 네트워크 연결 속도뿐 아니라, 대형의 서비스 제공을 하는 경우 캐시 서버의 대수가 너무 많아지면, 원본 웹 서버로 요청하는 컨텐츠 용량이 증가하게 되며, 원본 웹 서버의 부하가 증가되면 서비스에 지장을 초래할 수 있다. 이러한 경우에도 서비스 이용자가 접속하는 말단 캐시 서버와 원본 웹서버 사이에 부모 캐시 서버를 두고, 이를 경유해서 서비스가 되도록 네트워크 구축을 하면, 원본 웹 서버에 요청되는 컨텐츠 양은 감소하게 되어 안정적인 서비스를 가능하게 한다.In addition to the speed of the network connection between the cache server and the source web server, if the number of cache servers is too large when providing a large service, the amount of content requested to the source web server increases and the load of the source web server increases This can lead to service interruption. Even in such a case, if a parent cache server is placed between the terminal cache server and the original web server to which the service user accesses, and the network is constructed to be a service through the cache server, the amount of contents requested to the original web server is reduced, do.

또한 보다 원활한 서비스 제공을 위하여, 부모 캐시 서버를 1 단계 이상 사용하는 네트워크를 구축할 수 있다. Also, in order to provide smooth service, it is possible to construct a network that uses one or more parent cache servers.

CDN(contents delivery network) 사업자의 경우 각 국가별로 캐시 서버를 구성 운영하면서, 최적의 네트워크를 구성해서 운영하고 있다. 도 1은 CDN을 기반으로 컨텐츠 서비스를 제공하는 것을 나타낸 예시도이다. CDN (contents delivery network) operators configure and operate an optimal network while configuring cache servers for each country. 1 is an exemplary diagram illustrating a content service based on a CDN.

서로 다른 국가(예를 들어, 싱가포르, 독일)에 위치한 원본 웹 서버들과 연계하여 한국에서 서비스를 제공하는 경우, 도 1에서와 같이, 부모 캐시 서버를 네트워크 환경, 비용, 성능상의 이유로 해서 1 단계 이상 사용하는 네트워크를 구축할 수 있다. 일본에 부모 캐시 서버를 구축하고 홍콩에 부모 캐시 서버를 구축하고, 미국에 부모 캐시 서버를 구축한다. 이때, 한국의 말단 캐시 서버가 일본의 부모 캐시 서버와 홍콩 부모 캐시 서버를 통하여 싱가포르의 원본 웹 서버와 연결되도록 하는 경로(서비스 1을 위한 경로)를 구축할 수 있다. 또한 한국의 말단 캐시 서버가 일본의 부모 캐시 서버와 미국의 부모 캐시 서버를 통하여 독일의 원본 웹 서버와 연결되도록 하는 경로(서비스 2를 위한 경로)를 구축할 수 있다. In case of providing services in Korea in connection with original web servers located in different countries (for example, Singapore and Germany), as shown in FIG. 1, You can build a network that uses more than that. Build a parent cache server in Japan, build a parent cache server in Hong Kong, and build a parent cache server in the United States. At this time, it is possible to construct a route (route for service 1) in which a Korean terminal cache server is connected to a Singaporean original web server through a Japanese parent cache server and a Hong Kong parent cache server. It is also possible to construct a path (route for service 2) in which a Korean terminal cache server is connected to a German original web server through a Japanese parent cache server and a US parent cache server.

부모 캐시 서버가 1 단계 이상 구축된 네트워크 상태에서, 서비스 이용자로부터 요청을 받은 캐시 서버는 캐싱되지 않은 컨텐츠에 대해서는 해당 컨텐츠를 가지고 있는 서버에 요청을 해서 받아야 한다. 해당 컨텐츠를 가지고 있는 서버는 원본 웹 서버가 될 수도 있고, 다른 캐시 서버(부모 캐시 서버)가 될 수도 있는데, 이러한 서버를 업스트림 서버(Upstream Server)라고 정의한다.In the network state in which the parent cache server is constructed in more than one stage, the cache server receiving the request from the service user must receive a request from the server having the content for the uncached contents. The server having the content may be a source web server or another cache server (parent cache server), which is defined as an upstream server.

도 1에서, 한국의 말단 캐시 서버는 서비스 1 및 서비스 2에 대한 업스트림 서버로 일본 캐시 서버를 사용하라는 설정이 필요하고, 일본의 캐시 서버는 서비스 1에 대해서는 홍콩 캐시 서버를 업스트림 서버로 사용하고, 서비스 2에 대해서는 미국의 캐시 서버를 업스트림 서버로 사용하라는 설정이 필요하다. 홍콩의 캐시 서버는 서비스 1에 대해서 상가포르의 원본 웹서버를 업스트림 서버로 사용하라는 설정이 필요하며, 미국의 캐시 서버는 독일의 원본 웹서버를 업스트림 서버로 사용하라는 설정이 필요하다.1, it is necessary for the Korean terminal cache server to use a Japanese cache server as an upstream server for Service 1 and Service 2, and a Japanese cache server uses a Hong Kong cache server as an upstream server for Service 1, For service 2, it is necessary to set the US cache server as an upstream server. The cache server in Hong Kong needs to be configured to use Sangafort's original web server as the upstream server for service 1, and the US cache server needs to be set to use the German original web server as the upstream server.

이와 같이 각 단계별로 구축된 캐시 서버마다 서비스 제공을 위한 업스트림 서버를 별도로 설정해야 함으로, 각 캐시 서버별로 설정에 따른 처리 부하가 발생하며, 서비스 경로를 변경하고자 할 때마다 캐시 서버별 처리 과정이 수행됨으로써 신속한 서비스 제공이 어렵다. Since each cache server constructed for each step needs to separately set an upstream server for providing services, a processing load is generated according to each cache server, and a processing process for each cache server is performed whenever a service path is changed It is difficult to provide a rapid service.

본 발명이 해결하고자 하는 과제는 복수의 단계별로 캐시 서버가 구축되어 있는 네트워크를 통하여 서비스가 제공되는 경우, 서비스 제공을 위한 업스트림 서버를 용이하게 설정할 수 있는 방법 및 그 장치를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for easily configuring an upstream server for providing a service when a service is provided through a network in which a cache server is constructed in a plurality of steps.

또한 본 발명이 해결하고자 하는 과제는 말단 캐시 서버와 부모 캐시 서버 중에서 말단 캐시 서버에서만 업스트림 서버를 설정할 수 있는 방법 및 그 장치를 제공하는 것이다. Another object of the present invention is to provide a method and apparatus for configuring an upstream server only in a terminal cache server among a terminal cache server and a parent cache server.

위의 기술적 과제를 위한 본 발명의 특징에 따른 업스트림 서버 설정 방법은 캐시 서버와 원본 웹 서버 사이에 적어도 하나의 다른 캐시 서버가 존재하는 네트워크 환경에서, 캐시 서버에 대한 업스트림 서버를 설정하는 방법에서, 컨텐츠를 요구하는 요청을 수신하는 단계; 상기 요청으로부터 적어도 하나의 업스트림 서버 주소를 포함하는 업스트림 서버 설정 정보를 획득하는 단계; 및 상기 업스트림 서버 설정 정보로부터 획득한 서버 주소에 대응하는 업스트림 서버로 상기 요청을 전달하는 단계를 포함한다. According to an aspect of the present invention, there is provided a method of configuring an upstream server for a cache server in a network environment in which at least one other cache server exists between a cache server and a source web server, Receiving a request for content; Obtaining upstream server configuration information including at least one upstream server address from the request; And transmitting the request to an upstream server corresponding to the server address obtained from the upstream server setting information.

상기 요청을 전달하는 단계에서 상기 업스트림 서버는 상기 원본 웹 서버 또는 상기 요청을 수신한 캐시 서버와 상기 원본 웹 서버 사이에 위치되는 다른 캐시 서버일 수 있다. In the step of transmitting the request, the upstream server may be the original web server or another cache server located between the source web server and the cache server receiving the request.

상기 업스트림 서버 설정 정보는 주소 식별자에 의하여 구분되면서 순차적으로 배열된 복수의 업스트림 서버 주소들을 포함하며, 상기 획득하는 단계는 상기 업스트림 서버 설정 정보에서 가장 마지막에 배열된 서버 주소를 획득하는 단계를 더 포함할 수 있다. Wherein the upstream server configuration information includes a plurality of upstream server addresses that are sequentially arranged while being distinguished by an address identifier, and the acquiring step further includes acquiring a server address arranged last in the upstream server configuration information can do.

상기 요청을 전달하는 단계는 상기 업스트림 서버 설정 정보에서 상기 획득한 서버 주소를 삭제한 다음에 상기 업스트림 서버 설정 정보를 상기 요청에 포함시키는 단계; 상기 업스트림 서버 설정 정보에 상기 획득한 서버 주소 이외의 다른 서버 주소가 존재하지 않는 경우, 상기 요청에서 상기 업스트림 서버 설정 정보를 삭제하는 단계; 및 상기 요청을 상기 업스트림 서버로 전달하는 단계를 포함할 수 있다. Wherein the step of forwarding the request includes deleting the obtained server address from the upstream server configuration information and then including the upstream server configuration information in the request; Deleting the upstream server setting information from the request when the server address other than the obtained server address does not exist in the upstream server setting information; And forwarding the request to the upstream server.

한편, 상기 업스트림 서버 설정 정보를 획득하는 단계는 상기 수신된 요청이 헤더를 포함하는지를 판단하는 단계; 상기 요청이 헤더를 포함하는 경우, 상기 헤더가 상기 업스트림 서버 설정 정보를 포함하는지를 판단하는 단계; 및 상기 헤더가 상기 업스트림 서버 설정 정보를 포함하는 경우, 상기 업스트림 서버 설정 정보를 획득하는 단계를 포함할 수 있다. The acquiring of the upstream server configuration information may include: determining whether the received request includes a header; Determining whether the header includes the upstream server configuration information if the request includes a header; And acquiring the upstream server configuration information when the header includes the upstream server configuration information.

이때, 상기 업스트림 서버 설정 정보를 획득하는 단계는 상기 헤더가 상기 업스트림 서버 설정 정보를 포함하지 않는 경우, 업스트림 서버 설정을 위한 정보가 있는지를 판단하는 단계; 및 상기 정보가 있는 경우, 업스트림 서버 설정 정보를 생성하는 단계를 더 포함할 수 있다. If the header does not include the upstream server configuration information, the step of acquiring the upstream server configuration information may include determining whether there is information for setting up the upstream server; And if the information is present, generating upstream server setting information.

또한 상기 요청을 전달하는 단계는 상기 생성된 업스트림 서버 설정 정보가 하나의 업스트림 서버 주소만을 포함하는 경우에는, 상기 하나의 업스트림 서버 주소에 대응하는 업스트림 서버로 상기 요청을 전달하는 단계; 및 상기 생성된 업스트림 서버 설정 정보가 둘 이상의 업스트림 서버 주소를 포함하는 경우에는, 상기 생성된 업스트림 서버 설정 정보를 상기 요청에 포함시킨 다음에 상기 요청을 전달하는 단계를 더 포함할 수 있다. The step of delivering the request may further include, when the generated upstream server configuration information includes only one upstream server address, transmitting the request to the upstream server corresponding to the one upstream server address; And if the generated upstream server configuration information includes two or more upstream server addresses, the server may include the generated upstream server configuration information in the request and then forward the request.

상기 업스트림 서버 설정 정보를 생성하는 것은 클라이언트에 연결된 말단 캐시 서버에서만 수행될 수 있다. Generating the upstream server configuration information may be performed only in the terminal cache server connected to the client.

본 발명의 다른 특징에 따른 업스트림 서버 설정 방법은, 말단 캐시 서버와 원본 웹 서버 사이에 적어도 하나의 부모 캐시 서버가 존재하는 네트워크 환경에서, 컨텐츠 제공을 위한 업스트림 서버를 설정하는 방법에서, 상기 말단 캐시 서버가 캐싱되지 않은 컨텐츠에 대한 서비스 제공을 위하여, 적어도 하나의 업스트림 서버 주소를 포함하는 업스트림 서버 설정 정보를 생성하는 단계; 상기 말단 캐시 서버가 상기 생성된 업스트림 서버 설정 정보를 클라이언트로부터 수신한 요청에 포함시켜 자신의 업스트림 서버에 해당하는 부모 캐시 서버로 전달하는 단계; 및 상기 부모 캐시 서버는 수신된 요청에 포함된 업스트림 서버 설정 정보로부터 자신의 업스트림 서버--상기 업스트림 서버는 상기 원본 웹 서버 또는 상기 요청을 수신한 캐시 서버와 상기 원본 웹 서버 사이에 위치되는 다른 캐시 서버임--를 확인하고, 상기 요청을 자신의 업스트림 서버로 전달하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method for setting up an upstream server for providing content in a network environment in which at least one parent cache server exists between a terminal cache server and a source web server, Generating, by the server, upstream server configuration information including at least one upstream server address, for providing services for un-cached content; The end cache server including the generated upstream server configuration information in a request received from a client and transmitting the request to a parent cache server corresponding to the upstream server; And the parent cache server receives, from the upstream server configuration information included in the received request, its own upstream server, the upstream server receives the original web server or another cache located between the source web server and the cache server receiving the request, Server, and forwarding the request to its upstream server.

상기 요청을 자신의 업스트림 서버로 전달하는 단계는 상기 부모 캐시 서버가 상기 업스트림 서버 설정 정보에서 자신의 업스트림 서버 주소를 삭제한 다음에 상기 업스트림 서버 설정 정보를 상기 요청에 포함시키는 단계; 상기 부모 캐시 서버가 상기 업스트림 서버 설정 정보에 자신의 업스트림 서버 주소 이외의 다른 서버 주소가 존재하지 않는 경우, 상기 요청에서 상기 업스트림 서버 설정 정보를 삭제하는 단계; 및 상기 부모 캐시 서버가 상기 요청을 자신의 업스트림 서버로 전달하는 단계를 포함할 수 있다. The step of forwarding the request to the upstream server of the parent server includes the upstream server configuration information in the request after the parent cache server deletes its upstream server address from the upstream server configuration information; If the parent cache server does not have a server address other than its own upstream server address in the upstream server configuration information, deleting the upstream server configuration information from the request; And the parent cache server communicating the request to its upstream server.

상기 업스트림 서버 설정 정보는 주소 식별자에 의하여 구분되면서 순차적으로 배열된 복수의 업스트림 서버 주소들을 포함하며, 상기 요청을 자신의 업스트림 서버로 전달하는 단계는 상기 부모 캐시 서버는 상기 업스트림 서버 설정 정보에서 가장 마지막에 배열된 서버 주소를 자신의 업스트림 서버 주소로 획득하는 단계를 더 포함할 수 있다. Wherein the upstream server configuration information comprises a plurality of upstream server addresses that are sequentially arranged while being distinguished by an address identifier, and the step of forwarding the request to the upstream server includes receiving, from the upstream server, And obtaining the server address arranged in the upstream server address as its upstream server address.

또한 본 발명의 다른 특징에 따른 업스트림 서버 설정 장치는, 캐시 서버와 원본 웹 서버 사이에 적어도 하나의 다른 캐시 서버가 존재하는 네트워크 환경에서, 캐시 서버에 대한 업스트림 서버를 설정하는 장치에서, 클라이언트 또는 다른 캐시 서버로부터 수신되는 HTTP 요청을 수신하는 HTTP 요청 수신부; 상기 수신된 HTTP 요청의 헤더를 분석하여, 수신된 HTTP 요청에 헤더가 존재하고 상기 헤더에 업스트림 서버 설정 정보가 포함되어 있는지를 확인하는 헤더 분석부; 상기 수신된 HTTP 요청에 상기 업스트림 서버 설정 정보가 존재하는 경우, 상기 업스트림 서버 설정 정보로부터 해당 캐시 서버의 업스트림 서버--상기 업스트림 서버는 상기 원본 웹 서버 또는 상기 요청을 수신한 캐시 서버와 상기 원본 웹 서버 사이에 위치되는 다른 캐시 서버임--를 확인하는 서버 설정 정보 변경 처리부; 및 상기 수신된 HTTP 요청을 상기 확인된 업스트림 서버로 전달하는 요청 전달부를 포함한다. According to another aspect of the present invention, there is provided an apparatus for setting up an upstream server for a cache server in a network environment in which at least one other cache server exists between a cache server and a source web server, An HTTP request receiving unit for receiving an HTTP request received from a cache server; A header analyzer for analyzing a header of the received HTTP request to confirm whether a header exists in the received HTTP request and whether the header includes upstream server setting information; If the upstream server setting information exists in the received HTTP request, the upstream server of the corresponding cache server from the upstream server setting information, the upstream server transmits the original web server or the cache server receiving the request, A server setting information change processing unit for confirming whether the cache server is another cache server located between the servers; And a request delivery unit for delivering the received HTTP request to the identified upstream server.

또한 상기 업스트림 서버 설정 장치는, 상기 수신된 HTTP 요청에 업스트림 서버 설정 정보가 존재하지 않고 업스트림 서버 설정을 해야 하는 경우, 업스트림 서버 주소 정보들을 포함하는 업스트림 서버 설정 정보를 생성하고 상기 수신된 HTTP 요청에 추가하는 서버 설정 정보 추가부를 더 포함할 수 있다. The upstream server setting device may further include upstream server setting information including upstream server address information when upstream server setting information does not exist in the received HTTP request and upstream server setting information is to be set, And may further include a server setting information adding section for adding the server setting information.

상기 서버 설정 정보 변경 처리부는 상기 업스트림 서버 설정 정보에서 해당 업스트림 서버 주소를 삭제하거나, 업스트림 서버 설정 정보를 삭제하는 처리를 수행하고, 상기 요청 전달부는 상기 업스트림 서버 설정 정보가 변경되거나 삭제된 HTTP 요청을 전달할 수 있다. The server setting information change processing unit deletes the upstream server address or deletes the upstream server setting information from the upstream server setting information, and the request forwarding unit transmits the HTTP request, in which the upstream server setting information is changed or deleted .

상기 업스트림 서버 설정 정보는 주소 식별자에 의하여 구분되면서 순차적으로 배열된 복수의 업스트림 서버 주소들을 포함하며, 상기 서버 설정 정보 변경 처리부는 상기 업스트림 서버 설정 정보에서 가장 마지막에 배열된 서버 주소를 자신의 업스트림 서버 주소로 획득할 수 있다. The upstream server setting information includes a plurality of upstream server addresses that are sequentially arranged while being distinguished by an address identifier, and the server setting information change processing unit updates the server address arranged last in the upstream server setting information to its upstream server Address.

본 발명의 실시 예에 따르면, 복수의 단계별로 캐시 서버가 구축되어 있는 네트워크를 통하여 서비스가 제공되는 경우, 각 단계별 캐시 서버들이 업스트림 서버를 설정할 필요 없이, 말단 캐시 서버만 서비스 제공을 위한 업스트림 서버를 설정하는 것을 통하여 서비스 제공이 원활하게 이루어질 수 있다. According to the embodiment of the present invention, when a service is provided through a network in which a plurality of cache servers are built, a cache server for each stage does not need to set up an upstream server, The service can be smoothly provided through setting.

특히, 말단 캐시 서버에서의 업스트림 서버 설정 과정을 통하여 서비스 제공이 이루어짐으로써, 서비스 경로가 변경되는 경우에도 간단하고 용이하게 업스트림 서버 설정을 수행할 수 있다. 부모 캐시 서버에서의 업스트림 서버 설정 과정 없이 서비스 경로가 변경됨으로써, 캐시 서버에 대한 관리가 단순해지며, 부모 캐시 서버나 원본 웹 서버가 변경되는 경우에도 용이하게 서비스 제공을 위한 캐시 서버 구성을 변경할 수 있다. Particularly, since the service is provided through the upstream server setting process in the end cache server, the upstream server setting can be easily and easily performed even when the service path is changed. Changing the service path without changing the upstream server settings in the parent cache server simplifies management of the cache server and makes it easier to change the cache server configuration for service provisioning even when the parent cache server or the original web server changes have.

도 1은 CDN(contents delivery network)을 기반으로 컨텐츠 서비스를 제공하는 것을 나타낸 예시도이다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 서비스가 이루어지는 네트워크 환경을 나타낸 도이다.
도 3은 본 발명의 실시 예에 따른 업스트림 설정 방법의 흐름도이다.
도 4는 본 발명의 실시 예에 따른 업스트림 설정 장치의 구조를 나타낸 도이다.
1 is an exemplary diagram illustrating a content service based on a contents delivery network (CDN).
2 is a diagram illustrating a network environment in which a content service is performed according to an embodiment of the present invention.
3 is a flowchart of an upstream setting method according to an embodiment of the present invention.
4 is a diagram illustrating a structure of an upstream setting apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이하, 도면을 참조하여 본 발명의 실시 예에 따른 컨텐츠 저장 방법 및 이를 이용한 캐시 서버에 대하여 설명한다. Hereinafter, a method of storing contents according to an embodiment of the present invention and a cache server using the method will be described with reference to the drawings.

도 2는 본 발명의 실시 예에 따른 컨텐츠 서비스가 이루어지는 네트워크 환경을 나타낸 도이다. 2 is a diagram illustrating a network environment in which a content service is performed according to an embodiment of the present invention.

첨부한 도 2에서와 같이, 복수의 캐시 서버들이 단계별로 구축되어 있는 네트워크 환경에서, 서비스 이용자 즉, 클라이언트(100)는 말단 캐시 서버(200)를 통하여 원본 웹 서버(300)로부터 컨텐츠를 제공받는다. 말단 캐시 서버(200)와 원본 웹 서버(300) 사이에 적어도 하나 이상의 부모 캐시 서버(410, 420, 대표 번호로 '400'을 부여함)가 위치된다. 이러한 구조로 이루어지는 네트워크 환경에서, 말단 캐시 서버(200)와 부모 캐시 서버(400) 그리고 원본 웹 서버(300)는 물리적으로 떨어진 위치에 구축될 수 있다. 예를 들어, 원본 웹 서버(300)는 한국에 위치되고, 말단 캐시 서버(200)는 프랑스에 위치되고, 부모 캐시 서버(410, 420)는 미국이나 일본 등에 위치될 수 있다. 2, in a network environment in which a plurality of cache servers are constructed step by step, the service user, that is, the client 100 receives content from the original web server 300 through the end cache server 200 . At least one parent cache server (410, 420, giving '400' as a representative number) is located between the end cache server (200) and the original web server (300). In the network environment having such a structure, the end cache server 200, the parent cache server 400, and the original web server 300 may be physically separated from each other. For example, the original web server 300 may be located in Korea, the end cache server 200 may be located in France, and the parent cache servers 410 and 420 may be located in the United States, Japan, and the like.

말단 캐시 서버(200)는 클라이언트(100)와 직접적으로 연결되어 클라이언트(100)로부터의 요청에 대응하는 컨텐츠를 클라이언트(100)에 제공한다. The terminal cache server 200 is directly connected to the client 100 and provides the client 100 with content corresponding to the request from the client 100. [

부모 캐시 서버(400)는 말단 캐시 서버(200)로부터 전달되는 요청에 대응하는 컨텐츠를 말단 캐시 서버(200)에 제공한다. The parent cache server 400 provides the content corresponding to the request transmitted from the end cache server 200 to the end cache server 200.

원본 웹 서버(300)는 요청된 컨텐츠를 제공하는 원본(origin) 웹 서버로, 컨텐츠 제공을 요구하는 요청에 대응하는 컨텐츠를 제공한다. The original web server 300 is an origin web server that provides the requested content, and provides the content corresponding to the request for providing the content.

말단 캐시 서버(200)나 부모 캐시 서버(400)는 클라이언트의 요청에 대응하는 컨텐츠가 캐싱되어 있는 경우에는 자체 캐싱 저장소에 캐싱되어 있는 해당 컨텐츠를 제공한다. 클라이언트의 요청에 대응하는 컨텐츠가 캐싱되어 있지 않은 경우, 캐싱되지 않은 컨텐츠에 대해서는 해당 컨텐츠를 가지고 있는 서버에 요청을 해서 받아서 제공한다. 해당 컨텐츠를 제공해줄 수 있는 서버는 업스트림 서버(Upstream Server)라고 할 수 있는데, 원본 웹 서버(200) 또는 다른 캐시 서버(부모 캐시 서버)가 업스트림 서버가 될 수 있다. The end cache server 200 or the parent cache server 400 provides corresponding content cached in its own caching repository if the content corresponding to the client's request is cached. If the content corresponding to the client's request is not cached, the non-cached content is requested and provided to the server having the content. The server that can provide the content may be referred to as an upstream server. The original web server 200 or another cache server (parent cache server) may be an upstream server.

클라이언트로부터의 요청에 대응하는 컨텐츠를 제공하기 위해서, 업스트림 서버가 설정되어 있어야, 말단 캐시 서버(200)나 부모 캐시 서버(400)가 캐싱되지 않은 컨텐츠에 대한 요청을 업스트림 서버로 전달하면서 해당 컨텐츠를 요청할 수 있다. In order to provide the content corresponding to the request from the client, the upstream server must be set up so that the terminal cache server 200 or the parent cache server 400 transmits the request for the uncached content to the upstream server, Can be requested.

본 발명의 실시 예에서는 위에 기술된 바와 같은 네트워크 환경에서, 도 2에서와 같이, 말단 캐시 서버(200)가 업스트림 서버를 설정하며, 서비스 경유가 이루어지는 부모 캐시 서버에서는 추가적인 업스트림 서버 설정 과정이 수행되지 않는다. In the embodiment of the present invention, in the network environment as described above, the end cache server 200 sets up an upstream server, as shown in FIG. 2, and an additional upstream server setup process is performed in the parent cache server via the service Do not.

말단 캐시 서버(200)는 클라이언트(100)로부터 제공받은 요청에 대응하는 컨텐츠가 캐싱되어 있지 않은 경우에, 업스트림 서버를 결정하여 부모 캐시 서버로 클라이언트의 요청을 전달하면서 컨텐츠를 요청한다. 이때, 말단 캐시 서버로부터 부모 캐시 서버로 전달되는 요청에 말단 캐시 서버가 설정한 업스트림 서버에 대한 정보가 포함된다. When the content corresponding to the request provided from the client 100 is not cached, the end cache server 200 determines the upstream server and requests the content to the parent cache server while delivering the client's request. At this time, information about the upstream server set by the terminal cache server is included in the request transmitted from the terminal cache server to the parent cache server.

클라이언트(100)로부터 말단 캐시 서버(200)로 전달되는 요청은 HTTP(Hypertext Transfer Protocol) 요청으로 URL(uniform resource locator)에 대응하는 컨텐츠를 요청하는 것이다. 이러한 HTTP 요청은 기본 URL 이외에 GET 파라미터/POST 파라미터나 HTTP 헤더(Header)를 포함한다. 이러한 HTTP 헤더는 HTTP 요청에 포함될 수도 있고 포함되지 않을 수도 있다. HTTP 헤더의 정보 즉, 헤더 정보는 클라이언트가 서버로 요청하는 방법을 나타내는 요청 방법(method)(예를 들어, GET, POST 등) 및 HTTP 버전(HTTP/1.1 등)을 나타내는 요청 파일 정보, 요청을 한 서버에 대한 도메인을 포함하는 호스트 정보, 클라이언트 소프트웨어 등의 이름과 버전을 나타내는 사용자 에이전트(user-agent) 정보, 클라이언트가 허용할 수 있는 파일 형식을 나타내는 파일 형식 정보(Accept) 등을 포함한다. HTTP 헤더에 포함되는 이러한 정보들을 각각 헤더라고 명명할 수 있다. A request transmitted from the client 100 to the end cache server 200 is a request for content corresponding to a URL (uniform resource locator) in response to a Hypertext Transfer Protocol (HTTP) request. These HTTP requests include a GET parameter / POST parameter or an HTTP header (Header) in addition to the base URL. These HTTP headers may or may not be included in the HTTP request. The information in the HTTP header, that is, the header information, includes request file information indicating a request method (e.g., GET, POST, etc.) and HTTP version (HTTP / 1.1, etc.) Host information including a domain for a server, user agent information indicating a name and version of client software, and file format information (Accept) indicating a file format that the client can accept. Such information contained in the HTTP header can be referred to as a header.

클라이언트(100)로부터 말단 캐시 서버(200)로 전달되는 HTTP 요청의 헤더는 예를 들어, 다음과 같은 사항들을 포함한다. The header of the HTTP request transmitted from the client 100 to the end cache server 200 includes, for example, the following items.

Figure 112013097033617-pat00001
Figure 112013097033617-pat00001

이러한 정보를 포함하는 HTTP 요청을 수신한 말단 캐시 서버(200)는 업스트림 서버 설정 정보를 추가적으로 HTTP 요청에 포함시켜 부모 캐시 서버로 전달한다. 말단 캐시 서버(200)는 특정 원본 웹 서버에 대한 요청에 대해서, 이러한 요청에 대한 컨텐츠를 제공할 업스트림 서버들을 설정하고, 설정된 업스트림 서버들에 대한 정보를 HTTP 요청에 포함시킨다. The terminal cache server 200 receiving the HTTP request including the information includes the upstream server configuration information in addition to the HTTP request and transmits the upstream server configuration information to the parent cache server. The end cache server 200 sets up upstream servers to provide the content for such a request for a request to a specific original web server, and includes information about the set upstream servers in the HTTP request.

구체적으로, 특정 원본 웹 서버에 대한 요청에 대하여 적어도 1 단계 이상의 부모 캐시 서버를 경유하여 서비스가 제공되어야 하는 경우, 각 단계의 부모 캐시 서버에 대한 업스크림 서버를 설정한다. 예를 들어, 1 단계의 부모 캐시 서버를 경유할 경우(클라이언트 -> 말단 캐시 서버 -> 1단계 부모 캐시 서버 -> 원본 웹서버 순으로 연결)에는 부모 캐시 서버에 대하여 원본 웹 서버를 업스트림 서버로 설정한다. 그리고 2 단계의 부모 캐시 서버들을 경유할 경우(클라이언트 -> 말단 캐시 서버 -> 1단계 부모 캐시 서버 -> 2단계 부모 캐시 서버 -> 원본 웹서버 순으로 연결)에는, 제1 단계의 부모 캐시 서버에 대해서 업스트림 서버를 설정한다. 이때, 업스트림 서버는 제2 단계의 부모 캐시 서버로 기능하며, 제2 단계의 부모 캐시 서버에 대해서 원본 웹 서버를 업스트림 서버로 설정한다. 또한 3 단계의 부모 캐시 서버들을 경유할 경우(클라이언트 -> 말단 캐시 서버 -> 1단계 부모 캐시 서버 -> 2단계 부모 캐시 서버 -> 3단계 부모 캐시 서버 -> 원본 웹서버 순으로 연결)에는, 제1 단계의 부모 캐시 서버에 대해서 업스트림 서버를 설정한다. 이때, 업스트림 서버는 제2 단계의 부모 캐시 서버로 기능하며, 제2 단계의 부모 캐시 서버에 대해서 업 스트림 서버를 설정한다. 제2 단계의 부모 캐시 서버에 대한 업 스트림 서버는 제3 단계의 부모 캐시 서버로 기능하며, 제3 단계의 부모 캐시 서버에 대해서 원본 웹 서버를 업스트림 서버로 설정한다.Specifically, if a service is to be provided via at least one parent cache server for a request to a specific original web server, an upscream server for each parent cache server is set up. For example, if you pass through the first-level parent cache server (Client-> End Cache Server-> Step 1 Parent Cache Server-> Source Web Server), the source Web server is referred to as the upstream server Setting. In the case of passing through the parent cache servers of the second level (client -> end cache server -> first level parent cache server -> second level parent cache server -> source web server) Configure the upstream server for. At this time, the upstream server functions as the parent cache server in the second step, and the original web server is set as the upstream server with respect to the parent cache server in the second step. In addition, when passing through three parent cache servers (client -> end cache server -> one level parent cache server -> two level parent cache server -> three level parent cache server -> source web server) An upstream server is set for the parent cache server in the first step. At this time, the upstream server functions as the parent cache server of the second stage, and sets up the upstream server to the parent cache server of the second stage. The upstream server for the parent cache server in the second stage functions as a parent cache server in the third stage, and the original web server is set as the upstream server for the parent cache server in the third stage.

말단 캐시 서버(200)는 설정된 업스트림 서버들에 대한 정보를 HTTP 요청에 포함시키고, 업스트림 서버 설정 정보가 포함된 HTTP 요청을 자신의 업스트림 서버로 전달한다. The end cache server 200 includes information on the upstream servers set in the HTTP request and delivers the HTTP request including the upstream server configuration information to its upstream server.

도 2에서, 원본 웹 서버(300)는 한국에 위치되고, 말단 캐시 서버(200)는 프랑스에 위치되고, 부모 캐시 서버(410)는 미국에 위치되고, 부모 캐시 서버(420)는 일본에 위치되고, 원본 웹 서버에 대한 도메인 네임이 "img.domain.com"이라고 가정할 경우, 말단 캐시 서버(200)는 "img.domain.com" 에 대해서 미국의 부모 캐시 서버(410)를 자신의 업스트림 서버로 사용하면서, 미국의 캐시 서버(410)는 일본의 부모 캐시 서버(420)를 업스트림 서버로 사용하고, 일본의 부모 캐시 서버(420)는 한국의 원본 웹서버(300)를 업스트림 서버로 사용하라는 정보를 HTTP 요청의 헤더에 포함시켜 전송한다. 2, the source Web server 300 is located in Korea, the end cache server 200 is located in France, the parent cache server 410 is located in the United States, and the parent cache server 420 is located in Japan And assuming that the domain name for the original web server is "img.domain.com ", the end cache server 200 sends the US parent cache server 410 to its upstream The US cache server 410 uses the Japanese parent cache server 420 as the upstream server and the Japanese parent cache server 420 uses the Korean original web server 300 as the upstream server And transmits the HTTP request by including it in the header of the HTTP request.

이 경우, 말단 캐시 서버(200)로부터 미국의 부모 캐시 서버(410)로 전달되는 HTTP 요청의 헤더는 다음과 같은 정보를 포함한다. In this case, the header of the HTTP request transmitted from the end cache server 200 to the US parent cache server 410 includes the following information.

Figure 112013097033617-pat00002
Figure 112013097033617-pat00002

여기서, X-Upstream-Server는 업스트림 서버 설정 정보이며, 업스트림 서버 헤더라고도 명명될 수 있다. 이러한 업스트림 서버 설정 정보는 경유해야 할 부모 캐시 서버와 최종 원본 웹 서버에 대한 서버 주소를 포함한다. 각 서버 주소들을 별도의 식별자 예를 들어 ";"에 의하여 구분될 수 있다. 이때, 원본 웹 서버 주소, 그리고 경유해야 할 부모 캐시 서버의 주소의 순서대로 기재될 수 있으며, 경유해야 할 부모 캐시 서버의 주소들은 원본 웹 서버에 인접한 순서대로 기재될 수 있다. Here, the X-Upstream-Server is upstream server setting information and may also be referred to as an upstream server header. This upstream server configuration information includes the server address for the parent cache server and the final source web server to pass through. Each server address can be distinguished by a separate identifier, for example, "; ". In this case, the source web server address and the address of the parent cache server to be passed through may be listed in order. The addresses of the parent cache server to be passed through may be listed in order adjacent to the original web server.

한편, 식별자로 ";" 대신에, ","와 같은 다른 형태의 식별자를 시용할 수 있다. 또한 식별자 ";"에 대하여 추가적으로 ","의 식별자를 사용하여, ","의 식별자는 추가적인 정보를 나타내는 것으로 사용할 수도 있다. 예를 들어, 업스트림 서버 설정 정보를 "1.1.1.1,1.1.1.2; 와 같은 형태로 기재하여, 업스트림 서버에 대한 요청을 "1.1.1.1"과 “1.1.1.2” 2대의 서버에 대해서 나누어서 요청하는 부하 분산과, 1.1.1.1 서버가 연결이 안될 경우 나머지 서버인 1.1.1.2 서버에 요청하는 장애 극복을 나타낼 수 있다. On the other hand, Alternatively, other types of identifiers such as "," can be used. Further, the identifier of ", " may be used as an identifier of ", ", and the identifier of", " For example, the upstream server configuration information is written as "1.1.1.1,1.1.1.2;" and requests for the upstream server are divided into two servers "1.1.1.1" and "1.1.1.2" Load balancing, and 1.1.1.1 server failover to the remaining 1.1.1.2 servers if the server fails to connect.

한편, 업스트림 서버 설정 정보에 기재된 단계별로 경유해야 하는 서버들 중에서, 하나의 서버로의 연결이 실패하는 경우, 해당 서버로의 연결을 수행하지 않고 다음 단계의 서버로 연결을 수행하는 것으로 설정할 수 있다. 예를 들어, 업스트림 서버 설정 정보를 "1.1.1.1; 2.2.2.2;"와 같은 형태로 기재한 경우, "2.2.2.2" 서버로의 연결이 실패하면 "1.1.1.1"서버로의 연결을 수행하는 것으로 설정할 수 있다. On the other hand, when the connection to one server fails among the servers to be passed through in the step described in the upstream server setting information, the connection to the next server may be established without performing connection to the server . For example, if the upstream server configuration information is described as "1.1.1.1; 2.2.2.2;" and the connection to the "2.2.2.2" server fails, the connection to the "1.1.1.1" server is performed .

한편, 말단 캐시 서버(200)로부터 HTTP 요청을 받은 부모 캐시 서버는 요청에 대응하는 컨텐츠가 캐싱되어 있지 않은 경우, HTTP 요청에 포함된 업스트림 서버 설정 정보를 토대로 자신의 업스트림 서버를 확인하고, 해당 업스트림 서버로 HTTP 요청을 전달한다. 이때, 부모 캐시 서버는 HTTP 요청에 포함된 업스트림 서버 설정 정보에서 자신에 관련된 업스트림 서버의 주소는 삭제하여 HTTP 요청을 전달할 수 있다. 예를 들어, 부모 캐시 서버는 업스트림 서버 설정 정보(X-Upstream-Server)에서, 마지막에 기재된 서버 주소를 자신의 업스트림 서버로 확인하고, 이후 HTTP 요청 전달시, 업스트림 서버 설정 정보(X-Upstream-Server)에서 마지막에 기재된 서버 주소를 삭제하고 HTTP 요청을 전달한다. On the other hand, when the content corresponding to the request is not cached, the parent cache server receiving the HTTP request from the end cache server 200 checks its upstream server based on the upstream server setting information included in the HTTP request, It forwards the HTTP request to the server. At this time, the parent cache server can forward the HTTP request by deleting the address of the upstream server related to itself in the upstream server configuration information included in the HTTP request. For example, the parent cache server checks the last server address in the upstream server configuration information (X-Upstream-Server) with its upstream server, and then transmits the upstream server configuration information (X-Upstream- Server) deletes the last server address and forwards the HTTP request.

위의 예로부터, 미국의 부모 캐시 서버(410)는 "X-Upstream-Server: [한국의 원본 웹서버 주소]; [일본의 부모 캐시 서버 주소]"로부터 식별자 ";"을 토대로 서버 주소들을 구분하고, 마지막으로 기재된 서버 주소인 일본의 부모 캐시 서버를 업스트림 서버로 설정하고, 일본의 부모 캐시 서버로 HTTP 요청을 전달한다. From the above example, the parent cache server 410 in the US classifies the server addresses based on the identifier "; " from" X-Upstream-Server: [Korean original web server address] Sets the parent cache server of Japan, which is the last server address, as the upstream server, and forwards the HTTP request to the Japanese parent cache server.

미국의 부모 캐시 서버(410)에서 일본의 부모 캐시 서버(420)로 전달되는 HTTP 요청의 헤더는 다음과 같은 정보를 포함한다.The header of the HTTP request transmitted from the US parent cache server 410 to the Japanese parent cache server 420 includes the following information.

Figure 112013097033617-pat00003
Figure 112013097033617-pat00003

일본의 부모 캐시 서버(420)는 미국의 부모 캐시 서버(410)로부터 전달받은 위와 같은 HTTP 요청을 토대로, 대응하는 컨텐츠가 캐싱되어 있지 않은 경우 한국의 원본 웹서버로 HTTP 요청을 전달한다. 이 경우에도, 일본의 부모 캐시 서버(420)는 "X-Upstream-Server: [한국의 원본 웹서버 주소];"로부터 식별자 ";"을 토대로 마지막으로 기재된 서버 주소인 한국의 원본 웹 서버를 업스트림 서버로 설정하고, HTTP 요청에서 자신의 업스트림 서버 주소를 제거하고 한국의 원본 웹 서버(300)로 HTTP 요청을 전달한다. The Japanese parent cache server 420 delivers the HTTP request to the Korean original web server when the corresponding content is not cached based on the HTTP request received from the parent cache server 410 in the United States. Even in this case, the parent cache server 420 in Japan can not access the original web server of Korea, which is the server address last described based on "X-Upstream-Server: [Korean original web server address] Server, removes its upstream server address from the HTTP request, and forwards the HTTP request to the Korean original web server 300.

일본의 부모 캐시 서버(420)에서 한국의 원본 웹 서버(300)로 되는 HTTP 요청의 헤더는 다음과 같은 정보를 포함한다.The header of the HTTP request from the Japanese parent cache server 420 to the Korean original web server 300 includes the following information.

Figure 112013097033617-pat00004
Figure 112013097033617-pat00004

일본의 부모 캐시 서버(420)가 전달받은 HTTP 요청의 "X-Upstream-Server: [한국의 원본 웹서버 주소];"에는 하나의 서버 주소만 기재되어 있으므로, 결국 한국의 원본 웹 서버(300)로 전달되는 HTTP 요청의 헤더에는 업스트림 서버 설정 정보 "X-Upstream-Server"가 삭제된다. Only one server address is listed in "X-Upstream-Server: [Korean original web server address]" of the HTTP request received from the parent cache server 420 of Japan, The upstream server setting information "X-Upstream-Server" is deleted in the header of the HTTP request transmitted to the server.

이후, 한국의 원본 웹 서버(300)는 전달받은 HTTP 요청을 토대로 해당 컨텐츠를 응답한다. 응답된 컨텐츠는 HTTP 요청이 전달된 과정을 따라 역순으로 처리되어 클라이언트(100)로 제공된다. 예를 들어, 한국의 원본 웹 서버(300)는 HTTP 요청에 대한 응답을 일본의 부모 캐시 서버(420)로 전달하고, 일본의 부모 캐시 서버(420)는 해당 응답을 미국의 부모 캐시 서버(410)로 전달하며, 미국의 부모 캐시 서버(410)는 해당 응답을 프랑스의 말단 캐시 서버(200)로 전달하며, 말단 캐시 서버(200)는 해당 응답을 최종적으로 서비스 이용자인 클라이언트(100)에 전달한다. Then, the Korean original web server 300 responds to the content based on the received HTTP request. The responded contents are processed in the reverse order according to the process in which the HTTP request is delivered, and are provided to the client 100. For example, the Korean original web server 300 transmits a response to the HTTP request to the Japanese parent cache server 420, and the Japanese parent cache server 420 transmits the response to the parent cache server 410 The US parent cache server 410 forwards the response to the end cache server 200 in France and the end cache server 200 forwards the response to the client 100, do.

이러한 과정을 통하여 클라이언트(100)는 요청한 컨텐츠를 제공받게 되며, 말단 캐시 서버에서 업스트림 서버를 설정하는 과정만으로 복수의 부모 캐시 서버들을 단계별로 경유하여 컨텐츠 제공 서비스가 이루어진다. 서비스를 제공받는 경로를 변경하고자 하는 경우에도 말단 캐시 서버에서 서비스 제공을 위한 업스트림 서버들을 변경하기만 하면 됨으로, 보다 간단하고 용이하게 다양한 경로를 통하여 글로벌 컨텐츠 서비스를 제공할 수 있다. Through this process, the client 100 is provided with the requested content, and a content providing service is performed through a plurality of parent cache servers through a step of setting up the upstream server in the terminal cache server. Even if the user desires to change the route to be provided with the service, it is only required to change the upstream servers for providing the service in the terminal cache server, so that the global contents service can be provided more easily and easily through various paths.

한편, 업스트림 서버 설정 정보에 버전 정보를 추가하여, 해당 업스트림 서버 설정 정보가 언제 생성된 것인지를 확인할 수 있도록 할 수 있다. 이 경우, 업스트림 서버 설정 정보에 포함된 버전 정보가 최신형이 아닌 경우에는 해당 업스트림 서버 설정 정보를 무시할 수 있다. 또한, 버전 정보가 이전 설정된 업스트림 서버 설정 정보에 포함된 버전 정보와 동일한 경우에는, 이전 설정된 업스트림 서버 설정 정보를 그대로 사용할 수 있다. On the other hand, version information may be added to the upstream server setting information so that it can be confirmed when the upstream server setting information is generated. In this case, if the version information included in the upstream server setting information is not the latest type, the upstream server setting information can be ignored. If the version information is the same as the version information included in the previously set upstream server setting information, the previously set upstream server setting information can be used as it is.

각 캐시 서버에서 본 발명의 실시 예에 따른 업스트림 서버 설정 방법은 다음과 같이 수행된다. An upstream server setting method in each cache server according to an embodiment of the present invention is performed as follows.

도 3은 본 발명의 실시 예에 따른 업스트림 서버 설정 방법의 흐름도이다. 3 is a flowchart of an upstream server setting method according to an embodiment of the present invention.

캐시 서버는 클라이언트(100)로부터 컨텐츠 제공을 요구하는 요청 즉, HTTTP 요청을 수신한다(S100). 캐시 서버는 수신된 HTTP 요청을 검사하여 헤더가 존재하는지를 판단한다(S110).The cache server receives a request for providing content from the client 100, that is, an HTTTP request (S100). The cache server checks the received HTTP request to determine whether a header exists (S110).

수신된 HTTP 요청이 헤더를 포함하는 경우, 헤더에 포함된 정보를 체크하여 업스트림 서버 설정 정보가 존재하는지를 판단한(S120). If the received HTTP request includes a header, information included in the header is checked to determine whether upstream server setting information exists (S120).

HTTP 요청의 헤더에 업스트림 서버 설정 정보 즉, 업스트림 서버 헤더가 존재하는 경우, 캐시 서버는 업스트림 서버 헤더에 포함된 업스트림 서버 주소를 토대로 자신의 업스트림 서버를 확인하고, 업스트림 서버 설정 정보를 변경하거나 삭제한다(S130). 예를 들어, 업스트림 서버 설정 정보에서 자신의 업스트림 서버에 대한 주소를 삭제하는 변경 처리를 한다. 또는 업스트림 서버 설정 정보에서 자신의 업스트림 서버에 대한 주소를 삭제하여 어떠한 서버 주소도 남지 않는 경우에는 업스트림 서버 설정 정보 자체를 삭제한다. 즉, 업스트림 서버 헤더를 삭제한다. If there is upstream server setting information, that is, an upstream server header, in the header of the HTTP request, the cache server identifies the upstream server based on the upstream server address included in the upstream server header, and changes or deletes the upstream server setting information (S130). For example, in the upstream server configuration information, change processing is performed to delete the address for the upstream server. Or deletes the address of the upstream server in the upstream server setting information and deletes the upstream server setting information itself if no server address is left. That is, it deletes the upstream server header.

그리고 HTTP 요청이 캐싱되지 않은 컨텐츠에 대한 것인 경우, 확인된 업스트림 서버로 변경되거나 삭제된 업스트림 서버 설정 정보를 포함하는 HTTP 요청을 자신의 업스트림 서버로 전달한다. 이후, 캐시 서버는 업스트림 서버로부터 HTTP 요청에 대한 HTTP 응답을 수신하고(S140), 수신된 HTTP 응답을 HTTP 요청을 제공한 대상(클라이언트 또는 다른 캐시 서버)로 전달한다(S150). If the HTTP request is for non-cached content, the HTTP request including upstream server setting information changed or deleted to the confirmed upstream server is transmitted to its upstream server. Thereafter, the cache server receives an HTTP response to the HTTP request from the upstream server (S140), and transfers the received HTTP response to the object (client or another cache server) providing the HTTP request (S150).

한편, 단계(120)에서, HTTP 요청의 헤더에 업스트림 서버 설정 정보 즉, 업스트림 서버 헤더가 존재하지 않는 경우, 캐시 서버는 해당 HTTP 요청에 대해서 말단 캐시 서버로 동작하기 위해서 업스트림 서버 설정이 이루어져야 하는지를 판단한다(S160). 예를 들어, 캐시 서버는 HTTP 요청에 포함된 호스트(Host) 헤더의 내용에 대해서 업스트림 서버 설정 정보가 캐시 서버에 존재하는 경우, 업스트림 서버 설정이 이루어져야 하는 것으로 판단한다. If there is no upstream server setting information in the header of the HTTP request, that is, if the upstream server header does not exist in the header of the HTTP request, the cache server determines whether the upstream server setting should be made to operate as a terminal cache server (S160). For example, the cache server determines that the upstream server setting information needs to be set when the upstream server setting information exists in the cache server with respect to the contents of the host header included in the HTTP request.

업스트림 서버 설정 정보를 분석하여, 캐싱되지 않은 컨텐츠를 제공받기 위한 업스트림 서버가 몇 단계 존재하는지를 판단한다(S170). 업스트림 서버가 하나만 존재하는 경우에는, HTTP 요청을 자신의 업스트림 서버로 전달하고 업스트림 서버로부터 HTTP 요청에 대한 HTTP 응답을 수신하며, 수신된 HTTP 응답을 HTTP 요청을 제공한 대상(클라이언트 또는 다른 캐시 서버)로 전달한다(S140, S150). It is determined whether there are several upstream servers for receiving the un-cached contents (S170). If there is only one upstream server, it forwards the HTTP request to its upstream server, receives the HTTP response for the HTTP request from the upstream server, and sends the received HTTP response to the target (client or other cache server) (S140, S150).

반면, 캐싱되지 않은 컨텐츠를 제공받기 위한 업스트림 서버가 2 단계 이상 존재하는 경우에는, 업스트림 서버 설정 정보를 HTTP 요청에 헤더로 포함시키고(S180), 자신의 업스트림 서버로 HTTP 요청을 전달한다. 이후, 업스트림 서버로부터 HTTP 요청에 대한 HTTP 응답을 수신하며, 수신된 HTTP 응답을 HTTP 요청을 제공한 대상(클라이언트 또는 다른 캐시 서버)로 전달한다(S140, S150). On the other hand, if there are two or more upstream servers for receiving unencrypted content, upstream server setting information is included as a header in the HTTP request (S180), and the HTTP request is transmitted to the upstream server. Thereafter, the HTTP response to the HTTP request is received from the upstream server, and the received HTTP response is transmitted to the object (client or another cache server) providing the HTTP request (S140, S150).

한편, 단계(S110)에서, 수신된 HTTP 요청을 검사하여 업스트림 서버 설정 정보가 없으면서, 호스트 헤더 내용에 대해서 말단 캐시 서버로 동작하기 위한 업스트림 서버 설정이 캐시 서버 내부에 존재하지 않는 경우에는, HTTP 요청을 제공한 대상(클라이언트 또는 다른 캐시 서버)으로 잘못된 HTTP 요청으로 판단되었음을 나타내는 응답을 전달한다(S190).On the other hand, if it is determined in step S110 that there is no upstream server setting information and no upstream server setting for operating as a terminal cache server with respect to the host header content exists in the cache server by checking the received HTTP request, (Client or another cache server) that has received the response (S190).

도 4는 본 발명의 실시 예에 따른 업스트림 서버 설정 장치의 구조를 나타낸 도이다. 4 is a diagram illustrating a structure of an upstream server setting apparatus according to an embodiment of the present invention.

첨부한 도 4에서와 같이, 본 발명의 실시 예에 따른 업스트림 서버 설정 장치(10)는 HTTP 요청 수신부(11), 헤더 분석부(12), 서버 설정 정보 추가부(13), 서버 설정 정보 변경 처리부(14), 요청 전달부(15), 응답 수신부(16), 응답 전달부(17)를 포함한다. 4, the upstream server setting apparatus 10 according to the embodiment of the present invention includes an HTTP request receiving unit 11, a header analyzing unit 12, a server setting information adding unit 13, A request transmitting unit 15, a response receiving unit 16, and a response transmitting unit 17, as shown in FIG.

HTTP 요청 수신부(11)는 클라이언트 또는 다른 캐시 서버로부터 수신되는 HTTP 요청을 수신한다. The HTTP request receiving unit 11 receives an HTTP request received from a client or another cache server.

헤더 분석부(12)는 수신된 HTTP 요청의 헤더를 분석한다. 수신된 HTTP 요청에 헤더가 존재하는지를 판단하고, 헤더에 업스트림 서버 설정 정보인 업스트림 서버 헤더가 존재하는지를 판단한다. The header analyzing unit 12 analyzes the header of the received HTTP request. It is determined whether or not a header exists in the received HTTP request, and it is determined whether or not there is an upstream server header, which is upstream server setting information, in the header.

서버 설정 정보 추가부(13)는 수신된 HTTP 요청에 업스트림 서버 헤더가 존재하지 않고, 업스트림 서버 설정을 해야 하는 경우, 업스트림 서버 주소 정보들을 포함하는 업스트림 서버 설정 정보를 HTTP 요청에 추가한다. The server setting information adding unit 13 adds upstream server setting information including upstream server address information to the HTTP request when there is no upstream server header in the received HTTP request and an upstream server setting is required.

서버 설정 정보 변경 처리부(14)는 수신된 HTTP 요청에 업스트림 서버 헤더가 존재하는 경우, 해당 캐시 서버의 업스트림 서버를 확인하고 업스트림 서버 헤더에 대응하는 업스트림 서버 설정 정보에서 해당 업스트림 서버 주소를 삭제하거나, 업스트림 서버 설정 정보를 삭제하는 등의 처리를 수행한다. The server setting information change processing unit 14 checks the upstream server of the corresponding cache server and deletes the corresponding upstream server address from the upstream server setting information corresponding to the upstream server header if the upstream server header exists in the received HTTP request, And deletes the upstream server setting information.

요청 전달부(15)는 수신된 HTTP 요청을 업스트림 서버로 전달한다. 특히, 업스트림 서버 설정 정보가 변경되거나 삭제된 HTTP 요청을 전달하거나, 또는 업스트림 서버 설정 정보가 추가된 HTTP 요청을 전달한다. The request forwarding unit 15 delivers the received HTTP request to the upstream server. In particular, the upstream server configuration information is transmitted or the HTTP request is deleted or the upstream server configuration information is added.

응답 수신부(16)는 업스트림 서버로부터 HTTP 요청에 대응하는 응답을 수신한다. 응답 전달부(17)는 수신된 응답을 HTTP 요청을 제공한 대상(클라이언트 또는 다른 캐시 서버)로 전달한다. The response reception unit 16 receives a response corresponding to the HTTP request from the upstream server. The response transfer unit 17 transfers the received response to the object (client or another cache server) that has provided the HTTP request.

이러한 구조로 이루어지는 업스트림 서버 설정 장치(10)는 말단 캐시 서버나 부모 캐시 서버에 구현될 수 있다. 부모 캐시 서버에 포함되는 형태로 구현되는 경우, 업스트림 서버 설정 장치(10)는 서버 설정 정보 추가부(13)를 포함하지 않을 수 있다. The upstream server setting apparatus 10 having such a structure can be implemented in a terminal cache server or a parent cache server. The upstream server setting apparatus 10 may not include the server setting information adding unit 13. In this case,

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

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (15)

캐시 서버와 원본 웹 서버 사이에 적어도 하나의 다른 캐시 서버가 존재하는 네트워크 환경에서, 캐시 서버에 대한 업스트림 서버를 설정하는 방법에서,
컨텐츠를 요구하는 요청을 수신하는 단계;
상기 요청으로부터 적어도 하나의 업스트림 서버 주소를 포함하는 업스트림 서버 설정 정보를 획득하는 단계; 및
상기 업스트림 서버 설정 정보로부터 획득한 서버 주소에 대응하는 업스트림 서버로 상기 요청을 전달하는 단계
를 포함하고,
상기 요청을 전달하는 단계에서 상기 업스트림 서버는 상기 원본 웹 서버 또는 상기 요청을 수신한 캐시 서버와 상기 원본 웹 서버 사이에 위치되는 다른 캐시 서버인, 업스트림 서버 설정 방법.
In a network environment in which at least one other cache server exists between a cache server and a source web server, in a method of setting up an upstream server for a cache server,
Receiving a request for content;
Obtaining upstream server configuration information including at least one upstream server address from the request; And
Transmitting the request to the upstream server corresponding to the server address obtained from the upstream server setting information
Lt; / RTI >
Wherein the upstream server is the original web server or another cache server located between the cache server receiving the request and the source web server in the step of transmitting the request.
삭제delete 제1항에 있어서,
상기 업스트림 서버 설정 정보는 주소 식별자에 의하여 구분되면서 순차적으로 배열된 복수의 업스트림 서버 주소들을 포함하며,
상기 획득하는 단계는 상기 업스트림 서버 설정 정보에서 가장 마지막에 배열된 서버 주소를 획득하는 단계를 더 포함하는, 업스트림 서버 설정 방법.
The method according to claim 1,
Wherein the upstream server configuration information includes a plurality of upstream server addresses sequentially sorted by the address identifiers,
Wherein the acquiring further comprises acquiring a server address arranged last in the upstream server setting information.
제1항에 있어서,
상기 요청을 전달하는 단계는
상기 업스트림 서버 설정 정보에서 상기 획득한 서버 주소를 삭제한 다음에 상기 업스트림 서버 설정 정보를 상기 요청에 포함시키는 단계;
상기 업스트림 서버 설정 정보에 상기 획득한 서버 주소 이외의 다른 서버 주소가 존재하지 않는 경우, 상기 요청에서 상기 업스트림 서버 설정 정보를 삭제하는 단계; 및
상기 요청을 상기 업스트림 서버로 전달하는 단계
를 포함하는, 업스트림 서버 설정 방법.
The method according to claim 1,
The step of delivering the request
Adding the upstream server configuration information to the request after deleting the obtained server address from the upstream server configuration information;
Deleting the upstream server setting information from the request when the server address other than the obtained server address does not exist in the upstream server setting information; And
Forwarding the request to the upstream server
The method comprising the steps of:
제1항에 있어서,
상기 업스트림 서버 설정 정보를 획득하는 단계는
상기 수신된 요청이 헤더를 포함하는지를 판단하는 단계;
상기 요청이 헤더를 포함하는 경우, 상기 헤더가 상기 업스트림 서버 설정 정보를 포함하는지를 판단하는 단계;
상기 헤더가 상기 업스트림 서버 설정 정보를 포함하는 경우, 상기 업스트림 서버 설정 정보를 획득하는 단계
를 포함하는, 업스트림 서버 설정 방법.
The method according to claim 1,
The step of acquiring the upstream server setting information
Determining whether the received request includes a header;
Determining whether the header includes the upstream server configuration information if the request includes a header;
If the header includes the upstream server configuration information, acquiring the upstream server configuration information
The method comprising the steps of:
제5항에 있어서,
상기 업스트림 서버 설정 정보를 획득하는 단계는
상기 헤더가 상기 업스트림 서버 설정 정보를 포함하지 않는 경우, 업스트림 서버 설정을 위한 정보가 있는지를 판단하는 단계; 및
상기 정보가 있는 경우, 업스트림 서버 설정 정보를 생성하는 단계
를 더 포함하는, 업스트림 서버 설정 방법.
6. The method of claim 5,
The step of acquiring the upstream server setting information
Determining whether there is information for setting up an upstream server when the header does not include the upstream server configuration information; And
If the information is present, generating upstream server setting information
Further comprising the steps of:
제6항에 있어서,
상기 요청을 전달하는 단계
상기 생성된 업스트림 서버 설정 정보가 하나의 업스트림 서버 주소만을 포함하는 경우에는, 상기 하나의 업스트림 서버 주소에 대응하는 업스트림 서버로 상기 요청을 전달하는 단계; 및
상기 생성된 업스트림 서버 설정 정보가 둘 이상의 업스트림 서버 주소를 포함하는 경우에는, 상기 생성된 업스트림 서버 설정 정보를 상기 요청에 포함시킨 다음에 상기 요청을 전달하는 단계
를 더 포함하는, 업스트림 서버 설정 방법.
The method according to claim 6,
The step of delivering the request
Transferring the request to an upstream server corresponding to the one upstream server address when the generated upstream server configuration information includes only one upstream server address; And
If the generated upstream server configuration information includes two or more upstream server addresses, then the generated upstream server configuration information is included in the request and then the request is transmitted
Further comprising the steps of:
제6항에 있어서,
상기 업스트림 서버 설정 정보를 생성하는 것은 클라이언트에 연결된 말단 캐시 서버에서만 수행되는, 업스트림 서버 설정 방법.
The method according to claim 6,
Wherein the generating of the upstream server configuration information is performed only in a terminal cache server connected to the client.
말단 캐시 서버와 원본 웹 서버 사이에 적어도 하나의 부모 캐시 서버가 존재하는 네트워크 환경에서, 컨텐츠 제공을 위한 업스트림 서버를 설정하는 방법에서,
상기 말단 캐시 서버가 캐싱되지 않은 컨텐츠에 대한 서비스 제공을 위하여, 적어도 하나의 업스트림 서버 주소를 포함하는 업스트림 서버 설정 정보를 생성하는 단계;
상기 말단 캐시 서버가 상기 생성된 업스트림 서버 설정 정보를 클라이언트로부터 수신한 요청에 포함시켜 자신의 업스트림 서버에 해당하는 부모 캐시 서버로 전달하는 단계; 및
상기 부모 캐시 서버는 수신된 요청에 포함된 업스트림 서버 설정 정보로부터 자신의 업스트림 서버--상기 업스트림 서버는 상기 원본 웹 서버 또는 상기 요청을 수신한 캐시 서버와 상기 원본 웹 서버 사이에 위치되는 다른 캐시 서버임--를 확인하고, 상기 요청을 자신의 업스트림 서버로 전달하는 단계
를 포함하는, 업스트림 서버 설정 방법.
A method for setting up an upstream server for providing content in a network environment in which at least one parent cache server exists between a root cache server and a source web server,
Generating, by the end cache server, upstream server configuration information including at least one upstream server address, in order to provide a service for non-cached content;
The end cache server including the generated upstream server configuration information in a request received from a client and transmitting the request to a parent cache server corresponding to the upstream server; And
Wherein the parent cache server receives, from the upstream server configuration information included in the received request, its own upstream server, the upstream server receives the original web server or another cache server located between the cache server receiving the request and the source web server And forwarding the request to its upstream server
The method comprising the steps of:
제9항에 있어서,
상기 요청을 자신의 업스트림 서버로 전달하는 단계는
상기 부모 캐시 서버가 상기 업스트림 서버 설정 정보에서 자신의 업스트림 서버 주소를 삭제한 다음에 상기 업스트림 서버 설정 정보를 상기 요청에 포함시키는 단계;
상기 부모 캐시 서버가 상기 업스트림 서버 설정 정보에 자신의 업스트림 서버 주소 이외의 다른 서버 주소가 존재하지 않는 경우, 상기 요청에서 상기 업스트림 서버 설정 정보를 삭제하는 단계; 및
상기 부모 캐시 서버가 상기 요청을 자신의 업스트림 서버로 전달하는 단계
를 포함하는, 업스트림 서버 설정 방법.
10. The method of claim 9,
The step of forwarding the request to its upstream server
Including the upstream server configuration information in the request after the parent cache server deletes its upstream server address from the upstream server configuration information;
If the parent cache server does not have a server address other than its own upstream server address in the upstream server configuration information, deleting the upstream server configuration information from the request; And
The parent cache server communicating the request to its upstream server
The method comprising the steps of:
제10항에 있어서,
상기 업스트림 서버 설정 정보는 주소 식별자에 의하여 구분되면서 순차적으로 배열된 복수의 업스트림 서버 주소들을 포함하며,
상기 요청을 자신의 업스트림 서버로 전달하는 단계는
상기 부모 캐시 서버는 상기 업스트림 서버 설정 정보에서 가장 마지막에 배열된 서버 주소를 자신의 업스트림 서버 주소로 획득하는 단계를 더 포함하는, 업스트림 서버 설정 방법.
11. The method of claim 10,
Wherein the upstream server configuration information includes a plurality of upstream server addresses sequentially sorted by the address identifiers,
The step of forwarding the request to its upstream server
Wherein the parent cache server further comprises the step of acquiring the server address arranged last in the upstream server configuration information as its upstream server address.
캐시 서버와 원본 웹 서버 사이에 적어도 하나의 다른 캐시 서버가 존재하는 네트워크 환경에서, 캐시 서버에 대한 업스트림 서버를 설정하는 장치에서,
클라이언트 또는 다른 캐시 서버로부터 수신되는 HTTP 요청을 수신하는 HTTP 요청 수신부;
상기 수신된 HTTP 요청의 헤더를 분석하여, 수신된 HTTP 요청에 헤더가 존재하고 상기 헤더에 업스트림 서버 설정 정보가 포함되어 있는지를 확인하는 헤더 분석부;
상기 수신된 HTTP 요청에 상기 업스트림 서버 설정 정보가 존재하는 경우, 상기 업스트림 서버 설정 정보로부터 해당 캐시 서버의 업스트림 서버-- 상기 업스트림 서버는 상기 원본 웹 서버 또는 상기 요청을 수신한 캐시 서버와 상기 원본 웹 서버 사이에 위치되는 다른 캐시 서버임--를 확인하는 서버 설정 정보 변경 처리부; 및
상기 수신된 HTTP 요청을 상기 확인된 업스트림 서버로 전달하는 요청 전달부
를 포함하는, 업스트림 서버 설정 장치.
In a network environment in which at least one other cache server exists between a cache server and a source web server, in an apparatus for setting up an upstream server for a cache server,
An HTTP request receiver for receiving an HTTP request received from a client or another cache server;
A header analyzer for analyzing a header of the received HTTP request to confirm whether a header exists in the received HTTP request and whether the header includes upstream server setting information;
If the upstream server setting information exists in the received HTTP request, the upstream server of the corresponding cache server from the upstream server setting information, the upstream server transmits the original web server or the cache server receiving the request, A server setting information change processing unit for confirming whether the cache server is another cache server located between the servers; And
A request delivery unit for delivering the received HTTP request to the identified upstream server,
And an upstream server setting device.
제12항에 있어서
상기 수신된 HTTP 요청에 업스트림 서버 설정 정보가 존재하지 않고 업스트림 서버 설정을 해야 하는 경우, 업스트림 서버 주소 정보들을 포함하는 업스트림 서버 설정 정보를 생성하고 상기 수신된 HTTP 요청에 추가하는 서버 설정 정보 추가부를 더 포함하는, 업스트림 서버 설정 장치.
The method of claim 12, wherein
A server setting information adding unit for generating upstream server setting information including upstream server address information and adding the server setting information to the received HTTP request when upstream server setting information does not exist in the received HTTP request and upstream server setting is required An upstream server setting device.
제12항에 있어서
상기 서버 설정 정보 변경 처리부는 상기 업스트림 서버 설정 정보에서 해당 업스트림 서버 주소를 삭제하거나, 업스트림 서버 설정 정보를 삭제하는 처리를 수행하고,
상기 요청 전달부는 상기 업스트림 서버 설정 정보가 변경되거나 삭제된 HTTP 요청을 전달하는, 업스트림 서버 설정 장치.
The method of claim 12, wherein
The server setting information change processing unit deletes the upstream server address or deletes the upstream server setting information from the upstream server setting information,
Wherein the request forwarding unit delivers an HTTP request in which the upstream server setting information is changed or deleted.
제12항에 있어서
상기 업스트림 서버 설정 정보는 주소 식별자에 의하여 구분되면서 순차적으로 배열된 복수의 업스트림 서버 주소들을 포함하며,
상기 서버 설정 정보 변경 처리부는 상기 업스트림 서버 설정 정보에서 가장 마지막에 배열된 서버 주소를 자신의 업스트림 서버 주소로 획득하는, 업스트림 서버 설정 장치.








The method of claim 12, wherein
Wherein the upstream server configuration information includes a plurality of upstream server addresses sequentially sorted by the address identifiers,
Wherein the server setting information change processing unit obtains a server address arranged last in the upstream server setting information as its upstream server address.








KR20130128101A 2013-10-25 2013-10-25 Method for setting upstream server and apparatus thereof KR101493073B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130128101A KR101493073B1 (en) 2013-10-25 2013-10-25 Method for setting upstream server and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130128101A KR101493073B1 (en) 2013-10-25 2013-10-25 Method for setting upstream server and apparatus thereof

Publications (1)

Publication Number Publication Date
KR101493073B1 true KR101493073B1 (en) 2015-02-13

Family

ID=52593450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130128101A KR101493073B1 (en) 2013-10-25 2013-10-25 Method for setting upstream server and apparatus thereof

Country Status (1)

Country Link
KR (1) KR101493073B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040022025A (en) * 2002-09-06 2004-03-11 한국전자통신연구원 Method and apparatus for providing multimedia contents capable of changing a media into the other media
US20060167979A1 (en) 2004-12-21 2006-07-27 Harald Fuchs Mapping of a content request for a cache server
US20110231515A1 (en) * 2004-10-29 2011-09-22 Akamai Technologies, Inc. Transparent Session Persistence Management by a Server in a Content Delivery Network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040022025A (en) * 2002-09-06 2004-03-11 한국전자통신연구원 Method and apparatus for providing multimedia contents capable of changing a media into the other media
US20110231515A1 (en) * 2004-10-29 2011-09-22 Akamai Technologies, Inc. Transparent Session Persistence Management by a Server in a Content Delivery Network
US20060167979A1 (en) 2004-12-21 2006-07-27 Harald Fuchs Mapping of a content request for a cache server

Similar Documents

Publication Publication Date Title
US11811657B2 (en) Updating routing information based on client location
CN109618005B (en) Method for calling server and proxy server
CN106031130B (en) Content distribution network framework with edge proxies
CN108737515B (en) Request routing in a networked environment
EP2266064B1 (en) Request routing
JP6302050B2 (en) System and method for improved discovery
US9712422B2 (en) Selection of service nodes for provision of services
EP2356577B1 (en) Request routing and updating routing information utilizing client location information
US10567332B2 (en) Content delivery network optimization system
US20170244616A1 (en) Unobtrusive Methods and Systems for Collecting Information Transmitted over a Network
US20140304386A1 (en) Routing client requests
US10897450B2 (en) Communication method and communication apparatus
US11750694B2 (en) CDN-based client messaging
US10848586B2 (en) Content delivery network (CDN) for uploading, caching and delivering user content
CN112565406B (en) Gray release method, gray release system and electronic equipment
JP2015197920A (en) System and method for device registration and discovery in content-centric network
JP5213066B2 (en) Device for changing the EPR representing a web service endpoint
KR20140125224A (en) Method and node apparatus for collecting information in contents network based on information centric networking
JP5716745B2 (en) Data transfer system
KR101493073B1 (en) Method for setting upstream server and apparatus thereof
CN109716310A (en) Server unit, transmitting device and program for content distribution system
JP5803924B2 (en) Data transfer system
KR20220073422A (en) Method and Apparatus for Defining Path of a Packet in Information-Centric Networking for Data Producer Mobility
Shen et al. Freeweb: P2p-assisted collaborative censorship-resistant web browsing
KR20220075985A (en) System ndn-based communication supporting mobility of publisher and method for the same

Legal Events

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

Payment date: 20180206

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200206

Year of fee payment: 6