Difference between revisions of "GSOC2018Coexistence"

From Nsnam
Jump to: navigation, search
(Project overview)
(Project overview)
Line 11: Line 11:
 
* '''Mentor:''' [mailto:tomh@tomh.org Tom Henderson]
 
* '''Mentor:''' [mailto:tomh@tomh.org Tom Henderson]
  
* '''Abstract:''' The LTE and Wi-Fi Coexistence Module which implements 3GPP specification of License Assisted Access (LAA) and the interfacing of LTE and Wi-Fi module in ns-3, has been quite popular with ns-3 users. But the current work on the module is far removed from the mainline development, thus missing improvements that has been implemented on the upstream. It is hard to apply patch from upstream to the module, and inversely, merge the module to upstream. Moreover, it is also created to implement TR 36.889 test scenarios, making it difficult to customize for other cases. Furthermore, more improvement ideas can be implemented to streamline and improve readability of the simulation scenario. Some key features missing from the unit test (e.g., LAA backoff), will also be implemented. The goal of the project will be:  merge and improve the existing LTE and Wi-Fi Coexistence Module, resulting in a better module that is separate from upstream but still in-line with it; and, merging some useful improvements that is detachable from the LTE-Wi-Fi coexistence to the upstream ns-3-dev.
+
* '''Abstract:''' The LTE and Wi-Fi Coexistence Module which implements 3GPP specification of License Assisted Access (LAA) and the interfacing of LTE and Wi-Fi module in ns-3, has been quite popular with ns-3 users. But the current work on the module is far removed from the mainline development, thus missing improvements that has been implemented on the upstream. It is hard to apply patch from upstream to the module, and inversely, merge the module to upstream. Moreover, it is also created to implement TR 36.889 test scenarios, making it difficult to customize for other cases. Furthermore, more improvement ideas can be implemented to streamline and improve readability of the simulation scenario. Some key features missing from the unit test (e.g., LAA backoff), will also be implemented. The goal of the project will be:  merge the existing LTE and Wi-Fi Coexistence Module to be in-line with upstream, improve the usability of the module, and additionally, merge useful improvements that is independent from the LTE-Wi-Fi coexistence to the upstream ns-3-dev.
  
 
* '''Code:''' https://bitbucket.org/ns3lteu/ns-3-dev-lbt/
 
* '''Code:''' https://bitbucket.org/ns3lteu/ns-3-dev-lbt/

Revision as of 09:11, 11 May 2018

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

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

Return to GSoC 2018 Accepted Projects page.

Project overview

  • Project name: Merging and Improvement of the LTE and Wi-Fi Coexistence Module
  • Abstract: The LTE and Wi-Fi Coexistence Module which implements 3GPP specification of License Assisted Access (LAA) and the interfacing of LTE and Wi-Fi module in ns-3, has been quite popular with ns-3 users. But the current work on the module is far removed from the mainline development, thus missing improvements that has been implemented on the upstream. It is hard to apply patch from upstream to the module, and inversely, merge the module to upstream. Moreover, it is also created to implement TR 36.889 test scenarios, making it difficult to customize for other cases. Furthermore, more improvement ideas can be implemented to streamline and improve readability of the simulation scenario. Some key features missing from the unit test (e.g., LAA backoff), will also be implemented. The goal of the project will be: merge the existing LTE and Wi-Fi Coexistence Module to be in-line with upstream, improve the usability of the module, and additionally, merge useful improvements that is independent from the LTE-Wi-Fi coexistence to the upstream ns-3-dev.
  • About me: I am an admitted PhD student of the Computer Science Departement of University of Chicago starting next September. Previously, I did my Master Studies at the National Taiwan University of Science and Technology (NTUST), Taiwan. Since my current research focus is on the LTE and Wi-Fi Coexistence, I have taken a large interest in improving the module. I have been working with Tom Henderson for quite some time to merge the module to the upstream, and doing it under GSoC wil hopefully accelerate the progress.

Technical Approach

The development LTE and Wi-Fi Coexistence Module depends on the compability of LTE and Wi-Fi modules to each other. Therefore, some modifications are needed to better interface the two modules. Some of these modifications have been implemented, for instance: a spectrum-aware PHY model for Wi-Fi; it will also taken into consideration. Most of the modifications will be on LTE module: porting the LAA codes to the new carrier aggregation code, implementing HARQ feedback and backoff, and channel access.

In addition to new codes, this preliminary works will also includes fixing bugs (e.g., "bug 2399", "bug 2470") and implementing new requested features (e.g., FileTransferApplication, and roaming capability for Wi-Fi).

After the preliminary modifications, the next step will be merging the current available work of ns-3-lbt repository along with improvements. The current LTE and Wi-Fi Coexistence Module has an addition of "experiments" component which holds run and plot scripts for 3GPP TR 36.889 test cases. Because the test cases are similar, those test scenarios are calling ScenarioHelper class in the helper component to set up everything. An improvement to ScenarioHelper is proposed, so that users can modify much more simulation parameters for their own scenario.

Milestones and Deliverables

The goal of this project is to make available to ns-3 users the LAA and Wi-Fi Coexistence module based on the current ns-3. This involves porting and upstreaming changes to the LTE, Wi-Fi, and applications modules, and improving the LAA-related code.

The plan is to port the existing code with 3GPP scenario, including tests and documentation, and then if time remaining, to make improvements to the scenario helpers. The LAA module will be available as a contributed extension to ns-3 (in the app store).

The GSoC period is divided into 3 phases. The planned deliverables at the end of each phase is as mentioned below. If other contributors can make progress on some of these porting issues, then we can start Phase 3 work earlier.

Phase 1: Wi-Fi and Applications

  • Resolve "bug 2399" on introducing roaming capability to STA Wi-Fi
  • Resolve "bug 2470" on handshake to set up Block Ack Agreement (which leads to zero throughput for some AP/STA combinations)
  • Implementation of FileTransferApplication according to previous works with the addition of FileSrc attribute for adding file input.
  • Any other additional porting and bug fixing necessary to be able to run the Wi-Fi (cell A), Wi-Fi (cell B) scenario.
    • SpectrumWifiPhy support for channels other than 36, 40, 44, and 48
    • Wifi MAC fails assertion on simulation with many devices
    • Problem with tracing dropped packets
    • InterferenceHelper gives negative trace value for Interference Power

Phase 2: LTE port

  • Follow the CTTC step-by-step guide for porting the LTE portions of the LAA code to the new carrier aggregation code.
  • Test additional parts of the LAA code involving LBT including HARQ feedback and backoff, and channel access.
  • Any other documentation and testing, and bug fixing, necessary to replicate the original functionality of the code.

Phase 3: Finalize

  • Merge the rest of ns-3-lbt, this includes models, examples, helper classes, experiments, and unit tests.
  • Implement LAA backoff test and improve the unit test for LbtAccessManager to include uncovered tests.
  • Improve the flexibility of the ScenarioHelper (or adding new helpers), so that users should be able to modify more parameters from their own scenario, such as:
    • The number of cell group (currently only two cell groups).
    • Different application starting time for each cell.
    • Granularly control each node’s parameter (e.g., LBT TXOP, Minimum and Maximum CW)
  • Finalize documentation and testing for the new module.

Weekly Reports