KR101132220B1 - 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101132220B1
KR101132220B1 KR1020080137462A KR20080137462A KR101132220B1 KR 101132220 B1 KR101132220 B1 KR 101132220B1 KR 1020080137462 A KR1020080137462 A KR 1020080137462A KR 20080137462 A KR20080137462 A KR 20080137462A KR 101132220 B1 KR101132220 B1 KR 101132220B1
Authority
KR
South Korea
Prior art keywords
item
web page
data
user
request
Prior art date
Application number
KR1020080137462A
Other languages
English (en)
Other versions
KR20100079052A (ko
Inventor
이창근
이미진
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020080137462A priority Critical patent/KR101132220B1/ko
Priority to JP2009296737A priority patent/JP5280349B2/ja
Publication of KR20100079052A publication Critical patent/KR20100079052A/ko
Application granted granted Critical
Publication of KR101132220B1 publication Critical patent/KR101132220B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/707Structured documents, e.g. XML
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion

Abstract

본 발명은 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. 본 발명의 일 태양에 따르면, 캐쉬를 이용하여 웹 페이지를 제공하기 위한 방법으로서, (a) 나열된 복수의 항목을 포함하는 특정 웹 페이지에서 단말 장치의 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 적어도 하나 결정하는 단계, (b) 상기 결정된 적어도 하나의 요청 예상 항목에 대응되어 저장된 데이터를 데이터베이스로부터 수신하여 캐싱하는 단계, 및 (c) 상기 사용자에 의하여 상기 나열된 복수의 항목 중 특정 항목이 선택되면, 상기 캐싱된 데이터를 이용하여 상기 특정 항목에 대응되는 데이터를 상기 특정 웹 페이지 상에 디스플레이하는 단계를 포함하는 방법이 제공된다.
페이징, 캐쉬, 행동 패턴, AJAX

Description

캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체{METHOD, SYSTEM AND COMPUTER-READABLE RECORDING MEDIUM FOR PROVIDING WEB PAGE USING CACHE}
본 발명은 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. 보다 상세하게는, 본 발명은 특정 웹 페이지에서 단말 장치의 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 결정하고 이에 대응되는 데이터를 단말 장치의 캐쉬에 저장하고, 상기 사용자에 의하여 특정 항목이 선택되면, 캐쉬에 저장된 데이터를 이용하여 특정 항목에 대응되는 데이터를 상기 특정 웹 페이지 상에 신속하게 디스플레이하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
근래에 들어, 인터넷 사용이 보편화되면서 사용자들은 인터넷에의 접속이 가능한 개인용 컴퓨터 등의 단말 장치를 통해 소정의 컨텐츠 서버에 접속함으로써 자신이 원하는 정보를 쉽게 얻을 수 있게 되었다. 이때, 사용자 단말 장치에 제공되는 정보는, 텍스트, 이미지, 동영상 등의 다양한 유형의 컨텐츠를 포함할 수 있는 웹 페이지(web page)의 형식으로 제공되는 것이 일반적이다.
위와 같이 사용자 단말 장치에 웹 페이지를 제공하기 위해서는, 소정의 페이징 기술이 필요할 수 있는데, 이와 관련된 종래 기술에 대하여 이하에서 살펴보기로 한다.
도 1은 종래의 웹 페이지 제공 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
먼저, 페이지 단위의 페이징 방법에 따르면, 사용자는 사용자 단말 장치(110)를 이용하여 웹 서버(120)에 특정 웹 페이지를 요청할 수 있고, 이에 대응하여 웹 서버(120)는 데이터베이스(130)로부터 필요한 데이터를 가져와 상기 특정 웹 페이지 구성하는 HTML을 생성하고 이를 사용자 단말 장치(110)에 전송하여 웹 브라우저(미도시됨)를 통하여 디스플레이될 수 있도록 한다. 그런데, 위와 같은 페이지 단위의 페이징 방법에 의할 경우, 변경되는 부분의 데이터만을 가져와 보여주는 것이 아니라 HTML로 구성된 페이지 자체를 보여주는 방법이므로, 많은 시간이 소모된다는 단점이 있었다.
이러한 문제점을 해결하기 위한 페이징 방법으로서, 데이터 단위의 페이징 방법이 있는데, 이에 따르면, 웹 서버(120)는 사용자가 요청한 웹 페이지 전체를 전송하는 것이 아니라 변경되는 부분에 해당하는 데이터만을 가져와 보여줄 수 있다. 예를 들면, 웹 서버(120)는 사용자 단말 장치(110)에 의하여 요청된 웹 페이지 중 이전에 전송되었던 웹 페이지와 공통되는 데이터를 제외한 나머지 데이터만을 전송하여 응답 시간을 개선할 수 있는 것이다. 하지만, 이러한 데이터 단위의 페이징 방법에 의하더라도, 상기 데이터를 전송하는 과정에서 소요되는 시간은 여 전히 존재할 수 밖에 없다는 문제점이 있었다.
한편, 종래의 페이징 방법의 또 다른 예로서, 과거에 요청되었던 웹 페이지를 사용자 단말 장치(110)에 저장하고, 이후에 사용자가 상기 웹 페이지를 다시 요청하면 사용자 단말 장치(110)에 저장된 데이터를 이용하여 상기 웹 페이지를 신속히 디스플레이하는 방법이 소개된 바 있다. 하지만, 이러한 페이징 방법은, 과거에 제공 받았던 웹 페이지에 대해서만 그 전송 시간이 단축된다는 한계가 있었다.
따라서, 웹 페이지를 제공하는 데에 소요되는 시간을 획기적으로 줄일 수 있는 새로운 페이징 기술이 필요로 되고 있는 실정이다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 로컬 캐쉬(local cache)에 사용자에 의해 요청될 가능성이 높은 항목에 관련된 데이터를 미리 전송받아 저장함으로써, 추후 사용자가 요청하는 항목에 관련된 데이터를 웹 페이지 상에 신속하게 디스플레이할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은, 사용자의 행동 패턴을 분석함으로써, 사용자에 의하여 요청될 것으로 예상되는 항목에 관련된 데이터를 선택적으로 캐싱할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법으로서, (a) 나열된 복수의 항목을 포함하는 특정 웹 페이지에서 단말 장치의 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 적어도 하나 결정하는 단계, (b) 상기 결정된 적어도 하나의 요청 예상 항목에 대응되어 저장된 데이터를 데이터베이스로부터 수신하여 캐싱하는 단계, 및 (c) 상기 사용자에 의하여 상기 나열된 복수의 항목 중 특정 항목이 선택되면, 상기 캐싱된 데이터를 이용하여 상기 특정 항목에 대응되는 데이터를 상기 특정 웹 페이지 상에 디스플레이하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 캐쉬를 이용하여 웹 페이지를 제공하기 위한 시스템으로서, 나열된 복수의 항목을 포함하는 특정 웹 페이지에서 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 적어도 하나 결정하는 요청 항목 예상부, 상기 결정된 적어도 하나의 요청 예상 항목에 대응되어 저장된 데이터를 데이터베이스로부터 수신하여 캐쉬에 저장하는 데이터 캐싱부, 및 상기 사용자에 의하여 상기 나열된 복수의 항목 중 특정 항목이 선택되면, 상기 캐쉬에 저장된 데이터를 이용하여 상기 특정 항목에 대응되는 데이터를 상기 특정 웹 페이지 상에 디스플레이하는 디스플레이부를 포함하는 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 사용자에 의해 요청될 가능성이 높은 항목에 관련된 데이터를 미리 캐싱해 두므로, 추후 사용자에 의해 상기 항목이 요청된 경우에 페이징 시간을 획기적으로 줄일 수 있게 된다.
또한, 본 발명에 의하면, 사용자가 요청할 것으로 예상되는 항목에 관련된 데이터만을 선택적으로 캐싱할 수 있으므로, 통신망 및 웹 페이지 제공 시스템의 부하(load)를 최소화함과 동시에 로컬 캐쉬의 저장 공간을 효율적으로 사용할 수 있게 된다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
[본 발명의 바람직한 실시예]
전체 시스템의 구성
도 2는 본 발명의 일 실시예에 따른 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2에 도시되어 있는 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템 은, 사용자 단말 장치(200), 웹 서버(300), 데이터베이스(400), 통신망(500)으로 구성될 수 있다.
본 발명의 일 실시예에 따르면, 사용자 단말 장치(200)는 웹 페이지 상에서 사용자에 의하여 요청될 것으로 예상되는 특정 항목에 대응되는 데이터를 미리 사용자 단말 장치(200)의 캐쉬(cache)(230)에 저장하고, 사용자에 의하여 상기 특정 항목이 요청되면 사용자 단말 장치(200)의 캐쉬(230)에 저장된 데이터를 이용하여 상기 특정 항목에 대응되는 데이터를 웹 페이지 상에 디스플레이하는 기능을 수행한다.
여기서, 사용자 단말 장치(200)는, 사용자가 통신망(500)을 통하여 웹 서버(300)에 접속한 후 통신할 수 있도록 하는 기능을 포함하는 디지털 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(200)로서 채택될 수 있다. 또한, 사용자 단말 장치(200)는 웹 서버(300)에 웹 페이지를 구성하는 데이터를 요청하고 요청된 데이터를 웹 서버(300)로부터 제공 받는 기능을 수행할 수 있다.
사용자 단말 장치(200)의 구체적인 내부 구성에 대해서는 후술하기로 한다.
그리고, 본 발명의 일 실시예에 따르면, 웹 서버(300)는 사용자 단말 장치(200) 및/또는 다수의 웹 서버(미도시됨)와의 통신을 수행할 수 있다. 예를 들어, 웹 서버(300)는 인터넷 포털 사이트의 운영 서버일 수도 있는데, 이때, 웹 서 버(300)는 검색, 뉴스, 이메일, 커뮤니티, 블로그 등에 관한 다양한 웹 컨텐츠를 사용자 단말 장치(200)에 제공할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 데이터베이스(400)에는 사용자 단말 장치(200)에 제공될 웹 컨텐츠와 관련된 데이터가 저장되어 있을 수 있다. 비록 도 2에서 데이터베이스(400)는 웹 서버(300)와 별개로 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 데이터베이스(400)는 웹 서버(300)에 포함되어 구성될 수도 있다. 본 발명에 있어서, 데이터베이스(400)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라, 파일 시스템에 기반한 데이터 기록 등을 포함하는 넓은 의미의 데이터베이스도 포함하여 지칭하며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서 말하는 데이터베이스(400)에 포함된다.
한편, 본 발명의 일 실시예에 따르면, 통신망(500)은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 통신망(500)은 공지의 월드와이드웹(WWW: World Wide Web)일 수 있다.
사용자 단말 장치(200)의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 사용자 단말 장치(200)의 내부 구성 및 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말 장치(200)의 내부 구성을 상세하게 나타내는 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 사용자 단말 장치(200)는, 요청 항목 예상부(210), 데이터 캐싱부(220), 캐쉬(230), 디스플레이부(240)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 요청 항목 예상부(210), 데이터 캐싱부(220), 캐쉬(230), 디스플레이부(240)는 그 중 적어도 일부가 웹 서버(300)와 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈, 및 기타 프로그램 모듈의 형태로 사용자 단말 장치(200)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 적어도 일부가 사용자 단말 장치(200)와 통신 가능한 원격 기억 장치에 포함될 수도 있다. 심지어, 이러한 프로그램 모듈들은 적어도 일부가 웹 서버(300)에 포함될 수도 있음은 물론이라 할 것이다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
본 발명의 일 실시예에 따르면, 요청 항목 예상부(210)는 웹 페이지에 나열된 복수의 항목 중 사용자에 의하여 선택될 것으로 예상되는 소위 '요청 예상 항목'을 결정하는 기능을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 상기 웹 페이지에 나열된 복수의 항목은 도 3의 참조번호(610)이나 도 4의 참조번호(710)와 같이 소정의 기준(예를 들면, 생성 시점, 중요도 등)에 따라 순차적으로 넘버링된 형태로 제공될 수도 있고, 일반 게 시판 목록, 검색 결과 리스트, 뉴스 목록, 쇼핑몰 상품 리스트, 이미지 리스트 등과 같이 넘버링되어 있지 않아도 복수의 컨텐츠를 포함하는 목록 형태로 제공될 수도 있다.
이러한 각각의 항목은 적어도 하나의 데이터와 대응되도록 구성될 수 있으며, 예를 들면, 상기 나열된 복수의 항목은 적어도 하나의 데이터를 가리키는 하이퍼링크(hyperlink)로 구성될 수 있다.
사용자는 웹 페이지에 포함된 복수의 항목 중 어느 특정 항목을 선택함으로써 상기 특정 항목에 대응되는 데이터를 웹 서버(300)에 요청할 수 있고, 웹 서버(300)는 해당되는 데이터를 데이터베이스(400) 내에서 검색하여 사용자 단말 장치(200)에 전송할 수 있다.
이하에서는, 요청 항목 예상부(210)가 상기에서 언급된 '요청 예상 항목'을 결정하는 구체적인 구성에 대하여 살펴보기로 한다.
먼저, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 웹 페이지에 디스플레이되고 있는 데이터에 대응되는 항목의 다음 순서 또는 이전 순서에 해당하는 항목을 사용자에 의하여 선택될 가능성이 높은 요청 예상 항목으로 결정할 수 있다. 이는, 사용자가 현재 웹 페이지 상에 디스플레이된 데이터와 관련하여 추가적인 정보를 얻고자 할 때, 일반적으로 현재 항목의 다음 또는 이전 순서에 해당하는 항목을 선택하는 경향을 고려한 것이다.
또한, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 항목의 순서와는 관계없이, 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목과 인접한 영역에 위치하는 항목을 상기 요청 예상 항목으로 결정할 수도 있다. 일반적으로, 사용자는 웹 페이지 상의 특정 영역 또는 그 인근에 위치하는 항목들에만 관심을 가질 수 있기 때문에, 이를 반영함으로써 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 보다 정확하게 결정할 수 있게 된다.
한편, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 사용자의 행동 패턴 정보를 기초로 하여 사용자에 의하여 요청될 것으로 예상되는 요청 예상 항목을 결정할 수 있다. 여기서, 사용자의 행동 패턴 정보는, 특정 사용자에 의해 기선택된 항목에 대한 정보로부터 추출될 수 있는데, 이는 각 사용자에 따라 독립적으로 저장될 수 있을 것이다. 구체적으로, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 특정 사용자에 의해 기선택된 항목의 순서가 시간에 따라 증가하고 있는 추세인 경우에, 상기 특정 사용자에 대하여 제공되는 웹 페이지 상에 현재 디스플레이되고 있는 데이터에 대응하는 항목의 다음 순서에 해당하는 항목을 상기 요청 예상 항목으로 결정할 수 있다. 이와 반대로, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 특정 사용자에 의해 기선택된 항목의 순서가 시간에 따라 감소하고 있는 추세인 경우에는, 상기 특정 사용자에게 제공되는 웹 페이지 상에 현재 디스플레이되고 있는 데이터에 대응하는 항목의 이전 순서에 해당하는 항목을 상기 요청 예상 항목으로 결정할 수도 있다.
그 밖에도, 요청 항목 예상부(210)는, 특정 사용자에 의해 기선택된 항목들이 시간에 따라 특정 방향으로 지나가면서 선택되고 있는 추세인 경우에는, 상기 특정 사용자에 대하여 제공되는 웹 페이지 상에 현재 디스플레이되고 있는 데이터 에 대응하는 항목에서 상기 특정 방향으로 후행하는 쪽에 있는 항목을 상기 요청 예상 항목으로 결정할 수 있는 등 다양한 변형예를 상정할 수도 있을 것이다.
다만, 상기 사용자의 행동 패턴 정보가 반드시 상기 예에서 언급한 것에 한정되는 것은 아니며, 요청 예상 항목을 결정하기 위한 근거가 될 수 있는 정보이면 모두 본 발명에서 말하는 사용자의 행동 패턴 정보에 포함될 수 있을 것이다,
한편, 본 발명의 일 실시예에 따르면, 요청 항목 예상부(210)는 요청 예상의 정확도를 높이기 위하여, 캐쉬(230)의 저장 공간이 허용되는 범위 내에서 복수의 항목을 요청 예상 항목으로 결정할 수도 있음은 물론이다.
도 3 및 도 4는 본 발명의 일 실시예에 따라 요청 예상 항목을 결정하는 구성을 예시적으로 나타내는 도면이다. 참고로, 도 3 및 도 4는 사용자 단말 장치(200)에 디스플레이되는 웹 페이지의 일례로서, 페이징 내비게이션 버튼 영역(610, 710) 내에 순번이 매겨진 다수의 항목을 포함하는 경우를 나타낸다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 현재 웹 페이지 상에 페이지 항목 "1"에 대응되는 데이터(즉, 게시물 목록)가 디스플레이되고 있다는 것에 기초하여, 페이지 항목 "1"의 다음 순서에 해당하는 페이지 항목 "2"를 요청 예상 항목으로 결정할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 사용자에 의하여 도 3의 특정 게시물 항목(620)이 선택되어 상기 특정 게시물 항목(620)에 대응하는 데이터(즉, 게시물 내용)가 현재 웹 페이지 상에 디스플레이되는 경우, 상기 특정 게시물에 대한 항목(620)과 인접한 영역 에 위치하는 게시물 항목(가령, 630, 640 등)을 요청 예상 항목으로 결정할 수도 있다.
또한, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는, 사용자에 의해 과거에 선택되었던 항목에 대한 정보로부터 추출되는 행동 패턴 정보를 기초로 하여 상기 사용자에 대한 요청 예상 항목을 결정할 수 있다. 예를 들면, 도 3과 같이 영역(610) 내에 복수의 항목이 나열된 상태에서, 사용자 A에 의해 최근 3회 동안 선택되었던 페이지 항목이 순차적으로 각각 "1", "2", "3" 이라고 가정할 경우, 사용자 A에 의해 요청되는 페이지 항목의 순번이 계속하여 증가하는 추세를 보이고 있다고 할 수 있으므로, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는 현재 웹 페이지 상에 디스플레이되고 있는 데이터(즉, 게시물 목록)에 대응되는 페이지 항목 "3"의 다음 순서에 해당하는 페이지 항목 "4"를 사용자 A에 대한 요청 예상 항목으로 결정할 수 있을 것이다.
한편, 다른 예로서 도 4를 참조하면, 사용자 B에 의해 최근 2회 동안 연속하여 페이징 내비게이션 버튼 영역(710) 내의 "이전 페이지"가 선택된 경우에는, 사용자 B에 의해 요청되는 페이지 항목의 순번이 계속하여 감소하는 추세를 보이고 있다고 할 수 있으므로, 본 발명의 일 실시예에 따른 요청 항목 예상부(210)는 현재 웹 페이지 상에 디스플레이되고 있는 데이터(즉, 게시물 목록)에 대응되는 페이지 항목의 이전 순서에 해당하는 페이지 항목을 사용자 B에 대한 요청 예상 항목으로 결정할 수도 있을 것이다.
다만, 상기에서 언급한 요청 예상 항목 결정 방법은, 본 발명의 다양한 실시 예에 따른 요청 항목 예상부(210)의 기능을 설명하기 위한 예시적인 것에 불과하며, 본 발명에 따른 사용자의 요청 예상 항목 결정 방법이 반드시 이에 한정되는 것은 아니다.
다음으로, 본 발명의 일 실시예에 따르면, 데이터 캐싱부(220)는 요청 항목 예상부(210)에 의하여 결정된 요청 예상 항목에 대응되는 데이터를 웹 서버(300) 및/또는 데이터베이스(400)로부터 획득하여 사용자 단말 장치(200)의 캐쉬(230)에 저장하는 기능을 수행할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 캐싱부(220)는, 요청 예상 항목에 대응되는 데이터만을 캐쉬(230)에 저장하는 기능을 수행할 수 있으며, 이에 따라 사용자 대기 시간을 단축시킬 수 있게 된다.
위에서 언급한 바와 같이, 데이터 단위로 웹 페이지를 처리하기 위한 기술로서, L. D. Paulson이 저술하고, "2005년 10월, IEEE, Computer"에 게재된 논문인 "Building rich web applications with Ajax"를 예로 들 수 있다. 상기 논문에는, 사용자 단말 장치와 웹 서버 사이의 통신에 있어서 확장성 생성 언어(XML: eXtensible Markup Language)를 이용하여 데이터를 교환하고 제어함으로써, 웹 페이지 전체를 새로 로딩하지 않고도 현재 웹 페이지를 갱신할 수 있도록 하는 AJAX(Asynchronous Javascript And XML) 기술이 기재되어 있다(상기 논문의 내용은 그 전체가 본 명세서에 병합되어 있는 것으로 고려되어야 한다). 물론, 본 발명에 적용 가능한 웹 페이지 처리 기술이 상기 논문에 기재된 방법에만 한정되는 것은 아니며, 다양한 변형예를 적용하여 본 발명을 구현할 수 있을 것이다.
또한, 본 발명의 일 실시예에 따른 데이터 캐싱부(220)는, 웹 서버(300) 및/또는 데이터베이스(400)에 저장된 데이터에 대하여 발생할 수 있는 변경(갱신) 사항을 반영시키기 위하여, 소정의 주기마다 해당 데이터를 반복적으로 획득하여 캐쉬(230)에 저장함으로써 사용자 단말 장치(200)의 캐쉬(230)에 저장되는 데이터를 지속적으로 업데이트할 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 캐쉬(230)는 데이터 캐싱부(220)에 의하여 획득된 데이터가 캐싱되는 영역을 포함하는 개념일 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 디스플레이부(240)는, 사전에 요청 예상 항목에 대응되는 데이터가 캐싱된 상태에서, 사용자가 상기 요청 예상 항목을 선택되는 경우, 캐싱된 데이터를 웹 페이지 상에 디스플레이하는 기능을 수행할 수 있다. 한편, 본 발명의 일 실시예에 따른 디스플레이부(240)는, 이러한 기능을 수행하기 위하여 소정의 웹 브라우저 프로그램을 포함할 수도 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
도 1은 종래의 웹 페이지 제공 시스템의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 캐쉬를 이용하여 웹 페이지를 제공하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 요청 예상 항목을 결정하는 예를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 요청 예상 항목을 결정하는 다른 예를 나타내는 도면이다.
<주요 도면부호에 관한 간단한 설명>
200: 사용자 단말 장치
210: 요청 항목 예상부
220: 데이터 캐싱부
230: 캐쉬
240: 디스플레이부
300: 웹 서버
400: 데이터베이스

Claims (20)

  1. 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법으로서,
    (a) 요청 항목 예상부에 의해, 나열된 복수의 항목을 포함하는 특정 웹 페이지에서 단말 장치의 사용자의 행동 패턴 정보를 기초로 하여 상기 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 적어도 하나 결정하는 단계,
    (b) 데이터 캐싱부에 의해, 상기 결정된 적어도 하나의 요청 예상 항목에 대응되어 저장된 데이터를 데이터베이스로부터 수신하여 캐싱하는 단계, 및
    (c) 디스플레이부에 의해, 상기 사용자에 의하여 상기 나열된 복수의 항목 중 특정 항목이 선택되면, 상기 캐싱된 데이터를 이용하여 상기 특정 항목에 대응되는 데이터를 상기 특정 웹 페이지 상에 디스플레이하는 단계
    를 포함하고,
    상기 나열된 복수의 항목은 웹 페이지 상에 디스플레이될 수 있는 게시판 목록, 이메일 리스트, 검색 결과 리스트, 뉴스 목록, 이미지 리스트 중 적어도 하나를 포함하며,
    상기 사용자의 행동 패턴 정보는 상기 사용자에 의해 기선택된 항목에 대한 정보로부터 추출되는 상기 기선택된 항목의 순번 증감 추세로서,
    상기 (a) 단계는,
    상기 사용자에 의해 기선택된 항목의 순번이 시간에 따라 증가하고 있는 추세인 경우에, 상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목의 다음 순서에 해당하는 항목을 상기 요청 예상 항목으로 결정하고,
    상기 사용자에 의해 기선택된 항목의 순번이 시간에 따라 감소하고 있는 추세인 경우에, 상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목의 이전 순서에 해당하는 항목을 상기 요청 예상 항목으로 결정하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 나열된 복수의 항목은, 적어도 하나의 데이터를 가리키는 하이퍼링크인 것을 특징으로 하는 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 나열된 복수의 항목은 넘버링되어 순서가 정해져 있는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 (a) 단계는,
    상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응되는 항목의 다음 순서에 해당하는 항목 및 이전 순서에 해당되는 항목 중 적어도 하나를 상기 요청 예상 항목으로 더 결정하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 (a) 단계는,
    상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목과 인접한 영역에 위치하는 항목을 상기 요청 예상 항목으로 더 결정하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 (b) 단계는,
    상기 결정된 적어도 하나의 요청 예상 항목에 대응되는 데이터가 갱신될 때마다 반복적으로 수행되는 것은 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 (b) 단계는,
    AJAX(Asynchronous Javascript And XML) 기술을 이용하여 수행되는 것을 특징으로 하는 방법.
  12. 캐쉬를 이용하여 웹 페이지를 제공하기 위한 시스템으로서,
    나열된 복수의 항목을 포함하는 특정 웹 페이지에서 사용자의 행동 패턴 정보를 기초로 하여 상기 사용자에 의하여 선택될 것으로 예상되는 요청 예상 항목을 적어도 하나 결정하는 요청 항목 예상부,
    상기 결정된 적어도 하나의 요청 예상 항목에 대응되어 저장된 데이터를 데이터베이스로부터 수신하여 캐쉬에 저장하는 데이터 캐싱부, 및
    상기 사용자에 의하여 상기 나열된 복수의 항목 중 특정 항목이 선택되면, 상기 캐쉬에 저장된 데이터를 이용하여 상기 특정 항목에 대응되는 데이터를 상기 특정 웹 페이지 상에 디스플레이하는 디스플레이부
    를 포함하고,
    상기 나열된 복수의 항목은, 웹 페이지 상에 디스플레이될 수 있는 게시판 목록, 이메일 리스트, 검색 결과 리스트, 뉴스 목록, 이미지 리스트 중 적어도 하나를 포함하며,
    상기 사용자의 행동 패턴 정보는 상기 사용자에 의해 기선택된 항목에 대한 정보로부터 추출되는 상기 기선택된 항목의 순번 증감 추세로서,
    상기 요청 항목 예상부는,
    상기 사용자에 의해 기선택된 항목의 순번이 시간에 따라 증가하고 있는 추세인 경우에, 상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목의 다음 순서에 해당하는 항목을 상기 요청 예상 항목으로 결정하고,
    상기 사용자에 의해 기선택된 항목의 순번이 시간에 따라 감소하고 있는 추세인 경우에, 상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목의 이전 순서에 해당하는 항목을 상기 요청 예상 항목으로 결정하는 것을 특징으로 하는 시스템.
  13. 제12항에 있어서,
    상기 나열된 복수의 항목은, 적어도 하나의 데이터를 가리키는 하이퍼링크인 것을 특징으로 하는 시스템.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 제12항에 있어서,
    상기 나열된 복수의 항목은 넘버링되어 순서가 정해져 있는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 요청 항목 예상부는,
    상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응되는 항목의 다음 순서에 해당하는 항목 및 이전 순서에 해당되는 항목 중 적어도 하나를 상기 요청 예상 항목으로 더 결정하는 것을 특징으로 하는 시스템.
  19. 제12항에 있어서,
    상기 요청 항목 예상부는,
    상기 특정 웹 페이지에 디스플레이되고 있는 데이터에 대응하는 항목과 인접한 영역에 위치하는 항목을 상기 요청 예상 항목으로 더 결정하는 것을 특징으로 하는 시스템.
  20. 제1항 내지 제2항 및 제7항 내지 제11항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
KR1020080137462A 2008-12-30 2008-12-30 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 KR101132220B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080137462A KR101132220B1 (ko) 2008-12-30 2008-12-30 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP2009296737A JP5280349B2 (ja) 2008-12-30 2009-12-28 キャッシュを用いたウェブページの提供方法、システム及びコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080137462A KR101132220B1 (ko) 2008-12-30 2008-12-30 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20100079052A KR20100079052A (ko) 2010-07-08
KR101132220B1 true KR101132220B1 (ko) 2012-04-26

Family

ID=42575072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080137462A KR101132220B1 (ko) 2008-12-30 2008-12-30 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Country Status (2)

Country Link
JP (1) JP5280349B2 (ko)
KR (1) KR101132220B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012033271A1 (ko) * 2010-09-07 2012-03-15 에스케이텔레콤 주식회사 캐싱된 웹 페이지를 표시하기 위한 시스템, 이를 위한 서버, 이를 위한 단말, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록 매체
KR101599723B1 (ko) * 2010-09-07 2016-03-04 에스케이플래닛 주식회사 캐싱된 웹 페이지를 표시하기 위한 시스템, 이를 위한 단말, 이를 위한 방법 및 이 방법을 실행시키는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체
JP5819566B2 (ja) * 2013-03-29 2015-11-24 楽天株式会社 データ提供装置、データ提供方法及びデータ提供プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030082607A (ko) * 2001-03-08 2003-10-22 인터내셔널 비지네스 머신즈 코포레이션 웹 페이지의 예측적 캐싱 및 하이라이트
KR20080049439A (ko) * 2006-11-30 2008-06-04 삼성네트웍스 주식회사 통신망 내에서 사용자의 요청 정보 예측을 통한 정보전달장치 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057041A (ja) * 1998-08-11 2000-02-25 Hitachi Ltd プロキシサーバ及びlanシステム
JP3764291B2 (ja) * 1999-03-02 2006-04-05 株式会社東芝 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法
JP4514872B2 (ja) * 2000-01-26 2010-07-28 シャープ株式会社 情報取得装置および情報取得方法、ならびに情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002251315A (ja) * 2000-12-11 2002-09-06 Fujitsu Ltd ネットワークブラウザ
JP2006178513A (ja) * 2004-12-20 2006-07-06 Matsushita Electric Ind Co Ltd データ受信装置およびデータ受信プログラム
JP4438097B2 (ja) * 2006-05-16 2010-03-24 村田機械株式会社 サーバ装置
JP4902285B2 (ja) * 2006-07-18 2012-03-21 キヤノン株式会社 情報閲覧装置、その制御方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030082607A (ko) * 2001-03-08 2003-10-22 인터내셔널 비지네스 머신즈 코포레이션 웹 페이지의 예측적 캐싱 및 하이라이트
KR20080049439A (ko) * 2006-11-30 2008-06-04 삼성네트웍스 주식회사 통신망 내에서 사용자의 요청 정보 예측을 통한 정보전달장치 및 방법

Also Published As

Publication number Publication date
JP5280349B2 (ja) 2013-09-04
KR20100079052A (ko) 2010-07-08
JP2010157236A (ja) 2010-07-15

Similar Documents

Publication Publication Date Title
US8612418B2 (en) Mobile web browser for pre-loading web pages
US8910070B2 (en) Tab pages and bookmark toolbars in a browser
JP6091579B2 (ja) ウェブページのネストしたフラグメントキャッシングを処理する方法および装置
US9547717B2 (en) Administration of search results
US9922121B2 (en) Search system, search method, terminal apparatus, and non-transitory computer-readable recording medium
US20120240019A1 (en) Method and system for tracking web link usage
CN110598149A (zh) 网页访问方法、装置和存储介质
KR20160024293A (ko) 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치
US20090089415A1 (en) System and method for keyboard navigation in a search results page
US9299030B1 (en) Predictive page loading based on navigation
US20230409398A1 (en) Resource pre-fetch using age threshold
KR101132220B1 (ko) 캐쉬(cache)를 이용하여 웹 페이지를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP5734332B2 (ja) 広告情報提供装置
US9524076B2 (en) Web page management method and apparatus and storage medium thereof
WO2016011699A1 (zh) 一种用于配置浏览器的导航页的方法与装置
KR101325195B1 (ko) 검색 수행 시간 단축을 위한 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101498920B1 (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
CN103914515A (zh) 一种用于在目标页面中发布目标资源的方法与设备
US20110289110A1 (en) Method of re-searching webpage and apparatus and storage medium therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 9