KR100823522B1 - 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법 - Google Patents

실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법 Download PDF

Info

Publication number
KR100823522B1
KR100823522B1 KR1020070059295A KR20070059295A KR100823522B1 KR 100823522 B1 KR100823522 B1 KR 100823522B1 KR 1020070059295 A KR1020070059295 A KR 1020070059295A KR 20070059295 A KR20070059295 A KR 20070059295A KR 100823522 B1 KR100823522 B1 KR 100823522B1
Authority
KR
South Korea
Prior art keywords
server
content
top box
memory
storage
Prior art date
Application number
KR1020070059295A
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 KR1020070059295A priority Critical patent/KR100823522B1/ko
Application granted granted Critical
Publication of KR100823522B1 publication Critical patent/KR100823522B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26275Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 인터넷 프로토콜 텔레비젼(IPTV)과 같은 실시간 스트리밍 시스템에서 스토리지와 서버 사이의 병목을 줄이기 위한 캐싱 방법에 관한 것으로, 본 발명의 방법은, 컨텐츠가 저장된 스토리지에 다수의 서버가 접속하여 각 셋탑박스가 요청한 컨텐츠를 전송하도록 된 실시간 스트리밍 시스템에 있어서, 각 서버가 셋탑박스로부터 컨텐츠 전송요청을 수신하는 단계; 해당 서버가 스토리지를 관리하는 스케쥴러에 컨텐츠의 전송블럭을 요청하는 단계; 스케줄러가 해당 컨텐츠가 해당 서버의 메모리에 로딩되어 전송중인지를 판단하는 단계; 판단결과 새로운 컨텐츠이면, 상기 스토리지로부터 해당 전송블럭을 해당 서버의 메모리에 로딩하여 해당 서버를 통해 해당 셋탑박스로 전송하는 단계; 및 판단결과 해당 컨텐츠가 메모리에 로딩되어 있으면, 해당 서버의 메모리에 로딩된 전송블럭을 바로 해당 서버를 통해 해당 셋탑박스로 전송하는 단계로 구성된다.
따라서, 본 발명에 따르면 셋탑박스가 접속된 서버를 통해 동일 컨텐츠의 전송을 요청하면 메모리에 로딩된 해당 컨텐츠의 전송블럭을 바로 전송함으로써 해당 셋탑박스가 바로 플레이(play)할 수 있어 지연시간을 줄일 수 있다.
실시간 스트리밍, 서버, 스토리지, 병목, 셋탑박스, 버퍼링

Description

실시간 스트리밍 시스템에서 스토리지와 서버 사이의 병목을 줄이기 위한 캐싱 방법{CACHING METHOD FOR REDUCING BOTTLE NECK BETWEEN STORAGE AND SERVER IN REAL-TIME STREAMING SYSTEM}
도 1은 일반적인 IPTV망의 전체 구성을 도시한 개략도,
도 2는 라이브 컨텐츠를 전송하기 위한 IP 멀티캐스트망의 구성 예,
도 3은 멀티캐스팅에서 주로 사용되는 UDP 포맷의 예,
도 4는 멀티캐스팅에서 사용되는 IGMP 포맷의 예,
도 5는 IGMP에 따른 채널 설정 절차의 예,
도 6은 유니캐스팅에서 주로 사용되는 TCP 세그먼트의 예,
도 7은 유니캐스팅에서 주로 사용되는 RTSP에 따른 채널 설정 절차의 예,
도 8은 본 발명에 따른 실시간 스트리밍 서버에서 캐싱 개념을 도시한 개략도,
도 9는 본 발명에 따라 실시간 스트리밍 시스템에서 스토리지와 서버 사이의 병목을 줄이기 위한 캐싱 절차를 도시한 순서도,
도 10은 종래에 스트리밍 서버가 컨텐츠를 캐싱하여 제1 셋탑박스로 전송하는 중에서 다른 셋탑박스가 동일한 컨텐츠의 전송을 요청할 경우의 전송 예이다.
*도면의 주요부분에 대한 부호의 설명
10:인터넷 12: 코어 라우터
14:에지 라우터 82-1~82-n: 서버
84-1~84-n: 스케줄러 86-1~86-n: 메모리
100: IPTV방송서버 102: 저장 컨텐츠
104: 라이브 컨텐츠 110: 스트리밍 서버
120: 웹서버 130: CAS/DRM
140: EPG 150: 가입자관리서버
160: 과금서버 200: IPTV 셋탑박스
202: 리모콘 300: 디스플레이장치
본 발명은 인터넷 프로토콜 텔레비젼(IPTV)과 같은 실시간 스트리밍 시스템에서 컨텐츠 전송기술에 관한 것으로, 더욱 상세하게는 실시간 스트리밍 시스템에서 스토리지와 서버 사이의 병목을 줄이기 위한 캐싱 방법에 관한 것이다.
일반적으로, IP(Internet Protocol)TV는 품질, 보안 및 신뢰성이 보장된 IP망을 통하여 제공되는 텔레비전, 비디오, 오디오, 문서, 그래픽 및 데이터 서비스 등과 같은 멀티미디어 서비스라고 정의하고 있으며, 멀티캐스팅방식으로 전송이 이 루어지는 생방송(Live) TV 서비스와, 유니캐스팅방식으로 전송이 이루어지는 VOD와 같은 저장된 비디오(stored video) 서비스를 포함한다.
통상 IPTV시스템은 컨텐츠(프로그램)를 IP망으로 송출하는 방송서버와, IP망으로부터 컨텐츠를 수신받아 재생하는 IPTV 셋탑박스(STB)로 구성되는데, IP망을 통해 전송되는 비디오신호는 MPEG2나 MPEG4와 같은 압축방식에 따라 부호화된 비트 스트림으로서 생방송 TV 서비스는 IGMPv2 프로토콜에 따라 멀티캐스트 스트림에 접속하여 방송을 시청할 수 있고, VOD 서비스의 경우는 RTSP 프로토콜에 따라 유니캐스트 방식으로 비디오 컨텐츠를 시청할 수 있다.
한편, IPTV시스템과 같이 컨텐츠를 실시간 스트리밍하는 시스템의 경우, 컨텐츠가 저장된 스토리지에 다수의 서버가 연결되어 있고, 서버는 필요시 스토리지에 액세스하여 해당 컨텐츠를 서버의 메모리에 로딩한 후 STB로 전송하게 된다. 이때, 특정 컨텐츠에 대하여 다수의 사용자 요청이 있는 경우 다수의 서버가 동시에 스토리지에서 컨텐츠를 로딩하려 할 것이고, 이에 따라 스토리지와 서버 사이에 병목 현상이 발생한다.
예를 들어, 도 10의 (가)에 도시된 바와 같이, 제1 셋탑박스(STB1)가 특정 컨텐츠를 요청하게 되면 스트리밍 서버는 컨텐츠가 저장된 스토리지에 액세스하여 요청된 컨텐츠의 전송 블록들을 ..., a, b, c, d, e, ... 순서로 메모리에 로딩하여 제1 셋탑박스(STB1)로 전송한다.
이때, 제1 셋탑박스(STB1)에서 도 10의 (다)와 같이 전송블록 c의 시간대가 플레이되고 있는 상태에서 도 10의 (나)와 같이 제2 셋탑박스(STB2)와 제3 셋탑박 스(STB3)가 접속하여 동일 컨텐츠를 요청하게 되면, 종래에는 스트리밍 서버가 스케줄러를 이용하여 제2 셋탑박스(STB2)와 제3 셋탑박스(STB3)에 전송할 블록을 결정하였다.
구체적으로, 해당 전송블록을 셋탑박스(STB)에서 버퍼링하는데 3초가 걸리고 전송블록 c가 5초 분량이라고 할 때, 전송블록 c가 1초만큼 플레이된 시점에 제2 셋탑박스(STB2)가 접속하였다면 제2 셋탑박스(STB2)에서의 버퍼링 시간을 반영하더라도 전송블록 c가 플레이되는 시간 범위 이내이므로 제2 셋탑박스(STB2)에는 스트리밍 서버의 메모리에 로딩된 전송블록 c를 전송하였다.
한편, 제3 셋탑박스(STB3)는 도 10의 (나)와 같이 전송블록 c가 3초만큼 플레이된 시점에서 접속하였다면, 제3 셋탑박스(STB3)에서의 버퍼링 시간을 감안하면 플레이가 이루어지는 시점에는 전송블록 d가 재생되어야 하므로 제3 셋탑박스(STB3)로는 전송블록 d를 전송한다. 이때, 스트리밍 서버는 스토리지에 액세스하여 전송블록 d를 메모리에 로딩한 후 전송하게 된다. 따라서, 종래에는 스토리지의 액세스 빈도가 늘어나 병목 현상이 발생하기 쉬우며, 제3 셋탑박스(STB3)의 경우 전송블록 c에서 d로 넘어가는 시간 동안 컨텐츠가 플레이되지 않고 지연되는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 본 발명의 목적은 실시간 스트리밍 서버가 스토리지에 직접 액세스(access)하지 않고 컨텐츠 를 메모리에 캐싱하여 스토리지와 서버 사이에 병목을 줄일 수 있는 실시간 스트리밍 시스템의 캐싱방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 컨텐츠가 저장된 스토리지에 다수의 서버가 접속하여 각 셋탑박스가 요청한 컨텐츠를 전송하도록 된 실시간 스트리밍 시스템에 있어서, 각 서버가 셋탑박스로부터 컨텐츠 전송요청을 수신하는 단계; 해당 서버가 스토리지를 관리하는 스케쥴러에 컨텐츠의 전송블럭을 요청하는 단계; 스케줄러가 해당 컨텐츠가 해당 서버의 메모리에 로딩되어 전송중인지를 판단하는 단계; 판단결과 새로운 컨텐츠이면, 상기 스토리지로부터 해당 전송블럭을 해당 서버의 메모리에 로딩하여 해당 서버를 통해 해당 셋탑박스로 전송하는 단계; 및 판단결과 해당 컨텐츠가 메모리에 로딩되어 있으면, 해당 서버의 메모리에 로딩된 전송블럭을 바로 해당 서버를 통해 해당 셋탑박스로 전송하는 단계를 구비하는 것을 특징으로 한다.
상기 캐싱 방법은, 제1 셋탑박스가 임의의 전송블럭c를 메모리에 로딩하여 전송하고 있는 중에 제2 셋탑박스와 제3 셋탑박스가 다른 시간대에 접속하여 전송을 요청한 경우에 상기 메모리에 로딩된 전송블럭c를 바로 제2 셋탑박스와 제3 셋탑박스에 전송한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 1은 일반적인 IPTV망의 전체 구성을 도시한 개략도로서, 인터넷(10)을 통해 텔레비젼 방송 서비스를 제공하는 IPTV 방송서버(100)과, 인터넷(10)에 연결되어 있고 사용자의 리모콘(202) 조작에 따라 동작되어 IPTV 방송서버(100)이 제공하는 생방송 텔레비젼방송을 수신하거나 VOD 컨텐츠를 수신하여 디스플레이장치(300)를 통해 출력하는 IPTV 셋탑박스(200)로 구성된다.
도 1을 참조하면, IPTV 방송서버(100)는 저장된 비디오 컨텐츠(102)나 라이브 컨텐츠(TV방송 프로그램;104)를 인터넷(10)을 통해 제공하기 위한 스트리밍 서버(110)와, 웹 서비스를 제공하기 위한 웹서버(120), 컨텐츠 보호를 위한 사용자 접근제한 및 저작권관리(CAS/DRM) 서버(130), 방송프로그램을 가이드하기 위한 EPG(Electronic Program Guide) 서버(140), 가입자를 관리하기 위한 가입자 관리서버(150), 과금을 위한 과금 서버(160) 등으로 구성된다. 여기서, 'CAS'는 Conditional Access System의 약자로서 유료 TV시스템에서 자격을 가진 가입자만이 해당 채널을 시청할 수 있도록 하는 컨텐츠 보안기술이고, 'DRM'은 Digital Right Management의 약자로서 인터넷 상에서 컨텐츠의 불법 복제를 방지하기 위한 컨텐츠 보호기술이다.
IPTV 셋탑박스(200)는 인터넷(10)을 통해 웹 서비스를 이용하기 위한 웹브라우저와 동영상을 재생하기 위한 멀티미디어 재생기를 탑재하고 있으며, 사용자의 리모콘(202) 조작에 따라 텔레비젼 방송을 수신하거나 웹페이지를 수신하여 디스플레이장치(300)에 출력한다. 디스플레이장치(300)는 통상의 CRT, LCD, 혹은 PDP 텔레비젼이나 모니터이다.
도 2는 라이브 컨텐츠를 전송하기 위한 IP 멀티캐스트망의 구성 예이고, 도 3은 멀티캐스팅에 주로 사용되는 UDP 포맷의 예이며, 도 4는 멀티캐스팅에서 사용되는 IGMP 포맷의 예이고, 도 5는 IGMP에 따른 채널 설정 절차의 예이다.
인터넷(10)은 라우터들에 의해 연결되는 네트워크의 조합체로서, 하나의 패킷이 발신지(source)로부터 목적지(destination)까지 진행할 때 라우팅 테이블에 따라 최적의 경로를 통해 전달된다. 인터넷(10)에서 전송방식은 IPv4 방식의 경우 유니캐스트, 멀티캐스트, 브로드캐스트가 있고, IPv6 방식에서는 Anycast, 유니캐스트, 멀티캐스트가 있다. 또한 라우팅은 단일 발신지에서 다른 단일 목적지로 향하는 유니캐스트 라우팅과, 하나의 발신지에서 다른 목적지 그룹으로 향하는 멀티캐스팅 라우팅으로 구분된다. 통상 IPTV에서 생방송 컨텐츠는 멀티캐스팅 방식으로 전송되고, 저장된 컨텐츠는 유니캐스팅방식으로 전송된다. 그리고 멀티캐스팅 방식에서는 클래스 D주소를 사용하는데, 비연결형의 UDP 프로토콜이 적합하고, 유니캐스트 방식에는 연결형 서비스인 TCP 프로토콜이 적합하다.
IP 멀티캐스팅망(10)은 도 2에 도시된 바와 같이, 셋탑박스(200)가 연결되는 에지 라우터(14)와 고속으로 패킷을 스위칭하는 코어 라우터(12)들로 구현되는데, 라우터들 사이에서는 PIM(Protocol Independent Multicast) 프로토콜이 사용되고, 에지 라우터(14)와 셋탑박스(200) 사이에는 IGMP(Internet Group Management Protocol) 프로토콜이 사용된다. IGMP는 그룹관리 프로토콜이며, IGMPv2에서 메시지는 질의 메시지(query message)와 소속원보고(membership report)메시지, 및 탈퇴보고(leave report) 메시지가 있다. IGMPv2 메시지 형식은 도 4에 도시된 바와 같이 8비트의 타입, 8비트의 최대응답시간, 16비트의 검사합, 32비트의 그룹 주소로 이루어진다.
멀티캐스팅에서 채널변경은 도 5에 도시된 바와 같이, 셋탑박스(200)가 소속원보고(membership report) 메시지를 에지 라우터(14)로 전송하여 새로운 그룹에 참여함으로써 이루어지고, 에지 라우터(14)는 그룹에 참여한 소속원에게 오디오와 비디오 스트림을 제공한다. 그리고 셋탑박스(200)가 탈퇴보고(leave report) 메시지를 에지 라우터(14)로 전송하면 그룹탈퇴가 이루어지게 된다.
이와 같은 멀티캐스팅의 전송층 프로토콜로는 비연결형, 비신뢰성 프로토콜인 사용자 데이터그램 프로토콜(UDP)이 적합한데, UDP는 도 3에 도시된 바와 같이, 8바이트의 헤더와 데이터로 이루어지고, 헤더는 16비트의 발신지 포트 번호와 16비트의 목적지 포트 번호, 16비트의 길이, 16비트의 검사합으로 이루어진다.
도 6은 본 발명에 따라 유니캐스트에서 주로 사용되는 TCP 세그먼트의 예이고, 도 7은 유니캐스트에서 주로 사용되는 RTSP에 따른 채널 설정 절차의 예이다.
유니캐스트에서는 단일 발신지와 단일 목적지가 존재하고, 프로세스간 전달을 책임지는 전송층에는 스트림 연결지향과 신뢰성이 있는 프로토콜인 TCP를 사용한다. TCP도 전송층 주소로 포트번호를 사용하고, 송신 및 수신 프로세스는 똑같은 속도로 데이터를 만들고 처리할 수 없기 때문에 저장을 위해 버퍼를 사용한다. 또한 TCP는 세그먼트라 하는 패킷으로 다수의 바이트를 묶어 그룹화하고, 오류 및 흐름제어를 위해 순서번호와 확인응답번호를 이용한다. TCP 세그먼트의 형식은 도 6에 도시된 바와 같이, 20~60 바이트의 헤더와 데이터로 이루어지고, 헤더는 16비트 의 발신지 포트 주소와 16비트의 목적지 포트 주소, 32비트의 순서번호, 32비트의 확인응답번호, 4비트의 헤더길이, 6비트의 제어비트(URG,ACK,PSH,RST,SYN,FIN), 16비트의 윈도우 크기, 16비트의 검사합, 16비트의 긴급지시자, 옵션 항목으로 이루어진다. 이러한 TCP는 전이중모드로 데이터를 전송하고, SYN, SYN+ACK, ACK로 이루어진 삼방향 핸드쉐이크에 의해 연결을 설정한다.
또한 TCP 스트리밍 처리를 위한 RTSP(Real-Time Streaming Protocol)는 도 7에 도시된 바와 같은 절차를 통해 채널을 변경한다. 도 7을 참조하면, IPTV 셋탑박스(200)는 해당 메타파일을 이용하여 'SET UP' 메시지로 스트리밍 서버(110)에 연결을 설정한 후 'RESPONSE'를 수신하면 'PLAY' 메시지를 보내 오디오/비디오 스트리밍을 요청한다. 이에 따라 스트리밍 서버(110)는 해당 오디오/비디오 스트리밍을 제공하여 미디어 플레이어가 재생할 수 있도록 하고, 'TEAR DOWN' 메시지를 통해 해제를 요청하면 연결을 종료한다.
도 8은 본 발명에 따른 실시간 스트리밍 시스템에서 캐싱 개념을 도시한 개략도이고, 도 9는 본 발명에 따라 실시간 스트리밍 시스템에서 스토리지와 서버 사이의 병목을 줄이기 위한 캐싱 절차를 도시한 순서도이다.
도 8을 참조하면, IPTV시스템과 같이 컨텐츠를 실시간 스트리밍하는 시스템의 경우, 컨텐츠가 저장된 스토리지(88)에 다수의 서버(82-1~82-n)가 연결되어 있는데, 각 서버(82-1~82-n)는 자신의 메모리(86-1~86-n)와 스케줄러(84-1~84-n)를 각각 구비하여 자신의 스케줄러(84-1~84-n)를 통해 필요시 스토리지(88)에 액세스하여 해당 컨텐츠를 각 서버 자신의 메모리(86-1~86-n)로 로딩한 후 망을 통해 셋 탑박스(STB)로 전송한다.
이때 본 발명에 따른 컨텐츠 전송 방법은 도 9에 도시된 바와 같이, 특정 서버에 셋탑박스(STB2)로부터 컨텐츠의 전송 요청이 수신되었을 때 해당 서버에서 요청된 컨텐츠와 동일한 컨텐츠를 이미 다른 셋탑박스(STB1)로 전송하고 있다면, 종래에는 컨텐츠를 요청한 셋탑박스(STB2)에서의 버퍼링 소요시간 등을 고려하여 컨텐츠의 전송블럭을 선택하였지만, 본 발명에서는 다른 셋탑박스(STB1)에 전송하기 위하여 해당 서버의 메모리에 이미 로딩되어 있는 전송블럭을 STB2에 바로 전송하도록 한다. 따라서, STB2의 컨텐츠 요청에 대하여 해당 서버가 버퍼링시간을 고려하여 전송할 전송블럭을 선택하고 스토리지에 액세스하여 메모리에 로딩하는 과정이 필요없으므로, STB2는 요청한 전송블럭을 바로 수신하여 플레이하게 되어 지연시간을 크게 줄일 수 있다. 또한, 각 서버의 스토리지에 대한 액세스 빈도가 현저하게 줄어들어 서버와 스토리지 간의 병목 현상 역시 효과적으로 줄일 수 있다.
도 9를 참조하면, 각 서버(82-1~82-n)는 접속된 셋탑박스로부터 컨텐츠 요청을 수신하게 되면, 바로 해당 컨텐츠가 저장된 스토리지(88)에 바로 접속하는 것이 아니라 자신의 스케줄러(84-1~84-n)에 해당 컨텐츠 전송을 요청한다(S1).
각 스케줄러(84-1~84-n)는 연결된 각 서버(82-1~82-n)로부터 컨텐츠 전송 요청을 수신하면, 요청된 컨텐츠가 해당 서버의 메모리(86-1~86-n)에 캐싱되어 있는지를 판단한다(S2). 만일 요청된 컨텐츠가 메모리에 캐싱되지 않은 새로운 컨텐츠이면 해당 컨텐츠의 전송블럭을 스토리지(88)에서 해당 서버의 메모리(86-1~86-n)로 로딩한 후 해당 메모리(86-1~86-n)에 로딩된 전송블럭을 셋탑박스로 전송한 다(S3~S5). 이때 전송블럭의 크기는 셋탑박스의 버퍼링 시간을 감안하여 셋탑박스의 버퍼링 용량보다 큰 것이 바람직하다.
반면, S3에서 요청된 컨텐츠와 동일한 컨텐츠가 해당 서버의 메모리(86-1~86-n)에 이미 캐싱되어 전송중에 있으면 해당 컨텐츠의 현재 메모리(86-1~86-n)에 로딩된 전송블럭을 바로 전송한다(S6).
예컨대, 도 10에 도시된 바와 같이 스트리밍 서버가 컨텐츠를 캐싱하여 제1 셋탑박스(STB1)로 전송하는 중에서 다른 셋탑박스(STB2,STB3)가 동일한 컨텐츠의 전송을 요청할 경우에는 제2 셋탑박스(STB2)와 제3 셋탑박스(STB3)가 접속하는 시점과 각 셋탑박스(STB)에서의 버퍼링에 소요되는 시간을 고려하지 않고, 셋탑박스(STB)가 접속하는 시점에 해당 서버의 메모리(86-1~86-n)에 로딩되어 있는 전송블록을 전송한다. 즉, 도 10에 도시된 바와 같이 본 발명에서는 제2 셋탑박스(STB2)와 제3 셋탑박스(STB3) 모두 전송블록 c가 플레이되는 시점에 접속하므로 제2 셋탑박스(STB2)와 제3 셋탑박스(STB3) 모두에 전송블록 c를 전송하게 된다. 이 경우 실시간성은 떨어지더라도 해당 전송블록을 바로 받아 플레이할 수 있으므로 그만큼 지연시간을 줄일 수 있게 된다.
이와 같이 종래에는 IPTV의 실시간성 때문에 지연시간을 무시할 수 없어 전송 요청 이후 시간대의 전송블럭 d를 전송하게 되었으나 본 발명은 지연시간을 무시하고, 제1 셋탑박스(STB1)에 전송블럭 c를 전송 중일 경우 제2, 제3 셋탑박스(STB2, STB3)에 요청시점의 것보다 앞의 것인 전송블럭 c의 처음부터 전송하는 것이다. 이에 따라 본 발명은 실시간성은 떨어지나 바로 플레이 할 수 있어 지연시 간은 줄일 수 있다.
이상에서 본 발명을 구체적인 실시예를 통하여 상세히 설명하였으나, 본 발명은 상술한 실시예에 한정되지 않고 기술적 사상이 허용되는 범위 내에서 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의하여 다양하게 변경되어 실시될 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따르면 셋탑박스가 접속된 서버를 통해 동일 컨텐츠의 전송을 요청하면 메모리에 로딩된 해당 컨텐츠의 전송블럭을 바로 전송함으로써 해당 셋탑박스가 바로 플레이할 수 있어 지연시간을 줄일 수 있는 효과가 있다.
또한 본 발명은 이미 동일한 컨텐츠가 전송되고 있을 경우에는 다른 서버들이 동일한 컨텐츠의 전송을 위하여 스토리지에 접속하지 않고 이미 메모리에 로딩된 전송블럭을 전송함으로써 서버와 스토리지 사이에서 병목현상이 발생하는 것을 방지하여 자원의 효율적인 이용을 가능하게 한다.

Claims (3)

  1. 삭제
  2. 삭제
  3. 비디오 컨텐츠나 라이브 컨텐츠를 인터넷을 통해 제공하기 위한 스트리밍 서버와, 웹 서비스를 제공하기 위한 웹서버, 컨텐츠 보호를 위한 사용자 접근제한 및 저작권관리(CAS/DRM) 서버, 방송프로그램을 가이드하기 위한 EPG 서버, 가입자를 관리하기 위한 가입자관리 서버, 과금을 위한 과금 서버로 구성된 IPTV 방송서버가 인터넷을 통하여 각 셋탑박스에 연결된 IPTV 방송시스템의 체계를 구성하고,
    컨텐츠가 저장되는 스토리지; 메모리와 스케줄러를 각기 포함하고, 자신의 스케줄러를 통해 스토리지에 액세스하여 컨텐츠를 메모리에 로딩한 후 전송하는 다수의 서버; 및 각 서버로부터 컨텐츠를 제공받는 다수의 셋탑박스를 포함하는 실시간 스트리밍 시스템에서, 각 서버가 각 셋탑박스로부터 컨텐츠를 요청받아 전송함에 있어서,
    a) 서버가 셋탑박스로부터 컨텐츠의 전송 요청을 수신하는 단계; b) 셋탑박스로부터 컨텐츠를 요청받은 해당 서버가, 자신의 스케줄러에 요청된 컨텐츠의 전송블럭을 요청하는 단계; c) 해당 스케줄러가, 요청된 컨텐츠의 전송블럭이 해당 서버의 메모리에 이미 로딩되어 전송 중인지 판단하는 단계; d) 단계 c)의 판단 결과, 요청된 컨텐츠가 해당 서버의 메모리에 전송블럭이 로딩되어 있지 않은 새로운 컨텐츠인 경우, 해당 서버가 스토리지에 액세스하여 요청된 컨텐츠의 전송블럭을 해당 서버의 메모리에 로딩하여 셋탑박스로 전송하는 단계; 및 e) 단계 c)의 판단 결과, 요청된 컨텐츠와 동일한 컨텐츠의 전송블럭이 해당 서버의 메모리에 이미 로딩되어 있는 경우, 현재 해당 서버의 메모리에 로딩된 전송블럭을 바로 셋탑박스로 전송하는 단계를 거쳐 요청된 컨텐츠를 전송함으로써, 스토리지와 각 서버 사이의 병목을 줄이기 위한 캐싱 방법으로서,
    서버가 다수의 셋탑박스 중 어느 하나의 셋탑박스인 제 1 셋탑박스로부터 새로운 컨텐츠인 제 1 컨텐츠의 전송 요청을 수신하는 단계;
    제 1 셋탑박스로부터 제 1 컨텐츠를 요청받은 해당 서버가 자신의 스케줄러에 제 1 컨텐츠의 전송블럭을 요청하고, 해당 스케줄러가 제 1 컨텐츠의 전송블럭이 해당 서버의 메모리에 이미 로딩되어 전송 중인지 판단하는 단계;
    상기 판단 결과, 제 1 컨텐츠가 해당 서버의 메모리에 전송블럭이 로딩되어 있지 않은 새로운 컨텐츠인 경우, 스토리지에 액세스하여 제 1 컨텐츠의 전송블럭을 해당 서버의 메모리에 로딩하여 제 1 셋탑박스로 전송하는 단계;
    해당 서버가 제 1 컨텐츠의 전송블럭 중 임의의 전송블럭 c를 메모리에 로딩하여 전송하는 중에, 다수의 셋탑박스 중 또 다른 셋탑박스인 제 2 셋탑박스와 제 3 셋탑박스로부터 제 2 컨텐츠의 전송 요청을 수신하는 단계;
    해당 서버가 자신의 스케줄러에 제 2 컨텐츠의 전송블럭을 요청하고, 해당 스케줄러는, 제 2 컨텐츠가 해당 서버의 메모리에 전송블럭이 이미 로딩되어 전송 중인 제 1 컨텐츠와 동일한 컨텐츠인지 판단하는 단계;
    상기 판단 결과, 제 2 컨텐츠가 제 1 컨텐츠와 동일한 컨텐츠인 경우, 현재 해당 서버의 메모리에 로딩되어 있는 전송블럭 c를 바로 제 2 셋탑박스 및 제 3 셋탑박스로 전송하는 단계; 및
    상기 판단 결과, 제 2 컨텐츠가 제 1 컨텐츠와 상이한 컨텐츠인 경우, 스토리지에 액세스하여 제 2 컨텐츠의 전송블럭을 해당 서버의 메모리에 로딩하여 제 2 셋탑박스 및 제 3 셋탑박스로 전송하는 단계를 포함하고,
    상기 각 전송블럭의 용량은,
    각기 해당 셋탑박스의 버퍼링 시간의 용량보다 큰 것을 특징으로 하는 실시간 스트리밍 시스템에서 스토리지와 서버 사이의 병목을 줄이기 위한 캐싱 방법.
KR1020070059295A 2007-06-18 2007-06-18 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법 KR100823522B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070059295A KR100823522B1 (ko) 2007-06-18 2007-06-18 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070059295A KR100823522B1 (ko) 2007-06-18 2007-06-18 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법

Publications (1)

Publication Number Publication Date
KR100823522B1 true KR100823522B1 (ko) 2008-04-21

Family

ID=39571973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070059295A KR100823522B1 (ko) 2007-06-18 2007-06-18 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법

Country Status (1)

Country Link
KR (1) KR100823522B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
KR20160008400A (ko) * 2014-07-14 2016-01-22 엔트릭스 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR20160016265A (ko) * 2014-08-04 2016-02-15 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR20160022505A (ko) * 2014-08-20 2016-03-02 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치
WO2016010319A3 (ko) * 2014-07-14 2016-03-03 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030072482A (ko) * 2002-03-04 2003-09-15 삼성전자주식회사 셋탑박스를 이용한 인터넷 방송 서비스 시스템 및 방법
KR100682997B1 (ko) * 2005-12-01 2007-02-15 한국전자통신연구원 홈네트워크 환경에서 멀티캐스트 트래픽 서비스품질 보장기능을 가지는 홈서버/홈게이트웨이 장치 및 그 방법
KR20070035911A (ko) * 2005-09-28 2007-04-02 한국전자통신연구원 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030072482A (ko) * 2002-03-04 2003-09-15 삼성전자주식회사 셋탑박스를 이용한 인터넷 방송 서비스 시스템 및 방법
KR20070035911A (ko) * 2005-09-28 2007-04-02 한국전자통신연구원 부분 캐싱 방법 및 이를 이용한 적응형 콘텐츠 전송 방법
KR100682997B1 (ko) * 2005-12-01 2007-02-15 한국전자통신연구원 홈네트워크 환경에서 멀티캐스트 트래픽 서비스품질 보장기능을 가지는 홈서버/홈게이트웨이 장치 및 그 방법

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
KR20160008400A (ko) * 2014-07-14 2016-01-22 엔트릭스 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
WO2016010319A3 (ko) * 2014-07-14 2016-03-03 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
CN106797487A (zh) * 2014-07-14 2017-05-31 恩特里克丝有限公司 云流服务系统、防止存储器瓶颈的数据压缩方法及其装置
EP3171601A4 (en) * 2014-07-14 2018-05-16 SK TechX Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
US10397288B2 (en) 2014-07-14 2019-08-27 Sk Techx Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
KR102199296B1 (ko) 2014-07-14 2021-01-06 에스케이플래닛 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR20160016265A (ko) * 2014-08-04 2016-02-15 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR102063093B1 (ko) 2014-08-04 2020-01-07 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR20160022505A (ko) * 2014-08-20 2016-03-02 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치
KR102199276B1 (ko) 2014-08-20 2021-01-06 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치

Similar Documents

Publication Publication Date Title
US8064479B2 (en) Methods and system for efficient data transfer over hybrid fiber coax infrastructure
US8316108B2 (en) Method and apparatus for obtaining media over a communications network
KR100823522B1 (ko) 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법
KR100780396B1 (ko) Iptv 방송 서비스의 트래픽 제어 방법
US8316148B2 (en) Method and apparatus for obtaining media over a communications network
US20070160048A1 (en) Method for providing data and data transmission system
US8351452B2 (en) Media transport protocol selection
KR20070027803A (ko) Ip기반 방송의 채널변경시 지연시간의 개선 방법
KR100792025B1 (ko) Iptv 시스템에서 채널 변경시 비디오 데이터 전송 방법
JP5610743B2 (ja) コンテンツ受信方法及び装置
KR100793862B1 (ko) 트리구조의 서버 토폴로지상에서 컨텐츠 전송 방법
WO2013127423A1 (en) Apparatus and method for streaming content
KR101375182B1 (ko) 수신기/디코더 연결의 관리를 위한 메커니즘
US8576868B2 (en) Media transport protocol selection
KR100779038B1 (ko) 다채널 스트리밍 서버를 이용한 아이피티브이 방송 시스템및 채널 설정 방법
KR100616250B1 (ko) 인터넷 네트워크에서 서버와 클라이언트들 간의 데이터전송 시스템 및 방법
WO2009080112A1 (en) Method and apparatus for distributing media over a communications network
Noh et al. Time-shifted streaming in a tree-based peer-to-peer system.
KR20090023937A (ko) 인터넷 프로토콜 텔레비전 터널링 서비스 시스템 및 그방법
WO2007131892A1 (en) Multimedia data interface device
US20110093611A1 (en) Network unit, a central distribution control unit and a computer program product
Kang et al. Popularity-based partial caching management scheme for streaming multimedia on proxy servers over IP networks
Lee et al. IGMP extentions for mobile multimedia services
Simpson Audio and Video over IP Networks and Internet Broadcasting
Kum et al. Metadata retrieval using RTCP for multimedia streaming

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130415

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140414

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180618

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 12