KR20090124646A - P2p를 이용한 웹 캐시 가속 시스템 - Google Patents

P2p를 이용한 웹 캐시 가속 시스템 Download PDF

Info

Publication number
KR20090124646A
KR20090124646A KR1020080050977A KR20080050977A KR20090124646A KR 20090124646 A KR20090124646 A KR 20090124646A KR 1020080050977 A KR1020080050977 A KR 1020080050977A KR 20080050977 A KR20080050977 A KR 20080050977A KR 20090124646 A KR20090124646 A KR 20090124646A
Authority
KR
South Korea
Prior art keywords
information
web
peer
cache
agent
Prior art date
Application number
KR1020080050977A
Other languages
English (en)
Inventor
전찬석
Original Assignee
(주)테크노매드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)테크노매드 filed Critical (주)테크노매드
Priority to KR1020080050977A priority Critical patent/KR20090124646A/ko
Priority to PCT/KR2009/002911 priority patent/WO2009145598A2/ko
Publication of KR20090124646A publication Critical patent/KR20090124646A/ko

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • 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
    • 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/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

P2P를 이용한 웹 캐시 가속 시스템이 개시된다. 개시된 시스템은 오버레이 네트워크에 포함된 다수의 피어 노드들의 정보를 관리하는 랑데부 서버; 및 상기 오버레이 네트워크에 포함된 다수의 피어 노드들의 캐시 관리 정책 및 커뮤니케이션 정책에 대한 제어 메시지를 제공하는 컨트롤 서버를 포함하되, 상기 다수의 노드들에는 각각의 피어 노드에 저장된 웹 캐시 오브젝트 정보를 공유하고 노드들간의 웹 캐시 오브젝트 송수신을 위한 에이전트가 설치된다. 개시된 시스템에 의하면, 웹 캐시의 캐시 히트를 증가시켜 웹 캐시의 활용을 증대시키고 P2P를 이용하여 웹 캐시를 클라이언트의 디스크에 한정되지 않고 주변 노드들의 캐시를 함께 이용함으로써 웹문서 로드 시간을 최소화할 수 있는 장점이 있다.
웹 캐시, P2P

Description

P2P를 이용한 웹 캐시 가속 시스템{Web Cache Acceleration System and Method}
본 발명은 웹 캐시 가속 시스템에 관한 것으로서, 더욱 상세하게는 P2P를 이용한 웹 캐시 가속 시스템에 관한 것이다.
인터넷 비즈니스의 형태는 계속적으로 다변화되고 있으며, 이에 따라 웹 컨텐츠를 효율적으로 제공하는 방식에 대한 연구는 계속적으로 이루어지고 있다.
도 1은 종래의 웹 컨텐츠 전송 시스템의 일례를 도시한 도면이다.
도 1을 참조하면, 종래의 웹 컨텐츠 전송 시스템은 웹 서버(100) 및 다수의 사용자 클라이언트(102)를 포함하며, 하나의 웹 서버에 모든 사용자 클라이언트가 접속하며 웹 서버가 모든 클라이언트들에 컨텐츠를 제공하는 방식이었다.
이와 같은 방식은 웹 서버의 대역폭 한계로 인해 많은 사용자 클라이언트가 웹 컨텐츠를 요청할 경우 이를 수용할 수 없는 문제점이 있었으며 클라이언트와 웹 서버 사이의 전송 경로가 복잡한 경우 데이터의 손실이 발생하는 문제점이 있었다.
도 2는 종래의 또 다른 컨텐츠 전송 시스템의 구성을 도시한 도면이다.
도 2를 참조하면, 웹 서버 외의 다수의 에지 서버가 추가적으로 구비되며 에 지 서버와 근접한 클라이언트들이 에지 서버에 접속하는 형태이다. 이와 같은 시스템은 CDN(Contents Delivery Network)에서 사용되는 방식으로서, 다수의 에지 서버에서 분산하여 클라이언트의 요청을 처리하므로 대역폭 및 데이터 손실에 대한 종래의 문제점은 해결할 수 있으나, 다수의 에지 서버를 두어야 하므로 많은 비용이 소요되는 문제점이 있었다.
한편, 인터넷 익스플로러(Explorer)와 같은 웹브라우저를 이용하여 월드와이드 웹 서비스를 이용할 때 웹문서에 포함된 오브젝트들을 클라이언트 디스크에 캐시하여 해당 오브젝트를 웹서버로부터 수신하지 않고 디스크에 캐시된 오브젝트들을 가져와 응답하는 웹 캐시 방식이 일반적인 웹브라우저에서 사용되고 있다.
웹 캐시는 웹문서를 빠른 시간에 로드하는데 중요한 역할을 함에도 불구하고 웹문서에 포함된 오브젝트들은 클라이언트 디스크에 미리 캐시되어 있지 않은 이상 도 1과 같은 방식으로 수신되었다.
근래에는 웹문서에도 플래시와 같은 대용량 오브젝트들이 포함되고 있는 바 이와 같은 웹문서의 오브젝트들을 신속히 획득할 필요가 있다.
본 발명에서는 상기한 바와 같은 종래 기술의 문제점을 해결하기 위해, 웹 캐시의 캐시 히트를 증가시켜 웹 캐시의 활용을 증대시킬 수 있는 웹 캐시 가속 시스템을 제안하고자 한다.
본 발명의 다른 목적은 웹 캐시를 클라이언트의 디스크에 한정되지 않고 주변 노드들의 캐시를 함께 이용함으로써 웹문서 로드 시간을 최소화할 수 있는 웹 캐시 가속 시스템을 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면, 오버레이 네트워크에 포함된 다수의 피어 노드들의 정보를 관리하는 랑데부 서버; 및 상기 오버레이 네트워크에 포함된 다수의 피어 노드들의 캐시 관리 정책 및 커뮤니케이션 정책에 대한 제어 메시지를 제공하는 컨트롤 서버를 포함하되, 상기 다수의 노드들에는 각각의 피어 노드에 저장된 웹 캐시 오브젝트 정보를 공유하고 노드들간의 웹 캐시 오브젝트 송수신을 위한 에이전트가 설치되는 P2P를 이용한 웹 캐시 가속 시스템이 제공된다.
상기 에이전트는 웹문서 로드에 필요한 오브젝트가 캐시되어 있지 않을 경우 상기 오버레이 네트워크에 포함된 주변 피어 노드로부터 오브젝트를 수신한다.
상기 랑데부 서버는 상기 에이전트가 상기 오버레이 네트워크에 참가할 경우 상기 오버레이 네트워크에 포함된 일부의 주변 피어 노드 정보를 제공한다.
상기 랑데부 서버는 상기 오버레이 네트워크에 포함된 일부의 주변 피어 노드 정보 제공 시 상기 에이전트와 연관된 노드와 동일한 LAN(Local Area Network) 또는 동일한 ISP(Internet Service Provider)에 속한 주변 피어 노드 정보를 제공한다.
상기 에이전트는 웹브라우저의 오브젝트 요청이 있을 경우 상기 랑데부 서버 또는 상기 오버레이 네트워크에 포함된 노드들 중 피어 노드들의 캐시 정보를 관리하는 피어 관리 노드로부터 해당 오브젝트를 가진 피어 노드 정보를 수신한다.
상기 에이전트는 웹브라우저에서 요청된 오브젝트를 수신할 피어 노드 선택 시 오브젝트의 URI 정보 및 오브젝트와 연관된 웹문서 URL 정보를 이용하여 오브젝트를 수신할 피어 노드를 선택한다.
상기 에이전트는 웹브라우저에서 요청된 오브젝트를 수신할 피어 노드 선택 시 동일한 LAN 또는 동일한 ISP에 속한 피어 노드를 선택한다.
상기 에이전트는, 웹브라우저로부터 요청 정보를 수신하고 웹브라우저의 요청 정보에 응답하는 프록시 모듈; 상기 에이전트가 설치된 노드 내부의 캐시 정보를 관리하는 캐시 매니저 모듈; 상기 프록시 모듈로부터 웹브라우저의 요청 정보를 전달받으며, 웹브라우저가 요청한 오브젝트가 내부에 캐시되어 있는지 여부를 판단하는 제어 모듈; 주변 피어 노드 정보를 관리하며, 상기 요청된 오브젝트가 내부에 캐시되어 있지 않을 경우, 상기 제어 모듈에 요청에 따라 상기 요청된 오브젝트를 수신할 피어 노드 정보를 탐색하는 오버레이 관리 모듈; 및 상기 요청된 오브젝트를 가진 피어 노드로부터 상기 요청된 오브젝트를 수신하는 전송 모듈을 포함하되, 상기 제어 모듈은 상기 요청된 오브젝트 수신 후 상기 웹브라우저에 요청하는 상응하는 응답 메시지를 생성한다.
상기 오버레이 관리 모듈은 DHT(Distributed Hash Table) 방식을 이용하여 상기 요청된 오브젝트를 수신할 피어 노드 정보를 탐색한다.
상기 오버레이 관리 모듈은 오브젝트 파일명, 오브젝트 URI, 오브젝트와 연관된 웹문서 URL로 이루어진 그룹으로부터 선택된 어느 하나 또는 이들의 조합에 대한 해쉬한 값을 이용하여 상기 요청된 오브젝트를 가진 피어 노드 정보를 탐색한다.
본 발명의 다른 측면에 따르면, 오버레이 네트워크에 포함된 다수의 피어 노드들 및 상기 다수의 피어 노드들의 정보를 관리하는 랑데부 서버로 이루어진 시스템에서 웹 캐시 가속을 위해 상기 피어 노드들 각각에 설치되는 에이전트로서, 웹브라우저로부터 요청 정보를 수신하고 웹브라우저의 요청 정보에 응답하는 프록시 모듈; 상기 에이전트가 설치된 노드 내부의 캐시 정보를 관리하는 캐시 매니저 모듈; 상기 프록시 모듈로부터 웹브라우저의 요청 정보를 전달받으며, 웹브라우저가 요청한 오브젝트가 내부에 캐시되어 있는지 여부를 판단하는 제어 모듈; 주변 피어 노드 정보를 관리하며, 상기 요청된 오브젝트가 내부에 캐시되어 있지 않을 경우, 상기 제어 모듈에 요청에 따라 상기 요청된 오브젝트를 수신할 피어 노드 정보를 탐색하는 오버레이 관리 모듈; 및 상기 요청된 오브젝트를 가진 피어 노드로부터 상기 요청된 오브젝트를 수신하는 전송 모듈을 포함하되, 상기 제어 모듈은 상기 요청된 오브젝트 수신 후 상기 웹브라우저에 요청하는 상응하는 응답 메시지를 생성한다.
본 발명에 의하면, 웹 캐시의 캐시 히트를 증가시켜 웹 캐시의 활용을 증대시킬 수 있으며, P2P를 이용하여 웹 캐시를 제공함으로써 웹 캐시를 클라이언트의 디스크에 한정되지 않고 주변 노드들의 캐시를 함께 이용함으로써 웹문서 로드 시간을 최소화할 수 있는 장점이 있다.
아울러, 웹서버로가 아닌 가까운 주변 노드로부터 오브젝트를 수신하는 바 전체적인 웹트래픽을 감소시킬 수 있는 장점이 있다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 웹 캐시 가속 시스템 및 방법에 대해 상세히 설명한다.
웹 캐시는 인터넷 익스플로러(Explorer)와 같은 웹브라우저를 이용하여 월드와이드 웹 서비스를 이용할 때 웹 페이지에 포함된 오브젝트들을 클라이언트의 디스크 또는 클라이언트와 인접한 지역의 서버에 캐시하고 동일한 웹페이지를 방문할 경우 웹서버로부터 웹페이지의 오브젝트를 가져오지 않고 디스크 또는 인접한 서버에 캐시된 오브젝트들을 가져와 응답하는 것을 의미한다.
이와 같은 웹 캐시는 원 거리의 웹서버로부터 오브젝트들을 가져오지 않으므로 웹페이지 로드 시 응답 시간을 향상시키고 WAN 구간의 회선 비용을 절감하고 웹 서버의 부하를 줄이는 장점이 있다.
많은 오브젝트가 웹 캐시를 통해 로드될수록 보다 빠른 시간에 응답할 수 있으나 클라이언트의 디스크 공간은 제약되어 있으므로 캐시 히트를 일정 수준 이상 증가시키는 데에는 어려움이 있었다.
본 발명에서는 P2P를 이용하여 추가적인 서버 비용을 소요하지 않으면서 캐시 히트를 증가시켜 보다 빠른 시간에 웹 컨텐츠를 제공할 수 있는 방법 및 시스템을 제안한다.
도 3은 본 발명의 일 실시예에 따른 P2P를 이용한 웹 캐시 가속 시스템의 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 웹 캐시 가속 시스템은 컨트롤 서버(300), 랑데부 서버(302) 및 오버레이 네트워크를 구성하는 다수의 사용자 클라이언트들(304)을 포함할 수 있다.
다수의 사용자 클라이언트들(304)에는 P2P를 이용하여 웹 캐시 가속을 위한 에이전트(310)가 각각 설치된다. 에이전트(310)는 사용자 클라이언트에 저장된 캐시 데이터 및 사용자 클라이언트 주변의 피어 노드들의 정보를 관리한다.
에이전트(310)는 클라이언트에 저장된 캐시 정보를 관리하고 웹문서에 필요한 오브젝트가 클라이언트의 캐시로 존재하지 않을 경우 주변의 피어 노드들로부터 오브젝트를 수신하여 웹 캐시로 활용한다.
즉, 본 발명은 클라이언트에 저장된 캐시 데이터뿐만 아니라 주변 피어 노드에 저장된 캐시 데이터를 활용하므로 캐시 히트를 증가시킬 수 있다. 또한, 주변 피어 노드로부터 웹문서에 필요한 오브젝트를 수신하므로 원거리의 웹서버로부터 오브젝트를 수신하는 경우에 비해 신속하게 오브젝트를 수신할 수 있다.
이와 같이 주변 피어 노드의 캐시를 활용할 경우 CDN과 같이 별도의 에지 서버를 사용하지 않고 캐시 히트를 높일 수 있으므로 별도의 비용 없이 캐시 히트를 높일 수 있다.
에이전트(310)는 다양한 형태로 클라이언트에 설치될 수 있다. 예를 들어, 에이전트(310)는 툴바와 연동하는 프로그램의 형태로 설치될 수도 있으며, 독립적으로 실행되는 프로그램 모듈로 설치될 수도 있다. 본 발명의 바람직한 실시예에 따르면, 에이전트(310)는 클라이언트의 전원이 켜질 때 자동적으로 실행되는 것이 바람직하다.
에이전트(310)가 설치되는 클라이언트(304)는 에이전트(310)와 같은 어플리케이션 프로그램의 실행이 가능하고 네트워크를 통해 통신 가능한 모든 종류의 단말 장치를 포함할 수 있다. 예를 들어, 클라이언트(304)는 일반적인 PC는 물론 노트북, PDA(Personal Digital Assistant), PMP(Portable Media Player), 이동통신 단말기 등과 같은 장치를 포함할 수 있다.
랑데부 서버(302)는 오버레이 네트워크에 참여하는 피어 노드들에게 주변 피어 노드들의 정보를 제공하는 기능을 한다. 클라이언트(304)의 전원이 켜지고 에이전트(310)가 실행될 경우 에이전트는 오버레이 네트워크에 참여하기 위한 등록 요청 정보를 랑데부 서버(302)에 전송하며, 랑데부 서버(302)는 에이전트(310)의 등록 요청 정보를 처리하고 해당 에이전트가 설치된 클라이언트를 등록한다.
본 발명의 일 실시예에 따르면, 랑데부 서버(302)는 오버레이 네트워크에 참여하는 모든 피어 노드들의 주소 정보 및 캐시 정보를 일괄적으로 관리할 수 있다. 이때, 에이전트(310)는 등록 요청 시 클라이언트에 저장된 캐시 정보를 랑데부 서버에 제공할 수 있다.
본 발명의 다른 실시예에 따르면, 랑데부 서버(302)가 모든 피어 노드들의 정보를 일괄적으로 관리하지 않고 다수의 노드들과 함께 분산하여 관리할 수도 있다. 이와 같은 피어 노드들의 분산 관리를 위해 DHT(Distributed Hash Table) 방식이 이용될 수 있다.
랑데부 서버(302)가 중앙에서 P2P 네트워크를 컨트롤할 경우 네트워크 이용 효율은 높아질 수 있으나 모든 정보가 중앙에서 관리되므로 관리하는 정보량이 방대해지면서 정보의 컨트롤이 어려워질 수 있다. 특히, 본 발명과 같이 다수의 캐시 데이터를 관리하는 경우 정보량이 지나치게 많아질 수 있는 바, 랑데부 서버는 주변 노드들을 활용하여 분산 관리를 수행하는 것이 바람직하다.
오버레이 네트워크를 구성하는 피어 노드들은 네트워크를 통해 랑데부 서버(302) 및 컨트롤 서버(300)와 연결된다. 여기서 네트워크는 인터넷망, 사설망과 같은 유선 네트워크는 물론 이동통신망, 무선 인터넷망과 같은 무선 네트워크를 모두 포함할 수 있다.
컨트롤 서버(300)는 에이전트(310)의 정책 정보를 제어하는 기능을 한다. 예를 들어, 컨트롤 서버(300)는 에이전트의 캐시 관리 정책, 주변 피어 커뮤니케이션 정책 등과 같은 정책 정보를 제어한다. 컨트롤 서버(300)는 오버레이 네트워크에 참여한 에이전트(310)들에게 정책 제어 메시지를 제공하며, 에이전트(310)들은 컨트롤 서버(300)의 제어 메시지에 상응하여 캐시 관리 및 주변 노드와의 커뮤니케이션을 수행한다.
도 4는 본 발명의 일 실시예에 따른 에이전트의 모듈 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 에이전트는 프록시 모듈(400), 캐시 매니저 모듈(402), 제어 모듈(404), 오버레이 관리 모듈(406) 및 전송 모듈(408)을 포함할 수 있다.
프록시 모듈(400)은 웹브라우저와 통신을 하며 웹문서 로드 시 웹브라우저의 캐시 요청 정보를 제어 모듈(404)에 제공한다. 프록시 모듈(400)은 에이전트(310)와 웹브라우저 사이의 게이트웨이 기능을 수행하며 웹브라우저의 요청을 수신하고 요청에 대한 응답 정보를 웹브라우저에 제공한다.
본 발명의 일 실시예에 따르면, 프록시 모듈(400)은 HTTP 프로토콜의 형태로 웹브라우저의 요청 정보를 수신하여 제어 모듈(404)에 제공한다.
프록시 모듈(400)은 웹브라우저에서 들어온 HTTP 세션들을 관리하며 HTTP 리퀘스트를 파싱한다.
캐시 매니저 모듈(402)은 클라이언트의 캐시 정보를 관리한다. 클라이언트의 디스크에는 웹문서 로드 시에 수신한 오브젝트가 별도의 캐시 영역에 저장되며, 캐시 매니저 모듈(402)은 캐시 영역에 저장될 파일들을 관리한다.
캐시 매니저 모듈(402)은 캐시의 조회, 추가 및 삭제 등의 기능을 수행하며, 이와 같은 캐시 관리 정책에 대한 정보는 컨트롤 서버(300)로부터 수신할 수 있다.
제어 모듈(404)은 프록시 모듈(400)로부터 전달되는 웹브라우저의 요청 정보를 처리하는 기능을 한다. 제어 모듈(404)은 웹브라우저의 요청 정보가 처리되면 이에 대한 응답 정보를 생성하여 프록시 모듈(400)에 제공한다.
제어 모듈(404)은 웹브라우저로부터 프록시 모듈(402)을 통해 캐시 요청 정보가 전송될 경우 캐시가 가능한지 여부를 판단한다.
캐시가 가능한지 여부를 판단하기 위해 제어 모듈(404)은 캐시 매니저 모듈(402) 및 오버레이 관리 모듈(406)과 통신한다.
제어 모듈(404)은 캐시 매니저 모듈(402)을 통해 웹브라우저에서 요청한 오브젝트가 클라이언트에 캐시로 저장되어 있는지 여부를 판단하며, 클라이언트에서 캐시 가능할 경우 캐시 데이터베이스를 탐색하여 웹브라우저의 요청에 응답한다.
클라이언트에서 캐시 가능하지 않을 경우, 제어 모듈(404)은 오버레이 관리 모듈(406)을 통해 주변 피어 노드로부터 캐시 가능한지 여부를 판단하고 주변 피어 노드로부터 캐시 가능할 경우 주변 피어 노드로부터 해당 오브젝트를 수신하여 웹브라우저의 요청에 응답한다.
클라이언트 내 또는 주변 피어 노드로부터 해당 오브젝트를 획득할 수 없을 경우 제어 모듈(404)와 오브젝트와 연관된 웹서버에 요청 정보를 전송한다.
오버레이 관리 모듈(406)은 에이전트 실행 시 오버레이 네트워크에 참가하는 기능 및 오버레이 네트워크에 참가한 다른 피어 노드들의 정보를 관리하는 기능을 수행한다.
본 발명의 일 실시예에 따르면, 랑데부 서버로부터 주변 피어 노드들에 대한 정보를 수신할 경우, 오버레이 관리 모듈(406)은 수신된 주변 피어 노느들에 대한 정보를 이용하여 오버레이 네트워크에 참가한다.
본 발명의 일 실시예에 따르면, 오버레이 관리 모듈은 해당 노드들에 UDP 브로드캐스팅 패킷을 전송하여 오버레이 네트워크에 참가함을 알릴 수 있다. 이때, 브로드캐스팅 패킷에는 에이전트가 설치된 클라이언트의 주소 정보 및 노드 아이디 정보가 포함될 수 있다. 추가적으로 캐시 정보가 포함될 수도 있다.
오버레이 네트워크에서 나가는 경우에도 UDP 브로드캐스팅 패킷을 통해 오버레이 네트워크로부터 나갔음을 알릴 수 있다.
또한, 오버레이 관리 모듈은 주변 노드들의 멤버쉽 리스트를 수신하고 자신의 멤버쉽 리스트를 주변 노드들에 제공하면서 연결 가능한 주변 노드 정보를 관리한다.
전술한 바와 같이, 주변 피어 노드 정보의 분산 관리 시 DHT 방식이 이용될 수 있으며 이때, 피어의 주소 정보, 노드 아이디 정보, 캐시 정보 등은 해쉬 값으로 관리될 수 있다.
피어 노드 정보가 분산 관리될 경우 피어 노드들이 가진 캐시 정보는 일부의 피어 노드에 의해 관리된다.
주변 피어들로부터 웹브라우저에서 요청한 오브젝트에 대한 캐시가 가능한지 여부를 판단하기 위해, 오버레이 관리 모듈(406)은 피어 노드의 캐시 정보를 관리하는 노드를 탐색하기 위한 요청 패킷을 주변 피어 노드들에 전송한다. 이때 주변 피어 노드들은 상기 요청 패킷에 응답하여 자신의 이웃 노드들의 정보를 제공하고 이러한 과정을 반복하면서 피어 노드를 관리하는 노드를 탐색할 수 있다.
오버레이 관리 모듈(406)은 피어 노드의 캐시 정보를 관리하는 노드에 해당 웹브라우저에서 요청한 오브젝트를 가지는 피어 노드 정보를 요청할 수 있으며, 상기 피어 노드를 관리하는 노드는 해당 오브젝트를 가지는 피어 노드 정보를 제공한다.
상기에서는 피어 노드들의 정보가 분산 관리되는 경우의 오버레이 관리 모듈의 동작에 대해 설명하였다. 그러나, 본 발명의 실시예가 이에 한정되는 것은 아니며, 전술한 바와 같이, 중앙에서 피어 노드들에 대한 정보가 관리될 수도 있을 것이다. 이 경우 오버레이 관리 모듈(406)은 특정 오브젝트를 가진 피어 노드들의 정보를 랑데부 서버로부터 제공받을 수 있을 것이다.
전송 모듈(408)은 피어들간의 오브젝트 송수신 및 웹서버와의 송수신을 처리하는 모듈이다. 일례로, 전송 모듈(408)은 웹브라우저로부터 요청된 오브젝트를 선택된 피어 노드로부터 다운로드하는 기능을 수행한다.
도 5는 본 발명의 일 실시예에 따른 웹 캐시 가속 방법의 전체적인 흐름을 도시한 순서도이다.
도 5를 참조하면, 웹브라우저는 프록시 모듈(400)에 웹문서에 필요한 오브젝트에 대한 캐시를 요청하며, 제어 모듈(402)은 프록시 모듈로부터 웹브라우저의 요청 정보를 수신한 후 클라이언트 내 캐시를 조회한다(단계 500).
클라이언트 캐시에 해당 오브젝트가 저장되어 있을 경우, 클라이언트의 캐시 를 적용한다(단계 504).
클라이언트 캐시에 해당 오브젝트가 저장되어 있지 않을 경우, 에이전트의 오버레이 관리 모듈(406)은 해당 오브젝트를 가지고 있는 피어 노드를 탐색한다(단계 506).
전술한 바와 같이, 해당 오브젝트를 가지고 있는 노드를 확인하기 위한 피어 노드의 캐시 정보를 관리하는 피어 관리 노드를 탐색하기 위한 요청 패킷이 주변 노드들에 전송 될 수 있다. DHT 방식에 의할 경우 오버레이 피어 노드들의 오브젝트 저장 정보는 일부의 노드에 의해 관리되며 클라이언트는 해당 노드를 탐색한 뒤 해당 노드로부터 해당 오브젝트를 가진 피어 노드 정보를 획득할 수 있다.
특정 피어 노드가 해당 오브젝트를 가지고 있을 경우, 에이전트의 전송 모듈은 해당 피어 노드에 해당 오브젝트를 요청하며(단계 508), 미리 설정된 프로토콜에 의해 해당 오브젝트를 수신한다(단계 510).
해당 오브젝트가 수신되면 캐시에 추가하고 캐시 매니저 모듈(402)의 캐시 정보를 업데이트한다(단계 512).
캐시 정보가 업데이트되면, 제어 모듈(404)은 프록시 모듈(400)에 응답 정보를 생성하여 전달한다(단계 514).
도 6은 본 발명의 일 실시예에 따른 에이전트가 랑데부 서버에 접속하는 과정을 도시한 순서도이다.
도 6을 참조하면, 클라이언트의 전원이 켜지고 에이전트(310)가 실행될 경우 에이전트는 랑데부 서버(302)에 오버레이 네트워크에 참여하기 위한 등록 요청 정 보를 전송한다(단계 600). 에이전트(310)에는 랑데부 서버(302)의 주소 정보가 미리 설정되어 있으며 해당 주소 정보를 이용하여 랑데부 서버(302)에 등록 요청 정보를 전송한다.
에이전트(310)가 랑데부 서버(302)에 전송하는 등록 요청 정보에는 에이전트가 설치되는 클라이언트의 아이피 주소 및 포트 번호를 포함하는 주소 정보가 포함될 수 있다.
또한, 등록 요청 정보에는 클라이언트의 캐시 정보가 포함될 수도 있다. 다만, DHT 방식에 의해 여러 노드가 캐시 정보를 분산하여 관리할 경우에는 랑데부 서버(302)에 캐시 정보를 전송하지 않을 수도 있다.
랑데부 서버(302)는 에이전트의 등록 요청 정보에 응답하여 해당 에이전트를 등록한다(단계 604). 에이전트의 등록 후 랑데부 서버(302)는 에이전트에 노드 아이디를 제공할 수 있다. 노드 아이디는 오버레이 네트워크에서 해당 에이전트를 유일하게 식별하기 위한 정보이다.
이후, 해당 에이전트의 주변 피어 노드들의 정보를 제공하는 과정이 진행되는데, 본 발명의 바람직한 실시예에 따르면, 피어 노드들간의 통신이 가장 효율적으로 일루어지도록 랑데부 서버는 주변 피어 노드들의 정보를 제공한다. 랑데부 서버는 등록을 요청한 에이전트의 주변 피어 노드들 중 일부 피어 노드의 정보만을 제공하는 것이 바람직하다.
피어들간의 통신이 효율적으로 이루어지도록, 랑데부 서버는 등록을 요청한 에이전트의 클라이언트가 LAN(Local Area Network)에 포함되어 있는 노드인지 여부 를 판단한다(단계 604).
해당 에이전트의 클라이언트가 LAN에 포함되어 있는 노드일 경우 랑데부 서버(302)는 동일한 LAN에 포함된 주변 피어 노드들의 정보를 제공한다(단계 606). 피어 노드들간의 커뮤니케이션은 비교적 인접한 피어 노드들간에 이루어지는 것이 바람직하므로 등록을 요청한 노드가 LAN에 포함되어 있을 경우 동일한 LAN에 포함된 피어 노드들의 정보를 제공하는 것이 바람직하다.
등록을 요청한 노드가 LAN에 포함되어 있지 않을 경우 등록을 요청한 노드의 ISP(Internet Service Provider)와 동일한 ISP에 속한 주변 노드들의 정보를 제공한다(단계 608). 등록을 요청한 노드가 LAN에 포함되어 있지 않을 경우 ISP간 트래픽을 최소화하기 위해 동일한 ISP에 속한 주변 노드 정보를 제공하도록 한다.
도 7은 본 발명의 일 실시예에 따른 웹 캐시를 위한 오브젝트 정보를 가진 피어 노드 정보를 제공받는 과정을 도시한 순서도이다.
도 7을 참조하면, 에이전트의 오버레이 관리 모듈(406)은 이웃 노드 정보를 기록한 이웃 노드 테이블을 유지한다(단계 700). 전술한 바와 같이, 주변 피어 노드들과 멤버십 리스트를 공유하면서 이웃 노드 테이블을 유지할 수 있다.
웹브라우저로부터 특정 오브젝트에 대한 캐시 요청이 있을 경우, 이웃 노드 들에 피어 노드들의 캐시 정보를 관리하는 노드를 탐색하기 위한 요청 패킷을 전송하여 피어 관리 노드를 탐색한다(단계 702).
전술한 바와 같이, 이웃 노드들이 자신의 이웃 노드들에 정보를 제공하는 과정을 반복하면서 피어 관리 노드를 탐색할 수 있을 것이다.
본 발명의 바람직한 실시예에 따르면, 상기 요청 패킷에는 웹브라우저로부터 요청된 오브젝트 정보가 함께 포함되는 것이 바람직하다.
이웃 노드들은 상기 요청 패킷에 응답하여 자신의 이웃 노드 정보를 제공할 때 상기 오브젝트를 자신이 가지고 있는지 여부를 확인한다(단계 704).
이웃 노드가 해당 오브젝트를 가지고 있을 경우, 이웃 노드는 해당 오브젝트를 직접 제공한다(단계 706).
피어 관리 노드가 탐색되면, 에이전트의 오버레이 관리 모듈(406)은 피어 관리 노드에 요청된 오브젝트를 가지는 피어 노드 정보를 요청한다(단계 708).
해당 오브젝트를 가지는 피어 노드가 복수개일 경우, 오버레이 관리 모듈은 오브젝트를 수신할 피어 노드를 선택한다(단계 710).
오브젝트를 수신할 피어 노드를 선택할 때 하나의 피어 노드로부터 웹문서에 필요한 오브젝트를 되도록 많이 수신할 수 있도록 피어 노드를 선택하는 것이 바람직하다.
또한, 잘못된 오브젝트를 수신하는 것을 방지하도록 데이터의 무결성이 확보될 수 있도록 피어 노드를 선택하는 것이 필요하다.
도 8은 본 발명의 일 실시예에 따른 피어 노드 요청 정보의 데이터 구성을 도시한 도면이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 피어 노드 요청 정보는 오브젝트 파일명 정보(800), 오브젝트 URI 정보(802), 웹문서 URL 정보(804) 및 해쉬 값 정보(806)를 포함할 수 있다.
피어 노드 요청 정보에 포함되는 정보는 피어 관리 노드에서 관리하는 피어별 캐시 정보에도 포함된다.
오브젝트의 파일명만 유사하고 오브젝트 URI가 달라 잘못된 오브젝트가 수신하는 것을 방지하기 위해, 피어 노드 요청 정보에는 오브젝트 URI 정보(802)가 포함된다.
또한, 하나의 피어 노드로부터 보다 많은 오브젝트를 수신하기 위해 오브젝트와 연관된 웹문서를 로드한 적이 있는 피어 노드에 오브젝트를 요청하는 것이 바람직하다. 따라서, 피어 노드 요청 정보에는 오브젝트와 연관된 웹문서 URL 정보(804)를 함께 포함시키는 것이 바람직하다.
해쉬 값(806)은 피어 노드 요청 정보에 포함된 정보에 대해 해쉬 연산을 수행한 값이다. 해쉬 값은 피어 노드 선택 시 유사도를 연산하는데 이용할 수 있다. 물론, DHT 방식을 이용하지 않을 경우에는 해쉬 값은 포함되지 않아도 무방하다. 또한, 해쉬 값은 각각의 정보에 대해 별도로 관리될 수 있다는 점 역시 당업자에게 있어 자명할 것이다.
도 1은 종래의 웹 컨텐츠 전송 시스템의 일례를 도시한 도면.
도 2는 종래의 또 다른 컨텐츠 전송 시스템의 구성을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 P2P를 이용한 웹 캐시 가속 시스템의 구성을 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 에이전트의 모듈 구성을 도시한 블록도.
도 5는 본 발명의 일 실시예에 따른 웹 캐시 가속 방법의 전체적인 흐름을 도시한 순서도.
도 6은 본 발명의 일 실시예에 따른 에이전트가 랑데부 서버에 접속하는 과정을 도시한 순서도.
도 7은 본 발명의 일 실시예에 따른 웹 캐시를 위한 오브젝트 정보를 가진 피어 노드 정보를 제공받는 과정을 도시한 순서도.
도 8은 본 발명의 일 실시예에 따른 피어 노드 요청 정보의 데이터 구성을 도시한 도면.

