Movatterモバイル変換


[0]ホーム

URL:


KR102157516B1 - Method for processing of contents upload, apparatus thereof - Google Patents

Method for processing of contents upload, apparatus thereof
Download PDF

Info

Publication number
KR102157516B1
KR102157516B1KR1020140149098AKR20140149098AKR102157516B1KR 102157516 B1KR102157516 B1KR 102157516B1KR 1020140149098 AKR1020140149098 AKR 1020140149098AKR 20140149098 AKR20140149098 AKR 20140149098AKR 102157516 B1KR102157516 B1KR 102157516B1
Authority
KR
South Korea
Prior art keywords
content
terminal
upload
server
stored
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
KR1020140149098A
Other languages
Korean (ko)
Other versions
KR20160050594A (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 KR1020140149098ApriorityCriticalpatent/KR102157516B1/en
Publication of KR20160050594ApublicationCriticalpatent/KR20160050594A/en
Application grantedgrantedCritical
Publication of KR102157516B1publicationCriticalpatent/KR102157516B1/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromKorean

본 발명은 컨텐츠 캐시 방법에 관한 것으로, 더욱 상세하게는 단말로부터 발생되는 업로드 트래픽을 미리 캐싱된 컨텐츠를 이용하여 처리할 수 있는 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 캐시 장치는 단말 및 컨텐츠 서버 사이의 정보의 송수신을 지원하는 통신부, 하나 이상의 컨텐츠를 저장하는 저장부 및 상기 통신부를 통해 상기 단말로부터 특정 컨텐츠 서버로 전송되는 컨텐츠 업로드 메시지를 모니터링하여 검출하고, 검출된 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 상기 저장부에 저장되어 있는 지 여부를 판단하여, 저장되어 있을 경우, 상기 단말로부터 전송되는 컨텐츠 업로드 메시지를 차단하여 상기 단말과의 연결을 해제하고, 상기 저장부에 저장된 컨텐츠를 상기 컨텐츠 서버로 전송하는 제어부를 포함하여 구성될 수 있다.
The present invention relates to a content caching method, and more particularly, to a content upload processing method capable of processing upload traffic generated from a terminal using pre-cached content, and a cache device supporting the same.
To this end, a cache device according to an embodiment of the present invention includes a communication unit supporting transmission and reception of information between a terminal and a content server, a storage unit storing one or more contents, and contents transmitted from the terminal to a specific content server through the communication unit. Monitoring and detecting an upload message, determining whether the content included in the detected content upload message is stored in the storage unit, and if so, blocking the content upload message transmitted from the terminal to the terminal It may be configured to include a control unit for releasing the connection to and transmitting the content stored in the storage to the content server.

Description

Translated fromKorean
컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치{METHOD FOR PROCESSING OF CONTENTS UPLOAD, APPARATUS THEREOF}Content upload processing method, cache device supporting this {METHOD FOR PROCESSING OF CONTENTS UPLOAD, APPARATUS THEREOF}

본 발명은 컨텐츠 캐시 방법에 관한 것으로, 더욱 상세하게는 단말로부터 발생되는 업로드 트래픽을 미리 캐싱된 컨텐츠를 이용하여 처리할 수 있는 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치에 관한 것이다.The present invention relates to a content caching method, and more particularly, to a content upload processing method capable of processing upload traffic generated from a terminal using pre-cached content, and a cache device supporting the same.

이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

최근, 스마트폰(smart phone)과 같은 사용자 단말의 성능 향상 및 이동통신 기술의 발달에 따라 사용자는 언제 어디서나 사용자 단말을 통해 컨텐츠 제공자(CP; Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다.Recently, with the improvement of the performance of user terminals such as smart phones and the development of mobile communication technology, users can access a web server provided by a content provider (CP) through a user terminal anytime, anywhere to take photos and videos. , Audio, applications, and other various contents can be used.

그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다.However, while the number of web servers provided by the content provider (CP) is limited, the number of users who want to access the web server is increasing rapidly, resulting in various problems such as data loss, bottlenecks, transmission delays, instability such as data loss. Occurred.

이러한, 문제를 해결하기 위해 도입된 것이 CDN(Contents Delivery Network, 컨텐츠 전송 네트워크) 서비스이다.A CDN (Contents Delivery Network) service was introduced to solve this problem.

CDN 서비스란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자 단말로 안정적으로 전달하기 위한 서비스로, 사용자 단말로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 용량이 크거나 사용자의 요구가 빈번한 컨텐츠를 다수의 ISP(Internet Service Provider) 상호 접속점(PoP: Point of Presence)에 분산 배치된 캐시 장치, 특히 사용자 단말 인근에 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한 다음, 사용자로부터 다운로드 요청이 있을 경우, 해당 사용자와 가장 근접한 곳에 위치한 캐시 장치가 컨텐츠 제공자의 웹 서버를 대신하여 사용자의 단말로 컨텐츠를 제공하는 서비스를 의미한다.CDN service is a service for stably delivering various types of content such as photos, movies, music videos, etc. to the user terminal. The capacity concentrated on the web server of the content provider far away from the user terminal is large or the user's request is required. After copying and storing some or all of the frequent contents in a cache device distributed in a number of ISP (Internet Service Provider) Point of Presence (PoP), especially a cache device distributed in the vicinity of the user terminal, the user When there is a download request from the user, the cache device located in the nearest place to the user refers to a service that provides content to the user's terminal on behalf of the content provider's web server.

이러한 CDN 서비스는 사용자와 가장 근접한 곳에 위치한 캐시 장치가 사용자의 단말로 컨텐츠를 제공함으로써, 단말의 컨텐츠 요청에 대한 응답 속도를 향상시키고, 보다 안정적으로 컨텐츠 제공이 가능하다는 장점이 있으나, 캐시 장치가 단말로 컨텐츠를 제공하기 위해서는 특정 단말의 요청에 따라 서버로부터 다운로드되는 컨텐츠가 캐시된 뒤에야 다음 단말로의 컨텐츠 제공이 가능하다는 문제점이 있다.This CDN service has the advantage that the cache device located in the closest place to the user provides the content to the user's terminal, thereby improving the response speed to the content request from the terminal and providing more stable content. In order to provide raw content, there is a problem in that it is possible to provide content to the next terminal only after the content downloaded from the server is cached according to the request of a specific terminal.

한편, 최근에는 인터넷 및 스마트폰과 같은 휴대 단말의 보급과 SNS(Social Networking Service) 활성화로 인해 단말이 서버로 전달하는 업로딩(uploading) 트래픽이 급격히 증가하고 있다.On the other hand, in recent years, due to the spread of portable terminals such as the Internet and smart phones and the activation of SNS (Social Networking Service), uploading traffic transmitted from the terminals to the server is rapidly increasing.

한국공개특허 제2013-0057232호, 2013년 5월 31일 공개 (명칭: 에지 노드를 포함한 컨텐츠 분배 네트워크 시스템 및 에지 노드의 컨텐츠 캐싱 및 관리 방법)Korean Patent Publication No. 2013-0057232, published on May 31, 2013 (Name: Content distribution network system including edge node and content caching and management method of edge node)

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히, 단말이 서버로 특정 컨텐츠에 대한 업로드 트래픽 발생 시 캐시 장치가 미리 캐싱된 컨텐츠를 이용하여 상기 업로드 트래픽을 처리할 수 있는 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치를 제공하는 데 목적이 있다.The present invention has been proposed to solve the above-described conventional problem, and in particular, when a terminal generates upload traffic for a specific content to a server, a cache device uploads content capable of processing the upload traffic using pre-cached content. An object of the present invention is to provide a processing method and a cache device supporting the same.

그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.However, the object of the present invention is not limited to the above object, and other objects that are not mentioned will be clearly understood from the following description.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 캐시 장치는 단말 및 컨텐츠 서버 사이의 정보의 송수신을 지원하는 통신부; 하나 이상의 컨텐츠를 저장하는 저장부; 및 상기 통신부를 통해 상기 단말로부터 특정 컨텐츠 서버로 전송되는 컨텐츠 업로드 메시지를 모니터링하여 검출하고, 검출된 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 상기 저장부에 저장되어 있는 지 여부를 판단하여, 저장되어 있을 경우, 상기 단말로부터 전송되는 컨텐츠 업로드 메시지를 차단하여 상기 단말과의 연결을 해제하고, 상기 저장부에 저장된 컨텐츠를 상기 컨텐츠 서버로 전송하는 제어부;를 포함하여 구성될 수 있다.A cache apparatus according to an embodiment of the present invention for achieving the above object includes: a communication unit supporting transmission and reception of information between a terminal and a content server; A storage unit for storing one or more contents; And monitoring and detecting a content upload message transmitted from the terminal to a specific content server through the communication unit, determining whether the content included in the detected content upload message is stored in the storage unit, and storing the content. In this case, it may include a control unit configured to block a content upload message transmitted from the terminal to release the connection with the terminal, and to transmit the content stored in the storage unit to the content server.

이때, 상기 컨텐츠 업로드 메시지는 HTTP POST REQUEST 메시지일 수 있다.In this case, the content upload message may be an HTTP POST REQUEST message.

또한, 상기 제어부는 상기 컨텐츠 업로드 메시지에서 상기 컨텐츠에 대한 컨텐츠 이름(content name), 컨텐츠 길이(content length), 컨텐츠 타입(content type)을 확인하여 상기 확인된 컨텐츠 이름, 컨텐츠 길이, 컨텐츠 타입과 일치하는 컨텐츠가 저장되어 있는 지 여부를 판단할 수 있다.In addition, the control unit checks the content name, content length, and content type of the content in the content upload message to match the identified content name, content length, and content type. It can be determined whether or not the content to be called is stored.

이때, 상기 제어부는 상기 일치하는 컨텐츠가 저장되어 있는 지 판단 시 청크(chunk) 데이터 단위로 검사하여, 상기 컨텐츠의 최초 청크 데이터가 저장되어 있는 것으로 판단되면, 상기 컨텐츠를 저장하고 있는 것으로 판단할 수 있다.At this time, when determining whether the matching content is stored, the control unit checks in chunk data units, and when it is determined that the first chunk data of the content is stored, it may determine that the content is being stored. have.

또한, 상기 제어부는 상기 컨텐츠 서버로 상기 저장부에 저장된 컨텐츠 전송 시 상기 단말에 대한 식별 정보를 포함하여 전송할 수 있다.In addition, the control unit may include and transmit identification information on the terminal when transmitting the content stored in the storage unit to the content server.

아울러, 상기 제어부는 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 확인이 불가능한 경우, 상기 컨텐츠 서버를 대신하여 상기 단말로 컨텐츠 확인 불능 메시지를 전송할 수 있다.In addition, when it is impossible to check the content included in the content upload message, the control unit may transmit a content verification impossible message to the terminal instead of the content server.

또한, 상기 제어부는 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 상기 저장부에 저장되어 있지 않을 경우, 상기 컨텐츠를 상기 저장부에 저장한 후 상기 컨텐츠 업로드 메시지가 상기 컨텐츠 서버로 전송되도록 제어할 수 있다.In addition, when the content included in the content upload message is not stored in the storage unit, the controller may store the content in the storage unit and then control the content upload message to be transmitted to the content server.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법은 캐시 장치가 단말로부터 특정 컨텐츠 서버로 전송되는 컨텐츠 업로드 메시지를 모니터링하여 검출하는 단계; 상기 캐시 장치가 상기 검출된 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 저장 여부를 판단하는 단계; 및 상기 컨텐츠를 저장하고 있을 경우, 상기 캐시 장치가 상기 단말로부터 전송되는 컨텐츠 업로드 메시지를 차단하여 상기 단말과의 연결을 해제하고, 기 저장된 상기 컨텐츠를 상기 컨텐츠 서버로 전송하는 단계;를 포함하여 이뤄질 수 있다.The content upload processing method according to an embodiment of the present invention for achieving the above object includes the steps of: monitoring and detecting, by a cache device, a content upload message transmitted from a terminal to a specific content server; Determining, by the cache device, whether to store the content included in the detected content upload message; And if the content is being stored, the cache device blocking a content upload message transmitted from the terminal, disconnecting the connection with the terminal, and transmitting the previously stored content to the content server. I can.

이때, 상기 컨텐츠를 저장하고 있지 않을 경우, 상기 캐시 장치가 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 저장한 후 상기 컨텐츠 서버로 전송되도록 제어하는 단계;를 더 포함하여 이뤄질 수 있다.In this case, when the content is not stored, controlling the cache device to store the content included in the content upload message and transmit the content to the content server; may be further included.

또한, 상기 전송하는 단계 이후에, 상기 캐시 장치가 어느 하나의 컨텐츠 서버로부터 어느 하나의 단말로 전달되는 상기 컨텐츠를 포함하는 컨텐츠 응답 메시지 또는 어느 하나의 단말로부터 어느 하나의 컨텐츠 서버로 전달되는 상기 컨텐츠에 대한 컨텐츠 요청 메시지를 검출하는 단계; 및 상기 캐시 장치가 상기 검출된 메시지의 전송을 차단하고, 상기 컨텐츠 서버를 대신하여 상기 어느 하나의 단말로 상기 저장된 컨텐츠를 전달하는 단계;를 더 포함하여 이뤄질 수 있다.In addition, after the transmitting step, the content response message including the content transmitted from any one content server to any one terminal by the cache device or the content transmitted from any one terminal to any one content server Detecting a content request message for; And blocking, by the cache device, the transmission of the detected message, and transferring the stored content to the one terminal on behalf of the content server.

추가로 본 발명은 상술한 바와 같은 컨텐츠 업로드 처리 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.In addition, the present invention can provide a computer-readable recording medium in which a program for executing the content upload processing method as described above is recorded.

본 발명의 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치에 의하면, 단말이 서버로 업로드하는 컨텐츠를 캐싱하고, 업로드 시 캐싱된 컨텐츠를 이용하여 다른 단말의 컨텐츠 다운로드 요청을 처리함으로써, 보다 효율적인 컨텐츠 캐싱 서비스 제공이 가능하다.According to the content upload processing method of the present invention, and a cache device supporting the same, a more efficient content caching service by caching content uploaded by a terminal to a server and processing a content download request from another terminal using the cached content upon uploading. Can be provided.

또한, 단말의 업로드 트래픽 발생 시 캐시 장치가 미리 캐싱된 컨텐츠를 이용하여 상기 업로드 트래픽을 처리함으로써, 단말로부터 발생되는 업로드 트래픽을 감소시키고 무선 자원을 보다 효율적으로 이용할 수 있게 된다.In addition, when the upload traffic of the terminal is generated, the cache device processes the upload traffic using pre-cached content, thereby reducing upload traffic generated from the terminal and enabling more efficient use of radio resources.

아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.In addition, various effects other than the above-described effects may be directly or implicitly disclosed in the detailed description according to an embodiment of the present invention to be described later.

도 1은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템을 설명하기 위한 시스템 예시도이다.
도 2는 본 발명의 실시 예에 따른 캐시 장치의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따른 컨텐츠 업로드 처리 방법을 보다 구체적으로 설명하기 위한 데이터 흐름도이다.
도 5는 본 발명의 다른 실시 예에 따른 컨텐츠 업로드 처리 방법을 보다 구체적으로 설명하기 위한 데이터 흐름도이다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법을 이용한 컨텐츠 제공 방법을 설명하기 위한 데이터 흐름도이다.
1 is a system diagram illustrating a content delivery system according to an embodiment of the present invention.
2 is a block diagram showing a main configuration of a cache device according to an embodiment of the present invention.
3 is a flowchart illustrating a content upload processing method according to an embodiment of the present invention.
4 is a data flow diagram illustrating a content upload processing method according to an embodiment of the present invention in more detail.
5 is a data flow diagram illustrating a content upload processing method according to another embodiment of the present invention in more detail.
6 is a data flow diagram illustrating a content providing method using a content upload processing method according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention in describing the operating principle of the preferred embodiment of the present invention in detail, the detailed description thereof will be omitted. This is to more clearly convey the core of the present invention by omitting unnecessary description. In addition, the present invention is intended to illustrate specific embodiments in the drawings and describe in detail in the detailed description, as various changes may be made and various embodiments may be applied, but this is not intended to limit the present invention to specific embodiments, It is to be understood as including all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms including ordinal numbers such as first and second are used to describe various elements, and are only used for the purpose of distinguishing one element from other elements, and to limit the elements. Not used. For example, without departing from the scope of the present invention, a second component may be referred to as a first component, and similarly, a first component may be referred to as a second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it is logically or physically connected or can be connected. In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, or may be indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, terms such as "comprises" or "have" described in the present specification are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification. It is to be understood that the above other features, or the possibility of the presence or addition of numbers, steps, actions, components, parts, or combinations thereof, are not preliminarily excluded.

이제 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.Now, a content upload processing method according to an embodiment of the present invention and a cache device supporting the same will be described in detail with reference to the drawings. In this case, the same reference numerals are used for portions having similar functions and functions throughout the drawings, and redundant descriptions thereof will be omitted.

설명에 앞서, 본 발명의 명세서에서 기술되는 단말은 다양한 형태로 구현될 수 있다. 예를 들어, 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있으며, 네트워크를 통해 컨텐츠 서버로 컨텐츠를 업로드하거나 다운로드를 요청하여 이용할 수 있는 단말이라면, 그 어떠한 단말도 본 발명의 단말로 적용 가능하다.Prior to the description, the terminal described in the specification of the present invention may be implemented in various forms. For example, mobile terminals such as smart phones, tablet PCs, personal digital assistants (PDAs), portable multimedia players (PMPs), and MP3 players, as well as smart TVs and desktop computers A fixed terminal such as, for example, may be used, and any terminal can be applied as the terminal of the present invention as long as it is a terminal that can upload or download content to a content server through a network and use it.

또한, 본 발명의 명세서에서 기술되는 서버는 단말로 다양한 종류의 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 컨텐츠를 제공하기 위한 것으로, 컨텐츠 제공자(CP; Contents Provider)로부터 적어도 하나의 컨텐츠를 제공받아 관리하고, 사용자의 단말의 요청에 따라 해당되는 컨텐츠를 전송할 수 있으며, 바람직하게는 CDN 서비스를 제공하는 통신 사업자와 협약된 컨텐츠를 제공하게 된다. 또한, 본 발명의 컨텐츠 서버는 단말이 업로드한 컨텐츠를 저장하고 관리하며, 이를 개시하는 역할을 수행할 수 있다. 이러한, 컨텐츠 서버는 웹 서버(web server) 또는 웹 어플리케이션 서버(WAS; Web Application Server) 등을 예시할 수 있다.In addition, the server described in the specification of the present invention is for providing various types of content, such as photos, videos, audio, and applications, to a terminal, and receives at least one content from a content provider (CP). It receives and manages, and can transmit the corresponding content according to the request of the user's terminal, and preferably, the content contracted with the communication service provider providing the CDN service is provided. In addition, the content server of the present invention may store and manage content uploaded by the terminal, and may serve to initiate the content. Such a content server may be a web server or a web application server (WAS).

또한, 상술한 컨텐츠는 네트워크 상에서 특정 주소(예컨대, URL)로 표현될 수 있는 것이라면 그 어떠한 것도 본 발명의 컨텐츠에 포함될 수 있다. 예컨대, 웹 사이트 전체도 하나의 URL로 표현되는 경우, 하나의 컨텐츠로써, CDN 서비스를 통해 배포될 수 있다.In addition, any of the above-described content may be included in the content of the present invention as long as it can be expressed by a specific address (eg, URL) on the network. For example, when the entire web site is also expressed by one URL, it may be distributed as one content through a CDN service.

이하, 본 발명의 실시 예에 따른 컨텐츠 전송 방법을 지원하는 컨텐츠 전송 시스템에 대해 설명하도록 한다.Hereinafter, a content delivery system supporting a content delivery method according to an embodiment of the present invention will be described.

도 1은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템을 설명하기 위한 시스템 예시도이다.1 is a system diagram illustrating a content delivery system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 전송 시스템은 단말(100), 다수의 캐시 장치(350) 및 캐시 컨트롤러(340)를 포함하는 네트워크(300), 그리고 컨텐츠 서버(200)를 포함하여 구성될 수 있다.Referring to FIG. 1, a content delivery system according to an embodiment of the present invention includes a terminal 100, anetwork 300 including a plurality ofcache devices 350 and acache controller 340, and acontent server 200. It can be configured to include.

먼저, 단말(100)은 사용자의 요청에 따라 네트워크(300)를 통해 컨텐츠 서버(200)로 특정 컨텐츠를 요청하고, 컨텐츠 서버(200)로부터 제공되는 컨텐츠를 수신하여 이용하고자 하는 장치를 의미한다. 보다 구체적으로, 단말(100)은 사용자로부터 특정 컨텐츠에 대한 요청을 확인한다. 상기 특정 컨텐츠에 대한 요청은 사용자로부터 브라우저 등을 통해 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locator) 등의 입력으로 이루어질 수 있다. 이후, 단말(100)은 DNS(Domain Name Server) 등의 네임서버에 액세스하여 해당 컨텐츠를 제공하는 컨텐츠 서버(200)의 주소 정보(IP address)를 획득한다. 그리고 나서, 단말(100)은 해당 컨텐츠 서버(200)로 컨텐츠를 요청하여 컨텐츠 서버(200)로부터 수신하거나 캐시 장치(350)를 통해 캐싱된 컨텐츠를 수신하여 이용할 수 있다.First, the terminal 100 refers to a device that requests specific content to thecontent server 200 through thenetwork 300 according to a user's request, and receives and uses the content provided from thecontent server 200. More specifically, the terminal 100 confirms a request for specific content from a user. The request for the specific content may be made by inputting a URL (Uniform Resource Locator) that requests specific content from a user through a browser or the like. Thereafter, the terminal 100 accesses a name server such as a DNS (Domain Name Server) to obtain address information (IP address) of thecontent server 200 that provides the corresponding content. Then, the terminal 100 may request content from thecontent server 200 and receive it from thecontent server 200 or may receive and use the cached content through thecache device 350.

또한, 본 발명의 단말(100)은 사용자의 요청에 따라 특정 컨텐츠를 포함하는 컨텐츠 업로드 메시지를 컨텐츠 서버(200)로 전송하고, 해당 컨텐츠가 컨텐츠 서버(200)에 업로딩하는 과정을 요청할 수 있다.In addition, theterminal 100 of the present invention may transmit a content upload message including specific content to thecontent server 200 according to a user's request, and request a process of uploading the corresponding content to thecontent server 200.

컨텐츠 서버(200)는 단말(100)로 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하거나, 컨텐츠를 수신하고 이와 관련된 서비스를 제공하기 위한 것으로, 컨텐츠 제공자(CP; Contents Provider)로부터 적어도 하나의 컨텐츠를 제공받아 관리하며, 네트워크(300)를 통해서 다수의 단말(100)로 컨텐츠를 제공하는 역할을 수행할 수 있다. 또한, 컨텐츠 서버(200)는 단말(100)로부터 수신되는 컨텐츠를 저장하고 관리하는 역할을 수행하고, 특정 서비스, 예컨대 블로그 서비스, SNS 서비스 등을 제공하는 역할을 수행할 수도 있다.Thecontent server 200 is for providing various contents such as photos, videos, audio, applications, etc. to the terminal 100, or for receiving contents and providing related services. Contents provider (CP; Contents Provider) receives and manages at least one content, and may play a role of providing content to a plurality ofterminals 100 through thenetwork 300. In addition, thecontent server 200 may perform a role of storing and managing content received from the terminal 100, and may perform a role of providing a specific service, such as a blog service, an SNS service, and the like.

네트워크(300) 상에 분산 배치된 다수의 캐시 장치(350) 및 캐시 컨트롤러(340)는 단말(100)과 컨텐츠 서버(200) 사이의 컨텐츠 흐름을 제어하는 역할을 수행한다. 이때, 다수의 캐시 장치(350)는 접속망(330)과 코어망(320) 사이에 위치하며, 캐시 컨트롤러(340)는 코어망(320)과 인터넷망(310) 사이에 위치하는 것이 바람직하나, 이에 한정되는 것은 아니며, 단말(100)과 컨텐츠 서버(200) 사이의 컨텐츠 흐름을 제어할 수 있다면, 다수의 캐시 장치(350) 및 캐시 컨트롤러(340)는 다양한 형태로 네트워크(300) 상에 배치될 수 있다.A plurality ofcache devices 350 andcache controllers 340 distributed over thenetwork 300 play a role of controlling the flow of content between the terminal 100 and thecontent server 200. In this case, the plurality ofcache devices 350 are preferably located between theaccess network 330 and thecore network 320, and thecache controller 340 is preferably located between thecore network 320 and theInternet network 310, It is not limited thereto, and if the content flow between the terminal 100 and thecontent server 200 can be controlled, the plurality ofcache devices 350 and thecache controller 340 are arranged on thenetwork 300 in various forms. Can be.

이러한 캐시 장치(350)는 컨텐츠 서버(200)로부터 서비스되는 컨텐츠를 기 설정된 컨텐츠 분산 정책에 따라 미리 컨텐츠의 일부 또는 전부를 저장하고 있다. 이후, 컨텐츠 서버(200)로부터 전송되는 단말(100)이 요청한 컨텐츠 요청 메시지(예컨대 HTTP GET 메시지)에 대한 컨텐츠 응답 메시지(예컨대 HTTP RESPONSE 메시지)가 검출되면, 다수의 캐시 장치(350) 중 해당 컨텐츠 응답 메시지에 포함된 컨텐츠를 캐싱하고 있는 캐시 장치가, 상기 컨텐츠 서버(200)를 대신하여 단말(100)로 컨텐츠를 전송하게 된다.Thecache device 350 stores some or all of the content serviced from thecontent server 200 in advance according to a preset content distribution policy. Thereafter, when a content response message (eg, an HTTP RESPONSE message) for a content request message (eg, an HTTP GET message) requested by the terminal 100 transmitted from thecontent server 200 is detected, the corresponding content among the plurality ofcache devices 350 The cache device that caches the content included in the response message transmits the content to the terminal 100 on behalf of thecontent server 200.

특히, 본 발명의 실시 예에 따른 캐시 장치(350)는 상술한 컨텐츠 전송 서비스를 제공하기 위해, 컨텐츠 서버(200)가 단말(100)로 전달하는 컨텐츠 응답 메시지에 포함된 컨텐츠를 캐싱하여 저장할 수 있으나, 단말(100)이 특정 컨텐츠 서버(200)로 전달하는 업로딩 컨텐츠를 이용하여 컨텐츠 전송 서비스를 제공할 수도 있다.In particular, in order to provide the above-described content delivery service, thecache device 350 according to an embodiment of the present invention may cache and store content included in a content response message transmitted from thecontent server 200 to the terminal 100. However, the terminal 100 may provide a content delivery service by using the uploading content delivered to thespecific content server 200.

이를 위해, 본 발명의 캐시 장치(350)는 단말(100)로부터 특정 컨텐츠 서버(200)로 전송되는 컨텐츠 업로드 메시지(예컨대 HTTP POST REQUEST 메시지)가 검출되면, 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 캐싱함으로써, 추후 다른 단말(100)로부터 컨텐츠 요청 시 보다 신속한 컨텐츠 제공이 가능하게 된다. 그리고, 캐싱하고 있는 컨텐츠에 대한 정보를 캐시 컨트롤러(340)로 전달할 수도 있다. 예를 들어, 일반적인 캐시 장치(350)의 경우, 제1 단말(100a)의 요청에 따라 컨텐츠 서버(200)가 상기 제1 단말(100a)로 전달하는 컨텐츠가 존재할 경우, 해당 컨텐츠를 캐싱하고, 제2 단말(100b)의 컨텐츠 요청 시, 캐싱된 컨텐츠를 제공하는 방식이라면, 본 발명의 실시 예에 따른 캐시 장치(350)는 제1 단말(100a)의 요청에 따라 컨텐츠 서버(200)로 전달되는 컨텐츠 업로드 메시지를 통해 컨텐츠를 캐싱하고, 제2 단말(100b)의 컨텐츠 요청 시, 캐싱된 컨텐츠를 제공함으로써, 종래의 방식에 비해 보다 신속한 컨텐츠 전송 서비스의 제공이 가능하게 된다.To this end, thecache device 350 of the present invention caches the content included in the content upload message when a content upload message (eg, HTTP POST REQUEST message) transmitted from the terminal 100 to aspecific content server 200 is detected. By doing so, it is possible to provide more rapid content when requesting content from another terminal 100 in the future. In addition, information on the content being cached may be transmitted to thecache controller 340. For example, in the case of thegeneral cache device 350, if there is content delivered to thefirst terminal 100a by thecontent server 200 at the request of thefirst terminal 100a, the corresponding content is cached, In the case of providing cached content when requesting content from thesecond terminal 100b, thecache device 350 according to an embodiment of the present invention delivers it to thecontent server 200 according to the request of thefirst terminal 100a. By caching the content through the content upload message and providing the cached content when the second terminal 100b requests the content, it is possible to provide a more rapid content delivery service compared to the conventional method.

보다 구체적인 캐시 장치(350)의 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 캐시 장치(350)는 캐시 컨트롤러(340)의 제어에 따라 동작을 수행할 수도 있다.A more detailed configuration and operation method of thecache device 350 will be described later, and thecache device 350 of the present invention may perform an operation under the control of thecache controller 340.

즉, 캐시 컨트롤러(340)는 네트워크(300) 상에 분산 배치된 다수의 캐시 장치(350)의 관리 및 다수의 캐시 장치(350)에 의한 컨텐츠 전달 과정을 제어하는 역할을 수행하는 것으로, 소정의 컨텐츠가 다수의 캐시 장치(350)에 저장되어 있는 환경에서, 단말(100)로 컨텐츠를 제공할 최적의 캐시 장치(350)를 선택하는 역할을 수행할 수도 있다. 여기서 최적의 캐시 장치(350)는 단말 (100)와 가장 가까운 거리의 캐시 장치가 선택될 수 있으며, 캐시 장치(350)의 현재의 부하 상태 또는 캐시 장치에 저장된 컨텐츠의 종류 등을 고려하여 최적의 캐시 장치를 선택하고, 이를 단말(100)로 안내하는 역할을 수행할 수 있다. 이때, 캐시 컨트롤러(340)는 HTTP 리다이렉팅 등 기 공지된 다양한 방식으로 최적의 캐시 장치(350)에 대한 주소 정보를 단말(100)로 안내할 수 있다.That is, thecache controller 340 manages a plurality ofcache devices 350 distributed over thenetwork 300 and controls a content delivery process by the plurality ofcache devices 350. In an environment in which content is stored in a plurality ofcache devices 350, it may play a role of selecting anoptimal cache device 350 to provide content to the terminal 100. Here, as theoptimal cache device 350, a cache device having the closest distance to the terminal 100 may be selected, and theoptimal cache device 350 may be selected in consideration of the current load state of thecache device 350 or the type of content stored in the cache device. It may serve to select a cache device and guide it to the terminal 100. In this case, thecache controller 340 may guide the address information of theoptimal cache device 350 to the terminal 100 in various known methods such as HTTP redirecting.

아울러, 본 발명의 다수의 캐시 장치(350)가 주요 지점에 분산 배치되어 있는 네트워크(300)는 단말(100)과 컨텐츠 서버(200) 간의 정보의 송수신을 위한 통신망을 의미하는 것으로, 특히, 단일의 통신망 형태보다는 다양한 종류, 예컨대 인트라넷망, 이동통신망, 위성 통신망 등 다양한 종류의 유무선 통신 기술을 이용하여 구현된 통신망이 혼합된 형태일 수 있다.In addition, thenetwork 300 in which the plurality ofcache devices 350 of the present invention are distributed in main points refers to a communication network for transmitting and receiving information between the terminal 100 and thecontent server 200, and in particular, a single The communication network implemented using various types of wired/wireless communication technologies, such as an intranet network, a mobile communication network, and a satellite communication network, may be mixed.

여기서, 네트워크(300)는 다수의 유무선 접속망(330) 및 코어망(320)을 포함하는 모바일 망과 연결되 외부망, 예컨대 인터넷망(310)을 포함하여 구성될 수 있다. 여기서, 모바일 망을 구성하는 유무선 접속망(330)은 단말(100)과 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다.Here, thenetwork 300 is connected to a mobile network including a plurality of wired andwireless access networks 330 and acore network 320 and may be configured to include an external network, for example, anInternet network 310. Here, the wired/wireless access network 330 constituting the mobile network is an access network for performing wired/wireless communication with the terminal 100, for example, a plurality of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, etc. It may be implemented with a base station and a base station controller such as a base station controller (BSC) and a radio network controller (RNC).

또 다른 방식으로는, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.In another method, the digital signal processing unit and the wireless signal processing unit, which were integrally implemented in the base station, are divided into a digital unit (hereinafter referred to as DU and a radio unit (hereinafter referred to as RU)). A plurality of RUs (not shown) may be installed in each of the regions, and a plurality of RUs (not shown) may be connected to a centralized DU (not shown).

또한, 유무선 접속망(330)와 함께 모바일 망을 구성하는 코어망(320)은 유무선 접속망(330)과 외부 망, 예컨대, 인터넷망(310)을 연결하는 역할을 수행한다.In addition, thecore network 320 constituting the mobile network together with the wired/wireless access network 330 serves to connect the wired/wireless access network 330 and an external network, for example, theInternet network 310.

이러한 코어망(320)은 앞서 설명한 바와 같이, 유무선 접속망(330) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(320)은 주파수간 이동성을 관리하고, 접속망(330) 및 코어망(320) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(310)과의 연동을 위한 역할을 수행할 수도 있다. 코어망(320)은 상술한 구성 이외도 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.As described above, thecore network 320 is a network system that performs major functions for mobile communication services such as mobility control and switching between wired andwireless access networks 330, and circuit switching or packet switching ), and manages and controls the packet flow in the mobile network. In addition, thecore network 320 may manage mobility between frequencies, and may perform a role of interworking with theaccess network 330 and the traffic in thecore network 320 and other networks, for example, theInternet network 310. In addition to the above-described configuration, thecore network 320 may be configured to further include a Mobile Switching Center (MSC), a Home Location Register (HLR), a Mobile Mobility Entity (MME), and a Home Subscriber Server (HSS).

또한, 인터넷망(310)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 컨텐츠 서버(200)와 연결되어, 컨텐츠 서버(200)로부터 제공되는 컨텐츠를 코어망(320) 및 유무선 접속망(330)을 거쳐, 단말(100)로 제공하거나, 기 설정된 분산 정책에 따라 다수의 캐시 장치(350)로 제공할 수도 있다.In addition, theInternet network 310 refers to a common open communication network, that is, a public network in which information is exchanged according to the TCP/IP protocol, and is connected to thecontent server 200 and provided from thecontent server 200. It may be provided to the terminal 100 through thecore network 320 and the wired/wireless access network 330, or may be provided to a plurality ofcache devices 350 according to a preset distribution policy.

아울러, 모바일 망 상에서 송수신되는 모바일 패킷은 인터넷망(310)과는 다르게 GTP(GPRS Tunneling Protocol) 터널을 통해서 전송될 수 있다. 예를 들어, 단말(100)이 컨텐츠 서버(200)에서 제공하는 컨텐츠를 요청하는 컨텐츠 요청 메시지를 전송한다고 할 때, 단말(100)의 출발지 주소 정보(단말(100)의 IP 주소)와 목적지 주소 정보(컨텐츠 서버(200)의 IP 정보)를 포함하는 IP 패킷을 접속망(330)으로 전송하면, 접속망(330)의 기지국(예컨대, eNodeB)은 상기 IP 패킷에 GTP 헤더, UDP 헤더, GTP 터널링을 위한 IP 헤더를 더 부가한 모바일 패킷으로 변환하여 코어망(320)으로 전달한다. 이때, GTP 헤더는 단말(100)에 할당된 터널링 식별 정보(TEID; Tunneling End poing ID)를 포함할 수 있다. 코어망(320)은 GTP 헤더, UDP 헤더 및 GTP 터널링은 위한 IP 헤더를 제거하고, 단말(100)이 전송한 원래의 IP 패킷을 인터넷망(310)를 통해서 컨텐츠 서버(200)로 전송할 수 있다.In addition, mobile packets transmitted and received on the mobile network may be transmitted through a GTP (GPRS Tunneling Protocol) tunnel differently from theInternet network 310. For example, when the terminal 100 transmits a content request message requesting content provided by thecontent server 200, the source address information (IP address of the terminal 100) and the destination address of the terminal 100 When an IP packet including information (IP information of the content server 200) is transmitted to theaccess network 330, the base station (e.g., eNodeB) of theaccess network 330 performs a GTP header, a UDP header, and GTP tunneling in the IP packet. The IP header is converted into an additional mobile packet and transmitted to thecore network 320. In this case, the GTP header may include tunneling identification information (TEID; Tunneling End poing ID) allocated to the terminal 100. Thecore network 320 may remove the GTP header, the UDP header, and the IP header for GTP tunneling, and transmit the original IP packet transmitted by the terminal 100 to thecontent server 200 through theInternet network 310. .

이상으로 본 발명의 네트워크(300) 구조에 대해 간략히 설명하였으며, 이러한 네트워크(300)는 캐시 장치(350)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. 이러한, 네트워크(300)는 LAN(Local Area Network), WAN(Wide Area Network) 등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), 최근 주목 받고 있는 LTE(Long Term Evolution), EPC(Evolved Packet Core) 등의 네트워크와 향후 구현될 차세대 네트워크 및 클라우드 컴퓨팅 네트워크를 모두 포함하는 개념이다.As described above, the structure of thenetwork 300 of the present invention has been briefly described, and thenetwork 300 is combined with thecache device 350 to store computing resources such as hardware and software, and correspond to the computing resources required by the client. It may include a cloud computing network that can be provided to a terminal. Here, cloud computing refers to a computer environment in which information is permanently stored on a server on the Internet and temporarily stored on client terminals such as desktops, tablet computers, notebooks, netbooks, and smartphones, and cloud computing stores all user information. It means a computer environment access network that stores the information on a server on the Internet and makes this information available anytime, anywhere through various IT devices. Thenetwork 300 is not only a closed network such as a local area network (LAN), a wide area network (WAN), an open network such as the Internet, but also a code division multiple access (CDMA), wideband code division (WCDMA). Multiple Access), GSM (Global System for Mobile Communications), LTE (Long Term Evolution), and EPC (Evolved Packet Core), which are recently attracting attention, as well as next-generation networks and cloud computing networks to be implemented in the future.

이하, 본 발명의 실시 예에 따른 캐시 장치(350)의 주요 구성 및 동작 방법에 대해 도 2를 참조하여 설명하도록 한다.Hereinafter, a main configuration and operation method of thecache device 350 according to an embodiment of the present invention will be described with reference to FIG. 2.

도 2는 본 발명의 실시 예에 따른 캐시 장치의 주요 구성을 도시한 블록도이다.2 is a block diagram showing a main configuration of a cache device according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 캐시 장치(350)는 통신부(351), 제어부(352) 및 저장부(353)를 포함하여 구성될 수 있다.1 and 2, acache device 350 according to an embodiment of the present invention may include acommunication unit 351, acontrol unit 352, and astorage unit 353.

먼저, 통신부(351)는 코어망(320) 또는 인터넷망(310)을 통해 송수신되는 다양한 데이터를 모니터링하거나, 이를 송수신하는 역할을 수행한다. 본 발명의 통신부(351)는 먼저 단말(100)과 통신하며, 컨텐츠 서버(200)와 연결된 캐시 컨트롤러(340)와 통신을 수행한다. 이를 위하여, 통신부(351)는 도시되지 않았지만, 미러링 모듈 및 인젝션 모듈을 포함할 수 있다. 미러링 모듈은 코어망(320) 또는 인터넷망(310)을 통해 전달되는 데이터를 복사하여 제어부(352)로 전달한다. 인젝션 모듈은 제어부(352)로부터 전달 받은 데이터를 코어망(320) 또는 인터넷망(310)을 통해 캐시 컨트롤러(340) 또는 단말(100)로 전송한다. 따라서, 통신부(351)는 단말(100)과의 연결을 통해 단말(100)이 컨텐츠 서버(200)로 전송하는 컨텐츠를 요청하는 컨텐츠 요청 메시지를 수신하거나, 컨텐츠 서버(200)가 상기 컨텐츠 요청 메시지에 대응하여 상기 단말(100)로 전송하는 컨텐츠 응답 메시지를 수신할 수 있다.First, thecommunication unit 351 monitors various data transmitted/received through thecore network 320 or theInternet network 310 or performs a role of transmitting and receiving the same. Thecommunication unit 351 of the present invention first communicates with the terminal 100 and communicates with thecache controller 340 connected to thecontent server 200. To this end, thecommunication unit 351 is not shown, but may include a mirroring module and an injection module. The mirroring module copies data transmitted through thecore network 320 or theInternet network 310 and transmits the copied data to thecontroller 352. The injection module transmits the data received from thecontrol unit 352 to thecache controller 340 or the terminal 100 through thecore network 320 or theInternet network 310. Accordingly, thecommunication unit 351 receives a content request message requesting the content transmitted from the terminal 100 to thecontent server 200 through a connection with the terminal 100, or thecontent server 200 receives the content request message. In response to, a content response message transmitted to the terminal 100 may be received.

특히, 본 발명의 실시 예에 따른 통신부(351)는 단말(100)이 특정 컨텐츠 서버(200)로 전달하는 컨텐츠 업로드 메시지를 모니터링하여 검출하고, 검출된 컨텐츠 업로드 메시지를 제어부(352)로 전달하는 역할을 수행할 수 있다. 또한, 통신부(351)는 제어부(352)의 제어에 따라, 저장부(353)에 저장된 컨텐츠를 요청한 단말(100)로 전달하는 과정을 수행할 수 있다.In particular, thecommunication unit 351 according to an embodiment of the present invention monitors and detects a content upload message transmitted from the terminal 100 to aspecific content server 200, and transmits the detected content upload message to thecontrol unit 352. Can play a role. In addition, thecommunication unit 351 may perform a process of delivering the content stored in thestorage unit 353 to the requestingterminal 100 under the control of thecontrol unit 352.

제어부(352)는 캐시 장치(350)의 전반적인 동작을 제어하는 역할을 수행한다. 제어부(352)는 상기 통신부(351)를 통해 단말(100)로부터 전달되는 컨텐츠 요청 메시지가 수신되면, 상기 컨텐츠 요청 메시지에 해당하는 컨텐츠를 캐싱하고 있을 경우, 컨텐츠 서버(200)를 대신하여 단말(100)로 컨텐츠를 전송할 수 있다. 또한, 컨텐츠 서버(200)로부터 특정 단말(100)로 전달되는 컨텐츠 응답 메시지가 수신되면, 제어부(352)는 상기 컨텐츠 응답 메시지에 해당하는 컨텐츠를 캐싱하고 있을 경우, 상기 컨텐츠 서버(200)와의 세션을 해제하고, 컨텐츠 서버(200)를 대신하여 자신이 컨텐츠를 단말(100)로 전달할 수 있다.Thecontroller 352 serves to control the overall operation of thecache device 350. When a content request message transmitted from the terminal 100 is received through thecommunication unit 351, thecontrol unit 352, when caching the content corresponding to the content request message, replaces thecontent server 200 with the terminal ( 100) can be transmitted. In addition, when a content response message transmitted from thecontent server 200 to aspecific terminal 100 is received, thecontroller 352 caches the content corresponding to the content response message, the session with thecontent server 200 After canceling, on behalf of thecontent server 200, the user may deliver the content to the terminal 100.

특히, 본 발명의 실시 예에 따른 제어부(352)는 컨텐츠 업로드 처리 방법을 지원하게 된다. 보다 구체적으로 설명하면 제어부(352)는 단말(100)과 컨텐츠 서버(200) 사이의 송수신되는 메시지를 모니터링하여 검출할 수 있으며, 특정 단말(100)로부터 컨텐츠 서버(200)로 전달되는 컨텐츠 업로드 메시지를 검출할 수 있다. 여기서, 컨텐츠 업로드 메시지는 예컨대 HTTP POST REQUEST 메시지가 될 수 있으며, 특정 프로토콜에 따라 서버로 컨텐츠를 전송할 수 있는 메시지라면 본 발명의 컨텐츠 업로드 메시지로 활용될 수 있다.In particular, thecontrol unit 352 according to an embodiment of the present invention supports a content upload processing method. More specifically, thecontroller 352 may monitor and detect messages transmitted and received between the terminal 100 and thecontent server 200, and a content upload message transmitted from aspecific terminal 100 to thecontent server 200 Can be detected. Here, the content upload message may be, for example, an HTTP POST REQUEST message, and any message capable of transmitting content to a server according to a specific protocol may be used as a content upload message of the present invention.

