KR100324976B1 - 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치, 방법 및 컴퓨터 프로그램 제품 - Google Patents

비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치, 방법 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR100324976B1
KR100324976B1 KR1019990008875A KR19990008875A KR100324976B1 KR 100324976 B1 KR100324976 B1 KR 100324976B1 KR 1019990008875 A KR1019990008875 A KR 1019990008875A KR 19990008875 A KR19990008875 A KR 19990008875A KR 100324976 B1 KR100324976 B1 KR 100324976B1
Authority
KR
South Korea
Prior art keywords
server
availability data
work request
group
received
Prior art date
Application number
KR1019990008875A
Other languages
English (en)
Other versions
KR19990082753A (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 KR19990082753A publication Critical patent/KR19990082753A/ko
Application granted granted Critical
Publication of KR100324976B1 publication Critical patent/KR100324976B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Abstract

본 발명은 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하기 위한 데이터 처리 장치를 제공하며, 그 데이터 처리 장치는, 클라이언트 애플리케이션으로부터 작업 요청을 수신하는 수단; 서버 그룹에 관한 가용성 데이터를 조사(consulting)하고, 조사된 가용성 데이터를 토대로 수신된 작업 요청을 충족시키기 위해 이용될 서버 그룹내의 특정 서버를 선택하기 위한 수단 - 여기서, 서버 그룹으로부터 서버를 선택하기위해, 서버 그룹내의 각 서버에서 가용성 데이터가 수신되었는지에 상관없이 작업 요청 수신시 조사된 가용성 데이터가 그 현상태에서 항상 이용됨 -; 및 상기 서버 그룹중 특정 서버로의 전송을 기다리는 전송 큐에 상기 수신된 작업 요청을 배치하기 위한 수단을 가진다.

Description

비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치, 방법 및 컴퓨터 프로그램 제품{DATA PROCESSING APPARATUS, METHOD AND COMPUTER PROGRAM PRODUCT FOR CARRYING OUT WORKLOAD MANAGEMENT WITH RESPECT TO A GROUP OF SERVERS IN AN ASYNCHRONOUS CLIENT/SERVER COMPUTING SYSTEM}
본 발명은 컴퓨터 시스템 분야에 관한 것으로서, 특히 클라이언트/서버('분산'으로 알려져 있음)' 컴퓨팅 시스템에 관한 것이며, 여기서 한쪽의 컴퓨팅 장치('클라이언트')는 다른쪽의 컴퓨팅 장치('서버')에게 클라이언트의 작업을 수행하도록 요청한다.
클라이언트/서버 컴퓨팅은 정보 기술 분야에서 지난 몇 년에 걸쳐 중요해졌다. 이러한 유형의 분산 컴퓨팅에서는 하나의 머신(machin)이 그 작업의 일부를 수행하는데 보다 적합한 다른 머신으로 작업의 일부를 보낼 수 있게 한다. 예로서, 서버는 방대한 양의 데이터의 기억을 관리하는 데이터베이스 프로그램을 실행시키는 고출력 컴퓨터(high-powered computer)일 수 있고, 반면에 클라이언트는 클라이언트의 로컬 프로그램 중 하나에서 이용하기위한 데이터베이스에 대해서 정보를 요청하는 간단한 데스크탑 퍼스널 컴퓨터(PC)이다.
메시지 큐잉(메시지 중개로 알려져 있음) 데이터 처리 기술은 오늘날의 클라이언트/서버 컴퓨터망에서 더욱더 일반화되어 있다. 이러한 기술은 비록 클라이언트 및 서버의 컴퓨터 시스템이 운영 체계(operation system), 데이터 포맷(data format) 및 통신 프로토콜(communication protocol)의 면에서 서로 다르더라도 클라이언트 컴퓨터 시스템이 서버 컴퓨터 시스템과 통신하게 한다. 특히, 이 기술의 비동기적인 특성 때문에, 클라이언트는 서버로 메시지를 전송할 수 있고, 서버가 메시지를 큐에 저장할 수 있으며, 차후에 메시지를 처리하여 응답할 수 있다. 이는 클라이언트 및 서버가 실시간적으로 통신하도록 요구하는 동기적인 클라이언트/서버 모델과는 아주 상이하다(예를 들면, 클라이언트가 다른 작업을 수행하기 전에 서버가 응답하기를 기다림).
메시지 큐잉 및 시판중인 메시지 큐잉 제품들이 1994년에 McGraw-Hill에서 발간한 B.Blakeley, H.Harris & R.Lewis의 'Messaging and Queuing Using the MQI'와, IBM사로부터 이용 가능한 간행물 'A Introduction to Messaging and Queuing' (IBM 자료 번호 GC33-0805-00) 및 'MQSeries - Message Queue Interface Technical Reference' (IBM 자료 번호 SC33-0850-01)에 기재되어 있다. 'IBM' 및 'MQSeries'는 IBM사의 상표이다. IBM의 MQ 시리즈(MQSeries) 메시징 소프트웨어 제품은 트랜잭션 메시징 서포트 기능을 구비하고, 시스템 장애 또는 통신 장애가 발생한 경우에도, 확실하게 1회만의 메시지 전달을 행하는 메시징 프로토콜에 따라, 작업 논리 단위 내에서 메시지를 동기시킨다. MQ 시리즈 제품은 수신 시스템에 의해 안전하게 저장되었는지 확인될 때까지 메시지를 송신 시스템의 기억장소로부터 마지막까지 메시지를 삭제하지 않고, 고도의 회복 시스템을 이용함으로써 확실한 전달을 실현한다. 정상적인 기억을 확인하면, 메시지 전달을 확정하기 전에, 송신 시스템의 기억 장소로부터의 메시지 삭제와 수신 시스템의 기억 장소로의 메시지 삽입 모두가 불확정 상태로 유지되며, 장애 발생시 자동적으로 취소될 수 있다. 이러한 메시지 전송 프로토콜 및 그것에 수반하는 트랜잭션의 개념 및 회복 기능에 대해서는 국제 특허 출원 W0 95/10805 및 미국 특허 5465328에 기재되어 있다.
메시지 및 큐잉 소프트웨어 아키텍처를 이용하는 망 등의 비동기적인 클라이언트/서버 망에서는 서버 그룹의 각 서버가 클라이언트의 요청을 충족시킬 수 있는 서버들의 그룹을 설정하는 것이 일반화되고 있다. 그와 같이 하면, 클라이언트의 요청은 하나의 서버가 사용중일때 다른 서버로 전송될 수 있기 때문에 보다 빠르게 제공될 수 있다. 전형적으로, 어떤 서버에 특정한 요청 처리를 할당할 수 있는 가에 관한 결정은 클라이언트측의 작업 부하 관리 유닛이 각 서버로부터의 가용성 데이터를 결정의 근거로서 이용해서 행한다. 만일 이러한 모든 가용성 데이터가 이용 가능하지 않으면, 작업 관리 유닛은 그와 같은 데이터를 수신할 때까지 대기한 후 완전한 데이터 세트를 사용해서 서버를 결정한다. 그후에, 클라이언트 요청은 작업 부하 관리 유닛에 의해 선택된 서버의 식별 표시(indication)가 부가해서, 전송 큐에 배치되고, 선택된 서버로의 전송을 대기한다. 또한, 클라이언트는 선택된 서버의 식별 표시를 포함하는, 큐된 요청에 대한 어떤 정보를 로컬 기억장소에 기록하고, 그것에 의해, 전송된 클라이언트 요청을 서버가 수신하지 못하는 송신상의 문제가 발생한 경우에 클라이언트로부터 서버로 그 요청을 재송신할 수 있게 한다.
당해 기술 분야의 현황 기술은, 작업 부하 관리 유닛이 각 서버의 서버 가용성 데이터의 상태를 계속 조사해서, 그와 같은 데이터 모두를 서버로부터 완전히 수신한 때를 결정하지 않으면 안되는 복잡한 소프트웨어 부분을 포함해야할 필요가 있기 때문에 불리하다. 그 복잡한 소프트웨어 프로그래밍에 의해 시스템 전체의 원가 가 증가하게 된다.
더구나, 모든 서버 가용성 데이터를 아직 수신하지 않은 경우에, 요청을 서버 그룹에 전송될 수 없으므로 클라이언트측에서 데이터 전송 처리가 정지될 수 있다. 이는 고속의 전송 속도가 아주 중요시되는 환경에서는 큰 단점이다.
본 발명의 제 1특징은 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치이며, 그 데이터 처리 장치는 클라이언트 애플리케이션으로부터 작업 요청을 수신하는 수단; 서버 그룹에 관한 가용성 데이터를 조사(consulting)하고, 조사된 가용성 데이터를 토대로 수신된 작업 요청을 충족시키기 위해 이용될 서버 그룹내의 특정 서버를 선택하기 위한 수단 - 여기서, 서버 그룹으로부터 서버를 선택하기위해, 서버 그룹내의 각 서버에서 가용성 데이터가 수신되었는지에 상관없이 작업 요청 수신시 조사된 가용성 데이터가 그 현상태에서 항상 이용됨 -; 및 상기 서버 그룹의 특정 서버로의 전송을 기다리는 전송 큐에 상기 수신된 작업 요청을 배치하기 위한 수단을 가진다.
바람직하게, 그 데이터 처리 장치는, 상기 작업 요청이 수신된 후에 상기 가용성 데이터가 변경되었는지를 결정하는 수단; 상기 가용성 데이터가 변경되었으면, 상기 변경된 가용성 데이터를 조사하고, 상기 변경된 가용성 데이터를 토대로 상기 수신된 작업 요청을 충족시키기 위해 상기 그룹에서 서버를 선택하는 수단; 및 상기 변경된 가용성 데이터를 토대로 선택된 상기 서버가 상기 특정 서버와 상이하면, 상기 전송 큐의 작업 요청을 갱신하여, 상기 작업 요청이 상기 특정 서버와 다른 상기 그룹의 서버로 전송되게 하는 수단을 더 포함한다.더 바람직하게는, 상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖게 되지 않는 상기 그룹의 서버의 가용성 데이터를 추가로 구비한다. 선택적으로, 상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖는 상기 그룹의 서버의 가용성 데이터를 구비한다.본 발명의 제 2특징은 제 1특징에서 설명된 작업 부하 관리 장치의 기능을 수행하는 방법을 제공한다.
본 발명의 제 3특징은 컴퓨터로 판독가능한 기억 매체로 기억되고, 컴퓨터상에서 실행되면 제 1특징의 기능을 실행하는 컴퓨터 프로그램 제품을 제공한다.
따라서, 본 발명에서는 모든 서버 가용성 데이터를 수신했는 지를 계속 조사할 필요가 없기 때문에, 작업 부하 관리 유닛 소프트웨어가 대폭 단순화된다. 그 대신에, 모든 클라이언트 요청이 동등하게 취급되는 즉, 클라이언트에 의해 요청이 발생되자마자 서버 가용성 데이터의 현행 상태를 이용하여 결정이 이루어지고 요청이 전송 큐로 전송되는, 단순한 소프트웨어 아키텍쳐가 사용될 수 있다. 또한, 목적지(destination)는 클라이언트 요청 자체를 기록하는 것과 같은 동작의 일부로서 영구 기억장소에 기록된다.
전송 큐에서 선택된 서버로 요청이 전송되기 전에 새로운 가용성 데이터가 이용가능하면, 서버의 새로운 선택이 이루어질 수 있으며, 큐된 요청이 갱신되어 다른 서버에 전송될 수 있다. 하지만, 요청이 전송 큐에서 전송되기 전에 새로운 가용성 데이터도 이용가능하지 않은 경우에, 서버 그룹의 각 서버의 가용성 데이터가 이용가능한지에 상관없이 요청이 선택된 서버에 전송된다. 따라서, 작업 관리 유닛은 각 서버로부터의 가용성 데이터가 이용가능할 때까지 기다려야 한다는 것에 의한 전송 지연이 없는 것을 추가의 장점으로 한다. 본 발명은, 작업 요청을 수신한 때에 현재이용가능한 가용성 데이터를 이용하여 서버 그룹중 어느 서버를 선택해야 하는지에 관한 최초 결정을 행한다. 새로운 가용성 데이터는 특별한 환경에서만 나타나며, 그 목적지의 새로운 기록을 행할 필요가 있다.
도1은 본 발명의 바람직한 실시예에 따른 기본적인 클라이언트/서버 환경을 나타낸 블록도.
도2는 본 발명의 바람직한 실시예에 따른 메시징 및 큐잉 유닛에 의해 행해진 단계를 나타낸 흐름도.
도3은 본 발명의 바람직한 실시예에 따른 메시징 및 큐잉 유닛의 작업부하 관리 유닛에 의해 조사된 가용성 데이터를 나타낸 테이블.
*도면의 주요부분에 대한 부호의 설명
11 : 클라이언트 12 : 서버 그룹
111 : 클라이언트 애플리케이션 112a : 작업부하 관리 유닛
112b : 전송 큐 121 : 서버 1
122 : 서버 2 123 : 서버 3
이하에서 본 발명의 바람직한 실시예를 도면을 참조하면서 상세히 설명할 것이다.
도1에서 클라이언트 데이터 처리 장치(11)는 통신망(13)을 통해 서버 데이터 처리 장치(121, 122, 123)의 서버 그룹(12)과 통신한다. 클라이언트(11) 및 서버 그룹(12)은 IBM의 MQ 시리즈와 같은 메시징 및 큐잉 소프트웨어 제품을 실행시켜서, 클라이언트와 서버간에 비동기 통신이 행해진다. 즉, 클라이언트가 작업요청을 서버로 전송할 때, 서버가 동작하지 않아도 좋다. 요청이 큐에 배치될 것이고, 서버가 동작 가능해진 후에 큐된 요청을 검색할 수 있다. 메시징 및 큐잉 제품은 또한 필요한 통신 프로토콜 변환을 수행하여 클라이언트(11)로 하여금 망(13)을 통하여 서버 그룹(12)과 대화할 수 있도록 한다.
바람직한 실시예에서 클라이언트 및 서버가 망(13)에 의해 연결된 분리된 처리 장치에 위치하지만, 본 발명은 이러한 아키텍처에 결코 한정되지 않는다. 클라이언트 및 서버 그룹은 동일한 데이터 처리 장치에 위치될 수도 있다.
클라이언트(11)는 작업 부하 관리 유닛(112a) 및 전송 큐(112b)를 구비하는 메시징 및 큐잉 소프트웨어 시스템(112)과, 클라이언트 애플리케이션(111)을 포함한다. 클라이언트 애플리케이션(111)은 서버로 작업 요청을 발생시키는 소비측 소프트웨어 부분이다. 일단 서버가 요청된 작업을 수행하였으면, 결과가 클라이언트 애플리케이션(111)으로 복귀될 수 있다. 전송 큐(112b)는 메시징 및 큐잉 소프트웨어 구조의 일부이며, 클라이언트 애플리케이션(111)으로부터 수신된 작업 요청을, 망(13)을 통해 서버 그룹(12)으로 통신하기 전에 큐하기위해 사용된다. 메시징 및 큐잉 소프트웨어의 일부인 작업 부하 관리 유닛(112a)은 클라이언트 애플리케이션(112)으로부터 수신된 각 작업 요청에 대해 서버 그룹(12)에서 서버들(121, 122, 123) 중 하나를 선택하는 것을 담당하는 소프트웨어 요소이다.
작업 부하 관리 유닛(112a)은 망(13)을 통해 서버 그룹의 각 서버(121, 122, 123)에 관한 데이터(이하, '가용성 데이터'라 함)를 수신한다. 이 데이터는 각 서버가 클라이언트로부터 새로운 작업 요청을 수신할 준비가 되었는지에 관한 각 서버의 현재의 가용성을 나타낸다. 작업 부하 관리 유닛은 서버(121, 122, 123) 중 어느 서버가 특정한 작업 요청을 충족시키는데 선택되어야 하는지를 결정하기 위해 이 가용성 데이터를 이용한다.
메시징 및 큐잉 시스템(112)의 동작은 도2의 흐름도와 함께 설명될 것이다.
단계(21)에서 메시징 및 큐잉 시스템(112)은 클라이언트 애플리케이션(111)으로부터 작업 요청을 수신한다. 단계(22)에서 작업 부하 관리 유닛(112a)은 수신된 작업 요청을 처리하는 서버 그룹(12)내 서버들의 가용성을 결정하기 위해 데이터 가용성 테이블(도3 참조)을 조사한다.
도3에서, 작업 요청이 막 수신된 때를 시점 1로 언급한다. 시점 1에서, 가용성 테이블은 (시점 1 및 서버 1이 교차점을 형성하는 박스에서 '이용가능'을 표시하는 문자 A에 의해 표시되듯이) 작업 요청을 수신하기위해 서버 1(121)가 이용 가능하다는 것을 표시한다. 시점 1에서, 가용성 테이블은 (시점 1 및 서버 2가 교차점을 형성하는 박스에서 '이용불가'를 표시하는 문자 NA에 의해 표시되듯이) 작업 요청을 수신하기위해 서버 2(122)가 이용 가능하다는 것을 표시한다. 시점 1에서, 도 3의 테이블에는 서버 3(123)의 항목이 없어서, 서버 3이 그 가용성 데이터를 클라이언트(11)의 메시징 및 큐잉 소프트웨어(112)로 아직 공급하지 않고 있음을 나타냄에 유의하여야 한다.
시점 1에서 가용성 데이터가 그 상태로 되는 경우, 서버 1은 이용가능하고, 서버 2는 이용불능하고, 서버 3이 이용가능한지 여부가 불명확하므로, 작업 부하 관리 유닛(112a)은 그 작업 요청에 할당되도록 서버 1(121)를 선택한다(단계 23). 이후, 작업 요청이 전송 큐(112b)에 배치되고(단계 24), 작업 요청이 서버 1(121)로 전송됨을 나타내는 제어 표시가 작업 요청에 부가된다. 이후, 서버 1(121)가 요청을 수신할 준비가 되었음을 표시할 때까지 작업 요청이 큐(112b)에 위치한다(경우에 따라서, 서버 1이 클라이언트(11)와는 다른 시간대에 있고, 시점 1에서 동작 불능하게 된다).
시점 1보다 약간후의 시점 2에서 클라이언트(11)가 갱신된 서버 가용성 데이터를 수신하며, 그 수신은 단계 22에서 루프 백되고, 작업 부하 관리 유닛(112a)이 다시 가용성 데이터를 조사하고, 이후에는, (시점 2 및 서버 1이 교차점을 형성하는 박스에서 '이용가능'을 표시하는 문자 A에 의해 표시되듯이) 서버 1이 여전히 이용가능하고, (시점 2 및 서버 2가 교차점을 형성하는 박스에서 '이용가능'을 표시하는 문자 A에 의해 표시되듯이) 서버 2가 이용가능하게 되고, (시점 2 및 서버 3가 교차점을 형성하는 박스에서 '이용불능'을 표시하는 문자 NA에 의해 표시되듯이) 서버 3이 불능하게 되는 것으로 결정된다. 그러므로, 시점 1 및 시점 2간의 기간동안 새로운 가용성 데이터가 서버 그룹(12)으로부터 클라이언트(11)로 전송되고, 서버 2가 그 가용성 데이터를 변경하고, 전에는 가용성 데이터를 공급하지 않은 서버(3)가 가용성 데이터를 공급하고 있다.
따라서, 단계 23에서, 작업 부하 관리 유닛(112a)은 갱신된 가용성 데이터를 이용하여 3개의 서버 중 하나를 선택한다. 어떠한 프로그래밍된 작업 부하 분산 방식이어도 이용될 수 있지만, 가장 효율적으로는, 2개의 서버가 이용가능하고, 흐름도를 앞으로 거슬러갔을 경우에 그 서버가 그대로 이용되어, 전송 큐(112b)에 들어있는 작업 요청을 변경하는 처리 능력을 비용을 들이지 않고도 해결하려는 방식으로 된다. 그것에 의해서, 송신 장애가 있는 경우에 복구를 위해, 각 작업 요청에 대해 선택된 서버를 로컬 기억 장소로 기록해야만 하므로, 로컬 기억 장소로의 데이터 기록 동작도 생략된다. 그러므로, 그 경우에, 단계(24)의 결과, 큐된 작업 요청이 갱신되지 않게 된다.
다음에, 시점 2 이후의 시점 3에서, 작업 요청이 여전히 큐(112b)에 위치하고 있으며, 새로운 서버 가용성 데이터가 수신되고, 그 데이터의 수신은 단계(25)에서 메시징 및 큐잉 소프트웨어(112)에 의해 통지된다. 따라서, 제어는 루프해서 단계(22)로 복귀하고, 도 3의 가용성 테이블을 다시 조사해서, 그 새로운 가용성 데이터를 토대로 선택된 서버를 변경할 필요가 있는 지를 결정한다. 도3에 도시된 바와 같이, 서버 1은 현재 이용불능이고, 서버 2는 여전히 이용가능하며, 서버 3은 현재 이용가능하다. 그러므로, 단계(23)에서 작업 부하 관리 유닛(112a)이 서버 2 또는 서버 3을 선택한다. 그 경우에도, 임의의 일반적인 작업 부하 분산 알고리즘이 이들 2개의 서버중 어느 서버가 이용되어야 하는지를 선택하기 위해 이용될 수 있다. 라운드 로빈(round robin) 방식에 따라서, 서버 1 이후의 다음 순번이 서버 2이므로, 서버 2가 선택된다(또한, 그 이후에는 서버 3이 다음 순번으로 된다).
그후, 단계(24)에서, 작업 요청은 전송 큐(112b)에서 갱신되어, 그 요청은 그 목적지가 서버 1가 아닌 서버 2로 되는 표시를 포함하고 있다. 그것은 필요시에는 데이터 복원용 기록을 제공하기 위해 로컬 기억 장소로의 기록도 수행해야할 필요가 있다.
그 동작중의 어떤 시점에서, 선택된 서버가 전송 큐(112b)로부터 작업 요청을 페치하고, 요청이 통신망(13)을 통해 서버 2로 전송되어, 특정한 작업 요청에 대해 도2의 순환적인 흐름이 종료된다.
본 발명의 기본적 전제 조건은 서버 가용성 데이터가 빈번히 변경되지 않으며, 단계(25)에서 '예'라는 분기를 통해 단계(22)로 루프백하고, 도3의 테이블을 다시 조사할 필요가 있는 것은 극히 드물다고 하는 것이다. 따라서, 서버의 최초 선택은 클라이언트 애플리케이션에 의해 요청이 발생된 후에 매우 빠르게 이루어진다. 그것에 의해서, 작업 요청이 가능한한 빨리 전송 큐(112b)에 배치되는 동시에, 현재 이용가능한 서버 가용성 데이터를 이용해서 서버 그룹으로의 전송을 위해 요청을 빠르고 효율적으로 처리할 수 있다. 그 최초 서버 선택을 변경할 필요가 있는 것은 서버 가용성 데이터가 변화하는 경우만이다.
따라서, 본 발명은 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업 부하 관리를 수행함에 있어서 작업 요청이 서버 그룹으로의 전송을 위해 빠르고 효율적으로 처리될 수 있도록, 현재 이용가능한 서버 가용성 데이터를 이용하면서 가능한 빠르게 작업 요청을 전송 큐에 배치시킬 수 있는 효과가 있다.

Claims (12)

  1. 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업 부하 관리를 수행하는 데이터 처리 장치로서,
    클라이언트 애플리케이션으로부터 작업 요청을 수신하는 수단;
    서버 그룹에 관한 가용성 데이터를 조사(consulting)하고, 조사된 가용성 데이터를 토대로 수신된 작업 요청을 충족시키기 위해 이용될 서버 그룹내의 특정 서버를 선택하기 위한 수단 - 여기서, 서버 그룹으로부터 서버를 선택하기위해, 서버그룹내의 각 서버에서 가용성 데이터가 수신되었는지에 상관없이 작업 요청 수신시 조사된 가용성 데이터가 그 현상태에서 항상 이용됨 -; 및
    상기 서버 그룹의 특정 서버로의 전송을 기다리는 전송 큐에 상기 수신된 작업 요청을 배치하는 수단을
    포함하는 것인 데이터 처리 장치.
  2. 제1항에 있어서,
    상기 작업 요청이 수신된 후에 상기 가용성 데이터가 변경되었는지를 결정하는 수단;
    상기 가용성 데이터가 변경되었으면, 상기 변경된 가용성 데이터를 조사하고, 상기 변경된 가용성 데이터를 토대로 상기 수신된 작업 요청을 충족시키기 위해 상기 그룹에서 서버를 선택하는 수단; 및
    상기 변경된 가용성 데이터를 토대로 선택된 상기 서버가 상기 특정 서버와 상이하면, 상기 전송 큐의 작업 요청을 갱신하여, 상기 작업 요청이 상기 특정 서버와 다른 상기 그룹의 서버로 전송되게 하는 수단
    을 더 포함하는 것인 데이터 처리 장치.
  3. 제2항에 있어서,
    상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖게 되지 않는 상기 그룹의 서버의 가용성 데이터를 추가로 구비하는 것인 데이터 처리 장치.
  4. 제 2 항에 있어서, 상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖는 상기 그룹의 서버의 가용성 데이터를 구비하는 것인 데이터 처리 장치.
  5. 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업 부하 관리를 수행하는 데이터 처리 방법으로서,
    클라이언트 애플리케이션으로부터 작업 요청을 수신하는 단계;
    서버 그룹에 관한 가용성 데이터를 조사(consulting)하고, 조사된 가용성 데이터를 토대로 수신된 작업 요청을 충족시키기 위해 이용될 서버 그룹내의 특정 서버를 선택하기 위한 단계 - 여기서, 서버 그룹으로부터 서버를 선택하기위해, 서버그룹내의 각 서버에서 가용성 데이터가 수신되었는지에 상관없이 작업 요청 수신시 조사된 가용성 데이터가 그 현상태에서 항상 이용됨 -; 및
    상기 서버 그룹의 특정 서버로의 전송을 기다리는 전송 큐에 상기 수신된 작업 요청을 배치하는 단계를
    포함하는 것인 데이터 처리 방법.
  6. 제5항에 있어서, 상기 작업 요청이 수신된 후에 상기 가용성 데이터가 변경되었는지를 결정하는 단계;
    상기 가용성 데이터가 변경되었으면, 상기 변경된 가용성 데이터를 조사하고, 상기 변경된 가용성 데이터를 토대로 상기 수신된 작업 요청을 충족시키기 위해 상기 서버 그룹에서 서버를 선택하는 단계; 및
    상기 변경된 가용성 데이터를 토대로 선택된 상기 서버가 상기 특정 서버와 상이하면, 상기 전송 큐의 작업 요청을 갱신하여, 상기 작업 요청이 상기 특정 서버와 다른 상기 서버 그룹의 서버로 전송되게 하는 단계
    을 더 포함하는 것인 데이터 처리 방법.
  7. 제6항에 있어서, 상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖게 되지 않는 상기 서버 그룹의 서버의 가용성 데이터를 추가로 구비하는 것인 데이터 처리 방법.
  8. 제6항에 있어서, 상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖는 상기 서버 그룹의 서버의 가용성 데이터를 구비하는 것인 데이터 처리 방법.
  9. 컴퓨터로 판독가능한 기억 매체에 기억되고, 컴퓨터상에서 실행되면, 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업 부하 관리를 수행하는 데이터 처리 방법을 실행시키는 컴퓨터 프로그램 제품으로서,
    상기 방법은,
    클라이언트 애플리케이션으로부터 작업 요청을 수신하는 단계;
    서버 그룹에 관한 가용성 데이터를 조사(consulting)하고, 조사된 가용성 데이터를 토대로 수신된 작업 요청을 충족시키기 위해 이용될 서버 그룹내의 특정 서버를 선택하기 위한 단계 - 여기서, 서버 그룹으로부터 서버를 선택하기위해, 서버 그룹내의 각 서버에서 가용성 데이터가 수신되었는지에 상관없이 작업 요청 수신시 조사된 가용성 데이터가 그 현상태에서 항상 이용됨 -; 및
    상기 서버 그룹의 특정 서버로의 전송을 기다리는 전송 큐에 상기 수신된 작업 요청을 배치하는 단계;
    를 포함하는 것인 컴퓨터 프로그램 제품.
  10. 제9항에 있어서,
    상기 작업 요청이 수신된 후에 상기 가용성 데이터가 변경되었는지를 결정하는 단계;
    상기 가용성 데이터가 변경되었으면, 상기 변경된 가용성 데이터를 조사하고, 상기 변경된 가용성 데이터를 토대로 상기 수신된 작업 요청을 충족시키기 위해 상기 서버 그룹에서 서버를 선택하는 단계; 및
    상기 변경된 가용성 데이터를 토대로 선택된 상기 서버가 상기 특정 서버와 상이하면, 상기 전송 큐의 작업 요청을 갱신하여, 상기 작업 요청이 상기 특정 서버와 다른 상기 서버 그룹의 서버로 전송되게 하는 단계
    을 더 포함하는 것인 컴퓨터 프로그램 제품.
  11. 제10항에 있어서,
    상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖게 되지 않는 상기 서버 그룹의 서버의 가용성 데이터를 추가로 구비하는 것인 컴퓨터 프로그램 제품.
  12. 제10항에 있어서, 상기 변경된 가용성 데이터는, 상기 작업 요청이 최초 수신되었을 때에, 이용가능한 가용성 데이터를 갖는 상기 서버 그룹의 서버의 가용성 데이터를 구비하는 것인 컴퓨터 프로그램 제품.
KR1019990008875A 1998-04-14 1999-03-16 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치, 방법 및 컴퓨터 프로그램 제품 KR100324976B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9807683A GB2336449A (en) 1998-04-14 1998-04-14 A server selection method in an asynchronous client-server computer system
GB9807683.9 1998-04-14

Publications (2)

Publication Number Publication Date
KR19990082753A KR19990082753A (ko) 1999-11-25
KR100324976B1 true KR100324976B1 (ko) 2002-02-20

Family

ID=10830152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990008875A KR100324976B1 (ko) 1998-04-14 1999-03-16 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치, 방법 및 컴퓨터 프로그램 제품

Country Status (7)

Country Link
US (1) US5987502A (ko)
EP (1) EP0950952A3 (ko)
JP (1) JP3762846B2 (ko)
KR (1) KR100324976B1 (ko)
CN (1) CN1143228C (ko)
GB (1) GB2336449A (ko)
TW (1) TW380223B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074752A (ko) * 2003-02-18 2004-08-26 엘지엔시스(주) 금융업무 서버시스템의 부하 분산장치 및 분산방법

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2348985A (en) * 1999-04-15 2000-10-18 Ibm Centralized affinity maintenance in a workload managed client/server system
US6928477B1 (en) * 1999-11-18 2005-08-09 International Business Machines Corporation Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
US6681251B1 (en) * 1999-11-18 2004-01-20 International Business Machines Corporation Workload balancing in clustered application servers
US6970932B1 (en) 1999-12-14 2005-11-29 Microsoft Corporation Non-delegable client requests to servers storing local information only
US7010611B1 (en) * 1999-12-21 2006-03-07 Converged Access, Inc. Bandwidth management system with multiple processing engines
CA2407653A1 (en) 2000-04-24 2001-11-01 Visa International Service Association Online payer authentication service
JP4292693B2 (ja) * 2000-07-07 2009-07-08 株式会社日立製作所 計算機資源分割装置および資源分割方法
WO2002037395A2 (en) * 2000-10-30 2002-05-10 Tririga, Inc. Item specification object management system
EP1344144B1 (en) * 2000-11-28 2013-03-13 Microsoft Corporation Load balancing in set top cable box environment
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
US7080119B2 (en) * 2001-07-17 2006-07-18 Bea Systems, Inc. System and method for transaction processing with delegated commit feature
US7337441B2 (en) * 2001-07-17 2008-02-26 Bea Systems, Inc. System and method for prepreparing a transaction process involving a chain of servers in a circular flow
US7213049B2 (en) * 2001-07-17 2007-05-01 Bea Systems, Inc. System and method for transaction processing with transaction property feature
US7305397B2 (en) * 2002-01-31 2007-12-04 Tririga Llc Caching data communications to reduce latency
KR100453052B1 (ko) 2002-06-07 2004-10-15 삼성전자주식회사 전송 패킷을 이용하여 다기능을 수행하기 위한 통신 방법 및 장치
US8275883B2 (en) 2002-10-08 2012-09-25 My Telescope.Com Systems and methods for accessing telescopes
US8380822B2 (en) * 2002-12-10 2013-02-19 Sharp Laboratories Of America, Inc. Systems and methods for object distribution in a communication system
WO2004077220A2 (en) * 2003-01-30 2004-09-10 Vaman Technologies (R & D) Limited System and method of managing and caching data irrespective of server functionality
JP2005073236A (ja) * 2003-08-06 2005-03-17 Matsushita Electric Ind Co Ltd 中継サーバ、中継サーバのサービス管理方法、サービス提供システム、およびプログラム
US7580905B2 (en) * 2003-12-15 2009-08-25 Intel Corporation Adaptive configuration of platform
US7475403B2 (en) * 2004-10-28 2009-01-06 International Business Machines Corporation Method for optimizing Web services binding
CN100438501C (zh) * 2005-03-07 2008-11-26 明基电通股份有限公司 动态信息传送方法及系统
JP2006331123A (ja) * 2005-05-26 2006-12-07 Sony Corp コンテンツ再生システム
US20070184903A1 (en) * 2006-02-08 2007-08-09 Derek Liu Network-based game system capable of serving massive number of game players
US7929419B2 (en) 2006-08-04 2011-04-19 Tekelec Methods, systems, and computer program products for inhibiting message traffic to an unavailable terminating SIP server
CN101090569B (zh) * 2006-10-18 2010-08-04 中兴通讯股份有限公司 Ip多媒体子系统的归属用户服务器的自动选择方法
US20080115202A1 (en) * 2006-11-09 2008-05-15 Mckay Michael S Method for bidirectional communication in a firewalled environment
US20110320530A1 (en) 2010-06-29 2011-12-29 International Business Machines Corporation Method for processing a unit of work
US9071512B2 (en) 2010-08-06 2015-06-30 Tekelec, Inc. Methods, systems, and computer readable media for distributing diameter network management information
TWI457652B (zh) * 2011-05-12 2014-10-21 Wistron Corp 全平面觸控面板
CN103425519B (zh) * 2012-05-16 2016-10-05 富士通株式会社 分布式计算方法和分布式计算系统
US10078533B2 (en) * 2014-03-14 2018-09-18 Amazon Technologies, Inc. Coordinated admission control for network-accessible block storage
US10778527B2 (en) 2018-10-31 2020-09-15 Oracle International Corporation Methods, systems, and computer readable media for providing a service proxy function in a telecommunications network core using a service-based architecture
US11018971B2 (en) 2019-10-14 2021-05-25 Oracle International Corporation Methods, systems, and computer readable media for distributing network function (NF) topology information among proxy nodes and for using the NF topology information for inter-proxy node message routing
US11528334B2 (en) 2020-07-31 2022-12-13 Oracle International Corporation Methods, systems, and computer readable media for preferred network function (NF) location routing using service communications proxy (SCP)
US11570262B2 (en) 2020-10-28 2023-01-31 Oracle International Corporation Methods, systems, and computer readable media for rank processing for network function selection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0384339B1 (en) * 1989-02-24 1997-04-02 Digital Equipment Corporation Broker for computer network server selection
US5185861A (en) * 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
US5414845A (en) * 1992-06-26 1995-05-09 International Business Machines Corporation Network-based computer system with improved network scheduling system
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
JPH07334468A (ja) * 1994-06-07 1995-12-22 Toshiba Corp 負荷分散方式
EP0694837A1 (en) * 1994-07-25 1996-01-31 International Business Machines Corporation Dynamic workload balancing
US5761507A (en) * 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040074752A (ko) * 2003-02-18 2004-08-26 엘지엔시스(주) 금융업무 서버시스템의 부하 분산장치 및 분산방법

Also Published As

Publication number Publication date
JP3762846B2 (ja) 2006-04-05
KR19990082753A (ko) 1999-11-25
US5987502A (en) 1999-11-16
GB9807683D0 (en) 1998-06-10
CN1143228C (zh) 2004-03-24
GB2336449A (en) 1999-10-20
EP0950952A3 (en) 2003-11-12
JPH11328132A (ja) 1999-11-30
TW380223B (en) 2000-01-21
CN1232218A (zh) 1999-10-20
EP0950952A2 (en) 1999-10-20

Similar Documents

Publication Publication Date Title
KR100324976B1 (ko) 비동기 클라이언트/서버 컴퓨팅 시스템에서 서버 그룹에 관한 작업부하 관리를 수행하는 데이터 처리 장치, 방법 및 컴퓨터 프로그램 제품
JP4144897B2 (ja) 共通作業キュー環境における最適格サーバ
US10491560B2 (en) Message delivery in messaging networks
US6237005B1 (en) Web server mechanism for processing multiple transactions in an interpreted language execution environment
US5960178A (en) Queue system and method for point-to-point message passing having a separate table for storing message state and identifier of processor assigned to process the message
CN109995801B (zh) 一种消息传输方法和装置
JPH06301619A (ja) 自己発生型ノードネットワークを用いたクライアント/サーバシステムにおける通信方法及び装置
WO2001048985A1 (en) Online aggregation in unified messaging
US8141103B2 (en) Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications
CA1196424A (en) Electronic document distribution network with dynamic document interchange protocol generation
US7249163B2 (en) Method, apparatus, system and computer program for reducing I/O in a messaging environment
CA2439007A1 (en) Method and system for distributed processing management
US9756114B2 (en) Asynchronous response processing in a web based request-response computing system
US7089265B1 (en) Database management system for implementing independent database actions in response to events of interest
JP4222065B2 (ja) 情報システムにおけるデータアクセス方法および情報システム
US20040205054A1 (en) System and method for accessing resources in a database
US20020143947A1 (en) Interactive data processor controlled display interface for tracking allocated messages in a dynamic workload balancing communication system
US20050076106A1 (en) Asynchronous information retrieval
US7725902B2 (en) Finer grained point-to-point event propagation
KR20240008602A (ko) 선박 데이터 전송 시스템 및 방법, 동 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터 판독 가능한 기록 매체
JPH10320475A (ja) ワークフロー管理システム
JP3019774B2 (ja) ネットワークシステムのリモート運用管理システム、リモート運用管理方法、およびリモート運用管理プログラムを記憶する媒体
CN110784532A (zh) 双向数据同步方法及系统
JPH0226430A (ja) 同送処理方式

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
LAPS Lapse due to unpaid annual fee