KR20030089392A - 통신 서버 시스템 및 그것을 이용한 통신 방법 - Google Patents

통신 서버 시스템 및 그것을 이용한 통신 방법 Download PDF

Info

Publication number
KR20030089392A
KR20030089392A KR1020020037928A KR20020037928A KR20030089392A KR 20030089392 A KR20030089392 A KR 20030089392A KR 1020020037928 A KR1020020037928 A KR 1020020037928A KR 20020037928 A KR20020037928 A KR 20020037928A KR 20030089392 A KR20030089392 A KR 20030089392A
Authority
KR
South Korea
Prior art keywords
server
servers
information
communication
connection
Prior art date
Application number
KR1020020037928A
Other languages
English (en)
Inventor
오노데스세이
Original Assignee
가부시키가이샤 웨부-베스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 웨부-베스 filed Critical 가부시키가이샤 웨부-베스
Publication of KR20030089392A publication Critical patent/KR20030089392A/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

복수의 서버에 대한 부하의 분산을 동적으로 실행하여, 모든 서버를 유효하게 활용할 수 있는 통신 서버 시스템 및 통신 방법을 제공한다.
복수의 서버로 이루어지는 서버군과, 복수의 서버 각각의 가동 상황에 관한 정보를 작성하는 가동 상황 감시 수단을 구비한 통신 서버 시스템으로서, 복수의 서버 각각은 서버군과 통신 네트워크를 통해 접속된 클라이언트 기기로부터의 액세스를 접수하는 접수 서버, 및 클라이언트 기기 사이에서 정보의 송수신을 실행하는 접속 서버로서 가동할 수 있고, 접수 서버는 가동 상황에 관한 정보를 참조하여, 액세스해 온 상기 클라이언트 기기가 접속해야 할 접속 서버를 복수의 서버 중에서 선택한다.

Description

통신 서버 시스템 및 그것을 이용한 통신 방법{Communication server system and communication method using the same}
본 발명은 복수의 서버로 이루어지는 서버군에 있어서, 각 서버에의 부하의 분산을 동적으로 실행하는 통신 서버 시스템과, 그 통신 서버 시스템을 이용한 통신 방법에 관한 것이다.
서로 원격 장소에 설치된 서버와 복수의 클라이언트 기기가 인터넷 등의 통신 회선을 통해 접속된 통신시스템에 있어서, 상기 서버가 복수의 클라이언트 기기로부터의 액세스를 접수하고, 그들의 클라이언트 기기 사이에서 데이터를 송수신하는 것이 실행되고 있다. 그러나, 접속되는 클라이언트 기기의 수가 증대되는 데 따라, 상기 서버에서는 데이터의 송수신 처리에 관한 연산 부하가 증대된다고 하는 문제가 발생한다. 이 때문에, 복수의 서버가 서로 액세스 가능하게 접속된 서버군을 구성하고, 복수의 클라이언트 기기 사이에서 실행되는 데이터의 송수신 처리에 관한 연산 부하를, 상기 복수의 서버로 분산하여 처리하는 것(로드 밸런스)가 실행되고 있다.
예를 들면, 통신 회선을 통해 접속된 복수의 클라이언트 기기에 대하여 비디오 데이터의 송신을 실행하는 비디오 서버 시스템에서는 복수의 서버 중에서, 각각의 클라이언트 기기가 접속해야 할 서버를 미리 정적(靜的)으로 결정해 둠으로써, 데이터의 송수신 처리에 관한 연산 부하가 하나의 서버에 집중되는 것을 방지할 수 있다.
또는, 복수의 서버로 이루어지는 서버군과 클라이언트 기기 사이에 부하 분산 장치를 설치하는 것도 실행되고 있다. 이 부하 분산 장치는 클라이언트 기기로부터의 액세스를 접수한 경우에, 그 액세스를 후단의 복수의 서버에 분배함으로써 로드 밸런스를 실행하는 기능을 가진다. 액세스의 분배 방법으로서는, 부하 분산 장치가 단지 복수의 서버에 대하여 차례로 액세스를 분배하는 방법이나, 복수의 서버 각각의 CPU 부하를 감시하여, CPU 부하가 가장 작은 서버에 대하여 클라이언트 기기로부터의 액세스를 분배하는 방법 등이 있다.
또 이 밖에도, 미국의 마이크로소프트사에 의한 SQL Server 등으로 구성되는복수의 서버 각각으로 작성되는 C0M(Component 0bject Model)의 개수를 감시하여, C0M의 개수가 적은 서버가 현상(現狀) 부하가 작은 서버라고 판정하고, 그 서버에 대하여 클라이언트 기기로부터의 액세스를 분배하는 방법도 있다.
그러나, 비디오 서버를 예로 설명한 종래의 통신 서버 시스템에서는, 클라이언트 기기 사이에서 데이터의 송수신을 실행하는 서버가 고정되어 설정되어 있으므로, 시간대에 따라서는, 특정 서버에는 클라이언트 기기로부터의 액세스가 집중되지만, 다른 서버에는 클라이언트 기기로부터의 액세스가 전혀 없다고 하는 부하의 편향이 발생할 가능성이 있다. 즉, 서버를 복수대 설치했다고해도, 부하를 복수의 서버에 대하여 항상 분산시킬 수 없어, 모든 서버를 유효하게 활용할 수 없다고 하는 문제가 있다. 또한, 수작업에 의해 상기 설정을 변경함으로써, 부하의 편향을 해소할 수도 있지만, 실시간에서의 로드 밸런스 방법으로서는 부적격하다. 이상의 것은 전술한, 부하 분산 장치가 단지 복수의 서버에 대하여 차례로 액세스를 분배하는 방법에서도 문제가 된다.
또한, 클라이언트 기기로부터의 액세스가 있었던 때에, 전술한 것과 같은 부하 분산 장치를 이용하여 복수의 서버의 가동 상황(CPU 부하, C0M의 개수 등)을 감시하고, 그리고, 그 감시 결과에 따라 클라이언트 기기가 접속되어야 할 서버를 선택하는 방법에서는, 클라이언트 기기로부터의 액세스로 시작되어, 부하 분산 장치에 의한 감시 작업, 서버의 선택에 이르기까지의 오버헤드가 크다고 하는 문제가 있다.
본 발명은 상기 문제점을 감안하여 이루어진 것이며, 그 목적은 복수의 서버에 대한 부하의 분산을 동적으로 실행하여, 모든 서버를 유효하게 활용할 수 있는 통신 서버 시스템 및 통신 방법을 제공하는 것에 있다.
도 1은 통신 서버 시스템의 구성도이다.
도 2는 통신 서버 시스템의 기능을 설명하는 도면이다.
도 3은 통신 서버 시스템에서 실시되는 통신 방법의 공정도이다.
도 4는 감시 테이블의 예이다.
<도면의 주요 부분에 대한 부호의 설명>
1: 서버, 2: 서버군, 3: 클라이언트 기기, 4: 가동 상황 감시 수단, 5: 감시 서버, 7: 통신 네트워크.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템의 제1 특징 구성은, 특허 청구의 범위의 난 제1항 기재와 같이, 복수의 서버로 이루어지는 서버군과, 상기 복수의 서버 각각에 액세스하여, 상기 복수의 서버 각각의 가동 상황에 관한 정보를 작성하는 가동 상황 감시 수단을 구비하여 이루어지는 통신 서버 시스템으로서, 상기 복수의 서버 중 적어도 1대는 상기 서버군과 통신 네트워크를 통해 접속된 클라이언트 기기로부터의 액세스를 접수하는 접수 서버로서 가동할 수 있고, 상기 복수의 서버 중 적어도 2대는 상기 클라이언트 기기 사이에서 정보의 송수신을 실행하는 접속 서버로서 가동할 수 있고, 상기 접수 서버는 상기 가동 상황에 관한 정보를 참조하여, 액세스해 온 상기 클라이언트 기기가 접속해야 할 상기 접속 서버를 상기 복수의 서버 중에서 선택하는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템의 제2 특징 구성은, 특허 청구의 범위의 난 제2항 기재와 같이, 상기 제1 특징 구성에 더하여, 상기 가동 상황에 관한 정보가 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드의 수에 관한 정보를 포함하는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템의 제3 특징 구성은, 특허 청구의 범위의 난 제3항 기재와 같이, 상기 제1 특징 구성에 더하여,상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드에 있어서 적어도 하나의 커맨드가 실행되는 경우, 상기 가동 상황에 관한 정보가 상기 커맨드의 종별마다 정해진 부하 계수의 합에 관한 정보를 포함하는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템의 제4 특징 구성은 특허 청구의 범위의 난 제4항 기재와 같이, 상기 제1 특징 구성에 더하여, 상기 가동 상황에 관한 정보가 상기 복수의 서버 각각이 상기 접속 서버로서 가동 가능한지 여부의 정보를 포함하는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제1 특징 구성은, 특허 청구의 범위의 난 제5항 기재와 같이, 복수의 서버를 가지는 서버군과, 상기 복수의 서버 각각에 액세스하여, 상기 복수의 서버 각각의 가동 상황에 관한 정보를 작성하는 가동 상황 감시 수단을 구비하여 이루어지며, 상기 복수의 서버 중 적어도 1대는 상기 서버군과 통신 네트워크를 통해 접속된 클라이언트 기기로부터의 액세스를 접수하는 접수 서버로서 가동할 수 있고, 상기 복수의 서버 중 적어도 2대는 상기 클라이언트 기기 사이에서 정보의 송수신을 실행하는 접속 서버로서 가동할 수 있는 통신 서버 시스템에 있어서, 상기 접수 서버가 상기 클라이언트 기기로부터의 액세스를 접수한 경우, 상기 접수 서버가 상기 복수의 서버 각각의 가동 상황에 관한 정보를 참조하여, 액세스해 온 상기 클라이언트 기기가 접속해야 할 상기 접속 서버를 상기 복수의 서버 중에서 선택하는 접속 서버 선택 공정을 포함하는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제2 특징 구성은, 특허 청구의 범위의 난 제6항 기재와 같이, 상기 제1 특징 구성에 더하여, 상기 접수 서버가 상기 접속 서버의 어드레스를 상기 클라이언트 기기에 송신하는 어드레스 송신 공정을 포함하는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제3 특징 구성은, 특허 청구의 범위의 난 제7 항 기재와 같이, 상기 제1 또는 제2 특징 구성에 더하여, 상기 가동 상황에 관한 정보가 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드의 수에 관한 정보를 포함하고, 상기 접속 서버 선택 공정에서, 상기 복수의 서버 내에서, 작성하고 있는 상기 스레드의 수가 적은 서버가 상기 액세스해 온 클라이언트 기기에 있어서의 상기 접속 서버로서 선택되는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제4 특징 구성은, 특허 청구의 범위의 난 제8항 기재와 같이, 상기 제1 또는 제2 특징 구성에 더하여, 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드에서 적어도 하나의 커맨드가 실행되는 경우, 상기 가동 상황에 관한 정보가 상기 커맨드의 종별마다 정해진 부하 계수의 합에 관한 정보를 포함하고, 상기 접속 서버 선택 공정에서, 상기 복수의 서버 내에서, 상기 부하 계수의 합이 작은 서버가 상기 액세스해 온 클라이언트 기기에 있어서의 상기 접속 서버로서 선택되는 점에 있다.
상기 과제를 해결하기 위한 본 발명에 관한 통신 서버 시스템을 이용한 통신방법의 제5 특징 구성은, 특허 청구의 범위의 난 제9항 기재와 같이, 상기 제1 또는 제2 특징 구성에 더하여, 상기 가동 상황에 관한 정보가 상기 복수의 서버 각각이 상기 접속 서버로서 가동 가능한지 여부의 정보를 포함하고, 상기 접속 서버로서 가동 가능한 서버 내에서, 상기 접속 서버가 선택되는 점에 있다.
이하에 작용 및 효과를 설명한다.
본 발명에 관한 통신 서버 시스템의 제1 특징 구성에 의하면, 클라이언트 기기로부터의 액세스를 접수한 접수 서버가 상기 가동 상황 감시 수단이 미리 작성하고 있는 상기 복수의 서버 각각의 가동 상황에 관한 정보를 참조하고, 액세스해 온 클라이언트 기기가 접속하여, 정보의 송수신을 실행해야 할 접속 서버를 상기 복수의 접속 서버 중에서 동적으로, 또한 신속하게 선택할 수 있다. 또, 클라이언트 기기 사이에서 실행되는 정보의 송수신에 관한 처리 부하에 대하여, 복수의 서버에 대한 부하의 분산을 동적으로 실행할 수 있으므로, 모든 서버의 능력을 유효하게 활용할 수 있는 통신 서버 시스템이 제공된다.
본 발명에 관한 통신 서버 시스템의 제2 특징 구성에 의하면, 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드의 수(즉, 접속되어 있는 클라이언트 기기의 수)에 관한 정보에 따라, 상기 복수의 서버 내에서, 접속되어 있는 클라이언트 기기의 수가 적은 서버(부하가 작은 서버)를 접속 서버로서 선택할 수 있다.
본 발명에 관한 통신 서버 시스템의 제3 특징 구성에 의하면, 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드에서 적어도하나의 커맨드가 실행되는 경우, 상기 커맨드의 종별마다 정해진 부하 계수의 합에 관한 정보에 따라, 복수의 서버 내에서, 상기 부하 계수의 합이 작은 서버(처리 능력에 여유가 있는 서버)를 접속 서버로서 선택할 수 있다.
본 발명에 관한 통신 서버 시스템의 제4 특징 구성에 의하면, 상기 접속 서버로서 가동 가능한 서버 중에서 상기 접속 서버가 선택되므로, 정적인 부하 분산을 실행하고 있던 종래의 시스템에서 일어날 수 있는, 가동하고 있지 않은 서버가 접속 서버로서 선택된다고 하는 것 같은 문제가 발생하지 않아, 접속 서버의 선택을 확실하게 실행할 수 있다.
본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제1 특징 구성에 의하면, 상기 통신 서버 시스템에 있어서, 상기 가동 상황 감시 수단이 상기 복수의 서버 각각의 가동 상황에 관한 정보를 수집할 수 있으므로, 상기 접수 서버가 상기 클라이언트 기기로부터의 액세스를 접수한 경우, 상기 접속 서버 선택 공정에서, 상기 접수 서버가 상기 가동 상황 감시 수단이 미리 작성하고 있는 상기 복수의 서버 각각의 가동 상황에 관한 정보를 참조하고, 액세스해 온 클라이언트 기기가 접속하여, 정보의 송수신을 실행해야 하는 접속 서버를 상기 복수의 접속 서버 중에서 동적으로, 또한 신속하게 선택할 수 있다. 또, 클라이언트 기기 사이에서 실행되는 정보의 송수신에 관한 처리 부하에 대하여, 복수의 서버에 대한 부하의 분산을 동적으로 실행할 수 있으므로, 모든 서버의 능력을 유효하게 활용할 수 있는 통신 방법이 제공된다.
본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제2 특징 구성에 의하면, 상기 접수 서버로부터 상기 클라이언트 기기로 상기 접속 서버의 어드레스가 송신되므로, 그 어드레스를 수신한 클라이언트 기기는 자체가 접속해야 할 서버(접속 서버)에 용이하게 액세스할 수 있다.
본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제3 특징 구성에 의하면, 상기 접속 서버 선택 공정에서, 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드의 수(즉, 접속되어 있는 클라이언트 기기의 수)에 관한 정보에 따라, 상기 복수의 서버 내에서, 접속되어 있는 클라이언트 기기의 수가 적은 서버(부하가 작은 서버)를 접속 서버로서 선택할 수 있다.
본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제4 특징 구성에 의하면, 상기 접속 서버 선택 공정에서, 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드에서 적어도 하나의 커맨드가 실행되는 경우, 상기 커맨드의 종별마다 정해진 부하 계수의 합에 관한 정보에 따라, 복수의 서버 내에서, 상기 부하 계수의 합이 작은 서버(처리 능력에 여유가 있는 서버)를 접속 서버로서 선택할 수 있다.
본 발명에 관한 통신 서버 시스템을 이용한 통신 방법의 제5 특징 구성에 의하면, 상기 접속 서버 선택 공정에서, 상기 접속 서버로서 가동 가능한 서버 중에서 상기 접속 서버가 선택되므로, 정적인 부하 분산을 실행하고 있던 종래의 방법에서 일어날 수 있는, 가동하고 있지 않은 서버가 접속 서버로서 선택된다고 하는 것 같은 문제가 발생하지 않아, 접속 서버의 선택을 확실하게 실행할 수 있다.
이하에 도면을 참조하여, 본 발명에 관한 통신 서버 시스템 및 통신 방법에대하여 설명한다.
도 1에 예시하는 것은 복수의 서버(1)(1a∼1d)를 가지는 서버군(2)과, 클라이언트 기기(3)(3a∼3d)가 인터넷 등의 통신 네트워크(7)에 의해 접속되어 이루어지는 시스템이다. 또한, 복수의 서버(1)(1a∼1d) 각각의 가동 상황에 관한 정보를 수집하는 가동 상황 감시 수단(4)이 설치되고, 서버군(2)과 가동 상황 감시 수단(4)을 구비하여 이루어지는 통신 서버 시스템이 구축된다.
예를 들면, 이 시스템을 이용하여 POS 시스템(판매 시점 정보 관리 시스템)을 구축할 수 있다. 그 경우에는 통신 네트워크(7)를 통해 복수대 설치된 클라이언트 기기(3)가 각 판매점에 설치된 단말이며, 이들 판매점에 설치된 단말로부터, 서버군(2)이 각 점포의 판매 데이터를 수집할 수 있는 POS 시스템(통신 시스템)을 구축할 수 있다. 이하의 실시 형태에서는 전술한 POS 시스템을 예로 본 발명에 관한 통신 시스템을 설명한다.
이상과 같이, 본 시스템에 있어서 클라이언트 기기(3)는 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d) 중 어느 하나의 서버 사이에서 정보(예를 들면, 전술한 판매 데이터)의 송수신을 실행하도록 구성되어 있다. 이 때, 클라이언트 기기(3)로부터의 액세스가 특정한 서버에 집중되어, 서버에 대한 부하가 서버의 처리 능력을 초과할 위험성을 회피하기 위해, 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d) 사이에서 부하의 분산(로드 밸런스)이 실행된다.
도 1에 예시한 시스템에서, 클라이언트 기기(3)는 퍼스널 컴퓨터 등의 클라이언트 컴퓨터를 이용하여 실현 가능하고, 서버(1)는 서버 컴퓨터 등에 의해 실현가능하다. 또, 클라이언트 기기(3) 및 서버(1)의 수는 도시한 것에 한정되지 않는다.
가동 상황 감시 수단(4)은 후술하는 것과 같이, 각 서버(1)(1a∼1d)에 액세스하여 각각의 가동 상황을 감시하는 기능(감시툴 기능)을 실현할 수 있는 장치이다. 따라서, 복수의 서버(1)(1a∼1d) 각각에 액세스 가능하도록 구성된 특정한 서버 컴퓨터의 메모리나 하드 디스크 드라이브 등의 기억 장치에, 감시툴 프로그램을 상주시켜 그 프로그램을 기동시킴으로써, 상기 서버 컴퓨터를 가동 상황 감시 수단(4)으로서 실현시킬 수 있다. 이하의 실시 형태에서는 도 1에 예시하는 감시 서버(5)를 사용하여 상기 가동 상황 감시 수단(4)의 기능이 실현되는 것으로 한다. 가동 상황 감시 수단(4)의 동작의 상세에 대해서는 후술한다.
또는 전술한 감시 서버(5)에 가동 상황 감시 수단(4)의 기능을 실현시키는 것이 아니라, 복수의 서버(1)(1a∼1d) 중 어느 하나의 서버 또는 복수의 서버에, 가동 상황 감시 수단(4)의 기능을 갖게 하고, 그 서버로부터 다른 서버로 액세스하여 가동 상황을 감시하도록 구성할 수도 있다.
서버(1)(1a∼1d)는 적어도 1대가 클라이언트 기기(3)(3a∼3d)로부터의 액세스를 접수하는 역할을 담당하는 접수 서버로서 가동되고, 적어도 2대가 클라이언트 기기(3)(3a∼3d) 사이에서 정보의 송수신을 실행하는 역할을 담당하는 접속 서버로서 가동할 수 있다. 즉, 전술한 로드 밸런스을 실행하기 위해, 먼저, 클라이언트 기기(3)(3a∼3d)를 접수 서버에 액세스시키고, 다음에, 접수 서버가 로드 밸런스를 실행하기 위해 적당한 접속 서버를 복수의 서버(1)(1a∼1d) 중에서 선택하는 구조가 구축되어 있다.
도 2에 나타내는 것은 도 1에 예시한 시스템을 이용하여, 서버군(2)이 클라이언트 기기(3)로부터의 액세스를 접수하는 경우의 로드 밸런스예를 기능적으로 도시한 것이다. 도 2에 도시한 것과 같이, 클라이언트 기기(3)가 서버군(2)에 액세스할 때에 그 액세스를 접수하는 접수 서버가 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d) 중에 포함되어 있다. 이하의 설명에서는, 편의적으로 클라이언트 기기(3a)에서의 접수 서버가 서버(1a)이며, 클라이언트 기기(3b)에서의 접수 서버가 서버(1b)이며, 클라이언트 기기(3c)에서의 접수 서버가 서버(3c)이며, 클라이언트 기기(3d)에서의 접수 서버가 서버(1d)이도록 설정되어 있는 것으로 하여 설명한다. 그리고, 각 클라이언트 기기(3)(3a∼3d)는 자체의 접수 서버의 IP 어드레스를 미리 유지하고 있어, 그 IP 어드레스에 따라 접수 서버에 각각 액세스한다.
전술한 것과 같이 가동 상황 감시 수단(4)은 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d)와는 다른 서버 컴퓨터에 의해 실현되는 감시 서버(5)를 구비하여 구성된다. 감시 서버(5)[가동 상황 감시 수단(4)]에 의해 수집된 가동 상황에 관한 정보는 감시 서버(5)가 구비하는 기억 수단(랜덤 액세스 메모리: RAM이나 하드 디스크 드라이브 등)에 격납된다. 도 2 중에서는, 가동 상황 감시 수단(4)을, 서버군(2)을 구성하는 복수의 서버(1a∼1d)에 관한 상기 가동 상황에 관한 정보를 수집하기 위한 감시툴이라는 명칭으로 도시한다. 한편으로, 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d) 각각은 감시 서버(5)에 액세스하여, 상기 기억 수단에 격납된 상기 가동 상황에 관한 정보를 취득할 수 있는 구성으로 되어 있다.
도 3에 나타내는 것은 본 발명에 관한 통신 서버 시스템을 이용한 통신 방법(로드 밸런스의 방법)을 설명하는 공정도이다. 클라이언트 기기(3b)가 서버군(2)에 액세스하는 경우를 예로서 이하에 설명하지만, 다른 클라이언트 기기가 사용된 경우도 동일한다.
먼저, 공정 100에서, 클라이언트 기기(3b)는 인터넷 등의 통신 네트워크(7)를 통해 접수 서버[서버(1b)]에 액세스한다. 여기에서, 각 클라이언트 기기(3)는 자체에서의 접수 서버의 어드레스(예를 들면, IP 어드레스)를 미리 유지하고 있으며, 그러므로, 클라이언트 기기(3b)로부터 접수 서버[서버(1b]에의 액세스가 정확하게 실행된다.
다음에, 공정 102에서, 클라이언트 기기(3b)로부터의 액세스를 접수한 접수 서버[서버(1b)]는, 공정 104에서, 감시 서버(5)가 구비하는 기억 수단에 격납되어 있는 감시 테이블[서버군(2)]을 구성하는 복수의 서버(1)(1a∼1d) 각각의 가동 상황에 관한 정보가 기재된 테이블(도 4)을 참조하여, 액세스해 온 클라이언트 기기(3b)가 접속해야 할 접속 서버를, 이하에 설명하도록 상기 복수의 서버(1)(1a∼1d) 중에서 선택한다(접속 서버 선택 공정).
도 4에 나타내는 것은 서버의 가동 상황에 관한 정보를 포함하는 감시 테이블의 예이며, 서버군(2)이 서버(1a)∼서버(1d)의 4개의 서버(접속 서버)에 의해 구성되는 예이다. 전술한 것과 같이, 이 감시 테이블은 가동 상황 감시 수단(4)이 서버군(2)을 구성하는 서버(1a)∼서버(1d) 각각의 운영 체제가 관리하는 각 메모리 영역에 격납되는, 작성되어 있는 스레드의 수, 사용되고 있는 메모리량(또는 빈 메모리량), 각 스레드로 실행되고 있는 커맨드 등의 정보를 소정 기간마다 감시함으로써 작성된다.
예를 들면, 서버군(2)을 구성하는 각 서버의 메모리 영역에 격납되어 있는 "HandleCount"를 감시함으로써, 작성되어 있는 스레드의 수(현재 접속수)에 관한 정보를 취득 가능하다. 그리고, 스레드 수의 최대값(최대 접속수)은 각 서버의 성능에 따라 설정되는 값이며, 서버(1a)∼서버(1d) 각각의 설정 파일에 포함되는 "Restart_ValueOfProcess"에 의해 기재되어 있다. 또한, 각 스레드로 실행되어 있는 커맨드를 취득하여, 각각의 커맨드를 실행하는 경우의 부하를 도출할 수 있다. 또 "PrivatesBytes"를 감시함으로써, 사용되고 있는 메모리 용량(또는 빈 메모리 용량)에 관한 정보를 취득할 수도 있다.
다음에, 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d)가 POS 시스템에서 판매점 등의 단말로부터 데이터를 수집하여 정보 데이터 베이스(도시하지 않음)를 재기입하는 서버인 경우를 예로 들어, 도 4에 예시한 감시 테이블의 "현재 접속수", "최대 접속수", "현재 부하", "최대 부하", "정지 플래그"를 도출하는 방법에 대하여 설명한다.
먼저, 현재 접속수와 최대 접속수는 전술한 "HandleCount" 및 "Restart_ ValueOfProcess"를 감시함으로써 얻어진다. 또, 현재 부하는 각 스레드로 실행되어 있는 커맨드의 부하 계수의 총계로부터 얻을 수 있다. 예를 들면, 현재 부하의 도출을 위해 이용되는 커맨드에는 문의 처리 커맨드, 갱신 처리 커맨드, 스토어드 프로시저 커맨드(stored procedure command) 등이 있고, 각 커맨드를 실행할 때의부하의 지표인 부하 계수의 총계를 산출함으로써, 각 서버에서의 현재 부하를 도출할 수 있다. 최대 부하는 각 서버의 성능에 따라 미리, 최대 부하 = 100 등의 수치로 설정되어 있다.
상세한 예를 들면, 문의 처리 커맨드에 대해서는 부하 계수 = 1이 할당되고, 갱신 처리 커맨드에 대해서는 부하 계수 = 1.2가 할당되고, 스토어드 프로시저 커맨드에 대해서는 부하 계수 = 1.5가 할당된다. 그 결과, 서버(1a∼1d)마다 산출되는 부하 계수의 총계로부터, 각 서버(1a∼1d)의 현재 부하를 도출할 수 있다.
그리고, 현재 접속수가 최대 접속수에 도달한 경우 및 현재 부하가 최대 부하 이상인 경우에는 정지 플래그가 세워져, 그 서버가 가동 불능인 것이 명시된다. 그리고, 서버를 재기동하는 것 등에 의해 정지 플래그를 취소할 수 있다.
그리고, 각 커맨드를 더욱 상세하게 분류하는 것도 가능하며, 예를 들면, 전술한 스토어드 프로시저 커맨드를, 문의용 스토어드 프로시저 커맨드와 재고 갱신용 스토어드 프로시저 커맨드로 분류하여, 각각 다른 부하 계수를 부여할 수도 있다.
이상과 같이, 감시 테이블에는 접속 서버를 선택하기 위한 판정 재료로서, 서버가 가동 가능한지 여부, 서버에 대하여 현재 접속되어 있는 클라이언트 기기의 수에 관한 정보, 및 서버의 부하에 관한 정보라고 하는 3 종류의 정보가 포함되어 있다.
상세하게는, 접속 서버를 선택하는 데 있어서의 선택 조건은 (i) 서버가 가동되고 있을 것, (ii) 서버에 현재 접속되어 있는 클라이언트 기기의 수(현재 접속수)가 최대 클라이언트 기기수(최대 접속수)보다도 적고, 또한, 서버의 부하 합계(현재 부하)가 최대 부하 보다도 작을 것, (iii) 판정값: X = (현재 접속수/최대 접속수) ×(현재 부하/최대 부하)의 값이 최소인 서버가 3개이며, 전술한 (i)∼(iii)의 순으로 판정 공정이 실행된다. 전술한 3개의 조건을 만족시키고 있는 서버가 복수대 존재하는 경우에는 (현재 접속수/최대 접속수)가 가장 작은 서버가 접속 서버로서 선택된다.
다음에, 도 4에 예시하는 감시 테이블을 참조하여, 접속 서버의 선택 공정을 설명한다.
먼저, 조건 (i)에 대한 판정이 실행되는 것이지만, 서버(1d)에는 정지 플래그가 세워져 있어, 현재는 가동이 불가능한 것을 알 수 있다. 따라서, 접속 서버로서의 후보로부터는 제외된다. 다음에, 조건 (ii)에 대한 판정이 실행되는 것이지만, 서버(1a), 서버(1b), 및 서버(1c)가 모두 현재 접속수 < 최대 접속수 및 현재 부하 < 최대 부하의 조건을 만족시키고 있기 때문에, 다음에, 조건 (iii)의 판정으로 이행한다.
조건 (iii)의 판정에서는, 서버(1a), 서버(1b), 및 서버(1c)의 판정값: Xa, Xb, 및 Xc의 값이 각각 계산된다. 감시 테이블에 따라 상기 판정값을 계산하면, Xa = 0.3, Xb = 0.48, Xc = 0.42로 된다. 따라서, 판정값이 가장 작은 서버(1a)가 클라이언트(3b)에 있어서의 접속 서버로서 선택된다.
클라이언트 기기(3b)에서의 접속 서버[서버(1a)]를 선택한 접수 서버[서버(1b)]는 서버(1a)의 IP 어드레스(도 4 중에서는 10. 1. 1. 1로 예시함)를클라이언트 기기(3b)에 송신한다[공정(106)].
공정 108에서, 자체의 접속 서버의 IP 어드레스를 수신한 클라이언트 기기(3b)는 그 어드레스에 의해 지정된 접속 서버[서버(1a)]에 액세스하여 접속을 확립하고, 판매 데이터 등의 정보 송수신을 실행한다. 클라이언트 기기(3b)로부터 접속 서버[서버(1a)]에 송신된 판매 데이터는 복수의 서버(1)(1a∼1d) 각각이 액세스 가능한 정보 데이터 베이스(도시하지 않음)에 격납된다.
<다른 실시 형태>
< 1 >
서버군을 구성하는 서버의 수는 도시한 경우에 한정되지 않고, 또, 복수의 서버가 병렬로 접속되어 있는 경우에 대하여 설명했지만, 각 서버의 하위에 다시 복수의 서버가 접속된 트리 구조의 서버군을 구성할 수도 있다. 그 경우, 접속 서버로서 선택된 서버의 하위에 존재하는 복수의 서버 각각의 가동 상황에 관한 정보에 관한 감시 테이블이 작성되고, 결과로서 2 단계의 부하 분산이 실행되는 경우 등의 개변(改變)도 가능하다.
< 2 >
접속 서버를 선택할 때의 판정 재료는 전술한 (i∼iii)의 3개에 한정되지 않고, 각 서버의 가동 상황에 관한 정보라면 다른 정보에 따라 접속 서버의 선택을 실행할 수도 있다.
< 3 >
커맨드에 대한 가중 계수는 서버의 성능에 의해 서버마다 변경할 수도 있다.예를 들면, 특정한 커맨드를 실행하기 위한 보조적인 연산 처리 장치를 구비하고 있는 서버에 있어서, 그 커맨드를 실행할 때에 서버 전체에 걸리는 부하는 상기 보조적인 연산 처리 장치를 구비하고 있지 않은 다른 서버보다도 작다. 따라서, 단지 주된 연산 처리 장치의 성능의 차만으로 단순히 최대 부하를 설정한 경우라도, 커맨드에 대한 가중을 상세하게 실행함으로써 얻어지는 현재 부하의 값이 상세하게 도출되므로, 상기 조건 (iii)의 판정값을 복수의 서버(1)(1a∼1d) 사이에서 상대적으로 정확하게 비교할 수 있다.
< 4 >
전술한 실시 형태에서는 서버군(2)을 구성하는 복수의 서버(1)(1a∼1d) 중의 특정 서버가 접수 서버로서 기능하고, 상기 접수 서버와는 다른 서버가 접속 서버로서 기능하는 경우에 대하여 설명했지만, 접속 서버 선택 공정에서의 판정 결과에 따라서는 접수 서버로서의 기능과 접속 서버로서의 기능이 동일한 서버에 의해 실현되는 것도 있다.
본 발명에 의하면, 클라이언트 기기로부터의 액세스를 접수한 접수 서버가 상기 가동 상황 감시 수단이 미리 작성하고 있는 상기 복수의 서버 각각의 가동 상황에 관한 정보를 참조하고, 액세스해 온 클라이언트 기기가 접속하여, 정보의 송수신을 실행해야 할 접속 서버를 상기 복수의 접속 서버 중에서 동적으로, 또한 신속하게 선택할 수 있다. 또, 클라이언트 기기 사이에서 실행되는 정보의 송수신에 관한 처리 부하에 대하여, 복수의 서버에 대한 부하의 분산을 동적으로 실행할 수있으므로, 모든 서버의 능력을 유효하게 활용할 수 있는 통신 서버 시스템 및 통신 방법을 제공한다.

Claims (9)

  1. 복수의 서버로 이루어지는 서버군(群)과, 상기 복수의 서버 각각에 액세스하여, 상기 복수의 서버 각각의 가동 상황에 관한 정보를 작성하는 가동 상황 감시 수단을 구비하여 이루어지는 통신 서버 시스템으로서,
    상기 복수의 서버 중 적어도 1대는 상기 서버군과 통신 네트워크를 통해 접속된 클라이언트 기기(機器)로부터의 액세스를 접수하는 접수 서버로서 가동할 수 있고, 상기 복수의 서버 중 적어도 2대는 상기 클라이언트 기기 사이에서 정보의 송수신을 실행하는 접속 서버로서 가동할 수 있고,
    상기 접수 서버는 상기 가동 상황에 관한 정보를 참조하여, 액세스해 온 상기 클라이언트 기기가 접속해야 할 상기 접속 서버를 상기 복수의 서버 중에서 선택하는 통신 서버 시스템.
  2. 제1항에 있어서,
    상기 가동 상황에 관한 정보가 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드의 수에 관한 정보를 포함하는 통신 서버 시스템.
  3. 제1항에 있어서,
    상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는스레드에서 적어도 하나의 커맨드가 실행되는 경우, 상기 가동 상황에 관한 정보가 상기 커맨드의 종별마다 정해진 부하(負荷) 계수의 합에 관한 정보를 포함하는 통신 서버 시스템.
  4. 제1항에 있어서,
    상기 가동 상황에 관한 정보가 상기 복수의 서버 각각이 상기 접속 서버로서 가동 가능한지 여부의 정보를 포함하는 통신 서버 시스템.
  5. 복수의 서버를 가지는 서버군과, 상기 복수의 서버 각각에 액세스하여 상기 복수의 서버 각각의 가동 상황에 관한 정보를 작성하는 가동 상황 감시 수단을 구비하여 이루어지며, 상기 복수의 서버 중 적어도 1대는 상기 서버군과 통신 네트워크를 통해 접속된 클라이언트 기기로부터의 액세스를 접수하는 접수 서버로서 가동할 수 있고, 상기 복수의 서버 중 적어도 2대는 상기 클라이언트 기기 사이에서 정보의 송수신을 실행하는 접속 서버로서 가동할 수 있는 통신 서버 시스템에 있어서,
    상기 접수 서버가 상기 클라이언트 기기로부터의 액세스를 접수한 경우, 상기 접수 서버가 상기 복수의 서버 각각의 가동 상황에 관한 정보를 참조하여, 액세스해 온 상기 클라이언트 기기가 접속해야 할 상기 접속 서버를 상기 복수의 서버 중에서 선택하는 접속 서버 선택 공정을 포함하는 통신 서버 시스템을 이용한 통신 방법.
  6. 제5항에 있어서,
    상기 접수 서버가 상기 접속 서버의 어드레스를 상기 클라이언트 기기에 송신하는 어드레스 송신 공정을 포함하는 통신 서버 시스템을 이용한 통신 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 가동 상황에 관한 정보가 상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드의 수에 관한 정보를 포함하고,
    상기 접속 서버 선택 공정에 있어서, 상기 복수의 서버 내에서, 작성하고 있는 상기 스레드의 수가 적은 서버가 상기 액세스해 온 클라이언트 기기에서의 상기 접속 서버로서 선택되는 통신 서버 시스템을 이용한 통신 방법.
  8. 제5항 또는 제6항에 있어서,
    상기 접속 서버로서 가동되고 있는 상기 복수의 서버 각각이 작성하고 있는 스레드에서 적어도 하나의 커맨드가 실행되는 경우, 상기 가동 상황에 관한 정보가 상기 커맨드의 종별마다 정해진 부하 계수의 합에 관한 정보를 포함하고,
    상기 접속 서버 선택 공정에 있어서, 상기 복수의 서버 내에서, 상기 부하 계수의 합이 작은 서버가 상기 액세스해 온 클라이언트 기기에서의 상기 접속 서버로서 선택되는 통신 서버 시스템을 이용한 통신 방법.
  9. 제5항 또는 제6항에 있어서,
    상기 가동 상황에 관한 정보가 상기 복수의 서버 각각이 상기 접속 서버로서 가동 가능한지 여부의 정보를 포함하고,
    상기 접속 서버로서 가동 가능한 서버 내에서, 상기 접속 서버가 선택되는 통신 서버 시스템을 이용한 통신 방법.
