Cooperative Techniques for Wireless Ad Hoc and Cellular Networks