Patent ID: 8892748

Claim:
A method performed by a software application of a computing device that communicates with a data network via a network interface device that maintains a pinhole timer for incoming communications directed to the computing device, the method being designed to determine a time interval for sending messages that will prevent the pinhole from closing, the method comprising: sending a first communication to a server via the network interface device before the software application is moved to the background of an operating system of the computing device for a first background period, the first communication indicating a first initial time interval at which the software application wishes to receive wake up messages from the server; receiving at least one wake up message from the server during the first background period, wherein the receipt of each wake up message causes a message to be sent from the computing device to the server, and wherein a first test wake up message is received at a point in time that is before the end of the first background period by an interval approximately equal to a sum of the first time interval and a time increment; and determining if the pinhole timer of the data network interface device closed during the period of time that elapses between receipt of the first test wake up message and the end of the first background period.