KR100397673B1 - 씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법 - Google Patents

씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법 Download PDF

Info

Publication number
KR100397673B1
KR100397673B1 KR10-2001-0025681A KR20010025681A KR100397673B1 KR 100397673 B1 KR100397673 B1 KR 100397673B1 KR 20010025681 A KR20010025681 A KR 20010025681A KR 100397673 B1 KR100397673 B1 KR 100397673B1
Authority
KR
South Korea
Prior art keywords
client
cache server
network
information
shared data
Prior art date
Application number
KR10-2001-0025681A
Other languages
English (en)
Other versions
KR20020086040A (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 KR10-2001-0025681A priority Critical patent/KR100397673B1/ko
Publication of KR20020086040A publication Critical patent/KR20020086040A/ko
Application granted granted Critical
Publication of KR100397673B1 publication Critical patent/KR100397673B1/ko

Links

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
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities

Landscapes

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

Abstract

본 발명은 CDN(Content Delivery Network)을 이용한 클라이언트간 직접 데이터 통신(이하, Peer-To-Peer ; P2P라함) 방법에 관한 것으로써, 클라이언트 서버 시스템의 종적인 네트워크 관계를 횡적인 P2P 시스템으로 연결하는 경우에 대하여, CDNSP(Content Delivery Network Service Provider)가 설치하여 운영하는 CDN(Content Delivery Network)망상의 캐시 서버를 통해 클라이언트에서 클라이언트로 데이터를 전송하고 자원을 공유함으로써, 클라이언트와 클라이언트 사이의 Middle-Mile에서 발생하는 전송 지연을 방지하고, 네트워크 자원의 소모를 최소화하며, 다자간 통신으로 정보 공유를 극대화하는 방법에 관한 것이다.

Description

씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법{Method for the P2P Data Communication with CDN}
본 발명은 클라이언트간 직접 데이터 통신 시(클라이언트 서버 시스템의 종적인 네트워크 관계를 횡적인 P2P 시스템으로 연결하는 경우)에 대하여, CDNSP(Content Delivery Network Service Provider)가 설치하여 운영하는 CDN(Content Delivery Network)망상의 캐시 서버를 통해 클라이언트에서 클라이언트로 데이터를 전송하고 자원을 공유함으로써, 클라이언트와 클라이언트 사이의 Middle-Mile에서 발생하는 전송 지연을 방지하고, 네트워크 자원의 소모를 최소화하며, 다자간 통신으로 정보 공유를 극대화하는 방법에 관한 것이다.
인터넷은 일부의 물리적인 네트워크 손실이 전체로 확산되는 것을 방지하기 위하여, 운용 중에 새로운 노드가 추가되거나 삭제되어도 전체 네트워크 시스템에미치는 영향이 비교적 적으며, 다양한 이기종간 데이터 통신을 가능하도록 개발된 네트워크이다. 인터넷은 미국 의 정부 부처와 대학의 장비를 연결하기 위해 미 국방부가 개발한 광역 패킷 스위칭 네트워크인 ARPANET(Advanced Research Projects Agency Network)이 1980년대 군사용 네트워크인 DDF(Defense Data Network)와 국립 과학 재단(National Science Foundation)의 후원을 받는 과학 및 학술용 슈퍼 컴퓨터 사이의 네트워크인 NSFNET으로 분리된 후, 1995년 NSFNET의 백본망이 PSINet, UUNET, ANS/AOL, 스프린트, MCI, 그리고 AGIS-Net99 등과 같은 상용 백본 제공업체의 컨소시엄으로 전환되면서, 오늘날과 같이 국가와 지역을 초월하는 네트워크로 발전하였다.
상기와 같은 특징에 의하여 인터넷은 기본적으로 호스트와 호스트를 연결하는 네트워크이며, 인터넷의 네트워크 구성 요소를 인터넷 서비스를 제공하는 서버와 그 서비스를 제공받는 클라이언트로 나누어진다. 이런 클라이언트 서버(Client/Server) 시스템은 운용에 관련된 모든 업무를 서버에서 처리하기 때문에 유지 및 관리가 쉽고, 호환성 문제를 줄일 수 있다는 장점이 있지만, 많은 사용자가 접속할 경우에 성능이 현저히 떨어지는 전송 지연과 같은 심각한 문제점을 포함하고 있다.
도면1은 컴퓨터를 인터넷에 연결하고, 컨텐츠 제공자(Content Provider;CP)와 연결 한 후, CP로부터 다양한 서비스를 제공받는 일반적인 방법에 대한 간단한블록도이다.
컴퓨터를 인터넷에 연결하는 대표적인 방법에는, 오프라인의 개인 컴퓨터를 인터넷 망에 연결하기 위해 개발된 ISP(Internet Service Provider) 접속 방법과, 기업, 학교, 관공서, 그리고 연구기관의 LAN(Local Area Network)망을 인터넷에 연결하기 위해 사용하는 인터넷 전용선을 이용한 방법 등이 있다.
ISP를 이용하여 인터넷에 접속하는 방법 중에서 상용화되어 있는 대표적인 방법에는 모뎀과 PSTN(Public Switched Telephone Network)망을 이용하여 접속하는 방법, ISDN(Integrated Services Digital Network)을 이용하여 접속하는 방법, ADSL(Asymmetric Digital Subscriber Line)을 이용하여 접속하는 방법, 그리고 케이블 모뎀을 이용하는 방법 등을 이용하여 인터넷에 접속하는 방법이 있으며, 이 외에도 CDSL(Consumer DSL), HDSL(High bit-rate DSL), IDSL(ISDN DSL), RADSL(Rate-Adaptive DSL), SDSL(Symmetric DSL), UDSL(Unidirectional DSL), 그리고 VDSL(Very high data rate DSL) 등과 같은 다양한 방법이 있다.
모뎀과 PSTN망을 이용하여 인터넷에 접근하는 방법은, 통신회사의 상용망과 국가 소유망을 포함하는 음성 위주의 공중전화망을 개인 컴퓨터에 탑재된 모뎀과 ISP 업체의 인터넷 제공 시스템에 탑재된 모뎀을 이용하여 인터넷에 접근하는 방법이다. 모뎀은 아날로그 신호를 디지털 신호로 변환하고, 디지털 신호를 아날로그신호로 변환하는 장치이며, 모뎀을 이용한 인터넷 접속 방법의 특징은 PSTN망의 음성 신호 영역을 이용하여 통신한다는 것이다.
ISDN을 이용하여 인터넷에 접근하는 방법은, 음성 등의 아날로그 데이터와 디지털 데이터를 동일한 네트워크를 통해 함께 통합 전송하는 방법으로써, 평범한 구리전화선에 대하여 CCITT/ITU(Comite Consultatif Internationale de Telegraphique et Telephonique or Consultative Committee on International Telephone and Telegraphy/ International Telecommunications Union) 표준을 이용하여 개인 컴퓨터와 ISP 업체의 인터넷 제공 시스템에 ISDN 어댑터를 설치하고, 한 개의 전화선을 이용하여 음성 신호 전화 서비스와 함께 인터넷 디지털 데이터 통신을 제공하는 것이다.
ADSL을 이용하여 인터넷에 접근하는 방법은, DSL(Digital Subscriber Line) 기술 중에서 최초로 상용화된 것으로써, ISDN과 마찬가지로 ISP 업체와 한 개의 전화선을 이용하여 아날로그 데이터와 디지털 데이터를 동일한 네트워크로 연결하는 방법이지만, 디지털 신호를 전송하는 대역폭이 아날로그 대역폭보다 높고, 업로드 대역폭과 다운로드 대역폭 중에서 다운로드 대역폭이 좀더 높기 때문에, VOD(Video On Demand) 서비스와 같은 하향 위주의 인터넷 서비스를 위해 개발된 인터넷 접근 방법이다.
케이블 모뎀을 이용하여 인터넷에 접근하는 방법은, 개인 컴퓨터를 케이블 모뎀을 이용하여 케이블 TV 회선에 연결하고, 이것을 동축 케이블을 이용하여 ISP 업체인 케이블 방송국의 CMTS(Cable Modem Termination System)와 연결하여 인터넷 서비스를 제공하는 것이다. 케이블 방송국의 CMTS는 케이블 모뎀 데이터를 인터넷 패킷 데이터로 바꾸어주는 장비이며, 케이블 시스템 내에 로컬 데이터를 위한 라우팅, 원치 않는 해킹으로부터 케이블 운영자들을 보호하기 위한 필터링, 그리고 가입자에게 서비스 품질을 보장하기 위한 트래픽 구체화 등을 포함한 기능 등을 제공한다.
기 서술한 방법 이외에 CDSL, HDSL, IDSL, RADSL, SDSL, UDSL, 그리고 VDSL과 같은 ISP를 이용하여 인터넷에 접근하는 방법은, 전송 속도, 전송 방식, 거리 제한, 활용 분야 등이 다를 뿐, DSL 기술을 바탕으로 하는 인터넷 접속 방법이다.
인터넷 전용선을 이용하여 인터넷에 접속하는 방법은 기업, 학교, 관공서, 그리고 연구기관 등에서 고정 IP 주소를 할당받은 컴퓨터로 기 구축되어 있는 LAN(Local Area Network)을 동일한 전송 프로토콜을 분리된 네트워크를 연결하는 장치인 라우터(Router), 또는 단위 데이터를 다음 목적지까지 전송하기 위해 경로 또는 회선을 선택하는 네트웍 장비인 스위치 등을 이용하여, 광역 통신 망(Wide Area Network;WAN)인 인터넷에 연결하는 방법이다.
기 서술한 인터넷 접근 방법에서 ISP 업체의 인터넷 제공 시스템이나 라우터 또는 스위치부터 인터넷을 통해 CP까지를 Middle-Mile이라고 하며, 인터넷 사용자의 컴퓨터에서 ISP 업체의 인터넷 제공 시스템이나 라우터 또는 스위치까지를 Last-Mile이라고 한다.
일반적으로 Last-Mile에서의 전송 지연은 ISP를 이용하여 인터넷에 연결하는 경우에 ISP 업체의 인터넷 제공 시스템에 대한 시스템 확장, 트래픽 관리, 그리고 한 라인에 연결되는 동시 접속자 수를 제한함으로써 해결할 수 있고, 인터넷 전용선을 이용하여 인터넷에 연결하는 경우에도 라우터 또는 스위치의 시스템 확장 등을 통해 비교적 쉽게 해결할 수 있다. 그러나 Middle-Mile에서의 전송 지연은 인터넷의 특성상 ISP 업체나 라우터 또는 스위치의 시스템 확장만으로는 해결이 거의 불가능하다.
Middle-Mile에서 전송 지연이 발생하는 원인 중에서 가장 대표적인 원인은, 인터넷의 네트워크 설계상의 구조적인 한계에 의한 것과 클라이언트 서버 시스템에 의한 것이 있으며, 각각의 원인에 대하여 간단히 설명하면 다음과 같다.
인터넷의 구조적인 한계에 의한 전송 지연은, 인터넷이 일부의 물리적인 네트워크 손실이 전체에 미치지 않도록 하기 위하여 지역적으로 가까운 호스트 사이의 연결에도 많은 노드를 거치도록 설계되어 있고, 이기종간 네트워크 연결의 진입장벽을 너무 낮춘 나머지 인터넷의 규모와 영역이 통제가 불가능할 만큼 무제한적으로 확장되고 있기 때문에 발생한다. 결국 인터넷의 데이터 패킷은 수없이 많은 노드를 지나면서 누락되는 현상이 발생하며, 이에 따라 재전송이 빈번하게 발생하고, 이것이 Middle-Mile에서 전송 지연을 발생시키는 원인이 된다.
클라이언트 서버 시스템에 의한 전송 지연은, 인터넷 상의 컨텐츠가 서버에 집중되어 있기 때문에, 특정 서버의 네트워크 설비가 급격한 사용자 수의 증가를 감당할 수 있는 능력이 미리 갖추어져 있지 않거나, 특정 컨텐츠의 높은 인기 때문에 사용자들의 접속이 몰려 웹 서버 폭주현상이 발생하는 경우에 웹 서버가 다운되거나 패킷 전송이 정상적으로 수행되지 않아 데이터 패킷에 대한 타임아웃 현상이 발생하기 때문이다.
이와 같은 전송 지연 문제는 이미 오래 전부터 제기되기 시작하였으며, 이미 많은 연구가 진행되었고 그 중 일부는 실용화되었다. 현재 실용화된 전송 지연 해결책의 대표적인 방법으로는 캐싱(Caching), 부하 조정(Load Balancing), 그리고 트래픽 관리(Traffic Mmanagement) 등과 같은 기술들이 있으며, 이 외에도 서버를 업그레이드하거나 또는 새롭게 증설하기도 하며, 서버를 분산시키는 IDC(Internet Data Center)를 통해 서버의 부담을 최소화시키는 방법들이 사용되고 있다. 그러나 기 서술한 해결책들은 기 서술한 데이터 패킷 누락과 재전송에 의한 전송 지연의 근본적인 해결책이 될 수 없다.
도면2는 CDN의 구성 요소인 CDN 캐시 서버, 컨텐츠 제공자, ISP 또는 라우터, 그리고 CDN을 이용하는 인터넷 사용자 등이 연결되어 있는 간단한 블록도이다.
CDN 캐시 서버는 CDNSP(CDN Service Provider)에 의해 ISP 업체가 운영하고 있는 인터넷 망, LAN, 그리고 MAN(Metropolitan Area Network)과 같은 특정한 지역 네트워크에 전력적으로 설치되는 서버 시스템이다. CDNSP는 기 서술한 지역 네트워크에 설치된 캐시 서버 네트워크를 효율적으로 운영되도록 관리하는 CDN 서비스 제공자로써, 캐시 서버를 이용하여 컨텐츠 제공자와 인터넷 사용자 사이의 Middle-Mile을 최소화하는 역할을 수행한다.
CP는 인터넷 사용자에게 컨텐츠를 제공하는 인터넷 상의 웹 서버로써, 인터넷 사용자로부터 컨텐츠 전송 요청이 들어오면, CP는 CDNSP를 참조하여 해당 인터넷 사용자와 Middle-Mile이 최소인 캐시 서버로 컨텐츠를 복제하고, 인터넷 사용자로 하여금 해당 캐시 서버로부터 컨텐츠를 전송 받도록 하는 실질적인 업무를 수행한다.
ISP 또는 라우터는 캐시 서버를 설치할 수 있는 공간(Edge Space)를 제공하고, 해당 ISP의 가입자 또는 지역 네트워크 상에 존재하는 인터넷 사용자들에게 CDN에 연결되는 게이트웨이 역할을 수행한다. 따라서 동일한 지역에서 동일한 ISP를 사용하는 가입자, 동일한 지역 네트워크 사용자는 동일한 캐시 서버를 통해 CDN서비스를 제공받게 된다.
CDN을 통해 컨텐츠를 제공받는 인터넷 사용자는 특별한 플러그인 프로그램이나 소프트웨어 사용 없이 웹브라우저를 통해 CDN에 연결되며, 인터넷 사용자는 서버가 다운되거나 폭주하지 않는 한, 전송 지연이 거의 없는 고수준 컨텐츠를 제공받을 수 있다.
도면3과 도면4는 인터넷에 연결된 모든 컴퓨터를 동등한 자격의 데이터 통신을 통해 데이터와 정보 및 주변 장치 등을 상호 공유할 수 있는 P2P(Peer-to-Peer) 통신에 대한 간단한 블록도로써, 특히 도면3은 중계 서버를 통해 P2P를 지원하는 클라이언트 사이의 통신을 효율적으로 관리하고, 정보 공유에 필요한 정보를 체계적으로 전달하는 하이브리드 P2P(Hybrid P2P;HP2P)에 대한 블록도이며, 도면4는 P2P를 지원하는 클라이언트 내부에 공유 자료에 대한 정보를 저장하고 있는 데이터베이스 시스템을 탑재하고, 각각의 클라이언트들이 자신의 내부 DB와 다른 P2P 지원 컴퓨터의 외부 DB를 교환함으로써, 상호간 P2P를 지원하는 순수 P2P(Pure P2P;PP2P)에 대한 블록도이다. 본 발명에서 P2P라 함은 하이브리드 P2P(HP2P)와 순수 P2P(PP2P)를 모두 일컫는 것이다.
도면2와 같은 CDN은 클라이언트 서버 시스템을 기반으로 하는 종적인 네트워크 시스템에 대한 전송 지연 방지 방법이기 때문에, 클라이언트 서버 시스템을 기반으로 하는 서버 집중식 네트워크의 구조적 문제, 즉 서버에 걸리는 부하와 트래픽 집중에 의한 전송 지연 및 시스템 다운에 대한 해결책을 제시할 수 없다. 결국 클라이언트 서버 시스템의 구조적인 문제에 의한 전송 지연을 방지하기 위해서는 서버에 집중되어 있는 자료와 정보 및 관리 시스템을 클라이언트로 분산 배치하고, 서버에서 이루어지던 자료와 네트워크의 관리 기능을 클라이언트의 상호 협력과 자원의 공유를 통해 효율적으로 처리할 수 있어야만 하며, 이와 같은 분산형 네트워크로의 전환 과정에서 P2P가 탄생하였다.
도면3은 냅스터(Naptster)나 소리바다와 같이 중계 서버를 이용하는 하이브리드 P2P 구성에 대한 간단한 블록도이다.
HP2P는 클라이언트 사이의 최초 통신 관계가 형성되기 전에 중계 서버의 중계를 필요로 하는 방식의 P2P이며, 일단 중계 서버를 통해 클라이언트 사이의 P2P가 형성되면 더 이상 중계 서버는 필요 없게 되며, 클라이언트와 클라이언트가 직접 정보를 전달하거나 자원을 공유한다.
HP2P를 지원하는 모든 컴퓨터는 서버 역할과 클라이언트 역할을 동시에 수행할 수 있는 응용프로그램을 탑재하고 있으며, 중계 서버는 이 응용프로그램으로부터 클라이언트들의 공유 자료에 대한 경로, 종류, 주석과 같은 정보를 D/B에 저장하고 있다. 따라서 HP2P에서 클라이언트 사이의 공유 자료 및 자원의 공유가 이루어지기 위해서 모든 클라이언트는 선행적으로 중계 서버에 로그인하여야만 한다.
HP2P에서 P2P 서비스를 제공받고자 하는 모든 클라이언트는 선행적으로 중계 서버에 로그인해야만 하며, 중계 서버에 로그인 한 클라이언트의 자신의 공유 자료 정보를 중계 서버로 전송하고, 중계 서버는 해당 정보를 D/B에 저장한다. 이렇게 저장된 공유 자료 정보는 해당 자료를 원하는 다른 클라이언트의 요청에 의해 가공되며, 중계 서버는 가공된 공유 자료 정보를 요청한 클라이언트로 전송한다.
HP2P에서 공유 자료에 대한 정보를 원하는 클라이언트는 상기 과정을 통해 먼저 자신의 공유 자료를 제공한 후, 해당 클라이언트에 내장된 P2P 응용프로그램을 통해 중계 서버로 원하는 자료에 대한 검색을 요청하고, 중계 서버는 요청한 자료에 대한 정보를 검색하고, 가공하여 해당 클라이언트로 전송한다. 중계 서버로부터 요청한 자료에 대한 정보를 전송 받은 클라이언트는, 이것을 바탕으로 해당 자료를 공유하고 있는 클라이언트에 접속하여 자료를 직접 다운로드 한다.
도면4는 그누텔라(Gnutella)와 같이 중계 서버 없이 P2P를 제공하는 순수 P2P에 대한 간단한 블록도이다.
PP2P는 지원하는 모든 클라이언트는 내부에 서버 역할과 클라이언트 역할을 동시에 수행할 수 있는 응용프로그램과, HP2P의 중계 서버에 탑재되어 있는 데이터베이스와 같은 공유 자료 정보를 저장하고 있는 D/B를 탑재하고 있는 형태의 P2P 이며, PP2P를 지원하는 클라이언트는 상호간 D/B 교환과 공유를 반복함으로써, 정보를 축적하고, 이렇게 축적된 정보를 바탕으로 필요한 자료에 대한 정보를 검색하고, 검색된 정보를 바탕으로 해당 클라이언트에 접속하여 자료를 직접 다운로드 한다.
PP2P에 신규 참여하는 클라이언트는 이미 PP2P에 참여하고 있는 클라이언트의 주소를 최초로 입력함으로써, 공유 자료 정보에 대한 데이터 축적이 시작된다. 기 축적된 PP2P 정보 데이터베이스를 포함하고 있는 클라이언트의 주소가 최초 입력된 클라이언트는 해당 클라이언트에게 공유 자료 정보 데이터 복사를 요청하고, 데이터 복사를 요청 받은 클라이언트는 자신의 내부 D/B를 복제한 후, 이것을 데이터 복사를 요청한 클라이언트로 전송한다.
최초 입력된 PP2P 클라이언트로부터 공유 자료 정보에 대한 데이터를 전송받은 클라이언트는 해당 데이터를 자신의 D/B에 저장한 후, 이것을 분석하여 PP2P에 참여하고 있는 새로운 클라이언트의 주소를 추출한다. 클라이언트는 추출된 주소를 바탕으로 해당 클라이언트들에게 공유 자료 정보 데이터 복사를 재요청하고, 이렇게 복사되어 전송된 데이터를 자신의 D/B에 갱신하거나 추가함으로써, 내부 D/B에 공유 자료 정보를 축적한다.
PP2P에 참여하고 있는 모든 클라이언트는 상기와 같은 과정을 반복적으로 수행함으로써 공유 정보 자료에 대한 데이터를 축적하고, 이렇게 축적된 데이터를 해당 클라이언트에서 필요한 외부 공유 자료를 즉각적으로 검색하고 다운로드 하는 것에 사용되거나, 데이터 복사를 요청하는 다른 클라이언트의 요청에 응답하여 전송하는 것에 사용된다.
일반적으로 상기에서 기 설명한 클라이언트 서버 시스템의 종적인 네트워크 관계를 횡적인 P2P 시스템으로 연결하는 P2P 시스템이 안고 있는 가장 큰 문제점은 사용자 폭주 시 발생하는 전송 지연 및 네트워크 자원의 소모이다. 즉, 근래 들어 동영상 파일과 같이 용량이 큰 파일의 정보공유 시 클라이언트 서버 시스템은 큰 부하를 받게 되어 시스템 다운과 같은 문제점을 종종 초래하게 된다.
상기와 같은 문제점들을 보완하기 위해 본 발명은 기존의 클라이언트간 데이터 직접 통신 시(클라이언트 서버 시스템의 종적인 네트워크 관계를 횡적인 P2P(Peer-to-Peer) 시스템으로 연결할 시)에 CDNSP(Content Delivery Network Service Provider)에서 제공하는 CDN(Content Delivery Network)망을 이용함으로써, 상기 P2P 시스템의 패킷 누락과 재전송 등에 의한 전송 지연을 막고 네트워크 자원을 최소화하며, 다자간 통신으로 정보 공유를 극대화시키는 방법을 제공함에 있으며, 보다 구체적으로 클라이언트와 클라이언트 사이의 Middle-Mile에서 발생하는 전송 지연을 상기 CDNSP가 설치하여 운영하는 캐시 서버를 이용하여 방지하는 방법, 각각의 클라이언트가 캐시 서버를 선택하는 방법, 그리고 선택된 캐시 서버를 통해 클라이언트에서 클라이언트로 데이터를 전송하고 자원을 공유하는 방법 및 그 부가 기능을 제공함에 있다.
도1은 컴퓨터를 인터넷에 연결하고, 컨텐츠 제공자(Content Provider;CP)와 연결 한 후, CP로부터 다양한 서비스를 제공받는 일반적인 방법에 대한 간단한 블록도이다.
도2는 CDN의 구성 요소인 CDN 캐시 서버, 컨텐츠 제공자, ISP 또는 라우터, 그리고 CDN을 이용하는 인터넷 사용자 등이 연결되어 있는 간단한 블록도이다.
도3은 냅스터(Naptster)나 소리바다와 같이 중계 서버를 이용하는 하이브리드 P2P 구성에 대한 간단한 블록도이다.
도4는 그누텔라(Gnutella)와 같이 중계 서버 없이 P2P를 제공하는 순수 P2P에 대한 간단한 블록도이다.
도5는 CDN의 캐시 서버를 통해 중계 서버를 이용하는 HP2P에서 클라이언트 사이의 통신을 위한 간단한 블록도이다.
도6은 CDN의 캐시 서버를 통해 중계 서버 없이 클라이언트와 클라이언트 사이의 데이터베이스 교환을 통해 운영되는 PP2P의 통신을 위한 간단한 블록도이다.
도7은 HP2P에서 공유 자료 정보를 중계 서버로 전송하는 프로토콜, 또는 PP2P에서 공유 자료 정보를 저장하고 있는 D/B를 복제하여 상호 교환하는 프로토콜 등에 CDN의 캐시 정보를 삽입하는 경우에 대한 간단한 예시도이다.
도8은 CDN의 캐시 서버를 이용하는 HP2P와 PP2P에 대하여, 외부 P2P 클라이언트에 대한 접속 과정에서 해당 클라이언트의 캐시 서버를 검색하는 경우에 대한 간단한 예시도이다.
도9는 상기와 같은 과정에 있어서 해당 P2P 응용프로그램 탑재된 경로 분석기를 통해 자신의 컴퓨터에서 목표 캐시 서버까지의 실제 경로를 표시하고 있는 간단한 예시도이다.
도10은 HP2P 프로토콜에 CDN의 캐시 서버 정보를 포함하고 있는 경우에 대하여, 공유 자료 정보 검색 및 이 정보에서 캐시 서버 정보를 추출하는 과정에 대한 간단한 흐름도이다.
도11은 PP2P 프로토콜에 CDN의 캐시 서버 정보를 포함하고 있는 경우에 대하여, PP2P 클라이언트 내부 공유 자료 정보 데이터베이스를 검색하고, 이 정보에서 캐시 서버 정보를 추출하는 과정에 대한 간단한 흐름도이다.
도12는 P2P 프로토콜 안에 캐시 서버 정보가 포함되어 있지 않은 경우에 대하여, 해당 클라이언트에 연결되어 있는 캐시 서버를 자동 검색하는 과정에 대한 흐름도이다.
도13은 도면12와 같은 과정을 통해 캐시 서버의 존재 여부를 확인한 후, 각각의 P2P 클라이언트에 탑재된 P2P 응용프로그램을 통해 CDN의 캐시 서버를 이용한P2P 망을 구성하는 과정에 대한 간단한 흐름도이다
<도면의 주요부분에 대한 설명>
500 : 중계 서버 510 : 인터넷
520 : 클라이언트 530 : 캐시 서버
본 발명은 클라이언트간 직접 데이터 통신 시(클라이언트 서버 시스템의 종적인 네트워크 관계를 횡적인 P2P 시스템으로 연결하는 경우)에 대하여, CDNSP(Content Delivery Network Service Provider)가 설치하여 운영하는 CDN(Content Delivery Network)망상의 캐시 서버를 통해 클라이언트에서 클라이언트로 데이터를 전송하고 자원을 공유함으로써, 클라이언트와 클라이언트 사이의 Middle-Mile에서 발생하는 전송 지연을 방지하고, 네트워크 자원의 소모를 최소화하며, 다자간 통신으로 정보 공유를 극대화하는 방법에 관한 것이다.
이하, 본 발명에 대하여 첨부도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 대해 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호로 표기되었음에 유의하여야 한다. 또한, 하기의 설명에서는 구체적인 구성소자 등과 같은 많은 특정사항들이 도시되어 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도면5는 CDN의 캐시 서버(530)를 통해 중계 서버(500)를 이용하는 HP2P에서 클라이언트(520) 사이의 통신을 위한 간단한 블록도이다.
도면5는 도면3과 같은 HP2P 시스템에 도면2와 같은 CDN 망을 결합한 경우로써, 캐시 서버(530)는 CDNSP에 의해 해당 클라이언트(520)의 ISP 또는 라우터 등에 연결되어 있으며, 캐시 서버(530)와 클라이언트(520) 사이, 즉 Last-Mile에서의 통신 속도 및 네트워크 자원은 해당 ISP나 라우터를 관리하는 네트워크 관리자에 의해 보장된다.
도면5에서 ISP 또는 라우터 등은 P2P 통신을 위해 클라이언트(520)가 선택하는 노드(node)이기 때문에 직접적으로 삽입하지 않았지만, 망 위상의 특성상 ISP나 라우터 등은 CDNSP에 의해 실제로 캐시 서버(530)가 설치될 수 있는 가장 적절한 위치이다.
도면5에서 중계 서버(500)는 도면2와 마찬가지로 각각의 클라이언트(520)의 공유 자료에 대한 정보를 저장하고 있는 D/B를 탑재하고 있으며, 클라이언트(520)는 중계 서버(500)에 로그인함과 동시에 자신의 공유 자료 정보를 중계 서버(500)에 전송함으로써 클라이언트(520) 사이의 데이터 통신 준비를 완료한다. 이와 같은 로그인 과정과 공유 자료 정보 전송과정은 기존 인터넷(510) 망을 이용할 수 있으며, 전송 데이터 용량이 많은 경우에 캐시 서버(530)를 통해 CDN망을 거쳐 전송될 수 있다.
상기 과정이 기존 인터넷(510) 망을 통해 전송되는 경우에는 도면3과 동일한 과정을 통해 수행되며, 캐시 서버(530)를 통해 CDN 망을 통해 전송되는 경우에는 다음과 같은 과정을 통해 수행된다.
클라이언트(520)가 중계 서버(500)에 접속하기 위해 해당 ISP 또는 해당 지역 네트워크 망의 DNS에 중계 서버(500)의 주소를 요청하면, ISP 또는 DNS는 중계 서버(500) 주소 대신에 ISP 또는 라우터에 연결되어 있는 캐시 서버(530) 주소를 해당 클라이언트(520)에게 전달한다.
중계 서버(500) 주소 대신에 ISP 또는 라우터에 직접 연결되어 있는 캐시 서버(530)의 주소를 전달받은 클라이언트(520)는 중계 서버(500)로 공유 자료 정보를 직접 전송하는 대신에 캐시 서버(530)로 해당 정보를 전송하고, 캐시 서버(530)는 CDN 망을 통해 이것을 중계 서버(500)로 전송하여 저장한다.
만약 상기와 같은 과정에 대하여 중계 서버(500)에도 캐시 서버(530)가 직접 연결되어 있다면, 다음과 같은 과정을 통해 중계 서버(500)로 필요한 데이터를 전송한다.
클라이언트(520)가 중계 서버(500)에 접속하기 위해 해당 ISP 또는 해당 지역 네트워크 망의 DNS에 중계 서버(500)의 주소를 요청하면, 해당 ISP 또는 DNS는 중계 서버(500)가 연결되어 있는 DNS에 중계 서버(500)의 주소를 요청하고, 이 DNS는 중계 서버(500)의 주소를 전달하는 대신에, 중계 서버(500)에 연결되어 있는 캐시 서버(530) 주소를 해당 클라이언트(520)에게 전달한다.
중계 서버(500) 주소 대신에 중계 서버(500)에 연결되어 있는 캐시 서버(530)의 주소를 전달받은 클라이언트(520)는 자신의 캐시 서버(530)와 중계 서버(500)의 캐시 서버(530)를 이용하는 CDN 망을 통해 중계 서버(500)의 캐시 서버(530)로 해당 정보를 전송하고, 캐시 서버(530)는 이것을 중계 서버(500)로 전송하여 저장한다.
상기 두 과정에서 CDN의 캐시 서버(530)와 HP2P의 중계 서버(500) 사이, 즉 Middle-Mile에서의 전송 지연에 의한 문제는 CDNSP의 CDN 망에 의해 보장된다.
도면6는 CDN의 캐시 서버(530)를 통해 중계 서버(500) 없이 클라이언트(520)와 클라이언트(520) 사이의 데이터베이스 교환을 통해 운영되는 PP2P의 통신을 위한 간단한 블록도이다.
도면6는 도면4과 같은 PP2P 시스템에 도면2와 같은 CDN 망을 결합한 경우로써, 캐시 서버(530)는 CDNSP에 의해 해당 클라이언트(520)의 ISP 또는 라우터 등에 연결되어 있으며, 캐시 서버(530)와 클라이언트(520) 사이, 즉 Last-Mile에서의 통신 속도 및 네트워크 자원은 해당 ISP나 라우터를 관리하는 네트워크 관리자에 의해 보장된다.
도면6에서 ISP 또는 라우터 등은 P2P 통신을 위해 클라이언트(520)가 선택하는 노드(node)이기 때문에 직접적으로 삽입하지 않았지만, 망 위상의 특성상 ISP나 라우터 등은 CDNSP에 의해 실제로 캐시 서버(530)가 설치될 수 있는 가장 적절한 위치이다.
도면6에서 각각의 클라이언트(520)는 도면4와 마찬가지로 공유 자료에 대한 정보를 저장하고 있는 D/B를 탑재하고 있으며, PP2P에 신규 참여하는 클라이언트(520)는 도면4와 같이 기존 PP2P 클라이언트(520)의 주소를 최초로 입력하여 해당 클라이언트(520)의 공유 자료 정보 D/B를 복제함으로써, 공유 자료 정보가 내부 D/B에 축적이 시작되고, 이와 같은 작업을 지속적으로 반복함으로써 내부 D/B에 저장되는 공유 자료 정보가 추가되거나 갱신된다.
상기 과정이 기존 인터넷(510) 망을 통해 전송되는 경우에는 도면4와 동일한 과정을 통해 수행되며, 캐시 서버(530)를 통해 CDN 망을 통해 전송되는 경우에는 다음과 같은 과정을 통해 수행된다.
PP2P에 참여하는 신규 클라이언트(520)가 최초로 기존 PP2P 클라이언트(520) 주소를 입력하고, 해당 클라이언트(520)에 접속하기 위해 ISP 또는 해당 지역 네트워크 망의 DNS에 기존 PP2P 클라이언트(520)의 주소를 요청하면, ISP 또는 DNS는 이 요청을 기존 PP2P 클라이언트(520)가 연결된 DNS에 전송한다. 기존 PP2P 클라이언트(520)에 연결된 DNS는 해당 클라이언트(520) 주소 대신에 그 클라이언트(520)가 사용하는 캐시 서버(530) 주소를 전달하고, 해당 클라이언트(520)는 자신이 사용하는 캐시 서버(530)로 D/B를 복사한다.
기존 PP2P 클라이언트(520) 주소 대신에 해당 클라이언트(520)가 사용하는 캐시 서버(530)의 주소를 전달받은 클라이언트(520)는 자신에게 연결되어 있는 캐시 서버(530)를 통해 CDNSP가 제공하는 CDN망을 이용하여 기존 PP2P 클라이언트(520)가 사용하는 캐시 서버(530)로부터 복사된 공유 자료 데이터를 전송 받는다.
PP2P에서 각각의 클라이언트(520) 내부 D/B에 저장하고 있는 공유 자료 정보는 해당 클라이언트(520)의 하드디스크 용량이 허용하는 한, 무제한으로 증가할 수있으며, 경우에 따라 실제 공유 자료 크기보다 공유 자료 정보 D/B 용량이 더 큰 경우도 발생할 수 있다. 이와 같은 경우에 대하여 각각의 클라이언트(520)에게 저장되어 공유 자료 및 내부 D/B의 전송에 CDN을 사용함으로써, 공유 자료는 물론 방대한 분량의 공유 자료 정보 데이터도 전송 지연 없이 고속으로 전송할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 단, 다음의 실시 예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 한 가지이며, 본 발명이 다음의 실시 예로 한정되지는 않는다.
본 발명의 실시 예는 CDN의 캐시 서버(530)를 이용하여 P2P 운용하는 과정에서 각각의 클라이언트(520)가 데이터 통신을 위해 캐시 서버(530)를 선택하는 방법, 그리고 이렇게 선택된 캐시 서버(530)를 통해 데이터를 전송하는 방법에 대하여 다룬다.
도면7은 HP2P에서 공유 자료 정보를 중계 서버(500)로 전송하는 프로토콜, 또는 PP2P에서 공유 자료 정보를 저장하고 있는 D/B를 복제하여 상호 교환하는 프로토콜 등에 CDN의 캐시 정보를 삽입함으로써, CDN을 이용하는 P2P 시스템의 클라이언트(520)간 데이터 통신 과정에서 캐시 서버(530)를 통해 전송 지연 없이 고속으로 데이터를 전송하도록 하는 경우에 대한 간단한 예시도이다.
HP2P의 경우에 대하여, CDNSP는 각각의 ISP와 지역 네트워크 망에 캐시 서버(530)를 운영하고 있으며, 중계 서버(500)는 CDNSP와의 전략적 제휴에 의해 캐시 서버(530)로 이루어진 CDN 망을 이용할 수 있다면, 중계 서버(500) 운영자가 제공하는 HP2P 응용프로그램의 프로토콜에 CDNSP가 운영하는 캐시 서버(530) 정보를 삽입할 수 있다.
HP2P 프로토콜에 삽입되는 캐시 서버(530) 정보는 해당 클라이언트(520)가 HP2P 서비스를 최초 시작하기 위해 중계 서버(500)에 대하여 회원 가입을 하는 과정에서 확인되거나, HP2P 응용프로그램을 실행하고 중계 서버(500)로 로그인하는 과정에서 확인 될 수 있다.
PP2P의 경우에 대하여, CDNSP는 각각의 ISP와 지역 네트워크 망에 캐시 서버(530)를 운영하고 있으며, 해당 클라이언트(520)에서 PP2P 응용프로그램이 실행되면, 선행적으로 자신의 네트워크 정보와 ISP 및 지역 네트워크망 등을 분석하고, 이 정보를 바탕으로 해당 클라이언트(520)에 연결되어 있는 캐시 서버(530)를 검색한다.
상기와 같은 검색을 통해 해당 클라이언트(520)에 연결되어 있는 캐시 서버(530)를 찾게 되면, PP2P 응용프로그램은 자신의 PP2P 프로토콜에 검색된 캐시 서버(530) 정보를 삽입하고, 이 정보를 공유 정보 자료와 함께 다른 PP2P 클라이언트(520)와 교환함으로써 PP2P 망에 CDN의 캐시 서버(530)를 이용한 초고속 통신을 제공할 수 있다.
도면8은 CDN의 캐시 서버(530)를 이용하는 HP2P와 PP2P에 대하여, 해당 P2P 응용프로그램을 시작한 후, 공유 자료를 실제로 저장하고 있는 외부 P2P 클라이언트(520)에 대한 접속 과정에서 해당 클라이언트(520)의 캐시 서버(530)를 검색함으로써, CDN을 이용하는 P2P 시스템의 클라이언트(520)간 데이터 통신 과정에서 캐시 서버(530)를 통해 전송 지연 없이 고속으로 데이터를 전송하도록 하는 경우에 대한 간단한 예시도이다.
도면8은 기존의 P2P 시스템을 그대로 유지하면서, 클라이언트(520)에게 제공되는 P2P 응용프로그램에 CDN의 캐시 서버(530)를 검색하고, 이렇게 검색된 캐시 서버(530)를 이용하여 Middle-Mile 최소인 CDN 망을 통해 전송 지연 없이 클라이언트(520)간 P2P 통신을 고속으로 처리할 수 있는 방법을 제공한다.
도면8과 같은 CDN 망을 이용한 P2P 서비스를 제공하기 위해, P2P 응용프로그램 제공자는 CDNSP와 전략적 제휴를 통해 P2P 클라이언트(520)들이 해당 CDN 망을 사용할 수 있는 서비스를 준비하고, HP2P 및 PP2P를 운용하고 있던 기존 클라이언트(520)들에게 자신이 연결되어 있는 캐시 서버(530)와 외부 클라이언트(520)의 네트워크 정보를 분석하여 해당 클라이언트(520)에 연결되어 있는 캐시 서버(530)를검색하고, 이것을 이용하여 CDN 망에 접근할 수 있는 P2P 응용프로그램을 공급한다.
상기와 같은 P2P응용프로그램은 기존 P2P 시스템의 데이터베이스는 그대로 이용하면서, 외부 클라이언트(520)에 접속하여 공유 자료를 다운로드 과정에서 캐시 서버(530)를 검색하기 때문에 기존 P2P 시스템에서 쉽게 확장할 수 있다는 장점이 있다.
기존 P2P 클라이언트(520)들은 자신들이 운용하고 있던 각각의 HP2P와 PP2P 시스템에 대하여 주어진 규칙에 의해 공유 자료 정보를 분석하고, P2P 응용프로그램이 해당 외부 클라이언트(520)에 접속하는 과정에서 자신에게 연결되어 있는 캐시 서버(530)와 공유 자료를 실제로 저장하고 있는 외부 클라이언트(520)에 연결되어 있는 캐시 서버(530)를 분석함으로써, 캐시 서버(530)를 이용하는 CDN 망을 통해 데이터 전송을 하게 된다.
도면9는 상기와 같은 과정을 통해 P2P 시스템이 캐시 서버(530)를 이용하는 CDN 망을 통해 데이터를 송수신하는 경우에 대하여, 해당 P2P 응용프로그램 탑재된 경로 분석기를 통해 자신의 컴퓨터에서 목표 캐시 서버(530)까지의 실제 경로를 표시하고 있는 간단한 예시도이다.
CDN을 이용하는 P2P 시스템의 경우에, 데이터를 다운로드 중인 클라이언트(520) 입장에서 실제 데이터를 송신하고 있는 것은 공유 자료를 저장하고 있는 외부 클라이언트(520)에 연결되어 있는 캐시 서버(530)이며, 데이터를 전송하고 있는 외부 클라이언트(520) 입장에서 데이터를 수신하고 있는 것은 해당 클라이언트(520)에 연결되어 있는 캐시 서버(530)이다. 따라서 다운로드 중인 P2P 시스템 입장에서 보면, 데이터는 데이터를 전송하고 있는 클라이언트(520)에 연결되어 있는 캐시 서버(530)에서, 자신이 연결되어 있는 캐시 서버(530)를 통해, 자신의 컴퓨터로 전송되고 있으며, 실제 공유 데이터를 전송하고 있는 외부 클라이언트(520)는 경로 상에 나타나지 않는다. 그러나 도면9의 상단부에 있는 목표 컴퓨터(=공유 자료를 저장하고 있는 클라이언트(520))의 주소를 확인하면, 실제 공유 데이터를 전송하고 있는 것은 캐시 서버(530)가 아니라, 해당 캐시 서버(530)로 데이터를 복제하고 있는 외부 클라이언트(520)임을 확인할 수 있다.
도면10은 HP2P 프로토콜에 CDN의 캐시 서버(530) 정보를 포함하고 있는 경우에 대하여, HP2P 클라이언트(520)가 중계 서버(500)에 접속하여 공유 자료 정보를 검색하고, 이 정보에서 캐시 서버(530) 정보를 추출하는 과정에 대한 간단한 흐름도이다.
HP2P 클라이언트(520)는 다운로드를 원하는 자료를 검색하기 위해 중계 서버(500)에 접속하고(1000), 질의를 통해 중계 서버(500)에 로그인되어 있는 HP2P클라이언트(520)들의 공유 자료 정보를 저장하고 있는 데이터베이스를 검색한다(1005).
중계 서버(500)는 검색 결과가 존재하면 해당 결과를 정보 검색을 요청한 클라이언트(520)로 전송하고(1020), 그렇지 않은 경우에는(1010) 검색 결과가 존재하지 않는다는 메시지를 해당 클라이언트(520)에 출력시킨다(1015).
중계 서버(500)로부터 검색 결과를 전송 받은 클라이언트(520)는 해당 검색 결과에 캐시 서버(530) 정보가 있는 지 확인한다(1025). 만약 검색 결과에 대한 각각의 공유 자료 및 해당 클라이언트(520)들에 연결되어 있는 캐시 서버(530)가 존재한다면, HP2P 클라이언트(520)는 그 내용을 출력하고(1035), 그렇지 않다면 캐시 서버(530) 정보를 출력하지 않는다(1030). HP2P 클라이언트(520)는 상기와 같은 캐시 서버(530) 정보 출력 작업을 모든 검색 결과에 대하여 반복한다.
일반적으로 캐시 서버(530)는 CDNSP에 의해 설치, 관리, 운영된다. HP2P 클라이언트(520)들과 중계 서버(500)는 CDNSP가 제공하는 캐시 서버(530)를 이용하여 클라이언트(520)간 P2P 데이터 통신을 연결하며, CDN의 특성상 모든 HP2P 클라이언트(520)에 캐시 서버(530)가 연결되지 않을 수도 있기 때문에 상기와 같은 과정을 통해서 각각의 클라이언트(520)에 대한 캐시 서버(530) 정보 분석이 필요하다.
도면11은 PP2P 프로토콜에 CDN의 캐시 서버(530) 정보를 포함하고 있는 경우에 대하여, PP2P 클라이언트(520) 내부 공유 자료 정보 데이터베이스를 검색하고, 이 정보에서 캐시 서버(530) 정보를 추출하는 과정에 대한 간단한 흐름도이다.
PP2P 클라이언트(520)는 내부 공유 자료 데이터베이스에 외부 PP2P 클라이언트(520)에서 다운로드 받고자 하는 공유 자료 정보가 존재하는지 검색한다(1100). 만약 검색 결과가 존재한다면, 각각의 PP2P 클라이언트(520)에 대하여 캐시 서버(530) 정보가 존재하는지 확인하고(1115), 그렇지 않다면(1105), 검색 결과가 존재하지 않음을 화면에 출력한다(1110).
검색 결과가 존재하는 경우에 대하여, 각각의 PP2P 클라이언트(520)에 대하여 캐시 서버(530) 정보가 존재하면, PP2P 클라이언트(520)는 해당 캐시 서버(530) 정보를 화면에 출력하고(1125), 그렇지 않다면(1120), 캐시 서버(530) 정보를 출력하지 않는다. PP2P 클라이언트(520)는 상기와 같은 캐시 서버(530) 정보 출력 작업을 모든 검색 결과에 대하여 반복한다.
CDNSP에 운영되는 캐시 서버(530)는 모든 PP2P 클라이언트(520)에 CDN 망을 제공할 수 없으며, 각각의 PP2P 클라이언트(520)에 대한 캐시 서버(530) 정보는 PP2P 클라이언트(520) 사이에서 반복 교환되는 공유 자료 정보 프로토콜에 포함되어 있다.
도면12는 P2P 프로토콜 안에 캐시 서버(530) 정보가 포함되어 있지 않은 경우에 대하여, P2P 클라이언트(520)가 공유 자료를 저장하고 있는 P2P 클라이언트(520)에서 자료를 전송 받기 위해 해당 클라이언트(520)에 연결되어 있는 캐시 서버(530)를 자동 검색하는 과정에 대한 흐름도이다.
P2P 프로토콜 안에 캐시 서버(530) 정보가 포함되어 있는 않은 경우에 대하여, P2P 클라이언트(520)가 캐시 서버(530)를 통해 CDN 망을 구성하기 위해서는 P2P를 구성하는 모든 클라이언트(520)에 캐시 서버(530)가 연결되어 있어야만 한다. 따라서 P2P 클라이언트(520)가 CDN 망을 이용한 P2P를 구성하기 위하여 공유 자료를 요청하는 클라이언트(520)에 캐시 서버(530)가 연결되어 있는지 네트워크 정보를 참조하여 검색한다(1200). 만약 공유 자료를 요청하는 클라이언트(520)에 캐시 서버(530)가 연결되어 있다면, P2P 클라이언트(520)는 공유 자료를 저장하고 있는 클라이언트(520)에 접속하여(1215) 캐시 서버(530)가 연결되어 있는지 해당 클라이언트(520)의 네트워크 정보를 참조하여 검색하고(1220), 그렇지 않다면, CDN을 이용하여 P2P 망을 구성할 수 없다는 메시지를 출력시킨다(1210).
상기와 같이 공유 자료를 저장하고 있는 P2P 클라이언트(520)에 캐시 서버(530)가 연결되어 있는지 검색 한 후(1220), 만약 해당 P2P 클라이언트(520)에 캐시 서버(530)가 연결되어 있음을 확인하면, 공유 자료를 요청한 P2P 클라이언트(520)에 연결되어 있는 캐시 서버(530)와 공유 자료를 저장하고 있는P2P 클라이언트(520)에 연결되어 있는 캐시 서버(530)를 이용하여 CDN 망을 이용하는 P2P 데이터 통신을 연결하고(1235), 그렇지 않다면, 해당 클라이언트(520)와 CDN을 이용한 P2P 통신만을 구성할 수 없다는 메시지를 출력시킨다(1230).
HP2P에서 중계 서버(500)를 이용하는 경우에 대하여 상기와 같은 과정은 네트워크 정보를 직접 분석하여 캐시 서버(530)를 검색하는 것과, HP2P 클라이언트(520)가 중계 서버(500)에 로그인하는 과정에서 클라이언트(520)의 캐시 서버(530) 정보를 중계 서버(500) 전송하고 이것을 분석하여 캐시 서버(530)의 존재 여부를 확인하는 과정이 제한적으로 사용될 수 있다.
도면13은 도면12와 같은 과정을 통해 캐시 서버(530)의 존재 여부를 확인한 후, 각각의 P2P 클라이언트(520)에 탑재된 P2P 응용프로그램을 통해 CDN의 캐시 서버(530)를 이용한 P2P 망을 구성하는 과정에 대한 간단한 흐름도이다.
도면12와 같은 과정을 통해 각각의 클라이언트(520)에 대하여 캐시 서버(530) 존재 여부를 확인한 후, 공유 자료를 요청한 클라이언트(520)는 공유 자료를 저장하고 있는 클라이언트(520)에 접속하여(1300) 해당 캐시 서버(530)의 주소를 요청하고(1305), 캐시 서버(530) 주소를 요청 받은 클라이언트(520)는 해당 캐시 서버(530)의 주소를 전송한다(1310).
공유 자료를 저장하고 있는 클라이언트(520)에 연결되어 있는 캐시 서버(530)의 주소를 전송 받은 클라이언트(520)는 도면9와 같은 CDN 경로를 결정하고(1315), 경로가 결정되면 공유 자료를 저장하고 있는 클라이언트(520)는 해당 공유 자료를 자신에게 연결되어 있는 캐시 서버(530) 복사하고(1325), 이 캐시 서버(530)는 결정된 경로를 따라 공유 자료를 요청한 클라이언트(520)에 연결되어 있는 캐시 서버(530)로 복사하고(1330), 공유 자료를 요청한 클라이언트(520)는 자신에게 연결되어 있는 캐시 서버(530)로부터 데이터를 전송 받는다.
상기와 같은 과정은 모든 데이터를 복사할 때까지 반복되며, 전송이 완료되면 경로상의 모든 캐시 서버(530)에 임시 저장되어 있던 전송 데이터를 삭제하고(1340), CDN을 이용한 P2P 통신을 종료한다.
본 발명에 따르면, 클라이언트 서버 시스템의 종적인 네트워크 관계를 횡적인 P2P 시스템으로 연결하는 경우에 대하여, CDNSP(Content Delivery Network Service Provider)가 설치하여 운영하는 CDN(Content Delivery Network)망상의 캐시 서버를 통해 클라이언트에서 클라이언트로 데이터를 전송하고 자원을 공유함으로써, 클라이언트와 클라이언트 사이의 Middle-Mile에서 발생하는 전송 지연을 방지하고, 네트워크 자원의 소모를 최소화하며, 다자간 통신으로 정보 공유를 극대화하는 장점이 있으며, 이를 통해 CDNSP(Content Delivery Network ServiceProvider) 사업자의 경우 기 구축된 CDN 망을 보다 능률적으로 활용할 수 있으며, 이를 이용하는 클라이언트로 하여금 클라이언트간 직접 데이터 통신시 자주 발생하는 전송 지연 및 시스템 성능 저하 문제를 해결할 수 있도록 하는 효과가 있다.

Claims (3)

  1. 삭제
  2. ISP(Internet Service Provider)와 지역 네트워크 망에 연결되는 캐시 서버와 상기 캐시 서버를 이용하여 클라이언트간 데이터를 직접 송·수신하는 송·수신 클라이언트를 포함하여 이루어지는 것을 특징으로 하는 CDN(Content Delivery Network)을 이용한 클라이언트간 직접 데이터 통신방법에 있어서,
    상기 수신 클라이언트에게 제공하는 공유 데이터를 공유하는 송신 클라이언트에서 상기 공유 데이터의 공유 정보와 상기 송신 클라이언트와 연결되는 캐시서버 정보를 소정의 데이터베이스에 저장하는 단계;
    상기 송신 클라이언트에서 상기 공유 데이터를 상기 송신 클라이언트와 연결된 캐시서버에 저장시키는 단계;
    상기 공유 데이터를 제공받기를 원하는 상기 수신 클라이언트에서 상기 공유 데이터의 공유 정보를 검색하는 단계;
    상기 수신 클라이언트에서 상기 검색 결과에 따라 상기 공유 데이터의 공유 정보를 저장하는 상기 송신 클라이언트로부터 상기 공유 데이터가 저장된 캐시서버 정보를 제공받는 단계;
    상기 수신 클라이언트에서 상기 캐시서버 정보를 근거로 CDN(Content Delivery Network)망을 통해 상기 캐시서버와 상기 공유 데이터의 이동 경로를 설정하는 단계; 및
    상기 캐시서버에서 상기 설정된 CDN(Content Delivery Network)망 상의 이동 경로를 통해 상기 공유 데이터를 상기 수신 클라이언트에게 제공하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 CDN(Content Delivery Network)을 이용한 클라이언트간 직접 데이터 통신방법.
  3. ISP(Internet Service Provider)와 지역 네트워크 망에 연결되는 캐시 서버와 상기 캐시 서버를 이용하여 클라이언트간 데이터를 직접 송·수신하는 송·수신 클라이언트와 상기 송·수신 클라이언트의 연결을 중계하는 중계서버를 포함하여 이루어지는 것을 특징으로 하는 CDN(Content Delivery Network)을 이용한 클라이언트간 직접 데이터 통신방법에 있어서,
    상기 송신 클라이언트에서 상기 공유 데이터를 상기 송신 클라이언트와 연결된 캐시서버에 저장시키는 단계;
    상기 수신 클라이언트에게 제공하는 공유 데이터를 공유하는 송신 클라이언트에서 상기 공유 데이터의 공유 정보와 상기 송신 클라이언트와 연결되는 캐시서버 정보를 상기 중계서버로 제공하는 단계;
    상기 중계서버에서 상기 송신 클라이언트로부터 제공받은 상기 공유 데이터의 공유 정보와 상기 공유 데이터가 저장되는 캐시서버 정보를 소정의 데이터베이스에 저장하는 단계;
    상기 공유 데이터를 제공받기를 원하는 상기 수신 클라이언트가 상기 중계서버에 접속하여 상기 공유 데이터의 공유 정보를 검색하는 단계;
    상기 중계서버에서 상기 수신 클라이언트에게 상기 검색 결과에 따른 상기 공유 데이터의 공유 정보와 상기 공유 데이터가 저장된 캐시서버 정보를 제공하는 단계;
    상기 수신 클라이언트에서 상기 중계서버로부터 제공받은 상기 캐시서버 정보를 근거로 CDN(Content Delivery Network)망을 통해 상기 캐시서버와 상기 공유 데이터의 이동 경로를 설정하는 단계; 및
    상기 캐시서버에서 상기 설정된 CDN(Content Delivery Network)망 상의 이동 경로를 통해 상기 공유 데이터를 상기 수신 클라이언트에게 제공하는 단계;를 포함하여 이루어지는 것을 특징으로 하는 CDN(Content Delivery Network)을 이용한 클라이언트간 직접 데이터 통신방법.
KR10-2001-0025681A 2001-05-11 2001-05-11 씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법 KR100397673B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0025681A KR100397673B1 (ko) 2001-05-11 2001-05-11 씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0025681A KR100397673B1 (ko) 2001-05-11 2001-05-11 씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법

Publications (2)

Publication Number Publication Date
KR20020086040A KR20020086040A (ko) 2002-11-18
KR100397673B1 true KR100397673B1 (ko) 2003-09-13

Family

ID=27704525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0025681A KR100397673B1 (ko) 2001-05-11 2001-05-11 씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법

Country Status (1)

Country Link
KR (1) KR100397673B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7821945B2 (en) 2005-01-08 2010-10-26 Sejong Industry-Academy Cooperation Foundation Method of downloading data in peer-to-peer service of wired and wireless integrated network and node therefor

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020095706A (ko) * 2001-06-15 2002-12-28 아라정보기술 주식회사 피투피방식에 의한 검색어 조회 방법
KR20040073630A (ko) * 2003-02-14 2004-08-21 주식회사 케이티 Cdn 서비스 제공자간 컨텐츠 공유시스템 및 방법
CN100486193C (zh) 2004-09-29 2009-05-06 腾讯科技(深圳)有限公司 多策略的p2p连接建立方法
KR100852198B1 (ko) * 2006-12-05 2008-08-13 삼성전자주식회사 디스커버리 장치 및 그 방법
CN101471855B (zh) * 2007-12-29 2012-12-12 华为终端有限公司 一种通信设备及其应用方法、***
KR101066872B1 (ko) * 2008-10-30 2011-09-26 에스케이텔레콤 주식회사 캐시서버를 이용한 컨텐츠 전송시스템 및 방법, 그 캐시서버

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7821945B2 (en) 2005-01-08 2010-10-26 Sejong Industry-Academy Cooperation Foundation Method of downloading data in peer-to-peer service of wired and wireless integrated network and node therefor

Also Published As

Publication number Publication date
KR20020086040A (ko) 2002-11-18

Similar Documents

Publication Publication Date Title
US7852767B2 (en) Methods and apparatus for routing in a network
CN100484069C (zh) 一种文件数据分发方法及相关设备
US7924818B2 (en) Method and apparatus for providing integrated voice and data services over a common interface device
US7734651B1 (en) Communicating network information using universal resource locators
US6594260B1 (en) Content routing
US20030115340A1 (en) Data transmission process and system
JP2000078208A (ja) 情報提供方法
US20150127837A1 (en) Relay apparatus and data transfer method
AU2004308121B2 (en) Resource sharing broadband access system, methods, and devices
KR100369900B1 (ko) 씨디엔을 이용한 웹하드 운영 및 관리 방법
US20120047248A1 (en) Method and System for Monitoring Flows in Network Traffic
KR100397673B1 (ko) 씨디엔을 이용한 클라이언트간 직접 데이터 통신 방법
US20180323989A1 (en) Methods, apparatuses and computer-readable mediums for managing multicast channels in access networks
RU2316124C2 (ru) Динамическая маршрутизация на основе файлов в системе широкополосной связи
KR101445047B1 (ko) 토폴로지 서버의 지원으로 통신 아키텍처에 분산된 노드의 네트워크에 대한 기밀 또는 보호 액세스
JP3655575B2 (ja) ゲートウェイ装置
Cisco General Commands
JP3682439B2 (ja) データ通信システム及び方法、サーバ装置、クライアント装置、並びにプログラム
Cisco Release Notes for Cisco IOS Release 11.2 F
Cisco Release Notes for Cisco IOS Release 11.2 F
KR100911805B1 (ko) 웹 사용자와 서버간 루팅 정보 갱신방법 및 기록매체
KR100283997B1 (ko) 대용량 통신처리시스템에 있어서 웹 인포샵 서비스 시스템의단일한 정보 제공자 주소 제공방법
KR20020072918A (ko) 다중 인터넷 회선을 이용한 트래픽 분산 방법
JP2004112047A (ja) 情報挿入を行う通信方法および通信装置
Kagadis Christos Alexakos

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: 20120830

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130830

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee