IP Library Granted Patent US 9,319,360
Granted Patent B2
US 9,319,360 · App. 11/934,066 · Granted Apr 19, 2016

Systems and methods for prefetching relevant information for responsive mobile email applications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,319,360
App. No.
11/934,066
Granted
Apr 19, 2016
Kind
B2
Abstract

Systems and methods for prefetching relevant information for responsive mobile email applications are describe. In some embodiments, the server performs operations for prefetching data for an application operating on a client device. The server receives from a client device a request for a list of conversations. In response to the request, the server fetches conversation headers associated with the request list of conversations and fetches up to a predetermined number of messages, within conversations in the list of conversations, which are determined to be most relevant to a user of the client device in accordance with predefined criteria, and then transmits the fetched headers and the fetched messages to the client device. Other embodiments are also described.

Claims (66)

1. A method for fetching data for an application operating on a client device, comprising:

at a server having one or more processors and memory storing programs executed by the one or more processors to perform the method:

receiving, from a client device, a request for a list of conversations;

fetching conversation headers associated with the requested list of conversations,

wherein each conversation comprises one or more messages;

fetching up to a predetermined number of messages, within conversations in the list of conversations, determined to be most relevant to a user of the client device in accordance with predefined criteria stored at the server, wherein the messages determined to be most relevant to the user of the client device include a plurality of messages selected from conversations determined to be most active among the conversations associated with the list of conversations; and

transmitting the fetched conversation headers in conjunction with the fetched messages to the client device.

2. The method of claim 1 , further including fetching and transmitting to the client device message headers associated with the list of conversations.

3. The method of claim 1 , further comprising giving an option to the user of the client device to instruct the server to stop the fetching of messages determined to be most relevant to the user; wherein each message thereafter transmitted to the client device is sent in response to a direct request by the client device for that message.

4. A server configured for fetching data for an application operating on a client device, comprising:

one or more processors, a memory coupled to the one or more processors; and

one or more programs, stored in the memory, configured for execution by the one or more processors, the one or more programs comprising instructions to:

at a server:

receive a request for a list of conversation headers from a client device,

fetch conversation headers associated with the requested list of conversations, wherein each conversation comprises one or more messages;

fetch up to a predetermined number of messages, within conversations in the list of conversations, determined to be most relevant to a user of the client device in accordance with predefined criteria stored at the server, wherein the messages determined to be most relevant to the user of the client device include a plurality of messages selected from conversations determined to be most active among the conversations associated with the list of conversations; and

transmit the fetched conversation headers in conjunction with the fetched messages to the client device.

5. The server of claim 4 , wherein the predetermined number of messages is determined based on at least one of memory available on the client device, cumulative size of the messages determined to be most relevant to the user, or a combination thereof.

6. The server of claim 4 , wherein the fetched headers and the fetched messages are wirelessly transmitted to the client device which is a mobile communication device.

7. A method for receiving fetched data for an application operating in a client device, comprising:

at a client device having one or more processors and memory storing programs executed by the one or more processors to perform the method:

sending, to a remote server, a request for a list of conversations;

receiving, from the remote server, content associated with the list of conversations, comprising: conversation headers associated with the list of conversations, and up to a predetermined number of messages, determined to be most relevant to a user of the client device in accordance with predefined criteria, within the conversations in the list of conversations, wherein each conversation comprises one or more messages, wherein the predefined criteria are stored at the remote server, and the messages determined to be most relevant to the user of the client device include a plurality of messages selected from conversations determined to be most active among the conversations associated with the list of conversations; and

displaying the list of conversations based on the received conversation headers.

8. The method of claim 7 , further comprising storing the content associated with the list of conversation temporarily in a memory of the client device.

9. The method of claim 7 , further comprising giving an option to the user of the client device to instruct the server to stop the fetching of messages determined to be most relevant to the user; wherein each message thereafter transmitted to the client device is sent in response to a direct request by the client device for that message.

10. A client device for receiving fetched data for an application operating on the client device, comprising:

a display, an input device, one or more processors, a memory coupled to the one or more processors, a communication interface; and

one or more programs, stored in the memory, configured for execution by the one or more processors, the one or more programs comprising instructions to:

at a client device:

send, to a remote server, a request for a list of conversations;

receive, from the remote server, content associated with the list of conversations, comprising: conversation headers associated with the list of conversations, and up to a predetermined number of messages, determined to be most relevant to a user of the client device in accordance with predefined criteria, within the conversations in the list of conversations, wherein each conversation comprises one or more messages, wherein the predefined criteria are stored at the remote server, and the messages determined to be most relevant to the user of the client device include a plurality of messages selected from conversations determined to be most active among the conversations associated with the list of conversations; and

display the list of conversations based on the received conversation headers.

11. The device of claim 10 , wherein the predetermined number of messages is determined based on at least one of memory available on the client device, cumulative size of the relevant messages determined to be most relevant to the user, or a combination thereof.

12. The device of claim 10 , wherein message headers associated with the list of conversations are also fetched and transmitted to the client device.

13. The device of claim 10 , wherein the request for the list of conversations is sent wirelessly from the client device, which is a mobile communication device, to the server.

14. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer system, the one or more programs comprising instructions for:

at a server:

receiving, from a client device, a request for a list of conversations;

fetching conversation headers associated with the requested list of conversations, wherein each conversation comprises one or more messages;

fetching up to a predetermined number of messages, within conversations in the list of conversations, determined to be most relevant to a user of the client device in accordance with predefined criteria stored at the server, wherein the messages determined to be most relevant to the user of the client device include a plurality of messages selected from conversations determined to be most active among the conversations associated with the list of conversations; and

transmitting the fetched conversation headers in conjunction with the fetched messages to the client device.

15. The non-transitory computer readable storage medium of claim 14 , wherein the predetermined number of messages is determined based on at least one of memory available on the client device, cumulative size of the messages determined to be most relevant to the user, or a combination thereof.

16. The non-transitory computer readable storage medium of claim 14 , further comprising giving an option to the user of the client device to instruct the server to stop the fetching of messages determined to be most relevant to the user; wherein each message thereafter transmitted to the client device is sent in response to a direct request by the client device for that message.

17. The non-transitory computer readable storage medium of claim 14 , wherein the fetched headers and the fetched messages are wirelessly transmitted to the client device which is a mobile communication device.

18. The method of claim 1 , wherein the request for the list of conversations further comprises a request for one or more of: message information and conversation information;

wherein the message information includes, for a respective message, one or more of sender information, date information, labels information and importance information; and

wherein the conversation information includes, for a respective conversation, one or more of total number of messages, which messages are read and which messages are unread.

19. The server of claim 4 , wherein the request for the list of conversations further comprises a request for one or more of: message information and conversation information;

wherein the message information includes, for a respective message, one or more of sender information, date information, labels information and importance information; and

wherein the conversation information includes, for a respective conversation, one or more of total number of messages, which messages are read and which messages are unread.

20. The non-transitory computer readable storage medium of claim 14 , wherein the request for the list of conversations further comprises a request for one or more of: message information and conversation information,

wherein the message information includes, for a respective message, one or more of sender information, date information, labels information and importance information; and

wherein the conversation information includes, for a respective conversation, one or more of total number of messages, which messages are read and which messages are unread.

21. The method of claim 1 , wherein a respective message is determined to be relevant to the user of the client if a plurality of second users have viewed the respective message, wherein the user of the client is distinct from the plurality of second users and wherein the plurality of second users are recipients of the respective message.

22. The server of claim 4 , wherein a respective message is determined to be relevant to the user of the client if a plurality of second users have viewed the respective message, wherein the user of the client is distinct from the plurality of second users and wherein the plurality of second users are recipients of the respective message.

23. The non-transitory computer readable storage medium of claim 14 , wherein a respective message is determined to be relevant to the user of the client if a plurality of second users have viewed the respective message, wherein the user of the client is distinct from the plurality of second users and wherein the plurality of second users are recipients of the respective message.

24. A method for fetching data for an application operating on a client device, comprising:

at a server having one or more processors and memory storing programs executed by the one or more processors to perform the method:

receiving, from a client device, a request for a list of email threads;

fetching thread headers associated with the requested list of email threads, wherein each email thread comprises one or more messages;

fetching up to a predetermined number of messages, within email threads in the list of email threads, determined to be most relevant to a user of the client device in accordance with predefined criteria stored at the server, wherein the messages determined to be most relevant to the user of the client device include a plurality of messages selected from email threads determined to be most active among the email threads associated with the list of email threads; and

transmitting the fetched thread headers in conjunction with the fetched messages to the client device.

25. The method of claim 24 , further comprising giving an option to the user of the client device to instruct the server to stop the fetching of messages determined to be most relevant to the user; wherein each message thereafter transmitted to the client device is sent in response to a direct request by the client device for that message.

26. The method of claim 24 , wherein the predetermined number of messages is determined based on at least one of memory available on the client device, cumulative size of the messages determined to be most relevant to the user, or a combination thereof.

27. The method of claim 24 , wherein a respective message is determined to be relevant to the user of the client if a plurality of second users have viewed the respective message, wherein the user of the client is distinct from the plurality of second users and wherein the plurality of second users are recipients of the respective message.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2008
From: SHIH, JIMMY; BEUST, CEDRIC; MCKINLEY, JOANNE; PHILLIPS, DEREK
To: GOOGLE, INC.
Reel/Frame 020430/0475 →