아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이제, 첨부한 도면을 참조로 하여 본 발명의 실시 예에 따른 리소스 할당 제어 방법을 설명한다.
우선 본 발명이 적용되는 서비스 서버를 도 1을 참조로 하여 설명한다.
도 1은 본 발명이 적용되는 네트워크 서버의 블록 구성도이다. 도 1에 도시된 바와 같이 본 발명이 적용되는 네트워크 서버(100)는 접속부(110), 리소스 할당부(120), 할당량 설정부(130), 할당 제어부(140)와 성능 파악부(150)를 포함한다.
접속부(110)는 사용자 단말(10)과의 인터페이스를 담당하고, 리소스 할당부(120)는 접속부(110)를 통해 접속한 사용자 단말(10)에 대한 리소스 할당 여부를 결정한다. 이때 리소스 할당부(120)는 할당량 설정부(130)에 설정된 할당가능 리소스 수(Number)를 고려하여 리소스 할당 여부를 결정한다. 할당가능 리소스 수는 리소스를 할당할 수 있는 접속자의 수이다.
할당량 설정부(130)는 할당 제어부(140)의 제어값에 대응된 할당가능 리소스 수를 가변하여 설정한다. 이때 가변 설정은 할당가능 리소스 수를 증가하거나 감소시켜 설정하는 것이다.
할당 제어부(140)는 성능 파악부(150)에서 제공한 네트워크 서버(100)의 성능 정보를 이용하여 리소스 상태값을 산출하고, 산출한 리소스 상태값을 제어 신호로 하여 할당량 설정부(130)에 제공한다.
여기서 네트워크 서버(100)의 성능 정보는 리소스 상태값을 파악할 수 있게 하는 정보로서, 리소스 사용 상태에 관련된 정보이다. 그리고 리소스 상태값은 현재의 성능 정보를 이용해서 현재의 리소스 상태를 정량화된 %로 환산한 숫자값이다. 예컨대 리소스 상태값은 10%, 20%, 100% 등일 수 있으며, 리소스 상태값이 낮을수록 사용 가능한 리소스가 많다는 것을 의미한다. 리소스 상태값을 산출하는 구체적인 방법은 이하에서 도 5를 참조로 하여 설명할 것이다.
성능 파악부(150)는 리소스 사용에 관련된 각종 성능 정보를 파악하고, 파악한 성능 정보를 할당 제어부(140)에 제공한다.
다음으로, 본 발명이 적용되는 네트워크 시스템을 도 2를 참조로 하여 설명한다. 도 2는 본 발명이 적용되는 네트워크 시스템의 블록 구성도이다.
네트워크 시스템은 네트워크 서버(100)와 동일한 기능을 수행한다. 다만 네트워크 시스템은 특징되는 기능을 하는 복수의 구성이 서버에서 독립화되어져 있는 것이 네트워크 서버와 차이가 있다.
네트워크 시스템(1000)은 서비스 서버(1100), 리소스할당 컨트롤러(1200), 서비스 컨트롤러(13000과 트랜잭션 서버(1400)를 포함한다.
서비스 서버(1100)는 접속한 사용자 단말(10)에게 리소스를 할당하고 할당한 리소스를 기반으로 사용자 단말(10)에게 서비스를 제공한다.
리소스할당 컨트롤러(1200)는 서비스 서버(1100)로부터 리소스 사용에 관련된 각종 성능 정보를 수집하고, 서비스 서버(1100)의 성능 정보를 이용하여 리소스 상태값을 산출하고, 산출한 리소스 상태값을 제어 신호로 하여 서비스 컨트롤러(1300)에게 제공한다.
서비스 컨트롤러(1300)는 리소스할당 컨트롤러(1200)에서 제공한 리소스 상태값에 따라 할당가능 리소스 수를 가변하여 설정한다. 이때 가변 설정은 할당가능 리소스 수를 증가하거나 감소시켜 설정하는 것이다.
트랜잭션 서버(1400)는 사용자 단말(10)이 서비스 서버(1100)로의 접속을 결정하는 접속 제어를 수행하며, 이때 접속 제어는 서비스 컨트롤러(1300) 할당량 설정부(130)에 설정된 할당가능 리소스 수를 고려하여 리소스 할당 여부를 결정한다.
여기서 사용자 단말(10)은 서비스 서버(1100)로의 접속을 시도하지만 서비스서버(1100) 대신 트랜잭션 서버(1400)에 접속하게 되며, 트랜잭션 서버(1400)의 허가에 따라 서비스 서버(1100)로의 접속이 이루어지게 된다.
이하에서는 도 3을 참조로 하여 도 1과 도 2에 적용되는 본 발명의 실시 예에 따른 리소스 할당 제어 방법을 설명한다. 도 3은 본 발명의 실시 예에 따른 리소스 할당 제어 방법을 보인 순서도이다.
리소스할당 컨트롤러(1200)는 설정된 주기시간마다 서비스 서버(1100)로부터 리소스에 대한 성능 정보를 수집한다(S310). 그런 다음 리소스할당 컨트롤러(1200)는 수집한 성능 정보를 이용하여 리소스 상태값을 산출하고(S320), 산출한 리소스 상태값을 서비스 컨트롤러(1300)에 제공한다.
그러면 서비스 컨트롤러(1300)는 수신한 리소스 상태값에 해당하는 할당가능 리소스 수를 파악하고 이를 할당가능 리소스 수로 설정한다(S330). 물론 이전 설정된 할당가능 리소스 수가 상기 S330 과정에서 파악한 할당가능 리소스 수와 동일하면, 별도의 설정 과정은 생략될 것이다.
서비스 컨트롤러(1300)는 새로운 할당가능 리소스 수를 설정하면, 이전 설정된 할당가능 리소스 수와 S330 과정에서 새로 설정한 현재의 할당가능 리소스 수를 비교한다(S340).
이 비교 과정(S340)을 통해, 서비스 컨트롤러(1300)는 할당가능 리소스 수가 변동 여부를 판단하게 되고(S350), 이 판단에서 할당가능 리소스 수가 변동되지 않았다면 할당가능 리소스 수의 변동에 따른 후 처리 과정을 생략한다.
그러나 서비스 컨트롤러(1300)는 상기 판단에서 할당가능 리소스 수가 변동되었으면 할당가능 리소스 수의 변동에 따른 후 처리 과정을 수행한다.
즉, 서비스 컨트롤러(1300)는 변동된 할당가능 리소스 수를 파악하고(S360), 파악한 변동된 할당가능 리소스 수를 트랜잭션 서버(1400)에 제공한다. 그러면 트랜잭션 서버(1400)는 변동된 할당가능 리소스 수에 따라 접속 허용할 수 있는 접속자의 수를 증가 또는 감소시켜 리소스로의 사용자 접속을 제한한다(S370).
이하에서는 도 4와 도 5를 참조로 하여 본 발명의 리소스 할당 제어 방법이 적용된 형태를 설명한다.
도 4는 본 발명이 활용되는 일 실시 예의 방법을 보인 순서도이다.
사용자 단말(100)은 서비스 서버(400)에서 제공하는 서비스를 이용하기 위하여 서비스 서버(400)에게 접속을 요구한다. 이에 서비스 서버(400)는 사용자 단말(100)이 트랜잭션 서버(200)에 의해 접속 허가 받지 않은 상태이기 때문에 사용자 단말(100)에게 트랜잭션 서버(200)로의 접속을 지시한다.
그러면 사용자 단말(100)은 트랜잭션 서버(200)로 제1 접속을 한다(S401). 제1 접속은 대기표를 가지지 않은 사용자 단말(100)이 네트워크 시스템(20)에 접속하는 것이다.
트랜잭션 서버(200)는 사용자 단말(100)이 제1 접속을 함에 따라 등록된 대기표 블록 내에 발급 가능한 대기표가 있는지를 판단한다(S402). 이 판단(S402)으로 트랜잭션 서버(200)는 대기표 발급이 가능하지 않다고 하면 서비스 컨트롤러(300)에게 새로운 대기표 블록을 요청하고(S403), 서비스 컨트롤러(300)로부터 새로운 대기표 블록을 수신하여 등록한다(S404).
그러나 트랜잭션 서버(200)는 상기 판단(S402)으로 대기표 발급이 가능하면 등록된 대기표 블록에서 발급 가능한 대기표 중 순번(즉, 번호)이 빠른 대기표를 사용자 단말(100)에게 발급한다(S405).
여기서 대기표 블록은 일련의 순서로 나열되는 대기표들의 집합체이다. 예컨대, 대기표 블록은 1번부터 100번까지의 대기표들의 집합체이거나, 300번부터 500번까지의 대기표들의 집합체이다.
사용자 단말(100)은 대기표를 발급받으면 제2 접속을 하여 트랜잭션 서버(200)에 대기표를 제시한다(S406). 제2 접속은 사용자 단말(100)이 대기표를 이용하여 네트워크 시스템(20)에 접속하는 것을 의미하며, 이하에서는 네트워크 시스템(20)에 리소스 할당을 요청하는 접속으로 지칭한다.
이에 트랜잭션 서버(200)는 사용자 단말(100)에서 제시한 대기표의 번호(즉, 순번)가 설정된 허용 ID를 파악하여 접속 가능 여부를 판단한다(S407). 여기서 허용 ID는 접속이 가능한 최고 크기의 대기표다.
물론 트랜잭션 서버(200)는 대기표의 번호가 허용 ID보다 작으면 접속이 가능하다고 판단하고, 그렇지 않으면 접속 가능하지 않다고 판단할 것이다.
트랜잭션 서버(200)는 상기 판단(S407)에서 접속이 가능하지 않다고 판단하면 대기표를 대기 리스트에 등록(추가)하고(S408), 대기표를 기준으로 가용 리소스량과 이전 접속자의 수에 대응하는 대기 시간을 산출하여 사용자 단말(100)에 알린다(S409).
사용자 단말(100)은 대기 시간을 수신하면 트랜잭션 서버(200)와의 접속을 해지한 후(S410), 대기 시간 카운트를 하고(S411), 대기 시간이 종료되는 시점에서 다시 한번 제2 접속을 하여 접속 허용을 요청한다(S406).
반면에, 트랜잭션 서버(200)는 상기 판단(S407)에서 접속이 가능하다고 판단하면 대기표를 할당 리스트에 대기표를 등록(추가)하고(S412), 사용자 단말(100)에게 접속 허용을 알리는 메시지를 전송한다(S413).
이에 사용자 단말(100)은 수신한 접속 허용 메시지를 이용하여 서비스 서버(400)에 접속하고, 서비스 서버(400)는 사용자 단말(100)의 접속을 접속 허용 메시지에 따른 접속임을 확인하여 사용자 단말(100)에게 리소스를 할당하여 할당한 리소스를 통해 사용자 단말(100)이 서비스를 이용할 수 있게 한다(S414).
이렇게 사용자 단말(100)은 리소스를 이용하여 서비스를 이용하게 되면 서비스 이용 중에(S415), 설정된 시간 주기마다 리소스 사용중임을 알리는 알림 메시지를 트랜잭션 서버(200)에 알린다(S416).
트랜잭션 서버(200)는 할당 리스트에 등록된 대기표들에 대응된 각 사용자 단말(100)에서 리소스를 사용하고 있는지 사용하고 있지 않는지를 감시한다(S417). 이때 감시는 사용자 단말(100)로부터 알림 메시지가 설정 시간 내에 수신되는지 파악하는 것이다.
만약 상기 감시(S417)에서, 트랜잭션 서버(200)는 사용자 단말(100)로부터 설정 시간 내에 알림 메시지가 수신되면 계속해서 리소스를 사용하고 있다고 판단하여 현재의 할당 리스트의 정보를 그대로 유지한다.
반면에 상기 감시(S417)에서 트랜잭션 서버(200)는 사용자 단말(100)로부터 설정 시간 내에 알림 메시지가 수신되지 않으면 사용자 단말(100)이 리소스 사용을 끝냈다고 판단한다(S418). 이 경우에 트랜잭션 서버(200)는 리소스 사용을 끝낸 사용자 단말(100)의 대기표를 할당 리스트에서 제거(삭제)한다(S419).
한편, 트랜잭션 서버(200)는 설정된 시간 주기마다 대기 리스트와 할당 리스트를 서비스 컨트롤러(300)에 제공한다(S420, S423, S426).
여기서 트랜잭션 서버(200)는 대기 리스트에 대기표가 등록되거나, 할당 리스트에 대기표가 등록되거나 또는, 할당 리스트에서 임의의 대기표가 삭제되는 경우에 대기 리스트와 할당 리스트를 서비스 컨트롤러(300)에 제공하도록 할 수 있다.
서비스 컨트롤러(300)는 트랜잭션 서버(200)로부터 대기 리스트와 할당 리스트를 수신하면, 서비스 서버(400)로부터 파악한 리소스 사용 상태와 수신된 대기 리스트와 할당 리스트를 분석하여 어디 까지를 접속 가능한 대기표로 할 것인지를 판단하고, 판단한 대기표를 허용 ID로 결정한다(S421, S424).
이렇게 허용 ID를 결정하면, 서비스 컨트롤러(300)는 결정한 허용 ID를 트랜잭션 서버(200)에 제공한다(S422, S425). 그러면 트랜잭션 서버(200)는 기 등록된 허용 ID를 삭제하고 서비스 컨트롤러(300)로부터 수신한 허용 ID를 등록한다.
이하에서는 도 5를 참조로 하여 도 4를 참조로 설명한 방법에 적용된 본 발명의 실시 예에 따른 리소스 할당 제어 방법 및 할당 리스트 관리 방법을 설명한다. 도 5는 도 4를 기반으로 한 본 발명의 실시 예에 따른 리소스 할당 제어 방법 및 할당 리스트 관리 방법을 설명하기 위한 도면이다.
서비스 서버(1100)는 설정 주기시간마다 적어도 하나의 성능 정보를 리소스 할당 컨트롤러(1200)에 제공한다. 이때 성능 정보는 CPU 사용률, 네트워크 사용률, 디스크 I/O(Input/Output), 연결된 네트워크 세션수(number of sessions), 네트워크 트래픽 등이 있다. 이하에서는 이해를 돕기 위해, CPU 사용률, 네트워크 사용률, 디스크 I/O(Input/Output), 연결된 네트워크 세션수(number of sessions), 네트워크 트래픽 등을 총칭하여 성능 정보라 하고, CPU 사용률, 네트워크 사용률, 디스크 I/O(Input/Output), 연결된 네트워크 세션수(number of sessions), 네트워크 트래픽 등을 개별적으로 항목이라 칭한다.
성능 정보의 항목 중에는 리소스의 종류에 따라 일반적이지 않는 특화된 성능 정보의 항목이 있을 수 있는데, 이 경우 특화된 성능 정보는 "사용자 정의 성능 정보" 형태로 추가 설정할 수 있다. 이러한 성능 정보의 각 항목은 각각 %으로 환산된 항목값으로 리소스할당 컨트롤러(1200)에 제공된다. 여기서 항목값은 예컨대, CPU 사용률의 경우에 전체 CPU 가용량 중 40% 사용, 네트워크 사용률의 경우에 전체 네트워크 가용량 중 20% 사용 등이다.
리소스할당 컨트롤러(1200)는 성능 정보를 이용하여 리소스 상태값을 산출할 수 있도록 성능 정보의 각 항목(종류)에 대해 기준값과 가중치를 가지고 있다.
기준값은 항목값이 어느 값에 도달해야 100%인지를 알 수 있게 정해놓은 값으로, 상기 어느 값에 해당한다. 예를 들어, 현재의 서비스 서버는 CPU 가용량의 80%를 사용하게 되면 서비스가 불가능한 상태가 된다고 한다면, 기준값은 80%로 설정할 수 있다. 물론 좀더 안정적으로 서비스 서버를 운용하고자 한다면 기준값은 80%값 이하인 70%나 65% 등으로 설정할 수 있다.
가중치는 해당 리소스가 어떤 성능 정보의 항목에 의해 성능값이 좌우되는지를 나타낸다. 그러므로 가중치가 "0"인 것은 해당 성능정보의 항목이 리소스에 영향을 주지 않는다는 것을 의미하고, 그에 따라 리소스할당 컨트롤러(1200)는 리소스 상태값 산출시에 가중치가 "0"인 성능 정보의 항목을 제외한다.
예컨대, CPU 사용률의 가중치가 100이고, 디스크 I/O의 가중치가 80이고, 나머지의 가중치가 모두 "0"이라고 하면, 실제 리소스 상태값 산출을 위한 가중치는 다음과 같다.
CPU 사용률의 실제 가중치는 (100/(100+80)) * 100 = 55%이고, 디스크 I/O의 실제 가중치는 (80/(100+80)) * 100 = 45%이다. 물론, 서비스 성능의 각 항목의 100%로 설정하면 상기 산출 과정은 필요없지만, 좀더 유연한 값의 설정을 위해 상기 산출 과정이 이용된다.
상기 산출 과정을 통해 항목별 실제 가중치가 산출되면, 리소스 상태값은 (제1 항목값 * 실제 가중치) + (제2 항목값 * 실제 가중치)로 산출된다.
결국 가중치가 큰 항목의 성능 정보일수록 리소스 상태값에 큰 영향을 주며, 가중치는 리소스 상태값 산출시에 반영된다.
도 5에서는 성능 정보 중 CPU 사용률, 디스크 I/O와 사용자 정의1에 대해서만 가중치와 기준값이 정해져 있는 것을 일 예로 도시하고 있다.
결국, 리소스 상태값은 성능정보의 항목값이 운영자에 의해 설정된 기준값에 대해 얼만큼의 값을 갖는가에 관한 값이며, 0부터 시작하며 100 이상의 값을 가질 수 있다. 가중치와 기준값은 서비스 운영자에 의해 임의로 설정되게 된다.
현재의 서버 상태 정보와 사전에 설정된 가중치와 기준값을 이용해서 계산된 리소스 상태값은 서비스 컨트롤러로 전송된다.
서비스 컨트롤러(1300)는 리소스 상태값에 따라 할당 가능한 리소스 수에 대한 최소값 범위, 기본값 범위 및 최대값 범위가 설정되어 있다. 예컨대 리소스 상태값이 81 이상인 경우에 최소값 범위에 대응하고, 리소스 상태값이 50~80인 경우에 기본값 범위에 대응하며, 리소스 상태값이 0~49인 경우에 최대값 범위에 대응된다. 예컨대, 최소값 범위의 최대값은 500, 기본값 범위의 최대값은 1500, 최대값 범위의 최대값은 2500으로 설정되어 있다.
그리고 최소값 범위는 리소스 상태값에 대응하는 m개의 레벨 블록(이하 "RSV 블록"이라 한다)으로 나누어져 있고, 최대값 범위는 리소스 상태값에 대응하는 n개의 레벨 블록으로 나누어져 있다. RSV는 Resource State Value로서 리소스 상태값을 의미한다.
레벨 블록은 해당 값 범위(최소값 범위 또는 최대값 범위) 내에서 해당 할당가능 리소스 수와 매칭되어 있어, 해당 값 내의 할당가능 리소스 수의 정도를 결정하게 한다. 예컨대 최소값 범위에서 RSV 블록 1은 500의 할당가능 리소스 수, RSV 2는 480의 할당가능 리소스 수를 RSV 10은 200의 할당가능 리소스 수를 지시한다.
따라서 서비스 컨트롤러(1300)는 리소스 상태값을 수신하면 리소스 상태값에 대응하는 RSV 블록을 찾고, RSV 블록에 대응하는 할당가능 리소스 수를 설정 할당가능 리소스 수로 결정한다.
물론, 50~80의 리소스 상태값을 갖는 RSV 블록은 리소스 상태값이 60일 때나 70일 때 모두 할당가능 리소스 수는 기본값을 사용하게 된다.
리소스 상태값이 작을수록 리소스는 여유롭다는 것을 의미하며, 이에 따라 서비스 컨트롤러(1300)는 할당가능 리소스 수를 증가시키게 된다. 반대로 리소스 상태값이 클수록 리소스는 바쁘다는 의미이며, 이에 따라 서비스 컨트롤러(1300)는 할당가능 리소스 수를 감소시키게 된다.
기본적인 리소스 할당량 즉, 할당가능 리소스 수에 대한 최대값의 증감은 서비스 컨트롤러(1300)에 설정된 RSV 블록 표를 이용한다. 하지만 할당가능 리소스 수의 최대값이 증가할 때(리소스 상태가 좋아지고 있다)는 서비스 컨트롤러(1300)에 설정된 "증가 단위 시간"과 "증가 가능 최대값"을 이용하여 "증가 단위 시간" 동안은 "증가 가능 최대값" 이상으로 할당가능 리소스 수를 증가시킬 수 없도록 한다.
이렇게 하면 할당가능 리소스 수의 최대값이 한번에 큰 값으로 증가하는 것 을 막아줌으로써, 일시적인 리소스 상태 변화에 따른 급격한 리소스 할당량 최대값의 증가를 방지하게 된다. 반대로 할당가능 리소스 수의 최대값이 감소할 때(리소스 상태가 나빠지고 있다)는 해당 감소량을 바로 적용시켜서 리소스를 빠르게 보호할 수 있게 한다.
할당가능 리소스 수가 변경되었다는 것은 서비스 서버(1100)의 리소스 상태가 변경되었다는 것을 의미하고, 특히 서비스 서버(1100)의 리소스를 사용할 수 있는 사용자의 수가 변경하였다는 것을 의미한다.
결국, 서비스 컨트롤러(1300)는 이와 같이 할당가능 리소스 수가 변경되면 서비스 서버(1100)에 접속 가능한 사용자의 수를 조절하기 위하여 허용 ID를 변경하고, 또한 허용 ID의 변경에 대응하여 할당 리스트의 크기를 변경시킨다.
이를 위해 서비스 컨트롤러(1300)는 할당 리스트의 크기를 변경하기 위하여 할당가능 리소스 수의 변경량을 파악하고 할당가능 리소스 수의 변경량을 트랜잭션 서버(1400)에 제공하여 할당 리스트의 크기가 변경되게 한다.
예컨대, 도 5에 도시된 바와 같이 트랜잭션 서버(1400)가 3대이고 초기에 각각 500씩의 값으로 할당 리스트의 최대값이 결정된 상태에서 할당가능 리소스 수가 1500에서 2100으로 600만큼 증가한 경우이면, 서비스 컨트롤러(1300)는 각 트랜잭션 서버에 할당 리스트의 최대값을 200씩 증가시켜 주게 됨으로써, 좀더 많은 사용자가 리소스를 할당받을 수 있게 한다.
한편, 전술한 실시예에서는 서비스 서버가 한 대인 경우에 대해서만 설명하였지만, 실제적으로 서비스 서버가 2대 이상일 수 있다.
이렇게 서비스 서버가 2대 이상인 경우이면 각 서비스 서버별로 리소스 상태값을 산출한 후 산출한 리소스 상태값의 평균을 구하여 최종 리소스 상태값으로 판단할 수 있다.
그러나, 평균값으로 최종 리소스 상태값을 판단하게 되면, 하나의 서비스 서버의 리소스 상태가 아주 나쁘게 되더라도 다른 서비스 서버의 리소스 상태가 좋으면 리소스 증가/감소가 악영향을 주는 방향으로 이루어질 수 있다. 그러므로 평균값을 이용하기 보다 가중치를 이용하거나, 리소스 상태가 나쁜 서비스 서버의 리소스 상태값을 기준으로 할당량의 증가/감소를 하도록 할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.