KR20150041253A - 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법 - Google Patents

디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법 Download PDF

Info

Publication number
KR20150041253A
KR20150041253A KR20130119273A KR20130119273A KR20150041253A KR 20150041253 A KR20150041253 A KR 20150041253A KR 20130119273 A KR20130119273 A KR 20130119273A KR 20130119273 A KR20130119273 A KR 20130119273A KR 20150041253 A KR20150041253 A KR 20150041253A
Authority
KR
South Korea
Prior art keywords
content
specific content
terminal
terminals
server
Prior art date
Application number
KR20130119273A
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 KR20130119273A priority Critical patent/KR20150041253A/ko
Priority to US14/504,381 priority patent/US20150100665A1/en
Publication of KR20150041253A publication Critical patent/KR20150041253A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
    • 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/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

디지털 사이니지 환경에서 컨텐츠를 효율적으로 배포하는 방법을 제공함과 더불어 배포방식의 안정성을 확보하기 위한 디지털 디스플레이 단말, 컨텐츠 서버를 제시한다. 제시된 방법은 단말이 오버레이 네트워크를 통해 컨텐츠를 수신하는 방법으로서, 특정 컨텐트에 대한 식별정보, 특정 컨텐트에 대한 오버레이 네트워크 식별정보 및 오버레이 네트워크에 대한 컨텐츠 서버 내 트래커 서버 기능부의 주소를 포함하는 배포플랜을, 컨텐츠 서버 또는 오버레이 네트워크내의 다른 단말로부터 통지받는 단계, 컨텐츠 서버 또는 다른 단말로부터 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 트래커 서버 기능부의 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하는 단계, 목록 내의 단말들 중 하나 이상의 단말로부터 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 수신하는 단계, 및 보유정보를 근거로 하나 이상의 단말로부터 특정 컨텐트를 수신하는 단계를 포함한다.

Description

