KR20060079244A - 정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록매체 - Google Patents

정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록매체 Download PDF

Info

Publication number
KR20060079244A
KR20060079244A KR1020067007611A KR20067007611A KR20060079244A KR 20060079244 A KR20060079244 A KR 20060079244A KR 1020067007611 A KR1020067007611 A KR 1020067007611A KR 20067007611 A KR20067007611 A KR 20067007611A KR 20060079244 A KR20060079244 A KR 20060079244A
Authority
KR
South Korea
Prior art keywords
application
load control
bottleneck
server
processing time
Prior art date
Application number
KR1020067007611A
Other languages
English (en)
Other versions
KR100866857B1 (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 KR20060079244A publication Critical patent/KR20060079244A/ko
Application granted granted Critical
Publication of KR100866857B1 publication Critical patent/KR100866857B1/ko

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 복수의 애플리케이션 서버 및 데이터 베이스 서버를 구비한 정보 시스템에 있어서, 각 애플리케이션 서버에 의한 트랜잭션의 처리 시간에 따라 적절한 부하 제어를 행하는 것을 목적으로 한다.
본 발명은 애플리케이션 서버마다 상기 애플리케이션 서버가 수신한 트랜잭션을 애플리케이션 프로그램이 처리하는 처리 시간을 감시하는 처리 시간 감시부와, 애플리케이션 서버마다 처리 시간의 감시 결과에 기초하여 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 상기 애플리케이션 서버가 있는 경우에, 상기 애플리케이션 서버와 데이터 베이스 서버 중 어느 하나에 보틀넥(Bottle neck)이 있는지를 특정하는 보틀넥 특정부와, 보틀넥과 특정된 개소에 대응하는 애플리케이션 서버 상에서 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 부하 제어부를 구비한 정보 시스템을 제공한다.

Description

정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록 매체{INFORMATION SYSTEM, LOAD CONTROL METHOD, LOAD CONTROL PROGRAM, AND RECORDING MEDIUM}
본 발명은 정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록 매체에 관한 것이다. 특히 본 발명은 복수의 애플리케이션 서버 및 데이터 베이스 서버를 구비하고, 부하 제어를 행하는 정보 시스템과, 그 부하 제어 방법, 부하 제어 프로그램 및 기록 매체에 관한 것이다.
최근, 웹 페이지의 표시와 연휴하여 서버측에서 애플리케이션을 실행 가능하게 하는 각종 기반 기술이 제공되어 있기 때문에, 이용자에게 양호한 사용자 인터페이스를 제공하는 웹 기능을 이용하여 정보 시스템을 실현하는 것이 주류가 되고 있다.
이러한 정보 시스템의 부하를 제어하는 기술로서, 특허 공개 제2001-160040호 공보에 1대의 컴퓨터 상에서 서버 프로그램을 실행시키고, 서버 프로그램이 상기 컴퓨터의 CPU를 사용하는 사용률이 높은 경우에 서버 프로그램의 다중도를 증가시키는 기술이 개시되어 있다.
또한, 특허 공개 제2000-268012호 공보에 LAN 접속된 부하 분산 장치와 서버 컴퓨터를 구비하는 클라이언트 서버 시스템에 있어서, 서버 컴퓨터의 부하가 임계값을 초과하는 경우에, 부하 분산 장치가 단말로부터 트랜잭션의 수신을 중단하는 기술이 개시되어 있다.
[특허 문헌 1] 일본 특허 공개 제2001-160040호 공보
[특허 문헌 2] 일본 특허 공개 제2000-268012호 공보
대규모 정보 시스템은 복수의 애플리케이션 서버와, 1대 또는 다중화된 데이터 베이스 서버를 구비하여 구성된다. 애플리케이션 서버는 이용자에 의해 웹 페이지가 액세스된 경우에 상기 웹 페이지에 대응된 애플리케이션을 실행하고, 실행 결과를 포함한 웹 페이지의 데이터를 상기 단말로 회신한다. 데이터 베이스 서버는 애플리케이션 서버로부터 데이터 베이스의 액세스 요구를 받아 데이터 베이스를 액세스한다. 이러한 정보 시스템에 있어서는, 이용자의 단말로부터 수신한 트랜잭션에 대한 응답 시간을 허용 범위 내로 억제하고, 이용자의 작업에 지연을 발생시키지 않도록 하는 것이 중요하다. 그러나, 상기한 기술에 있어서는, 서버 프로그램이나 서버 컴퓨터의 부하를 일정 이하로 유지하는 것을 목적으로 하고 있으며, 트랜잭션의 응답 시간에 기초를 둔 제어를 행할 수 없고, 또한 애플리케이션 서버 및 데이터 베이스 서버의 각각에 적합한 부하 제어 처리를 행할 수 없었다.
그래서 본 발명은 상기한 과제를 해결할 수 있는 정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록 매체를 제공하는 것을 목적으로 한다. 이 목적은 특허청구의 범위의 독립항에 기재한 특징의 조합에 의해 달성된다. 또한 종속항은 본 발명의 한층 더 유리한 구체예를 규정한다.
본 발명의 제1 형태에 의하면, 단말로부터 수신한 트랜잭션에 따라 애플리케이션 프로그램을 각각 실행하는 복수의 애플리케이션 서버와, 상기 복수의 애플리케이션 서버의 각각의 요구에 기초하여 데이터 베이스를 액세스하는 데이터 베이스 서버를 구비하는 정보 시스템으로서, 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 서버가 수신한 상기 트랜잭션을 상기 애플리케이션 프로그램이 처리하는 처리 시간을 감시하는 처리 시간 감시부와, 상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 상기 애플리케이션 서버에 보틀넥이 있다고 특정하는 보틀넥 특정부와, 보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 부하 제어부를 구비하는 정보 시스템과, 상기 정보 시스템에 관한 부하 제어 방법, 부하 제어 프로그램 및 기록 매체를 제공한다.
또한, 상기한 발명의 개요는 본 발명의 필요한 특징 모두를 열거한 것이 아니며, 이들 특징군의 서브 조합도 또한 발명이 될 수 있다.
도 1은 본 발명의 실시 형태에 따른 정보 시스템(10)의 구성을 도시한다.
도 2는 본 발명의 실시 형태에 따른 정보 시스템(10)에 의해 실행되는 보틀넥 특정 처리의 흐름을 도시한다.
도 3은 본 발명의 실시 형태에 따른 정보 시스템(10)의 고부하 판정 방법을 도시한다.
도 4는 본 발명의 실시 형태에 따른 부하 제어 정보 저장부(177)에 저장되는 부하 제어 정보의 일례를 도시한다.
도 5는 본 발명의 실시 형태에 따른 컴퓨터(900)의 하드웨어 구성의 일례를 도시한다.
이하, 발명의 실시 형태를 통하여 본 발명을 설명하지만, 이하의 실시 형태는 특허청구의 범위에 관한 발명을 한정하는 것이 아니고, 또한 실시 형태 중에서 설명되어 있는 특징의 조합 모두가 발명의 해결 수단에 필수라고 단정할 수 없다.
도 1은 본 실시 형태에 따른 정보 시스템(10)의 구성을 도시한다. 본 실시 형태에 따른 정보 시스템(10)은 복수의 애플리케이션 서버(120)의 각각에 있어서의 트랜잭션의 처리 시간과, 복수의 애플리케이션 서버(120) 및 데이터 베이스 서버(150)의 처리 부하를 감시하고, 감시 결과에 기초하여 애플리케이션 서버(120) 또는 데이터 베이스 서버(150)의 보틀넥을 해소할 수 있는 적절한 부하 제어를 행한다. 또한, 본 실시 형태에 따른 정보 시스템(10)은 복수 종류의 업무 등에 대응하는 복수 종류의 애플리케이션 프로그램을 통합하여 가동시킨 경우에 있어서, 어떤 애플리케이션 프로그램에 생긴 성능 저하 요인이 다른 애플리케이션 프로그램의 처리 성능에 영향을 부여하지 않도록 적절히 부하 제어를 행할 수 있다.
정보 시스템(10)은 상기 정보 시스템(10)을 이용하는 이용자가 각각 사용하는 복수의 단말(100)에 인터넷이나 인트라넷 등의 네트워크(110)를 통해 접속되는 서버 컴퓨터 시스템이며, 복수의 애플리케이션 서버(WAS : Web Application Server)(120), 데이터 베이스 서버(DBS : Data base Server)(150) 및 부하 제어 서버(160)를 구비한다.
복수의 WAS(120)의 각각은 단말(100)로부터 수신한 HTTP 요구 등의 트랜잭션에 따라 Java(등록상표) 서블렛이나 JSP(Java Server Pages) 등에 의한 애플리케이션 프로그램을 실행하는 서버 컴퓨터이다. 또한, WAS(120)는 실행 결과를 포함한 웹 페이지를 단말(100)에 회신한다. 이 애플리케이션 프로그램의 실행 중에 WAS(120)는 애플리케이션 프로그램에 의한 지시에 기초하여 데이터 베이스(DB)(152)의 액세스를 DBS(150)에 요구한다.
DBS(150)는 복수의 WAS(120)의 각각의 요구에 기초하여 DB(152)를 액세스하고, 액세스 결과를 요구원의 WAS(120)에 회신하는 서버 컴퓨터이다. 부하 제어 서버(160)는 복수의 WAS(120)의 각각에 있어서의 트랜잭션의 처리 시간과, 복수의 WAS(120) 및 DBS(150)의 처리 부하를 감시하고, 감시 결과에 기초하여 정보 시스템(10)의 부하 제어를 행한다.
다음에, WAS(120), DBS(150) 및 부하 제어 서버(160)의 구성을 도시한다. 복수의 WAS(120)의 각각은 HTTP 서버부(125)와, WEB 애플리케이션 서버부(130)와, 처리 시간 취득부(140)와, 처리 부하 취득부(142)와, 서버내 부하 제어부(144)를 갖는다. HTTP 서버부(125)는 단말(100)로부터 트랜잭션을 수신하고, 상기 트랜잭션에 대응하는 웹 페이지를 단말(100)에 회신한다. 또한, 상기 구성에 있어서 HTTP 서버부(125)는 물리적으로 다른 처리부인 서버 상에서 가동하고 있어도 좋다.
WEB 애플리케이션 서버부(130)는 단말(100)로부터 수신한 트랜잭션에 따라 애플리케이션 프로그램(134)을 실행한다. 본 실시 형태에 있어서, 복수의 WAS(120)의 각각에 있어서의 WEB 애플리케이션 서버부(130)는 복수 종류의 애플리케이션 프로그램(134)을 혼재하고, 복수 종류의 애플리케이션 프로그램(134) 중 단말(100)로부터 수신한 트랜잭션의 종류에 대응하는 애플리케이션 프로그램(134)을 실행한다. 여기서 복수 종류의 애플리케이션 프로그램(134)은 상기 WAS(120) 상에서 실행되어야 하는 우선도가 각각 설정된다. 보다 구체적으로는 복수 종류의 애플리케이션 프로그램(134)은 우선도에 따라 복수의 그룹으로 분류되고, 각 애플리케이션 프로그램(134)이 속하는 그룹에 지정된 우선도로 실행된다.
WEB 애플리케이션 서버부(130)는 다중도 제어부(132), DB 액세스 제어부(136) 및 DB 커넥션 풀(138)을 포함한다. 다중도 제어부(132)는 복수 종류의 애플리케이션 프로그램(134)의 각각을 실행해야 하는 다중도를 제어한다. 여기서 애플리케이션 프로그램(134)을 실행하는 다중도는, 동일한 종류의 트랜잭션을 복수개 수신한 경우에, 각각의 트랜잭션에 대응하여 애플리케이션 프로그램(134)이 병행하여 동작시키는 수의 최대치이다.
DB 액세스 제어부(136)는 복수 종류의 애플리케이션 프로그램(134)의 각각에 의한 DB(152)의 액세스 요구를 더불어 처리한다. 그리고 DB 액세스 제어부(136)는 DBS(150)에 대한 액세스 요구의 발행수를 애플리케이션 프로그램(134)마다 제한하는 동시에, DBS(150) 내부에서 복수 종류의 애플리케이션 프로그램(134)의 각각의 우선도를 특정 가능하게 하도록 DB 커넥션(139)을 할당한다. 보다 구체적으로는 DB 액세스 제어부(136)는 우선도마다 다른 사용자 ID를 이용하여 DBS(150)에 접속함으로써, DBS(150) 내부에서 액세스 요구의 우선도를 특정 가능하게 한다.
DB 커넥션 풀(138)은 복수의 DB 커넥션(139)을 포함한다. 각각의 DB 커넥션(139)은 DB(152)의 액세스 요구를 발행하기 위해 DBS(150)와 접속하는 접속점이 된다.
이상에 도시한 다중도 제어부(132) 및 DB 액세스 제어부(136)는 1대의 WAS(120) 상에서 복수 종류의 애플리케이션 프로그램(134)을 통합하여 효율적으로 가동시키기 위한 프레임워크를 실현하는 클래스 함수 등을 WAS(120) 상에서 실행함으로써 실현되어도 좋다.
처리 시간 취득부(140)는 개개의 트랜잭션의 처리 시간이나 데이터 베이스 처리 시간 등을 다중도 제어부(132) 및 DB 액세스 제어부(136)로부터 취득하고, 애플리케이션 프로그램(134)마다의 처리 시간 및 데이터 베이스 처리 시간 등의 통계를 취한다. 여기서, 단말(100)로부터 수신한 트랜잭션을 애플리케이션 프로그램(134)이 처리하는 처리 시간은 트랜잭션의 응답 시간이라고도 불린다. 그리고, 처리 시간 취득부(140)는 하나의 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내에 있지 않은 경우에 상기 애플리케이션 프로그램(134)에 대하여 서비스 레벨이 저하하고 있는 것을 나타내는 서비스 레벨 저하 이벤트를 부하 제어 서버(160)에 통지한다. 여기서 처리 시간 취득부(140)는 이 서비스 레벨 저하 이벤트에 데이터 베이스 처리 시간 등의 정보를 포함하여 부하 제어 서버(160)로 통지하더라도 좋다.
처리 부하 취득부(142)는 상기 WAS(120)가 갖는 애플리케이션 프로그램(134)에 의해 각각 사용되는 자원인 1 또는 복수의 애플리케이션 서버 자원의 사용량을, 예컨대 WAS(120) 상에서 동작하는 오퍼레이팅 시스템의 성능 모니터 기능 등으로부터 취득하고, 상기 애플리케이션 서버 자원 사용량의 통계를 취한다. 그리고, 처리 부하 취득부(142)는 하나의 애플리케이션 서버 자원의 사용량이 허용 범위 내에 있지 않은 경우에 상기 애플리케이션 서버 자원의 처리 부하가 고부하인 것을 나타내는 시스템 자원 고부하 이벤트를 부하 제어 서버(160)에 통지한다. 이상에 있어서, 처리 부하 취득부(142)는 애플리케이션 서버 자원의 사용량을 애플리케이션 프로그램(134)마다 취득하고, 상기 애플리케이션 프로그램(134)에 의한 사용량이 허용 범위가 아닌 경우에 시스템 자원 고부하 이벤트를 부하 제어 서버(160)에 통지하여도 좋으며, 이것 대신에 처리 부하 취득부(142)는 모든 애플리케이션 프로그램(134)에 의한 애플리케이션 서버 자원의 사용량의 합계를 취득하고, 상기 사용량이 허용 범위 내가 아닌 경우에 시스템 자원 고부하 이벤트를 부하 제어 서버(160)에 통지하여도 좋다.
서버내 부하 제어부(144)는 부하 제어 서버(160)에 의해 실행되는 부하 제어 처리에 따라 상기 WAS(120) 내에서의 부하 제어를 행한다. 본 실시 형태에 따른 서버내 부하 제어부(144)는 WAS(120) 내에서의 부하 제어로서, 각 애플리케이션 프로그램(134)의 각각을 실행하는 다중도를 변경한다.
DBS(150)는 DB(152)와, DB 처리 요구 I/F부(153)와, DB 엔진(154)과, 처리 부하 취득부(156)와, 서버내 부하 제어부(158)를 갖는다. DB(152)는 복수의 애플리 케이션 프로그램(134)의 각각에 의해 액세스되는 데이터를 저장한다. 복수의 DB 처리 요구 I/F부(153)의 각각은 복수의 DB 커넥션(139)의 각각에 대응하여 설치되고, WAS(120)가 DB(152)에 대한 액세스 요구를 발행하기 위한 접속점이 된다. 본 실시 형태에 있어서, WAS(120)는 복수의 애플리케이션 프로그램(134)의 각각의 우선도에 따라 다른 사용자 ID에 대응하는 DB 처리 요구 I/F부(153)에 접속한다. 이 때문에 DBS(150)는 사용자 ID에 기초하여 액세스 요구를 발행한 애플리케이션 프로그램(134)의 우선도를 식별할 수 있다.
DB 엔진(154)은 복수의 WAS(120)의 각각이 복수의 애플리케이션 프로그램(134)의 각각의 지시에 기초하여 발행하는 SQL 커맨드 등의 액세스 요구에 기초하여 DB(152)를 액세스한다. 처리 부하 취득부(156)는 DBS(150)가 갖는 애플리케이션 프로그램(134)이 DB(152)를 액세스하는 경우에 사용되는 자원인 1 또는 복수의 데이터 베이스 서버 자원의 사용량을, 예컨대 DBS(150) 상에서 동작하는 오퍼레이팅 시스템의 성능 모니터 기능으로부터 취득하고, 상기 데이터 베이스 서버 자원 사용량의 통계를 취한다. 그리고, 처리 부하 취득부(156)는 하나의 데이터 베이스 서버 자원의 사용량이 허용 범위 내에 있지 않은 경우에 상기 데이터 베이스 서버 자원의 처리 부하가 고부하인 것을 나타내는 시스템 자원 고부하 이벤트를 부하 제어 서버(160)에 통지한다. 이상에 있어서 처리 부하 취득부(156)는 데이터 베이스 서버 자원의 사용량을 DB 처리 요구 I/F부(153)마다 취득하고, 대응하는 애플리케이션 프로그램(134)에 의한 사용량이 허용 범위 내가 아닌 경우에 시스템 자원 고부하 이벤트를 부하 제어 서버(160)에 통지하여도 좋고, 이것 대신에 처리 부하 취득 부(156)는 모든 DB 처리 요구 I/F부(153)에 의한 데이터 베이스 서버 자원의 사용량의 합계를 취득하며, 상기 사용량이 허용 범위 내가 아닌 경우에 시스템 자원 고부하 이벤트를 부하 제어 서버(160)에 통지하여도 좋다.
서버내 부하 제어부(158)는 부하 제어 서버(160)에 의해 실행되는 부하 제어 처리에 따라 DBS(150) 내에서의 부하 제어를 행한다. 본 실시 형태에 따른 서버내 부하 제어부(158)는 서버내 부하 제어부(158) 내에서의 부하 제어로서, DB 처리 요구 I/F부(153)가 DB(152)를 액세스하는 처리의 우선도를 변경한다.
부하 제어 서버(160)는 처리 시간 감시부(165)와, 보틀넥 특정부(170)와, 처리 부하 감시부(190)와, 부하 제어부(175)를 갖는다. 처리 시간 감시부(165)는 복수의 WAS(120)의 각각에 대하여 상기 WAS(120)가 수신한 트랜잭션을 애플리케이션 프로그램(134)이 처리하는 처리 시간을 감시한다. 본 실시 형태에 있어서, 처리 시간 감시부(165)는 복수의 WAS(120)의 각각에 대하여 애플리케이션 프로그램(134)마다 트랜잭션의 처리 시간을 감시한다. 여기서 처리 시간 감시부(165)는 복수의 WAS(120)의 각각으로부터 통지되는 서비스 레벨 저하 이벤트에 기초하여 애플리케이션 프로그램(134)마다 트랜잭션의 처리 시간이 허용 범위 내에 있지 않은 것을 검출한다.
보틀넥 특정부(170)는 복수의 WAS(120)의 각각에 대한 처리 시간의 감시 결과에 기초하여 복수의 WAS(120) 및 DBS(150) 중 적어도 하나의 WAS(120) 또는 DBS(150)에 보틀넥이 있다고 특정한다. 처리 부하 감시부(190)는 복수의 WAS(120)의 각각에 대한 1 또는 복수의 애플리케이션 서버 자원의 사용량과, 1 또는 복수의 데이터 베이스 서버 자원의 사용량을 감시한다. 본 실시 형태에 있어서, 처리 부하 감시부(190)는 복수의 WAS(120) 및 DBS(150)의 각각으로부터 통지되는 시스템 자원 고부하 이벤트에 기초하여 상기 시스템 자원 고부하 이벤트에 의해 특정되는 애플리케이션 서버 자원 또는 데이터 베이스 서버 자원의 사용량이 허용 범위 밖이 된 것을 검출한다.
부하 제어부(175)는 복수의 WAS(120) 또는 DBS(150) 중 적어도 하나의 서버에 보틀넥이 있다고 특정된 경우에, 보틀넥이 있다고 특정된 서버의 보틀넥을 해소하기 위한 부하 제어 처리를 실행한다.
부하 제어부(175)는 부하 제어 정보 저장부(177)와, 부하 제어 정보 취득부(179)와, 부하 제어 처리부(181)를 포함한다. 부하 제어 정보 저장부(177)는 보틀넥으로 특정된 서버와, 상기 서버에 있어서 고부하인 것이 검출된 자원과 대응하여, 부하 제어부(175) 내의 부하 제어 처리부(181)가 행해야 하는 부하 제어 처리를 지정하는 부하 제어 정보를 저장한다. 또한, 부하 제어 정보 저장부(177)는 애플리케이션 프로그램(134)의 각각의 그룹, 그룹의 우선도 및 상기 애플리케이션 프로그램(134)에 설정 가능한 다중도를 나타내는 다중도 정보를 저장한다. 부하 제어 정보 취득부(179)는 보틀넥 특정부(170)에 의해 보틀넥과 특정된 서버에 있어서의 처리 부하 감시부(190)에 의해 고부하인 것이 검출된 자원에 대응하는 부하 제어 정보를 부하 제어 정보 저장부(177)로부터 취득하고, 부하 제어 처리부(181)에 출력한다. 부하 제어 처리부(181)는 보틀넥이 있다고 특정된 서버의 보틀넥을 해소하기 위해 부하 제어 정보에 의해 지정되는 부하 제어 처리를 실행한다. 부하 제어 처리에 있어서, 부하 제어 처리부(181)는 부하 제어의 대상이 되는 WAS(120) 내의 서버내 부하 제어부(144) 또는 DBS(150) 내의 서버내 부하 제어부(158)에 대하여 상기 서버내의 부하 제어를 지시한다.
이상으로 도시한 정보 시스템(10)에 의하면, 복수의 애플리케이션 서버(120)의 각각에 있어서 트랜잭션의 처리 시간과, 복수의 애플리케이션 서버(120) 및 데이터 베이스 서버(150)의 처리 부하를 감시하고, 감시 결과에 기초하여 보틀넥을 해소하는 부하 제어 처리를 적절히 선택하여 실행할 수 있다.
도 2는 본 실시 형태에 따른 정보 시스템(10)에 의해 실행되는 보틀넥 특정 처리의 흐름을 도시한다.
우선, 처리 시간 감시부(16)는 1 또는 복수의 WAS(120)로부터 1 또는 복수의 서비스 레벨 저하 이벤트가 통지됨으로써, 트랜잭션의 처리 시간이 허용 범위 밖이 된 것을 검출한다. 보틀넥 특정부(170)는 복수의 WAS(120)의 각각에 대한 처리 시간의 감시 결과에 기초하여 보틀넥의 존재 개소를 특정한다. 보다 구체적으로는 보틀넥 특정부(170)는 복수의 WAS(120)의 각각에 대한 애플리케이션 프로그램(134)마다 처리 시간의 감시 결과에 기초하여 보틀넥의 존재 개소를 특정한다.
우선, 보틀넥 특정부(170)는 1 이상 임계값 이하의 수의 WAS(120)에 대하여 처리 시간이 허용 범위 내가 아닌 것을 조건으로 하여(단계 S200: Yes), 처리 시간이 허용 범위 내가 아닌 WAS(120)에 보틀넥이 있다고 특정한다(S220). 여기서 보틀넥 특정부(170)는 1 이상 임계값 이하의 수의 WAS(120)에 대하여 하나의 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내가 아닌 경우(S200: Yes)에 처리 시간이 허용 범위 내가 아닌 WAS(120)에 있어서의, 다른 애플리케이션 프로그램(134)의 처리 시간이나 허용 범위 내가 아닌 것을 추가로 조건으로 하여(S210: Yes) 상기 WAS(120)에 보틀넥이 있다고 특정하고(S220), 다른 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내이면(S210: No), 상기 애플리케이션 프로그램(134)에 대한 트랜잭션의 특정 입력에 관련하는 자원이 보틀넥이라고 특정하여도 좋다(S230). 여기서 WAS(120)의 수의 임계값은 WAS(120)의 수 미만의 수이며, 정보 시스템(10)의 관리자 등에 의해 미리 설정되어도 좋다.
또한, 임계값을 초과하는 수의 WAS(120)에 대하여 처리 시간이 허용 범위 내가 아닌 경우에(S200: No, S240: Yes), 정보 시스템(10) 전체의 공통 자원인 DBS(150)에 보틀넥이 있다고 특정한다. 여기서 보틀넥 특정부(170)는 임계값을 초과하는 수의 WAS(120)에 대하여 하나의 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내가 아닌 경우(S200: No, S240: Yes)에 처리 시간이 허용 범위 내가 아닌 WAS(120)에 있어서의 다른 애플리케이션 프로그램(134)의 처리 시간이나 허용 범위 내가 아닌 것을 추가로 조건으로 하여(S250: Yes) DBS(150)에 보틀넥이 있다고 특정하고(S260), 다른 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내이면(S250: No), 상기 애플리케이션 프로그램(134)에 대응하는 트랜잭션에 관련하는 자원이 보틀넥이라고 특정하여도 좋다(S270).
또한, 본 실시 형태에 따른 보틀넥 특정부(170)는 이상에 도시한 처리를 애플리케이션 프로그램(134)마다 또는 애플리케이션 프로그램(134)의 그룹마다 행한다. 즉, 보틀넥 특정부(170)는 하나의 애플리케이션 프로그램(134) 또는 하나의 그 룹에 속하는 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내에 있지 않은 것을 조건으로 하여 상기 애플리케이션 프로그램(134) 또는 상기 그룹에 속하는 애플리케이션 프로그램(134)에 관해서 WAS(120)에 보틀넥이 있다고 특정한다. 보다 구체적으로는 보틀넥 특정부(170)는 임계값 이하의 WAS(120)에 대하여 하나의 애플리케이션 프로그램(134) 또는 하나의 그룹에 속하는 애플리케이션 프로그램(134)의 처리 시간이 허용 범위 내에 있지 않은 경우에 이들의 WAS(120)에 보틀넥이 있다고 특정하고, 임계값을 초과하는 WAS(120)에 대하여 하나의 애플리케이션 프로그램(134) 또는 하나의 그룹에 속하는 애플리케이션 프로그램(134)의 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 경우에 DBS(150)에 보틀넥이 있다고 특정한다.
이상에 도시한 보틀넥 특정부(170)에 의하면, 처리 시간이 미리 정해진 허용 범위 내가 아닌 WAS(120)에 보틀넥이 있다고 특정할 수 있다. 보다 구체적으로는 보틀넥 특정부(170)는 처리 시간이 허용 범위 내가 아닌 WAS(120)의 수가 임계값 이하인 것을 조건으로 하여 이들의 WAS(120)에 보틀넥이 있다고 특정하고, 처리 시간이 허용 범위 내가 아닌 WAS(120)의 수가 임계값을 초과하는 경우에는 DBS(150)에 보틀넥이 있다고 특정할 수 있다. 즉 예컨대 임계값을 1로 한 경우, 보틀넥 특정부(170)는 처리 시간이 허용 범위 내가 아닌 WAS(120)가 1대인 경우에 상기 WAS(120)에 보틀넥이 있다고 특정하고, 2대 이상인 경우에 DBS(150)에 보틀넥이 있다고 특정할 수 있다. 또한, 예컨대 임계값을 (WAS(120)의 대수-1)로 한 경우, 모든 WAS(120)에 대하여 처리 시간이 허용 범위 내가 아닌 경우에 DBS(150)에 보틀넥이 있다고 특정하고, WAS(120)의 대수 미만의 WAS(120)에 대하여 처리 시간이 허용 범위 내가 아닌 경우에 이들의 WAS(120)에 보틀넥이 있다고 특정할 수 있다.
이것에 의해 정보 시스템(10)은 어떤 특정한 WAS(120)의 서비스 레벨이 저하하고 있는지, 아니면 정보 시스템(10) 전체에 공통되는 DBS(150)가 보틀넥이 되어 다수의 WAS(120)의 서비스 레벨이 저하되고 있는지를 구별하여, 적절히 보틀넥의 존재 개소를 특정할 수 있다. 여기서, 보틀넥 특정부(170)는, 예컨대 S210 또는 S250 등 이외의 조건에 더 기초하여 보다 상세히 보틀넥의 존재 개소를 특정하여도 좋다.
이상에 있어서, 처리 시간의 허용 범위는, 예컨대 이하에 도시하는 미리 정해진 기준에 기초하여 판단되어도 좋다. 즉, 처리 시간 감시부(16)는 예컨대 60초 등의 미리 정해진 기간 내에 있는 애플리케이션 프로그램(134)에 대하여 트랜잭션의 입력이 미리 정해진 수 이상 있는 경우에 있어서, 예컨대 50% 등의 미리 정해진 비율 이상의 트랜잭션에 대하여 상기 애플리케이션 프로그램(134)의 처리 시간이 허용 처리 시간을 초과하는 경우에, 상기 애플리케이션 프로그램(134)의 처리 시간이 허용 범위를 초과한다고 판단한다. 이 경우에 있어서, 허용 처리 시간은, 예컨대 과거 1개월 간 등의 기간 내에서 피크일 때의 처리 시간의 평균치에 표준 편차에 기초하여 정해진 오프셋 시간을 부가해서 정해진다.
도 3은 본 실시 형태에 따른 정보 시스템(10)의 고부하 판정 방법을 도시한다. 처리 부하 취득부(142) 및 처리 부하 취득부(156)는 감시 대상이 되는 복수의 자원의 각각에 대응하는 「검출 조건」에 의해 지정된 조건이 성립한 경우에 상기 자원이 고부하인 것을 검출한다. 그리고, 상기 자원의 고부하 검출이 「판정 조건 」에 의해 지정된 횟수 등의 조건을 충족시켜 행해진 경우에, 상기 자원의 사용량이 허용 범위 밖이 되어 고부하 상태라고 판정되고, 상기 자원에 대한 시스템 자원 고부하 이벤트를 처리 부하 감시부(190)에 통지한다. 또한, 상기 자원의 고부하 통지 후, 상기 자원의 고부하 검출이 「해제 조건」에 의해 지정된 횟수 등의 조건을 충족시키는 사이에 행해지지 않은 경우에, 상기 자원이 고부하가 되지 않은 것을 나타내는 시스템 자원 고부하 해제 이벤트를 처리 부하 감시부(190)에 통지한다. 이것을 받아 처리 부하 감시부(190)는 상기 데이터 베이스 자원이 고부하가 되지 않는 것을 검출한다.
처리 부하 취득부(156)는 「보틀넥 개소의 분류」란이 「전체 공통 자원(DBS)」으로 표시되어 있는 복수의 데이터 베이스 서버 자원의 각각에 대하여 「검출 조건」, 「판정 조건」 및 「해제 조건」에 도시한 조건을 이용하여 상기 자원이 고부하인지 여부를 판정한다. 여기서, 본 실시 형태에 따른 처리 부하 취득부(156)는 복수의 데이터 베이스 서버 자원으로서 프로세서, 디스크, 메모리, 데이터 베이스 버퍼 등을 포함하는 복수의 데이터 베이스 서버 자원의 각각에 대하여 조건을 이용하여 고부하인지 여부를 판정한다.
프로세서, 데이터 베이스를 저장하는 디스크, DB(152)의 액세스 로그를 저장하는 디스크, 데이터 베이스와 액세스 로그 이외의 파일을 저장하는 디스크에 관해서, 처리 부하 취득부(156)는 상기 데이터 베이스 자원의 사용률이 「n초간 평균 x% 이상」인 경우에 고부하인 것을 검출한다. 그리고 처리 부하 취득부(156)는 이 고부하 상태가 모니터링하는 타이밍에 있어서 m회 연속하여 검출된 경우에, 상기 데이터 베이스 자원이 고부하라고 판정하고, 시스템 자원 고부하 이벤트를 처리 부하 감시부(190)에 통지한다. 또한, 처리 부하 취득부(156)는 시스템 자원 고부하 이벤트를 처리 부하 감시부(190)에 통지한 후, 고부하의 상태를 f회 연속하여 검출하지 않은 경우에 시스템 자원 고부하 해제 이벤트를 처리 부하 감시부(190)에 통지한다.
또한, 처리 부하 취득부(156)는 DBS(150)가 탑재하는 실제 메모리에 관해서, 페이징이 「n초간 평균값 x회 이상」 발생하고 있는 경우에, 상기 메모리의 사용량이 많아 스왑(swap)이 빈번하게 발생하고 있다고 가정하여 고부하인 것을 검출한다. 또한, DB 엔진(154)이 사용하는 데이터 베이스 버퍼에 관해서, 상기 버퍼의 미스율이 「n초간 평균값 x% 이상」인 경우에, 상기 버퍼가 부족하다고 하여 고부하인 것을 검출한다. 처리 부하 취득부(156)는 이들 데이터 베이스 서버 자원에 대한 시스템 자원 고부하 이벤트 및 시스템 자원 고부하 해제 이벤트의 통지를, 프로세서 등의 시스템 자원 고부하 이벤트 및 시스템 자원 고부하 해제 이벤트의 통지와 동일하게 하여 행한다.
복수의 WAS(120)의 각각의 처리 부하 취득부(142)는 「보틀넥 개소의 분류」란이 「WAS」로 표시되어 있는 복수의 애플리케이션 서버 자원의 각각에 대하여 「검출 조건」, 「판정 조건」 및 「해제 조건」에 도시한 조건을 이용하여 상기 자원이 고부하인지 여부를 판정한다. 여기서, 본 실시 형태에 따른 처리 부하 취득부(142)는 복수의 데이터 베이스 서버 자원으로서 프로세서, 디스크, 메모리, JVM(Java Virtual Machine) 메모리 및 DB 커넥션 등을 포함하는 복수의 애플리케이 션 서버 자원의 각각에 대하여 「검출 조건」, 「판정 조건」 및 「해제 조건」에 도시한 조건을 이용하여 고부하인지 여부를 판정한다.
프로세서, 디스크 및 메모리에 관해서, 처리 부하 취득부(142)는 처리 부하 취득부(156)와 마찬가지로 하여 고부하의 검출 및 이벤트의 통지를 행한다. 또한, 처리 부하 취득부(142)는 WEB 애플리케이션 서버부(130)를 구성하는 각종 프로그램 또는 모듈을 실행하는 JVM이 「가비지 콜렉션을 n초간 사이에 x회 이상」 실행한 경우에, JVM에 할당한 메모리가 부족하여 고부하인 것을 검출한다. 그리고 처리 부하 취득부(142)는 JVM 메모리에 대한 시스템 자원 고부하 이벤트 및 시스템 자원 고부하 해제 이벤트의 통지를, 프로세서 등의 시스템 자원 고부하 이벤트 및 시스템 자원 고부하 해제 이벤트의 통지와 동일하게 하여 행한다.
또한, 처리 부하 취득부(142)는 DB 커넥션에 관해서, DB 커넥션(139)을 사용하는 다중도가 상한에 도달한 경우에, DB 커넥션이 부족하여 고부하인 것을 검출한다. 처리 부하 취득부(142)는 일단 DB 커넥션이 고부하인 것을 검출하면, 시스템 자원 고부하 이벤트를 처리 부하 감시부(190)에 통지하고, 상기 WAS(120)를 정지할 때까지 고부하가 되지 않은 것을 처리 부하 감시부(190)에 통지하지 않는다.
또한, 처리 부하 취득부(142)는 「보틀넥 개소의 분류」란이 「트랜잭션에 관련되는 자원」으로 표시되어 있는 WAS(120)의 프로세서, DBS(150)의 프로세서 및 DBS(150) 디스크 등의 각 자원에 대하여 「검출 조건」, 「판정 조건」 및 「해제 조건」에 도시한 조건을 이용하여 상기 자원이 애플리케이션 프로그램(134)의 처리 내용의 영향에 의해 고부하가 되어 있는지 여부를 판정한다.
처리 부하 취득부(142)는 WAS(120)의 프로세서에 관해서, 트랜잭션에 대응하여 애플리케이션 프로그램(134)을 실행하는 처리 시간 전체 중 DBS(150)에 의한 DB(152)의 액세스에 요구되는 처리 시간의 비율이 x% 이하인 경우에, WAS(120)의 프로세서에 의한 처리 시간의 비율이 높다고 하여 고부하를 검출한다. 그리고 처리 부하 취득부(142)는 고부하를 검출하면 시스템 자원 고부하 이벤트를 처리 부하 감시부(190)에 통지하고, 검출 조건에 표시된 상태가 n초간 발생하지 않는 경우에 시스템 자원 고부하 해제 이벤트를 처리 부하 감시부(190)에 통지한다.
또한, 처리 부하 취득부(142)는 DBS(150)의 프로세서에 관해서, 트랜잭션에 대응하여 애플리케이션 프로그램(134)을 실행하는 처리 시간 전체 중 DBS(150)에 의한 DB(152)의 액세스에 요구되는 처리 시간의 비율이 x% 이상인 경우에, DBS(150)의 프로세서에 의한 처리 시간의 비율이 높다고 하여 고부하를 검출한다. 그리고 처리 부하 취득부(142)는 고부하를 검출하면 시스템 자원 고부하 이벤트를 처리 부하 감시부(190)에 통지하고, 고부하 검출이 n초간 발생하지 않는 경우에 시스템 자원 고부하 해제 이벤트를 처리 부하 감시부(190)에 통지한다. 이것을 받아 처리 부하 감시부(190)는 상기 시스템 자원 고부하 이벤트의 통지를 받고, 또한 n초 이내에 DBS(150)의 프로세서가 보틀넥이라고 DBS(150)에 의해 판정되었던 경우에, 트랜잭션에 대응하여 DBS(150)의 프로세서를 고부하라고 판정한다. 또한, 처리 부하 취득부(142)는 DBS(150)의 디스크에 대하여도 DBS(150)의 프로세서와 동일하게 하여 트랜잭션에 대응하여 DBS(150)의 디스크가 고부하라고 판정한다.
처리 부하 감시부(190)는 복수의 WAS(120) 및 DBS(150)의 각각에 대하여 상 기 서버가 갖는 복수의 자원의 각각이 고부하인지 여부를 이상에 예시한 시스템 자원 고부하 이벤트 및 시스템 자원 고부하 해제 이벤트에 기초하여 검출한다. 여기서 처리 부하 감시부(190)는 복수의 자원의 각각에 대응하는 「검출 조건」, 「판정 조건」 및 「해제 조건」을, 예컨대 부하 제어 서버(160)가 갖는 기억 장치에 저장한 파일로서 유지하고, 정보 시스템(10)의 관리자 등의 지시에 기초하여 변경 가능하게 하여도 좋다.
또한, 보틀넥 특정부에서는 처리 부하 취득부(142)에 의해 애플리케이션 프로그램(134) 단위에 시스템 자원 고부하 이벤트가 통지되어 있는 경우 및 처리 부하 취득부(156)에 의해 DB 처리 요구 I/F부(153) 단위에 시스템 자원 고부하 이벤트가 통지되어 있는 경우에는, 보다 상세히 보틀넥의 원인이 되는 애플리케이션 프로그램(134)을 특정하여도 좋다.
도 4는 본 실시 형태에 따른 부하 제어 정보 저장부(177)에 저장되는 부하 제어 정보의 일례를 도시한다. 부하 제어 정보 저장부(177)는 WAS(120)에 있어서의 복수의 애플리케이션 서버 자원 및 DBS(150)에 있어서의 복수의 데이터 베이스 서버 자원의 각각에 대응하여, 상기 자원을 갖는 서버에 보틀넥이 있다고 특정되고, 또한 상기 자원의 사용량이 미리 정해진 허용 범위 내가 아닌 경우에 부하 제어부(175)가 행해야 하는 부하 제어 처리를 지정하는 부하 제어 정보를 저장한다. 여기서 부하 제어 정보 저장부(177)는 적어도 하나의 부하 제어 정보로서, 복수의 부하 제어 처리와 복수의 부하 제어 처리의 우선 순위를 지정하는 정보를 저장하여도 좋다.
부하 제어 정보 취득부(179)는 보틀넥이 있다고 특정된 서버가 갖는 자원의 사용량이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 자원이 보틀넥이라고 특정한다. 그리고, 부하 제어 정보 취득부(179)는 상기 자원이 보틀넥이라고 특정된 경우에, 상기 자원에 대응하여 부하 제어 정보 저장부(177)에 저장된 부하 제어 정보를 취득한다. 보다 구체적으로는 부하 제어 정보 취득부(179)는 WAS(120)에 보틀넥이 있다고 특정된 경우에, 상기 WAS(120)가 갖는 복수의 애플리케이션 서버 자원 중 사용량이 허용 범위 내가 아니면 처리 부하 감시부(190)에 의해 판정된 애플리케이션 서버 자원에 대응하여, 부하 제어 정보 저장부(177)에 저장된 부하 제어 정보를 취득한다. 또한, 부하 제어 정보 취득부(177)는 DBS(150)에 보틀넥이 있다고 특정된 경우에, 복수의 데이터 베이스 서버 자원 중 사용량이 허용 범위 내가 아니면 처리 부하 감시부(190)에 의해 판정된 데이터 베이스 서버 자원에 대응하여 부하 제어 정보 저장부(177)에 저장된 부하 제어 정보를 취득한다.
그리고, 부하 제어 처리부(181)는 보틀넥 특정부(170)에 의해 보틀넥이 있다고 특정된 서버의 보틀넥을 해소하기 위해 부하 제어 정보 취득부(179)에 의해 취득된 부하 제어 정보에 의해 지정되는 부하 제어 처리를 행한다. 여기서 부하 제어 처리부(181)는 어떤 부하 제어 정보에 의해 지정된 하나의 부하 제어 처리를 실행한 후, 보틀넥이 있다고 특정된 서버의 보틀넥이 미리 설정된 설정 기간 사이에 해소하지 않은 것을 검출한 경우에, 상기 부하 제어 정보로부터 지정되는 하나의 부하 제어 처리보다 우선 순위가 낮은 다른 부하 제어 처리를 실행한다. 이것에 의해 부하 제어 처리부(181)는 1 종류의 부하 제어 처리만으로는 보틀넥이 해소되지 않 는 경우에 있어서도, 다른 부하 제어 처리를 추가로 행함으로써 보다 효과적으로 보틀넥을 해소할 수 있다.
본 실시 형태에 따른 부하 제어 처리부(181)는 이하에 나타내는 부하 제어 처리를 행한다.
(1) 부하 제어 처리 1
부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)보다 우선도가 낮은 그룹의 애플리케이션 프로그램(134)을 실행하는 다중도를 저하시킨다. 보다 구체적으로는 부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)보다 낮은 우선도의 복수의 그룹 식별자를 보틀넥 특정부(170)로부터 부하 제어 정보 취득부(179)를 통해 취득한다. 그리고, 부하 제어 처리부(181)는 취득한 복수의 그룹 식별자를 지정하여, 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 다른 애플리케이션 프로그램(134)의 다중도를 저하시키도록 서버내 부하 제어부(144)에 지시한다. 이 지시를 받아 서버내 부하 제어부(144)는 다중도 제어부(132)가 다른 애플리케이션 프로그램(134)을 병행하여 동작시키는 수의 최대치를 저하시킴으로써, 상기 다른 애플리케이션 프로그램(134)을 실행하는 다중도를 저하시킨다.
DBS(150)에 보틀넥이 있다고 특정된 경우에 있어서 부하 제어 처리 1을 실행하는 경우, 부하 제어 처리부(181)는 정보 시스템(10)이 갖는 복수의 WAS(120)의 각각에 대하여 상기한 부하 제어 처리 1을 실행한다. 이것에 의해 부하 제어 처리부(181)는 모든 WAS(120)가 트랜잭션을 받아들이는 다중도를 저감시켜 정보 시스템 (10)에 있어서 트랜잭션의 총 처리량을 저감시킬 수 있으며, DB(152)의 액세스량을 저감시킬 수 있다.
(2) 부하 제어 처리 2
부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)보다 우선도가 낮은 그룹의 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 더 저하시킨다. 보다 구체적으로는, 부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)보다 낮은 우선도의 복수의 그룹 식별자를 보틀넥 특정부(170)로부터 부하 제어 정보 취득부(179)를 통해 취득한다. 그리고, 부하 제어 처리부(181)는 취득한 복수의 그룹 식별자를 지정하여, 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 다른 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시키도록 서버내 부하 제어부(158)에 지시한다. 이 지시를 받아 서버내 부하 제어부(158)는 대응하는 DB 처리 요구 I/F부(153)의 프로세스 실행 우선도를 저하시킨다.
(3) 부하 제어 처리 3
보틀넥 특정부에 의해 보틀넥이 존재하는 서버에 있어서의 보틀넥으로 되어 있는 자원의 처리 부하를 높게 하고 있는 애플리케이션 프로그램(134)이 시스템 자원 고부하 이벤트에 의해 특정되어 있는 경우, 부하 제어 처리부(181)는 상기 애플리케이션 프로그램(134)의 그룹을 실행하는 다중도를 저하시킨다. 보다 구체적으로는 부하 제어 처리부(181)는 보틀넥의 원인이 되는 애플리케이션 프로그램(134)의 그룹 식별자를 보틀넥 특정부(170)로부터 부하 제어 정보 취득부(179)를 통해 취득한다. 그리고, 부하 제어 처리부(181)는 취득한 그룹 식별자를 지정하여, 상기 애플리케이션 프로그램(134)의 다중도를 저하시키도록 서버내 부하 제어부(144)에 지시한다. 이 지시를 받아 서버내 부하 제어부(144)는 다중도 제어부(132)가 애플리케이션 프로그램(134)을 병행하여 동작시키는 수의 최대치를 저하시킴으로써, 상기 다른 애플리케이션 프로그램(134)을 실행하는 다중도를 저하시킨다.
DBS(150)에 보틀넥이 있다고 특정된 경우에 있어서 부하 제어 처리 3을 실행하는 경우, 부하 제어 처리부(181)는 정보 시스템(10)이 갖는 복수의 WAS(120)의 각각에 대하여 상기한 부하 제어 처리 3을 실행한다. 이것에 의해 부하 제어 처리부(181)는 모든 WAS(120)가 트랜잭션을 받아들이는 다중도를 저감시켜 정보 시스템(10)에 있어서 트랜잭션의 총처리량을 저감시킬 수 있고, DB(152)의 액세스량을 저감시킬 수 있다.
(4) 부하 제어 처리 4
부하 제어 처리부(181)는 보틀넥 특정부(170)에 의해 보틀넥이 존재하는 서버에 있어서의 보틀넥으로 되어 있는 자원의 처리 부하를 높게 하고 있는 애플리케이션 프로그램(134)이 시스템 자원 고부하 이벤트에 의해 특정되어 있는 경우, 상기 애플리케이션 프로그램(134)을 실행하는 그룹의 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시킨다. 보다 구체적으로는 부하 제어 처리부(181)는 보틀넥의 원인이 되는 애플리케이션 프로그램(134)의 그룹 식별자를 보틀넥 특정부(170)로부터 부하 제어 정보 취득부(179)를 통해 취득한다. 그리고, 부하 제어 처리부(181)는 취득한 그룹 식별자를 지정하여 상기 애플리케이션 프로그램(134)의 그룹의 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시키도록 서버내 부하 제어부(158)에 지시한다. 이 지시를 받아 서버내 부하 제어부(158)는 대응하는 DB 처리 요구 I/F 부의 프로세스 실행 우선도를 저하시킨다.
(5) 부하 제어 처리 5
부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)을 실행하는 다중도를 저하시킨다. 보다 구체적으로는, 부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)의 그룹 식별자를 보틀넥 특정부(170)로부터 부하 제어 정보 취득부(179)를 통해 취득한다. 그리고, 부하 제어 처리부(181)는 상기 애플리케이션 프로그램(134)의 그룹 식별자를 지정하여, 상기 애플리케이션 프로그램(134)의 다중도를 저하시키도록 서버내 부하 제어부(144)에 지시한다. 이 지시를 받아 서버내 부하 제어부(144)는 다중도 제어부(132)가 상기 애플리케이션 프로그램(134)을 병행하여 동작시키는 수의 최대치를 저하시킴으로써, 상기 애플리케이션 프로그램(134)을 실행하는 다중도를 저하시킨다.
DBS(150)에 보틀넥이 있다고 특정된 경우에 있어서 부하 제어 처리 3을 실행하는 경우, 부하 제어 처리부(181)는 부하 제어 처리 1의 경우와 마찬가지로 하여 정보 시스템(10)이 갖는 복수의 WAS(120)의 각각에 대하여 상기한 부하 제어 처리 3을 실행한다.
(6) 부하 제어 처리 6
부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시킨다. 보다 구체적으로는 부하 제어 처리부(181)는 처리 시간이 허용 범위 내가 아니라고 판단된 애플리케이션 프로그램(134)의 그룹 식별자를, 보틀넥 특정부(170)로부터 부하 제어 정보 취득부(179)를 통해 취득한다. 그리고, 부하 제어 처리부(181)는 상기 애플리케이션 프로그램(134)의 그룹 식별자를 지정하여 상기 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시키도록 서버내 부하 제어부(158)에 지시한다. 이 지시를 받아 서버내 부하 제어부(158)는 대응하는 DB 처리 요구 I/F부(153)의 프로세스 실행 우선도를 저하시킨다.
본 실시 형태에 따른 부하 제어 정보 저장부(177)는 DBS(150)의 보틀넥에 관해서 복수의 데이터 베이스 서버 자원 중 어느 한쪽의 사용량이 허용 범위 밖이 되었는지에 따라 도 4에 도시한 부하 제어 정보를 저장한다.
보다 구체적으로는, 프로세서의 사용량이 허용 범위 밖이 된 경우에 대응하여 부하 제어 정보 저장부(177)는 부하 제어 처리 3, 1, 4, 2, 5 및 6을 이 우선 순위로 행해야하는 것을 나타내는 부하 제어 정보를 저장한다. 또한, 데이터 베이스를 저장하고 있는 디스크의 사용량이 허용 범위 밖이 된 경우에 대응하여 부하 제어 정보 저장부(177)는 부하 제어 처리 2, 1, 6 및 5를 이 우선 순위로 행해야하는 것을 나타내는 부하 제어 정보를 저장한다. 또한, 액세스 로그를 저장하는 디스 크를 저장하는 디스크의 사용량이 허용 범위 밖이 된 경우에 대응하여 부하 제어 정보 저장부(177)는 부하 제어 처리 1, 2, 5 및 6을 이 우선 순위로 행해야하는 것을 나타내는 부하 제어 정보를 저장한다. 또한, 데이터 베이스 및 액세스 로그 이외를 저장하는 디스크, 메모리 또는 데이터 버퍼의 사용량이 허용 범위 밖이 된 경우에 대응하여 부하 제어 정보 저장부(177)는 부하 제어 처리 1 및 5를 이 우선 순위로 행해야하는 것을 나타내는 부하 제어 정보를 저장한다.
이들 부하 제어 정보를 이용하여 부하 제어부(175)는 예컨대 DBS(150)에 보틀넥이 있다고 특정되고, 또한 프로세서의 사용량이 허용 범위의 사용량을 초과하고 있으며 프로세서가 보틀넥이라고 특정된 특정된 경우에 있어서, DBS(150)의 프로세서 자원의 사용량이 허용 범위 내가 아닌 애플리케이션 프로그램(134)이 특정되어 있는 경우에는 부하 제어 처리 3을 실행하고, 상기 애플리케이션 프로그램(134) 및 상기 애플리케이션 프로그램(134)과 동일한 그룹에 속하는 애플리케이션 프로그램(134)을 WAS(120)에 의해 실행하는 다중도를 저하시킨다. 그리고, 이 부하 제어 처리에 의해서도 DBS(150)의 보틀넥이 해소되지 않는 경우에, 부하 제어부(175)는 상기 부하 제어 처리 1을 실행함으로써, 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 그룹에 속하는 다른 애플리케이션 프로그램(134)을 WAS(120)에 의해 실행하는 다중도를 더 저하시킬 수 있다. 이것에 의해 부하 제어부(175)는 우선, 프로세서를 대량으로 소비하고 있는 애플리케이션 프로그램(134)의 처리량을 감하여 DBS(150)의 부하 저감을 시험하고, 이것에 의해 해결되지 않는 경우에 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 애플리케이션 프로그램(134)의 처 리량을 감함으로써, 단계적으로 DBS(150)의 부하를 감할 수 있다.
그리고, 이들 부하 제어 처리에 의해서도 보틀넥이 해소되지 않는 경우에는, 부하 제어부(175)는 부하 제어 처리 4, 2를 순서대로 또한 실행함으로써, DBS(150) 상에서 처리하고 있는 요구로의 다른 처리로부터의 영향을 경감하고, 서비스 레벨의 개선을 시도한다. 당초 처리 시간이 허용 범위 내가 아니라고 판정된 애플리케이션 프로그램(134) 자신의 문제 또는 보다 우선도가 높은 애플리케이션 프로그램(134)의 문제가 아니면, 지금까지의 부하 제어로 보틀넥이 해소된다고 생각할 수 있다. 그러나, 그래도 응답이 개선되지 않는 경우에는, 부하 제어 처리 5에 의해 서비스 레벨이 저하한 애플리케이션 프로그램(134) 자체를 WAS(120)에 의해 실행하는 다중도를 감하여, DBS(150)의 부하를 더 감할 수 있다. 또한, 부하 제어 처리 5에 의해서도 응답이 개선되지 않는 경우에는, 부하 제어부(175)는 부하 제어 처리 6을 실행함으로써, 애플리케이션 프로그램(134)의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시키고 DBS(150) 상에서 처리하고 있는 요구가 다른 처리로 부여되는 영향을 경감할 수 있다.
한편, 부하 제어부(175)는, 예컨대 DBS(150)에 보틀넥이 있다고 특정되고, 또한 데이터 베이스를 저장하는 디스크가 보틀넥이라고 특정된 경우에 있어서, DBS(150)의 상기 디스크 자원의 사용량이 허용 범위 내가 아닌 애플리케이션 프로그램(134)이 특정되어 있는 경우에는, 부하 제어 처리 2를 실행하고, 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 그룹에 속하는 애플리케이션 프로그램(134)으로부터의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시킨 다. 여기서 데이터 베이스를 저장하는 디스크가 복수개 존재하는 경우, 부하 제어부(175)는 부하 제어 처리 2에 있어서, 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 그룹에 속하고, 상기 애플리케이션 프로그램(134)이 사용하는 데이터 베이스가 저장된 디스크를 사용하는 애플리케이션 프로그램(134)으로부터의 요구에 기초하여 DB(152)를 액세스하는 처리의 우선도를 저하시키는 것이 바람직하다. 그리고, 부하 제어 처리 2에 의해서도 DBS(150)의 보틀넥이 해소되지 않는 경우에, 부하 제어부(175)는 부하 제어 처리 1, 6 및 5를 DBS(150)의 보틀넥이 해소될 때까지 순차적으로 실행한다.
또한, 본 실시 형태에 따른 부하 제어 정보 저장부(177)는 WAS(120)의 보틀넥에 관해서 복수의 애플리케이션 서버 자원 중 어느 한 쪽의 사용량이 허용 범위 밖으로 되었는지에 따라 도 4에 도시한 부하 제어 정보를 저장한다.
보다 구체적으로는, 프로세서가 허용 범위 밖이 된 경우에 대응하여, 부하 제어 정보 저장부(177)는 부하 제어 처리 3, 1 및 5를 이 우선 순위로 행해야하는 것을 나타내는 부하 제어 정보를 저장한다. 또한, 메모리, 디스크, JVM 메모리 및 DB 커넥션의 사용량이 허용 범위 밖이 된 경우에 대응하여 부하 제어 정보 저장부(177)는 부하 제어 처리 1 및 5를 행해야하는 것을 나타내는 부하 제어 정보를 저장한다.
이들 부하 제어 정보를 이용하여 부하 제어부(175)는 예컨대 WAS(120)에 보틀넥이 있다고 특정되고, 또한 프로세서의 사용량이 허용 범위의 사용량을 초과하고 있으며 프로세서가 보틀넥이라고 특정된 경우에 있어서, WAS(120)의 프로세서 자원의 사용량이 허용 범위 내가 아닌 애플리케이션 프로그램(134)이 특정되어 있는 경우에는 부하 제어 처리 3을 실행하고, 상기 애플리케이션 프로그램(134) 및 상기 애플리케이션 프로그램(134)과 동일한 그룹에 속하는 애플리케이션 프로그램(134)을 WAS(120)에 의해 실행하는 다중도를 저하시킨다. 그리고, 이 부하 제어 처리에 의해서도 WAS(120)의 보틀넥이 해소되지 않는 경우에 부하 제어부(175)는 부하 제어 처리 1을 실행하고, 상기 애플리케이션 프로그램(134)보다 우선도가 낮은 그룹에 속하는 다른 애플리케이션 프로그램(134)을 WAS(120)에 의해 실행하는 다중도를 더 저하시킬 수 있다.
당초 처리 시간이 허용 범위 내가 아니라고 판정된 애플리케이션 프로그램(134) 자신의 문제 또는 보다 우선도가 높은 애플리케이션 프로그램(134)의 문제가 아니면, 지금까지의 부하 제어로 보틀넥이 해소된다고 생각할 수 있다. 그러나, 그래도 응답이 개선되지 않는 경우에는, 부하 제어부(175)는 부하 제어 처리 5를 실행함으로써, 서비스 레벨이 저하된 애플리케이션 프로그램(134) 자체를 WAS(120)가 실행하는 다중도를 감하여, DBS(150)의 부하를 더 감할 수 있다.
또한, 본 실시 형태에 따른 부하 제어 정보 저장부(177)는 트랜잭션의 내용이나 애플리케이션 프로그램(134)의 처리 내용에 관련하는 자원의 보틀넥에 관해서 WAS(120)의 프로세서의 사용량이 허용 범위 밖으로 된 경우에, 부하 제어 처리 5를 행해야하는 것을 나타내는 부하 제어 정보를 저장한다. 또한, 부하 제어 정보 저장부(177)는 트랜잭션의 내용이나 애플리케이션 프로그램(134)의 처리 내용에 관련하는 자원의 보틀넥에 관해서 DBS(150)의 프로세서 또는 디스크의 사용량이 허용 범 위 밖으로 된 경우에, 부하 제어 처리 5 및 6을 이 우선 순위로 행해야하는 것을 나타내는 부하 제어 정보를 저장한다.
도 5는 본 발명의 실시 형태에 따른 컴퓨터(900)의 하드웨어 구성의 일례를 도시한다. 본 실시 형태에 따른 컴퓨터(900)는 부하 제어 프로그램을 실행함으로써 부하 제어 서버(160)로서 기능한다. 컴퓨터(900)는 호스트 컨트롤러(1082)에 의해 서로 접속되는 CPU(1000), RAM(1020), 그래픽 컨트롤러(1075) 및 표시 장치(1080)를 갖는 CPU 주변부와, 입출력(I/O) 컨트롤러(1084)에 의해 호스트 컨트롤러(1082)에 접속되는 통신 인터페이스(I/F)(1030), 기억 장치(1040) 및 CD-ROM 드라이브(1060)를 갖는 입출력부와, 입출력 컨트롤러(1084)에 접속되는 ROM(1010), 플렉시블 디스크(FD) 드라이브(1050), 입출력(I/O) 칩(1070)을 갖는 레거시 입출력부를 구비한다.
호스트 컨트롤러(1082)는 RAM(1020)과, 높은 전송 속도로 RAM(1020)을 액세스하는 CPU(1000) 및 그래픽 컨트롤러(1075)를 접속한다. CPU(1000)는 ROM(1010) 및 RAM(1020)에 저장된 프로그램에 기초하여 동작하고, 각 부분의 제어를 행한다. 그래픽 컨트롤러(1075)는 CPU(1000) 등이 RAM(1020) 내에 설치한 프레임 버퍼 상에 생성하는 화상 데이터를 취득하고, 표시 장치(1080) 상에 표시시킨다. 이것 대신에 그래픽 컨트롤러(1075)는 CPU(1000) 등이 생성하는 화상 데이터를 저장하는 프레임 버퍼를 내부에 포함하여도 좋다.
입출력 컨트롤러(1084)는 호스트 컨트롤러(1082)와, 비교적 고속 입출력 장치인 통신 인터페이스(1030), 기억 장치(1040), CD-ROM 드라이브(1060)를 접속한 다. 통신 인터페이스(1030)는 네트워크를 통해 다른 장치와 통신한다. 기억 장치(1040)는 컴퓨터(900) 내의 CPU(1000)가 사용하는 프로그램 및 데이터를 저장한다. CD-ROM 드라이브(1060)는 CD-ROM(1095)으로부터 프로그램 또는 데이터를 판독하고, RAM(1020)을 통해 기억 장치(1040)에 제공한다.
또한, 입출력 컨트롤러(1084)에는 ROM(1010)과, 플렉시블 디스크 드라이브(1050)나 입출력 칩(1070) 등의 비교적 저속 입출력 장치가 접속된다. ROM(1010)은 컴퓨터(900)가 기동시에 실행하는 부팅 프로그램이나 컴퓨터(900)의 하드웨어에 의존하는 프로그램 등을 저장한다. 플렉시블 디스크 드라이브(1050)는 플렉시블 디스크(1090)로부터 프로그램 또는 데이터를 판독하고, RAM(1020)을 통해 기억 장치(1040)에 제공한다. 입출력 칩(1070)은 플렉시블 디스크 드라이브(1050)나, 예컨대 병렬 포트, 직렬 포트, 키보드 포트, 마우스 포트 등을 통해 각종 입출력 장치를 접속한다.
RAM(1020)을 통해 기억 장치(1040)에 제공되는 프로그램은 플렉시블 디스크(1090), CD-ROM(1095) 또는 IC 카드 등의 기록 매체에 저장되어 이용자에 의해 제공된다. WAS(120)를 HTTP 서버부(125), WEB 애플리케이션 서버부(130), 처리 시간 취득부(140), 처리 부하 취득부(142) 및 서버내 부하 제어부(144)로서 기능시키는 프로그램은 기록 매체로부터 판독되고, 통신 인터페이스(1030)를 통해 WAS(120)에 설치되며, WAS(120)로서 이용되는 서버 컴퓨터에 있어서 실행된다. 또한, DBS(150)를 DB(152), DB 처리 요구 I/F부(153), 처리 부하 취득부(156) 및 서버내 부하 제어부(158)로서 기능시키는 프로그램은 기록 매체로부터 판독되고, 통신 인터페이스 (1030) 및 부하 제어 서버(160)를 통해 DBS(150)에 설치되며, DBS(150)로서 이용되는 서버 컴퓨터에 있어서 실행된다. 또한, 컴퓨터(900)를 부하 제어 서버(160)로서 기능시키는 부하 제어 프로그램은 기록 매체로부터 판독되고, RAM(1020)을 통해 컴퓨터(900) 내의 기억 장치(1040)에 설치되며, CPU(1000)에 있어서 실행된다.
WAS(120)에 설치되는 프로그램은 HTTP 서버 프로그램과, 다중도 제어 모듈 및 DB 액세스 제어 모듈을 갖는 WEB 애플리케이션 서버 프로그램과, 처리 시간 취득 모듈과, 처리 부하 취득 모듈과, 서버내 부하 제어 모듈을 구비한다. 이들 프로그램 및 모듈은 WAS(120)를 HTTP 서버부(125)와, 다중도 제어부(132) 및 DB 액세스 제어부(136)를 갖는 WEB 애플리케이션 서버부(130)와, 처리 시간 취득부(140)와, 처리 부하 취득부(142)와, 서버내 부하 제어부(144)로서 각각 기능시킨다.
DBS(150)에 설치되는 프로그램은 DB 엔진 프로그램과, 처리 부하 취득 모듈과, 서버내 부하 제어 모듈을 구비한다. 이들 프로그램 및 모듈은 DBS(150)를 DB 엔진(154)과, 처리 부하 취득부(156)와, 서버내 부하 제어부(158)로서 각각 기능시킨다.
컴퓨터(900)에 설치되어 컴퓨터(900)를 부하 제어 서버(160)로서 기능시키는 부하 제어 프로그램은 처리 시간 감시 모듈과, 보틀넥 특정 모듈과, 처리 부하 감시 모듈과, 부하 제어 정보 취득 모듈 및 부하 제어 처리 모듈을 갖는 부하 제어 모듈을 구비한다. 이들 프로그램 및 모듈은 컴퓨터(900)를 처리 시간 감시부(165)와, 보틀넥 특정부(170)와, 처리 부하 감시부(190)와, 부하 제어 정보 취득부(179) 및 부하 제어 처리부(181)를 갖는 부하 제어부(175)로서 각각 기능시킨다.
이상으로 도시한 프로그램 또는 모듈은 외부 기억 매체에 저장되어도 좋다. 기억 매체로서는 플렉시블 디스크(1090), CD-ROM(1095) 외에, DVD나 PD 등의 광학 기록 매체, MD 등의 광자기 기록 매체, 테이프 매체, IC 카드 등의 반도체 메모리 등을 이용할 수 있다. 또한, 전용 통신 네트워크나 인터넷에 접속된 서버 시스템에 설치한 하드디스크 또는 RAM 등의 기억 장치를 기록 매체로서 사용하고, 네트워크를 통해 프로그램을 컴퓨터(900)에 제공하며, 컴퓨터(900)로부터 부하 제어 서버(160)를 통해 WAS(120) 또는 WEB 애플리케이션 서버부(130)에 제공하여도 좋다.
이상과 같이, 도시한 정보 시스템(10)에 의하면, 부하 제어 정보 저장부(177)는 보틀넥의 존재 개소 및 고부하로 판정된 자원에 대응하여, 적절한 부하 제어 처리를 저장할 수 있다. 그리고 부하 제어부(175)는 부하 제어 정보 저장부(177)에 저장된 부하 제어 정보에 기초하여 WAS(120) 상에서 실행되는 애플리케이션 프로그램(134)의 다중도를 변경하거나 DB(152)를 액세스하는 처리의 우선도를 변경하거나 하는 등의 부하 제어 처리를 적절히 행할 수 있다.
또한, 정보 시스템(10)에 의하면, 복수의 애플리케이션 프로그램(134)의 각각의 처리 시간에 따라 복수의 애플리케이션 프로그램(134)의 각각이 실행되는 다중도 및 DBS(150)에 있어서 액세스의 우선 순위를 적절히 변경할 수 있다. 이것에 의해 많은 종류의 다양한 업무 시스템 등을 병행하여 정보 시스템(10)으로 가동시키는 경우에 있어서도 어떤 애플리케이션 프로그램(134) 이상 상태로 시스템 자원을 소비한 경우의 영향으로 다른 애플리케이션 프로그램(134)의 서비스 레벨이 저하되더라도 자동적으로 검출하여, 단시간에 자동적으로 복구시킬 수 있으며, 각각 의 애플리케이션 프로그램(134)을 별도의 정보 시스템(10)으로 실행한 경우와 동일한 완강함을 갖는 정보 시스템(10)을 실현할 수 있다.
이상, 본 발명을 실시 형태를 이용하여 설명하였지만, 본 발명의 기술적 범위는 상기 실시 형태에 기재한 범위로 한정되지 않는다. 상기 실시 형태에 다양한 변경 또는 개량을 부가하는 것이 가능한 것이 당업자에게 명백하다. 그와 같은 변경 또는 개량을 부가한 형태도 본 발명의 기술적 범위에 포함될 수 있는 것이 청구범위의 기재로부터 명백하다.
본 발명에 의하면, 복수의 애플리케이션 서버 및 데이터 베이스 서버를 구비하는 정보 시스템에 있어서, 각 애플리케이션 서버에 있어서의 트랜잭션의 처리 시간에 따라 적절한 부하 제어를 행할 수 있다.

Claims (14)

  1. 단말로부터 수신한 트랜잭션에 따라 애플리케이션 프로그램을 각각 실행하는 복수의 애플리케이션 서버와, 상기 복수의 애플리케이션 서버의 각각의 요구에 기초하여 데이터 베이스를 액세스하는 데이터 베이스 서버를 구비하는 정보 시스템으로서,
    상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 서버가 수신한 상기 트랜잭션을 상기 애플리케이션 프로그램이 처리하는 처리 시간을 감시하는 처리 시간 감시부와;
    상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 상기 애플리케이션 서버에 보틀넥이 있다고 특정하는 보틀넥 특정부와;
    보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 부하 제어부
    를 구비하는 정보 시스템.
  2. 제1항에 있어서, 상기 보틀넥 특정부는, 상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 애플리케이션 서버수 미만의 임계값 이하의 수의 상기 애플리케이션 서버에 대하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 것을 조건으로 하여 상기 애플리케이션 서버에 보틀넥이 있다고 특정하는 수단과,
    상기 임계값을 초과하는 수의 상기 애플리케이션 서버에 대하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 데이터 베이스 서버에 보틀넥이 있다고 특정하는 수단
    을 구비하고,
    상기 부하 제어부는, 상기 애플리케이션 서버에 보틀넥이 있다고 특정된 경우에는 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키며,
    상기 데이터 베이스 서버에 보틀넥이 있다고 특정된 경우에는 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 정보 시스템.
  3. 제1항에 있어서, 상기 복수의 애플리케이션 서버의 각각은, 상기 애플리케이션 서버 상에서 실행되어야 하는 우선도가 설정된 복수 종류의 상기 애플리케이션 프로그램 중 상기 단말로부터 수신한 상기 트랜잭션의 종류에 대응하는 상기 애플리케이션 프로그램을 실행하고,
    상기 처리 시간 감시부는 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 프로그램마다 상기 트랜잭션의 처리 시간을 감시하며,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 애플리케이션 프로그램마다 상기 처리 시간의 감시 결과에 기초하여 하나의 상기 애플리케이션 프로그램의 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 것을 조건으로 하여 상기 애플리케이션 서버에 보틀넥이 있다고 특정하고,
    상기 부하 제어부는 보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 하나의 애플리케이션 프로그램보다 우선도가 낮은 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 정보 시스템.
  4. 제1항에 있어서, 상기 복수의 애플리케이션 서버의 각각은, 상기 애플리케이션 서버 상에서 실행되어야 하는 우선도가 설정된 복수 종류의 상기 애플리케이션 프로그램 중 상기 단말로부터 수신한 상기 트랜잭션의 종류에 대응하는 상기 애플리케이션 프로그램을 실행하고,
    상기 처리 시간 감시부는 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 프로그램마다 상기 트랜잭션의 처리 시간을 감시하며,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 애플리케이션 프로그램마다 상기 처리 시간의 감시 결과에 기초하여 미리 정해진 임계값을 초과하는 수의 상기 애플리케이션 서버에 대하여 하나의 상기 애플리케이션 프로그램의 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 데이터 베이스 서버에 보틀넥이 있다고 특정하고,
    상기 부하 제어부는 보틀넥이 있다고 특정된 상기 데이터 베이스 서버에 있어서 상기 하나의 애플리케이션 프로그램보다 우선도가 낮은 상기 애플리케이션 프로그램의 요구에 기초하여 상기 데이터 베이스를 액세스하는 처리의 우선도를 저하 시키는 정보 시스템.
  5. 제1항에 있어서, 상기 복수의 애플리케이션 서버의 각각은, 상기 애플리케이션 서버 상에서 실행되어야 하는 우선도가 설정된 복수 종류의 상기 애플리케이션 프로그램 중 상기 단말로부터 수신한 상기 트랜잭션의 종류에 대응하는 상기 애플리케이션 프로그램을 실행하고,
    상기 처리 시간 감시부는 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 프로그램마다 상기 트랜잭션의 처리 시간을 감시하며,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 애플리케이션 프로그램마다 상기 처리 시간의 감시 결과에 기초하여 미리 정해진 임계값을 초과하는 수의 상기 애플리케이션 서버에 대하여 하나의 상기 애플리케이션 프로그램의 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 데이터 베이스 서버에 보틀넥이 있다고 특정하고,
    상기 부하 제어부는 보틀넥이 있다고 특정된 상기 데이터 베이스 서버에 있어서 상기 하나의 애플리케이션 프로그램으로부터의 요구에 기초하여 상기 데이터 베이스를 액세스하는 처리의 우선도를 저하시키는 정보 시스템.
  6. 제1항에 있어서, 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 서버가 갖는 상기 애플리케이션 프로그램에 의해 사용되는 자원인 애플리케이션 서버 자원의 사용량을 감시하는 처리 부하 감시부를 더 구비하고,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 애플리케이션 서버수 미만의 임계값 이하의 수의 상기 애플리케이션 서버에 대하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 애플리케이션 서버에 보틀넥이 있다고 특정하며,
    상기 부하 제어부는 보틀넥이 있다고 특정된 상기 애플리케이션 서버에 있어서의 상기 애플리케이션 서버 자원의 사용량이 미리 정해진 허용 범위 내에 있지 않은 것을 조건으로 하여 보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 정보 시스템.
  7. 제6항에 있어서, 상기 처리 부하 감시부는 상기 데이터 베이스 서버가 갖는 상기 애플리케이션 프로그램이 상기 데이터 베이스를 액세스하는 경우에 사용되는 자원인 데이터 베이스 서버 자원의 사용량을 더 감시하고,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 임계값을 초과하는 수의 상기 애플리케이션 서버에 대하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 것을 조건으로 하여 상기 데이터 베이스 서버에 보틀넥이 있다고 특정하며,
    상기 부하 제어부는 보틀넥이 있다고 특정된 상기 데이터 베이스 서버에 있어서의 상기 데이터 베이스 서버 자원의 사용량이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 정보 시스템.
  8. 제1항에 있어서, 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 서버가 갖는 상기 애플리케이션 프로그램에 의해 사용되는 자원인 복수의 애플리케이션 서버 자원의 사용량과, 상기 데이터 베이스 서버가 갖는 상기 애플리케이션 프로그램이 상기 데이터 베이스를 액세스하는 경우에 사용되는 자원인 복수의 데이터 베이스 서버 자원의 사용량을 감시하는 처리 부하 감시부를 더 구비하고,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 복수의 애플리케이션 서버 및 상기 데이터 베이스 서버 중 적어도 하나의 상기 애플리케이션 서버 또는 상기 데이터 베이스 서버에 보틀넥이 있다고 특정하며,
    상기 부하 제어부는,
    상기 애플리케이션 서버에 있어서 상기 복수의 애플리케이션 서버 자원 및 상기 데이터 베이스 서버에 있어서 상기 복수의 데이터 베이스 서버 자원의 각각에 대응하여 상기 자원을 갖는 서버에 보틀넥이 있다고 특정되고, 또한 상기 자원의 사용량이 미리 정해진 허용 범위 내가 아닌 경우에 상기 부하 제어부가 행해야 하는 부하 제어 처리를 지정하는 부하 제어 정보를 저장하는 부하 제어 정보 저장부와,
    보틀넥이 있다고 특정된 서버가 갖는 자원의 사용량이 미리 정해진 허용 범 위 내에 있지 않은 경우에 상기 자원이 보틀넥이라고 특정하고, 상기 애플리케이션 서버 자원이 보틀넥이라고 특정된 경우에 상기 자원에 대응하여 상기 부하 제어 정보 저장부에 저장된 상기 부하 제어 정보를 취득하며, 상기 데이터 베이스 서버 자원이 보틀넥이라고 특정된 경우에 상기 자원에 대응하여 상기 부하 제어 정보 저장부에 저장된 상기 부하 제어 정보를 취득하는 부하 제어 정보 취득부와,
    보틀넥이라고 특정된 서버의 보틀넥을 해소하기 위해 상기 부하 제어 정보에 의해 지정되는 상기 부하 제어 처리를 실행하는 부하 제어 처리부를 포함하는 정보 시스템.
  9. 제8항에 있어서, 상기 복수의 애플리케이션 서버의 각각은 복수 종류의 상기 애플리케이션 프로그램 중 상기 단말로부터 수신한 상기 트랜잭션의 종류에 대응하는 상기 애플리케이션 프로그램을 실행하고,
    상기 처리 시간 감시부는 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 프로그램마다 상기 트랜잭션의 처리 시간을 감시하며,
    상기 처리 부하 감시부는 상기 데이터 베이스 서버에 대하여 상기 데이터 베이스 서버가 갖는 상기 데이터 베이스 서버 자원인 프로세서 및 데이터 베이스가 저장되어 있는 디스크의 사용량을 감시하고,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 애플리케이션 프로그램마다 상기 처리 시간의 감시 결과에 기초하여 상기 임계값을 초과하는 수의 상기 애플리케이션 서버에 대하여 하나의 상기 애플리케이션 프로그 램의 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 것을 조건으로 하여 상기 데이터 베이스 서버에 보틀넥이 있다고 특정하며,
    상기 부하 제어 정보 저장부는 상기 데이터 베이스 서버에 있어서의 상기 애플리케이션 자원인 프로세서에 대응하는 제1 상기 부하 제어 정보와, 데이터 베이스가 저장되어 있는 디스크에 대응하는 제2 상기 부하 제어 정보를 저장하고,
    상기 부하 제어 정보 취득부는 보틀넥이 있다고 특정된 상기 데이터 베이스 서버가 갖는 프로세서의 사용량이 미리 정해진 사용량을 초과하는 경우에 상기 제1 부하 제어 정보를 취득하고, 보틀넥이 있다고 특정된 상기 데이터 베이스 서버가 갖는 데이터 베이스가 저장되어 있는 디스크의 사용량이 미리 정해진 사용량을 초과하는 경우에 상기 제2 부하 제어 정보를 취득하며,
    상기 부하 제어 처리부는 상기 부하 제어 정보 취득부로부터 상기 제1 부하 제어 정보가 취득된 경우에 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 하나의 애플리케이션 프로그램을 실행하는 다중도를 저하시키고, 상기 부하 제어 정보 취득부로부터 상기 제2 부하 제어 정보가 취득된 경우에 상기 데이터 베이스 서버에 있어서 상기 제어 정보로 지정된 상기 디스크를 사용하는 애플리케이션 프로그램의 그룹 중에서 상기 하나의 애플리케이션 프로그램보다 우선도가 낮은 상기 애플리케이션 프로그램으로부터의 요구에 기초하여 상기 데이터 베이스를 액세스하는 처리의 우선도를 저하시키는 정보 시스템.
  10. 제8항에 있어서, 상기 부하 제어 정보 저장부에 저장된 하나의 상기 부하 제 어 정보는 복수의 상기 부하 제어 처리와 상기 복수의 부하 제어 처리의 우선 순위를 지정하는 정보이며,
    상기 부하 제어 처리부는 상기 하나의 부하 제어 정보에 의해 지정된 하나의 상기 부하 제어 처리를 실행한 후, 보틀넥이 있다고 특정된 서버의 보틀넥이 미리 설정된 설정 기간 사이에 해소되지 않는 것을 검출한 경우에, 상기 하나의 부하 제어 정보로부터 지정되는 상기 하나의 부하 제어 처리보다 우선 순위가 낮은 다른 상기 부하 제어 처리를 실행하는 정보 시스템.
  11. 제8항에 있어서, 상기 복수의 애플리케이션 서버의 각각은 복수 종류의 상기 애플리케이션 프로그램 중 상기 단말로부터 수신한 상기 트랜잭션의 종류에 대응하는 상기 애플리케이션 프로그램을 실행하고,
    상기 처리 시간 감시부는 상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 프로그램마다 상기 트랜잭션의 처리 시간을 감시하며,
    상기 보틀넥 특정부는 상기 복수의 애플리케이션 서버의 각각에 대한 상기 애플리케이션 프로그램마다 상기 처리 시간의 감시 결과에 기초하여 상기 애플리케이션 서버수 미만의 임계값 이하의 상기 애플리케이션 서버에 대하여 하나의 상기 애플리케이션 프로그램의 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 경우에 상기 애플리케이션 서버에 보틀넥이 있다고 특정하고,
    상기 부하 제어부는 보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 하나의 애플리케이션 프로그램보다 낮은 우선도로 설정된 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키며, 상기 애플리케이션 서버의 보틀넥이 상기 설정 기간 사이에 해소되지 않는 것을 검출한 경우에 상기 애플리케이션 서버 상에서 상기 하나의 애플리케이션 프로그램을 실행하는 다중도를 더 저하시키는 정보 시스템.
  12. 단말로부터 수신한 트랜잭션에 따라 애플리케이션 프로그램을 각각 실행하는 복수의 애플리케이션 서버와, 상기 복수의 애플리케이션 서버의 각각의 요구에 기초하여 데이터 베이스를 액세스하는 데이터 베이스 서버를 구비한 정보 시스템을 컴퓨터에 의해 제어하는 부하 제어 방법으로서,
    상기 복수의 애플리케이션 서버의 각각에 대하여 상기 애플리케이션 서버가 수신한 상기 트랜잭션을 상기 애플리케이션 프로그램이 처리하는 처리 시간을 컴퓨터에 의해 감시하는 단계와;
    상기 복수의 애플리케이션 서버의 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 상기 애플리케이션 서버에 보틀넥이 있다고 컴퓨터에 의해 특정하는 단계와;
    보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 컴퓨터에 의해 저하시키는 단계
    를 포함하는 부하 제어 방법.
  13. 단말로부터 수신한 트랜잭션에 따라 애플리케이션 프로그램을 각각 실행하는 복수의 애플리케이션 서버와, 상기 복수의 애플리케이션 서버의 각각의 요구에 기초하여 데이터 베이스를 액세스하는 데이터 베이스 서버를 구비한 정보 시스템을 컴퓨터에 의해 제어시키는 부하 제어 프로그램으로서,
    상기 컴퓨터를,
    상기 복수의 애플리케이션 서버 각각에 대하여 상기 애플리케이션 서버가 수신한 상기 트랜잭션을 상기 애플리케이션 프로그램이 처리하는 처리 시간을 감시하는 처리 시간 감시부와,
    상기 복수의 애플리케이션 서버 각각에 대한 상기 처리 시간의 감시 결과에 기초하여 상기 처리 시간이 미리 정해진 허용 범위 내에 있지 않은 상기 애플리케이션 서버에 보틀넥이 있다고 특정하는 보틀넥 특정부와,
    보틀넥이 있다고 특정된 상기 애플리케이션 서버 상에서 상기 애플리케이션 프로그램을 실행하는 다중도를 저하시키는 부하 제어부로서
    기능시키는 부하 제어 프로그램.
  14. 제13항에 기재한 부하 제어 프로그램을 기록한 기록 매체.
