KR101366031B1 - 캐시 서버 관리 방법 및 그 장치 - Google Patents

캐시 서버 관리 방법 및 그 장치 Download PDF

Info

Publication number
KR101366031B1
KR101366031B1 KR1020120050413A KR20120050413A KR101366031B1 KR 101366031 B1 KR101366031 B1 KR 101366031B1 KR 1020120050413 A KR1020120050413 A KR 1020120050413A KR 20120050413 A KR20120050413 A KR 20120050413A KR 101366031 B1 KR101366031 B1 KR 101366031B1
Authority
KR
South Korea
Prior art keywords
cache server
server
data
service
terminal
Prior art date
Application number
KR1020120050413A
Other languages
English (en)
Other versions
KR20130126351A (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 KR1020120050413A priority Critical patent/KR101366031B1/ko
Publication of KR20130126351A publication Critical patent/KR20130126351A/ko
Application granted granted Critical
Publication of KR101366031B1 publication Critical patent/KR101366031B1/ko

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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, 적어도 하나의 캐시 서버가 네트워크로 연결되는 클러스터링 환경에서의 상기 캐시 서버 관리 방법으로서, 원본 서버에서 제공된 서비스에 대응하는 가상 호스트에 대한 통계 정보를 생성하는 단계, 및 임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리하는 단계를 포함하는 것을 특징으로 하되, 상기 통계 정보는, 상기 적어도 하나의 캐시 서버에 존재하는 각각의 가상 호스트 중, 상기 서비스에 대응하는 가상 호스트들을 통합적으로 관리하기 위하여 작성되는 것을 특징으로 하는 캐시 서버 관리 방법에 관한 것이다.

Description

캐시 서버 관리 방법 및 그 장치{METHOD FOR MANAGING CACHE SERVER AND APPARATUS THEREOF}
본 발명은 캐시 서버 관리 방법 및 그 장치에 관한 것이다.
최근 다양해진 웹 콘텐츠와 대형화되고 복잡해지는 웹 서비스는 안정적인 서비스 제공을 위한 네트워크 대역폭과 성능 개선을 대한 문제를 야기하고 있다.
이에 따라, 서버는 초당 수백 내지 수천 개의 클라이언트 단말의 요구 사항을 처리하게 되었고, 서버의 과다한 작업량을 분산시키기 위해 캐시 서버(Cache Server)를 이용하는 방법이 사용되고 있다.
캐시 서버는 클라이언트 단말에 의해 요청된 콘텐츠를 캐시(Cache)에 저장하고 동일한 콘텐츠가 재요청될 경우, 캐시에 저장되어 있는 콘텐츠를 클라이언트에게 제공하여 빠른 응답 시간을 보장하면서 응용 서버의 부하를 줄여 전체 성능을 향상시키도록 한다.
또한, 클라이언트 단말 수의 급격한 증가로 인해 단일 서버로는 서버의 성능을 충분히 수용할 수 없는 한계에 도달하게 되었으며, 높은 성능을 수용하기 위해서 클러스터링 환경을 구축하기에 이르렀다.
그러나 캐시 서버는 다양한 종류의 서비스를 수많은 단말로 제공하기 위한 변환 작업 등에 따른 전송 지연 문제와 클러스터링 환경에서 복수의 서버에 대한 관리 및 통제가 어려운 문제를 안고 있다.
본 발명은, 프로토콜 간 변환이 가능한 소프트웨어를 탑재함으로써, 원본 서버로부터 수신된 콘텐츠의 원본 프로토콜을 단말에 대응하는 프로토콜로 변환하고, 이를 보관 및 단말로 전송하는 캐시 서버 관리 방법 및 그 장치를 제공한다.
또한, 본 발명은, 클러스터링 환경에서 적어도 하나의 캐시 서버에 분산되어 있는 다양한 형태의 서비스를 통합하여 실시간으로 감시하고 관리하도록 하는 캐시 서버 관리 방법 및 그 장치를 제공한다.
본 발명은, 캐시 서버의 캐싱 방법으로서, 단말로부터 서비스 요청을 수신하는 단계, 원본 서버로부터 수신된 상기 요청된 서비스에 대응하는 데이터가 상기 단말의 프로토콜 특성에 맞는지 판단하는 단계, 상기 판단 결과를 기초로, 상기 단말의 프로토콜 특성에 맞추어 상기 요청된 서비스에 대응하는 데이터의 프로토콜을 변환하는 단계, 및 상기 변환된 데이터를 상기 단말로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 데이터는, HTTP, NFS, ISCSI, Hadoop 중 어느 하나의 프로토콜 형태를 갖는 것을 특징으로 한다.
또한, 상기 단말의 프로토콜은, HTTP, RTMP, HLS, RTSP 중 어느 하나인 것을 특징으로 한다.
또한, 상기 단말로부터 상기 서비스의 재요청이 있는 경우 상기 단말로 상기 변환된 데이터를 바로 전송하기 위하여, 상기 변환된 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 데이터는, 상기 서비스에 대응하여 생성되는 상기 캐시 서버의 서브 호스트에 저장되는 것을 특징으로 한다.
또한, 상기 캐시 서버는, 적어도 하나의 다른 캐시 서버와 네트워크로 연결되는 클러스터링 환경에서 동작하는 것을 특징으로 한다.
또한, 상기 캐시 서버와 네트워크로 연결되는 관리 서버로 상기 서브 호스트의 관리를 위한 정보를 전송하는 단계를 더 포함하되, 상기 관리 서버는, 상기 클러스터링 환경에서 동작하는 상기 캐시 서버 및 상기 적어도 하나의 다른 캐시 서버에 존재하는 각각의 서브 호스트들 중, 상기 서비스에 대응하는 서브 호스트들을 통합 관리하는 것을 특징으로 한다.
또한, 상기 관리를 위한 정보는, 상기 서브 호스트의 메모리 사용량, 파일 인풋/아웃풋과 크기별 분포도, 세션, 트래픽 정보, 트래픽/응답 코드 분포 정보 중 하나 이상을 포함하는 것을 특징으로 한다.
또한, 본 발명은, 외부와 데이터 통신을 수행하는 통신부, 단말로부터 서비스 요청을 수신하고, 상기 서비스에 대응하는 데이터를 수신하도록 상기 통신부를 제어하는 제어부를 포함하되, 상기 제어부는, 상기 원본 서버로부터 수신된 상기 요청된 서비스에 대응하는 데이터가 상기 단말의 프로토콜 특성에 맞는지 판단하고, 상기 판단 결과를 기초로, 상기 단말의 프로토콜 특성에 맞추어 상기 요청된 서비스에 대응하는 데이터의 프로토콜을 변환하고, 상기 통신부를 제어하여 상기 변환된 데이터를 상기 단말로 전송하는 것을 특징으로 한다.
또한, 본 발명은, 적어도 하나의 캐시 서버가 네트워크로 연결되는 클러스터링 환경에서의 상기 캐시 서버 관리 방법으로서, 원본 서버에서 제공된 서비스에 대응하는 가상 호스트에 대한 통계 정보를 생성하는 단계, 및 임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리하는 단계를 포함하는 것을 특징으로 하되, 상기 통계 정보는, 상기 적어도 하나의 캐시 서버에 존재하는 각각의 가상 호스트 중, 상기 서비스에 대응하는 가상 호스트들을 통합적으로 관리하기 위하여 작성되는 것을 특징으로 한다.
또한, 상기 통계 정보는, 상기 서브 호스트의 메모리 사용량, 파일 인풋/아웃풋과 크기별 분포도, 세션, 트래픽 세분화 통계, 원본 트래픽/응답 코드 분포 정보, 클라이언트 트래픽/응답 코드 분포 정보 중 하나 이상을 포함하는 것을 특징으로 한다.
또한, 상기 통계 정보를 기초로 정보 로그, 접속 로그, 모니터링 로그 중 하나 이상을 작성하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 통계 정보를 기초로 상기 가상 호스트에 대응하는 상기 서비스별 과금 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 한다.
적어도 하나의 캐시 서버가 네트워크로 연결되는 클러스터링 환경에서의 캐시 서버 관리 장치로서,
또한, 본 발명은, 적어도 하나의 캐시 서버가 네트워크로 연결되는 클러스터링 환경에서의 캐시 서버 관리 장치로서, 외부와 데이터 통신을 수행하는 통신부, 상기 통신부를 통하여 원본 서버에서 제공된 서비스에 대응하는 가상 호스트에 대한 통계 정보를 생성하고, 임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리하는 제어부를 포함하되, 상기 통계 정보는, 상기 적어도 하나의 캐시 서버에 존재하는 각각의 가상 호스트 중, 상기 서비스에 대응하는 가상 호스트들을 통합적으로 관리하기 위하여 작성되는 것을 특징으로 한다.
본 발명에 따르면, 다양한 종류의 프로토콜을 지원하여 원본 서버와 단말 간 통신에 있어 제약을 감소시키고 불필요한 트래픽을 줄일 수 있다.
또한, 본 발명에 따르면, 클러스터링을 적용하여 적어도 하나의 서버에 분산되어 있는 서비스를 서비스 기반의 가상 호스트로 통합하여 관리함으로써, 가상 호스트에 대한 물리 서버 영역의 한계를 극복하고 효율적인 캐시 서버 관리 서비스를 제공할 수 있다.
도 1은 캐시 서버의 동작 원리를 설명하기 위한 통신 시스템의 블록도이다.
도 2는 본 발명의 실시 예에 따른 캐싱 방법을 나타낸 순서도이다.
도 3은 본 발명의 실시 예에 따른 캐싱 방법을 구체적으로 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 캐싱 방법을 구현하는 캐시 서버의 구성을 나타낸 블록도이다.
도 5는 본 발명의 실시 예에 따른 캐시 서버 관리 방법을 나타낸 순서도이다.
도 6은 본 발명의 실시 예에 따른 캐시 서버 관리 방법을 구현하는 캐시 서버 관리 장치의 구조를 나타낸 블록도이다.
본 발명은 클러스터링 환경에서 동작 가능한 캐시 서버에 적용될 수 있다. 그러나 본 발명은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 서버, 프락시 서버, 모바일 비즈니스 응용 서버, 이에 탑재되는 솔루션의 설계 및 그 관리 방법에도 적용될 수 있다.
캐시 서버는 단말로부터 빈번하게 요청되는 서비스에 대응하는 데이터를 저장하여 보관하고 이를 관리하는 기능을 수행할 수 있다.
상기 캐시 서버는 HTTP 1.1 RFC 2616 스펙에 기반하여 설계될 수 있다.
상기 캐시 서버가 저장하는 데이터는 구체적인 실시 예에 따라 오브젝트, 콘텐츠, 웹 애플리케이션, 웹 페이지 또는 웹 페이지를 구성하는 이미지, 텍스트, 동영상, 멀티미디어 파일 등으로 대체되거나 명명될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다." 또는 "포함한다." 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 캐시 서버의 동작 원리를 설명하기 위한 통신 시스템의 구조도이다.
도 1을 참조하면, 상기 통신 시스템은, 원본 서버(10), 캐시 서버(20) 및 단말(30)을 포함하여 구성될 수 있다.
상기 원본 서버(10)는 원본 데이터를 포함할 수 있다. 상기 원본 서버(10)는 외부로부터 상기 원본 데이터를 수신하거나 작성하여 보관하며, 이를 수정하거나 주기적으로 갱신할 수 있다.
상기 통신 시스템은 서비스의 종류에 따라 하나 이상의 원본 서버를 포함할 수 있다. 예를 들어, 상기 통신 시스템은 이미지, 동영상, 텍스트, 멀티미디어 서비스 등에 각각 대응하는 하나 이상의 원본 서버를 포함할 수 있다. 또는, 상기 통신시스템은 게임, 쇼핑, 서적, 영화 도메인 서비스 등에 각각 대응하는 하나 이상의 원본 서버를 포함할 수 있다.
상기 캐시 서버(20)는 상기 원본 서버(10)의 유무선 통신 수단에 의하여 직접 또는 간접적으로 연결될 수 있다.
상기 캐시 서버(20)는 상기 단말(30)로부터 임의의 웹 페이지, 콘텐츠 또는 서비스에 대한 요청을 수신할 수 있다. 상기 캐시 서버(20)는 요청된 웹 페이지, 콘텐츠 또는 서비스에 대응하는 데이터가 저장되어 있는지 판단할 수 있다.
상기 데이터가 저장되어 있지 않은 경우, 상기 캐시 서버(20)는 상기 원본 서버(10)로 상기 데이터를 요청하여 수신하고, 이를 상기 단말(30)로 전송할 수 있다.
상기 데이터가 빈번하게 요청되는 데이터인 경우, 상기 캐시 서버(20)는 상기 데이터를 저장하고, 상기 단말(30)로부터 상기 데이터의 재요청이 있을 때, 상기 저장된 데이터를 바로 상기 단말(30)로 전송하는 캐싱을 수행할 수 있다. 이때, 상기 캐시 서버(20)는 암호화되거나 인증이 필요한 데이터에 대해서는 캐싱을 하지 않을 수 있다.
상기 단말(30)은 유무선 통신 수단에 의하여 직접 또는 간접적으로 상기 캐시 서버(20)와 연결되는 기기로, 스마트 폰(Smart Phone), 휴대 단말(Portable Terminal), 이동 단말(Mobile Terminal), 개인 정보 단말(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말, 노트북 컴퓨터, 와이브로(Wibro) 단말, IPTV(Internet Protocol Television) 단말, 디지털방송용 단말, 텔레매틱스(Telematics) 단말, 내비게이션(Navigation) 단말, AVN(Audio Video Navigation) 단말, 텔레비전(Television), 3D 텔레비전, A/V(Audio/Video) 시스템, 홈 시어터(Home Theater) 시스템, 정보 제공 센터, 콜 센터(call center) 등일 수 있다.
상기 단말(30)은 상기 캐시 서버(20)로 임의의 웹 페이지, 콘텐츠 또는 서비스를 요청하고, 이에 대응하는 데이터를 상기 캐시 서버(20)로부터 수신할 수 있다.
상기 통신 시스템은 동일 또는 서로 다른 종류 및 서로 다른 프로토콜을 사용하는 하나 이상의 단말을 포함할 수 있다.
추가로, 본 발명의 실시 예에 따르면, 상기 통신 시스템은 관리 서버(또는 관리 모듈)를 더 포함하여 구성될 수 있다.
상기 관리 서버는 상기 캐시 서버(20), 상기 캐시 서버(20)에 생성되는 가상 호스트 및 상기 가상 호스트에 저장되는 데이터를 통계적으로 관리할 수 있다.
상기 통신 시스템이 상기 관리 서버를 포함하는 경우, 이를 캐시 서버 관리 시스템 또는 캐시 서버 관리 장치라 명명할 수 있다.
이하, 상기 캐시 서버(20) 및 상기 관리 서버를 포함하는 관리 시스템의 구체적인 기능에 대하여 도면을 참조하여 설명하도록 한다.
도 2는 본 발명의 실시 예에 따른 캐싱 방법을 나타낸 순서도이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 캐싱 방법은 다음과 같은 순서로 이루어질 수 있다.
먼저, 상기 캐시 서버(20)는 상기 단말(30)로부터 서비스 요청을 수신할 수 있다(S110).
상기 서비스는 상기 원본 서버(10)에 의하여 제공될 수 있는 것으로, 임의의 콘텐츠, 애플리케이션, 웹 페이지 등 또는 상기 콘텐츠, 애플리케이션, 웹 페이지 등을 구성하는 이미지, 텍스트, 동영상, 멀티미디어 파일, 플래시 파일 중 하나 이상일 수 있다.
상기 서비스 요청은, 상기 서비스에 대한 콘텐츠, 애플리케이션 또는 웹 페이지 등에 대한 URL 요청일 수 있다.
다음으로, 상기 캐시 서버(20)는 상기 원본 서버(10)에서 수신 데이터와 상기 단말(30)의 프로토콜 특성이 일치하는지 판단할 수 있다(S120).
이를 위하여, 먼저 상기 캐시 서버(20)는 상기 원본 서버(10)로부터 상기 요청된 서비스에 대응하는 데이터를 수신할 수 있다.
구체적으로, 상기 캐시 서버(20)는 상기 요청된 서비스에 대응하는 데이터가 상기 캐시 서버(20)에 저장되어 있는지 판단할 수 있다(S121).
상기 데이터가 상기 캐시 서버(20)에 저장되어 있는 경우, 상기 캐시 서버(20)는 상기 원본 서버(10)에서 수신 데이터와 상기 단말(30)의 프로토콜 특성이 일치하는지 판단할 수 있다(S124).
반면, 상기 데이터가 상기 캐시 서버(20)에 저장되어 있지 않은 경우, 상기 캐시 서버(20)는 상기 원본 서버(10)로 상기 데이터를 요청할 수 있다(S122).
상기 캐시 서버(20)가 적어도 하나의 다른 캐시 서버와 네트워크로 연결되어 하나의 노드로 동작하는 클러스터링 환경에서 동작하는 경우, 상기 캐시 서버(20)는 상기 원본 서버(10)를 대신하여, 상기 적어도 하나의 다른 캐시 서버로 상기 데이터를 요청할 수 있다.
또한, 상기 캐시 서버(20)는 상기 요청에 응답하여 상기 원본 서버(10)로부터 상기 데이터를 수신할 수 있다(S123).
이때, 상기 원본 서버(10)로부터 수신된 상기 데이터는 임의의 프로토콜로 작성된 것일 수 있다. 예를 들어, 상기 원본 서버(10)로부터 수신된 상기 데이터는 HTTP, NFS, ISCSI, Hadoop 중 어느 하나의 프로토콜로 작성된 것일 수 있다.
상기 캐시 서버(20)는 상기 원본 서버(10)로부터 수신된 상기 데이터를 원본 데이터 그대로 저장할 수도 있다. 또한, 상기 캐시 서버(20)는 상기 원본 데이터와 함께 상기 원본 데이터의 압축 데이터를 생성하여 저장할 수 있다. 상기 압축 데이터는 gzip/deflate 형태로 생성될 수 있으며, 상기 단말(100)의 요청에 응답하여 자원 소모 없이 빠르게 상기 데이터를 전송하기 위해 사용될 수 있다.
그 후, 상기 캐시 서버(20)는 상기 원본 서버(10)에서 수신 데이터와 상기 단말(30)의 프로토콜 특성이 일치하는지 판단할 수 있다(S124).
상기 원본 서버(10)로부터 수신된 데이터와 상기 단말(30)의 프로토콜 특성이 일치하는 경우, 상기 캐시 서버(20)는 상기 데이터를 변환없이 상기 단말(30)로 전송할 수 있다(S140).
반면, 상기 원본 서버(10)로부터 수신된 데이터와 상기 단말(30)의 프로토콜 특성이 일치하지 않는 경우, 상기 캐시 서버(20)는 상기 데이터의 프로토콜을 상기 단말(30)의 프로토콜 특성에 맞게 변환할 수 있다(S130).
상기 캐시 서버(20)는 상기 단말(30)에 의한 데이터 변환 없이 상기 서비스를 상기 단말(30)에 직접 제공할 수 있도록 하기 위하여, 상기 단말(30)의 프로토콜 특성에 맞추어 상기 데이터의 프로토콜을 변환할 수 있다.
상기 단말(30)의 프로토콜 특성은 HTTP, RTMP, HLS, RTSP 중 어느 하나일 수 있다.
상기 캐시 서버(20)는 하나 이상의 임의의 프로토콜로 작성된 데이터를 하나 이상의 상기 단말(30)의 특성에 대응하는 프로토콜로 변환하기 위하여, 표준 또는 비표준 프로토콜을 지원하는 하나 이상의 프로토콜 모듈을 포함하거나, 하나 이상의 프로토콜 모듈과 네트워크로 연결될 수 있다.
이로써, 상기 캐시 서버(20)는 단순한 HTTP 프로토콜 기반의 한계를 벗어나 다양한 원본 서버 및 다양한 단말을 지원할 수 있는 확장된 어댑터(Adapter)로 기능 할 수 있다.
추가로, 상기 캐시 서버(20)는 상기 단말(30)로부터 상기 서비스의 재요청이 있는 경우, 상기 단말(30)로 상기 변환된 데이터를 바로 전송하기 위하여, 상기 변환된 데이터를 저장할 수 있다(S131).
상기 캐시 서버(20)는 상기 변환된 데이터 또는 상기 원본 서버(10)로부터 수신된 원본 데이터를 저장하고 이를 관리하여 상기 단말(30)의 요청이 있는 경우, 빠른 속도로 상기 변환된 데이터 또는 상기 원본 데이터를 전송할 수 있다.
상기 캐시 서버(20)는 상기 저장된 변환된 데이터 또는 원본 데이터의 관리를 위하여, 주기적으로 상기 변환된 데이터 또는 원본 데이터를 삭제할 수 있다. 즉, 상기 캐시 서버(20)는 저장된 데이터 중 사용 빈도가 낮은 데이터를 임의의 주기로 자동 삭제할 수 있다. 또는, 상기 캐시 서버(20)는 특정 데이터를 즉시 삭제(purge)하거나 캐싱 만료(expire)시킬 수 있다.
또한, 상기 캐시 서버(20)는 상기 저장된 데이터의 TTL(Time To Live; 생존시간)을 지정하여 주기적으로 상기 원본 서버(10)로부터 상기 저장된 데이터를 수신 함으로써 이를 갱신할 수 있다.
상기 캐시 서버(20)는 상기 변환된 데이터 또는 원본 데이터를 상기 서비스에 대응하여 생성되는 상기 캐시 서버의 서브 호스트에 저장할 수 있다.
상기 캐시 서버(20)는 상기 서비스에 대응하는 서브 호스트를 포함할 수 있다. 예를 들어, 상기 캐시 서버(20)는 상기 원본 서버(10)에서 제공되는 서비스 각각에 대응하는 하나 이상의 서브 호스트를 포함할 수 있다.
상기 캐시 서버(20)는 상기 단말(30)에 의하여 요청된 서비스에 대응하는 상기 변환된 데이터를 상기 서비스를 위한 각각의 상기 서브 호스트에 분리하여 보관할 수 있다.
또한, 상기 캐시 서버(20)는 적어도 하나의 다른 캐시 서버와 네트워크로 연결되는 클러스터링 환경에서 동작할 수 있다.
이때, 상기 캐시 서버(20)는 상기 캐시 서버(20)와 네트워크로 연결되는 관리 서버로 상기 서브 호스트의 관리를 위한 정보를 전송할 수 있다. 즉, 상기 캐시 서버(20)는 상기 서브 호스트에 저장되는 상기 데이터의 관리를 위하여 상기 관리 서버로 상기 관리를 위한 정보를 전송할 수 있다.
상기 관리 서버는, 상기 클러스터링 환경에서 동작하는 상기 캐시 서버(20) 및 상기 적어도 하나의 다른 캐시 서버에 존재하는 각각의 서브 호스트들 중, 상기 서비스에 대응하는 서브 호스트들을 통합 관리하기 위한 것일 수 있다.
마지막으로, 상기 캐시 서버(20)는 상기 변환된 데이터를 상기 단말(30)로 전송할 수 있다(S140).
상기 캐시 서버(20)는 상기 단말(30)의 서비스 요청에 응답하여, 상기 변환된 데이터를 상기 단말(30)로 전송할 수 있다.
이로써, 상기 단말(30)은 상기 캐시 서버(20)로부터 수신된 데이터의 변환 작업의 수행에 따른 지연시간 없이 효율적으로 서비스를 받을 수 있다.
상기 캐시 서버(20)는 하나 이상의 단말로부터 상기 서비스의 요청을 수신한 경우, 상기 요청을 단일 요청으로 취급하고, 상기 과정을 수행하여 상기 하나 이상의 단말 각각으로 상기 서비스에 데이터를 전송하여 줌으로써 상기 원본 서버(10)와의 통신에 대한 트래픽을 감소시킬 수도 있다.
도 3은 본 발명의 실시 예에 따른 캐싱 방법을 구체적으로 설명하기 위한 도면이다.
도 3을 참조하면, 상기 캐시 서버(20)는 하나 이상의 원본 서버(10a 내지 10d)로부터 수신된 데이터를 하나 이상의 단말(30a 내지 30c)의 프로토콜 특성이 맞는 프로토콜로 변환하여 전송할 수 있다.
상기 하나 이상의 원본 서버(10a 내지 10d)로부터 수신된 데이터는 상기 하나 이상의 원본 서버(10a 내지 10d)가 제공하는 서비스의 특성에 맞는 다양한 프로토콜을 가질 수 있다. 예를 들어, 상기 수신된 데이터는 HTTP, NFS, ISCSI, Hadoop 중 어느 하나의 프로토콜로 작성된 것일 수 있다.
또한, 상기 하나 이상의 단말(30a 내지 30c)은 요청하는 서비스 또는 상기 하나 이상의 단말(30a 내지 30c)의 종류에 따라 다양한 프로토콜 특성을 가질 수 있다. 예를 들어, 상기 단말(30)의 프로토콜 특성은 HTTP, RTMP, HLS, RTSP 중 어느 하나일 수 있다.
상기 캐시 서버(20)는 상기 하나 이상의 원본 서버(10a 내지 10d)에서 생성되어 임의의 프로토콜을 갖는 데이터를 수신하여, 상기 데이터에 대응하는 서비스를 요청한 상기 하나 이상의 단말(30a 내지 30c)의 특성에 맞도록 프로토콜을 변환하여 전송함으로써, 상기 하나 이상의 단말(30a 내지 30c)이 변환 동작의 수행 없이 보다 효율적으로 서비스를 제공받을 수 있도록 할 수 있다.
도 4는 본 발명의 실시 예에 따른 캐싱 방법을 구현하는 캐시 서버의 구성을 나타낸 블록도이다.
도 4를 참조하면, 상기 캐시 서버(20)는 통신부(21), 제어부(22) 및 저장부(23)를 포함하여 구성될 수 있다.
상기 통신부(21)는 유무선 통신 네트워크를 통하여 외부와 연결될 수 있다. 예를 들어, 상기 통신부(21)는 클라이언트로 서비스를 제공하는 상기 원본 서버(10), 클라이언트로 동작하는 상기 단말(30) 및 다른 캐시 서버 중 적어도 하나와 연결될 수 있다.
상기 통신부(21)는 외부로부터 데이터를 수신하거나, 외부로 데이터를 전송할 수 있다.
본 발명의 실시 예에 따르면, 상기 통신부(21)는 상기 원본 서버(10) 또는 상기 다른 캐시 서버로부터 상기 원본 서버(10)가 제공하는 서비스에 대응하는 데이터를 수신할 수 있다.
또한, 상기 통신부(21)는 상기 단말(30)로부터 상기 서비스의 요청을 수신하거나, 상기 단말(30)로 상기 서비스에 대응하는 데이터를 전송할 수 있다.
상기 제어부(22)는 상기 캐시 서버(20)의 전반적인 동작을 제어할 수 있다. 예를 들어, 상기 제어부(22)는 상기 단말(30)로부터 빈번하게 요청되는 서비스에 대응하는 데이터를 저장할 수 있고, 상기 단말(30)로부터 상기 서비스의 요청이 있는 경우, 상기 요청에 응답하여 상기 데이터를 상기 단말(30)로 전송할 수 있다.
본 발명의 실시 예에 따르면, 상기 제어부(22)는 상기 단말(30)에 의한 데이터 변환 없이 상기 서비스를 상기 단말(30)로 직접 제공하기 위하여, 상기 단말(30)의 프로토콜 특성에 맞추어 상기 요청된 서비스에 대응하는 데이터의 프로토콜을 변환할 수 있다. 또한, 상기 제어부(22)는 상기 변환된 데이터를 상기 단말(100)로 전송하도록 상기 통신부(21)를 제어할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 제어부(22)는 상기 원본 서버(10)가 제공하는 서비스에 대응하는 가상 호스트를 생성할 수 있다. 또한, 상기 제어부(22)는 상기 가상 호스트 및 상기 가상 호스트에 저장되는 데이터를 관리하기 위한 정보를 생성하고, 이를 상기 캐시 서버(20)와 연결되는 관리 서버로 전송하도록 상기 통신부(21)를 제어할 수 있다.
상기 저장부(23)는 상기 캐시 서버(20)가 외부로부터 수신하거나 생성한 각종 데이터를 저장할 수 있다.
본 발명의 실시 예에 따르면, 상기 저장부(23)는 상기 원본 서버(10)로부터 수신한 원본 데이터 또는 상기 제어부(22)를 통하여 프로토콜이 변환된 데이터를 저장할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 저장부(23)는 상기 제어부(22)가 생성한 가상 호스트의 관리를 위한 정보를 저장할 수 있다.
상기 저장부(23)는 상기 제어부(22)가 본 발명의 실시 예들에 해당하는 동작을 수행하도록 하기 위한 소프트웨어, 프로그램, 솔루션 등을 저장할 수도 있다.
도 4에 도시된 구성 요소들이 필수적인 것은 아니어서, 그보다 많거나 또는 적은 구성 요소에 의하여 상기 캐시 서버(20)가 구현될 수 있다.
도 5는 본 발명의 실시 예에 따른 캐시 서버 관리 방법을 나타낸 순서도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 캐시 서버 관리 방법은 다음과 같은 순서로 이루어질 수 있다.
먼저, 상기 캐시 서버 관리 장치는 가상 호스트에 대한 통계 정보를 생성할 수 있다(S210).
상기 캐시 서버 관리 장치는 적어도 하나의 상기 캐시 서버(20)가 네트워크를 통해 연결되는 클러스터링 환경으로 구성될 수 있다.
상기 캐시 서버(20)는 상기 원본 서버(10)에서 제공된 서비스에 대응하는 가상 호스트를 생성하고, 상기 서비스에 대한 데이터를 상기 가상 호스트에 저장하여 서비스 각각에 대한 데이터를 저장, 관리할 수 있다.
상기 캐시 서버 관리 장치는 클러스터링 환경을 구성하는 상기 적어도 하나의 캐시 서버(20)에 대하여, 상기 적어도 하나의 캐시 서버에 존재하는 각각의 가상 호스트 중, 상기 서비스에 대응하는 가상 호스트들을 통합적으로 관리하기 위하여 상기 통계 정보를 작성할 수 있다.
즉, 상기 캐시 서버 관리 장치는 상기 적어도 하나의 캐시 서버(20)가 각각 포함하는 가상 호스트 중 상기 서비스에 대응하는 가상 호스트들을 통합하여, 클러스터링 환경에 적합하게 하나의 캐시 서버에 대한 가상 호스트로 취급하고 상기 통계 정보를 작성할 수 있다.
이로써, 상기 캐시 서버 관리 장치는, 물리적 서버 영역을 벗어날 수 없는 상기 캐시 서버(20)의 한계를 극복하고, 상기 적어도 하나의 캐시 서버(20)에 분산되어 있는 서비스를 통합하여 관리할 수 있다. 또한, 상기 캐시 서버 관리 장치는 통합 관리를 수행함으로써, 상기 적어도 하나의 캐시 서버(20)가 포함하는 가상 호스트로부터 개별적으로 관리 정보를 습득하고 이를 조합하여 관리를 수행하는데 따르는 트래픽 증가, 연산량 증가, 관리 수행상의 시간적 지연 현상 등을 극복할 수 있다.
상기 통계 정보는 상기 서브 호스트의 메모리 사용량, 파일 인풋/아웃풋과 크기별 분포도, 세션, 트래픽 세분화 통계, 원본 트래픽/응답 코드 분포 정보, 클라이언트 트래픽/응답 코드 분포 정보 중 하나 이상을 포함할 수 있다.
상기 통계 정보는 상기 적어도 하나의 캐시 서버(20)로부터 임의의 주기로 수집되는 관리 정보를 기초로 통계 연산을 수행하여 작성될 수 있다.
다음으로, 상기 캐시 서버 관리 장치는 상기 통계 정보를 관리할 수 있다(S220).
상기 캐시 서버 관리 장치는 임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리할 수 있다.
추가로, 상기 캐시 서버 관리 장치는 상기 통계 정보를 기초로 원본 로그, 정보 로그, 접속 로그, 모니터링 로그 중 하나 이상을 포함하는 로그 파일을 작성할 수 있다(S230). 상기 캐시 서버 관리 장치는 원본 로그, 접속 로그 등을 작성함에 있어서, W3C표준 로그를 준수하되 확장된 로그를 추가하여 작성할 수 있다.
또한, 상기 캐시 서버 관리 장치는 상기 단말(30)로 상기 통계 정보를 제공할 수 있다. 구체적으로, 상기 캐시 서버 관리 장치는 상기 단말(30)로부터 상기 통계 정보에 대한 요청을 수신하고, 상기 요청에 응답하여 상기 통계 정보를 상기 단말(30)로 전송할 수 있다. 이때, 상기 캐시 서버 관리 장치는, 상기 통계 정보를 상기 단말(30)이 사용 가능한 API 형태(예를 들어, HTTP API)로 변환하여 전송할 수 있다.
또한, 상기 캐시 서버 관리 장치는 상기 통계 정보를 기초로 상기 가상 호스트에 대응하는 상기 서비스별 과금 데이터를 생성할 수도 있다.
도 6은 본 발명의 실시 예에 따른 캐시 서버 관리 방법을 구현하는 캐시 서버 관리 장치의 구조를 나타낸 블록도이다.
도 6을 참조하면, 상기 캐시 서버 관리 장치는 적어도 하나의 원본 서버(11 내지 12), 적어도 하나의 캐시 서버(21 내지 24) 및 관리 서버(40)를 포함하여 구성될 수 있다.
상기 적어도 하나의 캐시 서버(21 내지 24)는 네트워크로 연결되어 하나의 노드로 취급되는 클러스터링 환경을 구성할 수 있다.
본 발명의 실시 예에 따르면, 상기 적어도 하나의 캐시 서버(21 내지 24)는 상기 적어도 하나의 원본 서버(10a 내지 10b)에서 제공된 서비스에 대응하는 가상 호스트를 생성하고, 상기 서비스에 대한 데이터를 상기 가상 호스트에 저장하여 서비스 각각에 대한 데이터를 저장, 관리할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 적어도 하나의 캐시 서버(20a 내지 20d)는 도 2 내지 도 3을 참조하여 설명한 바와 같이, 상기 단말(30)에 의하여 요청된 서비스의 데이터를 상기 단말(30)의 프로토콜에 맞게 변환하여 전송하거나, 이를 저장하는 등의 동작을 수행할 수 있다.
상기 관리 서버(40)는 상기 적어도 하나의 캐시 서버(20a 내지 20d)가 네트워크로 연결되는 클러스터링 환경에서 상기 적어도 하나의 캐시 서버(20a 내지 20d)에 대한 관리를 수행할 수 있다.
본 발명의 실시 예에 따르면, 상기 관리 서버(40)는 상기 적어도 하나의 원본 서버(10a 내지 10d)에서 제공된 서비스에 대응하는 가상 호스트에 대한 통계 정보를 생성할 수 있다. 또한, 상기 관리 서버(40)는 임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 관리 서버(40)는 상기 통계 정보를 기초로 정보 로그, 접속 로그, 모니터링 로그 중 하나 이상을 작성할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 관리 서버(40)는 상기 캐시 서버 관리 장치에 네트워크로 연결되는 상기 단말(30)로 부터 상기 통계 정보에 대한 요청을 수신하고, 상기 요청에 응답하여 상기 통계 정보를 상기 단말(30)로 전송할 수 있다. 또한, 상기 관리 서버(40)는 상기 통계 정보를 상기 단말(30)이 사용 가능한 API 형태로 변환하여 전송할 수 있다.
또한, 본 발명의 실시 예에 따르면, 상기 관리 서버(40)는 상기 통계 정보를 기초로 상기 가상 호스트에 대응하는 상기 서비스별 과금 데이터를 생성할 수 있다. 또한, 상기 관리 서버(40)는 상기 과금 데이터를 네트워크 서비스의 관리자에게 전송할 수도 있다.
이 외에 상기 캐시 서버 관리 장치를 구성하는 상기 적어도 하나의 원본 서버(10a 내지 10b), 상기 적어도 하나의 캐시 서버(20a 내지 20d)에 대한 구체적인 설명은 상기에서 상기 원본 서버(10) 및 상기 캐시 서버(20)에 대하여 설명한 바와 동일하다.
도 6에 도시된 구성 요소들이 필수적인 것은 아니어서, 그보다 많거나 또는 적은 구성 요소에 의하여 상기 캐시 서버 관리 장치가 구현될 수 있다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 원본 서버
200: 캐시 서버
300: 단말

Claims (4)

  1. 적어도 하나의 캐시 서버가 네트워크로 연결되는 클러스터링 환경에서의 상기 캐시 서버 관리 방법으로서,
    원본 서버에서 제공된 서비스에 대응하는 가상 호스트에 대한 통계 정보를 생성하는 단계; 및
    임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리하는 단계를 포함하는 것을 특징으로 하되,
    상기 통계 정보는,
    적어도 하나 이상의 상기 캐시 서버에 존재하는 각각의 가상 호스트 중, 상기 서비스에 대응하는 가상 호스트들을 통합하여 하나의 가상 호스트로 취급하여 작성되는 것을 특징으로 하는 캐시 서버 관리 방법.
  2. 제1항에 있어서, 상기 통계 정보는,
    상기 가상 호스트의 작동 상태 및 네트워크 이용 상태 정보인 것을 특징으로 하는 캐시 서버 관리 방법.
  3. 제1항에 있어서, 상기 통계 정보를 기초로 상기 가상 호스트의 작동 상태 및 네트워크 이용 상태 로그를 작성하는 단계를 더 포함하는 것을 특징으로 하는 캐시 서버 관리 방법.
  4. 적어도 하나의 캐시 서버가 네트워크로 연결되는 클러스터링 환경에서의 캐시 서버 관리 장치로서,
    외부와 데이터 통신을 수행하는 통신부;
    상기 통신부를 통하여 원본 서버에서 제공된 서비스에 대응하는 가상 호스트에 대한 통계 정보를 생성하고, 임의의 주기로 상기 가상 호스트에 대한 상기 통계 정보를 갱신 및 수정하여 관리하는 제어부를 포함하되,
    상기 통계 정보는,
    적어도 하나 이상의 상기 캐시 서버에 존재하는 각각의 가상 호스트 중, 상기 서비스에 대응하는 가상 호스트들을 통합하여 하나의 가상 호스트로 취급하여 작성되는 것을 특징으로 하는 관리 장치.
KR1020120050413A 2012-05-11 2012-05-11 캐시 서버 관리 방법 및 그 장치 KR101366031B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120050413A KR101366031B1 (ko) 2012-05-11 2012-05-11 캐시 서버 관리 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120050413A KR101366031B1 (ko) 2012-05-11 2012-05-11 캐시 서버 관리 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20130126351A KR20130126351A (ko) 2013-11-20
KR101366031B1 true KR101366031B1 (ko) 2014-03-03

Family

ID=49854468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120050413A KR101366031B1 (ko) 2012-05-11 2012-05-11 캐시 서버 관리 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101366031B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002808A (ko) * 2009-07-02 2011-01-10 (주)에임투지 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110002808A (ko) * 2009-07-02 2011-01-10 (주)에임투지 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법

Also Published As

Publication number Publication date
KR20130126351A (ko) 2013-11-20

Similar Documents

Publication Publication Date Title
CN101989913B (zh) 用于使局域网中的网络设备获取业务内容的方法及装置
EP4027664A1 (en) Method and apparatus for providing network auxiliary information, electronic device, and computer-readable storage medium
KR101072966B1 (ko) 파일 데이터 분배 방법, 디바이스, 및 시스템
US9338515B2 (en) Real-time and secured picture/video upload via a content delivery network
US8972519B2 (en) Optimization of multimedia service over an IMS network
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
CN102067094A (zh) 高速缓存优化
WO2016197875A1 (zh) 应用于服务提供设备的数据处理方法和设备
CN102055718B (zh) 一种在http streaming系统中实现分层请求内容的方法,装置和系统
CN103826139A (zh) Cdn系统、观看服务器以及流媒体数据传输方法
KR102036579B1 (ko) 무선 통신 시스템에서 웹 서비스 제공 방법 및 장치
CN108076139B (zh) 用于云流送服务的方法和设备
KR101033813B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
CN102404616A (zh) 基于数字电视网络进行数据云推送的方法及系统
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及系统
KR101195123B1 (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
CN102439946A (zh) 数据传输方法和设备
KR102024642B1 (ko) 라이브 스트리밍 서버 장치 및 이의 운용 방법
KR101366031B1 (ko) 캐시 서버 관리 방법 및 그 장치
KR20110109610A (ko) 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
US9071954B2 (en) Wireless optimized content delivery network
CN104243560A (zh) 移动设备上的web服务系统
US20140149499A1 (en) Remote request fulfillment and delivery
KR20150011087A (ko) 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치
KR101937449B1 (ko) 동영상 서비스 장치 및 동영상 서비스 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161212

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171208

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 6