IP Library Granted Patent US 10,959,128
Granted Patent B2
US 10,959,128 · App. 16/270,894 · Granted Mar 23, 2021

Bluetooth low energy connected isochronous stream acknowledgement and flush algorithm and implementation

Inventor: Jiawei Chen (San Diego, CA)
Assignee: Arm Limited
H04W28/04H04W84/18
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 10,959,128
App. No.
16/270,894
Filed
Feb 8, 2019
Granted
Mar 23, 2021
Kind
B2
Art Unit
2466
USPC
370/310
Abstract

A method, system and computer program product for flushing packets between a master wireless communications device and a slave wireless communication device. The method includes linking a transmit (Tx) packet list and a receive (Rx) packet list at the master and slave wireless communications devices. A Tx data structure is generated for each of a plurality of anchor points and a Rx data structure is generated for each of the plurality of anchor points. Each Tx data structure is added to the Tx packet list, and each Rx data structure is added to the Rx packet list. A packet may then be flushed based on contents of the data structures.

Claims (42)

1. A method of flushing packets between a master wireless communications device and a slave wireless communication device, comprising:

responsive to a packet in a packet queue, and prior to an anchor point, generating a data structure of the anchor point, the data structure having at least one flush timeout parameter;

adding the data structure to a linked list of data structures; and

responsive to a receiving operation at at least one of the master and slave wireless communications devices, flushing a packet based at least in part on a content of at least one data structure in the linked list of data structures.

2. The method of flushing packets of claim 1 , where the content of the at least one data structure includes one or more of a burst number and a sub-event counter.

3. The method of flushing packets of claim 1 , further comprising:

after the receiving operation at at least one of the master and slave wireless communications devices, determining whether to flush a packet based on a packet acknowledgment; and

responsive to said determining, flushing a packet and removing one or more data structures from the linked list of data structures.

4. The method of flushing packets of claim 1 , the method further comprising:

determining whether to flush a packet responsive to expiry of a flush timeout timer; and

responsive to said determining, flushing a packet and removing one or more data structures from the linked list of data structures.

5. The method of flushing packets of claim 1 , where the master and slave wireless communications devices communicate via a short-range wireless communications protocol low-energy connected isochronous stream (CIS).

6. The method of flushing packets of claim 5 , where the short-range wireless communications protocol is Bluetooth®.

7. A system comprising:

a master wireless communication device;

a slave wireless communication device operatively coupled to the master wireless communications device; and

one or more processors coupled to non-transitory memory storing machine executable program instructions that when executed by the one or more processors, cause at least one of the master wireless communications device and the slave wireless communications device to:

responsive to a packet in a packet queue, and prior to an anchor point, generate a data structure of the anchor point, the data structure having at least one flush timeout parameter;

add the data structure to a linked list of data structures; and

responsive to a receiving operation at at least one of the master and slave wireless communications devices, flush a packet based at least in part on a content of at least one data structure in the linked list of data structures.

8. The system for flushing packets of claim 7 , where the content of the at least one data structure includes one or more of a burst number and a sub-event counter.

9. The system for flushing packets of claim 7 , where after the receiving operation at at least one of the master and slave wireless communications devices, the one or more processors are operable to determine whether to flush a packet based on a packet acknowledgment; and

responsive to said determine, flush a packet and remove one or more data structures from the linked list of data structures.

10. The system for flushing packets of claim 7 , where the one or more processors are operable to:

determine whether to flush a packet responsive to expiry of a flush timeout timer; and

responsive to said determine, flush a packet and remove one or more data structures from the linked list of data structures.

11. The system for flushing packets of claim 7 , where the master and slave wireless communications devices communicate via a short-range wireless communications protocol low-energy connected isochronous stream (CIS).

12. The system for flushing packets of claim 11 , where the short-range wireless communications protocol is Bluetooth®.

13. A computer program product for flushing packets between a master wireless communications device and a slave wireless communication device, the computer program product comprising:

a non-transitory memory medium, the memory medium containing machine executable program instructions executable by one or more processors, the program instructions including:

program code, which when executed by the one or more processors, causes the one or more processors, responsive to a packet in a packet queue, and prior to an anchor point, to generate a data structure of the anchor point, the data structure having at least one flush timeout parameter;

program code, which when executed by the one or more processors, causes the one or more processors to add the data structure to a linked list of data structures; and

program code, which when executed by the one or more processors, causes the one or more processors, responsive to a receiving operation at at least one of the master and slave wireless communications devices, to flush a packet based at least in part on a content of at least one data structure in the linked list of data structures.

14. The computer program product for flushing packets of claim 13 , where the content of the at least one data structure includes one or more of a burst number and a sub-event counter.

15. The computer program product for flushing packets of claim 13 , where, responsive to the receiving operation at at least one of the master and slave wireless communications devices, the program code causes the one or more processors to:

determine whether to flush a packet based on a packet acknowledgment; and

responsive to said determine, flush a packet and remove one or more data structures from the linked list of data structures.

16. The computer program product for flushing packets of claim 13 , where the program code causes the one or more processors to:

determine whether to flush a packet responsive to expiry of a flush timeout timer; and

responsive to said determine, flush a packet and remove one or more data structures from the linked list of data structures.

17. The computer program product of claim 13 , where the master and slave wireless communications devices communicate via a short-range wireless communications protocol low-energy connected isochronous stream (CIS).

18. The computer program product of claim 17 , where the short-range wireless communications protocol is Bluetooth®.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2019
From: CHEN, JIAWEI
To: ARM LIMITED
Reel/Frame 048276/0301 →
Continuity (1)
Related Publication 20200260322A1 · Aug 13, 2020
Cited By (2)
US 12,408,126 US 12,426,107