KR101718454B1 - 캐시를 이용한 사용자 접근 제어 시스템 및 방법 - Google Patents

캐시를 이용한 사용자 접근 제어 시스템 및 방법 Download PDF

Info

Publication number
KR101718454B1
KR101718454B1 KR1020160046895A KR20160046895A KR101718454B1 KR 101718454 B1 KR101718454 B1 KR 101718454B1 KR 1020160046895 A KR1020160046895 A KR 1020160046895A KR 20160046895 A KR20160046895 A KR 20160046895A KR 101718454 B1 KR101718454 B1 KR 101718454B1
Authority
KR
South Korea
Prior art keywords
cache
resource
user
management system
rights management
Prior art date
Application number
KR1020160046895A
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 KR1020160046895A priority Critical patent/KR101718454B1/ko
Application granted granted Critical
Publication of KR101718454B1 publication Critical patent/KR101718454B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • G06Q10/103Workflow collaboration or project management

Abstract

캐시를 이용한 사용자 접근 제어 시스템은 권한 관리 시스템 및 업무 시스템을 포함한다. 상기 권한 관리 시스템은 사용자의 식별자 및 자원의 식별자를 입력 받아 상기 사용자의 상기 자원에 대한 접근 권한을 판단한다. 상기 업무 시스템은 상기 사용자의 상기 자원에 대한 상기 접근 권한을 기초로 상기 사용자에게 상기 자원의 사용을 허락한다. 상기 권한 관리 시스템은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성한다.

Description

캐시를 이용한 사용자 접근 제어 시스템 및 방법 {USER ACCESS CONTROL SYSTEM USING CACHE AND METHOD OF CONTROLLING USER ACCESS USING THE SAME}
본 발명은 캐시(Cache)를 이용한 사용자 접근 제어 시스템 및 이를 이용한 사용자 접근 제어 방법에 관한 것으로, 보다 구체적으로는 권한 관리 시스템의 부하를 감소시킬 수 있는 캐시를 이용한 사용자 접근 제어 시스템 및 이를 이용한 사용자 접근 제어 방법에 관한 것이다.
일반적으로, 사용자 접근 제어 시스템은 업무 시스템 및 권한 관리 시스템으로 구성된다. 사용자가 업무 시스템의 특정 자원에 접근하는 경우, 업무 시스템은 사용자의 식별자와 자원의 식별자를 권한 관리 시스템에 전송할 수 있다. 상기 권한 관리 시스템은 상기 사용자가 상기 자원에 접근할 수 있는 권한이 있는지 판단하여 상기 결과를 상기 업무 시스템에 전송한다.
사용자의 수, 업무 시스템의 개수, 업무 시스템 내의 자원의 수가 증가하는 경우, 상기 권한 관리 시스템의 부하 및 상기 업무 시스템 및 상기 권한 관리 시스템 간의 네트워크의 트래픽이 크게 증가하는 문제점이 있다.
따라서 본 발명은 종래 사용자 접근 제어 시스템 및 방법이 가지는 문제점들을 해결하기 위한 것으로, 본 발명이 이루고자 하는 목적은 권한 관리 시스템의 부하를 감소시킬 수 있는 캐시를 이용한 사용자 접근 제어 시스템을 제공하는 것이다.
본 발명이 이루고자 하는 다른 목적은 상기 캐시를 이용한 사용자 접근 제어 시스템을 이용한 사용자 접근 제어 방법을 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 캐시를 이용한 사용자 접근 제어 시스템은 권한 관리 시스템 및 업무 시스템을 포함한다. 상기 권한 관리 시스템은 사용자의 식별자 및 자원의 식별자를 입력 받아 상기 사용자의 상기 자원에 대한 접근 권한을 판단한다. 상기 업무 시스템은 상기 사용자의 상기 자원에 대한 상기 접근 권한을 기초로 상기 사용자에게 상기 자원의 사용을 허락한다. 상기 권한 관리 시스템은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성한다.
본 발명의 일 실시예에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있는 경우, 상기 권한 관리 시스템은 상기 캐시를 기초로 상기 접근 권한을 출력할 수 있다.
본 발명의 일 실시예에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있지 않은 경우, 상기 권한 관리 시스템은 상기 사용자의 그룹, 상기 그룹의 역할, 및 상기 역할의 상기 자원의 접근 권한을 순차적으로 검색하여 상기 접근 권한을 출력할 수 있다.
본 발명의 일 실시예에 있어서, 상기 캐시의 데이터는 상기 접근 권한이 있는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 캐시의 최초 데이터는 제1 기간 동안의 검색 횟수를 기초로 구축되고, 상기 제1 기간보다 짧은 제2 기간 동안의 검색 횟수를 이용하여 상기 제2 기간을 주기로 상기 캐시의 데이터가 업데이트될 수 있다.
본 발명의 일 실시예에 있어서, 상기 제1 기간 동안의 상기 검색 횟수를 기초로 제1 점수를 설정할 수 있다. 상기 제2 기간 동안 상기 검색 횟수가 0이 아닌 경우, 상기 제2 기간 동안의 상기 검색 횟수를 제2 점수로 설정하고, 상기 제2 기간 동안 상기 검색 횟수가 0인 경우, 음의 값을 갖는 페널티 점수를 상기 제2 점수로 설정할 수 있다. 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값을 기초로 상기 캐시의 상기 데이터가 업데이트될 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드보다 작은 인덱스는 상기 캐시로부터 삭제될 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드보다 작은 인덱스는 상기 캐시로부터 삭제되고, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제2 쓰레스 홀드보다 큰 인덱스는 상기 캐시로 삽입될 수 있다.
본 발명의 일 실시예에 있어서, 상기 제2 쓰레스 홀드는 상기 제1 쓰레스 홀드와 상이할 수 있다.
본 발명의 일 실시예에 있어서, 상기 업무 시스템은 상기 권한 관리 시스템의 상기 캐시에 동기화되는 로컬 캐시를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있는 경우, 상기 업무 시스템은 상기 사용자의 식별자 및 상기 자원의 식별자를 상기 권한 관리 시스템에 전송하지 않을 수 있다.
본 발명의 일 실시예에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있지 않은 경우, 상기 업무 시스템은 상기 사용자의 식별자 및 상기 자원의 식별자를 상기 권한 관리 시스템에 전송할 수 있다.
본 발명의 일 실시예에 있어서, 상기 로컬 캐시는 데이터는 상기 그룹 정보, 상기 역할 정보, 상기 자원 정보 및 상기 접근 권한 정보를 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 권한 관리 시스템은 상기 업무 시스템에 제3 구간을 주기로 동기화 메시지를 전송할 수 있다.
본 발명의 일 실시예에 있어서, 상기 동기화 메시지는 갱신 가능 메시지 및 EMPTY 메시지를 포함할 수 있다. 상기 권한 관리 시스템은 상기 권한 관리 시스템의 상기 접근 권한에 대한 정책이 변경되는 경우, 상기 업무 시스템에 상기 갱신 가능 메시지를 전송할 수 있다. 상기 권한 관리 시스템은 상기 권한 관리 시스템의 상기 접근 권한에 대한 정책이 변경되지 않는 경우, 상기 업무 시스템에 상기 EMPTY 메시지를 전송할 수 있다.
본 발명의 일 실시예에 있어서, 상기 업무 시스템은 상기 권한 관리 시스템의 상기 정책이 변경되었는지 확인하기 위해 상기 권한 관리 시스템에 갱신 정보 요청 메시지를 전송할 수 있다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 캐시를 이용한 사용자 접근 제어 방법은 업무 시스템은 사용자의 식별자 및 자원의 식별자를 권한 관리 시스템에 전송하는 단계, 상기 권한 관리 시스템은 상기 자원에 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성하는 단계 및 상기 권한 관리 시스템은 상기 사용자의 식별자 및 상기 자원의 식별자를 입력 받아 상기 캐시를 기초로 상기 사용자의 상기 자원에 대한 접근 권한을 판단하는 단계를 포함한다.
본 발명에 따른 캐시를 이용한 사용자 접근 제어 시스템 및 이를 이용하는 사용자 접근 제어 방법은 권한 관리 시스템의 통계를 이용하여 캐시를 구축하고, 일정 시간마다 상기 캐시를 업데이트하여 사용자 접근 제어를 위한 권한 관리 시스템의 부하를 감소시킬 수 있다.
또한, 업무 시스템은 로컬 캐시를 포함하며, 상기 로컬 캐시에 포함된 요청에 대해서는 상기 권한 관리 시스템으로 요청을 보내지 않고 상기 로컬 캐시를 통해 처리한다. 따라서, 상기 권한 관리 시스템 및 상기 업무 시스템 간의 네트워크 트래픽을 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 캐시를 이용한 사용자 접근 제어 시스템을 나타내는 블록도이다.
도 2는 도 1의 사용자 접근 제어 시스템이 캐시를 이용하지 않는 경우의 동작을 나타내는 개념도이다.
도 3은 도 1의 사용자 접근 제어 시스템이 캐시를 이용하는 경우의 동작을 나타내는 개념도이다.
도 4는 도 3의 권한 관리 시스템의 캐시를 구축하는 방법을 나타내는 흐름도이다.
도 5는 도 3의 권한 관리 시스템의 캐시의 일 실시예를 나타내는 표이다.
도 6은 도 3의 권한 관리 시스템의 캐시의 일 실시예를 나타내는 표이다.
도 7은 도 3의 권한 관리 시스템의 동기화 메시지 처리에 대한 흐름도이다.
도 8은 도 3의 업무 시스템의 동기화 메시지 처리에 대한 흐름도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 캐시를 이용한 사용자 접근 제어 시스템을 나타내는 블록도이다.
도 1을 참조하면, 사용자 접근 제어 시스템은 권한 관리 시스템(100) 및 업무 시스템(200)을 포함한다.
상기 권한 관리 시스템(100)은 사용자의 식별자(ID) 및 자원의 식별자(RS)를 입력 받아 상기 사용자의 상기 자원에 대한 접근 권한(AU)을 판단한다. 예를 들어, 상기 권한 관리 시스템(100)은 권한 관리 서버를 포함할 수 있다. 상기 권한 관리 시스템(100)은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성할 수 있다.
상기 사용자가 상기 업무 시스템(200)의 자원을 사용하려고 할 때, 상기 사용자가 상기 자원에 접근할 수 있는 권한이 있는지를 파악하여야 한다. 상기 사용자가 상기 업무 시스템(200)의 자원에 접근하면 상기 업무 시스템(200)은 상기 사용자의 식별자(ID) 및 상기 자원의 식별자(RS)를 상기 권한 관리 시스템(100)에 전송한다. 상기 업무 시스템(200)은 상기 권한 관리 시스템(100)으로부터 상기 사용자의 상기 자원에 대한 접근 권한(AU)을 수신한다.
상기 사용자가 상기 자원에 대한 접근 권한(AU)을 갖는 경우, 상기 업무 시스템(200)은 상기 사용자에게 상기 자원을 이용하도록 허락한다. 반면, 상기 사용자가 상기 자원에 대한 접근 권한(AU)을 갖지 않는 경우, 상기 업무 시스템(200)은 상기 사용자에게 상기 자원을 이용하도록 허락하지 않는다.
상기 사용자가 상기 자원에 대한 접근 권한(AU)을 갖지 않는 경우, 상기 업무 시스템(200)은 상기 사용자에게 경고창을 생성할 수 있다. 또한, 상기 사용자가 상기 자원에 대한 접근 권한(AU)을 갖지 않는 경우, 상기 업무 시스템(200)은 상기 권한 관리 시스템(100)에 허락되지 않는 접근의 시도가 있음을 전송할 수 있다.
도 2는 도 1의 사용자 접근 제어 시스템이 캐시를 이용하지 않는 경우의 동작을 나타내는 개념도이다.
도 1 및 도 2를 참조하면, 상기 업무 시스템(200)은 상기 사용자의 식별자(ID)와 상기 사용자가 접근하려는 자원의 식별자(RS)를 상기 권한 관리 시스템(100)에 전송한다. 예를 들어, 상기 사용자가 접근하려는 자원(RS)은 도 2의 자원 3일 수 있다.
상기 권한 관리 시스템(100)이 캐시를 이용하지 않는 경우, 상기 권한 관리 시스템(100)은 상기 사용자의 식별자(ID)의 사용자가 속해 있는 그룹을 검색한다. 예를 들어 상기 사용자가 속해 있는 그룹은 도 2에서 그룹 1일 수 있다.
이어서 상기 권한 관리 시스템(100)은 상기 사용자가 속해 있는 그룹의 역할을 검색한다. 예를 들어 상기 사용자가 속해 있는 그룹은 도 2에서 역할 1 및 역할 2일 수 있다.
이어서 상기 권한 관리 시스템(100)은 상기 사용자가 갖는 역할이 이용할 수 있는 자원을 검색한다. 예를 들어 도 2에서 상기 사용자가 갖는 역할 중 역할 1이 이용할 수 있는 자원은 자원 1 및 자원 3이고, 상기 사용자가 갖는 역할 중 역할 2가 이용할 수 있는 자원은 자원 2이다.
결과적으로, 도 2에서 상기 사용자는 상기 자원 3에 대한 접근 권한이 있다. 상기 권한 관리 시스템(100)은 상기 사용자가 상기 자원 3에 대한 접근 권한(AU)이 있음을 상기 업무 시스템(200)에 출력할 수 있다.
예를 들어, 상기 사용자의 그룹은 회사나 조직 내의 부서일 수 있다. 예를 들어, 상기 사용자의 역할은 회사나 조직 또는 부서 내에서 상기 사용자의 속성일 수 있다. 예를 들어, 상기 역할은 관리자, 일반 사용자, 외부 이용자 등일 수 있다. 예를 들어, 상기 자원은 상기 업무 시스템 내에서의 메뉴, 버튼, 다운로드, 게시판 등일 수 있다.
예를 들어, 상기 사용자는 복수의 그룹에 속해있을 수 있다. 예를 들어, 상기 그룹은 복수의 역할을 소유할 수 있다. 예를 들어, 상기 역할은 복수의 자원을 가질 수 있다. 다만, 예를 들어, 상기 자원은 하나의 역할에만 맵핑할 수 있다.
도 3은 도 1의 사용자 접근 제어 시스템이 캐시를 이용하는 경우의 동작을 나타내는 개념도이다.
도 1 내지 도 3을 참조하면, 상기 사용자 접근 제어 시스템은 상기 권한 관리 시스템(100) 및 업무 시스템(200)을 포함한다.
도 3에서 보듯이, 상기 하나의 권한 관리 시스템(100)에 복수의 상기 업무 시스템(220, 240, 260, 280)이 접속할 수 있다.
상기 업무 시스템 1(220)은 상기 업무 시스템 1(220)에 접속한 사용자의 자원에 대한 권한을 상기 권한 관리 시스템(100)에 질의하고, 상기 권한 관리 시스템(100)은 상기 업무 시스템 1(220)에 접속한 상기 사용자의 상기 자원에 대한 권한의 결과를 상기 업무 시스템 1(220)에 응답한다.
상기 업무 시스템 2(240)는 상기 업무 시스템 2(240)에 접속한 사용자의 자원에 대한 권한을 상기 권한 관리 시스템(100)에 질의하고, 상기 권한 관리 시스템(100)은 상기 업무 시스템 2(240)에 접속한 상기 사용자의 상기 자원에 대한 권한의 결과를 상기 업무 시스템 2(240)에 응답한다.
상기 업무 시스템 3(260)은 상기 업무 시스템 3(260)에 접속한 사용자의 자원에 대한 권한을 상기 권한 관리 시스템(100)에 질의하고, 상기 권한 관리 시스템(100)은 상기 업무 시스템 3(260)에 접속한 상기 사용자의 상기 자원에 대한 권한의 결과를 상기 업무 시스템 3(260)에 응답한다.
상기 업무 시스템 4(280)는 상기 업무 시스템 4(280)에 접속한 사용자의 자원에 대한 권한을 상기 권한 관리 시스템(100)에 질의하고, 상기 권한 관리 시스템(100)은 상기 업무 시스템 4(280)에 접속한 상기 사용자의 상기 자원에 대한 권한의 결과를 상기 업무 시스템 4(280)에 응답한다.
상기 권한 관리 시스템(100)은 캐시(Cache)를 포함한다. 상기 권한 관리 시스템(100)은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성할 수 있다.
상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 이미 저장되어 있는 경우에는, 상기 권한 관리 시스템(100)은 상기 캐시를 기초로 상기 접근 권한을 상기 업무 시스템(200)에 출력할 수 있다.
반면, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있지 않은 경우에는 도 2에서 설명한 바와 같이, 상기 권한 관리 시스템(100)은 상기 사용자의 그룹, 상기 그룹의 역할, 및 상기 역할의 상기 자원의 접근 권한을 순차적으로 검색하여 상기 접근 권한을 상기 업무 시스템(200)에 출력할 수 있다.
상기 권한 관리 시스템(100)은 통계를 이용하여 캐시를 구축하고, 반복적인 접근 권한 확인 요청에 대해서는 상기 캐시를 이용하여 상기 업무 시스템(200)의 접근 권한을 판단하므로 상기 권한 관리 시스템(100)의 부하를 감소시킬 수 있다.
본 발명의 일 실시예에서, 상기 캐시의 데이터는 상기 접근 권한이 있는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보를 포함할 수 있다. 상기 캐시는 상기 접근 권한이 없는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보는 저장하지 않고, 상기 접근 권한이 있는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보를 선택적으로 저장할 수 있다.
상기 캐시는 일정 기간 동안 많이 검색된 그룹 정보, 역할 정보 및 자원 정보를 캐시로 저장하여 관리할 수 있다. 상기 권한 관리 시스템(100)이 캐시를 사용하는 경우, 상기 그룹, 역할, 자원에 대한 검색으로 인한 부하를 감소시킬 수 있다. 특히, 동일한 그룹, 역할, 자원에 대한 검색이 반복적으로 입력되는 경우에는 캐시를 이용하는 경우 상기 그룹, 역할, 자원에 대한 검색으로 인한 부하를 더욱 크게 감소시킬 수 있다.
상기 업무 시스템(200)은 상기 권한 관리 시스템(100)의 상기 캐시에 동기화되는 로컬 캐시를 포함할 수 있다. 예를 들어, 상기 업무 시스템 1(220)은 제1 로컬 캐시(LC1)를 포함할 수 있다. 예를 들어, 상기 업무 시스템 2(240)는 제2 로컬 캐시(LC2)를 포함할 수 있다. 예를 들어, 상기 업무 시스템 3(250)은 제3 로컬 캐시(LC3)를 포함할 수 있다. 예를 들어, 상기 업무 시스템 4(280)는 제4 로컬 캐시(LC4)를 포함할 수 있다.
상기 제1 로컬 캐시(LC1)는 상기 업무 시스템 1(220)에서 요청된 접근 권한 정보를 기초로 생성될 수 있다. 상기 제1 로컬 캐시(LC1)는 상기 업무 시스템 1(220)이 상기 권한 관리 시스템(100)에 상기 사용자의 상기 자원의 접근 권한 정보를 요청할 때, 해당 요청 횟수를 누적하여 상기 누적된 요청 횟수를 기초로 생성될 수 있다. 본 발명의 일 실시예에서, 이와는 달리, 상기 제1 로컬 캐시(LC1)는 상기 권한 관리 시스템(100)의 상기 캐시의 데이터를 전송 받아 형성될 수 있다.
상기 제2 로컬 캐시(LC2)는 상기 업무 시스템 2(240)에서 요청된 접근 권한 정보를 기초로 생성될 수 있다. 상기 제2 로컬 캐시(LC2)는 상기 업무 시스템 2(240)가 상기 권한 관리 시스템(100)에 상기 사용자의 상기 자원의 접근 권한 정보를 요청할 때, 해당 요청 횟수를 누적하여 상기 누적된 요청 횟수를 기초로 생성될 수 있다. 본 발명의 일 실시예에서, 이와는 달리, 상기 제2 로컬 캐시(LC2)는 상기 권한 관리 시스템(100)의 상기 캐시의 데이터를 전송 받아 형성될 수 있다.
상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있는 경우, 상기 업무 시스템(200)은 상기 사용자의 식별자 및 상기 자원의 식별자를 상기 권한 관리 시스템(100)에 전송하지 않을 수 있다. 즉, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있는 경우, 상기 업무 시스템(200)은 상기 사용자의 상기 자원에 대한 접근 권한을 이미 알고 있으므로, 상기 권한 관리 시스템(100)에 상기 접근 권한에 대한 정보를 요청하지 않는다.
상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있지 않은 경우, 상기 업무 시스템은 상기 사용자의 식별자 및 상기 자원의 식별자를 상기 권한 관리 시스템에 전송할 수 있다. 즉, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있지 않은 경우, 상기 업무 시스템(200)은 상기 사용자의 상기 자원에 대한 접근 권한을 알 수 없으므로, 상기 접근 권한에 대한 정보를 상기 권한 관리 시스템(100)에 요청하게 된다.
상기 업무 시스템(200)은 상기 로컬 캐시에 포함된 요청에 대해서는 상기 권한 관리 시스템으로 요청을 보내지 않고 상기 로컬 캐시를 통해 직접 처리하므로, 상기 권한 관리 시스템(100) 및 상기 업무 시스템(200) 간의 네트워크 트래픽을 감소시킬 수 있다.
본 발명의 일 실시예에서, 상기 로컬 캐시의 데이터는 상기 그룹 정보, 상기 역할 정보, 상기 자원 정보 및 상기 접근 권한 정보를 포함할 수 있다. 상기 로컬 캐시의 접근 권한 정보는 접근 가능을 나타내는 값 및 접근 불가를 나타내는 값 중 하나일 수 있다.
예를 들어, 상기 사용자가 상기 자원에 대한 접근 권한이 있는 것으로 상기 로컬 캐시에 입력되어 있는 경우, 상기 업무 시스템은 상기 사용자에게 상기 자원에 대한 접근을 허용한다. 반면, 상기 사용자가 상기 자원에 대한 접근 권한이 없는 것으로 상기 로컬 캐시에 입력되어 있는 경우, 상기 업무 시스템은 상기 사용자에게 상기 자원에 대한 접근을 허용하지 않는다.
이와는 달리, 본 발명의 일 실시예에서, 상기 로컬 캐시의 데이터는 상기 권한 관리 시스템의 상기 캐시처럼 접속 권한이 있는 것으로 판정된 상기 그룹 정보, 상기 역할 정보, 상기 자원 정보만을 포함할 수 있다.
도 4는 도 3의 권한 관리 시스템(100)의 캐시를 구축하는 방법을 나타내는 흐름도이다. 도 5는 도 3의 권한 관리 시스템(100)의 캐시의 일 실시예를 나타내는 표이다. 도 6은 도 3의 권한 관리 시스템(100)의 캐시의 일 실시예를 나타내는 표이다.
도 1 내지 도 5를 참조하면, 상기 캐시의 최초 데이터는 제1 기간 동안의 검색 횟수를 기초로 구축되고, 상기 제1 기간보다 짧은 제2 기간 동안의 검색 횟수를 이용하여 상기 제2 기간을 주기로 상기 캐시의 데이터가 업데이트될 수 있다.
도 4 및 도 5에서 상기 제1 기간은 하루일 수 있다. 상기 제2 기간은 1시간 일 수 있다. 상기 캐시는 n개의 요청 인덱스를 포함할 수 있다. 도 3에서 도시한 바와 같이, 하나의 요청 인덱스는 (그룹, 역할, 자원) 정보를 포함할 수 있다. 도 4 및 도 5를 참조하여, 상기 권한 관리 시스템(100)의 캐시의 구축 방법의 일 예를 설명한다.
전일 가장 많이 사용한 n개의 권한 있는 요청 인덱스를 선정한다 (단계 S10). 도 5에서는 n이 10인 경우를 예시하였으나, 본 발명은 인덱스의 개수에 한정되지 않는다. 다만, 상기 인덱스의 개수가 너무 많으면 메모리 공간을 많이 차지하는 문제가 있고, 상기 인덱스의 개수가 너무 적으면 상기 권한 관리 시스템(100)의 부하를 줄일 수 있는 효과가 제한된다.
상기 전일 가장 많이 사용한 n개의 권한 있는 각 요청 인덱스에 따른 제1 점수를 부여한다 (단계 S20). 도 5에서는 전일 검색 횟수에 따라 10점, 9점, 8점, 7점 순으로 10점 내지 0점을 상기 제1 점수로 부여하였다. 본 실시예에서는 전일 검색 횟수의 순위에 비례하여 상기 제1 점수를 부여하였으나, 이와는 달리, 전일 검색 횟수 자체에 비례하여 상기 제1 점수를 부여할 수 있다.
상기 최초 데이터와 상기 제2 기간에 동일한 요청 인덱스가 있는지 비교할 수 있다 (단계 S30). 상기 최초 데이터 중 상기 제2 기간 동안 상기 검색 횟수가 0이 아닌 경우 (단계 S40 - YES), 상기 제2 기간 동안의 상기 검색 횟수를 제2 점수로 설정하고 상기 제1 점수를 상기 제2 점수와 합산한다 (단계 S50). 상기 최초 데이터 중 상기 제2 기간 동안 상기 검색 횟수가 0인 경우 (단계 S40 - NO), 음의 값을 갖는 페널티 점수(q)를 상기 제2 점수로 설정하고 상기 제1 점수를 상기 제2 점수와 합산한다 (단계 S60). 본 실시예에서, 상기 패널티 점수(q)는 -5이다.
상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값을 기초로 상기 캐시의 상기 데이터가 업데이트될 수 있다. 예를 들어, 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드(p)보다 작은 인덱스는 상기 캐시로부터 삭제될 수 있다 (단계 S70). 본 실시예에서, 상기 제1 쓰레스 홀드(p)는 2일 수 있다.
도 5를 보면, INDEX 1은 제1 구간(전일)의 최초 구축 점수(제1 점수)가 10이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 5이므로, 상기 제2 구간(t-1)의 최종 점수(제1 점수+제2 점수)는 15점이다. INDEX 2는 제1 구간(전일)의 최초 구축 점수(제1 점수)가 9이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 4이므로, 상기 제2 구간(t-1)의 최종 점수는 13점이다. INDEX 3은 제1 구간(전일)의 최초 구축 점수(제1 점수)가 8이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 상기 패널티 점수인 -5이므로, 상기 제2 구간(t-1)의 최종 점수는 3점이다. INDEX 4는 제1 구간(전일)의 최초 구축 점수(제1 점수)가 7이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 2이므로, 상기 제2 구간(t-1)의 최종 점수는 3점이다.
이와 같은 식으로 계산하여, 상기 제2 구간(t-1)의 최종 점수가 상기 제1 쓰레스 홀드인 2보다 작은 인덱스는 상기 캐시로부터 삭제될 수 있다. 예를 들어, 도 5에서 INDEX 5, INDEX 6, INDEX 7, INDEX 9는 상기 제2 구간(t-1)의 최종 점수가 상기 제1 쓰레스 홀드보다 작아 상기 캐시에서 삭제된다.
상기 캐시에 저장되지 않은 일반 데이터베이스 영역에서 상기 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 높은 인덱스는 상기 제2 구간이 끝날 때, 상기 캐시 내로 삽입될 수 있다. 예를 들어, 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드(p=2)보다 크거나 같은 인덱스는 상기 캐시 내로 삽입될 수 있다. 따라서, 도 5에서 INDEX 11, INDEX 12, INDEX 13, INDEX 14는 상기 캐시 후보로 선정되었고, 상기 제2 기간(t-1)이 끝날 때, 상기 캐시 내로 삽입되었다. 상기 제2 기간(t-1)이 끝나면, 상기 인덱스들은 상기 캐시 내에서 상기 제2 구간(t-1)의 최종 점수에 대해 내림차순으로 정렬된다.
이상에서는 최초 구축 데이터와 t-1 구간의 데이터를 비교하여 t-1 구간이 끝날 때, 인덱스를 업데이트 하는 방법을 도시하였으며, t-1 구간의 데이터와 t 구간의 데이터를 비교하여 t 구간이 끝날 때, 인덱스를 업데이트 하는 방법도 이상에서 설명한 바와 같다. 같은 방법으로 t 구간의 데이터와 t+1 구간의 데이터를 비교하여 t+1 구간이 끝날 때, 인덱스를 업데이트 할 수 있다.
도 6의 상기 권한 관리 시스템(100)의 캐시의 구축 방법은 상기 캐시에 삽입하기 위해 제1 쓰레스 홀드와 다른 제2 쓰레스 홀드를 이용하는 것을 제외하면 도 5를 참조하여 설명한 방식과 거의 동일하다.
전일 가장 많이 사용한 n개의 권한 있는 요청 인덱스를 선정한다 (단계 S10). 상기 전일 가장 많이 사용한 n개의 권한 있는 각 요청 인덱스에 따른 제1 점수를 부여한다 (단계 S20).
상기 최초 데이터와 상기 제2 기간에 동일한 요청 인덱스가 있는지 비교할 수 있다 (단계 S30). 상기 최초 데이터 중 상기 제2 기간 동안 상기 검색 횟수가 0이 아닌 경우 (단계 S40 - YES), 상기 제2 기간 동안의 상기 검색 횟수를 제2 점수로 설정하고 상기 제1 점수를 상기 제2 점수와 합산한다 (단계 S50). 상기 최초 데이터 중 상기 제2 기간 동안 상기 검색 횟수가 0인 경우 (단계 S40 - NO), 음의 값을 갖는 페널티 점수(q)를 상기 제2 점수로 설정하고 상기 제1 점수를 상기 제2 점수와 합산한다 (단계 S60). 본 실시예에서, 상기 패널티 점수(q)는 -5이다.
상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값을 기초로 상기 캐시의 상기 데이터가 업데이트될 수 있다. 예를 들어, 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드(p)보다 작은 인덱스는 상기 캐시로부터 삭제될 수 있다 (단계 S70). 본 실시예에서, 상기 제1 쓰레스 홀드(p)는 2일 수 있다.
도 6을 보면, INDEX 1은 제1 구간(전일)의 최초 구축 점수(제1 점수)가 10이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 5이므로, 상기 제2 구간(t-1)의 최종 점수(제1 점수+제2 점수)는 15점이다. INDEX 2는 제1 구간(전일)의 최초 구축 점수(제1 점수)가 9이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 4이므로, 상기 제2 구간(t-1)의 최종 점수는 13점이다. INDEX 3은 제1 구간(전일)의 최초 구축 점수(제1 점수)가 8이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 상기 패널티 점수인 -5이므로, 상기 제2 구간(t-1)의 최종 점수는 3점이다. INDEX 4는 제1 구간(전일)의 최초 구축 점수(제1 점수)가 7이고 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 2이므로, 상기 제2 구간(t-1)의 최종 점수는 3점이다.
이와 같은 식으로 계산하여, 상기 제2 구간(t-1)의 최종 점수가 상기 제1 쓰레스 홀드인 2보다 작은 인덱스는 상기 캐시로부터 삭제될 수 있다. 예를 들어, 도 6에서 INDEX 5, INDEX 6, INDEX 7, INDEX 9는 상기 제2 구간(t-1)의 최종 점수가 상기 제1 쓰레스 홀드보다 작아 상기 캐시에서 삭제된다.
상기 캐시에 저장되지 않은 일반 데이터베이스 영역에서 상기 제2 구간(t-1)의 검색 횟수 점수(제2 점수)가 높은 인덱스는 상기 제2 구간이 끝날 때, 상기 캐시 내로 삽입될 수 있다. 예를 들어, 상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제2 쓰레스 홀드(r=3)보다 크거나 같은 인덱스는 상기 캐시 내로 삽입될 수 있다.
본 실시예에서, 상기 제2 쓰레스 홀드(r=3)는 상기 캐시에서 삭제하기 위한 기준이 되는 상기 제1 쓰레스 홀드(p=2)와 상이할 수 있다. 본 실시예에서는 상기 제2 쓰레스 홀드(r=3)는 상기 제1 쓰레스 홀드(p=2)보다 높게 설정하는 경우를 예시하였다.
따라서, 도 6에서 INDEX 11, INDEX 12, INDEX 14는 상기 캐시 후보로 선정되는 반면, INDEX 13은 상기 캐시 후보로 선정되지 못한다. 상기 제2 기간(t-1)이 끝날 때, 상기 INDEX 11, INDEX 12, INDEX 14는 상기 캐시 내로 삽입되었다. 상기 제2 기간(t-1)이 끝나면, 상기 인덱스들은 상기 캐시 내에서 상기 제2 구간(t-1)의 최종 점수에 대해 내림차순으로 정렬된다.
이와 같이 상기 제2 쓰레스 홀드(r=3)를 상기 제1 쓰레스 홀드(p=2)보다 높게 설정하면, 상기 캐시에는 일정 이상의 검색이 이루어진 요청 인덱스만을 작성하여 캐시의 데이터의 신뢰성을 높일 수 있다.
이와는 달리, 상기 제2 쓰레스 홀드(r)는 상기 제1 쓰레스 홀드(p)보다 낮게 설정할 수 있다. 이와 같이 상기 제2 쓰레스 홀드(r)를 상기 제1 쓰레스 홀드(p)보다 낮게 설정하면, 상기 캐시에는 약간의 검색이 이루어진 요청 인덱스도 캐시에 작성되게 된다. 이 경우에는 새로 검색이 되기 시작한 인덱스를 빠르게 캐시에 반영할 수 있는 장점이 있다.
이상에서는 최초 구축 데이터와 t-1 구간의 데이터를 비교하여 t-1 구간이 끝날 때, 인덱스를 업데이트 하는 방법을 도시하였으며, t-1 구간의 데이터와 t 구간의 데이터를 비교하여 t 구간이 끝날 때, 인덱스를 업데이트 하는 방법도 이상에서 설명한 바와 같다. 같은 방법으로 t 구간의 데이터와 t+1 구간의 데이터를 비교하여 t+1 구간이 끝날 때, 인덱스를 업데이트 할 수 있다.
도 7은 도 3의 권한 관리 시스템(100)의 동기화 메시지 처리에 대한 흐름도이다. 도 8은 도 3의 업무 시스템(200)의 동기화 메시지 처리에 대한 흐름도이다.
도 1 내지 도 8을 참조하면, 상기 권한 관리 시스템(100)이 상기 캐시를 포함하고, 상기 업무 시스템(200)도 상기 로컬 캐시를 포함하는 경우, 상기 업무 시스템(200)의 상기 로컬 캐시는 상기 권한 관리 시스템(100)의 상기 캐시와 일관성을 가져야 한다.
상기 일관성을 갖추기 위해, 상기 권한 관리 시스템(100)은 상기 업무 시스템(200)에 동기화 메시지를 전송할 수 있다. 상기 권한 관리 시스템(100)은 상기 업무 시스템(200)에 동기화 메시지를 주기적으로 전송할 수 있다.
상기 동기화 메시지는 갱신 가능 메시지 및 EMPTY 메시지를 포함할 수 있다. 상기 권한 관리 시스템(100)은 상기 권한 관리 시스템(100)의 상기 접근 권한에 대한 정책이 변경되는 경우, 상기 업무 시스템(200)에 상기 갱신 가능 메시지를 전송한다. 반면, 상기 권한 관리 시스템(100)은 상기 권한 관리 시스템(100)의 상기 접근 권한에 대한 정책이 변경되지 않는 경우, 상기 업무 시스템(200)에 상기 EMPTY 메시지를 전송한다.
상기 업무 시스템(200)은 상기 권한 관리 시스템(100)의 상기 정책이 변경되었는지 확인하기 위해 상기 권한 관리 시스템(100)에 갱신 정보 요청 메시지를 전송할 수 있다.
상기 업무 시스템(200)으로부터 상기 갱신 정보 요청 메시지가 수신되는 경우, 상기 권한 관리 시스템(100)은 즉시 상기 갱신 가능 메시지 또는 상기 EMPTY 메시지를 전송하게 된다.
상기 권한 관리 시스템(100)의 동기화 메시지 처리를 정리하면 아래와 같다.
상기 권한 관리 시스템(100)은 상기 업무 시스템(200)으로부터 상기 갱신 정보 요청 메시지가 있는지 판단한다 (단계 S110).
상기 업무 시스템(200)으로부터 상기 갱신 정보 요청 메시지가 있으면 상기 권한 관리 시스템(100)은 상기 정책이 변경되었는지 확인한다 (단계 S120).
상기 정책이 변경된 경우이면, 상기 권한 관리 시스템(100)은 상기 업무 시스템(200)에 상기 갱신 가능 메시지를 전송한다 (단계 S140).
반면, 정책이 변경되지 않은 경우이면, 상기 권한 관리 시스템(100)은 상기 업무 시스템(200)에 상기 EMPTY 메시지를 전송한다 (단계 S150).
상기 업무 시스템(200)으로부터 상기 갱신 정보 요청 메시지가 없는 경우에 상기 권한 관리 시스템(100)은 일정 시간 x가 지났는지 판단한다 (단계 S130). 이는 상기 권한 관리 시스템(100)이 주기적으로 상기 동기화 메시지를 상기 업무 시스템(200)에 전송하기 위한 것이다. 상기 업무 시스템(200)으로부터 상기 갱신 정보 요청 메시지가 없고, 상기 일정 시간 x가 지나지 않는 경우에는 최초 단계 (단계 S110)로 돌아간다. 상기 업무 시스템(200)으로부터 상기 갱신 정보 요청 메시지가 없더라도, 상기 일정 시간 x가 지난 경우에는 상기 권한 관리 시스템(100)은 상기 정책이 변경되었는지 확인하는 단계 S120으로 이동한다.
상기 업무 시스템(200)의 동기화 메시지 처리를 정리하면 아래와 같다.
상기 업무 시스템(200)은 상기 권한 관리 시스템(100)으로부터 상기 동기화 메시지를 수신한다 (단계 S210).
상기 업무 시스템(200)은 상기 동기화 메시지가 EMPTY 메시지인지 갱신 가능 메시지인지 판단한다 (단계 S220).
상기 동기화 메시지가 EMPTY 메시지인 경우, 상기 업무 시스템(200)은 상기 로컬 캐시를 유지한다 (단계 S230).
상기 동기화 메시지가 갱신 가능 메시지인 경우, 상기 업무 시스템(200)은 상기 갱신 가능 메시지의 갱신 대상 중에 상기 로컬 캐시에 해당하는 내용이 있는지를 확인한다 (단계 S240).
상기 갱신 가능 메시지의 갱신 대상 중에 상기 로컬 캐시에 해당하는 내용이 없으면, 상기 업무 시스템(200)은 상기 로컬 캐시를 유지한다 (단계 S230).
상기 갱신 가능 메시지의 갱신 대상 중에 상기 로컬 캐시에 해당하는 내용이 있으면, 상기 업무 시스템(200)은 상기 갱신 가능 메시지의 지시에 따라 상기 로컬 캐시를 갱신한다 (단계 S250).
본 실시예에 따르면, 권한 관리 시스템의 통계를 이용하여 캐시를 구축하고, 일정 시간마다 상기 캐시를 업데이트하여 사용자 접근 제어를 위한 권한 관리 시스템의 부하를 감소시킬 수 있다.
또한, 업무 시스템은 로컬 캐시를 포함하며, 상기 로컬 캐시에 포함된 요청에 대해서는 상기 권한 관리 시스템으로 요청을 보내지 않고 상기 로컬 캐시를 통해 처리한다. 따라서, 상기 권한 관리 시스템 및 상기 업무 시스템 간의 네트워크 트래픽을 감소시킬 수 있다.
본 발명은 사용자 접근 제어를 위한 모바일 장치, 컴퓨터, 서버 및 시스템에 적용될 수 있다. 본 발명은 사용자 접근 제어가 필요한 다양한 시스템에서 널리 적용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
100: 권한 관리 시스템 200: 업무 시스템
220: 업무 시스템 1 240: 업무 시스템 2
260: 업무 시스템 3 280: 업무 시스템 4

Claims (17)

  1. 사용자의 식별자 및 자원의 식별자를 입력 받아 상기 사용자의 상기 자원에 대한 접근 권한을 판단하는 권한 관리 시스템;
    상기 사용자의 상기 자원에 대한 상기 접근 권한을 기초로 상기 사용자에게 상기 자원의 사용을 허락하는 업무 시스템을 포함하고,
    상기 권한 관리 시스템은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성하고,
    상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있는 경우, 상기 권한 관리 시스템은 상기 캐시를 기초로 상기 접근 권한을 출력하며,
    상기 캐시의 데이터는 상기 접근 권한이 있는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보를 포함하고,
    상기 캐시의 최초 데이터는 제1 기간 동안의 검색 횟수를 기초로 구축되고, 상기 제1 기간보다 짧은 제2 기간 동안의 검색 횟수를 이용하여 상기 제2 기간을 주기로 상기 캐시의 데이터가 업데이트되며,
    상기 제1 기간 동안의 상기 검색 횟수를 기초로 제1 점수를 설정하고,
    상기 제2 기간 동안의 상기 검색 횟수가 0이 아닌 경우, 상기 제2 기간 동안의 상기 검색 횟수를 제2 점수로 설정하고, 상기 제2 기간 동안의 상기 검색 횟수가 0인 경우, 음의 값을 갖는 페널티 점수를 상기 제2 점수로 설정하며,
    상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값을 기초로 상기 캐시의 상기 데이터가 업데이트되고,
    상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드보다 작은 인덱스는 상기 캐시로부터 삭제되는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템
  2. 삭제
  3. 제1항에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있지 않은 경우, 상기 권한 관리 시스템은 상기 사용자의 그룹, 상기 그룹의 역할, 및 상기 역할의 상기 자원의 접근 권한을 순차적으로 검색하여 상기 접근 권한을 출력하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 사용자의 식별자 및 자원의 식별자를 입력 받아 상기 사용자의 상기 자원에 대한 접근 권한을 판단하는 권한 관리 시스템;
    상기 사용자의 상기 자원에 대한 상기 접근 권한을 기초로 상기 사용자에게 상기 자원의 사용을 허락하는 업무 시스템을 포함하고,
    상기 권한 관리 시스템은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성하고,
    상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있는 경우, 상기 권한 관리 시스템은 상기 캐시를 기초로 상기 접근 권한을 출력하며,
    상기 캐시의 데이터는 상기 접근 권한이 있는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보를 포함하고,
    상기 캐시의 최초 데이터는 제1 기간 동안의 검색 횟수를 기초로 구축되고, 상기 제1 기간보다 짧은 제2 기간 동안의 검색 횟수를 이용하여 상기 제2 기간을 주기로 상기 캐시의 데이터가 업데이트되며,
    상기 제1 기간 동안의 상기 검색 횟수를 기초로 제1 점수를 설정하고,
    상기 제2 기간 동안의 상기 검색 횟수가 0이 아닌 경우, 상기 제2 기간 동안의 상기 검색 횟수를 제2 점수로 설정하고, 상기 제2 기간 동안의 상기 검색 횟수가 0인 경우, 음의 값을 갖는 페널티 점수를 상기 제2 점수로 설정하며,
    상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값을 기초로 상기 캐시의 상기 데이터가 업데이트되고,
    상기 제2 기간이 끝날 때, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제1 쓰레스 홀드보다 작은 인덱스는 상기 캐시로부터 삭제되고, 상기 제1 점수 및 상기 제2 점수를 합산한 값이 제2 쓰레스 홀드보다 크거나 같은 인덱스는 상기 캐시로 삽입되는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  9. 제8항에 있어서, 상기 제2 쓰레스 홀드는 상기 제1 쓰레스 홀드와 상이한 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  10. 사용자의 식별자 및 자원의 식별자를 입력 받아 상기 사용자의 상기 자원에 대한 접근 권한을 판단하는 권한 관리 시스템;
    상기 사용자의 상기 자원에 대한 상기 접근 권한을 기초로 상기 사용자에게 상기 자원의 사용을 허락하는 업무 시스템을 포함하고,
    상기 권한 관리 시스템은 상기 자원에 대한 상기 접근 권한에 대한 이전 검색 횟수를 기초로 캐시를 생성하고,
    상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 캐시에 저장되어 있는 경우, 상기 권한 관리 시스템은 상기 캐시를 기초로 상기 접근 권한을 출력하며,
    상기 캐시의 데이터는 상기 접근 권한이 있는 것으로 판단된 그룹 정보, 역할 정보 및 자원 정보를 포함하고,
    상기 업무 시스템은 상기 권한 관리 시스템의 상기 캐시에 동기화되는 로컬 캐시를 포함하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  11. 제10항에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있는 경우, 상기 업무 시스템은 상기 사용자의 식별자 및 상기 자원의 식별자를 상기 권한 관리 시스템에 전송하지 않는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  12. 제11항에 있어서, 상기 사용자의 식별자 및 상기 자원의 식별자에 대한 상기 접근 권한이 상기 로컬 캐시에 저장되어 있지 않은 경우, 상기 업무 시스템은 상기 사용자의 식별자 및 상기 자원의 식별자를 상기 권한 관리 시스템에 전송하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  13. 제11항에 있어서, 상기 로컬 캐시의 데이터는 상기 그룹 정보, 상기 역할 정보, 상기 자원 정보 및 상기 접근 권한 정보를 포함하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  14. 제10항에 있어서, 상기 권한 관리 시스템은 상기 업무 시스템에 제3 구간을 주기로 동기화 메시지를 전송하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  15. 제14항에 있어서, 상기 동기화 메시지는 갱신 가능 메시지 및 EMPTY 메시지를 포함하고,
    상기 권한 관리 시스템은 상기 권한 관리 시스템의 상기 접근 권한에 대한 정책이 변경되는 경우, 상기 업무 시스템에 상기 갱신 가능 메시지를 전송하고,
    상기 권한 관리 시스템은 상기 권한 관리 시스템의 상기 접근 권한에 대한 정책이 변경되지 않는 경우, 상기 업무 시스템에 상기 EMPTY 메시지를 전송하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  16. 제15항에 있어서, 상기 업무 시스템은 상기 권한 관리 시스템의 상기 정책이 변경되었는지 확인하기 위해 상기 권한 관리 시스템에 갱신 정보 요청 메시지를 전송하는 것을 특징으로 하는 캐시를 이용한 사용자 접근 제어 시스템.
  17. 삭제
KR1020160046895A 2016-04-18 2016-04-18 캐시를 이용한 사용자 접근 제어 시스템 및 방법 KR101718454B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160046895A KR101718454B1 (ko) 2016-04-18 2016-04-18 캐시를 이용한 사용자 접근 제어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160046895A KR101718454B1 (ko) 2016-04-18 2016-04-18 캐시를 이용한 사용자 접근 제어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101718454B1 true KR101718454B1 (ko) 2017-03-21

Family

ID=58502277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046895A KR101718454B1 (ko) 2016-04-18 2016-04-18 캐시를 이용한 사용자 접근 제어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101718454B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101993555B1 (ko) * 2018-03-05 2019-09-27 인하대학교 산학협력단 Rcc와 쿠쿠 해시 테이블을 이용한 lrfu 기반의 캐시 교체 방법 및 시스템
CN112257090A (zh) * 2020-10-28 2021-01-22 国寿投资控股有限公司 一种角色权限检查的方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065288A (ja) * 2007-09-04 2009-03-26 Ricoh Co Ltd 情報処理装置、機器情報通信プログラム及び情報処理装置管理システム
KR100984282B1 (ko) * 2010-03-04 2010-09-30 주식회사 이글루시큐리티 메모리캐쉬를 이용한 통합보안관리시스템
JP2012018553A (ja) * 2010-07-08 2012-01-26 Nec Corp 検索装置
JP2013242931A (ja) * 2013-09-12 2013-12-05 Hitachi Ltd 計算機システム、計算機リソースの管理方法及びプログラム
JP2014157631A (ja) * 2014-06-03 2014-08-28 Hitachi Ltd 計算機システム及び計算機リソースの管理方法
JP2014526744A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション リソースアクセスの権限付与

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065288A (ja) * 2007-09-04 2009-03-26 Ricoh Co Ltd 情報処理装置、機器情報通信プログラム及び情報処理装置管理システム
KR100984282B1 (ko) * 2010-03-04 2010-09-30 주식회사 이글루시큐리티 메모리캐쉬를 이용한 통합보안관리시스템
JP2012018553A (ja) * 2010-07-08 2012-01-26 Nec Corp 検索装置
JP2014526744A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション リソースアクセスの権限付与
JP2013242931A (ja) * 2013-09-12 2013-12-05 Hitachi Ltd 計算機システム、計算機リソースの管理方法及びプログラム
JP2014157631A (ja) * 2014-06-03 2014-08-28 Hitachi Ltd 計算機システム及び計算機リソースの管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101993555B1 (ko) * 2018-03-05 2019-09-27 인하대학교 산학협력단 Rcc와 쿠쿠 해시 테이블을 이용한 lrfu 기반의 캐시 교체 방법 및 시스템
CN112257090A (zh) * 2020-10-28 2021-01-22 国寿投资控股有限公司 一种角色权限检查的方法和系统

Similar Documents

Publication Publication Date Title
US11288282B2 (en) Distributed database systems and methods with pluggable storage engines
CN103019960B (zh) 分布式缓存方法及系统
US8126997B2 (en) Hot data management method based on hit counter
US10223506B2 (en) Self-destructing files in an object storage system
KR100791628B1 (ko) 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템
CN107301215B (zh) 一种搜索结果缓存方法及装置、搜索方法及装置
CN104731516A (zh) 一种存取文件的方法、装置及分布式存储系统
EP2541423B1 (en) Replacement policy for resource container
CN102640125A (zh) 分布式内容存储和取回
CN103338243A (zh) Web节点的缓存数据更新方法和系统
CN100589079C (zh) 一种数据共享的方法、系统和装置
CN104219069A (zh) 访问频率控制方法、装置及控制系统
CN105512320A (zh) 一种用户排名获得方法、装置及服务器
CN109254981B (zh) 一种分布式缓存系统的数据管理方法和装置
CN111400334A (zh) 数据处理方法、装置、存储介质及电子装置
KR101718454B1 (ko) 캐시를 이용한 사용자 접근 제어 시스템 및 방법
CN114064668A (zh) 用于存储管理的方法、电子设备和计算机程序产品
CN108241685B (zh) 数据查询的方法和查询客户端
CN111597259B (zh) 数据存储系统、方法、装置、电子设备及存储介质
KR101407630B1 (ko) 분산 파일 시스템 및 분산 파일 시스템의 캐쉬 데이터 대체방법
EP2856354B1 (en) Method and system for deleting obsolete files from a file system
JP7068210B2 (ja) データベース管理システム、端末装置及び方法
CN113138943A (zh) 一种处理请求的方法和装置
KR102460910B1 (ko) 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼
CN112307059B (zh) 一种排行榜管理方法、装置、计算机设备和存储介质

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: 20200305

Year of fee payment: 4

R401 Registration of restoration