KR100788328B1 - Middle ware system using grid computing and method therof - Google Patents

Middle ware system using grid computing and method therof Download PDF

Info

Publication number
KR100788328B1
KR100788328B1 KR1020060086816A KR20060086816A KR100788328B1 KR 100788328 B1 KR100788328 B1 KR 100788328B1 KR 1020060086816 A KR1020060086816 A KR 1020060086816A KR 20060086816 A KR20060086816 A KR 20060086816A KR 100788328 B1 KR100788328 B1 KR 100788328B1
Authority
KR
South Korea
Prior art keywords
job
application
information
server
task
Prior art date
Application number
KR1020060086816A
Other languages
Korean (ko)
Inventor
김기환
구태회
황장호
김용민
윤종선
유승완
Original Assignee
(주)내셔널그리드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)내셔널그리드 filed Critical (주)내셔널그리드
Priority to KR1020060086816A priority Critical patent/KR100788328B1/en
Application granted granted Critical
Publication of KR100788328B1 publication Critical patent/KR100788328B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

A middleware system using grid computing and an operation method thereof are provided to search a server suitable for processing the job and distribute the job to the searched server by storing information of applications for processing each job. A job management unit(310) manages the jobs received from the user and selects the job to be processed. A resource management unit(320) manages worker status information received from a plurality of workers(302) and assigns the selected job to the worker. An application control unit(330) manages the applications for processing the jobs received from the user and transmits the application for processing the selected job to the assigned worker. The application control unit receives the application information for the application processing the job from the user by matching with the job. The application information includes the application for processing the job and platform information for a platform operating the application. The worker status information includes the platform information of each worker. The resource management unit selects one of the workers having the platform information corresponding to the platform information of the selected job.

Description

그리드 컴퓨팅을 이용한 미들웨어 시스템 및 그 동작 방법 {MIDDLE WARE SYSTEM USING GRID COMPUTING AND METHOD THEROF}Middleware system using grid computing and its operation method {MIDDLE WARE SYSTEM USING GRID COMPUTING AND METHOD THEROF}

도 1은 종래 기술에 따른 클러스터링 방법을 이용한 미들웨어 시스템을 도시한 도면이다.1 is a diagram illustrating a middleware system using a clustering method according to the prior art.

도 2는 본 발명의 일실시예에 따른 미들웨어 시스템의 구성을 도시한 구성도이다.2 is a block diagram showing the configuration of a middleware system according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 미들웨어 시스템의 내부 구성을 도시한 구성도이다.3 is a block diagram showing an internal configuration of a middleware system according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 미들웨어 시스템의 작업 서버 상태 정보의 일례를 도시한 도면이다.4 is a diagram illustrating an example of job server state information of a middleware system according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 미들웨어 시스템의 작업 정보의 일례를 도시한 도면이다.5 is a diagram illustrating an example of job information of a middleware system according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 미들웨어 동작 방법의 흐름을 도시한 흐름도이다.6 is a flowchart illustrating a flow of a middleware operating method according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

301: 미들웨어 시스템(middle ware system)301: middle ware system

302: 작업 서버(worker)302: worker

310: 작업 관리부 (job management unit)310: job management unit

320: 자원 관리부 (resource management unit)320: resource management unit

330: 어플리케이션 제어부 (application control unit)330: application control unit

본 발명은 미들웨어 시스템 및 그 동작 방법에 관한 것으로 더욱 상세하게는 서버 자원을 효율적으로 사용하여 사용자로부터 입력 받은 작업을 처리할 수 있도록 하는 시스템 및 방법에 관한 것이다.The present invention relates to a middleware system and a method of operating the same, and more particularly, to a system and a method for efficiently using a server resource to process a task received from a user.

최근 복잡한 연산을 대량으로 수행해야 하기 때문에, 몇 대의 적은 서버 자원으로는 처리하기 어려운 작업들이 많아지게 되었다. 이와 같은 작업들은 소수의 서버를 이용하면 하나의 작업을 완료하는 데에만 수 시간에서 수십 시간 이상 소요되는 것이다. 따라서, 이와 같은 대량의 연산을 수행해야 하는 작업들을 처리하기 위한 방법으로 클러스터링(clustering)을 이용한 미들웨어 시스템이 개발되게 되었다.In recent years, complex operations have to be performed in large quantities, resulting in many tasks that are difficult to handle with a few small server resources. These tasks can take hours to tens of hours to complete a task with a few servers. Therefore, a middleware system using clustering has been developed as a method for processing tasks requiring such a large amount of operations.

도 1은 종래 기술에 따른 클러스터링을 이용한 미들웨어 시스템의 일례를 도시한 도면이다.1 is a diagram illustrating an example of a middleware system using clustering according to the prior art.

도면에 도시한 바와 같이, 종래 기술에 따른 클러스터링을 이용한 미들웨어 시스템은 하나의 작업을 복수의 작업 서버에 할당하여 처리하도록 함으로써, 복수의 작업 서버에서 작업을 분산하여 병렬적으로 처리하여 작업 처리 속도를 향상 시킬 수 있도록 한 것이다. 도면에서는 작업 A(job A)(110) 및 작업 B(job B)(130)의 두 가지 작업을 처리하기 위한 작업 서버의 구성을 나타내고 있다. 이와 같은 구성을 통하여, 하나의 서버에서 작업을 수행하는 것에 비하여, 월등한 성능의 향상을 기대할 수 있다.As shown in the drawings, the middleware system using clustering according to the prior art allocates and processes one job to a plurality of job servers, thereby distributing the jobs in a plurality of job servers and processing them in parallel to speed up the job processing speed. It is to improve it. In the figure, the configuration of a job server for processing two jobs, job A (job A) 110 and job B (job B) 130 is shown. Through such a configuration, it is possible to expect a significant improvement in performance compared to performing work on one server.

