KR101692964B1 - 프로비저닝 장치 및 그 방법 - Google Patents

프로비저닝 장치 및 그 방법 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
English (en)
Inventor
문성광
Original Assignee
주식회사 넷츠
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넷츠 filed Critical 주식회사 넷츠
Priority to KR1020160087279A priority Critical patent/KR101692964B1/ko
Application granted granted Critical
Publication of KR101692964B1 publication Critical patent/KR101692964B1/ko

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

프로비저닝 장치 및 그 방법이 개시된다. 프로비저닝 장치는 정상 동작 중인 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 적어도 하나 이상의 어댑터와, 태스크 큐에 저장된 프로비저닝 작업에 따라 리소스에 프로비저닝을 수행하는 적어도 하나 이상의 작업수행부와, 적어도 하나 이상의 작업수행부에 대한 타이머를 구동하는 타이머관리부와, 타이머 만료된 작업수행부에 대한 리스트를 저장하고 관리하는 작업관리부와, 타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 리소스관리부를 포함한다.

Description

프로비저닝 장치 및 그 방법{Provisioning apparatus and method}
본 발명은 프로비저닝 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 무한 대기를 방지할 수 있는 프로비저닝 장치 및 그 방법에 관한 것이다.
신입사원이 입사하거나 조직 내 인사이동 또는 직무 변경이 발생하여 사용자가 접근하는 리소스(resource)의 범주가 변경되었을 때, 리소스 접근에 필요한 계정을 생성하거나 접근 권한을 변경하여야 하는데, 이러한 일련의 과정을 프로비저닝(provisioning)이라고 한다.
사용자가 접근하는 리소스는 액티브 디렉토리(active directory), 이메일, 그룹웨어, ERP(Enterprise Resource Planning) 등의 다양한 애플리케이션나 시스템, 또는 각종 그룹이나 데이터베이스일 수 있다. 각 사용자마다 접근하는 리소스의 종류가 상이할 뿐만 아니라, 각 사용자가 접근하는 리소스의 개수 또한 많게는 수천 개 이상이다.
그러나 리소스 자체의 문제 또는 네트워크 문제 등으로 인해 일부 리소스에 대한 프로비저닝에 많은 시간이 소요되거나 프로비저닝이 종료되지 아니한 채 계속 대기 상태가 되면, 이후 프로비저닝 작업이 적체되어 전체 프로비저닝 시간이 오래 걸릴 뿐만 아니라, 최악의 경우 전체 프로비저닝 작업이 무한 대기하는 상태가 될 수도 있다.
특허출원번호 제10-2007-0068773호
본 발명이 이루고자 하는 기술적 과제는, 프로비저닝의 무한 대기를 방지하고 신속하고 정확한 프로비저닝을 수행할 수 있는 방법 및 그 장치를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 프로비저닝 장치의 일 예는, 정상 동작 중인 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 적어도 하나 이상의 어댑터; 상기 태스크 큐에 저장된 프로비저닝 작업에 따라 리소스에 프로비저닝을 수행하는 적어도 하나 이상의 작업수행부; 상기 적어도 하나 이상의 작업수행부에 대한 타이머를 구동하는 타이머관리부; 타이머 만료된 작업수행부에 대한 리스트를 저장하고 관리하는 작업관리부; 및 타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 리소스관리부;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 프로비저닝 방법의 일 예는, 적어도 하나 이상의 제1 쓰레드를 이용하여 정상 동작 중인 대상 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 단계; 프로비저닝 작업을 수행하는 적어도 하나 이상의 제2 쓰레드에 대한 타이머를 구동하는 단계; 상기 제2 쓰레드를 통해 태스크 큐에 저장된 프로비저닝 작업을 수행하는 단계; 타이머 만료된 제2 쓰레드에 대한 리스트를 저장하는 단계; 및 타이머 만료된 제2 쓰레드의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 단계;를 포함한다.
본 발명에 따르면, 리소스 자체 문제나 네트워크 오류 등 다양한 원인에 의해 프로비저닝이 무한 대기하는 것을 방지할 수 있다. 다시 말해, 수행 시간이 길어지거나 무한 대기하는 쓰레드가 많이 발생하는 리소스를 선별 관리하여, 문제가 있는 리소스에 대한 추가적인 프로비저닝 작업을 수행하지 아니하도록 하여 프로비저닝 작업 전체가 무한 대기하는 것을 방지할 수 있다. 또한, 프로비저닝을 수행하는 쓰레드를 강제로 중지하지 아니하므로 시스템에 비정상적인 상황을 유발하지 않는다.
도 1은 복수의 어댑터를 이용한 병렬 프로비저닝 처리 방법의 일 예를 도시한 도면,
도 2는 본 발명에 따른 프로비저닝 장치의 일 실시 예의 구성을 도시한 도면,
도 3은 본 발명에 따른 프로비저닝 장치의 다른 실시 예의 구성을 도시한 도면, 그리고,
도 4는 본 발명에 따른 프로비저닝 방법의 일 실시 예의 흐름을 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 프로비저닝 장치 및 그 방법에 대해 상세히 설명한다.
도 1은 복수의 어댑터를 이용한 병렬 프로비저닝 처리 방법의 일 예를 도시한 도면이다.
도 1을 참조하면, 프로비저닝 장치를 구성하는 복수의 어댑터(110)는 병렬로 큐(100)에 프로비저닝 작업을 요청하여 수신한 후 리소스(120)에 대해 프로비저닝을 수행한다. 각 어댑터(112,114,116)는 쓰레드(Thread)로 구현될 수 있다.
큐(100)는 프로비저닝 작업을 저장한다. 예를 들어, 사용자가 제1 그룹에서 제2 그룹으로 이동하는 경우에, 큐는 제1 그룹에 대한 '사용자 추가'의 프로비저닝 작업과 제2 그룹에 대한 '사용자 삭제'의 프로비저닝 작업을 저장한다. 이 외에도, 그룹 추가, 그룹 갱신, 그룹 삭제, 사용자 추가, 사용자 갱신, 사용자 삭제 등의 다양한 프로비저닝 작업이 큐에 저장될 수 있다. 프로비저닝 작업의 종류나 내용 등은 실시 예에 따라 다양하게 변형될 수 있다. 본 실시 예는, 프로비저닝 작업이 큐(100)에 종래 다양한 방법을 통해 저장되어 있다고 가정한다.
각 어댑터(112,114,116)는 큐(100)로부터 수신한 프로비저닝 작업을 기초로 리소스에 대한 프로비저닝을 수행한다. 프로비저닝 작업을 어떤 리소스에게 수행할지는 미리 정의되어 있다고 가정한다. 예를 들어, 큐(100) 또는 계정관리 데이터베이스(미도시)에, 제1 프로비저닝 작업의 대상 리소스는 제1 리소스(122) 및 제2 리소스(124)이고, 제2 프로비저닝 작업의 대상 리소스는 제M 리소스(126)라고 미리 저장되어 있다.
본 실시 예에서, 복수의 어댑터(110)가 병렬로 프로비저닝을 수행하므로 전체 프로비저닝 시간을 단축할 수 있다. 그러나 각 어댑터(112,114,116)는 하나의 프로비저닝 작업을 완료한 후에 다음 프로비저닝 작업을 수행할 수 있다. 예를 들어, 제1 어댑터(112)는 큐(100)로부터 제1 프로비저닝 작업을 수신한 후, 제1 프로비저닝 작업에 따라 제1 리소스(122)에 프로비저닝을 수행한다. 그리고 제1 어댑터(112)는 제1 프로비저닝 작업이 완료된 이후에 큐(100)로부터 다음 프로비저닝 작업을 수신하여 프로비저닝을 수행한다. 따라서 제1 프로비저닝 작업이 완료되지 아니하였다면 제1 프로비저닝 작업이 완료될 때까지 대기 상태가 된다.
제1 어댑터(112)가 제1 리소스(122)에 대한 제1 프로비저닝 작업을 수행 완료하지 못한 상황에서, 제2 어댑터(114)가 제1 리소스(122)에 대한 제2 프로비저닝 작업을 수행하면, 제2 어댑터(114) 또한 제2 프로비저닝 작업이 수행 완료될 때까지 대기상태가 된다. 최악의 경우 모든 어댑터가 제1 리소스(122)에 대한 프로비저닝을 수행하면 전체 프로비저닝이 대기 상태가 되어 프로비저닝이 중지된 것처럼 보일 수 있다. 리소스나 네트워크 등 외부의 다른 여러 요인으로 인해 프로비저닝이 느려지거나 무한 대기 상태가 됨에도 불구하고, 프로비저닝 장치 자체의 오류나 장애로 잘못 인식될 수 있다.
어댑터(110)와 리소스(120) 사이의 네트워크, 웹 서비스 API(Application Programming Interface) 등 다양한 문제로 인해 프로비저닝이 오래 걸리거나 대기 상태가 될 수 있다. 그러나 문제가 있어 보이는 프로비저닝을 수행하는 어댑터(110)의 동작을 강제로 종료하는 경우, 프로비저닝 장치 또는 리소스(120)에 예기치 못한 문제점이 발생할 수 있다. Java 환경에서는 동작중인 쓰레드를 강제로 죽이지 말 것을 강력히 권장하고 있다.
리소스(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)가 대기 상태가 되는 최악의 상태를 피할 수 있는 방법이 필요하다.
도 2는 본 발명에 따른 프로비저닝 장치의 일 실시 예의 구성을 도시한 도면이다.
도 2를 참조하면, 프로비저닝 장치는 적어도 하나 이상의 어댑터(200), 태스크 큐(210), 타이머 관리부(220), 작업관리부(230), 적어도 하나 이상의 작업수행부(240), 리소스 관리부(250)를 포함한다. 본 실시 예의, 각 구성은 쓰레드로 구현될 수 있으며, 쓰레드로 구현된 예에 대해서는 도 3에서 다시 설명한다.
각 어댑터(202,204,206)는 도 1의 큐 등과 같은 외부 장치로부터 프로비저닝 작업을 수신하여 태스크 큐(210)에 저장한다. 프로비저닝 작업은 어떤 리소스에 어떤 정보를 반영하여야 하는지를 나타낸다.
태스크 큐(210)는 각 어댑터(202,204,206)로부터 수신한 프로비저닝 작업을 저장한다. 실시 예에 따라, 프로비저닝 작업 사이에 수행 순서가 존재할 수 있다. 예를 들어, 새로운 그룹에 사용자를 추가하는 프로비저닝이 필요한 경우에, 먼저 대상 리소스에 새로운 그룹을 생성한 후 사용자를 새롭게 생성한 그룹에 추가하여야 한다. 따라서 태스크 큐(210)는 수행 순서가 동일하거나 수행 순서가 존재하지 아니한 프로비저닝 작업이 병렬로 처리될 수 있도록 프로비저닝 작업을 수행 순서를 기초로 저장하고 관리할 수 있다. 프로비저닝 작업 사이의 수행 순서는 계정관리 데이터베이스(미도시) 등에 미리 설정되어 있다고 가정한다.
작업수행부(240)는 태스크 큐(210)로부터 프로비저닝 작업을 수신하여 리소스(260)에 대한 프로비저닝을 수행한다. 각 작업수행부(242,244,246)는 쓰레드로 구현될 수 있다. 각 작업수행부(242,244,246)는 병렬로 프로비저닝을 수행할 수 있다. 여러 원인으로 인해, 대상 리소스에 대한 프로비저닝 수행에 오랜 시간이 걸리거나 작업이 완료되지 않는 경우가 있을 수 있다.
실시 예에 따라, 태스크 큐(210)에 저장된 프로비저닝 작업 그 자체에 리소스에 반영할 계정이나 권한 등의 실질적인 정보가 존재하거나 존재하지 않을 수 있다. 프로비저닝 작업 그 자체에 계정이나 권한 등의 실질적인 정보가 포함되어 있지 아니한 경우, 작업수행부(240)는 프로비저닝 작업에 기술된 리소스 식별자와 프로비저닝 작업 내용 식별자(예를 들어, 그룹이나 사용자 추가, 갱신, 삭제 등), 작업 내용에 따른 그룹이나 사용자의 식별자 등을 기초로 계정관리 데이터베이스(미도시)를 검색하여 계정이나 권한 등의 실질적인 정보를 획득한 후 프로비저닝을 수행할 수 있다.
타이머 관리부(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)에 통지하여 별도 관리될 수 있도록 한다.
작업관리부(230)는 타이머 만료된 작업수행부를 강제로 종료하는 것이 아니라 이를 파악하여 별도로 관리한다. 예를 들어, 작업관리부(230)는 현재 프로비저닝을 수행중인 작업수행부들 중 타이머가 만료 전인 작업수행부에 대한 리스트와 타이머가 만료된 작업수행부에 대한 리스트를 구분하여 생성하고 관리할 수 있다. 작업관리부(230)는 프로비저닝 작업의 수행을 완료한 작업수행부를 리스트에서 삭제한다. 예를 들어, 타이머 만료 전까지 제1 작업관리부(242)는 타이머 만료 전 리스트에 존재하며, 타이머 만료 후에는 타이머 만료 전 리스트에서 삭제되고 타이머 만료 후 리스트에 추가되며, 프로비저닝 작업이 완료되면 타이머 만료 후 리스트에서 삭제된다.
리소스 관리부(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)에 대한 프로비저닝 작업이 정상적으로 수행되도록 할 수 있다.
도 3은 본 발명에 따른 프로비저닝 장치의 다른 실시 예의 구성을 도시한 도면이다. 특히 도 3은 각 구성이 쓰레드로 구현되는 경우를 도시한 도면이다.
도 3을 참조하면, 프로비저닝 장치는 적어도 하나 이상의 어댑터(200), 태스크 큐(210), 러너팩토리(runner factory)(222), 타임아웃러너(timeour runner)(224), 종료관리부(238), 모니터링부(232), 제1리스트(234) 및 제2리스트(236), 적어도 하나 이상의 작업수행부(240), 리소스 관리부(250), 리소스정보 데이터베이스(252)를 포함한다.
어댑터(즉, 어댑터 쓰레드)(200)는 도 1의 큐 등에 프로비저닝 작업을 요청하여 수신한다. 어댑터(200)는 프로비저닝 작업의 대상 리소스의 상태 정보가 동작 상태인지 중지 상태인지를 리소스정보 데이터베이스(252)를 통해 확인한다. 어댑터(200)는 리소스 상태가 동작 상태인 경우에만 프로비저닝 작업이 수행될 수 있도록 하며, 리소스 상태가 중지 상태이면, 해당 프로비저닝 작업이 수행되지 않도록 오류를 발생할 수 있다. 어댑터(200)는 정상 동작 상태인 리소스(260)에 대한 프로비저닝 작업이면, 러너팩토리(222)에게 타이아웃러너(224)를 요청한다.
러너팩토리(222)는 어댑터(200)의 요청에 따라 어댑터(200)를 위한 타임아웃러너(224)를 생성한다. 타임아웃러너(224)는 어댑터별로 생성되는 쓰레드로 구현될 수 있으며, 어댑터(200)에 대해 이전에 생성된 타임아웃러너(224)가 존재하면 이를 그대로 활용할 수 있다.
어댑터(200)에 대한 타임아웃러너(224)는 어댑터(200)로부터 프로비전 작업을 전달받아 태스크 큐(210)에 저장하며, 프로비전 작업을 수행할 작업수행부(즉, 작업수행부 쓰레드)(240)를 모니터링부(232)로부터 할당받아 작업수행부(240)에 대한 타이머를 구동한다. 어댑터(200)-타임아웃러너(224)-작업수행부(240)의 각 쓰레드는 일대일 맵핑관계를 가질 수 있다. 즉, 어댑터(200)별로 타임아웃러너(224)가 존재하고, 타임아웃러너(224)는 어댑터(200)로부터 전달받은 프로비전 작업을 수행할 작업수행부(240)에 대한 타이머를 구동한다.
타이머에는 일정 시간이 설정되어 있으며, 타임아웃러너(224)는 타이머 구동시간 동안(즉, 타이머 만료 전까지) 작업수행부(240)가 프로비저닝 작업의 수행을 완료하지 못하면, 작업수행부(240)의 타이머 만료 사실을 모니터링부(232)에게 전달한다.
앞서 살핀 바와 같이, 모니터링부(232)는 타임아웃러너(224)를 위한 작업수행부(240)를 할당한다. 모니터링부(232)는 타임아웃러너(224)에 대한 작업수행부(240)가 이미 존재하는 경우에 이를 그대로 활용하며, 존재하지 아니한 경우 작업수행부(240)를 생성하여 타임아웃러너(224)에게 할당한다. 모니터링부(232)는 타임아웃러너(224)에게 할당한 작업수행부(240)의 리스트를 제1 리스트(234)에 저장한다. 제1 리스트(234)는 타이머가 만료되기 전 작업수행부(240)의 정보를 저장하는 리스트이다. 모니터링부(232)는 작업수행부(240)에게 프로비저닝 작업을 요청한다.
모니터링부(232)는 타임아웃러너(224)로부터 타이머 만료된 작업수행부(240)를 통보받으면, 모니터링부(232)는 타이머 만료된 작업수행부(240)를 제2 리스트(236)에 저장한다. 제2 리스트(236)는 타이머가 만료된 작업수행부의 리스트이다.
모니터링부(232)로부터 프로비저닝 작업 요청을 수신한 작업수행부(240)는 태스크 큐(210)로부터 프로비저닝 작업을 수신하여 수행한다. 프로비저닝 작업이 완료되면, 작업수행부(240)는 타임아웃러너(224)에게 수행 완료를 통지한다. 그러면 타임아웃러너(224)는 타이머를 해제하고 프로비저닝 작업이 완료되었음을 어댑터(200)에게 알려준다. 어댑터(200)는 다음 프로비저닝 작업을 수신한다.
작업수행부(240)의 프로비저닝 작업이 오랜 시간 지연되어, 프로비저닝 작업이 타이머가 만료되기 전까지 종료되지 아니한 경우에, 앞서 살핀 바와 같이 타임아웃러너(224)는 모니터링부(232)에게 타이머 만료된 작업수행부를 통지한다. 그러면 모니터링부(232)는 타이머 만료된 작업수행부(240)를 제2 리스트(236)에 추가한다. 작업수행부(240)의 프로비저닝 작업은 강제 종료되는 것이 아니라 모니터링부(232)에 의해 별도 관리된다.
리소스 관리부(250)는 제2 리스트(236)에 저장된 타이머 만료된 작업수행부의 개수를 리소스별로 파악하여, 타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하여 리소스 정보 데이터베이스(252)에 저장한다.
제2 리스트(236)에 존재하는 작업수행부(240)가 프로비저닝 작업의 수행을 완료하면, 작업수행부(240)는 작업 종료를 모니터링부(232)에 통보한다. 이 경우 모니터링부(232)는 제2 리스트(236)에서 작업 종료된 작업수행부(240)를 삭제한다. 제2 리스트(236)에 저장된 작업수행부의 프로비저닝 작업이 종료 상태가 되는 경우는 다양할 수 있다. 예를 들어, 종료관리부(238)는 리소스가 연결을 종료한 경우, 리소스와 네트워크 연결이 종료되거나 방화벽 설정이 정상으로 복귀되어 작업이 진행된 경우, 프로비전을 하기 위해 사용하는 API가 내부적인 오류 또는 타임아웃에 의하여 예외처리가 발생한 경우 등을 파악하여 모니터링부(238)에게 프로비저징 작업이 종료되었음을 알려준다. 그러면 모니터링부(232)는 작업 종료된 작업수행부(240)를 제2 리스트(236)에서 삭제한다.
도 4는 본 발명에 따른 프로비저닝 방법의 일 실시 예의 흐름을 도시한 도면이다.
도 4를 참조하면, 프로비저닝 장치는 제1 쓰레드를 통해 프로비저닝 작업을 수신한다(S400). 프로비저닝 장치는 프로비저닝 작업의 대상 리소스의 상태가 동작 상태이면(S405) 다음 단계를 수행하며, 리소스의 상태가 중지 상태이면 해당 프로비저닝 작업이 수행되지 않도록 오류를 발생한다(S450).
프로비저닝 장치는 각 프로비저닝 작업을 수행하는 제2 쓰레드에 대한 타이머를 구동하고(S410), 프로비저닝 작업을 태스크 큐에 저장한다(S415). 제1 쓰레드와 제2 쓰레드는 별개의 쓰레드이다. 프로비저닝 장치는 복수의 제2 쓰레드를 이용하여 병렬로 프로비저닝을 수행하며, 이때 프로비저닝을 수행 중인 복수 개의 제2 쓰레드를 타이머 만료 전후 구분하여 관리한다(S420~S435).
예를 들어, 프로비저닝 장치는 타이머 만료 전 리스트에 제2 쓰레드를 저장하고(S420), 제2 쓰레드를 통해 태스크 큐에 저장된 프로비저닝 작업을 수행한다(S425). 프로비저닝 작업이 타이머 만료 전까지 수행 완료되지 아니한 경우(S430), 프로비저닝 장치는 타이머 만료된 제2 쓰레드를 타이머 만료 후 리스트에 저장한다(S435).
프로비저닝 장치는 타이머 만료된 제2 쓰레드의 개수가 일정 개수 이상이면(S440). 해당 리소스의 상태 정보를 중지 상태로 변환한다(S445). 중지 상태로 변경된 리소스에 대한 프로비저닝 작업은 수행되지 않는다. 실시 예에 따라, 프로비저닝 장치는 중지 상태로 변경된 리소스에 대한 정보를 관리자 등에게 알람 등을 통해 알려주어, 관리자가 리소스의 상태를 직접 파악할 수 있도록 한다. 관리자는 리소스의 상태를 파악하여 리소스를 강제 접속 종료시키거나 JVM 재가동 등의 다양한 조치를 취할 수 있다. 또한 관리자는 리소스의 상태 정보를 동작 상태로 변경하여 이후 프로비저닝이 수행될 수 있게 할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (9)

  1. 정상 동작 중인 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 적어도 하나 이상의 어댑터;
    상기 태스크 큐에 저장된 프로비저닝 작업에 따라 리소스에 프로비저닝을 수행하는 적어도 하나 이상의 작업수행부;
    상기 적어도 하나 이상의 작업수행부에 대한 타이머를 구동하는 타이머관리부;
    타이머 만료된 작업수행부에 대한 리스트를 저장하고 관리하는 작업관리부; 및
    타이머 만료된 작업수행부의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 리소스관리부;를 포함하는 것을 특징으로 하는 프로비저닝 장치.
  2. 제 1항에 있어서,
    상기 적어도 하나 이상의 어댑터는 쓰레드로 구성되어 병렬로 수행되고,
    상기 적어도 하나 이상의 작업수행부는 쓰레드로 구성되어 병렬로 수행되는 것을 특징으로 하는 프로비저닝 장치.
  3. 제 1항에 있어서, 상기 작업관리부는,
    타이머 만료 전 작업수행부에 대한 제1 리스트와 타이머 만료된 작업수행부에 대한 제2 리스트를 저장 관리하는 것을 특징으로 하는 프로비저닝 장치.
  4. 제 1항에 있어서,
    상기 어댑터는 프로비저닝 작업의 대상 리소스의 상태 정보가 중지 상태이면, 오류 정보를 발생하는 것을 특징으로 하는 프로비저닝 장치.
  5. 제 1항에 있어서,
    상기 작업수행부는 프로비저닝 작업의 수행이 완료되면 타이머관리부에 수행 완료 정보를 전달하고,
    상기 타이머관리부는 프로비저닝 작업을 수행 완료한 작업수행부의 타이머를 해제하고, 수행 완료 정보를 어댑터에 전달하는 것을 특징으로 하는 프로비저닝 장치.
  6. 타이머를 포함하는 프로비저닝 장치에 의한 프로비저닝 방법에 있어서,
    상기 프로비저닝 장치는,
    적어도 하나 이상의 제1 쓰레드를 이용하여 정상 동작 중인 대상 리소스에 대한 프로비저닝 작업을 수신하여 태스크 큐에 저장하는 단계;
    프로비저닝 작업을 수행하는 적어도 하나 이상의 제2 쓰레드에 대한 타이머를 구동하는 단계;
    상기 제2 쓰레드를 통해 태스크 큐에 저장된 프로비저닝 작업을 수행하는 단계;
    타이머 만료된 제2 쓰레드에 대한 리스트를 저장하는 단계; 및
    타이머 만료된 제2 쓰레드의 수가 일정 개수 이상인 리소스의 상태 정보를 중지 상태로 변경하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
  7. 제 6항에 있어서, 상기 태스크 큐에 저장하는 단계는,
    프로비저닝 작업의 대상 리소스의 상태가 동작 상태인 경우에 프로비저닝 작업을 상기 태스크 큐에 저장하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
  8. 제 6항에 있어서,
    제2 쓰레드의 프로비저닝 작업의 수행이 완료되면 제2 쓰레드의 타이머를 해제하고, 수행 완료 정보를 제1 쓰레드에 전달하는 단계;를 상기 프로비저닝 작업을 수행하는 단계 이후에 포함하는 것을 특징으로 하는 프로비저닝 방법.
  9. 제 6항 내지 제 8항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020160087279A 2016-07-11 2016-07-11 프로비저닝 장치 및 그 방법 KR101692964B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160087279A KR101692964B1 (ko) 2016-07-11 2016-07-11 프로비저닝 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160087279A KR101692964B1 (ko) 2016-07-11 2016-07-11 프로비저닝 장치 및 그 방법

Publications (1)

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

Family

ID=57835603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160087279A KR101692964B1 (ko) 2016-07-11 2016-07-11 프로비저닝 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101692964B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110686A (zh) * 2021-04-28 2021-07-13 常熟开关制造有限公司(原常熟开关厂) 自动转换开关转换频率限定方法、装置及自动转换开关
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 (ja) * 2003-03-31 2004-10-28 Alps Electric Co Ltd タスク管理方法
KR20070068773A (ko) 2005-12-27 2007-07-02 엘지.필립스 엘시디 주식회사 액정표시장치
KR100832093B1 (ko) * 2007-07-09 2008-05-27 주식회사 넷츠 통합 계정관리를 위한 권한기반 리소스 계정 및 권한의프로비저닝 장치
KR20110052714A (ko) * 2008-08-25 2011-05-18 인터내셔널 비지네스 머신즈 코포레이션 이름 분석을 사용한 가상 리소스의 프로비저닝
KR20130137503A (ko) * 2012-06-07 2013-12-17 주식회사 엘지씨엔에스 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302986A (ja) * 2003-03-31 2004-10-28 Alps Electric Co Ltd タスク管理方法
KR20070068773A (ko) 2005-12-27 2007-07-02 엘지.필립스 엘시디 주식회사 액정표시장치
KR100832093B1 (ko) * 2007-07-09 2008-05-27 주식회사 넷츠 통합 계정관리를 위한 권한기반 리소스 계정 및 권한의프로비저닝 장치
KR20110052714A (ko) * 2008-08-25 2011-05-18 인터내셔널 비지네스 머신즈 코포레이션 이름 분석을 사용한 가상 리소스의 프로비저닝
KR20130137503A (ko) * 2012-06-07 2013-12-17 주식회사 엘지씨엔에스 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110686A (zh) * 2021-04-28 2021-07-13 常熟开关制造有限公司(原常熟开关厂) 自动转换开关转换频率限定方法、装置及自动转换开关
CN113110686B (zh) * 2021-04-28 2022-03-29 常熟开关制造有限公司(原常熟开关厂) 自动转换开关转换频率限定方法、装置及自动转换开关
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 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
JP4650203B2 (ja) 情報システム及び管理計算機
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 (ja) インシデント・プールの管理方法、システムおよびコンピュータ・プログラム
JP4056491B2 (ja) 論理的に区画化されたコンピュータにおける区画管理操作に関する非同期通知の選択的生成
US11196627B1 (en) Managed remediation of non-compliant resources
KR101692964B1 (ko) 프로비저닝 장치 및 그 방법
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 (ja) コネクション管理プログラム、コネクション管理方法、および情報処理装置
US11726684B1 (en) Cluster rebalance using user defined rules
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US20130204921A1 (en) Diagnostics agents for managed computing solutions hosted in adaptive environments
US10585620B2 (en) Storage monitoring system for monitoring components in a storage system in a distributed manner
JP5884566B2 (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
KR101676467B1 (ko) 프로비저닝 방법 및 그 장치
US7240348B2 (en) Suspending scenario generation method, server device, and program therefor
JP4804139B2 (ja) 情報出力方法、システム及びプログラム

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