KR101351522B1 - Method, system and computer-readable recording medium for providing information by using content-based caching key - Google Patents
Method, system and computer-readable recording medium for providing information by using content-based caching key Download PDFInfo
- Publication number
- KR101351522B1 KR101351522B1 KR1020100069209A KR20100069209A KR101351522B1 KR 101351522 B1 KR101351522 B1 KR 101351522B1 KR 1020100069209 A KR1020100069209 A KR 1020100069209A KR 20100069209 A KR20100069209 A KR 20100069209A KR 101351522 B1 KR101351522 B1 KR 101351522B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- caching key
- information
- terminal device
- generation unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
Abstract
본 발명은 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. 본 발명의 일 태양에 따르면, 통신망 상에서 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 방법 - 상기 방법은 캐싱 키 생성부와 정보 제공부를 포함하는 시스템에 의해서 구현됨 - 으로서, 상기 캐싱 키 생성부에서, 상기 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보를 수신하는 단계, 상기 캐싱 키 생성부에서, 상기 컨텐츠 요청에 관한 정보를 이용하여, 상기 컨텐츠의 일부를 포함하는 컨텐츠 기반 캐싱 키를 생성하는 단계, 상기 정보 제공부에서, 상기 컨텐츠 기반 캐싱 키로 데이터베이스를 검색하는 단계, 및 상기 정보 제공부에서, 상기 데이터베이스로부터 검색된 컨텐츠를 상기 사용자 단말 장치에 제공하는 단계를 포함하고, 상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 방법이 제공된다.The present invention relates to a method, a system and a computer readable recording medium for providing information using a content based caching key. According to an aspect of the present invention, a method for providing information using a content-based caching key on a communication network, wherein the method is implemented by a system including a caching key generating unit and an information providing unit, wherein the caching key generating unit is provided. Receiving information regarding a content request from the user terminal device, and generating, by the caching key generation unit, a content-based caching key including a part of the content by using the information about the content request. Searching the database with the content-based caching key in the information providing unit, and providing the content retrieved from the database to the user terminal device in the information providing unit. A method is provided that includes a header of a file of content and some data area. .
Description
본 발명은 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.The present invention relates to a method, a system and a computer readable recording medium for providing information using a content based caching key.
근래에 들어, 개인용 컴퓨터, 워크스테이션, PDA, 이동 전화기, IPTV 수신기 등과 같은 유무선 통신이 가능한 디지털 기기가 광범위하게 보급됨에 따라, 사용자가 통신망을 통하여 다양한 정보를 용이하게 획득할 수 있게 되었다. 일례로, 가장 보편화된 통신망인 인터넷에서, 사용자는 개인용 컴퓨터 등의 디지털 단말 장치에 의하여 소정의 웹 사이트에 접속한 후, 해당 웹 사이트에서 제공하는 문서, 사진, 동영상, 만화, 지도, 블로그, 미니 홈페이지, 사운드, 음악, 스킨(skin), 아바타(avatar) 등의 다양한 컨텐츠를 이용할 수 있게 되었다. 통신망을 통한 컨텐츠 이용의 규모는 날로 확대되고 있는 상황이다.In recent years, with the widespread popularity of digital devices capable of wired and wireless communication such as personal computers, workstations, PDAs, mobile phones, IPTV receivers, etc., users can easily obtain various information through a communication network. For example, in the Internet, which is the most common communication network, a user accesses a predetermined website by a digital terminal device such as a personal computer, and then provides documents, photos, videos, cartoons, maps, blogs, and mini books provided by the website. Various contents such as homepage, sound, music, skin and avatar can be used. The use of contents through communication networks is expanding day by day.
하지만, 통신망 상에서의 정보 처리에 관한 오버로드의 발생으로 인하여 사용자의 컨텐츠에 대한 접근 속도가 저하되는 등의 많은 문제점이 있었던 것이 사실이다. 이러한 문제점을 해결하기 위하여 캐싱 기술을 이용하게 되었다. 캐싱은 통신망 상의 트래픽(traffic)을 전체적으로 감소시키고 사용자의 요청에 대한 응답 시간을 줄이는 데에 도움이 되어 왔다.However, it is true that there have been many problems such as the access speed to the user's content is lowered due to the overload of information processing on the communication network. In order to solve this problem, a caching technique has been used. Caching has helped to reduce overall traffic on the network and reduce response times for user requests.
그러나, 종래의 캐시 서버에서는 단순하게 URI(Uniform Resource Identifier) 기반의 캐싱 키만이 이용된 까닭에, 두 개의 서로 다른 URI에 각각 대응되어 있는 두 개의 컨텐츠가 서로 동일한 것인 경우에는 캐시 서버의 저장 용량이 낭비될 수밖에 없었다. 과거에는 이러한 문제가 그다지 심각한 것이 아니었으나, 사용자들이 통신망 상에서 동일한 컨텐츠에 대하여 여러 상이한 URI를 부여하는 행위(예를 들면, 호스트 변경, 경로 변경, 파일명 변경 등)를 빈번하게 하게 되면서, 위와 같은 문제점의 해결이 필요하게 되었다.However, in the conventional cache server, only a URI (Uniform Resource Identifier) based caching key is used. Therefore, when two contents corresponding to two different URIs are identical to each other, the storage capacity of the cache server is the same. This was to be wasted. In the past, this was not a serious problem, but as users frequently applied different URIs to the same content on the network (for example, changing host, changing path, changing file name, etc.) Needs to be resolved.
본 발명은 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve all the problems of the prior art described above.
본 발명은 컨텐츠 기반 캐싱 키를 이용함으로써 캐시 시스템에서의 저장 용량 낭비를 방지하는 것을 다른 목적으로 한다.It is another object of the present invention to avoid wasting storage capacity in a cache system by using content-based caching keys.
본 발명은 컨텐츠의 크기에 따라 유연하게 캐싱 키를 이용하는 것을 또 다른 목적으로 한다.Another object of the present invention is to flexibly use a caching key according to the size of content.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.In order to accomplish the above object, a representative structure of the present invention is as follows.
본 발명의 일 태양의 방법에 따르면, 통신망 상에서 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 방법 - 상기 방법은 캐싱 키 생성부와 정보 제공부를 포함하는 시스템에 의해서 구현됨 - 으로서, 상기 캐싱 키 생성부에서, 상기 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보를 수신하는 단계, 상기 캐싱 키 생성부에서, 상기 컨텐츠 요청에 관한 정보를 이용하여, 상기 컨텐츠의 일부를 포함하는 컨텐츠 기반 캐싱 키를 생성하는 단계, 상기 정보 제공부에서, 상기 컨텐츠 기반 캐싱 키로 데이터베이스를 검색하는 단계, 및 상기 정보 제공부에서, 상기 데이터베이스로부터 검색된 컨텐츠를 상기 사용자 단말 장치에 제공하는 단계를 포함하고, 상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 방법이 제공된다.According to a method of an aspect of the present invention, a method for providing information using a content-based caching key on a communication network, the method being implemented by a system including a caching key generator and an information provider, wherein the caching key In the generating unit, receiving the information about the content request from the user terminal device, in the caching key generation unit, using the information about the content request, generates a content-based caching key including a part of the content And searching, by the information providing unit, a database with the content-based caching key, and providing, by the information providing unit, content retrieved from the database to the user terminal device. The method includes a header of the file of the content and some data areas. / RTI >
본 발명의 다른 태양의 방법에 따르면, 통신망 상에서 캐싱 키를 생성하기 위한 방법 - 상기 방법은 캐싱 키 생성부를 포함하는 시스템에 의해서 구현됨 - 으로서, 상기 캐싱 키 생성부에서, 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보를 수신하는 단계, 상기 캐싱 키 생성부에서, 상기 컨텐츠 요청에 관한 정보로부터 상기 컨텐츠의 URI를 획득하는 단계, 상기 캐싱 키 생성부에서, 상기 URI를 이용하여, 메인 서버로부터 상기 컨텐츠의 일부를 획득하는 단계, 및 상기 캐싱 키 생성부에서, 상기 컨텐츠의 상기 일부로 컨텐츠 기반 캐싱 키를 생성하는 단계를 포함하고, 상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 방법이 제공된다.According to a method of another aspect of the present invention, there is provided a method for generating a caching key on a communication network, the method being implemented by a system including a caching key generator, wherein, in the caching key generator, content from a user terminal device; Receiving information about the request, The caching key generation unit, Obtaining the URI of the content from the information about the content request, In the caching key generation unit, Using the URI, The content from the main server Acquiring a portion of the content; and generating, by the caching key generation unit, a content-based caching key with the portion of the content, wherein the portion of the content includes a header of the file of the content and a partial data area. A method is provided.
본 발명의 일 태양의 시스템에 따르면, 통신망 상에서 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 시스템으로서, 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보가 수신되면, 상기 컨텐츠 요청에 관한 정보를 이용하여, 상기 컨텐츠의 일부를 포함하는 컨텐츠 기반 캐싱 키를 생성하기 위한 캐싱 키 생성부, 및 상기 컨텐츠 기반 캐싱 키로 데이터베이스를 검색하고, 상기 데이터베이스로부터 검색된 컨텐츠를 상기 사용자 단말 장치에 제공하기 위한 정보 제공부를 포함하고, 상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 시스템이 제공된다. According to a system of one aspect of the present invention, a system for providing information using a content-based caching key on a communication network, and when information on a content request from a user terminal device is received, the information on the content request is used. A caching key generation unit for generating a content-based caching key including a part of the content, and an information providing unit for searching a database with the content-based caching key and providing the content retrieved from the database to the user terminal device. And the portion of the content includes a header of the file of the content and some data area.
본 발명의 다른 태양의 시스템에 따르면, 통신망 상에서 캐싱 키를 생성하기 위한 시스템으로서, 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보가 수신되면, 상기 컨텐츠 요청에 관한 정보로부터 상기 컨텐츠의 URI를 획득하고, 상기 URI를 이용하여, 메인 서버로부터 상기 컨텐츠의 일부를 획득하며, 상기 컨텐츠의 상기 일부로 컨텐츠 기반 캐싱 키를 생성하기 위한 캐싱 키 생성부를 포함하고, 상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 시스템이 제공된다.According to another aspect of the system of the present invention, there is provided a system for generating a caching key on a communication network, wherein when information regarding a content request from a user terminal device is received, a URI of the content is obtained from the information about the content request, A portion of the content is obtained from a main server using the URI, and a caching key generation unit for generating a content-based caching key as the portion of the content, wherein the portion of the content includes a header of a file of the content; A system is provided that includes some data areas.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method are further provided.
본 발명에 의하면, 컨텐츠 기반 캐싱 키를 이용함으로써 캐시 시스템에서의 저장 용량 낭비를 방지할 수 있게 된다.According to the present invention, it is possible to prevent waste of storage capacity in a cache system by using a content-based caching key.
본 발명에 의하면, 컨텐츠의 크기에 따라 유연하게 캐싱 키를 이용할 수 있게 된다.According to the present invention, a caching key can be flexibly used according to the size of the content.
도 1은 본 발명의 일 실시예에 따라 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 캐시 시스템(200)의 내부 구성을 상세하게 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 캐시 시스템(200)에서 수행되는 주요 처리 과정을 예시적으로 나타내는 도면이다.1 is a diagram illustrating a schematic configuration of an entire system for providing information using a content-based caching key according to an embodiment of the present invention.
2 is a diagram illustrating in detail the internal configuration of the
3 is a diagram exemplarily illustrating a main process performed in the
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신 및 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.DETAILED DESCRIPTION OF THE INVENTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented and changed without departing from the spirit and scope of the invention, from one embodiment to another. It is also to be understood that the location or arrangement of the individual components within each embodiment may be varied without departing from the spirit and scope of the present invention. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention should be construed as encompassing the scope of the appended claims and all equivalents thereof. In the drawings, like reference numbers designate the same or similar components throughout the several views.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, various 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.
[본 발명의 바람직한 실시예][Preferred Embodiment of the Present Invention]
본 명세서에서, 컨텐츠(contents) 또는 컨텐트란, 통신망을 통하여 접근 가능한, 문자, 부호, 음성, 음향, 이미지, 동영상 등으로 이루어지는 디지털 정보 또는 개별 정보 요소를 총칭하는 개념이다. 이러한 컨텐츠는, 예를 들면, 텍스트, 이미지, 동영상, 오디오, 링크(예를 들면, 웹 링크) 등의 데이터 또는 이러한 데이터 중 적어도 두 가지의 조합을 포함하여 구성될 수 있다.In the present specification, content or content is a concept that collectively refers to digital information or individual information elements composed of letters, codes, voices, sounds, images, moving pictures, and the like, accessible through a communication network. Such content may include, for example, data such as text, images, video, audio, links (eg, web links), or a combination of at least two of these data.
전체 시스템의 구성Configuration of the entire system
도 1은 본 발명의 일 실시예에 따라 컨텐츠 기반 캐싱 키를 이용하여 정보를 제공하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.1 is a diagram illustrating a schematic configuration of an entire system for providing information using a content-based caching key according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 캐시 시스템(200), 사용자 단말 장치(300) 및 메인 서버(400)를 포함하여 구성될 수 있다.As shown in FIG. 1, the entire system according to an embodiment of the present invention may include a
먼저, 본 발명의 일 실시예에 따른 통신망(100)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(100)은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.First, the
다음으로, 본 발명의 일 실시예에 따른 캐시 시스템(200)은 통신망(100)을 통하여 접근 가능한 컨텐츠에 관하여 URI 기반 캐싱 키 및/또는 컨텐츠 기반 캐싱 키를 생성하여 캐싱을 수행할 수 있다. 또한, 캐시 시스템(200)은 URI 기반 캐싱 키 및/또는 컨텐츠 기반 캐싱 키로 컨텐츠를 검색하여 제공하는 기능을 수행할 수 있다.Next, the
본 발명에 따른 캐시 시스템(200)의 구성 및 기능에 관하여는 이하의 상세한 설명을 통하여 자세하게 알아보기로 한다.The configuration and function of the
다음으로, 본 발명의 일 실시예에 따른 사용자 단말 장치(300)는 사용자가 캐시 시스템(200)이나 메인 서버(400)에 접속한 후 통신할 수 있도록 하는 기능을 포함하는 디지털 기기로서, 데스크탑 컴퓨터, 노트북 컴퓨터, 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(300)로서 채택될 수 있다.Next, the
특히, 사용자 단말 장치(300)에는 사용자가 컨텐츠를 제공 받을 수 있도록 하는 브라우져(미도시됨) 프로그램이 포함되어 있을 수 있다. 전형적으로, 사용자가 요청한 컨텐츠가 캐시 시스템(200)에 저장되어 있는 경우에는, 상기 컨텐츠가 캐시 시스템(200)으로부터 브라우져로 제공될 수 있다. 반면에, 사용자가 요청한 컨텐츠가 캐시 시스템(200)에 저장되어 있지 않은 경우에는, 상기 컨텐츠가 메인 서버(400)로부터 브라우져로 제공될 수 있다(물론, 이러한 경우에도, 컨텐츠 제공 및 캐싱을 위하여 캐시 시스템(200)이 개입될 수 있다).In particular, the
마지막으로, 본 발명의 일 실시예에 따른 메인 서버(400)는 캐시 시스템(200)이나 사용자 단말 장치(300)와의 통신을 수행할 수 있는 정보 제공 장치일 수 있다. 이러한 메인 서버(400)는, 예를 들면, 각종 웹 서버일 수 있고, 특히, 인터넷 포털 사이트의 운영 서버일 수도 있다. 메인 서버(400)는 사용자 단말 장치(300)에 다양한 컨텐츠와 이와 연관된 정보를 직접적으로 제공하거나, 캐시 시스템(200)을 통하여 사용자 단말 장치(300)에 컨텐츠나 연관 정보를 간접적으로 제공할 수 있다.Finally, the
캐시 시스템의 구성Cache system configuration
이하에서는, 본 발명에 따른 캐시 시스템(200)의 내부 구성 및 각 구성요소의 기능에 대하여 살펴보기로 한다.Hereinafter, the internal structure of the
도 2는 본 발명의 일 실시예에 따른 캐시 시스템(200)의 내부 구성을 상세하게 도시하는 도면이다.2 is a diagram illustrating in detail the internal configuration of the
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 캐시 시스템(200)은 캐싱 키 생성부(210), 정보 제공부(220), 데이터베이스(230), 통신부(240) 및 제어부(250)를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 캐싱 키 생성부(210), 정보 제공부(220), 데이터베이스(230), 통신부(240) 및 제어부(250)는 그 중 적어도 일부가 사용자 단말 장치(300)나 메인 서버(400)와 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 캐시 시스템(200)에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다. 또한, 이러한 프로그램 모듈은 캐시 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.As shown in FIG. 2, the
먼저, 본 발명의 일 실시예에 따른 캐싱 키 생성부(210)는 컨텐츠의 크기에 따라 캐싱 키를 생성하는 기능을 수행할 수 있다. 상세하게 설명하면, 캐싱 키 생성부(210)는 컨텐츠의 크기를 파악하고 나서, 컨텐츠의 크기가 소정의 임계치(예를 들면, 256kB) 이하인 경우에는, 종래 기술의 경우와 마찬가지로 URI 기반 캐싱 키를 생성하고 이를 이용하여 컨텐츠가 캐싱되도록 하고(당업자의 선택에 따라, 이러한 URI 기반 캐싱 키는 컨텐츠 크기의 파악 이전에 이미 생성된 것일 수도 있다), 컨텐츠의 크기가 소정의 임계치 초과인 경우에는, 컨텐츠의 일부(예를 들면, 컨텐츠 파일의 헤더와 일부 데이터 영역으로 구성되는, 일정 크기(예를 들면, 128kB)의 데이터)를 획득하여 컨텐츠 기반 캐싱 키를 생성하고 이를 이용하여 컨텐츠가 캐싱되도록 할 수 있다(물론, 이러한 컨텐츠 캐싱에 있어서, URI 기반 캐싱 키도 함께 이용될 수 있다). 여기서, 캐싱 키 생성부(210)는, 컨텐츠 크기의 파악 및/또는 컨텐츠 일부의 획득을 위하여, 사용자 단말 장치(300)로부터의 컨텐츠 요청에 관한 정보에 포함될 수 있는 컨텐츠의 URI를 이용하여 메인 서버(400)의 컨텐츠에 접근할 수 있다.First, the caching
한편, 위와 같은 캐싱 키 생성에 있어서는, 공지의 다양한 해시 함수가 이용될 수 있다. 그리고, 캐싱 키 생성부(210)에 의하여 생성된 캐싱 키는 그에 대응되는 컨텐츠와 연관되어 후술하는 데이터베이스(230)에 저장될 수 있다.In the caching key generation, various known hash functions may be used. The caching key generated by the caching
다음으로, 본 발명의 일 실시예에 따른 정보 제공부(220)는 사용자 단말 장치(300)로부터의 컨텐츠 요청에 관한 정보에 기초하여 데이터베이스(230) 내에 해당 캐싱 키가 존재하고 있는지 여부를 판단하고, 그러한 경우에는, 상기 캐싱 키를 이용하여 데이터베이스(230)로부터 캐싱되어 있는 컨텐츠를 검색하고, 검색된 컨텐츠를 사용자 단말 장치(300)에 제공하는 기능을 수행할 수 있다. 한편, 사용자에 의하여 요청된 컨텐츠가 데이터베이스(230)로부터 검색되지 않는 경우에는, 해당 요청이나 추후의 요청에 따른 컨텐츠 제공을 위하여, 정보 제공부(220) 또는 캐시 시스템(200)의 다른 구성요소가 상기 컨텐츠 요청에 관한 정보를 이용하여 메인 서버(400)로부터 컨텐츠를 획득하고 획득된 컨텐츠를 캐싱하게 될 것임은 당업자에게 자명하다.Next, the
보다 상세하게는, 본 발명의 일 실시예에 따른 정보 제공부(220)는 사용자 단말 장치(300)로부터의 컨텐츠 요청에 관한 정보에 포함될 수 있는 컨텐츠의 URI를 이용하여 메인 서버(400)의 컨텐츠에 접근함으로써 컨텐츠의 파일의 크기를 파악할 수 있다. 많은 경우, 이러한 컨텐츠 파일의 크기는 파일 헤더를 참조함으로써 파악될 수 있다. 먼저, 컨텐츠의 크기가 임계치 이하인 경우, 정보 제공부(220)는 종래 기술의 경우와 마찬가지로 URI를 캐싱 키로 하여 데이터베이스(230)를 검색하고 검색된 컨텐츠를 사용자 단말 장치(300)에 제공할 수 있다(이러한 처리는 후술하는 다른 실시예에 따르면 불필요할 수도 있다). 한편, 컨텐츠의 크기가 임계치 초과인 경우, 정보 제공부(220)는 URI를 이용하여 메인 서버(400)로부터 획득된 컨텐츠의 일부(예를 들면, 컨텐츠 파일의 헤더와 일부 데이터 영역으로 구성되는, 일정 크기(예를 들면, 128kB)의 데이터)를 캐싱 키로 하여 데이터베이스(230)를 검색하고(여기서, 검색은 캐싱 키에 관한 2진 데이터 비교를 수반할 수 있다) 검색된 컨텐츠를 사용자 단말 장치(300)에 제공할 수 있다.More specifically, the
본 발명의 다른 실시예에 따르면, 정보 제공부(220)가 컨텐츠 기반 캐싱 키보다 URI 기반 캐싱 키를 우선시하여, 사용자 단말 장치(300)로부터의 컨텐츠 요청에 관한 정보에 포함될 수 있는 컨텐츠의 URI에 기한 캐싱 키로 데이터베이스(230)로부터 컨텐츠가 검색되지 않는 경우에 한하여 위에서 설명된 바와 같은 처리를 수행하도록 구성하는 것도 가능하다.According to another embodiment of the present invention, the
다음으로, 본 발명의 일 실시예에 따른 데이터베이스(230)에는, 캐싱 키, 캐싱된 컨텐츠 그리고 캐싱 키와 캐싱된 컨텐츠를 연관시키는 정보가 저장될 수 있다. 비록 도 2에서 데이터베이스(230)가 캐시 시스템(200)에 포함되어 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 데이터베이스(230)는 캐시 시스템(200)과 별개로 구성될 수도 있다. 한편, 본 발명에서의 데이터베이스(230)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라 파일 시스템에 기반을 둔 데이터 기록 등을 포함하는 광의의 데이터베이스일 수도 있으며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서의 데이터베이스(230)가 될 수 있다.Next, the
본 발명의 일 실시예에 따른 통신부(240)는 캐싱 키 생성부(210), 정보 제공부(220) 및 데이터베이스(230)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.The
마지막으로, 본 발명의 일 실시예에 따른 제어부(250)는 캐싱 키 생성부(210), 정보 제공부(220), 데이터베이스(230) 및 통신부(240) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명에 따른 제어부(250)는 캐시 시스템(200)의 외부로부터의/외부로의 데이터 흐름 또는 캐시 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 캐싱 키 생성부(210), 정보 제공부(220), 데이터베이스(230) 및 통신부(240)에서 각각 고유 기능을 수행하도록 제어할 수 있다.Finally, the
도 3은 본 발명의 일 실시예에 따른 캐시 시스템(200)에서 수행되는 주요 처리 과정을 예시적으로 나타내는 도면이다.3 is a diagram exemplarily illustrating a main process performed in the
단계 S1에서는, 사용자가 사용자 단말 장치(300) 상에서 컨텐츠를 요청할 수 있다. 이에 따라, 사용자 단말 장치(300)는 URI를 특정하여 컨텐츠 요청을 발할 수 있다. 이러한 요청은 캐시 시스템(200)에 전달될 수 있다.In operation S1, the user may request content on the
단계 S2에서는, 캐시 시스템(200)이 사용자에 의하여 요청된 컨텐츠의 파일의 헤더를 참조하여 컨텐츠의 크기를 판별할 수 있다(당업자의 선택에 따라, 이하의 단계들은 컨텐츠가 종래 기술에 따른 URI 기반 캐싱 키로 데이터베이스(230)로부터 검색되지 않는 경우에 한하여 수행될 수도 있다). 여기서, 참조되는 컨텐츠 파일의 헤더는 메인 서버(400)에 저장되어 있는 컨텐츠 파일의 헤더일 수 있다.In step S2, the
단계 S3에서는, 캐시 시스템(200)이 판별된 컨텐츠의 크기가 소정의 임계치 이상인지 여부를 판단할 수 있다.In step S3, the
단계 S3에서 "yes"라는 결과가 나오면, 단계 S4에서는, 캐싱 키 생성부(210)가 컨텐츠 기반 캐싱 키를 생성할 수 있다. 한편, 단계 S3에서 "no"라는 결과가 나오면, 단계 S8에서는, URI 기반의 캐싱 또는 검색이 수행될 수 있다.If a result of "yes" is obtained in step S3, in step S4, the caching
단계 S5에서는, 정보 제공부(220)가 생성된 캐싱 키를 이용하여 데이터베이스(230)를 검색할 수 있다.In operation S5, the
단계 S6에서는, 정보 제공부(220)가 데이터베이스(230) 내에 캐싱되어 있던 컨텐츠가 상기 캐싱 키로 검색되는지 여부를 판단할 수 있다.In operation S6, the
단계 S6에서 "yes"라는 결과가 나오면, 단계 S7에서는, 정보 제공부(220)가 검색된 컨텐츠를 사용자 단말 장치(300)에 제공할 수 있다. 한편, 단계 S6에서 "no"라는 결과가 나오면, 단계 S9에서는, 캐시 시스템(200)이 메인 서버(400)로부터 완전한 컨텐츠를 획득하고 나서/획득하면서, 상기 캐싱 키로 상기 컨텐츠에 대한 캐싱을 수행하고 상기 컨텐츠를 사용자 단말 장치(300)에 제공할 수 있다.If a result of "yes" is obtained in step S6, in step S7, the
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention or may be those known and used by those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, medium, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code, such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be modified into one or more software modules for performing the processing according to the present invention, and vice versa.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변경을 꾀할 수 있다.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 embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications and changes may be made thereto without departing from the scope of the present invention.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all ranges that are equivalent to or equivalent to the claims of the present invention as well as the claims .
210: 캐싱 키 생성부
220: 정보 제공부
230: 데이터베이스
240: 통신부
250: 제어부210: caching key generation unit
220: information provider
230: Database
240:
250:
Claims (15)
상기 캐싱 키 생성부에서, 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보를 수신하는 단계,
상기 캐싱 키 생성부에서, 상기 컨텐츠 요청에 관한 정보를 이용하여, 상기 컨텐츠의 일부를 포함하는 컨텐츠 기반 캐싱 키를 생성하는 단계,
상기 정보 제공부에서, 상기 컨텐츠 기반 캐싱 키로 데이터베이스를 검색하는 단계, 및
상기 정보 제공부에서, 상기 데이터베이스로부터 검색된 컨텐츠를 상기 사용자 단말 장치에 제공하는 단계를 포함하고,
상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 방법.A method for providing information using a content-based caching key on a communication network, the method being implemented by a system including a caching key generator and an information provider.
Receiving, by the caching key generation unit, information about a content request from a user terminal device;
Generating, by the caching key generation unit, a content-based caching key including a part of the content by using the information about the content request;
Searching, by the information provider, a database with the content-based caching key; and
In the information providing unit, providing the content retrieved from the database to the user terminal device,
The portion of the content comprises a header and a portion of a data area of the file of the content.
상기 컨텐츠 요청에 관한 정보는 상기 컨텐츠의 URI를 포함하는 방법.The method of claim 1,
And wherein the information about the content request includes a URI of the content.
상기 컨텐츠 기반 캐싱 키 생성 단계는 상기 컨텐츠 요청에 관한 정보를 이용하여 메인 서버의 컨텐츠에 접근하는 단계를 포함하는 방법.The method of claim 1,
The generating of the content-based caching key includes accessing the content of the main server by using the information about the content request.
상기 데이터베이스 검색 단계는 상기 컨텐츠 기반 캐싱 키에 관한 2진 데이터 비교 단계를 포함하는 방법.The method of claim 1,
And the database retrieval step includes binary data comparison with respect to the content based caching key.
상기 캐싱 키 생성부에서, 사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보를 수신하는 단계,
상기 캐싱 키 생성부에서, 상기 컨텐츠 요청에 관한 정보로부터 상기 컨텐츠의 URI를 획득하는 단계,
상기 캐싱 키 생성부에서, 상기 URI를 이용하여, 메인 서버로부터 상기 컨텐츠의 일부를 획득하는 단계, 및
상기 캐싱 키 생성부에서, 상기 컨텐츠의 상기 일부로 컨텐츠 기반 캐싱 키를 생성하는 단계를 포함하고,
상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 것을 특징으로 하는 방법.A method for generating a caching key on a communication network, the method being implemented by a system including a caching key generator;
Receiving, by the caching key generation unit, information about a content request from a user terminal device;
Obtaining, by the caching key generation unit, the URI of the content from the information about the content request;
Acquiring, by the caching key generation unit, a part of the content from a main server using the URI; and
Generating, by the caching key generation unit, a content-based caching key as the part of the content;
The portion of the content comprises a header of the file of the content and a portion of the data area.
상기 컨텐츠 일부를 획득하는 단계는 상기 컨텐츠의 크기가 소정의 임계치를 초과하는 경우에만 수행되는 방법.The method according to claim 6,
Acquiring the portion of the content is performed only when the size of the content exceeds a predetermined threshold.
사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보가 수신되면, 상기 컨텐츠 요청에 관한 정보를 이용하여, 상기 컨텐츠의 일부를 포함하는 컨텐츠 기반 캐싱 키를 생성하기 위한 캐싱 키 생성부, 및
상기 컨텐츠 기반 캐싱 키로 데이터베이스를 검색하고, 상기 데이터베이스로부터 검색된 컨텐츠를 상기 사용자 단말 장치에 제공하기 위한 정보 제공부를 포함하고,
상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 시스템.A system for providing information using a content-based caching key on a communication network,
When the information on the content request from the user terminal device is received, a caching key generation unit for generating a content-based caching key including a part of the content using the information about the content request, and
An information providing unit for searching a database with the content-based caching key and providing the content retrieved from the database to the user terminal device;
The portion of the content comprises a header and a portion of a data area of the file of the content.
상기 컨텐츠 요청에 관한 정보는 상기 컨텐츠의 URI를 포함하는 시스템.9. The method of claim 8,
And wherein the information about the content request includes a URI of the content.
상기 캐싱 키 생성부는 상기 컨텐츠 요청에 관한 정보를 이용하여 메인 서버의 컨텐츠에 접근하는 시스템.9. The method of claim 8,
The caching key generation unit accesses the contents of the main server by using the information about the content request.
상기 정보 제공부는 상기 컨텐츠 기반 캐싱 키에 관한 2진 데이터 비교를 수행하는 시스템.9. The method of claim 8,
And the information providing unit performs binary data comparison on the content-based caching key.
사용자 단말 장치로부터의 컨텐츠 요청에 관한 정보가 수신되면, 상기 컨텐츠 요청에 관한 정보로부터 상기 컨텐츠의 URI를 획득하고, 상기 URI를 이용하여, 메인 서버로부터 상기 컨텐츠의 일부를 획득하며, 상기 컨텐츠의 상기 일부로 컨텐츠 기반 캐싱 키를 생성하기 위한 캐싱 키 생성부를 포함하고,
상기 컨텐츠의 상기 일부는 상기 컨텐츠의 파일의 헤더 및 일부 데이터 영역을 포함하는 것을 특징으로 하는 시스템.A system for generating a caching key on a communication network,
When the information on the content request from the user terminal device is received, the URI of the content is obtained from the information about the content request, by using the URI to obtain a part of the content from the main server, the content of the As a part includes a caching key generation unit for generating a content-based caching key,
The portion of the content comprises a header of the file of the content and a portion of the data area.
상기 컨텐츠 일부의 획득은 상기 컨텐츠의 크기가 소정의 임계치를 초과하는 경우에만 수행되는 시스템.The method of claim 13,
The obtaining of the portion of the content is performed only if the size of the content exceeds a predetermined threshold.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100069209A KR101351522B1 (en) | 2010-07-16 | 2010-07-16 | Method, system and computer-readable recording medium for providing information by using content-based caching key |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100069209A KR101351522B1 (en) | 2010-07-16 | 2010-07-16 | Method, system and computer-readable recording medium for providing information by using content-based caching key |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120008388A KR20120008388A (en) | 2012-01-30 |
KR101351522B1 true KR101351522B1 (en) | 2014-01-23 |
Family
ID=45613408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100069209A KR101351522B1 (en) | 2010-07-16 | 2010-07-16 | Method, system and computer-readable recording medium for providing information by using content-based caching key |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101351522B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050010892A (en) * | 2002-06-12 | 2005-01-28 | 제너럴 인스트루먼트 코포레이션 | Access control and key management system for streaming media |
KR20050046974A (en) * | 2003-11-15 | 2005-05-19 | 한국전자통신연구원 | Method for providing contents cache synchronization in clustered mobile business application server |
-
2010
- 2010-07-16 KR KR1020100069209A patent/KR101351522B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050010892A (en) * | 2002-06-12 | 2005-01-28 | 제너럴 인스트루먼트 코포레이션 | Access control and key management system for streaming media |
KR20050046974A (en) * | 2003-11-15 | 2005-05-19 | 한국전자통신연구원 | Method for providing contents cache synchronization in clustered mobile business application server |
Also Published As
Publication number | Publication date |
---|---|
KR20120008388A (en) | 2012-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9495339B2 (en) | Method and apparatus for displaying information in a browser | |
EP3036662B1 (en) | Generating cache query requests | |
US10367909B2 (en) | Method, device, and system for displaying information associated with a web page | |
US9785608B2 (en) | Predictive, multi-layer caching architectures | |
US9009728B2 (en) | Method and apparatus for widget and widget-container distribution control based on content rules | |
EP3633524A1 (en) | Systems and methods for guided user actions | |
JP5826266B2 (en) | Method and apparatus for handling nested fragment caching of web pages | |
US11210301B2 (en) | Client-side search result re-ranking | |
US20120310980A1 (en) | Inferred user identity in content distribution | |
US20100036933A1 (en) | Dynamic Portal Creation Based on Personal Usage | |
US20160364373A1 (en) | Method and apparatus for extracting webpage information | |
CN105760405A (en) | Methods and devices for obtaining network resource for loading web page and method and device for caching network resource | |
JP6328233B2 (en) | Computer program product, system and method for optimizing web page loading | |
US20120297429A1 (en) | Emulating Television Viewing Experience In A Browser | |
WO2013143405A1 (en) | Method, device, and system for implementing network access, and network system | |
US11720407B2 (en) | Resource pre-fetch using age threshold | |
KR101265164B1 (en) | System for providing shorten URL browsing with branding , method thereof, and web client thereof | |
KR101666064B1 (en) | Apparatus for managing data by using url information in a distributed file system and method thereof | |
US20080297521A1 (en) | System and method for providing skins for a web page | |
US10154076B2 (en) | Identifying users through a proxy | |
KR101888846B1 (en) | System for cloud streaming service, method of image cloud streaming service using reciprocal cache and apparatus for the same | |
KR101351522B1 (en) | Method, system and computer-readable recording medium for providing information by using content-based caching key | |
US20100125576A1 (en) | User oriented information system and method of controlling the user oriented information system | |
CN106649792B (en) | Page access method and device | |
KR102442699B1 (en) | System for cloud streaming service, method of image cloud streaming service using common cache and apparatus for the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
S901 | Examination by remand of revocation | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180206 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190123 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200204 Year of fee payment: 7 |