<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.nsnam.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rmerz</id>
	<title>Nsnam - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.nsnam.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rmerz"/>
	<link rel="alternate" type="text/html" href="https://www.nsnam.org/wiki/Special:Contributions/Rmerz"/>
	<updated>2026-05-07T11:04:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=Ns-3.12&amp;diff=5759</id>
		<title>Ns-3.12</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=Ns-3.12&amp;diff=5759"/>
		<updated>2011-05-29T22:07:22Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Feature requests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
This page summarizes the ongoing release planning for ns-3.12. No release manager is named yet.&lt;br /&gt;
&lt;br /&gt;
= Proposed Release Schedule =&lt;br /&gt;
&lt;br /&gt;
# May 25 -- ns-3.11 posted, ns-3.12 open phase begins.&lt;br /&gt;
# August/September timeframe:  ns-3.12 release&lt;br /&gt;
&lt;br /&gt;
More schedule details will be posted soon.  Please see [[Release Process]] concerning general aspects of the release schedule.&lt;br /&gt;
&lt;br /&gt;
= Candidate Contributions for Inclusion in ns-3.12 =&lt;br /&gt;
&lt;br /&gt;
* BRITE Integration&lt;br /&gt;
** will put up a code review after ns-3.11 release&lt;br /&gt;
* [http://codereview.appspot.com/2104052/show Virtual Access Point (VAP) for WiFi]&lt;br /&gt;
** insufficient reviews&lt;br /&gt;
* [http://codereview.appspot.com/2135046/show GetRelativeVelocity() for MobilityModel]&lt;br /&gt;
** insufficient reviews&lt;br /&gt;
* [http://codereview.appspot.com/2173042/show PhySimWifi]&lt;br /&gt;
** insufficient reviews&lt;br /&gt;
* [http://codereview.appspot.com/2334041/show thread-safe implementation of ScheduleWithContext]&lt;br /&gt;
* [http://codereview.appspot.com/1587041/show simple wireless models]&lt;br /&gt;
* [http://codereview.appspot.com/1055041/show Jamming model]&lt;br /&gt;
* [http://codereview.appspot.com/850045/show MPLS]&lt;br /&gt;
* [http://mailman.isi.edu/pipermail/ns-developers/2010-February/007419.html TCP Vegas] (blocked by lack of progress on TCP congestion control architecture)&lt;br /&gt;
* [http://codereview.appspot.com/3374041/ NetAnim trace hooks for wireless]&lt;br /&gt;
&lt;br /&gt;
= ns-3.12 Features Merged =&lt;br /&gt;
&lt;br /&gt;
To be listed here.&lt;br /&gt;
&lt;br /&gt;
= The ns-3.12 Bug List =&lt;br /&gt;
&lt;br /&gt;
* [http://codereview.appspot.com/4440051/ IP fragmentation] (bugs 1100, 1102)&lt;br /&gt;
&lt;br /&gt;
= Feature requests =&lt;br /&gt;
&lt;br /&gt;
* make spectrum model compatible with ns-3 WiFi&lt;br /&gt;
* ns-2 packet UID feature &lt;br /&gt;
* API for TOS bytes (issue 897)  ''may wait for netfilter support''&lt;br /&gt;
* Chord/DHT (authors are planning to revise code based on comments)&lt;br /&gt;
* app store and build system refactoring&lt;br /&gt;
* fragmentation for IPv4:  being worked by Vedran Miletic and Tommaso Pecorella&lt;br /&gt;
* TDMA wireless model&lt;br /&gt;
** being worked on by Hemanth Narra&lt;br /&gt;
* Netdevice queue state support&lt;br /&gt;
** being worked on by Ruben Merz&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5433</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5433"/>
		<updated>2011-03-23T17:33:41Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Attendance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location and Schedule =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on Saturday, March 26th. That's one day after WNS3 co-located with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
The meeting will be hosted at the CTTC Demo Centre, calle Sancho de Avila 110-130, 08018 Barcelona.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendance =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name.&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz&lt;br /&gt;
* Felipe Perrone&lt;br /&gt;
* Lalith Suresh&lt;br /&gt;
* Marco Miozzo&lt;br /&gt;
* Giuseppe Piro&lt;br /&gt;
* George Riley&lt;br /&gt;
* Ken Renard&lt;br /&gt;
* Mustafa Al-Bado&lt;br /&gt;
* Pavel Boyko&lt;br /&gt;
* Andrey Mazo&lt;br /&gt;
* Justin Rohrer&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;br /&gt;
* Website review (Tom)&lt;br /&gt;
* Documentation (Tom)&lt;br /&gt;
* Data collection framework (Felipe)&lt;br /&gt;
* Topology generation (George)&lt;br /&gt;
* ns-3-click development (Lalith, Ruben)&lt;br /&gt;
* ns-3 Summer of Code (Lalith)&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5398</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5398"/>
		<updated>2011-03-19T14:50:38Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location and Schedule =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on Saturday, March 26th. That's one day after WNS3 co-located with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
The meeting will be hosted at the CTTC Demo Centre, calle Sancho de Avila 110-130, 08018 Barcelona.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendance =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name.&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz&lt;br /&gt;
* Felipe Perrone&lt;br /&gt;
* Lalith Suresh&lt;br /&gt;
* Marco Miozzo&lt;br /&gt;
* Giuseppe Piro&lt;br /&gt;
* George Riley&lt;br /&gt;
* Ken Renard&lt;br /&gt;
* Mustafa Al-Bado&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;br /&gt;
* Website review (Tom)&lt;br /&gt;
* Documentation (Tom)&lt;br /&gt;
* Data collection framework (Felipe)&lt;br /&gt;
* Topology generation (George)&lt;br /&gt;
* ns-3-click development (Lalith, Ruben)&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5188</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5188"/>
		<updated>2011-02-07T18:54:05Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Attendence */ fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location and Schedule =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on Saturday, March 26th. That's one day after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendance =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name.&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz&lt;br /&gt;
* Felipe Perrone&lt;br /&gt;
* Lalith Suresh&lt;br /&gt;
* Marco Miozzo&lt;br /&gt;
* Giuseppe Piro&lt;br /&gt;
* George Riley&lt;br /&gt;
* Ken Renard&lt;br /&gt;
* Mustafa Al-Bado&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;br /&gt;
* IPv6 transport&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5187</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5187"/>
		<updated>2011-02-07T18:53:48Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Attendence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location and Schedule =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on Saturday, March 26th. That's one day after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name.&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz&lt;br /&gt;
* Felipe Perrone&lt;br /&gt;
* Lalith Suresh&lt;br /&gt;
* Marco Miozzo&lt;br /&gt;
* Giuseppe Piro&lt;br /&gt;
* George Riley&lt;br /&gt;
* Ken Renard&lt;br /&gt;
* Mustafa Al-Bado&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;br /&gt;
* IPv6 transport&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5186</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5186"/>
		<updated>2011-02-07T18:53:31Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location and Schedule =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on Saturday, March 26th. That's one day after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name. If you can only attend a particular day add a note '''Sat. only/Thur. only'''&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz (Saturday preferred)&lt;br /&gt;
* Felipe Perrone&lt;br /&gt;
* Lalith Suresh&lt;br /&gt;
* Marco Miozzo&lt;br /&gt;
* Giuseppe Piro&lt;br /&gt;
* George Riley&lt;br /&gt;
* Ken Renard&lt;br /&gt;
* Mustafa Al-Bado&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;br /&gt;
* IPv6 transport&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5185</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5185"/>
		<updated>2011-02-07T14:30:17Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Attendence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on March 24th (Thursday) or March 26th (Saturday). That's one day before or after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name. If you can only attend a particular day add a note '''Sat. only/Thur. only'''&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz (Saturday preferred)&lt;br /&gt;
* Felipe Perrone&lt;br /&gt;
* Lalith Suresh&lt;br /&gt;
* Marco Miozzo&lt;br /&gt;
* Giuseppe Piro&lt;br /&gt;
* George Riley&lt;br /&gt;
* Ken Renard&lt;br /&gt;
* Mustafa Al-Bado&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;br /&gt;
* IPv6 transport&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2011Projects&amp;diff=5151</id>
		<title>GSOC2011Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2011Projects&amp;diff=5151"/>
		<updated>2011-01-28T13:51:15Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Antenna Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left; width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/faqs GSoC Frequently Asked Questions]&lt;br /&gt;
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]&lt;br /&gt;
* [[GS02011StudentGuide |GSoC Student guide]]&lt;br /&gt;
* [[GS02011StudentApplicationTemplate |GSoC Student application template]]&lt;br /&gt;
* [[GSOC2011Projects |GSoC 2011 Ideas page]]&lt;br /&gt;
* [[GSOC2010Projects |GSoC 2010 Ideas page]] | [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]]&lt;br /&gt;
* [[GSOC2009Projects |GSoC 2009 Ideas page]] | [[GSOC2009AcceptedProjects |GSoC 2009 Accepted Projects]]&lt;br /&gt;
* [[GSOC2010OAReport |GSoC Organization Administrator guide]]&lt;br /&gt;
* ''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&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;float: left; width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Ns3GSoC2010Flyer.jpg]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GSoC 2011 Ideas =&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2011 effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About the ns-3 project ==&lt;br /&gt;
&lt;br /&gt;
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.10 in January 2011).  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.&lt;br /&gt;
&lt;br /&gt;
Our GSOC organizational admin is [mailto:suresh.lalith@gmail.com Lalith Suresh] and our backup org admin is [mailto:tomhend@u.washington.edu Tom Henderson].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 2011 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list] if you have an idea that you'd like to work on.  GSoC applicants are encouraged to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list]. Previous experience suggests that the more you discuss and refine your proposal on the mailing list beforehand, the more stronger a proposal it will develop into, and the higher your chances of being ranked high.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
* ''Difficulty:'' easy, medium or difficult&lt;br /&gt;
* ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Antenna Models ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz]&lt;br /&gt;
&lt;br /&gt;
* '''Antenna Radiation Patterns''' This project would implement support for antenna radiation patterns in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3. This project can have a large impact on the ns-3 simulator as it would allow several wireless physical layers to benefit from it, namely 802.11, WiMAX and LTE. If time permits, validation with an 802.11 testbed is envisioned.&lt;br /&gt;
** ''Required Experience:'' C++, some knowledge of radio propagation is a plus&lt;br /&gt;
** ''Bonus Experience:'' physical layer modeling and simulation, wireless networking&lt;br /&gt;
** ''Interests:'' wireless networking, physical layer modeling and simulation&lt;br /&gt;
** ''Difficulty'': medium&lt;br /&gt;
** ''Recommended readings'': ns-3 propagation models (files &amp;lt;code&amp;gt;*propagation*.{cc,h}&amp;lt;/code&amp;gt;), [http://www.ece.cmu.edu/~andersoe/papers/simulation-wiopt.pdf The Impact of Directional Antenna Models on Simulation Accuracy]&lt;br /&gt;
&lt;br /&gt;
==== Model Store ====&lt;br /&gt;
&lt;br /&gt;
Mentors:  TBD&lt;br /&gt;
&lt;br /&gt;
* '''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 &amp;quot;model store&amp;quot; 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.&lt;br /&gt;
* ''[[App Store Technical Requirements]]''&lt;br /&gt;
* ''Required Experience:''  Python (ns-3 build system is Python-based)&lt;br /&gt;
* ''Bonus Experience:'' Packaging frameworks, C++&lt;br /&gt;
* ''Interests:'' Build systems, packaging&lt;br /&gt;
* ''Difficulty:'' Medium to high&lt;br /&gt;
* ''Recommended reading:'' ns-3's waf build system, package management tools, Firefox plugin management, Apple App Store&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: &amp;lt;s&amp;gt;[mailto:fw@strlen.de Florian Westphal]&amp;lt;/s&amp;gt; '''Note:''' We do not have a mentor identified for this project.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;'''Network Simulation Cradle for IPv4.'''&amp;lt;/s&amp;gt; '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
** ''Difficulty:''  medium to high&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** [http://research.wand.net.nz/software/nsc.php Network Simulation Cradle]&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
&lt;br /&gt;
Mentors: &amp;lt;s&amp;gt;[mailto:craigdo@ee.washington.edu  Craig Dowell]&amp;lt;/s&amp;gt;  '''Note:''' We probably do not have a mentor for this project in 2010.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
** ''Difficulty:'' medium to high&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** [http://www.emulab.net Emulab]&lt;br /&gt;
&lt;br /&gt;
==== Peer to Peer and Content Based Routing ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' P2P, mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' P2P, DHT, MANETs, routing.&lt;br /&gt;
** ''Difficulty:'' medium&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''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. &lt;br /&gt;
*** ''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&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Satellite network stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:tommaso.pecorella@unifi.it Tommaso Pecorella]&lt;br /&gt;
&lt;br /&gt;
* '''Satellite networks''' ns-2  incorporates support for satellite network simulations (http://ala.isti.cnr.it/wnlab/tdmadama). Since that work some relevant standards have been approved, particularly by ETSI. This project would investigate the architecture needed to support ETSI-BSM interfaces and some simple satellite return links, like bent-pipe and basic DVB-RCS.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Satellite communication protocols, ns-2, basic UML&lt;br /&gt;
** ''Interests:'' Satellite systems, Bandwidth-on-demand, control theory&lt;br /&gt;
** ''Difficulty'': medium to difficult (depending on the implementation details the student want to include)&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [http://www.etsi.org/website/technologies/broadbandsatmultimedia.aspx Broadband Satellite Multimedia] &lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-RCS Digital Video Broadcasting - Return Channel via Satellite]&lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-S2 Digital Video Broadcasting - Satellite - Second Generation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Cognitive Radio Networks ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* ''' 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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' MANETs, routing, cognitive networks.&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading'': &lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''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&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008&lt;br /&gt;
&lt;br /&gt;
==== Transport ====&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:jpelkey@gatech.edu Josh Pelkey], [mailto:tomh@tomh.org Tom Henderson]&lt;br /&gt;
&lt;br /&gt;
* '''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.  &lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007593.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:alfredo.grieco@gmail.com  Alfredo Grieco]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007594.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
** ''Difficulty:'' medium-to-high, because there may be a dependency on Click router&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
* '''CSMA/CD and Aloha'''&lt;br /&gt;
** ''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 &amp;quot;Computer Networking: A Top-Down Approach.&amp;quot;.&lt;br /&gt;
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.&lt;br /&gt;
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.&lt;br /&gt;
** ''Interests:'' networking, C++ programming&amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy&lt;br /&gt;
** ''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.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2011Projects&amp;diff=5150</id>
		<title>GSOC2011Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2011Projects&amp;diff=5150"/>
		<updated>2011-01-28T13:44:37Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Antenna Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left; width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/faqs GSoC Frequently Asked Questions]&lt;br /&gt;
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]&lt;br /&gt;
* [[GS02011StudentGuide |GSoC Student guide]]&lt;br /&gt;
* [[GS02011StudentApplicationTemplate |GSoC Student application template]]&lt;br /&gt;
* [[GSOC2011Projects |GSoC 2011 Ideas page]]&lt;br /&gt;
* [[GSOC2010Projects |GSoC 2010 Ideas page]] | [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]]&lt;br /&gt;
* [[GSOC2009Projects |GSoC 2009 Ideas page]] | [[GSOC2009AcceptedProjects |GSoC 2009 Accepted Projects]]&lt;br /&gt;
* [[GSOC2010OAReport |GSoC Organization Administrator guide]]&lt;br /&gt;
* ''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&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;float: left; width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Ns3GSoC2010Flyer.jpg]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GSoC 2011 Ideas =&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2011 effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About the ns-3 project ==&lt;br /&gt;
&lt;br /&gt;
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.10 in January 2011).  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.&lt;br /&gt;
&lt;br /&gt;
Our GSOC organizational admin is [mailto:suresh.lalith@gmail.com Lalith Suresh] and our backup org admin is [mailto:tomhend@u.washington.edu Tom Henderson].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 2011 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list] if you have an idea that you'd like to work on.  GSoC applicants are encouraged to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list]. Previous experience suggests that the more you discuss and refine your proposal on the mailing list beforehand, the more stronger a proposal it will develop into, and the higher your chances of being ranked high.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
* ''Difficulty:'' easy, medium or difficult&lt;br /&gt;
* ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Antenna Models ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz]&lt;br /&gt;
&lt;br /&gt;
* '''Antenna Radiation Patterns''' This project would implement support for antenna radiation patterns in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3. This project can have a large impact on the ns-3 simulator as it would allow several wireless physical layers to benefit from it, namely 802.11, WiMAX and LTE. If time permits, validation with an 802.11 testbed is envisioned.&lt;br /&gt;
** ''Required Experience:'' C++, some knowledge of radio propagation is a plus&lt;br /&gt;
** ''Bonus Experience:'' physical layer modeling and simulation, wireless networking&lt;br /&gt;
** ''Interests:'' wireless networking, physical layer modeling and simulation&lt;br /&gt;
** ''Difficulty'': medium&lt;br /&gt;
** ''Recommended readings'': ns-3 propagation models (files &amp;lt;code&amp;gt;*propagation*.{cc,h}&amp;lt;/code&amp;gt;), [http://www.ece.cmu.edu/~andersoe/papers/simulation-wiopt.pdf|The Impact of Directional Antenna Models on Simulation Accuracy]&lt;br /&gt;
&lt;br /&gt;
==== Model Store ====&lt;br /&gt;
&lt;br /&gt;
Mentors:  TBD&lt;br /&gt;
&lt;br /&gt;
* '''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 &amp;quot;model store&amp;quot; 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.&lt;br /&gt;
* ''[[App Store Technical Requirements]]''&lt;br /&gt;
* ''Required Experience:''  Python (ns-3 build system is Python-based)&lt;br /&gt;
* ''Bonus Experience:'' Packaging frameworks, C++&lt;br /&gt;
* ''Interests:'' Build systems, packaging&lt;br /&gt;
* ''Difficulty:'' Medium to high&lt;br /&gt;
* ''Recommended reading:'' ns-3's waf build system, package management tools, Firefox plugin management, Apple App Store&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: &amp;lt;s&amp;gt;[mailto:fw@strlen.de Florian Westphal]&amp;lt;/s&amp;gt; '''Note:''' We do not have a mentor identified for this project.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;'''Network Simulation Cradle for IPv4.'''&amp;lt;/s&amp;gt; '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
** ''Difficulty:''  medium to high&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** [http://research.wand.net.nz/software/nsc.php Network Simulation Cradle]&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
&lt;br /&gt;
Mentors: &amp;lt;s&amp;gt;[mailto:craigdo@ee.washington.edu  Craig Dowell]&amp;lt;/s&amp;gt;  '''Note:''' We probably do not have a mentor for this project in 2010.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
** ''Difficulty:'' medium to high&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** [http://www.emulab.net Emulab]&lt;br /&gt;
&lt;br /&gt;
==== Peer to Peer and Content Based Routing ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' P2P, mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' P2P, DHT, MANETs, routing.&lt;br /&gt;
** ''Difficulty:'' medium&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''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. &lt;br /&gt;
*** ''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&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Satellite network stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:tommaso.pecorella@unifi.it Tommaso Pecorella]&lt;br /&gt;
&lt;br /&gt;
* '''Satellite networks''' ns-2  incorporates support for satellite network simulations (http://ala.isti.cnr.it/wnlab/tdmadama). Since that work some relevant standards have been approved, particularly by ETSI. This project would investigate the architecture needed to support ETSI-BSM interfaces and some simple satellite return links, like bent-pipe and basic DVB-RCS.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Satellite communication protocols, ns-2, basic UML&lt;br /&gt;
** ''Interests:'' Satellite systems, Bandwidth-on-demand, control theory&lt;br /&gt;
** ''Difficulty'': medium to difficult (depending on the implementation details the student want to include)&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [http://www.etsi.org/website/technologies/broadbandsatmultimedia.aspx Broadband Satellite Multimedia] &lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-RCS Digital Video Broadcasting - Return Channel via Satellite]&lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-S2 Digital Video Broadcasting - Satellite - Second Generation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Cognitive Radio Networks ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* ''' 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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' MANETs, routing, cognitive networks.&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading'': &lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''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&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008&lt;br /&gt;
&lt;br /&gt;
==== Transport ====&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:jpelkey@gatech.edu Josh Pelkey], [mailto:tomh@tomh.org Tom Henderson]&lt;br /&gt;
&lt;br /&gt;
* '''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.  &lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007593.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:alfredo.grieco@gmail.com  Alfredo Grieco]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007594.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
** ''Difficulty:'' medium-to-high, because there may be a dependency on Click router&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
* '''CSMA/CD and Aloha'''&lt;br /&gt;
** ''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 &amp;quot;Computer Networking: A Top-Down Approach.&amp;quot;.&lt;br /&gt;
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.&lt;br /&gt;
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.&lt;br /&gt;
** ''Interests:'' networking, C++ programming&amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy&lt;br /&gt;
** ''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.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2011Projects&amp;diff=5149</id>
		<title>GSOC2011Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2011Projects&amp;diff=5149"/>
		<updated>2011-01-28T13:30:03Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Antenna Models */ Fix formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left; width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/faqs GSoC Frequently Asked Questions]&lt;br /&gt;
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]&lt;br /&gt;
* [[GS02011StudentGuide |GSoC Student guide]]&lt;br /&gt;
* [[GS02011StudentApplicationTemplate |GSoC Student application template]]&lt;br /&gt;
* [[GSOC2011Projects |GSoC 2011 Ideas page]]&lt;br /&gt;
* [[GSOC2010Projects |GSoC 2010 Ideas page]] | [[GSOC2010AcceptedProjects |GSoC 2010 Accepted Projects]]&lt;br /&gt;
* [[GSOC2009Projects |GSoC 2009 Ideas page]] | [[GSOC2009AcceptedProjects |GSoC 2009 Accepted Projects]]&lt;br /&gt;
* [[GSOC2010OAReport |GSoC Organization Administrator guide]]&lt;br /&gt;
* ''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&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;float: left; width: 50%&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Ns3GSoC2010Flyer.jpg]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= GSoC 2011 Ideas =&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2011 effort.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About the ns-3 project ==&lt;br /&gt;
&lt;br /&gt;
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.10 in January 2011).  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.&lt;br /&gt;
&lt;br /&gt;
Our GSOC organizational admin is [mailto:suresh.lalith@gmail.com Lalith Suresh] and our backup org admin is [mailto:tomhend@u.washington.edu Tom Henderson].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 2011 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list] if you have an idea that you'd like to work on.  GSoC applicants are encouraged to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list]. Previous experience suggests that the more you discuss and refine your proposal on the mailing list beforehand, the more stronger a proposal it will develop into, and the higher your chances of being ranked high.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
* ''Difficulty:'' easy, medium or difficult&lt;br /&gt;
* ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Antenna Models ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz]&lt;br /&gt;
&lt;br /&gt;
* '''Antenna Radiation Patterns''' This project would implement support for antenna radiation patterns in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3.&lt;br /&gt;
** ''Required Experience:'' C++, some knowledge of radio propagation is a plus&lt;br /&gt;
** ''Bonus Experience:'' physical layer modeling and simulation, wireless networking&lt;br /&gt;
** ''Interests:'' wireless networking, physical layer modeling and simulation&lt;br /&gt;
** ''Difficulty'': medium&lt;br /&gt;
&lt;br /&gt;
==== Model Store ====&lt;br /&gt;
&lt;br /&gt;
Mentors:  TBD&lt;br /&gt;
&lt;br /&gt;
* '''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 &amp;quot;model store&amp;quot; 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.&lt;br /&gt;
* ''[[App Store Technical Requirements]]''&lt;br /&gt;
* ''Required Experience:''  Python (ns-3 build system is Python-based)&lt;br /&gt;
* ''Bonus Experience:'' Packaging frameworks, C++&lt;br /&gt;
* ''Interests:'' Build systems, packaging&lt;br /&gt;
* ''Difficulty:'' Medium to high&lt;br /&gt;
* ''Recommended reading:'' ns-3's waf build system, package management tools, Firefox plugin management, Apple App Store&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: &amp;lt;s&amp;gt;[mailto:fw@strlen.de Florian Westphal]&amp;lt;/s&amp;gt; '''Note:''' We do not have a mentor identified for this project.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;'''Network Simulation Cradle for IPv4.'''&amp;lt;/s&amp;gt; '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
** ''Difficulty:''  medium to high&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** [http://research.wand.net.nz/software/nsc.php Network Simulation Cradle]&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
&lt;br /&gt;
Mentors: &amp;lt;s&amp;gt;[mailto:craigdo@ee.washington.edu  Craig Dowell]&amp;lt;/s&amp;gt;  '''Note:''' We probably do not have a mentor for this project in 2010.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
** ''Difficulty:'' medium to high&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** [http://www.emulab.net Emulab]&lt;br /&gt;
&lt;br /&gt;
==== Peer to Peer and Content Based Routing ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' P2P, mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' P2P, DHT, MANETs, routing.&lt;br /&gt;
** ''Difficulty:'' medium&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''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. &lt;br /&gt;
*** ''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&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Satellite network stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:tommaso.pecorella@unifi.it Tommaso Pecorella]&lt;br /&gt;
&lt;br /&gt;
* '''Satellite networks''' ns-2  incorporates support for satellite network simulations (http://ala.isti.cnr.it/wnlab/tdmadama). Since that work some relevant standards have been approved, particularly by ETSI. This project would investigate the architecture needed to support ETSI-BSM interfaces and some simple satellite return links, like bent-pipe and basic DVB-RCS.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Satellite communication protocols, ns-2, basic UML&lt;br /&gt;
** ''Interests:'' Satellite systems, Bandwidth-on-demand, control theory&lt;br /&gt;
** ''Difficulty'': medium to difficult (depending on the implementation details the student want to include)&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [http://www.etsi.org/website/technologies/broadbandsatmultimedia.aspx Broadband Satellite Multimedia] &lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-RCS Digital Video Broadcasting - Return Channel via Satellite]&lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-S2 Digital Video Broadcasting - Satellite - Second Generation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Cognitive Radio Networks ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* ''' 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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' MANETs, routing, cognitive networks.&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading'': &lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''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&lt;br /&gt;
*** ''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.&lt;br /&gt;
*** ''Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis'' by M. Caleffi - University of Naples Federico II - December 2008&lt;br /&gt;
&lt;br /&gt;
==== Transport ====&lt;br /&gt;
&lt;br /&gt;
'''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'''&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:jpelkey@gatech.edu Josh Pelkey], [mailto:tomh@tomh.org Tom Henderson]&lt;br /&gt;
&lt;br /&gt;
* '''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.  &lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007593.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:alfredo.grieco@gmail.com  Alfredo Grieco]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
** ''Background mail message:'' http://mailman.isi.edu/pipermail/ns-developers/2010-March/007594.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
** ''Difficulty:'' medium-to-high, because there may be a dependency on Click router&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
* '''CSMA/CD and Aloha'''&lt;br /&gt;
** ''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 &amp;quot;Computer Networking: A Top-Down Approach.&amp;quot;.&lt;br /&gt;
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.&lt;br /&gt;
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.&lt;br /&gt;
** ''Interests:'' networking, C++ programming&amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy&lt;br /&gt;
** ''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.&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
** ''Difficulty:'' depends on what functionality the student proposes to implement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5110</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5110"/>
		<updated>2011-01-24T22:07:25Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on March 24th (Thursday) or March 26th (Saturday). That's one day before or after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name. If you can only attend a particular day add a note '''Sat. only/Thur. only'''&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz (Saturday preferred)&lt;br /&gt;
* Felipe Perrone (I can perhaps make it on Saturday, but that will be tight. Thursday would work much better for me.)&lt;br /&gt;
&lt;br /&gt;
= Tentative Topics =&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5109</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5109"/>
		<updated>2011-01-24T22:03:10Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Attendence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on March 24th (Thursday) or March 26th (Saturday). That's one day before or after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name. If you can only attend a particular day add a note '''Sat. only/Thur. only'''&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz (Saturday preferred)&lt;br /&gt;
* Felipe Perrone (I can perhaps make it on Saturday, but that will be tight. Thursday would work much better for me.)&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5108</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5108"/>
		<updated>2011-01-24T21:58:16Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on March 24th (Thursday) or March 26th (Saturday). That's one day before or after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
You can have look at the tentative Simutools program for Thursday here: http://www.simutools.org/2011/Programme/Schedule&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name and a note '''Sat. only/Thur. only''' if you can only attend a particular day.&lt;br /&gt;
&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz (Saturday preferred)&lt;br /&gt;
* Felipe Perrone (I can perhaps make it on Saturday, but that will be tight. Thursday would work much better for me.)&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5107</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5107"/>
		<updated>2011-01-24T21:57:06Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Tentative Attendence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on March 24th (Thursday) or March 26th (Saturday). That's one day before or after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
If you'd like to attend, please add your name and a note '''Sat. only/Thur. only''' if you can only attend a particular day.&lt;br /&gt;
&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz (Saturday preferred)&lt;br /&gt;
* Felipe Perrone (I can perhaps make it on Saturday, but that will be tight. Thursday would work much better for me.)&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5105</id>
		<title>DevelMeetingMar2011</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=DevelMeetingMar2011&amp;diff=5105"/>
		<updated>2011-01-24T08:30:39Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: Create page for a potential devel meeting in March 2011&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
= Location =&lt;br /&gt;
&lt;br /&gt;
Will be held in Barcelona, on March 24th (Thursday) or March 26th (Saturday). That's one day before or after WNS3 collocated with Simutools 2011.&lt;br /&gt;
&lt;br /&gt;
= Tentative Attendence =&lt;br /&gt;
&lt;br /&gt;
Please add your name if you'd like to attend.&lt;br /&gt;
&lt;br /&gt;
* Tom Henderson&lt;br /&gt;
* Nicola Baldo&lt;br /&gt;
* Ruben Merz&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2010Projects&amp;diff=4041</id>
		<title>GSOC2010Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2010Projects&amp;diff=4041"/>
		<updated>2010-03-08T20:32:03Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Routing */  Add info and links on ns-click&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: Azure; border: 1px solid rgb(153, 153, 153); padding:1em; text-align: center&amp;quot;&amp;gt;&lt;br /&gt;
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. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;padding: 2em &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs GSoC Frequently Asked Questions]&lt;br /&gt;
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]&lt;br /&gt;
* [[GS02010StudentGuide |GSoC Student guide]]&lt;br /&gt;
* [[GS02010StudentApplicationTemplate |GSoC Student application template]]&lt;br /&gt;
* [[GSOC2010Projects |GSoC 2010 Ideas page]]&lt;br /&gt;
* [[GSOC2009Projects |GSoC 2009 Ideas page]]&lt;br /&gt;
* ''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&lt;br /&gt;
* [[Media:ns3GSoC2010Flyer.jpg | ns3's GSoC 2010 Flyer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= GSoC 2010 Ideas =&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2010 effort.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About ns-3 Project ==&lt;br /&gt;
&lt;br /&gt;
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 [http://mailman.isi.edu/mailman/listinfo/ns-developers 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  That will help you develop the idea and present a concrete, meaningful application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Transport ====&lt;br /&gt;
&lt;br /&gt;
* '''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.  &lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:mathieu.lacage@sophia.inria.fr Mathieu Lacage]&lt;br /&gt;
&lt;br /&gt;
* '''Antenna radiation pattern.''' This project would implement support for [http://en.wikipedia.org/wiki/Radiation_pattern antenna radiation patterns] in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' physical layer modeling and simulation, wireless networking&lt;br /&gt;
**''Interests:'' wireless networking, physical layer modeling and simulation&lt;br /&gt;
** ''Difficulty:''&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Click, routing architectures, routing protocols&lt;br /&gt;
** ''Interests:'' Protocol development, routing architecture&lt;br /&gt;
** ''Difficulty:'' high&lt;br /&gt;
** ''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].&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:fw@strlen.de Florian Westphal]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:craigdo@ee.washington.edu  Craig Dowell]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
==== Peer to Peer and Content Based Routing ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' P2P, mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' P2P, DHT, MANETs, routing.&lt;br /&gt;
** ''Difficulty:'' medium&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** 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.&lt;br /&gt;
*** 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. &lt;br /&gt;
*** 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&lt;br /&gt;
*** Caleffi, M.; Paura, L.; , &amp;quot;P2P over MANET: Indirect tree-based routing,&amp;quot; Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on , vol., no., pp.1-5, 9-13 March 2009.&lt;br /&gt;
*** M. Caleffi, &amp;quot;Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis&amp;quot;, University of Naples Federico II, December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
The following are additional project ideas that the ns-3 team has highlighted as important projects to support.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''WPAN Device Models.'''&lt;br /&gt;
* '''802.11 WDS Support for nqsta.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''CSMA/CD and Aloha'''&lt;br /&gt;
&lt;br /&gt;
** ''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 &amp;quot;Computer Networking: A Top-Down Approach.&amp;quot;.&lt;br /&gt;
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.&lt;br /&gt;
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.&lt;br /&gt;
** ''Interests:'' networking, C++ programming&amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
** ''Difficulty:''&lt;br /&gt;
** ''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]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' Java, C&lt;br /&gt;
** ''Bonus Experience:'' JNI&lt;br /&gt;
** ''Interests:'' Java, Java native code, simulation, P2P&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''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]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Propose Your Own Idea ==&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br/&amp;gt;&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: GhostWhite; border: 1px solid rgb(153, 153, 153); padding: 1em&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When adding a new idea proposal please make sure you use the following format:&lt;br /&gt;
&lt;br /&gt;
==== Category of Idea ====&lt;br /&gt;
&lt;br /&gt;
Mentor: [mailto:mentor-email mentor-name].&lt;br /&gt;
&lt;br /&gt;
* '''title of the idea.'''  Concise description of the idea. Please make sure the description is clear enough for the students to understand.&lt;br /&gt;
** ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
** ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
** ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project. &amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy, medium or difficult&lt;br /&gt;
** ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot; padding: 0em 0em 3em 0em&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Satellite network stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:tommaso.pecorella@unifi.it Tommaso Pecorella]&lt;br /&gt;
&lt;br /&gt;
* '''Satellite networks''' ns-2  incorporates support for satellite network simulations (http://ala.isti.cnr.it/wnlab/tdmadama). Since that work some relevant standards have been approved, particularly by ETSI. This project would investigate the architecture needed to support ETSI-BSM interfaces and some simple satellite return links, like bent-pipe and basic DVB-RCS.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Satellite communication protocols, ns-2, basic UML&lt;br /&gt;
** ''Interests:'' Satellite systems, Bandwidth-on-demand, control theory&lt;br /&gt;
** ''Difficulty'': medium to difficult (depending on the implementation details the student want to include)&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [http://www.etsi.org/website/technologies/broadbandsatmultimedia.aspx Broadband Satellite Multimedia] &lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-RCS Digital Video Broadcasting - Return Channel via Satellite]&lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-S2 Digital Video Broadcasting - Satellite - Second Generation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Cognitive Radio Networks ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* ''' 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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' MANETs, routing, cognitive networks.&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading'': &lt;br /&gt;
*** 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.&lt;br /&gt;
*** Khalife, H.; Malouch, N.; Fdida, S.; , &amp;quot;Multihop cognitive radio networks: to route or not to route,&amp;quot; Network, IEEE , vol.23, no.4, pp.20-25, July-August 2009&lt;br /&gt;
*** 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.&lt;br /&gt;
*** M. Caleffi, &amp;quot;Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis&amp;quot;, University of Naples Federico II, December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY models  ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:nbaldo@cttc.es Nicola Baldo], [mailto:mmiozzo@cttc.es Marco Miozzo] &lt;br /&gt;
&lt;br /&gt;
* '''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:&lt;br /&gt;
*# Frequency Division Duplex PHY layer based on OFDMA/SC-FDMA (the [[#spectrum|ns-3 spectrum framework]]) could be used for this purpose)&lt;br /&gt;
*# Medium Access Control (scheduling, timing, HARQ)&lt;br /&gt;
*# Radio Link Control (RLC) (transparent mode (TM), unacknowledged mode (UM), acknowledged mode (AM))&lt;br /&gt;
** ''Required Experience:'' C++, generic understanding of PHY and MAC layers&lt;br /&gt;
** ''Bonus Experience:'' OFDM/OFDMA, HARQ&lt;br /&gt;
** ''Interests:'' 4G mobile communications&lt;br /&gt;
** ''Difficulty:'' medium to difficult (depending on what functionality the student proposes to implement)&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&amp;lt;bibtex&amp;gt;@book{sesia2009lte,&lt;br /&gt;
  title={LTE, The UMTS Long Term Evolution: From Theory to Practice},&lt;br /&gt;
  author={S. Sesia and I. Toufik and M. Baker},&lt;br /&gt;
  year={2009},&lt;br /&gt;
  publisher={Wiley Publishing}&lt;br /&gt;
}&amp;lt;/bibtex&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;spectrum&amp;quot;&amp;gt;&amp;lt;bibtex&amp;gt;@article{baldo-spectrum,&lt;br /&gt;
  title={Spectrum-aware Channel and PHY layer modeling for ns3},&lt;br /&gt;
  author={N. Baldo and M. Miozzo},&lt;br /&gt;
 howpublished = {ACM NSTools},&lt;br /&gt;
 address = {Pisa, Italy},&lt;br /&gt;
 month = {October},&lt;br /&gt;
 year = {2009},&lt;br /&gt;
 url = {http://www.dei.unipd.it/~baldo/mypapers/baldo2009spectrum.pdf}&lt;br /&gt;
}&amp;lt;/bibtex&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Underwater Acoustic Network  ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:lentracy@u.washington.edu Leonard Tracy]&lt;br /&gt;
&lt;br /&gt;
* ''' 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).&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:''  ns-3 UAN module, acoustic communications&lt;br /&gt;
** ''Interests:'' AUV vehicles, acoustic communications, wireless networking&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [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 &lt;br /&gt;
*** [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,&amp;quot; vol.42, No.1, Spring 2008, pp.103-116.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2010Projects&amp;diff=4040</id>
		<title>GSOC2010Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2010Projects&amp;diff=4040"/>
		<updated>2010-03-08T20:25:53Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* MAC and PHY Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: Azure; border: 1px solid rgb(153, 153, 153); padding:1em; text-align: center&amp;quot;&amp;gt;&lt;br /&gt;
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. &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;padding: 2em &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs GSoC Frequently Asked Questions]&lt;br /&gt;
* [http://en.flossmanuals.net/GSoCMentoringGuide GSoC Mentors Guide]&lt;br /&gt;
* [[GS02010StudentGuide |GSoC Student guide]]&lt;br /&gt;
* [[GS02010StudentApplicationTemplate |GSoC Student application template]]&lt;br /&gt;
* [[GSOC2010Projects |GSoC 2010 Ideas page]]&lt;br /&gt;
* [[GSOC2009Projects |GSoC 2009 Ideas page]]&lt;br /&gt;
* ''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&lt;br /&gt;
* [[Media:ns3GSoC2010Flyer.jpg | ns3's GSoC 2010 Flyer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
'''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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= GSoC 2010 Ideas =&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas for ns-3's [http://code.google.com/soc Google Summer of Code] 2010 effort.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About ns-3 Project ==&lt;br /&gt;
&lt;br /&gt;
ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 [http://mailman.isi.edu/mailman/listinfo/ns-developers 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  That will help you develop the idea and present a concrete, meaningful application.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Transport ====&lt;br /&gt;
&lt;br /&gt;
* '''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.  &lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Transport protocols or TCP&lt;br /&gt;
** ''Interests:'' TCP and transport protocol performance&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:mathieu.lacage@sophia.inria.fr Mathieu Lacage]&lt;br /&gt;
&lt;br /&gt;
* '''Antenna radiation pattern.''' This project would implement support for [http://en.wikipedia.org/wiki/Radiation_pattern antenna radiation patterns] in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' physical layer modeling and simulation, wireless networking&lt;br /&gt;
**''Interests:'' wireless networking, physical layer modeling and simulation&lt;br /&gt;
** ''Difficulty:''&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Click, routing architectures, routing protocols&lt;br /&gt;
** ''Interests:'' Protocol development, routing architecture&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:fw@strlen.de Florian Westphal]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:craigdo@ee.washington.edu  Craig Dowell]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
==== Peer to Peer and Content Based Routing ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' P2P, mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' P2P, DHT, MANETs, routing.&lt;br /&gt;
** ''Difficulty:'' medium&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
*** 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.&lt;br /&gt;
*** 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. &lt;br /&gt;
*** 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&lt;br /&gt;
*** Caleffi, M.; Paura, L.; , &amp;quot;P2P over MANET: Indirect tree-based routing,&amp;quot; Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on , vol., no., pp.1-5, 9-13 March 2009.&lt;br /&gt;
*** M. Caleffi, &amp;quot;Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis&amp;quot;, University of Naples Federico II, December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
The following are additional project ideas that the ns-3 team has highlighted as important projects to support.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''WPAN Device Models.'''&lt;br /&gt;
* '''802.11 WDS Support for nqsta.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''CSMA/CD and Aloha'''&lt;br /&gt;
&lt;br /&gt;
** ''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 &amp;quot;Computer Networking: A Top-Down Approach.&amp;quot;.&lt;br /&gt;
** ''Required Experience:'' basic C++, know what aloha and CSMA/CD are.&lt;br /&gt;
** ''Bonus Experience:'' ns-3 programming, contributions to open source projects.&lt;br /&gt;
** ''Interests:'' networking, C++ programming&amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
** ''Difficulty:''&lt;br /&gt;
** ''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]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' Java, C&lt;br /&gt;
** ''Bonus Experience:'' JNI&lt;br /&gt;
** ''Interests:'' Java, Java native code, simulation, P2P&lt;br /&gt;
** ''Difficulty:'' &lt;br /&gt;
** ''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]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Propose Your Own Idea ==&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br/&amp;gt;&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: GhostWhite; border: 1px solid rgb(153, 153, 153); padding: 1em&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When adding a new idea proposal please make sure you use the following format:&lt;br /&gt;
&lt;br /&gt;
==== Category of Idea ====&lt;br /&gt;
&lt;br /&gt;
Mentor: [mailto:mentor-email mentor-name].&lt;br /&gt;
&lt;br /&gt;
* '''title of the idea.'''  Concise description of the idea. Please make sure the description is clear enough for the students to understand.&lt;br /&gt;
** ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
** ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
** ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project. &amp;lt;br/&amp;gt;&lt;br /&gt;
** ''Difficulty:'' easy, medium or difficult&lt;br /&gt;
** ''Recommended reading:'' pointers to documentation, papers, specific bugs, etc.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot; padding: 0em 0em 3em 0em&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Satellite network stack ====&lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:tommaso.pecorella@unifi.it Tommaso Pecorella]&lt;br /&gt;
&lt;br /&gt;
* '''Satellite networks''' ns-2  incorporates support for satellite network simulations (http://ala.isti.cnr.it/wnlab/tdmadama). Since that work some relevant standards have been approved, particularly by ETSI. This project would investigate the architecture needed to support ETSI-BSM interfaces and some simple satellite return links, like bent-pipe and basic DVB-RCS.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' Satellite communication protocols, ns-2, basic UML&lt;br /&gt;
** ''Interests:'' Satellite systems, Bandwidth-on-demand, control theory&lt;br /&gt;
** ''Difficulty'': medium to difficult (depending on the implementation details the student want to include)&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [http://www.etsi.org/website/technologies/broadbandsatmultimedia.aspx Broadband Satellite Multimedia] &lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-RCS Digital Video Broadcasting - Return Channel via Satellite]&lt;br /&gt;
*** [http://en.wikipedia.org/wiki/DVB-S2 Digital Video Broadcasting - Satellite - Second Generation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====  Cognitive Radio Networks ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:marcello.caleffi@unina.it Marcello Caleffi]&lt;br /&gt;
&lt;br /&gt;
* ''' 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.&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' mobile ad hoc networks (MANETs), ns-2&lt;br /&gt;
** ''Interests:'' MANETs, routing, cognitive networks.&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading'': &lt;br /&gt;
*** 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.&lt;br /&gt;
*** Khalife, H.; Malouch, N.; Fdida, S.; , &amp;quot;Multihop cognitive radio networks: to route or not to route,&amp;quot; Network, IEEE , vol.23, no.4, pp.20-25, July-August 2009&lt;br /&gt;
*** 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.&lt;br /&gt;
*** M. Caleffi, &amp;quot;Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis&amp;quot;, University of Naples Federico II, December 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY models  ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:nbaldo@cttc.es Nicola Baldo], [mailto:mmiozzo@cttc.es Marco Miozzo] &lt;br /&gt;
&lt;br /&gt;
* '''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:&lt;br /&gt;
*# Frequency Division Duplex PHY layer based on OFDMA/SC-FDMA (the [[#spectrum|ns-3 spectrum framework]]) could be used for this purpose)&lt;br /&gt;
*# Medium Access Control (scheduling, timing, HARQ)&lt;br /&gt;
*# Radio Link Control (RLC) (transparent mode (TM), unacknowledged mode (UM), acknowledged mode (AM))&lt;br /&gt;
** ''Required Experience:'' C++, generic understanding of PHY and MAC layers&lt;br /&gt;
** ''Bonus Experience:'' OFDM/OFDMA, HARQ&lt;br /&gt;
** ''Interests:'' 4G mobile communications&lt;br /&gt;
** ''Difficulty:'' medium to difficult (depending on what functionality the student proposes to implement)&lt;br /&gt;
** ''Recommended reading:''&lt;br /&gt;
&amp;lt;bibtex&amp;gt;@book{sesia2009lte,&lt;br /&gt;
  title={LTE, The UMTS Long Term Evolution: From Theory to Practice},&lt;br /&gt;
  author={S. Sesia and I. Toufik and M. Baker},&lt;br /&gt;
  year={2009},&lt;br /&gt;
  publisher={Wiley Publishing}&lt;br /&gt;
}&amp;lt;/bibtex&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;spectrum&amp;quot;&amp;gt;&amp;lt;bibtex&amp;gt;@article{baldo-spectrum,&lt;br /&gt;
  title={Spectrum-aware Channel and PHY layer modeling for ns3},&lt;br /&gt;
  author={N. Baldo and M. Miozzo},&lt;br /&gt;
 howpublished = {ACM NSTools},&lt;br /&gt;
 address = {Pisa, Italy},&lt;br /&gt;
 month = {October},&lt;br /&gt;
 year = {2009},&lt;br /&gt;
 url = {http://www.dei.unipd.it/~baldo/mypapers/baldo2009spectrum.pdf}&lt;br /&gt;
}&amp;lt;/bibtex&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Underwater Acoustic Network  ==== &lt;br /&gt;
&lt;br /&gt;
Mentors: [mailto:lentracy@u.washington.edu Leonard Tracy]&lt;br /&gt;
&lt;br /&gt;
* ''' 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).&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:''  ns-3 UAN module, acoustic communications&lt;br /&gt;
** ''Interests:'' AUV vehicles, acoustic communications, wireless networking&lt;br /&gt;
** ''Difficulty:'' Medium&lt;br /&gt;
** ''Recommended reading:'' &lt;br /&gt;
*** [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 &lt;br /&gt;
*** [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,&amp;quot; vol.42, No.1, Spring 2008, pp.103-116.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2009Projects&amp;diff=2471</id>
		<title>GSOC2009Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2009Projects&amp;diff=2471"/>
		<updated>2009-03-19T21:15:09Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* MAC and PHY Models */  Antenna radiation pattern implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas, expectations, and requirements for ns-3's [http://code.google.com/soc Google Summer of Code] 2009 effort.  ns-3 is pleased to announce that it has been accepted to the GSoC program for the second year in a row, and looks forward to talking with students about their applications!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student Guidelines ==&lt;br /&gt;
&lt;br /&gt;
The ns-3 team is looking for three things from every successful GSoC project:&lt;br /&gt;
* Developing code that can be incorporated back into the main codebase and utilized by a variety of users.&lt;br /&gt;
* Developing new members that will remain part of the team and contribute to the ns-3 effort even after GSoC ends.&lt;br /&gt;
* Providing GSoC students with experience and ideas that will be useful to them in their careers and/or research.&lt;br /&gt;
&lt;br /&gt;
Based on the ns-3 team's experiences in the 2008 Google Summer of Code, the most important factor in the success of an application and project is communication.  That process begins in the application phase.  Without joining the [http://mailman.isi.edu/mailman/listinfo/ns-developers mailing list] and starting some discussion of your ideas, it is unlikely your application will be complete or rich enough to be competitive.  Please feel free to discuss your proposed technical approach, plan, and other factors on the mailing list while developing your application.  In addition to helping you develop the necessary details, focus, and priorities to write a good application, that will also demonstrate your commitment and willingness to dedicate time to the effort.  During the program, every student is expected to communicate regularly with their mentor, as well as to participate on the [http://mailman.isi.edu/mailman/listinfo/ns-developers development mailing list] and IRC chats.&lt;br /&gt;
&lt;br /&gt;
It is also important for every student to commit fully to the effort.  Applicants should recognize that being accepted into GSoC is a serious commitment and will be the focus of their time over the duration of the program.  Any existing commitments for class, other jobs, etc should all be discussed as part of your application.&lt;br /&gt;
&lt;br /&gt;
Additional slides about the ns-3 GSoC project are also available, from a [http://www.nsnam.org/docs/gsoc.ppt GSoC Infosession] at the University of Washington on March 5th, 2009.&lt;br /&gt;
&lt;br /&gt;
== Application Template ==&lt;br /&gt;
&lt;br /&gt;
The following are specific items the ns-3 teams requests GSoC applicants include in their proposal.&lt;br /&gt;
&lt;br /&gt;
* '''Project Proposal''' What is the specific topic or area of interest you are proposing to work on?&lt;br /&gt;
* '''Interest.''' Why are you particularly attracted to this project?&lt;br /&gt;
** ''Future Plans.''  We are especially interested in GSoC applicants looking to pursue research or work in related areas in the future, so be sure to note any relevant plans you may have.&lt;br /&gt;
* '''Background.'''  What experience or training do you have that makes you best suited to this project.&lt;br /&gt;
** ''Education.'' Include your academic or professional background related to data networking, as well as any software experience with C++ and/or Python.&lt;br /&gt;
** ''Work.''  Be sure to denote any work experience you have in relevant areas.&lt;br /&gt;
** ''Research.'' Be sure to denote any research experience you have in relevant areas.&lt;br /&gt;
* '''Approach.'''  What is your technical plan for achieving the goals of the project?  What components and functionality will have to be developed, integrated, etc?&lt;br /&gt;
* '''Deliverables.''' What do you plan as a mergeable code output of your GSoC effort?  Please keep in mind that the program is only 10 weeks long and try to incorporate this realistically in the plan.&lt;br /&gt;
* '''Plan.'''  What is your task schedule to implement your technical plan and develop your deliverables?&lt;br /&gt;
* '''Timezone.'''  What are your expected work hours (in UTC)?  What is your physical location for the summer?  The project places no requirements on these but it will effect chat scheduling as well as mentor availability and selection.&lt;br /&gt;
* '''Commitments.'''  Do you have any other commitments over the summer that would impair your ability to participate in the project, e.g., classes, thesis defense, existing work commitments, etc?  Note: The project does not expect students to take personal vacations during this period; if there is a personal conflict planned, please state when, and how you would make up the time.&lt;br /&gt;
&lt;br /&gt;
Of these, the ''Approach'' and ''Deliverables'' elements will require significant thought, development, and discussion.  Applicants are advised to bring their ideas to the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list] and open up a discussion with the ns-3 team to develop these portions of their application prior to submission.  Only applications that have well refined and developed technical objectives and plans are likely to be competitive.  The ns-3 team will provide comments and help refine proposals somewhat after they are initially submitted, but obviously the stronger they start the stronger they will be.  In the 2008 GSoC, our strongest student proposals were clearly those which had discussed their projects at length beforehand on the mailing list and on IRC.&lt;br /&gt;
&lt;br /&gt;
In addition, once GSoC proposals have been accepted and reviewed, promising candidates will be invited to &amp;quot;meet&amp;quot; some of the ns-3 team and discuss their project further in an IRC chat.&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 2009 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  That will help you develop the idea and present a concrete, meaningful application.&lt;br /&gt;
&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz], [mailto:mathieu.lacage@sophia.inria.fr Mathieu Lacage]&lt;br /&gt;
&lt;br /&gt;
* '''Minstrel rate control algorithm.''' [http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/minstrel Minstrel] is a rate control algorithm originally [https://www.ath9k.org/browser/trunk/ath_rate/minstrel/minstrel.txt?rev=2695 implemented in MadWifi]. This project would port the Minstrel rate control algorithm to the ns-3 802.11 MAC.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' WiFi, 802.11, wireless networking, rate control&lt;br /&gt;
**''Interests:'' wireless networking, protocol development, resource alloations, 802.11&lt;br /&gt;
&lt;br /&gt;
* '''Antenna radiation pattern''' This project would implement support for [http://en.wikipedia.org/wiki/Radiation_pattern antenna radiation patterns] in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' physical layer modeling and simulation, wireless networking&lt;br /&gt;
**''Interests:'' wireless networking, physical layer modeling and simulation&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
* '''Advanced Queues.'''  ns-3 currently implements only a basic FIFO queue.  This project would add support for and investigate more sophisticated queues, such as fair queuing, RED, and RIO.  This might be accomplished by porting from other projects, such as [http://www.isi.edu/nsnam/ns/doc/node69.html ns-2] or [http://lartc.org/howto/ Linux routing and traffic control] implementations.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics, Linux/BSD kernel, ns-2&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Click, routing architectures, routing protocols&lt;br /&gt;
** ''Interests:'' Protocol development, routing architecture&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
Mentors: [mailto:fw@strlen.de Florian Westphal]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
Mentors: [mailto:craigdo@ee.washington.edu  Craig Dowell]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
&lt;br /&gt;
The following are additional project ideas that the ns-3 team has highlighted as important projects to support.  &lt;br /&gt;
&lt;br /&gt;
==== Core Simulation Capabilities ====&lt;br /&gt;
&lt;br /&gt;
* '''Realtime Distributed Simulation.'''  This project would add support to ns-3 for running multiple instances distributed over several physical machines connected by and exchanging packet events over an IP network.  Achieving this would require adding tunneling devices to ns-3, and developing distributed simulation configuration and control utilizing [http://rpyc.wikidot.com/ RPYC].  Development would build from multiple instances on a single host to a cluster to which the student will be given access.&lt;br /&gt;
** ''Required Experience:'' BSD networking&lt;br /&gt;
** ''Bonus Experience:'' Python, RPC, distributed systems, cluster computing&lt;br /&gt;
** ''Interests:'' Distributed systems, parallel simulation, concurrency, cluster computing, high performance computing, scientific computing&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
&lt;br /&gt;
* '''WPAN Device Models.'''&lt;br /&gt;
* '''802.11 WDS Support for nqsta.'''&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
* '''Protolib Integration.'''  [http://cs.itd.nrl.navy.mil/work/protolib/index.php Protolib] is an application support library that provides networking, timer, threading, and other functionality to support cross platform application and protocol implementation.  It has previously been ported to enable programs based on the library to be executed in simulators such as sn-2 and OPNET.  This project would port Protolib to ns-3 and enable many existing and well known routing protocol implementations to be immediately used in ns-3.  Additionally, this may be followed by porting the Agent-J Java library (see below).&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' BSD networking, threading&lt;br /&gt;
** ''Interests:'' Protocol development, mobile ad hoc networking, simulation, cross platform development&lt;br /&gt;
&lt;br /&gt;
* '''Reactive Routing Protocols.'''  ns-3 currently includes an implementation of the popular OLSR protocol for proactive mobile wireless ad hoc routing.  This project would implement several additional routing protocols, focusing on reactive protocols such as AODV and DSR.  Much literature exists in this area to draw from, as well as implementations for both real systems and other simulators such as ns-2 and OPNET.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Mobile ad hoc networking, routing&lt;br /&gt;
** ''Interests:'' Mobile ad hoc networking, routing, protocol development&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
* '''Network Address Translation (NAT).''' NATs have become an essential part of practical real-life networking, and are an important current research topic as they are being [http://blog.internetworkexpert.com/2008/04/18/understanding-ipv6-nat-pt/ proposed even for IPv6].  [http://www.isoc.org/tools/blogs/ietfjournal/?p=117 NAT traversal] is also an important topic in many user and system monitoring applications.  This project would develop a NAT node model for ns-3, possibly by drawing upon the Linux NAT code, as well as common example configurations, such as home or small office connectivity, and start investigating these topics as time allows.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' NAT, network management/deployment, firewalling, C, Linux kernel&lt;br /&gt;
** ''Interests:'' Internet topology, IPv6, network management/deployment, network security, P2P&lt;br /&gt;
&lt;br /&gt;
* ''' Fragmentation and MTU Discovery.''' IPv4 packets may be fragmented as they travel the network and encounter smaller MTUs.  ns-3's packet objects include support for this, but the network stack does not currently implement fragmentation.  This project would begin by improving the MTU and fragmentation capabilies to be more realistic, possibly by drawing from code in the [http://cutebugs.net/files/wns2-yans.pdf yans simulator].  The project would then continue to add support for more research-oriented techniques such as [http://en.wikipedia.org/wiki/Path_MTU_discovery Path MTU discovery], particularly for IPv6 which fragments at the endpoints and must discover the proper MTU for a chosen path.&lt;br /&gt;
** ''Required Experience:'' IP&lt;br /&gt;
** ''Bonus Experience:'' IPv6&lt;br /&gt;
** ''Interests:'' IPv6, Internet topology, heterogenous networking&lt;br /&gt;
&lt;br /&gt;
* ''' Virtual NetDevices.'''  Virtual devices are network interfaces that are treated like any other device by the operating system, but do not actually correspond to hardware.  These are important to provide features such as tunneling overlays for tasks such as VPNs and IPv6--IPv4 traversal, or capabilities such as 802.1q VLAN tagging. For instance, the [http://trac.tools.ietf.org/group/irtf/trac/wiki/RoutingResearchGroup IRTF Routing Research Group] seems likely to suggest a so-called map-and-encaps architecture for helping the global core routing scalability problem.  This project would help define and implement an architecture for incorporating virtual devices into ns-3, and develop a few concrete instances of these devices, such as Ipv6-over-IPv4, VLANs, or providing multiple addresses per physical interface for routers to leverage.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' IPv6, QoS&lt;br /&gt;
** ''Interests:'' IPv6, QoS, tunneling, virtualization&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' Java, C&lt;br /&gt;
** ''Bonus Experience:'' JNI&lt;br /&gt;
** ''Interests:'' Java, Java native code, simulation, P2P&lt;br /&gt;
&lt;br /&gt;
* '''P2P Protocols.'''&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Again, all interested applicants are encouraged to discuss their proposal ideas on the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  Many developers also congregate on IRC via #ns-3 on freenode.net, and that is also an appropriate place to discuss ideas.&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2009Projects&amp;diff=2470</id>
		<title>GSOC2009Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2009Projects&amp;diff=2470"/>
		<updated>2009-03-19T21:11:24Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* MAC and PHY Models */  Minstrel implementation project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas, expectations, and requirements for ns-3's [http://code.google.com/soc Google Summer of Code] 2009 effort.  ns-3 is pleased to announce that it has been accepted to the GSoC program for the second year in a row, and looks forward to talking with students about their applications!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student Guidelines ==&lt;br /&gt;
&lt;br /&gt;
The ns-3 team is looking for three things from every successful GSoC project:&lt;br /&gt;
* Developing code that can be incorporated back into the main codebase and utilized by a variety of users.&lt;br /&gt;
* Developing new members that will remain part of the team and contribute to the ns-3 effort even after GSoC ends.&lt;br /&gt;
* Providing GSoC students with experience and ideas that will be useful to them in their careers and/or research.&lt;br /&gt;
&lt;br /&gt;
Based on the ns-3 team's experiences in the 2008 Google Summer of Code, the most important factor in the success of an application and project is communication.  That process begins in the application phase.  Without joining the [http://mailman.isi.edu/mailman/listinfo/ns-developers mailing list] and starting some discussion of your ideas, it is unlikely your application will be complete or rich enough to be competitive.  Please feel free to discuss your proposed technical approach, plan, and other factors on the mailing list while developing your application.  In addition to helping you develop the necessary details, focus, and priorities to write a good application, that will also demonstrate your commitment and willingness to dedicate time to the effort.  During the program, every student is expected to communicate regularly with their mentor, as well as to participate on the [http://mailman.isi.edu/mailman/listinfo/ns-developers development mailing list] and IRC chats.&lt;br /&gt;
&lt;br /&gt;
It is also important for every student to commit fully to the effort.  Applicants should recognize that being accepted into GSoC is a serious commitment and will be the focus of their time over the duration of the program.  Any existing commitments for class, other jobs, etc should all be discussed as part of your application.&lt;br /&gt;
&lt;br /&gt;
Additional slides about the ns-3 GSoC project are also available, from a [http://www.nsnam.org/docs/gsoc.ppt GSoC Infosession] at the University of Washington on March 5th, 2009.&lt;br /&gt;
&lt;br /&gt;
== Application Template ==&lt;br /&gt;
&lt;br /&gt;
The following are specific items the ns-3 teams requests GSoC applicants include in their proposal.&lt;br /&gt;
&lt;br /&gt;
* '''Project Proposal''' What is the specific topic or area of interest you are proposing to work on?&lt;br /&gt;
* '''Interest.''' Why are you particularly attracted to this project?&lt;br /&gt;
** ''Future Plans.''  We are especially interested in GSoC applicants looking to pursue research or work in related areas in the future, so be sure to note any relevant plans you may have.&lt;br /&gt;
* '''Background.'''  What experience or training do you have that makes you best suited to this project.&lt;br /&gt;
** ''Education.'' Include your academic or professional background related to data networking, as well as any software experience with C++ and/or Python.&lt;br /&gt;
** ''Work.''  Be sure to denote any work experience you have in relevant areas.&lt;br /&gt;
** ''Research.'' Be sure to denote any research experience you have in relevant areas.&lt;br /&gt;
* '''Approach.'''  What is your technical plan for achieving the goals of the project?  What components and functionality will have to be developed, integrated, etc?&lt;br /&gt;
* '''Deliverables.''' What do you plan as a mergeable code output of your GSoC effort?  Please keep in mind that the program is only 10 weeks long and try to incorporate this realistically in the plan.&lt;br /&gt;
* '''Plan.'''  What is your task schedule to implement your technical plan and develop your deliverables?&lt;br /&gt;
* '''Timezone.'''  What are your expected work hours (in UTC)?  What is your physical location for the summer?  The project places no requirements on these but it will effect chat scheduling as well as mentor availability and selection.&lt;br /&gt;
* '''Commitments.'''  Do you have any other commitments over the summer that would impair your ability to participate in the project, e.g., classes, thesis defense, existing work commitments, etc?  Note: The project does not expect students to take personal vacations during this period; if there is a personal conflict planned, please state when, and how you would make up the time.&lt;br /&gt;
&lt;br /&gt;
Of these, the ''Approach'' and ''Deliverables'' elements will require significant thought, development, and discussion.  Applicants are advised to bring their ideas to the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list] and open up a discussion with the ns-3 team to develop these portions of their application prior to submission.  Only applications that have well refined and developed technical objectives and plans are likely to be competitive.  The ns-3 team will provide comments and help refine proposals somewhat after they are initially submitted, but obviously the stronger they start the stronger they will be.  In the 2008 GSoC, our strongest student proposals were clearly those which had discussed their projects at length beforehand on the mailing list and on IRC.&lt;br /&gt;
&lt;br /&gt;
In addition, once GSoC proposals have been accepted and reviewed, promising candidates will be invited to &amp;quot;meet&amp;quot; some of the ns-3 team and discuss their project further in an IRC chat.&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 2009 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  That will help you develop the idea and present a concrete, meaningful application.&lt;br /&gt;
&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz], [mailto:mathieu.lacage@sophia.inria.fr Mathieu Lacage]&lt;br /&gt;
&lt;br /&gt;
* '''Minstrel rate control algorithm.''' [http://linuxwireless.org/en/developers/Documentation/mac80211/RateControl/minstrel Minstrel] is a rate control algorithm originally [https://www.ath9k.org/browser/trunk/ath_rate/minstrel/minstrel.txt?rev=2695 implemented in MadWifi]. This project would port the Minstrel rate control algorithm to the ns-3 802.11 MAC.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' WiFi, 802.11, wireless networking, rate control&lt;br /&gt;
**''Interests:'' wireless networking, protocol development, resource alloations, 802.11&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
* '''Advanced Queues.'''  ns-3 currently implements only a basic FIFO queue.  This project would add support for and investigate more sophisticated queues, such as fair queuing, RED, and RIO.  This might be accomplished by porting from other projects, such as [http://www.isi.edu/nsnam/ns/doc/node69.html ns-2] or [http://lartc.org/howto/ Linux routing and traffic control] implementations.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics, Linux/BSD kernel, ns-2&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Click, routing architectures, routing protocols&lt;br /&gt;
** ''Interests:'' Protocol development, routing architecture&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
Mentors: [mailto:fw@strlen.de Florian Westphal]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
Mentors: [mailto:craigdo@ee.washington.edu  Craig Dowell]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
&lt;br /&gt;
The following are additional project ideas that the ns-3 team has highlighted as important projects to support.  &lt;br /&gt;
&lt;br /&gt;
==== Core Simulation Capabilities ====&lt;br /&gt;
&lt;br /&gt;
* '''Realtime Distributed Simulation.'''  This project would add support to ns-3 for running multiple instances distributed over several physical machines connected by and exchanging packet events over an IP network.  Achieving this would require adding tunneling devices to ns-3, and developing distributed simulation configuration and control utilizing [http://rpyc.wikidot.com/ RPYC].  Development would build from multiple instances on a single host to a cluster to which the student will be given access.&lt;br /&gt;
** ''Required Experience:'' BSD networking&lt;br /&gt;
** ''Bonus Experience:'' Python, RPC, distributed systems, cluster computing&lt;br /&gt;
** ''Interests:'' Distributed systems, parallel simulation, concurrency, cluster computing, high performance computing, scientific computing&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
&lt;br /&gt;
* '''WPAN Device Models.'''&lt;br /&gt;
* '''802.11 WDS Support for nqsta.'''&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
* '''Protolib Integration.'''  [http://cs.itd.nrl.navy.mil/work/protolib/index.php Protolib] is an application support library that provides networking, timer, threading, and other functionality to support cross platform application and protocol implementation.  It has previously been ported to enable programs based on the library to be executed in simulators such as sn-2 and OPNET.  This project would port Protolib to ns-3 and enable many existing and well known routing protocol implementations to be immediately used in ns-3.  Additionally, this may be followed by porting the Agent-J Java library (see below).&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' BSD networking, threading&lt;br /&gt;
** ''Interests:'' Protocol development, mobile ad hoc networking, simulation, cross platform development&lt;br /&gt;
&lt;br /&gt;
* '''Reactive Routing Protocols.'''  ns-3 currently includes an implementation of the popular OLSR protocol for proactive mobile wireless ad hoc routing.  This project would implement several additional routing protocols, focusing on reactive protocols such as AODV and DSR.  Much literature exists in this area to draw from, as well as implementations for both real systems and other simulators such as ns-2 and OPNET.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Mobile ad hoc networking, routing&lt;br /&gt;
** ''Interests:'' Mobile ad hoc networking, routing, protocol development&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
* '''Network Address Translation (NAT).''' NATs have become an essential part of practical real-life networking, and are an important current research topic as they are being [http://blog.internetworkexpert.com/2008/04/18/understanding-ipv6-nat-pt/ proposed even for IPv6].  [http://www.isoc.org/tools/blogs/ietfjournal/?p=117 NAT traversal] is also an important topic in many user and system monitoring applications.  This project would develop a NAT node model for ns-3, possibly by drawing upon the Linux NAT code, as well as common example configurations, such as home or small office connectivity, and start investigating these topics as time allows.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' NAT, network management/deployment, firewalling, C, Linux kernel&lt;br /&gt;
** ''Interests:'' Internet topology, IPv6, network management/deployment, network security, P2P&lt;br /&gt;
&lt;br /&gt;
* ''' Fragmentation and MTU Discovery.''' IPv4 packets may be fragmented as they travel the network and encounter smaller MTUs.  ns-3's packet objects include support for this, but the network stack does not currently implement fragmentation.  This project would begin by improving the MTU and fragmentation capabilies to be more realistic, possibly by drawing from code in the [http://cutebugs.net/files/wns2-yans.pdf yans simulator].  The project would then continue to add support for more research-oriented techniques such as [http://en.wikipedia.org/wiki/Path_MTU_discovery Path MTU discovery], particularly for IPv6 which fragments at the endpoints and must discover the proper MTU for a chosen path.&lt;br /&gt;
** ''Required Experience:'' IP&lt;br /&gt;
** ''Bonus Experience:'' IPv6&lt;br /&gt;
** ''Interests:'' IPv6, Internet topology, heterogenous networking&lt;br /&gt;
&lt;br /&gt;
* ''' Virtual NetDevices.'''  Virtual devices are network interfaces that are treated like any other device by the operating system, but do not actually correspond to hardware.  These are important to provide features such as tunneling overlays for tasks such as VPNs and IPv6--IPv4 traversal, or capabilities such as 802.1q VLAN tagging. For instance, the [http://trac.tools.ietf.org/group/irtf/trac/wiki/RoutingResearchGroup IRTF Routing Research Group] seems likely to suggest a so-called map-and-encaps architecture for helping the global core routing scalability problem.  This project would help define and implement an architecture for incorporating virtual devices into ns-3, and develop a few concrete instances of these devices, such as Ipv6-over-IPv4, VLANs, or providing multiple addresses per physical interface for routers to leverage.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' IPv6, QoS&lt;br /&gt;
** ''Interests:'' IPv6, QoS, tunneling, virtualization&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' Java, C&lt;br /&gt;
** ''Bonus Experience:'' JNI&lt;br /&gt;
** ''Interests:'' Java, Java native code, simulation, P2P&lt;br /&gt;
&lt;br /&gt;
* '''P2P Protocols.'''&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Again, all interested applicants are encouraged to discuss their proposal ideas on the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  Many developers also congregate on IRC via #ns-3 on freenode.net, and that is also an appropriate place to discuss ideas.&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=GSOC2009Projects&amp;diff=2469</id>
		<title>GSOC2009Projects</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=GSOC2009Projects&amp;diff=2469"/>
		<updated>2009-03-19T21:07:07Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: /* Routing */ Put rmerz at the end for mentor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&lt;br /&gt;
This webpage highlights project ideas, expectations, and requirements for ns-3's [http://code.google.com/soc Google Summer of Code] 2009 effort.  ns-3 is pleased to announce that it has been accepted to the GSoC program for the second year in a row, and looks forward to talking with students about their applications!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Student Guidelines ==&lt;br /&gt;
&lt;br /&gt;
The ns-3 team is looking for three things from every successful GSoC project:&lt;br /&gt;
* Developing code that can be incorporated back into the main codebase and utilized by a variety of users.&lt;br /&gt;
* Developing new members that will remain part of the team and contribute to the ns-3 effort even after GSoC ends.&lt;br /&gt;
* Providing GSoC students with experience and ideas that will be useful to them in their careers and/or research.&lt;br /&gt;
&lt;br /&gt;
Based on the ns-3 team's experiences in the 2008 Google Summer of Code, the most important factor in the success of an application and project is communication.  That process begins in the application phase.  Without joining the [http://mailman.isi.edu/mailman/listinfo/ns-developers mailing list] and starting some discussion of your ideas, it is unlikely your application will be complete or rich enough to be competitive.  Please feel free to discuss your proposed technical approach, plan, and other factors on the mailing list while developing your application.  In addition to helping you develop the necessary details, focus, and priorities to write a good application, that will also demonstrate your commitment and willingness to dedicate time to the effort.  During the program, every student is expected to communicate regularly with their mentor, as well as to participate on the [http://mailman.isi.edu/mailman/listinfo/ns-developers development mailing list] and IRC chats.&lt;br /&gt;
&lt;br /&gt;
It is also important for every student to commit fully to the effort.  Applicants should recognize that being accepted into GSoC is a serious commitment and will be the focus of their time over the duration of the program.  Any existing commitments for class, other jobs, etc should all be discussed as part of your application.&lt;br /&gt;
&lt;br /&gt;
Additional slides about the ns-3 GSoC project are also available, from a [http://www.nsnam.org/docs/gsoc.ppt GSoC Infosession] at the University of Washington on March 5th, 2009.&lt;br /&gt;
&lt;br /&gt;
== Application Template ==&lt;br /&gt;
&lt;br /&gt;
The following are specific items the ns-3 teams requests GSoC applicants include in their proposal.&lt;br /&gt;
&lt;br /&gt;
* '''Project Proposal''' What is the specific topic or area of interest you are proposing to work on?&lt;br /&gt;
* '''Interest.''' Why are you particularly attracted to this project?&lt;br /&gt;
** ''Future Plans.''  We are especially interested in GSoC applicants looking to pursue research or work in related areas in the future, so be sure to note any relevant plans you may have.&lt;br /&gt;
* '''Background.'''  What experience or training do you have that makes you best suited to this project.&lt;br /&gt;
** ''Education.'' Include your academic or professional background related to data networking, as well as any software experience with C++ and/or Python.&lt;br /&gt;
** ''Work.''  Be sure to denote any work experience you have in relevant areas.&lt;br /&gt;
** ''Research.'' Be sure to denote any research experience you have in relevant areas.&lt;br /&gt;
* '''Approach.'''  What is your technical plan for achieving the goals of the project?  What components and functionality will have to be developed, integrated, etc?&lt;br /&gt;
* '''Deliverables.''' What do you plan as a mergeable code output of your GSoC effort?  Please keep in mind that the program is only 10 weeks long and try to incorporate this realistically in the plan.&lt;br /&gt;
* '''Plan.'''  What is your task schedule to implement your technical plan and develop your deliverables?&lt;br /&gt;
* '''Timezone.'''  What are your expected work hours (in UTC)?  What is your physical location for the summer?  The project places no requirements on these but it will effect chat scheduling as well as mentor availability and selection.&lt;br /&gt;
* '''Commitments.'''  Do you have any other commitments over the summer that would impair your ability to participate in the project, e.g., classes, thesis defense, existing work commitments, etc?  Note: The project does not expect students to take personal vacations during this period; if there is a personal conflict planned, please state when, and how you would make up the time.&lt;br /&gt;
&lt;br /&gt;
Of these, the ''Approach'' and ''Deliverables'' elements will require significant thought, development, and discussion.  Applicants are advised to bring their ideas to the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list] and open up a discussion with the ns-3 team to develop these portions of their application prior to submission.  Only applications that have well refined and developed technical objectives and plans are likely to be competitive.  The ns-3 team will provide comments and help refine proposals somewhat after they are initially submitted, but obviously the stronger they start the stronger they will be.  In the 2008 GSoC, our strongest student proposals were clearly those which had discussed their projects at length beforehand on the mailing list and on IRC.&lt;br /&gt;
&lt;br /&gt;
In addition, once GSoC proposals have been accepted and reviewed, promising candidates will be invited to &amp;quot;meet&amp;quot; some of the ns-3 team and discuss their project further in an IRC chat.&lt;br /&gt;
&lt;br /&gt;
== Project Ideas ==&lt;br /&gt;
&lt;br /&gt;
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 2009 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers 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 [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  That will help you develop the idea and present a concrete, meaningful application.&lt;br /&gt;
&lt;br /&gt;
Each project idea has been tagged with the following properties:&lt;br /&gt;
* ''Required Experience:'' Languages, concepts, or packages with which applicants must be familiar.&lt;br /&gt;
* ''Bonus Experience:'' Other experience or familiarity which would be greatly helpful to applicants for this project.&lt;br /&gt;
* ''Interests:'' Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Priority Project Ideas ===&lt;br /&gt;
&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
Mentors: [mailto:ruben@net.t-labs.tu-berlin.de Ruben Merz], [mailto:mathieu.lacage@sophia.inria.fr Mathieu Lacage]&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
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]&lt;br /&gt;
&lt;br /&gt;
* '''Advanced Queues.'''  ns-3 currently implements only a basic FIFO queue.  This project would add support for and investigate more sophisticated queues, such as fair queuing, RED, and RIO.  This might be accomplished by porting from other projects, such as [http://www.isi.edu/nsnam/ns/doc/node69.html ns-2] or [http://lartc.org/howto/ Linux routing and traffic control] implementations.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics, Linux/BSD kernel, ns-2&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C++&lt;br /&gt;
** ''Bonus Experience:'' Click, routing architectures, routing protocols&lt;br /&gt;
** ''Interests:'' Protocol development, routing architecture&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Routing architectures, routing protocols, queueing theory, statistics&lt;br /&gt;
** ''Interests:'' High fidelity simulation, queueing theory, statistics, data driven model development&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
Mentors: [mailto:fw@strlen.de Florian Westphal]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' C&lt;br /&gt;
** ''Bonus Experience:'' Linux kernel, TCP/IP&lt;br /&gt;
** ''Interests:'' Linux, operating systems, virtualization, software-in-the-loop&lt;br /&gt;
&lt;br /&gt;
==== Emulation and Simulation In The Loop ====&lt;br /&gt;
Mentors: [mailto:craigdo@ee.washington.edu  Craig Dowell]&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Emulab, ns-2, Tcl&lt;br /&gt;
** ''Interests:'' Simulation, emulation, simulation-in-the-loop&lt;br /&gt;
&lt;br /&gt;
=== Additional Project Ideas ===&lt;br /&gt;
&lt;br /&gt;
The following are additional project ideas that the ns-3 team has highlighted as important projects to support.  &lt;br /&gt;
&lt;br /&gt;
==== Core Simulation Capabilities ====&lt;br /&gt;
&lt;br /&gt;
* '''Realtime Distributed Simulation.'''  This project would add support to ns-3 for running multiple instances distributed over several physical machines connected by and exchanging packet events over an IP network.  Achieving this would require adding tunneling devices to ns-3, and developing distributed simulation configuration and control utilizing [http://rpyc.wikidot.com/ RPYC].  Development would build from multiple instances on a single host to a cluster to which the student will be given access.&lt;br /&gt;
** ''Required Experience:'' BSD networking&lt;br /&gt;
** ''Bonus Experience:'' Python, RPC, distributed systems, cluster computing&lt;br /&gt;
** ''Interests:'' Distributed systems, parallel simulation, concurrency, cluster computing, high performance computing, scientific computing&lt;br /&gt;
&lt;br /&gt;
==== MAC and PHY Models ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Software profiling, software tuning&lt;br /&gt;
** ''Interests:'' Approximation, caching, software profiling, high performance computing, scientific computing&lt;br /&gt;
&lt;br /&gt;
* '''WPAN Device Models.'''&lt;br /&gt;
* '''802.11 WDS Support for nqsta.'''&lt;br /&gt;
&lt;br /&gt;
==== Routing ====&lt;br /&gt;
&lt;br /&gt;
* '''Protolib Integration.'''  [http://cs.itd.nrl.navy.mil/work/protolib/index.php Protolib] is an application support library that provides networking, timer, threading, and other functionality to support cross platform application and protocol implementation.  It has previously been ported to enable programs based on the library to be executed in simulators such as sn-2 and OPNET.  This project would port Protolib to ns-3 and enable many existing and well known routing protocol implementations to be immediately used in ns-3.  Additionally, this may be followed by porting the Agent-J Java library (see below).&lt;br /&gt;
** ''Required Experience:'' C/C++&lt;br /&gt;
** ''Bonus Experience:'' BSD networking, threading&lt;br /&gt;
** ''Interests:'' Protocol development, mobile ad hoc networking, simulation, cross platform development&lt;br /&gt;
&lt;br /&gt;
* '''Reactive Routing Protocols.'''  ns-3 currently includes an implementation of the popular OLSR protocol for proactive mobile wireless ad hoc routing.  This project would implement several additional routing protocols, focusing on reactive protocols such as AODV and DSR.  Much literature exists in this area to draw from, as well as implementations for both real systems and other simulators such as ns-2 and OPNET.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Mobile ad hoc networking, routing&lt;br /&gt;
** ''Interests:'' Mobile ad hoc networking, routing, protocol development&lt;br /&gt;
&lt;br /&gt;
==== Network Stack ====&lt;br /&gt;
&lt;br /&gt;
* '''Network Address Translation (NAT).''' NATs have become an essential part of practical real-life networking, and are an important current research topic as they are being [http://blog.internetworkexpert.com/2008/04/18/understanding-ipv6-nat-pt/ proposed even for IPv6].  [http://www.isoc.org/tools/blogs/ietfjournal/?p=117 NAT traversal] is also an important topic in many user and system monitoring applications.  This project would develop a NAT node model for ns-3, possibly by drawing upon the Linux NAT code, as well as common example configurations, such as home or small office connectivity, and start investigating these topics as time allows.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' NAT, network management/deployment, firewalling, C, Linux kernel&lt;br /&gt;
** ''Interests:'' Internet topology, IPv6, network management/deployment, network security, P2P&lt;br /&gt;
&lt;br /&gt;
* ''' Fragmentation and MTU Discovery.''' IPv4 packets may be fragmented as they travel the network and encounter smaller MTUs.  ns-3's packet objects include support for this, but the network stack does not currently implement fragmentation.  This project would begin by improving the MTU and fragmentation capabilies to be more realistic, possibly by drawing from code in the [http://cutebugs.net/files/wns2-yans.pdf yans simulator].  The project would then continue to add support for more research-oriented techniques such as [http://en.wikipedia.org/wiki/Path_MTU_discovery Path MTU discovery], particularly for IPv6 which fragments at the endpoints and must discover the proper MTU for a chosen path.&lt;br /&gt;
** ''Required Experience:'' IP&lt;br /&gt;
** ''Bonus Experience:'' IPv6&lt;br /&gt;
** ''Interests:'' IPv6, Internet topology, heterogenous networking&lt;br /&gt;
&lt;br /&gt;
* ''' Virtual NetDevices.'''  Virtual devices are network interfaces that are treated like any other device by the operating system, but do not actually correspond to hardware.  These are important to provide features such as tunneling overlays for tasks such as VPNs and IPv6--IPv4 traversal, or capabilities such as 802.1q VLAN tagging. For instance, the [http://trac.tools.ietf.org/group/irtf/trac/wiki/RoutingResearchGroup IRTF Routing Research Group] seems likely to suggest a so-called map-and-encaps architecture for helping the global core routing scalability problem.  This project would help define and implement an architecture for incorporating virtual devices into ns-3, and develop a few concrete instances of these devices, such as Ipv6-over-IPv4, VLANs, or providing multiple addresses per physical interface for routers to leverage.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' IPv6, QoS&lt;br /&gt;
** ''Interests:'' IPv6, QoS, tunneling, virtualization&lt;br /&gt;
&lt;br /&gt;
==== Applications and Systems ====&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:''&lt;br /&gt;
** ''Bonus Experience:'' Graph theory, network management, Internet topology&lt;br /&gt;
** ''Interests:'' Internet topology, Internet autonomous systems, graph theory&lt;br /&gt;
&lt;br /&gt;
* '''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.&lt;br /&gt;
** ''Required Experience:'' Java, C&lt;br /&gt;
** ''Bonus Experience:'' JNI&lt;br /&gt;
** ''Interests:'' Java, Java native code, simulation, P2P&lt;br /&gt;
&lt;br /&gt;
* '''P2P Protocols.'''&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Again, all interested applicants are encouraged to discuss their proposal ideas on the [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers list].  Many developers also congregate on IRC via #ns-3 on freenode.net, and that is also an appropriate place to discuss ideas.&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=Wireless_Phy_in_ns-3&amp;diff=1309</id>
		<title>Wireless Phy in ns-3</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=Wireless_Phy_in_ns-3&amp;diff=1309"/>
		<updated>2006-11-17T14:03:01Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The goal of this project is to define a common interface to a set of PHY-level models for wireless transmission mediums spanning a large range of wireless transmission systems:&lt;br /&gt;
* 802.11a/b/g&lt;br /&gt;
* wimax&lt;br /&gt;
* satellite&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
The following sections try to define:&lt;br /&gt;
* the characteristics of each wireless transmission system we want to capture&lt;br /&gt;
* various models to capture these characteristics&lt;br /&gt;
&lt;br /&gt;
== 802.11a/b/g ==&lt;br /&gt;
&lt;br /&gt;
characteristics:&lt;br /&gt;
* carrier frequency: b/g: 2.4GHz, a: 5GHz&lt;br /&gt;
* The frequencies for 802.11 b/g span 2.400 GHz to 2.487 GHz. Each channel is 22 MHz wide with a 5 MHz step to the next higher channel&lt;br /&gt;
* signal spread: 22MHz for 802.11b (DSSS)&lt;br /&gt;
* 802.11b transmission modes:&lt;br /&gt;
** 1Mb/s: DBPSK + barker PN sequence&lt;br /&gt;
** 2Mb/s: DQPSK + barker PN sequence&lt;br /&gt;
** 5.5Mb/s: CCK + code spread&lt;br /&gt;
** 11Mb/s: CCK + code spread&lt;br /&gt;
* 802.11a transmission modes:&lt;br /&gt;
** 6Mb/s: BPSK + FEC 1/2&lt;br /&gt;
** 9Mb/s: BPSK + FEC 3/4&lt;br /&gt;
** 12Mb/s: DBPSK + FEC 1/2&lt;br /&gt;
** 18Mb/s: DBPSK + FEC 3/4&lt;br /&gt;
** 24Mb/s: QAM16 + FEC 1/2&lt;br /&gt;
** 36Mb/s: QAM16 + FEC 3/4&lt;br /&gt;
** 48Mb/s: QAM64 + FEC 2/3&lt;br /&gt;
** 54Mb/s: QAM64 + FEC 3/4&lt;br /&gt;
&lt;br /&gt;
The MAC layer needs realistic models for the following features:&lt;br /&gt;
* interference among multiple stations transmitting at the same time (on the same channel or from a different channel, since not all frequency channels in the 802.11 standard are perfectly orthogonal)&lt;br /&gt;
* resistance of different transmission modes to interference: the 54Mbs mode should resist less than the 6Mbs mode&lt;br /&gt;
* signal propagation: attenuation and delay. The attenuation must possibly be random. Be aware that the current Shadowing model implemented in ns-2.xx implements a Shadowing model which is time-varying, i.e. at every signal(packet9 reception the Shadowing formula is applied. This means that every packet will see different path loss. This is not true. In reality, the shadowing is static. After generating the path losses, they should be constant during the simulation. We do not know other model for temporal variation of the radio channel between two stationary nodes.&lt;br /&gt;
* so-called &amp;quot;capturing&amp;quot;: if a high-energy signal is received during the preamble/header reception of another signal, the high-energy signal crushes the low-energy signal&lt;br /&gt;
* support for transmissions on different channels. Why would you like to have this feature? Well, you might want to be able to change the channel you are transmitting/receiving on (there exist several papers proposing to do so) or to have concurrent transmissions on different channels (for instance,if you want to simulate several 802.11 networks using different access points).&lt;br /&gt;
&lt;br /&gt;
So, a typical PHY would be characterized by one of 5 states:&lt;br /&gt;
* TX: transmitting some bits&lt;br /&gt;
* SYNC: receiving some bits&lt;br /&gt;
* IDLE: not doing anything, medium is not busy&lt;br /&gt;
* BUSY: not doing anything, medium is busy&lt;br /&gt;
* SLEEP: sleeping, not listening to the medium for status&lt;br /&gt;
&lt;br /&gt;
The condition for BUSY state is precisely defined for 802.11: it is called CCA state detection. There are multiple CCA modes but mode 1 is based on the total energy measured at the antenna. Support for Mode 2 might be needed.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* some people might need multiple SLEEP states: some SLEEP states are deeper than others, take longer to recover from, etc.&lt;br /&gt;
* some people want to model antenna directionality. I have zero idea on how to model this (the attenuation could be a function of the distance and of the &amp;quot;angle&amp;quot; of the tranmission).&lt;br /&gt;
* some people claim that an import feature to modelize is the fact that when a collision happens in the real world, it is really hard to correctly receive any of the two packets. A lot of simulation models incorrectly allow you to receive one of the packets with a high probability.&lt;br /&gt;
&lt;br /&gt;
Model ideas:&lt;br /&gt;
* switch to sync state based on a simple energy threshold when receiving the first bit of the preamble. Use a BER-based probability calculation to decide whether or not to receive a packet. &lt;br /&gt;
* A potentially better model would use a threshold on the min SNIR over the preamble and header reception to decide whther or not to sync on a packet. This would allow us to implement &amp;quot;capturing&amp;quot;.&lt;br /&gt;
* Another variation would use a SER-based model to decide whether or not a packet can be received&lt;br /&gt;
* Yet another variation would use a threshold on the min SNIR over the whole packet reception to decide whether or not a packet can be received.&lt;br /&gt;
&lt;br /&gt;
Paper links:&lt;br /&gt;
* [http://cutebugs.net/files/wns2-yans.pdf yans]&lt;br /&gt;
* [http://www.cs.wisc.edu/~viveks/pov.pdf Partially Overlapped Channels Not Considered Harmful]&lt;br /&gt;
&lt;br /&gt;
== Impulse-radio ultra-wide band and 802.15.4a ==&lt;br /&gt;
&lt;br /&gt;
'''Generic UWB physical layer'''&lt;br /&gt;
&lt;br /&gt;
Characteristics:&lt;br /&gt;
&lt;br /&gt;
* Based on impulse radio and time-hopping.&lt;br /&gt;
** Variable PRF.&lt;br /&gt;
* Not clear yet what carrier frequency to use: variable or not?&lt;br /&gt;
* signal bandwidth: variable from 500 MHz to a few GHz.&lt;br /&gt;
* Transmission modes:&lt;br /&gt;
** Binary modulation: BPSK or BPPM. Possibly M-ary PPM.&lt;br /&gt;
** Variable rate channel code.&lt;br /&gt;
&lt;br /&gt;
'''UWB LDR: 802.15.4a'''&lt;br /&gt;
&lt;br /&gt;
Characteristics:&lt;br /&gt;
&lt;br /&gt;
* carrier frequency: around 4 GHz and around 8 GHz.&lt;br /&gt;
* signal bandwidth: 500MHz.&lt;br /&gt;
* Transmission modes:&lt;br /&gt;
** 0.8Mb/s: BPPM + BPSK with coherent detection, channel code: RS code and convolutional code.&lt;br /&gt;
** 0.8Mb/s: BPPM with non-coherent detection (energy detector), channel code: RS code only.&lt;br /&gt;
&lt;br /&gt;
'''In general'''&lt;br /&gt;
&lt;br /&gt;
In general (i.e. for both models above) the PHY layer needs modelization of the&lt;br /&gt;
following features:&lt;br /&gt;
&lt;br /&gt;
* interference among multiple stations transmitting at the same time.&lt;br /&gt;
* signal propagation: attenuation and delay. Need proper model for UWB channels. For the multipath propagation channel, this would probably taken into account when computing the statistics of a received packet.&lt;br /&gt;
* modelization of UWB packet detection and timing acquisition for both coherent and non-coherent receivers.&lt;br /&gt;
&lt;br /&gt;
The typical UWB PHY would be caracterized by one of 5 states:&lt;br /&gt;
&lt;br /&gt;
* TX: transmitting some bits&lt;br /&gt;
* RX: receiving some bits&lt;br /&gt;
* SYNC: attempting to detect a packet and acquire the timing&lt;br /&gt;
* IDLE: not doing anything&lt;br /&gt;
* SLEEP: sleeping, not listening to the medium for status&lt;br /&gt;
* There is not really a BUSY state since its very hard to know whether the medium is idle or not.&lt;br /&gt;
&lt;br /&gt;
CCA is vastly different for UWB physical layers than for regular&lt;br /&gt;
narrowband layers. Doing energy detection is not feasible.&lt;br /&gt;
&lt;br /&gt;
Models which fulfill these needs:&lt;br /&gt;
* [http://icawww1.epfl.ch/uwb/ns-2/index.html UWB for ns-2] offers partial support for the generic UWB physical layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Error models ==&lt;br /&gt;
* A...&lt;br /&gt;
* B...&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=Wireless_Phy_in_ns-3&amp;diff=1308</id>
		<title>Wireless Phy in ns-3</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=Wireless_Phy_in_ns-3&amp;diff=1308"/>
		<updated>2006-11-17T13:46:52Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The goal of this project is to define a common interface to a set of PHY-level models for wireless transmission mediums spanning a large range of wireless transmission systems:&lt;br /&gt;
* 802.11a/b/g&lt;br /&gt;
* wimax&lt;br /&gt;
* satellite&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
The following sections try to define:&lt;br /&gt;
* the characteristics of each wireless transmission system we want to capture&lt;br /&gt;
* various models to capture these characteristics&lt;br /&gt;
&lt;br /&gt;
== 802.11a/b/g ==&lt;br /&gt;
&lt;br /&gt;
characteristics:&lt;br /&gt;
* carrier frequency: b/g: 2.4GHz, a: 5GHz&lt;br /&gt;
* The frequencies for 802.11 b/g span 2.400 GHz to 2.487 GHz. Each channel is 22 MHz wide with a 5 MHz step to the next higher channel&lt;br /&gt;
* signal spread: 22MHz for 802.11b (DSSS)&lt;br /&gt;
* 802.11b transmission modes:&lt;br /&gt;
** 1Mb/s: DBPSK + barker PN sequence&lt;br /&gt;
** 2Mb/s: DQPSK + barker PN sequence&lt;br /&gt;
** 5.5Mb/s: CCK + code spread&lt;br /&gt;
** 11Mb/s: CCK + code spread&lt;br /&gt;
* 802.11a transmission modes:&lt;br /&gt;
** 6Mb/s: BPSK + FEC 1/2&lt;br /&gt;
** 9Mb/s: BPSK + FEC 3/4&lt;br /&gt;
** 12Mb/s: DBPSK + FEC 1/2&lt;br /&gt;
** 18Mb/s: DBPSK + FEC 3/4&lt;br /&gt;
** 24Mb/s: QAM16 + FEC 1/2&lt;br /&gt;
** 36Mb/s: QAM16 + FEC 3/4&lt;br /&gt;
** 48Mb/s: QAM64 + FEC 2/3&lt;br /&gt;
** 54Mb/s: QAM64 + FEC 3/4&lt;br /&gt;
&lt;br /&gt;
The MAC layer needs realistic models for the following features:&lt;br /&gt;
* interference among multiple stations transmitting at the same time (on the same channel or from a different channel, since not all frequency channels in the 802.11 standard are perfectly orthogonal)&lt;br /&gt;
* resistance of different transmission modes to interference: the 54Mbs mode should resist less than the 6Mbs mode&lt;br /&gt;
* signal propagation: attenuation and delay. The attenuation must possibly be random. Be aware that the current Shadowing model implemented in ns-2.xx implements a Shadowing model which is time-varying, i.e. at every signal(packet9 reception the Shadowing formula is applied. This means that every packet will see different path loss. This is not true. In reality, the shadowing is static. After generating the path losses, they should be constant during the simulation. We do not know other model for temporal variation of the radio channel between two stationary nodes.&lt;br /&gt;
* so-called &amp;quot;capturing&amp;quot;: if a high-energy signal is received during the preamble/header reception of another signal, the high-energy signal crushes the low-energy signal&lt;br /&gt;
* support for transmissions on different channels. Why would you like to have this feature? Well, you might want to be able to change the channel you are transmitting/receiving on (there exist several papers proposing to do so) or to have concurrent transmissions on different channels (for instance,if you want to simulate several 802.11 networks using different access points).&lt;br /&gt;
&lt;br /&gt;
So, a typical PHY would be characterized by one of 5 states:&lt;br /&gt;
* TX: transmitting some bits&lt;br /&gt;
* SYNC: receiving some bits&lt;br /&gt;
* IDLE: not doing anything, medium is not busy&lt;br /&gt;
* BUSY: not doing anything, medium is busy&lt;br /&gt;
* SLEEP: sleeping, not listening to the medium for status&lt;br /&gt;
&lt;br /&gt;
The condition for BUSY state is precisely defined for 802.11: it is called CCA state detection. There are multiple CCA modes but mode 1 is based on the total energy measured at the antenna. Support for Mode 2 might be needed.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* some people might need multiple SLEEP states: some SLEEP states are deeper than others, take longer to recover from, etc.&lt;br /&gt;
* some people want to model antenna directionality. I have zero idea on how to model this (the attenuation could be a function of the distance and of the &amp;quot;angle&amp;quot; of the tranmission).&lt;br /&gt;
* some people claim that an import feature to modelize is the fact that when a collision happens in the real world, it is really hard to correctly receive any of the two packets. A lot of simulation models incorrectly allow you to receive one of the packets with a high probability.&lt;br /&gt;
&lt;br /&gt;
Model ideas:&lt;br /&gt;
* switch to sync state based on a simple energy threshold when receiving the first bit of the preamble. Use a BER-based probability calculation to decide whether or not to receive a packet. &lt;br /&gt;
* A potentially better model would use a threshold on the min SNIR over the preamble and header reception to decide whther or not to sync on a packet. This would allow us to implement &amp;quot;capturing&amp;quot;.&lt;br /&gt;
* Another variation would use a SER-based model to decide whether or not a packet can be received&lt;br /&gt;
* Yet another variation would use a threshold on the min SNIR over the whole packet reception to decide whether or not a packet can be received.&lt;br /&gt;
&lt;br /&gt;
Paper links:&lt;br /&gt;
* [http://cutebugs.net/files/wns2-yans.pdf yans]&lt;br /&gt;
* [http://www.cs.wisc.edu/~viveks/pov.pdf Partially Overlapped Channels Not Considered Harmful]&lt;br /&gt;
&lt;br /&gt;
== Impulse-radio ultra-wide band and 802.15.4a ==&lt;br /&gt;
&lt;br /&gt;
'''Generic UWB physical layer'''&lt;br /&gt;
&lt;br /&gt;
Characteristics:&lt;br /&gt;
&lt;br /&gt;
* Based on impulse radio and time-hopping.&lt;br /&gt;
** Variable PRF.&lt;br /&gt;
* Not clear yet what carrier frequency to use: variable or not?&lt;br /&gt;
* signal bandwidth: variable from 500 MHz to a few GHz.&lt;br /&gt;
* Transmission modes:&lt;br /&gt;
** Binary modulation: BPSK or BPPM. Possibly M-ary PPM.&lt;br /&gt;
** Variable rate channel code.&lt;br /&gt;
&lt;br /&gt;
'''UWB LDR: 802.15.4a'''&lt;br /&gt;
&lt;br /&gt;
Characteristics:&lt;br /&gt;
&lt;br /&gt;
* carrier frequency: around 4 GHz and around 8 GHz.&lt;br /&gt;
* signal bandwidth: 500MHz.&lt;br /&gt;
* Transmission modes:&lt;br /&gt;
** 0.8Mb/s: BPPM + BPSK with coherent detection, channel code: RS code and convolutional code.&lt;br /&gt;
** 0.8Mb/s: BPPM with non-coherent detection (energy detector), channel code: RS code only.&lt;br /&gt;
&lt;br /&gt;
'''In general'''&lt;br /&gt;
&lt;br /&gt;
In general (i.e. for both models above) the PHY layer needs modelization of the&lt;br /&gt;
following features:&lt;br /&gt;
&lt;br /&gt;
* interference among multiple stations transmitting at the same time.&lt;br /&gt;
* signal propagation: attenuation and delay. For the multipath propagation channel, this would probably taken into account when computing the statistics of a received packet.&lt;br /&gt;
* modelization of UWB packet detection and timing acquisition for both coherent and non-coherent receivers.&lt;br /&gt;
&lt;br /&gt;
The typical UWB PHY would be caracterized by one of 5 states:&lt;br /&gt;
&lt;br /&gt;
* TX: transmitting some bits&lt;br /&gt;
* RX: receiving some bits&lt;br /&gt;
* SYNC: attempting to detect a packet and acquire the timing&lt;br /&gt;
* IDLE: not doing anything&lt;br /&gt;
* SLEEP: sleeping, not listening to the medium for status&lt;br /&gt;
* There is not really a BUSY state since its very hard to know whether the medium is idle or not.&lt;br /&gt;
&lt;br /&gt;
CCA is vastly different for UWB physical layers than for regular&lt;br /&gt;
narrowband layers. Doing energy detection is not feasible.&lt;br /&gt;
&lt;br /&gt;
Models which fulfill these needs:&lt;br /&gt;
* [http://icawww1.epfl.ch/uwb/ns-2/index.html UWB for ns-2] offers partial support for the generic UWB physical layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Error models ==&lt;br /&gt;
* A...&lt;br /&gt;
* B...&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=Wireless_Phy_in_ns-3&amp;diff=1304</id>
		<title>Wireless Phy in ns-3</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=Wireless_Phy_in_ns-3&amp;diff=1304"/>
		<updated>2006-10-26T11:24:25Z</updated>

		<summary type="html">&lt;p&gt;Rmerz: Add information about support for multiple channels, correct a typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The goal of this project is to define a common interface to a set of PHY-level models for wireless transmission mediums spanning a large range of wireless transmission systems:&lt;br /&gt;
* 802.11a/b/g&lt;br /&gt;
* wimax&lt;br /&gt;
* satellite&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
The following sections try to define:&lt;br /&gt;
* the characteristics of each wireless transmission system we want to capture&lt;br /&gt;
* various models to capture these characteristics&lt;br /&gt;
&lt;br /&gt;
== 802.11a/b/g ==&lt;br /&gt;
&lt;br /&gt;
characteristics:&lt;br /&gt;
* carrier frequency: b/g: 2.4GHz, a: 5GHz&lt;br /&gt;
* The frequencies for 802.11 b/g span 2.400 GHz to 2.487 GHz. Each channel is 22 MHz wide with a 5 MHz step to the next higher channel&lt;br /&gt;
* signal spread: 22MHz for 802.11b (DSSS)&lt;br /&gt;
* 802.11b transmission modes:&lt;br /&gt;
** 1Mb/s: DBPSK + barker PN sequence&lt;br /&gt;
** 2Mb/s: DQPSK + barker PN sequence&lt;br /&gt;
** 5.5Mb/s: CCK + code spread&lt;br /&gt;
** 11Mb/s: CCK + code spread&lt;br /&gt;
* 802.11a transmission modes:&lt;br /&gt;
** 6Mb/s: BPSK + FEC 1/2&lt;br /&gt;
** 9Mb/s: BPSK + FEC 3/4&lt;br /&gt;
** 12Mb/s: DBPSK + FEC 1/2&lt;br /&gt;
** 18Mb/s: DBPSK + FEC 3/4&lt;br /&gt;
** 24Mb/s: QAM16 + FEC 1/2&lt;br /&gt;
** 36Mb/s: QAM16 + FEC 3/4&lt;br /&gt;
** 48Mb/s: QAM64 + FEC 2/3&lt;br /&gt;
** 54Mb/s: QAM64 + FEC 3/4&lt;br /&gt;
&lt;br /&gt;
The MAC layer needs realistic models for the following features:&lt;br /&gt;
* interference among multiple stations transmitting at the same time (on the same channel or from a different channel, since not all frequency channels in the 802.11 standard are perfectly orthogonal)&lt;br /&gt;
* resistance of different transmission modes to interference: the 54Mbs mode should resist less than the 6Mbs mode&lt;br /&gt;
* signal propagation: attenuation and delay. The attenuation must possibly be random&lt;br /&gt;
* so-called &amp;quot;capturing&amp;quot;: if a high-energy signal is received during the preamble/header reception of another signal, the high-energy signal crushes the low-energy signal&lt;br /&gt;
* support for transmissions on different channels. Why would you like to have this feature? Well, you might want to be able to change the channel you are transmitting/receiving on (there exist several papers proposing to do so) or to have concurrent transmissions on different channels (for instance,if you want to simulate several 802.11 networks using different access points).&lt;br /&gt;
&lt;br /&gt;
So, a typical PHY would be characterized by one of 5 states:&lt;br /&gt;
* TX: transmitting some bits&lt;br /&gt;
* SYNC: receiving some bits&lt;br /&gt;
* IDLE: not doing anything, medium is not busy&lt;br /&gt;
* BUSY: not doing anything, medium is busy&lt;br /&gt;
* SLEEP: sleeping, not listening to the medium for status&lt;br /&gt;
&lt;br /&gt;
The condition for BUSY state is precisely defined for 802.11: it is called CCA state detection. There are multiple CCA modes but mode 1 is based on the total energy measured at the antenna. Support for Mode 2 might be needed.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* some people might need multiple SLEEP states: some SLEEP states are deeper than others, take longer to recover from, etc.&lt;br /&gt;
* some people want to model antenna directionality. I have zero idea on how to model this (the attenuation could be a function of the distance and of the &amp;quot;angle&amp;quot; of the tranmission).&lt;br /&gt;
&lt;br /&gt;
Models which might fulfill these needs:&lt;br /&gt;
* [http://cutebugs.net/files/wns2-yans.pdf yans]: is based on an energy threshold on the energy of the first bit of the preamble to switch to SYNC state, and implements a BER-based probability calculation to decide whether or not to receive a packet. It also implements CCA mode 1.&lt;br /&gt;
* A potentially better model would use a threshold on the min SNIR over the preamble and header reception to decide whther or not to sync on a packet. This would allow us to implement &amp;quot;capturing&amp;quot;.&lt;br /&gt;
* Another variation would use a SER-based model to decide whether or not a packet can be received&lt;br /&gt;
* Yet another variation would use a threshold on the min SNIR over the whole packet reception to decide whther or not a packet can be received.&lt;/div&gt;</summary>
		<author><name>Rmerz</name></author>
	</entry>
</feed>