KR100310862B1 - 계층적도메인모형을이용한분산시스템구성방법 - Google Patents

계층적도메인모형을이용한분산시스템구성방법 Download PDF

Info

Publication number
KR100310862B1
KR100310862B1 KR1019980061637A KR19980061637A KR100310862B1 KR 100310862 B1 KR100310862 B1 KR 100310862B1 KR 1019980061637 A KR1019980061637 A KR 1019980061637A KR 19980061637 A KR19980061637 A KR 19980061637A KR 100310862 B1 KR100310862 B1 KR 100310862B1
Authority
KR
South Korea
Prior art keywords
domain
application
department
user
server equipment
Prior art date
Application number
KR1019980061637A
Other languages
English (en)
Other versions
KR20000045109A (ko
Inventor
김민겸
Original Assignee
이계철
한국전기통신공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사 filed Critical 이계철
Priority to KR1019980061637A priority Critical patent/KR100310862B1/ko
Publication of KR20000045109A publication Critical patent/KR20000045109A/ko
Application granted granted Critical
Publication of KR100310862B1 publication Critical patent/KR100310862B1/ko

Links

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 계층적 도메인 모형을 이용한 분산시스템 구성 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 분산시스템에서 서버 장비의 그룹을 도메인으로 설정하고, 도메인에 속한 서버 장비를 사용할 사용자를 할당하며, 도메인내의 서버 장비들에 운용할 애플리케이션을 배치하므로써, 최소의 데이터량으로 사용자와 서버 장비, 그리고 애플리케이션의 관계를 체계적으로 나타내기 위한 계층적 도메인 모형을 이용한 분산시스템 구성 방법을 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 분산시스템에 적용되는 분산시스템 구성 방법에 있어서, 서버 장비의 그룹을 도메인으로 설정하고, 상기 도메인에 속한 상기 서버 장비를 사용할 사용자(부서)를 할당하며, 상기 도메인내의 상기 서버 장비들에 운용할 애플리케이션을 배치하는 제 1 단계; 및 배치된 결과를 체계적으로 저장하는 제 2 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 분산시스템 등에 이용됨.

Description

계층적 도메인 모형을 이용한 분산시스템 구성 방법
본 발명은 분산시스템에서 서버 장비의 그룹을 도메인으로 설정하고, 도메인에 속한 서버 장비를 사용할 사용자(부서)를 할당하며, 도메인내의 서버 장비들에 운용할 애플리케이션을 배치하므로써, 최소의 데이터량으로 사용자(부서)와 서버 장비 그리고 애플리케이션의 관계를 체계적으로 나타낼 수 있도록 한 계층적 도메인 모형을 이용한 분산시스템 구성 방법 및 그를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
즉, 본 발명은 어느 사용자(부서)에게 어느 애플리케이션의 서비스를 제공할 필요가 있을 때, 어느 서버 장비에서 서비스받을 수 있는지를 알 수 있게 해주는 모형을 구축하는데 있어서, 도메인은 "사용자(부서)"와 "애플리케이션(애플리케이션 및 그 요소)" 그리고 "서버 장비"간의 상호관계를 매개해 주는 역할을 한다. 이는 다수의 서버 장비와 다수의 복잡한 시스템(또는 애플리케이션)으로 이루어진 분산시스템을 가능하게 하는 골격(Framework)을 제공한다고 할 수 있다.
이를 바탕으로, 본 발명은 서버 장비 추가 기타의 사유로 인한 애플리케이션의 재배치시에도 전체 시스템을 최적화하기 위한 재 구성이 자유로운 유연한 분산시스템을 구현할 수 있다.
본 발명에서 사용되는 용어를 정의하면 다음과 같다.
시스템(System 또는 Information System)은 유기적으로 밀접하게 운용되는 애플리케이션의 집합이다. 즉, 대규모의 애플리케이션으로 볼 수 있다.
애플리케이션(Ap : Application)은 서버 장비별로 분리하여 수행할 수 있는 최소 단위이다. 즉, 소규모의 시스템으로 볼 수 있다.
서버 장비(SM : Server Machine)는 애플리케이션이 운용되는 곳이다.
도메인(Domain)은 사용자(부서)와 애플리케이션, 그리고 서버 장비의 관계를 매개하는 서버 장비의 그룹이다.
"Dep"는 부서(Department)를 의미하며, "Emp"는 부서원(Employee), 즉 사용자를 의미한다.
대 규모의 회사에서의 정보시스템에는 지역적으로 분산된 다수의 서버 장비에서 관련있는 여러 애플리케이션이 운용될 수 있다.
지역적으로 분산된 대규모의 환경에서 몇몇 서버의 그룹은 랜(LAN : Local Area Network)으로 묶이는 것이 보통이고, 랜(LAN)과 랜간에는 왠(WAN)으로 연결하여 사내 기간망을 구성하는 것이 보통이다.
따라서, 관련있는 애플리케이션의 배치에 있어서도 이러한 랜 환경 단위(즉, 도메인)를 고려하여 배치하는 것이 효율적임은 당연하다고 할 것이다. 특히, 다수의 사용자가 사용하는 애플리케이션일수록 애플리케이션이 그러한 환경에서 잘 작동되고 자유로운 재 배치가 가능하도록 하여야 할 필요가 있다. 이러한 경우에 애플리케이션을 운용할 서버 장비의 구성으로부터 어느 사용자가 어떤 애플리케이션이 제공하는 서비스를 필요로할 때, 어느 서버 장비에서 서비스를 받아야 할지를 체계적으로 저장하여 가지고 있는 것이 필수적이다.
각 애플리케이션은 이러한 데이터를 참조하여 사용자의 서비스 요청시 또는 애플리케이션간의 연동시에 그 사용자가 필요로하는 애플리케이션의 서비스를 어느 서버 장비로부터 받을 수 있는지를 알 수 있도록 해 준다.
따라서, 이러한 관계를 잘 표현할 수 있는 좋은 모형을 사용하여 시스템 구축에 활용한다면, 이러한 모형을 중심으로 체계적인 분산시스템을 구축할 수 있으며, 이는 다수의 서버 장비와 다수의 복잡한 시스템(또는 애플리케이션)으로 이루어진 분산시스템을 가능하게 하는 골격(Framework)을 제공한다고 할 수 있다. 더욱이, 보통의 경우에 시스템이 발전해 나감에 따라 각 시스템간의 효율적인 연동이 중요한 문제로 되는 것이 보통이다.
그러므로, 상호 관련성 있으면서 서버 장비별로 분리할 수 있는 몇몇의 애플리케이션을 애플리케이션의 수보다 많은 서버 장비를 사용하여 운용하여야 하는 경우에, 특히 다수의 사용자가 사용하는 애플리케이션의 경우에 효율적으로 분산시스템을 구축할 수 있는 방안이 필수적으로 요구된다.
상기한 바와 같은 요구에 부응하기 위하여 안출된 본 발명은, 분산시스템에서 서버 장비의 그룹을 도메인으로 설정하고, 도메인에 속한 서버 장비를 사용할 사용자(부서)를 할당하며, 도메인내의 서버 장비들에 운용할 애플리케이션을 배치하므로써, 최소의 데이터량으로 사용자(부서)와 서버 장비 그리고 애플리케이션의 관계를 체계적으로 나타내기 위한 계층적 도메인 모형을 이용한 분산시스템 구성 방법 및 그를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명에 이용되는 개체관계를 나타낸 설명도.
도 2 는 본 발명에 이용되는 관계형 데이터베이스 모델 구조도.
도 3a 내지 도 3c 는 본 발명에 따른 분산시스템 구성 방법중 도메인의 설정과 도메인에 사용자, 애플리케이션, 서버 장비 할당 과정에 대한 일실시예 상세 흐름도.
도 4a 내지 4e는 본 발명에 따른 분산시스템 구성 방법중 사용자가 서비스받고자 원하는 애플리케이션이 위치한 서버 장비를 식별하는 과정에 따른 일실시예 상세 흐름도.
도 5 는 본 발명의 실시예에 따른 부서 구성 예시도.
도 6 은 본 발명의 실시예에 따른 애플리케이션 구성 예시도.
도 7 은 본 발명의 실시예에 따른 한 대의 서버 장비만 사용하는 경우의 시스템 구성 예시도.
도 8a 및 8b 는 본 발명의 실시예에 따른 하나의 랜(LAN)에 묶인 2대의 서버 장비 적용시의 시스템 구성 예시도.
도 9 는 본 발명의 실시예에 따른 2개의 랜(LAN)으로 묶인 5대의 서버 장비(3대, 2대) 적용시의 시스템 구성 예시도.
도 10 은 본 발명의 실시예에 따른 특정 애플리케이션의 특성이 조직 전체가 자료를 공유해야 하는 경우의 시스템 구성 예시도.
도 11a 및 11b 는 본 발명의 실시예에 따른 특정 애플리케이션을 위한 서버 장비가 도메인내에 추가될 경우의 시스템 (재)구성 예시도.
도 12 는 본 발명의 실시예에 따른 애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템 구성 예시도.
도 13a 및 13b 는 본 발명의 실시예에 따른 도 12에서 예시한 성격의 애플리케이션의 분산을 위하여 도메인 계위에 따라 직렬로 분리될 경우의 시스템 (재)구성 예시도.
도 14 는 본 발명의 실시예에 따른 직렬 도메인 추가에 의한 시스템 구성 예시도.
상기 목적을 달성하기 위한 본 발명은, 분산시스템에 적용되는 분산시스템 구성 방법에 있어서, 서버 장비의 그룹을 도메인으로 설정하고, 상기 도메인에 속한 상기 서버 장비를 사용할 사용자(부서)를 할당하며, 상기 도메인내의 상기 서버 장비들에 운용할 애플리케이션을 배치하는 제 1 단계; 및 배치된 결과를 체계적으로 저장하는 제 2 단계를 포함한다. 또한, 본 발명은, 상기 사용자에게 상기 애플리케이션의 서비스 제공시에, 상기 사용자(부서)와 상기 애플리케이션, 그리고 상기 서버 장비간의 상호관계를 나타내는 상기 도메인에 대한 상기 저장된 배치 결과를 통해 상기 사용자가 서비스받고자 원하는 상기 애플리케이션이 위치한 상기 서버 장비를 식별하는 제 3 단계를 더 포함한다.
그리고, 본 발명은, 프로세서를 구비한 분산시스템에, 서버 장비의 그룹을 도메인으로 설정하고, 상기 도메인에 속한 상기 서버 장비를 사용할 사용자(부서)를 할당하며, 상기 도메인내의 상기 서버 장비들에 운용할 애플리케이션을 배치하는 기능; 및 배치된 결과를 체계적으로 저장하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다. 또한, 본 발명은, 상기 사용자에게 상기 애플리케이션의 서비스 제공시에, 상기 사용자(부서)와 상기 애플리케이션, 그리고 상기 서버 장비간의 상호관계를 나타내는 상기 도메인에 대한 상기 저장된 배치 결과를 통해 상기 사용자가 서비스받고자 원하는 상기 애플리케이션이 위치한 상기 서버 장비를 식별하는 기능을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
본 발명에서는 상호 관련성 있으면서 서버 장비별로 분리할 수 있는 몇몇의 애플리케이션을 애플리케이션의 수보다 많은 서버 장비를 사용하여 운용하여야 하는 경우에, 특히 다수의 사용자가 사용하는 애플리케이션의 경우에 효율적으로 분산시스템을 구축할 수 있는 골격을 제공할 수 있는 모델을 제안한다.
만약, 이러한 환경에서 사용자별로 어떤 애플리케이션의 서비스를 필요로 할 경우에, 어떤 서버 장비에 접근해야 할지를 단순히 대응시키는 방법을 사용한다면, 다수의 사용자 환경에서 많은 자료를 유지해야 하고, 또한 사용자가 특정 서버 장비를 사용하는 규칙을 체계적으로 관리할 수 없다. 더욱이, 부서와 밀접한 관련을 가지는 애플리케이션의 효율적인 분산을 표현하는 것은 불가능하다.
따라서, 본 발명에서는 서버 장비의 그룹을 도메인으로 설정하고 도메인에 속한 서버 장비를 사용할 사용자(부서)를 할당하며, 도메인내의 서버 장비들에 운용할 애플리케이션을 배치하므로써, 최소의 데이터량으로 사용자(부서)와 서버 장비 그리고 애플리케이션의 관계를 체계적으로 나타낼 수 있다. 이때, 랜(LAN)으로 묶인 서버 장비 그룹의 단위를 애플리케이션이 운용되는 도메인으로 설정하고, 그 도메인에 속한 사용자(부서)를 해당 도메인에 할당하므로써, 그 도메인내의 서버 장비와 전체 서버 장비의 최적 활용을 기대할 수 있고 네트웍 부하가 최소화되도록 구성할 수 있다.
사용자를 특정 도메인에 할당하는 방법으로 사용자별로 그 사용자가 속한 도메인을 표시할 수 있다. 그리고, 사용자는 부서 단위로 그룹지어져 있고 많은 경우에 그 부서 단위로 같은 사이트에 위치하므로, 이러한 경우는 부서를 도메인에 할당할 수도 있다(하기의 EmpDep2Domain 참조). 이러한 방법은 특히 다수의 사용자가 사용하는 시스템에 유용하다.
결국, 도메인은 어느 사용자(부서)에게 어느 애플리케이션의 서비스를 제공할 필요가 있을 때, 어느 서버 장비에서 서비스 받을 수 있는지를 알 수 있게 해주는 모형을 구축하는데 있어서, "사용자(부서)"와 "애플리케이션(애플리케이션 및 그 요소)" 그리고 "서버 장비" 간의 상호관계를 매개해 주는 역할을 한다.
도메인의 개념을 적용한 모델을 사용시에, 현실적으로 애플리케이션이 배치되는 단위로 활용할 수 있는 랜(LAN) 단위(영역)를 기준으로 효율적인 애플리케이션의 체계적인 배치와 손쉬운 재배치가 가능하고, 부서의 계층 구조에 따라 데이터를 분산할 필요가 있는 애플리케이션의 경우에 사용자(부서)가 속한 도메인에서 서비스받지 못하면 사용자 부서의 상위 부서에 대응되는 상위 도메인을 추적하여 서비스받을 수 있도록 하므로써 정교한 분산시스템을 구축할 수 있다.
따라서, 본 발명에서 제안하는 계층적 도메인은 다수의 서버 장비를 운용하는 대규모 분산 전산환경에서 다수의 애플리케이션으로 이루어지는 분산시스템을 체계적으로 그리고 효율적으로 구축하는데 있어서, 유용한 개념이라고 할 수 있을 것이다. 특히, 다수의 사용자가 사용하는 시스템에 있어서 사용될 서버 장비의 수가 서버 장비별로 분리할 수 있는 애플리케이션의 수보다 훨씬 많을 경우에 더욱 필요하다.
도메인은 하나의 애플리케이션이 유일하게 배치되는 단위이므로 랜(LAN) 단위의 도메인의 서브 도메인이 될 수도 있고, 또는 랜(LAN) 단위의 도메인을 여러 개 합한 단위가 도메인이 될 수도 있다. 다만, 도메인의 생성 이유와 도메인의 물리적인 환경(LAN)에 따라 여러가지 유형의 도메인이 있게 된다.
다음은 도메인의 특징(성격)을 나열한 것이다.
도메인은 서버 장비의 그룹이다(논리적 개념).
하나의 도메인에는 하위의 도메인이 포함될 수 있다. 즉, 도메인의 계위가 존재한다.
하위의 도메인 역시 계속해서 그 하위의 도메인을 가질 수 있다.
도메인에는 서버 장비가 소속되게 되는데, 하나의 서버 장비는 여러 도메인에 소속될 수 있다. 그러나, 가능한한 이러한 도메인 설정을 권장하지는 않는다.
도메인은 논리적으로 설정하는 단위로서, 애플리케이션을 효율적으로 운용하기 위하여 여러 가지 성격의 도메인을 설정할 수 있다. 즉, 도메인의 성격(Type)이 여러 가지 있을 수 있다.
하나의 도메인에는 한가지 애플리케이션이 운용되는 서버 장비가 1대만 존재한다. 만약, 어느 도메인에서 같은 애플리케이션을 운용하는 서버 장비가 2대 존재하게 되면, 그 2대중 최소한 1대를 하위의 도메인으로 설정하여야 한다.
도메인은 부서도상의 특정 부서와 연관 관계를 갖는다. 즉, 어느 도메인과 어느 부서는 일대일(1 to 1)로 대응되기도 하며, 또는 다수대다수(Many to Many)로 대응되기도 한다. 또한, 구성을 단순화하기 위하여 도메인과 부서의 관계를 일대다(1 to Many)로 제한하여 운용할 수도 있는데, 이는 도메인을 구성하는 시스템 관리자의 재량이다.
즉, 어느 부서 Dep1이 어느 도메인(D1)에 속하고 Dep1의 하위 부서(Dep n)가 도메인 D1이 아닌 다른 도메인 Dn에 속할 수 있다.
최소단위의 부서원중 일부가 해당 부서가 속한 도메인이 아닌 다른 도메인에 속할 수 있다. 즉, 사용자 개인별로 별도의 도메인에 속할 수 있다. 많은 사용자가 사용하는 시스템에서는 이러한 도메인 설정은 복잡도를 증가시키므로 시스템 관리자가 판단한다.
결국 도메인 개체와 관련 개체를 해석하면, 어느 사용자가 어떤 애플리케이션의 서비스를 필요로 할 경우에, 어느 서버 장비에서 서비스받야야 할 지를 알 수 있다.
여기서, 도메인을 중심으로한 사용자(부서), 도메인, 애플리케이션, 서버 장비 모형의 데이터와 그 모형이 제공하는 서비스 역시 분리할 수 있는 애플리케이션으로 둘 수 있으며(예를 들면, Domain 애플리케이션 등으로 부를 수 있음), 도메인 모형에 저장되어 서비스를 제공하게 된다.
각 애플리케이션은 이 모형의 데이터를 참조하여(즉, 이 도메인 애플리케이션이 제공하는 서비스를 이용하여) 최적화된 데이터의 복제 정책의 구현이 가능하고, 서버 장비 추가 기타의 사유로 인한 애플리케이션의 재 배치시에도 각 애플리케이션에서 분산 구조를 참조하는 부분의 소스 코드를 전혀 수정할 필요 없으며, 따라서 전체 시스템을 최적화하기 위한 재 구성이 자유로운 유연한 분산시스템을 구현할 수 있다. 또한, 특정 애플리케이션을 위한 서버 장비의 성능이 부족할 경우에, 신규 대용량의 서버 장비를 도입하지 않고 기존 서버 장비를 활용하면서 중 용량의 신규 서버 장비를 자연스럽게 추가하여 전체 시스템을 구축하는데 있어서도 유용하다.
이제, 도 1 및 도 2를 참조하여, 데이터 모형(관계형 데이터 모형)에 대해 보다 상세히 설명한다.
본 실시예에서는 제안한 계층적 도메인을 매개로 하여 사용자(부서)와 애플리케이션 그리고 서버 장비를 나타내는 모형을 관계형 데이터베이스를 사용하여 모델링한다. 여기서, 관계형 데이터 모델링을 예로 든 이유는 모든 시스템 구축에 있어서, 상용 DBMS의 사용은 필수적이고 현재 관계형 데이터 베이스는 가장 광범위하게 사용되고 있는 DBMS이기 때문이다.
본 실시예에서 제시한 모형이 최적의 모형은 아니지만, 제안하는 방법이 이러한 모형을 통하여 충분히 실현가능함을 보이기 위한 예로써 제시한 것이다.
이제, 각 관련 객체에 대해 보다 상세히 설명한다. 여기서, 각 관련 개체의 속성에 대하여 사용한 기호는 다음과 같다.
"*"는 키(key) 속성을 나타낸다.
"O"는 비필수(Optional) 속성을 나타낸다.
"C"는 후보키(Candidate Key) 속성을 나타낸다.
먼저, 사용자 정보를 저장하고 있는 "EMP"에 대해 살펴보면, (표 1)과 같다.
속 성 설 명
Empid * 사원의 아이디
ContainedDep 사원이 소속된 부서
Password 사용자 인증시 비교할 패스워드
E-mail Address 사용자의 전자메일 주소
ContainedDomainByDep O 사용자가 소속된 부서가 속한 도메인Dep2Domain 혹은 Dep 개체의 ContainedDomainId 속성을 통하여 알 수 있으나, 도메인과 부서의 관계를 제한적으로 1 to many만 허용할 경우 그 결과를 기록해 둠으로써 편리를 꾀함
ContainedDomainByPerson O 부서의 어느 사원만이 그 부서가 속하는 도메인이 아닌 다른 도메인에 속하는 것을 허용할 경우 ContainedDomainIdByDep와 같은 이유로 사용함
AccessLevel 사용자의 접근 권한 수준값
AccessType 사용자의 접근 권한 유형
Etc... Emp 모형을 사용하는 다른 애플리케이션에서 참조하기 위한 속성들
다음으로, "Dep"에 대해 살펴보면, (표 2)와 같다.
속 성 설 명
Depid * 개체의 아이디(DepCode)를 사용할 수도 있음
DepName 개체의 이름, 트리상에 표시되는 이름
Alias DepName에 대한 별명가능하면 유일(unique)한 값을 사용하기를 권고함총무부 등과 같이 중복될 수 있는 부서명은 상부기관의 이름을 붙여주는 것도 방안이 될 수 있음(에;총무부→상위부서이름.총무부)
DepCode C 그 조직에서 사용중인 부서의 고유한 코드
UpperDepId 상위 부서의 아이디
Depth 부서 계위의 깊이
ContainedDomainId O 도메인과 부서의 관계를 제한적으로 1 to many의 관계만 허용할 경우 Dep2Domain 개체를 사용하지 않고 이 속성을 사용하여 부서와 도메인의 관계를 나타낼 수 있음
SubTreeIsInSameDomainFlag O 하위의 부서가 같은 도메인에 속하는 것을 나타내는 플래그(t/f)
Location 부서의 위치(랜 도메인에 속하는 것을 알고자 할 때 유용함)
Etc... 기타 도메인 모형을 사용하는 Ap에서 필요로 하는 속성
이제, 계층적인 구조를 가지며 사용자(또는 부서)와 서버 장비, 그리고 애플리케이션간의 관계를 체계화시켜 주는 역할을 하는 "Domain"에 대해 살펴보면, (표 3)과 같다.
속 성 설 명
Domain * 도메인 아이디(예; D1)
NumberOfServerMachine 도메인내 소속 서버 장비의 대수(예; 10대)
NumberOfRunningAp O 도메인내에서 가동중인 애플리케이션의 수
Representitive O 도메인 관리자 Id
Depth 도메인의 계위에서의 깊이
UpperDomainId 상위 도메인의 아이디최상위 도메인의 경우는 "0"을 값으로 가짐
ContainedTopDomain O 해당 도메인이 속한 최상위 도메인Ap 개체내의 DomainIdMappedWithThisAp 속성에 기록된 도메인과 쉽게 비교하기 위하여 사용함. 즉, 최상위 도메인은 특정 애플리케이션의 그룹을 위한 도메인으로 역할을 함
SpecificApIdMappedByThisDomain 최상위 도메인만 이 값을 가짐. 이 도메인에 해당하는 ApId. 이 도메인과 이 도메인의 서브도메인은 여기에 기록된 Ap와 하위 Ap에 대해서만 관리됨
DepIdMappedOnlyByThisDomain 해당부서 및 그 하부 부서가 모두 특정 도메인과 일치될 경우 그 부서의 아이디
DomainType. 도메인에 속한 서버 장비들이 랜 단위와 일치되는지의 여부 등에 따라 도메인의 유형을 지정해당 도메인 및 하위 도메인에 속한 서버 장비가 모두 하나의 LAN 단위와 일치되는지의 여부1; 랜 단위와 일치됨(이를 "랜 도메인"이라 부름)2; 같은 도메인내에서 한가지 애플리케이션을 2대 이상의 서버 장비에 탑재하기 위하여 병렬로 생성된 하위의 도메인3; 유형 2와 같은 이유로 생성된 도메인중 도메인에 속한 사용자 전체에 서비스를 제공하기 위하여 직렬로 생성된 도메인4; 최상위 도메인
DepIdMappedWithThisDomainBy1to1 이 도메인과 일대일로 대응되는 부서(하위의 모든 부서를 포함하여)의 아이디(지역적으로 분포하는 대형 부서의 경우 그 부서원 전체를 위하여 랜으로 묶인 다수의 서버 장비를 할당하는 경우가 이에 해당함)
DomainSearchOrder 하나의 부서가 여러 동일한 최상위 도메인내의 여러 도메인에 대응될 때 도메인의 탐색 순서
Description 도메인에 대한 설명
Etc... 기타 필요한 속성들
한편, 사용자(부서)와 도메인의 관계를 표현하는 "EmpDep2Domain"를 살펴보면, (표 4)와 같다.
속 성 설 명
EmpDepId * 해당 도메인에 속한 사용자 혹은 부서의 아이디
DomainId * 부서 혹은 사용자에 대응되는 도메인의 아이디
DomainSearchOrder 같은 사용자(부서)가 같은 최상위 도메인내에 속해 있는 여러 도메인에 속해 있을 경우, 탐색 우선순위
Etc... 기타 필요한 속성들
이제, 서버 장비(ServerMachine)에 대해 살펴보면, (표 5)와 같다.
서버 장비에는 계위가 없으며, 대신 서버 장비가 도메인에 속하고 도메인의 계위를 통하여 부서와 애플리케이션의 관계를 표현한다.
속 성 설 명
ServerMachineId * 서버 장비의 아이디(예; SMI)
ContainedDomain O 도메인과 서버 장비의 관계를 제한적으로 1 to many의 관계만 허용할 경우, Domain2Ap2ServerMachine 개체를 사용하지 않고, 이 속성으로 서버 장비가 속한 도메인을 나타낼 수 있음
IPaddress 서버 장비가 사용하고 있는 IP 주소
ServerMachineModelName 서버 장비의 모델명
CurrentUsageOfDisk O 디스크 사용량(주기적으로 체크하여 기록함)
CurrentUsageOfMemory O 메모리 사용량(주기적으로 체크하여 기록함)
CurrentUsageOfCPU O CPU 사용상태(주기적으로 체크하여 기록함)
RunningOS 운용중인 OS(예; unix, winNT)
DateOfPurchase 서버 장비 도입일
Description O 기타 간단한 설명
Etc... 기타 필요한 속성들
그리고, 서버 장비별로 분리 설치하고 수행될 수 있는 애플리케이션의 최소 단위가 표현되는 "SeparatableAp"를 살펴보면, (표 6)과 같다. 여기서, 애플리케이션 자체도 계층적인 구조로 표현될 수 있다.
속 성 설 명
ApId * 분리 가능한 응용 프로그램의 아이디
ApName 응용 프로그램 이름
UpperApId 해당 애플리케이션이 속한 상위의 ApId
Depth 계위의 깊이
TopDomainIdMappedByThisAp 어느 애플리케이션이 어느 최상위 도메인에 대응되는 경우 그 도메인의 DomainId를 기록함. 여기에 기록된 도메인의 SpecificApIdMappedByThisDomain 속성에는 이 ApId가 기록됨. 대응되는 최상위 도메인이 없으면 "0"을 기록
ContainedTopDomainId 어느 Ap의 TopDomainIdMappedByThisAp값이 "0"인 경우 상위 Ap의 TopDomainIdMappedByThisAp에 기록되어 있는 DomainId
Author O 제작사 혹은 제작자
Characteristics O 조회/입력/수정/조회. 애플리케이션의 성격
Version 해당 Ap의 버전
DateOfLastUpdate 해당 Ap의 최종 수정일
OpenLevel O 애플리케이션의 접근 수준 보안이 요구되는 특별한 성격의 애플리케이션(예; EIS)은 특정 OpenLevel 이상의 권한을 가진 사용자만이 접근할 수 있어야 하므로 OpenLevel, OpenType은 각 애플리케이션이 사용자 인터페이스와 일치되는 경우 개개인이 접근할 수 있는 메뉴 구성에도 활용할 수 있음
OpenType O 특정 분야의 애플리케이션의 경우는 그 분야 종사자만이 접근할 수 있도록 함
ApType 0 : 소속 도메인에 속한 서버 장비에 탑재된 애플리케이션으로부터 원하는 서비스를 받을 수 없을 경우 상위의 도메인의 해당 애플리케이션이 탑재된 서버 장비를 추적할 필요가 있는 애플리케이션1 : 해당 애플리케이션 서비스를 위하여 첫 번째 검색된 서버 장비에서 서비스받는 것으로 충분한 애플리케이션
Description O 기타 참고사항
Etc... 기타 필요한 속성들
도메인과 서버 장비, 그리고 애플리케이션간의 관계를 표현하는 "Domain2Ap2ServerMachine"를 살펴보면, (표 7)과 같다. 여기서, 자료저장소(Data Storage), 기능로직(Functional Logic), 표현로직(Presentation Logic)을 나타내는 서버장비를 구분하는 것은 일반적으로 애플리케이션을 이루는 요소가 이 3가지 요소로 이루어지는 경우가 많은데, 이 경우 이러한 애플리케이션의 구성요소까지 분산할 수 있도록 하기 위함이다. 어떤 경우, 다른 요소가 더 존재하고, 그 요소 역시 분산하고자 한다면, 그 요소를 위한 속성을 복합키로 추가할 수 있다.
속 성 설 명
DomainId * 도메인의 아이디
InstalledAp * 도메인의 서버 장비에서 운용중인 애플리케이션
ServerMachineId4DataStorage * 데이터 저장을 위한 서버 장비의 아이디(예; SM 1) 한 대의 서버 장비에 존재할 수도 있음
ServerMachineId4FunctionalLogic * 애플리케이션의 기능 로직을 가지고 있는 서버 장비의 아이디(예; SM 1)
ServerMachineId4PresentationLogic * 애플리케이션의 표현 로직을 가지고 있는 서버 장비의 아이디(예; SM 1)
ApServiceability 해당 애플리케이션이 해당 서버 장비에서 서비스하게 할 것인지를 표현
Etc... 기타 필요한 속성들
대 규모의 회사에서의 정보시스템에는 지역적으로 분산된 다수의 서버 장비에서 관련있는 여러 애플리케이션이 운용될 수 있다.
지역적으로 분산된 대규모의 환경에서 몇몇 서버의 그룹은 랜(LAN)으로 묶이는 것이 보통이고, 랜(LAN)과 랜간에는 왠(WAN)으로 연결하여 사내 기간망을 구성하는 것이 보통이다.
따라서, 관련있는 애플리케이션의 배치에 있어서도 이러한 랜 환경 단위(도메인)를 고려하여 배치하는 것이 효율적임은 당연하다고 할 것이다.
본 발명에서는 상호 관련성 있으면서 서버 장비별로 분리할 수 있는 몇몇의 애플리케이션을 애플리케이션의 수보다 많은 서버 장비를 사용하여 운용하여야 하는 경우에, 특히 다수의 사용자가 사용하는 애플리케이션의 경우에 효율적으로 분산 시스템을 구축할 수 있는 골격을 제공할 수 있는 모델을 제안한다.
본 발명에서는 서버 장비의 그룹을 도메인으로 설정하고 도메인에 속한 서버 장비를 사용할 사용자(부서)를 할당하며, 도메인내의 서버 장비들에 운용할 애플리케이션을 배치하므로써, 최소의 데이터량으로 사용자(부서)와 서버 장비, 그리고 애플리케이션의 관계를 체계적으로 나타낼 수 있다. 이때, 랜(LAN)으로 묶인 서버 장비 그룹의 단위를 애플리케이션이 운용되는 도메인으로 설정하고, 그 도메인에 속한 사용자(부서)를 해당 도메인에 할당하므로써 그 도메인내의 서버 장비와 전체 서버 장비의 최적 활용을 기대할 수 있고 네트웍 부하가 최소화 되도록 구성할 수 있다.
사용자를 특정 도메인에 할당하는 방법으로 사용자별로 그 사용자가 속한 도메인을 표시할 수 있다. 그리고, 사용자는 부서 단위로 그룹지어져 있고, 많은 경우에 그 부서 단위로 같은 사이트에 위치하므로, 이러한 경우는 부서를 도메인에 할당할 수도 있다. 이러한 방법은 특히 다수의 사용자가 사용하는 시스템에 유용하다.
도메인의 개념을 적용한 모델 사용시에, 현실적으로 애플리케이션이 배치되는 단위로 활용할 수 있는 랜 단위(영역)를 기준으로 효율적인 애플리케이션의 체계적인 배치와 손쉬운 재배치가 가능하고, 부서의 계층 구조에 따라 데이터를 분산할 필요가 있는 애플리케이션의 경우에, 사용자(부서)가 속한 도메인에서 서비스받지 못하면 사용자 부서의 상위 부서에 대응되는 상위 도메인을 추적하여 서비스받을 수 있도록 하므로써 정교한 분산시스템을 구축할 수 있다.
따라서, 본 발명에서 제안하는 계층적 도메인은 다수의 서버 장비를 운용하는 대규모 분산 전산환경에서 다수의 애플리케이션으로 이루어지는 분산시스템을 체계적으로 그리고 효율적으로 구축하는데 있어서 유용한 개념이라고 할 수 있을 것이다. 특히, 다수의 사용자가 사용하는 시스템에 있어서 사용될 서버 장비의 수가 서버 장비별로 분리할 수 있는 애플리케이션의 수보다 훨씬 많을 경우에 더욱 필요하다.
도메인은 서버 장비의 그룹으로 하나의 애플리케이션이 유일하게 배치되는 단위이다. 따라서, 하나의 도메인내에는 여러 서버 장비가 속할 수 있으나, 같은 애플리케이션이 하나의 도메인내의 2대 이상의 서버장비에서 운용될 수는 없다. 그리고, 도메인이 계층적 구조를 가지므로 도메인에는 하위 도메인이 존재할 수 있고 그 하위의 도메인 역시 계속해서 하위의 도메인을 가질 수 있다. 이러한 도메인의 생성 이유에 따라 여러 가지 유형(Type)의 도메인이 존재할 수 있다.
이처럼, 서버 장비의 그룹인 도메인에는 사용자(부서)가 대응되며, 서버 장비들이 속해있고, 도메인내의 각 서버 장비에서 운용되는 애플리케이션을 표시할 수 있으므로, 이 이 도메인에 의하여 매개되는 사용자, 서버 장비, 애플리케이션간의 관계를 해석하면, 어느 사용자가 특정 애플리케이션의 서비스를 필요로 할 경우에 어느 서버 장비에서 서비스받야야 할지를 알 수 있다.
결국, 도메인은 어느 사용자(부서)에게 어느 애플리케이션의 서비스를 제공할 필요가 있을 때 어느 서버 장비에서 서비스 받을 수 있는지를 알 수 있게 해주는 모형을 구축하는데 있어서, "사용자(부서)"와 "애플리케이션(애플리케이션 및 그 요소)" 그리고 "서버 장비" 간의 상호관계를 매개해 주는 역할을 한다. 이는 다수의 서버 장비와 다수의 복잡한 시스템(또는 애플리케이션)으로 이루어진 분산시스템을 가능하게 하는 골격을 제공한다고 할 수 있다.
각 애플리케이션은 본 발명에서 제안하는 모형의 데이터를 참조하여(즉, 이 자체를 Domain 애플리케이션이라고 하면 이 Domain 애플리케이션이 제공하는 서비스를 이용하여) 최적화된 데이터의 복제 정책의 구현이 가능하고, 서버 장비 추가 기타의 사유로 인한 애플리케이션의 재 배치시에도 각 애플리케이션에서 분산 구조를 참조하는 부분의 소스 코드를 전혀 수정할 필요 없으며, 따라서 전체 시스템을 최적화하기 위한 재 구성이 자유로운 유연한 분산시스템을 구현할 수 있다.
도 3a 내지 도 3c 는 본 발명에 따른 분산시스템 구성 방법중 도메인의 설정과 도메인에 사용자, 애플리케이션, 서버 장비 할당 과정에 대한 일실시예 상세 흐름도이다.
도 3a에 도시된 바와 같이, 본 발명에 따른 분산시스템 구성 방법중 도메인의 설정과 도메인에 사용자, 애플리케이션, 서버 장비 할당 과정은, 먼저 최상위 도메인(TopDomain)을 설정하여 가용한 모든 서버 장비를 최상위 도메인에 속하게 하고 전체 사용자를 배당한다(301). 이후, 두 개 이상의 랜 단위가 존재하는지를 분석한다(302).
분석결과, 존재하면, 랜 도메인 단위로 분할 및 배당한 후에(303), 하위 도메인을 분할 및 배당한다(304).
분석결과, 존재하지 않으면, 하위 도메인을 분할 및 배당한다(304).
이제, 도 3b를 참조하여, 랜 도메인 단위로의 분할 및 배당 과정(303)을 살펴보면, 다음과 같다.
도 3b에 도시된 바와 같이, 랜 도메인 단위로의 분할 및 배당 과정(303)은, 먼저 하위 도메인을 분할 전처리하여 현재의 도메인(즉, 최상위 도메인)내의 모든 사용자에 서비스하여야 할 애플리케이션(즉, 도메인내 사용자를 분배하여 서비스하는 것이 곤란한 애플리케이션)이 존재하는지를 검사한다(311).
검사결과, 존재하면, 그 애플리케이션 수행에 필요한 서버 장비가 한대로 충분한지를 확인한다(311).
확인결과, 한 대의 장비에서 수용 가능하면, 서버 장비의 성능과 사용빈도등을 고려하여 적당한 서버 장비를 선정하고 그 서버 장비를 현재의 도메인(즉, 최상위 도메인)에 배당하고 그 애플리케이션을 배치한다(313).
확인결과, 여러대의 장비에서 수용해야 하는 경우에, (필요한 서버 장비의 수 - 1) 만큼의 하위의 도메인을 "연속적으로(직렬로)" 생성하고 그 애플리케이션을 위한 서버 장비를 현재의 도메인부터 하위의 도메인으로 하나씩 배당(또는 현재의 도메인(즉, 최상위 도메인)을 감싸는 상위 도메인을 "추가되는 서버 장비의 수 - 1"만큼 생성하고 현재의 도메인과 그 각각의 상위 도메인들에 추가 서버 장비를 각각 할당하여도 같은 결과를 줌)한다(314).
검사결과, 존재하지 않으면, 랜 단위로 도메인을 분할하는 것이 적절한지를 판단한다(315).
판단결과, 적절하지 않으면, 하위 도메인 분할 및 배당 과정(304)을 수행한다.
판단결과, 적절하면, 랜 단위의 도메인(즉, 랜 도메인)으로 도메인을 분할하고 사용자(부서)를 각각 할당한 후에(316), 각각의 랜 도메인에 대하여 하위 도메인 분할 및 배당 과정(304)을 수행한다.
한편, 도 3c를 참조하여, 하위 도메인 분할 및 배당 과정(304)을 살펴보면, 다음과 같다.
도 3c에 도시된 바와 같이, 본 발명에 따른 하위 도메인 분할 및 배당 과정(304)은, 먼저 하위 도메인을 분할 전처리한다(321). 이는 도 3b에 도시된 바와 같은 랜 도메인 단위로의 분할 및 배당 과정(303)과 동일하다.
이후, 분할 필요성을 검토하는데, 즉 서버 장비의 수가 가동될 애플리케이션의 수보다 많거나(SM수 > Ap수), 아니더라도 하나의 애플리케이션이 2대 이상의 서버 장비에 분산되어야 할 필요가 있는지를 검사한다(322).
검사결과, 분할이 불필요하면, 도메인내 서버 장비와 사용자(부서)를 고려하여 애플리케이션을 배치한다(324).
검사결과, 분할이 필요하면, 서버 장비의 성능과 사용 빈도등을 고려하여 같은 애플리케이션이 배치되는 서버 장비들을 각각의 도메인으로 분할하고 현재의 도메인의 사용자를 각각의 도메인으로 나누어 할당한 후에(323), 도메인내 서버 장비와 사용자(부서)를 고려하여 애플리케이션을 배치한다(324).
상기한 바와 같은 방법을 참고로 배치가 이루어질 수 있으나, 실제의 배치시는 시스템 관리자가 상기의 방법과 개념을 숙지하고 직관과 통찰에 의하여 전체 시스템이 최적화되도록 배치하여야 할 것이다. 이때, 재배치하는 방법은 상기의 배치 방법과 같은 요령으로 할 수 있다.
도 4a 내지 도4e는 본 발명에 따른 분산시스템 구성 방법중 사용자가 서비스를 받고자 원하는 애플리케이션(이하 해당 애플리케이션)의 위치한 서버장비를 식별하는 과정에 따른 일실시예 상세 흐름도이다.
도 4a에 도시된 바와 같이, 본 발명에 분산시스템 구성 방법중 해당 애플리케이션이 위치한 서버장비를 식별하는 과정은, 먼저 사용자가 속한 도메인을 추적하고(401), 도메인내의 해당 애플리케이션을 수행할 서버 장비를 추적한다(402).
이제, 도 4b를 참조하여 사용자가 속한 도메인을 추적하는 과정(401)을 살펴보면 다음과 같다.
도 4b에 도시된 바와 같이, 사용자가 속한 도메인의 추적과정(401)은, 먼저 사용자가 어느 도메인에 속해있는지 EmpDep2Domain에서 검사한다(411).
검사결과, 찾으면(즉, 확인되면), 도메인내에서 해당 애플리케이션을 수행할 서버 장비를 추적한다(402).
검사결과, 찾지 못하면(즉, 확인되지 않으면), 사용자의 부서를 선택하고(412), 그 해당 부서가 속한 도메인을 EmpDep2Domain에서 확인하여(413), 없을 경우에(즉, 미확인된 경우에) 해당 부서의 상위 부서를 선택하여(414) 상기의 확인 과정(413)을 반복 수행한다.
한편, 도 4c 내지 4e를 참조하여 도메인내에서 해당 애플리케이션을 수행할 서버 장비를 추적하는 과정(402)을 살펴보면 다음과 같다.
도 4c 내지 4e에 도시된 바와 같이, 도메인내에서 해당 애플리케이션을 수행할 서버 장비를 추적하는 과정(402)은, 먼저 사용자(부서)가 속한 도메인이 하나인지를 확인한다(421).
확인결과, 하나이면 해당 도메인 및 상위 도메인에 대하여 서버 장비를 추적한다(422).
확인결과, 다수이면, 최상위 도메인이 하나인지 검사하여(423), 최상위 도메인이 하나인 경우에 도메인 검색 우선순위가 높은 도메인부터 가장 낮은 도메인까지 해당 도메인 및 상위 도메인에 대하여 서버장비를 추적하고(424), 최상위 도메인이 다수인 경우에 해당 애플리케이션이 속해있는 최상위 도메인 및 그 최상위 도메인에 속해있는 도메인만 취하고 나머지는 버린 후에(425), 도메인 검색 우선순위가 높은 도메인부터 가장 낮은 도메인까지 해당 도메인 및 상위 도메인에 대하여 서버장비를 추적한다(424). 이때, SeparatableAp의 ContainedTopDomainId 속성을 읽거나, 이 속성에 값이 기록되어 있지 않으면 SeparatableAp의 DomainIdMappedByThisAp 속성을 읽어(만약 이 값이 "0"이면 상위 애플리케이션에 대하여 반복 수행) 해당 애플리케이션을 위한 최상위 도메인을 식별하고, 나머지 다수의 도메인에 대하여 Domain의 ContainedTopDomainId가 이 최상위 도메인인 도메인만을 취한다.
다른 한편, 도 4d를 참조하여 해당 도메인 및 상위 도메인에 대하여 서버장비를 추적하는 과정(422)을 살펴보면 다음과 같다.
도 4d에 도시된 바와 같이, 해당 도메인 및 상위 도메인에 대하여 서버장비를 추적하는 과정(422)은, 먼저 해당 도메인에서 해당 애플리케이션이 위치한 서버 장비의 검색을 Domain2Ap2ServerMachine에서 분석한다(431).
분석결과, 검색되면 서비스 성공 여부를 확인하여(432) 성공시에 리턴하고, 실패시에 해당 애플리케이션의 유형(ApType)이 도메인의 계위를 쫓아 계속 서비스를 요구할 수 있는 애플리케이션인지를 확인한다(434).
확인결과, 도메인의 계위를 쫓아 계속 서비스를 요구할 수 없는 애플리케이션이면 리턴하고, 그렇지 않으면 현재 도메인이 최상위 도메인인지를 검사한다(435).
검사결과, 최상위 도메인이면 서비스 실패로 리턴하고, 그렇지 않으면 다음 상위 도메인을 선택한 후에(433) 해당 도메인에서 해당 애플리케이션이 위치한 서버 장비의 검색을 Domain2Ap2ServerMachine에서 분석한다(431).
또 다른 한편, 도 도 4e를 참조하여 도메인 우선 순위가 높은 도메인부터 가장 낮은 도메인까지 해당 도메인 및 상위 도메인에 대하여 서버 장비를 추적하는 과정(424)을 살펴보면 다음과 같다.
도 4e를 도시된 바와 같이, 도메인 우선 순위가 높은 도메인부터 가장 낮은 도메인까지 해당 도메인 및 상위 도메인에 대하여 서버 장비를 추적하는 과정(424)은, 먼저 도메인 검색 우선순위가 가장 높은 도메인을 선택한다(441).
이후의 과정은 도 4d에서의 과정(431 내지 435)과 동일하며(442 내지 446), 현재 도메인이 최상위 도메인인지를 검사하는 과정(445, 도 4e의 435)에서 최상위 도메인인 경우에 리턴하는 것이 아니라, 가장 검색우선순위가 낮은 도메인까지 모두 수행하였는지를 확인하여(447), 모두 수행한 경우에 서비스 실패로 리턴하고 종료되며, 모두 수행하지 않은 경우는 다음 우선순위 도메인을 선택한 후에(448), 상기의 과정(442 내지 446)을 반복 수행한다.
이제, 본 발명의 실시예에 따른 도메인 구성과 사용자(부서), 서버 장비, 애플리케이션 배치를 살펴보면 다음과 같다.
본 발명의 실시예에 따른 부서 및 애플리케이션 구성 예가 도 5 및 도 6에 도시되었다.
한 대의 서버 장비만 사용하는 경우의 시스템 구성 예가 도 7에 도시되었다.
도 7에 도시된 바와 같이, 주어진 환경(부서 구성도와 애플리케이션 Ap1.1, Ap1.2, Ap1.3)에서 한대의 서버 장비만 가용하다면, 선택의 여지 없이 다음과 같이 구성된다. 즉, 최상위 도메인 D1(Ap1을 위한 도메인)에 부서 Dep1(전체부서, 즉 전 사용자)가 배당되고, 도메인 D1에 속한 서버 장비 SM1에 모든 애플리케이션이 올라간다.
한편, 도 8a 및 8b를 참조하여, 하나의 랜(LAN)에 묶인 2대의 서버 장비 적용시의 시스템 구성 예를 살펴보기로 한다.
도 8a를 참조하면, 하나의 랜(LAN)에 묶인 2대의 서버 장비 적용시의 시스템 구성은, 하나의 도메인(D1)을 두고 서버 장비의 성능과 애플리케이션의 사용정도를 고려하여 하나의 서버 장비에 2개의 애플리케이션을 할당하는 구성이 가능하다.
또한, 도 8b를 참조하면, 하나의 랜(LAN)에 묶인 2대의 서버 장비 적용시의 시스템 구성은, 각 서버 장비별로 Ap1.1, Ap1.2, Ap1.3를 모두 할당하고 사용자(부서)를 배분하여 배당하는 방법이 있을 수 있다. 이러한 경우에는 각 서버 장비에 같은 애플리케이션이 수행되므로 하위 도메인을 나누어 각 서버 장비를 하위 도메인에 할당할 수 있다. 이러한 하위의 도메인에는 사용자를 할당하여야 하는데, 사용자가 부서 단위로 그룹지어져 있으므로 사용자 수를 고려하여 도메인 D1.1, D1.2에 각각 부서 Dep1.1, Dep1.2와 Dep1.3, Dep1.4를 할당할 수 있다. 단, 애플리케이션의 성격이 이렇게 사용자를 도메인별(즉 서버 장비별)로 배분하는 것을 허용하는 애플리케이션이어야 한다.
이제, 도 9를 참조하여 본 발명의 실시예에 따른 2개의 랜(LAN)으로 묶인 5대의 서버 장비(3대, 2대) 적용시의 시스템 구성 예를 살펴보기로 한다.
도 9에 도시된 바와 같이, 2개의 랜으로 묶인 5대의 서버 장비(3대, 2대) 적용시의 시스템 구성은, 랜(LAN)으로 묶인 단위에 위치해 있는 사용자는 그 랜 단위(랜 도메인)에 속한 서버 장비에서 서비스를 받는 것이 전체 시스템의 최적 구성에 유리하므로 최상위 도메인 D1을 랜 단위에 따라 하위 도메인 D1.1 과 D1.2로 나누고 각각에 속한 서버 장비로부터 애플리케이션이 제공하는 서비스를 받도록 할 수 있다. 이러한 경우에 하위 도메인 D1.1, D1.2내에서 하나의 랜(LAN)에 묶인 2대의 서버 장비 적용시의 시스템 구성(도 8a 및 8b 참조)에서와 같이 서버 장비의 성능과 애플리케이션의 성격을 고려하여 애플리케이션을 배치하게 된다. 이때, 하나의 랜(LAN)에 묶인 2대의 서버 장비 적용시의 시스템 구성(도 8a 및 8b 참조)과 달리 랜 도메인에 실질적으로 위치하는 사용자(부서)를 각 랜 도메인에 할당할 수 있다.
본 발명의 실시예에 따른 2개의 랜(LAN)으로 묶인 5대의 서버 장비(3대, 2대) 적용시의 시스템 구성은, 하위의 랜 도메인 D1.1을 통하여 서비스를 받는 사용자를 부서 Dep1.1, Dep1.2, Dep1.2.1.1 그리고 사용자 Emp 1으로 구성하고, D1.2를 통하여 서비스를 받는 사용자를 부서 Dep1.3, Dep1.4, Dep1.2.1으로 구성한다. 여기서, Dep1.2.1의 사용자가 실질적으로 랜 도메인 D1.2에 속하는 서버 장비에 물려있는데, 도메인 D1.1에 속한 서버 장비를 사용하도록 하는 것은 불합리하기 때문이다.
도 9의 예시에서는 Dep1.2.1.2.1에 속한 사용자 Emp 1이 자신이 속한 부서가 속한 도메인(D1.2)에 속하지 않고 D1.1에 속하도록 구성한 예를 보여주고 있다. 여기서, 부서 단위를 도메인에 할당하는 것은 사용자가 부서 단위로 그룹지어져 있어 배당에 있어서 편리하고 부서와 연관을 두어 체계적인 관리가 가능하기 때문이다. 단, 구성을 단순하게 하기 위하여 도메인과 상위 부서를 일치시키는 것(D1.1과 Dep1.1, Dep1.2 및 Dep1.2의 하위 부서)은 시스템 관리자의 재량으로 판단할 수 있다.
이제, 도 10을 참조하여 특정 애플리케이션의 특성이 조직 전체가 자료를 공유해야 하는 경우의 시스템 구성 예를 살펴보기로 한다.
도 10에 도시된 바와 같이, 특정 애플리케이션의 경우에 서버 장비별로 분산하고 사용자를 서버 장비별로 나누어 할당하는 것이 부적절한 성격의 애플리케이션이 있다. 주로 전 사용자가 해당 애플리케이션의 자료를 전체적으로 공유할 필요성이 있는 경우가 이에 해당한다.
만약, Ap1.1이 그러한 성격의 애플리케이션이라면, 전체 사용자(Dep1)를 나누어서 서버 장비 SM1(도메인 D1.1에 속함)과 SM4(도메인 D1.2에 속함)에 할당하는 것보다 어느 하나의 서버 장비로 하여금 애플리케이션 Ap1.1의 서비스를 전체 사용자에 대하여 제공하도록 하고 싶을 수 있다.
이러한 경우에, 역시 서버 장비의 성능과 애플리케이션의 성격, 그리고 사용자 수를 고려하여 서버 장비 SM1으로 하여금 전체사용자에 대하여 애플리케이션 Ap1.1의 서비스를 받도록 구성한다. 이때, 서버 장비 SM1이 전체 사용자에 대하여 서비스를 제공할 수 있어야 하므로 SM1을 전체 사용자에 대응하는 도메인 D1에 속하는 것으로 변경하고, 서버 장비 SM4에서 Ap1.1이 수행되지 않는 것으로 한다.
결국, SM1은 물리적으로는 랜 도메인 D1.1에 속한 서버 장비이나 논리적으로는 도메인 D1에 속하게 하는 것이다.
예를 들면, Dep1.2.1.2에 속한 사용자가 Ap1의 서비스를 필요로 할 경우에, 먼저 자신의 부서가 어느 도메인에 속하는지 찾게 된다. 이러한 경우에 Dep1.2.1.2가 속한 부서가 없으므로 그 상위 부서인 Dep 1.2.1를 찾아 이 부서가 속한 도메인이 D1.2인 것을 알 수 있다.
그런데, D1.2에는 서버 장비 SM 4, 5가 속해 있고 각각에는 Ap 2, Ap 3만이 있으므로 Ap 1의 서비스를 위해서는 D1.2의 상위 도메인인 D1을 추적하여 D1에 속한 서버 장비인 SM 1으로부터 Ap 1의 서비스를 받을 수 있는 것을 알 수 있다. 이때, 마찬가지로 모든 사용자는 Ap1.1의 서비스를 서버 장비 SM1에서 받게 된다.
한편, 도 11a 및 11b를 참조하여 특정 애플리케이션을 위한 서버 장비가 도메인내에 추가될 경우의 시스템 (재)구성 예를 살펴보면, 다음과 같다.
도 11a 및 11b에 도시된 바와 같이, 특정 애플리케이션을 위한 서버 장비가 도메인내에 추가될 경우의 시스템 (재)구성은, 도메인 D 1.1에 속하는 서버 장비의 성능이 낮아 해당 지역의 사원에게 Ap 1의 서비스를 제공하기 위하여 1대의 서버 장비가 추가 배치되는 것이 필요하고, 특히 Ap1.2를 서비스하고 있는 서버 장비 SM2의 사용자(Dep1.1, Dep1.2., Dep1.2.1.1, Emp1)를 배분하여 추가 서버 장비 SM6에 배치하는 것이 필요하다.
본 실시예에서는 하나의 도메인내에서 같은 애플리케이션이 2대의 서버 장비에 탑재될 수 없으므로 최소한 하나의 하위 도메인을 구성하여 배분되는 사용자를 생성되는 하위 도메인에 배당하여야 한다. 여기에서는 2가지 방안이 있을 수 있다.
도 11a를 참조하면, 첫 번째 방안은 하나의 하위 도메인 D1.1.1을 추가("직렬분할"이라 부름)하고 그 도메인에 사용자(부서) Dep1.1을 배분하는 것이다. 여기서, 부서 Dep1.1의 사용자가 Ap1.2의 서비스를 받고자 하면, 자신이 속한 부서의 도메인 D1.1.1에 속한 서버 장비 SM2에서 Ap1.2의 서비스를 받을 수 있다는 것을 알 수 있다. 마찬가지로, 부서 Dep1.2의 사용자가 Ap1.2의 서비스를 받을 경우에, 자신이 속한 도메인 D1.1에 속한 서버 장비중 서버 장비 SM6에서 Ap1.2 서비스를 받는 것을 알 수 있다.
도 11b를 참조하면, 두 번째 방안은 하나의 도메인에 같은 애플리케이션을 운용하는 서버 장비가 1대만 있어야 한다는 제약을 만족하기 위하여는, Ap3를 위한 1대의 서버 장비가 추가되는 경우 첫 번째 방안에서와 같이 하나의 하위 도메인을 생성할 수 있으나, 직관적으로 명백하게 하기 위하여 두개의 하위 도메인을 병렬로 생성("병렬분할"이라 부름)하고 각각의 서버 장비를 배당하고 사용자를 각각의 하위 도메인으로 나누어 배분할 수 있다. 이러한 두 번째 방안의 결과는 첫 번째 방안과 결과는 같으나, 다만 시스템 관리자가 도메인 구성을 직관적으로 알수 있도록 하기 위한 것이다. 여기서, 각 도메인에 속한 사용자가 필요한 애플리케이션의 서비스를 받는 과정은 첫 번째 방안에서와 같다.
한편, 도 12를 참조하여 애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템 구성 예를 살펴보면 다음과 같다.
어떤 애플리케이션이 부서별로 그 애플리케이션의 자료를 타 부서에 공개하지 않는 애플리케이션인 경우가 있다. 예를 들면, 게시판의 경우에 자신 부서의 게시판과 상위 부서의 게시판은 열람 가능해야 하지만, 그 이외의 게시판은 열람할 수 없어야 한다. 또 하나의 예는 영업 실적의 경우도 회사 정책에 따라서는 자신의 부서의 실적 또는 상위 부서의 집계된 실적은 조회할 수 있도록 하면서, 그 이외의 타 부서 영엽 실적은 공개하지 않는 경우가 있을 수 있다. 이외에도, 분산 환경의 애플리케이션에 있어서 이러한 경우는 흔히 볼 수 있다.
만약, Ap1.1이 게시판과 같은 그러한 성격의 애플리케이션이라고 가정한다. 이러한 경우에 Ap1.1의 모든 데이터를 서버 장비 SM 1에 두고(즉, Ap1.1을 도메인 D1에 속한 서버 장비 SM1에만 두고) 부서별 접근 권한에 따라 접근을 허용할 수도 있다. 그러나, 서버 장비 SM1이 랜 도메인 D1.1에 묶여 있으므로 랜 도메인 D1.2에 속해있는 사용자로 하여금 서버 장비 1으로 접근하도록 하는 것은 낭비임을 알 수 있다. 따라서, Ap1.1을 랜 도메인 D1.2에 속한 부서들에 대해서는 D1.2내의 어느 서버 장비에서 서비스하도록 하는 것이 효과적임을 알 수 있다. 단, D1.2내의 어느 서버 장비에서 서비스되는 Ap1.1은 D1.1내의 부서들에 서비스할 필요가 있는 자료만 가지고 있으면서 서비스하면 되고, 그 이상의 범주(도메인 D1, 즉 전체부서 Dep1)의 자료는 상위 도메인인 D1에 속한 서버 장비 SM1에서 서비스 받을 수 있다.
도 12에 도시된 바와 같은, 애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템의 구성에서 D1.2의 SM 4에 탑재된 Ap1.1(예; 게시판 애플리케이션)에서는 Dep1.3, Dep1.4, Dep1.2.1(Dep1.2.1.2.1및 그 이하 부서 제외) 부서 Ap1.1의 데이터만 가지고 있으면서 서비스된다.
이러한 구성에 있어서, 부서 Dep1.2.1의 사용자가 자신 부서의 Ap1.1 서비스를 받고자 할 경우는 최초의 자신이 속한 도메인내의 Ap1.1용 서버 장비인 SM4에서 서비스받게 되고, 그 사용자가 부서 Dep1.2의 Ap1.1 자료에 대한 서비스를 필요로 할 경우는 SM4에서 서비스 받을 수 없기 때문에 그 상위 도메인(D1)을 추적하여 Ap1.1 서비스를 제공할 수 있는 서버 장비 SM1에서 상위 부서 Dep1.2, Dep1의 Ap1.1 서비스를 제공받게 된다. 결국, 서버 장비 SM1은 부서 Dep1.3, Dep1.4, Dep1.2.1의 Ap1.1 데이터는 가지고 있지 않아도 되고 그 데이터를 SM4에 나누어 준 것과 같은 효과가 있게 된다(데이터의 분산 및 사용자의 분산).
이제, 애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템 구성(도 12 참조)에서 예시한 성격의 애플리케이션의 분산을 위하여 도메인 계위에 따라 직렬로 분리될 경우의 시스템 (재)구성 예가 도 13a 및 13b에 도시되었다.
애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템 구성 예(도 12 참조)에서 도메인 D1 수준에서 Ap1.1의 서비스를 제공하는 서버 장비 SM1의 용량이 부족하다면, 신규 서버 장비를 추가하여 부하를 분산하거나, 애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템 구성 예(도 12 참조)에서 처럼 하위 도메인의 서버 장비에서 그 도메인에 속한 사용자에 대하여 서비스를 제공하도록 하는 방안을 생각할 수 있다.
도 13a 및 13b에서는, 애플리케이션의 성격이 사용자에게 자신의 부서의 자료와 상위 부서의 자료만을 공개하는 것을 허용하는 경우의 시스템 구성 예(도 12 참조)의 경우와 같이 하위 도메인(D1.1)의 서버 장비에서 그 도메인에 속한 사용자에게 Ap1.1 서비스를 제공하도록 하는 경우의 예를 보인다.
그런데, 여기서 한가지 문제가 있음을 알 수 있다. 즉, Dep1.2.1에 속한 사용자가 부서 Dep 1.2 이 Ap1.1을 조회하려고 한다면, SM3에서 서비스받을 수 없기 때문에 상위의 도메인인 D1에 속한 서버 장비 SM1에서 서비스 받으려 하기 때문이다. 이러한 문제를 해결하는 방안이 몇가지 있을 수 있다.
도 13a를 참조하면, 첫 번째 방안은, 부서 Dep1.2의 Ap1.1의 데이터를 서버 장비 SM3에도 두고 SM1에도 두어 서비스 받을 권한이 있는 사용자가 서비스 받을 수 있도록 하는 것이다. 즉, 애플리케이션의 데이터를 중복하여 가지고 있는 것으로, 이는 해당 애플리케이션(예에서 게시판, 즉 Ap1.1)이 서버 장비별 데이터의 복제 내역을 가지고 있어야 한다. 이는 서버 장비 SM3에 탑재된, 점선으로 표시된 애플리케이션 Ap1.1에서 부서 Dep1.1, Dep1.2의 Ap1.1 자료를 가지고 있고, 최상위 도메인 D1에 속한 서버 장비 SM1에서 부서 Dep1, Dep1.2의 Ap1.1 자료를 가지고 있는 것이다.
그리고, 도 13a를 참조하면, 두 번째 방안은, 서버 장비 SM3에서 사용자 Dep1.2에 대한 Ap1.1 서비스를 하지 않는(즉, SM3에서 사용자 Dep1.2의 Ap1.1을 가지고 있지 않아도) 것이다. 이러한 경우는 데이터의 복제가 없게된다.
본 실시예에서 서버 장비 SM1이 도메인 D1에 속하여 전체 사용자인 Dep1에 대하여 서비스를 제공하도록 되어있지만, 실제로는 랜 도메인 D1.1에 속한 서버 장비이므로 서버 장비의 용량과 애플리케이션의 사용 정도를 고려하여 이러한 배치가 유력하다. 다시 정리하면, 이러한 경우는 서버 장비 SM1에서 도메인 D1.1에 속한 부서중 Dep1.1, Dep1.2.1.1의 Ap1.1 자료만 도메인 D1.1의 서버 장비 SM3로 분리하여 놓은 것과 동일하다.
도 13a에서 SM3에서 Dep1.1만의 Ap1.1의 자료를 가지고, 서버 장비 SM1에서 Dep1, Dep1.2의 Ap1.1의 자료를 가지는 것이다. 이러한 경우에 관리를 직관적으로 쉽게하기 위하여 시스템 관리자는 Dep1.2.1.1의 Ap1.1의 자료를 SM1에 두는 등의 배치를 고려할 수 있다.
도 13b를 참조하면, 세 번째 방안은, 데이터의 복제를 하지 않으면서 도메인 D1.1의 서버 장비 SM3에 그 도메인에 속한 모든 부서(Dep1, Dep2, Dep1.2.1.1)의 Ap1.1을 두고, 도메인 D1의 서버 장비 SM1에는 부서 Dep1의 Ap1.1만 두고 문제를 해결할 수 있는 방안이다.
도 13b에 도시된 바와 같이, 세 번째 방안은 부서 Dep1.2.1에 속한 사용자가 부서 Dep1.2의 Ap1.1 서비스를 필요로 할 경우에, 최초의 서버 장비 SM4에서 서비스 받을 수 없으므로 다음 도메인의 서버 장비 SM3로 서비스를 요청하게 되고, 서버 장비 SM3는 부서 Dep1.2의 Ap1.1 자료를 그 사용자에게 제공할 수 있다.
이제, 도 14를 참조하여 직렬 도메인 추가에 의한 시스템 구성 예를 살펴보면 다음과 같다.
도 14에 도시된 바와 같이, 직렬 도메인 추가에 의한 시스템 구성은, Ap1.1(게시판으로 가정)이 Dep1의 Ap1.1만 서비스하고 있는 상태에서 서버 장비의 용량이 부족하여 추가 서버 장비를 탑재하여야 할 경우가 있다. 이러한 경우에 도메인 D1에서 병렬로 하위 도메인을 분할하는 것은 매우 중복되고 부자연스러운 도메인 구성이 되는 것을 알 수 있다.
이러한 경우는 도메인 D1을 포함하는 상위 도메인을 생성하고 그 도메인에 추가되는 서버 장비를 배치하고 그 서버 장비에서 Ap1.1이 수행되는 것으로 하여 문제를 쉽게 해결할 수 있다. 또한, 도메인 D1에 속한 서버 장비 SM1을 제외한 모든 도메인을 포함하는 하위 도메인을 생성하여 추가되는 서버 장비를 그 하위 도메인에 할당하여도 결과는 마찬가지이다.
결국, Dep1 수준의 Ap1.1의 내용중 SM 1에서 제공하지 못하는 것은 SM 7에서 제공받을 수 있음을 알 수 있다.
이상에서와 같이, 본 발명의 실시예에 따른 간단한 예를 들었으나, 매우 복잡한 실제의 대형시스템에 있어서 체계적인 관리를 위하여 이러한 모형의 적용이 필수적이다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.
상기한 바와 같은 본 발명은, 어느 사용자(부서)에게 어느 애플리케이션의 서비스를 제공할 필요가 있을 때 어느 서버 장비에서 서비스받을 수 있는지를 알 수 있게 해주는 모형을 구축하는데 있어서, 도메인이 "사용자(부서)"와 "애플리케이션(애플리케이션 및 그 요소)" 그리고 "서버 장비"간의 상호관계를 매개해 주는 역할을 하여 다수의 서버 장비와 다수의 복잡한 시스템(또는 애플리케이션)으로 이루어진 분산시스템을 가능하게 하는 골격(Framework)을 제공하고, 이를 바탕으로 서버 장비 추가 기타의 사유로 인한 애플리케이션의 재배치시에도 전체 시스템을 최적화하기 위한 재 구성이 자유로운 유연한 분산시스템을 구현할 수 있는 효과가 있다.

Claims (12)

  1. 분산시스템에 적용되는 분산시스템 구성 방법에 있어서,
    서버 장비의 그룹을 도메인으로 설정하고, 상기 도메인에 속한 상기 서버 장비를 사용할 사용자(부서)를 할당하며, 상기 도메인내의 상기 서버 장비들에 운용할 애플리케이션을 배치하는 제 1 단계; 및
    배치된 결과를 체계적으로 저장하는 제 2 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  2. 제 1 항에 있어서,
    상기 사용자에게 상기 애플리케이션의 서비스 제공시에, 상기 사용자(부서)와 상기 애플리케이션, 그리고 상기 서버 장비간의 상호관계를 나타내는 상기 도메인에 대한 상기 저장된 배치 결과를 통해 상기 사용자가 서비스받고자 원하는 상기 애플리케이션이 위치한 상기 서버 장비를 식별하는 제 3 단계
    를 더 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  3. 제 2 항에 있어서,
    상기 제 3 단계는,
    상기 사용자가 속한 상기 도메인을 추적하는 제 4 단계; 및
    상기 도메인내의 해당 애플리케이션을 수행할 상기 서버 장비를 추적하는 제 5 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  4. 제 3 항에 있어서,
    상기 제 4 단계는,
    상기 사용자가 어느 도메인에 속해있는지 "사용자(부서)와 도메인의 관계(EmpDep2Domain)"에서 검사하는 제 6 단계;
    상기 제 6 단계의 검사결과, 찾으면(즉, 확인되면) 상기 제 5 단계로 넘어가고, 찾지 못하면(즉, 확인되지 않으면), 사용자의 부서를 선택하는 제 7 단계; 및
    상기 제 7 단계 수행후에, 확인되면 상기 제 5 단계로 넘어가고, 확인되지 않으면 그 해당 부서가 속한 도메인을 상기 "사용자(부서)와 도메인의 관계(EmpDep2Domain)"에서 확인하여, 없을 경우에(즉, 미확인된 경우에) 해당 부서의 상위 부서를 선택하여 그 해당 부서가 속한 도메인을 상기 "사용자(부서)와 도메인의 관계(EmpDep2Domain)"에서 확인하는 제 8 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  5. 제 4 항에 있어서,
    상기 제 5 단계는,
    상기 사용자(부서)가 속한 상기 도메인이 하나인지를 확인하는 제 9 단계;
    상기 제 9 단계의 확인결과, 하나이면 해당 도메인 및 상기 상위 도메인에 대하여 상기 서버 장비를 추적하는 제 10 단계; 및
    상기 제 9 단계의 확인결과, 다수이면, 상기 최상위 도메인이 하나인지 검사하여, 상기 최상위 도메인이 하나인 경우에 도메인 검색 우선순위가 높은 도메인부터 가장 낮은 도메인까지 해당 도메인 및 상위 도메인에 대하여 상기 서버 장비를 추적하고, 상기 최상위 도메인이 다수인 경우에 해당 애플리케이션이 속해있는 최상위 도메인 및 그 최상위 도메인에 속해있는 상기 도메인만 취하고 나머지는 버린 후에 도메인 검색 우선순위가 높은 도메인부터 가장 낮은 도메인까지 상기 해당 도메인 및 상기 상위 도메인에 대하여 상기 서버장비를 추적하는 제 11 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  6. 제 5 항에 있어서,
    상기 제 10 단계의 상기 해당 도메인 및 상기 상위 도메인에 대하여 상기 서버 장비를 추적하는 과정은,
    상기 해당 도메인에서 해당 애플리케이션이 위치한 상기 서버 장비의 검색을 "도메인과 서버 장비와 애플리케이션간의 관계(Domain2Ap2ServerMachine)"에서 분석하는 제 12 단계;
    상기 제 12 단계의 분석결과, 검색되면 서비스 성공 여부를 확인하여 성공시에 리턴하고, 실패시에 해당 애플리케이션의 유형(ApType)이 상기 도메인의 계위를 쫓아 계속 서비스를 요구할 수 있는 상기 애플리케이션인지를 확인하는 제 13 단계;
    상기 제 13 단계의 확인결과, 상기 도메인의 계위를 쫓아 계속 서비스를 요구할 수 없는 상기 애플리케이션이면 리턴하고, 그렇지 않으면 현재 도메인이 상기 최상위 도메인인지를 검사하는 제 14 단계; 및
    상기 제 14 단계 검사결과, 상기 최상위 도메인이면 서비스 실패로 리턴하고, 그렇지 않으면 다음 상기 상위 도메인을 선택한 후에 상기 제 12 단계로 넘어가는 제 15 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  7. 제 5 항에 있어서,
    상기 제 11 단계의 도메인 검색 우선순위가 높은 도메인부터 가장 낮은 도메인까지 상기 해당 도메인 및 상기 상위 도메인에 대하여 상기 서버장비를 추적하는 과정은,
    도메인 검색 우선순위가 가장 높은 상기 도메인을 선택하는 제 12 단계;
    상기 해당 도메인에서 해당 애플리케이션이 위치한 상기 서버 장비의 검색을 "도메인과 서버 장비와 애플리케이션간의 관계(Domain2Ap2ServerMachine)"에서 분석하는 제 13 단계;
    상기 제 13 단계의 분석결과, 검색되면 서비스 성공 여부를 확인하여 성공시에 리턴하고, 실패시에 해당 애플리케이션의 유형(ApType)이 상기 도메인의 계위를 쫓아 계속 서비스를 요구할 수 있는 상기 애플리케이션인지를 확인하는 제 14 단계;
    상기 제 14 단계의 확인결과, 상기 도메인의 계위를 쫓아 계속 서비스를 요구할 수 없는 상기 애플리케이션이면 리턴하고, 그렇지 않으면 현재 도메인이 상기 최상위 도메인인지를 검사하는 제 15 단계; 및
    상기 제 15 단계 검사결과, 상기 최상위 도메인이면 가장 검색우선순위가 낮은 도메인까지 모두 수행하였는지를 확인하여, 모두 수행한 경우에 서비스 실패로 리턴하고 종료되며, 모두 수행하지 않은 경우에는 다음 우선순위 도메인을 선택한 후에 상기 제 13 단계로 넘어가는 제 16 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 단계는,
    최상위 도메인(TopDomain)을 설정하여 가용한 모든 상기 서버 장비를 상기 최상위 도메인에 속하게 하고 전체 사용자를 배당하는 제 4 단계;
    두 개 이상의 랜 단위가 존재하는지를 분석하는 제 5 단계;
    상기 제 5 단계의 분석결과, 존재하면, 랜 도메인 단위로 분할 및 배당한 후에, 하위 도메인을 분할 및 배당하는 제 6 단계; 및
    상기 제 5 단계의 분석결과, 존재하지 않으면, 상기 하위 도메인을 분할 및 배당하는 제 7 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  9. 제 8 항에 있어서,
    상기 제 6 단계의 랜 도메인 단위로의 분할 및 배당 과정은,
    상기 하위 도메인을 분할 전처리하여 현재의 상기 도메인내의 모든 사용자에 서비스하여야 할 상기 애플리케이션이 존재하는지를 검사하는 제 8 단계;
    상기 제 8 단계의 검사결과, 존재하면, 상기 애플리케이션 수행에 필요한 상기 서버 장비가 한 대로 충분한지를 확인하는 제 9 단계;
    상기 제 9 단계의 확인결과, 한 대의 장비에서 수용 가능하면, 상기 서버 장비의 성능과 사용빈도등을 고려하여 적당한 상기 서버 장비를 선정하고, 상기 서버 장비를 상기 최상위 도메인에 배당하며, 상기 애플리케이션을 배치하는 제 10 단계;
    상기 제 9 단계의 확인결과, 여러대의 장비에서 수용해야 하는 경우에, 필요한 서버 장비의 수에서 일을 뺀 만큼의 상기 하위 도메인을 연속적으로(직렬로) 생성하고, 상기 애플리케이션을 위한 상기 서버 장비를 현재의 도메인부터 상기 하위의 도메인으로 하나씩 배당하는 제 11 단계;
    상기 제 8 단계의 검사결과, 존재하지 않으면, 랜 단위로 도메인을 분할하는 것이 적절한지를 판단하는 제 12 단계;
    상기 제 12 단계의 판단결과, 적절하지 않으면, 상기 하위 도메인 분할 및 배당 과정을 수행하는 제 13 단계; 및
    상기 제 12 단계의 판단결과, 적절하면, 랜 단위의 랜 도메인으로 상기 도메인을 분할하고 상기 사용자(부서)를 각각 할당한 후에, 각각의 랜 도메인에 대하여 상기 하위 도메인 분할 및 배당 과정을 수행하는 제 14 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  10. 제 9 항에 있어서,
    상기 제 6 및 7 단계의 상기 하위 도메인을 분할 및 배당하는 과정은,
    상기 하위 도메인을 분할 전처리(상기 랜 도메인 단위로의 분할 및 배당 과정)하는 제 15 단계;
    분할 필요성을 검토하기 위해, 상기 서버 장비의 수가 가동될 상기 애플리케이션의 수보다 많거나(SM수 > Ap수), 아니더라도 하나의 상기 애플리케이션이 두 대 이상의 상기 서버 장비에 분산되어야 할 필요가 있는지를 검사하는 제 16 단계;
    상기 제 16 단계의 검사결과, 분할이 불필요하면, 상기 도메인내 상기 서버 장비와 상기 사용자(부서)를 고려하여 상기 애플리케이션을 배치하는 제 17 단계; 및
    상기 제 16 단계의 검사결과, 분할이 필요하면, 상기 서버 장비의 성능과 사용 빈도등을 고려하여 같은 애플리케이션이 배치되는 상기 서버 장비들을 각각의 도메인으로 분할하고 현재의 도메인의 사용자를 각각의 도메인으로 나누어 할당한 후에, 상기 도메인내 상기 서버 장비와 상기 사용자(부서)를 고려하여 상기 애플리케이션을 배치하는 제 18 단계
    를 포함하여 이루어진 계층적 도메인 모형을 이용한 분산시스템 구성 방법.
  11. 프로세서를 구비한 분산시스템에,
    서버 장비의 그룹을 도메인으로 설정하고, 상기 도메인에 속한 상기 서버 장비를 사용할 사용자(부서)를 할당하며, 상기 도메인내의 상기 서버 장비들에 운용할 애플리케이션을 배치하는 기능; 및
    배치된 결과를 체계적으로 저장하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 제 11 항에 있어서,
    상기 사용자에게 상기 애플리케이션의 서비스 제공시에, 상기 사용자(부서)와 상기 애플리케이션, 그리고 상기 서버 장비간의 상호관계를 나타내는 상기 도메인에 대한 상기 저장된 배치 결과를 통해 상기 사용자가 서비스받고자 원하는 상기 애플리케이션이 위치한 상기 서버 장비를 식별하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019980061637A 1998-12-30 1998-12-30 계층적도메인모형을이용한분산시스템구성방법 KR100310862B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980061637A KR100310862B1 (ko) 1998-12-30 1998-12-30 계층적도메인모형을이용한분산시스템구성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980061637A KR100310862B1 (ko) 1998-12-30 1998-12-30 계층적도메인모형을이용한분산시스템구성방법

Publications (2)

Publication Number Publication Date
KR20000045109A KR20000045109A (ko) 2000-07-15
KR100310862B1 true KR100310862B1 (ko) 2001-12-17

Family

ID=19568364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980061637A KR100310862B1 (ko) 1998-12-30 1998-12-30 계층적도메인모형을이용한분산시스템구성방법

Country Status (1)

Country Link
KR (1) KR100310862B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100463208B1 (ko) * 2002-08-05 2004-12-23 (주)하우앤와이 로컬 네임 서버 중심의 내부 도메인 시스템 구현 방법

Also Published As

Publication number Publication date
KR20000045109A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
US10764299B2 (en) Access control manager
US6292889B1 (en) Distributed computer network including hierarchical resource information structure and related method of distributing resources
US10200493B2 (en) High-density multi-tenant distributed cache as a service
CN106471471B (zh) 用于在多租户应用服务器环境中支持分区的系统和方法
CN111159134B (zh) 面向多租户的分布式文件系统安全访问控制方法及系统
KR100974149B1 (ko) 네임스페이스에 대한 정보 유지 방법, 시스템 및 컴퓨터 판독가능 저장 매체
US20150373099A1 (en) System and method for configuration tagging in a multitenant application server environment
US10339123B2 (en) Data management for tenants
US20100030995A1 (en) Method and apparatus for applying database partitioning in a multi-tenancy scenario
US8140717B2 (en) Controlling access to physical indicators in a logically partitioned computer system
CN109313564A (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
WO1994025924A9 (en) Method and apparatus for enterprise desktop management
CN108399101A (zh) 资源调度的方法、装置和系统
WO2012039053A1 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
Nashat et al. A comprehensive taxonomy of fragmentation and allocation techniques in distributed database design
CN112256439B (zh) 一种基于云计算资源池的服务目录动态更新系统及方法
CN108040136A (zh) 一种ip资源管理方法及系统
CN112035244A (zh) 在多租户环境中虚拟节点集群的部署
US8042158B2 (en) Management of user authorizations
US5941943A (en) Apparatus and a method for creating isolated sub-environments using host names and aliases
KR100310862B1 (ko) 계층적도메인모형을이용한분산시스템구성방법
KR20220061244A (ko) 컴퓨터 시스템 리소스 임의 그룹화
CN114090969B (zh) 多级多租户交叉授权管理方法
US5881227A (en) Use of daemons in a partitioned massively parallel processing system environment
US20050172149A1 (en) Method and system for management of information for access control

Legal Events

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

Payment date: 20100909

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee