Patent ID: 7877117

Claim:
A method for conserving power consumed by wireless communication hardware of a computing device executing a communication application, the method comprising the steps of: receiving a packet for transmission from higher level software comprising the communication application; receiving, along with the data for transmission, through the driver scheduling related information from a plurality of sources, wherein the plurality of sources comprise the communication application and the wireless communication hardware, wherein the scheduling related information can be used to determine an expected response time for receiving an expected response related to the received packet for transmission, and wherein the driver comprises a data structure; receiving information on at least one reoccurring event through interaction with at least one other wireless computing device; transmitting the packet for transmission using the wireless communication hardware; scheduling an awake state of the wireless communication hardware at a plurality of times by entering into the data structure a time value for each of the plurality of times, the plurality of time values comprising a time value based on the at least one reoccurring event and a time value based on the expected response time; placing the wireless communication hardware into a doze state; and in the doze state, processing entries of the data structure at a plurality of times, wherein the processing comprises: determining whether an entry in the data structure indicates a time of a scheduled awake state matching a current time, when a processed entry in the data structure indicates a time of a scheduled awake state matching a current time, placing the wireless communication hardware into the awake state at the scheduled time, and when the processed entry in the data structure does not indicate a time matching a current time, causing the wireless communication hardware to remain in the doze state.