디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법{Digital display terminal, contents server, and contents transmitting and receiving method}
본 발명은 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법에 관한 것으로, 보다 상세하게는 디지털 사이니지 환경에서 디지털 사이니지 서버와 단말들 간에 P2P 방식 등을 이용하여 컨텐츠를 배포, 수신하는 방법 및 장치에 관한 것이다.
디지털 사이니지(digital signage)란 기업들의 마케팅, 광고, 트레이닝 효과 및 고객 경험을 유도할 수 있는 커뮤니케이션 툴로서, 공항이나 호텔, 병원 등 공공 장소에서 방송 프로그램뿐만 아니라 특정한 정보를 함께 제공할 수 있는 디지털 영상 장치 또는 시스템을 말한다.
다시 말해서, 디지털 사이니지란 디지털 정보 디스플레이(DID)를 이용한 옥외광고로서, 관제센터에서 통신망을 통해 광고 내용을 제어할 수 있는 광고판을 말하기도 한다.
이러한 디지털 사이니지는 기존 상업용 디지털 정보 디스플레이(DID)에 주요 기능을 제어할 수 있는 소프트웨어나 관리 플랫폼까지 종합적으로 공급하는 것을 특징으로 한다
이와 같은 디지털 사이니지 환경에서, 안정적인 서비스 제공을 위해 대다수의 디지털 사이니지 서버는 모든 단말들에게 미리 컨텐츠를 배포하고 있다.
이러한 배포방식의 경우 고용량의 고화질 컨텐츠를 많은 수의 단말에 배포함에 있어서 시스템의 부하 측면, 배포의 효율성 측면에서 문제가 있다. 또한, 많은 수의 단말이 동시에 컨텐츠를 갱신하는 경우에도 서버의 병목이 발생될 수 있다. 별도의 CDN 네트워크를 통해 배포하는 경우도 있으나, 이에 따른 비용이 크게 발생한다.
특히, 디지털 사이니지의 특성상 특정 시간에 특정 컨텐츠를 재생해야 하는 경우가 많으므로 컨텐츠 배포에 있어 안정성이 요구된다. 광고 계약자와의 관계에서 계약 사항 이행, 재난 경보 목적으로 이용될 경우 신속성 등이 필요하기 때문이다. 따라서, 컨텐츠 배포 방식에 있어 안정성을 고려해야만 한다.
관련 선행기술로는, 디지털 사이니지 네트워크에서 각 컴퓨팅 디바이스가 자신의 저장 메모리를 체크하여 표시할 컨텐츠가 이용 가능하지 않으면, 표시할 컨텐츠를 적어도 하나의 다른 컴퓨팅 기기에 질의하는 구성에 의해 디지털 사이니지 네트워크가 P2P 네트워크처럼 동작하도록 하는 내용이, 미국공개특허 제2011-0010732호(SYSTEM AND METHOD FOR DELIVERING AND OPTIMIZING MEDIA PROGRAMMING IN PUBLIC SPACES WITH PEER-TO-PEER DIGITAL SIGNAGE NETWORKS)에 개시되었다.
다른 선행기술로는, 서버장치가 하나의 데이터 파일을 세분화된 소파일 단위로 직접 배포 가능한 제3 서버를 구비하고, 서버장치의 배포관리수단이 데이터파일의 배포가 소정 시각보다 지연됨이 예측되는 클라이언트를 특정시 제3 서버로부터 직접 배포시키는 내용이, 일본공개특허 제2008-304980호(데이터 파일 배신시스템)에 개시되었다.
또다른 선행기술로는, 디지털 사이니지 네트워크에 P2P 컨텐츠 배포를 적용함으로써 보틀넥(bottleneck) 지점들에서의 혼잡을 완화시키는 내용이, 미국공개특허 제2009-0319625호(INTERACTIVITY IN A DIGITAL PUBLIC SIGNAGE NETWORK ARCHITECTURE)에 개시되었다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 디지털 사이니지 환경에서 컨텐츠를 효율적으로 배포하는 방식을 제공함과 더불어 배포방식의 안정성을 확보하기 위한 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 컨텐츠 수신 방법은, 단말이 오버레이 네트워크를 통해 컨텐츠를 수신하는 방법으로서, 특정 컨텐트에 대한 식별정보, 상기 특정 컨텐트에 대한 오버레이 네트워크 식별정보 및 상기 오버레이 네트워크에 대한 컨텐츠 서버 내 트래커 서버 기능부의 주소를 포함하는 배포플랜을, 상기 컨텐츠 서버 또는 상기 오버레이 네트워크내의 다른 단말로부터 통지받는 단계; 상기 컨텐츠 서버 또는 상기 다른 단말로부터 오버레이 네트워크 식별정보에 의하여 식별되는 상기 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 트래커 서버 기능부 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하는 단계; 상기 목록 내의 단말들 중 하나 이상으로부터 상기 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 수신하는 단계; 및 상기 보유정보를 근거로 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신하는 단계;를 포함한다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 수신이 완료되어야 할 전송시한 및 상기 전송시한 내 수신이 완료되지 못한 경우 상기 컨텐트를 수신받을 상기 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함하고, 상기 전송시한은 제 1차 전송시한 또는 제 2차 전송시한 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 제 1차 전송시한 내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우, 상기 목록 내의 모든 단말들 및 상기 컨텐츠 서버에 경고 메시지를 전송하는 단계, 상기 경고 메시지를 전송받은 모든 단말들 중 상기 특정 컨텐트의 전부 또는 일부를 보유한 단말로부터 상기 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 수신하는 단계, 상기 경고 확인 메시지를 전송해온 단말들 중 적어도 하나로부터 상기 특정 컨텐트의 보유정보를 수신하는 단계, 및 상기 수신한 보유정보에 따라, 상기 적어도 하나의 단말로부터 상기 특정 컨텐트의 전부 또는 일부를 수신하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 목록 내 단말들 중 하나로부터 경고 메시지를 받는 단계, 상기 경고 메시지를 전송해온 단말로, 상기 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 전송하는 단계, 상기 경고 메시지를 전송해온 단말로, 현재단말의 상기 특정 컨텐트에 대한 보유정보를 전송하는 단계, 및 상기 현재 단말이 보유한 상기 특정 컨텐트의 전부 또는 일부를 상기 경고 메시지를 전송해온 단말로 전송하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 특정 컨텐트의 전부 또는 일부를 수신하는 네트워크의 평균속도 정보를 상기 컨텐츠 서버로 전송하는 단계, 상기 컨텐츠 서버로부터 상기 목록 내 모든 단말들의 네트워크의 평균속도 정보를 전달받는 단계, 및 상기 특정 컨텐트의 전부 또는 일부를 보유한 단말들 중 상기 평균속도 정보가 나타내는 평균속도가 가장 빠른 단말로부터 상기 특정 컨텐트의 전부 또는 일부를 수신하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 제 2차 전송시한 내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우, 직접 상기 대체 서버 기능부에 접근하여 상기 컨텐트를 수신하거나, 상기 대체 서버 기능부가 직접 상기 컨텐트를 업로드하게 하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 특정 컨텐트의 전부 또는 일부를 수신하는 단계는, 상기 배포플랜이 상기 특정 컨텐트의 우선순위 정보를 더 포함하고, 상기 특정 컨텐트의 우선순위가 높음일 경우, 다른 컨텐츠보다 우선하여 상기 특정 컨텐트의 전부 또는 일부를 수신할 수 있다.
바람직하게는, 상기 수신한 보유정보를 분석했을 때, 상기 특정 컨텐트의 전부 또는 일부를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 직접 상기 대체 서버 기능부에 접근하여 상기 컨텐트를 수신하거나, 상기 대체 서버 기능부가 직접 상기 컨텐트를 현재 단말에 업로드하게 하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 컨텐츠 수신방법은, 상기 특정 컨텐트를 수신 완료한 경우, 상기 컨텐츠 서버로 수신완료 메시지를 전송하는 단계, 및 상기 컨텐츠 서버로부터 상기 수신완료 메시지를 수신하였다는 수신완료 확인(confirm) 메시지를 수신받는 단계를 더 포함할 수 있다.
바람직하게는, 상기 수신완료 확인 메시지를 수신받을 때까지, 기 지정된 시간 간격에 따라 기 지정된 횟수만큼 상기 보유정보를 수신하는 단계 및 상기 특정 컨텐트의 전부 또는 일부를 수신하는 단계를 반복하고, 상기 기 지정된 시간 간격과 상기 기 지정된 횟수는 상기 배포플랜에 포함될 수 있다.
바람직하게는, 상기 수신완료 메시지는 상기 특정 컨텐트의 수신 방법, 상기 특정 컨텐트의 수신 시작시간, 상기 특정 컨텐트의 수신 완료시간 또는 현재 단말의 네트워크 주소 중 적어도 하나를 포함할 수 있다.
바람직하게는, 상기 컨텐츠 수신방법은 상기 목록 내의 단말들에 상기 배포플랜 또는 상기 목록을 전달하는 단계를 더 포함할 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 컨텐츠 전송 방법은, 컨텐츠 서버가 오버레이 네트워크를 통해 단말에게 컨텐츠를 전송하는 방법으로서, 상기 컨텐츠 서버가 특정 컨텐트에 대한 오버레이 네트워크를 구성하는 단계; 상기 오버레이 네트워크를 구성하는 단계에 의해 구성된 오버레이 네트워크에 대한 상기 특정 컨텐트의 배포플랜을 생성하는 단계; 상기 배포플랜에 포함된 오버레이 네트워크 식별정보에 의해 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 배포플랜에 포함된 상기 컨텐츠 서버 내 트래커 서버 기능부의 주소에 의해 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 생성하는 단계; 상기 배포플랜을 생성하는 단계에 의한 배포플랜을, 상기 목록을 생성하는 단계에 의한 목록 내의 단말들중의 하나 이상의 단말에게로 통지하는 단계; 상기 목록을, 상기 목록 내의 단말들 중 하나 이상의 단말에게로 전송하는 단계; 상기 목록 내의 단말들 중 하나 이상의 단말에게로 상기 특정 컨텐트에 대한 보유여부를 나타내는 보유정보를 전송하는 단계; 및 상기 보유정보를 전송받은 단말에게로 상기 특정 컨텐트를 전송하는 단계;를 포함한다.
바람직하게는, 상기 특정 컨텐트를 전송 완료함에 따라 상기 특정 컨텐트를 전송 완료한 단말로부터의 수신완료 메시지를 수신하는 단계; 상기 수신완료 메시지를 기록하는 단계; 및 상기 특정 컨텐트를 전송 완료한 단말에게로 상기 수신완료 메시지를 수신하였음을 나타내는 수신완료 확인 메시지를 전송하는 단계;를 더 포함할 수 있다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 전송이 완료되어야 할 전송시한, 및 상기 전송시한내 전송이 완료되지 못한 경우 상기 특정 컨텐트를 수신할 상기 컨텐츠 서버내 대체 서버 기능부의 주소를 추가로 포함하고, 상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한중에서 하나 이상을 포함할 수 있다.
바람직하게는, 상기 제 1차 전송시한내에 상기 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하는 단계; 상기 전송이 완료되지 못한 단말로부터 상기 특정 컨텐트의 보유정보를 수신하는 단계; 및 상기 수신한 보유정보를 근거로 상기 전송이 완료되지 못한 단말에게로 상기 특정 컨텐트를 전송하는 단계;를 더 포함할 수 있다.
바람직하게는, 상기 제 2차 전송시한내에 상기 특정 컨텐트의 전송이 완료되지 못한 경우, 상기 전송이 완료되지 못한 단말을 상기 대체 서버 기능부에 접근하게 하여 상기 특정 컨텐트를 수신하게 하거나, 상기 대체 서버 기능부가 상기 특정 컨텐트를 상기 전송이 완료되지 못한 단말에게로 업로드하는 단계;를 추가로 포함할 수 있다.
바람직하게는, 상기 목록 내의 모든 단말로부터 상기 특정 컨텐트를 수신하는 네트워크의 평균속도 정보를 수신하는 단계; 및 상기 목록 내의 하나 이상의 단말에게로, 상기 수신한 모든 단말의 네트워크의 평균속도 정보를 전달하는 단계;를 더 포함할 수 있다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고, 상기 특정 컨텐트를 전송하는 단계는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 전송할 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 디지털 디스플레이 단말은, 특정 컨텐트에 대한 식별정보, 상기 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 오버레이 네트워크에 대한 컨텐츠 서버 내 트래커 서버 기능부의 주소를 포함하는 배포플랜을, 컨텐츠 서버 또는 상기 오버레이 네트워크내의 다른 단말로부터 통지받는 컨텐츠 배포 관리부; 및 상기 컨텐츠 서버 또는 다른 단말로부터 상기 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 트래커 서버 기능부의 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하고, 상기 목록 내의 단말들 중 하나 이상의 단말로부터 상기 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 수신하고, 상기 보유정보에 따라 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신하는 컨텐츠 배포 피어;를 포함한다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 수신이 완료되어야 할 전송시한, 및 상기 전송시한내 수신이 완료되지 못한 경우 상기 특정 컨텐트를 수신받을 상기 컨텐츠 서버내 대체 서버 기능부의 주소를 추가로 포함하고, 상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한중에서 하나 이상을 포함할 수 있다.
바람직하게는, 상기 제 1차 전송시한 내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우 상기 목록 내의 모든 단말 및 상기 컨텐츠 서버에게 경고 메시지를 전송하고, 상기 경고 메시지를 전송받은 모든 단말중 상기 특정 컨텐트를 보유한 단말로부터 상기 경고 메시지를 전송받았음을 나타내는 경고 확인 메시지를 수신하는 경고 메시지 송수신부를 추가로 포함하고, 상기 컨텐츠 배포 피어는 상기 경고 확인 메시지를 전송해온 단말들 중 하나 이상의 단말로부터 상기 특정 컨텐트의 보유정보를 수신하고, 상기 수신한 보유정보에 따라 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신할 수 있다.
바람직하게는, 상기 제 2차 전송시한 내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우 상기 컨텐츠 서버 내 대체 서버 기능부에 접근하여 상기 특정 컨텐트를 수신하거나, 상기 컨텐츠 서버 내 대체 서버 기능부를 통해 상기 특정 컨텐트를 업로드받는 단말 대체 서버를 추가로 포함할 수 있다.
바람직하게는, 상기 단말 대체 서버는, 상기 보유정보를 분석한 결과 상기 특정 컨텐트를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 상기 컨텐츠 서버 내 대체 서버 기능부에 접근하여 상기 특정 컨텐트를 수신하게 하거나, 상기 컨텐츠 서버 내 대체 서버 기능부를 통해 상기 특정 컨텐트를 업로드받을 수 있다.
바람직하게는, 상기 특정 컨텐트를 수신하는 네트워크의 평균속도 정보를 상기 컨텐츠 서버로 전송하고, 상기 컨텐츠 서버로부터 목록 내 모든 단말의 네트워크의 평균속도 정보를 전달받는 네트워크 속도정보 송수신부를 추가로 포함하고, 상기 컨텐츠 배포 피어는 상기 특정 컨텐트를 보유한 단말들 중 평균속도가 가장 빠른 단말로부터 상기 특정 컨텐트를 수신할 수 있다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고, 상기 컨텐츠 배포 피어는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 수신할 수 있다.
바람직하게는, 상기 컨텐츠 배포 피어는, 상기 특정 컨텐트를 수신 완료하게 되면 상기 컨텐츠 서버에게로 수신완료 메시지를 전송하고, 상기 컨텐츠 서버로부터 수신완료 메시지를 수신하였다는 수신완료 확인 메시지를 수신받을 수 있다.
바람직하게는, 상기 컨텐츠 배포 피어는, 상기 수신완료 확인 메시지를 수신받을 때까지, 기지정된 시간 간격 및 기 지정된 횟수에 따라 상기 보유정보를 수신하는 동작 및 상기 특정 컨텐트를 수신하는 동작을 반복하고, 상기 기 지정된 시간 간격과 기 지정된 횟수는 상기 배포플랜에 추가로 포함될 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 컨텐츠 서버는, 특정 컨텐트에 대한 오버레이 네트워크를 구성하고, 상기 특정 컨텐트의 배포플랜을 생성하고, 상기 생성된 배포플랜을 상기 오버레이 네트워크에 포함되는 단말들 중 하나 이상의 단말에게로 통지하는 컨텐츠 배포 정책 관리부; 상기 오버레이 네트워크에 포함되는 단말들의 목록을 생성하고, 상기 목록을 상기 목록 내의 단말들 중 하나 이상의 단말에게로 전송하는 트래커 서버 기능부; 및 상기 목록 내의 단말들 중 하나 이상의 단말에게로 상기 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 전송하고, 상기 보유정보를 전송한 단말에게로 상기 특정 컨텐트를 전송하는 컨텐츠 배포 피어;를 포함하고, 상기 배포플랜은 상기 특정 컨텐트에 대한 식별정보, 상기 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 상기 트래커 서버 기능부의 주소를 포함하고, 상기 목록은 상기 오버레이 네트워크 식별정보에 의하여 식별되는 상기 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 트래커 서버 기능부의 주소에 의하여 식별되는 상기 트래커 서버 기능부가 관리하는 단말들의 목록인 것을 특징으로 한다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 전송이 완료되어야 할 전송시한, 및 상기 전송시한 내 전송이 완료되지 못한 경우 상기 특정 컨텐트를 수신할 해당 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함하고, 상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한 중 하나 이상을 포함할 수 있다.
바람직하게는, 상기 제 1차 전송시한 내에 상기 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하는 경고 메시지 송수신부를 더 포함하고, 상기 컨텐츠 배포 피어는, 상기 전송이 완료되지 못한 단말로부터 상기 전송이 완료되지 못한 단말의 상기 특정 컨텐트의 보유정보를 수신하고, 상기 수신한 보유정보에 따라 상기 전송이 완료되지 못한 단말에게로 상기 특정 컨텐트를 전송할 수 있다.
바람직하게는, 상기 컨텐츠 서버는 대체 서버 기능부를 추가로 포함하고, 상기 대체 서버 기능부는 상기 제 2차 전송시한 내에 상기 특정 컨텐트의 전송이 완료되지 못한 경우, 전송을 완료하지 못한 단말을 직접 상기 대체 서버 기능부에 접근하게 하여 상기 특정 컨텐트를 수신하게 하거나, 상기 전송을 완료하지 못한 단말에게로 상기 특정 컨텐츠를 업로드할 수 있다.
바람직하게는, 상기 대체 서버 기능부는, 상기 특정 컨텐트에 대한 오버레이 네트워크에 상기 특정 컨텐트를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 상기 오버레이 네트워크 내의 단말들 중 하나 이상의 단말을 상기 대체 서버 기능부에 접근하게 하여 상기 특정 컨텐트를 수신하게 하거나, 상기 하나 이상의 단말에게로 상기 특정 컨텐트를 업로드할 수 있다.
바람직하게는, 상기 목록 내의 모든 단말로부터 상기 특정 컨텐트를 수신하는 네트워크의 평균속도 정보를 수신하고, 상기 목록 내의 하나 이상의 단말에게로 상기 수신한 모든 단말의 네트워크의 평균속도 정보를 전달하는 네트워크 속도 정보 송수신부를 추가로 포함할 수 있다.
바람직하게는, 상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고, 상기 컨텐츠 배포 피어는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 전송할 수 있다.
바람직하게는, 상기 특정 컨텐트를 전송 완료한 경우, 상기 특정 컨텐트를 전송 완료한 단말로부터 수신완료 메시지를 수신하고, 상기 수신한 수신완료 메시지를 기록하고, 상기 특정 컨텐트를 전송 완료한 단말에게로 상기 수신완료 메시지를 수신하였다는 수신완료 확인 메시지를 전송하는 컨텐츠 배포 로그 기록부를 추가로 포함할 수 있다.
이러한 구성의 본 발명에 따르면, P2P 방식을 이용하여 단말간 상호교환을 통해 컨텐츠를 배포하여 서버의 부하를 줄일 수 있는 효과가 있다.
또한, P2P 방식을 이용하더라도 컨텐츠 배포에 안정성을 확보할 수 있는 효과가 있다.
도 1은 본 발명이 적용될 수 있는 네트워크를 설명한 도면이다.
도 2는 본 발명의 전체 구조의 일 실시예를 도시한 도면이다.
도 3은 본 발명에 따른 오버레이 네트워크의 일 실시예를 도시한 도면이다.
도 4는 본 발명에 따른 컨텐츠 배포플랜의 일 실시예를 도시한 도면이다.
도 5는 본 발명에 따른 전송시한의 일 실시예를 도시한 도면이다.
도 6은 도 5에 도시된 제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 동작의 일 실시예를 나타낸 도면이다.
도 7은 도 5에 도시된 제 2차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 동작의 일 실시예를 나타낸 도면이다.
도 8은 네트워크 평균 속도 정보를 교환하는 경우의 일 실시예를 나타낸 도면이다.
도 9는 오버레이 네트워크 내에 컨텐트 보유 단말 수에 따른 효율 대비의 일 실시예를 도시한 도면이다.
도 10은 컨텐트의 전송이 완료된 경우의 동작의 일 실시예를 도시한 도면이다.
도 11은 단말간에 배포플랜 또는 단말 목록을 전송하는 일 실시예를 도시한 도면이다.
도 12는 본 발명에 따른 컨텐츠 서버의 일 실시예를 도시한 도면이다.
도 13은 본 발명에 따른 단말의 일 실시예를 도시한 도면이다.
도 14는 본 발명에 따른 컨텐츠 전송방법 및 수신방법의 일 실시예를 도시한 도면이다.
도 15는 도 14에서 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 동작의 일 실시예를 나타낸 도면이다.
도 16a 및 도 16b는 본 발명에 따른 컨텐츠 수신방법을 보다 상세히 설명하기 위한 도면이다.
도 17은 본 발명에 따른 원격제어가 가능한 디지털 디스플레이 단말의 일 실시예를 도시한 도면이다.
도 18a 및 도 18b는 본 발명에 따른 컨텐츠 전송방법을 보다 상세히 설명하기 위한 도면이다.
도 19는 본 발명에 따른 컨텐츠 서버의 일 실시예를 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명이 적용될 수 있는 네트워크를 설명한 도면이다. 피어 투 피어 네트워크(Peer to Peer Network; P2P)는 기존의 서버-클라이언트 개념 또는 컨텐츠의 공급자-소비자 개념에서 벗어나 개인 컴퓨터 또는 단말끼리 직접 연결하고 상호 검색함으로써 모든 참여자(peer)가 공급자인 동시에 수요자가 되는 형태이다.
도 1의 (a)는 기존의 서버 기반의 네트워크(Server Based Network)를 설명하고 있다. 중앙의 서버(1)가 배포해야 할 컨텐츠를 모두 가지고 있을 수 있다. 각각의 단말(2a ~ 2f)은 컨텐츠의 수신이 필요한 경우, 각각 서버(1)에 접속하여 필요한 컨텐츠를 수신할 수 있다. 모든 단말(2a ~ 2f)은 서버(1)를 통해서만 컨텐츠를 제공받을 수 있다.
따라서, 고용량의 컨텐츠를 배포해야 하거나, 많은 수의 단말이 동시에 동일한 컨텐츠를 수신하고자 할 때는 서버(1)의 병목이 발생할 수 있다. 이에 따라, 서버 측면에서는 과도한 부하가 발생할 수 있다. 단말 측면에서는 필요한 컨텐츠를 수신하는 데에 있어 수신속도에서 불이익이 발생할 수 있다.
도 1의 (b)는 피어 투 피어 네트워크(Peer to Peer Network)를 설명하고 있다. 각각의 단말(3a ~ 3g)은 상호간에 연결되어 있을 수 있다. 각각의 단말(3a ~ 3g)은 컨텐츠의 공급자이자 수요자가 될 수 있다. 각각의 단말(3a ~ 3g)은 컨텐츠가 필요한 경우 다른 단말에 접속, 검색한 후 컨텐츠를 교환할 수 있다.
피어 투 피어 네트워크는 서버 기반의 네트워크(도 1의 (a) 참조)에 비하여 서버의 부하로 인한 속도 저하 등의 문제점이 적을 수 있다. 반면에, 단말 상호간에 검색이 어렵고 네트워크 자체의 부하를 해결해야 하는 난점이 있을 수 있다.
피어 투 피어 네트워크의 경우에도 컨텐츠의 최초 공급자로서 서버가 역할 할 수 있다. 트래커 서버(Tracker server)를 둘 수도 있다. 트래커 서버는 일종의 서버로 P2P 네트워크안의 참여자를 모니터링하고 관리하는 역할을 할 수 있다.
도 2는 본 발명의 전체 구조의 일 실시예를 도시한 도면이다.
본 발명에서, 상술한 P2P 네트워크를 디지털 사이니지 환경에 적용하여 각 단말에서 재생되어야 할 컨텐츠를 배포할 수 있다.
도 2에서, 컨텐츠 서버(10)는 상술한 P2P 네트워크상에서의 최초 공급자로서의 서버일 수 있다. 컨텐츠 서버(10)는 전달하고자 하는 컨텐츠에 대한 오버레이 네트워크를 구성하거나, 단말(12a, 12b)에게 배포플랜 등을 통지할 수 있다.
단말(12a, 12b)은 상술한 P2P 네트워크상에서의 참여자(Peer)일 수 있다. 디지털 사이니지 환경에서 단말(12a, 12b)은 각각의 디지털 디스플레이에 해당할 수 있다. 그에 따라, 디지털 사이니지 환경에서의 단말(12a, 12b)을 디지털 사이니지 단말 또는 디지털 디스플레이 단말이라고 칭할 수 있다. 각각의 단말(12a, 12b)은 네트워크상으로 연결되어 원격으로 조정 가능할 수 있다.
컨텐츠 서버(10)는 각각의 단말(12a, 12b)에게 재생해야 할 컨텐츠를 다양한 방식으로 제공할 수 있다. 또한, 컨텐츠 서버(10)는 각각의 단말(12a, 12b)을 관리할 수 있다.
도 2에 도시된 본 발명에 따른 전체구조의 일 실시예는, 오버레이 네트워크를 구성하는 단계(S10), 배포플랜을 생성하는 단계(S12), 단말 목록을 생성하는 단계(S14), 배포플랜을 통지하는 단계(S16), 단말 목록을 요청 및 수신하는 단계(S18), 컨텐트 보유정보를 교환하는 단계(S20), 및/또는 컨텐트 전부 또는 일부를 요청/수신하는 단계(S22)을 포함할 수 있다.
먼저, 오버레이 네트워크를 구성하는 단계(S10)는, 컨텐츠 서버(10)가 전송하고자 하는 특정 컨텐트에 대한 오버레이 네트워크를 구성하는 단계일 수 있다. 오버레이 네트워크라 함은 동일한 컨텐트의 전부 또는 일부를 가지고 있거나, 수신 중에 있는 단말들의 네트워크 주소(예컨대, IP, Port) 정보들로 구성된 가상의 네트워크를 의미할 수 있다. P2P 방식으로 컨텐츠를 배포하기 위하여, 오버레이 네트워크의 구성이 필요할 수 있다. 자세한 사항은 후술한다.
배포플랜을 생성하는 단계(S12)는, 컨텐츠 서버(10)가 전송하고자 하는 특정 컨텐트를 배포하기 위한 배포플랜을 생성하는 단계일 수 있다. 배포플랜(Contents Distribution Plan)이란 특정 컨텐트를 배포하기 위한 계획 내지 배포를 위해 필요한 정보를 말한다. 배포플랜에는 특정 컨텐츠 정보, 컨텐츠 배포 방식 및/또는 오버레이 네트워크 정보 등이 포함될 수 있다. 자세한 사항은 후술한다.
단말 목록을 생성하는 단계(S14)는, 컨텐츠 서버(10)가 생성된 배포플랜에 따라 해당 컨텐트가 배포되어야 할 단말(예컨대, 단말1(12a), 단말2(12b))을 오버레이 네트워크에 참여시키고, 오버레이 네트워크 내의 단말(예컨대, 단말1(12a), 단말2(12b))의 목록을 작성하는 단계이다. 이 단말(예컨대, 단말1(12a), 단말2(12b))은 컨텐츠 서버(10)내 트래커 서버 기능부(도시 생략)가 관리하는 단말들과 일치할 수 있다. 트래커 서버 기능부에 대해서는 후술한다. 일반적인 P2P 환경은 모든 참여자를 관리할 수 없을 수 있다. 일반적인 P2P환경에서는 참여자가 오버레이 네트워크에 계속해서 참여하고 탈퇴하기 때문이다. 그러나, 디지털 사이니지 환경에서 참여자는 곧 단말들을 의미하므로 모든 단말들은 사업자에 의해 관리되기 때문에 컨텐츠 서버(10)는 특정 컨텐트가 배포되어야 할 단말(예컨대, 단말1(12a), 단말2(12b))을 사전에 미리 오버레이 네트워크에 참여시킬 수 있다. 따라서, 일반적인 P2P환경과는 달리 참여/탈퇴 과정이 필요로 하지 않을 수 있다. 그에 따라, 별도의 참여 메시지 또는 참여 통지 등의 과정이 필요 없을 수 있다. 본 발명에서, 모든 단말(예컨대, 단말1(12a), 단말2(12b))은 컨텐츠 서버(사업자)(10)에 의해 관리되는 단말일 수 있다. 따라서, 컨텐츠 서버(10)는 오버레이 네트워크 내의 단말(예컨대, 단말1(12a), 단말2(12b))의 목록을 사전에 작성할 수가 있다. 이러한 특징은 각각의 디스플레이 단말(예컨대, 단말1(12a), 단말2(12b))이 관리가 되어야 하고, 기 지정된 시각에 컨텐츠가 재생되어야 하는 디지털 사이니지 환경에 있어서, 컨텐츠의 배포를 안정적으로 수행할 수 있는 효과가 있다.
상황에 따라, 오버레이 네트워크가 생성되어 단말(예컨대, 단말1(12a), 단말2(12b))이 사전에 참여된 후에, 추가로 새로운 단말을 추가하게 될 수도 있다. 이 경우에는 일반적인 P2P와 마찬가지로 별도의 참여통지 과정이 필요할 수 있다. 여기서, 참여 통지 과정은 일반적인 P2P 환경에서의 참여 통지 과정을 따를 수 있다.
단말 목록에는 컨텐츠 서버(10)가 생성한 오버레이 네트워크에 참여한 단말(예컨대, 단말1(12a), 단말2(12b))의 네트워크 주소가 포함될 수 있다. 단말 목록에는 해당 단말(예컨대, 단말1(12a), 단말2(12b))에 대한 그 외의 정보들이 포함될 수 있다.
한편, 상술한 단말 목록을 생성하는 단계(S14)를, 단말 목록을 요청 및 수신하는 단계(S18)에서 단말 목록을 요청받은 후에 수행할 수 있다. 즉, 단말 목록을 요청받은 후 단말 목록을 생성하고, 이를 단말에 전송할 수 있다.
한편, 단말 목록이 배포플랜 내에 포함되게 할 수도 있다. 이 경우, 배포플랜이 생성될 때 단말 목록이 같이 생성되어 배포플랜 내에 포함되며, 배포플랜이 통지될 때 단말 목록이 함께 전달될 수 있다. 이와 같이 하면 단말 목록을 요청 및 수신하는 단계(S18)가 생략될 수 있다.
배포플랜을 통지하는 단계(S16)는, 컨텐츠 서버(10)가 배포플랜을 단말(예컨대, 단말1(12a), 단말2(12b))에게 통지하는 단계이다. 컨텐츠 서버(10)는 복수개의 컨텐츠에 대해 생성된 복수개의 배포플랜을 자신이 관리하는 모든 단말들에게 통지할 수도 있고, 특정 컨텐트에 대한 배포플랜을 그 특정 컨텐트를 수신받아야 하는 단말들에만 통지할 수도 있다. 배포플랜을 통지하는 방식은 해당 기술분야에서의 일반적인 방식일 수 있다. 본 발명에 따른 일 실시예는 배포플랜을 통지받지 못한 경우, 해당 단말(단말1(12a) 또는 단말2(12b))이 배포플랜을 컨텐츠 서버(10)에 요청할 수 있다. 본 발명에 따른 일 실시예는 배포플랜을 다른 단말로부터 받을 수도 있다. 배포플랜에 대해서는 후술하기로 한다.
단말 목록을 요청 및 수신하는 단계(S18)는, 단말(예컨대, 단말1(12a), 단말2(12b))이 컨텐츠 서버(10)에 단말 목록을 요청하고 컨텐츠 서버(10)로부터 단말 목록을 수신하는 단계이다. 배포플랜을 통지받은 단말들은 배포플랜 내에 포함된 오버레이 네트워크 정보를 이용하여 특정 컨텐트에 대한 오버레이 네트워크에 접근할 수 있다. 단말(예컨대, 단말1(12a), 단말2(12b))은 컨텐츠 서버(또는 컨텐츠 서버 내 트래커 서버 기능부)(10)에 접근하여 단말 목록을 요청하고 수신할 수 있다. 단말(예컨대, 단말1(12a), 단말2(12b))은 단말 목록을 통해 오버레이 네트워크 내의 다른 단말들의 네트워크 주소를 획득할 수 있다. 상술한 대로 단말(예컨대, 단말1(12a), 단말2(12b))은 사전에 오버레이 네트워크에 참여되어 있기 때문에 별도의 참여 통지가 필요하지 않을 수 있고, 이에 따라 단말 목록의 요청 및 수신은 단지 단말들의 네트워크 주소를 얻기 위함일 수 있다.
상술한 실시예에서, 새로운 단말을 추후에 추가시키는 경우에는 오버레이 네트워크에 참여하기 위해 별도의 참여통지 과정이 필요할 수 있다.
컨텐트 보유정보를 교환하는 단계(S20)는, 단말 목록에 접근하여 오버레이 네트워크 내 다른 단말이 가지고 있는 특정 컨텐트에 대한 보유정보를 상호 교환하는 단계이다. 오버레이 네트워크 내 다른 단말(예컨대, 12b)이 현재 단말(예컨대, 12a)의 컨텐트 보유정보를 요청하면 이를 전송해줄 수 있다. 또한, 현재 단말(12a)은 오버레이 네트워크 내 다른 단말(12b)의 컨텐트 보유정보를 요청하여 이를 수신할 수 있다. 컨텐츠 서버(10)는 오버레이 네트워크상의 참여자(peer)로서의 역할을 할 수도 있다. 참여자로서의 역할은 컨텐츠 서버 내에 있는 컨텐츠 배포 피어 모듈(도시 생략)이 할 수 있다. 컨텐츠 서버(10)는 오버레이 네트워크 내 다른 단말(12b)과 마찬가지로 현재 단말(12a)과 컨텐트 보유 정보를 상호 교환할 수 있다. 컨텐츠 서버(10)는 컨텐츠의 최초 배포자로서 온전한 컨텐츠를 가지고 있을 수 있다. 따라서, 컨텐츠 서버(10)의 컨텐트 보유정보는 해당 컨텐트의 모든 조각을 보유하고 있음을 나타낼 수 있다. 여기서 보유정보란 단말(예컨대, 단말1(12a), 단말2(12b)) 또는 컨텐츠 서버(10)가 보유한 특정 컨텐트의 전부 또는 일부에 대한 보유여부를 나타내는 정보일 수 있다. 또한, 보유정보는 특정 컨텐트의 컨텐트 조각들에 대한 보유정보일 수 있다. 도 2에서는 오버레이 네트워크 내 다른 단말(12b)을 하나만 도시하였으나, 실제로는 다수 개일 수 있다.
컨텐트 전부 또는 일부를 요청/수신하는 단계(S22)는, 보유정보에 따라 단말(예컨대, 12a)이 오버레이 네트워크 내 다른 단말(예컨대, 12b) 또는 컨텐츠 서버(10)와 컨텐트의 전부 또는 일부를 교환하는 단계이다. 단말(예컨대, 12a)은 오버레이 네트워크 내 다른 단말(예컨대, 12b)로부터 수신한 보유정보에 따라 오버레이 네트워크 내 다른 단말들(예컨대, 12b) 중 현재 단말(예컨대, 12a)이 보유하고 있지 않은 컨텐트의 전부 또는 일부(컨텐트 조각)를 가지고 있는 단말(예컨대, 12b)이 있을 경우, 해당 단말(예컨대, 12b)에게 해당 컨텐트를 요청하여 수신받을 수 있다. 이 때, 해당 컨텐트란 해당 컨텐트의 컨텐트 조각을 의미할 수 있다. 마찬가지로, 오버레이 네트워크 내 다른 단말(예컨대, 12b)이 현재 단말(예컨대, 12a)에게 현재 단말이 보유한 컨텐츠의 전부 또는 일부(컨텐트 조각)을 요청할 경우 현재 단말(12a)이 이를 다른 단말(12b)에게로 전송해줄 수 있다. 상술한 대로 컨텐츠 서버(10) 역시 오버레이 네트워크 내 참여자의 역할을 할 수 있으므로, 컨텐트 전부 또는 일부의 교환은 컨텐츠 서버(10)와의 관계에서도 수행될 수 있다. 다만, 컨텐츠 서버(10)는 온전한 컨텐츠를 가지고 있으므로 컨텐츠 서버(10)가 단말(예컨대, 단말1(12a), 단말2(12b))에 컨텐츠를 요청하지는 않을 수 있다.
도 3은 본 발명에 따른 오버레이 네트워크의 일 실시예를 도시한 도면으로서, 상술한 컨텐츠 서버(10)가 관리하는 오버레이 네트워크에 대한 도면이다.
도 3의 컨텐츠 서버(10)는 트래커 서버일 수 있다. 여기서, 트래커 서버는 컨텐츠 서버(10)내의 트래커 서버 기능부에 해당할 수 있다. 오버레이 1은 특정 컨텐트에 대해 생성된 오버레이 네트워크 일 수 있다. 오버레이 2는 다른 특정 컨텐트에 대해 생성된 또 다른 오버레이 네트워크 일 수 있다. 오버레이 네트워크 내의 피어(Peer)는 오버레이 네트워크 내의 참여자로서, 단말 또는 컨텐츠 서버 내 컨텐츠 배포 피어 모듈일 수 있다.
컨텐츠 서버(10)는 배포되어야 할 컨텐츠 별로 오버레이 네트워크를 구성할 수 있다. 각각의 오버레이 네트워크는 컨텐트마다 생성될 수 있다. 단, 컨텐츠를 그룹으로 묶어서 그 그룹에 대한 하나의 오버레이 네트워크를 만들 수도 있다. 여기서 각 오버레이 네트워크는 유일한 식별자(ID)를 가질 수 있다.
단말이 전송받아야 할 컨텐트는 복수 개일 수 있다. 따라서 하나의 단말이 여러 개의 오버레이 네트워크에 중복되어 포함될 수 있다. 각 컨텐트 또는 컨텐츠 그룹마다 오버레이 네트워크가 존재할 수 있기 때문이다.
컨텐츠 서버(10)는 배포되어야 할 컨텐트를 복수 개의 조각(piece, fragment)으로 논리적으로 분할할 수 있다. 여기서, 컨텐츠 서버(10)는 컨텐트를 복수 개의 동일한 크기의 조각으로 분할할 수 있다. 예를 들어, 조각의 번호가 2이고, 조각의 크기가 1M이라고 한다면, 실제 컨텐트의 1M~2M까지의 데이터를 의미할 수 있다.
도 3에서, 조각(4)은 단말(즉, Peer3)이 이미 보유하고 있는 컨텐트 조각을 의미할 수 있다. 그외의 조각은 단말(즉, Peer3)이 보유하지 않은 컨텐트 조각을 의미할 수 있다. 조각(4)을 제외한 다른 조각은 이를 보유하고 있는 다른 단말들(Peer1, Peer2, Peer4)로부터 수신할 수 있다.
도 4는 본 발명에 따른 컨텐츠 배포플랜의 일 실시예를 도시한 도면이다. 상술한 바와 같이 컨텐츠 서버(10)는 전송하고자 하는 특정 컨텐트를 배포하기 위한 배포플랜을 생성하게 된다.
배포플랜에는 컨텐츠 정보, 컨텐츠 배포 방식, 오버레이 네트워크 정보, 대체 서버 목록 및 전달방법, 컨텐츠 전달 요구사항, 및/또는 전송결과 수집 서버 정보 등이 포함될 수 있다.
컨텐츠 정보에는 컨텐트 식별자(ID), 컨텐트 접근 주소(URI) 등이 포함될 수 있다. 본 발명의 일 실시예에서는 배포플랜을 복수 개의 컨텐츠에 대해서도 생성할 수 있다. 이 경우 복수 개의 컨텐츠 그룹에 대한 식별자(ID) 또는 복수 개의 컨텐츠 각각에 대한 식별자들(IDs) 전부가 배포플랜에 포함될 수 있다.
컨텐츠 배포 방식에는 PULL(HTTP, FTP 등), PUSH, P2P 등이 있을 수 있다. 이 밖에 해당 기술분야에서 일반적인 컨텐츠 배포방식이 포함될 수 있다. 컨텐츠 배포에 있어 필요에 따라 컨텐츠 수신권한을 둘 수 있다. 이 경우, 컨텐츠를 수신받기 위해서 아이디(ID) 및 패스워드(Password)를 둘 수 있다. 컨텐츠 수신권한이 없는 단말의 경우 수신을 제한시킬 수 있다. 또한, 컨텐츠 수신 시작 시간 정보를 둘 수 있는데, 이 경우 컨텐츠 수신 시작 시간이 지난 후에야 컨텐츠 수신이 수행될 수 있도록 제한을 가할 수 있다.
오버레이 네트워크 정보에는 오버레이 네트워크 아이디를 포함될 수 있다. 이 때, 컨텐트 아이디가 충분히 특이성 내지 유일성(uniqueness)을 보장할 수 있다면 컨텐트 아이디를 오버레이 네트워크 아이디로 사용할 수도 있다. 또한, 오버레이 네트워크 정보에는 트래커 서버 기능부 주소를 포함할 수 있다. 배포플랜을 통지받은 단말은 배포플랜에 포함된 트래커 서버 기능부 주소를 이용하여 트래커 서버 기능부에 접근할 수 있다. 트래커 서버 기능부에 접근하여 오버레이 네트워크 에 포함되거나 포함될 단말들의 목록 또는 포함되거나 포함될 단말들의 네트워크 주소를 획득할 수 있다. 배포플랜에는 오버레이 네트워크에 포함되거나 포함될 단말들의 목록 또는 포함되거나 포함될 단말들의 주소가 포함할 수 있다. 오버레이 네트워크에 포함되거나 포함될 단말들의 목록이 배포플랜에 포함될 경우, 추후에 컨텐츠 서버로 전술한 단말 목록을 요청하지 않을 수 있다.
배포플랜은 대체 서버(Alternative Contents Server) 목록 및 대체 서버를 통한 전달 방법을 포함할 수 있는데, 대체 서버는 후술할 컨텐츠 서버 내 대체 서버일 수 있다. 단말은 전송 시한 내에 P2P 방식을 통해 컨텐츠를 수신받지 못한 경우 대체 서버에 접근하여 PUSH 또는 PULL 방식을 통해 직접 수신할 수 있다. 대체 서버는 DSContDistPullSvr(Contents Distribution Pull Server) FE(Function Entity) 및/또는 DSContDistPushCli(Content Distribution Push Client) FE 를 포함할 수 있다. DSContDistPullSvr FE 는 PULL 방식으로 단말이 컨텐츠를 수신하게 할 수 있다. DSContDistPushCli FE 는 PUSH 방식으로 컨텐츠 서버가 단말에 컨텐츠를 업로드 할 수 있다. DSContDistPullSvr FE 및 DSContDistPushCli FE 에 대해서는 후술한다. 또한, 본 발명의 일 실시예에 따르면 오버레이 네트워크 내에 특정 컨텐트를 보유하고 있는 단말(참여자)가 기 지정된 숫자보다 적은 수로 존재할 경우, 대체 서버에 접근하여 직접 수신할 수 있는데, 이에 대해서는 후술하기로 한다.
컨텐츠 전달 요구사항에는 컨텐츠 전송 시한 및 미수신시 동작을 포함할 수 있다. 여기서, 컨텐츠 전송시한은 컨텐츠 전송이 완료되어야 할 시점을 의미할 수 있다. 전송시한은 복수 개일 수 있다. 본 발명의 일실시예에서, 전송시한은 제1차 전송시한 및/또는 제2차 전송시한을 포함할 수 있다. 여기서, 미수신시 동작이란 전송시한 내에 수신이 완료되지 않았을 경우에 행해져야 할 동작을 의미할 수 있다. 사업자는 전송시한 및 이에 따른 미수신시 동작을 미리 지정할 수 있다. 미수신시 동작에는 수신방법의 교체, 관리자에의 통보 등이 있을 수 있다. 미수신시 동작이 일어날 경우, 미수신시 동작 및 이에 따른 관련 동작사항은 컨텐츠 서버(또는 컨텐츠 서버 내 컨텐츠 배포 로그 서버 기능부)에 통보되고 기록될 수 있다. 전송시한이 복수 개임에 따라 미수신시 동작 역시 복수 개일 수 있다. 전송시한과 미수신시 동작이 복수 개일 수 있는 이유는 상황에 따라 다양한 동작 시나리오를 만들 수 있게 하기 위함이다. 예를 들어, 단순한 경고 수준의 전송 시한에서부터, 반드시 완료되어야 할 중대한(critical) 전송시한까지 다양한 전송시한을 둘 수 있다.
전송결과 수집 서버 정보는 컨텐츠 서버 내 컨텐츠 배포 로그 서버 기능부에 대한 정보를 의미할 수 있다. 단말은 컨텐츠 수신이 완료된 경우, 컨텐츠 수신결과를 컨텐츠 배포 로그 서버 기능부에 보고할 수 있다. 전송결과 수집 서버 정보에는 컨텐츠 배포 로그 서버 기능부의 네트워크 주소가 기재될 수 있다. 또한, 전송결과 수집 서버 정보에는 어떤 경우에 컨텐츠 배포 로그 서버 기능부에 보고해야 하는지에 대한 정보를 포함할 수 있다. 보고 방식 및 형식에 대한 정보를 포함할 수 있다.
한편, 배포플랜에는 컨텐트의 우선순위 정보를 포함할 수 있다. 컨텐트의 우선순위 정보는 특정 컨텐트가 단말에 전송되어야 할 우선 순위를 나타내는 정보로서, 반드시 전송되어야 할 컨텐트는 우선순위가 높고, 부차적인 컨텐트는 우선 순위가 낮게 할 수 있다. 우선 순위는 사업자가 상황에 따라 지정할 수 있다. 우선순위는 실수나 퍼센테이지, "높음", "중간", "낮음"과 같은 텍스트로 이루어질 수 있다. 예를 들어, 우선 순위가 "높음"인 경우, 우선순위가 "중간" 또는 "낮음"인 다른 컨텐츠보다 우선하여 수신할 수 있다. 단말은 상황에 따라 복수 개의 컨텐츠를 동시에 수신해야 될 경우가 발생할 수 있는데, 사업계약상의 이유나 컨텐츠의 중요도, 컨텐츠 재생의 위급도 또는 시스템상의 이유로 컨텐츠간에 우선순위의 차이가 발생할 수 있다. 이러한 우선순위를 반영하기 위함이다.
배포플랜에는 이외에도 컨텐츠 조각의 크기 등 컨텐츠 배포에 관련된 다양한 정보를 포함할 수 있다. 배포플랜에 필요한 데이터는 플레이 리스트/플레이 스케쥴에 포함될 수도 있다.
도 5는 본 발명에 따른 전송시한의 일 실시예를 도시한 도면이다.
앞서 배포플랜의 설명에서, 컨텐츠 전달 요구사항은 컨텐츠 전송시한을 포함할 수 있고, 전송시한은 복수 개로 존재할 수 있다고 하였다. 예를 들어, 본 발명의 일실시예에 따르면, 전송시한은 제1차 전송시한, 및/또는 제2차 전송시한을 포함할 수 있다. 각각의 전송시한을 도과할 때까지 컨텐츠의 수신이 완료되지 못한 경우 기 지정된 미수신시 동작을 수행할 수 있다.
설계자의 의도에 따라 전송시한은 2개 이상일 수 있고, 없을 수도 있다.
도 6은 도 5에 도시된 제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 동작의 일 실시예를 나타낸 도면이다.
제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우에는, 경고 메시지를 전송하는 단계(S30), 경고 확인 메시지를 전송하는 단계(S32), 컨텐트 보유정보를 교환하는 단계(S34), 및/또는 컨텐트 전부 또는 일부를 요청하고 수신하는 단계(S36)를 포함할 수 있다.
경고 메시지를 전송하는 단계(S30)는, 현재 단말(14a)이 제 1차 전송시한 내에 수신을 완료하지 못한 경우, 다른 단말(14b ~ 14e) 및 컨텐츠 서버(10)에 경고 메시지를 보내는 단계이다. 현재 단말(14a)은 종전에 수신한 단말 목록 내의 모든 단말(단말1(14b), 단말2(14bc), 단말3(14d), 단말4(14e))에게 경고 메시지를 전송할 수 있다. 단말 목록 내의 모든 단말(단말1(14b), 단말2(14bc), 단말3(14d), 단말4(14e))은 수신 완료하지 못한 컨텐트에 대한 오버레이 네트워크에 존재하는 모든 단말일 수 있다. 현재 단말(14a)은 컨텐츠 서버(10)에도 경고메시지를 전송할 수 있다. 경고 메시지는 현재 단말(14a)이 수신 완료하지 못한 컨텐트에 대한 보유정보를 포함할 수 있다.
경고 확인 메시지를 전송하는 단계(S32)는, 경고 메시지를 전송받은 단말(단말1(14b), 단말2(14bc), 단말3(14d), 단말4(14e)) 중에서, 해당 컨텐트의 전부 또는 일부를 보유하고 있는 단말(예컨대, 단말 2(14c), 단말3(14d))이 경고 메시지를 전송한 단말(현재 단말)(14a)에게로 경고 확인 메시지를 보내는 단계이다. 경고 확인 메시지는 경고 메시지를 전송받았음을 의미할 수 있다. 경고 확인 메시지는 경고 확인 메시지를 전송하는 단말의 해당 컨텐트 보유정보를 포함할 수 있다. 경고 확인 메시지는 경고 확인 메시지를 보내는 단말의 네트워크 주소, 또는 네트워크 전송 속도를 포함할 수 있다. 경고 확인 메시지는 그외의 정보를 포함할 수 있다. 한편, 컨텐츠 서버(10) 역시 경고 메시지를 전송한 단말(현재 단말)(14a)에 경고 확인 메시지를 보낼 수 있다.
컨텐트 보유정보를 교환하는 단계(S34)는, 수신완료하지 못한 컨텐트를 보유한 단말과 그 컨텐트의 보유정보를 교환하는 단계이다. 경고 메시지를 전송받은 모든 단말(단말1(14b), 단말2(14c), 단말3(14d), 단말4(14e)) 중 수신완료하지 못한 특정 컨텐트의 전부 또는 일부를 보유한 단말(단말2(14c) 및 단말3(14d)) 중 적어도 하나의 단말(예컨대, 단말2(14c))로부터 그 특정 컨텐트의 보유정보를 수신할 수 있다. 이때, 현재 단말(14a)은 자신의 특정 컨텐트 보유정보를 특정 컨텐트를 보유한 단말(단말2 및 단말3) 중 적어도 하나의 단말(예컨대, 단말2(14c))에게로 전송할 수 있다. 상술한 경고 메시지가 현재 단말(14a)의 특정 컨텐트 보유정보를 포함하고 있는 경우, 특정 컨텐트를 보유한 단말(단말2(14c), 단말3(14d))은 이미 경고 메시지를 통해 현재 단말(14a)의 보유정보를 가지고 있으므로, 현재 단말(14a)의 보유정보를 보내지 않을 수 있다. 또한, 경고 확인 메시지가 특정 컨텐트를 보유한 단말(단말2(14c), 단말3(14d))의 특정 컨텐트의 보유정보를 포함할 경우 현재 단말(14a)은 이미 경고 확인 메시지를 통해 특정 컨텐트를 보유한 단말(단말2(14c), 단말3(14d))의 보유정보를 가지고 있으므로, 특정 컨텐트를 보유한 단말(단말2(14c), 단말3(14d))의 보유정보를 요청하지 않을 수 있다.
컨텐트 전부 또는 일부를 요청하고 수신하는 단계(S36)는, 특정 컨텐트를 보유한 단말(단말2(14c), 단말3(14d))중 적어도 하나의 단말(예컨대, 단말2(14c))에 그 특정 컨텐트의 전부 또는 일부를 요청하고 수신하는 단계이다. 이 요청은 컨텐트 보유정보를 교환하는 단계(S34)에서 받은 보유정보에 따른 것일 수 있다. 특정 컨텐트의 전부 또는 일부를 보유한 단말(단말2(14c), 단말3(14d)) 중 적어도 하나(예컨대, 단말2(14c))로부터 특정 컨텐트의 전부 또는 일부를 수신할 수 있다. 단말 2(14c) 또는 특정 컨텐트를 보유한 단말(단말2(14c) 및 단말3(14d)) 역시 현재 단말(14a)에 컨텐트를 요청하고 수신할 수 있다.
반대로, 현재 단말(14a)이 다른 단말(14b, 14c, 14d, 14e)로부터 경고 메시지를 받은 경우(도면에 도시 되지 않음), 그 경고 메시지를 송신한 단말(14b, 14c, 14d, 14e중에서 적어도 하나)에 경고 확인 메시지를 전송하고, 그 경고메시지를 송신한 단말과 컨텐트 보유정보를 교환하고, 그 보유정보에 따라 컨텐트의 전부 또는 일부를 요청 및 수신할 수 있다.
이런 동작들을 통해 제 1차 전송시한까지 특정 컨텐트를 수신완료하지 못했음을 컨텐츠 서버(10)와 오버레이 네트워크 내 단말(14b, 14c, 14d, 14e)에게 알릴 수 있다. 또한 단순 경고뿐 아니라, 오버레이 네트워크 상에서 수신받고자 하는 컨텐트를 보유한 단말을 빠르게 찾을 수 있다. 수신하고자 하는 컨텐트를 보유한 단말들의 정보를 얻음으로써, 전송시한을 넘긴 현재 단말(14a)이 더욱 쉽게 그 특정 컨텐트를 수신할 수 있도록 할 수 있다. 본 발명의 일 실시예는 경고 메시지를 받은 컨텐츠 서버(10)(또는 컨텐츠 서버 내 트래커 서버 기능부)가 특정 컨텐트에 대한 오버레이 네트워크 내의 모든 단말에게 경고 메시지를 전달할 수 있다. 이 경우, 단말들을 관리하는 컨텐츠 서버(10)가 경고 메시지를 전달해 줌으로써, 더욱 효율적으로 특정 컨텐트를 보유한 단말을 찾을 수 있다.
사업자는 제 1차 전송시한을 중대한 전송시한(deadline)이 오기 전, 경고 메시지를 전달받고, P2P에 의한 배포를 촉진시키기 위하여 설정해둘 수 있다.
도 7은 도 5에 도시된 제 2차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 동작의 일 실시예를 나타낸 도면이다.
제 2차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 컨텐츠 서버(10)내의 대체서버 기능부로부터 컨텐트를 직접 수신하거나 또는 대체서버 기능부가 단말(16)에게로 컨텐트를 업로드하는 단계(S40), 수신완료 메시지 전송하는 단계(S42), 수신완료 메시지 기록하는 단계(S44), 및/또는 수신완료 확인 메시지 전송하는 단계(S46)를 포함할 수 있다. 여기서, 수신완료 메시지를 전송하는 단계(S42), 수신완료 메시지를 기록하는 단계(S44) 및 수신완료 확인 메시지를 전송하는 단계(S46)는 설계자의 의도에 따라 생략 가능한 단계이다.
대체서버 기능부로부터 컨텐트를 직접 수신하거나 또는 대체서버 기능부가 단말에 컨텐트를 업로드하는 단계(S40)는, 제 2차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우 단말(16)이 직접 컨텐츠를 수신하는 단계이다. 단말(16)은 제 2차 전송 시한 내에 P2P 방식을 통해 컨텐츠를 수신받지 못한 경우 컨텐츠 서버(10)내에 있는 대체 서버 기능부(도시 생략)에 접근할 수 있다. 단말(16)은 대체 서버 기능부와 PUSH 또는 PULL 방식을 통해 직접 수신할 수 있다. PULL 방식이란 단말(16)이 직접 컨텐츠 서버(10)에 접속하여 원하는 컨텐츠를 수신하는 것이라고 할 수 있다. PUSH 방식이란 PULL 방식에 대칭되는 개념으로 기존 방송 등에서 사용되는 것과 같이 컨텐츠 서버(10)가 자동적 또는 일방적으로 서버상의 컨텐츠를 단말(16)에게로 전송해주는 것이라고 할 수 있다. 컨텐츠 서버(10)내의 대체 서버 기능부는 DSContDistPullSvr(Contents Distribution Pull Server) FE(Function Entity) 및/또는 DSContDistPushCli(Content Distribution Push Client) FE를 포함할 수 있다. DSContDistPullSvr FE는 PULL 방식으로 단말(16)이 컨텐츠를 수신하게 할 수 있다. DSContDistPushCli FE는 PUSH 방식으로 컨텐츠 서버(10)가 단말(16)에게로 컨텐츠를 업로드 할 수 있다. 어떤 방법을 선택할지, 두 방법 모두 선택할지는 서비스 사업자의 정책에 따라 동작할 수 있으며, 이 정책 정보는 배포플랜에 포함될 수 있다. DSContDistPullSvr FE 및 DSContDistPushCli FE 에 대해서는 후술한다.
수신완료 메시지를 전송하는 단계(S42)는, 대체서버 기능부를 통한 컨텐트의 전송이 완료된 경우, 단말(16)이 컨텐츠 서버(10)에게로 특정 컨텐트의 전송이 완료되었음을 알리는 단계이다. 수신완료 메시지는 다양한 정보를 포함할 수 있다. 자세한 사항은 후술한다.
수신완료 메시지를 기록하는 단계(S44)는, 컨텐츠 서버(10)가 수신완료 메시지 및 수신완료 메시지가 포함한 정보를 기록하여 저장하는 단계이다. 자세한 사항은 후술한다.
수신완료 확인 메시지 전송하는 단계(S46)는, 컨텐츠 서버(10)가 수신완료 메시지를 전송한 단말(16)에게로 수신완료 확인 메시지를 보내는 단계이다. 수신완료 확인 메시지는 수신완료 메시지를 받았다는 확인의 의미일 수 있다. 자세한 사항은 후술한다.
상술한 바와 같은 동작들을 통해 제 2차 전송시한까지 특정 컨텐트를 수신완료하지 못한 경우, P2P가 아닌 다른 방식으로 컨텐트를 수신받을 수 있도록 할 수 있다. 디지털 사이니지의 특성상, 특정 시각에 특정 컨텐트를 재생해야 하는 경우가 많다. 이때, P2P 방식만을 이용하여 컨텐츠를 배포할 경우, 특정 시각 내에 특정 컨텐트의 배포가 끝나지 않을 수 있다. 이에 대비하여 PUSH/PULL 방식 등을 통해 컨텐트를 받을 수도 있게 함으로써, 컨텐츠 배포에 안정성을 도모할 수 있다.
사업자는 중대한 전송시한(deadline)이 오기 전, 특정 컨텐트의 배포가 확실히 끝날 수 있도록 보장하기 위해, 제 2차 전송시한을 설정해둘 수 있다.
도 8은 네트워크 평균 속도 정보를 교환하는 경우의 일 실시예를 나타낸 도면이다.
네트워크 평균 속도 정보를 교환하는 경우에는, 네트워크 평균속도 정보를 전송하는 단계(S50), 모든 단말들의 네트워크 평균 속도 정보 전달하는 단계(S52), 및/또는 컨텐트 전부 또는 일부를 요청하고 수신하는 단계(S54)를 포함할 수 있다.
네트워크 평균속도 정보를 전송하는 단계(S50)는, 특정 컨텐트의 오버레이 네트워크 내에 있는 단말들(14a, 14b, 14c, 14d, 14e)이 각각 네트워크 평균속도를 컨텐츠 서버(10)에 전송하는 단계이다. 네트워크 평균속도는 그 특정 컨텐트의 전송속도의 평균값, 수신속도의 평균값 또는 전송 및 수신 속도의 평균값을 의미할 수 있다.
모든 단말들(14a, 14b, 14c, 14d, 14e)의 네트워크 평균 속도 정보 전달하는 단계(S52)는, 컨텐츠 서버(10)가 전송받은 모든 네트워크 평균 속도 정보를 전달해주는 단계이다. 컨텐츠 서버(10)는 단말들(14a, 14b, 14c, 14d, 14e)이 보내온 네트워크 평균속도 정보를 현재 단말(즉, 14a)에게로 전달해 줄 수 있다. 컨텐츠 서버(10)는 가장 네트워크 속도가 빠른 단말을 분석하여 그 분석 정보를 같이 보내줄 수 있다. 평균 속도 분석 정보에는 기 지정된 속도보다 빠른 단말이 무엇인지 분석한 정보가 포함될 수 있다. 평균 속도 분석 정보에는 단말들 중 네트워크 평균 속도가 기 지정된 퍼센테이지 안에 들어있는 단말을 분석한 정보가 포함될 수 있다. 이때, 현재 단말(14a)의 네트워크 평균 속도 정보는 전달하지 않을 수 있다.
컨텐트 전부 또는 일부를 요청하고 수신하는 단계(S54)는, 가장 빠른 네트워크 평균 속도를 가지는 단말(예컨대, 단말2(14c))로부터 컨텐츠를 수신받는 단계이다. 컨텐츠 서버(10)로부터 받은 평균 속도 정보를 분석하여 가장 속도가 빠른 단말을 찾을 수 있다. 또는 컨텐츠 서버(10)가 사전에 분석하여 전송한 평균속도분석 정보를 이용하여 가장 속도가 빠른 단말을 찾을 수 있다. 가장 빠른 속도를 가진 단말로부터 컨텐트의 전부 또는 일부를 요청하고 수신할 수 있다. 본 발명의 일 실시예는 가장 빠른 속도를 가진 단말뿐 아니라, 기 지정된 속도보다 빠른 단말로부터 컨텐트의 전부 또는 일부를 요청하고 수신할 수 있다. 본 발명의 다른 실시예는 단말들 중 네트워크 평균 속도가 기 지정된 퍼센테이지 안에 들어있는 단말로부터 컨텐트의 전부 또는 일부를 요청하고 수신할 수 있다. 이때, 가장 네트워크 속도가 빠른 단말(예컨대, 단말2(14c))이 현재 단말(14a)에게로 컨텐트를 요청한 경우, 현재 단말(14a)이 가장 네트워크 속도가 빠른 단말(예컨대, 단말2(14c))에게로 컨텐트의 전부 또는 일부를 전송해 줄 수 있다.
이와 같은 방식을 통해 P2P 방식에 따른 컨텐츠의 배포를 촉진시킬 수 있다. 상술한 동작은 "미수신시 동작"으로 설정할 수 있다. 상술한 동작은 디지털 사이니지 환경에서 P2P 방식을 이용하는 경우에 있어서, 컨텐츠 서버가 모든 참여자(단말)을 관리하는 형태를 띠고 있으므로, 더 효과적일 수 있다.
도 9는 오버레이 네트워크 내에 컨텐트 보유 단말 수에 따른 효율 대비의 일 실시예를 도시한 도면이다.
P2P 방식의 특성상 컨텐트를 보유한 참가자(peer)의 수가 많을수록 배포 효율이 지수적으로 높아진다. 반대로 참가자의 숫자가 적을 경우, 그 효율이 급감하게 된다.
도 9의 (a)와 같이 "컨텐트 보유 단말 수가 적을 때"를 보면, 컨텐트 보유 단말(18)이 하나밖에 없는 경우이다. 오버레이 네트워크 내에서 특정 컨텐트를 보유한 단말이 하나밖에 없으므로 다른 모든 단말들이 컨텐트를 보유한 단말(18)로부터 전달받아야 한다.
반대로, 도 9의 (b)와 같이 "컨텐트 보유 단말 수가 많을 때"를 보면, 컨텐트 보유 단말(20a, 20b, 20c)이 셋이다. 이때, 다른 단말들은 세 개의 컨텐트 보유 단말(20a, 20b, 20c)로부터 분산해서 수신받으므로 효율이 더 좋을 수 있다.
디지털 사이니지 환경에서 참가자(즉, 단말)의 수는 제한적일 수 있다. 게다가, 컨텐츠 서버가 단말들에 컨텐츠를 배포하므로, 일반적으로 컨텐츠 서버가 최초의 컨텐츠 공급자이자 유일한 컨텐츠 보유 참가자일 수 있다. 이런 문제를 해결하기 위해 디지털 사이니지 환경에서 컨텐트를 보유한 단말을 신속히 늘릴 필요가 있다. 본 발명의 일 실시예는 단말이 수신한 보유정보를 분석했을 때, 특정 컨텐트를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우에, 전술한 대체 서버 기능부에 접근하여 그 특정 컨텐트를 직접 수신하거나 대체 서버 기능부가 해당 컨텐트를 현재 단말에 직접 업로드하게 할 수 있다. 이때, 수신하거나 업로드하는 방식은 상술한 바와 같은 PUSH 또는 PULL 방식을 사용할 수 있다. 이를 통해 디지털 사이니지 환경에서 P2P를 이용한 컨텐트 배포의 효율을 높일 수 있다.
도 10은 컨텐트의 전송이 완료된 경우의 동작의 일 실시예를 도시한 도면이다.
컨텐트의 전송이 완료된 경우에는, 수신완료 메시지를 전송하는 단계(S60), 수신완료 메시지를 기록하는 단계(S62), 및/또는 수신완료 확인 메시지를 전송하는 단계(S64)를 포함할 수 있다.
수신완료 메시지를 전송하는 단계(S60)는, 단말(16)이 컨텐츠 서버(10)로 수신완료 메시지를 전송하여 특정 컨텐트의 전송이 완료되었음을 알리는 단계이다. 여기서, 수신완료 메시지는 특정 컨텐트의 수신 방법(예컨대, P2P, HTTP, FTP 등), 그 특정 컨텐트의 수신 시작시간, 그 특정 컨텐트의 수신 완료시간, 현재 단말의 네트워크 주소, IP정보, 그 특정 컨텐트의 평균 전송속도, 평균 수신속도 및/또는 P2P를 사용하여 수신한 경우 그 특정 컨텐트 공유정보 등을 포함할 수 있다. 컨텐트 공유정보는 그 특정 컨텐트에 대한 오버레이 네트워크 내 단말들의 보유정보를 의미할 수 있다. 이 보유정보는 보유정보를 상호 교환하는 단계에서 얻은 것일 수 있다.
전송 시한 내에 수신이 완료된 경우, 경고 메시지를 보낸 후 컨텐트를 보유한 단말들과 컨텐트를 상호 교환하여 수신완료한 경우, 네트워크 평균 속도정보를 받고 가장 속도가 빠른 단말과 컨텐트 상호 교환하여 수신완료한 경우, 대체서버 기능부로부터 직접 컨텐트를 수신한 경우 등, 어떠한 경우에도 수신이 완료된 경우에는 수신완료 메시지 전송을 하도록 설계할 수 있다.
수신완료 메시지를 기록하는 단계(S62)는, 컨텐츠 서버(10)가 수신완료 메시지 및 수신완료 메시지가 포함한 정보를 기록하여 저장하는 단계이다. 기록한 정보는 향후 네트워크 관리, 배포플랜 작성, 단말의 관리 등에 참고할 수 있다.
수신완료 확인 메시지를 전송하는 단계(S64)는, 컨텐츠 서버(10)가 수신완료 메시지를 전송한 단말(16)에게로 수신완료 확인 메시지를 보내는 단계이다. 수신완료 확인 메시지는 수신완료 메시지를 받았다는 확인의 의미일 수 있다. 본 발명의 일 실시예는 수신완료 확인 메시지를 전달받을 때까지 기 지정된 시간 간격에 따라 기 지정된 횟수만큼 특정 컨텐트 보유정보를 수신하는 단계 및 특정 컨텐트의 전부 또는 일부를 수신하는 단계를 반복할 수 있다. 여기서, 기 지정된 시간 간격과 기 지정된 횟수는 상술한 배포플랜에 포함될 수 있다. 배포플랜에 포함되지 않은 경우 기 지정된 기본값에 따라 반복할 수 있다.
P2P 방식은 기본적으로 지연을 허용(Delay-Tolerant)한 방식이어서, 일반적으로 해당 컨텐트의 수신완료에 대한 기한이 없어 컨텐츠 완료 시점이 불분명할 수 있다. 그러나, 디지털 사이니지 환경은 특정 시각에 특정 컨텐트를 재생해야 하므로 컨텐츠 배포에 안정성이 요구될 수 있다. 그러므로, 보다 안정적인 서비스를 위해서는 디지털 사이니지 서비스 사업자는 컨텐츠의 배포결과를 확인할 수 있어야 하며, 특정시간까지 배포가 완료되지 않은 단말들은 서비스 개시 이전에 컨텐츠를 수신해야 할 것이다. 따라서, 이를 보완하여 안정성을 확보하기 위하여 특정 컨텐트의 수신이 완료된 경우 수신완료 메시지를 전송하도록 할 수 있다. 단말 측에서도 이를 명확하게 하기 위해 수신완료 확인 메시지를 받을 수 있다.
도 11은 단말간에 배포플랜 또는 단말 목록을 전송하는 일 실시예를 도시한 도면이다.
본 발명의 실시예에서, 단말이 컨텐츠 서버로부터 배포플랜을 통지받거나, 단말 목록을 수신받으면, 다른 단말에 이를 전달할 수 있다. 여기서, 다른 단말은 통지받은 배포플랜 또는 수신한 단말 목록과 관련한 컨텐트를 배포받아야 하는 단말일 수 있다. 즉, 특정 컨텐트에 관련한 오버레이 네트워크 내의 단말들 중 하나일 수 있다.
단말간에 배포플랜 또는 단말 목록을 전송하는 경우, 단말1은 컨텐츠 서버로부터 통지받은 배포플랜을 단말2 내지 단말6에게 전달할 수 있다. 배포플랜을 전달받은 단말2 내지 단말6은 아직 배포플랜을 전달받지 않은 다른 단말들에 배포플랜을 전달할 수 있다. 마찬가지로 컨텐츠 서버로부터 단말목록을 전달받은 단말5는 단말목록을 단말1 내지 단말4 및/또는 단말6에게 전달할 수 있다. 단말목록을 전달받은 단말1 내지 단말4 및/또는 단말6은 아직 단말목록을 전달받지 않은 다른 단말들에게 단말목록을 전달할 수 있다.
이와 같은 방식을 통해, 배포플랜 또는 단말목록의 배포효율을 높일 수 있다.
도 12는 본 발명에 따른 컨텐츠 서버의 일 실시예를 도시한 도면이다.
본 발명에 따른 컨텐츠 서버(10)는 P2P 네트워크상에서 동작하는 서버일 수 있다. 컨텐츠 서버(10)는 컨텐츠의 최초 공급자로서의 역할을 할 수 있다. 또한, 컨텐츠 서버(10)는 트래커 서버의 역할 등을 할 수도 있다.
이하에서 컨텐츠 서버(10)를 모듈별로 살펴본다. 각 모듈은 컨텐츠 서버 내에 위치하거나 물리적으로 외부에 별개로 존재할 수도 있다.
본 발명에 따른 컨텐츠 서버(10)는 DSContDistPolicyMgmt(Contents Distribution Policy Management) FE(Function Entity)(10a), DSContDistPullSvr (Contents Distribution Pull Server) FE(10b), DSContDistPushCli(Content Distribution Push Client) FE(10c), DSContTrackerSvr(Content Tracker Server) FE(10d), DSContDistPeer(Contents Distribution Peer) FE(10e), 및/또는 DSContDistLog(Contents Distribution Log) FE(10f)를 포함할 수 있다.
여기서, DSContDistPullSvr FE(10b), DSContDistPushCli FE(10c), 및/또는 DSContDistLog FE(10f)는 생략 가능한 구성일 수 있다.
DSContDistPolicyMgmt FE(10a)는 컨텐츠 배포에 관련된 정책을 관장하는 FE로써, 배포플랜을 생성하고 단말에게 전달하는 역할을 한다. DSContDistPolicyMgmt FE(10a)는 특정 컨텐트에 대한 오버레이 네트워크의 구성(도 2의 S10), 특정 컨텐트의 배포플랜의 생성(도 2의 S12), 배포플랜을 오버레이 네트워크에 포함되는 단말들에게로 통지(도 2의 S16)하는 동작 등을 할 수 있다.
DSContTrackerSvr FE(10d)는 컨텐츠를 P2P로 배포하고자 할 경우 오버레이 네트워크를 관리하는 역할을 할 수 있다. P2P에서 일반적인 트래커 서버의 기능을 포함할 수 있다. DSContTrackerSvr FE(10d)는 단말들의 목록의 생성(도 2의 S14), 단말 목록 내의 단말들로부터 단말 목록을 요청받고 전송(도 2의 S18)하는 동작 등을 할 수 있다.
DSContDistPeer FE(10e)는 컨텐츠를 P2P 로 배포할 경우 오버레이 네트워크의 참가자로서의 역할을 할 수 있다. 일반적으로 사용되는 P2P 피어의 기능을 가질 수 있다. DSContDistPeer FE(10e)를 통해 컨텐츠 서버 역시 단말들과 함께 오버레이 네트워크에서 참여자로서 역할을 할 수 있다. DSContDistPeer FE(10e)는 특정 컨텐트에 대한 보유정보를 교환(도 2의 S20), 특정 컨텐트의 전부 또는 일부를 전송(도 2의 S22)하는 동작 등을 할 수 있다.
DSContDistLog FE(10f)는 컨텐트 배포와 관련된 로그정보를 기록하는 FE일 수 있다. DSContDistLog FE(10f)는 단말들이 전송한 컨텐트 수신 결과를 수집할 수 있다. DSContDistLog FE(10f)는 이 수신 결과를 기록하여 저장할 수 있다. 이 컨텐트 수신 결과는 상술한 수신완료 메시지의 형태일 수 있다. 수신완료 메시지는 상술한 내용들을 포함할 수 있다. DSContDistLog FE(10f)는 수신완료 확인 메시지를, 수신완료 메시지를 전송한 단말에게로 전송할 수 있다. 즉, DSContDistLog FE(10f)는 상술한 동작 설명중, 수신완료 메시지를 수신받고(도 10의 S60), 수신완료 메시지를 기록하고(S62), 수신완료 확인 메시지를 전송(도 10의 S64)하는 동작을 할 수 있다.
DSContDistPullSvr FE(10b)는 컨텐츠 서버가 단말에 컨텐츠를 배포하기 위해 네트워크 서버 기능(FTP 서버, HTTP 서버 등)을 유지할 수 있게 한다. 단말은 상술한 대로 전송 시한(또는 제2차 전송시한)을 도과할 때까지 P2P 방식으로 컨텐츠 수신을 완료하지 못한 경우, DSContDistPullSvr FE(10b)에 접근하여 컨텐츠를 직접 수신할 수 있다. 이때, 단말은 수신한 배포플랜에 따라 DSContDistPullSvr FE(10b)에 접근할 수 있다. DSContDistPullSvr FE(10b)는 상술한 PULL 방식으로 컨텐츠를 전송할 수 있다. DSContDistPullSvr FE(10b)는 상술한 대체서버 기능부에 포함될 수 있다.
DSContDistPushCli FE(10c)는 컨텐츠 서버가 단말에 컨텐츠를 배포할 때 푸시 타입(Push-type)의 전달방식을 사용하는 서버일 수 있다. DSContDistPushCli FE(10c)는 기 지정된 단말들에 대해 컨텐츠를 푸시(push)하는 FE로서, 단말에 컨텐트를 업로드하는 방식을 사용할 수 있다. 디지털 사이니지 사업자가 단말에 컨텐트를 푸시(PUSH) 형태로 보내고자 할 때, 단말내에 파일 수신을 위한 서버가 운영이 될 수 있고, 사업자 측 서버(DSContDistPushCli FE)에서 파일을 직접 클라이언트(단말)에 전달하는 방식을 사용할 때 사용될 수 있다. 예를 들어, 컨텐츠 서버의 FTP 클라이언트가 각 단말에서 구동중인 FTP 서버에 접근하여 컨텐츠를 업로드할 수 있다. 단말은 전송 시한(또는 제2차 전송시한)을 도과하도록 P2P 방식으로 컨텐츠 수신을 완료하지 못한 경우, DSContDistPushCli FE(10c)를 통해 컨텐츠를 획득할 수 있다. 이때, 단말은 수신한 배포플랜에 따라 DSContDistPushCli FE(10c)에 접근할 수 있다. DSContDistPushCli FE(10c)는 PUSH 방식으로 컨텐츠를 전송할 수 있다. DSContDistPushCli FE(10c)는 대체서버 기능부에 포함될 수 있다.
본 발명의 실시예에서, 컨텐츠 서버(10)는 경고 메시지 송수신부 및/또는 네트워크 속도정보 송수신부를 더 포함할 수 있다. 경고 메시지 송수신부 및/또는 네트워크 속도정보 송수신부는 생략 가능한 구성일 수 있다.
컨텐츠 서버(10)의 경고 메시지 송수신부(도시 생략)는 단말이 전송한 경고메시지를 수신할 수 있다. 컨텐츠 서버(10)의 경고 메시지 송수신부는 단말에 존재하는 경고 메시지 송수신부와는 달리, 단말로부터 경고메시지를 받기 전까지 먼저 단말 측에 경고 메시지를 보내지 않을 수 있다. 실시예에 따라, 컨텐츠 서버(10)의 경고 메시지 송수신부는 단말이 보내온 경고 메시지를 특정 컨텐트에 대한 오버레이 네트워크 내의 모든 단말들에 보낼 수 있다. 컨텐츠 서버(10)의 경고 메시지 송수신부는 설계자의 의도에 따라 경고 메시지가 아닌, 다른 형태의 경고를 컨텐츠 서버가 관리하는 단말들에 보낼 수 있다. 컨텐츠 서버(10)의 경고 메시지 송수신부는 상술한 경고 메시지를 수신하는 동작(도 6의 S30)을 할 수 있다. 상술한 대로 설계자의 의도에 따라, 컨텐츠 서버(10) 측의 경고 메시지 송수신부 역시 경고 확인 메시지를 전송할 수 있다. 이 동작들은 상술한 대로 제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우에 실행될 수 있거나 다른 전송시한이 도과한 경우에 실행될 수 있다. 또는 전송시한과 무관하게 실행될 수 있다. 컨텐츠 서버(10)의 경고 메시지 송수신부는 DSContDistPeer FE(10e) 또는 DSContTrackerSvr FE(10d) 내에 포함될 수 있다. 그에 따라, DSContDistPeer FE(10e) 또는 DSContTrackerSvr FE(10d)가 경고 메시지 송수신부의 역할을 할 수 있다.
컨텐츠 서버(10)의 네트워크 속도정보 송수신부(도시 생략)는 단말들이 보내온 자신들의 네트워크 속도정보를 수신할 수 있다. 또한, 컨텐츠 서버(10)의 네트워크 속도정보 송수신부는 특정 단말에게로 네트워크 속도정보들을 전송할 수 있다. 실시예에 따라, 컨텐츠 서버(10)의 네트워크 속도정보 송수신부는 특정 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 단말에게 네트워크 내 다른 단말들의 속도정보를 보낼 수 있다. 다른 실시예는, 컨텐츠 서버(10)의 네트워크 속도정보 송수신부는 전송시한과 무관하게 단말들의 속도정보를 보낼 수 있다. 컨텐츠 서버(10)의 네트워크 속도정보 송수신부는 상술한 대로 속도정보를 전송할 때는 네트워크 평균속도정보를 분석하여 전송할 수 있다. 컨텐츠 서버(10)의 네트워크 속도정보 송수신부는 상술한 네트워크 평균속도 정보를 수신받고(S50), 모든 단말들의 네트워크 평균 속도 정보를 전달(S52)하는 동작을 할 수 있다. 실시예에 따라, 컨텐츠 서버(10)의 네트워크 속도정보 송수신부는 DSContDistPeer FE(10e) 또는 DSContDistPolicyMgmt FE(10a) 또는 DSContTrackerSvr FE(10d) 내에 포함될 수 있다. 그에 따라, DSContDistPeer FE(10e) 또는 DSContDistPolicyMgmt FE(10a) 또는 DSContTrackerSvr FE(10d)가 네트워크 속도정보 송수신부의 역할을 할 수 있다.
컨텐츠 서버(10)는 이 외에도, 실시예에 따라 기타 모듈들을 더 포함할 수 있다.
도 13은 본 발명에 따른 단말의 일 실시예를 도시한 도면이다.
본 발명에 따른 단말(16)은 디지털 사이니지 상의 각각의 디지털 디스플레이에 해당할 수 있다. 본 발명에 따른 단말(16)은 P2P 네트워크상의 각각의 참가자일 수 있다. 도 13에서는 단말의 참조부호를 16으로 하였으나, 여타의 도면에 다른 참조부호로 표시된 단말과 도 13의 단말(16)은 동일한 것으로 봄이 바람직하다.
이하에서 단말(16)을 모듈별로 살펴본다. 각 모듈은 단말 내에 위치하거나 물리적으로 외부에 별개로 존재할 수도 있다.
본 발명에 따른 단말(16)은 DSContDistMgmt(Contents Distribution Management) FE(Function Entity)(16a), DSContDistPullCli(Contents Distribution Pull Client) FE(16b), DSContDistPushSvr(Contents Distribution Push Server) FE(16c), 및/또는 DSContDistPeer(Contents Distribution Peer) FE(16d)를 포함할 수 있다.
여기서, DSContDistPullCli FE(16b) 및/또는 DSContDistPushSvr FE(16c)는 생략 가능한 구성일 수 있다.
DSContDistMgmt FE(16a)는 서비스 사업자(컨텐츠 서버 또는 컨텐츠 서버 내 DSContDistPolicyMgmt FE)로부터 배포플랜 등을 수신할 수 있다. DSContDistMgmt FE(16a)는 배포플랜에 따라 컨텐츠를 수신할 수 있도록 단말 내 다른 FE를 관리하는 역할을 할 수 있다. DSContDistMgmt FE(16a)는 배포플랜을 통지받는 동작(도 2의 S16)을 할 수 있다.
DSContDistPeer FE(16d)는 컨텐츠를 P2P 방식을 통해 수신하고 배포할 수 있다. DSContDistPeer FE(16d)는 컨텐츠 서버 내 DSContDistPeer FE(10e) 또는 다른 단말 내 DSContDistPeer FE(16d)로부터 컨텐츠를 수신할 수 있다. 또한, DSContDistPeer FE(16d)는 다른 단말 내 DSContDistPeer FE(16d)에게로 컨텐츠를 배포할 수 있다. 이를 통해 단말(16)은 오버레이 네트워크의 참가자로서의 역할을 할 수 있다. DSContDistPeer FE(16d)는 일반적으로 사용되는 P2P 피어의 기능을 가질 수 있다. DSContDistPeer FE(16d)는 상술한 특정 컨텐트에 대한 보유정보를 교환(도 2의 S20), 특정 컨텐트의 전부 또는 일부를 요청하고 전송하거나 수신하는 동작(도 2의 S22) 등을 할 수 있다.
또한, DSContDistPeer FE(16d)는 단말 목록을 요청하고 수신(도 2의 S18)할 수 있다. DSContDistPeer FE(16d)는 컨텐츠 서버(10) 또는 다른 단말로부터 오버레이 네트워크에 포함되는 단말들의 목록 또는 컨텐츠 서버 내 트래커 서버 기능부가 관리하는 단말들의 목록을 수신할 수 있다.
또한, DSContDistPeer FE(16d)는 경고 메시지를 전송받은 모든 단말들 중 특정 컨텐트의 전부 또는 일부를 보유한 단말과 특정 컨텐트의 보유정보를 교환(도 6의 S34)하고, 수신한 보유정보에 따라 특정 컨텐트의 전부 또는 일부를 요청하여 수신(도 6의 S36)할 수 있다. 이 동작은 상술한 바와 같이 제 1차 전송시한을 도과한 경우의 "미수신시 동작"으로 설정될 수 있다. 또한, DSContDistPeer FE(16d)는 경고 메시지를 보내온 단말과 특정 컨텐트의 보유정보를 교환(도 6에서 S34)하고, 특정 컨텐트의 전부 또는 일부를 요청해 오면 전송(도 6에서 S36)해줄 수 있다.
또한, DSContDistPeer FE(16d)는 네트워크 평균속도 정보를 전달받으면 특정 컨텐트의 전부 또는 일부를 보유한 단말들 중 평균속도가 가장 빠른 단말과 특정 컨텐트의 전부 또는 일부를 교환(도 8의 S54)할 수 있다.
또한, DSContDistPeer FE(16d)는 특정 컨텐트의 우선순위 정보에 따라 다른 컨텐츠보다 우선순위가 높을 경우 다른 컨텐츠에 우선하여 수신할 수 있다.
또한, DSContDistPeer FE(16d)는 특정 컨텐트를 수신 완료한 경우 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistLog FE)에게로 수신완료 메시지를 전송(도 10의 S60)하고, 컨텐츠 서버(10)로부터 수신완료 메시지를 수신하였다는 수신완료 확인(confirm) 메시지를 수신(도 10의 S64)받는 동작을 할 수 있다.
또한, DSContDistPeer FE(16d)는 수신완료 확인 메시지를 수신받을 때까지 기 지정된 시간 간격에 따라 기 지정된 횟수만큼 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistPeer FE) 또는 다른 단말(또는 다른 단말 내 DSContDistPeer FE)와 컨텐트 보유정보를 교환(도 2의 S20)하고, 컨텐트를 요청하여 수신하거나 전송해주는 동작(도 2의 S22)을 반복할 수 있다. 여기서, 기 지정된 시간 간격과 기 지정된 횟수는 전술한 배포플랜에 포함될 수 있다.
DSContDistPullCli FE(16b)는 디지털 사이니지 사업자의 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistPullSvr FE)에 접근하여 컨텐츠를 요청하고 수신받을 수 있다. 이 동작은 전술한 배포 플랜에 따라 이루어질 수 있다. DSContDistPullCli FE(16b)는 PULL 방식으로 컨텐츠를 수신할 수 있다. DSContDistPullCli FE(16b)는 전송 시한(또는 제2차 전송시한)을 도과할 때까지 P2P 방식으로 컨텐츠 수신을 완료하지 못한 경우 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistPullSvr FE)에 접근하여 컨텐츠를 직접 수신할 수 있다.
DSContDistPushSvr FE(16c)는 디지털 사이니지 사업자의 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistPushCli FE)로부터 부정기적/비동기적으로 컨텐츠를 수신할 수 있도록 준비할 수 있다. 예를 들어, FTP 서버, HTTP서버, TFTP 서버 등이 DSContDistPushSvr FE(16c)에 해당될 수 있다. DSContDistPushSvr FE(16c)는 보안을 위해 Secure 채널(SFTP, HTTPS)을 이용하거나 아이디/비밀번호 등을 통해 사용자를 인증할 수 있다. DSContDistPushSvr FE(16c)는 PUSH 방식으로 컨텐츠를 획득할 수 있다. DSContDistPushSvr FE(16c)는 수신한 배포플랜에 따라 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistPushCli FE)에 접근할 수 있다. 컨텐츠 서버(또는 컨텐츠 서버 내 DSContDistPushCli FE)는 단말(16)의 DSContDistPushSvr FE(16c)에 컨텐츠를 업로드하는 방식을 사용할 수 있다. 전송 시한(또는 제2차 전송시한)을 도과할 때까지 P2P 방식으로 컨텐츠 수신을 완료하지 못한 경우, DSContDistPushSvr FE(16c)를 통해 컨텐츠를 획득할 수 있다.
한편, 단말(16)은 경고 메시지 송수신부, 네트워크 속도정보 송수신부 및/또는 단말간 네트워크 인터페이스를 더 포함할 수 있다. 경고 메시지 송수신부, 네트워크 속도정보 송수신부 및/또는 단말간 네트워크 인터페이스는 생략 가능한 구성일 수 있다.
단말(16)의 경고 메시지 송수신부(도시 생략)는 컨텐츠에 경고메시지를 전송할 수 있다. 단말(16)의 경고 메시지 송수신부는 다른 단말이 보내온 경고 메시지를 특정 컨텐트에 대한 오버레이 네트워크 내의 모든 단말들에 보낼 수 있다. 단말(16)의 경고 메시지 송수신부는 설계자의 의도에 따라 경고 메시지가 아닌 다른 형태의 경고를 컨텐츠 서버(10) 또는 다른 단말들에 보낼 수 있다. 단말(16)의 경고 메시지 송수신부는 경고 메시지를 전송하는 동작(도 6의 S30)을 할 수 있다. 단말(16)의 경고 메시지 송수신부는 경고 메시지를 전송해온 단말에게로 경고 확인 메시지를 전송할 수 있다. 경고 확인 메시지는 경고 메시지를 받았음을 의미할 수 있다. 이 동작들은 제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우에 실행될 수 있다. 또는 다른 전송시한이 도과한 경우에 실행될 수 있다. 또는 전송시한과 무관하게 실행될 수 있다. 단말(16)의 경고 메시지 송수신부는 DSContDistPeer FE(16d) 내에 포함될 수 있다. 그에 따라, DSContDistPeer FE(16d)가 경고 메시지 송수신부의 역할을 할 수 있다.
단말(16)의 네트워크 속도정보 송수신부(도시 생략)는 컨텐츠 서버(또는 컨텐츠 서버 내 네트워크 속도정보 송수신부 또는 DSContTrackerSvr FE 또는 DSContDistPeer FE)에 현재 단말의 네트워크 속도정보를 전송(도 8의 S50)할 수 있다. 단말(16)의 네트워크 속도정보 송수신부는 특정 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우 컨텐츠 서버(10)에 네트워크 속도정보를 보낼 수 있다. 다르게는, 단말(16)의 네트워크 속도정보 송수신부는 전송시한과 무관하게 네트워크 속도정보를 보낼 수 있다. 단말(16)의 네트워크 속도정보 송수신부는 컨텐츠 서버(10)로부터 모든 단말들의 네트워크 평균 속도 정보를 전달(도 8의 S52)받을 수 있다. 전달받는 모든 단말들의 네트워크 평균 속도 정보는 분석된 네트워크 평균 속도 정보일 수 있다. 한편, 단말(16)의 네트워크 속도정보 송수신부는 DSContDistPeer FE(16d) 또는 DSContDistMgmt FE(16a) 내에 포함될 수 있다. 그에 따라, DSContDistPeer FE(16d) 또는 DSContDistMgmt FE(16a)가 네트워크 속도정보 송수신부의 역할을 할 수 있다.
단말(16)의 단말간 네트워크 인터페이스(도시 생략)는 단말 목록 내의 단말들에게 수신받은 배포플랜 또는 단말 목록을 전달하는 역할을 할 수 있다. 또한, 단말(16)의 단말간 네트워크 인터페이스는 다른 단말(또는 단말 내 단말간 네트워크 인터페이스)가 보내온 배포플랜 또는 단말 목록을 수신할 수 있다. 단말(16)의 단말간 네트워크 인터페이스는 DSContDistPeer FE(16d) 또는 DSContDistMgmt FE(16a) 내에 포함될 수 있다. 그에 따라, DSContDistPeer FE(16d) 또는 DSContDistMgmt FE(16a)가 단말간 네트워크 인터페이스의 역할을 할 수 있다.
단말(16)은 이 외에도 실시예에 따라 기타 모듈들을 더 포함할 수 있다.
도 14는 본 발명에 따른 컨텐츠 전송방법 및 수신방법의 일 실시예를 도시한 도면이다. 도 14는 전체 컨텐츠 서버와 단말간의 동작을 단계별로 나타낸 것으로서, 단계들을 컨텐츠 서버와 단말 내의 모듈별로 나타내고 있다. 도 14에서, "DS 컨텐츠 배포 서버" 컨텐츠 서버를 나타낼 수 있고, "DS Terminal"은 단말을 나타낼 수 있다.
본 발명의 일 실시예에 따른 컨텐츠 전송방법 및 수신방법은, 오버레이 네트워크의 생성(S70), 배포플랜의 생성(S72), 배포플랜의 통지(S74), 피어목록의 요청(S76), 피어목록의 전송(S78), 컨텐츠 조각 정보 교환(S80), 특정 조각 요청(S82), 요청된 조각 전송(S84), 컨텐츠 수신 완료 보고 및 수신 확인(S86), ACS로부터 컨텐츠 직접 수신(S88), 및/또는 수신완료 보고 메시지 전송(S90)을 포함할 수 있다.
먼저, 오버레이 네트워크의 생성(S70)은 상술한 오버레이 네트워크를 구성하는 단계(도 2의 S10)와 같을 수 있다. 컨텐츠 서버(10) 내 DSContPolicyMgmt FE(10a)가 오버레이 네트워크를 생성하고, 컨텐츠 서버(10) 내 DSContTrackerSvr FE(10d)가 오버레이 네트워크를 관리할 수 있다.
배포플랜의 생성(S72)은 상술한 배포플랜을 생성하는 단계(도 2의 S12)와 같을 수 있다. 컨텐츠 서버(10) 내 DSContPolicyMgmt FE(10a)가 배포플랜을 생성할 수 있다.
배포플랜의 통지(S74)는 상술한 배포플랜을 통지하는 단계(도 2의 S16)와 같을 수 있다. 컨텐츠 서버(10) 내 DSContPolicyMgmt FE(10a)가 배포플랜을 단말(16) 내 DSContDistMgmt(16a)로 통지할 수 있다.
피어목록의 요청(S76) 및 피어목록의 전송(S78)은 상술한 단말 목록을 요청/수신하는 단계(도 2의 S18)와 같을 수 있다. 피어목록은 단말 목록과 같을 수 있다. 피어목록의 요청 전에 컨텐츠 서버(10) 내 DSContTrackerSvr FE(10d)는 단말 목록을 생성하는 단계(도 2의 S14)를 거칠 수 있다. 단말 내 DSContDistPeer FE(16d)가 컨텐츠 서버 내 DSContTrackerSvr FE(10d)에게로 피어목록을 요청하고, 컨텐츠 서버 내 DSContTrackerSvr FE(10d)가 단말 내 DSContDistPeer FE(16d)에게로 피어목록을 전송할 수 있다.
컨텐츠 조각 정보 교환(S80)은 상술한 컨텐트 보유정보를 교환하는 단계(도 2의 S20)와 같을 수 있다. 컨텐츠 서버(10) 내 DSContDistPeer FE(10e)와 단말(16) 내 DSContDistPeer FE(16d) 사이에서 컨텐츠 조각 정보 교환이 일어날 수 있다. 컨텐츠 조각은 컨텐트를 논리분할한 조각일 수 있다. 컨텐츠 조각 정보란 컨텐트 보유정보를 의미할 수 있다.
특정 조각 요청(S82) 및 요청된 조각 전송(S84)은 상술한 컨텐트 전부/일부를 요청/수신하는 단계(도 2의 S22)와 같을 수 있다. 컨텐츠 서버(10) 내 DSContDistPeer FE(10e)와 단말(16) 내 DSContDistPeer FE(16d) 사이에서 특정 조각의 요청과 전송이 일어날 수 있다. 특정 조각이란 특정 컨텐트의 전부 또는 일부를 의미할 수 있다.
컨텐츠 수신 완료 보고 및 수신 확인(S86)은 상술한 수신완료 메시지를 전송하는 단계(도 10의 S60), 수신완료 메시지를 기록하는 단계(도 10의 S62), 및 수신완료 확인 메시지를 전송하는 단계(도 10의 S64)를 모두 포함한 것으로 볼 수 있다. P2P 방식으로 수신이 완료된 경우에는, 단말(16) 내 DSContDistPeer FE(16d)가 컨텐츠 서버(10) 내 DSContDistLog FE(10f)에게로 수신완료 메시지를 전송하고, 컨텐츠 서버(10) 내 DSContDistLog FE(10f)가 수신완료 메시지를 기록하고, 컨텐츠 서버(10) 내 DSContDistLog FE(10f)가 단말(16) 내 DSContDistPeer FE(16d)에게로 수신완료 확인 메시지를 전송할 수 있다.
ACS로부터 컨텐츠를 직접 수신(S88)은 상술한 대체서버 기능부로부터 컨텐트를 직접 수신하거나 또는 대체서버 기능부가 단말(16)에 컨텐트를 업로드하는 단계(도 7의 S40)와 동일할 수 있다. 단말(16) 내 DSContDistPullCli FE(16b)는 컨텐츠 서버(10) 내 DSContPullSvr FE(10b)에 접근하여 PULL 방식으로 컨텐츠를 수신할 수 있다. 또는 컨텐츠 서버(10) 내 DSContPushCli FE(10c)는 단말(16) 내 DSContPushSvr FE(16c)에 접근하여 컨텐츠를 업로드할 수 있다. 여기서, ACS란, Alternative Contents Server로서, 대체서버 기능부를 의미할 수 있다. ACS는 컨텐츠 서버(10) 내 DSContPullSvr FE(10b) 또는 DSContPushCli FE(10c)를 포함할 수 있다.
수신완료 보고 메시지 전송(S90)은 상술한 수신완료 메시지를 전송하는 단계(도 10의 S60), 수신완료 메시지를 기록하는 단계(도 10의 S62), 및 수신완료 확인 메시지를 전송하는 단계(도 10의 S64)를 모두 포함한 것으로 볼 수 있다. P2P 방식으로 기한 내 수신이 완료되지 않은 경우에는 단말(16) 내 DSContPullCli FE(16b)는 컨텐츠 서버(10) 내 DSContPullSvr FE(10b)에게 수신완료 메시지를 보내고, 컨텐츠 서버(10) 내 DSContPullSvr FE(10b)는 단말(16) 내 DSContPullCli FE(16b)에게 수신완료 확인메시지를 보낼 수 있다. 또한, P2P 방식으로 기한 내 수신이 완료되지 않은 경우 단말(16) 내 DSContPushSvr FE(16c)는 컨텐츠 서버(10) 내 DSContPushCli FE(10c)에게로 수신완료 메시지를 보내고, 컨텐츠 서버(10) 내 DSContPushCli FE(10c)는 단말(16) 내 DSContPushSvr FE(16c)에게 수신완료 확인메시지를 보낼 수 있다. 컨텐츠 서버(10) 내 DSContPushCli FE(10c)는 수신한 수신완료 메시지를 기록할 수 있다. 또는 컨텐츠 서버(10) 내 DSContPushCli FE(10c)는 수신완료 메시지를 컨텐츠 서버(10) 내 DSContDistLog FE(10f)에게로 보내 기록하게 할 수 있다.
도 15는 도 14에서 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우의 동작을 컨텐츠 서버와 단말내의 모듈을 통해 다시 도시한 도면이다.
제1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우에는, 경고메시지 전송(S100), 경고 확인 메시지의 전송(S102), 컨텐트 보유정보 교환(S104), 및/또는 컨텐트 전부 또는 일부를 요청하고 수신(S106)하는 동작을 포함할 수 있다.
먼저, 경고메시지 전송(S100)은 상술한 경고 메시지를 전송하는 단계(도 6의 S30)와 동일할 수 있다. 제 1차 전송시한 내 수신완료하지 못한 단말 내 경고 메시지 송수신부는 컨텐츠 서버(10) 내 경고 메시지 송수신부 및 오버레이 네트워크 내 다른 단말(도 15에서, 단말1, 단말2) 내의 경고 메시지 송수신부에게로 경고 메시지를 전송할 수 있다.
경고 확인 메시지의 전송(S102)은 상술한 경고 확인 메시지를 전송하는 단계(도 6의 S32)와 동일할 수 있다. 경고 메시지를 수신한 단말(도 15에서, 단말1 및 단말2) 내의 경고 메시지 송수신부는 경고 메시지를 송신한 단말(즉, 제1차 전송시한 내 수신완료하지 못한 단말) 내의 경고 메시지 송수신부에게로 경고 확인 메시지를 전송할 수 있다.
컨텐트 보유정보 교환(S104)은 상술한 컨텐트 보유정보를 교환하는 단계(도 6의 S34)와 동일할 수 있다. 경고 메시지를 수신한 단말들(도 15에서, 단말1, 단말2) 중에서 해당 컨텐트의 전부 또는 일부를 보유한 단말(예컨대, 단말1)은 수신완료하지 못한 단말과 특정 컨텐트 보유정보를 교환할 수 있다. 즉, 단말1의 DSContDistPeer FE는 수신완료하지 못한 단말 내 DSContDistPeer FE와 특정 컨텐트 보유정보를 교환할 수 있다.
컨텐트 전부 또는 일부를 요청하고 수신(S106)은 상술한 컨텐트 전부 또는 일부를 요청하고 수신하는 단계(도 6의 S36)와 동일할 수 있다. 해당 컨텐트의 전부 또는 일부를 보유한 단말(예컨대, 단말1)과 수신완료하지 못한 단말은 특정 컨텐트를 서로 요청하고 배포하고 수신할 수 있다. 즉, 단말1의 DSContDistPeer FE 는 수신완료하지 못한 단말 내 DSContDistPeer FE와 특정 컨텐트의 전부 또는 일부를 요청받은 경우 배포하고, 또 요청하여 수신할 수 있다.
도 16a 및 도 16b는 본 발명에 따른 컨텐츠 수신방법을 보다 상세히 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 컨텐츠 수신방법은, 배포플랜을 통지받는 단계(S110), 단말 목록을 수신하는 단계(S112), 특정 컨텐트의 보유정보를 수신하는 단계(S114), 특정 컨텐트의 전부 또는 일부를 수신하는 단계(S116), 수신완료 메시지를 전송하는 단계(S118), 수신완료 확인 메시지를 수신받는 단계(S120), 경고 메시지를 전송하는 단계(S122), 경고 확인 메시지를 수신하는 단계(S124), 특정 컨텐트의 보유정보를 수신하는 단계(S126), 특정 컨텐트의 전부 또는 일부를 수신하는 단계(S128), 및/또는 컨텐트를 직접수신 또는 컨텐트를 업로드하게 하는 단계(S130)을 포함할 수 있다.
여기서, 수신완료 메시지를 전송하는 단계(S118), 수신완료 확인 메시지를 수신받는 단계(S120), 경고 메시지를 전송하는 단계(S122), 경고 확인 메시지를 수신하는 단계(S124), 특정 컨텐트의 보유정보를 수신하는 단계(S126), 특정 컨텐트의 전부 또는 일부를 수신하는 단계(S128), 및 컨텐트를 직접수신 또는 컨텐트를 업로드하게 하는 단계(S130)는 생략 가능한 구성일 수 있다.
먼저, 배포플랜을 통지받는 단계(S110)는 컨텐츠 서버(10) 또는 다른 단말로부터 배포플랜을 통지받는 단계일 수 있다. 여기서, 배포플랜은 특정 컨텐트에 대한 식별정보, 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 컨텐츠 서버 내 오버레이 네트워크에 대한 트래커 서버 기능부 주소를 포함할 수 있다. 배포플랜을 통지받는 단계(S110)는 상술한 배포플랜의 통지 단계(도 2의 S16)를 단말 입장에서 기술한 것과 동일할 수 있다.
단말 목록을 수신하는 단계(S112)는 컨텐츠 서버(10) 또는 다른 단말로부터 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 트래커 서버 기능부 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하는 단계일 수 있다. 단말 목록을 수신하는 단계(S112)는 상술한 단말 목록 요청/수신 단계(도 2의 S18)를 단말 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 보유정보를 수신하는 단계(S114)는 단말 목록 내의 단말들 중 적어도 하나로부터 특정 컨텐트의 전부 또는 일부에 대한 보유 여부를 나타내는 보유정보를 수신하는 단계일 수 있다. 특정 컨텐트의 보유정보를 수신하는 단계(S114)는 상술한 컨텐트 보유정보를 교환하는 단계(도 2의 S20)를 단말 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 전부 또는 일부를 수신하는 단계(S116)는 수신한 보유정보에 따라 보유정보를 수신받은 적어도 하나의 단말로부터 특정 컨텐트의 전부 또는 일부를 수신하는 단계일 수 있다. 특정 컨텐트의 전부 또는 일부를 수신하는 단계(S116)는 상술한 컨텐트 전부/일부를 요청/수신하는 단계(도 2의 S22)를 단말 입장에서 기술한 것과 동일할 수 있다.
수신완료 메시지를 전송하는 단계(S118)는 특정 컨텐트를 수신 완료한 경우 컨텐츠 서버(10)로 수신완료 메시지를 전송하는 단계일 수 있다. 수신완료 메시지를 전송하는 단계(S118)는 전송시한 내에 P2P 방식으로 수신을 완료한 경우 또는 제 1차 전송시한을 도과하였으나 제 2차 전송시한 내에 수신 완료하거나 제 2차 전송시한이 없는 경우, 제 2차 전송시한을 도과하였으나 PUSH, PULL 방식 등으로 수신을 완료한 경우에 실행될 수 있다. 수신완료 메시지를 전송하는 단계(S118)는 상술한 수신완료 메시지 전송하는 단계(도 10의 S60)를 단말 입장에서 기술한 것과 동일할 수 있다.
수신완료 확인 메시지를 수신받는 단계(S120)는 컨텐츠 서버(10)로부터 전송했던 수신완료 메시지를 수신하였다는 수신완료 확인(confirm) 메시지를 수신받는 단계일 수 있다. 수신완료 확인 메시지를 수신받는 단계(S120)는 상술한 수신완료 확인 메시지를 전송하는 단계(도 10의 S64)를 단말 입장에서 기술한 것과 동일할 수 있다.
경고 메시지를 전송하는 단계(S122)는 제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 단말 목록 내의 모든 단말들 및 컨텐츠 서버에 경고 메시지를 전송하는 단계일 수 있다. 경고 메시지를 전송하는 단계(S122)는 상술한 경고 메시지를 전송하는 단계(도 6의 S30)를 단말 입장에서 기술한 것과 동일할 수 있다.
경고 확인 메시지를 수신하는 단계(S124)는 경고 메시지를 전송받은 모든 단말들 중 특정 컨텐트의 전부 또는 일부를 보유한 단말로부터 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 수신하는 단계일 수 있다. 경고 확인 메시지를 수신하는 단계(S124)는 상술한 경고 확인 메시지를 전송하는 단계(도 6의 S32)를 단말 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 보유정보를 수신하는 단계(S126)는 경고 메시지를 전송받은 모든 단말들 중 특정 컨텐트의 전부 또는 일부를 보유한 단말로부터 특정 컨텐트의 보유정보를 수신하는 단계일 수 있다. 특정 컨텐트의 보유정보를 수신하는 단계(S126)는 상술한 컨텐트 보유정보를 교환하는 단계(도 6의 S34)를 단말 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 전부 또는 일부를 수신하는 단계(S128)는 수신한 보유정보에 따라 특정 컨텐트의 전부 또는 일부를 보유한 단말들 중 적어도 하나로부터 특정 컨텐트의 전부 또는 일부를 수신하는 단계일 수 있다. 특정 컨텐트의 전부 또는 일부를 수신하는 단계(S128)는 상술한 컨텐트 전부 또는 일부를 요청하고 수신하는 단계(도 6의 S36)를 단말 입장에서 기술한 것과 동일할 수 있다.
컨텐트를 직접 수신 또는 컨텐트를 업로드하게 하는 단계(S130)는 제 2차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 직접 대체 서버 기능부에 접근하여 컨텐트를 수신하거나, 대체 서버 기능부가 직접 컨텐트를 업로드하게 하는 단계일 수 있다. 컨텐트를 직접 수신 또는 컨텐트를 업로드하게 하는 단계(S130)는 제 1차 전송시한을 도과하고 제 2차 전송시한 내에도 수신을 완료하지 못한 경우, 또는 제 1차 전송시한이 없고 제 2차 전송시한 내에 수신완료하지 못한 경우에 실행될 수 있다. 컨텐트를 직접 수신 또는 컨텐트를 업로드하게 하는 단계(S130)는 상술한 대체서버 기능부로부터 컨텐트를 직접 수신하거나 또는 대체서버 기능부가 단말에 컨텐트를 업로드하는 단계(도 7의 S40)를 단말 입장에서 기술한 것과 동일할 수 있다.
본 발명의 일 실시예는, 배포플랜이 특정 컨텐트의 수신이 완료되어야 할 전송시한 및 전송시한 내 수신이 완료되지 못한 경우 컨텐트를 수신받을 해당 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함하고, 전송시한은 제 1차 전송시한 또는 제 2차 전송시한 중 적어도 하나를 포함할 수 있다.
한편, 도 16a 및 도 16b에는 도시하지 않았지만, 단말이 단말 목록 내 단말들 중 하나로부터 경고 메시지를 받는 단계, 경고 메시지를 보낸 단말로 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 전송하는 단계, 경고 메시지를 보낸 단말에게로 현재 단말의 특정 컨텐트에 대한 보유정보를 전송하는 단계, 및 현재 단말이 보유한 특정 컨텐트의 전부 또는 일부를 경고 메시지를 보낸 단말에게로 전송하는 단계를 더 포함할 수 있다.
도 16a 및 도 16b에는 도시하지 않았지만, 단말이 특정 컨텐트의 전부 또는 일부를 수신하는 네트워크의 평균속도 정보를 컨텐츠 서버로 전송하는 단계, 컨텐츠 서버로부터 목록 내 모든 단말들의 네트워크의 평균속도 정보를 전달받는 단계, 및 특정 컨텐트의 전부 또는 일부를 보유한 단말들 중 평균속도 정보가 나타내는 평균속도가 가장 빠른 단말로부터 특정 컨텐트의 전부 또는 일부를 수신하는 단계를 더 포함할 수 있다.
도 16a 및 도 16b에는 도시하지 않았지만, 배포플랜은 특정 컨텐트의 우선순위 정보를 더 포함할 수 있다. 특정 컨텐트의 전부 또는 일부를 수신하는 단계(S116)는 특정 컨텐트의 우선순위가 "높음"일 경우 우선순위가 "중간" 또는 "낮음"인 다른 컨텐츠보다 우선하여 특정 컨텐트의 전부 또는 일부를 수신할 수 있다.
도 16a 및 도 16b에는 도시하지 않았지만, 단말이 수신한 보유정보를 분석했을 때, 특정 컨텐트의 전부 또는 일부를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우 직접 대체 서버 기능부에 접근하여 특정 컨텐트를 수신하거나, 대체 서버 기능부가 직접 특정 컨텐트를 현재 단말에 업로드하게 하는 단계를 더 포함할 수 있다.
도 16a 및 도 16b에는 도시하지 않았지만, 단말이 수신완료 확인 메시지를 수신받을 때까지, 기 지정된 시간 간격에 따라 기 지정된 횟수만큼 보유정보를 수신하는 단계, 및 특정 컨텐트의 전부 또는 일부를 수신하는 단계를 반복할 수 있다. 여기서, 기 지정된 시간 간격과 기 지정된 횟수는 배포플랜에 포함될 수 있다.
한편으로, S118에서의 수신완료 메시지는 특정 컨텐트의 수신 방법, 특정 컨텐트의 수신 시작시간, 특정 컨텐트의 수신 완료시간 또는 현재 단말의 네트워크 주소 중 적어도 하나를 포함할 수 있다.
도 16a 및 도 16b에는 도시하지 않았지만, 단말이 단말 목록 내의 다른 단말들에게 배포플랜 또는 목록을 전달하는 단계를 더 포함할 수 있다.
도 17은 본 발명에 따른 원격제어가 가능한 디지털 디스플레이 단말의 일 실시예를 도시한 도면이다.
본 발명의 일 실시예에 따른 원격제어가 가능한 디지털 디스플레이 단말(20)은 컨텐츠 배포 관리부(20a), 컨텐츠 배포 피어(20b), 경고 메시지 송수신부(20c), 네트워크 속도정보 송수신부(20d), 단말 대체 서버(20e), 및/또는 단말간 네트워크 인터페이스(20f)를 포함할 수 있다.
여기서, 경고 메시지 송수신부(20c), 네트워크 속도정보 송수신부(20d), 단말 대체 서버(20e), 및 단말간 네트워크 인터페이스(20f)는 생략 가능한 구성일 수 있다.
컨텐츠 배포 관리부(20a)는 컨텐츠 서버(10) 또는 다른 단말로부터 배포플랜을 통지받을 수 있다. 여기서, 배포플랜은 특정 컨텐트에 대한 식별정보, 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 컨텐츠 서버 내 오버레이 네트워크에 대한 트래커 서버 기능부 주소를 포함할 수 있다. 컨텐츠 배포 관리부(20a)는 상술한 단말(16) 내 DSContDistMgmt FE(16a)와 동일할 수 있다.
컨텐츠 배포 피어(20b)는 컨텐츠 서버(10) 또는 다른 단말로부터 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 트래커 서버 기능부 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하고, 단말 목록 내의 단말들 중 적어도 하나로부터 특정 컨텐트의 전부 또는 일부에 대한 보유 여부를 나타내는 보유정보를 수신하고, 보유정보에 따라 보유정보를 전송한 단말로부터 특정 컨텐트의 전부 또는 일부를 수신할 수 있다. 컨텐츠 배포 피어(20b)는 상술한 단말(16) 내 DSContDistPeer FE(16d)와 동일할 수 있다.
경고 메시지 송수신부(20c)는 제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우 단말 목록 내의 모든 단말들 및 컨텐츠 서버에 경고 메시지를 전송할 수 있다. 또한, 경고 메시지 송수신부(20c)는 다른 단말이 보내온 경고메시지를 수신할 수 있다. 또한, 경고 메시지 송수신부(20c)는 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 경고 메시지를 보내온 단말에게 전송할 수 있다. 경고 메시지 송수신부(17030)는 상술한 단말(16) 내 경고 메시지 송수신부와 동일할 수 있다.
네트워크 속도정보 송수신부(20d)는 특정 컨텐트의 전부 또는 일부를 수신하는 네트워크의 평균속도 정보를 정보를 컨텐츠 서버(10)로 전송하고, 컨텐츠 서버(10)로부터 목록 내 모든 단말들의 네트워크의 평균속도 정보를 전달받을 수 있다. 네트워크 속도정보 송수신부(20d)는 상술한 단말(16) 내 네트워크 속도정보 송수신부와 동일할 수 있다.
단말 대체 서버(20e)는 제 2차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 직접 컨텐츠 서버 내 대체 서버 기능부에 접근하여 컨텐트를 수신하거나, 컨텐츠 서버 내 대체 서버 기능부가 직접 컨텐트를 단말 내 대체서버에 업로드하게 할 수 있다. 단말 대체 서버(20e)는 상술한 DSContDistPullCli FE(16b) 및/또는 DSContDistPushSvr FE(16c)를 포함할 수 있다.
단말간 네트워크 인터페이스(20f)는 단말 목록 내의 다른 단말들에 배포플랜 또는 목록을 전달할 수 있다. 단말간 네트워크 인터페이스(20f)는 상술한 단말 내 단말간 네트워크 인터페이스와 동일할 수 있다.
한편, 원격제어가 가능한 디지털 디스플레이 단말(20)은 배포플랜이 특정 컨텐트의 수신이 완료되어야 할 전송시한 및 전송시한 내 수신이 완료되지 못한 경우 컨텐트를 수신받을 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함할 수 있다. 여기서, 전송시한은 제 1차 전송시한 또는 제 2차 전송시한 중 적어도 하나를 포함할 수 있다.
제 1차 전송시한 내에 특정 컨텐트의 수신이 완료되지 못한 경우, 경고 메시지 송수신부(20c)가 목록 내의 모든 단말들 및 컨텐츠 서버에 경고 메시지를 전송하며, 경고 메시지를 전송받은 모든 단말들 중 특정 컨텐트의 전부 또는 일부를 보유한 단말로부터 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 수신할 수 있다. 컨텐츠 배포 피어(20b)는 경고 확인 메시지를 전송해온 단말들 중 적어도 하나로부터 특정 컨텐트의 보유정보를 수신하고, 수신한 보유정보에 따라 적어도 하나의 단말로부터 특정 컨텐트의 전부 또는 일부를 수신할 수 있다.
경고메시지 송수신부(20c)가 단말 목록 내 단말들 중 하나로부터 경고 메시지를 받고, 경고 메시지를 전송해온 단말에게로 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 전송할 수 있다. 이때, 컨텐츠 배포 피어(20b)가 경고 메시지를 전송해온 단말에게로 현재 단말의 특정 컨텐트에 대한 보유정보를 전송하고, 현재 단말이 보유한 특정 컨텐트의 전부 또는 일부를 경고 메시지를 전송해온 단말에게로 전송할 수 있다.
네트워크 속도정보 송수신부(20d)가 특정 컨텐트의 전부 또는 일부를 수신하는 네트워크의 평균속도 정보를 정보를 컨텐츠 서버(10)에게로 전송하고, 컨텐츠 서버(10)로부터 단말 목록 내 모든 단말들의 네트워크의 평균속도 정보를 전달받을 수 있다. 이때, 컨텐츠 배포 피어(20b)는 특정 컨텐트의 전부 또는 일부를 보유한 단말들 중 평균속도 정보가 나타내는 평균속도가 가장 빠른 단말로부터 특정 컨텐트의 전부 또는 일부를 수신할 수 있다.
컨텐츠 배포 관리부(20a)가 통지받는 배포플랜에는 특정 컨텐트의 우선순위 정보가 더 포함될 수 있다. 이 경우, 컨텐츠 배포 피어(20b)는 특정 컨텐트의 우선순위가 "높음"일 경우 우선순위가 "중간" 또는 "낮음"인 다른 컨텐츠보다 우선하여 우선순위가 높은 특정 컨텐트의 전부 또는 일부를 수신할 수 있다.
단말대체서버(20e)가 수신한 보유정보를 분석했을 때, 특정 컨텐트의 전부 또는 일부를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 직접 컨텐츠 서버 내 대체 서버 기능부에 접근하여 컨텐트를 수신하거나, 컨텐츠 서버 내 대체 서버 기능부가 직접 컨텐트를 단말대체서버(20e)에 업로드하게 할 수 있다.
특정 컨텐트를 수신 완료한 경우, 컨텐츠 배포 피어(20b)가 컨텐츠 서버(10)에게로 수신완료 메시지를 전송하고, 컨텐츠 서버(10)로부터 수신완료 메시지를 수신하였다는 수신완료 확인(confirm) 메시지를 수신받을 수 있다.
수신완료 확인 메시지를 수신받을 때까지, 컨텐츠 배포 피어(20b)가 기 지정된 시간 간격에 따라 기 지정된 횟수만큼 보유정보를 수신하는 동작 및 특정 컨텐트의 전부 또는 일부를 수신하는 동작을 반복할 수 있다. 여기서, 기 지정된 시간 간격과 기 지정된 횟수는 배포플랜에 포함될 수 있다.
수신완료 메시지는 특정 컨텐트의 수신 방법, 특정 컨텐트의 수신 시작시간, 특정 컨텐트의 수신 완료시간 또는 디지털 디스플레이 단말의 네트워크 주소 중 적어도 하나를 포함할 수 있다.
도 18a 및 도 18b는 본 발명에 따른 컨텐츠 전송방법을 보다 상세히 설명하기 위한 도면이다.
본 발명의 일실시예에 따른 컨텐츠 전송방법은, 오버레이 네트워크를 구성하는 단계(S140), 배포플랜을 생성하는 단계(S142), 단말 목록을 생성하는 단계(S144), 배포플랜을 통지하는 단계(S146), 단말 목록을 전송하는 단계(S148), 컨텐트 보유정보를 전송하는 단계(S150), 특정 컨텐트의 전부 또는 일부를 전송하는 단계(S152), 경고 메시지를 수신하는 단계(S154), 경고 확인 메시지를 전송하는 단계(S156), 특정 컨텐트의 보유정보를 수신하는 단계(S158), 특정 컨텐트의 전부 또는 일부를 전송하는 단계(S160), 컨텐트를 직접 수신케 하거나 컨텐트를 업로드하는 단계(S162), 수신완료 메시지를 수신하는 단계(S164), 수신완료 메시지를 기록하는 단계(S166), 및/또는 수신완료 확인 메시지를 전송하는 단계(S168)를 포함할 수 있다.
여기서, 경고 메시지를 수신하는 단계(S154), 경고 확인 메시지를 전송하는 단계(S156), 특정 컨텐트의 보유정보를 수신하는 단계(S158), 특정 컨텐트의 전부 또는 일부를 전송하는 단계(S160), 컨텐트를 직접 수신케 하거나 컨텐트를 업로드하는 단계(S162), 수신완료 메시지를 수신하는 단계(S164), 수신완료 메시지를 기록하는 단계(S166), 및 수신완료 확인 메시지를 전송하는 단계(S168)는 생략 가능한 구성일 수 있다.
먼저, 오버레이 네트워크를 구성하는 단계(S140)는 컨텐츠 서버(10)가 특정 컨텐트에 대한 오버레이 네트워크를 구성하는 단계일 수 있다. 오버레이 네트워크를 구성하는 단계(S140)는 상술한 오버레이 네트워크를 구성하는 단계(도 2의 S10)와 동일할 수 있다.
배포플랜을 생성하는 단계(S142)는 오버레이 네트워크를 구성하는 단계(S140)에서 구성한 오버레이 네트워크에 대한 특정 컨텐트의 배포플랜을 생성하는 단계일 수 있다. 여기서, 배포플랜은 특정 컨텐트에 대한 식별정보, 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 컨텐츠 서버 내 오버레이 네트워크에 대한 트래커 서버 기능부 주소를 포함할 수 있다. 배포플랜을 생성하는 단계(S142)는 상술한 배포플랜을 생성하는 단계(도 2의 S12)와 동일할 수 있다.
단말 목록을 생성하는 단계(S144)는 배포플랜에 포함된 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 배포플랜에 포함된 트래커 서버 기능부 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 생성하는 단계일 수 있다. 단말 목록을 생성하는 단계(S144)는 상술한 단말 목록을 생성하는 단계(도 2의 S14)와 동일할 수 있다.
배포플랜을 통지하는 단계(S146)는 단말 목록을 생성하는 단계(S144)에서 생성한 단말 목록 내의 단말들 중 적어도 하나의 단말에게로 배포플랜을 통지하는 단계일 수 있다. 배포플랜을 통지하는 단계(S146)는 상술한 배포플랜의 통지하는 단계(도 2의 S16)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
단말 목록을 전송하는 단계(S148)는 단말 목록을, 단말 목록 내의 단말들 중 적어도 하나의 단말로 전송하는 단계일 수 있다. 단말 목록을 전송하는 단계(S148)는 상술한 단말 목록 요청/수신 단계(도 2의 S18)에서 단말이 목록을 요청하면 전송해주는 것과 동일할 수 있다.
컨텐트 보유정보를 전송하는 단계(S150)는 단말 목록 내의 단말들 중 적어도 하나로, 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 전송하는 단계일 수 있다. 컨텐트 보유정보를 전송하는 단계(S150)는 상술한 컨텐트 보유정보를 교환하는 단계(도 2의 S20)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 전부 또는 일부를 전송하는 단계(S152)는 컨텐트 보유정보를 전송하는 단계(S150)에서 보유정보를 전송한 단말에게로, 특정 컨텐트의 전부 또는 일부를 전송하는 단계일 수 있다. 특정 컨텐트의 전부 또는 일부를 전송하는 단계(S152)는 상술한 컨텐트 전부/일부를 요청/수신하는 단계(도 2의 S22)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
경고 메시지를 수신하는 단계(S154)는 제 1차 전송시한 내에 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하는 단계일 수 있다. 경고 메시지를 수신하는 단계(S154)는 상술한 경고 메시지를 전송하는 단계(도 6의 S 30)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
경고 확인 메시지를 전송하는 단계(S156)는 경고 메시지를 전송하는 단계(도 6의 S30)에서의 전송이 완료되지 못한 단말로, 경고 메시지를 수신받았음을 의미하는 경고 확인 메시지를 전송하는 단계일 수 있다. 경고 확인 메시지를 전송하는 단계(S156)는 상술한 경고 확인 메시지를 전송하는 단계(도 6의 S32)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 보유정보를 수신하는 단계(S158)는 경고 메시지를 전송하는 단계(도 6의 S30)에서의 전송이 완료되지 못한 단말로부터, 전송이 완료되지 못한 단말의 특정 컨텐트의 보유정보를 수신하는 단계일 수 있다. 특정 컨텐트의 보유정보를 수신하는 단계(S158)는 상술한 컨텐트 보유정보를 교환하는 단계(도 6의 S34)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
특정 컨텐트의 전부 또는 일부를 전송하는 단계(S160)는 특정 컨텐트의 보유정보를 수신하는 단계(S158)에서 수신한 보유정보에 따라, 전송이 완료되지 못한 단말로 특정 컨텐트의 전부 또는 일부를 전송하는 단계일 수 있다. 특정 컨텐트의 전부 또는 일부를 전송하는 단계(S160)는 상술한 컨텐트 전부 또는 일부를 요청하고 수신하는 단계(도 6의 S36)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
컨텐트를 직접 수신하게 하거나 컨텐트를 업로드하는 단계(S162)는 제 2차 전송시한 내에 특정 컨텐트의 전송이 완료되지 못한 경우, 전송을 완료하지 못한 단말을 직접 대체 서버 기능부에 접근하게 하여 컨텐트를 수신하게 하거나, 대체 서버 기능부가 직접 컨텐트를 전송을 완료하지 못한 단말로 업로드하는 단계일 수 있다. 컨텐트를 직접 수신하게 하거나 컨텐트를 업로드하는 단계(S162)는 상술한 대체서버 기능부로부터 컨텐트를 직접 수신하거나 또는 대체서버 기능부가 단말에 컨텐트를 업로드하는 단계(도 7의 S40)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
수신완료 메시지를 수신하는 단계(S164)는 특정 컨텐트를 전송 완료한 경우, 그 특정 컨텐트를 전송 완료한 단말로부터 수신완료 메시지를 수신하는 단계일 수 있다. 수신완료 메시지를 수신하는 단계(S164)는 상술한 수신완료 메시지 전송하는 단계(도 10의 S60)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
수신완료 메시지를 기록하는 단계(S166)는 수신완료 메시지를 수신하는 단계(S164)에서 수신한 수신완료 메시지를 컨텐츠 서버(10) 내에 기록하는 단계일 수 있다. 수신완료 메시지를 기록하는 단계(S166)는 상술한 수신완료 메시지 기록하는 단계(도 10의 S62)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
수신완료 확인 메시지를 전송하는 단계(S168)는 특정 컨텐트를 전송 완료한 단말로 수신완료 메시지를 수신하였다는 수신완료 확인(confirm) 메시지를 전송하는 단계일 수 있다. 수신완료 확인 메시지를 전송하는 단계(S168)는 상술한 수신완료 확인 메시지를 전송하는 단계(도 10의 S64)를 컨텐츠 서버(10)의 입장에서 기술한 것과 동일할 수 있다.
한편, 배포플랜은 특정 컨텐트의 전송이 완료되어야 할 전송시한 및 전송시한 내 전송이 완료되지 못한 경우 컨텐트를 수신할 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함할 수 있다. 여기서, 전송시한은 제 1차 전송시한 또는 제 2차 전송시한 중 적어도 하나를 포함할 수 있다.
또한, 단말 목록 내의 모든 단말들로부터 특정 컨텐트의 전부 또는 일부를 수신하는 네트워크의 평균속도 정보를 수신하고, 단말 목록 내의 적어도 하나의 단말에게로 수신한 모든 단말들의 네트워크의 평균속도 정보를 전달할 수 있다.
또한, 특정 컨텐트의 전부 또는 일부를 전송하고, 배포플랜이 특정 컨텐트의 우선순위 정보를 더 포함할 수 있다. 여기서, 특정 컨텐트의 우선순위가 "높음"일 경우, 우선순위가 "중간" 또는 "낮음"인 다른 컨텐츠보다 우선하여 특정 컨텐트의 전부 또는 일부를 전송할 수 있다.
또한, 특정 컨텐트에 대한 오버레이 네트워크에, 특정 컨텐트의 전부 또는 일부를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 오버레이 네트워크 내의 단말들 중 적어도 하나의 단말을 직접 대체 서버 기능부에 접근하게 하여 컨텐트를 수신하게 하거나, 대체 서버 기능부가 직접 컨텐트를 적어도 하나의 단말로 업로드하는 단계를 더 포함할 수 있다.
또한, 수신완료 메시지는 특정 컨텐트의 수신 방법, 특정 컨텐트의 수신 시작시간, 특정 컨텐트의 수신 완료시간 또는 특정 컨텐트를 수신 완료한 단말의 네트워크 주소 중 적어도 하나를 포함할 수 있다.
도 19는 본 발명에 따른 컨텐츠 서버의 일 실시예를 도시한 도면이다.
본 발명의 일실시예에 따른 컨텐츠 서버(10)는, 컨텐츠 배포정책 관리부(10a), 트래커 서버 기능부(10d), 컨텐츠 배포 피어(10e), 경고 메시지 송수신부(10g), 네트워크 속도 정보 송수신부(10h), 대체 서버 기능부(10i), 및/또는 컨텐츠 배포 로그 기록부(10f)를 포함할 수 있다.
여기서, 경고 메시지 송수신부(10g), 네트워크 속도 정보 송수신부(10h), 대체 서버 기능부(10i), 및 컨텐츠 배포 로그 기록부(10f)는 생략가능한 구성일 수 있다.
컨텐츠 배포정책 관리부(10a)는 특정 컨텐트에 대한 오버레이 네트워크를 구성하고, 그 특정 컨텐트의 배포플랜을 생성하고, 생성된 배포플랜을 구성된 오버레이 네트워크에 포함되는 단말들 중 적어도 하나의 단말로 통지할 수 있다. 컨텐츠 배포정책 관리부(10a)는 상술한 컨텐츠 서버 내 DSContDistPolicyMgmt FE 와 동일할 수 있다.
트래커 서버 기능부(10d)는 단말들의 목록을 생성하고, 단말 목록을 목록 내의 단말들 중 적어도 하나의 단말로 전송할 수 있다. 여기서, 컨텐츠 배포정책 관리부(10a)가 생성한 배포플랜은 특정 컨텐트에 대한 식별정보, 특정 컨텐트에 대한 오버레이 네트워크 식별정보 및 트래커 서버 기능부(10d)의 네트워크 주소를 포함한다. 여기서, 단말 목록은 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 트래커 서버 기능부(10d)의 네트워크 주소에 의하여 식별되는 트래커 서버 기능부(10d)가 관리하는 단말들의 목록일 수 있다. 트래커 서버 기능부(10d)는 상술한 컨텐츠 서버 내 DSContTrackerSvr FE 와 동일할 수 있다.
컨텐츠 배포 피어(10e)는 단말 목록 내의 단말들 중 적어도 하나에게로 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 전송하고, 보유정보를 전송한 단말에게로 특정 컨텐트의 전부 또는 일부를 전송할 수 있다. 컨텐츠 배포 피어(10e)는 상술한 컨텐츠 서버 내 DSContDistPeer FE 와 동일할 수 있다.
경고 메시지 송수신부(10g)는 제 1차 전송시한 내에 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하고, 전송이 완료되지 못한 단말에게로 경고 메시지를 수신받았음을 의미하는 경고 확인 메시지를 전송할 수 있다. 경고 메시지 송수신부(10g)는 상술한 컨텐츠 서버 내 경고 메시지 송수신부와 동일할 수 있다.
네트워크 속도 정보 송수신부(10h)는 단말 목록 내의 모든 단말들로부터 특정 컨텐트의 전부 또는 일부를 수신하는 네트워크의 평균속도 정보를 수신하고, 단말 목록 내의 적어도 하나의 단말에게 수신한 모든 단말들의 네트워크의 평균속도 정보를 전달할 수 있다. 네트워크 속도 정보 송수신부(10h)는 상술한 컨텐츠 서버 내 네트워크 속도 정보 송수신부와 동일할 수 있다.
대체 서버 기능부(10i)는 제 2차 전송시한 내에 특정 컨텐트의 전송이 완료되지 못한 경우, 전송을 완료하지 못한 단말을 직접 대체 서버 기능부에 접근하게 하여 컨텐트를 수신하게 하거나, 직접 컨텐트를 전송을 완료하지 못한 단말에게로 업로드할 수 있다. 대체 서버 기능부(10i)는 상술한 컨텐츠 서버 내 대체 서버 기능부와 동일할 수 있다.
컨텐츠 배포 로그 기록부(10f)는 특정 컨텐트를 전송 완료한 경우, 특정 컨텐트를 전송 완료한 단말로부터 수신완료 메시지를 수신하고, 수신한 수신완료 메시지를 기록하고, 특정 컨텐트를 전송 완료한 단말로 수신완료 메시지를 수신하였다는 수신완료 확인(confirm) 메시지를 전송할 수 있다. 컨텐츠 배포 로그 기록부(10f)는 상술한 컨텐츠 서버 내 DSContDistLog FE 와 동일할 수 있다.
한편, 배포플랜은 특정 컨텐트의 전송이 완료되어야 할 전송시한 및 전송시한 내 전송이 완료되지 못한 경우 컨텐트를 수신할 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함할 수 있다. 전송시한은 제 1차 전송시한 또는 제 2차 전송시한 중 적어도 하나를 포함할 수 있다.
또한, 경고 메시지 송수신부(10g)는 제 1차 전송시한 내에 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하고, 컨텐츠 배포 피어(10e)는 전송이 완료되지 못한 단말로부터 전송이 완료되지 못한 단말의 특정 컨텐트의 보유정보를 수신하고, 수신한 보유정보에 따라 전송이 완료되지 못한 단말에게로 특정 컨텐트의 전부 또는 일부를 전송할 수 있다.
또한, 배포플랜은 특정 컨텐트의 우선순위 정보를 더 포함할 수 있다. 이 경우, 컨텐츠 배포 피어(10e)는 특정 컨텐트의 우선순위가 "높음"일 경우, 우선순위가 "중간" 또는 "낮음"인 다른 컨텐츠보다 우선하여 특정 컨텐트의 전부 또는 일부를 전송할 수 있다.
또한, 대체 서버 기능부(10i)는 특정 컨텐트에 대한 오버레이 네트워크에 특정 컨텐트의 전부 또는 일부를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 오버레이 네트워크 내의 단말들 중 적어도 하나의 단말을 직접 대체 서버 기능부(10i)에 접근하게 하여 컨텐트를 수신하게 하거나, 직접 컨텐트를 적어도 하나의 단말에게로 업로드할 수 있다.
한편, 수신완료 메시지는 특정 컨텐트의 수신 방법, 특정 컨텐트의 수신 시작시간, 특정 컨텐트의 수신 완료시간 또는 특정 컨텐트를 수신 완료한 단말의 네트워크 주소 중 적어도 하나를 포함할 수 있다.
디지털 사이니지 단말들은 네트워크에 연결되어 있으며, 컨텐츠는 컨텐츠 서버로부터 최초 배포되나 다른 단말간 상호 교환이 일어나게 되므로 컨텐츠 서버의 부하집중이 해소됨은 물론 단말의 유휴 네트워크를 활용할 수 있는 장점이 있다.
또한, 컨텐츠는 미리 지정된 크기로 논리적으로 분할되어 있을 수 있으며, 이 단위로 단말간 교환이 이루어질 수 있다. 이를 통해 하나의 콘텐츠를 조각내어 여러 단말들로부터 동시에 수신할 수 있어 최대한 빨리 컨텐츠를 수신할 수 있다.
P2P의 특성상 참여하고 있는 피어들(여기서는 DS 단말)이 많을수록 배포 효율은 지수적으로 높아지는 특성을 가지고 있다. P2P기반 파일 쉐어링(File Sharing; 파일 공유)은 기본적으로 지연을 허용(Delay-Tolerant)한 방식이다. 즉, 해당 컨텐츠의 수신 완료에 대한 기한이 명시되어 있지 않다. 그러므로, 보다 안정적인 서비스를 위해서는 디지털 사이니지 서비스 사업자는 컨텐츠의 배포결과를 확인할 수 있어야 하며, 특정시간까지 배포가 완료되지 않은 단말들은 서비스 개시 이전에 컨텐츠를 수신할 수 있어야 한다.
디지털 사이니지 서버(즉, 컨텐츠 서버)는 단말에 컨텐츠 배포 플랜을 전달할 수 있으며, 단말은 이 배포 플랜에 따라 컨텐츠를 수신하고 주변 다른 단말에 배포할 수 있다. 컨텐츠 배포 플랜에는 배포기한이 명시되어 있을 수 있으며, 기한 내 해당 컨텐츠 수신이 안된 경우, ACS에서 직접 받게 함으로써 안정성을 확보할 수 있다.
기존 P2P 파일 쉐어링(File sharing)은 클라이언트측에서 오버레이 네트워크에 참여/탈퇴 과정이 있으나, 디지털 사이니지 환경의 경우, 컨텐츠 배포 서버에서 기 지정된 단말에 대해 사전에 오버레이 네트워크에 참여시킬 수 있기 때문에 참여/탈퇴 등의 과정을 필요로 하지 않을 수 있다. 또한, 모든 참여 노드/피어들은 사업자들에 의해 관리되는 단말들일 수 있다. 또한, P2P 파일 쉐어링은 단말-구동(driven) 방식인데 반해, 이 방식은 서버(server)-구동(driven) 방식일 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 방송 프로그램과 관련한 양방향 서비스를 처리하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
10 : 컨텐츠 서버 10a : 컨텐츠 배포정책 관리부
10d : 트래커 서버 기능부 10e : 컨텐츠 배포 피어
10f : 컨텐츠 배포 로그 기록부 10g : 경고 메시지 송수신부
10h : 네트워크 속도 정보 송수신부 10i : 대체 서버 기능부
12a, 12b, 14a ~ 14e, 16, 20, 22 : 단말

Claims (33)

  1. 단말이 오버레이 네트워크를 통해 컨텐츠를 수신하는 방법으로서,
    특정 컨텐트에 대한 식별정보, 상기 특정 컨텐트에 대한 오버레이 네트워크 식별정보 및 상기 오버레이 네트워크에 대한 컨텐츠 서버 내 트래커 서버 기능부의 주소를 포함하는 배포플랜을, 상기 컨텐츠 서버 또는 상기 오버레이 네트워크내의 다른 단말로부터 통지받는 단계;
    상기 컨텐츠 서버 또는 상기 다른 단말로부터 오버레이 네트워크 식별정보에 의하여 식별되는 상기 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 트래커 서버 기능부의 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하는 단계;
    상기 목록 내의 단말들 중 하나 이상의 단말로부터 상기 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 수신하는 단계; 및
    상기 보유정보를 근거로 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  2. 청구항 1에 있어서,
    상기 특정 컨텐트를 수신하는 단계에 의해 상기 특정 컨텐트를 수신함에 따라 상기 컨텐츠 서버에게로 수신완료 메시지를 전송하는 단계; 및
    상기 컨텐츠 서버로부터 상기 수신완료 메시지를 수신하였음을 나타내는 수신완료 확인 메시지를 수신받는 단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  3. 청구항 2에 있어서,
    상기 수신완료 메시지는 상기 특정 컨텐트의 수신 방법, 상기 특정 컨텐트의 수신 시작시간, 상기 특정 컨텐트의 수신 완료시간, 상기 특정 컨텐트의 평균 전송속도 및 평균 수신속도, 상기 특정 컨텐츠의 공유 정보중에서 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  4. 청구항 2에 있어서,
    상기 수신완료 확인 메시지를 수신받을 때까지,
    상기 보유정보를 수신하는 단계는 기지정된 시간 간격 및 기저장된 횟수에 따라 상기 보유정보를 수신하고, 상기 특정 컨텐트를 수신하는 단계는 상기 수신한 보유정보를 근거로 상기 특정 컨텐트를 수신하고,
    상기 기저장된 시간 간격 및 상기 기저장된 횟수는 상기 배포플랜에 추가로 포함되는 것을 특징으로 하는 컨텐츠 수신 방법.
  5. 청구항 1에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 수신이 완료되어야 할 전송시한, 및 상기 전송시한내 수신이 완료되지 못한 경우 상기 특정 컨텐트를 수신받을 상기 컨텐츠 서버내 대체 서버 기능부의 주소를 추가로 포함하고,
    상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한중에서 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  6. 청구항 5에 있어서,
    상기 제 1차 전송시한내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우 상기 목록내의 모든 단말 및 상기 컨텐츠 서버에 경고 메시지를 전송하는 단계;
    상기 경고 메시지를 전송받은 상기 모든 단말들중에서 상기 특정 컨텐트를 보유한 단말로부터 상기 경고 메시지를 전송받았음을 의미하는 경고 확인 메시지를 수신하는 단계;
    상기 경고 확인 메시지를 전송해온 단말들중 하나 이상의 단말로부터 상기 특정 컨텐트의 보유정보를 수신하는 단계; 및
    상기 보유정보를 근거로 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신하는 단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  7. 청구항 5에 있어서,
    상기 제 2차 전송시한내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우, 상기 대체 서버 기능부에 접근하여 상기 특정 컨텐트를 수신하거나, 상기 대체 서버 기능부가 상기 특정 컨텐트를 업로드하게 하는 단계;를 추가로 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  8. 청구항 1에 있어서,
    상기 컨텐츠 서버로부터의 상기 목록내 모든 단말의 네트워크 평균 속도 정보를 근거로 가장 빠른 네트워크 평균 속도를 가지는 단말로부터 상기 특정 컨텐트를 수신받는 단계를 추가로 포함하는 것을 특징으로 하는 컨텐츠 수신 방법.
  9. 청구항 1에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고,
    상기 특정 컨텐트를 수신하는 단계는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 수신하는 것을 특징으로 하는 컨텐츠 수신 방법.
  10. 컨텐츠 서버가 오버레이 네트워크를 통해 단말에게 컨텐츠를 전송하는 방법으로서,
    상기 컨텐츠 서버가 특정 컨텐트에 대한 오버레이 네트워크를 구성하는 단계;
    상기 오버레이 네트워크를 구성하는 단계에 의해 구성된 오버레이 네트워크에 대한 상기 특정 컨텐트의 배포플랜을 생성하는 단계;
    상기 배포플랜에 포함된 오버레이 네트워크 식별정보에 의해 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 배포플랜에 포함된 상기 컨텐츠 서버 내 트래커 서버 기능부의 주소에 의해 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 생성하는 단계;
    상기 배포플랜을 생성하는 단계에 의한 배포플랜을, 상기 목록을 생성하는 단계에 의한 목록 내의 단말들중의 하나 이상의 단말에게로 통지하는 단계;
    상기 목록을, 상기 목록 내의 단말들 중 하나 이상의 단말에게로 전송하는 단계;
    상기 목록 내의 단말들 중 하나 이상의 단말에게로 상기 특정 컨텐트에 대한 보유여부를 나타내는 보유정보를 전송하는 단계; 및
    상기 보유정보를 전송받은 단말에게로 상기 특정 컨텐트를 전송하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  11. 청구항 10에 있어서,
    상기 특정 컨텐트를 전송 완료함에 따라 상기 특정 컨텐트를 전송 완료한 단말로부터의 수신완료 메시지를 수신하는 단계;
    상기 수신완료 메시지를 기록하는 단계; 및
    상기 특정 컨텐트를 전송 완료한 단말에게로 상기 수신완료 메시지를 수신하였음을 나타내는 수신완료 확인 메시지를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  12. 청구항 10에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 전송이 완료되어야 할 전송시한, 및 상기 전송시한내 전송이 완료되지 못한 경우 상기 특정 컨텐트를 수신할 상기 컨텐츠 서버내 대체 서버 기능부의 주소를 추가로 포함하고,
    상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한중에서 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  13. 청구항 12에 있어서,
    상기 제 1차 전송시한내에 상기 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하는 단계;
    상기 전송이 완료되지 못한 단말로부터 상기 특정 컨텐트의 보유정보를 수신하는 단계; 및
    상기 수신한 보유정보를 근거로 상기 전송이 완료되지 못한 단말에게로 상기 특정 컨텐트를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  14. 청구항 12에 있어서,
    상기 제 2차 전송시한내에 상기 특정 컨텐트의 전송이 완료되지 못한 경우, 상기 전송이 완료되지 못한 단말을 상기 대체 서버 기능부에 접근하게 하여 상기 특정 컨텐트를 수신하게 하거나, 상기 대체 서버 기능부가 상기 특정 컨텐트를 상기 전송이 완료되지 못한 단말에게로 업로드하는 단계;를 추가로 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  15. 청구항 10에 있어서,
    상기 목록 내의 모든 단말로부터 상기 특정 컨텐트를 수신하는 네트워크의 평균속도 정보를 수신하는 단계; 및
    상기 목록 내의 하나 이상의 단말에게로, 상기 수신한 모든 단말의 네트워크의 평균속도 정보를 전달하는 단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 전송 방법.
  16. 청구항 10에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고,
    상기 특정 컨텐트를 전송하는 단계는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 전송하는 것을 특징으로 하는 컨텐츠 전송 방법.
  17. 특정 컨텐트에 대한 식별정보, 상기 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 오버레이 네트워크에 대한 컨텐츠 서버 내 트래커 서버 기능부의 주소를 포함하는 배포플랜을, 상기 컨텐츠 서버 또는 상기 오버레이 네트워크내의 다른 단말로부터 통지받는 컨텐츠 배포 관리부; 및
    상기 컨텐츠 서버 또는 다른 단말로부터 상기 오버레이 네트워크 식별정보에 의하여 식별되는 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 트래커 서버 기능부의 주소에 의하여 식별되는 트래커 서버 기능부가 관리하는 단말들의 목록을 수신하고, 상기 목록 내의 단말들 중 하나 이상의 단말로부터 상기 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 수신하고, 상기 보유정보에 따라 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신하는 컨텐츠 배포 피어;를 포함하는 것을 특징으로 하는 디지털 디스플레이 단말.
  18. 청구항 17에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 수신이 완료되어야 할 전송시한, 및 상기 전송시한내 수신이 완료되지 못한 경우 상기 특정 컨텐트를 수신받을 상기 컨텐츠 서버내 대체 서버 기능부의 주소를 추가로 포함하고,
    상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한중에서 하나 이상을 포함하는 것을 특징으로 하는 디지털 디스플레이 단말.
  19. 청구항 18에 있어서,
    상기 제 1차 전송시한 내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우 상기 목록 내의 모든 단말 및 상기 컨텐츠 서버에게 경고 메시지를 전송하고, 상기 경고 메시지를 전송받은 모든 단말중 상기 특정 컨텐트를 보유한 단말로부터 상기 경고 메시지를 전송받았음을 나타내는 경고 확인 메시지를 수신하는 경고 메시지 송수신부를 추가로 포함하고,
    상기 컨텐츠 배포 피어는
    상기 경고 확인 메시지를 전송해온 단말들 중 하나 이상의 단말로부터 상기 특정 컨텐트의 보유정보를 수신하고, 상기 수신한 보유정보에 따라 상기 하나 이상의 단말로부터 상기 특정 컨텐트를 수신하는 것을 특징으로 하는 디지털 디스플레이 단말.
  20. 청구항 18에 있어서,
    상기 제 2차 전송시한 내에 상기 특정 컨텐트의 수신이 완료되지 못한 경우 상기 컨텐츠 서버 내 대체 서버 기능부에 접근하여 상기 특정 컨텐트를 수신하거나, 상기 컨텐츠 서버 내 대체 서버 기능부를 통해 상기 특정 컨텐트를 업로드받는 단말 대체 서버를 추가로 포함하는 것을 특징으로 하는 디지털 디스플레이 단말.
  21. 청구항 20에 있어서,
    상기 단말 대체 서버는, 상기 보유정보를 분석한 결과 상기 특정 컨텐트를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 상기 컨텐츠 서버 내 대체 서버 기능부에 접근하여 상기 특정 컨텐트를 수신하게 하거나, 상기 컨텐츠 서버 내 대체 서버 기능부를 통해 상기 특정 컨텐트를 업로드받는 것을 특징으로 하는 디지털 디스플레이 단말.
  22. 청구항 17에 있어서,
    상기 특정 컨텐트를 수신하는 네트워크의 평균속도 정보를 상기 컨텐츠 서버로 전송하고, 상기 컨텐츠 서버로부터 목록 내 모든 단말의 네트워크의 평균속도 정보를 전달받는 네트워크 속도정보 송수신부를 추가로 포함하고,
    상기 컨텐츠 배포 피어는 상기 특정 컨텐트를 보유한 단말들 중 평균속도가 가장 빠른 단말로부터 상기 특정 컨텐트를 수신하는 것을 특징으로 하는 디지털 디스플레이 단말.
  23. 청구항 17에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고,
    상기 컨텐츠 배포 피어는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 수신하는 것을 특징으로 하는 디지털 디스플레이 단말.
  24. 청구항 17에 있어서,
    상기 컨텐츠 배포 피어는, 상기 특정 컨텐트를 수신 완료하게 되면 상기 컨텐츠 서버에게로 수신완료 메시지를 전송하고, 상기 컨텐츠 서버로부터 수신완료 메시지를 수신하였다는 수신완료 확인 메시지를 수신받는 것을 특징으로 하는 디지털 디스플레이 단말.
  25. 청구항 24에 있어서,
    상기 컨텐츠 배포 피어는, 상기 수신완료 확인 메시지를 수신받을 때까지, 기지정된 시간 간격 및 기 지정된 횟수에 따라 상기 보유정보를 수신하는 동작 및 상기 특정 컨텐트를 수신하는 동작을 반복하고,
    상기 기 지정된 시간 간격과 기 지정된 횟수는 상기 배포플랜에 추가로 포함되는 것을 특징으로 하는 디지털 디스플레이 단말.
  26. 특정 컨텐트에 대한 오버레이 네트워크를 구성하고, 상기 특정 컨텐트의 배포플랜을 생성하고, 상기 생성된 배포플랜을 상기 오버레이 네트워크에 포함되는 단말들 중 하나 이상의 단말에게로 통지하는 컨텐츠 배포 정책 관리부;
    상기 오버레이 네트워크에 포함되는 단말들의 목록을 생성하고, 상기 목록을 상기 목록 내의 단말들 중 하나 이상의 단말에게로 전송하는 트래커 서버 기능부; 및
    상기 목록 내의 단말들 중 하나 이상의 단말에게로 상기 특정 컨텐트에 대한 보유 여부를 나타내는 보유정보를 전송하고, 상기 보유정보를 전송한 단말에게로 상기 특정 컨텐트를 전송하는 컨텐츠 배포 피어;를 포함하고,
    상기 배포플랜은 상기 특정 컨텐트에 대한 식별정보, 상기 특정 컨텐트에 대한 오버레이 네트워크 식별정보, 및 상기 트래커 서버 기능부의 주소를 포함하고,
    상기 목록은 상기 오버레이 네트워크 식별정보에 의하여 식별되는 상기 오버레이 네트워크에 포함되는 단말들의 목록 또는 상기 트래커 서버 기능부의 주소에 의하여 식별되는 상기 트래커 서버 기능부가 관리하는 단말들의 목록인 것을 특징으로 하는 컨텐츠 서버.
  27. 청구항 26에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 전송이 완료되어야 할 전송시한, 및 상기 전송시한 내 전송이 완료되지 못한 경우 상기 특정 컨텐트를 수신할 해당 컨텐츠 서버 내 대체 서버 기능부 주소를 더 포함하고,
    상기 전송시한은 제 1차 전송시한 및 제 2차 전송시한 중 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 서버.
  28. 청구항 27에 있어서,
    상기 제 1차 전송시한 내에 상기 특정 컨텐트의 전송이 완료되지 못한 단말로부터 경고 메시지를 수신하는 경고 메시지 송수신부를 더 포함하고,
    상기 컨텐츠 배포 피어는,
    상기 전송이 완료되지 못한 단말로부터 상기 전송이 완료되지 못한 단말의 상기 특정 컨텐트의 보유정보를 수신하고, 상기 수신한 보유정보에 따라 상기 전송이 완료되지 못한 단말에게로 상기 특정 컨텐트를 전송하는 것을 특징으로 하는 컨텐츠 서버.
  29. 청구항 27에 있어서,
    상기 컨텐츠 서버는 대체 서버 기능부를 추가로 포함하고,
    상기 대체 서버 기능부는 상기 제 2차 전송시한 내에 상기 특정 컨텐트의 전송이 완료되지 못한 경우, 전송을 완료하지 못한 단말을 직접 상기 대체 서버 기능부에 접근하게 하여 상기 특정 컨텐트를 수신하게 하거나, 상기 전송을 완료하지 못한 단말에게로 상기 특정 컨텐츠를 업로드하는 것을 특징으로 하는 컨텐츠 서버.
  30. 청구항 29에 있어서,
    상기 대체 서버 기능부는,
    상기 특정 컨텐트에 대한 오버레이 네트워크에 상기 특정 컨텐트를 보유한 단말의 수가 기 지정된 숫자보다 적을 경우, 상기 오버레이 네트워크 내의 단말들 중 하나 이상의 단말을 상기 대체 서버 기능부에 접근하게 하여 상기 특정 컨텐트를 수신하게 하거나, 상기 하나 이상의 단말에게로 상기 특정 컨텐트를 업로드하는 것을 특징으로 하는 컨텐츠 서버.
  31. 청구항 26에 있어서,
    상기 목록 내의 모든 단말로부터 상기 특정 컨텐트를 수신하는 네트워크의 평균속도 정보를 수신하고, 상기 목록 내의 하나 이상의 단말에게로 상기 수신한 모든 단말의 네트워크의 평균속도 정보를 전달하는 네트워크 속도 정보 송수신부를 추가로 포함하는 것을 특징으로 하는 컨텐츠 서버.
  32. 청구항 26에 있어서,
    상기 배포플랜은 상기 특정 컨텐트의 우선순위 정보를 더 포함하고,
    상기 컨텐츠 배포 피어는 상기 특정 컨텐트의 우선순위를 다른 컨텐트의 우선순위와 비교하여 그 결과에 따라 상기 특정 컨텐트를 전송하는 것을 특징으로 하는 컨텐츠 서버.
  33. 청구항 26에 있어서,
    상기 특정 컨텐트를 전송 완료한 경우, 상기 특정 컨텐트를 전송 완료한 단말로부터 수신완료 메시지를 수신하고, 상기 수신한 수신완료 메시지를 기록하고, 상기 특정 컨텐트를 전송 완료한 단말에게로 상기 수신완료 메시지를 수신하였다는 수신완료 확인 메시지를 전송하는 컨텐츠 배포 로그 기록부를 추가로 포함하는 것을 특징으로 하는 컨텐츠 서버.
KR20130119273A 2013-10-07 2013-10-07 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법 KR20150041253A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130119273A KR20150041253A (ko) 2013-10-07 2013-10-07 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법
US14/504,381 US20150100665A1 (en) 2013-10-07 2014-10-01 Digital display terminal, contents server, and method of transmitting and receiving content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130119273A KR20150041253A (ko) 2013-10-07 2013-10-07 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법

Publications (1)

Publication Number Publication Date
KR20150041253A true KR20150041253A (ko) 2015-04-16

Family

ID=52777871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130119273A KR20150041253A (ko) 2013-10-07 2013-10-07 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법

Country Status (2)

Country Link
US (1) US20150100665A1 (ko)
KR (1) KR20150041253A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131777A1 (ko) * 2020-12-17 2022-06-23 주식회사 카카오엔터테인먼트 컨텐츠 추천 목록 제공 방법 및 서버

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6970940B2 (ja) * 2016-02-24 2021-11-24 パナソニックIpマネジメント株式会社 サーバ装置及びその制御方法
JP7311745B2 (ja) * 2019-03-06 2023-07-20 日本電信電話株式会社 管理者端末、参加者端末、権利者端末、利用者端末、コンテンツ利用システム、管理者プログラム、参加者プログラム、権利者プログラムおよび利用者プログラム
CN109889543B (zh) * 2019-03-26 2020-11-13 广州华多网络科技有限公司 视频传输的方法、根节点、子节点、p2p服务器和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050039206A1 (en) * 2003-08-06 2005-02-17 Opdycke Thomas C. System and method for delivering and optimizing media programming in public spaces
US20070011704A1 (en) * 2005-07-05 2007-01-11 Anglin Richard L Jr Content exchange system
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US8250191B2 (en) * 2007-09-06 2012-08-21 Pando Networks, Inc. Methods and apparatus for cooperative file distribution with target data delivery rate
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US8169916B1 (en) * 2007-11-23 2012-05-01 Media Melon, Inc. Multi-platform video delivery configuration
CN101378494B (zh) * 2008-10-07 2011-04-20 中兴通讯股份有限公司 一种实现互联网电视媒体交互的系统及方法
US8219632B2 (en) * 2009-05-27 2012-07-10 International Business Machines Corporation Efficient use of peer cache space in large scale file distributions
WO2011038179A1 (en) * 2009-09-25 2011-03-31 Google Inc. Controlling content distribution
EP2385680B1 (en) * 2010-05-06 2012-10-03 Voddler Sweden AB Content delivery over a peer-to-peer network
ES2429222B1 (es) * 2011-05-12 2014-06-05 Telefónica, S.A. Método y nodo de extremo para distribuir flujo continuo de contenido en tiempo real en una red de distribución de contenido
US8650588B2 (en) * 2011-09-28 2014-02-11 International Business Machines Corporation End-to end proof of display

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131777A1 (ko) * 2020-12-17 2022-06-23 주식회사 카카오엔터테인먼트 컨텐츠 추천 목록 제공 방법 및 서버

Also Published As

Publication number Publication date
US20150100665A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
TWI415427B (zh) 同儕即時串流系統與方法
KR102305064B1 (ko) 비디오 라이브 방송 방법 및 장치
KR101882347B1 (ko) Ip 네트워크를 위한 블록체인 기반의 분산형 콘텐츠 배포 시스템 및 방법
EP2346250B1 (en) Method and system for downloading internet TV media content using a peer-to-peer exchange area at the server side and a peer-to-peer exchange area at the terminal side
US8176192B2 (en) Networked transmission system and method for stream data
US9173006B2 (en) Method for live broadcasting in a distributed network and apparatus for the same
CN106464719B (zh) 一种在被管理无线分发网络中分发内容的方法和设备
US20080133767A1 (en) Real-time multicast peer-to-peer video streaming platform
US20040225728A1 (en) Network and communications system for streaming media applications
US20110072075A1 (en) System and method for distributing a map of content available at multiple receivers
US20080130630A1 (en) Secure peer to peer messaging service
US20210336839A1 (en) Method of scaling reliability of computing network
CN103581245A (zh) 一种内容分发网络内容分发的方法及系统
CN103457907A (zh) 一种多媒体内容分发方法、设备及系统
US20120036105A1 (en) Method and Apparatus for Distributing Data in a Peer-To-Peer Network
KR20150041253A (ko) 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법
EP3207666B1 (en) Broadcast readiness testing in distributed content delivery networks
US10063663B2 (en) Subscribing to multiple resources through a common connection
CN110545327A (zh) 一种信息推送方法及系统
US20100094953A1 (en) Method and apparatus for transmitting/receiving broadcast data through peer-to-peer network
JP4637602B2 (ja) コンテンツ配信システム、コンテンツ配信方法、およびプログラム
JP2008259120A (ja) 配信装置、配信システムおよび配信方法
US20160357875A1 (en) Techniques for promoting and viewing social content written by nearby people
JP2014048719A (ja) 配信管理システム、配信管理方法、配信システム、及び、配信管理プログラム
RU2653231C1 (ru) Способ и система объединения компонентов для управления объектами автоматизации

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application