하지만, 도면에 도시한 바와 같이, 작업 A(110)를 처리하기 위한 작업 서버 군(120) 및 작업 B(130)를 처리하기 위한 작업 서버 군(140)은 각각 분리되어 있으며, 작업 서버 군(120)은 작업 A(110)만을 처리하고, 작업 서버 군(140)은 작업 B(130)만을 처리한다. 따라서, 만일 작업 A(110)가 모두 종료되어 작업 서버 군(120)의 서버들이 모두 유휴 상태에 있다고 하여도, 작업 B(130)는 작업 서버 군(140)에서만 처리하게 되어 유휴 자원을 효과적으로 사용할 수 없다는 문제점이 있었다.However, as shown in the figure, the job server group 120 for processing the job A 110 and the job server group 140 for processing the job B 130 are each separated, and the job server group ( 120 processes only job A 110 and job server group 140 processes only job B 130. Thus, even if job A 110 is terminated and all servers in job server group 120 are all idle, job B 130 processes only job server group 140 to effectively use idle resources. There was a problem that can not.

특히, 작업 서버 군(140)의 서버에서 작업 B(130)를 처리하기 위해서는 작업 B(130)의 처리가 시작되기 전에, 작업 B(130)의 태스크(task)를 각 서버에 미리 나누어 주어야 하기 때문에, 작업 B(130)를 처리하고 있는 도중에 작업 서버 군(120) 중 일부의 서버에서 작업 B(130)를 처리하도록 동적으로 할당하는 것이 어려웠다.In particular, in order to process the job B 130 in the server of the job server group 140, before the processing of the job B 130 begins, the task of the job B 130 must be divided in advance to each server. As a result, it was difficult to dynamically allocate the server of some of the job server groups 120 to process the job B 130 while the job B 130 was being processed.

또한, 작업 A(110) 및 작업 B(130)를 처리하기 위한 어플리케이션(application)이 각각 별도로 존재한다면, 작업 서버 군(120)에 포함된 서버 중 일부 유휴 자원에서 작업 B(130)를 처리하도록 하기 위해서는 작업 B(130)를 처리하기 위한 어플리케이션을 상기 유휴 자원에 직접 설치하고 작업 B 중 일부를 처리 하도록 할당해야 하는 불편함이 있었다.In addition, if there are separate applications for processing task A 110 and task B 130, the process B 130 may be processed by some idle resources among servers included in task server group 120. In order to do this, there is an inconvenience in that an application for processing task B 130 must be directly installed in the idle resource and allocated to process some of task B.

따라서, 복수의 작업 서버를 동적으로 관리하여, 유휴 자원을 효과적으로 사용할 수 있도록 하고, 각 작업을 처리하기 위한 어플리케이션을 효율적으로 관리하고, 각 어플리케이션이 동작 가능한 플랫폼에 기초하여 작업을 할당할 수 있다면, 동일한 서버 자원을 보다 효율적으로 사용할 수 있을 것이다. 이에 본 발명에서는 복수의 작업 서버를 관리하여, 동적으로 필요한 작업에 상기 작업 서버를 할당할 수 있도록 하고, 각 작업을 처리하기 위한 어플리케이션을 관리함으로써, 어플리케이션 설치 등의 불편함이 없이도 각 서버에서 처리 가능한 작업들을 처리할 수 있도록 하는 미들웨어 시스템 및 그 동작 방법에 관한 발명을 제안하고자 한다.Therefore, if a plurality of job servers can be managed dynamically to effectively use idle resources, efficiently manage applications for processing each job, and allocate jobs based on the platform on which each application can operate, You will be able to use the same server resources more efficiently. Accordingly, in the present invention, by managing a plurality of job servers, it is possible to allocate the job server to the job required dynamically, and by managing the application for processing each job, processing in each server without the inconvenience of application installation, etc. An object of the present invention is to propose a middleware system capable of processing possible tasks and a method of operating the same.

본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 서버 자원을 효율적으로 사용하여 사용자로부터 수신한 작업을 처리할 수 있는 미들웨어 시스템을 제공하는 것을 목적으로 한다.The present invention has been made to improve the prior art as described above, and an object of the present invention is to provide a middleware system capable of processing a work received from a user by using server resources efficiently.

또한, 본 발명은 각 작업을 처리하기 위한 어플리케이션에 관한 정보를 저장하여 둠으로써, 각 작업을 처리하기에 적절한 작업 서버를 찾아 작업을 할당할 수 있도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to store information about an application for processing each job, so that a job server suitable for processing each job can be found and assigned to the job.

또한, 본 발명은 각 작업을 처리하기 위한 어플리케이션이 동작할 수 있는 플랫폼에 관한 정보를 저장하고, 각 작업 서버의 플랫폼에 관한 정보를 저장함으로써, 각 어플리케이션을 동작시킬 수 있는 작업 서버에 상기 어플리케이션에서 처리하는 작업을 할당할 수 있도록 하는 것을 목적으로 한다.In addition, the present invention stores the information about the platform on which the application for processing each job can operate, and by storing the information about the platform of each job server, in the application to the job server capable of operating each application Its purpose is to be able to allocate work for processing.

또한, 본 발명은 각 작업을 처리하기 위한 어플리케이션이 동작할 수 있는 작업 서버의 최소 요구 사양 정보를 저장하고, 각 작업 서버의 시스템 사양 정보를 저장함으로써, 각 어플리케이션을 동작시킬 수 있는 최소 요구 사양을 만족하는 작업 서버에 상기 어플리케이션에서 처리하는 작업을 할당할 수 있도록 하는 것을 목적으로 한다.In addition, the present invention stores the minimum requirement information of the job server that the application for processing each job can operate, and the system specification information of each job server to store the minimum requirement specification that can operate each application An object of the present invention is to make it possible to assign a job processed by the application to a satisfactory job server.

또한, 본 발명은 각 작업에 우선순위를 부여하고, 우선순위에 따라서 작업을 처리하도록 함으로써, 중요한 작업을 빨리 처리하도록 하는 것을 목적으로 한다.In addition, the present invention aims to give priority to each job and to process the job according to the priority, so that important jobs can be processed quickly.

또한, 본 발명은 작업을 작업 서버에 할당하는 경우에 상기 작업 서버에 상기 작업을 처리하기 위한 어플리케이션이 설치되어 있는지 여부를 확인하고, 설치되어 있지 않은 경우에 어플리케이션을 설치하도록 함으로써, 별도의 어플리케이션 설치 작업 없이도 작업을 효과적으로 할당할 수 있도록 하는 것을 목적으로 한다.In addition, the present invention checks whether an application for processing the job is installed in the job server when assigning the job to the job server, and installs an application if the application is not installed. The goal is to be able to allocate work effectively without work.

또한, 본 발명은 작업을 복수의 태스크로 분류하여 관리하고, 각 태스크를 서로 다른 작업 서버에 할당하도록 함으로써, 작업을 분산 처리할 수 있도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to classify and manage a job into a plurality of tasks, and to assign each task to a different job server so that the work can be distributedly processed.

또한, 본 발명은 작업 서버 중 일부를 특정 작업을 처리하기 위한 전담 작업 서버로 설정하도록 함으로써, 상기 특정 작업에 최소한의 작업 서버를 배치하도록 함으로써, 중요한 작업을 최대한 빨리 완료할 수 있도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to set up some of the job server as a dedicated job server for processing a specific job, to arrange a minimum job server to the specific job, so that important tasks can be completed as soon as possible. do.

또한, 본 발명은 작업 서버 중 일부를 특정 작업 처리를 위해서 사용하지 않도록 배제함으로써, 특정 작업 처리시에 문제가 많이 발생하는 작업 서버에 특정 작업을 할당하지 않도록 하여, 문제 발생 확률을 최소화 하는 것을 목적으로 한다.In addition, an object of the present invention is to exclude some of the job servers not to be used for specific job processing, thereby minimizing the probability of problem occurrence by not assigning a specific job to a job server that causes a lot of problems when processing a particular job. It is done.

또한, 본 발명은 작업을 할당한 작업 서버가 할당된 작업을 완료할 수 없게 되는 경우에 다른 작업 서버에 상기 작업을 할당하도록 함으로써, 서버에 문제가 생기는 경우에도 작업을 완료할 수 있도록 하는 것을 목적으로 한다.In addition, an object of the present invention is to allow the task to be assigned to another task server when the task server to which the task is assigned cannot complete the assigned task, so that the task can be completed even if a problem occurs in the server. It is done.

또한, 본 발명은 특정 작업에 할당할 수 있는 작업 서버의 최대 개수를 한정할 수 있도록 함으로써, 특정 작업에 필요 이상의 작업 서버가 할당되어 다른 작업이 늦어지는 것을 방지하는 것을 목적으로 한다.In addition, an object of the present invention is to be able to limit the maximum number of job servers that can be assigned to a particular job, to prevent the job is delayed by assigning more work servers than necessary to a particular job.

상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 미들웨어 시스템은 태스크 처리 요청을 수신하고, 상기 태스크 처리 요청에 응답하여 태스크(task)를 처리하는 복수의 작업 서버(worker) 및 사용자로부터 처리해야 할 작업(job)에 관한 작업 정보(job information)를 수신하고, 상기 작업 정보를 기초로 상기 작업을 하나 이상의 태스크(task)로 나누고, 상기 작업 서버 중 상기 태스크 중 하나를 처리할 수 있는 작업 서버를 선별하여, 상기 선별된 작업 서버로 상기 태스크에 관한 태스크 처리 요청을 송신하여 상기 태스크를 처리하도록 하는 제어 서버(broker)를 포함한다.In order to achieve the above object and to solve the problems of the prior art, the middleware system according to an embodiment of the present invention receives a task processing request, a plurality of job servers to process the task (task) in response to the task processing request receiving job information about a job to be processed from a worker and a user, dividing the job into one or more tasks based on the job information, and among the tasks among the job servers And a control server that selects a job server capable of processing one and transmits a task processing request about the task to the selected job server to process the task.

또한, 본 발명의 다른 일실시예에 따른 미들웨어 시스템은 사용자(user)로부터 수신한 작업(job)을 관리하고, 처리해야 할 작업을 선정하는 작업 관리부(job management unit), 복수의 작업 서버(worker)로부터 수신한 작업 서버 상태 정보(worker status information)를 관리하고, 상기 선정된 작업을 상기 작업 서버에 할당(assign)하는 자원 관리부(resource management unit) 및 상기 사용자로부터 수신한 각 작업을 처리하기 위한 어플리케이션을 관리하고, 상기 선정된 작업을 처리하기 위한 어플리케이션을 상기 할당된 작업 서버에 전송하는 어플리케이션 제어부(application control unit)를 포함한다.In addition, the middleware system according to another embodiment of the present invention manages a job (user) received from the user (job), a job management unit (job management unit) for selecting a job to be processed, a plurality of job servers (worker) To manage worker status information received from the server, and to process each job received from the user and a resource management unit for assigning the selected job to the job server. And an application control unit for managing an application and transmitting an application for processing the selected job to the assigned job server.

본 발명에서 미들웨어 시스템(middle ware system)이라 함은 작업을 직접 처리하는 시스템이 아니라, 작업을 처리하고자 하는 사용자로부터 작업을 수신하여 작업 서버에서 각 작업을 처리하도록 관리하고 그 결과를 처리하는 시스템을 의미하는 것으로, 사용자 입장에서는 하나의 작업 서버에서 작업을 처리하는 것과 동일하게 느끼면서도 많은 작업 서버를 이용하여 병렬적으로 작업을 수행함으로써, 빠르게 작업을 처리할 수 있도록 한 것이다. 종래에는 클러스터링(clustering) 방법을 이용하여 복수의 작업 서버가 하나의 작업을 분산 처리하도록 미리 설정하도록 하였으며, 본 발명에서는 복수의 작업 서버에 각 작업을 동적으로 할당할 수 있도록 함으로써, 사용자가 복수의 작업 서버를 효율적으로 사용하여 작업을 처리할 수 있도록 한다.In the present invention, the middle ware system is not a system for directly processing a job, but a system for receiving a job from a user who wants to process a job, managing the job server to process each job, and processing the result. In other words, the user feels the same as processing a job in one job server, but can perform a job quickly by performing a job in parallel using many job servers. In the related art, a plurality of job servers are previously set to distribute one job by using a clustering method. In the present invention, a user may dynamically assign each job to a plurality of job servers. Efficiently use job servers to process jobs.

이하 첨부된 도면들 및 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments. Like reference numerals in the drawings denote like elements.

도 2는 본 발명의 일실시예에 따른 미들웨어 시스템의 구성을 도시한 구성도이다.2 is a block diagram showing the configuration of a middleware system according to an embodiment of the present invention.

도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 미들웨어 시스템은 복수의 작업 서버(210) 및 제어 서버(220)를 포함한다. 상기 작업 서버 및 상기 제어 서버는 서로 통신망을 통하여 연결되어 데이터를 주고 받을 수 있다.As shown in the figure, the middleware system according to an embodiment of the present invention includes a plurality of job servers 210 and a control server 220. The job server and the control server may be connected to each other through a communication network to exchange data.

작업 서버(worker)(210)는 태스크 처리 요청(task processing request)을 수신하고 상기 태스크 처리 요청에 응답하여 태스크(task)를 처리한다. 상기 태스크 처리 요청은 작업 서버(210)에서 처리해야 할 태스크 및 상기 태스크를 처리하기 위하여 필요한 어플리케이션에 관한 어플리케이션 정보(application information)를 포함할 수 있다. 상기 어플리케이션은 컴퓨터에서 실행 가능한 프로그램 형태로, 상기 어플리케이션 정보에 포함될 수도 있다. 또한, 상기 어플리케이션 정보에는 어플리케이션 식별자(application ID) 및 어플리케이션 버전(application version)을 포함하고, 작업 서버(210)에서 상기 어플리케이션 식별자 및 상기 어플리케이션 버전에 대응되는 어플리케이션이 설치되어 있는지 여부를 확인하고, 설치되어 있지 않은 경우에 상기 어플리케이션을 작업 서버(220)에 요청하여 다운로드 받아 설치하도록 할 수 있다. 상기 어플리케이션의 설치 여부 확인 및 설치 과정은 태스크 처리 요청을 수신하면 자동으로 수행되므로, 서버 관리자가 처리해야 할 태스크의 종류에 따라서 별도의 어플리케이션을 작업 서버에 직접 설치해줄 필요가 없어, 작업 서버를 동적으로 용이하게 사용할 수 있는 효과가 있다.The work server 210 receives a task processing request and processes a task in response to the task processing request. The task processing request may include a task to be processed by the job server 210 and application information about an application required to process the task. The application may be included in the application information in the form of a program executable on a computer. The application information may include an application ID and an application version, and check whether the application corresponding to the application identifier and the application version is installed in the job server 210, and install the application. If not, the application may be requested to the job server 220 to be downloaded and installed. Checking whether the application is installed or not is automatically performed when the task processing request is received. Therefore, the server administrator does not need to install a separate application directly on the job server according to the type of task to be processed. It can be easily used as an effect.

또한, 작업 서버(210)는 자신의 상태에 관한 작업 서버 상태 정보(worker status information)를 수집하여 제어 서버(220)로 전송한다. 상기 작업 서버 상태 정보는 각 작업 서버의 시스템 사양, 플랫폼 및 부하 정보(load information)를 포함할 수 있다. 각 작업 서버는 시스템 사양, 플랫폼 및 부하가 서로 다를 수 있기 때문에, 상기한 작업 서버 상태 정보를 제어 서버(220)로 전송함으로써, 제어 서버(220)에서 태스크를 효과적으로 처리할 수 있는 작업 서버를 선별하는 데에 참고하도록 할 수 있다.In addition, the job server 210 collects job status information (worker status information) related to its status and transmits it to the control server 220. The job server state information may include system specification, platform, and load information of each job server. Since each job server may have a different system specification, platform, and load, the job server may be selected to transmit the job server state information to the control server 220, thereby selecting a job server capable of effectively processing a task in the control server 220. You can refer to it.

그리고, 작업 서버(220)는 수신한 태스크 처리 요청 정보에 대응하여 태스크를 처리하고 나면, 상기 태스크의 처리에 대한 정보를 제어 서버(220)로 전송한다. 상기 정보는 태스크의 처리 결과에 대한 정보를 포함하여, 작업 서버에서 태스크 처리 결과를 확인하도록 할 수 있고, 작업 서버에서 정상적으로 처리되었는지 여부에 대한 정보를 포함하도록 함으로써, 정상적으로 처리되지 못한 경우에 제어 서버(220)에서 다른 작업 서버(210)로 상기 태스크를 다시 할당하도록 할 수도 있다. 또한, 상기 정보에 태스크 처리를 위하여 소요된 시간에 관한 정보를 포함함으로써, 각 작업 서버(210) 별로 태스크를 처리하는 데에 필요한 시간을 확인할 수 있도록 하여, 보다 효율적으로 태스크를 작업 서버(210)에 할당할 수 있도록 한다.After processing the task in response to the received task processing request information, the job server 220 transmits information on the processing of the task to the control server 220. The information may include information on the processing result of the task, to allow the job server to check the result of the task processing, and to include information on whether the job server has been processed normally. In operation 220, the task may be reassigned to another job server 210. In addition, by including information on the time spent for the task processing in the information, it is possible to check the time required to process the task for each job server 210, so that the task server 210 more efficiently To be assigned to.

제어 서버(broker)(220)는 사용자로부터 처리해야 할 작업(job)에 관한 작업 정보(job information)를 수신하고, 상기 작업 정보를 기초로 상기 작업을 하나 이상의 태스크(task)로 나누고, 상기 작업 서버 중 상기 태스크 중 하나를 처리할 수 있는 작업 서버를 선별하여, 상기 선별된 작업 서버로 상기 태스크에 관한 태스크 처리 요청을 송신하여 상기 태스크를 처리하도록 한다.The control server 220 receives job information about a job to be processed from a user, divides the job into one or more tasks based on the job information, and performs the job. The server may select a job server capable of processing one of the tasks, and transmit a task processing request regarding the task to the selected job server to process the task.

제어 서버(220)는 복수의 작업 서버(210)를 관리하고, 상기 복수의 작업 서버(210) 각각의 작업 서버 상태 정보를 각 작업 서버(210)로부터 수신하여 각 작업 서버(210)에 대응시켜 저장한다. 제어 서버(220)에서 관리하는 작업 서버(210)는 시스템 관리자가 각 작업 서버(210)의 인터넷 주소(IP address) 등 작업 서버를 식별할 수 있는 정보를 이용하여 등록할 수도 있고, 각 작업 서버(210)에서 제어 서버(220)와 통신할 수 있는 모듈을 설치하고, 제어 서버(220)에 태스크 할당을 요청함으로써 제어 서버(220)에 등록되도록 할 수도 있다.The control server 220 manages a plurality of job servers 210 and receives job server state information of each of the job servers 210 from each job server 210 to correspond to each job server 210. Save it. The job server 210 managed by the control server 220 may be registered by a system administrator using information for identifying a job server such as an Internet address (IP address) of each job server 210, or each job server. In operation 210, a module capable of communicating with the control server 220 may be installed, and the control server 220 may be requested to allocate a task to be registered with the control server 220.

또한, 제어 서버(220)에서는 사용자로부터 작업 및 상기 작업에 관한 작업 정보(job information)를 수신하는데, 상기 작업 정보는 상기 작업을 처리하기 위한 어플리케이션에 관한 어플리케이션 정보를 포함할 수 있다. 상기 어플리케이션 정보는 상기 어플리케이션이 동작할 수 있는 플랫폼 정보, 상기 어플리케이션이 동작할 수 있는 서버의 최소 요구 사양 정보, 어플리케이션 식별자 및 어플리케이션 버전 등의 정보를 포함할 수 있다.In addition, the control server 220 receives a job and job information about the job from the user, the job information may include application information about an application for processing the job. The application information may include platform information on which the application can operate, minimum requirement information of a server on which the application can operate, information such as an application identifier, an application version, and the like.

제어 서버(220)에서는 상기 어플리케이션 정보를 이용하여 상기 어플리케이션이 설치되어 동작할 수 있는 작업 서버(210)를 선별하고, 선별된 작업 서버에 상기 작업의 태스크를 할당한다. 작업 서버(210)를 선별하기 위해서는 각 작업 서버(210)의 작업 서버 상태 정보를 사용할 수 있으며, 일례로, 어플리케이션 정보에 포함된 최소 요구 사양 정보가 512MB의 메모리를 요구하는 경우에, 상기 작업 서버 상태 정보에 포함된 시스템 사양 정보를 참고하여 512MB 이상의 메모리를 가지는 작업 서버(210) 중 하나를 상기 작업의 태스크를 할당할 작업 서버(210)로 선별할 수 있다.The control server 220 selects a job server 210 in which the application is installed and operates using the application information, and assigns a task of the job to the selected job server. In order to select the job server 210, job server state information of each job server 210 may be used. For example, when the minimum requirement information included in application information requires 512 MB of memory, the job server may be used. With reference to the system specification information included in the status information, one of the job server 210 having a memory of 512MB or more may be selected as the job server 210 to which the task of the job is assigned.

또한, 제어 서버(220)는 태스크를 할당할 작업 서버(210)를 선별하기 위하여, 작업 서버 상태 정보에 포함된 부하 정보(load information)를 이용하여 시스템 부하가 가장 적은 작업 서버(210)에 우선적으로 태스크를 할당하도록 할 수 있다. 제어 서버(220)에서 작업 서버(210)로 할당하는 태스크(task)는 사용자로부터 수신한 작업(job)을 구성하는 단위로, 각 태스크는 병렬적으로 처리될 수 있어야 본 발명의 미들웨어 시스템에서 효율적으로 처리할 수 있다.In addition, the control server 220 is preferred to the job server 210 with the lowest system load by using load information included in the job server status information in order to select the job server 210 to which the task is assigned. You can assign a task. A task allocated from the control server 220 to the job server 210 is a unit configuring a job received from a user, and each task must be processed in parallel to be effective in the middleware system of the present invention. Can be processed as

그리고 제어 서버(220)는 작업 서버(210) 중 일부를 특정 작업의 태스크만 처리하도록 설정할 수 있다. 상기와 같이 설정하면, 제어 서버(220)는 태스크를 할당하는 데에 있어서, 상기 특정 작업의 태스크 이외의 태스크는 상기 설정된 작업 서버에 할당하지 않도록 한다. 이와 같이 설정하게 되면, 일부의 작업 서버(210)에서는 상기 특정 작업의 태스크만을 처리하게 되어, 작업 서버(210)가 유동적으로 사용되는 경우에도 최소한의 작업 서버(210)를 상기 특정 작업의 태스크를 처리하는 데에 사용할 수 있으므로, 급히 처리해야 하는 중요한 작업인 경우에 최소한의 작업 완료 시간을 보장할 수 있는 효과가 있다.The control server 220 may set a part of the job server 210 to process only a task of a specific job. In this configuration, the control server 220 does not allocate a task other than the task of the specific task to the set task server in assigning a task. In this configuration, some job servers 210 process only the task of the specific job, so that even if the job server 210 is used flexibly, at least the job server 210 may perform the task of the specific job. Because it can be used for processing, it has the effect of ensuring minimal completion time for critical tasks that need to be processed quickly.

또한, 제어 서버(220)는 특정 작업을 처리하는 작업 서버(210)의 최대 개수를 한정할 수 있다. 상기 최대 개수는 상기 제어 서버(220)를 관리하는 시스템 관리자로부터 입력 받을 수 있으며, 상기 특정 작업에 상기 최대 개수 만큼의 작업 서버들이 할당되면 그 이상의 서버를 할당할 수 없도록 함으로써, 특정 작업이 서버 자원을 모두 사용하여 다른 작업을 처리하는 것이 곤란하지 않도록 미리 방지할 수 있다.In addition, the control server 220 may limit the maximum number of job server 210 for processing a particular job. The maximum number may be input from a system administrator managing the control server 220. When the maximum number of job servers is allocated to the specific job, no more servers can be allocated, so that the specific job is a server resource. You can use them all to prevent them from processing other tasks in advance.

도 3은 본 발명의 일실시예에 따른 미들웨어 시스템의 내부 구성을 도시한 구성도이다.3 is a block diagram showing an internal configuration of a middleware system according to an embodiment of the present invention.

도면에 도시한 바와 같이 본 발명의 일실시예에 따른 미들웨어 시스템(middle ware system)(301)은 작업 관리부(job management unit)(310), 자원 관리부(resource management unit)(320) 및 어플리케이션 제어부(application control unit)(330)를 포함한다. 작업 관리부(job management unit)(310)는 사용자(user)로부터 수신한 작업(job)을 관리하고, 처리해야 할 작업을 선정한다. 작업 관리부(310)는 사용자로부터 작업과 함께 각 작업에 관한 작업 정보(job information)를 수신하고, 각 작업에 대응시켜 저장하도록 할 수 있다. 상기 작업 정보는 각 작업을 처리하는 어플리케이션에 관한 어플리케이션 정보(application information)를 포함할 수 있다. 상기 어플리케이션 정보는 상기 사용자로부터 입력 받을 수 있으며, 어플리케이션, 어플리케이션이 동작할 수 있는 플랫폼 정보, 상기 어플리케이션이 동작할 수 있는 서버의 최소 요구 사양 정보, 어플리케이션 식별자 및 어플리케이션 버전 등의 정보를 포함할 수 있다. 상기 어플리케이션은 컴퓨터에서 실행 가능한 프로그램 형태로, 작업 서버(302)에 설치되어 실행되며, 상기 작업을 처리할 수 있으며, 상기 어플리케이션 정보는 어플리케이션 제어부(330)에 저장되어 관리될 수 있다.As shown in the figure, the middleware system 301 according to an embodiment of the present invention may include a job management unit 310, a resource management unit 320, and an application control unit ( application control unit) 330. The job management unit 310 manages a job received from a user and selects a job to be processed. The job manager 310 may receive job information about each job together with the job from the user, and store the job information corresponding to each job. The job information may include application information about an application that processes each job. The application information may be input from the user, and may include information such as an application, platform information on which the application can operate, minimum requirement information of a server on which the application can operate, an application identifier, and an application version. . The application may be a program executable on a computer, installed and executed in the job server 302 to process the job, and the application information may be stored and managed in the application controller 330.

또한, 작업 관리부(310)는 각 작업에 대한 우선순위(priority)를 수신하여 각 작업에 대응시켜 저장할 수 있는데, 상기 복수의 작업이 처리되어야 하는 경우 에, 우선순위가 높은 작업을 우선적으로 처리해야 할 작업으로 선정한다. 상기 우선순위는 사용자로부터 입력 받을 수 있으며, 이 경우에, 높은 우선순위를 가지는 작업에 대해서는 높은 비용으로 과금을 하도록 함으로써, 사용자가 필요에 따라서 급히 처리해야 할 일은 높은 비용을 지불하고 빨리 처리하도록 할 수 있다.In addition, the job management unit 310 may receive and store priorities for each job in correspondence with each job, and when the plurality of jobs are to be processed, the job having a high priority must be processed first. Choose what to do. The priority may be input from the user, and in this case, the user may be charged at a high cost for a job having a high priority, so that the user may have to pay a high cost and process quickly as needed. Can be.

그리고, 작업 관리부(310)는 각 작업을 복수의 태스크(task)로 분류하여 관리할 수 있다. 상기 태스크는 각 작업을 이루는 구성요소로, 동일한 작업 내의 각 태스크는 서로 독립적으로 처리될 수 있어야 병렬적으로 태스크를 처리함으로써, 복수의 작업 서버(302)를 이용하여 전체 작업을 빠른 시간에 완료할 수 있다. 상기 작업을 태스크로 분류하는 것은 사용자가 작업을 입력할 때에 미리 설정하도록 할 수도 있고, 미리 정해진 작업의 종류에 해당되는 작업인 경우에는 미리 정해진 바에 따라서 복수의 태스크로 분류되도록 할 수 있다. 상기 분류된 복수의 태스크가 모두 완료되어야 상기 작업이 완료되게 된다.The task manager 310 may classify and manage each task into a plurality of tasks. The task is a component constituting each job, each task in the same job must be able to be processed independently of each other to process the tasks in parallel, thereby completing the entire job in a short time using a plurality of job server 302 Can be. Classifying the task into tasks may be set in advance when a user inputs a task, or in the case of a task corresponding to a predetermined kind of task, the task may be classified into a plurality of tasks according to a predetermined task. The task is completed only when all of the classified tasks are completed.

자원 관리부(resource management unit)(320)는 복수의 작업 서버(worker)(302)로부터 수신한 작업 서버 상태 정보(worker status information)를 관리하고, 상기 선정된 작업을 상기 작업 서버(302)에 할당(assign)한다. 상기 작업 서버 상태 정보는 각 작업 서버(302)에서 자신의 상태에 관하여 수집한 정보를 통신망을 통하여 수신한 것으로, 자원 관리부(320)에서 작업 서버(302)로 상기 작업 서버 상태 정보를 요청하여 수신할 수도 있고, 작업 서버(302)가 주기적으로 상기 작업 서버 상태 정보를 자원 관리부(320)에 전송하도록 할 수도 있다.A resource management unit 320 manages worker status information received from a plurality of work servers 302 and assigns the selected work to the work server 302. (assign) The job server state information is received from the job server 302 collected information about its own state through the communication network, the resource management unit 320 requests the job server status information from the job server 302 to receive Alternatively, the job server 302 may periodically transmit the job server status information to the resource manager 320.

또한, 자원 관리부(320)에서 관리하는 작업 서버 상태 정보는 각 작업 서 버(302)의 플랫폼 정보(platform information)를 포함할 수 있다. 상기 플랫폼 정보는 운영체제 및 상기 운영체제의 버전에 관한 정보를 포함할 수 있다. 컴퓨터에서 실행되는 프로그램 형태인 어플리케이션은 각 어플리케이션이 동작 가능한 플랫폼이 정해져 있다. 이는 각 플랫폼 별로 어플리케이션을 저장하는 파일 시스템도 다르고, 각 어플리케이션의 명령어들을 처리하는 방법도 다르기 때문이다. 예를 들어, 윈도우 XP(windows XP)에서 동작하는 어플리케이션을 리눅스(Linux) 기반의 플랫폼을 갖춘 작업 서버(302)에서 동작시키는 것은, 별도의 에뮬레이터를 작동시키는 경우가 아니라면, 불가능하다. 따라서 자원 관리부(320)에서는 각 작업 서버(302)의 플랫폼 정보를 관리하도록 함으로써, 각 작업을 작업 서버(302)에 할당할 때에, 각 작업을 처리하기 위한 어플리케이션이 동작할 수 있는 플랫폼을 갖춘 작업 서버를 상기 작업을 할당할 작업 서버로 선별하도록 할 수 있다. 따라서, 다양한 플랫폼을 갖춘 작업 서버(302)를 미리 설치해 두는 것만으로, 다양한 플랫폼에서 동작하는 다양한 어플리케이션들을 실행시킬 수 있도록 하여, 다양한 작업을 처리할 수 있도록 하는 효과가 있다.In addition, the job server status information managed by the resource manager 320 may include platform information of each job server 302. The platform information may include information about an operating system and a version of the operating system. As an application in the form of a program executed on a computer, a platform on which each application can operate is determined. This is because the file system for storing applications is different for each platform, and the method of processing the commands of each application is different. For example, it is not possible to run an application running on Windows XP on a job server 302 with a Linux based platform unless it is running a separate emulator. Therefore, the resource management unit 320 manages the platform information of each job server 302, so that when assigning each job to the job server 302, a job having a platform that can operate an application for processing each job The server may be selected as a job server to which the job is assigned. Therefore, only by installing the job server 302 having a variety of platforms in advance, it is possible to run a variety of applications that operate on a variety of platforms, it is effective to process a variety of tasks.

그리고 자원 관리부(320)에서 관리하는 작업 서버 상태 정보는 각 작업 서버(302)의 시스템 사양 정보를 포함할 수 있다. 상기 시스템 사양 정보는 중앙처리장치의 개수, 중앙처리장치의 속도, 메모리 용량 및 하드디스크 용량 등을 포함할 수 있으며, 이 밖에도 작업 서버(302)의 사양을 나타내는 정보라면 어떤 것이라도 포함할 수 있다. 각 작업을 처리하기 위하여 어플리케이션이 동작하기 위해서는 각 어플리케이션 별로 최소한의 시스템 사양이 필요하다. 예를 들어, 어떤 어 플리케이션은 CPU의 속도가 1.5GHz 이상인 경우에 용이하게 동작할 수 있으며, 어떤 어플리케이션은 메모리가 1GB 이상인 경우에 용이하게 동작할 수 있다. 이는 어플리케이션의 성격에 따라서, 메모리를 많이 사용하는 어플리케이션이 있고, CPU의 빠른 연산 처리를 요구하는 어플리케이션이 있기 때문이다. 따라서, 자원 관리부(320)에서는 각 어플리케이션의 어플리케이션 정보에 포함된 최소 요구 사양 정보에 기초하여, 복수의 작업 서버(302) 중 상기 최소 요구 사양 정보를 만족하는 작업 서버(302)에 상기 어플리케이션에서 처리하는 작업을 할당하도록 할 수 있다. 이와 같이, 본 발명에 따르면, 각 어플리케이션이 최적으로 동작할 수 있는 작업 서버(302)에 작업을 할당하도록 함으로써, 주어진 작업 서버(302) 자원을 최대한 효율적으로 사용할 수 있는 효과가 있다.The job server state information managed by the resource manager 320 may include system specification information of each job server 302. The system specification information may include the number of the central processing unit, the speed of the central processing unit, the memory capacity, the hard disk capacity, and the like. In addition, any information indicating the specification of the job server 302 may be included. . In order for an application to operate to process each task, a minimum system specification is required for each application. For example, some applications can easily operate when the speed of the CPU is 1.5GHz or more, and some applications can easily operate when the memory is 1GB or more. This is because, depending on the nature of the application, there are applications that use a lot of memory, and there are applications that require fast computational processing of the CPU. Accordingly, the resource manager 320 processes the application to the job server 302 that satisfies the minimum requirement specification information among the plurality of job servers 302 based on the minimum requirement information included in the application information of each application. You can assign tasks to do this. As described above, according to the present invention, by assigning a job to a job server 302 that can operate optimally, each application has an effect of efficiently using a given job server 302 resource.

또한, 자원 관리부(320)에서 관리하는 작업 서버 상태 정보는 각 작업 서버(302)의 부하 정보(load information)를 포함할 수 있다. 상기 부하 정보는 각 작업 서버(302)의 CPU, 메모리 등의 자원이 어느 정도로 사용되고 있는지에 관한 정보로, 부하가 높은 작업 서버(302)는 부하가 낮은 작업 서버(302)에 비하여 작업 처리 효율이 떨어지게 되므로, 작업 관리부(320)에서는 최대한 부하가 낮은 작업 서버(302)에 작업을 할당하도록 한다.In addition, the job server state information managed by the resource manager 320 may include load information of each job server 302. The load information is information on how much resources such as CPU and memory of each job server 302 are used. The job server 302 having a high load has a higher job processing efficiency than the job server 302 having a low load. Since the fall, the job management unit 320 to assign the job to the job server 302 with the lowest load as possible.

그리고, 자원 관리부(320)는 작업 서버(302) 중 일부를 특정 작업만 처리하는 전담 작업 서버로 설정하고, 상기 전담 작업 서버에는 상기 특정 작업만 할당하도록 할 수 있다. 이와 같이 전담 작업 서버를 설정하게 되면, 상기 전담 작업 서버는 상기 특정 작업만을 처리하고, 상기 특정 작업이 없는 경우에는 다른 작업 들이 있더라도 유휴 상태로 대기하게 된다. 따라서, 상기 특정 작업이 언제 들어오든지 빠르게 처리할 수 있으며, 많은 작업 서버(302)가 사용되고 있는 경우에도, 다른 작업이 할당되지 않으므로, 상기 특정 작업을 가장 빨리 처리하도록 할 수 있다. 이와 같이 전담 작업 서버를 설정하는 경우에는 별도의 비용을 사용자에게 부과함으로써, 사용자가 필요에 따라서 비용을 지불하고 전담 작업 서버를 사용하도록 할 수 있다.In addition, the resource manager 320 may set a part of the job server 302 as a dedicated job server for processing only a specific job, and assign only the specific job to the dedicated job server. When the dedicated job server is set up as described above, the dedicated job server processes only the specific job, and when there is no specific job, the dedicated job server waits idle even if there are other jobs. Therefore, the specific job can be processed quickly at any time, and even when a large number of job servers 302 are used, no other job is assigned, so that the specific job can be processed most quickly. In the case of setting up a dedicated work server in this manner, a separate fee may be charged to the user so that the user pays the cost and uses the dedicated work server as needed.

또한, 자원 관리부(320)에서는 작업 서버(302) 중 일부를 특정 작업을 처리하지 않는 배제 작업 서버로 설정하고, 상기 배제 작업 서버에는 상기 특정 작업을 할당하지 않도록 할 수 있다. 플랫폼 및 시스템 사양 등이 특정 작업을 처리하는 데에 부족함이 없는 작업 서버(302)인 경우에도 경우에 따라서, 특정 작업에 대해서는 제대로 처리를 하지 못하거나, 느리게 처리하는 경우가 있다. 이와 같은 경우에, 사용자 또는 관리자가 상기 특정 작업을 제대로 처리하지 못하는 작업 서버(302)를 배제 작업 서버로 설정함으로써, 상기 특정 작업이 상기 배제 작업 서버에 할당되는 것을 방지하여, 상기 특정 작업을 정상적으로 빠르게 처리하는 작업 서버(302)에만 상기 특정 작업이 할당되도록 할 수 있다.In addition, the resource manager 320 may set some of the job servers 302 as an exclusion job server that does not process a specific job, and may not assign the specific job to the exclusion job server. Even in the case of the job server 302 which does not have enough to process a specific job, such as platform and system specification, a certain job may not be processed properly or may be processed slowly. In such a case, by setting a job server 302 that does not properly handle the specific job as an exclusion job server, a user or an administrator prevents the specific job from being assigned to the exclusion job server, thereby making the specific job normally. The specific job may be assigned only to the job server 302 which processes quickly.

그리고, 자원 관리부(320)에서는 작업을 할당한 작업 서버(302)가 상기 선정된 작업을 완료할 수 없게 되면, 상기 선정된 작업을 다른 작업 서버(302)에 할당한다. 따라서, 작업 서버(302)에 문제가 있어 작업을 정상적으로 종료하지 못한 경우에도 다른 작업 서버(302)를 사용하여 상기 작업을 완료할 수 있도록 함으로써, 시스템 문제에 대비하여, 별도의 재 할당 작업 없이도, 작업을 완료할 수 있는 효과가 있다.When the job server 302 which has assigned a job cannot complete the selected job, the resource manager 320 assigns the selected job to another job server 302. Therefore, even when the job server 302 has a problem and the job is not normally terminated, another job server 302 can be used to complete the job. Thus, in case of a system problem, without a separate reassignment job, The effect is to complete the task.

또한, 자원 관리부(320)에서는 각 작업이 완료면, 작업 서버(302)로부터 작업 완료에 관한 정보를 수신하여 다음 작업을 할당하는 데에 활용할 수 있다. 일례로 각 작업 서버(302)에서 작업을 처리하는 데에 소요된 시간에 관한 정보를 수신함으로써, 각 작업 서버(302)가 작업을 처리하는 데에 소요되는 시간을 확인할 수 있고, 이를 기초로 이후에는 상기 작업을 빠르게 처리하는 작업 서버(302)에 상기 작업을 할당하도록 할 수 있다.In addition, when each task is completed, the resource manager 320 may receive information on task completion from the task server 302 and use it to allocate the next task. For example, by receiving information on the time taken to process a job at each job server 302, it is possible to check the time taken by each job server 302 to process the job. The job may be assigned to a job server 302 which processes the job quickly.

그리고, 자원 관리부(320)는 특정 작업을 처리하는 작업 서버(210)의 최대 개수를 한정할 수 있다. 상기 최대 개수는 상기 제어 서버(220)를 관리하는 시스템 관리자로부터 입력 받을 수 있으며, 상기 특정 작업에 상기 최대 개수 만큼의 작업 서버들이 할당되면 그 이상의 서버를 할당할 수 없도록 함으로써, 특정 작업이 서버 자원을 모두 사용하여 다른 작업을 처리하는 것이 곤란하지 않도록 미리 방지할 수 있다.In addition, the resource manager 320 may limit the maximum number of job servers 210 that process a specific job. The maximum number may be input from a system administrator managing the control server 220. When the maximum number of job servers is allocated to the specific job, no more servers can be allocated, so that the specific job is a server resource. You can use them all to prevent them from processing other tasks in advance.

어플리케이션 제어부(application control unit)(330)는 상기 사용자로부터 수신한 각 작업을 처리하기 위한 어플리케이션(application)을 관리하고, 상기 선정된 작업을 처리하기 위한 어플리케이션을 상기 할당된 작업 서버에 전송한다. 상기 어플리케이션을 관리하기 위하여 어플리케이션 제어부(330)는 작업 관리부(310)에서 작업과 함께 수신한 어플리케이션 정보를 저장할 수 있다. 상기 어플리케이션 정보는 어플리케이션, 어플리케이션 식별자, 어플리케이션 버전 등을 포함할 수 있으며, 이 밖에도 어플리케이션의 특징을 확인할 수 있는 것이라면 어떤 정보라도 포함될 수 있다.An application control unit 330 manages an application for processing each job received from the user, and transmits an application for processing the selected job to the assigned job server. In order to manage the application, the application controller 330 may store application information received together with the job by the job manager 310. The application information may include an application, an application identifier, an application version, and the like, and any information may be included as long as the characteristics of the application can be identified.

어플리케이션 제어부(330)에서는 각 어플리케이션 및 어플리케이션 정보를 각 어플리케이션에서 처리할 작업과 대응시켜 저장하며, 자원 관리부(320)에서 각 작업을 작업 서버(302)에 할당하면, 상기 작업이 할당된 작업 서버(302)로 상기 어플리케이션을 전송할 수 있다. 이 때, 상기 어플리케이션을 바로 전송하여 상기 작업이 할당된 작업 서버(302)에서 설치하여 사용하도록 할 수 있으며, 이 경우에는 상기 작업이 할당된 작업 서버(302)에 상기 어플리케이션이 설치되어 있는지 여부와 무관하게 상기 어플리케이션을 설치하여 상기 작업을 처리할 수 있다. 또한, 더욱 바람직하게는 상기 어플리케이션을 무조건 전송하는 것이 아니라, 상기 어플리케이션의 어플리케이션 식별자 및 상기 어플리케이션의 어플리케이션 버전을 상기 작업이 할당된 작업 서버(302)에 전송하고, 상기 작업이 할당된 작업 서버(302)에서 상기 어플리케이션 식별자 및 어플리케이션 버전에 대응되는 어플리케이션이 없는 경우에 어플리케이션 제어부(330)로 어플리케이션을 요청하면, 어플리케이션 제어부에서 상기 어플리케이션을 상기 작업이 할당된 작업 서버(302)로 전송하여 설치하도록 할 수 있다. 어플리케이션 제어부(330)에서 관리하는 어플리케이션 및 어플리케이션 정보는 사용자가 수시로 갱신(update)하도록 할 수 있다.The application control unit 330 stores each application and application information in correspondence with a job to be processed in each application. When the resource management unit 320 assigns each job to the job server 302, the job server to which the job is assigned ( The application may be sent to 302. In this case, the application may be directly transmitted to be installed and used by the job server 302 to which the job is assigned. In this case, whether the application is installed in the job server 302 to which the job is assigned and The application can be installed to process the work regardless. In addition, more preferably, instead of unconditionally transmitting the application, the application identifier of the application and the application version of the application are transmitted to the job server 302 to which the job is assigned, and the job server 302 to which the job is assigned. If there is no application corresponding to the application identifier and the application version in the request to the application control unit 330, the application control unit to transmit and install the application to the job server 302 to which the job is assigned. have. Applications and application information managed by the application controller 330 may be updated by the user from time to time.

도 4는 본 발명의 일실시예에 따른 미들웨어 시스템의 작업 서버 상태 정보의 일례를 도시한 도면이다.4 is a diagram illustrating an example of job server state information of a middleware system according to an embodiment of the present invention.

도면에 도시한 바와 같이, 작업 서버 상태 정보는 작업 서버의 이름, CPU 개수, CPU 속도, 메모리 용량, 하드디스크 용량 및 플랫폼 정보 등을 포함할 수 있 다.As shown in the figure, the job server status information may include the name of the job server, the number of CPUs, the CPU speed, the memory capacity, the hard disk capacity and the platform information.

도면 부호 410에 도시한 CPU 개수, CPU 속도, 메모리 용량 및 하드디스크 용량은 시스템 사양 정보에 포함되는 것으로 각 작업 서버의 시스템 사양을 나타낸다. 상기 시스템 사양 정보를 이용하여, 본 발명의 일실시예에 따른 미들웨어 시스템은 각 작업을 효과적으로 처리할 수 있는 작업 서버를 선별하여 작업을 할당할 수 있다. 일례로 각 CPU가 2.5GHz 이상의 속도를 가져야 하는 작업이 있는 경우에, 상기 작업은 henry 작업 서버 및 only one 작업 서버 중 하나에 할당되어야 한다. 또한, 하드 디스크의 사용이 많아서, 50GB 이상의 하드디스크 용량을 필요로 하는 작업의 경우에는 henry 작업 서버에 할당되어야 한다. 이와 같이 작업의 특성에 따라서 적합한 작업 서버를 선별할 수 있도록 하여 효율적인 작업 처리가 가능하도록 할 수 있다.The number of CPUs, CPU speeds, memory capacities, and hard disk capacities shown at 410 are included in the system specification information and indicate the system specifications of each work server. Using the system specification information, the middleware system according to an embodiment of the present invention may select a job server capable of effectively processing each job and allocate a job. For example, if there is a job where each CPU should have a speed of 2.5 GHz or more, the job should be assigned to one of the henry job server and only one job server. In addition, hard disk usage is high, and jobs requiring hard disk space above 50 GB should be allocated to the henry job server. In this way, it is possible to select a suitable job server according to the characteristics of the job to enable efficient job processing.

또한 도면 부호 420에 도시한 플랫폼 정보는 각 작업 서버에 설치된 플랫폼에 관한 정보로, 각 작업을 처리하기 위한 어플리케이션은 컴퓨터에서 동작하는 프로그램 형태이므로, 각 프로그램이 동작할 수 있는 플랫폼이 별도로 존재한다. 따라서, 어플리케이션이 동작하기 위해서는 상기 어플리케이션을 동작시킬 수 있는 플랫폼이 구비된 작업 서버가 필요하며, 본 발명에서는 상기 작업 서버 상태 정보에 포함된 플랫폼 정보를 이용하여, 각 작업을 할당할 작업 서버를 선별할 수 있다.In addition, the platform information shown at 420 is information about a platform installed in each job server. Since an application for processing each job is in the form of a program running on a computer, there is a platform on which each program can operate. Accordingly, in order for an application to operate, a job server having a platform capable of operating the application is required. In the present invention, a job server to which each job is assigned is selected using platform information included in the job server state information. can do.

이 밖에도 작업 서버 상태 정보는 각 작업서버의 부하 정보(load information)를 포함할 수 있다. 상기 시스템 사양 정보 및 플랫폼 정보는 대부분 작업 서버가 설치되면 변경되지 않는 사항이나, 상기 부하 정보는 작업 서버가 동작하는 동안 수시로 변경되는 사항이다. 따라서, 상기 부하 정보는 작업 서버로부터 수시로 수신하여 갱신하도록 한다.In addition, the job server status information may include load information of each job server. The system specification information and platform information are mostly items that do not change when the job server is installed. However, the load information is items that change from time to time while the job server is operating. Therefore, the load information is frequently received and updated from the job server.

도 5는 본 발명의 일실시예에 따른 미들웨어 시스템의 작업 정보의 일례를 도시한 도면이다.5 is a diagram illustrating an example of job information of a middleware system according to an embodiment of the present invention.

도면에 도시한 바와 같이, 각 작업에 대한 작업 정보(job information)는 작업 식별자(job ID), 어플리케이션 식별자(App. ID), 어플리케이션 버전(app. Ver), 플랫폼, 최소 요구 사양 및 우선순위 정보 등을 포함할 수 있다. 이 밖에도 각 작업을 처리하기 위하여 작업의 특성을 나타내는 정보는 어떤 정보라도 포함될 수 있다.As shown in the figure, job information for each job includes a job ID, a job ID, an app version, an app version, a platform, minimum requirements, and priority information. And the like. In addition, the information representing the characteristics of the task in order to process each task may include any information.

도면 부호 510은 각 작업을 처리하기 위한 어플리케이션의 어플리케이션 식별자 및 어플리케이션 버전을 나타낸다. 상기 어플리케이션 식별자 및 어플리케이션 버전을 이용하면, 각 어플리케이션을 식별할 수 있고, 이를 이용하여 각 작업 서버에 필요한 어플리케이션이 설치되어 있는지 여부를 확인할 수 있다.Reference numeral 510 denotes an application identifier and an application version of an application for processing each task. By using the application identifier and the application version, it is possible to identify each application and use it to check whether the necessary application is installed in each job server.

도면 부호 520은 각 작업을 처리하기 위한 어플리케이션이 동작 가능한 플랫폼 정보를 나타낸다. 각 어플리케이션은 컴퓨터에서 실행 가능한 프로그램 형태로, 컴퓨터 프로그램을 실행하기 위해서는 상기 프로그램이 동작 가능한 플랫폼이 구비된 컴퓨터가 존재해야 한다. 따라서, 본 발명에서는 각 작업을 처리하기 위한 어플리케이션 별로 어플리케이션이 동작 가능한 플랫폼 정보를 저장하여 둠으로써, 상기 플랫폼이 갖추어진 작업 서버에 상기 작업을 할당하도록 한다.Reference numeral 520 denotes platform information on which an application for processing each task can operate. Each application is in the form of a program executable on a computer. In order to execute a computer program, a computer having a platform capable of operating the program must exist. Therefore, in the present invention, by storing the platform information that the application can operate for each application for processing each job, to assign the job to a job server equipped with the platform.

또한, 도면 부호 530은 각 작업을 처리하기 위한 어플리케이션이 동작하기 위한 최소 요구 사양 정보를 나타낸다. 각 작업을 처리하기 위한 어플리케이션은 각 작업의 특성에 따라 각기 다른 특징을 가진다. 어떤 어플리케이션은 빠른 CPU 연산을 필요로 하고, 다른 어플리케이션은 큰 용량의 메모리를 필요로 한다. 또한 다른 어플리케이션은 큰 용량의 하드디스크를 필요로 할 수 있다. 따라서, 각 어플리케이션의 특성에 따라, 각 어플리케이션을 가장 효과적으로 동작할 수 있는 작업 서버를 찾기 위해서는 각 어플리케이션의 시스템 요구 사양에 관한 정보를 저장해야 한다. 도면에 도시한 바와 같이, 최소 요구 사양은 상기 시스템 사양에 포함되는 정보 중 일부 또는 전부의 정보에 대한 한정을 포함할 수 있다.Reference numeral 530 denotes minimum requirement information for operating an application for processing each job. The application for processing each task has different characteristics according to the characteristics of each task. Some applications require fast CPU operations, while others require large amounts of memory. Other applications may also require large hard disks. Therefore, according to the characteristics of each application, in order to find a job server capable of operating each application most effectively, it is necessary to store information about the system requirements of each application. As shown in the figure, the minimum requirement may include a limitation on some or all of the information included in the system specification.

그리고 도면 부호 540은 각 작업의 우선순위를 나타낸다. 본 발명에서는 각 작업 별로 우선순위를 부여할 수 있도록 하여, 복수의 작업을 동시에 처리해야 하는 경우에 우선순위가 높은 작업을 우선적으로 처리하도록 할 수 있다. 상기 우선순위는 작업의 종류에 따라서 자동으로 결정되도록 할 수 있으며, 사용자가 필요에 따라서 입력하도록 할 수도 있다.Reference numeral 540 denotes the priority of each job. In the present invention, priority can be given to each job, so that when a plurality of jobs must be processed at the same time, a job having a high priority can be preferentially processed. The priority may be automatically determined according to the type of job, and may be input by the user as needed.

도 6은 본 발명의 일실시예에 따른 미들웨어 동작 방법의 흐름을 도시한 흐름도이다.6 is a flowchart illustrating a flow of a middleware operating method according to an embodiment of the present invention.

단계 S601에서는 사용자로부터 수신한 작업을 관리하고, 처리해야 할 작업을 선정한다. 단계 S601에서는 사용자로부터 작업과 함께 각 작업에 관한 작업 정보(job information)를 수신하고, 각 작업에 대응시켜 저장하도록 할 수 있다. 상기 작업 정보는 각 작업을 처리하는 어플리케이션에 관한 어플리케이션 정 보(application information)를 포함할 수 있다.In step S601, a job received from the user is managed and a job to be processed is selected. In operation S601, job information related to each job may be received from the user and stored in correspondence with each job. The job information may include application information about an application that processes each job.

또한, 단계 S601에서는 각 작업을 복수의 태스크(task)로 분류하여 관리할 수 있다. 상기 태스크는 각 작업을 이루는 구성요소로, 동일한 작업 내의 각 태스크는 서로 독립적으로 처리될 수 있어야 병렬적으로 태스크를 처리함으로써, 복수의 작업 서버(302)를 이용하여 전체 작업을 빠른 시간에 완료할 수 있다. 상기 작업을 태스크로 분류하는 것은 사용자가 작업을 입력할 때에 미리 설정하도록 할 수도 있고, 미리 정해진 작업의 종류에 해당되는 작업인 경우에는 미리 정해진 바에 따라서 복수의 태스크로 분류되도록 할 수 있다. 상기 분류된 복수의 태스크가 모두 완료되어야 상기 작업이 완료되게 된다.In operation S601, each task may be classified and managed as a plurality of tasks. The task is a component constituting each job, each task in the same job must be able to be processed independently of each other to process the tasks in parallel, thereby completing the entire job in a short time using a plurality of job server 302 Can be. Classifying the task into tasks may be set in advance when a user inputs a task, or in the case of a task corresponding to a predetermined kind of task, the task may be classified into a plurality of tasks according to a predetermined task. The task is completed only when all of the classified tasks are completed.

단계 S602에서는 복수의 작업 서버로부터 수신한 작업 서버 상태 정보를 관리하고, 단계 S601에서 선정된 작업을 상기 작업 서버에 할당(assign)한다. 상기 작업 서버 상태 정보는 각 작업 서버에서 자신의 상태에 관하여 수집한 정보를 통신망을 통하여 수신한 것이다.In step S602, job server state information received from a plurality of job servers is managed, and the job selected in step S601 is assigned to the job server. The job server state information is information received from each job server about its own state through a communication network.

또한, 단계 S602에서 관리하는 작업 서버 상태 정보는 각 작업 서버의 플랫폼 정보(platform information)를 포함할 수 있다. 상기 플랫폼 정보는 운영체제 및 상기 운영체제의 버전에 관한 정보를 포함할 수 있다. 컴퓨터에서 실행되는 프로그램 형태인 어플리케이션은 각 어플리케이션이 동작 가능한 플랫폼이 정해져 있다. 이는 각 플랫폼 별로 어플리케이션을 저장하는 파일 시스템도 다르고, 각 어플리케이션의 명령어들을 처리하는 방법도 다르기 때문이다. 따라서 단계 S602에서는 각 작업 서버의 플랫폼 정보를 관리하도록 함으로써, 각 작업을 작업 서버 에 할당할 때에, 각 작업을 처리하기 위한 어플리케이션이 동작할 수 있는 플랫폼을 갖춘 작업 서버를 상기 작업을 할당할 작업 서버로 선별하도록 할 수 있다.In addition, the job server status information managed in step S602 may include platform information of each job server. The platform information may include information about an operating system and a version of the operating system. As an application in the form of a program executed on a computer, a platform on which each application can operate is determined. This is because the file system for storing applications is different for each platform, and the method of processing the commands of each application is different. Therefore, in step S602, by managing the platform information of each job server, when assigning each job to the job server, a job server having a platform on which an application for processing each job can operate, the job server to assign the job Can be selected.

그리고 단계 S602에서 관리하는 작업 서버 상태 정보는 각 작업 서버의 시스템 사양 정보를 포함할 수 있다. 상기 시스템 사양 정보는 중앙처리장치의 개수, 중앙처리장치의 속도, 메모리 용량 및 하드디스크 용량 등을 포함할 수 있으며, 이 밖에도 작업 서버의 사양을 나타내는 정보라면 어떤 것이라도 포함할 수 있다. 각 작업을 처리하기 위하여 어플리케이션이 동작하기 위해서는 각 어플리케이션 별로 최소한의 시스템 사양이 필요하다. 따라서, 단계 S602에서는 각 어플리케이션의 어플리케이션 정보에 포함된 최소 요구 사양 정보에 기초하여, 복수의 작업 서버 중 상기 최소 요구 사양 정보를 만족하는 작업 서버에 상기 어플리케이션에서 처리하는 작업을 할당하도록 할 수 있다.The job server state information managed in step S602 may include system specification information of each job server. The system specification information may include the number of the central processing unit, the speed of the central processing unit, the memory capacity, the hard disk capacity, and the like. In addition, any information indicating the specification of the job server may be included. In order for an application to operate to process each task, a minimum system specification is required for each application. Therefore, in step S602, based on the minimum requirement specification information included in the application information of each application, it is possible to assign a job processed by the application to a job server that satisfies the minimum requirement specification information among a plurality of job servers.

단계 S603에서는 상기 사용자로부터 수신한 각 작업을 처리하기 위한 어플리케이션을 관리하고, 단계 S601에서 선정된 작업을 처리하기 위한 어플리케이션을 단계 S602에서 할당된 작업 서버에 전송한다. 상기 어플리케이션을 관리하기 위하여 단계 S603에서는 단계 S601에서 작업과 함께 수신한 어플리케이션 정보를 저장할 수 있다. 상기 어플리케이션 정보는 어플리케이션, 어플리케이션 식별자, 어플리케이션 버전 등을 포함할 수 있으며, 이 밖에도 어플리케이션의 특징을 확인할 수 있는 것이라면 어떤 정보라도 포함될 수 있다.In step S603, an application for processing each job received from the user is managed, and the application for processing the job selected in step S601 is transmitted to the job server assigned in step S602. In order to manage the application, in step S603, the application information received with the job in step S601 may be stored. The application information may include an application, an application identifier, an application version, and the like, and any information may be included as long as the characteristics of the application can be identified.

단계 S603에서는 각 어플리케이션 및 어플리케이션 정보를 각 어플리케이션에서 처리할 작업과 대응시켜 저장하며, 단계 S602에서 각 작업을 작업 서버에 할당하면, 상기 작업이 할당된 작업 서버로 상기 어플리케이션을 전송할 수 있다. 이 때, 상기 어플리케이션을 무조건 전송하는 것이 아니라, 상기 어플리케이션의 어플리케이션 식별자 및 상기 어플리케이션의 어플리케이션 버전을 상기 작업이 할당된 작업 서버에 전송하고, 상기 작업이 할당된 작업 서버에서 상기 어플리케이션 식별자 및 어플리케이션 버전에 대응되는 어플리케이션이 없는 경우에 작업 서버로부터 요청을 수신하여 상기 어플리케이션을 상기 작업 서버로 전송하여 설치하도록 할 수 있다.In operation S603, each application and application information are stored in correspondence with a job to be processed in each application. If each job is assigned to a job server in step S602, the application may be transmitted to the job server to which the job is assigned. In this case, the application identifier of the application and the application version of the application are transmitted to the job server to which the job is assigned, and the application identifier and the application version are transmitted from the job server to which the job is assigned. If there is no corresponding application, the request may be received from the job server, and the application may be transmitted to the job server for installation.

본 발명에 따른 미들웨어 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같 은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method of operating a middleware according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허 청구 범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

본 발명에 따르면 서버 자원을 효율적으로 사용하여 사용자로부터 수신한 작업을 처리할 수 있는 미들웨어 시스템을 제공하는 효과가 있다.According to the present invention, there is an effect of providing a middleware system capable of processing a work received from a user by using server resources efficiently.

또한, 본 발명에 따르면 각 작업을 처리하기 위한 어플리케이션에 관한 정보를 저장하여 둠으로써, 각 작업을 처리하기에 적절한 작업 서버를 찾아 작업을 할당할 수 있도록 하는 효과가 있다.In addition, according to the present invention, by storing information about the application for processing each job, it is effective to find a job server suitable for processing each job and assign the job.

또한, 본 발명에 따르면 각 작업을 처리하기 위한 어플리케이션이 동작할 수 있는 플랫폼에 관한 정보를 저장하고, 각 작업 서버의 플랫폼에 관한 정보를 저장함으로써, 각 어플리케이션을 동작시킬 수 있는 작업 서버에 상기 어플리케이션에서 처리하는 작업을 할당할 수 있도록 하는 효과가 있다.Further, according to the present invention, by storing information about a platform on which an application for processing each job can operate, and storing information about the platform of each job server, the application to a job server capable of operating each application This has the effect of letting you assign tasks to be processed by.

또한, 본 발명에 따르면 각 작업을 처리하기 위한 어플리케이션이 동작할 수 있는 작업 서버의 최소 요구 사양 정보를 저장하고, 각 작업 서버의 시스템 사양 정보를 저장함으로써, 각 어플리케이션을 동작시킬 수 있는 최소 요구 사양을 만족하는 작업 서버에 상기 어플리케이션에서 처리하는 작업을 할당할 수 있도록 하는 효과가 있다.Further, according to the present invention, by storing the minimum requirement information of the job server that can operate the application for processing each job, and the system specification information of each job server, the minimum requirement that can operate each application There is an effect that can be assigned to the job processing in the application to the job server that satisfies.

또한, 본 발명에 따르면 각 작업에 우선순위를 부여하고, 우선순위에 따라서 작업을 처리하도록 함으로써, 중요한 작업을 빨리 처리하도록 하는 효과가 있다.In addition, according to the present invention, by prioritizing each job and processing the job according to the priority, there is an effect of quickly processing the important job.

또한, 본 발명에 따르면 작업을 작업 서버에 할당하는 경우에 상기 작업 서버에 상기 작업을 처리하기 위한 어플리케이션이 설치되어 있는지 여부를 확인하고, 설치되어 있지 않은 경우에 어플리케이션을 설치하도록 함으로써, 별도의 어플리케이션 설치 작업 없이도 작업을 효과적으로 할당할 수 있도록 하는 효과가 있다.In addition, according to the present invention, when assigning a job to a job server, by checking whether or not the application for processing the job is installed in the job server, if not installed to install the application, a separate application This has the effect of effectively assigning tasks without installation work.

또한, 본 발명에 따르면 작업을 복수의 태스크로 분류하여 관리하고, 각 태스크를 서로 다른 작업 서버에 할당하도록 함으로써, 작업을 분산 처리할 수 있도록 하는 효과가 있다.In addition, according to the present invention, by classifying and managing a job into a plurality of tasks, and assigning each task to a different job server, the job can be distributedly processed.

또한, 본 발명에 따르면 작업 서버 중 일부를 특정 작업을 처리하기 위한 전담 작업 서버로 설정하도록 함으로써, 상기 특정 작업에 최소한의 작업 서버를 배치하도록 함으로써, 중요한 작업을 최대한 빨리 완료할 수 있도록 하는 효과가 있다.In addition, according to the present invention by setting some of the job server as a dedicated job server for processing a specific job, by placing a minimum job server in the particular job, it is effective to complete important work as soon as possible have.

또한, 본 발명에 따르면 작업 서버 중 일부를 특정 작업 처리를 위해서 사용하지 않도록 배제함으로써, 특정 작업 처리시에 문제가 많이 발생하는 작업 서버에 특정 작업을 할당하지 않도록 하여, 문제 발생 확률을 최소화 하는 효과가 있다.In addition, according to the present invention by excluding some of the job server to use for a specific job processing, by not assigning a specific job to a job server that has a lot of problems when processing a particular job, the effect of minimizing the probability of problem occurrence There is.

또한, 본 발명에 따르면 작업을 할당한 작업 서버가 할당된 작업을 완료할 수 없게 되는 경우에 다른 작업 서버에 상기 작업을 할당하도록 함으로써, 서버에 문제가 생기는 경우에도 작업을 완료할 수 있도록 하는 효과가 있다.In addition, according to the present invention, when the task server to which the task is assigned cannot complete the assigned task, the task is allocated to another task server, so that the task can be completed even if a problem occurs in the server. There is.

또한, 본 발명에 따르면 특정 작업에 할당할 수 있는 작업 서버의 최대 개수를 한정할 수 있도록 함으로써, 특정 작업에 필요 이상의 작업 서버가 할당되어 다른 작업이 늦어지는 것을 방지하는 효과가 있다.In addition, according to the present invention, by limiting the maximum number of job servers that can be assigned to a particular job, there is an effect of preventing the delay of other jobs by assigning more job servers than necessary to a particular job.

Claims (31)

태스크 처리 요청을 수신하고, 상기 태스크 처리 요청에 응답하여 태스크(task)를 처리하는 복수의 작업 서버(worker); 및A plurality of work servers receiving a task processing request and processing a task in response to the task processing request; And 사용자로부터 처리해야 할 작업(job)에 관한 작업 정보(job information)를 수신하고, 상기 작업 정보를 기초로 상기 작업을 하나 이상의 태스크(task)로 나누고, 상기 작업 서버 중 상기 태스크 중 하나를 처리할 수 있는 작업 서버를 선별하여, 상기 선별된 작업 서버로 상기 태스크에 관한 태스크 처리 요청을 송신하여 상기 태스크를 처리하도록 하는 제어 서버(broker)Receive job information about a job to be processed from a user, divide the job into one or more tasks based on the job information, and process one of the tasks in the job server; A control server for selecting a job server capable of processing the task by transmitting a task processing request for the task to the selected job server 를 포함하는 것을 특징으로 하는 미들웨어 시스템.Middleware system comprising a. 제1항에 있어서,The method of claim 1, 상기 작업 정보(job information)는,The job information (job information), 상기 작업을 처리하기 위한 어플리케이션에 관한 어플리케이션 정보(application information)를 포함하는 것Including application information relating to an application for processing the job 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제2항에 있어서,The method of claim 2, 상기 어플리케이션 정보(application information)는,The application information (application information), 상기 작업을 처리하기 위한 어플리케이션(application) 및 상기 어플리케 이션이 동작 가능한 플랫폼(platform)에 대한 플랫폼 정보(platform information)를 포함하는 것Including platform information about an application for processing the work and a platform on which the application is operable; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제3항에 있어서,The method of claim 3, 상기 제어 서버(broker)는 상기 작업 서버(worker)에 각각 설치된 플랫폼에 관한 정보를 수집하여 저장하고,The control server (broker) collects and stores information about the platform installed in each of the work server (worker), 상기 작업 서버 중 상기 플랫폼 정보(platform information)에 포함된 플랫폼(platform)이 설치된 작업 서버를 상기 태스크를 처리할 수 있는 작업 서버로 선별하는 것Selecting a job server on which a platform included in the platform information among the job servers is installed as a job server capable of processing the task; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제1항에 있어서,The method of claim 1, 상기 제어 서버(broker)는 상기 작업 서버(worker)의 부하(load)에 관한 정보를 수집하여 저장하고,The control server (broker) collects and stores information about the load (load) of the worker (worker), 상기 작업 서버 중 부하가 적은 작업 서버를 상기 태스크를 처리할 수 있는 작업 서버로 선별하는 것Selecting a job server having a low load among the job servers as a job server capable of processing the task; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제1항에 있어서,The method of claim 1, 상기 제어 서버(broker)는 상기 작업 서버(worker) 중 일부를 특정 작업의 태스크만 처리하는 전담 작업 서버로 분류하고,The control server (broker) classifies some of the work server (worker) as a dedicated work server that processes only a task of a specific job, 상기 전담 작업 서버에는 상기 특정 작업의 태스크 이외의 태스크에 대한 태스크 처리 요청을 송신하지 않는 것Not sending a task processing request for a task other than the task of the specific job to the dedicated job server 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 사용자(user)로부터 수신한 작업(job)을 관리하고, 처리해야 할 작업을 선정하는 작업 관리부(job management unit);A job management unit managing a job received from a user and selecting a job to be processed; 복수의 작업 서버(worker)로부터 수신한 작업 서버 상태 정보(worker status information)를 관리하고, 상기 선정된 작업을 상기 작업 서버에 할당(assign)하는 자원 관리부(resource management unit); 및A resource management unit for managing worker status information received from a plurality of work servers and assigning the selected work to the work server; And 상기 사용자로부터 수신한 각 작업을 처리하기 위한 어플리케이션(application)을 관리하고, 상기 선정된 작업을 처리하기 위한 어플리케이션을 상기 할당된 작업 서버에 전송하는 어플리케이션 제어부(application control unit)An application control unit managing an application for processing each job received from the user and transmitting an application for processing the selected job to the assigned job server. 를 포함하는 것을 특징으로 하는 미들웨어 시스템.Middleware system comprising a. 제7항에 있어서,The method of claim 7, wherein 상기 어플리케이션 제어부(application control unit)는,The application control unit (application control unit), 상기 사용자로부터 작업을 처리하기 위한 어플리케이션에 관한 어플리케이 션 정보(application information)를 수신하여 상기 작업에 대응시켜 저장하는 것Receiving application information about an application for processing a job from the user and storing the application information corresponding to the job 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제8항에 있어서,The method of claim 8, 상기 어플리케이션 정보(application information)는,The application information (application information), 상기 작업을 처리하기 위한 어플리케이션(application) 및 상기 어플리케이션이 동작 가능한 플랫폼(platform)에 대한 플랫폼 정보(platform information)를 포함하는 것An application for processing the task and platform information about a platform on which the application is operable; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제9항에 있어서,The method of claim 9, 상기 작업 서버 상태 정보(worker status information)는,The worker status information (worker status information), 각 작업 서버의 플랫폼 정보(platform information)를 포함하고,Contains platform information for each job server, 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 선정된 작업의 플랫폼 정보와 대응되는 플랫폼 정보를 가지는 작업 서버 중 상기 선정된 작업을 할당할 작업 서버를 결정하는 것Determining a job server to which the selected job is to be allocated among job servers having platform information corresponding to platform information of the selected job; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제9항에 있어서,The method of claim 9, 상기 플랫폼 정보(platform information)는,The platform information (platform information), 어플리케이션이 동작하는 운영체제 및 상기 운영체제의 버전에 관한 정보를 포함하는 것Containing information about the operating system on which the application is running and the version of the operating system 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제8항에 있어서,The method of claim 8, 상기 어플리케이션 정보(application information)는,The application information (application information), 상기 어플리케이션을 동작시키는데 필요한 최소 요구 사양 정보를 포함하고,Includes minimum requirements information required to operate the application, 상기 작업 서버 상태 정보(worker status information)는,The worker status information (worker status information), 각 작업 서버의 시스템 사양 정보를 포함하고,Contains system specification information for each job server, 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 시스템 사양 정보를 기초로 상기 최소 요구 사양 정보에 포함된 최소 요구 사양을 만족하는 작업 서버에 상기 선정된 작업을 할당하는 것Allocating the selected job to a job server that satisfies the minimum requirement specification included in the minimum requirement specification information based on the system specification information; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제12항에 있어서,The method of claim 12, 상기 시스템 사양 정보는,The system specification information, 중앙처리장치(CPU) 개수, 중앙처리장치 속도(CPU speed), 메모리 용량(memory size) 및 하드디스크 용량(hard disk size)을 포함하는 것Including the number of CPUs, CPU speed, memory size, and hard disk size 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제8항에 있어서,The method of claim 8, 상기 어플리케이션 정보(application information)는,The application information (application information), 상기 어플리케이션의 어플리케이션 식별자(application ID) 및 상기 어플리케이션의 어플리케이션 버전 정보(application version information)를 포함하는 것An application identifier of the application and application version information of the application; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제14항에 있어서,The method of claim 14, 상기 어플리케이션 제어부(application control unit)는,The application control unit (application control unit), 상기 할당된 작업 서버에 상기 어플리케이션 식별자 및 상기 어플리케이션 버전 정보에 대응되는 어플리케이션이 설치되어 있지 않은 경우에 상기 어플리케이션을 상기 할당된 작업 서버로 전송하는 것Transmitting the application to the assigned job server when the application corresponding to the application identifier and the application version information is not installed in the assigned job server. 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 작업 서버 상태 정보(worker status information)는,The worker status information (worker status information), 각 작업 서버의 부하 정보(load information)를 포함하고,Includes load information for each job server, 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 부하 정보를 기초로 부하가 낮은 작업 서버에 상기 선정된 작업을 우 선적으로 할당하는 것Assigning the selected job to a low load job server based on the load information 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 작업 관리부(job management unit)는,The job management unit (job management unit), 상기 작업(job)에 우선순위(priority)를 부여하고, 우선순위가 높은 작업을 우선적으로 처리할 작업으로 선정하는 것Assigning priority to the job, and selecting a job having high priority as a job to be processed first. 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 작업 관리부(job management unit)는,The job management unit (job management unit), 각 작업(job)을 복수의 태스크(task)로 분류하여 관리하고,Each job is classified and managed as a plurality of tasks, 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 선정된 작업의 각 태스크를 각각 다른 작업 서버(worker)에 할당하는 것Allocating each task of the selected job to a different job server 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 작업 서버 중 일부를 특정 작업만 처리하는 전담 작업 서버로 설정하 고, 상기 전담 작업 서버에는 상기 특정 작업만을 할당하는 것Set some of the job servers as dedicated job servers that process only specific jobs, and assign only the specific jobs to the dedicated job servers. 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 작업 서버 중 일부를 특정 작업을 처리하지 않는 배제 작업 서버로 설정하고, 상기 배제 작업 서버에는 상기 특정 작업을 할당하지 않는 것Setting some of the job servers as an exclusion job server that does not process a particular job, and not assigning the specific job to the exclusion job server 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 작업 별로 할당할 수 있는 작업 서버의 개수를 제한하는 것Limiting the number of job servers that can be allocated per job 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 제7항에 있어서,The method of claim 7, wherein 상기 자원 관리부(resource management unit)는,The resource management unit (resource management unit), 상기 선정된 작업을 할당한 작업 서버가 상기 선정된 작업을 완료할 수 없게 되면, 상기 선정된 작업을 다른 작업 서버에 할당하는 것Assigning the selected job to another job server when the job server to which the selected job is assigned cannot complete the selected job; 을 특징으로 하는 미들웨어 시스템.Middleware system characterized in that. 사용자(user)로부터 수신한 작업(job)을 관리하고, 처리해야 할 작업을 선정하는 단계;Managing a job received from a user and selecting a job to be processed; 복수의 작업 서버(worker)로부터 수신한 작업 서버 상태 정보(worker status information)를 관리하고, 상기 선정된 작업을 상기 작업 서버에 할당(assign)하는 단계; 및Managing worker status information received from a plurality of work servers and assigning the selected work to the work server; And 상기 사용자로부터 수신한 각 작업을 처리하기 위한 어플리케이션(application)을 관리하고, 상기 선정된 작업을 처리하기 위한 어플리케이션을 상기 할당된 작업 서버에 전송하는 단계Managing an application for processing each job received from the user, and transmitting an application for processing the selected job to the assigned job server; 을 포함하는 것을 특징으로 하는 미들웨어 동작 방법.Middleware operation method comprising a. 제23항에 있어서,The method of claim 23, wherein 상기 어플리케이션을 전송하는 상기 단계는,The step of transmitting the application, 상기 사용자로부터 작업을 처리하기 위한 어플리케이션에 관한 어플리케이션 정보(application information)를 수신하여 상기 작업에 대응시켜 저장하는 것Receiving application information regarding an application for processing a job from the user and storing the application information in correspondence with the job 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제24항에 있어서,The method of claim 24, 상기 어플리케이션 정보(application information)는,The application information (application information), 상기 작업을 처리하기 위한 어플리케이션(application) 및 상기 어플리케이션이 동작 가능한 플랫폼(platform)에 대한 플랫폼 정보(platform information) 를 포함하는 것An application for processing the work and platform information about a platform on which the application is operable; 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제25항에 있어서,The method of claim 25, 상기 작업 서버 상태 정보(worker status information)는,The worker status information (worker status information), 각 작업 서버의 플랫폼 정보(platform information)를 포함하고,Contains platform information for each job server, 상기 선정된 작업을 상기 작업 서버에 할당하는 상기 단계는,The step of assigning the selected job to the job server, 상기 선정된 작업의 플랫폼 정보와 대응되는 플랫폼 정보를 가지는 작업 서버 중 상기 선정된 작업을 할당할 작업 서버를 결정하는 것Determining a job server to which the selected job is to be allocated among job servers having platform information corresponding to platform information of the selected job; 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제25항에 있어서,The method of claim 25, 상기 플랫폼 정보(platform information)는,The platform information (platform information), 어플리케이션이 동작하는 운영체제 및 상기 운영체제의 버전에 관한 정보를 포함하는 것Containing information about the operating system on which the application is running and the version of the operating system 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제24항에 있어서,The method of claim 24, 상기 어플리케이션 정보(application information)는,The application information (application information), 상기 어플리케이션을 동작시키는데 필요한 최소 요구 사양 정보(minimum demand information)를 포함하고,Includes minimum demand information required to run the application, 상기 작업 서버 상태 정보(worker status information)는,The worker status information (worker status information), 각 작업 서버의 시스템 사양 정보를 포함하고,Contains system specification information for each job server, 상기 선정된 작업을 상기 작업 서버에 할당하는 상기 단계는,The step of assigning the selected job to the job server, 상기 시스템 사양 정보를 기초로 상기 최소 요구 사양 정보에 포함된 최소 요구 사양을 만족하는 작업 서버에 상기 선정된 작업을 할당하는 것Allocating the selected job to a job server that satisfies the minimum requirement specification included in the minimum requirement specification information based on the system specification information; 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제28항에 있어서,The method of claim 28, 상기 시스템 사양 정보는,The system specification information, 중앙처리장치(CPU) 개수, 중앙처리장치 속도(CPU speed), 메모리 용량(memory size) 및 하드디스크 용량(hard disk size)을 포함하는 것Including the number of CPUs, CPU speed, memory size, and hard disk size 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제23항에 있어서,The method of claim 23, wherein 상기 처리해야 할 작업을 선정하는 상기 단계는,The step of selecting the job to be processed, 각 작업(job)을 복수의 태스크(task)로 분류하여 관리하고,Each job is classified and managed as a plurality of tasks, 상기 선정된 작업을 상기 작업 서버에 할당하는 상기 단계는,The step of assigning the selected job to the job server, 상기 선정된 작업의 각 태스크를 각각 다른 작업 서버(worker)에 할당하는 것Allocating each task of the selected job to a different job server 을 특징으로 하는 미들웨어 동작 방법.Middleware operation method characterized in that. 제23항 내지 제30항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 23 to 30.
KR1020060086816A 2006-09-08 2006-09-08 Middle ware system using grid computing and method therof KR100788328B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060086816A KR100788328B1 (en) 2006-09-08 2006-09-08 Middle ware system using grid computing and method therof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060086816A KR100788328B1 (en) 2006-09-08 2006-09-08 Middle ware system using grid computing and method therof

Publications (1)

Publication Number Publication Date
KR100788328B1 true KR100788328B1 (en) 2007-12-27

Family

ID=39147913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060086816A KR100788328B1 (en) 2006-09-08 2006-09-08 Middle ware system using grid computing and method therof

Country Status (1)

Country Link
KR (1) KR100788328B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918658B1 (en) * 2009-01-30 2009-09-22 (주)티비스톰 Middleware device for executing multiple applications
KR101477971B1 (en) * 2013-08-09 2015-01-05 주식회사 유진로봇 Apparatus and method for gearing a service of IP device
KR101669555B1 (en) * 2015-07-28 2016-10-26 울산과학기술원 Apparatus and method for allocating resource to application
KR101767745B1 (en) 2015-10-21 2017-08-14 주식회사 포스코 Middleware server of steel process middleware service system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040005818A (en) * 2000-09-01 2004-01-16 콸콤 인코포레이티드 Method and apparatus for time-division power assignments in a wireless communication system
KR20060135697A (en) * 2004-01-08 2006-12-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Resource management in a multi-processor system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040005818A (en) * 2000-09-01 2004-01-16 콸콤 인코포레이티드 Method and apparatus for time-division power assignments in a wireless communication system
KR20060135697A (en) * 2004-01-08 2006-12-29 코닌클리케 필립스 일렉트로닉스 엔.브이. Resource management in a multi-processor system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100918658B1 (en) * 2009-01-30 2009-09-22 (주)티비스톰 Middleware device for executing multiple applications
KR101477971B1 (en) * 2013-08-09 2015-01-05 주식회사 유진로봇 Apparatus and method for gearing a service of IP device
KR101669555B1 (en) * 2015-07-28 2016-10-26 울산과학기술원 Apparatus and method for allocating resource to application
KR101767745B1 (en) 2015-10-21 2017-08-14 주식회사 포스코 Middleware server of steel process middleware service system

Similar Documents

Publication Publication Date Title
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
US9588789B2 (en) Management apparatus and workload distribution management method
JP3942617B2 (en) Computer resource management method for distributed processing system
EP3400535B1 (en) System and method for distributed resource management
US8949839B2 (en) Method and system for controlling work request queue in a multi-tenant cloud computing environment
US10241836B2 (en) Resource management in a virtualized computing environment
US8468530B2 (en) Determining and describing available resources and capabilities to match jobs to endpoints
US10333859B2 (en) Multi-tenant resource coordination method
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
US11755369B2 (en) Techniques for container scheduling in a virtual environment
CN111399970B (en) Reserved resource management method, device and storage medium
US20180246765A1 (en) System and method for scheduling jobs in distributed datacenters
JP2007133586A (en) Resource allocation arbitration device and resource allocation arbitration method
CN112052068A (en) Method and device for binding CPU (central processing unit) of Kubernetes container platform
US20220253341A1 (en) Memory-aware placement for virtual gpu enabled systems
US9851960B2 (en) Tenant allocation in multi-tenant software applications
US10606650B2 (en) Methods and nodes for scheduling data processing
KR100788328B1 (en) Middle ware system using grid computing and method therof
JP6010975B2 (en) Job management apparatus, job management method, and program
US20230155958A1 (en) Method for optimal resource selection based on available gpu resource analysis in large-scale container platform
CN113301087B (en) Resource scheduling method, device, computing equipment and medium
JP7037059B2 (en) Resource management system and resource allocation program
WO2017109890A1 (en) Management computer and batch processing execution method
KR102014246B1 (en) Mesos process apparatus for unified management of resource and method for the same
JP2020190867A (en) Configuration changeable integrated circuit allocation system, configuration changeable integrated circuit allocation method and computer program

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee