IP Library Granted Patent US 7,162,513
Granted Patent B1
US 7,162,513 · App. 10/236,255 · Granted Jan 9, 2007

Apparatus and method for distributing electronic messages to a wireless data processing device using a multi-tiered queuing architecture

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 7,162,513
App. No.
10/236,255
Granted
Jan 9, 2007
Kind
B1
Abstract

A system for distributing electronic messages to a wireless data processing device is described comprising: a dispatcher to maintain a communication channel with the wireless data processing device, the dispatcher comprising a short term message queue for temporarily storing e-mail messages addressed to the wireless data processing device while the dispatcher attempts to transmit the e-mail messages to the wireless data processing device; and a long term message queue for receiving the e-mail messages from the dispatcher if the dispatcher is unable to deliver the e-mail messages to the wireless data processing device after a specified period of time or a specified number of attempts.

Claims (43)

1. A method comprising:

retrieving one or more e-mail messages from an e-mail server on behalf of a user and temporarily storing said one or more e-mail messages in a short term message queue;

identifying a wireless data processing device associated with said user;

attempting to transmit said one or more e-mail messages to said wireless data processing device from said short term message queue; and

copying said one or more e-mail messages from said short term message queue to a long term message queue if said attempt to transmit said one or more e-mail messages is unsuccessful after a predetermined period of time or number of attempts.

2. The method as in claim 1 wherein retrieving comprises:

executing a mail agent to monitor said user's account on said e-mail server for new e-mail messages and, responsive to detecting a new e-mail message has arrived, said mail agent forwarding said new e-mail messages to said short term queue.

3. The method as in claim 1 further comprising:

transferring said one or more e-mail messages from said long term queue to said short term queue responsive to detecting that said wireless data processing device is online; and

reattempting to transmit said one or more e-mail messages to said user from said short term message queue.

4. The method as in claim 1 wherein identifying further comprises:

performing a database query in a user database with a user's account identification code to identify a device identification code associated with said user's account.

5. The method as in claim 1 wherein said short term message queue is configured on a dispatcher server, said dispatcher server supporting a socket connection between said wireless data processing device and an e-mail proxy server, said e-mail proxy server performing said step of retrieving said one or more e-mail messages.

6. The method as in claim 1 further comprising:

initially determining whether said wireless data processing device is communicatively coupled to a wireless network prior to retrieving said one or more e-mail messages.

7. The method as in claim 6 wherein determining comprises querying a user database in which an online/offline status of said data processing device is stored.

8. A system for distributing electronic messages to a wireless data processing device comprising:

a dispatcher to maintain a communication channel with said wireless data processing device, said dispatcher comprising a short term message queue for temporarily storing e-mail messages addressed to said wireless data processing device while said dispatcher attempts to transmit said e-mail messages to said wireless data processing device; and

a long term message queue for receiving said e-mail messages from said dispatcher if said dispatcher is unable to deliver said e-mail messages to said wireless data processing device after a specified period of time or a specified number of attempts, said long term storage queue to store said e-mail messages until a dispatcher establishes another communication channel with said wireless data processing device.

9. The system as in claim 8 wherein said long term storage queue is comprised of a pending message table within a user database.

10. The system as in claim 9 wherein said pending message table stores new e-mail message alerts in addition to said e-mail messages, said new e-mail message alerts indicating that new e-mail messages are available on a particular e-mail server.

11. The system as in claim 8 further comprising:

an e-mail proxy for retrieving said e-mail messages from a specified e-mail server on behalf of a user and transmitting said e-mail messages to said dispatcher.

12. The system as in claim 11 further comprising:

a mail agent to indicate to said proxy server when new e-mail messages have arrived at said e-mail server.

13. The system as in claim 12 wherein, responsive to said indication of new e-mail messages, said e-mail proxy checks a user status database to determine whether a communication channel is currently established between said wireless data processing device and said dispatcher, and, if so, wherein said proxy server transmits said indication of new e-mail messages to said wireless data processing device.

14. The system as in claim 13 wherein, if a communication channel is not currently established between said wireless data processing device and said dispatcher, said proxy server transmits said indication of new e-mail messages to said long term storage queue.

15. The system as in claim 14 wherein, when said wireless data processing device reestablishes a communication channel with a dispatcher, said dispatcher checks said long term storage queue for any pending messages and responsively transmits said indication of new e-mail messages to said wireless data processing device.

16. The system as in claim 15 wherein, upon receiving said indication of new e-mail messages, said wireless data processing device requests all new e-mail messages from said proxy server.

17. The system as in claim 16 wherein said request for all new e-mail messages comprises a request for all e-mail messages having an identification code greater than e-mail messages stored on said wireless data processing device.

18. A system comprising:

e-mail message retrieval means for retrieving one or more e-mail messages from an e-mail server on behalf of a user and temporarily storing said one or more e-mail messages in a short term message queue;

device identification means for identifying a wireless data processing device associated with said user;

first queuing means for initially queuing said e-mail messages while attempting to transmit said e-mail messages to said wireless data processing device from said short term message queue; and

second queuing means to store said e-mail messages said attempt to transmit said one or more e-mail messages by said first queuing means is unsuccessful after a predetermined period of time or number of attempts.

19. The system as in claim 18 wherein said e-mail message retrieval means comprises:

mail agent means to monitor said user's account on said e-mail server for new e-mail messages and, responsive to detecting a new e-mail message has arrived, said mail agent forwarding said new e-mail messages to said short term queue.

20. The system as in claim 18 wherein said second queuing means transfers said one or more e-mail messages back to said first queuing means responsive to detecting that said wireless data processing device is online; said first queuing means then reattempting to transmit said one or more e-mail messages to said user.

21. The system as in claim 18 wherein said device identification means performs a query in a user database with a user's account identification code to identify a device identification code associated with said user's account.

22. The system as in claim 18 wherein said first queuing means comprises a dispatcher server, said dispatcher server supporting a socket connection between said wireless data processing device and said retrieval means.

23. The system as in claim 18 further comprising:

device status identification means for initially determining whether said wireless data processing device is communicatively coupled to a wireless network prior to said e-mail message retrieval means retrieving said one or more e-mail messages.

24. The system as in claim 23 wherein said device status identification means comprises a user database in which an online/offline status of said data processing device is maintained.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →