From Nsnam
Jump to: navigation, search

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

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

SOCIS 2015 Ideas

This webpage highlights project ideas for ns-3's ESA Summer of Code in Space 2015 effort.

SOCIS 2015 Timeline is:

  • February 2015: program starts, mentoring organizations can start applying.
  • 02/03/15: mentoring organizations application deadline (11pm UTC).
  • Until 30 april 2015: Students apply
  • June-August 2015: 3-months coding period

Full timeline is here:

While discussions about ideas can be done earlier, please note that ns-3 will not receive an answer to its SOCIS application before May.

About the ns-3 project

ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education.

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

ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.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 almost 51,000 successful downloads of our released software between January 2011 and January 2012, and we have a users mailing list of about 2392 members now averaging 574 posts per month. The code base has a total of 113 authors and 25 maintainers.

Our SOCIS organizational admin is Tommaso Pecorella and our backup org admin is To be Defined. The project has participated in GSoCs during 2008-10, 2012-13, and 2013-14 and to SOCIS in 2013 and 2014.

Mentors will be paired with students based on the projects that are selected. Mentors from companies are welcome, if the employer will permit the mentor sufficient time to perform the mentoring. Prospective mentors should notify Tommaso Pecorella of interest. Mentors familiar with ns-3 development practices will be preferred, to improve the chances of student code merge.

Getting started

For students interested in applying to ns-3 for SOCIS, go through the following list to get started:

  • Read the official SOCIS Student Participant Agreement.
  • Read SOCS FAQ. In particular:
  • Look through our ideas list below to see if you find a project that interests you.
  • Review the ns-3 tutorial thoroughly, if you have not already done so.
  • Look through the GSoC2014 Student application template to start preparing your proposal. The actual SOCIS student application form is not yet available, but we assume they'll be quite smilar.
  • Next, proceed to get in touch with the developers on the mailing list and refine your proposal.
  • In parallel, make sure you prepare a patch as per the Patch Requirement Guidelines (from GSoC2014). Your application to ns-3 will not be considered if you do not fulfill this requirement.

Project Ideas

The following are a list of project proposals from the ns-3 team for ESA Summer of Code in Space 2015. Applicants are however free to propose their own ideas. In addition, please note that these ideas are not limited to SOCIS, anyone is welcome to work on them. Please email the ns-developers list if you have an idea that you'd like to work on. Applicants are encouraged to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the ns-developers list. Previous experience with the Google Summer of Code programmes suggest 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 accepted into the programme.

Due to the SOCIS focus, only space-related ideas can be considered.

Each project idea within a particular priority has been tagged with the following properties:

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

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

Guidelines for project ideas

For mentors who're adding project ideas to the list below, please ensure that:

  • The projects are sized such that there can be a code merge by the end of the coding period. The scope of the project should be such that it is very difficult to not have a code merge by the end of the summer.
  • The proposed projects are not too open-ended. That is, if the deliverables or a clear path to the same are not well understood, it is better kept outside GSOC.
  • There should be a clear merge path to one of the main project code repositories (ns-3-dev, ns-3-dce, bake) by the end of the summer, either because the patches directly apply or they directly apply to an ns-3 module that is in the process of merging with ns-3-dev.
  • The projects are related to Space applications and technologies.

Project Ideas

Satellite Mobility Model

Mentors: Tommaso Pecorella Luca Ronga

ns-3-SatMobility Satellite communications are affected by satellite and user's mobility. In order to simulate a channel, it is of paramount importance to know the satellite(s) mobility (orbits) and user's mobility (mostly statistical properties to simulate the sky's portions seen by the user). The goal of the idea is to provide a framework to easily define a single satellite or a constellation movement pattern and the user's properties according to a predefined scenario (e.g., urban, hills, mountain, etc.). The framework should come with pre-defined well-known satellite constellations, e.g., GALILEO, GPS, Inmarsat, etc.). The model should also provide an easy way to define the satellite footprints (Satellite-fixed and Earth-fixed footprints is a plus). The model should extend the ns-3 mobility model, and should also be able to provide triggers to enable/disable satellite links (e.g., Inter-satellite links).

  • Required Experience: C++
  • Bonus Experience: Satellite constellations
  • Interests: Satellite visibility, satellite networking
  • Difficulty: easy / medium
  • Recommended reading:

Satellite Channel Model

Mentors: Tommaso Pecorella Luca Ronga

ns-3-SatChannel Satellite communications are affected by atmospheric conditions (e.g., clear sky, rain, etc), not to mention the space weather phenomena (e.g., solar flares). It has been demonstrated that the satellite channels exhibit very different patterns with respect to the terrestrial one. In particular satellite channels are spatially correlated (rain conditions affect large areas), and temporally correlated. Moreover, even for a single user the error model may be very different than the usual ones. The goal of the idea is to study the satellite channel models available in the literature and provide a satellite-specific set of channel models.

GNSS Broadcast Services

Mentors: Luca Ronga Tommaso Pecorella

ns3-gnss-broadcast The European Galileo navigation system incorporates broadcasting functionalities that enable a new set of space-related services. The project aims at realizing a detailed network model of the data broadcasting component embedded in the Galileo system. The model should take into account the geographical position of the user, the instantaneous position of Galileo satellites and the relevant propagation parameters for the space-to-user data link available within the Galileo services. This idea is related to the Satellite Mobility Model. However, in this case the needed mobility model will only thave to cover the GALILEO orbits.

Port of ns-2 LEO models

Mentor: Tom Henderson

ns-2 has support for geostationary and low-earth-orbiting (e.g. Iridium) satellites, and some simple Aloha models. See below for the link to the ns-2 documentation. This project would be involved with porting the code from ns-2 to ns-3. In particular, the Satellite Network Simulator (SNS3) by Magister Solutions is likely to be released soon, and it will cover the GEO aspects, but LEO aspects are not within scope of SNS3. Therefore, this project will likely be a port of the LEO ns-2 mobility models, intersatellite link models, and some constellation design and visualization.

  • Required Experience: C++
  • Bonus Experience: ns-2, ns-3, satellite networking
  • Difficulty: easy/medium
  • Recommended reading:

Satellite spot-beam handover models

Mentors: Jani Puttonen, Budiarto Herman

Multi-spot beam satellite systems may serve large coverage areas. In principle, the whole world, excluding the polar areas, may be covered with three geostationary (GEO) satellites. Maritime, aeronautical, train and land vehicular scenarios require a satellite network handover mechanisms to guarantee uninterrupted service offering. Satellite handover mechanisms consist of spot-beam handover, inter-GW and inter-satellite handover procedures for both forward and return links of the satellite system. Handover procedures consists of handover detection, recommendation, decision and execution phases. The objective of this idea is to implement a satellite link handover mechanisms, which shall be integrated to Satellite Network Simulator 3 (SNS3) to be released soon. SNS3 implements a multi-spot beam satellite network extensions for ns-3 with DVB-RCS2 and DVB-S2 air interfaces. If a student needs it to evaluate and prepare the project, please contact the mentors.

  • Required Experience: C++
  • Bonus Experience: ns-3, DVB-S2 and DVB-RCS2 specifications
  • Interests: Satellite networking, handover technologies
  • Difficulty: medium/hard
  • Recommended reading:
    • J. Puttonen, S. Rantanen, F. Laakso, J. Kurjenniemi, K. Aho, G. Acar, "Satellite Model for Network Simulator 3", Proc. of the International ICST Conference on Simulation Tools and Techniques (SIMUtools), Lisbon, Portugal, March 2014.
    • J. Puttonen, S. Rantanen, F. Laakso, J. Kurjenniemi, K. Aho, G. Acar, "A Packet Level Simulator for Future Satellite Communications Research", AIAA Space 2014, San Diego, USA, August 2014.
    • ETSI TR 102 768, Digital Video Broadcasting (DVB); Interaction channel for Satellite Distribution Systems; Guidelines for the use of EN 301 790 in mobile scenarios
    • P. K. Chowdhury, M. Atiquzzaman, W. Ivancic, "Handover Schemes in Satellite Networks: State-of-the-Art and Future Research Directions", IEEE Communication Surveys and Tutorials, Volume 8, Issue 4, pp. 2-14, 2007.
    • A. B. Alamanac, P. ML Chan, L. Duquerro, Y. Fun Hu, G. Gallinaro, W. Guo, and D. Mignolo, "DVB-RCS goes mobile: Challenges and technical solutions", International Journal of Satellite Communications and Networking, Volume 28, Issue 3-4, pp. 137–155, 2010.

Satellite terminal mobility models

Mentors: Jani Puttonen, Budiarto Herman

Satellite system terminals may be e.g. stationary, aeronautical, maritime, train or land vehicular users. For mobile users there is a need to have realistic mobility patterns for different mobile simulation scenarios. Flightradar24 and FlightAware web services already hold real time flight path and schedule information. On the other hand OpenStreetMaps offer free access to maps, railway and highway coordinates. The objective of this idea is study how to extract/export the mobility patterns from different online services for different mobility scenarios, and implement a generic trace and/or statistical grid point based mobility model for ns-3 using spherical coordinates. The resulting code shall be integrated with Satellite Network Simulator 3 (SNS3), which will be released soon. If a student needs it to evaluate and prepare the project, please contact the mentors.

TCP Performance Enhancement Proxies (PEPs)

Mentors: Tom Henderson, Tommaso Pecorella

Performance Enhancement Proxies (PEPs) are network agents designed to improve the end-to-end performance of some communications protocol. E.g. Split-TCP is typically used to solve TCP problems with large Round Trip Times (RTTs), e.g. in case of a geostationary satellite link. Split TCP functions by breaking the end-to-end connection into multiple connections. The objective of this idea is to implement a TCP PEP protocol on top of ns-3. There exists also a TCP PEP implementation for ns-2, so porting to ns-3 may be also considered.

  • Required Experience: C++
  • Bonus Experience: ns-3, Transport Control Protocol (TCP), (ns-2)
  • Interests: Satellite networking, communication protocols
  • Difficulty: medium/hard
  • Recommended reading:
    • D. Velenis, D. Kalogeras, B. Maglaris, SaTPEP: a TCP Performance Enhancing Proxy for Satellite Links, in PROC 2nd International IFIP-TC6 Networking Conference, Pisa Italy, May 2002.
    • C. Caini, R. Firrincieli, and D. Lacamera, “PEPsal: A Performance Enhancing Proxy for TCP Satellite Connections”, IEEE Aerospace and Electronic Systems Magazine, Volume:22, Issue: 8, 2006.
    • Mineweaser, J.L.; Stadler, J.S.; Tsao, S.; Flanagan, M., "Improving TCP/IP performance for the land mobile satellite channel," Military Communications Conference, 2001. MILCOM 2001. Communications for Network-Centric Operations: Creating the Information Force. IEEE , vol.1, no., pp.711,718 vol.1, 2001 doi: 10.1109/MILCOM.2001.985927