이러한 목적을 달성하기 위한 본 발명의 일측면에 의하면, AP에서 임의의 단말에 폴링 메시지를 전송하여 폴링 메시지를 받은 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어지도록 수퍼 프레임을 스케줄링하는 단계와, 수퍼 프레임의 제 1 구간의 제 1 시간동안 AP에서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하는 단계와, 제 1 구간의 제 1 시간을 통해 미처 전송되지 못하여 큐에 누적된 패킷을 제 1 구간의 제 2 시간을 통해 2차적으로 전송하는 단계를 포함하는 폴링 기 반 무선 랜 시스템의 패킷 처리 방법을 제공한다.
바람직하게는 AP의 큐에 누적된 패킷에 대한 히스토리를 저장하는 단계와, 히스토리를 이용하여 패킷 필터링을 수행하는 단계를 더 포함하여 폴링 기반 무선 랜 시스템의 패킷 처리 방법을 수행할 수 있다.
또한, 바람직하게는 패킷 필터링시 설정된 시간동안 해당 주기에 보내지 못한 누적패킷 수가 설정된 시간보다 클 경우 해당 단말에 해제 요청 프레임을 보내거나, 큐에 누적된 패킷에서 MAC 헤더의 목적지 주소를 참조하여 해당 단말에 보내질 패킷을 폐기처리하도록 패킷 필터링을 수행할 수 도 있다.
본 발명의 다른 측면에 의하면, 폴링 기반 무선랜 시스템의 수퍼 프레임을 스케줄링하는 방법에 있어서, 수퍼 프레임은 AP에서 임의의 단말에 폴링 메시지를 전송하여 폴링 메시지를 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어지되, 수퍼 프레임의 제 1 구간은 AP에서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하고, 미처 전송되지 못하여 큐에 누적된 패킷을 2차적으로 전송하는 동작을 수행하도록 스케줄링되는 것을 특징으로 하는 폴링 기반 무선랜 시스템에서의 수퍼 프레임 스케줄링 방법을 제공한다.
본 발명의 다른 측면에 의하면, AP(Access Point)에서 임의의 단말에 폴링 메시지를 전송하여 폴링 메시지를 받은 단말(station)만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어지도록 수퍼 프레임을 스케줄링하는 단계와, 수퍼 프레임의 제 1 구간동안 AP에 서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하는 단계와, 제 1 구간을 통해 미처 전송되지 못하여 큐에 누적된 패킷을 제 2 구간을 통해 2차적으로 전송하는 단계를 포함하는 폴링 기반 무선 랜 시스템의 패킷 처리 방법을 제공한다.
폴링 기반 무선랜 시스템의 수퍼 프레임을 스케줄링하는 방법에 있어서, 수퍼 프레임은 AP에서 임의의 단말에 폴링 메시지를 전송하여 폴링 메시지를 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어지되, 수퍼 프레임의 제 1 구간은 AP에서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하고, 수퍼 프레임의 제 2 구간은 제 1 구간동안 미처 전송되지 못하여 큐에 누적된 패킷을 2차적으로 전송하는 동작을 수행하도록 스케줄링되는 것을 특징으로 하는 폴링 기반 무선랜 시스템에서의 수퍼 프레임 스케줄링 방법을 제공한다.
본 발명의 또 다른 측면에 의하면, AP(Access Point)에서 임의의 단말에 폴링 메시지를 전송하여 폴링 메시지를 받은 단말(station)만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어지도록 수퍼 프레임을 스케줄링하는 단계와, 수퍼 프레임의 제 1 구간의 제 1 시간동안 AP에서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하는 단계와, 제 1 구간의 제 1 시간을 통해 미처 전송되지 못하여 큐에 누적된 패킷을 제 1 구간의 제 2 시간을 통해 2차적으로 전송하는 단계를 포함하는 폴링 기반 무선 랜 시스템의 패킷 처리 방법을 제공한다.
본 발명의 다른 측면에 의하면, 폴링 기반 무선랜 시스템의 수퍼 프레임을 스케줄링하는 방법에 있어서, 수퍼 프레임은 AP에서 임의의 단말에 폴링 메시지를 전송하여 폴링 메시지를 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어지되, 수퍼 프레임의 제 1 구간에서 임의의 단말들로부터 AP로 패킷을 전송하는 모드가 수행된 후 AP의 큐에 저장된 패킷들을 해당 단말로 전송할 수 있는 최대 시간을 계산하고, 해당 단말로 전송할 수 있는 최대 시간내에 전송가능한 패킷수를 계산하여 계산된 양의 패킷을 제 1 구간동안 전송하고, 미처 전송되지 못하는 패킷에 대하여는 다음 수퍼 프레임으로 전송을 보류하도록 스케줄링되는 것을 특징으로 하는 폴링 기반 무선랜 시스템에서의 수퍼 프레임 스케줄링 방법을 제공한다.
이하, 첨부한 도면을 참조하여 본 발명을 상세히 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 PCF 방식에서의 스케줄링에 의한 수퍼 프레임을 보여주는 도면이다.
도 1을 참조하면 본 발명의 일실시예에 따른 스케줄링에 행하기 위한 수퍼 프레임은 AP에서 임의의 단말에 폴을 제공하여 폴(Poll)을 받은 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어진다.
이때, 수퍼 프레임의 제 1 구간은 AP에서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하고, 미처 전송되지 못하여 큐에 누적된 패킷을 2차적으로 전송하는 동작을 수행하도록 스케줄링된다. 여기에서 수퍼 프레임은 하나 의 비콘과 다음 주기의 비콘까지의 프레임 구간을 나타낸다.
이하에서는 편의상 제 1 구간을 QCFP(QoS Contention-Free Period)라 명명하고, 제 2 구간을 CP(Contention Period)라 명명하도록 한다.
제 1 구간을 나타내는 QCFP는 QoS를 보장한다는 의미의 Q와, 수퍼 프레임에서 CP구간을 제외한 CFP 구간을 의미하는 CFP를 조합한 명칭이다.
따라서, QCFP 구간은 하나의 비콘 신호 발생시점부터 무경쟁 종료 신호(CF-END)발생 시점까지의 구간이 되며, CP구간은 무경쟁 종료 신호(CF-END)발생 시점으로부터 다음 비콘 신호 발생시점까지의 구간이 된다.
QCFP는 제 1 CFP와 제 2 CFP로 이루어지는데, 제 1 CFP는 AP의 큐에 저장된 패킷을 경쟁없이 해당 단말에 전송하기 위한 CFP 구간을 의미하고, 제 2 CFP는 전체 QCFP 구간에서 제 1 CFP 구간을 제외한 CFP 구간으로써 AP의 큐에 누적되어 있는 패킷을 경쟁없이 해당 단말에 전송하기 위한 CFP 구간을 의미한다.
즉, 제 1 CFP 구간동안에는 각 단말에 할당된 큐에 저장되어 있던 패킷들을 VoDn 모드를 수행하는 동안에 해당 단말에 전송하도록 하고, 제 2 CFP 구간동안에는 일정시간동안 임의의 단말에 할당된 큐중에서 누적된 패킷이 있는 경우, 그 큐에 저장되어 있는 누적 패킷을 해당 단말에 전송하도록 스케줄링되어 있다.
따라서, 하나의 수퍼 프레임을 스케줄링할 때 제 1 CFP 구간에서는 경쟁없이 폴링하고자 하는 단말들에 대하여 순차적으로 패킷을 전송하도록 함과 아울러, AP의 큐에 저장되어 있는 패킷중에서 제 1 CFP 구간동안에 미처 해당 단말에 전송되지 못한 누적 패킷에 대하여는 전체 QCFP 구간중에서 제 1 CFP 구간을 제외하고 남 는 제 2 CFP 구간동안 전송되도록 하는 것이다.
이때, 제 2 CFP 구간은 일정하게 고정된 값을 가지는 구간이 아니라, 제 1 CFP 구간에 따라 가변적인 값을 가지는 구간이다. 즉, 전체 QCFP 구간의 값은 일정한 값으로 고정되어 있지만, 제 2 CFP 구간은 그 고정된 값을 가지는 QCFP에서 제 1 CFP 구간의 값을 제외한 값이 되는 것이다.
다시 말하면, 제 1 CFP 구간은 수퍼 프레임의 CFP 구간중 AP가 각 단말에 폴링 메시지를 전송하고, 그 폴링 메시지를 받은 단말이 AP에 데이터를 전송하여 하나의 폴링 주기를 완료하는 구간이고, 제 2 CFP 구간은 수퍼 프레임의 제 1 CFP 구간 중 제 1 CFP 구간을 제외한 구간이 된다.
따라서, 하나의 수퍼 프레임을 스케줄링하기 위해서는 수퍼 프레임에서 하나의 제 1 CFP 구간이 종료되면 QCFP 구간에서 제 1 CFP 구간의 값을 제외한 제 2 CFP구간의 값을 계산하고, 그 제 2 CFP 구간동안 전송할 수 있는 패킷의 개수를 계산하는 과정이 필요하다.
도 2는 도 1에 도시된 PCF 방식에서의 스케줄링 방법을 설명하기 위한 흐름도이다.
AP는 비콘 주기마다 비콘 신호를 생성하여 자신의 무선랜 영역에 있는 각 단말에게 전송한다. 이에 따라, AP에서 수퍼 프레임의 스케줄링을 수행하는 작업은 비콘 신호의 발생한 시점을 체크하는 것으로 부터 시작된다. 이때, 비콘 신호는 QoS 서비스를 수행하는데 필요한 주기 신호를 나타내므로 QoS 주기 신호라고 명명하도록 한다.
도 2를 참조하면, 우선, AP는 QoS 주기신호(Beacon)가 발생되었는지 여부를 판단하여(S1), 판단결과 QoS 주기신호(Beacon)가 발생되었으면 타이머를 리셋하여 카운트를 시작한다(S2). AP에서 비콘 신호가 주기적으로 생성되는 것은 비콘 신호의 주기를 카운트하는 카운터가 AP내에 탑재되어 있기 때문이다. 따라서, 여기에서 언급된 타이머는 비콘 신호의 주기를 카운트하는 타이머로 보면 된다.
타이머가 카운트를 시작한 상태에서 타이머의 카운트값을 읽어서 현재 시점이 제 1 CFP 구간이 경과되었는지 여부를 판단한다(S3).
타이머의 카운트값이 제 1 CFP 구간을 경과하지 않은 경우에는 제 1 CFP 구간을 진행하고 있는 것으로 판단할 수 있다. AP는 제 1 CFP 구간동안 자신이 폴링하고자 하는 단말들에 해당하여 설정된 각 큐에서 그 저장된 패킷을 VoDn 모드를 수행하여 해당 단말들에게 전송한다. 이때, 제 1 CFP 구간에서 VoDn 모드를 수행하면 해당 단말에 설정된 큐에 있던 패킷은 모두 전송되어야 하는 것이 정상적인 경우이다. 그러나, 임의의 큐에 저장된 패킷이 해당 단말에 전송된 패킷의 양보다 많은 경우라면 제 1 CFP구간에서 VoDn 모드를 수행하여 큐에 저장되었던 패킷이 해당 단말로 모두 전송되지 못하고 큐에 패킷이 누적될 수 있다.
따라서, 판단 결과 타이머의 카운트값이 제 1 CFP 구간을 경과한 시점인 경우에는 AP의 큐에 누적된 패킷이 있는지 여부를 판단한다(S4).
판단 결과, 임의의 큐에 누적된 패킷이 있는 경우에는 타이머의 해당 카운트값으로부터 QCFP 구간에서 제 1 CFP 구간을 제외한 제 2 CFP 구간이 존재하는지 여부를 판단한다(S5). 제 2 CFP 구간의 존재 여부는 고정적인 값을 가지는 QCFP에서 제 1 CFP 구간의 값을 빼면 남아 있는 CFP 구간인 제 2 CFP 구간의 시간이 계산되어 진다.
판단 결과 타이머의 해당 카운트값으로부터 QCFP 구간의 여유가 있는 경우에는 누적 패킷에 대한 히스토리를 작성하고(S6), 제 2 CFP 구간에 전송가능한 패킷의 수를 계산한다(S7). 누적 패킷에 대한 히스토리는 누적된 패킷에 대한 정보를 남김으로써 비정상적으로 과도하게 보내질 수 있는 패킷의 단말을 찾아 패킷 필터 정책에 반영하거나, 더 나아가 해당 패킷의 목적지 단말으 QoS보장 단말에서 제외시키거나 해당 패킷의 발신지를 찾아내는 정보를 제공할 수 있다.
또한, 제 2 CFP 구간에 전송가능한 패킷의 수는 제 2 CFP 구간의 시간과 패킷이 누적되어 있는 큐의 개수를 고려하여 계산되어 진다. 제 2 CFP구간동안에 전송될 수 있는 패킷의 전체 개수가 계산되면 누적된 패킷들을 전송하기 전에 해당 패킷의 전송에 적용되는 패킷 필터 정책이 설정되어 있는지 여부를 판단한다(S8).
패킷 필터는 사용자가 정의하는 시간 FILTER(t) 동안 해당 주기에 보내지 못한 누적패킷 수 N이 사용자가 정의한 시간보다 클 경우 AP에서 해당 단말에 해제 요청 프레임(disassociation request frame)을 보내거나 AP에서 MAC 헤더의 목적지 주소(Destination address)를 보고 해당 단말에 보내질 패킷을 버리도록 설정될 수도 있다. 이러한 패킷 필터 사용은 사용자의 선택에 따라서 결정된다.
패킷의 전송에 적용되는 패킷 필터 정책이 설정되어 있는 경우에는 그 설정된 패킷 필터 정책에 따라 누적된 패킷에 대한 필터링을 수행한다(S9). 그리고, 패킷 필터링을 수행하여 남은 패킷에 대하여 제 2 CFP 구간동안 즉, CF-END 신호가 발생될 때까지 계산된 누적 패킷을 해당 단말에 전송한다(S10).
도 3은 본 발명의 다른 실시예에 따른 PCF 방식에서의 스케줄링에 의한 수퍼 프레임을 보여주는 도면이다.
도 3을 참조하면 본 발명의 일실시예에 따른 스케줄링에 행하기 위한 수퍼 프레임은 AP에서 임의의 단말에 폴을 제공하여 폴(Poll)을 받은 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어진다.
이때, 수퍼 프레임의 제 1 구간에서는 AP에서 임의의 단말들에 대하여 AP의 큐에 저장된 패킷들을 1차적으로 전송하고, 수퍼 프레임의 제 2 구간에서는 미처 전송되지 못하여 큐에 누적된 패킷을 2차적으로 전송하는 동작을 수행하도록 스케줄링된다. 여기에서 수퍼 프레임은 하나의 비콘과 다음 주기의 비콘까지의 프레임 구간을 나타낸다.
이하에서는 편의상 제 1 구간을 QCFP(QoS Contention-Free Period)라 명명하고, 제 2 구간을 CP(Contention Period)라 명명하도록 한다.
제 1 구간을 나타내는 QCFP는 QoS를 보장한다는 의미의 Q와, 수퍼 프레임에서 CP구간을 제외한 CFP 구간을 의미하는 CFP를 조합한 명칭이다.
따라서, QCFP 구간은 하나의 비콘 신호 발생시점부터 무경쟁 종료 신호(CF-END)발생 시점까지의 구간이되며, CP구간은 무경쟁 종료 신호(CF-END)발생 시점으로부터 다음 비콘 신호 발생시점까지의 구간이 된다.
QCFP는 AP의 큐에 저장된 패킷을 경쟁없이 해당 단말에 전송하기 위한 CFP 구간을 의미하고, CP는 전체 수퍼 프레임 구간에서 QCFP 구간을 제외한 구간으로써 AP의 큐에 누적되어 있는 패킷을 경쟁을 거쳐 해당 단말에 전송하기 위한 CP구간을 의미한다.
즉, QCFP 구간동안에는 각 단말에 할당된 큐에 저장되어 있던 패킷들을 VoDn 모드를 수행하는 동안에 해당 단말에 전송하도록 하고, CP 구간동안에는 일정시간동안 임의의 단말에 할당된 큐중에서 누적된 패킷이 있는 경우, 그 큐에 저장되어 있는 누적 패킷을 해당 단말에 전송하도록 스케줄링되어 있다.
따라서, 하나의 수퍼 프레임을 스케줄링할 때 CFP 구간에서는 경쟁없이 폴링하고자 하는 단말들에 대하여 순차적으로 패킷을 전송하도록 함과 아울러, AP의 큐에 저장되어 있는 패킷중에서 QCFP 구간동안에 미처 해당 단말에 전송되지 못한 누적 패킷에 대하여는 전체 수퍼 프레임 구간중에서 QCFP 구간을 제외하고 남는 CP 구간동안 전송되도록 하는 것이다.
도 4는 도 3에 도시된 PCF 방식에서의 스케줄링 방법을 설명하기 위한 흐름도이다.
AP는 비콘 주기마다 비콘 신호를 생성하여 자신의 무선랜 영역에 있는 각 단말에게 전송한다. 이에 따라, AP에서 수퍼 프레임의 스케줄링을 수행하는 작업은 비콘 신호의 발생한 시점을 체크하는 것으로 부터 시작된다. 이때, 비콘 신호는 QoS 서비스를 수행하는데 필요한 주기 신호를 나타내므로 QoS 주기 신호라고 명명하도록 한다.
도 4를 참조하면, 우선, AP는 QoS 주기신호(Beacon)가 발생되었는지 여부를 판단하여(S11), 판단결과 QoS 주기신호(Beacon)가 발생되었으면 타이머를 리셋하여 카운트를 시작한다(S12). AP에서 비콘 신호가 주기적으로 생성되는 것은 비콘 신호의 주기를 카운트하는 카운터가 AP내에 탑재되어 있기 때문이다. 따라서, 여기에서 언급된 타이머는 비콘 신호의 주기를 카운트하는 타이머로 보면 된다.
타이머가 카운트를 시작한 상태에서 타이머의 카운트값을 읽어서 현재 시점이 CFP 구간이 경과되었는지 여부를 판단한다(S13).
타이머의 카운트값이 CFP 구간을 경과하지 않은 경우에는 CFP구간을 진행하고 있는 것으로 판단할 수 있다. AP는 CFP 구간동안 자신이 폴링하고자 하는 단말들에 해당하여 설정된 각 큐에서 그 저장된 패킷을 VoDn 모드를 수행하여 해당 단말들에게 전송한다. 이때, CFP 구간에서 VoDn 모드를 수행하면 해당 단말에 설정된 큐에 있던 패킷은 모두 전송되어야 하는 것이 정상적인 경우이다. 그러나, 임의의 큐에 저장된 패킷이 해당 단말에 전송된 패킷의 양보다 많은 경우라면 CFP구간에서 VoDn 모드를 수행하여 큐에 저장되었던 패킷이 해당 단말로 모두 전송되지 못하고 큐에 패킷이 누적될 수 있다.
따라서, 판단 결과 타이머의 카운트값이 CFP 구간을 경과한 시점인 경우에는 AP의 큐에 누적된 패킷이 있는지 여부를 판단한다(S14).
판단 결과, 임의의 큐에 누적된 패킷이 있는 경우에는 누적 패킷에 대한 히스토리를 작성한다(S15). 누적 패킷에 대한 히스토리는 누적된 패킷에 대한 정보를 남김으로써 비정상적으로 과도하게 보내질 수 있는 패킷의 단말을 찾아 패킷 필터 정책에 반영하거나, 더 나아가 해당 패킷의 목적지 단말을 QoS 보장 단말에서 제외 시키거나 해당 패킷의 발신지를 찾아내는 정보를 제공할 수 있다.
누적 패킷에 대한 히스토리가 작성되면 누적된 패킷들을 전송하기 전에 해당 패킷의 전송에 적용되는 패킷 필터 정책이 설정되어 있는지 여부를 판단한다(S16).
패킷 필터는 사용자가 정의하는 시간 FILTER(t) 동안 해당 주기에 보내지 못한 누적패킷 수 N이 사용자가 정의한 시간보다 클 경우 AP에서 해당 단말에 해제 요청 프레임(disassociation request frame)을 보내거나 AP에서 MAC 헤더의 목적지 주소(Destination address)를 보고 해당 단말에 보내질 패킷을 버리도록 설정될 수도 있다. 이러한 패킷 필터 사용은 사용자의 선택에 따라서 결정된다.
패킷의 전송에 적용되는 패킷 필터 정책이 설정되어 있는 경우에는 그 설정된 패킷 필터 정책에 따라 누적된 패킷에 대한 필터링을 수행한다(S17). 그리고, 패킷 필터링을 수행하여 남은 패킷에 대하여 CP 구간동안 즉, CF-END 신호가 발생한 시점부터 다음 QoS 주기신호(Beacon)가 발생되기 전까지 누적 패킷을 해당 단말에 전송한다(S18).
도 5는 본 발명의 또 다른 실시예에 따른 MPDCF 방식에서의 스케줄링에 의한 수퍼 프레임을 보여주는 도면이다.
도 5를 참조하면 본 발명의 일실시예에 따른 스케줄링에 행하기 위한 수퍼 프레임은 AP에서 임의의 단말에 폴을 제공하여 폴(Poll)을 받은 단말만이 경쟁 없이 매체에 접근할 수 있는 제 1 구간과, 경쟁에 의해 매체에 접근할 수 있는 제 2 구간으로 이루어진다.
이때, 수퍼 프레임의 제 1 구간에서는 임의의 단말들로부터 AP로 패킷을 전 송하는 VoUp 모드가 수행된 후 AP의 큐에 저장된 패킷들을 해당 단말로 전송할 수 있는 최대 시간을 계산하고, 그 시간내에 전송가능한 패킷수를 계산하여 그 계산된 양의 패킷을 제 1 구간에서 전송하고, 미처 전송되지 못하는 부분에 대하여는 다음 수퍼 프레임으로 보류하도록 스케줄링된다. 여기에서 수퍼 프레임은 하나의 비콘과 다음 주기의 비콘까지의 프레임 구간을 나타낸다.
이하에서는 편의상 제 1 구간을 Target CFP(Contention-Free Period)라 명명하고, 제 2 구간을 Target CP(Contention Period)라 명명하도록 한다.
Multi-Poll 방식에서 수퍼 프레임의 주기가 되는 비콘(Beacon)이나 Mult-poll을 보내고 나서 AP는 Target CFP(Contention-Free Period)동안 VoUP구간을 실측하기 위해서 타이머를 동작시킨다. 따라서, VoUP 구간을 마쳤을 때 실측한 타이머 값과 미리 설정된 Target CFP(Contention-Free Period)의 시간값을 비교하면 VoUP 구간을 마쳤을 때부터 Target CFP(Contention-Free Period)를 종료할때 까지의 최대 VoDn 구간의 값을 계산할 수 있게 된다.
Target CFP(Contention-Free Period)구간중에서 계산된 최대 VoDn 구간의 값을 이용하여 AP에서 MPDCF 단말에 전송할 수 있는 최대 패킷의 수를 계산하고 만약 해당 수퍼 프레임 동안 전송준비 중인 패킷이 최대 패킷 수보다 클 경우 여러 기법의 스케쥴링 정책을 적용하고, 아울러 해당 패킷에 대한 내역을 히스토리로 저장하도록 한다.
이렇게 공평한 분배를 바탕으로 가중치를 각 큐(Queue)에 적용함으로써 한 수퍼 프레임에 보내질 수 있는 적정 패킷 수를 정할 수 있고 그 내역을 저장함으 로써 비정상적으로 과도하게 보내질 수 있는 패킷의 단말을 찾아서 QoS보장 단말에서 제외시키거나 해당 패킷의 발신지를 찾아내는 자료를 제공할 수 도 있다.
도 6은 도 5에 도시된 MPDCF 방식에서의 스케줄링 방법을 설명하기 위한 흐름도이다.
AP는 비콘 주기마다 비콘 신호를 생성하여 자신의 무선랜 영역에 있는 각 단말에게 전송한다. 이때, MPDCF에서는 비콘 주기마다 비콘 신호 또는 멀티 폴링 메시지(Multi-Poll)를 전송하게 된다. 이에 따라, AP에서 수퍼 프레임의 스케줄링을 수행하는 작업은 비콘 신호 또는 멀티 폴링 메시지(Multi-Poll)의 발생한 시점을 체크하는 것으로 부터 시작된다. 비콘 신호 또는 멀티 폴링 메시지(Multi-Poll)는 QoS 서비스를 수행하는데 필요한 주기 신호를 나타내므로 QoS 주기 신호라고 명명하도록 한다.
도 6을 참조하면, QoS 주기신호(Beacon 또는 Multi-Poll)가 발생되었는지 여부를 판단하여(S21), 판단결과 QoS 주기신호(Beacon 또는 Multi-Poll)가 발생되었으면 타이머를 리셋하여 카운트를 시작한다(S22). AP에서 비콘 신호 또는 멀티 폴링 메시지(Multi-Poll)가 주기적으로 생성되는 것은 비콘 신호 또는 멀티 폴링 메시지(Multi-Poll)의 주기를 카운트하는 카운터가 AP내에 탑재되어 있기 때문이다. 따라서, 여기에서 언급된 타이머는 비콘 신호 또는 멀티 폴링 메시지(Multi-Poll)의 주기를 카운트하는 타이머로 보면 된다.
타이머의 카운트값을 읽어서 단말로부터 AP로 패킷을 전송하는 구간(VoUp)이 경과했는지 여부를 판단한다(S23). 단말로부터 AP로 패킷을 전송하는 구간(VoUp)은 타이머를 카운트하여 알 수 있다.
타이머의 카운트를 시작한 상태에서 타이머의 카운트값이 단말로부터 AP로 패킷을 전송하는 구간(VoUp)이 경과한 시점이라면 VoDn 구간의 최대 가능 시간(T4)과 VoDn 구간에 전송가능한 최대 패킷 개수(N(APmax))를 계산한다(S24).
VoDn 구간의 최대 가능 시간(T4)은 수학식 1에 나타낸 바와 같이 전체 수퍼 프레임의 시간으로부터 Target CP 구간을 제외한 Target CFP 구간에서 단말로부터 AP로 패킷을 전송하는 구간(VoUp)이 경과한 시점의 시간을 제외한 시간이 된다.
또한, VoDn 구간에 전송가능한 최대 패킷 개수(N(APmax))는 VoDn 구간의 최대 가능 시간(T4)에 보낼 수 있는 패킷의 개수를 의미한다.
T4=T1 - T2 - T3 - (T1 : 수퍼 프레임의 주기, T2: Target CP 구간으로 동작하는 최소시간, T3: VoDn 구간의 실측 시간, T4:VoDn 구간의 최대 가능 시간,는 허용오차)
다음 QoS를 적용하여 단말에 전송할 패킷의 개수(N(APp))가 AP가 다운모드를 수행하여 전송할 수 있는 패킷의 개수(N(APmax))보다 큰지 여부를 판단한다(S25).
판단결과, QoS를 적용하여 단말에 전송할 패킷의 수(N(APp)가 AP가 다운모드를 수행하여 전송할 수 있는 패킷의 수(N(APmax))를 초과하지 않고 그 이하인 경우에는 AP의 큐에 저장된 모든 패킷을 전송하도록 한다(S26).
한편, 판단 결과 QoS를 적용하여 단말에 전송할 패킷의 수(N(APp)가 AP가 다운모드를 수행하여 전송할 수 있는 패킷의 수(N(APmax))를 초과하는 경우에는 각 단말별로 할당된 큐에서 전송할 수 있는 패킷의 개수를 계산한다(S27).
패킷의 개수는 수학식 2에 나타낸 바와 같이 AP가 다운모드를 수행하여 전송할 수 있는 패킷의 수(N(APmax))를 QoS를 적용하여 단말에 전송할 패킷의 수(N(APp)로 나눈 다음 허용 오차를 감안하여 계산되어 진다.
N(Qn)=(N(APmax) / N(APp)) + β
( N(Qn): 단말에 전송할 패킷의 수, N(APmax) : VoDn에 전송가능한 최대 패킷의 수, N(APp): QoS를 적용하여 단말에 전송할 패킷의 수, : 허용오차)
각 단말별로 할당된 큐에서 전송할 수 있는 패킷의 개수가 계산되어지면 그에 따라 현재의 수퍼 프레임에서 각 단말에 전송될 패킷을 구분하고 각 단말별 패킷의 히스토리를 작성한다(S28).
각 단말별 패킷에 대한 히스토리는 AP의 큐에 저장되는 패킷에 대한 정보를 남김으로써 비정상적으로 과도하게 보내질 수 있는 패킷의 단말을 찾아 패킷 필터 정책에 반영하거나, 더 나아가 해당 패킷의 목적지 단말을 QoS 보장 단말에서 제외시키거나 해당 패킷의 발신지를 찾아내는 정보를 제공할 수 있다.
이제 각 단말들중에서 QoS 허용범위를 벗어난 단말이 있는지 여부를 판단한다(S29). QoS 허용범위를 벗어난다는 것은 임의의 단말에 할당된 큐에 저장된 패킷 이 각 단말별로 할당된 큐에서 전송할 수 있는 패킷의 개수를 초과하는 경우를 의미한다.
판단결과, QoS 허용범위를 벗어난 단말이 없는 경우에는 각 단말별로 할당된 큐에서 전송할 수 있는 패킷의 개수만큼 CFP 구간동안 해당 단말에 전송한다(S32)
한편, 판단결과 QoS 허용범위를 벗어난 단말이 있는 경우에는 큐에 저장된 해당 단말에 패킷을 전송하기 전에 해당 패킷의 전송에 적용되는 패킷 필터 정책이 설정되어 있는지 여부를 판단한다(S30).
패킷의 전송에 적용되는 패킷 필터 정책이 설정되어 있는 경우에는 그 설정된 패킷 필터 정책에 따라 QoS 허용범위를 벗어난 단말에 할당된 큐에 저장된 패킷에 대한 필터링을 수행한다(S31).
여기에서, 패킷 필터는 사용자가 정의하는 시간 FILTER(t) 동안 해당 주기에 보내지 못한 누적패킷 수 N이 사용자가 정의한 시간보다 클 경우 AP에서 해당 단말에 해제 요청 프레임(disassociation request frame)을 보내거나 AP에서 MAC 헤더의 목적지 주소(Destination address)를 보고 해당 단말에 보내질 패킷을 버리게 된다. 이러한 패킷 필터 사용은 사용자의 선택에 따라서 결정된다.
그리고, 필터링의 수행 결과에 따라 각 단말에 할당된 큐에 저장된 패킷들을 Target CFP 구간동안 AP의 큐에 저장되어 있던 패킷을 해당 단말로 전송하고(S32), Target CFP 구간동안 해당 단말로 전송되지 못한 패킷은 다음 수퍼 프레임에서 해당 단말로 전송되도록 보류한다.
이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.