Throughput maximization of spectrum sharing cognitive radio networks