KR100611099B1 - Apparatus for Managing Streamer Process for Media Streaming and Method Thereof - Google Patents
Apparatus for Managing Streamer Process for Media Streaming and Method Thereof Download PDFInfo
- Publication number
- KR100611099B1 KR100611099B1 KR1020030096851A KR20030096851A KR100611099B1 KR 100611099 B1 KR100611099 B1 KR 100611099B1 KR 1020030096851 A KR1020030096851 A KR 1020030096851A KR 20030096851 A KR20030096851 A KR 20030096851A KR 100611099 B1 KR100611099 B1 KR 100611099B1
- Authority
- KR
- South Korea
- Prior art keywords
- streamer
- media
- data
- media data
- streaming
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2383—Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION
본 발명은, 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및 그 방법에 관한 것임.The present invention relates to a streamer process management apparatus and method for streaming media in a next-generation Internet server.
2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention
본 발명은, 네트워크 자원의 전용 디바이스 특성을 반영하여 서비스 증가에 따른 프로세스, 쓰레드, 메모리 등의 컴퓨터 자원을 최적으로 이용하기 위한, 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및 그 방법을 제공하는데 그 목적이 있음.The present invention provides a streamer process management apparatus and method for streaming media in a next-generation Internet server for optimally utilizing computer resources such as processes, threads, and memory according to an increase in services by reflecting a device characteristic of a network resource. The purpose is to provide.
3. 발명의 해결방법의 요지3. Summary of Solution to Invention
본 발명은, 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치에 있어서, 미디어 스트림 전송 수단(스트리머 프로세스)을 생성하여 관리하고, 상기 미디어 스트림 전송 수단의 동작을 제어하는 메시지를 구성하여 전송하기 위한 스트리머 제어 수단; 상기 스트리머 제어 수단에서 생성한 관리 데이터를 저장하기 위한 자료 저장 수단; 및 시스템의 자원 상태를 파악하여 미디어 데이터를 외부의 저장 장치로부터 읽어 데이터의 비트율에 따라 미디어 스트림을 전송하기 위한 상기 미디어 스트림 전송 수단을 포함함.In the streamer process management apparatus for media streaming, the present invention provides a streamer for generating and managing a media stream transmission means (streamer process), and constructing and transmitting a message for controlling the operation of the media stream transmission means. Control means; Data storage means for storing management data generated by the streamer control means; And the media stream transmitting means for identifying the resource state of the system and reading the media data from an external storage device and transmitting the media stream according to the bit rate of the data.
4. 발명의 중요한 용도4. Important uses of the invention
본 발명은 비디오 데이터 전송 시스템 등에 이용됨.The present invention is used in a video data transmission system and the like.
차세대 인터넷 서버, 스트리머 프로세스, 스트리머 제어, 비트율, 미디어 스트리밍Next Generation Internet Servers, Streamer Processes, Streamer Control, Bit Rate, Media Streaming
Description
도 1은 본 발명이 적용되는 차세대 인터넷 서버 시스템 구성도와 클라이언트 환경의 일실시예 구성도.1 is a configuration diagram of a next generation Internet server system to which the present invention is applied and one embodiment of a client environment.
도 2는 본 발명에 따른 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치의 일실시예 구성도.2 is a configuration diagram of an embodiment of a streamer process management apparatus for media streaming in a next generation Internet server according to the present invention.
도 3은 상기 도 2의 스트리머 제어 프로세스의 일실시예 상세 구성도.3 is a detailed block diagram of one embodiment of the streamer control process of FIG.
도 4는 상기 도 2의 스트리머 프로세스의 일실시예 상세 구성도.4 is a detailed block diagram of one embodiment of the streamer process of FIG.
도 5는 본 발명에 따른 미디어 스트리밍을 위한 스트리머 프로세스 관리 방법을 위하여 스트리머 프로세서 관리 장치를 초기화하는 과정에 대한 일실시예 흐름도.5 is a flowchart illustrating a process of initializing a streamer processor management apparatus for a streamer process management method for media streaming according to the present invention.
도 6은 본 발명에 따른 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 방법을 설명하기 위한 일실시예 흐름도.6 is a flowchart illustrating a streamer process management method for media streaming in a next-generation Internet server according to the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
201 : 스트리머 제어 프로세스 201: Streamer Control Process
210 : 스트리머 제어 프로세스 자료 저장부210: streamer control process data storage
220 내지 223 : 스트리머 프로세스220 to 223: streamer process
310 : 스트리밍 제어 프로토콜 관리부 310: streaming control protocol management unit
320 : 스트리머 프로세스 관리부320: streamer process management unit
340 : 제어 명령어 분석기 341 : 제어 메시지 구성기340: Control Command Analyzer 341: Control Message Configurator
342 : 제어 메시지 송신기 410 : 제어 메시지 해석부342: control message transmitter 410: control message analysis unit
420 : 미디어 데이터 제어부 430 : 서비스 관리부420: media data control unit 430: service management unit
431 : 쓰레드 440 : 미디어 데이터 전송기431 Thread 440: Media Data Transmitter
441 : 미디어 데이터 관리기441: Media Data Manager
본 발명은 차세대 인터넷 서버 등에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 차세대 인터넷 서버 시스템 등과 같은 네트워크 스토리지(Network Storage)를 장착한 환경에서 미디어 데이터를 클라이언트에게 효율적으로 스트리밍하기 위한, 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및 그 방법에 관한 것이다.The present invention relates to a streamer process management apparatus and method for media streaming in a next-generation Internet server, and more particularly, to efficiently manage media data to a client in an environment equipped with a network storage such as a next-generation Internet server system. Streamer process management apparatus for media streaming, and a method thereof for streaming.
이하의 일예에서는 차세대 인터넷 서버를 예로 들어 설명하기로 한다.In the following example, a next generation Internet server will be described as an example.
일반적으로, 클라이언트 사용자에게 미디어 데이터를 스트리밍하기 위하여 컴퓨터 시스템을 네트워크에 연결하여 비디오 스트리밍을 서비스하는 경우에, 비디오 파일의 특성에 해당하는 고비트율 때문에 서비스 한계점에 도달할 때 서버 시스템에서 네트워크 병목현상이 일어나게 된다.In general, when a computer system is connected to a network to service video streaming to stream media data to a client user, network bottlenecks in the server system occur when the service limit is reached due to the high bit rate corresponding to the characteristics of the video file. Get up.
따라서, 이러한 문제를 해결하기 위하여 다수의 컴퓨터 시스템을 클러스터링하는 방법이 있다. 그러나, 상기와 같은 방법은 다수의 컴퓨터 시스템을 사용하기 때문에 비용이 매우 높고 관리가 어려운 문제점이 있다.Thus, there is a method of clustering multiple computer systems to solve this problem. However, such a method is very expensive and difficult to manage because it uses a large number of computer systems.
또한, 다수의 컴퓨터 서버에서 관리의 문제점과 네트워크 병목현상을 해결하기 위하여, 기존 컴퓨터 서버에 스트리밍을 전담하는 디바이스를 장착하는 방법이 있다. 이런 경우에 프로세서(CPU)의 부하는 전용 디바이스를 사용하지 않는 것보다 적게 된다. In addition, in order to solve management problems and network bottlenecks in a plurality of computer servers, there is a method of mounting a device dedicated to streaming in the existing computer server. In this case, the load on the processor (CPU) is less than without using dedicated devices.
그러나, 이와 같은 경우에도 클라이언트가 요구하는 서비스가 다양해지고 요구하는 서비스 수가 많아짐에 따라 컴퓨터 자원의 한계, 즉 지원할 수 있는 프로세스 수 혹은 쓰레드 수의 한계에 도달하게 되는 문제점이 있다.However, even in such a case, there is a problem that the limit of computer resources, that is, the limit of the number of processes or threads that can be supported, is reached as the services required by the clients are diversified and the number of services required are increased.
상기와 같은 문제점을 해결하기 위한 종래 기술이, 논문1[apagiannis, A. Lioupis, D. Egglezos, S., Design and implementation of a low-cost clustered video server using a network of personal computers, Multimedia Software Engineering, Proceedings. Fourth International Symposium on, Page: 363-368, 11-13 Dec. 2002], 논문2[Takahashi, J.;Tode, H.; Murakami, K. QoS enhancement methods for MPEG video transmission on the Internet, Computers and Communications, Proceedings. ISCC2002, Seventh International Symposium on, pp.106-113, 2002], 대한민국 공개특허 제2000-0041813호(네트웍을 통한 멀티미디어 스트리밍 방법) 및 대한민국 공개특허 제2002-0081519호(주문형 비디오 시스템에서 동영상의 스트리밍 방법)에 개시되어 있다.Conventional techniques for solving the above problems are described in paper 1 [apagiannis, A. Lioupis, D. Egglezos, S., Design and implementation of a low-cost clustered video server using a network of personal computers, Multimedia Software Engineering, Proceedings. Fourth International Symposium on, Page: 363-368, 11-13 Dec. 2002], Paper 2 [Takahashi, J .; Tode, H .; Murakami, K. QoS enhancement methods for MPEG video transmission on the Internet, Computers and Communications, Proceedings. ISCC2002, Seventh International Symposium on, pp. 106-113, 2002], Republic of Korea Patent Publication No. 2000-0041813 (Multimedia streaming method over a network) and Republic of Korea Patent Publication No. 2002-0081519 (Video streaming method in a video on demand system) ) Is disclosed.
상기 논문1에 개시된 기술은 비용과 성능 측면에서 비디오 서버를 지원하기 위하여 개인용 컴퓨터를 클러스터링하는 방법을 제시한다. 즉, 주문형 비디오(Video on Demand; VoD) 서비스의 제공에 있어, 개인용 컴퓨터를 클러스터링하고 각 시스템에 서버 응용을 수행시킴으로써 저비용, 고성능을 실현하고 있다.The technique disclosed in
상기 논문1에 개시된 기술은 저비용, 고성능을 실현할 수는 있으나, 다중 시스템 유지 관점에서 관리의 어려움이 있는 문제점이 있다.The technique disclosed in the
상기 논문2에 개시된 기술은 인터넷 환경에서 클라이언트 단에서 고화질을 보장하도록 멀티미디어 데이터를 서버단에서 구성하여 프레임을 제어하는 기술이다. 이 방법은 엠펙(MPEG) 코딩의 구조를 고려한 패킷화 방법과 함께 종단간 제어 구조를 위해 패킷 순서의 재배열을 적용하고 있다. 상기 논문 2에 개시된 기술은 멀티미디어 전송시 트래픽 혼잡, 패킷 손실에 대비하여 데이터의 패킷화 과정에서 이를 고려하여 처리함으로써, 패킷 손실이 있더라도 화질에 큰 영향을 주지 않는 효과를 가지고 있으며, 네트웍 트래픽 혼잡이 많은 환경에서 유리하다. The technique disclosed in the above paper 2 is a technique for controlling frames by configuring multimedia data at the server side to ensure high quality at the client end in an Internet environment. This method applies packet ordering considering the structure of MPEG coding and packet order rearrangement for the end-to-end control structure. The technique disclosed in the above paper 2 takes into consideration the process of packetization of data in preparation for traffic congestion and packet loss in multimedia transmission, so that even if there is a packet loss, it does not significantly affect the image quality. It is advantageous in many environments.
상기 특허 제2000-0041813호는 멀티미디어 스트리밍을 효과적으로 처리하기 위하여 동영상 데이터를 프레임 단위로 읽어 들여 스트림화하여 전송하는 스트리밍 방법을 개시하고 있다. 즉, 전송시 멀티미디어 데이터를 프레임 단위로 분할하여 패킷으로 구성하여 전송한 후, 수신단에서 패킷으로부터 단위 프레임을 추출하여 동기화처리하고, 버퍼관리를 통하여 연속적으로 스트림을 재생하는 기술을 개시하고 있다. 상기 특허 제2000-0041813호는 멀티미디어 데이터 자체를 처리하여 멀티미디어 전송 속도를 향상시킬 수 있다.Patent No. 2000-0041813 discloses a streaming method of reading and streaming video data in frame units to transmit multimedia streams in order to effectively process multimedia streaming. In other words, the present invention discloses a technique in which multimedia data is divided into frames, transmitted into packets, and then received at the receiving end to extract unit frames from the packets, synchronized, and continuously reproduced through buffer management. Patent No. 2000-0041813 can process multimedia data itself to improve multimedia transmission speed.
한편, 상기 특허 제2002-0081519호는 시간에 따라 변동하는 네트워크 대역폭에 관계없이 끊어짐 없는 안정적인 동영상을 서비스하기 위하여 동영상 파일을 네트워크 대역폭에 맞게 픽처 단위로 패킷화하여 스트리밍하고 있다. On the other hand, Patent No. 2002-0081519 packetizes and streams a video file in picture units according to the network bandwidth in order to service a stable video that is seamless regardless of network bandwidth fluctuating over time.
이와 같은 종래의 기술은 사용자에게 다양한 서비스 혹은 사용자 수의 증가에 따른 스트리밍 문제를 해결하기 위하여, 다수의 서버를 확보한다든지 현재의 서버 용량을 교체하는 방법과 네트워크 대역폭 특성을 위하여 멀티미디어 데이터 자체를 처리하고 있다. In order to solve streaming problems caused by various services or increase in the number of users, the conventional technology processes multimedia data itself in order to secure a plurality of servers or to replace the current server capacity and network bandwidth characteristics. Doing.
즉, 종래의 기술에서는 서버의 자원을 충분히 고려하지 않고, 네트워크 자원이 충분하더라도 비록 프로세서 자원이 부족하게 되면 전체 서버를 교체한다든지 혹은 네트워크 자원이 부족하게 되면 새로운 서버를 더하는 방법으로 해결하고 있다. 또한, 서버의 부족한 용량을 해결하기 위한 방법으로서 전송하고자 하는 멀티미디어 데이터 자체를 최적으로 스트림하기 위한 자료 구조로 변환하는 방법 등을 제시하고 있다. That is, in the related art, without considering the resources of the server sufficiently, even if the network resources are sufficient, the solution is solved by replacing the entire server when the processor resources are insufficient or adding a new server when the network resources are insufficient. In addition, a method of converting the multimedia data itself to be streamed into a data structure for optimal stream is proposed as a method for solving the insufficient capacity of the server.
그러나, 상기와 같은 종래의 기술은 고비트율로 인한 네트워크의 병목현상과 같은 문제점을 간접적으로 해결하려고 하기 때문에, 스트림 서버의 컴퓨터 자원 자체를 최적으로 이용하지 못하는 문제점이 있다.However, the prior art as described above indirectly tries to solve a problem such as a bottleneck of a network due to a high bit rate, and thus there is a problem in that the computer resources of the stream server are not optimally used.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 네트워크 자원의 전용 디바이스 특성을 반영하여 서비스 증가에 따른 프로세스, 쓰레드, 메모리 등의 컴퓨터 자원을 최적으로 이용하기 위한, 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및 그 방법 제공하는데 그 목적이 있다.
The present invention has been proposed to solve the above problems, and reflects the device characteristics of the network resources to optimize the use of computer resources such as processes, threads, and memory according to the increase of services. An object of the present invention is to provide a trimmer process management apparatus and a method thereof.
상기 목적을 달성하기 위한 본 발명의 장치는, 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치에 있어서, 미디어 스트림 전송 수단(스트리머 프로세스)을 생성하여 관리하고, 상기 미디어 스트림 전송 수단의 동작을 제어하는 메시지를 구성하여 전송하기 위한 스트리머 제어 수단; 상기 스트리머 제어 수단에서 생성한 관리 데이터를 저장하기 위한 자료 저장 수단; 및 시스템의 자원 상태를 파악하여 미디어 데이터를 외부의 저장 장치로부터 읽어 데이터의 비트율에 따라 미디어 스트림을 전송하기 위한 상기 미디어 스트림 전송 수단을 포함하는 것을 특징으로 한다.An apparatus of the present invention for achieving the above object is a streamer process management apparatus for media streaming, the message for generating and managing a media stream transmission means (streamer process), and controls the operation of the media stream transmission means; Streamer control means for constructing and transmitting; Data storage means for storing management data generated by the streamer control means; And the media stream transmitting means for identifying the resource state of the system and reading the media data from an external storage device and transmitting the media stream according to the bit rate of the data.
한편, 본 발명의 방법은, 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치에 적용되는 스트리머 프로세스 관리 방법에 있어서, 클라이언트로부터 스트림 서비스에 대한 요구를 수신하는 스트림 서비스 요구 수신 단계; 상기 클라이언트의 요청에 대하여 명령을 분석하고 세션 연결 상태를 파악하는 명령 분석 단계; 스트리머 제어 프로세스가 상기 명령을 메시지화하여, 스트리머 프로세스에 송신하는 명령 메시지화 단계; 및 상기 스트리머 프로세스가 전달받은 메시지를 해석하여 해당 명령에 따라 미디어 데이터를 관리하고 해당 미디어 데이터를 비트율에 따라 상기 클라이언트로 전송하는 미디어 데이터 전송 단계를 포함하는 것을 특징으로 한다.On the other hand, the method of the present invention, a streamer process management method applied to the streamer process management apparatus for media streaming, the stream service request receiving step of receiving a request for a stream service from a client; A command analysis step of analyzing a command with respect to the request of the client and determining a session connection state; A command messaging step wherein the streamer control process messages the command and sends it to the streamer process; And a media data transmission step of interpreting the message received by the streamer process, managing media data according to a corresponding command, and transmitting the media data to the client according to a bit rate.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 즉, 본 발명과 관련된 공지 기술로서, RTSP(Real Time Streaming Protocol) 및 유닉스 또는 리눅스를 이용한 프로그래밍 기술 등이 있으며, 이에 대한 구체적인 내용은 당업자에게 주지되어 있는 바, 본 발명의 실시예들을 설명함에 있어서 이러한 공지 기술에 대한 구체적인 설명은 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same components have the same number as much as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. That is, known technologies related to the present invention include Real Time Streaming Protocol (RTSP) and programming technology using Unix or Linux, and specific details thereof are well known to those skilled in the art. Detailed description of the known technology will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명이 적용되는 차세대 인터넷 서버 시스템의 일실시예 구성도이다.1 is a configuration diagram of an embodiment of a next generation Internet server system to which the present invention is applied.
도면에 도시된 바와 같이, 본 발명이 적용되는 차세대 인터넷 서버 시스템은, 본 발명의 스트리머 프로세스 관리를 수행하는 프로세서(101), 스트리머 프로세스가 수행하기 위하여 적재되는 메인 메모리(104), 및 스트리머 프로세스가 스트림 데이터를 읽어 전송을 처리하는 하드웨어인 네트워크-스토리지 디바이스(120 내지 123)를 포함한다. 그리고, 스트림 데이터를 저장하고 있는 디스크(124 내지 127) 및 물리적인 전송을 담당하는 기가비트 네트워크(128 내지 131)를 포함한다.As shown in the figure, the next generation Internet server system to which the present invention is applied includes a
스트림 데이터의 흐름을 보면, 클라이언트(110 내지 110+N)가 스트림 데이터를 요청하면, 본 발명의 스트리머 프로세스(101)가 디스크(124 내지 127)로부터 읽은 데이터를 메모리(132 내지 135)에 적재한 후, 전송 속도에 맞게 기가비트 네트 워크(128 내지 131)와 기가비트 이더넷 스위치(140)를 통하여 해당 클라이언트로 전송한다.In the flow of stream data, when the
일반적으로, 클라이언트가 요청하는 서비스가 많거나 고비트율의 스트림 데이터를 요청하게 되면, 프로세서(101)에서 병목현상이 일어나거나 네트워크(128 내지 131)에서 병목현상이 일어나게 된다. In general, when a client requests a lot of services or requests stream data of a high bit rate, a bottleneck occurs in the
전자의 경우에는 서버에 전용 디바이스를 탑재함으로써 프로세서의 처리 부담을 많이 줄일 수 있다. 여기서, 프로세서의 처리 부담을 줄일 수 있으므로 더 많은 서비스 요청을 처리할 수 있다. 그러나, 이 경우에는 스트림을 처리하는 프로세스 혹은 쓰레드 자원이 부족할 수 있다. 따라서, 이러한 자원을 파악하여 관리하는 스트리머 프로세스 관리 장치가 필요하다.In the former case, a dedicated device can be installed in a server, thereby greatly reducing the processing burden on the processor. Here, the processing burden of the processor can be reduced, so that more service requests can be processed. However, in this case, you may run out of process or thread resources to process the stream. Therefore, there is a need for a streamer process management apparatus for identifying and managing such resources.
도 2는 본 발명에 따른 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치의 일실시예 구성도이다.2 is a block diagram of an embodiment of a streamer process management apparatus for media streaming in a next generation Internet server according to the present invention.
도면에 도시된 바와 같이, 본 발명에 따른 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치(200)는, 스트리머 제어 프로세스(201), 스트리머 프로세스(220 내지 223) 및 스트리머 제어 프로세스 자료 저장부(210)를 포함한다. 본 발명의 설명에서는 편의상 4개의 스트리머 프로세스(220 내지 223)를 예로 들어 설명하지만, 그 개수의 차이는 중요하지 않다 할 것이다.As shown in the figure, the streamer
상기 스트리머 제어 프로세스(201)는 미디어 스트리밍을 위한 네트워크-스토리지 디바이스(120 내지 123)를 담당하는 스트리머 프로세스(220 내지 223)를 각각 생성하고 맵핑한 후, 상호 메시지를 통하여 필요한 정보를 교환(250 내지 253)한다. 여기서, 프로세스를 생성하고 맵핑하는 과정은 유닉스 또는 리눅스를 이용한 프로그램으로 용이하게 구현할 수 있으며, 이는 당업자에게 자명한 공지 기술이므로 그 구체적인 과정에 대한 설명은 생략하기로 한다.The
클라이언트(110)가 서비스를 요청하면, 상기 스트리머 제어 프로세스(201)는 서비스 요청에 대한 관리 데이터로서 세션 정보 등을 상기 스트리머 제어 프로세스 자료 저장부(210)에 저장한다. 스트림 전송에 필요한 명령인 경우, 상기 스트리머 제어 프로세스(201)는 메시지로서 상기 스트리머 프로세스(220 내지 223))에게 이를 전달한다. 상기 스트리머 프로세스(220 내지 223)는 쓰레드(Thread)로 하여금 네트워크-스토리지 디바이스(120 내지 123)를 이용하여 클라이언트에게 스트림을 전송하도록 한다. When the
이를 기능별로 설명하면 다음과 같다.If this is explained by function, it is as follows.
상기 스트리머 제어 프로세스(201)는 스트림 처리를 담당하는 스트리머 프로세스(220 내지 223)를 생성하여 관리하는 기능을 담당하고, 또한 상기 스트리머 프로세스(220 내지 223)의 동작을 제어하는 메시지를 구성하고 전송하는 기능을 담당한다. 이를 도 3을 참조하여 상세히 설명하면 다음과 같다.The
도 3은 상기 도 2의 스트리머 제어 프로세스의 일실시예 상세 구성도이다.3 is a detailed block diagram of an embodiment of the streamer control process of FIG. 2.
도면에 도시된 바와 같이, 본 발명에 따른 스트리머 제어 프로세스는 스트리밍 제어 프로토콜 관리부(310)와 스트리머 프로세스 관리부(320)를 포함한다.As shown in the figure, the streamer control process according to the present invention includes a streaming
그리고, 상기 스트리밍 제어 프로토콜 관리부(310)는 클라이언트(110)로부터 전송되는 스트림 조작에 관한 명령 혹은 세션 관련 명령을 해석하는 제어 명령어 분석기(340), 스트리머 프로세스를 제어하게 될 명령어를 메시지화하는 제어 메시지 구성기(341) 및 상기 제어 메시지 구성기(341)에서 구성한 메시지를 상기 스트리머 프로세스(220 내지 223)에 전달(350)하는 제어 메시지 송신기(342)를 포함한다. 여기서, 상기 메지지화 및 후술하는 메시지 해석 등과 관련한 기술은 IETF의 "Real Time Streaming Protocol(RTSP)"의 표준 규격을 이용할 수 있다. RTSP는 온디맨드(On Demand) 형식으로 리얼타임 미디어 전송을 행하는 애플리케이션(application) 계층의 프로토콜이며, 인터넷상에서 스트리밍 데이터를 제어하는 방법에 대한 표준안으로서 본 발명의 기술 분야인 스트리밍 기술 분야에서 널리 사용되는 공지 기술이다. 따라서, RTSP 프로토콜을 이해하는 당업자라면 본원 발명에서 사용한 메시지화 및 메시지 해석 등과 관련한 구성을 본 명세서에 기술된 내용에 기반하여 용이하게 이해하고 구현할 수 있음은 자명하다 할 것이므로, RTSP를 이용하여 메지화하고 이를 해석하는 더욱 구체적인 설명은 생략하기로 한다.In addition, the streaming
한편, 상기 스트리머 프로세스 관리부(320)는 네트워크-스토리지 디바이스(120 내지 123)를 이용하여 실제로 스트림을 읽고 전송하는 스트리머 프로세스(220 내지 223)를 생성하고, 이를 상기 네트워크-스토리지 디바이스(120 내지 123)에 매핑하여 관리(360)하는 기능을 담당한다.Meanwhile, the
도 4는 상기 도 2의 스트리머 프로세스의 일실시예 상세 구성도이다.4 is a detailed block diagram of an embodiment of the streamer process of FIG. 2.
도면에 도시된 바와 같이, 본 발명의 스트리머 프로세스는 제어 메시지 해석부(410), 미디어 데이터 제어부(420) 및 서비스 관리부(430)를 포함한다. As shown in the figure, the streamer process of the present invention includes a
상기 제어 메시지 해석부(410)는 상기 도 3에서 설명한 상기 제어 메시지 송신기(342)가 전송한 메시지를 해석하는 기능을 담당한다. 이 메시지는 상기 미디어 데이터 제어부(420)를 통하여 명령어로 변환되어 미디어 데이터의 처리를 제어한다. The
상기 서비스 관리부(430)는 스트림 서버의 자원을 파악하고, 클라이언트(110)의 서비스 요청에 대하여 미디어 데이터를 직접 처리하는 쓰레드(431)를 생성하여 운용하는 기능을 담당한다.The
상기 쓰레드(431)는 미디어 데이터 전송기(440) 및 미디어 데이터 관리기(441)를 포함한다. 상기 미디어 데이터 관리기(441)는 상기 제어 메시지 해석부(410)를 통하여 해석된 명령어에 따라 네트워크-스토리지 디바이스(120 내지 123)와 연결된 디스크의 스트림 데이터를 메모리(132 내지 135)에 적재한다. 이렇게 적재된 스트림 데이터는 미리 파악된 스트림 데이터의 비트율에 따라 미디어 데이터 전송기(440)에 의하여 전송된다.The
즉, 상기 미디어 데이터 관리기(441)는 시스템의 메모리 자원 상태를 파악하고, 클라이언트가 요청한 미디어 데이터 특성에 해당하는 비트율에 비례하여 디스크에 저장된 스트림 데이터를 상기 메모리에 효율적으로 적재한다. 그리고, 상기 미디어 데이터 전송기(440)는 상기 미디어 데이터 관리기(441)에서 적재한 미디어 데이터를 비트율에 비례하여 현재의 네트워크 대역폭 자원을 확보하여 클라이언트에게 전송한다.That is, the
도 5는 본 발명에 따른 미디어 스트리밍을 위한 스트리머 프로세스 관리 방법을 위하여 스트리머 프로세서 관리 장치를 초기화하는 과정에 대한 일실시예 흐름도로서, 상기 도 2의 네트워크-스토리지 디바이스(120 내지 123)와 맵핑 관계가 있다. FIG. 5 is a flowchart illustrating a process of initializing a streamer processor management apparatus for a streamer process management method for media streaming according to the present invention, and mapping with the network-
먼저, 클라이언트로부터의 서비스 요청 전에, 스트리머 프로세서 관리 장치(200)를 초기화하고(501), 상기 스트리머 제어 프로세스(201)가 네트워크-스토리지 디바이스(120 내지 123)에 대응하는 스트리머 프로세스(220 내지 223)를 생성하여(502), 해당 네트워크-스토리지 디바이스(120 내지 123)에 맵핑함으로써(503) 초기화를 수행한다.First, before the service request from the client, the streamer
상기 스트리머 프로세스 관리부(320)는 이렇게 맵핑된 프로세스를 종료시까지 관리한다.The
도 6은 본 발명에 따른 차세대 인터넷 서버에서 미디어 스트리밍을 위한 스트리머 프로세스 관리 방법을 설명하기 위한 일실시예 흐름도로서, 클라이언트가 스트림 서버에 접속할 때부터 서비스 종료까지의 흐름을 나타내고 있다. FIG. 6 is a flowchart illustrating a streamer process management method for media streaming in a next-generation Internet server according to the present invention, and illustrates a flow from when a client accesses a stream server to service termination.
우선, 클라이언트(110)가 인터넷(150)을 통하여 스트리머 프로세스 관리 장치(200)에 접속하여 스트림 서비스를 요구함으로써(601), 상기 스트리머 프로세스 관리 장치(200)가 요청한 서비스를 처리하기 시작한다.First, the
상기 스트리머 제어 프로세스(201)가 수신한 클라이언트 요청에 대하여 명령을 분석하고 세션 연결 상태를 파악한다(602). 세션 정보에 대해서는 관리 데이터로서 저장한다(603).The
클라이언트(110)로부터의 명령어는 플레이어 상에서의 스트림 시작, 조작, 종료가 대부분이며, 이들 명령어는 실제로 스트리밍을 실시하는 상기 스트리밍 프로세스(220 내지 223)에게 전달(250 내지 253)되어야 한다. Instructions from
따라서, 상기 스트리머 제어 프로세스(201)는 상기의 명령어를 메시지화하여(604), 시스템에서 제공하는 프로세스간 통신 기능을 이용하여 상기 스트리머 프로세스(220 내지 223)에게 송신한다(605).Accordingly, the
이후, 상기 스트리머 프로세스(220 내지 223)는 상기 스트리머 제어 프로세스(220)로부터 전송받은 메시지를 다시 해석하여(606), 명령어에 따라 스트리밍을 제어하게 된다. Thereafter, the streamer processes 220 to 223 interpret the message received from the
메시지 해석 후, 클라이언트와 연결 세션이 존재하면(607) 명령에 따라 미디어 데이터를 관리하고, 이 데이터의 전송을 제어한다(611). 한편, 클라이언트와의 연결 세션이 없으면(607) 스트림을 담당할 쓰레드를 생성해야 한다(610). After the message is interpreted, if there is a connection session with the client (607), the media data is managed according to the command and the transmission of the data is controlled (611). On the other hand, if there is no connection session with the client (607), it is necessary to create a thread to handle the stream (610).
이때, 서버의 자원 및 네트워크 자원의 가용에 따라 쓰레드의 생성을 통제할 수 있다(608, 609). 쓰레드의 생성에 대해서는 요구시 생성할 수 있고, 쓰레드 풀을 도입하여 관리할 수 있다.In this case, the generation of the thread may be controlled according to the availability of server resources and network resources (608 and 609). Thread creation can be created on demand, and a thread pool can be introduced and managed.
실제 스트리밍을 담당하는 쓰레드(431)는 디스크(124 내지 127)에 저장된 미디어 데이터를 스트림 전용 메모리(132 내지 135)에 저장한다. 저장된 데이터는 미디어 특성에 따라 그리고 전송에 요구되는 비트율에 따라 장착된 네트워크 포트(128 내지 131)를 통하여 전송된다(611).The
이후, 스트리밍 쓰레드가 미디어 데이터를 모두 전송하면(612), 상기 스트리머 프로세스(220)는 미디어 서비스에 할당된 모든 자원을 반환하고(613) 클라이언트의 서비스를 종료한다(614). Thereafter, when the streaming thread transmits all the media data (612), the
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.
상기한 바와 같은 본 발명은, 네트워크 자원의 전용 디바이스 특성을 반영함으로써, 차세대 인터넷 서버 등에서의 프로세서 능력 혹은 프로세서 자원의 부족, 또는 네트워크 자원 등의 부족으로 인하여 서버를 교체하거나 확장해야 하는 부담을 어느 정도 줄일 수 있는 효과가 있다. As described above, the present invention reflects a device characteristic of a network resource, and thus, to some extent, the burden of replacing or expanding a server due to lack of processor capacity or processor resource or lack of network resource in a next-generation Internet server, etc. There is an effect that can be reduced.
또한, 본 발명은 향후 클라이언트가 요청하는 서비스 수가 증가하더라도 미디어 데이터가 가지는 비트율, 네트워크 대역폭과 같은 특성을 반영하고 이를 제어함으로써, 서버의 허용 자원 내에서 최적으로 미디어 스트림을 서비스할 수 있는 효과가 있다. In addition, the present invention reflects and controls characteristics such as bit rate and network bandwidth of media data even if the number of services requested by a client increases in the future, thereby effectively serving a media stream within an allowed resource of a server. .
나아가, 본 발명은, 기존의 방식, 즉 멀티미디어 데이터 자체의 조작, 다중의 스트림 서버 지원을 위한 클러스터링 방법과 병행하여 사용할 경우에 스트림 서버의 성능을 더욱 향상시킬 수 있는 효과가 있다.Furthermore, the present invention has the effect of further improving the performance of the stream server when used in parallel with the existing method, that is, the operation of the multimedia data itself and the clustering method for supporting multiple stream servers.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030096851A KR100611099B1 (en) | 2003-12-24 | 2003-12-24 | Apparatus for Managing Streamer Process for Media Streaming and Method Thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030096851A KR100611099B1 (en) | 2003-12-24 | 2003-12-24 | Apparatus for Managing Streamer Process for Media Streaming and Method Thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050065087A KR20050065087A (en) | 2005-06-29 |
KR100611099B1 true KR100611099B1 (en) | 2006-08-09 |
Family
ID=37256628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030096851A KR100611099B1 (en) | 2003-12-24 | 2003-12-24 | Apparatus for Managing Streamer Process for Media Streaming and Method Thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100611099B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7808385B2 (en) | 2005-10-21 | 2010-10-05 | Patent Category Corp. | Interactive clothing system |
KR100779362B1 (en) * | 2006-08-21 | 2007-11-23 | 김도형 | Home media center |
US20080288989A1 (en) * | 2007-05-14 | 2008-11-20 | Zheng Yu Brian | System, Methods and Apparatus for Video Communications |
CN109753354B (en) * | 2018-11-26 | 2024-07-05 | 平安科技(深圳)有限公司 | Processing method and device for streaming media task based on multithreading and computer equipment |
-
2003
- 2003-12-24 KR KR1020030096851A patent/KR100611099B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050065087A (en) | 2005-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3446461B1 (en) | Just in time transcoding and packaging in ipv6 networks | |
US10523732B2 (en) | Multi-CDN digital content streaming | |
US20030126277A1 (en) | Apparatus and method for providing multimedia streaming service by using point-to-point connection | |
US8804508B1 (en) | Method and apparatus for using a network appliance to manage media communications | |
US9300734B2 (en) | Multi-CDN digital content streaming | |
US20200177660A1 (en) | Offload of streaming protocol packet formation | |
US9788077B1 (en) | Rendition switching | |
US8356109B2 (en) | Network streaming of a video stream over multiple communication channels | |
US10327040B1 (en) | Forward error correction for low latency streaming | |
WO2015196590A1 (en) | Method and apparatus for playing desktop cloud video | |
Gama et al. | Towards a multi-tier fog/cloud architecture for video streaming | |
US11146834B1 (en) | Server-based encoded version selection | |
Wang et al. | A lightweight edge computing platform integration video services | |
Lau et al. | Pay-as-you-use on-demand cloud service: An IPTV case | |
CN106686635B (en) | Data transmission method and device based on control and configuration protocol of wireless access point | |
US20220256213A1 (en) | Systems, methods, and devices for network control | |
KR100611099B1 (en) | Apparatus for Managing Streamer Process for Media Streaming and Method Thereof | |
US10609111B2 (en) | Client-driven, ABR flow rate shaping | |
Quadrini | Performance evaluation of a QUIC-based proxy architecture over a hybrid satellite-terrestrial backhaul network | |
US20210154576A1 (en) | Vector graphics-based live streaming of video games | |
US20220167023A1 (en) | Information processing apparatus, information processing method, and program | |
Hafid et al. | An approach to quality of service management for distributed multimedia applications | |
Qazzaz et al. | Providing interactive video on demand services in distributed architecture | |
KR101970894B1 (en) | Method and system for low power streaming | |
EP3788768A1 (en) | Methods and systems for streaming media data over a content delivery network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20100802 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |