An efficient technique for dynamically allocating channels in satellite cellular networks