1. 1.
Generic Framework Architecture
For Expediting Development of
Layer 2 MACs
Soma Bandyopadhyay
Convergence Solutions Practice
TATA Consultancy Services Limited,
Kolkata
2. 2.
Introduction
Features
Common functionalities
System model
System Architecture
Thread module
Core-MAC
State Handler matrix
MAC-SAP-Interface
PHY-SAP-Interface
Library
OSAL
Case study -WMAN MAC implementation on generic MAC framework
Achievements
Road-Map
AGENDA
3. 3.
Introduction
Generic MAC development framework -
Can be used as basic development framework for
any Media Access Control (MAC) /(Layer 2) protocol.
Reduces the development time for any MAC stack
development
Specific definition for specific MAC needs to be
added mostly in the header files and the existing data
structure needs to be updated accordingly.
4. 4.
Generic software architecture for developing any type of
MAC
Network and physical layer abstraction modules.
A common library- exposes different generic application
programming interface (API).
Unique Macros (pre-processor definitions used in C
programming language) to route to different state handlers
based on the current state and incoming event as defined in
the two-dimensional state-event matrix.
This framework ensures towards the faster development of
MAC stack, thereby reducing the time-to-market.
Salient Aspects
5. 5.
Common Functionalities
Specific MAC
Routing to state
handlers
OSAL-Operating
system adaptation
layer
PHY Abstraction
module
Common library
Message Parsing
Message generation
State handlers
Specific MAC
functionalities
Generic MAC
features common to
all MAC
MAC framework
Inputs to
framework
6. 6.
System Model
Based on a multithreaded structure
Specific MAC definitions are mostly defined in header files
Thread modules :Generated by the initialization function
MAC-SAP-Interface –Provides Layer3(Network Layer) abstraction
Core-MAC-
Provides main state-machine implementation, Synchronization
with other thread modules and PHY
Collects the definition for the specific MAC from the header files
PHY-SAP–Interface -Provides Layer1(Phy Layer) abstraction
Thread modules can generate further threads
Library –Provides all the basic functionalities
OSAL(Operating System Adaptation Layer)-
Encapsulates all the system calls
8. 8.
Thread Modules – Core-MAC
Core-MAC- Main control module of the MAC
Keeps track of the current state
Keeps synchronization with all the thread modules
Routes to state-handlers in the state-event handler matrix by using a
Macro
current state and the event occurrence number are used as inputs to
the Macro
Triggers the output event corresponding to the current state and the
event occurrence number to the destination
Generates own Service Data Unit (SDU) from the higher layer Protocol
Data Unit (PDU)
Decodes/Parse the incoming event
Initiates the data path
Manages MIB & Authentication
9. 9.
State Handler Matrix
Callback
State0_Event0 ()
Struct output-event-
Output event-id
Destination- id
Callback
State1_Event0()
Struct output-event-
Output event-id
Destination- id
Callback
State2_Event0()
Struct output-event-
Output event-id
Destination- id
Callback
State0_Event1()
Struct output-event-
Output event-id
Destination- id
Callback
State1_Event1()
Struct output-event-
Output event-id
Destination- id
Callback
State2_Event1()
Struct output-event-
Output event-id
Destination- id
Callback
State0_Event2()
Struct output-event-
Output event-id
Destination- id
Callback
State1_Event2()
Struct output-event-
Output event-id
Destination- id
Callback
State2_Event2()
Struct output-event-
Output event-id
Destination- id
State
State0 State1 State2
Events
Event0
Event1
Event2
Implemented as a two dimensional array of structure
Looked up by
current state
and row id
11. 11.
Thread Modules – PHY-SAP-Interface
Layer 1/PHY
PHY-SAP-
Interface
Receive thread
PHY-SAP-MIB
thread
Core-MAC
SDU
Trigger data
capture /Send
data to layer 3
Buffers , Receives packet,
Checks whether PHY is
dead or alive. Uses
library calls
MIB-Info
Packet
Keeps track of PHY-MIB
data , Uses library calls
Send function is encapsulated within Library
function , it is considered as a non blocking
function and no thread is generated for it.
12. 12.
Library-
Makes available the basic functionalities by exposing different
generic Application Programming Interface (API).
Protocol-specific functionalities can be added to these APIs.
Main APIS:
Message receive & Send to the peer MAC and its own threads
MAC Protocol Data Unit (PDU)(payload+header) generation
Fragment & defragment PDU
Classify & Reconstruct packet
Parsing/decode message
Determination of message identifier
Uses the OSAL to access any System Call
Library
13. 13.
OSAL-
Provides an adaptation layer on top of the operating
systems
Establishs a path between the MAC and the device
driver of the physical layer device
Wraps all the Inter Process Communication (IPCs)
(like message queue operations, semaphores for
mutual exclusion, event synchronization, and timer
handlers etc.)
OSAL –Operating System Adaptation Layer
14. 14.
Case Study –WMAN MAC On Generic Framework
ClassifierMAC-SAP Interface
thread
(Convergence sub-
layer)
Core MAC
(Common Part Sub-Layer)
PHY-Manager
Receive
Re-constructor
PHY-
MIB
SFID,
QOS, CID
Message
queue
OSAL
Library
PHY Device Driver
PHY -OFDM
PHY_
SAP
15. 15.
Case Study –WMAN MAC On Generic Framework
Contd.
Wireless Metropolitan Area Network (WMAN) MAC stack development is
going on based on generic MAC framework
Joint partnership project is already signed up with CDOT
Objective :
Indigenous WiMAX product development
To provide high-speed wireless Internet access to rural as well as urban
areas
TCS will provide the Platform independent MAC for Base Station &
Service Station
Target hardware with RF & PHY block will be provided by CDOT
TCS will port the platform independent MAC on CDOT board
Finally WMAN stack will be integrated with MAC for Milton as Customer
Premises Equipment CPE)/Service Station.
16. 16.
Achievements
Reduction in MAC development time –40% approx.
Eases the porting activity
Adaptation of different layer 3(network-layer)
data traffic
Adaptation of different PHY (Physical layer)
17. 17.
Road-Map
Packaging of the framework as a Wizard
Used as a tool to perform some of the work in an automated way
Creates the source files for the framework
Take the Specific MAC definition as Inputs
Enriching library by adding following functionalities
Authentication
Packing & Unpacking of packet
Padding