IP Library Granted Patent US 8,665,878
Granted Patent B2
US 8,665,878 · App. 13/273,593 · Granted Mar 4, 2014

Wireless datagram transaction protocol system

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,665,878
App. No.
13/273,593
Granted
Mar 4, 2014
Kind
B2
Abstract

Systems are provided for sequencing, delivery acknowledgement, and throttling of data packets over a network layer, such as UDP and SMS. To support devices with limited battery resources, the invention incorporates asymmetric retry logic and/or acknowledgements with overlapping ranges, to minimize the transmissions required for the device. The sender of a data-bearing frame does not need to wait for a frame to be acknowledged before sending the next, such that many frames can be “in flight” at once.

Claims (50)

1. A device, comprising:

a receiver for receiving a sequence of DATA frames from a second device;

a transmitter for sending wireless signals toward the second device;

a processor programmed to provide an acknowledgement frame to the transmitter for transmission toward the second device, the acknowledgement frame associated with a DATA frame of the sequence of DATA frames that is received from the second device, the acknowledgment frame comprising

an acknowledgement sequence number that refers to the received DATA frame of the sequence of DATA frames, the received DATA frame having an associated sequence number that matches the acknowledgement sequence number, and

a count of contiguous DATA frames within the sequence of DATA frames that have been received at the device, wherein the count overlaps the DATA frame having an associated sequence number that matches the acknowledgement sequence number;

wherein the acknowledgment frame implies receipt at the device of

the DATA frame having an associated sequence number that matches the acknowledgement sequence number, and

at least one other DATA frame within the sequence of DATA frames that corresponds to the count of contiguous DATA frames.

2. The device of claim 1 , wherein any of the device or the second device is any of a wireless device, a server, or a wired device.

3. The device of claim 1 , wherein any of the device or the second device comprises any of a portable computer, a portable phone, a personal digital assistant, or an electronic game device.

4. The device of claim 1 , wherein the device or the second device communicate over any of a TDMA wireless packet network or a CDMA wireless packet network.

5. The device of claim 1 , further comprising:

an inbound queue for storing DATA frames.

6. The device of claim 5 , wherein the processor is further programmed to hold the received DATA frame within the inbound queue of the device until all DATA frames before the received DATA frame in the sequence are received.

7. The device of claim 1 , wherein the acknowledgement frame further comprises a Boolean at_top field that is set to true when there are no missing DATA frames in the inbound queue prior to the received DATA frame having the matching sequence number.

8. A process implemented across a network, comprising the steps of:

sending a sequence of DATA frames from a first device toward a second device, wherein the first device comprises an outbound queue for storing DATA frames that have been sent toward the second device;

receiving an acknowledgement frame at the first device that is sent from the second device in response to at least one received DATA frame of the sequence of DATA frames, the acknowledgment frame comprising

an acknowledgement sequence number that refers to the received DATA frame of the sequence of DATA frames, the DATA frame having an associated sequence number that matches the acknowledgement sequence number, and

a count of contiguous DATA frames within the sequence of DATA frames that have been received at the first device, wherein the count overlaps the DATA frame having an associated sequence number that matches the acknowledgement sequence number; and

removing at least one stored DATA frame from the outbound queue at the first device in response to the received acknowledgement frame, based on any of

an acknowledgement sequence number that corresponds to the sequence number of the stored DATA frame, or

the count of contiguous DATA frames that implies receipt at least one stored DATA frame other than the DATA frame having the associated sequence number.

9. The process of claim 8 , wherein the contiguous DATA frames that have been received at the device comprise:

the received DATA frame having an associated sequence number that matches the acknowledgement sequence number, and

at least one DATA frame in the sequence that leads or follows the received DATA frame having an associated sequence number that matches the acknowledgement sequence number.

10. The process of claim 8 , wherein any of the first device or the second device comprises any of a wireless device, a server, or a wired device.

11. The process of claim 8 , wherein any of the first device or the second device comprises any of a portable computer, a portable phone, a personal digital assistant, or an electronic game device.

12. The process of claim 8 , wherein the first device or the second device communicate over any of a TDMA wireless packet network or a CDMA wireless packet network.

13. The process of claim 8 , wherein the second device further comprises an inbound queue for storing DATA frames, and wherein the process further comprises the step of:

holding the received DATA frame within the inbound queue until all DATA frames before the received DATA frame in the sequence are received.

14. The process of claim 8 , wherein the acknowledgement frame further comprises a Boolean at_top field that is set to true when there are no missing DATA frames in the inbound queue prior to the received DATA frame having the matching sequence number.

15. The process of claim 8 , further comprising the step of:

sending at least one subsequent DATA frame within the sequence from the first device toward the second device before receiving the acknowledgement frame having the acknowledgement sequence number that refers to a previously sent DATA frame.

16. A process implemented across a network, comprising the steps of:

sending a sequence of DATA frames from a first device toward a second device;

receiving an acknowledgement frame at the first device that is sent from the second device in response to at least one received DATA frame of the sequence of is DATA frames, the acknowledgment frame comprising

an acknowledgement sequence number that refers to the received DATA frame of the sequence of DATA frames, the DATA frame having an associated sequence number that matches the acknowledgement sequence number, and

information regarding the receipt of at least one additional DATA frame within the sequence of DATA frames that has been received at the second device, other than the DATA frame having an associated sequence number that matches the acknowledgement sequence number; and

sending at least one subsequent DATA frame within the sequence from the first device toward the second device before receiving the acknowledgement frame having the acknowledgement sequence number that refers to the previously sent DATA frame.

17. The process of claim 16 , wherein the DATA frames that have been received at the second device comprise:

the received DATA frame having an associated sequence number that matches the acknowledgement sequence number, and

at least one DATA frame in the sequence that leads or follows the received DATA frame having an associated sequence number that matches the acknowledgement sequence number.

18. The process of claim 16 , wherein any of the first device or the second device comprises any of a wireless device, a server, or a wired device.

19. The process of claim 16 , wherein any of the first device or the second device comprises any of a portable computer, a portable phone, a personal digital assistant, or an electronic game device.

20. The process of claim 16 , wherein the first device or the second device communicate over any of a TDMA wireless packet network or a CDMA wireless packet network.

21. The process of claim 16 , wherein the second device further comprises an inbound queue for storing DATA frames, and wherein the process further comprises the step of:

holding the received DATA frame within the inbound queue until all DATA frames before the received DATA frame in the sequence are received.

22. The process of claim 16 , wherein the acknowledgement frame further comprises a Boolean at_top field that is set to true when there are no missing DATA frames in the inbound queue prior to the received DATA frame having the matching sequence number.

Assignments (5)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028463/0125 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2012
From: COFFMAN, STEPHEN BLAINE
To: AMERICA ONLINE, INC.
Reel/Frame 027734/0256 →
CHANGE OF NAME Recorded Feb 21, 2012
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 027734/0385 →
CHANGE OF NAME Recorded Feb 21, 2012
From: AOL LLC
To: AOL INC.
Reel/Frame 027734/0480 →