IP Library Granted Patent US 8,301,180
Granted Patent B1
US 8,301,180 · App. 12/781,614 · Granted Oct 30, 2012

System and methods for robust messaging

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,301,180
App. No.
12/781,614
Granted
Oct 30, 2012
Kind
B1
Abstract

A portable electronic device is provided. The portable device comprises a wireless transceiver to receive and transmit messages and a messaging client. The messaging client receives a first message from the wireless transceiver, wherein the first message is from a first peer messaging client, parses the first message to read a first message sequence count, compares the first message sequence count to a first expected message sequence count, and based on a miscompare of the first message sequence count with the first expected message sequence count transmits a corrective message to the wireless transceiver for transmitting to the first peer messaging client.

Claims (45)

1. A portable electronic device, comprising:

a wireless transceiver to receive and transmit messages; and

a first messaging client that receives a first message from the wireless transceiver, wherein the first message is from a second messaging client, wherein the first message comprises a first message sequence count, and wherein the first message sequence count comprises a count of short message service (SMS) messages exchanged between the first messaging client and the second messaging client,

parses the first message to read the first message sequence count,

compares the first message sequence count to a first expected message sequence count maintained by the portable electronic device, and

transmits a corrective message to the wireless transceiver for transmitting to the second messaging client based on a miscompare of the first message sequence count with the first expected message sequence count.

2. The portable electronic device of claim 1 , wherein the first message and the corrective message are short message service (SMS) messages.

3. The portable electronic device of claim 1 , wherein the first message sequence count is incremented by the first messaging client when sending a new message to the second messaging client and when receiving a new message from the second messaging client.

4. The portable electronic device of claim 1 , wherein the first message sequence count is associated with messages transmitted by the second messaging client and received by the first messaging client and wherein the first messaging client maintains a second message sequence count that is associated with messages transmitted by the first messaging client and received by the second messaging client.

5. The system of claim 4 , wherein the second messaging client maintains a third message sequence count that is associated with messages received by the second messaging client from the first messaging client.

6. The system of claim 5 , wherein the second messaging client maintains a fourth message sequence count that is associated with messages received by the first messaging client from the second messaging client.

7. The portable electronic device of claim 1 , wherein the first messaging client further determines a cyclic redundancy check (CRC) value associated with a content and transmits a message comprising the content and the cyclic redundancy check value to the wireless transmitter for transmitting to the second messaging client.

8. The portable electronic device of claim 1 , wherein the first messaging client further transmits a message comprising a content and a current time value to the wireless transmitter for transmitting to the second messaging client.

9. The portable electronic device of claim 1 , wherein the first messaging client deletes stored messages received from the second messaging client that are at least one of older than a predefined age threshold and exceed a maximum count of stored messages.

10. A method of communicating, comprising:

receiving, by a portable electronic device, a first message containing a first message sequence count value;

parsing, by the portable electronic device, the first message to read the first message sequence count value, wherein the first message sequence count value comprises a count of short message service (SMS) messages exchanged between the portable electronic device and a first peer electronic device;

comparing, by the portable electronic device, the first message sequence count value to a first expected count value maintained by the portable electronic device and associated with communication between the portable electronic device and the first peer electronic device;

determining, by the portable electronic device, based on the comparison of the first message sequence count value to the first expected count value, that the portable electronic device has failed to receive an at least one message from the first peer electronic device; and

transmitting, by the portable electronic device, a second message to the first peer electronic device requesting that the first peer electronic device retransmit the at least one message that the portable electronic device failed to receive.

11. The method of claim 10 , further comprising presenting a message on a display of the portable electronic device that a subscriber account associated with the portable electronic device will be billed for having the at least one message retransmitted to the portable electronic device.

12. The method of claim 10 , further comprising:

receiving, by the portable electronic device, a third message containing a second message sequence count value;

parsing, by the portable electronic device, the third message to read the second message sequence count value;

comparing, by the portable electronic device, the second message sequence count value to a second expected count value maintained by the portable electronic device and associated with communication between the portable electronic device and the first peer electronic device;

determining, by the portable electronic device, based on the comparison of the second message sequence count value to the second expected count value, that the portable electronic device has failed to receive a plurality of messages from the first peer electronic device; and

presenting a message on a display of the portable electronic device indicating that the plurality of messages is too large to be recovered.

13. The method of claim 10 , further comprising:

determining, by the portable electronic device, a network transport time for messages;

receiving, by the portable electronic device, a fourth message containing a third message sequence count value;

parsing, by the portable electronic device, the fourth message to read the third message sequence count value;

comparing, by the portable electronic device, the third message sequence count value to a third expected count value maintained by the portable electronic device and associated with communication between the portable electronic device and the first peer electronic device;

determining, by the portable electronic device, based on the comparison of the third message sequence count value to the third expected count value, that the portable electronic device has failed to receive a message from the first peer electronic device; and

after waiting more than the network transport time, transmitting, by the portable electronic device, a fifth message to the first peer electronic device requesting that the first peer electronic device retransmit the message that the portable electronic device failed to receive.

14. The method of claim 10 , further comprising:

receiving, by the portable electronic device, a sixth message containing a fourth message sequence count value;

parsing, by the portable electronic device, the sixth message to read the fourth message sequence count value;

comparing, by the portable electronic device, the fourth message sequence count value to a fourth expected count value maintained by the portable electronic device and associated with communication between the portable electronic device and a second peer electronic device;

determining, by the portable electronic device, based on the comparison of the fourth message sequence count value to the fourth expected count value, that the portable electronic device has failed to receive a message from the second peer electronic device; and

transmitting, by the portable electronic device, a seventh message to the second peer electronic device requesting that the second peer electronic device retransmit the message that the portable electronic device failed to receive.

15. The method of claim 10 , further comprising deleting a plurality of messages received from the first peer portable electronic device and stored by the portable electronic device that are older than a first predefined threshold.

16. The method of claim 15 , further comprising deleting a plurality of messages received from a second peer portable electronic device and stored by the portable electronic device that are older than a second predefined threshold, wherein the first predefined threshold is different from the second predefined threshold.

17. The method of claim 10 , further comprising:

determining a period of time since the portable electronic device last received a message from a third peer electronic device; and

when the period of time exceeds a third predefined threshold, sending a check-up message to the third peer electronic device.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 055604/0001 →
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 2, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 052969/0475 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 6, 2017
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041895/0210 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2010
From: GAILLOUX, MICHAEL A.; SAMSON, KENNETH W.
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 024400/0623 →