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

프로비저닝 방법 및 그 장치 Download PDF

Info

Publication number
KR101676467B1
KR101676467B1 KR1020160079284A KR20160079284A KR101676467B1 KR 101676467 B1 KR101676467 B1 KR 101676467B1 KR 1020160079284 A KR1020160079284 A KR 1020160079284A KR 20160079284 A KR20160079284 A KR 20160079284A KR 101676467 B1 KR101676467 B1 KR 101676467B1
Authority
KR
South Korea
Prior art keywords
resource
adapter
job
dependency
task
Prior art date
Application number
KR1020160079284A
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 KR1020160079284A priority Critical patent/KR101676467B1/ko
Application granted granted Critical
Publication of KR101676467B1 publication Critical patent/KR101676467B1/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • G06F9/3855
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Multi Processors (AREA)

Abstract

프로비저닝 방법 및 그 장치가 개시된다. 프로비저닝 장치는 대기중인 리소스 작업과 수행중인 리소스 작업을 리소스 의존성 큐에 저장하고, 제1 의존성 평가 함수를 이용하여, 대기중인 리소스 작업 중 수행중인 리소스 작업과 의존성 없는 리소스 작업을 파악한 후, 의존성 없는 리소스 작업에 대한 어댑터 작업을 대기중인 어댑터 작업과 수행중인 어댑터 작업으로 구분하여 어댑터 의존성 큐에 저장하고, 제2 의존성 평가 함수를 이용하여, 대기중인 어댑터 작업 중 수행중인 어댑터 작업과 의존성 없는 어댑터 작업을 파악하여 복수의 의존성 없는 어댑터 작업을 병렬 처리한다.

Description

프로비저닝 방법 및 그 장치{Privisioning method and apparatus}
본 발명은 프로비저닝 방법 및 그 장치에 관한 것으로서, 보다 상세하게는 의존성 큐를 이용하여 병렬로 프로비저닝을 수행하는 방법 및 그 장치에 관한 것이다.
신입사원이 입사하거나 조직 내 인사이동 또는 직무 변경이 발생하여 사용자가 접근하는 리소스(resource)의 범주가 변경되었을 때, 리소스 접근에 필요한 계정을 생성하거나 접근 권한을 변경하여야 하는데, 이러한 일련의 과정을 프로비저닝(provisining)이라고 한다.
사용자가 접근하는 리소스는 액티브 디렉토리(active directory), 이메일, 그룹웨어, ERP(Enterprise Resource Planning) 등의 다양한 애플리케이션나 시스템, 또는 각종 그룹이나 데이터베이스일 수 있다. 각 사용자마다 접근하는 리소스의 종류가 상이할 뿐만 아니라, 각 사용자가 접근하는 리소스의 개수 또한 많게는 수천 개 이상이 되므로, 프로비저닝을 수행하는 시스템의 부하가 가중되는 문제점이 있다.
예를 들어, 전사적 인사이동이 있는 경우에 회사 업무시간 종료 후 다음 업무시간 시작 전까지 인사이동에 따른 사용자별 계정 또는 권한이 해당하는 모든 리소스에 정확하게 장애 없이 프로비저닝되어야 하므로, 프로비저닝의 신속성, 정확성 및 안정성 등의 확보가 중요하다.
특허출원번호 제10-2007-0068773
본 발명이 이루고자 하는 기술적 과제는, 의존성 큐를 이용하여 병렬로 신속하고 정확하게 프로비저닝을 수행할 수 있는 방법 및 그 장치에 관한 것이다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 프로비저닝 장치의 일 예는, 프로비전 요청에 대한 리소스 작업을 생성하는 리소스 작업 생성부; 대기중인 리소스 작업과 수행중인 리소스 작업을 저장하는 리소스 의존성 큐; 상기 리소스 의존성 큐로부터 전달받은 리소스 작업에 대한 어댑터 작업을 생성하는 적어도 하나 이상의 어댑터 작업 생성부; 및 대기중인 어댑터 작업과 수행중인 어댑터 작업을 저장하는 적어도 하나 이상의 어댑터 의존성 큐;를 포함하고, 상기 리소스 의존성 큐는, 제1 의존성 평가 함수를 이용하여 대기중인 리소스 작업 중 수행중인 리소스 작업과 의존성 없는 리소스 작업을 상기 어댑터 작업 생성부에 전달하고, 상기 어댑터 의존성 큐는, 제2 의존성 평가 함수를 이용하여 대기중인 어댑터 작업 중 수행중인 어댑터 작업과 의존성 없는 어댑터 작업을 선택한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 프로비저닝 방법의 일 예는, 대기중인 리소스 작업과 수행중인 리소스 작업을 리소스 의존성 큐에 저장하는 단계; 제1 의존성 평가 함수를 이용하여, 대기중인 리소스 작업 중 수행중인 리소스 작업과 의존성 없는 리소스 작업을 파악하는 단계; 상기 의존성 없는 리소스 작업에 대한 어댑터 작업을 대기중인 어댑터 작업과 수행중인 어댑터 작업으로 구분하여 어댑터 의존성 큐에 저장하는 단계; 제2 의존성 평가 함수를 이용하여, 대기중인 어댑터 작업 중 수행중인 어댑터 작업과 의존성 없는 어댑터 작업을 파악하는 단계; 및 복수의 의존성 없는 어댑터 작업을 병렬 처리하여 프로비저닝 정보를 리소스에 반영하는 단계;를 포함한다.
본 발명에 따르면, 의존성 큐를 이용하여 프로비저닝 사이의 순서를 보장하면서 병렬 처리가 가능하므로, 데이터의 무결성을 보장하면서 신속한 프로비저닝을 수행할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 프로비저닝 방법을 수행하기 위한 전체 시스템의 개략적인 구조를 도시한 도면,
도 2는 프로비전 요청에 해당하는 적어도 하나 이상의 리소스 작업과 어댑터 작업을 도시한 도면,
도 3은 프로비전 요청에 포함되는 정보의 일 예를 도시한 도면,
도 4는 리소스 작업에 포함되는 정보의 일 예를 도시한 도면,
도 5는 어댑터 작업에 포함되는 정보의 일 예를 도시한 도면,
도 6은 본 발명에 따른 프로비저닝 장치의 일 실시 예의 구성을 도시한 도면,
도 7은 본 발명에 따른 리소스 의존성 큐의 일 실시 예의 구성을 도시한 도면,
도 8은 본 발명에 따른 어댑터 의존성 큐의 일 실시 예의 구성을 도시한 도면,
도 9는 본 발명에 따른 어댑터 작업 생성부의 일 실시 예의 구성을 도시한 도면,
도 10은 본 발명에 따른 복수의 어댑터 의존성 큐와 이를 관리하는 큐 매니저의 일 예를 도시한 도면, 그리고,
도 11은 본 발명에 따른 프로비저닝 방법의 일 실시 예의 흐름을 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 프로비저닝 방법 및 그 장치에 대해 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 프로비저닝 방법을 수행하기 위한 전체 시스템의 개략적인 구조를 도시한 도면이다.
도 1을 참조하면, 프로비저닝 장치(100)는 프로비전 요청을 수신하면 리소스별 어떤 작업을 수행할지 정의한 적어도 하나 이상의 리소스 작업을 생성하고, 또한 각 리소스 작업에 대해 어댑터별 어떤 작업을 수행할지 정의한 적어도 하나 이상의 어댑터 작업을 생성한다.
다시 말해, 프로비저닝 장치(100)는 프로비전 요청을 수신하면, 이에 해당하는 적어도 하나 이상의 리소스 작업을 생성하고, 또한 각 리소스 작업에 해당하는 적어도 하나 이상의 어댑터 작업을 생성한다.
리소스 작업 사이에 처리 순서의 선후 관계가 존재하는 경우 의존성이 있다고 한다. 또한, 어댑터 작업 사이에 처리 순서의 선후 관계가 존재하는 경우 의존성이 있다고 한다. 예를 들어, 제1 리소스에 대한 사용자 추가의 제1 리소스 작업이 완료된 후에 제2 리소스에 대한 사용자 수정의 제2 리소스 작업이 수행되어야 하는 경우, 제1 리소스 작업과 제2 리소스 작업은 상호 의존성이 있다. 다른 예로, 제1 리소스에 사용자 추가의 제1 어댑터 작업이 사용자 권한 수정의 제2 어댑터 작업보다 먼저 수행되어야 하는 경우, 제1 어댑터 작업과 제2 어댑터 작업은 상호 의존성이 있다.
모든 리소스 작업 사이에 의존성이 존재하는 것이 아니므로, 의존성이 존재하지 아니한 리소스 작업을 병렬 처리하여 프로비저닝 속도를 향상시킬 수 있다. 또한 모든 어댑터 작업 사이에 의존성이 존재하는 것이 아니므로, 의존성이 존재하지 아니한 어댑터 작업을 병렬 처리하여 프로비저닝 속도를 향상시킬 수 있다.
따라서 프로비저닝 장치(100)는 리소스 작업 사이의 의존성 여부를 파악하여 리소스 작업을 병렬 처리하고, 어댑터 작업 사이의 의존성 여부를 파악하여 어댑터 작업을 병렬 처리하여 전체 프로비저닝 속도를 향상시킨다.
어댑터(110)는 프로비저닝 장치(100)로부터 수신한 상호 의존성 없는 어댑터 작업을 수행하여 프로비저닝 정보를 해당 리소스(120,122,124)에 반영한다. 본 실시 예는 설명의 편의를 위하여 하나의 어댑터(110)만을 도시하고 있으나, 실시 예에 따라 복수의 어댑터를 포함할 수 있다. 또한 복수의 어댑터는 복수의 쓰레드로 구현될 수 있다.
먼저 도 2 내지 도 5에서 프로비전 요청, 리소스 작업, 어댑터 작업에 대해 살펴본 후, 도 6 이하에서 의존성 큐를 이용하여 병렬로 프로비저닝을 수행하는 프로비저닝 장치 및 그 방법에 대해 상세히 살펴본다.
도 2는 프로비전 요청에 해당하는 적어도 하나 이상의 리소스 작업과 어댑터 작업을 도시한 도면이다.
도 2를 참조하면, 프로비전 요청(200)은 적어도 하나 이상의 리소스 작업(210,220)으로 분류되고, 각 리소스 작업(210,220)은 다시 적어도 하나 이상의 어댑터 작업(230,240,250)으로 분류될 수 있다.
프로비전 요청(200)은 사용자 또는 그룹에 관한 계정이나 권한의 프로비저닝 정보를 해당하는 리소스에게 반영 요청에 관한 것으로서, 일 예로, 사용자나 그룹의 추가, 수정, 삭제 등이 있다. 예를 들어, 프로비전 요청은 "사용자 '홍길동' 수정"일 수 있다. 프로비전 요청에 포함되는 정보의 일 예가 도 3에 도시되어 있다.
리소스 작업(210,220)은 프로비저닝이 수행되어야 할 리소스별 작업을 의미한다. 예를 들어, "사용자 '홍길동' 수정"의 프로비전 요청(200)이 있고, 사용자 '홍길동'의 계정 또는 권한의 수정사항이 제1 리소스 및 제2 리소스에 반영되어야 하는 경우, 제1 리소스에 대한 제1 리소스 작업(210) 및 제2 리소스에 대한 제2 리소스 (220)작업이 각각 생성된다. 각 리소스 작업에 포함되는 정보의 일 예가 도 4에 도시되어 있다.
리소스 작업들(210,220) 사이에 의존성이 있을 수 있다. 예를 들어, 제1 리소스 작업(210)이 상위 그룹의 생성에 대한 리소스 작업이고, 제2 리소스 작업(220)이 하위 그룹의 생성에 대한 리소스 작업인 경우에, 상위 그룹 생성 후 하위 그룹이 생성되어야 하므로, 제1 리소스 작업이 제2 리소스 작업보다 먼저 수행되어야 한다.
본 실시 예는 하나의 프로비전 요청(200)에 해당하는 복수의 리소스 작업(210,220)을 도시하고 있으나, 프로비저닝 장치는 복수의 프로비전 요청을 순차적으로 수신할 수 있다. 이 경우, 서로 다른 프로비전 요청에 해당하는 리소스 작업 사이에 의존성이 있을 수도 있다. 다시 말해, 제1 프로비전 요청에 해당하는 리소스 작업과 제2 프로비전 요청에 해당하는 리소스 작업 사이에 의존성이 있을 수 있다.
어댑터 작업(230,240,250)은 리소스 작업(210,220)을 어댑터별 작업으로 분류한 것이다. 예를 들어, "사용자 '홍길동' 수정"의 프로비전 요청(200)에 해당하는 제1 리소스 작업(210)에 대해 제1 리소스에 대한 사용자 '홍길동'의 계정 수정에 관한 제1 어댑터 작업(230)과 사용자 '홍길동'의 권한 수정에 관한 제2 어댑터 작업(240)을 생성할 수 있다. 어댑터 작업(230,240,250)은 어댑터가 실제 수행할 수 있는 단위 작업이라고 할 수 있다. 각 어댑터 작업(230,240,250)에 포함되는 정보의 일 예는 도 5에 도시되어 있다.
어댑터 작업들(230,240,250) 사이에 의존성이 있을 수 있다. 예를 들어, 제1 어댑터 작업(230)이 사용자 '홍길동' 생성에 대한 어댑터 작업이고, 제2 어댑터 작업(240)이 사용자 '홍길동' 권한 수정에 대한 어댑터 작업인 경우에, 사용자 생성 후 권한이 수정되어야 하므로, 제1 어댑터 작업(230)이 제2 어댑터 작업(240)보다 먼저 수행되어야 한다.
도 3은 프로비전 요청에 포함되는 정보의 일 예를 도시한 도면이다.
도 3을 참조하면, 프로비전 요청(200)은 작업 식별자(310), 작업코드(320), 정보 식별자(330), 상위정보 식별자(340), 깊이 정보(350)를 포함한다. 본 실시 예는 이해를 돕기 위한 예에 지나지 아니하면 프로비전 요청(200)에 포함되는 정보는 다양하게 변형 가능하다.
작업 식별자(310)는 프로비전 요청(200)을 식별하기 위한 정보이다. 각 프로비전 요청마다 서로 고유한 작업 식별자(310)가 부여된다.
작업 코드(320)는 사용자 추가, 사용자 수정, 사용자 삭제, 그룹 추가, 그룹 수정 또는 그룹 삭제를 나타내는 코드이다. 본 실시 예는 사용자 또는 그룹의 수정, 삭제, 추가의 프로비저닝 작업을 예시로 들고 있으나, 반드시 이에 한정되는 것은 아니며 프로비저닝 작업의 종류는 실시 예에 다양하게 변형 가능하다.
정보 식별자(330)는 작업 코드(320)에 따른 프로비저닝 작업이 수행되는 사용자 또는 그룹을 나타내는 정보이다. 예를 들어, "사용자 '홍길동' 추가"의 프로비전 요청은, 사용자 추가에 관한 작업 코드(320)와 '홍길동'에 대한 정보 식별자(330)를 포함한다.
상위정보 식별자(340)는 사용자가 속한 그룹 또는 그룹의 상위 그룹을 나타내는 정보이다. 예를 들어, "사용자 '홍길동' 추가"의 프로비전 요청이 있는 경우에, 상위정보 식별자(340)는 '홍길동'이 소속된 그룹의 식별자를 포함한다. 다른 예로, 그룹 추가의 프로비전 요청이면, 상위정보 식별자(340)는 해당 그룹의 상위 그룹을 나타내는 식별자를 포함한다.
깊이정보(350)는 정보 식별자(330)가 나타내는 사용자 또는 그룹의 위치가 최상위 그룹으로부터 어떤 깊이(depth)에 위치하는지를 나타낸다. 예를 들어, 정보 식별자(330)가 사용자인 경우의 깊이 정보(350)는 0이고, 정보 식별자(330)가 그룹인 경우에는 최상위로부터 현재 그룹까지의 깊이이다.
도 4는 리소스 작업에 포함되는 정보의 일 예를 도시한 도면이다.
도 4를 참조하면, 리소스 작업(210,220)은 리소스 식별자(410), 처리 순서(420), 작업 식별자(430), 작업코드(440), 정보 식별자(450), 상위정보 식별자(460), 깊이 정보(470), 어댑터 작업 목록(480)을 포함한다. 본 실시 예는 이해를 돕기 위한 예에 지나지 아니하면 리소스 작업(210,220)에 포함되는 정보는 다양하게 변형 가능하다.
작업 식별자(430), 작업 코드(440), 정보 식별자(450), 상위정보 식별자(460), 깊이 정보(470)는 도 3에서 살펴본 프로비전 요청의 정보와 동일하다. 작업 식별자(430)를 기초로 리소스 작업(210,220)이 어떤 프로비전 요청에 관한 리소스 작업인지 파악할 수 있다.
리소스 식별자(410)는 프로비저닝 대상 리소스를 나타낸다. 예를 들어, "사용자 '홍길동' 수정"의 프로비전 요청에 따라 제1 리소스와 제2 리소스에 대한 프로비저닝 작업이 수행되어야 하는 경우에, 프로비저닝 장치는 제1 리소스의 리소스 식별자를 포함하는 제1 리소스 작업(210)과 제2 리소스의 리소스 식별자를 포함하는 제2 리소스 작업(220)을 생성한다.
처리 순서(420)는 각 리소스별 프로비저닝 순서를 나타낸다. 예를 들어, 제1 리소스가 액티브 디렉토리이고 제2 리소스가 이메일에 관한 것일 때, 액티브 디렉토리에 계정이 먼저 생성된 후 이메일 계정이 생성되어야 한다. 이러한 리소스별 프로비저닝 순서는 종래의 다양한 방법을 통해 미리 파악하여 계정 관리 데이터베이스(미도시) 등에 미리 저장되어 있다고 가정한다. 프로비저닝 장치는 계정 관리 데이터베이스에 미리 저장된 프로비저닝 순서를 참조하여 리소스 작업(210,220)에 포함될 처리 순서(420)를 파악한다.
어댑터 작업 목록(480)은 각 리소스 작업에 포함되는 어댑터별 작업을 나타낸다. 예를 들어, 프로비전 요청이 '사용자 추가'이면 어댑터 작업은 '사용자 추가'일 수 있다. 다른 예로, 프로비전 요청이 '사용자 수정'이면 어댑터 작업은 '사용자 수정, 사용자 그룹 수정, 사용자 권한 수정 또는 이들 작업의 조합' 중 적어도 하나 일 수 있다. 프로비전 요청별 어댑터 작업 목록의 일 예를 정리하면 표 1과 같다.
프로비전 요청 어댑터 작업 목록
사용자 추가 사용자 추가
사용자 수정 사용자 수정, 사용자 그룹 수정, 사용자 권한 수정 또는 이들 작업의 조합
사용자 삭제 사용자 삭제
그룹 추가 그룹 추가
그룹 수정 그룹 수정, 그룹 이동, 그룹 권한 수정 또는 이들 작업의 조합
그룹 삭제 그룹 삭제
프로비전 요청에 따라 어떤 어댑터 작업이 존재하는지는 종래의 다양한 방법을 통해 파악될 수 있다. 예를 들어, 사용자 또는 그룹이 접근하는 리소스에 대한 정보가 미리 계정 관리 데이터베이스에 저장되어 있고, 사용자 '홍길동'이 제1그룹에서 제2그룹으로 이동하고 권한 변경 사항이 계정 관리 데이터베이스에 저장되어 있는 상태에서, 프로비전 요청이 사용자 '홍길동' 수정이면, 프로비저닝 장치(100)는 계정 관리 데이터베이스를 참조하여 사용자 '홍길동' 수정 사항을 반영하여야 할 리소스들을 파악하고, 또한 각 리소스에서 '사용자 그룹 수정'과 '사용자 권한 수정'의 어댑터 작업이 필요함을 파악할 수 있다.
이 외에도 어댑터 작업을 파악할 수 있는 다양한 실시 예가 가능하며, 이하의 실시 예에서는 프로비저닝 장치가 다양한 방법을 통해 리소스 작업에 포함되는 어댑터 작업 목록을 파악할 수 있다.
도 5는 어댑터 작업에 포함되는 정보의 일 예를 도시한 도면이다.
도 5를 참조하면, 어댑터 작업(230,240,250)은 어댑터작업 코드(510), 정보 식별자(520), 상위정보 식별자(530), 깊이 정보(540)를 포함한다. 본 실시 예는 이해를 돕기 위한 예에 지나지 아니하면 어댑터 작업에 포함되는 정보는 다양하게 변형 가능하다.
어댑터작업 코드(510)는 어댑터(도 1의 110)가 수행하여야 할 어댑터 작업을 나타낸다. 예를 들어, 표 1을 참조하면, 어댑터작업 코드(510)는 사용자 추가, 사용자 수정, 사용자 그룹 수정, 사용자 권한 수정, 그룹 추가, 그룹 수정, 그룹 이동, 그룹 권한 수정, 그룹 삭제 등을 나타내는 코드일 수 있다.
이 외 정보 식별자(520), 상위정보 식별자(530), 깊이 정보(540) 등은 도 3에서 살펴본 것과 동일하다.
도 6은 본 발명에 따른 프로비저닝 장치의 일 실시 예의 구성을 도시한 도면이다.
도 6을 참조하면, 프로비저닝 장치(100)는 리소스 작업 생성부(600), 리소스 의존성 큐(610), 어댑터 작업 생성부(620) 및 어댑터 의존성 큐(630)를 포함한다.
리소스 작업 생성부(600)는 프로비전 요청을 수신하면, 프로비전 요청에 해당하는 적어도 하나 이상의 리소스 작업을 생성한다. 예를 들어, 도 2를 참조하면, 프로비전 요청(200)에 대해 제1 리소스 작업(210) 및 제2 리소스 작업(220)을 생성한다. 각 리소스 작업(210,220)은 도 4와 같은 정보를 이용하여 각 리소스별 어떤 작업을 수행하여야 하는지를 나타낼 수 있다.
본 실시 예에서, 사용자 또는 그룹이 접근하는 리소스에 대한 정보, 각 리소스별 프로비저닝 순서 정보 등은 계정 관리 데이터베이스(미도시)에 미리 저장되어 있다고 가정한다. 따라서 리소스 작업 생성부(600)는 프로비전 요청을 수신하면, 해당 프로비전 요청에 포함된 사용자 또는 그룹에 관한 정보 식별자(도 3의 330)를 기초로 계정 관리 데이터베이스를 참조하여 어떤 리소스에 대한 프로비저닝이 필요한지 파악하고, 또한 파악된 리소스별 프로비저닝 순서를 파악하여, 도 4와 같은 리소스 작업을 각 리소스별로 생성할 수 있다.
리소스 작업 생성부(600)는 프로비전 요청에 해당하는 적어도 하나 이상의 리소스 작업을 처리 순서에 따라 리소스 의존성 큐(610)에 전달한다. 만약 리소스 작업 사이에 처리 순서가 존재하지 아니하거나 동일한 처리 순서이면, 리소스 작업 생성부(600)는 해당 리소스들을 임의의 순서로 리소스 의존성 큐(610)에 전달할 수 있다.
리소스 의존성 큐(610)는 리소스 작업 생성부(600)에 의해 생성된 리소스 작업을 저장한다. 리소스 의존성 큐(610)는 대기 중인 리소스 작업과 현재 수행중인 리소스 작업을 구분하여 저장하며, 제1 의존성 평가 함수를 이용하여 대기 중인 리소스 작업과 수행 중인 리소스 작업 사이의 의존성 여부를 파악하여, 의존성이 없는 리소스 작업을 선별한다. 리소스 의존성 큐(610)는 실시 예에 따라 다양한 형태로 구현 가능하면, 그 일 예가 도 7에 도시되어 있다.
제1 프로비전 요청에 해당하는 제1 및 제2 리소스 작업이 상호 의존성이 있는 경우에, 제1 리소스 작업이 완료되어야 제2 리소스 작업이 수행될 수 있다. 그러나 제2 프로비전 요청에 해당하는 제3 리소스 작업은 제1 리소스 작업과 의존성이 없을 수 있다. 이 경우 제1 리소스 작업과 제3 리소스 작업을 함께 병렬로 처리하면 전체 프로비저닝 작업의 속도를 향상시킬 수 있다.
따라서 리소스 의존성 큐(610)는 프로비전 요청의 순서에 따라 리소스 작업을 순차적으로 저장한 후, 프로비전 요청의 순서가 빠른 리소스 작업부터 순차적으로 어댑터 작업 생성부(620)에게 전달하되, 현재 수행중인 리소스 작업과 의존성이 없어 병렬 처리가 가능한 후순위의 리소스 작업을 어댑터 작업 생성부(620)에게 함께 전달하여 프로비저닝 속도를 향상시킨다.
어댑터 작업 생성부(620)는 리소스 의존성 큐(610)로부터 전달받은 리소스 작업에 대해 적어도 하나 이상의 어댑터 작업을 생성하여 어댑터 의존성 큐(630)에 전달한다. 예를 들어, 도 2를 참조하면, 어댑터 작업 생성부(620)는 제1 리소스 작업(210)을 수신하면, 제1 리소스 작업(210)에 포함된 어댑터 작업 목록(도 4의 480)을 기초로, 제1 어댑터 작업(230) 및 제2 어댑터 작업(240)을 생성하여 어댑터 의존성 큐(630)에 전달한다.
어댑터 작업 생성부(620)는 리소스 작업에 대한 처리가 완료되면 리소스 의존성 큐(610)에 리소스 작업을 요청하고, 리소스 의존성 큐(610)는 현재 수행 중인 리소스 작업과 의존성 없는 리소스 작업을 선별하여 어댑터 작업 생성부(620)에게 전달한다. 이와 같은 방법을 통해 복수의 리소스 작업을 병렬 처리하기 위하여 어댑터 작업 생성부는 각 리소스 작업을 처리하는 복수 개의 쓰레드로 구성될 수 있다. 복수 개의 쓰레드로 구현된 어댑터 작업 생성부(620)의 일 예는 도 9에 도시되어 있다.
어댑터 의존성 큐(630)는 어댑터 작업 생성부(620)로부터 전달받은 어댑터 작업을 저장한다. 어댑터 의존성 큐(630)는 대기 중인 어댑터 작업과 현재 수행중인 어댑터 작업을 구분하여 저장하며, 제2 의존성 평가 함수를 이용하여 대기 중인 어댑터 작업과 현재 수행 중인 어댑터 작업 사이의 의존성 여부를 파악하여, 의존성이 없는 어댑터 작업을 선별한다. 따라서 의존성 없는 어댑터 작업을 병렬 처리하여 프로비저닝 속도를 향상시킬 수 있다.
본 실시 예는 설명의 편의를 위하여 하나의 어댑터 의존성 큐를 도시하고 있으나, 병렬 처리를 위하여 어댑터 의존성 큐는 복수 개 존재할 수 있다. 복수 개의 어댑터 의존성 큐의 예는 도 10에서 다시 설명한다.
복수 개의 어댑터(640,642,644)는 어댑터 의존성 큐(630)로부터 상호 의존성 없어 병렬 처리 가능한 어댑터 작업을 전달받아 이를 병렬 처리한다. 예를 들어, 도 2를 참조하면, 제1 어댑터 작업(230)과 제2 어댑터 작업(240) 사이에 의존성이 있으나, 제1 어댑터 작업(230)과 제3 어댑터 작업(250) 사이에 의존성이 없는 경우, 제1 어댑터(640)와 제2 어댑터(642)는 제1 어댑터 작업(230)과 제3 어댑터 작업(250)을 병렬로 동시 처리한다. 이를 통해 프로비저닝 순서를 만족하면서 전체 프로비저닝 속도를 향상시킬 수 있다.
도 7은 본 발명에 따른 리소스 의존성 큐의 일 실시 예의 구성을 도시한 도면이다.
도 7을 참조하면, 리소스 의존성 큐(610)는 의존성 파악부(700), 제1 저장영역(710) 및 제2 저장영역(720)을 포함한다.
제1 저장영역(710)은 대기 중인 적어도 하나 이상의 리소스 작업을 저장한다. 제1 저장영역(710)은 리소스 작업 생성부(600)로부터 전달받은 리소스 작업을 순차적으로 저장하는 큐로 구현될 수 있다.
제2 저장영역(720)은 현재 수행 중인 리소스 작업을 저장한다. 예를 들어, 제1 저장영역(710)에 대기 중이던 제3 리소스 작업(724)이 어댑터 작업 생성부(620)로 전달되어 수행 중이면, 제3 리소스 작업(724)을 제2 저장영역(720)에 추가한다. 이때 제1 저장영역에 존재하는 제3 리소스 작업은 삭제되거나 그대로 있을 수 있다. 리소스 작업에 대한 처리가 완료되면, 해당 리소스 작업을 리소스 의존성 큐(610)에서 삭제한다.
의존성 파악부(700)는 제1 의존성 평가 함수를 이용하여 현재 수행 중인 리소스 작업과 대기 중인 리소스 작업 사이의 의존성 여부를 평가한다. 예를 들어, 제2 저장영역(720)에 제1 리소스 작업(722)과 제3 리소스 작업(724)이 존재하는 경우에, 의존성 파악부(700)는 제1 저장영역(710)에 존재하는 제2 리소스 작업(712)과 제1 리소스 작업(722) 사이의 의존성 및 제2 리소스 작업(712)과 제3 리소스 작업(724) 사이의 의존성을 각각 파악하여 모두 의존성이 없는 것으로 확인되면, 제2 리소스 작업(712)을 어댑터 작업 생성부(610)로 전달하고 제2 리소스 작업(712)을 제2 저장영역(720)에 추가한다.
대기 중인 리소스 작업이 현재 수행중인 리소스 작업과 비교하여 의존성이 있는지 파악하는 과정을 수학식으로 표현하면 다음과 같다.
Figure 112016061259330-pat00001
여기서, T는 대기 중인 리소스 작업, R은 현재 수행중인 리소스 작업, |R|은 현재 수행중일 리소스 작업의 개수를 의미하고, f(Ti,Rj)은 i번째 대기 중인 리소스 작업과 j번째 수행중인 리소스 작업 사이에 의존성이 있으면 1, 의존성이 없으면 0을 반환하는 함수이다. 따라서 제1 저장영역(710)에 저장된 i번째 리소스 작업에 대한 S 값이 0이면 의존성이 없고 1이상 이면 의존성이 있다.
의존성 여부는 두 리소스 사이에 프로비저닝 순서에 따라 리소스에 반영되는 결과가 달라지는 경우 또는 어떤 리소스에 대한 프로비저닝을 수행하기 위해서는 그 전에 다른 리소스에 대한 프로비저닝이 수행되어야 하는 경우 등이다. 예를 들어, 액티브 디렉토리의 계정이 이메일 계정보다 먼저 생성되어야 하므로, 액티브 디렉토리에 대한 프로비저닝을 수행하는 리소스 작업과 이메일 계정에 대한 프로비저닝을 수행하는 리소스 작업은 서로 의존성이 있다.
따라서 이러한 의존성 여부를 파악하기 위한 제1 의존성 평가 함수는 다양한 형태로 구현될 수 있으며, 본 실시 예의 이해를 돕기 위하여 리소스 작업이 도 4에 도시된 정보를 가진다고 할 때 의존성을 평가하는 하나의 예를 제시하면 다음과 같다.
제1 의존성 평가 함수 = ((A의 작업 식별자 ≠ B의 작업 식별자) or (A의 프로비저닝 순서 >= B의 프로비저닝 순서)) AND ((A의 작업 코드 = B의 작업코드) and (A의 사용자 또는 그룹 식별자 ≠ B의 정보 식별자) and (A의 계층 정보(상위정보 식별자 및 깊이 정보) = B의 계층 정보(상위정보 식별자 및 깊이 정보)) and (A의 작업 코드 = 병렬처리 가능))
여기서, A는 대기 중인 리소스 작업, B는 현재 수행 중인 리소스 작업을 각각 나타낸다. 제1 의존성 평가 함수의 결과가 true이면 의존성이 없어 병렬 처리가 가능한 경우이다.
도 8은 본 발명에 따른 어댑터 의존성 큐의 일 실시 예의 구성을 도시한 도면이다.
도 8을 참조하면, 어댑터 의존성 큐(630)는 의존성 파악부(800), 제1 저장영역(810) 및 제2 저장영역(820)을 포함한다. 어댑터 의존성 큐(630)는 앞서 살핀 리소스 의존성 큐(610)와 유사하며, 다만 의존성 평가를 위한 평가 함수에 있어서 상이하다.
제1 저장영역(810)은 대기 중인 적어도 하나 이상의 어댑터 작업을 저장한다. 제1 저장영역(810)은 어댑터 작업 생성부(620)로부터 전달받은 어댑터 작업을 순차적으로 저장하는 큐로 구현될 수 있다.
제2 저장영역(820)은 어댑터(640,642,644)에 의해 현재 수행 중인 어댑터 작업을 저장한다. 어댑터 작업에 대한 처리가 완료되면, 해당 어앱터 작업은 어댑터 의존성 큐(630)에서 삭제된다.
의존성 파악부(800)는 제2 의존성 평가 함수를 이용하여 현재 수행 중인 댑터 작업과 대기 중인 어댑터 작업 사이의 의존성 여부를 평가한다. 예를 들어, 제2 저장영역(820)에 제2 어댑터 작업(822)과 제4 어댑터 작업(824)이 존재하는 경우에, 의존성 파악부(800)는 제1 저장영역(810)에 존재하는 제1 어댑터 작업(812)과 제2 어댑터 작업(822) 사이의 의존성 및 제1 어댑터 작업(812)과 제4 어댑터 작업(824) 사이의 의존성을 각각 파악하여 모두 의존성이 없는 것으로 확인되면, 제1 리소스 작업(812)을 어댑터(640,642,644)에게 전달하고 제1 어댑터 작업(812)을 제2 저장영역(820)에 추가한다. 만약 제1 어댑터 작업(812)과 수행 중인 어댑터 작업들(822,824) 사이에 의존성이 존재하면, 의존성 파악부(800)는 제1 어댑터 작업(812) 다음에 위치한 제3 어댑터 작업(814)의 의존성을 파악한다.
의존성 여부를 파악하기 위한 제2 의존성 평가 함수는 다양한 형태로 구현될 수 있으며, 본 실시 예의 이해를 돕기 위하여 어댑터 작업이 도 5에 도시된 정보를 가진다고 할 때 의존성을 평가하는 하나의 예를 제시하면 다음과 같다.
제2 의존성 평가 함수 = (A의 어댑터작업 코드 = B의 어댑터작업 코드) AND (A의 정보 식별자 ≠ B의 정보 식별자) AND (A의 계층 정보(상위정보 식별자 및 깊이 정보) = B 계층 정보(상위정보 식별자 및 깊이 정보)) AND (A의 작업코드 = 병렬처리가능)
여기서, A는 대기 중인 어댑터 작업, B는 현재 수행 중인 어댑터 작업을 각각 나타낸다. 제2 의존성 평가 함수의 결과가 true이면 의존성이 없어 병렬 처리가 가능한 경우이다.
도 9는 본 발명에 따른 어댑터 작업 생성부의 일 실시 예의 구성을 도시한 도면이다.
도 9를 참조하면, 어댑터 작업 생성부(620)는 복수 개의 쓰레드(900,910,920)로 구성된다. 어댑터 작업 생성부(620)의 각 쓰레드(900,910,920)는 리소스 의존성 큐(610)로부터 리소스 작업을 전달받아 처리한다.
예를 들어, 제1 쓰레드(900)가 리소스 의존성 큐(610)에 리소스 작업을 요청하면, 리소스 의존성 큐(610)는 제1 의존성 평가 함수를 통해 현재 수행중인 리소스 작업과 의존성 없는 작업을 대기 중인 리소스 작업에서 선별하여 제1 쓰레드(900)에게 전달한다. 제1 쓰레드(900)는 전달받은 리소스 작업에 대한 어댑터 작업을 생성하여 어댑터 의존성 큐(630)에 전달한 후, 다시 리소스 의존성 큐(610)에 리소스 작업을 요청한다. 제2 쓰레드(910)는 제1 쓰레드(900)와 무관하게 리소스 의존성 큐(610)에 리소스 작업을 요청하여 처리하는 과정을 수행한다. 즉 각 쓰레드(900,910,920)는 상호 의존성 없는 리소스 작업들을 병렬처리하여 어댑터 의존성 큐(630)에 전달한다.
도 10은 본 발명에 따른 복수의 어댑터 의존성 큐와 이를 관리하는 큐 매니저의 일 예를 도시한 도면이다.
도 10을 참조하면, 복수 개의 어댑터 의존성 큐(1010,1020,1030)가 존재하고, 큐 매니저(1000)는 복수 개의 어댑터 의존성 큐(1010,1020,1030)를 관리한다.
큐 매니저(100)는 각 어댑터(640,642,644)로부터 어댑터 작업의 요청을 수신하면, 복수 개의 어댑터 의존성 큐(1010,1020,130)로부터 의존성 없는 어댑터 작업을 전달받아 작업 요청한 어댑터(640,642,644)에게 전달한다.
예를 들어, 제1 어댑터(640)로부터 어댑터 작업 요청을 수신한 큐 매니저(1000)는 제1 어댑터 의존성 큐(1010)에 어댑터 작업을 요청하고, 제1 어댑터 의존성 큐(1010)로부터 의존성 없는 어댑터 작업을 전달받아 제1 어댑터(640)에게 전달한다. 만약 제1 어댑터 의존성 큐(1010)에 의존성이 없는 어앱터 작업이 없다면, 큐 매니저(1000)는 다시 제2 어댑터 의존성 큐(1020)에 어댑터 작업을 요청하여 의존성 없는 어댑터 작업을 전달받아 제1 어댑터(640)에게 전달한다. 이와 같은 방법으로 큐 매니저는 의존성 없어 병렬 처리 가능한 어댑터 작업을 순차적으로 어댑터 의존성 큐에 요청한다.
어댑터 의존성 큐(1010,1020,1030)는 리소스(도 1의 120,122,124)의 개수만큼 존재하고, 각 어댑터 의존성 큐(1010,1020,103)는 각 리소스별 어댑터 작업을 저장할 수 있다. 다른 예로, 어댑터 의존성 큐(1010,1020,1030)의 개수가 리소스 개수보다 작다면 적어도 둘 이상의 리소스에 대한 어댑터 작업이 하나의 어댑터 의존성 큐에 함께 저장될 수 있다. 또 다른 예로, 어댑터 의존성 큐의 개수가 리소스 개수보다 많다면 둘 이상의 어댑터 의존성 큐에 하나의 리소스에 대한 어댑터 작업이 분산되어 저장될 수 있다.
복수의 어댑터 의존성 큐(1010,1020,1030)에 리소스별 어댑터 작업이 구분하여 저장되므로, 복수의 리소스에 대한 프로비저닝 작업이 병렬 처리가능하며, 또한 동일 리소스에 대해서도 어댑터 작업 사이의 의존성을 기초로 어댑터 작업이 병렬 처리가능하다.
도 11은 본 발명에 따른 프로비저닝 방법의 일 실시 예의 흐름을 도시한 도면이다.
도 11을 참조하면, 프로비저닝 장치는 대기 중인 리소스 작업과 현재 수행 중인 리소스 작업을 구분하여 리소스 의존성 큐에 저장한다(S1100). 도 6의 실시 예는, 프로비저닝 장치가 프로비전 요청을 수신하면, 이에 해당하는 적어도 하나 이상의 리소스 작업을 생성하여 이를 리소스 의존성 큐에 저장하는 경우를 도시하고 있다. 그러나 다른 실시 예로, 프로비저닝 장치는 외부로부터 프로비전 요청이 아닌 프로비전 요청에 해당하는 리소스 작업을 직접 수신할 수 있으며, 이 경우 도 6의 리소스 작업 생성부(600)는 생략될 수 있다.
프로비저닝 장치는 리소스 의존성 큐에 저장된 대기 중인 리소스 작업 중 현재 수행 중인 리소스 작업과 의존성이 없는 리소스 작업을 파악하여, 병렬 처리한다(S1110). 예를 들어, 도 7을 참조하면, 프로비저닝 장치는 현재 수행 중인 제1 리소스 작업(722) 및 제3 리소스 작업(724)과 대기 중인 제2 리소스 작업(712) 사이의 의존성을 파악하여 병렬 처리 가능한 경우, 제2 리소스 작업(712)을 제1 및 제3 리소스 작업(722,724)과 함께 병렬 처리한다.
그리고 프로비저닝 장치는 각 리소스에 대한 적어도 하나 이상의 어댑터 작업을 생성하여 어댑터 의존성 큐에 저장한다(S1120). 프로비저닝 장치는 대기중인 어댑터 작업과 현재 수행중인 어댑터 작업을 분리하여 어댑터 의존성 큐에 저장하며, 현재 수행중인 어댑터 작업과 대기 중인 어댑터 작업의 의존성을 파악하여, 의존성이 없는 어댑터 작업을 병렬 처리한다(S1130).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. 프로비전 요청에 대한 리소스 작업을 생성하는 리소스 작업 생성부;
    대기중인 리소스 작업과 수행중인 리소스 작업을 저장하는 리소스 의존성 큐;
    상기 리소스 의존성 큐로부터 전달받은 리소스 작업에 대한 어댑터 작업을 생성하는 적어도 하나 이상의 어댑터 작업 생성부; 및
    대기중인 어댑터 작업과 수행중인 어댑터 작업을 저장하는 적어도 하나 이상의 어댑터 의존성 큐;를 포함하고,
    상기 리소스 의존성 큐는, 제1 의존성 평가 함수를 이용하여 대기중인 리소스 작업 중 수행중인 리소스 작업과 의존성 없는 리소스 작업을 상기 어댑터 작업 생성부에 전달하고,
    상기 어댑터 의존성 큐는, 제2 의존성 평가 함수를 이용하여 대기중인 어댑터 작업 중 수행중인 어댑터 작업과 의존성 없는 어댑터 작업을 선택하는 것을 특징으로 하는 프로비저닝 장치.
  2. 제 1항에 있어서, 상기 리소스 작업 생성부는,
    프로비전 요청에 해당하는 적어도 하나 이상의 리소스 작업을 생성하는 단계;
    리소스별 프로비저닝 순서를 기초로 리소스 작업 사이의 처리 순서를 파악하는 단계; 및
    상기 처리 순서에 따라 리소스 작업을 상기 리소스 의존성 큐에 전달하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 장치.
  3. 제 1항에 있어서, 상기 리소스 의존성 큐는,
    대기중인 리소스 작업을 저장하는 제1 저장영역;
    수행중인 리소스 작업을 저장하는 제2 저장영역; 및
    상기 제1 의존성 평가 함수를 이용하여, 상기 제1 저장영역의 리소스 작업 중 상기 제2 저장영역에 존재하는 전체 리소스 작업과 의존성이 없는 리소스 작업을 파악하여 상기 어댑터 작업 생성부로 전달하고 상기 제2 저장영역에 추가하는 의존성파악부;를 포함하는 것을 특징으로 하는 프로비저닝 장치.
  4. 제 3항에 있어서,
    리소스 작업은 프로비저닝 대상 리소스를 나타내는 리소스 식별자, 프로비저닝 순서, 상기 프로비전 요청을 구분하는 작업 식별자, 프로비저닝 작업 내용을 나타내는 작업 코드, 사용자 또는 그룹 식별자, 계층 정보를 포함하고,
    상기 제1 의존성 평가 함수는, 상기 제1 저장영역의 제1 리소스 작업과 상기 제2 저장영역의 제2 리소스 작업에 있어서,
    ((상기 제1 리소스 작업의 작업 식별자 ≠ 상기 제2 리소스 작업의 작업 식별자) or (상기 제1 리소스 작업의 프로비저닝 순서 >= 상기 제2 리소스 작업의 프로비저닝 순서)) AND ((상기 제1 리소스 작업의 작업 코드 = 상기 제2 리소스 작업의 작업코드) and (상기 제1 리소스 작업의 사용자 또는 그룹 식별자 ≠ 상기 제2 리소스 작업의 사용자 또는 그룹 식별자) and (상기 제1 리소스 작업의 계층 정보 = 상기 제2 리소스 작업의 계층 정보) and (상기 제1 리소스 작업의 작업 코드 = 병렬처리 가능))인 경우에 상기 제1 리소스 작업을 의존성 없는 작업으로 평가하는 것을 특징으로 하는 프로비저닝 장치.
  5. 제 1항에 있어서, 상기 어댑터 의존성 큐는,
    대기중인 어댑터 작업을 저장하는 제1 저장영역;
    수행 중인 어댑터 작업을 저장하는 제2 저장영역; 및
    상기 제2 의존성 평가 함수를 이용하여, 상기 제1 저장영역의 어댑터 작업 중 상기 제2 저장영역의 전체 어댑터 작업과 의존성이 없는 어댑터 작업을 파악하여 출력하고 상기 제2 저장영역에 추가하는 의존성파악부;를 포함하는 것을 특징으로 하는 프로비저닝 장치.
  6. 제 5항에 있어서,
    어댑터 작업은 프로비저닝 작업 내용을 나타내는 작업 코드, 사용자 또는 그룹 식별자, 계층 정보를 포함하고,
    상기 제2 의존성 평가 함수는, 상기 제1 저장영역의 제1 어댑터 작업과 상기 제2 저장영역의 제2 어댑터 작업에 있어서,
    (상기 제1 어댑터 작업의 작업코드 = 상기 제2 어댑터 작업의 작업코드) AND (상기 제1 어댑터 작업의 사용자 또는 그룹의 식별자 ≠ 상기 제2 어댑터 작업의 사용자 또는 그룹의 식별자) AND (상기 제1 어댑터 작업의 계층 정보 = 상기 제2 어댑터 작업의 계층 정보) AND (상기 제1 어댑터 작업의 작업코드 = 병렬처리가능)인 경우에 상기 제1 어댑터 작업을 의존성 없는 작업으로 평가하는 것을 특징으로 하는 프로비저닝 장치.
  7. 제 1항에 있어서,
    리소스에게 프로비저닝 정보를 반영하는 어댑터로부터 작업 요청이 있으면, 프로비저닝의 병렬 처리를 위하여 상호 의존성 없는 어댑터 작업을 상기 어댑터 의존성 큐에서 선택하여 상기 어댑터에게 전달하는 큐매니저;를 더 포함하는 것을 특징으로 하는 프로비저닝 장치.
  8. 제 1항에 있어서,
    상기 어댑터 작업 생성부는 복수 개 존재하고,
    복수 개의 어댑터 작업 생성부는 상기 리소스 의존성 큐로부터 전달받은 상호 의존성 없는 복수 개의 리소스 작업에 대한 어댑터 작업 생성을 병렬로 수행하는 것을 특징으로 하는 프로비저닝 장치.
  9. 제 8항에 있어서,
    상기 복수 개의 어댑터 작업 생성부는 복수 개의 쓰레드로 구성되는 것을 특징으로 하는 프로비저닝 장치.
  10. 제 1항에 있어서,
    상기 어댑터 의존성 큐는 리소스의 개수만큼 존재하고,
    복수 개의 어댑터 의존성 큐는 리소스별 어댑터 작업을 각각 저장하는 것을 특징으로 하는 프로비저닝 장치.
  11. 리소스 의존성 큐와 어댑터 의존성 큐를 포함하는 프로비저닝 장치에 의한 프로비저닝 방법에 있어서,
    상기 프로비저닝 장치는,
    대기중인 리소스 작업과 수행중인 리소스 작업을 상기 리소스 의존성 큐에 저장하는 단계;
    제1 의존성 평가 함수를 이용하여, 대기중인 리소스 작업 중 수행중인 리소스 작업과 의존성 없는 리소스 작업을 파악하는 단계;
    상기 의존성 없는 리소스 작업에 대한 어댑터 작업을 대기중인 어댑터 작업과 수행중인 어댑터 작업으로 구분하여 상기 어댑터 의존성 큐에 저장하는 단계;
    제2 의존성 평가 함수를 이용하여, 대기중인 어댑터 작업 중 수행중인 어댑터 작업과 의존성 없는 어댑터 작업을 파악하는 단계; 및
    복수의 의존성 없는 어댑터 작업을 병렬 처리하여 프로비저닝 정보를 리소스에 반영하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
  12. 제 11항에 있어서, 상기 리소스 의존성 큐에 저장하는 단계는,
    프로비전 요청에 대한 적어도 하나 이상의 리소스 작업을 리소스별 프로비저닝 순서에 따라 상기 리소스 의존성 큐에 저장하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
  13. 제 11항에 있어서, 상기 어댑터 의존성 큐에 저장하는 단계는,
    복수의 의존성 없는 리소스 작업을 병렬 처리하여 생성한 어댑터 작업을 상기 어댑터 의존성 큐에 저장하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
  14. 제 11항에 있어서, 상기 어댑터 의존성 큐에 저장하는 단계는,
    어댑터 작업을 리소스별 어댑터 의존성 큐에 저장하는 단계;를 포함하는 것을 특징으로 하는 프로비저닝 방법.
  15. 제 11항 내지 제 14항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020160079284A 2016-06-24 2016-06-24 프로비저닝 방법 및 그 장치 KR101676467B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160079284A KR101676467B1 (ko) 2016-06-24 2016-06-24 프로비저닝 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160079284A KR101676467B1 (ko) 2016-06-24 2016-06-24 프로비저닝 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR101676467B1 true KR101676467B1 (ko) 2016-11-15

Family

ID=57525450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160079284A KR101676467B1 (ko) 2016-06-24 2016-06-24 프로비저닝 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101676467B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306063A (zh) * 2020-11-02 2021-02-02 珠海格力智能装备有限公司 控制自动导引装置的方法及装置、电子装置
KR20210031347A (ko) * 2019-09-11 2021-03-19 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 처리 작업을 수행하는 방법, 장치, 기기 및 저장 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070068773A (ko) 2005-12-27 2007-07-02 엘지.필립스 엘시디 주식회사 액정표시장치
US20120291088A1 (en) * 2011-05-10 2012-11-15 Sybase, Inc. Elastic resource provisioning in an asymmetric cluster environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070068773A (ko) 2005-12-27 2007-07-02 엘지.필립스 엘시디 주식회사 액정표시장치
US20120291088A1 (en) * 2011-05-10 2012-11-15 Sybase, Inc. Elastic resource provisioning in an asymmetric cluster environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210031347A (ko) * 2019-09-11 2021-03-19 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 처리 작업을 수행하는 방법, 장치, 기기 및 저장 매체
KR102350785B1 (ko) * 2019-09-11 2022-01-14 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 처리 작업을 수행하는 방법, 장치, 기기 및 저장 매체
US11301255B2 (en) 2019-09-11 2022-04-12 Kunlunxin Technology (Beijing) Company Limited Method, apparatus, device, and storage medium for performing processing task
CN112306063A (zh) * 2020-11-02 2021-02-02 珠海格力智能装备有限公司 控制自动导引装置的方法及装置、电子装置
CN112306063B (zh) * 2020-11-02 2024-05-07 珠海格力智能装备有限公司 控制自动导引装置的方法及装置、电子装置

Similar Documents

Publication Publication Date Title
US7788237B2 (en) Method and system for tracking changes in a document
US10108914B2 (en) Method and system for morphing object types in enterprise content management systems
US7043714B2 (en) Method, system, and program for using objects in data stores during execution of a workflow
US20140039955A1 (en) Task assignment management system and method
US10476878B2 (en) Access permissions management system and method
US8555333B2 (en) Identifying and resolving separation of duties conflicts in a multi-application environment
US7721289B2 (en) System and method for dynamic allocation of computers in response to requests
US20130325915A1 (en) Computer System And Data Management Method
US11182217B2 (en) Multilayered resource scheduling
JP2009505226A (ja) サーバ側のプロジェクトマネージャ
US20130263140A1 (en) Window-based scheduling using a key-value data store
CN108897876A (zh) 一种数据接入方法及装置
US20120197677A1 (en) Multi-role based assignment
KR101676467B1 (ko) 프로비저닝 방법 및 그 장치
US11151088B2 (en) Systems and methods for verifying performance of a modification request in a database system
WO2022257709A1 (en) Database optimization using record correlation and intermediate storage media
US10789272B2 (en) Scalable, distributed containerization across homogenous and heterogeneous data stores
JP5640432B2 (ja) 分散処理装置、分散処理プログラムおよび分散処理方法
US20110010754A1 (en) Access control system, access control method, and recording medium
US7454742B2 (en) System and method for automatically starting a document on a workflow process
CN113313353A (zh) 一种持续交付流水线管理方法及装置
US10929340B2 (en) Email and identity migration based on relationship information
KR101707186B1 (ko) 인사정보 동기화 장치 및 그 방법
KR101692964B1 (ko) 프로비저닝 장치 및 그 방법
US7721287B2 (en) Organizing transmission of repository data

Legal Events

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