Download presentation
Presentation is loading. Please wait.
Published byFelicia Haynes Modified over 9 years ago
1
Implementing WTRP on QNX Ruchira S. Datta Berkeley WOW Group
2
Introduction to WTRP " Medium Access Control protocol for ad-hoc wireless networks " Previously developed on simulation, UDP, and Linux kernel platforms " Unified codebase Protocol itself encoded in core Core uses library calls Platform-specific library deals with implementation issues
3
Next Platform: QNX " Microkernel OS for real-time/embedded applications " Integrate into existing communications stack " Being used for communication between unmanned helicopters
4
Message Passing in QNX " Process A loops waiting for events " Process B wants to send to Process A " Process B causes a proxy to be triggered in Process A " Process A receives the message from Process B
5
Library Model of Timers " Initialize timer with handler function and data to pass to it " Arm timer to go off at an absolute time in jiffies " When timer goes off, system calls handler function
6
QNX model of timers " Initialize timer with proxy to trigger " Arm timer to go off at an absolute time in nanoseconds since January 1, 1970 " When timer goes off, system triggers proxy
7
Implementing library timers in QNX " When first called, timer library sets a startup time " Timer library maintains dictionary of active timers, their handlers and data " Timer library allocates proxy per timer " When system triggers proxy, process event loop calls library function to dispatch timer handler " Timer library looks up proxy in dictionary and dispatches appropriate handler
8
Refactoring networking stack " Existing networking stack has one process per layer " Physical and link layers separate " However separation not clean e.g., even physical layer knows application-level information " Put physical and link layers in one process " But encapsulated only layer-specific information in each module
9
Addressing Packets " Existing link layer addresses packets by helicopter ID " This is application-level information " Instead use MAC address, as is standard " Now need address resolution at networking layer between helicopter ID and MAC address
10
Mesh Discovery Protocol " Helicopter knows own ID number and how many are in mesh " "I-need" checklist: which ID numbers I need to know Initially all others in mesh " "They-need" checklist: which other helicopters need my ID Initally all others in mesh
11
Mesh Discovery Packets " When needs are unfulfilled, broadcast packets: Own ID Own MAC address "I-need" checklist
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.