1 / 11

Implementing WTRP on QNX

Implementing WTRP on QNX. Ruchira S. Datta Berkeley WOW Group. 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

aadi
Download Presentation

Implementing WTRP on QNX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

More Related