KR19980037192A - 웹상에서 응용 서버의 자원화 방법 - Google Patents

웹상에서 응용 서버의 자원화 방법 Download PDF

Info

Publication number
KR19980037192A
KR19980037192A KR1019960055908A KR19960055908A KR19980037192A KR 19980037192 A KR19980037192 A KR 19980037192A KR 1019960055908 A KR1019960055908 A KR 1019960055908A KR 19960055908 A KR19960055908 A KR 19960055908A KR 19980037192 A KR19980037192 A KR 19980037192A
Authority
KR
South Korea
Prior art keywords
application server
message
received
web
result
Prior art date
Application number
KR1019960055908A
Other languages
English (en)
Other versions
KR100227795B1 (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 양승택
Priority to KR1019960055908A priority Critical patent/KR100227795B1/ko
Publication of KR19980037192A publication Critical patent/KR19980037192A/ko
Application granted granted Critical
Publication of KR100227795B1 publication Critical patent/KR100227795B1/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • G06Q50/50

Abstract

본 발명은 웹 서비스 제공 방법에 관한 것으로, CGI 혹은 응용 서버 형태의 웹에서 CGI 프로그램 혹은 응용 서버가 매 서비스 요구마다 생성 소멸되어 비용을 상승시켜 효과적인 웹 서비스에 적합하지 않은 문제점이 발생한다. 따라서 본 발명은 CGI를 이용한 응용 서버 모델로 웹게이트웨이, 디스패처, 응용 서버로 프로세스를 구성하고, 이들 중 다수개의 응용 서버를 자원화하여 자원풀에 넣고 사용자의 서비스 요구에 따라 자원풀의 큐(queue)로부터 응용 서버를 얻어 적절히 스케쥴링하며 할당된 응용 서버 자원이 서비스를 완료하면 응용 서버 자원을 해제하여 자원풀에 되돌려 프로세스의 생성 소멸 비용을 줄이는 동시에, 효과적인 웹 서비스가 가능하도록 한 웹상에서 응용 서버의 자원화 방법이 제시된다.

Description

웹상에서 응용 서버의 자원화 방법
본 발명은 웹(web) 서비스 제공 방법에 관한 것으로, 특히 웹상에서 응용 서버의 자원화 방법에 관한 것이다.
기존의 웹 서비스는 공통 게이트웨이 인터페이스(Common Gateway Interface; 이하 CGI라 함) 프로그램이나 웹게이트를 통한 응용 서버 방식 혹은 전용 서버 방식을 사용하는데, CGI를 이용해서 직접 데이터베이스를 접근하는 방식은 데이터베이스에 접근할 때바다 데이터베이스 응용 프로그램을 새로 실행시킨다. 따라서 이 프로그램의 생성/소멸에 대한 비용 낭비가 심하게 된다. 또한 일반적으로 데이터베이스 응용 서버는 데이터베이스 접속에 필요한 일련의 라이브러리 및 데이터가 함께 링크되어 매우 크기 때문에 여러 사용자가 동시에 이 응용 프로그램을 이용하면 많은 프로세스의 생성으로 메모리 부족 현상이 나타날 수 있다. 이러한 방법은 웹상에서 고속 및 다수의 사용자에게 서비스하는 시스템으로 적합하지 않다.
CGI 혹은 일반적 응용 서버에 의한 기존의 방법들을 적용하면 프로세스의 빈번한 생성과 소멸에 따른 부하 증가와 매 서비스마다 데이터베이스 시스템의 기동에 따른 부하에 의해 웹 시스템의 성능 저하를 초래한다. 그러므로, CGI와 일반적 응용 서버는 효과적인 웹 서비스를 제공하는 부적합하다. 반면 응용 서버의 자원화에 의해 프로세스의 생성/소멸의 부하가 저하되고, 응용 서버를 자원화함에 따라 데이터베이스 시스템의 기동에 따른 부하를 줄일 수 있다.
따라서, 본 발명은 응용 서버의 자원화를 통하여 웹상에서 멀티미디어 데이터베이스 관리 시스템의 서비스 성능을 개선하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명은 웹 시스템의 기동에 의해 디스패처를 동작시키는 단계와, 상기 디스패처가 응용 서버의 관련 정보를 초기화하고 동작에 필요한 환경 변수를 구하는 단계와, 상기 초기화된 정보와 환경 변수 값을 사용하여 필요한 응용 서버에 데이터베이스를 연결하여 기동시키는 단계와, 상기 기동된 응용 서버를 자원풀에 넣는 단계와, 상기 응용 서버를 자원풀에 넣은 디스패처에서 사용자 혹은 응용 서버로부터 메시지가 수신되었는지를 검사하는 단계와, 상기 메시지가 수신되었는지의 검사 결과 메시지가 수신되었을 경우 어떤 종류의 메시지가 수신되었는지를 검사하는 단계와, 상기 메시지가 수신되었는지의 검사 결과 수신된 메시지가 없을 경우 현재 등록되어 있는 각 응용 서버의 상태가 정상 상태인지를 검사하는 단계와, 상기 각 응용 서버의 검사 결과 정상 상태일 경우 메시지가 수시되었는지를 검사하는 단계로 천이하는 단계와, 상기 각 응용 서버의 검사 결과 비정상적인 상태의 응용 서버가 존재할 경우 상기 비정상적인 응용 서버가 요구받은 서비스 요구를 회수한 후 비정상 상태의 응용 서버를 초기화하는 단계와, 상기 메시지 종류의 검사 결과에 따라 자원 할당 해제 요구 메시지일 경우 및 상기 비정상 상태의 응용 서버를 초기화한 후 상태 유지를 위한 정보를 설정하고 서비스를 종료한 응용 서버를 자원풀에 되돌리는 단계와, 상기 서비스를 종료한 응용 서버를 자원풀에 되돌리고 메시지가 수신되었는지를 검사하는 단계로 천이하는 단계와, 상기 메시지 종류의 검사 결과 서비스 요구 메시지일 경우 자원풀의 응용 서버들의 부하를 평가하여 가장 부하가 적은 응용 서버를 할당하는 단계와, 상기 할당된 응용 서버에게 요구 서비스의 처리를 지시 한 후 메시지가 수신되었는지 검사하는 단계로 천이하는 단계와, 상기 메시지 종류의 검사 결과 종료 메시지일 경우 전체 처리를 종료하는 단계로 이루어진 것을 특징으로 한다.
도 1은 본 발명이 적용되는 하드웨어 구성도.
도 2는 본 발명에 따른 웹 시스템의 프로세스 구성도.
도 3은 본 발명에 따른 응용 서버 자원화 방법의 동작 흐름도
*도면의 주요 부분에 대한 부호의 설명*
11; 호스트12; 디스크
13; 인터넷14; 클라이언트
21; 웹 클라이언트22; 외부 검사자
23; 웹 서버24; 웹게이트웨이
25; 디스패처26; 자원풀
27; 바다-Ⅲ 데이터베이스 관리 시스템
28; 데이터베이스29; 응용 서버
첨부된 도면을 참조하여 본 발명은 상세히 설명하기로 한다.
도 1은 본 발명의 적용되는 하드웨어 구성도이다. 클라이언트(Client)(14)는 개인용 컴퓨터(PC) 혹은 터미널(terminal)이 다수로 구성된다. 유닉스 시스템인 호스트(HOST)(11)는 보조 기억 장치인 디스크(DISK)(12)와 상호 연결되며, 인터넷(INTERNET)(13)을 통해 클라이언트(14)와 상호 연결된다. 이와 같이 본 발명은 인터넷에 연결된 클라이언트와 호스트 컴퓨터가 존재하는 일반적인 하드웨어 환경에서 작동한다.
도 2는 본 발명에 따른 웹 시스템의 프로세스 구조도이다. 본 발명이 동작하는 인터넷에서 웹 클라이언트(21)와 웹 서버(23), CGI 프로그램인 웹게이트웨이(Webgateway)(24), 사용자의 요구에 따라 자원풀(26)의 응용 서버중 하나를 할당하여 서비스를 지시하는 디스패처(Dispatcher)(25), 실제 사용자가 요구하는 서비스를 제공하는 응용 서버(Application-server)(29), 다수의 응용 서버로 이루어진 자원풀(resource pool)(26), 그리고 응용 서버에 연결된 데이터베이스 관리 시스템(DataBase Management System; 이하 DBMS라 함)(27), 서비스를 위한 자료를 가지고 있는 데이터베이스(28)로 구성된다.
본 발명에 따른 웹상에서 응용 서버 자원화 방법의 구성 요소는 웹게이트웨이(24), 디스패처(25), 응용 서버(29)로 이루어져 있으며, 웹상에서 CGI 형태의 일종인 응용 서버를 자원화하여 웹 서비스를 제공한다. 응용 서버 자원화의 주요한 역할은 데이터베이스 시스템의 기동을 응용 서버의 자원화 시점에서 수행하여 각 응용 서버와 데이터베이스를 함께 재사용하는 것이다.
응용 서버(29)는 웹 클라이언트(21)의 서비스 요구를 처리할 수 있는 임의의 응용 프로그램으로 데이터베이스(28)와 연결되어 있다. 응용 서버(29)는 사용자가 데이터베이스(28)에 접근할 수 있도록 사용자 요구를 항상 기다리고 있다. 응용 서버가 다수 개로 구성되어 자원풀(26)을 생성하고, 자원풀(26)을 디스패처(25)가 관리하여 웹 클라이언트(21)의 서비스 요구에 대한 부하를 여러 프로세스에서 적절히 조절할 수 있게 한다.
사용자 요구는 웹 서버(23)를 통해서 전달되므로 웹 서버(23)가 응용 서버(29)를 곧바로 실행시키면 응용 서버(29)가 계속 생성되므로 기존의 문제점을 그대로 야기시키는 결과이다. 이를 해결하기 위해 웹 서버(23)와 응용 서버(29) 사이에 CGI를 이용한 작은 크기의 스터브인 웹게이트웨이(24)와 데몬 프로세스인 디스패처(25)를 두어 이들이 웹 서버(23)와 응용 서버(29)를 중계할 수 있도록 한다. 웹게이트웨이(24)는 웹 서버(23)의 요구 사항을 디스패처(25)에게 전달하고 응용 서버(29)로부터 처리 결과를 전달받아 웹 서버(23)에게 전하는 역할을 한다. 디스패처(25)는 웹게이트웨이(24)의 처리 요구를 응용 서버(29)에게 전달하고 응용 서버(29)의 상태와 정보를 유지 관리하는 역할과 유구 사항 처리에 대한 회복 기능을 제공한다. 실제, 응용 서버(29)는 데이터베이스 서비스를 시작하기 전에 디스패처(25)가 바다-Ⅲ DBMS(27)와 함께 미리 실행시켜 놓는다. 웹을 통해 이 데이터베이스 서비스에 대한 요청이 들어오면 웹 서버(23)에 의해 스터브인 웹게이트웨이(24)가 실행되고, 웹게이트웨이(24)는 웹 서버(23)로부터 받은 정보와 함께 서비스 요청을 디스패처(25)에게 전달한다. 디스패처(25)는 자원풀(26)내의 응용 서버들의 부하를 파악하여 적절한 응용 서버에게 처리 요구한다. 응용 서버(29)의 처리 결과는 처리를 요청한 웹게이트웨이(24)에게 전달되고, 웹게이트웨이(24)는 전달 받은 데이터를 웹서버(23)에게 전하고 자신의 실행을 종료한다.
도 3는 본 발명에 따른 응용 서버 자원화 방법의 동작 흐름도로서, 동작은 다음과 같이 수행된다. 웹 시스템의 기동에 의해 디스패처가 동작하면(301), 응용 서버의 관련 정보를 초기화하고(302) 동작에 필요한 환경 변수의 값을 얻는다(303). 초기화된 정보와 환경 변수 값을 사용하여 필요한 응용 서버에 데이터베이스를 연결하여 기동한다. 그리고 기동된 응용 서버를 자원풀에 넣는다(304). 시스템을 초기화 처리하고 무한 순환 처리에 들어간 디스패처는 사용자 혹은 응용 서버로부터 메시지가 수신되었는지를 검사한다(305). 검사 결과 메시지가 수신되었을 경우 어떤 종류의 메시지가 수신되었는지를 검사한다(306). 메시지 종류의 검사 결과에 따라 서비스를 종료한 응용 서버가 자원 할당의 해제를 요구하는 메시지일 경우 상태 유지를 위한 정보를 설정하고 요구하는 응용 서버를 자원풀에 넣고 메시지가 수신되었는지를 검사하는 단계로 천이한다(307). 메시지가 수신되었는지의 검사 결과 수신된 메시지가 없을 경우 현재 등록되어 있는 각 응용 서버의 상태가 정상 상태인지를 검사한다(308). 검사 결과 정상 상태일 경우 메시지가 수신되었는지를 검하하는 단계(305)로 천이한다. 검사 결과 비정상적인 상태의 응용 서버가 존재하는 경우 그 응용 서버가 요구받은 서비스 요구를 회수하여 새로운 응용 서버에게 돌리고(309), 해당 프로세스를 제거하고 관련 정보를 초기화한다(310). 그리고 필요하다면 새로운 응용 서버를 생성한 후 단계(311)로 진행한다. 메시지의 종류를 검사하는 단계(306)에서 검사 결과 서비스 요구 메시지일 경우 자원풀의 응용 서버들의 부하를 평가하여 가장 부하가 적은 응용 서버를 할당받는다(311). 선정된 응용 서버에게 요구 서비스의 처리를 지시한 후(312) 메시지가 수신되었는지 검사하는 단계(305)로 천이한다. 단계(306)의 검사 결과 종료 메시지일 경우 전체적인 처리를 종료한다.
상술한 바와 같이 본 발명에 의하면 응용 서버의 작업량을 균등하게 조절할 수 있으며, 서비스의 속도를 높일 수 있고, 호스트 시스템의 부하를 크게 줄일 수 있어 성능을 향상시킬 수 있는 훌륭한 효과가 있다.

Claims (1)

  1. 웹 시스템의 기동에 의해 디스패처를 동작시키는 단계와,
    상기 디스패처가 응용 서버의 관련 정보를 초기화하고 동작에 필요한 환경 변수를 구하는 단계와,
    상기 초기화된 정보와 환경 변수 값을 사용하여 필요한 응용 서버에 데이터베이스를 연결하여 기동시키는 단계와,
    상기 기동된 응용 서버를 자원풀에 넣는 단계와,
    상기 응용 서버를 자원풀에 넣은 디스패처에서 사용자 혹은 응용 서버로부터 메시지가 수신되었는지를 검사하는 단계와,
    상기 메시지가 수신되었는지의 검사 결과 메시지가 수신되었을 경우 어떤 종류의 메시지가 수신되었는지를 검사하는 단계와,
    상기 메시지가 수신되었는지의 검사 결과 수신된 메시지가 없을 경우 현재 등록되어 있는 각 응용 서버의 상태가 정상 상태인지를 검사하는 단계와,
    상기 각 응용 서버의 검사 결과 정상 상태일 경우 메시지가 수시되었는지를 검사하는 단계로 천이하는 단계와,
    상기 각 응용 서버의 검사 결과 비정상적인 상태의 응용 서버가 존재할 경우 상기 비정상적인 응용 서버가 요구받은 서비스 요구를 회수한 후 비정상 상태의 응용 서버를 초기화하는 단계와,
    상기 메시지 종류의 검사 결과에 따라 자원 할당 해제 요구 메시지일 경우 및 상기 비정상 상태의 응용 서버를 초기화한 후 상태 유지를 위한 정보를 설정하고 서비스를 종료한 응용 서버를 자원풀에 되돌리는 단계와,
    상기 서비스를 종료한 응용 서버를 자원풀에 되돌리고 메시지가 수신되었는지를 검사하는 단계로 천이하는 단계와,
    상기 메시지 종류의 검사 결과 서비스 요구 메시지일 경우 자원풀의 응용 서버들의 부하를 평가하여 가장 부하가 적은 응용 서버를 할당하는 단계와,
    상기 할당된 응용 서버에게 요구 서비스의 처리를 지시 한 후 메시지가 수신되었는지 검사하는 단계로 천이하는 단계와,
    상기 메시지 종류의 검사 결과 종료 메시지일 경우 전체적인 처리를 종료하는 단계로 이루어진 것을 특징으로 하는 웹상에서 응용 서버 자원화 방법.
KR1019960055908A 1996-11-21 1996-11-21 웹상에서 응용 서버의 자원화 방법 KR100227795B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960055908A KR100227795B1 (ko) 1996-11-21 1996-11-21 웹상에서 응용 서버의 자원화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055908A KR100227795B1 (ko) 1996-11-21 1996-11-21 웹상에서 응용 서버의 자원화 방법

Publications (2)

Publication Number Publication Date
KR19980037192A true KR19980037192A (ko) 1998-08-05
KR100227795B1 KR100227795B1 (ko) 1999-11-01

Family

ID=19482799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055908A KR100227795B1 (ko) 1996-11-21 1996-11-21 웹상에서 응용 서버의 자원화 방법

Country Status (1)

Country Link
KR (1) KR100227795B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100351605B1 (ko) * 1998-11-10 2002-09-10 인터내셔널 비지네스 머신즈 코포레이션 통신 방법, 서버에 액세스하는 방법, 통신 시스템, 및 서버에 액세스하도록 지시하는 프로그램 코드를 포함하는 기억 매체
KR100445738B1 (ko) * 1999-03-31 2004-08-25 인터내셔널 비지네스 머신즈 코포레이션 부하 균형분배를 위한 가상 url의 사용

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895540B (zh) * 2010-07-12 2015-08-12 中兴通讯股份有限公司 用于应用服务进程守护的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100351605B1 (ko) * 1998-11-10 2002-09-10 인터내셔널 비지네스 머신즈 코포레이션 통신 방법, 서버에 액세스하는 방법, 통신 시스템, 및 서버에 액세스하도록 지시하는 프로그램 코드를 포함하는 기억 매체
KR100445738B1 (ko) * 1999-03-31 2004-08-25 인터내셔널 비지네스 머신즈 코포레이션 부하 균형분배를 위한 가상 url의 사용

Also Published As

Publication number Publication date
KR100227795B1 (ko) 1999-11-01

Similar Documents

Publication Publication Date Title
US7805736B2 (en) Process and implementation for dynamically determining probe enablement using out of process correlating token
US7090749B2 (en) Method and apparatus for simulating application workloads on an e-business application server
US7080378B1 (en) Workload balancing using dynamically allocated virtual servers
US5819019A (en) System/method for recovering network resources in a distributed environment, via registered callbacks
US7458066B2 (en) Computer system and method for transferring executables between partitions
US20100153482A1 (en) Cloud-Based Automation of Resources
Vallee et al. A framework for proactive fault tolerance
US7698400B1 (en) Dedication of administrative servers to management of server functions in a multi-server environment
KR20010006803A (ko) 분산형 데이터 처리 시스템에서 클라이언트 컴퓨터를관리하기 위한 방법 및 장치
JPH10124468A (ja) 資源管理方法及びコンピュータ
JP2009519523A (ja) 仮想データ・センタ複合体内のターゲット仮想オペレーティング・システムのパフォーマンスをモニタするための方法、システム、およびコンピュータ・プログラム
WO2003100612A2 (en) Processing distribution using instant copy
US20060167916A1 (en) Non-intrusive method for logging external events related to an application process, and a system implementing said method
US20100121904A1 (en) Resource reservations in a multiprocessor computing environment
US7181574B1 (en) Server cluster using informed prefetching
CN111464589A (zh) 智能合约处理方法、计算机设备及存储介质
US7043726B2 (en) Binding of processes in network systems
US7260596B1 (en) Distributed service provider
CN111835809B (zh) 工单消息分配方法、装置、服务器及存储介质
US7533296B2 (en) Method for optimizing the transmission of logging data in a multi-computer environment and a system implementing this method
US20040215578A1 (en) Controlling usage of system resources by a network manager
KR19980037192A (ko) 웹상에서 응용 서버의 자원화 방법
Cho et al. An integrated management system of virtual resources based on virtualization API and data distribution service
Devi et al. Self-healing fault tolerance technique in cloud datacenter
CN111176782B (zh) 一种在线实验方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee