19
1 . 1 Generic Framework Architecture For Expediting Development of Layer 2 MACs Soma Bandyopadhyay Convergence Solutions Practice TATA Consultancy Services Limited, Kolkata

Generic mac

Embed Size (px)

Citation preview

Page 1: Generic mac

1. 1

Generic Framework Architecture

For Expediting Development of

Layer 2 MACs

Soma Bandyopadhyay

Convergence Solutions Practice

TATA Consultancy Services Limited, Kolkata

Page 2: Generic mac

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

Page 3: Generic mac

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.

Page 4: Generic mac

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

Page 5: Generic mac

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

Page 6: Generic mac

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

Page 7: Generic mac

7. 7

System Architecture

Core MAC Framework() -Initialization function

Library OSAL

Device Driver

MAC SAP Interface

PHY-SAP Interface

Physical Layer

Page 8: Generic mac

8. 8

Thread Modules – Core-MAC

Core-MAC- Main control module of the MACKeeps 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

Page 9: Generic mac

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

Page 10: Generic mac

10. 10

Thread Modules – MAC-SAP-Interface

Layer 3 MAC-SAP-Interface

Capture thread

Core-MAC

SDUTrigger data capture /Send data to layer 3

Buffers , classifies packet

Uses library calls

Packet

Packet

Reconstructs , sends packet to layer 3, Uses library calls

Reconstruct thread

Page 11: Generic mac

11. 11

Thread Modules – PHY-SAP-Interface

Layer 1/PHY PHY-SAP-Interface

Receive thread

PHY-SAP-MIB thread

Core-MAC

SDUTrigger 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.

Page 12: Generic mac

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

Page 13: Generic mac

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

Page 14: Generic mac

14. 14

Case Study –WMAN MAC On Generic Framework

ClassifierMAC-SAP Interface thread

(Convergence sub-layer)

Core MAC(Common Part Sub-Layer)

PHY-ManagerReceive

Re-constructor

PHY-MIB

SFID, QOS, CID

Message queue

OSAL

Library

PHY Device Driver

PHY -OFDM

PHY_SAP

Page 15: Generic mac

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.

Page 16: Generic mac

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)

Page 17: Generic mac

17. 17

Road-Map

Packaging of the framework as a WizardUsed 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

Page 18: Generic mac

18. 18

Thank You

Page 19: Generic mac

19. 19

OSAL –Operating System Adaptation Layer

MIB- Management Interface Base

WiMAX- Worldwide Interoperability Microwave Access

SFID –Service Flow identifier

QOS- Quality of Service

CID –Connection identifier

Layer 3/L3 – Network layer

Layer2 /L2 –MAC layer

PHY- Physical

Acronym