KR20110024165A - A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof - Google Patents

A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof Download PDF

Info

Publication number
KR20110024165A
KR20110024165A KR1020090082051A KR20090082051A KR20110024165A KR 20110024165 A KR20110024165 A KR 20110024165A KR 1020090082051 A KR1020090082051 A KR 1020090082051A KR 20090082051 A KR20090082051 A KR 20090082051A KR 20110024165 A KR20110024165 A KR 20110024165A
Authority
KR
South Korea
Prior art keywords
server
information
streaming
client device
internet
Prior art date
Application number
KR1020090082051A
Other languages
Korean (ko)
Other versions
KR101167652B1 (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 KR1020090082051A priority Critical patent/KR101167652B1/en
Publication of KR20110024165A publication Critical patent/KR20110024165A/en
Application granted granted Critical
Publication of KR101167652B1 publication Critical patent/KR101167652B1/en

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

PURPOSE: A server and a client device and a method thereof using the same are provided to supply directory service by grasping a location of a user when searching a list of a broadcasting station and finding QoS information of corresponding broadcasting station from a corresponding area in a database. CONSTITUTION: A service providing a directory service of an internet broadcasting, a client device(200) using the same, and a method thereof are comprised as follows. A streaming directory server(300) is a node information storing unit which collects node information from a first client device. Node information is a streaming directory server. The node information storing unit includes a connection state between an internet broadcasting server(100) and the first client device.

Description

인터넷 방송의 디렉토리 서비스를 제공하는 서버, 이를 이용하는 클라이언트 기기 및 그 방법{A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof}A server for providing directory services regarding internet broadcast, a client device using the services and a method according to the present invention.

본 발명은 인터넷 방송 서비스에 관한 것으로, 보다 상세하게는 특정 방송과 사용자 간의 접속 상태를 실시간으로 제공하고 제공받을 수 있는 장치 및 방법에 관한 것이다.The present invention relates to an internet broadcast service, and more particularly, to an apparatus and method for providing and receiving a connection state between a specific broadcast and a user in real time.

본 발명은 고화질의 주문형 비디오(VOD: Video on demand) 컨텐츠뿐만 아니라 생방송 컨텐츠를 인터넷상에서 안정적으로 실시간 서비스할 수 있는 고화질 인터넷 방송 서비스 시스템에 관한 것이다. The present invention relates to a high-definition internet broadcasting service system capable of stably real-time services on the Internet as well as high-definition video on demand (VOD) content.

인터넷 서비스에 있어서, 전송되는 데이터를 패킷 화하여 물 흐름처럼 지속적으로 전송하는 스트리밍 (streaming) 기술 이 제안되면서, 대부분의 사용자들이 빠른 접속회선을 갖고 있지 않는 인터넷 환경에서, 파일이 모두 전송되기 전이라도 사용자 측에서 데이터 표현을 할 수 있게 되면서, VOD, 인터넷 방송 등의 동영상 서비스가 활발하게 이루어지게 되었다.In the Internet service, a streaming technology that packetizes the transmitted data and continuously transmits it as a water flow has been proposed. In an Internet environment in which most users do not have fast access lines, even before all files are transmitted. As data can be represented on the user side, video services such as VOD and Internet broadcasting have been actively performed.

이러한 스트리밍 기술은 클라이언트 측의 데이터(사운드나 영상 등)를 표현 하는 응용프로그램에 데이터를 연속적으로 보내줄 수 있어야 하는데, 클라이언트 측에서 필요이상으로 데이터를 빠르게 수신할 경우에는 여분의 데이터를 버퍼에 저장하여 처리할 수 있지만, 클라이언트 측으로 데이터가 충분히 빠르게 수신되지 못할 경우에는, 해당 응용프로그램에서의 데이터의 표현이 매끄럽지 못하게 된다. 따라서 스트리밍 서비스의 품질은 클라이언트까지의 네트워크 상태, 즉 가용 대역폭의 크기에 따라 크게 달라지는데, 일반적으로 인터넷 이용자들은 가용 대역폭의 크기가 서로 다를 수 있으며, 또한, 동일 인터넷 이용자라도 네트워크의 부하 집중 정도에 따라서 가용대역폭이 달라질 수 있다. 따라서, 인터넷을 통해 스트리밍 서비스시 안정된 서비스 제공이 최대 관건이 되고 있다.This streaming technology must be able to continuously send data to the application program that represents data on the client side (sound or video, etc.). If the client side receives data faster than necessary, it stores the extra data in a buffer. If the data is not received quickly enough on the client side, the representation of the data in the application will not be smooth. Therefore, the quality of the streaming service varies greatly depending on the network conditions to clients, that is, the amount of available bandwidth. Generally, the Internet users may have different amounts of available bandwidth, and even the same Internet user may depend on the load concentration of the network. Available bandwidth may vary. Therefore, providing stable service is the key to streaming services over the Internet.

그런데, 인터넷 방송과 클라이언트 기기를 열결하는 네트워크 상황은 매우 가변적인 환경에 놓여있다. 어제까지만 해도 안정적인 스트림을 제공할 수 있었던 인터넷 방송이 오늘은 수시로 끊김이 발생하거나 아예 연결이 되지 않는 경우도 많다. 또한, 한동안 연결이 되지 않던 인터넷 방송이 갑자기 연결이 잘 되고 안정적인 스트림을 제공하는 경우도 많이 발생한다. 이러한 네트워크 상황의 변경은, 송신측 노드에서 수신측 노드까지 패킷이 도달하기까지 다수의 라우터를 통과하게 되고, 이와 같이 통과하는 라우터의 수 및 경로가 가변적이라는 점에 기인한다.However, the network situation connecting Internet broadcasting and client devices is in a very variable environment. Internet broadcasts, which were able to provide stable streams until yesterday, are often disconnected or disconnected today. In addition, many Internet broadcasts, which have been disconnected for some time, suddenly become well connected and provide a stable stream. The change in the network situation is due to the fact that the packets are passed from the transmitting node to the receiving node until the packets arrive, and the number and paths of the routers that pass through are variable.

도 1은 인터넷 방송국들(20, 30)로부터 클라이언트 기기 또는 사용자(10)와 연결되는 경로를 보여주는 도면이다. 현재 다수의 인터넷 방송국들이 실시간으로 스트리밍 오디오 혹은 스트리밍 비디오 서비스를 하고 있다. 그런데, 일반적으로 방송국의 서버에서 물리적으로 가까운 곳에 있는 사용자가 먼 곳에 있는 사용자보 다 더 나은 방송 품질을 즐길 수 있다. 방송 스트리밍에 있어서의 품질은 주어진 네트위트 망에서 지연이 발생하여 소리나 화면이 끊기는 현상이 발생하는지, 즉 안정적인 스트리밍이 가능한 지에 따라 결정된다. 그외에, 컨텐츠의 내용이나 고화질 서비스 여부 등은 방송 품질의 차원이라기 보다는 사용자의 기호 내지 선호의 차원이라고 볼 수 있다.FIG. 1 is a diagram illustrating a path connected to a client device or a user 10 from internet broadcasting stations 20 and 30. Currently, many Internet broadcasters provide streaming audio or streaming video services in real time. However, in general, a user who is physically close to a server of a broadcasting station may enjoy better broadcasting quality than a user who is far away. The quality of broadcast streaming is determined by whether there is a delay in a given network and the sound or screen is interrupted, that is, whether stable streaming is possible. In addition, the content of the content or whether the high-definition service, etc. can be seen as a dimension of the user's preference or preference rather than the dimension of the broadcast quality.

도 1에서 보면, 미국의 사용자(10)가 각각 캐나다 방송국(20) 및 한국 방송국(30)으로부터 인터넷 방송을 시청할 수 있다. 그런데, 지역적으로 미국과 인접한 캐나다와 연결된 경로 a가 지역적으로 미국과 먼 한국과 연결된 경로 b에 비하여 단거리이고, 작은 홉 수(hop count)를 갖는다. 따라서, 미국 사용자(10)는 한국 방송국(30)으로부터의 방송을 시청하는 것보다는 캐나다 방송국(20)으로부터의 방송을 시청하게 되면 더 짧은 지연(latency)으로 인하여 높은 품질을 보장받을 수 있다. Referring to FIG. 1, an American user 10 may watch an Internet broadcast from a Canadian broadcaster 20 and a Korean broadcaster 30, respectively. However, route a, which is locally connected to the United States and adjacent Canada, is shorter than route b, which is locally connected to the United States and far away, and has a small hop count. Accordingly, when the US user 10 watches a broadcast from the Canadian broadcaster 20 rather than watching a broadcast from the Korean broadcaster 30, the US user 10 may be guaranteed high quality due to a shorter latency.

현재 이러한 라디오 혹은 텔레비전 방송들은 전세계적으로 실시간으로 전파되고 있으며, 다양한 인터넷 방송국들을 모아서 서비스를 제공하는 디렉토리 서비스가 성행하고 있다. 그런데, 이러한 디렉토리 서비스를 제공함에 있어서, 다양한 인터넷 방송국들을 모아서 디렉터리 서비스를 하는 경우 지역마다 다른 끊김 현상이 발생할 수 있다. 이런 현상의 원인은 여러 가지가 있을 수 있다. 단순히 경로의 거리가 멀어서 발생될 경우도 있고, 경로 중의 일부 라우터의 문제로 경로를 우회하여 발생될 경우도 있다. 또한, 사용자 측의 통신 업체(ISP, Internet Service Provider)의 일시적인 문제나 특정 방송국에 대한 사용자의 접근량 급증 등에 의하 여 발생할 경우도 있다. 즉, 네트워크 상황은 가변적인데에 비하여, 사용자는 실제로 연결을 시도하기 전까지는, 실시간으로 특정 방송과의 접속 상태를 파악할 수는 없다. 특히, 이러한 네트워크 상황의 가변성은 짧은 주기로 일어날 수 있기 때문에, 어제까지 파악된 방송 품질에 관한 정보가 오늘에는 전혀 쓸모가 없어질 수도 있는 것이다.At present, such radio or television broadcasts are spread in real time around the world, and a directory service that collects and provides various Internet broadcasting stations is popular. However, in providing such a directory service, when various internet broadcasting stations are collected and the directory service is performed, different disconnections may occur in different regions. There are many possible causes of this phenomenon. It may be caused simply by the distance of the path, or it may be caused by bypassing the path due to a problem of some routers in the path. In addition, it may be caused by a temporary problem with a user's telecommunications company (ISP, Internet Service Provider) or a sudden increase in user's access to a particular broadcasting station. That is, the network situation is variable, but the user cannot grasp the connection status with a specific broadcast in real time until the user actually attempts to connect. In particular, since the variability of the network situation can occur in a short period, the information on broadcast quality that has been identified until yesterday may be completely useless today.

현재 제공되고 있는 디렉토리 서비스도 연결되는 방송국의 연결 품질 정보를 수치적으로 제공하고 있다. 예를 들면, 특정 방송국의 접속 상태를 나타내는 수치 또는 그래프를 사용자에게 제공하는 식이다. 사용자는 이러한 연결 품질에 관한 정보를 확인한 후, 적절한 인터넷 방송을 선택함으로써 연결이 되지 않거나, 스트리밍 재생 지연으로 인한 스트레스를 줄일 수 있다. 그러나, 이러한 디렉토리 서비스 방식은 크게 두 가지 측면에서 문제가 있다.The currently provided directory service also numerically provides connection quality information of connected broadcasting stations. For example, a numerical value or a graph indicating a connection state of a specific broadcasting station is provided to the user. After checking the information on the connection quality, the user can select an appropriate Internet broadcast to reduce the stress caused by the disconnection or the streaming playback delay. However, this directory service method is problematic in two aspects.

첫째, 가변적인 네트워크 상황에 실시간으로 대응할 수가 없다. 디렉토리 서비스 제공자 측에서 일일이 해당 인터넷 방송을 접속하여 연결 품질을 점검하기는 어려울 뿐만 아니라, 그렇게 하더라도 실시간으로 연결 품질을 업데이트할 수는 없다.First, it cannot cope with the variable network situation in real time. Not only is it difficult for the directory service provider to access the Internet broadcast and check the connection quality, but also it cannot update the connection quality in real time.

둘째, 디렉토리 서비스 제공자도 어느 특정 지역에 위치할 것이고, 인터넷 방송국과 해당되는 지역간의 통신 상태에 관한 정보만을 얻을 수 밖에 없다. 즉, 디렉토리 서비스 제공자가 한국에 위치한다면, 미국 사용자(10)가 캐나다 방송국(20)으로부터 제공받는 스트리밍 서비스의 연결 품질에 관해서는 측정이 불가능하다.Secondly, the directory service provider may be located in any particular area, and only the information regarding the communication status between the Internet broadcasting station and the corresponding area may be obtained. That is, if the directory service provider is located in Korea, it is impossible to measure the connection quality of the streaming service provided by the US user 10 from the Canadian broadcasting station 20.

본 발명이 이루고자 하는 기술적 과제는, 재생 단말기가 원하고 있는 조건의 방송국을 검색해서 결과를 알려줄 때 해당 지역에서의 방송 끊김 정도를 수치화하여 표시해 주는 방법 및 장치를 제공하고자 하는 것이다. 이를 위하여, 방송 끊김 정도(Quality Of Service)를 표기하기 위해서는 과거의 기록들을 방송국, 지역, 끊김의 형태 등의 정보를 잘 정리하고 저장할 필요가 있다.An object of the present invention is to provide a method and apparatus for numerically displaying the degree of interruption in a corresponding area when a playback terminal searches a broadcasting station having a desired condition and informs a result. To this end, in order to indicate the quality of service, it is necessary to organize and store information such as broadcasting stations, regions, and forms of interruption in the past.

본 발명이 이루고자 하는 다른 기술적 과제는, 현재 사용자가 방송국의 리스트를 검색할 때 사용자의 위치를 파악하고, 해당 지역에서 해당 방송국의 QoS 정보를 저장한 데이터베이스에서 찾아서 디렉토리 서비스를 제공하고자 하는 것이다.Another technical problem to be solved by the present invention is to provide a directory service by finding a location of a user when a current user searches a list of broadcasting stations, and searching a database storing QoS information of the broadcasting station in a corresponding region.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 인터넷 방송 서버를 검색하여 스트리밍 데이터를 제공받을 수 있도록 디렉토리 서비스를 제공하는 스트리밍 디렉토리 서버는, 제1 클라이언트 기기로부터 노드 정보를 수집하는 노드 정보 저장부로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는, 노드 정보 저장부; 상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 평가 지수 계산부; 상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 채널-품질 정보 생성부; 및 상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 송수신 모듈을 포함한다.According to an embodiment of the present invention for achieving the above technical problem, a streaming directory server that provides a directory service to search for an internet broadcast server to receive streaming data, the node collecting node information from the first client device An information storage unit, wherein the node information includes a connection state between the first client device and the Internet broadcast server; An evaluation index calculator configured to calculate an evaluation index between an area to which the first client device belongs and the internet broadcasting server based on the collected node information; When there is a search request from a second client belonging to the region, channel-quality information for generating data including information about an Internet broadcast server corresponding to the search request and an evaluation index for the connection with the Internet broadcast server. Generation unit; And a transmission / reception module for providing the generated data to the second client.

상기 또 다른 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른, 인터넷 방송 서버와의 연결 이력을 수집하여 스트리밍 디렉토리 서버에 제공하는 클라이언트 기기는, 상기 인터넷 방송 서버로부터 스트리밍 데이터를 수신하는 송수신 모듈; 상기 스트리밍 데이터로부터 사용자가 시청 가능한 데이터를 재생하는 멀티미디어 디코더; 상기 재생되는 데이터의 재생 상태에 관한 정보를 감지하는 상태 인디케이터; 및 상기 감지된 재생 상태에 관한 정보, 상기 클라이언트 기기의 위치를 식별할 수 있는 정보 및 상기 방송 서버를 식별할 수 있는 정보를 수집하여, 상기 스트리밍 디렉토리 서버에 제공하는 상태 변수 수집부를 포함한다.According to an aspect of the present invention, a client device for collecting a connection history with an internet broadcast server and providing the same to a streaming directory server may include a transmission / reception module configured to receive streaming data from the internet broadcast server. ; A multimedia decoder for reproducing user viewable data from the streaming data; A status indicator for sensing information regarding a reproduction state of the reproduced data; And a state variable collection unit which collects information on the detected playback state, information for identifying a location of the client device, and information for identifying the broadcast server, and provides the collected information to the streaming directory server.

본 발명에 따르면, 인터넷 방송을 이용하는 사용자가 최적의 품질을 제공하는 방송 채널을 선택할 수 있도록 할 수 있다.According to the present invention, it is possible to allow a user using the Internet broadcast to select a broadcast channel providing an optimal quality.

또한, 본 발명에 따르면, 접속이 불가능하거나 끊김이 심한 인터넷 방송을 선택함으로써 사용자가 겪는 불편을 방지함으로써, 보다 효율적인 디렉토리 서비스를 제공할 수 있다.In addition, according to the present invention, it is possible to provide a more efficient directory service by preventing the inconvenience caused by the user by selecting an Internet broadcast that is impossible or severely disconnected.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 상세히 설명한다.Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 기본 개념을 설명하는 개략도이다.2 is a schematic diagram illustrating the basic concept of the present invention.

본 발명에서, 스트리밍 디렉토리 서버(300)는 다양한 지역(지역 1, 2, 3)에서 인터넷 방송 서버와의 접속 상태에 관한 정보를 수집한다. 예를 들어, 지역 1에 있는 클라이언트 기기들(201, 202, 203)로부터 특정 인터넷 방송 서버와의 접속 상태에 관한 정보를 실시간으로 수집하여 업데이트한다. 그 후, 지역 1에 속하는 클라이언트 기기(지역 1에 속하는 201-203의 클라이언트 기기 또는 또 다른 클라이언트 기기)가 상기 특정 인터넷 방송 서버와의 접속을 원할 때, 상기 업데이트된 정보를 제공함으로써 실시간 접속 상태를 포함한 디렉토리 서비스를 제공할 수 있는 것이다.In the present invention, the streaming directory server 300 collects information on the connection status with the Internet broadcasting server in various regions (regions 1, 2, 3). For example, the client device 201, 202, 203 in region 1 collects and updates information on a connection state with a specific internet broadcasting server in real time. Thereafter, when a client device belonging to Region 1 (201-203 client device or another client device belonging to Region 1) wants to connect with the specific Internet broadcast server, the real time connection state is established by providing the updated information. It can provide a directory service.

스트리밍 디렉토리 서버(300)의 이러한 접속 상태에 관한 정보 수집은 각각의 지역별로 수행된다. 따라서, 서로 다른 네트워크 환경을 갖는 타 지역의 접속 상태에 관한 정보가 아니라, 자기 지역의 접속 상태에 관한 정보를 제공받기 때문 에, 클라이언트 기기는 특정 인터넷 방송 서버와 접속을 시도하기 전에도 원활한 인터넷 방송이 가능한지를 미리 확인할 수 있는 것이다.The collection of information about this connection state of the streaming directory server 300 is performed for each region. Therefore, the client device receives information about the connection status of its own region, not information about the connection status of other regions having different network environments. You can check in advance whether it is possible.

도 3은 본 발명의 일 실시예에 따른 전체 시스템의 구성도이다.3 is a configuration diagram of an entire system according to an embodiment of the present invention.

상기 시스템은 인터넷 방송 서버(100), 클라이언트 기기(200) 및 스트리밍 디렉토리 서버(300)를 포함하여 구성될 수 있다.The system may include an internet broadcasting server 100, a client device 200, and a streaming directory server 300.

인터넷 방송 서버(100)는 방송중인 비디오 신호로부터 비디오 스트림 또는 오디오 스트림을 생성하고, 생성된 스트림을 스티리밍 데이터로 변환하여 클라이언트 기기(200)에 제공한다. 이러한 인터넷 방송은, 뉴스, 게임, 영화, 음악 등 다양한 장르의 방송을 포함할 수 있다.The internet broadcasting server 100 generates a video stream or an audio stream from the broadcast video signal, converts the generated stream into streaming data, and provides the generated stream to the client device 200. Such internet broadcasting may include broadcasting of various genres such as news, games, movies, and music.

클라이언트 기기(200)는 인터넷 방송 서버(100)로부터 제공되는 스트리밍 데이터를 수신한다. 상기 수신된 스트리밍 데이터는 클라이언트 기기(200) 내의 스트리밍 재생기(500)에 의하여 재생된다. 또한, 클라이언트 기기(200)는 사용자 인터페이스(400)를 통하여, 사용자로부터의 명령을 수신하거나 스트리밍 재생기(500)로부터의 재생 결과를 사용자에게 출력(디스플레이 또는 스피커 아웃)한다. 따라서, 사용자 인터페이스(400)는 사용자로부터 명령을 수신할 수 있는 키보드, 마우스, 터치 패드 등의 입력 수단과, 상기 재생 결과를 출력할 수 있는 모니터, 스피커 등의 출력 수단을 구비할 수 있다.The client device 200 receives streaming data provided from the internet broadcast server 100. The received streaming data is reproduced by the streaming player 500 in the client device 200. In addition, the client device 200 receives a command from the user or outputs a display result from the streaming player 500 to the user (display or speaker out) through the user interface 400. Accordingly, the user interface 400 may include input means such as a keyboard, a mouse, and a touch pad that may receive a command from a user, and output means such as a monitor and a speaker that may output the playback result.

사용자 인터페이스(400)는 사용자로부터 수신된 명령을 바탕으로, play, stop, pause, resume, fast forward, fast rewind 등의 컨트롤(control)을 스트리밍 재생기(500)에 전달하고, 스트리밍 재생기(500)는 상기 컨트롤의 종류에 따라 해당 스트리밍 데이터의 재생을 제어한다. The user interface 400 transfers a control such as play, stop, pause, resume, fast forward, and fast rewind to the streaming player 500 based on a command received from the user, and the streaming player 500 The playback of the streaming data is controlled according to the type of the control.

한편, 스트리밍 디렉토리 서버(300)는 클라이언트 기기(200)에 스트리밍 디렉토리 서비스를 제공한다. 스트리밍 디렉토리 서비스란, 클라이언트 기기(200)에 가용한 방송 채널을 제공하고 클라이언트 기기(200)로부터 특정 방송 채널 또는 특정 선호 조건을 수신하면, 해당되는 방송 채널의 연결에 관한 정보(채널 정보) 및 해당 방송 채널의 품질 정보(즉, 요청한 클라이언트 기기의 위치에서 해당 인터넷 방송 서버와 연결시의 통신 품질에 관한 정보)를 제공하는 서비스를 의미한다. 본 명세서에서는 상기 채널 정보 및 품질 정보를 일괄하여 채널-품질 정보라고 명명한다.Meanwhile, the streaming directory server 300 provides a streaming directory service to the client device 200. The streaming directory service, when providing a broadcast channel available to the client device 200 and receiving a specific broadcast channel or a specific preference condition from the client device 200, information about the connection of the corresponding broadcast channel (channel information) and the corresponding It refers to a service that provides quality information of a broadcast channel (that is, information about a communication quality when connecting to a corresponding internet broadcast server at a location of a requested client device). In the present specification, the channel information and quality information are collectively referred to as channel-quality information.

스트리밍 디렉토리 서버(300)가 제공하는 채널-품질 정보는 인터넷에 분포되어 있는 무수한 클라이언 기기(200)에서 제공하는 노드 정보를 바탕으로 한다. 상기 노드 정보란, 특정 클라이언트 기기(200)가 특정 인터넷 방송 서버(100)에 접속하였을 때의 상황, 즉 접속 상태를 포함하는 데이터로서, 실시간으로 스트리밍 디렉토리 서버(300)에 리포팅될 수 있다.The channel-quality information provided by the streaming directory server 300 is based on node information provided by the numerous client devices 200 distributed in the Internet. The node information is data when a specific client device 200 accesses a specific internet broadcasting server 100, that is, data including a connection state, and may be reported to the streaming directory server 300 in real time.

도 4는 본 발명의 일실시예에 따른 인터넷 방송 서버(100)의 전체 구성을 나타낸 블록도이다. 4 is a block diagram showing the overall configuration of the Internet broadcasting server 100 according to an embodiment of the present invention.

상기 도 4를 참조하면, 본 발명에 의한 인터넷 방송 서버(100)는 방송장비로부터 방송중인 비디오 신호(50)를 입력받아 인코딩하여 세션 설정된 사용자들 각각의 네트워크 상태에 따라 트랜스코딩 비트율을 가변하여 사용자 측으로 스트리밍 서비스를 제공한다. 인터넷 방송 서버(100)는 스트리밍 서비스되는 컨텐츠 정보 및 서비스 사용자 정보를 관리하며, 웹 기반으로 동작하여 서비스 요청한 사용자에게 해당 서비스를 받을 수 있는 IP 주소를 제공하는 서비스 브로커(150)와 연동한다. 또한, 인터넷 방송 서버(100)는 사용자가 상기 서비스 브로커(150)에 접속하여 소정의 컨텐츠에 대한 서비스를 요청하고 그 결과 제공된 IP 주소의 인터넷 방송 서버(100)에 세션 설정을 요청하여 설정된 세션을 통해 데이터를 스트리밍 받아 재생하는 클라이언트 기기(200)와도 연동한다. 인터넷 방송 장치(100), 서비스 브로커(150) 및 클라이언트 기기(200)는 예를 들어, 인터넷(160)으로 연결되어 있다. Referring to FIG. 4, the Internet broadcasting server 100 according to the present invention receives a video signal 50 that is being broadcast from a broadcasting device, encodes the video signal 50, and varies a transcoding bit rate according to a network state of each user who has established a session. To provide streaming services. The internet broadcasting server 100 manages content information and service user information of a streaming service, and operates with a web-based service interoperation with a service broker 150 that provides an IP address for receiving a corresponding service to a user who requests a service. In addition, the Internet broadcasting server 100 accesses the service broker 150 to request a service for a predetermined content, and as a result, requests a session setting to the Internet broadcasting server 100 of the provided IP address to establish a session. It also interworks with the client device 200 that receives and reproduces data via streaming. The internet broadcasting apparatus 100, the service broker 150, and the client device 200 are connected to the Internet 160, for example.

상기 인터넷 방송 서버(100)는 또한, 생방송 비디오 스트림을 저장 관리하는 VOD 서버(170)를 더 구비할 수 있다. 인터넷 방송 서버(100)는 인코딩된 비디오 스트림을 상기 VOD 서버(170)로 캐싱할 수 있고, 생방송 컨텐츠 뿐만아니라 상기 VOD 서버(170)에 저장된 컨텐츠의 스트리밍 서비스를 수행할 수 있다.The Internet broadcast server 100 may further include a VOD server 170 that stores and manages a live broadcast video stream. The internet broadcast server 100 may cache the encoded video stream to the VOD server 170, and may perform streaming service of content stored in the VOD server 170 as well as live broadcast content.

그리고, 상기 인터넷 방송 서버(100)는 방송장비로부터 비디오 신호(50)를 입력받아 소정의 동영상 표준에 의해 부호화하는 인코더(110)와, 상기 인코더(110)로부터 출력된 비디오 스트림을 상기 VOD 서버(170)로 캐싱하고, 상기 비디오 스트림을 입력받거나 VOD 서버(170)로부터 비디오 스트림을 불러들여 해당 클라이언트까지의 네트워크상태에 따른 코딩 조건으로 트랜스코딩 및 스트리밍 처리하는 다수의 트랜스코더(120)와, 상기 서비스브로커(160)를 통해 요청된 컨텐츠의 스트리밍 서비스를 수행할 트랜스코더(120)를 할당하여 관리하는 제어기 내지 메인 프로세서(130)와, 상기 다수의 트랜스코더(120)로부터 출력된 스트리밍 데이터를 해당 클라이언트로 전송시키는 송수신 모듈(140)를 포함하여 이루어진다.The internet broadcasting server 100 receives the video signal 50 from a broadcasting device and encodes the video signal 50 according to a predetermined video standard, and outputs the video stream output from the encoder 110 to the VOD server. And a plurality of transcoders 120 for caching the video streams and transcoding and streaming the video streams from the VOD server 170 and transcoding and streaming the coding conditions according to the network conditions to the corresponding clients. The controller to the main processor 130 for allocating and managing the transcoder 120 to perform the streaming service of the requested content through the service broker 160, and the streaming data output from the plurality of transcoder 120 It comprises a transmission and reception module 140 for transmitting to the client.

그리고, 상기 다수의 트랜스코더(120)는 하드웨어적으로 구현되며, 서로 독립적으로 작용하며, 그 수는 시스템 성능 및 가입자 수에 따라 조절될 수 있는 것으로서, 클라이언트 기기(200)로부터의 스트리밍 서비스 요청메시지의 RTSP 정보를 해석하여 RTP에 의한 스트리밍 처리를 제어하는 스트리밍 제어 모듈(121)과, 상기 스트리밍 제어 모듈(121)에 의해 초기화되어, 트랜스코딩 API(123)를 호출하여 클라이언트에서 요구되는 트랜스코딩 레이트로 트랜스코딩을 수행시키는 트래픽 관리 모듈(122)와, 상기 트래픽 관리 모듈(122)의 호출에 의해 상기 인코더 또는 VOD서버의 비디오 스트림을 입력받아 트랜스코딩 하는 트랜스코딩 API 모듈(123)과, 상기 스트리밍 제어 모듈(121)의 제어에 따라 RTP(Real-time protocol)에 의하여 스트리밍 처리를 수행하는 스트리밍 스택 모듈(124)을 포함하여 이루어질 수 있다. 이상의 트랜스코더(120) 내의 모듈들은 소프트웨어 또는 하드웨어 형태로 구현될 수 있다.In addition, the plurality of transcoder 120 is implemented in hardware, and operate independently of each other, the number of which can be adjusted according to the system performance and the number of subscribers, the streaming service request message from the client device 200 The transcoding rate required by the client by invoking the transcoding API 123, which is initialized by the streaming control module 121 and the streaming control module 121, which analyzes the RTSP information of the RTP and controls the streaming process by the RTP. A traffic management module 122 for performing a transcoding process, a transcoding API module 123 for receiving and transcoding a video stream of the encoder or the VOD server by a call of the traffic management module 122, and the streaming Streaming stack module 12 which performs streaming processing by Real-time protocol (RTP) under the control of control module 121 And 4). The modules in the transcoder 120 may be implemented in software or hardware form.

상기 트랜스코더(120)와 인코더(110) 및 VOD 서버(170)는 예를 들어, DVB-ASI(Digital Video Broadcasting-Asynchronous Serial Interface) 인터페이스로 접속될 수 있고, 상기 트랜스코더(120)와 송수신 모듈(140)는 고속 이더넷(fast ethernet) 인터페이스로 접속될 수 있다The transcoder 120, the encoder 110, and the VOD server 170 may be connected to, for example, a digital video broadcasting-asynchronous serial interface (DVB-ASI) interface, and may be connected to the transcoder 120 and a transmission / reception module. 140 may be connected to a fast ethernet interface.

도 5는 본 발명의 일 실시예에 따른 클라이언트 기기(200)의 보다 자세한 구성을 도시하는 블록도이다. 클라이언트 기기(200)는 크게, 사용자 인터페이스(400), 스트리밍 재생기(500) 및 송수신 모듈(570)을 포함하여 구성될 수 있다.5 is a block diagram showing a more detailed configuration of the client device 200 according to an embodiment of the present invention. The client device 200 may be largely configured to include a user interface 400, a streaming player 500, and a transmission / reception module 570.

사용자 인터페이스(400)는 스트리밍 재생기(500)로부터 채널-품질 정보를 수 신하여 사용자에게 제공한다. 사용자는 제공된 채널-품질 정보를 이용하여, 원하는 인터넷 방송 채널을 선택할 수 있다. 사용자 인터페이스(400)는 사용자로부터 선택된 인터넷 방송에 관한 컨트롤을 스트리밍 재생기(500)에 전달하고, 스트리밍 재생기(500)는 상기 컨트롤의 종류에 따라 해당 스트리밍 데이터의 재생을 제어한다. 결과적으로, 스트리밍 재생기(500)는 상기 선택된 방송 채널에 관한 재생 결과를 사용자 인터페이스(400)에 제공한다.The user interface 400 receives channel-quality information from the streaming player 500 and provides it to the user. The user can select the desired internet broadcasting channel by using the provided channel-quality information. The user interface 400 transmits a control regarding the Internet broadcast selected by the user to the streaming player 500, and the streaming player 500 controls the reproduction of the corresponding streaming data according to the type of the control. As a result, the streaming player 500 provides the user interface 400 with the playback results for the selected broadcast channel.

송수신 모듈(570)은 인터넷 방송 서버(100) 또는 스트리밍 디렉토리 서버(300) 간의 데이터 송수신을 담당한다. 송수신 모듈(570)은 고속 이더넷(fast ethernet) 통신을 가능하게 하는 네트워크 인터페이스 유닛(NIU, network interface unit)을 포함할 수 있다. 물론, 상기 NIU는 유선 매체 뿐만 아니라 무선 매체를 통하여 타 기기와 통신할 수도 있다. 구체적으로, 스트리밍 디렉토리 서버(300)에 노드 정보 또는 검색 요청을 송신하고, 스트리밍 디렉토리 서버(300)로부터 채널-품질 정보를 수신할 수 있다. 또한, 송수신 모듈(570)은 인터넷 방송 서버(100)로부터 스트리밍 데이터를 수신할 수 있다.The transmission / reception module 570 is responsible for data transmission and reception between the Internet broadcasting server 100 or the streaming directory server 300. The transmission / reception module 570 may include a network interface unit (NIU) that enables fast Ethernet communication. Of course, the NIU may communicate with other devices through a wireless medium as well as a wired medium. Specifically, node information or a search request may be sent to the streaming directory server 300, and channel-quality information may be received from the streaming directory server 300. In addition, the transmission / reception module 570 may receive streaming data from the Internet broadcasting server 100.

스트리밍 재생기(500)는 다시, 입력 버퍼(510), 멀티미디어 디코더(520), 출력 버퍼(530), 상태 인디케이터(540), 상태 변수 수집부(550) 및 채널-품질 정보 저장부(560)를 포함하여 구성될 수 있다.The streaming player 500 again stores the input buffer 510, the multimedia decoder 520, the output buffer 530, the status indicator 540, the state variable collector 550, and the channel-quality information storage 560. It can be configured to include.

입력 버퍼(510)는 인터넷 방송 서버(100)로부터 수신된 스트리밍 데이터를 임시 저장하였다가 멀티미디어 디코더(520)의 요청에 의하여 제공한다.The input buffer 510 temporarily stores streaming data received from the internet broadcasting server 100 and provides the multimedia data at the request of the multimedia decoder 520.

멀티미디어 디코더(520)는 압축되거나 암호화되어 있는 스트리밍 데이터를 복원하는 기능을 수행한다. 통상 비디오 스트림 또는 오디오 스트림은 소정의 코덱, 예를 들면, MPEG-2, MPEG-4, H.264 등의 비디오 코덱이나 MP3, AAC, AC-3 등의 오디오 코덱으로 압축되어 있다. 따라서, 멀티미디어 디코더(520)는 상기 코덱에 따른 디코딩을 수행하여, 상기 스트리밍 데이터를 사용자가 시청할 수 있는 데이터로 변환한다. 만약, 스트리밍 데이터에 암호화가 적용된 경우에는, 멀티미디어 디코더(520)는 소정의 복호화 키를 이용하여 복호화를 수행할 수도 있다. 멀티미디어 디코더(520)는 예를 들어, 마이크로 소프트 사에서 제공하는 윈도우즈 미디어 플레이어와 같은 소프트웨어 디코더나, 특정 기기에 전용으로 제작되는 하드웨어 디코더일 수 있다.The multimedia decoder 520 restores compressed or encrypted streaming data. In general, a video stream or an audio stream is compressed with a predetermined codec, for example, a video codec such as MPEG-2, MPEG-4, H.264, or an audio codec such as MP3, AAC, or AC-3. Accordingly, the multimedia decoder 520 converts the streaming data into data that can be viewed by the user by decoding according to the codec. If encryption is applied to the streaming data, the multimedia decoder 520 may perform decryption using a predetermined decryption key. The multimedia decoder 520 may be, for example, a software decoder such as Windows Media Player provided by Microsoft Corporation, or a hardware decoder manufactured exclusively for a specific device.

출력 버퍼(530)는 멀티미디어 디코더(520)에서 복원된 데이터를 임시 저장하는 저장소이다. 임시 저장된 데이터는 소정의 출력 싱크(sync)에 맞게 사용자 인터페이스로 출력된다.The output buffer 530 is a storage for temporarily storing the data restored by the multimedia decoder 520. The temporarily stored data is output to the user interface in accordance with a predetermined output sync.

상태 인디케이터(540)는 멀티미디어 디코더(520)와 연동하여, 현재 디코딩되는 스트리밍 데이터의 상태, 즉, 인터넷 방송의 재생 상태에 관한 정보를 감지한다. 통상, 멀티미디어 디코더(520)는 그 상태를 나타내는 다양한 상태 변수를 제공하는데, 상태 인디케이터(540)는 이러한 상태 변수를 실시간으로 감지한다. The state indicator 540, in cooperation with the multimedia decoder 520, senses the state of the streaming data that is currently decoded, that is, information regarding the reproduction state of the Internet broadcast. Typically, the multimedia decoder 520 provides various state variables indicative of the state, which the state indicator 540 senses in real time.

멀티미디어 디코더(520)로부터 제공될 수 있는 상태 변수는 예를 들어, "재생 시도(Try to Play)", "재생 실패(Fail to play)", "재생 성공(Success to play)", "재생중 끊김(Disconnected during play)" 등이 있다.State variables that may be provided from the multimedia decoder 520 are, for example, "Try to Play", "Fail to play", "Success to play", "Playing" Disconnected during play ".

"재생 시도"는 사용자가 재생을 위하여 특정 방송의 URL로 접속을 시도하였 음을 나타내는 상태 변수이고, "재생 실패"는 상기 재생 시도를 하였으나 어떠한 이유로든 상기 URL에 접속을 하지 못하는 경우를 나타내는 상태 변수이다. 그리고, "재생 성공"은 해당 URL에 접속하여 재생이 시작되는 경우를 나타내는 상태 변수이고, "재생중 끊김"은 일단 재생은 성공하였으나 어떠한 이유로든 재생이 끊겨서 버퍼링(buffering) 상태로 전환되는 경우를 나타내는 상태 변수이다. 윈도우즈 미디어 플레이어는 이러한 상태 변수들을 실시간으로 제공하는 기능을 보유하고 있다."Playback Attempt" is a state variable indicating that a user has attempted to access a specific broadcast URL for playback, and "Playback Failure" is a state indicating a case where the playback attempt is attempted but the URL cannot be accessed for any reason. Variable. And, "playback success" is a state variable indicating when playback is started by accessing the corresponding URL, and "playback interruption" is a case where playback is successful but the playback is interrupted for any reason and is switched to the buffering state. State variable to indicate. Windows Media Player has the ability to provide these state variables in real time.

상태 변수 수집부(550)는 상태 인디케이터(540)로부터 제공되는 상태 변수들을 수집하고, 수시로 스트리밍 디렉토리 서버(300)에 상기 상태 변수들을 제공한다. 상태 변수 수집부(550)는 또한, 클라이언트 기기(200)의 위치를 식별할 수 있는 정보와, 방송자를 식별할 수 있는 정보를 아울러 스트리밍 디렉토리 서버(300)에 제공한다. 이와 같이, 클라이언트 기기(200)와 인터넷 방송 서버(100)간에 접속 상태를 나타내는 정보를 통칭하여 노드 정보라고 명명한다. 즉, 클라이언트 기기(200)는 스트리밍 디렉토리 서버(300)에 수시로 노드 정보를 제공하는 것이다.The state variable collecting unit 550 collects state variables provided from the state indicator 540 and provides the state variables to the streaming directory server 300 from time to time. The state variable collecting unit 550 also provides the streaming directory server 300 with information for identifying the location of the client device 200 and information for identifying the broadcaster. In this way, the information indicating the connection state between the client device 200 and the Internet broadcasting server 100 is collectively referred to as node information. That is, the client device 200 provides node information from time to time to the streaming directory server 300.

상태 인디케이터(540)나 상태 변수 수집부(550)는 인터넷 방송을 수신하는 통상의 클라이언트 기기(200)에는 갖추어져 있지 않을 수 있다. 따라서, 만약 이러한 구성 모듈들이 구비되지 않은 경우에는 이를 스트리밍 디렉토리 서버(300)로부터 이러한 구성 모듈들을 구현하기 위한 소프트웨어를 다운로드 하도록 할 수 있다. 상기 소프트웨어는 플래시 스크립트(Flash script), 자바 가상 머신(Java Virtual Machine), 액티브 엑스(ActiveX) 등 클라이언트 기기(200)에 애드 온(add-on) 방식으로 설치될 수 있다.The state indicator 540 or the state variable collecting unit 550 may not be provided in the normal client device 200 that receives the Internet broadcast. Thus, if such configuration modules are not provided, it can be made to download software for implementing these configuration modules from the streaming directory server 300. The software may be installed in an add-on manner to the client device 200 such as a flash script, a Java virtual machine, ActiveX, or the like.

상기 클라이언트 기기(200)의 위치를 식별할 수 있는 정보로는 IP(Internet Protocol) 주소가 있을 수 있지만 이에 한하지는 않는다. IP 주소를 이용하면 해당 클라이언트 기기(200)가 속한 지역을 시, 도 등의 행정 구역 단위로 식별하는 것이 가능하다. 또한, 상기 방송자를 식별할 수 있는 정보는 방송자 URI(Uniform Resource Identifier) 또는 URL(Uniform Resource Locator)일 수 있지만, 이에 한하지는 않는다.Information for identifying the location of the client device 200 may include, but is not limited to, an IP (Internet Protocol) address. By using the IP address, it is possible to identify the region to which the client device 200 belongs by the administrative region of the city, province, and the like. In addition, the information for identifying the broadcaster may be a broadcaster Uniform Resource Identifier (URI) or a Uniform Resource Locator (URL), but is not limited thereto.

채널-품질 정보 저장부(560)는 스트리밍 디렉토리 서버(300)로부터 제공되는 채널-품질 정보를 저장하고, 사용자 인터페이스(400)의 요구에 따라 상기 채널-품질 정보를 제공한다.The channel-quality information storage unit 560 stores the channel-quality information provided from the streaming directory server 300 and provides the channel-quality information according to a request of the user interface 400.

도 6 및 8은 본 발명의 일 실시예에 따른 스트리밍 디렉토리 서버(300)의 보다 자세한 구성을 도시하는 블록도들이다. 이 중에서 도 6은 클라이언트 기기(200)로부터 노드 정보를 수신한 스트리밍 디렉토리 서버(300)의 동작을 도시한다.6 and 8 are block diagrams illustrating a more detailed configuration of the streaming directory server 300 according to an embodiment of the present invention. 6 illustrates an operation of the streaming directory server 300 that receives node information from the client device 200.

스트리밍 디렉토리 서버(300)는, 노드 정보 저장부(305), 송수신 모듈(350), 평가 지수 계산부(310), 주소 데이터베이스(320), 디렉토리 서비스 데이터베이스(330), 및 채널-품질 정보 생성부(340)를 포함하여 이루어질 수 있다.The streaming directory server 300 may include a node information storage unit 305, a transmission / reception module 350, an evaluation index calculator 310, an address database 320, a directory service database 330, and a channel-quality information generator. And 340.

송수신 모듈(350)은 송수신 모듈(570)과 마찬가지로, 클라이언트 기기(200)와의 데이터 송수신을 담당한다. 송수신 모듈(350)은 네트워크 인터페이스 유닛(NIU)을 포함할 수 있으며, 상기 NIU는 유선 매체 또는 무선 매체를 통하여 타 기기와 통신할 수 있다. 구체적으로, 클라이언트 기기(200)로부터 노드 정보나 검색 요청을 수신하고, 클라이언트 기기(200)로 채널-품질 정보를 송신할 수 있다.The transmission / reception module 350 is responsible for data transmission and reception with the client device 200, similarly to the transmission / reception module 570. The transmit / receive module 350 may include a network interface unit (NIU), and the NIU may communicate with other devices through a wired or wireless medium. Specifically, node information or a search request may be received from the client device 200, and channel-quality information may be transmitted to the client device 200.

노드 정보 저장부(305)는 클라이언트 기기(200)로부터 전송된 노드 정보를 수집하여 저장하고, 주소 DB(320), 디렉토리 서비스 DB(330) 및 평가 지수 계산부(310)의 요청에 따라 이를 제공한다.The node information storage unit 305 collects and stores node information transmitted from the client device 200, and provides the node information storage unit 305 according to a request of the address DB 320, the directory service DB 330, and the evaluation index calculator 310. do.

평가 지수 계산부(310)는 상기 노드 정보(특히, 노드 정보에 포함된 상태 변수)로부터 클라이언트 기기(200)가 속하는 지역과 인터넷 방송 서버(100)간의 접속 상태를 평가하는 평가 지수를 계산한다. 이러한 평가 지수는 단순히 인터넷 방송 서버(100)에 대한 것이 아니라, 클라이언트 기기(200)가 속하는 지역과 인터넷 방송 서버(100) 간의 조합 별로 계산된다.The evaluation index calculator 310 calculates an evaluation index for evaluating the connection state between the region to which the client device 200 belongs and the internet broadcasting server 100 from the node information (in particular, the state variable included in the node information). The evaluation index is not merely for the internet broadcasting server 100 but is calculated for each combination between the region to which the client device 200 belongs and the internet broadcasting server 100.

방송국 리스트 및 수신지역 리스트의 관계를 도시한 도 7을 참조하면, 노드 정보는 수신 지역 리스트의 1 항목과, 방송국 리스트의 1 항목에 대하여 수집되는 것이고, 마찬가지로 평가 지수도 수신 지역 리스트의 1 항목과, 방송국 리스트의 1 항목에 대하여 계산되는 것임을 알 수 있다. 만약, 새로운 수신지역이나, 새로운 방송국에 관한 노드 정보가 수신된다면, 수신지역 리스트 또는 방송국 리스트에 새로운 항목이 추가될 것이다. 그러나, 기준의 수신지역 및 방송국의 조합에 관한 노드 정보가 수신된다면 기존의 데이터를 업데이트하여야 할 것이다. 도 7과 같이, M개의 인터넷 방송국과 N개의 수신 지역이 존재하면, 총 M×N개의 링크가 발생할 수 있으므로, 평가 지수도 각각의 링크 별로 계산될 수 있다. 이와 같이 새로운 항목 및 링크가 지속적으로 추가된다면, 결국 전세계의 임의의 지역에서 서비스 되는 방송을 전세계의 임의의 지역에서 수신할 경우의 품질을 알 수 있게 된다. 결국, 스트리밍 디렉토리 서버(300)에 접속하는 클라이언트 기기(200)의 수가 보다 많을수 록 의미있는 데이터를 제공할 수 있다.Referring to FIG. 7 showing the relationship between the broadcasting station list and the receiving area list, node information is collected for one item of the receiving area list and one item of the broadcasting station list. It can be seen that it is calculated for one item of the broadcasting station list. If a new receiving area or node information regarding a new broadcasting station is received, a new item will be added to the receiving area list or the broadcasting station list. However, if node information regarding a combination of a reference receiving area and a broadcasting station is received, existing data must be updated. As shown in FIG. 7, when M Internet stations and N reception regions exist, a total of M × N links may occur, and thus an evaluation index may also be calculated for each link. If new items and links are continuously added, the quality of receiving broadcasts serviced anywhere in the world from anywhere in the world can be known. As a result, the greater the number of client devices 200 connected to the streaming directory server 300 can provide meaningful data.

구체적으로, 평가 지수 계산부(310)는 다음과 같은 방식으로 평가 지수를 계산할 수 있다. 예를 들어, 서울에서 BBC 라디오를 청취하는 경우를 생각한다. 전술한 바와 같이, 상태 변수는 재생 시도, 재생 실패, 재생 성공, 재생중 끊김, 최종 재생 성공 등이 있는데 이러한 상태 변수는 다음의 표 1과 같이 카운트 값으로 정리될 수 있다.In detail, the evaluation index calculator 310 may calculate the evaluation index in the following manner. For example, consider listening to BBC radio in Seoul. As described above, the state variables include a reproduction attempt, a reproduction failure, a reproduction success, a disconnection during a reproduction, a final reproduction success, and the like. The state variables may be arranged as count values as shown in Table 1 below.

지역 :일본 도쿄
방송 : 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
Area: Tokyo, Japan
Broadcast: BBC Radio
Try to play: 1900 times
Fail to play: 10 times
Disconnected during play: 90
Last Success to play: 2009-06-10, 21: 22.10.22

상기 표 1의 데이터는 노드 정보 저장부(305)가 저장하고 있다가 다른 구성 모듈들에게 제공하는 데이터이다. 여기에서 카운트 값은, 도쿄라는 지역에 속하는 다수의 클라이언트 기기들이 BBC 라디오라는 인터넷 방송에 접속한 누적 데이터를 기초로 이루어진다. The data in Table 1 is data stored in the node information storage unit 305 and provided to other component modules. Here, the count value is based on cumulative data in which a plurality of client devices belonging to an area called Tokyo connect to an Internet broadcast called BBC radio.

이 경우, 평가 지수 계산부(310)는 다음의 수학식 1에 따라 평가 지수를 계산할 수 있다.In this case, the evaluation index calculator 310 may calculate the evaluation index according to Equation 1 below.

E(평가 지수) = (100×T - W1×F - W2×D) / TE (evaluation index) = (100 × T-W 1 × F-W 2 × 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"를 평가 지수에 직접 산입하는 방식도 생각할 수 있다.Here, T is a count of "Try to play", F is a count of "Fail to play", D is a count of "Disconnected during play", and W 1 and W 2 are constants representing weights. This evaluation index is expressed as a score out of 100. "Last Success to play" may be used as an important reference indicator for evaluating the validity of the connection state even though it is not included in the evaluation index. Of course, one can also think of adding "Last Success to play" directly into the evaluation index.

한편, 이상과 같이 단순히 누적 데이터를 이용할 수도 있지만, 현재 데이터의 가중치를 높이는 방법도 생각할 수 있다. 왜냐하면, 과거에 아무리 접속이 잘 되었다고 하더라도 최근 네트워크 상황의 변화에 의하여 접속이 잘 되지 않은다면, 과거의 데이터는 별 의미가 없기 때문이다. 따라서, 현재의 평가 지수(En)는 다음의 수학식 2와 같은 방식으로 업데이트되도록 할 수도 있다.On the other hand, although cumulative data may be simply used as described above, a method of increasing the weight of the current data may be considered. This is because, even if the connection is good in the past, if the connection is not well due to the change of the recent network situation, the past data has little meaning. Accordingly, the current evaluation index E n may be updated in the following manner.

En = (1-a)×En-1 + a×Ec E n = (1-a) × E n-1 + a × E c

여기서, a는 0에서 1사이의 상수이고, En-1은 이전의 평가 지수이며, Ec는 최근의 특정 범위내(예: 1주일 이내)의 카운트만으로 계산한 평가 지수이다. 상기 a를 크게 하면 평가 지수에 최근의 데이터가 반영되는 정도를 높일 수 있고, a를 작게 하면 그 반대가 된다.Here, a is a constant between 0 and 1, E n-1 is a previous evaluation index, and E c is an evaluation index calculated only by a count within a recent specific range (eg, within a week). If the above a is increased, the degree to which the latest data is reflected in the evaluation index can be increased. If the a is smaller, vice versa.

이와 같이 다양한 상태 변수들의 조합에 의하여 특정 지역과 특정 방송 간의 링크에 대한 평가 지수를 결정할 수 있는 것이다. 본 발명에 있어서, 수학식 1은 하나의 예에 불과하고, 당업자라면 실제 구현에 있어서는 얼마든지 다른 방식으로 평가 지수를 개발할 수 있을 것이다.In this way, a combination of various state variables may determine an evaluation index for a link between a specific region and a specific broadcast. In the present invention, Equation 1 is only one example, and those skilled in the art will be able to develop the evaluation index in any number of ways in the actual implementation.

주소 데이터베이스(320)는 노드 정보 저장부(305)로부터 IP 주소를 제공받아, 이를 상기 IP 주소에 대응되는 위치 정보로 변환한다. 상기 위치 정보는 예를 들어, 시, 도 등의 행정 구역 단위를 의미한다. 상기 변환된 위치 정보는, 노드 정보 저장부(305)로부터 제공되는 방송자 ID, 평가 지수 계산부(310)로부터 제공되는 평가 지수와 함께 디렉토리 서비스 DB(330)에 저장된다.The address database 320 receives an IP address from the node information storage unit 305 and converts the IP address into location information corresponding to the IP address. The location information means, for example, an administrative unit such as a city or a province. The converted location information is stored in the directory service DB 330 together with the broadcaster ID provided from the node information storage unit 305 and the evaluation index provided from the evaluation index calculator 310.

채널-품질 정보 생성부(340)는 방송자 ID, 위치 정보 및 평가 지수를 묶어서 구조화된 데이터로 저장한다. 도 7과 같은 예에 따르면, 총 M×N개의 데이터 엔트리가 필요하다.The channel-quality information generator 340 stores the broadcaster ID, the location information, and the evaluation index as structured data. According to the example of FIG. 7, a total of M × N data entries are required.

한편, 도 8은 클라이언트 기기(200)로부터 검색 요청을를 수신한 스트리밍 디렉토리 서버(300)의 동작을 도시한다.8 illustrates an operation of the streaming directory server 300 that receives a search request from the client device 200.

클라이언트 기기(200)가 스트리밍 디렉토리 서버(300)에 검색 요청 패킷을 송신하면, 송수신 모듈(350)은 이를 수신하여 채널-품질 정보 생성부(340)에 제공한다. 채널-품질 생성부(340)는, 주소 DB(320)를 참조하여, 검색 요청 패킷에 포함된 클라이언트 기기(200)의 IP 주소를 위치 정보로 변환한다.When the client device 200 transmits a search request packet to the streaming directory server 300, the transmission / reception module 350 receives the request packet and provides it to the channel-quality information generation unit 340. The channel-quality generator 340 converts the IP address of the client device 200 included in the search request packet into location information with reference to the address DB 320.

채널-품질 정보 생성부(340)는 검색 요청 패킷에 포함된 검색 조건에 부합하는 특정 방송자 ID를 디렉토리 서비스 DB(330)에서 발견한다. 상기 발견된 방송자 ID는 복수 개일 수도 있다. 또한, 채널-품질 정보 생성부(340)는 발견된 방송자 ID와 위치 정보를 매칭하고, 매칭된 결과에 대응하는 평가 지수를 디렉토리 서비스 DB(330)로부터 얻는다. 마지막으로, 채널-품질 정보 생성부(340)는 방송자 ID, 위치 정보 및 평가 지수를 조합, 가공하여 채널-품질 정보를 생성하고, 생성된 채널- 품질 정보를 클라이언트 기기(200)에 제공한다.The channel-quality information generator 340 finds a specific broadcaster ID in the directory service DB 330 that meets the search condition included in the search request packet. There may be a plurality of found broadcaster IDs. In addition, the channel-quality information generation unit 340 matches the found broadcaster ID and the location information, and obtains an evaluation index corresponding to the matched result from the directory service DB 330. Finally, the channel-quality information generator 340 combines and processes the broadcaster ID, the location information, and the evaluation index to generate channel-quality information, and provides the generated channel-quality information to the client device 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)의 사용자는 상기 채널의 링크를 클릭함으로서 쉽게 해당 방송을 시청할 수 있다.9 is a diagram illustrating an example of channel-quality information generated by the channel-quality information generator 340. When a user living in the United States selects a genre of "news", the channel-quality information generation unit 340 finds a broadcaster ID matching the search word news in the directory service DB 330. That is, as shown in Fig. 9, a total of five channels 86 of Fox News 81, CNN News 82, ABC News 83, Arirang News 84, and BBC News 85 are found. At this time, the channel quality-information generator 340 generates an evaluation index 88 of the link between the region of the United States and each broadcaster ID as a value 89 or a graph 87. The graph may display a minimum value for the user to access the broadcast and a recommended value for the smooth broadcast viewing to facilitate the user's selection. Such channel-quality information may be prepared, for example, in a HyperText Markup Language (HTML) document and provided to the client device 200. The user of the client device 200 can easily watch the broadcast by clicking the link of the channel.

다른 실시예로서, 채널-품질 정보는 상기 검색된 결과, 즉 방송자 ID들 및 평가 지수들만을 구조화된 문서(예: XML 문서)로 클라이언트 기기(200)에 제공하고, 클라이언트 기기(200)의 사용자 인터페이스(400)에서 채널-품질 정보 저장부(560)에 저장된 데이터를 이용하여 도 9와 같은 화면을 생성하는 것도 가능하다.In another embodiment, the channel-quality information provides only the retrieved results, i.e., broadcaster IDs and evaluation indices, to the client device 200 as a structured document (e.g., an XML document), and the user of the client device 200. It is also possible to generate the screen as shown in FIG. 9 using the data stored in the channel-quality information storage unit 560 in the interface 400.

지금까지 도 3 내지 도 6, 및 도 8의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.Until now, each of the components of FIGS. 3 to 6 and 8 is software such as a task, a class, a subroutine, a process, an object, an execution thread, a program, or an FPGA (field-) that is performed in a predetermined area on a memory. It may be implemented in hardware such as a programmable gate array or an application-specific integrated circuit (ASIC), or may be a combination of the software and hardware. The components may be included in a computer readable storage medium or a part of the components may be distributed and distributed among a plurality of computers.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

도 1은 인터넷 방송국들로부터 클라이언트 기기 또는 사용자와 연결되는 경로를 보여주는 도면이다.1 is a diagram illustrating a path connecting Internet client stations with a client device or a user.

도 2는 본 발명의 기본 개념을 설명하는 개략도이다.2 is a schematic diagram illustrating the basic concept of the present invention.

도 3은 본 발명의 일 실시예에 따른 전체 시스템의 구성도이다.3 is a configuration diagram of an entire system according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 인터넷 방송 서버의 전체 구성을 나타낸 블록도이다. 4 is a block diagram showing the overall configuration of the Internet broadcasting server according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 클라이언트 기기의 보다 자세한 구성을 도시하는 블록도이다.5 is a block diagram illustrating a more detailed configuration of a client device according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른, 클라이언트 기기로부터 노드 정보를 수신한 스트리밍 디렉토리 서버의 동작을 도시하는 블록도이다.6 is a block diagram illustrating an operation of a streaming directory server that receives node information from a client device according to an embodiment of the present invention.

도 7은 방송국 리스트 및 수신지역 리스트 간의 관계를 도시한 도면이다.7 is a diagram illustrating a relationship between a broadcasting station list and a reception area list.

도 8은 본 발명의 일 실시예에 따른, 클라이언트 기기로부터 검색 요청을를 수신한 스트리밍 디렉토리 서버의 동작을 도시한 블록도이다.8 is a block diagram illustrating an operation of a streaming directory server that receives a search request from a client device according to an embodiment of the present invention.

도 9는 채널-품질 정보 생성부가 생성한 채널-품질 정보의 예를 보여주는 도면이다.9 is a diagram illustrating an example of channel-quality information generated by the channel-quality information generating unit.

(도면의 주요부분에 대한 부호 설명)(Symbol description of main part of drawing)

100: 인터넷 방송 서버 200: 클라이언트 기기100: Internet broadcast server 200: client device

300: 스트리밍 디렉토리 서버 305: 노드 정보 저장부300: streaming directory server 305: node information storage unit

310: 평가 지수 계산부 320: 주소 DB310: evaluation index calculation unit 320: address DB

330: 디렉토리 서비스 DB 340: 채널-품질 정보 생성부330: directory service DB 340: channel-quality information generation unit

350, 570: 송수신 모듈 400: 사용자 인터페이스350, 570: transmit / receive module 400: user interface

500: 스트리밍 재생기 510: 입력 버퍼500: streaming player 510: input buffer

520: 멀티미디어 디코더 530: 출력 버퍼520: multimedia decoder 530: output buffer

540: 상태 인디케이터 550: 상태 변수 수집부540: state indicator 550: state variable collection unit

560: 채널-품질 정보 저장부560: channel-quality information storage unit

Claims (19)

인터넷 방송 서버를 검색하여 스트리밍 데이터를 제공받을 수 있도록 디렉토리 서비스를 제공하는 스트리밍 디렉토리 서버에 있어서,In the streaming directory server providing a directory service to search the Internet broadcast server to receive streaming data, 제1 클라이언트 기기로부터 노드 정보를 수집하는 노드 정보 저장부로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는 노드 정보 저장부;A node information storage unit for collecting node information from a first client device, the node information including a connection state between the first client device and the Internet broadcasting server; 상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 평가 지수 계산부;An evaluation index calculator configured to calculate an evaluation index between an area to which the first client device belongs and the internet broadcasting server based on the collected node information; 상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 채널-품질 정보 생성부; 및When there is a search request from a second client belonging to the region, channel-quality information for generating data including information about an Internet broadcast server corresponding to the search request and an evaluation index for the connection with the Internet broadcast server. Generation unit; And 상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 송수신 모듈을 포함하는, 스트리밍 디렉토리 서버.And a transmitting / receiving module for providing the generated data to the second client. 제1항에 있어서, 상기 노드 정보는The method of claim 1, wherein the node information is 상기 제1 클라이언트 기기의 식별 정보와 상기 인터넷 방송 서버의 식별자를 더 포함하는, 스트리밍 디렉토리 서버. And further comprising identification information of the first client device and an identifier of the internet broadcast server. 제1항에 있어서, The method of claim 1, 상기 노드 정보와, 상기 계산된 평가 지수를 기초로, M개의 인터넷 방송 서버와, N개의 클라이언트 기기의 지역에 대한 총 M×N개의 평가 지수를 저장하는 디렉토리 서비스 DB를 더 포함하는, 스트리밍 디렉토리 서버.The streaming directory server further includes a directory service DB storing M internet broadcasting servers and a total of M × N evaluation indices for regions of N client devices based on the node information and the calculated evaluation index. . 제1항에 있어서, 상기 평가 지수는The method of claim 1, wherein the evaluation index is 재생 시도, 재생 실패, 재생 성공, 재생 중 끊김 중 적어도 둘 이상을 조합하여 계산되는, 스트리밍 디렉토리 서버.A streaming directory server, calculated by combining at least two of a replay attempt, a replay failure, a replay success, and a break during replay. 제4항에 있어서, 상기 평가 지수는The method of claim 4, wherein the evaluation index is 최근에 수집된 데이터에 가중치를 높여서 업데이트되는 방식으로 계산되는, 스트리밍 디렉토리 서버.A streaming directory server that is calculated in such a way that it is updated by weighting recently collected data. 제1항에 있어서, 상기 채널-품질 정보 생성부는The method of claim 1, wherein the channel-quality information generating unit 상기 검색 요청에 대응한 인터넷 방송 서버의 링크와, 상기 인터넷 방송 서버에 접속 대한 상기 평가 지수를 디스플레이하는, 스트리밍 디렉토리 서버.And a link of an internet broadcast server corresponding to the search request and the evaluation index for accessing the internet broadcast server. 인터넷 방송 서버와의 연결 이력을 수집하여 스트리밍 디렉토리 서버에 제공하는 클라이언트 기기에 있어서,A client device that collects a connection history with an internet broadcasting server and provides the streaming directory server, 상기 인터넷 방송 서버로부터 스트리밍 데이터를 수신하는 송수신 모듈;A transmission / reception module for receiving streaming data from the internet broadcasting server; 상기 스트리밍 데이터로부터 사용자가 시청 가능한 데이터를 재생하는 멀티 미디어 디코더;A multimedia decoder for reproducing user viewable data from the streaming data; 상기 재생되는 데이터의 재생 상태에 관한 정보를 감지하는 상태 인디케이터; 및A status indicator for sensing information regarding a reproduction state of the reproduced data; And 상기 감지된 재생 상태에 관한 정보, 상기 클라이언트 기기의 위치를 식별할 수 있는 정보 및 상기 방송 서버를 식별할 수 있는 정보를 수집하여, 상기 스트리밍 디렉토리 서버에 제공하는 상태 변수 수집부를 포함하는, 클라이언트 기기.And a state variable collection unit for collecting information on the detected playback state, information for identifying a location of the client device, and information for identifying the broadcast server, and providing the collected information to the streaming directory server. . 제7항에 있어서, 상기 재생 상태에 관한 정보는The method of claim 7, wherein the information about the reproduction state is 재생 시도, 재생 실패, 재생 성공 및 재생 중 끊김 중 적어도 하나 이상을 포함하는, 클라이언트 기기.And at least one of a playback attempt, playback failure, playback success, and disconnection during playback. 제7항에 있어서, 상기 상태 변수 수집부는The method of claim 7, wherein the state variable collecting unit 상기 스트리밍 디렉토리 서버로부터 다운로드되는 소프트웨어에 의해 애드 온 방식으로 설치되는, 클라이언트 기기.The client device is installed in an add-on manner by software downloaded from the streaming directory server. 제1항에 있어서,The method of claim 1, 사용자 명령을 바탕으로 멀티미디어의 재생에 관한 컨트롤을 상기 멀티미디어 디코더에 제공하고, 상기 스트리밍 디렉토리 서버로부터 제공되는 채널-품질 정보를 사용자에게 출력하는 사용자 인터페이스를 더 포함하는, 클라이언트 기기.And a user interface for providing control to the multimedia decoder on the basis of a user command to the multimedia decoder and outputting channel-quality information provided from the streaming directory server to the user. 인터넷 방송 서버를 검색하여 스트리밍 데이터를 제공받을 수 있도록 디렉토리 서비스를 제공하는 방법에 있어서,In the method for providing a directory service to search the Internet broadcast server to receive streaming data, 제1 클라이언트 기기로부터 노드 정보를 수집하는 단계로서, 상기 노드 정보는 상기 제1 클라이언트 기기와 상기 인터넷 방송 서버 간의 접속 상태를 포함하는, 상기 단계;Collecting node information from a first client device, wherein the node information includes a connection state between the first client device and the internet broadcast server; 상기 수집된 노드 정보에 기초하여 상기 제1 클라이언트 기기가 속한 지역과 상기 인터넷 방송 서버 간의 평가 지수를 계산하는 단계;Calculating an evaluation index between an area to which the first client device belongs and the internet broadcasting server based on the collected node information; 상기 지역에 속하는 제2 클라이언트로부터 검색 요청이 있는 경우, 상기 검색 요청에 대응한 인터넷 방송 서버에 관한 정보와, 상기 인터넷 방송 서버와의 접속에 대한 평가 지수를 포함하는 데이터를 생성하는 단계; 및When there is a search request from a second client belonging to the region, generating data including information about an Internet broadcast server corresponding to the search request and an evaluation index for the connection with the Internet broadcast server; And 상기 생성된 데이터를 상기 제2 클라이언트에 제공하는 단계를 포함하는 방법.Providing the generated data to the second client. 제11항에 있어서, 상기 노드 정보는The method of claim 11, wherein the node information is 상기 제1 클라이언트 기기의 식별 정보와 상기 인터넷 방송 서버의 식별자를 더 포함하는 방법. And identification information of the first client device and an identifier of the internet broadcast server. 제11항에 있어서, The method of claim 11, 상기 노드 정보와, 상기 계산된 평가 지수를 기초로, M개의 인터넷 방송 서버와, N개의 클라이언트 기기의 지역에 대한 총 M×N개의 평가 지수를 저장하는 단 계를 더 포함하는 방법.Storing M total of N × N evaluation indices for regions of N client devices based on the node information and the calculated evaluation index. 제11항에 있어서, 상기 평가 지수는The method of claim 11, wherein the evaluation index is 재생 시도, 재생 실패, 재생 성공, 재생 중 끊김 중 적어도 둘 이상을 조합하여 계산되는 방법.A method that is calculated by combining at least two of a retry attempt, a replay failure, a replay success, and a break during replay. 제14항에 있어서, 상기 평가 지수는The method of claim 14, wherein the evaluation index 최근에 수집된 데이터에 가중치를 높여서 업데이트되는 방식으로 계산되는 방법.Calculated in a way that is updated by weighting recently collected data. 제11항에 있어서, 상기 데이터를 생성하는 단계는The method of claim 11, wherein generating the data comprises 상기 검색 요청에 대응한 인터넷 방송 서버의 링크와, 상기 인터넷 방송 서버에 접속 대한 상기 평가 지수를 디스플레이하는 단계를 더 포함하는 방법.And displaying the link of the internet broadcast server corresponding to the search request and the evaluation index for the connection to the internet broadcast server. 인터넷 방송 서버와의 연결 이력을 수집하여 스트리밍 디렉토리 서버에 제공하는 방법에 있어서,In the method of collecting the connection history with the Internet broadcasting server and providing the streaming directory server, 상기 인터넷 방송 서버로부터 스트리밍 데이터를 수신하는 단계;Receiving streaming data from the internet broadcasting server; 상기 스트리밍 데이터로부터 사용자가 시청 가능한 데이터를 재생하는 단계;Reproducing data that the user can watch from the streaming data; 상기 재생되는 데이터의 재생 상태에 관한 정보를 감지하는 단계;Detecting information regarding a reproduction state of the reproduced data; 상기 감지된 재생 상태에 관한 정보, 상기 클라이언트 기기의 위치를 식별할 수 있는 정보 및 상기 방송 서버를 식별할 수 있는 정보를 수집하는 단계; 및Collecting information regarding the detected playback state, information for identifying a location of the client device, and information for identifying the broadcast server; And 상기 수집된 정보들을 상기 스트리밍 디렉토리 서버에 제공하는 단계를 포함하는 방법.Providing the collected information to the streaming directory server. 제17항에 있어서, 상기 재생 상태에 관한 정보는18. The method of claim 17, wherein the information about the reproduction state is 재생 시도, 재생 실패, 재생 성공 및 재생 중 끊김 중 적어도 하나 이상을 포함하는 방법.At least one of a playback attempt, playback failure, playback success, and disconnection during playback. 제17항에 있어서,The method of claim 17, 사용자 명령을 바탕으로 멀티미디어의 재생에 관한 컨트롤을 상기 멀티미디어 디코더에 제공하는 단계; 및Providing the multimedia decoder with control regarding playback of the multimedia based on a user command; And 상기 스트리밍 디렉토리 서버로부터 제공되는 채널-품질 정보를 사용자에게 출력하는 단계를 더 포함하는 방법.Outputting channel-quality information provided from said streaming directory server to a user.
KR1020090082051A 2009-09-01 2009-09-01 A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof KR101167652B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090082051A KR101167652B1 (en) 2009-09-01 2009-09-01 A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090082051A KR101167652B1 (en) 2009-09-01 2009-09-01 A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof

Publications (2)

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

Family

ID=43932060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090082051A KR101167652B1 (en) 2009-09-01 2009-09-01 A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof

Country Status (1)

Country Link
KR (1) KR101167652B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100865232B1 (en) 2002-04-16 2008-10-23 주식회사 케이티 Internet Use Multimedia Receiving System and Method, and Internet Multimedia Service System and Method Using the Same, and the Computer Readable Medium

Also Published As

Publication number Publication date
KR101167652B1 (en) 2012-07-23

Similar Documents

Publication Publication Date Title
US8997154B2 (en) Apparatus and method for obtaining media content
US8949887B2 (en) Apparatus and method for distributing media content
US9609364B2 (en) Proximity dependent content delivery
US8826349B2 (en) Multicast adaptive stream switching for delivery of over the top video content
US10595058B2 (en) Apparatus and method for managing media content for mobile devices
KR101758613B1 (en) Broadcasting contents providing method and apparatus and system thereof
US8850054B2 (en) Hypertext transfer protocol live streaming
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
US9832425B2 (en) Synchronized home and vehicle audio visual system and method
US11902631B2 (en) Methods, systems, and apparatuses for improved content scoring and delivery
WO2021143360A1 (en) Resource transmission method and computer device
US11509946B1 (en) Methods and systems configured to manage video transcoder latencies
US20080115177A1 (en) Method and system for providing a file
KR101167652B1 (en) A server for providing directory services regarding internet broadcast, a client device using the services and a method thereof
JP2005121693A (en) Streaming delivery system and streaming delivery method
CN114666609A (en) Video data downloading method and device, electronic equipment and storage medium
KR100886836B1 (en) Method, server and system for streaming transcoding content stored in cache for video on demand service
KR20100059117A (en) Streaming system and cache server for distributed multimedia contents and method for streaming contents
KR102656804B1 (en) Edge caching system
KR101015098B1 (en) System and method for providing p2p based streaming service
JP2012043466A (en) Data distribution device, data distribution method, data receiver and data reception method
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