Difference between revisions of "GSOC2010Projects"

From Nsnam
Jump to: navigation, search
(MAC and PHY Models)
 
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
  
 +
<div style="float: left; width: 50%">
 
<blockquote style="background: Azure; border: 1px solid rgb(153, 153, 153); padding:1em; text-align: center">
 
<blockquote style="background: Azure; border: 1px solid rgb(153, 153, 153); padding:1em; text-align: center">
ns-3 is applying to GSoC 2010. Check back to this page for updates. If you want more information about possibly participating in the ns-3 GSoC program, read the below information.
+
<div>Please visit [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]] to learn more about ns3 projects for GSoC 2010</div>
 
</blockquote>
 
</blockquote>
 
<blockquote style="padding: 2em ">
 
 
 
* [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs GSoC Frequently Asked Questions]
 
* [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs GSoC Frequently Asked Questions]
 
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]
 
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]
 
* [[GS02010StudentGuide |GSoC Student guide]]
 
* [[GS02010StudentGuide |GSoC Student guide]]
 
* [[GS02010StudentApplicationTemplate |GSoC Student application template]]
 
* [[GS02010StudentApplicationTemplate |GSoC Student application template]]
* [[GSOC2010Projects |GSoC 2010 Ideas page]]
+
* [[GSOC2011Projects |GSoC 2011 Ideas page]]
* [[GSOC2009Projects |GSoC 2009 Ideas page]]
+
* [[GSOC2010Projects |GSoC 2010 Ideas page]] | [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]]
 +
* [[GSOC2009Projects |GSoC 2009 Ideas page]] | [[GSOC2009AcceptedProjects |GSoC 2009 Accepted Projects]]
 +
* [[GSOC2010OAReport |GSoC Organization Administrator guide]]
 
* ''Get in contact with the ns-3 team'': [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers mailing list] | ''IRC'' #ns-3 on freenode.net
 
* ''Get in contact with the ns-3 team'': [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers mailing list] | ''IRC'' #ns-3 on freenode.net
* [[Media:ns3GSoC2010Flyer.jpg | ns3's GSoC 2010 Flyer]]
+
</div><div style="float: left; width: 50%">
 
+
[[Image:Ns3GSoC2010Flyer.jpg]]
</blockquote>
+
</div>
 
+
<p>
<blockquote>
+
'''Note:''' ns-3 hasn't yet been accepted to GSoC 2010, so of course, participation is conditional on our acceptance into the program.  Also, feel free to work on these projects outside of the GSoC program; we would be happy to mentor them as time permits.
+
</blockquote>
+
 
+
  
 
= GSoC 2010 Ideas =
 
= GSoC 2010 Ideas =
  
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2010 effort.<br/>
+
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2010 effort.
  
  
== About ns-3 Project ==
+
== About the ns-3 project ==
  
 
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education.  
 
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education.  
 
Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results.  Simulation plays a vital role in the research and education process, because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented.  A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for real application and kernel code) and integration of the tool with virtual machine environments and testbeds; we view that researchers need to move more effortlessly between simulation, testbeds, and live experiments, and ns-3 is designed to facilitate that.
 
Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results.  Simulation plays a vital role in the research and education process, because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented.  A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for real application and kernel code) and integration of the tool with virtual machine environments and testbeds; we view that researchers need to move more effortlessly between simulation, testbeds, and live experiments, and ns-3 is designed to facilitate that.
  
ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.7 in January 2010).  ns-3 is replacing the popular ns-2 tool which was developed in the 1997-2000 timeframe but became dated and unmaintained.  The tool is coming into wide use; our web server logged over 10,000 successful downloads of our released software in January 2010, and we have a users mailing list of about 500 members now averaging 200-300 posts per month.
+
ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.7 in January 2010).  ns-3 is replacing the popular ns-2 tool which was developed in the 1997-2000 timeframe but became out of date and unmaintained.  The tool is coming into wide use; our web server logged over 10,000 successful downloads of our released software in January 2010, and we have a users mailing list of about 500 members now averaging 200-300 posts per month.
 +
 
 +
Our GSOC organizational admin is [mailto:alina.quereilhac@sophia.inria.fr Alina Quereilhac] and our backup org admin is [mailto:tomhend@u.washington.edu Tom Henderson].
  
  
Line 45: Line 43:
 
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.
 
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.
 
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.
 
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.
* ''Difficulty:'' easy, medium or difficult  
+
* ''Difficulty:'' easy, medium or difficult
 +
* ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.
 
Note that all of the projects require some experience and comfort with C++.  Project ideas for which C++ is noted as a required experience will require more and deeper familiarity with the language.  A similar notion applies to  computer networking, BSD sockets, etc: Familiarity is strongly preferred, but is not required except where explicitly noted due to the topic being more advanced in that regard.
 
Note that all of the projects require some experience and comfort with C++.  Project ideas for which C++ is noted as a required experience will require more and deeper familiarity with the language.  A similar notion applies to  computer networking, BSD sockets, etc: Familiarity is strongly preferred, but is not required except where explicitly noted due to the topic being more advanced in that regard.
 
</blockquote>
 
</blockquote>
Line 57: Line 56:
 
<blockquote>
 
<blockquote>
  
==== Transport ====
 
  
* '''TCP Validation.'''  TCP is one of the most widely used and widely studied protocols in the Internet.  ns-3 has two TCP implementations.  Recently, RFC 5681 was published, documenting recommended TCP behavior.  This project would consist of reviewing the ns-3 TCP implementations and testing them for conformance to RFC 5681 (and fixing any issues that were found to arise).  One outcome of this project would be a test suite that will ensure that ns-3's TCP implementation is accurate and does not regress over time. 
+
==== Model Store ====
** ''Required Experience:'' C++
+
** ''Bonus Experience:'' Transport protocols or TCP
+
** ''Interests:'' TCP and transport protocol performance
+
** ''Difficulty:''
+
** ''Recommended reading:''
+
  
* '''TCP Congestion Avoidance.''' Linux TCP implements a lot of TCP congestion control variants, including variants such as Veno, Westwood, Vegas, etc.  This project would attempt to provide a library of congestion avoidance types, including test suites that exercised each one.
+
Mentors: TBD
** ''Required Experience:'' C++
+
** ''Bonus Experience:'' Transport protocols or TCP
+
** ''Interests:'' TCP and transport protocol performance
+
** ''Difficulty:''
+
** ''Recommended reading:''
+
  
 +
* '''Model Store.'''  The recent ns-3 developers meeting identified a high priority project need to extend the overall build and packaging system for ns-3 to support a user-contributed "model store" inspired by the iPhone App Store.  Presently, ns-3 has a monolithic build system and model contributors from outside the project have the choice of trying to integrate their code into the main tree, or else maintaining it (or not) as an independent third-party archive.  However, from a maintenance perspective, the project cannot accept maintenance of all contributed models in the long term, and users also do not want to download and build an ever growing code base that may contain many models of no interest to them.  Yet we do not want this maintenance and build time bottleneck to stifle user contributions.  What we envision is a student project to develop a system and template for future contributors that will allow third-party developers to package, distribute, and update ns-3 protocol models and manage dependencies between models and the core of ns-3.
 +
* ''[[App Store Technical Requirements]]''
 +
* ''Required Experience:''  Python (ns-3 build system is Python-based)
 +
* ''Bonus Experience:'' Packaging frameworks, C++
 +
* ''Interests:'' Build systems, packaging
 +
* ''Difficulty:'' Medium to high
 +
* ''Recommended reading:'' ns-3's waf build system, package management tools, Firefox plugin management, Apple App Store
  
 
==== Routing ====
 
==== Routing ====
  
Mentors: [mailto:nbaldo@cttc.es Nicola Baldo], [mailto:mrequena@cttc.es Manuel Requena], [mailto:adrian.sw.tam@gmail.com Adrian Sai-wah Tam], [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz]
+
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz]
  
* '''Click Modular Router Integration.'''  This project would port and enable ns-3 simulations to use the [http://read.cs.ucla.edu/click/ Click modular router], widely used in research.  This has been previously done for ns-2, and accomplishing this integration for ns-3 would enable faster protocol development and utilization of many existing protocol implementations.
+
* <s>'''Click Modular Router Integration.'''</s> '''Completed by Lalith Suresh'''  This project would port and enable ns-3 simulations to use the [http://read.cs.ucla.edu/click/ Click modular router], widely used in research.  This has been previously done for ns-2, and accomplishing this integration for ns-3 would enable faster protocol development and utilization of many existing protocol implementations.
 
** ''Required Experience:'' C++
 
** ''Required Experience:'' C++
 
** ''Bonus Experience:'' Click, routing architectures, routing protocols
 
** ''Bonus Experience:'' Click, routing architectures, routing protocols
 
** ''Interests:'' Protocol development, routing architecture
 
** ''Interests:'' Protocol development, routing architecture
 
** ''Difficulty:'' high
 
** ''Difficulty:'' high
** ''Recommended reading:'' [http://portal.acm.org/citation.cfm?id=570772 NS-Click original paper], [http://read.cs.ucla.edu/click/nsclick NS-Click webpage], [https://www.pats.ua.ac.be/software/nsmadwifi Integration of ns-2 wireless features and Click].
+
** ''Recommended reading:''  
 
+
*** [http://portal.acm.org/citation.cfm?id=570772 NS-Click original paper]
* '''Generalized Router Models/Structure.''' Many simulators, including ns-3, do not provide high fidelity models of Internet routers.  For instance, intra-device latencies and input queuing behavior are not modeled.  This project would adapt recent results on [http://www.cs.ucsb.edu/~rchertov/papers/infocom08.pdf empirical router testing] to develop a new, more detailed Router node type for ns-3.
+
*** [http://read.cs.ucla.edu/click/nsclick NS-Click webpage]
** ''Required Experience:''
+
*** [https://www.pats.ua.ac.be/software/nsmadwifi Integration of ns-2 wireless features and Click]
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics
+
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development
+
** ''Difficulty:''
+
** ''Recommended reading:''
+
  
 
==== Network Stack ====
 
==== Network Stack ====
  
Mentors: [mailto:fw@strlen.de Florian Westphal]
+
Mentors: <s>[mailto:fw@strlen.de Florian Westphal]</s> '''Note:''' We do not have a mentor identified for this project.
  
* '''Network Simulation Cradle for IPv4.'''  Last year's ns-3 Google Summer of Code very successfully ported the [http://research.wand.net.nz/software/nsc.php Network Simulation Cradle], providing the ability to run Linux TCP code over ns-3's IPv4 stack.  This project would extend that effort to completely port the Linux TCP/IPv4 stack.  This wolud start by adding IPv4 support to NSC, then support for multiple interfaces, routing tables, and assigning addresses, then making those features available in ns-3.
+
* <s>'''Network Simulation Cradle for IPv4.'''</s> '''See Mathieu's ns-3-linux repository which may obsolete this project idea.'''  Last year's ns-3 Google Summer of Code very successfully ported the [http://research.wand.net.nz/software/nsc.php Network Simulation Cradle], providing the ability to run Linux TCP code over ns-3's IPv4 stack.  This project would extend that effort to completely port the Linux TCP/IPv4 stack.  This wolud start by adding IPv4 support to NSC, then support for multiple interfaces, routing tables, and assigning addresses, then making those features available in ns-3.
 
** ''Required Experience:'' C
 
** ''Required Experience:'' C
 
** ''Bonus Experience:'' Linux kernel, TCP/IP
 
** ''Bonus Experience:'' Linux kernel, TCP/IP
 
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop
 
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop
** ''Difficulty:''  
+
** ''Difficulty:'' medium to high
 
** ''Recommended reading:''
 
** ''Recommended reading:''
 
+
*** [http://research.wand.net.nz/software/nsc.php Network Simulation Cradle]
  
 
==== Emulation and Simulation In The Loop ====
 
==== Emulation and Simulation In The Loop ====
  
Mentors: [mailto:craigdo@ee.washington.edu  Craig Dowell]
+
Mentors: <s>[mailto:craigdo@ee.washington.edu  Craig Dowell]</s>  '''Note:''' We probably do not have a mentor for this project in 2010.
  
* '''EMULAB Support and Integration.'''  This project would attempt to emulate ns-3 and [http://www.emulab.net Emulab], a leading testbed for Internet research.  Emulab experiments are described in tcl-like ns-2 scripts and are driven by ns-2 emulation.  Two main goals of this effort would be: 1) Test and document how ns-3 emulation mode could be used in Emulab instead of ns-2, and compare its features and performance.  2) Investigate whether Emulab scripting could be moved to Python/ns-3 or whether ns-3 simulations need to generate Tcl for Emulab and attempt to do this integration.
+
* '''EMULAB Support and Integration.'''  This project would attempt to integrate ns-3 and [http://www.emulab.net Emulab], a leading testbed for Internet research.  Emulab experiments are described in tcl-like ns-2 scripts and are driven by ns-2 emulation.  Two main goals of this effort would be: 1) Test and document how ns-3 emulation mode could be used in Emulab instead of ns-2, and compare its features and performance.  2) Investigate whether Emulab scripting could be moved to Python/ns-3 or whether ns-3 simulations need to generate Tcl for Emulab and attempt to do this integration.
 
** ''Required Experience:'' C/C++
 
** ''Required Experience:'' C/C++
 
** ''Bonus Experience:'' Emulab, ns-2, Tcl
 
** ''Bonus Experience:'' Emulab, ns-2, Tcl
 
** ''Interests:'' Simulation, emulation, simulation-in-the-loop
 
** ''Interests:'' Simulation, emulation, simulation-in-the-loop
** ''Difficulty:''  
+
** ''Difficulty:'' medium to high
 
** ''Recommended reading:''
 
** ''Recommended reading:''
 +
*** [http://www.emulab.net Emulab]
  
 
==== Peer to Peer and Content Based Routing ====
 
==== Peer to Peer and Content Based Routing ====
Line 125: Line 117:
 
** ''Difficulty:'' medium
 
** ''Difficulty:'' medium
 
** ''Recommended reading:''
 
** ''Recommended reading:''
*** Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu, Mobile ad hoc networking: imperatives and challenges, Ad Hoc Networks, Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
+
*** ''Mobile ad hoc networking: imperatives and challenges'' by Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu, - Ad Hoc Networks, Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
*** Thomas Zahn and Jochen Schiller. MADPastry: A DHT Substrate for Practicably Sized MANETs. In Proc. of 5th Workshop on Applications and Services in Wireless Networks (ASWN2005), Paris, France, June 2005.  
+
*** ''MADPastry: A DHT Substrate for Practicably Sized MANETs.'' by Thomas Zahn and Jochen Schiller - In Proc. of 5th Workshop on Applications and Services in Wireless Networks (ASWN2005), Paris, France, June 2005.  
*** Stoica, I., Morris, R., Karger, D., Kaashoek, M. F., and Balakrishnan, H. 2001. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols For Computer Communications (San Diego, California, United States). SIGCOMM '01. ACM, New York
+
*** ''Chord: A scalable peer-to-peer lookup service for internet applications.'' by Stoica, I., Morris, R., Karger, D., Kaashoek, M. F., and Balakrishnan, H. 2001. - In Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols For Computer Communications (San Diego, California, United States). SIGCOMM '01. ACM, New York
*** Caleffi, M.; Paura, L.; , "P2P over MANET: Indirect tree-based routing," Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on , vol., no., pp.1-5, 9-13 March 2009.
+
*** ''P2P over MANET: Indirect tree-based routing'' by Caleffi, M.; Paura, L.; - Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on , vol., no., pp.1-5, 9-13 - March 2009.
*** M. Caleffi, "Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis", University of Naples Federico II, December 2008.
+
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008.
 
+
 
+
</blockquote>
+
 
+
=== Additional Project Ideas ===
+
---------
+
 
+
The following are additional project ideas that the ns-3 team has highlighted as important projects to support. 
+
 
+
<blockquote>
+
 
+
==== MAC and PHY Models ====
+
 
+
 
+
* '''SNS for ns-3 Wifi.''' [http://www.cs.cornell.edu/people/egs/sns/ Staged Network Simulations (SNS)] is a patch for the ns-2 wireless models which provides for function approximation and caching.  That mechanism greatly speeds up the many calculations required in mobile wireless simulations.  This project would incorporate those techniques into the ns-3 WiFi model.
+
** ''Required Experience:''
+
** ''Bonus Experience:'' Software profiling, software tuning
+
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing
+
** ''Difficulty:''
+
** ''Recommended reading:''
+
 
+
 
+
* '''WPAN Device Models.'''
+
* '''802.11 WDS Support for nqsta.'''
+
 
+
 
+
* '''CSMA/CD and Aloha'''
+
 
+
** ''Description'': Implement a CSMA/CD MAC protocol. Optionally, implement slotted aloha. A good reference describing the CSMA/CD and aloha protocols as well as basic theoretical results about these protocols is "Computer Networking: A Top-Down Approach.".
+
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.
+
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.
+
** ''Interests:'' networking, C++ programming<br/>
+
** ''Difficulty:'' easy
+
** ''Recommended reading:''
+
 
+
 
+
==== Applications and Systems ====
+
 
+
 
+
* '''Large Scale Topology Generation and Management.'''  ns-2 incorporates support for [http://www.isi.edu/nsnam/ns/ns-topogen.html various topology generators], which would be useful to also support in ns-3.  This project would investigate porting topology generators or mapping their output to ns-3 simulations.  It would also touch on the problem of coherent IP addressing in generated topologies.  In particular, [http://www.cs.utah.edu/flux/papers/ipassign-ftn2005-04-base.html recent work] by the Emulab project may be useful in this regard.
+
** ''Required Experience:''
+
** ''Bonus Experience:'' Graph theory, network management, Internet topology
+
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory
+
** ''Difficulty:''
+
** ''Recommended reading:'' [http://www.isi.edu/nsnam/ns/ns-topogen.html various topology generators] -  [http://www.cs.utah.edu/flux/papers/ipassign-ftn2005-04-base.html recent work]
+
 
+
* '''Agent-J Implementation.''' [http://cs.itd.nrl.navy.mil/pubs/docs/agentj-dfma06.pdf Agent-J] is a Java library built on top of [http://cs.itd.nrl.navy.mil/work/protolib/index.php Protolib] that enables Java networking application code to be run on real systems as well as network simulators such as ns-2 and OPNET.  This project would port Agent-J to ns-3, thereby enabling users to develop applications in Java, as well as work with existing implementations.  This project would require completing the above Protolib Integration effort first.
+
** ''Required Experience:'' Java, C
+
** ''Bonus Experience:'' JNI
+
** ''Interests:'' Java, Java native code, simulation, P2P
+
** ''Difficulty:''
+
** ''Recommended reading:'' [http://cs.itd.nrl.navy.mil/pubs/docs/agentj-dfma06.pdf Agent-J] - [http://cs.itd.nrl.navy.mil/work/protolib/index.php Protolib]
+
</blockquote>
+
 
+
== Propose Your Own Idea ==
+
 
+
This section is intended to gather projects ideas and mentors for ns-3's [http://code.google.com/soc Google Summer of Code] 2010 application submission.<br/>
+
Any idea proposal is welcome as long as it is relevant to the ns-3 project. All proposed ideas are expected to have a mentor who will be responsible of following the project's evolution and evaluate the student during [http://code.google.com/soc Google Summer of Code].
+
 
+
 
+
<blockquote style="background: GhostWhite; border: 1px solid rgb(153, 153, 153); padding: 1em">
+
 
+
When adding a new idea proposal please make sure you use the following format:
+
 
+
==== Category of Idea ====
+
 
+
Mentor: [mailto:mentor-email mentor-name].
+
 
+
* '''title of the idea.'''  Concise description of the idea. Please make sure the description is clear enough for the students to understand.
+
** ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.
+
** ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.
+
** ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project. <br/>
+
** ''Difficulty:'' easy, medium or difficult
+
** ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.
+
</blockquote>
+
 
+
 
+
<blockquote style=" padding: 0em 0em 3em 0em">
+
  
  
Line 235: Line 149:
 
** ''Difficulty:'' Medium
 
** ''Difficulty:'' Medium
 
** ''Recommended reading'':  
 
** ''Recommended reading'':  
*** Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu, Mobile ad hoc networking: imperatives and challenges, Ad Hoc Networks, Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
+
*** ''Mobile ad hoc networking: imperatives and challenges, Ad Hoc Networks'' by Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu - Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
*** Khalife, H.; Malouch, N.; Fdida, S.; , "Multihop cognitive radio networks: to route or not to route," Network, IEEE , vol.23, no.4, pp.20-25, July-August 2009
+
*** ''Multihop cognitive radio networks: to route or not to route'' by Khalife, H.; Malouch, N.; Fdida, S. - Network, IEEE , vol.23, no.4, pp.20-25 - July-August 2009
*** K.R. Chowdhury, M.D. Felice, Search: A routing protocol for mobile cognitive radio ad-hoc networks, Computer Communications, Volume 32, Issue 18, Cognitive Radio and Dynamic Spectrum Sharing Systems, 15 December 2009, Pages 1983-1997, ISSN 0140-3664, DOI: 10.1016/j.comcom.2009.06.011.
+
*** ''Search: A routing protocol for mobile cognitive radio ad-hoc networks, Computer Communications'' by K.R. Chowdhury, M.D. Felice - Volume 32, Issue 18, Cognitive Radio and Dynamic Spectrum Sharing -Systems, 15 December 2009, Pages 1983-1997, ISSN 0140-3664, DOI: 10.1016/j.comcom.2009.06.011.
*** M. Caleffi, "Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis", University of Naples Federico II, December 2008.
+
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008
  
  
==== MAC and PHY models  ====  
+
==== MAC and PHY models for LTE ====  
  
 
Mentors: [mailto:nbaldo@cttc.es Nicola Baldo], [mailto:mmiozzo@cttc.es Marco Miozzo]  
 
Mentors: [mailto:nbaldo@cttc.es Nicola Baldo], [mailto:mmiozzo@cttc.es Marco Miozzo]  
  
* '''3GPP Long Term Evolution (LTE)''' is an upcoming wireless technology already widely endorsed among mobile operators and manufacturers. Unfortunately, ns-3 still does not feature any model for LTE. The LTE standard is very complex, so it is not reasonable to develop a NetDevice modeling all aspects of LTE within the limited time span of the GSOC. Rather, we propose students to focus on the implementation of a subset of the functionality of LTE. This can include (but is not necessary limited to) the following aspects:
+
* <s>'''3GPP Long Term Evolution (LTE)'''</s> '''Update:  Basic LTE support (PHY) is Giuseppe Piro's 2010 GSOC project; please contact him for status and next steps.''' LTE is an upcoming wireless technology already widely endorsed among mobile operators and manufacturers. Unfortunately, ns-3 still does not feature any model for LTE. The LTE standard is very complex, so it is not reasonable to develop a NetDevice modeling all aspects of LTE within the limited time span of the GSOC. Rather, we propose students to focus on the implementation of a subset of the functionality of LTE. This can include (but is not necessary limited to) the following aspects:
 
*# Frequency Division Duplex PHY layer based on OFDMA/SC-FDMA (the [[#spectrum|ns-3 spectrum framework]]) could be used for this purpose)
 
*# Frequency Division Duplex PHY layer based on OFDMA/SC-FDMA (the [[#spectrum|ns-3 spectrum framework]]) could be used for this purpose)
 
*# Medium Access Control (scheduling, timing, HARQ)
 
*# Medium Access Control (scheduling, timing, HARQ)
Line 254: Line 168:
 
** ''Difficulty:'' medium to difficult (depending on what functionality the student proposes to implement)
 
** ''Difficulty:'' medium to difficult (depending on what functionality the student proposes to implement)
 
** ''Recommended reading:''
 
** ''Recommended reading:''
<bibtex>@book{sesia2009lte,
+
*** ''LTE, The UMTS Long Term Evolution: From Theory to Practice'' by S. Sesia and I. Toufik and M. Baker - Wiley Publishing - 2009
  title={LTE, The UMTS Long Term Evolution: From Theory to Practice},
+
*** [http://www.dei.unipd.it/~baldo/mypapers/baldo2009spectrum.pdf Spectrum-aware Channel and PHY layer modeling for ns3] by N. Baldo and M. Miozzo - ACM NSTools - 2009
  author={S. Sesia and I. Toufik and M. Baker},
+
  year={2009},
+
  publisher={Wiley Publishing}
+
}</bibtex>
+
<span id="spectrum"><bibtex>@article{baldo-spectrum,
+
  title={Spectrum-aware Channel and PHY layer modeling for ns3},
+
  author={N. Baldo and M. Miozzo},
+
howpublished = {ACM NSTools},
+
address = {Pisa, Italy},
+
month = {October},
+
year = {2009},
+
url = {http://www.dei.unipd.it/~baldo/mypapers/baldo2009spectrum.pdf}
+
}</bibtex></span>
+
 
+
  
 
==== Underwater Acoustic Network  ====  
 
==== Underwater Acoustic Network  ====  
Line 275: Line 175:
 
Mentors: [mailto:lentracy@u.washington.edu Leonard Tracy]
 
Mentors: [mailto:lentracy@u.washington.edu Leonard Tracy]
  
* ''' UAN framework''' Extend the currently proposed UAN modules to support a wider variety of common underwater networking scenarios.  The developed extensions could be a subset of:  Support for modeling of AUV network nodes, accurate PHY layer modeling of new modulations (e.g. ZP-OFDM), power management layers, or routing layers (e.g. P2P).
+
* <s>''' UAN framework'''</s> '''Update:  This project completed by Andrea Sacco in 2010''' Extend the currently proposed UAN modules to support a wider variety of common underwater networking scenarios.  The developed extensions could be a subset of:  Support for modeling of AUV network nodes, accurate PHY layer modeling of new modulations (e.g. ZP-OFDM), power management layers, or routing layers (e.g. P2P).
 
** ''Required Experience:'' C/C++
 
** ''Required Experience:'' C/C++
 
** ''Bonus Experience:''  ns-3 UAN module, acoustic communications
 
** ''Bonus Experience:''  ns-3 UAN module, acoustic communications
Line 281: Line 181:
 
** ''Difficulty:'' Medium
 
** ''Difficulty:'' Medium
 
** ''Recommended reading:''  
 
** ''Recommended reading:''  
*** [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.6701 Research Challenges and Applications for Underwater Sensor Networking] by John Heidemann, Wei Ye, Jack Wills, Affan Syed, Yuan Li — 2006 — In Proceedings of the IEEE Wireless Communications and Networking Conference  
+
*** [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.6701 Research Challenges and Applications for Underwater Sensor Networking] by John Heidemann, Wei Ye, Jack Wills, Affan Syed, Yuan Li - In Proceedings of the IEEE Wireless Communications and Networking Conference - 2006
 
*** [http://www.mit.edu/~millitsa/resources/pdfs/mandar.pdf Underwater Acoustic Communications and Networking: Recent Advances and Future Challenges] by M.Chitre, S.Shahabodeen and M.Stojanovic - Marine Technology Society Journal," vol.42, No.1, Spring 2008, pp.103-116.
 
*** [http://www.mit.edu/~millitsa/resources/pdfs/mandar.pdf Underwater Acoustic Communications and Networking: Recent Advances and Future Challenges] by M.Chitre, S.Shahabodeen and M.Stojanovic - Marine Technology Society Journal," vol.42, No.1, Spring 2008, pp.103-116.
 +
 +
==== Transport ====
 +
 +
'''Update:  Adrian Tam's ns-3-tcp repository has made progress on the below two topics and should be considered as the new baseline for TCP work'''
 +
 +
Mentors: [mailto:jpelkey@gatech.edu Josh Pelkey], [mailto:tomh@tomh.org Tom Henderson]
 +
 +
* '''TCP Validation.'''  TCP is one of the most widely used and widely studied protocols in the Internet.  ns-3 has two TCP implementations.  Recently, RFC 5681 was published, documenting recommended TCP behavior.  This project would consist of reviewing the ns-3 TCP implementations and testing them for conformance to RFC 5681 (and fixing any issues that were found to arise).  One outcome of this project would be a test suite that will ensure that ns-3's TCP implementation is accurate and does not regress over time. 
 +
** ''Required Experience:'' C++
 +
** ''Bonus Experience:'' Transport protocols or TCP
 +
** ''Interests:'' TCP and transport protocol performance
 +
** ''Difficulty:'' depends on what functionality the student proposes to implement
 +
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007593.html
 +
 +
 +
Mentors: [mailto:alfredo.grieco@gmail.com  Alfredo Grieco]
 +
 +
* '''TCP Congestion Avoidance.'''  Linux TCP implements a lot of TCP congestion control variants, including variants such as Veno, Westwood, Vegas, etc.  This project would attempt to provide a library of congestion avoidance types, including test suites that exercised each one.
 +
** ''Required Experience:'' C++
 +
** ''Bonus Experience:'' Transport protocols or TCP
 +
** ''Interests:'' TCP and transport protocol performance
 +
** ''Difficulty:'' depends on what functionality the student proposes to implement
 +
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007594.html
 +
 +
 +
</blockquote>
 +
 +
=== Additional Project Ideas ===
 +
---------
 +
 +
The following are additional project ideas that the ns-3 team has highlighted as important projects to support, and are suggested for students to extend.  Not all of them have specific mentors assigned yet but we would seek out mentors from our mentor pool if high quality applications came in on these topics (or any ns-3 topic, for that matter).
 +
 +
<blockquote>
 +
 +
 +
==== Routing ====
 +
 +
* '''Generalized Router Models/Structure.''' Many simulators, including ns-3, do not provide high fidelity models of Internet routers.  For instance, intra-device latencies and input queuing behavior are not modeled.  This project would adapt recent results on [http://www.cs.ucsb.edu/~rchertov/papers/infocom08.pdf empirical router testing] to develop a new, more detailed Router node type for ns-3.
 +
** ''Required Experience:''
 +
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics
 +
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development
 +
** ''Difficulty:'' medium-to-high, because there may be a dependency on Click router
 +
 +
 +
==== MAC and PHY Models ====
 +
 +
* '''CSMA/CD and Aloha'''
 +
** ''Description'': Implement a CSMA/CD MAC protocol. Optionally, implement slotted aloha. A good reference describing the CSMA/CD and aloha protocols as well as basic theoretical results about these protocols is "Computer Networking: A Top-Down Approach.".
 +
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.
 +
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.
 +
** ''Interests:'' networking, C++ programming<br/>
 +
** ''Difficulty:'' easy
 +
** ''Recommended reading:'' [http://www.scribd.com/doc/5367449/Computer-Networking-A-TopDown-Approach-Featuring-The-Internet-aa Computer Networking: a top down approach], chapter 5.
 +
 +
* '''SNS for ns-3 Wifi.''' [http://www.cs.cornell.edu/people/egs/sns/ Staged Network Simulations (SNS)] is a patch for the ns-2 wireless models which provides for function approximation and caching.  That mechanism greatly speeds up the many calculations required in mobile wireless simulations.  This project would incorporate those techniques into the ns-3 WiFi model.
 +
** ''Required Experience:''
 +
** ''Bonus Experience:'' Software profiling, software tuning
 +
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing
 +
** ''Difficulty:'' depends on what functionality the student proposes to implement
 +
 +
 +
==== Applications and Systems ====
 +
 +
* '''Large Scale Topology Generation and Management.'''  ns-2 incorporates support for [http://www.isi.edu/nsnam/ns/ns-topogen.html various topology generators], which would be useful to also support in ns-3.  This project would investigate porting topology generators or mapping their output to ns-3 simulations.  It would also touch on the problem of coherent IP addressing in generated topologies.  In particular, [http://www.cs.utah.edu/flux/papers/ipassign-ftn2005-04-base.html recent work] by the Emulab project may be useful in this regard.
 +
** ''Required Experience:''
 +
** ''Bonus Experience:'' Graph theory, network management, Internet topology
 +
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory
 +
** ''Difficulty:'' depends on what functionality the student proposes to implement
 +
  
 
</blockquote>
 
</blockquote>

Latest revision as of 09:39, 15 February 2011

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Please visit GSoC 2010 Accepted Projects to learn more about ns3 projects for GSoC 2010

Ns3GSoC2010Flyer.jpg

GSoC 2010 Ideas

This webpage highlights project ideas for ns-3's Google Summer of Code 2010 effort.


About the ns-3 project

ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results. Simulation plays a vital role in the research and education process, because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented. A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for real application and kernel code) and integration of the tool with virtual machine environments and testbeds; we view that researchers need to move more effortlessly between simulation, testbeds, and live experiments, and ns-3 is designed to facilitate that.

ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.7 in January 2010). ns-3 is replacing the popular ns-2 tool which was developed in the 1997-2000 timeframe but became out of date and unmaintained. The tool is coming into wide use; our web server logged over 10,000 successful downloads of our released software in January 2010, and we have a users mailing list of about 500 members now averaging 200-300 posts per month.

Our GSOC organizational admin is Alina Quereilhac and our backup org admin is Tom Henderson.


Project Ideas

The following are project ideas which the ns-3 team has identified as important and is most interested in working on as part of the 2010 Google Summer of Code. GSoC applicants are however free to propose their own ideas. In addition, please note that these ideas are not limited to Google Summer of Code, anyone is welcome to work on them. Please email the ns-developers list if one interests you. GSoC applicants are encourage to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the ns-developers list. That will help you develop the idea and present a concrete, meaningful application.

Each project idea has been tagged with the following properties:

  • Required Experience: Languages, concepts, or packages with which applicants must be familiar.
  • Bonus Experience: Other experience or familiarity which would be greatly helpful to applicants for this project.
  • Interests: Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.
  • Difficulty: easy, medium or difficult
  • Recommended reading: pointers to documentation, papers, specific bugs, etc.

Note that all of the projects require some experience and comfort with C++. Project ideas for which C++ is noted as a required experience will require more and deeper familiarity with the language. A similar notion applies to computer networking, BSD sockets, etc: Familiarity is strongly preferred, but is not required except where explicitly noted due to the topic being more advanced in that regard.


Priority Project Ideas


The following are work areas the ns-3 project has identified as the highest priorities, has several mentors available, and would be especially interested in having students work on.


Model Store

Mentors: TBD

  • Model Store. The recent ns-3 developers meeting identified a high priority project need to extend the overall build and packaging system for ns-3 to support a user-contributed "model store" inspired by the iPhone App Store. Presently, ns-3 has a monolithic build system and model contributors from outside the project have the choice of trying to integrate their code into the main tree, or else maintaining it (or not) as an independent third-party archive. However, from a maintenance perspective, the project cannot accept maintenance of all contributed models in the long term, and users also do not want to download and build an ever growing code base that may contain many models of no interest to them. Yet we do not want this maintenance and build time bottleneck to stifle user contributions. What we envision is a student project to develop a system and template for future contributors that will allow third-party developers to package, distribute, and update ns-3 protocol models and manage dependencies between models and the core of ns-3.
  • App Store Technical Requirements
  • Required Experience: Python (ns-3 build system is Python-based)
  • Bonus Experience: Packaging frameworks, C++
  • Interests: Build systems, packaging
  • Difficulty: Medium to high
  • Recommended reading: ns-3's waf build system, package management tools, Firefox plugin management, Apple App Store

Routing

Mentors: Ruben Merz

  • Click Modular Router Integration. Completed by Lalith Suresh This project would port and enable ns-3 simulations to use the Click modular router, widely used in research. This has been previously done for ns-2, and accomplishing this integration for ns-3 would enable faster protocol development and utilization of many existing protocol implementations.

Network Stack

Mentors: Florian Westphal Note: We do not have a mentor identified for this project.

  • Network Simulation Cradle for IPv4. See Mathieu's ns-3-linux repository which may obsolete this project idea. Last year's ns-3 Google Summer of Code very successfully ported the Network Simulation Cradle, providing the ability to run Linux TCP code over ns-3's IPv4 stack. This project would extend that effort to completely port the Linux TCP/IPv4 stack. This wolud start by adding IPv4 support to NSC, then support for multiple interfaces, routing tables, and assigning addresses, then making those features available in ns-3.
    • Required Experience: C
    • Bonus Experience: Linux kernel, TCP/IP
    • Interests: Linux, operating systems, virtualization, software-in-the-loop
    • Difficulty: medium to high
    • Recommended reading:

Emulation and Simulation In The Loop

Mentors: Craig Dowell Note: We probably do not have a mentor for this project in 2010.

  • EMULAB Support and Integration. This project would attempt to integrate ns-3 and Emulab, a leading testbed for Internet research. Emulab experiments are described in tcl-like ns-2 scripts and are driven by ns-2 emulation. Two main goals of this effort would be: 1) Test and document how ns-3 emulation mode could be used in Emulab instead of ns-2, and compare its features and performance. 2) Investigate whether Emulab scripting could be moved to Python/ns-3 or whether ns-3 simulations need to generate Tcl for Emulab and attempt to do this integration.
    • Required Experience: C/C++
    • Bonus Experience: Emulab, ns-2, Tcl
    • Interests: Simulation, emulation, simulation-in-the-loop
    • Difficulty: medium to high
    • Recommended reading:

Peer to Peer and Content Based Routing

Mentors: Marcello Caleffi

  • Mobile P2P. ns-3 currently does not include any implementation of Mobile Peer-to-Peer (P2P) systems. This project would implement some additional networking protocols based on a cross-layer approach between routing and Distributed Hash Tables (DHTs), such as ATR and MADPastry. Both the ns-2 implementations of the cited protocols are currently available and could be used as design guides.
    • Required Experience: C/C++
    • Bonus Experience: P2P, mobile ad hoc networks (MANETs), ns-2
    • Interests: P2P, DHT, MANETs, routing.
    • Difficulty: medium
    • Recommended reading:
      • Mobile ad hoc networking: imperatives and challenges by Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu, - Ad Hoc Networks, Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
      • MADPastry: A DHT Substrate for Practicably Sized MANETs. by Thomas Zahn and Jochen Schiller - In Proc. of 5th Workshop on Applications and Services in Wireless Networks (ASWN2005), Paris, France, June 2005.
      • Chord: A scalable peer-to-peer lookup service for internet applications. by Stoica, I., Morris, R., Karger, D., Kaashoek, M. F., and Balakrishnan, H. 2001. - In Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols For Computer Communications (San Diego, California, United States). SIGCOMM '01. ACM, New York
      • P2P over MANET: Indirect tree-based routing by Caleffi, M.; Paura, L.; - Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on , vol., no., pp.1-5, 9-13 - March 2009.
      • Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis by M. Caleffi - University of Naples Federico II - December 2008.


Satellite network stack

Mentors: Tommaso Pecorella


Cognitive Radio Networks

Mentors: Marcello Caleffi

  • Cognitive Networks ns-3 currently does not include any implementation of routing protocols for cognitive networks. This project would implement some additional networking protocols for this scenario. Such protocols should be able to deliver packets across multiple channels avoiding to interfere with primary users. A cross-layer approach with the physical layer is required for spectrum sensing.
    • Required Experience: C/C++
    • Bonus Experience: mobile ad hoc networks (MANETs), ns-2
    • Interests: MANETs, routing, cognitive networks.
    • Difficulty: Medium
    • Recommended reading:
      • Mobile ad hoc networking: imperatives and challenges, Ad Hoc Networks by Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu - Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
      • Multihop cognitive radio networks: to route or not to route by Khalife, H.; Malouch, N.; Fdida, S. - Network, IEEE , vol.23, no.4, pp.20-25 - July-August 2009
      • Search: A routing protocol for mobile cognitive radio ad-hoc networks, Computer Communications by K.R. Chowdhury, M.D. Felice - Volume 32, Issue 18, Cognitive Radio and Dynamic Spectrum Sharing -Systems, 15 December 2009, Pages 1983-1997, ISSN 0140-3664, DOI: 10.1016/j.comcom.2009.06.011.
      • Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis by M. Caleffi - University of Naples Federico II - December 2008


MAC and PHY models for LTE

Mentors: Nicola Baldo, Marco Miozzo

  • 3GPP Long Term Evolution (LTE) Update: Basic LTE support (PHY) is Giuseppe Piro's 2010 GSOC project; please contact him for status and next steps. LTE is an upcoming wireless technology already widely endorsed among mobile operators and manufacturers. Unfortunately, ns-3 still does not feature any model for LTE. The LTE standard is very complex, so it is not reasonable to develop a NetDevice modeling all aspects of LTE within the limited time span of the GSOC. Rather, we propose students to focus on the implementation of a subset of the functionality of LTE. This can include (but is not necessary limited to) the following aspects:
    1. Frequency Division Duplex PHY layer based on OFDMA/SC-FDMA (the ns-3 spectrum framework) could be used for this purpose)
    2. Medium Access Control (scheduling, timing, HARQ)
    3. Radio Link Control (RLC) (transparent mode (TM), unacknowledged mode (UM), acknowledged mode (AM))
    • Required Experience: C++, generic understanding of PHY and MAC layers
    • Bonus Experience: OFDM/OFDMA, HARQ
    • Interests: 4G mobile communications
    • Difficulty: medium to difficult (depending on what functionality the student proposes to implement)
    • Recommended reading:

Underwater Acoustic Network

Mentors: Leonard Tracy

  • UAN framework Update: This project completed by Andrea Sacco in 2010 Extend the currently proposed UAN modules to support a wider variety of common underwater networking scenarios. The developed extensions could be a subset of: Support for modeling of AUV network nodes, accurate PHY layer modeling of new modulations (e.g. ZP-OFDM), power management layers, or routing layers (e.g. P2P).

Transport

Update: Adrian Tam's ns-3-tcp repository has made progress on the below two topics and should be considered as the new baseline for TCP work

Mentors: Josh Pelkey, Tom Henderson

  • TCP Validation. TCP is one of the most widely used and widely studied protocols in the Internet. ns-3 has two TCP implementations. Recently, RFC 5681 was published, documenting recommended TCP behavior. This project would consist of reviewing the ns-3 TCP implementations and testing them for conformance to RFC 5681 (and fixing any issues that were found to arise). One outcome of this project would be a test suite that will ensure that ns-3's TCP implementation is accurate and does not regress over time.


Mentors: Alfredo Grieco

  • TCP Congestion Avoidance. Linux TCP implements a lot of TCP congestion control variants, including variants such as Veno, Westwood, Vegas, etc. This project would attempt to provide a library of congestion avoidance types, including test suites that exercised each one.


Additional Project Ideas


The following are additional project ideas that the ns-3 team has highlighted as important projects to support, and are suggested for students to extend. Not all of them have specific mentors assigned yet but we would seek out mentors from our mentor pool if high quality applications came in on these topics (or any ns-3 topic, for that matter).


Routing

  • Generalized Router Models/Structure. Many simulators, including ns-3, do not provide high fidelity models of Internet routers. For instance, intra-device latencies and input queuing behavior are not modeled. This project would adapt recent results on empirical router testing to develop a new, more detailed Router node type for ns-3.
    • Required Experience:
    • Bonus Experience: Routing architectures, routing protocols, queueing theory, statistics
    • Interests: High fidelity simulation, queueing theory, statistics, data driven model development
    • Difficulty: medium-to-high, because there may be a dependency on Click router


MAC and PHY Models

  • CSMA/CD and Aloha
    • Description: Implement a CSMA/CD MAC protocol. Optionally, implement slotted aloha. A good reference describing the CSMA/CD and aloha protocols as well as basic theoretical results about these protocols is "Computer Networking: A Top-Down Approach.".
    • Required Experience: basic C++, know what aloha and CSMA/CD are.
    • Bonus Experience: ns-3 programming, contributions to open source projects.
    • Interests: networking, C++ programming
    • Difficulty: easy
    • Recommended reading: Computer Networking: a top down approach, chapter 5.
  • SNS for ns-3 Wifi. Staged Network Simulations (SNS) is a patch for the ns-2 wireless models which provides for function approximation and caching. That mechanism greatly speeds up the many calculations required in mobile wireless simulations. This project would incorporate those techniques into the ns-3 WiFi model.
    • Required Experience:
    • Bonus Experience: Software profiling, software tuning
    • Interests: Approximation, caching, software profiling, high performance computing, scientific computing
    • Difficulty: depends on what functionality the student proposes to implement


Applications and Systems

  • Large Scale Topology Generation and Management. ns-2 incorporates support for various topology generators, which would be useful to also support in ns-3. This project would investigate porting topology generators or mapping their output to ns-3 simulations. It would also touch on the problem of coherent IP addressing in generated topologies. In particular, recent work by the Emulab project may be useful in this regard.
    • Required Experience:
    • Bonus Experience: Graph theory, network management, Internet topology
    • Interests: Internet topology, Internet autonomous systems, graph theory
    • Difficulty: depends on what functionality the student proposes to implement