KR101692964B1 - Provisioning apparatus and method - Google Patents

Provisioning apparatus and method Download PDF

Info

Publication number
KR101692964B1
KR101692964B1 KR1020160087279A KR20160087279A KR101692964B1 KR 101692964 B1 KR101692964 B1 KR 101692964B1 KR 1020160087279 A KR1020160087279 A KR 1020160087279A KR 20160087279 A KR20160087279 A KR 20160087279A KR 101692964 B1 KR101692964 B1 KR 101692964B1
Authority
KR
South Korea
Prior art keywords
provisioning
task
timer
unit
resource
Prior art date
Application number
KR1020160087279A
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 KR1020160087279A priority Critical patent/KR101692964B1/en
Application granted granted Critical
Publication of KR101692964B1 publication Critical patent/KR101692964B1/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F17/30345
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Disclosed are a provisioning apparatus and a provisioning method. The provisioning apparatus includes: at least one adapter for receiving a provisioning process on resources, which are normally operated, to store the process in a task queue; a task performing unit for performing a provisioning on the resources according to the provisioning task stored in the task queue; a timer managing unit for driving a timer on the task performing unit; a task managing unit for storing and managing a list for the task performing unit expired with the timer; and a resource managing unit for modifying status information of the resource, which has the number of the task performing unit expired with the timer more than or equal to the predetermined number, into a suspend state.

Description

프로비저닝 장치 및 그 방법{Provisioning apparatus and method}[0001] PROVISIONING APPARATUS AND METHOD [0002]

본 발명은 프로비저닝 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 무한 대기를 방지할 수 있는 프로비저닝 장치 및 그 방법에 관한 것이다.The present invention relates to a provisioning apparatus and a method thereof, and more particularly, to a provisioning apparatus and a method thereof capable of preventing infinite waiting.

신입사원이 입사하거나 조직 내 인사이동 또는 직무 변경이 발생하여 사용자가 접근하는 리소스(resource)의 범주가 변경되었을 때, 리소스 접근에 필요한 계정을 생성하거나 접근 권한을 변경하여야 하는데, 이러한 일련의 과정을 프로비저닝(provisioning)이라고 한다.When a new employee enters a company, a personnel shift or job change occurs in the organization, and a category of a resource accessed by the user changes, the account necessary for accessing the resource or change the access right must be changed. This is called provisioning.

사용자가 접근하는 리소스는 액티브 디렉토리(active directory), 이메일, 그룹웨어, ERP(Enterprise Resource Planning) 등의 다양한 애플리케이션나 시스템, 또는 각종 그룹이나 데이터베이스일 수 있다. 각 사용자마다 접근하는 리소스의 종류가 상이할 뿐만 아니라, 각 사용자가 접근하는 리소스의 개수 또한 많게는 수천 개 이상이다.The resources that the user accesses may be various applications or systems such as an active directory, email, groupware, ERP (Enterprise Resource Planning), or various groups or databases. Not only are there different types of resources to be accessed for each user, but also the number of resources that each user accesses is more than a few thousand.

그러나 리소스 자체의 문제 또는 네트워크 문제 등으로 인해 일부 리소스에 대한 프로비저닝에 많은 시간이 소요되거나 프로비저닝이 종료되지 아니한 채 계속 대기 상태가 되면, 이후 프로비저닝 작업이 적체되어 전체 프로비저닝 시간이 오래 걸릴 뿐만 아니라, 최악의 경우 전체 프로비저닝 작업이 무한 대기하는 상태가 될 수도 있다.However, if provisioning for some resources is time consuming due to problems with the resource itself or network problems, or if the provisioning process is not terminated, the provisioning process may become overloaded and the entire provisioning process may take a long time, , The entire provisioning operation may be in an infinite wait state.

특허출원번호 제10-2007-0068773호Patent Application No. 10-2007-0068773

본 발명이 이루고자 하는 기술적 과제는, 프로비저닝의 무한 대기를 방지하고 신속하고 정확한 프로비저닝을 수행할 수 있는 방법 및 그 장치를 제공하는 데 있다.Disclosure of Invention Technical Problem [8] The present invention provides a method and apparatus for preventing infinite waiting of provisioning and performing rapid and accurate provisioning.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 프로비저닝 장치의 일 예는, 정상 동작 중인 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 적어도 하나 이상의 어댑터; 상기 태스크 큐에 저장된 프로비저닝 작업에 따라 리소스에 프로비저닝을 수행하는 적어도 하나 이상의 작업수행부; 상기 적어도 하나 이상의 작업수행부에 대한 타이머를 구동하는 타이머관리부; 타이머 만료된 작업수행부에 대한 리스트를 저장하고 관리하는 작업관리부; 및 타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 리소스관리부;를 포함한다.According to an aspect of the present invention, there is provided a provisioning apparatus comprising: at least one adapter for receiving a provisioning task for a resource in normal operation and storing the provisioning task in a task queue; At least one task performing unit for provisioning resources according to a provisioning task stored in the task queue; A timer managing unit for driving a timer for the at least one job performing unit; A task management unit for storing and managing a list of timer expired task performing units; And a resource management unit for changing status information of a resource whose number of timer expired job performing units is equal to or more than a predetermined number to a suspended state.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 프로비저닝 방법의 일 예는, 적어도 하나 이상의 제1 쓰레드를 이용하여 정상 동작 중인 대상 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 단계; 프로비저닝 작업을 수행하는 적어도 하나 이상의 제2 쓰레드에 대한 타이머를 구동하는 단계; 상기 제2 쓰레드를 통해 태스크 큐에 저장된 프로비저닝 작업을 수행하는 단계; 타이머 만료된 제2 쓰레드에 대한 리스트를 저장하는 단계; 및 타이머 만료된 제2 쓰레드의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a provisioning method comprising: receiving a provisioning task for a target resource in normal operation using at least one first thread and storing the provisioning task in a task queue; Driving a timer for at least one second thread performing the provisioning operation; Performing a provisioning task stored in a task queue through the second thread; Storing a list of timer expired second threads; And changing the state information of the resource whose number of timer expired second threads is equal to or more than a predetermined number to the suspended state.

본 발명에 따르면, 리소스 자체 문제나 네트워크 오류 등 다양한 원인에 의해 프로비저닝이 무한 대기하는 것을 방지할 수 있다. 다시 말해, 수행 시간이 길어지거나 무한 대기하는 쓰레드가 많이 발생하는 리소스를 선별 관리하여, 문제가 있는 리소스에 대한 추가적인 프로비저닝 작업을 수행하지 아니하도록 하여 프로비저닝 작업 전체가 무한 대기하는 것을 방지할 수 있다. 또한, 프로비저닝을 수행하는 쓰레드를 강제로 중지하지 아니하므로 시스템에 비정상적인 상황을 유발하지 않는다.According to the present invention, it is possible to prevent the provisioning from infinite waiting due to various causes such as a resource problem or a network error. In other words, it is possible to prevent resources from being infinitely waiting for the entire provisioning task by selectively managing resources that have a long execution time or a large number of threads that wait indefinitely, and do not perform additional provisioning work on the resource in question. In addition, it does not forcibly stop the thread that performs the provisioning, and thus does not cause an abnormal situation in the system.

도 1은 복수의 어댑터를 이용한 병렬 프로비저닝 처리 방법의 일 예를 도시한 도면,
도 2는 본 발명에 따른 프로비저닝 장치의 일 실시 예의 구성을 도시한 도면,
도 3은 본 발명에 따른 프로비저닝 장치의 다른 실시 예의 구성을 도시한 도면, 그리고,
도 4는 본 발명에 따른 프로비저닝 방법의 일 실시 예의 흐름을 도시한 도면이다.
1 is a diagram showing an example of a parallel provisioning processing method using a plurality of adapters,
2 is a diagram showing the configuration of an embodiment of a provisioning apparatus according to the present invention,
FIG. 3 is a view showing a configuration of another embodiment of the provisioning apparatus according to the present invention,
FIG. 4 is a flow chart of an embodiment of a provisioning method according to the present invention.

이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 프로비저닝 장치 및 그 방법에 대해 상세히 설명한다.Hereinafter, a provisioning apparatus and a method thereof according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 복수의 어댑터를 이용한 병렬 프로비저닝 처리 방법의 일 예를 도시한 도면이다.1 is a diagram showing an example of a parallel provisioning processing method using a plurality of adapters.

도 1을 참조하면, 프로비저닝 장치를 구성하는 복수의 어댑터(110)는 병렬로 큐(100)에 프로비저닝 작업을 요청하여 수신한 후 리소스(120)에 대해 프로비저닝을 수행한다. 각 어댑터(112,114,116)는 쓰레드(Thread)로 구현될 수 있다.Referring to FIG. 1, a plurality of adapters 110 constituting a provisioning apparatus requests a provisioning job to a queue 100 in parallel, receives the provisioning job, and performs provisioning on the resource 120. Each of the adapters 112, 114, and 116 may be implemented as a thread.

큐(100)는 프로비저닝 작업을 저장한다. 예를 들어, 사용자가 제1 그룹에서 제2 그룹으로 이동하는 경우에, 큐는 제1 그룹에 대한 '사용자 추가'의 프로비저닝 작업과 제2 그룹에 대한 '사용자 삭제'의 프로비저닝 작업을 저장한다. 이 외에도, 그룹 추가, 그룹 갱신, 그룹 삭제, 사용자 추가, 사용자 갱신, 사용자 삭제 등의 다양한 프로비저닝 작업이 큐에 저장될 수 있다. 프로비저닝 작업의 종류나 내용 등은 실시 예에 따라 다양하게 변형될 수 있다. 본 실시 예는, 프로비저닝 작업이 큐(100)에 종래 다양한 방법을 통해 저장되어 있다고 가정한다. The queue 100 stores the provisioning job. For example, when a user moves from a first group to a second group, the queue stores a provisioning task of 'add user' for the first group and a 'delete user' for the second group. In addition, various provisioning tasks such as adding a group, updating a group, deleting a group, adding a user, updating a user, deleting a user, etc., can be stored in a queue. The kind and contents of the provisioning work can be variously modified according to the embodiment. This embodiment assumes that the provisioning job is stored in the queue 100 in various conventional ways.

각 어댑터(112,114,116)는 큐(100)로부터 수신한 프로비저닝 작업을 기초로 리소스에 대한 프로비저닝을 수행한다. 프로비저닝 작업을 어떤 리소스에게 수행할지는 미리 정의되어 있다고 가정한다. 예를 들어, 큐(100) 또는 계정관리 데이터베이스(미도시)에, 제1 프로비저닝 작업의 대상 리소스는 제1 리소스(122) 및 제2 리소스(124)이고, 제2 프로비저닝 작업의 대상 리소스는 제M 리소스(126)라고 미리 저장되어 있다. Each adapter 112, 114, and 116 performs provisioning for a resource based on the provisioning operation received from the queue 100. It is assumed that what resource is to be provisioned is defined in advance. For example, in the queue 100 or the account management database (not shown), the target resources of the first provisioning job may be the first resource 122 and the second resource 124, M resource 126 in advance.

본 실시 예에서, 복수의 어댑터(110)가 병렬로 프로비저닝을 수행하므로 전체 프로비저닝 시간을 단축할 수 있다. 그러나 각 어댑터(112,114,116)는 하나의 프로비저닝 작업을 완료한 후에 다음 프로비저닝 작업을 수행할 수 있다. 예를 들어, 제1 어댑터(112)는 큐(100)로부터 제1 프로비저닝 작업을 수신한 후, 제1 프로비저닝 작업에 따라 제1 리소스(122)에 프로비저닝을 수행한다. 그리고 제1 어댑터(112)는 제1 프로비저닝 작업이 완료된 이후에 큐(100)로부터 다음 프로비저닝 작업을 수신하여 프로비저닝을 수행한다. 따라서 제1 프로비저닝 작업이 완료되지 아니하였다면 제1 프로비저닝 작업이 완료될 때까지 대기 상태가 된다. In this embodiment, a plurality of adapters 110 perform provisioning in parallel, thereby shortening the entire provisioning time. However, each adapter 112, 114, and 116 may perform the next provisioning task after completing one provisioning task. For example, after receiving the first provisioning job from the queue 100, the first adapter 112 performs provisioning on the first resource 122 according to the first provisioning job. Then, the first adapter 112 receives the next provisioning job from the queue 100 after the first provisioning job is completed, and performs the provisioning. Accordingly, if the first provisioning job is not completed, the first provisioning job is in a standby state until the first provisioning job is completed.

제1 어댑터(112)가 제1 리소스(122)에 대한 제1 프로비저닝 작업을 수행 완료하지 못한 상황에서, 제2 어댑터(114)가 제1 리소스(122)에 대한 제2 프로비저닝 작업을 수행하면, 제2 어댑터(114) 또한 제2 프로비저닝 작업이 수행 완료될 때까지 대기상태가 된다. 최악의 경우 모든 어댑터가 제1 리소스(122)에 대한 프로비저닝을 수행하면 전체 프로비저닝이 대기 상태가 되어 프로비저닝이 중지된 것처럼 보일 수 있다. 리소스나 네트워크 등 외부의 다른 여러 요인으로 인해 프로비저닝이 느려지거나 무한 대기 상태가 됨에도 불구하고, 프로비저닝 장치 자체의 오류나 장애로 잘못 인식될 수 있다. If the second adapter 114 performs a second provisioning operation for the first resource 122 in a situation where the first adapter 112 has not completed the first provisioning operation for the first resource 122, The second adapter 114 is also in a waiting state until the second provisioning job is completed. In the worst case, if all the adapters are provisioning for the first resource 122, the entire provisioning may be in a wait state and the provisioning may appear to have stopped. Even though the provisioning may be slowed down or infinite waiting due to a variety of external factors, such as resources or networks, the provisioning device itself may be mistaken for errors or failures.

어댑터(110)와 리소스(120) 사이의 네트워크, 웹 서비스 API(Application Programming Interface) 등 다양한 문제로 인해 프로비저닝이 오래 걸리거나 대기 상태가 될 수 있다. 그러나 문제가 있어 보이는 프로비저닝을 수행하는 어댑터(110)의 동작을 강제로 종료하는 경우, 프로비저닝 장치 또는 리소스(120)에 예기치 못한 문제점이 발생할 수 있다. Java 환경에서는 동작중인 쓰레드를 강제로 죽이지 말 것을 강력히 권장하고 있다. The provisioning may take a long time or become a standby state due to various problems such as a network between the adapter 110 and the resource 120 and a web service application programming interface (API). However, unexpected problems may occur with the provisioning device or resource 120 when forcibly terminating the operation of the adapter 110 that performs the provisioning that seems problematic. It is strongly recommended that you do not kill running threads in Java environments.

리소스(120)는 어댑터(110)로부터 전달받은 권한이나 계정 등의 정보를 반영하기 위하여 파일 시스템 I/O 또는 네트워크 소켓 I/O를 이용한다. 어댑터(110)가 비정상적인 프로비저닝을 중지하기 위하여 리소스(120)에 해당 프로비저닝의 중지 등을 요청하여야 한다. 그러나 어댑터(110)가 리소스(120)의 파일 시스템 I/O API에 오류를 통지해도 아무런 반응이 없다. 또한, 네트워크 소켓 I/O의 경우, JDBC(Java Database Connectivity), 웹 서비스 API가 리소스(120) 내부에서 사용중인 소켓에 접근할 수 있는 방법이 없어서 통지도 불가능하고 강제 종료도 불가능하다. 만약 JVM(Java Virtual Machine)을 강제 종료하면 애플리케이션 서비스가 중단되는 문제가 발생할 수 있다. 따라서 리소스(120)에 대한 프로비저닝 작업을 강제로 종료하지 않으면서도, 모든 어댑터(110)가 대기 상태가 되는 최악의 상태를 피할 수 있는 방법이 필요하다. The resource 120 uses file system I / O or network socket I / O to reflect information such as privileges and accounts received from the adapter 110. The adapter 110 should request the resource 120 to stop the provisioning in order to stop the abnormal provisioning. However, when the adapter 110 notifies the file system I / O API of the resource 120 of an error, there is no response. Also, in the case of network socket I / O, there is no way for JDBC (Java Database Connectivity), Web service API to access sockets in use within the resource 120, so that notification is not possible and can not be forcibly terminated. If you force the Java Virtual Machine (JVM), you can cause the application service to hang. Thus, there is a need for a way to avoid the worst of all the adapters 110 becoming idle, without forcibly terminating the provisioning operation on the resource 120.

도 2는 본 발명에 따른 프로비저닝 장치의 일 실시 예의 구성을 도시한 도면이다. 2 is a diagram showing a configuration of an embodiment of a provisioning apparatus according to the present invention.

도 2를 참조하면, 프로비저닝 장치는 적어도 하나 이상의 어댑터(200), 태스크 큐(210), 타이머 관리부(220), 작업관리부(230), 적어도 하나 이상의 작업수행부(240), 리소스 관리부(250)를 포함한다. 본 실시 예의, 각 구성은 쓰레드로 구현될 수 있으며, 쓰레드로 구현된 예에 대해서는 도 3에서 다시 설명한다. 2, the provisioning apparatus includes at least one adapter 200, a task queue 210, a timer management unit 220, a task management unit 230, at least one task execution unit 240, a resource management unit 250, . Each configuration of the present embodiment can be implemented as a thread, and an example implemented as a thread will be described again with reference to FIG.

각 어댑터(202,204,206)는 도 1의 큐 등과 같은 외부 장치로부터 프로비저닝 작업을 수신하여 태스크 큐(210)에 저장한다. 프로비저닝 작업은 어떤 리소스에 어떤 정보를 반영하여야 하는지를 나타낸다. Each of the adapters 202, 204, and 206 receives a provisioning job from an external device such as the queue of FIG. 1 and stores the provisioning job in the task queue 210. Provisioning tasks indicate which information should be reflected in which resources.

태스크 큐(210)는 각 어댑터(202,204,206)로부터 수신한 프로비저닝 작업을 저장한다. 실시 예에 따라, 프로비저닝 작업 사이에 수행 순서가 존재할 수 있다. 예를 들어, 새로운 그룹에 사용자를 추가하는 프로비저닝이 필요한 경우에, 먼저 대상 리소스에 새로운 그룹을 생성한 후 사용자를 새롭게 생성한 그룹에 추가하여야 한다. 따라서 태스크 큐(210)는 수행 순서가 동일하거나 수행 순서가 존재하지 아니한 프로비저닝 작업이 병렬로 처리될 수 있도록 프로비저닝 작업을 수행 순서를 기초로 저장하고 관리할 수 있다. 프로비저닝 작업 사이의 수행 순서는 계정관리 데이터베이스(미도시) 등에 미리 설정되어 있다고 가정한다.Task queue 210 stores the provisioning tasks received from each adapter 202, 204, Depending on the embodiment, there may be a performance order between the provisioning operations. For example, if you need provisioning to add a user to a new group, you must first create a new group in the target resource and then add the user to the newly created group. Accordingly, the task queue 210 can store and manage the provisioning tasks based on the order of execution so that the provisioning tasks having the same order of execution or having no order of execution can be processed in parallel. It is assumed that the order of execution between provisioning operations is preset in an account management database (not shown).

작업수행부(240)는 태스크 큐(210)로부터 프로비저닝 작업을 수신하여 리소스(260)에 대한 프로비저닝을 수행한다. 각 작업수행부(242,244,246)는 쓰레드로 구현될 수 있다. 각 작업수행부(242,244,246)는 병렬로 프로비저닝을 수행할 수 있다. 여러 원인으로 인해, 대상 리소스에 대한 프로비저닝 수행에 오랜 시간이 걸리거나 작업이 완료되지 않는 경우가 있을 수 있다. The task performing unit 240 receives the provisioning task from the task queue 210 and performs provisioning for the resource 260. [ Each of the task performing units 242, 244, and 246 may be implemented as a thread. Each task performing unit 242, 244, 246 can perform provisioning in parallel. Due to a number of reasons, provisioning for a target resource can take a long time or fail to complete.

실시 예에 따라, 태스크 큐(210)에 저장된 프로비저닝 작업 그 자체에 리소스에 반영할 계정이나 권한 등의 실질적인 정보가 존재하거나 존재하지 않을 수 있다. 프로비저닝 작업 그 자체에 계정이나 권한 등의 실질적인 정보가 포함되어 있지 아니한 경우, 작업수행부(240)는 프로비저닝 작업에 기술된 리소스 식별자와 프로비저닝 작업 내용 식별자(예를 들어, 그룹이나 사용자 추가, 갱신, 삭제 등), 작업 내용에 따른 그룹이나 사용자의 식별자 등을 기초로 계정관리 데이터베이스(미도시)를 검색하여 계정이나 권한 등의 실질적인 정보를 획득한 후 프로비저닝을 수행할 수 있다. According to the embodiment, the provisioning job itself stored in the task queue 210 may or may not have substantial information such as an account or authority to be reflected in the resource. If the provisioning job itself does not contain actual information such as an account or authority, the job performing unit 240 may include a resource identifier and a provisioning job content identifier described in the provisioning job (for example, adding or updating a group or a user, Deletion, etc.) of the user, the group or the user's identifier according to the contents of the work, etc., and perform provisioning after acquiring substantial information such as an account or authority by searching the account management database (not shown).

타이머 관리부(220)는 작업수행부(240)에 대한 타이머를 구동한다. 작업수행부(240)가 복수 개인 경우에, 타이머 관리부(220)는 각 작업수행부별(242,244,246)로 타이머를 구동한다. 타이머를 통해 프로비저닝 수행 시간이 일정 시간 경과한 작업수행부를 파악할 수 있다. 작업수행부(242,244,246)로부터 프로비저닝 작업의 수행 완료를 수신하면, 타이머 관리부(220)는 해당 작업수행부(242,244,246)의 타이머를 해제하고 작업 수행 완료를 해당 어댑터(202,204,206)에게 통지한다. 작업 수행 완료를 통지받은 어댑터(202,204,206)는 다음 프로비저닝 작업을 수신하는 동작을 수행한다. 그리고 타이머 관리부(220)는 타이머 만료시까지 프로비저닝 작업이 완료되지 못한 작업수행부(242,244,246)를 작업관리부(230)에 통지하여 별도 관리될 수 있도록 한다. The timer management unit 220 drives a timer for the task performing unit 240. When there are a plurality of job performing units 240, the timer managing unit 220 drives the timers by the respective job performing units 242, 244, and 246. A timer can be used to identify a task performing unit for which the provisioning time has elapsed for a predetermined time. Upon receiving the completion of the provisioning job from the job performing units 242, 244, 246, the timer managing unit 220 releases the timer of the job performing units 242, 244, 246 and notifies the adapters 202, 204, 206 of completion of the job execution. The adapters 202, 204, 206, which have been notified of the completion of the job execution, perform an operation of receiving the next provisioning job. The timer management unit 220 notifies the job management unit 230 that the provisioning job has not been completed until the timer expires, so that the timer management unit 220 can be separately managed.

작업관리부(230)는 타이머 만료된 작업수행부를 강제로 종료하는 것이 아니라 이를 파악하여 별도로 관리한다. 예를 들어, 작업관리부(230)는 현재 프로비저닝을 수행중인 작업수행부들 중 타이머가 만료 전인 작업수행부에 대한 리스트와 타이머가 만료된 작업수행부에 대한 리스트를 구분하여 생성하고 관리할 수 있다. 작업관리부(230)는 프로비저닝 작업의 수행을 완료한 작업수행부를 리스트에서 삭제한다. 예를 들어, 타이머 만료 전까지 제1 작업관리부(242)는 타이머 만료 전 리스트에 존재하며, 타이머 만료 후에는 타이머 만료 전 리스트에서 삭제되고 타이머 만료 후 리스트에 추가되며, 프로비저닝 작업이 완료되면 타이머 만료 후 리스트에서 삭제된다. The task management unit 230 does not forcefully terminate the timer expired task execution unit but grasps and manages the task expired task execution unit separately. For example, the task management unit 230 can generate and manage a list of task execution units before the expiration of the timer and a list of the task execution units whose timers have expired, among the task execution units currently performing provisioning. The task management unit 230 deletes the task performing unit that has completed the provisioning task from the list. For example, until the expiration of the timer, the first task management unit 242 is present in the list before the expiration of the timer. After expiration of the timer, the first task management unit 242 is deleted from the list before expiration of the timer and added to the list after expiration of the timer. It is deleted from the list.

리소스 관리부(250)는 리소스별로 타이머 만료된 작업수행부의 수를 파악한다. 리소스 관리부(250)는 타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 동작 상태에서 중지 상태로 변경한다. 예를 들어, 상태 변경을 위한 기준값이 2라고 할 때, 제1 리소스(262)에 대한 프로비저닝을 수행하는 제1 작업수행부(242) 및 제2 작업수행부(244)의 타이머가 모두 만료되었다면, 리소스 관리부(250)는 제1 리소스(262)의 상태 정보를 중지 상태로 변경한다. 이후 제1 리소스(262)의 상태가 정상 동작 상태가 아니므로, 어댑터(200)는 제1 리소스(262)에 대한 프로비저닝 작업을 수신하면, 제1 리소스에 대한 프로비저닝 작업이 더 이상 수행되지 않도록 한다. 또한 리소스 관리부(250)는 오류를 발생하여 제1 리소스에 대한 프로비저닝 작업이 정상적으로 수행될 수 없음을 관리자 등에게 통지할 수 있다. 따라서, 제1 작업수행부(242) 및 제2 작업수행부(244) 외에 다른 작업수행부가 또 다시 제1 리소스(262)에 대한 프로비저닝 작업을 수행하여 대기 상태가 되는 것을 방지하며, 제1 리소스(262) 외의 다른 리소스9264,266)에 대한 프로비저닝 작업이 정상적으로 수행되도록 할 수 있다. The resource management unit 250 grasps the number of timer expired task performing units for each resource. The resource management unit 250 changes the state information of the resource whose number of timer expired job execution units is equal to or more than a certain number from the operation state to the suspended state. For example, if the timer value for the state change is 2, if the timings of the first task performing unit 242 and the second task performing unit 244 that perform provisioning for the first resource 262 are all expired , The resource management unit 250 changes the state information of the first resource 262 to the suspended state. Since the state of the first resource 262 is not in a normal operation state, when the adapter 200 receives the provisioning operation for the first resource 262, the provisioning operation for the first resource is no longer performed . Also, the resource management unit 250 can notify the manager or the like that an error has occurred and the provisioning operation for the first resource can not be normally performed. Accordingly, it is possible to prevent another task performing unit from performing a provisioning operation for the first resource 262 in addition to the first task performing unit 242 and the second task performing unit 244 to become a standby state, (Resources 9264 and 266) other than the resource management unit 262 can be normally performed.

도 3은 본 발명에 따른 프로비저닝 장치의 다른 실시 예의 구성을 도시한 도면이다. 특히 도 3은 각 구성이 쓰레드로 구현되는 경우를 도시한 도면이다. 3 is a diagram showing the configuration of another embodiment of the provisioning apparatus according to the present invention. 3 is a diagram showing a case where each configuration is implemented as a thread.

도 3을 참조하면, 프로비저닝 장치는 적어도 하나 이상의 어댑터(200), 태스크 큐(210), 러너팩토리(runner factory)(222), 타임아웃러너(timeour runner)(224), 종료관리부(238), 모니터링부(232), 제1리스트(234) 및 제2리스트(236), 적어도 하나 이상의 작업수행부(240), 리소스 관리부(250), 리소스정보 데이터베이스(252)를 포함한다. 3, the provisioning apparatus includes at least one adapter 200, a task queue 210, a runner factory 222, a timeout runner 224, an end management unit 238, A monitoring unit 232, a first list 234 and a second list 236, at least one job performing unit 240, a resource managing unit 250, and a resource information database 252.

어댑터(즉, 어댑터 쓰레드)(200)는 도 1의 큐 등에 프로비저닝 작업을 요청하여 수신한다. 어댑터(200)는 프로비저닝 작업의 대상 리소스의 상태 정보가 동작 상태인지 중지 상태인지를 리소스정보 데이터베이스(252)를 통해 확인한다. 어댑터(200)는 리소스 상태가 동작 상태인 경우에만 프로비저닝 작업이 수행될 수 있도록 하며, 리소스 상태가 중지 상태이면, 해당 프로비저닝 작업이 수행되지 않도록 오류를 발생할 수 있다. 어댑터(200)는 정상 동작 상태인 리소스(260)에 대한 프로비저닝 작업이면, 러너팩토리(222)에게 타이아웃러너(224)를 요청한다.The adapter (i.e., adapter thread) 200 requests and receives a provisioning job from the queue of FIG. The adapter 200 confirms through the resource information database 252 whether the status information of the target resource of the provisioning job is in an operation state or a stop state. The adapter 200 allows the provisioning operation to be performed only when the resource status is in the active state, and may cause an error such that the provisioning operation is not performed if the resource status is the suspended state. Adapter 200 requests tie-out runner 224 to runner factory 222 if it is a provisioning operation for resource 260 in its normal operating state.

러너팩토리(222)는 어댑터(200)의 요청에 따라 어댑터(200)를 위한 타임아웃러너(224)를 생성한다. 타임아웃러너(224)는 어댑터별로 생성되는 쓰레드로 구현될 수 있으며, 어댑터(200)에 대해 이전에 생성된 타임아웃러너(224)가 존재하면 이를 그대로 활용할 수 있다. The runner factory 222 generates a timeout runner 224 for the adapter 200 upon request of the adapter 200. [ The timeout runner 224 may be implemented as a thread that is generated on an adapter-by-adapter basis and may utilize the timeout runner 224 previously created for the adapter 200 as it is.

어댑터(200)에 대한 타임아웃러너(224)는 어댑터(200)로부터 프로비전 작업을 전달받아 태스크 큐(210)에 저장하며, 프로비전 작업을 수행할 작업수행부(즉, 작업수행부 쓰레드)(240)를 모니터링부(232)로부터 할당받아 작업수행부(240)에 대한 타이머를 구동한다. 어댑터(200)-타임아웃러너(224)-작업수행부(240)의 각 쓰레드는 일대일 맵핑관계를 가질 수 있다. 즉, 어댑터(200)별로 타임아웃러너(224)가 존재하고, 타임아웃러너(224)는 어댑터(200)로부터 전달받은 프로비전 작업을 수행할 작업수행부(240)에 대한 타이머를 구동한다. The timeout runner 224 for the adapter 200 receives the provisioning job from the adapter 200 and stores the provisioning job in the task queue 210. The task execution unit (240) from the monitoring unit (232) and drives the timer for the task performing unit (240). The adapter 200 - timeout runner 224 - each thread of the task performing unit 240 may have a one-to-one mapping relationship. That is, the timeout runner 224 exists for each adapter 200, and the timeout runner 224 drives a timer for the job performing unit 240 to perform the provisioning work transferred from the adapter 200. [

타이머에는 일정 시간이 설정되어 있으며, 타임아웃러너(224)는 타이머 구동시간 동안(즉, 타이머 만료 전까지) 작업수행부(240)가 프로비저닝 작업의 수행을 완료하지 못하면, 작업수행부(240)의 타이머 만료 사실을 모니터링부(232)에게 전달한다. The timeout runner 224 sets a predetermined time in the timer and if the task performing unit 240 does not complete the provisioning task during the timer driving time (i.e., before the expiration of the timer) And transmits the timer expiration to the monitoring unit 232.

앞서 살핀 바와 같이, 모니터링부(232)는 타임아웃러너(224)를 위한 작업수행부(240)를 할당한다. 모니터링부(232)는 타임아웃러너(224)에 대한 작업수행부(240)가 이미 존재하는 경우에 이를 그대로 활용하며, 존재하지 아니한 경우 작업수행부(240)를 생성하여 타임아웃러너(224)에게 할당한다. 모니터링부(232)는 타임아웃러너(224)에게 할당한 작업수행부(240)의 리스트를 제1 리스트(234)에 저장한다. 제1 리스트(234)는 타이머가 만료되기 전 작업수행부(240)의 정보를 저장하는 리스트이다. 모니터링부(232)는 작업수행부(240)에게 프로비저닝 작업을 요청한다. As described above, the monitoring unit 232 allocates the task performing unit 240 for the timeout runner 224. [ The monitoring unit 232 utilizes the task execution unit 240 as it is when the task execution unit 240 for the timeout runner 224 already exists and generates the task execution unit 240 when the task execution unit 240 exists, . The monitoring unit 232 stores the list of the task performing unit 240 allocated to the timeout runner 224 in the first list 234. [ The first list 234 is a list storing information of the task performing unit 240 before the timer expires. The monitoring unit 232 requests the task performing unit 240 to perform a provisioning task.

모니터링부(232)는 타임아웃러너(224)로부터 타이머 만료된 작업수행부(240)를 통보받으면, 모니터링부(232)는 타이머 만료된 작업수행부(240)를 제2 리스트(236)에 저장한다. 제2 리스트(236)는 타이머가 만료된 작업수행부의 리스트이다.When the monitoring unit 232 receives the timer expired job execution unit 240 from the timeout runner 224, the monitoring unit 232 stores the timer expired job performing unit 240 in the second list 236 do. The second list 236 is a list of job execution units whose timers have expired.

모니터링부(232)로부터 프로비저닝 작업 요청을 수신한 작업수행부(240)는 태스크 큐(210)로부터 프로비저닝 작업을 수신하여 수행한다. 프로비저닝 작업이 완료되면, 작업수행부(240)는 타임아웃러너(224)에게 수행 완료를 통지한다. 그러면 타임아웃러너(224)는 타이머를 해제하고 프로비저닝 작업이 완료되었음을 어댑터(200)에게 알려준다. 어댑터(200)는 다음 프로비저닝 작업을 수신한다.The task execution unit 240 receives the provisioning job request from the monitoring unit 232 and receives and executes the provisioning job from the task queue 210. When the provisioning job is completed, the task performing unit 240 notifies the timeout runner 224 of completion of the execution. The timeout runner 224 then releases the timer and notifies the adapter 200 that the provisioning operation is complete. The adapter 200 receives the next provisioning task.

작업수행부(240)의 프로비저닝 작업이 오랜 시간 지연되어, 프로비저닝 작업이 타이머가 만료되기 전까지 종료되지 아니한 경우에, 앞서 살핀 바와 같이 타임아웃러너(224)는 모니터링부(232)에게 타이머 만료된 작업수행부를 통지한다. 그러면 모니터링부(232)는 타이머 만료된 작업수행부(240)를 제2 리스트(236)에 추가한다. 작업수행부(240)의 프로비저닝 작업은 강제 종료되는 것이 아니라 모니터링부(232)에 의해 별도 관리된다.If the provisioning task of the task performing unit 240 is delayed for a long time and the provisioning task is not terminated until the timer expires, the timeout runner 224 informs the monitoring unit 232 of the timer expired task And notifies the performance unit. Then, the monitoring unit 232 adds the timer expired job performing unit 240 to the second list 236. The provisioning job of the job performing unit 240 is not forcibly terminated but is separately managed by the monitoring unit 232. [

리소스 관리부(250)는 제2 리스트(236)에 저장된 타이머 만료된 작업수행부의 개수를 리소스별로 파악하여, 타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하여 리소스 정보 데이터베이스(252)에 저장한다. The resource management unit 250 grasps the number of timer expired task performing units stored in the second list 236 for each resource and changes the state information of the resource whose number of timer expired task performing units is equal to or more than a certain number to the stop state, (252).

제2 리스트(236)에 존재하는 작업수행부(240)가 프로비저닝 작업의 수행을 완료하면, 작업수행부(240)는 작업 종료를 모니터링부(232)에 통보한다. 이 경우 모니터링부(232)는 제2 리스트(236)에서 작업 종료된 작업수행부(240)를 삭제한다. 제2 리스트(236)에 저장된 작업수행부의 프로비저닝 작업이 종료 상태가 되는 경우는 다양할 수 있다. 예를 들어, 종료관리부(238)는 리소스가 연결을 종료한 경우, 리소스와 네트워크 연결이 종료되거나 방화벽 설정이 정상으로 복귀되어 작업이 진행된 경우, 프로비전을 하기 위해 사용하는 API가 내부적인 오류 또는 타임아웃에 의하여 예외처리가 발생한 경우 등을 파악하여 모니터링부(238)에게 프로비저징 작업이 종료되었음을 알려준다. 그러면 모니터링부(232)는 작업 종료된 작업수행부(240)를 제2 리스트(236)에서 삭제한다.When the task performing unit 240 in the second list 236 completes the provisioning task, the task performing unit 240 notifies the monitoring unit 232 of the end of the task. In this case, the monitoring unit 232 deletes the job completion unit 240 from the second list 236. The case where the provisioning job of the job performing unit stored in the second list 236 becomes the end state may be various. For example, when the resource is terminated by the resource, the termination management unit 238 terminates the network connection with the resource, or the firewall is set back to normal, and the operation progresses, the API used for provisioning may be an internal error or When an exception process occurs due to a timeout, and informs the monitoring unit 238 that the provisioning job has been completed. Then, the monitoring unit 232 deletes the job completion unit 240 from the second list 236.

도 4는 본 발명에 따른 프로비저닝 방법의 일 실시 예의 흐름을 도시한 도면이다.FIG. 4 is a flow chart of an embodiment of a provisioning method according to the present invention.

도 4를 참조하면, 프로비저닝 장치는 제1 쓰레드를 통해 프로비저닝 작업을 수신한다(S400). 프로비저닝 장치는 프로비저닝 작업의 대상 리소스의 상태가 동작 상태이면(S405) 다음 단계를 수행하며, 리소스의 상태가 중지 상태이면 해당 프로비저닝 작업이 수행되지 않도록 오류를 발생한다(S450). Referring to FIG. 4, the provisioning apparatus receives a provisioning job through a first thread (S400). If the state of the resource of the provisioning job is an operation state (S405), the provisioning device performs the following steps. If the state of the resource is a stop state, an error occurs so that the provisioning operation is not performed (S450).

프로비저닝 장치는 각 프로비저닝 작업을 수행하는 제2 쓰레드에 대한 타이머를 구동하고(S410), 프로비저닝 작업을 태스크 큐에 저장한다(S415). 제1 쓰레드와 제2 쓰레드는 별개의 쓰레드이다. 프로비저닝 장치는 복수의 제2 쓰레드를 이용하여 병렬로 프로비저닝을 수행하며, 이때 프로비저닝을 수행 중인 복수 개의 제2 쓰레드를 타이머 만료 전후 구분하여 관리한다(S420~S435). The provisioning apparatus drives a timer for a second thread performing each provisioning task (S410), and stores the provisioning task in a task queue (S415). The first thread and the second thread are separate threads. The provisioning apparatus performs provisioning in parallel using a plurality of second threads, and manages a plurality of second threads, which are being provisioned, before and after expiration of the timer (S420 to S435).

예를 들어, 프로비저닝 장치는 타이머 만료 전 리스트에 제2 쓰레드를 저장하고(S420), 제2 쓰레드를 통해 태스크 큐에 저장된 프로비저닝 작업을 수행한다(S425). 프로비저닝 작업이 타이머 만료 전까지 수행 완료되지 아니한 경우(S430), 프로비저닝 장치는 타이머 만료된 제2 쓰레드를 타이머 만료 후 리스트에 저장한다(S435). For example, the provisioning device stores the second thread in the list before expiration of the timer (S420), and performs the provisioning task stored in the task queue through the second thread (S425). If the provisioning operation is not completed before the expiration of the timer (S430), the provisioning device stores the expired second thread in the list after expiration of the timer (S435).

프로비저닝 장치는 타이머 만료된 제2 쓰레드의 개수가 일정 개수 이상이면(S440). 해당 리소스의 상태 정보를 중지 상태로 변환한다(S445). 중지 상태로 변경된 리소스에 대한 프로비저닝 작업은 수행되지 않는다. 실시 예에 따라, 프로비저닝 장치는 중지 상태로 변경된 리소스에 대한 정보를 관리자 등에게 알람 등을 통해 알려주어, 관리자가 리소스의 상태를 직접 파악할 수 있도록 한다. 관리자는 리소스의 상태를 파악하여 리소스를 강제 접속 종료시키거나 JVM 재가동 등의 다양한 조치를 취할 수 있다. 또한 관리자는 리소스의 상태 정보를 동작 상태로 변경하여 이후 프로비저닝이 수행될 수 있게 할 수 있다. If the number of the second threads expired by the timer is more than a predetermined number (S440), The state information of the resource is converted into the stop state (S445). Provisioning is not performed for resources that have been changed to a suspended state. According to the embodiment, the provisioning apparatus notifies the manager of the information about the resource changed to the stop state through an alarm or the like so that the manager can directly grasp the state of the resource. The administrator can grasp the status of the resource, terminate the resource forcibly, or take various actions such as restarting the JVM. In addition, the administrator can change the state information of the resource to the operating state so that the provisioning can be performed later.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described with reference to the preferred embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (9)

정상 동작 중인 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 적어도 하나 이상의 어댑터;
상기 태스크 큐에 저장된 프로비저닝 작업에 따라 리소스에 프로비저닝을 수행하는 적어도 하나 이상의 작업수행부;
상기 적어도 하나 이상의 작업수행부에 대한 타이머를 구동하는 타이머관리부;
타이머 만료된 작업수행부에 대한 리스트를 저장하고 관리하는 작업관리부; 및
타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 리소스관리부;를 포함하는 것을 특징으로 하는 프로비저닝 장치.
At least one or more adapters for receiving a provisioning task for a normally operating resource and storing the provisioning task in a task queue;
At least one task performing unit for provisioning resources according to a provisioning task stored in the task queue;
A timer managing unit for driving a timer for the at least one job performing unit;
A task management unit for storing and managing a list of timer expired task performing units; And
And a resource management unit for changing state information of a resource having a number of timer expired job execution units equal to or greater than a predetermined number to a suspended state.
제 1항에 있어서,
상기 적어도 하나 이상의 어댑터는 쓰레드로 구성되어 병렬로 수행되고,
상기 적어도 하나 이상의 작업수행부는 쓰레드로 구성되어 병렬로 수행되는 것을 특징으로 하는 프로비저닝 장치.
The method according to claim 1,
Wherein the at least one adapter is implemented in threads and executed in parallel,
Wherein the at least one task performing unit is composed of threads and executed in parallel.
제 1항에 있어서, 상기 작업관리부는,
타이머 만료 전 작업수행부에 대한 제1 리스트와 타이머 만료된 작업수행부에 대한 제2 리스트를 저장 관리하는 것을 특징으로 하는 프로비저닝 장치.
The information processing apparatus according to claim 1,
And a second list for a timer expired task performing unit and a second list for a timer expired task performing unit are stored and managed.
제 1항에 있어서,
상기 어댑터는 프로비저닝 작업의 대상 리소스의 상태 정보가 중지 상태이면, 오류 정보를 발생하는 것을 특징으로 하는 프로비저닝 장치.
The method according to claim 1,
Wherein the adapter generates the error information when the status information of the target resource of the provisioning job is in a stopped state.
제 1항에 있어서,
상기 작업수행부는 프로비저닝 작업의 수행이 완료되면 타이머관리부에 수행 완료 정보를 전달하고,
상기 타이머관리부는 프로비저닝 작업을 수행 완료한 작업수행부의 타이머를 해제하고, 수행 완료 정보를 어댑터에 전달하는 것을 특징으로 하는 프로비저닝 장치.
The method according to claim 1,
Wherein the task execution unit delivers execution completion information to the timer management unit when the provisioning task is completed,
Wherein the timer management unit releases the timer of the task execution unit that has completed the provisioning task and delivers the execution completion information to the adapter.
타이머를 포함하는 프로비저닝 장치에 의한 프로비저닝 방법에 있어서,
상기 프로비저닝 장치는,
적어도 하나 이상의 제1 쓰레드를 이용하여 정상 동작 중인 대상 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 단계;
프로비저닝 작업을 수행하는 적어도 하나 이상의 제2 쓰레드에 대한 타이머를 구동하는 단계;
상기 제2 쓰레드를 통해 태스크 큐에 저장된 프로비저닝 작업을 수행하는 단계;
타이머 만료된 제2 쓰레드에 대한 리스트를 저장하는 단계; 및
타이머 만료된 제2 쓰레드의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
A method for provisioning by a provisioning device comprising a timer,
The provisioning device comprising:
Receiving a provisioning task for a target resource in normal operation using at least one first thread and storing the provisioning task in a task queue;
Driving a timer for at least one second thread performing the provisioning operation;
Performing a provisioning task stored in a task queue through the second thread;
Storing a list of timer expired second threads; And
And changing the status information of the resources whose number of timer expired second threads is equal to or greater than a predetermined number to the suspended state.
제 6항에 있어서, 상기 태스크 큐에 저장하는 단계는,
프로비저닝 작업의 대상 리소스의 상태가 동작 상태인 경우에 프로비저닝 작업을 상기 태스크 큐에 저장하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
7. The method of claim 6,
And storing the provisioning job in the task queue when the state of the target resource of the provisioning job is in an operating state.
제 6항에 있어서,
제2 쓰레드의 프로비저닝 작업의 수행이 완료되면 제2 쓰레드의 타이머를 해제하고, 수행 완료 정보를 제1 쓰레드에 전달하는 단계;를 상기 프로비저닝 작업을 수행하는 단계 이후에 포함하는 것을 특징으로 하는 프로비저닝 방법.
The method according to claim 6,
Releasing the timer of the second thread when the provisioning of the second thread is completed and delivering the execution completion information to the first thread after the step of performing the provisioning operation .
제 6항 내지 제 8항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.9. A computer-readable recording medium on which a program for performing the method according to any one of claims 6 to 8 is recorded.
KR1020160087279A 2016-07-11 2016-07-11 Provisioning apparatus and method KR101692964B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160087279A KR101692964B1 (en) 2016-07-11 2016-07-11 Provisioning apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160087279A KR101692964B1 (en) 2016-07-11 2016-07-11 Provisioning apparatus and method

Publications (1)

Publication Number Publication Date
KR101692964B1 true KR101692964B1 (en) 2017-01-05

Family

ID=57835603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160087279A KR101692964B1 (en) 2016-07-11 2016-07-11 Provisioning apparatus and method

Country Status (1)

Country Link
KR (1) KR101692964B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110686A (en) * 2021-04-28 2021-07-13 常熟开关制造有限公司(原常熟开关厂) Automatic transfer switch conversion frequency limiting method and device and automatic transfer switch
US11979279B1 (en) * 2023-08-09 2024-05-07 Arista Networks, Inc. Allocated execution time adjustment for secure device provisioning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302986A (en) * 2003-03-31 2004-10-28 Alps Electric Co Ltd Method for managing task
KR20070068773A (en) 2005-12-27 2007-07-02 엘지.필립스 엘시디 주식회사 Liquid crystal display
KR100832093B1 (en) * 2007-07-09 2008-05-27 주식회사 넷츠 Provisioning apparatus for resources and authorities for integrated identity management
KR20110052714A (en) * 2008-08-25 2011-05-18 인터내셔널 비지네스 머신즈 코포레이션 Provisioning virtual resources using name resolution
KR20130137503A (en) * 2012-06-07 2013-12-17 주식회사 엘지씨엔에스 Apparatus for dynamic data processing using resource monitoring and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302986A (en) * 2003-03-31 2004-10-28 Alps Electric Co Ltd Method for managing task
KR20070068773A (en) 2005-12-27 2007-07-02 엘지.필립스 엘시디 주식회사 Liquid crystal display
KR100832093B1 (en) * 2007-07-09 2008-05-27 주식회사 넷츠 Provisioning apparatus for resources and authorities for integrated identity management
KR20110052714A (en) * 2008-08-25 2011-05-18 인터내셔널 비지네스 머신즈 코포레이션 Provisioning virtual resources using name resolution
KR20130137503A (en) * 2012-06-07 2013-12-17 주식회사 엘지씨엔에스 Apparatus for dynamic data processing using resource monitoring and method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110686A (en) * 2021-04-28 2021-07-13 常熟开关制造有限公司(原常熟开关厂) Automatic transfer switch conversion frequency limiting method and device and automatic transfer switch
CN113110686B (en) * 2021-04-28 2022-03-29 常熟开关制造有限公司(原常熟开关厂) Automatic transfer switch conversion frequency limiting method and device and automatic transfer switch
US11979279B1 (en) * 2023-08-09 2024-05-07 Arista Networks, Inc. Allocated execution time adjustment for secure device provisioning

Similar Documents

Publication Publication Date Title
JP4637842B2 (en) Fast application notification in clustered computing systems
JP4650203B2 (en) Information system and management computer
US7418489B2 (en) Method and apparatus for applying policies
US7698602B2 (en) Systems, methods and computer products for trace capability per work unit
US7730183B2 (en) System and method for generating virtual networks
US9092377B2 (en) Managing back up operations for data
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US7856496B2 (en) Information gathering tool for systems administration
US9311170B2 (en) System, method and program tool to reset an application
US10860385B2 (en) Method and system for allocating and migrating workloads across an information technology environment based on persistent memory availability
JP2012099092A (en) Management method, system, and computer program for incident pool
JP4056491B2 (en) Selective generation of asynchronous notifications for partition management operations on logically partitioned computers
US11196627B1 (en) Managed remediation of non-compliant resources
KR101692964B1 (en) Provisioning apparatus and method
EP0747814A1 (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US7979870B1 (en) Method and system for locating objects in a distributed computing environment
JP2017142704A (en) Connection management program, connection management device, and information processing device
US7886196B2 (en) Fast detection of process outages
US9032014B2 (en) Diagnostics agents for managed computing solutions hosted in adaptive environments
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US10585620B2 (en) Storage monitoring system for monitoring components in a storage system in a distributed manner
JP5884566B2 (en) Batch processing system, progress confirmation device, progress confirmation method, and program
KR101676467B1 (en) Privisioning method and apparatus
US7240348B2 (en) Suspending scenario generation method, server device, and program therefor
JP4804139B2 (en) Information output method, system and program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191224

Year of fee payment: 4