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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/278—Content descriptor database or directory service for end-user access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23113—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing 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
Description
본 발명은 인터넷 방송 서비스에 관한 것으로, 보다 상세하게는 특정 방송과 사용자 간의 접속 상태를 실시간으로 제공하고 제공받을 수 있는 장치 및 방법에 관한 것이다.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
도 1에서 보면, 미국의 사용자(10)가 각각 캐나다 방송국(20) 및 한국 방송국(30)으로부터 인터넷 방송을 시청할 수 있다. 그런데, 지역적으로 미국과 인접한 캐나다와 연결된 경로 a가 지역적으로 미국과 먼 한국과 연결된 경로 b에 비하여 단거리이고, 작은 홉 수(hop count)를 갖는다. 따라서, 미국 사용자(10)는 한국 방송국(30)으로부터의 방송을 시청하는 것보다는 캐나다 방송국(20)으로부터의 방송을 시청하게 되면 더 짧은 지연(latency)으로 인하여 높은 품질을 보장받을 수 있다. Referring to FIG. 1, an
현재 이러한 라디오 혹은 텔레비전 방송들은 전세계적으로 실시간으로 전파되고 있으며, 다양한 인터넷 방송국들을 모아서 서비스를 제공하는 디렉토리 서비스가 성행하고 있다. 그런데, 이러한 디렉토리 서비스를 제공함에 있어서, 다양한 인터넷 방송국들을 모아서 디렉터리 서비스를 하는 경우 지역마다 다른 끊김 현상이 발생할 수 있다. 이런 현상의 원인은 여러 가지가 있을 수 있다. 단순히 경로의 거리가 멀어서 발생될 경우도 있고, 경로 중의 일부 라우터의 문제로 경로를 우회하여 발생될 경우도 있다. 또한, 사용자 측의 통신 업체(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
본 발명이 이루고자 하는 기술적 과제는, 재생 단말기가 원하고 있는 조건의 방송국을 검색해서 결과를 알려줄 때 해당 지역에서의 방송 끊김 정도를 수치화하여 표시해 주는 방법 및 장치를 제공하고자 하는 것이다. 이를 위하여, 방송 끊김 정도(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
스트리밍 디렉토리 서버(300)의 이러한 접속 상태에 관한 정보 수집은 각각의 지역별로 수행된다. 따라서, 서로 다른 네트워크 환경을 갖는 타 지역의 접속 상태에 관한 정보가 아니라, 자기 지역의 접속 상태에 관한 정보를 제공받기 때문 에, 클라이언트 기기는 특정 인터넷 방송 서버와 접속을 시도하기 전에도 원활한 인터넷 방송이 가능한지를 미리 확인할 수 있는 것이다.The collection of information about this connection state of the
도 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
인터넷 방송 서버(100)는 방송중인 비디오 신호로부터 비디오 스트림 또는 오디오 스트림을 생성하고, 생성된 스트림을 스티리밍 데이터로 변환하여 클라이언트 기기(200)에 제공한다. 이러한 인터넷 방송은, 뉴스, 게임, 영화, 음악 등 다양한 장르의 방송을 포함할 수 있다.The
클라이언트 기기(200)는 인터넷 방송 서버(100)로부터 제공되는 스트리밍 데이터를 수신한다. 상기 수신된 스트리밍 데이터는 클라이언트 기기(200) 내의 스트리밍 재생기(500)에 의하여 재생된다. 또한, 클라이언트 기기(200)는 사용자 인터페이스(400)를 통하여, 사용자로부터의 명령을 수신하거나 스트리밍 재생기(500)로부터의 재생 결과를 사용자에게 출력(디스플레이 또는 스피커 아웃)한다. 따라서, 사용자 인터페이스(400)는 사용자로부터 명령을 수신할 수 있는 키보드, 마우스, 터치 패드 등의 입력 수단과, 상기 재생 결과를 출력할 수 있는 모니터, 스피커 등의 출력 수단을 구비할 수 있다.The client device 200 receives streaming data provided from the
사용자 인터페이스(400)는 사용자로부터 수신된 명령을 바탕으로, play, stop, pause, resume, fast forward, fast rewind 등의 컨트롤(control)을 스트리밍 재생기(500)에 전달하고, 스트리밍 재생기(500)는 상기 컨트롤의 종류에 따라 해당 스트리밍 데이터의 재생을 제어한다. The
한편, 스트리밍 디렉토리 서버(300)는 클라이언트 기기(200)에 스트리밍 디렉토리 서비스를 제공한다. 스트리밍 디렉토리 서비스란, 클라이언트 기기(200)에 가용한 방송 채널을 제공하고 클라이언트 기기(200)로부터 특정 방송 채널 또는 특정 선호 조건을 수신하면, 해당되는 방송 채널의 연결에 관한 정보(채널 정보) 및 해당 방송 채널의 품질 정보(즉, 요청한 클라이언트 기기의 위치에서 해당 인터넷 방송 서버와 연결시의 통신 품질에 관한 정보)를 제공하는 서비스를 의미한다. 본 명세서에서는 상기 채널 정보 및 품질 정보를 일괄하여 채널-품질 정보라고 명명한다.Meanwhile, the
스트리밍 디렉토리 서버(300)가 제공하는 채널-품질 정보는 인터넷에 분포되어 있는 무수한 클라이언 기기(200)에서 제공하는 노드 정보를 바탕으로 한다. 상기 노드 정보란, 특정 클라이언트 기기(200)가 특정 인터넷 방송 서버(100)에 접속하였을 때의 상황, 즉 접속 상태를 포함하는 데이터로서, 실시간으로 스트리밍 디렉토리 서버(300)에 리포팅될 수 있다.The channel-quality information provided by the
도 4는 본 발명의 일실시예에 따른 인터넷 방송 서버(100)의 전체 구성을 나타낸 블록도이다. 4 is a block diagram showing the overall configuration of the
상기 도 4를 참조하면, 본 발명에 의한 인터넷 방송 서버(100)는 방송장비로부터 방송중인 비디오 신호(50)를 입력받아 인코딩하여 세션 설정된 사용자들 각각의 네트워크 상태에 따라 트랜스코딩 비트율을 가변하여 사용자 측으로 스트리밍 서비스를 제공한다. 인터넷 방송 서버(100)는 스트리밍 서비스되는 컨텐츠 정보 및 서비스 사용자 정보를 관리하며, 웹 기반으로 동작하여 서비스 요청한 사용자에게 해당 서비스를 받을 수 있는 IP 주소를 제공하는 서비스 브로커(150)와 연동한다. 또한, 인터넷 방송 서버(100)는 사용자가 상기 서비스 브로커(150)에 접속하여 소정의 컨텐츠에 대한 서비스를 요청하고 그 결과 제공된 IP 주소의 인터넷 방송 서버(100)에 세션 설정을 요청하여 설정된 세션을 통해 데이터를 스트리밍 받아 재생하는 클라이언트 기기(200)와도 연동한다. 인터넷 방송 장치(100), 서비스 브로커(150) 및 클라이언트 기기(200)는 예를 들어, 인터넷(160)으로 연결되어 있다. Referring to FIG. 4, the
상기 인터넷 방송 서버(100)는 또한, 생방송 비디오 스트림을 저장 관리하는 VOD 서버(170)를 더 구비할 수 있다. 인터넷 방송 서버(100)는 인코딩된 비디오 스트림을 상기 VOD 서버(170)로 캐싱할 수 있고, 생방송 컨텐츠 뿐만아니라 상기 VOD 서버(170)에 저장된 컨텐츠의 스트리밍 서비스를 수행할 수 있다.The
그리고, 상기 인터넷 방송 서버(100)는 방송장비로부터 비디오 신호(50)를 입력받아 소정의 동영상 표준에 의해 부호화하는 인코더(110)와, 상기 인코더(110)로부터 출력된 비디오 스트림을 상기 VOD 서버(170)로 캐싱하고, 상기 비디오 스트림을 입력받거나 VOD 서버(170)로부터 비디오 스트림을 불러들여 해당 클라이언트까지의 네트워크상태에 따른 코딩 조건으로 트랜스코딩 및 스트리밍 처리하는 다수의 트랜스코더(120)와, 상기 서비스브로커(160)를 통해 요청된 컨텐츠의 스트리밍 서비스를 수행할 트랜스코더(120)를 할당하여 관리하는 제어기 내지 메인 프로세서(130)와, 상기 다수의 트랜스코더(120)로부터 출력된 스트리밍 데이터를 해당 클라이언트로 전송시키는 송수신 모듈(140)를 포함하여 이루어진다.The
그리고, 상기 다수의 트랜스코더(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
도 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
사용자 인터페이스(400)는 스트리밍 재생기(500)로부터 채널-품질 정보를 수 신하여 사용자에게 제공한다. 사용자는 제공된 채널-품질 정보를 이용하여, 원하는 인터넷 방송 채널을 선택할 수 있다. 사용자 인터페이스(400)는 사용자로부터 선택된 인터넷 방송에 관한 컨트롤을 스트리밍 재생기(500)에 전달하고, 스트리밍 재생기(500)는 상기 컨트롤의 종류에 따라 해당 스트리밍 데이터의 재생을 제어한다. 결과적으로, 스트리밍 재생기(500)는 상기 선택된 방송 채널에 관한 재생 결과를 사용자 인터페이스(400)에 제공한다.The
송수신 모듈(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
스트리밍 재생기(500)는 다시, 입력 버퍼(510), 멀티미디어 디코더(520), 출력 버퍼(530), 상태 인디케이터(540), 상태 변수 수집부(550) 및 채널-품질 정보 저장부(560)를 포함하여 구성될 수 있다.The streaming player 500 again stores the
입력 버퍼(510)는 인터넷 방송 서버(100)로부터 수신된 스트리밍 데이터를 임시 저장하였다가 멀티미디어 디코더(520)의 요청에 의하여 제공한다.The
멀티미디어 디코더(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
상태 인디케이터(540)는 멀티미디어 디코더(520)와 연동하여, 현재 디코딩되는 스트리밍 데이터의 상태, 즉, 인터넷 방송의 재생 상태에 관한 정보를 감지한다. 통상, 멀티미디어 디코더(520)는 그 상태를 나타내는 다양한 상태 변수를 제공하는데, 상태 인디케이터(540)는 이러한 상태 변수를 실시간으로 감지한다. The
멀티미디어 디코더(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
상태 인디케이터(540)나 상태 변수 수집부(550)는 인터넷 방송을 수신하는 통상의 클라이언트 기기(200)에는 갖추어져 있지 않을 수 있다. 따라서, 만약 이러한 구성 모듈들이 구비되지 않은 경우에는 이를 스트리밍 디렉토리 서버(300)로부터 이러한 구성 모듈들을 구현하기 위한 소프트웨어를 다운로드 하도록 할 수 있다. 상기 소프트웨어는 플래시 스크립트(Flash script), 자바 가상 머신(Java Virtual Machine), 액티브 엑스(ActiveX) 등 클라이언트 기기(200)에 애드 온(add-on) 방식으로 설치될 수 있다.The
상기 클라이언트 기기(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
도 6 및 8은 본 발명의 일 실시예에 따른 스트리밍 디렉토리 서버(300)의 보다 자세한 구성을 도시하는 블록도들이다. 이 중에서 도 6은 클라이언트 기기(200)로부터 노드 정보를 수신한 스트리밍 디렉토리 서버(300)의 동작을 도시한다.6 and 8 are block diagrams illustrating a more detailed configuration of the
스트리밍 디렉토리 서버(300)는, 노드 정보 저장부(305), 송수신 모듈(350), 평가 지수 계산부(310), 주소 데이터베이스(320), 디렉토리 서비스 데이터베이스(330), 및 채널-품질 정보 생성부(340)를 포함하여 이루어질 수 있다.The
송수신 모듈(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
평가 지수 계산부(310)는 상기 노드 정보(특히, 노드 정보에 포함된 상태 변수)로부터 클라이언트 기기(200)가 속하는 지역과 인터넷 방송 서버(100)간의 접속 상태를 평가하는 평가 지수를 계산한다. 이러한 평가 지수는 단순히 인터넷 방송 서버(100)에 대한 것이 아니라, 클라이언트 기기(200)가 속하는 지역과 인터넷 방송 서버(100) 간의 조합 별로 계산된다.The
방송국 리스트 및 수신지역 리스트의 관계를 도시한 도 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
구체적으로, 평가 지수 계산부(310)는 다음과 같은 방식으로 평가 지수를 계산할 수 있다. 예를 들어, 서울에서 BBC 라디오를 청취하는 경우를 생각한다. 전술한 바와 같이, 상태 변수는 재생 시도, 재생 실패, 재생 성공, 재생중 끊김, 최종 재생 성공 등이 있는데 이러한 상태 변수는 다음의 표 1과 같이 카운트 값으로 정리될 수 있다.In detail, the
방송 : BBC Radio
Try to play: 1900 번
Fail to play: 10 번
Disconnected during play: 90번
Last Success to play: 2009-06-10 , 21:22.10.22Area: 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
이 경우, 평가 지수 계산부(310)는 다음의 수학식 1에 따라 평가 지수를 계산할 수 있다.In this case, the
여기서, 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.
여기서, 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,
주소 데이터베이스(320)는 노드 정보 저장부(305)로부터 IP 주소를 제공받아, 이를 상기 IP 주소에 대응되는 위치 정보로 변환한다. 상기 위치 정보는 예를 들어, 시, 도 등의 행정 구역 단위를 의미한다. 상기 변환된 위치 정보는, 노드 정보 저장부(305)로부터 제공되는 방송자 ID, 평가 지수 계산부(310)로부터 제공되는 평가 지수와 함께 디렉토리 서비스 DB(330)에 저장된다.The
채널-품질 정보 생성부(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
클라이언트 기기(200)가 스트리밍 디렉토리 서버(300)에 검색 요청 패킷을 송신하면, 송수신 모듈(350)은 이를 수신하여 채널-품질 정보 생성부(340)에 제공한다. 채널-품질 생성부(340)는, 주소 DB(320)를 참조하여, 검색 요청 패킷에 포함된 클라이언트 기기(200)의 IP 주소를 위치 정보로 변환한다.When the client device 200 transmits a search request packet to the
채널-품질 정보 생성부(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
도 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
다른 실시예로서, 채널-품질 정보는 상기 검색된 결과, 즉 방송자 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
지금까지 도 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)
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)
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 |
-
2009
- 2009-09-01 KR KR1020090082051A patent/KR101167652B1/en active IP Right Grant
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 |