KR100633500B1 - 컴퓨터 시스템들의 네트워크에서 작업 부하 조정을 위한방법 및 시스템 - Google Patents

컴퓨터 시스템들의 네트워크에서 작업 부하 조정을 위한방법 및 시스템 Download PDF

Info

Publication number
KR100633500B1
KR100633500B1 KR1020047001390A KR20047001390A KR100633500B1 KR 100633500 B1 KR100633500 B1 KR 100633500B1 KR 1020047001390 A KR1020047001390 A KR 1020047001390A KR 20047001390 A KR20047001390 A KR 20047001390A KR 100633500 B1 KR100633500 B1 KR 100633500B1
Authority
KR
South Korea
Prior art keywords
dbms
client
network address
members
domain name
Prior art date
Application number
KR1020047001390A
Other languages
English (en)
Other versions
KR20040074972A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20040074972A publication Critical patent/KR20040074972A/ko
Application granted granted Critical
Publication of KR100633500B1 publication Critical patent/KR100633500B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 클라이언트를 복수의 데이터베이스 관리 시스템 구성원을 갖는 컴퓨터 시스템들의 네트워크에 의해 관리되는 데이터베이스에 접속시키기 위한 방법 및 시스템에 관한 것이다. 상기 방법 및 시스템은 상기 클라이언트가 복수의 DBMS 구성원 중 동작 중인 DBMS 구성원에 접속하는 데 사용되는 공유 네트워크 주소를 상기 복수의 DBMS 구성원들에게 제공하는 것을 포함한다. 본 발명의 상기 태양을 통해, 공유 네트워크 주소는 하나의 구성원이라도 동작 중인 한도에서 복수의 DBMS 구성원 중 임의의 하나에, 네트워크 라우터를 통해 상기 클라이언트가 접속할 수 있도록 허용한다. 클라이언트가 하나의 구성원에 접속되면, 구성원은 모든 동작 중인 구성원 및 그들 각각의 작업 부하의 목록을 상기 클라이언트에게 전송한다. 또한, 상기 DBMS 구성원과의 첫 번째 접속에 문제가 발생한 후에 클라이언트가 DBMS 구성원과 재동기화 과정을 수행하고 동작 중인 구성원들에게 작업을 균등하게 분배할 수 있도록, 상기 목록은 각각의 구성원에 대응되는 구성원에 특정한 네트워크 주소를 포함한다.
작업 부하, 네트워크, 도메인 네임 서버, 라우터, 데이터베이스 관리 시스템, 재동기화.

Description

컴퓨터 시스템들의 네트워크에서 작업 부하 조정을 위한 방법 및 시스템{METHOD AND SYSTEM FOR WORKLOAD BALANCING IN A NETWORK OF COMPUTER SYSTEMS}
본 발명은 일반적으로 일단의(a set of) 데이터베이스 관리 시스템 서버에 의해 관리되는 원격 데이터베이스(remote database)에 관한 것으로, 더 자세하게는 클라이언트 시스템이 작업 부하 조정(workload balancing) 및 재동기화(resynchronization)를 위하여 원격 데이터베이스에 대한 액세스를 획득하는 것이 가능하도록 하는 방법 및 시스템에 관한 것이다.
오늘날의 정보 기술 산업에서, 고객들은 그들의 기존 애플리케이션들을 계속해서 사용할 수 있으면서도 그들의 현재 시스템보다 더 나은 성능과 비용 향상을 가지는 시스템을 희망한다. 오늘날 인터넷을 통한 전세계적 연결 능력과 이동 인구의 증가를 고려하면, 높은 이용 가능성 또한 중요하다. 정보 기술 애플리케이션을 위한 현재의 처리 시스템 디자인은 확장성이 있어야 하고, 입상 증가(granular growth) 및 계속적인 애플리케이션 이용 가능성을 제공해야 한다. IBM 사의 S/390 병렬 시스플렉스(Parallel Sysplex)와 같은 클러스터링 기술(clustering technology)은 이러한 디자인 요구를 달성하기 위해 발전해왔다.
클러스터는 하나의 강력한 시스템을 만드는 방법으로 개별 데이터 처리 시스템을 연결하고, 이는 다수의 사용자를 동시에 지원할 수 있다. 클러스터는 높은 이용 가능성과 뛰어난 확장성을 제공한다. 상기 클러스터 내의 하나의 시스템/노드(node)에 장애가 발생한 경우에도, 클러스터 내의 나머지 시스템들은 계속해서 동작한다.
클러스터 기술은 병렬 데이터베이스 관리 시스템에 많은 이점을 제공한다. 예를 들면, 도 1은 데이터베이스가 존재하는 디스크 드라이브 등의 저장 장치들(111 내지 113)로 구성된 저장소(pool; 110)와 같은 디스크 공간을 공유하는, 세 대의 컴퓨터(101 내지 103)로 구성된 시스플렉스 환경(100)을 도시한다. 각각의 컴퓨터(101 내지 103)는 데이터베이스 관리 시스템 구성원(DBMS member)(121 내지 123) 및 단위 작업(a unit of work)의 실행(commit) 및 복구(roll back)를 관리하기 위한 관련 기록부 데이터 세트(log dataset; 151 내지 153)를 포함한다. 각각의 기록부 데이터 세트(151 내지 153)는 오직 그것을 소유한 DBMS 구성원에 의해서만 액세스될 수 있다. 각각의 DBMS 구성원(121 내지 123)은 다른 DBMS 구성원과 통신하는 방법 및 그들에게 공통된 데이터 저장소(110)를 관리하는 방법을 알고 있다. 결합 장치(coupling facility; 120)는 컴퓨터들(101 내지 103)을 서로 연결시키며, 또한 이들을 저장 장치들(111 내지 113)로 구성된 저장소(110)에 연결시킨다. 또한, 상기 결합 장치(120)는 각 DBMS 구성원(121 내지 123)의 작업 부하를 관리, 감시 및 조정하는 작업 부하 관리자{Work Load Manager(WLM); 124}를 포함한다.
시스플렉스(100)는, 일반적으로는 TCP/IP 네트워크인 네트워크 연결(145)을 통해 복수의 클라이언트 시스템(140)에 액세스할 수 있다. 명확을 기하기 위해, 단지 하나의 클라이언트(140)만이 도 1에 도시되어 있다. 상기 클라이언트(140)는 다른 병렬 시스플렉스, 워크스테이션(workstation) 또는 다른 개인용 컴퓨터가 될 수 있다. 상기 클라이언트(140)는 시스플렉스(100)를 복수의 구분된 DBMS 구성원(121 내지 123)이 아닌 하나의 이미지, 즉 하나의 원격 데이터베이스로 본다. 클라이언트(140)가 데이터베이스에 요청(request)이나 명령(command)을 제출하려 할 때, 클라이언트(140)는 시스플렉스(100)의 단지 하나의 DBMS 구성원(예를 들어 121)과 통신을 초기화할 필요가 있다. 상기 하나의 구성원(121)에 대한 액세스를 획득하기 위해, 상기 클라이언트(140)는 도메인 네임 서버{domain name server(DNS); 130}에 메시지를 전송해서, 시스플렉스(100)에서 동작 중인 DBMS 구성원(121 내지 123)을 포함하는 컴퓨터(101 내지 103)의 네트워크 주소(예를 들어 IP 주소)를 요청한다.
DNS(130)는 작업 부하 관리자(WLM; 124)와 밀접하게 결합 즉, 통합되어 있고, 네트워크 상의 시스플렉스와 같은 컴퓨터들의 서로 다른 그룹들 모두에 대한 디렉터리(directory) 및 그들 각각의 IP주소를 보관한다. 각각의 컴퓨터 그룹에는 "system1.vnet.ibm.com"과 같은 도메인 네임이 부여되고, 상기 그룹 내의 각각의 컴퓨터는 개별적인 IP 주소를 갖는다. 클라이언트(140)는 데이터베이스들이 "system1.vnet.ibm.com"라고 불리는 시스템의 일부임을 DNS(130)에 등록한다. DNS(130)는 IP주소들을 보관하고 있으므로, 클라이언트(140)는 개별 컴퓨터의 IP 주소를 하드 코딩(hard code)할 필요가 없다. 따라서, 클라이언트(140)가 데이터베이스에 접속하기 위해 DNS(130)에 요청을 제출할 때, 상기 클라이언트(140)는 데이터베이스 위치의 도메인 네임을 확인하고, DNS(130)는 상기 도메인 네임을 부여된 IP 주소들의 그룹으로 변환시킨다.
클라이언트(140)의 요청에 대한 추가적인 응답으로, DNS(130)는 어떤 DBMS 구성원들(121 내지 123)이 동작 중인지 및 어떤 컴퓨터(101 내지 103) 상에 그들이 존재하는지를 결정하기 위하여 WLM(124)을 이용하여 체크한다. 그 후, DNS(130)는 해당 이름을 가진 그룹을 위해 동작 중인 DBMS 구성원을 포함하는 컴퓨터(101, 102 또는 103)의 IP 주소를 포함하는 메시지를 클라이언트(140)에 반환한다. 작업 부하 조정을 지원하는 시스플렉스 환경에서, DNS(130)에 의해 클라이언트(140)에 반환된 IP 주소는 최소 부하를 갖는 DBMS 구성원을 포함하는 컴퓨터의 주소이다. 최소 부하를 갖는 구성원을 결정하기 위해, DNS(130)는 각각의 DBMS 구성원(121 내지 123)의 작업 부하를 감시하고 있는 WLM(124)과 통신한다. 그 후, 클라이언트(140)는 시스플렉스 내에서 DBMS 구성원을 포함하는 대응 컴퓨터와의 초기 접속을 설정하기 위해 상기 IP 주소를 이용한다.
클라이언트(140)와 하나의 DBMS 구성원(예를 들어 121) 간에 초기 접속이 만들어지면, DBMS 구성원(121)은 클라이언트(140)에게, 동작 중인 DBMS 구성원들 및 예를 들어 가중치 목록(weighted list)과 같은 그들 각각의 작업 부하를 포함하는 목록(도시하지 않음)을 반환한다. 상기 목록은 클라이언트가 데이터베이스 시스플렉스의 동작 중인 구성원들 간에 작업을 균등하게 분배할 수 있도록 한다.
이상의 구성은 복수의 클라이언트를 위한 데이터 공유 및 작업 부하 조정을 제공한다. 그러나, WLM(124)에 대한 DNS(130)의 밀접한 결합은 여러 문제점을 갖고 있다. 첫째, 다수의 시스플렉스 시스템에 DNS들이 인스톨되어 있지 않으며, 고객들은 DNS를 그들의 현재의 TCP/IP 네트워크에 통합하는 것에 대해 내켜하지 않는다. 만약 DNS(130)가 없다면, 클라이언트(140)는 데이터베이스와의 접속을 설정할 수 없게 되므로, 분산 시스플렉스 전략은 실패로 돌아가게 된다. 둘째, WLM을 지원하는 DNS가 인스톨된다 하더라도, WLM과 DNS 사이의 정보 교환과 관련된 대기(latency)가 있게된다. 따라서, 클라이언트(140)가 DNS(130)에 다수의 요청을 보내는 게이트웨이(gateway)라면, 상기의 대기로 인한 지연(delay)이 효율(performance)에 손상을 줄 수 있다. 셋째, DNS는 일반적으로 UNIX기반 애플리케이션이고 WLM은 데이터베이스 애플리케이션이므로, WLM과 DNS간의 통합은 복잡하고 어렵다.
따라서, 시스플렉스 시스템에서 작업 부하 조정 기능을 지원하고, 그러한 시스템이 효율을 향상시키는 방법 및 시스템의 필요성이 존재한다. 상기 방법 및 시스템은 쉽게 구현될 수 있어야 하며, 기존 시스템에 광범위한 수정을 필요로 하는 것이어서는 안 된다. 본 발명은 이러한 필요성에 대해 다루고 있다.
본 발명은, 복수의 데이터베이스 관리 시스템(DBMS) 구성원을 갖는 컴퓨터 시스템들의 네트워크에 의해 관리되는 데이터베이스에 클라이언트가 접속할 수 있도록 하는 방법 및 시스템에 관한 것이다. 상기 방법 및 시스템은 복수의 DBMS 구 성원들에게 공유 네트워크 주소(shared network address)를 제공하는 기능을 포함하며, 이는 클라이언트가 복수의 DBMS 구성원 중에 동작 중인 DBMS 구성원에 접속하기 위한 경우에 사용된다.
본 발명의 태양에 있어서, 상기 공유 네트워크 주소는 하나의 구성원이라도 동작하는 경우에 클라이언트가 네트워크 라우터(network router)를 통해 복수의 DBMS 구성원 중의 임의의 하나에 접속할 수 있도록 한다. 상기 클라이언트가 하나의 구성원에 일단 접속이되면, 상기 구성원은 모든 동작 중인 구성원 및 그들 각각의 작업 부하에 대한 목록을 클라이언트에게 전송한다. 또한, 상기 목록은 클라이언트가 동작 중인 구성원들에게 균등하게 작업을 분배할 수 있도록 각각의 구성원에 대응되는 구성원에 특정한 네트워크 주소(member-specific network address)를 포함한다.
본 발명의 다른 태양에 있어서, 상기 구성원에 특정한 네트워크 주소는 대응되는 DBMS 구성원에 유일하고, 구성원이 존재하는 컴퓨터가 아닌 그 구성원과 연결된다. 그러므로, DBMS 구성원이 존재하는 컴퓨터에 문제가 생기거나 DBMS 구성원에 문제가 발생하여(go down) 상기 구성원이 다른 컴퓨터 상에서 재시작 된다면, 클라이언트는 적절한 구성원에 재접속하기 위해 구성원에 특정한 네트워크 주소를 이용하여 실행 또는 복구와 같은 재동기화 과정을 수행할 수 있다.
도 1은 당해 기술 분야에서 알려진 시스플렉스 환경을 도시하는 도면.
도 2는 본 발명의 바람직한 실시예에 따른 시스플렉스 환경을 도시하는 도 면.
도 3은 본 발명에 따른 작업 부하 조정의 프로세스를 도시하는 흐름도.
본 발명은 일반적으로 일단의 데이터베이스 관리 시스템 서버에 의해 관리되는 원격 데이터베이스에 관한 것으로, 더 자세하게는 클라이언트 시스템이 작업 부하 조정 및 재동기화를 위하여 원격 데이터베이스에 대한 액세스를 획득하는 것이 가능하도록 하는 방법 및 시스템에 관한 것이다. 이하에서는 당업자가 본 발명을 고안 및 이용할 수 있도록 하기 위해 특허 출원서 및 이에 포함되는 필수 항목들을 통해 설명하도록 한다. 바람직한 실시예에 대한 다양한 변경 및 이하에서 기술되는 일반적인 원칙과 특징들은 당업자에게 명확할 것이므로, 본 발명은 제시된 실시예에 제한되지 않고, 이하 기술되는 원칙 및 특징들과 일치하는 가장 넓은 범위 내에서 인정된다.
본 발명의 바람직한 실시예에 따르면, 시스플렉스 내의 각각의 DBMS 구성원은 두 개의 네트워크 주소를 할당받는다. 첫 번째는 시스플렉스 내의 모든 DBMS 구성원들에 의해 공유되는 공통 네트워크 주소(common network address)이다. 클라이언트는 공유 네트워크 주소에 존재하는 어떤 하나의 동작 중인 구성원에 클라이언트를 연결시켜주는 표준 라우터를 통해 시스플렉스에 액세스하기 위해 공유 네트워크 주소를 사용한다. 각각의 DBMS에 할당된 두 번째 네트워크 주소는 구성원에 특정하고 구성원에게 부여된다. 클라이언트가 공유 네트워크 주소를 통해서 하나의 구성원과 접속을 초기화하면, 그 구성원은 각각의 동작 중인 구성원의 구성원 에 특정한 네트워크 주소를 포함하는 가중치 목록을 클라이언트에게 제공한다. 그 후, 클라이언트는 나머지의 동작 중인 구성원들에게 작업을 균등하게 분배할 수 있게 된다. 더욱이, 클라이언트와 지정된 구성원간의 접속이 실행 과정(commit process) 중에 방해를 받는다면, 클라이언트는 구성원의 구성원에 특정한 네트워크 주소를 이용하여 지정된 구성원에 쉽게 재접속할 수 있다. 그러므로, DNS를 시스플렉스 시스템과 통합할 필요 없이 작업 조정 및 재동기화가 이루어지게 된다
도 2는 본 발명의 바람직한 실시예와 일치하는 시스플렉스 환경(200)을 도시한다. 도시된 바와 같이, 시스플렉스(200)는 결합 장치(220)에 결합된 네트워크로 연결된 복수의 컴퓨터들(201 내지 203)을 포함하는데, 상기 결합 장치는 데이터베이스가 존재하는 저장 장치들(211 내지 213)의 저장소(210)에 차례로 결합된다. 각각의 컴퓨터(201 내지 203)는 DBMS 구성원(221 내지 223)을 포함할 수 있지만, 그것이 필수 사항은 아니다. 본 발명의 바람직한 실시예에서, 클라이언트(240)는 시스플렉스 네트워크(200)에 차례로 결합되는 네트워크 라우터(250)와 결합된다. 비록 도 2는 하나의 라우터(250)/클라이언트(240) 결합을 도시하고 있지만, 복수의 라우터 및 복수의 클라이언트가 시스플렉스 네트워크(200)에 결합될 수도 있다.
바람직한 실시예에 따르면, 각각의 DBMS 구성원(221 내지 223)은 두 개의 네트워크 주소를 할당받는다. 첫 번째 네트워크 주소는 시스플렉스(200)의 모든 구성원(221 내지 223)에 공통되는 공유 네트워크 주소(YYY)이다. 상기 네트워크 주소(YYY)는 위치를 공유하는 전체 데이터베이스를 나타내고, 클라이언트(240)가 하나의 이미지로 데이터베이스에 액세스하기 위해 사용된다. 각각의 구성원(221 내 지 223)에 할당된 두 번째 네트워크 주소는 구성원에 특정한 네트워크 주소(XXA, XXB, XXC)이다. 시스플렉스의 어떠한 두 구성원도 동일한 구성원에 특정한 네트워크 주소를 가질 수 없다. 공유 네트워크 주소와 구성원에 특정한 네트워크 주소 모두 구성원이 존재하는 컴퓨터(201 내지 203)가 아닌 대응되는 DBMS 구성원(221 내지 223)에 연결된다. 이는 특히 재동기화 목적과 관련이 있다.
상기 공유 네트워크 주소(YYY)는 시스플렉스(200)의 어떠한 DBMS 구성원(221 내지 223)에도 액세스할 수 있도록 설정된다. 따라서, 하나의 DBMS 구성원(221 내지 223)이라도 동작 중이면, 네트워크 라우터(250)는 클라이언트(240)를 상기 동작 중인 구성원들(221 내지 223)중 하나에 접속시킨다. 바람직한 일 실시예에서, 상기 네트워크 라우터(250)는 각각의 DBMS 구성원(221 내지 223)과 직접 통신을 하며, 동작 중인지 아닌지와 같은 각각의 구성원의 상태에 대해 알고 있다. 그러므로, 상기 라우터(250)는 동작 중인 구성원(221 내지 223)중의 하나로 직접 경로를 정할 수 있다(route). 다른 실시예에서, 상기 네트워크 라우터(250)는 동일한 상태 정보를 추출할 수 있는 WLM(224)과 결합된다.
DNS(230)는 상기 클라이언트(240)와 결합되며, 시스플렉스 네트워크(200)에 통합되지는 않는다. 앞서 얘기한 바와 같이, 상기 DNS(230)는 데이터베이스 위치 도메인 네임(database location domain name)의 디렉터리를 보관한다. 본 발명의 바람직한 실시예에서, DNS(230)는 각각의 원격 데이터베이스 위치의 공유 네트워크 주소만을 저장할 필요가 있다. 그러므로, 클라이언트(240)가 데이터베이스 위치 도메인 네임을 이용해서 원격 데이터베이스에 액세스하고자 하는 경우에, DNS(230) 는 도메인 네임을 하나의 네트워크 주소, 즉 상기의 공유 네트워크 주소로 변환하여 그 주소를 클라이언트(240)에게 반환한다.
상기 클라이언트(240)가 동작 중인 DBMS 구성원 중의 하나(예를 들어 221)와 접속을 설정한 경우, 데이터베이스 프로토콜이 동작 중인 DBMS 구성원들(221 내지 223)의 가중치 목록(260)을 인계받아 반환한다. 바람직한 실시예에서, 상기 가중치 목록(260)은 각 구성원의 작업 부하(261) 및 각 구성원의 구성원에 특정한 네트워크 주소(262)를 포함한다. 따라서, 클라이언트(240)는 데이터베이스 시스플렉스(200)의 동작 중인 구성원(221 내지 223)에 균등하게 새로운 접속을 분배하기 위하여 가중치 목록(260)을 사용할 수 있고, 결과적으로 작업 부하를 조정하게된다.
도 3은 본 발명의 바람직한 실시예에 따른 작업 부하 조정을 위한 프로세스를 도시하고 있다. 상기 프로세스(300)는 단계(310)를 통해 각각의 DBMS 구성원(221 내지 223)에 공유 네트워크 주소(YYY)를 할당하는 것으로 시작한다. 상기 공유 네트워크 주소(YYY)는 시스플렉스(200)의 모든 구성원(221 내지 223)에 대해 동일하다. 클라이언트(240)는 단계(320)를 통해 시스플렉스(200)에 존재하는 데이터베이스와 연관된 데이터베이스 위치 도메인 네임을 변환해줄 것을 DNS(230)에게 요청한다. 상기 DNS(230)는 단계(330)를 통해 상기 도메인 네임을 공유 네트워크 주소(YYY)로 변환하여 클라이언트(240)에게 반환한다. 대안적으로, 클라이언트(240)는 해당 데이터베이스의 공유 네트워크 주소를 포함하는 자신의 목록(도시하지 않음)을 보관할 수 있다.
단계(340)에서, 클라이언트(240)는 네트워크 라우터(250)에게 데이터베이스의 공유 네트워크 주소(YYY)로의 경로를 정해줄 것을 요청할 수 있다. 단계(350)에서 라우터(250)는, 동작 중인 구성원이 존재한다면 어떤 DBMS 구성원(221 내지 223)이 동작 중인지를 결정하여 클라이언트(240)를 동작중인 DBMS 구성원(221 내지 223)중의 어떠한 하나에 접속시킨다. 클라이언트(240)가 하나의 DBMS 구성원에 접속되면, 그 DBMS 구성원은 단계(360)에서 클라이언트(240)에게 가중치 목록(260)을 반환하는데, 이로 인해, 클라이언트는 단계(370)에서 구성원에 특정한 네트워크 주소를 이용하여 동작 중인 구성원들에게 균등하게 작업을 분배할 수 있게 된다.
상술한 바와 같이, 클라이언트(240)는 요청 또는 명령을 구성원의 구성원에 특정한 네트워크 주소(XXA)에 전달함으로써, 아마도 예를 들어 구성원(221)과 같은 최소 부하 구성원(least loaded member)인 특정 DBMS 구성원과 직접 작업할 수 있다. 또한, 구성원에 특정한 네트워크 주소는 클라이언트(240)와 구성원(221)간의 통신이 2단계 커미트(two-phase commit)의 실행 과정 동안에 방해를 받아서 구성원(221)이 예를 들어 컴퓨터(202 또는 203)와 같은 다른 컴퓨터에서 재시작된 경우에 다른 이점을 제공한다.
상술한 바와 같이, 각각의 DBMS 구성원(221 내지 223)은 구성원에 의해 처리된 모든 단위의 작업을 기록해둔 기록부 데이터 세트(251 내지 253)를 소유한다. 오직 DBMS 구성원만이 자신의 기록부 데이터 세트에 액세스할 수 있다. 즉, 기록부 데이터 세트에 존재하는 정보는 구성원들간에 공유되지 않는다. 2단계 커미트 과정 동안에 통신 장애가 발생한 경우, 클라이언트(240)는 클라이언트(240)의 단위 작업과 연관된 기록들(251)을 소유하고 있는 시스플렉스의 구성원(예를 들어 221)과"재동기화"를 행하여야 한다. 상기 재동기화 과정은 클라이언트(240)가 DBMS 구성원(221)에서의 단위 작업의 결과(성공 또는 실패)를 결정할 수 있도록 해준다. 그러나, 재동기화를 수행하기 위해서 클라이언트(240)는 원래의 단위 작업을 수행했던 구성원(221)과 접속을 재설정해야 한다.
본 발명의 방법 및 시스템에 따르면, 구성원에 특정한 네트워크 주소(XXA)는 구성원(221)이 실행되는 컴퓨터가 아닌 상기 네트워크 주소에 대응하는 구성원에 연결된다. 클라이언트(240)는 구성원이 어떤 컴퓨터에서 재시작 되었는지와 관계없이 구성원(221)에 재접속하기 위해 단지 구성원에 특정한 주소(XXA)만을 이용하면 된다. 그러므로, 예를 들어 컴퓨터 장애로 인해 다른 컴퓨터에서 재시작된 특정 구성원의 네트워크 주소를 탐지하는 것과 같이 어려웠던 작업도 본 발명의 상기 방법 및 시스템에서는 간단하게 된다.
본 발명의 방법 및 시스템의 여러 태양들을 통해, DNS가 시스플렉스와 밀접하게 결합될 필요 없이 시스플렉스 네트워크 상에서의 작업 부하 조정 및 실행 재동기화가 실행될 수 있다. UNIX기반 애플리케이션과 데이터베이스 애플리케이션을 통합하는 것과 관련된 문제들도 피할 수 있다. 상기 DNS를 네트워크 라우터로 대체함으로써 DNS와 연관된 대기가 제거되고, 클라이언트와 시스플렉스간의 초기 접속을 설정하는데 요구되는 시간도 감소되어 결과적으로 효율이 향상된다. 더욱이, 본 발명의 방법 및 시스템의 구현을 위한 어떠한 변경도 클라이언트에게 필요로 되지 않는다.
본 발명은 도시된 실시예들에 따라 설명되었으나, 당업자는 실시예들에 다양한 변화를 줄 수 있고 그러한 변화들은 본 발명의 사상 및 범위에 포함된다는 것을 쉽게 인식할 수 있다. 따라서, 첨부된 청구범위의 사상 및 범위 내에서 당업자에 의해 많은 변경이 이루어질 수 있다.
예를 들면, 본 발명은 시스플렉스 환경을 참조하여 기술되어 있지만, 상기 발명은 공유 메모리를 가지는 다수의 프로세서들을 포함하는 하나의 시스템 또는 이러한 시스템들의 네트워크에 존재하는 다수의 서버들을 포함하는 다른 시스템들에도 적용할 수 있다. 또한, 비록 본 발명이 IBM DB2와 같은 관계형 데이터베이스 관리 시스템 제품 등의 DBMS 서버를 참조하여 기술되어 있지만, 상기 발명은 파일 서버, 프린트 서버, 파일 전송 프로그램 등과 같은 어떠한 유형의 서버에도 적용할 수 있다.

Claims (23)

  1. 컴퓨터 시스템의 네트워크에 의하여 관리되는 데이터베이스에 클라이언트를 접속시키는 방법에 있어서,
    상기 컴퓨터 시스템의 네트워크는 복수의 데이터베이스 관리 시스템(database management system; DBMS) 구성원을 포함하고,
    상기 방법은,
    (a) 상기 복수의 DBMS 구성원에게 공유 네트워크 주소를 제공하는 단계와,
    (b) 상기 공유 네트워크 주소를 이용하여 상기 클라이언트를 상기 복수의 DBMS 구성원 중 동작 중인 DBMS 구성원에 접속시키는 단계와,
    (c) 상기 복수의 DBMS 구성원 중 각각의 DBMS 구성원에, 대응하는 구성원 특정 네트워크 주소 - 상기 구성원 특정 네트워크 주소는 구성원의 위치에 관계없이 대응하는 구성원과 연관됨 - 를 할당하는 단계와,
    (d) 상기 DBMS 구성원에 대한 첫번째 접속에 문제가 발생한 후 재동기화 과정을 수행하기 위하여, 상기 DBMS 구성원의 상기 구성원 특정 네트워크 주소를 이용하여 상기 DBMS 구성원에 대한 접속을 재설정하는 단계를 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 단계 (b)는,
    (b1) 상기 클라이언트에 결합되는 도메인 네임 서버에 데이터베이스 위치에 대한 도메인 네임을 제출하는 단계와,
    (b2) 상기 도메인 네임을 상기 공유 네트워크 주소로 변환하는 단계와,
    (b3) 상기 도메인 네임 서버로부터 상기 클라이언트에 상기 공유 네트워크 주소를 반환하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 상기 단계 (b)는,
    (b1) 상기 클라이언트에 의해 상기 공유 네트워크 주소를 상기 컴퓨터 시스템의 네트워크에 결합되는 네트워크 라우터에 전송하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서, 상기 단계 (b)는,
    (b1) 상기 공유 네트워크 주소에 위치하는 상기 복수의 DBMS 구성원 중에 어떤 것이 동작 중인지 결정하는 단계를 더 포함하는 방법.
  6. 삭제
  7. 제5항에 있어서, 상기 단계 (b)는,
    (b2) 상기 공유 네트워크 주소에 위치하는 상기 동작 중인 DBMS 구성원 중 임의의 하나에 상기 클라이언트를 접속시키는 단계를 더 포함하는 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제1항, 제3항 내지 제5항 또는 제7항 중 어느 한 항에 기재된 방법을 실행하기 위한 프로그램 명령어를 포함하는 컴퓨터 판독가능 기록매체.
  14. 컴퓨터 시스템의 네트워크에 의하여 관리되는 데이터베이스에 클라이언트를 접속시키는 시스템에 있어서,
    상기 컴퓨터 시스템의 네트워크는 복수의 데이터베이스 관리 시스템 구성원을 포함하고,
    상기 시스템은,
    상기 복수의 DBMS 구성원을 위한 공유 네트워크 주소와,
    상기 공유 네트워크 주소를 이용하여 상기 클라이언트를 상기 복수의 DBMS 구성원 중 동작 중인 DBMS 구성원에 접속시키기 위한, 상기 클라이언트에 결합되는 네트워크 라우터와,
    각각의 DBMS 구성원에게 대응하는 구성원 특정 네트워크 주소 - 상기 구성원 특정 네트워크 주소는 구성원의 위치에 관계없이 대응하는 구성원에 연관됨 - 를 할당하기 위한 수단를 포함하고,
    상기 클라이언트는 상기 구성원 특정 네트워크 주소를 이용하여, 상기 DBMS 구성원과의 첫번째 접속에 문제가 발생한 후 상기 DBMS 구성원과의 재동기화 과정을 수행하는 시스템.
  15. 제14항에 있어서, 상기 공유 네트워크 주소는 상기 복수의 DBMS 구성원의 DBMS 구성원 각각에 공통되는 시스템.
  16. 제14항에 있어서, 상기 클라이언트에 결합되는 도메인 네임 서버를 더 포함하고, 상기 클라이언트는 상기 컴퓨터 시스템의 네트워크에 대한 도메인 네임을 상기 도메인 네임 서버에 제출하고, 상기 도메인 네임 서버는 상기 도메인 네임을 상기 공유 네트워크 주소로 변환하여, 상기 공유 네트워크 주소를 상기 클라이언트에게 반환하는 시스템.
  17. 제14항에 있어서, 상기 네트워크 라우터는 상기 공유 네트워크 주소에 위치하는 상기 복수의 DBMS 구성원 중 어떤 구성원들이 동작 중인지를 결정하기 위한 수단을 포함하는 시스템.
  18. 제17항에 있어서, 상기 결정 수단은 상기 복수의 DBMS 구성원에 결합되는 작업 부하 관리자를 포함하고, 상기 작업 부하 관리자는 각각의 동작 중인 DBMS 구성원의 상태 및 작업 부하를 감시하여, 상기 상태를 상기 네트워크 라우터에 전달하는 시스템.
  19. 제17항에 있어서, 각각의 동작 중인 DBMS 구성원은 상기 클라이언트에게 동작 중인 DBMS 구성원의 목록을 전송하기 위한 수단을 더 포함하는 시스템.
  20. 제17항에 있어서,
    각각의 동작 중인 DBMS 구성원에게 가중치 부하를 제공하기 위한 수단과,
    각각의 동작 중인 DBMS 구성원과 연관되는 구성원 특정 네트워크 주소를 확인하기 위한 수단을 더 포함하는 시스템.
  21. 제20항에 있어서, 구성원들 각각의 가중치 부하에 기초하여 상기 동작 중인 DBMS 구성원들에게 균등하게 작업을 분배하기 위한 수단을 더 포함하는 시스템.
  22. 삭제
  23. 삭제
KR1020047001390A 2002-01-31 2002-12-19 컴퓨터 시스템들의 네트워크에서 작업 부하 조정을 위한방법 및 시스템 KR100633500B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/066,049 US7120704B2 (en) 2002-01-31 2002-01-31 Method and system for workload balancing in a network of computer systems
US10/066,049 2002-01-31
PCT/EP2002/014910 WO2003065690A2 (en) 2002-01-31 2002-12-19 Method and system for workload balancing in a network of computer systems

Publications (2)

Publication Number Publication Date
KR20040074972A KR20040074972A (ko) 2004-08-26
KR100633500B1 true KR100633500B1 (ko) 2006-10-13

Family

ID=27610412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047001390A KR100633500B1 (ko) 2002-01-31 2002-12-19 컴퓨터 시스템들의 네트워크에서 작업 부하 조정을 위한방법 및 시스템

Country Status (8)

Country Link
US (1) US7120704B2 (ko)
EP (1) EP1470692B1 (ko)
JP (1) JP4022521B2 (ko)
KR (1) KR100633500B1 (ko)
CN (1) CN1615636A (ko)
AT (1) ATE367045T1 (ko)
DE (1) DE60221156T2 (ko)
WO (1) WO2003065690A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219709B2 (en) * 2002-07-05 2012-07-10 Carolyn J Hughes Method for internet name sharing
US7634477B2 (en) * 2002-09-18 2009-12-15 Netezza Corporation Asymmetric data streaming architecture having autonomous and asynchronous job processing unit
US20070061375A1 (en) * 2005-09-09 2007-03-15 Douglas Brown System and method for managing a plurality of database systems
US7548945B2 (en) * 2005-04-13 2009-06-16 Nokia Corporation System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
CN101014045B (zh) * 2007-02-02 2010-09-01 清华大学 服务承载网中服务管理的分布式方法
CN101014046B (zh) * 2007-02-02 2010-05-19 清华大学 服务承载网中服务定位和服务质量路由的集成方法
US20080250407A1 (en) * 2007-04-05 2008-10-09 Microsoft Corporation Network group name for virtual machines
US20090006531A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Client request based load balancing
US20090049024A1 (en) * 2007-08-14 2009-02-19 Ncr Corporation Dynamic query optimization between systems based on system conditions
US8195704B2 (en) * 2009-01-06 2012-06-05 International Business Machines Corporation Validation and correction in a distributed namespace
US20130166622A1 (en) * 2011-12-27 2013-06-27 Citrix Systems, Inc Using Mobile Device Location Data with Remote Resources
US9686735B2 (en) * 2013-03-14 2017-06-20 Silver Spring Networks, Inc. Set of optimizations applicable to a wireless networks operating in TV white space bands
US9342372B1 (en) * 2015-03-23 2016-05-17 Bmc Software, Inc. Dynamic workload capping
US9680657B2 (en) 2015-08-31 2017-06-13 Bmc Software, Inc. Cost optimization in dynamic workload capping
CN109842651B (zh) * 2017-11-27 2021-11-26 中国移动通信集团上海有限公司 一种业务不间断的负载均衡方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319773A (en) 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
JP2557192B2 (ja) 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
US5625811A (en) 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
DE4438522C2 (de) 1994-10-31 1997-08-21 Ibm Einrichtung zur Übertragung von Datenströmen in Datenkommunikationsnetzen
GB2301686A (en) 1995-06-03 1996-12-11 Ibm Transaction synchronisation procedure in a routing node
GB2303474A (en) 1995-07-19 1997-02-19 Ibm Optimized synchronisation procedure
US6031978A (en) 1996-06-28 2000-02-29 International Business Machines Corporation System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5884327A (en) 1996-09-25 1999-03-16 International Business Machines Corporation System, method and program for performing two-phase commit with a coordinator that performs no logging
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US5953719A (en) 1997-09-15 1999-09-14 International Business Machines Corporation Heterogeneous database system with dynamic commit procedure control
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6654891B1 (en) 1998-10-29 2003-11-25 Nortel Networks Limited Trusted network binding using LDAP (lightweight directory access protocol)
US6389448B1 (en) * 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
US7587500B2 (en) * 2001-01-10 2009-09-08 Xcelera Distributed selection of a content server

Also Published As

Publication number Publication date
WO2003065690A2 (en) 2003-08-07
WO2003065690A3 (en) 2004-02-19
JP2005516319A (ja) 2005-06-02
DE60221156T2 (de) 2008-03-20
DE60221156D1 (de) 2007-08-23
KR20040074972A (ko) 2004-08-26
JP4022521B2 (ja) 2007-12-19
US7120704B2 (en) 2006-10-10
ATE367045T1 (de) 2007-08-15
US20030145113A1 (en) 2003-07-31
CN1615636A (zh) 2005-05-11
EP1470692B1 (en) 2007-07-11
EP1470692A2 (en) 2004-10-27

Similar Documents

Publication Publication Date Title
US10506033B2 (en) Distributed global load-balancing system for software-defined data centers
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
US6031978A (en) System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address
US7237027B1 (en) Scalable storage system
US6775673B2 (en) Logical volume-level migration in a partition-based distributed file system
JP5078384B2 (ja) 電子商取引などのデータベース・クラスタを利用するウェブ・サービスを実行するための方法、サーバ、プログラム(ウェブ・サービス・データベース・クラスタのアーキテクチャ)
KR100633500B1 (ko) 컴퓨터 시스템들의 네트워크에서 작업 부하 조정을 위한방법 및 시스템
US6775672B2 (en) Updating references to a migrated object in a partition-based distributed file system
US6061713A (en) Communications system for client-server data processing systems
JP2019212336A (ja) 分散キャッシュクラスタ管理
US8078754B2 (en) Group access privatization in clustered computer system
US20040068563A1 (en) Method, system, and program for managing locks enabling access to a shared resource
US20060041644A1 (en) Unified system services layer for a distributed processing system
US20160080489A1 (en) Coordinated and high availability storage access
US8578053B2 (en) NAS load balancing system
US20060026161A1 (en) Distributed parallel file system for a distributed processing system
US20060015505A1 (en) Role-based node specialization within a distributed processing system
JP4521278B2 (ja) アクセス方法及びストレージ・システム
US7627650B2 (en) Short-cut response for distributed services
EP1421507A1 (en) Systems and methods for accessing data
US7558858B1 (en) High availability infrastructure with active-active designs
JP2000250918A (ja) 分散データベースシステムと検索方法およびその処理プログラムを記録した記録媒体
US11153391B2 (en) Connecting application instances to client devices
Kimmatkar et al. Applications sharing using binding server for distributed environment

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee