KR100807354B1 - 통합계정 관리를 위한 실시간 규칙그룹 지원장치 - Google Patents

통합계정 관리를 위한 실시간 규칙그룹 지원장치 Download PDF

Info

Publication number
KR100807354B1
KR100807354B1 KR1020070067196A KR20070067196A KR100807354B1 KR 100807354 B1 KR100807354 B1 KR 100807354B1 KR 1020070067196 A KR1020070067196 A KR 1020070067196A KR 20070067196 A KR20070067196 A KR 20070067196A KR 100807354 B1 KR100807354 B1 KR 100807354B1
Authority
KR
South Korea
Prior art keywords
rule
group
user
editor
button
Prior art date
Application number
KR1020070067196A
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 KR1020070067196A priority Critical patent/KR100807354B1/ko
Priority to PCT/KR2007/003602 priority patent/WO2009005180A1/en
Application granted granted Critical
Publication of KR100807354B1 publication Critical patent/KR100807354B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다양한 형태의 최적화된 규칙그룹 지원을 위하여 사용자 인터페이스(UI)를 통해 시각적으로 규칙을 정의하고, 데이터베이스를 기반으로 복잡한 규칙 정의에 대하여 실시간 적용을 위한 장치에 관한 것으로서, 복잡한 조직 관리 요구가 증대되는 상황에서 사용자를 적절히 그룹으로 관리하는 필요성의 증가에 따라 개발된 것이다. 본 발명에 따른 장치는 관리자가 그룹의 멤버 사용자의 자격을 규칙으로 정의하면 시스템이 동적으로 규칙을 만족하는 사용자를 찾아서 멤버 사용자를 구성하는 동적그룹(dynamic group) 또는 규칙그룹(rule group) 방식을 지원한다. 즉, 본 발명에 따른 장치는 관리자가 멤버 사용자의 자격을 지정하는 규칙그룹 기능을 제공하며 다양한 규칙 지정 방식을 지원한다.

Description

통합계정 관리를 위한 실시간 규칙그룹 지원장치{Apparatus for real-time supporting rule group for integrated identity management}
본 발명은 다양한 형태의 최적화된 규칙그룹 등록 장치에 관한 것으로서, 보다 구체적으로는 사용자 인터페이스(UI)를 통해 시각적으로 규칙을 정의하고, 데이터베이스를 기반으로 복잡한 규칙 정의에 대하여 실시간 적용을 위한 장치에 관한 것이다.
복잡한 조직 관리 요구가 증대되는 상황에서 사용자를 적절히 그룹으로 관리하는 필요성이 증가되고 있다. 특히 정규직, 비정규직 등의 사용자 속성에 따른 그룹 구성의 필요성이 있다.
기존에 그룹 구성을 하기 위하여는 관리자가 사용자를 선택하여 그룹에 등록함으로써 그룹의 멤버 사용자를 구성한다. 이와 같이 관리자에 의해 규정되는 그룹을 정적 그룹(static group)이라고 한다. 그러나 관리자가 직접 사용자를 선택하여 그룹을 구성하는 기존 정적 그룹 방식의 그룹 관리로는 한계가 있을 수 밖에 없으며, 수많은 조직 및 사용자를 대상으로 진행하기에 부담이 되는 업무이며, 업무 효율성이 떨어진다. 또한 변경되는 사용자의 정보에 따라 즉각적인 그룹 변경이 불가 능하며, 따라서 배치 처리 등을 통한 주기적인 규칙 적용으로 실시간 적용성이 떨어진다.
이와는 달리 관리자가 그룹의 멤버 사용자의 자격을 규칙으로 정의하면 시스템이 동적으로 이 규칙을 만족하는 사용자를 찾아서 멤버 사용자를 구성하는 방식도 있는데 이를 동적그룹(dynamic group) 또는 규칙그룹(rule group)이라고 한다.
이러한 규칙그룹 방식으로 개발된 일부 제품은, 사용자의 요청에 따라 소속 그룹 정보를 동적으로 규칙을 적용하여 구하고 변경되는 사용자 정보에 따라 즉시 그룹 변경이 가능하여 종래의 정적그룹 방식의 문제점을 일부 해결할 수는 있으나, 요청이 있을 때마다 규칙을 적용해야 하므로 시스템 부하가 대단히 커서 소규모 조직 이외에 실제 사용되는 경우는 적다.
한편, 기존의 규칙그룹 적용 제품의 경우에, LDAP(light-weight directory access protocol) 기반의 디렉토리 제품 또는 LDAP를 사용하는 제품에 사용자의 속성에 따른 규칙 그루핑 기능이 제공되고 있다. 그러나 이들 종래의 제품에서는 속성에 대한 LDAP 질의어(Query) 수준을 규칙으로서 지원하는 정도이므로, 사용자의 다양한 그룹 관계를 지정하지 못할 뿐만 아니라 특정 조직 또는 그룹에 속한 사용자를 규칙의 대상으로 지정할 수 없다. 즉, 기존에는 LDAP의 질의어를 직접 기술해야 하는 방식으로, 규칙그룹을 정의해야 하는 사용자가 하위언어(low level language)에 대한 지식을 가져야 하므로 사용성이 대단히 떨어지는 문제가 있다.
본 발명은 사용자 정적 정의(즉, 관리자가 직접 정의), 그룹 규칙 및 사용자 규칙, 포함 및 제외 규칙을 지원함으로써 다양한 형태의 최적화된 규칙 정의방법을 지원하는 것을 목적으로 개발된 규칙그룹 지원장치를 제공하는 것이다.
본 발명에 따르면, 사용자 인터페이스(UI)를 통해 시각적으로 규칙을 정의하는 방법 및 데이터베이스를 기반으로 복잡한 규칙 정의에 대한 실시간 적용 기술이 개시된다.
상기 목적을 달성하기 위하여 본 발명은, 다양한 형태의 최적화된 규칙그룹 등록 장치에 관한 것으로서, 트리 구조를 이용한 집합 간의 논리 관계를 제공함으로써, 사용자가 트리를 이용하여 하위 집합들간의 논리 관계를 상위 노드로 구분하여 집합 연산을 직관적으로 지정할 수 있도록 하는 시각적 규칙정의를 위한 사용자 인터페이스(UI)를 갖는 규칙그룹 등록부를 포함하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치를 제공한다.
본 발명에 따르면, 실시간 규칙그룹 지원의 결과, 사용자 속성 뿐만 아니라 그룹 관계를 포함한 복잡한 조건을 만족하는 다양한 사용자 그룹을 효과적으로 정의할 수 있으며, 사용자 속성 및 그룹 관계의 변화에 즉시 대응하는 그룹을 운영할 수 있고, 최적의 규칙 적용 방법을 사용하여 시스템의 부하를 최소화함으로써 시스 템의 가용성을 높일 수 있다.
<규칙그룹 관리의 개념>
본 발명은 관리자가 그룹의 멤버 사용자의 자격을 규칙으로 정의하면 시스템이 동적으로 규칙을 만족하는 사용자를 찾아서 멤버 사용자를 구성하는 동적그룹(dynamic group) 또는 규칙그룹(rule group) 방식을 지원하는 기술을 적용한 장치에 관한 것이다. 즉, 본 발명에 따른 장치는 관리자가 멤버 사용자의 자격을 지정하는 규칙그룹 기능을 제공하며 다양한 규칙 지정 방법을 지원한다.
도 1은 본 발명 장치에 있어서 규칙그룹 등록정보를 조회하기 위한 사용자인터페이스 화면을 나타낸다. 도 1에서와 같이 규칙그룹 등록정보 조회 화면에는 상단에 네 개의 탭(그룹, 사용자, 멤버 그룹, 멤버 사용자)이 있다. 각 탭에서 조회할 수 있는 정보의 예는 아래 표와 같다.
설명
그룹 그룹의 속성, 규칙, 정책, 역할 등의 정보를 표시하며 그룹 고유의 관리 작업을 수행하는 영역이다.
사용자 일반 그룹과 같이 그룹에 관리자가 정적으로 지정한 사용자를 조회한다.
멤버 그룹 그룹 규칙을 만족하는 멤버 그룹을 조회한다.
멤버 사용자 사용자 규칙을 만족하는 사용자와 멤버 그룹에 소속된 사용자, 관리자가 직접 지정한 사용자를 더하여 규칙그룹의 최종 멤버로 등록된 사용자를 조회한다.
위 표의 설명에서와 같이 본 발명에 따른 장치에 의하면, 규칙그룹의 최종 멤버 사용자는 "{관리자가 직접 지정한 사용자}∪{멤버 그룹에 소속된 사용자}∪{사용자 규칙을 만족하는 사용자}" 집합이 된다.
'관리자가 직접 지정한 사용자'는, 기존의 정적 규칙에 따라 관리자에 의해 정적으로 지정된 사용자를 의미한다. 기존 규칙그룹은 사용자에 대한 멤버쉽 조건 만을 기술할 수 있기 때문에, 특정 사용자를 포함하기 위해서는 이를 조건 형태로 기술해야 한다. 따라서 포함해야 하는 특정 사용자가 많아질수록 규칙이 복잡해지고 규칙 적용에 시간이 많이 걸리므로 비효율적이다. 본 발명에서는 항상 규칙그룹에 포함되어야 하는 사용자를 정적 그룹에서와 같이 그룹에 관리자가 직접 포함시키도록 하는 기능을 제공함으로써 규칙 정의 및 적용에 대한 부담을 감소시킨다. 즉, 기존 규칙그룹은 동적인 특성만을 갖고 있는 반면에, 본 발명의 규칙그룹 방법은 정적인 그룹의 특성도 포함하고 있는 것이다.
'멤버 그룹에 소속된 사용자'는, 멤버 그룹을 구하기 위하여 정의된 규칙(그룹규칙)에 의해, 특정 레벨의 규칙 집합에 대한 연산을 재귀적으로 수행하여 구한 결과의 집합이 된다. 동등 레벨에서는 포함 집합에서 제외 집합을 뺀 결과 집합이 연산 결과이다. 그리고 멤버 그룹에 속한 사용자가 규칙그룹의 멤버가 된다.
'사용자 규칙을 만족하는 사용자'는, 사용자를 구하기 위한 규칙을 정의에 의해, 최종 결과 집합이 동등 레벨의 규칙 집합에 연산을 재귀적으로 수행하여 구한 결과 집합이 되며, 동등 레벨에서는 포함 집합에서 제외 집합을 뺀 결과 집합이 연산 결과이다.
이상에서 관리자가 직접 사용자를 지정하는 것은 종래의 정적 지정에 해당하는 것으로서, 본 발명의 설명에서는 논외로 하기로 한다.
그룹규칙과 사용자규칙을 포함하는 규칙 집합 정의 방법으로는 다음의 세 가지를 들 수 있다.
1) 속성에 의한 포함 규칙: 그룹의 이름, 코드, 상태 등의 속성을 정의하여 이를 만족하는 그룹을 규칙 집합으로 정의함,
2) 직접 지정에 의한 포함 규칙: 그룹을 선택하여 선택한 그룹 또는 하위를 포함한 그룹을 규칙 집합으로 정의함,
3) 직접 지정에 의한 제외 규칙: 그룹을 선택하여 선택한 그룹 또는 하위를 포함한 그룹을 제외 규칙 집합으로 정의함.
본 발명에서, 동등 레벨의 규칙 집합에 대해서는 제외 규칙의 결과가 우선하며 하위 집합의 연산 결과보다 상위 집합의 연산 결과가 우선한다.
규칙그룹의 멤버 사용자를 구하기 위해 규칙을 검사하는 과정은 고비용을 필요로 하므로, 관리자는 효율을 고려하여 최적의 규칙을 지정해야만 시스템 성능 감소를 최소화할 수 있다. 본 발명에 따른 시스템은 복잡한 규칙에도 고성능을 발휘하기 위한 최적화된 규칙 엔진을 제공하여 규칙그룹의 멤버를 배치작업을 통하여 구하는 기능 외에도 실시간으로 멤버를 갱신할 수 있으므로, 이를 적절히 활용하면 다양한 그룹을 효율적으로 구축할 수 있다.
<규칙그룹의 정의>
규칙그룹도 여느 그룹과 같이 취급하기 때문에 그룹이 갖는 다양한 속성을 갖고 기본적인 관리 기능을 제공하며 정책 및 역할을 지정하여 상속하게 할 수 있다. 여기에 규칙을 지정하기 위한 고유의 속성과 이를 적용하기 위한 추가적인 관리 기능을 제공한다. 아래 표는 규칙그룹 고유의 속성을 설명하고 있다.
항목 설명
그룹 규칙 - 멤버 그룹을 구하기 위한 규칙을 정의한다. - 최종 결과 집합은 동등 레벨의 규칙 집합에 대한 상위 레벨의 연산 결과를 재귀적으로 수행하여 구한 결과 집합이다. - 규칙 집합은 속성에 의한 속성 규칙, 직접 지정에 의한 포함 규칙, 직접 지정에 의한 제외 규칙으로 구성된다. 동등 레벨의 규칙 집합에 대해서는 제외 규칙의 결과가 우선하며 하위 집합의 연산 결과보다 상위 집합의 연산 결과가 우선한다. 즉, 동등 레벨 규칙에 의해 A 그룹이 포함 및 제외가 동시에 구해진 경우 제외 규칙이 우선함으로 A 그룹은 결과 집합에 포함되지 않는다. 그러나 상위 규칙에서 A 그룹이 포함된다면 A그룹은 최종 결과 집합에는 포함된다. - 동등 레벨에 포함 규칙 없이 제외 규칙만 존재하는 경우는 전체 그룹에서 제외 지정된 그룹을 제외한 결과가 결과 집합이 된다. 따라서 적절한 포함 규칙을 지정하지 않으면 연산에 많은 시간이 소요된다.
사용자 규칙 - 사용자를 구하기 위한 규칙을 정의한다. - 최종 결과 집합은 동등 레벨의 규칙 집합에 대한 상위 레벨의 연산 결과를 재귀적으로 수행하여 구한 결과 집합이다. - 규칙 집합은 그룹 규칙 집합과 사용자 규칙 집합으로 구성된다. * 그룹 규칙 집합은 그룹 규칙에서와 같이 사용자가 속한 그룹에 대해 그룹의 속성에 의한 규칙, 직접 지정에 의한 포함 규칙, 직접 지정에 의한 제외 규칙으로 구성되고, 결과 집합은 그룹으로 구성되지 않고 그룹에 속한 사용자로 구성된다. * 사용자 규칙 집합은 그룹 규칙 집합과 유사한 방식으로 사용자 속성에 의한 규칙, 직접 지정에 의한 포함 규칙, 직접 지정에 의한 제외 규칙으로 구성되고, 결과 집합은 규칙을 만족하는 사용자로 구성된다. - 동등 레벨 규칙 집합에 대해서는 제외 규칙이 우선한다. - 동등 레벨에 포함 규칙 없이 제외 규칙만 존재하는 경우 전체 사용자에서 제외에 지정된 사용자를 제외한 결과가 결과 집합이 된다. 따라서 적절한 포함 규칙을 지정하지 않으면 전체 사용자를 대상으로 하므로 많은 시간이 소요될 수 있다.
위에서 설명한 내용과 같이 속성에 의한 제외 규칙은 별도의 논리적인 식을 이용하여 포함 규칙으로 지정할 수도 있다. 예를 들어, 전체 사용자 중에서 '임시직'을 제외한 사용자를 멤버로 하는 규칙그룹을 지정하고 싶은 경우에는 '임시직'이 아닌 사용자를 포함하는 규칙그룹으로 해석하여 '임시직'이 아닌 사용자 포함을 규칙으로 지정하면 동일한 결과 집합을 갖게 된다.
도 2는 그룹 규칙을 정의하는 방법의 예를 나타낸다. 규칙그룹 정의의 결과는 도 2와 같이 계층적으로 표시하며, 직접 지정한 경우는 툴팁으로 정확한 그룹을 확인할 수 있다. 아래 표는 규칙그룹 고유의 관리 작업을 설명한다.
항목 설명
규칙 적용 현재 조회하고 있는 규칙그룹의 멤버를 다시 구한다.
전체 규칙 적용 모든 규칙그룹의 멤버를 다시 구한다.
<사용자인터페이스 관점에서 본 발명의 구성 및 작용>
1. 규칙그룹 등록부
도 1의 규칙그룹 등록부 화면의 그룹 탭의 상단에 있는 '추가' 버튼(11)을 클릭하면 도 3과 같은 규칙그룹 추가 페이지가 나타난다. 여기에서는 사용자가 규칙을 시각적으로 지정할 수 있도록 그룹규칙 편집기(31)와 사용자규칙 편집기(35)가 제공된다. 시각적 규칙 정의 방법이라 함은, 트리 구조를 이용한 집합 간의 논리 관계를 제공함으로써, 사용자가 트리를 이용하여 하위 집합들간의 논리 관계를 상위 노드로 구분하여 집합 연산을 직관적으로 지정할 수 있게 하는 것이다. 사용자는 이러한 시각적 규칙 정의를 쉽게 하기 위해 시각적 규칙 편집기를 이용하여, 그룹 선택 편집기를 통하여 그룹을 직접 지정할 수 있다. 또한 사용자 선택 편집기를 통하여 사용자를 직접 지정할 수 있다. 시각적 규칙정의 방법으로서는, 1) 트리를 이용한 집합 간의 논리 관계 표시(트리 구조를 이용하여 하위 집합들간의 논리관계를 상위 노드로 구분하여 집합 연산을 직관적으로 표시, 도 8 및 도 9 참조)와, 2) 속성 규칙 편집(in-order 형식으로 조건식을 직관적으로 편집, 도 14 참조)을 들 수 있다.
이하에서는 이들 그룹규칙 편집기(31)와 사용자규칙 편집기(35)를 규칙 편집기로써 공통 설명하고 나서, 각 규칙 유형별로 나누어 설명하기로 한다.
(1) 규칙 편집기
규칙은 도 3에 나타낸 규칙 편집기(31 또는 35)를 사용하여 다양한 하위 규칙 집합의 논리적인 조합으로 구성할 수 있으며 규칙 집합 간의 관계 수정 및 편집을 편리하게 수행할 수 있다. 도 4를 참조하여 규칙 편집기(31 또는 35)의 각 부분 설명 및 사용 방법에 대해서 설명한다.
도 4에서 '논리식 추가 위치' 버튼(위치 콤보)은 AND/OR 연산을 추가할 위치를 지정한다. 예를 들어, 하위를 선택하고 AND 버튼을 클릭하면 도 5와 같이 표시창(33)에 조건 노드가 추가된다. 도 6은, 위의 도 5의 상태에서 위치를 최상위로 지정하여 OR 버튼을 클릭한 경우로서, OR 논리 연산 노드가 최상위에 추가되는 것을 나타낸다. 도 7에서, 위치를 '수정'으로 선택한 후 AND 버튼을 클릭하면 현재 선택되었던 OR 노드가 AND로 변경된다.
다시 도 4로 돌아가, 'AND' 버튼은 AND 논리식을 상기 위치 콤보에서 지정한 방식으로 추가하거나 수정한다. 이 연산은 하위 노드에 대해 논리곱(∩)의 연산을 수행한 결과를 반환한다. 'OR' 버튼은 OR 논리식을 위치 콤보에서 지정한 방식으로 추가하거나 수정한다. 이 연산은 하위 노드에 대해 논리합(∪)의 연산을 수행한 결과를 반환한다. '집합 삭제' 버튼은 선택한 노드 및 하위 노드를 삭제한다.
한편, 이동에 관련된 기능은 다양한 방식으로 설계가능하다. 가령, 노드 계층 간의 이동을 드래그 & 드롭으로 수행하도록 할 수 있다. 예를 들어, 도 8에서 보는 것과 같이 그룹 제외 규칙을 최상위 AND 노드의 하위로 이동하기 위해서는, 그룹 제외 노드를 마우스로 끌어서(drag) AND 노드 위에 놓으면(drop) 된다. 이와 같이 하면 규칙 집합 뿐만 아니라 하위 트리 전체가 이동되므로 복잡한 식의 이동이 가능하다.
다시 도 4에서, '조건 대상 선택' 버튼은 규칙 종류에 따라 사용자규칙 또는 그룹규칙을 선택한다(즉, 도 3에서 31, 35).
'규칙 종류 선택' 창은 속성, 포함, 또는 제외 중에서 선택할 수 있도록 되어 있다.
'집합 수정' - 규칙 편집기에서 AND/OR를 제외한 노드를 선택하면 해당 집합을 편집할 수 있는 편집기가 규칙 편집기 하단에 표시된다. 집합 편집기의 편집을 완료하면 해당 집합으로 현재 선택된 노드를 수정할 필요가 있는데, 이때 '집합 수정' 버튼을 클릭하면 현재 선택된 노드에 변경된 규칙이 적용된다.
또한, 조건 대상과 규칙 종류를 선택해 규칙을 편집하여 '집합 추가' 버튼을 클릭하면 현재 선택된 AND/OR 노드의 하위로 집합을 추가한다. 규칙 편집기에 아무 규칙이 없는 경우에는 최상위 노드로 집합이 추가되며, 최상위 노드에 AND/OR가 아닌 일반 규칙 집합이 있는 경우에 '집합 추가' 버튼을 클릭하면 최상위 노드 값을 덮어쓴다(overwrite).
'규칙 최적화' 버튼: 도 8에서, 규칙이 실행될 때는 AND/OR 노드로 구성된 노드의 깊이가 수행 성능에 적지 않은 영향을 미친다. 따라서 불필요한 노드 깊이를 줄일 필요가 있고 이 부분에서 규칙 최적화가 필요하다. 즉, 도 8에서와 같이 규칙그룹 집합이 하나인 OR 트리에서 OR 노드는 의미가 없다. 한편, 도 9의 경우에 관리자가 직접 규칙을 수정할 수 있지만, '규칙 최적화' 버튼을 클릭하면 아래와 같이 불필요한 조건식을 단순화시켜 최적의 조건 쿼리를 생성할 수 있게 한다.
이제, 도 3에 나타낸 그룹규칙 편집기(31)와 사용자규칙 편집기(35)에 대해서 각각 상세하게 설명한다.
(2) 그룹 규칙 편집
멤버 그룹을 구하기 위한 규칙을 정의하는 것으로서, 최종 결과 집합은 동등 레벨의 규칙 집합에 대한 연산을 재귀적으로 수행하여 구한 결과의 집합이 된다. 동등 레벨에서는 포함 집합에서 제외 집합을 뺀 결과 집합이 연산 결과이다. 그리고 멤버 그룹에 속한 사용자가 규칙그룹의 멤버가 된다.
규칙 집합 정의 방법으로는 다음의 세 가지를 들 수 있다.
1) 속성에 의한 포함 규칙: 그룹의 이름, 코드, 상태 등의 속성을 정의하여 이를 만족하는 그룹을 규칙 집합으로 정의함.
2) 직접 지정에 의한 포함 규칙: 그룹을 선택하여 선택한 그룹 또는 하위를 포함한 그룹을 규칙 집합으로 정의함.
3) 직접 지정에 의한 제외 규칙: 그룹을 선택하여 선택한 그룹 또는 하위를 포함한 그룹을 제외 규칙 집합으로 정의함.
본 발명에서, 동등 레벨의 규칙 집합에 대해서는 제외 규칙의 결과가 우선하며 하위 집합의 연산 결과보다 상위 집합의 연산 결과가 우선한다.
각각에 대한 편집기 UI는 아래와 같다.
(가) 그룹 속성 편집기- 도 10
도 3의 그룹규칙 편집기(31)에서 '속성 편집 선택' 버튼을 누르면 박스 영역 의 그룹속성 편집창(33)이 표시된다. 그룹속성 편집창(33)에서는 버튼과 값입력창을 이용하여 속성 규칙을 편집할 수 있다. 'AND' 버튼은 식 선택 커서 부분에 AND 연산자를 추가한다(도 11). 'OR' 버튼은 식 선택 커서 부분에 OR 연산자를 추가한다(도 12). '삭제' 버튼은 선택한 식을 삭제한다.
'속성 선택' 버튼은 조건 평가에 사용할 그룹 속성을 선택하는데, 조건 평가에 사용할 그룹 속성은 특정 파일(가령, conf.xml)에서 선택할 수 있다.
'연산자 선택' 버튼은 평가 연산자를 선택한다. 여기서, 비교 연산자의 경우에는 문자열 연산을 수행하므로 수치 비교는 피하도록 한다(본 발명의 일실시예에 따르면 숫자로만 된 문자열일 경우 숫자 비교를, 한쪽이 문자가 있는 경우는 문자 비교를 수행한다). 연산자는 =(동등 비교), <(좌변이 작은 경우), <=(좌변이 작거나 같은 경우), >(좌변이 큰 경우), >=(좌변이 크거나 같은 경우), <>(두 변이 다른 경우), like(속성값의 일부가 비교값인 경우), begins(속성값이 비교값으로 시작하는 경우) 등을 설정할 수 있다.
'값입력/선택' 박스는 비교값을 입력하는데, 조건 속성이 선택적인 값을 갖는 경우는 도 13과 같이 선택 박스를 통하여 원하는 값을 선택할 수 있다.
'지정' 버튼은 입력한 식을 도 14와 같이 식 선택 커서 부분에 지정한다. 식을 지정하면 식 선택 커서는 다음 평가식 입력 위치로 자동 이동하므로 관리자는 연속적인 수식을 편리하게 지정할 수 있다.
속성을 지정하고 규칙 편집기의 '추가' 버튼을 클릭하면 입력한 규칙 집합이 도 15와 같이 추가된다.
(나) 그룹 포함 편집기 - 도 16
도 4의 규칙 편집기에서 규칙종류 선택창에 '포함'을 선택하면 도 16과 같이 그룹선택 편집기가 표시된다. 위의 그룹 선택 편집기에서는 다음 버튼을 사용하여 그룹을 선택한다.
버튼 설명
◀추가 그룹 조회 UI에서 선택한 그룹을 규칙에 추가한다.
◀하위 그룹 조회 UI에서 선택한 그룹을 하위 그룹을 포함하여 규칙에 추가한다.
▶삭제 추가한 그룹을 삭제한다.
그룹을 선택하고 규칙 편집기의 '추가' 버튼을 클릭하면 도 17과 같이 지정한 포함 그룹 집합이 추가된다.
(다) 그룹 제외 편집기 - 도 18
도 4의 규칙 편집기에서 규칙종류 선택창에 '제외'를 선택하면 도 18과 같이 그룹 제외 편집기가 표시된다. 이 제외 규칙 그룹 편집기는 그룹 포함의 경우와 마찬가지로 다음 버튼을 사용하여 그룹을 선택한다.
버튼 설명
추가 그룹 조회 UI에서 선택한 그룹을 규칙에 추가한다.
◀하위 그룹 조회 UI에서 선택한 그룹을 하위 그룹을 포함하여 규칙에 추가한다.
▶삭제 추가한 그룹을 삭제한다.
그룹을 선택하고 규칙 편집기의 '추가' 버튼을 클릭하면 도 19와 같이 지정한 제외 그룹 집합이 추가된다.
(3) 사용자 규칙 편집
사용자를 구하기 위한 규칙을 편집한다. 최종 결과 집합은 동등 레벨의 규칙 집합에 연산을 재귀적으로 수행하여 구한 결과 집합의 집합이며, 동등 레벨에서는 포함 집합에서 제외 집합을 뺀 결과 집합이 연산 결과이다.
사용자 규칙 집합은, 1) 사용자 속성에 의한 포함 규칙(사용자 이름, 코드, 상태 등의 속성을 정의하여, 이를 만족하는 사용자를 규칙 집합으로 정의), 2) 직접 지정에 의한 포함 규칙(사용자를 선택하여 이를 포함 규칙 집합으로 정의), 3) 직접 지정에 의한 제외 규칙(사용자를 선택하여 이를 제외 규칙 집합으로 정의)을 포함한다.
도 3의 사용자 규칙 편집기(35)는 사용자가 속한 그룹을 대상으로 속성 규칙, 포함 규칙, 제외 규칙을 편집할 수 있고, 사용자를 대상으로 속성 규칙, 포함 규칙, 제외 규칙을 편집할 수 있다. 속성 규칙 편집기는 In-order 형식으로 조건식을 직관적으로 편집할 수 있도록 구성할 수 있다.
그룹을 대상으로 하는 경우는 그룹 규칙 편집과 동일한 방법으로 규칙을 지정할 수 있으므로 여기서는 사용자 규칙을 편집하는 부분을 살펴본다.
(가) 사용자 속성 편집기 - 도 20
규칙 편집기에서 사용자규칙의 속성 편집을 선택하면 사용자 속성 편집창(37)이 표시된다. 사용자 속성 편집창(37)에서는 버튼과 값입력창을 이용하여 속성 규칙을 편집할 수 있고 사용 방법은 그룹 속성 편집창(33)에서의 편집 방법과 동일하다. 다만 조건 속성에 그룹 속성 대신 사용자 속성이 표시되는 점이 다르므로 동일한 방법으로 규칙을 편집할 수 있다. 속성을 지정하고 규칙 편집기의 '추가' 버튼을 클릭하면 도 21과 같이 입력한 규칙 집합이 추가된다.
(나) 사용자 포함 편집기
규칙 편집기에서 '포함'을 선택하면 도 22와 같이 사용자 선택 편집기가 표시된다. 사용자 선택 편집기는 아래 표와 같은 방식으로 사용한다.
버튼 설명
그룹 조회 UI - 그룹 조회 UI에서 조직 또는 그룹 탭을 선택하여 조회하려는 조직/그룹 종류를 선택한다. - 트리 또는 리스트에서 조회하려는 그룹을 클릭하면 우측의 사용자 목록에 해당 그룹 소속의 사용자 목록이 표시된다. - 검색창에 검색어를 입력하고 엔터를 입력하면 해당 검색어로 시작하는 그룹명의 그룹이 검색되고, 결과 목록에서 그룹을 선택하면 마찬가지로 그룹 소속 사용자가 오른쪽에 표시된다.
사용자 조회 UI - 그룹 트리 UI 에서 그룹을 선택하면 그룹 소속 사용자 목록을 표시한다. - 검색 기준(사용자 명, 로그인 ID 등)과 검색어를 입력하여 '검색' 버튼을 클릭하면 해당 검색어로 시작하는 사용자 목록을 표시한다. - 사용자 명을 클릭하면 선택한 사용자에 사용자가 추가된다. 이미 추가된 사용자는 다시 추가되지 않는다.
삭제 - 선택한 사용자 목록에서 삭제할 사용자를 선택하고(다중 선택 가능) '삭제' 버튼을 클릭하면 목록에서 삭제된다.
사용자를 선택하고 규칙 편집기의 '추가' 버튼을 클릭하면 도 23과 같이 지정한 사용자 포함 그룹 집합이 추가된다.
(다) 사용자 제외 편집기
규칙 편집기에서 '제외'를 선택하면 사용자 선택 편집기가 표시된다. 사용자 선택 편집기의 사용은 사용자 포함 편집의 경우와 동일하고, 사용자 선택 후 규칙 편집기의 '추가' 버튼을 클릭하면 도 24와 같이 지정한 사용자 제외 그룹 집합이 추가된다.
이상에서 설명한 규칙 정의 방법에 대한 제한 사항을 다음과 같이 설정한다. 그룹 규칙 지정시에는 동등 레벨에 포함 규칙 없이 제외 규칙만 존재하는 경우는 전체 그룹에서 제외에 지정된 그룹을 제외한 결과가 결과 집합이 된다. 왜냐하면, 적절한 포함 규칙을 지정하지 않으면 전체 그룹을 대상으로 하므로 규칙 적용에 많은 시간이 소요되기 때문이다. 사용자 규칙 지정시에는, 동등 레벨에 포함 규칙 없이 제외 규칙만 존재하는 경우 전체 사용자에서 제외에 지정된 사용자를 제외한 결과가 결과 집합이 된다. 적절한 포함 규칙을 지정하지 않으면 전체 사용자를 대상으로 하므로 규칙 적용에 많은 시간이 소요되기 때문이다.
2. 규칙그룹 수정
규칙그룹 등록 조회 화면(도 3)에서 '수정' 버튼을 클릭하면 도 25와 같은 규칙그룹 수정 페이지가 나타난다. 일반 속성은 일반 그룹과 동일한 방식으로 값을 지정하고, 규칙을 지정하는 부분은 규칙그룹 추가의 경우와 마찬가지로 시각적으로 규칙을 지정할 수 있는 규칙 편집기를 제공한다.
3. 멤버 그룹 조회
규칙그룹 등록 조회 화면(도 3)에서 '멤버 그룹' 탭을 클릭하면 현재의 규칙그룹에 속한 그룹 목록을 표시한다(도 26 참조). 멤버 그룹은 그룹 규칙을 만족하는 그룹을 말하며, 사용자 규칙에 기술한 그룹 관련 규칙을 만족하는 그룹은 멤버 그룹에 표시하지 않는다. 검색 기준을 지정하고 검색어를 입력한 후 '검색' 버튼을 클릭하면 현재 규칙그룹 내의 멤버 그룹 중에서 검색어로 시작하는 멤버 그룹을 구한다. 검색 기준은 별도의 특정 파일(가령, conf.xml)에서 변경할 수 있다.
4. 멤버 사용자 조회
규칙그룹 등록 조회 화면(도 3)에서 '멤버 사용자' 탭을 클릭하면 현재의 규칙그룹에 속한 사용자 목록을 표시한다(도 27 참고). 멤버 사용자는 {사용자}∪{멤버 그룹에 속한 사용자}∪{사용자 규칙을 만족하는 사용자} 목록을 조회한다.
검색 기준을 지정하고 검색어를 입력한 후 '검색' 버튼을 클릭하면 현재 규칙그룹 내의 멤버 사용자 중에서 검색어로 시작하는 멤버 사용자를 구한다. 검색 기준에 따라 검색어 입력이 아니라 검색 값을 선택할 수도 있으며, 검색 기준은 별도의 특정 파일(가령, conf.xml)에서 변경할 수 있다.
위에서는, 사용자인터페이스(UI) 관점에서 본 발명의 구성 및 작용을 상세히 설명하였다. 이하에서는 본 발명에 따른 실시간 규칙그룹 지원 장치 및 방법(정의, 편집, 저장 등)의 구현을 위해 적용된 기술적 수단에 대해서 설명하고자 한다.
1. 규칙저장 방법
(1) 상술한 규칙 데이터들은 XML과 테이블을 활용하여 효과적인 방법으로 분리하여 저장하는데, 규칙을 아래와 같은 DTD(data type definition)를 이용한 XML 형식으로 저장한다. 테이블을 사용할 때는 테이블 구조나 레코드 구조에 얽매여 정의할 수 있는 규칙 형태가 제한적이지만, XML을 사용하면 이에 상관없이 복잡한 규칙을 계층적 구조 형태로 자유롭게 정의할 수 있는 장점이 있다.
Figure 112007048922826-pat00001
(2) 속성 규칙과 직접 지정한 규칙을 별도로 저장한다. 속성 규칙은 다음과 같은 방식으로 prop 노드의 expr 속성에 지정한다.
Figure 112007048922826-pat00002
직접 지정한 그룹 또는 사용자는 in 또는 ex 노드에 값을 기록하는데, 실제 지정한 값은 데이터베이스 테이블에 저장하고, in/ex 노드는 해당 정보의 키만을 저장한다. 즉, 아래 그림과 같이 저장한다. 테이블의 ID는 직접 지정한 그룹 또는 사용자의 ID이며, 그룹 또는 사용자가 삭제되는 경우 테이블에서 삭제하는 것만으로 XML로 저장되는 규칙 정보를 재구성할 필요가 없이 간단히 규칙을 변경할 수 있다.
Figure 112007048922826-pat00003
2. 실시간 적용 기술
(1) 규칙그룹 멤버 저장 방법
기존 규칙의 저장 방법 중에서 정적 저장 방법은 그룹 멤버 확인에 탁월한 성능을 발휘한다. 본 기술에서는 정적 저장 방법과 같이 미리 그룹의 멤버를 계산하여 결과를 저장하되, 규칙에 따라 3 가지 형태로 분산 저장하여 저장 효율을 높이고, 저장하는 레코드 건수를 최적화함으로써 정적 저장 방법이 갖는 비효율성을 최소화하도록 하였다. 앞에서 언급한 바와 같이 규칙그룹 소속 사용자는 [(멤버 그룹 소속 사용자)∪(멤버 사용자)∪(멤버 정적 사용자)]이다.
(2) 규칙그룹 동작 방식
그룹, 사용자의 추가, 변경 등에 따라 다음 알고리즘을 수행한다.
Figure 112007048922826-pat00004
위 알고리즘을 얼마나 효율적으로 수행하는가가 실시간 적용 가능성을 판단하는 기준이 된다.
(2) 규칙그룹 구현 방법
최적의 성능을 구현하기 위하여 데이터베이스를 기반으로 규칙그룹을 구현한다(LDAP는 엔티티 간의 Join을 지원하지 않으므로 대단히 부적합한 저장소임). 도 28에서와 같이, XML로 저장된 규칙은 SQL 빌더(Builder) 컴포넌트(42)에 의하여 정적 SQL(static SQL, parametered SQL)(44)로 변환된다(parsing). 이 때 관리 작업에 따라 규칙최적화 컴포넌트(Rule Optimizer)(48)가 최적의 변환 파라미터를 설정하여 최적의 SQL을 생성할 수 있게 한다. 관리 작업은 그룹의 추가/수정/이동, 사용자의 추가/수정/복사/이동 등의 작업이다.
도 28에서 SQL 빌더(42)의 동작알고리즘을 도 28a~g를 참조하여 설명한다.
도 28a는 SQL 빌더(42)의 동작을 개괄적으로 표시하는 것으로서, SQL Builder 컴포넌트(42)는 XML로 구성된 조건 규칙(40)을 입력으로 노드를 조회하여 노드의 종류에 따라 각각 BuildUserSQL(422) 또는 BuildGroupSQL(423) 함수를 호출한다.
도 28b는 BuildUserSQL(422)의 동작알고리즘을 나타내는 것으로서, 사용자의 속성, 포함, 소속 그룹 관계에 대한 조건 정의를 이용하여 사용자를 구하는 SQL을 생성한다. 노드가 존재하는지 체크하여(4221) 노드가 존재하면 노드종류를 체크한다(4222). 노드 종류에 따라서 AND 조건 또는 OR 조건에 따라 생성하는 SQL의 방식이 다르므로, 그에 따라 각각 BuildUserAndSQL(4223), BuildUserOrSQL(4224) 함수를 호출한다. 노드 종류가 관계노드의 경우에, 하위에 노드가 있는 경우(4225)는 BuildUserSQL(422)을 재귀적으로 호출한다(4226).
도 28c는 BuildUserAndSQL(4223)의 동작알고리즘이다. AND 조건 형태로 기술된 사용자의 속성, 포함, 소속 그룹 관계 정의를 이용하여 사용자를 선택하는 SQL을 생성하는데, SQL은 조건의 연속 형태로 구성되며 모든 조건을 만족하는 사용자를 선택한다. 조건 가운데 사용자 관계 노드가 있는 경우는 BuildUserSQL(422) 함수를 재귀적으로 호출한다. 조건 가운데 그룹 속성 또는 그룹 포함 조건이 있는 경우는 BuildGroupSQL 함수를 호출한다.
도 28d는 BuildUserOrSQL(4224)의 동작알고리즘이다. BuildUserOrSQL은 조건을 만족하는 모든 사용자 집합을 구하여 합집합을 구하는 SQL을 생성한다. 조건 가 운데 사용자 관계 노드가 있는 경우는 BuildUserSQL(422) 함수를 재귀적으로 호출한다. 조건 가운데 그룹 속성 또는 그룹 포함 조건이 있는 경우는 BuildGroupSQL(423) 함수를 호출한다.
도 28e는 BuildGroupSQL(423)의 동작알고리즘이다. BuildGroupSQL(423)은 그룹의 속성, 포함, 소속 그룹 관계에 대한 조건 정의를 이용하여 그룹을 구하는 SQL을 생성한다. AND 조건 또는 OR 조건에 따라 생성하는 SQL의 방식이 다르므로, 그에 따라 각각 BuildGroupAndSQL(4231)과 BuildGroupOrSQL(4232) 함수를 호출한다. 하위에 노드가 있는 경우는 BuildGroupSQL(423)을 재귀적으로 호출한다.
도 28f는 BuildGroupAndSQL(4231)의 동작알고리즘이다. BuildGroupAndSQL(4231)은 AND 조건 형태로 기술된 그룹의 속성, 포함관계 정의를 이용하여 그룹을 선택하는 SQL을 생성한다. SQL은 조건의 연속 형태로 구성되며 모든 조건을 만족하는 그룹을 선택한다. 조건 가운데 그룹 관계 노드가 있는 경우는 BuildGroupSQL(423) 함수를 재귀적으로 호출한다.
도 28g는 BuildGroupOrSQL(4232)의 동작알고리즘이다. BuildGroupOrSQL(4232)은 조건을 만족하는 모든 그룹 집합을 구하여 합집합을 구하는 SQL을 생성한다. 조건 가운데 그룹 관계 노드가 있는 경우는 BuildGroupSQL(423) 함수를 재귀적으로 호출한다.
(3) 실시간 적용 방법
다시 도 28로 돌아가, 도 28의 Rule Optimizer(48)는 다음과 같은 3 단계로 규칙 적용을 최적화한다(도 29 참조).
1단계: 조건 쿼리 최적화
이 때의 (수행 시간)=(건별 수행시간)이 되는데, 건별 수행시간을 최소화하기 위한 단계로서, 각 건은 규칙을 적용해야 하는 규칙그룹 수를 나타낸다. 각 건별 수행 시간은 각 규칙그룹 별로 정의된 규칙을 SQL로 변환하여 실행하는 시간을 말한다. 규칙 적용하는 시간을 최소화하기 위하여 SQLBuilder는 다음과 같은 최적화를 수행한다. 1) 각 규칙 집합은 하나의 서브 쿼리로 변환된다. 2) 동일한 유형의 규칙 집합은 하나의 규칙 집합으로 통합한다. 즉, 그룹 포함 규칙 1 과 그룹 포함 규칙 2 가 동일 레벨에 존재하면 이들을 한 개의 그룹 포함 규칙으로 통합한 후 쿼리를 생성한다. 3) 검색 범위가 넓은 경우는 인덱스를 사용하지 않도록 조정한다.
2단계: 조직/사용자 변경시 갱신할 규칙그룹 건수 최소화
이 때의 (수행 시간) = (갱신 건수) X (건별 수행 시간)이 되는데, 갱신 건수의 최소화를 위한 단계로서, 갱신 건수는 갱신할 규칙그룹 수를 의미한다. RuleOptimizer는 갱신할 규칙그룹수를 최소화 하기 위해 도 30과 같은 방식으로 최적화를 수행한다. 1) 그룹 추가 시에는 규칙그룹 중에서 그룹 규칙에 속성 포함 규칙을 지정한 규칙그룹에 대해서만 갱신하는 것을 의미한다. 추가하는 그룹의 상위 그룹이 직접 지정된 경우에는 추가하는 그룹이 규칙그룹 멤버로 포함된다(ⓐ). 사용자 추가시 소속 그룹의 속성/직접 지정에 따라 규칙그룹 멤버 포함 여부가 결정된다(ⓑ). 특정 그룹이 소속 그룹을 변경했을 때(oldParID!=newParID), oldParID 및 newParID의 상위가 동일하게 하위 포함 그룹 멤버로 지정된 규칙그룹에 대해서는 소속 멤버를 다시 갱신하지 않는다. 그 외의 그룹에 대해서(멤버 트리가 변경된 경우)는 규칙그룹에 대한 갱신을 수행한다(ⓒ).
3단계: 규칙그룹 갱신시 갱신 레코드 수 최소화(도 31 참조)
갱신 레코드는 규칙그룹의 멤버를 저장하는 테이블에서 갱신할 레코드, 즉 멤버로 지정되는 사용자 ID를 갖는 레코드를 말하는 것으로, 적은 수의 레코드 갱신이 빠른 점을 활용한 최적화 방법이다.
ⓓ: 수정하는 그룹 G 를 멤버에서 삭제한 후, G 에 대해서만 규칙을 적용한다.
ⓔ: 수정하는 그룹 G 에 속한 사용자를 삭제한 후, G 에 속한 사용자에 대해서만 규칙을 적용한다.
ⓕ: 이동하는 그룹 G 및 하위 그룹을 삭제한 후, G 및 하위 그룹에 속한 그룹에 대해서만 규칙을 적용한다.
ⓖ: 이동하는 그룹 G 및 하위 그룹 소속 사용자를 삭제한 후, G 및 하위 그룹에 속한 사용자에 대해서만 규칙을 적용한다.
ⓚ: 멤버 그룹 삭제 없이 추가하는 그룹 G 에 대해서만 규칙을 적용한다.
ⓗ: 사용자 U 에 대해 삭제한 후, U 에 대해서만 규칙을 적용한다.
ⓜ: 멤버 사용자 삭제 없이 추가하는 사용자 U 에 대해서만 규칙을 적용한다.
(3) 관리자의 규칙 기술 방법에 따른 최적화
기존 규칙그룹의 규칙 지정 방법은 한계가 있기 때문에 관리자가 최적의 조건을 기술하는 데 한계가 있다. 제시하는 방법은 복잡한 규칙을 효과적으로 기술할 수 있기 때문에 다음과 같은 방법을 통하여 관리자가 규칙 자체를 효율적으로 기술할 수 있다(이에 대해서는 도 32를 참조).
속성을 만족하는 집합을 제외한 나머지를 결과로 구하고 싶은 경우는 속성의 반대를 지정한다. 즉, 상태가 '1' 또는 '2'인 사용자를 제외한 나머지 사용자 = (상태 < > '1') AND (상태 < > '2'). 사용자 규칙 보다는 그룹 규칙을 사용함으로써, 결과 집합을 최소화한다. 그리고 사용자 가입/탈퇴가 필요한 경우, 사용자 규칙 지정보다 사용자 그룹 소속을 사용하여 규칙 적용을 위한 쿼리를 최소화한다. 속성에 의한 집합 간의 논리 연산은 하나의 속성 규칙으로 기술한다.
한편, 지금까지 설명한, 본 발명의 장치는 실제로 컴퓨터 프로그램에 의해 구현될 수 있고, 이 프로그램은 컴퓨터 기록 매체에 저장될 수 있다. 컴퓨터 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, ROM, RAM, CD, DVD-ROM, 자기테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 인터넷을 통한 전송의 형태로 구현되는 것도 여기에 포함된다. 즉, 이러한 기록매체는 네트웍으로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
도 1은 규칙그룹 등록정보를 조회하기 위한 사용자인터페이스 화면
도 2는 그룹 규칙을 정의하는 방법의 예시도
도 3은 규칙그룹 추가페이지 예시도
도 4는 규칙 편집기의 각 부분 설명 및 사용 방법을 설명하기 위한 화면
도 5~9는 규칙 편집기의 표시창
도 10은 그룹속성 편집기의 사용자인터페이스 화면
도 11~15는 그룹속성 편집창
도 16, 17은 그룹포함 편집기의 사용자인터페이스 화면
도 18, 19는 그룹제외 편집기의 사용자인터페이스 화면
도 20, 21은 사용자속성 편집기의 사용자인터페이스 화면
도 22, 23은 사용자포함 편집기의 사용자인터페이스 화면
도 24는 사용자제외 편집기의 사용자인터페이스 화면
도 25는 규칙그룹 수정을 위한 사용자인터페이스 화면
도 26은 멤버그룹 조회를 위한 사용자인터페이스 화면
도 27는 멤버사용자 조회를 위한 사용자인터페이스 화면
도 28 ~ 도 28g는 규칙그룹 구현 방법의 설명을 위한 구성도
도 29는 도 28의 RuleOptimizer의 규칙 적용을 최적화 설명을 위한 흐름도
도 30은 조직/사용자 변경시 갱신할 규칙그룹 건수 최소화를 설명하기 위한 도표
도 31은 규칙그룹 갱신시 갱신 레코드 수 최소화를 설명하기 위한 도표
도 32는 관리자의 규칙 기술(description) 방법을 설명하기 위한 도면

Claims (9)

  1. 다양한 형태의 최적화된 규칙그룹 등록 장치에 관한 것으로서, 트리 구조를 이용한 집합 간의 논리 관계를 제공함으로써, 사용자가 트리를 이용하여 하위 집합들간의 논리 관계를 상위 노드로 구분하여 집합 연산을 직관적으로 지정할 수 있도록 하는 시각적 규칙정의를 위한 사용자 인터페이스(UI)를 갖는 규칙그룹 등록부를 포함하고,
    상기 규칙그룹 등록부의 사용자 인터페이스는, 다양한 하위 규칙 집합의 논리적인 조합으로 구성할 수 있으며 규칙 집합 간의 관계 수정 및 편집을 편리하게 수행할 수 있는 규칙편집기를 포함하며, 규칙이 실행될 때는 AND/OR 노드로 구성된 노드의 불필요한 노드 깊이를 줄여서 최적의 조건 쿼리를 생성하도록 하는 규칙 최적화 버튼을 포함하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  2. 제1항에 있어서, 상기 규칙편집기는
    AND/OR 연산을 추가할 위치를 지정하는 '논리식 추가 위치' 버튼(위치 콤보)과,
    AND 논리식을 상기 위치 콤보에서 지정한 방식으로 추가하거나 수정하기 위하여, 하위 노드에 대해 논리곱(∩)의 연산을 수행하도록 하는 'AND' 버튼과,
    OR 논리식을 위치 콤보에서 지정한 방식으로 추가하거나 수정하기 위하여, 하위 노드에 대해 논리합(∪)의 연산을 수행하도록 하는 'OR' 버튼과,
    선택한 노드 및 하위 노드를 삭제하도록 하는 '집합 삭제' 버튼과,
    규칙 종류에 따라 멤버 그룹을 구하기 위한 규칙을 정의하는 그룹규칙 편집기와, 사용자를 구하기 위한 규칙을 편집하는 사용자규칙 편집기를 각각 선택하는 '조건 대상 선택' 버튼과,
    속성, 포함, 또는 제외 편집 기능을 선택하도록 하는 '규칙 종류 선택' 창을 포함하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  3. 삭제
  4. 제2항에 있어서, 상기 '조건 대상 선택' 버튼으로써 그룹규칙 편집을 선택하고, 상기 '규칙 종류 선택'창에서 그룹속성, 그룹포함, 그룹제외 편집을 선택한 경우에, 상기 규칙편집기는
    그룹의 이름, 코드, 상태 등의 속성을 정의하여 이를 만족하는 그룹을 규칙 집합으로 지정하는 속성에 의한 포함 규칙의 편집을 수행하는 그룹속성 편집기와,
    그룹을 선택하여 선택한 그룹 또는 하위를 포함한 그룹을 규칙 집합으로 지정하는, 직접 지정에 의한 포함 규칙의 편집을 수행하는 그룹포함 편집기와,
    그룹을 선택하여 선택한 그룹 또는 하위를 포함한 그룹을 제외 규칙 집합으로 지정하는, 직접 지정에 의한 제외 규칙의 편집을 수행하는 그룹제외 편집기를 제공하는 것을 특징으로 하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  5. 제2항에 있어서, 상기 '조건 대상 선택' 버튼으로써 사용자규칙 편집을 선택하고, 상기 '규칙 종류 선택'창에서 사용자속성, 사용자포함, 사용자제외 편집을 선택한 경우에, 상기 규칙편집기는
    사용자의 이름, 코드, 상태 등의 속성을 정의하여 이를 만족하는 사용자를 규칙 집합으로 지정하는 속성에 의한 포함 규칙의 편집을 수행하는 사용자속성 편집기와,
    사용자를 선택하여 선택한 사용자 또는 하위를 포함한 사용자를 규칙 집합으로 지정하는, 직접 지정에 의한 포함 규칙의 편집을 수행하는 사용자포함 편집기와,
    사용자를 선택하여 선택한 사용자 또는 하위를 포함한 사용자를 제외 규칙 집합으로 지정하는, 직접 지정에 의한 제외 규칙의 편집을 수행하는 사용자제외 편집기를 제공하는 것을 특징으로 하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  6. 제1항에 있어서, 상기 규칙그룹 등록부는
    일반 속성은 일반 그룹과 동일한 방식으로 값을 지정하고, 규칙을 지정하는 부분은 규칙그룹 추가의 경우와 마찬가지로 시각적으로 규칙을 지정할 수 있는 규칙 편집기를 제공하는 규칙그룹 수정부를 추가로 포함하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  7. 제1항에 있어서, 상기 규칙그룹등록부는
    현재의 규칙그룹에 속한 그룹 목록을 표시하되, 검색 기준을 지정하고 검색어를 입력하여 현재 규칙그룹 내의 멤버 그룹 중에서 검색어로 시작하는 멤버 그룹을 구하는 멤버 그룹 조회부를 추가로 포함하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  8. 제1항에 있어서, 상기 규칙그룹등록부는
    현재의 규칙그룹에 속한 사용자 목록을 표시하되, {사용자}∪{멤버 그룹에 속한 사용자}∪{사용자 규칙을 만족하는 사용자} 목록을 조회하여 표시하는 멤버 사용자 조회부를 추가로 포함하는, 통합계정 관리를 위한 실시간 규칙그룹 지원장치.
  9. 삭제
KR1020070067196A 2007-07-04 2007-07-04 통합계정 관리를 위한 실시간 규칙그룹 지원장치 KR100807354B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070067196A KR100807354B1 (ko) 2007-07-04 2007-07-04 통합계정 관리를 위한 실시간 규칙그룹 지원장치
PCT/KR2007/003602 WO2009005180A1 (en) 2007-07-04 2007-07-26 Apparatus for real-time supporting rule group for integrated identity management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070067196A KR100807354B1 (ko) 2007-07-04 2007-07-04 통합계정 관리를 위한 실시간 규칙그룹 지원장치

Publications (1)

Publication Number Publication Date
KR100807354B1 true KR100807354B1 (ko) 2008-02-28

Family

ID=39383331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070067196A KR100807354B1 (ko) 2007-07-04 2007-07-04 통합계정 관리를 위한 실시간 규칙그룹 지원장치

Country Status (2)

Country Link
KR (1) KR100807354B1 (ko)
WO (1) WO2009005180A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101555810B1 (ko) 2012-08-16 2015-09-24 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 자연인 정보 설정 방법 및 전자 장치
KR101757849B1 (ko) * 2016-08-04 2017-07-14 주식회사 넷츠 규칙 그룹 관리 장치 및 그 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216464A (ja) * 2002-01-21 2003-07-31 Beacon Information Technology:Kk 集合表示システム及びコンピュータプログラム
KR20060049122A (ko) * 2004-10-28 2006-05-18 마이크로소프트 코포레이션 경량 디렉토리 액세스 프로토콜 트래픽의 보안
JP2006146559A (ja) * 2004-11-19 2006-06-08 Nec Corp 動的組織管理システム、動的組織管理方法、動的組織管理装置および動的組織管理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216464A (ja) * 2002-01-21 2003-07-31 Beacon Information Technology:Kk 集合表示システム及びコンピュータプログラム
KR20060049122A (ko) * 2004-10-28 2006-05-18 마이크로소프트 코포레이션 경량 디렉토리 액세스 프로토콜 트래픽의 보안
JP2006146559A (ja) * 2004-11-19 2006-06-08 Nec Corp 動的組織管理システム、動的組織管理方法、動的組織管理装置および動的組織管理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101555810B1 (ko) 2012-08-16 2015-09-24 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 자연인 정보 설정 방법 및 전자 장치
US10037373B2 (en) 2012-08-16 2018-07-31 Tencent Technology (Shenzhen) Company Limited Natural person information setting method and electronic device
US10824649B2 (en) 2012-08-16 2020-11-03 Tencent Technology (Shenzhen) Company Limited Natural person information setting method and electronic device
KR101757849B1 (ko) * 2016-08-04 2017-07-14 주식회사 넷츠 규칙 그룹 관리 장치 및 그 방법

Also Published As

Publication number Publication date
WO2009005180A1 (en) 2009-01-08

Similar Documents

Publication Publication Date Title
US10719621B2 (en) Providing unique views of data based on changes or rules
US7788305B2 (en) Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node
US7620647B2 (en) Hierarchy global management system and user interface
US9866561B2 (en) Enhanced user interface and data handling in business intelligence software
Bolchini et al. CARVE: Context-aware automatic view definition over relational databases
US7581189B2 (en) Dynamically generating a database report during a report building process
JP4571746B2 (ja) アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法
US7461077B1 (en) Representation of data records
US7822785B2 (en) Methods and apparatus for composite configuration item management in configuration management database
US5630120A (en) Method to help in optimizing a query from a relational data base management system
RU2406115C2 (ru) Доступ к сложным данным
US8010887B2 (en) Implementing versioning support for data using a two-table approach that maximizes database efficiency
US20030154191A1 (en) Logical data modeling and integrated application framework
US20090113283A1 (en) Method for capturing design-time and run-time formulas associated with a cell
US11593324B2 (en) Reversible data transforms
US20080288462A1 (en) Database system and display method on information terminal
US11651017B2 (en) Method and apparatus for the conversion and display of data
KR100807354B1 (ko) 통합계정 관리를 위한 실시간 규칙그룹 지원장치
KR101757849B1 (ko) 규칙 그룹 관리 장치 및 그 방법
CN112800143A (zh) 一种数据对象的结构和数据对象动态管理的方法
US9400814B2 (en) Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node
US20050198329A1 (en) Relational database and a method of enabling access to a data structure stored therein
US8185915B2 (en) Meta-architecture for multi-tiered enterprise software application and system
KR100473521B1 (ko) 객체-관계 dbms에서 경로식의 시각화 방법
WO2003052628A1 (en) Computer-implemented method of merging at least two dimensionally modeled databases

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140212

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150213

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160205

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170210

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190219

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200212

Year of fee payment: 13