KR101552170B1 - 더미 http를 이용한 연결 관리 방법 및 그 장치 - Google Patents
더미 http를 이용한 연결 관리 방법 및 그 장치 Download PDFInfo
- Publication number
- KR101552170B1 KR101552170B1 KR1020140022962A KR20140022962A KR101552170B1 KR 101552170 B1 KR101552170 B1 KR 101552170B1 KR 1020140022962 A KR1020140022962 A KR 1020140022962A KR 20140022962 A KR20140022962 A KR 20140022962A KR 101552170 B1 KR101552170 B1 KR 101552170B1
- Authority
- KR
- South Korea
- Prior art keywords
- connection
- http
- dummy
- request
- time
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명의 더미 HTTP를 이용한 연결 관리 방법은, 클라이언트로부터 HTTP 요청이 수신될 때 웹 서버가 웹 응용 서버와 HTTP 연결을 맺은 후 상기 웹 응용 서버로 HTTP 요청을 전송하는 과정과, 상기 웹 서버가 상기 웹 응용 서버로부터 수신되는 HTTP 응답을 상기 클라이언트에게 전송하는 과정과, 상기 웹 서버가 상기 웹 응용 서버와의 연결 지속 시간을 카운트하는 과정과, 카운트된 연결 지속 시간이 기 설정된 유지 체크 시간에 도달할 때, 상기 웹 서버가 상기 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 HTTP 연결을 유지시키는 과정을 포함할 수 있다.
Description
본 발명은 통신 기기간의 연결 관리 기법에 관한 것으로, 보다 상세하게는 HTTP 연결을 생성하여 웹 서버와 웹 응용 서버(web application server)가 서로 통신할 때 생성된 HTTP 연결을 유지하면서 재사용하는데 적합한 더미 HTTP를 이용한 연결 관리 방법 및 그 장치에 관한 것이다.
잘 알려진 바와 같이, 웹 서버는 클라이언트로부터 HTTP 요청을 받으면 해당 웹 응용 서버와의 HTTP 연결(또는 HTTPS 연결)을 생성한 후 HTTP 요청을 웹 응용 서버로 전송하고, 이 HTTP 요청에 응답하여 웹 응용 서버로부터 HTTP 응답이 수신될 때 이를 해당 클라이언트에게 전달하는 기능을 수행한다.
여기에서, 웹 서버는 웹 응용 서버에 소켓 연결(또는 HTTP 연결)을 하며, 경우에 따라 웹 응용 서버가 SSL 암호화 통신을 원할 경우 웹 서버는 SSL 연결(또는 HTTPS 연결)을 해야 한다.
이후, 웹 서버는 웹 응용 서버와 연결된 HTTP 연결을 종료할 수 있는데, 웹 서버가 HTTP 연결을 바로 종료하지 않을 경우, 웹 응용 서버는 웹 서버의 킵 어라이브(Keep-alive) 시간이 지난 후 HTTP 연결을 종료시킨다.
즉, 종래에는 웹 서버가 웹 응용 서버에게 클라이언트로부터 HTTP 요청이 들어올 때마다 매번 HTTP 연결을 생성 및 종료하고, 클라이언트로부터 새로운 HTTP 요청이 들어오면 다시 HTTP 연결을 생성하고 종료하는 과정을 반복하게 된다.
그러나, 클라이언트로부터 요청이 있을 때마다 매번 HTTP 연결을 생성 및 종료하는 것은 빠른 응답을 요구하는 인터넷 환경에서 오버헤드가 된다. 특히, 웹 서버가 웹 응용 서버에게 HTTP 연결을 생성하고 SSL 암호화 통신을 위해 SSL 연결(HTTPS)을 생성해야 하는 경우라면 더욱 부담이 될 수밖에 없다는 문제가 있다.
본 발명은, 클라이언트로부터의 요청에 따라 웹 서버(또는 리버스 프락시 서버)와 웹 응용 서버 간에 생성된 HTTP 연결에 대해 웹 서버가 일정 주기로 더미 HTTP 요청 및 응답을 웹 응용 서버와 주고받음으로써 기 생성된 HTTP 연결을 유지시켜 재사용할 수 있는 새로운 연결 관리 기법을 제안하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명은, 일 관점에 따라, 클라이언트로부터 HTTP 요청이 수신될 때 웹 서버가 웹 응용 서버와 HTTP 연결을 맺은 후 상기 웹 응용 서버로 HTTP 요청을 전송하는 과정과, 상기 웹 서버가 상기 웹 응용 서버로부터 수신되는 HTTP 응답을 상기 클라이언트에게 전송하는 과정과, 상기 웹 서버가 상기 웹 응용 서버와의 연결 지속 시간을 카운트하는 과정과, 카운트된 연결 지속 시간이 기 설정된 유지 체크 시간에 도달할 때, 상기 웹 서버가 상기 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 HTTP 연결을 유지시키는 과정을 포함하는 더미 HTTP를 이용한 연결 관리 방법을 제공한다.
본 발명의 상기 방법은, 상기 더미 HTTP 응답이 수신될 때, 상기 카운트된 연결 지속 시간을 초기화시키는 과정을 더 포함할 수 있다.
본 발명의 상기 기 설정된 유지 체크 시간은, 상기 웹 응용 서버의 킵 어라이브(keep-alive) 시간보다 적게 설정될 수 있다.
본 발명의 상기 킵 어라이브(keep-alive) 시간은, 상기 HTTP 응답의 헤더로부터 획득될 수 있다.
본 발명의 상기 킵 어라이브(keep-alive) 시간은, 상기 웹 서버와 웹 응용 서버간의 처음 HTTP 연결이 상기 킵 어라이브(keep-alive) 시간으로 인해 끊어지는 시간을 체크하는 방식으로 획득될 수 있다.
본 발명의 상기 더미 HTTP 요청은, HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드일 수 있다.
본 발명의 상기 웹 서버는, 프락시 기능을 제공하는 리버스 프락시 서버(Reverse Proxy Server)일 수 있다.
본 발명은, 다른 관점에 따라, 클라이언트로부터 HTTP 요청이 수신될 때 웹 응용 서버와 HTTP 연결을 맺은 후 HTTP 요청을 전송하는 연결 요청 처리부와, 상기 웹 응용 서버로부터 전달되는 HTTP 응답을 수신하여 상기 클라이언트에게 전송하는 연결 응답 처리부와, 상기 웹 응용 서버와의 연결 지속 시간을 카운트하는 연결 시간 모니터링부와, 카운트된 연결 지속 시간이 기 설정된 유지 체크 시간에 도달할 때, 상기 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 HTTP 연결을 유지시키는 연결 유지 제어부와, 상기 더미 HTTP 응답이 상기 웹 응용 서버로부터 수신될 때, 상기 카운트된 연결 지속 시간을 초기화시키는 지속 시간 관리부를 포함하는 더미 HTTP를 이용한 연결 관리 장치를 제공한다.
본 발명의 상기 기 설정된 유지 체크 시간은, 상기 웹 응용 서버의 킵 어라이브(keep-alive) 시간보다 적게 설정될 수 있다.
본 발명의 상기 장치는, 상기 HTTP 응답의 헤더로부터 상기 킵 어라이브(keep-alive) 시간을 획득하고, 이 획득된 킵 어라이브 시간을 상기 연결 유지 제어부에 제공하는 체크 시간 획득부를 더 포함할 수 있다.
본 발명의 상기 장치는, 상기 웹 응용 서버와의 처음 HTTP 연결이 상기 킵 어라이브(keep-alive) 시간으로 인해 끊어지는 시간을 체크하는 방식으로 상기 킵 어라이브(keep-alive) 시간을 획득하고, 이 획득된 킵 어라이브 시간을 상기 연결 유지 제어부에 제공하는 체크 시간 획득부를 더 포함할 수 있다.
본 발명의 상기 연결 유지 제어부는, HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드를 상기 더미 HTTP 요청으로 생성할 수 있다.
본 발명은, 또 다른 관점에 따라, 웹 서버와 웹 응용 서버 간에 주고받는 HTTP 요청 및 응답에 의거하여 생성되는 다수의 HTTP 연결들을 연결 풀(connection pool)로 구성하는 제 1 과정과, 클라이언트로부터 HTTP 요청이 수신될 때, 상기 연결 풀을 탐색하여 재사용 가능 HTTP 연결이 존재하는 지의 여부를 체크하는 제 2 과정과, 상기 재사용 가능 HTTP 연결이 존재할 때, 해당 HTTP 연결을 이용하여 상기 HTTP 요청을 처리한 후 상기 연결 풀에 반환하는 제 3 과정과, 상기 재사용 가능 HTTP 연결이 존재하지 않을 때, 상기 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 지의 여부를 체크하는 제 4 과정과, 상기 기 설정된 기준 연결 수보다 작을 때, 신규 HTTP 연결을 생성하여 상기 HTTP 요청을 처리한 후 신규 HTTP 연결을 상기 연결 풀로 반환하는 제 5 과정과, 상기 제 2 과정 내지 제 5 과정 중 어느 한 과정을 수행하는 중, 상기 연결 풀을 구성하는 각 HTTP 연결에 대해 연결 지속 시간을 각각 모니터링하는 제 6 과정과, 상기 모니터링을 통해 기 설정된 유지 체크 시간에 도달한 유지 대상 HTTP 연결이 검출될 때, 상기 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 유지 대상 HTTP 연결을 유지시키는 제 7 과정을 포함하는 더미 HTTP를 이용한 연결 관리 방법을 제공한다.
본 발명의 상기 기 설정된 기준 연결 수는, 각 클라이언트로부터 전달되는 HTTP 요청들의 발생 빈도에 대한 분석 결과에 의거하여 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절될 수 있다.
본 발명의 상기 기 설정된 기준 연결 수는, 상기 웹 응용 서버에서의 요청 처리 부하 상태에 따라 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절될 수 있다.
본 발명의 상기 방법은, 상기 제 4 과정에서의 체크 결과, 상기 다수의 HTTP 연결들이 기 설정된 기준 연결 수와 같을 때 상기 HTTP 요청을 대기 큐로 대기시키는 과정과, 상기 다수의 HTTP 연결들 중 어느 하나가 반환되어 재사용 가능할 때, 반환된 HTTP 연결을 이용하여 대기 중인 상기 HTTP 요청을 처리하는 과정을 더 포함할 수 있다.
본 발명의 상기 방법은, 상기 더미 HTTP 응답이 수신될 때, 상기 유지 대상 HTTP 연결에 대해 모니터링한 연결 지속 시간을 초기화시키는 과정을 더 포함할 수 있다.
본 발명은, 또 다른 관점에 따라, 각 클라이언트로부터의 요청에 의거하여 새롭게 생성되는 HTTP 연결들로 연결 풀(connection pool)을 구성하는 연결 풀 구성부와, 클라이언트로부터 HTTP 요청이 수신될 때, 상기 연결 풀을 탐색하여 재사용 가능 HTTP 연결의 존재 여부를 검출하는 연결 관리부와, 상기 재사용 가능 HTTP 연결이 검출될 때, 해당 HTTP 연결을 이용하여 상기 HTTP 요청을 처리하는 연결 요청 처리부와, 상기 재사용 가능 HTTP 연결이 검출되지 않을 때, 상기 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 지를 체크하여 상기 기 설정된 기준 연결 수보다 작을 때, 신규 HTTP 연결을 생성하여 상기 연결 요청 처리부에 상기 HTTP 요청의 처리를 지령하는 연결 요청 지원부와, 상기 연결 풀 내 각 HTTP 연결에 대해 연결 지속 시간을 각각 카운트하고, 연결 지속 시간의 카운트 값이 기 설정된 유지 체크 시간에 도달할 때 해당 HTTP 연결을 유지 대상 HTTP 연결로 검출하는 연결 시간 관리부와, 상기 유지 대상 HTTP 연결이 검출될 때 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 유지 대상 HTTP 연결을 유지시키는 연결 유지 제어부를 포함하는 더미 HTTP를 이용한 연결 관리 장치를 제공한다.
본 발명의 상기 장치는, 각 클라이언트로부터 전달되는 HTTP 요청들의 발생 빈도에 대한 분석 결과에 의거하여, 상기 기 설정된 기준 연결 수를 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절하는 연결 수 적응 관리부를 더 포함할 수 있다.
본 발명의 상기 장치는, 상기 웹 응용 서버에서의 연결 요청 부하 상태에 따라 상기 기 설정된 기준 연결 수를 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절하는 연결 수 적응 관리부를 더 포함할 수 있다.
본 발명의 상기 장치는, 상기 다수의 HTTP 연결들이 상기 기 설정된 기준 연결 수와 같을 때 상기 HTTP 요청을 대기 큐로 대기시키고, 상기 다수의 HTTP 연결들 중 어느 하나가 반환되어 재사용 가능할 때, 상기 연결 요청 처리부에 대기 중인 상기 HTTP 요청의 처리를 지령하는 큐 관리 제어부를 더 포함할 수 있다.
본 발명의 상기 연결 시간 관리부는, 상기 더미 HTTP 응답이 수신될 때, 상기 유지 대상 HTTP 연결에 대해 모니터링한 연결 지속 시간을 초기화시킬 수 있다.
본 발명의 상기 기 설정된 유지 체크 시간은, 상기 웹 응용 서버의 킵 어라이브(keep-alive) 시간보다 적게 설정될 수 있다.
본 발명의 상기 장치는, HTTP 응답의 헤더로부터 상기 킵 어라이브(keep-alive) 시간을 획득하고, 이 획득된 킵 어라이브 시간을 상기 연결 시간 관리부에 제공하는 체크 시간 획득부를 더 포함할 수 있다.
본 발명의 상기 장치는, 상기 웹 응용 서버와의 처음 HTTP 연결이 상기 킵 어라이브(keep-alive) 시간으로 인해 끊어지는 시간을 체크하는 방식으로 상기 킵 어라이브(keep-alive) 시간을 획득하고, 이 획득된 킵 어라이브 시간을 상기 연결 시간 관리부에 제공하는 체크 시간 획득부를 더 포함할 수 있다.
본 발명의 상기 연결 유지 제어부는, HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드를 상기 더미 HTTP 요청으로 생성할 수 있다.
본 발명은 웹 서버와 웹 응용 서버 간에 생성된 HTTP 연결에 대해 웹 서버가 일정 주기로 더미 HTTP 요청 및 응답을 웹 응용 서버와 주고받는 방식으로 기 생성되어 있는 HTTP 연결을 지속적으로 유지시켜 재사용할 수 있도록 함으로써, 다음과 같은 효과를 얻을 수 있다.
첫째, 클라이언트로부터 요청을 받을 때마다 웹 서버가 웹 응용 서버와 HTTP 연결을 새롭게 맺고 끊어야 하는 오버헤드(overhead)를 줄일 수 있다.
둘째, HTTP 연결을 재사용함으로 각 클라이언트들에게 빠른 처리 속도를 보장할 수 있다.
셋째, HTTP 연결들에 대한 연결 풀(connection pool)을 구성하고 HTTP 연결 및 요청을 조절함으로써 자원을 효율적으로 관리하면서 동시에 웹 응용 서버의 부담을 줄여 부하 조절을 할 수 있다.
도 1은 본 발명에 따라 더미 HTTP를 이용하여 연결을 관리하는 기법을 적용하는데 적합한 네트워크 시스템의 구성도이다.
도 2는 본 발명의 실시 예에 따른 더미 HTTP를 이용한 연결 관리 장치의 블록 구성도이다.
도 3은 본 발명의 실시 예에 따라 더미 HTTP를 이용하여 연결을 관리하는 주요 과정을 도시한 순서도이다.
도 4는 본 발명의 확장 실시 예에 따른 더미 HTTP를 이용한 연결 관리 장치의 블록 구성도이다.
도 5는 본 발명의 확장 실시 예에 따라 더미 HTTP를 이용하여 연결을 관리하는 주요 과정을 도시한 순서도이다.
도 6은 본 발명의 확장 실시 예에 따라 더미 HTTP를 이용하여 기 생성된 HTTP 연결을 지속적으로 유지시키는 주요 과정을 도시한 순서도이다.
도 7은 본 발명의 확장 실시 예에 따라 네트워크의 환경 분석 결과에 의거하여 연결 풀을 구성하는 기준 연결의 개수를 가변적으로 조절하는 주요 과정을 도시한 순서도이다.
도 2는 본 발명의 실시 예에 따른 더미 HTTP를 이용한 연결 관리 장치의 블록 구성도이다.
도 3은 본 발명의 실시 예에 따라 더미 HTTP를 이용하여 연결을 관리하는 주요 과정을 도시한 순서도이다.
도 4는 본 발명의 확장 실시 예에 따른 더미 HTTP를 이용한 연결 관리 장치의 블록 구성도이다.
도 5는 본 발명의 확장 실시 예에 따라 더미 HTTP를 이용하여 연결을 관리하는 주요 과정을 도시한 순서도이다.
도 6은 본 발명의 확장 실시 예에 따라 더미 HTTP를 이용하여 기 생성된 HTTP 연결을 지속적으로 유지시키는 주요 과정을 도시한 순서도이다.
도 7은 본 발명의 확장 실시 예에 따라 네트워크의 환경 분석 결과에 의거하여 연결 풀을 구성하는 기준 연결의 개수를 가변적으로 조절하는 주요 과정을 도시한 순서도이다.
먼저, 본 발명의 장점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시 예들을 참조하면 명확해질 것이다. 여기에서, 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 발명의 범주를 명확하게 이해할 수 있도록 하기 위해 예시적으로 제공되는 것이므로, 본 발명의 기술적 범위는 청구항들에 의해 정의되어야 할 것이다.
아울러, 아래의 본 발명을 설명함에 있어서 공지 기능 또는 구성 등에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들인 것으로, 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있음은 물론이다. 그러므로, 그 정의는 본 명세서의 전반에 걸쳐 기술되는 기술 사상을 토대로 이루어져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명에 따라 더미 HTTP를 이용하여 연결을 관리하는 기법을 적용하는데 적합한 네트워크 시스템의 구성도로서, 클라이언트(110), 웹 서버(120) 및 웹 응용 서버(web application server)(130) 등을 포함할 수 있다.
도 1을 참조하면, 클라이언트(110)는 ,예컨대 휴대폰, 스마트폰, PMP, 스마트패드, 스마트북, 태블릿 PC, 넷북, 노트북 등과 같은 휴대 단말을 의미하거나 혹은 인터넷 접속 수단 등을 구비하여 네트워크를 통해 웹 서버(120)에 접속 가능한 유선 통신 단말(예컨대, 데스크 탑 컴퓨터, 노트북 컴퓨터, 태블릿 PC, 넷북 등) 등을 의미할 수 있다. 여기에서, 설명의 편의와 이해의 증진을 위해 단지 하나의 클라이언트만을 도시하였으나, 실질적으로는 불특정 다수의 클라이언트가 네트워크(도시 생략)를 통해 웹 서버(120)로 접속하는 구조를 가질 수 있다.
다음에, 웹 서버(120)는, 예컨대 각 클라이언트들에게 프락시 기능을 제공할 수 있는 프락시 서버(proxy server) 또는 리버스 프락시 서버(reverse proxy server) 등을 의미할 수 있는 것으로, 웹 응용 서버(130)와의 통신(예컨대, HTTP 요청 및 응답의 교신 등)을 통해 본 발명에 따른 더미 HTTP를 이용한 연결 관리 서비스를 제공할 수 있는데, 이를 위해, 웹 서버(120)는, 일례로서 도 2에 도시된 바와 같은 구성을 가질 수 있다.
도 2는 본 발명의 실시 예에 따른 더미 HTTP를 이용한 연결 관리 장치의 블록 구성도로서, 연결 요청 처리부(202), 연결 응답 처리부(204), 연결 시간 모니터링부(206), 연결 유지 제어부(208), 지속 시간 관리부(210) 및 체크 시간 획득부(212) 등을 포함할 수 있다.
도 2를 참조하면, 연결 요청 처리부(202)는 네트워크(유선 네트워크 또는 유/무선 네트워크)를 통해 도 1의 클라이언트(110)로부터 HTTP 요청(또는 HTTPS 요청)이 수신될 때 웹 응용 서버(130)와 HTTP 연결(또는 HTTPS 연결)을 맺고(HTTP 연결의 생성), 이후 생성된 HTTP 연결을 이용하여 HTTP 요청을 웹 응용 서버(130)로 전송하는 등의 기능을 제공할 수 있다. 또한, 연결 요청 처리부(202)는 HTTP 연결을 생성한 후 이를 후술하는 연결 시간 모니터링부(206)로 통지하는 등의 기능을 제공할 수 있다.
이때, 웹 응용 서버(130)에서는 HTTP 연결을 통해 웹 서버(예컨대, 프락시 서버 또는 리버스 프락시 서버)로부터 HTTP 요청이 수신될 때, 수신된 HTTP 요청에 대응하는 HTTP 응답(또는 HTTPS 응답)을 생성하여 네트워크를 통해 웹 서버(120)로 전달(전송)한다.
다음에, 연결 응답 처리부(204)는 웹 서버(120)가 전송한 HTTP 요청에 대응하여 웹 응용 서버(130)로부터 전달되는 HTTP 응답을 수신하고, 이 수신된 HTTP 응답을 클라이언트(110)에게 전송하는 등의 기능을 제공할 수 있다.
그리고, 연결 시간 모니터링부(206)는 연결 요청 처리부(202)로부터 HTTP 연결에 대한 생성이 통지될 때 웹 서버(120)와 웹 응용 서버(130)간의 연결 지속 시간을 카운트하고, 그 카운트 값(즉, 연결 지속 시간의 카운트 값)을 연결 유지 제어부(208)로 전달하는 등의 기능을 제공할 수 있다.
또한, 연결 유지 제어부(208)는 연결 시간 모니터링부(206)로부터 연결 지속 시간의 카운트 값이 전달될 때 기 설정된 유지 체크 시간과의 비교를 수행하고, 연결 지속 시간이 기 설정된 유지 체크 시간에 도달한 것으로 판단될 때, 더미 HTTP 요청(또는 더미 HTTPS 요청)을 생성하여 웹 응용 서버(130)로 전송(웹 응용 서버에 대한 호출)하고, 이에 응답하여 웹 응용 서버(130)로부터 더미 HTTP 응답(또는 더미 HTTPS 응답)이 수신될 때 기 생성된 HTTP 연결을 지속적으로 유지(기 생성된 HTTP 연결에 대한 능동적인 유지 관리)시키는 등의 기능을 제공할 수 있다.
여기에서, 기 설정된 유지 체크 시간은 후술하는 체크 시간 획득부(212)로부터 제공되는 킵 어라이브(keep-alive) 시간에 의거하여 자동 설정될 수 있으며, 웹 응용 서버(130)에서의 웹 서버(120)에 대한 킵 어라이브 시간보다 적게 설정될 수 있다. 물론, 웹 서버와 웹 응용 서버가 동일 관리자에 의해 운영되는 시스템 환경일 경우, 유지 체크 시간은 운영자의 조작을 통해 수동으로 설정될 수도 있다.
그리고, 기 생성된 HTTP 연결의 지속적인 유지를 위해 웹 응용 서버(130)로 전송되는 더미 HTTP 요청은, 예컨대 HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드가 이용될 수 있는데, 이것은 응답의 최소화를 위해서이다. 여기에서, 응답을 최소화한다는 것은 더미 HTTP 요청에 대한 응답으로 HTTP 바디(body)를 받지 않아도 되기 때문에 더미 트래픽의 크기가 최소화된다는 것을 의미할 수 있다.
또한, 연결 유지 제어부(208)는 웹 응용 서버(130)로부터 더미 HTTP 응답이 수신될 때 이를 지속 시간 관리부(210)로 통지하는 등의 기능을 제공할 수 있다.
다음에, 지속 시간 관리부(210)는 연결 유지 제어부(208)로부터 더미 HTTP 응답에 대한 수신이 통지될 때, 연결 시간 모니터링부(206)에 의해 카운트되고 있는 해당 HTTP 연결의 카운트 값, 즉 연결 지속 시간에 대한 카운트 값을 초기화시키고, 다시 해당 HTTP 연결의 지속적인 유지 관리를 위해 새로운 카운트를 개시하도록 연결 시간 모니터링부(206)로 지령하는 등의 기능을 제공할 수 있다.
그리고, 체크 시간 획득부(212)는 킵 어라이브(keep-alive) 시간을 획득하여 연결 유지 제어부(208)에 전달하는 등의 기능을 제공할 수 있는데, 이러한 킵 어라이브 시간은 HTTP 응답의 헤더로부터 획득되거나 혹은 웹 서버(120)와 웹 응용 서버(130)간의 처음 HTTP 연결이 킵 어라이브 시간으로 인해 끊어지는 시간을 체크하는 방식으로 획득될 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 실시 예의 연결 관리 장치를 이용하여 더미 HTTP를 이용하여 HTTP 연결을 지속적으로 유지 관리하는 일련의 과정들에 대하여 상세하게 설명한다.
도 3은 본 발명의 실시 예에 따라 더미 HTTP를 이용하여 연결을 관리하는 주요 과정을 도시한 순서도이다.
도 3을 참조하면, 클라이언트(110)로부터 HTTP 요청(또는 HTTPS 요청)이 수신되면(단계 302), 연결 요청 처리부(202)에서는 웹 응용 서버(130)와 HTTP 연결(또는 HTTPS 연결)을 맺은 후(HTTP 연결의 생성), 생성된 HTTP 연결을 이용하여 HTTP 요청(또는 HTTPS 요청)을 웹 응용 서버(130)로 전송한다(단계 304).
그에 따라, 웹 응용 서버(130)에서는 웹 서버(120)로부터 전달된 HTTP 요청에 대응하는 HTTP 응답(또는 HTTPS 응답)을 생성하여 네트워크를 통해 해당 웹 서버(120)로 전달(전송)하며, 이에 응답하여 연결 응답 처리부(204)에서는 수신된 HTTP 응답을 클라이언트(110)에게 전송한다(단계 306).
그리고, 연결 시간 모니터링부(206)에서는 연결 요청 처리부(202)로부터 전달되는 HTTP 연결 생성의 통지에 따라 웹 서버(120)와 웹 응용 서버(130)간의 연결 지속 시간을 카운트한다(단계 308). 여기에서, 얻어지는 연결 지속 시간의 카운트 값은 연결 유지 제어부(208)로 전달된다.
다음에, 연결 유지 제어부(208)에서는 연결 지속 시간의 카운트 값과 기 설정된 유지 체크 시간을 비교하는데(단계 310), 비교 결과 연결 지속 시간의 카운트 값이 기 설정된 유지 체크 시간에 도달한 것으로 판단되면, 연결 유지 제어부(208)에서는 더미 HTTP 요청(또는 더미 HTTPS 요청)을 생성하여 네트워크를 통해 웹 응용 서버(130)로 전송한다(단계 312). 여기에서, 더미 HTTP 요청은, 예컨대 HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드가 이용될 수 있다.
이후, 웹 응용 서버(130)로부터 더미 HTTP 요청에 대응하는 더미 HTTP 응답이 수신되면(단계 314), 연결 유지 제어부(208)에서는 더미 HTTP 응답의 수신을 지속 시간 관리부(210)로 통지한다.
그 결과, 지속 시간 관리부(210)에서는 연결 시간 모니터링부(206)에 의해 카운트되고 있는 해당 HTTP 연결의 카운트 값, 즉 연결 지속 시간에 대한 카운트 값을 초기화시키며(단계 316), 해당 HTTP 연결의 지속적인 유지 관리를 위해 새로운 카운트를 개시하도록 연결 시간 모니터링부(206)로 지령하며, 연결 시간 모니터링부(206)에서는 해당 HTTP 연결에 대한 새로운 카운트를 개시하게 된다.
한편, 본 발명에 따르면, 웹 서버에서는 각 클라이언트로부터의 요청에 따라 생성되는 다수의 HTTP 연결들을 연결 풀로 구성하여 지속적으로 유지 관리할 수 있는데, 이에 대해서는 첨부된 도 4 내지 도 7을 참조하여 상세하게 기술한다.
도 4는 본 발명의 확장 실시 예에 따른 더미 HTTP를 이용한 연결 관리 장치의 블록 구성도로서, 연결 풀 구성부(402), 연결 관리부(404), 연결 요청 처리부(406), 연결 요청 지원부(408), 연결 시간 관리부(410), 연결 유지 제어부(412), 연결 수 적응 관리부(414), 큐 관리 제어부(416) 및 체크 시간 획득부(418) 등을 포함할 수 있다.
도 4를 참조하면, 연결 풀 구성부(402)는 클라이언트로부터의 요청에 따라 새롭게 생성되는 HTTP 연결들로 연결 풀(connection pool)을 구성하여 관리하는 등의 기능을 제공할 수 있다.
또한, 연결 관리부(404)는 클라이언트(110)로부터 HTTP 요청(또는 HTTPS 요청)이 수신될 때, 다수의 HTTP 연결들(또는 다수의 HTTPS 연결들)로 구성된 연결 풀을 탐색하여 재사용 가능 HTTP 연결의 존재 여부를 검출하고, 재사용 가능 HTTP 연결이 검출될 때 이를 연결 요청 처리부(406)로 전달하며, 재사용 가능 HTTP 연결이 검출되지 않을 때 이를 연결 요청 지원부(408)로 통지하는 등의 기능을 제공할 수 있다. 여기에서, 연결 풀은, 예컨대 수십 내지 수백 개의 HTTP 연결들로 구성될 수 있다.
다음에, 연결 요청 처리부(406)는 연결 관리부(404)로부터 재사용 가능 HTTP 연결이 전달될 때, 재사용 가능의 해당 HTTP 연결을 이용하여 HTTP 요청을 처리하고, HTTP 요청을 처리한 후 해당 HTTP 연결을 연결 풀로 반환하는 등의 기능을 제공할 수 있다. 여기에서, HTTP 요청의 처리라 함은 HTTP 요청과 HTTP 응답을 웹 응용 서버(130)와 주고받고(교신), 웹 응용 서버(130)로부터 전달받은 HTTP 응답을 클라이언트(110)에게 전송하는 일련의 처리 과정들을 의미할 수 있다.
그리고, 연결 요청 지원부(408)는 연결 관리부(404)로부터 재사용 가능 HTTP 연결이 존재하지 않음이 통지될 때, 연결 풀을 구성하는 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 지를 체크하고, 체크 결과 연결 풀을 구성하는 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 것으로 판단될 때, 신규 HTTP 연결을 생성한 후 이를 연결 요청 처리부(406)에 전달하여 클라이언트로부터의 HTTP 요청을 처리하도록 지령하는 등의 기능을 제공할 수 있다.
또한, 연결 요청 지원부(408)는 연결 풀을 구성하는 다수의 HTTP 연결들이 기 설정된 기준 연결 수와 동일한 것으로 판단, 즉 연결 풀로 구성되어 관리되는 모든 HTTP 연결이 사용 중인 것으로 판단될 때, 이를 후술하는 큐 관리 제어부(416)로 통지하는 등의 기능을 제공할 수 있다.
한편, 연결 시간 관리부(410)는 연결 풀을 구성하는 각 HTTP 연결에 대해 연결 지속 시간(웹 서버(120)와 웹 응용 서버(130)간의 연결 지속 시간)을 각각 모니터링(연결 지속 시간의 카운트)하고, 연결 지속 시간의 카운트 값이 기 설정된 유지 체크 시간에 도달할 때 해당 HTTP 연결을 유지 대상 HTTP 연결로 검출하여 후술하는 연결 유지 제어부(412)로 통지하는 등의 기능을 제공할 수 있다.
여기에서, 기 설정된 유지 체크 시간은, 도 2의 실시 예에서와 동일하게, 체크 시간 획득부(418)로부터 제공되는 킵 어라이브 시간에 의거하여 자동 설정될 수 있다. 그리고, 유지 체크 시간은 웹 응용 서버(130)에서의 웹 서버(120)에 대한 킵 어라이브 시간보다 적게 설정될 수 있다.
또한, 연결 시간 관리부(410)는 연결 유지 제어부(412)로부터 더미 HTTP 응답에 대한 수신이 통지될 때, 해당 유지 대상 HTTP 연결에 대해 모니터링한 연결 지속 시간의 카운트 값을 초기화시킨 후 처음부터 다시 카운트하는 등의 기능을 제공할 수 있다.
다음에, 연결 유지 제어부(412)는 연결 시간 관리부(410)로부터 유지 대상 HTTP 연결의 검출이 통지될 때 웹 응용 서버(130)와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 유지 대상 HTTP 연결을 지속적으로 유지(기 생성된 HTTP 연결에 대한 능동적인 유지 관리)시키는 등의 기능을 제공할 수 있다. 여기에서, 더미 HTTP 요청은, 예컨대 HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드가 이용될 수 있다.
또한, 연결 유지 제어부(412)는 더미 HTTP 요청에 대응하는 더미 HTTP 응답이 웹 응용 서버(130)로부터 수신될 때 이를 연결 시간 관리부(410)로 통지하는 등의 기능을 제공할 수 있다.
그리고, 연결 수 적응 관리부(414)는 각 클라이언트로부터 전달되는 HTTP 요청들의 발생 빈도에 대한 분석 결과에 의거하여 기 설정된 기준 연결 수를 기 설정된 최대 개수 범위(예컨대, 200개, 300개 등)와 최소 개수 범위(예컨대, 10개, 20개 등) 사이에서 가변적으로 조절하거나 혹은 웹 응용 서버(130)에서의 연결 요청 부하 상태에 따라 기 설정된 기준 연결 수를 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절하는 등의 기능을 제공할 수 있다.
즉, 연결 수 적응 관리부(414)는 네트워크 환경 또는 웹 응용 서버(130)의 부하 등에 따라 기준 연결 수를 적응적으로 증감(기준 연결 수의 동적 유지 관리)시킬 수 있는데, 여기에서 증감되는 기준 연결 수 정보는 연결 요청을 지원하기 위한 정보로서 연결 요청 지원부(408)로 전달된다. 예컨대, 상대적으로 많은 양의 트래픽이 발생하는 시간대 혹은 기간에는 상대적으로 많은 기준 연결 수가 되도록 적응 조절하고, 상대적으로 적은 양의 트래픽이 발생하는 시간대 혹은 기간에는 상대적으로 작은 기준 연결 수가 되도록 적응 조절하도록 관리할 수 있다.
다음에, 큐 관리 제어부(416)는 연결 풀로 구성되어 관리되는 다수의 HTTP 연결들이 기 설정된 기준 연결 수와 동일, 즉 연결 풀로 구성되어 관리되는 모든 HTTP 연결이 사용 중인 것으로 연결 요청 지원부(408)로부터 통지될 때, 클라이언트(110)로부터 수신한 해당 HTTP 요청을 대기 큐로 대기시킨 후 연결 풀을 모니터링하는데, 다수의 HTTP 연결들 중 어느 하나가 반환될 때 이를 연결 요청 처리부(406)로 통지하여 반환된 HTTP 연결을 이용하여 대기 중인 HTTP 요청을 처리하도록 지령하는 등의 기능을 제공할 수 있다.
또한, 체크 시간 획득부(418)는 킵 어라이브 시간을 획득하여 연결 시간 관리부(410)에 전달하는 등의 기능을 제공할 수 있는데, 이러한 킵 어라이브 시간은 HTTP 응답의 헤더로부터 획득되거나 혹은 웹 서버(120)와 웹 응용 서버(130)간의 처음 HTTP 연결이 킵 어라이브 시간으로 인해 끊어지는 시간을 체크하는 방식으로 획득될 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 본 확장 실시 예의 연결 관리 장치를 이용하여 더미 HTTP를 이용하여 HTTP 연결을 지속적으로 유지 관리하는 일련의 과정들에 대하여 상세하게 설명한다.
도 5는 본 발명의 확장 실시 예에 따라 더미 HTTP를 이용하여 연결을 관리하는 주요 과정을 도시한 순서도이다.
도 5를 참조하면, 연결 풀 구성부(402)에서는 클라이언트로부터의 요청에 따라 새롭게 생성되는 HTTP 연결들로 연결 풀(connection pool)을 구성하여 관리한다(단계 502). 여기에서, 연결 풀로 구성되어 관리되는 HTTP 연결들은 기 설정된 기준 연결 수의 범위 이내로 관리될 수 있는데, 이에 대해서는 도 7을 참조하여 후에 상세하게 기술될 것이다.
상술한 바와 같이, 다수의 HTTP 연결들을 포함하는 연결 풀이 구성된 상황에서 클라이언트(110)로부터 HTTP 요청이 수신되면(단계 504), 연결 관리부(404)에서는 다수의 HTTP 연결들(또는 다수의 HTTPS 연결들)로 구성된 연결 풀을 탐색함으로써(단계 506), 재사용 가능 HTTP 연결이 연결 풀에 존재하는지의 여부를 검출한다(단계 508).
상기 단계(508)에서의 검출 결과, 재사용 가능 HTTP 연결이 연결 풀에 존재하는 것으로 검출되면, 연결 요청 처리부(406)에서는 재사용 가능 HTTP 연결을 이용하여 HTTP 요청을 처리하고(단계 510), 이후 HTTP 요청의 처리에 이용된 HTTP 연결을 연결 풀로 반환한다(단계 512).
상기 단계(508)에서의 검출 결과, 재사용 가능 HTTP 연결이 연결 풀에 존재하지 않는 것으로 판단되면, 연결 요청 지원부(408)에서는 연결 풀을 구성하는 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 지의 여부를 체크한다(단계 514).
상기 단계(514)에서의 체크 결과, 연결 풀을 구성하는 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 것으로 판단되면, 연결 요청 지원부(408)에서는 신규 HTTP 연결을 생성하여 연결 요청 처리부(406)로 전달한다(단계 516).
따라서, 연결 요청 처리부(406)에서는 신규 HTTP 연결을 이용하여 HTTP 요청을 처리하고(단계 518), 이후 HTTP 요청의 처리에 이용된 신규 HTTP 연결을 연결 풀로 반환한다(단계 520).
상기 단계(514)에서의 체크 결과, 연결 풀을 구성하는 다수의 HTTP 연결들이 기 설정된 기준 연결 수와 동일, 즉 모든 HTTP 연결들이 사용 중인 것으로 판단되면, 큐 관리 제어부(416)에서는 클라이언트(110)로부터 수신한 해당 HTTP 요청을 대기 큐로 대기시킨 후(단계 522), 연결 풀로 반환되는 HTTP 연결이 발생하는 지의 여부를 모니터링한다(단계 524).
상기 단계(524)에서의 모니터링 결과, 반환되는 HTTP 연결이 검출될 때 이를 연결 요청 처리부(406)로 통지하며, 그 결과 연결 요청 처리부(406)에서는 반환된 HTTP 연결을 이용하여 HTTP 요청을 처리하고(단계 526), 이후 HTTP 요청의 처리에 이용된 해당 HTTP 연결을 연결 풀로 재 반환한다(단계 528).
도 6은 본 발명의 확장 실시 예에 따라 더미 HTTP를 이용하여 기 생성된 HTTP 연결을 지속적으로 유지시키는 주요 과정을 도시한 순서도이다.
도 6을 참조하면, 연결 시간 관리부(410)에서는 연결 풀을 구성하는 각 HTTP 연결에 대해 연결 지속 시간을 각각 모니터링(연결 지속 시간의 카운트)하고(단계 602), 이러한 모니터링을 통해 연결 지속 시간의 카운트 값이 기 설정된 유지 체크 시간에 도달한 HTTP 연결, 즉 유지 대상 HTTP 연결의 발생(검출) 여부를 체크한다(단계 604).
상기 단계(604)에서의 체크 결과, 유지 대상 HTTP 연결이 발생된 것으로 판단되면, 연결 유지 제어부(412)에서는 더미 HTTP 요청을 생성하여 네트워크를 통해 웹 응용 서버(130)로 전송한다(단계 606). 여기에서, 더미 HTTP 요청은, 예컨대 HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드가 이용될 수 있다.
이후, 웹 응용 서버(130)로부터 더미 HTTP 요청에 대응하는 더미 HTTP 응답이 수신되면(단계 608), 연결 유지 제어부(412)에서는 더미 HTTP 응답의 수신을 연결 시간 관리부(410)로 통지한다.
그 결과, 연결 시간 관리부(410)에서는 해당 HTTP 연결의 카운트 값, 즉 연결 지속 시간에 대한 카운트 값을 초기화시키며(단계 610), 해당 HTTP 연결의 지속적인 유지 관리를 위해 해당 HTTP 연결에 대한 새로운 카운트를 개시한다.
도 7은 본 발명의 확장 실시 예에 따라 네트워크의 환경 분석 결과에 의거하여 연결 풀을 구성하는 기준 연결의 개수를 가변적으로 조절하는 주요 과정을 도시한 순서도이다.
도 7을 참조하면, 다수의 HTTP 연결들로 연결 풀이 구성되어 지속적으로 유지 관리되는 동안에, 연결 수 적응 관리부(414)에서는 네트워크의 환경을 분석(예컨대, 각 클라이언트로부터 전달되는 HTTP 요청들의 발생 빈도에 대한 분석, 웹 응용 서버에서의 연결 요청 부하 상태 분석 등)한다(단계 702).
상기 단계(702)에서의 분석 결과를 통해 기준 연결 수를 증가시킬 것인지(증가 반영) 혹은 감소시킬 것인지(감소 반영)의 여부를 체크한다(단계 704, 706). 여기에서, 기준 연결 수는 기 설정된 최대 개수 범위(예컨대, 200개, 300개 등)와 최소 개수 범위(예컨대, 10개, 20개 등) 사이에서 가변적으로 조절될 수 있다.
상기 단계(704)에서의 체크 결과, 기준 연결 수의 증가 반영으로 판단되면, 연결 수 적응 관리부(414)에서는 기준 연결 수를 증가시키며(단계 708), 이 증가된 기준 연결 수 정보를 연결 요청 지원부(408)로 통지한다. 그 결과, 연결 요청 지원부(408)에서는 증가된 기준 연결 수에 의거하여 신규 HTTP 연결의 생성 여부 등을 판단하게 될 것이다.
상기 단계(706)에서의 체크 결과, 기준 연결 수의 감소 반영으로 판단되면, 연결 수 적응 관리부(414)에서는 기준 연결 수를 감소시키며(단계 710), 이 감소된 기준 연결 수 정보를 연결 요청 지원부(408)로 통지한다. 그 결과, 연결 요청 지원부(408)에서는 감소된 기준 연결 수에 의거하여 신규 HTTP 연결의 생성 여부 등을 판단하게 될 것이다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 등이 가능함을 쉽게 알 수 있을 것이다. 즉, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것으로서, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호 범위는 후술되는 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
202, 406 : 연결 요청 처리부 204 : 연결 응답 처리부
206 : 연결 시간 모니터링부 208, 412 : 연결 유지 제어부
210 : 지속 시간 관리부 212, 418 : 체크 시간 획득부
402 : 연결 풀 구성부 404 : 연결 관리부
408 : 연결 요청 지원부 410 : 연결 시간 관리부
414 : 연결 수 적응 관리부 416 : 큐 관리 제어부
206 : 연결 시간 모니터링부 208, 412 : 연결 유지 제어부
210 : 지속 시간 관리부 212, 418 : 체크 시간 획득부
402 : 연결 풀 구성부 404 : 연결 관리부
408 : 연결 요청 지원부 410 : 연결 시간 관리부
414 : 연결 수 적응 관리부 416 : 큐 관리 제어부
Claims (30)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 웹 서버와 웹 응용 서버 간에 주고받는 HTTP 요청 및 응답에 의거하여 생성되는 다수의 HTTP 연결들을 연결 풀(connection pool)로 구성하는 제 1 과정과,
클라이언트로부터 HTTP 요청이 수신될 때, 상기 연결 풀을 탐색하여 재사용 가능 HTTP 연결이 존재하는 지의 여부를 체크하는 제 2 과정과,
상기 재사용 가능 HTTP 연결이 존재할 때, 해당 HTTP 연결을 이용하여 상기 HTTP 요청을 처리한 후 상기 연결 풀에 반환하는 제 3 과정과,
상기 재사용 가능 HTTP 연결이 존재하지 않을 때, 상기 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 지 또는 동일한 지의 여부를 체크하는 제 4 과정과,
상기 기 설정된 기준 연결 수보다 작을 때, 신규 HTTP 연결을 생성하여 상기 HTTP 요청을 처리한 후 신규 HTTP 연결을 상기 연결 풀로 반환하는 제 5 과정과,
상기 기 설정된 기준 연결 수와 같을 때 상기 HTTP 요청을 대기 큐로 대기시키는 제 6 과정과,
상기 다수의 HTTP 연결들 중 어느 하나가 반환되어 재사용 가능할 때, 반환된 HTTP 연결을 이용하여 대기 중인 상기 HTTP 요청을 처리하는 제 7 과정과,
상기 제 2 과정 내지 제 7 과정 중 어느 한 과정을 수행하는 중, 상기 연결 풀을 구성하는 각 HTTP 연결에 대해 연결 지속 시간을 각각 모니터링하는 제 8 과정과,
상기 모니터링을 통해 기 설정된 유지 체크 시간에 도달한 유지 대상 HTTP 연결이 검출될 때, 상기 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 유지 대상 HTTP 연결을 유지시키는 제 9 과정
을 포함하는 더미 HTTP를 이용한 연결 관리 방법.
- 제 13 항에 있어서,
상기 기 설정된 기준 연결 수는,
각 클라이언트로부터 전달되는 HTTP 요청들의 발생 빈도에 대한 분석 결과에 의거하여 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절되는
더미 HTTP를 이용한 연결 관리 방법.
- 제 13 항에 있어서,
상기 기 설정된 기준 연결 수는,
상기 웹 응용 서버에서의 요청 처리 부하 상태에 따라 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절되는
더미 HTTP를 이용한 연결 관리 방법.
- 삭제
- 제 13 항에 있어서,
상기 방법은,
상기 더미 HTTP 응답이 수신될 때, 상기 유지 대상 HTTP 연결에 대해 모니터링한 연결 지속 시간을 초기화시키는 과정
을 더 포함하는 더미 HTTP를 이용한 연결 관리 방법.
- 제 13 항에 있어서,
상기 기 설정된 유지 체크 시간은,
상기 웹 응용 서버의 킵 어라이브(keep-alive) 시간보다 적게 설정되는
더미 HTTP를 이용한 연결 관리 방법.
- 제 18 항에 있어서,
상기 킵 어라이브(keep-alive) 시간은,
HTTP 응답의 헤더로부터 획득되는
더미 HTTP를 이용한 연결 관리 방법.
- 제 18 항에 있어서,
상기 킵 어라이브(keep-alive) 시간은,
상기 웹 서버와 웹 응용 서버간의 처음 HTTP 연결이 상기 킵 어라이브(keep-alive) 시간으로 인해 끊어지는 시간을 체크하는 방식으로 획득되는
더미 HTTP를 이용한 연결 관리 방법.
- 제 13 항에 있어서,
상기 더미 HTTP 요청은,
HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드인
더미 HTTP를 이용한 연결 관리 방법.
- 각 클라이언트로부터의 요청에 의거하여 새롭게 생성되는 HTTP 연결들로 연결 풀(connection pool)을 구성하는 연결 풀 구성부와,
클라이언트로부터 HTTP 요청이 수신될 때, 상기 연결 풀을 탐색하여 재사용 가능 HTTP 연결의 존재 여부를 검출하는 연결 관리부와,
상기 재사용 가능 HTTP 연결이 검출될 때, 해당 HTTP 연결을 이용하여 상기 HTTP 요청을 처리하는 연결 요청 처리부와,
상기 재사용 가능 HTTP 연결이 검출되지 않을 때, 상기 다수의 HTTP 연결들이 기 설정된 기준 연결 수보다 작은 지를 체크하여 상기 기 설정된 기준 연결 수보다 작을 때, 신규 HTTP 연결을 생성하여 상기 연결 요청 처리부에 상기 HTTP 요청의 처리를 지령하는 연결 요청 지원부와,
상기 연결 풀 내 각 HTTP 연결에 대해 연결 지속 시간을 각각 카운트하고, 연결 지속 시간의 카운트 값이 기 설정된 유지 체크 시간에 도달할 때 해당 HTTP 연결을 유지 대상 HTTP 연결로 검출하는 연결 시간 관리부와,
상기 유지 대상 HTTP 연결이 검출될 때 웹 응용 서버와 더미 HTTP 요청 및 더미 HTTP 응답을 주고받음으로써 상기 유지 대상 HTTP 연결을 유지시키는 연결 유지 제어부와,
상기 다수의 HTTP 연결들이 상기 기 설정된 기준 연결 수와 같을 때 상기 HTTP 요청을 대기 큐로 대기시키고, 상기 다수의 HTTP 연결들 중 어느 하나가 반환되어 재사용 가능할 때, 상기 연결 요청 처리부에 대기 중인 상기 HTTP 요청의 처리를 지령하는 큐 관리 제어부
를 포함하는 더미 HTTP를 이용한 연결 관리 장치.
- 제 22 항에 있어서,
상기 장치는,
각 클라이언트로부터 전달되는 HTTP 요청들의 발생 빈도에 대한 분석 결과에 의거하여, 상기 기 설정된 기준 연결 수를 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절하는 연결 수 적응 관리부
를 더 포함하는 더미 HTTP를 이용한 연결 관리 장치.
- 제 22 항에 있어서,
상기 장치는,
상기 웹 응용 서버에서의 연결 요청 부하 상태에 따라 상기 기 설정된 기준 연결 수를 기 설정된 최대 개수 범위와 최소 개수 범위 사이에서 가변적으로 조절하는 연결 수 적응 관리부
를 더 포함하는 더미 HTTP를 이용한 연결 관리 장치.
- 삭제
- 제 22 항에 있어서,
상기 연결 시간 관리부는,
상기 더미 HTTP 응답이 수신될 때, 상기 유지 대상 HTTP 연결에 대해 모니터링한 연결 지속 시간을 초기화시키는
더미 HTTP를 이용한 연결 관리 장치.
- 제 22 항에 있어서,
상기 기 설정된 유지 체크 시간은,
상기 웹 응용 서버의 킵 어라이브(keep-alive) 시간보다 적게 설정되는
더미 HTTP를 이용한 연결 관리 장치.
- 제 27 항에 있어서,
상기 장치는,
HTTP 응답의 헤더로부터 상기 킵 어라이브(keep-alive) 시간을 획득하고, 이 획득된 킵 어라이브 시간을 상기 연결 시간 관리부에 제공하는 체크 시간 획득부
를 더 포함하는 더미 HTTP를 이용한 연결 관리 장치.
- 제 27 항에 있어서,
상기 장치는,
상기 웹 응용 서버와의 처음 HTTP 연결이 상기 킵 어라이브(keep-alive) 시간으로 인해 끊어지는 시간을 체크하는 방식으로 상기 킵 어라이브(keep-alive) 시간을 획득하고, 이 획득된 킵 어라이브 시간을 상기 연결 시간 관리부에 제공하는 체크 시간 획득부
를 더 포함하는 더미 HTTP를 이용한 연결 관리 장치.
- 제 22 항에 있어서,
상기 연결 유지 제어부는,
HTTP 요청 메소드 중 HTTP 헤더만을 응답으로 받는 헤드(HEAD) 메소드를 상기 더미 HTTP 요청으로 생성하는
더미 HTTP를 이용한 연결 관리 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140022962A KR101552170B1 (ko) | 2014-02-27 | 2014-02-27 | 더미 http를 이용한 연결 관리 방법 및 그 장치 |
US14/252,057 US9525601B2 (en) | 2014-02-27 | 2014-04-14 | Method and apparatus for managing connection using dummy HTTP |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140022962A KR101552170B1 (ko) | 2014-02-27 | 2014-02-27 | 더미 http를 이용한 연결 관리 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150101542A KR20150101542A (ko) | 2015-09-04 |
KR101552170B1 true KR101552170B1 (ko) | 2015-09-11 |
Family
ID=53883405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140022962A KR101552170B1 (ko) | 2014-02-27 | 2014-02-27 | 더미 http를 이용한 연결 관리 방법 및 그 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9525601B2 (ko) |
KR (1) | KR101552170B1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10824756B2 (en) | 2013-09-20 | 2020-11-03 | Open Text Sa Ulc | Hosted application gateway architecture with multi-level security policy and rule promulgations |
US10116697B2 (en) | 2013-09-20 | 2018-10-30 | Open Text Sa Ulc | System and method for geofencing |
EP2851833B1 (en) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations |
KR101842666B1 (ko) * | 2013-10-10 | 2018-05-14 | 구글 엘엘씨 | 통신들을 관리하기 위한 시스템들, 방법들 및 컴퓨터 프로그램 제품들 |
US11593075B2 (en) | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
US11496579B2 (en) * | 2016-01-19 | 2022-11-08 | Comcast Cable Communications, Llc | Connection manager |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
CN105959827A (zh) * | 2016-04-22 | 2016-09-21 | 深圳市茁壮网络股份有限公司 | 一种数据交互方法、机顶盒与前端服务器 |
US10353910B2 (en) * | 2016-07-15 | 2019-07-16 | Ebay Inc. | Preemptive connection pool adjustments |
CN106210129B (zh) * | 2016-08-18 | 2019-06-07 | 中国银行股份有限公司 | 一种基于Web服务器配置的限流方法及系统 |
CN108549592A (zh) * | 2018-03-19 | 2018-09-18 | 联动优势电子商务有限公司 | 一种数据库连接池的监控方法及监控设备、应用服务器 |
US11006358B1 (en) * | 2018-12-17 | 2021-05-11 | Sercomm Corporation | Reconfigurable data transmission system with terminal devices of different data transmission modes |
CN110213320B (zh) * | 2019-01-02 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191525A1 (en) * | 2012-01-25 | 2013-07-25 | Samsung Electronics Co. Ltd. | Method and apparatus for controlling http sockets |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105067A (en) * | 1998-06-05 | 2000-08-15 | International Business Machines Corp. | Connection pool management for backend servers using common interface |
US8244865B2 (en) * | 2004-10-08 | 2012-08-14 | International Business Machines Corporation | Method and apparatus for autonomic management of connection pools |
US8024423B2 (en) * | 2009-04-29 | 2011-09-20 | Ianywhere Solutions, Inc. | Maintaining connections between mobile devices and servers |
AU2010328326B2 (en) * | 2009-12-07 | 2016-12-01 | Robert Buffone | System and method for website performance optimization and internet traffic processing |
KR101694171B1 (ko) | 2010-12-13 | 2017-01-09 | 엘지전자 주식회사 | 다른 기기를 대신하여 파일을 다운로드 받는 기기 및 그 동작방법 |
US8566625B2 (en) * | 2011-07-01 | 2013-10-22 | Intel Corporation | System and method for determining transmitting frequency to maintain remote application server connectivity |
US10116697B2 (en) * | 2013-09-20 | 2018-10-30 | Open Text Sa Ulc | System and method for geofencing |
-
2014
- 2014-02-27 KR KR1020140022962A patent/KR101552170B1/ko active IP Right Grant
- 2014-04-14 US US14/252,057 patent/US9525601B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130191525A1 (en) * | 2012-01-25 | 2013-07-25 | Samsung Electronics Co. Ltd. | Method and apparatus for controlling http sockets |
Also Published As
Publication number | Publication date |
---|---|
US9525601B2 (en) | 2016-12-20 |
KR20150101542A (ko) | 2015-09-04 |
US20150244774A1 (en) | 2015-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101552170B1 (ko) | 더미 http를 이용한 연결 관리 방법 및 그 장치 | |
KR102195643B1 (ko) | 데이터 전송 방법, 장치 및 시스템 | |
US11825319B2 (en) | Systems and methods for monitoring performance in distributed edge computing networks | |
JP2018515965A5 (ko) | ||
RU2017122425A (ru) | Системы и способы автоматического обнаружения устройства, управления устройством и удаленной помощи | |
US10129722B2 (en) | Service processing method and network device | |
JP2017505473A5 (ko) | ||
JP2014199998A (ja) | 通信制御装置、サーバ装置、通信システム及びプログラム | |
CN102209039B (zh) | 一种文件传输方法及设备 | |
CN106453356B (zh) | 无线网络双边加速传输方法和系统 | |
RU2016141252A (ru) | Конфигурация устройства на основе сеансов связи | |
CN104009925A (zh) | 路由器的桥接建立方法、装置和路由器 | |
US10405370B2 (en) | Method and apparatus for data exchange between gateways | |
US20170111939A1 (en) | Method and Apparatus for Controlling Creation of Mobile Communication Network Connection | |
CN105898786A (zh) | 一种接入点逃生方法和系统 | |
CN111510325A (zh) | 报警信息推送方法、服务器、客户端及系统 | |
KR20120125184A (ko) | 네트워크 접근 방법 및 이를 위한 장치 | |
US10211995B2 (en) | Background traffic downloading method, device, and system | |
WO2012109857A1 (zh) | 带宽调整方法、总线控制器及信号转换器 | |
US20140204845A1 (en) | Fast transition from pch to dch for umts | |
WO2017165999A1 (zh) | 网络服务实现方法、服务控制器及通信系统 | |
CN104378844B (zh) | 一种隧道保活报文的传输方法和设备 | |
CN110493095A (zh) | 一种vpn业务的处理方法、装置、服务器和存储介质 | |
EP3314970B1 (en) | Method and apparatus for managing uplink traffic from a client device in a communication network | |
JP6290055B2 (ja) | 通信装置、通信制御方法およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20181010 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190613 Year of fee payment: 5 |