SOCIS2017Projects: Difference between revisions
Line 153: | Line 153: | ||
** European Data Relay System: http://www.esa.int/Our_Activities/Telecommunications_Integrated_Applications/EDRS | ** European Data Relay System: http://www.esa.int/Our_Activities/Telecommunications_Integrated_Applications/EDRS | ||
** Laser Light Communications, http://www.laserlightcomms.com/ | ** Laser Light Communications, http://www.laserlightcomms.com/ | ||
** Optical network models in ns-3: https://www.nsnam.org/wiki/Optical_network_models | ** Optical network models in ns-3: https://www.nsnam.org/wiki/Optical_network_models | ||
Revision as of 14:44, 12 May 2017
Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects
HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers
- ESA Summer of Code in Space 2017 (SOCIS)
- SOCIS Frequently Asked Questions
- ESA-SOCIS google mailing list
- Get in contact with the ns-3 team: ns-developers mailing list | IRC #ns-3 on freenode.net
SOCIS 2017 Ideas
This webpage highlights project ideas for ns-3's ESA Summer of Code in Space 2017 effort.
SOCIS 2017 Timeline is:
- Until 31 may 2017: Students application
- June-August 2017: 3-months coding period
Full timeline is here:http://sophia.estec.esa.int/socis/?q=timeline
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.
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, keep in mind that the application period will be in May, if ns-3 is accepted to participate again. However, student applications will be better positioned if the student starts early to work with mentors to develop ideas. Please go through the following list to get started:
- Read the official SOCIS Student Participant Agreement.
- Read SOCIS FAQ. In particular:
- Double check if you can participate: Eligibility.
- Look through our ideas list below to see if you find a project that interests you. Check back in the future as ideas may be added.
- Review the ns-3 tutorial thoroughly, if you have not already done so.
- Look through the GSoC2015 Student application template to start preparing your proposal.
- Next, proceed to get in touch with the developers on the mailing list and refine your proposal. It is possible (i.e., almost sure) that a proof of your ns-3 knowledge is asked.
Project Ideas
The following are a list of project proposals from the ns-3 team for ESA Summer of Code in Space 2016. 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
Delay-Tolerant Networking integration
Delay-Tolerant Networking (DTN) is the protocol architecture for deep-space communications. Previous editions of SOCIS and GSoC for ns-3 resulted in the development of two protocols in the ns-3 stack, the Bundle Protocol and the Licklider Transmission Protocol:
However, these protocols were never integrated following the conclusion of the summer projects, and furthermore, there aren't any DTN applications or DTN routing protocols to use with ns-3. This project is therefore focused on providing a complete DTN stack by integrating the code from the past two projects referenced above, plus developing a simple DTN routing protocol and simple DTN application that can sit on top of the bundle protocol. The overall project goal is to demonstrate a multihop, multipath DTN network in ns-3 over simple link models (e.g. point-to-point like links with a static delay that is very large, measured in seconds or tens of seconds) and to test and document how conforming the implementation is to the standard.
In your application, tell us how you plan to test the implementation. For example, NASA has built a virtual machine equipped with a network emulator for testing of DTN protocol implementations. The CORE emulator was also used to test the ns-3 DTN code in 2014. This type of testing would be useful for this suggested project (running ns-3 in emulation mode in one of the containers, and making it interoperate with a ION stack provided by NASA). Please consider this or let us know about your other testing ideas.
In your application, tell us about the current status of the existing ns-3 implementations and sketch out what you think needs to be done, along with a rough schedule, to complete this project.
- Required Experience: C++
- Bonus Experience: any previous DTN experience
- Interests: Network protocols, software integration and testing
- Difficulty: medium
- Recommended reading:
- DTN ION implementation code: https://sourceforge.net/projects/ion-dtn/
- Documents, code from the DTN research group: https://sites.google.com/site/dtnresgroup/
Satellite Mobility Model
Mentors: Tommaso Pecorella, Jani Puttonen
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 terminal mobility models
Mentors: Jani Puttonen, Tommaso Pecorella
Satellite communications service may be targeted towards fixed or mobile terminals (FSS or MSS). Mobile service may be designed for aeronautical, maritime, train and/or land vehicular users. For mobile users there is a need to have realistic mobility patterns for different mobile simulation scenarios. Traditionally, the mobility models in simulators are statistical models, generic in terms that they are not targeted for a specific use case, and using cartesian coordinates. 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 idea is to design and implement a realistic mobility model for mobile satellite users. This may include extraction/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 (longitude, latitude, altitude). The resulting code may be tested with baseline ns-3 and/or integrated at the end to Satellite Network Simulator 3 (SNS3); satellite models for ns-3. Note, that integration to SNS3 with multi-spot beam coverage might require a simplified handover implementation.
- Required Experience: C++
- Bonus Experience: ns-3, Mobility models, OpenStreetMaps
- Interests: Satellite networking
- Difficulty: medium
- 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.
- Spherical coordinate system: http://en.wikipedia.org/wiki/Spherical_coordinate_system
- ns-3 mobility: https://www.nsnam.org/docs/release/3.25/models/html/mobility.html
- Open street maps: http://www.openstreetmap.org
- Flight radar 24: http://www.flightradar24.com/
- Flight aware: https://flightaware.com/
- Ns-3 routes mobility model: https://www.nsnam.org/wiki/RoutesMobilityModel
Optical satellite systems (OSS)
Mentors: Jani Puttonen, TBD
Interest towards optical satellite systems have increased in satellite community. A company called Laser Light Communications is designing a fully optical satellite system connecting fixed ground stations and a set of MEO satellites with optical high throughput links. In addition, European Space Agency (ESA) is launching a so called European Data Satellite Relay (EDRS) system which provides optical inter-satellite links connecting e.g. LEO/MEO earth observation satellites to earth. The higher directivity of the optical beam allows higher data/power efficiency (more Mbps for each Watt of power), but on the other hand it has higher pointing, acquisition and tracking requirements. In addition, the laser communication is extremely vulnerable to weather effects. The objective of this idea is to design and implement an optical satellite communication link for both inter-satellite and space-to-earth links for ns-3. The work shall concentrate on lower layers, transmitter, channel and receiver, while the higher layers are left for FFS.
- Required Experience: C++
- Bonus Experience: ns-3, optical communications
- Interests: Satellite networking
- Difficulty: medium
- Recommended reading:
- European Data Relay System: http://www.esa.int/Our_Activities/Telecommunications_Integrated_Applications/EDRS
- Laser Light Communications, http://www.laserlightcomms.com/
- Optical network models in ns-3: https://www.nsnam.org/wiki/Optical_network_models