KR20040074805A - A method of providing streaming service and a system thereof - Google Patents

A method of providing streaming service and a system thereof Download PDF

Info

Publication number
KR20040074805A
KR20040074805A KR1020030010277A KR20030010277A KR20040074805A KR 20040074805 A KR20040074805 A KR 20040074805A KR 1020030010277 A KR1020030010277 A KR 1020030010277A KR 20030010277 A KR20030010277 A KR 20030010277A KR 20040074805 A KR20040074805 A KR 20040074805A
Authority
KR
South Korea
Prior art keywords
data
multimedia
playback
module
received
Prior art date
Application number
KR1020030010277A
Other languages
Korean (ko)
Inventor
문의선
Original Assignee
주.피어링포탈
정보통신연구진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주.피어링포탈, 정보통신연구진흥원 filed Critical 주.피어링포탈
Priority to KR1020030010277A priority Critical patent/KR20040074805A/en
Publication of KR20040074805A publication Critical patent/KR20040074805A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio

Landscapes

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

Abstract

PURPOSE: A method and a device for a streaming service are provided to reduce the load of a server and the traffics of a network by offering the needed data in real-time and using the stored data, not receiving the same data again, for the repetitive playback, while performing the playback even if all needed data is not received. CONSTITUTION: A playback program(31) transmits a command(40) for requesting a file of the multimedia data to a client module(30) or changing a playback position, and receives/plays the stream data(44) from the client module. A control module(32) makes the client module process the received command. If a separated command is not received from the playback program, the control module requests a transmitting/receiving module(35) to receive the data before a needed time by calculating an offset of the needed data. A multimedia data storage(34) functioning as a cache stores/provides the data if the playback program requests the data until the data is removed. The transmitting/receiving module receives a part of the data requested from the control module from the multimedia data to be played and stores the data in the multimedia data storage.

Description

스트리밍 서비스 방법 및 장치{A METHOD OF PROVIDING STREAMING SERVICE AND A SYSTEM THEREOF}Streaming service method and device {A METHOD OF PROVIDING STREAMING SERVICE AND A SYSTEM THEREOF}

본 발명은 동영상이나 음성과 같은 멀티미디어 데이터를 전자회로망을 통해수신하여 재생함에 있어서, 멀티미디어 데이터를 병렬로 수신하고 데이터 전체가 전송되기 전에 재생하도록 하며, 멀티미디어를 재생하는 도중에도 계속 데이터를 수신하는 방법 및 장치에 관한 것이다.The present invention is a method for receiving multimedia data such as video or voice through electronic circuits, and receiving the multimedia data in parallel and playing the data before the entire data is transmitted, and continuously receiving the data even during multimedia playback. And to an apparatus.

인터넷은 정보의 취득경로를 획기적으로 전환시킨 계기를 마련했다. 현재는 오프라인에서 구할 수 있는 모든 종류의 정보를 인터넷을 통해 검색할 수 있으며, 인터넷을 이용한 정보의 검색은 신속성과 편리성이란 장점으로 인해 점차 취득경로로써의 역할이 증가하고 있다. 인터넷과 더불어 정보의 유통경로를 개선시킨 주요 요인 중의 하나가 월드와이드웹(WWW)이다. 월드와이드웹을 이용하여 사용자들은 편리하고 직관적인 인터페이스를 통해 원하는 정보를 쉽고 빠르게 검색하게 되었다. 인터넷을 통해 유통되는 정보들은 초기에 텍스트 위주의 데이터가 주류를 이루었다. 과거에는 컴퓨터 기술과 통신 기술 등이 미비하여 대용량의 데이터를 저장하고 신속히 전송하기에 부족함이 있었기 때문에 크기가 작은 텍스트로 이루어진 데이터가 대부분을 차지했다. 그러나, 컴퓨터 기술과 통신 기술에 대한 한계가 점차 극복됨에 따라 인터넷을 통해 유통되고 있는 정보 중에 동영상이나 음성과 같은 멀티미디어 데이터가 점차 주류를 이루고 있다.The Internet has paved the way for a dramatic shift in the acquisition path. Currently, all kinds of information that can be obtained offline can be searched through the Internet, and the role of the acquisition path is gradually increasing due to the advantages of speed and convenience. Along with the Internet, one of the major factors that improved the distribution channel of information is the World Wide Web. Using the World Wide Web, users can easily and quickly search for the information they need through a convenient and intuitive interface. Information distributed over the Internet was mainly dominated by text-based data. In the past, due to the lack of computer technology and communication technology, there was a shortage of storing and transferring large amounts of data, and the data composed of small texts occupied most of the data. However, as the limitations on computer technology and communication technology are gradually overcome, multimedia data such as video and voice are becoming mainstream among information distributed through the Internet.

