Patent ID: 8112538
Filing Date: 2012-02-07
Classification: G06F,H04M,H04W,Y02D

Abstract:
1. A computer program product comprising a non-transitory computer-readable medium having a computer program stored thereon, the computer program comprising computer-executable instructions for: receiving a software upgrade notification from a server, the software upgrade notification including software version information and one or more server tokens associated with m most recent software upgrades available on the server, wherein the server token has a maximum integer value n; performing a token-based check-up protocol to determine whether a software upgrade is needed for a client device, the check-up protocol including determining whether a client token value is between the server token value minus m (modulo n) and the server token value minus 1 (modulo n), if the client token value is not greater than or equal to the server token value (modulo n); and performing a token-based access protocol to receive a software upgrade from the server, the access protocol including: performing a push protocol to receive the software upgrade from the server and setting the client token value equal to the server token value if the client token value is between the server token value minus m (modulo n) and the server token value minus 1 (modulo n); and performing a pull protocol to receive the software upgrade from the server and setting the client token value equal to the server token value if the client token value is not between the server token value minus m (modulo n) and the server token value minus 1 (modulo n).