제어부(352)는 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 확인하고, 컨텐츠 확인이 불가능한 경우, 컨텐츠 서버(200)를 대신하여 컨텐츠 확인 불능 메시지(BAD REQUEST MESSAGE)를 단말(100)로 전송되도록 제어할 수도 있다. 또한, 제어부(352)는 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 확인되면, 즉, 컨텐츠에 대한 컨텐츠 이름(file name), 컨텐츠 길이(content length), 컨텐츠 타입(content type)이 확인되면, 확인된 컨텐츠가 자신이 저장(캐싱)하고 있는 지를 판단하게 된다. 이때, 본 발명의 제어부(352)는 컨텐츠에 대한 캐싱 여부 판단 시, 상기 컨텐츠 업로드 메시지의 바디(body)에 삽입된 컨텐츠를 청크(chunk) 단위, 예컨대 128K byte 단위로 검사할 수 있으며, 최초 청크 데이터가 일치하는 경우, 제어부(352)는 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 자신이 캐싱하고 있는 것으로 판단할 수 있다.Thecontrol unit 352 checks the content included in the content upload message, and if content verification is not possible, thecontrol unit 352 controls to transmit a content confirmation impossible message (BAD REQUEST MESSAGE) to the terminal 100 on behalf of thecontent server 200. May be. In addition, when the content included in the content upload message is confirmed, that is, when the content name, content length, and content type for the content are confirmed, the checked It determines whether the content is being stored (cached) by itself. At this time, when determining whether to cache the content, thecontrol unit 352 of the present invention may check the content inserted in the body of the content upload message in chunks, for example, 128K bytes, and the initial chunk If the data match, thecontroller 352 may determine that the content included in the content upload message is cached by itself.

상기 판단 결과, 컨텐츠 업로드 메시지에 포함된 컨텐츠를 자신이 캐싱하고 있지 않을 경우(cache miss), 제어부(352)는 상기 컨텐츠를 컨텐츠 서버(200)로 전달하기 이전에, 상기 컨텐츠를 저장부(353)에 저장되도록 제어하고, 컨텐츠 서버(200)로 상기 컨텐츠 업로드 메시지를 전송할 수 있다. 이후, 제어부(352)는 다른 단말(100)로부터 상기 컨텐츠와 동일한 컨텐츠에 대한 요청 메시지 또는 응답 메시지가 검출되면, 상기 단말(100)로 컨텐츠 서버(200)를 대신하여 컨텐츠를 제공함으로써, 종래의 방식에 비해 보다 신속한 컨텐츠 제공이 가능하게 된다.As a result of the determination, if the content included in the content upload message is not cached (cache miss), thecontroller 352 stores the content before delivering the content to thecontent server 200. ), and the content upload message may be transmitted to thecontent server 200. Thereafter, when a request message or a response message for the same content as the content is detected from another terminal 100, thecontrol unit 352 provides the content to the terminal 100 on behalf of thecontent server 200, It is possible to provide content faster than the method.

반면, 상기 판단 결과, 컨텐츠 업로드 메시지에 포함된 컨텐츠를 자신이 캐싱하고 있을 경우(cache hit), 제어부(352)는 단말(100)이 전달하는 컨텐츠 업로드 메시지를 차단하고 자신이 직접 컨텐츠 서버(200)로 컨텐츠를 전달할 수 있다. 이때, 제어부(352)는 상기 컨텐츠 서버(200)가 해당 컨텐츠를 보유하고 있는 것으로 판단되면, 단말(100)에 대한 식별 정보 및 컨텐츠에 대한 식별 정보만을 제공하여, 업로딩 시 발생되는 트래픽을 최소화시킬 수도 있다.On the other hand, as a result of the determination, if the content included in the content upload message is cached by itself (cache hit), thecontrol unit 352 blocks the content upload message transmitted from the terminal 100 and directs the content server 200 ) To deliver the content. At this time, when it is determined that thecontent server 200 has the corresponding content, thecontrol unit 352 provides only identification information for the terminal 100 and identification information for the content, thereby minimizing traffic generated during uploading. May be.

이러한 과정을 수행하기 위해 제어부(352)는 메시지 검출 모듈(352a), 캐싱 판단 모듈(352b), 캐싱 제어 모듈(352c)을 포함하여 구성될 수 있다.In order to perform this process, thecontrol unit 352 may include amessage detection module 352a, acaching determination module 352b, and acaching control module 352c.

저장부(353)은 하나 이상의 컨텐츠(353a)의 사본을 저장하고 관리하는 역할을 수행한다. 이때, 상기 컨텐츠는 일정 크기의 청크 데이터 단위로 구분되어 저장될 수 있으며, 컨텐츠의 일부분만 저장할 수도 있다. 또한, 상기 청크 데이터는 청크 식별 정보와 함께 대응되어 저장될 수 있다. 이러한, 저장부(353)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.Thestorage unit 353 serves to store and manage copies of one ormore contents 353a. In this case, the content may be divided and stored in chunk data units having a predetermined size, and only a part of the content may be stored. Also, the chunk data may be stored in correspondence with the chunk identification information. Thestorage unit 353 includes a flash memory, a hard disk, a multimedia card micro-type memory (eg, SD or XD memory, etc.), RAM, and ROM ( It may be configured to include a storage medium such as ROM).

이상으로 본 발명의 실시 예에 따른 캐시 장치(350)의 주요 구성 및 동작 과정에 대해 설명하였다.The main configuration and operation process of thecache device 350 according to an embodiment of the present invention have been described above.

이러한 캐시 장치(350)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.The memory mounted in thecache device 350 stores information within the device. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in another implementation, the memory may be a non-volatile memory unit. In one implementation, the storage device is a computer-readable medium. In various different implementations, the storage device may include, for example, a hard disk device, an optical disk device, or some other mass storage device.

아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.In addition, the term'~module' used in an embodiment of the present invention refers to a software component, and'~module' performs certain roles. As an example,'~module' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, and sub It includes routines, segments of program code, drivers, data, databases, data structures, tables, arrays, and variables. In addition, the components and functions provided in the'~modules' may be combined into a smaller number of components and'~modules' or further separated into additional components and'~modules'.

비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and implementations of the subject described in this specification may be implemented with other types of digital electronic circuits, or the structures disclosed herein and structural equivalents thereof. It may be implemented with computer software, firmware, or hardware, or may be implemented by a combination of one or more of them. Implementations of the subject matter described in this specification are one or more computer program products, that is, one relating to computer program instructions encoded on a tangible program storage medium for execution by or for controlling the operation of a device according to the invention. It can be implemented as the above module. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of materials that affect a machine-readable radio wave signal, or a combination of one or more of them.

이하, 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법에 대해 설명하도록 한다.Hereinafter, a content upload processing method according to an embodiment of the present invention will be described.

도 3은 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a content upload processing method according to an embodiment of the present invention.

도 1 및 도 3을 참조하면, 본 발명의 캐시 장치(350)는 도 1에 도시된 바와 같이, 접속망(330) 및 코어망(320) 사이에 위치하며, 단말(100)과 컨텐츠 서버(200) 간의 송수신되는 메시지를 모니터링하게 된다(S101). 이때, 캐시 장치(350)가 단말(100)로부터 특정 컨텐츠 서버(200)로 전송되는 컨텐츠 업로드 메시지가 검출되면(S103), 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 확인하고(S105), 확인된 컨텐츠를 저장, 즉 캐싱하고 있는 지 여부를 판단하게 된다(S107).1 and 3, thecache device 350 of the present invention is located between theaccess network 330 and thecore network 320, as shown in FIG. 1, the terminal 100 and the content server 200 ) To monitor the transmitted and received messages (S101). At this time, when thecache device 350 detects a content upload message transmitted from the terminal 100 to the specific content server 200 (S103), checks the content included in the content upload message (S105), and It is determined whether or not it is being stored, that is, caching (S107).

상기 판단 결과, 컨텐츠를 저장하고 있지 않을 경우, 캐시 장치(350)는 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 저장하고(S109), 컨텐츠 서버(200)로 컨텐츠 업로드 메시지가 정상적으로 전송될 수 있도록 제어한다(S111).As a result of the determination, if the content is not stored, thecache device 350 stores the content included in the content upload message (S109), and controls the content upload message to be normally transmitted to thecontent server 200. (S111).

반면, 상기 판단 결과, 컨텐츠를 저장하고 있을 경우, 캐시 장치(350)는 상기 단말(100)이 컨텐츠 서버(200)로 전송하는 컨텐츠 업로드 메시지가 상기 컨텐츠 서버(200)로 전달되지 않도록 단말(100)과의 연결을 해제하고(S113), 컨텐츠 서버(200)로 자신이 저장하고 있는 컨텐츠를 전송하게 된다.On the other hand, as a result of the determination, when content is being stored, thecache device 350 prevents the content upload message transmitted from the terminal 100 to thecontent server 200 from being transmitted to the content server 200. ) And releases the connection (S113), and transmits the content stored by itself to thecontent server 200.

이하에서는, 상술한 본 발명의 컨텐츠 업로드 처리 방법에 대해 보다 더 구체적으로 설명하도록 한다.Hereinafter, the content upload processing method of the present invention described above will be described in more detail.

도 4는 본 발명의 일 실시 예에 따른 컨텐츠 업로드 처리 방법을 보다 구체적으로 설명하기 위한 데이터 흐름도이다.4 is a data flow diagram illustrating a content upload processing method according to an embodiment of the present invention in more detail.

도 4를 참조하면, 단말(100) 사용자는 특정 컨텐츠 서버(200)로 컨텐츠를 업로드하기 위한 컨텐츠 업로드 메시지를 전송하게 된다(S201). 예를 들어, 컨텐츠 서버(200)가 블로그 서비스를 제공하는 경우, 단말(100) 사용자는 자신의 단말(100)을 이용하여 상기 컨텐츠 서버(200)로 사진, 동영상, 텍스트 등을 입력하고 전송 버튼을 눌러 전송함으로써, 컨텐츠 업로드 메시지를 생성하여 전송할 수 있으며, 이를 수신한 컨텐츠 서버(200)는 단말(100)의 요청에 따라 단말(100) 사용자의 블로그에 컨텐츠를 개시하게 된다.Referring to FIG. 4, a user of the terminal 100 transmits a content upload message for uploading content to a specific content server 200 (S201). For example, when thecontent server 200 provides a blog service, the user of the terminal 100 inputs a picture, video, text, etc. to thecontent server 200 using histerminal 100 and sends a button By pressing and transmitting, a content upload message can be generated and transmitted, and thecontent server 200 receiving the content uploads the content on the blog of the user of the terminal 100 at the request of the terminal 100.

여기서, 컨텐츠 업로드 메시지는 예컨대 HTTP POST REQUEST 메시지가 될 수 있으며, 특정 프로토콜에 따라 서버로 컨텐츠를 전송할 수 있는 메시지라면 본 발명의 컨텐츠 업로드 메시지로 활용될 수 있다. 이러한, 컨텐츠 업로드 메시지를 수신한 컨텐츠 서버(200)는 상기 컨텐츠 업로드 메시지에 따라 서버 측에서의 정보 갱신 과정을 수행할 수 있다. 즉, 단말(100)이 전송한 컨텐츠를 저장하는 등의 과정을 수행할 수 있게 된다.Here, the content upload message may be, for example, an HTTP POST REQUEST message, and any message capable of transmitting content to a server according to a specific protocol may be used as a content upload message of the present invention. Upon receiving the content upload message, thecontent server 200 may perform an information update process at the server side according to the content upload message. That is, a process such as storing the content transmitted by the terminal 100 can be performed.

캐시 장치(350)는 단말(100)과 컨텐츠 서버(200) 간의 송수신되는 메시지를 모니터링하는 중에, 상술한 바와 같은 컨텐츠 업로드 메시지가 모니터링되어 검출되면(S203), 일단 컨텐츠 서버(200)로 전송되지 않도록 차단한 후, 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 확인하게 된다(S205). 이때, 컨텐츠 확인이 불가능한 경우, 예를 들어 컨텐츠 길이(length) 등 일부 정보가 불충분한 경우, 캐시 장치(350)는 컨텐츠 서버(200)를 대신하여 컨텐츠 확인 불능 메시지(BAD REQUEST MESSAGE)를 단말(100)로 전송할 수도 있다(S207).While thecache device 350 monitors a message transmitted and received between the terminal 100 and thecontent server 200, if the content upload message as described above is monitored and detected (S203), it is once not transmitted to thecontent server 200. After blocking, the content included in the content upload message is checked (S205). At this time, when content verification is impossible, for example, when some information such as content length is insufficient, thecache device 350 sends a content verification failure message (BAD REQUEST MESSAGE) on behalf of thecontent server 200 to the terminal ( 100) can also be transmitted (S207).

반면, 컨텐츠 업로드 메시지에서 단말(100)이 전송하고자 하는 컨텐츠가 확인되면, 다시 말해, 컨텐츠에 대한 컨텐츠 이름(file name), 컨텐츠 길이(content length), 컨텐츠 타입(content type)이 확인되면, 캐시 장치(350)는 확인된 컨텐츠가 자신이 저장하고 있는 지를 판단하게 된다(S209).On the other hand, when the content to be transmitted by the terminal 100 is identified in the content upload message, that is, when the content name, content length, and content type for the content are identified, the cache Thedevice 350 determines whether the checked content is stored by itself (S209).

예를 들어, 단말(100)이 전송한 컨텐츠 업로드 메시지가 다음과 같다고 가정한다.For example, it is assumed that the content upload message transmitted from the terminal 100 is as follows.

POST /bin/upload HTTP/1.1
Host: test101
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
Content-Type: multipart/form-data; boundary=----------------7d41b838504d8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Content-Length: 342
Connection: Keep-Alive
Cache-Control: cache
----------7d41b838504d8 Content-Disposition: form-data; name="username"
Lee
----------7d41b838504d8 Content-Disposition: form-data; name="fileID"; filename="C:\a.jpeg" Content-Type: image/jpeg
<h1>Home page on main server</h1>
-----------------------------7d41b838504d8--
POST /bin/upload HTTP/1.1
Host: test101
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
Content-Type: multipart/form-data; boundary=----------------7d41b838504d8
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Content-Length: 342
Connection: Keep-Alive
Cache-Control: cache
----------7d41b838504d8 Content-Disposition: form-data; name="username"
Lee
----------7d41b838504d8 Content-Disposition: form-data; name="fileID";filename="C:\a.jpeg" Content-Type: image/jpeg
<h1>Home page on main server</h1>
-----------------------------7d41b838504d8--

상기 <표 1>은 컨텐츠 업로드 메시지의 요청 라인 및 헤더 라인 부분만을 도시한 것으로, 요청 라인은 메소드(POST), URL, HTTP 버전에 대한 정보를 포함할 수 있으며, 헤더 라인은 컨텐츠 이름, 컨텐츠 길이, 컨텐츠 타입 등의 정보를 포함할 수 있다.Table 1 above shows only the request line and header line portion of the content upload message, and the request line may include information on a method (POST), URL, and HTTP version, and the header line is the content name and content length. , Content type, and the like.

캐시 장치(350)는 상기 헤더 라인에서, 컨텐츠 이름(file name), 컨텐츠 길이(content length), 컨텐츠 타입(content type) 즉, a.jpeg, 342, image/jpeg를 확인하고, 확인된 정보와 동일한 정보를 포함하는 컨텐츠를 캐싱하고 있는 지, 즉 저장하고 있는 지를 판단할 수 있게 된다.In the header line, thecache device 350 checks a content name, a content length, and a content type, that is, a.jpeg, 342, image/jpeg, and checks the identified information and It is possible to determine whether content including the same information is being cached, that is, stored.

아울러, 상기 컨텐츠 업로드 메시지는 컨텐츠가 삽입된 바디 부분을 포함하며, 캐시 장치(350)는 컨텐츠에 대한 캐싱 여부 판단 시, 상기 컨텐츠 업로드 메시지의 바디(body)에 삽입된 컨텐츠를 청크(chunk) 단위, 예컨대 128K byte 단위로 검사할 수 있으며, 최초 청크 데이터가 일치하는 경우, 캐시 장치(350)는 상기 컨텐츠를 자신이 캐싱하고 있는 것으로 판단할 수도 있다.In addition, the content upload message includes a body portion into which the content is inserted, and when determining whether to cache the content, thecache device 350 stores the content inserted into the body of the content upload message in chunks. , For example, it may be inspected in units of 128K bytes, and if the initial chunk data match, thecache device 350 may determine that the content is being cached.

캐시 장치(350)는 상술한 바와 같이 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 캐싱 여부를 판단하여(S209), 컨텐츠를 저장하고 있지 않을 경우, 상기 컨텐츠를 자신의 저장 공간에 저장하고(S211), 컨텐츠 서버(200)로 전달되도록 상기 컨텐츠 업로드 메시지를 전송하게 된다(S213).As described above, thecache device 350 determines whether to cache the content included in the content upload message (S209), and if the content is not stored, stores the content in its own storage space (S211), The content upload message is transmitted to be delivered to the content server 200 (S213).

반면, 상기 S209 판단 결과, 컨텐츠를 저장하고 있을 경우, 도 5에 도시된 S313 ~ S313 단계를 수행할 수 있다(S215).On the other hand, as a result of the determination of S209, if content is being stored, steps S313 to S313 shown in FIG. 5 may be performed (S215).

이에 대해 도 5를 참조하여 설명하도록 한다.This will be described with reference to FIG. 5.

도 5는 본 발명의 다른 실시 예에 따른 컨텐츠 업로드 처리 방법을 보다 구체적으로 설명하기 위한 데이터 흐름도이다.5 is a data flow diagram illustrating a content upload processing method according to another embodiment of the present invention in more detail.

도 5에 도시된 S301 ~ S309 단계는 도 4를 통해 설명한 S201 ~ S209 단계와 동일하므로, 구체적인 설명은 생략하도록 하며, 캐시 장치(305)는 전술한 바와 같이 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 캐싱 여부를 판단하여(S309), 저장되어 있지 않을 경우, 도 4를 통해 설명한 바와 같이 S211 ~ S213 단계를 수행할 수 있으며, 저장하고 있을 경우, 캐시 장치(350)는 단말(100)을 대신하여 자신이 저장된 컨텐츠를 컨텐츠 서버(200)로 전달하기 위해, 단말(100)과의 연결을 차단하고(S311), 캐시 장치(350)가 컨텐츠 서버(200)로 단말(100)을 대신하여 저장된 컨텐츠를 전송할 수 있다(S313). 이때, 캐시 장치(350)는 상기 컨텐츠가 컨텐츠 서버(200)에 저장된 컨텐츠일 경우, 예를 들어, 다른 사용자의 단말에 의해 이미 업로딩된 컨텐츠일 경우, 동일한 컨텐츠를 다시 업로딩하는 것은 과동한 트래픽 사용을 야기하므로, 캐시 장치(350)는 단말(100)에 대한 식별 정보 및 컨텐츠에 대한 식별 정보만을 컨텐츠 서버(200)로 전송할 수도 있으며, 컨텐츠 서버(200)는 상기 컨텐츠에 대한 식별 정보를 상기 단말(100)에 대응하여 처리하는 과정, 예컨대 단말(100) 사용자의 블로그에 해당 컨텐츠를 개시하는 과정 등을 수행할 수 있게 된다.Steps S301 to S309 shown in FIG. 5 are the same as steps S201 to S209 described with reference to FIG. 4, so a detailed description thereof will be omitted, and the cache device 305 caches the content included in the content upload message as described above. It is determined whether or not (S309), and if not stored, steps S211 to S213 can be performed as described with reference to FIG. 4, and if stored, thecache device 350 replaces the terminal 100 with its own In order to deliver the stored content to thecontent server 200, the connection with the terminal 100 is blocked (S311), and thecache device 350 transmits the stored content to thecontent server 200 on behalf of the terminal 100. Can be transmitted (S313). At this time, when the content is the content stored in thecontent server 200, for example, when the content is already uploaded by another user's terminal, thecache device 350 uses the same traffic to upload the same content again. Therefore, thecache device 350 may transmit only identification information on the terminal 100 and identification information on the content to thecontent server 200, and thecontent server 200 transmits the identification information on the content to the terminal. A process of processing corresponding to 100, for example, a process of opening the corresponding content on the blog of the user of the terminal 100 can be performed.

본 발명은 이와 같이, 캐시 장치(350)가 단말(100)이 특정 컨텐츠 서버(200)로 전송하는 컨텐츠 업로드 메시지에 포함된 컨텐츠를 캐싱함으로써, 추후 다른 단말(100)이 동일한 컨텐츠를 요청한 경우, 캐싱하고 있는 컨텐츠를 해당 단말(100)로 제공함으로써, 캐싱 히트율을 더 높일 수 있게 된다.In this way, thecache device 350 caches the content included in the content upload message transmitted from the terminal 100 to thespecific content server 200, so that when the other terminal 100 requests the same content later, By providing the content being cached to the terminal 100, it is possible to further increase the caching hit rate.

이에 대해 도 6을 참조하여 간략히 설명하도록 한다.This will be briefly described with reference to FIG. 6.

도 6은 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법을 이용한 컨텐츠 제공 방법을 설명하기 위한 데이터 흐름도이다.6 is a data flow diagram illustrating a content providing method using a content upload processing method according to an embodiment of the present invention.

도 6을 참조하여 설명하기에 앞서, 제1 단말(100a)은 컨텐츠 서버(200)로 컨텐츠, 예컨대 a.mov를 업로드한 사용자의 단말이며, 제2 단말(100b)은 컨텐츠 서버(200)로 상기 제1 단말(100a)이 업로드한 컨텐츠, 즉, a.mov를 요청한 사용자의 단말인 것을 가정하여 설명하도록 한다. 아울러, 제1 단말(100a)이 컨텐츠를 업로드한 서버와 제2 단말(100b)이 컨텐츠를 요청한 서버는 동일하거나 다를 수 있다.Prior to the description with reference to FIG. 6, thefirst terminal 100a is a terminal of a user who has uploaded content, such as a.mov, to thecontent server 200, and thesecond terminal 100b is used for thecontent server 200. The description will be made on the assumption that the content uploaded by thefirst terminal 100a, that is, the terminal of the user who requested a.mov. In addition, the server to which thefirst terminal 100a uploads the content and the server to which the second terminal 100b requests the content may be the same or different.

먼저, 제1 단말(100a)은 컨텐츠 a.mov를 컨텐츠 서버(200)로 업로드하기 위해, 상기 컨텐츠 a.mov에 대한 컨텐츠 업로드 메시지를 컨텐츠 서버(200)로 전송한다(S401).First, in order to upload the content a.mov to thecontent server 200, the first terminal 100a transmits a content upload message for the content a.mov to the content server 200 (S401).

이를 모니터링하더나 캐시 장치(350)는 상기 컨텐츠 업로드 메시지를 검출하고(S403), 해당 컨텐츠 a.mov에 대한 캐싱 여부를 판단하여 상기 컨텐츠 a.mov를 저장하고 있지 않을 경우, 컨텐츠 a.mov를 저장한 후 컨텐츠 업로드 메시지를 컨텐츠 서버(200)로 전달할 수 있다(S405 ~ S407). 이를 수신한 컨텐츠 서버(200) 또한 제1 단말(100a)의 요청에 따라 해당 컨텐츠 a.mov를 저장할 수 있게 된다(S409).Although monitoring this, thecache device 350 detects the content upload message (S403), determines whether the content a.mov is cached, and if the content a.mov is not stored, the content a.mov is stored. After storing, the content upload message may be transmitted to the content server 200 (S405 to S407). Thecontent server 200 receiving this can also store the corresponding content a.mov according to the request of thefirst terminal 100a (S409).

이러한 중에, 제2 단말(100b)은 컨텐츠 서버(200)로 컨텐츠 a.mov를 수신하기 위해 컨텐츠 요청 메시지를 컨텐츠 서버(200)로 전달한다(S411). 여기서, 컨텐츠 요청 메시지는 예컨대 HTTP GET REQEUST 메시지가 될 수 있다.In the meantime, thesecond terminal 100b transmits a content request message to thecontent server 200 to receive the content a.mov to the content server 200 (S411). Here, the content request message may be, for example, an HTTP GET REQEUST message.

이를 모니터링하던 캐시 장치(350)는 제2 단말(100b)이 요청한 컨텐츠를 자신이 캐싱하고 있으므로(S413 ~ S415), 제2 단말(100b)로 바로 컨텐츠 a.mov 전송함으로써, 보다 신속한 컨텐츠 제공이 가능하게 된다.Since thecache device 350, which was monitoring this, caches the content requested by thesecond terminal 100b (S413 to S415), it directly transmits the content a.mov to thesecond terminal 100b, thereby providing faster content. It becomes possible.

반면, 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법이 적용되지 않을 경우, 일반적인 캐시 장치(350)는 컨텐츠 서버(2100)로부터 컨텐츠 요청 메시지를 전달하고, 컨텐츠 서버(200)로부터 이에 대한 컨텐츠 응답 메시지, 예컨대 HTTP RESPONSE 메시지가 수신됨에 따라(S421), 상기 컨텐츠 응답 메시지에 포함된 컨텐츠를 캐싱한 후(S423), 이후의 다른 단말로 컨텐츠를 요청할 수 있어, 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법에 비해 신속한 컨텐츠 제공이 어렵게 된다.On the other hand, when the content upload processing method according to the embodiment of the present invention is not applied, thegeneral cache device 350 transmits a content request message from the content server 2100 and a content response message corresponding thereto from thecontent server 200. , For example, as the HTTP RESPONSE message is received (S421), after the content included in the content response message is cached (S423), the content can be requested to another terminal afterwards, so that content upload processing according to an embodiment of the present invention Compared to the method, it becomes difficult to provide content quickly.

이와 같이, 본 발명은 단말(100)이 특정 컨텐츠 서버(200)로 전달하는 컨텐츠 업로드 메시지를 캐시 장치(350)가 모니터링하여 검출하고, 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 캐싱함으로써, 추후 다른 단말의 컨텐츠 요청 시 캐싱된 컨텐츠를 신속하게 제공할 수 있게 된다.As described above, according to the present invention, thecache device 350 monitors and detects the content upload message delivered to thespecific content server 200 by the terminal 100, and caches the content included in the content upload message. It is possible to quickly provide cached content when requesting the content of.

또한, 본 발명에 의하면, 특정 단말(100)로부터 컨텐츠 업로드에 따른 업로드 트래픽 발생 시 캐시 장치(350)가 미리 캐싱된 컨텐츠를 이용하여 상기 업로드 트래픽을 처리함으로써, 단말(100)로부터 발생되는 업로드 트래픽을 감소시킬 수 있게 된다.In addition, according to the present invention, when upload traffic according to content upload from aspecific terminal 100 occurs, thecache device 350 processes the upload traffic using pre-cached content, so that the upload traffic generated from the terminal 100 Can be reduced.

이상으로 본 발명의 실시 예에 따른 컨텐츠 업로드 처리 방법에 대해 설명하였다.In the above, a content upload processing method according to an embodiment of the present invention has been described.

상술한 바와 같은 본 발명의 컨텐츠 업로드 처리 방법은 캐시 장치에서 동작하며 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 본 발명의 일 실시 예에 따른 컨텐츠 업로드 처리 방법을 구현하기 위한 기록매체에 기록되는 프로그램은 캐시 장치가 단말로부터 특정 컨텐츠 서버로 전송되는 컨텐츠 업로드 메시지를 모니터링하여 검출하는 단계, 상기 캐시 장치가 상기 검출된 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 저장 여부를 판단하는 단계 및 상기 컨텐츠를 저장하고 있을 경우, 상기 캐시 장치가 상기 단말로부터 전송되는 컨텐츠 업로드 메시지를 차단하여 상기 단말과의 연결을 해제하고, 기 저장된 상기 컨텐츠를 상기 컨텐츠 서버로 전송하는 단계 등을 실행할 수 있다.The content upload processing method of the present invention as described above operates in a cache device and may be provided in the form of a computer-readable medium suitable for storing computer program instructions and data. In the program recorded on the recording medium for implementing the content upload processing method according to an embodiment of the present invention, the cache device monitors and detects a content upload message transmitted from a terminal to a specific content server, and the cache device detects the content upload message. Determining whether to store the content included in the content upload message, and if the content is being stored, the cache device disconnects the terminal by blocking the content upload message transmitted from the terminal, Transmitting the previously stored content to the content server may be performed.

이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.At this time, the program recorded on the recording medium can be read, installed, and executed by a computer to execute the above-described functions.

여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.Here, in order for the computer to read the program recorded on the recording medium and execute the functions implemented as the program, the above-described program is C, C++, which can be read by the computer's processor (CPU) through the computer's device interface. It may include code coded in a computer language such as JAVA and machine language.

이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.This code may include a functional code related to a function defining the above-described functions, and may include a control code related to an execution procedure necessary for the processor of the computer to execute the above-described functions according to a predetermined procedure. In addition, these codes may further include additional information necessary for the processor of the computer to execute the above-described functions, or code related to a memory reference to which location (address address) of the internal or external memory of the computer should be referenced. . In addition, when the computer's processor needs to communicate with any other computer or server in a remote in order to execute the above-described functions, the code is used by the computer's processor using the computer's communication module. It may further include a communication-related code for how to communicate with other computers or servers, and what information or media should be transmitted and received during communication.

이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.Such computer-readable media suitable for storing computer program commands and data include, for example, magnetic media such as hard disks, floppy disks, and magnetic tapes, and compact disk read only memory (CD-ROM). , Optical Media such as DVD (Digital Video Disk), Magneto-Optical Media such as Floptical Disk, and ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory can be supplemented by special purpose logic circuits or incorporated into it.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.In addition, the computer-readable recording medium is distributed over a computer system connected through a network, so that computer-readable codes can be stored and executed in a distributed manner. In addition, a functional program for implementing the present invention, and related codes and code segments, etc., are programmers in the technical field to which the present invention pertains in consideration of the system environment of a computer that reads the recording medium and executes the program. May be easily inferred or modified by

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While this specification includes details of a number of specific implementations, these should not be construed as limiting to the scope of any invention or claim, but rather as a description of features that may be peculiar to a particular embodiment of a particular invention. It must be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination. Furthermore, although features operate in a particular combination and may be initially described as so claimed, one or more features from a claimed combination may in some cases be excluded from the combination, and the claimed combination may be a subcombination. Or sub-combination variations.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although operations are depicted in the drawings in a specific order, it should not be understood that such operations must be performed in that particular order or sequential order shown or that all illustrated operations must be performed in order to obtain a desired result. In certain cases, multitasking and parallel processing can be advantageous. In addition, separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the program components and systems described are generally integrated together into a single software product or packaged in multiple software products. You should understand that you can.

본 발명은 컨텐츠 캐시 방법에 관한 것으로, 더욱 상세하게는 단말로부터 발생되는 업로드 트래픽을 미리 캐싱된 컨텐츠를 이용하여 처리할 수 있는 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치에 관한 것이다.The present invention relates to a content caching method, and more particularly, to a content upload processing method capable of processing upload traffic generated from a terminal using pre-cached content, and a cache device supporting the same.

본 발명에 의하면, 단말이 서버로 업로드하는 컨텐츠를 캐싱하고, 업로드 시 캐싱된 컨텐츠를 이용하여 다른 단말의 컨텐츠 다운로드 요청을 처리함으로써, 보다 효율적인 컨텐츠 캐싱 서비스 제공이 가능하며, 또한 단말의 업로드 트래픽 발생 시 미리 캐싱된 컨텐츠를 이용하여 상기 업로드 트래픽을 처리함으로써, 단말로부터 발생되는 업로드 트래픽을 감소시키고 무선 자원을 보다 효율적으로 이용할 수 있게 된다.According to the present invention, it is possible to provide a more efficient content caching service by caching the content uploaded by the terminal to the server and processing the content download request from another terminal using the cached content when uploading, and also generating upload traffic of the terminal. When the upload traffic is processed using pre-cached content, upload traffic generated from the terminal can be reduced and radio resources can be used more efficiently.

이를 통해 본 발명은 무선 통신 산업의 발전에 이바지할 수 있으며, 더불어 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.Through this, the present invention can contribute to the development of the wireless communication industry, and in addition, the present invention has industrial applicability because not only has the possibility of commercialization or business, but also a degree that can be practically clearly implemented.

100: 단말 200: 컨텐츠 서버 300: 네트워크
310: 인터넷망 320: 코어망 330: 접속망
350: 캐시 장치 351: 통신부 352: 제어부
352a: 메시지 검출 모듈 352b: 캐싱 판단 모듈
352c: 캐싱 제어 모듈 353: 저장부
100: terminal 200: content server 300: network
310: internet network 320: core network 330: access network
350: cache device 351: communication unit 352: control unit
352a:message detection module 352b: caching determination module
352c: caching control module 353: storage unit

Claims (11)

Translated fromKorean
단말 및 컨텐츠 서버 사이의 정보의 송수신을 지원하는 통신부;
하나 이상의 컨텐츠를 저장하는 저장부; 및
상기 통신부를 통해 상기 단말로부터 특정 컨텐츠 서버로 전송되는 컨텐츠 업로드 메시지를 모니터링하여 검출하고, 검출된 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 상기 저장부에 저장되어 있는 지 여부를 판단하여, 저장되어 있을 경우, 상기 단말로부터 전송되는 컨텐츠 업로드 메시지를 차단하여 상기 단말과의 연결을 해제하고, 상기 저장부에 저장된 컨텐츠를 상기 컨텐츠 서버로 전송하고, 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 상기 저장부에 저장되어 있지 않을 경우, 상기 컨텐츠를 상기 저장부에 저장한 후 상기 컨텐츠 업로드 메시지가 상기 컨텐츠 서버로 전송되도록 제어하고, 다른 단말로부터 상기 컨텐츠에 대한 컨텐츠 요청 메시지를 수신하면, 업로드 과정에서 저장된 상기 컨텐츠를 상기 다른 단말에 제공하는 제어부;
를 포함하는 것을 특징으로 하는 캐시 장치.
A communication unit supporting transmission and reception of information between a terminal and a content server;
A storage unit for storing one or more contents; And
When a content upload message transmitted from the terminal to a specific content server is monitored and detected through the communication unit, it is determined whether the content included in the detected content upload message is stored in the storage unit, and if it is stored , Disconnecting the connection with the terminal by blocking the content upload message transmitted from the terminal, transmitting the content stored in the storage unit to the content server, and the content included in the content upload message is stored in the storage unit If not, the content is stored in the storage unit and the content upload message is controlled to be transmitted to the content server, and when a content request message for the content is received from another terminal, the content stored in the upload process is A control unit provided to another terminal;
Cache device comprising a.
제1 항에 있어서,
상기 컨텐츠 업로드 메시지는
HTTP POST REQUEST 메시지인 것을 특징으로 하는 캐시 장치.
The method of claim 1,
The content upload message
Cache device, characterized in that the HTTP POST REQUEST message.
제1 항에 있어서,
상기 제어부는
상기 컨텐츠 업로드 메시지에서 상기 컨텐츠에 대한 컨텐츠 이름(content name), 컨텐츠 길이(content length), 컨텐츠 타입(content type)을 확인하여 상기 확인된 컨텐츠 이름, 컨텐츠 길이, 컨텐츠 타입과 일치하는 컨텐츠가 저장되어 있는 지 여부를 판단하는 것을 특징으로 하는 캐시 장치.
The method of claim 1,
The control unit
In the content upload message, a content name, a content length, and a content type of the content are checked, and content matching the identified content name, content length, and content type is stored. Cache device, characterized in that to determine whether there is.
제3 항에 있어서,
상기 제어부는
상기 일치하는 컨텐츠가 저장되어 있는 지 판단 시 청크(chunk) 데이터 단위로 검사하여, 상기 컨텐츠의 최초 청크 데이터가 저장되어 있는 것으로 판단되면, 상기 컨텐츠를 저장하고 있는 것으로 판단하는 것을 특징으로 하는 캐시 장치.
The method of claim 3,
The control unit
A cache device, characterized in that when determining whether the matching content is stored, the content is checked in chunk data units, and when it is determined that the first chunk data of the content is stored, it is determined that the content is stored .
제1 항에 있어서,
상기 제어부는
상기 컨텐츠 서버로 상기 저장부에 저장된 컨텐츠 전송 시 상기 단말에 대한 식별 정보를 포함하여 전송하는 것을 특징으로 하는 캐시 장치.
The method of claim 1,
The control unit
When transmitting the content stored in the storage unit to the content server, the cache device includes identification information for the terminal and transmits it.
제1 항에 있어서,
상기 제어부는
상기 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 확인이 불가능한 경우, 상기 컨텐츠 서버를 대신하여 상기 단말로 컨텐츠 확인 불능 메시지를 전송하는 것을 특징으로 하는 캐시 장치.
The method of claim 1,
The control unit
When it is impossible to check the content included in the content upload message, a cache device comprising transmitting a content verification impossible message to the terminal in place of the content server.
제1 항에 있어서,
상기 제어부는
상기 컨텐츠 업로드 메시지에 포함된 컨텐츠가 상기 저장부에 저장되어 있지 않을 경우, 상기 컨텐츠를 상기 저장부에 저장한 후 상기 컨텐츠 업로드 메시지가 상기 컨텐츠 서버로 전송되도록 제어하는 것을 특징으로 하는 캐시 장치.
The method of claim 1,
The control unit
And if the content included in the content upload message is not stored in the storage unit, the content is stored in the storage unit and then the content upload message is transmitted to the content server.
캐시 장치가 단말로부터 특정 컨텐츠 서버로 전송되는 컨텐츠 업로드 메시지를 모니터링하여 검출하는 단계;
상기 캐시 장치가 상기 검출된 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠에 대한 저장 여부를 판단하는 단계; 및
상기 컨텐츠를 저장하고 있을 경우, 상기 캐시 장치가 상기 단말로부터 전송되는 컨텐츠 업로드 메시지를 차단하여 상기 단말과의 연결을 해제하고, 기 저장된 상기 컨텐츠를 상기 컨텐츠 서버로 전송하고, 상기 컨텐츠를 저장하고 있지 않을 경우, 상기 캐시 장치가 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 저장한 후 상기 컨텐츠 서버로 전송되도록 제어하는 단계;
다른 단말로부터 상기 컨텐츠에 대한 컨텐츠 요청 메시지를 수신하면, 업로드 과정에서 저장된 상기 컨텐츠를 상기 다른 단말에 제공하는 단계;
를 포함하는 것을 특징으로 하는 컨텐츠 업로드 처리 방법.
Monitoring and detecting, by a cache device, a content upload message transmitted from the terminal to a specific content server;
Determining, by the cache device, whether to store the content included in the detected content upload message; And
When storing the content, the cache device disconnects the terminal by blocking the content upload message transmitted from the terminal, transmits the previously stored content to the content server, and does not store the content. If not, controlling the cache device to store the content included in the content upload message and then transmit the content to the content server;
Upon receiving a content request message for the content from another terminal, providing the content stored in the upload process to the other terminal;
Content upload processing method comprising a.
제8 항에 있어서,
상기 컨텐츠를 저장하고 있지 않을 경우,
상기 캐시 장치가 상기 컨텐츠 업로드 메시지에 포함된 컨텐츠를 저장한 후 상기 컨텐츠 서버로 전송되도록 제어하는 단계;
를 더 포함하는 것을 특징으로 하는 컨텐츠 업로드 처리 방법.
The method of claim 8,
If the above content is not saved,
Controlling the cache device to store the content included in the content upload message and then transmit the content to the content server;
Content upload processing method further comprising a.
제8 항에 있어서,
상기 전송하는 단계 이후에,
상기 캐시 장치가 어느 하나의 컨텐츠 서버로부터 어느 하나의 단말로 전달되는 상기 컨텐츠를 포함하는 컨텐츠 응답 메시지 또는 어느 하나의 단말로부터 어느 하나의 컨텐츠 서버로 전달되는 상기 컨텐츠에 대한 컨텐츠 요청 메시지를 검출하는 단계; 및
상기 캐시 장치가 상기 검출된 메시지의 전송을 차단하고, 상기 컨텐츠 서버를 대신하여 상기 어느 하나의 단말로 상기 저장된 컨텐츠를 전달하는 단계;
를 더 포함하는 것을 특징으로 하는 컨텐츠 업로드 처리 방법.
The method of claim 8,
After the transmitting step,
The cache device detecting, by the cache device, a content response message including the content delivered from any one content server to any one terminal or a content request message for the content delivered from any one terminal to any one content server ; And
Blocking, by the cache device, the transmission of the detected message and transferring the stored content to the one terminal on behalf of the content server;
Content upload processing method further comprising a.
제8 항 내지 제10 항 중 어느 하나의 항에 기재된 컨텐츠 업로드 처리 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
A computer-readable recording medium on which a program for executing the content upload processing method according to any one of claims 8 to 10 is recorded.
KR1020140149098A2014-10-302014-10-30Method for processing of contents upload, apparatus thereofActiveKR102157516B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1020140149098AKR102157516B1 (en)2014-10-302014-10-30Method for processing of contents upload, apparatus thereof

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020140149098AKR102157516B1 (en)2014-10-302014-10-30Method for processing of contents upload, apparatus thereof

Publications (2)

Publication NumberPublication Date
KR20160050594A KR20160050594A (en)2016-05-11
KR102157516B1true KR102157516B1 (en)2020-09-18

Family

ID=56025524

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020140149098AActiveKR102157516B1 (en)2014-10-302014-10-30Method for processing of contents upload, apparatus thereof

Country Status (1)

CountryLink
KR (1)KR102157516B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US10936654B2 (en)*2018-05-242021-03-02Xandr Inc.Aggregated content editing services (ACES), and related systems, methods, and apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR20130057232A (en)2011-11-232013-05-31한국전자통신연구원Contents delivery network system having edge node and method for caching and managing contents
KR102004311B1 (en)*2012-04-202019-07-26에스케이텔레콤 주식회사Method for detection of hand-over for mobile network, and apparatus for the same
KR101662018B1 (en)*2012-04-302016-10-04에스케이텔레콤 주식회사Mobile contents delivery method using a hand-over and apparatus therefor
KR20140021372A (en)*2012-08-102014-02-20에스케이텔레콤 주식회사Contents delivery service method and local cache apparatus using contents identification
KR102096503B1 (en)*2013-03-072020-04-02삼성전자주식회사Method and apparatus for controlling traffic in wireless communication system

Also Published As

Publication numberPublication date
KR20160050594A (en)2016-05-11

Similar Documents

PublicationPublication DateTitle
US9390200B2 (en)Local caching device, system and method for providing content caching service
US8576756B2 (en)Continuous cache service in cellular networks
CN105812435B (en)Application upgrading data packet processing method and device, electronic equipment and system
CN103455439B (en)Local cache device and for providing the system and method for content caching service
JP2020509635A (en) Network slice selection method, user equipment, and network device
US9197575B2 (en)Handling of snapshot messages as a result of delivery failure in a two-way push connection
US20130290466A1 (en)Method of providing content during hand-over and appartus therefor
KR102210409B1 (en)Method for providing of live streaming contents, apparatus and recording medium recording program therfor
CN104519139B (en) Caching method, caching edge server, caching core server and caching system
US8824676B2 (en)Streaming video to cellular phones
KR101981285B1 (en)Contents delivery service system using contents identification, apparatus therefor and contents delivery service method thereof
KR20140021372A (en)Contents delivery service method and local cache apparatus using contents identification
US10594803B2 (en)Method for delivering content in communication network and apparatus therefor
JP2016053950A (en) Reliable content exchange system and method for CCN pipeline stream
US20140032892A1 (en)Method and apparatus for bootstrapping gateway in device management system
US20160065644A1 (en)Method and system for efficient enrichment of upper layer protocol content in transmission control program (tcp) based sessions
CN107079366A (en) TCP connection establishment and switching
KR20160111648A (en)Method for caching of contents and cache apparatus therefor
KR102157516B1 (en)Method for processing of contents upload, apparatus thereof
KR102519390B1 (en)Method for distributing a content and apparatus thereof
KR102148147B1 (en)Method for distributing a content and apparatus thereof
KR102412988B1 (en)Method for controlling of contents transmition, apparatus thereof, computer-readable medium and program thereof
KR102193481B1 (en)Proxy server, method of reconfigurating of web page using the same
CN105230074B (en)Video cache switching handling method, device and system
KR101589446B1 (en)Traffic redirection method for contents delivery service and computer readable recording medium

Legal Events

DateCodeTitleDescription
PA0109Patent application

Patent event code:PA01091R01D

Comment text:Patent Application

Patent event date:20141030

PG1501Laying open of application
A201Request for examination
PA0201Request for examination

Patent event code:PA02012R01D

Patent event date:20181120

Comment text:Request for Examination of Application

Patent event code:PA02011R01I

Patent event date:20141030

Comment text:Patent Application

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

Comment text:Notification of reason for refusal

Patent event date:20200212

Patent event code:PE09021S01D

E701Decision to grant or registration of patent right
PE0701Decision of registration

Patent event code:PE07011S01D

Comment text:Decision to Grant Registration

Patent event date:20200618

GRNTWritten decision to grant
PR0701Registration of establishment

Comment text:Registration of Establishment

Patent event date:20200914

Patent event code:PR07011E01D

PR1002Payment of registration fee

Payment date:20200914

End annual number:3

Start annual number:1

PG1601Publication of registration
PR1001Payment of annual fee

Payment date:20230622

Start annual number:4

End annual number:4

PR1001Payment of annual fee

Payment date:20250619

Start annual number:6

End annual number:6


[8]ページ先頭

©2009-2025 Movatter.jp