동영상이나 음성과 같은 멀티미디어 데이터는 일반적으로 텍스트 데이터에 비해 크기가 크다. 크기가 큰 데이터를 인터넷을 통해 전송하는 것은 크기가 작은 데이터를 전송하는 것에 비해 시간이 더 많이 필요로 하므로, 텍스트 데이터를 전송하는 것에 비해 멀티미디어 데이터를 전송하는 것이 훨씬 많은 시간을 소요한다. 이에 따라서, 멀티미디어 데이터를 인터넷을 통해 전송하고 수신한 데이터를 재생하기 위한 새로운 방법의 필요성이 대두된다.Multimedia data such as video and audio are generally larger than text data. Since transmitting large data over the Internet requires more time than transmitting small data, transmitting multimedia data takes much more time than transmitting text data. Accordingly, there is a need for a new method for transmitting multimedia data over the Internet and reproducing the received data.

인터넷을 통해 정보를 전송하는 가장 일반적인 방법은 다운로드 방식이다. 이것은 과거 텍스트 위주의 정보를 주로 전송하던 당시부터 널리 사용된 것으로써, 사용자가 인터넷 상에서 찾아낸 데이터 파일 전체를 자신의 컴퓨터에 저장한 다음에 이용하는 방식이다. 멀티미디어 데이터에 대해서도 다운로드 방식을 적용할 수 있고, 실제로도 스트리밍을 지원하지 않는 파일 포맷, 즉 AVI나 DIVX와 같은 포맷의 데이터를 스트리밍 서버를 사용하지 않고 서비스하는 경우에는 다운로드 방식을 사용할 수밖에 없다. 그러나, 이런 경우에 사용자는 데이터 파일 전체가 수신된 다음에야 멀티미디어를 재생할 수 있으므로 사용자는 데이터의 수신이 완료될 때까지 오랜 시간동안 기다려야 한다.The most common way to transfer information over the Internet is by downloading. This has been widely used since the time of transmission of text-based information in the past, and the user stores the entire data file found on the Internet on his computer and then uses it. The download method can be applied to multimedia data, and the download method can only be used to service data in a file format that does not support streaming, that is, a format such as AVI or DIVX without using a streaming server. In this case, however, the user can play the multimedia only after the entire data file has been received, so the user has to wait a long time until the reception of the data is completed.

멀티미디어 데이터는 다른 데이터에 비해 크기가 크다는 점 외에도 순차적이고 규칙적으로 데이터를 읽어 들여서 재생한다는 특징이 있다. 즉, 멀티미디어 데이터를 이동하여 음성이나 동영상을 재생함에 있어서 시간의 흐름에 따라 정해진 순서에 의해 재생하며, 재생되는 부분에 해당하는 데이터만 있으면 사용자가 멀티미디어를 이용하는데 아무런 문제가 없다. 이와 같은 특징으로 인해 멀티미디어 데이터를 구동하는 데에는 데이터 파일 전체가 저장되어 있을 필요가 없어진다. 즉, 1시간 분량의 동영상에 해당하는 대용량의 멀티미디어 데이터를 재생하기 위해 데이터 전체가 반드시 있어야만 하는 것이 아니라, 재생되고 있는 부분에 해당하는 데이터만 있으면 동영상을 재생할 수 있다.In addition to the larger size of the multimedia data than other data, the multimedia data is sequentially and regularly read and reproduced. That is, the multimedia data is played in a predetermined order according to the passage of time in moving the multimedia data and playing the voice or video, and there is no problem for the user to use the multimedia if only the data corresponding to the played part is provided. This feature eliminates the need to store the entire data file to drive multimedia data. That is, not all data must be present in order to reproduce a large amount of multimedia data corresponding to one hour of video, but only data corresponding to the portion being played can be played back.

이와 같은 특징으로 인해 멀티미디어 데이터의 전송과 구동을 위해스트리밍(streaming)이 고안되었다. 즉, 사용자가 전자회로망을 통해 멀티미디어 데이터를 재생하고자 하면, 서버로부터 데이터 수신을 시작하고, 정해진 크기의 버퍼에 데이터가 차면 재생을 시작하며, 재생을 하는 도중에 데이터를 소모하는 속도에 맞춰 실시간으로 서버로부터 데이터를 수신하여 재생이 중단되지 않도록 한다. 스트리밍의 기술적인 정의는 다음과 같다.Because of these features, streaming has been devised for the transmission and operation of multimedia data. That is, when a user wants to play multimedia data through an electronic network, the server starts receiving data from the server, starts playing when the data is filled in a buffer of a predetermined size, and the server in real time according to the speed of consuming data during playback. Receive data from the unit so that playback is not interrupted. The technical definition of streaming is as follows.

"스트리밍은 규칙적이고 지속적으로 처리되는 데이터를 전송하는 방법으로써, 스트리밍을 이용하여 원하는 데이터의 전체 파일이 전송이 완료되기 이전에 데이터를 처리하는 응용 프로그램이 데이터를 구동할 수 있다.""Streaming is a way to send data that is regularly and continuously processed, so that an application that processes data before streaming completes the entire file of the desired data using streaming can drive the data."

스트리밍 방식은 다운로드 방식과는 달리 멀티미디어 데이터 전체가 저장되지 않은 상태에서 필요한 부분의 데이터만을 실시간으로 수신하여 재생하므로 데이터의 전송 속도에 민감하다. 즉, 재생 프로그램이 데이터를 재생하는 속도보다 전송 속도가 느리면 음성이나 동화상의 재생이 끊어지는 현상이 발생한다. 따라서 다수의 사용자가 동시에 한 서버에 접속하는 경우에는 정상적인 서비스를 제공할 수 없고, 이를 피하기 위해서는 한 서버에 접속하는 사용자의 수를 엄격히 제한해야 한다. 멀티미디어를 재생하는 작업이 데이터의 전송속도에 크게 구애됨에 따라 높은 화질이나 음질을 제공하는 서비스가 힘들고, 특히 동영상의 경우에는 화면의 크기도 제한된다. 이는 화질이나 음질이 높아지거나 화면의 크기가 커질수록 단위 시간당 재생에 필요한 데이터의 양이 급격히 늘고, 결과적으로 고속의 데이터 전송이 필요하기 때문이다.Unlike the download method, the streaming method is sensitive to the data transmission speed because only the necessary data is received and reproduced in real time without the entire multimedia data stored. That is, when the transmission speed is slower than the rate at which the reproduction program reproduces data, the reproduction of audio or moving images occurs. Therefore, when multiple users access the same server at the same time, normal service cannot be provided. To avoid this, the number of users connecting to one server should be strictly limited. As the work of playing multimedia is highly dependent on the data transmission speed, it is difficult to provide a high quality or sound quality, and in particular, the size of the screen is limited. This is because as the image quality or sound quality increases or the screen size increases, the amount of data required for reproduction per unit time increases rapidly, and as a result, high-speed data transmission is required.

실시간으로 데이터를 전송하는 스트리밍 방식은 사용자의 컴퓨터에 멀티미디어 데이터를 저장하지 않으므로, 이미 재생한 부분을 반복해서 재생하기 위해서는 다시 서버로부터 데이터를 수신해야 하여, 결과적으로 서버는 이미 송신한 데이터를 다시 송신해야 하기 때문에 불필요한 부하가 발생한다.The streaming method that transmits data in real time does not store multimedia data on the user's computer. Therefore, in order to repeatedly play the part that has already been played, the data must be received from the server again. This creates an unnecessary load.

본 발명의 궁극적인 기술과제는 다운로드 방식과 스트리밍 방식의 단점을 보완하고 장점을 취하는 것으로써, 스트리밍 방식에서처럼 재생하고자 하는 멀티미디어 데이터의 전체가 전송되지 않은 상태에서도 재생이 가능하도록 하면서 재생에 필요한 데이터를 전송할 경우에는 실시간으로 제공하고, 다운로드 방식에서처럼 반복 재생을 하는 경우에는 같은 데이터를 재 수신하지 않고 저장된 데이터를 이용함으로써 서버의 부하와 전자회로망의 트래픽을 줄이는 것이다.The ultimate technical problem of the present invention is to compensate for the disadvantages of the download method and the streaming method, and take advantage of the data. In case of transmission, it is provided in real time, and in the case of repeated playback as in the download method, it is to reduce the load on the server and the traffic of the electronic network by using the stored data without receiving the same data again.

이를 위한 세부적인 기술과제로는 하나의 서버가 아닌 여러 데이터 제공자(data source)로부터 병렬로 수신함으로써 전송속도를 높이고 실시간성을 지원하며(병렬전송); 재생하고자 하는 데이터가 모두 전송되지 않은 상태에서도 멀티미디어를 재생하는 것이 가능하도록 재생에 필요한 부분의 데이터를 재생 프로그램에 제공하고(스트리밍 서비스); 멀티미디어 데이터가 재생되는 순서에 맞춰 필요한 부분을 미리 수신함으로써 전송속도에 따라 재생 품질이 저하되는 것을 방지하고(예측 전송); 반복 재생을 하고자 할 때에는 저장된 데이터를 이용하여 동일한 데이터가 반복하여 수신하지 않도록 하고(데이터 저장); 저장된 데이터가 다른 사용자에게 복제되어 무단으로 재생되지 않도록 하는(복제 방지) 기능을 제공하는 것이다.Detailed technical tasks for this purpose are to receive data in parallel from multiple data sources instead of one server to increase transmission speed and support real-time (parallel transmission); Providing a reproduction program with data of a portion necessary for reproduction so as to enable reproduction of multimedia even when all data to be reproduced is not transmitted (streaming service); Preventing the reproduction quality from being deteriorated in accordance with the transmission rate by receiving the necessary portion in advance in order of playing the multimedia data (predictive transmission); When repeating reproduction, the same data is not repeatedly received using the stored data (data storage); It provides a function to prevent the stored data from being copied to other users and being reproduced without any unauthorized copying.

도 1은 정보처리기의 구조도.1 is a structural diagram of an information processor.

도 2는 본 발명이 적용되는 물리적 환경에 대한 예시도.Figure 2 is an illustration of a physical environment to which the present invention is applied.

도 3은 서버에서 수행되는 기능 모듈의 블록도.3 is a block diagram of a functional module performed in a server.

도 4는 정보처리기에서 수행되는 기능 모듈의 블록도.4 is a block diagram of a functional module performed in an information processor.

도 5는 제어모듈이 재생 시작명령을 수신하였을 때의 작업 흐름도.5 is a flowchart of the operation when the control module receives the playback start command.

도 6은 제어모듈이 중지, 정지, 점프 등의 재생명령을 수신하였을 때의 작업 흐름도.6 is a flowchart illustrating the operation when the control module receives a playback command such as stop, stop, jump, and the like.

도 7은 제어모듈이 재생에 필요한 데이터 부분을 예측하는 작업 흐름도.7 is a flowchart of the operation in which the control module predicts a portion of data necessary for reproduction.

도 8은 송수신 모듈의 작업 흐름도.8 is a flow chart of the transmission and reception module.

도 9는 병렬전송의 예시도.9 is an exemplary diagram of parallel transmission.

도 10은 암호화에 의한 복제방지 기능의 예시도.10 is an exemplary view of a copy protection function by encryption.

본 발명은 디지털화 된 멀티미디어 데이터를 재생하는 기능을 가진 임의의 장치에 적용할 수 있으므로, 본 발명이 적용되는 하드웨어를 도 1과 같이 정의하고 이를 정보처리기라 칭한다.Since the present invention can be applied to any device having a function of reproducing digitized multimedia data, hardware to which the present invention is applied is defined as shown in FIG. 1 and is called an information processor.

도 2는 본 발명이 적용되는 물리적인 환경을 예시한 것이다. 서버와 각 정보처리기는 전자회로망을 통해 상호간의 데이터 통신을 하여 데이터를 요청하거나 수신할 수 있다. 이때 서버는 서비스하고자 하는 멀티미디어 데이터를 저장하고 있다가 사용자의 요청이 발생하면 전송하는 역할과 자신이 저장하고 있는 멀티미디어 데이터가 어떤 정보처리기에 저장되어 있는지에 대한 정보(위치정보)를 관리한다.2 illustrates a physical environment to which the present invention is applied. The server and each information processor may request or receive data by performing data communication with each other through an electronic network. At this time, the server stores the multimedia data to be serviced and manages the information (location information) on the role of transmitting when a user's request is generated and on which information processor the multimedia data stored in the server is stored.

서버에서 수행되는 기능 모듈을 도시한 것이 도 3이다. 서버는 크게 멀티미디어를 저장하는 장치(21)와 어떤 멀티미디어 데이터가 어느 정보처리기에 저장되어 있는지를 관리하고 있는 데이터베이스(22)와 서버에 대한 요청을 수신하고 그 결과를 송신하는 모듈(23)로 구성되어 있다. 정보처리기로부터 데이터 요청이 들어오면 요청된 멀티미디어 데이터를 전송하고, 특정 멀티미디어 데이터에 대한 위치정보를 요청 받으면 그에 대한 정보를 송신하는 기능을 담당한다. 본 발명은 하나의 서버가 재생하고자 하는 멀티미디어 데이터 전체에 대해 서비스를 하는 기존의 서비스 방식과는 달리 재생하고자 하는 데이터를 병렬로 전송하고, 멀티미디어 데이터를 재생하는 클라이언트 정보처리기는 재생에 필요한 부분을 수시로 요청하고 수신하므로, 정보처리기가 요청하고 수신하는 데이터의 단위가 파일이 아니라 파일의 특정 부분이 된다. 따라서, 정보처리기에 의해 요청되거나 전송될 때의 데이터라 함은 멀티미디어 데이터 파일의 특정 부분을 칭한다. 이때 정보처리기가 재생에 필요한 부분의 멀티미디어 데이터를 요청하고 수신할 때에는 해당 멀티미디어 데이터 파일의 세그먼트 식별자 혹은 파일에서의 물리적 오프셋을 이용한다. 본 발명에서 사용하는 위치정보 데이터베이스의 예로 다음과 같은 구조를 가진다.3 illustrates a functional module performed at the server. The server is largely composed of an apparatus 21 for storing multimedia, a database 22 for managing which multimedia data is stored in which information processor, and a module 23 for receiving a request for the server and transmitting a result thereof. It is. When the data request is received from the information processor, it transmits the requested multimedia data, and when the location information about the specific multimedia data is requested, it is responsible for transmitting the information about it. According to the present invention, unlike a conventional service method in which one server serves the entire multimedia data to be played, the data to be played in parallel is transmitted, and the client information processor for playing the multimedia data is frequently required to play the part. As it requests and receives, the unit of data requested and received by the information processor becomes a specific part of the file, not the file. Thus, data as requested or transmitted by the information processor refers to a particular portion of the multimedia data file. At this time, when the information processor requests and receives multimedia data of a part necessary for reproduction, the segment identifier of the corresponding multimedia data file or the physical offset in the file is used. An example of the location information database used in the present invention has the following structure.

<멀티미디어 파일 이름, 정보처리기1, 정보처리기2, ... , 정보처리기n><Multimedia file name, information processor 1, information processor 2, ..., information processor n>

만일 위치정보를 보다 세분화하여 멀티미디어 데이터 파일을 세그먼트 단위로 관리하는 경우에는 다음의 예와 같은 구조로 위치정보 데이터베이스가 구성될 수 있다.If the location information is further subdivided and the multimedia data file is managed in segments, the location information database may be configured in the following structure.

<멀티미디어 파일의 세그먼트, 정보처리기1, 정보처리기2, ... , 정보처리기n><Segment of multimedia file, information processor 1, information processor 2, ..., information processor n>

도 4는 본 발명이 제공하는 기능을 제공하기 위한 정보처리기 내에서의 기능별 모듈을 도시한 것이다. 재생 프로그램(31)은 윈도우 미디어 플레이어나 리얼플레이어와 같이 멀티미디어 데이터를 재생하는 응용 프로그램으로써 클라이언트 모듈(30)로 재생할 파일을 요청하거나 재생할 위치를 변경하는 등의 명령(40)을 전송하고, 클라이언트 모듈(30)로부터 스트림 데이터(44)를 수신하여 재생하는 기능을 수행한다. 도 4의 제어모듈(32)은 재생할 멀티미디어 데이터의 파일 이름이나 재생, 정지, 위치이동 등의 명령(40)을 받아서 클라이언트 모듈(30) 내에서 처리되도록 제어하는 역할을 담당한다. 재생 프로그램으로부터 별도의 명령이 없다면 재생에 필요한 데이터의 오프셋을 계산하여 필요한 시점이 되기 전에 수신될 수 있도록 송수신 모듈로 요청(41)한다. 제어모듈(32)이 수행하는 역할이 도 5와 도 6과 도 7에 도시되어 있다. 도 5는 재생 프로그램이 멀티미디어 데이터 재생을 시작하는 경우의 흐름도이고, 도 6은 재생 중에 사용자가 재생에 관련된 명령을 수행한 경우의 흐름도이고, 도 7은 재생 중에 향후 재생에 필요한 데이터 부분을 예측하여 수신토록 하는 기능에 대한 흐름도이다.Figure 4 shows a functional module in the information processor for providing a function provided by the present invention. The player program 31 is an application program for playing multimedia data such as a Windows media player or a real player. The player program 31 transmits a command 40 to the client module 30 to request a file to be played or to change a play position. A function of receiving and reproducing the stream data 44 from the 30 is performed. The control module 32 of FIG. 4 receives the command 40 of the multimedia data to be reproduced, plays, stops, moves the position, etc., and controls the processing in the client module 30. If there is no separate command from the reproduction program, an offset of data required for reproduction is calculated and requested to the transmission / reception module 41 so that it can be received before the required time point. The role played by the control module 32 is illustrated in FIGS. 5, 6 and 7. FIG. 5 is a flowchart when a playback program starts playing multimedia data, FIG. 6 is a flowchart when a user performs a command related to playback during playback, and FIG. 7 predicts a data portion required for future playback during playback. It is a flow chart of the function to make receiving.

도 4의 멀티미디어 데이터 저장장소(34)는 일종의 캐쉬(cache)와 같은 기능을 하여, 한번 요청된 데이터를 저장하여 축출되기 전까지 재생 프로그램에 의해 데이터가 요청되면 제공할 수 있도록 하는 역할을 수행한다. 저장장소의 크기는 가변적이거나 고정적일 수 있고, 저장되는 단위는 세그먼트 등의 데이터 단위이거나 파일 단위일 수 있고, 축출되는 시점도 적용하는 정책에 의해 결정되는 등 구현자 혹은 사용 분야의 요구사항에 따라 다르게 적용할 수 있다.The multimedia data storage 34 of FIG. 4 functions as a kind of cache, and serves to store the requested data once and to provide the data when requested by the playback program until it is evicted. The size of the storage location may be variable or fixed, and the unit to be stored may be a data unit such as a segment or a file unit, and is determined according to the requirements of the implementor or the field of use, such as determined by a policy that applies at the time of extraction. It can be applied differently.

도 4의 송수신 모듈(35)은 재생할 멀티미디어 데이터 중에서 제어모듈(32)에 의해 요청된 부분의 데이터를 수신하여 멀티미디어 데이터 저장장소(34)에 저장하는 기능을 수행한다. 이 기능은 도 8에 도시되어 있다. 제어모듈은 이를 위해 송수신 모듈로 재생중인 데이터 파일에 대한 물리적 위치(오프셋)에 대한 정보를 제공하고, 송수신 모듈은 이를 수신하기 위한 동작을 수행한다. 도 8에 나타난 흐름도에 따라, 제어모듈로부터 수신된 데이터 요청에 대해, 데이터 저장장소에 이미 저장된 것인지 혹은 지금 수신이 진행중인 것인지 파악하고, 새로 수신을 요청해야 하는 경우라면 위치정보를 이용하여 요청된 데이터를 가지고 있는 정보처리기들 혹은 서버로 하여금 전송을 시작하도록 요청하고, 데이터를 수신하면 이를 암호화하여 데이터 저장장소에 저장한다.The transmission / reception module 35 of FIG. 4 performs a function of receiving data of a portion requested by the control module 32 from the multimedia data to be reproduced and storing the data in the multimedia data storage 34. This function is shown in FIG. For this purpose, the control module provides information on the physical location (offset) of the data file being reproduced by the transmission / reception module, and the transmission / reception module performs an operation for receiving it. According to the flow chart shown in Figure 8, for the data request received from the control module, if it is already stored in the data storage or whether the reception is in progress, and if it is necessary to request a new reception, the requested data using the location information Request the information processor or server to start the transmission, and if it receives the data, encrypt it and store it in the data storage.

이때 수신할 데이터가 여러 정보처리기에 저장되어 있는 경우에는 이들 정보처리기의 전부 혹은 일부의 각각으로부터 병렬로 수신하며, 이에 대한 예가 도 9에 도시되어 있다. 이 예에서는 수신할 데이터가 3개의 정보처리기와 1개의 서버에 의해 병렬로 전송되는 경우의 예를 나타내고 있는데, 제어모듈이 요청한 데이터(51)가 4개의 블록으로 이루어져 있고 위치정보(52)는 이들 블록들이 3개의 정보처리기와 1개의 서버에서 전송될 수 있음을 나타내고 있다. 클라이언트는 3개의 정보처리기와 1개의 서버로부터 순차적으로 데이터를 수신하는 것이 아니라 4개의 통신채널을 동시에 열어서 병렬적으로 수신한다. 이때, 각각으로부터 전송되는 데이터는 서로 중첩되지 않도록 송수신 모듈에서 조정한다.In this case, when the data to be received are stored in several information processors, each of them is received in parallel from each or all of the information processors, and an example thereof is illustrated in FIG. 9. This example shows an example in which data to be received is transmitted in parallel by three information processors and one server. The data 51 requested by the control module is composed of four blocks, and the position information 52 includes these data. It is shown that blocks can be transmitted from three information processors and one server. The client does not receive data sequentially from three information processors and one server, but opens four communication channels in parallel and receives them in parallel. At this time, the data transmitted from each is adjusted in the transmission and reception module so as not to overlap each other.

도 4의 스트림 생성 모듈(33)은 재생 프로그램(31)이 재생하기 위해 필요로 하는 데이터를 멀티미디어 데이터 저장장소(34)로부터 읽어 들여서 재생 프로그램으로 제공하는 역할을 한다. 일반적으로 재생 프로그램은 재생하기 위해 필요한 데이터를 기억장치 내의 버퍼에 가져와서 재생을 하므로, 스트림 생성 모듈은 재생 프로그램이 필요로 하는 데이터를 재생 프로그램이 필요로 하는 속도에 맞춰서 버퍼를 채우는 역할을 수행한다. 송수신 모듈(35)에 의해 멀티미디어 데이터 저장장소에 데이터가 저장될 때에 암호화되어 저장되므로, 스트림 생성 모듈은 암호화된 데이터를 복호화한다. 암호화나 복호화 방법은 본 발명의 범위를 벗어나고, 암호화 방법이 공개되면 복제를 불법적으로 이용할 수 있는 방법도 공개되므로 본 발명에서는 암호화에 대한 자세한 설명은 생략한다.The stream generation module 33 of FIG. 4 serves to read data required for the reproduction program 31 from the multimedia data storage 34 to be supplied to the reproduction program. In general, since a playback program takes data necessary for playback into a buffer in the storage device and plays the data, the stream generation module fills the buffer at the speed required by the playback program. . Since the data is encrypted and stored when the data is stored in the multimedia data storage location by the transmission / reception module 35, the stream generation module decrypts the encrypted data. The encryption or decryption method is beyond the scope of the present invention, and if the encryption method is disclosed, a method for illegally using a copy is also disclosed, so detailed description of encryption is omitted in the present invention.

도 4의 기능모듈별 구성을 보면, 송수신 모듈(35)와 스트림 생성 모듈(33)은쌍을 이루어 동작함을 알 수 있다. 즉, 재생 프로그램이 재생하기 위해 필요로 하는 멀티미디어 데이터는 멀티미디어 데이터 저장장소(34)에 저장이 되는데, 데이터를 외부로부터 가져오는 역할은 오직 송수신 모듈이 담당하고, 스트림 생성 모듈은 저장된 데이터를 재생 프로그램(31)에 제공하는 역할을 한다. 송수신 모듈이 멀티미디어 데이터 저장장소에 데이터를 저장할 때에 같은 클라이언트 모듈에 속한 스트림 생성 모듈만 읽을 수 있는 형태로 저장함으로써 수신한 데이터를 다른 정보처리기로 복제하였을 때에 재생되지 않도록 한다. 도 10은 이와 같은 관계를 예시한다.Referring to the configuration of each functional module of FIG. 4, it can be seen that the transmission / reception module 35 and the stream generation module 33 operate in pairs. That is, the multimedia data required for the playback program to be stored is stored in the multimedia data storage 34, the role of bringing the data from the outside only the transmitting and receiving module, the stream generation module is to play the stored data It serves to provide to (31). When the transmitting / receiving module stores data in a multimedia data storage location, the transmitting / receiving module stores the data in a form that can be read only by the stream generation module belonging to the same client module so that the received data is not reproduced when the received data is copied to another information processor. 10 illustrates such a relationship.

멀티미디어 데이터를 재생하고자 하는 정보처리기의 클라이언트 모듈의 송수신 모듈은 서버로부터 위치정보를 파악하여 수신하고자 하는 데이터를 가지고 있는 정보처리기들의 리스트를 확인하고, 필요한 부분에 해당하는 데이터를 수신하기 위해 각 정보처리기 혹은 서버에 데이터를 요청하고, 각각으로부터 독립적으로 데이터를 병렬 수신한다. 이와 같은 병렬전송으로 인해 데이터의 전송에 소요되는 시간이 줄어든다. 예를 들어, 각 정보제공자로부터 2Mbps의 전송이 가능하다면, 5개의 정보제공자로부터 병렬로 수신하는 경우에 10Mbps의 전송효과가 발생한다. 이와 같은 병렬전송으로 인해 데이터 전송속도가 안정적이 된다. 즉, 하나의 정보제공자, 예를 들어 하나의 서버로부터 데이터를 수신하는 경우, 서버가 수행하는 다른 작업에 의한 부하의 발생으로 인해 전송속도가 일정하지 않고 불규칙하다. 그러나, 여러 정보제공자로부터 병렬로 전송하면 전체적인 전송속도의 편차가 줄어듦으로써 안정적인 전송이 가능하다. 또한 병렬전송은 한 데이터 요청에 대해 전체 파일을 하나의 정보제공자가 처리하는 것이 아니라 복수의 정보제공자가 나누어 처리하게 되므로 부하의 분산효과도 가져온다.The transmission / reception module of the client module of the information processor to reproduce the multimedia data checks the location information from the server, checks the list of information processors having the data to be received, and receives each information processor to receive the data corresponding to the required portion. Or request data from the server, and receive the data in parallel independently from each other. Such parallel transmission reduces the time required for data transmission. For example, if 2 Mbps can be transmitted from each information provider, a transmission effect of 10 Mbps occurs when received in parallel from five information providers. This parallel transmission makes the data transmission rate stable. That is, when data is received from one information provider, for example, one server, the transmission speed is not constant and irregular due to the generation of load by other tasks performed by the server. However, when transmitting in parallel from multiple information providers, the variation in the overall transmission rate is reduced, thereby enabling stable transmission. In addition, in parallel transmission, the entire file is not processed by one information provider for one data request, but is processed by a plurality of information providers. Therefore, load distribution is also effected.

또한, 본 발명은 정보제공자가 순차적으로 데이터를 전송하는 것이 아니라, 멀티미디어 데이터를 요구하는 클라이언트가 재생할 순서에 맞춰 물리적인 오프셋을 계산하여 데이터를 요청하고, 이렇게 수신된 데이터를 재생 프로그램에 순차적으로 제공함으로써 서버에 스트리밍 기능을 추가하지 않고도 자체적으로 스트리밍 서비스를 가능케 한다. 그 결과로 서버와 클라이언트 정보처리기간에 스트리밍 전송을 위한 프로토콜만을 사용할 수 있는 것이 아니라 구현하기 쉬운 일반 전송 프로토콜을 이용할 수 있다.Also, the present invention does not sequentially transmit data, but requests data by calculating a physical offset in accordance with the order in which a client requesting multimedia data plays, and sequentially providing the received data to a playback program. This enables the streaming service on its own without adding the streaming function to the server. As a result, not only protocols for streaming transmission can be used during server and client information processing, but also general transport protocols are easy to implement.

또한, 본 발명에서는 재생 프로그램이 멀티미디어 데이터를 재생하는데 사용하는 코덱(CODEC)을 이용하여 재생에 필요한 순서를 예측하고 물리적인 오프셋을 계산하여 데이터가 필요한 시점 이전에 미리 데이터를 수신하여 안정적인 재생이 가능케 한다.In addition, in the present invention, by using a codec used to play the multimedia data, the playback program predicts the order required for the playback, calculates the physical offset, and receives the data in advance before the data is needed to enable stable playback. do.

또한, 본 발명은 캐쉬(cache) 기능을 하는 저장 영역에 한번 수신한 데이터를 저장함으로써 반복재생이나 이미 재생된 부분으로 되돌아가는 경우에는 별도의 데이터 송수신이 발생하지 않도록 하고, 결과적으로는 데이터 수신에 필요한 재생 준비시간을 없애고 서버의 부하를 줄인다.In addition, the present invention stores the data once received in a storage area having a cache function, so that when data is repeatedly played back or replayed, a separate data transmission / reception does not occur. It eliminates the necessary replay preparation time and reduces the load on the server.

또한,본 발명에서는 암호화를 도입하여 데이터를 수신한 정보처리기에서만 재생이 가능하다.In addition, in the present invention, reproduction can be performed only in the information processor which receives data by introducing encryption.

Claims (1)

멀티미디어 데이터를 재생하기 위한 방법에 있어서,In the method for playing multimedia data, 멀티미디어 재생에 필요한 데이터를 예측하고 물리적인 오프셋을 계산하는 제 1 과정과;A first step of predicting data necessary for playing multimedia and calculating a physical offset; 예측된 오프셋을 이용하여 데이터를 요청하고 수신하는 제 2 과정과;Requesting and receiving data using the predicted offset; 수신한 데이터를 암호화하여 저장하는 제 3 과정과;A third process of encrypting and storing the received data; 저장된 데이터를 복호화하여 재생 프로그램에 제공하는 제 4 과정을 포함하는 것을 특징으로 하는 스트리밍 서비스 방법.And a fourth process of decoding the stored data and providing the same to the playback program.
KR1020030010277A 2003-02-19 2003-02-19 A method of providing streaming service and a system thereof KR20040074805A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030010277A KR20040074805A (en) 2003-02-19 2003-02-19 A method of providing streaming service and a system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030010277A KR20040074805A (en) 2003-02-19 2003-02-19 A method of providing streaming service and a system thereof

Publications (1)

Publication Number Publication Date
KR20040074805A true KR20040074805A (en) 2004-08-26

Family

ID=37361430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030010277A KR20040074805A (en) 2003-02-19 2003-02-19 A method of providing streaming service and a system thereof

Country Status (1)

Country Link
KR (1) KR20040074805A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100649717B1 (en) * 2004-12-27 2006-11-27 한국전자통신연구원 Statistical page prefetching system for performance enhancement in software streaming service and method thereof
KR100776802B1 (en) * 2005-12-08 2007-11-19 한국전자통신연구원 Prefetching providing method based on request sequence for software streaming service and software streaming system using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100649717B1 (en) * 2004-12-27 2006-11-27 한국전자통신연구원 Statistical page prefetching system for performance enhancement in software streaming service and method thereof
KR100776802B1 (en) * 2005-12-08 2007-11-19 한국전자통신연구원 Prefetching providing method based on request sequence for software streaming service and software streaming system using the same

Similar Documents

Publication Publication Date Title
US8850054B2 (en) Hypertext transfer protocol live streaming
US7039784B1 (en) Video distribution system using dynamic disk load balancing with variable sub-segmenting
US6925499B1 (en) Video distribution system using disk load balancing by file copying
US7143433B1 (en) Video distribution system using dynamic segmenting of video data files
CN100499801C (en) Method and system for remote real-time access of multimedia content
CN102611701B (en) Method for streaming multimedia data over a non-streaming protocol
US9301000B2 (en) Method for providing a content-sharing service, and a device therefor
US7246369B1 (en) Broadband video distribution system using segments
JP2007080161A (en) Data distribution system, partial content storing server, method and program for increasing response speed
US20090007196A1 (en) Method and apparatus for sharing media files among network nodes with respect to available bandwidths
US20020059499A1 (en) System and methods for performing last-element streaming
KR20090018634A (en) Advertising transfer and playback on portable devices
JP2006526215A (en) Content distribution network system based on streaming and file division, merge and playback method
US20030154246A1 (en) Server for storing files
KR20020057837A (en) Streaming service method and system
US11310550B2 (en) System and method for storing multimedia files using an archive file format
WO2004105307A1 (en) Method and device of data encryption
JP4637602B2 (en) Content distribution system, content distribution method, and program
KR100715143B1 (en) A streaming based contents distribution network system and methods for splitting, merging and playing files
JP2006203887A (en) Vod system and method of reconstructing same
KR100733247B1 (en) Systems and methods for selecting a provider
JP2004104704A (en) Video reproducing apparatus, video reproducing method, and program
KR20040074805A (en) A method of providing streaming service and a system thereof
KR20060122250A (en) Method of streaming service
US9229944B2 (en) Scalable networked digital video recordings via shard-based architecture

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid