Hacks Proposals
1. Passive Name Visualizer2. NDN Experiments on Fed4FIRE- 3. NDN-FCH: The Big Rewrite
4. Bug Smash: Low Hanging Fruits5. MetaSync Protocol- 6. NDN Compute Simulator (ndnCSim)
- 7. NDN Play
- 8. Mini-NDN Improvements
- 9. CertCoalesce: NDN Certificate Pools
1. Passive Name Visualizer
Pitch Slides
Project Lead:
- Junxiao Shi
Preferred Team Size:
- 2
Target Participants:
- People new to NDN development
How will your proposal benefit NDN?
- Insights into network behavior
Briefly describe the tasks: Build upon the namevis project from ndnhack10, add two new features:
- server-side name filtering and aggregation
- time range selection (from pcap file)
Any specific tools or languages?
- Go
- Chart.js
Expected Outcomes:
- New features implemented
2. NDN Experiments on Fed4FIRE
Pitch Slides
Project Lead:
- Junxiao Shi
Preferred Team Size:
- 3
Target Participants:
- People new to NDN development
How will your proposal benefit NDN?
- Quick start for NDN experimentation on a testbed
Briefly describe the tasks: Build upon existing app at https://rspec.ndn.today, add new features:
- Import topology from Mini-NDN topology file.
- Support NFD and NLSR.
- Add telemetry collection for “Docker registry over NDN” proxy program.
Any specific tools or languages?
- Docker
- PHP
- Go
Expected Outcomes:
- At least two new features implemented
3. NDN-FCH: The Big Rewrite
Final Slides
Pitch Slides
Project Lead:
- Junxiao Shi
Project Members:
- Eric Newberry
- Junxiao Shi
- Muhammad Nuzaihan
- Zhiyi Zhang
Preferred Team Size:
- 4
Target Participants:
- People with NDN code development experience
How will your proposal benefit NDN?
- More robust service
Briefly describe the tasks: Improve NDN-FCH service:
- Allow more transport protocols, including IPv4 & IPv6, UDP, WebSockets, HTTP/3 over QUIC
- Perform periodical reachability tests from around the world
- Deploy a frontend on Cloudflare Workers, avoid single point of failure
- Download GeoLite2 database with MaxMind license key
- Collect RTT feedback from clients
Any specific tools or language
- Go
- Python
- JavaScript
Expected outcomes
- Complete features 1-4
4. Bug Smash: Low Hanging Fruits
Pitch Slides
Project Lead:
- Junxiao Shi
Preferred Team Size:
- 3
Target Participants:
- People with NDN code development experience
How will your proposal benefit NDN?
- Fix bugs in platform software
Briefly describe the tasks:
- NFD faces/destroy should not destroy reserved faces (#4115).
- NFD crashes upon binding to a tentative IPv6 address (#5155).
- NFD crashes upon receiving TCP RST (#5158).
- PSync relies on Name URI syntax that is non-portable (#4838).
- NLSR crashes if security is disabled (Slack#nlsr 2021-03-30).
Any specific tools or language
- C++
- Boost C++ libraries
- Gerrit
Expected outcomes
- Bugfixes submitted to Gerrit, project members are expected to follow-up until they are merged
5. MetaSync Protocol
Pitch Slides
Project Lead:
- Justin C Presley
Preferred Team Size:
- 3
Target Participants:
- People new to NDN development
How will your proposal benefit NDN?
- Expands on svs to allow more data producers and nullifying datasets
Briefly describe the tasks:
- Implement said design, maybe include more improvements within the design
Any specific tools or language
- Python starting
- C++ if we can
Expected outcomes
- Have an implemented improved sync protocol
6. NDN Compute Simulator (ndnCSim)
Final Slides
Pitch Slides
Project Lead:
- Muhammad Atif Ur Rehman
Project Members:
- Muhammad Atif Ur Rehman
- Muhammad Imran
- Muhammad Salahuddin
- Sana Fayyaz
Preferred Team Size:
- 4
Target Participants:
- People with NDN code development experience
How will your proposal benefit NDN?
- In-network computation and specifically edge cloud computing has attracted extensive attention in the recent past from both academia and Industry. The common goal of these technologies is to enable the networking nodes to perform computations. Such networking nodes include 1) edge computing node, 2) the resource-full routers between an edge node and cloud node and 3) the cloud node itself. Various NDN-based in-network computation solutions have been proposed by the researchers, indicating the widespread interest of the NDN research community in edge cloud computing and in-network computations. However, unfortunately, the default implementation of the ndnSIM simulator does not provide the basic realization of in-network computations, leaving the NDN researchers with the only option of implementing the computation mechanism from scratch. To save the researchers time and to provide them the basic implementation of in-network computation, this hackathon project aims to add the computation functionality in ndnSIM. As a result, the NDN research community will be greatly benefited from the above-mentioned implementation, as by utilizing ndnCSIM the researcher can leverage the basic implementation of in-network computations in vanilla-ndnSIM.
Briefly describe the tasks: This hackathon project aims to complete the following task.
- Enable the consumer node to set the computation-based naming scheme.
- Enable the intermediate nodes to perform computations based on the received compute request in the Interest packet. To mimic the computation behavior, we will add different computation models. Moreover, we will also add the functionality to monitor the resource consumption of the intermediate nodes. For example, by default, the intermediate node resource utilization will be 0%, however, as soon the computation requests arrive, the resource utilization will be increased to let say 10% depending on nature (type) of the task. Thus, if 100% resource utilization is met, the intermediate node offloads the request to the next node. All of the above-mentioned implementations will be incorporated into the NFD codebase.
- Develop NDN compute-based producer application in an apps folder. Similar to the intermediate node, the producer node application also monitors resource utilization. However, different from the intermediate node, the producer node computes the application adds the compute request in the waiting pool if the resources are fully occupied, and performs the computation after the resource availability.
Any specific tools or language
- C++
- vanilla-ndnSIM
Expected outcomes
- The implementation for in-network computations in ndnSIM simulator.
7. NDN Play
Final Slides
Pitch Slides
Project Lead:
- Varun Patil
Project Members:
- Tianyuan Yu
- Varun Patil
Preferred Team Size:
- 1
Target Participants:
- People with NDN code development experience
How will your proposal benefit NDN?
- A web interface to create and play with NDN topologies, similar to miniNDN, but running fully in the browser without any backend. This will be useful for beginners to understand NDN.
Briefly describe the tasks:
- Create the web interface
- Simulate a rudimentary JavaScript NDN forwarder or port an existing one to JS
Any specific tools or language
- JavaScript
- NDNts
Expected outcomes
- Full web interface that can be used by NDN beginners to simulate networks.
8. Mini-NDN Improvements
Final Slides
Pitch Slides
Project Leads:
- Saurab Dulal
- Alexander Lane
Project Members:
- Adam Thieme
- Ashiq Rahman
- Justin Presley
- Saurab Dulal
Preferred Team Size:
- 3
Target Participants:
- People new to NDN development
How will your proposal benefit NDN?
- Mini-NDN: an easy to install and use NDN emulator environment
Briefly describe the tasks:
- Helper for ndn-trac-generator and a basic consumer producer
- Mini-NDN GUI topology editor and documentations
- Improve Mini-NDN installation script and Vagrantle, install ndn packages from PPA and investigate python compatibility issues
- Improvements in user guide with a very simple topology and adding demo video
Any specific tools or language
- Mini-NDN
- Python
- Shell
- Vagrant
- C++
Expected outcomes
- Improved Mini-NDN, easy to install and play
9. CertCoalesce: NDN Certificate Pools
Final Slides
Pitch Slides
Project Leads:
- Alexander Afanasyev
- Proyash Podder
Project Members:
- Alexander Afanasyev
- Proyash Podder
- Xinyu Ma
Preferred Team Size:
- 3
Target Participants:
- People new to NDN development
How will your proposal benefit NDN?
- Efficiently manage virtually unlimited pools of public/private keys and certificates to save storage on constrained devices.
Briefly describe the tasks:
- Based on initial skeleton, sync up to the proposed design
- Create a python package
- Create a simple demo and write (interactive) documentation
Any specific tools or language
- Python
- Basic math skills
Expected outcomes
- A working Python package, simple demo, and initial skeleton of documentation