KR101838944B1 - Rendering system and method - Google Patents
Rendering system and method Download PDFInfo
- Publication number
- KR101838944B1 KR101838944B1 KR1020170134037A KR20170134037A KR101838944B1 KR 101838944 B1 KR101838944 B1 KR 101838944B1 KR 1020170134037 A KR1020170134037 A KR 1020170134037A KR 20170134037 A KR20170134037 A KR 20170134037A KR 101838944 B1 KR101838944 B1 KR 101838944B1
- Authority
- KR
- South Korea
- Prior art keywords
- directory
- rendering
- server
- user device
- rendering operation
- 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
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Abstract
Description
본 발명은 렌더링 시스템 및 방법에 관한 것으로, 더욱 상세하게는 본 발명은 본 발명은 렌더팜(renderfarm)을 이용하여 복수의 사용자를 위한 렌더링 작업을 수행하는 렌더링 시스템 및 방법에 관한 것이다. The present invention relates to a rendering system and method, and more particularly, the present invention relates to a rendering system and method for performing a rendering operation for a plurality of users using a renderfarm.
지난 수십 년간 컴퓨팅 성능의 발달로 인해 그래픽 데이터 생성을 위한 렌더링(rendering) 시간은 점점 길어지고 있지만 3차원 게임, 영화 등 다양한 미디어 산업이 발전하면서 요구되는 이미지의 질 또한 점점 높아지게 되었다.With the development of computing performance over the past decades, the rendering time for generating graphics data has been getting longer, but the quality of images required by the development of various media industries such as 3D games and movies has also increased.
일반적으로 영화용 필름 한 장(한 프레임)의 렌더링 시간은 약 2시간에서 길게는 10시간 정도 걸리게 된다. 또한, 이러한 영화는 초당 24프레임 등으로 재생됨으로 1시간 30분 분량의 영화를 제작하기 위해서는 수만 시간의 렌더링 시간이 요구된다. 이러한 문제를 해결하기 위하여 고속 대용량의 슈퍼 컴퓨터 이용하여 그래픽 데이터를 빠르게 생성하는 기술이 이용되어왔다.Generally, the rendering time of one film (one frame) for a movie takes about 2 hours to 10 hours. In addition, since such a movie is reproduced with 24 frames per second or the like, it takes tens of thousands of hours of rendering time to produce an hour and 30 minute movie. In order to solve this problem, there has been used a technique of quickly generating graphic data using a high-speed, large-capacity supercomputer.
그러나 최근에는 수십 또는 수백 대의 컴퓨터(워크 스테이션 또는 서버)를 하나의 대형 시스템으로 통합하고, 통합 시스템 내의 각각의 컴퓨터, 즉 각각의 렌더 노드(팜 노드, 노드)를 통해 대용량의 렌더링을 병렬적으로 처리하여 전체적인 렌더링 시간을 줄이는 렌더팜(renderfarm) 기술이 이용되고 있다. 렌더팜을 이용한 웹 기반 서비스들은 서비스의 사용자가 파일 서버상에 모델링 데이터(로우 데이터)를 업로드하면, 업로드 된 모델링 데이터를 기초로 렌더링을 대행하여 그래픽 데이터를 생성해주는 방식을 이용한다. However, in recent years, it has been possible to consolidate dozens or hundreds of computers (workstations or servers) into one large system, and to perform large-capacity rendering in parallel on each computer in the integrated system, And renderfarm technology is used to reduce overall rendering time. Web-based services using a render farm use a method of generating graphic data by proxying rendering based on uploaded modeling data when a user of the service uploads modeling data (row data) on a file server.
한편, 렌더팜은 렌더 노드들 간 공유 스토리지인 파일 서버를 설정하여 두고, 파일 서버로부터 장면 파일(scene file) 등을 로드하여 렌더링을 수행하도록 구성된다. Meanwhile, the render farm is configured to set a file server, which is a shared storage among render nodes, to load a scene file or the like from a file server and perform rendering.
파일 서버는 특정한 규칙에 따라 디렉토리들을 생성하여 두고, 렌더 노드들은 작업 요청된 사용자에 대하여 파일 서버에 생성되어 있는 임의의 디렉토리를 매핑한다. 이후에, 랜더 노드들은 사용자에게 매핑된 디렉토리에 저장된 장면 파일을 로드하여 해당 사용자에 의해 요청된 렌더링을 수행한다. The file server creates the directories according to a specific rule, and the render nodes map an arbitrary directory created in the file server to the user who is requested to work. Then, the render nodes load the scene file stored in the directory mapped to the user and perform rendering requested by the user.
그러나 파일 서버가 사용자를 위하여 일방적으로 디렉토리를 매핑하는 종래의 방법에서는, 파일 서버 내의 디렉토리 정보(파일 경로)에 알맞게 모델링 데이터의 방대한 수정이 요구된다. However, in the conventional method in which the file server unilaterally maps the directory for the user, extensive modification of the modeling data is required in accordance with the directory information (file path) in the file server.
이러한 작업은 많은 시간과 인력을 요구하며, 실제 렌더링 수행을 통해 디버깅 결과가 검출되기 전까지는 프로그램 코드 내에서의 경로 설정 오류를 인지할 수 없다는 심각한 문제를 갖는다. Such a task requires a lot of time and manpower, and there is a serious problem that the path setting error in the program code can not be recognized until the debugging result is detected through actual rendering.
본 발명은 상기한 문제점을 해결하기 위한 것으로, 렌더팜을 이용하여 복수의 사용자를 위한 렌더링을 수행함에 있어서, 파일 서버와 사용자 장치 간 디렉토리를 동기화하는 렌더링 시스템 및 방법을 제공한다. SUMMARY OF THE INVENTION The present invention provides a rendering system and method for synchronizing directories between a file server and a user device in performing rendering for a plurality of users using a render farm.
본 발명은, 사용자가 사용자 장치에 대응되는 디렉토리를 파일 서버에 직접 생성하되, 플러그인을 통해 자동으로, 또는 FTP나 웹을 통하여 기설정된 규칙에 따라 디렉토리 생성 및 데이터 업로드를 수행하여 디렉토리 동기화를 수행하는 렌더링 시스템 및 방법을 제공한다.The present invention is characterized in that a user directly creates a directory corresponding to a user device on a file server, performs directory creation and data upload according to predetermined rules automatically through a plug-in or via FTP or the web to perform directory synchronization A rendering system and method are provided.
본 발명은 사용자 장치에 의해 파일 서버에 생성된 디렉토리 내의 데이터를 렌더 노드에 제공하여 렌더 노드가 사용자를 위한 렌더링 작업을 수행할 수 있도록 하는 렌더링 시스템 및 방법을 제공한다. The present invention provides a rendering system and method for providing a render node with data in a directory created on a file server by a user device so that a render node can perform a rendering operation for a user.
상술한 과제를 해결하기 위한 본 발명에 따른 렌더링 시스템은, 사용자 장치로부터 렌더링 요청된 모델링 데이터의 렌더링 작업을 처리하는 복수 개의 렌더 노드들, 상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 파일 서버 및 상기 렌더링 요청된 상기 모델링 데이터의 상기 렌더링 작업을 상기 복수 개의 렌더 노드들에 분배하여 할당하는 관리 서버를 포함하되, 상기 사용자 장치는, 상기 파일 서버에 상기 사용자 장치와 동기화된 디렉토리를 동적으로 생성하고, 상기 디렉토리에 상기 사용자 장치의 상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a rendering system including a plurality of render nodes for rendering rendering modeling data requested from a user device, a file server for storing data necessary for the rendering operation, And a management server for distributing the rendering operation of the requested modeling data to the plurality of render nodes, and allocating the rendering operation to the plurality of render nodes, wherein the user device dynamically creates a directory synchronized with the user device in the file server, And stores data necessary for the rendering operation of the user apparatus in a directory.
또한, 상기 복수 개의 렌더 노드들은, 상기 파일 서버로부터 상기 사용자 장치에 의해 생성된 상기 디렉토리를 로드하고, 상기 디렉토리에 저장된 상기 데이터를 이용하여 상기 렌더링 작업을 수행하는 것을 특징으로 한다.The plurality of render nodes may load the directory generated by the user apparatus from the file server and perform the rendering operation using the data stored in the directory.
또한, 상기 복수 개의 렌더 노드들은, 상기 동기화된 디렉토리를 상기 복수 개의 렌더 노드들에 동적으로 생성하는 것을 특징으로 한다.The plurality of render nodes may dynamically generate the synchronized directory to the plurality of render nodes.
또한, 상기 디렉토리는, 상기 모델링 파일에 포함된 적어도 하나의 저장 경로에 대응되는 디렉토리를 포함하는 것을 특징으로 한다.In addition, the directory may include a directory corresponding to at least one storage path included in the modeling file.
또한, 상기 렌더링 작업을 위하여 필요한 데이터는 장면 파일(scene file)을 포함하는 것을 특징으로 한다.In addition, the data required for the rendering operation includes a scene file.
또한, 상기 렌더링 작업을 위하여 필요한 데이터가 서버명으로 정의되는 경우, 상기 사용자 장치는 상기 동기화된 디렉토리에 서버명을 포함하는 server.list 파일을 저장하고, 상기 렌더 노드는, 상기 server.list 파일을 로드하여 host 파일에 적용하고, 상기 서버명을 갖는 서버가 존재하는 것으로 인지되는 환경에서 상기 렌더링 작업을 수행하는 것을 특징으로 한다.In addition, when data necessary for the rendering operation is defined as a server name, the user device stores a server.list file including the server name in the synchronized directory, and the render node stores the server.list file And applies the result to the host file, and performs the rendering operation in an environment where it is recognized that a server having the server name exists.
또한, 상기 사용자 장치는, 플러그인을 통해 자동으로, 또는 FTP나 웹을 통하여 기설정된 규칙에 따라 상기 디렉토리를 생성하는 것을 특징으로 한다.In addition, the user device may generate the directory automatically through a plug-in or according to a predetermined rule via FTP or the web.
또한, 상술한 과제를 해결하기 위한 본 발명에 따른 렌더링 방법은, 관리 서버가, 사용자 장치로부터 렌더링 요청이 수신되면, 상기 렌더링 요청된 모델링 데이터의 렌더링 작업을 복수 개의 렌더 노드들에 분배하여 할당하는 단계, 상기 사용자 장치가, 파일 서버에 상기 사용자 장치와 동기화된 디렉토리를 동적으로 생성하고, 상기 디렉토리에 상기 사용자 장치의 상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 단계 및 상기 렌더링 작업을 할당받은 적어도 하나의 렌더 노드가, 상기 파일 서버로부터 상기 생성된 디렉토리를 로드하여 상기 렌더링 작업을 수행하는 단계를 포함하는 것을 특징으로 한다. According to another aspect of the present invention, there is provided a rendering method, wherein, when a management server receives a rendering request from a user device, the rendering server assigns a rendering job of rendering requested modeling data to a plurality of render nodes Dynamically creating a directory synchronized with the user device in a file server and storing data necessary for the rendering operation of the user device in the directory, The rendering node of the rendering server loads the generated directory from the file server and performs the rendering operation.
또한, 상기 렌더링 작업을 수행하는 단계는, 상기 적어도 하나의 렌더 노드가, 상기 동기화된 디렉토리를 동적으로 생성하고, 상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 단계 및 상기 저장된 데이터를 이용하여 상기 렌더링 작업을 수행하는 단계를 포함하는 것을 특징으로 한다.The step of performing the rendering operation may include dynamically generating the synchronized directory by the at least one render node and storing data necessary for the rendering operation, And performing the steps of:
또한, 상기 디렉토리는, 상기 모델링 파일에 포함된 적어도 하나의 저장 경로에 대응되는 디렉토리를 포함하는 것을 특징으로 한다.In addition, the directory may include a directory corresponding to at least one storage path included in the modeling file.
또한, 상기 사용자 장치는, 플러그인을 통해 자동으로, 또는 FTP나 웹을 통하여 기설정된 규칙에 따라 디렉토리를 생성하는 것을 특징으로 한다.Further, the user device is characterized in that a directory is created automatically through a plug-in or according to a predetermined rule through FTP or the web.
또한, 상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 단계는, 상기 렌더링 작업을 위하여 필요한 데이터가 서버명으로 정의되는 경우, 상기 사용자 장치가 상기 동기화된 디렉토리에 서버명을 포함하는 server.list 파일을 저장하는 단계를 포함하고, 상기 렌더링 작업을 수행하는 단계는, 상기 적어도 하나의 렌더 노드가, 상기 server.list 파일을 로드하여 host 파일에 적용하는 단계 및 상기 서버명을 갖는 서버가 존재하는 것으로 인지되는 환경에서 상기 렌더링 작업을 수행하는 단계를 포함하는 것을 특징으로 한다.In addition, the step of storing the data required for the rendering operation may include storing the server.list file including the server name in the synchronized directory when the data required for the rendering operation is defined as a server name Wherein the step of performing the rendering operation comprises the steps of: the at least one render node loading the server.list file and applying the load to the host file; and determining that the server having the server name exists And performing the rendering operation in the environment.
본 발명에 따른 렌더링 시스템 및 방법은, 파일 서버에 사용자 장치와 동일한 문자열의 디렉토리를 동적으로 생성함으로써 사용자 장치와 렌더링 시스템 간 디렉토리가 동기화되므로, 방대한 사용자 모델링 데이터에 대한 수정이 요구되지 않으며 신속하고 효율적인 렌더링 처리가 가능하게 한다. The rendering system and method according to the present invention dynamically creates a directory of the same character string as the user device in the file server, thereby synchronizing directories between the user device and the rendering system. Therefore, it is not required to modify a large amount of user modeling data, Rendering processing is enabled.
또한, 본 발명에 따른 렌더링 시스템 및 방법은, 사용자 장치를 위한 디렉토리를 동적으로 할당함으로써, 파일 서버의 효율적인 자원 관리가 가능하게 하고, 렌더팜 사용자에게 보다 편이성이 향상된 서비스를 제공할 수 있도록 한다. In addition, the rendering system and method according to the present invention enable efficient resource management of a file server by dynamically allocating a directory for a user apparatus, and provide a service improved in convenience to a render farm user.
도 1 은 본 발명에 따른 렌더링 시스템의 구조를 나타낸 도면이다.
도 2는 본 발명에 따른 렌더링 방법을 나타낸 흐름도이다.1 is a diagram illustrating a structure of a rendering system according to the present invention.
2 is a flowchart illustrating a rendering method according to the present invention.
본 명세서의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우, 그 상세한 설명은 생략될 수 있다. In the description of the embodiments of the present invention, if it is determined that a detailed description of known configurations or functions related to the present invention can not be applied to the present invention, detailed description thereof may be omitted.
본 명세서에서 사용되는 "포함한다," "포함할 수 있다." 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Quot ;, " include, "" include," as used herein. And the like are intended to indicate the existence of the disclosed function, operation, component, etc., and do not limit the one or more additional functions, operations, components, and the like. Also, in this specification, "include." Or "have." , Etc. are intended to designate the presence of stated features, integers, steps, operations, components, parts, or combinations thereof, may be combined with one or more other features, steps, operations, components, It should be understood that they do not preclude the presence or addition of combinations thereof.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.As used herein, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다.Hereinafter, the present invention will be described with reference to the accompanying drawings.
도 1 은 본 발명에 따른 렌더링 시스템의 구조를 나타낸 도면이다.1 is a diagram illustrating a structure of a rendering system according to the present invention.
렌더링 시스템(100)은 관리 서버(110), 파일 서버(120) 및 복수 개의 렌더 노드(130)들을 포함하여 구성될 수 있다. The rendering system 100 may include a
관리 서버(110)는 모든 렌더 노드(130)들에 대하여 전체적인 렌더링 작업을 분배하고 관리한다. 구체적으로, 관리 서버(110)는 네트워크를 통하여 사용자 장치(200)로부터 수신된 모델링 데이터의 렌더링 작업을 수행할 렌더 노드(130)를 결정하여 해당 렌더 노드(130)로 모델링 데이터의 렌더링 작업을 분배할 수 있다. 관리 서버(110)는 렌더 노드(130)들의 프로세서 속도, 프로세서 개수, 프로세서 사용률, 메모리 용량 등을 기초로 렌더링 작업을 수행할 렌더 노드(130)를 결정할 수 있다.The
예를 들어, 관리 서버(110)는 임의의 모델링 데이터에 대하여, 제1 렌더 노드가 모델링 데이터의 1번 프레임부터 24번 프레임까지의 렌더링 작업을 수행하고, 제2 렌더 노드가 모델링 데이터의 25번 프레임부터 48번 프레임까지의 렌더링 작업을 수행하도록 렌더링 작업을 분배할 수 있다. For example, the
일 실시 예에서, 렌더 노드(110)의 렌더링 작업 결과 생성된 이미지 데이터 및/또는 동영상 데이터는 렌더 노드(130)에 의해 파일 서버(120)에 저장될 수 있다. In one embodiment, the image data and / or moving image data generated as a result of the rendering operation of the
또한, 관리 서버(110)는 렌더 노드(130)들의 성능 및 작업 현황을 주기적으로 모니터링하고 관리할 수 있다. In addition, the
일 실시 예에서, 관리 서버(110)는 웹 페이지를 통하여 사용자 장치(200)가 렌더링 작업을 수행할 모델링 데이터 및 렌더링 작업에 필요한 정보를 입력하거나, 렌더링 작업을 통해 생성된 이미지 데이터 및/또는 동영상 데이터를 다운로드할 수 있도록 하는 다양한 사용자 인터페이스(User Interface; UI)를 웹 페이지를 통해 제공할 수 있다. 관리 서버(110)는 이러한 사용자 인터페이스를 통하여 렌더링 데이터 또는 렌더링 작업의 분배 현황, 렌더 노드(130)에서의 렌더링 작업 현황 등을 실시간으로 사용자 장치(200)에 제공할 수 있다. In one embodiment, the
파일 서버(120)는 렌더 노드(130)들이 렌더링을 수행하기 위해 필요한 데이터를 저장한다. 예를 들어, 파일 서버(120)는 임의의 사용자 장치(200)로부터 렌더링 요청에 대응하여 수신되는 모델링 데이터를 임시 또는 영구적으로 저장할 수 있다. 또한, 모델링 데이터를 렌더링하기 위하여 필요한 데이터로써 장면 파일(scene file) 등을 저장할 수 있다. The
장면 파일은 렌더링을 위한 파일로써 렌더링에 필요한 모든 정보 포함할 수 있고, 특히, 모델링 데이터에 포함된 사람 또는 사물 등의 객체에 대한 질감 또는 무늬를 표현하기 위한 정보를 포함할 수 있다. 렌더 노드(130)는 사용자 장치(200)로부터 요청된 모델링 데이터를 렌더링하기 위해, 파일 서버(120) 내에서 해당 사용자 장치(200)의 장면 파일에 접근할 수 있다. The scene file is a file for rendering, and may include all information required for rendering, and in particular, information for expressing texture or pattern of an object such as a person or object included in the modeling data. The
본 발명의 다양한 실시 예에서, 파일 서버(120)는 사용자 장치(200)의 요청에 따라 사용자 장치(200)와 디렉토리를 동기화할 수 있다. 구체적으로, 파일 서버(120)에는 사용자 장치(200)에 의해 사용자 장치(200)와 동일한 문자열을 사용하는 동기화된 디렉토리가 생성될 수 있다. 파일 서버(120)에 생성된 사용자 장치(200)를 위한 디렉토리에는 사용자 장치(200)의 렌더링 작업을 위한 데이터를 저장할 수 있다. In various embodiments of the present invention, the
도 1에서는 관리 서버(110), 파일 서버(120)는 별개의 장치인 것으로 도시되어 있으나, 본 발명은 이에 한정되는 것은 아니며, 다양한 실시 예에서 이들은 하나의 장치(또는 서버) 내에 모듈화되어 구성될 수도 있다. Although the
복수 개의 렌더 노드(130)들은 사용자 장치(200)에 의해 렌더링 요청된 모델링 데이터의 렌더링 작업을 처리하는 렌더팜(renderfarm)을 형성할 수 있다. 각각의 렌더 노드(130)는 렌더링을 위해 제공되는 특정 프로그램을 이용하여, 관리 서버(110)에 의해 분배된 렌더링 작업을 수행한다. 프로그램은 예를 들어 3ds Max, Maya, Lightwave, XSI, Mentalray, Renderman 등일 수 있다. The plurality of
관리 서버(110)에 의해 렌더링 작업이 분배되면, 렌더 노드(130)들은 관리 서버(110) 또는 파일 서버(120)로 분배된 렌더링 작업에 대응하는 사용자 장치(200)의 디렉토리에 관한 정보를 요청하여 수신할 수 있다. 렌더 노드(130)들은 수신된 사용자 장치(200)의 디렉토리에 접근하여 해당 사용 장치(200)의 모델링 데이터를 렌더링하기 위한 데이터(예를 들어, 장면 파일)를 획득할 수 있다. When the rendering job is distributed by the
일 실시 예에서, 렌더 노드(130)들은 관리 서버(110) 또는 파일 서버(120)로부터 수신된 디렉토리에 관한 정보를 기초로, 직접 사용자 장치(200)와 동기화된 디렉토리를 생성할 수 있다. 렌더 노드(130)들은 디렉토리에 관한 정보를 기초로, 사용자 장치(200)와 동일한 문자열을 갖는 디렉토리를 생성할 수 있다. 이 경우, 파일 서버(120)에 생성된 디렉토리와 렌더 노드(130)에 생성된 디렉토리는 동일한 문자열을 가질 수 있다. 렌더 노드(130)들은 파일 서버(120)로부터 사용자 장치(200)를 위해 생성된 디렉토리를 자신이 생성한 디렉토리에 로드할 수 있다. 또한, 렌더 노드(130)들은 생성된 드라이브 내에서 렌더링을 위해 필요한 데이터들을 획득할 수 있다. In one embodiment, the render
렌더 노드(130)들은 획득된 데이터를 이용하여, 사용자 장치(200)의 모델링 데이터에 대한 렌더링 작업을 수행할 수 있다. 렌더 노드(130)들은 렌더링 작업 결과에 따라 이미지 데이터를 생성할 수 있다. 또한, 렌더 노드(130)들은 생성된 이미지 데이터를 결합하여 동영상 데이터로 변환하여 동영상 데이터를 생성할 수 있다. The render
렌더 노드(130)들은 생성된 이미지 데이터 및/또는 동영상 데이터를 사용자 장치(200)에 동기화된 디렉토리, 예를 들어 output 디렉토리(폴더)에 저장할 수 있다. The render
사용자 장치(200)는 관리 서버(110)를 통하여 사용자의 모델링 데이터에 대한 렌더링 작업을 요청할 수 있다. 사용자 장치(200)는 관리 서버(110)에 의하여 제공되는 다양한 사용자 인터페이스를 통하여, 렌더링 작업을 수행할 모델링 데이터 및 렌더링 작업에 필요한 정보들을 입력할 수 있다. The
본 발명의 다양한 실시 예에서, 사용자 장치(200)는 렌더링 작업에 관련된 자신의 디렉토리 정보를 관리 서버(110) 또는 파일 서버(120)로 전달할 수 있다. 디렉토리에 관한 정보는, 사용자 장치(200) 내에서 모델링 데이터를 렌더링하기 위해 필요한 데이터들(파일들)의 저장 경로에 관한 정보로써, 예를 들어, 장면 파일(scene file)의 저장 경로를 포함할 수 있다. 즉, 디렉토리에 관한 정보는, 모델링 파일의 프로그램 코드에 포함된 적어도 하나의 저장 경로에 대응되는 디렉토리(드라이브 및/또는 폴더)에 관한 정보로써, 문자열 및 하위 폴더에 관한 정보를 포함할 수 있다. In various embodiments of the present invention, the
본 발명의 다양한 실시 예에서, 사용자 장치(200)는 파일 서버(120)에 자신의 디렉토리와 동기화된 디렉토리를 생성한다. 이를 위하여, 사용자 장치(200)는 파일 서버(120)에 사용자 장치(200)에서와 동일한 문자열을 갖는 디렉토리를 생성할 수 있다. 사용자 장치(200)는 생성된 디렉토리에 해당 사용자 장치(200)의 렌더링 작업을 위한 데이터를 저장할 수 있다. In various embodiments of the invention, the
예를 들어, 사용자 'AAA'의 사용자 장치(200)에서, 임의의 모델링 데이터의 렌더링을 위한 데이터들이 사용자 장치(200)의 K 드라이브(또는 폴더)에 저장되어 있다면, 사용자 장치(200)는 파일 서버(120)에 사용자 'AAA'를 위한 K 드라이브를 생성할 수 있다. 이렇게 파일 서버(120)에 생성된 드라이브는 'FS://AAA/K'와 같은 경로를 가질 수 있다. 생성된 K 드라이브에 장면 파일을 포함한 데이터들을 저장할 수 있다. 사용자 'AAA'의 K 드라이브에 저장된 데이터들은 이후에 렌더 노드(130)가 해당 모델링 데이터를 렌더링할 때 이용될 수 있다. 또한, 렌더 노드(130)의 렌더링에 의해 생성된 이미지 데이터 및/또는 동영상 데이터는 사용자 'AAA'를 위하여 생성된 K 드라이브에 저장될 수 있다. For example, in the
일 실시 예에서, 렌더링을 위해 필요한 데이터가 저장된 경로가 서버명으로 정의되는 경우, 사용자 장치(200)는 생성된 디렉토리에 newfileserver 내용(서버명)을 갖는 server.list 파일을 저장할 수 있다. 이 경우, 렌더 노드(130)는 렌더링 작업을 수행하기 전에 server.list 파일을 로드하고, 이를 host 파일에 적용하여 newfileserver라는 이름의 서버가 실제로 존재하는 것과 같은 환경에서 렌더링 작업을 수행할 수 있다.In one embodiment, if the path where data necessary for rendering is stored is defined as a server name, the
사용자 장치(200)는 관리 서버(110)로부터 렌더링 데이터 또는 렌더링 작업의 분배 현황, 렌더 노드(130)에서의 렌더링 작업 현황 등이 제공되면 이를 웹 페이지를 통해 실시간으로 출력할 수 있다. The
사용자 장치(200)는 렌더 노드(130)의 렌더링 작업 결과에 따라 파일 서버(120)의 동기화 드라이브에 저장된 이미지 데이터 또는 동영상 데이터를 웹 페이지 상에서 출력 또는 재생하거나, 수동으로 다운로드 또는 플러그인을 이용하여 자동으로 다운로드할 수 있다. The
상술한 본원발명에 따르면, 사용자 장치(200)와 파일 서버(120) 및 렌더 노드(130) 간 디렉토리가 동기화되기 때문에, 모델링 데이터 내에 포함되는 파일 경로에 관한 정보를 렌더링을 위하여 별도로 수정할 필요가 없어, 렌더링 시스템(100)을 사용하는 사용자의 편의성이 증대되며, 신속하고 효율적으로 렌더링을 수행할 수 있다. According to the present invention, since the directory between the
도 2는 본 발명에 따른 렌더링 방법을 나타낸 흐름도이다.2 is a flowchart illustrating a rendering method according to the present invention.
도 2를 참조하면, 본 발명에 따른 렌더링 방법에 있어서, 사용자 장치(200)는 관리 서버(110)로 렌더링 요청을 전송할 수 있다(201). 렌더링 요청에는 렌더링 작업을 수행해야 하는 모델링 데이터 및 렌더링 작업에 필요한 정보가 포함될 수 있다. Referring to FIG. 2, in the rendering method according to the present invention, the
본 발명의 다양한 실시 예에서, 사용자 장치(200)는 관리 서버(110) 또는 파일 서버(120)로 렌더링 요청과 동시에 또는 별개의 요청/응답 절차를 통하여 모델링 데이터의 렌더링 작업과 관련된 디렉토리 정보를 전송할 수 있다(202). In various embodiments of the present invention, the
디렉토리 정보는 사용자 장치(200) 내에서 모델링 데이터의 렌더링 작업을 위해 필요한 데이터들, 예를 들어 장면 파일 등의 저장 경로에 관한 정보를 포함할 수 있다. 보다 구체적으로, 디렉토리 정보는, 사용자 장치(200) 내에서 렌더링 작업과 관련된 드라이브의 문자열 및 하위 폴더에 관한 정보를 포함할 수 있다. The directory information may include information necessary for rendering operation of the modeling data in the
파일 서버(120)는 사용자 장치(200)로부터 수신된 디렉토리 정보를 기초로 사용자 장치(200)와 디렉토리를 동기화하고 렌더링 작업을 위해 필요한 데이터를 저장할 수 있다(203). 구체적으로 사용자 장치(200)에 의하여 파일 서버(120)에는 사용자 장치(200)에서와 동일한 문자열을 갖는 디렉토리가 생성될 수 있다. 또한, 생성된 디렉토리에는 렌더링 작업을 위해 필요한 데이터, 예를 들어 사용자 장치(200)로부터 수신된 모델링 파일 및 장면 파일 등이 저장될 수 있다. The
관리 서버(110)는 요청된 모델링 데이터에 대한 렌더링 작업을 렌더 노드(130)들에 분배할 수 있다(204). 예를 들어, 관리 서버(110)는 해당 렌더링 작업을 수행할 렌더 노드(130)로 'start rendering'과 같은 명령어와 함께, 사용자 이름, 장면 데이터의 파일명, 프레임 번호 등에 관한 정보를 전송할 수 있다. The
렌더링 작업을 분배받은 렌더 노드(130)는 관리 서버(110) 또는 파일 서버(120)로 사용자 장치(200)에 대한 디렉토리 정보를 요청하여 수신할 수 있다(205). 예를 들어, 렌더 노드(130)가 관리 서버(110) 또는 파일 서버(120)로 사용자 장치(200)에 대한 디렉토리 정보를 요청하면, 관리 서버(110) 또는 파일 서버(120)는 렌더 노드(130)로 'net use K:'와 같은 명령어를 전송하여, 해당 사용자 장치(200)에 대한 K 디렉토리가 생성되었음을 알릴 수 있다. The render
일 실시 예에서, 렌더 노드(130)는 수신된 디렉토리 정보를 기초로 파일 서버(130)로부터 해당 사용자 장치(200)의 디렉토리를 로드한다(206). 일 실시 예에서, 렌더 노드(130)는 사용자 장치(200)와 동기화된 디렉토리를 동일하게 생성하고 파일 서버(120)로부터 렌더링 작업을 위해 필요한 데이터를 로드하여 저장할 수 있다. 렌더 노드(130)는 사용자 장치(200)에서와 동일한 문자열을 갖는 디렉토리를 생성할 수 있다. 또한, 렌더 노드(130)는 파일 서버(120)로부터 생성된 디렉토리와 동일한 문자열을 갖는 사용자의 디렉토리를 로드하여, 자신이 생성한 디렉토리에 렌더링 작업을 위해 필요한 데이터, 예를 들어 모델링 파일 및 장면 파일 등을 저장할 수 있다. In one embodiment, the render
렌더 노드(130)는 모델링 파일에 대한 렌더링 작업을 수행하여, 이미지 데이터 및 동영상 데이터를 생성할 수 있다(207). The render
렌더 노드(130)는 관리 서버(110)를 통하여 또는 직접 파일 서버(120)의 사용자 장치(200)를 위한 드라이브에, 렌더링 작업 결과 생성된 이미지 데이터 및/또는 동영상 데이터를 저장할 수 있다(208). 예를 들어, 렌더 노드(130)는 사용자의 K 디렉토리의 output 폴더(K://output)에 생성된 이미지 데이터 및/또는 동영상 데이터를 저장할 수 있다. The render
사용자 장치(200)는 파일 서버(120)에 저장된 이미지 데이터 및/또는 동영상 데이터에 접근하여 이를 출력/재생하거나 수동으로 다운로드 또는 플러그인을 이용하여 자동으로 다운로드할 수 있다(209). The
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. 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. It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. Accordingly, the scope of the present invention should be construed as being included in the scope of the present invention, all changes or modifications derived from the technical idea of the present invention.
110: 관리 서버
120: 파일 서버
130: 렌더 노드
200: 사용자 장치110: management server
120: File server
130: render node
200: User device
Claims (11)
상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 파일 서버; 및
상기 렌더링 요청된 상기 모델링 데이터의 상기 렌더링 작업을 상기 복수 개의 렌더 노드들에 분배하여 할당하는 관리 서버를 포함하되,
상기 사용자 장치는,
상기 파일 서버에 상기 사용자 장치와 동기화된 디렉토리를 동적으로 생성하기 위한 디렉토리 정보를 상기 파일 서버에 전송하고, 상기 디렉토리 정보를 기초로 생성된 상기 동기화된 디렉토리에 상기 사용자 장치의 상기 렌더링 작업을 위하여 필요한 데이터를 저장하며,
상기 동기화된 디렉토리는,
상기 사용자 장치에서 상기 렌더링 작업을 위해 필요한 데이터를 저장하는 디렉토리와 동일한 문자열을 갖는 디렉토리이고, 상기 모델링 데이터에 포함된 적어도 하나의 저장 경로에 대응되는 디렉토리를 포함하며,
상기 복수 개의 렌더 노드들은,
상기 파일 서버로부터 상기 동기화된 디렉토리를 로드하고, 상기 동기화된 디렉토리에 저장된 상기 데이터를 이용하여 상기 렌더링 작업을 수행하는 것을 특징으로 하는 렌더링 시스템. A plurality of render nodes for processing a rendering operation of the modeling data requested to be rendered from the user device;
A file server for storing data necessary for the rendering operation; And
And a management server for distributing and assigning the rendering operation of the rendering requesting modeling data to the plurality of render nodes,
The user device comprising:
Wherein the directory information for dynamically creating a directory synchronized with the user device is transmitted to the file server, and the directory information is generated in the synchronized directory based on the directory information, Data,
The synchronized directory comprises:
And a directory corresponding to at least one storage path included in the modeling data, wherein the directory includes a directory having the same character string as the directory for storing data necessary for the rendering operation in the user apparatus,
The plurality of render nodes,
Loading the synchronized directory from the file server, and performing the rendering operation using the data stored in the synchronized directory.
상기 동기화된 디렉토리를 상기 복수 개의 렌더 노드들에 동적으로 생성하는 것을 특징으로 하는 렌더링 시스템. 2. The method of claim 1,
And dynamically generating the synchronized directory to the plurality of render nodes.
장면 파일(scene file)을 포함하는 것을 특징으로 하는 렌더링 시스템. The image processing method according to claim 1,
And a scene file.
상기 렌더링 작업을 위하여 필요한 데이터가 서버명으로 정의되는 경우, 상기 사용자 장치는 상기 동기화된 디렉토리에 서버명을 포함하는 server.list 파일을 저장하고,
상기 렌더 노드는,
상기 server.list 파일을 로드하여 host 파일에 적용하고, 상기 서버명을 갖는 서버가 존재하는 것으로 인지되는 환경에서 상기 렌더링 작업을 수행하는 것을 특징으로 하는 렌더링 시스템.The method according to claim 1,
If data required for the rendering operation is defined as a server name, the user device stores a server.list file including a server name in the synchronized directory,
The render node,
Wherein the rendering server executes the rendering operation in an environment in which the server.list file is loaded and applied to a host file, and a server having the server name is recognized as being present.
상기 사용자 장치가, 파일 서버에 상기 사용자 장치와 동기화된 디렉토리를 동적으로 생성하기 위한 디렉토리 정보를 상기 파일 서버에 전송하고, 상기 디렉토리 정보를 기초로 생성된 상기 동기화된 디렉토리에 상기 사용자 장치의 상기 렌더링 작업을 위하여 필요한 데이터를 저장하는 단계; 및
상기 렌더링 작업을 할당받은 적어도 하나의 렌더 노드가, 상기 파일 서버로부터 상기 생성된 디렉토리를 로드하여 상기 렌더링 작업을 수행하는 단계를 포함하되,
상기 동기화된 디렉토리는,
상기 사용자 장치에서 상기 렌더링 작업을 위해 필요한 데이터를 저장하는 디렉토리와 동일한 문자열을 갖는 디렉토리이고, 상기 모델링 데이터에 포함된 적어도 하나의 저장 경로에 대응되는 디렉토리를 포함하며,
상기 적어도 하나의 렌더 노드가 상기 렌더링 작업을 수행하는 단계는,
상기 파일 서버로부터 상기 동기화된 디렉토리를 로드하는 단계; 및
상기 동기화된 디렉토리에 저장된 상기 데이터를 이용하여 상기 렌더링 작업을 수행하는 단계를 포함하는 것을 특징으로 하는 렌더링 방법.Distributing and assigning a rendering job of the rendering requested modeling data to a plurality of render nodes when the management server receives a rendering request from the user device;
Wherein the user device sends directory information for dynamically creating a directory synchronized with the user device to a file server to the file server and sends the directory information to the synchronized directory created based on the directory information, Storing data necessary for the operation; And
Wherein at least one render node assigned the rendering task loads the generated directory from the file server and performs the rendering operation,
The synchronized directory comprises:
And a directory corresponding to at least one storage path included in the modeling data, wherein the directory includes a directory having the same character string as the directory for storing data necessary for the rendering operation in the user apparatus,
Wherein the at least one render node performs the rendering operation,
Loading the synchronized directory from the file server; And
And performing the rendering operation using the data stored in the synchronized directory.
상기 적어도 하나의 렌더 노드가, 상기 동기화된 디렉토리를 동적으로 생성하고, 상기 렌더링 작업을 위하여 필요한 데이터를 로드하여 저장하는 단계; 및
상기 저장된 데이터를 이용하여 상기 렌더링 작업을 수행하는 단계를 포함하는 것을 특징으로 하는 렌더링 방법. 9. The method of claim 8, wherein performing the rendering operation further comprises:
The at least one render node dynamically creating the synchronized directory and loading and storing data necessary for the rendering operation; And
And performing the rendering operation using the stored data.
상기 렌더링 작업을 위하여 필요한 데이터가 서버명으로 정의되는 경우, 상기 사용자 장치가 상기 동기화된 디렉토리에 서버명을 포함하는 server.list 파일을 저장하는 단계를 포함하고,
상기 렌더링 작업을 수행하는 단계는,
상기 적어도 하나의 렌더 노드가, 상기 server.list 파일을 로드하여 host 파일에 적용하는 단계; 및
상기 서버명을 갖는 서버가 존재하는 것으로 인지되는 환경에서 상기 렌더링 작업을 수행하는 단계를 포함하는 것을 특징으로 하는 렌더링 방법.9. The method of claim 8, wherein storing the data required for the rendering operation comprises:
And storing the server.list file including the server name in the synchronized directory if the data required for the rendering operation is defined as a server name,
Wherein the step of performing the rendering operation includes:
The at least one render node loading the server.list file and applying it to a host file; And
And performing the rendering operation in an environment where a server having the server name is recognized as being present.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170134037A KR101838944B1 (en) | 2017-10-16 | 2017-10-16 | Rendering system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170134037A KR101838944B1 (en) | 2017-10-16 | 2017-10-16 | Rendering system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101838944B1 true KR101838944B1 (en) | 2018-03-15 |
Family
ID=61659723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170134037A KR101838944B1 (en) | 2017-10-16 | 2017-10-16 | Rendering system and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101838944B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200055199A (en) | 2018-11-12 | 2020-05-21 | 주식회사 투썬디지털아이디어 | Resource analysis system for render farm and method thereof |
Citations (2)
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 |
JP2009181482A (en) | 2008-01-31 | 2009-08-13 | Fuji Television Network Inc | Image processing system and image processing method |
-
2017
- 2017-10-16 KR KR1020170134037A patent/KR101838944B1/en active IP Right Grant
Patent Citations (2)
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 |
JP2009181482A (en) | 2008-01-31 | 2009-08-13 | Fuji Television Network Inc | Image processing system and image processing method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200055199A (en) | 2018-11-12 | 2020-05-21 | 주식회사 투썬디지털아이디어 | Resource analysis system for render farm and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740891B2 (en) | Providing access to a hybrid application offline | |
KR102324987B1 (en) | Method and apparatus for resource allocation | |
JP7092736B2 (en) | Dynamic routing using container orchestration services | |
US7783695B1 (en) | Method and system for distributed rendering | |
US20140195636A1 (en) | Cloud Based Data Migration and Replication | |
US11880280B2 (en) | Variable number and size of put operations for storage backup | |
US9544348B2 (en) | Cloud-based rendering | |
US7062527B1 (en) | Management and scheduling of a distributed rendering method and system | |
US20140081901A1 (en) | Sharing modeling data between plug-in applications | |
CN104050216A (en) | File system manager for customized resource allocation | |
CN113467922B (en) | Resource management method, device, equipment and storage medium | |
CN108073350A (en) | A kind of object storage system rendered for cloud and method | |
US7092983B1 (en) | Method and system for secure remote distributed rendering | |
EP2779104A2 (en) | Preserving and reusing intermediate data | |
CN108074210A (en) | A kind of object acquisition system and method rendered for cloud | |
JP2024507055A (en) | Application deployment within a computing environment | |
KR101838944B1 (en) | Rendering system and method | |
CN112311605A (en) | Cloud platform and method for providing machine learning service | |
CN111309424A (en) | Page restoration method and related equipment | |
CN111767345B (en) | Modeling data synchronization method, modeling data synchronization device, computer equipment and readable storage medium | |
Zhou | Cloudftp: A case study of migrating traditional applications to the cloud | |
CN107967165A (en) | The offline moving method of virtual machine based on LVM | |
JP2022550755A (en) | Filtering group messages | |
KR101321600B1 (en) | Rendering system and method | |
CN114676093B (en) | File management method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |