CMPE 150 PROJECTS
Fall 2004




INSTRUCTIONS

Your paper shoudl be about the same length of the following paper:
Clark D., " The Design Philosophy of the DARPA Internet Protocols", Proc. ACM Sigcomm 1988, pp. 106-114.

Your paper should basically address the protocols that you have chosen by providing:

    A title that reflects your topic
  1. An abstract that conveys whatthe paper describes (work with your mentor).
  2. An introduction that states the motivation for the protocols you are discussing, and outlines what your paper describes.
  3. A discussion of the way your protocols work.
  4. A discussion of interesting algorithms that you can identify in the protocols, what if any you would change, how you think the protocols (or different protocols replacing them) will evolve, market impact, etc.
  5. A conclusion that summarizes again what you described.
  6. References (ppaers or web links) that you used to write your paper.

View this as a chance to work in a team discussing a topic that really interests you related to computer networks. It is better than another midterm! :)

You can use figs and tables from other sources, just reference the sources!

Your mentors can help you with the writing and the scoping of the paper. Come see me if you have questions!


OBJECTIVE

This quarter we will have two projects. One project will be a group project and the other will be an individual project.

The individual project is really a take-home test in many ways, but will allow you to apply some of your design skills. This will be assigned after the midterm.

The group project will require you to work in a group from 2 to 4 students. Each group is required to pick 50% of the listed projects ranking the topic from most interesting to least interesting. It should be a group decision. I will assign the project to the group based on the demands of projects and availability of mentors. Each group should email JJ and debasree the list of project topics chosen, together with the list of students and the background that each student has (e.g., courses taken) that allows the student to carry out a project that involves programming.

Feel free to propose a different project by sending its decription as your first choice of project topics. Use a similar terse description than the one used for the projects below.

IMPORTANT: Please submit your email by October 13!! The objective of the project is to give students the opportunity to carry out a programming project related to computer networks, or a technology survey that goes into more depth on a topic of interest to the student, or both. A project with four students is obviously expected to be more complex than a project with two, and should be reserved for topics that go beyond a survey.

After the team is assigned a project topic by Oct 15, a schedule of deliverables will be publsihed for each team. The deliverables are simply a tool to force the team to start working on the project paper immediately rather than one week before it is due. The deliverables will typically amount to a "progress report" by the team or a meeting with the mentor. Stay tunned!

PROJECT DESCRIPTIONS

Project 1: Secure Routing in Ad Hoc Networks (Zhenjiang Li)

Students working on this project are required to do a survey of the state of art in the field of secure routing for ad hoc networks, and submit a paper presenting the results. Basic questions you may want to answer include (but are not not limited by): what is the difference of secure routing in wireless networks from that in wired networks? what makes it so difficult to secure the ad hoc routing process? what has been done, and not been done in this field? what are the main advantages and drawbacks of previously proposed approaches? what do you think of popular deployment of wireless networks, such as 802.11 WLAN, is it secure enough and how can you improve it? in your opinion, what a secure routing protocol for ad hoc networks should be, and others.

A couple of overview papers will be given to the students who select this topic. After reading them, you are free to choose several papers that address different approaches to secure the routing process of ad hoc networks (CCRG grads can assign you a set of papers if you would like to). Your project report then is based on what you will learn from those papers, which means you need to understand and summarize the work done by previous researchers, and more important, present your own ideas about secure routing and related issues in ad hoc networks.

Project 2: Fair Queueing in Computer Networks (Dr. Yu Wang) This project is aimed at students who already have some familiarity with computer networks. It consists primarily of a literature survey, but can also include some experimentation with network simulators.

Given that "fair queueing" may be not covered in the lecture, students may first need to read Chapter 9 (Scheduling) of [1] (It won't be difficult.) and choose some references identified in the chapter to read further.

Suggestion for further reading include classic papers on WFQ, STFQ, WF2Q and SCFQ ([2-9]). Students are NOT required to understand all the mathematical derivations, but they are required to understand why these algorithms/schemes were proposed and which desired properties they have. Besides, students are only required to understand the fair queueing algorithms, and understanding of rate control (leaky bucket etc) is OPTIONAL.

Students can also consider the implementation issues ([4]) and need to explore applications of all the work in modern routers and/or other networking devices for which references are not given. Students have much freedom in deciding what is included in the final survey paper, but preferably it should include the basics of fair queuing and its contemporary applications in computer networking.

References:

[1] An engineering approach to computer networking : ATM networks, the internet, and the telephone network / S. Keshav TK5105.5 .K48 1997 Chapter 9 (Scheduling)
The book's resources on the web: http://www.csie.nctu.edu.tw/~freedom/bib.html

[2] [CSZ 92] D. D. Clark, S. Shenker, and L. Zhang. Supporting Real-Time Applications in an Integrated Services Packet Network: Architecture and Mechanism. Proceedings of ACM SIGCOMM '92, Baltimore, August 1992.

[3] [DKS 89] A. Demers, S. Keshav, and S. Shenker. Design and Analysis of a Fair Queueing Algorithm. Proceedings of ACM SIGCOMM '89, Austin, September 1989.

[4] [Keshav 91] S. Keshav. On the Efficient Implementation of Fair Queueing. Journal of Internetworking Research and Experience, Vol. 2, No. 3, September 1991.

[5] [PG 93] A. K. Parekh and R. G. Gallager. A Generalized Processor Sharing Approach to Flow Control in Integrated Services NetworksęThe Single Node Case. IEEE/ACM Transactions on Networking, June 1993, pp. 344-357.

[6] [Golestani 94] S. Jamaloddin Golestani. A Self-Clocked Fair Queueing Scheme for Broadband Applications. Proceedings of IEEE INFOCOM '94, Toronto, June 1994, pp. 636-646.

[7] [SV 95b] M. Shreedhar and G. Varghese. Efficient Fair Queueing Using Deficit Round Robin. Proceedings of ACM SIGCOMM '95, Boston, September 1995.

[8] [GVC 96] P. Goyal, H. Vin, and H. Chen. Start-Time Fair Queueing: A Scheduling Algorithm for Integrated Services Packet Switching Networks. Proceedings of ACM SIGCOMM '96, August 1996.

[9] [BZ 96] J. C. R. Bennet and H. Zhang. WF2Q: Worst-Case Fair Weighted Fair Queueing. Proceedings of IEEE INFOCOM '96, San Francisco, 1996.

Project 3: Multicasting in Ad Hoc Networks (Ravindra)

In class, we will discuss multicasting in the Internet. However, we will not have much time to address multicasting in wireless ad hoc networks. In this project, you will carry out a short survey and research on multicasting in ad hoc networks using a new multicast routing protocol as your baseline.

PUMA (protocol for unified multicasting through announcements) is a "mesh based" protocol for multicasting in ad hoc networks. PUMA basically builds a mesh which includes all receivers. Data packets are routed to the mesh from where they are flooded within the mesh, which ensures that every receiver gets a copy of the packets. To flood packets within the mesh every node in the mesh broadcasts the packet. However, in order for the packet to reach every node in the mesh it need not be broadcast by every node in the mesh.

The objective of this project is for you to read the literature associated with mesh-based multicasting , which wwe will not be able to cover in class, and to implement simpel extensions of PUMA in a C-based simualtion environment and run simulations to determine the effectiveness of the improvements compared to basic PUMA. So basically the project involves three main steps: (a) completing your survey, (b) extending PUMA, and (c) running simulations to measure impact of the change.

The first extension of PUMA consists of differentiating between those nodes that are relays of a mesh but have no local receivers, and those nodes that are both receivers and relays in a mesh. Those nodes whoare receivers only should not propagate a multicast data packet in order to save bandwidth.

The second extension of PUMA consists of implementing a more sophisticated approach to the handling of nodes in a mesh. In particular, you should use a mechanism (e.g., "dominating sets" [consult the mentor] to select a subset of mesh members to broadcast data packets.

The third extesnion involves making PUMA into a "hybrid routing" protocol by taking advantage of the table that PUMA already maintains and using that table for unicast routing to well-known destinations. The trickier part will be to use PUMA for on-demand unicast routing.

You do not have to finish all the extensions. The first is mandatory (it is very simple!) and very good progress is expected with the second improvement.

The code for PUMA is available in Qualnet. The code already has a data structure (connectivity list) which maintains information about 1-hop neighbors. This can easily be extended to maintain 2-hop information. Based on the 2-hop information nodes can make a decision whether they need to forward the packet or not.

The reference describing PUMA is:
R. Vaishampayan and J.J. Garcia-Luna-Aceves, ``Efficient and Robust Multicast Routing in Mobile Ad Hoc Networks,'' Proc. IEEE MASS 2004: The 1st IEEE International Conference on Mobile Ad-hoc and Sensor Systems, Fort Lauderdale, Florida, October 25-27, 2004. ,br> http://www.cse.ucsc.edu/~ravindra/puma.pdf

Project 4: Floor Control for Distributed Multimedia Collabortation and Multi-party Games (Yali Wang)

In this project, the students will carry out a survey of existing offferings for multimedia collaboration or distributed multi-party games, and study approachs to enable floor control for such applications. The vast majority of the offerings today are based on centralized solutions in which a remote server of cluster of servers is used to support a conference or game. The project will discuss examples of how such systems work, the limitations with the centralized approach, and consider approaches to enabling a distributed version of such applications by means of "floor control." Floor control consists of the assignment of the right to use a shared resource, which is very much related to what we will see in class for MAC protocols.

The following research papers will be useful in your thinking of how to enable distributed multi-party games or multimedia conferencing:


1.Design Issues for Floor Control Protocols

2.Floor Control for Activity Coordination in Networked Multimedia Applications

3.Network Support for Turn-Taking in Multimedia Collaboration

4.Achieving Effective Floor Control with a Low-Bandwidth Gesture-Sensitive Videoconferencing System Collaboration

Project 5: Loop-free Routing in Computer Networks (Hari Rangarajan)

This project entails a more detailed look at the algorithms used in routing protocols to eliminate the possibility of loops. Your job is to categorize the various techniques used today in routing protocols for wireless and wirelines networks. Your mentor will provide several papers addressing the subject, and the project will develop a taxonomy of loop-free routing algorithms, a description of how the various categories work with examples of existing protocols or proposals for each category, and a discussion of the pros and cons of each strategy. Your mentor will help you with your thinking in this regard.

A group that has students with enough programming experience can work with the mentor to instrument a couple of protocols whose source code is publicly available to examine the occurrence of loops.

Project 6: Evolution of Mesh Networks and IEEE 802.11 (Dr. Yu Wang)

This project entails reviewing public-domain literature describing the IEEE 802.11 standard as well as emerging offerings of "mesh networks" (ad hoc wireless networks that offer wireless connectivity to the Internet). Your job is to find out to what extent 802.11 is being used as the basic MAC protocol for the current mesh network proposals (many prior mesh-network schemes did not use 802.11), describe different mesh network applications (e.g., emergency response, community nets for household access to the Internet), address the limitatioins of 802.11 in a mesh network whose purpose is to interconnect households to the Internet (this can be technical [e.g., how well do you think voice will flow?], economic [how cheap can the nodes be?], or market driven [e.g., are homes already set with DSL?], discuss viable approaches to mesh networks for specific applications, and ways in which you would like to see the standard changed to accommodate your goals.