KR20040104467A - 공통 작업 큐 환경에서의 최격적 서버 - Google Patents

공통 작업 큐 환경에서의 최격적 서버 Download PDF

Info

Publication number
KR20040104467A
KR20040104467A KR10-2004-7013518A KR20047013518A KR20040104467A KR 20040104467 A KR20040104467 A KR 20040104467A KR 20047013518 A KR20047013518 A KR 20047013518A KR 20040104467 A KR20040104467 A KR 20040104467A
Authority
KR
South Korea
Prior art keywords
servers
message
server
messages
eligible
Prior art date
Application number
KR10-2004-7013518A
Other languages
English (en)
Other versions
KR100763319B1 (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 KR20040104467A publication Critical patent/KR20040104467A/ko
Application granted granted Critical
Publication of KR100763319B1 publication Critical patent/KR100763319B1/ko

Links

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
    • 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
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/10015Access to distributed or replicated servers, e.g. using brokers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 서버를 관리하는 시스템 및 방법에 관한 것이다. 본 시스템은 세미지를 처리하기 위한 복수의 서버와, 상기 서버에 대하여 메시지를 전송하고 수신하는 적어도 하나의 클라이언트오, 상기 서버 중 적어도 하나가 메시지를 처리하기에 적격한 자의 여부를 나타내는 리스트를 유지하는 프로세서 수단을 포함한다. 상기 서버는 상이한 타입의 메시지를 처리하도록 구성되고, 상기 프로세서 수단은 상이한 타입의 메시지 각각에 대하여, 상기 서버 중 적어도 하나가 상기 상이한 타입의 메시지 각각을 처리하기에 적격한 지의 여부를 상기 리스트 상에 나타내는 수단을 포함하는 것인 좋다. 또한, 양호한 실시예에서는, 상기 클라이언트 각각이 상기 서버 중 하나에 소정 타입의 메시지를 전송하기 전에, 상기 서버 중 적어도 하나가 상기 소정 타입의 메시지를 처리하기에 적격한 지의 여부를 판정하기 위하여 상기 리스트를 판독하는 수단을 포함한다.

Description

공통 작업 큐 환경에서의 최격적 서버{MOST ELIGIBLE SERVER IN A COMMON WORK QUEUE ENVIRONMENT}
1 이상의 클라이언트의 처리 요구를 취급하기 위하여 복수의 시스템을 제공하는 것은 동시대의 데이터 처리 환경에서는 흔한 일이다. 예를 들어, 트랜잭션 처리 시스템과 같은 2 이상의 시스템은 통신 네트워크를 통하여 1 이상의 클라이언트에 인터페이스될 수 있다. 이 환경에서, 클라이언트가 그 시스템 중 하나에 의해 수행될 태스크를 가질 때, 클라이언트는 원하는 시스템에 입력 메시지를 보내어, 그 시스템에서 동작 중인 애플리케이션에 의한 처리를 요청한다. 그 대상 시스템은 메시지를 큐 처리하고 그 메시지를 처리 애플리케이션에 제공한다. 처리가 완료될 때, 애플리케이션은 네트워크를 통해 클라이언트에게 전송되도록 큐에 출력 메시지를 둔다.
이 환경의 멀티 프로세싱 특징을 이용하기 위하여, 클라이언트에 의해 원래 태스크가 부여된 시스템, 시스템 A는 그것의 큐로부터 입력 메시지를 추출하여 처리를 위해 제2 시스템, 시스템 B로 그 입력 메시지를 보낸다. 시스템 B에 의해 처리가 완료될 때, 그 응답(출력 메시지)은 시스템 A에게 보내지며, 클라이언트로 전송되게 시스템 A의 큐 상에 있게 된다. 따라서, 이 방식에 있어서, 다수의 시스템은 수많은 클라이언트로부터의 처리 요청을 취급하도록 이용될 수 있다.
그러나, 이 구성에는 몇가지 단점이 있다. 예컨대, 시스템 A가 작동하지 않으면, 이 시스템 A의 큐에 있는 작업의 어떤 것도 액세스될 수 없다. 그러므로, 클라이언트는 시스템 A가 온라인 상태로 회복되어 그 트랜잭션을 처리할 때까지 대기해야만 한다.
이러한 단점을 해결하기 위하여, 복수의 데이터 처리 시스템 중 임의의 것이 처리하도록 입력 메시지를 기억하기 위하여 공유, 즉 공통의 큐가 설치될 수 있다. 공통 큐 서버는 메시지를 처리하기 위하여 메시지가 유효 용량을 가진 시스템에 의해 검색되도록 메시지를 수신하여 공유 큐 상에서 큐 처리한다. 동작에 있어서, 유효 용량을 가진 시스템은 큐잉된 메시지를 검색하고, 필요한 처리를 수행하며, 공유 큐 상에 적절한 응답 메시지를 다시 둔다. 따라서, 공유 큐는 처리를 요청하는 클라이언트와 그 처리를 수행하는 데이터 처리 시스템 사이의 한 방향에서 보내진 메시지를 기억한다.
메시지가 공유 큐 상으로 인큐되기 때문에, 메시지는 그 공유 큐로의 액세스를 가진 복수의 시스템 중 임의의 시스템에서 동작하는 애플리케이션에 의해 처리될 수 있다. 그에 따라, 복수의 시스템 간에는 자동 작업부하 관리가 이루어진다. 또한, 공유 큐에 접속된 시스템 중 임의의 시스템이 메시지를 처리할 수 있기 때문에, 처리 용장의 잇점이 있다. 메시지를 처리하는 특정 애플리케이션이 작동하기않는다면, 클라이언트가 원래 애플리케이션의 온라인 상태로의 회복을 대기하는 일없이 또다른 애플리케이션이 공유 큐로부터 그 메시지를 검색하여 처리할 수 있다.
공통의 작업 큐를 이용할 때, 공통 큐 상에 요청을 제출한 모든 클라이언트는 그들의 작업 요청이 적당한 시간 내에 완료될 것이라고 기대한다. 모든 서버가 모든 요청을 처리하기에 적격하지 않는 환경에서는, 어느 소정의 때에, 큐 상에 있는 작업 요청의 일부 또는 모두를 처리하기에 적격한 서버가 없을 수 있다. 작업 요청이 동시 발생하면, 그 요청을 제출한 클라이언트에게 동시 발생 요청을 처리하기에 적격한 서버가 없다는 것을 통보하는 것이 중요하다.
보다 구체적으로 설명해서, 공유 작업 큐 환경에서는, 요청을 제출하는 1 이상의 클라이언트와 그 요청들을 처리하는 1 이상의 서버가 있다. 요청을 처리하는 그 서버들 중에서, 모든 서버가 공통 작업 큐 상의 각 요청을 처리할 수 있는 능력을 갖는 것은 아니다. 이것은 다음과 같은 이유 때문이다. (a) 서버가 소정 타입의 요청만 처리하도록 구성되는 경우, 또는 (b) 서버가 소정 타입의 요청을 처리하는데 필요한 리소스에 대한 액세스를 갖지 않는 경우가 있다. 경우 (a)의 예로서, 일부 서버는 소정 클라이언트로부터의 요청만 처리하도록 구성될 수 있으며, 다른 서버는 모든 요청을 처리하도록 구성될 수 있다. 경우 (b)의 예로서, 일부 요청은 모든 서버와 접속되지 않은 소정의 기억 풀(storage pool)에 대한 액세스를 요구할 수 있다. 요구된 기억 풀에 대한 접속을 가진 서버만이 그 요청을 처리할 수 있다.
본 발명은 일반적으로 병렬 처리 환경에 관한 것이며, 보다 구체적으로는 공유 큐를 채용한 병렬 처리 시스템에 관한 것이다.
도 1은 클라이언트/서버 환경에서의 공유 큐를 나타내는 블록도이다.
도 2는 최적격 서버 상태 레코드를 이용하는 공유 큐 처리 환경을 나타내는 도면이다.
도 3은 최적격 서버 상태 레코드를 업데이트하는 절차를 나타내는 도면이다.
본 발명의 목적은 작업 요청을 처리하기 위하여 공통 풀을 이용하는 데이터처리 시스템을 개선시키는 것에 있다.
또한, 본 발명의 목적은 동시 발생 요청을 제출한 클라이언트에게 그 요청을 처리하기에 적격한 서버의 존재 유무를 통보하는 것에 있다.
게다가, 본 발명의 목적은 처리하기에 적격한 서버가 없는 경우에 동시 발생 요청이 제출되는 것을 금지하는 것에 있다.
이러한 목적 및 다른 목적은 서버를 관리하기 위한 시스템 및 방법으로 달성된다. 이 시스템은 메시지를 처리하기 위한 복수의 서버와, 이 서버에 대하여 메시지를 전송하고 수신하기 위한 적어도 하나의 클라이언트와, 서버 중 적어도 하나가 메시지를 처리하기에 적격한 지의 여부를 나타내는 리스트를 유지하기 위한 프로세서 수단을 포함한다. 서버는 상이한 타입의 메시지를 처리하도록 구성되는 것이 좋고, 프로세서 수단은 상이한 타입의 메시지 각각에 대하여, 서버의 적어도 하나가 상기 상이한 타입의 메시지 각각을 처리하기에 적격한 지의 여부를 상기 리스트 상에 나타내는 수단을 포함하는 것이 좋다.
또한, 양호한 실시예에 있어서, 클라이언트 각각은 서버 중 하나로 소정 타입의 메시지를 전송하기 전에, 상기 서버 중 적어도 하나가 그 정해진 타입의 메시지를 처리하기에 적격한 지의 여부를 판정하기 위하여 리스트를 판독하는 수단을 포함한다. 또한, 프로세서 수단은 리스트가 변경된 때를 통보할 수 있고, 클라이언트 각각은 메시지를 처리하기에 적격한 어떤 서버도 없는 경우에 공통 큐로부터 메시지를 삭제하는 수단을 포함할 수 있다. 큐 서버는 공통 큐에 대하여 필요한 인터페이스를 제공한다. 임의의 적절한 큐 서버를 사용해도 좋지만, 공통 큐 서버는 인터내셔널 비지네스 머신즈(IBM)사로부터 입수 가능한 Coupling Facility인 것이 좋다.
본 발명의 추가 장점 및 이점은 이하의 설명으로부터 분명해질 것이며, 본 발명의 양호한 실시예를 상술하며 나타내는 첨부 도면을 참조함으로써 얻을 수 있다.
본 발명은 일반적으로 복수의 처리 시스템 중 임의의 것으로 하나 이상의 클라이언트의 메시지를 처리하게 하는 시스템 및 방법에 관한 것이다. 양호한 실시예에서, 공유 큐와 같은 구조화된 외부 기억 장치가 복수의 시스템에 대한 클라이언트 메시지를 큐잉하도록 제공된다. 입력 메시지를 클라이언트로부터 수신할 때에 이 메시지는 큐 상에 있게 된다. 복수의 시스템 중 하나가 유효한 처리 용량을 가질 때, 그 시스템은 메시지를 검색하고 처리하여 큐 상에 그에 대한 응답을 둔다.
도 1은 클라이언트/서버 환경(10)의 공유 큐를 도시하는 블록도이다. 클라이언트/서버 환경은 1 이상의 네트워크(16)를 통해 복수의 처리 시스템(14)에 인터페이스된 1 이상의 클라이언트(12)를 포함한다. 클라이언트(12)가 처리되는 트랜잭션을 가질 때, 그 클라이언트는 메시지를 공유 큐(20) 상에 인큐(enqueue)한다. 추가의 메시지가 클라이언트로부터 검색될 때, 그 메시지들 역시 공유 큐 상에 인큐된다. 각 메시지는 처리를 위해 시스템(14) 중 하나에 의해 검색될 때까지 공유 큐(20) 상에 있게 된다.
시스템(14)이 또다른 트랜잭션을 처리할 수 있는 용량을 가진다고 판정할 때, 그 시스템(14)은 공유 큐(20)로부터 메시지를 디큐(dequeue)한다. 시스템(14)은 이어서 메시지를 처리하고 입력 메시지를 발생시킨 클라이언트에 대한 적절한 응답을 공유 큐(20) 상에 둔다. 공통 큐 서버(22)는 공유 큐(20)와 시스템(14) 사이에 필요한 인터페이스를 제공한다. 입력 메시지가 공유 큐(20) 상에 인큐하도록 공통 큐 서버에 의해 수신될 때, 큐 서버(22)는 하나 이상의 버퍼에 메시지를 버퍼링한 후에, 이 데이터를 공유 큐에 전송한다. 임의의 적합한 공통 큐 및 공통 큐 서버가 본 발명을 실시하는 데 이용될 수 있다. 그러나, 공통 큐 서버는 인터내셔널 비지네스 머신즈사로부터 입수할 수 있는 zSeries 처리 환경에서 유효한 Coupling Facility인 것이 좋다. 이 Coupling Facility는 본 발명의 양호한 실시예에서 이용되는 다양한 특징들을 제공한다.
전술한 바와 같이, 공통 작업 큐를 이용할 때 발생할 수 있는 한가지 난제는 어느 때라도, 큐 상에 있는 작업 요청의 일부 또는 모두를 처리하기에 적격한 서버가 없을 수 있다는 것이다. 이러한 난제를 해결하기 위하여, 본 발명은 "최적격 서버"로서 칭해지는 특징을 이용한다. 최적격 서버란 요청을 처리할 수 있는 최상의 능력을 가진 서버이다. 최적격 서버 상태를 알고 있음으로써, 클라이언트는 그 요청을 처리하기에 적격한 서버가 있는 지의 여부에 따라 공통 작업 큐에게 요청을 제출할 수 있다.
처리에 적격한 서버가 없는 경우에, 동시 발생 요청이 제출되는 것을 피하기 위해서, "최적격 서버 상태(Most Eligible Server Status: MESS)" 레코드가 유지된다. MESS 레코드는 요청을 처리하기에 적격한 서버의 존재 유무를 나타내고, 그러한 서버가 있다면, 처리되기에 적격한 요청 타입을 나타낸다. 적격한 서버의 수는 있을 수 있겠지만, 유지될 필요는 없다. MESS 레코드는 요청을 처리하기에 적격한 적어도 하나의 서버가 있다는 것을 나타내므로, 요청이 무한정 시간 동안 큐 상에 남겨지지 않는다. 요청을 제출하기 전에, 클라이언트는 그 요청을 처리하기에 적격한 서버가 있는 지의 여부를 판정하기 위하여 MESS 레코드를 신속하게 판독한다. 그러한 서버가 있다면, 클라이언트는 그 요청을 큐 상에 둔다.
MESS 레코드에 변경이 있다면, 클라이언트에게 그 변경이 통보되는 것이 좋다. MESS가 이전 상태보다 하위 상태라면 - 즉, 적격한 서버가 없거나 소정 타입의 요청이 더이상 처리될 수 없는 상태 - , 클라이언트에게는 처리에 적격한 서버가 더이상 없는 경우 자신의 요청을 큐로부터 삭제하는 옵션이 있다.
도 2는 최적격 서버 상태 레코드를 이용할 수 있는 환경을 도시하고 있다. 예로서, 2개의 서버(32, 34)가 공통 작업 큐(36)로부터의 요청을 처리하고 있다. 2개 서버 모두가 디스크 풀(40)에 접속되어 있지만, 그 서버들 중 하나만이 테이프 풀(42)에 접속될 수 있다. 서버(34)가 테이프 리소스를 요구하는 요청을 처리할 수 있는 유일한 서버이다. 서버(34)를 이용할 수 있는 동안에, MESS 레코드는 테이프를 요구하는 요청을 처리할 수 있는 서버가 있다고 나타낸다. 서버(34)를 이용할 수 없다면, MESS 레코드(44)는 데이프 요구를 처리할 수 있는 서버가 없다는 것을 나타내도록 업데이트되고, 클라이언트(46, 50)는 존재하는 미해결 테이프 요구에 실패하고, 그에 따라 신규 요청을 제출할 수 있다.
도 3은 최적격 서버 상태 레코드를 업데이트하는 절차를 도시하고 있다. 단계(60, 62)에 나타내는 바와 같이, 서버가 공통 작업 큐에 접속할 때에, 이 서버는 MESS 레코드에 현재 반영되는 것보다 요청을 처리할 수 있는 능력이 더 높은지 판정한다. 그렇다면, 단계(64)에서 MESS 레코드는 업데이트되고, 그렇지 않다면, 단계(66)가 나타내는 바와 같이, MESS 레코드에는 변화가 없다. 레코드는, 또한 접속된 서버의 능력에 변화가 있을 때 업데이트될 수 있다. 각 서버의 능력 상태 레코드는 이 판정을 위해서 유지될 수 있다. 서버가 공통 작업 큐로부터 단절될 때에, MESS 레코드에는 MESS의 상태가 변했는 지가 업데이트될 수 있다.
MESS 레코드를 유지하고 업데이트하는 데 필요한 처리는 임의의 적절한 프로세서 수단에 의해 행해질 수 있다. 예컨대, 큐 서버(22)는 이 리스트를 유지하고 업데이트하는 데 이용될 수 있고, 하나 이상의 처리 시스템(14)이 이 목적을 위해 이용될 수 있거나, 별도의 장치가 이 기능을 수행하기 위해 설치될 수 있다. 또는 본 발명이 채용되는 특정한 환경에 따라, 이 프로세서 수단은 단일 프로세서 또는 복수의 프로세서를 포함할 수 있다. 예를 들어, 본 발명이 이용되는 특정 실시예에 따라, MESS 레코드는 단일 처리 유닛을 구비한 표준형 개인 컴퓨터에 의해, 또는, 예컨대 복수 또는 다수의 프로세서 유닛을 갖는 컴퓨터를 포함한 임의의 다른 적절한 타입의 컴퓨터에 의해 유지되고 업데이트될 수 있다. 게다가, 필요한 처리가 주로 소프트웨어에 의해, 원한다면, 주로 하드웨어에 의해, 또는 소프트웨어와 하드웨어의 조합에 의해 행해질 수 있다는 것에 주목해야 한다.

Claims (14)

  1. 메시지를 처리하기 위한 복수의 서버와,
    상기 서버에 대하여 메시지를 전송하고 수신하기 위한 적어도 하나의 클라이언트와,
    상기 서버 중 적어도 하나가 메시지를 처리하기에 적격한 지의 여부를 나타내는 리스트를 유지하기 위한 프로세서 수단을 포함하는 서버 관리 시스템.
  2. 제1항에 있어서, 상기 서버는 상이한 타입의 메시지를 처리하도록 구성되고,
    상기 프로세서 수단은 상이한 타입의 메시지 각각에 대하여, 상기 서버 중 적어도 하나가 상기 상이한 타입의 메시지 각각을 처리하기에 적격한 지의 여부를 상기 리스트 상에 나타내는 수단을 포함하는 것인 서버 관리 시스템.
  3. 제1항에 있어서, 상기 클라이언트 각각은 상기 서버 중 하나로 소정 타입의 메시지를 전송하기 전에, 서버 중 적어도 하나가 상기 소정 타입의 메시지를 처리하기에 적격한지의 여부를 판정하기 위하여 상기 리스트를 판독하는 수단을 포함하는 것인 서버 관리 시스템.
  4. 제1항에 있어서, 상기 프로세서 수단은 상기 리스트가 변경된 때를 클라이언트에게 통보하는 것인 서버 관리 시스템.
  5. 제1항에 있어서, 상기 클라이언트 각각은 메시지를 처리하기에 적격한 서버가 더이상 없는 경우에 상기 서버로부터 메시지를 삭제하는 수단을 포함하는 것인 서버 관리 시스템.
  6. 메시지를 처리하기 위한 복수의 서버를 제공하는 단계와,
    상기 서버에 대하여 메시지를 전송하고 수신하는 적어도 하나의 클라이언트를 이용하는 단계와,
    상기 서버 중 적어도 하나가 메시지를 처리하기에 적격한 지의 여부를 나타내는 리스트를 유지하기 위한 프로세서를 제공하는 단계를 포함하는 서버 관리 방법.
  7. 제6항에 있어서, 상기 서버는 상이한 타입의 메시지를 처리하도록 구성되고,
    상기 리스트는, 상이한 타입의 메시지 각각에 대하여, 상기 서버 중 적어도 하나가 상기 상이한 타입의 메시지 각각을 처리하기에 적격한 지의 여부를 나타내는 것인 서버 관리 방법.
  8. 제6항에 있어서,
    상기 클라이언트가 상기 서버 중 하나로 소정 타입의 메시지를 전송하기 전에, 상기 서버 중 적어도 하나가 상기 소정 타입의 메시지를 처리하기에 적격한 지의 여부를 판정하기 위하여 상기 클라이언트 각각이 상기 리스트를 판독하는 단계를 더 포함하는 서버 관리 방법.
  9. 제6항에 있어서,
    상기 프로세서를 이용하여, 상기 클라이언트에게 상기 리스트가 변경된 때를 통보하는 단계를 더 포함하는 서버 관리 방법.
  10. 제6항에 있어서,
    메시지를 처리하기에 적격한 서버가 더이상 없는 경우에, 상기 클라이언트 각각이 상기 서버로부터 메시지를 삭제하는 단계를 더 포함하는 서버 관리 방법.
  11. 전술한 청구항들에 따른 복수의 서버를 관리하기 위한 방법의 단계들을 수행하기 위하여 머신에 의해 실행 가능한 명령 프로그램을 유형적으로 통합하는 상기 머신에 의해 판독 가능한 프로그램 기억 장치.
  12. 상이한 타입의 메시지를 처리하기 위한 복수의 서버와,
    상기 서버에 대하여 메시지를 전송하고 수신하기 위한 적어도 하나의 클라이언트와,
    상이한 타입의 메시지 각각에 대하여, 상기 서버 중 적어도 하나가 상기 상이한 타입의 메시지 각각을 처리하기에 적격한지의 여부를 나타내는 리스트를 유지하기 위한 프로세서 수단을 포함하는 데이터 처리 시스템.
  13. 제12항에 있어서, 상기 클라이언트 각각은 상기 서버 중 하나로 소정 타입의 메시지를 전송하기 전에, 상기 서버 중 적어도 하나가 상기 소정 타입의 메시지를 처리하기에 적격한 지의 여부를 판정하기 위하여 상기 리스트를 판독하는 수단을 포함하는 것인 데이터 처리 시스템.
  14. 제12항에 있어서, 상기 클라이언트 각각은 메시지를 처리하기에 적격한 서버가 없는 경우에 상기 서버로부터 메시지를 삭제하는 수단을 포함하는 것인 데이터 처리 시스템.
KR1020047013518A 2002-03-29 2003-03-14 공통 작업 큐 환경에서의 최적격 서버 KR100763319B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/112,134 2002-03-29
US10/112,134 US7454501B2 (en) 2002-03-29 2002-03-29 Most eligible server in a common work queue environment
PCT/EP2003/002674 WO2003083683A2 (en) 2002-03-29 2003-03-14 Most eligible server in a common work queue environment

Publications (2)

Publication Number Publication Date
KR20040104467A true KR20040104467A (ko) 2004-12-10
KR100763319B1 KR100763319B1 (ko) 2007-10-05

Family

ID=28453247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047013518A KR100763319B1 (ko) 2002-03-29 2003-03-14 공통 작업 큐 환경에서의 최적격 서버

Country Status (10)

Country Link
US (2) US7454501B2 (ko)
EP (1) EP1490781B1 (ko)
JP (2) JP4028847B2 (ko)
KR (1) KR100763319B1 (ko)
CN (1) CN1292365C (ko)
AT (1) ATE357022T1 (ko)
AU (1) AU2003221501A1 (ko)
CA (1) CA2479949C (ko)
DE (1) DE60312498T2 (ko)
WO (1) WO2003083683A2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4039195B2 (ja) * 2001-12-27 2008-01-30 富士ゼロックス株式会社 ネットワークシステム
US8423662B1 (en) * 2003-04-28 2013-04-16 Akamai Technologies, Inc. Forward request queuing in a distributed edge processing environment
US8122201B1 (en) * 2004-09-21 2012-02-21 Emc Corporation Backup work request processing by accessing a work request of a data record stored in global memory
US8370839B2 (en) * 2007-07-20 2013-02-05 International Business Machines Corporation Monitoring message queues in message queuing information systems and initiating batch jobs to perform functions on the message queues
US8572627B2 (en) * 2008-10-22 2013-10-29 Microsoft Corporation Providing supplemental semantics to a transactional queue manager
GB2466314A (en) * 2008-12-22 2010-06-23 Symbian Software Ltd Managing a Message Queue for Asynchronous Communication
US20100157806A1 (en) * 2008-12-23 2010-06-24 Inventec Corporation Method for processing data packet load balancing and network equipment thereof
US8874724B2 (en) 2009-08-26 2014-10-28 At&T Intellectual Property I, L.P. Using a content delivery network for security monitoring
US9690638B2 (en) 2011-09-29 2017-06-27 Oracle International Corporation System and method for supporting a complex message header in a transactional middleware machine environment
US9104486B2 (en) * 2011-11-08 2015-08-11 Mckesson Financial Holdings Apparatuses, systems, and methods for distributed workload serialization
US9009702B2 (en) 2011-11-30 2015-04-14 Red Hat Israel, Ltd. Application-driven shared device queue polling in a virtualized computing environment
US8924501B2 (en) 2011-11-30 2014-12-30 Red Hat Israel, Ltd. Application-driven shared device queue polling
US9612866B2 (en) * 2012-08-29 2017-04-04 Oracle International Corporation System and method for determining a recommendation on submitting a work request based on work request type
US20150006620A1 (en) * 2013-06-27 2015-01-01 Applied Materials, Inc. Scalable manufacturing facility management system
US9654408B2 (en) * 2013-11-06 2017-05-16 Amazon Technologies, Inc. Strict queue ordering in a distributed system
JP2015095163A (ja) * 2013-11-13 2015-05-18 オリンパス株式会社 演算装置および演算方法
CN105721337B (zh) * 2014-12-04 2019-06-25 中国移动通信集团公司 软件定义网络中的分布式事务处理方法及装置
CN107612950B (zh) * 2016-07-11 2021-02-05 阿里巴巴集团控股有限公司 一种提供服务的方法、装置、系统、电子设备
CN112003949B (zh) * 2020-09-01 2022-09-13 中国银行股份有限公司 一种was集群下的jms消息进程分发控制系统及方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2867381B2 (ja) 1987-06-23 1999-03-08 株式会社日立製作所 トランザクション処理の負荷分散方法
US5844980A (en) * 1993-03-03 1998-12-01 Siemens Business Communication Systems, Inc. Queue managing system and method
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
US5797005A (en) * 1994-12-30 1998-08-18 International Business Machines Corporation Shared queue structure for data integrity
US6185611B1 (en) * 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US5758077A (en) * 1996-08-02 1998-05-26 Hewlett-Packard Company Service-centric monitoring system and method for monitoring of distributed services in a computing network
JPH1091595A (ja) 1996-09-12 1998-04-10 Kyushu Nippon Denki Software Kk トランザクション管理装置
US5991808A (en) * 1997-06-02 1999-11-23 Digital Equipment Corporation Task processing optimization in a multiprocessor system
US6601084B1 (en) * 1997-12-19 2003-07-29 Avaya Technology Corp. Dynamic load balancer for multiple network servers
US6304867B1 (en) * 1999-02-25 2001-10-16 Electronic Data Systems Corporation System and method for enhanced performance of a relational database management system through the use of application-specific memory-resident data
JP2000259591A (ja) 1999-03-11 2000-09-22 Matsushita Electric Ind Co Ltd 分散処理ジョブ実行方法およびネットワークシステム
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6845393B1 (en) * 1999-06-14 2005-01-18 Sun Microsystems, Inc. Lookup discovery service in a distributed system having a plurality of lookup services each with associated characteristics and services
CA2282931C (en) * 1999-09-21 2011-11-22 Microlog Corporation A contact center system capable of handling multiple media types of contacts and method for using the same
JP2001160038A (ja) 1999-12-02 2001-06-12 Ntt Comware Corp 負荷分散式情報処理システム及びその記録媒体
JP2001229142A (ja) * 2000-02-16 2001-08-24 Jisedai Joho Hoso System Kenkyusho:Kk サービス提供装置、送信装置、受信装置および受信方法
US7065574B1 (en) * 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
EP1187016A1 (en) * 2000-09-07 2002-03-13 Matsushita Electric Industrial Co., Ltd. Distributed processing job executing method and network system
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
US6907461B2 (en) * 2001-03-29 2005-06-14 International Business Machines Corporation Interactive data processor controlled display interface for tracking allocated messages in a dynamic workload balancing communication system

Also Published As

Publication number Publication date
ATE357022T1 (de) 2007-04-15
US7454501B2 (en) 2008-11-18
CA2479949C (en) 2009-04-14
JP4028847B2 (ja) 2007-12-26
JP2008033952A (ja) 2008-02-14
CN1643506A (zh) 2005-07-20
US8190743B2 (en) 2012-05-29
CN1292365C (zh) 2006-12-27
US20080307111A1 (en) 2008-12-11
WO2003083683A3 (en) 2004-04-15
KR100763319B1 (ko) 2007-10-05
JP4144897B2 (ja) 2008-09-03
US20030187969A1 (en) 2003-10-02
JP2005521945A (ja) 2005-07-21
AU2003221501A1 (en) 2003-10-13
DE60312498T2 (de) 2007-11-29
WO2003083683A2 (en) 2003-10-09
CA2479949A1 (en) 2003-10-09
DE60312498D1 (de) 2007-04-26
EP1490781B1 (en) 2007-03-14
EP1490781A2 (en) 2004-12-29

Similar Documents

Publication Publication Date Title
US8190743B2 (en) Most eligible server in a common work queue environment
US7464138B2 (en) Mirror queue in a shared queue environment
US5987502A (en) Workload management in an asynchronous client/server computer system
US5797005A (en) Shared queue structure for data integrity
US8196150B2 (en) Event locality using queue services
US6898617B2 (en) Method, system and program products for managing thread pools of a computing environment to avoid deadlock situations by dynamically altering eligible thread pools
US6999997B2 (en) Method and apparatus for communication of message data using shared queues
US8539160B2 (en) Asynchronous cache refresh for systems with a heavy load
US9015303B2 (en) Message queue behavior optimizations
US8874638B2 (en) Interactive analytics processing
US20080155140A1 (en) System and program for buffering work requests
US6934761B1 (en) User level web server cache control of in-kernel http cache
US9634962B2 (en) Pre-staging messages at a remote location
US7383312B2 (en) Application and verb resource management
JPWO2008105099A1 (ja) アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
CN117370046A (zh) 进程间通信方法、系统、设备和存储介质
US8327380B2 (en) Method and interprocess communication driver for managing requests of a database client to a database server
US20220100374A1 (en) Hierarchical file block variant tracking for performance in parallelism at multi-disk arrays
US20030185227A1 (en) Secondary queue for sequential processing of related queue elements
Romano et al. A lightweight and scalable e-Transaction protocol for three-tier systems with centralized back-end database
US20190220445A1 (en) hierarchical file block variant tracking for performance in parallelism at multi-disk arrays
JP2012094174A (ja) アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
JPH10326217A (ja) リモートファイルの入出力方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100824

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee