IP Library Granted Patent US 8,059,654
Granted Patent B2
US 8,059,654 · App. 12/776,316 · Granted Nov 15, 2011

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,059,654
App. No.
12/776,316
Granted
Nov 15, 2011
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 (72)

1. A device, comprising:

a transmitter for sending forward link wireless signals from the device toward a second device, wherein the second device comprises an inbound queue;

a receiver for receiving reverse link wireless signals at the device from the second device; and

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 a sequence of DATA frames that is received from the second device, wherein the received DATA frame comprises an associated sequence number, and wherein the acknowledgement frame comprises

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

a number count of sequential DATA frames within the sequence received at the wireless device preceding and contiguous to the received DATA frame having the matching sequence number,

a number count of sequential DATA frames within the sequence received at the wireless device following and contiguous to the received DATA frame having the matching sequence number,

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.

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 and the second device communicate the wireless signals 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. A process implemented across a network between a first device and a second device, comprising the steps of:

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

sending an acknowledgement frame from the second device to the first device in response to at least one received DATA frame, the acknowledgment frame comprising

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

a number count of sequential DATA frames within the sequence received at the second device preceding and contiguous to the DATA frame having the matching sequence number, and

a number count of sequential DATA frames within the sequence received at the second device following and contiguous to the DATA frame having the matching sequence number; and

removing a stored DATA frame from the outbound queue at the first device in response to an acknowledgement frame received at the first device having any of

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

a number count that implies receipt of the stored DATA frame.

8. A process implemented across a network between a first device and a second device, comprising the steps of:

sending a sequence of wireless DATA frames between a first device and a second device;

sending an acknowledgement frame from the second device to the first device in response to at least one received DATA frame, the acknowledgment frame comprising

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

a number count of sequential DATA frames within the sequence received at the second device precedinq and contiguous to the DATA frame having the matching sequence number, and

a number count of sequential DATA frames within the sequence received at the second device following and contiguous to the DATA frame having the matching sequence number; and

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

9. The process of claim 8 , wherein the first device comprises an outbound queue for storing DATA frames that have been sent toward the second device.

10. The process of claim 9 , further comprising the step of:

removing a stored DATA frame from the outbound queue at the first device in response to an acknowledgement frame received at the first device having an acknowledgement sequence number that corresponds to the sequence number of the stored DATA frame.

11. The process of claim 9 , further comprising the step of:

removing a stored DATA frame from the outbound queue at the first device in response to an acknowledgement frame received at the first device having a number count that implies receipt of the stored DATA frame.

12. The process of claim 8 , wherein the second device comprises an inbound queue for storing DATA frames.

13. The process of claim 12 , further comprising the step of:

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

14. A process implemented across a network between a first device and a second device, comprising the steps of:

sending a sequence of wireless DATA frames between a first device and a second device;

sending an acknowledgement frame from the second device to the first device in response to at least one received DATA frame, the acknowledgment frame comprising

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

a number count of sequential DATA frames within the sequence received at the second device preceding and contiguous to the DATA frame having the matching sequence number, and

a number count of sequential DATA frames within the sequence received at the second device following and contiguous to the DATA frame having the matching sequence number; and

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

15. The process of claim 14 , wherein any of the first device or the second device is any of a wireless device, a server, or a wired device.

16. The process of claim 14 , 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.

17. The process of claim 14 , wherein the network comprises any of a TDMA wireless packet network or a CDMA wireless packet network.

18. A process implemented across a network between a first device and a second device, comprising the steps of:

sending a sequence of wireless DATA frames between a first device and a second device, wherein the second device comprises an inbound queue; and

sending an acknowledgement frame from the second device to the first device in response to at least one received DATA frame, the acknowledgment frame comprising

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

a number count of sequential DATA frames within the sequence received at the second device preceding and contiguous to the DATA frame having the matching sequence number,

a number count of sequential DATA frames within the sequence received at the second device following and contiguous to the DATA frame having the matching sequence number, and

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.

19. A process implemented across a network between a first device and a second device, comprising the steps of:

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

sending and acknowledgement frame from the second device to the first device in response to a received DATA frame, the acknowledgment frame comprising

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

a range value of any other DATA frames within the sequence that have been received at the wireless device, wherein the range value overlaps the DATA frame having the matching sequence number; and

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

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

a range value that implies receipt of a DATA frame other than the DATA frame having the associated sequence number.

20. The process of claim 19 , wherein the acknowledgement sequence number acknowledges receipt at the second device of the DATA frame having the matching sequence number.

21. The process of claim 19 , wherein the range value acknowledges receipt at the second device of at least one other DATA frame within the sequence other than the DATA frame having the matching sequence number.

22. A process implemented across a network between a first device and a second device, comprising the steps of:

sending a sequence of DATA frames from the first device to the second device;

sending and acknowledgement frame from the second device to the first device in response to a received DATA frame, the acknowledgment frame comprising

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

a range value of any other DATA frames within the sequence that have been received at the wireless device, wherein the range value overlaps the DATA frame having the matching sequence number; and

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

23. The process of claim 22 , wherein the first device has an outbound queue for storing DATA frames that have been sent toward the second device.

Assignments (6)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2012
From: AOL INC.
To: FACEBOOK, INC.
Reel/Frame 028487/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2012
From: AOL LLC
To: AOL INC.
Reel/Frame 028348/0337 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 024761 FRAME 0300. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Jun 10, 2012
From: COFFMAN, STEPHEN BLAINE
To: AMERICA ONLINE, INC.
Reel/Frame 028350/0099 →
CHANGE OF NAME Recorded Jun 10, 2012
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 028350/0105 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2010
From: COFFMAN, STEPHEN BLAINE
To: AOL, INC.
Reel/Frame 024761/0300 →