forked from 7th-ndn-hackathon/7th-ndn-hackathon.github.io
-
Notifications
You must be signed in to change notification settings - Fork 2
/
hacks.html
819 lines (638 loc) · 28.2 KB
/
hacks.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Hacks Proposals - 8th Named Data Networking (NDN) Hackathon</title>
<meta name="description" content="March 8-10, 2019 @ UCLA">
<meta name="author" content="8th NDN Hackathon Organizing Committee">
<link rel="canonical" href="http://8th-ndn-hackathon.named-data.net/hacks">
<link rel="stylesheet" type="text/css" integrity="sha256-T05Mx17/4AWYqulv5zx8MIMqrPq22C9flfr2VZgkPGQ=" crossorigin="anonymous" href="/assets/site-4f4e4cc75effe00598aae96fe73c7c30832aacfab6d82f5f95faf65598243c64.css">
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="/assets/ico/favicon-38a0d815005ff0b3d71bae96e5736aaf474efe05b3288d12f6465c38b43aa315.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/assets/ico/apple-touch-icon-144-precomposed-97e5eefed33136b6b7e63bdbdf4957b88045bd96bb9b2cc5a0a8525729ca221f.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/assets/ico/apple-touch-icon-114-precomposed-8603082234efbd8fca0f58505f699a5854a13739f12b87b69143b06a4cccc0c7.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/assets/ico/apple-touch-icon-72-precomposed-a22882427ca6e03081271325bf1294e8cd2ee4c447f635000e4f4a0f694bfe55.png">
<link rel="apple-touch-icon-precomposed" href="/assets/ico/apple-touch-icon-57-precomposed-933602014f87c50876665303015b7fed8f9dbe32ab7b7b62ebe888e5497dfd43.png">
</head>
<body>
<header id="header">
<hgroup>
<h1 id="site-title">
<a class="full" href="/">8th Named Data Networking (NDN) Hackathon</a>
</h1>
<h2 id="site-description">March 8-10, 2019 @ UCLA</h2>
</hgroup>
</header>
<nav id="navbar">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="">
<a href="/">Home</a>
</li>
<li class="">
<a href="/committees.html">Committees</a>
</li>
<li class="">
<a href="/terms.html">Terms</a>
</li>
<li class="">
<a href="/hacks.html"><b>HACKS</b></a>
</li>
<li class="">
<a href="/program.html">Program</a>
</li>
<li class="">
<a href="/judging.html">Judging</a>
</li>
</li>
</ul>
<form class="navbar-form navbar-right" role="search" action="http://google.com/search" method="get">
<div class="form-group">
<input type="hidden" name="q" value="site:http://8th-ndn-hackathon.named-data.net">
<input type="text" name="q" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</nav>
</nav>
<div class="container-fluid">
<div class="row-fluid">
<aside id="sidebar" class="col-xs-8 col-sm-5 col-md-4 col-lg-3 pull-right">
<section id="sidebar-deadlines" class="well">
<h3><i class="fa fa-calendar"></i> Important Dates</h3>
<ul id="deadlines" class="nav nav-list">
<li><p>Submission deadline:
<br/><b style="margin-left: 20px">Mar 2, 2019</b>
</p></li>
<li><p>Acceptance notification:
<br/><b style="margin-left: 20px">Mar 4, 2019</b>
</p></li>
</ul>
</section>
</aside><!--/span-->
<div id="main" class="col-xs-12 col-sm-7 col-md-8 col-lg-9">
<article>
<header>
<h1>Hacks Proposals</h1>
</header>
<section>
<ul id="markdown-toc">
<li><a href="#1-esp32-video-doorbell" id="markdown-toc-1-esp32-video-doorbell"><del>1. ESP32 Video Doorbell</del>></a> <ul>
<li><a href="#pitch-slides" id="markdown-toc-pitch-slides"><strong>Pitch Slides</strong></a></li>
</ul>
</li>
<li><a href="#2-enhance-testbed-status-page-and-ndn-fch-service" id="markdown-toc-2-enhance-testbed-status-page-and-ndn-fch-service">2. Enhance Testbed Status Page and NDN-FCH Service</a> <ul>
<li><a href="#slides" id="markdown-toc-slides"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#3-four-layer-improvement-of-esp8266ndn" id="markdown-toc-3-four-layer-improvement-of-esp8266ndn">3. Four-Layer Improvement of esp8266ndn</a> <ul>
<li><a href="#slides-1" id="markdown-toc-slides-1"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#4-implementing-the-new-signed-interest-in-ndn-lite" id="markdown-toc-4-implementing-the-new-signed-interest-in-ndn-lite">4. Implementing the new Signed Interest in ndn-lite</a> <ul>
<li><a href="#slides-2" id="markdown-toc-slides-2"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#5-ndn-lite-integrate-service-discovery-and-access-control-and-schematized-trust" id="markdown-toc-5-ndn-lite-integrate-service-discovery-and-access-control-and-schematized-trust">5. NDN-Lite: Integrate Service Discovery and Access Control and Schematized Trust</a> <ul>
<li><a href="#slides-3" id="markdown-toc-slides-3"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#6-nfd-android-enhancements" id="markdown-toc-6-nfd-android-enhancements">6. NFD-Android Enhancements</a> <ul>
<li><a href="#slides-4" id="markdown-toc-slides-4"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#7-self-learning-for-ad-hoc-wireless-networks" id="markdown-toc-7-self-learning-for-ad-hoc-wireless-networks">7. Self-Learning for Ad Hoc Wireless Networks</a> <ul>
<li><a href="#slides-5" id="markdown-toc-slides-5"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#8-attribute-based-signature-scheme-for-ndn" id="markdown-toc-8-attribute-based-signature-scheme-for-ndn"><del>8. Attribute Based Signature Scheme for NDN</del></a> <ul>
<li><a href="#pitch-slides-1" id="markdown-toc-pitch-slides-1"><strong>Pitch Slides</strong></a></li>
</ul>
</li>
<li><a href="#9-psync-for-repos" id="markdown-toc-9-psync-for-repos">9. PSync for Repos</a> <ul>
<li><a href="#slides-6" id="markdown-toc-slides-6"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#10-enhancements-for-npchat-android-application" id="markdown-toc-10-enhancements-for-npchat-android-application"><del>10. Enhancements for npChat Android application</del></a> <ul>
<li><a href="#pitch-slides-2" id="markdown-toc-pitch-slides-2"><strong>Pitch Slides</strong></a></li>
</ul>
</li>
<li><a href="#11-fix-ndncatchunks-performance-issues" id="markdown-toc-11-fix-ndncatchunks-performance-issues">11. Fix Ndncatchunks Performance Issues</a> <ul>
<li><a href="#slides-7" id="markdown-toc-slides-7"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#12-improve-the-wireshark-dissector-for-ndn" id="markdown-toc-12-improve-the-wireshark-dissector-for-ndn">12. Improve the Wireshark dissector for NDN</a> <ul>
<li><a href="#slides-8" id="markdown-toc-slides-8"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#13-vector-sync-for-manet" id="markdown-toc-13-vector-sync-for-manet">13. Vector Sync for MANET</a> <ul>
<li><a href="#slides-9" id="markdown-toc-slides-9"><strong>Slides</strong></a></li>
</ul>
</li>
</ul>
<h2 id="1-esp32-video-doorbell"><del>1. ESP32 Video Doorbell</del>></h2>
<h3 id="pitch-slides"><strong><a href="https://drive.google.com/file/d/1B-0FBrOfQBRtXzIqesaLxJL4RIm_hf57/view">Pitch Slides</a></strong></h3>
<p>Project Lead: Junxiao Shi</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 2</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Develop a video doorbell using two ESP32 modules programmed with Arduino environment. This would be a fun hands-on exercise for a new developer.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Develop the display unit on an ODROID-GO handheld console.
Upon receiving and verifying a signed Interest, it plays a ringtone, and displays images retrieved from the camera unit.</p>
</li>
<li>
<p>Develop the camera unit on an AI Thinker ESP32-CAM module.
When a hardware button is pressed, it sends a signed Interest to the display unit to sound ringtone.
Upon receiving an Interest for image, it captures an image from the OV2640 camera and sends it as Data segments.</p>
</li>
<li>
<p>NDN library: https://github.com/yoursunny/esp8266ndn
Camera library: https://github.com/yoursunny/ESP32-CAM-OV2640</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Project author will loan 1x ODROID-GO, 1x ESP32-CAM, 1x USB-UART, 1x button. Each task needs 1 participant who can write C++.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Finish all tasks.</li>
</ul>
<h2 id="2-enhance-testbed-status-page-and-ndn-fch-service">2. Enhance Testbed Status Page and NDN-FCH Service</h2>
<h3 id="slides"><strong><a href="/assets/2-NDN-Testbed-Monitoring-tool-3782a03d26b6bd9aa2dc102d9705ef64e1a105a33c753b288592d0afeab0826d.pdf">Slides</a></strong></h3>
<p>Project Lead: Junxiao Shi, Davide Pesavento</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 3</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Provide better visibility into the availability of the global NDN testbed. Current status page http://ndndemo.arl.wustl.edu only shows node availability and routing reachability. Redesigned status page would detect data plane and prefix registration problems. Make it easier for an end host to find an operational testbed router. ndn-autoconfig and NDN-JS should try multiple routers learned from NDN-FCH.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Develop a backend service to (1) connect to a testbed router over UDP, TCP, and TLS-WebSocket, (2) send ndnping probes to every known destination, (3) register a prefix and check its propagation by sending ndnping probes from another router.
The results should be saved into a PostgreSQL database for accountability and analysis.</p>
</li>
<li>
<p>Develop a web application that shows the results from the database.</p>
</li>
<li>
<p>Develop an NDN-FCH compatible server that responds with routers with minimum downtime in the past 3 hours.
This server can directly connect to the database.</p>
</li>
<li>
<p>Modify ndn-autoconfig program to retrieve multiple routers from an NDN-FCH service, and try each only until establishing data plane reachability.
Also, ndn-autoconfig should try the WiFi access point as a potential NDN router, before executing NDN-FCH stage.</p>
</li>
<li>
<p>Modify NDN-JS Face class to use NDN-FCH service instead of trying to connect to *.ws.ndn.ucla.edu hostnames.</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Backend, webapp, NDN-FCH tasks need 2 participants who can write Python. ndn-autoconfig task needs 0.5 participant who can write C++. NDN-JS task needs 0.5 participant who can write JavaScript.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Finish all tasks.</li>
</ul>
<h2 id="3-four-layer-improvement-of-esp8266ndn">3. Four-Layer Improvement of esp8266ndn</h2>
<h3 id="slides-1"><strong><a href="https://github.com/8th-ndn-hackathon/esp8266ndn-nrf52/blob/master/README.md">Slides</a></strong></h3>
<p>Project Lead: Junxiao Shi</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 5</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>esp8266ndn is an Arduino library that enables NDN application development on ESP8266 and ESP32 microcontrollers. https://github.com/yoursunny/esp8266ndn This project improves esp8266ndn in four layers. L5: add PSync PartialSync consumer. L3: experiment with Bloom Filter based Forwarder that performs NDN forwarding in fixed amount of memory. L2: Python proxy program to bring BLE to NFD. L1: tune LoRa parameters. Multi-Layer: port the library to nRF52 boards.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>ML
Make the library compile with Arduino core for Adafruit Bluefruit nRF52 boards, without breaking existing ESP8266 and ESP32 support.
Send and receive packets over Bluetooth Low Energy as GATT attributes, using same protocol as the existing ESP32 implementation.
Crypto is excluded in this project.</p>
</li>
<li>
<p>L5
Implement a PSync PartialSync consumer.</p>
</li>
<li>
<p>L3
Explore a Bloom Filter based NDN forwarder design that performs NDN forwarding using a fixed amount of memory.
The design will be provided in a separate document.
Bloom Filter library: https://github.com/yoursunny/hsip-bf</p>
</li>
<li>
<p>L2
Develop a Python proxy program with PyNDN2 and bluepy libraries to bridge between NFD’s Unix socket face and a BLE connection to ESP32 or nRF52.
Reference: BlePingClient.py in esp8266ndn repository.</p>
</li>
<li>
<p>L1
Study how different LoRa parameters affect signal range and packet loss rate.
Tune the existing LoRa transport to make it work better in indoor and outdoor environment.</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Project author will loan 2x nRF52832, 3x ESP32 WiFi+BLE+LoRa, 3x ESP32 WiFi+BLE, and 1x BLE-capable NDN router. ML task needs 1.5 participant who can write C++. L5 task needs 1 participant who can write C++. L3 task needs 1.5 participant who understands algorithms and can write C++. L2 task needs 0.5 participant who can write simple Python. L1 task needs 0.5 participant who can walk 1 kilometer and back several times.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Finish half of the tasks.</li>
</ul>
<h2 id="4-implementing-the-new-signed-interest-in-ndn-lite">4. Implementing the new Signed Interest in ndn-lite</h2>
<h3 id="slides-2"><strong><a href="/assets/4-A-half-done-Sigcomm-Tutorial-App-45ed05fd3a873acf8db43d42365bb000f0df17966a27d09daedf0cba9041e8ca.pdf">Slides</a></strong></h3>
<p>Project Lead: Zhiyi Zhang</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 2</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>New Feature</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Implement the signed Interest according to the new signed Interest format</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Implemented and Tested</li>
</ul>
<h2 id="5-ndn-lite-integrate-service-discovery-and-access-control-and-schematized-trust">5. NDN-Lite: Integrate Service Discovery and Access Control and Schematized Trust</h2>
<h3 id="slides-3"><strong><a href="/assets/4-A-half-done-Sigcomm-Tutorial-App-45ed05fd3a873acf8db43d42365bb000f0df17966a27d09daedf0cba9041e8ca.pdf">Slides</a></strong></h3>
<p>Project Lead: Zhiyi Zhang</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 4</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>
<p>Make NDN-Lite available to Raspberry Pi owners and MacOS users.</p>
</li>
<li>
<p>Prepare for the sigcomm tutorial</p>
</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Make NDN-Lite available to Raspberry Pi</p>
</li>
<li>
<p>Coding</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Cool Demo of these three functions provided by ndn-lite</li>
</ul>
<h2 id="6-nfd-android-enhancements">6. NFD-Android Enhancements</h2>
<h3 id="slides-4"><strong><a href="/assets/6-NFD-Android-Enhancements-bfc5ab5c99f46d706629b7e33f814a5c49c1180536f368bbb55c084b658bb690.pdf">Slides</a></strong></h3>
<p>Project Lead: Davide Pesavento</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 4</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>More and more researchers are using NDN on mobile devices; unfortunately NFD-Android is buggy and lacks several important features</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Add ndnping server (#4765) and extend existing client implementation</p>
</li>
<li>
<p>Allow changing strategy choices (#3462) and content store configuration at runtime</p>
</li>
<li>
<p>Modify global NFD settings from the app: face protocols, multicast, logging, … (#2623, #2746)</p>
</li>
<li>
<p>Hub discovery improvements: Wi-Fi access point or IP gateway, DNS-SD, fix bugs, … (#3840, #4028)</p>
</li>
<li>
<p>Bug fixes and stability enhancements (#4688, #4628, #3409, …)</p>
</li>
<li>
<p>UI/UX improvements</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Java/Kotlin, Android, jNDN, NFD management</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Java/Kotlin, Android, jNDN, NFD management</li>
</ul>
<h2 id="7-self-learning-for-ad-hoc-wireless-networks">7. Self-Learning for Ad Hoc Wireless Networks</h2>
<h3 id="slides-5"><strong><a href="/assets/7-Self-Learning-for-Ad-Hoc-Wireless-Networks-89237a8851e96a554b2eb27e54588993003172a7138a63112a2fa5860dda132c.pdf">Slides</a></strong></h3>
<p>Project Lead: Davide Pesavento, Md Ashiqur Rahman</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 3</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>There is a strong desire from multiple research groups to use self-learning in ad hoc wireless networks, or more generally on broadcast links. However, the initial version of self-learning released with NFD 0.6.5 supports only point-to-point links (e.g., unicast Ethernet in wired networks).</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Ethernet multicast face refactoring (#4283)</p>
</li>
<li>
<p>Finish adding EndpointId to the relevant APIs (#4843, #4849)</p>
</li>
<li>
<p>Implement self-learning strategy version 2 (#4281)</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C++, NFD internals (faces, forwarding, strategy API)</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Self-learning can be used in ad hoc wireless networks, including automatic switching from multicast to unicast. If feasible, give a basic demonstration of the new forwarding strategy.</li>
</ul>
<h2 id="8-attribute-based-signature-scheme-for-ndn"><del>8. Attribute Based Signature Scheme for NDN</del></h2>
<h3 id="pitch-slides-1"><strong><a href="https://drive.google.com/file/d/1H8awzvgfIn_FBpnpmaLm_JCb-r53G_Rw/view">Pitch Slides</a></strong></h3>
<p>Project Lead: Sanjeev Kaushik Ramani</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 3</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>New signature scheme that can be used in the ICE-AR project</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Implement Attribute Based Signature Scheme in NDN</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C++</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Be able to sign packets using attributes and predicates.</li>
</ul>
<h2 id="9-psync-for-repos">9. PSync for Repos</h2>
<h3 id="slides-6"><strong><a href="/assets/9-PSync-Hackathon-2019-b434086606d11fcccdc8c63071528f59cf250aca9fbe2cac21d172e24ec22876.pdf">Slides</a></strong></h3>
<p>Project Lead: Jeff Thompson</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 3</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Robust synchronization of names enabling repo storage and multiuser discovery of content.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Make a version of the PSync FullProducer class which allows arbitrary names w/o sequence numbers.</p>
</li>
<li>
<p>Test robustness under a set of many names. Compare performance with names with sequence numbers.</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>ndn-cxx, basic NDN interest/data exchange, sync protocols.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>
<p>An updated PSync library with Full PSync of arbitrary names, at https://github.com/named-data/PSync</p>
</li>
<li>
<p>Demo app showing repo fetching of data for new names announced by a producer.</p>
</li>
</ul>
<h2 id="10-enhancements-for-npchat-android-application"><del>10. Enhancements for npChat Android application</del></h2>
<h3 id="pitch-slides-2"><strong><a href="https://drive.google.com/file/d/1trb9waSkIvfu3iwtF1iYAJ2vi0yebRko/view">Pitch Slides</a></strong></h3>
<p>Project Lead: Ashlesh Gawande</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 3</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Add pipelining to jNDN similar to ndn-cxx SegmentFetcher. Make more use of jNDN functionalities.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Add fixed and aimd pipelining to jNDN SegmentFetcher along with unit tests.</p>
</li>
<li>
<p>Replace npChat’s FaceProxy class with MemoryContentCache or InMemoryStorageRetaining to serve data.</p>
</li>
<li>
<p>Modify npChat to collect timing information.</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Java, jNDN, NFD-android, Android app development</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Demonstrate better performance of npChat app while fetching media.</li>
</ul>
<h2 id="11-fix-ndncatchunks-performance-issues">11. Fix Ndncatchunks Performance Issues</h2>
<h3 id="slides-7"><strong><a href="/assets/11-catchunks_perf-2ab71ee8e652a0c816e9b11d4a8dc39875ad160526ea4e11339c4f2b90613c01.pdf">Slides</a></strong></h3>
<p>Project Lead: Klaus Schneider</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 4</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Improve performance of NDN applications</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Evaluate ndncatchunks to see what causes the performance issues, and then implement and test the solution.</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C++, NFD, tc netem.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Evaluate ndncatchunks to see what causes the performance issues, and then implement and test the solution.</li>
</ul>
<h2 id="12-improve-the-wireshark-dissector-for-ndn">12. Improve the Wireshark dissector for NDN</h2>
<h3 id="slides-8"><strong><a href="/assets/12-Wireshark-Dissector-62e59d55aa7baa6d5b695b68e98d793a057263378866730baa66a6497b00a261.pdf">Slides</a></strong></h3>
<p>Project Lead: Davide Pesavento</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 2</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>The Wireshark dissector is a fundamental tool for NDN developers, operators, and experimenters, yet it is still incomplete and unusable in several common cases</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Make TLV-TYPE decoding context-aware</p>
</li>
<li>
<p>Reassemble NDNLP-fragmented packets</p>
</li>
<li>
<p>Decode NDN packets spanning multiple TCP segments</p>
</li>
<li>
<p>Improve info displayed on unrecognized and out-of-order TLV elements</p>
</li>
<li>
<p>Produce sample pcap traces for all the above cases (for testing)</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>No</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Show screenshots (or live demo) comparing the information displayed by Wireshark on a variety of packet traces before and after the improvements</li>
</ul>
<h2 id="13-vector-sync-for-manet">13. Vector Sync for MANET</h2>
<h3 id="slides-9"><strong><a href="/assets/13-Sync-in-MANET-Library+Demo-70f1f1b838dbbb64979e2573a116b39906af25b56e8e6da04ad777c53af9482a.pdf">Slides</a></strong></h3>
<p>Project Lead: Tianxiang Li</p>
<!-- Project Members: TBD -->
<p>Prefered Team Size: 3</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>For testing Sync Protocol performance in MANET scenarios using Raspberry Pis. This project is aimed to be incorporated with data centric MAC(VMAC) for neighbor discovery and layer 2 name based filtering.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>
<p>Implement a basic version of Vector Sync for MANET.</p>
</li>
<li>
<p>Have a working version of Vector Sync on Raspberry Pis for testing in MANET scenario.</p>
</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>c++</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>
<p>Vector Sync Library with basic functions.</p>
</li>
<li>
<p>Import library to Raspberry Pis for testing.</p>
</li>
</ul>
</section>
<footer>
</footer>
</article>
</div>
<aside id="sidebar" class="col-xs-8 col-sm-5 col-md-4 col-lg-3">
<section id="sidebar-github" class="well hidden-print">
<h3><a style="color:black" href="https://github.com/8th-ndn-hackathon" target="_blank"><i class="fa fa-github"></i></a> Hackathon Repositories</h3>
<ul id="github-repo" class="nav nav-list"><li><p>Reading github repositories...</p></li></ul>
</section>
<section id="sidebar-twitter" class="well hidden-print">
<h3><i class="fa fa-twitter"></i> Tweets</h3>
<a href="https://twitter.com/NamedData"
class="twitter-follow-button"
data-dnt="true"
data-lang="en"
data-show-count="false"
data-show-screen-name="true"
>Follow @NamedData</a>
<a class="twitter-timeline" href="https://twitter.com/NamedData"
data-widget-id="698294519054278656" data-chrome="transparent noheader">Tweets by @NamedData</a>
</section>
</aside><!--/span-->
</div><!--/row-->
</div> <!-- /container -->
<hr>
<footer id="footer">
<p class="pull-right hidden-print"><a href="#">Back to top</a></p>
<p>Copyright © 2019, 8th NDN Hackathon Organizing Committee</p>
</footer>
<script src="/assets/site-75313d5a95ba1accc06518f236ca6aa21784eecb19d0016fa19430b050b75c93.js" integrity="sha256-dTE9WpW6GszAZRjyNspqoheE7ssZ0AFvoZQwsFC3XJM=" crossorigin="anonymous" type="text/javascript"></script>
</body>
</html>