KR101167652B1 - 인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법 - Google Patents

인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법 Download PDF

Info

Publication number
KR101167652B1
KR101167652B1 KR1020090082051A KR20090082051A KR101167652B1 KR 101167652 B1 KR101167652 B1 KR 101167652B1 KR 1020090082051 A KR1020090082051 A KR 1020090082051A KR 20090082051 A KR20090082051 A KR 20090082051A KR 101167652 B1 KR101167652 B1 KR 101167652B1
Authority
KR
South Korea
Prior art keywords
server
information
streaming
client device
internet
Prior art date
Application number
KR1020090082051A
Other languages
English (en)
Other versions
KR20110024165A (ko
Inventor
우원희
Original Assignee
(주) 데키스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주) 데키스트 filed Critical (주) 데키스트
Priority to KR1020090082051A priority Critical patent/KR101167652B1/ko
Publication of KR20110024165A publication Critical patent/KR20110024165A/ko
Application granted granted Critical
Publication of KR101167652B1 publication Critical patent/KR101167652B1/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/27Server based end-user applications
    • H04N21/278Content descriptor database or directory service for end-user access
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Landscapes

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

Abstract

본 발명은 특정 방송과 사용자 간의 접속 상태를 실시간으로 제공하고 제공받을 수 있는 장치 및 방법에 관한 것이다. 스트리밍 디렉토리 서버는, 제1 클라이언트 기기로부터 노드 정보를 수집하는 노드 정보 저장부로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는, 노드 정보 저장부와, 상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 평가 지수 계산부와, 상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 채널-품질 정보 생성부와, 상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 송수신 모듈로 이루어진다.
인터넷 방송, 채널, 멀티미디어, QoS

Description

인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법{A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof}
본 발명은 인터넷 방송 서비스에 관한 것으로, 보다 상세하게는 특정 방송과 사용자 간의 접속 상태를 실시간으로 제공하고 제공받을 수 있는 장치 및 방법에 관한 것이다.
본 발명은 고화질의 주문형 비디오(VOD: Video on demand) 컨텐츠뿐만 아니라 생방송 컨텐츠를 인터넷상에서 안정적으로 실시간 서비스할 수 있는 고화질 인터넷 방송 서비스 시스템에 관한 것이다.
인터넷 서비스에 있어서, 전송되는 데이터를 패킷 화하여 물 흐름처럼 지속적으로 전송하는 스트리밍 (streaming) 기술 이 제안되면서, 대부분의 사용자들이 빠른 접속회선을 갖고 있지 않는 인터넷 환경에서, 파일이 모두 전송되기 전이라도 사용자 측에서 데이터 표현을 할 수 있게 되면서, VOD, 인터넷 방송 등의 동영상 서비스가 활발하게 이루어지게 되었다.
이러한 스트리밍 기술은 클라이언트 측의 데이터(사운드나 영상 등)를 표현 하는 응용프로그램에 데이터를 연속적으로 보내줄 수 있어야 하는데, 클라이언트 측에서 필요이상으로 데이터를 빠르게 수신할 경우에는 여분의 데이터를 버퍼에 저장하여 처리할 수 있지만, 클라이언트 측으로 데이터가 충분히 빠르게 수신되지 못할 경우에는, 해당 응용프로그램에서의 데이터의 표현이 매끄럽지 못하게 된다. 따라서 스트리밍 서비스의 품질은 클라이언트까지의 네트워크 상태, 즉 가용 대역폭의 크기에 따라 크게 달라지는데, 일반적으로 인터넷 이용자들은 가용 대역폭의 크기가 서로 다를 수 있으며, 또한, 동일 인터넷 이용자라도 네트워크의 부하 집중 정도에 따라서 가용대역폭이 달라질 수 있다. 따라서, 인터넷을 통해 스트리밍 서비스시 안정된 서비스 제공이 최대 관건이 되고 있다.
그런데, 인터넷 방송과 클라이언트 기기를 열결하는 네트워크 상황은 매우 가변적인 환경에 놓여있다. 어제까지만 해도 안정적인 스트림을 제공할 수 있었던 인터넷 방송이 오늘은 수시로 끊김이 발생하거나 아예 연결이 되지 않는 경우도 많다. 또한, 한동안 연결이 되지 않던 인터넷 방송이 갑자기 연결이 잘 되고 안정적인 스트림을 제공하는 경우도 많이 발생한다. 이러한 네트워크 상황의 변경은, 송신측 노드에서 수신측 노드까지 패킷이 도달하기까지 다수의 라우터를 통과하게 되고, 이와 같이 통과하는 라우터의 수 및 경로가 가변적이라는 점에 기인한다.
도 1은 인터넷 방송국들(20, 30)로부터 클라이언트 기기 또는 사용자(10)와 연결되는 경로를 보여주는 도면이다. 현재 다수의 인터넷 방송국들이 실시간으로 스트리밍 오디오 혹은 스트리밍 비디오 서비스를 하고 있다. 그런데, 일반적으로 방송국의 서버에서 물리적으로 가까운 곳에 있는 사용자가 먼 곳에 있는 사용자보 다 더 나은 방송 품질을 즐길 수 있다. 방송 스트리밍에 있어서의 품질은 주어진 네트위트 망에서 지연이 발생하여 소리나 화면이 끊기는 현상이 발생하는지, 즉 안정적인 스트리밍이 가능한 지에 따라 결정된다. 그외에, 컨텐츠의 내용이나 고화질 서비스 여부 등은 방송 품질의 차원이라기 보다는 사용자의 기호 내지 선호의 차원이라고 볼 수 있다.
도 1에서 보면, 미국의 사용자(10)가 각각 캐나다 방송국(20) 및 한국 방송국(30)으로부터 인터넷 방송을 시청할 수 있다. 그런데, 지역적으로 미국과 인접한 캐나다와 연결된 경로 a가 지역적으로 미국과 먼 한국과 연결된 경로 b에 비하여 단거리이고, 작은 홉 수(hop count)를 갖는다. 따라서, 미국 사용자(10)는 한국 방송국(30)으로부터의 방송을 시청하는 것보다는 캐나다 방송국(20)으로부터의 방송을 시청하게 되면 더 짧은 지연(latency)으로 인하여 높은 품질을 보장받을 수 있다.
현재 이러한 라디오 혹은 텔레비전 방송들은 전세계적으로 실시간으로 전파되고 있으며, 다양한 인터넷 방송국들을 모아서 서비스를 제공하는 디렉토리 서비스가 성행하고 있다. 그런데, 이러한 디렉토리 서비스를 제공함에 있어서, 다양한 인터넷 방송국들을 모아서 디렉터리 서비스를 하는 경우 지역마다 다른 끊김 현상이 발생할 수 있다. 이런 현상의 원인은 여러 가지가 있을 수 있다. 단순히 경로의 거리가 멀어서 발생될 경우도 있고, 경로 중의 일부 라우터의 문제로 경로를 우회하여 발생될 경우도 있다. 또한, 사용자 측의 통신 업체(ISP, Internet Service Provider)의 일시적인 문제나 특정 방송국에 대한 사용자의 접근량 급증 등에 의하 여 발생할 경우도 있다. 즉, 네트워크 상황은 가변적인데에 비하여, 사용자는 실제로 연결을 시도하기 전까지는, 실시간으로 특정 방송과의 접속 상태를 파악할 수는 없다. 특히, 이러한 네트워크 상황의 가변성은 짧은 주기로 일어날 수 있기 때문에, 어제까지 파악된 방송 품질에 관한 정보가 오늘에는 전혀 쓸모가 없어질 수도 있는 것이다.
현재 제공되고 있는 디렉토리 서비스도 연결되는 방송국의 연결 품질 정보를 수치적으로 제공하고 있다. 예를 들면, 특정 방송국의 접속 상태를 나타내는 수치 또는 그래프를 사용자에게 제공하는 식이다. 사용자는 이러한 연결 품질에 관한 정보를 확인한 후, 적절한 인터넷 방송을 선택함으로써 연결이 되지 않거나, 스트리밍 재생 지연으로 인한 스트레스를 줄일 수 있다. 그러나, 이러한 디렉토리 서비스 방식은 크게 두 가지 측면에서 문제가 있다.
첫째, 가변적인 네트워크 상황에 실시간으로 대응할 수가 없다. 디렉토리 서비스 제공자 측에서 일일이 해당 인터넷 방송을 접속하여 연결 품질을 점검하기는 어려울 뿐만 아니라, 그렇게 하더라도 실시간으로 연결 품질을 업데이트할 수는 없다.
둘째, 디렉토리 서비스 제공자도 어느 특정 지역에 위치할 것이고, 인터넷 방송국과 해당되는 지역간의 통신 상태에 관한 정보만을 얻을 수 밖에 없다. 즉, 디렉토리 서비스 제공자가 한국에 위치한다면, 미국 사용자(10)가 캐나다 방송국(20)으로부터 제공받는 스트리밍 서비스의 연결 품질에 관해서는 측정이 불가능하다.
본 발명이 이루고자 하는 기술적 과제는, 재생 단말기가 원하고 있는 조건의 방송국을 검색해서 결과를 알려줄 때 해당 지역에서의 방송 끊김 정도를 수치화하여 표시해 주는 방법 및 장치를 제공하고자 하는 것이다. 이를 위하여, 방송 끊김 정도(Quality Of Service)를 표기하기 위해서는 과거의 기록들을 방송국, 지역, 끊김의 형태 등의 정보를 잘 정리하고 저장할 필요가 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 현재 사용자가 방송국의 리스트를 검색할 때 사용자의 위치를 파악하고, 해당 지역에서 해당 방송국의 QoS 정보를 저장한 데이터베이스에서 찾아서 디렉토리 서비스를 제공하고자 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 인터넷 방송 서버를 검색하여 스트리밍 데이터를 제공받을 수 있도록 디렉토리 서비스를 제공하는 스트리밍 디렉토리 서버는, 제1 클라이언트 기기로부터 노드 정보를 수집하는 노드 정보 저장부로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는, 노드 정보 저장부; 상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 평가 지수 계산부; 상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 채널-품질 정보 생성부; 및 상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 송수신 모듈을 포함한다.
상기 또 다른 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 인터넷 방송 서버와의 연결 이력을 수집하여 스트리밍 디렉토리 서버에 제공하는 클라이언트 기기는, 상기 인터넷 방송 서버로부터 스트리밍 데이터를 수신하는 송수신 모듈; 상기 스트리밍 데이터로부터 사용자가 시청 가능한 데이터를 재생하는 멀티미디어 디코더; 상기 재생되는 데이터의 재생 상태에 관한 정보를 감지하는 상태 인디케이터; 및 상기 감지된 재생 상태에 관한 정보, 상기 클라이언트 기기의 위치를 식별할 수 있는 정보 및 상기 방송 서버를 식별할 수 있는 정보를 수집하여, 상기 스트리밍 디렉토리 서버에 제공하는 상태 변수 수집부를 포함한다.
본 발명에 따르면, 인터넷 방송을 이용하는 사용자가 최적의 품질을 제공하는 방송 채널을 선택할 수 있도록 할 수 있다.
또한, 본 발명에 따르면, 접속이 불가능하거나 끊김이 심한 인터넷 방송을 선택함으로써 사용자가 겪는 불편을 방지함으로써, 보다 효율적인 디렉토리 서비스를 제공할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 상세히 설명한다.
도 2는 본 발명의 기본 개념을 설명하는 개략도이다.
본 발명에서, 스트리밍 디렉토리 서버(300)는 다양한 지역(지역 1, 2, 3)에서 인터넷 방송 서버와의 접속 상태에 관한 정보를 수집한다. 예를 들어, 지역 1에 있는 클라이언트 기기들(201, 202, 203)로부터 특정 인터넷 방송 서버와의 접속 상태에 관한 정보를 실시간으로 수집하여 업데이트한다. 그 후, 지역 1에 속하는 클라이언트 기기(지역 1에 속하는 201-203의 클라이언트 기기 또는 또 다른 클라이언트 기기)가 상기 특정 인터넷 방송 서버와의 접속을 원할 때, 상기 업데이트된 정보를 제공함으로써 실시간 접속 상태를 포함한 디렉토리 서비스를 제공할 수 있는 것이다.
스트리밍 디렉토리 서버(300)의 이러한 접속 상태에 관한 정보 수집은 각각의 지역별로 수행된다. 따라서, 서로 다른 네트워크 환경을 갖는 타 지역의 접속 상태에 관한 정보가 아니라, 자기 지역의 접속 상태에 관한 정보를 제공받기 때문 에, 클라이언트 기기는 특정 인터넷 방송 서버와 접속을 시도하기 전에도 원활한 인터넷 방송이 가능한지를 미리 확인할 수 있는 것이다.
도 3은 본 발명의 일 실시예에 따른 전체 시스템의 구성도이다.
상기 시스템은 인터넷 방송 서버(100), 클라이언트 기기(200) 및 스트리밍 디렉토리 서버(300)를 포함하여 구성될 수 있다.
인터넷 방송 서버(100)는 방송중인 비디오 신호로부터 비디오 스트림 또는 오디오 스트림을 생성하고, 생성된 스트림을 스티리밍 데이터로 변환하여 클라이언트 기기(200)에 제공한다. 이러한 인터넷 방송은, 뉴스, 게임, 영화, 음악 등 다양한 장르의 방송을 포함할 수 있다.
클라이언트 기기(200)는 인터넷 방송 서버(100)로부터 제공되는 스트리밍 데이터를 수신한다. 상기 수신된 스트리밍 데이터는 클라이언트 기기(200) 내의 스트리밍 재생기(500)에 의하여 재생된다. 또한, 클라이언트 기기(200)는 사용자 인터페이스(400)를 통하여, 사용자로부터의 명령을 수신하거나 스트리밍 재생기(500)로부터의 재생 결과를 사용자에게 출력(디스플레이 또는 스피커 아웃)한다. 따라서, 사용자 인터페이스(400)는 사용자로부터 명령을 수신할 수 있는 키보드, 마우스, 터치 패드 등의 입력 수단과, 상기 재생 결과를 출력할 수 있는 모니터, 스피커 등의 출력 수단을 구비할 수 있다.
사용자 인터페이스(400)는 사용자로부터 수신된 명령을 바탕으로, play, stop, pause, resume, fast forward, fast rewind 등의 컨트롤(control)을 스트리밍 재생기(500)에 전달하고, 스트리밍 재생기(500)는 상기 컨트롤의 종류에 따라 해당 스트리밍 데이터의 재생을 제어한다.
한편, 스트리밍 디렉토리 서버(300)는 클라이언트 기기(200)에 스트리밍 디렉토리 서비스를 제공한다. 스트리밍 디렉토리 서비스란, 클라이언트 기기(200)에 가용한 방송 채널을 제공하고 클라이언트 기기(200)로부터 특정 방송 채널 또는 특정 선호 조건을 수신하면, 해당되는 방송 채널의 연결에 관한 정보(채널 정보) 및 해당 방송 채널의 품질 정보(즉, 요청한 클라이언트 기기의 위치에서 해당 인터넷 방송 서버와 연결시의 통신 품질에 관한 정보)를 제공하는 서비스를 의미한다. 본 명세서에서는 상기 채널 정보 및 품질 정보를 일괄하여 채널-품질 정보라고 명명한다.
스트리밍 디렉토리 서버(300)가 제공하는 채널-품질 정보는 인터넷에 분포되어 있는 무수한 클라이언 기기(200)에서 제공하는 노드 정보를 바탕으로 한다. 상기 노드 정보란, 특정 클라이언트 기기(200)가 특정 인터넷 방송 서버(100)에 접속하였을 때의 상황, 즉 접속 상태를 포함하는 데이터로서, 실시간으로 스트리밍 디렉토리 서버(300)에 리포팅될 수 있다.
도 4는 본 발명의 일실시예에 따른 인터넷 방송 서버(100)의 전체 구성을 나타낸 블록도이다.
상기 도 4를 참조하면, 본 발명에 의한 인터넷 방송 서버(100)는 방송장비로부터 방송중인 비디오 신호(50)를 입력받아 인코딩하여 세션 설정된 사용자들 각각의 네트워크 상태에 따라 트랜스코딩 비트율을 가변하여 사용자 측으로 스트리밍 서비스를 제공한다. 인터넷 방송 서버(100)는 스트리밍 서비스되는 컨텐츠 정보 및 서비스 사용자 정보를 관리하며, 웹 기반으로 동작하여 서비스 요청한 사용자에게 해당 서비스를 받을 수 있는 IP 주소를 제공하는 서비스 브로커(150)와 연동한다. 또한, 인터넷 방송 서버(100)는 사용자가 상기 서비스 브로커(150)에 접속하여 소정의 컨텐츠에 대한 서비스를 요청하고 그 결과 제공된 IP 주소의 인터넷 방송 서버(100)에 세션 설정을 요청하여 설정된 세션을 통해 데이터를 스트리밍 받아 재생하는 클라이언트 기기(200)와도 연동한다. 인터넷 방송 장치(100), 서비스 브로커(150) 및 클라이언트 기기(200)는 예를 들어, 인터넷(160)으로 연결되어 있다.
상기 인터넷 방송 서버(100)는 또한, 생방송 비디오 스트림을 저장 관리하는 VOD 서버(170)를 더 구비할 수 있다. 인터넷 방송 서버(100)는 인코딩된 비디오 스트림을 상기 VOD 서버(170)로 캐싱할 수 있고, 생방송 컨텐츠 뿐만아니라 상기 VOD 서버(170)에 저장된 컨텐츠의 스트리밍 서비스를 수행할 수 있다.
그리고, 상기 인터넷 방송 서버(100)는 방송장비로부터 비디오 신호(50)를 입력받아 소정의 동영상 표준에 의해 부호화하는 인코더(110)와, 상기 인코더(110)로부터 출력된 비디오 스트림을 상기 VOD 서버(170)로 캐싱하고, 상기 비디오 스트림을 입력받거나 VOD 서버(170)로부터 비디오 스트림을 불러들여 해당 클라이언트까지의 네트워크상태에 따른 코딩 조건으로 트랜스코딩 및 스트리밍 처리하는 다수의 트랜스코더(120)와, 상기 서비스브로커(160)를 통해 요청된 컨텐츠의 스트리밍 서비스를 수행할 트랜스코더(120)를 할당하여 관리하는 제어기 내지 메인 프로세서(130)와, 상기 다수의 트랜스코더(120)로부터 출력된 스트리밍 데이터를 해당 클라이언트로 전송시키는 송수신 모듈(140)를 포함하여 이루어진다.
그리고, 상기 다수의 트랜스코더(120)는 하드웨어적으로 구현되며, 서로 독립적으로 작용하며, 그 수는 시스템 성능 및 가입자 수에 따라 조절될 수 있는 것으로서, 클라이언트 기기(200)로부터의 스트리밍 서비스 요청메시지의 RTSP 정보를 해석하여 RTP에 의한 스트리밍 처리를 제어하는 스트리밍 제어 모듈(121)과, 상기 스트리밍 제어 모듈(121)에 의해 초기화되어, 트랜스코딩 API(123)를 호출하여 클라이언트에서 요구되는 트랜스코딩 레이트로 트랜스코딩을 수행시키는 트래픽 관리 모듈(122)와, 상기 트래픽 관리 모듈(122)의 호출에 의해 상기 인코더 또는 VOD서버의 비디오 스트림을 입력받아 트랜스코딩 하는 트랜스코딩 API 모듈(123)과, 상기 스트리밍 제어 모듈(121)의 제어에 따라 RTP(Real-time protocol)에 의하여 스트리밍 처리를 수행하는 스트리밍 스택 모듈(124)을 포함하여 이루어질 수 있다. 이상의 트랜스코더(120) 내의 모듈들은 소프트웨어 또는 하드웨어 형태로 구현될 수 있다.
상기 트랜스코더(120)와 인코더(110) 및 VOD 서버(170)는 예를 들어, DVB-ASI(Digital Video Broadcasting-Asynchronous Serial Interface) 인터페이스로 접속될 수 있고, 상기 트랜스코더(120)와 송수신 모듈(140)는 고속 이더넷(fast ethernet) 인터페이스로 접속될 수 있다
도 5는 본 발명의 일 실시예에 따른 클라이언트 기기(200)의 보다 자세한 구성을 도시하는 블록도이다. 클라이언트 기기(200)는 크게, 사용자 인터페이스(400), 스트리밍 재생기(500) 및 송수신 모듈(570)을 포함하여 구성될 수 있다.
사용자 인터페이스(400)는 스트리밍 재생기(500)로부터 채널-품질 정보를 수 신하여 사용자에게 제공한다. 사용자는 제공된 채널-품질 정보를 이용하여, 원하는 인터넷 방송 채널을 선택할 수 있다. 사용자 인터페이스(400)는 사용자로부터 선택된 인터넷 방송에 관한 컨트롤을 스트리밍 재생기(500)에 전달하고, 스트리밍 재생기(500)는 상기 컨트롤의 종류에 따라 해당 스트리밍 데이터의 재생을 제어한다. 결과적으로, 스트리밍 재생기(500)는 상기 선택된 방송 채널에 관한 재생 결과를 사용자 인터페이스(400)에 제공한다.
송수신 모듈(570)은 인터넷 방송 서버(100) 또는 스트리밍 디렉토리 서버(300) 간의 데이터 송수신을 담당한다. 송수신 모듈(570)은 고속 이더넷(fast ethernet) 통신을 가능하게 하는 네트워크 인터페이스 유닛(NIU, network interface unit)을 포함할 수 있다. 물론, 상기 NIU는 유선 매체 뿐만 아니라 무선 매체를 통하여 타 기기와 통신할 수도 있다. 구체적으로, 스트리밍 디렉토리 서버(300)에 노드 정보 또는 검색 요청을 송신하고, 스트리밍 디렉토리 서버(300)로부터 채널-품질 정보를 수신할 수 있다. 또한, 송수신 모듈(570)은 인터넷 방송 서버(100)로부터 스트리밍 데이터를 수신할 수 있다.
스트리밍 재생기(500)는 다시, 입력 버퍼(510), 멀티미디어 디코더(520), 출력 버퍼(530), 상태 인디케이터(540), 상태 변수 수집부(550) 및 채널-품질 정보 저장부(560)를 포함하여 구성될 수 있다.
입력 버퍼(510)는 인터넷 방송 서버(100)로부터 수신된 스트리밍 데이터를 임시 저장하였다가 멀티미디어 디코더(520)의 요청에 의하여 제공한다.
멀티미디어 디코더(520)는 압축되거나 암호화되어 있는 스트리밍 데이터를 복원하는 기능을 수행한다. 통상 비디오 스트림 또는 오디오 스트림은 소정의 코덱, 예를 들면, MPEG-2, MPEG-4, H.264 등의 비디오 코덱이나 MP3, AAC, AC-3 등의 오디오 코덱으로 압축되어 있다. 따라서, 멀티미디어 디코더(520)는 상기 코덱에 따른 디코딩을 수행하여, 상기 스트리밍 데이터를 사용자가 시청할 수 있는 데이터로 변환한다. 만약, 스트리밍 데이터에 암호화가 적용된 경우에는, 멀티미디어 디코더(520)는 소정의 복호화 키를 이용하여 복호화를 수행할 수도 있다. 멀티미디어 디코더(520)는 예를 들어, 마이크로 소프트 사에서 제공하는 윈도우즈 미디어 플레이어와 같은 소프트웨어 디코더나, 특정 기기에 전용으로 제작되는 하드웨어 디코더일 수 있다.
출력 버퍼(530)는 멀티미디어 디코더(520)에서 복원된 데이터를 임시 저장하는 저장소이다. 임시 저장된 데이터는 소정의 출력 싱크(sync)에 맞게 사용자 인터페이스로 출력된다.
상태 인디케이터(540)는 멀티미디어 디코더(520)와 연동하여, 현재 디코딩되는 스트리밍 데이터의 상태, 즉, 인터넷 방송의 재생 상태에 관한 정보를 감지한다. 통상, 멀티미디어 디코더(520)는 그 상태를 나타내는 다양한 상태 변수를 제공하는데, 상태 인디케이터(540)는 이러한 상태 변수를 실시간으로 감지한다.
멀티미디어 디코더(520)로부터 제공될 수 있는 상태 변수는 예를 들어, "재생 시도(Try to Play)", "재생 실패(Fail to play)", "재생 성공(Success to play)", "재생중 끊김(Disconnected during play)" 등이 있다.
"재생 시도"는 사용자가 재생을 위하여 특정 방송의 URL로 접속을 시도하였 음을 나타내는 상태 변수이고, "재생 실패"는 상기 재생 시도를 하였으나 어떠한 이유로든 상기 URL에 접속을 하지 못하는 경우를 나타내는 상태 변수이다. 그리고, "재생 성공"은 해당 URL에 접속하여 재생이 시작되는 경우를 나타내는 상태 변수이고, "재생중 끊김"은 일단 재생은 성공하였으나 어떠한 이유로든 재생이 끊겨서 버퍼링(buffering) 상태로 전환되는 경우를 나타내는 상태 변수이다. 윈도우즈 미디어 플레이어는 이러한 상태 변수들을 실시간으로 제공하는 기능을 보유하고 있다.
상태 변수 수집부(550)는 상태 인디케이터(540)로부터 제공되는 상태 변수들을 수집하고, 수시로 스트리밍 디렉토리 서버(300)에 상기 상태 변수들을 제공한다. 상태 변수 수집부(550)는 또한, 클라이언트 기기(200)의 위치를 식별할 수 있는 정보와, 방송자를 식별할 수 있는 정보를 아울러 스트리밍 디렉토리 서버(300)에 제공한다. 이와 같이, 클라이언트 기기(200)와 인터넷 방송 서버(100)간에 접속 상태를 나타내는 정보를 통칭하여 노드 정보라고 명명한다. 즉, 클라이언트 기기(200)는 스트리밍 디렉토리 서버(300)에 수시로 노드 정보를 제공하는 것이다.
상태 인디케이터(540)나 상태 변수 수집부(550)는 인터넷 방송을 수신하는 통상의 클라이언트 기기(200)에는 갖추어져 있지 않을 수 있다. 따라서, 만약 이러한 구성 모듈들이 구비되지 않은 경우에는 이를 스트리밍 디렉토리 서버(300)로부터 이러한 구성 모듈들을 구현하기 위한 소프트웨어를 다운로드 하도록 할 수 있다. 상기 소프트웨어는 플래시 스크립트(Flash script), 자바 가상 머신(Java Virtual Machine), 액티브 엑스(ActiveX) 등 클라이언트 기기(200)에 애드 온(add-on) 방식으로 설치될 수 있다.
상기 클라이언트 기기(200)의 위치를 식별할 수 있는 정보로는 IP(Internet Protocol) 주소가 있을 수 있지만 이에 한하지는 않는다. IP 주소를 이용하면 해당 클라이언트 기기(200)가 속한 지역을 시, 도 등의 행정 구역 단위로 식별하는 것이 가능하다. 또한, 상기 방송자를 식별할 수 있는 정보는 방송자 URI(Uniform Resource Identifier) 또는 URL(Uniform Resource Locator)일 수 있지만, 이에 한하지는 않는다.
채널-품질 정보 저장부(560)는 스트리밍 디렉토리 서버(300)로부터 제공되는 채널-품질 정보를 저장하고, 사용자 인터페이스(400)의 요구에 따라 상기 채널-품질 정보를 제공한다.
도 6 및 8은 본 발명의 일 실시예에 따른 스트리밍 디렉토리 서버(300)의 보다 자세한 구성을 도시하는 블록도들이다. 이 중에서 도 6은 클라이언트 기기(200)로부터 노드 정보를 수신한 스트리밍 디렉토리 서버(300)의 동작을 도시한다.
스트리밍 디렉토리 서버(300)는, 노드 정보 저장부(305), 송수신 모듈(350), 평가 지수 계산부(310), 주소 데이터베이스(320), 디렉토리 서비스 데이터베이스(330), 및 채널-품질 정보 생성부(340)를 포함하여 이루어질 수 있다.
송수신 모듈(350)은 송수신 모듈(570)과 마찬가지로, 클라이언트 기기(200)와의 데이터 송수신을 담당한다. 송수신 모듈(350)은 네트워크 인터페이스 유닛(NIU)을 포함할 수 있으며, 상기 NIU는 유선 매체 또는 무선 매체를 통하여 타 기기와 통신할 수 있다. 구체적으로, 클라이언트 기기(200)로부터 노드 정보나 검색 요청을 수신하고, 클라이언트 기기(200)로 채널-품질 정보를 송신할 수 있다.
노드 정보 저장부(305)는 클라이언트 기기(200)로부터 전송된 노드 정보를 수집하여 저장하고, 주소 DB(320), 디렉토리 서비스 DB(330) 및 평가 지수 계산부(310)의 요청에 따라 이를 제공한다.
평가 지수 계산부(310)는 상기 노드 정보(특히, 노드 정보에 포함된 상태 변수)로부터 클라이언트 기기(200)가 속하는 지역과 인터넷 방송 서버(100)간의 접속 상태를 평가하는 평가 지수를 계산한다. 이러한 평가 지수는 단순히 인터넷 방송 서버(100)에 대한 것이 아니라, 클라이언트 기기(200)가 속하는 지역과 인터넷 방송 서버(100) 간의 조합 별로 계산된다.
방송국 리스트 및 수신지역 리스트의 관계를 도시한 도 7을 참조하면, 노드 정보는 수신 지역 리스트의 1 항목과, 방송국 리스트의 1 항목에 대하여 수집되는 것이고, 마찬가지로 평가 지수도 수신 지역 리스트의 1 항목과, 방송국 리스트의 1 항목에 대하여 계산되는 것임을 알 수 있다. 만약, 새로운 수신지역이나, 새로운 방송국에 관한 노드 정보가 수신된다면, 수신지역 리스트 또는 방송국 리스트에 새로운 항목이 추가될 것이다. 그러나, 기준의 수신지역 및 방송국의 조합에 관한 노드 정보가 수신된다면 기존의 데이터를 업데이트하여야 할 것이다. 도 7과 같이, M개의 인터넷 방송국과 N개의 수신 지역이 존재하면, 총 M×N개의 링크가 발생할 수 있으므로, 평가 지수도 각각의 링크 별로 계산될 수 있다. 이와 같이 새로운 항목 및 링크가 지속적으로 추가된다면, 결국 전세계의 임의의 지역에서 서비스 되는 방송을 전세계의 임의의 지역에서 수신할 경우의 품질을 알 수 있게 된다. 결국, 스트리밍 디렉토리 서버(300)에 접속하는 클라이언트 기기(200)의 수가 보다 많을수 록 의미있는 데이터를 제공할 수 있다.
구체적으로, 평가 지수 계산부(310)는 다음과 같은 방식으로 평가 지수를 계산할 수 있다. 예를 들어, 서울에서 BBC 라디오를 청취하는 경우를 생각한다. 전술한 바와 같이, 상태 변수는 재생 시도, 재생 실패, 재생 성공, 재생중 끊김, 최종 재생 성공 등이 있는데 이러한 상태 변수는 다음의 표 1과 같이 카운트 값으로 정리될 수 있다.
지역 :일본 도쿄
방송 : BBC Radio
Try to play: 1900 번
Fail to play: 10 번
Disconnected during play: 90번
Last Success to play: 2009-06-10 , 21:22.10.22
상기 표 1의 데이터는 노드 정보 저장부(305)가 저장하고 있다가 다른 구성 모듈들에게 제공하는 데이터이다. 여기에서 카운트 값은, 도쿄라는 지역에 속하는 다수의 클라이언트 기기들이 BBC 라디오라는 인터넷 방송에 접속한 누적 데이터를 기초로 이루어진다.
이 경우, 평가 지수 계산부(310)는 다음의 수학식 1에 따라 평가 지수를 계산할 수 있다.
E(평가 지수) = (100×T - W1×F - W2×D) / T
여기서, T는 "Try to play"의 카운트, F는 "Fail to play"의 카운트, D는 "Disconnected during play"의 카운트이며, W1 및 W2는 가중치를 나타내는 상수이 다. 이러한 평가 지수는 100점을 만점으로 한 점수로 표현된다. "Last Success to play"는 평가 지수에는 포함되지 않더라도 접속 상태의 유효성을 평가하는 중요한 참조 지표로서 사용될 수 있다. 물론, "Last Success to play"를 평가 지수에 직접 산입하는 방식도 생각할 수 있다.
한편, 이상과 같이 단순히 누적 데이터를 이용할 수도 있지만, 현재 데이터의 가중치를 높이는 방법도 생각할 수 있다. 왜냐하면, 과거에 아무리 접속이 잘 되었다고 하더라도 최근 네트워크 상황의 변화에 의하여 접속이 잘 되지 않은다면, 과거의 데이터는 별 의미가 없기 때문이다. 따라서, 현재의 평가 지수(En)는 다음의 수학식 2와 같은 방식으로 업데이트되도록 할 수도 있다.
En = (1-a)×En-1 + a×Ec
여기서, a는 0에서 1사이의 상수이고, En-1은 이전의 평가 지수이며, Ec는 최근의 특정 범위내(예: 1주일 이내)의 카운트만으로 계산한 평가 지수이다. 상기 a를 크게 하면 평가 지수에 최근의 데이터가 반영되는 정도를 높일 수 있고, a를 작게 하면 그 반대가 된다.
이와 같이 다양한 상태 변수들의 조합에 의하여 특정 지역과 특정 방송 간의 링크에 대한 평가 지수를 결정할 수 있는 것이다. 본 발명에 있어서, 수학식 1은 하나의 예에 불과하고, 당업자라면 실제 구현에 있어서는 얼마든지 다른 방식으로 평가 지수를 개발할 수 있을 것이다.
주소 데이터베이스(320)는 노드 정보 저장부(305)로부터 IP 주소를 제공받아, 이를 상기 IP 주소에 대응되는 위치 정보로 변환한다. 상기 위치 정보는 예를 들어, 시, 도 등의 행정 구역 단위를 의미한다. 상기 변환된 위치 정보는, 노드 정보 저장부(305)로부터 제공되는 방송자 ID, 평가 지수 계산부(310)로부터 제공되는 평가 지수와 함께 디렉토리 서비스 DB(330)에 저장된다.
채널-품질 정보 생성부(340)는 방송자 ID, 위치 정보 및 평가 지수를 묶어서 구조화된 데이터로 저장한다. 도 7과 같은 예에 따르면, 총 M×N개의 데이터 엔트리가 필요하다.
한편, 도 8은 클라이언트 기기(200)로부터 검색 요청을를 수신한 스트리밍 디렉토리 서버(300)의 동작을 도시한다.
클라이언트 기기(200)가 스트리밍 디렉토리 서버(300)에 검색 요청 패킷을 송신하면, 송수신 모듈(350)은 이를 수신하여 채널-품질 정보 생성부(340)에 제공한다. 채널-품질 생성부(340)는, 주소 DB(320)를 참조하여, 검색 요청 패킷에 포함된 클라이언트 기기(200)의 IP 주소를 위치 정보로 변환한다.
채널-품질 정보 생성부(340)는 검색 요청 패킷에 포함된 검색 조건에 부합하는 특정 방송자 ID를 디렉토리 서비스 DB(330)에서 발견한다. 상기 발견된 방송자 ID는 복수 개일 수도 있다. 또한, 채널-품질 정보 생성부(340)는 발견된 방송자 ID와 위치 정보를 매칭하고, 매칭된 결과에 대응하는 평가 지수를 디렉토리 서비스 DB(330)로부터 얻는다. 마지막으로, 채널-품질 정보 생성부(340)는 방송자 ID, 위치 정보 및 평가 지수를 조합, 가공하여 채널-품질 정보를 생성하고, 생성된 채널- 품질 정보를 클라이언트 기기(200)에 제공한다.
도 9는 채널-품질 정보 생성부(340)가 생성한 채널-품질 정보의 예를 보여주는 도면이다. 미국에 거주하는 사용자가 "뉴스"라는 장르를 선택한 경우에, 채널-품질 정보 생성부(340)는 디렉토리 서비스 DB(330)에서, 뉴스라는 검색어에 매칭되는 방송자 ID를 발견한다. 즉, 도 9에서와 같이, Fox News(81), CNN News(82), ABC News(83), Arirang News(84) 및 BBC News(85)의 총 5개의 채널(86)이 발견된다. 이 때, 채널 품질-정보 생성부(340)는 미국이라는 지역과 각각의 방송자 ID 간 링크의 평가 지수(88)를 수치(89) 또는 그래프(87)로 생성한다. 상기 그래프에는 사용자가 접속하여 방송을 시청하기 위한 최소 값과, 원활한 방송 시청하기 위한 권장 값이 표시되어 사용자의 선택을 용이하게 할 수 있다. 이와 같은 채널-품질 정보는 예를 들어, HTML(HyperText Markup Language) 문서로 작성되어 클라이언트 기기(200)에 제공될 수 있다. 클라이언트 기기(200)의 사용자는 상기 채널의 링크를 클릭함으로서 쉽게 해당 방송을 시청할 수 있다.
다른 실시예로서, 채널-품질 정보는 상기 검색된 결과, 즉 방송자 ID들 및 평가 지수들만을 구조화된 문서(예: XML 문서)로 클라이언트 기기(200)에 제공하고, 클라이언트 기기(200)의 사용자 인터페이스(400)에서 채널-품질 정보 저장부(560)에 저장된 데이터를 이용하여 도 9와 같은 화면을 생성하는 것도 가능하다.
지금까지 도 3 내지 도 6, 및 도 8의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
도 1은 인터넷 방송국들로부터 클라이언트 기기 또는 사용자와 연결되는 경로를 보여주는 도면이다.
도 2는 본 발명의 기본 개념을 설명하는 개략도이다.
도 3은 본 발명의 일 실시예에 따른 전체 시스템의 구성도이다.
도 4는 본 발명의 일실시예에 따른 인터넷 방송 서버의 전체 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 클라이언트 기기의 보다 자세한 구성을 도시하는 블록도이다.
도 6은 본 발명의 일 실시예에 따른, 클라이언트 기기로부터 노드 정보를 수신한 스트리밍 디렉토리 서버의 동작을 도시하는 블록도이다.
도 7은 방송국 리스트 및 수신지역 리스트 간의 관계를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른, 클라이언트 기기로부터 검색 요청을를 수신한 스트리밍 디렉토리 서버의 동작을 도시한 블록도이다.
도 9는 채널-품질 정보 생성부가 생성한 채널-품질 정보의 예를 보여주는 도면이다.
(도면의 주요부분에 대한 부호 설명)
100: 인터넷 방송 서버 200: 클라이언트 기기
300: 스트리밍 디렉토리 서버 305: 노드 정보 저장부
310: 평가 지수 계산부 320: 주소 DB
330: 디렉토리 서비스 DB 340: 채널-품질 정보 생성부
350, 570: 송수신 모듈 400: 사용자 인터페이스
500: 스트리밍 재생기 510: 입력 버퍼
520: 멀티미디어 디코더 530: 출력 버퍼
540: 상태 인디케이터 550: 상태 변수 수집부
560: 채널-품질 정보 저장부

Claims (19)

  1. 인터넷 방송 서버를 검색하여 스트리밍 데이터를 제공받을 수 있도록 디렉토리 서비스를 제공하는 스트리밍 디렉토리 서버에 있어서,
    제1 클라이언트 기기로부터 노드 정보를 수집하는 노드 정보 저장부로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는 노드 정보 저장부;
    상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 평가 지수 계산부;
    상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 채널-품질 정보 생성부; 및
    상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 송수신 모듈을 포함하는, 스트리밍 디렉토리 서버.
  2. 제1항에 있어서, 상기 노드 정보는
    상기 제1 클라이언트 기기의 식별 정보와 상기 인터넷 방송 서버의 식별자를 더 포함하는, 스트리밍 디렉토리 서버.
  3. 제1항에 있어서,
    상기 노드 정보와, 상기 계산된 평가 지수를 기초로, M개의 인터넷 방송 서버와, N개의 클라이언트 기기의 지역에 대한 총 M×N개의 평가 지수를 저장하는 디렉토리 서비스 DB를 더 포함하는, 스트리밍 디렉토리 서버.
  4. 제1항에 있어서, 상기 평가 지수는
    재생 시도, 재생 실패, 재생 성공, 재생 중 끊김 중 적어도 둘 이상을 조합하여 계산되는, 스트리밍 디렉토리 서버.
  5. 제4항에 있어서, 상기 평가 지수는
    최근에 수집된 데이터에 가중치를 높여서 업데이트되는 방식으로 계산되는, 스트리밍 디렉토리 서버.
  6. 제1항에 있어서, 상기 채널-품질 정보 생성부는
    상기 검색 요청에 대응한 인터넷 방송 서버의 링크와, 상기 인터넷 방송 서버와의 접속에 대한 상기 평가 지수를 디스플레이하는, 스트리밍 디렉토리 서버.
  7. 인터넷 방송 서버와의 연결 이력을 수집하여 스트리밍 디렉토리 서버에 제공하는 클라이언트 기기에 있어서,
    상기 인터넷 방송 서버로부터 스트리밍 데이터를 수신하는 송수신 모듈;
    상기 스트리밍 데이터로부터 사용자가 시청 가능한 데이터를 재생하는 멀티미디어 디코더;
    상기 재생되는 데이터의 재생 상태에 관한 정보를 감지하는 상태 인디케이터; 및
    상기 감지된 재생 상태에 관한 정보, 상기 클라이언트 기기의 위치를 식별할 수 있는 정보 및 상기 인터넷 방송 서버를 식별할 수 있는 정보를 수집하여, 상기 스트리밍 디렉토리 서버에 제공하는 상태 변수 수집부를 포함하는, 클라이언트 기기.
  8. 제7항에 있어서, 상기 재생 상태에 관한 정보는
    재생 시도, 재생 실패, 재생 성공 및 재생 중 끊김 중 적어도 하나 이상을 포함하는, 클라이언트 기기.
  9. 제7항에 있어서, 상기 상태 변수 수집부는
    상기 스트리밍 디렉토리 서버로부터 다운로드되는 소프트웨어에 의해 애드 온 방식으로 설치되는, 클라이언트 기기.
  10. 제7항에 있어서,
    사용자 명령을 바탕으로 멀티미디어의 재생에 관한 컨트롤을 상기 멀티미디어 디코더에 제공하고, 상기 스트리밍 디렉토리 서버로부터 제공되는 채널-품질 정보를 사용자에게 출력하는 사용자 인터페이스를 더 포함하는, 클라이언트 기기.
  11. 인터넷 방송 서버를 검색하여 스트리밍 데이터를 제공받을 수 있도록 디렉토리 서비스를 제공하는 방법에 있어서,
    제1 클라이언트 기기로부터 노드 정보를 수집하는 단계로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는, 상기 단계;
    상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 단계;
    상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 단계; 및
    상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 단계를 포함하는 방법.
  12. 제11항에 있어서, 상기 노드 정보는
    상기 제1 클라이언트 기기의 식별 정보와 상기 인터넷 방송 서버의 식별자를 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 노드 정보와, 상기 계산된 평가 지수를 기초로, M개의 인터넷 방송 서버와, N개의 클라이언트 기기의 지역에 대한 총 M×N개의 평가 지수를 저장하는 단 계를 더 포함하는 방법.
  14. 제11항에 있어서, 상기 평가 지수는
    재생 시도, 재생 실패, 재생 성공, 재생 중 끊김 중 적어도 둘 이상을 조합하여 계산되는 방법.
  15. 제14항에 있어서, 상기 평가 지수는
    최근에 수집된 데이터에 가중치를 높여서 업데이트되는 방식으로 계산되는 방법.
  16. 제11항에 있어서, 상기 데이터를 생성하는 단계는
    상기 검색 요청에 대응한 인터넷 방송 서버의 링크와, 상기 인터넷 방송 서버와의 접속에 대한 상기 평가 지수를 디스플레이하는 단계를 더 포함하는 방법.
  17. 인터넷 방송 서버와의 연결 이력을 수집하여 스트리밍 디렉토리 서버에 제공하는 방법에 있어서,
    상기 인터넷 방송 서버로부터 스트리밍 데이터를 수신하는 단계;
    상기 스트리밍 데이터로부터 사용자가 시청 가능한 데이터를 재생하는 단계;
    상기 재생되는 데이터의 재생 상태에 관한 정보를 감지하는 단계;
    상기 감지된 재생 상태에 관한 정보, 클라이언트 기기의 위치를 식별할 수 있는 정보 및 상기 인터넷 방송 서버를 식별할 수 있는 정보를 수집하는 단계; 및
    상기 수집된 정보들을 상기 스트리밍 디렉토리 서버에 제공하는 단계를 포함하는 방법.
  18. 제17항에 있어서, 상기 재생 상태에 관한 정보는
    재생 시도, 재생 실패, 재생 성공 및 재생 중 끊김 중 적어도 하나 이상을 포함하는 방법.
  19. 제17항에 있어서,
    사용자 명령을 바탕으로 멀티미디어의 재생에 관한 컨트롤을 멀티미디어 디코더에 제공하는 단계; 및
    상기 스트리밍 디렉토리 서버로부터 제공되는 채널-품질 정보를 사용자에게 출력하는 단계를 더 포함하는 방법.