Claims (16)

  1. 오버레이 네트워크에 포함된 다수의 피어 노드들의 정보를 관리하는 랑데부 서버; 및
    상기 오버레이 네트워크에 포함된 다수의 피어 노드들의 캐시 관리 정책 및 커뮤니케이션 정책에 대한 제어 메시지를 제공하는 컨트롤 서버를 포함하되,
    상기 다수의 노드들에는 각각의 피어 노드에 저장된 웹 캐시 오브젝트 정보를 공유하고 노드들간의 웹 캐시 오브젝트 송수신을 위한 에이전트가 설치되는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  2. 제1항에 있어서,
    상기 에이전트는 웹문서 로드에 필요한 오브젝트가 캐시되어 있지 않을 경우 상기 오버레이 네트워크에 포함된 주변 피어 노드로부터 오브젝트를 수신하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  3. 제1항에 있어서,
    상기 랑데부 서버는 상기 에이전트가 상기 오버레이 네트워크에 참가할 경우 상기 오버레이 네트워크에 포함된 일부의 주변 피어 노드 정보를 제공하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  4. 제3항에 있어서,
    상기 랑데부 서버는 상기 오버레이 네트워크에 포함된 일부의 주변 피어 노드 정보 제공 시 상기 에이전트와 연관된 노드와 동일한 LAN(Local Area Network) 또는 동일한 ISP(Internet Service Provider)에 속한 주변 피어 노드 정보를 제공하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  5. 제1항에 있어서,
    상기 에이전트는 웹브라우저의 오브젝트 요청이 있을 경우 상기 랑데부 서버 또는 상기 오버레이 네트워크에 포함된 노드들 중 피어 노드들의 캐시 정보를 관리하는 피어 관리 노드로부터 해당 오브젝트를 가진 피어 노드 정보를 수신하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  6. 제5항에 있어서,
    상기 에이전트는 웹브라우저에서 요청된 오브젝트를 수신할 피어 노드 선택 시 오브젝트의 URI 정보 및 오브젝트와 연관된 웹문서 URL 정보를 이용하여 오브젝트를 수신할 피어 노드를 선택하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  7. 제1항에 있어서,
    상기 에이전트는 웹브라우저에서 요청된 오브젝트를 수신할 피어 노드 선택 시 동일한 LAN 또는 동일한 ISP에 속한 피어 노드를 선택하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  8. 제1항에 있어서,
    상기 에이전트는,
    웹브라우저로부터 요청 정보를 수신하고 웹브라우저의 요청 정보에 응답하는 프록시 모듈;
    상기 에이전트가 설치된 노드 내부의 캐시 정보를 관리하는 캐시 매니저 모듈;
    상기 프록시 모듈로부터 웹브라우저의 요청 정보를 전달받으며, 웹브라우저가 요청한 오브젝트가 내부에 캐시되어 있는지 여부를 판단하는 제어 모듈;
    주변 피어 노드 정보를 관리하며, 상기 요청된 오브젝트가 내부에 캐시되어 있지 않을 경우, 상기 제어 모듈에 요청에 따라 상기 요청된 오브젝트를 수신할 피어 노드 정보를 탐색하는 오버레이 관리 모듈; 및
    상기 요청된 오브젝트를 가진 피어 노드로부터 상기 요청된 오브젝트를 수신하는 전송 모듈을 포함하되,
    상기 제어 모듈은 상기 요청된 오브젝트 수신 후 상기 웹브라우저에 요청하는 상응하는 응답 메시지를 생성하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  9. 제8항에 있어서,
    상기 오버레이 관리 모듈은 DHT(Distributed Hash Table) 방식을 이용하여 상기 요청된 오브젝트를 수신할 피어 노드 정보를 탐색하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  10. 제9항에 있어서,
    상기 오버레이 관리 모듈은 오브젝트 파일명, 오브젝트 URI, 오브젝트와 연관된 웹문서 URL로 이루어진 그룹으로부터 선택된 어느 하나 또는 이들의 조합에 대한 해쉬한 값을 이용하여 상기 요청된 오브젝트를 가진 피어 노드 정보를 탐색하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  11. 오버레이 네트워크에 포함된 다수의 피어 노드들 및 상기 다수의 피어 노드들의 정보를 관리하는 랑데부 서버로 이루어진 시스템에서 웹 캐시 가속을 위해 상기 피어 노드들 각각에 설치되는 에이전트로서,
    웹브라우저로부터 요청 정보를 수신하고 웹브라우저의 요청 정보에 응답하는 프록시 모듈;
    상기 에이전트가 설치된 노드 내부의 캐시 정보를 관리하는 캐시 매니저 모듈;
    상기 프록시 모듈로부터 웹브라우저의 요청 정보를 전달받으며, 웹브라우저가 요청한 오브젝트가 내부에 캐시되어 있는지 여부를 판단하는 제어 모듈;
    주변 피어 노드 정보를 관리하며, 상기 요청된 오브젝트가 내부에 캐시되어 있지 않을 경우, 상기 제어 모듈에 요청에 따라 상기 요청된 오브젝트를 수신할 피어 노드 정보를 탐색하는 오버레이 관리 모듈; 및
    상기 요청된 오브젝트를 가진 피어 노드로부터 상기 요청된 오브젝트를 수신하는 전송 모듈을 포함하되,
    상기 제어 모듈은 상기 요청된 오브젝트 수신 후 상기 웹브라우저에 요청하는 상응하는 응답 메시지를 생성하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속을 위한 에이전트.
  12. 제11항에 있어서,
    상기 에이전트 관리 모듈은 랑데부 서버로부터 상기 오버레이 네트워크에 포함된 피어 노드들 중 주변 피어 노드들의 정보를 제공받으며, 상기 랑데부 서버는 동일한 LAN 또는 동일한 ISP에 속한 주변 피어 노드들의 정보를 제공하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속을 위한 에이전트.
  13. 제11항에 있어서,
    상기 오버레이 관리 모듈은 웹브라우저의 오브젝트 요청이 있을 경우 상기 오버레이 네트워크에 포함된 노드들 중 피어 노드들의 캐시 정보를 관리하는 피어 관리 노드로부터 해당 오브젝트를 가진 피어 노드 정보를 수신하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속을 위한 에이전트.
  14. 제13항에 있어서,
    오버레이 관리 모듈은 요청된 오브젝트를 수신할 피어 노드 선택 시 오브젝트의 URI 정보 및 오브젝트와 연관된 웹문서 URL 정보를 이용하여 오브젝트를 수신할 피어 노드를 선택하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  15. 제13항에 있어서,
    상기 오버레이 관리 모듈은 웹브라우저에서 요청된 오브젝트를 수신할 피어 노드 선택 시 동일한 LAN 또는 동일한 ISP에 속한 피어 노드를 선택하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
  16. 제14항에 있어서,
    상기 오버레이 관리 모듈은 요청된 오브젝트를 수신할 피어 노드 선택시 오브젝트 파일명, 오브젝트 URI, 오브젝트와 연관된 웹문서 URL로 이루어진 그룹으로부터 선택된 어느 하나 또는 이들의 조합에 대해 해쉬한 값을 이용하여 DHT 방식에 의해 상기 요청된 오브젝트를 가진 피어 노드를 선택하는 것을 특징으로 하는 P2P를 이용한 웹 캐시 가속 시스템.
KR1020080050977A 2008-05-30 2008-05-30 P2p를 이용한 웹 캐시 가속 시스템 KR20090124646A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080050977A KR20090124646A (ko) 2008-05-30 2008-05-30 P2p를 이용한 웹 캐시 가속 시스템
PCT/KR2009/002911 WO2009145598A2 (ko) 2008-05-30 2009-06-01 P2p를 이용한 웹 캐시 가속 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080050977A KR20090124646A (ko) 2008-05-30 2008-05-30 P2p를 이용한 웹 캐시 가속 시스템

Publications (1)

Publication Number Publication Date
KR20090124646A true KR20090124646A (ko) 2009-12-03

Family

ID=41377818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080050977A KR20090124646A (ko) 2008-05-30 2008-05-30 P2p를 이용한 웹 캐시 가속 시스템

Country Status (2)

Country Link
KR (1) KR20090124646A (ko)
WO (1) WO2009145598A2 (ko)

Also Published As

Publication number Publication date
WO2009145598A3 (ko) 2010-02-11
WO2009145598A2 (ko) 2009-12-03

Similar Documents

Publication Publication Date Title
Trautwein et al. Design and evaluation of IPFS: a storage layer for the decentralized web
EP2813060B1 (en) A method for collaborative caching for content-oriented networks
D'Ambrosio et al. MDHT: A hierarchical name resolution service for information-centric networks
US8631091B2 (en) Content distribution network using a web browser and locally stored content to directly exchange content between users
JP5050095B2 (ja) P2pコンテンツ共有のための方法、システム、及びノード
US9608957B2 (en) Request routing using network computing components
US9065835B2 (en) Redirecting web content
US9813284B2 (en) Hybrid content delivery network (CDN) and peer-to-peer (P2P) network
US20070094279A1 (en) Service provision in peer-to-peer networking environment
US20100115613A1 (en) Cacheable Mesh Browsers
US20080040420A1 (en) Content distribution network
WO2011150830A1 (zh) 获取内容的方法、节点及内容网络
US20110099226A1 (en) Method of requesting for location information of resources on network, user node and server for the same
Zhang et al. A distributed in-network caching scheme for P2P-like content chunk delivery
US8244867B2 (en) System and method for the location of caches
WO2008017502A1 (en) Content distribution network
CN102055777A (zh) 一种通用的内容共享业务的实现方法及系统
US20100257256A1 (en) Method for downloading file in parallel
Aguilar et al. A hamming distance and fuzzy logic-based algorithm for P2P content distribution in enterprise networks
US20100293223A1 (en) Limiting storage messages in peer to peer network
US9805122B2 (en) Search engine and method for performing a search for objects that correspond to a search request
Lareida et al. Augmenting home routers for socially-aware traffic management
Zali et al. Peer-Assisted Information-Centric Network (PICN): A Backward Compatible Solution
Ben Brahim et al. Performance evaluation and comparison study of adaptive MANET service location and discovery protocols for highly dynamic environments
US20080288447A1 (en) Methods and apparatus for improving peer efficiency

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee