System and method for scheduling content updates in a content-based application

Abstract
Described are various mechanisms and techniques for influencing or controlling a content update schedule for a content-based software application on a mobile device. A content server issues one or more commands to the mobile device that establish a content update schedule for the mobile device. The mobile device then performs content update sessions with the content server based on that schedule. During any one or more refresh sessions, the content server delivers another command to establish a new content update schedule. This system provides the advantage of allowing the content server to regulate how frequently the mobile device retrieves new content.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

With reference to the figures in which like numerals represent like elements throughout:



FIG. 1 is a functional diagram of a communications environment in which mobile devices using content-based applications may operate.



FIG. 2 is a functional block diagram that more fully illustrates components and interactions of the content server and a mobile device configured in accordance with one implementation of the invention.



FIG. 3 is a conceptual illustration of a “unit” that may be used in implementations of the present invention.



FIG. 4 is a functional block diagram generally illustrating a content server having a content-based server application and a mobile device having an installed content-based application.



FIG. 5 is graphical representation of a sample display that may be presented by a content-based application on a mobile device.



FIG. 6 is a functional block diagram generally illustrating the core components of a sample mobile device in which implementations of the invention are particularly applicable.



FIG. 7 is a functional block diagram generally illustrating the core components of a sample computing device in which implementations of the invention are particularly applicable.



FIG. 8 is an operational flow diagram generally illustrating steps in a process for instructing a mobile device to perform a content update.



FIG. 9 is a state diagram generally illustrating operations performed by a process for refreshing content stored on a mobile device.



FIG. 10 is an operational flow diagram generally illustrating steps in a process for performing a “command queue revival” in a system having a content server that issues commands to a client, the client being configured to retrieve content from the content server.



FIG. 11 is an operational flow diagram generally illustrating the steps of a process for initializing a content-based application on a mobile device.


Claims
  • 1. A system for influencing a content update schedule on a mobile device, comprising: a server configured with a processor, a memory, and a storage medium, the storage medium being encoded with a server application that when executed by the processor runs in the memory and causes the server to:create a refresh command that, when executed, initiates a content update session, the refresh command including a repeatdelay parameter that defines a period during which another refresh command will not be executed; andissue the refresh command to a mobile device having a content-based application configured to retrieve content from a content server.
  • 2. The system recited in claim 1, wherein the refresh command is issued to the mobile device during a content update session initiated by the mobile device.
  • 3. The system recited in claim 1, wherein the refresh command is issued to the mobile device in an asynchronous message.
  • 4. The system recited in claim 3, wherein the asynchronous message uses the Short Messaging Service (SMS) protocol.
  • 5. The system recited in claim 3, wherein the refresh command further comprises additional parameters that influence how the refresh command is executed.
  • 6. The system recited in claim 5, wherein the additional parameters include a time parameter that specifies when the refresh command should be executed.
  • 7. The system recited in claim 5, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 8. The system recited in claim 5, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 9. The system recited in claim 1, wherein the refresh command further comprises means for influencing how the refresh command is executed.
  • 10. The system recited in claim 1, wherein the refresh command further comprises additional parameters that influence how the refresh command is executed.
  • 11. The system recited in claim 10, wherein the additional parameters include a time parameter that specifies when the refresh command should be executed.
  • 12. The system recited in claim 10, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 13. The system recited in claim 10, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 14. A system for scheduling a content update, comprising: a mobile device configured with a processor, a memory, and a storage medium, the storage medium being encoded with a command queue and a content-based application that when executed by the processor runs in the memory and causes the mobile device to:monitor the command queue for commands that are due for execution;if a refresh command in the command queue is due for execution, determine if the refresh command is prohibited from executing due to a pending delay period set by a prior refresh command;if the refresh command is not prohibited by the pending delay period, execute the refresh command by contacting a content server identified in the refresh command and requesting a content update session; andreceive a new refresh command configured for execution at a predetermined time in the future.
  • 15. The system recited in claim 14, wherein the new refresh command is received from the content server.
  • 16. The system recited in claim 15, wherein the new refresh command is received from the content server during the content update session.
  • 17. The system recited in claim 15, wherein the new refresh command is received from the content server as an asynchronous message separate from the content update session.
  • 18. The system recited in claim 17, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 19. The system recited in claim 18, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 20. The system recited in claim 18, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 21. The system recited in claim 18, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 22. The system recited in claim 14, wherein the refresh command further comprises means for influencing how the refresh command is executed.
  • 23. The system recited in claim 14, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 24. The system recited in claim 23, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 25. The system recited in claim 23, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 26. The system recited in claim 23, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 27. A computer-readable medium encoded with computer-executable instructions for influencing a content update schedule on a mobile device which, when executed, perform steps comprising: creating a refresh command that, when executed, causes a mobile device to perform a content update that includes contacting a content server to initiate a content update session, the refresh command including a first parameter that specifies a time when the refresh command should be executed and a second parameter that specifies a period during which a subsequent refresh command should not be executed; andissuing the refresh command to the mobile device.
  • 28. The computer-readable medium recited in claim 27, wherein issuing the refresh command is performed during the content update session.
  • 29. The computer-readable medium recited in claim 27, wherein issuing the refresh command is performed using an asynchronous message transfer mechanism.
  • 30. The computer-readable medium recited in claim 29, wherein the asynchronous transfer mechanism comprises a Short Messaging Service (SMS) protocol.
  • 31. The computer-readable medium recited in claim 29, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 32. The computer-readable medium recited in claim 31, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 33. The computer-readable medium recited in claim 31, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 34. The computer-readable medium recited in claim 31, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 35. The computer-readable medium recited in claim 27, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 36. The computer-readable medium recited in claim 35, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 37. The computer-readable medium recited in claim 35, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 38. The computer-readable medium recited in claim 35, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 39. The computer-readable medium recited in claim 27, wherein the refresh command further comprises means for influencing how the refresh command is executed.
  • 40. A computer-readable medium encoded with computer-executable instructions for scheduling a content update which, when executed, perform steps comprising: receiving a refresh command that specifies a time when the refresh command should be executed;storing the refresh command in a command queue on a mobile device;monitoring the command queue to determine if any commands in the command queue are due for execution;if the refresh command is due to be executed, determining if the refresh command is prohibited from executing by a parameter set in a previous refresh command; andif the refresh command is not prohibited, executing the refresh command by contacting a content server and initiating a content update session.
  • 41. The computer-readable medium recited in claim 40, wherein the refresh command is received from the content server.
  • 42. The computer-readable medium recited in claim 41, wherein the refresh command is received from the content server during the content update session.
  • 43. The computer-readable medium recited in claim 41, wherein the refresh command is received from the content server as an asynchronous message separate from the content update session.
  • 44. The computer-readable medium recited in claim 43, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 45. The computer-readable medium recited in claim 44, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 46. The computer-readable medium recited in claim 44, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 47. The computer-readable medium recited in claim 44, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 48. The computer-readable medium recited in claim 40, wherein the refresh command further comprises means for influencing how the refresh command is executed.
  • 49. The computer-readable medium recited in claim 40, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 50. The computer-readable medium recited in claim 49, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 51. The computer-readable medium recited in claim 49, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 52. The computer-readable medium recited in claim 49, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed
  • 53. A method for influencing a content update schedule on a mobile device, comprising: creating a refresh command that, when executed, causes a mobile device to perform a content update that includes contacting a content server to initiate a content update session, the refresh command including a first parameter that specifies a time when the refresh command should be executed and a second parameter that defines a period during which a subsequent refresh command should not be executed; andissuing the refresh command to the mobile device.
  • 54. The method recited in claim 53, wherein issuing the refresh command is performed during the content update session.
  • 55. The method recited in claim 53, wherein issuing the refresh command is performed using an asynchronous message transfer mechanism.
  • 56. The method recited in claim 55, wherein the asynchronous transfer mechanism comprises a Short Messaging Service (SMS) protocol.
  • 57. The method recited in claim 55, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 58. The method recited in claim 57, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 59. The method recited in claim 57, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 60. The method recited in claim 57, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 61. The method recited in claim 53, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 62. The method recited in claim 61, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 63. The method recited in claim 61, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 64. The method recited in claim 61, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 65. The method recited in claim 53, wherein the refresh command further comprises means for influencing how the refresh command is executed.
  • 66. A method for scheduling a content update, comprising: receiving a refresh command that specifies a time when the refresh command should be executed;storing the refresh command in a command queue on a mobile device;monitoring the command queue to determine if any commands in the command queue are due for execution; andif the refresh command has become due for execution and its execution is not prohibited by a prior refresh command, executing the refresh command by contacting a content server and initiating a content update session.
  • 67. The method recited in claim 66, wherein the refresh command is received from the content server.
  • 68. The method recited in claim 67, wherein the refresh command is received from the content server during the content update session.
  • 69. The method recited in claim 67, wherein the refresh command is received from the content server as an asynchronous message separate from the content update session.
  • 70. The method recited in claim 69, wherein the asynchronous message comprises a Short Message Service (SMS) message.
  • 71. The method recited in claim 69, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 72. The method recited in claim 71, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 73. The method recited in claim 71, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 74. The method recited in claim 71, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 75. The method recited in claim 66, wherein the refresh command further comprises means for influencing how the refresh command is executed.
  • 76. The method recited in claim 66, wherein the refresh command further comprises parameters that influence how the refresh command is executed.
  • 77. The method recited in claim 76, wherein the parameters include a time parameter that specifies when the refresh command should be executed.
  • 78. The method recited in claim 76, wherein the parameters include a URL parameter that specifies the content to be retrieved.
  • 79. The method recited in claim 76, wherein the parameters include an expires parameter that specifies a time after which the refresh command should not be executed.
  • 80. A system for influencing a content update schedule on a mobile device, comprising: means for creating a refresh command that, when executed, causes a mobile device to perform a content update that includes contacting a content server to initiate a content update session, the refresh command including a first parameter that specifies a time when the refresh command should be executed and a second parameter that specifies a period during which a subsequent refresh command should not be executed; andmeans for issuing the refresh command to the mobile device.
  • 81. A system for scheduling a content update, comprising: means for receiving a refresh command that specifies a time when the refresh command should be executed;means for storing the refresh command in a command queue on a mobile device;means for monitoring the command queue to determine if any commands in the command queue are due for execution; andif the refresh command has become due for execution and its execution is not prohibited by a parameter of a prior refresh command, means for executing the refresh command by contacting a content server and initiating a content update session.