IP Library Granted Patent US 8,838,158
Granted Patent B2
US 8,838,158 · App. 13/919,410 · Granted Sep 16, 2014

System and method for enabling messages to be sent while a mobile device is out-of-coverage

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 8,838,158
App. No.
13/919,410
Granted
Sep 16, 2014
Kind
B2
Abstract

A system and method are provided that enable a mobile device when out-of-coverage and thus unable to send or receive messages to rely on other mobile devices which are also out-of-coverage as “hosts” for their outgoing messages such that when one of the hosts comes back into coverage the host mobile device (HMD) can send the outgoing messages on behalf of the originating or “source” mobile device (SMD). The system and method may comprise a pairing procedure to determine the suitability of a mobile device being an HMD according to criteria such as battery power, memory availability and whether the device is also out of coverage. When coming back into coverage, information is obtained from the data communication system to determine whether others have already sent messages that have been provided to host mobile devices.

Claims (61)

1. A method performed by a first mobile device for sending a message on behalf of another mobile device in a data communication system, said method comprising:

said first mobile device receiving a hosted message to be sent on behalf of said another device over a short range communication connection, said first mobile device being out of coverage with respect to said data communication system, said hosted message comprising a corresponding unique message identifier;

said first mobile device storing said hosted message in a local cache;

after determining that said first mobile device is back in coverage with respect to said data communication system, said first mobile device obtaining information comprising a unique message identifier;

said first mobile device comparing said obtained unique message identifier to a stored unique message identifier to determine if said hosted message has already been sent; and

said first mobile device sending said hosted message through said data communication system when said hosted message has not already been sent.

2. The method according to claim 1 further comprising said first mobile device receiving a request from said another mobile device to act as a host, and said first mobile device participating in a pairing procedure with said another mobile device to establish a communication channel for receiving said hosted message.

3. The method according to claim 2 wherein after receiving said request, said first mobile device determines if said first mobile device is currently capable of being said host according to one or more criteria.

4. The method according to claim 3 wherein said one or more criteria comprises any one or more of the following: battery power, available memory in said local cache, or whether said first mobile device is currently out of coverage.

5. The method according to claim 2 further comprising determining if said first mobile device has permission to be said host by performing at least one of:

referencing a set of user preferences; and

prompting a user of said first mobile device and obtaining a user input therefrom.

6. The method according to claim 1 wherein after said sending said hosted message through said data communication system, said method further comprises said first mobile device updating a graphical user interface to distinguish between messages normally sent or received via said data communication system from remaining ones of said stored hosted messages.

7. The method according to claim 1 wherein said information comprises a global list of hosted messages.

8. The method according to claim 1 wherein said information comprises is a list of hosted messages provided by said data communication system in response to a local list of hosted messages generated according to the contents of said local cache.

9. A method of a first mobile device provisioning other devices to send a message on behalf of said first mobile device in a data communication system, said method comprising:

after determining that said first mobile device is out of coverage with respect to said data communication system, said first mobile device determining if the first mobile device is capable of communicating with at least a second mobile device via a short range communication connection;

after determining that said second mobile device is within range of said first mobile device, said first mobile device generating a hosted message from a corresponding message that would normally be sent via said data communication system to a recipient, said hosted message comprising a unique message identifier;

said first mobile device establishing a connection with said second mobile device via said short range communication connection;

said first mobile device sending said hosted message to said second mobile device;

said first mobile device storing information in a local cache, said information including a corresponding unique message identifier;

after determining that said first mobile device is back in coverage with respect to said data communication system, said first mobile device obtaining information comprising a unique message identifier;

said first mobile device determining if said hosted message has already been sent via said data communication system by comparing said obtained unique identifier to a stored unique message identifier; and

said first mobile device sending said hosted message via said data communication system when said hosted message had not already been sent.

10. The method according to claim 9 further comprising updating a graphical user interface associated with said hosted message to differentiate said hosted message from messages normally sent or received via said data communication system.

11. The method according to claim 9 wherein said updating comprises changing a graphical indicator to a distinct indicator associated with said hosted message.

12. The method according to claim 9 wherein after coming back in coverage, said method further comprises said first mobile device obtaining a list of hosted messages already sent through said data communication system.

13. The method according to claim 9 further comprising said first mobile device sending a request to said second mobile device to act as a host, and said first mobile device participating in a pairing procedure with said second mobile device to establish a communication channel for providing said hosted message to said second mobile device.

14. A non-transitory computer readable storage medium comprising computer executable instructions executable by a first mobile device to send a message on behalf of another mobile device in a data communication system, said computer executable instructions comprising instructions for:

receiving a hosted message to be sent on behalf of said another device over a short range communication connection, said first mobile device being out of coverage with respect to said data communication system, said hosted message comprising a corresponding unique message identifier;

storing said hosted message in a local cache;

after determining that said first mobile device is back in coverage with respect to said data communication system, obtaining information comprising a unique message identifier;

comparing said obtained unique message identifier to a stored unique message identifier to determine if said hosted message has already been sent; and

sending said hosted message through said data communication system when said hosted message has not already been sent.

15. A non-transitory computer readable storage medium comprising computer executable instructions executable by a first mobile device to provision other devices to send a message on behalf of said first mobile device in a data communication system, said computer executable instructions comprising instructions for:

after determining that said first mobile device is out of coverage with respect to said data communication system, determining if the first mobile device is capable of communicating with at least a second mobile device via a short range communication connection;

after determining that said second mobile device is within range of said first mobile device, generating a hosted message from a corresponding message that would normally be sent via said data communication system to a recipient, said hosted message comprising a unique message identifier;

establishing a connection with said second mobile device via said short range communication connection;

sending said hosted message to said second mobile device;

storing information in a local cache, said information including a corresponding unique message identifier;

after determining that said first mobile device is back in coverage with respect to said data communication system, obtaining information comprising a unique message identifier;

determining if said hosted message has already been sent via said data communication system by comparing said obtained unique identifier to a stored unique message identifier; and

sending said hosted message via said data communication system when said hosted message had not already been sent.

16. A first mobile device configured to send a message on behalf of another mobile device in a data communication system, said first mobile device comprising a short range communications module for enabling said first mobile device to establish a short range communication connection with other devices, a processor, and a memory comprising computer executable instructions that, when executed by the processor, operate the first mobile device to:

receive a hosted message to be sent on behalf of said another device over a short range communication connection, said first mobile device being out of coverage with respect to said data communication system, said hosted message comprising a corresponding unique message identifier;

store said hosted message in a local cache;

after determining that said first mobile device is back in coverage with respect to said data communication system, obtain information comprising a unique message identifier;

compare said obtained unique message identifier to a stored unique message identifier to determine if said hosted message has already been sent; and

send said hosted message through said data communication system when said hosted message has not already been sent.

17. The first mobile device according to claim 16 , further configured to receive a request from said another mobile device to act as a host, and participate in a pairing procedure with said another mobile device to establish a communication channel for receiving said hosted message.

18. The first mobile device according to claim 16 wherein after said sending said hosted message through said data communication system, said first mobile device is further operated to update a graphical user interface to distinguish between messages normally sent or received via said data communication system from remaining ones of said stored hosted messages.

19. A first mobile device configured to provision other devices to send a message on behalf of said first mobile device in a data communication system, said first mobile device comprising a short range communications module for enabling said first mobile device to establish a short range communication connection with other devices, a processor, and a memory comprising computer executable instructions that, when executed by the processor, operate the first mobile device to:

after determining that said first mobile device is out of coverage with respect to said data communication system, determine if the first mobile device is capable of communicating with at least a second mobile device via a short range communication connection;

after determining that said second mobile device is within range of said first mobile device, generate a hosted message from a corresponding message that would normally be sent via said data communication system to a recipient, said hosted message comprising a unique message identifier;

establish a connection with said second mobile device via said short range communication connection;

send said hosted message to said second mobile device;

store information in a local cache, said information including a corresponding unique message identifier;

after determining that said first mobile device is back in coverage with respect to said data communication system, obtain information comprising a unique message identifier;

determine if said hosted message has already been sent via said data communication system by comparing said obtained unique identifier to a stored unique message identifier; and

send said hosted message via said data communication system when said hosted message had not already been sent.

20. The first mobile device according to claim 19 , further configured to receive a request from said another mobile device to act as a host, and participate in a pairing procedure with said another mobile device to establish a communication channel for receiving said hosted message.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jun 11, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 033134/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2013
From: CRYDERMAN, AARON J.; ABDEL-KADER, SHERIF
To: RESEARCH IN MOTION LIMITED
Reel/Frame 031006/0649 →