KR101667998B1 - System and method for job scheduling for multiple media encoders - Google Patents

System and method for job scheduling for multiple media encoders Download PDF

Info

Publication number
KR101667998B1
KR101667998B1 KR1020090098390A KR20090098390A KR101667998B1 KR 101667998 B1 KR101667998 B1 KR 101667998B1 KR 1020090098390 A KR1020090098390 A KR 1020090098390A KR 20090098390 A KR20090098390 A KR 20090098390A KR 101667998 B1 KR101667998 B1 KR 101667998B1
Authority
KR
South Korea
Prior art keywords
job
encoders
waiting time
content data
encoder
Prior art date
Application number
KR1020090098390A
Other languages
Korean (ko)
Other versions
KR20110041295A (en
Inventor
최정호
이강태
진영민
김진한
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020090098390A priority Critical patent/KR101667998B1/en
Publication of KR20110041295A publication Critical patent/KR20110041295A/en
Application granted granted Critical
Publication of KR101667998B1 publication Critical patent/KR101667998B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/121Wireless traffic scheduling for groups of terminals or users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria
    • H04W72/566Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient
    • H04W72/569Allocation or scheduling criteria for wireless resources based on priority criteria of the information or information source or recipient of the traffic information

Abstract

복수의 미디어 인코더에 대한 작업 스케줄링 시스템 및 방법이 제공된다. 복수의 미디어 인코더에 대한 작업 스케줄링 시스템은, 콘텐츠 데이터의 작업 순서를 결정하는 작업 순위 결정부, 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더의 개수를 모니터링하는 모니터링부, 사용 가능한 인코더들로부터 인코딩 작업과 관련된 정보를 수신하는 작업 상황 정보 수신부, 상기 모니터링된 인코더의 개수 및 상기 수신한 인코딩 작업과 관련된 정보에 기초하여, 상기 사용 가능한 인코더들의 작업 대기 시간을 예측하는 대기 시간 예측부 및 상기 예측된 인코더들의 작업 대기 시간에 기초하여, 상기 결정된 작업 순서에 따라 콘텐츠 데이터를 배분하는 작업 분배부를 포함한다.

Figure R1020090098390

인코더, 작업, 우선 순위, 대기 시간, 가중치, 모니터링, 예측

A task scheduling system and method for a plurality of media encoders is provided. A job scheduling system for a plurality of media encoders includes a job ranking determining unit for determining a job order of content data, a monitoring unit for monitoring the number of encoders whose number of content data in operation or waiting jobs is equal to or less than a preset threshold value, A waiting time predicting unit for predicting the waiting time of the available encoders based on the number of the monitored encoders and the information related to the received encoding task, And a task distributing unit for distributing the content data according to the determined task order based on the estimated waiting time of the encoders.

Figure R1020090098390

Encoder, task, priority, wait time, weight, monitoring, prediction

Description

복수의 미디어 인코더에 대한 작업 스케줄링 시스템 및 방법{SYSTEM AND METHOD FOR JOB SCHEDULING FOR MULTIPLE MEDIA ENCODERS}Technical Field [0001] The present invention relates to a scheduling system and method for a plurality of media encoders,

본 발명은 복수의 미디어 인코더에 대한 작업 스케줄링 시스템 및 방법에 관한 것으로서, 보다 상세하게는, 작업 순서를 효과적으로 결정하고, 인코더의 작업 상황을 효율적으로 모니터링하여 작업을 배분할 수 있는 복수의 미디어 인코더에 대한 작업 스케줄링 시스템 및 방법에 관한 것이다.The present invention relates to a task scheduling system and method for a plurality of media encoders, and more particularly, to a task scheduling system and method for a plurality of media encoders that can effectively determine the task sequence, efficiently monitor the task status of the encoder, To a task scheduling system and method.

인터넷의 보급과 디지털 방송 기술의 발전에 따라 초고속 인터넷 망을 이용하여 제공되는 양방향 방송 서비스의 이용이 증가하고 있는 추세이다.With the spread of the Internet and the development of digital broadcasting technology, the use of the two-way broadcasting service provided using the high-speed Internet network is increasing.

양방향 방송 서비스는 초고속 인터넷을 이용하여 정보 서비스, 동영상 콘텐츠 및 방송 등을 양방향 방송 수신기(예를 들어, IPTV, DMB 수신기, 셋탑 박스 등)로 제공하는 서비스로, 인터넷 검색은 물론 영화 감상, 홈쇼핑, 홈뱅킹, 온라인 게임, MP3 등 인터넷이 제공하는 다양한 콘텐츠 및 부가 서비스를 제공받을 수 있다.The bidirectional broadcasting service is a service for providing information services, video contents, broadcasting, and the like to a bidirectional broadcasting receiver (for example, IPTV, DMB receiver, set-top box, etc.) Various contents and additional services provided by the Internet such as home banking, online games, and MP3 can be provided.

특히, 네트워크를 통해 VOD, AOD 등을 제공하는 미디어 온 디맨드 서비스를 제공하기 위해서는 디지털 마스터나 디지털 캡춰 본을 해당 서비스에서 설정된 패키징 포맷, 코덱, 해상도 및 비트 레이트에 맞추어 인코딩 또는 트랜스 코딩을 하 여야 한다. 또한, 이러한 작업은 범용이나 전용 인코더에서 진행되며, FCFS(First-Come-First-Service) 방식이나 다단계 큐 형태의 작업 스케줄러 형식으로 제공되는 것이 일반적이다.In particular, to provide a media on-demand service that provides VOD, AOD, etc. over a network, a digital master or a digital capture must be encoded or transcoded according to the packaging format, codec, resolution and bit rate set in the service . In addition, these tasks are performed in general-purpose or dedicated encoders, and are generally provided in a first-come-first-service (FCFS) mode or a multi-stage queue type job scheduler.

그러나, 인코더/트랜스코더의 작업 스케줄링을 위하여 FCFS(First-Come-First-Service)이나 다단계 큐 형태와 같은 스케줄링을 사용할 경우에는 긴급한 작업을 위한 우선 순위를 고려하면서 인코더 사용율을 최대화할 수 없었으며, 특히, 우선 순위가 낮은 콘텐츠 데이터가 계속 처리되지 않을 수 있는 문제가 있었다. 특히, 인코더 서버들이 실시간으로 공유 스토리지에 액세스할 수 없는 경우에 작업을 효율적으로 처리할 수 없으며, 정해진 작업 순서대로 실제 작업이 수행되기 힘든 문제가 있었다.However, when scheduling such as first-come-first-service (FCFS) or multi-stage queue type is used for job scheduling of an encoder / transcoder, the encoder usage rate can not be maximized while considering priority for urgent tasks. Particularly, there has been a problem that low-priority content data may not be continuously processed. In particular, when the encoder servers can not access the shared storage in real time, they can not efficiently handle the work, and there is a problem that the actual work is not performed in a predetermined work order.

한편, 선행 기술로서, 대한민국 특허공개번호 제10-2006-00034863호에는 “가중치를 이용한 패킷 전송 방법”이라는 명칭의 발명이 개시되어 있는바, 여러 사용자 단말로 방송 및 멀티 캐스트 서비스를 제공하는데 있어서, 서비스의 형태와 종류를 고려한 가중치를 이용하여 패킷 스케쥴링하는 기술에 관한 것이다.On the other hand, as a prior art, Korean Patent Laid-Open No. 10-2006-00034863 discloses an invention entitled " Packet transmission method using weight, " and in providing broadcast and multicast services to a plurality of user terminals, And a technique for packet scheduling using a weight considering a type and a type of a service.

하지만, 상술한 선행 기술은 서비스의 형태 또는 종류에 따른 가중치를 결정하고, 결정된 가중치를 이용하여 패킷 전송 순위를 결정하고 있을 뿐이므로, 전송 순위가 높은 패킷이 계속해서 늘어날 경우에는 전송 순위가 낮은 패킷을 효율적으로 전송할 수 없는 문제가 있었다.However, since the above-described prior art only determines the weight according to the type or type of the service and determines the packet transmission order using the determined weight, if the packet with the higher transmission order continues to increase, There is a problem in that it can not be efficiently transmitted.

본 발명의 일부 실시예는 배분할 콘텐츠 데이터의 인코딩 작업 순서를 효과적으로 결정할 수 있는 복수의 미디어 인코더에 대한 작업 스케줄링 시스템 및 방법을 제공한다.Some embodiments of the present invention provide a system and method for scheduling jobs for a plurality of media encoders that can effectively determine the encoding work order of content data to be distributed.

또한, 본 발명의 일 실시예는 인코더의 작업량을 효율적으로 모니터링하고 콘텐츠 데이터의 인코딩 작업을 기 설정된 순서에 따라 복수의 인코더에 정확하게 배분할 수 있는 복수의 미디어 인코더에 대한 작업 스케줄링 시스템 및 방법을 제공한다.In addition, one embodiment of the present invention provides a system and method for scheduling jobs for a plurality of media encoders that can efficiently monitor the workload of the encoder and accurately distribute the encoding data of the content data to a plurality of encoders in a predetermined order .

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 콘텐츠 데이터의 작업 순서를 결정하는 작업 순위 결정부, 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더의 개수를 모니터링하는 모니터링부, 사용 가능한 인코더들로부터 인코딩 작업과 관련된 정보를 수신하는 작업 상황 정보 수신부, 상기 모니터링된 인코더의 개수 및 상기 수신한 인코딩 작업과 관련된 정보에 기초하여, 상기 사용 가능한 인코더들의 작업 대기 시간을 예측하는 대기 시간 예측부 및 상기 예측된 인코더들의 작업 대기 시간에 기초하여, 상기 결정된 작업 순서에 따라 콘텐츠 데이터를 배분하는 작업 분배부를 포함하는 복수의 미디어 인코더에 대한 작업 스케줄링 시스템을 제공할 수 있다.As a technical means for achieving the above technical object, a first aspect of the present invention is a data processing apparatus including a work order determining unit for determining a work order of content data, a number of encoder A job status information receiving unit for receiving information related to the encoding job from the available encoders, a job waiting information receiving unit for collecting the job queues of the available encoders based on the number of the monitored encoders and the information related to the received encoding job, A job scheduling system for a plurality of media encoders including a waiting time predicting unit for predicting time and a job distributing unit for distributing content data according to the determined job order based on the waiting wait time of the predicted encoders have.

또한, 본 발명의 제 2 측면은 콘텐츠 데이터의 작업 순서를 결정하는 단계, 사용 가능한 인코더 별로 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인지를 모니터링하는 단계, 상기 사용 가능한 인코더들로부터 인코딩 작업과 관련된 작업 상황 정보를 수신하는 단계, 상기 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하 인코더의 개수 및 상기 수신한 작업 상황 정보에 기초하여, 상기 사용 가능한 인코더들의 작업 대기 시간을 예측하는 단계 및 상기 예측된 작업 대기 시간에 기초하여, 상기 결정된 작업 순서대로 상기 콘텐츠 데이터를 상기 인코더로 배분하는 단계를 포함하는 복수의 미디어 인코더에 대한 작업 스케줄링 방법을 제공할 수 있다.The second aspect of the present invention also includes a method comprising the steps of: determining a working order of content data; monitoring whether the number of content data in operation or waiting for work for each available encoder is below a predetermined threshold; Receiving the job status information related to the encoding job, calculating a job wait time of the available encoders based on the number of the content data under the job or waiting job, And distributing the content data to the encoder in accordance with the determined work order based on the predicted job wait time. The present invention also provides a method of scheduling jobs for a plurality of media encoders.

전술한 본 발명의 과제 해결 수단에 의하면, 인코딩 작업을 위해 대기 중인 콘텐츠 데이터의 작업 배분 대기 시간에 대한 가중치를 유동적으로 반영하여, 인코딩 작업 순서를 효율적으로 결정한다.According to the present invention, the encoding task sequence is efficiently determined by flexibly reflecting the weight of the wait time of the task allocation of the waiting content data for the encoding task.

또한, 전술한 본 발명의 과제 해결 수단에 의하면, 인코더의 작업량을 효율적으로 모니터링하여 적은 연산량으로 정확하게 인코딩 작업을 정해진 순서대로 배분한다.In addition, according to the above-mentioned problem solving means of the present invention, the workload of the encoder is efficiently monitored and the encoding operation is accurately distributed in a predetermined order in a small amount of calculation.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해 서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly explain the present invention, parts not related to the description are omitted, and like parts are denoted by like reference numerals throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 구성도이다.1 is a block diagram of a task scheduling system for a plurality of media encoders according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템은 작업 스케줄러 서버(1000), 인코더 서버(2000), 공유 스토리지(3000) 및 네트워크(4000)를 포함한다. 또한, 작업 스케줄러 서버(1000)는 작업 순위 결정부(1100), 작업 분배부(1200) 및 송수신부(1300)를 포함하며, 인코더 서버(2000)는 인코딩부(2110), 인코더 작업 큐(2120) 및 제어부(2130)를 포함하는 복수의 인코더(2100)를 포함한다.1, a task scheduling system for a plurality of media encoders according to an embodiment of the present invention includes a task scheduler server 1000, an encoder server 2000, a shared storage 3000, and a network 4000 . The task scheduler server 1000 includes a task ranking unit 1100, a task distribution unit 1200 and a transmission / reception unit 1300. The encoder server 2000 includes an encoding unit 2110, an encoder task queue 2120 And a control unit 2130. The encoder 2100 includes a plurality of encoders 2100,

작업 스케줄러 서버(1000)는 인코딩이 필요한 콘텐츠 데이터의 작업 순위를 결정하고, 인코더 서버(2000)의 인코더 별로 인코딩 작업을 분배한다.The task scheduler server 1000 determines the task ranking of the content data to be encoded and distributes the encoding task for each encoder of the encoder server 2000.

작업 순위 결정부(1100)는 인코딩이 필요한 콘텐츠 데이터의 작업 순위를 결정한다. 작업 순위 결정부(1100)는 콘텐츠 별로 우선 순위 및 작업 배분 대기 시간 에 기초하여 효율적으로 작업 순위를 결정할 수 있다.The task ranking determining unit 1100 determines a task ranking of content data that needs to be encoded. The task ranking determining unit 1100 can efficiently determine the task ranking based on the priority and the task allocation waiting time for each content.

작업 배분 대기 시간이란, 콘텐츠 데이터의 인코딩 작업을 위해 작업 스케줄러 서버(1000)에서 인코더 서버(2000)로의 배분을 대기하는 시간을 말하며, 이러한 작업 배분 대기 시간은 각 콘텐츠 별로 측정될 수 있다.The task allocation waiting time is a time for waiting for distribution from the task scheduler server 1000 to the encoder server 2000 for the encoding of the content data, and the task allocation wait time can be measured for each content.

작업 분배부(1200)는 결정된 작업 순위대로 작업이 진행될 수 있도록, 인코더 서버(2000)의 각 인코더에게 작업을 배분한다. 작업 분배부(1200)는 인코더 서버의 작업량을 기 설정된 기준에 따라 모니터링하고, 기 설정된 기준을 만족하는 인코더가 존재할 경우에 인코더 서버 내의 모든 인코더에 대한 작업 대기 시간을 예측할 수 있다.The task distributor 1200 distributes the task to each encoder of the encoder server 2000 so that the task can proceed according to the determined task ranking. The task distributor 1200 monitors the workload of the encoder server according to a predetermined criterion and predicts the work waiting time for all the encoders in the encoder server when there is an encoder satisfying a preset criterion.

작업 대기 시간이란, 인코더(2100)로 콘텐츠 인코딩 작업이 분배될 경우에, 분배된 작업이 인코더(2100)에서 인코딩되기까지 대기하는 시간을 말한다.The job wait time refers to a time for which the distributed job is to be encoded in the encoder 2100 when the content encoding job is distributed to the encoder 2100. [

송수신부(1300)는 작업 순위 결정 및 작업 분배에 필요한 각종 정보를 인코더 서버(2000) 및 공유 스토리지(3000)와 송수신한다.The transmission / reception unit 1300 transmits / receives various information necessary for job ranking and work distribution to / from the encoder server 2000 and the shared storage 3000.

인코더 서버(2000)의 복수의 인코더(2100)는 각각 작업 스케줄러 서버(1000)로부터 콘텐츠 데이터의 인코딩 작업 지시를 수신하고, 콘텐츠 데이터를 인코딩한다.The plurality of encoders 2100 of the encoder server 2000 each receive the encoding work instruction of the content data from the job scheduler server 1000 and encode the content data.

인코딩부(2110)는 후술할 인코더 작업 큐(2120)에 저장된 작업 순서에 따라, 콘텐츠 데이터를 인코딩한다.The encoding unit 2110 encodes the content data according to the operation sequence stored in the encoder work queue 2120 to be described later.

인코더 작업 큐(2120)는 인코딩부(2110)가 인코딩할 콘텐츠 데이터의 작업 순서를 작업 스케줄러 서버(1000)로부터 수신하여 저장한다.The encoder task queue 2120 receives the task sequence of the content data to be encoded by the encoding unit 2110 from the task scheduler server 1000 and stores the same.

본 발명의 일 실시예에서는 인코더 서버(2000)가 복수의 인코더(2100)를 포함하는 것으로 설명하였지만, 이에 한정되지 않으며, 트랜스코더 등의 장치를 더 포함할 수도 있다.In the embodiment of the present invention, the encoder server 2000 includes a plurality of encoders 2100. However, the present invention is not limited thereto and may further include an apparatus such as a transcoder.

제어부(2130)는 작업 스케줄러 서버(1000)에게 콘텐츠 데이터의 인코딩 작업 배분에 필요한 정보를 제공하며, 인코딩부(2110)가 인코더 작업 큐(2120)에 저장된 작업 순서대로 인코딩 작업을 수행하도록 한다.The control unit 2130 provides the job scheduler server 1000 with information necessary for distributing the encoding task of the content data and causes the encoding unit 2110 to perform the encoding operation according to the job order stored in the encoder job queue 2120. [

공유 스토리지(3000)는 인코딩 작업이 필요한 콘텐츠 데이터를 저장하며, 각각의 인코더(2100)에게 저장된 콘텐츠 데이터를 제공한다.The shared storage 3000 stores content data requiring an encoding operation, and provides the content data stored in each encoder 2100.

네트워크(4000)는 전용선, LAN, QAN, VAN, 인트라넷, 사설 전화망, 공중전화망, PSTN 망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함한다.The network 4000 includes a dedicated line, a LAN, a QAN, a VAN, an intranet, a private telephone network, a public telephone network, a PSTN network, and a mutual combination thereof. , And includes a wired Internet, a wireless Internet, and a mobile wireless communication network.

이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 작업 순위 결정부(1100)의 세부 구성에 대하여 설명하기로 한다.Hereinafter, the detailed configuration of the task ranking determiner 1100 according to an embodiment of the present invention will be described with reference to FIG.

도 2는 본 발명의 일 실시예에 따른 작업 순위 결정부(1100)의 세부 구성도이다.FIG. 2 is a detailed configuration diagram of a task ranking determining unit 1100 according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 작업 순위 결정부(1100)는 우선 순위 설정부(1110), 대기 시간 측정부(1120), 가중치 설정부(1130), 순위 산출부(1140) 및 마스트 작업 큐(1150)를 포함한다.2, the task ranking determining unit 1100 according to an embodiment of the present invention includes a priority setting unit 1110, a waiting time measuring unit 1120, a weight setting unit 1130, (S) 1140 and a mast work queue (s) 1150.

우선 순위 설정부(1110)는 콘텐츠 데이터의 종류 및 특성 등에 기초하여, 작 업하고자 하는 콘텐츠 데이터의 우선 순위의 레벨을 설정한다. 우선 순위 설정부(1110)는, 예를 들어, 우선 순위 레벨을 1~5로 설정할 수 있으며, 콘텐츠 데이터의 장르, 유료 서비스인지 여부, 콘텐츠의 재생 빈도 등에 기초하여 각 콘텐츠의 우선 순위의 레벨을 설정할 수 있다.The priority setting unit 1110 sets the priority level of the content data to be processed based on the type and characteristics of the content data. For example, the priority level setting unit 1110 can set the priority level to 1 to 5, and sets the priority level of each content based on the genre of content data, whether it is a paid service, Can be set.

대기 시간 측정부(1120)는 인코딩 작업을 위하여 인코더 서버(2000)로 배분되기를 대기 중인 콘텐츠 데이터의 작업 배분 대기 시간을 측정하고, 측정된 작업 배분 대기 시간을 순위 산출부(1140)로 제공한다.The waiting time measuring unit 1120 measures the waiting time of the task allocation of the content data waiting to be distributed to the encoder server 2000 for the encoding task and provides the measured task allocation waiting time to the ranking calculating unit 1140.

가중치 설정부(1130)는 우선 순위에 대응하는 우선 순위 가중치 및 작업 배분 대기 시간에 대응하는 대기 시간 가중치를 설정한다. 가중치 설정부(1130)는 우선 순위 레벨 전체 및 상기 대기 시간 전체에 각각 대응하도록 가중치를 설정할 수 있다.The weight setting unit 1130 sets a waiting time weight corresponding to the priority weight and the task allocation waiting time corresponding to the priority. The weight setting unit 1130 may set the weights to correspond to the entire priority level and the entire waiting time.

또한, 가중치 설정부(1130)는 우선 순위 가중치 및 대기 시간 가중치를 조절할 수 있으며, 인코딩 작업에 대한 다양한 요구에 대하여 작업 순위를 탄력적으로 조절하여 결정할 수 있다.In addition, the weight setting unit 1130 can adjust the priority weighting and the waiting time weighting, and can flexibly adjust the operation order with respect to various requests for the encoding operation.

순위 산출부(1140)는 우선 순위 레벨, 우선 순위 가중치, 작업 대기 시간 및 대기 시간 가중치에 기초하여, 콘텐츠 데이터의 작업 순위를 산출한다.The ranking calculation unit 1140 calculates the ranking of the content data based on the priority level, the priority weight, the job waiting time, and the waiting time weight.

순위 산출부(1140)는, 예를 들어, (우선 순위 레벨 x 우선 순위 가중치) + (작업 대기 시간 x 대기 시간 가중치) 값을 산출하고, 산출된 값에 기초하여 작업 순서를 결정할 수 있다.The ranking calculation unit 1140 may calculate a value (priority level x priority weight) + (job waiting time x wait time weight), for example, and determine a work order based on the calculated value.

마스트 작업 큐(1150)는 산출된 작업 순서에 따른 콘텐츠 데이터의 작업 목 록을 순서대로 저장한다.The mast work queue 1150 sequentially stores the work list of the content data according to the calculated work order.

이하, 도 3을 참조하여 본 발명의 일 실시예에 따른 작업 분배부(1200)의 세부 구성에 대하여 설명하기로 한다.Hereinafter, the detailed configuration of the work distribution unit 1200 according to an embodiment of the present invention will be described with reference to FIG.

도 3은 본 발명의 일 실시예에 따른 작업 분배부(1200)의 세부 구성도이다.3 is a detailed configuration diagram of the job distribution unit 1200 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 작업 분배부(1200)는 모니터링부(1210), 작업 상황 정보 수신부(1220), 대기 시간 예측부(1230) 및 작업 전송부(1240)를 포함한다.3, the task distributor 1200 according to an exemplary embodiment of the present invention includes a monitoring unit 1210, a task status information receiving unit 1220, a waiting time predicting unit 1230, and a task transmitting unit 1240 ).

모니터링부(1210)는 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더(2100)를 모니터링한다.The monitoring unit 1210 monitors the encoder 2100 whose number of pieces of content data in operation or waiting for work is less than or equal to a preset threshold value.

모니터링부(1210)는 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수를 인코더(2100)로부터 수신할 수 있으며, 예를 들어, 콘텐츠 데이터의 개수가 1 이하인 인코더가 몇 개 존재하는지를 판단할 수 있다. 또한, 모니터링부(1210)는 모니터링한 정보를 대기 시간 예측부(1230)로 제공한다.The monitoring unit 1210 can receive the number of pieces of content data in operation or waiting for a job from the encoder 2100. For example, it is possible to determine how many encoders having the number of content data of 1 or less exist. In addition, the monitoring unit 1210 provides the monitored information to the waiting time predicting unit 1230. [

작업 상황 정보 수신부(1220)는 인코더(2100)들로부터 인코딩 작업과 관련된 정보를 수신한다. 작업 상황 정보 수신부(1220)는 각각의 인코더(2100)에 대한 미처리 작업의 총 시간, 입력 해상도, 출력 해상도, 코덱 및 인코더 성능 등에 관한 정보를 수신할 수 있다.The work situation information receiving unit 1220 receives information related to the encoding operation from the encoders 2100. [ The work situation information receiving unit 1220 can receive information on the total time of the unprocessed work for each encoder 2100, the input resolution, the output resolution, the codec, the encoder performance, and the like.

대기 시간 예측부(1230)는 작업 스케줄러 서버(1000)에 접속된 인코더 서버(2000)에서 사용 가능한 인코더(2100)들의 작업 대기 시간을 예측한다.The waiting time predicting unit 1230 predicts the waiting time of the jobs of the encoders 2100 usable in the encoder server 2000 connected to the task scheduler server 1000. [

대기 시간 예측부(1230)는 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개 수가 기 설정된 임계치 이하인 인코더(2100)가 (기 설정된 개수 이상으로) 존재할 경우에, 작업 상황 정보 수신부(1220)에서 수신한 인코딩 작업과 관련된 정보에 기초하여, 각각의 인코더(2100)에 대하여 작업 대기 시간을 예측할 수 있다.The waiting time predicting unit 1230 predicts the waiting time of the encoded data received from the working status information receiving unit 1220 when the number of pieces of content data in operation or waiting jobs is equal to or less than a predetermined threshold value Based on the information associated with the task, the waiting time for work can be predicted for each encoder 2100. [

또한, 대기 시간 예측부(1230)는 인코더 서버(2000)에서 인코딩 작업이 가능한 모든 인코더(2100)에 대하여 작업 대기 시간을 예측할 수 있다.In addition, the waiting time predicting unit 1230 can estimate the waiting time for the work for all the encoders 2100 that can perform the encoding work in the encoder server 2000.

대기 시간 예측부(1230)는 각 인코더(2100) 별로 작업 중 또는 작업 대기 중인 콘텐츠에 대하여 ‘콘텐츠 데이터의 잔여 시간(작업이 진행되지 않은 경우는 전체 시간) x 입력 해상도 가중치 x 출력 해상도 가중치 x 코덱 복잡도 가중치 x 인코더 성능 가중치’ 값을 산출하고, 산출된 값을 합하여 각 인코더(2100) 별 대기 시간 값을 예측할 수 있다. 또한, 이 경우, 해상도 가중치는 비디오 데이터의 경우에는 가로 해상도 x 세로 해상도 x 프레임 레이트 x 비디오 가중치를 취할 수 있으며, 오디오 데이터의 경우에는 비트 해상도 x 샘플 레이트 x 채널 수 x 오디오 가중치로 값을 취할 수 있다. 나아가, 각각의 가중치는 콘텐츠 데이터의 샘플 셋을 이용한 인코딩 시간 비율로 값을 미리 정할 수 있다.The waiting time predicting unit 1230 estimates the remaining time of the content data (total time when the operation is not performed) x input resolution weight x output resolution weight x codec The complexity weight x encoder performance weight 'value, and summing the calculated values to predict the waiting time value for each encoder 2100. Also, in this case, the resolution weight can take the horizontal resolution x the vertical resolution x the frame rate x the video weight, in the case of video data, the bit resolution x the sample rate x the number of channels x audio weight have. Furthermore, each of the weights can be pre-determined by a ratio of the encoding time using the sample set of content data.

작업 전송부(1240)는 예측된 대기 시간에 기초하여, 콘텐츠 데이터의 인코딩 작업을 각각의 인코더(2100)로 분배한다. 작업 전송부(1240)는 예측된 대기 시간이 짧은 인코더(2100)에게 우선 순위가 높은 작업을 배분할 수 있으며, 작업 전송부(1240)에서 제공된 작업은 각각의 인코더 작업 큐(2120)에 순차적으로 저장될 수 있다.The job transferring unit 1240 distributes the encoding job of the content data to the respective encoders 2100 based on the estimated waiting time. The task transferring unit 1240 may distribute the tasks having the higher priority to the encoder 2100 having a shorter waiting time and store the tasks provided in the task transferring unit 1240 in order to each of the encoder work queues 2120 .

따라서, 작업 스케줄러 서버(1000)는 작업 개수가 기 설정된 개수 이하인 인 코더(2100)가 존재할 경우에만 대기 시간을 예측하여, 인코더(2100)의 대기 시간 예측에 걸리는 연산량을 감소시킬 수 있으며, 대기 시간을 예측할 경우에는 사용 가능한 모든 인코더(2100)에 대하여 대기 시간을 예측함으로써, 대기 중인 작업에 관계없이 실제로 데이터를 빨리 처리할 수 있는 인코더를 정확하게 판단할 수 있게 된다.Accordingly, the job scheduler server 1000 can estimate the waiting time only when the number of jobs is equal to or less than the predetermined number, and can reduce the amount of calculation required to estimate the waiting time of the encoder 2100, It is possible to accurately determine an encoder capable of quickly processing data irrespective of a waiting job by predicting the waiting time for all usable encoders 2100. [

나아가, 인코더 서버(2000)는 작업 스케줄러 서버(1000)에서 결정한 작업 순서대로 정확하게 인코딩을 수행할 수 있으며, 각각의 인코더(2100)에서 작업이 끝나기 전에, 미리 다음 작업할 콘텐츠를 효율적으로 분배함으로써, 인코더 서버(2000)가 외부의 공유 스토리지(3000)로부터 데이터를 액세스할 때 발생하는 작업 효율 문제를 해결할 수 있게 된다.In addition, the encoder server 2000 can accurately perform encoding in accordance with the order of operations determined by the job scheduler server 1000, efficiently distributes contents to be processed next before each of the encoders 2100 finishes the job, It is possible to solve the work efficiency problem that occurs when the encoder server 2000 accesses data from the external shared storage 3000. [

이하, 도 4를 참조하여 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 작업 순서 결정 방법에 대하여 설명하기로 한다.Hereinafter, a method of determining a work order of a job scheduling system for a plurality of media encoders according to an embodiment of the present invention will be described with reference to FIG.

도 4는 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 작업 순서 결정 방법의 세부 흐름도이다.4 is a detailed flowchart of a method of determining a work order of a job scheduling system for a plurality of media encoders according to an exemplary embodiment of the present invention.

단계 S400은 콘텐츠 데이터 별로 우선 순위 레벨을 설정하는 단계이다. 단계 S400에서는 콘텐츠 데이터의 종류 및 특성 등에 기초하여, 작업하고자 하는 콘텐츠 데이터의 우선 순위의 레벨을 설정한다. 우선 순위 설정부(1110)는, 예를 들어, 우선 순위 레벨을 1~5로 설정할 수 있으며, 콘텐츠 데이터의 장르, 유료 서비스인지 여부, 콘텐츠의 재생 빈도 등에 기초하여 각 콘텐츠의 우선 순위의 레벨을 1~5의 값으로 설정할 수 있다.Step S400 is a step of setting a priority level for each content data. In step S400, the level of priority of the content data to be operated is set based on the type and characteristics of the content data. For example, the priority level setting unit 1110 can set the priority level to 1 to 5, and sets the priority level of each content based on the genre of content data, whether it is a paid service, It can be set to a value from 1 to 5.

단계 S402는 콘텐츠 데이터 별로 작업 배분 대기 시간을 측정하는 단계이다. 단계 S402에서는 인코딩 작업을 위하여 인코더 서버(2000)로 배분되기를 대기 중인 콘텐츠 데이터의 작업 배분 대기 시간을 측정할 수 있다.Step S402 is a step of measuring the work allocation waiting time for each content data. In step S402, the task allocation waiting time of the content data waiting to be distributed to the encoder server 2000 for the encoding operation can be measured.

단계 S404는 작업 순위를 산출하는 단계이다. 단계 S404에서는 우선 순위 레벨, 우선 순위 가중치, 작업 대기 시간 및 대기 시간 가중치에 기초하여, 콘텐츠 데이터의 작업 순위를 산출할 수 있으며, 예를 들어, (우선 순위 레벨 x 우선 순위 가중치) + (작업 대기 시간 x 대기 시간 가중치) 값을 산출하고, 산출된 값에 기초하여 작업 순서를 결정할 수 있다.Step S404 is a step of calculating a job ranking. In step S404, the job ranking of the content data can be calculated based on the priority level, the priority weight, the job wait time, and the wait time weight. For example, (priority level x priority weight) + Time x wait time weight value), and determine the work order based on the calculated value.

단계 S406은 우선 순위 및 작업 배분 대기 시간에 대응하는 가중치를 변경하였는지 여부를 판단하는 단계이다.Step S406 is a step of determining whether or not the weight corresponding to the priority and the task allocation waiting time is changed.

상기 판단 결과(S406), 가중치가 변경된 경우에는 변경된 가중치에 기초하여, 작업 순위를 산출하며(단계 S404), 가중치가 변경되지 않은 경우에는 단계 S408을 수행한다.If it is determined that the weight is changed, the job ranking is calculated based on the changed weight (step S404). If the weight is not changed, step S408 is performed.

단계 S408은 결정된 작업 우선 순위를 저장하는 단계이다. 단계 S408에서는 산출된 작업 순서에 따른 콘텐츠 데이터의 작업 목록을 순서대로 저장할 수 있다.Step S408 is a step of storing the determined task priority. In step S408, the task list of the content data according to the calculated task sequence may be stored in order.

본 발명의 일 실시예에 따르면, 콘텐츠 데이터 별로 작업 대기 시간을 측정하고, 측정된 대기 시간에 대하여 별도의 가중치를 부여함으로써, 콘텐츠 데이터 별로 우선 순위 레벨에 기초하여 작업 순위를 결정할 경우에, 순위가 낮은 콘텐츠 데이터의 작업이 무한정 뒤로 밀릴 수 문제를 방지할 수 있으며, 나아가, 대기 시간 가중치를 유동적으로 조절하여, 대기 시간이 많은 콘텐츠를 효과적으로 처리할 수 있게 된다.According to an embodiment of the present invention, when a job wait time is measured for each content data and a different weight is assigned to the measured wait time, when a job ranking is determined based on a priority level for each content data, It is possible to prevent the problem that the work of the low content data is pushed backward indefinitely, and furthermore, the waiting time weight can be flexibly adjusted to effectively process the content with a large waiting time.

이하, 도 5를 참조하여, 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 작업 배분 방법에 대하여 설명하기로 한다.Hereinafter, with reference to FIG. 5, a method of allocating work in a task scheduling system for a plurality of media encoders according to an embodiment of the present invention will be described.

도 5는 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 작업 배분 방법의 세부 흐름도이다.5 is a detailed flowchart of a task allocation method of a task scheduling system for a plurality of media encoders according to an embodiment of the present invention.

단계 S500은 인코더(2100)의 작업 상황을 모니터링하는 단계이다. 단계 S500에서는 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더(2100)의 개수를 모니터링할 수 있다. 단계 S500에서는 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수를 인코더(2100)로부터 수신할 수 있으며, 예를 들어, 콘텐츠 데이터의 개수가 1 이하인 인코더가 몇 개 존재하는지를 판단할 수 있다.Step S500 is a step of monitoring the operation status of the encoder 2100. In step S500, it is possible to monitor the number of the encoders 2100 whose number of pieces of content data during operation or waiting for work is equal to or less than a preset threshold value. In step S500, it is possible to receive from the encoder 2100 the number of pieces of content data that is being processed or waiting for a job. For example, it is possible to determine how many encoders having the number of content data of 1 or less exist.

단계 S502는 작업량이 기 설정된 개수 이하인 인코더가 존재하는지 여부를 판단하는 단계이다. 또한, 단계 502에서는 기 설정된 개수 이하인 인코더(2100)가 기 설정된 개수 이상으로 존재하는지를 판단할 수도 있다.Step S502 is a step of determining whether or not there is an encoder whose work amount is equal to or less than a predetermined number. In step 502, it may be determined whether or not a predetermined number or less of the encoder 2100 exists.

상기 판단 결과(S502), 작업량이 기 설정된 개수 이하인 인코더가 존재하지 않는 경우에는 단계 S500을 수행하며, 작업량이 기 설정된 개수 이하인 인코더가 존재하는 경우에는 단계 S504를 수행한다.If it is determined in step S502 that there is no encoder having a predetermined number of workings or less, step S500 is performed. If there is an encoder having a predetermined number of workings or less, step S504 is performed.

단계 S504는 인코더 서버(2000) 내의 인코더(2100)로부터 작업 상황 정보를 수신하는 단계이다. 단계 S504에서는 각각의 인코더(2100)들로부터 미처리 작업의 총 시간, 입력 해상도, 출력 해상도, 코덱 및 인코더 성능 등과 같은, 인코딩 작업 과 관련된 정보 정보를 수신할 수 있다.Step S504 is a step of receiving the job status information from the encoder 2100 in the encoder server 2000. [ In step S504, it is possible to receive from the encoders 2100 information information related to the encoding operation, such as the total time of the unprocessed operation, the input resolution, the output resolution, the codec, and the encoder performance.

단계 S506은 인코더 서버(2000) 내의 사용 가능한 인코더(2100)들의 작업 대기 시간을 예측하는 단계이다. 단계 S506에서는 작업 스케줄러 서버(1000)에 접속된 인코더 서버(2000)에서 사용 가능한 인코더(2100)들의 작업 대기 시간을 단계 S504에서 수신한 정보에 기초하여 예측할 수 있다. 또한, 단계 S506에서는 인코더 서버(2000)에서 인코딩 작업이 가능한 모든 인코더(2100)에 대하여 작업 대기 시간을 예측할 수 있다.Step S506 is a step of estimating the waiting time of the available encoders 2100 in the encoder server 2000. [ In step S506, the job waiting time of the encoders 2100 usable in the encoder server 2000 connected to the job scheduler server 1000 can be predicted based on the information received in step S504. In step S506, the encoder server 2000 can predict the waiting time for all the encoders 2100 that can perform the encoding operation.

단계 S506에서는 각 인코더(2100) 별로 작업 중 또는 작업 대기 중인 콘텐츠에 대하여 ‘콘텐츠 데이터의 잔여 시간(작업이 진행되지 않은 경우는 전체 시간) x 입력 해상도 가중치 x 출력 해상도 가중치 x 코덱 복잡도 가중치 x 인코더 성능 가중치’ 값을 산출하고, 산출된 값을 합하여 각 인코더(2100) 별 대기 시간 값을 예측할 수 있다. 또한, 이 경우, 해상도 가중치는 비디오 데이터의 경우에는 가로 해상도 x 세로 해상도 x 프레임 레이트 x 비디오 가중치를 취할 수 있으며, 오디오 데이터의 경우에는 비트 해상도 x 샘플 레이트 x 채널 수 x 오디오 가중치로 값을 취할 수 있다.In step S506, the remaining time of content data (total time if the operation is not performed) x input resolution weight x output resolution weight x codec complexity weight x encoder performance Quot; weight " value, and calculate the waiting time value for each encoder 2100 by summing the calculated values. Also, in this case, the resolution weight can take the horizontal resolution x the vertical resolution x the frame rate x the video weight, in the case of video data, the bit resolution x the sample rate x the number of channels x audio weight have.

단계 S508은 예측된 대기 시간에 기초하여 작업을 배분하는 단계이다. 단계 S508에서는 예측된 대기 시간에 기초하여, 예측된 대기 시간이 짧은 인코더(2100)로 우선 순위가 높은 작업을 배분할 수 있으며, 작업 전송부(1240)에서 제공된 작업은 각각의 인코더 작업 큐(2120)에 순차적으로 저장될 수 있다.Step S508 is a step of distributing the task based on the estimated waiting time. In step S508, based on the estimated waiting time, tasks with higher priority can be allocated to the shortened waiting time encoder 2100, and tasks provided in the task transmitting unit 1240 can be distributed to the respective encoder task queues 2120, As shown in FIG.

따라서, 본 발명의 일 실시예에 따른 작업 스케줄링 방법에 의하면, 작업 개 수가 기 설정된 개수 이하인 인코더(2100)가 존재할 경우에만 대기 시간을 예측함으로써, 인코더(2100)의 대기 시간 예측에 걸리는 연산량을 감소시킬 수 있으며, 대기 시간을 예측할 경우에는 사용 가능한 모든 인코더(2100)에 대하여 대기 시간을 예측함으로써, 대기 중인 작업에 관계없이 실제로 데이터를 빨리 처리할 수 있는 인코더를 정확하게 판단할 수 있게 된다.Therefore, according to the job scheduling method according to the embodiment of the present invention, the waiting time is predicted only when the encoder 2100 whose number of jobs is equal to or less than the predetermined number is present, thereby reducing the amount of calculation required to estimate the waiting time of the encoder 2100 In predicting the waiting time, it is possible to accurately determine the encoder that can actually process the data quickly regardless of the waiting job by predicting the waiting time for all the available encoders 2100.

나아가, 인코더 서버(2000)는 작업 스케줄러 서버(1000)에서 결정한 작업 순서대로 정확하게 인코딩을 수행할 수 있으며, 각각의 인코더(2100)에서 작업이 끝나기 전에, 미리 다음 작업할 콘텐츠를 효율적으로 분배함으로써, 인코더 서버(2000)가 외부의 공유 스토리지(3000)로부터 데이터를 액세스할 때 발생하는 작업 효율 문제를 해결할 수 있게 된다.In addition, the encoder server 2000 can accurately perform encoding in accordance with the order of operations determined by the job scheduler server 1000, efficiently distributes contents to be processed next before each of the encoders 2100 finishes the job, It is possible to solve the work efficiency problem that occurs when the encoder server 2000 accesses data from the external shared storage 3000. [

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전 달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

도 1은 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 구성도.1 is a configuration diagram of a task scheduling system for a plurality of media encoders according to an embodiment of the present invention;

도 2는 본 발명의 일 실시예에 따른 작업 순위 결정부(1100)의 세부 구성도.2 is a detailed configuration diagram of a task ranking determining unit 1100 according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 작업 분배부(1200)의 세부 구성도.FIG. 3 is a detailed configuration diagram of a task distribution unit 1200 according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 작업 순서 결정 방법의 세부 흐름도.4 is a detailed flowchart of a method of determining a work order of a job scheduling system for a plurality of media encoders according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 복수의 미디어 인코더에 대한 작업 스케줄링 시스템의 작업 배분 방법의 세부 흐름도.5 is a detailed flowchart of a task allocation method of a task scheduling system for a plurality of media encoders according to an embodiment of the present invention.

Claims (11)

복수의 미디어 인코더에 대한 작업 스케줄링 시스템에 있어서,1. A job scheduling system for a plurality of media encoders, 복수의 콘텐츠 데이터의 작업 순서를 결정하는 작업 순위 결정부,A work order determination unit for determining a work order of a plurality of pieces of content data, 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더의 개수를 모니터링하는 모니터링부,A monitoring unit for monitoring the number of encoders whose number of content data in operation or waiting for work is equal to or less than a predetermined threshold, 사용 가능한 인코더들로부터 인코딩 작업과 관련된 정보를 수신하는 작업 상황 정보 수신부,A task status information receiving unit for receiving information related to an encoding task from available encoders, 상기 모니터링된 인코더의 개수 및 상기 수신한 인코딩 작업과 관련된 정보에 기초하여, 상기 사용 가능한 인코더들의 작업 대기 시간을 예측하는 대기 시간 예측부 및A waiting time predicting unit for predicting the waiting time of the available encoders based on the number of the monitored encoders and the information related to the received encoding task, 상기 예측된 인코더들의 작업 대기 시간에 기초하여, 상기 결정된 작업 순서에 따라 상기 인코더로 상기 복수의 콘텐츠 데이터를 배분하는 작업 분배부And a work distribution unit for distributing the plurality of contents data to the encoder in accordance with the determined work order, based on the estimated waiting time of the encoders, 를 포함하되,, ≪ / RTI & 상기 작업 분배부는 상기 예측된 작업 대기 시간이 짧은 인코더에게 상기 작업 순서가 높은 콘텐츠 데이터를 분배하는 것인, 작업 스케줄링 시스템.Wherein the job distributing unit distributes the content data having the high operation order to the encoder having the shortened waiting time for the job. 제 1 항에 있어서,The method according to claim 1, 상기 작업 순위 결정부는The task ranking determination unit 작업하고자 하는 상기 복수의 콘텐츠 데이터의 우선 순위의 레벨을 설정하는 우선 순위 설정부,A priority setting unit for setting a priority level of the plurality of contents data to be operated, 상기 복수의 콘텐츠 데이터 별로 상기 인코더로의 분배 대기 시간을 측정하는 대기 시간 측정부 및A waiting time measurement unit for measuring a distribution waiting time to the encoder for each of the plurality of contents data, 상기 설정된 우선 순위 레벨 및 상기 측정된 분배 대기 시간에 기초하여, 상기 복수의 콘텐츠 데이터의 작업 순위를 산출하는 작업 순위 산출부Based on the set priority level and the measured distribution waiting time, a job ranking calculation unit 를 포함하는 것인 작업 스케줄링 시스템.Wherein the job scheduling system comprises: 제 2 항에 있어서,3. The method of claim 2, 상기 작업 순위 결정부는, 상기 우선 순위 레벨 및 상기 분배 대기 시간에 대응하는 가중치를 설정하고 상기 설정된 가중치를 조절하는 가중치 설정부를 더 포함하고,Wherein the task priority determination unit further includes a weight setting unit that sets a weight corresponding to the priority level and the distribution waiting time and adjusts the set weight, 상기 작업 순위 산출부는 상기 우선 순위 레벨, 상기 분배 대기 시간 및 상기 가중치에 기초하여, 상기 복수의 콘텐츠 데이터의 작업 순위를 산출하며,Wherein the job ranking calculation unit calculates a job ranking of the plurality of pieces of content data based on the priority level, the distribution waiting time, and the weight, 상기 가중치는 상기 우선 순위 레벨 전체 및 상기 대기 시간 전체에 각각 대응하는 것인 작업 스케줄링 시스템.Wherein the weights correspond to the entire priority level and the entire wait time, respectively. 제 1 항에 있어서,The method according to claim 1, 상기 모니터링부는 상기 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더의 개수가 기 설정된 개수 이상인 지를 모니터 링하는 것인 작업 스케줄링 시스템.Wherein the monitoring unit monitors whether or not the number of the encoders whose number of pieces of content data during the operation or waiting for the job is equal to or less than a predetermined threshold is equal to or greater than a predetermined number. 제 4 항에 있어서,5. The method of claim 4, 상기 대기 시간 예측부는 상기 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더의 개수가 기 설정된 개수 이상인 경우에, 모든 인코더에 대하여 작업 대기 시간을 예측하는 것인 작업 스케줄링 시스템.Wherein the wait time predicting unit predicts a work wait time for all the encoders when the number of the content data in the job or waiting job is equal to or greater than a predetermined number. 제 1 항에 있어서,The method according to claim 1, 상기 작업 상황 정보 수신부는The work situation information receiving unit 상기 사용 가능한 인코더로부터 미처리 작업의 총 시간, 입력 해상도, 출력 해상도, 코덱 또는 인코더 성능에 관한 정보 중 어느 하나 이상을 수신하는 것인 작업 스케줄링 시스템.From the available encoders, information about the total time of the unprocessed operation, the input resolution, the output resolution, the codec, or the encoder performance. 복수의 미디어 인코더에 대한 작업 스케줄링 방법에 있어서,A method for scheduling jobs for a plurality of media encoders, 복수의 콘텐츠 데이터의 작업 순서를 결정하는 단계,Determining a work order of a plurality of pieces of content data, 사용 가능한 인코더 별로 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인지를 모니터링하는 단계,Monitoring whether the number of content data in operation or waiting for work is below a predetermined threshold value for each available encoder; 상기 사용 가능한 인코더들로부터 인코딩 작업과 관련된 작업 상황 정보를 수신하는 단계,Receiving operational status information relating to an encoding operation from the available encoders, 상기 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하 인코더의 개수 및 상기 수신한 작업 상황 정보에 기초하여, 상기 사용 가능한 인코더들의 작업 대기 시간을 예측하는 단계 및Predicting the waiting time of the available encoders based on the number of the contents data under the operation or the number of waiting jobs and the number of the encoders below the predetermined threshold value and the received working condition information, 상기 예측된 작업 대기 시간에 기초하여, 상기 결정된 작업 순서대로 상기 복수의 콘텐츠 데이터를 상기 인코더로 배분하는 단계Distributing the plurality of pieces of content data to the encoder based on the predicted job waiting time in the determined work order 를 포함하되,, ≪ / RTI & 상기 인코더로 분배하는 단계는 상기 예측된 작업 대기 시간이 짧은 인코더에게 상기 작업 순서가 높은 콘텐츠 데이터를 분배하는 것인, 작업 스케줄링 방법.Wherein the step of distributing to the encoder distributes the content data having a high work order to the encoder having the shortened waiting time for the job. 제 7 항에 있어서,8. The method of claim 7, 상기 작업 순서를 결정하는 단계는,Wherein the step of determining the work order comprises: 작업하고자 하는 상기 복수의 콘텐츠 데이터의 우선 순위의 레벨을 설정하는 단계,Setting a priority level of the plurality of contents data to be operated, 상기 복수의 콘텐츠 데이터 별로 상기 인코더로의 분배 대기 시간을 측정하는 단계 및Measuring a distribution waiting time for each of the plurality of contents data to the encoder; and 상기 설정된 우선 순위 레벨 및 상기 측정된 분배 대기 시간에 기초하여, 상기 복수의 콘텐츠 데이터의 작업 순위를 산출하는 단계Calculating a job ranking of the plurality of pieces of content data based on the set priority level and the measured distribution waiting time 를 더 포함하는 것인 작업 스케줄링 방법.The method further comprising: 제 8 항에 있어서,9. The method of claim 8, 상기 작업 순서를 결정하는 단계는,Wherein the step of determining the work order comprises: 상기 우선 순위 레벨 및 상기 분배 대기 시간에 대응하는 가중치를 설정하고 상기 설정된 가중치를 조절하는 단계를 더 포함하고,Further comprising setting a weight corresponding to the priority level and the distribution waiting time and adjusting the set weight, 상기 작업 순위를 산출하는 단계는 상기 우선 순위 레벨, 상기 분배 대기 시간 및 상기 가중치에 기초하여, 상기 복수의 콘텐츠 데이터의 작업 순위를 산출하며,Wherein the calculating the job ranking calculates a job ranking of the plurality of pieces of content data based on the priority level, the distribution waiting time, and the weight, 상기 가중치는 상기 우선 순위 레벨 전체 및 상기 대기 시간 전체에 각각 대응하는 것인 작업 스케줄링 방법.Wherein the weights correspond to the entire priority level and the entire wait time, respectively. 제 7 항에 있어서,8. The method of claim 7, 상기 대기 시간을 예측하는 단계는 상기 작업 중 또는 작업 대기 중인 콘텐츠 데이터의 개수가 기 설정된 임계치 이하인 인코더의 개수가 기 설정된 개수 이상인 경우에, 모든 인코더에 대하여 작업 대기 시간을 예측하는 것인 작업 스케줄링 방법.Wherein the step of predicting the waiting time includes predicting a waiting time for a job for all of the encoders when the number of the content data in the job or waiting jobs is equal to or greater than a predetermined threshold, . 제 7 항에 있어서,8. The method of claim 7, 상기 작업 상황 정보를 수신하는 단계는The step of receiving the job status information 상기 사용 가능한 인코더로부터 미처리 작업의 총 시간, 입력 해상도, 출력 해상도, 코덱 또는 인코더 성능에 관한 정보 중 어느 하나 이상을 수신하는 것인 작업 스케줄링 방법.And receiving at least one of information about the total time of the unprocessed job, the input resolution, the output resolution, the codec, or the encoder performance from the available encoders.
KR1020090098390A 2009-10-15 2009-10-15 System and method for job scheduling for multiple media encoders KR101667998B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090098390A KR101667998B1 (en) 2009-10-15 2009-10-15 System and method for job scheduling for multiple media encoders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090098390A KR101667998B1 (en) 2009-10-15 2009-10-15 System and method for job scheduling for multiple media encoders

Publications (2)

Publication Number Publication Date
KR20110041295A KR20110041295A (en) 2011-04-21
KR101667998B1 true KR101667998B1 (en) 2016-10-21

Family

ID=44047292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090098390A KR101667998B1 (en) 2009-10-15 2009-10-15 System and method for job scheduling for multiple media encoders

Country Status (1)

Country Link
KR (1) KR101667998B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077281A (en) 2006-09-20 2008-04-03 Nec Corp Superscheduler, job request method and superscheduler program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100559470B1 (en) * 2003-11-26 2006-03-10 한국전자통신연구원 Content delivery job management method and apparatus in cluster system
KR101457561B1 (en) * 2008-01-29 2014-11-03 삼성전자주식회사 Method and apparatus for data transmission, method and apparatus for performing task

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008077281A (en) 2006-09-20 2008-04-03 Nec Corp Superscheduler, job request method and superscheduler program

Also Published As

Publication number Publication date
KR20110041295A (en) 2011-04-21

Similar Documents

Publication Publication Date Title
US10298969B2 (en) Architecture and method for high performance on demand video transcoding
US9634947B2 (en) Dynamic jitter buffer size adjustment
JP6178523B2 (en) Transport accelerator implementing request manager and connection manager functionality
US9247276B2 (en) System and method for progressive delivery of media content
KR101894420B1 (en) Adaptive video transcoding method and its system for maximizing transcoding server capacity
EP2992652B1 (en) Managing bandwidth allocation among flows through assignment of drop priority
CN108965884B (en) Distribution method of transcoding tasks, scheduling device and transcoding device
US7885189B2 (en) Methods and apparatus for rate estimation and predictive rate control
CN101658045A (en) Coding of a plurality of information signals using common computing power
CN103004190B (en) Video stream
CN104205771A (en) Controlling HTTP streaming between source and receiver over multiple TCP connections
KR20110044258A (en) Data streaming through time-varying transport media
US20230024699A1 (en) System for high performance on-demand video transcoding
US20180376176A1 (en) Quality-of-experience optimization apparatus, network quality estimation apparatus, mobile terminal, quality-of-experience optimization method, network quality estimation method, and program
JP5710006B2 (en) Method and apparatus for scheduling communication traffic in an ATCA based device
US20140325023A1 (en) Size prediction in streaming enviroments
EP3560152B1 (en) Determining the bandwidth of a communication link
KR101667998B1 (en) System and method for job scheduling for multiple media encoders
WO2009155868A1 (en) Power distribution method and device for multiple data streams transmission
CN112714081A (en) Data processing method and device
US20180349190A1 (en) Process control program, process control method, information processing device, and communication device
CN114793299A (en) Streaming media transmission control method, system, device and medium
CN112217883B (en) Multi-channel construction method, device and system based on NFS protocol
KR20100078470A (en) Method for transmitting streaming contents in wireless internet system
JP2008211729A (en) Method for estimating number of all originated call connections from all terminals, estimation server, terminal, broadcast station server, and program

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