본 발명은 무선 통신 시스템에 관한 것이다. 보다 구체적으로, 다층 셀(multi-tier cell) 및/또는 소형 셀(small cell) 무선 접속 네트워크(radio access network, RAN)에서 효율적인 무선 자원 관리(radio resource management, RRM)을 위한 방법 및 이를 위한 장치에 관한 것이다.
도 1은 협력적(cooperative 또는 coordinated) 무선 통신 환경을 예시한다.
도 1을 참조하면, 스펙트럼의 공간적 재사용을 통해 더 많은 무선용량을 확보하거나 음영지역 해소를 위해, 협력적 무선 통신 환경에서는 보다 많은 소형 셀(예, 피코셀(picocell), 펨토셀(femtocell))들이 매크로 셀과 중첩적으로 사용될 수 있다. 이러한 셀들의 중첩을 통해 협력 다중 포인트(Cooperative Multi-Point 또는 Coordinated Multi-Point, CoMP) 시스템이 구성될 수 있다. CoMP 시스템에서 이용되는 기법은 조인트 처리(Joint Processing, JP)/조인트 전송(Joint Transmission, JT) 기법, 협력 스케줄링(Cooperative or Coordinated Scheduling, CS)/협력 빔포밍(Cooperative or Coordinated Beamforming, CB) 기법/협력 전력 제어(Cooperative or Coordinated Power Control, CPC) 기법을 포함할 수 있다.
JP/JR 기법은 기지국에서 단말로 전송되는 하향링크 신호가 한번에 복수의 포인트(CoMP 동작에 참여하는 포인트(예, 기지국)의 일부 또는 전부)로부터 전송되는 기법을 말한다. 즉, 단일 단말로 전송되는 데이터는 복수의 전송 포인트로부터 동시에 전송될 수 있다. JP/JR 기법에 의하면, 코히어런트하게(coherently) 또는 넌-코히어런트하게(non-coherently) 수신 신호의 품질이 향상될 수 있고, 다른 단말에 대한 간섭을 능동적으로 소거할 수도 있다. CS/CB/CPC 기법에 의하면 CoMP 동작에 참여하는 포인트들이 단일 단말에 대한 데이터 전송의 빔포밍을 협력적으로 수행할 수 있다. 여기서, 데이터는 서빙 포인트에서만 전송되지만, 사용자 스케줄링/빔포밍/전력 제어는 해당 CoMP 동작에 참여하는 포인트들의 협력(Cooperation)에 의하여 결정될 수 있다.
또한, CoMP 시스템에서는 다중 안테나를 이용하는 다중 입력 다중 출력(multiple input multiple output, MIMO) 안테나 기법이 사용될 수 있다. 예를 들어, MIMO 기법은 한 사용자에게 기지국의 안테나 자원 또는 무선 자원 모두를 할당하는 방식인 단일 사용자(single user) MIMO(SU-MIMO)와 다수의 사용자에게 안테나 자원 또는 무선 자원을 분배하는 방식인 다중 사용자(multi user) MIMO(MU-MIMO)를 포함할 수 있다.
상술한 바와 같이 CoMP 시스템은 복수의 전송 포인트들을 하나의 그룹으로 묶어 가상 MIMO 시스템으로 동작하거나 단일 전송 포인트가 MIMO 시스템으로 동작하는 것이라 할 수 있으며, 따라서 다중 안테나를 사용하는 MIMO 시스템의 통신 기법이 적용될 수 있다.
한편, 소형 셀들이 고밀도로 배치되는 고밀도의(dense) RAN 구조는 인접/중첩 셀 간 간섭(즉, 같은 계층(tier) 셀 간 간섭은 물론 다른 계층(tier) 셀 간 간섭)과 같은 문제를 야기할 수 있다. 이러한 간섭 문제는 소형 셀을 통해 얻을 수 있는 이득을 감소시킬 수 있다. 기존 시스템에서는 인접/중첩 셀 간 간섭 문제를 해결하기 위해 정적인 주파수 재사용(static frequency reuse) 패턴 할당과 기초적인(primitive) 수준의 전송 스케줄링 등이 이용되고 있다. 하지만, 소형 셀 환경은 기존 매크로 셀 중심의 무선 환경에 비해 토폴로지가 매우 다이나믹하게 변할 수 있고 또한 더욱 진보된 물리계층 기술을 이용하기 위해, 적응적이고 발전된 RRM 기법이 요구된다. 이를 위해, 보다 적응적이고 발전된 RRM 기법이 될 수 있는 클라우드 무선 접속 네트워크(cloud radio access network, Cloud-RAN, C-RAN)에 대한 논의가 진행되고 있다.
도 2는 클라우드 RAN 시스템을 예시한다.
클라우드 RAN(또는 C-RAN) 시스템은 급증하는 사용자들의 트래픽 요구사항을 맞추기 위해 일일이 기지국을 추가 설치하는 것에 대한 비용적 한계와 한정적인 주파수 자원에 대한 제약을 극복할 수 있도록 제안된 미래 네트워크 시스템 중 하나이다. 현재 이동통신 네트워크 운영 방식은 모든 기지국들이 각각 기지국에 할당된 자원을 최대한 활용하여 사용자의 요구 사항을 처리하는 분산형 시스템이다. 이에 반해, 클라우드 RAN 시스템은 기지국들이 백홀을 통해 서로 연결되어 중앙 집중형으로 처리되는 클라우드 컴퓨팅 개념의 중앙 집중형 시스템을 의미한다. 기존 기지국의 각 계층(예, PHY/MAC)에서 수행되는 서비스를 중앙 집중형으로 처리하여 자원 관리를 하기 때문에 기지국 증설에 따른 비용 문제를 해결할 수 있고 셀 성능 향상을 위한 기지국 간 협력 통신 구현도 용이할 수 있다. 따라서, 클라우드 RAN 시스템을 통해 무선 자원의 효율성을 극대화할 수 있다.
도 2를 참조하면, 클라우드 RAN 시스템은 실시간(real-time) 클라우드 서버(210), 백홀 네트워크(backhaul network)(220), 원격 무선 유닛(Remote Radio Unit, RRU)(230)를 포함할 수 있다. 클라우드 서버(210)는 중앙 집중형 처리(centralized processing)를 위한 실시간(real-time) 클라우드 컴퓨팅을 제공할 수 있다. 백홀 네트워크(220)는 RRU(230)와 클라우드 서버(210)를 서로 연결하고 고용량 정보를 빠른 속도로 전달할 수 있도록 높은 대역폭을 제공할 수 있다. 일 예로, 백홀 네트워크(220)는 광 전송망(optical transport network)으로 구현될 수 있다. RRU(230)는 단말들에 대하여 앞서 설명된 CoMP 통신 기법을 제공할 수 있다. 도 2의 예에서, 클라우드 서버(210)가 PHY/MAC 계층을 구현하는 것으로 예시되어 있지만, 이에 한정되는 것은 아니다. 예를 들어, RRU(230)에는 PHY 계층이 구현되고 클라우드 서버(210)에서는 MAC 계층 이상이 구현되는 것도 가능하다.
도 3은 기존 시스템의 셀 개념과 클라우드 RAN 시스템의 가상 셀 개념을 예시한다. 기존 시스템과 클라우드 RAN 시스템의 한 가지 차이점은 RRM을 수행하는 주체에 있을 수 있다. 기존 시스템에서는 기지국이 셀에 속한 단말들에게 무선 자원을 스케줄링/할당하도록 운용되지만, 클라우드 RAN 시스템에서는 무선 자원 관리(RRM)가 클라우드를 통해 수행될 수 있다. 예를 들어, 클라우드 RAN 시스템에서는 단말이 특정 기지국에 속하여 자원 할당을 받는 제약이 없어지고 자유롭게 여러 기지국을 통해 자원 할당을 받을 수 있다. 따라서, 기존 시스템에서 기지국에 의한 서비스 커버리지의 개념으로 이해되는 전통적인 셀과 달리, 클라우드 RAN 시스템에서는 클라우드 서버 상에서 단말을 중심으로 형성되는 가상 셀(Virtual Cell)의 개념이 도입될 수 있다.
도 3(a)는 기존 시스템에서 기지국을 통해 RRM이 수행되는 예를 예시한다. 도 3(a)에 예시된 바와 같이, 기존 시스템에서는 공간 상에 설치된 각 기지국이 네트워크의 물리적 자원이라고 할 수 있고, 각 기지국은 전력 예산(power budget), 주파수 대역, 안테나 수, 부하(load) 등으로 그 자원을 특정할 수 있다. 하지만, 단말 입장에서는 동일한 QoS(Quality of Service)/QoE(Quality of Experience)를 제공하고 동일한 비용(또는 동일한 조건)이 필요하다면 매크로 셀과 통신하는지, 소형 셀(예, 펨토셀 또는 피코셀)과 통신하는지, 혹은 여러 셀과 동시에 통신하는지는 중요하지 않을 수 있다. 따라서, 단말 입장에서는 자신에게 가장 잘 맞는 물리적 기지국을 모아 가상의 셀을 구성하는 것이 바람직할 수 있다.
도 3(b)는 클라우드 시스템에서 RRM이 수행되는 예를 예시한다. 기존 시스템과 달리, 클라우드 시스템에서는 단말이 자신의 통신 환경에서 가장 적합한 물리적 기지국을 선택할 수 있으며 선택된 기지국을 토대로 클라우드를 통해 가상 셀을 형성할 수 있다. 도 3(b)의 예에서 각각의 가상 셀(예, Virtual cell 1, Virtual cell 2)이 하나의 기지국을 중심으로 형성되는 것으로 도시되어 있지만, 도 3(b)에 도시된 기지국은 가상적인 기지국이고 각 가상 셀은 하나 이상의 물리적 기지국으로 구성될 수 있다. 따라서, 기존 기지국 중심의 자원 관리에서 셀 경계에 위치한 사용자의 측면에서 발생할 수 있는 단점들(예, 셀 간 간섭(inter-cell interference))은 가상 셀을 이용하여 극복 가능할 수 있다.
앞서 언급된 바와 같이, 클라우드 RAN 시스템에서 가상 셀은 각 단말이 가장 적합하도록 형성하는 것이므로 각 단말은 가상 셀을 형성하기 위해 기지국 클러스터를 결정할 수 있다. 기지국 클러스터링은 단말이 가상 셀 형성을 위한 물리적 기지국 집합을 선정하는 것을 지칭할 수 있으며, 물리적 기지국 집합을 기지국 클러스터라고 지칭할 수 있다. 각 단말이 기지국 클러스터를 어떻게 형성하는지에 따라 클라우드 RAN 시스템 전체의 성능이 영향을 받을 수 있으므로, 각 단말은 클러스터 형성으로 인한 비용(cost)를 최소화할 수 있도록 기지국 클러스터를 형성하는 것이 바람직할 수 있다.
또한, 기지국 클러스터에 속한 각각의 물리적 기지국은 복수의 기지국 클러스터(또는 가상 셀)에 걸쳐 중첩될 수 있다. 이 경우, 전송 성능을 최대화하도록 복수의 기지국 클러스터들에 해당하는 단말들을 스케줄링할 필요가 있다. 또한, 스케줄링된 단말에 대하여 최적의 전송 환경을 제공할 수 잇도록 프리코딩 기법을 적용하고 전력 제어를 수행하는 것이 바람직할 수 있다.
이에, 본 발명에서는 가상 셀을 운용하기 위한 여러가지 효율적인 기법을 제안한다. 보다 구체적으로, 본 발명에서는 단말 중심적 가상 셀 형성을 위한 기지국 클러스터링 기법, 중첩이 허용된 다중 가상 셀 환경에서 전체 전송률을 최대화할 수 있는 스케줄링 기법, 그리고 스케줄링된 단말에 대하여 최적의 전송 상황을 만들어 주는 프리코딩 및 전력 제어 기법을 제안한다.
기지국 클러스터링
앞서 설명된 바와 같이, 네트워크 성능을 향상시키고 셀간 간섭을 제어하기 위한 방법으로서, CoMP 시스템이 이용될 수 있다. CoMP 시스템에서는 여러 기지국들이 서로 백홀(backhaul)로 연결 되어서 동시에 하나의 단말에게 데이터를 전송하거나 수신할 수 있다. 따라서, CoMP 시스템에서는 기존에 간섭을 주던 셀이 신호 전송에 도움을 주고 또한 간섭이 제거되므로 데이터 전송률을 향상시킬 수 있게 한다.
기지국 협력 기법(또는 CoMP 기법)이 이용되는 경우, 네트워크에 존재하는 모든 기지국들이 협력해서(총체적 협력, full cooperation) 거대한 하나의 가상 MIMO 시스템을 구성하여 완벽히 셀간 간섭을 제거하는 바람직할 수 있다. 하지만, 총체적 협력(full cooperation)이 가장 높은 성능을 보장할 수는 있지만 단점들도 수반한다. 우선 총체적 협력을 위해 모든 기지국이 단말에게 보낼 데이터를 가지고 있어야 한다. 네트워크 사이즈가 커지고 단말의 수가 늘어나는 경우, 이는 백홀에 매우 큰 부하로 작용할 수 있다. 이 뿐만 아니라 모든 단말과 모든 기지국 사이에 채널 정보를 측정하고 이를 네트워크로 피드백 해주어야 한다. 이 정보 또한 모든 기지국에 공유가 되어야 한다. 따라서, 총체적 협력을 수행하는 경우 유무선 모두에 있어서 매우 큰 오버헤드가 발생할 수 있다.
총체적 협력(full cooperation)의 단점을 극복하기 위해, 네트워크 모든 기지국이 협력을 하는 것이 아니라 일부 기지국만 협력하여 기지국 클러스터를 형성하는 것이 현실적일 수 있다. 이 경우 동일한 클러스터에 속하는 셀간 간섭을 제어함으로써 성능이 증가될 수 있다.
도 4는 기지국 클러스터 사이즈(cluster size)에 따른 성능과 비용을 예시한다. 기지국 클러스터 사이즈는 기지국 클러스터를 형성하는 물리적 기지국의 개수를 지칭할 수 있다.
도 4를 참조하면, 클러스터 사이즈에 따른 성능과 비용은 서로 상충(trade-off) 관계를 가진다. 도 4의 예에서, 성능은 단말의 전송률을 지칭하고 비용은 백홀에 걸리는 부하를 지칭할 수 있다. 더 좋은 성능을 가지기 위해서는 더 많은 기지국을 클러스터로 형성하는 것이 바람직하지만 그에 상응하는 비용도 또한 커질 수 있다. 또한, 도 4에 예시된 바와 같이, 클러스터 사이즈가 증가함에 따라 성능(예, 단말의 전송률)은 로그 스케일(logarithmic scale)로 증가하고 비용(예, 백홀 부하)은 선형 스케일(linear scale)로 증가할 수 있다. 따라서, 클러스터 사이즈가 일정한 수준 이상 커지면, 성능 이득 보다 비용 손실이 더 클 수도 있다. 하지만, 적절한 기지국 클러스터 사이즈는 모든 네트워크 환경에 동일하게 적용되는 것이 아니라 네트워크 환경에 따라 변할 수 있는 값이다. 예를 들어, 간섭 제어 및 기지국 협력 통신(예, CoMP 통신)의 측면에 있어서, 기지국들이 높은 밀도로 분포된 경우 클러스터 사이즈가 큰 것이 유리한 반면, 반대로 기지국들이 낮은 밀도로 분포된 경우 클러스터 사이즈가 작은 것이 유리할 수 있다. 클러스터 사이즈뿐만 아니라 클러스털 형성을 정적으로 할 것인가 아니면 동적으로 할 것인가도 성능에 중요한 영향을 미친다.
도 5는 정적 클러스터링과 동적 클러스터링의 성능을 예시한다. 정적 클러스터링은 네트워크 측에서 단말의 상태에 관계없이 정적으로 기지국 클러스터를 형성하는 것을 지칭하고, 동적 클러스터링은 네트워크 측에서 단말의 상태에 따라 적합한 기지국 클러스터를 동적으로 형성하는 것을 지칭할 수 있다. 두 방법의 차이는 클러스터 엣지 효과(cluster edge effect)를 제거할 수 있는지 여부에 있을 수 있다. 클러스터 엣지 효과는 기존의 셀룰라 네트워크에서 셀 엣지 단말들의 성능 저하와 유사한 이유로서(즉, 데이터 신호의 전송 거리는 멀고 간섭 신호의 전송 거리는 가깝기 때문에 생기는 성능 저하), 클러스터의 엣지에 있는 단말의 성능이 저하되는 현상을 말한다. 정적으로 클러스터를 형성하는 경우에는 이런 문제가 계속해서 발생할 수가 있지만, 단말에 맞추어서 기지국 클러스터를 동적으로 형성한다면 이런 클러스터 엣지 효과는 해결될 수 있다.
도 5를 참조하면, 기지국 당 하나의 안테나를 이용한 통신을 가정한다. 도 5의 예에서는, 4개의 셀을 동적으로 클러스터를 형성하는 경우(4 Cells Dynamic), 2개의 셀을 동적으로 클러스터를 형성하는 경우(2 Cells Dynamic), 7개의 셀을 정적으로 클러스터를 형성하는 경우(7 Cells Static), 4개의 셀을 정적으로 클러스터를 형성하는 경우(4 Cells Static), 단일 셀을 통한 처리의 경우(Single Cell Processing), 각각의 성능이 도시되어 있다. 일반적으로 클러스터 사이즈가 증가할수록 성능이 증가하지만, 도 5에서 예시된 바와 같이 동적으로 두 개의 기지국을 클러스터를 형성하는 것이 정적으로 7개의 기지국을 클러스터로 형성하는 것 보다 더 나은 성능을 보여줄 수 있다. 즉, 도 5의 예에서, 동적 클러스터링이 정적 클러스터링에 비해 동일한 SNR(Signal to Noise Ratio)에서 더 높은 총 전송률(sum rate)를 보여준다.
이와 같이, 동적 클러스터링이 클러스터 엣지 효과를 해소하는 데 유리하지만, 다른 방법으로 클러스터 엣지 효과를 해소할 수 있다. 다른 예로, 단말 중심의 기지국 클러스터 형성을 통해 클러스터 엣지 효과를 해결할 수도 있다. 기지국 클러스터 자체를 단말 별로 형성 한다면 애초에 단말이 클러스터 엣지에 존재하는 것을 방지할 수 있다. 하나의 단말 입장에서 자신에게 데이터를 전송하는 기지국 클러스터가 고정이 되기 때문에 기지국들간에 데이터/채널 정보 공유나 제어 신호 처리를 간단하게 할 수 있다. 만약 동적으로 클러스터를 변화시킨다면 이런 데이터/채널 정보 공유나 제어 신호 처리를 매번 동적으로 변하는 클러스터에 맞추어 같이 변화시켜줘야 할 것이다.
따라서, 본 발명에서는 i) 성능과 비용에 상관 관계를 잘 조절할 수 있고, ii) 네트워크 환경에 적응적이며. iii) 단말 중심적으로 기지국 클러스터를 형성하는 방법을 제안한다.
먼저, 본 발명의 설명을 위한 변수들을 정의한다. M개의 기지국(혹은 기지국 집합)과 K개의 단말(혹은 단말 집합)이 있는 네트워크를 가정한다. 클러스터 지시자(indicator)를 J
mk라 정의한다. 클러스터 지시자는 특정 단말이 특정 기지국을 자신을 위한 기지국 클러스터에 포함시키는지 여부를 나타낸다. 예를 들어, 클러스터 지시자는 단말 k가 기지국 m을 자신의 클러스터로 포함시키는 경우 1의 값을 가질 수 있고, 그렇지 않은 경우 0의 값을 가질 수 있다. 이에 따라 단말 k가 형성한 기지국 클러스터의 집합을
로 표현할 수 있고, 기지국 m에 대해서 자신을 클러스터로 포함하는 단말의 집합을
로 표현할 수 있다.
성능과 비용 두 종류의 메트릭(metric) 중에 먼저 비용에 대한 메트릭 f(J)는 수학식 1과 같이 정의될 수 있다.
수학식 1의 메트릭은 백홀 망에서 생기는 부하가 클러스터 사이즈에 따라 선형(linear)으로 증가하는 것을 기반으로 정의된 메트릭이다. 비용 메트릭 f(J)는 선형(linear)으로만 제한되는 것은 아니며, 예를 들어 비용 메트릭 f(J)를 컨벡스 증가 함수(convex increasing function)로 모델링할 수 있다.
다음으로 성능에 대한 메트릭(metric)은 PSTSR(potential signal to total signal ratio)을 이용하며 단말 k에 대한 성능 메트릭은 수학식 2와 같이 정의될 수 있다.
수학식 2에서,
은 기지국 m의 전송 전력,
는 기지국 m과 단말 k 사이의 경로 손실(path-loss),
은 기지국 m에서 단말 k로의 자원 할당 이득(resource allocation gain)을 의미한다. 단말 k가 클러스터 M
k를 형성할 경우 단말 k가 가질 수 있는 평균 전송률은 스케줄링, 전송 전력 할당, 프리코더(precoder) 제어 방식에 따라 결정될 수 있다. 하지만, 평균 전송률을 닫힌 형태(closed-form)로 찾기는 불가능하기 때문에 이에 대한 근사화를 하는 PSTSR을 이용할 수 있다. 또한, 각 기지국이 가질 수 있는 부하(load)의 최대치를 L
m라 정의한다.
각 단말 별로 최소 성능은 보장하면서 클러스터 형성으로 발생되는 비용을 최소화하는 문제를 수학식 3과 같이 수식화할 수 있다.
수학식 4에서,
는 단말에게 보장해주는 최소한의 성능 값이다. 첫 번째 제약(constraint)(식 3-2)은 성능 보장을 위한 것이고 두 번째 제약(constraint)(식 3-3)은 기지국 별 부하(load) 제한을 위한 것이다. 수학식 3 내지 6의 문제는 마지막 제약(constraint)(식 3-4) 때문에 조합 최적화(combinatorial optimization) 문제가 되어 풀기 어려울 수 있다. 하지만, 식 3-4의 제약을 0≤J
mk≤1로 완화(relaxation)시키면 수학식 3의 문제는 컨벡스 최적화(convex optimization) 문제가 되므로, 이는 잘 알려진 프라이멀-듀얼(primal-dual) 알고리즘을 이용하여 풀 수 있다. 따라서, 식 3-4의 제약을 완화시키면, 수학식 3의 문제를 표 1과 같이 세 가지 문제로 분리(decompose)시킬 수 있고 각각의 문제를 푸는 해(solution)를 찾을 수 있다.
표 1에서, x
k는 식 3-2의 제약으로부터 도출되는 값이므로 단말 k의 성능에 관련된 값이다. y
m은 식 3-3의 제약으로부터 도출되는 값이므로 기지국 m의 부하(load)와 관련된 값이다.
은 기지국 m의 전송 전력,
는 기지국 m과 단말 k 사이의 경로 손실(path-loss)을 나타내므로 S
mk는 단말 k와 기지국 m 사이의 경로 손실(path-loss)에만 의존한 신호 세기를 나타낸다. w
mk는 단말 k로 신호를 전송하는 기지국들로부터의 신호 세기의 합을 기지국 m에서 단말 k로의 자원 할당 이득으로 나눈 값이므로 네트워크 상황에 관련된 값이다. 표 1의 해를 토대로, 단말 k가 구성하는 기지국 클러스터 집합 M
k는 수학식 4에 의해 결정될 수 있다.
수학식 4에서, 단말 k와 기지국 m 사이의 경로 손실(path-loss)에만 의존한 신호 세기 S
mk가 특정 임계값
보다 크다면 기지국 m은 단말의 클러스터 기지국으로 선정될 수 있다. 수학식 4에서, 임계값은 세 개의 변수 w
mk,x
k,y
m에 의해 결정되며, 앞서 설명된 바와 같이 변수들은 각각 네트워크 상황, 단말이 느끼는 성능, 기지국이 갖는 부하와 관련된 값이다. 그리고 두 값 x
k,y
m은 적응적으로 결정되는 값이다. 예를 들어, 단말의 성능이 보장되지 않는 경우 x
k가 증가되며 이 경우 임계값은 작아진다. 또한, 예를 들어, 특정 기지국의 부하가 많다면 y
m가 증가되며 이 경우 임계값은 커진다.
따라서, 본 발명에 따른 기지국 클러스터링 방법은 적응적으로 변하는 임계값과 비교함으로써 단말 k가 측정할 수 있는 기지국 m과의 신호 세기 Smk과 기지국 m의 부하(load) 정보 ym을 기반으로 단말 k가 적합한 기지국들을 클러스터를 형성하는 것이다.
한편, 기존에 제안되었던 기지국 클러스터링 알고리즘은 수학식 5 내지 7와 같이 정리될 수 있다.
○ 최고-N 기지국 클러스터링(Highest-N BS clustering) : 신호 세기가 가장 높은 N개의 기지국을 클러스터로 형성하는 방법이며, 기지국 클러스터 집합 Mk는 수학식 5에 의해 결정될 수 있다. 편의상, 최고-N 클러스터링이라 지칭될 수 있다.
○ 절대 신호 임계값 기반 클러스터링(Absolute signal threshold based clustering) : 신호 세기가 임계값 이상인 기지국을 클러스터로 형성하는 방법이며, 기지국 클러스터 집합 Mk는 수학식 6에 의해 결정될 수 있다. 편의상, 절대 클러스터링이라 지칭될 수 있다.
○ 상대 신호 임계값 기반 클러스터링(Relative signal threshold based clustering) : 가장 좋은 신호 대비 신호 세기가 임계값 이상인 기지국을 클러스터로 형성하는 방법이며, 기지국 클러스터 집합 Mk는 수학식 7에 의해 결정될 수 있다. 편의상, 상대 클러스터링이라 지칭될 수 있다.
기존의 클러스터링 방법들은 각 단말마다 다른 네트워크 환경의 차이를 고려하여 임계값을 적응적으로 조절하는 기능을 포함하고 있지 않다. 반면, 본 발명에 따른 기지국 클러스터링 방법에서는 일정한 수준의 성능을 보장하면서도 각 단말이 네트워크 환경(기지국과의 신호 세기, 기지국의 부하)을 고려하여 적응적으로 클러스터를 형성할 수 있으므로 큰 장점이 있다.
도 6과 도 7은 본 발명에 따른 기지국 클러스터링 방법과 기존 클러스터링 방법들의 성능을 비교하여 예시한 것이다. 도 6과 도 7의 성능은 일정한 영역 내에 단말이 400개 있다고 가정하고 시뮬레이션하여 도출된 결과이다. 도 6의 예는 10×10 ㎢ 영역 내에 25개의 기지국이 분포되어 있는 경우의 결과이고, 도 7의 예는 10×10 ㎢ 영역 내에 50개의 기지국이 분포되어 있는 경우의 결과이다. 따라서, 도 6의 예는 저밀도 경우에 해당하고 도 7의 예는 고밀도 경우에 해당할 수 있다. 각 기지국의 전송 파워는 43dBm이고 경로 손실(path-loss)은 128.1+37.6×log
10(d)의 식을 따르며, d는 km 단위의 거리이다. 제안하는 기법에서
는 1로 가정하고 기지국의 부하 제한은 없다고 가정한다. 또한, 도 6과 도 7에서 “A-signal Thr.”은 수학식 6에 따른 절대 신호 임계값 기반 클러스터링을 지칭하고, “R-signal Thr.”은 수학식 7에 따른 상대 신호 임계값 기반 클러스터링을 지칭하고, “Highest-N”은 수학식 5에 따른 최고-N 기지국 클러스터링을 지칭하고, “Adaptive Thr.”은 본 발명에 따른 기지국 클러스터링을 지칭한다.
도 6과 도 7에 예시된 바와 같이, 성능을 증가시키기 위해선 그에 상응하는 비용의 증가가 요구될 수 있다. 네 개의 기법 중에 최고-N 클러스터링이나 절대 클러스터링은 상대 클러스터링이나 본 발명에 따른 적응적 클러스터링에 비해 좋지 않은 성능을 보여준다. 예를 들어, 최고-N 클러스터링이나 절대 클러스터링은 동일한 성능을 기준으로 더 높은 비용이 요구되거나 동일한 비용에서 더 나쁜 성능을 보여준다.
또한, 도 6(a)나 도 7(a)에 예시된 바와 같이, 네트워크 모든 단말의 평균적인 성능에 있어서 본 발명에 따른 적응적 클러스터링 기법과 상대 클러스터링 기법은 유사한 결과를 보여준다. 하지만, 도 6(b)나 도 7(b)에 예시된 바와 같이, 하위 30% 성능을 가지는 단말이나 최악의 성능을 가지는 단말에 있어서, 본 발명에 따른 적응적 클러스터링 기법은 상대 클러스터링 기법에 비해 훨씬 좋은 결과를 보여준다. 예를 들어, 본 발명에 따른 적응적 클러스터링 기법은 동일한 비용 대비 성능이 크게 향상되거나 동일한 성능 대비 훨씬 작은 비용이 요구된다. 이는 본 발명에 따른 기지국 클러스터링 방법이 각 단말 별로 느끼게 되는 네트워크 환경의 차이를 고려하여 네트워크 환경이 좋지 않으면 클러스터 사이즈를 증가시키고 네트워크 환경이 좋으면 클러스터 사이즈를 감소시키므로, 전체 비용(cost)이 동일할 때 더 많은 비용을 필요로 하는 단말의 클러스터 형성에 비용이 이용될 수 있게 하기 때문이다. 하위 30% 성능을 가지는 단말들의 평균과 최하위 단말의 성능의 차이가 거의 존재하지 않는 결과로부터 더욱 확실히 알 수 있다. 따라서, 본 발명에 따른 기지국 클러스터링 방법은 개별 단말이 경험하는 네트워크 환경을 고려하여 단말 중심의 기지국 클러스터를 형성하는 데 있어 장점을 가진다고 할 수 있다.
도 8은 본 발명에 따른 기지국 클러스터링 방법의 순서도를 예시한다. 기지국 클러스터링은 네트워크에 새로운 단말이 추가되거나 단말의 이동성에 의해서 네트워크 환경이 변화되어 새로운 기지국 클러스터 형성이 필요한 경우 수행될 수 있다.
S802 단계에서, 단말은 기지국에서 전송되는 신호의 세기를 측정할 수 있다. 일 예로, 측정 대상 신호는 참조 신호(reference signal)일 수 있다. 또한, 일 예로, 측정 대상 신호는 기지국으로부터 주기적으로 브로드캐스트될 수 있다.
S804 단계에서, 단말은 부하 정보를 수신할 수 있다. 예를 들어, 부하 정보는 백홀 네트워크에서 걸리는 부하를 가리킬 수 있다. 다른 예로, 부하 정보는 한 기지국에 걸리는 부하를 가리키거나 현재 기지국 클러스터에 걸리는 부하를 가리킬 수 있다.
도 8의 예에서 S802 단계와 S804 단계가 별도로 수행되는 것으로 도시되었지만, 동일한 단계에서 함께 수행되거나 서로 순서가 바뀌어 수행될 수 있다. 예를 들어, 단말이 기지국으로부터 부하 정보를 수신할 때 함께 수신되는 참조 신호를 이용하여 기지국의 신호 세기를 측정할 수 있다. 즉, 단말은 부하 정보를 수신하는 데 이용되는 참조 신호를 이용하여 기지국의 신호 세기를 측정할 수 있다.
S806 단계에서, 단말은 기지국 클러스터링을 수행할 수 있다. 단말은 S802 단계에서 측정된 신호 세기와 S804 단계에서 수신된 부하 정보를 이용하여 수학식 4에 따라 특정 기지국이 상기 단말의 기지국 클러스터를 형성하는지 여부를 결정할 수 있다.
S808 단계에서, 단말은 기지국 클러스터에 관한 정보를 네트워크(예, 클라우드 서버)로 전송할 수 있다. 그러면, 네트워크는 단말로부터 기지국 클러스터 정보를 수신하여 상기 단말에 대한 기지국 클러스터 정보를 업데이트할 수 있다.
도 8은 오로지 예일 뿐이며, 도 8의 예는 필요에 따라 변경될 수 있다. 예를 들어, 도 8의 단계들 중 일부는 제외되고 실시될 수 있고, 도 8의 단계들 외에 다른 단계가 추가적으로 포함되어 실시될 수 있다. 또한, 도 8의 단계들 중 일부는 필요에 따라 변형되어 실시될 수 있다.
도 8에 도시되지는 않았지만, 본 발명에 따른 기지국 클러스터링 방법에 따라 결정된 기지국 클러스터를 이용하여 가상 셀이 형성될 수 있다. 가상 셀이 형성되는 경우, 단말과 가상 셀 간의 무선 인터페이스(radio interface)가 생성될 수 있다. 예를 들어, 네트워크(예, 클라우드 서버)는 S808 단계에서 수신된 기지국 클러스터 정보를 기반으로 단말이 형성한 클러스터 중 하나의 기지국과 단말 사이에 제어 신호 및 피드백을 위한 무선 인터페이스를 생성할 수 있다. 무선 인터페이스는 단말이 형성한 기지국 클러스터 중 복수의 기지국과 단말 사이에 형성되는 것도 가능하다.
또한, 도 8에 도시되지 않았지만, 네트워크(예, 클라우드 서버)는 가상 셀을 형성하는 기지국들로의 데이터 경로를 설정할 수 있다. 일 예로, 가상 셀을 형성하는 기지국들은 상기 기지국 클러스터 정보를 기반으로 결정될 수 있다.
스케줄링
스케줄링 문제는 네트워크에서 동시에 데이터를 보낼 수 있는 단말의 수보다 네트워크에 더 많은 단말이 존재하는 경우에 어떤 단말을 선택해서 데이터 전송을 할 것인지 선택하는 것을 지칭할 수 있다. 이런 스케줄링 문제에는 두 가지의 고려사항이 있다. 하나는 선택하는 단말 집합의 실현가능성(feasibility)이고 다른 하나는 효율성(efficiency)이다.
실현가능성(feasibility)은 스케줄링 문제의 제한 조건으로 생각할 수 있다. 다중 안테나 시스템에서는 MU-MIMO(multi-user multiple input multiple output) 기법을 이용하여 한 번에 최대 안테나 수만큼 단말들에게 동시에 데이터 전송이 가능하기 때문이 기지국 당 선택할 수 있는 단말의 수가 늘어날 수 있다. 구체적으로, MIMO 채널에서 전송 안테나 수보다 작거나 같은 수의 스트림(stream)을 서로 독립적으로 전송할 수 있다(D. Gesbert, M. Kountouris, R. W. Heath Jr. C.-B. Chae, and T. Salzer, “Shifting the MIMO paradigm,” IEEE Signal Processing Magazine 2007. 참조). 이러한 MU-MIMO 기법은 중첩되지 않는 클러스터 형성 상황에서 직접적으로 적용 가능하다. 중첩되지 않는 클러스터의 경우에는 중첩되지 않는 기지국 클러스터 하나를 하나의 전송단으로 생각할 수 있으므로, 가상의 전송 안테나의 수만큼 독립적인 스트림(stream)을 보낼 수 있기 때문에 가상의 전송 안테나의 수만큼 단말을 선택할 수 있다. 따라서, 실현가능성은 전송단의 안테나 개수가 수신단의 개수보다 크거나 같은지 여부를 의미할 수 있다.
실현가능성(feasibility) 체크는 기지국 클러스터가 중첩이 허용되는 경우에 복잡해진다. 기지국 클러스터가 중첩이 허용되는 경우, 모든 가능한 클러스터에 대해서 전송단의 가상 전송 안테나 수가 스케줄링되는 단말의 수 보다 큰지 확인해야 하는 복잡함이 있다.
도 9와 도 10은 각각 기지국 클러스터가 중첩되지 않는 경우와 중첩되는 경우 실현가능성(feasibility)을 예시한다. 도 9와 도 10을 참조하여 기초적인(primitive) 시스템부터 실현가능성(feasibility)에 대해서 정리하면 다음과 같이 기술될 수 있다.
도 9(a)를 참조하면, 단일 셀 단일 안테나 전송 시스템의 경우가 예시되어 있다. 실선 동그라미는 하나의 셀을 나타내고 화살표는 기지국이 스케줄링하는 단말을 나타낸다. 단일 셀 단일 안테나 시스템이므로 하나의 셀 당 하나의 단말이 선택되어 스케줄링될 수 있다. 도 9(a)의 예에서 3개의 기지국과 3개의 셀이 존재하며 각 기지국과 각 셀에 대하여 하나의 단말이 선택되어 스케줄링되고 있다. 따라서, 도 9(a)의 예는 실현가능성이 있다(feasible).
도 9(b)를 참조하면, 단일 셀 다중 안테나 전송 시스템의 경우가 예시되어 있다. 이 경우, 하나의 기지국 당 최대 기지국 안테나 수 만큼 단말이 선택될 수 있다. 도 9(b)의 예에서는 하나의 기지국이 2개의 안테나를 가지므로 하나의 셀 당 2개의 단말이 선택되어 스케줄링될 수 있다. 또한, 도 9(b)의 예에서 3개의 기지국과 3개의 셀이 존재하며 각 기지국과 각 셀 내에서 2개의 단말이 선택되어 스케줄링되고 있다. 따라서, 도 9(b)의 예는 실현가능성이 있다(feasible).
도 9(c)를 참조하면, 중첩 없는 기지국 협력 통신 시스템의 경우가 예시되어 있다. 기지국을 둘러싸는 점선은 기지국 협력 통신을 위해 형성된 기지국 클러스터를 나타내고 단말을 둘러싸는 점선은 협력 통신을 지원하는 단말을 나타낸다. 이 경우, 하나의 클러스터 당 최대 클러스터의 안테나 수(또는 클러스터 내 기지국 안테나 수의 합) 만큼 단말이 선택될 수 있다. 도 9(c)의 예에서 2개의 기지국으로 구성되는 하나의 기지국 클러스터와 하나의 셀이 존재하며 각 기지국은 단일 안테나를 가진다. 2개의 기지국으로 구성되는 하나의 기지국 클러스터 내에서 2개의 단말이 선택되어 스케줄링될 수 있고 하나의 셀에서 하나의 단말이 선택되어 스케줄링될 수 있다. 따라서, 도 9(c)의 예는 실현가능성이 있다(feasible).
도 10(a)를 참조하면, 중첩 있는 기지국 협력 통신 시스템의 경우가 예시되어 있다. 이 경우, 고려 가능한 모든 임의의 클러스터 당 최대 클러스터의 안테나 수(또는 클러스터 내 기지국 안테나 수의 합)보다 그 클러스터에 속하는 단말의 수가 작도록 선택될 수 있다. 도 10(a)의 예에서 2개의 기지국으로 구성되는 기지국 클러스터가 2개 존재하며 각 클러스터는 중첩되어 있다. 도 10(a)의 예에서 각 셀에서 하나의 단말이 선택되어 스케줄링되고 있으며 각 기지국 클러스터에 대해서도 2개의 단말이 선택되어 스케줄링되고 있다. 따라서, 각 셀에 속하는 단말의 수가 기지국의 안테나 수 이하로 선택되고 각 클러스터에 속하는 단말의 수가 각 클러스터의 총 안테나 수 이하로 선택되므로 도 10(a)의 예는 실현가능성이 있다(feasible).
도 10(b)를 참조하면, 도 10(a)와 마찬가지로, 중첩 있는 기지국 협력 통신 시스템의 경우가 예시되어 있다. 하지만, 도 10(a)와 달리, 최상위에 위치된 셀의 기지국은 단일 안테나를 가지고 있지만 그 셀 내에서 2개의 단말이 선택되어 스케줄링되고 있다. 따라서, 도 10(b)의 예는 실현가능성이 없다(infeasible).
다음으로 스케줄링 문제에서 두 번째 고려사항인 효율성(efficiency)에 대해서 살펴본다. 효율성은 선택된 단말의 집합에 따라 얻을 수 있는 전송률이 모두 다르기 때문에 생기는 고려사항이다. 효율성은 가능한 단말 집합 중에서 전송률을 가장 높이는 단말의 집합을 선택하는 것이 관한 것이다. 잘 알려진 max-weight 스케줄링(L. Tassiulas and A. Ephremides, “Dynamic server allocation to parallel queue with randomly varying connectivity,” IEEE Trans. Information Therory, 1993. 참조)이나 PF(proportional fairness) 스케줄링(H. Kim, K. Kim, Y. Han, and S. Yun, “A Proportional Fair Scheduling for Multicarrier Transmission Systems,” VTC 2004. 참조)이 효율성(efficiency) 측면을 고려한 스케줄링 방법의 예일 수 있다. 하지만, 본 발명에서 고려되는 환경은 중첩된 기지국 클러스터에서 기지국 협력 통신을 허용하는 시스템이기 때문에 선택 가능한 단말의 집합이 다양하고, 또한 프리코딩(precoding) 방식이나 전송 전력 할당 방식에 따라서 전송률이 달라지기 때문에 어려움이 있다. 스케줄링을 위해 가능한 방안들을 다음과 같이 제시해 볼 수 있다.
● 최적(Optimal) 방법: 모든 가능한 단말 집합에 대하여, 그 단말 집합에 대해 얻을 수 있는 전송률을 메트릭(metric)으로 하여 가장 높은 단말 집합 선택
● 그리디 방법(Greedy method): 공집합부터 가장 전송률을 크게 만드는 사용자를 하나씩 추가해서 단말 집합 생성
● 분해(Decomposition) 방법: 네트워크 전체에서 단말 선택하는 것을 서로 직교(orthogonal)한 단위로 나눈 뒤 각각에 대해서 단말 선택
이 중에서 최적 방법이 가장 좋기는 하지만 복잡도가 매우 높다. 따라서, 나머지 두 가지 방법을 동시에 이용하도록 한다. 이를 기반으로, 본 발명에서는 클러스터간 중첩이 허용되는 기지국 협력 통신 상황에서 실현가능성(feasibility)과 효율성(efficiency) 두 가지를 모두 고려할 수 있는 스케줄링 방법을 제안한다.
본 발명에 따른 스케줄링 방법은 2개의 단계로 나뉘어 수행될 수 있다. 첫 번째 단계는 단말의 집합을 그룹으로 나누어 단말 그룹화를 수행한다. 두 번째 단계는 각 단말 그룹 별로 그리디(greedy) 방법을 통해서 데이터 전송을 위한 단말 선택을 수행한다. 본 발명에 따르면, 단말 그룹화 단계에서 실현가능성(feasibility)을 고려하고, 단말 선택 단계에서 그리디(greedy) 방법을 이용하여 선택하는 과정에서 효율성(efficiency)을 고려한다.
먼저 본 발명의 설명을 위해 필요한 변수들을 정의한다. 기지국 집합을 M, 단말 집합을 K라고 정의한다. 기지국 m은 NT,m개의 안테나를 가지고 있고 단말은 단일 안테나를 가지고 있다고 가정한다(단말이 다중 안테나를 가지는 경우에도 동일/유사하게 적용될 수 있음). 전체 단말(또는 단말 집합) 중 스케줄링으로 선택된 단말의 집합은 S⊆K로 표현하자. 그리고, 각 단말 별로 그 단말에 데이터 전송을 할 기지국 집합을 Ck라고 정의한다. 이 경우 스케줄링된 단말 집합 S에 대해서 실현가능성(feasibility) 조건은 수학식 8과 같이 주어질 수 있다.
수학식 8에서, TX(c)는 클러스터 c의 가상의 송신 안테나 수를 나타내고, RX(c,S)은 클러스터 c의 가상의 수신 안테나 수를 나타내며, C(S)는 스케줄링된 단말에 대해 전송을 수행하는 클러스터의 집합을 나타낸다. 따라서, 수학식 8의 조건은 전송을 수행하는 모든 클러스터에 대해서 가상의 MIMO 채널을 구성했을 때 전송 측의 안테나 수가 단말의 수보다 크거나 같아야 한다는 조건이다. 전송 측의 안테나 수가 단말의 수보다 작은 경우 동시에 전송하는 스트림(stream) 간에 서로 독립적인 채널이 형성되지 못할 수 있다.
본 발명에서는 첫 번째 단계(전체 단말의 집합을 그룹화)를 위한 방식으로서 최소 부하 그룹 매핑(least loaded group mapping) 방법을 제안한다. 최소 부하 그룹 매핑 방법은 최소 부하를 가지는 그룹부터 순차적으로 단말을 매핑하는 방법이다. 이 때 실현가능성(feasibility)을 만족하기 위해서 표 2의 두 조건을 만족할 수 있도록 단말 집합이 그룹화될 수 있다.
표 2의 두 조건을 만족하도록 단말 그룹화가 수행된 경우 그룹 내에서만 실현가능성(feasibility) 조건을 만족하면 전체적으로 실현가능성(feasibility) 조건을 만족할 수 있기 때문에 아주 적은 복잡도로 실현가능성(feasibility)을 확인할 수 있다. 특히, 그룹 당 기지국을 하나씩만 가진 경우라면 실현가능성(feasibility)을 확인할 필요도 없이 각 그룹 당 수행되는 그리디(greedy) 스케줄링이 항상 실현가능성(feasibility) 조건을 만족하는 단말의 집합을 찾는다고 할 수 있다. 이하에서는 설명의 편의를 위해 그룹 당 기지국을 하나씩만 가지는 경우로 국한해서 기술하도록 한다. 하지만, 위 두 조건만 만족한다면 그룹 당 하나 이상의 기지국을 가지는 경우로도 쉽게 확장 가능하다.
도 11은 본 발명에 따른 최소 부하 그룹 매핑(least loaded group mapping)을 예시한다. 도 11의 예에서, “MS ID”(mobile station identifier)는 단말 식별자를 가리키고, “Cluster BS ID”(Cluster base station identifier)는 해당 단말에 상응되는 기지국 클러스터의 기지국를 가리키는 식별자이다. “Load”는 각 기지국의 부하를 나타내며, 해당 숫자가 높을수록 높은 부하를 나타낸다. “Group ID”는 각 단말이 매핑되는 그룹의 식별자를 나타낸다. 각 그룹에는 하나의 기지국만 속한다고 가정하고 각 그룹은 BS ID와 동일하게 A, B, C로 표기한다. 도 11의 예에서, 네트워크에 3개의 기지국(A, B, C)과 5개의 단말(1, 2, 3, 4, 5)이 중첩된 클러스터를 형성하고 있다고 가정한다. 단말 1부터 순차적으로 자신의 그룹을 정한다고 가정한다.
도 11을 참조하면, 단말 1의 경우, 자신의 기지국 클러스터가 속하는 3개의 그룹(A, B, C)의 부하가 모두 0이므로 3개의 그룹 중 하나를 선택할 수 있다. 본 예에서 그룹 A를 선택한다. 단말 2의 경우, 자신의 기지국 클러스터가 속하는 2개의 그룹(A, B) 중 부하가 더 적은 그룹을 선택한다. 본 예에서 그룹 A의 부하가 1이고 그룹 B의 부하가 0이므로 부하가 더 적은 그룹 B를 선택한다. 단말 3의 경우, 자신의 기지국 클러스터가 속하는 그룹이 A 뿐이므로 A를 그룹으로 선택한다. 단말 4의 경우, 자신의 기지국 클러스터가 속하는 2개의 그룹(B, C) 중 부하가 더 적은 그룹을 선택한다. 본 예에서, 그룹 B의 부하가 1이고 그룹 C의 부하가 0이므로 부하가 더 적은 그룹 C를 선택한다. 단말 5의 경우, 자신의 기지국 클러스터가 속하는 3개의 그룹(A, B, C) 중 부하가 더 적은 그룹을 선택한다. 본 예에서, 그룹 B와 C의 부하가 1로서 가장 작으므로 둘 중 하나를 선택할 수 있으며, 그룹 B를 선택한다.
결과적으로, 단말 1, 3은 그룹 A에 매핑되고, 단말 2, 5는 그룹 B에 매핑되고, 단말 4는 그룹 C에 매핑된다. 이 경우 각 그룹 별로 단말의 집합은 표 2의 실현가능성(feasibility) 조건을 항상 만족함을 알 수 있다.
첫 번째 단계로서 단말 그룹화를 수행한 후, 두 번째 단계로서 스케줄링을 위해 단말을 선택하는 단계가 수행될 수 있다. 앞서 언급된 바와 같이, 단말 선택 단계는 그리디(greedy) 방법을 통해 수행될 수 있다.
도 12는 클러스터 중첩을 허용한 기지국 협력 통신 환경에서 그리디(greedy) 스케줄링 방법을 예시한다. 도 12의 방법은 설명을 명확히 하기 위해 수도(pseudo) 코드 형태로 나타내었다. 도 12는 일반적인 그리디(greedy) 알고리즘을 이용한 단말 스케줄링 알고리즘이다.
도 12의 예에서,
는 주어진 단말 집합
가 실현가능성(feasibility) 조건을 만족하는지 체크하는 함수이고
은 주어진 단말 집합 S에 대해서 기대되는 전송률을 의미한다.
도 13은 본 발명에 따른 클러스터 중첩을 허용한 기지국 협력 통신 환경에서 그룹 기반 그리디(greedy) 단말 스케줄링 방법을 예시한다. 도 13의 방법은 설명을 명확히 하기 위해 수도(pseudo) 코드 형태로 나타내었다. 도 13은 본 발명에 따라 단말 그룹을 기반으로 그리디(greedy) 스케줄링이 수행되므로 복잡도를 낮추는 장점이 있다.
구체적으로, 도 13의 그룹 기반 그리디 스케줄링은 각 그룹에 대하여 수행될 수 있다. 단계 1에서, 각 그룹 m에 대한 단말 집합(Sm)을 초기화한다. 즉, 단말 집합 Sm을 공집합(null set)으로 초기화할 수 있다. 단계 2에서, 단말 집합 Sm에 속하는 단말 개수가 그룹 m에 대응되는 기지국의 안테나 총 개수 NT,m보다 작은지 여부를 판별하고 기지국의 안테나 총 개수 NT,m보다 작은 동안 단계 3 내지 단계 13을 반복한다. 만일 단말 집합 Sm에 속하는 단말 개수가 그룹 m에 대응되는 기지국의 안테나 총 개수 NT,m보다 크거나 같은 경우 도 13의 방법은 종료될 수 있다.
단계 3에서, 단말 집합의 기대 성능과 관련된 임시 변수(val)를 초기화한다. 단계 4에서, 각 그룹과 각 그룹에 속하는 각 단말에 대하여 단계 5 내지 단계 9를 반복한다. 단계 5에서, 특정 단말 k를 단말 집합 Sm에 포함시킬 때 기대되는 성능이 임시 변수 val에 저장된 값보다 큰지 여부를 판별한다. 단계 6에서, 기대 성능이 임시 변수의 값보다 큰 경우 단말 집합 Sm에 특정 단말 k를 포함시킨 단말 집합 S'm을 형성한다. 단계 7에서, 특정 단말 k를 단말 집합 Sm에 포함시킬 때 기대되는 성능을 임시 변수 val 값으로 업데이트한다. 예를 들어, 단계 5 내지 단계 9의 과정은 특정 단말 k를 단말 집합 Sm에 포함시킬 때 기대되는 성능과 특정 단말 k를 단말 집합 Sm에 포함시키지 않을 때 기대되는 성능을 비교하여, 특정 단말 k를 포함시킬 때 기대되는 성능이 특정 단말 k를 포함시키지 않을 때 기대되는 성능보다 큰 경우 특정 단말 k를 단말 집합 Sm에 포함시키는 것을 포함시키는 것을 포함할 수 있다.
각 그룹과 각 그룹에 속하는 모든 단말에 대하여 단계 5 내지 단계 9를 반복한 다음, 단계 10에서, 기존 단말 집합 Sm과 새로운 단말 집합 S'm에 대해 기대되는 성능을 비교한다. 단계 11에서, 새로운 단말 집합 S'm에 대해 기대되는 성능이 기존 단말 집합 Sm에 대해 기대되는 성능 이하인 경우, 즉, 새로운 단말 집합 S'm에 대해 기대되는 성능이 기존 단말 집합 Sm에 대해 기대되는 성능에 비해 향상이 없는 경우, 도 13의 방법을 종료한다. 만일 새로운 단말 집합 S'm에 대해 기대되는 성능이 기존 단말 집합 Sm에 대해 기대되는 성능보다 큰 경우, 즉, 새로운 단말 집합 S'm에 대해 기대되는 성능이 기존 단말 집합 Sm에 대해 기대되는 성능에 비해 향상이 있는 경우, 단계 13에서, 새로운 단말 집합 S'm을 기존 단말 집합 Sm으로 업데이트하고 단계 2로 돌아간다. 새로운 단말 집합 S'm에 대해 기대되는 성능이 기존 단말 집합 Sm에 대해 기대되는 성능에 비해 향상이 없는 경우 도 13의 방법은 종료될 수 있다.
구체적으로, 도 12의 그리디(greedy) 스케줄링 알고리즘과의 차이점은 도 13의 예에서는 단말의 선택 대상이 전체 단말에서 각 그룹에 속하는 단말로 줄었다는 것과 실현가능성(feasibility) 조건을 체크하는 부분이 없다는 것이다. 따라서, 도 13의 그룹 기반 그리디 알고리즘에서는 전송단의 안테나 개수가 수신단의 개수보다 크거나 같은지 여부를 검사하는 것이 수행되지 않는다. 예를 들어, 도 12의 단계 5에서 수행되는
가 도 13에서는 수행되지 않는다(도 13의 단계 4 내지 9 참조). 이러한 차이점에 따른 알고리즘 복잡도를 비교하면, 본 발명에 따른 그룹 기반 그리디(greedy) 스케줄링 방법(도 13 참조)의 복잡도는
이고 일반적인 그리디(greedy) 스케줄링 방법(도 12 참조)이 복잡도는
이다. K는 단말의 개수를 나타내고, M은 기지국의 개수를 나타내고, N
T는 기지국의 전송 안테나 개수를 나타내고, C는 수학식 8에서와 같이 클러스터 집합을 나타내며
조건을 만족한다. 예를 들어, 단일 안테나 단말이 100개, 2개의 안테나를 가진 기지국이 10개가 있는 경우를 가정하면, 본 발명에 따른 방법(도 13 참조)의 복잡도는 200인 반면, 일반적인 그리디(greedy) 스케줄링 방법(도 12 참조)의 복잡도는 2e5이 된다. 참고로, 모든 가능한 단말 집합을 다 찾는 경우(최적(optimal) 방법)에는 5.35e20이 된다. 계산의 복잡도 측면에서, 최적의 방법은 현실적으로 불가능하다. 일반적인 그리디(greedy) 스케줄링 방법이 최적 방법보다 현실적이지만 네트워크가 거대해지면 많은 복잡도를 요구한다. 따라서, 본 발명에 따른 제안 방법(도 13 참조)이 훨씬 효율적임을 알 수 있다.
도 14와 도 15는 본 발명에 따른 그룹 기반 그리디(greedy) 스케줄링 방법과 다른 스케줄링 방법들의 성능을 비교하여 예시한 것이다. 도 14와 도 15의 결과는 시뮬레이션을 통해 도출된 것이며, 시뮬레이션 환경에서는 5×5 ㎢ 영역에 5개의 기지국과 100명의 단말을 임의로 분포시켰다. 또한, 각 기지국은 2개의 안테나를 가지고 43dBm의 전송 전력 용량, 5MHz의 주파수 대역을 가지도록 설정되었다. 기지국과 단말 사이의 채널은 경로 손실(path-loss)과 음영(shadowing)을 반영하여 모델링되었으며, 각각 경로 손실(path-loss)은 128.1+37.6×log
10(d)의 식을 따르고 d는 km 단위의 거리이며, 채널의 음영(shadowing)은 8dB의 분산을 가진다.
은 제로 포싱(zero forcing) 프리코딩(precoding) 기법과 균등 전력 할당(equal power allocation)을 적용했을 때 각 단말 집합에 대한 기지국 클러스터로부터 기대되는 데이터 전송률의 합이다.
또한, 도 14와 도 15에서 “Greedy”는 도 12에 따라 네트워크 전체에서 단말을 선택하는 일반적인 그리디(greedy) 스케줄링 알고리즘에 따른 방법을 지칭하고, “random”은 임의로 단말의 집합을 선택하는 랜덤 선택(random selection) 방법을 지칭한다. 랜덤 선택 방법의 경우, 랜덤 선택을 단 한번 수행한 경우(“random (1 time)”)와 랜덤 선택을 500번 반복 수행하여 가장 높은 전송률이 기대되는 집합을 선택하는 경우(“random (500 times)”)로 나뉘어 수행된 결과를 도시하였다. “Group based greedy”는 도 13에 따른 그룹 기반의 그리디(greedy) 스케줄링 알고리즘에 따른 방법을 지칭한다.
도 14는 전체 네트워크의 합계 전송율(sum-rate)을 최대화하는 정책(policy)을 갖고 스케줄링을 수행한 결과를 예시한다. 도 15를 참조하면, 각 단말이 갖는 평균 전송률의 합에 있어서, 일반적인 그리디(greedy) 스케줄링 방법(도 12 참조)과 본 발명에 따른 그룹 기반 그리디(greedy) 스케줄링 방법의 차이가 없는 것을 알 수 있다(일반적인 그리디 스케줄링 방법 대비 97%). 하지만, 임의성에 의존하는 랜덤 선택(random selection) 방법은 반복 수행이나 효율성 측면에서 성능 저하가 있음을 알 수 있다.
도 15는 전체 네트워크의 가중치 합계 전송률(weighted sum-rate)을 최대화하고 가중치(weight)가 평균 전송률의 역수로 주어지는 비례 공정(proportional fair) 정책(policy)을 가지고 스케줄링을 수행한 결과를 예시한다. 비례 공정(proportional fair) 정책의 경우, 도 15에 도시된 바와 같이, 본 발명에 따른 그룹 기반 그리디(greedy) 스케줄링 방법은 일반적인 그리디(greedy) 스케줄링 방법에 비해 70%의 성능을 보여준다. 이 차이는 그룹의 수를 줄이면 줄어들 수 있지만 대신 복잡도는 증가될 수 있다.
결론적으로, 본 발명에 따른 그룹 기반 그리디(greedy) 스케줄링 방법은 일반적인 그리디(greedy) 스케줄링 방법에 비해 성능의 저하가 크지 않으면서도 복잡도를 크게 감소시킬 수 있다는 점에서 유리하다.
도 16은 본 발명에 따른 스케줄링 방법의 순서도를 예시한다.
도 16을 참조하면, S1602 단계에서, 네트워크(예, 클라우드 서버)는 전체 단말 집합을 일정한 개수의 그룹으로 나누어 그룹화할 수 있다. 일 예로, 단말 그룹화는 최소 부하 그룹 매핑(least loaded group mapping) 방법을 이용하여 수행될 수 있다. 또한, 일 예로, 단말 그룹화는 수학식 8의 조건을 만족하도록 수행될 수 있다. 또한, 일 예로, 단말 그룹화는 표 2의 조건을 만족하도록 수행될 수 있다.
S1604 단계에서, 네트워크(예, 클라우드 서버)는 각 그룹 별로 적합한 단말을 선택하여 스케줄링할 수 있다. 일 예로, 단말 선택은 도 13에 예시된 그룹 기반 그리디(greedy) 스케줄링 방법을 통해 수행될 수 있다. 다른 예로, 단말 선택은 도 12에 예시된 그리디(greedy) 스케줄링 방법을 통해 수행될 수 있다.
도 16은 오로지 예일 뿐이며, 도 16의 예는 필요에 따라 변경될 수 있다. 예를 들어, 도 16의 단계들 중 일부는 제외되고 실시될 수 있고, 도 16의 단계들 외에 다른 단계가 추가적으로 포함되어 실시될 수 있다. 또한, 도 16의 단계들 중 일부는 필요에 따라 변형되어 실시될 수 있다.
프리코딩
단일 안테나 시스템의 무선 전송 용량 한계를 극복하기 위해서 다중 안테나가 이용될 수 있다. 앞서 언급된 바와 같이, 다중 안테나를 이용한 전송 기법을 MIMO(multiple input multiple output)라 지칭하며, MIMO 기법의 경우 안테나 수에 비례하여 큰 이득을 얻을 수 있다. MIMO 기법은 단일 기지국과 단말만 있는 경우를 지칭하는 SU-MIMO(single user MIMO), 단일 기지국과 복수의 단말이 있는 경우를 지칭하는 MU-MIMO(multi-user MIMO), 복수의 기지국과 복수의 단말이 있는 경우를 지칭하는 네트워크 MIMO(Network MIMO)를 포함하여 다양한 적용방법이 연구되고 있다(D. Gesbert, M. Kountouris, R. W. Heath Jr. C.-B. Chae, and T. Salzer, “Shifting the MIMO paradigm,’’ IEEE Signal Processing Magazine 2007. 참조).
하지만, 다중 안테나를 사용하는 경우 복수의 안테나에 정보를 송수신하는 방법에 따라 다중 안테나를 이용하는 이득이 달라질 수 있다. 데이터를 보내는 쪽에서 데이터를 보내기 전에 적절히 데이터를 가공해서 다중 안테나를 통해 송신하는 기법을 프리코딩(precoding)이라 하고, 반대로 수신 쪽에서 적절히 데이터를 가공하는 것을 포스트코딩(postcoding)이라 한다.
도 17은 다양한 MIMO 환경에서의 프리코딩을 예시한다.
프리코딩과 관련하여, 제로 포싱(zero-forcing, ZF)(Q. H. Spence, A. L. Swindlehurst, and M. Haardt, “Zero-forcing methods for downlink spatial multiplexing in multi-user MIMO channels,” IEEE Trans. Signal Processing, 2004. 참조)이나 블록 대각화(block diagonalization, BD)(Z. Shen, R. Chen, J. G. Andrews, R. W. Heath Jr., and B. L. Evans, “Sum capacity of multiuser MIMO broadcast channels with block diagonalization,” IEEE Trans. Wireless Communication, 2007. 참조)와 같은 방법들이 알려져 있다. MU-MIMO를 하게 되면 최대 기지국의 안테나 수만큼 동시에 여러 단말에게 데이터 전송이 가능하다. 하지만 단순히 하나의 안테나에 하나의 단말의 데이터를 싣는 방법은 각 데이터 스트림 간에 큰 간섭을 야기하게 된다. 따라서, 동시에 전송되는 데이터 스트림간 간섭을 제거해주기 위해서 미리 간섭을 없애주는 방법이 ZF, BD라고 할 수 있다.
도 17(a)는 단일 셀에서 MU-MIMO를 예시하고, 도 17(b)는 다중 셀을 이용한 기지국 협력 통신을 예시한다. 도 17(a)와 도 17(b)의 차이점은 단말에게 보낼 데이터가 셀 간에 서로 공유된다는 것이다. 하지만 이를 제외하고는 MU-MIMO에서 사용하는 프리코딩(precoding) 방법을 동일하게 적용하여 기지국 협력 통신을 수행할 수 있다. 이 경우, 다중 셀의 다중 안테나를 통해 전송이 수행되지만 다중 셀 간에 생길 수 있는 간섭은 미리 제거될 수 있다.
도 17(c)는 중첩이 허용되는 기지국 클러스터에서 수행되는 기지국 협력 통신을 예시한다. 이 경우, 단말에게 보낼 데이터가 모든 기지국에 공유되지 않을 수 있기 때문이 ZF, BD 등의 방법이 직접적으로 적용이 되지 않을 수 있다. 중첩이 허용되는 경우와 중첩이 허용되지 않는 경우의 차이점은 도 18을 참조하여 더욱 자세히 설명한다.
도 18은 기지국 협력 통신을 이용한 전송을 예시한다. 도 18(a)는 중첩이 허용되지 않는 경우의 기지국 협력 통신을 예시하고, 도 18(b)는 중첩이 허용되는 경우의 기지국 협력 통신을 예시한다. 도 18의 예에서는, 4 개의 단일 안테나 기지국과 4 개의 단일 안테나 단말이 있는 경우를 가정한다.
도 18(a)를 참조하면, 중첩 없이 기지국 클러스터가 형성될 수 있다. 예를 들어, 중첩을 허용하지 않는 경우에는 각각 2×2 MIMO 채널이 2개 형성될 수 있다. 또한, 예를 들어, 클러스터 1의 경우 MIMO 채널이
에 의해 표현될 수 있고, 클러스터 2의 경우
에 의해 표현될 수 있다. 그러면, 각 클러스터 별로 채널 행렬 H
1, H
2의 역행렬을 구하여 ZF 프리코더(precoder)를 찾을 수 있다. 이 경우, ZF 프리코더는 예를 들어 클러스터 1의 경우
로 구해질 수 있고 클러스터 2의 경우
로 구해질 수 있다. 이와 같이 구해진 프리코더를 이용하여 동일한 클러스터에 속하는 기지국 셀간 간섭이 제거될 수 있다.
반면, 도 18(b)를 참조하면, 기지국 클러스터가 중첩되어 형성될 수 있다. 이 경우 MIMO 채널을 구분 짓기 어렵다. 일 예로, 각 클러스터 별로 2×1 MIMO, 2×2 MIMO, 2×1 MIMO 채널을 형성하고 각각에 대해서 ZF 기법을 통해 프리코딩(precoding)을 수행할 수 있다. 하지만, 이 경우 두 번째 기지국에서 단말 2, 3으로 보내는 데이터가 단말 1에게 주는 간섭이 제어되지 않을 수 있다. 즉, 단말 1은 자신이 클러스터로 형성한 기지국으로부터 간섭을 받을 수 있다. 따라서, 이를 해결하기 위해 새로운 형태의 프리코더(precoder)가 필요하다.
이에, 본 발명에서는 다음의 두 가지 특성을 가지는 프리코딩 기법을 제안한다.
○ 중첩이 허용되는 기지국 협력 통신을 지원할 수 있는 프리코딩 기법
○ 간섭만 제거하거나 신호만 키우는 것이 아니라 전송률 log(1+SINR)을 최대화하는 프리코딩 기법
시스템 모델과 변수를 정의한다. NT개의 안테나를 가진 M개의 기지국과 K개의 단일 안테나 단말을 고려한다. 각 단말 별로 자신에 적합한 기지국 클러스터가 개별적으로 정해져 있다고 가정하고 단말 k의 기지국 클러스터를 집합 Ck로 나타낸다. 또한, 스케줄링되는 단말의 집합도 미리 정해져 있다고 가정하고 이를 S라 한다. 단말로의 모든 데이터 전송은 항상 클러스터 기지국들로부터 기지국 협력 통신을 통해서 이루어진다고 가정한다. 단말 k와 기지국 m 사이의 채널은 1×NT 벡터인 Hkm으로 나타낸다. 기지국은 피드백을 통해서 채널에 대해 완벽한 정보를 안다고 가정한다. 기지국 m이 단말 k∈S의 클러스터 기지국 중 하나일 때, 기지국 m이 단말 k로 보내는 데이터 스트림의 프리코딩 벡터(precoding vector)를 NT×1 vmk라 하고, 전송 파워를 Pmk라고 한다. 그러면, 단말 k에서 SINR은 수학식 9와 같이 측정될 수 있다.
수학식 9에서
는 노이즈(noise)를 나타낸다. 또한, 가중치 합계 전송률(weighted sum-rate)은 수학식 10과 같이 주어질 수 있다.
본 발명에서는 수학식 10의 가중치 합계 전송률을 최대화하는 프리코더를 찾는 것을 목표로 한다. 수학식 10에서 제약(constraint)은 프리코더의 크기가 1보다 작다는 것이다(식 10-2 참조). 수학식 10의 문제는 논-컨벡스(non-convex) 최적화 문제이기 때문에 그래디언트(gradient) 알고리즘과 같은 방식으로 간단하게 최적 해(optimal solution)를 찾기가 어렵다고 알려져 있다. 따라서, 본 발명에서는 준최적 해(suboptimal solution)로서 KKT(Karush-Kuhn-Tucker) 조건(condition)을 만족하는 해(solution)를 찾도록 한다. KKT 조건을 만족하는 해는 컨벡스 최적화 문제에서는 최적 해(optimal solution)를 보장하지만 논-컨벡스(non-convex) 최적화 문제에서는 최적 해(optimal solution)의 필수 조건(necessary condition)이 된다.
먼저 라그량쥬 함수(Lagrangian function)를 유도하기 전에 클러스터 수준으로 합쳐서 채널과 프리코더를 재정의한다. 단말 j가 형성하는 클러스터에 속한 기지국으로부터 단말 k로 가는 가상의 채널
을
로 정의하고, 단말 j가 형성하는 클러스터에서 단말 j로의 프리코더
를
로 정의한다. 그러면, 수학식 11과 같이 라그량쥬 함수(Lagrangian function)를 유도할 수 있다.
수학식 11에서 λk는 수학식 10의 가중치 합계 전송률(weighted sum-rate) 문제의 제약(constraint)를 위한 이중 변수(dual variable)이다. 수학식 10과 11로부터 표 3과 같이 3개의 KKT 조건을 유도할 수 있다.
표 3의 세 가지 조건을 만족하는
,λ를 찾으면 그 때의 프리코딩 벡터가KKT 조건을 만족한다고 할 수 있다. 표 3에서 세 번째 조건은 2개의 행렬 A
k,B
k를 기반으로 동작한다. 각 행렬에 대해서 살펴보면, A
k는 단말 k의 클러스터 기지국들로부터 단말 k로 가는 채널을 기반으로 구성된 것으로 신호 성분을 반영하고, B
k는 단말 k를 제외한 다른 단말들에게 가는 채널을 기반으로 구성된 것으로 간섭 성분을 반영하고 있다. 따라서, 위 세 조건을 만족하는 프리코더는 자신의 신호 세기를 높이려고만 하는 것도 아니고 반대로 남에게 가는 간섭 세기를 줄이려고만 하는 것도 아니라 적절한 균형을 잡아 전송률을 높게 만든다. 본 발명에서는 RQI(Rayleigh quotient iteration)를 응용하여 표 3의 세 조건을 만족하는 프리코더를 찾는 알고리즘을 제안한다.
도 19는 본 발명에 따른 프리코더를 찾는 방법을 예시한다. 도 19의 단계 7에서 대괄호 옆의 “+”기호는 대괄호 안의 값이 0보다 크거나 같은 값으로 만드는 연산을 의미한다. 예를 들어, [a]+는 a가 0이상이면 결과는 a이고, 0보다 작으면 결과는 0이다.
도 19를 참조하면, 알고리즘 수렴과 관련하여 단계 5, 6, 7을 다음과 같이 직관적으로 해석할 수 있다. 단계 5, 6은
를 찾기 위한 것이고,
에 대해서
의 크기가 줄어드는 방향으로
값을 갖도록 한다. 그리고 단계 7은
를 결정하기 위한 것으로서 RQI(Rayleigh quotient equation)의 변형이다. 단계 7을 통해 주어진
에 대해서
의 값을 최소화할 수 있는 최적의 값을 찾는다. 두 가지 변수
,
를 반복해서(iteratively) 찾도록 하여 KKT 조건 중 세 번째 조건을 만족하는 지점으로 수렴할 수 있다. 도 19의 알고리즘을 통해 KKT 조건을 만족하는 지점으로 수렴하게 되며, 도 19의 알고리즘은 RQI(Rayleigh quotient equation)와 동일하게 3차원 수렴 속도(cubically convergence rate)를 가지므로 수렴 속도가 매우 빠르다.
만일 도 19의 단계 8에서, 모든 반복(iteration) 뒤에
값이 0이면 이는 예외 상황으로서 KKT 조건을 만족시키기 위해서 프리코더를 0(또는 제로 벡터)으로 설정한다. 이와 같은 경우는 보통 A
k 행렬보다 B
k 행렬의 값이 굉장히 클 때 일어날 수 있다. 즉, 현재 채널 상황에서 단말 k로 신호를 보내기 위해서 그 주위 단말에게 미치는 간섭의 세기가 너무 큰 경우에 발생할 수 있다. 프리코더를 0(또는 제로 벡터)으로 설정한다는 것은 단말 k로 신호를 보내지 않는 것을 가리킨다.
도 20은 본 발명에 따른 프리코더와 다른 프리코딩 기법의 성능을 비교하여 예시한 것이다. 도 20의 결과는 20개의 기지국과 단말이 분포되어 있는 상황을 가정하여 시뮬레이션을 통해 도출된 것이다. 각 기지국은 4개의 안테나를 가지고 43dBm의 전송 전력과 5 MHz의 주파수 대역을 사용한다. 채널의 경로 손실(path-loss)은 128.1+37.6×log10(d)의 식을 따르고 d는 km 단위의 거리이며, 채널의 음영(shadowing)은 8dB의 분산을 가진다고 가정한다. 각 단말 별 기지국 클러스터와 스케줄링되는 단말은 프리코딩 수행 전에 미리 고정하여 모든 프리코딩 기법들에 동일한 환경이 적용되는 것을 가정한다. 기지국 전송 전력은 기지국이 가지고 있는 전력 예산(power budget)을 모두 동일하게 할당 받는다고 가정한다.
비교 대상 프리코딩 기법으로서 채널 매칭(channel matching, CM)과 제로 포싱(zero-forcing, ZF)이 사용된다. CM은 개념적으로 신호 세기를 가장 키우기 위한 방법이며, 전송단과 수신단 사이의 MIMO 채널 H가 주어지면
와 같이 프리코더를 사용하는 방법이다. ZF는 간섭을 줄이기 위한 방법이며,
와 같이 프리코더를 사용하는 방법이다.
도 20을 참조하면, 이들 프리코딩 기법들을 이용할 때 신호의 누적 분포 함수(cumulative distribution function, CDF)가 도시되어 있다. 도 20에 도시된 바와 같이, 원하는 신호(desired signal) 성분은 CM, 제안 방법, ZF 순으로 높지만 (도 20(a) 참조), 간섭 성분 역시 CM, 제안 방법, ZF 순으로 높은 것을 확인할 수 있다(도 20(b) 참조). 본 발명에 따른 제안 방법은 합계 전송율(sum-rate)을 최대화하는 방향으로 동작하며, 신호 성분이나 간섭 성분 하나만 고려하지 않고 둘 모두를 고려하여 도 20(c)와 같이 log(1+SINR)을 최대화한다.
도 21은 네트워크 사이즈가 변화하는 상황에서 프리코더의 성능을 예시한 것이다. 네트워크 사이즈가 변화면 셀 간 간섭 정도 및 신호 세기가 변할 수 있다. 네트워크 사이즈는 도 20의 시뮬레이션 환경에서 기지국, 단말 모두를 스케일링(scaling)하여 새로운 토폴로지를 재생산하도록 조절되었다.
도 21(a)는 단일 셀 전송 환경에서 네트워크 사이즈 변화에 따른 프리코더 성능을 도시한 것이다. 도 21(a)에 도시된 바와 같이, 네트워크 사이즈가 줄어들수록 ZF이나 본 발명에 따른 제안 방법의 성능이 좋아지는 것을 볼 수 있다. 이는 단말과 기지국 사이의 거리가 줄어들어서 신호의 세기가 커지기 때문이다. 즉, 셀을 밀집하게 분포하여 생길 수 있는 이득이라 할 수 있다. 하지만 CM의 경우에는 간섭을 전혀 신경 쓰지 않기 때문에 이런 이득 효과가 없어지게 된다. 본 발명에 따른 제안 방법은 동일한 환경에서 세 개의 기법 중 가장 우수한 성능을 가지는 것을 확인할 수 있다.
도 21(b)는 기지국 협력 통신 환경에서 네트워크 사이즈 변화에 따른 프리코더 성능을 도시한 것이다. 도 21(b)의 예에서, 기지국 협력 통신을 위한 클러스터 사이즈는 2로 설정되며, 클러스터링 기법은 앞서 설명된 최고 N(highest-N) 기법을 이용하였다. 도 21(b)에 도시된 바와 같이, 네트워크 사이즈가 줄어들수록 ZF와 제안 방법의 성능이 좋아지는 경향은 단일 셀 전송과 동일하다. 하지만, 제안 방법의 경우 단일 셀 전송에 비해 성능이 좋아지는 반면 ZF의 경우 성능이 나빠지는 것을 볼 수 있다. 이에 대해 두 가지 이유가 있을 수 있는데, 하나는 제안 방법이 기지국 협력 통신 상황에 적합한 프리코딩(precoding)이기 때문이고 다른 하나는 적절한 전력 제어의 부재로 인해 기지국 협력 통신의 이득을 최대한 얻지 못 했기 때문이다. 후자에 대한 극복 방안은 아래에서 자세히 설명한다.
전력 할당
전송 전력 할당은 무선 자원 관리(radio resource management, RRM) 분야에서 단일 셀/다중 셀 네트워크, 단일 캐리어/다중 캐리어 환경, 센서 네트워크나 애드 혹(ad hoc) 네트워크 등 여러 환경 하에서 중요한 문제로 다루어져 왔다. 전송 전력 할당 기법은 또한 네트워크 전체의 성능을 높이기 위해서 전송 전력을 할당하는 방법, 네트워크 성능은 유지하면서 최소한의 전송 전력만을 사용하는 기법, 데이터 전송 딜레이를 허용하여 전송 전력을 더 줄이도록 제어하는 방법 등 다양한 목적으로 연구되어 왔다.
본 발명은 클러스터간 중첩이 허용되는 기지국 협력 통신 환경에서 네트워크 전체의 전송률을 최대화하기 위한 단말로의 전송 전력 할당 방법을 제안한다. 관련 연구로 최근에 OFDM(Orthogonal Frequency Division Multiplexing) 시스템에서 각 주파수 별로 전송 전력 할당 방법에 대한 결과들이 있다. 그 연구의 핵심은 각 주파수 별로 채널 상황이 모두 다르기 때문에 제한된 전송 전력을 채널 상황이 좋은 주파수 쪽에 더 많이 할당하는 것이 전송률을 더 높일 수 있는 것과 그러한 전송 전력 할당을 워터 필링(water filling) 기반의 알고리즘을 이용하여 전송 전력을 찾을 수 있다는 것이다. 자세한 내용은 D. P. Palomar and J. R. Fonollosa, “Practical algorithms for a family of waterfilling solutions,” IEEE Signal Processing Letter, vol. 53, no. 2, pp. 686-695, Feb. 2005와 K. Son, S. Lee, Y. Yi, and S. Chong, “REFIM: A Practical Interference Management in Heterogeneous Wireless Access Networks,” IEEE Journal on Selected Areas in Communications, 2011를 참조할 수 있다.
도 22는 워터 필링 기반의 전력 할당 알고리즘을 예시한다. 도 22는 설명을 명확히 하기 위해 수도(pseudo) 코드 형태로 나타내었다. 도 22의 단계 4에서 대괄호 옆의 “+”기호는 대괄호 안의 값이 0보다 크거나 같은 값으로 만드는 연산을 의미한다. 예를 들어, [a]+는 a가 0이상이면 결과는 a이고, 0보다 작으면 결과는 0이다.
도 22를 참조하면, 각 서브캐리어 별로 taxn과 heightn은 해당 주파수에 전송 전력을 보낼 때 각각 다른 셀에 주는 간섭 정도와 관련된 값과 수신 단말로 원하는 신호를 보내는 채널 상황과 관련된 값을 나타낸다. 간섭이 커질수록 taxn 값은 커지고 수신 단말로 채널 상황이 좋을수록 heightn 값은 작아진다. 따라서, 단계 4에서는 해당 주파수에 보낼 전송 전력이 주변에 간섭을 적게 줄수록 그리고 수신 단말로의 채널 상황이 좋을수록 전송 전력 Pn이 높은 값으로 결정된다. μ는 워터 레벨(water-level)을 나타내며 현재 모든 주파수에서 사용하고자 하는 전송 전력의 합이 용량(또는 전력 예산(power budget)보다 작도록 유지한다. 만약 용량을 초과하면 μ 값은 증가하므로 단계 4에서 전반적으로 모든 주파수에서 사용되는 전송 전력이 줄어든다. 이와 같이, 도 22에 예시된 전송 전력을 할당하는 알고리즘은 각 기지국 별로 taxn과 heightn이 정해지면 서로 독립적으로 수행될 수 있다.
도 22에 예시된 방법은 OFDM 시스템에서 네트워크 전체의 전송률을 높이기 위해 전송 전력 할당하는 방법으로 주로 사용되며, OFDM+MIMO 시스템, 특히 단일 셀 전송을 이용하는 SU-MIMO나 MU-MIMO 시스템까지는 거의 동일하게 확장 가능하다. 확장할 경우 달라지는 것은 전송 전력 할당에서 각 서브캐리어(subcarrier) 축 이외에 다중 안테나를 이용함에 따라 동시에 보내는 스트림(stream) 축이 하나가 더 생기는 것이다. 따라서, 두 개의 축만 고려한다면 확장하더라도 도 22의 방법을 그대로 사용할 수 있다.
하지만, 도 22의 방법은 기지국 협력 통신의 경우에 그대로 확장하기 어려운 면이 있다. OFDM 시스템이나 OFDM+MIMO 시스템의 경우 단말로 보내는 하나의 데이터 스트림은 하나의 기지국의 전송 전력만 이용하지만, 기지국 협력 통신의 경우 하나의 데이터 스트림이 하나 이상의 기지국의 전송 전력을 이용하기 때문이다. 따라서, 기지국 별로 전송 전력 분배를 수행하면 오히려 기지국 협력 통신에서 프리코딩 결과를 변형시킬 수 있는 문제가 있으므로 기지국 협력 통신을 위해서는 클러스터 레벨에서의 전송 전력 제어가 필요하다. 이에 본 발명에서는 클러스터 레벨의 전력 할당 방법을 제안한다.
시스템 모델과 변수를 정의한다. 본 발명에서는 NT개의 안테나를 가진 M개의 기지국과 K개의 단일 안테나 단말을 고려한다. 각 단말 별로 자신에 적합한 기지국 클러스터가 개별적으로 정해져 있다고 가정하고 단말 k의 기지국 클러스터를 집합 Mk로 나타낸다. 또한 스케줄링 되는 단말의 집합도 미리 정해져 있고 이를 S라 한다. 단말로의 모든 데이터 전송은 클러스터 기지국들로부터 기지국 협력 통신을 통해서 이루어진다고 가정한다. 단말 k와 기지국 m 사이의 채널은 1×NT 벡터인 Hkm으로 나타낸다. 기지국은 피드백을 통해서 채널에 대해 완벽한 정보를 안다고 가정한다. 기지국 m이 단말 k∈S의 클러스터 기지국 중 하나일 때, 기지국 m이 단말 k로 보내는 데이터 스트림의 프리코딩 벡터(precoding vector)를 NT×1 vmk라 하고, 전송 파워를 Pmk라고 한다. 그러면, 단말 k에서 SINR은 수학식 12와 같이 측정될 수 있다.
수학식 12에서
는 노이즈(noise)를 나타낸다. 또한, 가중치 합계 전송률(weighted sum-rate)은 수학식 13과 같이 주어질 수 있다.
본 발명에서는 수학식 13의 가중치 합계 전송률을 최대화하는 전력 할당을 목표로 한다. 수학식 13에서
은 기지국 m의 전송 전력 용량이고 식 13-2의 제약(constraint)은 각 기지국 별로
전송 전력 용량 이하로 전력을 사용한다는 의미이다. 수학식 13의 문제는 수학식 10의 문제와 동일하게 풀 수 있다. 즉, 수학식 13의 문제는 논-컨벡스(non-convex) 최적화 문제이기 때문에 그래디언트(gradient) 알고리즘과 같은 방식으로 간단하게 최적 해(optimal solution)를 찾기가 어렵다고 알려져 있다. 따라서, 본 발명에서는 준최적 해(suboptimal solution)로서 KKT(Karush-Kuhn-Tucker) 조건(condition)을 만족하는 해(solution)를 찾도록 한다.
먼저 라그량쥬 함수(Lagrangian function)를 유도하기 전에 클러스터 수준으로 합쳐서 채널을 재정의한다. 단말 k가 형성하는 클러스터에 속한 기지국으로부터 단말 j로 가는 가상의 채널
을
로 정의하고, 단말 j가 형성하는 클러스터에서 단말 j로 가는 가상 채널
를
로 정의한다. 그리고, 기지국 수준에서 전송 전력을 제어하는 것이 아니라 클러스터 수준에서 전송 전력을 제어한다. 예를 들어,
와 같이 각 전송 전력이 클러스터에서 동일하게 제어 된다. 그러면, 수학식 14과 같이 라그량쥬 함수(Lagrangian function)를 유도할 수 있다.
수학식 14에서 μm는 수학식 13의 가중치 합계 전송률(weighted sum-rate) 문제의 제약(constraint)를 만족시키기 위한 이중 변수(dual variable)이다. 수학식 13과 14로부터 표 4와 같이 3개의 KKT 조건을 유도할 수 있다.
표 4의 세 가지 조건 중에서 세 번째 수식을 Pk에 대해 정리하면 수학식 15와 같다. 수학식 15에서 대괄호 옆의 “+”기호는 대괄호 안의 값이 0보다 크거나 같은 값으로 만드는 연산을 의미한다. 예를 들어, [a]+는 a가 0이상이면 결과는 a이고, 0보다 작으면 결과는 0이다.
수학식 15에서 P
k 값은
,
,
의 3개의 항(term)에 의해 결정된다. tax
k는 단말 k로 보내는 전송 전력이 다른 단말들에게 얼마나 간섭을 주는지에 대한 영향력을 의미한다. tax
k 값이 커질수록 수학식 15에서 P
k에 할당되는 전송 전력이 작아진다. 반대로 tax
k 값이 작을수록 더 높은 전송 전력이 되는데, 이를 통해 주변에 주는 간섭 정도를 보고 간섭 정도가 적은 경우에 높은 전송 전력을 사용할 수 있도록 제어된다. height
k는 주위 단말로의 간섭이 아니라 단말 k로 가는 채널 상황을 나타내며, 채널 상황이 좋을수록 작은 값을 가진다. 따라서, 수학식 15에 따라 채널 상황이 좋을수록 더 높은 P
k 값을 갖도록 한다. μ
m에 관한 항(term)은 각 기지국 별로 사용하고 있는 전송 전력이 용량을 초과하는지 체크하는 변수이며, 전송 전력 용량을 초과하면 값을 높여 수학식 15에 따라 전반적으로 전송 전력을 적게 사용하도록 하고 전송 전력 용량보다 작으면 값을 낮춰 수학식 15에 따라 전송 전력을 더 사용하도록 한다. P
k 값이 μ
m에 대해서 단조 감소(monotonic decreasing) 함수이기 때문에 이분 워터 필링 방법(bisection water filling method) 형태로 표 4의 세 가지 조건을 만족하는 지점을 찾을 수 있다. 본 발명에서는 이에 따른 전송 전력 할당 방법을 제안한다.
도 23은 본 발명에 따른 전력 할당 방법을 예시한다. 도 23은 설명을 명확히 하기 위해 수도(pseudo) 코드 형태로 나타내었다. 도 23의 단계 4에서 대괄호 옆의 “+”기호는 대괄호 안의 값이 0보다 크거나 같은 값으로 만드는 연산을 의미한다. 예를 들어, [a]+는 a가 0이상이면 결과는 a이고, 0보다 작으면 결과는 0이다.
구체적으로, 도 23을 참조하면, 단계 1에서, 단말 집합 S에 속하는 단말 k에 대하여 tax
k, height
k를 생성한다. 단계 2에서, 기지국 m에 대해 변수 μ
m을 μ
max/2로 설정하고, 변수 am과 bm을 각각 0과 μ
max로 설정한다. 단계 3 내지 단계 8에서, 단말 집합 S의 모든 단말에 대한 (프리코딩 후) 전송 전력 P
k의 합
와 기지국 m의 전송 전력 용량
의 차가 일정한 수준(δ) 이하이거나 또는 모든 기지국 m에 대한 이중 변수 μ
m의 합이 일정한 수준(δ) 이하일 때까지 단계 4 내지 단계 7을 반복한다.
도 23의 방법은 단말의 클러스터에 속하는 기지국들의 이중 변수(dual variable)를 모두 고려하여 단말로 보내는 데이터 스트림의 전송 전력이 결정된다는 점에서 도 22의 방법과 차이가 있다. 이를 통해, 각 기지국의 전송 전력이 용량보다 커지는 것을 막고 기지국 클러스터에서 단말로 보내는 데이터 스트림의 전송 전력을 같은 값으로 조절함으로써 프리코더(precoder)가 변형되는 문제를 예방한다.
도 24와 도 25는 본 발명에 따른 전력 할당 방법과 다른 전력 할당 방법의 성능을 비교하여 예시한 것이다. 도 24와 도 25의 결과는 도 20과 동일한 시뮬레이션 환경을 가정하여 시뮬레이션을 통해 도출된 것이다. 각 단말 별 기지국 클러스터와 스케줄링되는 단말 및 프리코더는 전력 할당(power allocation)을 수행하기 전에 미리 고정하여 모든 방법들에 동일하게 적용하였다. 도 24와 도 25에서 “Equal power”는 기지국에서 동시에 보내고 있는 데이터 스트림마다 동등하게 기지국 별 전력 예산(power budget)을 할당하는 방법을 지칭하고, “Proportional power”는 채널 이득에 비례하게 할당하는 방법을 지칭하고, “Cell-level WF”는 기지국 별로 수행되는 워터 필링 방법(도 22 참조)을 지칭하고, “Cluster-level WF”는 본 발명에 따라 클러스터 별로 수행되는 워터 필링 방법(도 23 참조)을 지칭한다. 도 24는 제로 포싱(zero-forcing) 프리코더를 적용한 결과이고, 도 25는 본 발명에 따른 프리코더를 적용한 결과이다.
도 24(a)를 참조하면, 제안 방법이 단일 셀 전송의 경우 균등 전력 할당(equal power allocation)이나 비례 전력 할당(proportional power allocation) 보다 성능이 향상되는 것을 볼 수 있다. 마찬가지로, 도 25(a)를 참조하면, 제안 방법이 성능이 향상되는 것을 볼 수 있다. 따라서, 프리코딩 기법에 상관 없이 제안 방법의 성능이 우수함을 알 수 있다.
하지만, 도 24(b)를 참조하면, ZF 기반 기지국 협력 통신의 경우 제안 방법이 셀 레벨 워터 필링 방법보다 오히려 성능이 하락하는 것으로 도시되어 있다. 이는 앞서 설명한 바와 같이 기지국 협력 통신에서 ZF 기법의 프리코더는 적합하지 않기 때문에 큰 의미가 없다. 본 발명에 따른 제안 방법은 기지국 별 전송 전력 제어가 기지국 협력 통신의 프리코더에 영향을 주어 성능 저하를 방지하면서 전송 전력 할당을 최적화한다.
도 25(b)를 참조하면, 본 발명에 따른 프리코더 기법은 기지국 협력 통신에 적합하다. 따라서, 본 발명에 따른 프리코더 기법을 적용할 경우 셀 레벨 워터 필링(cell-level water-filling) 방법을 이용하면 균등 전력 할당(equal power allocation)보다 성능이 떨어질 수도 있다. 하지만, 본 발명에 따른 클러스터 레벨 워터 필링(cluster-level water-filling) 방법을 이용할 경우 성능 향상이 가능하다. 도 24(b)와 도 25(b)를 비교하면 제안 방법의 프리코더와 전력 할당을 이용하는 것이 다른 조합을 사용하는 것보다 최대 20% 정도의 성능 이득이 있음을 알 수 있다.
도 26은 본 발명에 따라 클라우드 RAN 시스템에서 통신을 수행하는 방법의 순서도를 예시한다. 도 26의 방법을 수행하기 전에 가상 셀이 형성되어 있다고 가정한다. 일 예로, 가상 셀은 도 8에 예시된 방법에 따른 형성될 수 있다. 또한, 일 예로, 도 26의 방법은 매 타임 슬롯마다 클라우드 서버에서 수행될 수 있다.
S2602 단계에서, 각 단말은 각 기지국과의 채널 상태를 측정하고 이를 단말과 가상 셀 간의 무선 인터페이스를 통해 클라우드 RAN으로 피드백할 수 있다. 일 예로, 무선 인터페이스는 도 8의 방법을 통해 수신되는 기지국 클러스터 정보를 통해 클라우드 서버가 생성할 수 있다.
S2604 단계에서, 네트워크(예, 클라우드 서버)는 데이터 송수신을 수행할 단말을 선택할 수 있다. 클라우드 RAN 시스템에서 각 단말은 가상 셀을 통해 네트워크와 통신하기 때문에, 단말을 선택하는 것은 단말을 위한 가상 셀을 선택하는 것과 동등한 개념일 수 있다. 일 예로, 대상 단말의 선택은 본 발명에 따른 그룹 기반 그리디 스케줄링 방법을 통해 수행될 수 있다(도 13 참조).
S2606 단계에서, 네트워크(예, 클라우드 서버)는 송신할 데이터에 대해 프리코딩을 수행할 수 있다. 프리코더는 본 발명에 따른 방법(도 19 참조)을 통해 구할 수 있다.
S2608 단계에서, 네트워크(예, 클라우드 서버)는 프리코딩된 데이터의 전송을 위한 전력 할당을 수행할 수 있다. 전력 할당은 본 발명에 따른 클러스터 레벨 워터 필링 기반의 전력 할당 방법(도 23 참조)을 통해 수행될 수 있다. 한편, S2608 단계와 S2606 단계는 동일한 단계에서 수행되거나 혹은 순서가 바뀌어 수행될 수 있다.
S2610 단계에서, 네트워크(예, 클라우드 서버)는 스케줄링, 프리코더 및 전력 할당에 관한 정보를 선택된 단말을 위한 가상 셀을 형성하는 기지국들에게 전달할 수 있으며, 각 기지국은 이러한 정보를 기반으로 단말과 데이터를 송수신할 수 있다.
도 27은 클라우드 RAN 시스템을 위한 무선 자원 관리(radio resource management, RRM) 방법을 예시한다. 구체적으로, 도 27은 본 발명에서 제안된 기지국 클러스터링, 단말 스케줄링, 프리코딩, 전력 할당 방법을 통해 클라우드 RAN 시스템에서 단말 중심적 가상 셀을 운용하는 방법을 예시한다. 이해를 돕기 위해, 방법은 수도(pseudo) 코드의 형태로 나타내었다. 본 발명에서 제안된 네 가지 제어 요소(기지국 클러스터링, 단말 스케줄링, 프리코딩, 전력 할당)는 도 27의 예와 같이 통합되어 운용될 수 있다.
도 28은 본 발명에 적용될 수 있는 기지국 및 단말을 예시한다.
도 28을 참조하면, 무선 통신 시스템은 기지국(BS, 2810) 및 단말(UE, 2820)을 포함한다. 무선 통신 시스템이 릴레이를 포함하는 경우, 기지국 또는 단말은 릴레이로 대체될 수 있다.
기지국(2810)은 프로세서(2812), 메모리(2814) 및 무선 주파수(Radio Frequency: RF) 유닛(2816)을 포함한다. 프로세서(2812)는 본 발명에서 제안한 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 메모리(2814)는 프로세서(2812)와 연결되고 프로세서(2812)의 동작과 관련한 다양한 정보를 저장한다. RF 유닛(2816)은 프로세서(2812)와 연결되고 무선 신호를 송신 및/또는 수신한다. 단말(2820)은 프로세서(2822), 메모리(2824) 및 무선 주파수 유닛(2826)을 포함한다. 프로세서(2822)는 본 발명에서 제안한 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 메모리(2824)는 프로세서(2822)와 연결되고 프로세서(2822)의 동작과 관련한 다양한 정보를 저장한다. RF 유닛(2826)은 프로세서(2822)와 연결되고 무선 신호를 송신 및/또는 수신한다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 문서에서 기지국에 의해 수행된다고 설명된 특정 동작은 경우에 따라서는 그 상위 노드(upper node)에 의해 수행될 수 있다. 즉, 기지국을 포함하는 복수의 네트워크 노드들(network nodes)로 이루어지는 네트워크에서 단말과의 통신을 위해 수행되는 다양한 동작들은 기지국 또는 기지국 이외의 다른 네트워크 노드들에 의해 수행될 수 있음은 자명하다. 기지국은 고정국(fixed station), Node B, eNode B(eNB), 억세스 포인트(access point) 등의 용어에 의해 대체될 수 있다. 또한, 단말은 UE(User Equipment), MS(Mobile Station), MSS(Mobile Subscriber Station) 등의 용어로 대체될 수 있다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명의 실시예들을 구현하는 명령어 및/또는 데이터를 포함하는 소프트웨어 모듈은 스크립트(script), 배치(batch), 또는 다른 실행가능한 파일들을 포함할 수 있다. 소프트웨어 모듈들은 디스크 드라이브와 같은 기계 판독가능한 또는 컴퓨터 판독가능한 저장 매체 상에 저장될 수 있다. 본 발명의 실시예에 따른 소프트웨어 모듈들을 저장하는 데 사용되는 저장 매체들은 플로피 디스크(floppy disk), 광학 디스크, DVD, CD-ROM, 마이크로드라이브, 광자기 디스크(magneto-optical disk)를 포함하는 임의의 유형의 디스크, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, 플래쉬 메모리 디바이스, 자기적 또는 광학적 카드, 나노시스템(nanosystem)(분자 메모리 IC를 포함), 또는 명령어 및/또는 데이터를 저장하는 데 적합한 임의의 유형의 매체 등일 수 있다. 본 발명의 실시예에 따른 펌웨어나 하드웨어 모듈들을 저장하는 데 사용되는 저장 디바이스는 또한 반도체 기반의 메모리를 포함할 수 있으며, 이는 영구적으로, 탈착가능하게, 또는 원격으로 마이크로프로세서/메모리 시스템에 연결될 수 있다. 따라서, 상기 모듈들은 모듈의 기능들을 수행하는 컴퓨터 시스템을 구성하기 위해 컴퓨터 시스템 메모리 내에 저장될 수 있다. 다른 새롭고 다양한 유형의 컴퓨터 판독가능한 저장매체가 본 명세서에서 논의된 모듈들을 저장하는 데 사용될 수 있다. 게다가, 당해 기술분야의 통상의 기술자들은 기능들을 모듈들로 분리하는 것이 예시를 위한 목적이라는 것을 인식할 것이다. 대체가능한 실시예들은 다중 모듈들의 기능들을 단일 모듈로 병합할 수 있고, 또는 모듈들의 기능들을 대체가능하게 성분 분리할 수 있다. 예를 들어, 서브-모듈들을 호출하기 위한 소프트웨어 모듈들은 각 서브-모듈이 그것의 기능을 수행하고 제어를 직접적으로 다른 서브-모듈로 넘겨주도록 성분 분리될 수 있다.
본 발명의 실시예들을 구현하는 소프트웨어 모듈이 컴퓨터 판독가능한 저장 매체에 저장되는 경우, 프로세서(예를 들어, 마이크로 프로세서)에 의해 실행될 때 서버 또는 컴퓨터가 본 발명에 따른 방법들을 수행할 수 있게 하는 코드들 또는 명령어들로 구현될 수 있다.
본 발명은 본 발명의 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.