IP Library Granted Patent US 8,576,860
Granted Patent B2
US 8,576,860 · App. 12/947,907 · Granted Nov 5, 2013

Wireless/LAN router queuing method and 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,576,860
App. No.
12/947,907
Granted
Nov 5, 2013
Kind
B2
Abstract

A queuing method and system for wireless/LAN routers processes and routes an incoming data packet from a wireless mobile network to a destination server. The system uses a wireless transport module to initiate storage of the data packet in a permanent storage device while simultaneously forwarding the data packet to the destination server. A database thread is used to manage the operations being performed on the data packet and for initiating the storage of the data packet in a permanent storage device based on a permanent storage queue. A main thread is used to simultaneously forward the data packet to the destination server. The wireless transport module is adapted to determine whether the data packet has been acknowledged by the destination server and aborting the storage of the data packet in the permanent storage device once acknowledgment from by destination server has been received.

Claims (40)

1. A method of storing a data packet in a storage device, the method comprising:

receiving an insert data packet operation element by a wireless transport module, wherein the data packet has been transmitted to a destination device, the insert data packet operation element being an instruction to write the data packet to the storage device;

placing the insert data packet operation element into a storage queue; and

removing the insert data packet operation element from the storage queue if an acknowledgement of the data packet is received from the destination device and if the data packet has not been written to the storage device.

2. The method of claim 1 , further comprising writing the data packet to the storage device if the acknowledgement of the data packet has not yet been received from the destination device and if the insert data packet operation element is at the top of the storage queue.

3. The method of claim 2 , further comprising placing a delete data packet operation element in the storage queue to effect removal of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the data packet is written to the storage device.

4. The method of claim 2 , further comprising placing an update data packet operation element in the storage queue if the update data packet operation element is received by the wireless transport module and if the acknowledgement of the data packet has not yet been received from the destination device.

5. The method of claim 4 , further comprising replacing the update data packet operation element with a delete data packet operation element in the storage queue to effect removal of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the update data packet operation element is placed in the storage queue.

6. The method of claim 1 , further comprising replacing the insert data packet operation element in the storage queue with a revised insert data packet operation element if an update data packet operation element is received by the wireless transport module, if the acknowledgement of the data packet has not yet been received from the destination device, and if the insert data packet operation element is not at the top of the storage queue.

7. The method of claim 6 , wherein the revised insert data packet operation element comprises an updated version of the data packet.

8. The method of claim 7 , further comprising writing the updated version of the data packet to the storage device if the acknowledgement of the data packet has not yet been received from the destination device and if the revised insert data packet operation element is at the top of the storage queue.

9. The method of claim 8 , further comprising placing a delete data packet operation element in the storage queue to effect removal of the updated version of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the updated version of the data packet is written to the storage device.

10. The method of claim 8 , further comprising placing a second update data packet operation element in the storage queue if the second update data packet operation element is received by the wireless transport module and if the acknowledgement of the data packet has not yet been received from the destination device.

11. The method of claim 10 , further comprising replacing the second update data packet operation element with a delete data packet operation element in the storage queue to effect removal of the updated version of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the second update data packet operation element is placed in the storage queue.

12. The method of claim 7 , further comprising removing the revised insert data packet operation element from the storage queue if an acknowledgement of the data packet is received from the destination device and if the updated version of the data packet has not been written to the storage device.

13. The method of claim 1 , wherein the method is implemented using at least one database thread.

14. A device comprising a wireless transport module, wherein the device is configured to:

receive an insert data packet operation element, wherein the data packet has been transmitted to a destination device, the insert data packet operation element being an instruction to write the data packet to a storage device;

place the insert data packet operation element into a storage queue; and

remove the insert data packet operation element from the storage queue if an acknowledgement of the data packet is received from the destination device and if the data packet has not been written to the storage device.

15. The device of claim 14 , wherein the device is further configured to write the data packet to the storage device if the acknowledgement of the data packet has not yet been received from the destination device and if the insert data packet operation element is at the top of the storage queue.

16. The device of claim 15 , wherein the device is further configured to place a delete data packet operation element in the storage queue to effect removal of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the data packet is written to the storage device.

17. The device of claim 15 , wherein the device is further configured to place an update data packet operation element in the storage queue if the update data packet operation element is received by the wireless transport module and if the acknowledgement of the data packet has not yet been received from the destination device.

18. The device of claim 17 , wherein the device is further configured to replace the update data packet operation element with a delete data packet operation element in the storage queue to effect removal of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the update data packet operation element is placed in the storage queue.

19. The device of claim 14 , wherein the device is further configured to replace the insert data packet operation element in the storage queue with a revised insert data packet operation element if an update data packet operation element is received by the wireless transport module, if the acknowledgement of the data packet has not yet been received from the destination device, and if the insert data packet operation element is not at the top of the storage queue.

20. The device of claim 19 , wherein the revised insert data packet operation element comprises an updated version of the data packet.

21. The device of claim 20 , wherein the device is further configured to write the updated version of the data packet to the storage device if the acknowledgement of the data packet has not yet been received from the destination device and if the revised insert data packet operation element is at the top of the storage queue.

22. The device of claim 21 , wherein the device is further configured to place a delete data packet operation element in the storage queue to effect removal of the updated version of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the updated version of the data packet is written to the storage device.

23. The device of claim 21 , wherein the device is further configured to place a second update data packet operation element in the storage queue if the second update data packet operation element is received by the wireless transport module and if the acknowledgement of the data packet has not yet been received from the destination device.

24. The device of claim 23 , wherein the device is further configured to replace the second update data packet operation element with a delete data packet operation element in the storage queue to effect removal of the updated version of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the second update data packet operation element is placed in the storage queue.

25. The device of claim 20 , wherein the device is further configured to remove the revised insert data packet operation element from the storage queue if an acknowledgement of the data packet is received from the destination device and if the updated version of the data packet has not been written to the storage device.

26. A method of storing data to a storage device, the method comprising:

transmitting a data packet to a destination device;

placing the data packet into a storage queue of data to be stored in the storage device; and

removing the data packet from the storage queue if an acknowledgement of the data packet is received from the destination device and if the data packet has not been written to the storage device.

27. The method of claim 26 , wherein the data packet is placed in the storage queue for a time not less than a pre-determined time prior to writing the data packet to the storage device.

28. The method of claim 26 , further comprising writing the data packet to the storage device if the acknowledgement of the data packet has not yet been received from the destination device and if the data packet is at the top of the storage queue.

29. The method of claim 28 , further comprising placing a delete data packet operation in the storage queue to effect removal of the data packet from the storage device if the acknowledgement of the data packet is received from the destination device after the data packet is written to the storage device.

30. The method of claim 27 , further comprising writing the data packet to the storage device if the acknowledgement of the data packet has not yet been received from the destination device upon expiration of the pre-determined time.

31. The method of claim 26 , wherein the method is implemented using at least one database thread.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/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 Sep 20, 2013
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 031249/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2010
From: HASSAN, AHMED E.; WILSON, J.F. SEAN; BANH, VI THUAN
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025380/0873 →