Difference between revisions of "GSOC2018Coexistence"

From Nsnam
Jump to: navigation, search
(Added repo link, changed technical approach and milestones according to Tom's suggestion.)
Line 5: Line 5:
 
= Project overview =
 
= Project overview =
  
* '''Project name:''' Merging and Improvement of LTE and Wi-Fi Coexistence Module
+
* '''Project name:''' Merging and Improvement of the LTE and Wi-Fi Coexistence Module
  
 
* '''Student:''' [mailto:muh.iqbal.cr@gmail.com Muhammad Iqbal CR]
 
* '''Student:''' [mailto:muh.iqbal.cr@gmail.com Muhammad Iqbal CR]
Line 13: Line 13:
 
* '''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. Works has been done to implement the LTE and Wi-Fi Coexistence Module. But currently it is far removed from the mainline development and missing improvements that has been implemented on the upstream. It is hard to apply patch from it, and inversely, merge the module to it. 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 will be successfully merging the existing works to ns-3-dev, improving the flexibility of scenario deployment, and improving usability in terms of getting more useful data out of the simulations.
 
* '''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. Works has been done to implement the LTE and Wi-Fi Coexistence Module. But currently it is far removed from the mainline development and missing improvements that has been implemented on the upstream. It is hard to apply patch from it, and inversely, merge the module to it. 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 will be successfully merging the existing works to ns-3-dev, improving the flexibility of scenario deployment, and improving usability in terms of getting more useful data out of the simulations.
  
* '''Code:''' TBD
+
* '''Code:''' https://bitbucket.org/ns3lteu/ns-3-dev-lbt/
  
* '''Documentation:''' TBD
+
* '''Documentation:''' https://bitbucket.org/ns3lteu/ns-3-dev-lbt/wiki
  
* '''About me:''' I am an admitted 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.
+
* '''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 =
 
= Technical Approach =
  
The development LTE and Wi-Fi Coexistence Module depends on the modification of LTE and Wi-Fi modules. Therefore, modifications to LTE and Wi-Fi modules are needed to make them compatible to the coexistence module. After the preliminary modifications, the next step will be merging the current available work of <code>ns-3-lbt</code> repository along with improvements.
+
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.
  
The current LTE and Wi-Fi Coexistence Module consist of the usual components (i.e., documentations, user examples, helpers, models, and tests) with an addition of experiments component which holds run and plot scripts for 3GPP TR 36.889 test cases. The test scenario for TR 36.889 itself are written in user examples component. Because the test cases are similar, those test scenarios are calling <code>ScenarioHelper</code> class in the helper component to set up everything. It is very helpful for users but since they are relying on it, they need to modify it if they want to create a scenario that very differ to the TR 36.889's. Therefore, an improvement to limit the responsibility of <code>ScenarioHelper</code> is proposed. <code>ScenarioHelper</code> should only responsible of setting up scenario, nodes, and logging. By limiting its responsibility, users can modify much more parameters from their own scenario, such as:
+
In addition to new codes, this preliminary works will also includes fixing bugs (e.g., [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2399 "bug 2399"], [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2470 "bug 2470"]) and implementing new requested features (e.g., FileTransferApplication, and roaming capability for Wi-Fi).
  
* The number of cell group (currently only two cell groups).
+
After the preliminary modifications, the next step will be merging the current available work of <code>ns-3-lbt</code> 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 <code>ScenarioHelper</code> class in the helper component to set up everything. An improvement to <code>ScenarioHelper</code> is proposed, so that users can modify much more simulation parameters for their own scenario.
  
* Different application starting time for each cell.
+
= Milestones and Deliverables =
  
* Granularly control each node's parameter (e.g., LBT TXOP, Minimum and Maximum CW).
+
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.
  
= Milestones and Deliverables =
+
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 entire GSoC period is divided into 3 phases. The deliverables at the end of each phase is as mentioned below:
+
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: Preliminary works ==
+
== Phase 1: Wi-Fi and Applications ==
 
+
* Preliminary modification of LTE and Wi-Fi modules to prepare for the LTE and Wi-Fi Coexistence module.
+
  
 +
* Resolve [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2399 "bug 2399"] on introducing roaming capability to STA Wi-Fi
 +
* Resolve [https://www.nsnam.org/bugzilla/show_bug.cgi?id=2470 "bug 2470"] on handshake to set up Block Ack Agreement (which leads to zero throughput for some AP/STA combinations)
 
* Implementation of <code>FileTransferApplication</code> according to previous works with the addition of <code>FileSrc</code> attribute for adding file input.
 
* Implementation of <code>FileTransferApplication</code> according to previous works with the addition of <code>FileSrc</code> 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.
 +
** <code>SpectrumWifiPhy</code> support for channels other than 36, 40, 44, and 48
 +
** Wifi MAC fails assertion on simulation with many devices
 +
** Problem with tracing dropped packets
 +
** <code>InterferenceHelper</code> gives negative trace value for Interference Power
  
== Phase 2: Merge ==
+
== Phase 2: LTE port ==
  
* Implementation of the restructured <code>ScenarioHelper</code>.
+
* 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.
* Merging the rest of the previous works into the new repository.
+
* Any other documentation and testing, and bug fixing, necessary to replicate the original functionality of the code.
  
 
== Phase 3: Finalize ==
 
== Phase 3: Finalize ==
  
* Implementation of the missing unit tests (LBT channel manager, LAA backoff).
+
* Merge the rest of <code>ns-3-lbt</code>, this includes models, examples, helper classes, experiments, and unit tests.
 
+
* Implement LAA backoff test and improve the unit test for <code>LbtAccessManager</code> to include uncovered tests.
* API and web page documentation.
+
* 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).
* Fixes for old bugs that was previously found the old repository, if it still not fixed by the merge.
+
** 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 =
 
= Weekly Reports =

Revision as of 08:22, 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. Works has been done to implement the LTE and Wi-Fi Coexistence Module. But currently it is far removed from the mainline development and missing improvements that has been implemented on the upstream. It is hard to apply patch from it, and inversely, merge the module to it. 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 will be successfully merging the existing works to ns-3-dev, improving the flexibility of scenario deployment, and improving usability in terms of getting more useful data out of the simulations.
  • 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