IP Library Granted Patent US 7,461,164
Granted Patent B2
US 7,461,164 · App. 10/361,807 · Granted Dec 2, 2008

Medium access control with software -and hardware- based components in a wireless network

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 7,461,164
App. No.
10/361,807
Granted
Dec 2, 2008
Kind
B2
Abstract

A MAC architecture for WLAN stations partitions functionality between a software-based MAC component and a hardware-based MAC component that work together to balance function and performance. In general, the fulcrum for this balance centers on timing requirements. Accordingly, the hardware-based MAC component is designed to handle many of the functions that are processor-intensive and/or must be performed under strict timing constraints. The software-based MAC component is designed to handle many of the functions that are memory-intensive, but present more lenient timing requirements. The software-based MAC component may be configured to provide an efficient and robust interface to the hardware-based MAC component. In particular, the software-based MAC component may format and prioritize packets to be sent over the air interface, and generate a command structure that provides instructions for the hardware-based MAC component to process the packet.

Claims (63)

1. A method comprising:

performing a first set of medium access control (MAC) layer functions for a packet with a software-based MAC component;

sending the packet from the software-based MAC component to a hardware-based MAC component;

sending a command structure with the packet from the software-based MAC component to the hardware-based MAC component, wherein the command structure contains instructions for processing the packet within the hardware-based MAC component; and

performing a second set of MAC layer functions for the packet with the hardware-based MAC component in accordance with the instructions contained in the command structure, wherein the software-based MAC component and the hardware-based MAC component together implement MAC layer functionality for wireless networking.

2. The method of claim 1 , further comprising sending the packet from the hardware-based MAC component via a physical interface for wireless transmission of the packet.

3. The method of claim 2 , wherein the command structure includes a retransmission field that defines a maximum number of wireless transmission attempts for the packet in the event of transmission failure.

4. The method of claim 2 , wherein the command structure includes a transmit power level field that defines a transmit power level for the wireless transmission of the packet.

5. The method of claim 2 , wherein the command structure includes a transmit rate field that defines a rate of the wireless transmission of the packet.

6. The method of claim 2 , wherein the command structure includes a sequence number field tat includes a unique sequence number associated with the packet.

7. The method of claim 2 , wherein the command structure includes a transmit condition field defining one or more conditions for initiating the wireless transmission of the packet.

8. The method of claim 2 , wherein the command structure includes a quality of service adjustment (QoS) field that defines a transmit power adjustment for a link quality assessment process.

9. The method of claim 1 , further comprising sending the command structure and the packet from the software-based MAC component to a common transmit queue managed by the hardware-based MAC component.

10. The method of claim 9 , wherein the transmit queue includes multiple transmit queues, the method further comprising sending the command structure and the packet from the software-based MAC component to a selected one of the transmit queues.

11. The method of claim 9 , wherein the command structure precedes the packet in the transmit queue.

12. The method of claim 9 , further comprising pulling the command structure from the transmit queue to obtain the instructions for processing the packet within the hardware-based MAC component.

13. The method of claim 1 , further comprising sending the command structure from the software-based MAC component separately from the packet.

14. The method of claim 1 , further comprising sending the command structure from the software-based MAC component within the packet.

15. The method of claim 1 , further comprising performing packet fragmentation in the software-based MAC component.

16. The method of claim 1 , further comprising performing authentication in the software-based MAC component, performing encryption in the hardware-based MAC component, and sending encryption keys for use in the encryption from the software-based MAC component to a table in the hardware-based MAC component.

17. The method of claim 1 , wherein the software-based MAC component runs on a host processor and the hardware-based MAC component is implemented on a wireless local area network (WLAN) station that is coupled to the software-based MAC component via an external interface, the method further comprising sending the packet and the command structure to the hardware-based MAC component via the external interface.

18. The method of claim 17 , wherein WLAN station comprises one of a network card and a board tat is coupled to the host processor via the external interface.

19. The method of claim 1 , wherein the software-based MAC component runs on an embedded processor integrated with the hardware-based MAC component, the method further comprising sending the packet and the command structure to the hardware-based MAC component via an internal interface.

20. The method of claim 1 , further comprising processing the packet in conformance with one of the IEEE 802.11 standards.

21. A device comprising:

a software-based medium access control (MAC) component that performs a first set of MAC layer functions for a packet; and

a hardware-based MAC component that performs a second set of MAC layer functions for the packet, wherein the software-based MAC component and the hardware-based MAC component together implement MAC layer functionality for wireless networking,

wherein the software-based MAC component is configured to send a packet and a command structure with the packet to the hardware-based MAC component, the command structure containing instructions for processing the packet within the hardware-based MAC component.

22. The device of claim 21 , wherein the hardware-based MAC component sends the packet via a physical interface for wireless transmission of the packet.

23. The device of claim 22 , wherein the command structure includes a retransmission field that defines a maximum number of wireless transmission attempts for the packet in the event of transmission failure.

24. The device of claim 22 , wherein the command structure includes a transmit power level field that defines a transmit power level for the wireless transmission of the packet.

25. The device of claim 22 , wherein the command structure includes a transmit rate field that defines a rate of the wireless transmission of the packet.

26. The device of claim 22 , wherein the command structure includes a sequence number field that includes a unique sequence number associated with the packet.

27. The device of claim 22 , wherein the command structure includes a transmit condition field defining one or more conditions for initiating the wireless transmission of the packet.

