Wireless mobile devices having improved operation during network unavailability
First Claim
1. A method for sending a resource request of a mobile device to a remote server through a wireless network, said method comprising the acts of:
- (a) receiving a resource request, the requested resource being associated with the remote server;
(b) determining whether the requested resource is of a synchronous type resource request or of an asynchronous type resource request;
(c) placing the resource request in an outgoing queue and not awaiting a resource reply when said determining (b) determines that the resource request is an asynchronous type resource request; and
(d) when said determining (b) determines that the resource request is a synchronous type resource request, performing the acts of (d1) determining whether the requested resource is present in a local cache memory of the mobile device;
(d2) supplying the requested resource from the local cache memory when said determining (d) determines that the requested resource is present in the local cache memory; and
(d3) sending the resource request to the remote server through the wireless network and awaiting a resource reply when said determining (d) determines that the requested resource is not present in the local cache memory.
6 Assignments
0 Petitions
Accused Products
Abstract
Improved techniques for reducing delays faced by users of mobile devices due to unavailability of wireless networks are disclosed. The techniques facilitate the reduction of delays faced by users of mobile devices during unavailability of wireless networks. A first technique allows mobile devices to communicate with remote servers using asynchronous communications, namely asynchronous requests. Such asynchronous communications allow the processing at a mobile device to continue while the asynchronous request is processed in the background. A second technique pertains to the use of content channels with mobile devices. The content channels are stored and retained in cache memory so that their resources are guaranteed to be locally available, regardless of availability of wireless networks. A third technique pertains to improved list processing within mobile devices such that lists can be manipulated without server interaction. These various techniques can be used separately or in combination.
198 Citations
28 Claims
-
1. A method for sending a resource request of a mobile device to a remote server through a wireless network, said method comprising the acts of:
-
(a) receiving a resource request, the requested resource being associated with the remote server;
(b) determining whether the requested resource is of a synchronous type resource request or of an asynchronous type resource request;
(c) placing the resource request in an outgoing queue and not awaiting a resource reply when said determining (b) determines that the resource request is an asynchronous type resource request; and
(d) when said determining (b) determines that the resource request is a synchronous type resource request, performing the acts of (d1) determining whether the requested resource is present in a local cache memory of the mobile device;
(d2) supplying the requested resource from the local cache memory when said determining (d) determines that the requested resource is present in the local cache memory; and
(d3) sending the resource request to the remote server through the wireless network and awaiting a resource reply when said determining (d) determines that the requested resource is not present in the local cache memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
(e) removing the resource request from the outgoing queue when the wireless network is available and then sending the resource request to the remote server through the wireless network.
-
-
3. A method as recited in claim 2, wherein said method further comprises:
(f) receiving a resource reply at the mobile device in response to the asynchronous resource request via the wireless network when the wireless network is available.
-
4. A method as recited in claim 3, wherein said method further comprises:
(g) storing the resource reply in the cache memory.
-
5. A method as recited in claim 1, wherein the application executing on the mobile device issues the resource request and indicates whether the resource request is a synchronous resource request or asynchronous resource request.
-
6. A method as recited in claim 1, wherein the application is a web browser, and the resource request references a universal resource identifier.
-
7. A method as recited in claim 6, wherein the mobile device is one of a mobile telephone, a mobile pager, a mobile personal digital assistant, and a mobile computer.
-
8. A method as recited in claim 7, wherein said method further comprises:
-
(e) determining whether the wireless network is available; and
(f) removing the asynchronous resource request from the outgoing queue when the wireless network is available and then sending the asynchronous resource request to the remote server through the wireless network.
-
-
9. A method as recited in claim 8, wherein the application executing on the mobile device issues the resource request and indicates whether the resource request is a synchronous resource request or asynchronous resource request.
-
10. A mobile device that connects to a remote server through a network, said mobile device comprising:
-
an application that executes on said mobile device, said application produces outgoing messages that are to be sent to the remote server;
an asynchronous message queue that stores outgoing messages from said application that are to be sent from said mobile device to the remote server; and
an asynchronous message manager that manages the sending of the outgoing messages from said asynchronous message queue to the remote server through the network, wherein the outgoing messages are synchronous or asynchronous messages, wherein said mobile device further comprises a synchronous message manager that manages the sending of the synchronous messages to the remote server through the network, wherein said asynchronous message queue stores the asynchronous messages from said application that are to be sent from said mobile device to the remote server, and wherein said asynchronous message manager that manages the sending of the asynchronous messages from said asynchronous message queue to the remote server through the network. - View Dependent Claims (11, 12, 13, 14, 15, 16)
wherein the network comprises a wireless network, wherein said application requests asynchronous transmission of the outgoing messages, and wherein said application does not await to receive reply messages from the remote server in response to the outgoing messages. -
12. A mobile device as recited in claim 10,
wherein the network comprises a wireless network, wherein the outgoing messages are requests for resources, and wherein said mobile device further comprises: -
a cache memory that stores resources likely to be requested by said application;
a channel manager that loads a content channel into said cache memory from the remote server through the wireless network.
-
-
13. A mobile device as recited in claim 12, wherein said channel manager loads a content channel when said mobile device is provisioned or on a user request.
-
14. A mobile device as recited in claim 12, wherein the content channel comprises channel resources,
wherein said channel manager stores the channel resources in a reserved portion of said cache memory. -
15. A mobile device as recited in claim 14, wherein the channel resources stored in the reserved portion of said cache memory are protected from cache clean-up or refresh processing.
-
16. A mobile device as recited in claim 12,
wherein the network comprises a wireless network, wherein the outgoing messages are requests for resources, and wherein said mobile device further comprises a list manager that manages lists provided on said mobile device such that lists can be manipulated without interaction with the remote server through the wireless network.
-
-
17. A mobile device that connects to a remote server through a network, said mobile device comprising:
-
an application that executes on said mobile device, said application produces outgoing messages that are to be sent to the remote server;
an asynchronous message queue that stores outgoing messages from said application that are to be sent from said mobile device to the remote server; and
an asynchronous message manager that manages the sending of the outgoing messages from said asynchronous message queue to the remote server through the network, wherein the network comprises a wireless network, wherein the outgoing messages are requests for resources, and wherein said mobile device further comprises a list manager that manages a list provided on said mobile device such that lists can be manipulated without interaction with the remote server through the wireless network. - View Dependent Claims (18, 19, 20)
wherein the list is display on a display device of said mobile device, and wherein said list object comprises: - a list specification that describes the list, and a plurality of list elements that correspond to each entry of the displayed list.
-
20. A mobile device as recited in claim 17, wherein said mobile device stores a list object for the list, the list object facilitates said list manager in manipulating the list as well as subsequent asynchronous notification of the remote server of the manipulations that have been made to the list.
-
-
21. A computer readable medium including computer program code for sending a resource request of a mobile device to a remote server through a wireless network, said computer readable medium comprising:
-
computer program code for receiving a resource request, the requested resource being associated with the remote server;
computer program code for determining whether the requested resource is of a synchronous type resource request or of a an asynchronous type resource request;
computer program code for placing the resource request in an outgoing queue and not awaiting a resource reply when the resource request is an asynchronous type resource request; and
computer program code for sending the resource request to the remote server through the wireless network and awaiting a resource reply when the resource request is a synchronous type resource request. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
computer program code for removing the resource request from the outgoing queue when the wireless network is available and then sending the resource request to the remote server through the wireless network.
-
-
23. A computer readable medium as recited in claim 22, wherein said computer readable medium further comprises:
computer readable medium for receiving a resource reply at the mobile device in response to the asynchronous resource request via the wireless network when the wireless network is available.
-
24. A computer readable medium as recited in claim 21, wherein the application executing on the mobile device issues the resource request and indicates whether the resource request is a synchronous resource request or asynchronous resource request.
-
25. A computer readable medium as recited in claim 24, wherein the application is a web browser, and the resource request references a universal resource identifier.
-
26. A computer readable medium as recited in claim 25, wherein the mobile device is one of a mobile telephone, a mobile pager, a mobile personal digital assistant, and a mobile computer.
-
27. A computer readable medium as recited in claim 21, wherein said computer readable medium further comprises:
-
computer program code for determining whether the wireless network is available; and
computer program code for removing the asynchronous resource request from the outgoing queue when the wireless network is available and then sending the asynchronous resource request to the remote server through the wireless network.
-
-
28. A computer readable medium as recited in claim 27, wherein the application executing on the mobile device issues the resource request and indicates whether the resource request is a synchronous resource request or asynchronous resource request.
Specification