KR1020090082051A 2009-09-01 2009-09-01 인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법 KR101167652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090082051A KR101167652B1 (ko) 2009-09-01 2009-09-01 인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090082051A KR101167652B1 (ko) 2009-09-01 2009-09-01 인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110024165A KR20110024165A (ko) 2011-03-09
KR101167652B1 true KR101167652B1 (ko) 2012-07-23

Family

ID=43932060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090082051A KR101167652B1 (ko) 2009-09-01 2009-09-01 인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법

Country Status (1)

Country Link
KR (1) KR101167652B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865232B1 (ko) 2002-04-16 2008-10-23 주식회사 케이티 인터넷 멀티미디어 수신 장치 및 그 방법과 그를 이용한 인터넷 멀티미디어 서비스 시스템 및 그 방법과 그 기록매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865232B1 (ko) 2002-04-16 2008-10-23 주식회사 케이티 인터넷 멀티미디어 수신 장치 및 그 방법과 그를 이용한 인터넷 멀티미디어 서비스 시스템 및 그 방법과 그 기록매체

Also Published As

Publication number Publication date
KR20110024165A (ko) 2011-03-09

Similar Documents

Publication Publication Date Title
US11490145B2 (en) Content insertion in streaming media content
US8997154B2 (en) Apparatus and method for obtaining media content
US9609364B2 (en) Proximity dependent content delivery
US8949887B2 (en) Apparatus and method for distributing media content
US8826349B2 (en) Multicast adaptive stream switching for delivery of over the top video content
KR101758613B1 (ko) 방송 컨텐츠 제공 방법 및 장치와 그 시스템
US10595058B2 (en) Apparatus and method for managing media content for mobile devices
EP2433423B1 (en) Media content retrieval system and personal virtual channel
US9407968B2 (en) Multicast and unicast adaptive bitrate services
US20100115575A1 (en) System and method for recording and distributing media content
US9918036B2 (en) System and method for recording and distributing media content
US20080320158A1 (en) Apparatus and method for providing multimedia content
WO2021143360A1 (zh) 资源传输方法及计算机设备
US20240179378A1 (en) Methods, systems, and apparatuses for improved content scoring and delivery
US11509946B1 (en) Methods and systems configured to manage video transcoder latencies
US20080115177A1 (en) Method and system for providing a file
KR101167652B1 (ko) 인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법
CN114666609A (zh) 视频数据下载方法、装置、电子设备及存储介质
JP2005121693A (ja) ストリーミング配信システム及びストリーミング配信方法
KR100886836B1 (ko) 캐싱기법을 이용한 콘텐츠 변환기능을 제공하여 콘텐츠를전송하는 주문형 비디오 서비스 제공 방법, 그를 위한콘텐츠 변환 서버 및 주문형 서비스 시스템
KR20100059117A (ko) 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
KR102656804B1 (ko) 엣지 캐싱 시스템
KR101015098B1 (ko) P2p 기반의 스트리밍 서비스 제공 시스템 및 방법
Ariyasinghe et al. Department of Computer Science, University of Otago

Legal Events

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

Payment date: 20150630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160518

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180517

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190517

Year of fee payment: 8