[go: up one dir, main page]

KR102077495B1 - 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법 - Google Patents

웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법 Download PDF

Info

Publication number
KR102077495B1
KR102077495B1 KR1020130084195A KR20130084195A KR102077495B1 KR 102077495 B1 KR102077495 B1 KR 102077495B1 KR 1020130084195 A KR1020130084195 A KR 1020130084195A KR 20130084195 A KR20130084195 A KR 20130084195A KR 102077495 B1 KR102077495 B1 KR 102077495B1
Authority
KR
South Korea
Prior art keywords
web
web content
content
additionally transmitted
contents
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.)
Expired - Fee Related
Application number
KR1020130084195A
Other languages
English (en)
Other versions
KR20150009811A (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 KR1020130084195A priority Critical patent/KR102077495B1/ko
Priority to US14/332,511 priority patent/US9467528B2/en
Publication of KR20150009811A publication Critical patent/KR20150009811A/ko
Application granted granted Critical
Publication of KR102077495B1 publication Critical patent/KR102077495B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법이 개시된다. 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법은 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 ― 상기 복수의 웹 컨텐츠들은 복수의 정적 웹 컨텐츠들 및 복수의 동적 웹 컨텐츠들을 포함함 ― 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계; 상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계; 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩(Pre-loading)을 수행할 웹 컨텐츠를 결정하는 단계; 및 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬(Document Cache)에 저장하는 단계를 포함할 수 있다.

Description

웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법{METHOD FOR ACCELERATING THE WEB SERVER BY PREDICTING HTTP REQUESTS AND THE WEB SERVER ENABLING THE METHOD}
아래의 실시예들은 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법에 관한 것이다.
최근 웹(World Wide Web) 기술이 빠르게 발전하면서, 사람과 기계뿐만 아니라, 기계와 기계 그리고 디바이스와 디바이스까지 웹을 통하여 연결을 시도하고 있다. 또한, 웹은 기존의 컴퓨터 네트워크 상의 많은 통신 프로토콜을 웹 프로토콜로 대체해나가고 있어서, 웹의 보급력과 파급력은 앞으로 더욱 커질 것으로 예상된다. 이러한 추세와 함께, 웹은 표준 제정(예를 들어, HTML5 제정, 차세대 HTTP 프로토콜 제안)을 통하여 기능과 성능을 확장해 나가고 있다.
그리고, 웹의 인기 및 확산으로 웹 컨텐츠가 빠르게 증가하면서, 웹 서버의 성능은 과거 어느 때보다 중요해지고 있다. 최근에는 많은 수의 웹 서버들이 구축되어서 서비스를 제공하고 있으며, 또한 웹 서버들이 제공하는 웹 컨텐츠 역시 과거와 달리 그 전송량이 비약적으로 증가하고 있다. 이러한 추세를 볼 때, 향후 웹 서버의 성능은 더욱 중요해질 것으로 예상된다.
본 발명의 실시예들은 웹 서비스 요청시 발생 가능한 웹 요구 사항의 예측을 이용하여 웹 서버의 서비스 응답 시간을 단축시킬 수 있는 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법을 제공할 수 있다.
본 발명의 일실시예에 따른 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법은 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 ― 상기 복수의 웹 컨텐츠들은 복수의 정적 웹 컨텐츠들 및 복수의 동적 웹 컨텐츠들을 포함함 ― 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계; 상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계; 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩(Pre-loading)을 수행할 웹 컨텐츠를 결정하는 단계; 및 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬(Document Cache)에 저장하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법은 상기 복수의 웹 컨텐츠들을 등록하는 단계를 더 포함할 수 있다.
등록하기 위한 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우, 상기 복수의 웹 컨텐츠들을 등록하는 단계는 상기 등록하기 위한 정적 웹 컨텐츠의 내용을 분석하는 단계; 상기 분석한 정적 웹 컨텐츠의 내용을 기초로 상기 복수의 웹 컨텐츠들 중 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별에 필요한 정보를 추출하는 단계; 및 상기 추출한 정보를 룩업(Lookup) 테이블에 저장하는 단계를 포함할 수 있다.
상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우, 상기 복수의 웹 컨텐츠들 중 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계는 상기 룩업 테이블을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 단계를 포함할 수 있다.
상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 동적 웹 컨텐츠인 경우, 상기 복수의 웹 컨텐츠들 중 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계는 상기 웹 서비스 요청자에게 전송하는 적어도 하나의 동적 웹 컨텐츠의 내용을 분석하는 단계; 및 상기 분석한 적어도 하나의 동적 웹 컨텐츠의 내용을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 단계를 포함할 수 있다.
상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정하는 단계는 상기 문서 캐쉬의 메모리 점유율 및 웹 서비스 요청 빈도(frequency) 중 적어도 하나를 기초로 상기 프리로딩을 수행할 웹 컨텐츠를 결정할 수 있다.
상기 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장하는 단계는 상기 문서 캐쉬에서 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 검색하는 단계; 상기 검색 결과, 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠 중 적어도 하나의 웹 컨텐츠가 상기 문서 캐쉬에 존재하지 않는 경우, 상기 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 보조 기억 장치로부터 로딩하는 단계; 상기 로딩된 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 단계를 포함할 수 있다.
상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장하는 단계는 상기 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계와 비동기적으로 수행할 수 있다.
상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계는 상기 적어도 하나의 동적 웹 컨텐츠의 상기 웹 서비스 요청자로의 전송에 따른 작업 지연 시간 동안 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다.
본 발명의 일실시예에 따른 웹 서버는 보조 기억 장치; 문서 캐쉬를 포함하는 메모리; 웹 서비스 요청자와 통신을 수행하는 네트워크 인터페이스; 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 ― 상기 복수의 웹 컨텐츠들은 정적 웹 컨텐츠 및 동적 웹 컨텐츠를 포함함 ― 중 적어도 하나의 웹 컨텐츠를 상기 웹 서비스 요청자에게 전송하는 웹 컨텐츠 전송부; 상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 웹 컨텐츠 선별부; 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정하는 프리로딩 웹 컨텐츠 결정부; 및 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 문서 캐쉬 저장부를 포함할 수 있다.
본 발명의 일실시예에 따른 웹 서버는 상기 복수의 웹 컨텐츠들을 등록하는 웹 컨텐츠 등록부를 더 포함할 수 있다.
등록하기 위한 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우, 상기 웹 컨텐츠 등록부는 상기 등록하기 위한 정적 웹 컨텐츠의 내용을 분석하는 정적 웹 컨텐츠 분석부; 상기 분석한 정적 웹 컨텐츠의 내용을 기초로 상기 복수의 웹 컨텐츠들 중 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별에 필요한 정보를 추출하는 선별 정보 추출부; 및 상기 추출한 정보를 룩업(Lookup) 테이블에 저장하는 룩업 테이블 저장부를 포함할 수 있다.
상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우, 상기 웹 컨텐츠 선별부는 상기 룩업 테이블을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 정적 웹 컨텐츠 추출부를 포함할 수 있다.
상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 동적 웹 컨텐츠인 경우, 상기 웹 컨텐츠 선별부는 상기 웹 서비스 요청자에게 전송하는 적어도 하나의 동적 웹 컨텐츠의 내용을 분석하는 동적 웹 컨텐츠 분석부; 및 상기 분석한 동적 웹 컨텐츠의 내용을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 동적 웹 컨텐츠 추출부를 포함할 수 있다.
상기 프리로딩 웹 컨텐츠 결정부는 상기 문서 캐쉬의 메모리 점유율 및 웹 서비스 요청 빈도(frequency) 중 적어도 하나를 기초로 상기 프리로딩을 수행할 웹 컨텐츠를 결정할 수 있다.
상기 문서 캐쉬 저장부는 상기 문서 캐쉬에서 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 검색하는 웹 컨텐츠 검색부; 상기 검색 결과, 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠 중 적어도 하나의 웹 컨텐츠가 상기 문서 캐쉬에 존재하지 않는 경우, 상기 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 보조 기억 장치로부터 로딩하는 웹 컨텐츠 로딩부; 상기 로딩된 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 저장부를 포함할 수 있다.
상기 문서 캐쉬 저장부는 상기 웹 컨텐츠 전송부와 비동기적으로 수행할 수 있다.
상기 웹 컨텐츠를 선별부는 상기 적어도 하나의 동적 웹 컨텐츠의 상기 웹 서비스 요청자로의 전송에 따른 작업 지연 시간 동안 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다.
본 발명의 실시예들은 웹 서비스 요청시 발생 가능한 웹 요구 사항의 예측을 이용하여 웹 서버의 서비스 응답 시간을 단축시킬 수 있는 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법을 제공할 수 있다.
도 1은 일 실시예에 따른 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법을 나타낸 동작 흐름도이다.
도 2는 일 실시예에 따른 정적 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 경우의 실시예를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 동적 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 경우의 실시예를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 웹 서버를 나타낸 블록도이다.
이하, 실시예들은 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법을 나타낸 동작 흐름도이다.
도 1을 참조하면, 일 실시예에 따른 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법(이하, 웹 서버의 성능 향상 방법)은 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송할 수 있다(110). 여기서, 복수의 웹 컨텐츠들은 정적 웹 컨텐츠 및 동적 웹 컨텐츠를 포함할 수 있다. 그리고, 웹 컨텐츠는 온라인상에서 가공 및 배포되는 컨텐츠를 의미하는 것으로써, 예를 들면, HTML 문서는 이러한 웹 컨텐츠를 포함할 수 있다. 구체적으로, 웹 서비스 요청자는 웹 서버에 웹 컨텐츠를 요청할 수 있다. 여기서, 웹 서비스 요청자는 클라이언트일 수도 있고, 다른 웹 서버일 수도 있다. 그리고, 웹 요청에 응답하여 웹 서버는 웹 서비스 요청자가 요청하는 웹 컨텐츠를 전송할 수 있다. 이 때, 웹 서버는 문서 캐쉬를 포함하는 메모리 및 하드 디스크와 같은 보조 기억 장치를 포함할 수 있고, 복수의 웹 컨텐츠를 문서 캐쉬 또는 보조 기억 장치에 저장할 수 있다. 그리고, 웹 서버는 보조 기억 장치 또는 문서 캐쉬에 저장된 복수의 웹 컨텐츠들 중 웹 서비스 요청자가 요청하는 웹 컨텐츠를 검색하고, 이를 웹 서비스 요청자에게 전송할 수 있다.
또한, 복수의 웹 컨텐츠들 중 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다(120). 여기서, 추가적으로 전송해야 하는 웹 컨텐츠는 웹 서비스 요청자가 요청하는 웹 페이지의 전송 이후에 웹 서비스 요청자에게 반드시 추가적으로 전송해야만 하는 웹 컨텐츠를 의미할 수 있다. 그리고, 추가적으로 전송할 가능성이 있는 웹 컨텐츠는 웹 서비스 요청자가 추가적으로 요청할 가능성이 있는 웹 컨텐츠를 의미할 수 있다.
그리고, 웹 서비스 요청자에게 전송하는 웹 컨텐츠의 종류에 따라, 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 시기가 달라질 수 있다. 구체적으로, 웹 서버는 복수의 웹 컨텐츠를 등록할 수 있다. 이 때, 등록하기 위한 웹 컨텐츠가 정적 웹 컨텐츠인 경우, 웹 서버의 성능 향상 방법은 정적 웹 컨텐츠를 등록할 때 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다. 이 때, 동적 웹 컨텐츠의 경우, 웹 서비스 요청시 생성되어 웹 서비스 요청자에게 전송되는 동적 웹 컨텐츠의 특성상 동적 웹 컨텐츠의 등록시에 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별을 수행하기 어려울 수 있다. 보다 구체적으로, 웹 서버의 성능 향상 방법은 정적 웹 컨텐츠를 등록할 때, 등록하기 위한 정적 웹 컨텐츠의 내용을 분석할 수 있다. 그리고, 분석한 정적 웹 컨텐츠의 내용을 기초로 복수의 웹 컨텐츠들 중 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별에 필요한 정보를 추출할 수 있다. 그리고, 웹 컨텐츠에 선별에 필요한 정보를 룩업(Lookup) 테이블에 저장할 수 있다. 이에 따라, 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우, 웹 서버의 성능 향상 방법은 정적 웹 컨텐츠들의 등록시에 저장된 룩업 테이블을 기초로 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출할 수 있다.
그리고, 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 동적 웹 컨텐츠인 경우, 웹 서버의 성능 향상 방법은 웹 서비스 요청자에게 적어도 하나의 동적 웹 컨텐츠의 전송시에 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다. 일반적으로, 네트워크를 통하여 웹 서비스 요청자 및 웹 서버간의 자료를 송수신 할 경우, 네트워크 전송으로 인한 작업 지연 시간이 발생할 수 있다. 이러한 작업 지연 시간 동안 웹 서버의 성능 향상 방법은 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다. 예를 들어, 웹 서버의 성능 향상 방법은 병렬 프로세서를 이용하여 작업 지연 시간 동안 효율적으로 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다. 구체적으로, 웹 서버의 성능 향상 방법은 웹 서비스 요청자에게 전송하는 적어도 하나의 동적 웹 컨텐츠의 내용을 분석할 수 있다. 그리고, 분석한 적어도 하나의 동적 웹 컨텐츠의 내용을 기초로 선별에 필요한 정보를 생성할 수 있다. 이에 따라, 생성한 정보를 이용하여 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출할 수 있다.
또한, 웹 서버의 성능 향상 방법은 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩(Pre-loading)을 수행할 웹 컨텐츠를 결정할 수 있다(130). 여기서, 프리로딩을 수행할 웹 컨텐츠는 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 우선 순위가 높아 미리 보조 기억 장치로부터 문서 캐쉬에 저장할 웹 컨텐츠를 의미할 수 있다. 구체적으로, 웹 서버의 성능 향상 방법은 문서 캐쉬의 메모리 점유율 및 웹 서비스 요청 빈도(frequency) 중 적어도 하나를 기초로 프리로딩을 수행할 웹 컨텐츠를 결정할 수 있다. 여기서, 문서 캐쉬의 메모리 점유율은 웹 서버의 메모리 중 문서 캐쉬가 차지하는 점유율을 의미할 수 있고, 웹 서비스 요청 빈도는 현재 웹 서버에 들어오는 웹 서비스 요청자들의 요청 빈도를 의미할 수 있다. 예를 들어, 문서 캐쉬의 메모리 점유율이 높은 경우에는, 비교적 우선 순위가 낮은 웹 컨텐츠에 대해서도 프리로딩 웹 컨텐츠로 결정할 수 있다. 그러나, 문서 캐쉬의 메모리 점유율이 낮은 경우에는, 우선 순위가 높은 웹 컨텐츠만을 프리로딩 웹 컨텐츠로 결정할 수 있고, 혹은 어떠한 추가적으로 전송할 가능성이 있는 웹 컨텐츠도 프리로딩 웹 컨텐츠로 결정하지 않을 수도 있다. 또 다른 예로서, 웹 서비스 요청 빈도가 높을수록 현재 웹 서버의 작업률은 높을 수 있다. 이에 따라, 문서 캐쉬에 많은 웹 컨텐츠들이 저장될 수 있으므로, 웹 서버의 성능 향상 방법은 우선 순위가 높은 웹 컨텐츠를 프리로딩 웹 컨텐츠로 결정할 수 있다. 반면에, 웹 서비스 요청 빈도가 낮은 경우, 문서 캐쉬에 저장된 웹 컨텐츠는 적을 수 있다. 따라서, 우선 순위가 낮은 웹 컨텐츠도 프리로딩 웹 컨텐츠로 결정될 수 있다.
또한, 웹 서버의 성능 향상 방법은 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장할 수 있다(140). 일반적으로, 웹 컨텐츠는 하드 디스크와 같은 보조 기억 장치에 저장되어 있다가 웹 서비스 요청시 네트워크를 통해 웹 서비스 요청자에게 전달될 수 있다. 그러나, 하드 디스크와 같은 보조 기억 장치를 읽고 쓰는 일은 메모리의 읽기 및 쓰기와 비교했을 때 속도가 느릴 수 있고, 이로 인해 웹 서비스시 속도 저하 문제가 발생할 수 있다. 반면에, 문서 캐쉬는 이전에 요청이 들어왔던 웹 컨텐츠 중 일부를 보조 기억 장치로부터 메모리로 옮겨 두어 보관하다가 동일한 요청이 들어왔을 때 메모리 상의 웹 컨텐츠를 전송함으로써 추가적인 보조 기억 장치로의 접근을 줄여줄 수 있다. 이에 따라, 문서 캐쉬를 이용하는 경우, 보조 기억 장치를 이용하는 경우보다 웹 서비스 속도가 향상될 수 있다. 그러나, 메모리의 제약으로 보조 기억 장치에 저장된 복수의 웹 컨텐츠들을 메모리 상에 보관하는 것은 일반적으로 불가능할 수 있다. 이에 따라, 웹 서버의 성능 향상 방법은 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장함으로써, 보다 효율적으로 문서 캐쉬를 이용할 수 있고, 이로 인해 웹 서버의 응답 속도를 향상시킬 수 있다. 구체적으로, 웹 서버의 성능 향상 방법은 웹 서비스 요청자에게 적어도 하나의 웹 컨텐츠를 전송하는 동안에, 적어도 하나의 웹 컨텐츠의 전송 작업과 비동기적으로 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장할 수 있다. 보다 구체적으로, 웹 서버의 성능 향상 방법은 문서 캐쉬에서 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 검색할 수 있다. 그리고, 검색 결과, 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠 중 적어도 하나의 웹 컨텐츠가 문서 캐쉬에 존재하지 않는 경우, 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 보조 기억 장치로부터 로딩할 수 있다. 이 경우, 웹 서버의 성능 향상 방법은 문서 캐쉬의 메모리 점유율을 고려하여 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 보조 기억 장치로부터 로딩할 수 있다. 그리고, 일 실시예는 문서 캐쉬의 메모리 제약으로 인해 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠 중 일부를 문서 캐쉬에 저장할 수 없는 경우, 추가적으로 전송해야 하는 웹 컨텐츠를 우선적으로 저장할 수 있다. 그리고, 프리로딩을 수행할 웹 컨텐츠는 우선 순위에 따라 문서 캐쉬에 저장할 수 있다.
그리고, 웹 서버의 성능 향상 방법은 로딩된 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 문서 캐쉬에 저장함으로써, 차후에 있을 웹 서비스 요청시 웹 서비스 요청자에 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 보다 빠르게 제공할 수 있다.
도 2는 일 실시예에 따른 정적 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 경우의 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 웹 서버(220)는 문서 캐쉬(221), 룩업 테이블(222) 및 보조 기억 장치(223)를 포함할 수 있다. 구체적으로, 웹 서비스 요청자(210)로부터 정적 웹 컨텐츠에 대한 웹 서비스 요청(HTTP Request)을 수신한 경우, 웹 서버(220)는 웹 서비스 요청에 대한 적어도 하나의 정적 웹 컨텐츠를 문서 캐쉬(221) 또는 보조 기억 장치(223)로부터 검색한 후, 이를 전송할 수 있다(HTTP Response). 그리고, 요청 받은 적어도 하나의 정적 웹 컨텐츠를 전송함과 동시에, 웹 서버(220)는 정적 웹 컨텐츠의 등록시 미리 계산해 놓은 룩업 테이블(222)을 이용하여 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별에 필요한 정보를 검색할 수 있다. 그리고, 웹 서버(220)는 검색한 정보를 이용하여 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다. 그리고, 문서 캐쉬(221)의 메모리 점유율 및 웹 서비스 요청 빈도 중 적어도 하나를 이용하여 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정할 수 있다. 이에 따라, 웹 서버(220)는 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠가 문서 캐쉬에 있는지 검색할 수 있다. 이 때, 문서 캐쉬에 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠가 없는 경우, 웹 서버(220)는 보조 기억 장치(223)로부터 문서 캐쉬(221)에 존재하지 않는 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 로딩할 수 있고, 이를 문서 캐쉬(221)에 저장할 수 있다.
도 3은 일 실시예에 따른 동적 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 경우의 실시예를 설명하기 위한 도면이다.
도 3을 참조하면, 웹 서버(320)는 웹 서비스 요청자(310)로부터 동적 웹 컨텐츠에 대한 웹 서비스 요청(HTTP Request)을 수신한 경우, 웹 서비스 요청에 대한 적어도 하나의 동적 웹 컨텐츠를 문서 캐쉬(321) 또는 보조 기억 장치(323)로부터 검색한 후, 이를 전송할 수 있다(HTTP Response). 그리고, 요청 받은 적어도 하나의 동적 웹 컨텐츠를 전송함과 동시에, 웹 서버(320)는 적어도 하나의 동적 웹 컨텐츠의 전송과 비동기적으로 웹 서비스 요청자에게 전송하는 적어도 하나의 동적 웹 컨텐츠의 내용을 분석할 수 있다. 그리고, 분석한 적어도 하나의 동적 웹 컨텐츠의 내용을 기초로 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출할 수 있다. 그리고, 웹 서버(320)는 문서 캐쉬(321)의 메모리 점유율 및 웹 서비스 요청 빈도 중 적어도 하나를 이용하여 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정할 수 있다. 그리고, 웹 서버(320)는 선별한 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠와 같은 관련 웹 컨텐츠(322)가 문서 캐쉬에 있는지 검색할 수 있다. 이 때, 문서 캐쉬에 관련 웹 컨텐츠(322)가 없는 경우, 웹 서버(320)는 보조 기억 장치(323)으로부터 문서 캐쉬에 존재하지 않는 웹 컨텐츠(322)를 로딩할 수 있고, 이를 문서 캐쉬(321)에 저장할 수 있다. 이와 같이, 문서 캐쉬(321)에 저장된 웹 컨텐츠는 향후에 웹 서비스 요청자(310)로부터 문서 캐쉬(321)에 저장된 웹 컨텐츠에 대한 웹 서비스 요청을 수신했을 때, 보조 기억 장치(323)에의 접근 없이 바로 웹 서비스 요청자(310)에게 요청 받은 웹 컨텐츠를 제공할 수 있다.
도 4는 일 실시예에 따른 웹 서버를 나타낸 블록도이다.
도 4를 참조하면, 일 실시예에 따른 웹 서버는 보조 기억 장치(420), 문서 캐쉬(411)를 포함하는 메모리(410), 웹 서비스 요청자와 통신을 수행하는 네트워크 인터페이스(430)를 포함할 수 있다.
또한, 웹 컨텐츠 전송부(440)는 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송할 수 있다.
또한, 웹 컨텐츠 선별부(450)는 복수의 웹 컨텐츠들 중 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별할 수 있다.
또한, 프리로딩 웹 컨텐츠 결정부(460)는 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정할 수 있다.
또한, 문서 캐쉬 저장부(470)는 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장할 수 있다.
도 4에 도시된 일 실시예에 따른 웹 서버에는 도 1 내지 도 3를 통해 설명된 내용이 그대로 적용될 수 있으므로, 보다 상세한 내용은 생략한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (16)

  1. 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 ― 상기 복수의 웹 컨텐츠들은 복수의 정적 웹 컨텐츠들 및 복수의 동적 웹 컨텐츠들을 포함함 ― 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계;
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계;
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩(Pre-loading)을 수행할 웹 컨텐츠를 결정하는 단계; 및
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬(Document Cache)에 저장하는 단계
    를 포함하고,
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정하는 단계는
    상기 문서 캐쉬의 메모리 점유율 및 웹 서비스 요청 빈도(frequency) 중 적어도 하나를 기초로 상기 프리로딩을 수행할 웹 컨텐츠를 결정하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.
  2. 제1항에 있어서,
    상기 복수의 웹 컨텐츠들을 등록하는 단계
    를 더 포함하고,
    등록하기 위한 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우,
    상기 복수의 웹 컨텐츠들을 등록하는 단계는
    상기 등록하기 위한 정적 웹 컨텐츠의 내용을 분석하는 단계;
    상기 분석한 정적 웹 컨텐츠의 내용을 기초로 상기 복수의 웹 컨텐츠들 중 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별에 필요한 정보를 추출하는 단계; 및
    상기 추출한 정보를 룩업(Lookup) 테이블에 저장하는 단계
    를 포함하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.
  3. 제2항에 있어서,
    상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우,
    상기 복수의 웹 컨텐츠들 중 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계는
    상기 룩업 테이블을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 단계
    를 포함하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.
  4. 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 -상기 복수의 웹 컨텐츠들은 복수의 정적 웹 컨텐츠들 및 복수의 동적 웹 컨텐츠들을 포함함- 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계;
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계;
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩(Pre-loading)을 수행할 웹 컨텐츠를 결정하는 단계; 및
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬(Document Cache)에 저장하는 단계
    를 포함하고,
    상기 복수의 웹 컨텐츠들 중 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계는
    상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 동적 웹 컨텐츠인 경우,상기 웹 서비스 요청자에게 전송하는 적어도 하나의 동적 웹 컨텐츠의 내용을 분석하는 단계; 및
    상기 분석한 적어도 하나의 동적 웹 컨텐츠의 내용을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 단계
    를 포함하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.

  5. 삭제
  6. 웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 -상기 복수의 웹 컨텐츠들은 복수의 정적 웹 컨텐츠들 및 복수의 동적 웹 컨텐츠들을 포함함- 중 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계;
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계;
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩(Pre-loading)을 수행할 웹 컨텐츠를 결정하는 단계; 및
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬(Document Cache)에 저장하는 단계
    를 포함하고,
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장하는 단계는
    상기 문서 캐쉬에서 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 검색하는 단계;
    상기 검색 결과, 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠 중 적어도 하나의 웹 컨텐츠가 상기 문서 캐쉬에 존재하지 않는 경우, 상기 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 보조 기억 장치로부터 로딩하는 단계; 및
    상기 로딩된 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 단계
    를 포함하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.
  7. 제1항에 있어서,
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 문서 캐쉬에 저장하는 단계는
    상기 적어도 하나의 웹 컨텐츠를 웹 서비스 요청자에게 전송하는 단계와 비동기적으로 수행하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.
  8. 제4항에 있어서,
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 단계는
    상기 적어도 하나의 동적 웹 컨텐츠의 상기 웹 서비스 요청자로의 전송에 따른 작업 지연 시간 동안 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법.
  9. 보조 기억 장치;
    문서 캐쉬를 포함하는 메모리;
    웹 서비스 요청자와 통신을 수행하는 네트워크 인터페이스;
    웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 ― 상기 복수의 웹 컨텐츠들은 정적 웹 컨텐츠 및 동적 웹 컨텐츠를 포함함 ― 중 적어도 하나의 웹 컨텐츠를 상기 웹 서비스 요청자에게 전송하는 웹 컨텐츠 전송부;
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 웹 컨텐츠 선별부;
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정하는 프리로딩 웹 컨텐츠 결정부; 및
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 문서 캐쉬 저장부
    를 포함하고,
    상기 프리로딩 웹 컨텐츠 결정부는
    상기 문서 캐쉬의 메모리 점유율 및 웹 서비스 요청 빈도(frequency) 중 적어도 하나를 기초로 상기 프리로딩을 수행할 웹 컨텐츠를 결정하는 웹 서버.
  10. 제9항에 있어서,
    상기 복수의 웹 컨텐츠들을 등록하는 웹 컨텐츠 등록부
    를 더 포함하고,
    등록하기 위한 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우,
    상기 웹 컨텐츠 등록부는
    상기 등록하기 위한 정적 웹 컨텐츠의 내용을 분석하는 정적 웹 컨텐츠 분석부;
    상기 분석한 정적 웹 컨텐츠의 내용을 기초로 상기 복수의 웹 컨텐츠들 중 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠의 선별에 필요한 정보를 추출하는 선별 정보 추출부; 및
    상기 추출한 정보를 룩업(Lookup) 테이블에 저장하는 룩업 테이블 저장부
    를 포함하는 웹 서버.
  11. 제10항에 있어서,
    상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 정적 웹 컨텐츠인 경우,
    상기 웹 컨텐츠 선별부는
    상기 룩업 테이블을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 정적 웹 컨텐츠 추출부
    를 포함하는 웹 서버.
  12. 보조 기억 장치;
    문서 캐쉬를 포함하는 메모리;
    웹 서비스 요청자와 통신을 수행하는 네트워크 인터페이스;
    웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 -상기 복수의 웹 컨텐츠들은 정적 웹 컨텐츠 및 동적 웹 컨텐츠를 포함함- 중 적어도 하나의 웹 컨텐츠를 상기 웹 서비스 요청자에게 전송하는 웹 컨텐츠 전송부;
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 웹 컨텐츠 선별부;
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정하는 프리로딩 웹 컨텐츠 결정부; 및
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 문서 캐쉬 저장부
    를 포함하고,
    상기 웹 컨텐츠 선별부는
    상기 웹 서비스 요청자에게 전송하는 적어도 하나의 웹 컨텐츠가 상기 동적 웹 컨텐츠인 경우,상기 웹 서비스 요청자에게 전송하는 적어도 하나의 동적 웹 컨텐츠의 내용을 분석하는 동적 웹 컨텐츠 분석부; 및
    상기 분석한 동적 웹 컨텐츠의 내용을 기초로 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 추출하는 동적 웹 컨텐츠 추출부
    를 포함하는 웹 서버.
  13. 삭제
  14. 보조 기억 장치;
    문서 캐쉬를 포함하는 메모리;
    웹 서비스 요청자와 통신을 수행하는 네트워크 인터페이스;
    웹 서비스 요청에 응답하여 등록된 복수의 웹 컨텐츠들 -상기 복수의 웹 컨텐츠들은 정적 웹 컨텐츠 및 동적 웹 컨텐츠를 포함함- 중 적어도 하나의 웹 컨텐츠를 상기 웹 서비스 요청자에게 전송하는 웹 컨텐츠 전송부;
    상기 복수의 웹 컨텐츠들 중 상기 웹 서비스 요청자에게 추가적으로 전송해야 하는 웹 컨텐츠 및 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 웹 컨텐츠 선별부;
    상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠 중 프리로딩을 수행할 웹 컨텐츠를 결정하는 프리로딩 웹 컨텐츠 결정부; 및
    상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 문서 캐쉬 저장부
    를 포함하고,
    상기 문서 캐쉬 저장부는
    상기 문서 캐쉬에서 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠를 검색하는 웹 컨텐츠 검색부;
    상기 검색 결과, 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 프리로딩을 수행할 웹 컨텐츠 중 적어도 하나의 웹 컨텐츠가 상기 문서 캐쉬에 존재하지 않는 경우, 상기 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 보조 기억 장치로부터 로딩하는 웹 컨텐츠 로딩부;
    상기 로딩된 문서 캐쉬에 존재하지 않는 적어도 하나의 웹 컨텐츠를 상기 문서 캐쉬에 저장하는 저장부
    를 포함하는 웹 서버.
  15. 제9항에 있어서,
    상기 문서 캐쉬 저장부는
    상기 웹 컨텐츠 전송부와 비동기적으로 수행하는 웹 서버.
  16. 제12항에 있어서,
    상기 웹 컨텐츠 선별부는
    상기 적어도 하나의 동적 웹 컨텐츠의 상기 웹 서비스 요청자로의 전송에 따른 작업 지연 시간 동안 상기 추가적으로 전송해야 하는 웹 컨텐츠 및 상기 추가적으로 전송할 가능성이 있는 웹 컨텐츠를 선별하는 웹 서버.
KR1020130084195A 2013-07-17 2013-07-17 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법 Expired - Fee Related KR102077495B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130084195A KR102077495B1 (ko) 2013-07-17 2013-07-17 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법
US14/332,511 US9467528B2 (en) 2013-07-17 2014-07-16 Method for accelerating web server by predicting hypertext transfer protocol (HTTP) requests and web server enabling the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130084195A KR102077495B1 (ko) 2013-07-17 2013-07-17 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법

Publications (2)

Publication Number Publication Date
KR20150009811A KR20150009811A (ko) 2015-01-27
KR102077495B1 true KR102077495B1 (ko) 2020-02-14

Family

ID=52344504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130084195A Expired - Fee Related KR102077495B1 (ko) 2013-07-17 2013-07-17 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법

Country Status (2)

Country Link
US (1) US9467528B2 (ko)
KR (1) KR102077495B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170055908A (ko) 2015-11-12 2017-05-22 최해용 모자형 가상현실 디스플레이 영상시스템
US10116713B2 (en) 2016-03-31 2018-10-30 Jamdeo Canada, Ltd. System and methods for content streaming with a content buffer
KR20190007289A (ko) 2017-07-12 2019-01-22 주식회사 퓨처테크날러지 인공위성 자동탐사를 위한 vr 콘텐츠 제어 시스템
KR102278814B1 (ko) 2019-11-21 2021-07-19 고려대학교 산학협력단 웹 응용에 대한 사용자 상호작용 예측 방법 및 서버
US20220067754A1 (en) * 2020-08-27 2022-03-03 Coupang Corporation Computerized systems and methods for predicting a minimum detectable effect

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246257A1 (en) * 2011-03-22 2012-09-27 Research In Motion Limited Pre-Caching Web Content For A Mobile Device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047485B1 (en) 1999-11-10 2006-05-16 International Business Machines Corporation Intelligent pre-caching on a network
KR20020011016A (ko) 2000-07-31 2002-02-07 윤종용 웹 검색 속도 향상을 위한 프리캐싱 알고리즘
US20060294223A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Pre-fetching and DNS resolution of hyperlinked content
KR100663498B1 (ko) 2005-10-11 2007-01-02 삼성전자주식회사 단말기의 사용자 식별 모듈을 이용한 웹 서비스 응답 향상방법 및 장치, 그리고 그 시스템
WO2008005629A2 (en) * 2006-05-26 2008-01-10 Riverbed Technology, Inc. Throttling of predictive acks in an accelerated network communication system
US20080201332A1 (en) * 2007-02-20 2008-08-21 Souders Steven K System and method for preloading content on the basis of user context
US7783757B2 (en) * 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US7809818B2 (en) * 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US7720936B2 (en) * 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8725849B1 (en) * 2011-04-11 2014-05-13 Google Inc. Browser cache pre-population
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching
US9009103B2 (en) * 2013-03-15 2015-04-14 Microsoft Technology Licensing, Llc Fingerprint-based, intelligent, content pre-fetching
US20140379840A1 (en) * 2013-06-24 2014-12-25 Akamai Technologies, Inc. Predictive prefetching of web content
US9591095B2 (en) * 2014-03-10 2017-03-07 Microsoft Technology Licensing, Llc Prefetching application data for periods of disconnectivity

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246257A1 (en) * 2011-03-22 2012-09-27 Research In Motion Limited Pre-Caching Web Content For A Mobile Device

Also Published As

Publication number Publication date
US20150026288A1 (en) 2015-01-22
KR20150009811A (ko) 2015-01-27
US9467528B2 (en) 2016-10-11

Similar Documents

Publication Publication Date Title
US8285808B1 (en) Loading of web resources
US9294582B2 (en) Application-driven CDN pre-caching
TWI541663B (zh) 起始字型子集
KR102077495B1 (ko) 웹 서버 및 웹 요구사항 예측을 이용한 웹 서버의 성능 향상 방법
US8744988B1 (en) Predicting user navigation events in an internet browser
RU2689439C2 (ru) Улучшение производительности веб-доступа
US9104582B1 (en) Optimized data storage
CN104754073A (zh) 一种资源访问方法及装置
US9436776B2 (en) Web browsing system and method for rendering dynamic resource URIs using script
CN103139278A (zh) 一种网络资源预取并缓存加速的方法及其装置
US10771358B2 (en) Data acquisition device, data acquisition method and storage medium
US20150120692A1 (en) Method, device, and system for acquiring user behavior
US20160105374A1 (en) Predictive prioritized server push of resources
CN104572777A (zh) 基于UIWebView组件的网页加载方法及装置
CN106911735B (zh) 数据获取方法及装置
KR20210154785A (ko) 클라우드 스트리밍 서비스 시스템, 공통 캐시를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US8914542B1 (en) Content caching
US8914436B2 (en) Data processing device and data retriever
CN111259283A (zh) 一种页面资源预加载的处理方法及装置,电子和存储设备
KR20160002789A (ko) 읽기 속도에 기반한 정보 전송
US9454328B2 (en) Controlling hierarchical storage
CN106911733B (zh) 云代理的网址访问方法及装置
CN113438302A (zh) 动态资源多级缓存方法、系统、计算机设备及存储介质
CN112003885A (zh) 内容传输设备及内容传输方法
KR101540847B1 (ko) 스토리지의 부하에 기초한 웹 브라우저 정보 캐싱 장치 및 방법

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130717

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20180410

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20130717

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190530

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20191210

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200210

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200211

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20231121