KR1020067007611A 2003-10-29 2004-10-27 정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록매체 KR100866857B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003368773 2003-10-29
JPJP-P-2003-00368773 2003-10-29

Publications (2)

Publication Number Publication Date
KR20060079244A true KR20060079244A (ko) 2006-07-05
KR100866857B1 KR100866857B1 (ko) 2008-11-04

Family

ID=34510356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067007611A KR100866857B1 (ko) 2003-10-29 2004-10-27 정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록매체

Country Status (10)

Country Link
US (2) US7480719B2 (ko)
EP (1) EP1679595A4 (ko)
JP (1) JP4205103B2 (ko)
KR (1) KR100866857B1 (ko)
CN (1) CN100465900C (ko)
BR (1) BRPI0416101A (ko)
CA (1) CA2541576C (ko)
IL (1) IL174874A0 (ko)
MX (1) MXPA06004071A (ko)
WO (1) WO2005041038A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022154264A1 (ko) * 2021-01-12 2022-07-21 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2541576C (en) * 2003-10-29 2011-12-20 International Business Machines Corporation Information system, load control method, load control program and recor ding medium
JP2005309703A (ja) * 2004-04-21 2005-11-04 Yokogawa Electric Corp 電子機器システム
JP4117299B2 (ja) * 2005-02-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバの多重度の上限値を制御するための方法、管理サーバ、サーバ、およびプログラム
JP2007264921A (ja) * 2006-03-28 2007-10-11 Fujitsu Ltd 性能情報採取プログラム及び装置
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US20080172671A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Method and system for efficient management of resource utilization data in on-demand computing
US20080195447A1 (en) * 2007-02-09 2008-08-14 Eric Bouillet System and method for capacity sizing for computer systems
US9081605B2 (en) * 2007-03-27 2015-07-14 Nec Corporation Conflicting sub-process identification method, apparatus and computer program
US20090031019A1 (en) * 2007-07-27 2009-01-29 Burr Michael J Technique for Graphically Displaying Application Processing Time Distributions in Real-Time
US8135824B2 (en) * 2007-10-01 2012-03-13 Ebay Inc. Method and system to detect a network deficiency
US8627327B2 (en) * 2007-10-24 2014-01-07 International Business Machines Corporation Thread classification suspension
US7930489B2 (en) * 2008-03-28 2011-04-19 Symantec Corporation Techniques for optimizing configuration partitioning
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
US10033869B2 (en) 2008-08-29 2018-07-24 8X8, Inc. Methods and systems for information streaming to user interface
US8204206B2 (en) * 2008-08-29 2012-06-19 8X8, Inc. Systems and methods for selection of a communication path
US8275116B2 (en) * 2008-08-29 2012-09-25 8X8, Inc. Networked contact center
US8972885B2 (en) * 2008-08-29 2015-03-03 8X8, Inc. Networked contact center user interface
US8243913B2 (en) 2008-08-29 2012-08-14 8×8, Inc. Limiting contact in a networked contact center environment
US8515833B2 (en) * 2008-08-29 2013-08-20 8X8, Inc. Methods and systems for multilayer provisioning of networked contact centers
JP5343586B2 (ja) * 2009-01-29 2013-11-13 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP5428075B2 (ja) * 2009-04-17 2014-02-26 株式会社日立製作所 性能モニタリングシステム、ボトルネック判定方法及び管理計算機
JP5482052B2 (ja) * 2009-09-24 2014-04-23 富士通株式会社 観測分析装置および観測分析方法
WO2011052149A1 (ja) * 2009-10-29 2011-05-05 日本電気株式会社 システム配置決定システム、システム配置決定方法およびプログラム
CN101777009B (zh) * 2009-11-30 2012-12-19 英业达股份有限公司 应用程序的负载控管方法
JP5458308B2 (ja) * 2010-06-11 2014-04-02 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
US8468545B2 (en) 2010-08-18 2013-06-18 8X8, Inc. Interaction management
JP5625634B2 (ja) * 2010-09-01 2014-11-19 富士通株式会社 データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法
EP2615511A1 (de) * 2012-01-12 2013-07-17 Siemens Aktiengesellschaft Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem
JP2013171347A (ja) * 2012-02-17 2013-09-02 Fujitsu Frontech Ltd 情報処理装置、サーバ検出方法、及びプログラム
US8856887B2 (en) 2012-07-09 2014-10-07 Ping Identity Corporation Methods and apparatus for delegated authentication token retrieval
US9274854B2 (en) * 2012-07-27 2016-03-01 International Business Machines Corporation Contamination based workload management
US9438488B2 (en) * 2012-11-09 2016-09-06 Citrix Systems, Inc. Systems and methods for appflow for datastream
US20150378786A1 (en) * 2013-01-31 2015-12-31 Adarsh Suparna Physical resource allocation
US8613055B1 (en) * 2013-02-22 2013-12-17 Ping Identity Corporation Methods and apparatus for selecting an authentication mode at time of issuance of an access token
US9495199B2 (en) * 2013-08-26 2016-11-15 International Business Machines Corporation Management of bottlenecks in database systems
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
KR102165460B1 (ko) 2013-11-27 2020-10-14 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법
CN104331406A (zh) * 2013-12-20 2015-02-04 乐视网信息技术(北京)股份有限公司 一种数据库容量控制方法及装置
JP6233141B2 (ja) * 2014-03-28 2017-11-22 沖電気工業株式会社 データベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント及びデータベースクライアントプログラム
CN105335142B (zh) * 2014-07-29 2019-03-15 国际商业机器公司 在事务处理系统中标识事务的性能瓶颈的方法和装置
CN105704175B (zh) * 2014-11-25 2019-03-19 阿里巴巴集团控股有限公司 一种连接建立方法和装置
CN104683463B (zh) * 2015-02-28 2019-01-25 北京京东尚科信息技术有限公司 一种应用服务器的控制方法和装置以及服务器系统
GB201504612D0 (en) 2015-03-18 2015-05-06 Inquisitive Systems Ltd Forensic analysis
CN105227374B (zh) * 2015-10-23 2018-05-29 浪潮(北京)电子信息产业有限公司 一种集群应用的故障迁移方法和系统
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
GB201708671D0 (en) 2017-05-31 2017-07-12 Inquisitive Systems Ltd Forensic analysis
KR102088207B1 (ko) 2018-06-01 2020-03-12 주식회사 티맥스 소프트 서버, 서버를 제어하는 방법 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램
US11768707B2 (en) 2018-08-27 2023-09-26 Box, Inc. Workflow selection
US10984001B2 (en) * 2019-02-08 2021-04-20 Intuit Inc. Graph database applications
US11669793B2 (en) * 2019-10-01 2023-06-06 Box, Inc. Inter-application workflow performance analytics
US11681572B2 (en) 2019-12-23 2023-06-20 Box, Inc. Extensible workflow access
US20210294661A1 (en) * 2020-03-19 2021-09-23 Entertainment Technologists, Inc. TASK MANAGEMENT OF LARGE COMPUTING WORKLOADS in A CLOUD SERVICE AGGREGATED FROM DISPARATE, RESOURCE-LIMITED, PRIVATELY CONTROLLED SERVER FARMS
US11606392B2 (en) 2020-05-29 2023-03-14 Mcafee, Llc System for tuning a device having security software for security and performance
US11861029B2 (en) 2020-09-14 2024-01-02 Box Inc. Workflow execution state variables

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
JPH0769845B2 (ja) 1987-01-27 1995-07-31 日本電気株式会社 多重ホストシステムのジヨブ多重度管理方式
US5235508A (en) 1990-05-31 1993-08-10 At&T Bell Laboratories Automated resource allocation cutting stock arrangement using random cut patterns
JP3501385B2 (ja) 1995-04-13 2004-03-02 株式会社日立製作所 ジョブ実行順序決定方法
JP2940450B2 (ja) 1995-10-26 1999-08-25 日本電気株式会社 クラスタ型コンピュータのジョブスケジュール方法及び装置
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
JP2000268012A (ja) 1999-03-12 2000-09-29 Nec Corp クライアントサーバシステムにおけるサーバ負荷の分散方法ならびに装置
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
EP1212680B1 (en) * 1999-08-13 2007-07-04 Sun Microsystems, Inc. Graceful distribution in application server load balancing
US6381617B1 (en) * 1999-08-25 2002-04-30 Hewlett-Packard Company Multiple database client transparency system and method therefor
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
JP2001160040A (ja) * 1999-12-01 2001-06-12 Nec Corp サーバ多重度制御装置、サーバ多重度制御方法およびサーバ多重度制御プログラムを記録した記録媒体
US6560717B1 (en) * 1999-12-10 2003-05-06 Art Technology Group, Inc. Method and system for load balancing and management
EP1137295A1 (en) 2000-03-20 2001-09-26 BRITISH TELECOMMUNICATIONS public limited company Communications network
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US6485306B1 (en) * 2001-07-10 2002-11-26 Aiptek International Inc. Locus-recordable portable handwriting device
US6965938B1 (en) * 2000-09-07 2005-11-15 International Business Machines Corporation System and method for clustering servers for performance and load balancing
US7051330B1 (en) * 2000-11-21 2006-05-23 Microsoft Corporation Generic application server and method of operation therefor
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
AU2002250260A1 (en) * 2001-03-08 2002-11-05 Tririga, Inc. Data storage and access system employing clustering of servers
US20030028583A1 (en) * 2001-07-31 2003-02-06 International Business Machines Corporation Method and apparatus for providing dynamic workload transition during workload simulation on e-business application server
CN1407760A (zh) * 2001-08-31 2003-04-02 高建国际有限公司 便于用户在收看电视时浏览互联网的网络系统和方法
JP3805711B2 (ja) * 2002-04-05 2006-08-09 日本電信電話株式会社 サイト領域内ボトルネック特定方法
US7007207B2 (en) 2002-10-21 2006-02-28 International Business Machines Corporation Scheduling of transactions in system-level test program generation
US7263555B2 (en) * 2003-04-30 2007-08-28 International Business Machines Corporation Apparatus and method for dynamic sharing of server network interface resources
US7146353B2 (en) * 2003-07-22 2006-12-05 Hewlett-Packard Development Company, L.P. Resource allocation for multiple applications
US7441033B2 (en) * 2003-08-14 2008-10-21 Oracle International Corporation On demand node and server instance allocation and de-allocation
CA2541576C (en) 2003-10-29 2011-12-20 International Business Machines Corporation Information system, load control method, load control program and recor ding medium
US7493380B2 (en) 2003-12-02 2009-02-17 International Business Machines Corporation Method for determining load balancing weights using application instance topology information
JP4223411B2 (ja) 2004-01-19 2009-02-12 株式会社日立製作所 実行多重度制御システム、実行多重度制御システムの制御方法、及びプログラム
US7805509B2 (en) * 2004-06-04 2010-09-28 Optier Ltd. System and method for performance management in a multi-tier computing environment
US7281045B2 (en) * 2004-08-26 2007-10-09 International Business Machines Corporation Provisioning manager for optimizing selection of available resources
JP2006209165A (ja) 2005-01-25 2006-08-10 Hitachi Ltd 同時実行多重度調整システム及び方法
JP4117299B2 (ja) 2005-02-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバの多重度の上限値を制御するための方法、管理サーバ、サーバ、およびプログラム
US9223622B2 (en) * 2007-03-09 2015-12-29 Hewlett-Packard Development Company, L.P. Capacity planning of multi-tiered applications from application logs
US8046694B1 (en) * 2007-08-06 2011-10-25 Gogrid, LLC Multi-server control panel
US8086596B2 (en) * 2008-05-15 2011-12-27 International Business Machines Corporation Healthcheck of information technology infrastructure based on log data
US8756586B2 (en) * 2009-12-10 2014-06-17 Tata Consultancy Services Limited System and method for automated performance testing in a dynamic production environment
US20120060167A1 (en) * 2010-09-08 2012-03-08 Salsburg Michael A Method and system of simulating a data center

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022154264A1 (ko) * 2021-01-12 2022-07-21 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
CA2541576C (en) 2011-12-20
EP1679595A1 (en) 2006-07-12
CN100465900C (zh) 2009-03-04
CA2541576A1 (en) 2005-05-06
US20090133031A1 (en) 2009-05-21
IL174874A0 (en) 2006-08-20
US8386611B2 (en) 2013-02-26
BRPI0416101A (pt) 2007-01-02
MXPA06004071A (es) 2006-06-27
US7480719B2 (en) 2009-01-20
KR100866857B1 (ko) 2008-11-04
JP4205103B2 (ja) 2009-01-07
CN1875348A (zh) 2006-12-06
JPWO2005041038A1 (ja) 2007-04-19
EP1679595A4 (en) 2008-06-04
WO2005041038A1 (ja) 2005-05-06
US20070157210A1 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
KR100866857B1 (ko) 정보 시스템, 부하 제어 방법, 부하 제어 프로그램 및 기록매체
JP4920391B2 (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US7197577B2 (en) Autonomic input/output scheduler selector
US7913009B2 (en) Monitored notification facility for reducing inter-process/inter-partition interrupts
US20140115586A1 (en) Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system
CN107592345B (zh) 交易限流装置、方法及交易系统
US7979668B2 (en) Method and system for automatically distributing real memory between virtual memory page sizes
US20080184256A1 (en) Processor packing in an smp server to conserve energy
CN105204977A (zh) 一种系统异常的捕获方法、主系统、影子系统及智能设备
CN101470634B (zh) Cpu资源调度方法及cpu资源调度装置
US20020184290A1 (en) Run queue optimization with hardware multithreading for affinity
CN110838987B (zh) 队列限流方法、存储介质
US7953914B2 (en) Clearing interrupts raised while performing operating system critical tasks
US7904688B1 (en) Memory management unit for field programmable gate array boards
US20180173473A1 (en) Method for operating a print server for digital high-capacity printing systems
CN104899072B (zh) 基于虚拟化平台的细粒度资源调度系统及方法
US10303404B2 (en) Method for operating a print server for digital high-capacity printing systems
CN116127494A (zh) 用户并发访问的控制方法及相关装置
CN110515701B (zh) 一种虚拟机的热迁移方法及装置
US20230409462A1 (en) Method for system profiling and controlling and computer system performing the same
KR102262645B1 (ko) 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법
CN115049488A (zh) 联机交易的处理方法及装置、处理器和电子设备
CN115390983A (zh) 面向虚拟机的硬件资源分配方法、装置、设备及存储介质
CN115562830A (zh) 主机总线适配器调优方法及装置、电子设备、存储介质
CN117130738A (zh) 一种数据调度方法、数据获取方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee