Cognitive Radio (CR) has been recently proposed as a possible solution to the problem of spectrum scarcity in wireless systems. In a cognitive radio network the (unlicensed) secondary users can access the unused frequency bands assigned to (licensed) primary users, on a non-interfering basis. Spectrum sensing is the fundamental functionality of CR systems that allows secondary users to autonomously identify the unused frequency bands that can be safely exploited for cognitive communications. This paper presents a review of the state of the art solutions and recent patents in the field of spectrum sensing for cognitive radio networks. A comparison between different strategies is carried out to evidence both the advantages and drawbacks of each method.