KR20160066228A - Distributed Rendering System - Google Patents
Distributed Rendering System Download PDFInfo
- Publication number
- KR20160066228A KR20160066228A KR1020140170301A KR20140170301A KR20160066228A KR 20160066228 A KR20160066228 A KR 20160066228A KR 1020140170301 A KR1020140170301 A KR 1020140170301A KR 20140170301 A KR20140170301 A KR 20140170301A KR 20160066228 A KR20160066228 A KR 20160066228A
- Authority
- KR
- South Korea
- Prior art keywords
- rendering
- nodes
- frame
- frames
- render
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
본 발명은 렌더링 시스템에 관한 것으로, 보다 상세하게는 복수 개의 렌더링 노드들을 이용하여 렌더링 작업을 분산 처리하는 분산 렌더링 시스템에 관한 것이다.The present invention relates to a rendering system, and more particularly, to a distributed rendering system for distributing rendering tasks using a plurality of rendering nodes.
일반적으로 3D 콘텐츠 렌더링은 3D 그래픽 모델링 데이터를 2차원 평면상의 이미지 데이터로 변환하는 작업을 말한다. 3D 콘텐츠 렌더링은 대부분 3D 그래픽 모델링이 이루어진 컴퓨터(장비)에서 이루어지고 있다. Generally, 3D content rendering refers to an operation of converting 3D graphic modeling data into image data on a two-dimensional plane. 3D content rendering is mostly done on computers (machines) with 3D graphics modeling.
그러나, 하나의 컴퓨터(장비)에서 3D 콘텐츠 렌더링이 이루어지는 경우 컴퓨팅 자원의 한계로 인하여 너무 많은 시간이 소요된다는 문제점이 있다. However, when 3D content rendering is performed in one computer (equipment), there is a problem that it takes too much time due to the limitation of computing resources.
예를 들어, 3D 그래픽 모델링 데이터는 많은 수의 프레임들을 포함하는데, 보통의 컴퓨터에서 하나의 프레임을 렌더링하는데 소요되는 시간은 약 2시간 정도이다. 그리고 영상이 사람의 눈에 끊김없이 자연스럽게 느껴지려면 초당 적어도 24 프레임을 필요로 한다. For example, the 3D graphics modeling data includes a large number of frames, and the time required to render one frame on a normal computer is about two hours. And it requires at least 24 frames per second to make the video feel seamless and seamless to the human eye.
따라서 예컨대 2시간 분량의 극장용 애니메이션 영화를 제작하는 경우, 2(hours)*60(minutes)*60(seconds)*24(frames)*2(좌, 우측 시각) = 345,600Hours = 40(years)이 소요되게 된다. Thus, for example, when a movie animation movie for the theater of 2 hours is produced, 2 (hours) * 60 (minutes) * 60 (seconds) * 24 (frames) * 2 (left and right views) = 345,600 hours = 40 .
이와 같이 많이 3D 콘텐츠 렌더링에 매우 많은 시간이 소요되기 때문에, 컴퓨팅 성능이 월등히 뛰어난 렌더링 전용장비가 주로 이용되고 있다. 그렇지만 이러한 렌더링 전용장비는 고가이기 때문에 구입에 어려움이 있다.Since rendering 3D contents takes much time in this way, rendering-only equipment with much better computing performance is mainly used. However, such rendering-only equipment is expensive and difficult to purchase.
본 발명이 이루고자 하는 기술적 과제는 고가의 렌더링 전용장비를 이용하지 않고도 적은 비용으로 3D 콘텐츠 렌더링을 수행할 수 있는 분산 렌더링 시스템을 제공하는 데 있다. 다만 본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.SUMMARY OF THE INVENTION The present invention provides a distributed rendering system capable of performing 3D content rendering at a low cost without using expensive expensive dedicated rendering equipment. It is to be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may be derived from the following description.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 분산 렌더링 시스템은, 각각이, 렌더링 프로그램을 이용하여 3D 그래픽 모델링 데이터를 프레임 별로 렌더링하여 이미지 파일을 생성하는 복수 개의 렌더링 노드들; 및 렌더링할 전체 프레임들을 분배하여, 상기 복수 개의 렌더링 노드들 각각에 렌더링할 프레임들을 할당하는 작업 스케줄러 서버를 포함하고, 상기 작업 스케줄러 서버는, 사용자의 지정에 따라서 상기 렌더링 노드들 각각에 렌더링할 프레임의 번호 또는 범위를 할당하거나, 상기 렌더링 노드들 각각에 지정된 가중치에 따라서 상기 렌더링 노드들 각각에 렌더링할 프레임의 번호 또는 범위를 할당할 수 있다.According to an aspect of the present invention, there is provided a distributed rendering system including: a plurality of rendering nodes each rendering 3D graphics modeling data frame by frame using a rendering program to generate an image file; And a task scheduler for distributing all the frames to be rendered and allocating frames to be rendered to each of the plurality of render nodes, wherein the task scheduler server comprises: Or assign a number or a range of a frame to be rendered to each of the render nodes according to a weight assigned to each of the render nodes.
상기 작업 스케줄러 서버는, 상기 렌더링 노드들 각각에 지정된 가중치에 따라서 각 렌더링 노드에 할당할 프레임의 양을 결정할 수 있다.The task scheduler server can determine the amount of frames to be allocated to each render node according to the weight value assigned to each of the render nodes.
상기 렌더링 노드들 각각에 지정된 가중치는, 상기 렌더링 노드들 각각의 컴퓨팅 성능에 따라 지정된 가중치일 수 있다.The weight assigned to each of the rendering nodes may be a weight determined according to the computing capability of each of the rendering nodes.
상기 컴퓨팅 성능은, CPU 성능, CPU코어수, 메모리용량 중 적어도 하나를 포함할 수 있다.The computing capability may include at least one of a CPU performance, a number of CPU cores, and a memory capacity.
상기 분산 렌더링 시스템은, 상기 렌더링 노드들에 의하여 생성된 이미지 파일을 저장하는 스토리지를 더 포함할 수 있다.The distributed rendering system may further include a storage for storing the image file generated by the rendering nodes.
상기 렌더링 노드들 각각은, 할당된 프레임의 렌더링이 완료될 때마다 해당 프레임의 렌더링 소요 시간을 포함하는 렌더링 작업 정보를 상기 작업 스케줄러 서버로 전송하고, 상기 작업 스케줄러 서버는 상기 렌더링 작업 정보를 해당 이미지 파일의 메타데이터로서 상기 스토리지에 저장하고, 상기 저장된 렌더링 작업 정보를 이용하여 상기 전체 프레임들에 대한 렌더링완료 예상시간을 산출할 수 있다.Each of the rendering nodes transmits rendering job information including a rendering time of the corresponding frame to the job scheduler server every time rendering of the allocated frame is completed, and the job scheduler server transmits the rendering job information to the corresponding image And stores the calculated meta data in the storage as the meta data of the file, and calculates the expected rendering completion time for the entire frames using the stored rendering job information.
상기 렌더링 작업 정보는, 해당 프레임 번호, 해당 렌더링 노드의 컴퓨팅 성능 정보, 해당 이미지 파일의 포맷, 해당 이미지 파일의 크기 중 적어도 하나를 더 포함할 수 있다.The rendering job information may further include at least one of a frame number, computing performance information of the rendering node, a format of the image file, and a size of the image file.
상기 렌더링 노드들 각각은, 할당된 각 프레임의 렌더링이 완료될 때마다 생성되는 이미지 파일을 로컬 디스크에 저장하고, 할당된 모든 프레임들의 렌더링이 완료되면 상기 로컬 디스크에 저장된 렌더링 결과 이미지 파일들을 상기 스토리지로 전송할 수 있다.Each of the rendering nodes stores an image file generated each time rendering of each frame is completed on a local disk, and when the rendering of all the allocated frames is completed, the rendering result image files stored in the local disk are stored in the storage Lt; / RTI >
상기 작업 스케줄러 서버는, 상기 복수 개의 렌더링 노드들 중 적어도 하나의 렌더링 노드에 오류가 발생하여 해당 렌더링 노드에서 렌더링 작업이 수행되지 못하는 경우, 상기 해당 렌더링 노드에 할당된 프레임들 중 렌더링되지 않은 프레임들을 상기 복수 개의 렌더링 노드들에서 상기 해당 렌더링 노드를 제외한 렌더링 노드들에 할당할 수 있다.The job scheduler server may be configured to, when an error occurs in at least one render node among the plurality of render nodes and fail to perform a render operation at the corresponding render node, The rendering nodes may be allocated to the rendering nodes excluding the corresponding rendering nodes.
상기 복수 개의 렌더링 노드들 각각은, 어떤 프레임의 렌더링 중에 렌더링에 필요한 이미지가 지정된 파일경로에 존재하지 않거나, 어떤 프레임의 렌더링 결과 이미지 파일을 지정된 파일경로에 저장하는 것이 실패한 경우, 해당 프레임을 스킵하고 다음 프레임을 렌더링할 수 있다.Each of the plurality of rendering nodes skips the frame if the image required for rendering is not present in the specified file path during the rendering of a certain frame or fails to store the rendering result image file of the certain frame in the specified file path The next frame can be rendered.
상기 복수 개의 렌더링 노드들은 복수 개의 그룹들로 구분되고, 상기 복수 개의 그룹들 중 적어도 하나의 그룹은, 특정 사용자 그룹에 속한 사용자가 요청한 렌더링 작업을 수행하도록 상기 특정 사용자 그룹에 할당되거나, 특정 렌더링 작업 프로젝트를 위한 렌더링 작업을 수행하도록 상기 특정 렌더링 작업 프로젝트에 할당될 수 있다.Wherein the plurality of rendering nodes are divided into a plurality of groups and at least one group of the plurality of groups is assigned to the specific user group to perform a rendering operation requested by a user belonging to a specific user group, And may be assigned to the specific rendering task project to perform a rendering operation for the project.
상기된 본 발명에 의하면, 3D 그래픽 모델링 데이터를 렌더링하여 이미지 파일을 생성하는 복수 개의 렌더링 노드들과 복수 개의 렌더링 노드들 각각에 렌더링할 프레임들을 할당하는 작업 스케줄러 서버를 이용하여, 고가의 렌더링 전용장비를 이용하지 않고도 적은 비용으로 3D 콘텐츠 렌더링을 수행할 수 있다. 다만 본 발명의 효과는 상기된 바와 같은 효과로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 효과가 도출될 수도 있다.According to the present invention, by using a task scheduler server that allocates frames to be rendered to a plurality of render nodes and a plurality of render nodes for rendering 3D graphic modeling data to generate an image file, It is possible to perform 3D content rendering at a low cost without using the 3D content. However, the effects of the present invention are not limited to those described above, and other technical effects may be derived from the following description.
도 1은 본 발명의 일 실시예에 따른 분산 렌더링 시스템의 구성을 나타낸다.
도 2는 사용자의 지정에 따라서 렌더링 노드들 각각에 렌더링할 프레임의 번호 또는 범위를 할당하고, 렌더링 노드들 각각이 그에 따라 렌더링 작업을 수행하는 과정을 보여주는 흐름도이다.
도 3은 렌더링 노드들 각각에 지정된 가중치에 따라서 렌더링할 프레임의 번호 또는 범위를 할당하고, 렌더링 노드들 각각이 그에 따라 렌더링 작업을 수행하는 과정을 보여주는 흐름도이다.
도 4는 렌더링 노드들 각각이 렌더링 작업 정보를 작업 스케줄러 서버로 전송하고, 이를 이용하여 작업 스케줄러 서버가 전체 프레임에 대한 렌더링완료 예상시간을 산출하는 과정을 보여주는 흐름도이다.
도 5는 렌더링 노드가 각 프레임의 렌더링이 완료될 때마다 생성되는 이미지 파일을 로컬 디스크에 저장하고, 모든 프레임들의 렌더링이 완료되면 렌더링 결과 이미지 파일들을 한꺼번에 스토리지에 저장하는 과정을 보여주는 흐름도이다.
도 6은 렌더링 노드에 오류가 발생한 경우 나머지 렌더링 노드들에서 오류가 발생한 렌더링 노드의 렌더링 작업이 수행되는 과정을 보여주는 흐름도이다.
도 7은 작업 스케줄러 서버가 관리하는 렌더링 노드들의 그룹 정보를 나타내는 테이블의 일 예를 보여준다. 1 shows a configuration of a distributed rendering system according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating a process of assigning a number or a range of a frame to be rendered to each of the rendering nodes according to a user's designation, and each rendering node performing a rendering operation accordingly.
FIG. 3 is a flowchart illustrating a process of allocating a number or a range of a frame to be rendered according to a weight assigned to each of the rendering nodes, and performing a rendering operation according to each of the rendering nodes.
FIG. 4 is a flowchart illustrating a process in which each of the rendering nodes transmits rendering job information to a job scheduler server, and the job scheduler server calculates a rendering completion time for the entire frame.
5 is a flowchart illustrating a process in which a rendering node stores an image file generated each time rendering of each frame is completed on a local disk, and stores rendering result image files in the storage at once when rendering of all frames is completed.
FIG. 6 is a flowchart illustrating a rendering process of a rendering node in which an error occurs in the remaining rendering nodes when an error occurs in the rendering node.
FIG. 7 shows an example of a table showing group information of rendering nodes managed by the job scheduler server.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, substantially the same components are denoted by the same reference numerals, and redundant description will be omitted. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
도 1은 본 발명의 일 실시예에 따른 분산 렌더링 시스템의 구성을 나타낸다. 본 실시예에 따른 분산 렌더링 시스템은, 작업자 단말기(10), 작업 스케줄러 서버(20), 다수의 렌더링 노드들(30_1, 30_2, ..., 30_n), 스토리지(40)를 포함하여 이루어진다. 작업자 단말기(10), 작업 스케줄러 서버(20), 렌더링 노드들(30), 스토리지(40)는 하나의 네트워크 허브(network hub)를 통하여 연결될 수 있으며, 동일한 사무실 내 또는 동일한 건물 내에 위치할 수 있다.1 shows a configuration of a distributed rendering system according to an embodiment of the present invention. The distributed rendering system according to the present embodiment includes a
렌더링 노드들(30)은 3D 그래픽 모델링 데이터를 프레임 별로 렌더링하여 이미지 파일을 생성하는 프로그램인 렌더링 프로그램이 설치될 수 있는 컴퓨팅 장치로서, 예컨대 퍼스널 컴퓨터(PC), 노트북 등의 휴대용 컴퓨터, 워크스테이션 등일 수 있다. 본 명세서에서 설명하는 렌더링 노드(30)의 기능 및 동작은 렌더링 노드(30)에 설치된 렌더링 프로그램의 기능 및 동작으로도 이해될 수 있다. The rendering nodes 30 are computing devices capable of installing a rendering program, which is a program for rendering 3D graphic modeling data frame by frame and generating an image file. The rendering nodes 30 may be a portable computer such as a personal computer (PC), a notebook computer, . The function and operation of the rendering node 30 described herein may also be understood as the function and operation of the rendering program installed in the rendering node 30. [
작업자 단말기(10)는 렌더링 작업을 수행할 3D 그래픽 모델링 데이터를 지정하여 작업 스케줄러 서버(20)에게 렌더링 작업을 지시하고, 작업 스케줄러 서버(20)를 제어하기 위한 컴퓨팅 장치로서, 역시 퍼스널 컴퓨터(PC), 노트북 등의 휴대용 컴퓨터, 워크스테이션 등일 수 있다. 렌더링 노드들(30) 중 하나가 작업자 단말기(10)로 이용될 수도 있다. The
작업 스케줄러 서버(20)는 작업자 단말기(10)로부터 어떤 3D 그래픽 모델링 데이터의 렌더링 작업이 요청되면, 렌더링할 전체 프레임들을 분배하여, 렌더링 노드들(30) 각각에 렌더링할 프레임들을 할당한다. 본 발명의 실시예에서, 작업 스케줄러 서버(20)는, 사용자의 지정에 따라서 렌더링 노드들(30) 각각에 렌더링할 프레임의 번호 또는 범위를 할당하거나, 렌더링 노드들(30) 각각에 지정된 가중치에 따라서 렌더링 노드들(30) 각각에 렌더링할 프레임의 번호 또는 범위를 할당할 수 있다.The
스토리지(40)는 렌더링 노드들(30)로부터 렌더링 작업을 통하여 생성된 이미지 파일을 수신하여 저장한다. The
이하에서는 도 2 내지 8을 더욱 참조하여 본 발명의 실시예들에 따른 분산 렌더링 시스템의 동작을 보다 구체적으로 설명한다.Hereinafter, the operation of the distributed rendering system according to the embodiments of the present invention will be described in more detail with reference to FIGS. 2 to 8. FIG.
본 발명의 일 실시예에서, 작업 스케줄러 서버(20)는 사용자의 지정에 따라서 렌더링 노드들(30) 각각에 렌더링할 프레임의 번호 또는 범위를 할당하고, 렌더링 노드들(30) 각각은 그에 따라 렌더링 작업을 수행할 수 있다. 도 2는 이러한 실시예에 따른 흐름도를 보여준다.In one embodiment of the present invention, the
210단계에서, 작업자 단말기(10)는 렌더링 작업을 수행할 3D 그래픽 모델링 데이터를 지정하여 작업 스케줄러 서버(20)에게 렌더링 작업을 지시한다. 3D 그래픽 모델링 데이터는 사용자로부터 입력되는 것이거나, 스토리지(40)에 저장되어 있는 것일 수 있다. In
220단계에서, 사용자는 작업자 단말기(10)를 통하여 렌더링 노드들(30)마다 프레임 번호 또는 프레임 범위를 지정한다. 전형적으로, 렌더링 노드들(30)은 CPU 성능, CPU코어수, 메모리용량 등과 같은 컴퓨팅 성능이 상이하므로, 사용자는 렌더링 노드들(30)의 컴퓨팅 성능에 따라 렌더링 노드들(30)에 서로 다른 양의 프레임을 지정할 수 있다. 예컨대, 컴퓨팅 성능이 상대적으로 낮은 첫 번째 렌더링 노드(30_1)에는 1번 프레임부터 50번 프레임까지의 50개 프레임이 지정되고, 컴퓨팅 성능이 상대적으로 두 번째 렌더링 노드(30_2)에는 51번 프레임부터 150번 프레임까지의 100개 프레임이 지정될 수 있다. In
220단계에서 지정된 렌더링 노드들(30)마다의 프레임 번호 또는 프레임 범위는 작업 스케줄러 서버(20)에 저장될 수 있다(225단계). 이때 프레임 번호 또는 프레임 범위 외에도 렌더링 작업 파일의 경로, 결과 이미지 포맷 등의 정보가 추가로 저장될 수 있다. 이렇게 저장된 정보는 다음 렌더링 작업 시에 다시 사용될 수 있다. The frame number or frame range for each rendering node 30 specified in
230단계에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30)마다 프레임 번호 또는 프레임 범위에 대한 정보와 함께 해당 3D 그래픽 모델링 데이터를 전송함으로써 렌더링 작업을 지시한다. In
240단계에서, 렌더링 노드들(30)은 작업 스케줄러 서버(20)로부터 지시된 렌더링 작업을 수행한다.In
250단계에서, 렌더링 노드들(30)은 자신에게 할당된 프레임들의 렌더링 작업이 완료되면 이미지 파일을 스토리지(40)로 전송 및 저장한다. In
본 발명의 다른 일 실시예에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30) 각각에 지정된 가중치에 따라서 렌더링 노드들(30) 각각에 렌더링할 프레임의 번호 또는 범위를 할당하고, 렌더링 노드들(30) 각각은 그에 따라 렌더링 작업을 수행할 수 있다. 도 3은 이러한 실시예에 따른 흐름도를 보여준다.In another embodiment of the present invention, the
310단계에서, 작업자 단말기(10)는 렌더링 작업을 수행할 3D 그래픽 모델링 데이터를 지정하여 작업 스케줄러 서버(20)에게 렌더링 작업을 지시한다. 3D 그래픽 모델링 데이터는 사용자로부터 입력되는 것이거나, 스토리지(40)에 저장되어 있는 것일 수 있다. In operation 310, the
320단계에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30)마다 가중치를 지정한다. 이때 렌더링 노드들(30)의 가중치들은 렌더링 노드들(30) 각각의 컴퓨팅 성능에 따라 지정될 수 있다. 여기서 컴퓨팅 성능은 CPU 성능, CPU코어수, 메모리용량 등을 포함할 수 있다. 예컨대, 렌더링 작업을 수행할 세 대의 렌더링 노드가 있고, CPU코어수, 메모리용량이 동일하고 CPU 속도가 각각 1.5GHz, 3GHz, 3GHz 인 경우, 각 렌더링 노드의 가중치는 CPU 속도에 상응하도록 1, 2, 2로 지정될 수 있다. 렌더링 노드들(30)의 가중치는 작업자 단말기(10)를 통하여 사용자가 지정할 수도 있고, 작업 스케줄러 서버(20)가 컴퓨팅 성능 정보를 렌더링 노드들(30)로부터 수집하거나 사용자로부터 입력받아서 렌더링 노드들(30)의 컴퓨팅 성능 정보에 따라 지정할 수도 있다. In
320단계에서 지정된 렌더링 노드들(30)마다의 가중치 정보는 작업 스케줄러 서버(20)에 저장될 수 있다(325단계). 이때 가중치 정보 외에도 렌더링 작업 파일의 경로, 결과 이미지 포맷 등의 정보가 추가로 저장될 수 있다. 이렇게 저장된 정보는 다음 렌더링 작업 시에 다시 사용될 수 있다. The weight information for each render node 30 designated in
330단계에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30)의 가중치에 따라 렌더링 노드들(30)마다 프레임 번호 또는 프레임 범위를 결정한다. 가중치가 다른 렌더링 노드들에는 가중치에 따라 서로 다른 양의 프레임이 할당될 수 있다. 예컨대 위와 같이 가중치가 각각 1, 2, 2인 세 대의 렌더링 노드가 있을 때, 렌더링할 전체 프레임이 100개라면, 세 대의 렌더링 노드에는 각각 100*(1/5), 100*(2/5), 100*(2/5), 즉 20개, 40개, 40개의 프레임이 할당될 수 있다. 그러면 첫 번째 렌더링 노드는 1번~20번 프레임, 두 번째 렌더링 노드는 21번~60번 프레임, 세 번째 렌더링 노드는 61~100번 프레임이 렌더링할 프레임으로 결정될 수 있다.In
340단계에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30)마다 프레임 번호 또는 프레임 범위에 대한 정보와 함께 해당 3D 그래픽 모델링 데이터를 전송함으로써 렌더링 작업을 지시한다. In
350단계에서, 렌더링 노드들(30)은 작업 스케줄러 서버(20)로부터 지시된 렌더링 작업을 수행한다.In
360단계에서, 렌더링 노드들(30)은 자신에게 할당된 프레임들의 렌더링 작업이 완료되면 이미지 파일을 스토리지(40)로 전송 및 저장한다. In
본 발명의 일 실시예에서, 렌더링 노드들(30) 각각은 자신에게 할당된 프레임의 렌더링이 완료될 때마다 해당 프레임의 렌더링 소요 시간을 포함하는 렌더링 작업 정보를 작업 스케줄러 서버(20)로 전송하고, 작업 스케줄러 서버(20)는 렌더링 노드들(30)로부터 수집된 렌더링 작업 정보를 해당 이미지 파일의 메타데이터로서 스토리지(40)에 저장하고, 저장된 렌더링 작업 정보를 이용하여 전체 프레임에 대한 렌더링완료 예상시간을 산출할 수 있다. 도 4는 이러한 실시예에 따른 흐름도를 보여준다.In one embodiment of the present invention, each rendering node 30 transmits rendering job information including the required rendering time of the frame to the
렌더링 노드(30)는 410단계에서 현재 프레임의 렌더링이 완료되면, 렌더링할 다음 프레임이 존재하는지 확인하고(413단계), 다음 프레임이 존재하면 410단계로 돌아가서 다음 프레임에 대한 렌더링을 수행한다.In
한편, 렌더링 노드(30)는 410단계에서 현재 프레임의 렌더링이 완료되면, 420단계에서 해당 프레임의 렌더링 작업 정보를 작업 스케줄러 서버(20)로 전송한다. 렌더링 작업 정보는, 해당 프레임 번호, 해당 프레임의 렌더링 소요 시간, 해당 렌더링 노드의 컴퓨팅 성능 정보, 해당 이미지 파일의 포맷, 해당 이미지 파일의 크기 등을 포함할 수 있다. When the rendering of the current frame is completed in
430단계에서, 렌더링 노드(30)로부터 렌더링 작업 정보를 수신한 작업 스케줄러 서버(20)는 수신한 렌더링 작업 정보를 해당 이미지 파일의 메타데이터로서 스토리지(40)에 저장한다. In
440단계에서, 작업 스케줄러 서버(20)는 스토리지(40)에 저장된 렌더링 작업 정보를 이용하여 렌더링 노드들(30)마다 아직 렌더링되지 않은 남은 프레임들의 렌더링 예상시간을 산출한다. 간단한 예로, 어떤 렌더링 노드에서 방금 렌더링 완료된 프레임의 렌더링 소요시간이 1시간이고 10개의 프레임이 남아 있다면, 그 렌더링 노드에서의 렌더링 예상시간은 10시간으로 산출될 수 있다. 어떤 렌더링 노드에서 이미 렌더링 완료된 프레임이 여러 개인 경우, 남은 프레임의 렌더링 예상시간은 여러 프레임들의 렌더링 소요시간들을 바탕으로 산출될 수도 있다.In
450단계에서, 작업 스케줄러 서버(20)는 440단계에서 산출된 각 렌더링 노드의 렌더링 예상시간을 이용하여, 전체 프레임들에 대한 렌더링완료 예상시간을 산출한다. 전체 프레임들에 대한 렌더링완료 예상시간은, 각 렌더링 노드의 렌더링 예상시간 중 가장 큰 값으로 산출될 수 있다. 예컨대, 세 대의 렌더링 노드의 렌더링 예상시간이 10시간, 15시간, 20시간인 경우, 전체 프레임들에 대한 렌더링완료 예상시간은 20시간으로 산출될 수 있다. 산출된 렌더링완료 예상시간은 작업자 단말기(10)로 전송되어 사용자에게 보여질 수 있다.In
렌더링 작업 정보는 렌더링 노드들(30)에서 프레임이 렌더링될 때마다 스토리지(40)에 누적되어 저장된다. 따라서 상기된 440단계와 450단계는 프레임이 렌더링 완료될 때마다 또는 주기적으로 수행되어, 계속적으로 업데이트되는 렌더링완료 예상시간이 사용자에게 제공될 수 있다. The rendering job information is accumulated and stored in the
렌더링 노드들(30)은 자신에게 할당된 각 프레임의 렌더링이 완료될 때마다 해당 이미지 파일을 스토리지(40)로 전송할 수 있으나, 실시예에 따라서는, 할당된 각 프레임의 렌더링이 완료될 때마다 생성되는 이미지 파일을 자신의 로컬 디스크(미도시)에 저장하고, 할당된 모든 프레임들의 렌더링이 완료되면 비로소 로컬 디스크에 저장된 렌더링 결과 이미지 파일들을 한꺼번에 스토리지(40)로 전송할 수도 있다. 이렇게 함으로써, 매 프레임마다 이미지 파일을 전송함으로써 유발되는 네트워크 부하를 경감할 수 있다. 도 5는 이러한 실시예에 따른 흐름도를 보여준다.The rendering nodes 30 may transmit the image file to the
렌더링 노드(30)는 510단계에서 현재 프레임의 렌더링이 완료되면, 렌더링할 다음 프레임이 존재하는지 확인하고(515단계), 다음 프레임이 존재하면 510단계로 돌아가서 다음 프레임에 대한 렌더링을 수행한다.When rendering of the current frame is completed in
한편, 렌더링 노드(30)는 510단계에서 현재 프레임의 렌더링이 완료되면, 520단계에서 해당 프레임의 렌더링 결과 이미지 파일을 자신의 로컬 디스크에 저장한다. If the rendering of the current frame is completed in
상기 515단계에서 렌더링할 다음 프레임이 더 이상, 존재하지 않으면, 즉 자신에게 할당된 모든 프레임들의 렌더링이 완료되면, 530단계에서 렌더링 노드(30)는 로컬 디스크에 저장된 렌더링 결과 이미지 파일들을 불러와서 스토리지(40)로 전송한다.If the next frame to be rendered is no longer present in
본 발명의 일 실시예에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30) 중 적어도 하나의 렌더링 노드에 오류가 발생하여 해당 렌더링 노드에서 렌더링 작업이 더 이상 수행되지 못하는 경우, 해당 렌더링 노드에 할당된 프레임들 중 아직 렌더링되지 않은 프레임들을 해당 렌더링 노드를 제외한 나머지 렌더링 노드들에 할당함으로써, 오류가 발생한 렌더링 노드에서 렌더링되지 않은 프레임들이 나머지 렌더링 노드들에서 렌더링되도록 할 수 있다. 도 6은 이러한 실시예에 따른 흐름도를 보여준다.In an exemplary embodiment of the present invention, when at least one rendering node of the rendering nodes 30 generates an error and the rendering job is no longer performed at the rendering node, the
렌더링 노드에 오류가 발생하여 렌더링 작업이 더 이상 수행되지 못하는 경우, 렌더링 프로그램이 이를 감지하여 작업 스케줄러 서버(20)로 렌더링 오류 발생을 보고할 수 있다. 또는 앞서 설명한 바와 같이 작업 스케줄러 서버(20)가 렌더링 노드로부터 프레임의 렌더링이 완료될 때마다 렌더링 작업 정보를 수신하는 경우, 다음 프레임의 렌더링 예상시간보다 일정 시간이 경과하도록 렌더링 작업 정보가 수신되지 않는다면 해당 렌더링 노드에서 렌더링 오류가 발생한 것으로 판단할 수도 있다. If the rendering operation is no longer performed due to an error in the rendering node, the rendering program can detect this and report the occurrence of rendering error to the
610단계에서, 렌더링 노드들(30) 중 어떤 렌더링 노드에 오류가 발생하면, 620단계에서 작업 스케줄러 서버(20)는 해당 렌더링 노드에서 아직 렌더링되지 않은 프레임들을 확인한다. If an error occurs in a rendering node among rendering nodes 30 in
630단계에서, 작업 스케줄러 서버(20)는 해당 렌더링 노드에서 아직 렌더링되지 않은 프레임들에 대하여, 해당 렌더링 노드를 제외한 나머지 렌더링 노드들마다 할당할 프레임 번호 또는 범위를 결정한다. 이때 나머지 렌더링 노드들에 렌더링할 프레임들이 균일하게 할당되도록 결정될 수도 있다. 예컨대, 4대의 렌더링 노드가 렌더링 작업을 수행하던 중 하나의 렌더링 노드에 오류가 발생하고, 해당 렌더링 노드에서 렌더링할 프레임이 30개 남아 있다면, 나머지 3대의 렌더링 노드에 10개의 프레임이 할당되도록 각 렌더링 노드마다 프레임 번호 또는 프레임 범위가 결정될 수 있다. 혹은, 나머지 렌더링 노드들의 가중치에 따라서 렌더링할 프레임이 서로 다른 양으로 할당되도록 결정될 수도 있다. 위에서 든 예의 경우에, 나머지 3대의 렌더링 노드의 가중치가 각각 1, 2, 2인 경우, 30개의 프레임들이 나머지 세 대의 렌더링 노드들에 6개, 12개, 12개로 분배되도록 각 렌더링 노드마다 프레임 번호 또는 범위가 결정될 수 있다.In
640단계에서, 작업 스케줄러 서버(20)는 630단계에서 결정된 프레임 번호 또는 프레임 범위의 정보와 함께 해당 3D 그래픽 모델링 데이터를 전송함으로써 렌더링 작업을 지시한다. In
본 발명의 일 실시예에서, 렌더링 노드(30)는 어떤 프레임의 렌더링 중에 렌더링 작업 데이터에 오류가 발생하면, 렌더링 작업을 종료하는 것이 아니라, 해당 프레임을 스킵하고 다음 프레임을 렌더링할 수 있다. 렌더링 작업 데이터의 오류는, 어떤 프레임의 렌더링에 필요한 이미지가 네트워크 상의 지정된 파일경로에 존재하지 않거나, 렌더링 결과 이미지 파일을 네트워크 상의 지정된 파일경로에 저장하는 것이 실패하는 경우를 의미한다. 지정된 파일경로에 저장하는 것이 실패하는 경우는, 예컨대 파일경로의 접근권한 또는 네트워크 과부하 때문일 수 있다. In an embodiment of the present invention, if an error occurs in the rendering operation data during rendering of a frame, the rendering node 30 may skip the frame and render the next frame instead of terminating the rendering operation. An error in rendering job data means that the image required to render a frame does not exist in the specified file path on the network or fails to save the rendering result image file in the specified file path on the network. Failure to save to the specified file path may be due, for example, to an access right in the file path or network overload.
또한, 렌더링 노드(30)는 어떤 프레임의 렌더링에 필요한 이미지가 네트워크 상의 지정된 파일경로에 존재하지 않는 경우, 작업 스케줄러 서버(20)로부터의 작업지시정보에 포함되어 있는 파일경로들을 검색하여, 필요한 이미지를 찾아서 렌더링을 수행하거나 찾은 이미지를 지정된 파일경로에 복사할 수도 있다. The rendering node 30 searches the file paths included in the work instruction information from the
본 발명의 일 실시예에서, 작업 스케줄러 서버(20)는 렌더링 노드들(30)은 복수 개의 그룹들로 구분하여 관리할 수 있다. In one embodiment of the present invention, the
예컨대 렌더링 노드들(30)은 이른바 공용풀(public pool)과 전용풀(private pool)로 구분될 수 있다. 분산 렌더링 시스템에 처음 연결된 컴퓨팅 장비는 우선 공용풀이라는 기본 그룹에 속하도록 할 수 있다. 공용풀에 속한 렌더링 노드는 작업 스케줄러 서버(20)가 분배하는 모든 렌더링 작업을 수행하며, 먼저 부여된 렌더링 작업을 우선적으로 수행할 수 있다.For example, rendering nodes 30 may be divided into so-called public pools and private pools. A computing device that is initially connected to a distributed rendering system can first be made to belong to a base group called a public pool. The rendering node belonging to the public pool performs all the rendering tasks distributed by the
전용풀은 특정 사용자 그룹에 속한 사용자가 요청한 렌더링 작업을 수행하도록 특정 사용자 그룹에 할당된 렌더링 노드들의 그룹을 포함하거나, 특정 렌더링 작업 프로젝트를 위한 렌더링 작업을 수행하도록 특정 렌더링 작업 프로젝트에 할당된 렌더링 노드들의 그룹을 포함할 수 있다. 여기서 사용자 그룹은 작업자 단말기(10)를 통하여 작업 스케줄러 서버(20)에 접속하기 위한 사용자 아이디의 집합에 대응될 수 있고, 렌더링 작업 프로젝트는 렌더링 작업을 수행할 콘텐츠에 대응될 수 있다. The balloon may include a group of rendering nodes assigned to a particular user group to perform a rendering operation requested by a user belonging to a particular user group, or may include a group of rendering nodes assigned to a particular rendering task, Group. Here, the user group may correspond to a set of user IDs for connecting to the
도 7은 작업 스케줄러 서버(20)가 관리하는 렌더링 노드들(20)의 그룹 정보를 나타내는 테이블의 일 예를 보여준다. FIG. 7 shows an example of a table showing group information of the
도 7을 참조하면, 100대의 렌더링 노드들이 존재하고, 1번~80번 렌더링 노드들은 전용풀에 속하며, 81번~100번 렌더링 노드들은 공용풀에 속한다. Referring to FIG. 7, there are 100 rendering nodes,
예컨대 사용자 그룹 A는 사용자 아이디 A-1, A-2, ..., A-m의 사용자 아이디를 가지는 m명의 사용자를 포함하며, 사용자 그룹 B는 B-1, B-2, ..., B-n의 사용자 아이디를 가지는 n명의 사용자를 포함한다. 전용풀에 속하는 1번~80번 렌더링 노드들 중 일부 렌더링 노드들(예컨대 1~40번 렌더링 노드들)은 사용자 그룹 A에 할당되고, 나머지 일부 렌더링 노드들(예컨대 41번~80번 렌더링 노드들)은 사용자 그룹 B에 할당된다. 사용자 그룹 A에 속한 사용자가 사용자 아이디로 작업자 단말기(10)를 통하여 작업 스케줄러 서버(20)에 접속하여 렌더링 작업을 지시하면, 작업 스케줄러 서버(20)는 렌더링 작업을 1~40번 렌더링 노드들에 분배하여 할당한다. 사용자 그룹 B에 속한 사용자가 사용자 아이디로 작업자 단말기(10)를 통하여 작업 스케줄러 서버(20)에 접속하여 렌더링 작업을 지시하면, 작업 스케줄러 서버(20)는 렌더링 작업을 41~80번 렌더링 노드들에 분배하여 할당한다. 공용풀에 속한 렌더링 노드가 다른 렌더링 작업에 의하여 선점되어 있지 않으면, 렌더링 작업은 공용풀에 속한 해당 렌더링 노드에 분배될 수도 있다. For example, user group A includes m users having user IDs of user IDs A-1, A-2, ..., Am, and user group B includes users of B-1, B-2, Includes n users with a user ID. Some rendering nodes (e.g.,
예컨대 렌더링 작업 프로젝트로서, '타요' 프로젝트와 '뽀로로' 프로젝트가 있는 경우, 전용풀에 속하는 1번~80번 렌더링 노드들 중 일부 렌더링 노드들(예컨대 1~30번 렌더링 노드들)은 '타요' 프로젝트에 할당되고, 나머지 일부 렌더링 노드들(예컨대 31번~80번 렌더링 노드들)은 '뽀로로' 프로젝트에 할당된다. 사용자가 작업자 단말기(10)를 통하여 작업 스케줄러 서버(20)로 '타요' 프로젝트에 해당하는 렌더링 작업을 지시하면, 작업 스케줄러 서버(20)는 해당 렌더링 작업을 1~30번 렌더링 노드들에 분배하여 할당한다. 사용자가 작업자 단말기(10)를 통하여 작업 스케줄러 서버(20)로 '뽀로로' 프로젝트에 해당하는 렌더링 작업을 지시하면, 작업 스케줄러 서버(20)는 해당 렌더링 작업을 31~80번 렌더링 노드들에 분배하여 할당한다. 공용풀에 속한 렌더링 노드가 다른 렌더링 작업에 의하여 선점되어 있지 않으면, 렌더링 작업은 공용풀에 속한 해당 렌더링 노드에 분배될 수도 있다.For example, if there are a 'Too' project and a 'Pororo' project as a rendering work project, some of the rendering nodes (for example,
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.The above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium. The computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
Claims (11)
렌더링할 전체 프레임들을 분배하여, 상기 복수 개의 렌더링 노드들 각각에 렌더링할 프레임들을 할당하는 작업 스케줄러 서버를 포함하고,
상기 작업 스케줄러 서버는, 사용자의 지정에 따라서 상기 렌더링 노드들 각각에 렌더링할 프레임의 번호 또는 범위를 할당하거나, 상기 렌더링 노드들 각각에 지정된 가중치에 따라서 상기 렌더링 노드들 각각에 렌더링할 프레임의 번호 또는 범위를 할당하는 것을 특징으로 하는 분산 렌더링 시스템.A plurality of rendering nodes each rendering 3D graphic modeling data frame by frame using a rendering program to generate an image file; And
And a task scheduler for distributing all frames to be rendered and assigning frames to be rendered to each of the plurality of render nodes,
The job scheduler server allocates a number or a range of a frame to be rendered to each of the render nodes according to a user's designation or a number of a frame to be rendered in each of the render nodes according to a weight assigned to each of the render nodes, And a range is assigned.
상기 작업 스케줄러 서버는, 상기 렌더링 노드들 각각에 지정된 가중치에 따라서 각 렌더링 노드에 할당할 프레임의 양을 결정하는 것을 특징으로 하는 분산 렌더링 시스템.The method according to claim 1,
Wherein the task scheduler server determines an amount of frames to be allocated to each render node according to a weight value assigned to each of the render nodes.
상기 렌더링 노드들 각각에 지정된 가중치는, 상기 렌더링 노드들 각각의 컴퓨팅 성능에 따라 지정된 가중치인 것을 특징으로 하는 분산 렌더링 시스템.The method according to claim 1,
Wherein the weight assigned to each of the rendering nodes is a weight determined according to the computing capability of each of the rendering nodes.
상기 컴퓨팅 성능은, CPU 성능, CPU코어수, 메모리용량 중 적어도 하나를 포함하는 것을 특징으로 하는 분산 렌더링 시스템.The method of claim 3,
Wherein the computing capability comprises at least one of a CPU performance, a number of CPU cores, and a memory capacity.
상기 렌더링 노드들에 의하여 생성된 이미지 파일을 저장하는 스토리지를 더 포함하는 것을 특징으로 하는 분산 렌더링 시스템.The method according to claim 1,
And a storage for storing the image file generated by the rendering nodes.
상기 렌더링 노드들 각각은, 할당된 프레임의 렌더링이 완료될 때마다 해당 프레임의 렌더링 소요 시간을 포함하는 렌더링 작업 정보를 상기 작업 스케줄러 서버로 전송하고,
상기 작업 스케줄러 서버는 상기 렌더링 작업 정보를 해당 이미지 파일의 메타데이터로서 상기 스토리지에 저장하고, 상기 저장된 렌더링 작업 정보를 이용하여 상기 전체 프레임들에 대한 렌더링완료 예상시간을 산출하는 것을 특징으로 하는 분산 렌더링 시스템.6. The method of claim 5,
Each of the rendering nodes transmits rendering job information including a rendering time required for the frame to the job scheduler server every time rendering of the allocated frame is completed,
Wherein the job scheduler server stores the rendering job information in the storage as meta data of the image file and calculates a rendering completion estimated time for the entire frames using the stored rendering job information. system.
상기 렌더링 작업 정보는, 해당 프레임 번호, 해당 렌더링 노드의 컴퓨팅 성능 정보, 해당 이미지 파일의 포맷, 해당 이미지 파일의 크기 중 적어도 하나를 더 포함하는 것을 특징으로 하는 분산 렌더링 시스템.The method according to claim 6,
Wherein the rendering task information further includes at least one of a frame number, computing performance information of the rendering node, a format of the image file, and a size of the image file.
상기 렌더링 노드들 각각은, 할당된 각 프레임의 렌더링이 완료될 때마다 생성되는 이미지 파일을 로컬 디스크에 저장하고, 할당된 모든 프레임들의 렌더링이 완료되면 상기 로컬 디스크에 저장된 렌더링 결과 이미지 파일들을 상기 스토리지로 전송하는 것을 특징으로 하는 분산 렌더링 시스템.6. The method of claim 5,
Each of the rendering nodes stores an image file generated each time rendering of each frame is completed on a local disk, and when the rendering of all the allocated frames is completed, the rendering result image files stored in the local disk are stored in the storage To the distributed rendering system.
상기 작업 스케줄러 서버는, 상기 복수 개의 렌더링 노드들 중 적어도 하나의 렌더링 노드에 오류가 발생하여 해당 렌더링 노드에서 렌더링 작업이 수행되지 못하는 경우, 상기 해당 렌더링 노드에 할당된 프레임들 중 렌더링되지 않은 프레임들을 상기 복수 개의 렌더링 노드들에서 상기 해당 렌더링 노드를 제외한 렌더링 노드들에 할당하는 것을 특징으로 하는 분산 렌더링 시스템.The method according to claim 1,
The job scheduler server may be configured to, when an error occurs in at least one render node among the plurality of render nodes and fail to perform a render operation at the corresponding render node, Wherein the plurality of rendering nodes are allocated to the rendering nodes excluding the corresponding rendering nodes.
상기 복수 개의 렌더링 노드들 각각은, 어떤 프레임의 렌더링 중에 렌더링에 필요한 이미지가 지정된 파일경로에 존재하지 않거나, 어떤 프레임의 렌더링 결과 이미지 파일을 지정된 파일경로에 저장하는 것이 실패한 경우, 해당 프레임을 스킵하고 다음 프레임을 렌더링하는 것을 특징으로 하는 분산 렌더링 시스템.The method according to claim 1,
Each of the plurality of rendering nodes skips the frame if the image required for rendering is not present in the specified file path during rendering of a frame or fails to store a rendering result image file of a certain frame in the specified file path And the next frame is rendered.
상기 복수 개의 렌더링 노드들은 복수 개의 그룹들로 구분되고, 상기 복수 개의 그룹들 중 적어도 하나의 그룹은, 특정 사용자 그룹에 속한 사용자가 요청한 렌더링 작업을 수행하도록 상기 특정 사용자 그룹에 할당되거나, 특정 렌더링 작업 프로젝트를 위한 렌더링 작업을 수행하도록 상기 특정 렌더링 작업 프로젝트에 할당되는 것을 특징으로 하는 분산 렌더링 시스템. The method according to claim 1,
Wherein the plurality of rendering nodes are divided into a plurality of groups and at least one group of the plurality of groups is assigned to the specific user group to perform a rendering operation requested by a user belonging to a specific user group, And is assigned to the specific rendering task project to perform a rendering operation for the project.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140170301A KR101660514B1 (en) | 2014-12-02 | 2014-12-02 | Distributed Rendering System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140170301A KR101660514B1 (en) | 2014-12-02 | 2014-12-02 | Distributed Rendering System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160066228A true KR20160066228A (en) | 2016-06-10 |
KR101660514B1 KR101660514B1 (en) | 2016-09-29 |
Family
ID=56190587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140170301A KR101660514B1 (en) | 2014-12-02 | 2014-12-02 | Distributed Rendering System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101660514B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190092922A (en) * | 2018-01-31 | 2019-08-08 | 타임시스템(주) | Customized Motion Graphic Video Production System |
KR102081364B1 (en) * | 2019-11-27 | 2020-02-25 | (주)비디오몬스터 | Variable distributed rendering system for editing video based on cloud and method thereof |
KR102238670B1 (en) * | 2019-10-31 | 2021-04-09 | 박재범 | Distributed rendering system and method using idle resource of users |
KR102274610B1 (en) * | 2020-12-24 | 2021-07-07 | (주)비디오몬스터 | System for distributed rendering video based on cloud and method for auto scaling threrof |
WO2022103225A1 (en) * | 2020-11-13 | 2022-05-19 | 삼성전자 주식회사 | Electronic device and image rendering method of electronic device |
WO2022168996A1 (en) * | 2021-02-02 | 2022-08-11 | 박재범 | Distributed rendering system and method for distributed rendering using idle resources of user |
KR20220147381A (en) * | 2021-04-27 | 2022-11-03 | (주)이머시브캐스트 | Distributed rendering based cloud vr device |
US11935149B2 (en) | 2020-11-13 | 2024-03-19 | Samsung Electronics Co., Ltd | Electronic device and image rendering method thereof for adjusting frame rate |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572951B (en) * | 2017-03-08 | 2021-08-17 | 星际空间(天津)科技发展有限公司 | Mapping data three-dimensional display system based on geographic information |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233600A (en) * | 2001-12-03 | 2003-08-22 | Ziosoft Inc | Volume rendering processing method, volume rendering processing system, computer and program |
JP2006520026A (en) * | 2002-12-31 | 2006-08-31 | モトローラ・インコーポレイテッド | System and method for rendering content on multiple devices |
JP2009181482A (en) * | 2008-01-31 | 2009-08-13 | Fuji Television Network Inc | Image processing system and image processing method |
-
2014
- 2014-12-02 KR KR1020140170301A patent/KR101660514B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233600A (en) * | 2001-12-03 | 2003-08-22 | Ziosoft Inc | Volume rendering processing method, volume rendering processing system, computer and program |
JP2006520026A (en) * | 2002-12-31 | 2006-08-31 | モトローラ・インコーポレイテッド | System and method for rendering content on multiple devices |
JP2009181482A (en) * | 2008-01-31 | 2009-08-13 | Fuji Television Network Inc | Image processing system and image processing method |
Non-Patent Citations (1)
Title |
---|
이인 외 4명, ‘특정 목적 렌더러에 특화된 분산 렌더링 관리 시스템의 설계 및 구현’, 한국콘텐츠학회논문지 제12권 제2호, 2012.2, 60-68 (9 pages)* * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190092922A (en) * | 2018-01-31 | 2019-08-08 | 타임시스템(주) | Customized Motion Graphic Video Production System |
KR102238670B1 (en) * | 2019-10-31 | 2021-04-09 | 박재범 | Distributed rendering system and method using idle resource of users |
KR102081364B1 (en) * | 2019-11-27 | 2020-02-25 | (주)비디오몬스터 | Variable distributed rendering system for editing video based on cloud and method thereof |
WO2022103225A1 (en) * | 2020-11-13 | 2022-05-19 | 삼성전자 주식회사 | Electronic device and image rendering method of electronic device |
US11935149B2 (en) | 2020-11-13 | 2024-03-19 | Samsung Electronics Co., Ltd | Electronic device and image rendering method thereof for adjusting frame rate |
KR102274610B1 (en) * | 2020-12-24 | 2021-07-07 | (주)비디오몬스터 | System for distributed rendering video based on cloud and method for auto scaling threrof |
WO2022139150A1 (en) * | 2020-12-24 | 2022-06-30 | (주)비디오몬스터 | Cloud-based distributed video rendering system, and autoscaling method thereof |
WO2022168996A1 (en) * | 2021-02-02 | 2022-08-11 | 박재범 | Distributed rendering system and method for distributed rendering using idle resources of user |
KR20220147381A (en) * | 2021-04-27 | 2022-11-03 | (주)이머시브캐스트 | Distributed rendering based cloud vr device |
Also Published As
Publication number | Publication date |
---|---|
KR101660514B1 (en) | 2016-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101660514B1 (en) | Distributed Rendering System | |
US10360199B2 (en) | Partitioning and rebalancing data storage | |
US8826272B2 (en) | Planning a reliable migration in a limited stability virtualized environment | |
KR20190020073A (en) | Acceleration resource processing method and apparatus, and network function virtualization system | |
US11544100B2 (en) | Hardware acceleration method and related device | |
US20180018197A1 (en) | Virtual Machine Resource Allocation Method and Apparatus | |
JP5352890B2 (en) | Computer system operation management method, computer system, and computer-readable medium storing program | |
WO2016184037A1 (en) | Service availability management method and apparatus, and network function virtualization infrastructure thereof | |
CN104965757A (en) | Virtual machine live migration method, virtual machine migration management apparatus, and virtual machine live migration system | |
CN106201481A (en) | Assembly management method and apparatus in application development system | |
CA3073519C (en) | Scalable techniques for executing custom algorithms on media items | |
JP6003590B2 (en) | Data center, virtual system copy service providing method, data center management server, and virtual system copy program | |
CN109446062B (en) | Method and device for debugging software in cloud computing service | |
US20140280473A1 (en) | Managing web services using a reverse proxy | |
US20140380089A1 (en) | Method and apparatus for recovering failed disk in virtual machine | |
JP2016009341A (en) | Virtual machine arrangement system and arrangement method, and computer program | |
US11340952B2 (en) | Function performance trigger | |
CN110347473B (en) | Method and device for distributing virtual machines of virtualized network elements distributed across data centers | |
JP2015204025A (en) | Information processing system, arrangement device, arrangement method and program | |
KR20180000204A (en) | Method, apparatus and system for providing auto scale | |
CN108958888A (en) | The data processing method and processing system of electronic equipment | |
US10331651B2 (en) | Updating web files based on detected legacy model file changes | |
CN115098259A (en) | Resource management method and device, cloud platform, equipment and storage medium | |
CN113692737A (en) | Method for signalling output sub-picture layer sets | |
JP2020140246A (en) | Information processing device, information processing system and information processing program |
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 |