KR1020020037928A 2002-05-16 2002-07-02 통신 서버 시스템 및 그것을 이용한 통신 방법 KR20030089392A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00141612 2002-05-16
JP2002141612A JP2003330826A (ja) 2002-05-16 2002-05-16 通信サーバシステムおよびそれを用いた通信方法

Publications (1)

Publication Number Publication Date
KR20030089392A true KR20030089392A (ko) 2003-11-21

Family

ID=29702148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020037928A KR20030089392A (ko) 2002-05-16 2002-07-02 통신 서버 시스템 및 그것을 이용한 통신 방법

Country Status (2)

Country Link
JP (1) JP2003330826A (ko)
KR (1) KR20030089392A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254312B1 (ko) * 2005-10-27 2013-04-12 주식회사 엘지씨엔에스 프로그램 분산 배포 장치의 서버 로드 밸런싱 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5157472B2 (ja) * 2008-01-22 2013-03-06 富士通株式会社 帯域制御機能を有する負荷分散装置およびその設定方法
US8386289B2 (en) 2010-02-15 2013-02-26 Accenture Global Services Limited Multiple simultaneous session support by a remote technician
US8458521B2 (en) 2010-02-15 2013-06-04 Accenture Global Services Limited Remote technical support employing a configurable executable application
US9495666B2 (en) 2011-12-15 2016-11-15 Accenture Global Services Limited End-user portal system for remote technical support
JP6319585B2 (ja) * 2015-02-27 2018-05-09 京セラドキュメントソリューションズ株式会社 印刷データ送信装置、印刷データ送信プログラムおよびプルプリントシステム
JP6582452B2 (ja) * 2015-03-10 2019-10-02 中国電力株式会社 検針データの集約装置自動設定システム及び検針データの集約装置自動設定方法
JP6306550B2 (ja) * 2015-09-15 2018-04-04 東芝テック株式会社 情報処理装置及びプログラム
JP6468456B2 (ja) * 2018-03-22 2019-02-13 京セラドキュメントソリューションズ株式会社 プルプリントシステム
JP2022151519A (ja) * 2021-03-23 2022-10-07 スターライト テクノロジーズ リミテッド コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101254312B1 (ko) * 2005-10-27 2013-04-12 주식회사 엘지씨엔에스 프로그램 분산 배포 장치의 서버 로드 밸런싱 방법

Also Published As

Publication number Publication date
JP2003330826A (ja) 2003-11-21

Similar Documents

Publication Publication Date Title
US20200372091A1 (en) System and method for managing network traffic routing
JP6700266B2 (ja) 分散環境におけるサービスアドレッシング
US7313659B2 (en) System and method for managing storage and program for the same for executing an operation procedure for the storage according to an operation rule
US7712102B2 (en) System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data
EP1116112B1 (en) Load balancing in a network environment
CN109729131B (zh) 一种应用请求的处理方法、装置和路由器
CN108009028B (zh) 消息处理方法、装置、设备及计算机可读存储介质
US8700773B2 (en) Load balancing using redirect responses
US8145741B2 (en) Selecting a target design based on criteria
EP2137944B1 (en) On-demand propagation of routing information in distributed computing system
KR100745893B1 (ko) 분산 웹 서비스 컨텍스트에서 자발적인 장애 극복
US20110208682A1 (en) Performance evaluating apparatus, performance evaluating method, and program
US20060069892A1 (en) Method, apparatus, and computer readable medium for managing back-up
US20080263401A1 (en) Computer application performance optimization system
US20060106759A1 (en) Computer system, computer, data access method and database system
US20090182756A1 (en) Database system testing
KR101816589B1 (ko) 서비스형 소프트웨어 목록 갱신 방법 및 이를 위한 시스템
WO2000045277A1 (en) Method and apparatus for load balancing in a distributed object architecture
JP2008225995A (ja) ポリシ作成支援方法、ポリシ作成支援システム、およびプログラム
JP4590229B2 (ja) ポリシルール管理支援方法およびポリシルール管理支援装置
KR20030089392A (ko) 통신 서버 시스템 및 그것을 이용한 통신 방법
US20080104197A1 (en) Method and apparatus for distribution of data among computing resources
US7853671B2 (en) System and method for performing a comprehensive comparison of system designs
CN115329005A (zh) 多集群的协同方法、系统、装置及计算机可读存储介质
US20220210034A1 (en) Systems and methods for edge site selection and metrics capture

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid