120 likes | 127 Views
Design and implement a specialized "k.out.of.m" multicast routing protocol with up to m destination addresses, choosing the best k destinations and multicast path.
E N D
ECE 544 Software Project 3:Description and Timeline Akash Baid
Objective • Design and implement a specialized "k out of m" multicast routing protocol: • Each packet will have up to mdestination addr. • Required to send packet to any k m destination • Routing protocol chooses the ‘best’ k destinations to send to and the ‘best’ multicast path • Project Format: Like an industry standards committee • Each group proposes a solution to the class • Class as a whole combines proposals for final draft • All groups implements code based on this draft
Problem Details • Max value of m =3 thus k can be 1,2 or 3. • No direct links between end-nodes • Loss probability on each link = p a R3 b R4 k = 2 Dest = a,b,c R2 Data R5 R6 R1 c
Proposal Requirements • Proposal consists of a protocol and related algorithms • Protocol includes: • How to address different network elements? • Fixed static address vs. Dynamic address allocation • Bit structure of address and how it is used • How do nodes/routers discover each other? • Periodic hello messages vs. hello with ACK • Provisioning or not for router/node failure? • What is the baseline routing protocol? • Link State vs. Distance Vector vs. Other variations of these • What ARQ scheme to use?
Proposal Requirements • Algorithmic component includes: • How to select best k out of m? • Depends on what info you have at each router • Based on unicast hop count vs. multicast hop count • How to multicast once you know the final nodes? • Whether to follow one of known multicast schemes? • Determining where to split the packet ? • What requirements from baseline routing protocol?
Project Requirements • Each group submits a proposal with specific details on both protocol and algorithms • Class reaches a consensus on each item after 2-3 rounds of discussions • Each group individually implements the agreed upon protocol through codes for nodes and routers • Final Demonstration involves inter-working between groups, e.g. node of group 1 with router of group 2 • Final Report mentions implementation specific details from each group
Software Design Issues • Try to reuse relevant aspects of port-handling, ARQ, header processing from Projects 1 and 2 • However do not be constrained by the code snippets provided to you, e.g. modify common.cpp • For routing protocol, aim to minimize total hops/ path costs but keep implementation complexity in mind • Credits for constructive participation in the standards meetings
Timeline • April 2nd : Draft Proposal due by each group • April 6th : 1st Standards Meeting – presentations by each group followed by discussion • April 9th : 2nd Standards Meeting – discussion on remaining topics, voting for finalization • April 13th : Circulation of Formal Standard Document • April 30th : Final Code Submission and Demo • May 2nd : Project Report due
1st Deadline: Draft Proposal • PPT with details of your proposed solution covering all the requirements • Follow the skeleton PPT provided on course site • Add any aspects that you feel is interesting to the design of the system • Slides from all group will be uploaded by April 2nd • April 6th : Each group presents their slides (10-15 min) • Discuss what’s the best way to do each task • Vote if can’t reach a consensus
Demo • Demo network will have at least 4 nodes and 3 routers • Different nodes/routers can be initialized on different consoles on the same machine • The code should explicitly show (print out) how the routing table gets populated-no static table • Action taken by each entity on receipt of a packet should be shown • Network topology will be provided at the time of the demo
Final Submission • Router program ( Source code + Makefile) • Sender and receiver program (Source code + Makefile) • Guide: How to run your program • Document for Protocol implementation and Performance Evaluation. It could contain, but not limited to, following topics: • Signalling definition • Routing/Discovery procedure • Interfaces of router-router and router-terminal (end-node) • Performance estimation/evaluation
Grades • Participation in Standards Meetings – 4% • Final Demo – 12% • Final Report – 4%