KR100516917B1 - 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법 - Google Patents

네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법 Download PDF

Info

Publication number
KR100516917B1
KR100516917B1 KR1020050024034A KR20050024034A KR100516917B1 KR 100516917 B1 KR100516917 B1 KR 100516917B1 KR 1020050024034 A KR1020050024034 A KR 1020050024034A KR 20050024034 A KR20050024034 A KR 20050024034A KR 100516917 B1 KR100516917 B1 KR 100516917B1
Authority
KR
South Korea
Prior art keywords
session
server
user
sessions
information
Prior art date
Application number
KR1020050024034A
Other languages
English (en)
Inventor
권희웅
정윤재
전용배
김주연
왕정석
정규식
Original Assignee
펌킨넷코리아 (주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 펌킨넷코리아 (주) filed Critical 펌킨넷코리아 (주)
Priority to KR1020050024034A priority Critical patent/KR100516917B1/ko
Application granted granted Critical
Publication of KR100516917B1 publication Critical patent/KR100516917B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B42BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
    • B42FSHEETS TEMPORARILY ATTACHED TOGETHER; FILING APPLIANCES; FILE CARDS; INDEXING
    • B42F9/00Filing appliances with devices clamping file edges; Covers with clamping backs
    • B42F9/001Clip boards
    • B42F9/002Clip boards combined with auxiliary devices, e.g. pencils
    • B42F9/004Clip boards combined with auxiliary devices, e.g. pencils with illuminating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B42BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
    • B42PINDEXING SCHEME RELATING TO BOOKS, FILING APPLIANCES OR THE LIKE
    • B42P2241/00Parts, details or accessories for books or filing appliances
    • B42P2241/16Books or filing appliances combined with other articles
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21KNON-ELECTRIC LIGHT SOURCES USING LUMINESCENCE; LIGHT SOURCES USING ELECTROCHEMILUMINESCENCE; LIGHT SOURCES USING CHARGES OF COMBUSTIBLE MATERIAL; LIGHT SOURCES USING SEMICONDUCTOR DEVICES AS LIGHT-GENERATING ELEMENTS; LIGHT SOURCES NOT OTHERWISE PROVIDED FOR
    • F21K9/00Light sources using semiconductor devices as light-generating elements, e.g. using light-emitting diodes [LED] or lasers

Landscapes

  • Computer And Data Communications (AREA)

Abstract

본 발명은 어플리케이션 서버에 접속하는 사용자수를 측정하여 서버의 처리용량을 초과하는 신규 사용자들을 제한함으로써 서버에 급증하는 부하를 막아 서버의 장애요소를 제거하고, 이미 접속한 사용자들에게 서비스 품질을 보장하는 한편, 최소의 서버 및 어플리케이션 자원을 이용하여 비용 절감 및 서비스 품질을 극대화 할 수 있는 네트워크상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템 및 그 제어방법에 관한 것이다.
본 발명이 이루고자 하는 기술적 과제는 네트워크 상에서 서버로 향하는 접속자들을 파악하기 위하여 네트워크로 유입되는 불특정 다수의 접속 시도를 어플리케이션 관점인 세션 단위 즉, 사용자의 세션(session)과 세션에 포함된 접속(connection)을 구분하고, 여기서 얻어진 세션정보와 미리 지정한 서버의 최대 수용 가능 세션수의 비교를 통하여 신규 사용자의 접속에 대한 접근을 제어하여 불특정 다수의 사용자 접속으로 인한 서버 장애를 줄이고, 사용자에 대한차등 정책을 통하여 이미 로그인한 사용자에 대해서는 서비스를 모두 마칠 때까지 서비스 품질을 보장하고, 신규 로그인 시도를 하는 사용자들은 잠시 대기를 시켜 기존에 서비스를 받고 있는 사용자들을 보호함과 더불어 이미 서버와 세션을 연결한 사용자들에 대해서도 IP 주소나 어플리케이션에서 사용하는 정보를 활용하여 우선순위에 기반을 두어 서비스 품질에 대한 차등 적용함과 동시에 서버가 가용할 수 있는 최대 접속자 수를 파악하여 분류된 사용자의 접속에 대한 제어를 통해 접속 불가능한 세션에 대하여 접속의 지연, 리다이렉션(redirection), 접속 강제 종료시킬 수 있도록 하는데 있다.

Description

네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주 제어시스템 및 그 방법{SYSTEM AND ITS METHOD FOR PROTECTING SERVERS FROM INTERNET TRAFFIC SURGE BY CONTROLLING THE NUMBER OF SESSIONS IN A NETWORK SIDE}
본 발명은 어플리케이션 서버에 접속하는 사용자 수를 측정하여 서버의 처리용량을 초과하는 신규 사용자들을 제한함으로써 서버에 급증하는 부하를 막아 서버의 장애요소를 제거하고, 이미 접속한 사용자들에게 서비스 품질을 보장하는 한편, 최소의 서버 및 어플리케이션 자원을 이용하여 비용 절감 및 서비스 품질을 극대화 할 수 있는 네트워크상에서 사용자 세션수 제어를 통한 서버 폭주 제어시스템 및 그 방법에 관한 것이다.
최근에는 인터넷 뱅킹과 사이버 트레이딩 등 온라인으로 처리하는 업무가 급증하면서 네트워크의 효율적인 시스템 관리의 필요성 및 서비스의 품질을 위해 응답속도의 향상, 서버의 처리능력 향상을 위하여 많은 연구가 진행되고 있다.
더욱이 서버다운은 주로 사용자 폭주로 처리해야 할 트래픽이 가중될 때 발생한다. 특히, 모든 트래픽이 거치는 특정서버나 방화벽 주변에 데이터가 몰리면 장애가 일어나기 쉽다. 즉, 서버에 과도한 트랜잭션 발생시 병목 현상을 일으키게 되므로, 서버의 부하를 적절히 분산시키는 기술이 필요하다.
일반적으로 서버의 부하를 분산시키는 기술은 클라이언트로부터 발생되는 트랜잭션을 분산시키기 위하여 특정한 알고리즘에 따라서 서버를 선택하는 부하 분산 스위치를 사용하는 방법과 클러스터링을 통해서 이중화 및 부하 분산을 제공하는 방법이 널리 쓰이고 있다. 이와 같은 방식은 서버의 처리 능력향상만을 가지고 오기 때문에 서버에 대한 공격이나 갑작스런 사용자의 증가를 대비하여 여분의 서버를 충분히 보유하여야 하는 단점이 있다.
클러스터링을 이용한 서버 시스템은 두개 이상의 서버에 동일한 애플리케이션 프로그램을 설치한 뒤 가상의 대표 IP주소를 설정해 사용자가 이 대표 IP로 접속할 때 서버 간 고유의 알고리즘을 이용해 여러 서버에 부하를 분산해 성능을 높인다는 개념이다.
위에서 설명한 서버 부하 분산 방법들은 하이퍼 텍스트전송 프로토콜(HTTP :Hypertext TransferProtocol), 파일전송 프로토콜(FTP:File Transfer Protocol) 등을 이용하여 클라이언트에서 서버로 전달되는 트랜잭션에 대한 부하에 대해서만 분산 기능을 제공하고, 서버에서 서버로 전달되는 데이터베이스 관리 시스템(DBMS :DataBase Management System), 소켓(Socket), 원격 프로시져 호출(RPC:Remote Procedure Call) 등에 대한 부하 분산 기능은 제공되지 않는 문제점이 있었다.
또한, 종래의 일반적인 서버 부하 분산 방법들은 단순한 부하 분산 알고리즘(Round Robin, Hash, Least Connection Scheduling 등)만을 지원하고 있기 때문에 어플리케이션 특성에 따른 유연한 부하 분산 알고리즘을 적용할 수 없었고, 그에 따라 보다 효과적으로 서버 부하 분산이 이루어지지 못하는 문제점이 있었다.
일반적으로 부하 분산 스위치로 흔히 쓰이는 것이 레이어4 스위치이다. 보통 L4 스위치로 불리는데 서버 앞단에 위치해서 서버들을 대표하는 공인 IP주소(VIP)를 갖고 외부에서 서버 접속 요청이 있을 때 이 주소로 접속을 요구하게 된다. 이때 L4 스위치는 요청하는 서비스의 포트에 따라서 적절한 서버로 세션을 넘겨주는 역할을 한다. 이 방법은 지금까지도 서버 부하 분산에 가장 많이 사용되는 방법으로, 서비스 사업자들은 고가의 고성능 서버보다 여러 대의 저가 서버를 이용해 높은 성능의 안정적인 서비스를 할 수 있게 되었다.
최근에는 레이어4 뿐 아니라 레이어7까지 모든 영역을 이용한 부하 분산 서비스도 가능하기 때문에 L4/L7 스위치라고 부르기도 한다.
L4/L7스위치의 주 기능은 사용자와 서버 사이에 위치하여 서버로 향하는 사용자 접속을 분산해 주는 것이다. L4/L7스위치에서 제공하는 부가기능으로, 가용할 수 있는 각 서버의 최대 동시 접속 수(concurrent connection)지정하여 대규모의 사용자 접속이 발생하는 경우에 이 값 이상의 접속들에 대해서 접속 해지, 지연, 리다이렉션(redirection) 등의 정책을 수행한다.
이 방식은 접속만을 제어하기 때문에 사용자 측면의 품질에 대해서는 고려하지 않고, 단지 서버의 보호만을 목적으로 한다. 웹서버를 사용하는 경우에는 다수의 접속을 하나의 세션으로 표현하는 HTTP(Hyper Text Markup Language) 프로토콜을 사용한다. 이 경우에 접속 단위의 처리를 한다면 서버에 접속하는 사용자들이 급속히 증가하는 경우 도 1에서와 같이 최대 접속수가 넘어가는 사용자들의 접속에 대하여 차단이 이루어진다. 이미 세션을 만들어서 서비스를 받고 있는 사용자들과 새로 접속을 시도하는 사용자들과의 구분이 불가능하기 때문에 이미 접속하여 중요한 일을 처리하는 경우에 잦은 접속해지나 리다이렉션으로 불편을 겪거나 피해를 보게 되고, 최악의 경우에는 어느 누구도 웹서버 상에서 원하는 서비스를 받지 못하게 되는 사태가 발생 할 수 있다. 그 예로는 어떠한 사용자가 온라인뱅킹을 이용하여 계좌이체를 하는 중간에 접속이 차단되면서 대기하라는 메시지를 받을 수 있다는 의미를 가진다.
그러므로 서버 보호라는 측면은 궁극적으로 사용자들에게 안전하고 쾌적한 환경에서 서비스를 제공함을 목적으로 하는 것이어서 네트워크를 통한 갑작스런 폭발적인 사용자 접속 시도로부터 서버를 보호하고 사용자 및 사용자의 세션에 대하여 차등을 두어 서비스 품질 보장과, 서버와 어플리케이션 자원의 활용을 극대화하며 사용자에게 품질을 보장할 수 있는 기술이 절실히 필요하다.
한편, 서버의 자체적인 해결 방법으로는 서버의 성능을 미리 파악하여 서버의 최대 접속 수나 사용자 세션 수를 서버에 설정하여 접속을 제어하는 방법은 이미 널리 사용하고 있다. 이 값을 바탕으로 서버는 사용자의 접속이나 세션의 생성에 대한 허용 여부를 결정할 수 있다. 그리고 사용자의 접속이 이루어지는 경우에 사용자의 식별을 통하여 서비스 품질을 차등 적용할 수 있는 것이다.
하지만 이 방식은 사용자의 접속을 받아들인 이후에 서버에서 허용 여부를 판단하기 때문에 단 시간내에 대규모 사용자의 접속이 이루어지는 경우에 접속 자체의 부하로 인하여 장애가 발생하는 단점이 있다.
본 발명은 상기한 바와 같은 종래의 문제점을 해소함에 그 목적이 있는 것으로 본 발명이 이루고자 하는 기술적 과제는, 네트워크를 통한 불특정 다수의 대규모 접속 시도로부터 서버가 처리할 수 있는 한계를 지정하여 불필요한 접속을 차단시킴으로서 서버의 장애를 방지하고, 사용자들에게는 서비스 품질을 보장하는데 있는 것이다.
이에 따라 본 발명은 네트워크 상에서 서버로 향하는 접속자들을 파악하기 위하여 네트워크로 유입되는 불특정 다수의 접속 시도를 어플리케이션 관점인 세션 단위 즉, 사용자의 세션(session)과 세션에 포함된 접속(connection)을 구분하고, 여기서 얻어진 세션정보와 미리 지정한 서버의 최대 수용 가능 세션수의 비교를 통하여 신규 사용자의 접속에 대한접근을 제어하여 불특정 다수의 사용자 접속으로 인한 서버 장애를 줄이는데 있다.
또한, 본 발명은 사용자에 대한차등 정책을 통하여 이미 로그인한 사용자에 대해서는 서비스를 모두 마칠 때까지 서비스 품질을 보장하고, 신규 로그인 시도를 하는 사용자들은 잠시 대기를 시켜 기존에 서비스를 받고 있는 사용자들을 보호함과 더불어 이미 서버와 세션을 연결한 사용자들에 대해서도 IP 주소나 어플리케이션에서 사용하는 정보를 활용하여 우선순위에 기반을 두어 서비스 품질에 대한 차등 적용함에 있다.
그리고, 네트워크 관점에서 서버의 보호를 목적으로 서버가 가용할 수 있는 최대 접속자 수를 파악하여 분류된 사용자의 접속에 대한 제어를 통해 접속 불가능한 세션에 대하여 접속의 지연, 리다이렉션(redirection), 접속 강제 종료시킬 수 있도록 하는데 있다.
상기한 목적 달성을 위해서 본 발명의 네트워크상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템은, 사용자와 서버 사이에 위치하여 이들 사이를 통과하는 패킷을 감시하고, 이들 패킷내의 정보를 이용하여 세션정보 와 그 개수를 파악하며, 사용자가 지정한 값 이하의 세션만을 서버로 통과시킬 수 있는 네트워크 시스템에 있어서, 사용자와 서버 사이를 통과하는 패킷에 대하여 프로토콜 분석 및 그에 따른 패킷의 에러 여부 등을 파악하는 필터(Filter)와; TCP/IP의 해더영역에서의 IP주소, 패킷의 페이로드(payload)내의 정보를 추출하는 세션추출규칙을 이용하여 사용자 접속내의 데이터에서 세션 정보를 추출하는 세션정보 추출기와;,세션이 마지막으로 접속한 시간을 기록하는 타임스탬프 값과 현재 시간을 비교하여 지정된 시간 이상 또는 사용자가 자발적으로 접속을 해지하는 서버의 세션정보를 삭제하는 세션테이블과, 신규세션의 우선순위를 결정하는 서비스품질규칙을 통해 상기 세션정보 추출기에서 추출한 해당 세션 정보가 신규세션에 해당하는지 판단하는 세션검출기와; 상기 세션정보 추출기와 세션검출기를 통하여 해당 세션이 신규 세션인 경우 서버의 최대세션수에 초과되지 않는 범위에 한하여 서버에 접속을 전달하는 스케쥴러;를 포함하는 것을 특징으로 한다. 본 발명은 또한 상기 스케쥴러는 현재 세션테이블에 존재하는 총 세션수를 계산하여 이 값이 지정된 서버의 한계 세션수를 초과하거나 세션수가 초과한 경우 세션테이블에서 가장 낮은 우선순위를 가지는 세션 한 개를 삭제하여 서버에 사용자의 접속을 전달하는 것을 특징으로 하고 있다.
또한, 본 발명은 사용자와 어플리케이션 서버가 네트워크를 이용하여 통신을 하는 사이에 위치하는 L4/L7스위치 혹은 프락시에서 사용자로부터 서버로 향하는 접속의 패킷을 분석하여 세션정보를 추출하여, 상기 사용자의 접속을 세션으로 확장하며, 추출된 정보를 기반으로 서버에 접속한 동시 사용자 수를 파악하고, 서버가 최대로 수용할 수 있는 동시 사용자수에 대한 정보를 기반으로 설정한 임계 값을 초과하는 사용자의 신규 세션에 대해서 접속을 끊거나, 다른 서버로 리다이렉션(redirection) 하여 접속을 대기 및 지연시키는, 네트워크상에서 사용자 세션수 제어를 통한 서버 폭주제어 방법을 제공하는데 또 다른 특징이 있는 것이다.
또한, 본 발명의 서버 폭주 제어방법은 사용자 접속 시도하는 단계, 상기 접속 시도 여부를 비교하여 이 시스템에서 처리할 접속시도가 아니면 접속 종료하고, 지정된 서버로 향하는 접속시도이면 세션 정보를 추출하기 위해 이동하는 단계, 세션정보 추출기가 세션 정보 및 우선순위정보를 추출하는 단계, 세션테이블에서 추출된 세션 정보를 검색하여 현재 접속에 대한 세션엔트리 존재 여부를 비교하는 단계, 상기 단계에서 세션 엔트리가 존재하면 세션 타임스탬프를 비교하고 세션 엔트리가 존재하지 않으면 서비스 우선순위를 결정하는 단계, 상기 세션 타임스탬프에서 확인된 세션 유효 시간범위가 지났다면 세션정보를 삭제한 후, 서비스 우선순위를 결정하고, 유효하지 않으면 지정 세션 종료조건을 비교하는 단계,지정 세션 종료조건이 유효 세션이면 세션 타임스탬프 기록을 갱신한 후 서버로 곧 바로 전송하고, 세션정보가 검색되었지만 유효하지 않으면 신규 세션으로 판단하여 해당 세션 엔트리를 삭제한 후 목적지로 이동하는 단계, 세션정보 추출기의 세션 정보가 신규 세션인 경우 지정된 서비스품질규칙과 추출한 세션정보를 비교하여 서비스 우선 순위결정에 의해 부여된 지정 세션수 초과 여부를 비교하는 단계와, 미리 지정한 서버의 총 세션수를 기반으로 하여 현재 세션의 총 수가 지정한 서버의 총 세션수 미만이면 세션 정보를 세션테이블의 세션에 대한 우선순위 정보를 기록하여 서버로 전달하고, 지정한 서버의 총 세션수를 넘어서는 경우 우선순위가 낮은 세션이 존재하는가 여부를 비교하는 단계, 상기 단계에서 우선순위 정책에 의하여 우선순위가 낮은 세션이 존재하지 않으면 이 접속 시도에 대하여 대기 메시지를 전달하거나 접속을 해지하는 단계, 상기 단계에서 우선순위가 낮은 세션이 존재하면 한 개의 최하위 우선순위 세션을 세션테이블에서 삭제하고 우선순위가 높은 새로운 세션을 서버에 전달하는 단계로 이루어지는 것을 특징으로 하고 있는 것이다.
이하, 본 발명을 첨부 도면을 참고하여 구체적인 실시 예를 보다 상세하게 설명하면 다음과 같다.
첨부 도면에 있어서 도 2는 본 발명이 적용된 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템 구성도이고, 도 3은 도2의 사용자들의 세션정보를 이용하여 사용자의 접속 처리과정을 나타낸 블록다이어그램, 도 4는 본 발명이 적용된 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템의 작동 흐름을 나타낸 플로우차트, 도 5는 본 발명이 적용된 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템에 있어 사용자의 세션정보 생성 과정 및 삭제 과정을 설명한 예시도이다.
본 발명에서는 네트워크와 연결된 서버가 TCP/IP를 이용하여 사용자가 통신을 할 때 서버에 접속한 다수 사용자의 세션(session)과 접속(connection)을 구분하는 세션정보를 이용한다.
세션정보는 논리적인 개념으로 하나의 접속이 세션이 되는 경우도 있고, stateless 프로토콜인 경우에는 별도의 정보를 이용하여 다수의 접속(connection)이 하나의 세션을 이루기도 한다.
대표적인 stateless 프로토콜인 HTTP는 사용자와 서버 사이에서 만들어진 세션은 쿠키(Cookie)를 통하여 구분하며 이를 통하여 한 사용자의 다수의 접속을 하나의 세션으로 인지할 수 있다.
상기 쿠키(Cookie)는 HTTP프로토콜에서 서버가 사용자에게 발급하는 정보로서 사용자의 웹브라우져가 보관하며, 동일 세션에 대한 접속에 대해서 웹브라우져가 서버에 이를 접속 내에 포함시켜 전송해야 서버는 동일 세션상의 접속이라고 판단 할 수 있다. 이러한 과정을 통하여 서버는 다수의 커넥션이 서로 다른 세션, 혹은 서로 같은 세션이라는 것을 인지할 수 있다.
본 발명은 이러한 접속방식에 상관없이, 사용자의 세션을 추출해 낼 수 있는 방법과 세션을 추출하여 서버에 접속하는 사용자들의 세션을 관리, 제어 및 제한 하기 위해서 도 2에 나타낸 바와 같이 서버와 사용자 사이에 L4/L7 스위치 또는 프락시가 위치하고, 상기 L4/L7스위치는 접속 단위의 관리를 통해 사용자의 접속을 서버에 전달하는 역할을 수행하고, 전달 접속 중간에서 세션에 대한 제한 기능으로 확장하여 사용한다.
상기 L4/L7 스위치 또는 프락시는 부하 분산을 하거나 트래픽을 서버에 전달하는 경우에 세션들을 제어하며, 지정한 서버의 최대 처리 세션수에 기인하여 서버에 과부하가 걸리는 것을 방지하여 사용자들에게 안정적인 서비스를 제공한다.
도 3은 사용자의 접속이 처리 되는 과정을 설명하는 블록 다이어그램이다.
도시된 바와 같이 본 발명에서는 세션을 검출하여 신규세션인 경우에 사용자의 접속을 서버에 전달할지 결정한다.
이를 위하여 세션정보 추출기(200)와 세션검출기(300)를 통하여 해당 세션이 신규세션 인지를 판단하여 신규세션으로 판단되면 스케쥴러(400)에서 서버의 최대 제한 세션수에 초과되지 않는 범위에 한하여 서버에 접속을 전달한다.
그리고 세션정보 추출기(200)는 세션추출규칙(210)을 통하여 사용자의 접속내의 데이터에서 세션 정보를 추출하되, 추출된 정보는 TCP/IP의 해더영역에서의 IP주소, 그리고 패킷의 페이로드(payload)내의 정보이다. 페이로드의 정보는 정규식(regular expression)을 통하여 세션을 표현하는 정보, 세션의 종료에 관한 정보, 그리고 서비스 품질에 관한 정보를 추출한다. 정규식은 복잡한 패턴매칭(Pattern Matching)과 대치 규칙을 정의하는 문자열로 유닉스, 윈도우, 리눅스 계열 시스템에서 일반적으로 포함되어 있는 기능이다. 파일이나 문자열 내에 포함되어 있는 특별한 패턴 또는 특별한 조건을 만족하는 문자열을 검색하기 위해 미리 정의된 다양한 특수 문자들의 조합으로 구성된다.
세션검출기(300)는 세션정보 추출기(200)에서 추출한 세션 정보가 신규세션에 해당하는지 판단한다. 이때 세션테이블(310)의 검색에서 추출한 세션정보가 검색되지 않으면 이를 신규세션으로 판단한다. 서버의 세션은 사용자가 접속을 해지 하였을 경우에 사라지는 정보이기 때문에 이에 맞추어 세션테이블내의 세션정보도 같이 삭제하여야 한다. 서버의 경우 세션이 생성된 이후에 지정된 시간 내에 세션을 통하여 데이터 교환이 없으면 접속을 해지 하는 기능을 가진다.
이를 위하여 세션테이블내의 엔트리는 세션이 마지막으로 접속한 시간을 기록하는 타임스탬프를 가지며, 타임스탬프 값과 현재 시간을 비교하여 지정된 시간 이상인 경우에는 삭제하도록 한다. 또한, 사용자가 자발적으로 접속을 해지하는 경우에도 서버의 세션정보가 삭제되는데, 이 경우 사용자의 접속에 특정 데이터 값이 포함된다. 세션추출기(200)에서 취하는 동일한 방식의 정규식을 이용하여 접속해지에 대한 정보가 추출되면 세션테이블에서 해당 세션을 삭제한다.
또한, 스케쥴러(400)는 세션검출기(300)에서 신규세션이라고 판단한 세션을 서버의 세션수의 한계를 초과하지 않는 범위에서 우선순위에 기반을 두어 전달하는 역할을 담당한다. 스케쥴러(300)는 현재 세션테이블(310)에 존재하는 총 세션수를 계산하여 이 값이 지정된 서버의 한계 세션수를 초과하지 않으면 접속을 곧바로 서버로 전달 할 수 있다. 만약 세션수가 초과한 경우에는 세션테이블에 존재하는 세션 중 우선순위가 낮은 세션을 삭제하고 전달한다.
도 4는 시스템의 작동하는 흐름을 나타낸 것으로, 시스템을 통과하는 트래픽 중에 필터(100)을 통하여 지정된 서버로 향하는 접속시도를 걸러 낸다(단계 2).
만일 접속이 이 시스템에서 처리할 접속시도가 아니라면 그대로 목적지로 전달한다(단계 15).
필터(100)는 접속이 향하는 목적지 IP주소와 목적지 포트를 기반으로 접속을 걸러내는 역할을 한다. 일예로 HTTP에 대한 접속시도를 대상으로 세션제어가 필요한 경우에는 TCP Port의 80번 포트로 향하는 트래픽만을 걸러낼 수 있다.
이처럼 걸러진 접속시도에서 세션정보 추출기(200)를 통하여 세션 정보를 추출한다(단계3).
세션정보의 추출을 위하여 서버의 세션정보 표현 방식에 따른 규칙을 세션추출규칙(210)에 미리 지정하여야 한다. 세션 정보의 추출이 어려운 경우는 해당 접속의 출발지 IP주소를 세션정보로 사용하고, 세션정보가 접속에 정형화되어 있는 서버에 대한 접속인 경우는 세션추출규칙(210)을 이용하여 정보를 추출한다. HTTP와 같이 쿠키에 세션 정보가 포함되어 있는 경우에는 쿠키의 형태에 대한 규칙을 이용하여 세션 정보 및 부가정보를 추출 할 수 있다.
세션검출기(300)에서는 추출한 세션 정보를 세션테이블(310)에서 검색하여 현재 접속에 대한 세션엔트리가 존재하는지 판단한다(단계 4).
세션엔트리가 발견되면 타임스탬프를 확인하여 세션의 유효 시간범위에 있는지 검사한다(단계5).
이 세션이 유효한 세션이라고 판단되면 현재의 접속은 기존에 연결된 세션에 포함되는 것으로 판단한다. 기존에 연결되었던 세션의 경우 지정된 종료조건에 만족하는 경우(단계 16)는 세션정보를 삭제하고 서버로 전송한다(단계 17, 9).
종료조건은 서버의 어플리케이션마다 다를 수 있음으로 이는 규칙화되어 표현될 수 있으며, HTTP의 예를 들어 설명하면 logout과 관련한 URL이 포함되어 있거나, 쿠키 정보가 삭제되거나 종료를 나타내는 경우이다.
종료 조건에 해당하지 않고 계속연결이 유지되어야 하는 세션에 대해서는 타임스탬프를 갱신하고 서버로 곧바로 전송한다 (단계 8, 9).
세션정보가 검색되었지만 유효하지 않은 경우는 신규세션으로 판단하며 해당 세션 엔트리를 삭제하고 다음단계로 넘어간다(단계 7).
신규세션인 경우는 서비스품질규칙(320)을 이용하여 우선순위를 결정한다(단계 5).
서비스품질규칙(320)은 특정 IP 주소 대역이나 구간, 개별 IP에 따라 서로 다른 우선순위를 가질 수 있으며, 세션 정보에서 추출한 어플리케이션 정보를 이용하여 정보를 이용하여 우선순위를 지정할 수 있다.(HTTP 의 경우에는 쿠키에 품질 정보가 포함될 수 있다) 지정된 서비스 품질 규칙과 추출한 세션 정보를 비교하여 부합하는 값들이 있을 경우 이에 해당하는 우선순위를 세션에 부여한다.
한편, 스케쥴러(400)는 신규세션에 대한접속을 서버에 전달할지를 결정하는 역할을 수행하며, 서버가 수용할 수 있는 세션이 초과한 경우에 해당 세션을 다른 서버로 향하도록 리다이렉션(redirection) 하거나, 접속해지 등의 정책의 설정이 가능하다.
상기 세션의 제어는 세션테이블(310)에 기록된 세션의 총 합인 현재 총 세션수와 서버의 처리능력을 고려하여 미리 지정한 서버의 총 세션수를 기반으로 이루어지는데(단계10), 현재 세션의 총 수가 지정한 서버의 총 세션수 미만이면 세션 정보를 세션테이블(310)에 세션에 대한 정보인 IP 주소, 쿠키 값, 타임스탬프, 서비스 품질 우선순위정보를 저장하고(단계14) 접속을 서버로 전달한다(단계 15).
지정한 서버의 총 세션수 이상인 경우에는 우선순위정책에 의하여 해당 세션이 서버에 접속이 불가능한 상황인 경우에 이 접속 시도에 대하여 대기 메시지를 전달하거나 접속을 끊을 수 있다(단계 13). 만일 이 경우에 세션테이블(310)내의 세션 중 우선순위가 가장 낮은 세션엔트리가 현재 세션의 우선순위 보다 낮다면(단계 11) 이를 세션테이블(310)에서 제거하고(단계12) 우선순위가 높은 새로운 세션을 서버에 전달한다(단계 14, 15).
도 5는 도 3의 세션정보 추출기(200), 세션검출기(300), 스케쥴러(400)에서 세션테이블(310)과 관련한 세션의 생성 과정 및 삭제 과정을 세션테이블의 관점에서 예로 설명한 것이다.
상기 실시예는 HTTP 프로토콜을 이용한 접속시도에 것으로 그림상의 500a는 HTTP의 접속시도에 포함된 패킷의 내용을 보인다. 패킷내에는 TCP/IP 해더에 출발지 IP주소와 포트, 목적지 IP주소와 포트, 그리고 HTTP로 표현되는 페이로드는 전형적인 HTTP 프로토콜의 URL과 쿠키가 포함된 되어있다.
상기 실시예는 세션추출규칙(210)과 연계하여 설명하기 위하여 쿠키에는 사용자의 세션에 대한 정보 및 세션에 대한 서비스품질정보를 포함하며, URL은 종료규칙이 포함되어 있다. 이 접속시도는 필터(100)에 의해서 IP주소와 포트가 각각 192.168.1.1, 80인 서버로 향하는 사용자의 접속 시도를 걸러낸 경우이다.
이처럼 걸러낸 사용자의 접속시도를 세션추출규칙(210)을 통하여 다양한 형태로 세션 정보의 추출이 가능한데, 세션추출규칙(210)이 존재하지 않으면 사용자 접속패킷(500)의 출발지 IP주 만으로 세션을 구분한다.
세션추출규칙(210)은 정규식으로 기술되지만 이해를 위해 도면에서는 간단히 기술하였다. 세션추출규칙(210)의 경우는 사용자 접속패킷(500)의 페이로드에서 세션정보, 품질정보, 세션종료에 대한 정보를 정규식을 이용하여 추출하는데 세션정보는 페이로드 내의 HTTP의 쿠키 값 중 "session"이라는 변수에 해당 하는 값인 문자열, “Abcexadfg”를 추출하여 세션정보로 사용한다.
품질정보는 "service_level"값인 문자열, "gold"를 추출하여 사용하는데 서비스품질의 경우에는 서비스품질규칙(320)을 이용하여 시스템에서 사용할 수 있는 우선순위 값으로 변환이 필요하다.
서비스품질규칙(320)은 주소대역과 품질정보가 모두 만족하는 경우에 우선순위 값을 부여하는데, 예제에서는 주소 값은 any로 출발지 주소와 상관없이 문자열, “gold"가 접속시도의 쿠키의 ”service_level" 에 있음으로 우선순위 값인 1을 부여한다. 세션 종료규칙의 경우 세션추출규칙(210)에 페이로드내의 URL, 즉, GET이후에 오는 문자열이 “/logout.cgi"인 경우 이 세션은 현재 종료 시도를 하고 있는 것으로 판단한다.
이상과 같이 추출한 정보는 세션검출기(300)를 이용하여 신규세션, 기존에 연결된 세션, 그리고 세션의 종료시도에 대한 사항들을 검사한다.
한편, 세션테이블(310)을 검색하여 동일 세션이 존재하지 않으면 현재 접속을 신규세션으로 판단한다. 만일 세션 종료규칙과 일치하는 정보가 발견되면 세션 종료에 대한 시도로 판단하고 세션테이블(310)에서 해당 세션을 삭제한다.
신규세션은 스케쥴러(400)에서는 현재 연결된 세션의 총수가 지정한 값이 초과하는지 판단한다. 값을 초과하지 않은 경우는 추출한 세션정보를 세션테이블(310)에 저장하고, 접속을 서버로 전달한다. 지정한 값을 초과한 세션테이블(310 )에서 가장 낮은 우선순위 값을 가지는 세션 한 개를 삭제하고, 현재 접속을 전달하며, 접속에 대한 세션정보를 세션테이블(310)에 기록한다. 만일 낮은 우선순위 값을 가지는 세션이 발견되지 않는 경우는 현재의 접속시도를 무효화시키기 위하여 세션정보를 저장하지 않고 현재 접속을 전달하지 않거나, 접속해지, 또는 별도의 웹서버로 전달하는 리다이렉션을 수행한다.
이와 같이 본 발명은 어플리케이션 서버에 접속하는 사용자수를 측정하여 서버의 처리용량을 초과하는 신규 사용자들을 제한함으로써 서버에 급증하는 부하를 막아 서버의 장애요소를 제거하고, 이미 접속한 사용자들에게 서비스 품질을 보장하는 한편, 최소의 서버 및 어플리케이션 자원을 이용하여 비용 절감 및 서비스 품질을 극대화를 꾀할 수 있다.
이상에서 설명한 바와 같이 본 발명에 의하면, 네트워크로 유입되는 불특정 다수의 접속 시도를 세션 단위로 구분하고, 여기서 얻어진 세션정보와 미리 지정한 서버의 최대 수용 가능 세션수의 비교를 통하여 신규 사용자의 접속에 대한접근을 제어함으로써 불특정 다수의 사용자 접속으로 인한 서버장애를 피할 수 있는 이점이 있다.
또한, 본 발명은 사용자에 대한차등 적용함으로써 이미 로그인한 사용자에 대해서는 서비스를 모두 마칠 때까지 서비스 품질을 보장하고, 신규 로그인 시도를 하는 사용자들은 잠시 대기를 시켜 기존에 서비스를 받고 있는 사용자들을 보호할 수 있는 장점이 있다.
그리고 이미 서버와 세션을 연결한 사용자들에 대해서도 우선 순위에 기반을 두어 서비스 품질에 대한 차등 정책을 적용 할 수 있는 등의 장점을 갖는 매우 유용한 발명인 것이다.
도 1은 종래 접속제한 기능을 갖는 부하 분산 스위치를 이용한 서버 제어시스템 구성도,
도 2는 본 발명이 적용된 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템 구성도,
도 3은 도2의 사용자들의 세션정보를 이용하여 사용자의 접속 처리과정을 나타낸 블록다이어그램,
도 4는 본 발명이 적용된 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템의 작동 흐름을 나타낸 플로우차트,
도 5는 본 발명이 적용된 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템에 있어 사용자의 세션정보 생성 과정 및 삭제 과정을 설명한 예시도이다.
<도면의 주요 부분에 대한 부호의 설명>
100: 필터
200: 세션정보 추출기
210: 세션추출규칙
300: 세션검출기
310: 세션테이블
320: 서비스품질규칙
400: 스케쥴러
410: 최대세션수
500: 사용자의 접속패킷

Claims (4)

  1. 사용자와 서버 사이에 위치하여 이들 사이를 통과하는 패킷을 감시하고, 이들 패킷내의 정보를 이용하여 세션정보 와 그 개수를 파악하며, 사용자가 지정한 값 이하의 세션만을 서버로 통과시킬 수 있는 네트워크 시스템에 있어서,
    사용자와 서버 사이를 통과하는 패킷에 대하여 프로토콜 분석 및 그에 따른 패킷의 에러 여부 등을 파악하는 필터(100:Filter)와;,
    TCP/IP의 해더영역에서의 IP주소, 패킷의 페이로드(payload)내의 정보를 추출하는 세션추출규칙(210)을 이용하여 사용자 접속내의 데이터에서 세션 정보를 추출하는 세션정보 추출기(200)와;,
    세션이 마지막으로 접속한 시간을 기록하는 타임스탬프 값과 현재 시간을 비교하여 지정된 시간 이상 또는 사용자가 자발적으로 접속을 해지하는 서버의 세션정보를 삭제하는 세션테이블(310)과, 신규세션의 우선순위를 결정하는 서비스품질규칙(320)을 통해 상기 세션정보 추출기(200)에서 추출한 해당 세션 정보가 신규세션에 해당하는지 판단하는 세션검출기(300)와;,
    상기 세션정보 추출기(200)와 세션검출기(300)를 통하여 해당 세션이 신규 세션인 경우 서버의 최대세션수(410)에 초과되지 않는 범위에 한하여 서버에 접속을 전달하는 스케쥴러(400);를 포함하는 것을 특징으로 하는 L4/L7스위치상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템.
  2. 제1항에 있어서, 상기 스케쥴러(400)는 현재 세션테이블(310)에 존재하는 총 세션수를 계산하여 이 값이 지정된 서버의 한계 세션수를 초과하거나 세션수가 초과한 경우 세션테이블에서 가장 낮은 우선순위를 가지는 세션 한 개를 삭제하여 서버에 사용자의 접속을 전달하는 것을 특징으로 하는 L4/L7스위치상에서 사용자 세션수 제어를 통한 서버 폭주제어 시스템.
  3. 사용자와 어플리케이션 서버가 네트워크를 이용하여 통신을 하는 사이에 위치하는 L4/L7스위치에서 사용자로부터 서버로 향하는 접속의 패킷을 분석하여 세션정보를 추출하여, 상기 사용자의 접속을 세션으로 확장하며, 추출된 정보를 기반으로 서버에 접속한 동시 사용자 수를 파악하고, 서버가 최대로 수용할 수 있는 동시 사용자수에 대한 정보를 기반으로 설정한 임계 값을 초과하는 사용자의 신규 세션에 대해서 접속을 끊거나, 다른 서버로 리다이렉션(redirection) 하여 접속을 대기 및 지연시키는 것을 특징으로 하는 L4/L7스위치상에서 사용자 세션수 제어를 통한 서버 폭주 제어방법.
  4. 사용자 접속 시도하는 단계(1),
    상기 접속 시도 여부를 비교하여 이 시스템에서 처리할 접속시도가 아니면 접속 종료하고, 지정된 서버로 향하는 접속시도이면 세션 정보를 추출하기 위해 이동하는 단계(2),
    세션정보 추출기(200)가 세션 정보 및 우선순위정보를 추출하는 단계(3),
    세션테이블(310)에서 추출된 세션 정보를 검색하여 현재 접속에 대한 세션엔트리 존재 여부를 비교하는 단계(4),
    상기 단계에서 세션 엔트리가 존재하면 세션 타임스탬프를 비교하고 세션 엔트리가 존재하지 않으면 서비스 우선순위를 결정하는 단계(4),
    상기 세션 타임스탬프에서 확인된 세션 유효 시간범위가 지났다면 세션정보를 삭제(7) 한 후, 서비스 우선순위를 결정하고, 유효하지 않으면 지정 세션 종료조건(16)을 비교하는 단계(5),
    지정 세션 종료조건(16)이 유효 세션이면 세션 타임스탬프 기록(8)을 갱신한 후 서버(9)로 곧 바로 전송하고, 세션정보가 검색되었지만 유효하지 않으면 신규 세션으로 판단하여 해당 세션 엔트리를 삭제(17)한 후 목적지로 이동하는 단계,
    세션정보 추출기(200)의 세션 정보가 신규 세션인 경우 지정된 서비스품질규칙(320)과 추출한 세션정보를 비교하여 서비스 우선 순위결정에 의해 부여된 지정 세션수 초과 여부를 비교하는 단계(10)와,
    미리 지정한 서버의 총 세션수를 기반으로 하여 현재 세션의 총 수가 지정한 서버의 총 세션수 미만이면 세션 정보를 세션테이블(310)의 세션에 대한 우선순위 정보를 기록(14)하여 서버로 전달하고, 지정한 서버의 총 세션수를 넘어서는 경우 우선순위가 낮은 세션이 존재하는가 여부를 비교하는 단계(11),
    상기 단계에서 우선순위 정책에 의하여 우선순위가 낮은 세션이 존재하지 않으면 이 접속 시도에 대하여 대기 메시지를 전달하거나 접속을 해지하는 단계(13),
    상기 단계에서 우선순위가 낮은 세션이 존재하면 한 개의 최하위 우선순위 세션을 세션테이블(310)에서 삭제(12)하고 우선순위가 높은 새로운 세션을 서버에 전달하는 단계로 이루어지는 것을 특징으로 하는 L4/L7스위치상에서 사용자 세션수 제어를 통한 서버 폭주 제어방법.
KR1020050024034A 2005-03-23 2005-03-23 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법 KR100516917B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050024034A KR100516917B1 (ko) 2005-03-23 2005-03-23 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050024034A KR100516917B1 (ko) 2005-03-23 2005-03-23 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR100516917B1 true KR100516917B1 (ko) 2005-09-26

Family

ID=37304989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050024034A KR100516917B1 (ko) 2005-03-23 2005-03-23 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100516917B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101058671B1 (ko) 2008-06-19 2011-08-22 주식회사 케이티 과부하 제어 방법, 이를 위한 교환단 장치 및 이동 통신시스템
KR101106399B1 (ko) 2006-10-13 2012-01-17 리서치 인 모션 리미티드 얼마나 많은 수의 ip 세션들이 지원되는지에 기초하여 ip 세션들을 관리하기 위한 시스템 및 방법
US8315162B2 (en) 2006-08-24 2012-11-20 Research In Motion Limited System and method for determining that a maximum number of IP sessions have been established
US8611946B2 (en) 2007-01-25 2013-12-17 Blackberry Limited Methods and systems for configuring multi-mode mobile stations
US8687586B2 (en) 2006-10-13 2014-04-01 Blackberry Limited System and method for managing IP sessions based on how many IP sessions are supported
KR101420108B1 (ko) * 2012-05-31 2014-07-16 삼성에스디에스 주식회사 순차적 p2p 다운로드 시스템 및 방법
KR101760093B1 (ko) * 2014-12-17 2017-07-20 (주)에임투지 사용자 서비스 품질 기반 실시간 진입 허용수 관리 장치 및 그 방법
KR101877904B1 (ko) * 2017-11-16 2018-07-12 (주)웨일소프트 서버 장애 모니터링 장치 및 방법
WO2021070991A1 (ko) * 2019-10-10 2021-04-15 가온미디어 주식회사 상위 네트워크 접속 품질에 연동한 무선 인터넷 접속 관리 시스템 및 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315162B2 (en) 2006-08-24 2012-11-20 Research In Motion Limited System and method for determining that a maximum number of IP sessions have been established
US9237509B2 (en) 2006-08-24 2016-01-12 Blackberry Limited System and method for determining that a maximum number of IP sessions have been established
KR101106399B1 (ko) 2006-10-13 2012-01-17 리서치 인 모션 리미티드 얼마나 많은 수의 ip 세션들이 지원되는지에 기초하여 ip 세션들을 관리하기 위한 시스템 및 방법
US8687586B2 (en) 2006-10-13 2014-04-01 Blackberry Limited System and method for managing IP sessions based on how many IP sessions are supported
US8611946B2 (en) 2007-01-25 2013-12-17 Blackberry Limited Methods and systems for configuring multi-mode mobile stations
KR101058671B1 (ko) 2008-06-19 2011-08-22 주식회사 케이티 과부하 제어 방법, 이를 위한 교환단 장치 및 이동 통신시스템
KR101420108B1 (ko) * 2012-05-31 2014-07-16 삼성에스디에스 주식회사 순차적 p2p 다운로드 시스템 및 방법
KR101760093B1 (ko) * 2014-12-17 2017-07-20 (주)에임투지 사용자 서비스 품질 기반 실시간 진입 허용수 관리 장치 및 그 방법
KR101877904B1 (ko) * 2017-11-16 2018-07-12 (주)웨일소프트 서버 장애 모니터링 장치 및 방법
WO2021070991A1 (ko) * 2019-10-10 2021-04-15 가온미디어 주식회사 상위 네트워크 접속 품질에 연동한 무선 인터넷 접속 관리 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR100516917B1 (ko) 네트워크 상에서 사용자 세션수 제어를 통한 서버 폭주제어시스템 및 그 방법
US6535509B2 (en) Tagging for demultiplexing in a network traffic server
US6683873B1 (en) Methods and apparatus for redirecting network traffic
CN100474819C (zh) 一种深度报文检测方法、网络设备及系统
US9876763B2 (en) Application state sharing in a firewall cluster
US20070160073A1 (en) Packet communications unit
US20120291117A1 (en) Computerized system and method for handling network traffic
US20010039623A1 (en) System, method and apparatus for preventing transmission of data on a network
WO2017088397A1 (zh) 用于CDN服务器群组的DDoS攻击防护方法及系统
US20070156898A1 (en) Method, apparatus and computer program for access control
AU2012381763A1 (en) Policy service logging using graph structures
Dridi et al. A holistic approach to mitigating DoS attacks in SDN networks
EP2754266B1 (en) Authentication sharing in a firewall cluster
EP1952604B1 (en) Method, apparatus and computer program for access control
US20120047248A1 (en) Method and System for Monitoring Flows in Network Traffic
US20010056549A1 (en) Method of providing access control for and/or vis-a-vis users accessing the internet from terminals via a private access node, and arrangements for putting this kind of method into practice
JP4099108B2 (ja) ネットワーク及びサーバの負荷低減ルータ
CN107147585B (zh) 一种流量控制方法及装置
JP2003280975A (ja) キャッシュ制御方法およびキャッシュシステム
JP4592798B2 (ja) Isp網における有害情報接続遮断システム及び方法
JP2004334455A (ja) サーバ装置
Cisco Chapter 5: Transparent Caching
EP2204953A1 (en) Method, apparatus and system for realizing dynamic correlation of control plane traffic rate
JP2001077857A (ja) フィルタリング処理装置及びこれを備えるネットワーク及びその記憶媒体
CN116170389B (zh) 业务容器引流方法、系统及计算机集群

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20120911

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130904

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140912

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150911

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160909

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180913

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 15