28. The device of claim 22 , wherein the command structure includes a quality of service adjustment (QoS) field that defines a transmit power adjustment for a link quality assessment process.

29. The device of claim 21 , further comprising a transmit queue managed by the hardware-based MAC component, wherein the software-based MAC component sends the command structure and the packet to that transmit queue.

30. The device of claim 29 , wherein the transmit queue includes multiple transmit queues, and the software-based MAC component sends the command structure and the packet to a selected one of the transmit queues.

31. The device of claim 29 , wherein the command structure precedes the packet in the transmit queue.

32. The device of claim 29 , wherein the hardware-based MAC component pulls the command structure from the transmit queue to obtain the instructions for processing the packet.

33. The device of claim 21 , wherein the software-based MAC component sends the command structure separately from the packet.

34. The device of claim 21 , wherein the software-based MAC component sends the command structure within the packet.

35. The device of claim 21 , wherein the software-based MAC component performs packet fragmentation in the software-based MAC component.

36. The device of claim 21 , wherein the software-based MAC component performs authentication, the hardware-based Mac component performs encryption, and the software-based MAC component sends encryption keys for use in the encryption from to a table in the hardware-based MAC component.

37. The device of claim 21 , wherein the software-based MAC component runs on a host processor and the hardware-based MAC component is implemented on a wireless local area network (WLAN) station that is coupled to the software-based MAC component via an external interface, and sends the packet and the command structure to the hardware-based MAC component via the external interface.

38. The device of claim 37 , wherein WLAN station comprises one of a network card and a board that is coupled to the host processor via the external interface.

39. The device of claim 21 , wherein the software-based MAC component runs on an embedded processor integrated with the hardware-based MAC component, and sends the packet and the command structure to the hardware-based MAC component via an internal interface.

40. The device of claim 21 , wherein the software-based MAC component processes the packet in conformance with one of the IEEE 802.11 standards.

41. A tangible computer-readable storage medium comprising instructions that, when executed by at least one processor, causes the at least one processor to:

perform a first set of medium access control (MAC) layer functions for a packet with a software-based MAC component;

send the packet from the software-based MAC component to a hardware-based MAC component;

send a command structure with the packet from the software-based MAC component to the hardware-based MAC component, wherein the command structure contains instructions for processing the packet within the hardware-based MAC component; and

perform a second set of MAC layer functions for the packet with the hardware-based MAC component in accordance wit the instructions contained in the command structure, wherein the software-based MAC component and the hardware-based MAC component together implement MAC layer functionality for wireless networking.

42. The tangible computer-readable storage medium of claim 41 , wherein the command structure includes a retransmission field that defines a maximum number of wireless transmission attempts for the packet in the event of transmission failure.

43. The tangible computer-readable storage medium of claim 41 , wherein the command structure includes a transmit power level field that defines a transmit power level for wireless transmission of the packet.

44. The tangible computer-readable storage medium of claim 41 , wherein the command structure includes a transmit rate field that defines a rate of wireless transmission of the packet.

45. The tangible computer-readable storage medium of claim 41 , wherein the command structure includes a sequence number field that includes a unique sequence number associated with the packet.

46. The tangible computer-readable storage medium of claim 41 , wherein the command structure includes a transmit condition field defining one or more conditions for initiating wireless transmission of the packet.

47. The tangible computer-readable storage medium of claim 41 , wherein the command structure includes a quality of service adjustment (QoS) field that defines a transmit power adjustment for a link quality assessment process.

48. The tangible computer-readable storage medium of claim 41 , wherein the instructions, when executed, cause the processor to send the command structure and the packet from the software-based MAC component to a common transmit queue managed by the hardware-based MAC component.

49. The tangible computer-readable storage medium of claim 48 , wherein the transmit queue includes multiple transmit queues, and wherein the instructions, when executed, cause the processor to send the command structure and the packet from the software-based MAC component to a selected one of the transmit queues managed by the hardware-based MAC component.

50. The tangible computer-readable storage medium of claim 41 , wherein the instructions, when executed, cause the processor to send the command structure from the software-based MAC component to the hardware-based MAC component separately from the packet.

51. The tangible computer-readable storage medium of claim 41 , wherein the instructions, when executed, cause the processor to send the command structure from the software-based MAC component to the hardware-based MAC component within the packet.

52. The tangible computer-readable storage medium of claim 41 , wherein the instructions, when executed, cause the processor to process the packet in conformance with one of the IEEE 802.11 standards.

Assignments (7)
RELEASE Recorded Jul 29, 2009
From: SILICON VALLEY BANK
To: BERMAI INC
Reel/Frame 023015/0374 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2006
From: SHERWOOD PARTNERS, INC.
To: DSP GROUP INC.
Reel/Frame 018095/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2006
From: LAM, HENG-MUN
To: BERMAI, INC.
Reel/Frame 018095/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2006
From: BERMAI, INC.
To: SHERWOOD PARTNERS, INC.
Reel/Frame 018095/0795 →
EMPLOYMENT AGREEMENT Recorded Jul 31, 2006
From: EDWARDS, PAUL
To: BERGANA COMMUNICATIONS, INC.
Reel/Frame 018138/0845 →
CHANGE OF NAME Recorded Jul 31, 2006
From: BERGANA COMMUNICATIONS, INC.
To: BERMAI, INC.
Reel/Frame 018138/0878 →
SECURITY INTEREST Recorded Feb 9, 2004
From: BERMAI INCORPORATED
To: SILICON VALLEY BANK
Reel/Frame 014966/0001 →